BR112013017395B1 - Método decodificador de vídeo, e método codificador de vídeo - Google Patents

Método decodificador de vídeo, e método codificador de vídeo Download PDF

Info

Publication number
BR112013017395B1
BR112013017395B1 BR112013017395-5A BR112013017395A BR112013017395B1 BR 112013017395 B1 BR112013017395 B1 BR 112013017395B1 BR 112013017395 A BR112013017395 A BR 112013017395A BR 112013017395 B1 BR112013017395 B1 BR 112013017395B1
Authority
BR
Brazil
Prior art keywords
unit
transformation
coding
depth
information
Prior art date
Application number
BR112013017395-5A
Other languages
English (en)
Other versions
BR112013017395A2 (pt
Inventor
Sun-Il Lee
Hae-kyung JUNG
Min-su CHEON
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 BR122018076837-1A priority Critical patent/BR122018076837B1/pt
Publication of BR112013017395A2 publication Critical patent/BR112013017395A2/pt
Publication of BR112013017395B1 publication Critical patent/BR112013017395B1/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/53Multi-resolution motion estimation; Hierarchical motion 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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • 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
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/18Methods 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 set of transform coefficients
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/192Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding the adaptation method, adaptation tool or adaptation type being iterative or recursive
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • 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/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
    • 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/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

método decodificador de vídeo, aparelho decodificador de vídeo, método codificador de vídeo, e dispositivo codificador de vídeo. são divulgados um método e um dispositivo para codificar um vídeo usando uma unidade de dados de uma estrutura hierárquica, e um método e um dispositivo para sua decodificação. de acordo com uma forma de realização da presente invenção, um aparelho de codificação de vídeo com base em uma unidade de dados de uma estrutura hierárquica; determina um modelo de contexto que é usado para codificação por entropia de um símbolo com base nas informações hierárquicas de uma unidade de dados, à qual pertence um símbolo para o quadro codificado; e codifica por entropia o símbolo usando o modela de contexto determinado.

Description

Domínio Técnico
[0001] A presente invenção refere-se à codificação e decodificação de vídeo e, mais particularmente, à codificação e decodificação de um símbolo de um codec de vídeo.
Arte Anterior
[0002] De acordo com métodos de compressão de imagem, tais como codificação avançada de vídeo (AVC) MPEG-1, MPEG-2 ou MPEG-4 H.264/MPEG-4, uma imagem é dividida em blocos tendo um tamanho predeterminado e, em seguida, dados residuais dos blocos são obtidos por previsão inter ou previsão intra. Dados residuais são comprimidos por transformação, quantização, digitalização, compressão RLC, e codificação por entropia. Na codificação por entropia, um elemento de sintaxe, como um coeficiente de transformada discreta de cosseno (DCT) ou um vetor de movimento, é codificado por entropia para emitir um fluxo de bits. Na ponta de um decodificador, elementos de sintaxe são extraídos do fluxo de bits, e decodificação é realizada com base nos elementos extraídos da sintaxe.
Descrição Detalhada da Invenção Problema Técnico
[0003] A presente invenção fornece um método e dispositivo para codificar e decodificar por entropia, eficientemente, símbolos que são informações de imagem, selecionando um modelo de contexto de um codec de imagem com base em unidades de dados estruturados de modo hierárquico, usando informações de estrutura hierárquica.
Solução Técnica
[0004] De acordo com um aspecto da presente invenção, codificação e decodificação por entropia são executadas, selecionando um modelo de contexto com base em uma combinação de informações de estrutura hierárquica e informações adicionais relacionadas à codificação, diferentes das informações de estrutura hierárquica.
Efeitos Vantajosos
[0005] De acordo com a presente invenção, uma eficiência de compressão de video com base em uma unidade de dados estruturados de modo hierárquico pode ser melhorada.
Descrição dos Desenhos
[0006] A Fig. 1 é um diagrama de blocos de um dispositivo para codificar um video, de acordo com uma forma de realização da presente invenção;
[0007] a Fig. 2 é um diagrama de blocos de um dispositivo para decodificar um video, de acordo com uma forma de realização da presente invenção;
[0008] a Fig. 3 é um diagrama para descrever um conceito de unidades de codificação, de acordo com uma forma de realização da presente invenção;
[0009] a Fig. 4 é um diagrama de blocos de um codificador de video, com base em unidades de codificação com uma estrutura hierárquica, de acordo com uma forma de realização da presente invenção;
[00010] a Fig. 5 é um diagrama de blocos de um decodificador de video, com base em unidades de codificação com uma estrutura hierárquica, de acordo com uma forma de realização da presente invenção;
[00011] a Fig. 6 é um diagrama, ilustrando unidades de codificação, de acordo com profundidades e partições, de acordo com uma forma de realização da presente invenção;
[00012] a Fig. 7 é um diagrama para descrever uma relação entre unidades de codificação e unidades de transformação, de acordo com uma forma de realização da presente invenção;
[00013] a Fig. 8 é um diagrama para descrever informações de codificação, de acordo com profundidades, de acordo com uma forma de realização da presente invenção;
[00014] a Fig. 9 é um diagrama para descrever unidades de codificação, de acordo com profundidades, de acordo com uma forma de realização da presente invenção;
[00015] as Fig. 10, 11 e 12 são diagramas para descrever uma relação entre uma unidade de codificação, uma unidade de previsão, e uma unidade de transformação de frequência, de acordo com uma forma de realização da presente invenção;
[00016] a Fig. 13 é um diagrama para descrever uma relação entre uma unidade de codificação, uma unidade de previsão, e uma unidade de transformação, de acordo com informações do modo de codificação da Tabela 1;
[00017] a Fig. 14 é um diagrama de blocos, que ilustra uma estrutura de um aparelho de codificação por entropia, de acordo com uma forma de realização da presente invenção;
[00018] a Fig. 15 ilustra uma unidade de dados estruturados de modo hierárquico e informações de divisão da unidade de dados estruturados de modo hierárquico, de acordo com uma forma de realização da presente invenção;
[00019] as Figs. 16 e 17 são vistas de referência, ilustrando símbolos indicando uma unidade de dados estruturados de modo hierárquico, de acordo com uma forma de realização da presente invenção;
[00020] a Fig. 18 é uma vista de referência para descrever um processo de codificação por entropia de um coeficiente de transformação, de acordo com uma forma de realização da presente invenção;
[00021] a Fig. 19 ilustra indices de contexto para determinar um modelo de contexto com base no tamanho de uma unidade de dados, de acordo com uma forma de realização da presente invenção;
[00022] a Fig. 20 é uma vista de referência, ilustrando um modelo de contexto, de acordo com uma forma de realização da presente invenção;
[00023] a Fig. 21 é um gráfico de um valor de probabilidade de ocorrência de MPS, de acordo com uma forma de realização da presente invenção;
[00024] a Fig. 22 ilustra indices de contexto para determinar um modelo de contexto com base no tamanho de uma unidade de dados, de acordo com outra forma de realização da presente invenção;
[00025] as Figs. 23 e 24 são vistas de referência, ilustrando um conjunto de tabelas de mapeamento do indice de contexto com base em informações sobre a posição de uma unidade de dados, de acordo com uma forma de realização da presente invenção;
[00026] a Fig. 25 é uma vista de referência, ilustrando a determinação de um indice de contexto com base em uma combinação de informações hierárquicas e informações adicionais, que não sejam as informações hierárquicas, de acordo com uma forma de realização da presente invenção;
[00027] a Fig. 26 é um diagrama para descrever um processo de codificação aritmética binária realizado por um codificador normal da Fig. 14;
[00028] a Fig. 27 é urn fluxograma de um método de codificação de video, utilizando uma unidade de dados estruturados de modo hierárquico, de acordo com uma forma de realização da presente invenção;
[00029] a Fig. 28 é um diagrama de blocos, que ilustra uma estrutura de um aparelho de decodificação por entropia, de acordo com uma forma de realização da presente invenção; e
[00030] a Fig. 29 é um fluxograma de um método decodificador de video, usando uma unidade de dados estruturados de modo hierárquico, de acordo com outra forma de realização da presente invenção.
Melhor Modo
[00031] De acordo com um aspecto da presente invenção, é fornecido um método de codificação de video, compreendendo: codificar um quadro formando o video baseado em uma unidade de dados estruturados de modo hierárquico; determinar um modelo de contexto usado para codificação por entropia do simbolo baseado em informações hierárquicas de uma unidade de dados, à qual pertence o simbolo do quadro codificado; e codificar por entropia o simbolo usando o modelo de contexto determinado.
[00032] De acordo com outro aspecto da presente invenção, é fornecido um dispositivo codificador de video, compreendendo: um codificador hierárquico para codificar um quadro formando o video baseado em uma unidade de dados estruturados de modo hierárquico; e um codificador de entropia para determinar um modelo de contexto usado para codificação por entropia de um simbolo com base em informações hierárquicas de uma unidade de dados, à qual pertence o simbolo do quadro codificado, e codificar o simbolo usando o modelo de contexto determinado.
[00033] De acordo com outro aspecto da presente invenção, é fornecido um método decodificador de video, compreendendo: extrair um simbolo de um quadro codificado, baseado em uma unidade de dados estruturados de modo hierárquico, pela análise de um fluxo de bits codificado; determinar um modelo de contexto usado para decodificação por entropia do simbolo baseado em informações hierárquicas de uma unidade de dados, à qual o simbolo pertence; e decodificar por entropia o simbolo, usando o modelo de contexto determinado.
[00034] De acordo com outro aspecto da presente invenção, é fornecido um aparelho de decodificação de video, compreendendo: uma unidade de extração de simbolo para extrair um simbolo de um quadro codificado, com base em uma unidade de dados estruturados de modo hierárquico, pela análise de um fluxo de bits codificado; e um decodificador de entropia para determinar um modelo de contexto usado para decodificação por entropia do simbolo, com base em informações hierárquicas de uma unidade de dados, à qual o simbolo pertence, e decodificar por entropia o simbolo usando o modelo de contexto determinado.
Modo da Invenção
[00035] Adiante, uma "imagem" descrita em várias formas de realização do presente Pedido pode ser um conceito abrangente, referindo-se não apenas a uma imagem estática, mas também a uma imagem de video.
[00036] Quando várias operações são realizadas com dados relacionados a uma imagem, os dados relacionados à imagem são divididos em grupos de dados, e a mesma operação pode ser executada com dados incluidos no mesmo grupo de dados. Neste relatório descritivo, um grupo de dados, formado de acordo com normas predeterminadas, é referido como uma "unidade de dados". Adiante, uma operação realizada em cada "unidade de dados" é entendida como realizada, utilizando dados incluídos em uma unidade de dados.
[00037] Adiante, um método e dispositivo para codificação e decodificação de video, em que um simbolo tendo uma estrutura em árvore é codificado ou decodificado com base em uma unidade de transformação e uma unidade de codificação tendo uma estrutura em árvore, de acordo com uma forma de realização da presente invenção, serão descritos com referência às Figuras 1 a 13. Além disso, o método de codificação e decodificação por entropia usado na codificação e decodificação de video, descrito com referência às Figuras 1 a 13, será descrito em detalhes com referência às FIGS. 14 a 29.
[00038] A Fig. 1 é um diagrama de blocos de um aparelho de codificação de video 100, segundo uma forma de realização da presente invenção.
[00039] O aparelho de codificação de video 100 inclui um codificador hierárquico 110 e um codificador de entropia 120.
[00040] O codificador hierárquico 110 pode dividir um quadro atual a ser codificado, em unidades de dados predeterminados para realizar codificação em cada uma das unidades de dados. Em detalhes, o codificador hierárquico 110 pode dividir um quadro atual com base em uma unidade de codificação máxima, que é uma unidade de codificação de um tamanho máximo. A unidade de codificação máxima, de acordo com uma forma de realização da presente invenção, pode ser uma unidade de dados tendo um tamanho de 32 x 32, 64 x 64, 128 x 128, 256 x 256 etc., em que um formato da unidade de dados é um quadrado, que tem uma largura e comprimento em quadrados de 2 e é maior que 8.
[00041] Uma unidade de codificação, de acordo com uma forma de realização da presente invenção, pode ser caracterizada por um tamanho máximo e uma profundidade. A profundidade denota o número de vezes que a unidade de codificação é dividida espacialmente a partir da unidade de codificação máxima, e conforme a profundidade aumenta, unidades de codificação de acordo com profundidades podem ser divididas, a partir da unidade de codificação máxima em uma unidade de codificação minima. Uma profundidade da unidade de codificação máxima é uma profundidade mais superior, e uma profundidade da unidade de codificação minima é uma profundidade mais inferior. Uma vez que um tamanho de uma unidade de codificação correspondente a cada profundidade diminui, à medida que a profundidade da unidade de codificação máxima aumenta, uma unidade de codificação correspondente a uma profundidade superior pode incluir uma pluralidade de unidades de codificação correspondente às profundidades inferiores.
[00042] Conforme acima descrito, dados de imagem do quadro atual são divididos nas unidades de codificação máxima, de acordo com um tamanho máximo da unidade de codificação, e cada uma das unidades de codificação máxima pode incluir unidades de codificação, que são divididas de acordo com profundidades. Uma vez que a unidade de codificação máxima, de acordo com uma forma de realização da presente invenção, é dividida de acordo com profundidades, os dados de imagem de um dominio espacial incluído na unidade de codificação máxima podem ser classificados hierarquicamente, de acordo com profundidades.
[00043] Uma profundidade máxima e um tamanho máximo de uma unidade de codificação, que limitam o número total de vezes que uma altura e uma largura da unidade de codificação máxima são divididas hierarquicamente, podem ser predeterminados.
[00044] O codificador hierárquico 110 codifica pelo menos uma região de divisão obtida, dividindo-se uma região da unidade de codificação máxima, de acordo com profundidades, e determina uma profundidade para emitir, finalmente, dados de imagem codificados, de acordo com pelo menos uma região de divisão. Em outras palavras, o codificador hierárquico 110 determina uma profundidade codificada, por codificação dos dados de imagem nas unidades de codificação, de acordo com profundidades, de acordo com a unidade de codificação máxima do quadro atual, e selecionando uma profundidade tendo o menor erro de codificação. A profundidade codificada determinada e os dados de imagem codificados, de acordo com unidades de codificação máxima, são emitidos para o codificador de entropia 120.
[00045] Os dados de imagem na unidade de codificação máxima são codificados com base nas unidades de codificação correspondentes a pelo menos uma profundidade igual ou menor à profundidade máxima, e resultados de codificação dos dados de imagem são comparados com base em cada uma das unidades de codificação, de acordo com profundidades. Uma profundidade tendo o menor erro de codificação pode ser selecionada, depois de comparar os erros de codificação das unidades de codificação, de acordo com profundidades. Pelo menos uma profundidade codificada pode ser escolhida para cada unidade de codificação máxima.
[00046] O tamanho da unidade de codificação máxima é dividido, quando uma unidade de codificação é hierarquicamente dividida, de acordo com profundidades, e quando o número de unidades de codificação aumenta. Além disso, mesmo que as unidades de codificação correspondam a uma mesma profundidade em uma unidade de codificação máxima, é determinada a condição de se dividir cada uma das unidades de codificação correspondentes à mesma profundidade a uma profundidade inferior, medindo-se um erro de codificação dos dados de imagem de cada unidade de codificação, separadamente. Nesse sentido, mesmo quando dados de imagem forem incluidos em uma unidade de codificação máxima, os dados de imagem são divididos em regiões, de acordo com profundidades, e os erros de codificação podem variar, de acordo com as regiões na unidade de codificação máxima e, assim, as profundidades codificadas podem diferir, de acordo com regiões nos dados de imagem. Assim, uma ou mais profundidades codificadas podem ser determinadas em uma unidade de codificação máxima, e os dados de imagem da unidade de codificação máxima podem ser divididos, de acordo com unidades de codificação de pelo menos uma profundidade codificada.
[00047] Nesse sentido, o codificador hierárquico 110 pode determinar unidades de codificação tendo uma estrutura em árvore incluida na unidade de codificação máxima. As 'unidades de codificação tendo uma estrutura em árvore', de acordo com uma forma de realização da presente invenção, incluem unidades de codificação correspondentes a uma profundidade determinada como sendo a profundidade codificada, dentre todas as unidades de codificação, de acordo com profundidades incluídas na unidade de codificação máxima. Uma unidade de codificação tendo uma profundidade codificada pode ser hierarquicamente determinada, de acordo com profundidades na mesma região da unidade de codificação máxima, e pode ser determinada de forma independente em diferentes regiões. Da mesma forma, uma profundidade codificada em uma região atual pode ser determinada independentemente de uma profundidade codificada em outra região.
[00048] Uma profundidade máxima, de acordo com uma forma de realização da presente invenção, é um indice relacionado ao número de vezes que a divisão é realizada, a partir de uma unidade de codificação máxima em uma unidade de codificação minima. Uma primeira profundidade máxima, de acordo com uma forma de realização da presente invenção, pode denotar o número total de vezes em que a divisão é realizada, a partir de da unidade de codificação máxima para a unidade de codificação minima. Uma segunda profundidade máxima, de acordo com uma forma de realização da presente invenção, pode denotar o número total de niveis de profundidade, a partir da unidade de codificação máxima para a unidade de codificação minima. Por exemplo, quando uma profundidade da unidade de codificação máxima for 0, uma profundidade de uma unidade de codificação, em que a unidade de codificação máxima é dividida uma vez, pode ser definida como 1, e uma profundidade de uma unidade de codificação, em que a unidade de codificação máxima é dividida duas vezes, pode ser definida como 2. Aqui, se a unidade de codificação minima for uma unidade de codificação, em que a unidade de codificação máxima é dividida quatro vezes, existem cinco niveis de profundidade 0, 1, 2, 3 e 4 e, assim, a primeira profundidade máxima pode ser definida como 4, e a segunda profundidade máxima pode ser definida como 5.
[00049] Codificação de previsão e transformação podem ser realizadas, de acordo com a unidade de codificação máxima. A codificação de previsão e a transformação também são executadas com base nas unidades de codificação, de acordo com uma profundidade igual ou profundidades menores do que a profundidade máxima, de acordo com a unidade de codificação máxima.
[00050] Uma vez que o número de unidades de codificação, de acordo com profundidades, aumenta, sempre que a unidade de codificação máxima é dividida, de acordo com profundidades, codificação incluindo a codificação de previsão e a transformação é realizada em todas as unidades de codificação, de acordo com profundidades geradas, quando a profundidade se aumenta. Para conveniência de descrição, a codificação de previsão e a transformação serão agora descritas com base em uma unidade de codificação de uma profundidade atual, em uma unidade de codificação máxima.
[00051] O aparelho de codificação de video 100 pode selecionar, de modo variável, um tamanho ou formato de uma unidade de dados para codificar os dados de imagem. Para codificar os dados de imagem, operações, tais como codificação de previsão, transformação, e codificação por entropia, são executadas e, neste momento, a mesma unidade de dados pode ser usada para todas as operações, ou diferentes unidades de dados podem ser utilizadas para cada operação.
[00052] Por exemplo, o aparelho de codificação de video 100 pode selecionar, não só uma unidade de codificação para codificar os dados de imagem, mas também uma unidade de dados diferente da unidade de codificação, a fim de realizar a codificação de previsão nos dados de imagem, na unidade de codificação.
[00053] Para realizar codificação de previsão na unidade de codificação máxima, a codificação de previsão pode ser realizada com base em uma unidade de codificação correspondente a uma profundidade codificada, isto é, com base em uma unidade de codificação, que não é mais dividida em unidades de codificação correspondentes a uma menor profundidade. A seguir, a unidade de codificação, que não é mais dividida e se torna uma unidade de base para codificação de previsão, será agora designada como uma 'unidade de previsão'. Uma partição obtida, dividindo-se a unidade de previsão, pode incluir uma unidade de previsão ou uma unidade de dados obtida, dividindo-se pelo menos uma dentre altura e largura da unidade de previsão.
[00054] Por exemplo, quando uma unidade de codificação de 2N x 2N (onde N é um número inteiro positivo) não for mais dividida e se torna uma unidade de previsão de 2N * 2N, um tamanho de uma partição pode ser 2N x 2N, 2N x N, N x 2N, ou N x N. Exemplos de um tipo de partição incluem partições simétricas, que são obtidas dividindo-se simetricamente uma altura ou largura da unidade de previsão, partições obtidas dividindo-se assimetricamente a altura ou largura da unidade de previsão, como l:n ou n:l, partições que são obtidas dividindo- se geometricamente a unidade de previsão, e partições tendo formatos arbitrários.
[00055] Um modo de previsão da unidade de previsão pode ser pelo menos um dentre um modo intra, um modo inter, e um modo de salto. Por exemplo, o modo intra ou o modo inter pode ser executado na partição de 2N x 2N, 2N x N, N x 2N, ou N x N. Além disso, o modo de salto pode ser realizado somente na partição de 2N x 2N. A codificação é realizada de modo independente em uma unidade de previsão de uma unidade de codificação, selecionando, assim, um modo de previsão tendo o menor erro de codificação.
[00056] O aparelho de codificação de video 100 também pode efetuar a transformação nos dados de imagem em uma unidade de codificação, baseado não apenas na unidade de codificação para codificar os dados de imagem, mas também com base em uma unidade de dados, que é diferente da unidade de codificação.
[00057] Para realizar a transformação na unidade de codificação, a transformação pode ser realizada com base 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.
[00058] Uma unidade de dados usada como base da transformação será agora referida como uma 'unidade de transformação'. Da mesma forma que para a unidade de codificação, a unidade de transformação na unidade de codificação pode ser recursivamente dividida em regiões de menor tamanho, para que a unidade de transformação possa ser determinada de forma independente, em unidades de regiões. Assim, dados residuais na unidade de codificação podem ser divididos, de acordo com a unidade de transformação tendo a estrutura em árvore, de acordo com profundidades de transformação.
[00059] Uma profundidade de transformação, indicando o número de vezes que a divisão é realizada para alcançar a unidade de transformação, dividindo-se 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 2N x 2N, uma profundidade de transformação pode ser 0, quando o tamanho de uma unidade de transformação for 2N x 2N, pode ser 1, quando o tamanho de uma unidade de transformação for N x N, e pode ser 2, quando o tamanho de uma unidade de transformação for N/2 x N/2. Ou seja, a unidade de transformação, tendo a estrutura em árvore, também pode ser definida de acordo com profundidades de transformação.
[00060] Informações de codificação, de acordo com unidades de codificação correspondentes a uma profundidade codificada, requerem não só informações sobre a profundidade codificada, mas também informações sobre codificação de previsão e transformação. Assim, o codificador hierárquico 110 não só determina uma profundidade codificada tendo o menor erro de codificação, mas também determina um tipo de partição em uma unidade de previsão, um modo de previsão de acordo com unidades de previsão, e um tamanho de uma unidade de transformação para transformação.
[00061] Unidades de codificação, de acordo com uma estrutura em árvore em uma unidade de codificação máxima, e um método de determinação de uma partição, de acordo com formas de realização da presente invenção, serão descritos em detalhes mais tarde com referência às Figuras 3 a 12.
[00062] O codificador hierárquico 110 pode medir um erro de codificação de unidade de codificação, de acordo com profundidades, usando Otimização de Taxa-distorção baseada em multiplicadores de Lagrange.
[00063] O codificador de entropia 120 emite os dados de imagem da unidade de codificação máxima, que são codificados baseado em pelo menos uma profundidade codificada, determinada pelo menos pelo codificador hierárquico 110, e informações sobre o modo de codificação, de acordo com a profundidade codificada, em um fluxo de bits. Os dados de imagem codificados podem ser um resultado da codificação de dados residuais de uma imagem. As informações sobre o modo de codificação, de acordo com a profundidade codificada, podem incluir informações sobre a profundidade codificada, informações sobre o tipo de partição na unidade de previsão, informações sobre o modo de previsão, e informações sobre o tamanho da unidade de transformação. Em particular, como será descrito mais tarde, ao codificar os dados de imagem da unidade de codificação máxima e simbolos relacionados a um modo de codificação, de acordo com profundidades, o codificador de entropia 120 pode executar codificação de entropia, selecionando um modelo de contexto com base em informações da estrutura hierárquica da unidade de dados estruturados de modo hierárquico, acima descrita, e informações sobre um componente de cor usado em um método de codificação de video, que não seja a estrutura hierárquica.
[00064] As informações sobre a profundidade codificada podem ser definidas, usando informações de divisão, de acordo com profundidades, o que indica se a codificação foi executada em unidades de codificação de uma menor profundidade, em vez 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 emitidos e, portanto, as informações de divisão podem ser definidas, para não dividir a unidade de codificação atual em uma menor profundidade. Alternativamente, se a profundidade atual da unidade de codificação atual não for a profundidade codificada, a codificação é realizada na unidade de codificação da profundidade inferior e, assim, as informações de divisão podem ser definidas, para dividir a unidade de codificação atual, para obter as unidades de codificação da profundidade inferior.
[00065] Se a profundidade atual não for a profundidade codificada, codificação é realizada na unidade de codificação, que foi 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 é executada repetidamente em cada unidade de codificação da profundidade inferior e, portanto, a codificação pode ser recursivamente realizada para as unidades de codificação tendo a mesma profundidade.
[00066] Uma vez que as unidades de codificação tendo uma estrutura em árvore são determinadas para uma unidade de codificação máxima, 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 unidade de codificação máxima. Além disso, uma profundidade codificada dos dados de imagem da unidade de codificação máxima pode ser diferente, de acordo com locais, uma vez que os dados de imagem são divididos hierarquicamente, de acordo com profundidades e, assim, informações sobre a profundidade codificada e o modo de codificação podem ser definidas para os dados de imagem.
[00067] Assim, o codificador de entropia 120 pode atribuir informações de codificação sobre uma profundidade codificada correspondente e um modo de codificação para pelo menos uma dentre a unidade de codificação, a unidade de previsão, e uma unidade minima incluída na unidade de codificação máxima.
[00068] A unidade minima, de acordo com uma forma de realização da presente invenção, é uma unidade de dados em forma de quadrado obtida, dividindo-se a unidade de codificação minima, que constitui a profundidade inferior, por 4. Alternativamente, a unidade minima pode ser uma unidade máxima de dados em forma de quadrado, que pode ser incluida em todas as unidades de codificação, unidades de previsão, unidades de partição, e unidades de transformação, incluídas na unidade de codificação máxima.
[00069] Por exemplo, as informações de codificação emitidas através do codificador de entropia 120 podem ser classificadas em informações de codificação, de acordo com unidades de codificação, e informações de codificação, de acordo com unidades de previsão. As informações de codificação, de acordo com as unidades de codificação, podem incluir as informações sobre o modo de previsão e sobre o tamanho das partições. As informações de codificação, de acordo com as unidades de previsão, podem incluir informações sobre uma direção estimada de um modo inter, sobre um indice de imagem de referência do modo inter, sobre um vetor de movimento, sobre um componente de crominância de um modo intra, e sobre um método de interpolação do modo intra. Além disso, informações sobre um tamanho máximo da unidade de codificação, definida de acordo com quadros, fatias, ou um grupo de quadros (GOP), e informações sobre uma profundidade máxima, podem ser inseridas em um cabeçalho de um fluxo de bits.
[00070] No aparelho de codificação de video 100, a unidade de codificação, de acordo com profundidades, pode ser uma unidade de codificação obtida, dividindo-se 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 for 2N x 2N, o tamanho da unidade de codificação da profundidade inferior é N x N. Além disso, a unidade de codificação da profundidade atual tendo o tamanho de 2N x 2N pode incluir um número máximo de quatro unidades de codificação da profundidade inferior.
[00071] Nesse sentido, o aparelho de codificação de video 100 pode formar as unidades de codificação tendo a estrutura em árvore, determinando unidades de codificação tendo um formato ideal e um tamanho ideal para cada unidade de codificação máxima, com base no tamanho da unidade de codificação máxima e na profundidade máxima determinada, tendo em conta as características do quadro atual. Além disso, uma vez que a codificação pode ser realizada em cada unidade de codificação máxima, usando qualquer um dos vários modos de previsão e transformações, um modo de codificação ideal pode ser determinado, considerando as características da unidade de codificação de vários tamanhos de imagem.
[00072] Assim, se uma imagem com uma alta resolução ou uma grande quantidade de dados for codificada em um macrobloco convencional, um número de macroblocos por quadro aumenta excessivamente. Assim, um número de segmentos de informações compactadas, geradas para cada macrobloco, aumenta e, assim, é dificil transmitir as informações compactadas, e a eficiência de compressão de dados diminui. No entanto, usando o aparelho de codificação de video 100, a eficiência de compressão de imagem pode ser aumentada, uma vez que uma unidade de codificação é ajustada, considerando, ao mesmo tempo, as características de uma imagem, ao aumentar um tamanho máximo de uma unidade de codificação, enquanto que considerando um tamanho da imagem.
[00073] A Fig. 2 é um diagrama de blocos de um aparelho de decodificação de video 200, segundo uma forma de realização da presente invenção.
[00074] O aparelho de decodificação de video 200 inclui uma unidade de extração de simbolos 210, um decodificador de entropia 220, e um decodificador hierárquico 230. Definições de vários termos, como uma unidade de codificação, uma profundidade, uma unidade de previsão, uma unidade de transformação, e informações sobre os vários modos de codificação, para diversas operações do aparelho decodificador de video 200, são idênticas às descritas com referência à Fig. 1 e ao aparelho de codificação de video 100.
[00075] A unidade de extração de símbolos 210 recebe e analisa um fluxo de bits de um video codificado. O decodificador de entropia 220 extrai dados de imagem codificados para cada unidade de codificação do fluxo de bits analisado, em que as unidades de codificação têm uma estrutura em árvore, de acordo com cada unidade de codificação máxima, e envia os dados de imagem extraídos para o decodificador hierárquico 230. O decodificador de entropia 220 pode extrair informações sobre o tamanho máximo de uma unidade de codificação de um quadro atual, a partir de um cabeçalho do quadro atual.
[00076] Além disso, o decodificador de entropia 220 extrai informações sobre uma profundidade codificada e um modo de codificação para as unidades de codificação tendo uma estrutura em árvore, de acordo com cada unidade de codificação máxima, do fluxo de bits analisado. As informações extraídas sobre a profundidade codificada e o modo de codificação são emitidas para o decodificador hierárquico 230. Em outras palavras, os dados de imagem em um fluxo de bits são divididos na unidade de codificação máxima, para que o decodificador hierárquico 230 possa decodificar os dados de imagem para cada unidade de codificação máxima.
[00077] As informações sobre a profundidade codificada e o modo de codificação, de acordo com a unidade de codificação máxima, podem ser definidas para informações sobre pelo menos uma unidade de codificação correspondente à 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 correspondendo à profundidade codificada, sobre um modo de previsão, e um tamanho de uma unidade de transformação. Além disso, informações de divisão, de acordo com profundidades, podem ser extraídas como as informações sobre a profundidade codificada.
[00078] As informações sobre a profundidade codificada e o modo de codificação, de acordo com cada unidade de codificação máxima extraida pelo decodificador de entropia 220, são informações sobre uma profundidade codificada e um modo de codificação, determinadas para gerar um menor erro de codificação, quando um codificador, tal como o aparelho de codificação de video 100, executa repetidamente a codificação para cada unidade de codificação, de acordo profundidades, de acordo com cada unidade de codificação máxima. Nesse sentido, o aparelho de decodificação de video 200 pode restaurar uma imagem, pela decodificação dos dados de imagem, de acordo com uma profundidade codificada e um modo de codificação, que gera o menor erro de codificação.
[00079] 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 dentre uma unidade de codificação correspondente, uma unidade de previsão, e uma unidade minima, o decodificador de entropia 220 pode extrair as informações sobre a profundidade codificada e o modo de codificação, de acordo com as unidades de dados predeterminadas. As unidades de dados predeterminadas, às quais as mesmas informações sobre a profundidade codificada e o modo de codificação são atribuidas, podem ser deduzidas como sendo as unidades de dados incluidas na mesma unidade de codificação máxima.
[00080] Além disso, conforme será descrito mais tarde, ao decodificar os dados de imagem da unidade de codificação máxima e simbolos relacionados a um modo de codificação, de acordo com profundidades, o decodificador de entropia 220 pode realizar decodificação por entropia, selecionando um modelo de contexto com base nas informações de estrutura hierárquica da unidade de dados estruturados de modo hierárquico, acima descrita, e informações sobre várias informações, como um componente de cor diferente da estrutura hierárquica.
[00081] O decodificador hierárquico 230 restaura o quadro atual, por decodificação dos dados de imagem em cada unidade de codificação máxima, com base nas informações sobre a profundidade codificada e o modo de codificação, de acordo com as unidades de codificação máxima. Em outras palavras, o decodificador hierárquico 230 pode decodificar os dados de imagem codificados, com base nas informações extraídas sobre o tipo de partição, o modo de previsão, e a unidade de transformação para cada unidade de codificação dentre as unidades de codificação tendo a estrutura em árvore incluidas em cada unidade de codificação máxima. Um processo de decodificação pode incluir previsão, incluindo previsão intra e compensação de movimento, e transformação inversa.
[00082] O decodificador hierárquico 230 pode realizar previsão intra ou compensação de movimento, de acordo com uma partição e um modo de previsão de cada unidade de codificação, com base nas informações sobre o tipo de partição e o modo de previsão da unidade de previsão da unidade de codificação, de acordo com profundidades codificadas.
[00083] Além disso, o decodificador hierárquico 230 pode realizar transformação inversa, de acordo com cada unidade de transformação na unidade de codificação, com base nas informações sobre o tamanho da unidade de transformação da unidade de codificação, de acordo com profundidades codificadas, de forma a executar a transformação inversa, de acordo com unidades de codificação máxima.
[00084] O decodificador hierárquico 230 pode determinar pelo menos uma profundidade codificada de uma unidade de codificação máxima atual, usando informações de divisão, de acordo com profundidades. Se as informações de divisão indicarem que dados de imagem não são mais divididos na profundidade atual, a profundidade atual é uma profundidade codificada. Nesse sentido, o decodificador hierárquico 230 pode decodificar a unidade de codificação da profundidade atual em relação aos dados de imagem da unidade de codificação máxima atual, usando as informações sobre o tipo de partição da unidade de previsão, o modo de previsão, e o tamanho da unidade de transformação.
[00085] Em outras palavras, as unidades de dados contendo as informações de codificação incluindo as mesmas informações de divisão podem ser obtidas, observando as informações de codificação definidas, atribuídas à unidade de dados predeterminada dentre a unidade de codificação, a unidade de previsão, e a unidade minima, e as unidades de dados obtidas podem ser consideradas como uma unidade de dados a ser decodificada pelo decodificador hierárquico 230 no mesmo modo de codificação.
[00086] O aparelho decodificador de video 200 pode obter informações sobre pelo menos uma unidade de codificação, que gera o menor erro de codificação, quando codificação for executada recursivamente para cada unidade de codificação máxima, e pode usar as informações para decodificar o quadro atual. Em outras palavras, dados de imagem codificados das unidades de codificação tendo a estrutura em árvore determinadas, como sendo as unidades de codificação ideais em cada unidade de codificação máxima, podem ser decodificados.
[00087] Assim, mesmo se os dados de imagem tiverem uma alta resolução e uma grande quantidade de dados, os dados de imagem podem ser eficientemente decodificados e restaurados, usando 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, por meio de informações sobre um modo de codificação ideal recebidas de um codificador.
[00088] Um método para determinar unidades de codificação com uma estrutura em árvore, uma unidade de previsão, e uma unidade de transformação, de acordo com uma forma de realização da presente invenção, será agora descrito com referência às Figuras 3 a 13.
[00089] A Fig. 3 é um diagrama para descrever um conceito de unidades de codificação, de acordo com uma forma de realização da presente invenção.
[00090] Um tamanho de uma unidade de codificação pode ser expresso em largura x altura, e pode ser de 64x64, 32x32, 16x16, e 8x8. Uma unidade de codificação de 64 x 64 pode ser dividida em partições de 64 x 64, 64 x 32, 32 x 64, ou 32 x 32; e uma unidade de codificação de 32 x 32 pode ser dividida em partições de 32 x 32, 32 x 16, 16 x 32, ou 16 x 16; uma unidade de codificação de 16 x 16 pode ser dividida em partições de 16 x 16, 16 x 8, 8 x 16, ou 8 x 8; e uma unidade de codificação de 8x8 pode ser dividida em partições de 8 x 8, 8x4, 4x8, ou 4x4.
[00091] Nos dados de video 310, uma resolução é de 1920 x 1080, um tamanho máximo de uma unidade de codificação é de 64, e uma profundidade máxima é de 2. Nos dados de video 320, uma resolução é de 1920 x 1080, um tamanho máximo de uma unidade de codificação é de 64, e uma profundidade máxima é de 3. Nos dados de video 330, uma resolução é de 352 x 288, um tamanho máximo de uma unidade de codificação é de 16, e uma profundidade máxima é de 1. A profundidade máxima, mostrada na Fig. 3, indica um número total de divisões, a partir de uma unidade de codificação máxima até uma unidade de codificação minima.
[00092] Se uma resolução for alta, ou uma quantidade de dados for grande, um tamanho máximo de uma unidade de codificação pode ser grande, não só para aumentar a eficiência de codificação, mas também para refletir com precisão características de uma imagem. Assim, o tamanho máximo da unidade de codificação dos dados de video 310 e 320, tendo uma maior resolução do que os dados de video 330, pode ser de 64.
[00093] 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 unidade de codificação máxima tendo um tamanho de eixo longo de 64, e unidades de codificação com tamanhos de eixo longo de 32 e 16, uma vez que profundidades são elevadas em duas camadas, dividindo-se duas vezes a unidade de codificação máxima. Entretanto, 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 unidade de codificação máxima tendo um tamanho de eixo longo de 16, e unidades de codificação com um tamanho de eixo longo de 8, uma vez que profundidades são elevadas em uma camada, dividindo-se uma vez a unidade de codificação máxima.
[00094] 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 unidade de codificação máxima tendo um tamanho de eixo longo de 64, e unidades de codificação tendo tamanhos de eixo longo de 8, 16 e 32, visto que as profundidades são elevadas em 3 camadas, dividindo-se três vezes a unidade de codificação máxima. Quando uma profundidade aumenta, informações detalhadas podem ser precisamente expressas.
[00095] A Fig. 4 é um diagrama de blocos de um codificador de video 400 com base em unidades de codificação tendo uma estrutura hierárquica, de acordo com uma forma de realização da presente invenção.
[00096] Um preditor intra 410 executa previsão intra em unidades de codificação em um modo intra, com relação a uma moldura atual 405, e um estimador de movimento 420, e um compensador de movimento 425 executam, respectivamente, estimativa inter e compensação de movimento nas unidades de codificação em um modo inter, usando a moldura atual 405 e uma moldura de referência 495.
[00097] Dados emitidos pelo preditor intra 410, o estimador de movimento 420, e o compensador de movimento 425 são emitidos 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 em um dominio espacial, através de um quantizador inverso 460 e um transformador inverso 470, e os dados reconstruídos no dominio espacial são emitidos como a moldura de referência 495, após serem pós-processados através de uma unidade de desbloqueio 480 e uma unidade de filtragem de enlace 490. O coeficiente de transformação quantizada pode ser emitido como um fluxo de bits 455, através de um codificador de entropia 450.
[00098] Ao codificar os dados de imagem da unidade de codificação máxima e símbolos relacionados a um modo de codificação, de acordo com profundidades, o codificador de entropia 450 pode executar decodificação por entropia, selecionando um modelo de contexto com base em informações da estrutura hierárquica da unidade de dados estruturada de modo hierárquico, e informações diversas, tais como um componente de cor diferente da estrutura hierárquica.
[00099] A fim de que o codificador de vídeo 400 seja aplicado no aparelho de codificação de vídeo 100, todos os elementos do codificador de vídeo 400, ou seja, o preditor intra 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, a unidade de desbloqueio 480 e a unidade de filtragem de enlace 490 executam operações, com base em cada unidade de codificação entre unidades de codificação com uma estrutura em árvore, considerando a profundidade máxima de cada unidade de codificação máxima.
[000100] Especificamente, o preditor intra 410, o estimador de movimento 420, e o compensador de movimento 425 determinam partições e um modo de previsão de cada unidade de codificação entre as unidades de codificação tendo uma estrutura em árvore, levando em conta o tamanho máximo e a profundidade máxima de uma unidade de codificação máxima 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 em árvore. Além disso, o codificador de entropia 450, de acordo com a presente forma de realização, pode realizar codificação por entropia, selecionando um modelo de contexto usado para codificação por entropia, com base em informações de estrutura hierárquica da unidade de dados estruturada de modo hierárquico, e informações diversas, tais como um componente de cor diferente da estrutura hierárquica, de acordo com o tipo de um simbolo correspondente.
[000101] A Fig. 5 é um diagrama de blocos de um decodificador de video 500, com base em unidades de codificação, de acordo com uma forma de realização da presente invenção.
[000102] Um analisador 510 analisa dados de imagem codificados, a serem decodificados, e informações sobre codificação necessárias para decodificação, a partir de um fluxo de bits 505. Os dados de imagem codificados são emitidos 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, formando dados de imagem em um dominio espacial, através de um transformador inverso 540.
[000103] Um preditor intra 550 realiza previsão intra nas unidades de codificação em um modo intra, com relação aos dados de imagem no dominio espacial, e um compensador de movimento 560 executa compensação de movimento em unidades de codificação em um modo inter, por meio de uma moldura de referência 585.
[000104] Os dados de imagem no dominio espacial, que passaram através do preditor intra 550 e o compensador de movimento 560, podem ser emitidos como uma moldura restaurada, após serem pós- processados através de uma unidade de desbloqueio 57 0 e uma unidade de filtragem de enlace 580. Além disso, os dados de imagem, que são pós-processados através de uma unidade de desbloqueio 570 e uma unidade de filtragem de enlace 580, podem ser emitidos como a moldura de referencia 585.
[000105] A fim de que o decodif icador de video 500 seja aplicado no aparelho de decodificação de video 200, todos os elementos do decodificador de video 500, ou seja, o analisador 510, o decodificador de entropia 520, o quantizador inverso 530, transformador inverso 540, o preditor intra 550, o compensador de movimento 560, a unidade de desbloqueio 570, e a unidade de filtragem de enlace 580, executam operações com base em unidades de codificação com uma estrutura em árvore para cada unidade de codificação máxima.
[000106] Em particular, o preditor intra 550 e o compensador de movimento 560 determinam um modo de previsão e uma partição para cada unidade de codificação tendo uma estrutura em árvore, e o transformador inverso 540 deve determinar um tamanho de uma unidade de transformação para cada unidade de codificação. Além disso, o decodificador de entropia 520, de acordo com a presente forma de realização, pode executar decodificação por entropia, selecionando um modelo de contexto utilizado para a decodificação por entropia dos dados de imagem codificados, que devem ser decodificados, e símbolos que indicam informações sobre codificação necessárias para decodificação, com base nas informações de estrutura hierárquica da unidade de dados estruturada de modo hierárquico, e informações diversas, tais como um componente de cor diferente da estrutura hierárquica, de acordo com o tipo de um simbolo correspondente.
[000107] A Fig. 6 é um diagrama ilustrando as unidades de codificação, de acordo com profundidades, e partições, de acordo com uma forma de realização da presente invenção.
[000108] O aparelho de codificação de video 100 e o aparelho de decodificação de video 200 usam unidades de codificação hierárquicas, de forma a considerar características de uma imagem. Uma altura máxima, uma largura máxima, e uma profundidade máxima das 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. Tamanhos das unidades de codificação, de acordo com profundidades, podem ser determinados, de acordo com o tamanho máximo predeterminado da unidade de codificação.
[000109] Em uma estrutura hierárquica 600 de unidades de codificação, de acordo com uma forma de realização da presente invenção, a altura máxima e a largura máxima das unidades de codificação são, cada qual, 64, e a profundidade máxima é 4. Visto que uma profundidade aumenta ao longo de um eixo vertical da estrutura hierárquica 600, uma altura e uma largura da unidade de codificação, de acordo com profundidades, são, cada qual, divididas. Além disso, uma unidade de previsão e partições, que são as bases para codificação de previsão de cada unidade de codificação, de acordo com profundidades, são mostradas ao longo de um eixo horizontal da estrutura hierárquica 600.
[000110] Em outras palavras, uma unidade de codificação 610 é uma unidade de codificação máxima na estrutura hierárquica 600, onde uma profundidade é 0 e um tamanho, ou seja, uma altura por largura, é 64 x 64. A profundidade aumenta ao longo do eixo vertical, existindo uma unidade de codificação 620 tendo um tamanho de 32 x 32 e uma profundidade de 1, uma unidade de codificação 630 tendo um tamanho de 16 x 16 e uma profundidade de 2, uma unidade de codificação 640 tendo um tamanho de 8x8 e uma profundidade de 3, e uma unidade de codificação 650 tendo um tamanho de 4 x 4 e uma profundidade de 4. A unidade de codificação 650 tendo o tamanho de 4 x 4 e a profundidade de 4 é uma unidade de codificação minima.
[000111] A unidade de previsão e as partições de uma unidade de codificação são organizadas ao longo do eixo horizontal, de acordo com cada profundidade. Em outras palavras, se a unidade de codificação 610 tendo o tamanho de 64x64 e a profundidade de 0 for uma unidade de previsão, a unidade de previsão pode ser dividida em partições incluídas na unidade de codificação 610, ou seja, uma partição 610 tendo um tamanho de 64 x 64, partições 612 tendo o tamanho de 64 x 32, partições 614 tendo o tamanho de 32 x 64, ou partições 616 tendo o tamanho de 32 x 32 .
[000112] Da mesma forma, uma unidade de previsão da unidade de codificação 620, tendo o tamanho de 32 x 32 e a profundidade de 1, pode ser dividida em partições incluídas na unidade de codificação 620, ou seja, uma partição 620 tendo um tamanho de 32 x 32, partições 622 tendo um tamanho de 32 x 16, partições 624 tendo um tamanho de 16 x 32, e partições 62 6 tendo um tamanho de 16 x 16.
[000113] Da mesma forma, uma unidade de previsão da unidade de codificação 630, tendo o tamanho de 16 x 16 e a profundidade de 2, pode ser dividida em partições incluídas na unidade de codificação 630, ou seja, uma partição tendo um tamanho de 16 x 16 incluída na unidade de codificação 630, partições 632 tendo um tamanho de 16 x 8, partições 634 tendo um tamanho de 8 x 16, e partições 636 tendo um tamanho de 8 x 8.
[000114] Da mesma forma, uma unidade de previsão da unidade de codificação 640, tendo o tamanho de 8 x 8 e a profundidade de 3, pode ser dividida em partições incluídas na unidade de codificação 640, ou seja, uma partição com um tamanho de 8 x 8 incluida na unidade de codificação 640, partições 642 tendo um tamanho de 8 x 4, partições 644 tendo um tamanho de 4 x 8, e partições 646 tendo um tamanho de 4 x 4.
[000115] A unidade de codificação 650, tendo o tamanho de 4 x 4 e a profundidade de 4, é a unidade de codificação minima e uma unidade de codificação da profundidade mais inferior. Uma unidade de previsão da unidade de codificação 650 só é atribuída a uma partição tendo um tamanho de 4 x 4.
[000116] Para determinar pelo menos uma profundidade codificada das unidades de codificação, que constituem a unidade de codificação máxima 610, o codificador hierárquico 110 do aparelho de codificação de video 100 executa codificação para unidades de codificação correspondentes a cada profundidade incluida na unidade de codificação máxima 610.
[000117] O número de unidades de codificação, de acordo com profundidades, incluindo dados no mesmo intervalo e do mesmo tamanho, aumenta com o aumento da profundidade. Por exemplo, quatro unidades de codificação correspondentes a uma profundidade de 2 são necessárias para cobrir dados, que são incluídos em uma unidade de codificação correspondente a uma profundidade de 1. Nesse sentido, a fim de comparar resultados de codificação dos mesmos dados, de acordo com profundidades, a unidade de codificação correspondente à profundidade de 1 e quatro unidades de codificação correspondentes à profundidade de 2 são, cada qual, codificadas.
[000118] Para realizar codificação para uma profundidade atual dentre as profundidades, um menor erro de codificação pode ser escolhido para a profundidade atual, por meio de codificação para cada unidade de previsão nas unidades de codificação correspondentes à profundidade atual, ao longo do eixo horizontal da estrutura hierárquica 600. Como alternativa, o menor erro de codificação pode ser procurado, comparando-se os menores erros de codificação, de acordo com profundidades, por meio de codificação para cada profundidade, quando a profundidade aumenta ao longo do eixo vertical da estrutura hierárquica 600. Uma profundidade e uma partição com o menor erro de codificação na unidade de codificação 610 podem ser selecionadas, como a profundidade codificada e um tipo de partição da unidade de codificação 610.
[000119] A Fig. 7 é um diagrama para descrever uma relação entre uma unidade de codificação 710 e unidades de transformação 720, de acordo com uma forma de realização da presente invenção.
[000120] 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 com tamanhos menores, ou iguais, a uma unidade de codificação máxima para cada unidade de codificação máxima. Tamanhos das unidades de transformação para transformação durante a 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.
[000121] Por exemplo, no aparelho de codificação de video 100 ou no aparelho de decodificação de video 200, se um tamanho da unidade de codificação 710 for de 64 x 64, transformação pode ser executada, usando as unidades de transformação 720 tendo um tamanho de 32 x 32.
[000122] Além disso, dados da unidade de codificação 710, tendo o tamanho de 64x64, podem ser codificados por meio de transformação em cada uma das unidades de transformação tendo o tamanho de 32x32, 16x16, 8x8, e 4 x 4, que são menores do que 64 x 64 e, em seguida, uma unidade de transformação tendo o menor erro de codificação pode ser selecionada.
[000123] A Fig. 8 é um diagrama para descrever informações de codificação das unidades de codificação correspondentes a uma profundidade codificada, de acordo com uma forma de realização da presente invenção.
[000124] Uma unidade transmissora 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 previsão, e informações 820 sobre um tamanho de uma unidade de transformação para cada unidade de codificação correspondente a uma profundidade codificada, como informações sobre um modo de codificação.
[000125] As informações 800 indicam informações sobre um formato de uma partição obtida, dividindo-se uma unidade de previsão de uma unidade de codificação atual, em que a partição é uma unidade de dados para codificação de previsão da unidade de codificação atual. Por exemplo, uma unidade de codificação atual CU_0, tendo um tamanho de 2N x 2N, 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, as informações 800 sobre um tipo de partição são definidas, para indicar uma dentre a 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.
[000126] As informações 810 indicam um modo de previsão de cada partição. Por exemplo, as informações 810 podem indicar um modo de codificação de previsão realizado em uma partição indicada pelas informações 800, ou seja, um modo intra 812, um modo inter 814, ou um modo de salto 816.
[000127] As informações 820 indicam uma unidade de transformação a ser baseada, quando a transformação for 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.
[000128] O decodificador de entropia 220 do aparelho de decodificação de video 200 pode extrair e usar as informações 800, 810 e 820 para decodificação, de acordo com cada unidade de codificação, de acordo com profundidades.
[000129] A Fig. 9 é um diagrama das unidades de codificação, de acordo com profundidades, de acordo com uma forma de realização da presente invenção.
[000130] Informações de divisão podem ser usadas para indicar uma mudança de uma profundidade. As informações de divisão indicam, se uma unidade de codificação de uma profundidade atual foi dividida em unidades de codificação de uma profundidade inferior.
[000131] Uma unidade de previsão 910 para codificação de previsã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 apenas ilustra os tipos de partição 912 a 918 obtidos, dividindo-se simetricamente a unidade de previsão 910, mas um tipo de partição não é por esse aspecto limitado, e as partições da unidade de previsão 910 podem incluir partições assimétricas, partições tendo um formato predeterminado, e partições tendo um formato geométrico.
[000132] Codificação de previsão é executada repetidamente 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 OxN 0, de acordo com cada tipo de partição. A codificação de previsão em um modo intra e um modo inter pode ser efetuada nas partições com os tamanhos de 2N_0x2N_0, N_0x2N_0, 2N_0xN_0 e N_0xN_0. A codificação de previsão em um modo de salto é realizada somente na partição com o tamanho de 2N_0x2N_0.
[000133] Se um erro de codificação for o menor deles em um dos tipos de partição 912 a 916 tendo os tamanhos de 2N_0 x 2N_0, 2N_0 x N_0, e N_0 x 2N_0, a unidade de previsão 910 não pode ser dividida em uma profundidade inferior.
[000134] Se o erro de codificação for o menor deles no tipo de partição 918 tendo o tamanho de N_0 x N_0, uma profundidade é alterada de 0 para 1, para dividir o tipo de partição 918 na operação 920, e codificação é executada nas unidades de codificação do tipo de partição tendo uma profundidade de 2 e um tamanho de N_0 x N_0, para procurar por um menor erro de codificação.
[000135] Uma unidade de previsão 940 para codificação de previsão da unidade de codificação (do tipo de partiçã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 94 6 tendo um tamanho de N_lx2N_l, e um tipo de partição 94 8 tendo um tamanho de N_lxN_l.
[000136] Se um erro de codificação for o menor deles no tipo de partição 948 tendo o tamanho de N_1 x N_l, uma profundidade é alterada de 1 para 2, para dividir o tipo de partição 948 na operação 950, e codificação é executada repetidamente nas unidades de codificação 960, que têm uma profundidade de 2 e um tamanho de N_2 x N_2, para procurar por um menor erro de codificação.
[000137] Quando uma profundidade máxima for d, uma operação de divisão, de acordo com cada profundidade, pode ser realizada, até quando uma profundidade se tornar d-1, e informações de divisão podem ser codificadas, até quando uma profundidade for uma dentre 0 e d-2. Em outras palavras, quando codificação for realizada, até quando a profundidade for d-1, depois de uma unidade de codificação correspondente a uma profundidade de d-2 ser dividida na operação 970, uma unidade de previsão 990 para codificação de previsão de uma unidade de codificação 980, tendo uma profundidade de d-1 e um tamanho de 2N_(d-l)x2N (d- 1), pode incluir partições de um tipo de partição 992 tendo um tamanho de 2N_(d-1)x2N_(d-1) , um tipo de partição 994 tendo um tamanho de 2N_ (d-1) xN_ (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)xN_(d-1).
[000138] Codificação de previsão pode ser realizada repetidamente em uma partição tendo um tamanho de 2N (d-l)x2N (d-1), em duas partições tendo um tamanho de 2N_(d-1)xN_(d-1), em duas partições tendo um tamanho de N_(d-1)x2N_(d-1) , e em quatro partições tendo um tamanho de N_(d-1)xN_(d-1), dentre os tipos de partição 992 a 998, para procurar um tipo de partição tendo um menor erro de codificação.
[000139] Mesmo quando o tipo de partição 998 tiver o menor erro de codificação, 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 em uma profundidade inferior, e uma profundidade codificada para as unidades de codificação, constituindo a unidade de codificação máxima atual 900, é determinada como sendo d-1, e um tipo de partição da unidade de codificação máxima atual 900 pode ser determinado, como sendo N_(d-1)xN_(d-1). Além disso, uma vez que a profundidade máxima é de d, informações de divisão para a unidade de codificação minima 980 não são definidas.
[000140] Uma unidade de dados 999 pode ser uma 'unidade minima'para a unidade de codificação máxima atual. Uma unidade minima, de acordo com uma forma de realização da presente invenção, pode ser uma unidade de dados retangulares obtida, dividindo-se uma unidade de codificação minima 980 por 4. Ao realizar a codificação repetidamente, o aparelho de codificação de video 100 pode selecionar uma profundidade tendo o menor erro de codificação, comparando 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 e um modo de previsão correspondente, como um modo de codificação da profundidade codificada.
[000141] Assim sendo, os menores erros de codificação, de acordo com profundidades, são comparados em todas as profundidades de 1 a d, e uma profundidade tendo o menor erro de codificação pode ser determinada como uma profundidade codificada. A profundidade codificada, o tipo de partição da unidade de previsão, e o modo de previsã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 até uma profundidade codificada, só informações de divisão da profundidade codificada são definidas como 0, e informações de divisão de profundidades excluindo a profundidade codificada são definidas como 1.
[000142] O decodificador de entropia 220 do aparelho de decodificação de video 200 pode extrair e usar as informações sobre a profundidade codificada e a unidade de previsão da unidade de codificação 900 para decodificar a unidade de codificação 912. O aparelho de decodificação de video 200 pode determinar uma profundidade, em que informações de divisão são 0, como uma profundidade codificada, usando informações de divisão, de acordo com profundidades, e usar informações sobre um modo de codificação da profundidade correspondente para decodificação.
[000143] As Figs. 10 a 12 são diagramas para descrever uma relação entre unidades de codificação 1010, unidades de previsão 1060, e unidades de transformação 1070, de acordo com uma forma de realização da presente invenção.
[000144] As unidades de codificação 1010 são unidades de codificação tendo uma estrutura em árvore, correspondentes às profundidades codificadas, determinadas pelo aparelho de codificação de video 100, em uma unidade de codificação máxima. As unidades de previsão 1060 são partições de unidades de previsão de cada uma das unidades de codificação 1010, e as unidades de transformação 1070 são unidades de transformação de cada uma das unidades de codificação 1010.
[000145] Quando uma profundidade de uma unidade de codificação máxima for 0 nas unidades de codificação 1010, profundidades das unidades de codificação 1012 e 1054 são 1, profundidades das unidades de codificação 1014, 1016, 1018, 1028, 1050 e 1052 são 2, profundidades das unidades de codificação 1020, 1022, 1024, 1026, 1030, 1032 e 1048 são 3, e profundidades das unidades de codificação 1040, 1042, 1044 e 1046 são 4.
[000146] Nas unidades de previsão 1060, algumas unidades de codificação 1014, 1016, 1022, 1032, 1048, 1050, 1052 e 1054 são obtidas, dividindo-se as unidades de codificação. Em outras palavras, tipos de partição nas unidades de codificação 1014, 1022, 1050 e 1054 têm um tamanho de 2NxN, 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 previsão e partições das unidades de codificação 1010 são menores do que, ou iguais a, cada unidade de codificação.
[000147] Transformação ou transformação inversa é realizada nos 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 previsão 1060, em termos de tamanhos e formatos. Em outras palavras, o aparelho de codificação de video 100 e o aparelho de decodificação de video 200 podem realizar previsão intra, estimativa de movimento, compensação de movimento, transformação, e transformação inversa, individualmente em uma unidade de dados na mesma unidade de codificação.
[000148] Nesse sentido, codificação é recursivamente executada em cada uma das unidades de codificação, tendo uma estrutura hierárquica em cada região de uma unidade de codificação máxima, para determinar uma unidade de codificação ideal e, assim, unidades de codificação com uma estrutura em árvore recursiva podem ser obtidas. Informações de codificação podem incluir informações de divisão sobre uma unidade de codificação, informações sobre um tipo de partição, informações sobre um modo de previsã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 pelo aparelho de codificação de video 100 e o aparelho de decodificação de video 200. Tabela 1
Figure img0001
[000149] O codificador de entropia 120 do aparelho de codificação de video 100 pode transmitir informações de codificação sobre as unidades de codificação tendo uma estrutura em árvore, e o decodificador de entropia 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 em árvore, a partir de um fluxo de bits recebido.
[000150] As informações de divisão indicam, se uma unidade de codificação atual foi dividida em unidades de codificação de profundidade inferior. Se informações de divisão de uma profundidade atual d forem 0, uma profundidade, em que uma unidade de codificação atual não é mais dividida em uma profundidade inferior, é uma profundidade codificada e, assim, informações sobre um tipo de partição, modo de previsão, e um tamanho de uma unidade de transformação, podem ser definidas para a profundidade codificada. Se a unidade de codificação atual for ainda dividida, de acordo com as informações de divisão, codificação é realizada de forma independente em quatro unidades de codificação de divisão, de profundidade inferior.
[000151] Um modo de previsão pode ser de um modo intra, um modo inter, e um modo de salto. O modo intra e o modo inter podem ser definidos em todos os tipos de partição, e o modo de salto é definido apenas em um tipo de partição tendo um tamanho de 2Nx2N.
[000152] As informações sobre o tipo de partição podem indicar tipos de partição simétricos com tamanhos de 2Nx2N, 2NxN, Nx2N e NxN, que são obtidos, dividindo-se simetricamente uma altura ou uma largura de uma unidade de previsão, e tipos de partição assimétricos com tamanhos de 2NxnU, 2NxnD, nLx2N e nRx2N, que são obtidos, dividindo-se assimetricamente a altura ou largura da unidade de previsão. Os tipos de partição assimétricos, tendo os tamanhos de 2NxnU e 2NxnD, podem ser obtidos, respectivamente, dividindo-se a altura da unidade de previsão em l:n e n:l (onde n é um numero inteiro superior a 1) , e os tipos de partição assimétricos, tendo os tamanhos de nLx2N e nRx2N, podem ser obtidos, respectivamente, dividindo-se a largura da unidade de previsão em l:n e n:l.
[000153] O tamanho da unidade de transformação pode ser definido para ser de dois tipos no modo intra, e de dois tipos no modo inter. Em outras palavras, se informações de divisão 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ções de divisão da unidade de transformação forem 1, as unidades de transformação podem ser obtidas, dividindo-se a unidade de codificação atual. Além disso, se um tipo de partição da unidade de codificação atual, tendo o tamanho de 2Nx2N, for um tipo de partição simétrico, um tamanho de uma unidade de transformação pode ser NxN, e se o tipo de partição da unidade de codificação atual for um tipo de partição assimétrico, o tamanho da unidade de transformação pode ser N/2xN/2.
[000154] As informações de codificação sobre unidades de codificação com uma estrutura em árvore podem incluir pelo menos uma dentre a unidade de codificação correspondente a uma profundidade codificada, uma unidade de previsão, e uma unidade minima. A unidade de codificação correspondente à profundidade codificada pode incluir pelo menos uma dentre a unidade de previsão e uma unidade minima, que contém as mesmas informações de codificação.
[000155] Nesse sentido, é determinado se as unidades de dados adjacentes são incluídas na mesma unidade de codificação correspondente à profundidade codificada, comparando as 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 usando-se as informações de codificação de uma unidade de dados e, assim, uma distribuição de profundidades codificadas em uma unidade de codificação máxima pode ser determinada.
[000156] Assim, se uma unidade de codificação atual for prevista com base em informações de codificação das unidades de dados adjacentes, informações de codificação das unidades de dados em unidades de codificação, de acordo com profundidades adjacentes à unidade de codificação atual, podem ser diretamente referidas e usadas.
[000157] Como alternativa, se uma unidade de codificação atual for prevista com base nas informações de codificação das unidades de dados adjacentes, unidades de dados adjacentes à unidade de codificação atual são pesquisadas, usando informações codificadas das unidades de dados, e as unidades de codificação adjacentes pesquisadas podem ser referidas para previsão da unidade de codificação atual.
[000158] A Fig. 13 é um diagrama para descrever uma relação entre uma unidade de codificação, uma unidade de previsão, e uma unidade de transformação, de acordo com informações do modo de codificação da Tabela 1.
[000159] Uma de unidade de codificação máxima 1300 inclui unidades de codificação 1302, 1304 1306, 1312, 1314, 1316 e 1318 de profundidades codificadas. Aqui, uma vez que a unidade de codificação 1318 é uma unidade de codificação de profundidade codificada, informações de divisão podem ser definidas como 0. Informações sobre um tipo de partição da unidade de codificação 1318 tendo um tamanho de 2Nx2N podem ser definidas, como sendo aquelas dentre um tipo de partição 1322 tendo um tamanho de 2Nx2N, um tipo de partição 1324 tendo um tamanho de 2NxN, um tipo de partição 132 6 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 de 1336 tendo um tamanho de nLx2N, e um tipo de partição 1338 tendo um tamanho de nRx2N.
[000160] Quando o tipo de partição for definido para ser simétrico, ou seja, o tipo de partição 1322, 1324, 1326 ou 1328, uma unidade de transformação 1342 tendo um tamanho de 2Nx2N é definida, se informações de divisão (sinalizador de tamanho TU) de uma unidade de transformação forem 0, e uma unidade de transformação 1344 tendo um tamanho de NxN é definida, se um sinalizador de tamanho TU for 1.
[000161] Quando o tipo de partição for definido como sendo assimétrico, ou seja, o tipo de partição 1332, 1334, 1336 ou 1338, uma unidade de transformação 1352 tendo um tamanho de 2Nx2N é definido, 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.
[000162] O sinalizador de tamanho TU é um tipo de indice de transformação; um tamanho de uma unidade de transformação correspondente a um indice de transformação pode ser modificado, de acordo com um tipo de unidade de previsão ou um tipo de partição de uma unidade de codificação.
[000163] Quando o tipo de partição for definido para ser simétrico, ou seja, o tipo de partição 1322, 1324, 1326 ou 1328, a 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 a unidade de transformação 1344 tendo um tamanho de NxN é definida, se um sinalizador de tamanho TU for 1.
[000164] Quando o tipo de partição for definido como sendo assimétrico, ou seja, o tipo de partição 1332 (2N x nU) , 1334 (2N X nD) , 1336 (nL x 2N) , ou 1338 (nR x 2N) , a 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.
[000165] Referindo-se à Fig. 13, o sinalizador de tamanho TU é um sinalizador tendo um valor 0 ou 1, mas o sinalizador de tamanho TU não é limitado a 1 bit, e uma unidade de transformação pode ser hierarquicamente dividida, enquanto o sinalizador de tamanho TU aumenta a partir de 0. As informações de divisão da unidade de transformação (sinalizador de tamanho TU) podem ser usadas como um exemplo de um indice de transformação.
[000166] Neste caso, quando um sinalizador de tamanho TU, segundo uma forma de realização, for usado com um tamanho máximo e um tamanho minimo de uma unidade de transformação, o tamanho da unidade de transformação efetivamente utilizado pode ser expresso. O aparelho de codificação de video 100 pode codificar informações de tamanho da unidade de transformação máxima, e informações de tamanho da unidade de transformação minima, e informações de divisão da unidade de transformação máxima. As informações codificadas de tamanho da unidade de transformação máxima, informações de tamanho da unidade de transformação minima, e informações de divisão da unidade de transformação máxima podem ser inseridas em um conjunto de parâmetros de sequência (SPS) . O aparelho decodificador de video 200 pode usar as informações de tamanho da unidade de transformação máxima, as informações de tamanho da unidade de transformação minima, e as informações de divisão da unidade de transformação máxima para decodificação de video.
[000167] Por exemplo, (a) se um tamanho de uma unidade de codificação atual for 64 x 64 e uma unidade de transformação máxima for 32 x 32, (a-1) um tamanho de uma unidade de transformação é 32 x 32, se um sinalizador de tamanho TU for 0; (a-2) um tamanho de uma unidade de transformação é 16 x 16, se um sinalizador de tamanho TU for 1; e (a-3) um tamanho de uma unidade de transformação é 8 x 8, se um sinalizador de tamanho TU for 2.
[000168] De modo alternativo, (b) se um tamanho de uma unidade de codificação atual for 32 x 32 e uma unidade de transformação minima for 32 x 32, (b-1) um tamanho de uma unidade de transformação é 32 x 32, se um sinalizador de tamanho TU for 0, e uma vez que o tamanho de uma unidade de transformação não pode ser menor do que 32 x 32, nenhum sinalizador de tamanho TU pode ser mais definido.
[000169] De modo alternativo, (c) se um tamanho de uma unidade de codificação atual for 64 x 64 e um sinalizador de tamanho TU máxima for 1, um sinalizador de tamanho TU pode ser 0 ou 1, e nenhum outro sinalizador de tamanho TU pode ser mais definido.
[000170] Assim, ao definir um sinalizador de tamanho TU máxima como 'MaxTransformSizelndex' , um sinalizador de tamanho TU minima como 'MinTransformSize' , e uma unidade de transformação no caso em que um sinalizador de tamanho TU for 0, isto é, uma unidade de transformação básica RootTu como 'RootTuSize', um tamanho de uma unidade de transformação minima 'CurrMinTuSize', que está disponível em uma unidade de codificação atual, pode ser definido pela Equação (1) : CurrMinTuSize = max (MinTransformSize, RootTuSize/ (2AMaxTransformSizeIndex)) (1)
[000171] Em comparação com o tamanho da unidade de transformação minima 'CurrMinTuSize', que está disponível na unidade de codificação atual, o tamanho da unidade de transformação básica 'RootTuSize', que é um tamanho de uma unidade de transformação, quando um sinalizador de tamanho TU for 0, pode denotar uma unidade de transformação máxima, que pode ser selecionada com relação a um sistema. Isto é, de acordo com a Equação (1), 'RootTuSize/ (2AMaxTransformSizeIndex)' denota um tamanho de uma unidade de transformação, que é obtida por divisão de 'RootTuSize', que é um tamanho de uma unidade de transformação, quando as informações de divisão da unidade de transformação forem 0, pelo número de vezes de divisão correspondentes às informações de divisão da unidade de transformação máxima, e 'MinTransformSize' denota um tamanho de uma unidade de transformação minima e, assim, um menor valor dentre esses pode ser 'CurrMinTuSize', que é o tamanho da unidade de transformação minima, que está disponível na unidade decodificação atual.
[000172] De acordo com uma forma de realização da presente invenção, o tamanho da unidade de transformação básica 'RootTuSize' pode variar, de acordo com um modo de previsão.
[000173] Por exemplo, se um modo de previsão atual for um modo inter, então 'RootTuSize' pode ser determinado, usando a Equação (2) abaixo. Na Equação (2), 'MaxTransformSize' denota um tamanho da unidade de transformação máxima, e 'PUSize' denota um tamanho da unidade de previsão atual.
RootTuSize = min(MaxTransformSize, PUSize) (2)
[000174] Ou seja, se um modo de previsão atual for um modo inter, o tamanho da unidade de transformação básica 'RootTuSize', que é uma unidade de transformação, se um sinalizador de tamanho TU for 0, pode ser definido como um menor valor dentre o tamanho da unidade de transformação máxima e o tamanho da unidade de previsão atual.
[000175] Se um modo de previsão de uma unidade de partição atual for um modo intra, 'RootTuSize' pode ser determinado, usando a Equação (3) abaixo. 'Partitionsize'denota um tamanho da unidade de partição atual.
RootTuSize = min (MaxTransformSize, Partitionsize) (3)
[000176] Ou seja, se um modo de previsão atual for um modo intra, o tamanho da unidade de transformação básica 'RootTuSize' pode ser definido como um menor valor dentre o tamanho da unidade de transformação máxima e o tamanho da unidade de partição atual.
[000177] No entanto, deve ser observado que o tamanho da unidade de transformação básica 'RootTuSize', que é o tamanho da unidade de transformação máxima atual, de acordo com uma forma de realização da presente invenção, e varia de acordo com um modo de previsão de uma unidade de partição, é um exemplo, e fatores para determinar o tamanho da unidade de transformação máxima atual não são por este aspecto limitados.
[000178] Adiante, uma operação de codificação de entropia de um simbolo, que é realizada no codificador de entropia 120 do aparelho de codificação de video 100 da Fig. 1, e uma operação de decodificação de entropia de um simbolo, que é realizada no decodificador de entropia 220 do aparelho decodificador de video 200 da Fig. 2, serão descritas em detalhes.
[000179] Conforme descrito acima, o aparelho de codificação de video 100 e o aparelho de decodificação de video 200 executam codificação e decodificação, dividindo uma unidade de codificação máxima em unidades de codificação, que são menores ou iguais a uma unidade de codificação máxima. Uma unidade de previsão e uma unidade de transformação utilizadas na previsão e transformação podem ser determinadas com base nos custos, independentemente de outras unidades de dados. Uma vez que uma unidade de codificação ideal pode ser determinada por codificação recursiva de cada unidade de codificação, tendo uma estrutura hierárquica incluída na unidade de codificação máxima, unidades de dados com uma estrutura em árvore podem ser configuradas. Em outras palavras, para cada unidade de codificação máxima, uma unidade de codificação tendo uma estrutura em árvore, e uma unidade de previsão e uma unidade de transformação tendo, cada qual, uma estrutura em árvore, podem ser configuradas. Para a decodificação, informações hierárquicas, que são informações que indicam informações de estrutura das unidades de dados com uma estrutura hierárquica, e informações não-hierárquicas para decodificação distintas das informações hierárquicas, precisam ser transmitidas.
[000180] As informações relacionadas a uma estrutura hierárquica são informações necessárias para determinação de uma unidade de codificação tendo uma estrutura em árvore, uma unidade de previsão tendo uma estrutura em árvore, e uma unidade de transformação tendo uma estrutura em árvore, como acima descrito com referência às Figs. 10 a 12, e incluem um tamanho de uma unidade de codificação máxima, profundidade codificada, informações de partição de uma unidade de previsão, um sinalizador de divisão, que indica se uma unidade de codificação foi dividida ou não, informações sobre o tamanho de uma unidade de transformação, e um sinalizador de divisão da unidade de transformação, "sinalizador de tamanho TU", que indica se uma unidade de transformação foi ou não dividida. Exemplos de informações de codificação de informações de estrutura não hierárquica incluem informações do modo de previsão intra e previsão inter, aplicadas a cada unidade de previsão, informações do vetor de movimento, informações de direção de previsão, informações de componente de cor aplicadas a cada unidade de dados, no caso de uma pluralidade de componentes de cor ser usada, e informações de textura, como um coeficiente de transformação.
[000181] A Fig. 14 é um diagrama de blocos, que ilustra uma estrutura de um aparelho de codificação por entropia 1400, segundo uma forma de realização da presente invenção. O aparelho de codificação por entropia 1400 da Fig. 14 corresponde ao codificador de entropia 120 do aparelho de codificação de video 100 da Fig. 1. O aparelho de codificação por entropia 1400 executa a codificação por entropia de símbolos, indicando informações relacionadas a uma estrutura hierárquica, que é um destino de codificação e informações de codificação, que não sejam as informações de uma estrutura hierárquica.
[000182] Referindo-se à Fig. 14, o aparelho de codificação por entropia 1400, de acordo com a forma de realização atual, inclui uma unidade de modelagem de contexto 1410, um estimador de probabilidade 1420 e um codificador normal 1430. A unidade de modelagem de contexto 1410 determina um modelo de contexto usado para a codificação por entropia de um simbolo baseado em informações hierárquicas de uma unidade de dados, à qual pertence um simbolo de um quadro codificado. Em detalhe, supondo que informações hierárquicas relacionadas à unidade de estrutura hierárquica de dados, à qual pertence um simbolo de destino atualmente codificado, tenham um número I de valores de estado, onde I é um número inteiro positivo, a unidade de modelagem de contexto 1410 pode definir I ou um menor número de modelos de contexto, de acordo com um valor de estado de informações hierárquicas, e pode determinar um modelo de contexto a ser usado para a codificação de um simbolo atual, pela atribuição de um indice de contexto, indicando um dentre I ou um menor número de modelos de contexto, de acordo com o valor de estado das informações hierárquicas. Por exemplo, o tamanho de uma unidade de dados, à qual pertence o simbolo do destino atualmente codificado, tem um total de cinco valores de estado de 2 x 2, 4 x 4, 8 x 8, 16 x 16, 32 x 32 e 64 x 64. Supondo que os tamanhos da unidade de dados acima sejam utilizados como informações hierárquicas, a unidade de modelagem de contexto 1410 pode definir cinco ou um menor número de modelos de contexto, de acordo com o tamanho da unidade de dados, e pode determinar um indice de contexto, indicando um modelo de contexto a ser usado para a codificação por entropia de um simbolo atual com base no tamanho de uma unidade de dados, à qual pertence o simbolo atual.
[000183] Além das informações de tamanho da unidade de dados absolutos, conforme descrito acima, informações hierárquicas relativas, que indicam um tamanho relativo de uma unidade de dados, à qual pertence um simbolo em relação a uma maior unidade de dados, podem ser usadas. Por exemplo, quando uma unidade de dados atual for uma unidade de dados tendo um tamanho N x N, que é separada de uma maior unidade de dados tendo um tamanho de 2N x 2N, o tamanho de uma unidade de dados, à qual pertence o simbolo atual, pode ser determinado, através de um sinalizador de divisão, indicando se uma maior unidade de dados, tendo um tamanho de 2N x 2N, foi ou não dividida. Assim, a unidade de modelagem de contexto 1410 pode determinar o tamanho de uma unidade de dados, à qual pertence um simbolo atual, através do sinalizador de divisão indicando informações sobre o tamanho de uma maior unidade de dados, e se a maior unidade de dados foi ou não dividida e, em seguida, determinar um modelo de contexto, que é aplicável ao simbolo atual, com base nas informações sobre o tamanho da unidade de dados determinada. Além disso, informações, que indicam uma relação entre o tamanho de uma unidade de dados, à qual pertence o simbolo atual, e o tamanho de uma maior unidade de dados, podem ser utilizadas como as informações hierárquicas. Por exemplo, quando uma unidade de dados atual tiver um tamanho numa relação de 1/2 da maior unidade de dados tendo um tamanho de 2N x 2N, um tamanho de N x N, que é o tamanho de uma unidade de dados, à qual pertence o simbolo atual, pode ser determinado a partir das informações da relação acima. Assim, a unidade de modelagem de contexto 1410 pode determinar o tamanho de uma unidade de dados, à qual pertence um simbolo atual, usando informações hierárquicas relativas, que indicam um tamanho relativo de uma unidade de dados, à qual pertence o simbolo atual, em relação à maior unidade de dados, como as informações hierárquicas e, em seguida, determinar um modelo de contexto com base no tamanho determinado da unidade de dados.
[000184] Além disso, a unidade de modelagem de contexto 1410 pode determinar um modelo de contexto usado para a codificação por entropia de um simbolo de destino com base em uma combinação de informações hierárquicas e informações adicionais, que não sejam as informações hierárquicas, de acordo com o tipo de um simbolo de destino sujeito à codificação por entropia. Em detalhe, supondo que informações hierárquicas relacionadas à unidade de dados de estrutura hierárquica, à qual pertence um simbolo de destino atualmente codificado, tenham número I de valores de estado, e outras informações não-hierárquicas, que não as informações hierárquicas, tenham número J de valores de estado, onde J é um número inteiro positivo, o número de casos disponíveis para as informações hierárquicas e as informações não-hierárquicas são um total de I x J. A unidade de modelagem de contexto 1410 pode definir I x J ou um menor número de modelos de contexto, de acordo com uma combinação do número I x j de valores de estado, e determinar um modelo de contexto a ser usado para a codificação de um simbolo atual, pela atribuição de um indice de contexto indicando um dentre I x j ou um menor número de modelos de contexto, de acordo com as informações hierárquicas de uma unidade de dados, à qual pertence um simbolo atual e um valor de estado das informações não-hierárquicas. Presume-se, por exemplo, um caso em que as informações sobre o tamanho de uma unidade de dados, à qual pertence um simbolo com um total de cinco valores de estado de 2 x 2, 4x4, 8x8, 16 x 16, 32 x 32 e 64 x 64, sejam usadas como as informações de componente de cor, e informações hierárquicas de uma unidade de dados, à qual pertence um simbolo tendo dois valores de estado de um componente de luminância e um componente de crominância, sejam usadas como as informações não-hierárquicas. Neste caso, um total de 5 x 2, ou seja, 10, combinações são possíveis, como os valores de estado de informações hierárquicas e as informações não-hierárquicas. A unidade de modelagem de contexto 1410 define dez ou um menor número de modelos de contexto correspondentes às dez combinações de valor de estado, e determina e emite um indice de contexto determinado de acordo com um valor de estado relacionado a um simbolo atual.
[000185] A unidade de modelagem de contexto 1410, não se limita ao exemplo acima, podendo selecionar dentre a pluralidade de modelos de contexto, pela combinação de várias maneiras de informações hierárquicas e informações não- hierárquicas, de acordo com o tipo de um simbolo codificado. Em outras palavras, n segmentos de informações hierárquicas e informações não-hierárquicas, onde n é um número inteiro, são utilizados para a determinação de um modelo de contexto. Assumindo que n-segmentos de informações hierárquicas e informações não-hierárquicas, cada qual tendo número Si de valores de estado, onde Si é um número inteiro e i é um número inteiro de 1 a n, a unidade de modelagem de contexto 1410 pode determinar e emitir um indice de contexto, indicando uma pluralidade de modelos de contexto correspondentes aos número SixSiX... x Sn de combinações de valor de estado, com base em um valor de estado relacionado ao simbolo atualmente codificado. O número Si><S2x... x Sn de combinações de valor de estado é agrupado e, portanto, SiSix. . . x Sn ou um menor número de modelos de contexto pode ser usado.
[000186] Referindo-se novamente à FIG. 14, o estimador de probabilidade 1420 determina e exibe informações sobre um sinal binário correspondente ao simbolo mais provável (MPS) e um simbolo menos provável (LPS) entre sinais binários de 0 e 1, e informações do valor de probabilidade sobre MPS ou LPS, usando a informações do indice de contexto emitidas pela unidade de modelagem de contexto 1410. Um valor de probabilidade de MPS ou LPS pode ser determinado, pela leitura de um valor de probabilidade indicado por um indice de contexto de uma tabela de consulta predefinida. Além disso, os valores de probabilidade de MPS e LPS podem ser atualizados, com base em um valor de acumulação de estatística de ocorrência de um sinal binário.
[000187] O codificador normal 1430 executa a codificação por entropia e emite um simbolo atual com base em informações do valor de probabilidade e informações do sinal binário correspondente a MPS ou LPS.
[000188] O aparelho de codificação por entropia 1400 pode codificar cada simbolo por um método de codificação de comprimento variável para atribuir uma palavra código predefinida, de acordo com uma combinação de informações hierárquicas e informações não-hierárquicas, além de um método de codificação aritmética binária adaptável ao contexto (CABAC), pelo qual um simbolo é codificado com base nos valores de probabilidade de MPS e LPS.
[000189] Um processo de execução de codificação por entropia de simbolos usando modelagem de contexto com base em informações hierárquicas é descrito abaixo. Em detalhes, um processo para executar codificação por entropia de um simbolo relacionado a um coeficiente de transformação, um simbolo com uma estrutura hierárquica de uma unidade de transformação, e um simbolo de unidades de codificação com uma estrutura hierárquica, é descrito em detalhes.
[000190] A Fig. 15 ilustra uma unidade de dados estruturados de modo hierárquico e informações de divisão da unidade de dados estruturados de modo hierárquico, de acordo com uma forma de realização da presente invenção. Na descrição a seguir, presume-se que uma unidade de dados seja uma unidade de transformação.
[000191] Conforme acima descrito, de acordo com a presente forma de realização, codificação é realizada usando a unidade de codificação, a unidade de previsão, e a unidade de transformação, com uma estrutura hierárquica. Na Fig. 15, uma unidade de transformação 1500 tendo um tamanho de N * N de nivel 0, que é o nivel mais alto, é dividida nas unidades de transformação 31a, 31b, 31c, e 31d de nivel 1, que é um nivel inferior, que está a um nivel inferior ao nivel mais superior. Algumas unidades de transformação 31a e 31d de nivel 1, cada uma delas é dividida nas unidades de transformação 32a, 32b, 32c, 32d, 32e, 32f, 32g, e 32h de nivel 2, que é um nivel inferior imediato. Um sinalizador de divisão da unidade de transformação "sinalizador de tamanho TU", que indica se cada unidade de transformação foi dividida em unidades de transformação de um nivel inferior imediato, pode ser usado como um simbolo para indicar uma estrutura hierárquica de uma unidade de transformação. Por exemplo, quando o sinalizador de tamanho TU de uma unidade de transformação atual for 1, ele pode mostrar que a unidade de transformação atual foi dividida em unidades de transformação de um nivel inferior. Quando o sinalizador de tamanho TU de uma unidade de transformação atual for 0, ele pode mostrar que a unidade de transformação atual não foi mais dividida.
[000192] Quando as unidades de transformação 31a, 31b, 31c, 31d, 32a, 32b, 32c, 32d, 32e, 32f, 32g, e 32h, que foram divididas a partir da unidade de transformação de nivel 0, formam uma estrutura hierárquica, informações de divisão da unidade de transformação de cada unidade de transformação podem formar uma estrutura hierárquica. Em outras palavras, informações de divisão da unidade de transformação 33 com uma estrutura hierárquica incluem informações de divisão da unidade de transformação 34 do mais alto nivel 0, informações de divisão da unidade de transformação 35a, 35b, 35c e 35d de nivel 1, e informações de divisão da unidade de transformação 36a, 36b, 36c, 36d, 36e, 36f, 36g, 36h de nivel 2.
[000193] A partir das informações de divisão da unidade de transformação 33 com uma estrutura hierárquica, as informações de divisão da unidade de transformação 34 de nivel 0 podem indicar que a unidade de transformação do mais alto nivel 0 foi dividida. De forma semelhante, as informações de divisão da unidade de transformação 35a e 35d de nivel 1, cada qual pode denotar que as unidades de transformação 31a e 31d de nivel 1 foram divididas nas unidades de transformação 32a, 32b, 32c, 32d, 32e, 32f, 32g, e 32h de nivel 2
[000194] Alguma unidades de transformação 31b e 31c de nivel 1 não são mais divididas, e correspondem a um nó folha não tendo nenhum nó filho em uma estrutura em árvore. Da mesma forma, as unidades de transformação 32a, 32b, 32c, 32d, 32e, 32f, 32g e 32h de nivel 2 correspondem a nós folha, que não são mais divididos em unidades de transformação de um nivel inferior.
[000195] Assim sendo, o sinalizador de tamanho TU, indicando se uma unidade de transformação de nivel superior foi dividida em uma unidade de transformação de um nivel mais baixo, pode ser usado como um simbolo que indica uma estrutura hierárquica de uma unidade de transformação.
[000196] Quando o sinalizador de tamanho TU, indicando a estrutura hierárquica de uma unidade de transformação, for codificado por entropia, o aparelho de codificação de video 100, de acordo com a presente forma de realização, pode codificar por entropia os sinalizadores de tamanho TU de todos os nós, ou apenas o sinalizador de tamanho TU de um nó folha não tendo nenhum nó filho.
[000197] As Fig. 16 e 17 são vistas de referência, ilustrando simbolos indicando uma unidade de dados estruturados de modo hierárquico, de acordo com uma forma de realização da presente invenção. Nas Figs. 16 e 17, um sinalizador é considerado como um sinalizador de tamanho TU, que indica se uma unidade de transformação de cada nó foi dividida em uma unidade de transformação de um nivel mais baixo em uma estrutura em árvore das informações de divisão da unidade de transformação 33 da Fig. 15. Referindo-se à Fig. 16, o aparelho de codificação de video 100, de acordo com a presente forma de realização, que é um simbolo, que indica uma estrutura hierárquica de uma unidade de transformação, pode realizar codificação por entropia de todas as informações do sinalizador de divisão da unidade de transformação flagO, flagla, flaglb, flaglc, flagld, flag2a, flag2b, flag2c, flag2d, flag2e, flag2f, flag2g e flag2h, no que diz respeito às unidades de transformação 30, 31a, 31b, 31c, 31d, 32a, 32b, 32c, 32d, 32e, 32f, 32g e 32h de todos os niveis, como um simbolo, que indica uma estrutura hierárquica de uma unidade de transformação. Além disso, conforme ilustrado na Fig. 17, o aparelho de codificação de video 100 pode codificar por entropia somente informações do sinalizador de divisão da unidade de transformação flaglb, flaglc, flag2a, flag2b, flag2c, flag2d, flag2e, flag2f, flag2g e flag2h de unidades de transformação correspondentes ao nó folha não tendo nenhum nó filho. Isso ocorre, devido ao fato da divisão de uma unidade de transformação de um nivel mais elevado poder ser determinada, de acordo com a existência de informações do sinalizador de divisão da unidade de transformação de um nivel inferior. Por exemplo, na Fig. 17, quando sinalizadores de divisão da unidade de transformação flag2a, flag2b, flag2c e flag2d das unidades de transformação 36a, 36b, 36c e 36d de nivel 2 existirem, a unidade de transformação 35a de nivel 1, que é um nivel mais elevado das unidades de transformação 36a, 36b, 36c e 36d de nivel 2, é necessariamente dividida em unidades de transformação de nivel 2, que são niveis mais baixos, para que as informações do sinalizador de divisão da unidade de transformação flagla da unidade de transformação 35a de nivel 1 não precisem ser codificadas separadamente.
[000198] O aparelho decodificador de video 200, de acordo com a presente forma de realização, pode extrair e ler todos os sinalizadores de divisão da unidade de transformação flagO, flagla, flaglb, flaglc, flagld, flag2a, flag2b, flag2c, flag2d, flag2e, flag2f, flag2g e flag2h, no que diz respeito às unidades de transformação 30, 31a, 31b, 31c, 31d, 32a, 32b, 32c, 32d, 32e, 32f, 32g e 32h de todos os niveis, de acordo com um modo de decodificação hierárquica de simbolo, determinando, assim, uma estrutura hierárquica de uma unidade de transformação. Além disso, quando apenas os sinalizadores de divisão da unidade de transformação flaglb, flaglc, flag2a, flag2b, flag2c, flag2d, flag2e, flag2f, flag2g e flag2h, no que diz respeito às unidades de transformação 31b, 31c, 32a, 32b, 32c, 32d, 32e, 32f, 32g e 32h correspondentes ao nó folha, forem codificados, o aparelho decodificador de video 200, de acordo com a presente forma de realização, determina os outros sinalizadores de divisão da unidade de transformação flagO, flagla, flaglb, flaglc e flagld, com base nos sinalizadores de divisão da unidade de transformação extraídos flaglb, flaglc, flag2a, flag2b, flag2c, flag2d, flag2e, flag2f, flag2g e flag2h, determinando, assim, a estrutura hierárquica de uma unidade de transformação.
[000199] Conforme acima descrito, a unidade de modelagem de contexto 1410 pode determinar um dentre a pluralidade de modelos de contexto para codificar por entropia um sinalizador de divisão da unidade de transformação, indicando a estrutura hierárquica de uma unidade de transformação com base em um valor de estado, de acordo com informações hierárquicas, ou uma combinação de informações hierárquicas e informações não- hierárquicas .
[000200] Especificamente, a unidade de modelagem de contexto 1410 pode determinar um modelo de contexto usado para codificação por entropia de um sinalizador de divisão da unidade de transformação atual, com base nas informações hierárquicas de uma unidade de transformação, a que pertence o sinalizador de divisão da unidade de transformação atual a ser codificado.
[000201] A Fig. 19 ilustra um exemplo de indices de contexto para determinar um modelo de contexto com base no tamanho de uma unidade de dados, de acordo com uma forma de realização da presente invenção. Referindo-se à Fig. 19, a unidade de modelagem de contexto 1410 pode determinar um modelo de contexto para codificação por entropia de um sinalizador da unidade de transformação atual, por atribuição de um dos indices de contexto indicando uma pluralidade de modelos de contexto predefinidos, com base nas informações de um tamanho de uma unidade de transformação, à qual pertence o sinalizador da unidade de transformação atual. Por exemplo, quando o tamanho de uma unidade de transformação, à qual pertence o sinalizador da unidade de transformação atual, for 16 x 16, um modelo de contexto com um valor de indice de contexto de 6 é selecionado.
[000202] A Fig. 20 é uma vista de referência, que ilustra um modelo de contexto, de acordo com uma forma de realização da presente invenção. Conforme acima descrito, o estimador de probabilidade 1420 determina e emite informações sobre um sinal binário correspondente ao MPS e LPS de sinais binários de "0" e "1", e informações sobre um valor de probabilidade de MPS ou LPS, usando informações do indice de contexto emitidas pela unidade de modelagem de contexto 1410. Referindo-se à Fig. 20, o estimador de probabilidade 1420 inclui uma pluralidade de probabilidades de ocorrência de sinais binários na forma de uma tabela de consulta, e as alterações de uma probabilidade de ocorrência de um sinal binário, de acordo com um simbolo atualmente codificado e uma situação circundante, e emite informações do valor de probabilidade determinado para o codificador normal 1430. Especificamente, ao receber um indice de contexto Index NO., indicando um modelo de contexto a ser aplicado a um simbolo atual da unidade de modelagem de contexto 1410, o estimador de probabilidade 1420 pode determinar um indice pStateldx de uma tabela de probabilidade de ocorrência correspondente a um indice de contexto Index NO. correspondente e um sinal binário correspondente ao MPS.
[000203] A Fig. 21 é um gráfico de um valor de probabilidade de ocorrência de MPS, de acordo com uma forma de realização da presente invenção. Uma tabela de probabilidade de ocorrência indica um valor de probabilidade de MPS. Quando um indice pStateldx de uma tabela de probabilidade de ocorrência for alocado, é determinado um valor de probabilidade de um MPS correspondente. Por exemplo, quando a unidade de modelagem de contexto 1410 determinar um valor de um indice de um modelo de contexto usado para a codificação de um simbolo atual, como sendo 1, e emitir o valor determinado, o estimador de probabilidade 1420 determina um valor pStateldx de 7 e um valor MPS de 0 correspondente ao indice de contexto 1 dos modelos de contexto na Fig. 20. Além disso, o estimador de probabilidade 1420 determina um valor de probabilidade de MPS correspondente a pStateldx = 7 entre os valores de probabilidade de MPS predefinidos, de acordo com o valor de pStateldx. Uma vez que a soma dos valores de probabilidade de MPS e LPS é 1, se um valor de probabilidade de um dos MPS e LPS for conhecido, um valor de probabilidade do sinal binário restante pode ser determinado.
[000204] O estimador de probabilidade 1420 pode atualizar os valores de probabilidade de MPS e LPS, considerando estatísticas da ocorrência de um sinal binário, atualizando o valor de pStateldx, de acordo com o fato de MPS ou LPS ser codificado, sempre que um único binário for codificado pelo codificador normal 1430. Por exemplo, o estimador de probabilidade 1420, considerando um resultado da codificação pelo codificador normal 1430, pode definir transIdxMPS, que é um valor de pStateldx após a atualização, quando MPS for codificado, e tranldxLPS, que é um valor de pStateldx após a atualização, quando LPS for codificado, na forma de uma tabela de consulta predeterminada. Em seguida, o estimador de probabilidade 1420 pode alterar o valor de probabilidade de MPS, atualizando o valor de pStateldx para cada codificação.
[000205] O codificador normal 1430 executa a codificação por entropia e emite um sinal binário correspondente a um simbolo atual com base nas informações sobre um valor de probabilidade e nas informações sobre um sinal binário correspondente a MPS ou LPS.
[000206] A Fig. 26 é um diagrama para descrever um processo de codificação aritmética binária, realizado pelo codificador normal 1430 da Fig. 14. Na Fig. 26, presume-se que o sinalizador de tamanho TU indicando a estrutura hierárquica de uma unidade de transformação seja um valor binário "010" e probabilidades de ocorrência de 1 e 0 sejam 0,2 e 0,8, respectivamente. Aqui, a probabilidade de ocorrência de 1 e 0 é determinada com base nas informações hierárquicas de uma unidade de transformação, por exemplo, informações sobre o tamanho de uma unidade de transformação, a que pertence um sinalizador de tamanho TU atual.
[000207] Referindo-se à Fig. 26, quando um valor binário inicial "0" de um valor "010" for codificado, uma seção [0,0 ~ 0,8], que é uma parcela 80% mais baixa de uma seção inicial [0,0 ~ 1,0], é atualizada para uma nova seção. A seguir, quando um próximo valor de binário "1" for codificado, uma seção [0,64 ~ 0,8], que é uma parcela 20% superior da seção [0,0 ~ 0,8], é atualizada para uma nova seção. Quando um próximo "0" for codificado, uma seção [0,64 ~ 0, 768], que é uma parcela 80% mais baixa da seção [0,64 ~ 0,8], é atualizada para uma nova seção. Em um número binário "0,11", que corresponde a um número real "0,75", que pertence a uma seção final [0,64 ~ 0,768], "11", que é a parte decimal de 0,11, é emitido como um fluxo de bits correspondente ao valor binário "010" do sinalizador de tamanho TU.
[000208] Quando um modelo de contexto para codificação por entropia de um sinalizador de tamanho TU com base nas informações sobre o tamanho de uma unidade de transformação for determinado, a unidade de modelagem de contexto 1410 pode agrupar os tamanhos de uma unidade de transformação e definir um indice de contexto para determinar um modelo de contexto, conforme ilustrado na Fig. 22.
[000209] A unidade de modelagem de contexto 1410 pode usar informações hierárquicas relativas, que indicam um tamanho relativo de uma unidade de dados, à qual pertence um simbolo em relação a uma maior unidade de transformação, que não sejam informações de tamanho da unidade de transformação absoluta. Por exemplo, uma unidade de transformação atual é uma unidade de transformação tendo um tamanho de uma relação de 1/2 em relação a uma maior unidade de transformação tendo um tamanho de 2N x 2N, a unidade de modelagem de contexto 1410 pode determinar, a partir das informações de relação, uma unidade de transformação, à qual pertence um sinalizador de tamanho TU atual, para ter um tamanho de N * N, e determina um modelo de contexto, com base no tamanho determinado de uma unidade de transformação.
[000210] A unidade de modelagem de contexto 1410 pode determinar um modelo de contexto usado para codificação por entropia de um sinalizador de tamanho TU, com base em uma combinação de informações hierárquicas e informações adicionais, que não sejam as informações hierárquicas, de acordo com o tipo de um simbolo de destino a ser codificado por entropia.
[000211] A Fig. 25 é uma vista de referência, ilustrando a determinação de um indice de contexto com base em uma combinação de informações hierárquicas e informações adicionais, que não sejam as informações hierárquicas, de acordo com uma forma de realização da presente invenção. Referindo-se à Fig. 25, a unidade de modelagem de contexto 1410 define um indice de contexto, indicando um dentre uma pluralidade de modelos de contexto, de acordo com uma combinação de segmentos de primeiras informações pl a pl tendo número I de valores de estado, onde I é um número inteiro, e segmentos de segundas informações ql a qj tendo número J de valores de estado, onde J é um número inteiro, e determina e emite um indice de contexto, de acordo com as primeiras informações e segundas informações relacionadas a um simbolo atualmente codificado. Por exemplo, quando as informações sobre o tamanho de uma unidade de dados, à qual um simbolo, tendo um total de cinco valores de estado 2 x 2, 4 x 4, 8 x 8, 16 x 16, 32 x 32 e 64 x 64, seja usado como as primeiras informações, e informações de componente de cor tendo dois valores de estado de um componente de luminância e um componente de crominância forem usadas como as informações não-hierárquicas, dez combinações estão disponíveis e a unidade de modelagem de contexto 1410 define dez ou um menor número de modelos de contexto correspondentes às dez combinações de valor de estado, e determina e emite um indice de contexto determinado, de acordo com um valor de estado relacionado a um simbolo atual. Além disso, a unidade de modelagem de contexto 1410 pode agrupar os valores de estado, como na Fig. 22, para definir um indice de contexto, de acordo com os valores de estado agrupados.
[000212] Assim sendo, a unidade de modelagem de contexto 1410, de acordo com a presente forma de realização, pode selecionar um dentre a pluralidade de modelos de contexto, combinando, de forma variável, informações hierárquicas e informações não- hierárquicas, de acordo com o tipo de um simbolo a ser codificado.
[000213] O processo de codificação de um simbolo acima descrito para indicar uma estrutura hierárquica de uma unidade de transformação pode ser aplicado de modo idêntico a um processo de codificação de um simbolo, que indica uma estrutura hierárquica de uma unidade de codificação, ou de uma unidade de previsão. Um sinalizador de divisão, indicando se cada unidade de codificação foi dividida em unidades de codificação de um nivel inferior imediato, pode ser usado como um simbolo para indicar uma estrutura hierárquica de uma unidade de codificação. Da mesma forma que para a codificação por entropia de um sinalizador de tamanho TU acima descrito, o sinalizador de divisão é codificado por entropia, com base em um modelo de contexto selecionado, de acordo com um valor de estado obtido, combinando-se, de forma variável, informações hierárquicas e não-hierárquicas .
[000214] Um processo de codificação por entropia de um simbolo relacionado a um coeficiente de transformação é abaixo descrito. A Fig. 18 é uma vista de referência para descrever um processo de codificação por entropia de um coeficiente de transformação, de acordo com uma forma de realização da presente invenção.
[000215] Um simbolo relacionado a coeficientes de transformação, transformados com base nas estruturas hierárquicas de unidades de transformação, inclui um sinalizador "coded_block flag", que indica se um valor de coeficiente de transformação diferente de 0 existe nos coeficientes de transformação incluidos na unidade de transformação, um sinalizador "significant coeff_flag", que indica a posição de um coeficiente de transformação diferente de 0, um sinalizador "last_significant_coeff_flag", que indica a posição de um coeficiente de transformação final diferente de 0, e um valor absoluto do coeficiente de transformação diferente de 0.
[000216] Quando o sinalizador coded_block_flag for 0, que é o caso onde um coeficiente de transformação diferente de 0 não existe em uma unidade de transformação atual, significa que não há mais informações a serem transmitidas. Um sinalizador coded_block_flag, tendo um valor binário 0 ou 1, é determinado para cada unidade de transformação. O sinalizador coded_block_flag pode ser codificado por entropia, da mesma forma que para o sinalizador de tamanho TU indicando a estrutura hierárquica de uma unidade de transformação da Fig. 15. Quando o sinalizador coded_block_flag de uma unidade de transformação correspondente a um nó superior for 0, os sinalizadores coded_block_flag de uma unidade de transformação correspondente a um nó filho têm todos um valor de 0 e, portanto, somente o sinalizador coded_block__f lag de um nó superior é codificado por entropia.
[000217] Referindo-se à Fig. 18, coeficientes de transformação em uma unidade de transformação 2000 são verificados, de acordo com uma ordem de varredura em ziguezague. A ordem de varredura pode ser alterada. Na Fig. 18, presume-se que todos os coeficientes de transformação correspondentes a um espaço vazio sejam 0. Na Fig. 18, um coeficiente de transformação efetivo final é um coeficiente de transformação 2010 tendo um valor de "-1". Durante a varredura de cada coeficiente de transformação na unidade de transformação 2000, o aparelho de codificação por entropia 1400 codifica o sinalizador "significant coeff flag", que indica se cada coeficiente de transformação é um coeficiente de transformação diferente de 0, e o sinalizador "last_significant_coeff_flag", que indica se o coeficiente de transformação diferente de 0 é um coeficiente de transformação diferente de 0 em uma posição final na ordem de verificação. Em outras palavras, quando o sinalizador significant coeff flag for 1, o coeficiente de transformação na posição correspondente é um coeficiente de transformação eficaz, tendo um valor diferente de 0. Quando o sinalizador significant coeff flag for 0, o coeficiente de transformação na posição correspondente é um coeficiente de transformação eficaz, tendo um valor igual a 0. Quando o sinalizador last_significant_coeff_flag for 0, um coeficiente de transformação eficaz subsequente permanece na ordem de verificação. Quando o sinalizador last—significant_coeff_flag for 1, o coeficiente de transformação na posição correspondente é um coeficiente de transformação efetivo final. Para indicar a posição de um coeficiente de transformação efetivo final, informações de coordenadas indicando uma posição relativa de um coeficiente de transformação efetivo final podem ser usadas, em vez do sinalizador last_significant_coeff_flag. Por exemplo, como ilustrado na Fig. 18, uma vez que o coeficiente de transformação "-1" 2010, como um coeficiente de transformação efetiva final, está localizado na quinta posição na direção do eixo horizontal, e na quinta posição na direção do eixo vertical em relação ao coeficiente de transformação, na posição superior esquerda na Fig. 18, o aparelho de codificação por entropia 1400 pode codificar um valor de x = 5 e y = 5, como informações de posição de um coeficiente de transformação efetiva final.
[000218] A unidade de modelagem de contexto 1410 pode determinar um modelo de contexto para codificação por entropia de simbolos relacionados a um coeficiente de transformação com base em um valor de estado, de acordo com informações hierárquicas ou uma combinação das informações hierárquicas e informações não-hierárquicas. Em outras palavras, da mesma forma que para o processo para determinar um modelo de contexto usado para a codificação por entropia de um sinalizador de tamanho TU indicando a estrutura hierárquica acima descrita de uma unidade de transformação, a unidade de modelagem de contexto 1410 pode determinar um modelo de contexto usado para a codificação por entropia de simbolos relacionados a um coeficiente de transformação, com base nas informações hierárquicas de uma unidade de transformação, à qual pertence um coeficiente de transformação atual a ser codificado. Por exemplo, conforme ilustrado na Fig. 19 ou 22, a unidade de modelagem de contexto 1410 pode determinar um modelo de contexto usado para a codificação por entropia de simbolos relacionados a um coeficiente de transformação, usando informações sobre o tamanho de uma unidade de transformação, à qual pertence um coeficiente de transformação atual.
[000219] Além disso, a unidade de modelagem de contexto 1410 pode usar informações hierárquicas relativas, que indicam um tamanho relativo de uma unidade de dados, à qual pertence o simbolo em relação a uma maior unidade de transformação, que não sejam as informações de tamanho da unidade de transformação absoluta. A unidade de modelagem de contexto 1410 pode determinar um modelo de contexto usado para a codificação por entropia de símbolos relacionados a um coeficiente de transformação, com base em uma combinação de informações hierárquicas e informações adicionais, que não sejam as informações hierárquicas. Por exemplo, a unidade de modelagem de contexto 1410 pode definir um índice de contexto, com base nas informações sobre o tamanho de uma unidade de transformação e informações de componente de cor, como informações não- hierárquicas. Além disso, a unidade de modelagem de contexto 1410 pode usar informações sobre a posição de cada pixel, como informações não-hierárquicas para a codificação por entropia de um símbolo definido em unidades de pixels, como o sinalizador de "significant_coeff_flag", que indica se um coeficiente de transformação é um coeficiente de transformação diferente de 0 e o sinalizador "last_significant_coeff_flag", que indica se o coeficiente de transformação diferente de 0 é o coeficiente de transformação diferente de 0 na posição final da ordem de verificação.
[000220] As Fig. 23 e 24 são vistas de referência, ilustrando uma tabela de mapeamento do índice de contexto definida com base em informações sobre a posição de uma unidade de dados, de acordo com uma forma de realização da presente invenção. Referindo-se às Figs. 23 e 24, a unidade de modelagem de contexto 1410 pode atribuir um índice de contexto, como indicado pelos números de referência 2500 e 2600, de acordo com a posição de cada pixel durante a codificação por entropia de um símbolo definido em unidades de pixels, e pode determinar um modelo de contexto usando o índice de contexto determinado de acordo com a posição de um símbolo atual. Além disso, a unidade de modelagem de contexto 1410 pode determinar um modelo de contexto através de uma combinação de informações hierárquicas durante a codificação por entropia de um simbolo definido em unidades de pixels. Por exemplo, o sinalizador "significant_coeff_flag", que indica se um coeficiente de transformação é um coeficiente de transformação diferente de 0, e o sinalizador "last_significant_coeff_flag", que indica se o coeficiente de transformação diferente de 0 é um coeficiente de transformação diferente de 0 em uma posição final na ordem de varredura, podem ser determinados, combinando as primeiras informações, de acordo com o tamanho de uma unidade de transformação, e as segundas informações, de acordo com a posição de um coeficiente de transformação. Conforme ilustrado na Fig. 25, a unidade de modelagem de contexto 1410 pode definir um indice de contexto, indicando um de uma pluralidade de modelos de contexto, de acordo com uma combinação de segmentos das primeiras informações pl a pl tendo número I de valores de estado, onde I é um número inteiro, e de segmentos das segundas informações ql a qJ tendo número J de valores de estado, onde J é um número inteiro e pode determinar e emitir um indice de contexto, de acordo com as informações sobre o tamanho de uma unidade de transformação, a que pertence um coeficiente de transformação atual, e a posição do coeficiente de transformação atual.
[000221] Embora símbolos sejam codificados e decodificados usando CABAC na descrição acima, o aparelho de codificação por entropia 1400 pode codificar cada simbolo por um método de codificação de comprimento variável, em que palavras-código predefinidas são atribuídas de acordo com uma combinação de informações hierárquicas e não-hierárquicas.
[000222] O aparelho de codificação por entropia 1400, de acordo com a presente forma de realização, não é limitado à descrição acima, podendo determinar um dentre a pluralidade de modelos de contexto através de uma combinação de pelo menos informações selecionadas dentre informações hierárquicas de uma unidade de codificação, informações hierárquicas de uma unidade de previsão, informações hierárquicas de uma unidade de transformação, informações de componente de cor, informações de modo de previsão, o tamanho máximo de uma unidade de codificação, profundidade codificada, informações sobre a partição de uma unidade de previsão, um sinalizador de divisão que indica se uma unidade de codificação foi dividida, informações sobre o tamanho de uma unidade de transformação, um sinalizador de tamanho TU, que indica se uma unidade de transformação foi dividida, informações sobre modo de previsão intra/inter, aplicadas a cada unidade de previsão, informações do vetor de movimento, informações de direção de previsão, e informações relacionadas à posição de um simbolo, e executar a codificação por entropia em um simbolo usando o modelo de contexto determinado.
[000223] A Fig. 27 é um fluxograma de um método de codificação de video utilizando uma unidade de dados estruturados de modo hierárquico, de acordo com uma forma de realização da presente invenção. Referindo-se à Fig. 27, na operação 2910, o codificador hierárquico 110 codifica um quadro formando um video baseado em uma unidade de dados estruturados de modo hierárquico. No processo de codificação de um quadro com base na unidade de dados estruturados de modo hierárquico, uma unidade de codificação estruturada de modo hierárquico correspondente a cada profundidade, unidades de codificação, de acordo com uma estrutura em árvore, incluindo unidades de profundidade de codificação de profundidade de código, uma partição para codificação por previsão para cada unidade de codificação da profundidade codificada, e estrutura hierárquica de uma unidade de transformação, podem ser determinadas para cada unidade de codificação máxima.
[000224] Na operação 2920, o codificador de entropia 120, que determina um modelo de contexto usado para a codificação por entropia de um simbolo, é determinado com base nas informações hierárquicas de uma unidade de dados, à qual pertence um simbolo de um quadro codificado. Além disso, o codificador de entropia 120 pode determinar um modelo de contexto a ser aplicável a um simbolo atual de uma pluralidade de modelos de contexto através de uma combinação de informações relacionadas a uma estrutura hierárquica e informações adicionais, que não sejam as informações de estrutura hierárquica.
[000225] As informações hierárquicas podem ser uma das informações sobre o tamanho de uma unidade de dados, à qual pertence um simbolo, e informações hierárquicas relativas, que indicam um tamanho relativo de uma unidade de dados, à qual pertence um simbolo em relação a uma unidade de dados de um nivel mais elevado tendo um tamanho maior que a unidade de dados, à qual o simbolo pertence. As informações hierárquicas relativas podem incluir informações sobre o tamanho de uma maior unidade de dados, um sinalizador de divisão, indicando se a maior unidade de dados foi dividida, ou informações sobre uma relação relativa do tamanho dos dados, à qual um simbolo pertence com relação à maior unidade de dados.
[000226] Na operação 2930, o codificador de entropia 120 executa a codificação por entropia de um simbolo, usando o modelo de contexto determinado. O simbolo pode incluir informações sobre um coeficiente de transformação, informações sobre a estrutura hierárquica de uma unidade de transformação usada para a codificação, usando a unidade de dados estruturada de modo hierárquico, e informações sobre uma estrutura hierárquica de um quadro.
[000227] A Fig. 28 é um diagrama de blocos, que ilustra uma estrutura de um aparelho de decodificação por entropia 3000, segundo uma forma de realização da presente invenção. O aparelho de decodificação por entropia 3000 da Fig. 28 corresponde ao decodificador de entropia 220 do aparelho de decodificação de video 200 da Fig. 2.
[000228] O aparelho de decodificação por entropia 3000 decodifica por entropia símbolos indicando informações relacionadas à estrutura hierárquica, que é um destino de codificação extraido pela unidade de extração de simbolos 210 da Fig. 2, e informações sobre codificação diferentes das informações de estrutura hierárquica. Referindo-se à FIG. 28, o aparelho de decodificação por entropia 3000, de acordo com a forma de realização atual, inclui uma unidade de modelagem de contexto 3010, um estimador de probabilidade 3020, e um decodificador normal 3030.
[000229] A unidade de modelagem de contexto 3010 determina um modelo de contexto usado para a codificação por entropia de um simbolo, com base em informações hierárquicas de uma unidade de dados, à qual pertence um simbolo. Especificamente, supondo que informações hierárquicas relacionadas à unidade de dados estruturados de modo hierárquico, à qual pertence um simbolo de destino atualmente decodificado, tenham um número I de valores de estado, onde I é um número inteiro positivo, a unidade de modelagem de contexto 3010 pode definir I ou um menor número de modelos de contexto, de acordo com um valor de estado de informações hierárquicas, e pode determinar um modelo de contexto a ser utilizado para a decodificação de um simbolo atual, pela atribuição de um indice de contexto indicando um número dentre o I ou um menor número de modelos de contexto, de acordo com o valor de estado das informações hierárquicas. Além disso, além das informações de tamanho da unidade de dados absoluta, conforme acima descrito, informações hierárquicas relativas, que indicam um tamanho relativo de uma unidade de dados, à qual pertence um simbolo em relação a uma maior unidade de dados, podem ser usadas.
[000230] Informações indicando uma relação entre o tamanho de uma unidade de dados, à qual pertence um simbolo atual, e o tamanho de uma maior unidade de dados, podem ser usadas como as informações hierárquicas. A unidade de modelagem de contexto 3010 pode determinar o tamanho de uma unidade de dados, à qual pertence um simbolo atual, usando informações hierárquicas relativas, que indicam um tamanho relativo de uma unidade de dados, à qual pertence o simbolo atual em relação à maior unidade de dados como informações hierárquicas, e pode determinar um modelo de contexto, com base no tamanho determinado de uma unidade de dados. Além disso, a unidade de modelagem de contexto 3010 pode determinar um modelo de contexto utilizado para a decodificação por entropia de um simbolo de destino, com base em uma combinação de informações hierárquicas e informações adicionais, que não sejam as informações hierárquicas, de acordo com o tipo de um simbolo.
[000231] Especificamente, supondo que informações hierárquicas relacionadas à unidade de dados estruturados de modo hierárquico, à qual pertence um simbolo de destino atualmente decodificado, tenham número I de valores de estado, e outras informações não-hierárquicas, que não sejam as informações hierárquicas, tenham número J de valores de estado, onde J é um número inteiro positivo, a unidade de modelagem de contexto 3010 pode definir I x J ou um menor número de modelos de contexto, de acordo com uma combinação de número I x J de valores de estado, e pode definir um modelo de contexto utilizado para a decodificação do simbolo atual, pela atribuição de um indice de contexto indicando um número dentre I x j ou um menor número de modelos de contexto, de acordo com os valores de estado das informações hierárquicas de uma unidade de dados, à qual pertence o simbolo atual, e informações não-hierárquicas. Além disso, o modelo de contexto determinado pela unidade de modelagem de contexto 3010, baseado na combinação das informações hierárquicas e informações não- hierárquicas, é definido como na unidade de modelagem de contexto 1410 do aparelho de codificação por entropia 1400.
[000232] A unidade de modelagem de contexto 3010 não é limitada à forma de realização acima descrita, e um dentre a pluralidade de modelos de contexto pode ser selecionado, combinando diversas informações hierárquicas e informações não- hierárquicas, de acordo com o tipo de um simbolo a ser decodificado.
[000233] O estimador de probabilidade 3020 determina e emite informações sobre um valor de probabilidade de MPS e LPS e informações sobre um sinal binário correspondente ao MPS e LPS dentre os sinais binários 0 e 1, usando as informações de indice de contexto emitidas pela unidade de modelagem de contexto 3010. O valor de probabilidade de MPS ou LPS pode ser determinado, através da leitura de um valor de probabilidade indicado por um indice de contexto de uma tabela de consulta predefinida. Além disso, o valor de probabilidade de MPS ou LPS pode ser atualizado com base no valor de acumulação de estatística de ocorrência de um sinal binário.
[000234] O decodificador normal 3030 executa a decodificação por entropia de um simbolo atual incluído em um fluxo de bits baseado nas informações do sinal binário e informações de probabilidade correspondentes a MPS ou LPS, e emite informações de simbolo decodificadas.
[000235] A Fig. 29 é um fluxograma de um método decodificador de video, usando uma unidade de dados estruturados de modo hierárquico, de acordo com outra forma de realização da presente invenção. Referindo-se à Fig. 29, na operação 3110, a unidade de extração de símbolos 210 extrai um simbolo de um quadro codificado, com base na unidade de dados estruturados de modo hierárquico, pela análise de um fluxo de bits codificado.
[000236] Na operação 3120, o decodificador de entropia 220 determina um modelo de contexto utilizado para a decodificação por entropia de um simbolo, baseado nas informações hierárquicas de uma unidade de dados, à qual pertence um simbolo. Além disso, o decodificador de entropia 220 pode determinar um modelo de contexto a ser aplicado a um simbolo atual dentre uma pluralidade de modelos de contexto, através de uma combinação de informações relacionadas a uma estrutura hierárquica, e informações adicionais, que não sejam as informações de estrutura hierárquica.
[000237] As informações hierárquicas podem ser uma dentre as informações sobre o tamanho de uma unidade de dados, à qual pertence um simbolo, e informações hierárquicas relativas, que indicam um tamanho relativo de uma unidade de dados, à qual pertence um simbolo em relação a uma unidade de dados de um nível mais elevado, tendo um tamanho maior que a unidade de dados, à qual pertence o símbolo. As informações hierárquicas relativas podem incluir informações sobre o tamanho de uma maior unidade de dados, um sinalizador de divisão, indicando se a maior unidade de dados foi dividida, ou informações sobre uma proporção relativa do tamanho dos dados, à qual pertence um símbolo com relação à maior unidade de dados.
[000238] Na operação 3130, o decodificador de entropia 220 decodifica por entropia um símbolo, usando o modelo de contexto determinado. O símbolo pode incluir informações sobre um coeficiente de transformação, informações sobre a estrutura hierárquica de uma unidade de transformação usada para a codificação, usando a unidade de dados estruturados de modo hierárquico, e informações sobre uma estrutura hierárquica de um quadro.
[000239] Além disso, a invenção pode ser incorporada como códigos legíveis por computador em uma mídia de gravação legível por computador. A mídia de gravação legível por computador é qualquer dispositivo de armazenamento de dados, que possa armazenar dados, que possam ser lidos posteriormente por um sistema de computador. Exemplos da mídia de gravação legível por computador incluem memória somente de leitura (ROM), memória de acesso aleatório (RAM), CD-ROMs, fitas magnéticas, discos flexíveis, dispositivos de armazenamento de dados óticos etc.. A mídia de gravação legível por computador, além disso, pode ser distribuída sobre sistemas de computador acoplados à rede, para que o código legível por computador seja armazenado e executado de forma distribuída.
[000240] Embora essa invenção tenha sido especialmente mostrada e descrita com referência às suas formas de realização preferidas, deve ficar claro para aqueles de habilidade comum na arte, que várias alterações na forma e detalhes podem ser feitas, sem abandonar o espirito e escopo da invenção, como definidos pelas reivindicações acrescentadas. As formas de realização preferenciais devem ser consideradas somente no sentido descritivo, e não para fins de limitação. Portanto, o escopo da invenção é definido, não pela descrição detalhada da invenção, mas pelas reivindicações acrescentadas, e todas as diferenças dentro do escopo devem ser interpretadas, como sendo incluídas na presente invenção.

Claims (3)

1. MÉTODO DECODIFICADOR DE VÍDEO, caracterizado pelo fato de compreender: receber um fluxo de bits incluindo um sinalizador de divisão da unidade de transformação indicando se uma unidade de transformação de uma profundidade de transformação atual está dividida, a unidade de transformação estando incluída em uma unidade de codificação(3110); determinar um indice de contexto indicando um modelo de contexto entre uma pluralidade de modelos de contexto baseado em um tamanho da unidade de transformação da profundidade de transformação atual (3120); obter o sinalizador de divisão da unidade de transformação mediante decodificação por entropia do fluxo de bits no modelo de contexto indicado pelo indice de contexto determinado (3130); e quando o sinalizador de divisão da unidade de transformação indicar uma divisão da unidade de transformação da profundidade de transformação atual, dividir a unidade de transformação da profundidade de transformação atual em quatro unidades de transformação retangulares de uma profundidade de transformação inferior, em que: uma unidade de transformação retangular é uma forma cuja as medidas de largura e altura possuem o mesmo comprimento, uma imagem é dividida em uma pluralidade de unidades de codificação máxima de acordo com informação acerca do tamanho máximo da unidade de codificação, uma unidade de codificação máxima atual entre as unidades de codificação máximas é hierarquicamente dividida em uma ou mais unidades de codificação de profundidades incluindo pelo menos uma de uma profundidade atual e uma profundidade inferior de acordo com a informação de divisão, quando a informação de divisão indicar uma divisão para a profundidade atual, a unidade de codificação de uma profundidade atual é dividida em quatro unidades de codificação da profundidade inferior, independentemente de unidades de codificação vizinhas, e quando a informação de divisão indicar uma não- divisão para a profundidade atual, uma ou mais unidades de transformação são obtidas a partir da unidade de codificação da profundidade atual.
2. MÉTODO DECODIFICADOR DE VÍDEO, de acordo com a reivindicação 1, caracterizado pelo fato do modelo de contexto compreender informações sobre um sinal binário correspondente a um símbolo mais provável (MPS) e um símbolo menos provável (LPS) de 0 e 1, que são sinais binários indicando o símbolo e um valor de probabilidade de pelo menos um dos MPS e LPS, e o valor de probabilidade de pelo menos um dos MPS e LPS ser determinado com base em uma tabela de consulta ou um valor de acumulação de estatística de ocorrência do sinal binário.
3. MÉTODO CODIFICADOR DE VÍDEO, caracterizado pelo fato de compreender: codificar um quadro de um sinal de vídeo baseado em uma unidade de dados hierárquicos estruturados (2910); determinar indicando um índice de contexto um modelo de contexto entre uma pluralidade de modelos de contexto usado para codificação por entropia de um sinalizador de divisão da unidade de transformação indicando se uma unidade de transformação de uma profundidade de transformação atual está dividida, a unidade de transformação sendo incluida em uma unidade de codificação (2920); e codificar por entropia o sinalizador de divisão da unidade de transformação usando o modelo de contexto indicado pelo indice de contexto determinado (2930), em que o modelo de contexto é determinado com base em um tamanho da unidade de transformação de uma profundidade de transformação atual; e quando o sinalizador de divisão da unidade de transformação indicar uma divisão da unidade de transformação da profundidade de transformação atual, a unidade de transformação da profundidade de transformação atual é dividida em quatro unidades de transformação retangulares de uma profundidade de transformação inferior, em que: uma unidade de transformação retangular é uma forma cuja as medidas de largura e altura possuem o mesmo comprimento, uma imagem é dividida em uma pluralidade de unidades de codificação máxima de acordo com informação acerca do tamanho máximo da unidade de codificação, uma unidade de codificação máxima atual entre as unidades de codificação máximas é hierarquicamente dividida em uma ou mais unidades de codificação de profundidades incluindo pelo menos uma de uma profundidade atual e uma profundidade inferior de acordo com a informação de divisão, quando a informação de divisão indicar uma divisão para a profundidade atual, a unidade de codificação de uma profundidade atual é dividida em quatro unidades de codificação da profundidade inferior, independentemente de unidades de codificação vizinhas, e quando a informação de divisão indicar uma não- divisão para a profundidade atual, uma ou mais unidades de transformação são obtidas a partir da unidade de codificação da profundidade atual.
BR112013017395-5A 2011-01-06 2012-01-06 Método decodificador de vídeo, e método codificador de vídeo BR112013017395B1 (pt)

Priority Applications (1)

Application Number Priority Date Filing Date Title
BR122018076837-1A BR122018076837B1 (pt) 2011-01-06 2012-01-06 dispositivo decodificador de vídeo

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161430322P 2011-01-06 2011-01-06
US61/430,322 2011-01-06
PCT/KR2012/000155 WO2012093891A2 (ko) 2011-01-06 2012-01-06 계층적 구조의 데이터 단위를 이용한 비디오의 부호화 방법 및 장치, 그 복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
BR112013017395A2 BR112013017395A2 (pt) 2017-10-31
BR112013017395B1 true BR112013017395B1 (pt) 2020-10-06

Family

ID=46457875

Family Applications (2)

Application Number Title Priority Date Filing Date
BR112013017395-5A BR112013017395B1 (pt) 2011-01-06 2012-01-06 Método decodificador de vídeo, e método codificador de vídeo
BR122018076837-1A BR122018076837B1 (pt) 2011-01-06 2012-01-06 dispositivo decodificador de vídeo

Family Applications After (1)

Application Number Title Priority Date Filing Date
BR122018076837-1A BR122018076837B1 (pt) 2011-01-06 2012-01-06 dispositivo decodificador de vídeo

Country Status (10)

Country Link
US (5) US9479784B2 (pt)
EP (1) EP2663075B1 (pt)
JP (4) JP6054882B2 (pt)
KR (8) KR101457397B1 (pt)
CN (6) CN104811706B (pt)
AU (4) AU2012205077B2 (pt)
BR (2) BR112013017395B1 (pt)
ES (1) ES2793963T3 (pt)
PL (1) PL2663075T3 (pt)
WO (1) WO2012093891A2 (pt)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8755620B2 (en) 2011-01-12 2014-06-17 Panasonic Corporation Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus for performing arithmetic coding and/or arithmetic decoding
WO2013005968A2 (ko) 2011-07-01 2013-01-10 삼성전자 주식회사 계층적 구조의 데이터 단위를 이용한 엔트로피 부호화 방법 및 장치, 복호화 방법 및 장치
US9800870B2 (en) * 2011-09-16 2017-10-24 Qualcomm Incorporated Line buffer reduction for short distance intra-prediction
US9749645B2 (en) * 2012-06-22 2017-08-29 Microsoft Technology Licensing, Llc Coded-block-flag coding and derivation
LT2869563T (lt) * 2012-07-02 2018-07-10 Samsung Electronics Co., Ltd. Vaizdo entropinio dekodavimo būdas
US9088770B2 (en) 2012-08-15 2015-07-21 Intel Corporation Size based transform unit context derivation
WO2014107029A1 (ko) * 2013-01-02 2014-07-10 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR102290420B1 (ko) * 2013-04-05 2021-08-17 삼성전자주식회사 비디오 부호화 방법 및 그 장치, 비디오 복호화 방법 및 그 장치
US20150063464A1 (en) * 2013-08-30 2015-03-05 Qualcomm Incorporated Lookup table coding
US20150189269A1 (en) * 2013-12-30 2015-07-02 Google Inc. Recursive block partitioning
WO2015135169A1 (en) * 2014-03-13 2015-09-17 Qualcomm Incorporated Constrained depth intra mode coding for 3d video coding
CN105578180B (zh) * 2014-10-16 2019-01-15 联想(北京)有限公司 一种编码方法及装置
CN105787985B (zh) * 2014-12-24 2019-08-27 联想(北京)有限公司 深度图处理方法、装置及电子设备
US9781424B2 (en) * 2015-01-19 2017-10-03 Google Inc. Efficient context handling in arithmetic coding
CN105992000B (zh) * 2015-03-06 2019-03-22 扬智科技股份有限公司 影像流的处理方法及其影像处理装置
US9942548B2 (en) * 2016-02-16 2018-04-10 Google Llc Entropy coding transform partitioning information
US11064205B2 (en) 2017-03-21 2021-07-13 Lg Electronics Inc. Image decoding method and device according to intra prediction in image coding system
KR102205905B1 (ko) * 2017-07-07 2021-01-21 삼성전자주식회사 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US10506242B2 (en) * 2018-01-30 2019-12-10 Google Llc Efficient context model computation design in transform coefficient coding
US10869060B2 (en) * 2018-01-30 2020-12-15 Google Llc Efficient context model computation design in transform coefficient coding
US10887594B2 (en) * 2018-07-05 2021-01-05 Mediatek Inc. Entropy coding of coding units in image and video data
JP7329942B2 (ja) 2019-03-28 2023-08-21 三菱重工業株式会社 運用計画作成装置、運用計画作成方法、及びプログラム
CN111818346B (zh) 2019-04-11 2023-04-18 富士通株式会社 图像编码方法和装置、图像解码方法和装置
CN111988629B (zh) * 2019-05-22 2024-02-09 富士通株式会社 图像编码装置和图像解码装置
US11190777B2 (en) * 2019-06-30 2021-11-30 Tencent America LLC Method and apparatus for video coding
US11317090B2 (en) * 2019-08-12 2022-04-26 Tencent America LLC Method and apparatus for video coding
US11252443B2 (en) * 2019-08-12 2022-02-15 Tencent America LLC Method and apparatus for video coding

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09505188A (ja) * 1993-11-15 1997-05-20 ナショナル・セミコンダクター・コーポレイション 4分木構造walsh変換符号化
CN101448162B (zh) * 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
CN102316320B (zh) * 2001-12-17 2014-07-09 微软公司 处理视频图像的方法
EP1322121A3 (en) * 2001-12-19 2003-07-16 Matsushita Electric Industrial Co., Ltd. Video encoder and decoder with improved motion detection precision
JP4230188B2 (ja) 2002-06-06 2009-02-25 パナソニック株式会社 可変長符号化方法および可変長復号化方法
JP2004282345A (ja) * 2003-03-14 2004-10-07 Canon Inc 画像処理装置
HUP0301368A3 (en) 2003-05-20 2005-09-28 Amt Advanced Multimedia Techno Method and equipment for compressing motion picture data
US7769088B2 (en) 2003-05-28 2010-08-03 Broadcom Corporation Context adaptive binary arithmetic code decoding engine
US7580584B2 (en) * 2003-07-18 2009-08-25 Microsoft Corporation Adaptive multiple quantization
KR20050045746A (ko) * 2003-11-12 2005-05-17 삼성전자주식회사 계층 구조의 가변 블록 크기를 이용한 움직임 추정 방법및 장치
US8116374B2 (en) * 2004-05-07 2012-02-14 Broadcom Corporation Method and system for generating a transform size syntax element for video decoding
US7894530B2 (en) * 2004-05-07 2011-02-22 Broadcom Corporation Method and system for dynamic selection of transform size in a video decoder based on signal content
US7929776B2 (en) * 2005-03-10 2011-04-19 Qualcomm, Incorporated Method and apparatus for error recovery using intra-slice resynchronization points
KR100664936B1 (ko) 2005-04-13 2007-01-04 삼성전자주식회사 코딩 효율이 향상된 컨텍스트 기반 적응적 산술 코딩 및디코딩 방법과 이를 위한 장치, 이를 포함하는 비디오 코딩및 디코딩 방법과 이를 위한 장치
KR100746007B1 (ko) * 2005-04-19 2007-08-06 삼성전자주식회사 엔트로피 코딩의 컨텍스트 모델을 적응적으로 선택하는방법 및 비디오 디코더
CN100403801C (zh) 2005-09-23 2008-07-16 联合信源数字音视频技术(北京)有限公司 一种基于上下文的自适应熵编/解码方法
CN103118252B (zh) * 2005-09-26 2016-12-07 三菱电机株式会社 运动图像编码装置以及运动图像译码装置
KR100873636B1 (ko) * 2005-11-14 2008-12-12 삼성전자주식회사 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치
US7245241B2 (en) 2005-11-25 2007-07-17 Microsoft Corporation Image coding with scalable context quantization
US8515194B2 (en) * 2007-02-21 2013-08-20 Microsoft Corporation Signaling and uses of windowing information for images
US7518536B2 (en) 2007-03-30 2009-04-14 Hong Kong Applied Science And Technology Research Institute Co. Ltd. Method and apparatus for debinarization of digital video data during decoding
US8488668B2 (en) * 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
EP2081386A1 (en) * 2008-01-18 2009-07-22 Panasonic Corporation High precision edge prediction for intracoding
KR20090129926A (ko) 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
KR101517768B1 (ko) 2008-07-02 2015-05-06 삼성전자주식회사 영상의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US8406307B2 (en) * 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
US8503527B2 (en) * 2008-10-03 2013-08-06 Qualcomm Incorporated Video coding with large macroblocks
US8619856B2 (en) * 2008-10-03 2013-12-31 Qualcomm Incorporated Video coding with large macroblocks
US20100278232A1 (en) 2009-05-04 2010-11-04 Sehoon Yea Method Coding Multi-Layered Depth Images
WO2010143853A2 (ko) * 2009-06-07 2010-12-16 엘지전자 주식회사 비디오 신호의 디코딩 방법 및 장치
WO2011002914A1 (en) * 2009-06-30 2011-01-06 Massachusetts Institute Of Technology System and method for providing high throughput entropy coding using syntax element partitioning
KR101456498B1 (ko) 2009-08-14 2014-10-31 삼성전자주식회사 계층적 부호화 단위의 스캔 순서를 고려한 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US20110274162A1 (en) * 2010-05-04 2011-11-10 Minhua Zhou Coding Unit Quantization Parameters in Video Coding
CN101820549B (zh) * 2010-03-19 2011-10-19 西安电子科技大学 基于jpeg2000标准的高速实时处理算术熵编码系统
US8319672B2 (en) * 2010-04-09 2012-11-27 Korea Electronics Technology Institute Decoding device for context-based adaptive binary arithmetic coding (CABAC) technique
US9215470B2 (en) * 2010-07-09 2015-12-15 Qualcomm Incorporated Signaling selected directional transform for video coding
JP5134048B2 (ja) 2010-07-23 2013-01-30 ソニー株式会社 復号装置および方法、記録媒体、並びにプログラム
US9055305B2 (en) * 2011-01-09 2015-06-09 Mediatek Inc. Apparatus and method of sample adaptive offset for video coding
US20120082235A1 (en) * 2010-10-05 2012-04-05 General Instrument Corporation Coding and decoding utilizing context model selection with adaptive scan pattern
US9172963B2 (en) * 2010-11-01 2015-10-27 Qualcomm Incorporated Joint coding of syntax elements for video coding
US9049444B2 (en) * 2010-12-22 2015-06-02 Qualcomm Incorporated Mode dependent scanning of coefficients of a block of video data
US10992958B2 (en) * 2010-12-29 2021-04-27 Qualcomm Incorporated Video coding using mapped transforms and scanning modes
US9210442B2 (en) * 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation

Also Published As

Publication number Publication date
AU2012205077B2 (en) 2016-04-07
CN104811705B (zh) 2018-05-08
AU2018204232B2 (en) 2019-07-11
EP2663075A2 (en) 2013-11-13
JP6753916B2 (ja) 2020-09-09
AU2016204370A1 (en) 2016-07-14
KR101552908B1 (ko) 2015-09-15
KR101579113B1 (ko) 2015-12-23
US9407916B2 (en) 2016-08-02
KR20120080140A (ko) 2012-07-16
KR101842571B1 (ko) 2018-03-27
CN104811703B (zh) 2018-04-20
KR20140085391A (ko) 2014-07-07
US9319689B2 (en) 2016-04-19
PL2663075T3 (pl) 2020-10-19
CN103430541A (zh) 2013-12-04
KR20150040819A (ko) 2015-04-15
KR101932726B1 (ko) 2018-12-27
EP2663075A4 (en) 2015-12-30
CN104811706A (zh) 2015-07-29
US9479784B2 (en) 2016-10-25
CN104811706B (zh) 2017-10-27
WO2012093891A3 (ko) 2012-12-06
JP6445651B2 (ja) 2018-12-26
KR20150040820A (ko) 2015-04-15
US20150189282A1 (en) 2015-07-02
US20150189279A1 (en) 2015-07-02
CN104811703A (zh) 2015-07-29
KR20140146558A (ko) 2014-12-26
JP2018050307A (ja) 2018-03-29
CN104796711B (zh) 2018-03-09
US20150189281A1 (en) 2015-07-02
JP2017077002A (ja) 2017-04-20
US20130315300A1 (en) 2013-11-28
US9313506B2 (en) 2016-04-12
CN104811711A (zh) 2015-07-29
AU2017203542A1 (en) 2017-06-15
WO2012093891A2 (ko) 2012-07-12
JP2019062554A (ja) 2019-04-18
AU2016204370B2 (en) 2017-03-09
JP6231651B2 (ja) 2017-11-15
JP2014506064A (ja) 2014-03-06
CN103430541B (zh) 2016-11-23
AU2018204232A1 (en) 2018-07-05
AU2012205077A1 (en) 2013-08-01
US9313507B2 (en) 2016-04-12
BR122018076837B1 (pt) 2020-12-01
KR20150040821A (ko) 2015-04-15
KR101457397B1 (ko) 2014-11-04
CN104811711B (zh) 2019-02-15
AU2017203542B2 (en) 2018-03-15
EP2663075B1 (en) 2020-05-06
KR102013243B1 (ko) 2019-08-22
US20150189278A1 (en) 2015-07-02
JP6054882B2 (ja) 2016-12-27
KR101573339B1 (ko) 2015-12-01
CN104796711A (zh) 2015-07-22
BR112013017395A2 (pt) 2017-10-31
CN104811705A (zh) 2015-07-29
ES2793963T3 (es) 2020-11-17
KR20180137472A (ko) 2018-12-27
KR101578049B1 (ko) 2015-12-16
KR20180042828A (ko) 2018-04-26

Similar Documents

Publication Publication Date Title
BR112013017395B1 (pt) Método decodificador de vídeo, e método codificador de vídeo
AU2018200355B2 (en) Method and apparatus for entropy coding video and method and apparatus for entropy decoding video
BR122019014179B1 (pt) método de decodificação de vídeo
BR122020014021B1 (pt) Aparelho para decodificar um vídeo
BR122021004622B1 (pt) Método para decodificar um vídeo
BR112012003245A2 (pt) método para decodificar vídeo, método para codificar vídeo, aparelho para decodificar vídeo, aparelho para codificar vídeo, e meio de gravação legível em computador
BR112012025308B1 (pt) Método de codificar um vídeo, método de decodificar um vídeo codificado, equipamento de codificação de vídeo incluindo um processador, equipamento de decodificação de vídeo incluindo um processador, e meio de gravação legível por computador
BR122013019952A2 (pt) Aparelho de decodificar um vídeo
BR122015021373A2 (pt) aparelho para decodificar um vídeo
BR112014018115B1 (pt) Método de decodificar um vídeo
BR122021004836B1 (pt) Método para decodificar um vídeo codificado
BR122021013570B1 (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]
B12F Other appeals [chapter 12.6 patent gazette]
B15K Others concerning applications: alteration of classification

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

Ipc: H04N 19/13 (2014.01), H04N 19/157 (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 06/01/2012, OBSERVADAS AS CONDICOES LEGAIS.