BR122022006653B1 - Método de decodificação de imagem realizado por um aparelho de decodificação, aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação, aparelho de codificação, meio de armazenamento legível por computador não transitório, método de transmissão de dados para uma imagem e aparelho de transmissão para transmissão de dados para uma imagem - Google Patents

Método de decodificação de imagem realizado por um aparelho de decodificação, aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação, aparelho de codificação, meio de armazenamento legível por computador não transitório, método de transmissão de dados para uma imagem e aparelho de transmissão para transmissão de dados para uma imagem Download PDF

Info

Publication number
BR122022006653B1
BR122022006653B1 BR122022006653-4A BR122022006653A BR122022006653B1 BR 122022006653 B1 BR122022006653 B1 BR 122022006653B1 BR 122022006653 A BR122022006653 A BR 122022006653A BR 122022006653 B1 BR122022006653 B1 BR 122022006653B1
Authority
BR
Brazil
Prior art keywords
transform
transform coefficients
region
matrix
upper left
Prior art date
Application number
BR122022006653-4A
Other languages
English (en)
Inventor
Moonmo KOO
Seunghwan Kim
Jaehyun Lim
Original Assignee
Lg Electronics Inc
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 Lg Electronics Inc filed Critical Lg Electronics Inc
Publication of BR122022006653B1 publication Critical patent/BR122022006653B1/pt

Links

Abstract

Trata-se de um método de decodificação de vídeo de acordo com o presente documento que é caracterizado por compreender: uma etapa para derivar coeficientes de transformada através de quantização inversa com base em coeficientes de transformada quantizados para um bloco alvo; uma etapa para derivar coeficientes de transformada modificados com base em uma transformada secundária reduzida (RST) inversa dos coeficientes de transformada; e uma etapa para gerar uma gravura reconstruída com base em amostras residuais para o bloco alvo com base em uma transformada primária inversa dos coeficientes de transformada modificados, em que a RST inversa que usa uma matriz de núcleo de transformada é realizada em coeficientes de transformada na região 4x4 esquerda superior de uma região 8x8 do bloco alvo, e os coeficientes de transformada modificados da região 4x4 esquerda superior, região 4x4 direita superior e região 4x4 esquerda inferior da região 8x8 são derivados através da RST inversa.

Description

CAMPO TÉCNICO
[001] A presente revelação se refere, em geral, a uma tecnologia de codificação de imagem e, mais particularmente, a um método de codificação de imagem com base em uma transformada em um sistema de codificação de imagem e um aparelho para a mesma.
TÉCNICA RELACIONADA
[002] Atualmente, a demanda por imagens/vídeo de alta resolução e alta qualidade, como imagens/vídeos de 4K, 8K ou mais imagens/vídeos de definição ultra alta (UHD) tem aumentado em vários campos. À medida que os dados de imagem/vídeo se tornam de resolução superior e qualidade superior, a quantidade de informações ou quantidade de bit transmitida aumenta em comparação aos dados de imagem convencionais. Portanto, quando os dados de imagem são transmitidos usando um meio, como uma linha de banda larga com fio/sem fio convencional ou dados de imagem/vídeo são armazenados com o uso de um meio de armazenamento existente, o custo de transmissão e o custo de armazenamento dos mesmos são aumentados.
[003] Adicionalmente, nos dias atuais, o interesse e a demanda por meios imersivos, como realidade virtual (RV), conteúdo ou holograma de realidade artificial (AR) ou similares estão aumentando, e a difusão para imagens/vídeos que têm recursos de imagem diferentes daqueles de imagens reais, como uma imagem de jogo, está aumentando.
[004] Consequentemente, há uma necessidade por uma técnica de compressão de imagem/vídeo altamente eficiente para comprimir e transmitir ou armazenar e reproduzir de modo eficaz informações de imagens/vídeos de alta resolução e alta qualidade que têm vários recursos conforme descrito acima.
SUMÁRIO
[005] Um aspecto técnico da presente revelação consiste em fornecer um método e um aparelho para aumentar a eficiência de codificação de imagem.
[006] Outro aspecto técnico da presente revelação consiste em fornecer um método e um aparelho para aumentar a eficiência de transformada.
[007] Ainda outro aspecto técnico da presente revelação consiste em fornecer um método de codificação de imagem e um aparelho de codificação de imagem que têm como base uma transformada secundária reduzida (RST).
[008] Ainda outro aspecto técnico da presente revelação consiste em fornecer um método e um aparelho para aumentar a eficiência de uma transformada secundária ao alterar a matriz de coeficientes de transformada de acordo com um modo de intrapredição.
[009] Ainda outro aspecto técnico da presente revelação consiste em fornecer um método de codificação de imagem e um aparelho de codificação de imagem para aumentar a eficiência de uma transformada secundária ao otimizar a matriz de núcleo de transformação aplicada à transformada secundária.
[010] Ainda outro aspecto técnico da presente revelação consiste em fornecer um método de codificação de imagem e um aparelho de codificação de imagem que têm como base um conjunto de transformadas para aumentar a eficiência de codificação.
[011] De acordo com uma modalidade da presente revelação, é fornecido um método de decodificação de imagem realizado por um aparelho de decodificação. O método pode incluir: derivar coeficientes de transformada através de desquantização com base em coeficientes de transformada desquantizados para um bloco alvo; derivar coeficientes de transformada modificados com base em uma transformada secundária reduzida (RST) inversa com o uso de uma matriz de núcleo de transformada predefinida para os coeficientes de transformada; derivar amostras residuais para o bloco alvo com base em uma transformada primária inversa para os coeficientes de transformada modificados; e gerar uma gravura (“picture”) reconstruída com base nas amostras residuais para o bloco alvo, em que a derivação dos coeficientes de transformada modificados derivam os coeficientes de transformada modificados da região 4x4 esquerda superior, da região 4x4 direita superior e da região 4x4 esquerda inferior da região 8x8 ao aplicar a matriz de núcleo de transformada aos coeficientes de transformada da região 4x4 esquerda superior 8x8 do bloco alvo.
[012] Ao realizar uma operação de matriz entre os coeficientes de transformada da região 4x4 esquerda superior da região 8x8 e a matriz de núcleo de transformada, os coeficientes de transformada da região 4x4 esquerda superior da região 8x8 são dispostos unidimensionalmente de acordo com uma ordem de varredura diagonal dianteira.
[013] Os coeficientes de transformada dispostos unidimensionalmente são dispostos bidimensionalmente na região 4x4 esquerda superior, na região 4x4 direita superior e na região 4x4 esquerda inferior da região 8x8 de acordo com uma direção de primeira linha ou uma direção de primeira coluna correspondente ao modo de intrapredição aplicado ao bloco alvo após a operação de matriz com a matriz de núcleo de transformada.
[014] De acordo com outra modalidade da presente revelação, é fornecido um aparelho de decodificação para realizar decodificação de imagem. O aparelho de decodificação pode incluir: um decodificador de entropia para derivar coeficientes de transformada quantizados para um bloco alvo e informações sobre a predição de um fluxo de bits; um preditor para gerar uma amostra de predição para o bloco alvo com base nas informações sobre a predição; um desquantizador para derivar coeficientes de transformada através de desquantização com base nos coeficientes de transformada quantizados para o bloco alvo; um transformador inverso para incluir um transformador secundário reduzido (RST) inverso que deriva coeficientes de transformada modificados com base em um RST inverso dos coeficientes de transformada e um transformador primário inverso que deriva amostras residuais para o bloco alvo com base na primeira transformada inversa dos coeficientes de transformada modificados; e um adicionador para gerar amostras reconstruídas com base nas amostras residuais e nas amostras de predição, em que o transformador secundário reduzido inverso deriva os coeficientes de transformada modificados na região 4x4 esquerda superior da região 8x8 ao aplicar a matriz de núcleo de transformada aos coeficientes de transformada da região 4x4 esquerda superior, da região 4x4 direita superior e da região 4x4 esquerda inferior da região 8x8 do bloco alvo.
[015] Ainda de acordo com outra modalidade da presente revelação, é fornecido um método de codificação de imagem realizado por um aparelho de codificação. O método pode incluir: derivar amostras de predição com base em modo de intrapredição aplicado a um bloco alvo; derivar amostras residuais para o bloco alvo com base nas amostras de predição; derivar coeficientes de transformada para o bloco alvo com base em uma transformada primária para as amostras residuais; derivar coeficientes de transformada modificados com base em uma transformada secundária reduzida (RST) para os coeficientes de transformada; e derivar coeficientes de transformada quantizados ao realizar quantização com base nos coeficientes de transformada modificados, em que a derivação dos coeficientes de transformada unidimensionalmente modificados pode incluir dispor os coeficientes de transformada de acordo com uma dentre uma direção de primeira linha ou uma direção de primeira coluna de acordo com o modo de intrapredição aplicado ao bloco alvo e aplicar a RST aos coeficientes de transformada.
[016] Ainda de acordo com outra modalidade da presente revelação, pode ser fornecido um meio de armazenamento digital que armazena dados de imagem incluindo informações de imagem codificada e um fluxo de bits gerado de acordo com um todo de codificação de imagem realizado por um aparelho de codificação.
[017] Ainda de acordo com outra modalidade da presente revelação, pode ser fornecido um meio de armazenamento digital que armazena dados de imagem incluindo informações de imagem codificada e um fluxo de bits para fazer com que um aparelho de decodificação realize o método de decodificação de imagem.
[018] De acordo com a presente revelação, é possível aumentar eficiência de compressão de imagem/vídeo geral.
[019] De acordo com a presente revelação, é possível aumentar a eficiência de uma transformada secundária ao alterar a matriz de coeficientes de transformada de acordo com um modo de intrapredição.
[020] De acordo com a presente revelação, é possível aumentar eficiência de codificação de imagem ao realizar codificação de imagem com base em um conjunto de transformadas.
[021] De acordo com a presente revelação, é possível aumentar a eficiência de uma transformada secundária ao otimizar a matriz de núcleo de transformação aplicada à transformada secundária.
BREVE DESCRIÇÃO DOS DESENHOS
[022] A Figura 1 ilustra esquematicamente um exemplo de um sistema de codificação de imagem/vídeo ao qual a presente revelação é aplicável.
[023] A Figura 2 é uma diagrama que ilustra esquematicamente uma configuração de um aparelho de codificação de vídeo/imagem ao qual a presente revelação é aplicável.
[024] A Figura 3 é um diagrama que ilustra esquematicamente uma configuração de um aparelho de decodificação de vídeo/imagem ao qual a presente revelação é aplicável.
[025] A Figura 4 ilustra esquematicamente uma técnica de múltiplas transformadas de acordo com uma modalidade da presente revelação.
[026] A Figura 5 ilustra modos intra direcionais de 65 direções de predição.
[027] A Figura 6 é um diagrama que ilustra uma RST de acordo com uma modalidade da presente revelação.
[028] A Figura 7 é um diagrama que ilustra uma ordem de varredura de coeficiente de transformada de acordo com uma modalidade da presente revelação.
[029] A Figura 8 é um fluxograma que ilustra um processo de RST inversa de acordo com uma modalidade da presente revelação.
[030] A Figura 9 é um fluxograma que ilustra uma operação de um aparelho de decodificação de vídeo de acordo com uma modalidade da presente revelação.
[031] A Figura 10 é um fluxograma de controle que ilustra uma RST inversa de acordo com uma modalidade da presente revelação.
[032] A Figura 11 é um fluxograma que ilustra uma operação de um aparelho de codificação de vídeo de acordo com uma modalidade da presente revelação.
[033] A Figura 12 é um fluxograma de controle que ilustra uma RST de acordo com uma modalidade da presente revelação.
[034] A Figura 13 ilustra a estrutura de um sistema de transmissão contínua de conteúdo ao qual a presente revelação é aplicável.
DESCRIÇÃO DE MODALIDADES EXEMPLIFICATIVAS
[035] Embora a presente revelação possa ser suscetível a várias modificações e incluem várias modalidades, modalidades específicas da mesma foram mostradas nos desenhos a título de exemplo e serão descritas agora em detalhe. Entretanto, não se pretende limitar a presente revelação às modalidades específicas reveladas no presente documento. A terminologia usada no presente documento no presente documento tem o propósito de apenas descrever modalidades específicas, e não se pretende limitar a ideia técnica da presente revelação. As formas no singular podem incluir as formas no plural salvo se o contexto indicar claramente de outro modo. Pretende-se que os termos, como "incluir" e "ter" indiquem recursos, números, etapas, operações, elementos, componentes ou combinações dos mesmos usados na seguinte descrição existem, e, assim, não devem ser entendidos como a possibilidade de existência ou adição de um ou mais recursos, números, etapas, operações, elementos, componentes diferentes ou combinações dos mesmos é antecipadamente excluída.
[036] Nesse ínterim, cada componente nos desenhos descritos no presente documento é ilustrado independentemente a título de conveniência quanto às funções características diferentes entre si, e , entretanto, não significa que cada componente seja realizado por hardware ou software separado. Por exemplo, quaisquer dois ou mais desses componentes podem ser combinados para formar um componente único, e qualquer componente único pode ser dividido em componentes plurais. As modalidades nas quais componentes são combinados e/ou divididos pertencerão ao escopo do direito de patente da presente revelação desde que as mesmas não se afastam da essência da presente revelação.
[037] Doravante no presente documento, modalidades preferenciais da presente revelação será explicada em mais detalhe enquanto se refere aos desenhos anexos. Além disso, os mesmos sinais de referência são usados para os mesmos componentes nos desenhos, e descrições repetidas para os mesmos componentes podem ser omitidas.
[038] Esse documento se refere à codificação de vídeo/imagem. Por exemplo, o método/exemplo revelado nesse documento pode ser um padrão de VVC (Codificação de Vídeo Versátil) (ITU-T Rec. H.266), um padrão de codificação de vídeo/imagem de próxima geração após VVC ou outros padrões de codificação de vídeo (por exemplo, padrão de HEVC (Codificação de Vídeo de Alta Eficiência) (ITU- T Rec. H.265), padrão de EVC (codificação de vídeo essencial), padrão de AVS2, etc.).
[039] Nesse documento, uma variedade de modalidades relacionada à codificação de vídeo/imagem pode ser fornecida, e, salvo se especificado em contrapartida, as modalidades podem ser combinadas entre si e ser realizadas.
[040] Nesse documento, um vídeo pode significar um conjunto de uma série de imagens ao longo de tempo. Em geral, uma gravura significa uma unidade que representa uma imagem em uma zona de tempo específica, e uma fatia/bloco é uma unidade que constitui uma parte da gravura. A fatia/bloco pode incluir uma ou mais unidades de árvore de codificação (CTUs). Uma gravura pode ser constituída por uma ou mais fatias/blocos. Uma gravura pode ser constituída por um ou mais grupos de bloco. Um grupo de bloco pode incluir um ou mais blocos.
[041] Um pixel ou um elemento de imagem pode significar uma unidade menor que constitui uma gravura (ou imagem). Ademais, ‘amostra’ pode ser usada como um termo correspondente a um pixel. Uma amostra pode representar, em geral, um pixel ou um valor de um pixel, e pode representar apenas um valor de pixel/pixel de um componente de luminância ou apenas um valor de pixel/pixel de um componente de croma. Alternativamente, a amostra pode se referir a um valor de pixel no domínio espacial, ou quando esse valor de pixel é convertido no domínio de frequência, pode ser referir a um coeficiente de transformada no domínio de frequência.
[042] Uma unidade pode representar a unidade básica de processamento de imagem. A unidade pode incluir pelo menos uma dentre uma região específica e informações relacionadas à região. Uma unidade pode incluir um bloco de luminância e dois blocos de croma (por exemplo, cb, cr). A unidade e um termo, como um bloco, uma área ou similares podem ser usados no lugar um do outro de acordo com as circunstâncias. Em um caso geral, um bloco M*N pode incluir um conjunto (ou um arranjo) de amostra (ou arranjos de amostra) ou coeficientes de transformada que consistem em colunas M e fileiras N.
[043] Nesse documento, o termo "/" e "," devem ser interpretados para indicar "e/ou". Por exemplo, a expressão "A/B" pode significar "A e/ou B". Adicionalmente, "A, B" pode significar "A e/ou B". Adicionalmente, "A/B/C" pode significar "pelo menos um dentre A, B e/ou C". Ademais, "A/B/C" pode significar "pelo menos um dentre A, B e/ou C".
[044] Adicionalmente, no documento, o termo "ou" deve ser interpretado como indicando "e/ou". Por exemplo, a expressão "A ou B" pode incluir 1) apenas A, 2) apenas B e/ou 3) tanto A quanto B. Em outras palavras, o termo "ou" nesse documento deve ser interpretado para indicar "adicional ou alternativamente".
[045] A Figura 1 ilustra esquematicamente um exemplo de um sistema de codificação de imagem/vídeo ao qual a presente revelação é aplicável.
[046] Com referência à Figura 1, o sistema de codificação de imagem/vídeo pode incluir um primeiro dispositivo (dispositivo de fonte) e um segundo dispositivo (dispositivo de recebimento). O dispositivo de fonte pode entregar dados ou informações de vídeo/imagem codificados na forma de um arquivo ou transmissão contínua para o dispositivo de recebimento através de um meio de armazenamento digital ou rede.
[047] O dispositivo de fonte pode incluir uma fonte de vídeo, um aparelho de codificação e um transmissor. O dispositivo de recebimento pode incluir um receptor, um aparelho de decodificação e um renderizador. O aparelho de codificação pode ser denominado um aparelho de codificação de vídeo/imagem, e o aparelho de decodificação pode ser denominado um aparelho de decodificação de vídeo/imagem. O transmissor pode ser incluído no aparelho de codificação. O receptor pode ser incluído no aparelho de decodificação. O renderizador pode incluir um visor, e o visor pode ser configurado como um dispositivo separado ou um componente externo.
[048] Uma fonte de vídeo pode obter um vídeo/imagem através de um processo de captura, sintetização ou geração de um vídeo/imagem. A fonte de vídeo pode incluir um dispositivo de captura de vídeo/imagem e/ou um dispositivo de geração de vídeo/imagem. O dispositivo de captura de vídeo/imagem pode incluir, por exemplo, uma ou mais câmeras, arquivos de vídeo/imagem incluindo vídeo/imagens anteriormente capturado ou similares. O dispositivo de geração de vídeo/imagem pode incluir, por exemplo, um computador, um computador do tipo tablet e um telefone inteligente, e pode gerar (eletronicamente) um vídeo/imagem. Por exemplo, um vídeo/imagem virtual pode ser gerado através de um computador ou similares. Nesse caso, o processo de captura de vídeo/imagem pode ser substituído por um processo de geração de dados relacionados.
[049] O aparelho de codificação pode codificar um vídeo/imagem de entrada. O aparelho de codificação pode realizar uma série de procedimentos, como predição, transformada e quantização para compressão e eficiência de codificação. Os dados codificados (informações de vídeo/imagem codificadas) podem ser emitidos na forma de um fluxo de bits.
[050] O transmissor pode transmitir as informações ou dados de vídeo/imagem codificados emitidos na forma de um fluxo de bits para o receptor do dispositivo de recebimento através de um meio de armazenamento digital ou uma rede na forma de um arquivo ou transmissão contínua. O meio de armazenamento digital pode incluir vários meios de armazenamento, como USB, SD, CD, DVD, Blu-ray, HDD, SSD e similares. O transmissor pode incluir um elemento para gerar um arquivo de mídia através de um formato de arquivo predeterminado, e pode incluir um elemento para transmissão através de uma rede de difusão/comunicação. O receptor pode receber/extrair o fluxo de bits e transmite o fluxo de bits recebido/extraído para o aparelho de decodificação.
[051] O aparelho de decodificação pode decodificar um vídeo/imagem ao realizar uma série de procedimentos, como desquantização, transformada inversa, predição e similares correspondentes à operação do aparelho de codificação.
[052] O renderizador pode renderizar o vídeo/imagem decodificado. O vídeo/imagem renderizado pode ser exibido através do visor.
[053] A Figura 2 é uma diagrama que ilustra esquematicamente uma configuração de um aparelho de codificação de vídeo/imagem ao qual a presente revelação é aplicável. Doravante no presente documento, o que se refere ao aparelho de codificação de vídeo pode incluir um aparelho de codificação de imagem.
[054] Com referência à Figura 2, o aparelho de codificação 200 pode incluir um particionador de imagem 210, um preditor 220, um processador residual 230, um codificador de entropia 240, um adicionador 250, um filtro 260 e uma memória 270. O preditor 220 pode incluir um interpreditor 221 e um intrapreditor 222. O processador residual 230 pode incluir um transformador 232, uma quantizador 233, um desquantizador 234, um transformador inverso 235. O processador residual 230 pode incluir adicionalmente um subtrator 231. O adicionador 250 pode ser denominado um reconstrutor ou gerador de bloco reconstruído. O particionador de imagem 210, o preditor 220, o processador residual 230, o codificador de entropia 240, o adicionador 250 e o filtro 260 que foram descritos acima podem ser constituídos por um ou mais componentes de hardware (por exemplo, conjuntos de chips de codificador ou processadores) de acordo com uma modalidade. Adicionalmente, a memória 270 pode incluir um armazenamento temporário de gravura (DPB) decodificado, e pode ser constituída por um meio de armazenamento digital. O componente de hardware pode incluir adicionalmente a memória 270 como um componente interno/externo.
[055] O particionador de imagem 210 pode particionar uma imagem de entrada (ou uma gravura ou um quadro) inserida no aparelho de codificação 200 em uma ou mais unidades de processamento. Como um exemplo, a unidade de processamento pode ser denominada uma unidade de codificação (CU). Nesse caso, partindo de uma unidade de árvore de codificação (CTU) ou a unidade de codificação mais ampla (LCU), a unidade de codificação pode ser particionada recursivamente de acordo com a estrutura de árvore binária, de árvore ternária e de árvore quaternária (QTBTTT). Por exemplo, uma unidade de codificação pode ser dividida em uma pluralidade de unidades de codificação de uma profundidade mais profunda com base na estrutura de árvore quaternária , na estrutura de árvore binária e/ou na estrutura de árvore ternária. Nesse caso, por exemplo, a estrutura de árvore quaternária pode ser aplicada primeiramente e a estrutura binária de árvore e/ou a estrutura ternária podem ser aplicadas posteriormente. Alternativamente, a estrutura de árvore binária pode ser aplicada primeiramente. O procedimento de codificação de acordo com a presente revelação pode ser realizado com base na unidade de codificação final que não é particionado adicionalmente. Nesse caso, a unidade de codificação máxima pode ser usada diretamente como uma unidade de codificação final com base em eficiência de codificação de acordo com a característica de imagem. Alternativamente, uma unidade de codificação pode ser particionada recursivamente em unidades de codificação de uma profundidade mais profunda adicional conforme necessário, de modo que a unidade de codificação de um tamanho ideal possa ser usada como unidade de codificação final. Aqui, o procedimento de codificação pode incluir procedimentos, como predição, transformada e reconstrução, que serão descritos posteriormente. Como outro exemplo, a unidade de processamento pode incluir adicionalmente um unidade de predição (PU) ou uma unidade de transformada (TU). Nesse caso, a unidade de predição e a unidade de transformada podem ser divididas ou particionadas a partir da unidade de codificação final descrita acima. A unidade de predição pode ser uma unidade de predição de amostra, e a unidade de transformada pode ser uma unidade para derivar um coeficiente de transformada e/ou uma unidade para derivar um sinal residual de um coeficiente de transformada.
[056] A unidade e um termo, como um bloco, uma área ou similares podem ser usados no lugar um do outro de acordo com as circunstâncias. Em um caso geral, um bloco MxN pode representar um conjunto de amostras ou coeficientes de transformada consistindo em colunas M e fileiras N. A amostra pode representar, em geral, um pixel ou um valor de um pixel, e pode representar apenas um valor de pixel/pixel de um componente de luminância, ou apenas um valor de pixel/pixel de um componente de croma. A amostra pode ser usada como um termo correspondente a um pixel ou um elemento de imagem de uma gravura (ou imagem).
[057] O subtrator 231 subtrai uma saída de sinal de predição (bloco de predição, arranjo de amostras de predição) do interpreditor 221 ou intrapreditor 222 de um sinal de imagem de entrada (bloco original, arranjo de amostras originais) para gerar um sinal residual (bloco residual, arranjo de amostras residuais), e o sinal residual gerado é transmitido para o transformador 232. Nesse caso, conforme mostrado, uma unidade que subtrai o sinal de predição (bloco predito, arranjo de amostras de predição) do sinal de imagem de entrada (bloco original, arranjo de amostras originais) no codificador 200 pode ser denominada o subtrator 231. O preditor pode realizar predição em um bloco alvo de processamento (doravante no presente documento, referido como ‘bloco atual’), e pode gerar um bloco predito incluindo amostras de predição para o bloco atual. O preditor pode determinar se intrapredição ou interpredição é aplicada em um bloco atual ou base de CU. Conforme discutido posteriormente na descrição de cada modo de predição, o preditor pode gerar várias informações relacionadas à predição, como informações de modo de predição, e transmite as informações geradas para o codificador de entropia 240. As informações sobre a predição podem ser codificadas no codificador de entropia 240 e emitidas na forma de um fluxo de bits.
[058] O intrapreditor 222 pode predizer o bloco atual ao se referir a amostras na gravura atual. As amostras referidas podem estar localizadas nas proximidades de ou separadas do bloco atual de acordo com o modo de predição. Na intrapredição, modos de predição podem incluir uma pluralidade de modos não direcionais e uma pluralidade de modos direcionais. Os modos não direcionais podem incluir, por exemplo, um modo DC e um modo planar. O modo direcional pode incluir, por exemplo, 33 modos de predição direcional ou 65 modos de predição direcionais de acordo com o grau de detalhe da direção de predição. Entretanto, esse é meramente um exemplo, e mais ou menos modos de predição direcionais podem ser usados dependendo de uma configuração. O intrapreditor 222 pode determinar o modo de predição aplicado ao bloco atual ao usar o modo de predição aplicado ao bloco vizinho.
[059] O interpreditor 221 pode derivar um bloco predito para o bloco atual com base em um bloco de referência (arranjo de amostras de referência) especificado por um vetor de movimento em uma gravura de referência. Nesse momento, a fim de reduzir a quantidade de informações de movimento transmitida no modo de interpredição, as informações de movimento podem ser preditas em um bloco, sub- bloco ou com base na amostra na correlação de informações de movimento entre o bloco vizinho e o bloco atual. As informações de movimento podem incluir um vetor de movimento e um índice de gravura de referência. As informações de movimento podem incluir adicionalmente informações de direção de interpredição (predição L0, predição L1, predição Bi, etc.). No caso de interpredição, o bloco vizinho pode incluir um bloco vizinho espacial existente na gravura atual e um bloco vizinho temporal existente na gravura de referência. A gravura de referência incluindo o bloco de referência e a gravura de referência incluindo o bloco vizinho temporal podem ser iguais entre si ou diferentes entre si. O bloco vizinho temporal pode ser denominado um bloco de referência localizado, uma CU colocalizada (colCU), e o similares, e a gravura de referência incluindo o bloco vizinho temporal pode ser denominada uma gravura colocalizada (colPic). Por exemplo, o interpreditor 221 pode configurar uma lista de candidatos de informações de movimento com base em blocos vizinhos e gerar informações indicando qual candidato é usado para derivar um vetor de movimento e/ou um índice de gravura de referência do bloco atual. A interpredição pode ser realizada com base em vários modos de predição. Por exemplo, no caso de um modo de salto e um modo de fusão, o interpreditor 221 pode usar informações de movimento do bloco vizinho como informações de movimento do bloco atual. No modo de salto, diferentemente do modo de fusão, o sinal residual pode não ser transmitido. No caso do modo de predição de informações de movimento (predição de vetor de movimento, MVP), o vetor de movimento do bloco vizinho pode ser usado como um preditor de vetor de movimento do bloco atual pode ser indicado por sinalização de uma diferença de vetor de movimento.
[060] O preditor 220 pode gerar um sinal de predição com base em vários métodos de predição. Por exemplo, o preditor pode aplicar intrapredição ou interpredição para predição em um bloco, e, também, pode aplicar intrapredição e interpredição ao mesmo tempo. Isso pode ser denominado inter e intrapredição (CIIP). Adicionalmente, o preditor pode ter como base um modo de predição de cópia de bloco intra (IBC), ou um modo de paleta a fim de realizar predição em um bloco. O modo de predição de IBC ou modo de paleta pode ser usado para codificação de imagem/vídeo de conteúdo de um jogo ou similares, como codificação de conteúdo de tela (SCC). Embora a IBC realize basicamente predição em um bloco atual, a mesma pode ser realizada similarmente a interpredição na qual se deriva um bloco de referência em um bloco atual. Ou seja, a IBC pode usar pelo menos uma das técnicas de interpredição descritas na presente revelação.
[061] O sinal de predição gerado através do interpreditor 221 e/ou do intrapreditor 222 pode ser usado para gerar um sinal reconstruído ou para gerar um sinal residual. O transformador 232 pode gerar coeficientes de transformada ao aplicar uma técnica de transformada ao sinal residual. Por exemplo, a técnica de transformada pode incluir pelo menos um dentre uma transformada de cosseno discreta (DCT), uma transformada de seno discreta (DST), uma transformada de Karhunen-Loève (KLT), uma transformada com base em gráfico (GBT) ou uma transformada condicionalmente não linear (CNT). Aqui, a GBT significa transformada obtido a partir de um gráfico quando as informações de relação entre pixels são representadas pelo gráfico. A CNT se refere à transformada obtida com base em um sinal de predição gerado com o uso de pixels anteriormente reconstruídos. Além disso, o processo de transformada pode ser aplicado a blocos de pixel quadrados que tem o mesmo tamanho ou pode ser aplicado a blocos que têm um tamanho variável em vez de um quadrado.
[062] O quantizador 233 pode quantizar os coeficientes de transformada e transmitir os mesmos para o codificador de entropia 240, e o codificador de entropia 240 pode codificar o sinal quantizado (informações sobre os coeficientes de transformada quantizados) e emitir o sinal codificado em um fluxo de bits. As informações sobre os coeficientes de transformada quantizadas podem se referidas como informações residuais. O quantizador 233 pode redispor coeficientes de transformada quantizados do tipo bloco em um forma de vetor unidimensional com base em uma ordem de varredura de coeficiente, e gerar informações sobre os coeficientes de transformada quantizados com base nos coeficientes de transformada quantizados da forma de vetor unidimensional. O codificador de entropia 240 pode realizar métodos de codificação, como, por exemplo, codificação de comprimento variável adaptável ao contexto (CAVLC), codificação aritmética binária adaptativa ao contexto (CABAC) e similares. O codificador de entropia 240 pode codificar informações necessárias para reconstrução de vídeo/imagem diferente de coeficientes de transformada quantizados (por exemplo, valores de elementos de sintaxe, etc.) em conjunto ou separadamente. As informações codificadas (por exemplo, informações de vídeo/imagem codificados) podem ser transmitidas ou armazenadas em uma base de unidade de uma camada de abstração de rede (NAL) na forma de um fluxo de bits. As informações de vídeo/imagem podem incluir adicionalmente informações sobre vários conjuntos de parâmetros, como um conjunto de parâmetros de adaptação (APS), um conjunto de parâmetros de gravura (PPS), um conjunto de parâmetros de sequência (SPS), um conjunto de parâmetros de vídeo (VPS) ou similares. Adicionalmente, as informações de vídeo/imagem pode incluir adicionalmente informações de restrição gerais. Na presente revelação, informações e/ou elementos de sintaxe que são transmitidos/sinalizados para o aparelho de decodificação a partir do aparelho de codificação podem ser incluídos em informações de vídeo/imagem. As informações de vídeo/imagem podem ser codificadas através do procedimento de codificação descrito acima e incluídas no fluxo de bits. O fluxo de bits pode ser transmitido através de uma rede, ou armazenado em um meio de armazenamento digital. Aqui, a rede pode incluir uma rede de difusão, uma rede comunicação e/ou similares, e o meio de armazenamento digital pode incluir vários meios de armazenamento, como USB, SD, CD, DVD, Blu-ray, HDD, SSD e similares. Um transmissor (não mostrado) que transmite uma saída de sinal a partir do codificador de entropia 240 e/ou um armazenamento (não mostrado) que armazena o mesmo pode ser configurado como um elemento interno/externo do aparelho de codificação 200, ou o transmissor pode ser incluído no codificador de entropia 240.
[063] Os coeficientes de transformada quantizados emitidos a partir do quantizador 233 podem ser usados para gerar um sinal de predição. Por exemplo, ao aplicar desquantização e transformada inversa a coeficientes de transformada quantizadas através do desquantizador 234 e do transformador inverso 235, o sinal residual (bloco residual ou amostras residuais) pode ser reconstruído. O adicionador 155 adiciona o sinal residual reconstruído a uma saída de sinal de predição a partir do interpreditor 221 ou do intrapreditor 222, de modo que um sinal reconstruído (gravura reconstruída, bloco reconstruído, arranjo de amostras reconstruídas) possa ser gerado. Quando não há nenhum resíduo para um bloco alvo de processamento como em um caso em que o modo de salto é aplicado, o bloco predito pode ser usado como um bloco reconstruído. O adicionador 250 pode ser denominado um reconstrutor ou gerador de bloco reconstruído. O sinal reconstruído gerado pode ser usado para intrapredição de um próximo bloco alvo de processamento no bloco atual, e conforme posteriormente descrito, pode ser usado para interpredição de uma próxima gravura através da filtração.
[064] Nesse ínterim, no processo de codificação e/ou reconstrução de gravura, o mapeamento de luminância com escala de croma (LMCS) pode ser aplicado.
[065] O filtro 260 pode aprimorar a qualidade vídeo subjetiva/objetiva ao aplicar a filtração ao sinal reconstruído. Por exemplo, o filtro 260 pode gerar uma gravura reconstruída modificada ao aplicar vários métodos de filtração à gravura reconstruída, e pode armazenar a gravura reconstruída modificada na memória 270, especificamente, no DPB da memória 270. Os vários métodos de filtração podem incluir, por exemplo, filtração de desbloqueio, deslocamento adaptativo de amostra, um filtro de circuito adaptativo, um filtro bilateral ou similares. Conforme posteriormente discutido na descrição de cada método de filtração, o filtro 260 pode gerar várias informações relacionadas à filtração, e transmite as informações geradas para o codificador de entropia 240. As informações sobre a filtração podem ser codificadas no codificador de entropia 240 e emitidas na forma de um fluxo de bits.
[066] A gravura reconstruída modificada que foi transmitida à memória 270 pode ser usada como uma gravura de referência no interpreditor 221. Através disso, o aparelho de codificação pode evitar falta de correspondência de predição no aparelho de codificação 100 e em um aparelho de decodificação quando a interpredição é aplicada, e também pode aprimorar a eficiência de codificação.
[067] A memória 270 DPB pode armazenar a gravura reconstruída modificada a fim de usar a mesma como uma gravura de referência no interpreditor 221. A memória 270 pode armazenar informações de movimento de um bloco na gravura atual, a partir do qual informações de movimento foram derivadas (ou codificadas) e/ou informações de movimento de blocos em uma gravura já reconstruída. As informações de movimento armazenadas podem ser transmitidas para o interpreditor 221 para serem utilizadas como informações de movimento de um bloco vizinho ou informações de movimento de um bloco vizinho temporal. A memória 270 pode armazenar amostras reconstruídas na gravura atual, e transmite as mesmas para o intrapreditor 222.
[068] A Figura 3 é um diagrama que ilustra esquematicamente uma configuração de um aparelho de decodificação de vídeo/imagem ao qual a presente revelação é aplicável.
[069] Com referência à Figura 3, o aparelho de decodificação de vídeo 300 pode incluir um decodificador de entropia 310, um processador residual 320, um preditor 330, um adicionador 340, um filtro 350 e uma memória 360. O preditor 330 pode incluir um interpreditor 331 e um intrapreditor 332. O processador residual 320 pode incluir um desquantizador 321 e um transformador inverso 321. O decodificador de entropia 310, o processador residual 320, o preditor 330, o adicionador 340 e o filtro 350, que foram descritos acima, podem ser constituídos por um ou mais componentes de hardware (por exemplo, conjuntos de chips de decodificador ou processadores) de acordo com uma modalidade. Adicionalmente, a memória 360 pode incluir um armazenamento temporário de gravura (DPB) decodificado, e pode ser constituída por um meio de armazenamento digital. O componente de hardware pode incluir adicionalmente a memória 360 como um componente interno/externo.
[070] Quando um fluxo de bits incluindo informações de vídeo/imagem é inserido, o aparelho de decodificação 300 pode reconstruir correspondentemente uma imagem para um processo pelo qual informações de vídeo/imagem foram processadas no aparelho de codificação da Figura 2. Por exemplo, o aparelho de decodificação 300 pode derivar unidades/blocos com base em informações relacionadas à partição de bloco obtida a partir do fluxo de bits. O aparelho de decodificação 300 pode realizar decodificação ao usar uma unidade de processamento aplicada no aparelho de codificação. Portanto, a unidade de processamento de decodificação pode ser, por exemplo, uma unidade de codificação, que pode ser particionada ao longo da estrutura de árvore quaternária, da estrutura de árvore binária e/ou da estrutura de árvore ternária a partir da unidade de árvore de codificação ou de uma unidade de codificação mais ampla. Uma ou mais unidades de transformada podem ser derivadas a partir da unidade de codificação. E, o sinal de imagem reconstruída decodificado e emitido através do aparelho de decodificação 300 pode ser reproduzido através de um reprodutor.
[071] O aparelho de decodificação 300 pode receber uma saída de sinal do aparelho de codificação da Figura 2 na forma de um fluxo de bits, e o sinal recebido pode ser decodificado através do decodificador de entropia 310. Por exemplo, o decodificador de entropia 310 pode analisar o fluxo de bits para derivar informações (por exemplo, informações de vídeo/imagem) exigido para reconstrução de imagem (ou reconstrução de gravura). As informações de vídeo/imagem podem incluir adicionalmente informações sobre vários conjuntos de parâmetros, como um conjunto de parâmetros de adaptação (APS), um conjunto de parâmetros de gravura (PPS), um conjunto de parâmetros de sequência (SPS), um conjunto de parâmetros de vídeo (VPS) ou similares. Adicionalmente, as informações de vídeo/imagem pode incluir adicionalmente informações de restrição gerais. O aparelho de decodificação pode decodificar adicionalmente uma gravura com base em informações sobre os conjuntos de parâmetros e/ou informações de restrição gerais. Na presente revelação, informações e/ou elementos de sintaxe sinalizados/recebidos, que serão descritos posteriormente, podem ser decodificados através do procedimento de decodificação e ser obtidos a partir do fluxo de bits. Por exemplo, o decodificador de entropia 310 pode decodificar informações no fluxo de bits com base em um método de codificação, como codificação de Golomb exponencial, CAVLC, CABAC ou similares, e pode emitir um valor de elemento de sintaxe necessário para reconstrução de imagem e valores quantizados de um coeficiente de transformada relacionado a um resíduo. Mais especificamente, um método de decodificação de entropia de CABAC pode receber um compartimento correspondente a cada elemento de sintaxe em um fluxo de bits, determinar um modelo de contexto com o uso de decodificação de informações de elemento de sintaxe alvo e decodificação de informações de elemento vizinho e decodificação de blocos alvo, ou informações de símbolo/compartimento decodificado em uma etapa anterior, predizer probabilidade de geração de compartimento de acordo com o modelo de contexto determinado e realizar decodificação aritmética do compartimento para gerar um símbolo correspondente a cada valor de elemento de sintaxe. Aqui, o método de decodificação de entropia de CABAC pode atualizar o modelo de contexto com o uso de informações de um símbolo/compartimento decodificado para um modelo de contexto do próximo símbolo/compartimento após a determinação do modelo de contexto. Informações sobre predição entre informações decodificados no decodificador de entropia 310 podem ser fornecidas para o preditor (interpreditor 332 e intrapreditor 331), e valores residuais, ou seja, coeficientes de transformada quantizados, nos quais a decodificação de entropia foi realizada no decodificador de entropia 310, e informações de parâmetro associadas podem ser inseridas ao processador residual 320. O processador residual 320 pode derivar um sinal residual (bloco residual, amostras residuais, arranjo de amostras residuais). Adicionalmente, informações sobre a filtração entre informações decodificadas no decodificador de entropia 310 podem ser fornecidas para o filtro 350. Nesse ínterim, um receptor (não mostrado) que recebe uma saída de sinal do aparelho de codificação pode constituir adicionalmente o aparelho de decodificação 300 como uma elemento interno/externo, e o receptor pode ser um componente do decodificador de entropia 310. Nesse ínterim, o aparelho de decodificação de acordo com a presente revelação pode ser denominado um aparelho de codificação de vídeo/imagem/gravura, e o aparelho de decodificação pode ser classificado em um decodificador de informações (decodificador de informações de vídeo/imagem/gravura) e um decodificador de amostra (decodificador de amostra de vídeo/imagem/gravura). O decodificador de informações pode incluir o decodificador de entropia 310, e o decodificador de amostra pode incluir pelo menos um dentre o desquantizador 321, o transformador inverso 322, o adicionador 340, o filtro 350, a memória 360, the o interpreditor 332 e o intrapreditor 331.
[072] O desquantizador 321 pode emitir coeficientes de transformada ao desquantizar os coeficientes de transformada quantizados. O desquantizador 321 pode redispor os coeficientes de transformada quantizados na forme de um bloco bidimensional. Nesse caso, a redisposição pode realizar redisposição com base em uma ordem de varredura de coeficiente que foi realizada no aparelho de codificação. O desquantizador 321 pode realizar desquantização nos coeficientes de transformada quantizados com o uso de parâmetro de quantização (por exemplo, informações de tamanho de etapa de quantização), e obter coeficientes de transformada.
[073] O desquantizador 322 obtém um sinal residual (bloco residual, arranjo de amostras residuais) por transformação inversa de coeficientes de transformada.
[074] O preditor pode realizar predição no bloco atual, e gerar um bloco predito incluindo amostras de predição para o bloco atual. O preditor pode determinar se intrapredição ou interpredição é aplicada ao bloco atual com base nas informações sobre a saída de predição do decodificador de entropia 310, e especificamente, pode determinar um modo de intra/interpredição.
[075] O preditor pode gerar um sinal de predição com base em vários métodos de predição. Por exemplo, o preditor pode aplicar intrapredição ou interpredição para predição em um bloco, e, também, pode aplicar intrapredição e interpredição ao mesmo tempo. Isso pode ser denominado inter e intrapredição (CIIP). Além disso, o preditor pode realizar cópia de bloco intra (IBC) para predição em um bloco. A cópia de bloco intra pode ser usada para codificação de imagem/vídeo de conteúdo de um jogo ou similares, como codificação de conteúdo de tela (SCC). Embora a IBC realize basicamente predição em um bloco atual, a mesma pode ser realizada similarmente a interpredição na qual se deriva um bloco de referência em um bloco atual. Ou seja, a IBC pode usar pelo menos uma das técnicas de interpredição descritas na presente revelação.
[076] O intrapreditor 331 pode predizer o bloco atual ao se referir às amostras na gravura atual. As amostras referidas podem estar localizadas nas proximidades de ou separadas do bloco atual de acordo com o modo de predição. Na intrapredição, modos de predição podem incluir uma pluralidade de modos não direcionais e uma pluralidade de modos direcionais. O intrapreditor 331 pode determinar o modo de predição aplicado ao bloco atual ao usar o modo de predição aplicado ao bloco vizinho.
[077] O interpreditor 332 pode derivar um bloco predito para o bloco atual com base em um bloco de referência (arranjo de amostras de referência) especificado por um vetor de movimento em uma gravura de referência. Nesse momento, a fim de reduzir a quantidade de informações de movimento transmitida no modo de interpredição, as informações de movimento podem ser preditas em um bloco, sub- bloco ou com base na amostra na correlação de informações de movimento entre o bloco vizinho e o bloco atual. As informações de movimento podem incluir um vetor de movimento e um índice de gravura de referência. As informações de movimento podem incluir adicionalmente informações de direção de interpredição (predição L0, predição L1, predição Bi, etc.). No caso de interpredição, o bloco vizinho pode incluir um bloco vizinho espacial existente na gravura atual e um bloco vizinho temporal existente na gravura de referência. Por exemplo, o interpreditor 332 pode configurar uma lista de candidatos de informações de movimento com base em blocos vizinhos, e derivar um vetor de movimento e/ou um índice de gravura de referência ao bloco atual com base em informações de seleção de candidato recebidas. A interpredição pode ser realizada com base em vários modos de predição, e as informações sobre a previsão podem incluir informações indicando um modo de interpredição para o bloco atual.
[078] O adicionador 340 pode gerar um sinal reconstruído (gravura reconstruída, bloco reconstruído, arranjo de amostras reconstruídas) ao adicionar o sinal residual obtido ao sinal de predição (bloco predito, arranjo de amostras de predição) emitido do preditor 330. Quando não há nenhum resíduo para um bloco alvo de processamento como em um caso em que o modo de salto é aplicado, o bloco predito pode ser usado como um bloco reconstruído.
[079] O adicionador 340 pode ser denominado um reconstrutor ou gerador de bloco reconstruído. O sinal reconstruído gerado pode ser usado para intrapredição de um próximo bloco alvo de processamento no bloco atual, e, conforme descrito posteriormente, pode ser emitido através de filtração ou ser usado para interpredição de uma próxima gravura.
[080] Nesse ínterim, no processo de decodificação de gravura, o mapeamento de luminância com escala de croma (LMCS) pode ser aplicado.
[081] O filtro 350 pode aprimorar a qualidade vídeo subjetiva/objetiva ao aplicar a filtração ao sinal reconstruído. Por exemplo, o filtro 350 pode gerar uma gravura reconstruída modificada ao aplicar vários de filtração à gravura reconstruída, e pode transmitir a gravura reconstruída modificada na memória 360, especificamente, no DPB da memória 360. Os vários métodos de filtração podem incluir, por exemplo, filtração de desbloqueio, deslocamento adaptativo de amostra, um filtro de circuito adaptativo, um filtro bilateral ou similares.
[082] A gravura reconstruída (modificada) que foi armazenada no DPB da memória 360 pode ser usada como uma gravura de referência no interpreditor 332. A memória 360 pode armazenar informações de movimento de um bloco na gravura atual, a partir da qual informações de movimento foram derivadas (ou decodificadas) e/ou informações de movimento de blocos em uma gravura já reconstruída. As informações de movimento armazenadas podem ser transmitidas para o interpreditor 260 para serem utilizadas como informações de movimento de um bloco vizinho ou informações de movimento de um bloco vizinho temporal. A memória 360 pode armazenar amostras reconstruídas na gravura atual, e transmite as mesmas para o intrapreditor 331.
[083] Neste relatório descritivo, os exemplos descritos no preditor 330, no desquantizador 321, no transformador inverso 322 e no filtro 350 do aparelho de decodificação 300 podem ser similares ou aplicados correspondentemente ao preditor 220, ao desquantizador 234, ao transformador inverso 235 e ao filtro 260 do aparelho de codificação 200.
[084] Conforme descrito acima, a predição é realizada a fim de aumentar a eficiência de compressão na realização de codificação de vídeo. Através disso, um bloco predito incluindo amostras de predição para um bloco atual, que é um bloco alvo de codificação, pode ser gerado. Aqui, o bloco predito inclui amostras de predição em um domínio de espaço (ou domínio de pixel). O bloco predito pode ser derivado identicamente no aparelho de codificação e no aparelho de decodificação, e o aparelho de codificação pode aumentar a eficiência de codificação de imagem ao sinalizar para o aparelho de decodificação não o valor de amostra original de um bloco original em si, mas informações sobre o resíduo (informações residuais) entre o bloco original e o bloco predito. O aparelho de decodificação pode derivar um bloco residual incluindo amostras residuais com base nas residual informações residuais, gerar um bloco reconstruído incluindo amostras reconstruídas ao adicionar o bloco residual ao bloco predito, e gerar uma gravura reconstruída incluindo blocos reconstruídos.
[085] As informações residuais podem ser geradas através de procedimentos de transformada e quantização. Por exemplo, o aparelho de codificação pode derivar um bloco residual entre o bloco original e o bloco predito, derivar coeficientes de transformada ao realizar um procedimento de transformada em amostras residuais (arranjo de amostras residuais) incluídas no bloco residual, e derivar coeficientes de transformada quantizados ao realizar procedimento de quantização nos coeficientes de transformada, de modo que possa sinalizar informações residuais associadas para o aparelho de decodificação (através de um fluxo de bits). Aqui, as informações residuais podem incluir informações, informações de posição, uma técnica de transformada, núcleo de transformada, um parâmetro de quantização ou similares dos coeficientes de transformada quantizados. O aparelho de decodificação pode realizar um procedimento de quantização/desquantização e derivar as amostras residuais (ou bloco de amostra residual) com base em informações residuais. O aparelho de decodificação pode gerar um bloco reconstruído com base em um bloco predito ou no bloco residual. O aparelho de codificação pode derivar um bloco residual ao desquantizar/transformar inversamente coeficientes de transformada quantizados para referência para interpredição de uma próxima gravura, e pode gerar uma gravura reconstruída com base nisso.
[086] A Figura 4 ilustra esquematicamente uma técnica de múltiplas transformadas de acordo com uma modalidade da presente revelação.
[087] Com referência à Figura 4, um transformador pode corresponder ao transformador no aparelho de codificação da Figura 2 supracitada, e um transformador inverso pode corresponder ao transformador inverso no aparelho de codificação da Figura 2 supracitada, ou ao transformador inverso no aparelho de decodificação da Figura 3.
[088] O transformador pode derivar coeficientes de transformada (primários) ao realizar uma transformada primária com base em amostras residuais (arranjos de amostras residuais) em um bloco residual (S410). Essa transformada primária pode ser referida como uma transformada de núcleo. No presente documento, a transformada primária pode ser com base em seleção de transformada múltipla (MTS), e quando uma múltipla transformada é aplicada como a transformada primária, pode ser referida como uma transformada de núcleo múltipla.
[089] A transformada de núcleo múltipla pode representar um método de transformação adicional com o uso de tipo 2 de transformada de cosseno discreta (DCT) e tipo 7 de transformada de seno discreta (DST), tipo 8 de DCT e/ou tipo 1 de DST. Ou seja, a transformada de núcleo múltipla pode representar um método de transformada de transformação de um sinal (ou bloco residual) de um domínio de espaço em coeficientes de transformada (ou coeficientes de transformada primários) de um domínio de frequência com base em uma pluralidade de núcleos de transformada selecionados dentre o tipo 2 de DCT, o tipo 7 de DST, o tipo 8 de DCT e o tipo 1 de DST. No presente documento, os coeficientes de transformada primárias podem ser denominados coeficientes de transformada temporários a partir do ponto de vista do transformador.
[090] Em outras palavras, quando o método de transformada convencional é aplicado, coeficientes de transformada podem ser gerados ao aplicar transformada de um domínio de espaço a um domínio de frequência para um sinal residual (ou bloco residual) com base no tipo 2 de DCT. Indiferentemente disso, quando a transformada de núcleo múltipla é aplicada, coeficientes de transformada (ou coeficientes de transformada primários) podem ser gerados ao aplicar a transformada de um domínio de espaço a um domínio de frequência para um sinal residual (ou bloco residual) com base no tipo 2 de DCT, no tipo 7 de DST, no tipo 8 de DCT e/ou no tipo 1 de DST. No presente documento, o tipo 2 de DCT, o tipo 7 de DST, o tipo 8 de DCT e o tipo 1 de DST podem ser denominados um tipo de transformada, núcleo de transformada ou núcleo de transformada.
[091] A título de referência, os tipos de transformada de DCT/DST podem ser definidos com base em funções básicas, e as funções básicas podem ser representadas como na seguinte tabela.
[092] Se a transformada de núcleo múltipla for realizada, então, um núcleo de transformada vertical e um núcleo de transformada horizontal para um bloco alvo podem ser selecionados dentre os núcleos de transformada, uma transformada vertical para o bloco alvo pode ser realizada com base no núcleo de transformada vertical, e uma transformada horizontal para o bloco alvo pode ser realizada com base no núcleo transformada horizontal. Aqui, a transformada horizontal pode representar uma transformada para componentes horizontais do bloco alvo, e a transformada vertical pode representar uma transformada para componentes verticais do bloco alvo. Os núcleo de transformada vertical/núcleo de transformada horizontal podem ser determinados adaptativamente com base em um modo de predição e/ou em um índice de transformada de um bloco alvo (CU ou sub-bloco) incluindo um bloco residual.
[093] Adicionalmente, de acordo com um exemplo, se a transformada primária for realizada ao aplicar a MTS, uma relação de mapeamento para núcleos de transformada pode ser definida ao definir funções básicas específicas para valores predeterminados e ao combinar funções básicas a serem aplicadas na transformada vertical ou na transformada horizontal. Por exemplo, quando o núcleo de transformada horizontal é expresso como trTypeHor e o núcleo de transformada de direção vertical é expresso como trTypeVer, um valor de trTypeHor ou trTypeVer de 0 pode ser definido para DCT2, um valor de trTypeHor ou trTypeVer de 1 pode ser definido para DST7 , e um valor de trTypeHor ou trTypeVer de 2 pode ser definido para DCT8.
[094] Nesse caso, informações de índice de MTS podem ser codificadas e sinalizadas para o aparelho de decodificação para indicar qualquer um dentre uma pluralidade de conjuntos de núcleos de transformada. Por exemplo, um índice de MTS de 0 pode indicar que valores tanto de trTypeHor quanto de trTypeVer são 0, um índice de MTS de 1 pode indicar que valores tanto de trTypeHor quanto de trTypeVer são 1, um índice de MTS de 2 pode indicar que valor de trTypeHor é 2 e o valor de trTypeVer é 1, um índice de MTS de 3 pode indicar que o valor de trTypeHor é 1 e o valor de trTypeVer é 2, e um índice de MTS de 4 pode indicar que valores tanto de trTypeHor quanto de trTypeVer são 2.
[095] O transformador pode derivar coeficientes de transformada modificados (secundários) ao realizar a transformada secundária com base nos coeficientes de transformada (primários) (S420). A transformada primária é uma transformada de um domínio espacial para um domínio de frequência, e a transformada secundária se refere à transformação em uma expressão mais compressiva ao usar uma correlação existente entre coeficientes de transformada (primários). A transformada secundária pode incluir uma transformada não separável. Nesse caso, a transformada secundária pode ser denominada uma transformada secundária não separável (NSST) ou uma transformada secundária não separável dependente de modo (MDNSST). A transformada secundária não separável pode representar uma transformada que gera coeficientes de transformada modificados (ou coeficientes de transformada secundários) para um sinal residual ao transformar de modo secundário, com base em uma matriz de transformada não separável, coeficientes de transformada (primários) derivados através da transformada primária. Nesse momento, a transformada vertical e a transformada horizontal podem não ser aplicadas separadamente (ou transformadas horizontais e verticais em não ser aplicadas independentemente) aos coeficientes de transformada (primários), mas as transformadas podem ser aplicadas uma vez com base na matriz de transformada não separável. Em outras palavras, a transformada secundária não separável pode representar um método de transformada no qual os componentes verticais e horizontais dos coeficientes de transformada (primários) não são separados, e, por exemplo, sinais bidimensionais (coeficientes de transformada) são redispostos para um sinal unidimensional através de uma certa direção (por exemplo, direção de primeira linha ou direção de primeira coluna), e, então, coeficientes de transformada modificados (ou coeficientes de transformada secundários) são gerados com base na matriz de transformada não separável. Por exemplo, de acordo com uma ordem de primeira linha, blocos MxN são dispostos em uma linha em uma ordem de uma primeira linha, de uma segunda linha, ... e de uma enésima linha. De acordo com uma ordem de primeira coluna, blocos MxN são dispostos em uma linha em uma ordem de uma primeira coluna, de um segunda coluna, . e de uma enésima coluna. A transformada secundária não separável pode ser aplicada a uma região esquerda superior de um bloco configurado com coeficientes de transformada (primários) (doravante no presente documento, pode ser referida como um bloco de coeficiente de transformada). Por exemplo, se a largura (W) e a altura (H) do bloco de coeficiente de transformada forem igual a ou maior que 8, uma transformada secundária não separável 8x8 pode ser aplicada a uma região 8x8 esquerda superior do bloco de coeficiente de transformada. Adicionalmente, se a largura (W) e a altura (H) do bloco de coeficiente de transformada forem todas iguais a ou maiores que 4, e a largura (W) ou a altura (H) do bloco de coeficiente de transformada for menor que 8, então, uma transformada secundária não separável 4x4 pode ser aplicada a uma região de min(8,W) x min(8,H) esquerda superior do bloco de coeficiente de transformada. Entretanto, a modalidade não se limita a isso, e, por exemplo, mesmo se apenas a condição de que a largura (W) ou altura (H) do bloco de coeficiente de transformada é igual a ou maior que 4 é satisfeita, a transformada secundária não separável 4x4 pode ser aplicada à região de min(8,W)xmin(8,H) esquerda superior do bloco de coeficiente de transformada.
[096] Especificamente, por exemplo, se um bloco de entrada 4x4 for usado, a transformada secundária não separável pode ser realizada conforme a seguir.
[097] O bloco de entrada 4x4 X pode ser representada conforme a seguir. [Equação 1]
[098] Se o X for representado na forma de um vetor, o vetor % pode ser representado conforme abaixo. [Equação 2]
[099] Na Equação 2, o vetor X é um vetor unidimensional obtido ao redispor o bloco bidimensional X da Equação 1 de acordo com a ordem de primeira linha.
[0100] Nesse caso, a transformada não separável secundária pode ser calculada conforme abaixo. [Equação 3]
[0101 ] Nessa equação, representa um vetor de coeficiente de transformada, e T representa uma matriz de transformada (não separável) 16x16.
[0102] Através da Equação 3 supracitada, um vetor F de coeficiente de transformada 16x1 pode ser derivado, e o F pode ser redisposto em um bloco 4x4 através de uma ordem de varredura (horizontal, vertical, diagonal e similares). Entretanto, o cálculo descrito acima é um exemplo, e a transformada hipercubo- Givens (HyGT) ou similares podem ser usadas para o cálculo da transformada secundária não separável a fim de reduzir a complexidade computacional da transformada secundária não separável.
[0103] Nesse ínterim, na transformada secundária não separável, um núcleo de transformada (ou núcleo de transformada, tipo de transformada) pode ser selecionado para ser dependente de modo. Nesse caso, o modo pode incluir o modo de intrapredição e/ou o modo de interpredição.
[0104] Conforme descrito acima, a transformada secundária não separável pode ser realizada com base em uma transformada 8x8 ou em uma transformada 4x4 determinadas com base na largura (W) e na altura (H) do bloco de coeficiente de transformada. A transformada 8x8 se refere a uma transformada que é aplicável a uma região 8x8 incluída no bloco de coeficiente de transformada quando tanto W quanto H são iguais a ou maiores que 8, e a região 8x8 pode ser uma região 8x8 esquerda superior no bloco de coeficiente de transformada. Similarmente, a transformada 4x4 se refere a uma transformada que é aplicável a uma região 4x4 incluída no bloco de coeficiente de transformada quando tanto W quanto H são iguais a ou maiores que 4, e a região 4x4 pode ser uma região 4x4 esquerda superior no bloco de coeficiente de transformada. . Por exemplo, uma matriz de núcleo de transformada 8x8 pode ser uma matriz 64x64/16x64, e uma matriz de núcleo de transformada 4x4 pode ser uma matriz 16x16/8x16.
[0105] Aqui, para selecionar um núcleo de transformada com base em modo, três núcleos de transformada secundária não separável podem ser configurados por conjunto de transformadas para a transformada secundária não separável tanto para a transformada 8x8 quanto para a transformada 4x4, e pode haver 35 conjuntos de transformadas. Ou seja, 35 conjuntos de transformadas podem ser configurados para a transformada 8x8, e 35 conjuntos de transformadas podem ser configurados para a transformada 4x4. Nesse caso, três núcleos 8x8 de transformada podem ser incluídas em cada um dos 35 conjuntos de transformadas para a transformada 8x8, e três núcleos de transformada 4x4 podem ser incluídos em cada um dos 35 conjuntos de transformadas para a transformada 4x4. Os tamanhos das transformadas, os números de conjuntos e os números de núcleos de transformada em cada conjunto mencionado acima são meramente ilustrativos. Em vez disso, um tamanho diferente de 8x8 ou 4x4 pode ser usado, n conjuntos podem ser configurados, e k núcleos de transformada podem ser incluídos em cada conjunto.
[0106] O conjunto de transformadas pode ser denominado um conjunto de NSSTs, e o núcleo de transformada no conjunto de NSSTs pode ser denominado um núcleo de NSST. A seleção de um conjunto específico dentre os conjuntos de transformadas pode ser realizada, por exemplo, com base no modo de intrapredição do bloco alvo (CU ou sub-bloco).
[0107] A título de referência, como um exemplo, o modo de intrapredição pode incluir modos de intrapredição não direcionais (ou não angulares) e 65 modos de intrapredição direcionais (ou angulares). Os modos de intrapredição não direcionais podem incluir um modo de intrapredição planar n° 0 e um modo de intrapredição de DC n° 1, e os modos de intrapredição direcionais podem incluir 65 modos de intrapredição entre um modo de intrapredição n° 2 e um modo de intrapredição n° 66. Entretanto, isso é um exemplo, e a presente revelação pode ser aplicada a um caso em que há diferentes números de modos de intrapredição. Nesse ínterim, de acordo com as circunstâncias, um modo de intrapredição n° 67 pode ser usado adicionalmente, e o modo de intrapredição n° 64 pode representar um modo de modelo linear (LM).
[0108] A Figura 5 ilustra modos intra direcionais de 65 direções de predição.
[0109] Com referência à Figura 5, com base no modo de intrapredição n° 34 que tem uma direção de predição diagonal ascendente esquerda, o modo de intrapredição que tem uma direcionalidade horizontal e o modo de intrapredição que tem direcionalidade vertical podem ser classificados. H e V da Figura 5 significa respectivamente direcionalidade horizontal e direcionalidade vertical, e os números - 32 a 32 indicam deslocamento em 1/32 unidades na posição de grade de amostra. Isso pode representar um deslocamento para o valor de índice de modo. Os modos de intrapredição n° 2 a 33 têm a direcionalidade horizontal, e os modos de intrapredição n° 34 a 66 têm a direcionalidade vertical. Nesse ínterim, em sentido estrito, o modo de intrapredição n° 34 pode ser considerado como sendo nem horizontal nem vertical, mas pode ser classificado como pertencente à direcionalidade horizontal em termos de determinação do conjunto de transformadas da transformada secundária. Isso ocorre devido ao fato de que os dados de entrada são transpostos para serem usados para a direção vertical simétrica à base do modo de intrapredição n° 34, e o método de alinhamento de dados de entrada para o modo horizontal é usado para o modo de intrapredição n° 34. A transposição de dados de entrada significa que fileiras e colunas de dados de bloco bidimensional MxN são comutadas em dados NxM. O modo de intrapredição n° 18 e o modo de intrapredição n° 50 podem representar respectivamente um modo de intrapredição horizontal e um modo de intrapredição vertical, e o modo de intrapredição n° 2 pode ser denominado um modo de intrapredição diagonal ascendente direito devido ao fato de que o mesmo tem um pixel de referência esquerdo e prediz uma direção ascendente direita. Da mesma maneira, o modo de intrapredição n° 34 pode ser denominado um modo de intrapredição diagonal descendente direito, e o modo de intrapredição n° 66 pode ser denominado um modo de intrapredição diagonal descendente esquerdo.
[0110] Nesse caso, o mapeamento entre os 35 conjuntos de transformadas e os modos de intrapredição pode ser, por exemplo, representado como na seguinte tabela. A título de referência, se um modo de LM for aplicado a um bloco alvo, a transformada secundária pode não ser aplicada ao bloco alvo.
[0111] Nesse ínterim, se um conjunto especificado for determinado para ser usado, um dentre k núcleos de transformada no conjunto específico pode ser selecionado através do índice de transformada secundária não separável. O aparelho de codificação pode derivar um índice de transformada secundária não separável indicando um núcleo de transformada específico com base na verificação de distorção de taxa (RD), e pode sinalizar o índice de transformada secundária não separável para o aparelho de decodificação. O aparelho de decodificação pode selecionar um dentre k núcleos de transformada no conjunto específico com base no índice de transformada secundária não separável. Por exemplo, o valor de índice de NSST 0 pode indicar um núcleo de transformada secundária não separável, o valor de índice de NSST 1 pode indicar um segundo núcleo de transformada secundária não separável, e o valor de índice de NSST 2 pode indicar um terceiro núcleo de transformada secundária não separável. Alternativamente, o valor de índice de NSST 0 pode indicar que a primeira transformada secundária não separável não é aplicada a um bloco alvo, e os valores de índice de NSST 1 a 3 podem indicar os três núcleos de transformada.
[0112] Referindo-se novamente à Figura 4, o transformador pode realizar a transformada secundária não separável com base nos núcleos de transformada selecionados, e pode obter coeficientes de transformada modificados (secundários). Conforme descrito acima, os coeficientes de transformada modificados podem ser derivados como coeficientes de transformada quantizados através do quantizador, e podem ser codificados e sinalizados para o aparelho de decodificação e transferidos para o desquantizador/transformador inverso no aparelho de codificação.
[0113] Nesse ínterim, conforme descrito acima, se a transformada secundária for omitida, coeficientes de transformada (primários) que são uma saída da transformada primária (separável) podem ser derivados como coeficientes de transformada quantizados através do quantizador conforme descrito acima, e podem ser codificados e sinalizados para o aparelho de decodificação e transferidos para o desquantizador/transformador inverso no aparelho de codificação.
[0114] O transformador inverso pode realizar uma série de procedimentos na ordem inversa àquela na qual a mesma foi realizada no transformador descrito acima. O transformador inverso pode receber transformador coeficientes (desquantizados), e derivar coeficientes de transformada (primários) ao realizar uma transformada secundária (inversa) (S450), e pode obter um bloco residual (amostras residuais) ao realizar uma transformada primária (inversa) nos coeficientes de transformada (primários) (S460). Nesse contexto, os coeficientes de transformada primários podem ser denominados coeficientes de transformada modificados a partir do ponto de vista do transformador inverso. Conforme descrito acima, o aparelho de codificação e o aparelho de decodificação pode gerar o bloco reconstruído com base no bloco residual e no bloco predito, e pode gerar a gravura reconstruída com base no bloco reconstruído.
[0115] O aparelho de decodificação pode incluir adicionalmente uma determinador de aplicação de transformada inversa secundária (ou um elemento para determinar se aplica uma transformada inversa secundária) e um determinador de transformada inversa secundária (ou um elemento para determinar uma transformada inversa secundária). O determinador de aplicação de transformada inversa secundária pode determinar se aplica uma transformada inversa secundária. Por exemplo, a transformada inversa secundária pode ser uma NSST ou um RST, e o determinador de aplicação de transformada inversa secundária pode determinar se aplica a transformada inversa secundária com base em um indicador de transformada secundária obtido por análise do fluxo de bits. Em outro exemplo, o determinador de aplicação de transformada inversa secundária pode determinar se aplica a transformada inversa secundária com base em um coeficiente de transformada de um bloco residual.
[0116] O determinador de transformada inversa secundária pode determinar uma transformada inversa secundária. Nesse caso, o determinador de transformada inversa secundária pode determinar a transformada inversa secundária aplicada ao bloco atual com base em um conjunto de transformadas NSSTs (ou RSTs) especificado de acordo com um modo de intrapredição . Em uma modalidade, um método de determinação de transformada secundária pode ser determinado dependendo de um método de determinação de transformada primária. Várias combinações de transformadas primárias e transformadas secundárias podem ser determinadas de acordo com o modo de intrapredição. Adicionalmente, em um exemplo, o determinador de transformada inversa secundária pode determinar uma região à qual uma transformada inversa secundária é aplicada com base no tamanho do bloco atual.
[0117] Nesse ínterim, conforme descrito acima, se a transformada secundária (inversa) for omitida, coeficientes de transformada (desquantizados) podem ser recebidos, a transformada inversa (separável) primária pode ser realizada, e o bloco residual (amostras residuais) pode ser obtido. Conforme descrito acima, o aparelho de codificação e o aparelho de decodificação pode gerar o bloco reconstruído com base no bloco residual e no bloco predito, e pode gerar a gravura reconstruída com base no bloco reconstruído.
[0118] Nesse ínterim, na presente revelação, uma transformada secundária reduzida (RST) na qual o tamanho de uma matriz de transformada (núcleo) é reduzido pode ser aplicada no conceito de NSST a fim de reduzir a quantidade de computação e memória exigida para a transformada secundária não separável.
[0119] Nesse ínterim, o núcleo de transformada, a matriz de transformada e o coeficiente que constituem a matriz de núcleo de transformada, ou seja, o coeficiente de núcleo ou o coeficiente de matriz descrito na presente revelação podem ser expressos em 8 bits. Isso pode ser uma condição para implementação no aparelho de decodificação e no aparelho de codificação, e pode reduzir a quantidade de memória exigida para armazenar o núcleo de transformada com uma degradação de desempenho que pode ser acomodada razoavelmente em comparação aos 9 bits ou 10 bits existentes. Além disso, a expressão da matriz de núcleo em 8 bits pode permitir que um multiplicador pequeno seja usado, e pode ser mais adequado para instruções de múltiplos dados de instrução única (SIMD) usadas para implementação de software ideal.
[0120] No presente relatório descritivo, o termo “RST" pode significar uma transformada que é realizada em amostras residuais para um bloco alvo com base em uma matriz de transformada cujo tamanho é reduzido de acordo com um fator reduzido. No caso de realização da transformada reduzida, a quantidade de computação exigida pode ser reduzida devido a uma redução no tamanho da matriz de transformada. Ou seja, a RST pode ser usada para abordar a questão de complexidade computacional que ocorre na transformada não separável ou a transformada de um bloco de tamanho grande.
[0121] RST pode ser referida como vários termos, como transformada reduzida, transformada secundária reduzida, transformada de redução, transformada simplificada, transformada simples e similares, e o nome que RST pode ser referido como não se limita aos exemplos listados. Alternativamente, uma vez que a RST é realizada principalmente em uma região de baixa frequência incluindo um coeficiente diferente de zero em um bloco de transformada, a mesma pode ser referida como uma Transformada Não Separável de Baixa Frequência (LFNST).
[0122] Nesse ínterim, quando a transformada inversa secundária é realizada com base em RST, o transformador inverso 235 do aparelho de codificação 200 e o transformador inverso 322 do aparelho de decodificação 300 podem incluir um transformador secundário reduzido inverso que deriva coeficientes de transformada modificados com base na RST inversa dos coeficientes de transformada, e um transformador primário inverso que deriva amostras residuais para o bloco alvo com base na transformada primária inversa dos coeficientes de transformada modificados. A transformada primária inversa se refere à transformada inversa da transformada primária aplicada ao resíduo. Na presente revelação, a derivação de um coeficiente de transformada com base em uma transformada pode se referir à derivação de um coeficiente de transformada ao aplicar a transformada.
[0123] A Figura 6 é um diagrama que ilustra uma RST de acordo com uma modalidade da presente revelação.
[0124] No presente relatório descritivo, o termo "bloco alvo" pode significar um bloco atual ou um bloco residual no qual a codificação é realizada.
[0125] Na RST de acordo com um exemplo, um vetor dimensional N pode ser mapeado para um vetor dimensional R localizado em outro espaço, de modo que a matriz de transformada reduzida possa ser determinada, em que R é menor que N. N pode significar o quadrado do comprimento de um lado de um bloco ao qual a transformada é aplicada, o número total de coeficientes de transformada correspondente a um bloco ao qual a transformada é aplicada, e o fator reduzido pode significar um valore de R/N. O fato reduzido pode ser referido como um fator reduzido, fator de redução, fator simplificado, fator simples ou outros vários termos. Nesse ínterim, R pode ser referido como um coeficiente reduzido, mas, de acordo com as circunstâncias, o fator reduzido pode significar R. Adicionalmente, de acordo com as circunstâncias, o fato reduzido pode significar o valor de N/R.
[0126] Em um exemplo, o fator reduzido ou o coeficiente reduzido pode ser sinalizado através de um fluxo de bits, mas o exemplo não se limita a isso. Por exemplo, um valor predefinido para o fator reduzido ou o coeficiente reduzido pode ser armazenado em cada um dentre o aparelho de codificação 200 e o aparelho de decodificação 300, e, nesse caso, o fator reduzido ou a coeficiente reduzido pode não ser sinalizado separadamente.
[0127] O tamanho da matriz de transformada reduzida de acordo com um exemplo pode ser RxN menor que NxN, o tamanho de uma matriz de transformada convencional, e pode ser definido como na Equação 4 abaixo.
[0128] A matriz T no bloco de Transformada Reduzida mostrado na Figura 6A pode significar a matriz TRxN da Equação 4. Conforme mostrado na Figura 6A, quando a matriz de transformada reduzida TRxN é multiplicada por amostras residuais para o bloco alvo, coeficientes de transformada para o bloco alvo podem ser derivados.
[0129] Em um exemplo, se o tamanho do bloco ao qual a transformada é aplicada é 8x8 e R =16 (isto é, R/N = 16/64 = 1/4), então, a RST de acordo com a Figura 6A pode ser expressa como uma operação de matriz conforme mostrado na Equação 5 abaixo. Nesse caso, o cálculo de memória e multiplicação pode ser reduzido para aproximadamente 1/4 pelo fator reduzido.
[0130] Nesse documento, a operação de matriz pode ser entendida como uma operação para obter um vetor de coluna ao multiplicar a matriz e vetor de coluna ao colocar a matriz no lado esquerdo do vetor de coluna. [Equação 5]
[0131] Na Equação 5, r1 a r64 podem representar amostras residuais para o bloco alvo e podem ser especificamente coeficientes de transformada gerado ao aplicar uma transformada primária. Como um resultado do cálculo da Equação 5, coeficientes de transformada ci para o bloco alvo podem ser derivados, e um processo de derivação ci pode ocorrer como na Equação 6. [Equação 6]
[0132] Como um resultado do cálculo de Equação 6, coeficientes de transformada c1 a cR para o bloco alvo podem ser derivados. Ou seja, quando R=16, coeficientes de transformada c1 a c16 para o bloco alvo podem ser derivados. Se, em vez de RST, uma transformada regular é aplicada e um tamanho de matriz de transformada de 64x64 (N x N) é multiplicado por tamanho de amostras residuais de 64x1 (Nx1), então, apenas 16 (R) coeficientes de transformada são derivados para o bloco alvo devido ao fato de que RST foi aplicada, apesar de 64 (N) coeficientes de transformada serem derivados para o bloco alvo. Uma vez que o número total de coeficientes de transformada para o bloco alvo é reduzido de N para R, a quantidade de dados transmitida pelo aparelho de codificação 200 para o aparelho de decodificação 300 diminui, assim, a eficiência de transmissão entre o aparelho de codificação 200 e o aparelho de decodificação 300 pode ser aprimorada.
[0133] Quando considerado a partir do ponto de vista do tamanho da matriz de transformada, o tamanho da matriz de transformada regular é 64x64 (NxN), mas o tamanho da matriz de transformada reduzida é reduzido para 16x64 (RxN), assim, o uso de memória em um caso de realização da RST pode ser reduzido por uma razão de R/N quando em comparação a um caso de realização da transformada regular. Além disso, quando em comparação ao número de cálculos de multiplicação NxN em um caso de uso da matriz de transformada regular, o uso da matriz de transformada reduzida pode reduzir o número de cálculos de multiplicação pela razão de R/N (RxN).
[0134] Em um exemplo, o transformador 232 do aparelho de codificação 200 pode derivar coeficientes de transformada para o bloco alvo ao realizar a transformada primária a transformada secundária com base em RST em amostras residuais para o bloco alvo. Esses coeficientes de transformada podem ser transferidos para o transformador inverso do aparelho de decodificação 300, e o transformador inverso 322 do aparelho de decodificação 300 pode derivar os coeficientes de transformada modificados com base na transformada secundária reduzida (RST) inversa para os coeficientes de transformada, e podem derivar amostras residuais para o bloco alvo com base na transformada primária inversa para os coeficientes de transformada modificados.
[0135] O tamanho da matriz inversa de RST TNxR de acordo com um exemplo é NxR menor que o tamanho NxN da matriz de transformada inversa regular, e, em uma relação de transposição com a matriz de transformada reduzida TRxN mostrada na Equação 4.
[0136] A matriz Tt no bloco de Transformada Inversa Reduzida mostrado na Figura 6B pode significar a matriz inversa de RST TRxNT (o T sobrescrito significa transposição). Quando a matriz inversa de RST TRxNT é multiplicada pelos coeficientes de transformada para o bloco alvo conforme mostrado na Figura 6B, os coeficientes de transformada modificados para o bloco alvo ou as amostras residuais para o bloco alvo podem ser derivados. A matriz inversa de RST TRxNT pode ser expressa como (TRxNT)NxR.
[0137] Mais especificamente, quando a RST inversa é aplicada como a transformada inversa secundária, os coeficientes de transformada modificados para o bloco alvo podem ser derivados quando a matriz inversa de RST TRxNT é multiplicada pelos coeficientes de transformada para o bloco alvo. Nesse ínterim, a RST inversa pode ser aplicada como a transformada primária inversa, e, nesse caso, as amostras residuais para o bloco alvo podem ser derivadas quando a matriz inversa de RST TRxNT é multiplicada pelos coeficientes de transformada para o bloco alvo.
[0138] Em um exemplo, se o tamanho do bloco ao qual a transformada inversa é aplicada é 8x8 e R =16 (isto é, R/N = 16/64 = 1/4), então, a RST de acordo com a Figura 6B pode ser expressa como uma operação de matriz conforme mostrado na Equação 7 abaixo. [Equação 7]
[0139] Na Equação 7, c1 a c16 pode representar os coeficientes de transformada para o bloco alvo. Como um resultado do cálculo da Equação 7, rj que representa os coeficientes de transformada modificados para o bloco alvo ou as amostras residuais para o bloco alvo pode ser derivado, e o processo de derivação de rj pode ocorrer como na Equação 8. [Equação 8]
[0140] Como um resultado do cálculo da Equação 8, r1 a rN que representam os coeficientes de transformada modificados para o bloco alvo ou as amostras residuais para o bloco alvo podem ser derivados. Quando considerado a partir do ponto de vista do tamanho da matriz de transformada inversa, o tamanho da matriz de transformada inversa regular é 64x64 (NxN), mas o tamanho da matriz de transformada inversa reduzida é reduzida para 64x16 (RxN), assim, o uso de memória em um caso de realização da RST inversa pode ser reduzido por uma razão de R/N quando em comparação com um caso de realização da transformada inversa regular. Além disso, em comparação ao número de cálculos de multiplicação NxN em um caso de uso da matriz de transformada inversa regular, o uso da matriz de transformada inversa reduzida pode reduzir o número de cálculos de multiplicação pela razão de R/N (NxR).
[0141] Uma configuração de conjunto de transformadas mostrada na Tabela 2 também pode ser aplicada a uma RST 8x8. Ou seja, a RST 8x8 pode ser aplicada de acordo com um conjunto de transformadas na Tabela 2. Uma vez que um conjunto de transformadas inclui duas ou três transformadas (núcleos) de acordo com um modo de intrapredição, o mesmo pode ser configurado para selecionar um até quatro transformadas incluindo aquela, em um caso em que nenhuma transformada secundária é aplicada. Em uma transformada em que nenhuma transformada secundária é aplicada, pode ser considerado aplicar uma matriz de identidade. Considerando que os índices 0, 1, 2 e 3 são atribuídos respectivamente às quatro transformadas (por exemplo, o índice 0 pode ser alocado para um caso em que uma matriz de identidade é aplicada, ou seja, um caso em que nenhuma transformada secundária é aplicada), um índice de NSST como um elemento de sintaxe pode ser sinalizado para cada bloco de coeficiente de transformada, designando, desse modo, uma transformada a ser aplicada. Ou seja, através do índice de NSST, é possível designar uma NSST 8x8 para um bloco 8x8 esquerdo superior e designar uma RST 8x8 em uma configuração de RST. A NSST 8x8 e a RST 8x8 se referem a transformadas aplicáveis a uma região 8x8 incluída no bloco de coeficiente de transformada quando tanto W quanto H do bloco alvo a serem transformados são iguais a ou maiores que 8, e a região 8x8 pode ser uma região 8x8 esquerda superior no bloco de coeficiente de transformada. Similarmente, uma NSST 4x4 e uma RST 4x4 se referem a transformadas aplicáveis a uma região 4x4 incluída no bloco de coeficiente de transformada quando tanto W quanto H do bloco alvo são iguais a ou maiores que 4, e a região 4x4 pode ser uma região 4x4 esquerda superior no bloco de coeficiente de transformada.
[0142] Se a RST 8x8 (direta) ilustrada na Equação 4 for aplicada, 16 coeficientes de transformada significativos são gerados. Assim, considera-se que 64 pedaços de dados de entrada que formam a região 8x8 são reduzidos em 16 pedaços de dados de saída, e apenas 1/4 da região é preenchida com coeficientes de transformada significativos da perspectiva de uma região bidimensional. Consequentemente, os 16 pedaços de dados de saída obtidos ao aplicar a RST8x8 direta podem preencher exemplificativamente a região esquerda superior (coeficientes de transformada 1 a 16, isto é., c1, c2, ..., c16 obtidos através da Equação 6) como bloco conforme mostrado na Figura 7 na ordem de varredura de direção diagonal de 1 a 16.
[0143] A Figura 7 é um diagrama que ilustra uma ordem de varredura de coeficiente de transformada de acordo com uma modalidade da presente revelação. Conforme descrito acima, quando a ordem de varredura direta inicia a partir de um primeiro coeficiente de transformada, a varredura reversa pode ser realizada em direções e ordens indicadas por setas mostradas na Figura 7 do 64° a 17° coeficientes de transformada na ordem de varredura direta.
[0144] Na Figura 7, região 4x4 esquerda superior é uma região de interesse (ROI) preenchida com coeficientes de transformada significativos, e a região restante está vazia. A região vazia pode ser preenchida com 0s por padrão.
[0145] Ou seja, quando uma RST 8x8 com uma matriz de transformada direta 16x64 é aplicada à região 8x8, coeficientes de transformada de saída podem dispostos na região 4x4 esquerda superior, e a região onde nenhum coeficiente de transformada de saída existe pode ser preenchida com 0s (do 64° ao 17° coeficientes de transformada) de acordo com a ordem de varredura da Figura 7.
[0146] Se um coeficiente de transformada significativo diferente de zero for encontrada fora da ROI da Figura 7, é certo que a RST 8x8 foi aplicada, e, assim, a codificação de índice de NSST pode ser omitida. Em contrapartida, se um coeficiente de transformada diferente de zero não for encontrado fora da ROI da Figura 7 (por exemplo, se um coeficiente de transformada for definido como 0 em uma região diferente da ROI em um caso em que a RST 8x8 é aplicada), a RST 8x8 é provável de ter sido aplicada, e, assim, a codificação de índice de NSST pode ser realizada. Essa codificação de índice de NSST condicional pode ser realizada após um processo de codificação residual devido ao fato de que é necessário verificar a presença ou ausência de um coeficiente de transformada diferente de zero.
[0147] A presente revelação revela métodos para otimizar um projeto e uma associação de uma RST que pode ser aplicada a um bloco 4x4 de uma estrutura de RST descrita nessa modalidade. Alguns conceitos podem ser aplicados não apenas a uma RST 4x4, mas também a uma RST 8x8 ou a outros tipos de transformadas.
[0148] A Figura 8 é um fluxograma que ilustra um processo de RST inversa de acordo com uma modalidade da presente revelação.
[0149] Cada operação revelada na Figura 8 pode ser realizada pelo aparelho de decodificação 300 ilustrado na Figura 3. Especificamente, S800 pode ser realizada pelos desquantizador 321 ilustrado na Figura 3, e S810 e S820 podem ser operados pelo transformador inverso 322 ilustrado na Figura 3. Portanto, uma descrição de detalhes específicos que se sobrepõem àqueles explicados acima com referência à Figura 3 será omitida ou será feita brevemente. Na presente revelação, uma RST pode ser aplicada a uma transformada em uma direção direta, e uma RST inversa pode significar uma transformada aplicada a uma direção inversa.
[0150] Em uma modalidade, as operações específicas de acordo com a RST inversa podem ser diferentes das operações específicas de acordo com a RST apenas em que suas ordens de operação são opostas entre si, e as operações específicas de acordo com a RST inversa podem ser substancialmente similares às operações específicas de acordo com a RST. Consequentemente, um elemento versado na técnica entenderá prontamente que as descrições de S800 a S820 para a RST inversa descrita abaixo podem ser aplicadas à RST da mesma maneira ou de maneira similar.
[0151] O aparelho de decodificação 300 de acordo com uma modalidade pode derivar os coeficientes de transformada ao realizar desquantização nos coeficientes de transformada quantizados para o bloco alvo (S800).
[0152] O aparelho de decodificação 300 pode determinar se aplica uma transformada secundária inversa após uma transformada primária inversa e antes da transformada secundária inversa. Por exemplo, a transformada secundária inversa pode ser uma NSST ou uma RST. Por exemplo, o aparelho de decodificação pode determinar se aplicar a transformada secundária inversa com base em um indicador de transformada secundária analisado a partir de um fluxo de bits. Em outro exemplo, o aparelho de decodificação pode determinar se aplicada a transformada secundária inversa com base em um coeficiente de transformada de um bloco residual.
[0153] O aparelho de decodificação 300 pode determinar uma transformada secundária inversa. Nesse caso, o aparelho de decodificação 300 pode determinar a transformada inversa secundária aplicada ao bloco atual com base em um conjunto de transformadas de NSST (ou RST) especificado de acordo com um modo de intrapredição. Em uma modalidade, um método de determinação de transformada secundária pode ser determinado dependendo de um método de determinação de transformada primária. Por exemplo, pode ser determinado aplicar uma RST ou LFNST apenas quando DCT-2 é aplicado como um núcleo de transformada na transformada primária. Alternativamente, várias combinações de transformadas primárias e transformadas secundárias podem ser determinadas de acordo com o modo de intrapredição.
[0154] Adicionalmente, em um exemplo, o aparelho de decodificação 300 pode determinar uma região à qual a transformada secundária inversa é aplicada com base no tamanho do bloco atual antes de determinar a transformada secundária inversa.
[0155] O aparelho de decodificação 300 de acordo com uma modalidade pode selecionar um núcleo de transformada (S810). Mais especificamente, o aparelho de decodificação 300 pode selecionar o núcleo de transformada com base em pelo menos uma dentre informações sobre um índice de transformada, uma largura e altura de uma região à qual a transformada é aplicada, um modo de intrapredição usado em decodificação de imagem e um componente de cor para o bloco alvo. Entretanto, o exemplo não se limita a isso, e, por exemplo, o núcleo de transformada pode ser predefinido, e informações separadas para selecionar o núcleo de transformada podem não ser sinalizadas.
[0156] Em um exemplo, informações sobre o componente de cor do bloco alvo podem ser indicadas através de CIdx. Se o bloco alvo for um bloco de luminância, CIdx pode indicar 0, e se o bloco alvo for um bloco de croma, por exemplo, um bloco Cb ou um bloco Cr, então, CIdx pode indicar um valor diferente de zero (por exemplo, 1).
[0157] O aparelho de decodificação 300 de acordo com uma modalidade pode aplicar a RST inversa a coeficientes de transformada com base no núcleo de transformada selecionado e no fator reduzido (S820).
[0158] Doravante no presente documento, é proposto um método para determinar um conjunto de NSSTs secundárias, ou seja, um conjunto de transformadas secundárias ou um conjunto de transformadas, tendo em vista um modo de intrapredição e o tamanho de um bloco de acordo com uma modalidade da presente revelação.
[0159] Em uma modalidade, um conjunto para um bloco de transformada atual pode ser configurado com base no modo de intrapredição descrito acima, aplicando, desse modo, um conjunto de transformadas incluindo núcleos de transformada que têm vários tamanhos ao bloco de transformada. Os conjuntos de transformada na Tabela 3 são expressos com o uso de 0 a 3 como Tabela 4.
[0160] Os índices 0, 2, 18 e 34 ilustrados na Tabela 3 correspondem respectivamente a 0, 1, 2 e 3 na Tabela 4. Na Tabela 3 e na Tabela 4, apenas quatro conjuntos de transformadas são usadas em vez de 35 conjuntos de transformadas, reduzindo significativamente, desse modo, o espaço de memória.
[0161] Vários números de matrizes de núcleo de transformada que podem ser incluídos em cada conjunto de transformadas podem ser definidos conforme mostrado nas seguintes tabelas.
[0162] De acordo com a Tabela 5, dois núcleos de transformada disponíveis são usados para cada conjunto de transformadas, e, consequentemente, um índice de transformada varia de 0 a 2.
[0163] De acordo com a Tabela 6, dois núcleos de transformada disponíveis são usados para o conjunto de transformadas 0, ou seja, um conjunto de transformadas de acordo com um modo DC e um modo planar entre modos de intrapredição, e um núcleo de transformada é usado para cada um dos conjuntos de transformadas restantes. Aqui, um índice de transformada disponível para o conjunto de transformadas 1 varia de 0 a 2, e um índice de transformada para os conjuntos de transformadas restantes 1 a 3 varia de 0 a 1.
[0164] De acordo com a Tabela 7, um núcleo de transformada disponível é usado para cada conjunto de transformadas, e, consequentemente, um índice de transformada varia de 0 a 1.
[0165] No mapeamento de conjunto de transformadas da Tabela 3, um total de quatro conjuntos de transformadas pode ser usado, e os quatro conjuntos de transformadas podem ser redispostos para serem distinguidos por índices 0, 1, 2 e 3 conforme mostrado na Tabela 4. A Tabela 8 e a Tabela 9 ilustram quatro conjuntos de transformadas disponíveis para transformada secundária, em que a Tabela 8 apresenta matrizes de núcleo de transformada aplicáveis a um bloco 8x8, e a Tabela 9 apresenta matrizes de núcleo de transformada aplicáveis a um bloco 4x4. A Tabela 8 e a Tabela 9 incluem duas matrizes de núcleo de transformada por conjunto de transformadas, e duas matrizes de núcleo de transformada podem ser aplicadas a todos os modos de intrapredição conforme mostrado na Tabela 5.
[0166] Todas as matrizes de núcleo de transformada ilustradas mostradas na Tabela 8 são matrizes de núcleo de transformada multiplicadas por 128 como um valor de escala. Em um arranjo g_aiNsst8x8[N1][N2][16][64] presente em arranjo de matrizes da Tabela 8, N1 denota o número de conjuntos de transformadas(N1 é 4 ou 35, distinguido por índice 0, 1,... e N1-1), N2 denota o número (1 ou 2) de matrizes de núcleo de transformada incluído em cada conjunto de transformadas, e [16][64] denota uma transformada secundária reduzida (RST) 16x64.
[0167] Conforme mostrado na Tabela 3 e na Tabela 4, quando um conjunto de transformadas inclui uma matriz de núcleo de transformada, uma primeira matriz de núcleo de transformada ou uma segunda matriz de núcleo de transformada pode ser usada para o conjunto de transformadas na Tabela 8.
[0168] Embora 16 coeficientes de transformada sejam emitidos quando a RST é aplicada, apenas m coeficientes de transformada podem ser emitidos quando apenas uma porção mx64 de uma matriz 16x64 é aplicada. Por exemplo, quando apenas oito coeficientes de transformada são emitidos ao definir m=8 e multiplicar apenas uma matriz 8x64 a partir do topo, é possível reduzir quantidade computacional pela metade. Para reduzir quantidade computacional em um caso pior, uma matriz 8x64 pode ser aplicada a uma unidade de transformada 8x8 (TU).
[0169] Uma matriz de transformada mx64 aplicável a uma região 8x8 (m < 16, por exemplo, as matrizes de núcleo de transformada na Tabela 8) recebe 64 pedaços de dados e gera m coeficientes. Ou seja, conforme mostrado na Equação 5, quando os 64 pedaços de dados de um vetor 64x1, um vetor mx1 é gerado ao multiplicar sequencialmente uma matriz mx64 e um vetor 64x1. Aqui, os 64 pedaços de dados que formam a região 8x8 podem ser dispostos apropriadamente para formar um vetor 64x1. Por exemplo, conforme mostrado na Tabela 10, os dados podem ser redispostos na ordem de índices indicada nas respectivas posições na região 8x8.
[0170] Conforme mostrado na Tabela 10, os dados são dispostos na direção de primeira linha na região 8x8 para uma transformada secundária. Essa ordem se refere a uma ordem na qual dados bidimensionais são dispostos unidimensionalmente para uma a transformada secundária, especificamente, uma RST ou uma LFNST, e pode ser aplicada a uma transformada secundária direta realizada em um aparelho de codificação. Consequentemente, em uma transformada secundária inversa realizada pelo transformador inverso do aparelho de codificação ou pelo transformador inverso do aparelho de decodificação, coeficientes de transformada gerados como um resultado da transformada, ou seja, coeficientes de transformada primários podem ser dispostos bidimensionalmente conforme mostrado na Tabela 10.
[0171] Quando há 67 modos de intrapredição conforme mostrado na Figura 5, todos os modos direcionais (modo 2 ao modo 66) são configurados simetricamente ao redor do modo 34. Ou seja, o modo (2+n) é simétrico ao modo (66-n) (0 < n < 31) ao redor do modo 34 em termos de direção de predição. Portanto, se uma ordem de disposição de dados para configurar um vetor de entrada 64 x1 para o modo (2+n), ou seja, modos 2 a 33, corresponder à direção de primeira linha conforme mostrado na Tabela 10, um vetor de entrada 64x1 para o modo (66-n) pode ser configurado em uma ordem mostrada na Tabela 11.
[0172] Conforme mostrado na Tabela 11, os dados são dispostos na direção de primeira coluna na região 8x8 para uma transformada secundária. Essa ordem se refere a uma ordem na qual dados bidimensionais são dispostos unidimensionalmente para uma a transformada secundária, especificamente, uma RST ou uma LFNST, e pode ser aplicada a uma transformada secundária direta realizada em um aparelho de codificação. Consequentemente, em uma transformada secundária inversa realizada pelo transformador inverso do aparelho de codificação ou pelo transformador inverso do aparelho de decodificação, coeficientes de transformada gerados como um resultado da transformada, ou seja, coeficientes de transformada primários podem ser dispostos bidimensionalmente conforme mostrado na Tabela 11.
[0173] A Tabela 11 mostra que, para o modo de intrapredição (66-n), ou seja, para os modos 35 a 66, um vetor de entrada 64x1 pode ser configurado de acordo com a direção de primeira coluna.
[0174] Em suma, a mesma matriz de núcleo de transformada mostrada na Tabela 8 pode ser aplicada enquanto dispõe simetricamente dados de entrada para o modo (2+n) de acordo com a direção de primeira linha e dados de entrada para o modo (66-n) (0<n<31) de acordo com a direção de primeira coluna. Uma matriz de núcleo de transformada a ser aplicada em cada modo é mostrada na Tabela 5 à Tabela 7. Aqui, a ordem de disposição mostrada na Tabela 10 ou a ordem de disposição mostrada na Tabela 11 pode ser aplicada para o modo planar de modo de intrapredição 0, o modo DC do modo de intrapredição 1 e o modo de intrapredição 34. Por exemplo, para o modo de intrapredição 34, dados de entrada podem ser dispostos de acordo com a direção de primeira linha conforme mostrado na Tabela 10.
[0175] De acordo com outro exemplo, todas as matrizes de núcleo de transformada ilustrativas mostradas na Tabela 9 aplicáveis a uma região 4x4 são matrizes de núcleo de transformada multiplicadas por 128 como um valor de escala. Em um arranjo de g_aiNsst4x4[N1][N2][16][64] presente em arranjos de matrizes da Tabela 9, N1 denota o número de conjuntos de transformadas (N1 é 4 ou 35 distinguidos por índice 0, 1,... e N1-1), N2 denota o número (1 ou 2) de matrizes de núcleo de transformada incluído em cada conjunto de transformadas, e [16][16] denota uma transformada 16x16.
[0176] Conforme mostrado na Tabela 3 e na Tabela 4, quando um conjunto de transformadas inclui uma matriz de núcleo de transformada, uma primeira matriz de núcleo de transformada ou uma segunda matriz de núcleo de transformada pode ser usada para o conjunto de transformadas na Tabela 9.
[0177] Como na RST 8x8, apenas m coeficientes de transformada podem ser emitidos quando apenas uma porção mx16 de uma matriz 16x16 é aplicada. Por exemplo, quando apenas oito coeficientes de transformada são emitidos ao definir m=8 e multiplicar apenas uma matriz 8x16 a partir do topo, é possível reduzir quantidade computacional pela metade. Para reduzir quantidade computacional em um caso pior, uma matriz 8x16 pode ser aplicada a uma unidade de transformada 4x4 (TU).
[0178] Basicamente, as matrizes de núcleo de transformada aplicáveis a uma região 4x4, apresentadas na Tabela 9, podem ser aplicadas a uma TU 4x4, a uma TU 4xM e a uma TU Mx4 (M>4, a TU 4xM e a TU Mx4 podem ser divididas em regiões 4x4, às quais cada matriz de núcleo de transformada designada pode ser aplicada, ou as matrizes de núcleo de transformada podem ser aplicadas apenas em uma região a 4x8 ou 8x4 esquerda superior) ou podem ser aplicadas apenas a uma região 4x4 esquerda superior. Se a transformada secundária for configurado para ser aplicada apenas à região 4x4 esquerda superior, as matrizes de núcleo de transformada aplicáveis a uma região 8x8 mostrada na Tabela 8 podem ser desnecessárias.
[0179] Uma matriz de transformada mx16 aplicável a uma região 4x4 (m < 16, por exemplo, as matrizes de núcleo de transformada na Tabela 4) recebe 16 pedaços de dados e gera m coeficientes. Ou seja, quando os 16 pedaços de dados foram um vetor 16x1, um vetor mx1 é gerado ao multiplicar sequencialmente uma matriz mx16 e um vetor 16x1. Aqui, os 16 pedaços de dados que formam a região 4x4 podem ser dispostos apropriadamente para formar um vetor 16x1. Por exemplo, conforme mostrado na Tabela 12, os dados podem ser dispostos na ordem de índices indicada nas respectivas posições na região 4x4.
[0180] Conforme mostrado na Tabela 12, os dados são dispostos na direção de primeira linha na região 4x4 para uma transformada secundária. Essa ordem se refere a uma ordem na qual dados bidimensionais são dispostos unidimensionalmente para uma a transformada secundária, especificamente, uma RST ou uma LFNST, e pode ser aplicada a uma transformada secundária direta realizada em um aparelho de codificação. Consequentemente, em uma transformada secundária inversa realizada pelo transformador inverso do aparelho de codificação ou pelo transformador inverso do aparelho de decodificação, coeficientes de transformada gerados como um resultado da transformada, ou seja, coeficientes de transformada primários podem ser dispostos bidimensionalmente conforme mostrado na Tabela 12.
[0181] Quando há 67 modos de intrapredição conforme mostrado na Figura 5, todos os modos direcionais (modo 2 ao modo 66) são configurados simetricamente ao redor do modo 34. Ou seja, o modo (2+n) é simétrico ao modo (66-n) (0 < n < 31) ao redor do modo 34 em termos de direção de predição. Portanto, se uma ordem de disposição de dados para configurar um vetor de entrada 16 x1 para o modo (2+n), ou seja, modos 2 a 33, corresponder à direção de primeira linha conforme mostrado na Tabela 12, um vetor de entrada 64x1 para o modo (66-n) pode ser configurado em uma ordem mostrada na Tabela 13.
[0182] Conforme mostrado na Tabela 13, os dados são dispostos na direção de primeira coluna na região 4x4 para uma transformada secundária. Essa ordem se refere a uma ordem na qual dados bidimensionais são dispostos unidimensionalmente para uma a transformada secundária, especificamente, uma RST ou uma LFNST, e pode ser aplicada a uma transformada secundária direta realizada em um aparelho de codificação. Consequentemente, em uma transformada secundária inversa realizada pelo transformador inverso do aparelho de codificação ou pelo transformador inverso do aparelho de decodificação, coeficientes de transformada gerados como um resultado da transformada, ou seja, coeficientes de transformada primários podem ser dispostos bidimensionalmente conforme mostrado na Tabela 13.
[0183] A Tabela 13 mostrada que, para o modo de intrapredição (66-n), ou seja, para os modos 35 a 66, um vetor de entrada 16x1 pode ser configurado de acordo com a direção de primeira coluna.
[0184] Em suma, as matrizes de núcleo de transformada mostrada na Tabela 9 pode ser aplicada enquanto dispõe simetricamente dados de entrada para o modo (2+n) de acordo com a direção de primeira linha e dados de entrada para o modo (66- n) (0<n<31) de acordo com a direção de primeira coluna. Uma matriz de núcleo de transformada a ser aplicada em cada modo é mostrada na Tabela 5 à Tabela 7. Aqui, a ordem de disposição mostrada na Tabela 12 ou a ordem de disposição mostrada na Tabela 13 pode ser aplicada para o modo planar de modo de intrapredição 0, o modo DC do modo de intrapredição 1 e o modo de intrapredição 34. Por exemplo, para o modo de intrapredição 34, dados de entrada podem ser dispostos de acordo com a direção de primeira linha conforme mostrado na Tabela 12.
[0185] Por outro lado, de acordo com outra modalidade deste documento, para 64 pedaços de dados que formam uma região 8x8, não a matriz de núcleo de transformada 16x64 máximo nas Tabelas 8 e 9, mas um máximo de matriz de núcleo 16x48 pode ser aplicado ao selecionar apenas 48 pedaços de dados. Aqui, “máximo” significa que o valor máximo de m é 16 para uma matriz de núcleo de transformada mx48 que tem capacidade de gerar m coeficientes.
[0186] Uma matriz de núcleo de transformada 16x48 de acordo com a presente modalidade pode ser representada conforme mostrado na Tabela 14.
[0187] Quando a RST é realizada ao aplicar uma matriz de transformada mx48 (m<16) a uma região 8x8,64 pedaços de dados são inseridos e m coeficientes podem ser gerados. A Tabela 14 mostra um exemplo de uma matriz de núcleo de transformada quando m é 16, e 48 pedaços de dados são inseridos e 16 coeficientes são gerados. Ou seja, considerando que 48 peças de dados formam um vetor 48x1, um vetor 16x1 pode ser gerado ao multiplicar sequencialmente uma matriz 16x48 e um vetor 48x1. Nesse momento, 48 pedaços de dados que formam uma região 8x8 podem ser dispostos apropriadamente para formar um vetor 48x1, e os dados de entrada podem ser dispostos na seguinte ordem.
[0188] Quando a RST é realizada, conforme mostrado na Tabela 14, quando uma operação de matriz é realizada ao aplicar uma matriz de núcleo de transformada 16x48 máxima, 16 coeficientes de transformada modificados são gerados, os 16 coeficientes de transformada modificados podem ser gerados na região 4x4 esquerda superior de acordo com a ordem de varredura, e a região 4x4 direita superior e a região 4x4 esquerda inferior podem ser preenchidas com zeros. A Tabela 16 mostra um exemplo da ordem de disposição de 16 coeficientes de transformada modificados gerados através da operação de matriz.
[0189] Conforme mostrado na Tabela 16, o coeficiente de transformada modificado gerado quando a matriz de núcleo de transformada 16x48 máxima é aplicada pode ser preenchido na região 4x4 esquerda superior de acordo com a ordem de varredura. Nesse caso, o número de cada posição na região 4x4 esquerda superior indica a ordem de varredura. Tipicamente, o coeficiente gerado a partir de uma operação de produto interno da linha mais superior da matriz de núcleo de transformada 16x48 e o vetor de coluna de entrada 48x1 é o primeiro na ordem de varredura. Nesse caso, a direção de descida para a linha de fundo e a ordem de varredura podem corresponder. Por exemplo, um coeficiente gerado a partir da operação de produto interno entre um vetor de coluna de entrada 48x1 e uma enésima linha do topo se torna o enésimo na ordem de varredura.
[0190] No caso da matriz de núcleo de transformada 16x48 máxima, a região 4x4 na direita superior da Tabela 16 é a área à qual a transformação secundária não é aplicada, assim, os dados de entrada originais (coeficiente de transformada primário) são preservados, e a região 4x4 na região 4x4 direita superior e na região 4x4 esquerda inferior será preenchida com zeros.
[0191] Além disso, de acordo com outra modalidade, uma ordem de varredura diferente da ordem de varredura mostrada na Tabela 16 também pode ser aplicada. Por exemplo, uma direção de primeira linha ou uma direção de primeira coluna pode ser aplicada como uma ordem de varredura.
[0192] Além disso, mesmo se a matriz de núcleo de transformada 16x64 mostrada na Tabela 8 for aplicada, 16 coeficientes de transformada são gerados igualmente, assim, os 16 coeficientes de transformada podem ser dispostos na ordem de varredura mostrada na Tabela 16 e, no caso de aplicação da matriz de núcleo de transformada 16x64, uma vez que a operação de matriz é realizada com o uso de todos os 64 dados de entrada em vez de 48, zeros são preenchidos em todas as regiões 4x4 exceto a região 4x4 direita superior . Ademais nesse caso, a ordem de varredura na direção diagonal conforme mostrado na Tabela 16 pode ser aplicada, e outra ordem de varredura, como a direção de primeira linha ou a direção de primeira coluna é aplicada.
[0193] Por outro lado, quando RST inversa ou LFNST é realizada como um processo de transformação inversa realizado pelo aparelho de decodificação, os dados de coeficiente de entrada aos quais a RST inversa é aplicada são compostos de um vetor 1-D de acordo com a ordem de disposição da Tabela 16, e o vetor de coeficiente modificado obtido ao multiplicar o vetor 1D e a matriz de inversa de RST correspondente da esquerda pode ser disposta em um 2D bloco de acordo com a ordem de disposição na Tabela 15.
[0194] A fim de derivar o coeficiente de transformada, o aparelho de decodificação pode dispor primeiramente informações sobre os coeficiente de transformada recebidos de acordo com a ordem de varredura reversa, ou seja, a ordem de varredura diagonal a partir de 64 na Figura 7.
[0195] Então, a unidade de transformada inversa 322 do aparelho de decodificação pode aplicar a matriz de núcleo de transformada a coeficientes de transformada dispostos em uma dimensão de acordo com a ordem de varredura na Tabela 16. Ou seja, 48 coeficientes de transformada modificados podem ser derivados através da operação de matriz entre os coeficientes de transformada unidimensionais dispostos de acordo com a ordem de varredura na Tabela 16 e a matriz de núcleo de transformada com base na matriz de núcleo de transformada na Tabela 14. Ou seja, os coeficientes de transformada unidimensionais podem ser derivados nos 48 coeficientes de transformada modificados através da operação de matriz com uma matriz na qual a matriz de núcleo de transformada na Tabela 14 é transposta.
[0196] Os 48 coeficientes de transformada modificados derivados dessa forma podem ser dispostos em duas dimensões conforme mostrado na Tabela 15 para a transformada primária inversa.
[0197] Em suma, no processo de transformação, quando RST ou LFNST é aplicada à região 8x8, a operação de transformada é realizada entre 48 coeficientes de transformada entre os coeficientes de transformada da região 8x8 nas regiões esquerda superior, direita superior e esquerda inferior da região 8x8 excluindo a região direita superior da região 8x8 e o núcleo de matriz de transformada 16x48. Para a operação de matriz, 48 coeficientes de transformada são inseridos em um arranjo unidimensional na ordem mostrada na Tabela 15. Quando tal operação de matriz é realizada, 16 coeficientes de transformada modificados são derivados, e os coeficientes de transformada modificados podem ser dispostos na forma mostrada na Tabela 16 na região esquerda superior da região 8x8.
[0198] Por outro lado, no processo de conversão inversa, quando RST inversa ou LFNST é aplicada à região 8x8, 16 coeficientes de transformada correspondentes à esquerda superior da região 8x8 dentre os coeficientes de transformada da região 8x8 são inseridos em uma forma de arranjo unidimensional de acordo com a ordem de varredura mostrada na Tabela 16, de modo que a operação de transformada seja realizada entre a matriz de núcleo de transformada 48x16 e os 16 coeficientes de transformada. Ou seja, a operação de matriz nesse caso pode ser expressa como (matriz 48x16) * (vetor de coeficiente de transformada 16x1) = (vetor de coeficiente de transformada modificado 48x1). Aqui, uma vez que o vetor nx1 pode ser interpretado no mesmo significado que a matriz nx1, o mesmo pode ser expresso como um vetor de coluna nx1. Ademais, * significa operação de multiplicação de matriz. Quando tal operação de matriz é realizada, os 48 coeficientes de transformada modificados podem ser derivados, e os 48 coeficientes de transformada modificados podem ser dispostos nas regiões esquerda superior, direita superior e esquerda inferior excluindo a região direita inferior da região 8x8 conforme mostrado na Tabela 15.
[0199] Nesse ínterim, de acordo com uma modalidade, conforme mostrado na Tabela 15, a disposição de dados em uma região 8x8 para a transformação secundária está em ordem de primeira linha. Quando há 67 modos de intrapredição conforme mostrado na Figura 5, todos os modos direcionais (modo 2 ao modo 66) são configurados simetricamente ao redor do modo 34. Ou seja, o modo (2+n) é simétrico ao modo (66-n) (0 < n < 31) ao redor do modo 34 em termos de direção de predição. Portanto, se uma ordem de disposição de dados para configurar um vetor de entrada 48 x1 para o modo (2+n), ou seja, modos 2 a 33, corresponder à direção de primeira linha conforme mostrado na Tabela 15, um vetor de entrada 48x1 para o modo (66-n) pode ser configurado em uma ordem mostrada na Tabela 17.
[0200] Conforme mostrado na Tabela 11, os dados são dispostos na direção de primeira coluna na região 8x8 para uma transformada secundária. A Tabela 17 mostrada que, para o modo de intrapredição (66-n), ou seja, para os modos 35 a 66, um vetor de entrada 48x1 pode ser configurado de acordo com a direção de primeira coluna.
[0201] Em suma, a mesma matriz de núcleo de transformada mostrada na Tabela 14 pode ser aplicada enquanto dispõe simetricamente dados de entrada para o modo (2+n) de acordo com a direção de primeira linha e dados de entrada para o modo (66-n) (0<n<31) de acordo com a direção de primeira coluna. Uma matriz de núcleo de transformada a ser aplicada em cada modo é mostrada na Tabela 5 à Tabela 7.
[0202] Aqui, a ordem de disposição mostrada na Tabela 15 ou a ordem de disposição mostrada na Tabela 17 pode ser aplicada para o modo planar de modo de intrapredição 0, o modo DC do modo de intrapredição 1 e o modo de intrapredição 34. Por exemplo, para o modo planar do modo de intrapredição 0, o modo DC do modo de intrapredição 1 e o modo de intrapredição 34, dados de entrada podem ser dispostos de acordo com a direção de primeira linha conforme mostrado na Tabela 15 e a ordem de disposição mostrada na Tabela 16 pode ser aplicada aos coeficientes de transformada derivadas. Alternativamente, para o modo planar do modo de intrapredição 0, o modo DC do modo de intrapredição 1 e o modo de intrapredição 34, dados de entrada podem ser dispostos de acordo com a direção de primeira coluna conforme mostrado na Tabela 17 e a ordem de disposição mostrada na Tabela 16 pode ser aplicada aos coeficientes de transformada derivadas.
[0203] Conforme descrito acima, quando a matriz de núcleo de transformada 16x48 da Tabela 14 é aplicada à transformação secundária, a região 4x4 direita superior e a região 4x4 esquerda inferior da região 8x8 são preenchidas com zeros conforme mostrado na Tabela 16. Quando uma matriz de núcleo de transformada mx48 é aplicada à transformada secundária (m<16), não apenas a região 4x4 direita superior e a região 4x4 esquerda inferior, mas também da (m+1 )ésima à 16a na ordem de varredura mostrada na Tabela 16 podem ser preenchidas com zeros.
[0204] Portanto, se há qualquer coeficiente de transformada diferente de zero da (m+1)ésima à 16a posição na ordem de varredura ou na região 4x4 direita superior ou na região 4x4 esquerda inferior, pode ser considerado que a transformada secundária mx48 é (m<16) não é aplicada. Nesse caso, o índice para a transformação secundária pode não ser sinalizado. O aparelho de decodificação analisa primeiramente o coeficiente de transformada e verifica se a condição correspondente (ou seja, se um coeficiente de transformada diferente de zero existir na região em que o coeficiente de transformada deve ser 0) é satisfeita e, se for satisfeita, o aparelho de decodificação pode inferir o índice para a transformação secundária para zero sem analisar o índice. Por exemplo, no caso de m=16, pode ser determinado se aplica a transformação secundária e se analisa o índice para a transformação secundária ao verificar se não há coeficiente diferente de zero na região 4x4 direita superior ou na região 4x4 esquerda inferior.
[0205] Nesse ínterim, a Tabela 18 mostra outro exemplo de matrizes de núcleo de transformada que podem ser aplicadas a uma região 4x4.
[0206] As seguintes modalidades podem ser propostas a fim de reduzir quantidade computacional em um caso pior. Neste documento, uma matriz incluindo fileiras M e colunas N é expressa como uma matriz MxN, e a matriz MxN se refere a uma matriz de transformada aplicada em uma transformada direta, ou seja, quando o aparelho de codificação realiza uma transformada (RST). Consequentemente, na transforma inversa (RST inversa) realizada pelo aparelho de decodificação, uma matriz NxM obtida ao transpor a matriz MxN pode ser usada. Além disso, a seguir se descreve um caso em que uma matriz de núcleo de transformada mx64 (m<16) é aplicada como uma matriz de transformação para uma região 8x8 , mas o mesmo pode ser aplicado a um caso em que o vetor de entrada é 48x1 e a matriz de núcleo de transformada mx48 é (m<16). Ou seja, 16x64 (ou mx64) pode ser substituído com 16x48 (ou mx48).
[0207] 1) Em um caso de um bloco (por exemplo, uma unidade de transformada) que tem uma largura de W e uma altura de H em que W>8 e H>8, uma matriz de núcleo de transformada aplicável a uma região 8x8 é aplicada a uma região 8x8 esquerda superior do bloco. Em um caso em que W=8 e H=8, apenas uma porção de 8x64 de uma matriz 16x64 pode ser aplicada. Ou seja, oito coeficientes de transformada podem ser gerados. Alternativamente, apenas partes de 8 x 48 da matriz 16x48 podem ser aplicadas. Ou seja, 8 coeficientes de transformada podem ser gerados.
[0208] 2) Em um caso de um bloco (por exemplo, uma unidade de transformada) que tem uma largura de W e uma altura de H em que um dentre W e H é menor que 8, ou seja, um dentre W e H é 4, uma matriz de núcleo de transformada aplicável a uma região 4x4 é aplicada a uma região esquerda superior do bloco. Em um caso em que W=4 e H=4, apenas uma porção de 8x16 de uma matriz 16x16 pode ser aplicada, caso em que oito coeficientes de transformada são gerados.
[0209] Se (W, H)=(4, 8) ou (8, 4), uma transformada secundária é aplicada apenas à região 4x4 esquerda superior. Se W ou H for maior que 8, ou seja, se um dentre W e H for igual a ou maior que 16 e o outro é 4, a transformada secundária é aplicada apenas em dois blocos 4x4 esquerdos superiores. Ou seja, apenas a região 4x8 ou 8x4 esquerda superior pode ser dividida em dois blocos 4x4, e uma matriz de núcleo de transformada designada pode ser aplicada à mesma.
[0210] 3) Em um caso de um bloco (por exemplo, uma unidade de transformada) que tem uma largura de W e uma altura de H em que tanto W quanto H são 4, uma transformada secundária pode não ser aplicada.
[0211] 4) Em um caso de um bloco (por exemplo, uma unidade de transformada) que tem uma largura de W e uma altura de H, o número de coeficientes gerado ao aplicar uma transformada secundária pode ser mantido em 1/4 ou menos da área da unidade de transformada (isto é, o número total de pixels incluído na unidade de transformada = WxH). Por exemplo, quando tanto W quanto H são 4, a matriz 4x16 superior de uma matriz 16x16 pode ser aplicada de modo que quatro coeficientes de transformada sejam gerados.
[0212] Considerando que uma transformada secundária é aplicada apenas a uma região 8x8 esquerda superior de toda a unidade de transformada (TU), oito ou menos coeficientes precisam ser gerados para uma unidade de transformada 4x8 ou uma unidade de transformada 8x4, e, assim, uma matriz 8x16 superior de uma matriz 16x16 pode ser aplicada a uma região 4x4 esquerda superior. Uma matriz de até 16x64 (ou matriz 16x48) pode ser aplicada a uma unidade transformada 8x8 (até 16 coeficientes podem ser gerados). Se uma unidade de transformada 4xN ou Nx4 (N>16), uma matriz 16x16 pode ser aplicada a um bloco 4x4 esquerdo superior, ou uma matriz 8x16 superior da matriz 16x16 pode ser aplicada a dois blocos 4x4 esquerdos direitos. Similarmente, em um unidade de transformada 4x8 ou unidade de transformada 8x4, oito coeficientes de transformada podem ser gerados ao aplicar uma matriz 4x16 superior da matriz 16x16 a dois blocos 4x4 esquerdos superiores.
[0213] 5) O tamanho máximo de uma transformada secundária aplicada a uma região 4x4 pode ser limitada a 8x16. Nesse caso, a quantidade de uma memória exigida para armazenar matrizes de núcleo de transformada aplicadas à região 4x4 pode ser reduzida pela metade em comparação àquela em uma matriz 16x16.
[0214] Por exemplo, em todas as matrizes de núcleo de transformada mostradas na Tabela 9 ou na Tabela 18, o tamanho máximo pode ser limitado a 8x16 ao extrair uma matriz 8x16 superior de cada matriz 16x16, e um sistema de codificação de imagem real pode ser implementado para armazenar apenas matrizes 8x16 das matrizes de núcleo de transformada.
[0215] Se o tamanho de transformada aplicável máximo for 8x16 e o número máximo de multiplicações exigido para gerar um coeficiente for limitado a 8, uma matriz de até 8x16 pode ser aplicada a um bloco 4x4, e uma matriz de até 8x16 pode ser aplicada a cada um dos dois blocos de até 4x4 esquerdos superiores incluídos em um bloco 4xN e ou em um bloco Nx4 (N>8, N=2n, n>3). Por exemplo, uma matriz 8x16 pode ser aplicada a um bloco 4x4 esquerdo superior em um bloco 4xN ou um bloco Nx4 (N>8, N=2n, n>3).
[0216] De acordo com uma modalidade, ao codificar um índice que especifica uma transformada secundária a ser aplicada a um componente de luminância, especificamente, quando um conjunto de transformadas inclui duas matrizes de núcleo de transformada, é necessário especificar se aplica a transformada secundária e qual matriz de núcleo de transformada aplicar na transformada secundária. Por exemplo, quando nenhuma transformada secundária é aplicada, um índice de transformada pode ser codificado como 0, e quando a transformada secundária é aplicada, os índices de transformada para dois conjuntos de transformadas podem ser codificados respectivamente como 1 e 2.
[0217] Nesse caso, ao codificar o índice de transformada, codificação unária truncada pode ser usada. Por exemplo, códigos binários de 0, 10 e 11 podem ser alocados respectivamente para transformar índices 0, 1 e 2, codificando, desse modo, os índices de transformada.
[0218] Além disso, ao codificar o índice de transformada por codificação unária truncada, o contexto de CABAC diferente pode ser atribuído a cada compartimento. Ao codificar os índices de transformada 0, 10 e 11 no exemplo acima, dois contextos de CABAC podem ser usados.
[0219] Ao codificar um índice de transformada que especifica uma transformada secundária a ser aplicada a um componente de croma, especificamente, quando um conjunto de transformadas inclui duas matrizes de núcleo de transformada, é necessário especificar se aplica a transformada secundária e qual matriz de núcleo de transformada aplicar na transformada secundária similarmente ao codificar o índice de transformada da transformada secundária para o componente de luminância. Por exemplo, quando nenhuma transformada secundária é aplicada, um índice de transformada pode ser codificado como 0, e quando a transformada secundária é aplicada, os índices de transformada para dois conjuntos de transformadas podem ser codificados respectivamente como 1 e 2.
[0220] Nesse caso, ao codificar o índice de transformada, codificação unária truncada pode ser usada. Por exemplo, códigos binários de 0, 10 e 11 podem ser alocados respectivamente para transformar índices 0, 1 e 2, codificando, desse modo, os índices de transformada.
[0221] Além disso, ao codificar o índice de transformada por codificação unária truncada, o contexto de CABAC diferente pode ser atribuído a cada compartimento. Ao codificar os índices de transformada 0, 10 e 11 no exemplo acima, dois contextos de CABAC podem ser usados.
[0222] De acordo com uma modalidade, um conjunto de contextos de CABAC diferente pode ser alocado de acordo com um modo de intrapredição de croma. Por exemplo, quando modos de intrapredição de croma são divididos em modos não direcionais, como um modo planar ou um modo DC, e outros modos direcionais (isto é, dividido em dois grupos), um conjunto de contextos de CABAC correspondente (incluindo dois contextos) pode ser alocado para cada grupo ao codificar 0, 10 e 11 no exemplo acima.
[0223] Quando os modos de intrapredição de croma são divididos em uma pluralidade de grupos e um conjunto de contextos de CABAC correspondente é alocado, é necessário encontrar um valor de modo de intrapredição de croma antes de codificar o índice de transformada de uma transformada secundária. Entretanto, em um modo direto (DM) de croma, uma vez que um valor de modo de intrapredição de luminância é usado conforme é, também é necessário encontrar um valor de modo de intrapredição para um componente de luminância. Portanto, ao codificar informações em um componente de croma, a dependência de dados de informações de componente de luminância pode ocorrer. Assim, na DM de croma, ao codificar o índice de transformada da transformada secundária sem ter informações sobre o modo de intrapredição, a dependência de dados pode ser removida ao mapear para um grupo específico. Por exemplo, se o modo de intrapredição de croma for o DM de croma, o índice de transformada pode ser codificado como uso de um conjunto de contextos de CABAC correspondente considerando o modo planar ou o modo DC, ou um conjunto de contextos de CABAC correspondente pode ser aplicado considerando outros modos direcionais.
[0224] A Figura 9 é um fluxograma que ilustra uma operação de um aparelho de decodificação de vídeo de acordo com uma modalidade da presente revelação.
[0225] Cada operação ilustrada na Figura 9 pode ser realizada pelo aparelho de decodificação 300 ilustrado na Figura 3. Especificamente, S910 pode ser realizada pelo decodificador de entropia 310 ilustrado na Figura 3, S920 pode ser realizada pelo desquantizador 321 ilustrado na Figura 3, S930 e S940 podem ser realizadas pelo transformador inverso 322 ilustrado na Figura 3, e S950 pode ser realizada pelo adicionador 340 ilustrada na Figura 3. As operações de acordo com S910 a S950 têm como base alguns dos detalhes supracitados explicados com referência à Figura 4 à Figura 8. Portanto, uma descrição de detalhes específicos que se sobrepõem àqueles explicados acima com referência à Figura 3 à Figura 8 será omitida ou será feita brevemente.
[0226] O aparelho de decodificação 300 de acordo com uma modalidade pode derivar coeficientes de transformada quantizados para um bloco alvo a partir de um fluxo de bits (S910). Especificamente, o aparelho de decodificação 300 pode decodificar informações sobre os coeficientes de transformada quantizados para o bloco alvo a partir do fluxo de bits e pode derivar os coeficientes de transformada quantizados para o bloco alvo com base nas informações sobre os coeficientes de transformada quantizados para o bloco alvo. As informações sobre os coeficientes de transformada quantizados para o bloco alvo podem ser incluídas em um conjunto de parâmetros de sequência (SPS) ou um cabeçalho de fatia e podem incluir pelo menos umas dentre informações sobre se uma transformada reduzida (RST) é aplicada, informações sobre fator reduzido, informações sobre um tamanho de transformada mínimo ao qual a RST é aplicada, informações sobre um tamanho de transformada máximo ao qual a RST é aplicada, informações sobre um tamanho de transformada inversa reduzida e informações sobre um índice de transformada indicando qualquer uma das matrizes de núcleo de transformada incluídas em um conjunto de transformadas.
[0227] O aparelho de decodificação 300 de acordo com uma modalidade pode derivar os coeficientes de transformada ao desquantizar os coeficientes de transformada quantizados para o bloco alvo (S920).
[0228] Os coeficientes de transformada derivados podem ser dispostos de acordo com a ordem de varredura diagonal reversa em unidades de blocos 4x4, e os coeficientes de transformada no bloco 4x4 também podem ser dispostos de acordo com a ordem de varredura diagonal reversa. Ou seja, os coeficientes de transformada realizados para quantização inversa podem ser dispostos de acordo com a ordem de varredura inversa e uma codec de vídeo, como em VVC ou HEVC.
[0229] O aparelho de decodificação 300 de acordo com uma modalidade pode derivar coeficientes de transformada modificados com base em uma transformada secundária reduzida (RST) inversa dos coeficientes de transformada (S930).
[0230] Em um exemplo, a RST inversa pode ser realizada com base em uma matriz de transformada de RST inversa, e a matriz de transformada de RST inversa pode ser uma matriz não quadrada na qual o número de colunas é menor que o número de fileiras.
[0231] Em uma modalidade, S930 pode incluir decodificar um índice de transformada, determinar se uma condição para aplicar uma RST inversa é satisfeita com base no índice de transformada, selecionar uma matriz de núcleo de transformada, e aplicar a RST inversa aos coeficientes de transformada com base na matriz de núcleo de transformada selecionada e/ou no fator reduzido quando a condição para aplicar a RST inversa é satisfeita. Nesse caso, o tamanho de uma matriz de transformada inversa reduzida pode ser determinado com base no fator reduzido.
[0232] O aparelho de decodificação 300 de acordo com uma modalidade pode derivar amostras residuais para o bloco alvo com base em uma transformada inversa dos coeficientes de transformada modificados (S940).
[0233] O aparelho de decodificação 300 pode realizar uma transformada primária inversa nos coeficientes de transformada modificados para o bloco alvo, caso em que uma transformada inversa reduzida pode ser aplicada ou uma transformada separável convencional pode ser usada como a transformada primária inversa.
[0234] O aparelho de decodificação 300 de acordo com uma modalidade pode gerar amostras reconstruídas com base nas amostras residuais para o bloco alvo e nas amostras de predição para o bloco alvo (S950).
[0235] Com referência a S930, pode ser identificado que as amostras residuais para o bloco alvo são derivadas com base na RST inversa dos coeficientes de transformada para o bloco alvo. A partir da perspectiva do tamanho da matriz de transformada inversa, uma vez que o tamanho de uma matriz de transformada inversa regular é NxN, mas o tamanho da RST inversa matriz é reduzido para NxR, é possível reduzir o uso de memória em um caso de realização da RST inversa por uma razão de R/N em comparação àquele em um caso de realização de uma transformada regular. Adicionalmente, o uso da matriz de RST inversa pode reduzir o número de multiplicações (NxR) pela razão de R/N, em comparação ao número de multiplicações NxN em um caso de uso da matriz de transformada inversa regular. Além disso, uma vez que apenas R coeficientes de transformada precisam ser decodificados quando a RST inversa é aplicada, o número total de coeficientes de transformada para o bloco alvo pode ser reduzido de N para R, em comparação àquele em um caso em que N coeficientes de transformada precisam ser decodificados quando uma transformada inversa regular é aplicada, aumentando, assim, a eficiência de decodificação. Ou seja, de acordo com S930, a eficiência de transformada (inversa) e a eficiência de decodificação do aparelho de decodificação 300 podem ser aumentadas através da RST inversa.
[0236] A Figura 10 é um fluxograma de controle que ilustra uma RST inversa de acordo com uma modalidade da presente revelação.
[0237] O aparelho de decodificação 300 recebe informações on coeficientes de transformada quantizados, um modo de intrapredição e um índice de transformada através de um fluxo de bits (S1000).
[0238] Os coeficientes de transformada são derivados dos coeficientes de transformada quantizados recebidos através do fluxo de bits via desquantização conforme mostrado em S920 da Figura 9.
[0239] Para aplicar uma RST inversa aos coeficientes de transformada desquantizados, um conjunto de transformadas e uma matriz de núcleo de transformada a serem aplicados a um bloco alvo são derivados (S1010).
[0240] De acordo com um exemplo, o conjunto de transformadas pode ser derivado com base em uma relação de mapeamento de acordo com um modo de intrapredição para o bloco alvo, e uma pluralidade de modos de intrapredição pode ser mapeada para um conjunto de transformadas. Cada conjunto de transformadas pode incluir uma pluralidade de matrizes de núcleo de transformada. Um índice de transformada pode indicar qualquer uma dentre a pluralidade de matrizes de núcleo de transformada. Por exemplo, quando um conjunto de transformadas inclui duas matrizes de núcleo de transformada, o índice de transformada pode indicar qualquer uma das duas matrizes de núcleo de transformada.
[0241] Um elemento de sintaxe do índice de transformada de acordo com uma modalidade pode indicar se uma RST inversa é aplicada e uma das matrizes de núcleo de transformada incluída no conjunto de transformadas. Quando o conjunto de transformadas inclui duas matrizes de núcleo de transformada, o elemento de sintaxe do índice de transformada pode ter três valores.
[0242] Ou seja, de acordo com uma modalidade, o valor do elemento de sintaxe do índice de transformada pode incluir 0 indicando que a RST inversa não é aplicada ao bloco alvo, 1 indicando uma primeira matriz de núcleo de transformada das matrizes de núcleo de transformada, e 2 indicando uma segunda matriz de núcleo de transformada das matrizes de núcleo de transformada. Essas informações são recebidas como informações de sintaxe, e as informações de sintaxe são recebidas como uma sequência de compartimentos incluindo 0 e 1.
[0243] A matriz de núcleo de transformada de acordo com um exemplo pode ser aplicada a uma região esquerda superior especificada do bloco alvo, por exemplo, a uma região 8x8 ou a uma região 4x4, de acordo com o tamanho simplificado ou reduzido de uma transformada secundária, e o tamanho de saída de coeficientes de transformada modificados ao aplicar a matriz de núcleo de transformada, ou seja, o número de coeficientes de transformada, pode ser derivado com base no índice de transformada, no modo de intrapredição e no tamanho do bloco alvo ao qual a transformada secundária é aplicada.
[0244] De acordo com um exemplo, quando a transformação secundária inversa é aplicada a uma região of the bloco alvo, ou seja, a uma região 8x8 ou a uma região 4x4, a transformação secundária inversa pode ser aplicada apenas a alguns dentre coeficientes de transformada incluídos em uma região 8x8 ou em uma região 4x4. Para transformação secundária inversa, se apenas 48 dos coeficientes de transformada da região 8x8 forem inseridos, a matriz de núcleo de transformada 64xm aplicada à região 8x8 pode ser reduzida adicionalmente para a matriz de núcleo de transformada 48xm.
[0245] De acordo com um exemplo, m pode ser 16, e a matriz de núcleo de transformada 48x16 pode ser uma matriz de núcleo de transformada com base na Tabela 14, ou seja, uma matriz obtida ao considerar uma transposição para a matriz da Tabela 14. Quando há 4 conjuntos de transformadas e duas matrizes de núcleo de transformada são incluídas em cada conjunto de transformadas, um índice de transformada indicando se uma transformada secundária inversa é aplicada e qualquer uma das matrizes de núcleo de transformada incluídas no conjunto de transformadas pode ter um valor de 0, 1 e 2. Se o índice de transformada for 0, indica que a transformada secundária inversa não é aplicada. Portanto, se houver 4 conjuntos de transformadas, todas as 8 matrizes de núcleo de transformada podem ser usadas para a transformada secundária inversa.
[0246] Conforme mostrado in Equação 7, os coeficientes de transformada em um arranjo unidimensional derivados através da desquantização podem ser submetidos a uma operação de matriz com a matriz de núcleo de transformada, derivando, desse modo, coeficientes de transformada modificados em um arranjo bidimensional.
[0247] O transformador inverso 322 de acordo com essa modalidade pode derivar os coeficientes de transformada modificados da região 4x4 esquerda superior, da região 4x4 direita superior e da região 4x4 esquerda inferior da região 8x8 ao aplicar a matriz de núcleo de transformada aos coeficientes de transformada da região 4x4 esquerda superior da região 8x8 do bloco alvo (S1020).
[0248] De acordo com um exemplo, ao realizar a operação de matriz entre os coeficientes de transformada da região 4x4 esquerda superior da região 8x8 e a matriz de núcleo de transformada, os coeficientes de transformada da região 4x4 esquerda superior da região 8x8 são dispostos unidimensionalmente de acordo com uma ordem de varredura diagonal dianteira conforme mostrado na Tabela 16, os coeficientes de transformada da arranjo unidimensional podem ser dispostos bidimensionalmente na região 4x4 esquerda superior, na região 4x4 direita superior e na região 4x4 esquerda inferior da região 8x8 conforme mostrado na Tabela 15 ou na Tabela 17 de acordo com a direção de primeira linha ou a direção de primeira coluna correspondente ao modo de intrapredição aplicado ao bloco alvo após a operação de matriz com a matriz de núcleo de transformada. Ou seja, a transformada secundária inversa pode ser aplicada aos 16 coeficientes de transformada na região 4x4 esquerda superior na região 8x8, e os 48 coeficientes de transformada modificados podem ser derivados na região 4x4 esquerda superior, na região 4x4 direita superior e na região 4x4 esquerda inferior entre a região 8x8 através da operação com a matriz de núcleo de transformada.
[0249] Quando o modo de intrapredição aplicável ao bloco alvo é um dos 65 modos direcionais, o modo de intrapredição é simétrico ao redor do modo de intrapredição 34 na direção diagonal esquerda superior, e o modo de intrapredição aplicado ao bloco alvo um dentre o modo 2 ao modo 34 na direção esquerda em relação ao modo de intrapredição 34, os coeficientes de transformada modificados são dispostos bidimensionalmente de acordo com a direção de primeira linha.
[0250] Se o modo de intrapredição aplicado ao bloco alvo for um dentre o modo 35 ao modo 66 na direção direita em relação ao modo de intrapredição 34, os coeficientes de transformada modificados podem ser dispostos bidimensionalmente de acordo com a direção de primeira coluna.
[0251] Além disso, se o modo de intrapredição aplicado ao bloco alvo é o modo planar ou o modo DC, os coeficientes de transformada modificados podem ser dispostos bidimensionalmente de acordo com a direção de primeira linha.
[0252] O transformador inverso 322 pode aplicar a RST inversa para gerar o coeficiente de transformada modificado da região 8x8 ou da região 4x4 como um bloco de 2 dimensões, e, subsequentemente, aplicar a transformação primária inversa ao coeficiente de transformada modificado do bloco de 2 dimensões.
[0253] A Figura 11 é um fluxograma que ilustra uma operação de um aparelho de codificação de vídeo de acordo com uma modalidade da presente revelação.
[0254] Cada operação ilustrada na Figura 11 pode ser realizada pelo aparelho de codificação 200 ilustrado na Figura 2. Especificamente, S1110 pode ser realizada pelo preditor 220 ilustrado na Figura 2, S1120 pode ser realizada pelo subtrator 231 ilustrado na Figura 2, S1130 e S1140 podem ser realizadas pelo transformador 232 ilustrado na Figura 2, e S1150 pode ser realizada pelo quantizador 233 e pelo codificador de entropia 240 ilustrados na Figura 2. As operações de acordo com S1110 a S1150 têm como base alguns dos conteúdos descritos na Figura 4 à Figura 8. Portanto, uma descrição de detalhes específicos que se sobrepõem àqueles explicados acima com referência à Figura 2, à Figura 4 à Figura 8 será omitida ou será feita brevemente.
[0255] O aparelho de codificação 200 de acordo com uma modalidade pode derivar amostras de predição com base em um modo de intrapredição aplicado a um bloco alvo (S1110).
[0256] O aparelho de codificação 200 de acordo com uma modalidade pode derivar amostras residuais para o bloco alvo (S1120).
[0257] O aparelho de codificação 200 de acordo com uma modalidade pode derivar coeficientes de transformada para o bloco alvo com base em transformada primária da amostra residual (S1130). A transformada primária pode ser realizada através de uma pluralidade de núcleos de transformada, e os núcleos de transformada podem ser selecionados com base no modo de intrapredição .
[0258] O aparelho de decodificação 300 pode realizar uma transformada secundária, especificamente, uma NSST, nos coeficientes de transformada para o bloco alvo, caso em que a NSST pode ser realizada com base em uma transformada reduzida (RST) ou sem ter como base a RST. Quando a NSST é realizada com base na transformada reduzida, uma operação de acordo com S1140 pode ser realizada.
[0259] O aparelho de codificação 200 de acordo com uma modalidade pode derivar coeficientes de transformada modificados para o bloco alvo com base na RST dos coeficientes de transformada (S1140). Em um exemplo, a RST pode ser realizada com base em uma matriz de transformada reduzida ou em uma matriz de núcleo de transformada, e a matriz de transformada reduzida pode ser uma matriz não quadrada na qual o número de fileiras é menor que o número de colunas.
[0260] Em uma modalidade, S1140 pode incluir determinar se uma condição para aplicar a RST é satisfeita, gerando e codificando o índice de transformada com base na determinação, selecionando um núcleo de transformada, e aplicar a RST às amostras residuais com base na matriz de núcleo de transformada selecionada e/ou em um fator reduzido quando a condição para aplicar a RST é satisfeita. Nesse caso, o tamanho da matriz de núcleo de transformada reduzida pode ser determinado com base no fator reduzido.
[0261] O aparelho de codificação 200 de acordo com uma modalidade pode derivar coeficientes de transformada quantizados ao realizar quantização com base nos coeficientes de transformada modificados para o bloco alvo e pode codificar informações sobre os coeficientes de transformada quantizados (S1150).
[0262] Especificamente, o aparelho de codificação 200 pode gerar as informações sobre os coeficientes de transformada quantizados e pode codificar as informações geradas sobre os coeficientes de transformada quantizados.
[0263] Em um exemplo, as informações sobre os coeficientes de transformada quantizados podem incluir pelo menos umas dentre informações sobre se a RST é aplicada, informações sobre o fator reduzido, informações sobre um tamanho de transformada mínimo ao qual a RST é aplicada e informações sobre um tamanho de transformada máximo ao qual a RST é aplicada.
[0264] Com referência a S1140, pode ser identificado que os coeficientes de transformada para o bloco alvo são derivados com base na RST das amostras residuais. A partir da perspectiva do tamanho da matriz de núcleo de transformada, uma vez que o tamanho de uma matriz de núcleo de transformada regular é NxN, mas o tamanho da matriz de transformada reduzida é reduzido para RxN, é possível reduzir o uso de memória em um caso de realização da RST por uma razão de R/N em comparação àquele em um caso de realização de uma transformada regular. Adicionalmente, o uso da matriz de núcleo de transformada reduzida pode reduzir o número de multiplicações (RxN) pela razão de R/N, em comparação ao número de multiplicações NxN em um caso de uso da matriz de núcleo de transformada regular. Além disso, uma vez que apenas R coeficientes de transformada são derivados quando a RST é aplicada, o número total de coeficientes de transformada para o bloco alvo pode ser reduzido de N para R, em comparação àquele em um caso em que N coeficientes de transformada são derivados quando uma transformada regular é aplicada, reduzindo, assim, a quantidade de dados transmitida pelo aparelho de codificação 200 para o aparelho de decodificação 300. Ou seja, de acordo com S1140, a eficiência de transformada e a eficiência de codificação do aparelho de codificação 320 podem ser aumentadas através da RST.
[0265] A Figura 12 é um fluxograma de controle que ilustra uma RST de acordo com uma modalidade da presente revelação.
[0266] Primeiramente, o aparelho de codificação 200 pode determinar um conjunto de transformadas com base em uma relação de mapeamento de acordo com um modo de intrapredição aplicado a um bloco alvo (S1200).
[0267] O transformador 232 pode selecionar qualquer uma dentre uma pluralidade de matrizes de núcleo de transformada incluídas no conjunto de transformadas (S1210).
[0268] De acordo com um exemplo, o conjunto de transformadas pode ser derivado com base na relação de mapeamento de acordo com o modo de intrapredição do bloco alvo, e uma pluralidade de modos de intrapredição pode ser mapeada para um conjunto de transformadas. Cada conjunto de transformadas pode incluir uma pluralidade de matrizes de núcleo de transformada. Quando um conjunto de transformadas inclui duas matrizes de núcleo de transformada, um índice de transformada indicando qualquer uma das duas matrizes de núcleo de transformada pode ser codificado e pode ser sinalizado para o aparelho de decodificação.
[0269] Quando duas transformadas são aplicadas a uma amostra residual, a amostra residual pode ser referida como um coeficiente de transformada após ser submetida a uma transformada primária, e pode ser referida como um coeficiente de transformada modificado após ser submetida à transformada primária e, então, a uma transformada secundária, como uma RST.
[0270] De acordo com um exemplo, quando a transformação secundária é aplicada a uma região do bloco alvo, ou seja, a uma região 8x8 ou a uma região 4x4 , a transformação secundária pode ser aplicada apenas a alguns dentre os coeficientes de transformada incluídos em uma região 8x8 ou em uma região 4x4. Por exemplo, quando a transformação secundária pode ser aplicada a apenas 48 dos coeficientes de transformada da região 8x8, a matriz de núcleo de transformada mx64 aplicada à região 8x8 pode ser reduzida adicionalmente para a matriz de núcleo de transformada mx48.
[0271] De acordo com um exemplo, m pode ser 16, e a matriz de núcleo de transformada 16x48 pode ser uma matriz de núcleo de transformada na Tabela 14. Quando há 4 conjuntos de transformadas e duas matrizes de núcleo de transformada são incluídas em cada conjunto de transformadas, um índice de transformada indicando se a transformada secundária inversa é aplicada e qualquer uma das matrizes de núcleo de transformada incluídas no conjunto de transformadas pode ter um valor de 0, 1 e 2. Se o índice de transformada for 0, indica que a transformada secundária inversa não é aplicada. Portanto, se houver 4 conjuntos de transformadas, todas as 8 matrizes de núcleo de transformada podem ser usadas para a transformada secundária inversa.
[0272] Ao realizar a RST em coeficientes de transformada com o uso da matriz de núcleo de transformada, o transformador 232 dispõe unidimensionalmente os coeficientes de transformada em um arranjo bidimensional que foram submetidos à transformada primária, de acordo com a direção de primeira linha ou a direção de primeira coluna, com base no modo de intrapredição aplicado ao bloco alvo. Especificamente, o transformador 232 de acordo com essa modalidade pode derivar os coeficientes de transformada modificados na região 4x4 esquerda superior da região 8x8 ao aplicar a matriz de núcleo de transformada aos coeficientes de transformada da região 4x4 esquerda superior, da região 4x4 direita superior e da região 4x4 esquerda inferior da região 8x8 do bloco alvo (S1220).
[0273] A matriz de núcleo de transformada pode ser aplicada a uma região esquerda superior especificada do bloco alvo, por exemplo, uma região 8x8 ou uma região 4x4 ou alguma parte da região 8x8, de acordo com o tamanho simplificado ou reduzido de uma transformada secundária, e o tamanho de saída de coeficientes de transformada modificados ao aplicar a matriz de núcleo de transformada, ou seja, o número de coeficientes de transformada modificados pode ser derivado com base no tamanho da matriz de núcleo de transformada, no modo de intrapredição e no tamanho do bloco alvo ao qual a transformada secundária é aplicada.
[0274] Os coeficientes de transformada bidimensionais precisam ser dispostos unidimensionalmente para uma operação de matriz com a matriz de núcleo de transformada conforme mostrado na Equação 5, e um número menor de coeficientes de transformada modificados que aquele de coeficientes de transformada pode ser derivado através de uma operação, como Equação 6.
[0275] Ou seja, os coeficientes de transformada no arranjo bidimensional na região biespecificada podem ser lidos em uma dimensão de acordo com uma certa direção, a partir da qual coeficientes de transformada modificados são derivados através da operação de matriz com a matriz de núcleo de transformada.
[0276] De acordo com um exemplo, ao realizar a operação de matriz entre os coeficientes de transformada da região 4x4 esquerda superior da região 8x8 e a matriz de núcleo de transformada, os 48 coeficientes de transformada da região 4x4 esquerda superior, da região 4x4 direita superior e da região 4x4 esquerda inferior da região 8x8 podem ser dispostos unidimensionalmente conforme mostrado na Tabela 15 ou na Tabela 17 de acordo com a direção de primeira linha ou a direção de primeira coluna correspondente ao modo de intrapredição aplicado ao bloco alvo, os 16 coeficientes de transformada modificados derivados podem ser dispostos de acordo com a direção de varredura diagonal na região 4x4 esquerda superior da região 8x8 conforme mostrado na Tabela 16.
[0277] Quando o modo de intrapredição aplicável ao bloco alvo é um dos 65 modos direcionais, o modo de intrapredição é simétrico ao redor do modo de intrapredição 34 na direção diagonal esquerda superior, e o modo de intrapredição aplicado ao bloco alvo um dentre o modo 2 ao modo 34 na direção esquerda em relação ao modo de intrapredição 34, os coeficientes de transformada da região 4x4 esquerda superior, da região 4x4 direita superior e da região 4x4 esquerda inferior da região 8x8 são dispostos unidimensionalmente de acordo com a direção de primeira linha conforme mostrado na Tabela 15.
[0278] Se o modo de intrapredição aplicado ao bloco alvo é um dentre o modo 35 ao modo 66 na direção direita em relação ao modo de intrapredição 34, os coeficientes de transformada da região 4x4 esquerda superior, da região 4x4 direita superior e da região 4x4 esquerda inferior da região 8x8 podem ser dispostos unidimensionalmente de acordo com a direção de primeira coluna conforme mostrado na Tabela 17.
[0279] Além disso, se o modo de intrapredição aplicado ao bloco alvo é o modo planar ou o modo DC, os coeficientes de transformada da região 4x4 esquerda superior, da região 4x4 direita superior e da região 4x4 esquerda inferior da região 8x8 podem ser dispostos unidimensionalmente de acordo com a direção de primeira linha.
[0280] Quando a RST é realizada, informações sobre a RST podem ser codificadas pelo codificador de entropia 240.
[0281] Primeiramente, o codificador de entropia 240 pode derivar um valor de elemento de sintaxe para o índice de transformada indicando qualquer uma das matrizes de núcleo de transformada incluídas no conjunto de transformadas, pode binarizar o valor de elemento de sintaxe derivado para o índice de transformada, e pode codificar compartimentos de uma sequência de compartimentos de elemento de sintaxe com base em informações de contexto, ou seja, um modelo de contexto, em uma sequência de compartimentos do índice de transformada.
[0282] A sequência de compartimentos codificada do elemento de sintaxe pode ser emitida como um fluxo de bits para o aparelho de decodificação 300 ou para o exterior.
[0283] Nas modalidades descritas acima, os métodos são explicados com base em fluxogramas por meio de uma série de etapas ou blocos, mas a presente revelação não se limita à ordem de etapas, e uma certa etapa pode ser realizada no ordem ou etapa diferente daquelas descritas acima, ou concomitantemente com outra etapa. Adicionalmente, pode ser entendido por um técnico no assunto que as etapas mostradas em um fluxograma não são exclusivas, e que outra etapa pode ser incorporada ou uma ou mais etapas do fluxograma podem ser removidas sem afetar o escopo da presente revelação.
[0284] Os métodos descritos acima de acordo com a presente revelação podem ser implementados como uma forma de software, e um aparelho de codificação e/ou aparelho de decodificação de acordo com a revelação pode ser incluído em um dispositivo para processamento de imagem, como uma TV, um computador, um telefone inteligente, um decodificador de sinais, um dispositivo de exibição ou similares.
[0285] Quando modalidades na presente revelação são incorporadas por software, os métodos descritos acima podem ser incorporados como módulos (processos, funções ou similares) para realizar as funções descritas acima. Os módulos podem ser armazenados em uma memória e podem ser executados por um processador. A memória pode ser no interior ou exterior do processador e pode ser conectada ao processador de várias maneiras bem conhecidas. O processador pode incluir um circuito integrado específico de aplicação (ASIC), outro conjunto de chips, circuito lógico e/ou um dispositivo de processamento de dados. A memória pode incluir uma memória somente de leitura (ROM), uma memória de acesso aleatório (RAM), uma memória flash, um cartão de memória, um meio de armazenamento e/ou outro dispositivo de armazenamento. Ou seja, as modalidades descritas na presente revelação podem ser incorporadas e realizadas em um processador, um microprocessador, um controlador ou um chip. Por exemplo, unidades de função mostradas em cada desenho podem ser incorporadas e realizadas em um computador, um processador, um microprocessador, um controlador ou um chip.
[0286] Adicionalmente, o aparelho de decodificação e o aparelho de codificação aos quais a presente revelação é aplicada podem ser incluídos em um transceptor de difusão de multimídia, um terminal de comunicação móvel, um dispositivo de vídeo de cinema doméstico, um dispositivo de vídeo de cinema digital, uma câmera de vigilância, um chat de vídeo dispositivo, um dispositivo de comunicação em tempo real, como comunicação de vídeo, um dispositivo de transmissão contínua móvel, um meio de armazenamento, uma câmera de vídeo, um dispositivo de fornecimento de serviço de vídeo sob demanda (VoD), um dispositivo de vídeo sem fio (OTT), um dispositivo de fornecimento de serviço de transmissão contínua de Internet, um dispositivo de vídeo tridimensional (3D), um dispositivo de vídeo de telefonia de vídeo e um dispositivo de vídeo médico e podem ser usados para processar um sinal de vídeo ou um sinal de dados. Por exemplo, o dispositivo de vídeo sem fio (OTT) pode incluir um console de jogo, um reprodutor de Blu-ray, um TV com acesso à Internet, um sistema de home theater, um telefone inteligente, um PC do tipo Tablet, um gravador de vídeo digital (DVR) e similares.
[0287] Além disso, o método de processamento ao qual a presente revelação é aplicada pode ser produzido na forma de um programa executada por uma computador, e pode ser armazenado em um meio de gravação legível por computador. Os dados de multimídia que têm uma estrutura de dados de acordo com a presente revelação também podem ser armazenados em um meio de gravação legível por computador. O meio de gravação legível por computador inclui todos os tipos de dispositivos de armazenamento e dispositivos distribuídos nos quais dados legíveis por computador são armazenados. O meio de gravação legível por computador pode incluir, por exemplo, um disco do tipo Blu-ray (BD), um barramento serial universal (USB), um ROM, um PROM, um EPROM, um EEPROM, um RAM, um CD-ROM, uma fita magnética, um disquete e um dispositivo de armazenamento óptico de dados. Adicionalmente, o meio de gravação legível por computador inclui meios incorporados na forma de uma onda de portadora (por exemplo, transmissão pela Internet). Além disso, um fluxo de bits gerado pelo método de decodificação pode ser armazenado em um meio de gravação legível por computador ou transmitido através de uma rede de comunicação com fio ou sem fio. Adicionalmente, as modalidades da presente revelação podem ser incorporadas como um produto de programa de computador por códigos de programa, e os códigos de programa podem ser executados em um computador pelas modalidades da presente revelação. Os códigos de programa podem ser armazenados em uma portadora legível por computador.
[0288] A Figura 13 ilustra a estrutura de um sistema de transmissão contínua de conteúdo ao qual a presente revelação é aplicável.
[0289] Adicionalmente, o serviço de transmissão contínua de conteúdos ao qual a presente revelação é aplicada pode incluir em grande parte um servidor de codificação, um servidor de transmissão contínua, um servidor da Web, um armazenamento de mídia , um equipamento de usuário e um dispositivo de entrada multimídia.
[0290] O servidor de codificação funciona para comprimir dados digitais na entrada de conteúdos dos dispositivos de entrada multimídia, como o telefone inteligente, a câmera, a filmadora e similares para gerar um fluxo de bits e transmitir o mesmo para o servidor transmissão contínua. Como outro exemplo, em um caso em que o dispositivo de entrada multimídia, como o telefone inteligente, a câmera, a filmadora e similares gera diretamente um fluxo de bits, o servidor de codificação pode ser omitido. O fluxo de bits pode ser gerado por um método de codificação ou um método de geração de fluxo de bits ao qual a presente revelação é aplicada. E o servidor de transmissão contínua pode armazenar temporariamente o fluxo de bits durante um processo para transmitir ou receber o fluxo de bits.
[0291] O servidor de transmissão contínua transmite dados de multimídia para o equipamento de usuário com base em uma solicitação de usuário através do servidor da Web, que funciona como um instrumento que informa ao usuário qual serviço existe. Quando o usuário solicita um serviço que o usuário deseja, o servidor da Web transfere a solicitação ao servidor de transmissão contínua, e o servidor de transmissão contínua transmite dados de multimídia para o usuário. Quanto a isso, o sistema de transmissão contínua de conteúdos pode incluir um servidor de controle separado, e, nesse caso, o servidor de controle funciona para controlar comandos/respostas entre o respectivo equipamento no sistema de transmissão contínua de conteúdo.
[0292] O servidor de transmissão contínua pode receber conteúdos do armazenamento de mídia e/ou do servidor de codificação. Por exemplo, em um caso de os conteúdos serem recebidos do servidor de codificação, os conteúdos podem ser recebidos em tempo real. Nesse caso, o servidor de transmissão contínua pode armazenar o fluxo de bits por um período de tempo predeterminado para fornecer sem problemas serviço de transmissão contínua.
[0293] Por exemplo, o equipamento do usuário pode incluir um telefone móvel, um telefone inteligente, um computador do tipo laptop, um terminal de transmissão digital, um assistente digital pessoal (PDA), um reprodutor multimídia portátil (PMP), uma navegação, um PC do tipo slate, um PC do tipo tablet, um computador do tipo ultrabook, um dispositivo vestível (por exemplo, um terminal do tipo relógio (relógio inteligente), um terminal do tipo óculos (óculos inteligentes), um visor montado na cabeça (HMD)), uma TV digital, um computador do tipo desktop, uma sinalização digital ou similares. Cada um dos servidores no sistema de transmissão contínua de conteúdos pode ser operado como um servidor distribuído, e, nesse caso, dados recebidos por cada servidor podem ser processados de maneira distribuída.

Claims (20)

1. Método de decodificação de imagem realizado por um aparelho de decodificação, o método CARACTERIZADO pelo fato de que compreende: receber um fluxo de bits; obter uma matriz bidimensional de coeficientes de transformada com base no fluxo de bits recebido; derivar uma pluralidade de primeiros coeficientes de transformada a partir de uma região 4x4 esquerda superior da matriz bidimensional de coeficientes de transformada; derivar uma pluralidade de segundos coeficientes de transformada com base em uma transformada secundária inversa da pluralidade de primeiros coeficientes de transformada; derivar uma matriz bidimensional de valores com base na pluralidade de segundos coeficientes de transformada, em que a pluralidade de segundos coeficientes de transformada é mapeada para uma região 8x8 esquerda superior da matriz bidimensional de valores, excluindo uma região 4x4 direita inferior dentro da região 8x8 esquerda superior com base em uma largura de um bloco alvo sendo igual ou maior que 8 e uma altura do bloco alvo sendo igual ou maior que 8, e em que a pluralidade de segundos coeficientes de transformada é mapeada para uma região 4x4 esquerda superior da matriz bidimensional de valores com base em um tamanho do bloco alvo sendo 4xN ou Nx4 (N>4); derivar uma matriz de amostras residuais com base em uma transformada primária inversa da matriz bidimensional de valores; e gerar uma gravura reconstruída com base na matriz de amostras residuais.
2. Método de decodificação de imagem, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que obter a matriz bidimensional de coeficientes de transformada compreende: derivar os coeficientes de transformada por meio da realização de desquantização com base em coeficientes de transformada quantizados.
3. Método de decodificação de imagem, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a derivação da pluralidade de segundos coeficientes de transformada com base na transformada secundária inversa da pluralidade de primeiros coeficientes de transformada compreende: realizar uma operação de matriz entre uma matriz de núcleo de transformada e a pluralidade de primeiros coeficientes de transformada, em que a pluralidade de primeiros coeficientes de transformada é disposta unidimensionalmente de acordo com uma ordem de varredura diagonal dianteira da região 4x4 esquerda superior da matriz bidimensional de coeficientes de transformada.
4. Método de decodificação de imagem, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que a pluralidade de segundos coeficientes de transformada é mapeada para a região 8x8 esquerda superior da matriz bidimensional de valores, excluindo a região 4x4 direita inferior dentro da região 8x8 esquerda superior, de modo que: a pluralidade de segundos coeficientes de transformada é mapeada para (i) uma região 4x4 esquerda superior dentro da região 8x8 esquerda superior, (ii) uma região 4x4 direita superior dentro da região 8x8 esquerda superior, e (iii) uma região 4x4 esquerda inferior dentro da região 8x8 esquerda superior, de acordo com uma direção de primeira linha ou uma direção de primeira coluna correspondente a um modo de intrapredição aplicado após realizar a operação de matriz com a matriz de núcleo de transformada.
5. Método de decodificação de imagem, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a transformada secundária inversa é realizada com base em um conjunto de transformadas determinado com base em uma relação de mapeamento de acordo com o modo de intrapredição e uma matriz de núcleo de transformada selecionada dentre uma pluralidade de matrizes de núcleo de transformada incluídas no conjunto de transformadas, e em que a transformada secundária inversa é realizada com base em um índice de transformada que indica se a transformada secundária inversa é aplicada e uma das matrizes de núcleo de transformada incluídas no conjunto de transformadas.
6. Método de decodificação de imagem, de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que, com base em um número de conjuntos de transformada sendo igual a 4 e duas matrizes de núcleo de transformada sendo incluídas em cada conjunto de transformada: a matriz de núcleo de transformada, que é aplicada à pluralidade de primeiros coeficientes de transformada derivados a partir da região 4x4 esquerda superior da matriz bidimensional de coeficientes de transformada, é conforme a seguir:
7. Aparelho de decodificação CARACTERIZADO pelo fato de que compreende: pelo menos um processador; e pelo menos uma memória legível por computador acoplada ao pelo menos um processador e armazenando instruções que, com base em serem executadas por o pelo menos um processador, realizam operações compreendendo: receber um fluxo de bits compreendendo informação relativa a uma gravura codificada; obter uma matriz bidimensional de coeficientes de transformada com base na informação recebida no fluxo de bits; derivar uma pluralidade de primeiros coeficientes de transformada a partir de uma região 4x4 esquerda superior da matriz bidimensional de coeficientes de transformada; derivar uma pluralidade de segundos coeficientes de transformada com base em uma transformada secundária inversa da pluralidade de primeiros coeficientes de transformada; derivar uma matriz bidimensional de valores com base na pluralidade de segundos coeficientes de transformada, em que a pluralidade de segundos coeficientes de transformada é mapeada para uma região 8x8 esquerda superior da matriz bidimensional de valores, excluindo uma região 4x4 direita inferior dentro da região 8x8 esquerda superior com base em uma largura de um bloco alvo sendo igual ou maior que 8 e uma altura do bloco alvo sendo igual ou maior que 8, e em que a pluralidade de segundos coeficientes de transformada é mapeada para uma região 4x4 esquerda superior da matriz bidimensional de valores com base em um tamanho do bloco alvo sendo 4xN ou Nx4 (N>4); derivar uma matriz de amostras residuais com base em uma transformada primária inversa da matriz bidimensional de valores; e gerar uma gravura reconstruída com base na matriz de amostras residuais.
8. Aparelho de decodificação, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que obter a matriz bidimensional de coeficientes de transformada compreende: derivar os coeficientes de transformada por meio da realização de desquantização com base em coeficientes de transformada quantizados.
9. Aparelho de decodificação, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que derivar a pluralidade de segundos coeficientes de transformada com base na transformada secundária inversa da pluralidade de primeiros coeficientes de transformada compreende: realizar uma operação de matriz entre uma matriz de núcleo de transformada e a pluralidade de primeiros coeficientes de transformada, em que a pluralidade de primeiros coeficientes de transformada é disposta unidimensionalmente de acordo com uma ordem de varredura diagonal dianteira da região 4x4 esquerda superior da matriz bidimensional de coeficientes de transformada.
10. Aparelho de decodificação, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que a pluralidade de segundos coeficientes de transformada é mapeada para a região 8x8 esquerda superior da matriz bidimensional de valores, excluindo a região 4x4 direita inferior dentro da região 8x8 esquerda superior, de modo que: a pluralidade de segundos coeficientes de transformada é mapeada para (i) uma região 4x4 esquerda superior dentro da região 8x8 esquerda superior, (ii) uma região 4x4 direita superior dentro da região 8x8 esquerda superior, e (iii) uma região 4x4 esquerda inferior dentro da região 8x8 esquerda superior, de acordo com uma direção de primeira linha ou uma direção de primeira coluna correspondente a um modo de intrapredição aplicado após realizar a operação de matriz com a matriz de núcleo de transformada.
11. Aparelho de decodificação, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que a transformada secundária inversa é realizada com base em um conjunto de transformadas determinado com base em uma relação de mapeamento de acordo com o modo de intrapredição e uma matriz de núcleo de transformada selecionada dentre uma pluralidade de matrizes de núcleo de transformada incluídas no conjunto de transformadas, e em que a transformada secundária inversa é realizada com base em um índice de transformada que indica se a transformada secundária inversa é aplicada e uma das matrizes de núcleo de transformada incluídas no conjunto de transformadas.
12. Aparelho de decodificação, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que, com base em um número de conjuntos de transformadas sendo igual a 4 e duas matrizes de núcleo de transformada sendo incluídas em cada conjunto de transformadas: a matriz de núcleo de transformada, que é aplicada à pluralidade de primeiros coeficientes de transformada derivados a partir da região 4x4 esquerda superior da matriz bidimensional de coeficientes de transformada, é conforme a seguir:
13. Método de codificação de imagem realizado por um aparelho de codificação, o método CARACTERIZADO pelo fato de que compreende: derivar amostras de predição com base em um modo de intrapredição aplicado a um bloco alvo de uma gravura; derivar uma matriz de amostras residuais com base nas amostras de predição; derivar uma matriz bidimensional de valores com base em uma transformada primária da matriz de amostras residuais; derivar uma pluralidade de segundos coeficientes de transformada da matriz bidimensional de valores, em que a pluralidade de segundos coeficientes de transformada é derivada a partir de uma região 8x8 esquerda superior da matriz bidimensional de valores, excluindo uma região 4x4 direita inferior dentro da região 8x8 esquerda superior com base em uma largura do bloco alvo sendo igual ou maior que 8 e uma altura do bloco alvo sendo igual ou maior que 8, e em que a pluralidade de segundos coeficientes de transformada é mapeada para uma região 4x4 esquerda superior da matriz bidimensional de valores com base em um tamanho do bloco alvo sendo 4xN ou Nx4 (N>4); derivar uma pluralidade de primeiros coeficientes de transformada com base em uma transformada secundária da pluralidade de segundos coeficientes de transformada; derivar uma matriz bidimensional de coeficientes de transformada com base na pluralidade de primeiros coeficientes de transformada, em que a pluralidade de primeiros coeficientes de transformada é mapeada para uma região 4x4 esquerda superior da matriz bidimensional de coeficientes de transformada; e emitir um fluxo de bits que compreende informações derivadas com base na matriz bidimensional de coeficientes de transformada.
14. Método de codificação de imagem, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que a pluralidade de segundos coeficientes de transformada é derivada a partir da região 8x8 esquerda superior da matriz bidimensional de valores, excluindo a região 4x4 direita inferior dentro da região 8x8 esquerda superior, de modo que: a pluralidade de segundos coeficientes de transformada é derivada a partir de (i) uma região 4x4 esquerda superior dentro da região 8x8 esquerda superior, (ii) uma região 4x4 direita superior dentro da região 8x8 esquerda superior, e (iii) uma região 4x4 esquerda inferior dentro da região 8x8 esquerda superior, de acordo com uma direção de primeira linha ou uma direção de primeira coluna correspondente ao modo de intrapredição aplicado ao bloco alvo da gravura.
15. Método de codificação de imagem, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que a pluralidade de primeiros coeficientes de transformada é mapeada de acordo com uma direção de varredura diagonal para a região 4x4 esquerda superior da matriz bidimensional de coeficientes de transformada.
16. Método de codificação de imagem, de acordo com a reivindicação 13, CARACTERIZADO pelo fato de que compreende ainda: derivar coeficientes de transformada quantizados pela realização de quantização com base na matriz bidimensional de coeficientes de transformada.
17. Aparelho de codificação CARACTERIZADO pelo fato de que compreende: pelo menos um processador; e pelo menos uma memória legível por computador acoplada ao pelo menos um processador e armazenando instruções que, com base em serem executadas por o pelo menos um processador, realizam operações compreendendo: derivar amostras de predição com base em um modo de intrapredição aplicado a um bloco alvo de uma gravura; derivar uma matriz de amostras residuais com base nas amostras de predição; derivar uma matriz bidimensional de valores com base em uma transformada primária da matriz de amostras residuais; derivar uma pluralidade de segundos coeficientes de transformada a partir da matriz bidimensional de valores, em que a pluralidade de segundos coeficientes de transformada é derivada a partir de uma região 8x8 esquerda superior da matriz bidimensional de valores, excluindo uma região 4x4 direita inferior dentro da região 8x8 esquerda superior com base em uma largura do bloco alvo sendo igual ou maior que 8 e uma altura do bloco alvo sendo igual ou maior que 8, e em que a pluralidade de segundos coeficientes de transformada é mapeada para uma região 4x4 esquerda superior da matriz bidimensional de valores com base em um tamanho do bloco alvo sendo 4xN ou Nx4 (N>4); derivar uma pluralidade de primeiros coeficientes de transformada com base em uma transformada secundária da pluralidade de segundos coeficientes de transformada; derivar uma matriz bidimensional de coeficientes de transformada com base na pluralidade de primeiros coeficientes de transformada, em que a pluralidade de primeiros coeficientes de transformada é mapeada para uma região 4x4 esquerda superior da matriz bidimensional de coeficientes de transformada; e emitir um fluxo de bits que compreende informações derivadas com base na matriz bidimensional de coeficientes de transformada.
18. Meio de armazenamento legível por computador não transitório CARACTERIZADO pelo fato de que armazena um fluxo de bits gerado por um método, o método compreendendo: derivar amostras de predição com base em um modo de intrapredição aplicado a um bloco alvo de uma gravura; derivar uma matriz de amostras residuais com base nas amostras de predição; derivar uma matriz bidimensional de valores com base em uma transformada primária da matriz de amostras residuais; derivar uma pluralidade de segundos coeficientes de transformada a partir da matriz bidimensional de valores, em que a pluralidade de segundos coeficientes de transformada é derivada a partir de uma região 8x8 esquerda superior da matriz bidimensional de valores, excluindo uma região 4x4 direita inferior dentro da região 8x8 esquerda superior; derivar uma pluralidade de primeiros coeficientes de transformada com base em uma transformada secundária da pluralidade de segundos coeficientes de transformada; derivar uma matriz bidimensional de coeficientes de transformada com base na pluralidade de primeiros coeficientes de transformada, em que a pluralidade de primeiros coeficientes de transformada é mapeada para uma região 4x4 esquerda superior da matriz bidimensional de coeficientes de transformada com base em uma largura do bloco alvo sendo igual ou maior que 8 e uma altura do bloco alvo sendo igual ou maior que 8, e em que a pluralidade de segundos coeficientes de transformada é mapeada para uma região 4x4 esquerda superior da matriz bidimensional de valores com base em um tamanho do bloco alvo sendo 4xN ou Nx4 (N>4); e gerar um fluxo de bits que compreende informações derivadas com base na matriz bidimensional de coeficientes de transformada.
19. Método de transmissão de dados para uma imagem, o método CARACTERIZADO pelo fato de que compreende: obter um fluxo de bits para a imagem, em que o fluxo de bits é gerado com base em derivação de amostras de predição com base em um modo de intrapredição aplicado a um bloco alvo de uma gravura; derivar uma matriz de amostras residuais com base nas amostras de predição; derivar uma matriz bidimensional de valores com base em uma transformada primária da matriz de amostras residuais; derivar uma pluralidade de segundos coeficientes de transformada a partir da matriz bidimensional de valores, em que a pluralidade de segundos coeficientes de transformada é derivada a partir de uma região 8x8 esquerda superior da matriz bidimensional de valores, excluindo uma região 4x4 direita inferior dentro da região 8x8 esquerda superior com base em uma largura do bloco alvo sendo igual ou maior que 8 e uma altura do bloco alvo sendo igual ou maior que 8, e em que a pluralidade de segundos coeficientes de transformada é mapeada para uma região 4x4 esquerda superior da matriz bidimensional de valores com base em um tamanho do bloco alvo sendo 4xN ou Nx4 (N>4); derivar uma pluralidade de primeiros coeficientes de transformada com base em uma transformada secundária da pluralidade de segundos coeficientes de transformada; derivar uma matriz bidimensional de coeficientes de transformada com base na pluralidade de primeiros coeficientes de transformada, em que a pluralidade de primeiros coeficientes de transformada é mapeada para uma região 4x4 esquerda superior da matriz bidimensional de coeficientes de transformada; e gerar um fluxo de bits que compreende informações derivadas com base na matriz bidimensional de coeficientes de transformada; transmitir os dados que compreendem o fluxo de bits.
20. Aparelho de transmissão para transmissão de dados para uma imagem, o aparelho de transmissão CARACTERIZADO pelo fato de que compreende: um processador configurado para: obter um fluxo de bits para a imagem, o fluxo de bits sendo gerado com base em derivação de amostras de predição com base em um modo de intrapredição aplicado a um bloco alvo de uma gravura, derivar uma matriz de amostras residuais com base nas amostras de predição, derivar uma matriz bidimensional de valores com base em uma transformada primária da matriz de amostras residuais, derivar uma pluralidade de segundos coeficientes de transformada a partir da matriz bidimensional de valores, em que a pluralidade de segundos coeficientes de transformada é derivada a partir de uma região 8x8 esquerda superior da matriz bidimensional de valores, excluindo uma região 4x4 direita inferior dentro da região 8x8 esquerda superior com base em uma largura do bloco alvo sendo igual ou maior que 8 e uma altura do bloco alvo sendo igual ou maior que 8, e em que a pluralidade de segundos coeficientes de transformada é mapeada para uma região 4x4 esquerda superior da matriz bidimensional de valores com base em um tamanho do bloco alvo sendo 4xN ou Nx4 (N>4), derivar uma pluralidade de primeiros coeficientes de transformada com base em uma transformada secundária da pluralidade de segundos coeficientes de transformada, derivar uma matriz bidimensional de coeficientes de transformada com base na pluralidade de primeiros coeficientes de transformada, em que a pluralidade de primeiros coeficientes de transformada é mapeada para uma região 4x4 esquerda superior da matriz bidimensional de coeficientes de transformada, e gerar um fluxo de bits que compreende informações derivadas com base na matriz bidimensional de coeficientes de transformada; um transmissor configurado para transmitir os dados que compreendem o fluxo de bits.
BR122022006653-4A 2018-12-19 2019-12-19 Método de decodificação de imagem realizado por um aparelho de decodificação, aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação, aparelho de codificação, meio de armazenamento legível por computador não transitório, método de transmissão de dados para uma imagem e aparelho de transmissão para transmissão de dados para uma imagem BR122022006653B1 (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US62/782,294 2018-12-19

Publications (1)

Publication Number Publication Date
BR122022006653B1 true BR122022006653B1 (pt) 2023-07-04

Family

ID=

Similar Documents

Publication Publication Date Title
US11284082B2 (en) Image coding method based on secondary transform and apparatus therefor
ES2954232T3 (es) Método de codificación de video basado en transformada secundaria y dispositivo para el mismo
US11516484B2 (en) Transform-based image coding method, and apparatus therefor
US20240171776A1 (en) Image coding method based on secondary transform, and device therefor
US11943456B2 (en) Transform-based image coding method and apparatus therefor
US20230053262A1 (en) Video coding method on basis of secondary transform, and device therefor
US20230239563A1 (en) Transform-based image coding method and device therefor
US20240098305A1 (en) Image coding method based on secondary transform and device therefor
US20220103824A1 (en) Video coding method based on secondary transform, and device therefor
US11277638B2 (en) Image coding method based on secondary transform, and device therefor
US20220394278A1 (en) Transform-based image coding method and device for same
US20220385943A1 (en) Transform-based image coding method and device therefor
BR122022006653B1 (pt) Método de decodificação de imagem realizado por um aparelho de decodificação, aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação, aparelho de codificação, meio de armazenamento legível por computador não transitório, método de transmissão de dados para uma imagem e aparelho de transmissão para transmissão de dados para uma imagem
BR122022006649B1 (pt) Método de decodificação de imagem realizado por um aparelho de decodificação, aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação, aparelho de codificação, meio de armazenamento legível por computador não transitório, método de transmissão de dados para uma imagem e aparelho de transmissão para transmissão de dados para uma imagem
BR122022006636B1 (pt) Método de decodificação de imagem realizado por um aparelho de decodificação, aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação, aparelho de codificação, meio de armazenamento legível por computador não transitório, método de transmissão de dados para uma imagem e aparelho de transmissão para transmissão de dados para uma imagem
BR112021011225B1 (pt) Método de decodificação de imagem realizado por um aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação de imagem e meio de armazenamento legível por computador não transitório
US11483589B2 (en) Image coding method based on quadratic transform, and apparatus therefor
RU2806283C2 (ru) Способ кодирования изображения на основе преобразования и устройство для его осуществления
US20230131478A1 (en) Transform-based video coding method, and device therefor
US20230137884A1 (en) Transform-based image coding method and apparatus therefor
US20220377335A1 (en) Transform-based image coding method and device therefor
BR122022006273B1 (pt) Método e aparelho de decodificação de imagem, método e aparelho de codificação de imagem, meio de armazenamento legível por computador não transitório, método e aparelho de transmissão de dados para uma imagem
BR112021010422B1 (pt) Método de decodificação de imagem realizado por um aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação de imagem e meio de armazenamento legível por computador não transitório
BR122022006263B1 (pt) Método e aparelho de decodificação de imagem, método e aparelho de codificação de imagem, meio de armazenamento legível por computador não transitório, método e aparelho de transmissão de dados para uma imagem
BR122023020425A2 (pt) Aparelho de decodificação/ codificação para decodificação/codificação de imagens e aparelho para transmissão de dados para uma imagem