BR122021019687B1 - Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método e aparelho de transmissão de dados que compreende um fluxo de bits para uma imagem e mídia de armazenamento digital legível por computador não transitória - Google Patents

Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método e aparelho de transmissão de dados que compreende um fluxo de bits para uma imagem e mídia de armazenamento digital legível por computador não transitória Download PDF

Info

Publication number
BR122021019687B1
BR122021019687B1 BR122021019687-7A BR122021019687A BR122021019687B1 BR 122021019687 B1 BR122021019687 B1 BR 122021019687B1 BR 122021019687 A BR122021019687 A BR 122021019687A BR 122021019687 B1 BR122021019687 B1 BR 122021019687B1
Authority
BR
Brazil
Prior art keywords
transform
target block
elements
transform coefficients
vector
Prior art date
Application number
BR122021019687-7A
Other languages
English (en)
Inventor
Mehdi Salehifar
Seunghwan Kim
Moonmo KOO
Jaehyun Lim
Seethal Paluri
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 BR122021019687B1 publication Critical patent/BR122021019687B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Trata-se de um método para decodificar uma imagem por um dispositivo de decodificação de acordo com a presente invenção que compreende as etapas de: derivar, a partir de um fluxo de bits, coeficientes de transformada de um bloco a ser decodificado; derivar amostras residuais do bloco a ser decodificado, com base em uma transformada seletiva dos coeficientes de transformada; e gerar uma gravura reconstruída com base nas amostras residuais do bloco a ser decodificado e amostras de predição do bloco a ser decodificado, em que a transformada seletiva é realizada com base em uma matriz de transformada modificada, sendo que a matriz de transformada modificada compreende uma matriz que inclui um vetor de base modificado, e o vetor de base modificado contém um determinado número de elementos selecionados a partir de N elementos.

Description

FUNDAMENTOS DA REVELAÇÃO CAMPO DA REVELAÇÃO
[001] A presente revelação refere-se a uma tecnologia de codificação de imagem, e, mais particularmente, a um método de decodificação de imagem de acordo com uma transformada seletiva em um sistema de codificação de imagem e um dispositivo para o mesmo.
TÉCNICA RELACIONADA
[002] Demandas por imagens de alta resolução e alta qualidade, tais como imagens em Alta Definição (HD) e imagens em Definição Ultra Alta (UHD) aumentaram em vários campos. Visto que dados de imagem têm alta resolução e alta qualidade, a quantidade de informações ou bits a serem transmitidos aumenta em relação aos dados de imagem de legado. Portanto, quando dados de imagem forem transmitidos usando uma mídia tal como uma linha de banda larga convencional com/sem fio ou dados de imagem forem armazenados usando uma mídia de armazenamento existente, os custos de transmissão e os custos de armazenamento dos mesmos são aumentados.
[003] De modo correspondente, há uma necessidade por uma técnica de compactação de imagens altamente eficiente para transmitir, armazenar e reproduzir efetivamente informações de imagens de alta resolução e alta qualidade.
SUMÁRIO
[004] Um problema técnico a ser abordado pela presente revelação consiste em proporcionar um método e um dispositivo que aumentem a eficiência de codificação de imagem.
[005] Outro problema técnico a ser abordado pela revelação consiste em proporcionar um método e um dispositivo que aumentam a eficiência de transformada.
[006] Ainda outro problema técnico a ser abordado pela presente revelação consiste em proporcionar um método e um dispositivo que aumentem a eficiência de codificação residual através de transformada.
[007] Ainda outro problema técnico a ser abordado pela presente revelação consiste em proporcionar um método de codificação de imagem e um dispositivo com base em transformada seletiva.
[008] De acordo com um exemplo da presente revelação, proporciona-se um método de decodificação de imagem que é realizado por um dispositivo de decodificação. O método inclui derivar coeficientes de transformada de um bloco alvo a partir de um fluxo de bits, derivar amostras residuais para o bloco alvo com base em uma transformada seletiva para os coeficientes de transformada, e gerar uma gravura (picture) reconstruída com base nas amostras residuais para o bloco alvo e amostras de predição para o bloco alvo, em que a transformada seletiva é realizada com base em uma matriz de transformada modificada, a matriz de transformada modificada é uma matriz que inclui um vetor de base modificado, e o vetor de base modificado inclui um número específico de elementos selecionados dentre o número N de elementos.
[009] De acordo com outro exemplo da presente revelação, proporciona-se um dispositivo de decodificação que realiza uma decodificação de imagem. O dispositivo de decodificação inclui um decodificador de entropia que deriva coeficientes de transformada de um bloco alvo a partir de um fluxo de bits, um transformador inverso que deriva amostras residuais para o bloco alvo com base em um transformada seletiva para os coeficientes de transformada, e um adicionador que gera uma gravura reconstruída com base nas amostras residuais para o bloco alvo e amostras de predição para o bloco alvo, em que a transformada seletiva é realizada com base em uma matriz de transformada modificada, a matriz de transformada modificada é uma matriz que inclui um vetor de base modificado, e o vetor de base modificado inclui um número específico de elementos selecionados dentre o número N de elementos.
[010] De acordo com ainda outro exemplo da presente revelação, proporciona-se um método de codificação de vídeo que é realizado por um dispositivo de codificação. O método inclui derivar amostras residuais de um bloco alvo, derivar coeficientes de transformada do bloco alvo com base em uma transformada seletiva para as amostras residuais, e codificar informações sobre os coeficientes de transformada, em que a transformada seletiva é realizada com base em uma matriz de transformada modificada, a matriz de transformada modificada é uma matriz que inclui um vetor de base modificado, e o vetor de base modificado inclui um número específico de elementos selecionados dentre o número N de elementos.
[011] De acordo com ainda outro exemplo da presente revelação, proporciona-se um dispositivo de codificação de vídeo. O dispositivo de codificação inclui um adicionador que deriva amostras residuais de um bloco alvo, um transformador que deriva coeficientes de transformada do bloco alvo com base em uma transformada seletiva para as amostras residuais, e um codificador de entropia que codifica informações sobre os coeficientes de transformada, em que a transformada seletiva é realizada com base em uma matriz de transformada modificada, a matriz de transformada modificada é uma matriz que inclui um vetor de base modificado, e o vetor de base modificado inclui um número específico de elementos selecionado dentre o número N de elementos.
[012] De acordo com a presente revelação, através de uma transformada eficiente, é possível reduzir a quantidade de dados que devem ser transferidos para um processo residual, e aumentar a eficiência de codificação residual.
[013] De acordo com a presente revelação, é possível realizar um transformada não separável com base em uma matriz de transformada que consiste em um vetor de base que inclui um número específico de elementos selecionados, através dos quais é possível reduzir uma carga de memória e a complexidade computacional para transformada não separável, e aumentar a eficiência de codificação residual.
[014] De acordo com a presente revelação, a transformada não separável pode ser realizada com base em uma matriz de transformada de uma estrutura simplificada, através da qual é possível reduzir a quantidade de dados que devem ser transferidos para um processo residual, para amentar a eficiência de codificação residual.
BREVE DESCRIÇÃO DOS DESENHOS
[015] A Figura 1 é um diagrama esquemático que ilustra uma configuração de um aparelho de codificação de vídeo ao qual a presente revelação é aplicável.
[016] A Figura 2 é um diagrama esquemático que ilustra uma configuração de um aparelho de decodificação de vídeo ao qual a presente revelação é aplicável.
[017] A Figura 3 representa, de modo esquemático, uma técnica de transformada múltipla de acordo com a presente revelação.
[018] A Figura 4 representa, de modo ilustrativo, modos intradirecionais de 65 direções de predição.
[019] As Figuras 5A a 5C são diagramas para explicar uma transformada seletiva de acordo com um exemplo da presente revelação.
[020] A Figura 6 representa, de modo esquemático, uma técnica de transformada múltipla na qual a transformada seletiva é aplicada como uma transformada secundária.
[021] A Figura 7 é um diagrama para explicar a disposição de coeficientes de transformada com base em um bloco alvo de acordo com um exemplo da presente revelação.
[022] A Figura 8 representa um exemplo onde os coeficientes de transformada são derivados através de uma transformada na qual a transformada reduzida e a transformada seletiva são combinadas entre si.
[023] A Figura 9 representa um exemplo onde os coeficientes de transformada são derivados através da transformada seletiva.
[024] A Figura 10 representa um exemplo onde a transformada seletiva é realizada derivando um vetor de associação com base em dois fatores para o vetor de associação.
[025] A Figura 11 representa, de modo esquemático, um método de codificação de imagem por um dispositivo de codificação de acordo com a presente revelação.
[026] A Figura 12 representa, de modo esquemático, um dispositivo de codificação que realiza um método de codificação de imagem de acordo com a presente revelação.
[027] A Figura 13 representa, de modo esquemático, um método de decodificação de imagem por um dispositivo de decodificação de acordo com a presente revelação.
[028] A Figura 14 representa, de modo esquemático, um dispositivo de decodificação que realiza um método de decodificação de imagem de acordo com a presente revelação.
DESCRIÇÃO DAS MODALIDADES EXEMPLIFICADORAS
[029] A presente revelação pode ser modificada de várias formas, e modalidades específicas da mesma serão descritas e ilustradas nos desenhos. No entanto, as modalidades não são destinados para limitar a revelação. Os termos usados na descrição a seguir são usados meramente para descrever modalidades específicas, mas não são destinadas a limitar a revelação. Uma expressão de um número singular inclui uma expressão do número no plural, desde que seja claramente lida de modo diferente. Os termos como “incluir” e “ter” são destinados a indicar que os recursos, números, etapas, operações, elementos, componentes, ou combinações dos mesmos usados na descrição a seguir existem e deve-se compreender que a possibilidade de existência ou adição de um ou mais diferentes recursos, números, etapas, operações, elementos, componentes, ou combinações dos mesmos não é excluída.
[030] Entretanto, elementos descritos na revelação são desenhados independentemente para o propósito de conveniência para explicação de diferentes funções específicas, e não significa que os elementos são incorporados por hardware independente ou software independente. Por exemplo, dois ou mais elementos dos elementos podem ser combinados para formar um elemento único, ou um elemento pode ser dividido em elementos plurais. As modalidades em que os elementos são combinados e/ou divididos pertencem à revelação sem divergir do conceito da revelação.
[031] Doravante, modalidades da presente revelação serão descritas em detalhes com referência aos desenhos anexos. Além disso, referências numéricas similares são usadas para indicar elementos similares ao longo dos desenhos, e as mesmas descrições em elementos similares serão omitidas.
[032] Entretanto, a presente revelação se refere à codificação de vídeo/imagem. Por exemplo, os métodos/modalidades revelados na presente revelação podem ser aplicados a um método revelado em um padrão de codificação de vídeo versátil (VVC) ou um padrão de codificação de vídeo/imagem de próxima geração.
[033] No presente relatório descritivo, em geral uma gravura significa uma unidade que representa uma imagem em um tempo específico, uma fatia é uma unidade que constitui uma parte da gravura. Uma gravura pode ser composta por várias fatias, e os termos de uma gravura e uma fatia podem ser misturadas entre si conforme a ocasião demanda.
[034] Um pixel ou um pel pode significar uma unidade mínima que constitui uma gravura (ou imagem). Ademais, uma “amostra” pode ser usada como um termo correspondente a um pixel. A amostra pode representar, em geral, um pixel ou um valor de um pixel, pode representar somente um pixel (um valor de pixel) de um componente de luma, e pode representar somente um pixel (um valor de pixel) de um componente de croma.
[035] Uma unidade indica uma unidade básica de processamento de imagem. A unidade pode incluir pelo menos uma área específica e informações relacionadas à área. Opcionalmente, a unidade pode ser misturada com termos tais como um bloco, uma área, ou similares. Em um caso típico, um bloco MxN pode representar um conjunto de amostras ou coeficientes de transformada dispostos em M colunas e N fileiras.
[036] A Figura 1 é um diagrama esquemático que ilustra uma configuração de um dispositivo de codificação de vídeo ao qual a presente revelação é aplicável.
[037] Com referência à Figura 1, um dispositivo de codificação de vídeo (100) pode incluir um particionador de gravura (105), um preditor (110), um processador residual (120), um codificador de entropia (130), um adicionador (140), um filtro (150) e uma memória (160). O processador residual (120) pode incluir um subtrator (121), um transformador (122), um quantizador (123), um rearranjador (124), um desquantizador (125), um transformador inverso (126).
[038] O particionador de gravura (105) pode dividir uma gravura de entrada em pelo menos uma unidade de processamento.
[039] Em um exemplo, a unidade de processamento pode ser referida como uma unidade de codificação (CU). Nesse caso, a unidade de codificação pode ser recursivamente dividida a partir da maior unidade de codificação (LCU) de acordo com uma estrutura de árvore binária e árvore quadrática (QTBT). Por exemplo, uma unidade de codificação pode ser dividida em uma pluralidade de unidades de codificação de uma profundidade maior com base em uma estrutura de árvore quadrática e/ou uma estrutura de árvore binária. Nesse caso, por exemplo, a estrutura de árvore quadrática pode ser primeiramente aplicada e a estrutura de árvore binária pode ser aplicada posteriormente. Alternativamente, a estrutura de árvore binária/estrutura de árvore terciária pode ser primeiramente aplicada. O procedimento de codificação de acordo com a presente revelação pode ser realizado com base em uma unidade de codificação final que não está mais dividida. Nesse caso, a maior unidade de codificação pode ser usada como a unidade de codificação final com base na eficiência de codificação, ou similares, dependendo das características de gravura, ou a unidade de codificação pode ser recursivamente dividida em unidades de codificação de uma profundidade mais baixa conforme necessário e uma unidade de codificação que tem um tamanho ideal pode ser usada como a unidade de codificação final. No presente documento, o procedimento de codificação pode incluir um procedimento como predição, transformadatransformadatransformadatransformada e reconstrução, que será descrito posteriormente.
[040] Em um outro exemplo, a unidade de processamento pode incluir uma unidade de codificação (CU), uma unidade de predição (PU) ou uma unidade de transformada (TU). A unidade de codificação pode ser dividida a partir da maior unidade de codificação (LCU) em unidades de codificação de uma profundidade maior de acordo com a estrutura de árvore quadrática. Nesse caso, a maior unidade de codificação pode ser diretamente usada como a unidade de codificação final com base na eficiência de codificação, ou similares, dependendo das características de gravura, ou a unidade de codificação pode ser recursivamente dividida em unidades de codificação de uma profundidade maior conforme necessário e uma unidade de codificação que tem um tamanho ideal pode ser usada como uma unidade de codificação final. Quando a menor unidade de codificação (SCU) for definida, a unidade de codificação pode não ser dividida em unidades de codificação menores que a menor unidade de codificação. No presente documento, a unidade de codificação final refere-se a uma unidade de codificação que é particionada ou dividida em uma unidade de predição ou uma unidade de transformada. A unidade de predição é uma unidade que é particionada a partir de uma unidade de codificação, e pode ser uma unidade de predição de amostra. No presente documento, a unidade de predição pode ser dividida em sub-blocos. A unidade de transformada pode ser dividida a partir da unidade de codificação de acordo com a estrutura de árvore quadrática e pode ser uma unidade para derivar um coeficiente de transformada e/ou uma unidade para derivar um sinal residual do coeficiente de transformada. Mais adiante neste documento, a unidade de codificação pode ser chamada de um bloco de codificação (CB), a unidade de predição pode ser chamada de um bloco de predição (PB) e a unidade de transformada pode ser referida como um bloco de transformada (TB). O bloco de predição ou unidade de predição pode se referir a uma área específica sob a forma de um bloco em uma gravura e incluir uma matriz de amostras de predição. Também, o bloco de transformada ou unidade de transformada pode se referir a uma área específica sob a forma de um bloco em uma gravura e incluir o coeficiente de transformada ou uma matriz de amostras residuais.
[041] O preditor (110) pode executar a predição em um bloco de destino de processamento (doravante, um bloco atual), e pode gerar um bloco previsto incluindo amostras de predição do bloco atual. Uma unidade de predição executada no preditor (110) pode ser um bloco de codificação, ou pode ser um bloco de transformada, ou pode ser um bloco de predição.
[042] O preditor (110) pode determinar se a intrapredição é aplicada ou a interpredição é aplicada ao bloco atual. Por exemplo, o preditor (110) pode determinar se a intrapredição ou a interpredição é aplicada à unidade de CU.
[043] No caso da intrapredição, o preditor (110) pode derivar uma amostra de predição do bloco atual com base em uma amostra de referência fora do bloco atual em uma gravura à qual o bloco atual pertence (doravante, uma gravura atual). Nesse caso, o preditor 110 pode derivar a amostra de predição com base em uma média ou interpolação de amostras de referência vizinhas do bloco atual (caso (i)), ou pode derivar a amostra de predição com base em uma amostra de referência que existe em uma direção específica (predição) quanto a uma amostra de predição entre as amostras de referência vizinhas do bloco atual (caso (ii)). O caso (i) pode ser chamado de um modo não direcional ou um modo não angular, e o caso (ii) pode ser chamado de um modo direcional ou um modo angular. Na intrapredição, os modos de predição podem incluir como um exemplo, 33 modos direcionais e pelo menos dois modos não direcionais. Os modos não direcionais podem incluir o modo DC e o modo planar. O preditor 110 pode determinar a aplicação do modo de predição ao bloco atual usando o modo de predição aplicado ao bloco vizinho.
[044] No caso da interpredição, o preditor (110) pode derivar a amostra de predição do bloco atual com base em uma amostra especificada por um vetor de movimento em uma gravura de referência. O preditor (110) pode derivar a amostra de predição do bloco atual aplicando qualquer um dentre um modo de salto, um modo de mesclagem e um modo de predição de vetor de movimento (MVP). No caso do modo de salto e no modo de mesclagem, o preditor (110) pode usar informações de movimento do bloco vizinho como informações de movimento do bloco atual. No caso do modo de salto, ao contrário do modo de mesclagem, uma diferença (residual) entre a amostra de predição e uma amostra original não é transmitida. No caso do modo MVP, um vetor de movimento do bloco vizinho é usado como um preditor de vetor de movimento e, logo, é usado como um preditor de vetor de movimento do bloco atual para derivar um vetor de movimento do bloco atual.
[045] No caso da 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 vizinho temporal também pode ser chamada de uma gravura colocalizada (colPic). As informações de movimento podem incluir o vetor de movimento e um índice de gravura de referência. Informações como informações de modo de predição e informações de movimento podem ser codificadas (entropia) e, então, emitidas como uma forma de fluxo de bits.
[046] Quando as informações de movimento de um bloco vizinho temporal forem usadas no modo de omissão e no modo de mesclagem, uma gravura mais alta em uma lista de gravuras de referência pode ser usada como uma gravura de referência. As gravuras de referência incluídas na lista de gravuras de referência podem ser alinhadas com base em uma diferença de contagem de ordem de gravura (POC) entre uma gravura atual e uma gravura de referência correspondente. Uma POC corresponde a uma ordem de exibição e pode ser discriminada de uma ordem de codificação.
[047] O subtrator (121) gera uma amostra residual que é uma diferença entre uma amostra original e uma amostra de predição. Se o modo de omissão for aplicado, a amostra residual pode não ser gerada conforme descrito acima.
[048] O transformador (122) transforma as amostras residuais em unidades de um bloco de transformada para gerar um coeficiente de transformada. O transformador (122) pode executar uma transformadatransformadatransformadatransformada com base no tamanho de um bloco de transformada correspondente e um modo de predição aplicado a um bloco de codificação ou bloco de predição espacialmente sobreposto ao bloco de transformada. Por exemplo, as amostras residuais podem ser transformadas usando um núcleo de transformadatransformadatransformadatransformada de transformada discreta de seno (DST) se a intrapredição for aplicada ao bloco de codificação ou o bloco de predição se sobrepuser ao bloco de transformada e o bloco de transformada for uma matriz residual 4x4 e for transformado usando o núcleo de transformadatransformadatransformadatransformada de transformada discreta de cosseno (DCT) em outros casos.
[049] O quantizador (123) pode quantizar os coeficientes de transformada para gerar coeficientes de transformada quantizados.
[050] O rearranjador (124) rearranja os coeficientes de transformada quantizados. O rearranjador (124) pode rearranjar os coeficientes de transformada quantizados sob a forma de um bloco em um vetor unidimensional através de um método de varredura de coeficiente. Embora o rearranjador (124) seja descrito como um componente separado, o rearranjador (124) pode fazer parte do quantizador (123).
[051] O codificador de entropia (130) pode executar uma codificação de entropia nos coeficientes de transformada quantizados. A codificação de entropia pode incluir um método de codificação, por exemplo, um Golomb exponencial, uma codificação de comprimento variável adaptável ao contexto (CAVLC), uma codificação aritmética binária adaptável ao contexto (CABAC), ou similares. O codificador de entropia (130) pode executar a codificação, em conjunto ou separadamente de informações (por exemplo, um valor de elemento de sintaxe ou similares) necessário para a reconstrução de vídeo além dos coeficientes de transformada quantizados. As informações codificadas por entropia podem ser transmitidas ou armazenadas na unidade de uma camada de abstração de rede (NAL) em uma forma de fluxo de bits.
[052] O desquantizador (125) desquantiza valores (coeficientes de transformada) quantizados pelo quantizador (123) e a transformada inversa (126) transforma inversamente os valores desquantizados pelo desquantizador (125) para gerar uma amostra residual.
[053] O adicionador (140) soma uma amostra residual a uma amostra de predição para reconstruir uma gravura. A amostra residual pode ser adicionada à amostra de predição em unidades de um bloco para gerar um bloco reconstruído. Embora o adicionador (140) seja descrito como um componente separado, o adicionador (140) pode fazer parte do preditor (110). Entretanto, o adicionador (140) pode ser referido como um reconstrutor ou gerador de bloco reconstruído.
[054] O filtro (150) pode aplicar a filtragem de desbloqueio e/ou um deslocamento adaptativo à gravura reconstruída. Os artefatos em um contorno de bloco na gravura reconstruída ou distorção na quantização podem ser corrigidos através de filtragem de desbloqueio e/ou deslocamento adaptativo à amostra. O deslocamento adaptativo à amostra pode ser aplicado em unidades de uma amostra após a filtragem de desbloqueio ser concluída. O filtro (150) pode aplicar um filtro em laço adaptativo (ALF) à gravura reconstruída. O ALF pode ser aplicado à gravura reconstruída à qual a filtragem de desbloqueio e/ou deslocamento adaptativo à amostra foi aplicada.
[055] A memória (160) pode armazenar uma gravura reconstruída (figuração decodificada) ou informações necessárias para a codificação/decodificação. No presente documento, a gravura reconstruída pode ser a gravura reconstruída filtrada pelo filtro (150). A gravura reconstruída armazenada pode ser usada como uma gravura de referência para (inter) predição de outras gravuras. Por exemplo, a memória 160 pode armazenar gravuras (de referência) usadas para interpredição. No presente documento, as gravuras usadas para interpredição podem ser designadas de acordo com uma gravura de referência definida ou uma lista de gravuras de referência.
[056] A Figura 2 é um diagrama esquemático que ilustra uma configuração de um dispositivo de decodificação de vídeo ao qual a presente revelação é aplicável.
[057] Referindo-se à Figura 2, um dispositivo de decodificação de vídeo (200) pode incluir um decodificador de entropia (210), um processador residual (220), um preditor (230), um adicionador (240), um filtro (250), e uma memória (260). O processador residual (220) pode incluir um rearranjador (221), um desquantizador (222), um transformador inverso (223).
[058] Quando um fluxo de bits que inclui informações de vídeo for inserido, o dispositivo de decodificação de vídeo (200) pode reconstruir um vídeo em relação a um processo através do qual informações de vídeo são processadas no dispositivo de codificação de vídeo.
[059] Por exemplo, o dispositivo de decodificação de vídeo (200) pode realizar decodificação de vídeo usando uma unidade de processamento aplicada no dispositivo de codificação de vídeo. Logo, o bloco de unidade de processamento de decodificação de vídeo pode ser, por exemplo, uma unidade de codificação e, em outro exemplo, uma unidade de codificação, uma unidade de predição ou uma unidade de transformada. A unidade de codificação pode ser dividida a partir da maior unidade de codificação de acordo com a estrutura de árvore quadrática e/ou a estrutura de árvore binária.
[060] Uma unidade de predição e uma unidade de transformada podem ser adicionalmente usados em alguns casos, e nesse caso, o bloco de predição é um bloco derivado ou particionado da unidade de codificação e pode ser uma unidade de predição de amostra. No presente documento, a unidade de predição pode ser dividida em sub-blocos. A unidade de transformada pode ser dividida a partir da unidade de codificação de acordo com a estrutura de árvore quadrática e pode ser uma unidade que deriva um coeficiente de transformada ou uma unidade que deriva um sinal residual do coeficiente de transformada.
[061] O decodificador de entropia (210) pode analisar o fluxo de bits para emitir informações necessárias para reconstrução de vídeo ou reconstrução de gravura. Por exemplo, o decodificador de entropia (210) 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 um elemento de sintaxe necessário para reconstrução de vídeo e um valor quantizado de um coeficiente de transformada referente a um residual.
[062] De modo mais específico, um método de decodificação de entropia CABAC pode receber um bin correspondente a cada elemento de sintaxe em um fluxo de bits, determinar um modelo de contexto usando informações de elemento de sintaxe de destino de decodificação e informações de decodificação de blocos de destino vizinhos e de decodificação ou informações de um símbolo/bin decodificado em uma etapa anterior, prever a probabilidade de geração de bin de acordo com o modelo de contexto determinado e executar a decodificação aritmética do bin para gerar um símbolo correspondente a cada valor de elemento de sintaxe. No presente documento, o método de decodificação de entropia CABAC pode atualizar o modelo de contexto usando informações de um símbolo/bin decodificado para um modelo de contexto do próximo símbolo/bin após a determinação do modelo de contexto.
[063] As informações sobre predição entre as informações decodificadas no decodificador de entropia 210 podem ser fornecidas ao preditor (230) e valores residuais, ou seja, coeficientes de transformada quantizados, em que a decodificação de entropia foi realizada pelo decodificador de entropia (210) podem ser inseridos no rearranjador (221).
[064] O rearranjador (221) pode rearranjar os coeficientes de transformada quantizados em uma forma de bloco bidimensional. O rearranjador (221) pode executar o rearranjo correspondente à varredura de correspondendo a realizada pelo dispositivo de codificação. Embora o rearranjador (221) seja descrito como um componente separado, o rearranjador (221) pode fazer parte do desquantizador (222).
[065] O desquantizador (222) pode desquantizar os coeficientes de transformada quantizados com base em um parâmetro de (des)quantização para emitir um coeficiente de transformada. Nesse caso, as informações para derivar um parâmetro de quantização podem ser sinalizadas a partir do dispositivo de codificação.
[066] A transformada inversa (223) pode transformar inversamente os coeficientes de transformada para derivar amostras residuais.
[067] O preditor (230) pode executar a predição em um bloco atual, e pode gerar um bloco previsto incluindo amostras de predição do bloco atual. Uma unidade de predição executada no preditor (230) pode ser um bloco de codificação ou pode ser um bloco de transformada ou pode ser um bloco de predição.
[068] O preditor (230) pode determinar se deve aplicar intrapredição ou interpredição com base em informações sobre uma predição. Nesse caso, uma unidade para determinar qual será usada entre a intrapredição e a interpredição pode ser diferente de uma unidade para gerar uma amostra de predição. Além disso, uma unidade para gerar a amostra de predição também pode ser diferente na interpredição e na intrapredição. Por exemplo, qual será aplicada entre a interpredição e a intrapredição pode ser determinada em unidade de CU. Ademais, por exemplo, na interpredição, a amostra de predição pode ser gerada determinando-se o modo de predição em unidade de PU, e na intrapredição, a amostra de predição pode ser gerada em unidade de TU determinando-se o modo de predição em unidade de PU.
[069] No caso da intrapredição, o preditor (230) pode derivar uma amostra de predição de um bloco atual com base em uma amostra de referência vizinha em uma gravura atual. O preditor (230) pode derivar a amostra de predição do bloco atual aplicando-se um modo direcional ou um modo não direcional com base na amostra de referência vizinha do bloco atual. Nesse caso, um modo de predição que será aplicado ao bloco atual pode ser determinado usando um modo de intrapredição de um bloco vizinho.
[070] No caso de interpredição, o preditor (230) pode derivar uma amostra de predição de um bloco atual com base em uma amostra especificada em uma gravura de referência de acordo com um vetor de movimento. O preditor (230) pode derivar a amostra de predição do bloco atual usando um dentre o modo de omissão, o modo de mesclagem e o modo MVP. No presente documento, as informações de movimento necessárias para interpredição do bloco atual fornecidas pelo dispositivo de codificação de vídeo, por exemplo, um vetor de movimento e informações sobre um índice de gravura de referência podem ser obtidas ou derivadas com base nas informações sobre predição.
[071] No modo de omissão e no modo de mesclagem, as informações de movimento de um bloco vizinho podem ser usadas como informações de movimento do bloco atual. No presente documento, o bloco vizinho pode incluir um bloco vizinho espacial e um bloco vizinho temporal.
[072] O preditor (230) pode construir uma lista de candidatos à mesclagem usando informações de movimento de blocos vizinhos disponíveis e usar informações indicadas por um índice de mesclagem sobre a lista de candidatos à mesclagem como um vetor de movimento do bloco atual. O índice de mesclagem pode ser sinalizado pelo dispositivo de codificação. As informações de movimento podem incluir um vetor de movimento e uma gravura de referência. Quando informações de movimento de um bloco vizinho temporal forem usadas no modo de omissão e no modo de mesclagem, uma gravura mais superior em uma lista de gravuras de referência pode ser usada como uma gravura de referência.
[073] No caso do modo de omissão, uma diferença (residual) entre uma amostra de predição e uma amostra original não é transmitida, distinguida do modo de mesclagem.
[074] No caso do modo MVP, o vetor de movimento do bloco atual pode ser derivado usando um vetor de movimento de um bloco vizinho como um preditor de vetor de movimento. No presente documento, o bloco vizinho pode incluir um bloco vizinho espacial e um bloco vizinho temporal.
[075] Quando o modo de mesclagem for aplicado, por exemplo, uma lista de candidatos à mesclagem pode ser gerada usando um vetor de movimento de um bloco vizinho espacial reconstruído e/ou um vetor de movimento correspondente a um bloco Col que é um bloco vizinho temporal. Um vetor de movimento de um bloco de candidatos selecionado dentre a lista de candidatos à mesclagem é usado como o vetor de movimento do bloco atual no modo de mesclagem. As informações supracitadas sobre predição podem incluir um índice de mesclagem indicando um bloco de candidatos que tem o melhor vetor de movimento selecionado dentre os blocos de candidatos incluídos na lista de candidatos à mesclagem. No presente documento, o preditor (230) pode derivar o vetor de movimento do bloco atual usando o índice de mesclagem.
[076] Quando o modo MVP (Predição de vetor de Movimento) for aplicado como outro exemplo, uma lista de candidatos a preditor de vetor de movimento pode ser gerada usando um vetor de movimento de um bloco vizinho espacial reconstruído e/ou um vetor de movimento correspondente a um bloco Col que é um bloco vizinho temporal. Ou seja, o vetor de movimento do bloco vizinho espacial reconstruído e/ou o vetor de movimento correspondente ao bloco Col que é o bloco vizinho temporal pode ser usado como candidatos a vetor de movimento. As informações supracitadas sobre predição podem incluir um índice de vetor de movimento de predição indicando o melhor vetor de movimento selecionado dentre candidatos a vetor de movimento incluídos na lista. No presente documento, o preditor 330 pode selecionar um vetor de movimento de predição do bloco atual a partir dos candidatos a vetor de movimento incluídos na lista de candidatos a vetor de movimento usando o índice de vetor de movimento. O preditor do dispositivo de codificação pode obter uma diferença de vetor de movimento (MVD) entre o vetor de movimento do bloco atual e um preditor de vetor de movimento, codificar a MVD e emitir a MVD codificada sob a forma de um fluxo de bits. Ou seja, a MVD pode ser obtida pela subtração do preditor de vetor de movimento do vetor de movimento do bloco atual. No presente documento, o preditor 230 pode obter um vetor de movimento incluído nas informações sobre predição e derivar o vetor de movimento do bloco atual pela soma da diferença de vetor de movimento ao preditor de vetor de movimento. Além disso, o preditor pode obter ou derivar um índice de gravura de referência indicando uma gravura de referência a partir das informações supracitadas sobre predição.
[077] O adicionador (240) pode somar uma amostra residual a uma amostra de predição para reconstruir um bloco atual ou uma gravura atual. O adicionador (240) pode reconstruir a gravura atual pela soma da amostra residual à amostra de predição em unidades de um bloco. Quando o modo de omissão for aplicado, um residual não é transmitido e, dessa forma, a amostra de predição pode se tornar uma amostra reconstruída. Embora o adicionador (240) seja descrito como um componente separado, o adicionador (240) pode fazer parte do preditor (230). Entretanto, o adicionador (240) pode ser referido como um reconstrutor ou gerador de bloco reconstruído.
[078] O filtro (250) pode aplicar filtragem de desbloqueio, deslocamento adaptativo à amostra e/ou ALF à gravura reconstruída. No presente documento, o deslocamento adaptativo à amostra pode ser aplicado em unidades de uma amostra após a filtragem de desbloqueio. O ALF pode ser aplicado após a filtragem de desbloqueio e/ou aplicação de deslocamento adaptativo à amostra.
[079] A memória (260) pode armazenar uma gravura reconstruída (figuração decodificada) ou informações necessárias para a decodificação. No presente documento, a gravura reconstruída pode ser a gravura reconstruída filtrada pelo filtro (250). Por exemplo, a memória (260) pode armazenar gravuras usadas para interpredição. No presente documento, as gravuras usadas para interpredição podem ser designadas de acordo com uma gravura de referência definida ou uma lista de gravuras de referência. Uma gravura reconstruída pode ser usada como uma gravura de referência para outras gravuras. A memória (260) pode emitir gravuras reconstruídas em uma ordem de saída.
[080] Entretanto, os coeficientes de transformada de menor frequência para o bloco residual do bloco atual podem ser derivados através da transformada descrita anteriormente, e uma cauda zero pode ser derivada na extremidade do bloco residual.
[081] De modo específico, a transformada pode consistir em dois processos principais, e os processos principais podem incluir uma transformada principal e uma transformada secundária. Uma transformada que inclui a transformada principal e a transformada secundária pode ser representada como uma técnica de transformada múltipla.
[082] A Figura 3 ilustra de modo esquemático uma técnica de transformada múltipla de acordo com a presente revelação.
[083] Referindo-se à Figura 3, um transformador pode corresponder ao transformador no dispositivo de codificação supramencionado da Figura 1, e um transformador inverso pode corresponder ao transformador inverso supramencionado no dispositivo de codificação da Figura 1 ou no transformador inverso supramencionado no dispositivo de decodificação da Figura 2.
[084] O transformador pode derivar coeficientes de transformada (primários) realizando-se uma transformada primária com base em amostras residuais (arranjo de amostra residual) em um bloco residual (S310). Nesse sentido, a transformada primária pode incluir uma transformada principal múltipla adaptativa (AMT). A transformada principal múltipla adaptativa pode ser representada como um conjunto de transformada múltipla (MTS).
[085] A transformada principal múltipla adaptativa pode representar um método para transformar usando adicionalmente uma Transformada de Cosseno Discreta (DCT) tipo 2, uma Transformada de Seno Discreta (DST) tipo 7, um DCT tipo 8, e/ou um DST tipo 1. Ou seja, a transformada principal múltipla adaptativa pode representar um método de transformada para transformar um sinal residual (ou um bloco residual) no domínio espacial nos coeficientes de transformada (ou coeficientes de transformada primária) no domínio de frequência com base em uma pluralidade de núcleos de transformada selecionados a partir do DCT tipo 2, DST tipo 7, DCT tipo 8, e DST tipo 1. Nesse sentido, os coeficientes de transformada primária podem ser referidos como coeficientes de transformada temporários a partir do ponto de vista do transformador.
[086] Em outras palavras, se o método de transformada existente for aplicado, os coeficientes de transformada podem ser gerados aplicando-se uma transformada do domínio espacial a um domínio de frequência para um sinal residual (ou um bloco residual) com base no DCT tipo 2. Por outro lado, se a transformada principal múltipla adaptativa for aplicada, os coeficientes de transformada (ou coeficientes de transformada primários) podem ser gerados aplicando-se uma transformada a partir de um domínio espacial a um domínio de frequência para um sinal residual (ou um bloco residual) com base no DCT tipo 2, DST tipo 7, DCT tipo 8, e/ou DST tipo 1. No presente documento, DCT tipo 2, DST tipo 7, DCT tipo 8 e DST tipo 1 podem ser referidos como um tipo de transformada, um núcleo de transformada, ou um principal de transformada.
[087] A título de referência, os tipos de transformada DCT/DST podem ser definidos com base em funções de base, e as funções de base podem ser representadas conforme mostrado na tabela a seguir.
Figure img0001
Figure img0002
[088] Se uma transformada principal múltipla adaptativa for realizada, um núcleo de transformada vertical e um núcleo de transformada horizontal para um bloco alvo dentre os núcleos de transformada podem ser selecionados, e 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 de transformada horizontal. No presente documento, 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. O núcleo de transformada vertical/núcleo de transformada horizontal pode ser adaptativamente determinado com base em um índice de transformada que indica um modo de predição e/ou um subconjunto de transformada de um bloco alvo (CU ou sub-bloco) que abrange um bloco residual.
[089] Por exemplo, a transformada principal múltipla adaptativa pode ser aplicada quando a largura e a altura do bloco alvo forem menores ou iguais a 64, e a determinação pode ser feita com base em um indicador de nível de CU quanto a se a transformada principal múltipla adaptativa do bloco alvo é aplicada. De modo específico, se o indicador de nível de CU for 0, o método de transformada existente descrito anteriormente pode ser aplicado. Ou seja, se o indicador de nível de CU for 0, coeficientes de transformada podem ser gerados aplicando-se uma transformada a partir de um domínio espacial a um domínio de frequência para um sinal residual (ou bloco residual) com base no DCT tipo 2, e os coeficientes de transformada podem ser codificados. Entretanto, o bloco alvo pode ser um CU. Se o indicador de nível de CU for 0, a transformada principal múltipla adaptativa pode ser aplicada ao bloco alvo.
[090] Ademais, se o bloco alvo ao qual a transformada principal múltipla adaptativa é aplicada for um bloco de luma, dois indicadores adicionais podem ser sinalizados, e o núcleo de transformada vertical e o núcleo de transformada horizontal podem ser selecionados com base nos indicadores. O indicador para o núcleo de transformada vertical pode ser representado como um indicador AMT vertical, e AMT_TU_vertical_flag (ou EMT_TU_vertical_flag) pode representar um elemento de sintaxe do indicador AMT vertical. O indicador para o núcleo de transformada horizontal pode ser representado como um indicador AMT horizontal, e AMT_TU_horizontal_flag (ou EMT_TU_horizontal_flag) pode representar um elemento de sintaxe do indicador AMT horizontal. O indicador AMT vertical pode indicar um candidato de núcleo de transformada de candidatos de núcleo de transformada incluídos no subconjunto de transformada para o núcleo de transformada vertical, e o candidato de núcleo de transformada indicado pelo indicador AMT vertical pode ser derivado como um núcleo de transformada vertical para o bloco alvo. Ademais, o indicador AMT horizontal pode indicar um candidato de núcleo de transformada de candidatos de núcleo de transformada incluídos no subconjunto de transformada para o núcleo de transformada horizontal, e o candidato de núcleo de transformada indicado pelo indicador AMT horizontal pode ser derivado como um núcleo de transformada horizontal para o bloco alvo. Entretanto, o indicador AMT vertical pode ser representado como um indicador MTS vertical, e o indicador AMT horizontal pode ser representado como um indicador MTS horizontal.
[091] Entretanto, três subconjuntos de transformada podem ser predeterminados, e um dos subconjuntos de transformadas pode ser derivado como um subconjunto de transformada para o núcleo de transformada vertical com base no modo de intrapredição aplicado ao bloco alvo. Ademais, um dos subconjuntos de transformadas pode ser derivado como um subconjunto de transformada para o núcleo de transformada horizontal com base no modo de intrapredição aplicado ao bloco alvo. Por exemplo, os subconjuntos de transformadas predeterminados podem ser derivados conforme na tabela a seguir.
Figure img0003
[092] Referindo-se à Figura 2, o subconjunto de transformada cujo valor de índice é 0 pode representar o subconjunto de transformada incluindo o DST tipo 7 e o DCT tipo 8 como um candidato de núcleo de transformada, o subconjunto de transformada cujo valor de índice é 1 pode representar o subconjunto de transformada incluindo o DST tipo 7 e o DST tipo 1 como um candidato de núcleo de transformada, e o subconjunto de transformada cujo valor de índice é 2 pode representar o subconjunto de transformada incluindo o DST tipo 7 e o DCT tipo 8 como um candidato de núcleo de transformada.
[093] O subconjunto de transformada para o núcleo de transformada vertical e o subconjunto de transformada para o núcleo de transformada horizontal que são derivados com base no modo de intrapredição aplicado ao bloco alvo podem ser derivados conforme mostrado na tabela a seguir.
Figure img0004
Figure img0005
[094] No presente documento, V representa o subconjunto de transformada para o núcleo de transformada vertical, e H representa o subconjunto de transformada para o núcleo de transformada horizontal.
[095] Se o valor do indicador AMT (ou EMT_CU_flag) para o bloco alvo for 1, o subconjunto de transformada para o núcleo de transformada vertical e o subconjunto de transformada para o núcleo de transformada horizontal podem ser derivados com base no modo de intrapredição do bloco alvo conforme mostrado na Tabela 3. Após isso, o candidato de núcleo de transformada dentre os candidatos de núcleo de transformada incluídos no subconjunto de transformada para o núcleo de transformada vertical, que o indicador AMT vertical do bloco alvo indica, pode ser derivado como o núcleo de transformada vertical do bloco alvo, e o candidato de núcleo de transformada dentre os candidatos de núcleo de transformada incluídos no subconjunto de transformada para o núcleo de transformada horizontal, que o indicador AMT horizontal do bloco alvo indica, pode ser derivado como o núcleo de transformada horizontal do bloco alvo. Entretanto, o indicador AMT pode ser representado como o indicador MTS.
[096] Por motivos de referência, em um exemplo, o modo de intrapredição pode incluir dois 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 No. 0, e um modo de intrapredição DC No. 1, e os modos de intrapredição direcionais podem incluir 65 modos de intrapredição entre um modo de intrapredição No. 2 e um modo de intrapredição No. 66. No entanto, esse é um exemplo, e a presente revelação pode ser aplicada a um caso onde existe um número diferente de modos de intrapredição. Entretanto, de acordo com as circunstâncias, um modo de intrapredição No. 67 pode ser adicionalmente usado, e o modo de intrapredição No. 67 pode representar um modo de modelo linear (LM).
[097] A Figura 4 representa ilustrativamente modos intradirecionais de 65 direções de predição.
[098] Referindo-se à Figura 4, com base no modo de intrapredição No. 34 tendo uma direção de predição diagonal superior esquerda, o modo de intrapredição tendo uma direcionalidade horizontal e o modo de intrapredição tendo uma direcionalidade vertical podem ser classificados. H e V da Figura 4 significam uma direcionalidade horizontal e uma direcionalidade vertical, respectivamente, e os numerais -32 a 32 indicam deslocamentos em unidades de 1/32 em posições de grade de amostra. Os modos de intrapredição Nos. 2 a 33 têm uma direcionalidade horizontal, e os modos de intrapredição Nos. 34 a 66 têm uma direcionalidade vertical. O modo de intrapredição No. 18 e o modo de intrapredição No. 50 representam um modo de intrapredição horizontal e um modo de intrapredição vertical, respectivamente, e o modo de intrapredição No. 2 pode ser denominado como um modo de intrapredição diagonal inferior esquerdo; modo de intrapredição No. 34, um modo de intrapredição diagonal superior esquerdo; e o modo de intrapredição No. 66, um modo de intrapredição diagonal superior direito.
[099] O transformador pode derivar coeficientes de transformada (secundários) realizando-se a transformada secundária com base nos coeficientes de transformada (primários) (S320). Se a transformada primária for a transformada a partir do domínio espacial ao domínio de frequência, a transformada secundária pode ser considerada como a transformada a partir do domínio de frequência. A transformada secundária pode incluir uma transformada não separável. Nesse caso, a transformada secundária pode ser referida como 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 a transformada que gera coeficientes de transformada (ou coeficientes de transformada secundários) para um sinal residual transformando-se secundariamente, com base na 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 não são aplicadas separadamente (ou as transformadas horizontal e vertical não são aplicadas independentemente) aos coeficientes de transformada (primários), mas as transformadas podem ser aplicadas de 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 coeficientes de transformada (ou os coeficientes de transformada secundários) são gerados não separando-se os componentes vertical e horizontal dos coeficientes de transformada (primários), mas transformando-os juntos com base na matriz de transformada não separável. A transformada secundária não separável pode ser aplicada a uma região superior esquerda de um bloco configurado por coeficientes de transformada (primários) (doravante, podem ser referidos como um bloco de coeficiente de transformada ou um bloco alvo). Por exemplo, se a largura (W) e a altura (H) do bloco de coeficiente de transformada forem todos iguais ou maiores que 8, uma transformada secundária não separável 8x8 pode ser aplicada à região 8x8 superior esquerda do bloco de coeficiente de transformada (doravante, referida como uma região alvo superior esquerda). Além disso, se tanto a largura (W) como a altura (H) do bloco de coeficiente de transformada forem todos iguais ou maiores que 4, e a largura (W) ou a altura (H) do bloco de coeficiente de transformada forem menores que 8, uma transformada secundária não separável 4x4 pode ser aplicada a uma região superior esquerda min (8, W) x min (8, H) do bloco de coeficiente de transformada.
[0100] De modo específico, por exemplo, se um bloco de entrada 4x4 for usado, a transformada secundária não separável pode ser realizada da seguinte forma.
[0101] O bloco de entrada 4x4 X pode ser representado da seguinte forma.
Figure img0006
[0102] Se X for expresso em uma forma vetorial, o vetor X pode ser representado conforme abaixo.
Figure img0007
[0103] Nesse caso, a transformada secundária não separável pode ser calculada conforme abaixo.
Figure img0008
[0104] onde, F representa um vetor de coeficiente de transformada e T denota uma matriz de transformada (não separável) 16x16.
[0105] Através da Equação 3 anterior, um vetor de coeficiente de transformada 16x1 F pode ser derivado através da Equação 3, e F pode ser reorganizado em um bloco 4x4 através de uma ordem de varredura (horizontal, vertical, diagonal, e similares). No entanto, o cálculo descrito anteriormente é um exemplo e uma transformada de Hypercube-Givens (HyGT) ou similares, pode ser usada 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.
[0106] Entretanto, na transformada secundária não separável, um núcleo de transformada (ou principal de transformada, tipo de transformada) pode ser selecionada dependentemente de modo. Nesse caso, o modo pode incluir um modo de intrapredição e/ou um modo de interpredição.
[0107] Conforme descrito anteriormente, a transformada secundária não separável pode ser realizada com base em uma transformada 8 x 8 ou uma transformada 4 x 4 determinada com base na largura (W) e na altura (H) do bloco de coeficiente de transformada. Ou seja, a transformada secundária não separável pode ser realizada com base em um tamanho de sub-bloco 8x8 ou um tamanho de sub-bloco 4x4. Por exemplo, a fim de selecionar o núcleo de transformada dependente de modo, 35 conjuntos de 3 núcleos de transformada secundária não separável para a transformada secundária não separável podem ser configurados para o tamanho de sub-bloco 8x8 e tamanho de sub-bloco 4x4. Ou seja, 35 conjuntos de transformada podem ser configurados para o tamanho de sub-bloco 8x8, e 35 conjuntos de transformada podem ser configurados para o tamanho de sub-bloco 4x4. Nesse caso, cada um dos 35 conjuntos de transformada para o tamanho de sub-bloco 8x8 podem incluir três núcleos de transformada 8x8, e, nesse caso, cada um dos 35 conjuntos de transformada para o tamanho de sub-bloco 4x4 pode incluir três núcleos de transformada 4x4. No entanto, o tamanho do sub-bloco de transformada, o número de conjuntos, e o número de núcleos de transformada no conjunto são exemplos, e qualquer outro tamanho além de 8x8 ou 4x4 pode ser usado, ou um número n de conjuntos pode ser configurado, e cada conjunto pode incluir um número k de núcleos.
[0108] O conjunto de transformada pode ser denominado como um conjunto de NSST, e o núcleo de transformada no conjunto de NSST pode ser denominado como um núcleo de NSST. A seleção de um conjunto específico dentre os conjuntos de transformada pode ser realizada, por exemplo, com base no modo de intrapredição do bloco alvo (CU ou sub-bloco).
[0109] Nesse caso, um mapeamento entre 35 conjuntos de transformada e os modos de intrapredição pode ser, por exemplo, representado conforme na tabela a seguir. Por motivos de referência, se um modo LM for aplicado a um bloco alvo, a transformada secundária não pode ser aplicada ao bloco alvo.
Figure img0009
Figure img0010
[0110] Entretanto, se for determinado que um conjunto específico deva ser usado, um número k de núcleos de transformada no conjunto específico pode ser selecionado através do índice de transformada secundária não separável. O dispositivo de codificação pode derivar um índice de transformada secundária não separável que indica um núcleo de transformada específica com base na verificação de distorção de taxa (RD), e pode sinalizar o índice de transformada secundária não separável ao dispositivo de decodificação. O dispositivo de decodificação pode selecionar um dentre o número k de 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 primeiro 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.
[0111] Referindo-se de volta à Figura 3, 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 (secundária). Conforme descrito anteriormente, os coeficientes de transformada podem ser derivados como coeficientes de transformada quantizados através do quantizador, e podem ser codificados e sinalizados ao dispositivo de decodificação e transferidos ao desquantizador/transformador inverso no dispositivo de codificação.
[0112] Entretanto, se a transformada secundária for omitida, coeficientes de transformada (primária), que são uma saída da transformada (separável) primária, podem ser derivados como coeficientes de transformada quantizados através do quantizador conforme descrito anteriormente, e podem ser codificados e sinalizados ao dispositivo de decodificação e transferidos ao desquantizador/transformador inverso no dispositivo de codificação.
[0113] O transformador inverso pode realizar uma série de procedimentos na ordem inversa àquela onde eles foram realizados no transformador descrito anteriormente. O transformador inverso pode receber coeficientes de transformador (desquantizados), e derivar coeficientes de transformada (primária) realizando-se uma transformada (inversa) secundária (S350), e pode obter um bloco residual (amostras residuais) realizando-se uma transformada (inversa) primária nos coeficientes de transformada (primária) (S360). Nesse sentido, os coeficientes de transformada primária podem ser denominados como coeficientes de transformada modificados a partir do ponto de vista do transformador inverso. Conforme descrito anteriormente, o dispositivo de codificação e o dispositivo de decodificação podem gerar um bloco reconstruído com base no bloco residual e no bloco predito, e podem gerar a gravura reconstruída com base no bloco reconstruído.
[0114] Entretanto, conforme descrito anteriormente, se a transformada (inversa) secundária for omitida, os coeficientes de transformada (desquantizados) podem ser recebidos, a transformada (separável) primária pode ser realizada, e o bloco residual (amostras residuais) pode ser obtido. Conforme descrito anteriormente, o dispositivo de codificação e o dispositivo de decodificação podem gerar o bloco reconstruído com base no bloco residual e no bloco predito, e podem gerar a gravura reconstruída com base no bloco reconstruído.
[0115] As Figuras 5A a 5C são diagramas para explicar uma transformada seletiva de acordo com um exemplo da presente revelação.
[0116] No presente relatório descritivo, o termo “bloco alvo” pode significar um bloco atual ou um bloco residual no qual uma codificação é realizada.
[0117] A Figura 5A representa um exemplo onde coeficientes de transformada são derivados através de uma transformada.
[0118] A transformada na codificação de vídeo pode representar um processo através do qual um vetor de coeficiente de transformada C para um vetor de entrada R é gerado transformando-se o vetor de entrada R com base em uma matriz de transformada conforme mostrado na Figura 5A. O vetor de entrada R pode representar coeficientes de transformada primária. Alternativamente, o vetor de entrada R pode representar um vetor residual, ou seja, amostras residuais. Entretanto, o vetor de coeficiente de transformada C pode ser representado como um vetor de saída C.
[0119] A Figura 5B representa um exemplo específico onde coeficientes de transformada são derivados através de uma transformada. A Figura 5B representa especificamente o processo de transformada mostrado na Figura 5A. Conforme descrito anteriormente na Figura 3, na transformada secundária não separável (doravante, referida como ‘NSST’), após dividir em blocos M x M em dados de bloco de coeficientes de transformada obtidos aplicando-se a transformada primária, NSST M2 x M2 pode ser realizado em cada bloco M x M. Por exemplo, M pode ser 4 ou 8, mas não se limita a isso. M2 pode ser N. Nesse caso, conforme mostrado na Figura 5B, o vetor de entrada R pode ser um vetor (1xN)-dimensional incluindo coeficientes de transformada (primária) r1 a rN, e o vetor de coeficiente de transformada C pode ser um vetor (Nx1)-dimensional incluindo coeficientes de transformada c1 a cN. Ou seja, o vetor de entrada R pode incluir um número N de coeficientes de transformada (primária) r1 a rN, e o tamanho do vetor de entrada R pode ser 1xN. Ademais, o vetor de coeficiente de transformada C pode incluir um número N de coeficientes de transformada c1 a cN, e o tamanho do vetor de coeficiente de transformada C pode ser Nx1.
[0120] A fim de derivar o vetor de coeficiente de transformada C, o vetor de entrada R pode ultrapassar a matriz de transformada. Ou seja, o vetor de entrada R pode ser derivado como o vetor de coeficiente de transformada C com base na matriz de transformada.
[0121] Entretanto, a matriz de transformada pode incluir um número N de vetores de base B1 a BN. Conforme mostrado na Figura 5B, os vetores de base B1 a BN podem ser vetores (1xN)-dimensionais. Ou seja, o tamanho dos vetores de base B1 a BN pode ser (1xN). O vetor de coeficiente de transformada C pode ser gerado com base nos coeficientes de transformada (primária) do vetor de entrada R e cada um dos vetores de base da matriz de transformada. Por exemplo, o produto interno entre o vetor de entrada e cada um dos vetores de base pode ser derivado como o vetor de coeficiente de transformada C.
[0122] Entretanto, na transformada descrita anteriormente, ocorrem dois problemas principais. De modo específico, alta complexidade computacional referente às vezes de multiplicações e adições necessárias para gerar o vetor de saída, e o requerimento de memória para armazenar os coeficientes gerados podem ocorrer como problemas principais.
[0123] Por exemplo, a complexidade computacional e o requerimento de memória necessários para a transformada separável e a transformada não separável pode ser derivada conforme mostrado na tabela a seguir.
Figure img0011
[0124] Referindo-se à Figura 5, as memórias necessárias para armazenar os coeficientes gerados através da transformada separável podem ser N2, e as vezes de computações podem ser 2N3. As vezes de computações indicam a complexidade computacional. Ademais, as memórias necessárias para armazenar os coeficientes gerados através da transformada não separável podem ser N4, e as vezes de computações podem ser N4. As vezes de computações indicam a complexidade computacional. Ou seja, quanto maior as vezes de computações, maior será a complexidade computacional, e quanto menor as vezes de computações, menor será a complexidade computacional.
[0125] Conforme mostrado na Tabela 5, o requerimento de memória e as vezes de computações para a transformada não separável podem aumentar consideravelmente quando comparados à transformada separável. Ademais, à medida que o tamanho de um bloco alvo, no qual a transformada não separável é realizada, aumenta, ou seja, à medida que N se torna maior, a diferença entre o requerimento de memória e as vezes de computações para a transformada separável e o requerimento de memória e as vezes de computações para a transformada não separável podem se tornar maiores.
[0126] A transformada não separável proporciona um ganho de codificação melhor quando comparado à transformada separável, mas conforme mostrado na Tabela 5, devido à complexidade computacional da transformada não separável, a transformada não separável não foi usada em padrões de codificação de vídeo existentes, e visto que a complexidade computacional da transformada separável também aumenta com o aumento no tamanho de um bloco alvo, no padrão de HEVC existente propôs-se que a transformada separável fosse usada somente em um bloco alvo cujo tamanho é 32x32 ou menor.
[0127] De modo correspondente, a presente revelação propõe uma transformada seletiva. A transformada seletiva pode diminuir consideravelmente a complexidade computacional e o requerimento de memória, através do qual esses efeitos como o aumento na eficiência de um bloco de transformada intensiva computacional e aperfeiçoamento da eficiência de codificação podem ser alcançados. Ou seja, a transformada seletiva pode ser usada para abordar o problema de complexidade computacional que ocorre na transformada não separável ou a transformada de um bloco de um tamanho grande. A transformada seletiva pode ser usada a qualquer tipo de transformada como a transformada primária (ou pode ser referida como uma transformada principal), a transformada secundária, ou similares. Por exemplo, a transformada seletiva pode ser aplicada como a transformada principal para o dispositivo de codificação/dispositivo de decodificação, e pode ter um efeito de reduzir consideravelmente o tempo de codificação/tempo de decodificação.
[0128] A Figura 5C representa um exemplo onde coeficientes de transformada são derivados através da transformada seletiva. A transformada seletiva pode significar uma transformada que é realizada em um bloco alvo com base em uma matriz de transformada incluindo um vetor de base com um número seletivo de elementos.
[0129] A transformada reduzida é um método que, visto que pode pode-se incluir um elemento dentre o número N de elementos do vetor de base da matriz de transformada, que seja redundante ou não importante, foi proposto com a motivação de ser capaz de reduzir a complexidade computacional e a exigência de memória excluindo-se o elemento. Por exemplo, referindo-se à Figura 5C, dentre o número N de elementos do vetor de base B1, número Z0 de elementos pode não consistir em elementos importantes, e, nesse caso, um vetor de base truncado B1 pode ser derivado que inclui somente um número N1 de elementos. No presente documento, N1 pode ser N-Z0. O vetor de base truncado B1 pode ser representado como um vetor de base modificado B1.
[0130] Referindo-se à Figura 5C, se o vetor de base modificado B1 for aplicado como uma parte da matriz de transformada ao vetor de entrada R, o coeficiente de transformada C1 pode ser derivado. A partir de um resultado experimental, observa-se que o coeficiente de transformada C1 tem o mesmo valor que o coeficiente de transformada C1 derivado aplicando-se o vetor de base existente B1 como uma parte da matriz de transformada ao vetor de entrada R. Ou seja, derivando-se um resultado sob a hipótese que um elemento não importante de cada vetor de base é 0, é possível reduzir consideravelmente as vezes de multiplicações necessárias sem fazer uma grande diferença nos resultados. Ademais, então, é possível reduzir o número de elementos (ou seja, elementos de uma matriz de transformada) que deve ser armazenado nessa computação.
[0131] A fim de definir uma posição de um elemento dentre os elementos do vetor de base, que não seja importante (ou significativo), propõe-se um vetor de associação. A fim de derivar o vetor de base N1-dimensional modificado B1, um vetor de associação (1xN)-dimensional A1 pode ser considerado. Ou seja, a fim de derivar o vetor de base modificado B1 de tamanho 1x N1 (isto é, vetor de base modificado B1 incluindo um número N1 de elementos), o vetor de associação A1 de tamanho 1xN pode ser considerado.
[0132] Referindo-se à Figura 5C, os valores derivados aplicando-se o vetor de associação para cada um dos vetores de base B1 a BN ao vetor de entrada R podem ser transferidos aos vetores de base. Através disso, somente alguns elementos do vetor de entrada R podem ser computados com o elemento do vetor de base. De modo específico, o vetor de associação pode incluir 0 e 1, e uma operação é realizada de modo que o elemento selecionado dentre os elementos do vetor de entrada R seja multiplicado por 1 e o elemento não selecionado é multiplicado por 0 de modo que somente elementos selecionados possam ultrapassá-lo e ser transferidos ao vetor de base.
[0133] Por exemplo, o vetor de associação A1 pode ser aplicado ao vetor de entrada R, e somente um número N1 de elementos dentre os elementos do vetor de entrada R, que foi designado pelo vetor de associação A1, pode ser usado para calcular um produto interno com o vetor de base B1. O produto interno pode representar C1 do vetor de coeficiente de transformada C. Nesse sentido, o vetor de base B1 pode incluir um número N1 de elementos, e N1 pode ser N ou menor. A operação descrita anteriormente do vetor de associação A1 e do vetor de base B1 com o vetor de entrada R pode ser realizada nos vetores de associação A2 a AN e nos vetores de base B2 a BN.
[0134] Visto que o vetor de associação inclui somente 0 e/ou 1, os valores binários, podem ter uma vantagem em armazenar o vetor de associação. 0 do vetor de associação pode indicar que o elemento do vetor de entrada R para o 0 não é transferido à matriz de transformada para o cálculo de produto interno, e 1 do vetor de associação pode indicar que o elemento do vetor de entrada R para o 1 é transferido à matriz de transformada para o cálculo de produto interno. Por exemplo, o vetor de associação Ak de tamanho 1xN pode incluir Ak1 a Akn. Se Akn do vetor de associação Ak for 0, rn do vetor de entrada R pode não ser permitido a ultrapassar. Ou seja, rn do vetor de entrada R pode não ser transferido ao vetor de transformada Bn. Ademais, se Akn for 1, rn do vetor de entrada R pode ser permitido a ultrapassar. Ou seja, rn do vetor de entrada R pode ser transferido ao vetor de transformada Bn, e pode ser usado em computação para derivar cn do vetor de coeficiente de transformada C.
[0135] A Figura 6 representa, de modo esquemático, uma técnica de transformada múltipla na qual a transformada seletiva é aplicada como uma transformada secundária.
[0136] Referindo-se à Figura 6, um transformador pode corresponder ao transformador no dispositivo de codificação da Figura 1 anterior, e um transformador inverso pode corresponder ao transformador inverso no dispositivo de codificação da Figura 1 anterior, ou o transformador inverso no dispositivo de decodificação da Figura 2 anterior.
[0137] O transformador pode derivar coeficientes de transformada (primária) realizando-se uma transformada primária com base nas amostras residuais (arranjo de amostra residual) em um bloco residual (S610). No presente documento, a primeira transformada pode incluir o AMT descrito anteriormente.
[0138] Se a transformada principal múltipla adaptativa for aplicada, os coeficientes de transformada (ou coeficientes de transformada primária) podem ser gerados aplicando-se uma transformada a partir de um domínio espacial a um domínio de frequência para um sinal residual (ou bloco residual) com base no DCT tipo 2, DST tipo 7, DCT tipo 8, e/ou DST tipo 1. Nesse sentido, os coeficientes de transformada primária podem ser denominados como coeficientes de transformada temporária a partir do ponto de vista do transformador. Ademais, DCT tipo 2, DST tipo 7, DCT tipo 8 e DST tipo 1 podem ser denominados como um tipo de transformada, núcleo de transformada ou principal de transformada. Por motivos de referência, os tipos de transformada de DCT/DST podem ser definidos com base em funções de base, e as funções de base podem ser representadas conforme na Tabela 1 anterior. De modo específico, o processo de derivar os coeficientes de transformada primária aplicando-se a transformada principal múltipla adaptativa é conforme descrito anteriormente.
[0139] O transformador pode derivar coeficientes de transformada (secundária) realizando-se a transformada seletiva com base nos coeficientes de transformada (primária) (S620). A transformada seletiva pode significar uma transformada que é realizada nos coeficientes de transformada (primária) para um bloco alvo com base na matriz de transformada incluindo o vetor de base modificado e a matriz de associação incluindo o vetor de associação para o vetor de base. O vetor de base modificado pode representar o vetor de base incluindo N ou um número menor de elementos. Ou seja, o vetor de base modificado pode representar o vetor de base incluindo um número específico de elementos selecionados dentre o número N de elementos. Por exemplo, o vetor de base modificado Bn pode ser um vetor (1xNn)-dimensional, e Nn pode ser menor ou igual a N. Ou seja, o vetor de base modificado Bn pode ter um tamanho (1xNn), e Nn pode ser menor ou igual a N. No presente documento, N pode ser a multiplicação da altura e da largura de uma região alvo superior esquerda do bloco alvo à qual a transformada seletiva é aplicada. Alternativamente, N pode ser o número total de coeficientes de transformada de uma região alvo superior esquerda do bloco alvo ao qual a transformada seletiva é aplicada. Entretanto, a matriz de transformada incluindo o vetor de base modificado pode ser representada como uma matriz de transformada modificada. Ademais, a matriz de transformada pode ser representada como um bloco de bases de transformada (TBB), e a matriz de associação pode ser representada como um bloco de vetores de associação (AVB).
[0140] O transformador pode realizar a transformada seletiva com base na matriz de transformada modificada e na matriz de associação, e obter coeficientes de transformada (secundária). Conforme descrito anteriormente, os coeficientes de transformada podem ser derivados como coeficientes de transformada quantizados através do quantizador, e podem ser codificados e sinalizados ao dispositivo de decodificação e transferidos ao desquantizador/transformador inverso no dispositivo de codificação.
[0141] O transformador inverso pode realizar uma série de procedimentos na ordem inversa onde eles foram realizados no transformador descrito anteriormente. O transformador inverso pode receber coeficientes de transformador (desquantizados), e derivar coeficientes de transformada (primária) realizando-se a transformada (inversa) seletiva (S650), e pode obter um bloco residual (amostras residuais) realizando-se uma transformada (inversa) primária nos coeficientes de transformada (primária) (S660). Nesse sentido, os coeficientes de transformada primária podem ser denominados como coeficientes de transformada modificados a partir do ponto de vista do transformador inverso. Conforme descrito anteriormente, o dispositivo de codificação e o dispositivo de decodificação podem 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.
[0142] Entretanto, a presente revelação propõe uma transformada seletiva combinada com uma transformada reduzida como um exemplo da transformada seletiva.
[0143] No presente relatório descritivo, o termo “transformada reduzida” 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.
[0144] Na transformada reduzida de acordo com um exemplo, um vetor N- dimensional pode ser mapeado a um vetor R-dimensional situado em outro espaço, de modo que a matriz de transformada reduzida possa ser determinada, onde R é menor que N. Ou seja, a transformada reduzida pode significar uma transformada que é realizada nas amostras residuais para um bloco alvo com base na matriz de transformada reduzida incluindo um número R de vetores de base. No presente documento, N pode significar o quadrado do comprimento de um lado de um bloco (ou região alvo) ao qual a transformada é aplicada, ou o número total de coeficientes de transformada correspondente a um bloco (ou região alvo) à qual a transformada é aplicada, e o fator reduzido pode significar um valor R/N. O fator reduzido pode ser referido como um fator reduzido, um fator de redução, um fator simplificado, um fator simples e outros vários termos. Entretanto, R pode ser referido como um coeficiente reduzido, mas de acordo com circunstâncias, o fator reduzido pode significar R. Ademais, de acordo com circunstâncias, o fator reduzido pode significar o valor N/R.
[0145] O tamanho da matriz de transformada reduzida de acordo com um exemplo ode ser RxN menor que o tamanho NxN de uma matriz de transformada convencional, e pode ser definido conforme expresso na Equação 4 abaixo.
Figure img0012
[0146] Se uma matriz de transformada reduzida TRxN for multiplicada aos coeficientes de transformada aos quais a transformada primária de um bloco alvo foi aplicada, os coeficientes de transformada (secundária) para o bloco alvo podem ser derivados.
[0147] Se RST for aplicado, então, visto que a matriz de transformada reduzida de um tamanho RxN é aplicada à transformada secundária, os coeficientes de transformada R+1 a N podem se tornar 0 implicitamente. Em outras palavras, se o coeficiente de transformada do bloco alvo for derivado aplicando-se o RST, os valores dos coeficientes de transformada R+1 a N podem ser 0. No presente documento, os coeficientes de transformada R+1 a N podem representar o (R+1)- ésimo coeficiente de transformada ao N-ésimo coeficiente de transformada dentre os coeficientes de transformada. De modo específico, a disposição de coeficientes de transformada de um bloco alvo pode ser explicada da seguinte forma.
[0148] A Figura 7 é um diagrama para explicar a disposição de coeficientes de transformada com base em um bloco alvo de acordo com um exemplo da presente revelação. Doravante, explicações sobre uma transformada a ser descrita posteriormente na Figura 7 podem ser aplicadas similarmente a uma transformada inversa. NSST baseado na transformada primária e na transformada reduzida pode ser realizado em um bloco alvo (ou bloco residual) 700. Em um exemplo, um bloco 16x16 mostrado na Figura 7 pode representar um bloco alvo 700, e blocos 4x4 rotulados com A a P podem representar sub-blocos do bloco alvo 700. A transformada primária pode ser realizada em todo o escopo do bloco alvo 700, e após a transformada primária ter sido realizada, NSST pode ser aplicado a um bloco 8x8 que consiste em subgrupos A, B, E e F (doravante, região alvo superior esquerda). Nesse momento, se NSST baseado na transformada reduzida for realizado, então, visto que somente o número R (no presente documento, R significa os coeficiente reduzido, e R é menor que N) de coeficientes de transformada de NSST são derivados, o (R+1)-ésimo coeficiente de transformada de NSST ao N- ésimo coeficiente de transformada de NSST pode ser determinado como 0. Por exemplo, se R for 16, os 16 coeficientes de transformada que foram derivados realizando-se NSST baseado na transformada reduzida podem ser alocados aos respectivos blocos incluídos no subgrupo A que é um bloco 4x4 superior esquerdo incluído na região alvo superior esquerda do bloco alvo 700, e o coeficiente de transformada 0 pode ser alocado a cada um dentre o número N-R de, isto é, 64- 16=48, blocos incluídos nos subgrupos B, E e F. Os coeficientes de transformada primária nos quais o NSST baseado na transformada reduzida não foi realizado podem ser alocados aos respectivos blocos incluídos nos subgrupos C, D, G, H, I, J, K, L, M, N, O e P.
[0149] A Figura 8 representa um exemplo onde coeficientes de transformada são derivados através de uma transformada em que a transformada reduzida e a transformada seletiva são combinadas entre si. Referindo-se à Figura 8, a matriz de transformada pode incluir um número R dos vetores de base, e uma matriz de associação pode incluir um número R dos vetores de associação. No presente documento, a matriz de transformada que inclui o número R dos vetores de base pode ser representada como uma matriz de transformada reduzida, e uma matriz de associação que inclui o número R dos vetores de associação pode ser representada como uma matriz de associação reduzida.
[0150] Ademais, cada um dos vetores de base pode incluir apensa elementos selecionados dentre o número N de elementos. Por exemplo, referindo-se à Figura 8, um vetor de base B1 pode ser um vetor dimensional 1x N1 incluindo um número N1 de elementos, um vetor de base B2 pode ser um vetor dimensional 1x N2 incluindo um número N2 de elementos, e um vetor de base BR pode ser um vetor dimensional 1xNR incluindo um número NR de elementos. N1, N2 e NR podem ser valores iguais ou menores que N. A transformada na qual a transformada reduzida e a transformada seletiva são combinadas entre si pode ser usada em qualquer tipo de transformada tal como a transformada secundária, a transformada primária, e similares.
[0151] Referindo-se à Figura 8, o dispositivo de codificação e o dispositivo de decodificação podem aplicar como a transformada secundária a transformada na qual a transformada reduzida e a transformada seletiva são combinadas entre si. Por exemplo, a transformada seletiva pode ser realizada com base na matriz de transformada reduzida incluindo o vetor de base modificado e a matriz de associação reduzida, e os coeficientes de transformada (secundária) podem ser obtidos. Ademais, a fim de reduzir a complexidade computacional da transformada seletiva, a transformada Hypercube-Givens (HyGT), ou similares, pode ser usada para o cálculo da transformada seletiva.
[0152] A Figura 9 representa um exemplo onde coeficientes de transformada são derivados através da transformada seletiva. Em um exemplo em relação à transformada seletiva, pode não existir um padrão para os vetores de associação A1, A2, ... AN da matriz de associação, e os vetores de associação podem ser derivados em diferentes formas entre si. Alternativamente, em outro exemplo em relação à transformada seletiva, os vetores de associação A1, A2, ... AN da matriz de associação podem ser derivados da mesma forma.
[0153] De modo específico, por exemplo, os respectivos vetores de associação podem ter o mesmo número de 1’s. Por exemplo, se o número de 1’s for M, os vetores de associação podem ter um número M de 1’s e um número (N-M) de 0’s. Nesse caso, o número M de coeficientes de transformada dentre os coeficientes de transformada (primária) do vetor de entrada R pode ser transferido aos vetores de base. Portanto, o comprimento dos vetores de base também pode ser M. Ou seja, conforme mostrado na Figura 9, os respectivos vetores de base podem incluir um número M de elementos, pode, ser vetores (1xM)-dimensionais, e podem ser derivados como N1 = N2 = ... = NN = M. Uma matriz de associação e uma arquitetura de matriz de transformada modificada mostradas na Figura 9 podem ser representadas como uma arquitetura simétrica com a transformada seletiva.
[0154] Ademais, em outro exemplo, pode existir um padrão específico de elementos cujos valores são 1, e o padrão pode ser repetido, girado e/ou transladado de maneira arbitrária, de modo que os vetores de associação possam ser derivados.
[0155] Entretanto, a transformada seletiva descrita anteriormente pode ser aplicada junto a outras técnicas de transformada bem como com a transformada reduzida e/ou HyGT.
[0156] Ademais, a presente revelação propõe um método de simplificar o vetor de associação na transformada seletiva descrita anteriormente. Simplificando- se o vetor de associação, o armazenamento de informações para realizar a transformada seletiva e manipulação da transformada seletiva podem ser adicionalmente aperfeiçoados. Ou seja, a carga de memória para realizar a transformada seletiva pode ser reduzida, e a capacidade de manipulação da transformada seletiva pode ser adicionalmente aperfeiçoada.
[0157] Os efeitos resultantes a partir da simplificação do vetor de associação podem ser exibidos mais claramente se elementos dentre elementos incluídos no vetor de associação, que não sejam 0, tiverem uma distribuição contínua. Por exemplo, o vetor de associação Ak pode incluir uma cadeia contínua de 1’s. Nesse caso, Ak pode ser representado através de dois fatores Aks e AkL. Ou seja, o vetor de associação Ak pode ser derivado com base nos fatores Aks e AkL. No presente documento, Aks pode ser um fator que representa um ponto de partida de elementos diferentes de zero (por exemplo, 1’s), e AkL pode ser um fator que representa o comprimento dos elementos diferentes de zero. O vetor de associação Ak representado com base nos fatores podem ser derivados conforme na tabela a seguir.
Figure img0013
[0158] Referindo-se à Tabela 6, o vetor de associação Ak pode incluir 16 elementos. Ou seja, o vetor de associação Ak pode ser um vetor dimensional 1x16. O valor do fator Aks que representa o ponto de partida dos elementos diferentes de zero no vetor de associação Ak pode ser derivado como 0, e, nesse caso, o fator Aks pode indicar o primeiro elemento do vetor de associação Ak como o ponto de partida dos elementos diferentes de zero. Ademais, o valor do fator AkL que representa o comprimento dos elementos diferentes de zero no vetor de associação Ak pode ser derivado como 8, e, nesse caso, o fator AkL pode indicar o comprimento dos elementos diferentes de zero como 8. Portanto, Ak pode ser derivado com base nos fatores como um vetor em que o primeiro ao oitavo elementos são 1, e o resto dos elementos são 0 conforme mostrado na Tabela 6.
[0159] A Figura 10 representa um exemplo onde a transformada seletiva é realizada derivando um vetor de associação com base nos dois fatores para o vetor de associação. Referindo-se à Figura 10, a matriz de associação pode ser derivada com base nos fatores para cada um dos vetores de associação, e coeficientes de transformada para um bloco alvo podem ser derivados com base na matriz de associação e na matriz de transformada modificada.
[0160] Entretanto, o ponto de partida de elementos diferentes de zero em cada um dos vetores de associação, e o número de elementos diferentes de zero pode ser derivado como valores fixos, ou o ponto de partida de elementos diferentes de zero em cada um dos vetores de associação, e o número de elementos diferentes de zero pode ser derivado de modo variável.
[0161] Ademais, por exemplo, o ponto de partida de elementos diferentes de zero em um vetor de associação, e o número de elementos diferentes de zero pode ser derivado com base no tamanho de uma região alvo superior esquerda em que uma transformada é realizada. No presente documento, o tamanho da região alvo superior esquerda pode representar o número de coeficientes de transformada da região alvo superior esquerda, ou pode representar a multiplicação da altura e largura da região alvo superior esquerda. Ademais, em outro exemplo, o ponto de partida de elementos diferentes de zero em um vetor de associação, e o número de elementos diferentes de zero pode ser derivado com base em um modo de intrapredição de um bloco alvo. De modo específico, por exemplo, o ponto de partida dos elementos diferentes de zero no vetor de associação e o número dos elementos diferentes de zero podem ser derivados com base em se o modo de intrapredição do bloco alvo é um modo de intrapredição não direcional.
[0162] Alternativamente, por exemplo, o ponto de partida de elementos diferentes de zero em um vetor de associação, e o número de elementos diferentes de zero podem ser predeterminados. Alternativamente, por exemplo, as informações que representam o ponto de partida dos elementos diferentes de zero no vetor de associação, e as informações que representam o número de elementos diferentes de zero podem ser sinalizados, e o vetor de associação pode ser derivado com base nas informações que representam o ponto de partida de elementos diferentes de zero e as informações que representam o número de elementos diferentes de zero. Alternativamente, outras informações podem ser usadas ao invés das informações que representam o ponto de partida de elementos diferentes de zero. Por exemplo, ao invés das informações que representam o ponto de partida dos elementos diferentes de zero, as informações que representam a última posição dos elementos diferentes de zero podem ser usadas, e o vetor de associação pode ser derivado com base nas informações que representam a última posição dos elementos diferentes de zero.
[0163] Entretanto, o método de derivar o vetor de associação com base nos fatores também pode ser aplicado a uma transformada separável, e uma transformada não separável tal como uma transformada reduzida HyGT.
[0164] A Figura 11 representa, de modo esquemático, um método de codificação de imagem por um dispositivo de codificação de acordo com a presente revelação. O método revelado na Figura 11 pode ser realizado pelo dispositivo de codificação revelado na Figura 1. De modo específico, por exemplo, S1100 na Figura 11 pode ser realizado pelo subtrator do dispositivo de codificação; S1110, pelo transformador do aparelho de codificação; e S1120, pelo codificador de entropia do dispositivo de codificação. Ademais, embora não mostrado, um processo de derivar uma amostra de predição pode ser realizado pelo preditor do dispositivo de codificação.
[0165] O dispositivo de codificação deriva as amostras residuais de um bloco alvo (S1100). Por exemplo, o dispositivo de codificação pode determinar se realizar uma interpredição ou uma intrapredição em um bloco alvo, e pode determinar um modo de interpredição específico ou um modo de intrapredição específico com base no custo de RD. De acordo com o modo determinado, o dispositivo de codificação pode derivar as amostras de predição para o bloco alvo, e pode derivar as amostras residuais através da adição de amostras de predição com as amostras originais para o bloco alvo.
[0166] O dispositivo de codificação deriva coeficientes de transformada do bloco alvo com base na transformada seletiva para as amostras residuais (S1110). A transformada seletiva pode ser realizada com base em uma matriz de transformada modificada, a matriz de transformada modificada é uma matriz que inclui um vetor de base modificado, e o vetor de base modificado pode incluir um número específico de elementos selecionados dentre N elementos. Ademais, a transformada seletiva pode ser realizada em uma região alvo superior esquerda do bloco alvo, e N pode ser o número de amostras residuais situados na região alvo superior esquerda. Ademais, N pode ser um valor obtido multiplicando-se a largura e a altura da região alvo superior esquerda. Por exemplo, N pode ser 16 ou 64.
[0167] O dispositivo de codificação pode derivar coeficientes de transformada modificados realizando-se uma transformada principal nas amostras residuais, e pode derivar coeficientes de transformada do bloco alvo realizando-se a transformada seletiva em coeficientes de transformada modificados situados em uma região alvo superior esquerda do bloco alvo com base em uma matriz de associação incluindo um vetor de associação para o vetor de base modificado e a matriz de transformada modificada.
[0168] De modo específico, uma transformada principal para as amostras residuais pode ser realizada da seguinte forma. O dispositivo de codificação pode determinar se aplica uma transformada principal múltipla adaptativa (AMT) ao bloco alvo. Nesse caso, pode-se gerar um indicador de AMT que representa se a transformada principal múltipla adaptativa do bloco alvo é aplicada. Se o AMT não for aplicado ao bloco alvo, o dispositivo de codificação pode derivar DCT tipo 2 como um núcleo de transformada para o bloco alvo, e pode derivar os coeficientes de transformada modificados realizando-se uma transformada nas amostras residuais com base no DCT tipo 2.
[0169] Se o AMT for aplicado ao bloco alvo, o dispositivo de codificação pode configurar um subconjunto de transformada para um núcleo de transformada horizontal, e um subconjunto de transformada para um núcleo de transformada vertical, pode derivar um núcleo de transformada horizontal e um núcleo de transformada vertical com base no subconjunto de transformadas, e pode derivar coeficientes de transformada modificados realizando-se uma transformada nas amostras residuais com base no núcleo de transformada horizontal e no núcleo de transformada vertical. Nesse sentido, o subconjunto de transformada para um núcleo de transformada horizontal e o subconjunto de transformada para um núcleo de transformada vertical podem incluir DCT tipo 2, DST tipo 7, DCT tipo 8, e/ou DST tipo 1 como um candidato. Ademais, as informações de índice de transformada podem ser geradas, e as informações de índice de transformada pode incluir um indicador de AMT horizontal que indica o núcleo de transformada horizontal, e um indicador de AMT vertical que indica o núcleo de transformada vertical. Entretanto, o núcleo de transformada pode ser denominado como um tipo de transformada ou um principal de transformada.
[0170] Se os coeficientes de transformada modificados forem derivados, o dispositivo de codificação pode derivar os coeficientes de transformada do bloco alvo realizando-se a transformada seletiva em coeficientes de transformada modificados situados em uma região alvo superior esquerda do bloco alvo com base em uma matriz de associação incluindo um vetor de associação para o vetor de base modificado e uma matriz de transformada modificada. Outros coeficientes de transformada modificados diferentes dos coeficientes de transformada modificados situados na região superior esquerda do bloco alvo podem ser derivados como os coeficientes de transformada do bloco alvo sem quaisquer alterações.
[0171] De modo específico, os coeficientes de transformada modificados para elementos com valor 1 do vetor de associação dentre os coeficientes de transformada modificados situados na região alvo superior esquerda podem ser derivados, e o coeficiente de transformada do bloco alvo pode ser derivado com base no vetor de base modificado e nos coeficientes de transformada modificados derivados. Nesse sentido, o vetor de associação para o vetor de base modificado pode incluir um número N de elementos, sendo que o número N de elementos pode incluir elementos com valor 1 e/ou elementos com valor 0, e o número dos elementos com valor 1 pode ser A. Ademais, o vetor de base modificado pode incluir o número A de elementos.
[0172] Entretanto, em um exemplo, a matriz de transformada modificada pode incluir um número N de vetores de base modificados, e a matriz de associação pode incluir um número N de vetores de associação. Os vetores de associação podem incluir o mesmo número de elementos com valor 1, e os vetores de base modificados podem todos incluir o mesmo número de elementos. Alternativamente, os vetores de associação podem não incluir o mesmo número de elementos com valor 1, e os vetores de base modificados podem todos não incluir o mesmo número de elementos.
[0173] Alternativamente, em outro exemplo, a matriz de transformada modificada pode incluir um número R de vetores de base modificados, e a matriz de associação pode incluir um número R de vetores de associação. R pode ser um coeficiente reduzido, e R pode ser menor que N. Os vetores de associação podem incluir o mesmo número de elementos com valor 1, e os vetores de base modificados podem todos incluir o mesmo número de elementos. Alternativamente, os vetores de associação podem não incluir o mesmo número de elementos com valor 1, e os vetores de base modificados podem todos não incluir o mesmo número de elementos.
[0174] Entretanto, o vetor de associação pode ser configurado de modo que os elementos com valor 1 sejam dispostos continuamente. Nesse caso, em um exemplo, informações sobre o vetor de associação podem ser codificadas por entropia. Por exemplo, as informações sobre um vetor de associação podem incluir informações que representam um ponto de partida de elementos com valor 1, e informações que representam o número de elementos com valor 1. Alternativamente, por exemplo, as informações sobre um vetor de associação podem incluir informações que representam uma última posição de elementos com valor 1, e informações que representam o número de elementos com valor 1.
[0175] Ademais, em outro exemplo, o vetor de associação pode ser derivado com base no tamanho da região alvo superior esquerda. Por exemplo, um ponto de partida de elementos com valor 1 no vetor de associação e o número de elementos com valor 1 podem ser derivados com base no tamanho da região alvo superior esquerda.
[0176] Alternativamente, em outro exemplo, o vetor de associação pode ser derivado com base no modo de intrapredição do bloco alvo. Por exemplo, um ponto de partida de elementos com valor 1 no vetor de associação e o número de elementos com valor 1 podem ser derivados com base no modo de intrapredição. Ademais, por exemplo, o ponto de partida de elementos com valor 1 no vetor de associação e o número de elementos com valor 1 podem ser derivados com base em se o modo de intrapredição é um modo de intrapredição não direcional.
[0177] O dispositivo de codificação codifica informações sobre coeficientes de transformada (S1330). As informações sobre coeficientes de transformada podem incluir informações sobre o tamanho, a posição, ou similares, dos coeficientes de transformada. Ademais, conforme descrito anteriormente, as informações sobre um vetor de associação podem ser codificadas por entropia. Por exemplo, as informações sobre um vetor de associação podem incluir informações que representam um ponto de partida de elementos com valor 1, e informações que representam o número de elementos com valor 1. Alternativamente, por exemplo, as informações sobre um vetor de associação podem incluir informações que representam uma última posição de elementos com valor 1, e informações que representam o número de elementos com valor 1.
[0178] As informações de imagem que incluem as informações sobre coeficientes de transformada e/ou as informações sobre um vetor de associação podem ser emitidas sob a forma de um fluxo de bits. Ademais, as informações de imagem podem incluir, ainda, informações de predição. As informações de predição podem incluir informações sobre informações de movimento (por exemplo, quando a interpredição for aplicada) e informações de modo de predição como uma pluralidade de informações relacionadas ao procedimento de predição.
[0179] O fluxo de bits de saída pode ser transmitido ao dispositivo de decodificação através de uma mídia de armazenamento ou uma rede.
[0180] A Figura 12 representa, de modo esquemático, um dispositivo de codificação que realiza um método de codificação de imagem de acordo com a presente revelação. O método revelado na Figura 11 pode ser realizado pelo dispositivo de codificação revelado na Figura 12. De modo específico, por exemplo, um adicionador do dispositivo de codificação da Figura 12 pode realizar S1100 na Figura 11, um transformador do dispositivo de codificação pode realizar S1110, e um codificador de entropia do dispositivo de codificação pode realizar S1120 a S1130. Ademais, embora não mostrado, um processo de derivar uma amostra de predição pode ser realizado pelo preditor do dispositivo de codificação.
[0181] A Figura 13 representa, de modo esquemático, um método de decodificação de imagem por um dispositivo de decodificação de acordo com a presente revelação. O método revelado na Figura 13 pode ser realizado pelo dispositivo de decodificação revelado na Figura 2. De modo específico, por exemplo, S1300 a S1310 na Figura 13 pode ser realizado pelo decodificador de entropia do dispositivo de decodificação; S1320, pelo transformador inverso do dispositivo de decodificação; e S1330, pelo adicionador do dispositivo de decodificação. Ademais, embora não mostrado, um processo de derivar uma amostra de predição pode ser realizado pelo preditor do dispositivo de decodificação.
[0182] O dispositivo de decodificação deriva coeficientes de transformada do bloco alvo a partir do fluxo de bits (S1300). O dispositivo de decodificação pode derivar os coeficientes de transformada do bloco alvo decodificando-se informações sobre os coeficientes de transformada do bloco alvo recebidos através do fluxo de bits. As informações recebidas sobre os coeficientes de transformada do bloco alvo podem ser representadas como informações residuais.
[0183] O dispositivo de decodificação deriva amostras residuais para o bloco alvo com base na transformada seletiva para os coeficientes de transformada (S1310). A transformada seletiva pode ser realizada com base em uma matriz de transformada modificada, sendo que a matriz de transformada modificada é uma matriz que inclui um vetor de base modificado, e o vetor de base modificado pode incluir um número específico de elementos selecionados dentre N elementos. Ademais, a transformada seletiva pode ser realizada em coeficientes de transformada situados na região alvo superior esquerda do bloco alvo, e N pode ser o número de coeficientes de transformada situados na região alvo superior esquerda. Ademais, N pode ser um valor obtido multiplicando-se a largura e a altura da região alvo superior esquerda. Por exemplo, N pode ser 16 ou 64.
[0184] O dispositivo de decodificação pode derivar coeficientes de transformada modificados realizando-se a transformada seletiva nos coeficientes de transformada situados na região alvo superior esquerda do bloco alvo com base em uma matriz de associação que inclui um vetor de associação para a matriz de transformada modificada e o vetor de base modificado.
[0185] De modo específico, os coeficientes de transformada para elementos com valor 1 do vetor de associação dentre coeficientes de transformada situados na região alvo superior esquerda podem ser derivados, e o coeficiente de transformada modificado pode ser derivado com base nos coeficientes de transformada derivados e no vetor de base modificado. Nesse sentido, o vetor de associação para o vetor de base modificado pode incluir um número N de elementos, sendo que o número N de elementos pode incluir elementos com valor 1 e/ou elementos com valor 0, e o número de elementos com valor 1 pode ser A. Ademais, o vetor de base modificado pode incluir o número A de elementos.
[0186] Entretanto, em um exemplo, a matriz de transformada modificada pode incluir um número N de vetores de base modificados, e a matriz de associação pode incluir um número N de vetores de associação. Os vetores de associação podem incluir o mesmo número de elementos com valor 1, e os vetores de base modificados podem todos incluir o mesmo número de elementos. Alternativamente, os vetores de associação podem não incluir o mesmo número de elementos com valor 1, e os vetores de base modificados podem todos não incluir o mesmo número de elementos.
[0187] Alternativamente, em outro exemplo, a matriz de transformada modificada pode incluir um número R de vetores de base modificados, e a matriz de associação pode incluir um número R de vetores de associação. R pode ser um coeficiente reduzido, e R pode ser menor que N. Os vetores de associação podem incluir o mesmo número de elementos com valor 1, e os vetores de base modificados podem todos incluir o mesmo número de elementos. Alternativamente, os vetores de associação podem não incluir o mesmo número de elementos com valor 1, e os vetores de base modificados podem todos não incluir o mesmo número de elementos.
[0188] Entretanto, o vetor de associação pode ser configurado de modo que os elementos com valor 1 sejam dispostos continuamente. Nesse caso, em um exemplo, as informações sobre um vetor de associação podem ser obtidas a partir do fluxo de bits, e o vetor de associação pode ser derivado com base nas informações sobre um vetor de associação. Por exemplo, as informações sobre um vetor de associação podem incluir informações que representam um ponto de partida de elementos com valor 1, e informações que representam o número de elementos com valor 1. Alternativamente, por exemplo, as informações sobre um vetor de associação podem incluir informações que representam a última posição de elementos com valor 1, e informações que representam o número de elementos com valor 1.
[0189] Alternativamente, em outro exemplo, o vetor de associação pode ser derivado com base no tamanho da região alvo superior esquerda. Por exemplo, um ponto de partida de elementos com valor 1 no vetor de associação e o número de elementos com valor 1 pode ser derivado com base no tamanho da região alvo superior esquerda.
[0190] Alternativamente, em outro exemplo, o vetor de associação pode ser derivado com base no modo de intrapredição do bloco alvo. Por exemplo, um ponto de partida de elementos com valor 1 no vetor de associação e o número de elementos com valor 1 podem ser derivados com base no modo de intrapredição. Ademais, por exemplo, o ponto de partida de elementos com valor 1 no vetor de associação e o número de elementos com valor 1 podem ser derivados com base em se o modo de intrapredição é um modo de intrapredição não direcional.
[0191] Se os coeficientes de transformada modificados forem derivados, o dispositivo de decodificação pode derivar as amostras residuais realizando-se uma transformada principal no bloco alvo incluindo os coeficientes de transformada modificados.
[0192] A transformada principal para o bloco alvo pode ser realizada da seguinte forma. O dispositivo de decodificação pode obter um indicador de AMT a partir do fluxo de bits, que representa se a transformada principal múltipla adaptativa (AMT) é aplicada ou não, e se o valor do indicador de AMT for 0, o dispositivo de decodificação pode derivar DCT tipo 2 como um núcleo de transformada para o bloco alvo, e pode derivar as amostras residuais realizando-se uma transformada inversa no bloco alvo incluindo os coeficientes de transformada modificados com base no DCT tipo 2.
[0193] Se o valor do indicador de AMT for 1, o dispositivo de decodificação pode configurar um subconjunto de transformada para um núcleo de transformada horizontal, e um subconjunto de transformada para um nível de transformada vertical, pode derivar um núcleo de transformada horizontal e um núcleo de transformada vertical com base nos subconjuntos de transformada, e informações de índice de transformada obtidas a partir do fluxo de bits, e pode derivar as amostras residuais realizando-se uma transformada inversa no bloco alvo incluindo os coeficientes de transformada modificados com base no núcleo de transformada horizontal e no núcleo de transformada vertical. Nesse sentido, o subconjunto de transformada para um núcleo de transformada horizontal e o subconjunto de transformada para um núcleo de transformada vertical pode incluir DCT tipo 2, DST tipo 7, DCT tipo 8, e/ou DST tipo 1 como um candidato. Ademais, as informações de índice de transformada podem incluir um indicador horizontal de AMT que indica um dos candidatos incluídos no subconjunto de transformada para um núcleo de transformada horizontal, e um indicador vertical de AMT que indica um dos candidatos incluídos no subconjunto de transformada para um núcleo de transformada vertical. Entretanto, o núcleo de transformada pode ser denominado como um tipo de transformada ou um principal de transformada.
[0194] O dispositivo de decodificação gera uma gravura reconstruída com base nas amostras residuais (S1320). O dispositivo de decodificação pode gerar uma gravura reconstruída com base nas amostras residuais. Por exemplo, o dispositivo de decodificação pode realizar interpredição ou intrapredição em um bloco alvo com base em informações de predição recebidas através de um fluxo de bits, pode derivar amostras de predição, e pode gerar a gravura reconstruída através da adição das amostras de predição com as amostras residuais. Após isso, conforme descrito anteriormente, um procedimento de filtragem em laço tal como um procedimento ALF, SAO e/ou filtragem por deblocagem pode ser aplicado conforme necessário à gravura reconstruída a fim de aperfeiçoar a qualidade subjetiva/objetiva do vídeo.
[0195] A Figura 14 representa, de modo esquemático, um dispositivo de decodificação que realiza um método de decodificação de imagem de acordo com a presente revelação. O método revelado na Figura 13 pode ser realizado pelo dispositivo de decodificação revelado na Figura 14. De modo específico, por exemplo, um decodificador de entropia do dispositivo de decodificação da Figura 14 pode realizar S1300 na Figura 13; um transformador inverso do dispositivo de decodificação da Figura 14, S1310 na Figura 13; e um adicionador do dispositivo de decodificação da Figura 14, S1320 da Figura 13. Ademais, embora não mostrado, um processo de derivar uma amostra de predição pode ser realizado por um preditor do dispositivo de decodificação da Figura 14.
[0196] De acordo com a presente revelação descrita anteriormente, através de uma transformada eficiente, é possível reduzir a quantidade de dados que deve ser transferida para um processo residual, e um aumento da eficiência de codificação residual.
[0197] Ademais, de acordo com a presente revelação, é possível realizar uma transformada não separável com base em uma matriz de transformada que consiste em um vetor de base que inclui um número específico de elementos selecionados, através dos quais é possível reduzir uma carga de memória e uma complexidade computacional para uma transformada não separável, e um aumento da eficiência de codificação residual.
[0198] Adicionalmente, de acordo com a presente revelação, a transformada não separável pode ser realizada com base em uma matriz de transformada de uma arquitetura simplificada, através da qual é possível reduzir a quantidade de dados que devem ser transferida para um processo residual, e aumentar a eficiência de codificação residual.
[0199] Nas modalidades descritas acima, os métodos são explicados com base em fluxogramas por meio de uma série de etapas ou blocos, porém a presente revelação não se limita à ordem de etapas, e uma determinada etapa pode ocorrer em uma ordem ou etapa diferente daquela descrita anteriormente, ou simultaneamente à outra etapa. Ademais, pode-se compreender, por parte de um indivíduo com conhecimento comum na técnica 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.
[0200] Os métodos descritos anteriormente de acordo com a presente revelação podem ser implementados como em forma de software, e um dispositivo de codificação e/ou um dispositivo de decodificação de acordo com a presente revelação podem estar incluídos em um dispositivo para processamento de imagens como uma TV, um computador, um smartphone, um decodificador de sinais, um dispositivo de exibição, e similares.
[0201] Quando as modalidades da presente revelação forem incorporadas por um software, os métodos descritos anteriormente podem ser incorporados como módulos (processos, funções, ou similares) para realizar as funções descritas anteriormente. Os módulos podem ser armazenados em uma memória e executados por um processador. A memória pode ser disposta no processador interna ou externamente e conectada ao processador através de vários meios bem conhecidos. O processador pode incluir um Circuito Integrado para Aplicação Específica (ASIC), outro chipset, um circuito lógico, e/ou um dispositivo de processamento de dados. A memória pode incluir Memória Somente para Leitura (ROM), uma Memória de Acesso Aleatório (RAM), uma memória flash, um cartão de memória, uma mídia de armazenamento e/ou outros dispositivos 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, as unidades funcionais mostradas em cada desenho podem ser incorporadas e executadas em um computador, um processador, um microprocessador, um controlador ou um chip.
[0202] Ademais, o dispositivo de decodificação e o dispositivo de codificação aos quais a presente revelação é aplicada podem ser incluídos em um transceptor de radiodifusão multimídia, um terminal de comunicação móvel, um aparelho de vídeo de cinema em casa, um dispositivo de vídeo de cinema digital, uma câmera de vigilância, um dispositivo de bate-papo por vídeo, um dispositivo de comunicação em tempo real, como comunicação por vídeo, um dispositivo de streaming móvel, um meio de armazenamento, uma câmera de vídeo, um aparelho de fornecimento de serviços de Vídeo sob Demanda (VoD), um dispositivo de vídeo Over the Top (OTT), um dispositivo provedor de serviços de streaming via Internet, um dispositivo de vídeo tridimensional (3D), um dispositivo de vídeo de teleconferência e um dispositivo de vídeo médico e pode ser usado para processar um sinal de vídeo e um sinal de dados. Por exemplo, o dispositivo de vídeo Over the Top (OTT) pode incluir um console de jogos, um reprodutor de Blu-ray, uma TV com acesso à Internet, um sistema de home theater, um smartphone, um PC tipo Tablet, um gravador de vídeo digital (DVR), e similares.
[0203] Ademais, o método de processamento ao qual a presente revelação é aplicada pode ser produzido sob a forma de um programa executado por computador e pode ser armazenado em um meio de gravação legível por computador. Os dados multimídia que têm a 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 de armazenamento distribuído nos quais os dados legíveis por computador são armazenados. O meio de gravação legível por computador pode incluir, por exemplo, um Disco Blu-ray (BD), um Barramento Serial Universal (USB), uma ROM, uma PROM, uma EPROM, uma EEPROM, uma RAM, um CD-ROM, uma fita magnética, um disquete flexível, e um dispositivo de armazenamento de dados ópticos. Ademais, uma mídia de gravação legível por computador inclui uma mídia incorporada sob a forma de uma onda portadora (por exemplo, transmissão pela Internet). Além disso, o fluxo de bits gerado pelo método de codificação pode ser armazenado em um meio de gravação legível por computador ou transmitido por 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 por um computador pelas modalidades da presente revelação. Os códigos do programa podem ser armazenados em uma portadora legível por um computador.
[0204] Além disso, o sistema de streaming de conteúdos ao qual a presente revelação é aplicada pode incluir amplamente um servidor de codificação, um servidor de streaming, um servidor da web, um armazenamento de mídia, um equipamento de usuário e um dispositivo de entrada multimídia.
[0205] O servidor de codificação funciona para compactar em dados digitais os conteúdos inseridos a partir de dispositivos de entrada de multimídia, tais como um smartphone, uma câmera, uma filmadora, e similares, para gerar um fluxo de bits, e transmiti-lo ao servidor de streaming. Como outro exemplo, em um caso onde o dispositivo de entrada de multimídia, tais como um smartphone, uma câmera, uma 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 streaming pode armazenar o fluxo de bits temporariamente durante um processo de transmitir ou receber o fluxo de bits.
[0206] O servidor de streaming transmite dados de multimídia ao equipamento de usuário com base em uma solicitação de um usuário através do servidor da web, que funciona como um instrumento que informa um usuário de qual serviço está disponível. Quando o usuário solicitar um serviço que ele desejar, o servidor da web o transfere ao servidor de streaming, e o servidor de streaming transmite dados de multimídia ao usuário. Nesse sentido, o sistema de streaming de conteúdos pode incluir um servidor de controle separado, e, nesse caso, o servidor de controle funciona para controlar comandos/respostas entre respectivos equipamentos no sistema de streaming de conteúdos.
[0207] O servidor de streaming pode receber conteúdos a partir do armazenamento de mídia e/ou o servidor de codificação. Por exemplo, em um caso onde o conteúdos são recebidos a partir do servidor de codificação, os conteúdos podem ser recebidos em tempo real. Nesse caso, o servidor de streaming pode armazenar o fluxo de bits por um período de tempo predeterminado para proporcionar o serviço de streaming suavemente.
[0208] Por exemplo, o equipamento de usuário pode incluir um telefone celular, um smartphone, um computador laptop, um terminal de radiodifusão digital, um assistente pessoal digital (PDA), um reprodutor de multimídia portátil (PMP), um dispositivo de navegação e um PC slate, um PC tipo tablet, um ultrabook, um dispositivo vestível (por exemplo, um terminal tipo relógio (relógio inteligente), um terminal tipo óculos (óculos inteligente), um monitor montado na cabeça (HMD)), uma TV digital, um computador desktop, uma sinalização digital, e similares. Cada um dos servidores no sistema de streaming de conteúdos pode ser operado como um servidor distribuído e, nesse caso, os dados recebidos por cada servidor podem ser processados de maneira distribuída.

Claims (14)

1. Método de decodificação de imagem realizado por um aparelho de decodificação, o método CARACTERIZADO pelo fato de que inclui: obter informações de modo de predição e informações sobre coeficientes de transformada de um bloco alvo a partir de um fluxo de bits; derivar amostras de predição do bloco alvo com base nas informações de modo de predição; derivar coeficientes de transformada do bloco alvo com base nas informações sobre os coeficientes de transformada; derivar amostras residuais para o bloco alvo com base em uma transformada não separável para os coeficientes de transformada; e gerar amostras reconstruídas com base nas amostras de predição e amostras residuais, em que as amostras de predição são derivadas com base na intrapredição no bloco alvo, em que a transformada não separável é realizada com base em uma matriz de transformada, em que a matriz de transformada é uma matriz incluindo um vetor de base modificado, e em que o vetor de base modificado inclui menos do que N elementos, em que N é igual ao número de coeficientes de transformada localizados em uma região na qual a transformada não separável é aplicada no bloco alvo, e em que a região na qual a transformada não separável é aplicada é uma região alvo superior esquerda de 8x8 no bloco alvo e N é igual a 64.
2. Método de decodificação de imagem, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a derivação das amostras residuais para o bloco alvo com base na transformada não separável para os coeficientes de transformada inclui: derivar coeficientes de transformada modificados realizando-se a transformada não separável nos coeficientes de transformada localizados na região alvo superior esquerda do bloco alvo com base na matriz de transformada e uma matriz de associação incluindo um vetor de associação para o vetor de base modificado; e derivar as amostras residuais com base nos coeficientes de transformada modificados, em que o vetor de associação inclui elementos de 0 ou 1, em que os coeficientes de transformada modificados são derivados realizando a transformada não separável em menos do que N elementos entre os coeficientes de transformada localizados na região alvo superior esquerda, que são multiplicados por elementos do vetor de associação com um valor de 1.
3. Método de decodificação de imagem, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que o vetor de associação para o vetor de base modificado inclui um número N de elementos, o número N de elementos inclui os elementos com valor 1 e elementos com valor 0, o número dos elementos com valor 1 é A, e o vetor de base modificado inclui um número A de elementos.
4. Método de decodificação de imagem, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que a matriz de transformada inclui um número N de vetores de base modificados, e a matriz de associação inclui um número N de vetores de associação.
5. Método de decodificação de imagem, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que os vetores de associação incluem o mesmo número de elementos com valor 1, e todos os vetores de base modificados incluem o mesmo número de elementos.
6. Método de decodificação de imagem, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que as informações sobre o vetor de associação são obtidas a partir de um fluxo de bits, e o vetor de associação é derivado com base nas informações sobre o vetor de associação, e em que as informações sobre o vetor de associação incluem informações que representam um ponto de partida de elementos com valor 1, e informações que representam o número de elementos com valor 1.
7. Método de codificação de imagem realizado por um aparelho de codificação, o método CARACTERIZADO pelo fato de que incluí: derivar amostras de predição de um bloco alvo; derivar amostras residuais do bloco alvo com base nas amostras de predição; derivar coeficientes de transformada do bloco alvo com base em uma transformada não separável para as amostras residuais; gerar informações de modo de predição relacionadas a um modo de predição usado para derivar as amostras de predição; geração informações sobre os coeficientes de transformada; e codificar as informações de modo de predição e as informações sobre os coeficientes de transformada, em que as amostras de predição são derivadas com base na intrapredição no bloco alvo, em que a transformada não separável é realizada com base em uma matriz de transformada, em que a matriz de transformada é uma matriz incluindo um vetor de base modificado, e em que o vetor de base modificado inclui menos do que N elementos, em que N é igual ao número de coeficientes de transformada localizados em uma região na qual a transformada não separável é aplicada no bloco alvo, e em que a região na qual a transformada não separável é aplicada é uma região alvo superior esquerda de 8x8 no bloco alvo e N é igual a 64.
8. Método de codificação de imagem, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que a derivação dos coeficientes de transformada do bloco alvo com base na transformada não separável para as amostras residuais inclui: derivar coeficientes de transformada modificados com base nas amostras residuais; e derivar os coeficientes de transformada do bloco alvo realizando-se a transformada não separável nos coeficientes de transformada modificados localizados na região alvo superior esquerda do bloco alvo com base na matriz de transformada e uma matriz de associação incluindo um vetor de associação para o vetor de base modificado, em que o vetor de associação inclui elementos de 0 e 1, em que os coeficientes de transformada modificados são derivados realizando a transformada não separável em menos do que N elementos entre os coeficientes de transformada localizados na região alvo superior esquerda, que são multiplicados por elementos do vetor de associação com um valor de 1.
9. Método de codificação de imagem, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que as informações sobre o vetor de associação são codificadas por entropia, e as informações sobre o vetor de associação incluem informações que representam um ponto de partida de elementos com valor 1, e informações que representam o número dos elementos com valor 1.
10. Aparelho de decodificação para decodificação de imagem, o aparelho de decodificação CARACTERIZADO pelo fato de que inclui: um decodificador de entropia configurado para obter informações de modo de predição e informações sobre coeficientes de transformada de um bloco alvo a partir de um fluxo de bits; um preditor configurado para derivar amostras de predição do bloco alvo com base nas informações de modo de predição; um processador residual configurado para derivar coeficientes de transformada do bloco alvo com base nas informações sobre os coeficientes de transformada, para derivar amostras residuais para o bloco alvo com base em uma transformada não separável para os coeficientes de transformada; e um adicionador configurado para gerar amostras reconstruídas com base nas amostras de predição e nas amostras residuais, em que as amostras de predição são derivadas com base na intrapredição no bloco alvo, em que a transformada não separável é realizada com base em uma matriz de transformada, em que a matriz de transformada é uma matriz incluindo um vetor de base modificado, e em que o vetor de base modificado inclui menos do que N elementos, em que N é igual ao número de coeficientes de transformada localizados em uma região na qual a transformada não separável é aplicada no bloco alvo, e em que a região na qual a transformada não separável é aplicada é uma região superior esquerda de 8x8 no bloco alvo e N é igual a 64.
11. Aparelho de codificação para codificação de imagem, o aparelho de codificação CARACTERIZADO pelo fato de que inclui: um preditor configurado para derivar amostras de predição do bloco alvo, para gerar informações de modo de predição relacionadas a um modo de predição usado para derivar as amostras de predição; um processador residual configurado para derivar amostras residuais do bloco alvo com base nas amostras de predição, para derivar coeficientes de transformada do bloco alvo com base em uma transformada não separável para as amostras residuais, para gerar informações sobre os coeficientes de transformada; e um codificador de entropia configurado para codificar informações de modo de predição e as informações sobre os coeficientes de transformada, em que as amostras de predição são derivadas com base na intrapredição no bloco alvo, em que a transformada não separável é realizada com base em uma matriz de transformada, em que a matriz de transformada é uma matriz incluindo um vetor de base modificado, e em que o vetor de base modificado inclui menos do que N elementos, em que N é igual ao número de coeficientes de transformada localizados em uma região na qual a transformada não separável é aplicada no bloco alvo, e em que a região na qual a transformada não separável é aplicada é uma região superior esquerda de 8x8 no bloco alvo e N é igual a 64.
12. Método de transmissão de dados que compreende um fluxo de bits para uma imagem, o método CARACTERIZADO pelo fato de que compreende: obter o fluxo de bits para a imagem, em que o fluxo de bits é gerado realizando-se derivação de amostras de predição de um bloco alvo, derivação de amostras residuais do bloco alvo com base nas amostras de predição, derivação de coeficientes de transformada do bloco alvo com base em uma transformada não separável para as amostras residuais, geração de informações de modo de predição relacionadas a um modo de predição usado para derivar as amostras de predição, geração de informações sobre os coeficientes de transformada e codificação das informações de modo de predição e as informações nos coeficientes de transformada para gerar o fluxo de bits; e transmitir os dados que compreendem o fluxo de bits, em que as amostras de predição são derivadas com base na intrapredição no bloco alvo, em que a transformada não separável é realizada com base em uma matriz de transformada, em que a matriz de transformada é uma matriz incluindo um vetor de base modificado, e em que o vetor de base modificado inclui menos do que N elementos, em que N é igual ao número de coeficientes de transformada localizados em uma região na qual a transformada não separável é aplicada no bloco alvo, e em que a região na qual a transformada não separável é aplicada é uma região superior esquerda de 8x8 no bloco alvo e N é igual a 64.
13. Aparelho de transmissão para dados que compreende um fluxo de bits para uma imagem, o aparelho de transmissão CARACTERIZADO pelo fato de que compreende: um receptor configurado para obter o fluxo de bits para a imagem, em que o fluxo de bits é gerado realizando-se derivação de amostras de predição de um bloco alvo, derivação de amostras residuais do bloco alvo com base nas amostras de predição, derivação coeficientes de transformada do bloco alvo com base em uma transformada não separável para as amostras residuais, geração de informações de modo de predição relacionadas a um modo de predição usado para derivar as amostras de predição, geração de informações sobre os coeficientes de transformada e codificação das informações de modo de predição e as informações nos coeficientes de transformada para gerar o fluxo de bits; e um transmissor configurado para transmitir os dados que compreendem o fluxo de bits, em que as amostras de predição são derivadas com base na intrapredição no bloco alvo, em que a transformada não separável é realizada com base em uma matriz de transformada, em que a matriz de transformada é uma matriz incluindo um vetor de base modificado, e em que o vetor de base modificado inclui menos do que N elementos, em que N é igual ao número de coeficientes de transformada localizados em uma região na qual a transformada não separável é aplicada no bloco alvo, e em que a região na qual a transformada não separável é aplicada é uma região superior esquerda de 8x8 no bloco alvo e N é igual a 64.
14. Mídia de armazenamento digital legível por computador não transitória CARACTERIZADA pelo fato de que armazena um fluxo de bits gerado por um método, o método compreendendo: derivar amostras de predição de um bloco alvo; derivar amostras residuais do bloco alvo com base nas amostras de predição; derivar coeficientes de transformada do bloco alvo com base em uma transformada não separável para as amostras residuais; gerar informações de modo de predição relacionadas a um modo de predição usado para derivar as amostras de predição; gerar informações sobre os coeficientes de transformada; e codificar as informações de modo de predição e as informações sobre os coeficientes de transformada, em que as amostras de predição são derivadas com base na intrapredição no bloco alvo, em que a transformada não separável é realizada com base em uma matriz de transformada, em que a matriz de transformada é uma matriz incluindo um vetor de base modificado, e em que o vetor de base modificado inclui menos do que N elementos, em que N é igual ao número de coeficientes de transformada localizados em uma região na qual a transformada não separável é aplicada no bloco alvo, e em que a região na qual a transformada não separável é aplicada é uma região alvo superior esquerda de 8x8 no bloco alvo e N é igual a 64.
BR122021019687-7A 2017-12-21 2018-12-21 Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método e aparelho de transmissão de dados que compreende um fluxo de bits para uma imagem e mídia de armazenamento digital legível por computador não transitória BR122021019687B1 (pt)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762609270P 2017-12-21 2017-12-21
US62/609,270 2017-12-21
BR112020012643-8A BR112020012643B1 (pt) 2017-12-21 2018-12-21 Método para codificação de imagem com base em transformada seletiva e dispositivo para o mesmo
PCT/KR2018/016437 WO2019125035A1 (ko) 2017-12-21 2018-12-21 선택적 변환에 기반한 영상 코딩 방법 및 그 장치

Publications (1)

Publication Number Publication Date
BR122021019687B1 true BR122021019687B1 (pt) 2022-05-17

Family

ID=66994867

Family Applications (5)

Application Number Title Priority Date Filing Date
BR122021019694-0A BR122021019694B1 (pt) 2017-12-21 2018-12-21 Método de decodificação / codificação de imagem realizado por um aparelho de decodificação / codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método e aparelho de transmissão de dados que compreende um fluxo de bits para uma imagem e mídia de armazenamento digital legível por computador não transitória
BR122021019686-9A BR122021019686B1 (pt) 2017-12-21 2018-12-21 Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/ codificação, aparelho de decodificação/codificação para decodificação / codificação de imagem, método e aparelho de transmissão de dados que compreende um fluxo de bits para uma imagem e mídia de armazenamento digital legível por computador não transitória
BR122021019719-9A BR122021019719B1 (pt) 2017-12-21 2018-12-21 Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método e aparelho de transmissão de dados que compreende um fluxo de bits para uma imagem e mídia de armazenamento digital legível por computador não transitória
BR112020012643-8A BR112020012643B1 (pt) 2017-12-21 2018-12-21 Método para codificação de imagem com base em transformada seletiva e dispositivo para o mesmo
BR122021019687-7A BR122021019687B1 (pt) 2017-12-21 2018-12-21 Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método e aparelho de transmissão de dados que compreende um fluxo de bits para uma imagem e mídia de armazenamento digital legível por computador não transitória

Family Applications Before (4)

Application Number Title Priority Date Filing Date
BR122021019694-0A BR122021019694B1 (pt) 2017-12-21 2018-12-21 Método de decodificação / codificação de imagem realizado por um aparelho de decodificação / codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método e aparelho de transmissão de dados que compreende um fluxo de bits para uma imagem e mídia de armazenamento digital legível por computador não transitória
BR122021019686-9A BR122021019686B1 (pt) 2017-12-21 2018-12-21 Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/ codificação, aparelho de decodificação/codificação para decodificação / codificação de imagem, método e aparelho de transmissão de dados que compreende um fluxo de bits para uma imagem e mídia de armazenamento digital legível por computador não transitória
BR122021019719-9A BR122021019719B1 (pt) 2017-12-21 2018-12-21 Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método e aparelho de transmissão de dados que compreende um fluxo de bits para uma imagem e mídia de armazenamento digital legível por computador não transitória
BR112020012643-8A BR112020012643B1 (pt) 2017-12-21 2018-12-21 Método para codificação de imagem com base em transformada seletiva e dispositivo para o mesmo

Country Status (8)

Country Link
US (3) US11184618B2 (pt)
EP (2) EP3716631A1 (pt)
JP (4) JP6980920B2 (pt)
KR (3) KR102604680B1 (pt)
CN (5) CN115776572A (pt)
BR (5) BR122021019694B1 (pt)
MX (1) MX2020006623A (pt)
WO (1) WO2019125035A1 (pt)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BR122021019694B1 (pt) * 2017-12-21 2022-05-17 Lg Electronics Inc Método de decodificação / codificação de imagem realizado por um aparelho de decodificação / codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método e aparelho de transmissão de dados que compreende um fluxo de bits para uma imagem e mídia de armazenamento digital legível por computador não transitória
KR102650865B1 (ko) * 2018-04-01 2024-03-22 엘지전자 주식회사 분할된 블록에 2차 변환을 적용하여 비디오 신호를 처리하는 방법 및 장치
CN116546198A (zh) * 2018-08-12 2023-08-04 Lg电子株式会社 解码装置、编码装置、存储介质和发送图像的数据的装置
KR20200028856A (ko) * 2018-09-07 2020-03-17 김기백 인트라 예측을 이용한 영상 부호화/복호화 방법 및 장치
CA3155433A1 (en) * 2019-09-21 2021-03-25 Lg Electronics Inc. Transform-based image coding method and device
AU2020360102B2 (en) * 2019-10-04 2024-01-11 Lg Electronics Inc. Transform-based image coding method, and device therefor
US20220385943A1 (en) * 2019-10-08 2022-12-01 Lg Electronics Inc. Transform-based image coding method and device therefor
US20220201334A1 (en) 2020-12-23 2022-06-23 Tencent America LLC Method and apparatus for video coding

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8571104B2 (en) * 2007-06-15 2013-10-29 Qualcomm, Incorporated Adaptive coefficient scanning in video coding
US8488668B2 (en) * 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US9300972B2 (en) * 2009-02-09 2016-03-29 Samsung Electronics Co., Ltd. Video encoding method and apparatus using low-complexity frequency transformation, and video decoding method and apparatus
US9172968B2 (en) * 2010-07-09 2015-10-27 Qualcomm Incorporated Video coding using directional transforms
US8885701B2 (en) * 2010-09-08 2014-11-11 Samsung Electronics Co., Ltd. Low complexity transform coding using adaptive DCT/DST for intra-prediction
EP2624561A2 (en) * 2010-09-28 2013-08-07 Samsung Electronics Co., Ltd Method and device for the transformation and method and device for the reverse transformation of images
JP5781313B2 (ja) * 2011-01-12 2015-09-16 株式会社Nttドコモ 画像予測符号化方法、画像予測符号化装置、画像予測符号化プログラム、画像予測復号方法、画像予測復号装置及び画像予測復号プログラム
US10397577B2 (en) * 2011-03-08 2019-08-27 Velos Media, Llc Inverse scan order for significance map coding of transform coefficients in video coding
GB2492333B (en) * 2011-06-27 2018-12-12 British Broadcasting Corp Video encoding and decoding using transforms
CN107835414B (zh) * 2011-10-18 2020-11-06 株式会社Kt 视频信号解码方法
KR101418096B1 (ko) * 2012-01-20 2014-07-16 에스케이 텔레콤주식회사 가중치예측을 이용한 영상 부호화/복호화 방법 및 장치
US9215464B2 (en) * 2013-09-19 2015-12-15 Blackberry Limited Coding position data for the last non-zero transform coefficient in a coefficient group
US9432696B2 (en) * 2014-03-17 2016-08-30 Qualcomm Incorporated Systems and methods for low complexity forward transforms using zeroed-out coefficients
US10306229B2 (en) * 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
US20170034530A1 (en) * 2015-07-28 2017-02-02 Microsoft Technology Licensing, Llc Reduced size inverse transform for decoding and encoding
US10491922B2 (en) * 2015-09-29 2019-11-26 Qualcomm Incorporated Non-separable secondary transform for video coding
US10200719B2 (en) * 2015-11-25 2019-02-05 Qualcomm Incorporated Modification of transform coefficients for non-square transform units in video coding
CN113411580B (zh) * 2016-05-13 2024-01-30 夏普株式会社 图像解码装置及其方法、图像编码装置及其方法
JP6868785B2 (ja) * 2016-05-13 2021-05-12 ソニーグループ株式会社 画像処理装置および方法
CN114422796A (zh) * 2016-06-24 2022-04-29 韩国电子通信研究院 用于基于变换的图像编码/解码的方法和设备
US10972733B2 (en) * 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform
US10848788B2 (en) * 2017-01-06 2020-11-24 Qualcomm Incorporated Multi-type-tree framework for video coding
US10855997B2 (en) 2017-04-14 2020-12-01 Mediatek Inc. Secondary transform kernel size selection
WO2019022099A1 (ja) * 2017-07-28 2019-01-31 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
BR122021019694B1 (pt) * 2017-12-21 2022-05-17 Lg Electronics Inc Método de decodificação / codificação de imagem realizado por um aparelho de decodificação / codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método e aparelho de transmissão de dados que compreende um fluxo de bits para uma imagem e mídia de armazenamento digital legível por computador não transitória

Also Published As

Publication number Publication date
US20210360254A1 (en) 2021-11-18
CN115767086A (zh) 2023-03-07
US11184618B2 (en) 2021-11-23
JP7214820B2 (ja) 2023-01-30
BR122021019686B1 (pt) 2022-05-24
BR112020012643B1 (pt) 2022-05-17
BR122021019694B1 (pt) 2022-05-17
JP2021507634A (ja) 2021-02-22
KR20230161537A (ko) 2023-11-27
JP2023033549A (ja) 2023-03-10
US20230224467A1 (en) 2023-07-13
BR122021019719B1 (pt) 2022-05-24
JP7420982B2 (ja) 2024-01-23
CN115776572A (zh) 2023-03-10
JP6980920B2 (ja) 2021-12-15
EP4307676A3 (en) 2024-03-13
US11647199B2 (en) 2023-05-09
JP2022036081A (ja) 2022-03-04
JP2024026721A (ja) 2024-02-28
CN115834876A (zh) 2023-03-21
CN111615830A (zh) 2020-09-01
BR112020012643A2 (pt) 2020-12-01
US20200322611A1 (en) 2020-10-08
MX2020006623A (es) 2020-09-14
CN111615830B (zh) 2022-12-09
KR20200084354A (ko) 2020-07-10
CN115941940A (zh) 2023-04-07
EP3716631A4 (en) 2020-09-30
EP4307676A2 (en) 2024-01-17
KR102604680B1 (ko) 2023-11-21
EP3716631A1 (en) 2020-09-30
KR102489149B1 (ko) 2023-01-17
WO2019125035A1 (ko) 2019-06-27
KR20230010067A (ko) 2023-01-17

Similar Documents

Publication Publication Date Title
BR122021019687B1 (pt) Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método e aparelho de transmissão de dados que compreende um fluxo de bits para uma imagem e mídia de armazenamento digital legível por computador não transitória
BR122021010320B1 (pt) Método de codificação de imagem com base em transformada secundária não separável e dispositivo para o mesmo
BR112021002604A2 (pt) método de predição inter baseado no vetor de movimento baseado em histórico e dispositivo do mesmo
BR122021011268A2 (pt) Método e aparelho de decodificação de imagem, método e aparelho de codificação de imagem e mídias de armazenamento não transitória legíveis por computador
BR122023020352A2 (pt) Aparelho de decodificação/codificação para decodificação/codificação de imagem e aparelho para transmissão de dados para uma imagem
US20220368926A1 (en) Transform-based image coding method and apparatus therefor
JP2023112077A (ja) 変換カーネルセットに関する情報に対するコーディング
JP2023112079A (ja) 画像コーディングシステムにおいて変換カーネルセットに関する情報に対するコンテキストコーディング
US20220394278A1 (en) Transform-based image coding method and device for same
US20220385943A1 (en) Transform-based image coding method and device therefor
RU2803184C1 (ru) Способ кодирования изображения на основе преобразования и устройство для его осуществления
RU2811986C2 (ru) Способ кодирования изображения на основе преобразования и устройство для его осуществления
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
BR112021010422A2 (pt) Método de codificação de imagem baseado em transformada secundária e dispositivo para o mesmo
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
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
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
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
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
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
BR122023022608A2 (pt) Aparelho de decodificação para decodificação de imagens, aparelho de codificação de imagem para codificação de imagens e aparelho para transmissão de dados para uma informação de imagem
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

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 21/12/2018, OBSERVADAS AS CONDICOES LEGAIS