BR112014004805B1 - Método de codificação e método de decodificação - Google Patents

Método de codificação e método de decodificação Download PDF

Info

Publication number
BR112014004805B1
BR112014004805B1 BR112014004805-3A BR112014004805A BR112014004805B1 BR 112014004805 B1 BR112014004805 B1 BR 112014004805B1 BR 112014004805 A BR112014004805 A BR 112014004805A BR 112014004805 B1 BR112014004805 B1 BR 112014004805B1
Authority
BR
Brazil
Prior art keywords
unit
weight
prediction
predicted
luma
Prior art date
Application number
BR112014004805-3A
Other languages
English (en)
Other versions
BR112014004805A2 (pt
Inventor
Takeshi Chujoh
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 BR112014004805A2 publication Critical patent/BR112014004805A2/pt
Publication of BR112014004805B1 publication Critical patent/BR112014004805B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • H04N19/45Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder performing compensation of the inverse transform mismatch, e.g. Inverse Discrete Cosine Transform [IDCT] mismatch
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

DISPOSITIVO DE CODIFICAÇÃO, DISPOSITIVO DE DECODIFICAÇÃO, MÉTODO DE CODIFICAÇÃO E MÉTODO DE DECODIFICAÇÃO. A presente invenção refere-se a um método de codificação de acordo com uma concretização que inclui uma etapa de ajustar índice, uma etapa de prever e uma etapa de codificar. A etapa de ajustar índice ajusta um índice que representa informação de uma imagem de referência e de um fator de ponderação. A etapa de prever prevê que um valor de referência do fator de ponderação seja derivado como um valor previsto, quando uma mudança de valor de pixel entre pelo menos uma imagem de referência e uma imagem alvo a serem codificadas for uma referência específica ou menos. A etapa de codificar codifica um valor de diferença entre o fator de ponderação e o valor previsto.

Description

[0001] Uma concretização da presente invenção se refere a um método de codificação e a um método de decodificação.
ANTECEDENTES
[0002] Recentemente, um método de codificar uma imagem com eficiência de codificação notadamente aperfeiçoada foi recomendado como ITU-T REC. H.264 e ISO/IEC 14496-10 (adiante, referido como "H.264") em cooperação com ITU-T (Setor de Normalização das Telecomunicações da União Internacional de Telecomunicações) e ISO (Organização Internacional para Padronização) / IEC (Comissão Eletrotécnica Internacional).
[0003] Em H.264, é descrito um sistema de codificação de inter- predição no qual redundância na direção do tempo é eliminada para atingir uma alta eficiência de codificação ao se fazer uma predição de compensação de movimento de precisão fracional usando uma imagem codificada como uma imagem de referência.
[0004] Além disso, é proposto um sistema no qual uma imagem em movimento incluindo um efeito de desvanecimento ou de dissolução é co-dificada com uma eficiência maior do que aquela de um sistema de codifi-cação de interpredição de acordo com ISO/IEC MPEG (Grupo de Especia-listas em Imagens com Movimento)-1, 2, 4. Neste sistema, uma predição de compensação de movimento de precisão fracional é feita para uma imagem em movimento de entrada apresentando luminância e duas diferenças de cor como quadros para prever uma mudança no brilho na direção do tempo. Depois, com o uso de um índice representando uma combinação de uma imagem de referência, um fator de ponderação para cada luminância e duas diferenças de cor, e um deslocamento para cada lumi- nância e duas diferenças de cor, uma imagem prevista é multiplicada pelo fator de ponderação, e o deslocamento é acrescentado à mesma.
LISTA DE CITAÇÕES LITERATURA DE PATENTE
[0005] Literatura de Patente 1: Publicação de Patente Japonesa Aberta à Inspeção Pública No. 2004-7377
SUMÁRIO PROBLEMA TÉCNICO
[0006] Todavia, na tecnologia convencional, conforme descrito acima, uma vez que o índice é codificado como sendo mantido como valores diretos, a eficiência de codificação é reduzida. Um objetivo a ser solucionado pela presente invenção é o de prover um método de codificação e um método de decodificação capazes de aperfeiçoarem a eficiência de codificação.
SOLUÇÃO PARA O PROBLEMA
[0007] Um dispositivo de codificação de acordo com uma concreti zação inclui uma unidade de ajuste de índice, uma unidade de reconfiguração de índice e uma unidade de codificação entrópica. A unidade de ajuste de índice ajusta um índice que representa informação de uma imagem de referência e de um fator de ponderação. A unidade de reconfiguração de índice prevê um valor de referência do fator de ponderação, em que o valor de referência indica um fator a ser ajustado, se uma diferença de valor de pixel entre uma imagem de referência e uma imagem alvo a serem codificadas for menor ou igual a um valor específico. A unidade de codificação entrópica codifica um valor de diferença entre o fator de ponderação e o valor de referência.
BREVE DESCRIÇÃO DOS DESENHOS
[0008] A Figura 1 é um diagrama de bloco que ilustra um exemplo de um dispositivo de codificação de acordo com uma primeira concretização.
[0009] A Figura 2 é um diagrama explicativo que ilustra um exem plo de uma sequência de codificação prevista para um bloco de pixels de acordo com a primeira concretização.
[00010] A Figura 3A é um diagrama que ilustra um exemplo do tamanho de bloco de um bloco de árvore de codificação de acordo com a primeira concretização.
[00011] A Figura 3B é um diagrama que ilustra um exemplo específico do bloco de árvore de codificação de acordo com a primeira concretização.
[00012] A Figura 3C é um diagrama que ilustra um exemplo específico do bloco de árvore de codificação de acordo com a primeira concretização.
[00013] A Figura 3D é um diagrama que ilustra um exemplo específico do bloco de árvore de codificação de acordo com a primeira concretização.
[00014] A Figura 4 é um diagrama de bloco que ilustra um exemplo de uma unidade de geração de imagem prevista de acordo com a primeira concretização.
[00015] A Figura 5 é um diagrama que ilustra um exemplo da relação entre vetores de movimento para uma predição compensada por movimento em uma predição bidirecional de acordo com a primeira concretização.
[00016] A Figura 6 é um diagrama de bloco que ilustra um exemplo de uma unidade de compensação de movimento de múltiplos quadros de acordo com a primeira concretização.
[00017] A Figura 7 é um diagrama explicativo que ilustra um exemplo de precisão de ponto fixo de um fator de ponderação de acordo com a primeira concretização.
[00018] A Figura 8A é um diagrama que ilustra um exemplo de informação de parâmetro WP de acordo com a primeira concretização.
[00019] A Figura 8B é um diagrama que ilustra um exemplo de informação de parâmetro WP de acordo com a primeira concretização.
[00020] A Figura 9 é um diagrama que ilustra um exemplo de sinta- xe de acordo com a primeira concretização.
[00021] A Figura 10 é um diagrama que ilustra um exemplo de uma sintaxe de ajuste de parâmetro de imagem de acordo com a primeira concretização.
[00022] A Figura 11 é um diagrama que ilustra um exemplo de uma sintaxe de cabeçalho da fatia de acordo com a primeira concretização.
[00023] A Figura 12 é um digrama que ilustra um exemplo de uma sintaxe de tabela de peso de predição de acordo com a primeira con-cretização.
[00024] A Figura 13 é um diagrama que ilustra um exemplo de uma configuração de sintaxe que explicitamente representa um método de predição de acordo com a primeira concretização.
[00025] A Figura 14 é um fluxograma que ilustra um exemplo do processo de prever uma precisão de ponto fixo de acordo com a primeira concretização.
[00026] A Figura 15 é um fluxograma que ilustra um exemplo do processo de restaurar a precisão de ponto fixo de acordo com a primeira concretização.
[00027] A Figura 16 é um fluxograma que ilustra um exemplo de um processo de predição de fator de ponderação de acordo com a primei ra concretização.
[00028] A Figura 17 é um fluxograma que ilustra um exemplo de um processo de restauração de fator de ponderação de acordo com a pri meira concretização.
[00029] A Figura 18 é um fluxograma que ilustra outro exemplo de um processo de predição de fator de ponderação de acordo com a primeira concretização.
[00030] A Figura 19 é um fluxograma que ilustra outro exemplo de um processo de restauração de fator de ponderação de acordo com a primeira concretização.
[00031] A Figura 20 é um fluxograma que ilustra um exemplo de um processo de predição de um sinal de diferença de cor de acordo com a primeira concretização.
[00032] A Figura 21 é um fluxograma que ilustra um exemplo de um processo de restauração de um sinal de diferença de cor de acordo com a primeira concretização.
[00033] A Figura 22 é um fluxograma que ilustra outro exemplo de um processo de predição de um fator de ponderação de acordo com a primeira concretização.
[00034] A Figura 23 é um fluxograma que ilustra outro exemplo do processo de restauração de um fator de ponderação de acordo com a primeira concretização.
[00035] A Figura 24 é um diagrama de bloco que ilustra um exemplo da configuração de um dispositivo de decodificação de acordo com uma segunda concretização.
DESCRIÇÃO DAS CONCRETIZAÇÕES
[00036] Adiante, concretizações serão descritas em detalhes com referência aos desenhos anexos. Um dispositivo de codificação e um dispositivo de decodificação de acordo com cada concretização apresentada abaixo podem ser implementados por hardware, tal como um chip LSI (Integração em Grande Escala), ou um DSP (Processador de Sinal Digital), ou um FPGA (Arranjo de Portas Programável em Campo). Além disso, um dispositivo de codificação e um dispositivo de de- codificação de acordo com cada concretização apresentada abaixo podem ser implementados ao fazer com que um computador execute um programa, em outras palavras, por software. Na descrição apresentada abaixo, o termo "imagem" pode ser apropriadamente substituído por um termo, tal como "vídeo", "pixel", "sinal de imagem", "imagem", ou "dados de imagem".
Primeira Concretização
[00037] Em uma primeira concretização, será descrito um dispositivo de codificação que codifica uma imagem em movimento.
[00038] A Figura 1 é um diagrama de bloco que ilustra um exemplo da configuração de um dispositivo de codificação 100 de acordo com uma primeira concretização.
[00039] O dispositivo de codificação 100 divide cada quadro ou cada campo configurando uma imagem de entrada em uma pluralidade de blocos de pixels e executa a codificação prevista dos blocos de pixels divididos usando parâmetros de codificação introduzidos de uma unidade de controle de codificação 111, gerando assim uma imagem prevista. Depois, o dispositivo de codificação 100 gera um erro de predição ao subtrair a imagem prevista da imagem de entrada dividida na pluralidade de pixels, gera dados codificados ao executar a transformação ortogonal, e a quantização, e então a codificação entrópica para o erro de predição gerado, e emite os dados codificados gerados.
[00040] O dispositivo de codificação 100 executa a codificação prevista ao seletivamente aplicar uma pluralidade de modos de predição que são diferentes entre si pelo menos no tamanho de bloco do bloco de pixels ou no método de gerar uma imagem prevista. O método de gerar uma imagem prevista pode ser grandemente dividido em dois tipos incluindo uma intrapredição na qual uma predição é feita dentro de um quadro alvo de codificação e uma interpredição na qual uma predição compensada por movimento é feita usando um ou mais quadros de referência de diferentes pontos temporais. A intrapredição é também chamada de predição de tela interna, uma predição de quadro interno, ou semelhante, e a interpredição é também chamada de predição entre telas, uma predição entre quadros, uma predição compensada por movimento, ou semelhante.
[00041] A Figura 2 é um diagrama explicativo que ilustra um exemplo de uma sequência de codificação prevista para um bloco de pixels de acordo com a primeira concretização. No exemplo ilustrado na Figura 2, o dispositivo de codificação 100 executa a codificação prevista do lado esquerdo superior para o lado direito inferior no bloco de pixels. Desse modo, em um quadro alvo de processamento de codificação f, no lado esquerdo e no lado superior do bloco de pixels alvo de codificação c, são localizados blocos de pixels p que foram completados para serem codificados. Adiante, para simplificação da descrição, enquanto é assumido que o dispositivo de codificação 100 executa a codificação prevista na ordem ilustrada na Figura 2, a ordem na codificação prevista não é limitada a esta.
[00042] O bloco de pixels representa uma unidade para processar uma imagem e, por exemplo, um bloco apresentando um tamanho M x N (aqui, M e N são números naturais), um bloco de árvore de codificação, um macrobloco, um sub-bloco, um pixel, ou semelhante corresponde à mesma. Na descrição apresentada abaixo, basicamente, o bloco de pixels é usado como tendo o significado de um bloco de árvore de codificação, mas pode ser usado como tendo um significado diferente. Por exemplo, na descrição de uma unidade de predição, um bloco de pixels é usado como tendo o significado de um bloco de pixels da unidade de predição. Um bloco pode ser referido como uma unidade ou semelhante. Por exemplo, um bloco de codificação pode ser referido como uma unidade de codificação.
[00043] A Figura 3A é um diagrama que ilustra um exemplo do tamanho de um bloco de árvore de codificação de acordo com a primeira concretização. O bloco de árvore de codificação é tipicamente um bloco de pixels de 64 x 64, conforme ilustrado na Figura 3A. Entretanto, o bloco de árvore de codificação não é limitado ao mesmo, mas pode ser um bloco de pixels de 32 x 32, um bloco de pixels de 16 x 16, um bloco de pixels de 8 x 8, um bloco de pixels de 4 x 4, ou semelhante. Aqui, o bloco de árvore de codificação pode não ser um quadrado, mas, por exemplo, pode ser um bloco de pixels de um tamanho M x N (aqui, M # N).
[00044] As Figuras 3B a 3D são diagramas que representam exemplos específicos do bloco de árvore de codificação de acordo com a primeira concretização. A Figura 3B representa um bloco de árvore de codificação apresentando um tamanho de bloco de 64 x 64 ( N = 32). Aqui, N representa o tamanho de um bloco de árvore de codificação de referência. O tamanho de um caso em que o bloco de árvore de codificação é dividido é definido como N, e o tamanho de um caso em que o bloco de árvore de codificação não é dividido é definido como 2N. A Figura 3C representa um bloco de árvore de codificação adquirido com a divisão do bloco de árvore de codificação ilustrado na Figura 3B em uma árvore de quadrantes. O bloco de árvore de codificação, conforme ilustrado na Figura 3C, apresenta uma estrutura de árvores de quadrantes. Em um caso em que o bloco de árvore de codificação é dividido, conforme ilustrado na Figura 3C, os números são ligados a quatro blocos de pixels depois da divisão na ordem de varredura Z.
[00045] Além disso, dentro de cada número da árvore de quadrantes, o bloco de árvore de codificação pode ser adicionalmente dividido em uma árvore de quadrantes. Consequentemente, o bloco de árvore de codificação pode ser dividido de maneira hierárquica. Em tal caso, a profundidade da divisão é definida como Profundidade. A Figura 3D representa um dos blocos de árvore de codificação adquirido com a divisão do bloco de árvore de codificação ilustrado na Figura 3B em uma árvore de quadrantes, e o tamanho do bloco do mesmo é 32 x 32 (N = 16). A profundidade do bloco de árvore de codificação ilustrado na Figura 3B é "0", e a profundidade do bloco de árvore de codificação ilustrado na Figura 3D é "1". Além disso, um bloco de árvore de codificação apresentando a maior unidade é chamado de um bloco de árvore de codificação grande, e um sinal de imagem de entrada é codifica- do em tal unidade na ordem de varredura por rastreio.
[00046] Na descrição apresentada abaixo, o bloco alvo codificado ou o bloco de árvore de codificação de uma imagem de entrada pode ser referido como um bloco alvo de predição ou um bloco de pixels de predição. Além disso, a unidade de codificação não é limitada ao bloco de pixels, mas pelo menos um quadro, um campo, uma fatia, uma linha ou um pixel pode ser usado como a unidade de codificação.
[00047] O dispositivo de codificação 100, conforme ilustrado na Figura 1, inclui uma unidade de subtração 101, uma unidade de transformação ortogonal 102, uma unidade de quantização 103, uma unidade de quantização inversa 104, uma unidade de transformação ortogonal inversa 105, uma unidade de adição 106, uma unidade de geração de imagem prevista 107, uma unidade de ajuste de índice 108, uma unidade de avaliação de movimento 109, e uma unidade de codificação 110. Além disso, a unidade de controle de codificação 11 ilustrada na Figura 1 controla o dispositivo de codificação 100 e, por exemplo, pode ser implementada com o uso de uma CPU (Unidade de Processamento Central) ou semelhante.
[00048] A unidade de subtração 101 adquire um erro de predição com a subtração de uma imagem prevista correspondente de uma imagem de entrada dividida em blocos de pixels. A unidade de subtração 101 emite o erro de predição de modo a ser introduzido na unidade de transformação ortogonal 102.
[00049] A unidade de transformação ortogonal 102 executa uma transformação ortogonal, tal como uma transformada discreta do co- seno (DCT) ou uma transformada discreta do seno (DST) para o erro de predição introduzido da unidade de subtração 101, adquirindo assim um coeficiente de transformação. A unidade de transformação ortogonal 102 emite o coeficiente de transformação de modo a ser introduzido na unidade de quantização 103.
[00050] A unidade de quantização 103 executa um processo de quantização para o coeficiente de transformação introduzido da unidade de transformação ortogonal 102, adquirindo assim um coeficiente de transformação de quantização. Mais especificamente, a unidade de quantização 103 executa a quantização com base em um parâmetro de quantização designado pela unidade de controle de codificação 111 e informação de quantização, tal como uma matriz de quantização. Descrita em maiores detalhes, a unidade de quantização 103 adquire o coeficiente de transformação de quantização com a divisão do coeficiente de transformação por um tamanho de etapa de quantização derivado com base na informação de quantização. O parâmetro de quan- tização representa a excelência da quantização. A matriz de quantiza- ção é usada para ponderar a excelência da quantização para cada componente do coeficiente de transformação. A unidade de quantiza- ção 103 emite o coeficiente de transformação de quantização de modo a ser introduzido na unidade de quantização inversa 104 e na unidade de codificação 110.
[00051] A unidade de quantização inversa 104 executa um processo de quantização inversa para o coeficiente de transformação de quantização introduzido da unidade de quantização 103, adquirindo assim um coeficiente de transformação de restauração. Mais especificamente, a unidade de quantização inversa 104 executa a quantização inversa com base na informação de quantização usada pela unidade de quantização 103. Descrita em detalhes, a unidade de quantização inversa 104 adquire um coeficiente de transformação de restauração com a multiplicação do coeficiente de transformação de quantização pelo tamanho de etapa de quantização derivado com base na informação de quantização. Além disso, a informação de quantização usada pela unidade de quantização 103 é carregada a partir de uma memória interna, que não é ilustrada na figura, da unidade de controle de codifi- cação 111 e é usada. A unidade de quantização inversa 104 emite o coeficiente de transformação de restauração de modo a ser introduzido na unidade de transformação ortogonal inversa 105.
[00052] A unidade de transformação ortogonal inversa 105 executa uma transformação ortogonal inversa, tal como uma transformada discreta inversa do coseno (IDCT) ou uma transformada discreta inversa do seno (IDST) para o coeficiente de transformação de restauração introduzido da unidade de quantização inversa 104, adquirindo assim um erro de predição de restauração. Aqui, a transformação ortogonal inversa executada pela unidade de transformação ortogonal inversa 105 corresponde a uma transformação ortogonal executada pela unidade de transformação ortogonal 102. A unidade de transformação ortogonal inversa 105 emite o erro de predição de restauração de modo a ser introduzido na unidade de adição 106.
[00053] A unidade de adição 106 acrescenta o erro de predição de restauração introduzido da unidade de transformação ortogonal inversa 105 e uma imagem prevista correspondente, gerando assim uma imagem decodificada local. A unidade de adição 106 emite a imagem decodificada local de modo a ser introduzida na unidade de geração de imagem prevista 107.
[00054] A unidade de geração de imagem prevista 107 armazena a imagem decodificada local introduzida da unidade de adição 106 em uma memória (não ilustrada na Figura 1) como uma imagem de referência e emite a imagem de referência armazenada na memória de modo a ser introduzida na unidade de avaliação de movimento 109. Além disso, a unidade de geração de imagem prevista 107 gera uma imagem prevista com a execução de uma predição ponderada compensada por movimento com base na informação de movimento e na informação de parâmetro WP introduzida na unidade de avaliação de movimento 109. A unidade de geração de imagem prevista 107 emite a imagem prevista de modo a ser introduzida na unidade de subtração 101 e na unidade de adição 106.
[00055] A Figura 4 é um diagrama de bloco que ilustra um exemplo da configuração da unidade de geração de imagem prevista 107 de acordo com a primeira concretização. A unidade de geração de imagem prevista 107, conforme ilustrada na Figura 4, inclui uma unidade de compensação de movimento de múltiplos quadros 201, uma memória 202, uma unidade de compensação de movimento unidirecional 203, uma unidade controle de parâmetro de predição 204, um seletor de imagem de referência 205, uma memória de quadro 206, e uma unidade de controle de imagem de referência 207.
[00056] A memória de quadro 206 armazena a imagem decodificada local introduzida da unidade de adição 106 como uma imagem de referência sob o controle da unidade de controle de imagem de referência 207. A memória de quadro 206 inclui uma pluralidade de conjuntos de memória FM1 a FMN (aqui, N > 2) usada para temporariamente armazenar a imagem de referência.
[00057] A unidade de controle de parâmetro de predição 204 prepara uma pluralidade de combinações, cada de um número de imagem de referência e um parâmetro de predição como uma tabela com base na informação de movimento introduzida da unidade de avaliação de movimento 109. Aqui, a informação de movimento representa a informação de um vetor de movimento que representa o desvio de um movimento que é usado para a predição compensada por movimento, o número de imagem de referência, e um modo de predição. O parâmetro de predição representa a informação referente ao vetor de movimento e ao modo de predição. Depois, a unidade de controle de parâmetro de predição 104 seleciona uma combinação de um número de referência e um parâmetro de predição usados para gerar uma imagem prevista com base na imagem de entrada e emite a combinação selecionada de modo a permitir que o número de imagem de referência seja introduzido no seletor de imagem de referência 205 e a permitir que o parâmetro de predição seja introduzido na unidade de compensação de movimento unidirecional 203.
[00058] O seletor de imagem de referência 205 é um comutador que muda um dos terminais de saída das memórias de quadro FM1 a FMN, que são incluídas na memória de quadro 206, a ser comutado com base em um número de imagem de referência introduzido a partir da unidade de controle de parâmetro de predição 204. Por exemplo, quando o número de imagem de referência for "0", o seletor de imagem de referência 205 conectará o terminal de saída da memória de quadro FM1 ao terminal de saída do seletor de imagem de referência 205, e, quando o número de imagem de referência for N - 1, o seletor de imagem de referência 205 conectará o terminal de saída da memória de quadro FMN ao terminal de saída do seletor de imagem de refe-rência 205. O seletor de imagem de referência 205 emite uma imagem de referência armazenada na memória de quadro à qual o terminal de saída é conectado dentre as memórias de quadro FM1 a FMN incluídas na memória de quadro 206 de modo a ser introduzida na unidade de compensação de movimento unidirecional 203 e na unidade de avaliação de movimento 109.
[00059] A unidade de compensação de movimento previsto unidire- cional 203 executa um processo de predição compensado por movimento com base no parâmetro de predição introduzido da unidade de controle de parâmetro de predição 204 e na imagem de referência introduzida do seletor de imagem de referência 205, gerando assim uma imagem prevista unidirecional.
[00060] A Figura 5 é um diagrama que ilustra um exemplo da rela ção entre os vetores de movimento para uma predição compensada por movimento em uma predição bidirecional de acordo com a primeira concretização. Na predição compensada por movimento, um processo de interpolação é executado usando a imagem, e uma imagem prevista unidirecional é gerada com base nos desvios de movimentos da imagem interpolada gerada e na imagem introduzida do bloco de pixels localizado na posição alvo de codificação. Aqui, o desvio é um movimento de vetor. Conforme ilustrado na Figura 5, na fatia de predição bidirecional (fatia B), uma imagem prevista é gerada com o uso de dois tipos de imagens de referência e um conjunto de vetores de movimento. Como o processo de interpolação, um processo de interpolação de precisão de 1/2 pixel, um processo de interpolação de precisão de 1/4 de pixel, ou semelhante é usado, e, com a execução de um processo de filtragem para a imagem de referência, é gerado um valor da imagem interpolada. Por exemplo, em H.264, no qual uma interpo-lação de precisão de até 1/4 de pixel pode ser executada para um sinal de luminância, o desvio é representado como quatro vezes a precisão de pixel de número inteiro.
[00061] A unidade de compensação de movimento previsto unidire- cional 203 emite uma imagem prevista unidirecional e temporariamente armazena a imagem prevista unidirecional na memória 202. Aqui, em um caso em que a informação de movimento (parâmetro de predição) representa uma predição bidirecional, a unidade de compensação de movimento de múltiplos quadros 201 faz uma predição ponderada usando dois tipos de imagens previstas unidirecionais. Consequentemente, a unidade de compensação de movimento previsto unidirecio- nal 203 armazena uma imagem prevista unidirecional correspondendo ao primeiro tipo na memória 202 e diretamente emite uma imagem prevista unidirecional correspondendo ao segundo tipo para a unidade de compensação de movimento de múltiplos quadros 201. Aqui, a imagem prevista unidirecional correspondendo ao primeiro tipo será referida como uma primeira imagem prevista, e a imagem prevista uni- direcional correspondendo ao segundo tipo será referida como uma segunda imagem prevista.
[00062] Além disso, as unidades de compensação de movimento unidirecional 203 podem ser preparadas e gerar duas imagens previstas unidirecionais. Em tal caso, quando a informação de movimento (parâmetro de predição) representar uma predição unidirecional, a unidade de compensação de movimento unidirecional 203 poderá diretamente emitir a primeira imagem prevista unidirecional para a unidade de compensação de movimento de múltiplos quadros como uma primeira imagem prevista.
[00063] A Figura 6 é um diagrama de bloco que ilustra um exemplo da configuração da unidade de compensação de movimento de múltiplos quadros 201 de acordo com a primeira concretização. Conforme ilustrado na Figura 6, a unidade de compensação de movimento de múltiplos quadros 201 inclui uma unidade de compensação de movimento padrão 301, uma unidade de compensação ponderada de movimento 302, uma unidade de controle de parâmetro WP 303, e seleto- res WP 304 e 305.
[00064] A unidade de controle de parâmetro WP 303 emite um sinalizador de aplicativo WP e informação de ponderação com base na informação de parâmetro WP introduzida da unidade de avaliação de movimento 109 de modo a introduzir o sinalizador de aplicativo WP nos seletores WP 304 e 305 e introduzir a informação de ponderação na unidade de compensação ponderada de movimento 302.
[00065] Aqui, a informação de parâmetro WP inclui informação da precisão de ponto fixo do fator de ponderação, um primeiro sinalizador de aplicativo WP, um primeiro fator de ponderação, e um primeiro deslocamento correspondendo à primeira imagem prevista, e um segundo sinalizador de aplicativo WP, um segundo fator de ponderação, e um segundo deslocamento correspondendo à segunda imagem prevista. O sinalizador de aplicativo WP é um parâmetro que pode ser ajustado para cada imagem de referência correspondente e componente de sinal e representa se uma predição de compensação ponderada de movimento é feita ou não. A informação de ponderação inclui informação da precisão de ponto fixo do fator de ponderação, do primeiro fator de ponderação, do primeiro deslocamento, do segundo fator de ponderação, e do segundo deslocamento.
[00066] Descrita em detalhes, quando a informação de parâmetro WP for introduzida da unidade de avaliação de movimento 109, a unidade de controle de parâmetro WP 303 emitirá a informação de parâmetro WP em sendo dividida no primeiro sinalizador de aplicativo WP, no segundo sinalizador de aplicativo WP, e na informação de ponderação, introduzindo assim o primeiro sinalizado de aplicativo WP no sele- tor WP 304, o segundo sinalizador de aplicativo WP no seletor WP 305, e a informação de ponderação na unidade de compensação ponderada de movimento 302.
[00067] Os seletores WP 304 e 305 mudam as extremidades de conexão das imagens previstas com base nos sinalizadores de aplicativo WP introduzidos da unidade de controle de parâmetro WP 303. Em um caso em que o sinalizador de aplicativo WP correspondente é "0", cada um dos seletores WP 304 e 305 conecta a extremidade de saída do mesmo à unidade compensação de movimento padrão 301. Depois, os seletores WP 304 e 305 emitem a primeira e a segunda imagens previstas de modo a serem introduzidas na unidade de compensação de movimento padrão 301. Por outro lado, em um caso em que o sinalizador de aplicativo WP correspondente é "1", cada um dos seletores WP 304 e 305 conecta a extremidade de saída do mesmo à unidade de compensação ponderada de movimento 302. Depois, os seletores WP 304 e 305 emitem a primeira e a segunda imagens previstas de modo a serrem introduzidas na unidade de compensação ponderada de movimento 302.
[00068] A unidade de compensação de movimento padrão 301 executa o processamento médio com base nas duas imagens previstas unidirecionais (a primeira e a segunda imagens previstas) introduzidas dos seletores WP 304 e 305, gerando assim uma imagem prevista. Mais especificamente, em um caso em que o primeiro e o segundo sinalizadores de aplicativo WP são "0"s, a unidade de compensação de movimento padrão 301 executa o processamento médio com base na Expressão Numérica (1). P[x,y] = Clip1((PL0[x,y] + PLI[x,y] + offset(2) >> (shift2)) (1)
[00069] Aqui, P[x,y] é uma imagem prevista, PL0 [x,y] é uma primeira imagem prevista, e PL1 [x,y] é uma segunda imagem prevista. Além disso, offset2 e shift2 são parâmetros de um processo de arredondamento no processamento médio e são determinados com base na precisão de cálculo interno da primeira e da segunda imagens previstas. Quando a precisão de bit da imagem prevista for 1, e a precisão de bit da primeira e da segunda imagens previstas for M (L < M), shift2 será formulado pela Expressão Numérica (2), e offset2 será formulado pela Expressão Numérica (3). shift2 = (M - L + 1) (2) offset2 = ( 1 << (shift2 - 1) (3)
[00070] Por exemplo, a precisão de bit da imagem prevista é "8", e a precisão de bit da primeira e da segunda imagens previstas é "14", shift2 = 7 com base na Expressão Numérica (2), e offset2 = (1 << 6) com base na Expressão Numérica (3).
[00071] Além disso, em um caso em que o modo de predição representado pela informação de movimento (parâmetro de predição) é a predição unidirecional, a unidade de compensação de movimento padrão 301 calcula uma imagem prevista final usando apenas a primeira imagem prevista com base na Expressão Numérica (4). P[x,y] = Clip1((PLX[x,y] + offset1) >> (shift1)) (4)
[00072] Aqui, PLX[x,y] representa uma imagem prevista unidirecio- nal (primeira imagem prevista), e X é um identificador que representa ou "0" ou "1" como uma lista de referência. Por exemplo, PLX[x,y] é PL0[x,y] em um caso em que a lista de referência é "0" e PL1[x,y] em um caso em que a lista de referência é "1". Além disso, offset1 e shift1 são parâmetros para um processo de arredondamento e são determinados com base na precisão de cálculo interno da primeira imagem prevista. Quando a precisão de bit da imagem prevista for L, e a precisão de bit da primeira imagem prevista for M, shift1 será formulado pela Expressão Numérica (5), e offset1 será formulado pela Expressão Numérica (6). shift1 = (M - L) (5) offset1 = (1 << (shift1 - 1) (6)
[00073] Por exemplo, em um caso em que a precisão de bit da imagem prevista é "8", e a precisão de bit da primeira imagem prevista é "14", shift1 = 6 com base na Expressão Numérica (5), e offset1 = (1 << 5) com base na Expressão Numérica (6).
[00074] A unidade de compensação ponderada de movimento executa a compensação ponderada de movimento com base nas duas imagens previstas unidirecionais (a primeira e a segunda imagens previstas) introduzidas dos seletores WP 304 e 305 e na informação de ponderação introduzida da unidade de controle de parâmetro WP 303. Mais especificamente, a unidade de compensação ponderada de movimento 302 executa o processo de ponderação com base na Expressão Numérica (7) em um caso em que o primeiro e o segundo sinalizadores de aplicativo WP são "1"s. P[x,y] = Clip1((PL0[x,y]*w0C + PL1[x,y]*w1C + (1 << logWDc)) >> (logWDC + 1)) + ((o0C + o1C + 1) >> 1)) (7)
[00075] Aqui, w0C representa um fator de ponderação correspon- dendo à primeira imagem prevista, w1C representa um fator de ponderação correspondendo à segunda imagem prevista, o0C representa um deslocamento correspondendo à primeira imagem prevista, e o1C representa um deslocamento correspondendo à segunda imagem prevista. Em seguida, eles serão referidos como um primeiro fator de ponderação, um segundo fator de ponderação, um primeiro deslocamento, e um segundo deslocamento, respectivamente. LogWDC é um parâmetro que representa a precisão de ponto fixo de cada fator de ponderação. Além disso, uma variável C representa um componente de sinal. Por exemplo, no caso de um sinal espacial YUV, um sinal de luminância será representado por C = Y, um sinal de diferença de cor Cr será representado por C = Cr, e um componente de diferença de cor Cb será representado por C = Cb.
[00076] Além disso, em um caso em que a precisão de cálculo da primeira e da segunda imagens previstas e a precisão de cálculo da imagem prevista são diferentes entre si, a unidade de compensação ponderada de movimento 302 realiza um processo de arredondamento com o controle de logWDc, que é a precisão de ponto fixo, como na Expressão Numérica (8). logWD’ç = logWDc + offset1 (8)
[00077] O processo de arredondamento pode ser realizado com a substituição de logWDc representado na Expressão Numérica (7) por LogWD'ç representado na Expressão Numérica (8). Por exemplo, em um caso em que a precisão de bit da imagem prevista é "8", e a precisão de bit da primeira e da segunda imagens é "14", com a redefinição de logWDc, é possível realizar um processo de arredondamento de lote para a precisão de cálculo similar àquela de shift2 representada na Expressão Numérica (1).
[00078] Além disso, em um caso em que o modo de predição representado pela informação de movimento (parâmetro de predição) é uma predição unidirecional, a unidade de compensação ponderada de movimento 302 calcula uma imagem prevista final usando apenas a primeira imagem prevista com base na Expressão Numérica (9). P[x,y] - Clip1((PLX[x,y]*wxc + (1 << logWDc - 1)) >> (logWDc) (9)
[00079] Aqui, PLX[x,y] representa uma imagem prevista unidirecio- nal (primeira imagem prevista), WXC representa um fator de ponderação correspondendo à predição unidirecional, e X é um identificador que representa ou "0" ou "1" como uma lista de referência. Por exemplo, PLX[x,y] e wXC são PL0[x,y] e W0C em um caso em que a lista de referência é "0" e são PL1[x,y] e w1C em um caso em que a lista de referência é "1".
[00080] Além disso, em um caso em que a precisão de cálculo da primeira e da segunda imagens e a precisão de cálculo da imagem prevista são diferentes entre si, a unidade de compensação ponderada de movimento 302 realiza um processo de arredondamento com o controle de logWDC, que é precisão de ponto fixo, como na Expressão Numérica (8), similarmente ao caso da predição bidirecional.
[00081] O processo de arredondamento pode ser realizado com a substituição de logWDc representado na Expressão Numérica (7) por logWD'C representado na Expressão Numérica (8). Por exemplo, em um caso em que a precisão de bit da imagem prevista é "8", e a precisão de bit das primeiras imagens previstas é "14", com a redefinição de logWDC, é possível realizar um processo de arredondamento de lote para a precisão de cálculo similar àquela de shift1 representada na Expressão Numérica (4).
[00082] A Figura 7 é um diagrama explicativo que ilustra um exemplo de precisão de ponto fixo de um fator de ponderação de acordo com a primeira concretização e é um diagrama que ilustra um exemplo de mudanças em uma imagem em movimento apresentando uma mudança de brilho na direção do tempo e um valor de escala de cinza. No exemplo ilustrado na Figura 7, um quadro alvo de codificação é Fra- me(t), um quadro que é um quadro antes do quadro alvo de codificação no tempo é Frame(t -1), e um quadro que é um quadro depois do quadro alvo de codificação no tempo é Frame(t + 1). Conforme ilustrado na Figura 7, em uma imagem de desvanecimento que muda do branco para o preto, o brilho (valor de escala de cinza) da imagem diminui de acordo com o tempo decorrido. O fator de ponderação representa o grau de mudança na Figura 7, e, como é evidente das Expressões Numéricas (7) e (9), assume um valor de "1,0" em um caso em que não há nenhuma mudança no brilho. A precisão de ponto fixo é um parâmetro que controla uma largura de intervalo correspondendo a um ponto decimal do fato de ponderação, e o fator de ponderação é 1 << logWDC em um caso em que não há nenhuma mudança no brilho.
[00083] Além disso, no caso de uma predição unidirecional, vários parâmetros (o segundo sinalizador de aplicativo WP, o segundo fator de ponderação, e a segunda informação de deslocamento) correspondendo à segunda imagem prevista não são usados e podem ser ajustados em valores iniciais determinados de antemão.
[00084] Com referência novamente à Figura 1, a unidade de avaliação de movimento 109 executa uma avaliação de movimento entre uma pluralidade de quadros com base em uma imagem de entrada e uma imagem de referência introduzidas da unidade de geração de imagem prevista 107 e emite a informação de movimento e a informação de parâmetro WP, introduzindo assim a informação de movimento na unidade de geração de imagem prevista 107 e na unidade de codificação 110 e introduzindo a informação de parâmetro WP na unidade de geração de imagem prevista 107 e na unidade de ajuste de índice 108.
[00085] A unidade de avaliação de movimento 109 calcula um erro, por exemplo, com o cálculo de diferenças entre uma imagem de entra- da de um bloco de pixels alvo de predição e uma pluralidade de imagens de referência correspondendo à mesma posição como um ponto de partida, muda a posição com precisão fracional, e calcula uma ótima informação de movimento usando uma técnica tal como a associação de blocos para encontrar um bloco de um erro mínimo ou semelhante. No caso de uma predição bidirecional, a unidade de avaliação de movimento 109 executa a associação de blocos incluindo uma predição de compensação de movimento padrão, conforme representado nas Expressões Numéricas (1) e (4) usando a informação de movimento derivada da predição unidirecional, calculando assim a informação de movimento da predição bidirecional.
[00086] Neste momento, a unidade de avaliação de movimento 109 pode calcular a informação de parâmetro WP com a execução da associação de blocos incluindo uma predição de compensação ponderada de movimento, conforme representado nas Expressões Numéricas (7) e (9). Além disso, para o cálculo da informação de parâmetro WP, pode ser usado um método de calcular um fator de ponderação ou um deslocamento usando um gradiente de brilho da imagem de entrada, um método de calcular um fator de ponderação ou um deslocamento de acordo com o acúmulo de um erro de predição no momento da codificação, ou semelhante. Adicionalmente, como a informação de parâmetro WP, pode ser usado um valor fixo determinado de antemão para cada dispositivo de codificação.
[00087] Aqui, um método de calcular um fator de ponderação, a precisão de ponto fixo do fator de ponderação, e um deslocamento de uma imagem em movimento apresentando uma mudança de brilho no tempo será descrito com referência à Figura 7. Conforme descrito acima, na imagem de desvanecimento que muda do branco para o preto, conforme ilustrado na Figura 7, o brilho (valor de escala de cinza) da imagem diminuirá de acordo com o tempo decorrido. A unidade de avaliação de movimento 109 pode calcular o fator de ponderação com o cálculo da inclinação do mesmo.
[00088] A precisão de ponto fixo do fator de ponderação é a informação que representa a precisão da inclinação, e a unidade de avaliação de movimento 109 pode calcular um valor ótimo com base em uma distância para a imagem de referência no tempo e o grau de mudança do brilho da imagem. Por exemplo, na Figura 7, em um caso em que o fator de ponderação entre Frame(t - 1) e o Frame(t + 1) é 0,75 com precisão fracional, 3/4 podem ser representados no caso de 1/4 de precisão, e, consequentemente, a unidade de avaliação de movimento 109 ajusta a precisão de ponto fixo 2m 2 (1 << 2). Uma vez que o valor da precisão de ponto fixo tem influência sobre a quantidade de códigos de um caso em que o fator de ponderação é codificado, como o valor da precisão de ponto fixo, um ótimo valor poderá ser selecionado em vista da quantidade de código e da precisão de predição. Além disso, o valor da precisão de ponto fixo pode ser um valor fixo determinado de antemão.
[00089] Além disso, em um caso em que a inclinação não é correspondida, a unidade de avaliação de movimento 109 poderá calcular o valor do deslocamento com a aquisição de um valor de correção (quantidade de desvio) correspondendo à interceptação da função linear. Por exemplo, na Figura 7, em um caso em que um fator de ponderação entre Frame(t - 1) e Frame(t + 1) é 0,60 com precisão de ponto decimal, e a precisão de ponto fixo é "1" (1 << 1), há uma grande possibilidade de que o fator de ponderação seja ajustado em "1" (correspondendo à precisão de ponto decimal de 0,50 do fator de ponderação). Em tal caso, uma vez que a precisão de ponto decimal do fator de ponderação desvia de 0,60, que é um ótimo valor, por 0,10, a unidade de avaliação de movimento 109 calcula um valor de correção correspondendo ao mesmo com base em um valor máximo do pixel e é ajustado como o valor do deslocamento. Em um caso em que o valor máximo do pixel é 255, a unidade de avaliação de movimento 109 poderá ajustar um valor tal como 25 (255 x 0,1).
[00090] Na primeira concretização, embora a unidade de avaliação de movimento 109 seja representada como uma função do dispositivo de codificação 100 como um exemplo, a unidade de avaliação de movimento 109 não é uma configuração essencial do dispositivo de codificação 100, e, por exemplo, a unidade de avaliação de movimento 109 pode ser um dispositivo diferente do dispositivo de codificação 100. Em tal caso, a informação de movimento e a informação de parâmetro WP calculadas pela unidade de avaliação de movimento 109 podem ser carregadas no dispositivo de codificação 100.
[00091] A unidade de ajuste de índice 108 recebe a informação de parâmetro WP introduzida da unidade de avaliação de movimento 109, verifica uma lista de referência (número da lista) e uma imagem de referência (número de referência), e emite a informação de índice de modo a ser introduzida na unidade de codificação 110. A unidade de ajuste de índice 108 gera a informação de índice com o mapeamento da informação de parâmetro WP introduzida da unidade de avaliação de movimento 109 em um elemento de sintaxe a ser descrito posteriormente.
[00092] As Figuras 8A e 8B são diagramas que ilustram exemplos da informação de parâmetro WP de acordo com a primeira concretização. Um exemplo da informação de parâmetro WP no momento da fatia P é conforme ilustrado na Figura 8A, e um exemplo da informação de parâmetro WP no momento da fatia B é como ilustrado nas Figuras 8A e 8B. Um número da lista é um identificador que representa uma direção de predição. O número da lista tem um valor de "0" no caso de uma predição unidirecional. Por outro lado, no caso de uma predição bidirecional, dois tipos de predição podem ser usados, e, consequentemente, o número da lista apresenta dois valores de "0" e "1". Um número de referência é um valor que corresponde a 1 ou N representado na memória de quadro 206. Uma vez que a informação de parâmetro WP é mantida para cada lista de referência e imagem de referência, em um caso em que há imagens de referência N, peças 2N de informação são necessárias no momento da fatia B.
[00093] Com referência novamente à Figura 1, a unidade de codificação 110 executa um processo de codificação de vários parâmetros de codificação, tal como o coeficiente de transformação de quantiza- ção introduzido da unidade de quantização 103, a informação de movimento introduzida da unidade de avaliação de movimento 109, a informação de índice introduzida da unidade de ajuste de índice 108, e a informação de quantização designada pela unidade de controle de codificação 111, gerando assim dados codificados. Como o processo de codificação, por exemplo, há uma codificação Huffman ou uma codificação aritmética.
[00094] Aqui, os parâmetros de codificação são parâmetros, tais como a informação de predição que representa um método de predição ou semelhante, a informação referente ao coeficiente de transformação de quantização, e a informação referente à quantização, que são necessários para um processo de decodificação. Por exemplo, pode ser configurado que uma memória interna não ilustrada na figura seja incluída na unidade de controle de codificação 111, os parâmetros de codificação sejam mantidos na memória interna, e os parâmetros de codificação de um bloco de pixels adjacente, que foi completado para ser codificado, sejam usados, quando um bloco de pixels for codificado. Por exemplo, em uma intrapredição de H.264, a informação de predição de um bloco de pixels pode ser derivada da informação de predição de um bloco adjacente que foi completado como sendo codificado.
[00095] A unidade de codificação 110 emite os dados codificados gerados no tempo de saída apropriado gerenciado pela unidade de controle de codificação 111. Vários tipos de informação, que são dados codificados de saída, por exemplo, são multiplexados por uma unidade de multiplexação não ilustrada na figura ou semelhante, é temporariamente armazenado em um buffer de saída não ilustrado na figura ou semelhante e, então, por exemplo, é emitido para um sistema de armazenamento (meio de armazenamento) ou um sistema de transmissão (linha de comunicação).
[00096] A unidade de codificação 110 inclui uma unidade de codificação entrópica 110A e uma unidade de reconfiguração de índice 110B.
[00097] A unidade de codificação entrópica 110A executa um processo de codificação, tal como a codificação de comprimento variável ou o processo de codificação aritmético para informação que foi introduzida. Por exemplo, em H.264, é usada uma codificação de comprimento variável adaptativa com base em contexto (CAVLC), uma codificação aritmética binária adaptativa com base em contexto (CABAC), ou semelhante.
[00098] A fim de reduzir o comprimento de código de um elemento de sintaxe da informação de índice introduzida da unidade de ajuste de índice 108, a unidade de reconfiguração de índice 110B executa um processo de predição com base nas características dos parâmetros do elemento de sintaxe, calcula uma diferença entre o valor (valor direto) do elemento de sintaxe e um valor previsto, e emite a diferença para a unidade de codificação entrópica 110A. Um exemplo específico do processo de predição será descrito posteriormente.
[00099] A Figura 9 é um diagrama que ilustra um exemplo de sintaxe 500 usado pelo dispositivo de codificação 100 de acordo com a primeira concretização. A sintaxe 500 ilustra a estrutura de dados codi- ficados gerados pela codificação de uma imagem de entrada (dados de imagem em movimento) usando o dispositivo de codificação 100. Quando os dados codificados forem decodificados, um dispositivo de decodificação a ser descrito posteriormente executará uma análise de sintaxe de uma imagem em movimento com referência a uma estrutura de sintaxe que é igual àquela da sintaxe 500.
[000100] A sintaxe 500 inclui três partes incluindo uma sintaxe de alto nível 501, uma sintaxe de nível de fatia 502, e uma sintaxe de nível de árvore de codificação 503. A sintaxe de alto nível 501 inclui a informação de sintaxe de uma camada superior que apresenta um nível mais alto do que a fatia. Aqui, a fatia representa uma área retangular ou uma área contínua incluída em um quadro ou um campo. A sintaxe de nível de fatia 502 inclui informação que é necessária para decodificar cada fatia. A sintaxe de nível de árvore de codificação 503 inclui informação que é necessária para decodificar cada árvore de codificação (em outras palavras, cada bloco de árvore de codificação). Cada destas partes inclui sintaxe mais detalhada.
[000101] A sintaxe de alto nível 501 inclui sintaxes de uma sequência e um nível de imagem, tal como uma sintaxe de ajuste de parâmetro de sequência 504, uma sintaxe de ajuste de parâmetro de imagem 505, e uma sintaxe de ajuste de parâmetro de adaptação 506.
[000102] A sintaxe de nível de fatia 502 inclui uma sintaxe de cabeçalho da fatia 507, uma sintaxe de tabela de peso nivelado 508, uma sintaxe de dados de fatia 509, e semelhante. A sintaxe de tabela de peso nivelado 508 é chamada de sintaxe de cabeçalho da fatia 507.
[000103] A sintaxe de nível de árvore de codificação 503 inclui uma sintaxe de unidade de árvore de codificação 510, uma sintaxe de unidade de transformação 511, uma sintaxe de unidade de predição 512, e semelhante. A sintaxe de unidade de árvore de codificação 510 pode ter uma estrutura de árvore de quadrantes, Mais especificamente, a sintaxe de unidade de árvore de codificação 510 pode ser recursivamente chamada adicionalmente como um elemento de sintaxe da sintaxe de unidade de árvore de codificação 510. Em outras palavras, o bloco de árvore de codificação pode ser subdividido em árvores de quadrantes. Além disso, a sintaxe de unidade de transformação 511 é incluída na sintaxe de unidade de árvore de codificação 510. A sintaxe de unidade de transformação 511 é chamada de sintaxe de unidade de cada árvore de codificação 510 localizada em uma extremidade traseira da árvore de quadrantes. Na sintaxe de unidade de transformação 511, é descrita a informação referente à transformação ortogonal inversa, à quantização, e semelhante. Nas sintaxes, a informação referente à predição de compensação ponderada de movimento pode ser descrita.
[000104] A Figura 10 é um diagrama que ilustra um exemplo da sintaxe de ajuste de parâmetro de imagem 505 de acordo com a primeira concretização. Aqui, weighted_pred_flag, por exemplo, é um elemento de sintaxe que representa a legitimidade ou ilegitimidade de uma predição de compensação ponderada de acordo com a primeira concretização para uma fatia P. Em um caso em que o weighted_pred_flag é "0", a predição de compensação ponderada de movimento de acordo com a primeira concretização dentro da fatia P é inválida. Consequentemente, o sinalizador de aplicativo WP incluído na informação de parâmetro WP é continuamente ajustado em "0", e as extremidades de saída dos seletores WP 304 e 305 são conectadas à unidade de compensação de movimento padrão 301. Por outro lado, em um caso em que o weighted_pred_flag é "1", a predição de compensação ponderada de movimento de acordo com a primeira concretização dentro da fatia P é válida.
[000105] Como outro exemplo, em um caso em que o weighted_pred_flag é "1", a legitimidade ou a ilegitimidade da predição de compensação ponderada de movimento de acordo com a primeira concretização pode ser definida para cada área local dentro da fatia na sintaxe de uma camada inferior (o cabeçalho da fatia, o bloco de árvore de codificação, a unidade de transformação, a unidade de predição, e semelhante).
[000106] Além disso, weighted_bipred_idc, por exemplo, é um elemento de sintaxe que representa a legitimidade ou a ilegitimidade de uma predição de compensação ponderada de acordo com a primeira concretização para uma fatia B. Em um caso em que o weighted_bipred_idc é "0", a predição de compensação ponderada de movimento de acordo com primeira concretização dentro da fatia B é inválida. Consequentemente, o sinalizador de aplicativo WP incluído na informação de parâmetro WP é constantemente ajustado em "0", e as extremidades de saída dos seletores WP 304 e 305 são conectadas à unidade de compensação de movimento padrão 301. Por outro lado, em um caso em que o weighted_bipred_idc é "1", a predição de compensação ponderada de movimento de acordo com a primeira concretização dentro da fatia B é válida.
[000107] Como outro exemplo, em um caso em que o weighted_bipred_idc é "1", a legitimidade ou a ilegitimidade da predição de compensação ponderada de movimento de acordo com a primeira concretização pode ser definida para cada área local dentro da fatia na sintaxe de uma camada inferior (o cabeçalho da fatia, o bloco de árvore de codificação, a unidade de transformação, e semelhante).
[000108] A Figura 11 é um diagrama que ilustra um exemplo da sintaxe de cabeçalho da fatia 507 de acordo com a primeira concretização. Aqui, o tipo de fatia representa o tipo de fatia (uma fatia I, uma fatia P, uma fatia B, ou semelhante) de fatia. Além disso, pic_parameter_set_id é um identficador que apresenta uma sintaxe de ajuste de parâmetro de imagem 505 a ser referida. num_ref_idx_active_override_flag é um sinalizador que representa se atualiza o número de imagens de referência válidas, e, em um caso em que este sinalizador é "1", podem ser usados num_ref_idx_10_active_minus1 e num_ref_idx_11_active_minus1 que definem o número de imagens de referência da lista de referência. Além disso, pred_weight_table() é uma função que representa a sintaxe de tabela de peso de predição usada para uma predição de compensação ponderada de movimento, e esta função é exigida em um caso em que o weighted_pred_flag é "1" no caso de uma fatia P e em um caso em que weighted_bipred_idc é "1" no caso de uma fatia B.
[000109] A Figura 12 é um diagrama que ilustra um exemplo da sintaxe de tabela de peso de predição 508 de acordo com a primeira concretização. Aqui, luma_log2_weight_denom representa a precisão de ponto fixo do fator de ponderação do sinal de luminância em uma fatia e é um valor correspondendo a logWdC representando na Expressão Numérica (7) ou (9). Além disso, chroma_log2_weight_denom representa a precisão de ponto fixo do fator de ponderação de um sinal de diferença de cor em uma fatia e é um valor que correspondendo a lo- gWDC representado na Expressão Numérica (7) ou (9). chro- ma_format_idc é um identificador que representa um espaço de cor, e MONO_IDX é um valor que apresenta um vídeo monocromático. Além disso, num_ref_common_active_minus1 representa um valor que é adquirido com a subtração de uma das inúmeras imagens de referência incluídas em uma lista comum em uma fatia.
[000110] luma_weight_10_flag e luma_weight_11_flag representam sinalizadores de aplicativo WP de sinais de luminância correspondendo às Listas 0 e 1. Em um caso em que este sinalizador é "1", uma predição de compensação ponderada de movimento do sinal de lumi- nância de acordo com a primeira concretização é válida para todas as áreas dentro da fatia. Além disso, chroma_weight_10_flag e chro ma_weight_11_ flag representam sinalizadores de aplicativo WP de sinais de diferença de cor correspondendo às Listas 0 e 1. Em um caso em que este sinalizador é "1", uma predição de compensação ponderada de movimento de um sinal de diferença de cor de acordo com a primeira concretização é válida para toda a área dentro da fatia. lu- ma_weight_10[i] e luma_weight_11[i] são fatores de ponderação dos iésimos sinais de luminância gerenciados pelas Listas 0 e 1. Além disso, luma_offset_10[i] e luma_offset_11[i] são deslocamentos dos iésimos sinais de luminância gerenciados pelas Listas 0 e 1. Estes são valores correspondem a w0c, w1c, o0c, o1c representados na Expressão Numérica (7) ou (9). Aqui, C = Y.
[000111] chroma_weight_10[i][j] e chroma_weight_11[i][j] são fatores de ponderação dos iésimos sinais de diferença de cor gerenciados pelas Listas 0 e 1. Além disso, chroma_offset_10[i][j] e chroma_offset_11[i][j] são deslocamentos dos iésimos sinais de diferença de cor gerenciados pelas Lisas 0 e 1. Estes são valores correspondem a w0c w1c, o0c, o1c representados na Expressão Numérica (7) ou (9). Aqui, C = Cr ou Cb. Além disso, j representa um componente da diferença de cor, e, por exemplo, no caso de um sinal de YUV 4 : 2 : 0, j = 0 representa um componente Cr, e j = 1 representa um componente Cb.
[000112] Aqui, um método de prever cada elemento de sintaxe referente à predição ponderada na configuração de sintaxe será descrito em detalhes. A predição do elemento de sintaxe é executada pela unidade de reconfiguração de índice 110B. A Figura 13 é um diagrama que ilustra um exemplo da configuração de sintaxe que explicitamente representa um método de predição de acordo com a primeira concretização. No exemplo ilustrado na Figura 13, enquanto o elemento de sintaxe do qual foi introduzida a predição é indicado com a conexão de um prefixo "delta", a configuração de sintaxe basicamente tem os mesmos elementos componentes que a configuração de sintaxe ilus- trada na Figura 12.
[000113] Primeiro, será descrito um método de predição entre sinais de luma_log2_weight_denom e chroma_log2_weight_denom representando a precisão de ponto fixo do fator de ponderação. A unidade de reconfiguração de índice 110B executa o processo de predição entre sinais de luma_log2_weight_denom e choma_log2_weight_demon usando a Expressão Numérica (10) e executa um processo de restauração usando a Expressão Numérica (11). Aqui, conforme ilustrado nas Figuras 12 e 13, uma vez que luma_log2_weight_denom é definido primeiro, choma__log2_weight_denom é previsto com base no valor de luma_log2_weight_denom. delta_chroma_log2_weight_denom = (chroma_log2_weight_denom - luma_log2_weight_denom) (10) chroma_log2_weight_denom = (luma_log2_weight_denom + del- ta_chroma_log2_weight_denom) (11)
[000114] A Figura 14 é um fluxograma que ilustra um exemplo do processo de prever chroma_log2_weight_denom de acordo com a primeira concretização.
[000115] Primeiro, a unidade de reconfiguração de índice 110B deriva luma_log2_weight_denom ajustado na informação de índice como um valor previsto (Etapa S101).
[000116] Subsequentemente, a unidade de reconfiguração de índice 110B subtrai luma_log2_weight_denom de chro- ma_log2_weight_denom (Etapa 102) e ajusta um valor de diferença do mesmo como delta_chroma_log2_weight_denom na informação de índice (Etapa S103).
[000117] A Figura 15 é um fluxograma que ilustra um exemplo do processo de restaurar choem_log2_weight_denom de acordo com a primeira concretização.
[000118] Primeiro, a unidade de reconfiguração de índice 110B deri va luma_log2_weight_denom que já foi ajustado na informação de índice como um valor previsto (Etapa S201).
[000119] Subsequentemente, a unidade de reconfiguração de índice 110B acrescenta luma_log2_weight_denom a del- ta_chrome_log2_weight_denom (Etapa S202) e ajusta um valor acrescentado na informação de índice como chroma_log2_weight_denom (Etapa S203).
[000120] Em um efeito de desvanecimento, de modo geral, uma vez que há um pequeno número de casos em que mudanças no tempo são feitas diferentemente para cada espaço de cor, a precisão de ponto fixo para cada componente de sinal tem uma forte correlação com um componente de luminância e um componente de diferença. Consequentemente, com uma predição dentro do espaço de cor, conforme descrito acima, pode ser reduzida a quantidade de informação que representa a precisão de ponto fixo.
[000121] Na Expressão Numérica (10), embora o componente de luminância seja subtraído do componente de diferença de cor, o componente de diferença de cor pode ser subtraído do componente de lu- minância. Em tal caso, a Expressão Numérica (11) pode ser mudada de acordo com a Expressão Numérica (10).
[000122] A seguir, será descrito um método de prever lu- ma_weight_1x[i] e chroma_weight_1x[i][j] representando os fatores de ponderação da luminância e do sinal de diferença de cor. Aqui, x é um identificador representando "0" ou "1". Os valores de luma_weight_1x[i] e chroma_weight_1x[i][j] aumentam ou diminuem de acordo com os valores de luma_log2_weight_denom e chroma_log2_weight_denom. Por exemplo, em um caso em que o valor de lu- ma_log2_weight_demon é "3", luma_weight_1x[i] é (1 << 3) em um caso em que nenhuma mudança no brilho é assumida. Por outro lado, em um caso em que o valor de luma_log2_weight_denom é "5", lu ma_weight_1x[i] é (1 << 5) em um caso em que nenhuma mudança no brilho é assumida.
[000123] Consequentemente, a unidade de reconfiguração de índice 110B executa um processo de predição com um fator de ponderação de um caso em que não há nenhuma mudança no brilho que é usado como um coeficiente de referência (valor padrão). Mais especificamente, a unidade de reconfiguração de índice 110B executa um processo de predição de luma_weight_1x[i] usando as Expressões Numéricas (12) e (13) e executa um processo de restauração usando a Expressão Numérica (14). Similarmente, a unidade de reconfiguração de índice 110B executa um processo de predição de chroma_weight_1x[i] usando as Expressões Numéricas (15) e (16) e executa um processo de restauração usando a Expressão Numérica (17). delta-luma_weight_1x[i] = (luma_weight_1x[i] - de- fault_luma_weight_1x) (12) default_luma_weight_1x = (1 << luma_log2_weight_denom) (13) luma_weight_1x[i] = (default_luma_weight_1x + del- ta_luma_weight_1x[i]) (14) delta_chroma_weight_1x[i][j] = (chroma_weight_1x[i][j] - de- fault_chroma_weight_1x) (15) default_chroma_weight_1x = (1 << chorma_log2_weight_denom) (16) chroma_weight_1x[i][j] = (default_cghroma_weight_1x + del- ta_chroma_weight_1x[i][j]) (17)
[000124] Aqui, default_luma_weight_1x, default_chroma_weight_1x são valores padrões de um caso em que não há nenhuma mudança de brilho no componente de luminância e no componente de diferença de cor.
[000125] A Figura 16 é um fluxograma que ilustra um exemplo dos processos de prever luma_weight_1x[i] de acordo com a primeira con- cretização.
[000126] Primeiro, a unidade de reconfiguração de índice 110B deriva luma_log2_weight-denom ajustado na informação de índice (Etapa S301) e calcula default_luma_weight_1x como um valor previsto (Etapa S302).
[000127] Subsequentemente, a unidade de reconfiguração de índice 110B subtrai default_luma_weight_1x de luma_weight_1x[i] (Etapa S303) e ajusta um valor de diferença do mesmo na informação de índice como delta_luma_weight_1x[i] (Etapa S304).
[000128] Com a repetição deste processo em correspondência com as inúmeras imagens de referência, o processo de predição pode ser aplicado a luma_weight_1x[i].
[000129] A Figura 17 é um fluxograma que ilustra um exemplo do processo de restaurar luma_weight_1x[i] de acordo com a primeira concretização.
[000130] Primeiro, a unidade de reconfiguração de índice 110B deriva delta_luma_weifht_1x[i] que já foi ajustado na informação de índice (Etapa S401) e calcula defautl_luma_weight_1x como um valor previsto (Etapa S402).
[000131] Subsequentemente, a unidade de reconfiguração de índice 110B acrescenta delta_luma_weight_1x[i] a default_luma_weight_1x (etapa S403) e ajusta um valor do mesmo na informação de índice como luma_weight_1x[i] (Etapa S404).
[000132] Enquanto o fluxograma para o componente de luminância foi ilustrado aqui, um processo de predição e um processo de restauração podem ser similarmente realizados para o componente de diferença de cor (chroma_weight_1x[i][j]).
[000133] Uma imagem incluindo um efeito de desvanecimento se desvanece em um ponto de mudança de desvanecimento específico, e há muitos casos em que as outras imagens são imagens naturais co muns ou imagens não apresentando nenhum efeito de desvanecimento. Em tal caso, há muitos casos em que o fator de ponderação assume um caso em que não há nenhuma mudança no brilho. Consequentemente, um valor inicial de um caso em que não há nenhuma mudança no brilho é derivado com base na precisão de ponto fixo e é usado como um valor previsto, por meio do que a quantidade de código do fator de ponderação pode ser reduzida.
[000134] Além disso, os valores previstos dos fatores de ponderação (luma_weight_1x[i] e chroma_weight_1x[i[[j]] da luminância e do sinal de diferença de cor podem ser derivados com base em outros números de referência ou outros números POC. Em tal caso, quando um número de referência mais próximo à fatia alvo de codificação for ba- se_idx, a unidade de reconfiguração de índice 110B executará um processo de predição de luma_weight_1x[i] usando a Expressão Numérica (18) e executará um processo de restauração do mesmo usando a Expressão Numérica (19). Similarmente, a unidade de reconfiguração de índice 110B executa um processo de predição de chro- ma_weight_1x[i][j] usando a Expressão Numérica (20) e executa um processo de restauração do mesmo usando a Expressão Numérica (21). detal_luma_weight_1x[i] = (luma_weight_1x[i] - lu- ma_weight_1x[base_idx]) (18) luma_weight_1x[1] = (delta_luma_weight_1x[i] + lu- ma_weight_1x[base_idx]) (19) detal_chroma_weight_1x[i][j] = (chroma_weight_1x[i][j] - chro- ma_weight)1x[base_idx][j]) (20) chroma_weight_1x[i][j] = (delta_chroma_weight_1x[i][j] + chro- ma_weight_1x[base_idx][j]) (21)
[000135] Aqui, nas Expressões Numéricas (18) e (20), i # base_idx. Para o fator de ponderação do número de referência representado por base_idx, as Expressões Numéricas (18) e (20) não podem ser usadas, podendo, consequentemente, ser usadas as Expressões Numéricas (12), (13), (15) e (16).
[000136] A Figura 18 é um fluxograma que ilustra outro exemplo do processo de predição de luma_weight_1x[i] de acordo com a primeira concretização.
[000137] Primeiro, a unidade de reconfiguração de índice 110B ajusta o baseidx representando um número de referência que é uma referência (Etapa S501). Aqui, o valor de baseidx é provisoriamente assumido como sendo "0".
[000138] Subsequentemente, a unidade de reconfiguração de índice 110B deriva luma_weight_1x[baseidx] da informação de índice como um valor previsto com base em baseidx (Etapa S502). Além disso, lu- ma_weight_1x[baseidx] da informação de índice representada por ba- seidx, por exemplo, não é previsto, mas é codificado como um valor direto.
[000139] Subsequentemente, a unidade de reconfiguração de índice 110B subtrai luma_weight_1x[baseidx] de luma_weight_1x[i] (Etapa S503) e ajusta um valor de diferença do mesmo como del- ta_luma_weight_1x[i] na informação de índice (Etapa S504).
[000140] Com a repetição deste processo em correspondência com o número de imagens de referência, o processo de predição pode ser aplicado a luma_weeight_1x[i] do que baseidx.
[000141] A Figura 19 é um fluxograma que ilustra outro exemplo do processo de restaurar luma_weight_1x[i] de acordo com a primeira concretização.
[000142] Primeiro, a unidade de reconfiguração de índice 110B ajusta o baseidx representando um número de referência que é uma referência (Etapa S601). Aqui, o valor de baseidx é provisoriamente assumido como sendo "0".
[000143] Subsequentemente, a unidade de reconfiguração de índice 110B deriva luma_weight_1x[baseidx] da informação de índice como um valor previsto com base em baseidx (Etapa S602). Além disso, lu- ma_weight_1x[baseidx] da informação de índice representada por ba- seidx, por exemplo, não é previsto, mas é codificado como um valor direto.
[000144] Subsequentemente, a unidade de reconfiguração de índice 110B acrescenta delta-luma_weight_1x[i] a luma_weight_1[baseidx] (Etapa S603) e ajusta um valor acrescentado do mesmo como lu- ma_weight_1x[i] na informação de índice (Etapa S604).
[000145] Enquanto o fluxograma para o componente de luminância foi ilustrado aqui, um processo de predição e um processo de restauração poderão ser similarmente realizados para o componente de diferença de cor (chroma_weight_1x[i][j]). Além disso, enquanto o método de predição e o método de restauração de luma_weight_1x[i] foram descritos como um exemplo, luma_offset_1x[i] pode ser similarmente previsto e restaurado.
[000146] Além disso, os valores previstos dos fatores de ponderação ((luma_weight_'x[i] e chroma_weight_1x[i][j]) da luminância e do sinal de diferença de cor podem ser derivados usando uma distância entre o alvo de codificação e a fatia de referência. Em tal caso, a unidade de reconfiguração 110B executa um processo de predição de lu- ma_weight_1x[i] usando a Expressão Numérica (22) e executa um processo de restauração do mesmo usando a Expressão Numérica (23). Similarmente, a unidade de reconfiguração de índice 110B executa um processo de predição de chroma_weight_1x[i][j] usando a Expressão Numérica (24) e executa um processo de restauração do mesmo usando a Expressão Numérica (25). delta_luma_weight_1x[i] = (luma_weight_1x[i] - luma_weight_1x[i - 1]) (22) luma_weight_1x[i] = (delta_luma_weight_1x[i] + luma_weight_1x[i - 1]) (23) delta_chroma_weight_1x[i][j] = (chroma_weight_1x[i][j] - chro- ma_weight_1x[i - 1][j]) (24) chroma_weight_1x[i][j] = (delta_chroma_weight_1x[i][j] + chro- ma_weight_1x[i - 1][j]) (25)
[000147] Aqui, nas Expressões Numéricas (22) e (24), i # 0.
[000148] Além disso, uma vez que estes processos de predição e de restauração são iguais àqueles do fluxograma ilustrado nas Figuras 18 e 19 com a introdução do (i - 1)ésimo- valor (i # 0) em baseidx, a descrição dos mesmos não será apresentada. Enquanto o fluxograma para o componente de luminância foi representado aqui, o processo de predição e o processo de restauração podem ser similarmente realizados para o componente de diferença de cor (chroma_weight_1x[i][j]). Adicionalmente, enquanto o método de predição e o método de restauração de luma_weight_1x[i] foram descritos como um exemplo, lu- ma_offset_1x[i] também poderá ser similarmente previsto e restaurado.
[000149] Há muitos casos em que, como uma fatia de referência que pode ser referida como fatia alvo de codificação, uma fatia que está próxima à fatia alvo de codificação em termos de uma distância no tempo ou espaço é ajustada a partir do ponto de vista da eficiência de codificação. Aqui, uma vez que mudanças de luminância de fatias que são contínuas em distância no tempo apresentam uma alta correlação, as correlações referentes a uma distância no tempo entre os fatores de ponderação e os deslocamentos são também elevadas. Desse modo, com o uso do fator de ponderação e do valor de deslocamento da fatia de referência que serve como uma referência, são previstos um fator de ponderação e um valor de deslocamento de uma fatia de referência que é diferente dos mesmos no tempo, por meio do que a quan- tidade de código pode ser eficientemente reduzida. Além disso, uma vez que há muitos casos em que fatias de referência que são iguais no espaço assumem fatores de ponderação e valores de deslocamento que são iguais, com a introdução de uma predição pela mesma razão, a quantidade de código poderá ser reduzida.
[000150] A seguir, será descrito um método de predição de chro- ma_offset_1x[i][j] que representa um deslocamento do sinal de diferença de cor. No espaço de cor de YUV, um componente de diferença de cor representa uma cor usando a quantidade de um desvio de um valor médio. Consequentemente, a quantidade de mudança com base em uma mudança no brilho com o valor médio considerado pode ser ajustada como um valor previsto usando um fator de ponderação. Mais especificamente, a unidade de reconfiguração de índice 110B executa um processo de predição de chroma_offset_1x[i][j] usando as Expressões Numéricas (26) e (27) e executa um processo de restauração usando a Expressão Numérica (28). delta_chroma_offset_1x[i][j] = (chroma_offset_1x[i][j] + ((MED * chro- ma_weight_1x[i][j]) >> chroma_log2_weight_denom) - MED (26) MED = (MaxChromaValue >> 1) (27)
[000151] Aqui, MaxChromaValue representa brilho máximo no qual é obtido um sinal de diferença de cor. Por exemplo, no caso de um sinal de 8 bits, MaxChromaValue é 255, e MED é 128. chroma_offset_1x[i][j] = (delta_chroma_offset_1x[i][j] - ((MED * chro- ma_weight_1x[i][j]) >> chroma_log2_weight_denom) + MED) (28)
[000152] A Figura 20 é um fluxograma que ilustra um exemplo do processo de predição de chroma_offset_1x[i][j] de acordo com a primeira concretização.
[000153] Primeiro, a unidade de reconfiguração de índice 110B deriva chroma_log2_weight_denom ajustado na informação de índice (Etapa S701).
[000154] Subsequentemente, a unidade de reconfiguração de índice 110B deriva chroma_offset_1x[i][j] ajustado na informação de índice (Etapa S702).
[000155] Subsequentemente, a unidade de reconfiguração de índice 110B deriva um valor médio de valores máximos (sinais máximos) de sinais de diferença de cor (Etapa S703).
[000156] Subsequentemente, a unidade de reconfiguração de índice 110B deriva delta_chroma_offset_1x[i][j] e ajusta del- ta_chroma_offset_1x[i][j] na informação de índice (Etapa S704).
[000157] A Figura 21 é um fluxograma que ilustra um exemplo de um processo de restauração de chroma_offset_1x[i][j] de acordo com a primeira concretização.
[000158] Primeiro, a unidade de reconfiguração de índice 110B deriva chroma_log2_weight_denom que já foi ajustado na informação de índice (Etapa S801).
[000159] Subsequentemente, a unidade de reconfiguração de índice 110B deriva chroma_offset_1x[i][j] ajustado na informação de índice (Etapa S802).
[000160] Subsequentemente, a unidade de reconfiguração de índice 110B deriva um valor médio de valores máximos (sinais máximos) de sinais de diferença de cor (Etapa S803).
[000161] Subsequentemente, a unidade de reconfiguração de índice 110B deriva chroma_offset_1x[i][j] e ajusta chroma_offset_1x[i][j] na informação de índice (Etapa S804).
[000162] Com a introdução de um valor previsto adquirido ao se considerar as características de sinal de um desvio do valor médio usando as características de sinal do sinal de diferença de cor, a quantidade de código do valor de deslocamento do sinal de diferença de cor pode ser menor do que aquela de um caso em que o valor de deslocamento é diretamente codificado.
[000163] A seguir, será descrita uma técnica de derivar valores previstos do fator de ponderação e da precisão de ponto fixo usando o método de derivar parâmetros WP de uma predição ponderada implícita em uma predição ponderada definida em H-264 ou semelhante. Na predição ponderada implícita de H.264, um fator de ponderação é derivado de acordo com uma distância (uma relação de tempo do número POC) no tempo entre fatias de referência (o deslocamento se torna zero). A distância no tempo entre as fatias de referência é adquirida por derivar distâncias entre uma fatia alvo de codificação e fatias de referência com base nos números POC, e o fator de ponderação é determinado com base na relação das distâncias. Neste momento, a precisão de ponto fixo é ajustada como um valor fixo de "5".
[000164] Por exemplo, em H.265, o fator de ponderação é derivado de acordo com um pseudocódigo representado na Expressão Numérica (29). td = Clip3)-128, 127, POCA - POCB) tb = Clip3(-128, 127, POCT - POCA) tx = (td I = 0) ? ((I6384 + abs(td/2))/td) : (0) DistScaleFactor = Clip3(-1024, 1023, (tb * tx + 32) >> 6) implicit_luma_weight_10[i] = 64 (DistScaleFactor >> 2) implicit_luma_weight_11[i] = DistScaleFactor >> 2 (29)
[000165] Aqui, POCA representa um número POC de uma imagem de referência A correspondendo à Lista 1, POCB representa um número POC de uma imagem de referência B correspondendo à Lista 0, e POCT representa um número POC de uma imagem alvo de predição. Além disso, Clip3(L, M, N) é uma função para executar um processo de recorte de tal modo que um último argumento N não exceda uma faixa de um valor mínimo L e um valor máximo M representados pelos primeiros dois argumentos. Uma função abs() é uma função para retornar um valor absoluto de um argumento. Além disso, td e tb repre- sentam relações de tempo, td representa uma diferença entre um número POC de uma imagem de referência correspondendo à Lista 1 e um número POC de uma imagem de referência correspondendo à lista 0, e tb representa uma diferença entre um número POC da imagem alvo de predição e um número POC da imagem de referência correspondendo à Lista 0. Com base em tais valores, é derivada uma variável de escala DistScaleFactor na distância do fator de ponderação. Com base em DistScaleFactor, são derivados os fatores de ponderação (implicit_luma_weight_10[i] e implicit_luma_weight_11[i]) correspondendo às Listas 0 e 1. Além disso, o sinal de diferença de cor é similarmente ajustado. A unidade de reconfiguração de índice 110B prevê a precisão de ponto fixo com base na Expressão Numérica (30) com o uso da precisão de ponto fixo implicit_log2_weight_denom derivado aqui. delta_luma_log2_weight_denom = (luma_log2_weight_denom - implic- it_log2_weight_denom) (30)
[000166] Além disso, a precisão de ponto fixo do sinal de diferença de cor pode ser prevista usando a Expressão Numérica (30). Este valor é restaurado com o uso da Expressão Numérica (31). luma_log2_weight_denom = (detla_luma_log2_weight_denom + implic- it_log2_weight_denom) (31)
[000167] Além disso, a precisão de ponto fixo do sinal de diferença de cor pode ser restaurada usando o mesmo método representado na Expressão Numérica (31).
[000168] A seguir, será descrita uma equação para prever o fator de ponderação. Quando um fator de ponderação implícito for impli- cit_luma_weight_1x[i], a unidade de reconfiguração de índice 110B irá prever um fator de ponderação luma_weight_1x[i] usando a Expressão Numérica (32) e restaurar o fator de ponderação usando a Expressão Numérica (33). se(luma_log2_weight_denom > = implic- it_log2_weight_denom)[norm_denom - (luma_log2_weight_denom - implict_log2_weight_denom) delta_luma_weight_1x[i] = (luma_weight_1x[i] - (implic- it_luma_weight_1x[i[ << norm_denom]] ) exceto( norm_denom_ (implicit_log2_weight_denom - luma_log2_weight_denom) delta_luma_weight_1x[i] = (luma_weight_1x[i ] - (implicit_luma_weight_1x[i] >> norm_demon)) ) (32)
[000169] Aqui, a unidade de reconfiguração de índice 110B corrige o fator de ponderação com base em se a predição ponderada implícita é maior ou menor do que a precisão de ponto fixo e usa o fator de ponderação corrigido para a predição. se(luma)log2_weight_denom >= implic- it_log2_weight_denom)(norm_denom = (luma_log2_weight_ denom - implicit_log2_weight_denom) luma_weight_1x[i] - (delta_luma_weight_1x[i] + (implicit_luma_weight_1x[i] << norm_denom)) ) exceto( norm_denom = (implicit_log2_weight_denom - luma_log2_weight_denom) luma_weight_1x[i] = (delta_luma_weight_1x[i] + (implifict_luma_weight_1x[i] >> norm_denom))
[000170] Na Expressão Numérica (32), enquanto um exemplo do fator de ponderação do componente de luminância é representado, com o uso do mesmo método para o componente de diferença de cor, um valor previsto pode ser derivado.
[000171] A Figura 22 é um fluxograma que ilustra outro exemplo de um processo de predição de luma_weight_1x[i] de acordo com a primeira concretização.
[000172] Primeiro, a unidade de reconfiguração de índice 110B deriva luma_log2_weight_denom ajustado na informação de índice (Etapa S901).
[000173] Subsequentemente, a unidade de reconfiguração de índice 110B deriva implicit_log2_weight_denom e implicit_luma-weight_1x[i] de acordo com o método de derivar uma predição ponderada implícita de H.264 (Etapas S902 e S903).
[000174] Subsequentemente, a unidade de reconfiguração de índice 110B determinar se luma_log2_weight_denom é implicit- log2_weight_denom ou mais (Etapa S904).
[000175] Em um caso em que luma_log2_weight_denom é impli- cit_log2_weight_denom ou mais (Sim, na Etapa S904), a unidade de reconfiguração de índice 110B subtrai implicit_log2_weight_denom de luma_log2_weight_denom (Etapa S905) e muda impli- cit_luma_weight_1x[i] para o lado esquerdo em uma quantidade correspondendo ao valor subtraído, derivando assim um valor previsto (Etapa S906).
[000176] Por outro lado, em um caso em que lu- ma_log2_weight_denom não é implicit_log2_weight_denom ou mais (Não, na Etapa S094), a unidade de reconfiguração 110B subtrai lu- ma_log2_weight_denom de implicit_log2_weight_denom (Etapa S907) e muda implicit_luma_weight_1x[i] para o lado direito em uma quantidade correspondendo ao valor subtraído, derivando assim um valor previsto (Etapa S908).
[000177] Subsequentemente, a unidade de reconfiguração de índice 110B subtrai o valor previsto derivado de luma_weight_1x[i] (Etapa S909) e ajusta o valor subtraído (valor de diferença) na informação de índice (Etapa S910).
[000178] A Figura 23 é um fluxograma que ilustra outro exemplo do processo de restauração de luma_weight_1x[i] de acordo com a primeira concretização.
[000179] Primeiro, a unidade de reconfiguração de índice 110B deriva luma_log2_weight_denom que já foi ajustado na informação de índice (Etapa S1001).
[000180] Subsequentemente, a unidade de reconfiguração de índice 110B deriva implict_log2_weight_denom e implicit_luma_weight_1x[i] de acordo com o método de derivar uma predição ponderada implícita de H.264 (Etapas S1002 e S1003).
[000181] Subsequentemente, a unidade de reconfiguração de índice 110B determina se luma_log2_weight_denom é impli- cit_log2_weight_denom ou mais (Etapa S1004).
[000182] Em um caso em que luma_log2_weight_denom é impli- cit_log2_weight_denom ou mais (Sim, na Etapa S1004), a unidade de reconfiguração de índice 110B subtrairá implicit_log2_weight_denom de luma_log2_weight_denom (Etapa S1005) e muda impli- cit_luma_weight_1x[i] para o lado esquerdo em uma quantidade correspondendo ao valor subtraído, derivando assim um valor previsto (Etapa S1006).
[000183] Por outro lado, em um caso em que lu- ma_log2_weight_denom não é implicit_log2_weight_denom ou mais (Não, na Etapa S1004), a unidade de reconfiguração de índice 110B subtrai luma_log2_weight_denom de implicit_log2_weight_denom (Etapa S1007) e muda implicit_luma_weight_1x[i] para o lado direito em uma quantidade correspondendo ao valor subtraído, derivando assim um valor previsto (Etapa S1008).
[000184] Subsequentemente , a unidade de reconfiguração de índice 110B acrescenta o valor previsto derivado a delta_luma_weight_1x[i] (Etapa S1009) e ajusta o valor acrescentado do mesmo na informação de índice (Etapa S1010).
[000185] Uma pluralidade de métodos de predição descritos acima pode não apenas ser usada independentemente, mas também ser usada de maneira combinada. Por exemplo, com a combinação das Expressões Numéricas (10), (12) e (13), (15) e (16), e (26) e (27) ou semelhante, a quantidade de código do elemento de sintaxe da informação de índice pode ser eficientemente reduzida.
[000186] Como acima, de acordo com a primeira concretização, a unidade de ajuste de índice 108 emite a informação de índice na qual a informação de parâmetro WP é mapeada em uma configuração de sintaxe correspondente, e a unidade de reconfiguração de índice 110B prevê uma representação redundante do elemento de sintaxe com base na informação codificada dentro da fatia. Por isso, de acordo com a primeira concretização, a quantidade de código pode ser menor do que aquela de um caso em que o elemento de sintaxe é diretamente codificado (valor direto).
[000187] Aqui, com base na ordem de definição (ordem de codificação) dos elementos de sintaxe usados na fatia alvo de codificação, com a derivação de um valor previsto como uma correlação entre telas de um elemento de sintaxe que foi completado para ser codificado ou com a derivação de um valor previsto de um valor padrão adquirido em assumindo nenhuma mudança no brilho, pode ser feita uma predição que tira vantagem das características dos elementos de sintaxe. Como resultado, é adquirida uma vantagem de reduzir o processamento ou armazenamento em excesso que é necessário para codificar o elemento de sintaxe.
[000188] Além disso, entre fileiras da tabela de sintaxe ilustrada nas Figuras de 10 a 13 de acordo com a primeira concretização como exemplos, um elemento de sintaxe não definido nesta concretização pode ser inserido, ou uma descrição relacionada à outra ramificação condicional pode ser incluída. Adicionalmente, a tabela de sintaxe pode ser dividida em uma pluralidade de tabelas, ou uma pluralidade de tabelas de sintaxe pode ser integrada. Além disso, o termo de cada elemento de sintaxe representado como um exemplo pode ser arbitrariamente modificado.
[000189] Conforme descrito acima, o dispositivo de codificação 100 de acordo com a primeira concretização soluciona um problema de diminuir a eficiência de codificação com a eliminação da redundância espacial usando as correlações entre parâmetros de informação a serem codificados. O dispositivo de codificação 100 pode reduzir a quantidade de código comparada àquela de uma configuração convencional na qual os elementos de sintaxe usados na predição ponderada compensada por movimento são diretamente codificados (valores diretos).
Segunda Concretização
[000190] Em uma segunda concretização, será descrito um dispositivo de decodificação que decodifica os dados codificados pelo dispositivo de codificação de acordo com a primeira concretização.
[000191] A Figura 24 é um diagrama de bloco que ilustra um exemplo da configuração de um dispositivo de decodificação 800 de acordo com a segunda concretização.
[000192] O dispositivo de decodificação 800 decodifica os dados codificados armazenados em um buffer de entrada não ilustrado na figura ou semelhante em uma imagem decodificada e emite a imagem decodificada para um buffer de saída não ilustrado na figura como uma imagem de saída. Os dados codificados, por exemplo, são emitidos do dispositivo de codificação 100 ilustrado na Figura 1 ou semelhante e são introduzidos no dispositivo de decodificação 800 através de um sistema de armazenamento, um sistema de transmissão, um buffer, ou semelhante não ilustrado na figura.
[000193] O dispositivo de decodificação 800, conforme ilustrado na Figura 24 inclui uma unidade de decodificação 801, uma unidade de quantização inversa 802, uma unidade de transformação ortogonal inversa 803, uma unidade de adição 804, uma unidade de geração de imagem prevista 805, e uma unidade de ajuste de índice 806. A unidade de quantização inversa 802, a unidade de transformação ortogonal inversa 803, a unidade de adição 804, e a unidade de geração de imagem prevista 805 são elementos que são substancialmente iguais ou similares à unidade de quantização inversa 104, à unidade de trans-formação ortogonal inversa 105, à unidade de adição 106, e à unidade de geração de imagem prevista 107 ilustradas na Figura 1. Além disso, uma unidade de controle de decodificação 807 ilustrada na Figura 24 controla o dispositivo de decodificação 800 e, por exemplo, é realizada por uma CPU ou semelhante.
[000194] A fim de decodificar os dados codificados, a unidade de de- codificação 801 executa a decodificação com base na sintaxe para cada quadro ou cada campo. A unidade de decodificação 801 inclui uma unidade de decodificação entrópica 801A e uma unidade de reconfiguração de índice 801B.
[000195] A unidade de decodificação entrópica 810A sequencialmente executa a decodificação entrópica de uma cadeia de códigos de cada sintaxe e regenera a informação de movimento incluindo um modo de predição, um vetor de movimento, e um número de referência, informação de índice usada para prever uma predição ponderada compensada por movimento, e parâmetros de codificação de um bloco alvo de codificação, tal como um coeficiente de transformação de quan- tização ou semelhante. Aqui, os parâmetros de codificação são todos os parâmetros que são necessários para decodificar a informação re- ferente a um coeficiente de transformação, informação referente à quantização, e semelhante além daqueles descritos acima.
[000196] Mais especificamente, a unidade de decodificação entrópi- ca 801A tem uma função para executar um processo de decodificação, tal como um processo de decodificação de comprimento variável ou um processo de decodificação aritmética para dados codificados de entrada. Por exemplo, em H.264, é usada a codificação de comprimento variável adaptativa com base em contexto (CSVLC), a codificação aritmética binária adaptativa com base em contexto (CABAC), ou semelhante. Tal processo é também denominado de processo de de- codificação.
[000197] A unidade de reajuste de índice 810B reconfigura a informação de índice ao restaurar a informação de índice decodificada. Mais especificamente, a fim de reduzir o comprimento de código dos elementos de sintaxe da informação de índice decodificada, a unidade de reconfiguração de índice 801B executa um processo de predição de acordo com as características de parâmetros de elementos de sintaxe, restaura os elementos de sintaxe, e reconfigura a informação de índice. Um exemplo específico do processo de predição será descrito mais adiante.
[000198] A unidade de decodificação 801 emite a informação de movimento, a informação de índice, e o coeficiente de transformação de quantização, de modo a introduzir o coeficiente de transformação de quantização na unidade de quantização inversa 802, a introduzir a informação de índice na unidade de ajuste de índice 806, e a introduzir a informação de movimento na unidade de geração de imagem prevista 805.
[000199] A unidade de quantização inversa 802 executa um processo de quantização inversa para o coeficiente de transformação de quantização introduzido da unidade de decodificação 801 e adquire um coeficiente de transformação de restauração. Mais especificamente, a unidade de quantização inversa 802 executa a quantização inversa com base na informação de quantização usada pela unidade de decodificação 801. Descrita em maiores detalhes, a unidade de quan- tização inversa 802 multiplica o coeficiente de transformação de quan- tização por um tamanho de etapa de quantização derivado com base na informação de quantização, adquirindo assim um coeficiente de transformação restaurado. A unidade de quantização inversa 802 emite o coeficiente de transformação restaurado de modo a ser introduzido na unidade de transformação ortogonal inversa 803.
[000200] A unidade de transformação ortogonal inversa 803 executa a transformação ortogonal inversa correspondendo à transformação ortogonal executa no lado de codificação para o coeficiente de transformação restaurado introduzido da unidade de quantização inversa 802, adquirindo assim um erro de predição restaurado. A unidade de transformação ortogonal inversa 803 emite o erro de predição restaurado de modo a ser introduzido na unidade de adição 804.
[000201] A unidade de adição 804 acrescenta o erro de predição restaurado introduzido da unidade de transformação ortogonal inversa 803 e uma imagem prevista correspondente, gerando assim uma imagem decodificada. A unidade de adição 804 emite a imagem decodificada de modo a ser introduzida na unidade de geração de imagem prevista 805. Além disso, a unidade de adição 804 emite a imagem decodificada para o lado de fora como uma imagem de saída. Em seguida, a imagem de saída é temporariamente armazenada em um buffer de saída externo não ilustrado na figura ou semelhante e é emitida para um sistema de dispositivo de visualização, tal como uma tela ou um monitor, não ilustrado na figura ou um sistema de dispositivo de vídeo, por exemplo, no tempo de saída gerenciado pela unidade de controle de decodificação 807.
[000202] A unidade de ajuste de índice 806 recebe a informação de índice introduzida da unidade de decodificação 801, converte a informação de índice em informação de parâmetro WP, e emite a informação de parâmetro WP de modo a ser introduzida na unidade de geração de imagem prevista 805. Mais especificamente, a unidade de ajuste de índice 806 recebe a informação de índice que foi processada para ser decodificada pela unidade de decodificação entrópica 801A e é reconfigurada pela unidade de reconfiguração de índice 801B. Depois, a unidade de ajuste de índice 806 verifica uma lista de imagens de referência e um número de referência, converte a informação de índice em informação de parâmetro WP, e emite a informação de parâmetro WP para a unidade de geração de imagem prevista 805. A informação de parâmetro WP já foi descrita com referência às Figuras 8A e 8B, e, portanto, a descrição da mesma não será apresentada.
[000203] A unidade de geração de imagem prevista 805 gera uma imagem prevista 815 com o uso da informação de movimento introduzida da unidade de decodificação 801, da informação de parâmetro WP introduzida da unidade de ajuste de índice 806, e da imagem decodificada introduzida da unidade de adição 804.
[000204] Aqui, a unidade de geração de imagem prevista 805 será descrita em detalhes com referência à Figura 4. A unidade de geração de imagem prevista 805, similarmente à unidade de geração de imagem prevista 107, inclui uma unidade de compensação de movimento de múltiplos quadros 201, uma memória 292, uma unidade de compensação de movimento unidirecional 203, uma unidade de controle de parâmetro de predição 204, um seletor de imagem de referência 205, uma memória de quadro 206, e uma unidade de controle de imagem de referência 207.
[000205] A memória de quadro 206 armazena a imagem decodificada introduzida da unidade de adição 106 como uma imagem de refe- rência sob o controle da unidade de controle de imagem de referência 207. A memória de quadro 206 inclui uma pluralidade de conjuntos de memória FM1 a FMN (aqui, N > 2) usada para temporariamente armazenar a imagem de referência.
[000206] A unidade de controle de parâmetro de predição 204 prepara uma pluralidade de combinações, cada qual de um número de imagem de referência e um parâmetro de predição como uma tabela com base na informação de movimento introduzida da unidade de decodifi- cação 801. Aqui, a informação de movimento representa a informação de um vetor de movimento que representa o desvio de um movimento que é usado para a predição compensada por movimento, o número de imagem de referência, e um modo de predição, tal como uma predição unidirecional/bidirecional. O parâmetro de predição representa informação referente ao vetor de movimento e ao modo de predição. Depois, a unidade de controle de parâmetro de predição 204 seleciona uma combinação de número de imagem de referência e parâmetro de predição usados para gerar uma imagem prevista com base na informação de movimento e emite a combinação selecionada de modo a permitir que o número de imagem de referência seja introduzido no seletor de imagem de referência 205 e a permitir que o parâmetro de predição seja introduzido na unidade de compensação de movimento unidirecional 203.
[000207] O seletor de imagem de referência 205 é um comutador que muda um dos terminais de saída das memórias de quadro FM1 a FMN, que são incluídas na memória de quadro 206, a ser conectado com base em um número de imagem de referência introduzido da unidade de controle de parâmetro de predição 204. Por exemplo, quando o número de imagem de referência for "0", o seletor de imagem de referência 205 conectará o terminal de saída da memória de quadro FM1 ao terminal de saída do seletor de imagem de referência 205, e, quan- do o número de imagem de referência for N-1, o seletor de imagem de referência 205 conectará o terminal de saída da memória de quadro FMN ao terminal de saída do seletor de imagem de referência 205. O seletor de imagem de referência 205 emite uma imagem de referência armazenada na memória de quadro à qual o terminal de saída é conectado dentre as memórias de quadro FM1 a FMN incluída na memória de quadro 206, de modo a ser introduzido na unidade de compensação de movimento unidirecional 203. No dispositivo de decodifica- ção 800, a imagem de referência não é usada por nenhuma unidade que não a unidade de geração de imagem prevista 805, e, consequentemente, a imagem de referência não pode ser emitida para fora da unidade de geração de imagem prevista 805.
[000208] A unidade de compensação de movimento previsto unidire- cional executa um processo de predição compensada por movimento com base no parâmetro de predição introduzido da unidade de controle de parâmetro de predição 204 e a imagem de referência introduzida do seletor de imagem de referência 205, gerando assim uma imagem prevista unidirecional. A predição compensada por movimento já foi descrita com referência à Figura 5, e, portanto, a descrição da mesma não será apresentada.
[000209] A unidade de compensação de movimento previsto unidire- cional 203 emite uma imagem prevista unidirecional e temporariamente armazena a imagem prevista unidirecional na memória 202. Aqui, em um caso em que a informação de movimento (parâmetro de predição) representa uma predição bidirecional, a unidade de compensação de movimento de múltiplos quadros 201 faz uma predição ponderada usando dois tipos de imagens previstas unidirecionais. Consequentemente, a unidade de compensação de movimento previsto unidirecio- nal 203 armazena uma imagem prevista unidirecional correspondendo ao primeiro tipo na memória 202 e diretamente emite uma imagem prevista unidirecional correspondendo ao segundo tipo para a unidade de compensação de movimento de múltiplos quadros 201. Aqui, a imagem prevista unidirecional correspondendo ao primeiro tipo será referida como uma primeira imagem prevista, e a imagem prevista uni- direcional correspondendo ao segundo tipo será referida como uma segunda imagem prevista.
[000210] Além disso, duas unidades de compensação de movimento unidirecional 203 podem ser preparadas e gerar duas imagens previstas unidirecionais. Em tal caso, quando a informação de movimento (parâmetro de predição) representa uma predição unidirecional, a unidade de compensação de movimento unidirecional 203 pode diretamente emitir a primeira imagem prevista unidirecional para a unidade de compensação de movimento de múltiplos quadros 201 como uma primeira imagem prevista.
[000211] A unidade de compensação de movimento de múltiplos quadros 201 faz uma predição ponderada ao usar a primeira imagem prevista introduzida da memória 202, a segunda imagem prevista introduzida da unidade de compensação de movimento previsto unidire- cional 203, e a informação de parâmetro WP introduzida da unidade de avaliação de movimento 109, gerando assim uma imagem prevista. A unidade de compensação de movimento de múltiplos quadros 201 emite a imagem prevista de modo a ser introduzida na unidade de adição 804.
[000212] Aqui, a unidade de compensação de movimento de múltiplos quadros 201 será descrita em detalhes com referência à Figura 6. Similarmente à unidade de geração de imagem prevista 107, a unidade de compensação de movimento de múltiplos quadros 201 inclui uma unidade de compensação de movimento padrão 301, uma unidade de compensação ponderada de movimento 302, uma unidade de controle de parâmetro WP 303, e seletores WP 304 e 305.
[000213] A unidade de controle de parâmetro WP 303 emite um sinalizador de aplicativo WP e informação de ponderação com base na informação de parâmetro WP introduzida da unidade de ajuste de índice 806 de modo a introduzir o sinalizador de aplicativo WP nos seletores WP 304 e 305 e a introduzir a informação de ponderação na unidade de compensação ponderada de movimento 302.
[000214] Aqui, a informação de parâmetro WP inclui informação da precisão de ponto fixo do fator de ponderação, um primeiro sinalizador de aplicativo WP, um primeiro fator de ponderação, e um primeiro deslocamento correspondendo à primeira imagem prevista, e um segundo sinalizador de aplicativo WP, um segundo fator de ponderação, e um segundo deslocamento correspondendo à segunda imagem prevista. O sinalizador de aplicativo WP é um parâmetro que pode ser ajustado para cada imagem de referência correspondente e componente de sinal e representa se uma predição de compensação ponderada de movimento é feita ou não. A informação de ponderação inclui informação da precisão de ponto fixo do fator de ponderação, do primeiro fator de ponderação, do primeiro deslocamento, do segundo fator de ponderação, e do segundo deslocamento. Aqui, a informação de parâmetro WP representa a mesma informação que aquela da primeira concretização.
[000215] Descrita em detalhes, quando a informação de parâmetro WP for introduzida da unidade de ajuste de índice 806, a unidade de controle de parâmetro WP 303 emitirá a informação de parâmetro WP em sendo dividida no primeiro sinalizador de aplicativo WP, no segundo sinalizador de aplicativo WP, e na informação de ponderação, introduzindo assim o primeiro sinalizador de aplicativo WP no seletor WP 304, introduzindo o segundo sinalizador de aplicativo WP no sele- tor WP 305, e introduzindo a informação de ponderação na unidade de compensação ponderada de movimento 302.
[000216] Os seletores WP 304 e 305 mudam as extremidades de conexão das imagens previstas com base nos sinalizadores de aplicativo WP introduzidos da unidade de controle de parâmetro WP 303. Em um caso em que o sinalizador de aplicativo WP correspondente é "0", cada dos seletores WP 304 e 305 conecta a extremidade de saída do mesmo à unidade de compensação de movimento padrão 301. Depois, os seletores WP 304 e 305 emitem a primeira e a segunda imagens previstas de modo a serem introduzidas na unidade de compensação de movimento padrão 301. Por outro lado, em um caso em que o sinalizador de aplicativo WP correspondente é "1", cada dos seleto- res WP 304 e 205 conecta a extremidade de saída do mesmo à unida-de de compensação ponderada de movimento 302. Depois, os seleto- res WP 304 e 305 emitem a primeira e a segunda imagens previstas de modo a serem introduzidas na unidade de compensação ponderada de movimento 302.
[000217] A unidade de compensação de movimento padrão 301 executa o processamento médio com base nas imagens previstas unidire- cionais (a primeira e a segunda imagens previstas) introduzidas dos seletores WP 304 e 305, gerando assim uma imagem prevista. Mais especificamente, em um caso em que o primeiro e o segundo sinalizadores de aplicativo WP são "0"s, a unidade de compensação de movimento padrão 301 executa o processamento médio com base na Expressão Numérica (1).
[000218] Além disso, em um caso em que o modo de predição representado pela informação de movimento (parâmetro de predição) é a predição unidirecional, a unidade de compensação de movimento padrão 301 calcula uma imagem prevista final usando apenas a primeira imagem prevista com base na Expressão Numérica (4).
[000219] A unidade de compensação ponderada de movimento 302 executa a compensação ponderada de movimento com base nas duas imagens previstas unidirecionais (a primeira e a segunda imagens previstas) introduzidas dos seletores WP 304 e 305 e a informação ponderada introduzida da unidade de controle de parâmetro WP 303. Mais especificamente, a unidade de compensação ponderada de movimento 302 executa o processo de ponderação com base na Expressão Numérica (7) em um caso em que o primeiro e o segundo sinalizadores de aplicativo WP são "1"s.
[000220] Além disso, em um caso em que a precisão de cálculo da primeira e da segunda imagens previstas e a precisão de cálculo da imagem prevista são diferentes entre si, a unidade de compensação ponderada de movimento 302 realiza um processo de arredondamento ao controlar logWDC, que é a precisão de ponto fixo, como na Expressão Numérica (8).
[000221] Além disso, em um caso em que o modo de predição representado pela informação de movimento (parâmetro de predição) é uma predição unidirecional, a unidade de compensação ponderada de movimento 302 calcula uma imagem prevista final usando apenas a primeira imagem prevista com base na Expressão Numérica (9) .
[000222] Além disso, em um caso em que a precisão de cálculo da primeira e da segunda imagens previstas e a precisão de cálculo da imagem prevista são diferentes entre si, a unidade de compensação ponderada de movimento 302 realiza um processo de arredondamento ao controlar logWDC, que é precisão de ponto fixo, como na Expressão Numérica (8), similarmente ao caso da predição bidirecional.
[000223] A precisão de ponto fixo do fator de ponderação já foi descrita com referência à Figura 7, e, portanto, a descrição da mesma não será apresentada. Além disso, no caso de uma predição unidirecional, vários parâmetros (o segundo sinalizador de aplicativo WP, o segundo fator de ponderação, e a segunda informação de deslocamento) correspondendo à segunda imagem prevista não são usados e podem ser ajustados nos valores iniciais determinados de antemão.
[000224] A unidade de decodificação 801 usa a sintaxe 500 representada na Figura 9. A sintaxe 500 representa a estrutura de dados codificados que é um alvo de decodificação da unidade de decodifica- ção 801. A sintaxe 500 já foi descrita com referência à Figura 9, e, portanto, a descrição da mesma não será apresentada. Além disso, a sintaxe de ajuste de parâmetro de imagem 505 foi descrita com referência à Figura 10, exceto que a decodificação é usada em vez da codificação, e, portanto, a descrição da mesma não será apresentada. Adicionalmente, a sintaxe de cabeçalho da fatia 507 já foi descrita com referência à Figura 11, exceto que a decodificação é usada em vez da codificação, e, portanto, a descrição da mesma não será representada. Além disso, a sintaxe da tabela de peso de predição 508 já foi descrita com referência à Figura 12, exceto que a decodificação é usada em vez da codificação, e, portanto, a descrição da mesma não será apresentada.
[000225] Aqui, um método de prever cada elemento de sintaxe referente à predição ponderada na configuração de sintaxe será descrito em detalhes. A predição do elemento de sintaxe é executada pela unidade de reconfiguração de índice 801B. A configuração de sintaxe que explicitamente representa o método de predição de acordo com a segunda concretização é igual àquela da segunda concretização e é conforme ilustrada na Figura 13.
[000226] No método de predição entre sinais de lu- ma_log2_weight_denom e chroma_log2_weight_denom que representam a precisão de ponto fixo do fator de ponderação, um processo de restauração é executado usando a Expressão Numérica (11). Os detalhes do processo de restauração são como ilustrados na Figura 15.
[000227] No método de predição de luma_weight_1x[i] e chro- ma_weight_1x[i][j] representando fatores de ponderação da luminância e o sinal de diferença de cor, um processo de restauração é executado usando as Expressões Numéricas (14) e (17). Detalhes do processo de restauração são como ilustrados na Figura 17.
[000228] No método de predição no qual os valores previstos dos fatores de ponderação (luma_weight_1x[i] e chroma_weight_1x[i][j]) da luminância e do sinal de diferença de cor são derivados com outros números de referência ou outros números POC, um processo de restauração é executado usando as Expressões Numéricas (19) e (21). Detalhes do processo de restauração são como ilustrados na Figura 19.
[000229] No método de predição no qual os valores previstos dos fatores de ponderação (luma_weight_1x[i] e chroma_weight_1x[i][j]) da luminância e do sinal de diferença de cor são derivados usando uma distância entre um alvo de codificação e a fatia de referência, um processo de restauração é executado usando as Expressões Numéricas (23) e (25). Detalhes do processo de restauração são iguais àqueles do fluxograma ilustrado na Figura 19 com a introdução do (i-1)ésimo valor (i # 0) em baseidx.
[000230] Na técnica para derivar os valores previstos do fator de ponderação e da precisão de ponto fixo usando o método de derivar um parâmetro WP da predição ponderada implícita definida em H.264 e semelhante, um processo de restauração é executado usando as Expressões Numéricas (31) e (33). Detalhes do processo de restauração são como ilustrados na Figura 23.
[000231] Uma pluralidade de técnicas de predição descritas acima pode não apenas ser usada independentemente, mas também ser usada de maneira combinada. Por exemplo, com a combinação de Expressões Numéricas (11), (14), (17) e (28), é possível eficientemente reduzir a quantidade de código dos elementos de sintaxe da informação de índice.
[000232] Conforme acima, de acordo com a segunda concretização, o dispositivo de decodificação 800 elimina a redundância espacial usando a correlação entre os parâmetros da informação a ser codificada, por meio do que um problema de diminuir a eficiência de codificação é solucionado. O dispositivo de decodificação 800 pode reduzir a quantidade de código comparada àquela de uma configuração convencional na qual os elementos de sintaxe usados na predição de compensação ponderada de movimento são diretamente codificados (valores diretos).
[000233] Modificação
[000234] Na primeira e na segunda concretizações descritas acima, foi descrito um exemplo no qual o quadro é dividido em blocos retangulares, cada qual apresentando um tamanho de 16 x 16 pixels ou semelhante e é codificado/decodificado na ordem de um bloco esquerdo superior da tela para o bloco direito inferior (vide Figura 2A). Contudo, a ordem de codificação e a ordem de decodificação não são limitadas àquelas ilustradas neste exemplo. Por exemplo, a codificação e a decodificação podem ser executadas na ordem do lado direito inferior para o lado esquerdo superior, ou a codificação e a decodifica- ção podem ser executadas de modo a extraírem um vórtice do centro da tela na direção da extremidade da tela. Além disso, a codificação e a decodificação podem ser executadas na ordem do lado direito superior para o lado esquerdo inferior, ou a codificação e a decodificação podem ser executadas de modo a arrastarem um vórtice da extremidade da tela para o centro da tela. Em tal caso, uma vez que a posição de um bloco de pixels adjacente que pode ser referida de acordo com mudanças de ordem de codificação, a posição pode ser mudada para uma posição apropriadamente usável.
[000235] Na primeira e na segunda concretizações descritas acima, enquanto a descrição foi apresentada com o tamanho de um bloco al vo de predição, tal como um bloco de pixels de 4 x 4, um bloco de pixels de 8 x 8, um bloco de pixels de 16 x 16 ou semelhante que é ilustrado como um exemplo, o bloco alvo de predição não pode ter uma forma de bloco uniforme. Por exemplo, o tamanho do bloco alvo de predição pode ser um bloco de pixels de 16 x 8, um bloco de pixels de 8 x 16, um bloco de pixels de 8 x 4, um bloco de pixels de 4 x 8, ou semelhante. Além disso, não é necessário uniformizar todos os tamanhos de bloco dentro de um bloco de árvore de codificação, e uma pluralidade de tamanhos de bloco diferentes entre si pode ser misturada. Em um caso em que uma pluralidade de tamanhos de bloco diferentes entre si é misturada dentro de um bloco de árvore de codificação, a quantidade de código para informação de divisão de codificação ou decodificação aumenta de acordo com um aumento no número de divisões. Desse modo, é preferível selecionar um tamanho de bloco em vista do equilíbrio entre a quantidade de código da informação de divisão e a qualidade de uma imagem codificada local ou uma imagem decodificada.
[000236] Na primeira e na segunda concretizações descritas acima, para simplificação, uma descrição compreensiva foi apresentada para um componente de sinal de cor sem os processos de predição do sinal de luminância e do sinal de diferença de cor não sendo diferenciados entre si. Contudo, em um caso em que os processos de predição do sinal de luminância e do sinal de diferença de cor são diferentes entre si, pode ser usado o mesmo método de predição ou métodos de predição diferentes entre si. Em um caso em que os métodos de predição diferentes entre si são usados para o sinal de luminância e o sinal de diferença de cor, a codificação e a decodificação podem ser executadas usando o método de predição selecionado para o sinal de diferença de cor similarmente àquelas do sinal de luminância.
[000237] Na primeira e na segunda concretizações descritas acima, para simplificação, uma descrição compreensiva foi apresentada para um componente de sinal de cor sem os processos de predição ponderada compensada por movimento do sinal de luminância e do sinal de diferença de cor não sendo diferenciados entre si. Contudo, em um caso em que os processos de predição ponderada compensada por movimento do sinal de luminância e do sinal de diferença de cor são diferentes entre si, pode ser usado o mesmo método de predição ponderada compensada por movimento ou métodos de predição ponderada compensada por movimento diferentes entre si. Em um caso em que os métodos de predição ponderada compensada por movimento diferentes entre si são usados para o sinal de luminância e o sinal de diferença de cor, a codificação ou a decodificação pode ser executada usando o método de predição ponderada compensada por movimento selecionado para o sinal de diferença de cor similarmente àquelas para o sinal de luminância.
[000238] Na primeira e na segunda concretizações descritas acima, entre as fileiras da tabela representada na configuração de sintaxe, um elemento de sintaxe não definido nesta concretização pode ser inserido, e uma descrição referente a outras ramificações pode ser incluída. Alternativamente, uma tabela de sintaxe pode ser dividida em uma pluralidade de tabelas, ou tabelas de sintaxe podem ser integradas entre si. Além disso, o mesmo termo pode não ser necessariamente usado, mas o tempo pode ser arbitrariamente mudado de acordo com uma forma usada.
[000239] Conforme descrito acima, de acordo com cada concretização, o problema de codificar informação redundante da configuração de sintaxe no momento de executar uma predição de compensação ponderada de movimento é solucionado, sendo realizado o processo de predição ponderada compensada por movimento apresentando alta eficiência. Por isso, de acordo com cada concretização, a eficiência de codificação é aperfeiçoada, e a qualidade de imagem subjetiva é aperfeiçoada.
[000240] Enquanto várias concretizações da presente invenção foram descritas, tais concretizações são apresentadas como exemplos e não para fins de limitar o escopo da invenção. Estas novas concretizações podem ser executadas em outras várias formas, e várias omissões, substituições, e mudanças podem ser feitas nas mesmas em uma faixa que não se afaste do conceito da invenção. Estas concretizações e modificações da mesma pertencem ao escopo ou ao conceito da invenção e pertencem à invenção descrita nas concretizações e a um escopo equivalente à mesma.
[000241] Por exemplo, um programa que realiza o processo de cada concretização descrita acima pode ser provido em sendo armazenado em um meio de armazenamento legível por computador. Como o meio de armazenamento, pode ser usado um meio de armazenamento que pode armazenar um programa e pode ser lido por um computador, tal como um disco magnético, um disco óptico (um CD-ROM, um CD-R, um DVD, ou semelhante), um disco magneto-óptico (um MO ou semelhante), ou uma memória semicondutora, não obstante a forma de armazenamento.
[000242] Além disso, o programa que realiza o processo de cada concretização pode ser armazenado em um computador (servidor) conectado a um computador (cliente) através da rede. LISTA DE SINAIS DE REFERÊNCIA 100 dispositivo de codificação 101 unidade de subtração 102 unidade de transformação ortogonal 103 unidade de quantização 104 unidade de quantização inversa 105 unidade de transformação ortogonal inversa 106 unidade de adição 107 unidade de geração de imagem prevista 108 unidade de ajuste de índice 109 unidade de avaliação de movimento 110 unidade de codificação 110A unidade de codificação entrópica 110B unidade de reconfiguração de índice 111 unidade de controle de codificação 201 unidade de compensação de movimento de múltiplos quadros 202 memória 203 unidade de compensação de movimento unidirecional 204 unidade de controle de parâmetro de predição 205 seletor de imagem de referência 206 memória de quadro 207 unidade de controle de imagem de referência 301 unidade de compensação de movimento padrão 302 unidade de compensação de movimento ponderado 303 unidade de controle de parâmetro WP 304, 305 seletor WP 800 dispositivo de decodificação 801 unidade de decodificação 801A unidade de decodificação entrópica 801B unidade de reconfiguração de índice 802 unidade de quantização inversa 803 unidade de transformação ortogonal inversa 804 unidade de adição 805 unidade de geração de imagem prevista 806 unidade de ajuste de índice 807 unidade de controle de decodificação

Claims (2)

1. Método de codificação, compreendendo as etapas de: gerar (107) uma imagem prevista de um bloco alvo multiplicando pelo menos um valor previsto por um fator de ponderação, o valor previsto sendo compensado com base em um vetor de movimento; e ajustar (108) uma informação de uma imagem de referência, do fator de ponderação, e de um denominador representando uma precisão de ponto fixo do fator de ponderação; caracterizado pelo fato de que o método compreende ainda: derivar (110B) um valor de referência do fator de ponderação com base no denominador e derivar um valor de diferença entre o fator de ponderação e o valor de referência, em que o valor de referência é derivado pelo deslocamento à esquerda de “1” por pelo menos um dígito binário especificado pelo denominador; e codificar (100A) o denominador e o valor de diferença.
2. Método de decodificação caracterizado pelo fato de que compreende as etapas de: decodificar (801A) um valor de diferença entre um fator de ponderação e um valor de referência do fator de ponderação, e um denominador representando uma precisão de ponto fixo do fator de ponderação a partir de um dado codificado; derivar (801B) o valor de referência com base no denomi-nador e derivar o fator de ponderação adicionando o valor de diferença e o valor de referência, o valor de referência sendo derivado pelo des-locamento à esquerda de “1” por pelo menos um dígito binário especi-ficado pelo denominador; e gerar (805) uma imagem prevista de um bloco alvo multipli-cando pelo menos um valor previsto pelo fator de ponderação, o valor previsto sendo compensado com base em um vetor de movimento.
BR112014004805-3A 2011-10-17 2011-10-17 Método de codificação e método de decodificação BR112014004805B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/073852 WO2013057783A1 (ja) 2011-10-17 2011-10-17 符号化方法及び復号方法

Publications (2)

Publication Number Publication Date
BR112014004805A2 BR112014004805A2 (pt) 2017-03-28
BR112014004805B1 true BR112014004805B1 (pt) 2022-05-17

Family

ID=48140461

Family Applications (5)

Application Number Title Priority Date Filing Date
BR122020003041-0A BR122020003041B1 (pt) 2011-10-17 2011-10-17 Método de codificação, método de decodificação e dispositivo de transferência
BR122020003071-2A BR122020003071B1 (pt) 2011-10-17 2011-10-17 Método de decodificação e método de codificação
BR122020003032-1A BR122020003032B1 (pt) 2011-10-17 2011-10-17 Método de codificação e método de decodificação
BR112014004805-3A BR112014004805B1 (pt) 2011-10-17 2011-10-17 Método de codificação e método de decodificação
BR122020003031-3A BR122020003031B1 (pt) 2011-10-17 2011-10-17 Método de decodificação e método de codificação

Family Applications Before (3)

Application Number Title Priority Date Filing Date
BR122020003041-0A BR122020003041B1 (pt) 2011-10-17 2011-10-17 Método de codificação, método de decodificação e dispositivo de transferência
BR122020003071-2A BR122020003071B1 (pt) 2011-10-17 2011-10-17 Método de decodificação e método de codificação
BR122020003032-1A BR122020003032B1 (pt) 2011-10-17 2011-10-17 Método de codificação e método de decodificação

Family Applications After (1)

Application Number Title Priority Date Filing Date
BR122020003031-3A BR122020003031B1 (pt) 2011-10-17 2011-10-17 Método de decodificação e método de codificação

Country Status (23)

Country Link
US (7) US9521422B2 (pt)
EP (6) EP3675499B1 (pt)
KR (6) KR101920601B1 (pt)
CN (5) CN106899847B (pt)
AU (5) AU2011379259B2 (pt)
BR (5) BR122020003041B1 (pt)
CA (1) CA2847299C (pt)
CY (2) CY1123691T1 (pt)
DK (2) DK3197164T3 (pt)
ES (2) ES2848525T3 (pt)
HR (2) HRP20201778T1 (pt)
HU (2) HUE053615T2 (pt)
LT (2) LT3197164T (pt)
MX (3) MX348004B (pt)
PL (2) PL3217667T3 (pt)
PT (2) PT3197164T (pt)
RS (2) RS61015B1 (pt)
RU (3) RU2586876C2 (pt)
SG (1) SG11201400294SA (pt)
SI (2) SI3197164T1 (pt)
TW (2) TWI492635B (pt)
WO (1) WO2013057783A1 (pt)
ZA (1) ZA201401563B (pt)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101753551B1 (ko) * 2011-06-20 2017-07-03 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법 및 화상 부호화 프로그램을 저장한 기록매체
CN106899847B (zh) 2011-10-17 2019-12-27 株式会社东芝 电子装置和解码方法
CA2847304C (en) 2012-06-27 2017-08-22 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method
US10368072B2 (en) * 2015-05-29 2019-07-30 Qualcomm Incorporated Advanced arithmetic coder
KR20170058838A (ko) * 2015-11-19 2017-05-29 한국전자통신연구원 화면간 예측 향상을 위한 부호화/복호화 방법 및 장치
WO2017086738A1 (ko) * 2015-11-19 2017-05-26 한국전자통신연구원 영상 부호화/복호화 방법 및 장치
CN113473122A (zh) * 2016-07-05 2021-10-01 株式会社Kt 对视频进行解码或编码的方法和计算机可读介质
WO2018056763A1 (ko) * 2016-09-23 2018-03-29 엘지전자(주) 템플릿 기반 가중치를 이용하여 예측을 수행하는 방법 및 장치
AU2016425069B2 (en) * 2016-09-30 2022-03-03 Huawei Technologies Co., Ltd. Method and apparatus for image coding and decoding through inter prediction
EP3565249A4 (en) * 2016-12-28 2019-12-18 Sony Corporation IMAGE PROCESSING DEVICE AND METHOD
CN107995490A (zh) * 2017-12-14 2018-05-04 清华大学 信号获取方法及装置
WO2019166508A1 (en) * 2018-02-28 2019-09-06 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Composed prediction and restricted merge
CN108366242B (zh) * 2018-03-07 2019-12-31 绍兴文理学院 按视频内容自适应调整色度失真权重因子的视频压缩方法
CA3039702A1 (en) * 2018-04-06 2019-10-06 Comcast Cable Communications, Llc Systems and methods for compressing video
CN108614778B (zh) * 2018-05-10 2022-08-16 天津大学 基于高斯过程回归的安卓App程序演化变更预测方法
EP3855748A4 (en) 2018-09-21 2022-06-01 Sharp Kabushiki Kaisha PICTURE DECODING APPARATUS AND PICTURE CODING APPARATUS
USD944065S1 (en) * 2019-08-30 2022-02-22 American Torch Tip, Co. Push button for releasing a gooseneck in a welding torch
CA3167535A1 (en) * 2020-01-12 2021-03-11 Huawei Technologies Co., Ltd. Method and apparatus of harmonizing weighted prediction with non-rectangular merge modes

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69724672T2 (de) * 1996-05-17 2004-07-15 Matsushita Electric Industrial Co., Ltd., Kadoma Videokodierungsverfahren zur Kodierung von Form- und Textursignalen unter Verwendung verschiedener Moden
DE19952982B4 (de) 1999-11-03 2004-01-29 Acgt Progenomics Ag Verfahren zur gerichteten Verpackung von molekularen Substanzen in Proteinhüllen
JP4015934B2 (ja) * 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
JP2004007379A (ja) * 2002-04-10 2004-01-08 Toshiba Corp 動画像符号化方法及び動画像復号化方法
KR20060111735A (ko) * 2002-01-18 2006-10-27 가부시끼가이샤 도시바 동화상 복호화방법 및 장치
BR0314824A (pt) 2002-10-01 2005-08-02 Thomson Licensing Sa Ponderação implìcita de imagens de referência em decodificador de vìdeo
JP2004179687A (ja) 2002-11-22 2004-06-24 Toshiba Corp 動画像符号化/復号化方法及び装置
EP1568222B1 (en) 2002-12-04 2019-01-02 Thomson Licensing Encoding of video cross-fades using weighted prediction
JP2007525072A (ja) 2003-06-25 2007-08-30 トムソン ライセンシング 置換されたフレーム差を使用する重み付き予測推定の方法と装置
JP2005318297A (ja) 2004-04-28 2005-11-10 Toshiba Corp 動画像符号化・復号方法及び装置
US8731054B2 (en) * 2004-05-04 2014-05-20 Qualcomm Incorporated Method and apparatus for weighted prediction in predictive frames
CN101023673B (zh) * 2004-09-16 2011-06-08 汤姆逊许可证公司 具有利用局部亮度变化的加权预测的视频编解码器
TW200612385A (en) * 2004-10-08 2006-04-16 Mstar Semiconductor Inc Image contrast enhancing device and method thereof
US8638862B2 (en) 2005-03-18 2014-01-28 Sharp Laboratories Of America, Inc. Methods and systems for upsampling filter design
US8457203B2 (en) * 2005-05-26 2013-06-04 Ntt Docomo, Inc. Method and apparatus for coding motion and prediction weighting parameters
US20060293038A1 (en) 2005-06-23 2006-12-28 Sbc Knowledge Ventures L.P. Home cellular system
JP2007043651A (ja) 2005-07-05 2007-02-15 Ntt Docomo Inc 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2007081518A (ja) * 2005-09-12 2007-03-29 Victor Co Of Japan Ltd 動画像符号化装置および動画像符号化方法
RU2369038C1 (ru) * 2005-11-30 2009-09-27 Кабусики Кайся Тосиба Способ кодирования изображения/декодирования изображения, устройство кодирования изображения/декодирования изображения
US7831434B2 (en) 2006-01-20 2010-11-09 Microsoft Corporation Complex-transform channel coding with extended-band frequency coding
EP2290983B1 (en) * 2006-01-23 2015-09-02 Max-Planck-Gesellschaft zur Förderung der Wissenschaften e.V. High dynamic range codecs
KR101406156B1 (ko) 2006-02-02 2014-06-13 톰슨 라이센싱 움직임 보상 예측을 위한 적응 가중 선택 방법 및 장치
CN101072355B (zh) * 2006-05-12 2010-07-28 中国科学院计算技术研究所 一种加权预测运动补偿方法
WO2008084817A1 (ja) * 2007-01-09 2008-07-17 Kabushiki Kaisha Toshiba 画像符号化と復号化の方法及び装置
US8488668B2 (en) * 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
CN101335902B (zh) * 2007-06-25 2010-06-02 华为技术有限公司 视频编解码中的加权预测方法和装置
US8750378B2 (en) * 2008-09-23 2014-06-10 Qualcomm Incorporated Offset calculation in switched interpolation filters
US20110007893A1 (en) 2009-07-08 2011-01-13 Berk Sunar Method and apparatus for fingerprinting and copy protecting optical recording media
EP2302933A1 (en) 2009-09-17 2011-03-30 Mitsubishi Electric R&D Centre Europe B.V. Weighted motion compensation of video
US9083984B2 (en) 2010-03-19 2015-07-14 Texas Instruments Incorporated Adaptive coding structure and adaptive FCode determination in video coding
WO2011126288A2 (en) 2010-04-05 2011-10-13 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding image and method and apparatus for decoding image using adaptive coefficient scan order
EP2375754A1 (en) * 2010-04-09 2011-10-12 Mitsubishi Electric R&D Centre Europe B.V. Weighted motion compensation of video
US20110261885A1 (en) * 2010-04-27 2011-10-27 De Rivaz Peter Francis Chevalley Method and system for bandwidth reduction through integration of motion estimation and macroblock encoding
CN106899847B (zh) 2011-10-17 2019-12-27 株式会社东芝 电子装置和解码方法
KR20140057301A (ko) * 2011-10-17 2014-05-12 가부시끼가이샤 도시바 암호화 장치, 복호 장치, 암호화 방법, 및 복호 방법
CA2847304C (en) 2012-06-27 2017-08-22 Kabushiki Kaisha Toshiba Encoding device, decoding device, encoding method, and decoding method

Also Published As

Publication number Publication date
RS61015B1 (sr) 2020-11-30
US11140405B2 (en) 2021-10-05
ES2828048T3 (es) 2021-05-25
MX336659B (es) 2016-01-27
EP3675497B1 (en) 2021-12-29
RU2681379C1 (ru) 2019-03-06
TW201318435A (zh) 2013-05-01
AU2011379259B2 (en) 2015-07-16
BR112014004805A2 (pt) 2017-03-28
CY1123835T1 (el) 2022-05-27
CA2847299A1 (en) 2013-04-25
KR102003180B1 (ko) 2019-07-23
CN106791832A (zh) 2017-05-31
CN107071415A (zh) 2017-08-18
SG11201400294SA (en) 2014-09-26
AU2017202582B2 (en) 2018-09-27
PT3217667T (pt) 2020-11-03
RU2681359C1 (ru) 2019-03-06
CN107071415B (zh) 2020-07-07
BR122020003031B1 (pt) 2021-11-09
KR20180017225A (ko) 2018-02-20
US20140056357A1 (en) 2014-02-27
US11039159B2 (en) 2021-06-15
HUE053615T2 (hu) 2021-07-28
PT3197164T (pt) 2021-02-03
HUE052527T2 (hu) 2021-05-28
KR20150123970A (ko) 2015-11-04
DK3197164T3 (da) 2021-01-25
LT3217667T (lt) 2020-11-10
TWI492635B (zh) 2015-07-11
BR122020003071B1 (pt) 2021-11-09
PL3217667T3 (pl) 2020-12-14
AU2017202582A1 (en) 2017-05-11
RU2014107490A (ru) 2015-11-27
SI3217667T1 (sl) 2020-12-31
PL3197164T3 (pl) 2021-04-19
US20170164006A1 (en) 2017-06-08
CY1123691T1 (el) 2022-03-24
AU2018286602A1 (en) 2019-02-21
US9521422B2 (en) 2016-12-13
KR101738289B1 (ko) 2017-05-19
KR101829179B1 (ko) 2018-03-29
EP3675499B1 (en) 2021-12-29
EP3675498A1 (en) 2020-07-01
EP3197164B1 (en) 2020-12-09
US9826247B2 (en) 2017-11-21
TWI569630B (zh) 2017-02-01
ES2848525T3 (es) 2021-08-10
TW201540051A (zh) 2015-10-16
EP3675497A1 (en) 2020-07-01
EP3217667A1 (en) 2017-09-13
US20160050428A1 (en) 2016-02-18
CA2847299C (en) 2016-10-11
AU2017202570B2 (en) 2018-09-27
EP3217667B1 (en) 2020-08-12
US10271061B2 (en) 2019-04-23
CN107027026A (zh) 2017-08-08
SI3197164T1 (sl) 2021-03-31
MX348004B (es) 2017-05-23
AU2018286602B2 (en) 2020-05-07
AU2011379259A1 (en) 2014-03-27
KR101624058B1 (ko) 2016-05-24
US10602173B2 (en) 2020-03-24
HRP20201778T1 (hr) 2021-02-05
EP3675499A1 (en) 2020-07-01
HRP20210129T1 (hr) 2021-03-19
CN103843345B (zh) 2017-05-10
BR122020003032B1 (pt) 2021-11-09
CN106899847A (zh) 2017-06-27
BR122020003041B1 (pt) 2021-11-09
AU2017202570A1 (en) 2017-06-01
DK3217667T3 (da) 2020-11-16
CN106899847B (zh) 2019-12-27
WO2013057783A1 (ja) 2013-04-25
KR20170046197A (ko) 2017-04-28
KR101920601B1 (ko) 2018-11-20
US20200177904A1 (en) 2020-06-04
KR20180124162A (ko) 2018-11-20
AU2015243067A1 (en) 2015-11-05
EP2770736A4 (en) 2015-06-03
KR20140059218A (ko) 2014-05-15
CN106791832B (zh) 2020-06-09
KR20170051549A (ko) 2017-05-11
AU2015243067B2 (en) 2017-06-08
CN103843345A (zh) 2014-06-04
EP3197164A1 (en) 2017-07-26
US11153593B2 (en) 2021-10-19
CN107027026B (zh) 2020-04-24
EP2770736B1 (en) 2019-06-19
US20190191175A1 (en) 2019-06-20
US20200177905A1 (en) 2020-06-04
KR101822346B1 (ko) 2018-01-25
MX2014002392A (es) 2014-06-05
ZA201401563B (en) 2015-08-26
RU2586876C2 (ru) 2016-06-10
EP2770736A1 (en) 2014-08-27
LT3197164T (lt) 2021-02-10
RS61338B1 (sr) 2021-02-26
US20200177903A1 (en) 2020-06-04

Similar Documents

Publication Publication Date Title
BR112014004805B1 (pt) Método de codificação e método de decodificação
BR112014004652B1 (pt) Método de codificação, método de decodificação, dispositivo de codificação e dispositivo de decodificação
BR112014004797B1 (pt) Método de decodificação
JP6088036B2 (ja) 復号方法、復号装置及びプログラム
JP5702011B2 (ja) 符号化方法、符号化装置及びプログラム
JP6744507B2 (ja) 符号化方法および復号方法
JP6396566B2 (ja) 電子機器、符号化方法及びプログラム
JP6235742B2 (ja) 電子機器、復号方法及びプログラム
JP6235745B2 (ja) 電子機器、復号方法及びプログラム
JP2020129848A (ja) 符号化データのデータ構造、記憶装置、送信装置および符号化方法
JP5869160B2 (ja) 復号方法、復号装置及びプログラム
JP2019009792A (ja) 符号化方法、復号方法及び符号化データ
JP2019017103A (ja) 符号化方法、復号方法及び符号化データ
JP2017118588A (ja) 電子機器、復号方法及びプログラム
JP2015097424A (ja) 符号化方法、復号方法、符号化装置、及び復号装置
JP2016149793A (ja) 符号化方法、復号方法、符号化装置、及び復号装置
JPWO2013057783A1 (ja) 符号化方法及び復号方法

Legal Events

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

Ipc: H04N 19/463 (2014.01), H04N 19/105 (2014.01), H04N

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

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