BR122020008881B1 - Métodos de codificação e de decodificação de imagem - Google Patents

Métodos de codificação e de decodificação de imagem Download PDF

Info

Publication number
BR122020008881B1
BR122020008881B1 BR122020008881-8A BR122020008881A BR122020008881B1 BR 122020008881 B1 BR122020008881 B1 BR 122020008881B1 BR 122020008881 A BR122020008881 A BR 122020008881A BR 122020008881 B1 BR122020008881 B1 BR 122020008881B1
Authority
BR
Brazil
Prior art keywords
transform
matrix
unit
prediction
inverse
Prior art date
Application number
BR122020008881-8A
Other languages
English (en)
Inventor
Jun Yamaguchi
Akiyuki Tanizawa
Original Assignee
Kabushiki Kaisha Toshiba
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 Kabushiki Kaisha Toshiba filed Critical Kabushiki Kaisha Toshiba
Publication of BR122020008881B1 publication Critical patent/BR122020008881B1/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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Abstract

um método de codificação de imagem de acordo com uma concretização inclui ajustar (112) de uma combinação de uma matriz de transformada vertical e de uma matriz de transformada horizontal correspondente à imagem alvo com base em uma relação pré-determinada. a combinação inclui qualquer de uma pluralidade de matrizes de transformada incluindo uma primeira matriz de transformada e uma segunda matriz de transformada que aumenta uma densidade de coeficiente em comparação com a primeira matriz de transformada caso de uma transformação ortogonal unidimensional em uma direção ortogonal a uma linha de um grupo de pixels de referência em pelo menos uma linha ser executada no erro de previsão, no modo de intraprevisão no qual o grupo de pixels de referência é referenciado para gerar uma imagem de intraprevisão. o método inclui transformar (102) o erro de previsão utilizando a combinação da matriz de transformada e a matriz de transformada horizontal, para obter coeficientes de transformada.

Description

[0001] Dividido do BR 11 2013 000865 2, depositado em 15/07/2010.
Campo da Invenção
[0002] Concretizações da presente invenção referem-se à transformação ortogonal e transformação ortogonal inversa na codificação e decodificação de vídeo.
Antecedentes da Invenção
[0003] Nos últimos anos, um método de codificação de imagem com melhorias significativas na eficiência de codificação foi conjuntamente recomendado pela ITU-T e ISO/IEC como ITU-T REC. H. 264 e ISO/IEC 14496-10 (adiante designadas como “H. 264”). H. 264 executa a transformada discreta de coseno (TDC) e transformada discreta de coseno inversa (TDCI), como a transformação ortogonal e transformação ortogonal inversa em caso de erro de predição, em um bloco de pixel alvo independentemente de um sistema de previsão aplicada ao bloco de pixel alvo.
[0004] Espera-se H. 264 estendida realize a transformação ortogonal e transformação ortogonal inversa utilizando bases de transformadas individuais para os respectivos nove tipos de modos de predição especificados para intra-imagem predição (intra-predição), melhorando assim a eficiência da codificação.
Lista de citações Literatura de Não Patentetária
[0005] Literatura de não patentária 1: M. Karczewicz, “Improved intra coding”, ITU-T SG16/Q. 6, Documento VCEG, VCEG- AF15, abril de 2007.
Sumário da Invenção Problema Técnico
[0006] No entanto, é difícil, em conexão com a implementação, realizar a transformação ortogonal e a transformação ortogonal inversa utilizando bases individuais de transformação para os respectivos tipos plurais modos de predição. Por exemplo, a implementação de hardware não requer apenas o hardware dedicado para TDC e TDCI necessário para H. 264, mas também o hardware dedicado para cada transformações ortogonais e transformações ortogonais inversas para os respectivos tipos plurais direções de predição. A adição do hardware dedicado aumenta a escala de circuitos relevantes.
[0007] Implementação de software permite matrizes não apenas a TDC, mas também as matrizes de transformadas individuais para os respectivos tipos de direções de predição a serem carregadas a partir de uma memória como apropriado e mantido numa memória cache, conforme apropriado. Neste caso, a transformação ortogonal desejada e a transformação ortogonal inversa podem ser implementadas por um multiplicador de uso geral. No entanto, desvantajosamente, os custos aumentam como resultado de um aumento da largura da banda de memória ou do tamanho da memória cache.
[0008] Assim, um objetivo das concretizações é proporcionar a transformação ortogonal e transformação ortogonal inversa, que permitem a melhora da eficiência de codificação.
Solução do Problema
[0009] De acordo com um aspecto um método de codificação de imagem inclui a previsão de uma predição de erro de uma imagem alvo a ser codificada com base num modo de intrapredição. O método inclui a fixação de uma combinação de uma matriz de transformação vertical e uma matriz de transformação horizontal correspondente à imagem de destino com base em uma relação pré- determinada. A combinação inclui qualquer uma de uma pluralidade de matrizes transformadas incluindo uma primeira matriz de transformada e uma segunda matriz de transformada que aumenta a densidade de coeficiente em comparação com a primeira matriz de transformada se uma caso transformação ortogonal unidimensional na direção ortogonal para uma linha de um grupo de pixels referência em pelo menos uma linha é executada no erro de predição, no modo de intrapredição onde o grupo de pixels de referência é referenciado para gerar uma imagem de intrapredição. O método inclui a transformação do erro de predição, usando a combinação da matriz de transformada vertical e a matriz de transformada horizontal, para obter os coeficientes de transformada. O método inclui a codificação dos coeficientes de transformada e informações indicando o modo intraprevisão para a imagem alvo.
[0010] De acordo com um outro aspecto, um método de decodificação de imagem inclui os coeficientes da transformada de decodificação coeficientes de uma imagem alvo a ser decodificada e a informação que indica um modo de intrapredição para imagem alvo. O método inclui a fixação de uma combinação de uma matriz de transformada inversa vertical, e uma matriz de transformada horizontal inversa correspondente à imagem alvo com base em uma relação pré-determinada. A combinação inclui qualquer uma de uma pluralidade de matrizes transpostas de uma pluralidade de matrizes, incluindo uma primeira matriz de transformada e uma segunda matriz de transformada que aumenta a densidade de coeficiente em comparação com a primeira matriz de transformada se uma transformação ortogonal unidimensional numa direção ortogonal a uma linha de um grupo de pixels de referência sobre pelo menos uma linha é executada no erro de predição, no modo de intrapredição no qual o grupo de pixels de referência é referenciado para gerar uma imagem de intrapredição. O método inclui a transformada inversa dos coeficientes de transformada utilizando a combinação da matriz de transformada inversa vertical e a matriz de transformada inversa horizontal, para se obter um erro de predição. O método inclui a geração de uma imagem descodificada com base no erro de predição.
Breve Descrição dos Desenhos
[0011] FIG. 1 é um diagrama de blocos que ilustra um aparelho de codificação de imagem de acordo com uma primeira concretização.
[0012] FIG. 2 é um diagrama de blocos que ilustra uma unidade de transformação ortogonal de acordo com a primeira concretização.
[0013] FIG. 3 é um diagrama de blocos que ilustra uma unidade de transformação ortogonal inversa de acordo com a primeira concretização.
[0014] FIG. 4A é uma tabela que ilustra a correspondência entre os modos de predição e um índice de transformada vertical, e um índice de transformada horizontal de acordo com a primeira concretização.
[0015] FIG. 4B é uma tabela que a correspondência entre o índice de transformada vertical e 1D transforma as matrizes de acordo com a primeira concretização.
[0016] FIG. 4C é uma tabela que ilustra a correspondência entre o índice de transformada horizontal e 1D transformam as matrizes de acordo com a primeira concretização.
[0017] FIG. 4D é uma tabela que ilustra a correspondência entre um índice de transformada e o índice de transformada vertical e o índice de transformada horizontal de acordo com a primeira concretização.
[0018] FIG. 4E é uma tabela obtida por integração da FIG. 4A com a FIG. 4D.
[0019] FIG. 5A é um diagrama de blocos que ilustra uma unidade de controle do coeficiente de ordem, de acordo com a primeira concretização.
[0020] FIG. 5B é um diagrama de blocos que ilustra a unidade de controle do coeficiente de ordem, de acordo com a primeira concretização.
[0021] FIG. 6A é um diagrama que ilustra a sequência de codificação preditiva de um bloco de pixels.
[0022] FIG. 6B é um diagrama que ilustra um exemplo de um tamanho de bloco de pixels.
[0023] FIG. 6C é um diagrama que ilustra um outro exemplo do tamanho do bloco de pixels.
[0024] FIG. 6D é um diagrama que ilustra um outro exemplo do tamanho do bloco de pixels.
[0025] FIG. 7A é um diagrama que ilustra um modo de intrapredição.
[0026] FIG. 7B é um diagrama que ilustra o arranjo da relação entre os pixels alvo de predição e os pixels de referência.
[0027] FIG. 7C é um diagrama que ilustra um modo de intrapredição 1.
[0028] FIG. 7D é um diagrama que ilustra um modo de intrapredição 4.
[0029] FIG. 8A é um diagrama que ilustra uma varredura zigue- zague.
[0030] FIG. 8B é um diagrama que ilustra a varredura zigue- zague.
[0031] FIG. 8C é uma tabela que mostra uma transformação 2D- 1D, utilizando varredura zigue-zague.
[0032] FIG. 9 é uma tabela que ilustra transformações 2D-1D individuais para os respectivos modos de predição.
[0033] FIG. 10A é um fluxograma que ilustra o processamento realizado num bloco codificante alvo pelo aparelho de codificação de imagem na FIG. 1.
[0034] FIG. 10B é um fluxograma que ilustra o processamento realizado no bloco codificante alvo pelo aparelho de codificação de imagem na FIG. 1.
[0035] FIG. 11 é um diagrama que ilustra uma estrutura sintaxe.
[0036] FIG. 12 é um diagrama que ilustra a parcela da sintaxe de cabeçalho.
[0037] FIG. 13 é um diagrama que ilustra a sintaxe da unidade árvore de codificação.
[0038] FIG. 14 é um diagrama que ilustra a sintaxe da unidade de transformada.
[0039] FIG. 15 é um diagrama de blocos que ilustra uma unidade de transformação ortogonal que realiza a transformação ortogonal em cada um dos nove tipos de direções de predição utilizando uma transformada de base particular.
[0040] FIG. 16 é um diagrama de blocos que ilustra uma unidade de transformação ortogonal de acordo com uma segunda concretização.
[0041] FIG. 17 é um diagrama de blocos que ilustra uma unidade de transformação ortogonal inversa de acordo com a segunda concretização.
[0042] FIG. 18A é uma tabela que ilustra a correspondência entre os modos de predição e o índice de transformada vertical e o índice de transformada horizontal de acordo com a segunda concretização.
[0043] FIG. 18B é uma tabela que ilustra a correspondência entre o índice de transformada vertical e a matriz de transformada 1D de acordo com a segunda concretização.
[0044] FIG. 18C é uma tabela que ilustra a correspondência entre o índice de transformada horizontal e a matriz de transformada 1D de acordo com a segunda concretização.
[0045] FIG. 18D é uma tabela que ilustra a correspondência entre o índice de transformada e o índice de transformada vertical e o índice de transformada horizontal de acordo com a segunda concretização.
[0046] FIG. 18E é uma tabela obtida por meio da integração da FIG. 18A com a FIG. 18D.
[0047] FIG. 19 é um diagrama de blocos que ilustra uma unidade de transformada ortogonal de acordo com uma terceira concretização.
[0048] FIG. 20 é um diagrama de blocos que ilustra uma unidade de transformada ortogonal inversa de acordo com a terceira concretização.
[0049] FIG. 21A é uma tabela que ilustra a correspondência entre os modos de predição e o índice de transformada vertical e o índice de transformada horizontal de acordo com a terceira concretização.
[0050] FIG. 21B é uma tabela que ilustra a correspondência entre o índice de transformada vertical e a matriz de transformada 1D de acordo com a terceira concretização.
[0051] FIG. 21C é uma tabela que ilustra a correspondência entre o índice de transformada horizontal e o índice de transformada 1D de acordo com a terceira concretização.
[0052] FIG. 21D é uma tabela que ilustra a correspondência entre o índice de transformada e o índice de transformada vertical e o índice de transformada horizontal de acordo com a terceira concretização.
[0053] FIG. 21E é uma tabela obtida por meio da integração da FIG. 21A com a FIG. 21D.
[0054] FIG. 22 é um diagrama de blocos que ilustra um aparelho de decodificação de imagem de acordo com uma quarta concretização.
[0055] FIG. 23A é um diagrama de blocos que ilustra uma unidade de controle da ordem de coeficiente de acordo com a quarta concretização.
[0056] FIG. 23B é um diagrama de blocos que ilustra uma unidade de controle da ordem de coeficiente de acordo com a quarta concretização.
Descrição das Concretizações
[0057] Concretizações serão descritas abaixo com referência aos desenhos. Na descrição a seguir, o termo “imagem” pode ser substituído com o “sinal de imagem”, ”dados de imagem”, ou similar, conforme apropriado.
(Primeira Concretização)
[0058] Uma primeira concretização refere-se a um aparelho de codificação de imagem. Um aparelho de decodificação de imagem correspondente ao aparelho de codificação de imagem, de acordo com a presente invenção será descrito em uma quarta concretização. O aparelho de codificação de imagem pode ser implementado por hardware, tais como LSI (integração em grande escala) chips, DSPs (Processadores de Sinais Digitais), FPGAs (Arranjos de portas programáveis em campo), e afins. Além disso, o aparelho de codificação de imagem pode também ser implementado por um computador que permite a execução de um programa de codificação de imagem.
[0059] Como mostrado na FIG. 1, o aparelho de codificação de imagem, de acordo com a presente invenção inclui uma unidade de subtração 101, uma unidade de transformação ortogonal 102, uma unidade de quantização 103, uma unidade desquantização 104, uma unidade de transformação ortogonal inversa 105, uma unidade de adição 106, uma memória de imagem de referência 107, uma unidade de intrapredição 108, uma unidade de intrapredição 109, uma unidade de seleção de predição 110, um interruptor de predição de seleção 111, um conjunto de unidades de matriz de trasnformação 1D (unidimensional) 112, unidade de controle da ordem de coeficiente 113, uma unidade codificante de entropia 114, um amortecedor de saída 115, e uma unidade de controle de codificação 116.
[0060] O aparelho de codificação de imagem na FIG. 1 divide cada um dos quadros ou campos formando uma imagem de entrada 118 numa pluralidade de blocos de pixels, realiza a codificação preditiva nos blocos de pixels, resultantes da divisão, e emite os dados codificados 130. Por razões de simplificação, a codificação preditiva é aqui assumida depois como realizada em um bloco de pixels da esquerda superior para a direita inferior, como mostrado na FIG. 6A.
[0061] FIG. 6A mostra uma estrutura alvo de codificação na qual um bloco de pixels codificados estão posicionados para a esquerda e acima de um bloco de pixel alvo c de codificação.
[0062] Aqui, o bloco de pixels refere-se a, por exemplo, uma unidade de árvore de codificação, um macrobloco, um sub-bloco, ou um pixel. O bloco de pixels é basicamente usado adiante para significar uma unidade de árvore de codificação, mas pode ser interpretado com outro significado, conforme apropriado. A unidade de árvore de codificação é tipicamente, por exemplo, um bloco de pixels de 16 x 16 mostrada na FIG. 6B, mas pode ser um bloco de pixels de 32 x 32 mostrada na FIG. 6C, um bloco de pixels de 64 x 64 mostrado na FIG. 6D, ou um bloco de pixels de 8 x 8 ou um bloco de pixels de 4 x 4 não mostrado nos desenhos. A unidade de árvore de codificação não precisa ser necessariamente quadrada. Uma unidade de árvore de codificação de bloco alvo ou codificação na imagem de entrada 118 é a seguir por vezes referido como um “bloco de predição alvo”. Além disso, a unidade de codificação não está limitada ao bloco de pixels tal como a unidade de árvore de codificação, mas pode ser um quadro, um campo, ou uma combinação dos mesmos.
[0063] O aparelho de codificação de imagem na FIG. 1 executa intrapredição (também referida como intramoldura, intramoldura predição, ou semelhantes) ou interpredição (também referida como predição intraimagem, predição intermoldura, ou semelhante) para gerar uma imagem predita 127. O aparelho de codificação de imagem transforma ortogonalmente e quantifica um erro de previsão 119 entre o bloco de pixels (imagem de entrada 118) e a imagem predita 127. O aparelho de codificação de imagem, em seguida, realiza a codificação de entropia na predição de erro transformado e quantizado para gerar e emitir os dados codificados 130.
[0064] O aparelho de codificação de imagem na FIG. 1 realiza uma codificação por aplicação seletiva de uma pluralidade de modos de predição envolvendo diferentes tamanhos de bloco e métodos diferentes para gerar as imagens preditas 127. O método para gerar a imagem predita 127 é, a grosso modo, classificado em dois tipos: intrapredição que realiza a predição dentro da moldura alvo de codificação e a interpredição que realiza a predição usando uma ou mais molduras de referência temporariamente diferentes uma da outra. Na presente concretização, a transformação ortogonal e a transformação ortogonal inversa realizada para gerar uma imagem predita utilizando intrapredição serão descritas em detalhes.
[0065] Os componentes do aparelho de codificação de imagem da FIG. 1 serão descritos abaixo.
[0066] O subtrator 101 subtrai as imagens preditas correspondentes 127 a partir do bloco de codificação alvo na imagem de entrada 118 para se obter o erro de predição 119. O subtrator 101 entra com o erro de predição 119 na unidade de transformação ortogonal 102.
[0067] A unidade de transformação ortogonal 102 transforma ortogonalmente o erro de predição 119 a partir do subtrator 101 para obter os coeficientes de transformada 120. A unidade de transformação ortogonal 102 será descrita a seguir em detalhes. A unidade de transformação ortogonal 102 entra com os coeficientes de transformada 120 na unidade de quantificação 103.
[0068] A unidade de quantificação 103 quantifica os coeficientes de transformada a partir da unidade de transformação ortogonal 102 para obter os coeficientes de transformada 121 quantificados. Especificamente, a unidade de quantificação 103 realiza a quantificação de acordo com a informação de quantificação, como um parâmetro de quantificação e de uma matriz de quantificação que é especificada pela unidade de controle de codificação 116. O parâmetro de quantificação é indicativo da resolução da quantificação. A matriz de quantificação é utilizada para ponderar a resolução da quantificação para cada componente dos coeficientes de transformada. A unidade de quantificação 103 entra com os coeficientes de transformada quantificados 121 no coeficiente de ordem da unidade de controle 113 e a unidade de desquantificação 104.
[0069] O coeficiente de ordem da unidade de controle 113 transforma os coeficientes de transformada quantificados 121, que são uma expressão bidimensional (2D) para uma sequência de coeficientes de transformada quantificados 117 que é uma expressão unidimensional (1D) O coeficiente de ordem da unidade de controle 113 então insere a sequência de coeficientes de transformada quantificados 117 na unidade de quantificação de entropia 114. A unidade de coeficiente da unidade de controle 113 será descrita a seguir em detalhes.
[0070] A unidade de codificação de entropia 114 realiza a codificação de entropia (por exemplo, codificação de Huffman ou a codificação aritmética) em vários parâmetros de codificação, como a sequência de coeficientes de transformada quantificados 117 da unidade de controle de coeficientes 113, a informação de predição 126 da unidade de seleção de predição 110, e a informação de quantificação que é especificada pela unidade de controle de codificação 116. Os parâmetros de codificação são necessários para decodificação e incluem a informação de predição 126, informações sobre os coeficientes de transformada, e informações sobre a quantificação. Os parâmetros de codificação são mantidos numa memória interna (não mostrada nos desenhos) na unidade de controle de codificação 116. Quando um bloco de predição alvo é codificado, os parâmetros de codificação para o bloco de pixels já codificados adjacentes podem ser utilizados. Por exemplo, intrapredição H. 264 permite que um valor previsto para o modo de predição do bloco de predição alvo ser derivado a partir da informação do modo de predição no bloco codificado adjacente.
[0071] Os dados codificados gerados pela unidade de codificação de entropia 114 é, por exemplo, multiplexados e, em seguida, temporariamente acumulados no tampão de saída 115. Os dados são, em seguida, retirados como dados codificados 130, de acordo com um tempo de saída adequado definido pela unidade de controle de codificação 116. Os dados codificados de saída 130, por exemplo, um sistema de acúmulo (meio de acumulação) ou um sistema de transmissão (linha de comunicação), que não é mostrada nos desenhos.
[0072] A unidade de desquantificação 104 desquantifica coeficientes de transformada quantificados a partir da unidade de quantificação 103 para obter os coeficientes de transformada 122 restaurados. Especificamente, a unidade de desquantificação 104 realiza a desquantificação de acordo com a informação de quantificação utilizada na unidade de quantificação 103. A informação de quantificação utilizada na unidade de quantificação 103 é carregada a partir da memória interna da unidade de controle de codificação 116. A unidade de desquantificação 104 dá entrada dos coeficientes de transformada 122 na unidade de transformação ortogonal inversa 105.
[0073] A unidade de transformação ortogonal inversa 105 realiza uma transformação ortogonal inversa correspondente à transformação ortogonal realizada pela unidade de transformação ortogonal 102 nos coeficientes de transformada restaurados 122 a partir da unidade de desquantificação 104 para se obter um erro de predição restaurado 123. A unidade de transformação ortogonal inversa 105 será descrita a seguir com detalhes. A unidade de transformação ortogonal inversa 105 insere o erro de predição restaurado 123 na unidade de adição 106.
[0074] A unidade de adição 106 adiciona o erro de predição restaurado 123 e a imagem predita correspondente 127 em conjunto para gerar uma imagem local descodificada 124. A imagem local descodificada 124 é guardada na memória de imagem de referência 107. A imagem local descodificada 124 salva a memória imagem de referência 107 é referida pela unidade de intrapredição 108 e a unidade de interpredição 109 como uma imagem de referência 125, se necessário.
[0075] A unidade intrapredição 108 realiza intrapredição utilizando a imagem de referência 125 salva na memória de imagem de referência 107. Por exemplo, H. 264 utiliza o valor de referência de pixel codificado para o bloco adjacente ao bloco de predição alvo para compensar pixels (cópia ou interpolar pixels) ao longo de uma direção de predição tais como a direção vertical ou direção horizontal para gerar uma imagem intrapredita. FIG. 7A mostra direções de predição para o intrapredição de acordo com H. 264. Além disso, a FIG. 7B mostra a relação entre o arranjo de pixels de referência e os pixels alvo de codificação de acordo com H. 264. FIG. 7C mostra um método para gerar uma imagem predita num modo 1 (predição horizontal). FIG. 7D mostra um método para gerar uma imagem predita de um modo 4 (predição na diagonal para baixo e direita; Intra_NxN_Diagonal_Down_Right na Figura 4A.).
[0076] A unidade de intrapredição 108 pode interpolar valores de pixel, utilizando um método de interpolação pré-determinado e, em seguida, copiar os valores interpolados de pixels em uma direção de predição pré-determinada. As direções de predição para a intrapredição de acordo com a H. 264 estão ilustradas, mas qualquer número de modos de predição, tais como os 17 ou 33 tipos de modos de predição são disponibilizados através da especificação de uma classificação mais detalhada de instruções de predição. Por exemplo, H. 264 define os ângulos de predição em intervalos de 22,5 graus, mas 17 tipos de modos de predição incluindo predição DC são disponibilizados pela especificação de ângulos de predição, em intervalos de 11,25 graus. Além disso, 33 tipos de modos de predição incluindo predição DC são disponibilizados pela especificação de ângulos de predição, em intervalos de 5,625 graus. Alternativamente, em vez de serem dispostos em intervalos iguais, os ângulos das instruções de predição podem, cada um, ser expressos por uma linha reta que liga um primeiro ponto de referência a um segundo ponto de referência obtido ao mover o primeiro ponto de referência na direção horizontal e na direção vertical. Como descrito acima, o número de modos de predição pode ser facilmente aumentado, e a presente concretização é aplicável, independentemente do número de modos de predição.
[0077] A unidade de interpredição 109 realiza a interpredição utilizando a imagem de referência 125 salva na memória de imagem de referência 107. Especificamente, a unidade de interpredição 109 executa um processo de adaptação de bloco entre o bloco de predição alvo e a imagem de referência 125 para derivar o valor do desvio em movimento (vetor de movimento). A unidade de interpredição 109 realiza um processo de interpolação (compensação de movimento) com base no vetor de movimento para gerar uma imagem interpredita. H. 264 permite que o processo de interpolação de ser alcançado, com uma precisão de um pixel de 1/4. O vetor de movimento obtido é submetido a codificação de entropia, como uma parte da informação de predição 126.
[0078] O comutador de seleção 111 seleciona uma extremidade de saída da unidade de intrapredição 108 ou uma extremidade de saída da unidade de interpredição 109 em conformidade com a informação de predição 126 da unidade de seleção de predição 110. O comutador de seleção 111, em seguida, coloca uma imagem intrapredita ou uma imagem interpredita na unidade de subtração 101 e a unidade de adição 106 como a imagem predita 127. Se a informação de predição 126 é indicativa de intrapredição, o comutador de seleção 110, adquire a imagem intrapredita a partir da unidade de intrapredição 108 como uma imagem predita 127. Por outro lado, se a informação de predição 126 é indicativa de interpredição, o comutador de seleção 110, adquire a imagem interpredita a partir da unidade de interpredição 109 como uma imagem predita 127.
[0079] A unidade de seleção de predição 110 tem uma função para definir a informação de predição 126, de acordo com o modo de predição controlado pela unidade de controle de codificação 116. Como descrito acima, a intrapredição ou interpredição pode ser selecionada para a geração da imagem predita 127. Além disso, uma pluralidade de modos podem ser adicionalmente selecionados para cada uma das intrapredição ou interpredição. A unidade de controle de codificação 116 determina uma de uma pluralidade de modos de predição para a intrapredição e a interpredição de ser o modo de predição ideal. A unidade de seleção de predição 110 define a informação de predição 126 de acordo com o modo de predição ótimo determinado.
[0080] Por exemplo, em ligação com a intrapredição, a informação do modo de predição a partir da unidade de controle de codificação 116 é especificada na unidade de intrapredição 108. De acordo com a informação do modo de predição, a unidade de intrapredição 108 gera a imagem predita 127. A unidade de controle de codificação 116 pode especificar uma pluralidade de pedaços de informação do modo de predição, a fim de aumentar o número de modos de predição ou diminuir o número de modos de predição. Além disso, a unidade de controle de codificação 116 pode limitar o modo de predição, em conformidade com as características da imagem de entrada. A unidade de controle de codificação 116 não precisa especificar todos os modos de predição, mas pode especificar, pelo menos, uma parte da informação de modo de predição para o bloco alvo de codificação.
[0081] Por exemplo, a unidade de controle de codificação 116 determina o modo de predição ideal utilizando uma função de custo mostrada em:
Figure img0001
[0082] Na expressão (1), OH indica a quantidade de código para a informação de predição 126 (por exemplo, a informação do vetor de movimento e informações do tamanho do bloco de predição), e SAD denota a soma das diferenças absolutas entre o bloco de predição alvo e a imagem predita 127 (isto é, a soma acumulada dos valores absolutos do erro de predição 119). Ademais, X denota um multiplicador de Lagrange determinado com base no valor da informação de quantificação (parâmetro de quantificação), e K representa um custo de codificação. Se a expressão (1) é utilizada, o modo de predição que minimiza o custo de codificação K é determinado para ser ótimo em termos de quantidade de código gerado e os erros de predição. Como uma modificação da expressão (1), o custo de codificação pode ser avaliado apenas a partir do OH ou do SAD ou através da utilização de um valor obtido através da realização de uma transformação de Hadamard na SAD ou um valor aproximado do mesmo.
[0083] Além disso, o modo de predição ótimo pode ser determinado usando uma unidade de codificação provisória (não mostrada nos desenhos). Por exemplo, a unidade de controle de codificação 116 determina o modo de predição ótimo utilizando uma função de custo mostrado em:
Figure img0002
[0084] Na expressão (2), D denota a soma das diferenças elevadas ao quadrado (isto é, a distorção codificante) entre o bloco de predição alvo e uma imagem local descodificada, R denota a quantidade de código estimada que codifica provisoriamente o erro de predição entre o bloco de predição alvo e a imagem predita 127 para o modo de predição, e J representa o custo de codificação. Para derivar o custo de codificação na expressão (2), um processo provisório de codificação e um processo de decodificação local, têm de ser realizados em cada um dos modos de predição. Isso aumenta a escala de circuitos relevantes ou a quantidade de cálculos. Por outro lado, o custo de codificação J é derivada com base em uma codificação da distorção mais precisa e uma quantidade mais precisa do código. Portanto, o modo de predição ótimo é determinado com precisão para permitir uma alta eficiência de codificação de ser facilmente mantida. Como uma modificação da expressão (2), o custo de codificação pode ser avaliado apenas a partir do R ou D ou pela utilização de um valor aproximado para o R ou D. Além disso, a unidade de controle de codificação 116 pode, com antecedência, diminuir número de candidatos para o modo de predição do qual é determinado usando a expressão (1), ou a expressão (2), com base em informação pré-obtida para o bloco de predição alvo (modos de predição para os blocos de pixels adjacentes, os resultados das análises de imagem, e semelhantes).
[0085] A unidade de controle 116 controla a codificação dos componentes do aparelho de codificação de imagem na FIG. 1. Especificamente, a unidade de controle 116 executa operações de controle de codificação diferentes para um processo de codificação, incluindo as operações acima descritas.
[0086] O conjunto de unidades de matrizes transformada 1D 112 gera um conjunto de matrizes transformada 129 com base na informação do modo de predição incluída na informação de predição 126 a partir da unidade de selecção de predição 110. O conjunto de unidades de matrizes transformada 1D 112, em seguida, insere a informação do conjunto de matrizes transformada 1D 129 para a unidade de transformação ortogonal 102 e a unidade de transformação ortogonal inversa 105. O conjunto de informação de matrizes transformada 1D 129 será descrito a seguir com detalhes.
[0087] A unidade de transformação ortogonal 102 de acordo com a presente concretização será descrita abaixo com detalhes, com referência à FIG. 2.
[0088] A unidade de transformação ortogonal 102 inclui um comutador de seleção 201, uma unidade de transformação vertical 202, uma unidade de transposição 203, um comutador de seleção 204, e uma unidade de transformação horizontal 205. A unidade de transformação vertical 202 inclui uma unidade de transformação ortogonal 1D A 206 e uma unidade de transformação ortogonal 1D B 207. A unidade de transformação horizontal 205 inclui uma unidade de transformação ortogonal 1D A 208 e uma unidade de transformação ortogonal 1D B 209. A ordem da unidade de transformação vertical 202 e a unidade de transformação horizontal 205 é ilustrativa e pode ser invertida.
[0089] A unidade de transformação ortogonal 1D A 206 e a unidade de transformação ortogonal 1D A 208 tem funções comuns na medida em que ambas as unidades multiplicam uma matriz de entrada por uma matriz de transformada 1D A. A unidade de transformação ortogonal 1D B 207 e a unidade de transformação ortogonal 1D B 209 tem funções em comum pois ambas as unidades multiplicam uma matriz de entrada por uma matriz de transformada 1D B. Assim, a unidade de transformação ortogonal 1D A 206 e a unidade de transformação ortogonal 1D A 208 podem também ser implementadas por meio do mesmo hardware fisicamente em uma forma de divisão de tempo. Isto também se aplica para a unidade de transformação ortogonal 1D B 207 e para a unidade de transformação ortogonal 1D B 209.
[0090] O comutador de seleção 201 conduz o erro de predição 119 para um da unidade de transformação ortogonal 1D A 206 e a unidade de transformação ortogonal 1D B 207, de acordo com um índice de transformada vertical, incluído no conjunto de informação da matriz de transformada 1D 129. A unidade de transformação ortogonal 1D A 206 multiplica o erro de predição de entrada (matriz) 119 por uma matriz de transformada 1D A e gera o produto. A unidade de transformação ortogonal B 207 multiplica o erro de predição de entrada 119 por uma matriz de transformada 1D B e gera o produto. Especificamente, a unidade de transformação ortogonal 1D A 206 e a unidade de transformação ortogonal 1D B 207 (isto é, a unidade de transformação vertical 202) realiza uma transformação ortogonal unidimensional mostrada na expressão (3) para eliminar uma correlação vertical no erro de predição 119.
Figure img0003
[0091] Na expressão (3), X denota uma matriz (N x N) do erro de predição 119, V compreensivamente denota a matriz de transformada 1D A e a matriz de transformada 1D B (ambas são matrizes NxN), e Y denota uma matriz de saída (N x N) a partir de cada uma das unidades de transformação ortogonal 1D A 206 e a unidade de transformação ortogonal 1D B 207. Especificamente, a matriz de transformada V é uma matriz N x N onde uma matriz de transformada de base concebida para eliminar a correlação vertical na matriz X é verticalmente como vetores linha. No entanto, como descrito abaixo, a matriz de transformada 1D A e a matriz de transformada 1D B são concebidas de maneiras diferentes e têm diferentes tipos de natureza.
[0092] A matriz de transformada 1D A e a matriz de transformada 1D B podem usar números inteiros obtidos pela transformada concebida com base sujeita à multiplicação por escalar.
[0093] Aqui, se o erro de predição 119 é um bloco retangular expresso como M x N, o tamanho do bloco a ser transformado ortogonalmente também pode ser M x N.
[0094] A unidade de transposição 203 transpõe a matriz de saída (Y) a partir da unidade de transformação vertical 202 e fornece a matriz transposta de saída (Y) para o comutador de seleção 204. No entanto, a unidade de transposição 203 é ilustrativa, e o hardware correspondente não tem necessariamente de ser preparado. Por exemplo, a matriz de saída (Y) podem ser transposta sem a necessidade de preparar o hardware correspondente à unidade de transposição 203, guardando os resultados de uma transformação ortogonal 1D realizada pela unidade de transformação vertical 202 (cada um dos elementos da matriz de saída a partir da unidade de transformação vertical 202) e carrega os resultados de uma forma adequada quando a unidade de transformação horizontal 205 realiza uma transformação ortogonal 1D.
[0095] O comutador de seleção 204 conduz a matriz de entrada a partir da unidade de transposição 203 para uma unidade de transformação ortogonal 1D A 208 e a unidade de transformação ortogonal 1D B 209, de acordo com um índice de transformada horizontal incluído no conjunto de informação da matriz de transformada 1D 129. A unidade de transformação ortogonal 1D A 208 multiplica a matriz de entrada pela matriz de transformada 1D A e gera o produto. A unidade de transformação ortogonal 1D B 209 multiplica a matriz de entrada pela matriz de transformada 1D B e gera o produto. Especificamente, a unidade de transformação ortogonal 1D A 208 e a unidade de transformação ortogonal 1D B 209 (ou seja, a unidade de transformação horizontal 205) realiza uma transformação ortogonal unidimensional mostrada na expressão (4), para eliminar uma correlação horizontal no erro de predição.
Figure img0004
[0096] Na expressão (4), H denota compreensivamente a matriz de transformada 1D A e a matriz de transformada 1D B (ambas são matrizes N x N), e Z denota uma matriz de saída (N x N) a partir de cada uma das unidades de transformação ortogonal 1D A 208 e a unidade de transformação ortogonal 1D B 209; a matriz de saída é indicativo do coeficiente de transformada 120. Especificamente, a matriz de transformada H é uma matriz de transformada N x N onde uma transformada de base concebida para eliminar a correlação horizontal na matriz Y é verticalmente arranjada como vetores linha. Como descrito acima, a matriz de transformada 1D A e a matriz de transformada 1D B são concebidas de maneiras diferentes e têm diferentes tipos de natureza. Além disso, a matriz de transformada 1D A e a matriz de transformada 1D B podem usar números inteiros obtidos pela transformada base concebida que são submetidos a multiplicação escalar.
[0097] Como descrito acima, a unidade de transformação ortogonal 102 realiza uma transformação ortogonal, de acordo com o conjunto de informações da matriz de transformada 1D 129 inserido a partir da unidade conjunto de matriz de transformada 1D 112, onde o erro de predição (matriz) 119 para gerar o coeficiente de transformada de (matriz) 120. Com H. 264 levada em consideração, a unidade de transformação ortogonal 102 pode incluir uma unidade de transformada coseno discreta (não mostrada nos desenhos), ou uma das matrizes transformada 1D A e 1D B podem ser substituídas por uma matriz de DCT. Por exemplo, a matriz de transformada 1D B pode ser uma matriz de transformada para DCT. Além disso, a unidade de transformação ortogonal 102 pode executar, além da DCT, várias transformações ortogonais, tais como a transformação de Hadamard, transformação Karhunen Loeve descritas abaixo, e a transformada de seno discreta.
[0098] Agora, a diferença de natureza entre a matriz de transformada 1D A e a matriz de transformada 1D B será descrita. Alguns modos de intrapredição suportados pela H. 264 e semelhantes geram uma imagem predita por cópia, ao longo de uma direção de predição, um grupo de pixels de referência em uma ou ambas as linhas adjacentes localizadas à esquerda e acima do bloco de predição alvo ou realizam a cópia semelhante após interpolação. Ou seja, este modo de intrapredição seleciona, pelo menos, um pixel de referência a partir do grupo de pixels de referência de acordo com a direção de predição e copia o pixel de referência ou realiza uma interpolação utilizando os pixels de referência, para gerar uma imagem predita. O modo de intrapredição utiliza a correlação espacial de uma imagem e, assim, tem uma acurácia de precisão o que tende a diminuir com o aumento da distância a partir do pixel de referência. Isto é, o valor absoluto do erro de predição é susceptível à aumento de forma consistente com a distância a partir do pixel de referência. A tendência é semelhante exibida independentemente do sentido de predição. Mais especificamente, em conexão com os modos de intrapredição (por exemplo, o modo 1 e modo de 8 na FIG. 7A), em que apenas o grupo de pixels de referência sobre a linha localizada à esquerda e adjacente ao bloco de predição alvo é referenciado (os valores de pixel dos pixels de referência são copiados ou uma interpolação é realizada utilizando os pixels de referência), o erro de predição apresenta a tendência na direção horizontal. Em conexão com os modos de predição, onde apenas o grupo de pixels na linha de referência que se encontram acima e adjacente ao bloco de predição alvo é referenciado (por exemplo, o modo 0, modo 3, e o modo 7 na FIG. 7A), o erro de predição apresenta a tendência na direção vertical. Além disso, em conexão com os modos de predição (por exemplo, o modo 4, modo de 5, e modo 6 FIG. 7A), em que os grupos de pixels de referência sobre a linha localizadas à esquerda e adjacentes ao bloco de predição alvo na linha localizada acima e adjacente ao bloco de predição alvo são referenciados, o erro de predição exibe tal tendência na direção horizontal e vertical. Em geral, a tendência é exibida na direção ortogonal à linha do grupo de pixels de referência utilizado para gerar uma imagem predita.
[0099] A matriz de transformada 1D A é gerada por pré- concepção de uma base de transformada comum, de modo a aumentar, em comparação com a matriz de transformada 1D B, uma densidade de coeficiente após a transformação ortogonal 1D (isto é, para reduzir a taxa de coeficientes não nulos nos coeficientes de transformada quantificados 121) na direção ortogonal (direção vertical ou horizontal). Por outro lado, a matriz de transformada 1D B é gerada através da concepção de uma matriz de transformada de uso geral não tendo tal natureza. Por exemplo, a transformação de uso geral é TCD. A eficiência de transformação do erro de predição na intrapredição, assim, a eficiência de codificação é melhorada através da realização de uma transformação ortogonal 1D na direção ortogonal através da matriz de transformada 1D A. Por exemplo, o erro de predição 119 no modo 0 (predição vertical) exibe a tendência na direção vertical, mas não na direção horizontal. Assim, a transformação ortogonal eficiente pode ser alcançada através da realização de uma transformação ortogonal 1D na unidade de transformação vertical 202 utilizando a matriz de transformada 1D A e realização de uma transformação ortogonal 1D na unidade de transformação horizontal 205 utilizando a matriz de transformada 1D B.
[0100] A unidade de transformação ortogonal inversa 105 de acordo com a presente concretização será descrito abaixo em detalhes, com referência à FIG. 3.
[0101] A unidade de transformação ortogonal inversa 105 inclui um comutador de seleção 301, uma unidade de transformação vertical inversa 302, uma unidade de transposição 303, um comutador de seleção 304, e uma unidade de transformada inversa horizontal 305. A unidade de transformação vertical inversa 302 inclui uma unidade de transformação ortogonal inversa 1D A 306 e uma unidade de transformação ortogonal inversa 1D B 307. A unidade de transformação horizontal inversa 305 inclui uma unidade de transformação ortogonal inversa 1D A 308 e uma unidade de transformação ortogonal inversa 1D B 309. A ordem da unidade de transformação vertical inversa 302 e a unidade de transformação horizontal inversa 305 é ilustrativa e pode ser revertida.
[0102] A unidade de transformação ortogonal inversa 1D A 306 e a unidade de transformação ortogonal inversa 1D A 308 possui funções comuns em que ambas as unidades multiplicam uma matriz de entrada por uma matriz transposta da matriz de transformada 1D A. A unidade de transformação ortogonal inversa 1D B 307 e a unidade de transformação ortogonal inversa 309 B têm funções comuns em que ambas as unidades multiplicam uma matriz de entrada por uma matriz transposta da matriz de transformada 1D B. Deste modo, a unidade de transformação ortogonal inversa 1D A 306 e a unidade de transformação ortogonal inversa 1D A 308 também podem ser fisicamente implementadas usando o mesmo hardware de uma forma de divisão de tempo. Isto também se aplica para a unidade de transformação ortogonal inversa 1D B 307 e a unidade de transformação ortogonal inversa 1D B 309.
[0103] O comutador de seleção de 301 conduz a coeficientes de transformada restaurados 122 para uma unidade de transformação ortogonal inversa 1D A 306 e a unidade de transformação ortogonal inversa 1D B 307, de acordo com o índice de transformação vertical, incluído no conjunto de informação da matriz de transformada 1D 129. A unidade de transformação ortogonal inversa 1D A 306 multiplica a os coeficientes de transformada de entrada 122 (forma de matriz) por uma matriz transposta da matriz de transformada 1D A e gera o produto. A unidade de transformação ortogonal inversa 1D B 307 multiplica os coeficientes de transformada restaurados de entrada 122 por uma matriz transposta da matriz de transformada 1D B e gera o produto. Especificamente, a unidade de transformação ortogonal inversa 1D A 306 e a unidade de transformação ortogonal inversa 1D B 307 (isto é, a unidade de transformação vertical inversa 302) realiza uma transformação ortogonal inversa unidimensional mostrada em:
Figure img0005
[0104] Na expressão (5), Z' representa uma matriz (N x N) de coeficientes de transformada restaurados a 122, VT denota de forma compreensiva as matrizes transpostas da matriz de transformada 1D A e a matriz de transformada 1D B B (ambas são matrizes NxN), e Y 'representa uma matriz de saída (N x N) a partir de cada uma das unidades de transformação ortogonal inversa 1D A 306 e a unidade de transformação ortogonal inversa 1D B 307.
[0105] A unidade de transposição 303 transpõe a matriz de saída (Y') a partir da unidade de transformação vertical inversa 302 e gera a matriz transposta de saída para o comutador de seleção de 304. No entanto, a unidade de transposição 303 é ilustrativa, e o hardware correspondente não tem necessariamente de ser preparado. Por exemplo, a matriz de saída (Y) podem ser transposta, sem a necessidade de preparar o hardware correspondente para unidade de transposição 303, salvando os resultados de uma transformação ortogonal inversa 1D realizada pela unidade de transformação vertical 302 (cada um dos elementos da matriz de saída da unidade de transformação vertical inversa 302) e carregar os resultados de uma forma adequada quando a unidade de transformada horizontal inversa 305 realiza uma transformação ortogonal inversa 1D.
[0106] O comutador de seleção de 304 conduz a matriz de entrada da unidade de transposição 303 para uma unidade de transformação ortogonal inversa 1D A 308 e a unidade transformação ortogonal inversa 1D B 309, de acordo com um índice de transformada horizontal incluído no conjunto de informação da matriz de transformada 1D 129. A unidade de transformação ortogonal inversa 1D A 308 multiplica a matriz de entrada pela matriz transposta da matriz de transformada 1D A e gera o produto. A unidade de transformação ortogonal inversa 1D B 309 multiplica a matriz de entrada pela matriz transposta da matriz de transformada 1D B e gera o produto. Especificamente, a unidade de transformação ortogonal inversa 1D A 308 e a unidade de transformação ortogonal inversa 1D B 309 (isto é, a unidade de transformação horizontal inversa 305) realizam uma transformação ortogonal inversa unidimensional mostrado em:
Figure img0006
[0107] Na expressão (6), HT compreensivamente representa as matrizes transpostas da matriz de transformada A e a matriz de transformada B 1D (ambas são matrizes x N N), e X' representa uma matriz de saída (N x N) de cada uma das unidades de transformação ortogonal inversa A 308 e a unidade de transformação ortogonal inversa 1D B 309; a matriz de saída é indicativo de erro de predição 123 restaurado.
[0108] Como descrito acima, a unidade de transformação ortogonal inversa 105 realiza uma transformação ortogonal, de acordo com o conjunto de informação da matriz de transformada 1D 129 retira da unidade de conjunto da matriz de transformada 1D 112, nos coeficientes de transformada restaurados (matriz) 122 para gerar o erro de predição restaurado (matriz) 123. Com H. 264 tomado em consideração, a unidade de transformação ortogonal inversa 105 pode incluir uma unidade de coseno discreta inversa (não mostrada nos desenhos), ou uma das matrizes transformada 1D A e 1D B podem ser substituídas por uma matriz de TCD. Por exemplo, a matriz de transformada 1D B pode ser uma matriz de transformada para TCD. Além disso, a unidade de transformação ortogonal inversa 105 pode executar, além da TCDI, transformações ortogonais inversas correspondem a várias transformações ortogonais, tais como a transformação de Hadamard, transformada Karhunen Loeve descrita abaixo, e a transformada seno discreta para coordenação com a unidade de transformação ortogonal 102.
[0109] O conjunto de informação de matriz de transformada 1D 129 de acordo com a presente concretização, que é gerado pela unidade de conjunto de matriz de transformada 1D 112 será descrita a seguir detalhadamente.
[0110] O conjunto de informação da matriz de transformada 1D 129 indica, diretamente ou indiretamente, o índice de transformada vertical para a seleção de uma matriz de transformada para utilização na transformação ortogonal vertical e transformação ortogonal vertical inversa, e o índice de transformação horizontal para a selecção de uma matriz de transformada para utilização em transformação ortogonal horizontal e transformação ortogonal horizontal inversa. Por exemplo, o conjunto de informação da matriz de transformada 1D 129 pode ser expresso por um índice de transformação (TrasformIdx) mostrado na FIG. 4D. Em referência à tabela na FIG. 4D, permite que um índice de transformação vertical (Vertical Transform Idx) e um índice de transformada horizontal (Horizontal Transform Idx) seja derivado a partir do índice de transformação.
[0111] Como mostrado na FIG. 4B, um índice de transformada vertical de “0” permite a seleção da matriz de transformada 1D A (1D_Transform_Matrix_A) ou a matriz transposta da mesma para a transformação ortogonal vertical ou transformação ortogonal vertical inversa. Por outro lado, um índice de transformada vertical de “1” permite a seleção da matriz de transformada 1D B (1D_Transform_Matrix_B) ou a matriz transposta da mesma para a transformação ortogonal vertical ou transformação ortogonal vertical inversa.
[0112] Como mostrado na FIG. 4C, um índice de transformada horizontal de “0” permite a seleção da matriz de transformada 1D A (1D_Transform_Matrix_A) ou a matriz transposta da mesma para a transformação ortogonal horizontal ou transformação ortogonal horizontal inversa. Por outro lado, um índice de transformada horizontal “1” permite a seleção da matriz de transformada 1D B (1D_Transform_Matrix_B) ou a matriz transposta da mesma para a transformação ortogonal horizontal ou transformação ortogonal horizontal inversa.
[0113] Além disso, a FIG. 4A ilustra o índice para cada modo de (intra-)predição (IntraNxNPredModeIndex), o seu nome (Nome de IntraNxNPredMode), e o índice de transformada vertical correspondente e índice de transformada horizontal. Na FIG. 4A, “NxN” é indicativo do tamanho do bloco de predição alvo (N = 4, 8, 16, ou semelhantes). O tamanho do bloco de predição alvo pode ser expandido para “MxN” (isto é, que sejam retângulos e não quadrados).
[0114] FIG. 4E é obtida pela integração da FIG. 4A e a da FIG. 4D e mostra o índice para cada modo de predição, o nome do índice e o índice de transformada correspondente.
[0115] A unidade de conjunto de matriz de transformada 1D 112 detecta o índice do modo de predição a partir da informação do modo de predição incluídos na informação de predição 126. A unidade de conjunto de matriz de transformada 1D 112, em seguida, gera o conjunto de informação da matriz de transformada correspondente 1D 129. As tabelas mostradas nas FIG. 4A, FIG. 4B, a FIG. 4C, a FIG. 4D, e FIG. 4E são ilustrativas. A unidade de conjunto de matriz de transformada 1D 112 pode gerar o conjunto de informação da matriz de transformada 1D 129, evitando o uso de alguns ou de todas as tabelas.
[0116] Por exemplo, o indicativo de 0 TransformIdx significa que o índice de transformada vertical indica 0 e que o índice de transformada horizontal indica 0. Isto significa que a matriz de transformada 1D A é utilizada para a transformação ortogonal vertical e que a matriz de transformada 1D A é utilizada para a transformação ortogonal horizontal. Estes valores de índices também significam que a matriz transposta da matriz de transformada 1D A é usada para transformação ortogonal vertical inversa e que a matriz transposta da matriz de transformada 1D A é utilizada para transformação ortogonal horizontal inversa.
[0117] O indicativo de 1 TransformIdx significa que o índice de transformada vertical indica 0 e que o índice de transformada horizontal indica 1. Isto significa que a matriz de transformada 1D A é utilizada para a transformação ortogonal vertical e que a matriz de transformada 1D B é utilizads para a transformação ortogonal horizontal. Estes valores de índices também representam que a matriz transposta da matriz de transformada 1D A é utilizada para transformação ortogonal vertical inversa e que a matriz transposta da matriz de transformada 1D B é utilizada para a transformação ortogonal horizontal inversa.
[0118] O indicativo de 2 TransformIdx significa que o índice de transformada vertical indica 1 e que o índice de transformada horizontal indica 0. Isto significa que a matriz transforamda 1D B é utilizado para a transformação ortogonal vertical e que a matriz de transformada 1D A é utilizada para a transformação ortogonal horizontal. Estes valores de índices também representam que a matriz transposta da matriz de transformada 1D B é utilizada para a transformação ortogonal vertical inversa e que a matriz transposta da matriz de transformada 1D A é utilizada para transformação ortogonal horizontal inversa.
[0119] O indicativo de 3 TransformIdx significa que o índice de transformada vertical indica 1 e que o índice de transformada horizontal indica 1. Isto significa que a matriz de transformada 1D B é utilizada para a transformação ortogonal vertical e que a matriz de transformada 1D B é utilizada para a transformação ortogonal horizontal. Estes valores de índices também representam que a matriz transposta da matriz de transformada 1D B é utilizada para a transformação ortogonal vertical inversa e que a matriz transposta da matriz de transformada 1D B é utilizada para a transformação ortogonal horizontal inversa.
[0120] A tabela mostrada na FIG. 4A atribui o conjunto de informação da matriz de transformada 129 tendo a tendência descrita acima de cada modo de intrapredição levado em consideração. Ou seja, 0 é atribuído ao índice de transformação vertical para os modos de predição que exibem a tendência no sentido vertical do erro de predição. 0 é atribuído ao índice de transformada horizontal para os modos de predição que exibem a tendência na direção horizontal. Por outro lado, 1 é atribuído a cada uma das direções não exibem a tendência. Quando as direções vertical e horizontal dos modos de predição são classificadas em duas classes, dependendo ou não se a tendência está presente e a matriz de transformada 1D A ou a matriz de transformada 1D B é adaptativamente aplicada a cada uma das direções vertical e horizontal, a maior eficiência de transformada pode ser alcançada num caso em que a transformação ortogonal fixa, tais como TCD é uniformemente aplicada aos modos de predição.
[0121] A unidade de controle da ordem dos coeficientes 113 será descrita a seguir com detalhes.
[0122] A unidade de controle da ordem dos coeficientes 113 transforma os coeficientes de transformada quantificados 121, que são uma expressão bidimensional, em uma sequência de coeficientes de transforamada quantificados 117 que é uma expressão unidimensional, organizando os elementos de coeficientes de transformada quantificados 121 de acordo com uma ordem pré-determinada . A título de exemplo, a unidade de controle da ordem dos coeficientes 113 pode realizar uma transformação 2D-1D comum, independentemente do modo de predição. Especificamente, a unidade de controle da ordem dos coeficientes 113 pode utilizar uma varredura em zigue-zague como é o caso do H. 264. A varredura em zigue-zague organiza os elementos dos coeficientes de transformada quantificados 121 em tal ordem, como mostrada na FIG. 8A e transforma os elementos em tal sequência de coeficientes de transformada quantificados 117, como mostrado na FIG. 8B. Na FIG. 8A e FIG. 8B, (i,j) indica as coordenadas (informações de posição) de cada elemento nos coeficientes de transformada quantificados (matriz) 121. Além disso, a FIG. 8C mostra uma transformação 2D-1D, utilizando a varredura ziguezague (no caso de um bloco de pixels 4 x 4). Especificamente, a FIG. 8C mostra um índice (idx) indicativo da ordem dos coeficientes (a ordem de varreduras) em sequência de coeficientes de transformada quantificados 117 sujeita à transformação 2D-1D, utilizando a varredura ziguezague, e os elementos correspondentes (cij) dos coeficientes de transformada quantificados 121. Na FIG. 8C, cij indica os elementos com as coordenadas (i,j) nos coeficientes de transformada quantificados (matriz) 121.
[0123] Em outro exemplo, a unidade de controle da ordem de coeficientes 113 pode realizar transformações1D 2D individuais para os respectivos modos de predição. A unidade de controle da ordem de coeficientes 113 que realiza tal operação, encontra-se ilustrada na FIG. 5A. A unidade de controle da ordem de coeficientes 113 inclui um comutador de seleção 501 e as unidades de transformações 2D-1D individuais 502,. . . , e 510 para os respectivos nove tipos de modos de predição. De acordo com a informação do modo de predição (por exemplo, os índices dos modos de predição na FIG. 4A) incluídos na informação de predição 126, o comutador de seleção 501 conduz os coeficientes de transformada quantificados 121 para a unidade de transformação 2D-1D correspondente ao modo de predição (uma das unidades de transformação 2D-1D 502, ..., 510). Por exemplo, um índice de modo de predição de 0 permite que o comutador de seleção 501 de conduzir os coeficientes de transformada quantificados 121 para a unidade de transformação 2D-1D 502. Na FIG. 5A, os modos de predição e as unidades de transformação 2D-1D estão numa correspondência de um-para-um. Coeficientes de transformada quantificados 121 são levados para uma unidade de transformação 2D-1D correspondente ao modo de predição. FIG. 9 ilustra a transformação 2D-1D realizada para cada uma das unidades de transformação 2D-1D 502,. . ., 510 (no caso de um bloco de pixels 4 x 4). Uma técnica específica de desenho para a transformação 2D-1D, para cada modo de predição, como mostrado na FIG. 9 será descrita a seguir. FIG. 9 mostra o índice (idx) indicativo da ordem dos coeficientes (a ordem das varreduras) em uma sequência de coeficientes de transformada quantificados 117 sujeita à transformação 2D-1D pela unidade de transformação 2D-1D correspondente a cada modo de predição, e os elementos correspondentes (cij) dos coeficientes de transformada quantificados 121. Na FIG. 9, cij indica os elementos com as coordenadas (i, j) dos coeficientes de transformada quantificados (matriz) 121. Além disso, na FIG. 9, cada modo de predição é expresso pelo seu nome, e a correspondência entre os nomes e o índice do modo de predição é como se mostra na FIG. 4A. Assim, a aplicação das transformações individuais 2D-1D para os respectivos modos de predição, por exemplo, permite que os coeficientes a serem varridos em uma ordem apropriada para a tendência de gerar coeficientes diferentes de zero em coeficientes de transformada quantificados 121 para cada modo de predição. Isto melhora a eficiência da codificação.
[0124] Para efeito de simplificação, o exemplo relativo ao bloco de pixels 4 x 4 é mostrado. No entanto, para um bloco de pixels 8 x 8, um bloco de pixels 16 x 16, e similares, as transformações individuais 2D-1D para os respectivos modos de predição podem ser definidas de forma semelhante. Além disso, se o bloco de pixels for um bloco retangular expresso como M x N, o tamanho do bloco a ser submetido a transformação 2D-1D também pode ser M x N. Neste caso, para o bloco retangular, tais transformações individuais 2D-1D como ilustradas na FIG. 9 podem ser definidas para os respectivos modos de predição.
[0125] Em outro exemplo, ainda, a unidade de controle da ordem dos coeficientes 113 pode atualizar dinamicamente a ordem de varredura para a transformação 2D-1D. A unidade de controle da ordem dos coeficientes 113 que realiza a operação, encontra-se ilustrada na FIG. 5B. A unidade de controle da ordem dos coeficientes 113 inclui o comutador de seleção 501, as unidades de transformação individual 2D-1D 502. . . , e 510 para os respectivos nove tipos de modos de predição, uma unidade contadora de frequência de ocorrência 511, e uma unidade de atualização da ordem dos coeficientes 512. O comutador de seleção 501 é descrito com referência à FIG. 5A. As unidades de transformação 2D-1D 502,. . . , E 510 para os respectivos nove tipos de modos de predição são diferentes das unidades de transformação 2D-1D mostradas na FIG. 5A, onde a ordem de varredura das unidades de transformação 2D-1D 502,. . . , e 510 é atualizada pela unidade de atualização da ordem dos coeficientes 512.
[0126] A unidade contadora de frequência de ocorrência 511 cria, para cada modo de predição, um histograma do número de ocorrências de coeficientes diferentes de zero em cada elemento da sequência de coeficientes da transformada quantificados 117. A unidade contadora de frequência de ocorrência 511 recebe o histrograma criado 513 para unidade de atualização da ordem dos coeficeintes 512.
[0127] A unidade de atualização da ordem dos coeficeintes 512 atualiza a ordem dos coeficientes em um tempo pré-determinado com base no histograma 513. A contagem pode ser, por exemplo, uma contagem quando um processo de codificação realizado numa unidade árvore de codificação está finalizada ou uma contagem quando um processo de codificação realizado numa única linha na unidade árvore de codificação é concluído.
[0128] Especificamente, a unidade de atualização da ordem dos coeficientes 512 se refere ao histograma 513 para atualizar a ordem dos coeficientes de um modo de predição com um elemento para o qual o número contado de ocorrências de coeficientes diferentes de zero é igual a ou maior do que um valor limite. Por exemplo, a unidade de atualização da ordem dos coeficientes 512 realiza a atualização de um modo de predição com um elemento para o qual o número contado de ocorrências de coeficientes diferentes de zero é de 16 ou mais. O estabelecimento de um limite para o número de ocorrências, permite-se que a ordem dos coeficientes seja atualizada globalmente, evitando assim a convergência para uma solução local ótima.
[0129] A unidade de atualização da ordem dos coeficientes 512 ordena, para o modo de predição da atualização alvo, os elementos em ordem decrescente de freqüência de ocorrência de coeficientes diferentes de zero. A ordenação pode ser alcançada de acordo com um algoritmo existente, por exemplo, ordenação bolha ou ordenação rápida A unidade de atualização da ordem dos coeficientes 512 recebe a informação de atualização da ordem dos coeficientes 514 indicativa da ordem de ordenação dos elementos para a unidade de transformação 2D-1D correspondente ao modo de predição da atualização alvo.
[0130] Uma vez que a informação da atualização da ordem dos coeficientes 514 é a entrada da unidade de transformação 2D-1D, a unidade de transformação 2D-1D realiza uma transformação 2D1D de acordo com o modo de digitalização atualizado. Se a ordem de varredura é atualizada dinamicamente, as ordens de varredura iniciais para as unidades de transformação 2D-1D precisam ser definidas. Por exemplo, a varredura ziguezague ou a ordem de varredura ilustrada na FIG. 9 pode ser utilizada como a ordem de varredura inicial.
[0131] A atualização dinâmica da ordem de varredura é esperado para atingir uma alta eficiência de codificação de maneira estável, mesmo se a tendência para gerar coeficientes diferentes de zero em coeficientes de transformada quantificados 121 variar em função da natureza da imagem prevista, a informação de quantificação (parâmetro de quantificação), e os semelhantes. Especificamente, a quantidade de código gerada ao longo da execução da codificação na unidade de codificação de entropia 114 pode ser reduzida.
[0132] Por razões de simplificação, H. 264 tenha sido ilustrada e no caso dos nove tipos de modos de predição tem sido descrita. No entanto, mesmo se o número de tipos de modo de predição for aumentado para 17, 33, ou algo semelhante, as transformações individuais 2D-1D dos respectivos modos de predição podem ser alcançadas pela adição de unidades de transformação 2D-1D correspondentes aos modos de predição resultantes a partir do aumento.
[0133] Tratamento efetuado no bloco de codificação alvo (unidade árvore de codificação), através do aparelho de codificação de imagem na FIG. 1 será descrito abaixo com referência à FIG. 10A e FIG. 10B. No exemplo mostrado na FIG. 10A e FIG. 10B, presume-se que a transformação ortogonal e transformação ortogonal inversa de acordo com a presente concretização (isto é, a transformação ortogonal adaptativa e a transformação ortogonal inversa com base no conjunto de informação da matriz de transformada 1D 129) são ativadas. No entanto, como descrito abaixo, a sintaxe pode ser especificada para fazer a transformação ortogonal e a transformação ortogonal inversa de acordo com a presente concretização desativadas.
[0134] Uma vez que a imagem de entrada 118 é a entrada do aparelho de codificação de imagem na FIG. 1 nas unidades do bloco de codificação alvo, um processo de codificação do bloco de codificação alvo é iniciado (etapa S601). A unidade de intrapredição 108 e a unidade de interpredição 109 utiliza a imagem de referência 125 salva na memória de imagem de referência 107 para gerar uma imagem intrapredita e uma imagem interpredita (etapa S602). A unidade de controle de codificação 116 determina o modo de predição ótimo em termos do custo de codificação acima descrito para gerar a informação de predição 126 (etapa S603). A informação de predição 126 é entrada para cada elemento pela unidade de seleção de predição 110, como descrito acima. Se a informação de predição 126 gerada na etapa S603 é indicativa de intrapredição, o processamento segue para a etapa S605. Se a informação de predição 126 gerada na etapa S603 é indicativo de interpredição, o processamento segue para a etapa S605'.
[0135] Na etapa S605, a unidade de subtração 101 subtrai a imagem (intra-) predita 127 do bloco de codificação alvo que gera o erro de predição 119. O processamento prossegue então para a etapa S606. Por outro lado, também na etapa S605’, a unidade de subtração 101 subtrai a imagem (inter) predita 127 do bloco de codificação alvo para gerar o erro de predição 119. O processamento prossegue então para a etapa S614'.
[0136] Na etapa S606, a unidade de conjunto de matriz de transformada 112 extrai a informação do modo de predição incluída na informação de predição 126 gerada na etapa S603. Com base na informação extraída do modo de predição (por exemplo, com referência à tabela na FIG. 4A), a unidade de conjunto de matriz de transformada 1D 112 gera o conjunto de informação da matriz de transformada 1D 129 (etapa S607). A unidade de conjunto de matriz de transformada 1D 112 envia o conjunto de informação da matriz de transformada 1D 129 para a unidade de transformação ortogonal 102 e para a unidade de transformação ortogonal inversa 105.
[0137] O comutador de seleção 201 na unidade de transformação ortogonal 102 seleciona a unidade de transformação ortogonal 1D A 206 ou a unidade de transformação ortogonal 1D B 207 baseada no conjunto de informação da matriz de transformada 1D 129 (etapa S608, etapa S609, e etapa S610). Por outro lado, o comutador de seleção 204 na unidade de transformação ortogonal 102 seleciona a unidade de transformação ortogonal 1D A 208 ou a unidade de transformação ortogonal 1D B 209 baseada no conjunto de informação da matriz de transformada 1D 129 (etapa S611, etapa S612, e etapa S613). O processamento prossegue então para a etapa S614.
[0138] Por exemplo, se o índice de transformação (TransformIdx), um exemplo do conjunto de informação da matriz de transformada 1D 129, é 0, o comutador de seleção 201 seleciona a unidade de transformação ortogonal 1D A 206 na unidade de transformação vertical 202 (etapa S609). Se TransformIdx é 0, o comutador de seleção 204 seleciona a unidade de transformação ortogonal 1D A 208 na unidade de transformação horizontal 205 (etapa S612). Se TransformIdx é 1, o comutador de seleção 201 seleciona a unidade de transformação ortogonal 1D A 206 na unidade de transformação vertical 202 (etapa S609). Se TransformIdx é 1, o comutador de seleção 204 seleciona a unidade de transformação ortogonal 1D B 209 na unidade de transformação horizontal 205 (etapa S613). Se TransformIdx é 2, o comutador de seleção 201 seleciona a unidade de transformação ortogonal 1D B 207 na unidade de transformação vertical 202 (etapa S610). Se TransformIdx é 2, o comutador de seleção 204 seleciona a unidade de transformação ortogonal 1D A 208 na unidade de transformação horizontal 205 (etapa S612). Se TransformIdx é 3, o comutador de seleção 201 seleciona a unidade de transformação ortogonal 1D B 207 na unidade de transformação vertical 202 (etapa S610). Se TransformIdx é 3, o comutador de seleção 204 seleciona a unidade de transformação ortogonal 1D B 209 na unidade de transformação horizontal 205 (etapa S613).
[0139] Na etapa S614, a unidade de transformação ortogonal 102 realiza uma transformação vertical e uma transformação horizontal que correspondem às definições feitas na etapa S608,. . . , e a etapa S613, o erro de predição 119 para gerar o coeficiente de transformada 120. Subsequentemente, a unidade de quantificação 103 quantifica os coeficientes de transformada 120 gerados na etapa S614 (etapa S615). O processamento prossegue então para a etapa S616.
[0140] Por outro lado, na etapa S614’, a unidade de transformação ortogonal 102 realiza a transformação ortogonal fixa, por exemplo, TCD, em que o erro de predição 119 para gerar o coeficiente de transformada 120. Subsequentemente, a unidade de quantificação 103 quantifica os coeficientes de transformada 120 gerados na etapa S614’, para gerar coeficientes de transformada quantificados 121 (etapa S615’). O processamento prossegue para a etapa S617'. A transformação ortogonal realizada na etapa S614 pode ser executada pela unidade de transformada coseno discreta (não mostrada nos desenhos), ou pela unidade de transformação ortogonal 1D B 207 e a unidade de transformação ortogonal 1D B 209.
[0141] Na etapa S616, a unidade de controle da ordem dos coeficientes 113 estabelece a ordem de varredura (isto é, no exemplo representado na FIG. 5A e FIG. 5B, a unidade para a qual o comutador de seleção 501 está ligado) com base na informação do modo de predição incluída na informação de predição 126 gerada na etapa S603. O processamento prossegue para a etapa S617. Se a unidade de controle da ordem dos coeficientes 113 executa a transformação 2D-1D comum, independentemente do modo de predição, a etapa S616 pode ser omitida.
[0142] Na etapa S617, a unidade de controle da ordem dos coeficientes 113 executa a transformação 2D-1D correspondente à definição feita na etapa S616, por coeficientes de transformada quantificados 121 para gerar a sequência de coeficientes de transformada quantificados 117. Subsequentemente, a unidade de codificação de entropia 114 realiza a codificação de entropia com os parâmetros de codificação, incluindo a sequência de coeficientes de transformada quantificados 117 (etapa S618). Os dados codificados 130 são gerados e, no momento apropriado, dirigidos pela unidade de controle de codificação 116. Por outro lado, a unidade desquantificação 104 desquantifica os coeficientes de transformada quantificados 121 para gerar os coeficientes de transformada restaurados 122 (etapa S619). O processamento segue para a etapa S620.
[0143] Na etapa S617', a unidade de controle da ordem dos coeficientes 113 executa, por exemplo, a transformação fixa 2D-1D, tais como a varredura ziguezague ou a transformação 2D-1D correspondente à Intra_NxN_DC na FIG. 9, na sequência de coeficientes de transformada quantificados 121 para gerar a sequência de coeficientes de transformada quantificados 117. Subsequentemente, a unidade de codificação de entropia 114 realiza a codificação de entropia com os parâmetros de codificação, incluindo a sequência de coeficientes de transformada quantificados 117 (etapa S618’). Os dados codificados 130 são gerados no momento apropriado, e dirigidos pela unidade de controle de codificação 116. Por outro lado, a unidade de desquantificação 104 desquantifica os coeficientes de transformada quantificados 121 para gerar os coeficientes de transformada restaurados 122 (etapa S619'). O processamento prossegue então para a etapa S626'.
[0144] O comutador de seleção 301 na unidade de transformação ortogonal inversa 105 seleciona a unidade de transformação ortogonal inversa 1D A 306 ou a unidade de transformação ortogonal inversa 1D B 307 baseada no conjunto de informação da matriz de transformada 1D 129 (etapa S620, etapa S621, e etapa S622). Por outro lado, o comutador de seleção 304 na unidade de transformação ortogonal inversa 105 seleciona a unidade de transformação ortogonal inversa 1D A 308 ou a unidade de transformação ortogonal inversa 1D B 309 baseada no conjunto de informação da matriz transforamda 1D 129 (etapa S623, etapa S624, e etapa S625). O processamento prossegue então para a etapa S626’.
[0145] Por exemplo, se o índice de transformação (TransformIdx), um exemplo do conjunto de informação da matriz de transformada 1D 129, é 0, o comutador de seleção 301 seleciona a unidade de transformação ortogonal inversa 1D A 306 na unidade de transformação vertical inversa 302 (etapa S621). Se TransformIdx é 0, o comutador de seleção 301 seleciona a unidade de transformação ortogonal inversa 1D A 308 na unidade de transformação horizontal inversa 305 (etapa S624). Se TransformIdx é 1, o comutador de seleção 301 seleciona a unidade de transformação ortogonal inversa 1D A 306 na unidade de transformação vertical inversa 302 (etapa S621). Se TransformIdx é 1, o comutador de seleção 304 seleciona a unidade de transformação ortogonal inversa 1D B 309 B na unidade de transformação horizontal inversa 305 (etapa S625). Se TransformIdx é 2, o comutador de seleção 301 seleciona a unidade de transformação ortogonal inversa 1D B 307 na unidade de transformação vertical inversa 302 (etapa S622). Se TransformIdx é 2, o comutador de seleção 304 seleciona a unidade de transformação ortogonal inversa 1D A 308 na unidade de transformação horizontal inversa 305 (etapa S624). Se TransformIdx é 3, o comutador de seleção 301 seleciona a unidade de transformação ortogonal inversa 1D B 307 na unidade de transformação vertical inversa 302 (etapa S622). Se TransformIdx é 3, o comutador de seleção 304 seleciona a unidade de transformação ortogonal inversa 1D 309 B na unidade de transformação horizontal inversa 305 (etapa S625).
[0146] Na etapa S626, a unidade de transformação ortogonal inversa 105 realiza uma transformação vertical e uma transformação horizontal que corresponde às definições feitas na etapa S620,. . . , e a etapa S625, sobre os coeficientes de transformada restaurados 122 para gerar o erro de predição restaurado 123. O processamento prossegue para a etapa S627. Na etapa S626’, a unidade de transformação ortogonal inversa 105 realiza uma transformação ortogonal inversa, por exemplo, TCDI, nos coeficientes de transformada restaurados 123 para gerar o erro de predição restaurado 123. O processamento prossegue então para a etapa S627. A transformação ortogonal inversa fixa realizada na etapa S626 pode ser implementada pela unidade de TCDI (não mostrada nos desenhos), ou pela unidade de transformação ortogonal inversa 1D B 307 e pela unidade de transformação ortogonal inversa 1D B 309.
[0147] Na etapa S627, a unidade de adição 106 adiciona o erro de predição restaurado 123 gerado na etapa S626 ou etapa S626' para a imagem predita 127 para gerar a imagem decodificada local 124. A imagem local decodificada 124 é salva na memória de imagem de referência 107 como uma imagem de referência. Assim, o processo de codificação do bloco alvo de codificação termina (etapa S628).
[0148] Uma técnica para a concepção da matriz de transformada 1D A e matriz de transformada 1E B será descrito abaixo. De acordo com H. 264, nove tipos de modos de predição são definidos para o bloco de pixels 4 x 4 e o bloco de pixels 8 x 8. Há quatro tipos de modos de predição que são definidos para o bloco de pixels 16 x 16.
[0149] Em primeiro lugar, o erro de predição 119 para cada modo de predição é gerado. Aqueles erros de predição 119 dos respectivos modos de predição são coletados os quais exibem, na direção vertical ou direção horizontal, a tendência acima descrita a ter um valor absoluto aumentado com a distância a partir do pixel de referência. Em seguida, a decomposição do valor singular é realizada em uma matriz, onde a direção com a tendência exibida na mesma é definida como uma direção de coluna e onde os erros de predição 119 estão dispostas em uma direção de linha. Assim, uma base ortogonal 1D é concebida, a qual elimina a correlação vertical na matriz. A base ortogonal 1D é disposta na direção da coluna como vetores linha para gerar a matriz de transformada 1D A.
[0150] Por outro lado, a decomposição do valor singular é realizada em uma matriz na qual a direção com a tendência não exibida na mesma é definida como a direção de coluna e em que os erros de predição 119 estão dispostos na direção de linha. Assim, uma base ortogonal 1D é gerada o que elimina a correlação vertical na matriz. A base ortogonal 1D é disposta na direção da coluna como vetores linha para gerar a matriz de transformada 1D B. A matriz de transformada 1D B pode ser simplesmente substituída por uma matriz de TCD. Para simplificação, a concepção do bloco de pixels 4 x 4 foi ilustrada. No entanto, as matrizes transformadas 1D para o bloco de pixels 8 x 8 e o bloco de pixels 16 x 16 podem ser concebidas de forma semelhante. Além disso, a técnica de concepção acima descrita é ilustrativa e o desenho pode ser realizado conforme necessário, com a natureza acima descrita de um erro de predição, levada em conta.
[0151] Uma técnica de concepção específica para a transformação 2D-1D, para cada modo de predição (ordem de varredura) como ilustrado na FIG. 9 será descrita a seguir. A ordem de varredura para cada modo de predição pode ser desenhada com base nos coeficientes de transformada quantificados 121 gerados pela unidade de quantificação 103. Por exemplo, o desenho do bloco de pixels 4 x 4 prepara uma pluralidade de imagens de formação para gerar um erro de predição 119 para cada um dos nove tipos de modos de predição. As transformações ortogonais mostradas na Expressão (3), e na Expressão (4) são realizadsd em cada um dos erros de predição 119 para gerar o coeficiente de transformada 120. Depois, os coeficientes de transformada 120 são quantificados. Em conexão com os coeficientes de transformada quantificados 121, o número de ocorrências de coeficientes diferentes de zero é adicionado de forma acumulativa para cada um dos elementos do bloco de pixels 4 x 4. A adição acumulativa é realizada em todas as imagens de formação para criar um indicativo de histograma da frequência de ocorrência de coeficientes diferentes de zero para cada um dos 16 elementos do bloco de pixels 4 x 4. Com base no histograma, índices de 0 a 15 são atribuídos aos elementos em ordem decrescente de frequência de ocorrência. Tal atribuição dos índices é individualmente realizada em todos os modos de predição. A ordem dos índices atribuídos é usada como o fim de verificação correspondente a cada modo de predição.
[0152] Para simplificação, o desenho do bloco de pixels 4 x 4 foi ilustrado. No entanto, as ordens de varredura para os blocos de pixels 8 x 8 e bloco de pixels 16 X 16 podem ser concebidas de forma semelhante. Além disso, mesmo que o número de modos de predição seja aumentado para 17, 33, ou qualquer outro valor, o desenho pode ser alcançado utilizando uma técnica similar. O método para atualizar dinamicamente a ordem de varredura é conforme descrito com referência à FIG. 5B.
[0153] A sintaxe utilizada pelo aparelho de codificação de imagem na FIG. 1 será descrita.
[0154] A sintaxe é indicativa da estrutura de dados codificados (por exemplo, os dados codificados 130 na FIG. 1) obtidos pelo aparelho de codificação de imagem dos dados de codificação de vídeo. Quando os dados codificados são decodificados, o aparelho de decodificação de imagem referencia a mesma estrutura sintaxe para interpretar a sintaxe. A FIG. 11 ilustra a sintaxe 700 utilizada pelo aparelho de codificação de imagem na FIG. 1.
[0155] A sintaxe 700 inclui três partes, isto é, sintaxe de nível alto 701, sintaxe de nível fatia 702, e sintaxe de nível árvore de codificação 703. A sintaxe de nível alto 701 inclui a informação de sintaxe de uma camada superior de uma fatia. A fatia refere-se a uma área retangular ou uma área contínua incluída em um quadro ou um campo. A sintaxe de nível fatia 702 inclui informações necessárias para decodificar cada fatia. A sintaxe de nível árvore de codificação 703 inclui a informação necessária para decodificar cada árvore de codificação (isto é, cada unidade de árvore de codificação). Cada uma destas partes compreende uma sintaxe mais detalhada.
[0156] A sintaxe de nível alto 701 inclui a sintaxe de nível sequência e a sintaxe de nível imagem como conjunto de parâmetros de sintaxe de sequência 704 e o conjunto de parâmetros de sintaxe de imagem 705. A sintaxe de nível fatia 702 inclui a sintaxe de cabeçalho fatia 706 e sintaxe de dados fatia 707. A sintaxe de nível árvore de codificação 703 inclui sintaxe da unidade de árvore de codificação 708 e sintaxe da unidade de predição 709.
[0157] A sintaxe da unidade de árvore de codificação 708 pode ter uma estrutura árvore quad. Especificamente, como um elemento sintaxe da sintaxe da unidade de árvore de codificação 708, a sintaxe da unidade da árvore de codificação 708 pode ainda ser chamada recursivamente. Isto é, uma unidade de árvore de codificação pode ser dividida em pedaços usando árvores quad. Além disso, a sintaxe da unidade da árvore de codificação 708 contém sintaxe da unidade transformada 710. A sintaxe da unidade transformada 710 é chamada em cada sintaxe da unidade da árvore de codificação 708 localizada na parte terminal da árvore quad. A sintaxe da unidade transformada 710 possui a informação sobre a transformação ortogonal inversa, quantificação, e semelhantes aqui descritas.
[0158] FIG. 12 ilustra a sintaxe de cabeçalho fatia 706 de acordo com a presente concretização. slice_directional_unified_transform_flag mostrada na FIG. 12 é, por exemplo, um elemento de sintaxe que indica se a transformação ortogonal e a transformação ortogonal inversa de acordo com a presente concretização são para ativar ou desativar uma determinada fatia.
[0159] slice_directional_unified_transform_flag de 0 significa que a transformação ortogonal e a transformação ortogonal inversa de acordo com a presente concretização são permitidas na fatia. Assim, a unidade de transformação ortogonal 102 e a unidade de transformação ortogonal inversa 105 realizam a transformação ortogonal fixa e transformação ortogonal inversa, tais como TCD e TCDI. A transformação ortogonal fixa e transformação ortogonal inversa podem ser realizadas pela unidade de transformação ortogonal 1D B 207, a unidade de transformação ortogonal 1D B 209, a unidade de transformação ortogonal inversa B307 1D, e a unidade de transformação ortogonal inversa 1D B309 (isto é, pela matriz de transformada 1D B) ou pela unidade de TCD e unidade TCDI (nenhuma das unidades é mostrada nos desenhos). Além disso, a unidade de controle da ordem dos coeficientes 113 realiza a transformação 2D-1D fixa (por exemplo, a varredura ziguezague). A transformação 2D-1D fixa pode ser efetuada pela unidade de transformação 2D-1D (modo 2) 504 ou por uma unidade de transformação em 2D-1D não mostrada nos desenhos.
[0160] A título de exemplo, slice_directional_unified_transform_flag de 1 significa que a transformação ortogonal e transformação ortogonal inversa de acordo com a presente concretização são permitidas em toda a fatia. Ou seja, o processo de codificação é realizado em conformidade com o fluxograma de codificação acima descrito na FIG. 10A e FIG. 10B. Isto é, o comutador de seleção 201 seleciona a unidade de transformação ortogonal 1D A 206 ou a unidade de transformação ortogonal 1D B 207 baseado no conjunto de informação da matriz de transformada 1D 129. O comutador de seleção 204 seleciona a unidade de transformação ortogonal 1D A 208 ou a unidade de transformação ortogonal 1D B 209 baseado no conjunto de informação da matriz de transformada 1D 129. Ademais, o comutador de seleção 301 seleciona a unidade de transformação ortogonal inversa 1D A 306 ou a unidade de transformação ortogonal inversa 1D B 307 com base no conjunto de informação da matriz de transformada 1D 129. O comutador de seleção de 304 seleciona a unidade de transformação ortogonal inversa 1D A 308 ou a unidade de transformação ortogonal inversa 1D B 309 com base no 1D transformada conjunto matriz de informação 129. Além disso, o comutador de seleção 501 seleciona uma das unidades de transformação 2D-1D 502,. . . , e 510 de acordo com a informação de modo de predição incluída na informação de predição 126.
[0161] Além disso, em outro exemplo, se slice_directional_unified_transform_flag é 1, uma sintaxe de uma camada inferior (tal como a unidade de árvore de codificação ou a unidade de transformação) pode ser especificada para indicar se a transformação ortogonal e a transformação ortogonal inversa de acordo com a presente concretização são ativas ou não para cada área local dentro da fatia.
[0162] FIG. 13 ilustra a sintaxe da unidade da árvore de codificação 708 de acordo com a presente concretização. ctb_directional_unified_transform_flag mostrada na FIG. 13 é um elemento de sintaxe que indica se a transformação ortogonal e a transformação ortogonal inversa de acordo com a presente concretização são ativas ou não em uma determinada unidade de codificação. Além disso, pred_mode mostrada na FIG. 13 é um elemento de sintaxe incluído na sintaxe da unidade de predição 709 e indica o tipo de codificação da unidade de árvore de codificação ou de um bloco macro. MODE_INTRA indica que o tipo de codificação é intrapredição. ctb_directional_unified_transform_flag é codificada apenas quando o slice_directional_unified_transform_flag acima descrito é 1 e quando o tipo de codificação da unidade de árvore de codificação é intrapredição.
[0163] ctb_directional_unified_transform_flag de 0 significa que a transformação ortogonal e a transformação ortogonal inversa de acordo com a presente concretização são desativadas na unidade de árvore de codificação. Assim, a unidade de transformação ortogonal 102 e a unidade de transformação ortogonal inversa 105 realizam a transformação ortogonal fixa e a transformação ortogonal inversa, tais como TCD e TCDI. A transformação ortogonal fixa e a transformação ortogonal inversa podem ser realizadas pela unidade de transformação ortogonal 1D B 207, a unidade de transformação ortogonal 1D B 209, a unidade de transformação ortogonal inversa 1D B 307, e a unidade de transformação ortogonal inversa 1D B 309 (que é, pela matriz de transformada 1D B) ou pela unidade de TCD e unidade TCDI (nenhuma das unidades é mostrada nos desenhos). Além disso, a unidade de controle da ordem dos coeficientes 113 executa a transformação 2D-1D fixa (por exemplo, a varredura ziguezague). A transformação 2D-1D fixa pode ser efetuada pela unidade de transformação 2D-1D (modo 2) 504 ou pela própria unidade de transformação 2D-1D não mostrada nos desenhos.
[0164] Por outro lado, ctb_directional_unified_transform_flag de 1 faz com que a transformação ortogonal e a transformação ortogonal inversa de acordo com a presente concretização, sejam permitidas na unidade de codificação. Em seguida, o processo de codificação é realizado, de acordo com o fluxograma de codificação acima descrito na FIG. 10A e FIG. 10B. Isto é, o comutador de seleção 201 seleciona a unidade de transformação ortogonal 1D A 206 ou a unidade de transformação ortogonal 1D B 207 com base no conjunto de informação da matriz de transformada 1D 129. O comutador de seleção 204 seleciona a unidade de transformação ortogonal 1D A 208 ou a unidade de transformação ortogonal 1D B 209 com base no no conjunto de informação da matriz de transformada 1D 129. Além disso, o comutador de seleção 301 seleciona a unidade de transformação ortogonal inversa 1D A 306 ou a unidade de transformação ortogonal inversa 1D B 307 com base no conjunto de informação da matriz de transformada 1D 129. O comutador de seleção 304 seleciona a unidade de transformação ortogonal inversa 1D A 308 ou a unidade de transformação ortogonal inversa 1D B 309 baseado no no conjunto de informação da matriz de transformada 1D 129. Além disso, o comutador de seleção 501 seleciona uma das unidades de transformação 2D-1D 502,. . . , e 510 de acordo com a informação de modo de predição incluída na informação de predição 126.
[0165] Quando a flag indicando se a transformação ortogonal e a transformação ortogonal inversa de acordo com a presente concretização são permitidas ou não permitidas, é codificada na sintaxe da unidade da árvore de codificação 708, como no exemplo da FIG. 13, a quantidade de informação (a quantidade de código) é aumentada em comparação com quando a flag não é codificada. No entanto, a codificação da flag permite a transformação ortogonal ótima a ser realizada para cada local (isto é, para cada unidade de árvore de codificação).
[0166] FIG. 14 ilustra a sintaxe da unidade de transformação 710 de acordo com a presente concretização. tu_directional_unified_transform_flag mostrado na FIG. 14 é um elemento de sintaxe indicando se a transformação ortogonal e a transformação ortogonal inversa de acordo com a presente concretização são permitidas ou não permitidas em uma determinada unidade transformada. Além disso, pred_mode mostrada na FIG. 14 é um elemento de sintaxe incluído na sintaxe da unidade de predição 709 e indica o tipo de codificação em uma determinada unidade de árvore de codificação ou bloco macro. MODE_INTRA indica que o tipo de codificação é intrapredição. tu_directional_unified_transform_flag é codificada apenas quando a slice_directional_unified_transform_flag acima descrita é 1 e quando o tipo de codificação da unidade de árvore de codificação é intrapredição.
[0167] tu_directional_unified_transform_flag de 0 faz com que a transformação ortogonal e a transformação ortogonal inversa de acordo com a presente concretização não sejam permitidas na unidade de transformação. Assim, a unidade de transformação ortogonal 102 e a unidade de transformação ortogonal inversa 105 realizam a transformação ortogonal fixa e a transformação ortogonal inversa, tais como TCD e TCDI. A transformação ortogonal fixa e a transformação ortogonal inversa podem ser realizadas pela unidade de transformação ortogonal 1D B 207, pela unidade de transformação ortogonal 1D B 209, pela unidade de transformação ortogonal inversa 1D B 307, e pela unidade de transformação ortogonal inversa 1D B 309 (que é, através da matriz de transformada 1D B) ou pela unidade de TCD e unidade TCDI (nenhuma das unidades são mostradas nos desenhos). Além disso, a unidade de controle da ordem dos coeficientes 113 realiza a transformação 2D-1D fixa (por exemplo, a varredura ziguezague). A transformação 2D-1D fixa pode ser efetuada pela unidade de transformação 2D-1D (modo 2) 504 ou pela própria unidade de transformação 2D-1D não mostrada nos desenhos.
[0168] Por outro lado, tu_directional_unified_transform_flag de 1 faz com que a transformação ortogonal e a transformação ortogonal inversa de acordo com a presente concretização sejam petrmitidas na unidade de transformação. Então, o processo de codificação é efetuado, de acordo com o fluxograma de codificação acima descrito na FIG. 10A e FIG. 10B. Isto é, o comutador de seleção 201 seleciona a unidade de transformação ortogonal 1D A 206 ou a unidade de transformação ortogonal 1D B 207 com base no conjunto de informação da matriz de transformada 1D 129. O comutador de seleção 204 seleciona a unidade de transformação ortogonal 1D A 208 ou a unidade de transformação ortogonal 1D B 209 com base no conjunto de informação da matriz de transformada 1D 129. Além disso, o comutador de seleção 301 seleciona a unidade de transformação ortogonal inversa 1D A 306 ou a unidade de transformação ortogonal inversa 1D B 307 com base no conjunto de informação da matriz de transformada 1D 129. O comutador de seleção 304 seleciona a unidade de transformação ortogonal inversa 1D A 308 ou a unidade de transformação ortogonal inversa 1D B 309 com base no conjunto de informação da matriz de transformada 1D 129. Além disso, o comutador de seleção 501 seleciona uma das unidades de transformação 2D-1D 502,. . . , e 510 de acordo com a informação do modo de predição incluída na informação de predição 126.
[0169] Quando a flag indicando se a transformação ortogonal e a transformação ortogonal inversa de acordo com a presente concretização estão ativadas ou desativadas é codificado na sintaxe da unidade de transformação 710, como no exemplo da FIG. 14, a quantidade de informação (a quantidade de código) é aumentada quando comparada com a flag não está codificada. No entanto, a codificação da flag permite que a transformação ortogonal ótima seja realizada para cada local (isto é, para cada unidade de transformação).
[0170] Elementos de sintaxe não especificados de acordo com a presente concretização ou descrições de outros ramos condicionais podem ser inseridos entre as linhas nas tabelas de sintaxe ilustradas na FIG. 12, FIG. 13 e FIG. 14. Além disso, a tabela de sintaxe pode ser dividida em uma série de tabelas ou uma série de sintaxes de tabelas podem ser unificados. Adicionalmente, os termos ilustrados para os elementos de sintaxe podem ser opcionalmente alterados.
[0171] Como descrito acima, o aparelho de codificação de imagem de acordo com a presente concretização utiliza a tendência de intrapredição para ter uma acurácia de predição reduzida com o aumento da distância a partir do pixel de referência. O aparelho de codificação de imagem classifica as direções vertical e horizontal dos modos de predição em duas classes, dependendo se há tendência ou não. O aparelho de codificação de imagem aplica ainda mais adaptativamente a matriz de transformada 1D A ou a matriz de transformada 1D B para cada uma das direções vertical e horizontal. A matriz de transformada 1D A é gerada pela pré-concepção de uma base de transformada comum, de modo a aumentar a densidade de coeficiente após transformação ortogonal 1D (isto é, para reduzir a taxa de coeficientes diferentes de zero em coeficientes de transformada quantificados 121) numa direção ortogonal para a linha do grupo de pixels de referência (direção vertical ou horizontal). Por outro lado, a matriz de transformada 1D B é gerada através da concepção de uma matriz de transformada de fins gerais não contendo tal natureza. Por exemplo, a transformação de finalidade geral é TCD. Assim, o aparelho de codificação de imagem de acordo com a presente concretização consegue uma eficiência de transformação elevada em comparação com o caso em que uma transformação ortogonal fixa, tal como DCT é uniformemente aplicada aos modos de predição.
[0172] Adicionalmente, a unidade de transformação ortogonal 102 e a unidade de transformação ortogonal inversa 105 de acordo com a presente concretização são adequadas tanto para a implementação de hardware e quanto para implementação de software.
[0173] Expressão (3) para expressão (6) expressa multiplicações de matrizes fixas. Assim, quando a unidade de transformação ortogonal e a unidade de transformação ortogonal inversa são implementadas por hardware, a implementação deve ser configurada usando lógica com fio rígido ao invés de multiplicadores.
[0174] Se a base de transformada dedicada é utilizada para cada um dos nove tipos de modos de intrapredição para conduzir a transformação ortogonal e a transformação ortogonal inversa, nove unidades de transformação ortogonal 2D precisa ser preparada ou 18 (= 9 x 2) unidades de transformação ortogonal 1D precisam ser preparadas como mostrado na FIG. 15. As nove unidades de transformação ortogonal 2D ou 18 unidades de transformação ortogonal 1D realizam multiplicações de matrizes transformada diferentes. Como resultado, além do hardware dedicado a TCD necessária para H. 264, as nove unidades de transformação ortogonal 2D ou 18 unidades de transformação ortogonal 1D são adicionalmente fornecidas. Isto aumenta a escala dos circuitos relevantes.
[0175] Por outro lado, como mostrado na FIG. 2 e FIG. 3, a unidade de transformação ortogonal e a unidade de transformação ortogonal inversa de acordo com a presente concretização utilizam uma combinação de duas (se uma unidade de transformação vertical (inversa) e uma unidade de transformação horizontal (inversa) são compartilhadas de uma forma de divisão de tempo) unidades de transformação ortogonal 1D com um circuito para transposição da matriz para realizar quatro tipos de transformações ortogonais bidimensionais. Assim, a unidade de transformação ortogonal e a unidade de transformação ortogonal inversa de acordo com a presente concretização permitem um aumento da escala de circuito na implementação de hardware para ser significativamente suprimida.
[0176] Além disso, se uma base de transformada dedicada é utilizada para cada um dos nove tipos de modos de intrapredição para conduzir a transformação ortogonal e a transformação ortogonal inversa, a implementação de software está prevista para ser a seguinte. Nove matrizes transformada ortogonal 2D ou 18 (= 9 x 2) matrizes de transformada ortogonal 1D são salvas em uma memória. Cada uma das matrizes trasformada é invocada para um dos modos de predição correpondentes, e uma transformação ortogonal é implementada usando um multiplicador de uso geral. Isto pode aumentar o tamanho da memória para as matrizes transformada que são gravadas e, assim, os custos e também aumentam a largura de banda, como resultado do carregamento de uma matriz de transformada para dentro da memória para cada transformação.
[0177] Por outro lado, a unidade de transformação ortogonal e a unidade de transformação ortogonal inversa de acordo com a presente concretização combina a transformação vertical e horizontal utilizando duas matrizes transformada ortogonal 1D, para conduzir quatro tipos de transformações ortogonais. Assim, a unidade de transformação ortogonal e a unidade de transformação ortogonal inversa de acordo com a presente concretização permite o aumento do tamanho da memória na implementação do software a ser significativamente suprimido.
[0178] Além disso, a rpeparação individual das ordens de varredura para os respectivos modos de predição, como descrito na presente concretização, contribui para melhorar a eficiência da codificação. Os coeficientes de transformada quantificados 121 mostram que a tendência para gerar coeficientes diferentes de zero é inclinada, dependendo do elemento. A tendência para gerar coeficientes diferentes de zero varia, dependendo da direção de predição da intrapredição. Ademais, com a mesma direção de predição, mesmo a codificação de blocos de pixels a partir de imagens de entrada diferentes 118 leva a tendências similares para gerar coeficientes diferentes de zero. Assim, quando a unidade de controle da ordem dos coeficientes 113 transforma os elementos nas respectivas sequências unidimensionais de coeficientes de transformada quantificados 122, a fim de diminuir a probabilidade de ocorrência de coeficientes diferentes de zero em coeficientes de transformada quantificados 121, os coeficientes diferentes de zero são muito prováveis que ocorram densamente na sequência unidimensional de coeficientes de transformada quantificados 122. Isto permite uma redução da quantidade de código gerado como resultado da extensão de execução de codificação na unidade de codificação de entropia 114. Como descrito com referência à FIG. 5A e FIG. 5B, a unidade de controle da ordem dos coeficientes 113 pode fixamente utilizar ordens de varredura aprendidas para os respectivos modos de predição ou utilizar uma ordem de varredura atualizada dinamicamente durante o processo de codificação. Utilizando as ordens de varredura otimizadas para os respectivos modos de predição, a unidade de codificação de entropia114 pode reduzir, em comparação com H. 264, a quantidade de código gerado com base na sequência de coeficientes de transformada quantificados 122, sem aumentar significativamente a quantidade de cálculo.
(Segunda Concretização)
[0179] Um aparelho de codificação de imagem, de acordo com uma segunda concretização é diferente do aparelho de codificação de imagem de acordo com a primeira concretização nos detalhes da transformação ortogonal e da transformação ortogonal inversa. Os mesmos componentes da presente concretização assim como os componentes correspondentes da primeira concretização são descritos a seguir indicadas pelos mesmos números de referência, e pricipalmente, os componentes diferentes serão descritos a seguir. Um aparelho de decodificação de imagem correspondente ao aparelho de codificação de imagem, de acordo com a presente concretização será descrito em uma quinta concretização.
[0180] Em vez da unidade de transformação ortogonal 102 ilustrada na FIG. 2, o aparelho de codificação de imagem de acordo com a presente concretização inclui a unidade de transformação ortogonal 102 ilustrada na FIG. 16. A unidade de transformação ortogonal 102 na FIG. 16 inclui um comutador de seleção 801, uma unidade de transformação vertical 802, a unidade de transposição 203, um comutador de seleção 804, e uma unidade de transformação horizontal 805. A unidade de transformação vertical 802 inclui uma unidade de transformação ortogonal 1D C 806, uma unidade de transformação ortogonal 1D D 807, e uma unidade de transformação ortogonal 1D E 808. A unidade de transformação horizontal 805 inclui uma unidade de transformação ortogonal 1D C 809, uma unidade de transformação ortogonal 1D D 810, e uma unidade de transformação ortogonal 1D E 811. A ordem da unidade de transformação vertical 802 e a unidade de transformação horizontal 805 é ilustrativa e pode ser invertida.
[0181] A unidade de transformação ortogonal 1D C 806 e a unidade de transformação ortogonal 1D C 809 têm funções comuns em que ambas as unidades multiplicam uma matriz de entrada por uma matriz de transformada 1D C. A unidade de transformação ortogonal 1D D 807 e a unidade de transformação ortogonal 1D D 810 têm funções comuns em que ambas as unidades multiplicam a matriz de entrada por uma matriz de transformada 1D D. A unidade de transformação ortogonal E 808 e a unidade de transformação ortogonal 1D E 811 têm funções comuns na medida em que ambas as unidades multiplicam a matriz de entrada por uma matriz de transformada 1D E.
[0182] A matriz de transformada 1D C, a matriz de transformada D 1D, e a matriz de transformada 1D E de acordo com a presente concretização serão descritas abaixo.
[0183] Como descrito acima, o erro de predição 119 tem uma tendência a ter um valor absoluto aumentado com a distância a partir do pixel de referência. A tendência é semelhante à exibida independentemente da direção de predição. Contudo, o erro de predição no modo de predição CD não apresenta a tendência na direção vertical ou direção horizontal. A presente concretização utiliza a transformada de matriz 1D E descrita abaixo para o modo de predição CD. Para os outros modos de predição, em seguida, o modo de predição CD, a presente concretização utiliza adaptativamente a matriz de transformada 1D C e a matriz de transformada 1D D dependendo ou não se a tendência está presente, como é o caso com a primeira concretização.
[0184] Especificamente, a matriz de transformada 1D C pode ser gerada utilizando a mesma técnica de desenho para a matriz de transformada 1D A acima descrita. Além disso, a matriz de transformada 1D D pode ser gerada utilizando uma técnica de desenho semelhante à técnica de desenho para a matriz de transformada acima descrito 1D B. Isto é, a matriz de transformada 1D D pode ser gerada pela aplicação da técnica de desenho para a matriz de transformada 1D B com o modo de predição CD excluído.
[0185] A matriz de transformada 1D E pode ser uma matriz de TCD. Alternativamente, a matriz de transformada 1D E pode ser gerada pelo pré-desenho de uma base de transformada comum, de modo a aumentar, em comparação com a matriz de transformada 1D D, a densidade de coeficiente após transformação ortogonal 1D (isto é, para reduzir a taxa de coeficientes diferentes de zero nos coeficientes de transformada quantificados 121) na direção vertical e na direção horizontal.
[0186] Ao invés da unidade de transformação ortogonal inversa 105 ilustrada na FIG. 3, o aparelho de codificação de imagem, de acordo com a presente invenção, inclui a unidade de transformação ortogonal inversa 105 ilustrada na FIG. 17. A unidade de transformação ortogonal inversa 105 na FIG. 17 inclui um comutador de seleção 901, uma unidade de transformação vertical inversa 902, a unidade de transposição 303, um comutador de seleção 904, e uma unidade de transformação horizontal inversa 905. A unidade de transformação vertical inversa 902 inclui uma unidade de transformação ortogonal inve rsa 1D C 906, uma unidade de transformação ortogonal inversa 1D D 907, e uma unidade de transformação ortogonal inversa 1D E 908. A unidade de transformação inversa horizontal 905 inclui uma unidade de transformação ortogonal inversa 1D C 909, uma unidade de transformação ortogonal inversa 1D D 910, e uma unidade de transformação ortogonal inversa 1D E 911. A ordem da unidade de transformação vertical inversa 902 e a unidade de transformação horizontal inversa 905 é ilustrativa e pode ser invertida.
[0187] A unidade de transformação ortogonal inversa 1D C 906 e a unidade de transformação ortogonal inversa 1D C 909 têm funções comuns onde ambas as unidades multiplicam uma matriz de entrada por uma matriz transposta da matriz de transformada 1D C. A unidade de transformação ortogonal inversa 1D D 907 e a unidade de transformação ortogonal inversa 1D D 910 têm funções comuns onde ambas as unidades multiplicam a matriz de entrada por uma matriz transposta da matriz de transformada 1D D. A unidade de transformação ortogonal inversa 1D E 908 e a unidade de transformação ortogonal inversa 1D E 911 têm funções comuns onde ambas as unidades multiplicam a matriz de entrada por uma matriz transposta da matriz de transformada 1D E.
[0188] O conjunto de informação da matriz de transformada 1D 129 de acordo com a presente concretização gerado pela unidade conjunto da matriz de transformada 1D 112 será descrito a seguir detalhadamente.
[0189] O conjunto de informação da matriz de transformada 1D 129 indica direta ou indiretamente, o índice de transformada vertical para a seleção de uma matriz de transformada para utilização em transformação ortogonal vertical e transformação ortogonal vertical inversa, e o índice de transformada horizontal para a seleção de uma matriz de transformada para utilização na transformação ortogonal horizontal e transformação ortogonal horizontal inversa. Por exemplo, o conjunto de informação da matriz de transformada 1D 129 pode ser expresso por um índice de transformada (TrasformIdx) mostrado na FIG. 18D. Referência à tabela na FIG. 18D permite que o índice de transformada vertical (Vertical Transform Idx) e o índice de transformada horizontal (Horizontal Transform Idx) seja derivado a partir do índice de transformada.
[0190] Como mostrado na FIG. 18B, um índice de transformada vertical de “0” permite a seleção da matriz de transformada 1D C acima descrita (1D_Transform_Matrix_C) ou a matriz transposta da mesma para a transformação ortogonal vertical ou transformação ortogonal vertical inversa. Por outro lado, um índice de transformada vertical de “1” permite a seleção da matriz de transformada 1D D acima descrita (1D_Transform_Matrix_D) ou a matriz transposta da mesma para a transformação ortogonal vertical ou a transformação ortogonal vertical inversa. Além disso, um índice de transformada vertical de “2”, permite a seleção da matriz de transformada 1D E acima descrita (1D_Transform_Matrix_E) ou a matriz transposta da mesma para a transformação ortogonal vertical ou transformação ortogonal vertical inversa.
[0191] Conforme mostrado na FIG. 18C, um índice de transformada horizontal de “0” permite a seleção da matriz de transformada 1D C (1D_Transform_Matrix_C) ou a matriz transposta da mesma para a transformação ortogonal horizontal ou a transformação ortogonal horizontal inversa. Por outro lado, um índice de transformada horizontal de “1” permite a seleção da matriz de transformada 1D D (1D_Transform_Matrix_D) ou a matriz transposta da mesma para a transformação ortogonal horizontal ou a transformação ortogonal horizontal inversa. Além disso, um índice de transformada horizontal de “2” permite a seleção da matriz de transformada 1D E (1D_Transform_Matrix_E) ou a matriz transposta da mesma para a transformação ortogonal horizontal ou a transformação ortogonal horizontal inversa.
[0192] Além disso, a FIG. 18A ilustra o índice para cada modo de (intra)predição (IntraNxNPredModeIndex), o nome do mesmo (Nome de IntraNxNPredMode), e o índice de transformada vertical e o índice de transformada horizontal correspondentes. Na FIG. 18A, “NxN” é indicativo do tamanho do bloco de predição alvo (N = 4, 8, 16, ou semelhantes). O tamanho do bloco de predição alvo pode ser expandido para “MXN” (isto é, outros retângulos do que quadrados).
[0193] FIG. 18E é obtida pela integração da FIG. 18A com a FIG. 18D juntas e mostra o índice de modo de predição para cada, o nome do modo de predição, e o índice de transformada correspondente.
[0194] A unidade conjunto da matriz de transformada 1D 112 detecta o índice do modo de predição da informação do modo de predição incluído na informação de predição 126. A unidade conjunto da matriz de transformada 1D 112, em seguida, gera o conjunto de informação da matriz de transformada 1D 129 correspondente. As tabelas mostradas na FIG. 18A, FIG. 18B, FIG. 18C, FIG. 18D, e FIG. 18E são ilustrativas. A unidade conjunto da matriz de transformada 1D 112 pode gerar o conjunto de informação da matriz de transformada 1D 129, evitando o uso de algumas ou de todas as tabelas.
[0195] Por exemplo, TransformIdx indicativo de 0 significa que o índice de transformada vertical indica 0 e que o índice de transformada horizontal indica 0. Isto significa que a matriz de transformada 1D C é usada para a transformação ortogonal vertical e que a matriz de transformada 1D C é utilizada para a transformação ortogonal horizontal. Estes valores de índices também significam que a matriz transposta da matriz de transformada 1D C é usada para a transformação ortogonal vertical inversa e que a matriz transposta da matriz de transformada 1D C é usada para a transformação ortogonal horizontal inversa.
[0196] TransformIdx indicativo de 1 significa que o índice de transformada vertical indica 0 e que o índice de transformada horizontal indica 1. Isto significa que a matriz de transformada 1D C é utilizada para a transformação ortogonal vertical e que a matriz de transformada 1D D é utilizada para a transformação ortogonal horizontal. Estes valores de índices também significam que a matriz transposta da matriz de transformada 1D C é utilizada para a transformação ortogonal vertical inversa e que a matriz transposta da matriz de transformada 1D D é usada para a transformação ortogonal horizontal inversa.
[0197] TransformIdx indicativo de 2 significa que o índice de transformada vertical indica 1 e que o índice de transformada horizontal indica 0. Isto significa que a matriz de transformada 1D D é utilizada para a transformação ortogonal vertical e que a matriz de transformada 1D C é utilizada para a transformação ortogonal horizontal. Estes valores de índices também significam que a matriz transposta da matriz de transformada 1D D é usada para a transformação ortogonal vertical inversa e que a matriz transposta da matriz de transformada 1D C é usada para a transformação ortogonal horizontal inversa.
[0198] TransformIdx indicativo de 3 significa que o índice de transformada vertical indica 2, e que o índice de transformada horizontal indica 2. Isto significa que a matriz de transformada 1D E é utilizada para a transformação ortogonal vertical e que a matriz de transformada 1D E é utilizada para a transformação ortogonal horizontal. Estes valores de índice também significam que a matriz transposta da matriz de transformada 1D E é utilizada para a transformação ortogonal vertical inversa e que a matriz transposta da matriz de transformada 1D E é utilizada para a transformação ortogonal horizontal inversa.
[0199] Aqui, se o bloco de predição alvo é um bloco retangular expresso como M x N, o tamanho do bloco a ser transformado ortogonalmente também pode ser M x N.
[0200] A tabela mostrada na FIG. 18A atribui o conjunto de informação da matriz de transformada 129 possuindo a tendência acima descrita de cada modo de intrapredição em consideração. Ou seja, para o modo de predição CD, 2 é atribuído tanto para o índice de transformação vertical quanto para o índice de transformada horizontal. Assim, para o modo de predição CD, a transformação ortogonal e a transformação ortogonal inversa são realizadas na direção vertical e na direção horizontal utilizando a matriz de transformada 1D E e a matriz transposta da mesma. Como resultado, a alta eficiência de transformada é alcançada.
[0201] Para os modos de predição que não sejam o modo de predição CD, 0 é atribuído ao índice de transformação vertical se a tendência é exibida na direcção vertical do erro de predição. 0 é atribuído o índice de transformada horizontal, se a tendência é exibida na direção horizontal do erro de predição. Por outro lado, 1 é atribuído a cada uma das direções que não exibem a tendência. A alta eficiência da transformada é obtida pela classificação das direções vertical e horizontal dos modos de predição que não sejam o modo de predição CD em duas classes, dependendo se a tendência está presente ou não e adaptativamente aplica a matriz de transformada 1D C ou a matriz de transformada 1D D para cada uma das direções vertical e horizontal.
[0202] Como descrito acima, o aparelho de codificação de imagem de acordo com a presente concretização utiliza a tendência da intrapredição para ter uma acurácia de predição reduzida com o aumento da distância a partir do pixel de referência como no caso da primeira concretização, durante a aplicação da transformação ortogonal e da transformação ortogonal inversa à predição DC de uma maneira diferente da maneira para os outros modos de predição. O aparelho de codificação de imagem classifica as direções vertical e horizontal dos modos de predição para as duas classes, dependendo se a tendência está presente ou não e adaptativamente aplica a matriz de transformada 1D C ou a matriz de transformada 1D D para cada uma das direções vertical e horizontal. O aparelho de codificação de imagem aplica a matriz de transformada 1D E ao modo de predição CD. A matriz de transformada 1D C é gerada por pré-concepção de uma base de transformada comum, de modo a aumentar a densidade de coeficiente após transformação ortogonal 1D (isto é, para reduzir a taxa de coeficientes diferentes de zero em coeficientes de transformada quantificados 121) na direção ortogonal à linha do grupo dos pixels de referência (direção vertical ou horizontal). A matriz de transformada 1D D é gerada através da concepção de uma matriz de transformada de uso geral não contendo tal natureza com o modo de predição CD excluído. A matriz de transformada 1D E pode ser uma matriz de TCD. Alternativamente, a matriz de transformada 1D E é gerada pelo pré-concepção de uma base de transformada comum, de modo a aumentar, para o erro de predição 119 no modo de predição CD, a densidade de coeficiente após transformação ortogonal 1D (isto é, para reduzir a taxa de coeficientes diferentes de zero nos coeficientes de transformada quantificados 121) na direção vertical e na direção horizontal. Portanto, o aparelho de codificação de imagem de acordo com a presente concretização obtém uma maior eficiência de transformação, no caso em que a transformação ortogonal fixa como TCD é uniformemente aplicada aos modos de predição.
(Terceira Concretização)
[0203] Um aparelho de codificação de imagem de acordo com uma terceira concretização é diferente dos aparelhos de codificação de imagem de acordo com a primeira concretização e da segunda concretização nos detalhes da transformação ortogonal e da transformação ortogonal inversa. Os mesmos componentes da presente concretização, os componentes correspondentes da primeira concretização ou da segunda concretização são a seguir indicados pelos mesmos números de referência, e os componentes, principalmente, diferentes serão descritos a seguir. Um aparelho de decodificação de imagem correspondente ao aparelho de codificação de imagem, de acordo com a presente invenção será descrito em uma sexta concretização.
[0204] Em vez da unidade de transformação ortogonal 102 ilustrada na FIG. 2, o aparelho de codificação de imagem de acordo com a presente concretização inclui a unidade de transformação ortogonal 102 ilustrada na FIG. 19. A unidade de transformação ortogonal 102 na FIG. 19 inclui um comutador de seleção 1201, uma unidade de transformação vertical 1202, a unidade de transposição 203, um comutador de seleção 1204, e uma unidade de transformação horizontal 1205. A unidade de transformação vertical 1202 inclui uma unidade de transformação ortogonal 1D F 1206, uma unidade de transformação ortogonal 1D G 1207, e uma unidade de transformação ortogonal 1D H 1208. A unidade de transformação horizontal 1205 inclui uma unidade de transformação ortogonal 1D F 1209, uma unidade de transformação ortogonal 1D G 1210, e uma unidade de transformação ortogonal 1D H 1211. A ordem da unidade de transformação vertical 1202 e a unidade de transformação horizontal 1205 é ilustrativa e pode ser invertida.
[0205] A unidade de transformação ortogonal 1D F 1206 e a unidade de transformação ortogonal 1D F 1209 têm funções comuns em que ambas as unidades multiplicam uma matriz de entrada por uma matriz de transformada 1D F. A unidade de transformação ortogonal 1D G 1207 e a unidade de transformação ortogonal 1D G 1210 têm funções comuns em que ambas as unidades multiplicam a matriz de entrada por uma matriz de transformada 1D G. A unidade de transformação ortogonal 1D H 1208 e a unidade de transformação ortogonal 1D H 1211 têm funções comuns na medida em que ambas as unidades multiplicam a matriz de entrada por uma matriz de transformada 1D H.
[0206] A matriz de transformada F 1D, a matriz de transformada 1D G, e a matriz de transformada 1D H de acordo com a presente concretização serão descritas abaixo.
[0207] Conforme descrito acima, o erro de predição 119 tem uma tendência a ter um valor absoluto aumentado com a distância a partir do pixel de referência. A tendência é similarmente exibida independentemente da direção de predição. No entanto, os modos de intrapredição incluem modos de predição, onde apenas o grupo de pixels numa linha de referência situado à esquerda e adjacente ao bloco de predição alvo ou sobre uma linha localizada acima e adjacente ao bloco de predição alvo é referenciado (os valores de pixel de referência são copiados ou interpolação é realizada utilizando os valores de pixel de referência) e os modos de predição em que os grupos de pixels de referência localizados sobre a linha localizada à esquerda e adjacente ao bloco de predição alvo e sobre a linha localizada acima e adjacente ao bloco de predição alvo são referenciados. A maneira na qual a tendência é exibida varia entre o modo de predição para o qual apenas o grupo de pixels de referência sobre uma linha é referenciado e o modo de predição para o qual os grupos de pixels de referência sobre duas linhas são referenciados. Assim, a presente concretização realiza a transformação ortogonal e a transformação ortogonal inversa de forma diferente entre os modos de predição, onde apenas o grupo de pixels de referência em uma linha é referenciado e os modos de predição, onde os grupos de pixels de referência em duas linhas são referenciados.
[0208] Especificamente, a matriz de transformada H 1D descrita abaixo é utilizada para os modos de predição, em que os grupos de pixels de referência em duas linhas são referenciados. Por outro lado, a matriz de transformada 1D F e a matriz de transformada G são adaptativamente utilizadas para os modos de predição, em que apenas o grupo de pixels em uma linha de referência é referenciado, dependendo se a tendência está ou não presente como é o caso com a primeira concretização.
[0209] Especificamente, a matriz de transformada 1D F pode ser gerada usando uma técnica de desenho semelhante à técnica de desenho para a matriz de transformada 1D A acima descrita. Além disso, a matriz de transformada 1D F pode ser gerada com a realização da técnica de desenho para a matriz transformada 1D A acima descrita enquanto exclui-se os modos de predição, em que os grupos de pixels de referência sobre duas linhas são referenciados (por exemplo, modo 4, modo de 5, e modo 6 na FIG. 7A). Além disso, a matriz de transformada 1D G pode ser gerada usando a mesma técnica de desenho que para a matriz de transformada 1D B anteriormente descrita. Em alternativa, a matriz de transformada 1D G pode ser uma matriz de TCD.
[0210] A matriz de transformada 1D H podem ser gerada por pré-concepção de uma base de transformada comum, de modo a aumentar, em favor do erro de predição 119 nos modos de predição, em que os grupos de pixels de referência em duas linhas são referenciados, a densidade de coeficiente após a transformação ortogonal 1D (isto é, para reduzir a taxa de coeficientes diferentes de zero em coeficientes de transformada quantificados a 121) na direção vertical e na direção horizontal.
[0211] Em vez da unidade de transformação ortogonal inversa 105 ilustrada na FIG. 3, o aparelho de codificação de imagem, de acordo com a presente invenção inclui a unidade de transformação ortogonal inversa 105 ilustrada na FIG. 20. A unidade de transformação ortogonal inversa105 na FIG. 20 inclui um comutador de seleção 1301, uma unidade de transformação vertical inversa 1302, a unidade de transposição 303, um comutador de seleção 1304, e uma unidade de transformação horizontal inversa 1305. A unidade de transformação vertical inversa 1302 inclui uma unidade de transformação ortogonal inversa 1D F 1306, uma unidade de transformação ortogonal inversa 1D G 1307, e uma unidade de transformação ortogonal inversa 1D H 1308. A unidade de transformação horizontal inversa 1305 inclui uma unidade de transformação ortogonal inversa 1D F 1309, uma unidade de transformação ortogonal inversa 1D G 1310, e uma unidade de transformação ortogonal inversa 1D H 1311. A ordem da unidade de transformação vertical inversa 1302 e a unidade de transformação horizontal inversa 1305 é ilustrativa e poderá ser invertida.
[0212] A unidade de transformação ortogonal inversa 1D F 1306 e a unidade de transformação ortogonal inversa 1D F 1309 têm funções comuns em que ambas as unidades multiplicam uma matriz de entrada por uma matriz transposta da matriz de transformada 1D F. A unidade de transformação ortogonal inversa 1D G 1307 e a unidade de transformação ortogonal inversa 1D G 1310 têm funções comuns em que ambas as unidades multiplicam a matriz de entrada pela matriz transposta da matriz de transformada 1D G. A unidade de transformação ortogonal inversa 1D H 1308 e a unidade de transformação ortogonal inversa 1D H 1311 têm funções comuns em que duas unidades multiplicam a matriz de entrada pela matriz transposta da matriz de transformada 1D H.
[0213] O conjunto de informação da matriz de transformada 129 de acordo com a presente concretização gerado pela unidade conjunto da matriz de transformada 112 será descrito a seguir detalhadamente.
[0214] O conjunto de informação da matriz de transformada 129 indica, direta ou indiretamente, o índice de transformada vertical para a seleção de uma matriz de transformada para utilização na transformação ortogonal vertical e na transformação ortogonal vertical inversa, e o índice de transformada horizontal para a selecção de uma matriz de transformada para utilização na transformação ortogonal horizontal e transformação ortogonal horizontal inversa. Por exemplo, o conjunto de informação da matriz de transformada 1D 129 pode ser expresso por um índice de transformada (TrasformIdx) mostrado na FIG. 21D. Referência à tabela na FIG. 21D permite que o índice de transformada vertical (Vertical Transform Idx) e o índice de transformada horizontal (Horizontal Transform Idx) ser derivado a partir do índice de transformada.
[0215] Como mostrado na FIG. 21B, um índice de transformada vertical de “0” permite a seleção da matriz de transformada 1D F acima descrita (1D_Transform_Matrix_F) ou a matriz transposta da mesma para a transformação ortogonal vertical ou transformação ortogonal vertical inversa. Por outro lado, um índice de transformada vertical “1” permite a seleção da matriz de transformada 1D acima descrita G (1D_Transform_Matrix_G) ou a matriz transposta da mesma para a transformação ortogonal vertical ou transformação ortogonal vertical inversa. Além disso, um índice de transformada vertical de “2”, permite a seleção da matriz de transformada 1D H acima descrita (1D_Transform_Matrix_H) ou a matriz transposta da mesma para a transformação ortogonal vertical ou transformação ortogonal vertical inversa.
[0216] Como mostrado na FIG. 21C, um índice de transformada horizontal de “0” permite a seleção da matriz de transformada 1D F (1D_Transform_Matrix_F) ou a matriz transposta da mesma para a transformação ortogonal horizontal ou transformação ortogonal horizontal inversa. Por outro lado, um índice de transformada horizontal de “1” permite a seleção da matriz de transformada 1D G (1D_Transform_Matrix_G) ou amatriz transposta da mesma para a transformação ortogonal horizontal ou transformação ortogonal horizontal inversa. Além disso, um índice de transformada horizontal de “2” permite a seleção da matriz de transformada 1D H (1D_Transform_Matrix_H) ou a matriz transposta da mesma para a transformação ortogonal horizontal ou transformação ortogonal horizontal inversa.
[0217] Além disso, a FIG. 21A ilustra o índice para cada modo de intrapredição (IntraNxNPredModeIndex), o seu nome (Nome de IntraNxNPredMode), e o índice de transformada vertical e índice de transformada horizontal correspondente. Na FIG. 21A, “NxN” é indicativo do tamanho do bloco de predição alvo (N = 4, 8, 16, ou semelhantes). O tamanho do bloco de predição alvo pode ser expandido para “MXN” (isto é, retângulos que não sejam quadrados).
[0218] FIG. 21E é obtida pela integração da FIG. 21A com a FIG. 21D juntas e mostra o índice de cada modo de predição, o nome do índice e o índice de transformada correspondente.
[0219] A unidade conjunto da matriz de transformada 1D 112 detecta o índice do modo de predição da informação do modo de predição incluídos na informação de predição 126. A unidade conjunto da matriz de transformada 1D 112, em seguida, gera o conjunto de informação da matriz transformada 1D 129. As tabelas mostradas na FIG. 21A, FIG. 21B, FIG. 21C, FIG. 21D, e FIG. 21E são ilustrativas. A unidade conjunto da matriz de transformada 1D 112 pode gerar o conjunto de informação da matriz transformada 129, evitando o uso de alguns ou de todas as tabelas.
[0220] Por exemplo, TransformIdx indicativo de 0 significa que o índice de transformada vertical indica dois e que o índice de transformada horizontal indica 2. Isto significa que a matriz de transformada 1D H é usada para a transformação ortogonal vertical e que a matriz de transformada 1D H é usada para a transformação ortogonal horizontal. Estes valores de índices também significam que a matriz transposta da matriz de transformada H 1D é utilizada para transformação ortogonal vertical inversa e que a matriz transposta da matriz de transformada H 1D é utilizada para transformação ortogonal horizontal inversa.
[0221] TransformIdx indicativo de 1 significa que o índice de transformada vertical indica 0 e que o índice de transformada horizontal indica 1. Isto significa que a matriz de transformada 1D F é utilizada para a transformação ortogonal vertical e que a matriz de transformada 1D G é usada para a transformação ortogonal horizontal. Estes valores de índice também significam que a matriz transposta da matriz de transformada1D F é utilizada para transformação ortogonal vertical inversa e que a matriz transposta da matriz de transformada 1D G é utilizada para transformação ortogonal horizontal inversa.
[0222] TransformIdx indicativo de 2 significa que o índice de transformada vertical indica 1 e que o índice de transformada horizontal indica 0. Isto significa que a matriz de transformada 1D G é usada para a transformação ortogonal vertical e que a matriz de transformada 1D F é utilizada para a transformação ortogonal horizontal. Estes valores de índices também significma que a matriz transposta da matriz de transformada 1D G é utilizada para transformação ortogonal vertical inversa e que a matriz transposta da matriz de transformada 1D F é utilizada para transformação ortogonal horizontal inversa.
[0223] TransformIdx indicativo de 3 significa que o índice de transformada vertical indica 1 e que o índice de transformada horizontal indica 1. Isto significa que a matriz de transformada 1D G é usada para a transformação ortogonal vertical e que a matriz transformada 1D G é usada para a transformação ortogonal horizontal. Estes valores de índices também significam que a matriz transposta da matriz de transformada 1D G é utilizada para transformação ortogonal vertical inversa e que a matriz transposta da matriz de transformada 1D G é utilizada para transformação ortogonal horizontal inversa.
[0224] Aqui, se o bloco de predição alvo é um bloco retangular expresso como M x N, o tamanho do bloco a ser transformado ortogonalmente também pode ser M x N.
[0225] A tabela mostrada na FIG. 21A atribui o conjunto de informação da matriz de transformada 1D 129 considerando a tendência acima descrita de cada modo de intrapredição em consideração. Isto é, para os modos de predição em que os grupos de pixels de referência sobre duas linhas são referenciados, 2 é atribuído para ambos os índices de transformada vertical e transformada horizontal. Assim, para os modos de predição em que os grupos de pixels de referência sobre duas linhas são referenciados, a transformação ortogonal e a transformação ortogonal inversa são realizadas na direção vertical e na direção horizontal utilizando a matriz de transformada 1D H e a matriz transposta da mesma. Como resultado, a alta eficiência de transformação é alcançada.
[0226] Para os modos de predição diferentes daqueles em que os grupos de pixels de referência sobre duas linhas são referenciados, 0 é atribuído ao índice de transformada vertical se a tendência é exibida na direção vertical do erro de predição. 0 é atribuído ao índice de transformada horizontal, se a tendência é exibida na direção horizontal do erro de predição. Por outro lado, 1 é atribuído a cada uma das direções que não exibem a tendência. A alta eficiência de transformação é obtida classificando as direções vertical e horizontal dos modos de predição que não aqueles em que os grupos de pixels de referência sobre duas linhas são referenciados, em duas classes, dependendo se a tendência está presente ou não, e aplicando de forma adaptativa a matriz de transformada 1D F ou a matriz de transformada 1D G para cada uma das direções vertical e horizontal.
[0227] Como descrito acima, o aparelho de codificação de imagem de acordo com a presente concretização utiliza a tendência da intrapredição para ter uma acurácia da predição reduzida com o aumento da distância a partir do pixel de referência como no caso da primeira concretização, durante a aplicação da transformação ortogonal e da transformação ortogonal inversa aos modos de predição, de uma maneira variável, dependendo do número de linhas que correspondem aos grupos de pixels de referência. O aparelho de codificação de imagem classifica as direções vertical e horizontal dos modos de predição diferentes daqueles que os grupos de pixels de referência sobre duas linhas são referenciados, em duas classes, dependendo se a tendência está presente ou não, e aplica de forma adaptativa a matriz de transformada 1D F ou a matriz de transformada 1D G para cada uma das direções vertical e horizontal. Por outro lado, o aparelho de codificação de imagem se aplica a matriz de transformada 1D H para os modos de predição, em que os grupos de pixels em duas linhas de referência são referenciados. Para os modos de predição, em que apenas o grupo de pixels sobre uma linha de referência é referenciado, a matriz de transformada 1D F é geraa por pré-concepção de uma base de transformada comum, de modo a aumentar a densidade de coeficiente após transformação ortogonal 1D (isto é, para reduzir a taxa de coeficientes diferentes de zero em coeficientes de transformada quantificados a 121) na direção ortogonal à linha do grupo de pixels de referência (direção vertical ou horizontal). Por outro lado, a matriz de transformada 1D G é gerada através da concepção de uma matriz de transformada de uso geral não contendo tal natureza. Além disso, a matriz de transformada 1D H é gerada por pré-concepção de uma base de transformada comum, de modo a aumentar, para o erro de predição 119, em cada modo de predição para o qual o grupo de pixels em duas linhas de referência são referenciados, a densidade de coeficiente após a transformação ortogonal 1D (isto é, para reduzir a taxa de coeficientes diferentes de zero em coeficientes de transformada quantificados 121) na direção vertical e na direção horizontal. Assim, o aparelho de codificação de imagem de acordo com a presente concretização obtém uma maior eficiência de transformação, no caso em que a transformação ortogonal fixa como TCD é uniformemente aplicada aos modos de predição.
[0228] Da primeira a terceira concretizações, prepara-se dois ou três tipos de matrizes de transformada 1D e seleciona uma das matrizes de transformada vertical 1D (ou transformação vertical inversa) e transformação horizontal (ou transformação horizontal inversa) de acordo com o modo de predição. No entanto, os dois ou três tipos acima descritos de matrizes de transformadao 1D são ilustrativos. A eficiência de codificação pode ser melhorada através da preparação das mais matrizes de transformada. Por exemplo, a segunda concretização e a terceira concretização podem ser combinadas em conjunto para preparar quatro tipos de
(Quarta Concretização)
[0229] Uma quarta concretização refere-se a um aparelho de decodificação de imagem. O aparelho de codificação de imagem correspondente ao aparelho de decodificação de imagem de acordo com a presente concretização é tal como foi descrito na primeira concretização. Isto é, o aparelho de decodificação de imagem de acordo com as presentes concretizações decodifica os dados codificados gerados através, por exemplo, do aparelho de codificação de imagem de acordo com a primeira concretização.
[0230] Como mostrado na FIG. 22, o aparelho de decodificação de imagem de acordo com a presente concretização inclui um tampão de entrada 401, a unidade de entropia de decodificação 402, uma unidade de controle da ordem dos coeficientes 403, uma unidade de desquantificação 404, uma unidade de transformação ortogonal inversa 405, uma unidade de adição 406, um memória de imagem de referência 407, uma unidade de intrapredição 408, uma unidade de interpredição 409, um comutador de seleção 410, um conjunto de unidade de matriz de transformada 1D 411, e um tampão de saída 412.
[0231] O aparelho de decodificação de imagem na FIG. 22 decodifica os dados codificados acumulados no tampão de entrada 401, acumula uma imagem decodificada 419 no tampão de saída 412, e gera a imagem decodificada 419 como uma imagem de saída 425. Os dados codificados 414 são gerados, por exemplo, pelo aparelho de codificação de imagem na FIG. 1, e temporariamente acumulados no tampão de entrada 401 por meio de um sistema de acumulação ou de um sistema de transmissão (não mostrado nos desenhos).
[0232] A fim de decodificar os dados codificados 414, a unidade de entropia de decodificação 402 decodifica todo quadro ou campo com base em sintaxe. A unidade de entropia de decodificação 402 sujeita cada seqüência de código da sintaxe à entropia de decodificação para reproduzir parâmetros de codificação para o bloco de codificação alvo, tais como informações de predição 424 incluindo as informações do modo de predição 421 e uma sequência de coeficientes de transformada quantificados 415. Os parâmetros de codificação são necessários para decodificação e incluir as informações de predição 424, informações sobre os coeficientes de transformada, e informações sobre quantificação. A sequência de coeficientes de transformada quantificados 415 é a entrada para a unidade de controle da ordem dos coeficientes 403. Além disso, a informação do modo de predição 421, incluída nas informações de predição 424, é similarmente a entrada da unidade de controle da ordem dos coeficientes 403. A informação de predição 424 é a entrada para a unidade conjunto da matriz de transformada 1D 411 e o comutador de seleção 410.
[0233] A unidade de controle da ordem dos coeficientes 403 transforma a sequência de coeficientes de transformada quantificados 415, que é uma expressão unidimensional em uns coeficientes de transformada quantificados 416 que são uma expressão bidimensional. A unidade de controle da ordem dos coeficientes 403, então insere os coeficientes de transformada quantificados 416 na unidade de desquantificação 404. A unidade de controle da ordem dos coeficientes 403 será descrita a seguir detalhadamente.
[0234] A unidade de desquantificação 404 desquantifica os coeficientes de transformada quantificados 416 a partir da unidade de controle da ordem dos coeficientes 403 para se obter os coeficientes de transformada 417 restaurados. Especificamente, a unidade de desquantificação 404 realiza a desquantificação de acordo com a informação sobre a quantificação decodificada pela unidade de entropia de decodificação 402. A unidade de desquantificação 404 envia os coeficientes de transformada restaurados 417 para a unidade de transformação ortogonal inversa 405.
[0235] A unidade de transformação ortogonal inversa 405 realiza uma transformação ortogonal inversa correspondente à transformação ortogonal realizada no lado de codificação, nos coeficientes de transformada restaurados 417 da unidade de desquantificação 404 de forma a obter um erro de predição restaurado 418. A unidade de transformação ortogonal inversa 405 envia o erro de predição restaurado 418 para a unidade de adição 406.
[0236] Especificamente, a unidade de transformação ortogonal inversa 405 de acordo com a presente concretização é um componente que é substancialmente o mesmo ou similar para a unidade de transformação ortogonal inversa 105 na FIG. 3 e, portanto, não vai ser descrito abaixo em detalhes. Em particular, a unidade de transformação ortogonal inversa 405 de acordo com a presente concretização utiliza a matriz de transformada 1D A e a matriz de transformada 1D B que são comuns para a unidade de transformação ortogonal inversa na FIG. 3. Os coeficientes de transformada restaurados 122, o conjunto de informações da matriz de transformada 1D 129, e o erro de predição restaurado 123 na FIG 3 correspondem aos coeficientes de transformada restaurados 417, o conjunto de informações da matriz de transformada 1D 422, e o erro de predição restaurado 418 de acordo com a presente concretização, respectivamente.
[0237] A unidade de adição 406 adiciona o erro de predição restaurado 418 e a imagem de predição correspondente 423 em conjunto para gerar a imagem decodificada 419. A imagem decodificada 419 está temporariamente acumulada no tampão de saída 412 para a imagem de saída 425 e também salvou a imagem da memória de referência 407 para uma imagem de referência 420. A imagem decodificada 419 salva a imagem da memória de referência 407 é referida no quadro ou nas unidades do campo como necessária pela unidade intrapredição 408 e a unidade de interpredição 409 como a imagem de referência 420. A imagem decodificada 419 acumulada temporariamente no tampão de saída 412 é a saída de um tempo de saída gerido pela unidade de controle de decodificação 413.
[0238] A unidade de intrapredição 408, a unidade de interpredição 409, e o comutador de seleção 410 são componentes que são substancialmente os mesmos ou semelhantes aos da unidade de intrapredição 108, da unidade de interpredição 109, e do comutador de seleção 110 na FIG. 1 e não serão, portanto, descritos a seguir detalhadamente. A unidade de controle de decodificação 413 controla a os componentes do aparelho de decodificação de imagem na FIG. 22. Especificamente, a unidade de controle de decodificação 413 executa operações de controle diferentes para um processo de decodificação, incluindo as operações acima descritas.
[0239] A unidade de conjunto da matriz de transformada 1D 411 gera o conjunto de informação da matriz de transformada 1D 422 com base na informação do modo de predição incluída na informação de predição 424 a partir da unidade de decodificação de entropia 402. A unidade de conjunto da matriz de transformada 1D 411 introduz o conjunto de informação da matriz de transformada 1D 422 na unidade de transformação ortogonal inversa 405.
[0240] Especificamente, a unidade de conjunto da matriz de transformada 1D 411 é uma componente que é substancialmente a mesma ou similar à unidade de conjunto de matriz de transformada 1D 112 de acordo com a primeira concretização e portanto, não será descrita em detalhes abaixo. Isto é, a unidade de conjunto da matriz de transformada 1D 411 de acordo com a presente concretização, por exemplo, as tabelas nas FIG. 4A, FIG. 4B, FIG. 4C, FIG. 4D, e FIG. 4E para gerar o conjunto de informação da matriz de transformada 1D 422. A informação de predição 126 e o conjunto de informação da matriz de transformada 129 de acordo com a primeira concretização corresponde à informação de predição 424 e o conjunto de informação da matriz de transformada 1D 422 de acordo com a presente concretização, respectivamente.
[0241] Além disso, o aparelho de decodificação de imagem na FIG. 22 utiliza uma sintaxe que é a mesma ou semelhante à sintaxe descrita com referência à FIG. 11, FIG. 12, FIG. 13 e FIG. 14. Assim, a descrição detalhada da sintaxe é omitida.
[0242] A unidade de controle da ordem dos coeficientes 403 será descrita a seguir em detalhes.
[0243] A unidade de controle da ordem dos coeficientes 403 transforma a sequência de coeficientes de transformada quantificados 415, que é a expressão unidimensional, em coeficientes de transformada quantificados 416, que é uma expressão bidimensional, através do arranjo dos elementos da sequência de coeficientes de transformada quantificados 415 numa ordem pré-determinada (isto é, a ordem correspondente ao modo utilizado no lado do tipo de codificação). A título de exemplo, se o lado de codificação realiza a transformação 2D-1D independentemente do modo de predição, a unidade de controle da ordem dos coeficientes 403 pode realizar a transformação 2D-1D comum, independentemente do modo de predição. Especificamente, a unidade de controle da ordem dos coeficientes 403 pode utilizar uma varredura zigue-zague inversa como é o caso da H. 264. A varredura ziguezague inversa é uma transformação 2D-1D correspondente à varredura ziguezague acima descrita.
[0244] Em outro exemplo, se o lado de codificação realiza transformações 2D-1D individuais para os respectivos modos de predição, a unidade de controle da ordem dos coeficientes 403 pode também executar transformações 2D-1D individuais para os respectivos modos de predição. A unidade de controle da ordem dos coeficientes 403 realizando tal operação, encontra-se ilustrada na FIG. 23A. A unidade de controle da ordem dos coeficientes 403 inclui um comutador de seleção 1001 e unidades de transformação 2D-1D individuais 1002. . . , e 1010 para os respectivos modos de predição. De acordo com a informação do modo de predição (por exemplo, os índices para os modos de predição na FIG. 4A) incluída nas informações de predição 424, o comutador de seleção 1001 conduz a sequência de coeficientes de transformada quantificados 415 para a unidade de transformação 2D-1D (um dos 1002, ..., e 1010), correspondente ao modo de predição. Por exemplo, um índice do modo de predição de 0 permite que o comutador de seleção 1001 de conduzir a sequência de coeficientes de transformada quantificados 415 para a unidade de transformação 2D-1D 1002 Na FIG. 23A, os modos de predição e as unidades de transformação 1D-2D estão em uma correspondência de um-para-um. A sequência de coeficientes de transformada quantificados 415 é conduzida a uma unidade de transformação 1D-2D correspondente ao modo de predição. A sequência de coeficientes de transformada quantificados 415 é em seguida transformada em coeficientes de transformada quantificados 416.
[0245] Em outro exemplo, se o lado de codificação atualiza dinamicamente a ordem de varredura na transformação 2D-1D, a unidade de controle da ordem dos coeficientes 403 pode também atualizar dinamicamente a ordem de varredura na transformação 1D-2D de uma forma correspondente à forma usada no lado de codificação. A unidade de controle da ordem dos coeficientes 403 que realiza tal operação encontra-se ilustrada na FIG. 23B. A unidade de controle da ordem dos coeficientes 403 inclui o comutador de seleção 1001, as unidades de transformação 1D-2D individual 1002. . . , e 1010 para os respectivos nove tipos de modos de predição, uma unidade de contagem de frequências de ocorrências 1011, e uma unidade de atualização da ordem dos coeficientes 1012. O comutador de seleção 1001 é como descrito na FIG. 23A. As unidades de transformação 1D-2D individual 1002,. . . , e 1010 para os respectivos nove tipos de modos de predição são diferentes das unidades de transformação na FIG. 23A em que a ordem de verificação para as unidades de transformação 1D-2D 1002, . . ., E 1010 é atualizada pela unidade de atualização da ordem dos coeficientes 1012.
[0246] A unidade de contagem de frequência de ocorrência 1011 cria um histograma do número de ocorrências de coeficientes diferentes de zero em cada elemento da sequência de coeficientes de transformada quantificados 416. A unidade de contagem de frequência de ocorrência 1011 insere o histograma criado 1013 na unidade de atualização da ordem dos coeficientes 1012.
[0247] A unidade de controle da ordem dos coeficientes 1012 atualiza a ordem dos coeficientes de um tempo pré-determinado com base no histograma 1013. A contagem pode ser, por exemplo, uma contagem quando um processo de decodificação realizado numa unidade de árvore de codificação está terminado ou uma contagem quando um processo de decodificação realizado em uma única linha na unidade de árvore de codificação é concluído.
[0248] Especificamente, a unidade de controle da ordem de coeficientes 1012 se refere ao histograma 1013 para atualizar a ordem dos coeficientes de um modo de predição com um elemento para o qual o número contado de ocorrências de coeficientes diferentes de zero é igual a ou maior do que um valor limite. Por exemplo, a unidade de controle da ordem dos coeficientes 1012 realiza a atualização para um modo de predição com um elemento para o qual o número contado de ocorrências de coeficientes diferentes de zero é 16 ou mais. Estabelecendo de um limite para o número de ocorrências permite-se que a ordem dos coeficientes seja atualizada globalmente, evitando assim a convergência para uma solução ótima local.
[0249] A unidade de controle da ordem dos coeficientes 1012 ordena, devido ao modo de predição de atualização alvo, os elementos em ordem decrescente de frequência de ocorrência de coeficientes diferentes de zero. A ordenação pode ser alcançada de acordo com um algoritmo existente, por exemplo, ordenação bolha ou ordenação rápida. A unidade de controle da ordem dos coeficientes 1012 envia a informação de atualização da ordem dos coeficientes 1014 indicativa da ordem de ordenação dos elementos para a unidade de transformação 1D-2D correspondente ao modo de predição da atualização alvo.
[0250] Uma vez que a informação de atualização da ordem dos coeficientes 1014 é a entrada para a unidade de transformação 1D-2D, a unidade de transformação-1D 2D realiza uma transformação 1D-2D de acordo com a ordem de varredura atualizada. Se a ordem de varredura é atualizada dinamicamente, as ordens de varredura iniciais para as unidades de transformação 1D-2D precisa ser definida que corresponde à ordem de varredura do lado de codificação.
[0251] Por razões de simplificação, H. 264 tenha sido ilustrado e no caso dos nove tipos de modos de predição tem sido descrito. No entanto, mesmo que o número de tipos de modo de predição seja aumentado para 17, 33, ou algo semelhante, as transformações 1D-2D individuais para os respectivos modos de predição podem ser alcançadas pela adição das unidades de transformação 1D-2D correspondentes aos modos de predição resultantes a partir do aumento.
[0252] Como descrito acima, o aparelho de decodificação de imagem de acordo com a presente concretização inclui uma unidade de transformação ortogonal inversa, que é a mesma ou semelhante à unidade de transformação ortogonal inversa do aparelho de codificação de imagem de acordo com a primeira concretização. Assim, o aparelho de decodificação de imagem de acordo com a presente concretização exerce efeitos que são os mesmos ou semelhantes aos efeitos do aparelho de codificação de imagem de acordo com a primeira concretização.
(Quinta Concretização)
[0253] Um aparelho de decodificação de imagem de acordo com uma quinta concretização é diferente do aparelho de decodificação de imagem de acordo com a quarta concretização nos detalhes da transformação ortogonal inversa. Os mesmos componentes da presente concretização, os componentes correspondentes da quarta concretização são a seguir indicados pelos mesmos números de referência, e os componentes, principalmente, diferentes serão descritos a seguir. O aparelho de codificação de imagem correspondente ao aparelho de decodificação de imagem de acordo com a presente concretização é tal como descrito na segunda concretização.
[0254] A unidade de transformação ortogonal inversa 405 de acordo com a presente concretização é um componente que é substancialmente o mesmo ou semelhante à unidade de transformação ortogonal inversa 105 na FIG. 17 e, assim, não será descrita abaixo com detalhes. Em particular, a unidade de transformação ortogonal inversa 405 de acordo com a presente concretização utiliza a matriz de transformada 1D F, matriz de transformada 1D G, e a matriz de transformada 1D H que são comuns para a unidade de transformação ortogonal inversa 105 na FIG. 20. Os coeficientes de transformada restaurados 122, o conjunto de informação da matriz de transformada 129, e o erro de predição restaurado 123 na FIG 20 corresponde aos coeficientes de transformada restaurados 417, o conjunto de informação da matriz de transformada 1D 422, e um sinal do erro de predição restaurado 418 de acordo com a presente concretização, respectivamente.
[0255] A unidade de conjunto da matriz de transformada 1D 411 de acordo com a presente concretização é um componente que é substancialmente o mesmo ou semelhante à unidade de conjunto da matriz de transformada 1D 112 de acordo com a segunda concretização e não será, portanto, descrita abaixo com detalhes. Isto é, unidade de conjunto da matriz de transformada 1D 411 de acordo com a presente concretização utiliza, por exemplo, as tabelas nas FIG. 18A, FIG. 18B, FIG. 18C, FIG. 18D, e FIG. 18E para gerar o conjunto de informação da matriz de transformada 1D 422. A informação de predição 1D 126 e o conjunto de informação da matriz de transformada 129 de acordo com a segunda concretização corresponde à informação de predição 424 e o conjunto de informação da matriz de transformada 422 de acordo com a presente concretização, respectivamente.
[0256] Como descrito acima, o aparelho de decodificação de imagem de acordo com a presente concretização inclui uma unidade de transformação ortogonal inversa, que é a mesma ou semelhante à unidade de transformação ortogonal inversa do aparelho de codificação de imagem de acordo com a segunda concretização. Assim, o aparelho de decodificação de imagem de acordo com a presente concretização exerce os mesmos efeitos mesmos ou semelhantes aos efeitos do aparelho de codificação de imagem de acordo com a segunda concretização.
(Sexta Concretização)
[0257] Um aparelho de decodificação de imagem de acordo com uma sexta concretização é diferente do aparelho de decodificação de imagem de acordo com a quarta concretização e a quinta concretização nos detalhes da transformação ortogonal inversa. Os mesmos componentes da presente concretização, bem como os componentes correspondentes da quarta concretização ou quinta concretização são a seguir indicados pelos mesmos números de referência, e principalmente, os componentes diferentes serão descritos a seguir. O aparelho de codificação de imagem correspondente ao aparelho de decodificação de imagem de acordo com a presente concretização é tal como descrito na terceira concretização.
[0258] A unidade de transformação ortogonal inversa 405 de acordo com a presente concretização é um componente que é substancialmente o mesmo ou semelhante à unidade de transformação ortogonal inversa 105 na FIG. 20 e, assim, não será descrito abaixo com detalhes. Em particular, a unidade de transformação ortogonal inversa 405 de acordo com a presente concretização utiliza a matriz de transformada 1D F, matriz de transformada 1D G, e a matriz de transformada 1D H, que são comuns para a unidade de transformação ortogonal inversa 105 na FIG. 20. Os coeficientes de transformada restaurados 122, o conjunto de informação da matriz de transformada 1D 129, e o erro de predição restaurado 123 na FIG 20 corresponde aos coeficientes de transformada restaurados 417, o conjunto de informação da matriz de transformada 1D 422, e o sinal de erro de predição restaurado 418 de acordo com a presente concretização, respectivamente.
[0259] O conjunto de informação da matriz de transformada 411 de acordo com a presente concretização é um componente que é substancialmente o mesmo ou semelhante conjunto de informação da matriz de transformada 1D 112 de acordo com a terceira concretização e não será, portanto, descritos com detalhes abaixo. Isto é, conjunto de informação da matriz de transformada 1D 411 de acordo com a presente concretização utiliza, por exemplo, as tabelas na FIG. 21A, FIG. 21B, FIG. 21C, FIG. 21D e FIG. 21E para gerar o conjunto de informação da matriz de transformada 1D 422. A informação de predição 1D 126 e o conjunto de informação da matriz de transformada 129 de acordo com a terceira concretização corresponde à informação de predição 424 e ao conjunto de informação da matriz de transformada 422 de acordo com a presente concretização, respectivamente.
[0260] Como descrito acima, o aparelho de decodificação de imagem de acordo com a presente concretização inclui uma unidade de transformação ortogonal inversa, que é a mesma ou semelhante à unidade de transformação ortogonal inversa do aparelho de codificação de imagem de acordo com a terceira concretização. Assim, o aparelho de decodificação de imagem de acordo com a presente concretização exerce os mesmos efeitos ou semelhantes aos efeitos do aparelho de codificação de imagem de acordo com a terceira concretização.
[0261] Da quarta até a sexta concretização, prepara-se dois ou três tipos de matrizes de transformada 1D e seleciona-se uma das matrizes de transformada para transformação vertical inversa e transformação horizontal inversa de acordo com o modo de predição. No entanto, as duas ou três tipos de matrizes de transformada 1D acima descritas são ilustrativas. A eficiência de codificação pode ser melhorada através da preparação de mais matrizes de transformada. Por exemplo, a quinta concretização e a sexta concretização podem ser combinadas em conjunto para preparar quatro tipos de matrizes de transformada 1D. No entanto, um aumento do número de tipos de matrizes de transformada preparadas requer um hardware adicional e semelhantes. Assim, o equilíbrio entre a eficiência da codificação e as desvantagens resultantes de um aumento desejável do número de tipos de matrizes de transformada deve ser levado em conta.
[0262] Modificações das concretizações serão listadas e introduzidas abaixo.
[0263] Da primeira até sexta concretizações descrevem o exemplo no qual um quadro é dividido em blocos retangulares com um tamanho de pixel de 16 x 16 ou semelhante, e onde a codificação ou decodificação é efetuada em cada um dos blocos, de modo a partir da parte esquerda superior para a parte direita inferior da imagem (ver FIG. 6A). No entanto, a ordem de codificação e o modo de decodificação não estão limitados a este exemplo. Por exemplo, a codificação e decodificação podem ser realizadas a a partir da parte inferior direita para a parte superior esquerda, ou em forma de espiral a partir do centro para a extremidade da imagem. Além disso, a codificação e decodificação podem ser realizadas do modo a partir da parte direita superior para a parte esquerda inferior ou em espiral a partir da extremidade para o centro da imagem.
[0264] Da primeira a sexta concretizações, ilustra-se os tamanhos dos blocos de predição alvo, tais como o bloco de pixels de 4 x 4, o bloco de pixels de 8 x 8, e o tamanho de pixel 16 x 16, para descrição. No entanto, o bloco de predição alvo não deve ter necessariamente uma forma de bloco uniforme. Por exemplo, exemplos do tamanho dos blocos de predição alvo pode incluir um bloco de pixels de 16 x 8, um bloco de pixelsde 8 x 16, um bloco de pixels de 8 x 4, ou um bloco de pixels de 4 x 8. Além disso, nem todos os blocos dentro de uma unidade de árvore de codificação necessitam de ter o mesmo tamanho de bloco, e uma pluralidade de diferentes tamanhos de bloco podem ser adotadas em conjunto no interior da unidade de árvore de codificação. Se uma pluralidade de diferentes tamanhos de bloco é adotada em conjunto no interior da unidade de árvore de codificação, o aumento do número de blocos em que a unidade de árvore de codificação é dividida aumenta a quantidade de código necessário para codificar ou descodificar a informação de divisão. Assim, o tamanho do bloco é, desejavelmente, selecionado levando em consideração o equilíbrio entre a quantidade para o código de informação e a qualidade da imagem decodificada local, ou a imagem decodificada.
[0265] Por razões de simplificação, da primeira até a sexta concretização descreve-se de forma abrangente os componentes do sinal de cor, sem sinais de luminância distintivos dos sinais de diferença de cor. No entanto, se o processo de predição varia entre o sinal de luminância e o sinal de diferença de cor, o mesmo esquema de predição ou esquemas de predição diferentes podem ser usados. Se os esquemas de predição diferentes são utilizados para o sinal de luminância e para o sinal de diferença de cor, o esquema de predição selecionado para o sinal de diferença de cor pode ser codificados ou decodificados de um modo similar ao modo aplicao ao sinal de luminância.
[0266] Por razões de simplificação, da primeira até a sexta concretização descreve-se de forma abrangente os componentes do sinal de cor, sem distinguir o sinal de luminância do sinal de diferença de cor. No entanto, se o processo de transformação ortogonal varia entre o sinal de luminância e o sinal de diferença de cor, o mesmo esquema de transformação ortogonal ou diferentes esquemas de transformação ortogonal podem ser utilizados. Se diferentes esquemas de transformação ortogonais são utilizados para o sinal de luminância e para o sinal de diferença de cor, o esquema de transformação ortogonal selecionado para o sinal de diferença de cor pode ser codificados ou decodificados de um modo similar ao modo aplicado ao sinal de luminância.
[0267] Como descrito acima, cada uma das concretizações atinge uma eficiência de transformação ortogonal e transformação ortogonal inversa enquanto aliviar dificuldades na implementação do hardware e do software de aplicação. Assim, cada concretização melhora a eficiência de codificação e, assim, a qualidade de imagem subjetiva.
[0268] Embora certas concretizações tenham sido descritas, estas concretizações tenham sido apresentadas a título de exemplo apenas, e não se destinam a limitar o âmbito das invenções. De fato, os novos métodos e sistemas aqui descritos podem ser incorporados em uma variedade de outras formas, além disso, várias omissões, substituições e alterações na forma dos métodos e sistemas aqui descritos podem ser feitas sem afastamento do espírito das invenções. As reivindicações anexas e suas equivalentes destinam-se a cobrir tais formas ou modificações como seria dentro do âmbito e do espírito das invenções.
[0269] Por exemplo, um programa pode ser fornecido, que é armazenado num suporte de armazenamento legível por computador e configurado para implementar o processamento de acordo com cada uma das concretizações. O meio de armazenamento pode estar em qualquer formato de armazenamento, desde que o programa possa ser armazenado no dispositivo de armazenamento e lido a partir do meio de armazenamento por um computador, o meio de armazenamento pode ser um disco magnético, um disco ótico (CD- ROM, CD-R, DVD, ou outros semelhantes), um disco magnético-ótico (MO ou semelhantes), uma memória de semicondutor, ou similar.
[0270] Além disso, o programa configurado para implementar o processamento de acordo com cada uma das concretizações pode ser armazenado num computador (servidor) ligado a uma rede como a Internet. Assim, o programa pode ser descarregado para um computador (cliente), através da rede. Lista de Sinais de Referência 101: unidade de subtração 102: unidade de transformação ortogonal 103: unidade de quantificação 104: unidade de desquantificação 105: unidade de transformação ortogonal inversa 106: unidade de adição 107: memória da imagem de referência 108: unidade de intrapredição 109: unidade de interpredição 110: unidade de seleção de predição 111: comutador de seleção de predição 112: unidade de conjunto de matriz de transformada 1D 113: unidade de controle da ordem dos coeficientes 114: unidade de codificação de entropia 115: tampão de saída 116: unidade de controle de codificação 117: sequêcia de coeficientes de transformada quantificados 118: imagem de entrada 119: erro de predição 120: coeficiente de transformada 121: coeficiente de transformada quantificado 122: coeficiente de transformada restaurado 123: erro de predição restaurado 124: imagem decodificada local 125: imagem de referência 126: informação de predição 127: imagem predita 129: conjunto de informação da matriz de transformada 1D 130: dados codificados 201, 204, 801, 804, 1101, 1104, 1201, 1204: comutador de seleção 202, 802, 1102, 1202: unidade de transformação vertical 206,..., 209, 806,..., 811, 1206,..., 1211: unidade de transformação orthogonal 1D203, 1103: transposition unit 205, 805, 1105, 1205: unidade de transformação horizontal 301, 304, 901, 904, 1301, 1304: comutador de seleção 302, 902, 1302: unidade de transformação vertical inversa 303, unidade de transposição 305, 905, 1305: unidade de transformação horizontal inversa 306,..., 309, 906,..., 911, 1306,..., 1311: unidade de transformação ortogonal inversa 1D 401: tampão de entrada 402: unidade de decodificação de entropia 403: unidade de controle da ordem dos coeficientes 404: unidade de desquantificação 405: unidade de transformação ortognal inversa 406: unidade de adição 407: memória de imagem de referência 408: unidade de intrapredição 409: unidade de interpredição 410: comutador de seleção 411: unidade conjunto da matriz de transformada 1D 412: tampão de saída 413: unidade de controle de decodificação 414: dados codificados 415: sequência de coeficientes de transformada quantificados 416: coeficientes de transformada quantificados 417: coeficientes de transformada restaurados 418: erro de predição restaurado 419: imagem decodificada 420: imagem de referência 421: informação do modo de predição 422: conjunto de informação da matriz de transformada 1D 423: imagem de predição 424: informação de predição 425: imagem de saída 501: comutador de seleção 502,..., 510: unidade de transformação 2D-1D 511: unidade de contagem de frequência de ocorrência 512: unidade de atualização da ordem dos coeficientes 513: histograma 514: informação de atualização da ordem dos coeficientes 700: sintaxe 701: sintaxe de nível alto 702: sintaxe de nível fatia 703: sintaxe de nível árvore de codificação 704: sintaxe de conjunto dos parâmetros de sequência 705: sintaxe de conjunto dos parâmetros de figura 706: sintaxe de cabeçalho fatia 707: sintaxe de dados fatia 708: sintaxe da unidade de árvore de codificação 709: sintaxe da unidade de predição 710: sintaxe da unidade de transformada 1001: comutador de seleção 1002,..., 1010: unidade de transformação 1D-2D 1011: unidade de contagem de frequência de ocorrência 1012: unidade de atualização da ordem dos coeficientes 1013: histograma 1014: informação de atualização da ordem dos coeficientes

Claims (2)

1. Método de codificação de imagem caracterizado por compreender: submeter um alvo de codificação a intraprevisão para obter um erro de previsão; ajustar, usando apenas dois tipos de matrizes, uma combinação de uma matriz de transformada vertical e de uma matriz de transformada horizontal correspondente a um modo de intraprevisão para o alvo de codificação com base em uma relação, a relação pré-determinada de acordo com um esquema de geração de imagem para cada modo de intraprevisão; realizar uma transformação vertical e uma transformação horizontal sobre o erro de previsão usando a matriz de transformada vertical e matriz de transformada horizontal ajustada, para obter coeficientes de transformada; e codificar os coeficientes de transformada e informação indicando o modo de intraprevisão para o alvo de codificação, e em que a combinação corresponde a uma de uma primeira combinação ou uma segunda combinação, a primeira combinação é uma combinação de primeiras matrizes de transformada, a segunda combinação é uma combinação de segundas matrizes de transformada, uma densidade de coeficiente da segunda matriz de transformada é maior que aquela da primeira matriz de transformada no caso de uma transformação ortogonal unidimensional ser realizada em um erro de previsão de um modo de intraprevisão para gerar uma imagem de intraprevisão por referência a pixels de referência em pelo menos uma linha e uma direção da transformação ortogonal unidimensional é perpendicular à pelo menos uma linha, e a segunda combinação é ajustada para uma pluralidade de modos de intraprevisão.
2. Método de decodificação de imagem caracterizado por compreender: adquirir coeficientes de transformada para uma primeira imagem a ser um alvo de decodificação e informações de previsão incluindo um tipo de codificação e informação de modo de previsão, o tipo de codificação indicando que a primeira imagem é submetida a uma intraprevisão, a informação de intraprevisão a respeito de um modo específico para a intraprevisão da primeira imagem; avaliar se uma primeira condição é satisfeita com base nas informações de previsão; ajustar uma primeira matriz transformada para tanto uma matriz de transformada inversa vertical quanto uma matriz de transformada inversa horizontal quando a primeira condição é satisfeita; ajustar uma segunda matriz transformada para tanto uma matriz de transformada inversa vertical quanto uma matriz de transformada inversa horizontal quando a primeira condição não é satisfeita, a segunda matriz transformada sendo diferente da primeira matriz transformada; transformar inversamente os coeficientes de transformada ao longo de uma direção vertical e uma direção horizontal utilizando a primeira matriz transformada para se obter um primeiro erro de previsão quando a primeira matriz transformada é ajustada para tanto uma matriz de transformada inversa vertical quanto para uma matriz de transformada inversa horizontal transformar inversamente os coeficientes de transformada ao longo de uma direção vertical e uma direção horizontal utilizando a segunda matriz transformada para se obter um segundo erro de previsão quando a segunda matriz transformada é ajustada para tanto uma matriz de transformada inversa vertical quanto para uma matriz de transformada inversa horizontal; e gerar uma primeira imagem decodificada com base no primeiro erro de previsão ou no segundo erro de previsão, e em que as matrizes de transformada disponíveis para matriz de transformada inversa vertical e a matriz de transformada inversa horizontal são apenas a primeira matriz de transformada e a segunda matriz de transformada.
BR122020008881-8A 2010-07-15 2010-07-15 Métodos de codificação e de decodificação de imagem BR122020008881B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/062007 WO2012008039A1 (ja) 2010-07-15 2010-07-15 画像符号化方法及び画像復号化方法

Publications (1)

Publication Number Publication Date
BR122020008881B1 true BR122020008881B1 (pt) 2021-08-10

Family

ID=45469063

Family Applications (2)

Application Number Title Priority Date Filing Date
BR122020008881-8A BR122020008881B1 (pt) 2010-07-15 2010-07-15 Métodos de codificação e de decodificação de imagem
BR112013000865-2A BR112013000865B1 (pt) 2010-07-15 2010-07-15 Métodos de codificação e de decodificação de imagem

Family Applications After (1)

Application Number Title Priority Date Filing Date
BR112013000865-2A BR112013000865B1 (pt) 2010-07-15 2010-07-15 Métodos de codificação e de decodificação de imagem

Country Status (10)

Country Link
US (3) US20130128972A1 (pt)
EP (3) EP2595385A4 (pt)
JP (1) JP5259879B2 (pt)
CN (1) CN103493491A (pt)
AU (1) AU2010357291B2 (pt)
BR (2) BR122020008881B1 (pt)
CA (2) CA2921057C (pt)
MX (2) MX338867B (pt)
RU (2) RU2528144C1 (pt)
WO (1) WO2012008039A1 (pt)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101452860B1 (ko) 2009-08-17 2014-10-23 삼성전자주식회사 영상의 부호화 방법 및 장치, 영상 복호화 방법 및 장치
CN103493491A (zh) 2010-07-15 2014-01-01 株式会社东芝 图像编码方法以及图像解码方法
PL231160B1 (pl) 2011-10-18 2019-01-31 Kt Corp Sposób dekodowania sygnału wideo
US10904551B2 (en) * 2013-04-05 2021-01-26 Texas Instruments Incorporated Video coding using intra block copy
JP5537695B2 (ja) * 2013-04-10 2014-07-02 株式会社東芝 画像復号化装置、方法およびプログラム
JP5535361B2 (ja) * 2013-04-10 2014-07-02 株式会社東芝 画像符号化装置、方法およびプログラム
CN103974076B (zh) * 2014-05-19 2018-01-12 华为技术有限公司 图像编解码方法和设备、系统
US10405000B2 (en) * 2014-11-21 2019-09-03 Vid Scale, Inc. One-dimensional transform modes and coefficient scan order
CN107925771B (zh) * 2015-05-29 2022-01-11 深圳市大疆创新科技有限公司 视频处理的方法、系统、存储介质和成像装置
US20180302629A1 (en) * 2015-10-30 2018-10-18 Sony Corporation Image processing apparatus and method
EP3410710A4 (en) * 2016-01-28 2019-09-11 Nippon Hoso Kyokai CODING DEVICE, DECODING DEVICE AND PROGRAM
FR3050598B1 (fr) * 2016-04-26 2020-11-06 Bcom Procede de decodage d'une image numerique, procede de codage, dispositifs, et programmes d'ordinateurs associes
US10972733B2 (en) 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform
CN106254883B (zh) * 2016-08-02 2021-01-22 海信视像科技股份有限公司 一种视频解码中的反变换方法和装置
RU2645290C1 (ru) * 2017-03-27 2018-02-19 федеральное государственное казенное военное образовательное учреждение высшего образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства обороны Российской Федерации Способ кодирования оцифрованных изображений с использованием адаптивного ортогонального преобразования
RU2746706C1 (ru) * 2017-04-13 2021-04-19 ЭлДжи ЭЛЕКТРОНИКС ИНК. Способ и устройство кодирования/декодирования изображений
WO2019027302A1 (ko) * 2017-08-04 2019-02-07 엘지전자 주식회사 비디오 압축을 위한 변환을 구성하는 방법 및 장치
CN116866600A (zh) * 2017-12-15 2023-10-10 Lg电子株式会社 视频编解码方法、存储介质和数据发送方法
JP7373509B2 (ja) * 2018-06-25 2023-11-02 オッポ広東移動通信有限公司 フレーム内予測方法及び装置
US10904563B2 (en) * 2019-01-02 2021-01-26 Tencent America LLC Method and apparatus for improved zero out transform
CN116389725A (zh) 2019-07-10 2023-07-04 Oppo广东移动通信有限公司 图像分量预测方法、编码器、解码器以及存储介质
WO2021127923A1 (zh) * 2019-12-23 2021-07-01 Oppo广东移动通信有限公司 图像预测方法、编码器、解码器以及存储介质
CN111429555A (zh) * 2020-03-24 2020-07-17 谷元(上海)文化科技有限责任公司 一种动画人物表情转换视觉捕捉方法
US11418795B2 (en) * 2020-08-05 2022-08-16 University Of Electronic Science And Technology Of China Temporal domain rate distortion optimization based on video content characteristic and QP-λcorrection
CN111881438B (zh) * 2020-08-14 2024-02-02 支付宝(杭州)信息技术有限公司 基于隐私保护进行生物特征识别的方法、装置及电子设备

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3050736B2 (ja) * 1993-12-13 2000-06-12 シャープ株式会社 動画像符号化装置
JP2900998B2 (ja) 1997-07-31 1999-06-02 日本ビクター株式会社 ブロック間内挿予測符号化装置、復号化装置、符号化方法及び復号化方法
US6707948B1 (en) * 1997-11-17 2004-03-16 The Regents Of The University Of California Image compression for memory-constrained decoders
US6990506B2 (en) * 2000-12-13 2006-01-24 Sharp Laboratories Of America, Inc. Integer cosine transform matrix for picture coding
JP4336789B2 (ja) * 2002-01-10 2009-09-30 日本電気株式会社 2次元直交変換と量子化方法及びその装置並びにプログラム
AU2004310915B2 (en) * 2003-12-01 2008-05-22 Samsung Electronics Co., Ltd. Method and apparatus for scalable video encoding and decoding
JP4591657B2 (ja) * 2003-12-22 2010-12-01 キヤノン株式会社 動画像符号化装置及びその制御方法、プログラム
US7565020B2 (en) * 2004-07-03 2009-07-21 Microsoft Corp. System and method for image coding employing a hybrid directional prediction and wavelet lifting
US7778327B2 (en) * 2005-02-08 2010-08-17 Texas Instruments Incorporated H.264 quantization
BRPI0619193A2 (pt) * 2005-11-30 2011-09-20 Toshiba Kk Toshiba Corp método de codificação de imagem / decodificação de imagem, aparelho de codificação de imagem / decodificação de imagem
US8488668B2 (en) 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US9008173B2 (en) 2007-10-15 2015-04-14 Nippon Telegraph And Telephone Corporation Image encoding and decoding apparatuses, image encoding and decoding methods, programs thereof, and recording media recorded with the programs
JP2009272727A (ja) * 2008-04-30 2009-11-19 Toshiba Corp 予測誤差の方向性に基づく変換方法、画像符号化方法及び画像復号化方法
WO2011083573A1 (ja) 2010-01-07 2011-07-14 株式会社 東芝 動画像符号化装置及び動画像復号化装置
US8885714B2 (en) * 2010-01-14 2014-11-11 Texas Instruments Incorporated Method and system for intracoding in video encoding
CN102918564B (zh) * 2010-03-10 2016-10-26 汤姆森特许公司 具有变换选择的视频编码和解码的约束变换的方法和装置
US8705619B2 (en) * 2010-04-09 2014-04-22 Sony Corporation Directional discrete wavelet transform (DDWT) for video compression applications
CN103493491A (zh) 2010-07-15 2014-01-01 株式会社东芝 图像编码方法以及图像解码方法
JP5535361B2 (ja) 2013-04-10 2014-07-02 株式会社東芝 画像符号化装置、方法およびプログラム
JP5622954B2 (ja) 2014-04-17 2014-11-12 株式会社東芝 画像復号化装置、方法およびプログラム

Also Published As

Publication number Publication date
CA2805248A1 (en) 2012-01-19
AU2010357291A1 (en) 2013-02-14
BR112013000865B1 (pt) 2021-08-10
WO2012008039A1 (ja) 2012-01-19
MX338867B (es) 2016-05-03
US9426467B2 (en) 2016-08-23
JPWO2012008039A1 (ja) 2013-09-05
RU2528144C1 (ru) 2014-09-10
US20140169460A1 (en) 2014-06-19
US20130128972A1 (en) 2013-05-23
CA2921057C (en) 2017-10-17
MX2013000516A (es) 2013-09-02
BR112013000865A2 (pt) 2016-05-17
EP2595385A4 (en) 2014-06-25
JP5259879B2 (ja) 2013-08-07
EP2595385A1 (en) 2013-05-22
AU2010357291B2 (en) 2015-01-15
EP2747435A1 (en) 2014-06-25
US9706226B2 (en) 2017-07-11
EP2747436A1 (en) 2014-06-25
CN103493491A (zh) 2014-01-01
RU2580088C2 (ru) 2016-04-10
CA2805248C (en) 2016-04-26
US20140169461A1 (en) 2014-06-19
RU2014127123A (ru) 2016-02-10
CA2921057A1 (en) 2012-01-19

Similar Documents

Publication Publication Date Title
BR122020008881B1 (pt) Métodos de codificação e de decodificação de imagem
CN113873243B (zh) 用于对视频进行解码的方法和用于对视频进行编码的方法
BR112013000963B1 (pt) métodos de codificação e decodificação de vídeo e codificador e decodificador de vídeo
BR112014022670B1 (pt) Método e mídia legível por computador para decodificar vídeo
BR112020006969A2 (pt) janela de acesso à memória limitada para refinamento de vetor de movimento
CN113170129A (zh) 用于视频编解码的基于树的变换单元(tu)分割
BR122021021189B1 (pt) Métodos de decodificação/codificação de vídeo realizado por um dispositivo de decodificação/codificação, e mídia de armazenamento legível por computador
BR122021003525B1 (pt) Método de decodificação de vídeo realizado por um dispositivo de decodificação, método de codificação de vídeo realizado por um dispositivo de codificação e mídiade armazenamento legível por computador
AU2015201843B2 (en) Image encoding method and image decoding method
JP5622954B2 (ja) 画像復号化装置、方法およびプログラム
JP5535361B2 (ja) 画像符号化装置、方法およびプログラム
JP5537695B2 (ja) 画像復号化装置、方法およびプログラム
JP6042478B2 (ja) 画像復号化装置
Wang et al. Improved lossless coding algorithm in H. 264/AVC based on hierarchical intraprediction and coding-mode selection
RU2631992C2 (ru) Способ кодирования изображения и способ декодирования изображения
JP6310034B2 (ja) 復号装置、復号方法および復号プログラム
JP5925855B2 (ja) 画像復号化装置、方法およびプログラム、第1のプログラムおよび第2のプログラム、サーバシステムならびにダウンロード制御方法
AU2019232802A1 (en) Method, apparatus and system for encoding and decoding an Image frame from a bistream
Oh et al. Efficient depth intraprediction method for H. 264/AVC-based three-dimensional video coding
BR112021013495A2 (pt) Método, aparelho e sistema para codificar e decodificar uma árvore de blocos de amostras de vídeo
BR122020003071B1 (pt) Método de decodificação e método de codificação
BR122020003031B1 (pt) Método de decodificação e método de codificação
BR122020003041B1 (pt) Método de codificação, método de decodificação e dispositivo de transferência

Legal Events

Date Code Title Description
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 15/07/2010, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.