BR112014015171B1 - Aparelho de decodificação de vídeo - Google Patents

Aparelho de decodificação de vídeo Download PDF

Info

Publication number
BR112014015171B1
BR112014015171B1 BR112014015171-7A BR112014015171A BR112014015171B1 BR 112014015171 B1 BR112014015171 B1 BR 112014015171B1 BR 112014015171 A BR112014015171 A BR 112014015171A BR 112014015171 B1 BR112014015171 B1 BR 112014015171B1
Authority
BR
Brazil
Prior art keywords
displacement
offset
type
lcu
current
Prior art date
Application number
BR112014015171-7A
Other languages
English (en)
Other versions
BR112014015171A8 (pt
BR112014015171A2 (pt
Inventor
Elena Alshina
Alexander Alshin
Original Assignee
Samsung Electronics Co., Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co., Ltd filed Critical Samsung Electronics Co., Ltd
Priority to BR122019019874-8A priority Critical patent/BR122019019874B1/pt
Publication of BR112014015171A2 publication Critical patent/BR112014015171A2/pt
Publication of BR112014015171A8 publication Critical patent/BR112014015171A8/pt
Publication of BR112014015171B1 publication Critical patent/BR112014015171B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Abstract

método de ajuste de deslocamento para decodificação de vídeo, método de ajuste de deslocamento para codificação de vídeo, aparelho de decodificação de vídeo para ajuste de deslocamento, aparelho de codificação de vídeo para ajuste de deslocamento, e meio de gravação legível em computador. um método de codificação de vídeo e um método de decodificação de vídeo utilizando ajuste de deslocamento com base em classificação de pixel de cada unidade de codificação maior (lcu). o método de codificação de vídeo inclui determinar um parâmetro de deslocamento de cada lcu, o parâmetro de deslocamento incluindo um tipo de deslocamento indicando se um método de classificação de valor de pixel de uma lcu atual é um tipo de borda ou um tipo de banda, uma classe de deslocamento indicando uma direção de borda ou uma faixa de banda, e um valor de deslocamento indicando um valor de diferença entre pixels reconstruídos e pixels originais; e transmitir informação de fusão de deslocamento indicando se deve adotar um parâmetro de deslocamento de uma lcu esquerda ou superior da lcu atual como o parâmetro de deslocamento da lcu atual.

Description

Campo Técnico
[0001] A presente invenção se refere à codificação e decodificação de vídeo para minimizar um erro entre uma imagem original e uma imagem reconstruída.
Técnica antecedente
[0002] À medida que hardware para reproduzir e armazenar conteúdo de vídeo de alta qualidade ou alta resolução está sendo desenvolvido e fornecido, a necessidade de um codec de vídeo para efetivamente codificar ou decodificar o conteúdo de vídeo de alta resolução ou qualidade elevada está aumentando. De acordo com um codec de vídeo convencional, um vídeol é codificado de acordo com um método de codificação limitada com base em um macrobloco tendo um tamanho predeterminado.
[0003] Dados de imagem do domínio de espaço são transformados em coeficientes do domínio de freqüência através da transformação de freqüência. De acordo com um codec de vídeo, uma imagem é dividida em blocos tendo um tamanho predeterminado, transformação de cosseno discreto (DCT) é executada em cada bloco, e coeficientes de frequência são codificados em unidades de blocos, para cálculo rápido de transformação de freqüência. Comparado com dados de imagem do domínio de espaço, coeficientes do domínio de freqüência são facilmente comprimidos. Em particular, uma vez que um valor de pixel de imagem do domínio de espaço é expresso de acordo com um erro de predição através de inter predição ou intra predição de um codec de vídeo, quando transformação de freqüência é realizada no erro de predição, uma grande quantidade de dados pode ser transformada em 0. De acordo com um codec de video, uma quantidade de dados pode ser reduzida por substituir dados que são consecutiva e repetidamente geradas com dados de tamanho pequeno.
Revelação da Invenção Problema técnico
[0004] A presente invenção provê um método e aparelho de codificação de video, e um método e aparelho de decodificação de video para gerar uma imagem reconstruída tendo um erro minimizado entre uma imagem original e a imagem reconstruída.
Solução Técnica
[0005] De acordo com um aspecto da presente invenção, é fornecido um método de ajuste de deslocamento para codificação de vídeo, o método incluindo codificação de uma unidade de codificação maior (LCU) entre LCUs de um vídeo baseado em unidades de codificação divididas a partir da LCU atual e tendo uma estrutura de árvore; determinar um primeiro parâmetro de deslocamento da LCU atual, o primeiro parâmetro de deslocamento incluindo um tipo de deslocamento indicando se um método de classificação de valor de pixel da LCU atual é um tipo de borda ou um tipo de banda, uma classe de deslocamento indicando uma direção de borda de acordo com o tipo de borda ou uma faixa de banda de acordo com o tipo de banda, e um valor de deslocamento indicando um valor de diferença entre pixels reconstruídos e pixels originais incluídos na classe de deslocamento; e transmitir informações de fusão de deslocamento da LCU atual, as informações de fusão de deslocamento indicando se deve adotar um segundo parâmetro de deslocamento de uma LCU superior ou esquerda da LCU atual como o primeiro parâmetro de deslocamento com base em uniformidade entre o primeiro parâmetro de deslocamento e o segundo parâmetro de deslocamento. 0 método inclui ainda se o segundo parâmetro de deslocamento não for adotado como o primeiro parâmetro de deslocamento, transmitindo o primeiro parâmetro de deslocamento incluindo o tipo de deslocamento, o valor de deslocamento, e a classe de deslocamento, que são seguidos pela informação de fusão de deslocamento da LCU atual.
Efeitos Vantajosos
[0006] Um aparelho de codificação de video e um aparelho de decodificação de video utilizando uma técnica de ajuste de deslocamento (uma técnica de deslocamento adaptável de amostra (SAO)), de acordo com várias modalidades da presente invenção, podem classificar valores de pixel de cada unidade de codificação maior (LCU) de acordo com características de imagem como um tipo de borda ou um tipo de banda, podem sinalizar um valor de deslocamento que é um valor de erro médio de valores de pixel tendo as mesmas características, e podem ajustar valores de pixel imprevisíveis de pixels reconstruídos pelo valor de deslocamento, desse modo minimizando um erro entre uma imagem original e uma imagem reconstruída.
Breve Descrição dos Desenhos
[0007] As figuras IA e 1B são um diagrama de blocos de um aparelho de codificação de video e um fluxograma de um método de ajuste de deslocamento do aparelho de codificação de video, de acordo com uma modalidade da presente invenção;
[0008] As figuras 2A e 2B são um diagrama de blocos de um aparelho de decodificação de video e um fluxograma de um método de ajuste de deslocamento do aparelho de decodificação de video, de acordo com uma modalidade da presente invenção;
[0009] A figura 3 é um diagrama de blocos de um aparelho de decodificação de video de acordo com outra modalidade da presente invenção;
[00010] A figura 4 é uma tabela que mostra classes de borda de tipos de borda, de acordo com uma modalidade da presente invenção;
[00011] As figuras 5A e 5B são uma tabela e um gráfico que mostram categorias de tipos de borda, de acordo com uma modalidade da presente invenção;
[00012] A figura 6 é um diagrama que mostra unidades de codificação maiores adjacentes (LCUs) mencionadas para fundir parâmetros de deslocamento, de acordo com uma modalidade da presente invenção;
[00013] A figura 7 é um fluxograma de um processo de analisar parâmetros de deslocamento, de acordo com uma modalidade da presente invenção;
[00014] A figura 8 é um diagrama de blocos de um aparelho de codificação de video com base em unidades de codificação de acordo com uma estrutura de árvore, de acordo com uma modalidade da presente invenção;
[00015] A figura 9 é um diagrama de blocos de um aparelho de decodificação de video com base em unidades de codificação de acordo com uma estrutura de árvore, de acordo com uma modalidade da presente invenção;
[00016] A figura 10 é um diagrama para descrever um conceito de unidades de codificação de acordo com uma modalidade da presente invenção;
[00017] A figura 11 é um diagrama de blocos de um codificador de imagem com base em unidades de codificação, de acordo com uma modalidade da presente invenção;
[00018] A figura 12 é um diagrama de blocos de um decodificador de imagem com base em unidades de codificação, de acordo com uma modalidade da presente invenção;
[00019] A figura 13 é um diagrama que ilustra unidades de codificação mais profundas de acordo com profundidades e partições de acordo com uma modalidade da presente invenção;
[00020] A figura 14 é um diagrama para descrever uma relação entre uma unidade de codificação e unidades de transformação, de acordo com uma modalidade da presente invenção;
[00021] A figura 15 é um diagrama para descrever informações de codificação de unidades de codificação correspondendo a uma profundidade codificada, de acordo com uma modalidade da presente invenção;
[00022] A figura 16 é um diagrama de unidades de codificação mais profundas de acordo com profundidades, de acordo com uma modalidade da presente invenção;
[00023] As figuras 17 até 19 são diagramas para descrever uma relação entre unidades de codificação, unidades de predição e unidades de transformação de acordo com uma modalidade da presente invenção;
[00024] A figura 20 é um diagrama para descrever uma relação entre uma unidade de codificação, uma unidade de predição e uma unidade de transformação, de acordo com informações do modo de codificação da tabela 1;
[00025] A figura 21 é um diagrama de uma estrutura fisica de um disco no qual um programa é armazenado, de acordo com uma modalidade da presente invenção;
[00026] A figura 22 é um diagrama de uma unidade de disco para gravar e ler um programa utilizando um disco;
[00027] A figura 23 é um diagrama de uma estrutura geral de um sistema de fornecimento de conteúdo para fornecer um serviço de distribuição de conteúdo;
[00028] As figuras 24 e 25 são diagramas respectivamente de uma estrutura externa e uma estrutura interna de um telefone móvel ao qual um método de codificação de video e um método de decodificação de video são aplicados, de acordo com uma modalidade da presente invenção;
[00029] A figura 26 é um diagrama de um sistema de broadcast digital ao qual um sistema de comunicação é aplicado, de acordo com uma modalidade da presente invenção; e
[00030] A figura 27 é um diagrama que ilustra uma estrutura de rede de um sistema de computação de nuvem utilizando um aparelho de codificação de video e um aparelho de decodificação de video, de acordo com uma modalidade da presente invenção.
Melhor modo para realizar a invenção
[00031] De acordo com um aspecto da presente invenção, é fornecido um método de ajuste de deslocamento para codificação de video, o método incluindo codificação de uma unidade de codificação maior atual (LCU) entre LCUs de um video baseado em unidades de codificação divididas a partir da LCU atual e tendo uma estrutura de árvore; determinar um primeiro parâmetro de deslocamento da LCU atual, o primeiro parâmetro de deslocamento incluindo um tipo de deslocamento indicando se um método de classificação de valor de pixel da LCU atual é um tipo de borda ou um tipo de banda, uma classe de deslocamento indicando uma direção de borda de acordo com o tipo de borda ou uma faixa de banda de acordo com o tipo de banda, e um valor de deslocamento indicando um valor de diferença entre pixels reconstruídos e pixels originais incluídos na classe de deslocamento; e transmitir informações de fusão de deslocamento da LCU atual, as informações de fusão e deslocamento indicando se deve adotar um segundo parâmetro de deslocamento de uma LCU superior ou esquerda da LCU atual como o primeiro parâmetro de deslocamento com base em uniformidade entre o primeiro parâmetro de deslocamento e o segundo parâmetro de deslocamento. 0 método pode incluir ainda, se o segundo parâmetro de deslocamento não for adotado como o primeiro parâmetro de deslocamento, transmitir o primeiro parâmetro de deslocamento incluindo o tipo de deslocamento, o valor de deslocamento, e a classe de deslocamento, que são seguidos pela informação de fusão de deslocamento da LCU atual.
[00032] A transmissão do primeiro parâmetro de deslocamento pode incluir transmitir um tipo off indicando se deve aplicar uma técnica de ajuste de deslocamento à LCU atual, como o tipo de deslocamento, e o método pode incluir ainda, se a técnica de ajuste de deslocamento for aplicada à LCU atual, transmitir outros parâmetros de deslocamento.
[00033] A transmissão do primeiro parâmetro de deslocamento pode incluir transmitir parâmetros de deslocamento correspondendo a um número predeterminado de categorias, e cada dos parâmetros de deslocamento pode ser maior ou igual a um valor mínimo predefinido e pode ser menor do que ou igual a um valor máximo predefinido.
[00034] A transmissão do primeiro parâmetro de deslocamento pode incluir se informações do tipo deslocamento indicando o tipo de borda forem transmitidas, transmitir a classe de deslocamento indicando uma direção de 0o, 90°, 45° ou 135° de acordo com uma direção de uma borda formada entre um pixel reconstruído atual e pixels reconstruídos adjacentes incluídos na LCU atual.
[00035] A transmissão do primeiro parâmetro de deslocamento pode incluir se informações do tipo deslocamento indicando o tipo de banda forem transmitidas, transmitir a classe de deslocamento indicando uma posição de uma banda a qual os valores de pixel dos pixels reconstruídos pertencem entre uma pluralidade de bandas obtidas por dividir uma faixa total dos valores de pixels.
[00036] A transmissão do primeiro parâmetro de deslocamento pode incluir se informações do tipo deslocamento indicando o tipo de banda forem transmitidas, transmitir informações de valor zero indicando se o valor de deslocamento é 0, como o valor deslocamento, e o método pode incluir ainda, se o valor deslocamento não for 0, transmitir informações de sinal indicando se o valor deslocamento é um número positivo ou um número negativo, e um resto, que são seguidos pela informação de valor zero.
[00037] A transmissão do primeiro parâmetro de deslocamento pode incluir ainda, se a informação do tipo deslocamento indicando o tipo de borda for transmitida, transmitir informação de valor zero indicando se o valor deslocamento é 0, e um resto.
[00038] A transmissão da informação de fusão de deslocamento da LCU atual pode incluir, se o segundo parâmetro de deslocamento da LCU esquerda ou superior for igual ao primeiro parâmetro de deslocamento, transmitir somente a informação de fusão de deslocamento indicando que o segundo parâmetro de deslocamento é adotado como o primeiro parâmetro de deslocamento, e não transmitir primeiros parâmetros de deslocamento da LCU atual; e, se o segundo parâmetro de deslocamento da LCU esquerda ou superior for diferente do primeiro parâmetro de deslocamento, transmitir a informação de fusão de deslocamento indicando que o segundo parâmetro de deslocamento não é adotado como o primeiro parâmetro de deslocamento.
[00039] Informações de fusão de deslocamento comuns podem ser aplicadas a um parâmetro de deslocamento de um componente luma, um parâmetro de deslocamento de um primeiro componente de croma, e um parâmetro de deslocamento de um segundo componente de croma da LCU atual.
[00040] Um parâmetro de deslocamento de um primeiro componente croma e um parâmetro de deslocamento de um segundo componente de croma da LCU atual pode ter um tipo de deslocamento comum.
[00041] De acordo com outro aspecto da presente invenção, é fornecido um método de ajuste de deslocamento para decodificação de video, o método incluindo extrair informação de fusão de deslocamento de uma unidade de codificação maior atual (LCU) entre LCUs de um video a partir de um fluxo de bits recebido, as informações de fusão de deslocamento indicando se deve adotar um segundo parâmetro de deslocamento de uma LCU esquerda ou superior da LCU atual como um primeiro parâmetro de deslocamento da LCU atual; reconstruir o primeiro parâmetro de deslocamento da LCU atual com base na informação de fusão de deslocamento, o primeiro parâmetro de deslocamento incluindo um tipo de deslocamento, um valor de deslocamento, e uma classe de deslocamento da LCU atual; determinar se um método de classificação de valor de pixel da LCU atual é um tipo de borda ou um tipo de banda, com base no tipo de deslocamento; determinar uma direção de borda de acordo com o tipo de borda ou uma faixa de banda de acordo com o tipo de banda, com base na classe de deslocamento; determinar um valor de diferença entre pixels reconstruídos e pixels originais incluídos na classe de deslocamento, com base no valor deslocamento; e ajustar valores de pixels reconstruídos, reconstruídos com base em unidades de codificação divididas a partir da LCU atual e tendo uma estrutura de árvore, pelo valor de diferença.
[00042] A determinação de se o método de classificação de valor de pixel da LCU atual é o tipo de borda ou o tipo de banda pode incluir ainda extrair um tipo off indicando se uma técnica de ajuste de deslocamento é aplicado a LCU atual, com base no tipo de deslocamento; e se a técnica de ajuste de deslocamento for aplicada à LCU atual com base no tipo off extraído, extrair outros parâmetros de deslocamento.
[00043] A determinação do primeiro parâmetro de deslocamento pode incluir determinar valores de deslocamento correspondendo a um número predeterminado de categorias, e cada dos parâmetros deslocamento pode ser maior ou igual a um valor minimo predefinido e pode ser menor ou igual a um valor máximo predefinido.
[00044] A determinação da direção de borda ou a faixa de anda pode incluir, se o tipo de deslocamento for o tipo de borda, determinar uma direção de uma borda formada entre um pixel reconstruído atual e pixels reconstruídos adjacentes incluídos na LCU atual como 0o, 90°, 45° ou 135° com base na classe deslocamento reconstruída.
[00045] A determinação da direção de borda ou faixa de banda pode incluir, se o tipo de deslocamento for o tipo de banda, determinar uma posição de uma banda à qual os valores de pixel dos pixels reconstruídos pertencem entre uma pluralidade de bandas obtidas por dividir uma faixa total dos valores de pixel, com base na classe deslocamento reconstruída.
[00046] A determinação do valor de diferença pode incluir ainda, se o tipo de deslocamento for o tipo de banda, determinar se o valor deslocamento é 0, com base em informações de valor zero do valor deslocamento reconstruído, e o método pode incluir ainda, se o valor deslocamento não for 0 com base na informação de valor zero, determinar se o valor deslocamento é um número positivo ou um número negativo com base em informações de sinal do valor deslocamento reconstruído, que é seguido pela informação de valor zero, e reconstruir um resto seguido pela informação de sinal.
[00047] A reconstrução do primeiro parâmetro de deslocamento pode incluir, se o segundo parâmetro de deslocamento da LCU superior ou esquerda for adotada como o primeiro parâmetro de deslocamento com base na informação de fusão de deslocamento, não extrair primeiros parâmetros de deslocamento da LCU atual e reconstruir o primeiro parâmetro de deslocamento como sendo igual ao segundo parâmetro de deslocamento; e se o segundo parâmetro de deslocamento da LCU superior ou esquerda não for adotado como o primeiro parâmetro de deslocamento com base na informação de fusão de deslocamento, extrair e reconstruir o primeiro parâmetro de deslocamento seguido pela informação de fusão de deslocamento a partir do fluxo de bits.
[00048] A reconstrução do primeiro parâmetro de deslocamento pode incluir reconstruir um parâmetro de deslocamento de um componente luma, um parâmetro de deslocamento de um primeiro componente croma, e um parâmetro de deslocamento de um segundo componente croma utilizando informação de fusão de deslocamento comum da LCU atual.
[00049] A reconstrução do primeiro parâmetro de deslocamento pode incluir reconstruir um tipo de deslocamento comumente aplicado a um primeiro componente de croma e um segundo componente de croma da LCU atual.
[00050] De acordo com outro aspecto da presente invenção, é fornecido um aparelho de codificação de video para ajuste de deslocamento, o aparelho incluindo um codificador para codificar de uma unidade de codificação maior atual (LCU) entre LCUs de um video baseado em unidades de codificação divididas da LCU atual e tendo uma estrutura de árvore; um determinador de parâmetro de deslocamento para determinar um primeiro parâmetro de deslocamento da LCU atual, o primeiro parâmetro de deslocamento incluindo um tipo de deslocamento indicando se um método de classificação de valor de pixel da LCU atual é um tipo de borda ou um tipo de banda, uma classe de deslocamento indicando uma direção de borda de acordo com o tipo de borda ou uma faixa de banda de acordo com o tipo de banda, e um valor de deslocamento indicando um valor de diferença entre pixels reconstruídos e pixels originais incluídos na classe de deslocamento; e um meio de transmissão de parâmetro de deslocamento transmitir informação de fusão de deslocamento da LCU atual, a informação de fusão de deslocamento indicando se deve adotar um segundo parâmetro de deslocamento de uma LCU superior ou esquerda da LCU atual como o primeiro parâmetro de deslocamento com base na uniformidade entre o primeiro parâmetro de deslocamento e o segundo parâmetro de deslocamento. Se o segundo parâmetro de deslocamento não for adotado como o primeiro parâmetro de deslocamento, o meio de transmissão de parâmetro de deslocamento transmite o primeiro parâmetro de deslocamento incluindo o tipo de deslocamento, o valor de deslocamento e a classe de deslocamento, que são seguidos pela informação de fusão de deslocamento da LCU atual.
[00051] De acordo com outro aspecto da presente invenção, é fornecido um aparelho de decodificação de video para ajuste de deslocamento, o aparelho incluindo um meio de extração de parâmetro de deslocamento para extrair informação de fusão de deslocamento de uma unidade de codificação maior atual (LCU) entre LCUs de um video a partir de um fluxo de bits recebido, a informação de fusão de deslocamento indicando se deve adotar um segundo parâmetro de deslocamento de uma LCU superior ou esquerda da LCU atual como um primeiro parâmetro de deslocamento da LCU atual, e reconstruir o primeiro parâmetro de deslocamento da LCU atual com base na informação de fusão de deslocamento, o primeiro parâmetro de deslocamento incluindo um tipo de deslocamento, um valor de deslocamento, e uma classe de deslocamento da LCU atual; um determinador de deslocamento para determinar se um método de classificação de valor de pixel da LCU atual é um tipo de borda ou um tipo de banda, com base no tipo de deslocamento, determinar uma direção de borda de acordo com o tipo de borda ou uma faixa de banda de acordo com o tipo de banda, com base na classe de deslocamento, e determinar um valor de diferença entre pixels reconstruídos e pixels originais incluídos na classe de deslocamento, com base no valor de deslocamento; e um ajustador de deslocamento para ajustar valores de pixel de pixels reconstruídos, reconstruídos com base em unidades de codificação divididas a partir da LCU atual e tendo uma estrutura de árvore, pelo valor de diferença.
[00052] De acordo com outro aspecto da presente invenção, é fornecido um meio de gravação legivel em computador tendo gravado no mesmo um programa de computador para executar o método de ajuste de deslocamento para codificação de video.
[00053] De acordo com outro aspecto da presente invenção, é fornecido um meio de gravação legivel em computador tendo gravado no mesmo um programa de computador para executar o método de ajuste de deslocamento para decodificação de video.
Modo para Invenção
[00054] A seguir, uma técnica de codificação de video e uma técnica de decodificação de video utilizando ajuste de deslocamento com base em classificação de pixel, de acordo com modalidades da presente invenção, serão descritas com referência às figuras IA até 7. Também, o ajuste de deslocamento com base em classificação de pixel em uma técnica de codificação de video e uma técnica de decodificação de video com base nas unidades de codificação tendo uma estrutura de árvore, de acordo com modalidades da presente invenção, serão descritas com referência às figuras IA até 20. A seguir, uma 'imagem' pode indicar uma imagem fixa ou uma imagem móvel de um video ou um próprio video.
[00055] Uma técnica de codificação de video e uma técnica de decodificação de video utilizando ajuste de deslocamento com base na classificação de pixel, de acordo com modalidades da presente invenção, serão descritas agora com referência às figuras IA até 7.
[00056] As figuras IA e 1B são um diagrama de bloco de um aparelho de codificação de video 10 e um fluxograma de um método de ajuste de deslocamento do aparelho de codificação de video 10, de acordo com uma modalidade da presente invenção.
[00057] aparelho de codificação de video 10 inclui um codificador de unidade de codificação maior (LCU) 12, um determinador de parâmetro de deslocamento 14 e um codificador de parâmetro de deslocamento 16.
[00058] aparelho de codificação de video 10 recebe uma entrada de imagens de um video, divide cada imagem em blocos e codifica cada bloco. Um bloco pode ter um formato quadrado, um formato retangular ou um formato geométrico arbitrário e não é limitado a uma unidade de dados tendo um tamanho predeterminado. O bloco de acordo com uma modalidade do bloco da presente invenção pode ser uma LCU ou uma unidade de codificação entre unidades de codificação de acordo com uma estrutura de árvore. Métodos de codificação e decodificação de video baseados em unidades de codificação de acordo com uma estrutura de árvore serão descritos abaixo com referência às figuras IA até 20.
[00059] aparelho de codificação de video 10 pode receber uma entrada de imagens de um video, pode dividir cada imagem em LCUs, e pode transmitir dados resultantes gerados por executar predição, transformação e codificação por entropia em amostras de cada LCU, como um fluxo de bits. As amostras de uma LCU podem ser dados de valor de pixel de pixels incluídos na LCU.
[00060] codificador de LCU 12 pode codificar individualmente LCUs de uma imagem. O codificador de LCU 12 pode codificar uma LCU atual com base em unidades de codificação divididas a partir da LCU atual e tendo uma estrutura de árvore.
[00061] Para codificar a LCU atual, o codificador de LCU 12 pode codificar amostras por executar intra predição, inter predição, transformação e quantização em cada das unidades de codificação incluídas na LCU atual e tendo uma estrutura de árvore.
[00062] codificador de LCU 12 pode reconstruir as amostras codificadas incluídas na LCU atual por executar quantização inversa, transformação inversa e inter predição ou intra compensação em cada das unidades de codificação tendo uma estrutura de árvore de modo a decodificar as unidades de codificação.
[00063] Para minimizar um erro entre pixels originais antes de a LCU atual ser codificada e pixels reconstruídos após a LCU atual ser decodificada, o aparelho de codificação de video 10 pode determinar valores de deslocamento indicando valores de diferença entre os pixels originais e os pixels reconstruídos.
[00064] determinador de parâmetro de deslocamento 14 pode determinar os valores de deslocamento com relação à LCUs. Parâmetros de deslocamento incluindo os valores de deslocamento, um tipo de deslocamento e uma classe de deslocamento também podem ser determinados com relação à LCUs.
[00065] determinador de parâmetro de deslocamento 14 pode determinar o tipo de deslocamento de acordo com um método de classificação de valor de pixel da LCU atual. De acordo com uma modalidade da presente invenção, o tipo de deslocamento pode ser determinado como um tipo de borda ou um tipo de banda. De acordo com um método de classificação de valor de pixel de um bloco atual, pode ser determinado se deve classificar pixels do bloco atual de acordo com o tipo de borda ou tipo de banda.
[00066] Se o tipo de deslocamento for o tipo de borda, de acordo com uma direção e um formato de bordas formadas entre os pixels reconstruídos da LCU atual e seus pixels adjacentes, um deslocamento entre os pixels reconstruídos e os pixels originais pode ser determinado.
[00067] Se o tipo de deslocamento for do tipo banda, entre uma pluralidade de bandas obtidas por dividir uma faixa total de valores de pixel dos pixels reconstruídos da LCU atual, um deslocamento entre os pixels reconstruídos e os pixels originais incluídos em cada banda pode ser determinado. As bandas podem ser obtidas por dividir igual ou de forma desigual a faixa total dos valores de pixel.
[00068] Por conseguinte, o determinador de parâmetro de deslocamento 14 pode determinar o tipo de deslocamento da LCU atual, que indica o tipo de borda ou o tipo de banda, com base em características espaciais de valores de pixel da LCU atual.
[00069] determinador de parâmetro de deslocamento 14 pode determinar uma classe de deslocamento de cada dos pixels reconstruídos de acordo com o tipo de deslocamento da LCU atual. A classe de deslocamento pode ser determinada como uma classe de borda ou uma classe de banda.
[00070] Com relação ao tipo de borda, a classe de borda pode indicar uma direção de bordas formadas entre os pixels reconstruídos e seus pixels adjacentes. A classe de borda pode indicar uma direção de borda de 0o, 45° ou 135°.
[00071] Se o tipo de deslocamento for o tipo de borda, o determinador de parâmetro de deslocamento 14 pode determinar a classe de borda de cada dos pixels reconstruídos da LCU atual.
[00072] Com relação ao tipo de banda, entre uma pluralidade de bandas que são um número predeterminado de períodos de valor de pixel continuo obtidos por dividir uma faixa total de valores de pixel da LCU atual, a classe de banda pode indicar posições das bandas às quais os valores de pixel dos pixels reconstruídos pertencem.
[00073] Por exemplo, com relação a uma amostra tendo um valor de pixel de 8 bits, uma faixa total do valor de pixel é de 0 a 255 e o valor de pixel pode ser classificado em um total de 32 bandas. Nesse caso, entre o total de 32 bandas, um número predeterminado de bandas às quais valores de pixel dos pixels reconstruídos pertencem, pode ser determinado. A classe de banda pode indicar uma posição de partida de um número predeterminado de bandas continuas utilizando um dos indices de banda de 0 a 31.
[00074] Com relação ao tipo de borda, os pixels reconstruídos da LCU atual podem ser classificados em um número predeterminado de categorias de acordo como formato de bordas formadas entre os pixels reconstruídos e seus pixels adjacentes. Por exemplo, de acordo com quatro formatos de borda como vale local de uma borda côncava, um canto curvo de uma borda côncava, um canto curvo de uma borda convexa, e um pico local de uma borda convexa, os pixels reconstruídos podem ser classificados em quatro categorias. De acordo com um formato de borda de cada dos pixels reconstruídos da LCU atual, uma das quatro categorias pode ser determinada.
[00075] Com relação ao tipo de banda, de acordo com posições de bandas às quais valores de pixel dos pixels reconstruídos da LCU atual pertencem, os pixels reconstruídos podem ser classificados em um número predeterminado de categorias. Por exemplo, de acordo com indices de banda de quatro bandas continuas a partir de uma posição de banda de inicio indicada pela classe de banda, os pixels reconstruídos podem ser classificados em quatro categorias. De acordo com uma das quatro bandas, às quais cada dos pixels reconstruídos da LCU atual pertence, uma das quatro categorias pode ser determinada.
[00076] determinador de parâmetro de deslocamento 14 pode determinar uma categoria de cada dos pixels reconstruídos da LCU atual. Com relação aos pixels reconstruídos da LCU atual, que pertence à mesma categoria, o determinador de parâmetro de deslocamento 14 pode determinar valores de deslocamento utilizando valores de diferença entre os pixels reconstruídos e os pixels originais. Em cada categoria, uma média dos valores de diferença entre os pixels reconstruídos e os pixels originais, isto é, um erro médio dos pixels reconstruídos, pode ser determinada como um valor de deslocamento correspondendo a uma categoria atual. O determinador de parâmetro de deslocamento 14 pode determinar um valor de deslocamento de cada categoria e pode determinar valores de deslocamento de todas as categorias como os valores de deslocamento da LCU atual.
[00077] Por exemplo, se o tipo de deslocamento da LCU atual for o tipo de borda e os pixels reconstruídos forem classificados em quatro categorias de acordo com formatos de borda, ou se o tipo de deslocamento da LCU atual for o tipo de banda e os pixels reconstruídos forem classificados em quatro categorias de acordo com indices de quatro bandas continuas, o determinador de parâmetro de deslocamento 14 pode determinar quatro valores de deslocamento por determinar um erro médio entre os pixels reconstruídos e os pixels originais, que pertencem a cada das quatro categorias.
[00078] Cada dos valores de deslocamento pode ser maior do que ou igual a um valor minimo predefinido e pode ser menor ou igual a um valor máximo predefinido.
[00079] codificador de parâmetro de deslocamento 16 pode codificar e transmitir parâmetros de deslocamento incluindo o tipo de deslocamento, a classe de deslocamento e os valores de deslocamento da LCU atual, que são determinados pelo determinador de parâmetro de deslocamento 14.
[00080] Parâmetros de deslocamento de cada bloco podem incluir um tipo de deslocamento e valores de deslocamento do bloco. Como o tipo de deslocamento, um tipo off, o tipo de borda, ou o tipo de banda pode ser transmitido.
[00081] Se o tipo de deslocamento for o tipo off, pode ser indicado que ajuste de deslocamento não é aplicado a LCU atual. Nesse caso, outros parâmetros de deslocamento da LCU atual não necessitam ser codificados.
[00082] Se o tipo de deslocamento for o tipo de borda, os parâmetros de deslocamento podem incluir valores de deslocamento individualmente correspondendo a classes de borda. Além disso, se o tipo de deslocamento for o tipo de banda, os parâmetros de deslocamento podem incluir valores de deslocamento individualmente correspondendo a bandas. Isto é, o codificador de parâmetro de deslocamento 16 pode codificar parâmetros de deslocamento de cada bloco.
[00083] Com base em uniformidade entre um primeiro parâmetro de deslocamento de uma LCU atual e um segundo parâmetro de deslocamento de uma LCU superior ou esquerda adjacente a LCU atual, o codificador de parâmetro de deslocamento 16 pode transmitir informações de fusão de deslocamento da LCU atual, que indica se deve adotar o segundo parâmetro de deslocamento como o primeiro parâmetro de deslocamento da LCU atual.
[00084] Se os parâmetros de deslocamento de pelo menos uma das LCUs esquerda e superior da LCU atual forem iguais àqueles da LCU atual, o codificador de parâmetro de deslocamento 16 pode não codificar os parâmetros de deslocamento da LCU atual e pode codificar somente as informações de fusão de deslocamento. Nesse caso, informações de fusão de deslocamento indicando que os parâmetros de deslocamento da LCU superior ou esquerda são adotados como os parâmetros de deslocamento da LCU atual podem ser transmitidas.
[00085] Se os parâmetros de deslocamento das LCUs esquerda e superior forem diferentes dos parâmetros de deslocamento da LCU atual, o codificador de parâmetro de deslocamento 16 pode codificar as informações de fusão de deslocamento e os parâmetros de deslocamento da LCU atual. Nesse caso, informações de fusão de deslocamento indicando que os parâmetros de deslocamento da LCU esquerda ou superior não são adotados como os parâmetros de deslocamento da LCU atual podem ser transmitidos.
[00086] Um processo de transmitir a informação de fusão de deslocamento e os parâmetros de deslocamento será descrito agora em detalhe com referência à figura 1B.
[00087] Na operação 13, o codificador de LCU 12 pode codificar uma LCU atual entre uma pluralidade de LCUs com base em unidades de codificação tendo uma estrutura de árvore.
[00088] Na operação 15, o determinador de parâmetro de deslocamento 14 pode determinar um primeiro parâmetro de deslocamento da LCU atual. O primeiro parâmetro de deslocamento pode incluir um tipo de deslocamento que indica se um método de classificação de valor de pixel da LCU atual é um tipo de borda ou um tipo de banda, uma classe de deslocamento indicando uma direção de borda de acordo com o tipo de borda ou uma faixa de banda de acordo com o tipo de banda, e valores de deslocamento indicando valores de diferença entre pixels reconstruídos e pixels originais incluídos na classe de deslocamento.
[00089] Na operação 17, com base em uniformidade entre o primeiro parâmetro de deslocamento e um segundo parâmetro de deslocamento de uma LCU esquerda ou superior da LCU atual, o codificador de parâmetro de deslocamento 16 pode transmitir ainda informações de fusão de deslocamento da LCU atual como o primeiro parâmetro de deslocamento.
[00090] Se o codificador de parâmetro de deslocamento 16 adotar o segundo parâmetro de deslocamento como o primeiro parâmetro de deslocamento, somente a informação de fusão de deslocamento pode ser transmitida e o tipo de deslocamento, a classe de deslocamento, e os valores de deslocamento da LCU atual não podem ser transmitidas.
[00091] Entretanto, na operação 19, se o codificador de parâmetro de deslocamento 16 não adotar o segundo parâmetro de deslocamento como o primeiro parâmetro de deslocamento, o primeiro parâmetro de deslocamento pode ser transmitido para incluir o tipo de deslocamento, os valores de deslocamento, e a classe de deslocamento da LCU atual, que são seguidos pela informação de fusão de deslocamento da LCU atual.
[00092] Quando o tipo de deslocamento, os valores de deslocamento, e a classe de deslocamento do primeiro parâmetro de deslocamento são transmitidos, o codificador de parâmetro de deslocamento 16 pode transmitir os mesmos na ordem do tipo de deslocamento da LCU atual, os valores de deslocamento de acordo com categorias e a classe de deslocamento.
[00093] De acordo com outra modalidade da presente invenção, o aparelho de codificação de video 10 pode determinar se deve executar ajuste de deslocamento em cada das LCUs de uma fatia atual.
[00094] Se o ajuste de deslocamento for executado na fatia atual, o determinador de parâmetro de deslocamento 14 pode determinar informação de fusão de deslocamento e parâmetros de deslocamento de cada das LCUs. Nesse caso, o codificador de parâmetro de deslocamento 16 pode transmitir informação de ajuste de deslocamento indicando que ajuste de deslocamento é aplicado à fatia atual, e então pode transmitir a informação de fusão de deslocamento e os parâmetros de deslocamento de cada das LCUs.
[00095] Se ajuste de deslocamento não for executado na fatia atual, o determinador de parâmetro de deslocamento 14 pode não necessitar determinar um deslocamento de cada das LCUs da fatia atual, e o codificador de parâmetro de deslocamento 16 pode transmitir somente informações de ajuste de deslocamento indicando que o ajuste de deslocamento não é executado na fatia atual.
[00096] Na operação 19, o codificador de parâmetro de deslocamento 16 pode transmitir valores de deslocamento correspondendo a um número predeterminado de categorias.
[00097] Na operação 19, se o codificador de parâmetro de deslocamento 16 transmitir informações do tipo de deslocamento indicando o tipo de borda, de acordo com uma direção de borda dos pixels reconstruídos incluídos na LCU atual, uma classe de borda indicando uma direção de 0o, 90°, 45° ou 135° pode ser transmitida.
[00098] Na operação 19, se o codificador de parâmetro de deslocamento 16 transmitir informações do tipo de deslocamento indicando o tipo de banda, uma classe de banda indicando uma posição de banda dos pixels reconstruídos incluídos na LCU atual pode ser transmitida.
[00099] Na operação 19, se o codificador de parâmetro de deslocamento 16 transmitir a informação do tipo de deslocamento indicando o tipo de banda, como um valor de deslocamento, informação de valor zero indicando se o valor de deslocamento é 0 ou não pode ser transmitida. Se o valor de deslocamento for 0, o codificador de parâmetro de deslocamento 16 pode transmitir somente a informação de valor zero como o valor de deslocamento.
[000100] Se o valor de deslocamento não for 0, o codificador de parâmetro de deslocamento 16 pode transmitir informações de sinal indicando se o valor de deslocamento é um número positivo ou um número negativo, e um resto, que são seguidos pela informação de valor zero.
[000101] Na operação 19 se o codificador de parâmetro de deslocamento 16 transmitir informações do tipo de deslocamento indicando o tipo de borda, a informação de valor zero e o resto podem ser transmitidos. Com relação ao tipo de borda, a informação de sinal do valor de deslocamento não necessita ser transmitida porque um sinal do valor de deslocamento é previsível com base somente em uma categoria de acordo com um formato de borda. Um processo de prever o sinal do valor de deslocamento será descrito abaixo com referência às figuras 5A e 5B.
[000102] Na operação 17, para executar ajuste de deslocamento em um componente luma, um primeiro componente croma, e um segundo componente croma da LCU atual, o codificador de parâmetro de deslocamento 16 pode transmitir informações de fusão de deslocamento, comuns.
[000103] Na operação 19, o codificador de parâmetro de deslocamento 16 pode transmitir um tipo de deslocamento comum para parâmetros de deslocamento do primeiro componente croma e parâmetros de deslocamento do segundo componente croma da LCU atual.
[000104] O aparelho de codificação de video 10 pode incluir um processador central (não mostrado) para coletivamente controlar o codificador de LCU 12, o determinador de parâmetro de deslocamento 14 e o codificador de parâmetro de deslocamento 16. Alternativamente, o codificador de LCU 12, o determinador de parâmetro de deslocamento 14 e o codificador de parâmetro de deslocamento 16 podem ser acionados por seus processadores individuais (não mostrados) que cooperativamente operam para controlar o aparelho de codificação de video 10. Alternativamente, um processador externo (não mostrado) fora do aparelho de codificação de video 10 pode controlar o codificador de LCU 12, o determinador de parâmetro de deslocamento 14 e o codificador de parâmetro de deslocamento 16.
[000105] O aparelho de codificação de video 10 pode incluir uma ou mais armazenagens de dados (não mostradas) para armazenar dados de entrada e saida do codificador de LCU 12, determinador de parâmetro de deslocamento 14 e codificador de parâmetro de deslocamento 16. O aparelho de codificação de video 10 pode incluir um controlador de memória (não mostrado) para gerenciar entrada e saida de dados para e a partir das armazenagens de dados.
[000106] Para executar uma operação de codificação de video que inclui transformação e transmitir um resultado da operação de codificação de video, o aparelho de codificação de video 10 pode operar em associação a um processador de codificação de video interno ou externo. O processador de codificação de video interno do aparelho de codificação de video 10 pode ser um processador independente para executar uma operação de codificação de video. Também, o aparelho de codificação de video 10, uma unidade de processamento central, ou uma unidade de processamento gráfico pode incluir um módulo processador de codificação de video para executar uma operação de codificação de video básica.
[000107] As figuras 2A e 2B são um diagrama de blocos de um aparelho de decodif icação de video 20 e um fluxograma de um método de ajuste de deslocamento 21 do aparelho de decodificação de video 20, de acordo com uma modalidade da presente invenção.
[000108] O aparelho de decodificação de video 20 inclui um extrator de parâmetro de deslocamento 22, um determinador de deslocamento 24, e um ajustador de deslocamento 26.
[000109] O aparelho de decodificação de video 20 recebe um fluxo de bits que inclui dados codificados de um video. O aparelho de decodificação de video 20 pode analisar amostras de video codificadas a partir do fluxo de bits recebido, pode executar decodificação por entropia, quantização inversa, transformação inversa, predição e compensação de movimento em cada bloco de imagem para gerar pixels reconstruídos, e desse modo pode gerar uma imagem reconstruída.
[000110] Além disso, o aparelho de decodificação de video 20 pode receber valores de deslocamento indicado valores de diferença entre pixels originais e pixels reconstruídos, e pode minimizar um erro entre uma imagem original e a imagem reconstruída. 0 aparelho de decodificação de video 20 pode receber dados codificados de cada LCU do video, e pode reconstruir a LCU com base em unidades de codificação dividias a partir da LCU e tendo uma estrutura de árvore. Um método de reconstruir amostras de e ajustar deslocamentos de uma LCU atual será descrito agora em detalhe com referência à figura 2B.
[000111] Na operação 23, o extrator de parâmetro de deslocamento 22 pode extrair informações de fusão de deslocamento de uma LCU atual a partir de um fluxo de bits recebido. As informações de fusão de deslocamento da LCU atual indicam se deve adotar um segundo parâmetro de deslocamento de uma LCU esquerda ou superior da LCU atual como um primeiro parâmetro de deslocamento da LCU atual.
[000112] Na operação 25, o extrator de parâmetro de deslocamento 22 pode reconstruir o primeiro parâmetro de deslocamento incluindo um tipo de deslocamento, valores de deslocamento e uma classe de deslocamento da LCU atual, com base nas informações de fusão de deslocamento.
[000113] O extrator de parâmetro de deslocamento 22 pode determinar se deve reconstruir o tipo de deslocamento, os valores de deslocamento e a classe de deslocamento da LCU atual para serem iguais aqueles do segundo parâmetro de deslocamento, ou extrair o tipo de deslocamento, os valores de deslocamento e a classe de deslocamento a partir do fluxo de bits, com base nas informações de fusão de deslocamento.
[000114] Na operação 27, o determinador de deslocamento 24 pode determinar se um método de classificação de valor de pixel da LCU atual é um tipo de borda ou um tipo de banda, com base no tipo de deslocamento determinado pelo extrator de parâmetro de deslocamento 22. Com base no tipo de deslocamento, um tipo off, o tipo de borda, ou o tipo de banda pode ser determinado.
[000115] Se o tipo de deslocamento for o tipo off, pode ser determinado que ajuste de deslocamento não é aplicado à LCU atual. Nesse caso, outros parâmetros de deslocamento da LCU atual não necessitam ser analisados.
[000116] Na operação 27, o determinador de deslocamento 24 pode determinar uma faixa de banda de acordo com uma direção de borda de acordo com o tipo de borda ou uma faixa de banda de acordo com um tipo de banda ou a LCU atual, com base na classe de deslocamento determinada pelo extrator de parâmetro de deslocamento 22.
[000117] Na operação 27, o determinador de deslocamento 24 pode determinar valores de diferença entre pixels reconstruídos e pixels originais incluídos na classe de deslocamento acima determinada, com base nos valores de deslocamento determinados pelo extrator de parâmetro de deslocamento 22.
[000118] Na operação 29, o ajustador de deslocamento 26 pode ajustar valores de pixel de amostras reconstruídas com base em unidades de codificação divididas a partir da LCU atual e tendo uma estrutura de árvore, pelos valores de diferença determinados pelo determinador de deslocamento 24.
[000119] Na operação 23, de acordo com outra modalidade da presente invenção, o extrator de parâmetros de deslocamento 22 pode extrair de um cabeçalho da fatia atual informações de ajuste de deslocamento indicando se deve executar ajuste de deslocamento em cada das LCUs incluídas na fatia atual. Com base nas informações de ajuste de deslocamento, se ajuste de deslocamento for realizado na fatia atual, o extrator de parâmetro de deslocamento 22 pode extrair adicionalmente informações de fusão de deslocamento e parâmetros de deslocamento de cada das LCUs.
[000120] Na operação 25, o extrator de parâmetro de deslocamento 22 pode determinar adotar o segundo parâmetro de deslocamento da LCU esquerda ou superior como o primeiro parâmetro de deslocamento, com base na informação de fusão de deslocamento. Nesse caso, o determinador de deslocamento 24 não pode extrair o primeiro parâmetro de deslocamento da LCU atual e pode reconstruir o primeiro parâmetro de deslocamento para ser igual ao segundo parâmetro de deslocamento anteriormente reconstruído.
[000121] Na operação 25, o extrator de parâmetro de deslocamento 22 pode determinar não adotar o segundo parâmetro de deslocamento como o primeiro parâmetro de deslocamento, com base nas informações de fusão de deslocamento. Nesse caso, o determinador de deslocamento 24 pode extrair e reconstruir o primeiro parâmetro de deslocamento seguido pela informação de fusão de deslocamento, a partir do fluxo de bits.
[000122] Na operação 23, o extrator de parâmetro de deslocamento 22 pode extrair informações de fusão de deslocamento comuns de um componente luma, um primeiro componente croma e um segundo componente croma da LCU atual. O determinador de deslocamento 24 pode determinar se deve reconstruir parâmetros de deslocamento do componente luma, parâmetros de deslocamento do primeiro componente croma, e parâmetros de deslocamento do segundo componente croma para serem iguais àqueles de uma LCU adjacente, com base na informação de fusão de deslocamento comum.
[000123] Também, na operação 25, o determinador de deslocamento 24 pode reconstruir um tipo de deslocamento comum do primeiro componente croma e segundo componente croma da LCU atual.
[000124] Na operação 25, o determinador de deslocamento 24 pode determinar valores de deslocamento correspondendo a um número predeterminado de categorias, com base nos parâmetros de deslocamento. Cada dos valores de deslocamento pode ser maior ou igual a um valor minimo predefinido e pode ser menor ou igual a um valor máximo predefinido.
[000125] Na operação 25, se informações do tipo deslocamento indicarem o tipo de borda, o determinador de deslocamento 24 pode determinar uma direção de borda dos pixels reconstruídos incluídos na LCU atual como 0o, 90°, 45° ou 135° com base na classe de deslocamento.
[000126] Na operação 27, se as informações do tipo deslocamento indicarem o tipo de banda, o determinador de deslocamento 24 pode determinar posições de bandas às quais os valores de pixel dos pixels reconstruídos pertencem com base na classe de deslocamento.
[000127] Na operação 27, se as informações do tipo deslocamento indicarem o tipo de banda, o determinador de deslocamento 24 pode determinar se um valor de deslocamento for 0 ou não, com base em informações de valor zero do valor de deslocamento. Se o valor de deslocamento for determinado como 0 com base na informação de valor zero, informações do valor de deslocamento diferentes das informações de valor zero não são reconstruídas.
[000128] Se o valor de deslocamento não for determinado como 0 com base nas informações de valor zero, o determinador de deslocamento 24 pode determinar se o valor de deslocamento é um número positivo ou um número negativo, com base em informações de sinais do valor de deslocamento, que é seguido pela informação de valor zero. Também, por reconstruir um resto do valor de deslocamento, que é seguido pela informação de sinal, o determinador de deslocamento 24 pode determinar um valor de deslocamento final.
[000129] Também na operação 27 se a informação do tipo deslocamento indicar o tipo de borda e se o valor de deslocamento não for determinado como 0 com base na informação de valor zero do valor de deslocamento, por reconstruir o resto do valor de deslocamento, que é seguido pela informação de valor zero, o determinador de deslocamento 24 pode determinar um valor de deslocamento final.
[000130] O aparelho de decodificação de video 20 pode incluir um processador central (não mostrado) para coletivamente controlar o extrator de parâmetro de deslocamento 22, o determinador de deslocamento 24 e o ajustador de deslocamento 26. Alternativamente, o extrator de parâmetro de deslocamento 22, o determinador de deslocamento 24 e o ajustador de deslocamento 26 podem ser acionados por seus processadores individuais (não mostrados) que cooperativamente operam para controlar o aparelho de decodificação de video 20. Alternativamente, um processador externo (não mostrado) fora do aparelho de decodificação de video 20 pode controlar o extrator de parâmetro de deslocamento 22, o determinador de deslocamento 24 e o ajustador de deslocamento 26.
[000131] O aparelho de decodificação de video 20 pode incluir uma ou mais armazenagens de dados (não mostradas) para armazenar dados de entrada e saída do extrator de parâmetro de deslocamento 22, determinador de deslocamento 24 e ajustador de deslocamento 26. 0 aparelho de decodificação de vídeo 20 pode incluir um controlador de memória (não mostrado) para gerenciar entrada e saída de dados para e a partir das armazenagens de dados.
[000132] Para executar uma operação de decodificação de vídeo para reconstruir um vídeo, o aparelho de decodificação de vídeo 20 pode operar em associação a um processador de decodificação de vídeo interno ou externo. O processador de decodificação de vídeo interno do aparelho de decodificação de vídeo 20 pode ser um processador independente para executar uma operação de decodificação de vídeo básica. Também, o aparelho de decodificação de vídeo 20, uma unidade de processamento central, ou uma unidade de processamento gráfico pode incluir um módulo de processador de decodificação de vídeo para executar uma operação de decodif icação de vídeo básica.
[000133] O aparelho de codificação de vídeo 10 e o aparelho de decodificação de vídeo 20 descritos acima com referência às figuras IA, 1B, 2A e 2B utilizam uma técnica de deslocamento adaptável de amostra (SAO) para minimizar um erro entre pixels originais e pixels reconstruídos. De acordo com a técnica SAO, o aparelho de codificação de vídeo 10 classifica pixels de cada bloco de imagem em grupos de pixel predefinidos, aloca cada pixel a um grupo de pixels correspondente, e codifica um valor de deslocamento indicando um valor médio de erros entre os pixels originais e os pixels reconstruídos no mesmo grupo de pixels.
[000134] Amostras são sinalizadas entre o aparelho de codificação de video 10 e o aparelho de decodificação de video 20. Isto é, o aparelho de codificação de video 10 pode codificar e transmitir amostras na forma de um fluxo de bits, e o aparelho de decodificação de video 20 pode analisar e reconstruir as amostras a partir do fluxo de bits recebido. Para minimizar um erro entre pixels originais e pixels reconstruídos por ajustar valores de pixel dos pixels reconstruídos por um deslocamento determinado de acordo com classificação de pixels, o aparelho de codificação de video 10 e o aparelho de decodificação de video 20 sinalizam parâmetros de deslocamento. Entre o aparelho de codificação de video 10 e o aparelho de decodificação de video 20, a sinalização é realizada de tal modo que valores de deslocamento sejam codificados, transceptados e decodificados como os parâmetros de deslocamento.
[000135] Desse modo, de acordo com uma técnica SAO, o aparelho de decodificação de video 20 pode gerar uma imagem reconstruída tendo um erro minimizado entre uma imagem original e a imagem reconstruída por decodificar um fluxo de bits recebido, gerar pixels reconstruídos de cada de blocos de imagem, reconstruir valores de deslocamento a partir do fluxo de bits e ajustar os pixels reconstruídos pelos valores de deslocamento.
[000136] Um método de decodificação de video utilizando uma técnica SAO será descrito agora em detalhe com referência à figura 3. A figura 3 é um diagrama de blocos de um aparelho de decodificação de video 30 de acordo com outra modalidade da presente invenção.
[000137] O aparelho de decodificação de video 30 inclui um decodificador de entropia 31, um quantizador inverso 32, um transformador inverso 33, um reconstrutor 34, um intra preditor 35, um buffer de imagem de referência 36, um compensador de movimento 37, um filtro de desbloqueio 38 e um filtro SAO 39.
[000138] O aparelho de decodificação de video 30 pode receber um fluxo de bits incluindo dados de video codificados. O decodificador de entropia 31 pode analisar informações intra modo, informações inter modo, informações de SAO e resíduos a partir do fluxo de bits.
[000139] Os resíduos extraídos pelo decodificador de entropia 31 podem ser coeficientes de transformação quantizados. Por conseguinte, o quantizador inverso 32 pode executar quantização inversa nos resíduos para reconstruir coeficientes de transformação, e o transformador inverso 33 pode executar transformação inversa nos coeficientes reconstruídos para reconstruir valores residuais do dominio de espaço.
[000140] Para prever e reconstruir os valores residuais do dominio de espaço, intra predição ou compensação de movimento pode ser realizada.
[000141] Se a informação intra modo for extraída pelo decodificador de entropia 31, o intra preditor 35 pode determinar amostras de referência a serem referidas para reconstruir amostras atuais entre amostras espacialmente adjacentes às amostras atuais, utilizando a informação intra modo. As amostras de referência podem ser selecionadas entre amostras anteriormente reconstruídas pelo reconstrutor 34. O reconstrutor 34 pode reconstruir as amostras atuais utilizando as amostras de referência determinadas com base na informação intra modo e os valores residuais reconstruídos pelo transformador inverso 33.
[000142] Se a informação inter modo for extraida pelo decodificador de entropia 31, o compensador de movimento 37 pode determinar uma imagem de referência a ser referida para reconstruir amostras atuais de uma imagem atual entre imagens reconstruídas anteriormente à imagem atual, utilizando a informação inter modo. A informação inter modo pode incluir vetores de movimento, indices de referência, etc. utilizando os indices de referência, entre imagens reconstruídas anteriormente à imagem atual e armazenadas no buffer de imagem de referência 36, uma imagem de referência a ser utilizada para executar compensação de movimento nas amostras atuais pode ser determinada. Utilizando os vetores de movimento, um bloco de referência da imagem de referência a ser utilizada para executar compensação de movimento em um bloco atual pode ser determinada. O reconstrutor 34 pode reconstruir as amostras atuais utilizando o bloco de referência determinado com base na informação inter modo e os valores residuais reconstruídos pelo transformador inverso 33.
[000143] O reconstrutor 34 pode reconstruir amostras e pode transmitir pixels reconstruídos. O reconstrutor 34 pode gerar pixels reconstruídos de cada das LCUs com base em unidades de codificação tendo uma estrutura de árvore.
[000144] O filtro de desbloqueio 38 pode executar filtração para reduzir um fenômeno de bloqueio de pixels dispostos em regiões de borda da LCU ou cada das unidades de codificação tendo uma estrutura de árvore.
[000145] Também, o filtro SAO 39 pode ajustar deslocamentos de pixels reconstruídos de cada LCU de acordo com uma técnica SAO. O filtro SAO 39 pode determinar um tipo de deslocamento, uma classe de deslocamento, e valores de deslocamento de uma LCU atual com base na informação SAO extraída pelo decodificador de entropia 31.
[000146] Uma operação de extrair a informação SAO pelo decodificador de entropia 31 pode corresponder a uma operação do extrator de parâmetro de deslocamento 22 do aparelho de decodificação de vídeo 20, e operações do filtro SAO 39 podem corresponder a operações do determinador de deslocamento 24 e ajustador de deslocamento 26 do aparelho de decodificação de vídeo 20.
[000147] O filtro SAO 39 pode determinar sinais e valores de diferença dos valores de deslocamento com relação aos pixels reconstruídos da LCU atual com base nos valores de deslocamento determinados a partir da informação SAO. O filtro SAO 39 pode reduzir erros entre os pixels reconstruídos e pixels originais por aumentar ou reduzir valores de pixel dos pixels reconstruídos pelos valores de diferença determinados com base nos valores de deslocamento.
[000148] Uma imagem incluindo os pixels reconstruídos ajustados em deslocamento pelo filtro SAO 39 pode ser armazenada no buffer de imagem de referência 36. Desse modo, utilizando uma imagem de referência tendo erros minimizados entre amostras reconstruídas e pixels originais de acordo com uma técnica SAO, compensação de movimento pode ser executada em uma imagem seguinte.
[000149] De acordo com a técnica SAO, com base nos valores de diferença entre pixels reconstruídos e pixels originais, um deslocamento de um grupo de pixels incluindo os pixels reconstruídos pode ser determinado. Para a técnica SAO, as modalidades para classificar pixels reconstruídos em grupos de pixel serão descritas agora em detalhe.
[000150] De acordo com uma técnica SAG, pixels podem ser classificados (i) com base em um tipo de borda de pixels reconstruídos, ou (ii) um tipo de banda de pixels reconstruídos. O fato de se pixels são classificados com base em um tipo de borda ou um tipo de banda pode ser definido utilizando um tipo de deslocamento.
[000151] Uma modalidade de classificar pixels com base em um tipo de borda de acordo com uma técnica SAG será descrito agora em detalhe.
[000152] Quando deslocamentos do tipo borda de uma LCU atual são determinados, uma classe de borda de cada dos pixels reconstruídos incluídos na LCU atual pode ser determinada. Isto é, por comparar valores de pixel de pixels reconstruídos atuais e pixels adjacentes, uma classe de borda dos pixels reconstruídos atuais pode ser definida. Um exemplo de determinar uma classe de borda será descrita agora com referência à figura 4.
[000153] A figura 4 é uma tabela que mostra classes de bord de tipos de borda, de acordo com uma modalidade da presente invenção.
[000154] Os indices 0, 1, 2 e 3 podem ser sequencialmente alocados a classes de borda 41, 42, 43 e 44. Se um tipo de borda ocorrer frequentemente, um indice pequeno pode ser alocado ao tipo de borda.
[000155] Uma classe de borda pode indicar uma direção de bordas unidimensionais formadas entre um pixel reconstruído atual X0 e dois pixels adjacentes. A classe de borda 41 tendo o indice 0 indica um caso quando bordas são formadas entre o pixel reconstruído atual X0 e dois pixels horizontalmente adjacentes XI e X2. A classe de borda 42 tendo o indice 1 indica um caso quando bordas são formadas entre o pixel reconstruído atual XO e dois pixels verticalmente adjacentes X3 e X4. A classe de borda 43 tendo o indice 2 indica um caso quando bordas são formadas entre o pixel reconstruído atual XO e dois pixels diagonalmente adjacentes 135° X5 e X8. A classe de borda 44 tendo o indice 3 indica um caso quando bordas são formadas entre o pixel reconstruído atual XO e dois pixels diagonalmente adjacentes 45° X6 e X7.
[000156] Por conseguinte, por analisar direções de borda de pixels reconstruídos incluídos em uma LCU atual e desse modo determinar uma direção de borda forte na LCU atual, uma classe de borda da LCU atual pode ser determinada.
[000157] Com relação a cada classe de borda, categorias podem ser classificadas de acordo com um formato de borda de um pixel atual. Um exemplo de categorias de acordo com formatos de borda será descrito agora com referência às figuras 5A e 5B.
[000158] As figuras 5A e 5B são uma tabela e um gráfico mostrando categorias de tipos de borda, de acordo com uma modalidade da presente invenção.
[000159] Uma categoria de borda indica se um pixel atual corresponde a um ponto mais baixo de uma borda côncava, um pixel disposto em um canto curvo em torno de um ponto mais baixo de uma borda côncava, um ponto mais elevado de uma borda convexa ou um pixel disposto em um canto curvo em torno de um ponto mais elevado de uma borda convexa.
[000160] A figura 5A mostra exemplarmente condições para determinar categorias de bordas. A figura 5B mostra exemplarmente formatos de borda entre um pixel reconstruído e pixels adjacentes e seus valores de pixel c, a e b.
[000161] C indica um indice de um pixel reconstruído atual, e a e b indicam indices de pixels adjacentes em dois lados do pixel reconstruído atual de acordo com uma direção de borda. Xa, Xb e Xc respectivamente indicam valores de pixel de pixels reconstruídos tendo os indices a, b e c. na figura 5B, um eixo geométrico x indica indices do pixel reconstruído atual e os pixels adjacentes em dois lados do pixel reconstruído atual, e um eixo geométrico y indica valores de pixel de amostras.
[000162] A categoria 1 indica um caso quando uma amostra atual corresponde a um ponto mais baixo de uma borda côncava, isto é, um vale local. Como mostrado no gráfico 51 (Xc<Xa && Xc < Xb) , se o pixel reconstruído atual c entre os pixels adjacentes a e b corresponder a um ponto mais baixo de uma borda côncava, o pixel reconstruído atual pode ser classificado como a categoria 1.
[000163] A categoria 2 indica um caso quando uma amostra atual é disposta em um canto curvo em torno de um ponto mais baixo de uma borda côncava, isto é, um canto côncavo. Como mostrado no gráfico 52 (Xc<Xa && Xc==Xb), se o pixel reconstruído atual c entre os pixels adjacentes a e b for disposto em um ponto final de uma curva para baixo de uma borda côncava ou como mostrado no gráfico 53 (Xc==Xa && Xc<Xb) , se o pixel reconstruído atual c for disposto em um ponto de partida de uma curva ascendente de uma borda côncava, o pixel reconstruído atual pode ser classificado como a categoria 2.
[000164] A categoria 3 indica um caso quando uma amostra atual é disposta em um canto curvo em torno de um ponto mais alto de uma borda convexa, isto é, um canto convexo. Como mostrado no gráfico 54 (Xc<Xb && Xc==Xa), se o pixel reconstruído atual c entre os pixels adjacentes a e b for disposto em um ponto de partida de uma curva para baixo de uma borda convexa ou como mostrado no gráfico 55 (Xc==Xb && Xc<Xa) , se o pixel reconstruído atual c for disposto em um ponto final de uma curva ascendente de uma borda convexa, o pixel reconstruído atual pode ser classificado como a categoria 3.
[000165] A categoria 4 indica um caso quando uma amostra atual corresponde a um ponto mais elevado de uma borda convexa, isto é, um pico local. Como mostrado no gráfico 56 (Xc>Xa && Xc>Xb), se o pixel reconstruído atual c entre os pixels adjacentes a e b corresponder a um ponto mais elevado de uma borda conexa, o pixel reconstruído atual pode ser classificado como a categoria 1.
[000166] Se o pixel reconstruído atual não atender a nenhuma das condições das categorias 1, 2, 3 e 4, o pixel reconstruído atual não corresponde a uma borda e desse modo é classificado como categoria 0, e um deslocamento da categoria 0 não necessita ser codificado.
[000167] De acordo com uma modalidade da presente invenção, com relação a pixels reconstruídos correspondendo à mesma categoria, um valor médio de valores de diferença entre os pixels reconstruídos e pixels originais pode ser determinado como um deslocamento de uma categoria atual. Além disso, deslocamentos de todas as categorias podem ser determinados.
[000168] As bordas côncavas das categorias 1 e 2 podem ser suavizadas se valores de pixel reconstruídos forem ajustados utilizando valores de deslocamento positivos, e podem ser aparados devido a valores de deslocamento negativos. As bordas convexas das categorias 3 e 4 podem ser suavizadas devido a valores de deslocamento negativos e podem ser aparados devido a valores de deslocamento positivos.
[000169] O aparelho de codificação de video 10 não pode permitir o efeito de aparar de bordas. Aqui, as bordas côncavas das categorias 1 e 2 necessitam valores de deslocamento positivos, e as bordas convexas das categorias 3 e 4 necessitam de valores de deslocamento negativos. Nesse caso, se uma categoria de uma borda for conhecida, um sinal de um valor de deslocamento pode ser determinado. Por conseguinte, o aparelho de codificação de video 10 não pode transmitir o sinal do valor de deslocamento e pode transmitir somente um valor absoluto do valor de deslocamento. Também, o aparelho de decodificação de video 20 pode não receber o sinal do valor de deslocamento e pode receber somente um valor absoluto do valor de deslocamento.
[000170] Por conseguinte, o aparelho de codificação de video 10 pode codificar e transmitir valores de deslocamento de acordo com categorias de uma classe de borda atual, e o aparelho de decodificação de video 20 pode ajustar pixels reconstruídos das categorias pelos valores de deslocamento recebidos.
[000171] Por exemplo, se um valor de deslocamento de um tipo de borda for determinado como 0, o aparelho de codificação de video 10 pode transmitir somente informações de valor zero como o valor de deslocamento.
[000172] Por exemplo, se um valor de deslocamento de um tipo de borda não for 0, o aparelho de codificação de video 10 pode transmitir informações de valor zero e um valor absoluto como o valor de deslocamento. Um sinal dos valores de deslocamento não necessita ser transmitido.
[000173] O aparelho de decodificação de video 20 lê as informações de valor zero a partir do valor de deslocamento recebido, e pode ler o valor absoluto do valor de deslocamento se o valor de deslocamento não for 0. O sinal do valor de deslocamento pode ser previsto de acordo com uma categoria de borda com base em um formato de borda entre um pixel reconstruído e pixels adjacentes.
[000174] Por conseguinte, o aparelho de codificação de video 10 pode classificar pixels de acordo com direções de borda e formatos de borda, pode determinar um valor de erro médio entre pixels tendo as mesmas características como um valor de deslocamento, e pode determinar valores de deslocamento de acordo com categorias. O aparelho de codificação de video 10 pode codificar e transmitir informações do tipo deslocamento indicando um tipo de borda, informações de classe de deslocamento indicando uma direção de borda e os valores de deslocamento.
[000175] O aparelho de decodificação de video 20 pode receber as informações do tipo deslocamento, as informações de classe de deslocamento e os valores de deslocamento, e pode determinar uma direção de borda de acordo com as informações do tipo de deslocamento e informações de classe de deslocamento. O aparelho de decodificação de video 20 pode determinar um valor de deslocamento de pixels reconstruídos de uma categoria correspondendo a um formato de borda de acordo com a direção de borda, e pode ajustar valores de pixel dos pixels reconstruídos pelo valor de deslocamento, desse modo minimizando um erro entre uma imagem original e uma imagem reconstruída.
[000176] Uma modalidade de classificar pixels com base em um tipo de banda de acordo com uma técnica SAO será descrita agora em detalhe.
[000177] De acordo com uma modalidade da presente invenção, cada dos valores de pixel de pixels reconstruídos pode pertence a uma de uma pluralidade de bandas. Por exemplo, os valores de pixel podem ter uma faixa total de um valor minimo Min de 0 a um valor máximo Max de 2A(p-l) de acordo com amostragem de bits-p. se a faixa total (Min, Max) dos valores de pixel for dividido em K periodos, cada periodo dos valores de pixel é mencionado como uma banda. Se Bk indicar um valor máximo de uma ka banda, bandas [B0, Bl-1], [Bl, B2-1], [B2, B3-1], ..., e [Bk-1, Bk] podem ser divididas. Se um valor de pixel de um pixel reconstruído atual Rec (x, y) pertencer à banda [Bk-1, Bk], uma banda atual pode ser determinada como k. As bandas podem ser divididas de forma igual ou desigual.
[000178] Por exemplo, se valores de pixel forem classificados em bandas de pixel de 8 bits iguais, os valores de pixel podem ser divididos em 32 bandas. Em mais detalhe, podem ser classificados em bandas [0, 7], [8, 15], ..., [240, 247], e [248, 255].
[000179] Entre uma pluralidade de bandas classificadas de acordo com um tipo de banda, uma banda a qual cada dos valores de pixel de pixels reconstruídos pertence pode ser determinada. Também, um valor de deslocamento indicando uma média de erros entre pixels originais e pixels reconstruídos em cada banda pode ser determinado.
[000180] Por conseguinte, o aparelho de codificação de video 10 e o aparelho de decodificação de video 20 podem codificar e transceptar um deslocamento correspondendo a cada das bandas classificadas de acordo com um tipo de banda atual, e podem ajustar pixels reconstruídos pelo deslocamento.
[000181] Por conseguinte, com relação a um tipo de banda, o aparelho de codificação de video 10 e o aparelho de decodificação de video 20 podem classificar pixels reconstruídos de acordo com bandas as quais seus valores de pixel pertencem, podem determinar um deslocamento como uma média de valores de erro de pixels reconstruídos que pertencem à mesma faixa, e podem ajustar os pixels reconstruídos pelo deslocamento, desse modo minimizando um erro entre uma imagem original e uma imagem reconstruída.
[000182] Quando um deslocamento de acordo com um tipo de banda é determinado, o aparelho de codificação de video 10 e o aparelho de decodificação de video 20 podem classificar pixels reconstruídos em categorias de acordo com uma posição de banda. Por exemplo, se a faixa total dos valores de pixel for dividida em K bandas, categorias podem ser indexadas de acordo com um indice de banda k indicando uma ka banda. O número de categorias pode ser determinado para corresponder ao número de bandas.
[000184] Entretanto, para reduzir dados, o aparelho de codificação de video 10 e o aparelho de decodificação de video 20 podem limitar o número de categorias utilizadas para determinar deslocamentos de acordo com uma técnica SAO. Por exemplo, um número predeterminado de bandas que são continuas de uma banda tendo uma posição de partida predeterminada em uma direção na qual um indice de banda é aumentado pode ser alocado como categorias, e somente um deslocamento de cada categoria pode ser determinado.
[000185] Por exemplo, se uma banda tendo um indice de 12 for determinada como uma banda de partida, quatro bandas a partir da banda de partida, isto é, bandas tendo indices de 12, 13, 14 e 15 podem ser alocadas como categorias 1, 2, 3 e 4. Por conseguinte, um erro médio entre pixels reconstruídos e pixels originais incluídos em uma banda tendo o indice de 12 pode ser determinado como um deslocamento de categoria 1. De modo semelhante, um erro médio entre pixels reconstruídos e pixels originais incluídos em uma banda tendo o indice de 13 pode ser determinado como um deslocamento de categoria 2, um erro médio entre pixels reconstruídos e pixels originais incluídos em uma banda tendo o indice de 14 pode ser determinado como um deslocamento de categoria 3, e um erro médio entre pixels reconstruídos e pixels originais incluídos em uma banda tendo o indice de 15 pode ser determinado como um deslocamento de categoria 4.
[000186] Nesse caso, informações sobre uma posição de banda de partida são necessárias para determinar posições de bandas alocadas como categorias. Por conseguinte, o aparelho de codificação de video 10 pode codificar e transmitir as informações sobre a posição de banda de partida como a classe de deslocamento. O aparelho de codificação de video 10 pode codificar e transmitir um tipo de deslocamento indicando um tipo de banda, uma classe de deslocamento e valores de deslocamento de acordo com categorias.
[000187] O aparelho de decodificação de video 20 pode receber o tipo de deslocamento, a classe de deslocamento e os valores de deslocamento de acordo com as categorias. Se o tipo de deslocamento recebido for um tipo de banda, o aparelho de decodif icação de video 20 pode ler uma posição de banda de partida a partir da classe de deslocamento. O aparelho de decodificação de video 20 pode determinar uma banda a qual pixels reconstruídos pertencem, entre quatro bandas a partir da banda de partida, pode determinar um valor de deslocamento alocado a uma banda atual entre os valores de deslocamento de acordo com as categorias, e pode ajustar valores de pixel dos pixels reconstruídos pelo valor de deslocamento.
[000188] Acima, um tipo de borda e um tipo de banda são introduzidos como tipos de deslocamento, e uma classe de deslocamento e uma categoria de acordo com o tipo de deslocamento são descritos em detalhe. Parâmetros de deslocamento codificados e transceptados pelo aparelho de codificação de video 10 e aparelho de decodificação de video 20 serão descritos agora em detalhe.
[000189] O aparelho de codificação de video 10 e o aparelho de decodificação de video 20 podem determinar um tipo de deslocamento de acordo com um método de classificação de pixel de pixels reconstruídos de cada LCU.
[000190] O tipo de deslocamento pode ser determinado de acordo com características de imagem de cada bloco. Por exemplo, com relação a uma LCU incluindo uma borda vertical, uma borda horizontal, e uma borda diagonal, para alterar valores de borda, valores de deslocamento podem ser determinados por classificar valores de pixel de acordo com um tipo de borda. Com relação a uma LCU não incluindo uma região de borda, valores de deslocamento podem ser determinados de acordo com uma classificação de banda. Por conseguinte, o aparelho de codificação de video 10 e o aparelho de decodificação de video 20 podem sinalizar o tipo de deslocamento com relação a cada de LCUs.
[000191] O aparelho de codificação de video 10 e o aparelho de decodificação de video 20 podem determinar parâmetros de deslocamento com relação a cada LCU. Isto é, tipos de deslocamento de pixels reconstruídos de uma LCU podem ser determinados, os pixels reconstruídos da LCU podem ser classificados em categorias, e valores de deslocamento podem ser determinados de acordo com as categorias.
[000192] Entre os pixels reconstruídos incluídos na LCU, o aparelho de codificação de video 10 pode determinar um erro médio de pixels reconstruídos classificados na mesma categoria, como um valor de deslocamento. Um valor de deslocamento de cada categoria pode ser determinado.
[000193] De acordo com uma modalidade da presente invenção, os parâmetros de deslocamento podem incluir um tipo de deslocamento, valores de deslocamento e uma classe de deslocamento. O aparelho de codificação de video 10 e o aparelho de decodificação de video 20 podem transceptar os parâmetros de deslocamento determinados com relação a cada LCU.
[000194] Entre parâmetros de deslocamento de uma LCU, o aparelho de codificação de video 10 pode codificar e transmitir o tipo de deslocamento e os valores de deslocamento. Se o tipo de deslocamento for um tipo de borda, o aparelho de codificação de video 10 pode transmitir ainda uma classe de deslocamento indicando uma direção de borda, que é seguida pelo tipo de deslocamento e os valores de deslocamento de acordo com categorias. Se o tipo de deslocamento for um tipo de banda, o aparelho de codificação de video 10 pode transmitir ainda uma classe de deslocamento indicando uma posição de banda de partida, que é seguida pelo tipo de deslocamento e os valores de deslocamento de acordo com categorias.
[000195] O aparelho de decodificação de video 20 pode receber os parâmetros de deslocamento de cada LCU, que inclui o tipo de deslocamento, os valores de deslocamento e a classe de deslocamento. Também, o aparelho de decodificação de video 20 pode selecionar um valor de deslocamento de uma categoria a qual cada pixel reconstruído pertence, entre os valores de deslocamento de acordo com categorias, e pode ajustar o pixel reconstruído pelo valor de deslocamento selecionado.
[000196] Uma modalidade de transceptar valores de deslocamento entre parâmetros de deslocamento será descrita agora.
[000197] Para transmitir os valores de deslocamento, o aparelho de codificação de video 10 pode transmitir ainda informações de valor zero. De acordo com a informação de valor zero, informações de sinal e um resto podem ser adicionalmente transmitidos.
[000198] A informação de valor zero pode ser um indicador de 1-bit. Isto é, um indicador '0' indicando que o valor de deslocamento é 0 ou um indicador '1' indicando que o valor de deslocamento não é 0 pode ser transmitido.
[000199] Se a informação de valor zero for o indicador '0', a informação de sinal ou o resto não necessita ser codificado. Entretanto, se a informação de valor zero for o indicador '1', a informação de sinal e o resto podem ser adicionalmente transmitidos .
[000200] Entretanto, como descrito acima, com relação ao tipo de borda, uma vez que o valor de deslocamento pode ser previsto como um número positivo ou um número negativo de acordo com uma categoria, a informação de sinal não necessita ser transmitida. Por conseguinte, se a informação de valor zero for o indicador '1', o resto pode ser adicionalmente transmitido.
[000201] De acordo com uma modalidade da presente invenção, um valor de deslocamento Off-set pode ser anteriormente restrito em uma faixa de um valor minimo MinOffSet e um valor máximo MaxOffset antes do valor de deslocamento ser determinado (MinOffSet < Off-Set < MaxOffSet).
[000202] Por exemplo, com relação a um tipo de borda, valores de deslocamento de pixels reconstruídos de categorias 1 e 2 podem ser determinados em uma faixa de um valor minimo de 0 a um valor máximo de 7. Com relação ao tipo de borda, valores de deslocamento de pixels reconstruídos de categorias 3 e 4 podem ser determinados em uma faixa de um valor minimo de -7 a um valor máximo de 0.
[000203] Por exemplo, com relação a um tipo de banda, valores de deslocamento de pixels reconstruídos de todas as categorias podem ser determinados em uma faixa de um valor minimo de -7 a um valor máximo de 7.
[000204] Para reduzir bits de transmissão de um valor de deslocamento, um resto pode ser restrito a um valor de p-bit ao invés de um número negativo. Nesse caso, o resto pode ser maior ou igual a 0 e pode ser menor ou igual a um valor de diferença entre o valor máximo e o valor minimo (0 < Resto d MaxOffSet - MinOffSet + 1 < 2Ap). Se o aparelho de codificação de video 10 transmitir o resto e o aparelho de decodificação de video 20 conhecer pelo menos um do valor máximo e valor minimo do valor de deslocamento, um valor de deslocamento original pode ser reconstruído utilizando somente o resto recebido.
[000205] Entre componentes de parâmetro de deslocamento, informações de fusão de deslocamento serão descritas agora em detalhe.
[000206] Tipos de deslocamento e/ou valores de deslocamento de blocos adjacentes podem ser provavelmente iguais. O aparelho de codificação de video 10 pode comparar parâmetros de deslocamento de um bloco atual com parâmetros de deslocamento de blocos adjacentes e podem fundir e codificar os parâmetros de deslocamento do bloco atual e os blocos adjacentes se os parâmetros de deslocamento forem iguais. Se os parâmetros de deslocamento do bloco adjacente forem anteriormente codificados, os parâmetros de deslocamento do bloco adjacente podem ser adotados como os parâmetros de deslocamento do bloco atual. Por conseguinte, o aparelho de codificação de video 10 não pode codificar os parâmetros de deslocamento do bloco atual e pode codificar somente as informações de fusão de deslocamento do bloco atual.
[000207] Antes dos parâmetros de deslocamento serem analisados a partir de um fluxo de bits recebido, o aparelho de decodificação de video 20 pode analisar incialmente as informações de fusão de deslocamento e pode determinar se deve analisar os parâmetros de deslocamento. O aparelho de decodif icação de video 20 pode determinar se um bloco adjacente tendo os mesmos parâmetros de deslocamento que aqueles do bloco atual existe com base nas informações de fusão de deslocamento.
[000208] Por exemplo, se um bloco adjacente tendo os mesmos parâmetros de deslocamento que aqueles do bloco atual existe com base nas informações de fusão de deslocamento, o aparelho de decodificação de video 20 não pode analisar os parâmetros de deslocamento do bloco atual e pode adotar parâmetros de deslocamento reconstruídos do bloco adjacente como os parâmetros de deslocamento do bloco atual. Por conseguinte, o aparelho de decodificação de video 20 pode reconstruir os parâmetros de deslocamento do bloco atual para serem iguais aqueles do bloco adjacente. Também, com base nas informações de fusão de deslocamento, um bloco adjacente tendo parâmetros de deslocamento a serem referidos pode ser determinado.
[000209] Por exemplo, se os parâmetros de deslocamento dos blocos adjacentes forem diferentes dos parâmetros de deslocamento do bloco atual com base nas informações de fusão de deslocamento, o aparelho de decodificação de video 20 pode analisar e reconstruir os parâmetros de deslocamento do bloco atual a partir do fluxo de bits.
[000210] A figura 6 é um diagrama que mostra LCUs adjacentes referidas para fundir parâmetros de deslocamento, de acordo com uma modalidade da presente invenção.
[000211] O aparelho de codificação de video 10 pode determinar uma lista de candidatos de LCUs adjacentes a ser referida para prever parâmetros de deslocamento de uma LCU atual 60 entre LCUs adjacentes reconstruídas antes da LCU atual 60. O aparelho de codificação de video 10 pode comparar parâmetros de deslocamento da LCU atual 60 e as LCUs adjacentes na lista de candidatos.
[000212] Por exemplo, simplesmente, LCUs superiores e esquerda 61 e 62 do bloco atual 60 em uma imagem atual 65 podem ser incluídas na lista de candidatos.
[000213] Por conseguinte, o aparelho de codificação de video 10 pode comparar parâmetros de deslocamento das LCUs adjacentes incluídas na lista de candidatos com aqueles da LCU atual 60 de acordo com uma ordem de referência. Por exemplo, os parâmetros de deslocamento podem ser comparados com aqueles da LCU atual 60 na ordem da LCU esquerda 61 e LCU superior 62. Entre as LCUs esquerda e superior comparadas, 61 e 62, uma LCU tendo os mesmos parâmetros de deslocamento que aqueles da LCU atual 60 pode ser determinada como uma LCU de referência.
[000214] Para prever os parâmetros de deslocamento da LCU atual 60, o aparelho de codificação de video 10 e o aparelho de decodificação de video 20 podem se referir as mesmas LCUs adjacentes. Também, informações de fusão de deslocamento indicando uma LCU tendo parâmetros de deslocamento a serem referidos, podem ser transceptados. O aparelho de decodificação de video 20 pode selecionar uma das LCUs adjacentes com base nas informações de fusão de deslocamento, e pode reconstruir os parâmetros de deslocamento da LCU atual 60 para serem iguais aqueles da LCU adjacente selecionada.
[000215] Por exemplo, é assumido que as LCUs esquerda e superior 61 e 62 são referidas. O codificador de parâmetro de deslocamento 15 pode codificar informações de fusão de deslocamento esquerdo indicando se os parâmetros de deslocamento da LCU esquerda 61 da LCU atual 60 são iguais àqueles da LCU atual 60, e informações de fusão de deslocamento superior indicando se os parâmetros de deslocamento da LCU superior 62 são iguais aqueles da LCU atual 60 como as informações de fusão de deslocamento. Nesse caso, os parâmetros de deslocamento da LCU atual 60 e LCU esquerda 61 podem ser incialmente comparados para determinar se são iguais e então os parâmetros de deslocamento da LCU atual 60 e LCU superior 61 podem ser comparados para determinar se são iguais. De acordo com um resultado de comparação, as informações de fusão de deslocamento podem ser determinadas.
[000216] Se os parâmetros de deslocamento de pelo menos uma LCUs esquerda e superior 61 e 62 forem iguais àqueles da LCU atual 60, o codificador de parâmetro de deslocamento 16 pode codificar somente as informações de fusão de deslocamento esquerda ou superior e podem não codificar os parâmetros de deslocamento da LCU atual 60.
[000217] Se os parâmetros de deslocamento de ambas as LCUs esquerda e superior 61 e 62 forem diferentes daquelas da LCU atual 60, o codificador de parâmetro de deslocamento 16 pode codificar as informações de fusão de deslocamento esquerda ou superior e os parâmetros de deslocamento da LCU atual 60.
[000218] Parâmetros de deslocamento de acordo com componentes de cor serão descritos agora em detalhe.
[000219] O aparelho de codificação de video 10 e o aparelho de decodificação de video 20 podem prever mutuamente parâmetros de deslocamento entre componentes de cor.
[000220] Uma técnica SAO pode ser aplicada a blocos de luma e blocos de croma em um formato de cor YCrCb. Valores de deslocamento de um componente luma e componentes croma de uma LCU atual podem ser determinados, respectivamente.
[000221] De acordo com uma modalidade, informações de fusão de deslocamento comuns podem ser aplicadas a um componente Y, um componente Cr, e um componente Cb da LCU atual. Isto é, com base em um trecho de informação de fusão de deslocamento, pode ser determinado se parâmetros de deslocamento do componente Y são iguais aqueles do componente Y de uma LCU adjacente, pode ser determinado se parâmetros de deslocamento do componente Cr são iguais aqueles do componente Cr da LCU adjacente, e pode ser determinado se parâmetros de deslocamento do componente Cb são iguais aqueles do componente Cb da LCU adjacente.
[000222] De acordo com outra modalidade, informações do tipo de deslocamento comuns podem ser aplicadas ao componente Cr e o componente Cb da LCU atual. Isto é, com base em um trecho de informações do tipo de deslocamento, pode ser determinado se valores de deslocamento do componente Cr e componente Cb são determinados de acordo com um tipo de borda ou um tipo de banda.
[000223] O processo de analisar parâmetro de deslocamento de cada componente de cor de uma LCU atual será descrito agora em detalhe com referência à figura 7.
[000224] A figura 7 é um fluxograma de um processo 70 de analisar parâmetros de deslocamento, de acordo com uma modalidade da presente invenção.
[000225] Inicialmente na operação 71, as informações de fusão de deslocamento esquerda de uma LCU atual são analisadas (Fundir esquerda). Com base nas informações de fusão de deslocamento esquerda, se for determinado se referir a parâmetros de deslocamento de uma LCU esquerda, o processo 70 na LCU atual é terminado e os parâmetros de deslocamento da LCU atual podem ser determinados como sendo iguais aqueles da LCU esquerda.
[000226] Se for determinado não se referir aos parâmetros de deslocamento da LCU esquerda com base nas informações de fusão de deslocamento esquerdo 71, na operação 72, as informações de fusão de deslocamento superior da LCU atual são analisadas (Fundir Para Cima). Se for determinado se referir a parâmetros de deslocamento de uma LCU superior, o processo 70 na LCU atual termina e os parâmetros de deslocamento da LCU atual podem ser determinados como sendo iguais aqueles da LCU superior.
[000227] Se for determinado não se referir aos parâmetros de deslocamento da LCU superior com base nas informações de fusão de deslocamento superior na operação 72, na operação 73, os parâmetros de deslocamento da LCU atual são analisados.
[000228] Inicialmente, na operação 73, um tipo de deslocamento (tipo SAO) de um componente luma é analisado. Se o tipo de deslocamento for um tipo off (OFF) , uma vez que ajuste de deslocamento de acordo com uma técnica SAO não é realizada no componente luma, para analisar parâmetros de deslocamento de um componente croma, o processo 70 na LCU atual prossegue para a operação 74.
[000229] Se o tipo de deslocamento do componente luma for um tipo de borda (EO) na operação 73, na operação 751, valores de deslocamento de luma de quatro categorias podem ser analisados. Os valores de deslocamento do tipo de borda podem ser analisados sem informação de sinal. Na operação 752, uma classe de borda de luma (classe EO Luma) de 2 bits pode ser analisada. Uma direção de borda do componente luma da LCU atual pode ser determinada com base na classe de borda luma.
[000230] Como descrito acima, uma vez que valores de deslocamento de quatro categorias indicando formatos de borda são recebidos, um total de quatro valores de deslocamento são recebidos. Uma vez que cada pixel de luma reconstruído da LCU atual pode ser comparado com pixels adjacentes de acordo com uma direção de borda e desse modo seu formato de borda e sua categoria podem ser determinados, um valor de deslocamento de uma categoria atual pode ser selecionado entre os valores de deslocamento recebidos. Um valor de pixel do pixel de luma reconstruído pode ser ajustado utilizando o valor de deslocamento selecionado.
[000231] Se o tipo de deslocamento do componente luma for um tipo de banda (BO) em operação 73, na operação 761, valores de deslocamento luma de quatro categorias podem ser analisados. Os valores de deslocamento do tipo banda podem ser analisados juntamente com informações de sinais. Na operação 762, uma classe de banda luma de 5 bits pode ser analisada. Uma posição de banda de partida luma (posição de banda esquerda Luma) pode ser determinada entre uma pluralidade de bandas de valores de pixel de pixels reconstruídos da LCU atual com base na classe de banda luma.
[000232] Como descrito acima, uma vez que valores de deslocamento de quatro categorias indicando quatro bandas continuas a partir de uma posição de banda de partida são recebidas, um total de quatro valores de deslocamento é recebido. Uma vez que pode ser determinada uma banda a qual cada pixel de luma reconstruído da LCU atual pertence e desse modo sua categoria pode ser determinada, um valor de deslocamento de uma categoria atual pode ser selecionado entre os valores de deslocamento recebidos. Um valor de pixel do pixel de luma reconstruído pode ser ajustado utilizando o valor de deslocamento selecionado.
[000233] A seguir, na operação 74, um tipo de deslocamento de um componente croma é analisado. O tipo de deslocamento pode ser comumente aplicado a um componente Cr e um componente Cb. Se o tipo de deslocamento for um tipo off (OFF) , uma vez que ajuste de deslocamento de acordo com uma técnica SAO não é executada no componente croma, o processo da LCU atual termina.
[000234] Se o tipo de deslocamento do componente croma for um tipo de borda (EO) na operação 74, na operação 771, valores de deslocamento Cb de quatro categorias podem ser analisados. Os valores de deslocamento Cb do tipo borda podem ser analisados sem informações de sinal. Na operação 772, uma classe de borda croma (Classe EO croma) de 2 bits pode ser analisada. Uma direção de borda do componente croma da LCU atual pode ser determinada com base na classe de borda croma. A classe de borda croma pode ser também comumente aplicada ao componente Cr e o componente Cb. Valores de deslocamento Cr de quatro categorias podem ser analisados na operação 773.
[000235] Como ajuste de deslocamento no tipo de borda do componente luma, em cada do componente Cr e componente Cb, um valor de deslocamento de uma categoria atual pode ser selecionado entre valores de deslocamento recebidos. Um valor de pixel de um pixel reconstruído do componente Cr ou componente Cb pode ser ajustado utilizando o valor de deslocamento selecionado.
[000236] Se o tipo de deslocamento do componente croma for um tipo de banda (BO) na operação 74, na operação 781, valores de deslocamento do componente Cb de quatro categorias podem ser analisados juntamente com informações de sinais. Na operação 782, uma classe de banda Cb de 5 bits pode ser analisada. Uma posição de banda de partida Cb (posição de banda esquerda Cb) de pixels reconstruídos do componente Cb da LCU atual pode ser determinada com base na classe de banda Cb. Na operação 783, valores de deslocamento do componente Cr de quatro categorias podem ser analisados juntamente com informações de sinais. Na operação 784, uma classe de banda Cr de 5 bits pode ser analisada. Uma posição de banda de partida Cr (posição de banda esquerda Cr) de pixels reconstruídos do componente Cr da LCU atual pode ser determinada com base na classe de banda Cr.
[000237] Como ajuste de deslocamento no tipo de banda do componente luma, em cada do componente Cr e componente Cb, um valor de deslocamento de uma categoria atual pode ser selecionado entre valores de deslocamento recebidos. Um valor de pixel de um pixel reconstruído do componente Cr ou componente Cb pode ser ajustado utilizando o valor de deslocamento selecionado.
[000238] Por conseguinte, o aparelho de codificação de video 10 e o aparelho de decodificação de video 20 ou 30 utilizando uma técnica SAO pode classificar valores de pixel de cada LCU de acordo com características de imagem como um tipo de borda ou um tipo de banda, pode sinalizar um valor de deslocamento que é um valor de erro médio de valores de pixel tendo as mesmas características, e pode ajustar valores de pixel imprevisíveis de pixels reconstruídos pelo valor de deslocamento, desse modo minimizando um erro entre uma imagem original e uma imagem reconstruída.
[000239] No aparelho de codificação de video 10 e aparelho de decodificação de video 20, como descrito acima, dados de video podem ser divididos em LCUs, cada LCU pode ser codificado e decodificado com base em unidades de codificação tendo uma estrutura de árvore, e cada LCU pode determinar valores de deslocamento de acordo com classificação de pixel. A seguir, um método de codificação de video, um aparelho de codificação de video, um método de decodificação de video, e um aparelho de decodificação de video com base em unidades de codificação tendo uma estrutura de árvore e unidades de transformação serão descritos com referência às figuras IA até 20.
[000240] A figura 8 é um diagrama de blocos de um aparelho de codificação de video 100 com base em unidades de codificação de acordo com uma estrutura de árvore, de acordo com uma modalidade da presente invenção.
[000241] O aparelho de codificação de video 100 envolvendo predição de video com base em unidades de codificação de acordo com uma estrutura de árvore inclui um divisor de LCU 110, um determinador de unidade de codificação 120 e um meio de transmissão 130.
[000242] O divisor de LCU 110 pode dividir uma imagem atual com base em uma LCU que é uma unidade de codificação tendo um tamanho máximo para um quadro atual de uma imagem. Se o quadro atual for maior do que a LCU, dados de imagem do quadro atual podem ser divididos pelo menos em uma LCU. A LCU de acordo com uma modalidade da presente invenção pode ser uma unidade de dados tendo um tamanho de 32x32, 64x64, 128x128, 256x256, etc., em que um formato da unidade de dados é um quadrado tendo uma largura e comprimento em quadrados de 2. Os dados de imagem podem ser transmitidos para o determinador de unidade de codificação 120 de acordo com pelo menos uma LCU.
[000243] Uma unidade de codificação de acordo com uma modalidade da presente invenção pode ser caracterizada por um tamanho máximo e uma profundidade. A profundidade indica o número de vezes que a unidade de codificação é espacialmente dividida a partir da LCU, e à medida que a profundidade aumenta, unidades de codificação mas profundas de acordo com profundidades podem ser divididas da LCU para uma unidade de codificação menor (SCU). Uma profundidade da LCU é uma profundidade mais superior e uma profundidade da SCU é uma profundidade mais inferior. Uma vez que um tamanho de uma unidade de codificação correspondendo a cada profundidade aumenta à medida que a profundidade da LCU aprofunda, uma unidade de codificação correspondendo a uma profundidade superior pode incluir uma pluralidade de unidades de codificação correspondendo a profundidades inferiores.
[000244] Como descrito acima, os dados de imagem do quadro atual são divididos nas LCUs de acordo com um tamanho máximo da unidade de codificação e cada das LCUs pode incluir unidades de codificação mais profundas que são divididas de acordo com profundidades. Uma vez que a LCU de acordo com uma modalidade d apresente invenção é dividida de acordo com profundidade, os dados de imagem do dominio de espaço incluídos na LCU podem ser hierarquicamente classificados de acordo com profundidades.
[000245] Uma profundidade máxima e um tamanho máximo de uma unidade de codificação, que limitam o número total de vezes de uma altura e uma largura da LCU são hierarquicamente divididos, podem ser predeterminados.
[000246] O determinador de unidade de codificação 120 codifica pelo menos uma região dividida obtida por dividir uma região da LCU de acordo com profundidades, e determina uma profundidade para transmitir um dado de imagem finalmente codificada para pelo menos uma região dividida. Em outras palavras, o determinador de unidade de codificação 120 determina uma profundidade codificada por codificar os dados de imagem nas unidades de codificação mais profundas de acordo com profundidades, de acordo com a LCU da imagem atual, e selecionar uma profundidade tendo o erro de codificação minimo. A profundidade codificada determinada e os dados de imagem codificados de acordo com a profundidade codificada determinada são transmitidos para o meio de transmissão 130.
[000247] Os dados de imagem na LCU são codificados com base nas unidades de codificação mais profundas correspondendo a pelo menos uma profundidade igual a ou abaixo da profundidade máxima, e resultados de codificação dos dados de imagem são comparados com base em cada das unidades de codificação mais profunda. Uma profundidade tendo o erro de codificação minimo pode ser selecionada após comparar erros de codificação das unidades de codificação mais profunda. Pelo menos uma profundidade codificada pode ser selecionada para cada LCU.
[000248] O tamanho da LCU é dividido à medida que uma unidade de codificação é hierarquicamente dividida de acordo com profundidades, e à medida que o número de unidades de codificação aumenta. Além disso, mesmo se unidades de codificação corresponderem à mesma profundidade em uma LCU, é determinado se deve dividir cada das unidades de codificação correspondendo à mesma profundidade a uma profundidade mais baixa por medir um erro de codificação dos dados de imagem de cada unidade de codificação, separadamente. Por conseguinte, mesmo quando dados de imagem são incluídos em uma LCU, os erros de codificação podem diferir de acordo com regiões em uma LCU, e desse modo as profundidades codificadas podem diferir de acordo com regiões nos dados de imagem. Desse modo, uma ou mais profundidades codificadas podem ser determinadas em uma LCU, e os dados de imagem da LCU podem ser divididos de acordo com unidades de codificação de pelo menos uma profundidade codificada.
[000249] Por conseguinte, o determinador de unidade de codificação 120 pode determinar unidades de codificação tendo uma estrutura de árvore incluida na LCU. As 'unidades de codificação tendo uma estrutura de árvore' de acordo com uma modalidade da presente invenção incluem unidades de codificação correspondendo a uma profundidade determinada como sendo a profundidade codificada, entre todas as unidades de codificação mais profundas incluídas na LCU. Uma unidade de codificação de uma profundidade codificada pode ser hierarquicamente determinada de acordo com profundidades na mesma região da LCU, e pode ser independentemente determinada em regiões diferentes. Similarmente, uma profundidade codificada em uma região atual pode ser independentemente determinada a partir de uma profundidade codificada em outra região.
[000250] Uma profundidade máxima de acordo com uma modalidade da presente invenção é um indice relacionado ao número de vezes de divisão de uma LCU para uma SCU. Uma primeira profundidade máxima de acordo com uma modalidade da presente invenção pode indicar o número total de vezes de divisão da LCU para a SCU. Uma segunda profundidade máxima de acordo com uma modalidade da presente invenção pode indicar o número total de niveis de profundidade a partir da LCU para a SCU. Por exemplo, quando uma profundidade da LCU é 0, uma profundidade de uma unidade de codificação, na qual a LCU é dividida uma vez, pode ser definida em 1, e uma profundidade de uma unidade de codificação na qual a LCU é dividida duas vezes, pode ser definida em 2. Aqui, se a SCU for uma unidade de codificação na qual a LCU é dividida quatro vezes, 5 niveis de profundidade de profundidades 0, 1, 2, 3 e 4 existem, e desse modo a primeira profundidade máxima pode ser definida em 4, e a segunda profundidade máxima pode ser definida em 5.
[000251] A codificação de predição e transformação podem ser realizadas de acordo com a LCU. A codificação de predição e a transformação são também realizadas com base nas unidades de codificação mais profundas de acordo com uma profundidade igual a ou profundidades menores do que a profundidade máxima, de acordo com a LCU.
[000252] Uma vez que o número de unidades de codificação mais profundas aumenta sempre que a LCU é dividida de acordo com profundidades, codificação, incluindo a codificação de predição e a transformação, é realizada em todas as unidades de codificação mais profundas geradas à medida que a profundidade aumenta. Para conveniência de descrição, a codificação de predição e a transformação serão agora descritas com base em uma unidade de codificação de uma profundidade atual, em uma LCU.
[000253] O aparelho de codificação de video 100 pode selecionar de forma variada um tamanho ou formato de uma unidade de dados para codificar os dados de imagem. Para codificar os dados de imagem, operações, como codificação de predição, transformação e codificação de entropia são realizadas, e nesse momento, a mesma unidade de dados pode ser utilizada para todas as operações ou unidades de dados diferentes podem ser utilizadas para cada operação.
[000254] Por exemplo, o aparelho de codificação de video 100 pode selecionar não somente uma unidade de codificação para codificar os dados de imagem, como também uma unidade de dados diferente da unidade de codificação de modo a executar a codificação de predição nos dados de imagem na unidade de codificação.
[000255] Para executar codificação de predição na LCU, a codificação de predição pode ser realizada com base em uma unidade de codificação correspondendo a uma profundidade codificada, por exemplo, baseada em uma unidade de codificação que não mais é dividida em unidades de codificação correspondendo a uma profundidade inferior. A seguir, a unidade de codificação que não mais é dividida e se torna uma unidade base para codificação de predição será agora mencionada como uma 'unidade de predição'. Uma partição obtida por dividir a unidade de predição pode incluir uma unidade de predição ou uma unidade de dados obtida por dividir pelo menos uma de uma altura e uma largura da unidade de predição. Uma partição é uma unidade de dados onde uma unidade de predição de uma unidade de codificação é dividida, e uma unidade de predição pode ser uma partição tendo o mesmo tamanho que uma unidade de codificação.
[000256] Por exemplo, quando uma unidade de codificação de 2Nx2N (onde N é um número inteiro positivo) não mais é dividida e se torna uma unidade de predição de 2Nx2N, e um tamanho de uma partição pode ser 2Nx2N, 2NxN, Nx2N ou NxN. Os exemplos de um tipo de partição incluem partições simétricas que são obtidas por dividir simetricamente uma altura ou largura da unidade de predição, partições obtidas por dividir simetricamente a altura ou largura da unidade de predição, como l:n ou n:l, partições que são obtidas por dividir geometricamente a unidade de predição e partições tendo formatos arbitrários.
[000257] Um modo de predição da unidade de predição pode ser pelo menos um de um modo intra, um modo inter e um modo de pular. Por exemplo, o modo intra ou o modo inter pode ser executado na partição de 2Nx2N, 2NxN, Nx2N ou NxN. Além disso, o modo de pular pode ser realizado somente na partição de 2Nx2N. a codificação é independentemente realizada em uma unidade de predição em uma unidade de codificação, desse modo selecionando um modo de predição tendo um erro de codificação minimo.
[000258] O aparelho de codificação de video 100 também pode executar a transformação nos dados de imagem em uma unidade de codificação baseada não somente na unidade de codificação para codificar os dados de imagem, como também baseado em uma unidade de dados que é diferente da unidade de codificação. Para executar a transformação na unidade de codificação, a transformação pode ser realizada baseada em uma unidade de dados tendo um tamanho menor ou igual à unidade de codificação. Por exemplo, a unidade de dados para a transformação pode incluir uma unidade de dados para um modo intra e uma unidade de dados para um modo inter.
[000259] A unidade de transformação na unidade de codificação pode ser recursivamente dividida em regiões de tamanho menor no modo similar à unidade de codificação de acordo com a estrutura de árvore. Desse modo, residues na unidade de codificação podem ser divididos de acordo com a unidade de transformação tendo a estrutura de árvore de acordo com profundidades de transformação.
[000260] Uma profundidade de transformação indicando o número de vezes de divisão para atingir a unidade de transformação por dividir a altura e largura da unidade de codificação também pode ser definida na unidade de transformação. Por exemplo, em uma unidade de codificação atual de 2Nx2N, uma profundidade de transformação pode ser 0 quando o tamanho de uma unidade de transformação é 2Nx2N, pode ser 1 quando o tamanho da unidade de transformação é NxN, e pode ser 2 quando o tamanho da unidade de transformação é N/2xN/2. Em outras palavras, a unidade de transformação tendo a estrutura de árvore pode ser definida de acordo com as profundidades de transformação.
[000261] Informações de codificação de acordo com unidades de codificação correspondendo a uma profundidade codificada exigem não somente informações sobre a profundidade codificada, como também sobre informações relacionadas à codificação de predição e transformação. Por conseguinte, o determinador de unidade de codificação 120 não somente determina uma profundidade codificada tendo um erro de codificação minimo, como também determina um tipo de partição em uma unidade de predição, um modo de predição de acordo com unidades de predição, e um tamanho de uma unidade de transformação para transformação.
[000262] Unidades de codificação de acordo com uma estrutura de árvore em uma LCU e métodos de determinar uma partição/unidade de predição, e uma unidade de transformação, de acordo com modalidades da presente invenção, serão descritas em detalhe abaixo com referência às figuras 7 até 19.
[000263] O determinador de unidade de codificação 120 pode medir um erro de codificação de unidades de codificação mais profunda de acordo com profundidades utilizando Otimização de distorção de taxa baseada em multiplicadores Lagrangian.
[000264] O meio de transmissão 130 transmite os dados de imagem da LCU, que são codificados com base pelo menos em uma profundidade codificada determinada pelo determinador de unidade de codificação 120, e informações sobre o modo de codificação de acordo com a profundidade codificada, em fluxos de bits.
[000265] Os dados de imagem codificada podem ser obtidos por codificar resíduos de uma imagem.
[000266] As informações sobre o modo de codificação de acordo com profundidade codificada podem incluir informações sobre a profundidade codificada, sobre o tipo de partição na unidade de predição, o modo de predição e o tamanho da unidade de transformação.
[000267] As informações sobre a profundidade codificada podem ser definidas utilizando informações divididas de acordo com profundardes, que indica se a codificação é executada em unidades de codificação de uma profundidade inferior ao invés de uma profundidade atual. Se a profundidade atual da unidade de codificação atual for a profundidade codificada, dados de imagem na unidade de codificação atual são codificados e transmitidos, e desse modo as informações divididas podem ser definidas não para dividir a unidade de codificação atual para uma profundidade inferior. Alternativamente, se a profundidade atual da unidade de codificação atual não for a profundidade codificada, a codificação é executada na unidade de codificação da profundidade inferior, e desse modo as informações divididas podem ser definidas para dividir a unidade de codificação atual para obter as unidades de codificação da profundidade inferior.
[000268] Se a profundidade atual não for a profundidade codificada, a codificação é realizada na unidade de codificação que é dividida na unidade de codificação da profundidade inferior. Uma vez que pelo menos uma unidade de codificação da profundidade inferior existe em uma unidade de codificação da profundidade atual, a codificação é repetidamente executada em cada unidade de codificação da profundidade mais baixa, e desse modo a codificação pode ser recursivamente realizada para as unidades de codificação tendo a mesma profundidade.
[000269] Uma vez que as unidades de codificação tendo uma estrutura de árvore são determinadas para uma LCU, e informações sobre pelo menos um modo de codificação são determinadas para uma unidade de codificação de uma profundidade codificada, informações sobre pelo menos um modo de codificação podem ser determinadas para uma LCU. Também, uma profundidade codificada dos dados de imagem da LCU pode ser diferente de acordo com locais uma vez que os dados de imagem são hierarquicamente divididos de acordo com profundidades, e desse modo informações sobre a profundidade codificada e o modo de codificação podem ser definidas para os dados de imagem.
[000270] Por conseguinte, o meio de transmissão 130 pode atribuir informações de codificação sobre uma profundidade codificada correspondente e um modo de codificação para pelo menos uma da unidade de codificação, unidade de predição e uma unidade minima incluida na LCU.
[000271] A unidade minima de acordo com uma modalidade da presente invenção é uma unidade de dados quadrados obtidos por dividir a SCU constituindo a profundidade mais inferior por 4. Alternativamente, a unidade minima de acordo com uma modalidade pode ser uma unidade de dados quadrados máximos que pode ser incluida em todas as unidades de codificação, unidades de predição, unidades de partição, e unidades de transformação incluídas na LCU.
[000272] Por exemplo, as informações de codificação transmitidas pelo meio de transmissão 130 podem ser classificadas em informações de codificação de acordo com unidades de codificação mais profundas, e informações de codificação de acordo com unidades de predição. As informações de codificação de acordo com as unidades de codificação mais profundas podem incluir as informações sobre o modo de predição e sobre o tamanho das partições. As informações de codificação de acordo com as unidades de predição podem incluir informações sobre uma direção estimada de um modo inter, sobre um indice de imagem de referência do motor inter, sobre um vetor de movimento, sobre um componente croma de um modo intra, e sobre um método de interpolação do modo intra.
[000273] Informações sobre um tamanho máximo da unidade de codificação definida de acordo com quadros, fatias ou GOPs, e informações sobre uma profundidade máxima podem ser inseridas em um cabeçalho de um fluxo de bits, um conjunto de parâmetros de sequencia ou um conjunto de parâmetros de quadro.
[000274] Informações sobre um tamanho máximo da unidade de transformação permitida com relação a um video atual, e informações sobre um tamanho minimo da unidade de transformação também podem ser transmitidas através de um cabeçalho de um fluxo de bits, um conjunto de parâmetros de sequencia ou um conjunto de parâmetros de quadro. O meio de transmissão 130 pode codificar e transmitir parâmetros de deslocamento relacionados à técnica de ajuste de deslocamento descrita acima com referência às figuras IA até 7.
[000275] No aparelho de codificação de video 100, a unidade de codificação mais profunda pode ser uma unidade de codificação obtida por dividir uma altura ou largura de uma unidade de codificação de uma profundidade superior, que é uma camada acima, por dois. Em outras palavras, quando o tamanho da unidade de codificação da profundidade atual é 2Nx2N, o tamanho da unidade de codificação da profundidade inferior é NxN. Além disso, a unidade de codificação com a profundidade atual tendo um tamanho de 2Nx2N pode incluir um máximo de 4 das unidades de codificação com a profundidade inferior.
[000276] Por conseguinte, o aparelho de codificação de video 100 pode formar as unidades de codificação tendo a estrutura de árvore por determinar unidades de codificação tendo um formato ótimo e um tamanho ótimo para cada LCU, com base no tamanho da LCU e a profundidade máxima determinada considerando características do quadro atual. Além disso, uma vez que a codificação pode ser executada em cada LCU utilizando qualquer um dos vários modos de predição e transformações, um modo de codificação ótimo pode ser determinado considerando características da unidade de codificação de vários tamanhos de imagem.
[000277] Desse modo, se uma imagem tendo uma resolução elevada ou uma grande quantidade de dados for codificada em um macrobloco convencional, o número de macroblocos por quadro aumenta excessivamente. Por conseguinte, o número de trechos de informações comprimidas geradas para cada macrobloco aumenta, e desse modo é dificil transmitir as informações comprimidas e a eficiência de compressão de dados diminui. Entretanto, utilizando o aparelho de codificação de video 100, eficiência de compressão de imagem pode ser aumentada uma vez que uma unidade de codificação é ajustada enquanto considera características de uma imagem enquanto aumenta um tamanho máximo de uma unidade de codificação enquanto considera um tamanho da imagem.
[000278] O aparelho de codificação de video 100 da figura 8 pode executar a operação do aparelho de codificação de video 10 descrito acima com referência à figura IA.
[000279] O determinador de unidade de codificação 120 pode executar operação do determinador de parâmetro de deslocamento 14 do aparelho de codificação de video 10. Um tipo de deslocamento, valores de deslocamento de acordo com categorias, e uma classe de deslocamento podem ser determinados com relação a cada LCU.
[000280] O meio de transmissão 130 pode executar operação do codificador de parâmetro de deslocamento 16. Parâmetros de deslocamento determinados com relação a cada LCU podem ser transmitidos. Informações de fusão de deslocamento indicando se deve adotar parâmetros de deslocamento de uma LCU adjacente de uma LCU atual como os parâmetros de deslocamento da LCU atual podem ser inicialmente transmitidas. Como um tipo de deslocamento, um tipo off, um tipo de borda, ou um tipo de banda pode ser transmitido. Um valor de deslocamento pode ser transmitido em uma ordem de informação de valor zero, informação de sinal, e um resto. Com relação ao tipo de borda, a informação de sinal do valor de deslocamento pode não ser transmitida.
[000281] Se a informação de fusão de deslocamento da LCU atual permitir adoção dos parâmetros de deslocamento da LCU adjacente, o tipo de deslocamento e os valores de deslocamento da LCU atual podem não ser transmitidos.
[000282] A figura 9 é um diagrama de blocos de um aparelho de decodificação de video 200 baseado em unidades de codificação tendo uma estrutura de árvore, de acordo com uma modalidade da presente invenção.
[000283] O aparelho de decodificação de video 200 que envolve predição de video com base em unidades de codificação tendo uma estrutura de árvore inclui um receptor 210, um extrator de informações de codificação e dados de imagem 220 e um decodificador de dados de imagem 230.
[000284] Definições de vários termos, como uma unidade de codificação, uma profundidade, uma unidade de predição, uma unidade de transformação e informações sobre vários modos de codificação, para decodificar operações do aparelho de decodificação de video 200 são idênticas àquelas descritas com referência à figura 7 e o aparelho de codificação de video 100 .
[000285] O receptor 210 recebe e analisa um fluxo de bits de um video codificado. O extrator de informações de codificação e dados de imagem 220 extrai dados de imagem codificada para cada unidade de codificação a partir do fluxo de bits analisado, em que as unidades de codificação têm uma estrutura de árvore de acordo com cada LCU, e transmite os dados de imagem extraídos para o decodificador de dados de imagem 230. O extrator de informações de codificação e dados de imagem 220 pode extrair informações sobre um tamanho máximo de uma unidade de codificação de um quadro atual, a partir de um cabeçalho sobre o quadro atual, um conjunto de parâmetros de sequencia ou um conjunto de parâmetros de quadro.
[000286] Também, o extrator de informações de codificação e dados de imagem 220 extrai informações sobre uma profundidade codificada e um modo de codificação para as unidades de codificação tendo uma estrutura de árvore de acordo com cada LCU, a partir do fluxo de bits analisado. As informações extraídas sobre a profundidade codificada e o modo de codificação são transmitidas para o decodificador de dados de imagem 230. Em outras palavras, os dados de imagem em um fluxo de bits são divididos na LCU de modo que o decodificador de dados de imagem 230 decodifique os dados de imagem para cada LCU.
[000287] As informações sobre a profundidade codificada e o modo de codificação de acordo com a LCU podem ser definidas para informações sobre pelo menos uma unidade de codificação correspondendo à profundidade codificada, e informações sobre um modo de codificação podem incluir informações sobre um tipo de partição de uma unidade de codificação correspondente correspondendo à profundidade codificada, sobre um modo de predição e um tamanho de uma unidade de transformação. Além disso, informações de divisão de acordo com profundardes podem ser extraídas como as informações sobre a profundidade codificada.
[000288] As informações sobre a profundidade codificada e o modo de codificação de acordo com cada LCU extraida pelo extrator de informações de codificação e dados de imagem 220 são informações sobre uma profundidade codificada e um modo de codificação determinado para gerar um erro de codificação minimo quando um codificador, como o aparelho de codificação de video 100, repetidamente executa codificação para cada unidade de codificação mais profunda de acordo com profundidades de acordo com cada LCU. Por conseguinte, o aparelho de decodificação de video 200 pode reconstruir uma imagem por decodificar os dados de imagem de acordo com uma profundidade codificada e um modo de codificação que gera o erro de codificação minima.
[000289] Uma vez que as informações de codificação sobre a profundidade codificada e o modo de codificação podem ser atribuídas a uma unidade de dados predeterminada entre um unidade de codificação correspondente, uma unidade de predição e uma unidade minima, o extrator de informações de codificação e dados de imagem 220 pode extrair as informações sobre a profundidade codificada e o modo de codificação de acordo com as unidades de dados predeterminados. Se informações sobre uma profundidade codificada e modo de codificação de uma LCU correspondente forem gravadas de acordo com unidades de dados predeterminadas, as unidades de dados predeterminadas às quais a mesma informação sobre a profundidade codificada e o modo de codificação é atribuída podem ser inferidas como sendo as unidades de dados incluídas na mesma LCU.
[000290] O decodificador de dados de imagem 230 reconstrói o quadro atual por decodificar os dados de imagem em cada LCU com base nas informações sobre a profundidade codificada e o modo de codificação de acordo com as LCUs. Em outras palavras, o decodificador de dados de imagem 230 pode decodificar os dados de imagem codificados com base nas informações extraídas sobre o tipo de divisão, o modo de predição e a unidade de transformação para cada unidade de codificação entre as unidades de codificação tendo a estrutura de árvore incluída em cada LCU. Um processo de decodif icação pode incluir uma predição incluindo intra predição e compensação de movimento e uma transformação inversa.
[000291] O decodificador de dados de imagem 230 pode executar intra predição ou compensação de movimento de acordo com uma partição e um modo de predição de cada unidade de codificação, com base nas informações sobre o tipo de partição e o modo de predição da unidade de predição da unidade de codificação de acordo com profundardes codificadas.
[000292] Além disso, o decodificador de dados de imagem 230 pode ler informações sobre uma unidade de transformação de acordo com uma estrutura de árvore para cada unidade de codificação de modo a executar transformação inversa com ase em unidades de transformação para cada unidade de codificação, para transformação inversa para cada LCU. Através da transformação inversa, um valor de pixel do dominio de espaço da unidade de codificação pode ser reconstruído.
[000293] O decodificador de dados de imagem 230 pode determinar uma profundidade codificada de uma LCU atual por utilizar informações divididas de acordo com profundidades. Se as informações divididas indicarem que dados de imagem não mais são divididos na profundidade atual, a profundidade atual é uma profundidade codificada. Por conseguinte, o decodificador de dados de imagem 230 pode decodificar dados codificados na LCU atual utilizando as informações sobre o tipo de partição da unidade de predição, o modo de predição e o tamanho da unidade de transformação para cada unidade de codificação correspondendo à profundidade codificada.
[000294] Em outras palavras, unidades de dados contendo as informações de codificação incluindo as mesmas informações divididas podem ser coletadas por observar o conjunto de informações de codificação atribuído para a unidade de dados predeterminados entre a unidade de codificação, a unidade de predição e a unidade minima, e as unidades de dados coletadas podem ser consideradas como uma unidade de dados a ser decodificada pelo decodificador de dados de imagem 230 no mesmo modo de codificação. Como tal, a unidade de codificação atual pode ser decodificada por obter as informações sobre o modo de codificação para cada unidade de codificação.
[000295] Também, o aparelho de decodificação de video 200 da figura 9 pode executar operação do aparelho de decodificação de video 20 descrito acima com referência à figura 2A.
[000296] O extrator de informações de codificação e dados de imagem 220 e receptor 210 pode executar operação do extrator de parâmetro de deslocamento 22 do aparelho de decodificação de video 20. 0 decodif icador de dados de imagem 230 pode executar operações do determinador de deslocamento 24 e ajustador de deslocamento 26 do aparelho de decodificação de video 20.
[000297] Se somente informações de fusão de deslocamento forem analisadas a partir de um fluxo de bits sem parâmetros de deslocamento de uma LCU atual, o extrator de informações de codificação e dados de imagem 220 pode reconstruir os parâmetros de deslocamento da LCU atual para serem iguais àqueles de pelo menos uma das LCUs adjacentes. Com base nas informações de fusão de deslocamento, uma LCU adjacente tendo parâmetros de deslocamento a serem referidos pode ser determinada. Se for determinado que os parâmetros de deslocamento da LCU atual são diferentes daqueles das LCUs adjacentes com base na informação de fusão de deslocamento da LCU atual, que é analisada a partir do fluxo de bits, o extrator de informação de codificação e dados de imagem 220 pode analisar e reconstruir os parâmetros de deslocamento da LCU atual a partir do fluxo de bits.
[000298] O extrator de informações de codificação e dados de imagem 220 pode analisar parâmetros de deslocamento de cada LCU a partir do fluxo de bits. Com base nos parâmetros de deslocamento, um tipo de deslocamento, valores de deslocamento de acordo com categorias e uma classe de deslocamento podem ser determinados. Se o tipo de deslocamento da LCU atual for um tipo off, ajuste de deslocamento da LCU atual pode ser terminado. Se o tipo de deslocamento for um tipo de borda, com base em uma categoria indicando uma classe de borda que indica uma direção de borda de cada de pixels reconstruídos, e um formato de borda, um valor de deslocamento atual pode ser selecionado entre valores de deslocamento recebidos. Se o tipo de deslocamento for um tipo de banda, uma banda a qual cada dos pixels reconstruídos pertence é determinado e um valor de deslocamento correspondendo a uma banda atual pode ser selecionado entre os valores de deslocamento.
[000299] O decodificador de dados de imagem 230 pode gerar um pixel reconstruído capaz de minimizar um erro entre um pixel original e o pixel reconstruído, por ajustar um valor de pixel do pixel reconstruído por um valor de deslocamento correspondente. Deslocamentos de pixels reconstruídos de cada LCU podem ser ajustados com base nos parâmetros de deslocamento analisados.
[000300] Desse modo, o aparelho de decodificação de video 200 pode obter informações sobre pelo menos uma unidade de codificação que gera o erro de codificação minimo quando a codificação é recursivamente realizada para cada LCU, e pode utilizar as informações para decodificar o quadro atual. Em outras palavras, as unidades de codificação tendo a estrutura de árvore determinada como sendo as unidades de codificação ótimas em cada LCU podem ser decodificadas.
[000301] Por conseguinte, mesmo se dados de imagem tiverem resolução elevada e uma grande quantidade de dados, os dados de imagem podem ser eficientemente decodificados e reconstruídos utilizando um tamanho de uma unidade de codificação e um modo de codificação, que são adaptavelmente determinados de acordo com características dos dados de imagem, utilizando informações sobre um modo de codificação ótimo recebido a partir de um codificador.
[000302] A figura 10 é um diagrama para descrever um conceito de unidades de codificação de acordo com uma modalidade da presente invenção.
[000303] Um tamanho de uma unidade de codificação pode ser expresso por largura x altura, e pode ser 64x64, 32x32, 16x16 e 8x8. Uma unidade de codificação de 64x64 pode ser dividida em partições de 64x64, 64x32, 32x64, ou 32x32, e uma unidade de codificação de 32x32 pode ser dividida em partições de 32x32, 32x16, 16x32, ou 16x16, uma unidade de codificação de 16x16 pode ser dividida em partições de 16x16, 16x8, 8x16, ou 8x8, e uma unidade de codificação de 8x8 pode ser dividida em partições de 8x8, 8x4, 4x8, ou 4x4.
[000304] Em dados de video 310, uma resolução é 1920x1080, um tamanho máximo de uma unidade de codificação é 64, e uma profundidade máxima é 2. Em dados de video 320, uma resolução é 1920x1080, um tamanho máximo de uma unidade de codificação é 64, e uma profundidade máxima é 3. Em dados de video 330, uma resolução é 352x288, um tamanho máximo de uma unidade de codificação é 16, e uma profundidade máxima é 1. A profundidade máxima mostrada na FIG. 10 indica um número total de divisões de uma LCU para uma unidade de decodif icação minima.
[000305] Se uma resolução for elevada ou uma quantidade de dados for grande, um tamanho máximo de uma unidade de codificação pode ser grande de modo a não somente aumentar a eficiência de codificação com também refletir precisamente características de uma imagem. Por conseguinte, o tamanho máximo da unidade de codificação dos dados de video 310 e 320 tendo uma resolução mais elevada do que os dados de video 330 pode ser 64.
[000306] Uma vez que a profundidade máxima dos dados de video 310 é 2, unidades de codificação 315 dos dados de video 310 podem incluir uma LCU tendo um tamanho de eixo geométrico longo de 64, e unidades de codificação tendo tamanhos de eixo geométrico longo de 32 e 16 uma vez que profundidades são aumentadas para duas camadas por dividir a LCU duas vezes. Uma vez que a profundidade máxima dos dados de video 330 é 1, unidades de codificação 335 dos dados de video 330 podem incluir uma LCU tendo um tamanho de eixo geométrico longo de 16, e unidades de codificação tendo um tamanho de eixo geométrico longo de 8 uma vez que profundardes são aumentadas em uma camada por dividir a LCU uma vez.
[000307] Uma vez que a profundidade máxima dos dados de video 320 é 3, unidades de codificação 325 dos dados de video 320 podem incluir uma LCU tendo um tamanho de eixo geométrico longo de 64, e unidades de codificação tendo tamanhos de eixo geométrico longo de 32, 16 e 8 uma vez que as profundardes são aumentadas para 3 camadas por dividir a LCU três vezes. À medida que uma profundidade aumenta, informações detalhadas podem ser precisamente expressas.
[000308] A figura 11 é um diagrama de blocos de um codificador de imagem 400 com base em unidades de codificação, de acordo com uma modalidade da presente invenção.
[000309] O codificador de imagem 400 executa operações do determinador de unidade de codificação 120 do aparelho de codificação de video 100 para codificar dados de imagem. Em outras palavras, um intra preditor 410 executa intra predição em unidades de codificação em um modo intra, entre um quadro atual 405, e um estimador de movimento 420 e um compensador de movimento 425 respectivamente executam inter estimação e compensação de movimento em unidades de codificação e um inter modo entre o quadro atual 405 por utilizar o quadro atual 405, e um quadro de referência 495.
[000310] Os dados transmitidos a partir do intra preditor 410, o estimador de movimento 420 e o compensador de movimento 425 são transmitidos como um coeficiente de transformação quantizada através de um transformador 430 e um quantizador 440. O coeficiente de transformação quantizada é reconstruído como dados no dominio de espaço através de um quantizador inverso 460 e um transformador inverso 470, e os dados reconstruídos no dominio de espaço são transmitidos como o quadro de referência 495 após serem pós-processados através de um filtro de desbloqueio 480 e um filtro SAO 490. O coeficiente de transformação quantizado pode ser transmitido como um fluxo de bits 455 através de um codificador de entropia 450.
[000311] Para que o codificador de imagem 400 seja aplicado no aparelho de codificação de video 100, todos os elementos do codificador de imagem 400, isto é, o intra preditor 410, o estimador de movimento 420, o compensador de movimento 425, o transformador 430, o quantizador 440, o codificador de entropia 450, o quantizador inverso 460, o transformador inverso 470, o filtro de desbloqueio 480, e o filtro SAO 490 executam operações baseadas em cada unidade de codificação entre unidades de codificação tendo uma estrutura de árvore enquanto considera a profundidade máxima de cada LCU.
[000312] Especificamente, o intra preditor 410, o estimador de movimento 420, e o compensador de movimento 425 determinam partições e um modo de predição de cada unidade de codificação entre as unidades de codificação tendo uma estrutura de árvore enquanto considera o tamanho máximo e a profundidade máxima de uma LCU atual, e o transformador 430 determina o tamanho da unidade de transformação em cada unidade de codificação entre as unidades de codificação tendo uma estrutura de árvore.
[000313] Especificamente, quando o estimador de movimento 420 executa a inter predição utilizando o quadro de referência de longa duração, as informações POC do quadro de referência de longa duração podem ser transmitidas como o indice de referência de longa duração. O codificador de entropia 450 pode codificar e transmitir as informações LSB das informações POC do quadro de referência de longa duração, como o indice de referência de longa duração. As informações LSB das informações POC dos quadros de referência de longa duração para as unidades de predição da fatia atual podem ser incluídas no cabeçalho de fatia e então transmitidas.
[000314] O codificador de imagem 400 pode classificar pixels de acordo com um tipo de borda (ou um tipo de banda) de cada LCU do quadro de referência 495, pode determinar uma direção de borda (ou uma posição de banda de partida) e pode determinar um valor de erro médio de pixels reconstruídos incluídos em cada categoria. Com relação a cada LCU, informações de fusão de deslocamento, um tipo de deslocamento e valores de deslocamento podem ser codificados e sinalizados.
[000315] A figura 12 é um diagrama de blocos de um decodif icador de imagem 500 com base em unidades de codificação, de acordo com uma modalidade da presente invenção.
[000316] Um analisador 510 analisa dados de imagem codificados a serem decodificados e informações sobre codificação exigida para decodificação de um fluxo de bits 505. Os dados de imagem codificados são transmitidos como dados quantizados inversos através de um decodificador de entropia 520 e um quantizador inverso 530, e os dados quantizados inversos são reconstruídos em dados de imagem no dominio de espaço através de um transformador inverso 540.
[000317] Um intra preditor 550 executa intra predição em unidades de codificação em um intra modo com relação aos dados de imagem no dominio de espaço, e um compensador de movimento 560 executa compensação de movimento em unidades de codificação em um modo inter utilizando um quadro de referência 585.
[000318] Os dados de imagem no dominio de espaço, que passaram através do intra preditor 550 e compensador de movimento 560, podem ser transmitidos como um quadro reconstruído 595 após serem pós-processados através de um filtro de desbloqueio 570 e um filtro SAO 580. Também, os dados de imagem que são pós- processados através do filtro de desbloqueio 570 e filtro SAO 580 podem ser transmitidos como o quadro de referência 585.
[000319] Para decodificar os dados de imagem no decodificador de dados de imagem 230 do aparelho de decodificação de video 200, o decodificador de imagem 500 pode executar operações que são realizadas após o analisador 510.
[000320] Para que o decodificador de imagem 500 seja aplicado no aparelho de decodificação de video 200, todos os elementos do decodif icador de imagem 500, isto é, o analisador 510, o decodificador de entropia 520, o quantizador inverso 530, o transformador inverso 540, o intra preditor 550, o compensador de movimento 560, o filtro de desbloqueio 570, e o filtro SAO 580 executam operações com base em unidades de codificação tendo uma estrutura de árvore para cada LCU.
[000321] Especificamente, a intra predição 550 e o compensador de movimento 560 executam operações baseadas em partições e um modo de predição para cada das unidades de codificação tendo uma estrutura de árvore, e o transformador inverso 540 executa operações com base em um tamanho de uma unidade de transformação para cada unidade de codificação.
[000322] O decodificador de imagem 500 pode extrair parâmetros de deslocamento de LCUs a partir de um fluxo de bits. Com base em informações de fusão de deslocamento entre os parâmetros de deslocamento de uma LCU atual, parâmetros de deslocamento da LCU atual, que são iguais aqueles de uma LCU adjacente, podem ser reconstruídos. Utilizando um tipo de deslocamento e valores de deslocamento entre os parâmetros de deslocamento da LCU atual, cada dos pixels reconstruídos de LCUs do quadro reconstruído 595 pode ser ajustado por um valor de deslocamento correspondendo a uma categoria de acordo com o tipo de borda ou tipo de banda.
[000323] A figura 13 é um diagrama que ilustra unidades de codificação mais profundas de acordo com profundardes, e partições, de acordo com uma modalidade da presente invenção.
[000324] O aparelho de codificação de video 100 e o aparelho de decodificação de video 200 utilizam unidades de codificação hierárquica de modo a considerar características de uma imagem. Uma altura máxima, uma largura máxima e uma profundidade máxima de unidades de codificação podem ser adaptavelmente determinadas de acordo com as características da imagem ou podem ser diferentemente definidas por um usuário. Os tamanhos de unidades de codificação mais profunda de acordo com profundidades podem ser determinados de acordo com o tamanho máximo predeterminado da unidade de codificação.
[000325] Em uma estrutura hierárquica 600 de unidades de codificação, de acordo com uma modalidade da presente invenção, a altura máxima e a largura máxima das unidades de codificação são individualmente 64, e a profundidade máxima é 4. Nesse caso, a profundidade máxima refere-se a um número total de vezes que a unidade de codificação é dividida a partir de LCU para SCU. Uma vez que uma profundidade aumenta ao longo de um eixo geométrico vertical da estrutura hierárquica 600, uma altura e uma largura da unidade de codificação mais profunda são individualmente divididas. Também, uma unidade de predição e partições, que são bases para codificação de predição de cada unidade de codificação mais profunda, são mostradas ao longo de um eixo geométrico horizontal da estrutura hierárquica 600.
[000326] Em outras palavras, a unidade de codificação 610 é uma LCU na estrutura hierárquica 600, em que uma profundidade é 0 e um tamanho, isto é, uma altura por largura, é 64x64. A profundidade aumenta ao longo do eixo geométrico vertical e uma unidade de codificação 620 tendo um tamanho de 32x32 e uma profundidade de 1, a unidade de codificação 630 tendo um tamanho de 16x16 e uma profundidade de 2, e a unidade de codificação 640 tendo um tamanho de 8x8 e uma profundidade de 3. a unidade de codificação 640 tendo um tamanho de 4x4 e uma profundidade de 3 é uma SCU.
[000327] A unidade de predição e as partições de uma unidade de codificação são dispostas ao longo do eixo geométrico horizontal de acordo com cada profundidade. Em outras palavras, se a unidade de codificação 610 tendo um tamanho de 64x64 e uma profundidade de 0 for a unidade de predição, a unidade de predição pode ser dividida em partições incluída na unidade de codificação 610, isto é, uma partição 610 tendo um tamanho de 64x64, partições 612 tendo o tamanho de 64x32, partições 614 tendo o tamanho de 32x64, ou partições 616 tendo o tamanho de 32x32.
[000328] Similarmente, a unidade de predição da unidade de codificação 620 tendo o tamanho de 32x32 e a profundidade de 1 pode ser dividida em partições incluídas na unidade de codificação 620, isto é, uma partição 620 tendo um tamanho de 32x32, partições 622 tendo um tamanho de 32x16, partições 624 tendo um tamanho de 16x32, e partições 626 tendo um tamanho de 16x16.
[000329] Similarmente, a unidade de predição da unidade de codificação 630 tendo o tamanho de 16x16 e a profundidade de 2 pode ser dividida em partições incluídas na unidade de codificação 630, isto é, uma partição tendo um tamanho de 16x16 incluída na unidade de codificação 630, partições 632 tendo um tamanho de 16x8, partições 634 tendo um tamanho de 8x16, e partições 636 tendo um tamanho de 8x8.
[000330] Similarmente, a unidade de predição da unidade de codificação 640 tendo o tamanho de 8x8 e a profundidade de 3 pode ser dividida em partições incluídas na unidade de codificação 640, isto é, uma partição tendo um tamanho de 8x8 incluída na unidade de codificação 640, partições 642 tendo um tamanho de 8x4, partições 644 tendo um tamanho de 4x8, e partições 646 tendo um tamanho de 4x4.
[000331] Para determinar pelo menos uma profundidade codificada das unidades de codificação constituindo a LCU 610, o determinador de unidade de codificação 120 do aparelho de codificação de video 100 executa codificação para unidades de codificação correspondendo a cada profundidade incluida na LCU 610 .
[000332] Um número de unidades de codificação mais profunda de acordo com profundidades incluindo dados na mesma faixa e o mesmo tamanho aumenta à medida que a profundidade aumenta. Por exemplo, quatro unidades de codificação correspondendo a uma profundidade de 2 são necessárias para cobrir dados que são incluídos em uma unidade de codificação correspondendo a uma profundidade de 1. Por conseguinte, para comparar resultados de codificação dos mesmos dados de acordo com profundidade, a unidade de codificação correspondendo à profundidade de 1 e quatro unidades de codificação correspondendo à profundidade de 2 são individualmente codificadas.
[000333] Para executar a codificação para uma profundidade atual entre as profundidades, um erro de codificação minimo pode ser selecionado para a profundidade atual por executar codificação para cada unidade de predição nas unidades de codificação correspondendo à profundidade atual, ao longo do eixo geométrico horizontal da estrutura hierárquica 600. Alternativamente, o erro de codificação minimo pode ser procurado por comparar os erros de codificação minimos de acordo com as profundidades, por executar codificação para cada profundidade à medida que a profundidade aumenta ao longo do eixo geométrico vertical da estrutura hierárquica 600. Uma profundidade e uma partição tendo o erro de codificação minimo na unidade de codificação 610 podem ser selecionados como a profundidade codificada e um tipo de partição da unidade de codificação 610.
[000334] A figura 14 é um diagrama para descrever uma relação entre uma unidade de codificação 710 e unidades de transformação 720, de acordo com uma modalidade da presente invenção.
[000335] O aparelho de codificação de video 100 ou o aparelho de decodificação de video 200 codifica ou decodifica uma imagem de acordo com unidades de codificação tendo tamanhos menores do que ou iguais a uma LCU para cada LCU. Tamanhos de unidades de transformação para transformação durante codificação podem ser selecionados com base em unidades de dados que não são maiores do que uma unidade de codificação correspondente.
[000336] Por exemplo, no aparelho de codificação de video 100 ou aparelho de decodif icação de video 200, se um tamanho da unidade de codificação 710 for 64x64, a transformação pode ser executada utilizando as unidades de transformação 720 tendo um tamanho de 32x32 .
[000337] Também, dados da unidade de codificação 710 tendo o tamanho de 64x64 podem ser codificados por executar a transformação em cada das unidades de transformação tendo o tamanho de 32x32, 16x16, 8x8 e 4x4 que são menores do que 64x64, e então uma unidade de transformação tendo o erro de codificação minimo pode ser selecionado.
[000338] A figura 15 é um diagrama para descrever informações de codificação de unidades de codificação correspondendo a uma profundidade codificada, de acordo com uma modalidade da presente invenção.
[000339] O meio de transmissão 130 do aparelho de codificação de video 100 pode codificar e transmitir informações 800 sobre um tipo de partição, informações 810 sobre um modo de predição, e informações 820 sobre um tamanho de uma unidade de transformação para cada unidade de codificação correspondendo a uma profundidade codifica, como informações sobre um modo de codificação.
[000340] As informações 800 indicam informações sobre um formato de uma partição obtida por dividir uma unidade de predição de uma unidade de codificação atual, em que a partição é uma unidade de dados para codificação de predição da unidade de codificação atual. Por exemplo, uma unidade de codificação atual CU_O tendo um tamanho de 2Nx2N pode ser dividida em qualquer uma de uma partição 802 tendo um tamanho de 2Nx2N, uma partição 804 tendo um tamanho de 2NXN, uma partição 806 tendo um tamanho de Nx2N, e uma partição 808 tendo um tamanho de NxN. aqui, a informação 800 sobre um tipo de partição é definido para indicar uma das partição 804 tendo um tamanho de 2NXN, a partição 806 tendo um tamanho de Nx2N, e a partição 808 tendo um tamanho de NxN.
[000341] A informação 810 indica um modo de predição de cada partição. Por exemplo, a informação 810 pode indicar um modo de codificação por predição executado em uma partição indicada pela informação 800, isto é, um intra modo 812, um inter modo 814 ou um modo de pular 816.
[000342] A informação 820 indica uma unidade de transformação a ser baseada quando a transformação é realizada em uma unidade de codificação atual. Por exemplo, a unidade de transformação pode ser uma primeira unidade de transformação intra 822, uma segunda unidade de transformação intra 824, uma primeira unidade de transformação inter 826, ou uma segunda unidade de transformação inter 828.
[000343] O extrator de informação de codificação e dados de imagem 220 do aparelho de decodificação de video 200 pode extrair e utilizar as informações 800, 810 e 820 para decodificação, de acordo com cada unidade de codificação mais profunda.
[000344] A figura 16 é um diagrama de unidades de codificação mais profunda de acordo com profundidades, de acordo com uma modalidade da presente invenção.
[000345] Informações divididas podem ser utilizadas para indicar uma mudança de uma profundidade. As informações divididas indicam se uma unidade de codificação de uma profundidade atual é dividida em unidades de codificação ou uma profundidade inferior.
[000346] A unidade de predição 910 para codificação de predição de uma unidade de codificação 900 tendo uma profundidade de 0 e um tamanho de 2N_0x2N_0 pode incluir partições de um tipo de partição 912 tendo um tamanho de 2N_0x2N_0, um tipo de partição 914 tendo um tamanho de 2N_0xN_0, um tipo de partição 916 tendo um tamanho de N_0x2N_0, e um tipo de partição 918 tendo um tamanho de N_0xN_0. A FIG. 9 somente ilustra os tipos de partição 912 até 918 que são obtidos por dividir simetricamente a unidade de predição 910, porém um tipo de partição não é limitado ao mesmo, e as partições da unidade de predição 910 podem incluir partições assimétricas, partições tendo um formato predeterminado, e partições tendo um formato geométrico.
[000347] Codificação de predição é repetidamente realizada em uma partição tendo um tamanho de 2N_0x2N_0, duas partições tendo um tamanho de 2N_0xN 0, duas partições tendo um tamanho de N 0x2N_0, e quatro partições tendo um tamanho de N_0xN_0, de acordo com cada tipo de partição. A codificação de predição em um modo intra e um modo inter pode ser realizada nas partições tendo os tamanhos de 2N_0x2N_0, N_0x2N_0, 2N_0*N_0, e N_0XN_0.A codificação de predição em um modo de pular é realizada somente na partição tendo o tamanho de 2N_0x2N_0.
[000348] Se um erro de codificação for menor em um dos tipos de partição 912 até 916, a unidade de predição 910 pode não ser dividida em uma profundidade inferior.
[000349] Se o erro de codificação for menor no tipo de partição 918, uma profundidade é alterada de 0 para 1 para dividir o tipo de partição 918 em operação 920, e a codificação é repetidamente realizada nas unidades de codificação 930 tendo uma profundidade de 2 e um tamanho de N_0xN_0 para procurar um erro de codificação minimo.
[000350] Uma unidade de predição 940 para codificação de predição da unidade de codificação 930 tendo uma profundidade de 1 e um tamanho de 2N_lx2N_l (=N_0XN_0) pode incluir partições de um tipo de partição 942 tendo um tamanho de 2N_lx2N_l, um tipo de partição 944 tendo um tamanho de 2N_lxN_l, um tipo de partição 946 tendo um tamanho de N_lx2N_l, e um tipo de partição 948 tendo um tamanho de N_lxN__l.
[000351] Se um erro de codificação for o menor no tipo de partição 948, uma profundidade é mudada de 0 para 1 para dividir o tipo de partição 918 em operação 920, e a codificação é repetidamente realizada nas unidades de codificação 930 tendo uma profundidade de 2 e um tamanho de N_2XN_2 para procurar um erro de codificação minimo.
[000352] Quando uma profundidade máxima é d, a operação dividida de acordo com cada profundidade pode ser realizada até quando uma profundidade se torna d-1, e informações divididas podem ser codificadas até quando uma profundidade é um de 0 a d-2. Em outras palavras, quando a codificação é realizada até quando a profundidade é d-1 após uma unidade de codificação correspondendo a uma profundidade de d-2 for dividida na operação 970, uma unidade de predição 990 para codificação de predição de uma unidade de codificação 980 tendo uma profundidade de d-1 e um tamanho de 2N_ (d-1) x2N_ (d- 1) pode incluir partições de um tipo de partição 992 tendo um tamanho de 2N_(d-1)*2N_(d-1) , um tipo de partição 994 tendo um tamanho de 2N_ (d-1) *N_ (d-1) , um tipo de partição 996 tendo um tamanho de N_ (d-1) x2N_ (d-1) , e um tipo de partição 998 tendo um tamanho de N_(d-1)*N_(d-1).
[000353] A codificação de predição pode ser repetidamente realizada em uma partição tendo um tamanho de 2N_(d-1)x2N_(d- 1), duas partições tendo um tamanho de 2N_(d-1)*N_(d-1), duas partições tendo um tamanho de N_(d-1)x2N_(d-1), quatro partições tendo um tamanho de N_ (d-1) xN__ (d-1) entre dois tipos de partição 992 até 998 para procurar um tipo de partição tendo um erro de codificação minimo.
[000354] Mesmo quando o tipo de partição 998 tem o erro de codificação minimo, uma vez que uma profundidade máxima é d, uma unidade de codificação CU_(d-l) tendo uma profundidade de d-1 não mais é dividida para uma profundidade inferior, e uma profundidade codificada para as unidades de codificação constituindo uma LCU atual 900 é determinada como sendo d-1 e um tipo de partição da LCU atual 900 pode ser determinado como sendo N (d-1) XN_ (d-1) . Também uma vez que a profundidade máxima é d e uma SCU 980 tendo uma profundidade mais inferior de d-1 não mais é dividida em uma profundidade inferior, informações divididas para a SCU 980 não são definidas.
[000355] Uma unidade de dados 999 pode ser uma 'unidade minima' para a LCU atual. Uma unidade minima de acordo com uma modalidade da presente invenção pode ser uma unidade de dados quadrados obtida por dividir uma SCU 980 por 4. Por executar a codificação repetidamente, o aparelho de codificação de video 100 pode selecionar uma profundidade tendo o erro de codificação minimo por comparar erros de codificação de acordo com profundidades da unidade de codificação 900 para determinar uma profundidade codificada, e definir um tipo de partição correspondente e um modo de predição como um modo de codificação da profundidade codificada.
[000356] Como tal, os erros de codificação minimos de acordo com profundidades são comparados em todas as profundidades de 1 até d, e uma profundidade tendo o erro de codificação minimo pode ser determinado como uma profundidade codificada. A profundidade codificada, o tipo de partição da unidade de predição e o modo de predição podem ser codificados e transmitidos como informações sobre um modo de codificação. Além disso, uma vez que uma unidade de codificação é dividida de uma profundidade de 0 para uma profundidade codificada, somente informações divididas da profundidade codificada são definidas em 0, e informações divididas de profundidades excluindo a profundidade codificada são definidas em 1.
[000357] O extrator de informação de codificação e dados de imaqem 220 do aparelho de decodificação de video 200 pode extrair e utilizar as informações sobre a profundidade codificada e a unidade de predição da unidade de codificação 900 para decodificar a partição 912. O aparelho de decodificação de video 200 pode determinar uma profundidade, na qual informações divididas são 0, como uma profundidade codificada por utilizar informações divididas de acordo com profundardes, e utilizar informações sobre um modo de codificação da profundidade correspondente para decodificação.
[000358] As figuras 17 até 19 são diagramas para descrever uma relação entre unidades de codificação 1010, unidades de predição 1060, e unidades de transformação 1070 de acordo com uma modalidade da presente invenção.
[000359] As unidades de codificação 1010 são unidades de codificação tendo uma estrutura de árvore, correspondendo a profundidades codificadas determinadas pelo aparelho de codificação de video 100 em uma LCU. As unidades de predição 1060 são partições de unidades de predição de cada das unidades de codificação 1010, e as unidades de transformação 1070 são unidades de transformação de cada das unidades de codificação 1010.
[000360] Quando uma profundidade de uma LCU é 0 nas unidades de codificação 1010, profundidades de unidades de codificação 1012 e 1054 são 1, profundidades de unidades de codificação 1014, 1016, 1018, 1028, 1050, e 1052 são 2, profundidade de unidades de codificação 1020, 1022, 1024, 1026, 1030, 1032, e 1048 são 3, e profundidades de unidades de codificação 1040, 1042, 1044, e 1046 são 4.
[000361] Nas unidades de predição 1060, algumas unidades de codificação 1014, 1016, 1022, 1032, 1048, 1050, 1052, e 1054 são obtidas por dividir as unidades de codificação nas unidades de codificação 1010. Em outras palavras, tipos de partição nas unidades de codificação 1014, 1022, 1050, e 1054 têm um tamanho de 2N*N, tipos de partição nas unidades de codificação 1016, 1048, e 1052 têm um tamanho de Nx2N, e um tipo de partição da unidade de codificação 1032 tem um tamanho de NxN. Unidades de predição e partições das unidades de codificação 1010 são menores ou iguais a cada unidade de codificação.
[000362] Transformação ou transformação inversa é realizada em dados de imagem da unidade de codificação 1052 nas unidades de transformação 1070 em uma unidade de dados que é menor do que a unidade de codificação 1052. Além disso, as unidades de codificação 1014, 1016, 1022, 1032, 1048, 1050, e 1052 nas unidades de transformação 1070 são diferentes daquelas nas unidades de predição 1060 em termos de tamanho de formatos. Em outras palavras, os aparelhos de codificação e decodificação de video 100 e 200 podem executar intra predição, estimação de movimento, compensação de movimento, transformação e transformação inversa individualmente em uma unidade de dados na mesma unidade de codificação.
[000363] Por conseguinte, a codificação é recursivamente realizada em cada das unidades de codificação tendo uma estrutura hierárquica em cada região de uma LCU para determinar uma unidade de codificação ótima, e desse modo unidades de codificação tendo uma estrutura de árvore recursiva podem ser obtidas. Informações de codificação podem incluir informações divididas sobre uma unidade de codificação, informações sobre um tipo de partição, informações sobre um modo de predição, e informações sobre um tamanho de uma unidade de transformação. A tabela 1 mostra as informações de codificação que podem ser definidas pelos aparelhos de codificação e decodificação de video 100 e 200. Tabela 1
Figure img0001
Figure img0002
[000364] O meio de transmissão 130 do aparelho de codificação de video 100 pode transmitir as informações de codificação sobre as unidades de codificação tendo uma estrutura de árvore, e o extrator de informação de codificação e dados de imagem 220 do aparelho de decodificação de video 200 pode extrair as informações de codificação sobre as unidades de codificação tendo uma estrutura de árvore a partir de um fluxo de bits recebido.
[000365] Informações divididas indicam se uma unidade de codificação atual é dividida em unidades de codificação de uma profundidade inferior. Se informações divididas de uma profundidade atual d for 0, uma profundidade, na qual uma unidade de codificação atual não mais é dividida em uma profundidade inferior, é uma profundidade codificada, e desse modo informações sobre um tipo de partição, modo de predição e um tamanho de uma unidade de transformação pode ser definida para a profundidade codificada. Se a unidade de codificação atual for adicionalmente dividida de acordo com as informações divididas, a codificação é independentemente realizada em quatro unidades de codificação divididas de uma profundidade inferior.
[000366] Um modo de predição pode ser um de um modo intra, um modo inter e um modo de pular. O modo intra e o modo inter podem ser definidos em todos os tipos de partição, e o modo de pular é definido somente em um tipo de partição tendo um tamanho de 2Nx2N.
[000367] As informações sobre o tipo de partição podem indicar tipos de partição simétrica tendo tamanhos de 2Nx2N, 2NxN, Nx2N, e NxN, que são obtidos por dividir simetricamente uma altura ou uma largura de uma unidade de predição, e tipos de partição assimétrica tendo tamanhos de 2NxnU, 2NxnD, nLx2N, e nRx2N, que são obtidos por dividir assimetricamente a altura ou largura da unidade de predição. Os tipos de partição assimétrica tendo os tamanhos de 2NxnU e 2NxnD podem ser respectivamente obtidos por dividir a altura da unidade de predição em 1:3 e 3:1, e os tipos de partição assimétrica tendo os tamanhos de nLx2N e nRx2N podem ser respectivamente obtidos por dividir a largura da unidade de predição em 1:3 e 3:1.
[000368] O tamanho da unidade de transformação pode ser definido como sendo dois tipos no modo intra e dois tipos no modo inter. Em outras palavras, se informações divididas da unidade de transformação forem 0, o tamanho da unidade de transformação pode ser 2Nx2N, que é o tamanho da unidade de codificação atual. Se informação dividida da unidade de transformação for 1, as unidades de transformação podem ser obtidas por dividir a unidade de codificação atual. Além disso, se um tipo de divisão da unidade de codificação atual tendo o tamanho de 2Nx2N é um tipo de partição simétrica, um tamanho de uma unidade de transformação pode ser NxN, e se o tipo de partição da unidade de codificação atual é um tipo de partição assimétrica, o tamanho da unidade de transformação pode ser N/2xN/2.
[000369] As informações de codificação sobre unidades de codificação tendo uma estrutura de árvore podem incluir pelo menos uma de uma unidade de codificação correspondendo a uma profundidade codificada, uma unidade de predição e uma unidade minima. A unidade de codificação correspondendo à profundidade codificada pode incluir pelo menos uma de uma unidade de predição e uma unidade minima contendo a mesma informação de codificação.
[000370] Por conseguinte, é determinado se unidades de dados adjacentes forem incluídas na mesma unidade de codificação correspondendo à profundidade codificada por comparar informações de codificação das unidades de dados adjacentes. Além disso, uma unidade de codificação correspondente correspondendo a uma profundidade codificada é determinada utilizando informações de codificação de uma unidade de dados, e desse modo uma distribuição de profundidades codificadas em uma LCU pode ser determinada.
[000371] Por conseguinte, se uma unidade de codificação atual for prevista com base em informações de codificação de unidades de dados adjacentes, informações de codificação de unidades de dados em unidades de codificação mais profundas adjacentes à unidade de codificação atual podem ser diretamente referidas e utilizadas.
[000372] Alternativamente, se uma unidade de codificação atual for prevista com base em informações de codificação de unidades de dados adjacentes, unidades de dados adjacentes à unidade de codificação atual são buscadas utilizando informações codificadas das unidades de dados, e as unidades de codificação adjacentes buscadas podem ser mencionadas para prever a unidade de codificação atual.
[000373] A figura 20 é um diagrama para descrever uma relação entre uma unidade de codificação, uma unidade de predição e uma unidade de transformação de acordo com informações de modo de codificação da tabela 1.
[000374] Uma LCU 1300 inclui unidades de codificação 1302, 1304, 1306, 1312, 1314, 1316, e 1318 de profundidade codificadas. Aqui, uma vez que a unidade de codificação 1318 é uma unidade de codificação de uma profundidade codificada, informações divididas podem ser definidas em 0. Informações sobre um tipo de partição da unidade de codificação 1318 tendo um tamanho de 2Nx2N podem ser definidas para ser um de um tipo de partição 1322 tendo um tamanho de 2Nx2N, um tipo de partição 1324 tendo um tamanho de 2N*N, um tipo de partição 1326 tendo um tamanho de Nx2N, um tipo de partição 1328 tendo um tamanho de NxN, um tipo de partição 1332 tendo um tamanho de 2NxnU, um tipo de partição 1334 tendo um tamanho de 2NxnD, um tipo de partição 1336 tendo um tamanho de nLx2N, e um tipo de partição 1338 tendo um tamanho de nRx2N.
[000375] Informações divididas (sinalizador de tamanho TU) de uma unidade de transformação é um tipo de um indice de transformação. O tamanho da unidade de transformação correspondendo ao indice de transformação pode ser alterado de acordo com um tipo de unidade de predição ou tipo de partição da unidade de codificação.
[000376] Por exemplo, quando o tipo de partição é definido como sendo simétrico, isto é, o tipo de partição 1322, 1324, 1326, ou 1328, uma unidade de transformação 1342 tendo um tamanho de 2Nx2N é definida se um sinalizador de tamanho TU de uma unidade de transformação for 0, e uma unidade de transformação 1344 tendo um tamanho de NxN é definido se um sinalizador de tamanho TU for 1.
[000377] Quando o tipo de partição for definido como sendo assimétrico, isto é, o tipo de partição 1332, 1334, 1336, ou 1338, uma unidade de transformação 1352 tendo um tamanho de 2Nx2N é definida se um sinalizador de tamanho TU for 0, e uma unidade de transformação 1354 tendo um tamanho de N/2XN/2 é definida se um sinalizador de tamanho TU for 1.
[000378] Com referência à figura 20, o sinalizador de tamanho TU é um indicador tendo um valor de 0 ou 1, porém o indicador do tamanho TU não é limitado a 1 bit, e uma unidade de transformação pode ser hierarquicamente dividida tendo uma estrutura de árvore enquanto o indicador do tamanho TU aumenta de 0. Informações divididas (sinalizador de tamanho TU) de uma unidade de transformação podem ser um exemplo de um indice de transformação.
[000379] Nesse caso, o tamanho de uma unidade de transformação que foi na realidade utilizado pode ser expresso utilizando um sinalizador de tamanho TU de uma unidade de transformação, de acordo com uma modalidade de acordo com a presente invenção, juntamente com um tamanho máximo e tamanho minimo da unidade de transformação. O aparelho de codificação de video 100 é capaz de codificar informação de tamanho máximo da unidade de transformação, informação de tamanho minimo da unidade de transformação e um sinalizador de tamanho máximo de TU. O resultado de codificar a informação de tamanho máximo da unidade de transformação, a informação de tamanho minimo da unidade de transformação, e o sinalizador de tamanho máximo de TU pode ser inserido em um SPS. O aparelho de codificação de video 200 pode decodificar video utilizando a informação de tamanho máximo de unidade de transformação, a informação de tamanho minimo de unidade de transformação e o sinalizador de tamanho máximo de TU.
[000380] Por exemplo, (a) se o tamanho de uma unidade de codificação atual for 64x64 e um tamanho máximo de unidade de transformação for 32x32, (a-1) então o tamanho de uma unidade de transformação pode ser 32x32 quando um sinalizador de tamanho de TU for 0, (a-2) pode ser 16x16 quando o sinalizador de tamanho de TU for 1, e (a-3) pode ser 8x8 quando o sinalizador de tamanho de TU for 2.
[000381] Como outro exemplo, (b) se o tamanho da unidade de codificação atual for 32x32 e um tamanho minimo de unidade de transformação for 32x32, (b-1) então o tamanho da unidade de transformação pode ser 32x32 quando o sinalizador de tamanho de TU é 0. Aqui, o sinalizador de tamanho de TU não pode ser definido como um valor diferente de 0, uma vez que o tamanho da unidade de transformação não pode ser menor do que 32x32.
[000382] Como outro exemplo, (c) se o tamanho da unidade de codificação atual for 64x64 e um sinalizador de tamanho máximo de TU for 1, então o sinalizador de tamanho de TU pode ser 0 ou 1. Aqui, o sinalizador de tamanho de TU não pode ser definido em um valor diferente de 0 ou 1.
[000383] Desse modo, se for definido que o sinalizador de tamanho máximo de TU é "MaxTransformSizelndex", um tamanho minimo de unidade de transformação é 'MinTransformSize' e um tamanho de unidade de transformação é 'RootTuSize' quando o sinalizador de tamanho de Tu é 0, então um tamanho atual de unidade de transformação 'CurrMinTuSize' que pode ser determinado em uma unidade de codificação atual, pode ser definido pela equação (1): CurrMinTuSize = Max(MinTransformSize, RootTuSize(2AMaxTransformSizeIndex)) ....(1)
[000384] Em comparação com o tamanho minimo atual de unidade de transformação 'CurrMinTuSize' que pode ser determinado na unidade de codificação atual, um tamanho de unidade de transformação 'RootTuSize' quando o sinalizador de tamanho Tu é 0 pode indicar um tamanho máximo de unidade de transformação que pode ser selecionado no sistema. Na equação (1), 'RootTuSize(2AMaxTrtasnformSizeIndex)' indica um tamanho de unidade de transformação quando o tamanho de unidade de transformação 'RootTuSize', quando o sinalizador de tamanho de TU é 0, é dividido um número de vezes correspondendo ao sinalizador de tamanho máximo de TU, e 'MinTransformSize' indica um tamanho minimo de transformação. Desse modo, um valor menor entre 'EootTuSize(2AMaxTransformSizeIndex)' e 'MinTranasformSize' pode ser o tamanho minimo atual da unidade de transformação 'CurrMinTuSize' que pode ser determinado na unidade de codificação atual.
[000385] De acordo com uma modalidade de acordo com a presente invenção, o tamanho máximo de unidade de transformação RootTuSize pode variar de acordo com o tipo de um modo de predição.
[000386] Por exemplo, se um modo de predição atual for um modo inter, então 'RootTuSize' pode ser determinado utilizando a equação (2) abaixo. Na equação (2), 'MaxTransformSize' indica um tamanho máximo de unidade de transformação, e 'PUSize'indica um tamanho atual de unidade de predição. RootTuSize = min(MaxTransformSize, PUSize) (2)
[000387] Isto é, se o modo de predição atual for o modo inter, o tamanho de unidade de transformação 'RootTuSize', o tamanho máximo de unidade de transformação e o tamanho atual da unidade de predição.
[000388] Se um modo de predição de uma unidade de partição atual for um modo intra, 'RootTuSize' pode ser determinado utilizando a equação (3) abaixo. Na equação (3), 'Partitionsize'indica o tamanho da unidade de partição atual. RootTuSize = min(MaxTransformSize, Partitionsize) (3)
[000389] Isto é, se o modo de predição atual for o modo intra, o tamanho da unidade de transformação 'RootTuSize' quando o sinalizador de tamanho TU é 0 pode ser um valor menor entre o tamanho máximo de unidade de transformação e o tamanho da unidade de partição atual.
[000390] Entretanto, o tamanho máximo de unidade de transformação 'RootTuSize' que varia de acordo com o tipo de um modo de predição em uma unidade de partição é apenas um exemplo e a presente invenção não é limitada ao mesmo.
[000391] De acordo com o método de codificação de video baseado em unidades de codificação tendo uma estrutura de árvore como descrito com referência às figuras 8 até 20, dados de imagem do dominio de espaço são codificados para cada unidade de codificação de uma estrutura de árvore. De acordo com o método de decodificação de video com base em unidades de codificação tendo uma estrutura de árvore, a decodificação é realizada para cada LCU reconstruir dados de imagem do dominio de espaço. Desse modo, um quadro e um video que é uma sequência de quadros podem ser reconstruídos. O video reconstruído pode ser reproduzido por um aparelho de reprodução, armazenado em um meio de armazenagem ou transmitido através de uma rede.
[000392] Também, parâmetros de deslocamento podem ser sinalizados com relação a cada quadro, cada fatia, cada LCU, cada de unidades de codificação tendo uma estrutura de árvore, cada unidade de predição das unidades de codificação ou cada unidade de transformação das unidades de codificação. Por exemplo, valores de pixel de pixels reconstruídos de cada LCU podem ser ajustados utilizando valores de deslocamento reconstruídos com base em parâmetros de deslocamento recebidos, e desse modo uma LCU tendo um erro minimizado entre um bloco original e a LCU pode ser reconstruída.
[000393] As modalidades de acordo com a presente invenção podem ser gravadas como programas de computador e podem ser implementadas em computadores digitais de uso geral que executam os programas utilizando um meio de gravação legivel em computador. Os exemplos do meio de gravação legivel em computador incluem midia de armazenagem magnética (por exemplo, ROM, discos flexíveis, discos rigidos, etc.) e midia de gravação óptica (por exemplo, CD-ROMs, ou DVDs).
[000394] Embora a presente invenção tenha sido particularmente mostrada e descrita com referência a modalidades exemplares da mesma, será entendido por aqueles com conhecimentos comuns na técnica que várias alterações em forma e detalhes podem ser feitas na mesma sem se afastar do espirito e escopo de acordo com a presente invenção como definido pelas reivindicações a seguir.
[000395] Embora a presente invenção tenha sido particularmente mostrada e descrita com referência a modalidades exemplares da mesma, será entendido por uma pessoa com conhecimentos comuns na técnica que várias alterações em forma e detalhes podem ser feitas na mesma sem se afastar do espirito e escopo da invenção como definido pelas reivindicações a seguir. As modalidades exemplares devem ser consideradas em um sentido descritivo somente e não para fins de limitação. Portanto, o escopo da invenção é definido não pela descrição detalhada da invenção, porém pelas reivindicações a seguir, e todas as diferenças no escopo serão interpretadas como sendo incluídas na presente invenção.
[000396] Para conveniência de descrição, o método de codificação de video de acordo com ajuste de um deslocamento de amostra, que é descrito acima com referência às figuras IA até 20, será mencionado como um 'método de codificação de video de acordo com a presente invenção'. Além disso, o método de decodificação de video de acordo com ajuste de um deslocamento de amostra, que é descrito acima com referência às figuras IA até 20, será mencionado como um 'método de decodificação de video de acordo com a presente invenção'.
[000397] Também, um aparelho de codificação de video incluindo o aparelho de codificação de video 10, o aparelho de codificação de video 100, ou o codificador de imagem 400, que é descrito acima com referência às figuras IA até 20, será mencionado como um 'aparelho de codificação de video de acordo com a presente invenção'. Além disso, um aparelho de decodificação de video incluindo o aparelho de decodificação de video 20, o aparelho de decodif icação de video 200, ou o decodificador de imagem 500, que é descrito acima com referência às figuras IA até 20, será mencionado como um 'aparelho de decodificação de video de acordo com a presente invenção' .
[000398] Um meio de gravação legivel em computador que armazena um programa, por exemplo, um disco 26000, de acordo com uma modalidade da presente invenção será descrito agora em detalhe.
[000399] A figura 21 é um diagrama de uma estrutura fisica do disco 2 6000 no qual um programa é armazenado, de acordo com uma modalidade da presente invenção. O disco 26000, que é um meio de armazenagem, pode ser uma unidade rigida, um disco de memória somente de leitura de compact disc (CD-ROM), um Blu- ray disc, ou um digital versatile disc (DVD) . O disco 26000 inclui uma pluralidade de trilhas concêntricas Tr que são individualmente divididas em um número especifico de setores Se em uma direção circunferencial do disco 26000. Em uma região especifica do disco 26000, um programa que executa o método de determinação de parâmetro de quantização, o método de codificação de video, e o método de decodificação de video descritos acima podem ser atribuídos e armazenados.
[000400] Um sistema de computador incorporado utilizando um meio de armazenagem que armazena um programa para executar o método de codificação de video e o método de decodificação de video como descrito acima será descrito agora com referência à figura 22.
[000401] A figura 22 é um diagrama de uma unidade de disco 26800 para gravar e ler um programa por utilizar o disco 26000. Um sistema de computador 26700 pode armazenar um programa que executa pelo menos um de um método de codificação de video e um método de decodificação de video de acordo com uma modalidade da presente invenção, no disco 26000 através da unidade de disco 26800. Para rodar o programa armazenado no disco 26000 no sistema de computador 26700, o programa pode ser lido a partir do disco 26000 e ser transmitido para o sistema de computador 26700 utilizando a unidade de disco 26700 .
[000402] O programa que executa pelo menos um de um método de codificação de video e um método de decodificação de video de acordo com uma modalidade da presente invenção pode ser armazenado não somente no disco 26000 ilustrado na figura 21 ou 22 como também em um cartão de memória, um cassete ROM, ou uma unidade de estado sólido (SSD).
[000403] Um sistema ao qual o método de codificação de video e um método de decodificação de video descrito acima são aplicados será descrito abaixo.
[000404] A figura 23 é um diagrama de uma estrutura geral de um sistema de fornecimento de conteúdo 11000 para fornecer um serviço de distribuição de conteúdo. Uma área de serviço de um sistema de comunicação é dividida em células de tamanho predeterminado, e estações de base sem fio 11700, 11800, 11900, e 12000 são instaladas nessas células, respectivamente.
[000405] O sistema de fornecimento de conteúdo 11000 inclui uma pluralidade de dispositivos independentes. Por exemplo, a pluralidade de dispositivos independentes, como um computador 12100, um assistente pessoal digital (PDA) 12200, uma câmera de video 12300, e um telefone móvel 12500, são conectados à Internet 11100 através de um provedor de serviço de internet 11200, uma rede de comunicação 11400 e as estações base sem fio 11700, 11800, 11900, e 12000.
[000406] Entretanto, o sistema de fornecimento de conteúdo 11000 não é limitado a como ilustrado na figura 24 e dispositivos podem ser seletivamente conectados ao mesmo. A pluralidade de dispositivos independentes pode ser diretamente conectada à rede de comunicação 11400, não através das estações base sem fio 11700, 11800, 11900, e 12000.
[000407] A câmera de video 12300 é um dispositivo de imageamento, por exemplo, uma câmera de video digital, que é capaz de capturar imagens de video. O telefone móvel 12500 pode empregar pelo menos um método de comunicação entre vários protocolos, por exemplo, Comunicações Digitais Pessoais (PDC), Acesso múltiplo por divisão de código (CDMA), Acesso múltiplo por divisão de código de banda larga (W-CDMA), Sistema global para comunicações móveis (GSM), e Sistema de Handyphone Pessoal (PHS).
[000408] A câmera de video 12300 pode ser conectada a um servidor de streaming 11300 através da estação base sem fio 11900 e a rede de comunicação 11400. O servidor de streaming 11300 permite que conteúdo recebido de um usuário através da câmera de video 12300 seja streamed através de um broadcast em tempo real. O conteúdo recebido a partir da câmera de video 12300 pode ser codificado utilizando a câmera de video 12300 ou o servidor de streaming 11300. Dados de video capturados pela câmera de video 12300 podem ser transmitidos para o servidor de streaming 11300 através do computador 12100.
[000409] Dados de video capturados por uma câmera 12600 também podem ser transmitidos para o servidor de streaming 11300 através do computador 12100. A câmera 12600 é um dispositivo de imageamento capaz de capturar tanto imagens fixas como imagens de video, similar a uma câmera digital. Os dados de video capturados pela câmera 12600 podem ser codificados utilizando a câmera 12600 ou o computador 12100. Software que executa codificação e decodificação de video pode ser armazenado em um meio de gravação legivel em computador, por exemplo, um disco CD-ROM, um disco flexível, uma unidade de disco rigido, um SSD, ou um cartão de memória, que pode ser acessível pelo computador 12100.
[000410] Se dados de video forem capturados por uma câmera embutida no telefone móvel 12500, os dados de video podem ser recebidos a partir do telefone móvel 12500.
[000411] Os dados de video podem ser também codificados por um sistema de circuito integrado de escala grande (LSI) instalado na câmera de video 12300, o telefone móvel 12500 ou a câmera 12600.
[000412] O sistema de fornecimento de conteúdo 11000 pode codificar dados de conteúdo gravados por um usuário utilizando a câmera de video 12300, a câmera 12600, o telefone móvel 12500, ou outro dispositivo de imageamento, por exemplo, conteúdo gravado durante um concerto, e transmitir os dados de conteúdo codificados para o servidor de streaming 11300. O servidor de streaming 11300 pode transmitir os dados de conteúdo codificados em um tipo de um conteúdo streaming para outros clientes que solicitam os dados de conteúdo.
[000413] Os clientes são dispositivos capazes de decodificar os dados de conteúdo codificados, por exemplo, o computador 12100, o PDA 12200, a câmera de video 12300, ou o telefone móvel 12500. Desse modo, o sistema de fornecimento de conteúdo 11000 permite que os clientes receberam e reproduzam os dados de conteúdo codificados. Além disso, o sistema de fornecimento de conteúdo 11000 permite que os clientes recebam os dados de conteúdo codificados e decodifiquem e reproduzam os dados de conteúdo codificados em tempo real, desse modo permitindo broadcasting pessoal.
[000414] As operações de codificação e decodificação da pluralidade de dispositivos independentes incluidos no sistema de fornecimento de conteúdo 11000 podem ser similares àquelas de um aparelho de codificação de video e um aparelho de decodificação de video de acordo com uma modalidade da presente invenção.
[000415] O telefone móvel 12500 incluido no sistema de fornecimento de conteúdo 11000 de acordo com uma modalidade da presente invenção será descrito agora em maior detalhe com referência às figuras 24 e 25.
[000416] A figura 24 ilustra uma estrutura externa do telefone móvel 12500 ao qual um método de codificação de video e um método de decodificação de video são aplicados, de acordo com uma modalidade da presente invenção. O telefone móvel 12500 pode ser um smart phone, cujas funções não são limitadas e um número grande de cujas funções pode ser alterada ou expandida.
[000417] O telefone móvel 12500 inclui uma antena interna 12510 através da qual um sinal de radiofrequência (RF) pode ser permutado com a estação base sem fio 12000 da figura 21, e inclui uma tela de display 12520 para exibir imagens capturadas por uma câmera 12530 ou imagens que são recebidas através da antena 12510 e decodificadas, por exemplo, um display de cristal liquido (LCD) ou uma tela de diodo de emissão de luz orgânico (OLED). O telefone móvel 12500 inclui um painel de operações 12540 incluindo um botão de controle e um painel de toque. Se a tela de display 12520 for uma tela de toque, o painel de operações 12540 inclui ainda um painel de sentir toque da tela de display 1250. O telefone móvel 12500 inclui um alto-falante 12580 para transmitir voz e som ou outro tipo de meio de transmissão de som, e um microfone 12550 para entrar voz e som ou outro tipo de meio de entrada de som. O telefone móvel 12500 inclui ainda a câmera 12530, como uma câmera de dispositivo acoplado a carga (CCD), para capturar video e imagens fixas. O telefone móvel 12500 pode incluir ainda um meio de armazenagem 12570 para armazenar dados codificados/decodifiçados, por exemplo, video ou imagens fixas capturadas pela câmera 12530, recebidas via e-mail, ou obtidas de acordo com vários modos; e uma partição 12560 através da qual o meio de armazenagem 12570 é carregado no telefone móvel 12500. O meio de armazenagem 12570 pode ser uma memória flash, por exemplo, um cartão digital seguro (SD) ou uma memória somente de leitura eletricamente apagável e programável (EEPROM) incluída em uma caixa de plástico.
[000418] A figura 25 ilustra uma estrutura interna do telefone móvel 12500, de acordo com uma modalidade da presente invenção. Para controlar sistemicamente partes do telefone móvel 12500 incluindo a tela de display 12520 e o painel de operações 12540, um circuito de fornecimento de energia 12700, um controlador de entrada de operações 12640, um codificador de imagem 12720, uma interface de câmera 12630, um controlador de LCD 12620, um decodificador de imagem 12690, um multiplexor/demultiplexor 12680, um meio de gravação/leitora 12670, um modulador/demodulador 12600, e um processador de som 12650 são conectados a um controlador central 12710 através de um barramento de sincronização 12730.
[000419] Se um usuário operar um botão de energia e ajustar de um estado 'energia desligada' para um estado de 'energia ligada', o circuito de fornecimento de energia 12700 fornece energia para todas as partes do telefone móvel 12500 a partir de uma bateria, desse modo ajustando o telefone móvel 12500 em um modo de operação.
[000420] O controlador central 12710 inclui uma unidade de processamento central (CPU), uma ROM e uma RAM.
[000421] Embora o telefone móvel 12500 transmita dados de comunicação para o exterior, um sinal digital é gerado pelo telefone móvel 12500 sob controle do controlador central 12710. Por exemplo, o processador de som 12650 pode gerar um sinal de som digital, o codificador de imagem 12720 pode gerar um sinal de imagem digital, e dados de texto de uma mensagem podem ser gerados através do painel de operações 12540 e o controlador de entrada de operações 12640. Quando um sinal digital é transmitido para o modulador/demodulador 12660 sob controle do controlador central 12710, o modulador/demodulador 12660 modula uma banda de frequência do sinal digital, e um circuito de comunicação 12610 executa conversão de digital para analógico (DAC) e conversão de frequência no sinal de som digital modulado por banda de frequência. Um sinal de transmissão transmitido a partir do circuito de comunicação 12610 pode ser transmitido para uma estação base de comunicação de voz ou a estação base sem fio 12000 através da antena 12510.
[000422] Por exemplo, quando o telefone móvel 12500 está em um modo de conversa, um sinal de som obtido através do microfone 12550 é transformado em um sinal de som digital pelo processador de som 12650, sob controle do controlador central 12710. O sinal de som digital pode ser transformado em um sinal de transformação através do modulador/demodulador 12660 e o circuito de comunicação 12610, e pode ser transmitido através da antena 12510.
[000423] Quando uma mensagem de texto, por exemplo, e-mail, é transmitida em um modo de comunicação de dados, dados de texto da mensagem de texto são entrados através do painel de operações 12540 e são transmitidos para o controlador central 12710 através do controlador de entrada de operações 12640. Sob controle do controlador central 12710, os dados de texto são transformados em um sinal de transmissão através do modulador/demodulador 12660 e o circuito de comunicação 12610 e são transmitidos para a estação base sem fio 12000 através da antena 12510.
[000424] Para transmitir dados de imagem no modo de comunicação de dados, dados de imagem capturados pela câmera 126530 são fornecidos ao codificador de imagem 12720 através da interface de câmera 12630. Os dados de imagem capturados podem ser diretamente exibidos na tela de display 12520 através da interface de câmera 12630 e controlador de LCD 12620.
[000425] Uma estrutura do codificador de imagem 12720 pode corresponder aquela do método de codificação de video acima descrito de acordo com a presente invenção. O codificador de imagem 12720 pode transformar os dados de imagem recebidos a partir da câmera 12530 em dados de imagem codificados e comprimidos com base no método de codificação de video acima descrito de acordo com a presente invenção, e então transmitir os dados de imagem codificados para o multiplexor/demultiplexor 12680. Durante uma operação de gravação da câmera 12530, um sinal de som obtido pelo microfone 12550 do telefone móvel 12500 pode ser transformado em dados de som digital através do processador de som 12650, e os dados de som digital podem ser transmitidos para o multiplexor/demultiplexor 12680.
[000426] 0 multiplexor-demultiplexor 12680 multiplexa os dados de imagem codificados recebidos do codificador de imagem 12720, juntamente com os dados de som recebidos a partir do processador de som 12650. Um resultado de multiplexar os dados pode ser transformado em um sinal de transmissão através do modulador/demodulador 12660 e o circuito de comunicação 12610, e pode ser então transmitido através da antena 12510.
[000427] Embora o telefone móvel 12500 receba dados de comunicação a partir do exterior, recuperação de frequência e ADC são realizadas em um sinal recebido através da antena 12510 para transformar o sinal em um sinal digital. O modulador/demodulador 12660 modula uma banda de frequência do sinal digital. O sinal digital modulado em banda de frequência é transmitido para a unidade de decodificação de video 12690, o processador de som 12650, ou o controlador LCD 12620, de acordo com o tipo do sinal digital.
[000428] No modo de conversa, o telefone móvel 12500 amplifica um sinal recebido através da antena 12510, e obtém um sinal de som digital por executar conversão de frequência e ADC no sinal amplificado. Um sinal de som digital recebido é transformado em um sinal de som analógico através do modulador/demodulador 12660 e o processador de som 12650, e o sinal de som analógico é transmitido através do alto-falante 12580, sob controle do controlador central 12710.
[000429] Quando no modo de comunicação de dados, dados de um arquivo de video acessados em um website da Internet forem recebidos, um sinal recebido a partir da estação base sem fio 12000 através da antena 12510 são transmitidos como dados multiplexados através do modulador/demodulador 12660, e os dados multiplexados são transmitidos para o multiplexor/demultiplexor 12680.
[000430] Para decodificar os dados multiplexados recebidos através da antena 12510, o multiplexor/demultiplexor 12680 demultiplexa os dados multiplexados em um fluxo de dados de video codificado e um fluxo de dados de áudio codificado. Através do barramento de sincronização 12730, o fluxo de dados de video codificado e o fluxo de dados de áudio codificado são fornecidos para a unidade de decodificação de video 12690 e o processador de som 12650, respectivamente.
[000431] Uma estrutura do decodificador de imagem 12690 pode corresponder àquela do método de decodificação de video acima descrito de acordo com a presente invenção. O decodificador de imagem 12690 pode decodificar os dados de video codificados para obter dados de video reconstruídos e fornecer os dados de video reconstruídos para a tela de display 12520 através do controlador de LCD 12620, utilizando o método de decodificação de video acima descrito de acordo com a presente invenção.
[000432] Desse modo, os dados do arquivo de video acessados no website da internet podem ser exibidos na tela de display 12520. Ao mesmo tempo, o processador de som 12650 pode transformar dados de áudio em um sinal de som analógico, e fornecer o sinal de som analógico para o alto-falante 12580. Desse modo, dados de áudio contidos no arquivo de video acessado no website da internet podem ser também reproduzidos através do alto-falante 12580.
[000433] O telefone móvel 12500 ou outro tipo de terminal de comunicação pode ser um terminal transceptor que inclui tanto um aparelho de codificação de video como um aparelho de decodificação de video de acordo com uma modalidade da presente invenção, pode ser um terminal transceptor incluindo somente o aparelho de codificação de video, ou pode ser um terminal transceptor que inclui somente o aparelho de decodificação de video.
[000434] Um sistema de comunicação de acordo com a presente invenção não é limitado ao sistema de comunicação descrito acima com referência à figura 24. Por exemplo, a figura 26 ilustra um sistema de broadcasting digital que emprega um sistema de comunicação, de acordo com uma modalidade da presente invenção. O sistema de broadcasting digital da figura 26 pode receber um broadcast digital transmitido através de um satélite ou uma rede terrestre utilizando um aparelho de codificação de video e um aparelho de decodificação de video de acordo com uma modalidade da presente invenção.
[000435] Especificamente, uma estação de broadcasting 12890 transmite um fluxo de dados de video para um satélite de comunicação ou um satélite de broadcasting 12900 utilizando ondas de rádio. 0 satélite de broadcasting 12900 transmite um sinal broadcast, e o sinal broadcast é transmitido para um receptor de broadcast de satélite através de uma antena doméstica 12860. Em toda casa, um fluxo de video codificado pode ser decodificado e reproduzido por um receptor de TV 12810, um conversor de sinais de frequência 12870 ou outro dispositivo.
[000436] Quando um aparelho de decodificação de video de acordo com uma modalidade da presente invenção é implementado em um aparelho de reprodução 12830, o aparelho de reprodução 12830 pode analisar e decodificar um fluxo de video codificado gravado em um meio de armazenagem 12 82 0, como um disco ou um cartão de memória para reconstruir sinais digitais. Desse modo, o sinal de video reconstruído pode ser reproduzido, por exemplo, em um monitor 12840.
[000437] No conversor de sinais de frequência 12870 conectado à antena 12860 para um broadcast terrestre/satélite ou uma antena a acabo 12850 para receber um broadcast de televisão a cabo (TV), um aparelho de decodificação de video de acordo com uma modalidade da presente invenção pode ser instalado. Dados transmitidos a partir do conversor de sinais de frequência 12870 também podem ser reproduzidos em um monitor de TV 12880.
[000438] Como outro exemplo, um aparelho de decodificação de video de acordo com uma modalidade da presente invenção pode ser instalado no receptor de TV 12810 ao invés do conversor de sinais de frequência 12870.
[000439] Um automóvel 12920 que tem uma antena apropriada 12910 pode receber um sinal transmitido do satélite 12900 ou a estação base sem fio 11700 da figura 21. Um video decodificado pode ser reproduzido em uma tela de display de um sistema de navegação de automóvel 12930 instalado no automóvel 12920.
[000440] Um sinal de video pode ser codificado por um aparelho de codificação de video de acordo com uma modalidade da presente invenção e pode ser então armazenado em um meio de armazenagem. Especificamente, um sinal de imagem pode ser armazenado em um disco DVD 12960 por um meio de gravação de DVD ou pode ser armazenado em um disco rigido por um gravador de disco rigido 12950. Como outro exemplo, o sinal de video pode ser armazenado em um cartão SD 12970. Se o gravador de disco rigido 12950 incluir um aparelho de decodificação de video de acordo com uma modalidade da presente invenção, um sinal de video gravado no disco DVD 12960, o cartão SD 12970, ou outro meio de armazenagem pode ser reproduzido no monitor de TV 12880.
[000441] O sistema de navegação de automóvel 12930 pode não incluir a câmera 12530 da figura 24, e a interface de câmera 12630 e o codificador de imagem 12720 da figura 25. Por exemplo, o computador 12100 e o receptor de TV 12810 podem não incluir a câmera 12530, a interface de câmera 12630 e o codificador de imagem 12720.
[000442] A figura 27 é um diagrama que ilustra uma estrutura de rede de um sistema de computação de nuvem utilizando um aparelho de codificação de video e um aparelho de decodificação de video, de acordo com uma modalidade da presente invenção.
[000443] O sistema de computação de nuvem pode incluir um servidor de computação de nuvem 14000, um banco de dados (DB) de usuário 14100, uma pluralidade de recursos de computação 14200 e um terminal de usuário.
[000444] O sistema de computação de nuvem provê um serviço de outsourcing sob demanda da pluralidade de recursos de computação 14200 através de uma rede de comunicação de dados, por exemplo, a Internet, em resposta a uma solicitação a partir do terminal de usuário. Sob um ambiente de computação de nuvem, um provedor de serviço provê aos usuários serviços desejados por combinar recursos de computação em centros de dados localizados em locais fisicamente diferentes por utilizar tecnologia de virtual!zação. Um usuário de serviço não tem de instalar recursos de computação, por exemplo, um aplicativo, uma armazenagem, um sistema operacional (OS), e segurança, em seu próprio terminal para utilizar os mesmos, porém pode selecionar e utilizar serviços desejados entre serviços em um espaço virtual gerado através da tecnologia de virtualização em um ponto desejado em tempo.
[000445] Um terminal de usuário de um usuário de serviço especificado é conectado ao servidor de computação de nuvem 14000 através de uma rede de comunicação de dados incluindo a internet e uma rede de telecomunicação móvel. Terminais de usuário podem ser fornecidos serviços de computação de nuvem, e particularmente serviços de reprodução de video, a partir do servidor de computação de nuvem 14000. Os terminais de usuário podem ser vários tipos de dispositivos eletrônicos capazes de ser conectados a internet, por exemplo, um PC de mesa 14300, uma TV inteligente 14400, um smart phone 14500, um computador notebook 14600, um tocador de multimídia portátil (PMP) 14700, um PC tablet 14800 e similar.
[000446] O servidor de computação de nuvem 14000 pode combinar a pluralidade de recursos de computação 14200 distribuídos em uma rede de nuvem e fornecer aos terminais de usuário um resultado de combinação. A pluralidade de recursos de computação 14200 pode incluir vários serviços de dados, e pode incluir dados uploaded a partir de terminais de usuário. Como descrito acima, o servidor de computação de nuvem 14000 pode fornecer aos terminais de usuário serviços desejados por combinar banco de dados de video distribuído em regiões diferentes de acordo com a tecnologia de virtualização.
[000447] Informações de usuário sobre usuários que subscreveram para um serviço de computação de nuvem são armazenadas no DB de usuário 14100. As informações de usuário podem incluir informações de registro, endereços, nomes e informações de crédito pessoal dos usuários. As informações de usuário podem incluir ainda indices de videos. Aqui, os índices podem incluir uma lista de vídeos que já foram reproduzidos, uma lista de vídeos que estão sendo reproduzidos, um ponto de pausar de um vídeo que estava sendo reproduzido e similar.
[000448] Informações sobre um vídeo armazenado no DB de usuário 14100 podem ser compartilhadas entre dispositivos de usuário. Por exemplo, quando um serviço de vídeo é fornecido ao computador notebook 14600 em resposta a uma solicitação a partir do computador notebook 14600, um histórico de reprodução do serviço de vídeo é armazenado no DB de usuário 14100. Quando uma solicitação para reproduzir esse serviço de vídeo é recebida a partir do smart phone 14500, o servidor de computação de nuvem 1400 procura e reproduz esse serviço de vídeo, com base no DB de usuário 14100. Quando o smart phone 14500 recebe um fluxo de dados de vídeo a partir do servidor de computação de nuvem 1400, um processo de reproduzir vídeo por decodificar o fluxo de dados de vídeo é similar a uma operação do telefone móvel 12500 descrito acima com referência a figura 24.
[000449] O servidor de computação de nuvem 14000 pode se referir a um histórico de reprodução de um serviço de vídeo desejado, armazenado no DB do usuário 14100. Por exemplo, o servidor de computação de nuvem 14000 recebe uma solicitação para reproduzir um vídeo armazenado no DB de usuário 14100, a partir de um terminal de usuário. Se esse vídeo estava sendo reproduzido, então um método de streaming esse vídeo, realizado pelo servidor de computação de nuvem 14000, pode variar de acordo coma solicitação a partir do terminal de usuário, isto é, de acordo com se o vídeo será reproduzido, começando de um início do mesmo ou um ponto de pausa do mesmo. Por exemplo, se o terminal de usuário solicitar a reprodução do video, começando a partir do inicio do mesmo, o servidor de computação de nuvem 14000 transmite dados de streaming do video começando a partir de um primeiro quadro do mesmo para o terminal de usuário. Se o terminal de usuário solicitar a reprodução do video, começando a partir do ponto de pausa do mesmo, o servidor de computação de nuvem 14000 transmite dados de streaming do video começando a partir de um quadro correspondendo ao ponto de pausa, para o terminal de usuário.
[000450] Nesse caso, o terminal de usuário pode incluir um aparelho de decodificação de video como descrito acima com referência às figuras 1A até 20. Como outro exemplo, o terminal de usuário pode incluir um aparelho de codificação de video como descrito acima com referência às figuras IA até 20. Alternativamente, o terminal de usuário pode incluir tanto o aparelho de decodificação de video como o aparelho de codificação de video como descrito acima com referência às figuras IA até 20.
[000451] Várias aplicações de um método de codificação de video, um método de decodificação de video, um aparelho de codificação de video, e um aparelho de decodificação de video de acordo com modalidades da presente invenção descrita acima com referência às figuras IA até 20 forma descritas acima com referência às figuras 21 a 27. Entretanto, os métodos de armazenar o método de codificação de video e o método de decodificação de video em um meio de armazenagem ou métodos de implementar o aparelho de codificação de video e o aparelho de decodificação de video em um dispositivo, de acordo com várias modalidades da presente invenção, não são limitados às modalidades descritas acima com referência às figuras 21 a 27.
[000452] Embora a presente invenção tenha sido particularmente mostrada e descrita com referência a modalidades exemplares da mesma, será entendido por uma pessoa com conhecimentos comuns na técnica que várias alterações em forma e detalhes podem ser feitas na mesma sem se afastar do espirito e escopo da invenção como definido pelas reivindicações a seguir. As modalidades exemplares devem ser consideradas em um sentido descritivo somente e não para fins de limitação. Portanto, o escopo da invenção é definido não pela descrição detalhada da invenção, porém pelas reivindicações a seguir, e todas as diferenças compreendidas no escopo serão interpretadas como sendo incluídas na presente invenção.

Claims (1)

1. APARELHO PARA DECODIFICAÇÃO DE VÍDEO, caracterizado por compreender: um processador que é configurado para compensar quanto a amostras de um bloco atual mediante uso de valores de deslocamento, em que: em resposta à determinação de que um parâmetro de deslocamento do bloco atual é determinado de acordo com um parâmetro de deslocamento de um bloco esquerdo, o processador é configurado para determinar um tipo de deslocamento de um componente luma do bloco atual usando um tipo de deslocamento e um componente luma do bloco esquerdo e determinando um tipo de deslocamento de um componente croma do bloco atual usando um tipo de deslocamento de um componente croma do bloco esquerdo; em resposta à determinação de que o parâmetro de deslocamento do bloco atual não é determinado de acordo com o parâmetro de deslocamento do bloco esquerdo, o processador é configurado para determinar se o parâmetro de deslocamento do bloco atual é determinado de acordo com um parâmetro de deslocamento de um bloco superior; em resposta à determinação de que o parâmetro de deslocamento do bloco atual é determinado de acordo com o parâmetro de deslocamento do bloco superior, o processador é configurado para determinar o tipo de deslocamento do componente luma do bloco atual usando um tipo de deslocamento de um componente luma do bloco superior e determinando o tipo de deslocamento do componente croma do bloco atual usando um tipo de deslocamento de um componente croma do bloco superior; em resposta à determinação de que o parâmetro de deslocamento do bloco atual não é determinado de acordo com o parâmetro de deslocamento do bloco superior, o processador é configurado para determinar, a partir de um fluxo de bits, a informação do tipo de deslocamento do componente luma do bloco atual e informação do tipo de deslocamento do componente croma do bloco atual; quando a informação do tipo de deslocamento do componente luma do bloco atual indica um tipo atual indica um tipo de deslocamento de borda, o processador é configurado para obter, a partir do feixe de bits, valores absolutos dos valores de deslocamento luma e uma classe de borda luma indicando uma direção de uma borda luma do bloco atual e compensando quanto a amostras luma do bloco atual mediante uso dos valores absolutos dos valores deslocados luma e da classe de borda luma; quando a informação do tipo de deslocamento do componente croma do bloco atual indica o tipo de deslocamento de borda, o processador é configurado para obter, a partir do feixe de bits, valores absolutos dos valores de deslocamento croma e classe de borda croma indicando uma direção de uma borda croma do bloco atual e compensando quanto a amostras croma do bloco atual mediante uso dos valores absolutos dos valores de deslocamento croma e da classe de borda croma; quando a informação do tipo de deslocamento do componente luma do bloco atual indica um tipo de deslocamento de borda, o processador é configurado para obter, a partir do fluxo de bits, valores de deslocamento luma, e compensando quanto a amostras luma do bloco atual mediante uso dos valores de deslocamento luma; e quando a informação do tipo de deslocamento do componente croma do bloco atual indica o tipo de deslocamento de borda, o processador é configurado para obter, a partir do fluxo de bits, os valores do deslocamento croma, e compensando quanto a amostras croma do bloco atual mediante uso dos valores de deslocamento croma.
BR112014015171-7A 2011-12-22 2012-12-21 Aparelho de decodificação de vídeo BR112014015171B1 (pt)

Priority Applications (1)

Application Number Priority Date Filing Date Title
BR122019019874-8A BR122019019874B1 (pt) 2011-12-22 2012-12-21 Método de decodificação de vídeo

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161579389P 2011-12-22 2011-12-22
US61/579,389 2011-12-22
PCT/KR2012/011275 WO2013095047A1 (ko) 2011-12-22 2012-12-21 최대 부호화 단위 별로 픽셀 분류에 따른 오프셋 조정을 이용하는 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치

Publications (3)

Publication Number Publication Date
BR112014015171A2 BR112014015171A2 (pt) 2017-06-13
BR112014015171A8 BR112014015171A8 (pt) 2017-07-04
BR112014015171B1 true BR112014015171B1 (pt) 2020-10-06

Family

ID=48668843

Family Applications (2)

Application Number Title Priority Date Filing Date
BR122019019874-8A BR122019019874B1 (pt) 2011-12-22 2012-12-21 Método de decodificação de vídeo
BR112014015171-7A BR112014015171B1 (pt) 2011-12-22 2012-12-21 Aparelho de decodificação de vídeo

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BR122019019874-8A BR122019019874B1 (pt) 2011-12-22 2012-12-21 Método de decodificação de vídeo

Country Status (16)

Country Link
US (5) US9571843B2 (pt)
EP (5) EP2785055A4 (pt)
JP (5) JP5893754B2 (pt)
KR (7) KR101529993B1 (pt)
CN (10) CN104869413B (pt)
AU (1) AU2012354420B2 (pt)
BR (2) BR122019019874B1 (pt)
CA (2) CA2860248C (pt)
MX (3) MX2014007445A (pt)
MY (1) MY177654A (pt)
PH (5) PH12014501262A1 (pt)
RU (3) RU2652505C1 (pt)
SG (4) SG10201509865UA (pt)
TW (5) TWI569635B (pt)
WO (1) WO2013095047A1 (pt)
ZA (1) ZA201405374B (pt)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9386304B2 (en) * 2008-11-11 2016-07-05 Cisco Technology, Inc. Digital video compression system, method and computer readable medium
GB201119206D0 (en) 2011-11-07 2011-12-21 Canon Kk Method and device for providing compensation offsets for a set of reconstructed samples of an image
US9253482B2 (en) 2011-11-08 2016-02-02 Texas Insturments Incorporated Method and apparatus for sample adaptive offset without sign coding
US9277194B2 (en) * 2011-11-08 2016-03-01 Texas Instruments Incorporated Method and apparatus for image and video coding using hierarchical sample adaptive band offset
JP2014197723A (ja) 2012-01-06 2014-10-16 ソニー株式会社 画像処理装置および方法
US9955152B2 (en) * 2012-02-07 2018-04-24 Sun Patent Trust Image coding method and image decoding method
US9282328B2 (en) * 2012-02-10 2016-03-08 Broadcom Corporation Sample adaptive offset (SAO) in accordance with video coding
US9380302B2 (en) * 2012-02-27 2016-06-28 Texas Instruments Incorporated Sample adaptive offset (SAO) parameter signaling
US10154257B2 (en) * 2012-04-13 2018-12-11 Sun Patent Trust Image coding method in which offset is applied when an image is coded, and image decoding method in which offset is applied when an image is decoded
MY166729A (en) * 2012-05-25 2018-07-18 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus
US9294766B2 (en) 2013-09-09 2016-03-22 Apple Inc. Chroma quantization in video coding
US10506259B2 (en) 2015-06-16 2019-12-10 Lg Electronics Inc. Method for encoding/decoding image, and device therefor
EP3291553A1 (en) * 2016-08-30 2018-03-07 Thomson Licensing Method and apparatus for video coding with sample adaptive offset
CN116647680A (zh) * 2016-10-28 2023-08-25 韩国电子通信研究院 视频编码/解码方法和设备以及存储比特流的记录介质
CN115174903A (zh) * 2017-01-20 2022-10-11 世宗大学校产学协力团 影像解码方法、影像编码方法及比特流的生成方法
WO2019082291A1 (ja) * 2017-10-25 2019-05-02 株式会社ソシオネクスト 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム
CN110197657B (zh) * 2019-05-22 2022-03-11 大连海事大学 一种基于余弦相似度的动态音声特征提取方法
CN113382246B (zh) * 2021-04-20 2024-03-01 浙江大华技术股份有限公司 编码方法、装置、电子设备及计算机可读存储介质
WO2023023174A1 (en) * 2021-08-19 2023-02-23 Beijing Dajia Internet Information Technology Co., Ltd. Coding enhancement in cross-component sample adaptive offset
EP4254948A1 (en) * 2022-03-31 2023-10-04 Beijing Xiaomi Mobile Software Co., Ltd. Encoding/decoding video picture partitionned in ctu grids
CN116506619A (zh) * 2022-04-27 2023-07-28 杭州海康威视数字技术股份有限公司 一种解码、编码方法、装置及其设备

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6279099B1 (en) * 1994-04-29 2001-08-21 Sun Microsystems, Inc. Central processing unit with integrated graphics functions
US7483581B2 (en) * 2001-07-02 2009-01-27 Qualcomm Incorporated Apparatus and method for encoding digital image data in a lossless manner
US7058369B1 (en) * 2001-11-21 2006-06-06 Pmc-Sierra Inc. Constant gain digital predistortion controller for linearization of non-linear amplifiers
ES2355656T3 (es) * 2002-04-18 2011-03-29 Kabushiki Kaisha Toshiba Procedimiento y aparato para decodificación de vídeo .
WO2004039083A1 (ja) * 2002-04-26 2004-05-06 Ntt Docomo, Inc. 画像符号化装置、画像復号装置、画像符号化方法、画像復号方法、画像符号化プログラム及び画像復号プログラム
WO2003098929A1 (fr) * 2002-05-20 2003-11-27 Sony Corporation Appareil et procede de traitement de signal video
DE10231613B4 (de) * 2002-07-12 2004-12-30 Atvisican Ag Verfahren zum Komprimieren und Dekomprimieren von Videobilddaten od. dgl.
GB2444992A (en) * 2006-12-21 2008-06-25 Tandberg Television Asa Video encoding using picture division and weighting by luminance difference data
US8644601B2 (en) * 2007-01-19 2014-02-04 Thomson Licensing Reducing contours in digital images
US8259928B2 (en) * 2007-04-23 2012-09-04 Microsoft Corporation Method and apparatus for reducing timestamp noise in audio echo cancellation
BRPI0813122A2 (pt) * 2007-07-02 2015-08-04 Nippon Telegraph & Telephone Método de codificação e método de decodificação de vídeo escalonável, aparelhos e programas para os mesmos, e meio de armazenamento que armazena os programas
AU2007231799B8 (en) * 2007-10-31 2011-04-21 Canon Kabushiki Kaisha High-performance video transcoding method
EP2192780A1 (en) * 2008-11-28 2010-06-02 Thomson Licensing Method for video decoding supported by Graphics Processing Unit
TW201130311A (en) 2009-06-10 2011-09-01 Panasonic Corp Image encoding method, image decoding method, and devices therefor
EP2262267A1 (en) 2009-06-10 2010-12-15 Panasonic Corporation Filter coefficient coding scheme for video coding
US20110194613A1 (en) 2010-02-11 2011-08-11 Qualcomm Incorporated Video coding with large macroblocks
KR101529992B1 (ko) 2010-04-05 2015-06-18 삼성전자주식회사 픽셀 그룹별 픽셀값 보상을 위한 비디오 부호화 방법과 그 장치, 및 픽셀 그룹별 픽셀값 보상을 위한 비디오 복호화 방법과 그 장치
CN102223525B (zh) * 2010-04-13 2014-02-19 富士通株式会社 视频解码方法和系统
US9094658B2 (en) * 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
US8660174B2 (en) * 2010-06-15 2014-02-25 Mediatek Inc. Apparatus and method of adaptive offset for video coding
WO2011143780A1 (en) * 2010-05-21 2011-11-24 Research In Motion Limited Methods and devices for reducing sources in binary entropy coding and decoding
US9456111B2 (en) * 2010-06-15 2016-09-27 Mediatek Inc. System and method for content adaptive clipping
US9055305B2 (en) * 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
PL3220641T3 (pl) * 2011-04-21 2019-07-31 Hfi Innovation Inc. Sposób i urządzenie do poprawionego filtrowania w pętli
US9008170B2 (en) * 2011-05-10 2015-04-14 Qualcomm Incorporated Offset type and coefficients signaling method for sample adaptive offset
US20120294353A1 (en) * 2011-05-16 2012-11-22 Mediatek Inc. Apparatus and Method of Sample Adaptive Offset for Luma and Chroma Components
US10038903B2 (en) * 2011-06-22 2018-07-31 Texas Instruments Incorporated Method and apparatus for sample adaptive offset parameter estimation in video coding
EP2728865A4 (en) 2011-06-28 2016-03-16 Samsung Electronics Co Ltd VIDEO CODING METHOD WITH ADJUSTED ADJUSTMENTS ACCORDING TO PIXEL CLASSIFICATION AND DEVICE THEREFOR, VIDEO CODING METHOD AND DEVICE THEREFOR
CN102291579B (zh) * 2011-07-06 2014-03-05 北京航空航天大学 一种快速的多目立体视频分形压缩与解压缩方法
US10070152B2 (en) * 2011-08-24 2018-09-04 Texas Instruments Incorporated Sample adaptive offset (SAO) parameter signaling
GB201119206D0 (en) * 2011-11-07 2011-12-21 Canon Kk Method and device for providing compensation offsets for a set of reconstructed samples of an image

Also Published As

Publication number Publication date
JP5893754B2 (ja) 2016-03-23
CN104869416B (zh) 2018-08-03
CN104012095A (zh) 2014-08-27
CN104869415B (zh) 2018-07-06
PH12017500038A1 (en) 2018-03-26
KR101603700B1 (ko) 2016-03-15
AU2012354420A1 (en) 2014-08-21
MX2014007445A (es) 2014-08-01
RU2609077C2 (ru) 2017-01-30
JP6017640B2 (ja) 2016-11-02
TWI569635B (zh) 2017-02-01
KR20150009496A (ko) 2015-01-26
CA2950943A1 (en) 2013-06-27
CN108683910A (zh) 2018-10-19
AU2012354420B2 (en) 2015-02-26
KR20150041767A (ko) 2015-04-17
CN104869414B (zh) 2018-09-11
JP6017638B2 (ja) 2016-11-02
KR101603686B1 (ko) 2016-03-15
US20140369420A1 (en) 2014-12-18
SG10201509865UA (en) 2015-12-30
TWI527436B (zh) 2016-03-21
TWI532368B (zh) 2016-05-01
WO2013095047A1 (ko) 2013-06-27
MY177654A (en) 2020-09-23
TWI569636B (zh) 2017-02-01
JP2015181305A (ja) 2015-10-15
KR101971226B1 (ko) 2019-04-22
US20150189287A1 (en) 2015-07-02
US9525882B2 (en) 2016-12-20
TW201625007A (zh) 2016-07-01
EP2785055A1 (en) 2014-10-01
EP2958326A1 (en) 2015-12-23
US9538195B2 (en) 2017-01-03
CN108881919A (zh) 2018-11-23
EP2958325A1 (en) 2015-12-23
JP2015181308A (ja) 2015-10-15
CN108683910B (zh) 2021-01-12
KR20180121455A (ko) 2018-11-07
CA2860248C (en) 2017-01-17
TW201334553A (zh) 2013-08-16
PH12014501262B1 (en) 2014-09-08
CN108881919B (zh) 2021-01-08
PH12014501262A1 (en) 2014-09-08
JP2015181307A (ja) 2015-10-15
PH12017500039A1 (en) 2018-03-26
PH12017500040A1 (en) 2018-03-26
KR101529993B1 (ko) 2015-06-18
CN104869412B (zh) 2018-10-12
PH12017500039B1 (en) 2018-03-26
KR20150041766A (ko) 2015-04-17
CN108495131A (zh) 2018-09-04
TWI569637B (zh) 2017-02-01
US9544606B2 (en) 2017-01-10
TW201625006A (zh) 2016-07-01
EP2947880A1 (en) 2015-11-25
RU2014130014A (ru) 2016-02-10
US20150189295A1 (en) 2015-07-02
MX354305B (es) 2018-02-23
CN104869413B (zh) 2018-09-18
PH12017500038B1 (en) 2018-03-26
CA2860248A1 (en) 2013-06-27
JP2015506603A (ja) 2015-03-02
JP6017639B2 (ja) 2016-11-02
CN104869413A (zh) 2015-08-26
SG10201707996XA (en) 2017-10-30
CN108513133A (zh) 2018-09-07
RU2652505C1 (ru) 2018-04-26
KR20130079208A (ko) 2013-07-10
KR101603696B1 (ko) 2016-03-15
TW201541943A (zh) 2015-11-01
BR122019019874B1 (pt) 2020-08-11
KR20150041765A (ko) 2015-04-17
CN108495131B (zh) 2020-12-01
EP2785055A4 (en) 2015-07-15
RU2678480C1 (ru) 2019-01-29
KR101603702B1 (ko) 2016-03-15
PH12017500041A1 (en) 2018-03-26
CN104012095B (zh) 2018-07-31
US9571843B2 (en) 2017-02-14
PH12017500041B1 (en) 2018-03-26
KR20150041764A (ko) 2015-04-17
CA2950943C (en) 2019-06-04
MX354336B (es) 2018-02-27
CN104869415A (zh) 2015-08-26
CN104869414A (zh) 2015-08-26
US20150189290A1 (en) 2015-07-02
SG11201403069SA (en) 2014-08-28
JP2015181306A (ja) 2015-10-15
SG10201503492WA (en) 2015-06-29
EP2961165A1 (en) 2015-12-30
JP5893790B2 (ja) 2016-03-23
BR112014015171A8 (pt) 2017-07-04
TW201625005A (zh) 2016-07-01
CN108513133B (zh) 2022-05-03
US9538194B2 (en) 2017-01-03
CN104869412A (zh) 2015-08-26
US20150189296A1 (en) 2015-07-02
CN104869416A (zh) 2015-08-26
ZA201405374B (en) 2019-04-24
PH12017500040B1 (en) 2018-03-26
BR112014015171A2 (pt) 2017-06-13

Similar Documents

Publication Publication Date Title
AU2017265158B2 (en) Method and apparatus for encoding videos sharing sao parameter according to color component
BR112014015171B1 (pt) Aparelho de decodificação de vídeo
BR112015001111B1 (pt) método de decodificação de desvio adaptativo de amostra (sao)
BR122015024099B1 (pt) Método de decodificação de vídeo
BR122015021736A2 (pt) aparelho para decodificar uma imagem
BR122021007881B1 (pt) Método de decodificação de vídeo, e método de codificação de vídeo
BR112014010189B1 (pt) Método de intrapredição de um vídeo
CA2897599A1 (en) Encoding and decoding using constraint information for arrangement of samples of a picture from a video data stream
EP3179724A1 (en) Video encoding/decoding method and device for controlling reference image data according to reference frequency
KR20190018938A (ko) 비정형적 분할을 이용한 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
EP3073739A1 (en) Video encoding method using inter-view prediction and device thereof, and video decoding method and device thereof
AU2015202634B2 (en) Video encoding method using offset adjustment according to classification of pixels by maximum encoding units and apparatus thereof, and video decoding method and apparatus thereof
BR122020014045B1 (pt) Aparelho para decodificar um vídeo
BR122020014034B1 (pt) Método de intrapredição de um vídeo
BR122020014050B1 (pt) Método de intrapredição de um vídeo
BR122020014040B1 (pt) Aparelho para decodificar um vídeo

Legal Events

Date Code Title Description
B15K Others concerning applications: alteration of classification

Ipc: H04N 7/00 (2011.01)

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04N 7/00

Ipc: H04N 19/117 (2014.01), H04N 19/14 (2014.01), H04N

B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 21/12/2012, OBSERVADAS AS CONDICOES LEGAIS.