BR112013000558B1 - Método para codificar coeficientes de transformação por entropia, e método para decodificar coeficientes de transformação por entropia - Google Patents

Método para codificar coeficientes de transformação por entropia, e método para decodificar coeficientes de transformação por entropia Download PDF

Info

Publication number
BR112013000558B1
BR112013000558B1 BR112013000558-0A BR112013000558A BR112013000558B1 BR 112013000558 B1 BR112013000558 B1 BR 112013000558B1 BR 112013000558 A BR112013000558 A BR 112013000558A BR 112013000558 B1 BR112013000558 B1 BR 112013000558B1
Authority
BR
Brazil
Prior art keywords
location
transformation
encoding
coding
unit
Prior art date
Application number
BR112013000558-0A
Other languages
English (en)
Other versions
BR112013000558A2 (pt
Inventor
Bae-keun Lee
Yu-mi Sohn
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 BR112013000558A2 publication Critical patent/BR112013000558A2/pt
Publication of BR112013000558B1 publication Critical patent/BR112013000558B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/184Methods 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 bits, e.g. of the compressed video stream
    • 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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with 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/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
    • 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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

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)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
  • Image Processing (AREA)

Abstract

MÉTODO PARA CODIFICAR COEFICIENTES DE TRANSFORMAÇÃO POR ENTROPIA, E MÉTODO PARA DECODIFICAR COEFICIENTES DE TRANSFORMAÇÃO POR ENTROPIA. Trata-se de um método e aparelho para codificar e decodificar um bloco de transformação por entropia. O método para codificar um bloco de transformação por entropia inclui a determinação de uma localização de um último coeficiente de transformação significativo com um valor diferente de zero dentre coeficientes de transformação incluídos num bloco de transformação com um determinado tamanho, de acordo com uma determinada sequência de digitalização; e informações de codificação sobre a localização do último coeficiente de transformação significativo, utilizando sua localização de direção do eixo horizontal e sua localização de direção do eixo vertical no bloco de transformação.

Description

Campo Técnico
[0001] A presente invenção refere-se à codificação e decodificação de coeficientes de transformação por entropia e, mais particularmente, a um método e aparelho para codificar e decodificar eficientemente informações por entropia sobre uma localização de um último coeficiente de transformação significativo em um bloco de transformação.
Técnica Anterior
[0002] De acordo com as normas internacionais de codificação de vídeo, tais como H.264 e MPEG-4, um sinal de vídeo é dividido hierarquicamente em sequências, molduras, fatias, macroblocos, e blocos, e o bloco é uma unidade mínima de processamento. Em um processo de codificação, dados residuais de um bloco são obtidos, através da realização de predição intra ou inter de molduras. Além disso, os dados residuais são comprimidos, através da realização de quantização, transformação, varredura, codificação de comprimento de corrida, e codificação de entropia. Um processo para decodificar é um processo inverso do processo de codificação. Inicialmente, coeficientes de um bloco de transformação, que são gerados em um processo para codificar entropia, são extraídos a partir de um fluxo de bits. Em seguida, dados residuais de um bloco são reconfigurados, realizando quantização inversa e transformação inversa, e informações sobre predição são usadas para reconfigurar dados de vídeo do bloco.
Divulgação da Invenção Problema Técnico
[0003] A presente invenção proporciona um método e aparelho para codificar e decodificar eficientemente, por entropia, informações sobre uma localização de um último coeficiente de transformação significativo em um bloco de transformação com um grande tamanho.
Solução Técnica
[0004] De acordo com uma forma de realização da presente invenção, informações sobre uma localização de um último coeficiente de transformação significativo em um bloco de transformação são codificadas, utilizando sua localização de direção do eixo horizontal e sua localização de direção do eixo vertical no bloco de transformação.
Efeitos Vantajosos
[0005] De acordo com a presente invenção, uma localização de um último coeficiente de transformação significativo incluído num bloco de transformação com um grande tamanho pode ser eficientemente representada, e informações sobre a localização do último coeficiente de transformação significativo podem ser decodificadas independentemente a partir de um processo para decodificar coeficientes de transformação.
Breve Descrição dos Desenhos
[0006] A FIG. 1 é um diagrama de blocos de um aparelho codificador de imagens, de acordo com uma forma de realização da presente invenção.
[0007] A FIG. 2 é um diagrama de blocos de um aparelho decodificador de imagens, de acordo com uma forma de realização da presente invenção.
[0008] A FIG. 3 é um diagrama, mostrando unidades hierárquicas de codificação, de acordo com uma forma de realização da presente invenção.
[0009] A FIG. 4 é um diagrama de blocos de um codificador de imagens com base em unidades de codificação, de acordo com uma forma de realização da presente invenção.
[00010] A FIG. 5 é um diagrama de blocos de um decodificador de imagens com base em unidades de codificação, de acordo com uma forma de realização da presente invenção.
[00011] A FIG. 6 é um diagrama, mostrando unidades de codificação máxima, subunidades de codificação, e unidades de predição, de acordo com uma forma de realização da presente invenção.
[00012] A FIG. 7 é um diagrama, mostrando uma unidade de codificação e uma unidade de transformação, de acordo com uma forma de realização da presente invenção.
[00013] As FIGS. 8A e 8B são diagramas, mostrando formatos de divisão de unidades de codificação, unidades de predição, e unidades de transformação, de acordo com uma forma de realização da presente invenção.
[00014] A FIG. 9 é um fluxograma de um método para codificar coeficientes de transformação por entropia, de acordo com uma forma de realização da presente invenção.
[00015] A FIG. 10 é um diagrama de referência para descrever um processo para codificar coeficientes de transformação por entropia, de acordo com formas de realização da presente invenção.
[00016] A FIG. 11 é um diagrama de blocos de um aparelho codificador por entropia, de acordo com uma forma de realização da presente invenção.
[00017] A FIG. 12 é um diagrama de blocos de um dispositivo de codificação aritmética binária adaptada ao contexto (CABAC), de acordo com uma forma de realização da presente invenção.
[00018] A FIG. 13 é um diagrama de referência para descrever um processo de seleção de um contexto para a codificação de informações sobre uma localização de um último coeficiente de transformação significativo, de acordo com uma forma de realização da presente invenção.
[00019] A FIG. 14 mostra um mapa de significância correspondente à FIG. 10.
[00020] A FIG. 15 é um diagrama de referência para descrever um processo para codificar valores de nível de coeficientes de transformação significativos incluídos num bloco de transformação ilustrado na FIG. 10.
[00021] A FIG. 16 é diagrama, mostrando um exemplo de uma pluralidade de tabelas de codificação de comprimento variável (VLC), usadas de acordo com uma forma de realização da presente invenção.
[00022] A FIG. 17 é um diagrama de referência para descrever um método para codificar coeficientes de transformação por entropia, de acordo com outra forma de realização da presente invenção.
[00023] As FIGS. 18A e 18B são diagramas de referência para descrever um método para codificar coeficientes de transformação por entropia, de acordo com outra forma de realização da presente invenção.
[00024] A FIG. 19 é um fluxograma de um método para decodificar coeficientes de transformação por entropia, de acordo com uma forma de realização da presente invenção.
[00025] A FIG. 20 é um diagrama de blocos de um aparelho decodificador de entropia, de acordo com uma forma de realização da presente invenção.
Melhor Modo para Realizar a Invenção
[00026] De acordo com um aspecto da presente invenção, é proporcionado um método para codificar coeficientes de transformação por entropia, o método incluindo a determinação de uma localização de um último coeficiente de transformação significativo com um valor diferente de zero, dentre coeficientes de transformação incluídos num bloco de transformação possuindo certo tamanho, de acordo com uma determinada sequência de varredura; e codificação de informações sobre uma localização do último coeficiente de transformação significativo, utilizando sua localização de direção do eixo horizontal e sua localização de direção do eixo vertical no bloco de transformação.
[00027] De acordo com outro aspecto da presente invenção, é proporcionado um método para decodificar coeficientes de transformação por entropia, o método incluindo extração de informações sobre uma localização de direção do eixo horizontal e uma localização de direção do eixo vertical de um último coeficiente de transformação significativo com um valor diferente de zero, e incluído num bloco de transformação, a partir de um fluxo de bits recebido, de acordo com determinada sequência de varredura; e determinar uma localização do último coeficiente de transformação significativo, por decodificar as informações sobre a localização de direção do eixo horizontal e a localização de direção do eixo vertical.
[00028] De acordo com um aspecto da presente invenção, é proporcionado um aparelho para codificar coeficientes de transformação por entropia, o aparelho incluindo um codificador de entropia para determinar uma localização de um último coeficiente de transformação significativo com um valor diferente de zero, dentre coeficientes de transformação incluídos num bloco de transformação com um determinado tamanho, de acordo com determinada sequência de varredura, e para codificar informações sobre a localização do último coeficiente de transformação significativo, utilizando sua localização de direção do eixo horizontal e sua localização de direção do eixo vertical no bloco de transformação.
[00029] De acordo com outro aspecto da presente invenção, é proporcionado um aparelho para decodificar coeficientes de transformação por entropia, o aparelho incluindo um decodificador de entropia para extrair informações acerca de uma localização de direção do eixo horizontal e uma localização de direção do eixo vertical de um último coeficiente de transformação significativo tendo um valor diferente de zero e incluído num bloco de transformação, a partir de um fluxo de bits recebido, de acordo com determinada sequência de varredura, e para determinar uma localização do último coeficiente de transformação significativo, por decodificar as informações sobre a localização de direção do eixo horizontal e a localização de direção do eixo vertical.
Modo para a Invenção
[00030] Daqui em diante, a presente invenção será descrita em detalhes, por explicar formas de realização do invento com referência aos desenhos anexos.
[00031] A FIG. 1 é um diagrama de blocos de um aparelho codificador de imagens 100, de acordo com uma forma de realização da presente invenção.
[00032] Com referência à FIG. 1, o aparelho codificador de imagens 100 inclui um divisor de unidade de codificação máxima 110, um determinador de profundidade codificada 120, um codificador de dados de imagem 130, e um codificador de informações de codificação 140.
[00033] O divisor da unidade de codificação máxima 110 pode dividir uma moldura atual ou uma fatia atual baseada em uma unidade de codificação máxima, que é uma unidade de codificação de tamanho máximo. A moldura atual ou a fatia atual pode ser dividida em pelo menos uma unidade de codificação máxima.
[00034] De acordo com uma forma de realização da presente invenção, unidades de codificação podem ser representadas por meio de uma unidade de codificação e uma profundidade máxima. Como descrito acima, uma unidade de codificação máxima representa uma unidade de codificação tendo a maior dimensão dentre unidades de codificação da moldura atual, e uma profundidade representa como unidades de codificação são hierarquicamente reduzidas em tamanho. Conforme uma profundidade aumenta, unidades de codificação podem ser reduzidas em tamanho, a partir de uma unidade de codificação máxima para uma unidade de codificação mínima, e uma profundidade da unidade de codificação máxima pode ser definida como uma profundidade mínima, enquanto a profundidade da unidade de codificação mínima pode ser definida como uma profundidade máxima. Uma vez que as unidades de codificação são reduzidas em tamanho, conforme a profundidade aumenta, a partir da unidade de codificação máxima, uma subunidade de codificação com uma profundidade de k pode incluir uma pluralidade de subunidades de codificação com profundidades superiores a k.
[00035] Quando uma moldura a ser codificada tem um grande tamanho, se uma imagem for codificada em uma unidade grande, a imagem pode ser codificada a uma alta taxa de compressão de imagem. No entanto, se o tamanho de uma unidade de codificação for aumentado e fixado, uma imagem não pode ser eficientemente codificada, por refletir suas características constantemente variáveis.
[00036] Por exemplo, quando uma imagem plana, por exemplo, uma imagem do mar ou do céu, é codificada, uma taxa de compressão pode ser melhorada, se uma unidade de codificação for aumentada em tamanho. No entanto, quando uma imagem complexa, por exemplo, uma imagem de pessoas ou edifícios, é codificada, a taxa de compressão é melhorada, se a unidade de codificação for reduzida em tamanho.
[00037] Para isso, de acordo com uma forma de realização da presente invenção, unidades de codificação máximas com diferentes tamanhos e diferentes profundidades máximas são definidas para diferentes molduras ou fatias. Uma vez que uma profundidade máxima indica o número máximo de vezes, que uma unidade de codificação é redutível no tamanho, o tamanho de unidades codificadoras mínimas incluídas numa unidade de codificação máxima pode ser variavelmente ajustado, de acordo com uma profundidade máxima.
[00038] O determinador de profundidade codificada 120 determina uma profundidade máxima. A profundidade máxima pode ser determinada com base nos custos de taxa-distorção (RD). A profundidade máxima pode ser determinada de forma diferente para cada moldura ou fatia, ou para cada unidade de codificação máxima. Informações sobre a profundidade máxima determinada são emitidas para o codificador de informações de codificação 140, e dados de imagem de cada unidade de codificação máxima são transmitidos para o codificador de dados de imagem 130.
[00039] A profundidade máxima refere-se a uma unidade de codificação com o menor tamanho de uma unidade de codificação máxima, ou seja, uma unidade de codificação mínima. Em outras palavras, a unidade de codificação máxima pode ser dividida em subunidades de codificação de diferentes tamanhos, de acordo com diferentes profundidades. Suas descrições detalhadas serão fornecidas a seguir com referência às FIGS. 8A e 8B. Além disso, as subunidades codificadoras de diferentes tamanhos incluídas na unidade de codificação máxima podem ser preditas, ou ortogonalmente transformadas com base em unidades de processamento de diferentes tamanhos. Em outras palavras, o aparelho codificador de imagens 100 pode realizar uma pluralidade de processos para codificação de imagens, com base em unidades de processamento de vários tamanhos e vários formatos. Quando três processos, tais como predição, transformação ortogonal, e codificação de entropia, são realizados para codificar dados de imagem, a unidade de processamento do mesmo tamanho pode ser utilizada em todos os processos, ou unidades de processamento de diferentes tamanhos podem ser utilizadas em diferentes processos.
[00040] Por exemplo, o aparelho codificador de imagens 100 pode selecionar uma diferente unidade de processamento, a partir de uma determinada unidade de codificação, de modo a predizer a unidade de codificação.
[00041] Se uma unidade de codificação tiver um tamanho de 2Nx2N (N é um número inteiro positivo), uma unidade de processamento para predição pode ter um tamanho de 2Nx2N, 2NxN, Nx2N, NxN etc.. Em outras palavras, predição de movimento pode ser realizada com base em uma unidade de processamento com um tamanho obtido por divisão ao meio de pelo menos uma dentre altura e largura de uma unidade de codificação. Daqui em diante, uma unidade de processamento para predição é referida como uma ‘unidade de predição'.
[00042] Um modo de predição pode ser pelo menos um de um modo intra, um modo inter, e um modo de ignorar, e certo modo de predição pode ser realizado apenas em uma unidade de predição de certo tamanho ou formato. Por exemplo, um modo intra pode ser realizado apenas em uma unidade de predição com um tamanho de 2Nx2N ou NxN tendo um formato quadrado. Além disso, um modo de ignorar pode ser realizado apenas em uma unidade de predição com um tamanho de 2Nx2N. Se uma unidade de codificação incluir uma pluralidade de unidades de predição, a predição pode ser executada em cada unidade de predição, e uma unidade de predição tendo um menor erro de codificação pode ser escolhida.
[00043] Além disso, o aparelho codificador de imagens 100 pode transformar ortogonalmente dados de imagem, com base numa unidade de processamento tendo um tamanho diferente do tamanho de uma unidade de codificação. A unidade de codificação pode ser ortogonalmente transformada, com base numa unidade de dados possuindo um tamanho inferior ou igual ao tamanho da unidade de codificação. Daqui em diante, uma unidade de processamento para transformação ortogonal é referida como uma "unidade de transformação".
[00044] O determinador de profundidade codificada 120 pode determinar subunidades de codificação, incluídas na unidade de codificação máxima, usando otimização de taxa-distorção, baseado em um multiplicador de Lagrange. Em outras palavras, um formato de divisão da unidade de codificação máxima em uma pluralidade de subunidades de codificação pode ser determinado. Aqui, a pluralidade de subunidades de codificação tem diferentes tamanhos, de acordo com profundidades. Depois disso, o codificador de dados de imagem 130 gera um fluxo de bits, por codificação da unidade de codificação máxima, com base no formato de divisão determinado pelo determinador de profundidade codificada 120.
[00045] O codificador de informações de codificação 140 codifica informações sobre um modo de codificação da unidade de codificação máxima, a qual é determinada pelo determinador de profundidade codificada 120. O fluxo de bits é gerado, através de informações de codificação sobre o formato de divisão da unidade de codificação máxima, informações sobre a profundidade máxima, e informações sobre modos de codificação de subunidades de codificação, de acordo com profundidades. As informações sobre os modos de codificação das subunidades de codificação podem incluir, por exemplo, informações sobre unidades de predição das subunidades de codificação, informações sobre modos de predição das unidades de predição, e informações sobre unidades de transformação das subunidades de codificação.
[00046] As informações sobre o formato de divisão da unidade de codificação máxima podem ser informações representando se cada unidade de codificação foi dividida. Por exemplo, quando a unidade de codificação máxima for dividida e codificada, informações, representando se a unidade de codificação máxima foi dividida, são codificadas. Além disso, quando subunidades de codificação geradas pela divisão da unidade de codificação máxima são divididas e codificadas, informações, representando se cada subunidade de codificação foi dividida, são codificadas. Informações, representando se uma unidade de codificação foi dividida, podem ser informações de sinalização, representando se a unidade de codificação foi dividida.
[00047] Uma vez que a unidade de codificação máxima inclui subunidades de codificação de diferentes tamanhos, e informações sobre um modo de codificação de cada subunidade de codificação devem ser determinadas, informações acerca de pelo menos um modo de codificação podem ser determinadas em relação a uma unidade de codificação máxima.
[00048] O aparelho codificador de imagens 100 pode gerar subunidades de codificação, através da divisão de uma altura e largura da unidade de codificação máxima, conforme uma profundidade aumenta. Ou seja, se uma unidade de codificação com uma profundidade de k tiver um tamanho de 2Nx2N, uma unidade de codificação com uma profundidade de k+1 tem um tamanho de NxN.
[00049] Assim, a aparelho codificador de imagens 100 pode determinar um formato ideal de divisão de cada unidade de codificação máxima, com base no tamanho da unidade de codificação máxima e uma profundidade máxima, levando em conta as características da imagem. Por ajustar, de modo variável, o tamanho da unidade de codificação máxima, e codificar uma imagem, através da divisão da unidade de codificação máxima em subunidades de codificação com diferentes profundidades, levando em conta as características de imagem, imagens com diferentes resoluções podem ser eficientemente codificadas.
[00050] A FIG. 2 é um diagrama de blocos de um aparelho decodificador de imagens 200, de acordo com uma forma de realização da presente invenção.
[00051] Com referência à FIG. 2, o aparelho decodificador de imagens 200 inclui um obtentor de dados de imagem 210, um extrator de informações de codificação 220, e um decodificador de dados de imagem 230.
[00052] O obtentor de dados de imagem 210 analisa um fluxo de bits recebido pelo aparelho decodificador de imagens 200, e obtém e transmite dados de imagem de cada unidade de codificação máxima para o decodificador de dados de imagem 230. O obtentor de dados de imagem 210 pode extrair informações sobre a unidade de codificação máxima de uma moldura ou fatia atual, a partir de um cabeçalho da moldura ou fatia atual. Em outras palavras, o fluxo de bits é dividido em unidades de codificação máxima, para permitir que o decodificador de dados de imagem 230 decodifique dados de imagem de cada unidade de codificação máxima.
[00053] O extrator de informações de codificação 220 analisa o fluxo de bits recebido pelo aparelho decodificador de imagens 200, e extrai, do cabeçalho das informações de moldura atual sobre uma unidade de codificação máxima, uma profundidade máxima, um formato de divisão da unidade de codificação máxima, e modos de codificação de subunidades de codificação. As informações sobre o formato de divisão e modos de codificação são emitidas para o decodificador de dados de imagem 230.
[00054] As informações sobre o formato de divisão da unidade de codificação máxima podem incluir informações sobre subunidades de codificação incluídas na unidade de codificação máxima e tendo diferentes tamanhos, de acordo com profundidades. Como descrito acima em relação à FIG. 1, as informações sobre o formato de divisão podem ser informações codificadas e representando se cada unidade de codificação foi dividida (por exemplo, informações de sinalização). As informações sobre os modos de codificação podem incluir, por exemplo, informações sobre unidades de predição, informações sobre modos de predição, e informações sobre unidades de transformação de subunidades de codificação.
[00055] O decodificador de dados de imagem 230 restaura a moldura atual, por decodificar dados de imagem de cada unidade de codificação máxima, com base nas informações extraídas pelo extrator de informações de codificação 220.
[00056] O decodificador de dados de imagem 230 pode decodificar subunidades codificadoras incluídas na unidade de codificação máxima, com base nas informações sobre o formato de divisão da unidade de codificação máxima. Um processo para decodificar pode incluir um processo de predição inter, incluindo predição intra e compensação de movimento, e um processo de transformação ortogonal inversa.
[00057] O decodificador de dados de imagem 230 pode realizar predição intra ou predição inter, com base nas informações sobre as unidades de predição e nas informações sobre os modos de predição das subunidades de codificação, a fim de predizer as subunidades de codificação. Além disso, o decodificador de dados de imagem 230 pode realizar transformação ortogonal inversa em cada subunidade de codificação, com base nas informações sobre as unidades de transformação das subunidades de codificação.
[00058] A FIG. 3 é um diagrama, mostrando unidades hierárquicas de codificação, de acordo com uma forma de realização da presente invenção.
[00059] Com referência à FIG. 3, as unidades hierárquicas de codificação podem incluir unidades de codificação com largura x altura de 64 x 64, 32 x 32, 16 x 16, 8 x 8, e 4 x 4. Além das unidades de codificação de formato quadrado, unidades de codificação com largura x altura de 64 x 32, 32 x 64, 32 x 16, 16 x 32, 16 x 8, 8 x 16, 8 x 4 e 4 x 8 podem também existir.
[00060] Na FIG. 3, para dados de imagem 310 com uma resolução de 1920 x 1080, o tamanho de uma unidade de codificação máxima é definido como 64 x 64, e uma profundidade máxima é definida como 2.
[00061] Para outros dados de imagem 320 com uma resolução de 1920 x 1080, o tamanho da unidade de codificação máxima é definido como 64 x 64, e a profundidade máxima é definida como 4. Para dados de imagem 330 com uma resolução de 352 x 288, o tamanho da unidade de codificação máxima é definido como 16 x 16, e a profundidade máxima é definida como 2.
[00062] Se uma resolução for elevada, ou a quantidade de dados for grande, a fim de melhorar uma taxa de compressão e para refletir adequadamente características de imagem, uma dimensão máxima de codificação pode ser relativamente grande. Deste modo, para os dados de imagem 310 e 320 com uma resolução mais elevada do que a resolução dos dados de imagem 330, o tamanho da unidade de codificação máxima pode ser selecionado como 64 x 64.
[00063] A profundidade máxima representa um número total de camadas das unidades hierárquicas de codificação. Uma vez que a profundidade máxima dos dados de imagem 310 é de 2, unidades de codificação 315 dos dados de imagem 310 podem incluir uma unidade de codificação máxima com um longo tamanho de eixo de 64, e subunidades de codificação com longos tamanhos de eixo de 32 e 16, conforme uma profundidade aumenta.
[00064] Ao mesmo tempo, uma vez que a profundidade máxima dos dados de imagem 330 é de 2, unidades de codificação 335 dos dados de imagem 330 podem incluir unidades de codificação máxima com um longo tamanho de eixo de 16, e subunidades de codificação com longos tamanhos de eixo de 8 e 4, conforme uma profundidade aumenta.
[00065] Uma vez que a profundidade máxima dos dados de imagem 320 é 4, unidades de codificação 325 dos dados de imagem 320 podem incluir uma unidade de codificação máxima com um longo tamanho de eixo de 64, e subunidades de codificação com longos tamanhos de eixo de 32, 16, 8, e 4, conforme uma profundidade aumenta. Assim sendo, uma vez que uma imagem é codificada com base em uma pequena subunidade de codificação, conforme uma profundidade aumenta, uma imagem incluindo uma cena detalhada pode ser apropriadamente codificada.
[00066] A FIG. 4 é 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.
[00067] Um preditor intra 410 executa predição intra em unidades de predição de um modo intra em uma moldura atual 405, um estimador de movimento 420 e um compensador de movimento 425, respectivamente, realizam predição inter e compensação de movimento em unidades de predição de um modo inter, usando a moldura atual 405 e uma moldura de referência 495.
[00068] Valores residuais são gerados, com base nas unidades de predição emitidas pelo preditor intra 410, o estimador de movimento 420, e o compensador de movimento 425, e os valores residuais gerados passam através de um transformador ortogonal 430 e um quantizador 440, de modo a serem transmitidos como coeficientes quantizados de transformação.
[00069] Os coeficientes quantizados de transformação passam através de um quantizador inverso 460 e um transformador inverso de frequência 470, de modo a serem restaurados como valores residuais, e os valores residuais restaurados pós- processados por meio de um desbloqueador 480 e um filtro de circuito 490, de modo a serem transmitidos como a moldura de referência 495. Os coeficientes quantizados de transformação podem também passar através de um codificador de entropia 450, de modo a ser transmitidos como um fluxo de bits 455.
[00070] Para codificar uma imagem com base em um método codificador de imagens, de acordo com uma forma de realização da presente invenção, todos os componentes do codificador de imagens 400, ou seja, o preditor intra 410, o estimador de movimento 420, o compensador de movimento 425, o transformador ortogonal 430, o quantizador 440, o codificador de entropia 450, o quantizador inverso 460, o transformador inverso de frequência 470, o desbloqueador 480, e o filtro de circuito fechado 490, executam processos de codificação de imagens com base numa unidade de codificação máxima, subunidades de codificação, de acordo com profundidades, unidades de predição, e unidades de transformação.
[00071] A FIG. 5 é 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.
[00072] Um fluxo de bits 505 passa através de um analisador 510, a fim de ser analisado em dados de imagem codificados a serem decodificados, e informações de codificação requeridas para decodificar os dados de imagem codificados. Os dados de imagem codificados passam através de um decodificador de entropia 520 um quantizador inverso 530, de modo a ser transmitidos como dados inversamente quantizados, e passam através de um transformador inverso de frequência 540, de modo a ser restaurados como valores residuais. Os valores residuais são adicionados a um resultado de predição intra realizada por um preditor intra 550 e um resultado de compensação de movimento realizada por um elemento compensador de movimento 560, de modo a ser restaurados em unidades de codificação. As unidades de codificação restauradas passam através de um desbloqueador 570 e um filtro de circuito 580, de modo a ser utilizadas para decodificar unidades de codificação seguintes, ou para predizer uma moldura seguinte.
[00073] A fim de decodificar uma imagem com base em um método para decodificar uma imagem, de acordo com uma forma de realização da presente invenção, todos os componentes do decodificador de imagens 500, ou seja, o analisador 510, o decodificador de entropia 520, o quantizador inverso 530, o transformador inverso de frequência 540, o preditor intra 550, o compensador de movimento 560, o desbloqueador 570, e o filtro de circuito fechado 580, realizam processos decodificadores de imagem com base em uma unidade de codificação máxima, subunidades de codificação, de acordo com profundidades, unidades de predição, e unidades de transformação.
[00074] Em particular, o preditor intra 550 e o compensador de movimento 560 determinam unidades de predição nas subunidades de codificação, e modos de predição, levando em conta a unidade de codificação máxima e as profundidades, e o transformador inverso de frequência 540 executa transformação ortogonal inversa, levando em conta as dimensões das unidades de transformação.
[00075] A FIG. 6 é um diagrama mostrando unidades de codificação máximas, subunidades de codificação, e unidades de predição, de acordo com uma forma de realização da presente invenção.
[00076] O aparelho codificador de imagens 100 ilustrado na FIG. 1, e o aparelho decodificador de imagem 200 ilustrado na FIG. 2, usam unidades hierárquicas de codificação, de modo a realizar codificação e decodificação, levando em conta as características de imagem. Uma unidade de codificação máxima e uma profundidade máxima podem ser definidas, de forma adaptativa, de acordo com características de imagem, ou podem ser variavelmente ajustadas, de acordo com os pedidos de um utilizador.
[00077] A FIG. 6 ilustra uma estrutura hierárquica 600 de unidades de codificação, em que uma altura e largura de uma unidade de codificação máxima 610 são 64 e 64, e uma profundidade máxima é 4. Uma profundidade aumenta, de acordo com um eixo vertical da estrutura hierárquica 600 das unidades de codificação, e larguras e alturas de subunidades de codificação 620, 630, 640, e 650 são reduzidas, conforme a profundidade aumenta. Além disso, ao longo de um eixo horizontal da estrutura hierárquica 600 das unidades de codificação, unidades de predição da unidade de codificação máxima 610 e das subunidades de codificação 620, 630, 640, e 650 são ilustradas.
[00078] A unidade de codificação máxima 610 tem uma profundidade de 0 e tem um tamanho, isto é, largura x altura, de 64 x 64. A profundidade aumenta ao longo do eixo vertical, e a subunidade de codificação 620 tendo um tamanho de 32 x 32 e uma profundidade de 1, a subunidade de codificação 630 com um tamanho de 16 x 16 e uma profundidade de 2, a subunidade de codificação 640 possuindo um tamanho de 8 x 8 e uma profundidade de 3, e a subunidade de codificação 650 tendo um tamanho de 4 x 4 e uma profundidade de 4, existem. A subunidade de codificação 650, tendo um tamanho de 4 x 4 e uma profundidade de 4, é uma unidade de codificação mínima.
[00079] Com referência à FIG. 6, exemplos de unidades de predição, de acordo com profundidades, são ilustrados ao longo de um eixo horizontal. Isto é, a unidade de codificação máxima 610 tendo uma profundidade de 0 pode incluir uma unidade de predição 610 tendo um tamanho de 64 x 64, uma unidade de predição 612 tendo um tamanho de 64 x 32, uma unidade de predição 614 tendo um tamanho de 32 x 64, uma unidade de predição 616 com um tamanho de 32 x 32, sendo que os tamanhos são iguais ou menores que o tamanho da unidade de codificação 610, ou seja, 64 x 64.
[00080] A unidade de codificação 620, tendo uma profundidade de 1 e um tamanho de 32 x 32, pode incluir uma unidade de predição 620 com um tamanho de 32 x 32, uma unidade de predição 622 com um tamanho de 32 x 16, uma unidade de predição 624 com um tamanho de 16 x 32, uma unidade de predição 626 com um tamanho de 16 x 16, sendo que os tamanhos são iguais ou menores que o tamanho da unidade de codificação 620, ou seja, 32 x 32.
[00081] A unidade de codificação 630, tendo uma profundidade de 2 e um tamanho de 16 x 16, pode incluir uma unidade de predição 630 com um tamanho de 16 x 16, uma unidade de predição 632 com um tamanho de 16 x 8, uma unidade de predição 634 com um tamanho de 8 x 16, uma unidade de predição 636 com um tamanho de 8 x 8, sendo que os tamanhos são iguais ou menores que o tamanho da unidade de codificação 630, ou seja, 16 x 16.
[00082] A unidade de codificação 640, tendo uma profundidade de 3 e um tamanho de 8 x 8, pode incluir uma unidade de predição 640 com um tamanho de 8 x 8, uma unidade de predição 642 com um tamanho de 8 x 4, uma unidade de predição 644 com um tamanho de 4 x 8, uma unidade de predição 646 tendo um tamanho de 4 x 4, sendo que os tamanhos são iguais ou menores que o tamanho da unidade de codificação 640, ou seja, de 8 x 8.
[00083] Por fim, a unidade de codificação 650, tendo uma profundidade de 4 e um tamanho de 4 x 4, tem uma profundidade máxima e inclui uma unidade de predição 650 tendo um tamanho de 4 x 4. No entanto, a unidade de codificação 650, tendo a profundidade máxima, não precisa necessariamente incluir uma unidade de predição com um tamanho igual ao tamanho da unidade de codificação, e pode ser, tal como as outras unidades de codificação 610, 620, 630, e 640, dividida para predição em unidades de predição com um tamanho menor que o tamanho da unidade de codificação.
[00084] A FIG. 7 é um diagrama, mostrando uma unidade de codificação e uma unidade de transformação, de acordo com uma forma de realização da presente invenção.
[00085] O aparelho codificador de imagens 100 ilustrado na FIG. 1 e o aparelho decodificador de imagens 200 ilustrado na FIG. 2 codificam uma unidade de codificação máxima ou subunidades de codificação divididas a partir do, e tendo tamanhos inferiores ao, tamanho da unidade de codificação máxima. O tamanho de uma unidade de transformação para realizar transformação ortogonal em um processo de codificação pode ser selecionado para atingir a taxa de compressão mais elevada, independentemente de uma unidade de codificação e uma unidade de predição. Por exemplo, se uma unidade atual de codificação 710 tiver um tamanho de 64 x 64, transformação ortogonal pode ser realizada, utilizando uma unidade de transformação 720 tendo um tamanho de 32 x 32. Além disso, uma unidade de transformação com um tamanho maior que o tamanho de uma unidade de codificação, pode ser ajustada.
[00086] As FIGS. 8A e 8B são diagramas, mostrando formatos de divisão de unidades de codificação, unidades de predição, e unidades de transformação, de acordo com uma forma de realização da presente invenção.
[00087] A FIG. 8A mostra unidades de codificação e unidades de predição, de acordo com uma forma de realização da presente invenção.
[00088] Um lado esquerdo da FIG. 8A mostra um formato de divisão selecionado pelo aparelho codificador de imagens ilustrado na fig. 1, de modo a codificar uma unidade de codificação máxima 810. O aparelho codificador de imagens 100 divide e codifica a unidade de codificação máxima 810 em vários formatos, compara os formatos codificados divididos com base nos custos de R-D, e seleciona um formato ideal de divisão. Se o formato de divisão ideal corresponder à unidade de codificação máxima 810, a unidade de codificação máxima 810 pode ser diretamente codificada, sem dividi-la, como ilustrado na FIG. 8A.
[00089] Com referência ao lado esquerdo da FIG. 8A, a unidade de codificação máxima 810 tendo uma profundidade de 0 é dividida e codificada em subunidades de codificação tendo profundidades iguais ou maiores que 1. A unidade de codificação máxima 810 é dividida em quatro subunidades de codificação com uma profundidade de 1 e, em seguida, todas ou algumas das subunidades codificadores tendo uma profundidade de 1 são divididas em subunidades de codificação com uma profundidade de 2.
[00090] Dentre as subunidades de codificação tendo uma profundidade de 1, a subunidade de codificação superior direita e a subunidade de codificação inferior esquerda são divididas em subunidades de codificação tendo profundidades iguais ou maiores que 2. Algumas das subunidades codificadores com profundidades iguais ou superiores a 2 podem ser divididas em subunidades de codificação tendo profundidades iguais ou maiores que 3.
[00091] Um lado direito da FIG. 8A mostra uma formato de divisão de uma unidade de predição 860, com relação à unidade de codificação máxima 810.
[00092] Com referência ao lado direito da FIG. 8A, a unidade de predição 860 com relação à unidade de codificação máxima 810 pode ser dividida de forma diferente, a partir da unidade de codificação máxima 810. Em outras palavras, uma unidade de predição, a respeito de cada subunidade de codificação, pode ser menor do que a subunidade de codificação.
[00093] Por exemplo, dentre subunidades de codificação com uma profundidade de 1, uma unidade de predição referente à parte inferior direita da subunidade de codificação 854 pode ser menor do que a subunidade de codificação 854. Dentre subunidades de codificação 814, 816, 818, 828, 850, e 852 com uma profundidade de 2, unidades de predição em relação a algumas subunidades de codificação 815, 816, 850, e 852 podem ser menores do que as subunidades de codificação 815, 816, 850, e 852. Além disso, unidades de predição relativas à subunidade de codificação 822, 832, e 848 com uma profundidade de 3 podem ser menores do que a subunidade de codificação 822, 832, e 848. Uma unidade de predição pode ter um formato obtido pela divisão de cada subunidade de codificação em duas, numa direção de sua altura ou largura, ou um formato obtido pela divisão de cada subunidade de codificação em quatro, numa direção de sua altura e largura.
[00094] A FIG. 8B mostra unidades de predição e unidades de transformação, de acordo com uma forma de realização da presente invenção.
[00095] Um lado esquerdo da FIG. 8B mostra um formato de divisão da unidade de predição 860, em relação à unidade de transformação máxima 810 ilustrada no lado esquerdo da FIG. 8A, e um lado direito da FIG. 8B mostra um formato de divisão de uma unidade de transformação 870 em relação à unidade de transformação máxima 810.
[00096] Com referência ao lado direito da FIG. 8B, a unidade de transformação 870 pode ser dividida de forma diferente, a partir da unidade de predição 860.
[00097] Por exemplo, embora uma unidade de predição referente à unidade de codificação 854 tendo uma profundidade de 1 seja selecionada como um formato obtido, dividindo-se uma altura da unidade de codificação 854 ao meio, uma unidade de transformação em relação à unidade de codificação 854 pode ser selecionada como um tamanho igual ao tamanho da unidade de codificação 854. Do mesmo modo, embora unidades de predição em relação às unidades de codificação 814 e 850 com uma profundidade de 2 sejam selecionadas como formatos obtidos por divisão de alturas das unidades de codificação 814 e 850 ao meio, unidades de transformação em relação às unidades de codificação 814 e 850 podem ser selecionadas como tamanhos iguais aos tamanhos das unidades de codificação 814 e 850.
[00098] Uma unidade de transformação pode ser selecionada como um tamanho menor que o tamanho de uma unidade de predição. Por exemplo, se uma unidade de predição referente à unidade de codificação 852 tendo uma profundidade de 2 for selecionada como um formato obtido, dividindo-se uma largura da unidade de codificação 852 pela metade, uma unidade de transformação pode ser selecionada como um formato com um tamanho menor que o tamanho da unidade de predição, e obtido, dividindo-se a altura e largura da unidade de codificação 852 pela metade. A menor unidade de transformação com um tamanho de 2 x 2 pode ser também ajustada. Uma unidade de transformação pode ser também definida independentemente de um tamanho de uma unidade de codificação, por exemplo, um tamanho maior do que o tamanho da unidade de codificação.
[00099] Processos de codificação e decodificação por entropia executados pelo codificador de entropia 450 do aparelho codificador de imagens 400 ilustrado na FIG. 4, e o decodificador de entropia 520 do aparelho decodificador de imagens 500 ilustrado na FIG. 5, serão agora descritos em detalhes.
[000100] Como acima descrito em relação às FIGS. 4 e 5, o aparelho codificador de imagens 400 e o aparelho decodificador de imagens 500 codificam uma unidade de codificação máxima ou subunidades de codificação dividas e tendo tamanhos menores que o tamanho da unidade de codificação máxima. O tamanho de uma unidade de transformação para realizar transformação ortogonal em um processo de codificação pode ser selecionado para atingir a taxa de compressão mais elevada, independentemente de uma unidade de codificação e de uma unidade de predição. Por exemplo, se uma unidade atual de codificação tiver um tamanho de 64 x 64, transformação ortogonal pode ser realizada, utilizando uma unidade de transformação com um tamanho de 32 x 32. Além disso, uma unidade de transformação com um tamanho maior que o tamanho de uma unidade de codificação pode ser ajustada. Num processo convencional de codificação, por exemplo, H.264, dados residuais transformados e quantizados com base numa unidade de transformação com um tamanho relativamente pequeno, por exemplo, 4 x 4, são codificados por entropia. No entanto, de acordo com uma forma de realização da presente invenção, uma vez que uma unidade de transformação a ser codificada por entropia (daqui em diante referido como um ‘bloco de transformação') pode ter um tamanho relativamente grande, de 16 x 16, 32 x 32, 64 x 64, ou 128 x 128, bem como 4 x 4 ou de 8 x 8 e, assim, um comprimento de uma corrida, que representa o número de coeficientes contínuos com um valor 0 entre coeficientes de transformação significativos tendo valores diferentes de zero, pode ser aumentado, um grande valor de corrida necessita ser apropriadamente codificado. Além disso, de acordo com a tecnologia convencional, a fim de codificar informações de coeficientes incluídos num bloco de transformação, last_significant_coeff_flag, que é um elemento de sintaxe representando se cada coeficiente de transformação significativo é um último coeficiente de transformação significativo, é codificado por entropia juntamente com um mapa de significância representando localizações de coeficientes de transformação significativos tendo valores diferentes de zero. No entanto, se um bloco de transformação for codificado por entropia em conjunto com o mapa de significância e last_significant_coeff_flag, deve ser determinado se cada coeficiente de transformação significativo é um último coeficiente de transformação significativo em um processo decodificador de entropia. Assim, de acordo com a tecnologia convencional, dados representando todos os coeficientes de transformação significativos não podem ser fácil e diretamente identificados a partir de um fluxo de bits recebido. Portanto, de acordo com formas de realização da presente invenção, um método para codificar e decodificar informações de modo eficiente por entropia acerca de uma localização de um último coeficiente de transformação significativo em um bloco de transformação com um grande tamanho, é fornecido.
[000101] A FIG. 9 é um fluxograma de um método para codificar coeficientes de transformação por entropia, de acordo com uma forma de realização da presente invenção.
[000102] Com referência à FIG. 9, na operação 910, o codificador de entropia 450 determina uma localização de um último coeficiente de transformação significativo dentre coeficientes de transformação significativos com valores diferentes de zero, e incluído num bloco de transformação com um determinado tamanho, de acordo com uma determinada sequência de varredura. Em mais detalhes, se um bloco de transformação, incluindo coeficientes de transformação obtidos através da realização de processos de transformação e quantização, forem transmitidos, o codificador de entropia 450 determina coeficientes de transformação significativos incluídos num bloco de transformação, de acordo com certa sequência de varredura, por exemplo, uma sequência de varredura em ziguezague, e determina uma localização de um último coeficiente de transformação significativo, que é digitalizado por último.
[000103] Na operação 920, o codificador de entropia 450 codifica informações sobre a localização do último coeficiente de transformação significativo, utilizando sua localização de direção do eixo horizontal e sua localização de direção do eixo vertical no bloco de transformação. Se o último coeficiente de transformação significativo estiver localizado numa x-ésima localização (x é um número inteiro igual ou superior a 0), numa direção do eixo horizontal, e numa y-ésima localização (y é um número inteiro igual ou superior a 0), numa direção do eixo vertical, a partir de uma localização superior esquerda do bloco de transformação, o codificador de entropia 450 codifica os valores de x e y, representando a localização do último coeficiente de transformação significativo. De acordo com uma tecnologia convencional, last_significant_coeff_flag, representando se cada coeficiente de transformação significativo é um último coeficiente de transformação significativo, é codificado. No entanto, de acordo com uma forma de realização da presente invenção, apenas informações sobre coordenadas, que representam uma localização de um último coeficiente de transformação significativo em um bloco de transformação, são codificadas. As informações sobre a localização do último coeficiente de transformação significativo podem ser codificadas por meio de um método de codificação aritmética binária adaptada ao contexto (CABAC), ou um método de codificação de comprimento variável (VLC). Um método para codificar informações sobre a localização do último coeficiente de transformação significativo, usando CABAC ou VLC, será descrito abaixo.
[000104] Depois das informações sobre a localização do último coeficiente de transformação significativo serem codificadas, o codificador de entropia 450 codifica informações sobre nível de cada coeficiente de transformação significativo localizado no bloco de transformação. Com respeito às informações sobre nível, o codificador de entropia 450 codifica um valor de sinal e um valor absoluto de cada coeficiente de transformação significativo.
[000105] A FIG. 10 é um diagrama de referência, para descrever um processo para codificar coeficientes de transformação por entropia, de acordo com formas de realização da presente invenção.
[000106] Com referência à FIG. 10, o codificador de entropia 450 digitaliza coeficientes de transformação em um bloco de transformação 1000, de acordo com uma sequência de varredura em ziguezague. Assume-se que todos os espaços vazios na FIG. 10 representem coeficientes de transformação com um valor '0'. Na FIG. 10, um último coeficiente de transformação significativo é um coeficiente de transformação 1010 com um valor '-1'. Como ilustrado na FIG. 10, o último coeficiente de transformação significativo 1010 com um valor de '-1' está localizado numa 5a localização, numa direção do eixo horizontal, e numa 5a localização, numa direção do eixo vertical, a partir de um coeficiente de transformação superior esquerdo. Por conseguinte, o codificador de entropia 450 codifica valores de x = 5 e y = 5, como informações sobre uma localização das informações sobre último coeficiente de transformação significativo 1010.
[000107] A FIG. 11 é um diagrama de blocos de um aparelho codificador de entropia 1100, de acordo com uma forma de realização da presente invenção.
[000108] Com referência à FIG. 11, o aparelho codificador de entropia 1100 inclui um comutador 1110, um codificador aritmético binário adaptado ao contexto (CABAC) 1120, e um codificador de comprimento variável (VLC) 1130.
[000109] Como acima descrito em relação à FIG. 9, se uma localização de um último coeficiente de transformação significativo for determinada, informações sobre a localização do último coeficiente de transformação significativo são codificadas, usando CABAC ou VLC. O comutador 1110 controla informações sobre a localização do último coeficiente de transformação significativo, que são codificadas em unidades de uma fatia, um quadro, e um grupo de quadros, para serem transmitidas para o CABAC 1120 ou o VLC 1130. A opção de se codificar as informações utilizando CABAC ou VLC também pode ser determinada, através da comparação dos custos R-D obtidos, usando CABAC e VLC.
[000110] Um método para codificar as informações sobre a localização do último coeficiente de transformação significativo usando CABAC será agora descrito.
[000111] A FIG. 12 é um diagrama de blocos de um dispositivo CABAC 1200, de acordo com uma forma de realização da presente invenção.
[000112] Com referência à FIG. 12, o dispositivo CABAC 1200 inclui principalmente um binarizador 1210, um modelador de contexto 1220, e um codificador aritmético binário 1230. Além disso, o codificador aritmético binário 1230 inclui um mecanismo de codificação normal 1232 e um mecanismo de codificação de desvio 1234.
[000113] O binarizador 1210 transforma uma localização x de direção do eixo horizontal e uma localização y de direção do eixo vertical y em um bloco de transformação, que representa uma localização de um último coeficiente de transformação significativo, em valores binários e transmite cadeias binárias. Um binário representa cada bit da cadeia binária. Um método para binarizar informações sobre a localização do último coeficiente de transformação significativo inclui diversos métodos de binarização, tais como binarização unária, binarização unária truncada, binarização Golomb exponencial de k-ésima sequência/ unária concatenada, e binarização de comprimento fixo. Por exemplo, na FIG. 10, se a localização do último coeficiente de transformação significativo for representada como X = 5 e Y = 5, os valores de X e Y podem ser binarizados em X = 000001 e Y = 000001, utilizando binarização unária truncada.
[000114] As informações sobre a localização do último coeficiente de transformação significativo, que são mapeadas para os valores binários pelo binarizador 1210, são inseridas no modelador de contexto 1220. O modelador de contexto 1220 determina um modelo de probabilidade exigido para codificar os binários atualmente transmitidos, isto é, um contexto, com base nos valores de binários inseridos ou um elemento de sintaxe previamente codificado. Em particular, de acordo com uma forma de realização da presente invenção, um dos contextos previamente determinados pode ser selecionado, de acordo com a localização do último coeficiente de transformação significativo.
[000115] O mecanismo de codificação normal 1232 gera um fluxo de bits, por codificação aritmética dos valores de binários inseridos, com base no modelo de probabilidade determinado pelo modelador de contexto 1220.
[000116] O mecanismo de codificação de desvio 1234 é um mecanismo para transmitir um valor de entrada sem compactá-lo, e codifica dados, tais como dados de Pulse Code Modulation (PCM) (Modulação por Código de Pulsos).
[000117] A FIG. 13 é um diagrama de referência para descrever um processo de seleção de um contexto para codificar informações sobre uma localização de um último coeficiente de transformação significativo, de acordo com uma forma de realização da presente invenção.
[000118] O modelador de contexto 1220 seleciona um de uma pluralidade de contextos previamente preparados, de acordo com a localização do último coeficiente de transformação significativo. A pluralidade de contextos classifica '0' e '1' de um sinal binário em um símbolo mais provável (MPS) e um símbolo menos provável (LPS), de acordo com a localização do último coeficiente de transformação significativo, e define valores de probabilidade do MPS e do LPS. Qual símbolo de '0' e '1' é definido como um MPS ou um LPS, e como definir valores de probabilidade do MPS e do LPS, podem ser concebidos, de acordo com a necessidade. A FIG. 13 mostra contextos selecionados, de acordo com a localização do último coeficiente de transformação significativo, exceto para uma localização superior esquerda correspondente a uma DC, quando coeficientes de transformação em um bloco de transformação são digitalizados de acordo com uma sequência de varredura em ziguezague. Com referência à FIG. 13, o modelador de contexto 1220 inclui três contextos, possuindo índices 0, 1, e 2, em relação a um bloco de transformação 4 x 4, e seleciona um dos três contextos possuindo índices 0, 1 e 2, de acordo com a localização do último coeficiente de transformação significativo entre locais no bloco de transformação 4 x 4, exceto para uma localização superior esquerda. Isto é, o contexto tendo um índice 0 é selecionado, se o último coeficiente de transformação significativo estiver localizado em (1,0) no bloco de transformação 4 x 4, o contexto tendo um índice 1 é selecionado, se o último coeficiente de transformação significativo estiver localizado em (0,1), e o contexto com um índice 2 é selecionado, se o último coeficiente de transformação significativo estiver localizado em (1,1). Da mesma forma, o modelador de contexto 1220 inclui sete contextos possuindo índices 0 a 6 em relação a um bloco de transformação 8 x 8, e seleciona um dos sete contextos, que possuem índices de 0 a 6, de acordo com a localização do último coeficiente de transformação significativo dentre localizações no bloco de transformação 8 x 8, exceto para uma localização superior esquerda. Da mesma forma, o modelador de contexto 1220 inclui 12 contextos, que possuem índices de 0 a 11, no que diz respeito a um bloco de transformação 16 x 16, e seleciona um dos doze contextos possuindo índices de 0 a 11, de acordo com a localização do último coeficiente de transformação significativo dentre localizações no bloco de transformação 16 x 16, exceto para uma localização superior esquerda.
[000119] O mecanismo de codificação normal 1232 gera um fluxo de bits por codificação aritmética dos valores binários inseridos, que representam a localização do último coeficiente de transformação significativo, com base no contexto determinado pelo modelador de contexto 1220. Por exemplo, assume-se que uma localização de direção do eixo horizontal do último coeficiente de transformação significativo, isto é, X, tenha um valor de 3, e que o binarizador 1210 gere uma cadeia binária '010' por binarização do valor 3. Assume-se também que, com base no contexto selecionado pelo modelador de contexto 1220, de acordo com a localização do último coeficiente de transformação significativo, um MPS seja '0' com um valor de probabilidade de 0,8, e um LPS seja '1' com um valor de probabilidade 0,2. O mecanismo de codificação normal 1232 atualiza um período [0, 1] em um período [0, 0,8], dividindo-o, de acordo com o valor de probabilidade de "0", que é um binário inicial para a formação da cadeia binária '010', e atualiza o período [0, 0,8] em um novo período [0,64, 0,8], de acordo com o valor de probabilidade de '1', que é um próximo binário. Além disso, o mecanismo de codificação normal 1232 atualiza o período [0,64, 0,8] em um novo período [0,64, 0,768], de acordo com o valor da probabilidade de "0", que é um último binário. O mecanismo de codificação normal 1232 transmite '11' obtido, mediante a exclusão de um dígito inicial de ‘0,11’, que é um número binário de um número real 0,75 incluído no período [0,64, 0,768], como uma palavra de código correspondente ao valor 3, que representa a localização de direção do eixo horizontal do último coeficiente de transformação significativo. Da mesma forma, o mecanismo de codificação normal 1232 binariza um valor de coordenada Y, representando uma localização de direção do eixo vertical do último coeficiente de transformação significativo, e gera um fluxo de bits por codificação do valor de coordenada Y binarizado, de acordo com o contexto selecionado.
[000120] Além das informações acima descritas sobre a localização do último coeficiente de transformação significativo, a CABAC 1120 ilustrada na FIG. 11 codifica coded_block_flag, representando se um coeficiente de transformação significativo com um valor diferente de zero existe em um bloco de transformação, e significant_coeff_flag representando uma localização de cada coeficiente de transformação significativo no bloco de transformação. Um processo de codificação de coded_block_flag e significant_coeff_flag pode ser o mesmo que o processo de codificação H.264 convencional. Por exemplo, com referência à FIG. 14 mostrando um mapa de significância 1400 correspondente à FIG. 10, o mapa de significância 1400 pode ser representado pela configuração significant_coeff_flag [i] como 1, se um coeficiente de transformação com uma i-ésima sequência de varredura for um coeficiente de transformação significativo, e a configuração significant_coeff_flag [i], como 0, se o coeficiente de transformação com uma i-ésima sequência de varredura for 0. O mapa de significância 1400 pode ser codificado, utilizando 15 modelos de probabilidade, como no H.264.
[000121] Depois das informações sobre a localização do último coeficiente de transformação significativo serem codificadas, o codificador de entropia 450 codifica informações sobre nível de cada coeficiente de transformação significativo localizado no bloco de transformação.
[000122] A FIG. 15 é um diagrama de referência para descrever um processo para codificar valores de nível de coeficientes de transformação significativos incluídos no bloco de transformação 1000 ilustrado na FIG. 10.
[000123] Fazendo referência às Figs. 10 e 15, o codificador de entropia 450 digitaliza os coeficientes de transformação ilustrados na FIG. 10, a partir do coeficiente de transformação superior esquerdo até o último coeficiente de transformação significativo, de acordo com uma sequência de varredura em ziguezague, e obtém coeficientes de transformação unidimensionalmente alinhados, como ilustrado na FIG. 15.
[000124] O codificador de entropia 450 codifica os coeficientes de transformação unidimensionalmente alinhados por meio de uma corrida representando o número de coeficientes contínuos tendo um valor 0 entre coeficientes de transformação significativos, e um nível representando um valor de cada coeficiente de transformação significativo, como no H.264 convencional. Em mais detalhes, o codificador de entropia 450 determina a corrida e o nível em uma sequência oposta à sequência de varredura, isto é, numa direção a partir de um lado direito para um lado esquerdo da fig. 15, e codifica a corrida e o nível usando certa tabela VLC.
[000125] A FIG. 16 é diagrama, mostrando um exemplo de uma pluralidade de tabelas VLC, VLC0 a VLC8, utilizadas de acordo com uma forma de realização da presente invenção. O codificador de entropia 450 pode selecionar uma das tabelas VLC, VLC0 a VLC8, de acordo com a localização do último coeficiente de transformação significativo, e pode codificar a corrida e o nível, utilizando a tabela VLC selecionada. Por exemplo, como ilustrado na FIG. 15, VLC é realizada nas corridas 1530, 1540, 1550 e 1560 representando os números dos coeficientes de transformação contínuos tendo um valor 0 entre coeficientes de transformação significativos de um último coeficiente de transformação significativo 1510 tendo um valor '-1', utilizando a tabela VLC.
[000126] Uma vez que um bloco de transformação, de acordo com uma forma de realização da presente invenção, pode ter um grande tamanho igual ou maior que 16 x 16, um valor de corrida pode ser aumentado. Por exemplo, se uma tabela VLC abranger valores de corrida somente de 0 a 63, e um valor de corrida for maior que 63, o valor não pode ser codificado utilizando a tabela VLC. Por conseguinte, de acordo com uma forma de realização da presente invenção, levando em conta um valor máximo de corrida disponível por uma tabela VLC, se um bloco de transformação tiver um valor de corrida maior que o valor máximo de corrida, o codificador de entropia 450 codifica valores de corrida iguais ou inferiores ao valor máximo de corrida e, em seguida, codifica os outros valores de corrida. Por exemplo, se o valor máximo de corrida for 63 e um valor de corrida a ser codificado for 70, o valor de corrida 70 é dividido em valores de corrida 63 e 7, e os valores de corrida 63 e 7 são codificados separadamente como informações de corrida.
[000127] De acordo com outra forma de realização do presente invento, a localização (x, y) do último coeficiente de transformação significativo também pode ser codificada por meio do uso de VLC diferente do CABAC acima descrito. Isto é, o codificador de entropia 450 pode executar VLC nos valores x e y, com referência a uma tabela VLC previamente preparada, de acordo com os valores x e y.
[000128] A FIG. 17 é um diagrama de referência para descrever um método para codificar coeficientes de transformação por entropia, de acordo com outra forma de realização da presente invenção.
[000129] De acordo com a forma de realização atual, o codificador de entropia 450 divide um bloco de transformação em sub-blocos possuindo determinado tamanho, e codifica informações sobre uma localização de um último coeficiente de transformação significativo num sub-bloco incluindo o último coeficiente de transformação significativo, em conjunto com um índice do sub-bloco. Na FIG. 17 é assumido que (Sa, b) represente um coeficiente de transformação num sub-bloco a e tendo um b-ésimo índice de varredura. Com referência à FIG. 17, se for assumido que o último coeficiente de transformação significativo é (S1, 12) num sub-bloco 1 1771, o codificador de entropia 450 codifica (2,2), que representa a localização do último coeficiente de transformação significativo (S1, 12) no sub-bloco 1 1771, como as informações sobre a localização do último coeficiente de transformação significativo no sub-bloco, juntamente com certo índice representando o sub-bloco 1 1771.
[000130] Com referência de novo à FIG. 10, de acordo com outra forma de realização da presente invenção, coeficientes de transformação são codificados, usando as informações do último coeficiente de transformação significativo 1010 no bloco de transformação 1000 (doravante referido como um "primeiro último coeficiente de transformação significativo”) e um coeficiente de transformação significativo 1020 anterior ao primeiro último coeficiente de transformação significativo 1010 (adiante designado como um "segundo último coeficiente de transformação significativo”). Em mais detalhes, o codificador de entropia 450 codifica (3,4), representando a localização do segundo último coeficiente de transformação significativo 1020, tal como acima descrito. Em seguida, o codificador de entropia 450 codifica um valor de corrida entre os primeiro e segundo últimos coeficientes de transformação significativos 1010 e 1020. Como acima descrito, se a localização do segundo último coeficiente de transformação significativo 1020 for conhecida, a localização do primeiro último coeficiente de transformação significativo 1010 pode ser obtida, adicionando o valor de corrida entre os primeiro e segundo últimos coeficientes de transformação significativos 1010 e 1020 para a localização do segundo último coeficiente de transformação significativo 1020.
[000131] As FIGS. 18A e 18B são diagramas de referência para descrever um método para codificar coeficientes de transformação por entropia, de acordo com outra forma de realização da presente invenção.
[000132] O codificador de entropia 450 pode selecionar uma direção de varredura correspondente a uma de uma sequência de varredura em ziguezague e uma sequência de varredura em ziguezague inversa, de acordo com a sequência, em que um último coeficiente de transformação significativo foi digitalizado em primeiro lugar, isto é, de acordo com se o último coeficiente de transformação significativo está perto de uma localização superior esquerda ou localização inferior direita de um bloco de transformação, e pode codificar informações sobre uma localização do último coeficiente de transformação significativo em conjunto com um índice representando a direção de varredura selecionada. Por exemplo, como ilustrado na FIG. 18A, se o número de referência 1812 indicar uma localização central, um último coeficiente de transformação significativo 1811 está localizado mais perto da localização superior esquerda. Neste caso, o codificador de entropia 450 pode codificar informações sobre uma localização do último coeficiente de transformação significativo 1811 em conjunto com um índice (um índice de varredura para a frente), que representa uma direção de varredura a partir da localização superior esquerda. Além disso, tal como ilustrado na FIG. 18B, se o número de referência 1822 indicar uma localização central e um último coeficiente de transformação significativo 1821 estiver localizado mais perto da localização inferior direita, o codificador de entropia 450 pode codificar informações sobre uma localização do último coeficiente de transformação significativo 1821, juntamente com um índice (um índice de varredura para trás), representando uma direção de varredura a partir da localização inferior direita.
[000133] De acordo com outra forma de realização da presente invenção, a fim de codificar um valor de corrida, certa corrida global pode ser definida, e o valor de corrida pode ser representado, usando um quociente e um resto obtido, quando o valor de corrida é dividido pela corrida global (refinamento de corrida). Por exemplo, assume-se que o valor de corrida seja 78 e a corrida global tenha um valor de 16. Neste caso, quando 78 é dividido por 16, um quociente é 4 e o resto é 14. Consequentemente, o valor de corrida 78 pode ser representado, usando 16, que é o valor da corrida global, 4, que é o valor do quociente, e 14, que é o valor do resto. O codificador de entropia 450 pode codificar informações sobre a corrida global, o quociente e o resto, usando VLC ou CABAC. Se um codificador e um decodificador definirem previamente a mesma corrida global, informações sobre a corrida global não podem ser adicionalmente codificadas.
[000134] Além disso, de acordo com outra forma de realização da presente invenção, o codificador de entropia 450 pode codificar informações sobre uma localização de um último coeficiente de transformação significativo, através da aplicação de diferentes tabelas VLC, de acordo com o tamanho de um bloco de transformação, incluindo o último coeficiente de transformação significativo.
[000135] A FIG. 19 é um fluxograma de um método para decodificar coeficientes de transformação por entropia, de acordo com uma forma de realização da presente invenção.
[000136] Com referência à FIG. 19, na operação 1910, o decodificador de entropia 520 extrai informações sobre uma localização de direção do eixo horizontal e uma localização de direção do eixo vertical de um último coeficiente de transformação significativo com um valor diferente de zero e incluído num bloco de transformação, a partir de um fluxo de bits recebido, de acordo com certa sequência de varredura. Como acima descrito em relação à FIG. 9, se o último coeficiente de transformação significativo estiver localizado numa x-ésima localização (x é um número inteiro igual ou superior a 0), numa direção do eixo horizontal, e numa y-ésima localização (y é um número inteiro igual ou maior que 0), numa direção do eixo vertical, a partir de uma localização superior esquerda do bloco de transformação, informações sobre uma localização do último coeficiente de transformação significativo incluem os valores x e y.
[000137] Na operação 1920, o decodificador de entropia 520 determina uma localização do último coeficiente de transformação significativo, por decodificação das informações sobre a localização de direção do eixo horizontal e a localização de direção do eixo vertical. O decodificador de entropia 520 decodifica as informações sobre a localização do último coeficiente de transformação significativo, usando decodificação aritmética binária adaptada ao contexto (CABAD), ou decodificação de comprimento variável (VLD), como um processo inverso ao processo de codificação realizado pelo codificador de entropia 450, e determina a localização do último coeficiente de transformação significativo. Em mais detalhes, o decodificador de entropia 520 pode executar VLD sobre a localização de direção do eixo horizontal e a localização de direção do eixo vertical do último coeficiente de transformação significativo, com referência a certa tabela de consulta de VLC. Além disso, o decodificador de entropia 520 pode selecionar um de uma pluralidade de contextos, de acordo com a localização do último coeficiente de transformação significativo, e pode executar CABAD acerca das informações sobre a localização do último coeficiente de transformação significativo, de acordo com o contexto selecionado.
[000138] Na operação 1930, o decodificador de entropia 520 decodifica informações sobre corrida e nível incluídas no fluxo de bits, usando a localização do último coeficiente de transformação significativo. Se um comprimento de uma corrida for maior que determinado valor limite, o decodificador de entropia 520 decodifica informações sobre corrida de um comprimento para o valor limite e, em seguida, decodifica informações sobre corrida de um comprimento maior que o valor limite. Como descrito acima em relação à FIG. 16, se o valor limite for ajustado para codificar valores de corrida até 63, um valor de corrida 70 é dividido em valores de corrida 63 e 7 e, em seguida, os valores de corrida 63 e 7 são codificados separadamente. Assim, o decodificador de entropia 520 pode decodificar o valor de corrida 70, por decodificação separada e, a seguir, combinar os valores de corrida 63 e 7.
[000139] A FIG. 20 é um diagrama de blocos de um aparelho decodificador de entropia 2000, de acordo com uma realização da presente invenção.
[000140] Com referência à FIG. 20, o aparelho decodificador de entropia 2000 inclui um comutador 2010, um CABAD 2020, e um VLD 2030.
[000141] O comutador 2010 transmite informações sobre coeficientes de transformação codificados a um dentre o CABAD 2020 e o VLD 2030, usando informações sobre modo de codificação dos coeficientes de transformação, que é definido em unidades de uma fatia, um quadro, e um grupo de quadros.
[000142] O VLD 2030 pode executar VLD em uma localização de direção do eixo horizontal e uma localização de direção do eixo vertical de um último coeficiente de transformação significativo com referência a certa tabela de consulta de VLC. Além disso, o CABAD 2020 pode selecionar um de uma pluralidade de contextos, de acordo com a localização do último coeficiente de transformação significativo, e pode executar CABAD acerca das informações sobre a localização do último coeficiente de transformação significativo, de acordo com o contexto selecionado.
[000143] A presente invenção pode ser também implementada como código legível por computador numa mídia de gravação legível por computador. A mídia de gravação legível por computador é qualquer dispositivo de armazenagem de dados, que pode armazenar dados, que podem ser posteriormente lidos por um sistema de computador. Exemplos da mídia de gravação legível por computador incluem memória só de leitura (ROM), memória de acesso aleatório (RAM), CD-ROMs, fitas magnéticas, disquetes, dispositivos ópticos de armazenamento de dados etc.. A mídia de gravação legível por computador pode ser também distribuída ao longo de sistemas de computador ligados em rede, para que o código legível por computador seja armazenado e executado de forma distribuída.
[000144] Embora a presente invenção tenha sido particularmente mostrada e descrita com referência a suas formas de realização exemplificativas, deverá ser entendido por um perito na arte, que várias alterações, na forma e nos detalhes, podem ser feitas, sem se afastar do espírito e âmbito da presente invenção, como definidos pelas reivindicações que se seguem. Por conseguinte, o âmbito do invento não é definido pela descrição detalhada da invenção, mas pelas reivindicações seguintes, e todas as diferenças dentro do âmbito de aplicação deverão ser interpretadas, como estando incluídas na presente invenção.

Claims (3)

1. MÉTODO PARA DECODIFICAR COEFICIENTES DE TRANSFORMAÇÃO POR ENTROPIA, o método caracterizado por compreender: extrair (1910) informação sobre um localização de direção do eixo horizontal e um localização de direção do eixo vertical de um último coeficiente de transformação significativo possuindo um valor diferente de zero dentre coeficientes de transformação incluídos num bloco de transformação, a partir de um fluxo de bits recebido em que o último coeficiente de transformação significativo tem o último índice de varredura de acordo com uma certa ordem de varredura entre os coeficientes de transformação; determinar (1920) uma localização do último coeficiente de transformação significativo mediante decodificar a informação sobre a localização de direção do eixo horizontal e a localização de direção do eixo vertical; decodificar o último coeficiente de transformação significativo com base na localização do último coeficiente de transformação significativo; decodificar um sinalizador de coeficiente significativo, incluído no fluxo de bits recebido, representando a localização de um segundo coeficiente de transformação significativo; e decodificar o segundo coeficiente de transformação significativo usando o sinalizador de coeficiente significativo; em que a informação inclui um valor x correspondente à localização da direção do eixo horizontal e um valor y correspondente à localização da direção do eixo vertical.
2. Método, de acordo com a reivindicação 1, caracterizado por a determinação da localização do último coeficiente de transformação significativo adicionalmente compreender: selecionar um contexto usado para decodificar informações binarizadas sobre a localização da direção do eixo horizontal e a localização da direção do eixo vertical do último coeficiente de transformação significativo; e executar decodificação aritmética binária adaptativa ao contexto (CABAD) na informação binarizada de acordo com o contexto selecionado.
3. Método, de acordo com a reivindicação 2, caracterizado por a seleção do contexto compreender a seleção de um dos contextos previamente determinados de acordo com a localização do último coeficiente de transformação significativo.
BR112013000558-0A 2010-07-09 2011-07-08 Método para codificar coeficientes de transformação por entropia, e método para decodificar coeficientes de transformação por entropia BR112013000558B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US36284410P 2010-07-09 2010-07-09
US61/362,844 2010-07-09
PCT/KR2011/005034 WO2012005551A2 (ko) 2010-07-09 2011-07-08 변환 계수의 엔트로피 부호화/복호화 방법 및 장치

Publications (2)

Publication Number Publication Date
BR112013000558A2 BR112013000558A2 (pt) 2016-07-05
BR112013000558B1 true BR112013000558B1 (pt) 2023-01-24

Family

ID=45441682

Family Applications (4)

Application Number Title Priority Date Filing Date
BR122021004665-4A BR122021004665B1 (pt) 2010-07-09 2011-07-08 Método para decodificar coeficientes de transformação por entropia
BR122020013778-9A BR122020013778B1 (pt) 2010-07-09 2011-07-08 Método para decodificar coeficientes de transformação por entropia
BR112013000558-0A BR112013000558B1 (pt) 2010-07-09 2011-07-08 Método para codificar coeficientes de transformação por entropia, e método para decodificar coeficientes de transformação por entropia
BR122020013774-6A BR122020013774B1 (pt) 2010-07-09 2011-07-08 Método para decodificar coeficientes de transformação por entropia

Family Applications Before (2)

Application Number Title Priority Date Filing Date
BR122021004665-4A BR122021004665B1 (pt) 2010-07-09 2011-07-08 Método para decodificar coeficientes de transformação por entropia
BR122020013778-9A BR122020013778B1 (pt) 2010-07-09 2011-07-08 Método para decodificar coeficientes de transformação por entropia

Family Applications After (1)

Application Number Title Priority Date Filing Date
BR122020013774-6A BR122020013774B1 (pt) 2010-07-09 2011-07-08 Método para decodificar coeficientes de transformação por entropia

Country Status (27)

Country Link
US (4) US9414063B2 (pt)
EP (6) EP3104617B1 (pt)
JP (4) JP5873084B2 (pt)
KR (8) KR101733794B1 (pt)
CN (5) CN105828077B (pt)
AU (5) AU2011274680B2 (pt)
BR (4) BR122021004665B1 (pt)
CA (2) CA2921710C (pt)
CY (5) CY1117981T1 (pt)
DK (5) DK3104616T3 (pt)
ES (5) ES2590705T3 (pt)
HR (5) HRP20161151T1 (pt)
HU (5) HUE035097T2 (pt)
LT (5) LT3101900T (pt)
MX (1) MX2013000344A (pt)
MY (5) MY184131A (pt)
NO (1) NO3104617T3 (pt)
PH (4) PH12015500945A1 (pt)
PL (5) PL3101901T3 (pt)
PT (5) PT3101901T (pt)
RS (5) RS56253B1 (pt)
RU (4) RU2530341C1 (pt)
SG (2) SG195591A1 (pt)
SI (5) SI3104616T1 (pt)
SM (1) SMT201600310B (pt)
WO (1) WO2012005551A2 (pt)
ZA (4) ZA201300699B (pt)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011259205A (ja) 2010-06-09 2011-12-22 Sony Corp 画像復号化装置と画像符号化装置およびその方法とプログラム
KR101733794B1 (ko) * 2010-07-09 2017-05-10 삼성전자주식회사 변환 계수의 엔트로피 부호화/복호화 방법 및 장치
US10091529B2 (en) * 2010-07-09 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding/decoding a transform coefficient
CN103647974B (zh) 2010-11-26 2017-05-31 日本电气株式会社 视频解码设备和视频解码方法
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
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
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US10992958B2 (en) 2010-12-29 2021-04-27 Qualcomm Incorporated Video coding using mapped transforms and scanning modes
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US10397577B2 (en) 2011-03-08 2019-08-27 Velos Media, Llc Inverse scan order for significance map coding of transform coefficients in video coding
US9167253B2 (en) 2011-06-28 2015-10-20 Qualcomm Incorporated Derivation of the position in scan order of the last significant transform coefficient in video coding
EP3021591A1 (en) * 2011-06-28 2016-05-18 Samsung Electronics Co., Ltd. Apparatus for decoding video accompanied with context-based arithmetic decoding
US9756360B2 (en) * 2011-07-19 2017-09-05 Qualcomm Incorporated Coefficient scanning in video coding
US9154792B2 (en) * 2011-11-08 2015-10-06 Qualcomm Incorporated Progressive coding of position of last significant coefficient
AU2012200319B2 (en) 2012-01-19 2015-11-26 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map for residual coefficients of a transform unit
PH12018500138A1 (en) * 2012-01-20 2018-07-09 Ge Video Compression Llc Transform coefficient 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
KR20130116754A (ko) * 2012-04-16 2013-10-24 주식회사 팬택 엔트로피 부복호화 방법 및 이러한 방법을 사용하는 장치
PT2869563T (pt) 2012-07-02 2018-06-25 Samsung Electronics Co Ltd Método e aparelho para codificar vídeo de entropia e método e aparelho para descodifcar vídeo de entropia
WO2014110651A1 (en) * 2013-01-16 2014-07-24 Blackberry Limited Transform coefficient coding for context-adaptive binary entropy coding of video
CN104104958B (zh) * 2013-04-08 2017-08-25 联发科技(新加坡)私人有限公司 图像解码方法及其图像解码装置
US9215464B2 (en) * 2013-09-19 2015-12-15 Blackberry Limited Coding position data for the last non-zero transform coefficient in a coefficient group
KR102250088B1 (ko) 2013-10-24 2021-05-10 삼성전자주식회사 비디오 스트림을 복호화하는 방법 및 장치
KR20180039578A (ko) 2015-09-08 2018-04-18 삼성전자주식회사 엔트로피 부호화 및 복호화를 위한 장치 및 방법
KR20180040515A (ko) * 2015-09-10 2018-04-20 삼성전자주식회사 부호화 장치, 복호화 장치, 그 부호화 및 복호화 방법
WO2017041271A1 (en) * 2015-09-10 2017-03-16 Mediatek Singapore Pte. Ltd. Efficient context modeling for coding a block of data
EP3270594A1 (en) * 2016-07-15 2018-01-17 Thomson Licensing Method and apparatus for advanced cabac context adaptation for last coefficient coding
WO2018030294A1 (ja) * 2016-08-10 2018-02-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US10244261B2 (en) * 2017-01-26 2019-03-26 Google Llc Transform coefficient coding using level maps
KR102272992B1 (ko) 2017-04-13 2021-07-06 엘지전자 주식회사 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
CN108881909A (zh) * 2017-05-09 2018-11-23 富士通株式会社 扫描顺序生成方法和扫描顺序生成设备
WO2019078693A1 (ko) * 2017-10-20 2019-04-25 에스케이텔레콤 주식회사 영상 부호화 또는 복호화하기 위한 장치 및 방법
CN109874012B (zh) * 2017-12-04 2020-09-11 北京金山云网络技术有限公司 一种视频编码方法、编码器、电子设备及介质
CN116132673A (zh) * 2017-12-13 2023-05-16 三星电子株式会社 视频解码方法及其装置以及视频编码方法及其装置
CN113316934B (zh) * 2019-01-25 2024-03-08 寰发股份有限公司 带有变换块级别约束的变换系数编码的方法和设备
WO2020185005A1 (ko) * 2019-03-12 2020-09-17 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
CN113287310A (zh) * 2019-06-10 2021-08-20 株式会社 Xris 用于对图像信号进行编码/解码方法及其装置
KR20210133300A (ko) * 2019-06-19 2021-11-05 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
CN112449192B (zh) * 2019-08-27 2022-09-16 杭州海康威视数字技术股份有限公司 解码方法、编码方法及装置
CN114556932B (zh) * 2019-09-24 2023-05-23 北京达佳互联信息技术有限公司 用于视频编解码的无损编解码模式
CN113489980B (zh) * 2021-08-13 2022-10-25 北京大学深圳研究生院 一种点云属性变换系数的熵编码和熵解码的方法及设备

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11331612A (ja) 1998-05-19 1999-11-30 Canon Inc 画像処理装置及び方法及び記憶媒体
JP2003153228A (ja) * 2001-11-15 2003-05-23 Sony Corp 画像符号化装置及び画像復号化装置
PT1467491E (pt) 2002-05-02 2007-03-30 Fraunhofer Ges Forschung Codificação aritmética de coeficientes de transformação
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
JP2007043651A (ja) * 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
US20080130989A1 (en) 2005-07-22 2008-06-05 Mitsubishi Electric Corporation Image encoder and image decoder, image encoding method and image decoding method, image encoding program and image decoding program, and computer readable recording medium recorded with image encoding program and computer readable recording medium recorded with image decoding program
US8599925B2 (en) 2005-08-12 2013-12-03 Microsoft Corporation Efficient coding and decoding of transform blocks
KR100772870B1 (ko) * 2005-12-12 2007-11-02 삼성전자주식회사 Fgs 계층의 블록에 포함되는 계수의 특성에 따라 비디오신호를 부호화하고 복호화하는 방법 및 장치
JP4379444B2 (ja) 2006-07-26 2009-12-09 ソニー株式会社 復号化方法、復号化方法のプログラム、復号化方法のプログラムを記録した記録媒体、復号化装置
CN101321060B (zh) * 2007-06-07 2011-06-08 管海明 一种用于编码和译码数字消息的方法和***
JP5261376B2 (ja) * 2007-09-21 2013-08-14 パナソニック株式会社 画像符号化装置および画像復号化装置
KR20090097013A (ko) * 2008-03-10 2009-09-15 삼성전자주식회사 영상 부호화장치 및 영상 복호화장치
KR101375668B1 (ko) * 2008-03-17 2014-03-18 삼성전자주식회사 변환 계수의 부호화, 복호화 방법 및 장치
KR20090129926A (ko) * 2008-06-13 2009-12-17 삼성전자주식회사 영상 부호화 방법 및 그 장치, 영상 복호화 방법 및 그 장치
EP2154894A1 (en) * 2008-08-15 2010-02-17 Thomson Licensing Video coding with coding of the locations of significant coefficients in a block of coefficients
US8406307B2 (en) * 2008-08-22 2013-03-26 Microsoft Corporation Entropy coding/decoding of hierarchically organized data
US7804428B2 (en) * 2008-11-10 2010-09-28 Apple Inc. System and method for compressing a stream of integer-valued data
KR101457894B1 (ko) * 2009-10-28 2014-11-05 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
KR101733794B1 (ko) * 2010-07-09 2017-05-10 삼성전자주식회사 변환 계수의 엔트로피 부호화/복호화 방법 및 장치
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
CA2832086C (en) 2011-04-15 2018-10-23 Blackberry Limited Methods and devices for coding and decoding the position of the last significant coefficient

Also Published As

Publication number Publication date
PH12015500943A1 (en) 2015-06-29
RU2530341C1 (ru) 2014-10-10
SI3101901T1 (sl) 2017-10-30
RS55152B1 (sr) 2017-01-31
ES2648061T3 (es) 2017-12-28
KR20210156250A (ko) 2021-12-24
RU2686626C1 (ru) 2019-04-29
LT2592832T (lt) 2016-10-10
SG10201703211YA (en) 2017-06-29
CN105791846B (zh) 2019-01-04
AU2018282456B2 (en) 2019-11-07
KR102196431B1 (ko) 2020-12-29
CY1119266T1 (el) 2018-02-14
PL2592832T3 (pl) 2016-12-30
EP3101900A1 (en) 2016-12-07
AU2018282456A1 (en) 2019-01-24
KR20230048271A (ko) 2023-04-11
KR101733794B1 (ko) 2017-05-10
CN105791846A (zh) 2016-07-20
ZA201300699B (en) 2015-11-25
US9414063B2 (en) 2016-08-09
US20160330482A1 (en) 2016-11-10
KR20210000297A (ko) 2021-01-04
HUE036472T2 (hu) 2018-07-30
CN105828077A (zh) 2016-08-03
US20160330447A1 (en) 2016-11-10
PT3104616T (pt) 2017-09-08
HRP20171318T1 (hr) 2017-10-20
AU2016213718B2 (en) 2017-08-31
CN105791845B (zh) 2019-01-04
PT3104617T (pt) 2017-11-23
CY1119264T1 (el) 2018-02-14
KR101984826B1 (ko) 2019-09-03
RU2614544C2 (ru) 2017-03-28
HRP20171316T1 (hr) 2017-10-20
EP3101900B1 (en) 2017-08-30
ZA201502807B (en) 2016-10-26
ES2653152T3 (es) 2018-02-06
SI2592832T1 (sl) 2016-10-28
JP2013537737A (ja) 2013-10-03
EP3104617B1 (en) 2017-11-15
DK2592832T3 (da) 2016-09-26
HUE035095T2 (en) 2018-05-02
PH12015500945B1 (en) 2015-06-29
CA2804939A1 (en) 2012-01-12
PH12015500945A1 (en) 2015-06-29
PH12015500944A1 (en) 2015-06-29
PH12015500942B1 (en) 2015-06-29
EP3104617A1 (en) 2016-12-14
JP6574025B2 (ja) 2019-09-11
CY1119267T1 (el) 2018-02-14
AU2011274680B2 (en) 2015-06-11
EP3104616B1 (en) 2017-08-30
DK3101901T3 (en) 2017-09-18
EP2592832A2 (en) 2013-05-15
KR20190062349A (ko) 2019-06-05
KR20220083648A (ko) 2022-06-20
DK3104616T3 (en) 2017-09-18
MY175536A (en) 2020-07-01
BR112013000558A2 (pt) 2016-07-05
JP2017175636A (ja) 2017-09-28
CN105847811B (zh) 2019-06-07
PH12015500942A1 (en) 2015-06-29
KR102118694B1 (ko) 2020-06-03
BR122021004665B1 (pt) 2023-01-24
RU2014133412A (ru) 2016-03-10
PL3104617T3 (pl) 2018-01-31
AU2015218476B2 (en) 2016-05-19
LT3101901T (lt) 2017-09-25
RS56577B1 (sr) 2018-02-28
BR122020013774B1 (pt) 2023-01-24
EP3293976A1 (en) 2018-03-14
CA2921710A1 (en) 2012-01-12
HUE035084T2 (en) 2018-05-02
PT2592832T (pt) 2016-09-20
HRP20171771T1 (hr) 2017-12-29
US9743112B2 (en) 2017-08-22
WO2012005551A3 (ko) 2012-05-03
CN105847811A (zh) 2016-08-10
US20160330483A1 (en) 2016-11-10
ES2648315T3 (es) 2017-12-29
LT3104617T (lt) 2017-12-11
HRP20171316T8 (hr) 2017-12-01
CN105791845A (zh) 2016-07-20
MY184224A (en) 2021-03-27
EP3101901B1 (en) 2017-08-30
SI3101900T1 (sl) 2017-10-30
CA2804939C (en) 2016-05-10
JP5873084B2 (ja) 2016-03-01
LT3104616T (lt) 2017-09-25
HRP20171317T1 (hr) 2017-11-17
HUE035097T2 (en) 2018-05-02
EP2592832B1 (en) 2016-09-07
CY1117981T1 (el) 2017-05-17
SMT201600310B (it) 2016-11-10
CA2921710C (en) 2019-07-30
EP2592832A4 (en) 2015-08-12
CY1119732T1 (el) 2018-06-27
DK3104617T3 (da) 2017-11-27
CN103098469A (zh) 2013-05-08
SG195591A1 (en) 2013-12-30
MY184131A (en) 2021-03-19
SI3104616T1 (sl) 2017-10-30
RS56254B1 (sr) 2017-11-30
EP3293976B1 (en) 2021-09-01
ES2590705T3 (es) 2016-11-23
SI3104617T1 (sl) 2017-12-29
NO3104617T3 (pt) 2018-04-14
PH12015500944B1 (en) 2015-06-29
US10021421B2 (en) 2018-07-10
US10021420B2 (en) 2018-07-10
ZA201502810B (en) 2017-01-25
EP3104616A1 (en) 2016-12-14
HUE030382T2 (en) 2017-05-29
JP6356865B2 (ja) 2018-07-11
RU2656811C1 (ru) 2018-06-06
BR122020013778B1 (pt) 2023-01-24
KR20170063459A (ko) 2017-06-08
AU2017261624B2 (en) 2018-09-27
AU2011274680A1 (en) 2013-02-07
AU2015218476A1 (en) 2015-09-17
MY193092A (en) 2022-09-26
RS56250B1 (sr) 2017-11-30
CN105828077B (zh) 2019-03-15
PT3101901T (pt) 2017-09-08
PT3101900T (pt) 2017-09-08
PL3101900T3 (pl) 2017-11-30
DK3101900T3 (en) 2017-09-18
JP2018174551A (ja) 2018-11-08
LT3101900T (lt) 2017-09-25
MX2013000344A (es) 2013-03-20
ES2653160T3 (es) 2018-02-06
JP2016105623A (ja) 2016-06-09
US20130114731A1 (en) 2013-05-09
RS56253B1 (sr) 2017-11-30
MY184097A (en) 2021-03-17
KR20120005984A (ko) 2012-01-17
AU2016213718A1 (en) 2016-08-25
KR102517346B1 (ko) 2023-04-04
KR102592909B1 (ko) 2023-10-23
KR20200064047A (ko) 2020-06-05
JP6140850B2 (ja) 2017-05-31
AU2017261624A1 (en) 2017-12-07
HRP20161151T1 (hr) 2016-11-18
ZA201502806B (en) 2016-10-26
WO2012005551A2 (ko) 2012-01-12
CN103098469B (zh) 2016-06-08
PL3101901T3 (pl) 2017-10-31
EP3101901A1 (en) 2016-12-07
PL3104616T3 (pl) 2017-10-31
PH12015500943B1 (en) 2015-06-29

Similar Documents

Publication Publication Date Title
BR112013000558B1 (pt) Método para codificar coeficientes de transformação por entropia, e método para decodificar coeficientes de transformação por entropia
BR122015021373A2 (pt) aparelho para decodificar um vídeo
BR122019014179B1 (pt) método de decodificação de vídeo
US10091529B2 (en) Method and apparatus for entropy encoding/decoding a transform coefficient

Legal Events

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

Ipc: H04N 19/60 (2014.01), H04N 19/129 (2014.01), H04N

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 19/60 , H04N 19/129 , H04N 19/13 , H04N 19/176 , H04N 19/18 , H04N 19/184 , H04N 19/463 , H04N 19/61 , H04N 19/91 , H04N 19/96

Ipc: H04N 19/129 (2014.01), H04N 19/13 (2014.01), H04N

B350 Update of information on the portal [chapter 15.35 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 08/07/2011, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.