BR122015021374A2 - método para decodificar um vídeo - Google Patents

método para decodificar um vídeo Download PDF

Info

Publication number
BR122015021374A2
BR122015021374A2 BR122015021374A BR122015021374A BR122015021374A2 BR 122015021374 A2 BR122015021374 A2 BR 122015021374A2 BR 122015021374 A BR122015021374 A BR 122015021374A BR 122015021374 A BR122015021374 A BR 122015021374A BR 122015021374 A2 BR122015021374 A2 BR 122015021374A2
Authority
BR
Brazil
Prior art keywords
unit
encoding
coding
size
transformation
Prior art date
Application number
BR122015021374A
Other languages
English (en)
Inventor
Kim Il-Koo
Seregin Vadim
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
Publication of BR122015021374A2 publication Critical patent/BR122015021374A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

método para decodificar um video trata-se de um método para decodificar um vídeo através de decodificação de símbolos, o método incluindo analisar símbolos de blocos de imagem, a partir de um fluxo de bits recebido; classificar um símbolo atual em uma sequência de bits do prefixo e uma sequência de bits do sufixo, com base em um valor limite determinado, de acordo com um tamanho de um bloco atual; realizar decodificação aritmética, usando um método de decodificação aritmética determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo; e realizar binarização inversa, usando um método de binarização determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo.

Description

MÉTODO PARA DECODIFICAR UM VÍDEO
Dividido do Pedido n° BR 11 2013 033708 7 de 27.06.2012
Área Técnica [001] A presente invenção refere-se à codificação de vídeo e decodificação de video envolvendo, respectivamente, codificação aritmética e decodificação aritmética.
Fundamentos da Arte [002] Como hardware para reprodução e armazenamento de conteúdo de vídeo de alta resolução ou alta qualidade está sendo desenvolvido e fornecido, a necessidade de um codec de vídeo para codificar ou decodificar com eficiência o conteúdo de vídeo de alta resolução ou de alta qualidade está aumentando. Em um codec de vídeo convencional, um vídeo é codificado, de acordo com um método para codificar limitado, com base em um macrobloco tendo um tamanho predeterminado.
[003] Dados de imagem de um domínio espacial são convertidos em coeficientes de uma região de frequência, usando um método de conversão de frequência. Um codec de vídeo codifica coeficientes de frequência em unidades de blocos, dividindo uma imagem em uma pluralidade de blocos tendo um tamanho predeterminado, e executando conversão por transformação discreta de cosseno (DCT) para operação rápida da conversão de frequência. Os coeficientes da região de frequência são facilmente comprimidos, em comparação com os dados de imagem do domínio espacial. Em particular, um valor de pixel de uma imagem no domínio espacial é representado como um erro de previsão e, portanto, se a conversão de frequência for executada no erro de previsão, uma grande quantidade de dados pode ser convertida para 0. Um codec
2/82 de vídeo converte dados, que são repetida e continuamente gerados em pequenos dados para reduzir uma quantidade de dados.
Divulgação
Problema Técnico [004] A presente invenção fornece um método e aparelho para
realizar codificação aritmética e decodificação aritmética de um
vídeo, ao classificar um símbolo em sequências de bits do
prefixo e sufixo.
Solução Técnica
[005] De acordo com um aspecto da presente invenção, é
fornecido um método para decodificar um video através de
decodificação de símbolos, o método incluindo: analisar símbolos de blocos de imagem, a partir de um fluxo de bits recebido; classificar um símbolo atual em uma sequência de bits do prefixo e uma sequência de bits do sufixo com base em um valor limite determinado de acordo com um tamanho de um bloco atual; realizar decodificação aritmética, usando um método de decodificação aritmética determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo; realizar binarização inversa, usando um método de binarização determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo; e restaurar os blocos de imagem, realizando previsão e transformação inversa no bloco atual, usando o símbolo atual restaurado através da decodificação aritmética e a binarização inversa.
Efeitos Vantajosos
3/82 [006] A eficiência de um processo de codificação/ decodificação de símbolos é melhorada, através da realização de um método de binarização tendo uma quantidade relativamente pequena de custo de operação sobre a região de sufixo ou a sequência de bits do sufixo, ou por omissão da modelagem de contexto durante a codificação/ decodificação aritmética baseada em contexto para codificação/ decodificação de símbolos.
Descrição dos Desenhos [007] A Fig. 1 é um diagrama de blocos de um aparelho para codificar vídeo, de acordo com uma forma de realização da presente invenção;
[008] a Fig. 2 é um diagrama de blocos de um aparelho para decodificar vídeo, de acordo com uma forma de realização da presente invenção;
[009] as Figuras 3 e 4 são diagramas para descrever codificação aritmética, classificando um símbolo em uma sequência de bits do prefixo e uma sequência de bits do sufixo, de acordo com um valor limite predeterminado, de acordo com uma forma de realização da presente invenção;
[0010] a Fig. 5 é um fluxograma para descrever um método para codificar vídeo, de acordo com uma forma de realização da presente invenção;
[0011] a Fig. 6 é um fluxograma para descrever um método para decodificar vídeo, de acordo com uma forma de realização da presente invenção;
[0012] a Fig. 7 é um diagrama de blocos de um aparelho para codificar vídeo com base em unidades de codificação com uma
4/82 estrutura em árvore, de acordo com uma forma de realização da presente invenção;
[0013] a Fig. 8 é um diagrama de blocos de um aparelho para decodificar video com base em uma unidade de codificação tendo uma estrutura em árvore, de acordo com uma forma de realização da presente invenção;
[0014] a Fig. 9 é um diagrama conceituai de unidades de codificação, de acordo com uma forma de realização da presente invenção;
[0015] a Fig. 10 é um diagrama de blocos de um codificador de imagens com base em unidades de codificação, de acordo com uma forma de realização da presente invenção;
[0016] a Fig. 11 é um diagrama de blocos de um decodifiçador de imagens com base em unidades de codificação, de acordo com uma forma de realização da presente invenção;
[0017] a Fig. 12 é um diagrama mostrando unidades de codificação, de acordo com profundidades e partições, de acordo com uma forma de realização da presente invenção;
[0018] a Fig. 13 é um diagrama para descrever uma relação entre uma unidade de codificação e unidades de transformação, de acordo com uma forma de realização da presente invenção;
[0019] a Fig. 14 é um diagrama para descrever informações de
codificação de unidades de codificação, de acordo com
profundidades, de acordo com uma forma de realização da presente
invenção;
[0020] a Fig. 15 é um diagrama mostrando unidades de
codificação, de acordo com profundidades, de acordo com uma
forma de realização da presente invenção;
5/82 [0021] as Figs. 16 a 18 são diagramas para descrever uma relação entre unidades de codificação, unidades de previsão, e unidades de transformação, de acordo com uma forma de realização da presente invenção; e [0022] a Fig. 19 é 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
Melhor Modo [0023]
De acordo com um aspecto da presente invenção, fornecido um método para decodificar um vídeo através de decodificação de símbolos, o método incluindo:
analisar símbolos de blocos de imagem, a partir de um fluxo de bits recebido;
classificar um símbolo atual em uma sequência de bits do prefixo e uma sequência de bits do sufixo com base em um valor limite determinado, de acordo com um tamanho de um bloco atual;
realizar decodificação aritmética usando um método de decodificação aritmética determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo; realizar binarização inversa usando um método de binarização determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo; e restaurar os blocos de imagem, realizando previsão e transformação inversa no bloco atual, usando o símbolo atual restaurado através da decodificação aritmética e a binarização inversa.
[0024] A realização da binarização inversa pode incluir restauração de uma região de prefixo e uma região de sufixo do símbolo, realizando binarização inversa, de acordo com o método
6/82 de binarização determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo.
[0025] A realização de decodificação aritmética pode incluir: realizar decodificação aritmética para determinar a modelagem de contexto na sequência de bits do prefixo, de acordo com posições de bits; e realizar decodificação aritmética para omitir a modelagem de contexto na sequência de bits do sufixo em um modo bypass.
[0026] A realização da decodificação aritmética pode incluir: realizar a decodificação aritmética, usando um contexto de um índice predeterminado, anteriormente alocado para as posições dos bits da sequência de bits do prefixo, quando o símbolo for a informação de posição do coeficiente final de um coeficiente de transformação.
[0027] 0 símbolo atual pode incluir pelo menos um dentre o modo de previsão intra e informações de posição do coeficiente final do bloco atual.
[0028] O método de binarização pode ainda incluir pelo menos um item selecionado do grupo constituído por binarização unária, binarização unária truncada, binarização golomb exponencial, e binarização de comprimento fixo.
[0029] De acordo com outro aspecto da presente invenção, é fornecido um método para codificar um vídeo através de codificação de símbolos, o método incluindo: gerar símbolos por meio de previsão e transformação em blocos de imagem; classificar um símbolo atual em uma região de prefixo e uma região de sufixo, com base em um valor limite determinado, de acordo com um tamanho de um bloco atual; gerar uma sequência de
7/82 bits do prefixo e uma sequência de bits do sufixo, usando um método de binarização determinado para cada uma dentre a região de prefixo e a região de sufixo; realizar codificação de símbolos usando um método de codificação aritmética determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo; e emitir sequências de bits gerada através da codificação de símbolos na forma de fluxos de bits. [0030] A realização da codificação de símbolos pode incluir:
executar a codificação de símbolos na sequência de bits do prefixo, usando um método de codificação aritmética para executar modelagem de contexto, de acordo com posições de bits; e executar a codificação de símbolos na sequência de bits do sufixo, usando um método de codificação aritmética para omitir a modelagem de contexto em um modo bypass.
[0031] A realização da codificação de símbolos pode incluir: executar a codificação aritmética, usando um contexto de um índice predeterminado, que foi anteriormente alocado para as posições dos bits da sequência de bits do prefixo, quando o símbolo for a informação de posição do coeficiente final de um coeficiente de transformação.
[0032] 0 símbolo atual pode incluir pelo menos um dentre um modo de previsão intra e informações de posição do coeficiente final do bloco atual.
[0033] 0 método de binarização pode ainda incluir pelo menos um item selecionado do grupo constituído por binarização unária, binarização unária truncada, binarização golomb exponencial, e binarização de comprimento fixo.
8/82 [0034] De acordo com outro aspecto da presente invenção, é fornecido um aparelho para decodificar um vídeo através da decodificação de símbolos, o aparelho incluindo: um analisador para analisar símbolos de blocos de imagem, a partir de um fluxo de bits recebido; um decodifiçador de símbolos para classificar um símbolo atual em um sequência de bits do prefixo e uma sequência de bits do sufixo, com base em um valor limite determinado, de acordo com um tamanho de um bloco atual, e realizar decodificação aritmética usando um método de decodificação aritmética determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo e, em seguida, executar binarização inversa usando um método de binarização determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo; e uma unidade restauradora de imagens para restaurar os blocos de imagem, realizando previsão e transformação inversa no bloco atual, usando o símbolo atual restaurado através da decodificação aritmética e da binarização inversa.
[0035] De acordo com outro aspecto da presente invenção, é fornecido um aparelho para codificar um video através da codificação de símbolos, o aparelho incluindo: um codificador de imagens para gerar símbolos por meio de previsão e transformação em blocos de imagem; um codificador de símbolos para classificar um símbolo atual em uma região de prefixo e uma região de sufixo, com base em um valor limite determinado, de acordo com um tamanho de um bloco atual, e gerar uma sequência de bits do prefixo e uma sequência de bits do sufixo usando um método de binarização determinado para cada uma dentre a região de prefixo
9/82 e a região de sufixo e, em seguida, executar codificação de símbolos usando um método de codificação aritmética, determinado para cada uma da sequência de bits do prefixo e da sequência de bits do sufixo; e uma unidade de saída do fluxo de bits para emitir sequências de bits geradas através da codificação de símbolos na forma de fluxos de bits.
[0036] De acordo com outro aspecto da presente invenção, é fornecida uma mídia de gravação legível por computador tendo, a ela incorporado, um programa de computador para executar o método para decodificar um vídeo, através da decodificação de símbolos.
[0037] De acordo com outro aspecto da presente invenção, é fornecida uma mídia de gravação legível por computador tendo, a ela incorporado, um programa de computador para executar o método para codificar um vídeo, através da codificação de símbolos.
Modo para a Invenção [0038] Em seguida, a presente invenção será descrita mais plenamente tendo como referência os desenhos anexos, em que são mostradas formas de realização exemplares da invenção. Expressões, tais como pelo menos um dos, quando precedendo uma lista de elementos, modificam a lista inteira de elementos, e não modificam os elementos individuais da lista.
[0039] Um método para codificar vídeo envolvendo codificação aritmética, e um método para decodificar vídeo envolvendo decodificação aritmética, de acordo com uma forma de realização da presente invenção, serão descritos com referência às Figs. 1 a 6. Além disso, um método para codificar video envolvendo
10/82 codificação aritmética, e um método para decodificar vídeo envolvendo decodificação aritmética, com base em unidades de codificação com uma estrutura em árvore, de acordo com uma forma de realização da presente invenção, serão descritos com referência às Figs. 7 a 19. A seguir, uma 'imagem' pode se referir a uma imagem estática de um vídeo ou um filme, ou seja, um vídeo em si.
[0040] A seguir, um método para codificar vídeo e um método para decodificar vídeo, de acordo com uma forma de realização da presente invenção, baseado em um método de previsão em um modo de previsão intra, serão descritos com referência às Figs. 1 a 6.
[0041] A Fig. 1 é um diagrama de blocos de um aparelho para codificar vídeo 10, de acordo com uma forma de realização da presente invenção.
[0042] 0 aparelho para codificar vídeo 10 pode codificar dados de vídeo de um domínio espacial, através de previsão intra/ previsão inter, transformação, quantização, e codificação de símbolos. Adiante, operações que ocorrem, quando o aparelho para codificar vídeo 10 codifica símbolos gerados pela previsão intra/ previsão inter, transformação, e quantização através de codificação aritmética, serão descritas em detalhes.
[0043] 0 aparelho para codificar vídeo 10 inclui um codificador de imagens 12, um codificador de símbolos 14, e uma unidade de saída do fluxo de bits 16.
[0044] 0 aparelho para codificar vídeo 10 pode dividir dados de imagem de um vídeo em uma pluralidade de unidades de dados, e codificar os dados de imagem, de acordo com as unidades de
11/82 dados. A unidade de dados pode ter um formato quadrado ou um formato retangular, ou pode ter um formato geométrico arbitrário, mas a unidade de dados não está limitada a uma unidade de dados tendo um tamanho predeterminado. De acordo com o método para codificar vídeo baseado nas unidades de codificação tendo uma estrutura em árvore, uma unidade de dados pode ser uma unidade de codificação máxima, uma unidade de codificação, uma unidade de previsão, uma unidade de transformação, ou similares. Um exemplo, onde um método de codificação e decodificação aritmética, de acordo com uma forma de realização da presente invenção, é usado no método para codificar/ decodificar vídeo, baseado nas unidades de codificação tendo uma estrutura em árvore, será descrito com referência às Figs. 7 a 19.
[0045] Para conveniência de descrição, um método para codificar vídeo para um 'bloco', que é um tipo de unidade de dados, será descrito em detalhes. No entanto, o método para codificar vídeo, de acordo com várias formas de realização da presente invenção, não é limitado ao método para codificar vídeo para o 'bloco', e pode ser utilizado para várias unidades de dados.
[0046] O codificador de imagens 12 executa operações, tais como previsão intra/ previsão inter, transformação, ou quantização, em blocos de imagem para gerar símbolos.
[0047] O codificador de símbolos 14 classifica um símbolo atual em uma região de prefixo e uma região de sufixo, com base em um valor limite determinado, de acordo com um tamanho de um bloco atual, para codificar o símbolo atual dentre os símbolos
12/82 gerados de acordo com os blocos. 0 codificador de símbolos 14 pode determinar o valor limite para classificar o símbolo atual na região de prefixo e na região de sufixo, baseado em pelo menos uma dentre a largura e a altura do bloco atual.
[0048] O codificador de símbolos 14 pode determinar um método para codificar símbolos para cada uma dentre a região de prefixo e a região de sufixo, e codificar cada uma dentre a região de prefixo e a região de sufixo, de acordo com o método para codificar símbolos.
[0049] A codificação de símbolos pode ser dividida em um processo de binarização, para transformar um símbolo em sequências de bits e um processo de codificação aritmética para executar codificação aritmética baseada em contexto nas sequências de bits. 0 codificador de símbolos 14 pode determinar um método de binarização para cada uma dentre a região de prefixo e a região de sufixo do símbolo, e realizar binarização em cada uma dentre a região de prefixo e a região de sufixo, de acordo com o método de binarização. Uma sequência de bits do prefixo e uma sequência de bits do sufixo podem ser geradas, respectivamente, a partir da região de prefixo e da região de sufixo.
[0050] Alternativamente, o codificador de símbolos 14 pode determinar um método de codificação aritmética para cada uma da sequência de bits do prefixo e da sequência de bits do sufixo do símbolo, e executar codificação aritmética em cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo, de acordo com o método de codificação aritmética.
13/82 [0051]
Além disso, o codificador de símbolos pode determinar um método de binarização para cada uma dentre a região de prefixo e a região de sufixo do símbolo, e realizar binarização em cada uma dentre a região de prefixo e a região de sufixo, de acordo com o método de binarização, e pode determinar um método de codificação aritmética para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo do símbolo, e executar codificação aritmética na sequência de bits do prefixo e na sequência de bits do sufixo, de acordo com o método de codificação aritmética.
[0052] codificador de símbolos
14, de acordo com uma forma de realização da presente invenção, pode determinar um método de binarização para cada uma dentre a região de prefixo e a região de sufixo. Os métodos de binarização determinados para a região de prefixo e a região de sufixo podem ser diferentes uns dos outros.
[0053] O codificador de símbolos 14 pode determinar um método de codificação aritmética para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo. Os métodos de codificação aritmética, determinados para a sequência de bits do prefixo e a sequência de bits do sufixo, podem ser diferentes uns dos outros.
[0054] Nesse sentido, o codificador de símbolos 14 pode binarizar a região de prefixo e a região de sufixo, usando diferentes métodos somente em um processo de binarização de um processo para decodificar símbolos, ou pode codificar a sequência de bits do prefixo e a sequência de bits do sufixo, usando diferentes métodos somente em um processo de codificação
14/82 aritmética. Além disso, o codificador de símbolos 14 pode codificar a região de prefixo (sequência de bits do prefixo) e a região de sufixo (sequência de bits do sufixo) usando diferentes métodos em ambos os processos de codificação, de binarização e aritmética.
[0055] 0 método de binarização selecionado pode ser pelo menos um dentre binarização geral, binarização unária, binarização unária truncada, binarização golomb exponencial, e métodos de binarização de comprimento fixo.
[0056] O codificador de símbolos 14 pode executar codificação de símbolos, através da realização de codificação aritmética para realizar modelagem de contexto na sequência de bits do prefixo, de acordo com posições de bits, e da realização de codificação aritmética para omitir modelagem de contexto na sequência de bits do sufixo em um modo bypass.
[0057] O codificador de símbolos 14 pode executar individualmente a codificação de símbolos na região de prefixo e na região de sufixo com relação a símbolos, incluindo pelo menos um dentre o modo de previsão intra e informações de posição do coeficiente final de um coeficiente de transformação.
[0058] Além disso, o codificador de símbolos 14 pode executar a codificação aritmética, por meio de um contexto de um índice predeterminado, anteriormente alocado para a sequência de bits do prefixo. Por exemplo, o codificador de símbolos 14 pode executar codificação aritmética usando um contexto de um índice predeterminado, anteriormente alocado a cada posição dos bits da sequência de bits do prefixo, quando o símbolo for a informação de posição do coeficiente final do coeficiente de transformação.
15/82 [0059] A unidade de saída do fluxo de bits 16 emite sequências de bits geradas através da codificação de símbolos na forma de fluxos de bits.
[0060] O aparelho para codificar video 10 pode executar codificação aritmética em símbolos de blocos de um vídeo e emitir os símbolos.
[0061] 0 aparelho para codificar vídeo 10 pode incluir um processador central (não mostrado) para controlar todos dentre o codificador de imagens 12, o codificador de símbolos 14, e a unidade de saída do fluxo de bits 16. Alternativamente, o codificador de imagens 12, o codificador de símbolos 14, e a unidade de saída do fluxo de bits 16 podem ser operados por processadores (não mostrados), respectivamente neles instalados, e todo o aparelho para codificar vídeo 10 pode ser operado, por operação sistemática dos processadores (não mostrados). Alternativamente, o codificador de imagens 12, o codificador de símbolos 14, e a unidade de saída do fluxo de bits 16 podem ser controlados por um processador externo (não mostrado) do aparelho para codificar vídeos 10.
[0062] O aparelho para codificar vídeo 10 pode incluir pelo menos uma unidade de armazenamento de dados (não mostrada) para armazenar dados, que são inseridos/ emitidos no/para o codificador de imagens 12, o codificador de símbolos 14, e a unidade de saída do fluxo de bits 16. O aparelho para codificar vídeo 10 pode incluir um controlador de memória (não mostrado) , para controlar a entrada/ saída de dados armazenados na unidade de armazenamento de dados (não mostrada).
16/82 [0063] O aparelho para codificar video 10 é operado, por ser ligado a um processador de codificação de vídeo interno ou a um processador de codificação de vídeo externo, para realizar codificação de video incluindo previsão e transformação, emitindo, assim, um resultado da codificação de vídeo. O processador de codificação de video interno do aparelho para codificar vídeo 10 pode executar uma operação básica de codificação de vídeo, não só usando um processador separado, mas também incluindo um módulo de processamento de codificação de vídeo no aparelho para codificar vídeo 10, um aparelho de operação central, ou um aparelho operacional gráfico.
[0064] A Fig. 2 é um diagrama de blocos de um aparelho para decodificar vídeo 20, de acordo com uma forma de realização da presente invenção.
[0065] 0 aparelho para decodificar vídeo 20 pode decodificar os dados de vídeo codificados pelo aparelho para codificar video 10, através de análise, quantização inversa, decodificação de símbolos, transformação inversa, previsão intra/ compensação de movimento etc., e restaurar os dados de vídeo perto dos dados de vídeo originais do domínio espacial. A seguir, será descrito um processo, em que o aparelho para decodificar vídeo 20 executa a decodificação aritmética nos símbolos analisados de um fluxo de bits, para restaurar os símbolos.
[0066] O aparelho para decodificar vídeo 20 inclui um analisador 22, um decodifiçador de símbolos 24, e uma unidade restauradora de imagem 26.
[0067] O aparelho para decodificar video 20 pode receber um fluxo de bits, incluindo dados codificados de um vídeo. 0
17/82 analisador 22 pode analisar símbolos de blocos de imagem do fluxo de bits.
[0068] 0 analisador 22 pode analisar os símbolos codificados, através de codificação aritmética em relação aos blocos do vídeo, a partir do fluxo de bits.
[0069] 0 analisador 22 pode analisar símbolos, incluindo um modo de previsão intra do bloco do vídeo, informações de posição do coeficiente final de um coeficiente de transformação etc., a partir do fluxo de bits recebido.
[0070] O decodifiçador de símbolos 24 determina um valor limite, para classificar um símbolo atual em uma sequência de bits do prefixo e uma sequência de bits do sufixo. O decodifiçador de símbolos 24 pode determinar o valor limite, para classificar o símbolo atual para a sequência de bits do prefixo e a sequência de bits do sufixo, com base em um tamanho de um bloco atual, ou seja, pelo menos, uma dentre a largura e a altura do bloco atual. O decodifiçador de símbolos 24 determina um método de decodificação aritmética para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo. O decodifiçador de símbolos 24 executa decodificação de símbolos, usando o método de decodificação aritmética determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo.
[0071] Métodos de decodificação aritmética determinados para a sequência de bits do prefixo e a sequência de bits do sufixo podem ser diferentes entre si.
[0072] O decodifiçador de símbolos 24 pode determinar um método de binarização para cada uma dentre a sequência de bits
18/82 do prefixo e a sequência de bits do sufixo do símbolo. Nesse sentido, o decodifiçador de símbolos 24 pode realizar binarização inversa na sequência de bits do prefixo do símbolo, usando o método de binarização. Os métodos de binarização determinados para a sequência de bits do prefixo e a sequência de bits do sufixo podem ser diferentes entre si.
[0073] Além disso, o decodifiçador de símbolos 24 pode realizar decodificação aritmética usando a método de decodificação aritmética determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo do símbolo, e pode realizar binarização inversa usando o método de binarização determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo, geradas através da decodificação aritmética.
[0074] Nesse sentido, o decodifiçador de símbolos 24 pode decodificar a sequência de bits do prefixo e a sequência de bits do sufixo usando diferentes métodos somente em um processo de decodificação aritmética de um processo para decodificar símbolos, ou pode executar binarização inversa usando diferentes métodos somente em um processo de binarização inversa. Além disso, o decodifiçador de símbolos 24 pode decodificar a sequência de bits do prefixo e a sequência de bits do sufixo usando diferentes métodos em ambos os processos de decodificação aritmética e de binarização inversa.
[0075] O método de binarização determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo do símbolo pode não ser apenas um método de binarização geral, mas também pode ser pelo menos um dos métodos de
19/82 binarização unária, binarização unária truncada, binarização golomb exponencial, e de binarização com comprimento fixo.
[0076] 0 decodificador de símbolos 24 pode realizar decodificação aritmética para realizar modelagem de contexto na sequência de bits do prefixo, de acordo com posições de bits. O decodif icador de símbolos 24 pode usar um método de decodificação aritmética para omitir modelagem de contexto na sequência de bits do sufixo em um modo bypass. Nesse sentido, o decodificador de símbolos 24 pode realizar decodificação de símbolos, através da decodificação aritmética executada em cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo do símbolo.
[0077] 0 decodificador de símbolos 24 pode realizar a decodificação aritmética na sequência de bits do prefixo e na sequência de bits do sufixo de símbolos, incluindo pelo menos um dentre o modo de previsão intra e informações de posição do coeficiente final de um coeficiente de transformação.
[0078] O decodificador de símbolos 24 pode realizar decodificação aritmética usando um contexto de um índice predeterminado, anteriormente alocado de acordo com as posições dos bits da sequência de bits do prefixo, quando o símbolo for uma informação sobre a posição final do coeficiente de transformação.
[0079] A unidade restauradora de imagens 26 pode restaurar uma região de prefixo e uma região de sufixo de um símbolo, realizando a decodificação aritmética e a binarização inversa em cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo. A unidade restauradora de imagens 26 pode
20/82 restaurar o símbolo, sintetizando a região de prefixo e a região de sufixo do símbolo.
[0080] A unidade restauradora de imagens 26 realiza previsão e transformação inversa no bloco atual, usando o símbolo atual restaurado através da decodificação aritmética e da binarização inversa. Ά unidade restauradora de imagens 26 pode restaurar blocos de imagem, através da realização de operações, tais como quantização inversa, transformação inversa, ou previsão intra/ compensação de movimento, usando os símbolos correspondentes para cada um dos blocos de imagem.
[0081] O aparelho para decodificar vídeo 20, segundo uma forma de realização da presente invenção, pode incluir um processador central (não mostrado) para controlar todos dentre o analisador 22, o decodifiçador de símbolos 24, e a unidade restauradora de imagens 26. Alternativamente, o analisador 22, o decodifiçador de símbolos 24, e a unidade restauradora de imagens 26 podem ser operados por processadores (não mostrados) respectivamente neles instalados, e todo o aparelho para decodificar video 20 pode ser operado, por operação sistemática dos processadores (não mostrados). Alternativamente, o analisador 22, o decodifiçador de símbolos 24, e a unidade restauradora de imagens 26 podem ser controlados por um processador externo (não mostrado) do aparelho para decodificar vídeo 20.
[0082] 0 aparelho para decodificar video 20 pode incluir pelo menos uma unidade de armazenamento de dados (não mostrada) para armazenar dados que são inseridos/ emitidos no(a)/pelo(a) analisador 22, decodifiçador de símbolos 24, e unidade restauradora de imagens 26. 0 aparelho para decodificar vídeo 20
21/82 pode incluir um controlador de memória (não mostrado) para controlar a entrada/saida de dados armazenados na unidade de armazenamento de dados (não mostrada).
[0083] 0 aparelho para decodificar vídeo 20 é operado, por ser ligado a um processador interno para decodificar vídeo ou um processador externo para decodificar vídeo, para realizar decodificação de vídeo incluindo transformação inversa. O processador interno para decodificar vídeo do aparelho para decodificar vídeo 20 pode executar uma operação de decodificação básica de vídeo, não só usando um processador separado, mas também incluindo um módulo de processamento para decodificar vídeo no aparelho para decodificar vídeo 20, um aparelho de operação central, ou um aparelho operacional gráfico.
[0084] Codificação aritmética binária adaptativa baseada em contexto (CABAC) é amplamente utilizada como um método de codificação e decodificação aritmética, com base em um contexto para codificação e decodificação de símbolos. De acordo com a codificação/ decodificação aritmética baseada em contexto, cada bit de uma sequência de bits do símbolo pode ser um binário de um contexto, e a posição de cada bit pode ser mapeada em um índice de binários. Um comprimento da sequência de bits, ou seja, um comprimento do binário, pode variar de acordo com um tamanho de um valor de símbolo. Modelagem de contexto para determinar um contexto de um símbolo é necessária para executar a codificação/ decodificação aritmética baseada em contexto. 0 contexto é renovado, de acordo com posições de bits da sequência de bits do símbolo, ou seja, em cada índice de binários, para
22/82 executar a modelagem de contexto e, portanto, um processo complicado de operação é necessário.
[0085] De acordo com o aparelho para codificar vídeo 10 e o aparelho para decodificar video 20, descritos com referência às Figuras 1 e 2, o símbolo é classificado na região de prefixo e na região de sufixo, e um método de binarização relativamente simples pode ser utilizado para a região de sufixo, em comparação com a região de prefixo. Além disso, a codificação/ decodificação aritmética através da modelagem de contexto é realizada na sequência de bits do prefixo, e a modelagem de contexto não é executada na sequência de bits do sufixo e, assim, um custo de um valor de operação para a codificação/ decodificação aritmética baseada em contexto pode ser reduzido. Nesse sentido, o aparelho para codificar video 10 e o aparelho para decodificar vídeo 20 podem melhorar a eficiência de um processo de codificação/ decodificação de símbolos, realizando um método de binarização tendo um valor relativamente pequeno de custo de operação na região de sufixo ou na sequência de bits do sufixo, ou omitindo a modelagem de contexto durante a codificação/ decodificação aritmética baseada em contexto para codificação e decodificação de símbolos.
[0086] A seguir, várias formas de realização para codificação aritmética, que podem ser realizadas pelo aparelho para codificar vídeo 10 e o aparelho para decodificar vídeo 20, serão descritas.
[0087] As Figuras 3 e 4 são diagramas para descrever codificação aritmética, classificando um símbolo em uma sequência de bits do prefixo e uma sequência de bits do sufixo,
23/82 de acordo com um valor limite predeterminado, de acordo com uma forma de realização da presente invenção.
[0088] Referindo-se à Fig. 3, um processo para executar codificação de símbolos, de acordo com uma forma de realização da presente invenção, sobre informações de posição do coeficiente final de um símbolo, será descrito em detalhes. As informações de posição do coeficiente final são um símbolo que representa uma localização de um coeficiente final, diferente de 0, entre coeficientes de transformação de um bloco. Uma vez que um tamanho do bloco é definido como uma largura e uma altura, as informações de posição do coeficiente final podem ser representadas por coordenadas bidimensionais, ou seja, uma coordenada x em uma direção da largura e um coordenada y na direção da altura. Para conveniência de descrição, a Fig. 3 mostra um caso, onde codificação de símbolos é realizada sobre a coordenada x na direção da largura entre as informações de posição do coeficiente final, quando a largura de um bloco for w.
[0089] Um intervalo da coordenada x das informações de posição do coeficiente final está dentro da largura do bloco e, assim, coordenada x das informações de posição do coeficiente final igual a ou maior que 0, e igual ou inferior a w-1.
Para codificação aritmética do símbolo, o símbolo pode ser classificado em uma região de prefixo e uma região de sufixo, com base em um enésimo valor limite predeterminado. Assim, a codificação aritmética pode ser executada na sequência de bits do prefixo, na qual a região de prefixo é binarizada, com base no contexto determinado através da modelagem de contexto.
Além
24/82 disso, a codificação aritmética pode ser realizada na sequência de bits de sufixo, na qual a região de sufixo é binarizada, em um modo bypass, em que a modelagem de contexto é omitida.
[0090] Aqui, o enésimo valor limite para classificar o símbolo na região de prefixo e a região de sufixo pode ser determinado com base na largura w do bloco. Por exemplo, o enésimo valor limite pode ser determinado como sendo (w/2)-l, para dividir a sequência de bits por dois (fórmula 1 de determinação do valor limite). Alternativamente, a largura w do bloco geralmente tem um quadrado de 2 e, portanto, o enésimo valor limite pode ser determinado, baseado num valor de registro da largura w (fórmula 2 de determinação do valor limite).
<fórmula 1 de determinação do valor limite> enésimo = (w/2) - 1;
<fórmula 2 de determinação do valor limite> enésimo = (log2w « 1) - 1;
[0091] Na Fig. 3, de acordo com a fórmula 1 de determinação do valor limite, quando a largura w do bloco for 8, a fórmula fornece o enésimo valor limite = (8/2) - 1 = 3. Assim, na coordenada x das informações de posição do coeficiente final, 3 pode ser classificado como a região de prefixo, e o restante dos valores diferentes de 3 pode ser classificado como a região de sufixo. A região de prefixo e a região de sufixo podem ser binarizadas, de acordo com o método de binarização determinado para cada uma dentre a região de prefixo e a região de sufixo.
[0092] Quando uma coordenada χ N das informações de posição coeficiente final atual for 5, a coordenada x das informações de posição do coeficiente final pode ser classificada como N = enésimo +2=3+2. Em outras palavras, na coordenada x das
25/82 informações de posição do coeficiente final, 3 pode ser classificada como região de prefixo, e 2 pode ser classificada como região de sufixo.
[0093] De acordo com uma forma de realização da presente invenção, a região de prefixo e a região de sufixo podem ser binarizadas, de acordo com diferentes métodos de binarização determinados para a região de prefixo e a região de sufixo, respectivamente. Por exemplo, a região de prefixo pode ser binarizada, de acordo com um método de binarização unária, e a região de sufixo pode ser binarizada, de acordo com um método de binarização geral.
[0094] Nesse sentido, após 3 ser binarizada, de acordo com o método de binarização unária, uma sequência de bits do prefixo 32 '0001' pode ser gerada a partir da região de prefixo, e após ser binarizada de acordo com o método de binarização geral, uma sequência de bits do sufixo 34 '010' pode ser gerada a partir da região de sufixo.
[0095] Além disso, codificação aritmética baseada em contexto pode ser realizada na sequência de bits do prefixo 32 '0001', através da modelagem de contexto. Assim, um índice de contexto pode ser determinado para cada binário da sequência de bits do prefixo 32 '0001'.
[0096] Codificação aritmética pode ser executada na sequência de bits do sufixo 34 '010', em um modo by-pass, sem executar modelagem de contexto. A codificação aritmética pode ser realizada, sem executar a modelagem de contexto, supondo que, no modo by-pass, cada binário tenha um contexto de um estado de probabilidade igual, ou seja, o contexto de 50%.
26/82 [0097] Por conseguinte, a codificação aritmética baseada em contexto pode ser realizada em cada uma dentre a sequência de bits do prefixo 32 '0001' e a sequência de bits do sufixo 34 '010', para completar a codificação de símbolos em relação à coordenada x N das informações de posição do coeficiente final atual.
[0098] Embora a forma de realização, em que a codificação de símbolos é realizada através da binarização e a codificação aritmética, tenha sido descrita, decodificação de símbolos pode ser realizada da mesma maneira. Em outras palavras, uma sequência de bits uma sequência de sufixo, com base do símbolo analisada pode ser classificada em bits do prefixo e uma sequência de bits do na largura w do bloco, a decodificação aritmética pode ser realizada na sequência de bits do prefixo 32 através da modelagem de contexto, e a decodificação aritmética pode ser realizada na sequência de bits do sufixo sem executar modelagem de contexto.
Binarização inversa pode ser executada na sequência de bits do prefixo 32 após decodificação aritmética, usando o método de binarização unária, e a região de prefixo pode ser restaurada. Além disso, binarização inversa pode ser executada na sequência de bits do sufixo 34 após a codificação aritmética, usando o método de binarização geral e, assim, a região de sufixo pode ser restaurada.
O símbolo pode ser restaurado, por sintetizar a região de prefixo e a região de sufixo restauradas.
[0099] Embora a forma de realização, em que o método de binarização unária é usado para a região de prefixo (sequência de bits do prefixo) , e o método de binarização geral é usado
27/82 para a região de sufixo (sequência de bits do sufixo) , tenha sido descrita, o método de binarização não é por este aspecto limitado. Como alternativa, um método de binarização unária truncada pode ser utilizado para a região de prefixo (sequência de bits do prefixo), e um método de binarização de comprimento fixo pode ser usado para a região de sufixo (sequência de bits do sufixo).
[00100] Embora seja descrita apenas a forma de realização em relação às informações de posição do coeficiente final no sentido da largura do bloco, uma forma de realização em relação às informações de posição do coeficiente final no sentido da altura do bloco pode ser também utilizada.
[00101] Além disso, não há nenhuma necessidade de realizar modelagem de contexto na sequência de bits do sufixo, para executar a codificação aritmética usando um contexto tendo uma probabilidade fixa, mas há necessidade de realizar modelagem de contexto variável na sequência de bits do prefixo. A modelagem de contexto a ser executada na sequência de bits do prefixo pode ser determinada, de acordo com um tamanho do bloco.
<Tabela de Mapeamento de Contexto
Tamanho do bloco N°. de índice de binários do contexto selecionado
4 x 4 0, 1, 2, 2
8x8 3, 4, 5, 5
16 x 16 6, 7, 8, 9, 10, 10, 11, 11
32 x 32 12, 13, 14, 15, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18
[00102] Na tabela de mapeamento de contexto, um local de cada número corresponde ao índice de binários da sequência de bits do
28/82 prefixo, e o número indica um índice de contexto a ser usado em um local do bit correspondente. Para conveniência de descrição, por exemplo, em um bloco de 4 x 4, a sequência de bits do prefixo é composta por um total de quatro bits, e quando k é 0, 1, 2 e 3, de acordo com a tabela de mapeamento de contexto, os índices de contexto 0, 1, e 2 são determinados por um k-ésimo índice de binários e, assim, codificação aritmética com base na modelagem de contexto pode ser realizada.
[00103] Ά Fig. 4 mostra uma forma de realização, em que um modo de previsão intra inclui um modo intra de luminância e um modo intra de crominância, indicando uma direção de previsão intra de um bloco de luminância e um bloco de crominância, respectivamente. Quando o modo de previsão intra for 6, uma sequência de bits do símbolo 40 '0000001' é gerada, de acordo com um método de binarização unária. Neste caso, codificação aritmética pode ser executada em um primeiro bit 41 '0' da sequência de bits do símbolo 40 do modo de previsão intra, através de modelagem de contexto, e codificação aritmética pode ser executada no restante dos bits 45 '000001' da sequência de bits de símbolo 40, em um modo bypass. Em outras palavras, o primeiro bit 41 da sequência de bits do símbolo 40 corresponde a uma sequência de bits do prefixo, e o restante dos bits 45 da sequência de bits do símbolo 40 corresponde a uma sequência de bits do sufixo.
[00104] A quantidade de bits da sequência de bits do símbolo 40 codificada em codificação aritmética como a sequência de bits do prefixo, através da modelagem de contexto, e a quantidade de bits da sequência de bits do símbolo 40 codificada em
29/82 codificação aritmética como a sequência de bits do sufixo no modo by-pass, podem ser determinadas, de acordo com um tamanho de um bloco ou um tamanho de um conjunto de blocos. Por exemplo, com relação a um bloco de 64 x 64, codificação aritmética pode ser executada somente em um primeiro bit dentre sequências de bits de um modo de previsão intra, e codificação aritmética pode ser executada no restante dos bits em um modo bypass. Com relação a blocos tendo outros tamanhos, codificação aritmética pode ser executada em todos os bits das sequências de bits do modo previsão intra no modo bypass.
[00105] Em geral, informações sobre bits perto de um bit menos significativo (LSB) são relativamente menos importantes do que informações sobre bits perto um bit mais significativo (MSB) de uma sequência de bits do símbolo. Nesse sentido, o aparelho para codificar vídeo 10 e o aparelho para decodificar vídeo 20 podem selecionar um método de codificação aritmética, de acordo com um método de binarização tendo uma precisão relativamente alta em relação à sequência de bits do prefixo perto do MSB, mesmo que haja um custo de um valor de operação, e pode selecionar uma método de codificação aritmética, de acordo com um método de binarização capaz de realizar uma simples operação com relação à sequência de bits do sufixo perto do LSB. Além disso, o aparelho para codificar vídeo 10 e o aparelho para decodificar vídeo 20 podem selecionar um método de codificação aritmética, com base na modelagem de contexto com relação à modelagem de contexto, e podem selecionar um método de codificação aritmética não realizando modelagem de contexto, no que diz respeito à sequência de bits do sufixo perto do LSB.
30/82 [00106] Na descrição acima, a forma de realização, na qual binarização é executada na sequência de bits do prefixo e na sequência de bits do sufixo das informações de posição do coeficiente final do coeficiente de transformação usando diferentes métodos, foi descrita com referência à Fig. 3. Além disso, a forma de realização, na qual codificação aritmética é realizada na sequência de bits do prefixo e na sequência de bits do sufixo dentre as sequências de bits do modo de previsão intra usando diferentes métodos, foi descrita com referência à Fig. 4.
[00107] No entanto, de acordo com várias formas de realização da presente invenção, um método para codificar símbolos, no qual métodos de binarização/ codificação aritmética individualmente determinados para a sequência de bits do prefixo e a sequência de bits do sufixo são utilizados, ou diferentes métodos de binarização/ codificação aritmética são utilizados, não é limitado às formas de realização descritas com referência às Figuras 3 e 4, e vários métodos de binarização/ codificação aritmética podem ser utilizados para vários símbolos.
[00108] A Fig. 5 é um fluxograma para descrever um método para codificar vídeo, de acordo com uma forma de realização da presente invenção.
[00109] Na operação 51, símbolos são gerados por meio de previsão e transformação em blocos de imagem.
[00110] Nas operações 53, um símbolo atual é classificado em uma região de prefixo e uma região de sufixo, com base em um valor limite determinado, de acordo com um tamanho de um bloco atual.
31/82 [00111] Na operação 55, uma sequência de bits do prefixo e uma sequência de bits do sufixo são geradas, usando métodos de binarização individualmente determinados para a região de prefixo e a região de sufixo do símbolo.
[00112] Na operação 57, codificação de símbolos é realizada por meio de métodos de codificação aritmética, individualmente determinados para a sequência de bits do prefixo e a sequência de bits do sufixo.
[00113] Na operação 59, sequências de bits geradas através da codificação de símbolos são emitidas sob a forma de fluxos de bits.
[00114] Na operação 57, a codificação de símbolos pode ser realizada na sequência de bits do prefixo, usando um método de codificação aritmética para realizar modelagem de contexto, de acordo com posições de bits, e a codificação de símbolos pode ser também realizada na sequência de bits do sufixo usando um método de codificação aritmética, para omitir a modelagem de contexto em um modo bypass.
[00115] Na operação 57, quando o símbolo for a informação de posição do coeficiente final de um coeficiente de transformação, a codificação aritmética pode ser realizada usando um contexto de um índice predeterminado, anteriormente alocado para os posições dos bits da sequência de bits do prefixo.
[00116] A Fig. 6 é um fluxograma para descrever um método para decodificar vídeo, de acordo com uma forma de realização da presente invenção.
[00117] Na operação 61, símbolos de blocos de imagem são analisados a partir de um fluxo de bits recebido.
32/82 [00118] Na operação 63, um símbolo atual é classificado em uma sequência de bits do prefixo e uma sequência de bits do sufixo, com base em um valor limite determinado de acordo com um tamanho de um bloco atual.
[00119] Na operação 65, decodificação aritmética é realizada usando um método de decodificação aritmética determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo do símbolo atual.
[00120] Na operação 67, após a decodificação aritmética, binarização inversa é realizada usando um método de binarização determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo.
[00121] A região de prefixo e a região de sufixo do símbolo podem ser restauradas, por realizar a binarização inversa usando o método de binarização determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo.
[00122] Na operação 69, os blocos de imagem podem ser restaurados, por realizar previsão e transformação inversa no bloco atual, usando o símbolo atual restaurado através da decodificação aritmética e a binarização inversa.
[00123] Na operação 65, a decodificação aritmética para determinar a modelagem de contexto, de acordo com as posições dos bits, pode ser realizada na sequência de bits do prefixo, e a decodificação aritmética para omitir a modelagem de contexto pode ser realizada na sequência de bits do sufixo em um modo bypass.
[00124] Na operação 65, quando o símbolo for a informação de posição do coeficiente final do coeficiente de transformação, a
33/82 decodificação aritmética pode ser realizada, usando o contexto do índice predeterminado, anteriormente alocado para as posições dos bits da sequência de bits do prefixo.
[00125] No aparelho para codificar vídeo 10, de acordo com uma forma de realização da presente invenção, e no aparelho para decodificar vídeo 20, de acordo com outra forma de realização da presente invenção, blocos, em que dados de vídeo são divididos, são divididos em unidades de codificação tendo uma estrutura em árvore, unidades de previsão são usadas para executar previsão
intra nas unidades de codificação, e uma unidade de
transformação é usada para transformar as unidades de
codificação.
[00126] A s eguir, serão descritos um método e aparelho para
codificar um vídeo e um método e aparelho para decodificar um
vídeo, baseado em uma unidade de codificação tendo uma estrutura
em árvore, uma unidade de previsão, < s uma unidade de
transformação.
[00127] A Fig. 7 é um diagrama de blocos de um aparelho para codificar vídeo 100, baseado em unidades de codificação tendo uma estrutura em árvore, de acordo com uma forma de realização da presente invenção.
[00128] 0 aparelho para codificar vídeo 100, envolvendo
previsão de vídeo com base na unidade de codificação tendo uma
estrutura em árvore, inclui um divisor da unidade de codificação
máxima 11 o, um determinador da unidade de codificação 120, e uma
unidade de saída 130. Para conveniência de descrição, o aparelho para codificar vídeo 100 envolvendo previsão de vídeo, com base
34/82 na unidade de codificação tendo uma estrutura em árvore, será referido como um aparelho para codificar vídeo 100.
[00129] 0 divisor da unidade de codificação máxima 110 pode dividir um quadro atual, com base em uma unidade de codificação máxima para o quadro atual de uma imagem. Se o quadro atual for maior que a unidade de codificação máxima, dados de imagem do quadro atual podem ser divididos em pelo menos uma unidade de codificação máxima. 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 32x32, 64x64, 128x128, 256x256 etc., em que um formato da unidade de dados é um quadrado com uma largura e comprimento em quadrados de 2. Os dados de imagem podem ser emitidos para o determinador da unidade de codificação 120, de acordo com pelo menos uma unidade de codificação máxima.
[00130] 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 um 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 mais profundas, de acordo com profundidades, podem ser divididas a partir da unidade de codificação máxima em uma unidade de codificação mínima. Uma profundidade da unidade de codificação máxima é uma profundidade mais superior, e uma profundidade da unidade de codificação mínima é uma profundidade mais inferior. Uma vez que um tamanho de uma unidade de codificação correspondente a cada profundidade diminui, à medida que a
35/82 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 correspondentes a menores profundidades.
[00131] Conforme acima descrito, os 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 mais profundas, 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 domínio espacial incluído na unidade de codificação máxima podem ser classificados hierarquicamente, de acordo com profundidades.
[00132] 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.
[00133] O determinador da unidade de codificação 120 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 dados de imagem finalmente codificados, de acordo com pelo menos uma região de divisão. Em outras palavras, o determinador da unidade de codificação 120 determina uma profundidade codificada, por codificação dos dados de imagem nas unidades de codificação mais profundas, de acordo com profundidades, de acordo com a unidade de codificação máxima do quadro atual, e seleção de uma
36/82 profundidade tendo o menor erro de codificação. A profundidade codificada, determinada, e os dados de imagem codificados, de acordo com a profundidade codificada, determinada, são emitidos para a unidade de saída 130.
[00134] Os dados de imagem na unidade de codificação máxima são codificados, com base nas unidades de codificação mais profundas correspondentes a pelo menos uma profundidade igual ou inferior à 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 mais profundas. 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 mais profundas. Pelo menos uma profundidade codificada pode ser selecionada para cada unidade de codificação máxima.
[00135] O tamanho da unidade de codificação máxima é dividido, quando uma unidade de codificação é dividida hierarquicamente, de acordo com profundidades, e quando o número de unidades de codificação aumenta. Além disso, mesmo se unidades de codificação corresponderem a uma mesma profundidade em uma unidade de codificação máxima, é determinada a necessidade de dividir cada uma das unidades de codificação correspondentes à mesma profundidade em uma menor profundidade, medindo-se um erro de codificação dos dados de imagem de cada unidade da codificação, em separado. Nesse sentido, mesmo quando dados de imagem estiverem incluídos em uma unidade de codificação máxima, os dados de imagem são divididos em regiões, de acordo com as profundidades, e os erros de codificação podem diferir, de acordo com regiões na unidade de codificação máxima e, assim, as
37/82 profundidades codificadas podem diferir, de acordo com as 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.
[00136] Nesse sentido, o determinador da unidade de codificação 120 pode determinar unidades de codificação tendo uma estrutura em árvore incluída 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 que correspondem a uma profundidade determinada como sendo a profundidade codificada, dentre todas as unidades de codificação mais profundas incluídas na unidade de codificação máxima. Uma unidade de codificação de uma profundidade codificada pode ser determinada hierarquicamente, 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, através de uma profundidade codificada em outra região.
[00137] Uma profundidade máxima, de acordo com uma forma de realização da presente invenção, é um índice relacionado ao número de vezes que a divisão é realizada, de uma unidade de codificação máxima em uma unidade de codificação mínima. Uma primeira profundidade máxima, de acordo com uma forma de realização da presente invenção, pode denotar o número total de
38/82 vezes que a divisão é realizada, da unidade de codificação máxima na unidade de codificação mínima.
Uma segunda profundidade máxima, de acordo com uma forma de realização da presente invenção, pode denotar o número total de níveis de profundidade, da unidade de codificação máxima para a unidade de codificação mínima. 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 mínima for uma unidade de codificação, em que a unidade de codificação máxima é dividida quatro vezes, níveis de profundidade de profundidades 0, 1, 2, e 4 existem e, portanto, a primeira profundidade máxima pode ser definida como 4, e a segunda profundidade máxima pode ser definida como [00138] Codificação por previsão e transformação podem ser realizadas, de acordo com a unidade de codificação máxima. A codificação por previsão e a transformaçao são também executadas, com base nas unidades de codificação mais profundas, de acordo com uma profundidade igual, ou profundidades inferiores, à profundidade máxima, de acordo com a unidade de codificação máxima.
[00139]
Uma vez que o número de unidades de codificação mais profundas aumenta, sempre que a unidade de codificação máxima é dividida, de acordo com profundidades, codificação, incluindo a codificação por previsão e a transformação, é realizada em todas
39/82 as unidades de codificação mais profundas geradas, quando a profundidade aumenta. Para conveniência de descrição, a codificação por previsão 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.
[00140] O aparelho para codificar vídeo 100 pode selecionar, de forma 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 por 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.
[00141] Por exemplo, o aparelho para codificar vídeo 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 por previsão nos dados de imagem, na unidade de codificação.
[00142] Para realizar codificação por previsão na unidade de codificação máxima, a codificação por previsão pode ser realizada com base em uma unidade de codificação correspondente a uma profundidade codificada, ou seja, com base em uma unidade de codificação, que não é mais dividida nas 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 básica para codificação por previsão, será agora referida como uma 'unidade de previsão'. Uma partição obtida, dividindo-se a unidade de previsão, pode incluir uma unidade de
40/82 previsão ou uma unidade de dados obtida, dividindo-se pelo menos uma dentre a altura e a largura da unidade de previsão. Uma partição é uma unidade de dados tendo um formato, em que a unidade de previsão da unidade de codificação é dividida, e a unidade de previsão pode ser uma partição tendo o mesmo tamanho que a unidade de codificação.
[00143] Por exemplo, quando uma unidade de codificação de 2Nx2N (onde N é um número inteiro positivo) não é mais dividida e se torna uma unidade de previsão de 2Nx2N, e um tamanho de uma partição pode ser 2Nx2N, 2NxN, Nx2N ou NxN. 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.
[00144] Um modo de previsão da unidade de previsão pode ser pelo menos aquele dentre um modo intra, um modo inter e um modo ignorar. Por exemplo, o modo intra ou o modo inter pode ser executado na partição de 2Nx2N, 2NxN, Nx2N ou NxN. Além disso, o modo ignorar pode ser realizado somente na partição de 2Nx2N. A codificação é realizada independentemente na unidade de previsão em uma unidade de codificação, selecionando, assim, um modo de previsão tendo um menor erro de codificação.
[00145] O aparelho para codificar video 100 pode também executar 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
41/82 de dados, que é diferente da unidade de codificação. Para realizar a transformação na unidade de codificação, a transformação pode ser realizada, com base em uma unidade de transformação tendo um tamanho menor ou igual à unidade de codificação. Por exemplo, a unidade de transformação pode incluir uma unidade de transformação para um modo intra e uma unidade de transformação para um modo inter.
[00146] 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 com menores tamanhos. Assim, dados residuais na unidade de codificação podem ser divididos, de acordo com a transformação tendo uma estrutura em árvore, de acordo com profundidades de transformação.
[00147] Uma profundidade de transformação, indicando o número de vezes que a divisão é executada para alcançar a unidade de transformação, dividindo-se a altura e largura da unidade de codificação, pode ser também definida na unidade de transformação Por exemplo, em uma unidade de codificação atual da 2Nx2N, uma profundidade de transformação pode ser 0, quando o tamanho de uma unidade de transformação for também 2Nx2N, pode ser 1, quando o tamanho da unidade de transformação for NxN, e pode ser 2, quando o tamanho da unidade de transformação for N/2xN/2. Em outras palavras, a unidade de transformação tendo uma estrutura em árvore pode ser definida, de acordo com profundidades de transformação.
[00148] Informações de codificação, de acordo com unidades de codificação, que correspondem a uma profundidade codificada, requerem nâo só informações sobre a profundidade codificada, mas
42/82 também informações relacionadas à codificação por previsão e transformação. Nesse sentido, o determinador da unidade de codificação 120, não só determina uma profundidade codificada tendo um 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.
[00149] Unidades de codificação, de acordo com uma estrutura em árvore em uma unidade de codificação máxima, e um método para determinar uma unidade de previsão/ partição e uma unidade de transformação, de acordo com formas de realização da presente invenção, serão descritas em detalhes mais tarde, com referência às Figs. 7 a 19.
[00150] 0 determinador da unidade de codificação 120 pode medir um erro de codificação das unidades de codificação mais profundas, de acordo com profundidades, usando otimização de taxa-distorção baseado em multiplicadores de Lagrange.
[00151] A unidade de saída 130 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 determinador da unidade de codificação 120, e informações sobre o modo de codificação, de acordo com a profundidade codificada, em fluxos de bits.
[00152] Os dados de imagem codificados podem ser obtidos, por codificação de dados residuais de uma imagem.
[00153] As informações sobre o modo de codificação, de acordo com profundidades codificadas, podem incluir informações sobre a profundidade codificada, o tipo de partição na unidade de
43/82 previsão, o modo de previsão, e o tamanho da unidade de transformação.
[00154] As informações sobre a profundidade codificada podem ser definidas, usando informações de divisão de acordo com profundidades, que indicam se a codificação foi executada em unidades de codificação de menor profundidade, em vez de uma profundidade atual. Se codificação atual for a profundidade atual profundidade codificada, da unidade de 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 menor profundidade e, portanto, 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 menor profundidade.
[00155] 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 menor profundidade. Uma vez que pelo menos uma unidade de codificação da menor profundidade existe em uma unidade de codificação da profundidade atual, a codificação é executada repetidamente em cada unidade de codificação da menor profundidade e, portanto, a codificação pode ser recursivamente realizada para as unidades de codificação tendo a mesma profundidade.
[00156] Uma vez que as unidades de codificação tendo uma estrutura em árvore são determinadas para uma unidade de
44/82 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 posições, uma ve z que os dados de imagem são hierarquicamente divididos, de acordo com profundidades e, portanto, informações sobre a profundidade codificada e o modo de codificação podem ser definidas para os dados de imagem.
[00157] Por conseguinte, a unidade de saida 130 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 mínima incluída na unidade de codificação máxima.
[00158] A unidade mínima, de acordo com uma forma de realização da presente invenção, é uma unidade de dados retangulares obtida, dividindo-se a unidade de codificação mínima, que constitui a profundidade mais inferior, por 4 . Alternativamente, a unidade mínima pode ser uma unidade máxima de dados retangulares, que pode ser incluída 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.
[00159]
Por exemplo, as informações de codificação emitidas através da unidade de saída 130 podem ser classificadas em informações de codificação, de acordo com unidades de
45/82 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 índice de imagens 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, definido de acordo com grupos de quadros (GOPs), fatias, ou quadros, e informações sobre uma profundidade máxima podem ser inseridas em um conjunto de parâmetros da sequência (SPS) ou um conjunto de parâmetros de quadro (PPS).
[00160] Além disso, informações sobre o tamanho máximo da unidade de transformação permitido para o vídeo atual, e informações sobre o tamanho mínimo da unidade de transformação, podem ser emitidas através de um cabeçalho de um fluxo de bits, um SPS ou um PPS. A unidade de saída 130 pode codificar e emitir informações de referência, informações de previsão de único sentido, informações do tipo de fatia incluindo um quarto tipo de fatia etc., relacionadas à previsão acima descrita com referência às Fig. 1 a 6.
[00161] No aparelho para codificar de vídeo 100, a unidade de codificação mais profunda 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 está uma camada
46/82 acima, por dois. Em outras palavras, quando o tamanho da unidade de codificação da profundidade atual for 2Nx2N, o tamanho da unidade de codificação da menor profundidade é NxN. Além disso, a unidade de codificação da profundidade atual tendo o tamanho de 2Nx2N pode incluir no máximo 4 unidades de codificação da menor profundidade.
[00162] Nesse sentido, o aparelho para codificar vídeo 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, baseado no tamanho da unidade decodificaçã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 características da unidade de codificação de vários tamanhos de imagem.
[00163] Assim, se uma imagem tendo alta resolução ou uma grande quantidade de dados for codificada em um macrobloco convencional, um número de macroblocos por quadro aumenta excessivamente. Por conseguinte, um número de segmentos de informações compactados, gerados para cada macrobloco aumenta e, assim, é difícil transmitir as informações comprimidas, e a eficiência de compressão de dados diminui. No entanto, usando o aparelho para codificar vídeo 100, a eficiência da compressão de imagem pode ser aumentada, visto que uma unidade de codificação é ajustada, enquanto que considerando características de uma
47/82 imagem, aumentando, ao mesmo tempo, um tamanho máximo de uma unidade de codificação, ao considerar um tamanho da imagem.
[00164] 0 aparelho para codificar video 100 da Fig. 7 pode executar operações do aparelho para codificar vídeo 10, descrito com referência à Fig. 1.
[00165] 0 determinador da unidade de codificação 120 pode executar operações do codificador de imagem 12 do aparelho para codificar video 10. 0 determinador da unidade de codificação 120 pode determinar uma unidade de previsão para previsão intra, de acordo com unidades de codificação tendo uma estrutura em árvore para cada unidade de codificação máxima, realizar a previsão intra em cada unidade de previsão, determinar uma unidade de transformação para transformação, e executar a transformação em cada unidade de transformação.
[00166] A unidade de saída 130 pode executar operações de uma unidade de codificação de símbolos 14 e uma unidade de saída do fluxo de bits 16 do aparelho para codificar vídeo 10. Símbolos para várias unidades de dados, como um quadro, uma fatia, uma unidade de codificação máxima, uma unidade de codificação, uma unidade de previsão, e uma unidade de transformação, são gerados, e cada um dos símbolos é classificado em uma região de prefixo, e uma região de sufixo, de acordo com um valor limite determinado com base em um tamanho da unidade de dados correspondente. A unidade de saída 130 pode gerar uma sequência de bits do prefixo e uma sequência de bits do sufixo, usando um método de binarização determinado para cada uma dentre a região de prefixo e a região de sufixo do símbolo. Qualquer uma dentre uma binarização geral, uma binarização unária, uma binarização
48/82 unária truncada, uma binarização golomb exponencial, e uma binarização de comprimento fixo, é selecionada para binarizar a região de prefixo e a região de sufixo, gerando, assim, a sequência de bits do prefixo e a sequência de bits do sufixo.
[00167] A unidade de saída 130 pode executar codificação de símbolos, através da realização de codificação aritmética, determinada para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo. A unidade de saída 130 pode executar codificação de símbolos, através da realização de codificação aritmética para realizar modelagem de contexto, de acordo com posições de bits na sequência de bits do prefixo, e realizar codificação aritmética para omitir modelagem de contexto na sequência de bits do sufixo em um modo bypass.
[00168] Por exemplo, quando informações de posição do coeficiente final de um coeficiente de transformação da unidade de transformação forem codificadas, o valor limite para classificar a sequência de bits do prefixo e a sequência de bits do sufixo pode ser determinado, de acordo com um tamanho (largura ou altura) da unidade de transformação. Alternativamente, o valor limite pode ser determinado, de acordo com tamanhos de uma fatia, incluindo a unidade de transformação atual, uma unidade de codificação máxima, uma unidade de codificação, uma unidade de previsão etc..
[00169] Como alternativa, pode ser determinado por um índice máximo de um modo de previsão intra, quantos bits de uma sequência de bits do símbolo são codificados em codificação aritmética como a sequência de bits do prefixo através da modelagem de contexto no modo de previsão intra, e quantos bits
49/82 da sequência de bits do símbolo são codificados em codificação aritmética como a sequência de bits do sufixo em um modo bypass. Por exemplo, um total de 34 modos de previsão intra pode ser utilizado para unidades de previsão com tamanhos de 8 x 8, 16 x 16 e 32 x 32, um total de 17 modos de previsão intra pode ser utilizado para uma unidade de previsão tendo um tamanho de 4 x 4, e um total de modos de previsão intra pode ser utilizado para uma unidade de previsão tendo um tamanho de 64 x 64. Neste caso, uma vez que as unidades de previsão capazes de usar o mesmo número de modos de previsão intra são consideradas como tendo características estatísticas semelhantes, um primeiro bit dentre sequências de bits no modo de previsão intra pode ser codificado através da modelagem de contexto para codificação aritmética em relação às unidades de previsão tendo tamanhos de 8 x 8, 16 x 16 e 32 x 32. Além disso, todos os bits dentre as sequências de bits no modo de previsão intra podem ser codificados no modo bypass para codificação aritmética em relação ao restante das unidades de previsão, ou seja, as unidades de previsão tendo tamanhos de 4 x 4 e 64 x 64.
[00170] A unidade de saída 130 pode emitir as sequências de bits geradas através da codificação de símbolos na forma de fluxos de bits.
[00171] A Fig. 8 é um diagrama de blocos de um aparelho para decodificar vídeo 200 com base em uma unidade de codificação tendo uma estrutura em árvore, de acordo com uma forma de realização da presente invenção.
[00172] 0 aparelho para decodificar vídeo 200, realizando previsão de vídeo com base na unidade de codificação tendo uma
50/82 estrutura em árvore, inclui um receptor 210, um extrator de informações de codificação e dados de imagem 220, e um decodifiçador de dados de imagem 230.
[00173] Definições de vários termos, tais como uma unidade de codificação, uma profundidade, uma unidade de previsão, uma unidade de transformação, e informações sobre vários modos de codificação, para diversas operações do aparelho para decodificar video 200, são idênticas àquelas descritas com referência à Fig. 7 e ao aparelho para codificar video 100.
[00174] O receptor 210 recebe e analisa um fluxo de bits de um video codificado. 0 extrator de informações de codificação e dados de imagem 220 extrai dados de imagem codificados para cada unidade de codificação, a partir do fluxo de bits analisado, no qual as unidades de codificação têm uma estrutura em árvore, de acordo com cada unidade de codificação máxima, e emite os dados de imagem extraídos para o decodificador de dados de imagem 230. O extrator de informações de codificação e dados de imagem 220 pode extrair informações sobre um tamanho máximo de uma unidade de codificação de um quadro atual, de um cabeçalho sobre o quadro atual, ou um SPS ou um PPS.
[00175] Além disso, o extrator de informações de codificação e dados de imagem 220 extrai informações sobre uma profundidade codificada e um modo de codificação para as unidades de codificação tendo uma estrutura 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 de dados de imagem 230. Em outras palavras, os dados de imagem em uma
51/82 sequência de bits são divididos na unidade de codificação máxima, para que o decodificador de dados de imagem 230 decodifique os dados de imagem para cada unidade de codificação máxima.
[00176] 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 obter 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 correspondente à profundidade codificada, 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.
[00177] As informações sobre a profundidade codificada e o modo de codificação, de acordo com cada unidade de codificação máxima extraída pelo extrator de informações de codificação e dados de imagem 220, são informações sobre uma profundidade codificada e um modo de codificação determinado para gerar um menor erro de codificação, quando um codificador, tal como o aparelho para codificar vídeo 100, executa repetidamente codificação para cada unidade de codificação mais profunda, de acordo com profundidades, de acordo com cada unidade de codificação máxima. Por conseguinte, o aparelho para decodificar vídeo 200 pode restaurar uma imagem, por 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.
52/82 [00178] Uma vez que 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 mínima, o extrator de informações de codificação e dados de imagem 220 pode extrair as informações sobre a profundidade codificada e o modo de codificação, de acordo com as unidades de dados predeterminadas. As unidades de dados predeterminadas, às quais são atribuídas as mesmas informações sobre a profundidade codificada e o modo de codificação, podem ser inferidas como sendo as unidades de dados incluídas na mesma unidade de codificação máxima.
[00179] 0 decodifiçador de dados de imagem 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 decodifiçador de dados de imagem 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, incluídas 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.
[00180] O decodifiçador de dados de imagem 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,
53/82 com base nas informações sobre o tipo de partição e o modo de previsão da unidade da unidade de previsão da unidade de codificação, de acordo com profundidades codificadas.
[00181] Além disso, o decodifiçador de dados de imagem 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 a unidade de transformação, de acordo com as unidades de codificação tendo uma estrutura em árvore, a fim de executar a transformação inversa, de acordo com unidades de codificação máxima. Um valor de pixel de um domínio espacial na unidade de codificação pode ser restaurado através da transformação inversa.
[00182] O decodifiçador de dados de imagem 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 decodifiçador de dados de imagem 230 pode decodificar dados codificados de pelo menos uma unidade de codificação correspondente a cada profundidade codificada na 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 para cada unidade de codificação correspondente à profundidade codificada, e emitir os dados de imagem da unidade de codificação máxima atual.
[00183] Em outras palavras, unidades de dados contendo as informações de codificação, incluindo as mesmas informações de
54/82 divisão, podem ser obtidas, observando o conjunto de informações de codificação atribuído para a unidade de dados predeterminada dentre a unidade de codificação, a unidade de previsão, e a unidade mínima, e as unidades de dados obtidas podem ser consideradas como uma unidade de dados a ser decodificada pelo decodif içador de dados de imagem 230 no mesmo modo de codificação. Decodificação da unidade de codificação atual pode ser realizada, através da obtenção de informações sobre o modo de codificação para cada unidade de codificação, de tal forma determinada.
[00184] Além disso, o aparelho para decodificar vídeo 200 da Fig. 8 pode executar operações do aparelho para decodificar vídeo 20 acima descrito com referência à Fig. 2.
[00185] O receptor 210 e o extrator de informações de codificação e dados de imagem 220 podem executar operações do analisador 22 e o decodifiçador de símbolos 24 do aparelho para decodificar vídeo 20. O decodifiçador de dados de imagem 230 pode executar operações do decodifiçador de símbolos 24 do aparelho para decodificar vídeo 20.
[00186] O receptor 210 recebe um fluxo de bits de uma imagem, e o extrator de informações de codificação e dados de imagem 220 analisa símbolos de blocos de imagem do fluxo de bits recebido.
[00187] 0 extrator de informações de codificação e dados de imagem 220 pode classificar um símbolo atual em uma sequência de bits do prefixo e uma sequência de bits do sufixo, com base em um valor limite determinado, de acordo com um tamanho de um bloco atual. Por exemplo, quando as informações de posição do coeficiente final do coeficiente de transformação da unidade de
55/82 transformação forem decodificadas, o valor limite para classificar a sequência de bits do prefixo e a sequência de bits do sufixo pode ser determinado, de acordo com um tamanho (largura ou altura) da unidade de transformação. Alternativamente, o valor limite pode ser determinado, de acordo com tamanhos da fatia, incluindo unidade de transformação corrente, a unidade de codificação máxima, a unidade de codificação, a unidade de previsão etc.. Como alternativa, pode ser determinado pelo índice máximo do modo de previsão intra, quantos bits da sequência de bits do símbolo são codificados em codificação aritmética como a sequência de bits do prefixo, através da modelagem de contexto no modo de previsão intra, e quantos bits da sequência de bits do símbolo são codificados em codificação aritmética como a sequência de bits do sufixo no modo bypass.
[00188] Decodificação aritmética é executada, usando um método de decodificação aritmética determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo do símbolo atual. Decodificação aritmética para determinar a modelagem de contexto, de acordo com as posições de bits, pode ser executada na sequência de bits do prefixo, e decodificação aritmética para omitir a modelagem de contexto pode ser realizada na sequência de bits do sufixo usando o modo bypass.
[00189] Após a decodificação aritmética, binarização inversa é realizada, de acordo com um método de binarização determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo. A região de prefixo e a região de sufixo do símbolo podem ser restauradas, por realizar a
56/82 binarização inversa, de acordo com o método de binarização determinado para cada uma dentre a sequência de bits do prefixo e a sequência de bits do sufixo.
[00190] 0 decodificador de dados de imagem 230 pode restaurar blocos de imagem, por realizar previsão e transformação inversa no bloco atual usando o símbolo atual restaurado através da decodificação aritmética e a binarização inversa.
[00191] Consequentemente, o aparelho para decodificar vídeo 200 pode obter informações sobre pelo menos uma unidade de codificação que gera o menor erro de codificação, quando a codificação é recursivamente executada para cada unidade de codificação máxima, e pode usar as informações para decodificar o quadro atual. Em outras palavras, as unidades de codificação tendo a estrutura em árvore, determinadas como as unidades de codificação ideal em cada unidade de codificação máxima, podem ser decodificadas.
[00192] Nesse sentido, mesmo se dados de imagem tiverem 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.
[00193] A Fig. 9 é um diagrama conceituai de unidades de codificação, de acordo com uma forma de realização da presente invenção.
[00194] Um tamanho de uma unidade de codificação pode ser expresso em largura x altura, e pode ser de 64 x 64, 32 x 32, 16
57/82 χ 16 e 8 χ 8. 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, 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 8 x 8 pode ser dividida em partições de 8x8, 8x4, 4x8 ou 4 x 4 .
[00195] Nos dados de vídeo 310, uma resolução é 1920 x 1080, um tamanho máximo de uma unidade de codificação é 64, e uma profundidade máxima 2. Nos dados de vídeo 320, uma resolução é 1920 x 1080, um tamanho máximo de uma unidade de codificação é
64, e uma profundidade máxima é 3. Nos dados de vídeo 330, uma resolução é 352 x 288, um tamanho máximo de uma unidade de codificação é 16, e uma profundidade máxima é 1. A profundidade máxima mostrada na Fig. 9 indica um número total de divisões, a partir de uma unidade de codificação máxima para uma unidade de decodificação mínima.
[00196] 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, de modo não só a aumentar a eficiência de codificação, mas também para refletir com precisão as características de uma imagem. Consequentemente, o tamanho máximo da unidade de codificação dos dados de vídeo 310 e 320 tendo uma resolução maior do que os dados de vídeo 330 pode ser 64.
[00197] Uma vez que a profundidade máxima dos dados de vídeo 310 é 2, unidades de codificação 315 dos dados de vídeo 310 pode
58/82 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 aprofundadas em duas camadas, dividindo-se a unidade de codificação máxima por duas vezes. Entretanto, uma vez que a profundidade máxima dos dados de vídeo 330 é 1, as unidades de codificação 335 dos dados de vídeo 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, visto que profundidades são aprofundadas em uma camada, dividindo-se a unidade de codificação máxima uma vez.
[00198] Uma vez que a profundidade máxima dos dados de vídeo 320 é 3, as unidades de codificação 325 dos dados de vídeo 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 aprofundadas em 3 camadas, dividindo-se as unidades de codificação máxima três vezes. Quando uma profundidade aumenta, informações detalhadas podem ser precisamente expressas.
[00199] A Fig. 10 é um diagrama de blocos de um codificador de imagens 400 com base em unidades de codificação, de acordo com uma forma de realização da presente invenção.
[00200] 0 codificador de imagens 400 executa operações do determinador da unidade de codificação 120 do aparelho para codificar vídeo 100, para codificar dados de imagem. Em outras palavras, um previsor intra 410 executa previsão intra em unidades de codificação em um modo intra, dentre uma moldura atual 405, e um estimador de movimento 420 e um compensador de
59/82
movimento 425 realizam estimativa inter e compensação de
movimento nas unidades de codificação em um modo inter dentre a
moldura atual 405 usando a moldura atual 405 e uma moldura de
referência 495.
[00201] Dados emitidos pelo previsor 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 é restaurado como dados em um domínio espacial através de um quantizador inverso 460 e um transformador inverso 470, e os dados restaurados no domínio 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 circuito 490. 0 coeficiente de transformação quantizada pode ser emitido como um fluxo de bits
455, através de um codificador por entropia 450.
[00202] A fim de que o codificador de imagens
400 seja aplicado no aparelho para codificar video 100, todos os elementos do codificador de imagem 400, ou seja, o previsor intra 410, estimador de movimento 420, o compensador de movimento 425, transformador 430, o quantizador 440, o codificador por entropia
450, o quantizador inverso 460, o transformador inverso 470, a unidade de desbloqueio 480, e a unidade de filtragem de circuito 490 executam operações com base em cada unidade de codificação dentre unidades de codificação tendo uma estrutura em árvore, enquanto que considerando a profundidade máxima de cada unidade de codificação máxima.
60/82 [00203] Especificamente, o previsor 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 dentre as unidades de codificação tendo uma estrutura em árvore, enquanto que considerando 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 dentre as unidades de codificação tendo uma estrutura em árvore.
[00204] Em particular, o codificador por entropia 450 pode executar codificação de símbolos na região de prefixo e na região de sufixo, classificando um símbolo na região de prefixo e na região de sufixo, de acordo com um valor limite predeterminado e usando diferentes métodos de binarização e codificação aritmética em relação à região de prefixo e à região de sufixo.
[00205] 0 valor limite para classificar o símbolo na região de prefixo e na região de sufixo pode ser determinado com base em tamanhos de unidades de dados do símbolo, isto é, uma fatia, uma unidade de codificação máxima, uma unidade de codificação, uma unidade de previsão, uma unidade de transformação etc..
[00206] A Fig. 11 é um diagrama de blocos de um decodificador de imagens 500 com base em unidades de codificação, de acordo com uma forma de realização da presente invenção.
[00207] Um analisador 510 analisa dados de imagem codificados a serem decodificados e informações sobre codificação necessárias para decodificação de um fluxo de bits 505. Os dados de imagem codificados são emitidos como dados quantizados inversos,
61/82 através de um decodifiçador por entropia 520 e um quantizador inverso 530, e os dados quantizados inversos são restaurados em dados de imagem em um domínio espacial através de um transformador inverso 540.
[00208] Um previsor intra 550 executa previsão intra nas unidades de codificação em um modo intra em relação aos dados de imagem no domínio espacial, e um compensador de movimento 560 executa compensação de movimento em unidades de codificação em um modo inter, usando uma moldura de referência 585.
[00209] Os dados de imagem no domínio espacial, que passaram pelo previsor intra 550 e o compensador de movimento 560, podem ser emitidos como uma moldura restaurada 595, após ser pósprocessados através de uma unidade de desbloqueio 570 e uma unidade de filtragem de circuito 580. Além disso, os dados de imagem, que são pós-processados através da unidade de desbloqueio 570 e da unidade de filtragem de circuito 580, podem ser emitidos como a moldura de referência 585.
[00210] Para decodificar os dados de imagem no decodifiçador de dados de imagem 230 do aparelho para decodificar vídeo 200, o decodifiçador de imagens 500 pode realizar operações, que são executadas após o analisador 510.
[00211] A fim de que o decodif içador de imagens 500 seja aplicado no aparelho para decodificar vídeo 200, todos os elementos do decodifiçador de imagem 500, ou seja, o analisador 510, o decodifiçador por entropia 520, o quantizador inverso 530, o transformador inverso 540, o previsor intra 550, o compensador de movimento 560, a unidade de desbloqueio 570, e a unidade de filtragem de circuito 580 executam operações com base
62/82 em unidades de codificação com uma estrutura em árvore para cada unidade de codificação máxima.
[00212] Especificamente, o previsor intra 550 e o compensador de movimento 560 executam operações, com base em partições e um modo de previsão para cada uma das unidades de codificação tendo uma estrutura em árvore, e o transformador inverso 540 executa operações com base em um tamanho de uma unidade de transformação para cada unidade de codificação.
[00213] Em particular, o decodifiçador por entropia 520 pode realizar decodificação de símbolos para cada uma dentre a sequência de bits do prefixo de bits e a sequência de bits do sufixo, ao classificar a sequência de bits do símbolo analisado na sequência de bits do prefixo e na sequência de bits do sufixo, de acordo com um valor limite predeterminado, e usando diferentes métodos de binarização e decodificação aritmética com relação à sequência de bits do prefixo e à sequência de bits do sufixo.
[00214] 0 valor limite para classificar a sequência de bits de símbolos na sequência de bits do prefixo e na sequência de bits do sufixo pode ser determinada com base em tamanhos de unidades de dados do símbolo, isto é, uma fatia, uma unidade de codificação máxima, uma unidade de codificação, uma unidade de previsão, uma unidade de transformação etc..
[00215] A Fig. 12 é um diagrama mostrando unidades de
codificação mais profundas, de acordo com profundidades e
partições, de acordo com urna forma de realização da presente
invenção.
63/82 [00216] O aparelho para codificar video 100 e o aparelho para decodificar video 200 usam unidades de codificação hierárquicas, a fim de considerar características de uma imagem. Uma altura máxima, uma largura máxima, e uma profundidade máxima de unidades de codificação podem ser adaptavelmente determinadas, de acordo com as características da imagem, ou podem ser definidas de forma diferente por um usuário. Tamanhos das unidades de codificação mais profundas, de acordo com profundidades, podem ser determinados, de acordo com o tamanho máximo predeterminado da unidade de codificação.
[00217] 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. Aqui, a máxima profundidade denota um número total de vezes que a divisão é realizada, da unidade de codificação máxima na unidade de codificação mínima. 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 mais profunda são, cada qual, divididas. Além disso, uma unidade de previsão e partições, que são as bases para a codificação por previsão de cada unidade de codificação mais profunda, são mostradas ao longo de um eixo horizontal da estrutura hierárquica 600.
[00218] Em outras palavras, uma unidade de codificação 610 é uma unidade de codificação máxima na estrutura hierárquica 600, onde a profundidade é 0 e um tamanho, ou seja, uma altura pela largura, é 64 x 64. A profundidade aumenta ao longo do eixo
64/82 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 8 x 8 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 mínima.
[00219] A unidade de previsão e as partições de uma unidade de codificação são dispostas 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.
[00220] 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 626 tendo um tamanho de 16 x 16.
[00221] 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
65/82 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.
[00222] 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 tendo um tamanho de 8 x 8 incluída na unidade de codificação 640, partições 642 tendo um tamanho de 8 x 4, partições 64 4 tendo um tamanho de 4 x 8, e partições 646 tendo um tamanho de 4 x 4.
[00223] A unidade de codificação 650 tendo o tamanho de 4 x 4 e a profundidade de 4 é a unidade de codificação mínima 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.
[00224] A fim de determinar pelo menos uma profundidade codificada das unidades de codificação, que constituem a unidade de codificação máxima 610, o determinador da unidade de codificação 120 do aparelho para codificar vídeo 100 executa codificação para unidades de codificação correspondentes a cada profundidade incluída na unidade de codificação máxima 610.
[00225] Um número de unidades de codificação mais profundas, de acordo com profundidades incluindo dados na mesma faixa e do mesmo tamanho, aumenta à medida que a profundidade aumenta. Por exemplo, quatro unidades de codificação correspondentes a uma profundidade de 2 são necessárias para processar dados, que estão incluídos em uma unidade de codificação correspondente a uma profundidade de 1. Nesse sentido, a fim de comparar
66/82 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. [00226] Para realizar codificação para uma profundidade atual dentre as profundidades, um menor erro de codificação pode ser escolhido para a profundidade atual, através da realização 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 os menores erros de codificação, de acordo com profundidades, através da realização de codificação para cada profundidade, enquanto 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.
[00227] A Fig. 13 entre uma unidade de acordo com uma forma é um diagrama para descrever uma relação codificação e unidades de transformação, de de realização da presente invenção.
[00228] 0 aparelho para codificar video 100 ou
200 codifica ou decodifica uma imagem, de acordo com unidades de codificação tendo tamanhos menores ou iguais a uma unidade de codificação máxima para cada unidade de codificação máxima.
Tamanhos de unidades de transformação para transformação durante codificação podem ser selecionados, com base em unidades de
67/82 dados que não são maiores do que uma unidade de codificação correspondente.
[00229] Por exemplo, no aparelho para codificar video 100 ou 200, se um tamanho da unidade de codificação 710 for 64 x 64, transformação pode ser realizada usando as unidades de transformação 720 tendo um tamanho de 32 x 32.
[00230] 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 32 x 32, 16 x 16, 8 x 8 e 4 x 4, que são menores do que 64 x 64 e, então, uma unidade de transformação tendo o menor erro de codificação pode ser selecionada.
[00231] A Fig. 14 é um diagrama para descrever informações de codificação de unidades de codificação, de acordo com profundidades, de acordo com uma forma de realização da presente invenção.
[00232] A unidade de saída 130 do aparelho para codificar vídeo 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.
[00233] 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 por previsão da unidade de codificação atual. Por exemplo, uma unidade de codificação atual
68/82
CU_O tendo um tamanho de 2Nx2N pode ser dividida em qualquer uma dentre a 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.
[00234] 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 por 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 ignorar 816.
[00235] 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.
[00236] 0 extrator de informações de codificação e dados de imagem 220 do aparelho para decodificar vídeo 200 pode extrair e usar as informações 800, 810 e 820 para decodificação, de acordo com cada unidade de codificação mais profunda.
[00237] A Fig. 15 é um diagrama mostrando unidades de codificação mais profundas, de acordo com profundidades, de acordo com uma forma de realização da presente invenção.
69/82 [00238] Informações de divisão podem ser usadas para indicar uma mudança de 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 menor profundidade.
[00239] Uma unidade de previsão 910 para codificação por 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_Ox2N_0, e um tipo de partição 918 tendo um tamanho de N_0xN_0. A Fig. 15 só 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 este aspecto limitado, e as partições de unidade a previsão 910 podem incluir partições assimétricas, partições tendo um formato predeterminado, e partições tendo um formato geométrico.
[00240] Codificação por 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_0xN_0, de acordo com cada tipo de partição. A codificação por previsão em um modo intra e um modo inter pode ser efetuada nas partições tendo os tamanhos de 2N_0x2N_0, N__0x2N_O, 2N_0xN_0 e N_0xN_O. A codificação por previsão em um modo ignorar é realizada somente na partição com o tamanho de 2N_0x2N_0.
[00241] Erros de codificação, incluindo a codificação por previsão nos tipos de partição 912 a 918 são comparados, e o
70/82 menor erro de codificação é determinado entre os tipos de partição. Se um erro de codificação for o menor deles em um dos tipos de partição 912 a 916, a unidade de previsão 910 pode não ser dividida em uma menor profundidade.
[00242] Se o erro de codificação for o menor deles no tipo de partição 918, uma profundidade é alterada de 0 para 1, para dividir o tipo de partição 918 na operação 920, e codificação é executada repetidamente nas unidades de codificação 930 tendo uma profundidade de 2 e um tamanho de N_0xN_O, para procurar um menor erro de codificação.
[00243] Uma unidade de previsão 940 para codificar por previsão as unidades de codificação 930, tendo uma profundidade de 1 e um tamanho de 2N_lx2N_l (= N_0xN_0), pode incluir partições de um tipo de partição 942 tendo um tamanho de 2N_lx2N_l, um tipo de partição 944 tendo um tamanho de 2N_lxN_l, um tipo de partição 946 tendo um tamanho de N_lx2N_l, e um tipo de partição 948 tendo um tamanho de N_lxN_l.
[00244] Se um erro de codificação for o menor deles no tipo de partição 948, 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_2xN_2, para procurar um menor erro de codificação.
[00245] Quando uma profundidade máxima for d, a unidade de codificação, de acordo com cada profundidade, pode ser realizada até quando uma profundidade se torne d-1, e informações de divisão podem ser codificadas até quando uma profundidade for uma de 0 a d-2. Em outras palavras, quando codificação for
71/82 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 codificar por previsão uma unidade de previsão 980 tendo uma profundidade de d-1 e um tamanho de 2N_(d-1)x2N_(d-1) pode incluir partições de um tipo de partição 992 tendo um tamanho de 2N_(d-l)x2N_(d-l), 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-l), e um tipo de partição 998 tendo um tamanho de N_(d-1)xN_(d-l).
[00246] Codificação por previsão pode ser executada repetidamente em uma partição tendo um tamanho de 2N_(dl)x2N_(d-l), duas partições tendo um tamanho de 2N_(d-1)xN_(d1), duas partições tendo um tamanho de N_(d-1)x2N_(d-1), quatro partições tendo um tamanho de N_(d-1)xN_(d-1) dentre os tipos de partição 992 a 998, para procurar um tipo de partição tendo um menor erro de codificação.
[00247] Mesmo quando o tipo de partição 998 tiver o menor erro de codificação, uma vez que a profundidade máxima é d, uma unidade de codificação CU_(d-l) tendo uma profundidade de d-1 não é mais dividida em uma menor profundidade, e uma profundidade codificada para as unidades de codificação, constituindo uma 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 N_(dl)xN_(d-l). Além disso, uma vez que a profundidade máxima é d, e uma unidade de codificação mínima 980 tendo uma profundidade mais inferior de d-1 não é mais dividida em uma menor
72/82 profundidade, informações de divisão para a unidade de codificação mínima 980 não são definidas.
[00248] Uma unidade de dados 999 pode ser uma 'unidade mínima' para a unidade de codificação máxima atual. Uma unidade mínima, 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 mínima 980 por 4. Ao realizar a codificação repetidamente, o aparelho para codificar vídeo 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 correspondente e um modo de previsão como um modo de codificação da profundidade codificada.
[00249] 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, como uma unidade de codificação é dividida de uma profundidade de 0 a 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.
[00250] 0 extrator de informações de codificação e dados de imagem 220 do aparelho para decodificar vídeo 200 pode extrair e
73/82 usar as informações sobre a profundidade codificada e a unidade de previsão da unidade de codificação 900, para decodificar a partição 912. 0 aparelho para decodificar 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.
[00251] As Figs. 16 a 18 são diagramas para descrever uma relação entre unidades de codificação, unidades de previsão, e unidades de transformação, de acordo com uma forma de realização da presente invenção.
[00252] As unidades de codificação 1010 são unidades de codificação tendo uma estrutura em árvore, correspondendo a profundidades codificadas determinadas pelo aparelho para codificar 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.
[00253] 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.
74/82 [00254] 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 nas unidades de codificação 1010. Em outras palavras, os 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 ou iguais a cada unidade de codificação.
[00255] Transformação ou transformação inversa é realizada em dados de imagem da unidade de codificação 1052 nas unidades de transformação 1070 em uma unidade de dados, que é menor do que a unidade de codificação
1052.
Além disso, as unidades de codificação
1014, 1016,
1022,
1032,
1048, 1050 e 1052 nas unidades de transformação 1070 são diferentes daquelas nas unidades de previsão 1060, em termos de tamanhos e formatos.
Em outras palavras, os aparelhos para codificar e decodificar video
100 e 200 podem executar previsão intra, estimativa de movimento, compensação de movimento, transformação, transformação inversa, individualmente em uma unidade de dados na mesma unidade de codificação.
[00256] 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 tendo uma estrutura em árvore recursiva podem ser obtidas. Informações de codificação podem incluir
75/82 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 pelos aparelhos para codificar e decodificar vídeo 100 e 200.
Tabela 1
Informações de divisão 0 (Codificação em unidade de codificação tendo tamanho de 2Nx2N e profundidade atual de d) Informações de divisão 1
Modo de previsão Tipo de partição Tamanho da unidade de trans formação Codificar repetidamente unidades de codificação tendo menor profundidade de d + 1
Intra Inter Ignorar (apenas 2Nx2N) Tipo de partição simétrico Tipo de partição assimétrico Informações de divisão 0 da unidade de transformação Informações de divisão 1 da unidade de transformação
2Nx2N 2NxN Nx2N NxN 2NxnU 2NxnD nLx2N nRx2N 2Nx2N NxN (Tipo simétrico) N/2xN/2 (Tipo assimétrico)
[00257] A unidade de saída 130 do aparelho para codificar vídeo 100 pode emitir as informações de codificação sobre as unidades de codificação tendo uma estrutura em árvore, e o extrator de informações de codificação e dados de imagem 220 do aparelho para decodificar vídeo 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.
76/82 [00258] Informações de divisão indicam se uma unidade de codificação atual foi dividida em unidades de codificação de menor profundidade. Se informações de divisão de uma profundidade atual d forem 0, uma profundidade, na qual uma unidade de codificação atual não é mais dividida em uma menor profundidade, é 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 é independentemente realizada em quatro unidades de codificação de divisão de menor profundidade.
[00259] Um modo de previsão pode ser aquele de um modo intra, um modo inter, e um modo ignorar. O modo intra e o modo inter
podem ser definidos em todos os tipos de partição, e o modo
ignorar é definido apenas em um tipo de partição tendo um
tamanho de 2Nx2N.
[00260] As informações sobre o tipo de partição podem indicar
tipos de partição simétricos tendo 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 tendo 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 1:3 e 3:1, e os tipos de partição assimétricos tendo os tamanhos de nLx2N e
77/82 nRx2N podem ser obtidos, respectivamente, dividindo-se a largura da unidade de previsão em 1:3 e 3:1.
[00261] 0 tamanho da unidade de transformação pode ser definido, como sendo 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étrica, o tamanho da unidade de transformação pode ser N/2xN/2.
[00262] As informações de codificação sobre unidades de codificação tendo 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 mínima. A unidade de codificação correspondente à profundidade codificada pode incluir pelo menos uma dentre uma unidade de previsão e uma unidade mínima que contém as mesmas informações de codificação.
[00263] Nesse sentido, é determinado se 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.
78/82
Além disso, uma unidade de codificação correspondente a uma profundidade codificada é determinada, usando informações de codificação de uma unidade de dados e, portanto, uma distribuição de profundidades codificadas em uma unidade de codificação máxima pode ser determinada.
[00264] Nesse sentido, 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 mais profundas adjacentes à unidade de codificação atual podem ser diretamente referidas e usadas.
[00265] Como alternativa, se uma unidade de codificação atual for prevista com base em 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 pesquisadas adjacentes podem ser referidas para prever a unidade de codificação atual.
[00266] A Fig. 19 é 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.
[00267] Uma 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 uma profundidade codificada, informações de divisão podem ser definidas como 0. Informações sobre um tipo de partição da
79/82 unidade de codificação 1318 tendo um tamanho de 2Nx2N podem ser configuradas para ser 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 1326 tendo um tamanho de Nx2N, um tipo de partição 1328 tendo um tamanho de NxN, um tipo de partição 1332 tendo um tamanho de 2NxnU, um tipo de partição 1334 tendo um tamanho de 2NxnD, um tipo de partição 1336 tendo um tamanho de nLx2N, e um tipo de partição 1338 tendo um tamanho de nRx2N.
[00268] Informações de divisão (sinalizador de tamanho da TU) de uma unidade de transformação são um tipo de um índice de transformação, e um tamanho da unidade de transformação correspondente ao índice de transformação pode variar, de acordo com um tipo da unidade de previsão ou da partição da unidade de codificação.
[00269] Por exemplo, 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 é definido, se as informações de divisão da unidade de transformação forem 0, e uma unidade de transformação 1344 tendo um tamanho de NxN é definido, se um sinalizador de tamanho da TU for 1.
[00270] Quando o tipo de partição for definido para ser 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 da TU for 0, e uma unidade de transformação 1354 tendo um tamanho de N/2xN/2 é definido, se um sinalizador de tamanho da TU for 1.
80/82 [00271] Referindo-se à Fig. 19, o sinalizador de tamanho da TU é um sinalizador tendo um valor de 0 ou 1, mas o sinalizador de tamanho da TU não está limitado a 1 bit, e uma unidade de transformação pode ser dividida hierarquicamente tendo uma estrutura em árvore, enquanto o sinalizador de tamanho da TU aumenta a partir de 0. 0 sinalizador de tamanho da TU pode ser usado como uma forma de realização do índice de transformação.
[00272] Neste caso, se informações de divisão da unidade de transformação forem usadas junto com o tamanho da unidade de transformação máxima e o tamanho da unidade de transformação mínima, o tamanho da unidade de transformação, que é realmente usado, pode ser expresso. O aparelho para codificar video 100 pode codificar informações de tamanho da unidade de transformação máxima, informações de tamanho da unidade de transformação mínima, 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 de unidade de transformação mínima, e informações de divisão da unidade de transformação máxima podem ser inseridas num SPS. O aparelho para decodificar vídeo 200 pode realizar decodificação de video, usando as informações de tamanho da unidade de transformação máxima, as informações de tamanho da unidade de transformação mínima, e as informações de divisão da unidade de transformação máxima.
[00273] Por exemplo, se uma unidade de codificação atual tiver um tamanho de 64 x 64 e o tamanho da unidade de transformação máxima for de 32 x 32, quando as informações de divisão da unidade de transformação forem 0, um tamanho da unidade de
81/82 transformação pode ser definido como 32 x 32, quando as informações de divisão da unidade de transformação forem 1, o tamanho da unidade de transformação pode ser definido como 16 x
16, e quando as informações de divisão da unidade de transformação forem 2, o tamanho da unidade de transformação pode ser definido como 8x8.
[002'74] Como alternativa, se a unidade de codificação atual tiver um tamanho de 32 x 32, e o tamanho da unidade de transformação mínima for de 32 x 32, quando as informaçõesde divisão da unidade de transformação forem 1, o tamanhoda unidade de transformação pode ser definido como 32 x 32, e uma vez que o tamanho da unidade de transformação for igual ou maior do que 32 x 32, nenhuma informação de divisão da unidadede transformaçao pode ser definida.
[00275] Como alternativa, se a unidade de codificação atual tiver um tamanho de 64 x 64, e as informações de divisão da unidade de transformação máxima forem 1, as informações de divisão da unidade de transformação podem ser definidas como 0 ou 1, e outras informações de divisão da unidade de transformação podem não ser definidas.
[00276] Por conseguinte, se as informações de divisão da unidade de transformação máxima forem definidas como 'MaxTransformSizelndex', se um tamanho da unidade de transformação mínima for definido como 'MinTransformSize', e se um tamanho da unidade de transformação for definido como 1RootTuSize' , quando as informações de divisão da unidade de transformação forem 0, ' CurrMinTuSize' , que é um tamanho da
82/82 unidade de transformação mínima disponível na unidade de codificação atual, pode ser definido pela fórmula (1) abaixo
CurrMinTuSize max (MinTransformSize,
RootTuSize/(2AMaxTransformSizeIndex))... (1) [00277] Em comparação com 'CurrMinTuSize', que é o tamanho da unidade de transformação mínima disponível na unidade de codificação atual, 'RootTuSize', que é um tamanho da unidade de transformação, quando as informações de divisão da unidade de transformação forem 0, pode representar um tamanho da unidade de transformação máxima, que pode ser adotado em um sistema. Em outras palavras, de acordo com a fórmula (1), 'RootTuSize/(2AMaxTransformSizeIndex)' é um tamanho da unidade de transformação, em que 'RootTuSize' é dividido por um número de vezes correspondente às informações de divisão da unidade de transformação máxima, e 'MinTransformSize' é um tamanho da unidade de transformação mínima e, portanto, um valor menor entre 'RootTuSize/(2AMaxTransformSizeIndex)' 'MinTransformSize' pode ser 'CurrMinTuSize', que é o tamanho da
unidade de transformação mínima disponível na unidade de
codificação atual.
[00278] 0 'RootTuSize', que é o tamanho da unidade de
transformação máxima, pode variar, de acordo com um modo de
previsão.
[00279] Por exemplo, se um modo de previsão atual for um modo inter, o 'RootTuSize' pode ser determinado, de acordo com a fórmula (2) abaixo. Na fórmula (1), 'MaxTransformSize' denota um
83/82 tamanho da unidade de transformação máxima, e 'PUSize' denota um tamanho da unidade de previsão atual.
RootTuSize = min(MaxTransformSize, PUSize)... (2) [00280] Em outras palavras, se o modo de previsão atual for um modo inter, o 'RootTuSize', que é um tamanho da unidade de transformação, quando as informações de divisão da unidade de transformação forem 0, pode ser definido como um valor menor entre o tamanho da unidade de transformação máxima e o tamanho da unidade de previsão atual.
[00281] Se um modo de previsão de uma unidade de partição atual for um modo intra, o 'RootTuSize' pode ser determinado, de acordo com a fórmula (3) abaixo. 'PartitionSize' denota um tamanho da unidade de partição atual.
RootTuSize = min (MaxTransformSize, PartitionSize) ... (3) [00282] Em outras palavras, se o modo de previsão atual for um modo intra, o 'RootTuSize' pode ser definido como um valor menor entre o tamanho da unidade de transformação máxima e o tamanho da unidade de partição atual.
[00283] No entanto, o tamanho da unidade de transformação máxima atual 'RootTuSize', variando de acordo com um modo de previsão da unidade de partição, é apenas um exemplo, e um fator para determinar o tamanho da unidade de transformação máxima atual não é por este aspecto limitado.
[00284] Dados de imagem de um domínio espacial são codificados para cada unidade de codificação tendo uma estrutura em árvore, usando um método para codificar vídeo com base em unidades de codificação tendo uma estrutura em árvore, acima descrito com
84/82 referência às Figs. 7 a 19, e decodificação é executada em cada unidade de codificação máxima, usando um método para decodificar vídeo baseado nas unidades de codificação tendo uma estrutura em árvore e, portanto, os dados de imagem do domínio espacial são restaurados, restaurando, assim, um vídeo, que é um quadro e uma sequência de quadros. 0 video restaurado pode ser reproduzido por um aparelho de reprodução, pode ser armazenado em uma mídia de armazenamento, ou pode ser transmitido através de uma rede.
[00285] As formas de realização da presente invenção podem ser gravadas como programas de computador, e podem ser executadas em computadores digitais de uso geral, que executam os programas usando uma mídia de gravação legível por computador. Suportes magnéticos (por exemplo, ROM, disquetes, discos rígidos etc.) e mídias de gravação ótica (por exemplo, CD-ROMs ou DVDs) são exemplos de mídia de gravação legível por computador.
[00286] Embora essa invenção tenha sido particularmente mostrada e descrita com referência a suas formas de realização preferenciais, deve ficar claro para as pessoas com habilidade comum na arte que várias alterações na forma e detalhes podem ser feitas, sem se afastar do espírito e escopo da invenção, como definidos pelas reivindicações acrescentadas. As formas preferenciais de realização 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 estando incluídas na presente invenção.

Claims (3)

  1. - REIVINDICAÇÕES -
    1. MÉTODO PARA DECODIFICAR UM VÍDEO, caracterizado pelo fato dele compreender:
    receber um fluxo de bits incluindo informações sobre uma posição do último coeficiente de um bloco de transformação;
    obter um fluxo de bits do prefixo da posição do último coeficiente dentre as informações sobre uma posição do último coeficiente, executando decodificação aritmética baseada em contexto no fluxo de bits;
    quando o fluxo de bits do prefixo for maior que um valor predeterminado, obter, por parte do fluxo de bits, um fluxo de bits do sufixo, de acordo com um modo de derivação;
    executar binarização inversa no fluxo de bits do prefixo, de acordo com esquema de binarização truncada, para obter um prefixo binarizado inverso;
    executar binarização inversa no fluxo de bits do sufixo, de acordo com esquema de binarização de comprimento fixo, para obter um sufixo binarizado inverso; e reconstruir um símbolo indicando uma posição do último coeficiente de um bloco de transformação, usando o prefixo binarizado inverso e o sufixo binarizado inverso.
  2. 2. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato das informações sobre uma posição do último coeficiente incluírem informações sobre coordenada x da posição do último coeficiente em uma direção de larguras do bloco de transformação e informações sobre coordenada y da posição do último coeficiente em uma direção de alturas do bloco de transformação, onde reconstruir um símbolo compreende:
    reconstruir um símbolo de coordenada x da posição do último coeficiente, usando o prefixo e o sufixo, que são gerados através das informações sobre coordenada x da posição do último coeficiente; e reconstruir um símbolo de coordenada y da posição do
    2/2 último coeficiente, usando o prefixo e o sufixo, que são gerados através das informações sobre coordenada y da posição do último coeficiente.
  3. 3. MÉTODO, de acordo com a reivindicação 1, caracterizado pelo fato de ainda compreender:
    determinar a posição do último coeficiente do bloco de transformação usando o símbolo reconstruído;
    reconstruir coeficientes de transformação do bloco de transformação usando a posição do último coeficiente determinada; e reconstruir resíduos do bloco de transformação, executando quantização inversa e transformação inversa nos coeficientes de transformação reconstruídos.
BR122015021374A 2011-06-28 2012-06-27 método para decodificar um vídeo BR122015021374A2 (pt)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161502038P 2011-06-28 2011-06-28
BR112013033708A BR112013033708A2 (pt) 2011-06-28 2012-06-27 método para decodificar um video, através da decodificação de símbolos, método para codificar um vídeo através de codificação de símbolos, aparelho para decodificar um vídeo através da decodificação de símbolos, aparelho para codificar um vídeo através da codificação de símbolos, e mídia de gravação legível por computador

Publications (1)

Publication Number Publication Date
BR122015021374A2 true BR122015021374A2 (pt) 2019-08-27

Family

ID=47424665

Family Applications (5)

Application Number Title Priority Date Filing Date
BR122015021373A BR122015021373A2 (pt) 2011-06-28 2012-06-27 aparelho para decodificar um vídeo
BR122015021374A BR122015021374A2 (pt) 2011-06-28 2012-06-27 método para decodificar um vídeo
BR122015021376A BR122015021376A2 (pt) 2011-06-28 2012-06-27 aparelho para decodificar um vídeo
BR122015021375A BR122015021375A2 (pt) 2011-06-28 2012-06-27 método para decodificar um vídeo
BR112013033708A BR112013033708A2 (pt) 2011-06-28 2012-06-27 método para decodificar um video, através da decodificação de símbolos, método para codificar um vídeo através de codificação de símbolos, aparelho para decodificar um vídeo através da decodificação de símbolos, aparelho para codificar um vídeo através da codificação de símbolos, e mídia de gravação legível por computador

Family Applications Before (1)

Application Number Title Priority Date Filing Date
BR122015021373A BR122015021373A2 (pt) 2011-06-28 2012-06-27 aparelho para decodificar um vídeo

Family Applications After (3)

Application Number Title Priority Date Filing Date
BR122015021376A BR122015021376A2 (pt) 2011-06-28 2012-06-27 aparelho para decodificar um vídeo
BR122015021375A BR122015021375A2 (pt) 2011-06-28 2012-06-27 método para decodificar um vídeo
BR112013033708A BR112013033708A2 (pt) 2011-06-28 2012-06-27 método para decodificar um video, através da decodificação de símbolos, método para codificar um vídeo através de codificação de símbolos, aparelho para decodificar um vídeo através da decodificação de símbolos, aparelho para codificar um vídeo através da codificação de símbolos, e mídia de gravação legível por computador

Country Status (27)

Country Link
US (7) US9565455B2 (pt)
EP (7) EP2884749B1 (pt)
JP (6) JP5735710B2 (pt)
KR (7) KR101457399B1 (pt)
CN (9) CN107835421B (pt)
AU (6) AU2012276453B2 (pt)
BR (5) BR122015021373A2 (pt)
CA (2) CA2840481C (pt)
CY (2) CY1119931T1 (pt)
DK (2) DK2884749T3 (pt)
ES (4) ES2655917T3 (pt)
HR (2) HRP20180051T1 (pt)
HU (4) HUE038521T2 (pt)
LT (2) LT2728866T (pt)
MX (4) MX337232B (pt)
MY (5) MY160326A (pt)
NO (1) NO3064648T3 (pt)
PH (4) PH12017501002A1 (pt)
PL (4) PL2884749T3 (pt)
PT (2) PT2728866T (pt)
RS (2) RS56754B1 (pt)
RU (4) RU2586321C2 (pt)
SI (2) SI2728866T1 (pt)
TR (1) TR201902208T4 (pt)
TW (4) TWI615020B (pt)
WO (1) WO2013002555A2 (pt)
ZA (5) ZA201400647B (pt)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MY160326A (en) * 2011-06-28 2017-02-28 Samsung Electronics Co Ltd Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding
KR101918786B1 (ko) * 2011-07-18 2018-11-14 선 페이턴트 트러스트 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치 및 화상 부호화 복호 장치
EP2988511A1 (en) 2011-08-04 2016-02-24 MediaTek Inc. Method and apparatus for reordered binarization of syntax elements in cabac
CN103563379B (zh) 2011-11-07 2017-07-28 太阳专利托管公司 图像编码方法、图像解码方法、图像编码装置、图像解码装置及图像编码解码装置
SG10201510259UA (en) * 2012-04-15 2016-01-28 Samsung Electronics Co Ltd Parameter update method for entropy coding and decoding of conversion coefficient level, and entropy coding device and entropy decoding device of conversion coefficient level using same
GB2513111A (en) * 2013-04-08 2014-10-22 Sony Corp Data encoding and decoding
US9930348B2 (en) * 2014-03-14 2018-03-27 Qualcomm Incorporated Coefficient level coding in a video coding process
CN110691244B (zh) 2014-06-20 2022-07-08 寰发股份有限公司 视频编码中的语法的二进制化和上下文自适应编码的方法和装置
US20160044339A1 (en) * 2014-08-07 2016-02-11 Qualcomm Incorporated System and method for reordering of prefixes and suffixes in variable length coding to increase throughput
WO2016119726A1 (en) 2015-01-30 2016-08-04 Mediatek Inc. Method and apparatus for entropy coding of source samples with large alphabet
KR102473209B1 (ko) * 2015-12-14 2022-12-02 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US10142629B2 (en) * 2015-12-28 2018-11-27 Mediatek Inc. Method and apparatus for entropy coding in image compression
US10708164B2 (en) * 2016-05-03 2020-07-07 Qualcomm Incorporated Binarizing secondary transform index
WO2019185818A1 (en) 2018-03-29 2019-10-03 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Transform coefficient block coding
AU2018204786A1 (en) * 2018-06-29 2020-01-16 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding a transformed block of video samples
HUE064008T2 (hu) * 2018-07-11 2024-02-28 Huawei Tech Co Ltd Luma intramodális jeltovábbítás
BR112021007273A2 (pt) * 2018-11-12 2021-07-20 Lg Electronics Inc. método de decodificação de imagens através de um aparelho de decodificação, método de codificação de imagens através de um aparelho de codificação e mídia de armazenamento legível por computador não transitória
KR20230154085A (ko) * 2018-12-17 2023-11-07 엘지전자 주식회사 고주파 제로잉을 기반으로 변환 계수 스캔 순서를 결정하는 방법 및 장치
WO2020145698A1 (ko) * 2019-01-13 2020-07-16 엘지전자 주식회사 비디오 신호를 처리하기 위한 방법 및 이를 위한 장치
US10986334B2 (en) * 2019-03-09 2021-04-20 Tencent America LLC Method and apparatus for video coding
CN113597770B (zh) * 2019-03-12 2023-10-27 Lg 电子株式会社 基于变换的图像编译方法及其装置
JP7332873B2 (ja) * 2019-09-10 2023-08-24 富士通株式会社 符号化回路、復号化回路、符号化方法、復号化方法、伝送装置、及び光伝送システム
CN110995274B (zh) * 2019-11-18 2022-02-08 中国科学院自动化研究所 一种解压缩方法及装置
JP7388900B2 (ja) 2019-12-06 2023-11-29 日本放送協会 符号化装置、復号装置、及びプログラム
CN114079774B (zh) * 2020-08-21 2024-05-31 北京三星通信技术研究有限公司 帧间预测信息的编解码方法及装置
CN114615504A (zh) * 2020-12-04 2022-06-10 腾讯科技(深圳)有限公司 视频解码方法、视频编码方法、装置及设备
CN113518222B (zh) * 2021-06-07 2022-11-08 同济大学 不同类型串采用不同长度二值化方案的编解码方法及装置
JP2023026969A (ja) * 2021-08-16 2023-03-01 キヤノン株式会社 撮像システム、サーバ装置、サーバ装置の制御方法、プログラム、および記憶媒体

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2755527B1 (fr) * 1996-11-07 1999-01-08 Thomson Multimedia Sa Procede de prediction compensee en mouvement et codeur utilisant un tel procede
US6859840B2 (en) 2001-01-29 2005-02-22 Kasenna, Inc. Prefix caching for media objects
ES2277174T3 (es) * 2002-05-02 2007-07-01 Fraunhofer-Gesellschaft Zur Forderung Der Angewandten Forschung E.V. Codificacion aritmetica de coeficientes de transformacion.
DE10301362B4 (de) * 2003-01-16 2005-06-09 GEMAC-Gesellschaft für Mikroelektronikanwendung Chemnitz mbH Blockdatenkompressionssystem, bestehend aus einer Kompressionseinrichtung und einer Dekompressionseinrichtung, und Verfahren zur schnellen Blockdatenkompression mit Multi-Byte-Suche
US6900748B2 (en) * 2003-07-17 2005-05-31 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Method and apparatus for binarization and arithmetic coding of a data value
US7379608B2 (en) * 2003-12-04 2008-05-27 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. Arithmetic coding for transforming video and picture data units
US7599435B2 (en) * 2004-01-30 2009-10-06 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Video frame encoding and decoding
JP4418762B2 (ja) * 2004-05-07 2010-02-24 キヤノン株式会社 画像符号化装置及び画像復号装置及びそれらの制御方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体
DE102004049156B4 (de) * 2004-10-08 2006-07-13 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codierschema für einen ein zeitlich veränderliches Graphikmodell darstellenden Datenstrom
KR100647295B1 (ko) * 2004-11-10 2006-11-23 삼성전자주식회사 비디오 디코더에서의 인접 정보 처리 장치 및 방법과 그방법을 수행하기 위한 프로그램이 저장된 기록 매체
US7430238B2 (en) * 2004-12-10 2008-09-30 Micronas Usa, Inc. Shared pipeline architecture for motion vector prediction and residual decoding
US20060153293A1 (en) * 2005-01-12 2006-07-13 Ulead Systems, Inc. Method for transcoding compressed data
KR100703776B1 (ko) 2005-04-19 2007-04-06 삼성전자주식회사 향상된 코딩 효율을 갖는 컨텍스트 기반 적응적 산술 코딩및 디코딩 방법과 이를 위한 장치, 이를 포함하는 비디오코딩 및 디코딩 방법과 이를 위한 장치
KR100718134B1 (ko) 2005-07-21 2007-05-14 삼성전자주식회사 비트율에 적응적인 영상 데이터 이진 산술 부호화/복호화장치 및 방법
CN100466739C (zh) * 2005-10-12 2009-03-04 华为技术有限公司 Cabac解码系统及方法
KR100873636B1 (ko) 2005-11-14 2008-12-12 삼성전자주식회사 단일 부호화 모드를 이용하는 영상 부호화/복호화 방법 및장치
WO2007065351A1 (en) 2005-12-05 2007-06-14 Huawei Technologies Co., Ltd. Binarizing method and device thereof
CN1984336A (zh) * 2005-12-05 2007-06-20 华为技术有限公司 一种二进制化方法及装置
US7778472B2 (en) 2006-03-27 2010-08-17 Qualcomm Incorporated Methods and systems for significance coefficient coding in video compression
FR2900004A1 (fr) * 2006-04-18 2007-10-19 Thomson Licensing Sas Procede et dispositif de decodage arithmetique
US7262722B1 (en) * 2006-06-26 2007-08-28 Intel Corporation Hardware-based CABAC decoder with parallel binary arithmetic decoding
CN101175210B (zh) * 2006-10-30 2010-08-11 中国科学院计算技术研究所 用于视频预测残差系数解码的熵解码方法及熵解码装置
JP4878262B2 (ja) * 2006-10-31 2012-02-15 キヤノン株式会社 エントロピー符号化装置
JP4739167B2 (ja) * 2006-10-31 2011-08-03 キヤノン株式会社 正規化処理装置
JP4825644B2 (ja) * 2006-11-14 2011-11-30 ルネサスエレクトロニクス株式会社 画像復号装置、画像符号化装置、およびシステムlsi
PT2123052E (pt) * 2007-01-18 2011-03-02 Fraunhofer Ges Forschung Corrente de dados de vídeo de qualidade escalonável
KR101148614B1 (ko) * 2007-09-06 2012-05-25 닛본 덴끼 가부시끼가이샤 영상 부호화 장치 및 영상 부호화 방법
US8782379B2 (en) * 2007-09-27 2014-07-15 Qualcomm Incorporated H.264 video decoder CABAC core optimization techniques
US8938009B2 (en) * 2007-10-12 2015-01-20 Qualcomm Incorporated Layered encoded bitstream structure
US9008171B2 (en) 2008-01-08 2015-04-14 Qualcomm Incorporated Two pass quantization for CABAC coders
US8891615B2 (en) * 2008-01-08 2014-11-18 Qualcomm Incorporated Quantization based on rate-distortion modeling for CABAC coders
US8509555B2 (en) * 2008-03-12 2013-08-13 The Boeing Company Error-resilient entropy coding for partial embedding and fine grain scalability
US8705622B2 (en) 2008-04-10 2014-04-22 Qualcomm Incorporated Interpolation filter support for sub-pixel resolution in video coding
JP2009272739A (ja) * 2008-05-01 2009-11-19 Olympus Corp 撮像装置
KR20090129926A (ko) 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
JP5083579B2 (ja) * 2008-06-23 2012-11-28 日本電気株式会社 復号処理装置、プロセッサ、電子機器、復号処理方法、及び復号処理プログラム
BRPI0917456B1 (pt) * 2008-08-19 2020-09-15 Contentarmor Método para atendimento a fluxo de vídeo de codificação aritmética binária adaptativa com base em contexto (cabac)
US20100054326A1 (en) * 2008-08-26 2010-03-04 General Instrument Corporation Method and apparatus for detecting start and end of a video sequence
EP2164176A1 (en) * 2008-09-12 2010-03-17 Thomson Licensing Method for lossless compressing prefix-suffix-codes, method for decompressing a bit sequence representing integers or symbols encoded in compressed prefix-suffix-codes and storage medium or signal carrying compressed prefix-suffix-codes
JP2010200281A (ja) * 2009-02-27 2010-09-09 Josho Gakuen 復号装置、及びプログラム
TWI387314B (zh) * 2009-03-10 2013-02-21 Univ Nat Central Image processing apparatus and method thereof
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
US8948241B2 (en) 2009-08-07 2015-02-03 Qualcomm Incorporated Signaling characteristics of an MVC operation point
US20120230405A1 (en) 2009-10-28 2012-09-13 Media Tek Singapore Pte. Ltd. Video coding methods and video encoders and decoders with localized weighted prediction
US20110110591A1 (en) 2009-11-09 2011-05-12 Ming-Hwa Sheu Multi-point image labeling method
JP4819940B2 (ja) 2009-12-04 2011-11-24 株式会社日立国際電気 動画像符号化装置
CN101771879B (zh) * 2010-01-28 2011-08-17 清华大学 基于cabac的并行归一化编码实现电路及编码方法
EP2559166B1 (en) 2010-04-13 2017-11-01 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Probability interval partioning encoder and decoder
KR102124149B1 (ko) * 2010-05-12 2020-06-18 인터디지탈 매디슨 페이튼트 홀딩스 통합된 유효성 맵 코딩을 위한 방법 및 장치
CN105828077B (zh) 2010-07-09 2019-03-15 三星电子株式会社 用于对变换系数进行熵编码/熵解码的方法和设备
CN102014283A (zh) * 2010-11-30 2011-04-13 上海大学 一阶差分前缀表示的图像数据无损压缩的编码方法
US8976861B2 (en) 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US9042440B2 (en) * 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
JP5041060B2 (ja) * 2010-12-27 2012-10-03 ソニー株式会社 符号化装置及び符号化方法
WO2012134246A2 (ko) * 2011-04-01 2012-10-04 엘지전자 주식회사 엔트로피 디코딩 방법 및 이를 이용하는 디코딩 장치
RU2642373C1 (ru) 2011-06-16 2018-01-24 ДжиИ Видео Компрешн, ЭлЭлСи Инициализация контекста при энтропийном кодировании
MY160326A (en) * 2011-06-28 2017-02-28 Samsung Electronics Co Ltd Method and apparatus for coding video and method and apparatus for decoding video accompanied with arithmetic coding
KR101918786B1 (ko) * 2011-07-18 2018-11-14 선 페이턴트 트러스트 화상 부호화 방법, 화상 복호 방법, 화상 부호화 장치, 화상 복호 장치 및 화상 부호화 복호 장치
US9154792B2 (en) * 2011-11-08 2015-10-06 Qualcomm Incorporated Progressive coding of position of last significant coefficient
US9357185B2 (en) * 2011-11-08 2016-05-31 Qualcomm Incorporated Context optimization for last significant coefficient position coding
US9253481B2 (en) * 2012-01-13 2016-02-02 Qualcomm Incorporated Determining contexts for coding transform coefficient data in video coding
US9565435B2 (en) * 2012-02-04 2017-02-07 Google Technology Holdings LLC Devices and methods for context reduction in last significant coefficient position coding
US9237344B2 (en) * 2012-03-22 2016-01-12 Qualcomm Incorporated Deriving context for last position coding for video coding
US9621921B2 (en) * 2012-04-16 2017-04-11 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans

Also Published As

Publication number Publication date
EP3402206A1 (en) 2018-11-14
ZA201502760B (en) 2017-01-25
MX337232B (es) 2016-02-18
AU2018200070A1 (en) 2018-01-25
KR20180023939A (ko) 2018-03-07
PL3402206T3 (pl) 2020-07-13
ES2655917T3 (es) 2018-02-22
DK2884749T3 (en) 2018-01-22
HRP20190301T1 (hr) 2019-04-05
HUE051665T2 (hu) 2021-03-29
EP3013054A1 (en) 2016-04-27
JP5873201B2 (ja) 2016-03-01
KR20130002285A (ko) 2013-01-07
TWI661716B (zh) 2019-06-01
EP2849445A1 (en) 2015-03-18
MX2014000172A (es) 2014-02-19
CN107820098A (zh) 2018-03-20
US20150139332A1 (en) 2015-05-21
US20150181225A1 (en) 2015-06-25
BR122015021373A2 (pt) 2019-08-27
CN105554510B (zh) 2019-06-28
BR112013033708A2 (pt) 2017-06-27
CN105357540B (zh) 2019-09-06
ZA201502759B (en) 2017-01-25
CA2975695C (en) 2019-02-05
KR101560552B1 (ko) 2015-10-16
KR20140146561A (ko) 2014-12-26
PH12017501000B1 (en) 2017-10-02
EP2884749A1 (en) 2015-06-17
TW201737713A (zh) 2017-10-16
JP2015149770A (ja) 2015-08-20
EP2728866B1 (en) 2019-02-13
BR122015021376A2 (pt) 2019-08-27
TWI615020B (zh) 2018-02-11
KR20150046772A (ko) 2015-04-30
TWI597975B (zh) 2017-09-01
RU2618511C1 (ru) 2017-05-04
PH12017501001A1 (en) 2017-10-02
CA2975695A1 (en) 2013-01-03
US9247270B2 (en) 2016-01-26
ES2816059T3 (es) 2021-03-31
US10547842B2 (en) 2020-01-28
CN103782597A (zh) 2014-05-07
MY160180A (en) 2017-02-28
KR101560550B1 (ko) 2015-10-16
TWI562618B (en) 2016-12-11
HRP20180051T1 (hr) 2018-02-09
EP3306939B1 (en) 2020-08-05
KR101457399B1 (ko) 2014-11-04
HUE038521T2 (hu) 2018-10-29
CA2840481A1 (en) 2013-01-03
LT2728866T (lt) 2019-03-12
PH12017500999A1 (en) 2017-10-02
JP5873202B2 (ja) 2016-03-01
DK2728866T3 (en) 2019-03-18
SI2884749T1 (en) 2018-03-30
US20180376144A1 (en) 2018-12-27
JP2014525166A (ja) 2014-09-25
RU2654491C1 (ru) 2018-05-21
LT2884749T (lt) 2018-01-25
WO2013002555A2 (ko) 2013-01-03
MY160178A (en) 2017-02-28
EP3306939A1 (en) 2018-04-11
MX337230B (es) 2016-02-18
RU2014102581A (ru) 2015-08-10
AU2018200070B2 (en) 2019-02-14
KR101560549B1 (ko) 2015-10-16
CN107835432B (zh) 2020-08-11
KR101835641B1 (ko) 2018-03-07
CN105554510A (zh) 2016-05-04
CY1119931T1 (el) 2018-12-12
AU2016206258B2 (en) 2017-05-25
PH12017501002B1 (en) 2017-10-02
TW201309031A (zh) 2013-02-16
EP2884749B1 (en) 2018-01-10
PT2884749T (pt) 2018-01-18
MY160326A (en) 2017-02-28
JP2015149772A (ja) 2015-08-20
CA2840481C (en) 2017-09-26
KR101917239B1 (ko) 2018-11-09
EP2728866A4 (en) 2015-03-18
RU2586321C2 (ru) 2016-06-10
AU2016206261B2 (en) 2017-10-19
ZA201400647B (en) 2015-09-30
PH12017501002A1 (en) 2017-10-02
KR20150046773A (ko) 2015-04-30
TW201813401A (zh) 2018-04-01
BR122015021375A2 (pt) 2019-08-27
AU2016206259B2 (en) 2017-07-13
NO3064648T3 (pt) 2018-02-24
CN105357540A (zh) 2016-02-24
AU2016206260B2 (en) 2017-10-19
CN107835431B (zh) 2021-05-25
AU2012276453B2 (en) 2016-05-05
KR20140075658A (ko) 2014-06-19
ZA201502762B (en) 2022-11-30
HUE044112T2 (hu) 2019-09-30
AU2016206258A1 (en) 2016-08-04
PH12017501001B1 (en) 2017-10-02
US10091510B2 (en) 2018-10-02
JP5934413B2 (ja) 2016-06-15
SI2728866T1 (sl) 2019-03-29
CY1121340T1 (el) 2020-05-29
PT2728866T (pt) 2019-02-21
JP5873200B2 (ja) 2016-03-01
RU2689135C1 (ru) 2019-05-24
PL2884749T3 (pl) 2018-04-30
CN107835431A (zh) 2018-03-23
US20160156939A1 (en) 2016-06-02
ZA201502761B (en) 2017-01-25
JP5735710B2 (ja) 2015-06-17
CN105357541A (zh) 2016-02-24
PL3306939T3 (pl) 2020-11-02
US9668001B2 (en) 2017-05-30
US9258571B2 (en) 2016-02-09
RS56754B1 (sr) 2018-04-30
US20150181224A1 (en) 2015-06-25
AU2012276453A1 (en) 2014-01-30
KR20150046774A (ko) 2015-04-30
CN107820098B (zh) 2021-01-08
JP2015149771A (ja) 2015-08-20
JP2015149774A (ja) 2015-08-20
CN105516732A (zh) 2016-04-20
EP3021591A1 (en) 2016-05-18
US9554157B2 (en) 2017-01-24
US20170237985A1 (en) 2017-08-17
RS58373B1 (sr) 2019-03-29
JP5873203B2 (ja) 2016-03-01
AU2016206261A1 (en) 2016-08-04
US9565455B2 (en) 2017-02-07
ES2797423T3 (es) 2020-12-02
PH12017501000A1 (en) 2017-10-02
MX336876B (es) 2016-02-04
PL2728866T3 (pl) 2019-05-31
TR201902208T4 (tr) 2019-03-21
AU2016206260A1 (en) 2016-08-04
CN107835421B (zh) 2020-08-11
AU2016206259A1 (en) 2016-08-04
EP2728866A2 (en) 2014-05-07
US20150139299A1 (en) 2015-05-21
HUE050522T2 (hu) 2020-12-28
JP2015149773A (ja) 2015-08-20
PH12017500999B1 (en) 2017-10-02
KR101560551B1 (ko) 2015-10-16
CN107835421A (zh) 2018-03-23
EP3402206B1 (en) 2020-05-20
CN107835432A (zh) 2018-03-23
ES2711671T3 (es) 2019-05-06
MY160179A (en) 2017-02-28
WO2013002555A3 (ko) 2013-04-11
MY160181A (en) 2017-02-28
TW201701675A (zh) 2017-01-01

Similar Documents

Publication Publication Date Title
BR122015021374A2 (pt) método para decodificar um vídeo
RU2676456C1 (ru) Способ кодирования видео и устройство кодирования видео с использованием блоков предсказания на основании блоков кодирования, определенных в соответствии с древовидной структурой, и способ декодирования видео и устройство декодирования видео с использованием блоков предсказания на основании блоков кодирования, определенных в соответствии с древовидной структурой
ES2657197T3 (es) Aparato de decodificación de video con intra predicción
JP5832683B2 (ja) ビデオ復号化方法及びビデオ復号化装置
BR122019014179B1 (pt) método de decodificação de vídeo
JP2017212751A (ja) 映像の符号化方法及び装置
BR122018010479B1 (pt) Aparelho para decodificar vídeo
BR112014018115B1 (pt) Método de decodificar um vídeo
BR122020001936B1 (pt) método de decodificar um vídeo
KR20140142195A (ko) 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치

Legal Events

Date Code Title Description
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 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)

B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]
B12B Appeal against refusal [chapter 12.2 patent gazette]