BR112020012040B1 - Método de decodificação de vídeo realizado por um aparelho de decodificação e método de codificação de vídeo realizado por um aparelho de codificação, e mídia de armazenamento legível por computador não transitória - Google Patents

Método de decodificação de vídeo realizado por um aparelho de decodificação e método de codificação de vídeo realizado por um aparelho de codificação, e mídia de armazenamento legível por computador não transitória Download PDF

Info

Publication number
BR112020012040B1
BR112020012040B1 BR112020012040-5A BR112020012040A BR112020012040B1 BR 112020012040 B1 BR112020012040 B1 BR 112020012040B1 BR 112020012040 A BR112020012040 A BR 112020012040A BR 112020012040 B1 BR112020012040 B1 BR 112020012040B1
Authority
BR
Brazil
Prior art keywords
transform
target block
block
nsst
transform coefficients
Prior art date
Application number
BR112020012040-5A
Other languages
English (en)
Other versions
BR112020012040A2 (pt
Inventor
Mehdi Salehifar
Seunghwan Kim
Jaehyun Lim
Moonmo KOO
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
Priority to BR122021010320-8A priority Critical patent/BR122021010320B1/pt
Publication of BR112020012040A2 publication Critical patent/BR112020012040A2/pt
Publication of BR112020012040B1 publication Critical patent/BR112020012040B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Abstract

Trata-se de um método de decodificação de imagem realizado por meio de um dispositivo de decodificação de acordo com a presente revelação que compreende as etapas de: derivar os coeficientes de transformada de um bloco de destino a partir de um fluxo de bits; derivar um índice de transformada secundária não separável (NSST) em relação ao bloco de destino; realizar a transformada inversa em relação aos coeficientes de transformada do bloco de destino com base no índice de NSST e, dessa forma, derivar as amostras residuais do bloco de destino; e gerar uma imagem reconstruída com base nas amostras residuais.

Description

ANTECEDENTES DA REVELAÇÃO Campo da Revelação
[001] A presente revelação refere-se a uma técnica de codificação de vídeo, e mais particularmente, a um método e aparelho de decodificação de vídeo de acordo com a transformada secundária não separável em um sistema de codificação de vídeo.
Técnica Relacionada
[002] A demanda de imagens de alta resolução e alta qualidade, como imagens de Alta Definição (HD) e imagens de Ultra Alta Definição (UHD) tem aumentado em vários campos. Como os dados da imagem têm alta resolução e alta qualidade, a quantidade de informações ou bits que será transmitida aumenta em relação aos dados da imagem herdada. Portanto, quando os dados de imagem são transmitidos usando um meio como uma linha de banda larga convencional com fio/sem fio, ou os dados de imagem são armazenados usando um meio de armazenamento existente, o custo de transmissão e o custo de armazenamento são aumentados.
[003] Por conseguinte, existe uma necessidade por uma técnica de compactação de imagem altamente eficiente para transmitir, armazenar e reproduzir informações de alta resolução e imagens de alta qualidade.
SUMÁRIO DA REVELAÇÃO
[004] A presente revelação fornece um método e aparelho para aprimorar a eficiência de codificação de vídeo.
[005] A presente revelação também fornece um método e aparelho de decodificação de vídeo para aplicar NSST a um bloco alvo.
[006] A presente revelação também fornece um método e aparelho de decodificação de vídeo para derivar uma faixa de índice de NSST com base em uma condição específica de um bloco alvo.
[007] A presente revelação também fornece um método e aparelho de decodificação de vídeo para determinar se deve codificar o índice de NSST com base em um coeficiente de transformada de um bloco alvo.
[008] De acordo com uma modalidade da presente revelação, é fornecido um método de decodificação de vídeo por um aparelho de decodificação. O método inclui derivar os coeficientes de transformada de um bloco alvo de um fluxo de bits; derivar um índice de Transformada Secundária Não Separável (NSST) do bloco alvo; derivar amostras residuais do bloco alvo executando a transformada inversa dos coeficientes de transformada do bloco alvo com base no índice de NSST; e gerar uma imagem reconstruída com base nas amostras residuais.
[009] De acordo com ainda outra modalidade da presente revelação, é fornecido um aparelho de decodificação que executa uma decodificação de vídeo. O aparelho de decodificação inclui um decodificador de entropia para derivar os coeficientes de transformada de um bloco alvo de um fluxo de bits e derivar um índice de Transformada Secundária Não Separável (NSST) do bloco alvo; uma transformada inversa para derivar amostras residuais do bloco alvo executando a transformada inversa dos coeficientes de transformada do bloco alvo com base no índice de NSST; e um somador para gerar uma imagem reconstruída com base nas amostras residuais.
[010] De acordo com mais uma outra modalidade da presente revelação, é fornecido um método de codificação de vídeo por um aparelho de codificação. O método inclui derivar amostras residuais de um bloco alvo; derivar os coeficientes de transformada do bloco alvo executando a transformada das amostras residuais; determinar se deve codificar um índice de Transformada Secundária Não Separável (NSST) dos coeficientes de transformada; e codificar informações de coeficientes de transformada, em que a etapa de determinar se deve codificar o índice de NSST inclui: varrer R + 1-ésimo a N-ésimo coeficientes de transformada entre os coeficientes de transformada do bloco alvo; e quando um coeficiente de transformada não zero estiver incluído nos R + 1-ésimo a N-ésimo coeficientes de transformada, determinar não codificar o índice de NSST, e em que o N é um número da amostra da área de destino superior esquerda, e o R é um coeficiente reduzido, e em que o R é menor que o N.
[011] De acordo com mais uma outra modalidade da presente revelação, é fornecido um aparelho de codificação de vídeo. O aparelho de codificação inclui um somador para derivar amostras residuais de um bloco alvo; uma transformada para derivar os coeficientes de transformada do bloco alvo executando a transformada das amostras residuais; determinar se deve codificar um índice de Transformada Secundária Não Separável (NSST) dos coeficientes de transformada; e um codificador de entropia para codificar informações de coeficientes de transformada, em que o codificador de entropia varre R + 1-ésimo a N-ésimo coeficientes de transformada entre os coeficientes de transformada do bloco alvo; e quando um coeficiente de transformada não zero estiver incluído nos R + 1-ésimo a N-ésimo coeficientes de transformada, determinar não codificar o índice de NSST, e em que o N é um número da amostra da área de destino superior esquerda, e o R é um coeficiente reduzido, e em que o R é menor que o N.
[012] De acordo com a presente revelação, uma faixa de índice de NSST pode ser derivada com base em uma condição específica de um bloco alvo, e através disso, a quantidade de bits do índice de NSST pode ser reduzida e, consequentemente, a taxa de codificação total pode ser aprimorada.
[013] De acordo com a presente revelação, uma transmissão de elemento de sintaxe de índice de NSST pode ser determinada com base em coeficientes de transformada de um bloco alvo, e através disso, a quantidade de bits do índice de NSST pode ser reduzida e, consequentemente, a taxa de codificação total pode ser aprimorada.
BREVE DESCRIÇÃO DOS DESENHOS
[014] 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.
[015] A Figura 2 ilustra um exemplo de um método de codificação de vídeo realizado por um aparelho de codificação de vídeo.
[016] A Figura 3 é 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 4 ilustra um exemplo de um método de decodificação de vídeo realizado por um aparelho de decodificação.
[018] A Figura 5 ilustra esquematicamente um esquema de multitransformada de acordo com a presente revelação.
[019] A Figura 6 ilustra 65 modos de intradireção de uma direção de predição.
[020] A Figura 7a e a Figura 7b são fluxogramas que ilustram um processo de codificação de um coeficiente de transformada de acordo com uma modalidade.
[021] A Figura 8 é um diagrama para descrever uma matriz de coeficientes de transformada com base em um bloco alvo de acordo com uma modalidade da presente revelação.
[022] A Figura 9 ilustra um exemplo de varredura de coeficientes de transformada de R+1 a N.
[023] A Figura 10a e a Figura são fluxogramas que ilustram um processo de codificação de um índice de NSST de acordo com uma modalidade.
[024] A Figura 11 ilustra um exemplo de determinar se um índice de NSST está codificado.
[025] A Figura 12 ilustra um exemplo de varredura de coeficientes de transformada de R+1 a N para todos os componentes de um bloco alvo.
[026] A Figura 13 ilustra esquematicamente um método de codificação de vídeo por um aparelho de codificação de acordo com a presente revelação.
[027] A Figura 14 ilustra esquematicamente um aparelho de codificação executando um método de codificação de vídeo de acordo com a presente revelação.
[028] A Figura 15 ilustra esquematicamente um método de decodificação de vídeo por um aparelho de decodificação de acordo com a presente revelação.
[029] A Figura 16 ilustra esquematicamente o aparelho de decodificação executando um método de decodificação de vídeo de acordo com a presente revelação.
DESCRIÇÃO DE MODALIDADES EXEMPLIFICATIVAS
[030] A presente revelação pode ser modificada de várias formas, e modalidades específicas da mesma serão descritas e ilustradas nos desenhos. Entretanto, as modalidades não se destinam a limitar a revelação. Os termos usados na descrição a seguir são usados meramente para descrever modalidades específicas, porém não se destinam a limitar a revelação. Uma expressão de um número no singular inclui uma expressão do número no plural, desde que seja claramente lido de forma diferente. Os termos como "incluem" e "têm" destinam-se a indicar que recursos, números, etapas, operações, elementos, componentes ou combinações dos mesmos usados na descrição a seguir existem e deve ser entendido que a possibilidade de existência ou adição de um ou mais recursos, números, etapas, operações, elementos, componentes diferentes ou combinações dos mesmos não são excluídos.
[031] Entretanto, os elementos nos desenhos descritos na revelação são desenhados independentemente com o propósito de conveniência para explicação de diferentes funções específicas e não significam que os elementos sejam incorporados por hardware independente ou software independente. Por exemplo, dois ou mais elementos dos elementos podem ser combinados para formar um único elemento, ou um elemento pode ser dividido em vários elementos. As modalidades em que os elementos são combinados e/ou divididos pertencem à revelação sem que se afaste do conceito da revelação.
[032] Mais adiante neste documento, as modalidades da presente revelação serão descritas em detalhes em 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 nos elementos similares serão omitidas.
[033] Entretanto, a presente revelação refere-se à codificação de vídeo/imagem. Por exemplo, o(s) método(s)/modalidade(s) revelado(s) na presente revelação pode(m) ser aplicado(s) 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.
[034] No presente relatório descritivo, em geral, uma imagem significa uma unidade que representa uma imagem em um momento específico, uma fatia é uma unidade que constitui uma parte da imagem. Uma imagem pode ser composta de várias fatias, e os termos de uma imagem e uma fatia podem ser misturados conforme a ocasião exigir.
[035] Um pixel ou um pel pode significar uma unidade mínima que constitui uma foto (ou imagem). Ademais, uma "amostra" pode ser usada como um termo que corresponde a um pixel. A amostra pode representar geralmente um pixel ou um valor de um pixel, pode representar apenas um pixel (um valor de pixel) de um componente luma, e pode representar apenas um pixel (um valor de pixel) de um componente croma.
[036] Uma unidade indica uma unidade básica de processamento de imagens. A unidade pode incluir pelo menos uma dentre uma área específica e informações relacionadas à área. Opcionalmente, a unidade pode ser misturada com termos como um bloco, uma área, ou similares. Em um caso típico, um bloco MxN pode representar um conjunto de amostras de coeficientes de transformada dispostos em M colunas e N linhas.
[037] 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.
[038] Com referência à Figura 1, um dispositivo de codificação de vídeo (100) pode incluir um particionador de imagem (105), um preditor (110), um processador residual (120), um codificador de entropia (130), um somador (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), uma transformada inversa (126).
[039] O particionador de imagem (105) pode dividir uma imagem de entrada em pelo menos uma unidade de processamento.
[040] Em um exemplo, a unidade de processamento pode ser chamada de 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 á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 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 imagem, 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. Aqui, o procedimento de codificação pode incluir um procedimento como predição, transformação e reconstrução, que será descrito posteriormente.
[041] 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 imagem, 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. Aqui, 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. Aqui, 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 chamada de 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 imagem 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 imagem e incluir o coeficiente de transformada ou uma matriz de amostras residuais.
[042] O preditor (110) pode executar a predição em um bloco alvo de processamento (mais adiante neste documento, 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.
[043] 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.
[044] 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 imagem à qual o bloco atual pertence (mais adiante neste documento, uma imagem 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.
[045] 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 imagem 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, dessa forma, é usado como um preditor de vetor de movimento do bloco atual para derivar um vetor de movimento do bloco atual.
[046] No caso da interpredição, o bloco vizinho pode incluir um bloco vizinho espacial existente na imagem atual e um bloco vizinho temporal existente na imagem de referência. A imagem de referência incluindo o bloco vizinho temporal também pode ser chamada de uma imagem colocalizada (colPic). As informações de movimento podem incluir o vetor de movimento e um índice de imagem 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.
[047] Quando as informações de movimento de um bloco vizinho temporal forem usadas no modo de salto e no modo de mesclagem, uma imagem mais alta em uma lista de imagens de referência pode ser usada como uma imagem de referência. As imagens de referência incluídas na lista de imagens de referência podem ser alinhadas com base em uma diferença de contagem de ordem de imagem (POC) entre uma imagem atual e uma imagem de referência correspondente. Uma POC corresponde a uma ordem de exibição e pode ser discriminada de uma ordem de codificação.
[048] 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 salto for aplicado, a amostra residual pode não ser gerada conforme descrito acima.
[049] 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 a transformação 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 kernel de transformação 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 kernel de transformação de transformada discreta de cosseno (DCT) em outros casos.
[050] O quantizador (123) pode quantizar os coeficientes de transformada para gerar coeficientes de transformada quantizados.
[051] 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).
[052] O codificador de entropia (130) pode executar a 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.
[053] 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.
[054] O somador (140) soma uma amostra residual a uma amostra de predição para reconstruir uma imagem. A amostra residual pode ser adicionada à amostra de predição em unidades de um bloco para gerar um bloco reconstruído. Embora o somador (140) seja descrito como um componente separado, o somador (140) pode fazer parte do preditor (110). Entretanto, o somador (140) pode ser chamado de um reconstrutor ou gerador de bloco reconstruído.
[055] O filtro (150) pode aplicar a filtragem de desblocagem e/ou um deslocamento adaptativo à imagem reconstruída. Os artefatos em um contorno de bloco na imagem reconstruída ou distorção na quantização podem ser corrigidos através de filtragem de desblocagem e/ou deslocamento adaptativo à amostra. O deslocamento adaptativo à amostra pode ser aplicado em unidades de uma amostra após a filtragem de desblocagem ser concluída. O filtro (150) pode aplicar um filtro em laço adaptativo (ALF) à imagem reconstruída. O ALF pode ser aplicado à imagem reconstruída à qual a filtragem de desblocagem e/ou deslocamento adaptativo à amostra foi aplicada.
[056] A memória (160) pode armazenar uma imagem reconstruída (imagem decodificada) ou informações necessárias para a codificação/decodificação. Aqui, a imagem reconstruída pode ser a imagem reconstruída filtrada pelo filtro (150). A imagem reconstruída armazenada pode ser usada como uma imagem de referência para (inter) predição de outras imagens. Por exemplo, a memória (160) pode armazenar imagens (referência) usadas para interpredição. Aqui, as imagens usadas para interpredição podem ser designadas de acordo com uma imagem de referência definida ou uma lista de imagens de referência.
[057] A Figura 2 ilustra um exemplo de um método de codificação de vídeo realizado por um aparelho de codificação de vídeo. Com referência à Figura 2, o método de codificação de vídeo pode incluir procedimentos de intra/interpredição, transformada, quantização e codificação de entropia. Por exemplo, um bloco de predição de um bloco atual pode ser gerado através da intra/interpredição e um bloco residual do bloco atual pode ser gerado através da subtração entre um bloco de entrada do bloco atual e o bloco de predição. Posteriormente, através de uma transformada do bloco residual, um bloco de coeficiente, ou seja, coeficientes de transformada do bloco atual pode ser gerado. Os coeficientes de transformada podem ser quantizados e codificados por entropia e, então, armazenados em um fluxo de bits.
[058] A Figura 3 é 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.
[059] Com referência à Figura 3, um aparelho de decodificação de vídeo 300 inclui um decodificador de entropia 310, um processador residual 320, um preditor 330, um somador 340, um filtro 350 e uma memória 360. Aqui, o processador residual 320 pode incluir um rearranjador 321, um desquantizador 322 e uma transformada inversa 323.
[060] Quando um fluxo de bits incluindo informações de vídeo for inserido, o aparelho de decodificação de vídeo 300 pode reconstruir um vídeo correspondente a um processo em que as informações de vídeo são processadas no aparelho de codificação de vídeo.
[061] Por exemplo, o aparelho de decodificação de vídeo 300 pode executar a decodificação de vídeo usando um processador aplicado no aparelho de codificação de vídeo. Dessa forma, o processador de decodificação de vídeo pode ser uma unidade de codificação, por exemplo, ou pode ser uma unidade de codificação, uma unidade de predição ou uma unidade de transformada, para outro exemplo. A unidade de codificação pode ser particionada de acordo com uma estrutura de árvore quadrática e/ou estrutura de árvore binária a partir da maior unidade de codificação.
[062] Uma unidade de predição e uma unidade de transformada podem ser adicionalmente usadas 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. Aqui, 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.
[063] O decodificador de entropia 310 pode analisar o fluxo de bits para emitir informações necessárias para reconstrução de vídeo ou reconstrução de imagem. Por exemplo, o decodificador de entropia 310 pode decodificar informações no fluxo de bits com base em um método de codificação como codificação de Golomb exponencial, CAVLC, CABAC, ou similares, e pode emitir um valor de 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.
[064] Mais especificamente, 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. Aqui, 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.
[065] As informações sobre predição entre as informações decodificadas no decodificador de entropia 310 podem ser fornecidas ao preditor 350 e valores residuais, ou seja, coeficientes de transformada quantizados, em que a decodificação de entropia foi realizada pelo decodificador de entropia 310 podem ser inseridos no rearranjador 321.
[066] O rearranjador 321 pode rearranjar os coeficientes de transformada quantizados em uma forma de bloco bidimensional. O rearranjador 321 pode executar o rearranjo correspondente à varredura de correspondendo a realizada pelo aparelho de codificação. Embora o rearranjador 321 seja descrito como um componente separado, o rearranjador 321 pode fazer parte do desquantizador 322.
[067] O desquantizador 322 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 aparelho de codificação.
[068] A transformada inversa 323 pode transformar inversamente os coeficientes de transformada para derivar amostras residuais.
[069] O preditor 330 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 330 pode ser um bloco de codificação ou pode ser um bloco de transformada ou pode ser um bloco de predição.
[070] O preditor 330 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.
[071] No caso da intrapredição, o preditor 330 pode derivar uma amostra de predição de um bloco atual com base em uma amostra de referência vizinha em uma imagem atual. O preditor 330 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.
[072] No caso de interpredição, o preditor 330 pode derivar uma amostra de predição de um bloco atual com base em uma amostra especificada em uma imagem de referência de acordo com um vetor de movimento. O preditor 330 pode derivar a amostra de predição do bloco atual usando um dentre o modo de salto, o modo de mesclagem e o modo MVP. Aqui, as informações de movimento necessárias para interpredição do bloco atual fornecidas pelo aparelho de codificação de vídeo, por exemplo, um vetor de movimento e informações sobre um índice de imagem de referência podem ser adquiridas ou derivadas com base nas informações sobre predição.
[073] No modo de salto 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. Aqui, o bloco vizinho pode incluir um bloco vizinho espacial e um bloco vizinho temporal.
[074] O preditor 330 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 aparelho de codificação. As informações de movimento podem incluir um vetor de movimento e uma imagem de referência. Quando as informações de movimento de um bloco vizinho temporal forem usadas no modo de salto e no modo de mesclagem, uma imagem mais alta em uma lista de imagens de referência pode ser usada como uma imagem de referência.
[075] No caso do modo de salto, uma diferença (residual) entre uma amostra de predição e uma amostra original não é transmitida, distinguida do modo de mesclagem.
[076] 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. Aqui, o bloco vizinho pode incluir um bloco vizinho espacial e um bloco vizinho temporal.
[077] 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. Aqui, o preditor 330 pode derivar o vetor de movimento do bloco atual usando o índice de mesclagem.
[078] 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. Aqui, 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 aparelho 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. Aqui, o preditor 330 pode adquirir 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 imagem de referência indicando uma imagem de referência a partir das informações supracitadas sobre predição.
[079] O somador 340 pode somar uma amostra residual a uma amostra de predição para reconstruir um bloco atual ou uma imagem atual. O somador 340 pode reconstruir a imagem atual pela soma da amostra residual à amostra de predição em unidades de um bloco. Quando o modo de salto for aplicado, um residual não é transmitido e, dessa forma, a amostra de predição pode se tornar uma amostra reconstruída. Embora o somador 340 seja descrito como um componente separado, o somador 340 pode fazer parte do preditor 330. Entretanto, o somador 340 pode ser chamado de um reconstrutor ou gerador de bloco reconstruído.
[080] O filtro 350 pode aplicar filtragem de desblocagem, deslocamento adaptativo à amostra e/ou ALF à imagem reconstruída. Aqui, o deslocamento adaptativo à amostra pode ser aplicado em unidades de uma amostra após a filtragem de desblocagem. O ALF pode ser aplicado após a filtragem de desblocagem e/ou aplicação de deslocamento adaptativo à amostra.
[081] A memória 360 pode armazenar uma imagem reconstruída (imagem decodificada) ou informações necessárias para a decodificação. Aqui, a imagem reconstruída pode ser a imagem reconstruída filtrada pelo filtro 350. Por exemplo, a memória 360 pode armazenar imagens usadas para interpredição. Aqui, as imagens usadas para interpredição podem ser designadas de acordo com uma imagem de referência definida ou uma lista de imagens de referência. Uma imagem reconstruída pode ser usada como uma imagem de referência para outras imagens. A memória 360 pode emitir imagens reconstruídas em uma ordem de saída.
[082] A Figura 4 ilustra um exemplo de um método de decodificação de vídeo realizado por um aparelho de decodificação. Com referência à Figura 4, o método de decodificação de vídeo pode incluir procedimentos de decodificação de entropia, desquantização, transformada inversa e intra/interpredição. Por exemplo, os procedimentos inversos do método de codificação podem ser executados no aparelho de decodificação. Particularmente, através de decodificação de entropia de um fluxo de bits, os coeficientes de transformada quantizados podem ser obtidos e através do procedimento de desquantização dos coeficientes de transformada quantizados, um bloco de coeficiente do bloco atual, ou seja, coeficientes de transformada pode ser obtido. Através da transformada inversa dos coeficientes de transformada, um bloco residual do bloco atual pode ser derivado, e através da soma de um bloco de predição do bloco atual e do bloco residual derivado através de intra/interpredição, um bloco reconstruído do bloco atual pode ser derivado.
[083] Entretanto, através da transformada descrita acima, os coeficientes de transformada de frequência mais baixa do bloco residual do bloco atual podem ser derivados, e em uma extremidade do bloco residual, uma cauda zero pode ser derivada.
[084] Particularmente, a transformada pode incluir dois tipos de procedimentos principais, e os procedimentos principais podem incluir uma transformada de núcleo e uma transformada secundária. A transformada incluindo a transformada de núcleo e a transformada secundária podem ser representadas como esquema multitransformada.
[085] A Figura 5 ilustra esquematicamente um esquema de multitransformada de acordo com a presente revelação.
[086] Com referência à Figura 5, a transformada pode corresponder à transformada do aparelho de codificação da Figura 1, e a transformada inversa pode corresponder à transformada inversa do aparelho de codificação da Figura 1, ou a transformada inversa do aparelho de decodificação da Figura 3.
[087] A transformada pode derivar coeficientes de transformada (primária) executando uma transformada primária com base em amostras residuais (matriz de amostras residuais) dentro de um bloco residual (S510). Nesse caso, a transformada primária pode incluir uma Transformada de Múltiplos núcleos Adaptativa (AMT). A transformada de múltiplos núcleos adaptativa também pode ser representada como um Conjunto de Múltiplas Transformadas (MTS).
[088] A transformada de múltiplos núcleos adaptativa pode indicar um método de executar uma transformada adicionalmente usando uma transformada discreta de cosseno (DCT) Tipo 2, uma transformada discreta de seno (DST) Tipo 7, uma DCT Tipo 8 e/ou uma DST Tipo 1. Ou seja, a transformada de múltiplos núcleos adaptativa pode indicar um método de transformada de transformar um sinal residual (ou bloco residual) de um domínio espacial em coeficientes de transformada (ou coeficientes de transformada primária) de um domínio de frequência com base em uma pluralidade de núcleos de transformada selecionados entre a DCT Tipo 2, a DST Tipo 7, a DCT Tipo 8 e a DST Tipo 1. Nesse caso, os coeficientes de transformada primária podem ser chamados de coeficientes de transformada temporários a partir do ponto de vista da transformada.
[089] Em outras palavras, no caso em que o método de transformada existente é aplicado, os coeficientes de transformada podem ser gerados aplicando- se uma transformada de um domínio espacial para um sinal residual (ou bloco residual) a um domínio de frequência baseado na DCT Tipo 2. Por outro lado, no caso em que a transformada de múltiplos núcleos adaptativa é aplicada, os coeficientes de transformada (ou coeficientes de transformada primária) podem ser gerados aplicando-se uma transformada de um domínio espacial para um sinal residual (ou bloco residual) a um domínio de frequência baseado na DCT Tipo 2, na DST Tipo 7, na DCT Tipo 8 e/ou na DST Tipo 1. Nesse caso, a DCT Tipo 2, a DST Tipo 7, a DCT Tipo 8 e a DST Tipo 1 podem ser chamadas de um tipo de transformada, um kernel de transformada ou um núcleo de transformada.
[090] Para referência, os tipos de transformada DCT/DST podem ser definidos com base em funções básicas. As funções básicas podem ser representadas da seguinte forma. [Tabela 1 ]
Figure img0001
[091] No caso em que a transformada de múltiplos núcleos adaptativa é executada, um kernel de transformada vertical e um kernel de transformada horizontal de um bloco alvo podem ser selecionados dentre kernels de transformada. Uma transformada vertical de um bloco alvo pode ser executada com base no kernel de transformada vertical. Uma transformada horizontal do bloco alvo pode ser executada com base no kernel de transformada horizontal. Nesse caso, a transformada horizontal pode representar uma transformada dos componentes horizontais do bloco alvo. A transformada vertical pode representar uma transformada dos componentes verticais do bloco alvo. O kernel de transformada vertical/kernel de transformada horizontal podem ser adaptativamente determinados com base em um modo de predição do bloco alvo (CU ou sub-bloco) que abrange um bloco residual e/ou um índice de transformada indicativo de um subconjunto de transformadas.
[092] Por exemplo, a transformada de múltiplos núcleos adaptativa pode ser aplicada ao caso em que tanto uma largura como uma altura de um bloco alvo são iguais ou menores que 64, e isto pode ser determinado com base em um sinalizador de nível de CU se a transformada de múltiplos núcleos adaptativa for aplicada. Particularmente, no caso em que o sinalizador de nível de CU é 0, o método de transformada existente descrito acima pode ser aplicado. Ou seja, no caso em que o sinalizador de nível de CU é 0, a transformada de um domínio espacial de um sinal residual (ou bloco residual) para um domínio de frequência baseado na DCT Tipo 2 pode ser aplicada e os coeficientes de transformada podem ser gerados, e os coeficientes de transformada podem ser codificados. Entretanto, aqui, o bloco alvo pode ser uma CU. No caso em que o sinalizador de nível de CU é 0, a transformada de múltiplos núcleos adaptativa pode ser aplicada ao bloco alvo.
[093] Além disso, no caso de um bloco luma do bloco alvo ao qual a transformada de múltiplos núcleos adaptativa é aplicada, dois sinalizadores adicionais podem ser sinalizados, e com base nos sinalizadores, um kernel de transformada vertical e um kernel de transformada horizontal podem ser selecionados. O sinalizador do kernel de transformada vertical pode ser representado como sinalizador vertical de AMT, e AMT_TU_vertical_flag (ou EMT_TU_vertical_flag) pode representar um elemento de sintaxe do sinalizador vertical de AMT. O sinalizador do kernel de transformada horizontal pode ser representado como sinalizador horizontal de AMT, e AMT_TU_horizontal_flag (ou EMT_TU_horizontal_flag) pode representar um elemento de sintaxe do sinalizador horizontal de AMT. O sinalizador vertical de AMT pode indicar um candidato a kernel de transformada entre os candidatos a kernel de transformada incluídos em um subconjunto de transformadas do kernel de transformada vertical, e o candidato a kernel de transformada indicado pelo sinalizador vertical de AMT pode ser derivado como um kernel de transformada vertical do bloco alvo. Além disso, o sinalizador horizontal de AMT pode indicar um candidato a kernel de transformada entre os candidatos a kernel de transformada incluídos em um subconjunto de transformadas do kernel de transformada horizontal, e o candidato a kernel de transformada indicado pelo sinalizador horizontal de AMT pode ser derivado como um kernel de transformada horizontal do bloco alvo. Entretanto, o sinalizador vertical de AMT pode ser representado como sinalizador vertical de MTS, e o sinalizador horizontal de AMT pode ser representado como sinalizador horizontal de MTS.
[094] Entretanto, três subconjuntos de transformadas podem ser pré- configurados, e baseados no modo de intrapredição aplicado ao bloco alvo, um dos subconjuntos de transformada pode ser derivado como um subconjunto de transformadas do kernel de transformada vertical. Além disso, um dos subconjuntos de transformada pode ser derivado como um subconjunto de transformadas do kernel de transformada horizontal com base no modo de intrapredição aplicado ao bloco alvo. Por exemplo, os subconjuntos de transformadas pré-configurados podem ser derivados como representado na Tabela a seguir. [Tabela 2]
Figure img0002
[095] Com referência à Tabela 2, o subconjunto de transformadas cujo valor de índice é 0 pode representar um subconjunto de transformadas incluindo DST tipo 7 e DCT tipo 7 como um candidato a kernel de transformada. O subconjunto de transformadas cujo valor de índice é 1 pode representar um subconjunto de transformadas incluindo DST tipo 7 e DCT tipo 1 como um candidato a kernel de transformada. O subconjunto de transformadas cujo valor de índice é 2 pode representar um subconjunto de transformadas incluindo DST tipo 7 e DCT tipo 8 como um candidato a kernel de transformada.
[096] O subconjunto de transformadas do kernel de transformada vertical e o subconjunto de transformadas do kernel de transformada horizontal derivados com base no modo de intrapredição aplicado ao bloco alvo podem ser derivados como representado na Tabela a seguir. [Tabela 3]
Figure img0003
[097] No presente documento, V representa o subconjunto de transformadas do kernel de transformada vertical e H representa o subconjunto de transformadas do kernel de transformada horizontal.
[098] No caso em que um valor do sinalizador de AMT (ou EMT_CU_flag) é 1, como representado na Tabela 3, o subconjunto de transformadas do kernel de transformada vertical e o subconjunto de transformadas do kernel de transformada horizontal podem ser derivados com base no modo de intrapredição do bloco alvo. Posteriormente, entre os candidatos a kernel de transformada incluídos no subconjunto de transformadas do kernel de transformada vertical, um candidato a kernel de transformada indicado pelo sinalizador vertical de AMT do bloco alvo pode ser derivado como o kernel de transformada vertical do bloco alvo, e entre os candidatos a kernel de transformada incluídos no subconjunto de transformadas do kernel de transformada horizontal, um candidato a kernel de transformada indicado pelo sinalizador horizontal de AMT do bloco alvo pode ser derivado como o kernel de transformada horizontal do bloco alvo. Entretanto, o sinalizador de AMT também pode ser representado como sinalizador de MTS.
[099] Para referência, por exemplo, um 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). O modo de intrapredição não direcional pode incluir um modo de intrapredição No. 0 (planar) e um modo de intrapredição DC No. 1. Os modos de intrapredição direcionais podem incluir sessenta e cinco modos de intrapredição No. 2 a No. 66. Entretanto, esses são exemplos, e a presente revelação pode ser aplicada a um caso em que o número de modos de intrapredição é diferente. Entretanto, em alguns casos, o modo de intrapredição No. 67 pode ser adicionalmente usado. O modo de intrapredição No. 67 pode representar um modo de modelo linear (LM).
[0100] A Figura 6 ilustra 65 modos de intradireção de uma direção de predição.
[0101] Com referência à Figura 6, os modos podem ser divididos em modos de intrapredição que têm direcionalidade horizontal e modos de intrapredição que têm direcionalidade vertical com base em um modo de intrapredição No. 34 que tem uma direção de predição diagonal esquerda para cima. Na Figura 6, H e V significam a direcionalidade horizontal e a direcionalidade vertical, respectivamente, e os números -32 ~ 32 indicam os deslocamentos de uma unidade 1/32 em uma posição de grade de amostra. Os modos de intrapredição No. 2 a No. 33 têm direcionalidade horizontal, e os modos de intrapredição No. 34 a No. 66 têm direcionalidade vertical. O modo de intrapredição No. 18 e o modo de intrapredição No. 50 indicam um modo de intrapredição horizontal e um modo de intrapredição vertical, respectivamente. O modo de intrapredição No. 2 pode ser chamado de um modo de intrapredição diagonal esquerdo para baixo, o modo de intrapredição No. 34 pode ser chamado de um modo de intrapredição diagonal esquerdo para cima e o modo de intrapredição No. 66 pode ser chamado de um modo de intrapredição diagonal direito para cima.
[0102] O transformador pode executar uma transformada secundária com base nos coeficientes de transformada (primária) e derivar coeficientes de transformada (secundária) (etapa, S520). Se a transformada primária for uma transformada de um domínio espacial para um domínio de frequência, a transformada secundária pode ser considerada uma transformada de um domínio de frequência para um 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 chamada de uma transformada secundária não separável (NSST) ou transformada secundária não separável dependente de modo (MDNSST). A transformada secundária não separável pode representar uma transformada para gerar coeficientes de transformada (ou coeficientes de transformada secundária) para um sinal residual mediante a transformada secundária dos coeficientes de transformada (primária) derivados através da transformada primária com base em uma matriz de transformada não separável. Aqui, a transformada vertical e a transformada horizontal não são separadamente (ou independentemente) aplicadas para os coeficientes de transformada (primária) com base na matriz de transformada não separável, porém a transformada vertical e a transformada horizontal podem ser aplicadas uma vez. Em outras palavras, a transformada secundária não separável pode representar um método de transformada para gerar coeficientes de transformada (ou coeficientes de transformada secundária) transformando um componente vertical e um componente horizontal em conjunto com base na matriz de transformada não separável, não transformando um componente vertical e um componente horizontal separadamente. A transformada secundária não separável pode ser aplicada a uma área superior esquerda de um bloco incluindo coeficientes de transformada (primária) (mais adiante neste documento, esse pode ser chamado de um bloco de coeficiente de transformada ou um bloco alvo). Por exemplo, no caso em que tanto uma largura (W) como uma altura (H) do bloco de coeficiente de transformada são 8 ou mais, uma transformada secundária não separável 8x8 pode ser aplicada a uma área superior esquerda 8x8 do bloco de coeficiente de transformada (mais adiante neste documento, área de destino superior esquerda). Além disso, no caso em que uma largura (W) e uma altura (H) do bloco de coeficiente de transformada é 8 ou menor, enquanto uma largura (W) e uma altura (H) do bloco de coeficiente de transformada são 4 ou mais e, uma transformada secundária não separável 4x4 pode ser aplicada a uma área superior esquerda min(8,W)xmin(8,H) do bloco de coeficiente de transformada.
[0103] Particularmente, por exemplo, no caso em que o bloco de entrada 4x4 é usado, a transformada secundária não separável pode ser executada conforme abaixo.
[0104] O bloco de entrada X 4x4 pode ser representado conforme abaixo. [Equação 1]
Figure img0004
[0105] Quando o X for representado como uma forma de vetor, o vetor X pode ser representado conforme abaixo. [Equação 2]
Figure img0005
[0106] Nesse caso, a transformada secundária não separável pode ser
Figure img0006
calculada conforme abaixo. [Equação 3]
Figure img0007
[0107] No presente documento,
Figure img0008
representa um vetor de coeficiente de transformada, e T representa a matriz de transformada 16x16 (não separável).
[0108] Através da Equação 3 acima, o vetor de coeficiente de transformada 16x1
Figure img0009
pode ser derivado, e o
Figure img0010
pode ser reorganizado com um bloco 4x4 através de uma ordem de varredura (horizontal, vertical, diagonal, etc.). Entretanto, o cálculo é um exemplo, e a Transformada de Hipercubo de Givens (HyGT) e similares podem ser usados para calcular a transformada secundária não separável para reduzir a complexidade de cálculo da transformada secundária não separável.
[0109] Entretanto, na transformada secundária não separável, um kernel de transformada (ou núcleo de transformada, tipo de transformada) pode ser selecionado de maneira dependente de modo. Aqui, o modo pode incluir um modo de intrapredição e/ou um modo de interpredição.
[0110] Conforme descrito acima, a transformada secundária não separável pode ser executada com base na transformada 8x8 ou transformada 4x4 determinada com base em uma largura (W) e uma altura (H) do bloco de coeficiente de transformada. Ou seja, a transformada secundária não separável pode ser executada com base no tamanho de sub-bloco 8x8 ou tamanho de sub-bloco 4x4. Por exemplo, para selecionar o kernel de transformada dependente de modo, três kernels de 35 conjuntos de transformada secundária não separável podem ser configurados para a transformada secundária não separável tanto para tamanho de sub-bloco 8x8 como para tamanho de sub-bloco 4x4. Ou seja, 35 conjuntos de transformada são configurados para tamanho de sub-bloco 8x8 e 35 conjuntos de transformada são configurados para tamanho de sub-bloco 4x4. Nesse caso, três kernels de transformada 8x8 podem estar incluídos em cada um dos 35 conjuntos de transformada para tamanho de sub-bloco 8x8. Nesse caso, três kernels de transformada 4x4 podem estar incluídos em cada um dos 35 conjuntos de transformada para tamanho de sub-bloco 4x4. Entretanto, o tamanho de sub-bloco de transformada, o número de conjuntos e o número dos kernels de transformada em um conjunto são exemplos, porém um tamanho exceto 8x8 ou 4x4 pode ser usado, ou n conjuntos podem ser configurados, e k kernels de transformada podem estar incluídos em cada conjunto.
[0111] O conjunto de transformadas pode ser chamado de conjunto de NSST, e o kernel de transformada no conjunto de NSST pode ser chamado de kernel de NSST. Uma seleção de um conjunto específico entre os conjuntos de transformada pode ser realizada com base em um modo de intrapredição de um bloco alvo (CU ou sub-bloco), por exemplo.
[0112] Nesse caso, o mapeamento entre os 35 conjuntos de transformada e os modos de intrapredição podem ser representados como a Tabela a seguir, por exemplo. Para referência, no caso em que o modo LM é aplicado a um bloco alvo, a transformada secundária pode não ser aplicada ao bloco alvo. [Tabela 4]
Figure img0011
[0113] Entretanto, quando for determinado que um conjunto específico é usado, um dentre k kernels de transformada no conjunto específico pode ser selecionado através de um índice de transformada secundária não separável. O aparelho de codificação pode derivar um índice de transformada secundária não separável indicando um kernel de transformada específico com base em verificação de taxa de distorção (RD) e sinalizar o índice de transformada secundária não separável para o aparelho de decodificação. O aparelho de decodificação pode selecionar um dentre k kernels 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 kernel de transformada secundária não separável, o valor de índice de NSST 1 pode indicar um segundo kernel de transformada secundária não separável, e o valor de índice de NSST 2 pode indicar um terceiro kernel de transformada secundária não separável. Alternativamente, o valor de índice de NSST 0 pode indicar que uma 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 kernels de transformada.
[0114] Com referência à Figura 5 novamente, o transformador pode executar a transformada secundária não separável com base nos kernels de transformada selecionados e obter coeficientes de transformada (secundária). Conforme descrito acima, os coeficientes de transformada podem ser derivados como coeficientes de transformada quantizada através do quantizador e codificados e sinalizados para o aparelho de decodificação e encaminhados para o desquantizador/transformada inversa no aparelho de codificação.
[0115] Entretanto, no caso em que a transformada secundária é omitida, os coeficientes de transformada (primária), que são uma saída da transformada primária (separável), podem ser derivados como coeficientes de transformada quantizada através do quantizador conforme descrito acima e codificados e sinalizados para o aparelho de decodificação e encaminhados para o desquantizador/transformada inversa no aparelho de codificação.
[0116] A transformada inversa pode executar uma série de procedimentos em uma ordem inversa dos procedimentos realizados na transformada. A transformada inversa pode receber coeficientes de transformada (desquantizada) e derivar coeficientes de transformada (primária) realizando a transformada secundária (inversa) (etapa, S550) e obter um bloco residual (amostras residuais) realizando a transformada primária (inversa) dos coeficientes de transformada (primária). Aqui, os coeficientes de transformada primária podem ser chamados de coeficientes de transformada modificada em um aspecto da transformada inversa. O aparelho de codificação e o aparelho de decodificação podem gerar um bloco reconstruído com base no bloco residual e no bloco previsto, e com base nisso, gerar uma imagem reconstruída, conforme descrito acima.
[0117] Entretanto, conforme descrito acima, no caso em que a transformada secundária é omitida, os coeficientes de transformada (desquantizada) são recebidos, a transformada primária (separável) é executada, e um bloco residual (amostras residuais) pode ser obtido. O aparelho de codificação e o aparelho de decodificação podem gerar um bloco reconstruído com base no bloco residual e no bloco previsto, e com base nisso, gerar uma imagem reconstruída, conforme descrito acima.
[0118] Entretanto, a transformada secundária não separável pode não ser aplicada a um bloco codificado com um modo de salto de transformada. Por exemplo, no caso em que um índice de NSST de uma CU de destino é sinalizado e um valor do índice de NSST não é 0, a transformada secundária não separável pode não ser aplicada a um bloco codificado com um modo de salto de transformada na CU de destino. Além disso, no caso em que a CU de destino incluindo blocos de todos os componentes (componente luma, componente croma, etc.) é codificada com o modo de salto de transformada ou no caso em que o número de coeficientes de transformada que é não zero entre os coeficientes de transformada da CU de destino é menor que 2, o índice de NSST pode não ser sinalizado. Um processo de codificação detalhado de um coeficiente de transformada é conforme abaixo.
[0119] A Figura 7a e a Figura 7b são fluxogramas que ilustram um processo de codificação de um coeficiente de transformada de acordo com uma modalidade.
[0120] Cada etapa mostrada na Figura 7a e na Figura 7b pode ser executada pelo aparelho de codificação 100 ou pelo aparelho de decodificação 300 mostrado na Figura 1 e na Figura 3, respectivamente e, mais particularmente, executada pelo codificador de entropia 130 mostrado na Figura 1 e o decodificador de entropia 310 mostrado na Figura 3, respectivamente. Consequentemente, a descrição detalhada sobreposta aos conteúdos descritos na Figura 1 ou Figura 3 é omitida ou brevemente descrita.
[0121] Nesta revelação, um termo ou uma sentença é usado para definir informações ou conceito específicos. Por exemplo, nesta revelação, “um sinalizador indicando se pelo menos um coeficiente de transformada não zero está presente entre os coeficientes de transformada de um bloco alvo indica um cbf. Entretanto, visto que "cbf" pode ser substituído por vários outros termos, como coded_block_flag e similares, ao interpretar um termo ou uma frase usada para definir informações ou conceitos específicos ao longo da revelação, o termo ou a frase não deve ser interpretado de maneira limitada ao título, porém é necessário interpretar o termo ou a frase concentrando-se em várias operações, funções e efeitos de acordo com o significado do termo.
[0122] A Figura 7a ilustra um processo de codificação de um coeficiente de transformada.
[0123] O aparelho de codificação 100 de acordo com uma modalidade. Pode determinar se um sinalizador indicando se pelo menos um coeficiente de transformada não zero está presente entre os coeficientes de transformada de um bloco alvo indica 1 (etapa, S700). No caso em que o sinalizador indicando se pelo menos um coeficiente de transformada não zero está presente entre os coeficientes de transformada de um bloco alvo indica 1, pelo menos um coeficiente de transformada não zero pode estar presente entre os coeficientes de transformada de um bloco alvo. Por outro lado, no caso em que o sinalizador indicando se pelo menos um coeficiente de transformada não zero está presente entre os coeficientes de transformada de um bloco alvo indica 0, todos os coeficientes de transformada de um bloco alvo podem indicar 0.
[0124] O sinalizador indicando se pelo menos um coeficiente de transformada não zero está presente entre os coeficientes de transformada de um bloco alvo pode ser representado por um sinalizador cbf. O sinalizador cbf pode incluir cbf_luma[x0][y0][trafoDepth] para um bloco luma e os sinalizadores cbf_cb[x0][y0][trafoDepth] e cbf_cr[x0][y0][trafoDepth] para um bloco croma. Aqui, os índices de matriz x0 e y0 podem significar as posições de amostras de luma/croma superiores esquerdas de um bloco alvo para amostras de luma/croma superiores esquerdas de uma imagem atual, e o índice de matriz trafoDepth pode significar um nível em que um bloco de codificação é particionado com o propósito de codificação de transformada. Os blocos cujo trafoDepth indica 0 podem corresponder a um bloco de codificação, e no caso em que um bloco de codificação e um bloco de transformada são definidos de forma idêntica, trafoDepth pode ser considerado 0.
[0125] No caso em que o sinalizador indicando se pelo menos um coeficiente de transformada não zero está presente entre os coeficientes de transformada de um bloco alvo indica 1 na etapa S700, o aparelho de codificação 100 de acordo com uma modalidade pode codificar as informações de coeficientes de transformada de um bloco alvo (etapa, S710).
[0126] As informações de coeficientes de transformada de um bloco alvo podem incluir pelo menos uma informação de uma posição do último coeficiente de transformada, que é não zero, as informações de sinalizador de grupo indicando se um coeficiente de transformada não zero está incluído em um subgrupo de um bloco alvo e as informações de um coeficiente reduzido, por exemplo. A descrição detalhada das informações será descrita abaixo.
[0127] O aparelho de codificação 100 de acordo com uma modalidade pode determinar se o mesmo corresponde a uma condição para executar a NSST (etapa, S720). Mais particularmente, o aparelho de codificação 100 pode determinar se o mesmo corresponde a uma condição para codificar um índice de NSST. Nesse caso, o índice de NSST pode ser chamado de índice de transformada, por exemplo.
[0128] No caso em que o aparelho de codificação 100 de acordo com uma modalidade determina que o mesmo corresponde a uma condição para executar a NSST na etapa S720, o aparelho de codificação 100 pode codificar o índice de NSST (etapa, S730). Mais particularmente, no caso em que o aparelho de codificação 100 de acordo com uma modalidade determina que o mesmo corresponde a uma condição para codificar o índice de NSST, o aparelho de codificação 100 pode codificar o índice de NSST.
[0129] No caso em que o sinalizador indicando se pelo menos um coeficiente de transformada não zero está presente entre os coeficientes de transformada de um bloco alvo indica 0 na etapa S700, o aparelho de codificação 100 de acordo com uma modalidade pode omitir as operações de acordo com as etapas S710, S720 e S730.
[0130] Além disso, no caso em que o aparelho de codificação 100 de acordo com uma modalidade pode determinar se o mesmo não corresponde a uma condição para executar a NSST na etapa S720, o aparelho de codificação 100 pode omitir a operação de acordo com a etapa S730.
[0131] A Figura 7b ilustra um processo de decodificação de um coeficiente de transformada.
[0132] O aparelho de decodificação 300 de acordo com uma modalidade. Pode determinar se um sinalizador indicando se pelo menos um coeficiente de transformada não zero está presente entre os coeficientes de transformada de um bloco alvo indica 1 (etapa, S740). No caso em que o sinalizador indicando se pelo menos um coeficiente de transformada não zero está presente entre os coeficientes de transformada de um bloco alvo indica 1, pelo menos um coeficiente de transformada não zero pode estar presente entre os coeficientes de transformada de um bloco alvo. Por outro lado, no caso em que o sinalizador indicando se pelo menos um coeficiente de transformada não zero está presente entre os coeficientes de transformada de um bloco alvo indica 0, todos os coeficientes de transformada de um bloco alvo podem indicar 0.
[0133] No caso em que o sinalizador indicando se pelo menos um coeficiente de transformada não zero está presente entre os coeficientes de transformada de um bloco alvo indica 1 na etapa S740, o aparelho de decodificação 300 de acordo com uma modalidade pode codificar as informações de coeficientes de transformada de um bloco alvo (etapa, S750).
[0134] O aparelho de decodificação 300 de acordo com uma modalidade pode determinar se o mesmo corresponde a uma condição para executar a NSST (etapa, S760). Mais particularmente, o aparelho de decodificação 300 pode determinar se o mesmo corresponde a uma condição para decodificar um índice de NSST a partir de um fluxo de bits.
[0135] No caso em que o aparelho de decodificação 300 de acordo com uma modalidade determina que o mesmo corresponde a uma condição para executar a NSST na etapa S760, o aparelho de decodificação 300 pode decodificar o índice de NSST (etapa, S770).
[0136] No caso em que o sinalizador indicando se pelo menos um coeficiente de transformada não zero está presente entre os coeficientes de transformada de um bloco alvo indica 0 na etapa S740, o aparelho de decodificação 300 de acordo com uma modalidade pode omitir as operações de acordo com as etapas S750, S760 e S770.
[0137] Além disso, no caso em que o aparelho de decodificação 300 de acordo com uma modalidade pode determinar se o mesmo não corresponde a uma condição para executar a NSST na etapa S760, o aparelho de decodificação 300 pode omitir a operação de acordo com a etapa S770.
[0138] Conforme descrito acima, isso pode degradar a eficiência de codificação para sinalizar o índice de NSST quando a NSST não for executada conforme descrito acima. Além disso, dependendo de uma condição específica, um método para diferenciação de um método de codificação do índice de NSST pode otimizar a eficiência de codificação total de uma imagem. Consequentemente, a presente revelação propõe vários métodos de codificação de índice de NSST.
[0139] Por exemplo, com base em uma condição específica, uma faixa do índice de NSST pode ser determinada. Em outras palavras, com base em uma condição específica, uma faixa de um valor do índice de NSST pode ser determinada. Particularmente, com base em uma condição específica, um valor máximo do índice de NSST pode ser determinado.
[0140] Por exemplo, com base em um tamanho de bloco, uma faixa de um valor do índice de NSST pode ser determinada. Aqui, o tamanho do bloco pode ser definido como um mínimo (W, H). W pode representar uma largura, e H pode representar uma altura. Nesse caso, através de uma comparação entre uma largura de um bloco alvo e a W e uma comparação entre uma altura do bloco alvo e a H mínima, uma faixa de um valor do índice de NSST pode ser determinada.
[0141] Alternativamente, o tamanho do bloco pode ser definido como o número de amostras em um bloco (W*H). Nesse caso, através de uma comparação entre o número de amostras de um bloco alvo W*H e um valor específico, uma faixa de um valor do índice de NSST pode ser determinada.
[0142] Alternativamente, por exemplo, com base em um formato de um bloco, ou seja, um tipo de bloco, uma faixa de um valor do índice de NSST pode ser determinada. Aqui, o tipo de bloco pode ser definido como um bloco quadrado ou um bloco não quadrado. Nesse caso, uma faixa de um valor do índice de NSST pode ser determinada com base no fato de um bloco alvo ser um bloco quadrado ou um bloco não quadrado.
[0143] Alternativamente, o tipo de bloco pode ser definido como uma razão entre um lado longo (lado longo entre uma largura e uma altura) e um lado curto de um bloco. Nesse caso, através de uma comparação entre uma razão de um lado longo e um lado curto de um bloco e um valor limiar pré-configurado (por exemplo, 2 ou 3), uma faixa de um valor do índice de NSST pode ser determinada. Aqui, a razão pode representar um valor do lado curto dividido pelo lado longo. Por exemplo, no caso em que uma largura do bloco alvo é mais longo que uma altura, através de uma comparação entre o valor da largura dividido pela altura e o valor limiar pré- configurado, uma faixa de um valor do índice de NSST pode ser determinada. Além disso, no caso em que uma altura do bloco alvo é mais longa que uma largura, através de uma comparação entre o valor da altura dividido pela largura e o valor limiar pré-configurado, uma faixa de um valor do índice de NSST pode ser determinada.
[0144] Alternativamente, como um exemplo, com base em um modo de intrapredição aplicado a um bloco, uma faixa de um valor do índice de NSST pode ser determinada. Por exemplo, com base no fato de um modo de intrapredição aplicado ao bloco alvo ser um modo de intrapredição não direcional ou um modo de intrapredição direcional, uma faixa de um valor do índice de NSST pode ser determinada.
[0145] Alternativamente, com outro exemplo, com base no fato de um modo de intrapredição aplicado ao bloco alvo ser um modo de intrapredição incluído na categoria A ou categoria B, uma faixa de um valor do índice de NSST pode ser determinada. Aqui, como um exemplo, a categoria A pode incluir o modo de intrapredição No. 2, modo de intrapredição No. 10, modo de intrapredição No. 18, modo de intrapredição No. 26, modo de intrapredição No. 34, modo de intrapredição No. 42, modo de intrapredição No. 50, modo de intrapredição No. 58 e modo de intrapredição No. 66, e a categoria B pode incluir os modos de intrapredição exceto os modo de intrapredição incluídos na categoria A. Os modos de intrapredição incluídos na categoria A podem ser pré-configurados, e os mesmos podem ser pré- configurados de modo que a categoria A e a categoria B incluam modos de intrapredição diferentes do exemplo descrito acima.
[0146] Alternativamente, como outro exemplo, com base no fator de AMT de um bloco, uma faixa de um valor do índice de NSST pode ser determinada. O fator de AMT também pode ser representado como fator de MTS.
[0147] Por exemplo, o fator de AMT pode ser definido como o sinalizador de AMT descrito acima. Nesse caso, com base em um valor do sinalizador de AMT do bloco alvo, uma faixa de um valor do índice de NSST pode ser determinada.
[0148] Alternativamente, o fator de AMT pode ser definido como o sinalizador vertical de AMT e/ou o sinalizador horizontal de AMT descrito acima. Nesse caso, com base em um valor do sinalizador vertical de AMT e/ou do sinalizador horizontal de AMT do bloco alvo, uma faixa de um valor do índice de NSST pode ser determinada.
[0149] Alternativamente, o fator de AMT pode ser definido como um kernel de transformada que é aplicado na transformada de múltiplos núcleos. Nesse caso, com base no kernel de transformada aplicado na transformada de múltiplos núcleos do bloco alvo, uma faixa de um valor do índice de NSST pode ser determinada.
[0150] Alternativamente, como outro exemplo, com base em um componente de um bloco, uma faixa de um valor do índice de NSST pode ser determinada. Por exemplo, uma faixa de um valor do índice de NSST de um bloco luma do bloco alvo e uma faixa de um valor do índice de NSST de um bloco croma do bloco alvo podem ser aplicadas de forma diferente.
[0151] Entretanto, através de uma combinação das condições específicas descritas acima, uma faixa de um valor do índice de NSST pode ser determinada.
[0152] Uma faixa de um valor do índice de NSST determinada com base na condição específica, ou seja, um valor máximo do índice de NSST pode ser configurado de várias maneiras.
[0153] Por exemplo, com base na condição específica, o valor máximo do índice de NSST pode ser determinado como R1, R2 ou R3. Particularmente, no caso em que a condição específica corresponde à categoria A, o valor máximo do índice de NSST pode ser derivado como R1. No caso em que a condição específica corresponde à categoria B, o valor máximo do índice de NSST pode ser derivado como R2. No caso em que a condição específica corresponde à categoria C, o valor máximo do índice de NSST pode ser derivado como R3.
[0154] R1 para a categoria A, R2 para a categoria B e R3 para a categoria C podem ser derivados como representado na Tabela a seguir. [Tabela 5]
Figure img0012
[0155] R1, R2 e R3 podem ser pré-configurados. Por exemplo, uma relação entre R1, R2 e R3 pode ser derivada como representado na seguinte Equação. [Equação 4]
Figure img0013
[0156] Com referência à Equação 4, R1 pode ser igual ou maior que 0, R2 pode ser maior que R1 e R3 pode ser maior que R2. Entretanto, no caso em que R2 é 0, e no caso em que o valor máximo do índice de NSST é determinado como R1, o índice de NSST pode não ser sinalizado, e um valor do índice de NSST pode ser inferido como 0.
[0157] Além disso, na presente revelação, é proposto um método de codificação de índice de NSST implícito.
[0158] Em geral, no caso em que NSST é aplicada, uma distribuição de coeficientes de transformada não zero entre os coeficientes de transformada pode ser alterada. Particularmente, no caso em que a transformada secundária reduzida (RST) para uma transformada secundária é usada em uma condição específica, um índice de NSST pode não ser codificado.
[0159] Aqui, a RST pode representar uma transformada secundária que usa uma matriz de transformada reduzida como uma matriz de transformada não separável, e a matriz de transformada reduzida pode ser determinada de modo que um vetor N dimensional seja mapeado para um vetor R dimensional localizado em um espaço diferente. Aqui, R é menor que N. O N pode significar um quadrado de um comprimento de um lado de um bloco ao qual a transformada é aplicada ou o número total de coeficientes de transformada correspondente a um bloco ao qual a transformada é aplicada. Um fator reduzido pode significar valor R/N. O fator reduzido pode ser chamado por vários termos como um fator de simplificação, um fator de redução, fator simplificado, fator simples, e similares. Entretanto, o R pode ser chamado de um coeficiente reduzido, porém em alguns casos, o fator reduzido pode significar o R. Além disso, em alguns casos, o fator reduzido pode significar valor N/R.
[0160] Um tamanho da matriz de transformada reduzida de acordo com uma modalidade pode ser RxN que é menor que um tamanho NxN de uma matriz de transformada comum e pode ser definido como representado na Equação 5 abaixo. [Equação 5]
Figure img0014
[0161] Quando uma matriz de transformada reduzida TRxN é multiplicada pelos coeficientes de transformada aos quais uma transformada primária de um bloco alvo é aplicada, os coeficientes de transformada (secundária) do bloco alvo podem ser derivados.
[0162] No caso em que a RST é aplicada, visto que a matriz de transformada reduzida de tamanho RxN é aplicada à transformada secundária, os coeficientes de transformada de R+1 a N podem ser 0 implicitamente. Em outras palavras, no caso em que a RST é aplicada, e o coeficiente de transformada do bloco alvo é derivado, os coeficientes de transformada de R+1 a N podem ser 0. Aqui, os coeficientes de transformada de R+1 a N podem representar os coeficientes de transformada de R+1ésimo coeficiente de transformada a Nésimo coeficiente de transformada. Particularmente, uma matriz de coeficientes de transformada do bloco alvo pode ser descrita como abaixo.
[0163] A Figura 8 é um diagrama para descrever uma matriz de coeficientes de transformada com base em um bloco alvo de acordo com uma modalidade da presente revelação. Mais adiante neste documento, a descrição da transformada na Figura 8 descrita a seguir também pode ser aplicada a uma transformada inversa da mesma maneira. Para um bloco alvo (ou bloco residual, 800), a NSST (um exemplo de uma transformada secundária) com base em uma transformada primária e em uma transformada reduzida pode ser executada. Em um exemplo, o bloco 16x16 mostrado na Figura 8 pode representar o bloco alvo 800, e os blocos 4x4 denotados por A a P podem representar subgrupos do bloco alvo 800. A transformada primária pode ser executada na faixa total do bloco alvo 800. Após a transformada primária ser executada, a NSST pode ser aplicada ao bloco 8x8 (mais adiante neste documento, área de destino superior esquerda) construído pelos subgrupos A, B, E e F. Nesse caso, quando a NSST baseada na transformada reduzida for executada, visto que apenas R coeficientes de transformada de NSST (no presente documento, R significa um coeficiente reduzido, e R é menor que N) são derivados, cada um dos coeficientes de transformada de NSST na faixa R+1ésimo a Nésimo pode ser determinado como 0. No caso em que R é 16, por exemplo, 16 coeficientes de transformada em que a NSST baseada na transformada reduzida é executada, que é derivada, podem ser alocados a cada um dos blocos incluídos no subgrupo A, que é um bloco 4x4 superior esquerdo incluído na área de destino superior esquerda do bloco alvo 800, e o coeficiente de transformada 0 pode ser alocado a cada um dos N-R blocos, ou seja, 64-16=48 grupos, incluído no subgrupo B, E e F. Os coeficientes de transformada primária em que a NSST baseada na transformada reduzida não é executada podem ser alocados a cada um dos blocos incluídos nos subgrupos C, D, G, H, I, J, K, L, M, N, O e P.
[0164] Consequentemente, no caso em que os coeficientes de transformada de R+1 a N são varridos e qualquer coeficiente de transformada não zero é derivado, pode ser determinado que a RST não é aplicada, e um valor do índice de NSST pode ser 0 implicitamente sem qualquer sinalização separada. Ou seja, no caso em que os coeficientes de transformada de R+1 a N são varridos e qualquer coeficiente de transformada não zero é derivado, a RST pode não ser aplicada, e um valor do índice de NSST pode ser derivado como 0 sem qualquer sinalização separada
[0165] A Figura 9 ilustra um exemplo de varredura de coeficientes de transformada de R+1 a N.
[0166] Com referência à Figura 9, um tamanho de um bloco alvo ao qual a transformada é aplicada pode ser 64x64, e R=16 (ou seja, R/N=16/64=1/4). Ou seja, a Figura 9 mostra uma área de destino superior esquerda do bloco alvo. Uma matriz de transformada reduzida de tamanho 16x64 pode ser aplicada a uma transformada secundária para 64 amostras da área de destino superior esquerda do bloco alvo. Nesse caso, quando a RST for aplicada à área de destino superior esquerda, um valor de coeficientes de transformada de 17 a 64 (N) precisa ser 0. Em outras palavras, no caso em que qualquer coeficiente de transformada não zero é derivado de 17 a 64 coeficientes de transformada do bloco alvo, a RST pode não ser aplicada, e um valor do índice de NSST pode ser derivado como 0 sem qualquer sinalização separada. Consequentemente, o aparelho de decodificação pode decodificar o coeficiente de transformada do bloco alvo e varrer os coeficientes de transformada de 17 a 64 entre os coeficientes de transformada decodificados. No caso em que um coeficiente de transformada não zero é derivado, o aparelho de decodificação pode derivar um valor do índice de NSST como 0 sem qualquer sinalização separada. Entretanto, no caso em que um coeficiente de transformada não zero não existe entre 17 a 64 coeficientes de transformada, o aparelho de decodificação pode receber e decodificar o índice de NSST.
[0167] A Figura 10a e a Figura são fluxogramas que ilustram um processo de codificação de um índice de NSST de acordo com uma modalidade.
[0168] A Figura 10a mostra um processo de codificação de um índice de NSST.
[0169] O aparelho de codificação pode codificar um coeficiente de transformada de um bloco alvo (etapa, S1000). O aparelho de codificação pode executar a codificação de entropia de coeficientes de transformada quantizados. A codificação de entropia pode incluir um método de codificação como Golomb exponencial, codificação de comprimento variável adaptável ao contexto (CAVLC), codificação aritmética binária adaptável ao contexto (CABAC), e similares.
[0170] O aparelho de codificação pode determinar se um índice de NSST (explicito) do bloco alvo está codificado (etapa, S1010). Aqui, o índice de NSST (explícito) pode representar o índice de NSST transferido para o aparelho de decodificação. Ou seja, o aparelho de codificação pode determinar se deve gerar o índice de NSST que é sinalizado. Em outras palavras, o aparelho de codificação pode determinar se deve alocar um bit para um elemento de sintaxe do índice de NSST. Conforme descrito na modalidade, no caso em que o aparelho de decodificação pode derivar um valor do índice de NSST sem a sinalização do índice de NSST, o aparelho de codificação não pode codificar o índice de NSST. O processo detalhado para determinar se o índice de NSST é codificado é conforme descrito a seguir.
[0171] No caso em que é determinado que o índice de NSST (explícito) é codificado, o aparelho de codificação pode codificar o índice de NSST (etapa, S1020).
[0172] A Figura 10b mostra um processo de decodificação de um índice de NSST.
[0173] O aparelho de decodificação pode decodificar um coeficiente de transformada de um bloco alvo (etapa, S1030).
[0174] O aparelho de decodificação pode determinar se um índice de NSST (explícito) do bloco alvo está codificado (etapa, S1040). Aqui, o índice de NSST (explícito) pode representar o índice de NSST sinalizado do aparelho de codificação. Conforme descrito na modalidade, no caso em que o aparelho de decodificação pode derivar um valor do índice de NSST sem a sinalização do índice de NSST, o índice de NSST não pode ser sinalizado a partir do aparelho de codificação. O processo detalhado para determinar se o índice de NSST é codificado é conforme descrito a seguir.
[0175] No caso em que é determinado que o índice de NSST (explícito) é codificado, o aparelho de decodificação pode codificar o índice de NSST (etapa, S1040).
[0176] A Figura 11 ilustra um exemplo de determinar se um índice de NSST está codificado.
[0177] O aparelho de codificação/aparelho de decodificação pode determinar se isto corresponde a uma condição de codificação de um índice de NSST para um bloco alvo (etapa, S1100). Por exemplo, no caso em que o sinalizador cbf do bloco alvo indica 0, o aparelho de codificação/aparelho de decodificação pode determinar não codificar o índice de NSST do bloco alvo. Alternativamente, no caso em que o bloco alvo é codificado com um modo de salto de transformada ou o número de coeficientes de transformada não zero entre os coeficientes de transformada do bloco alvo é menor que um valor limiar pré-configurado, o aparelho de codificação/aparelho de decodificação pode determinar não codificar o índice de NSST do bloco alvo. Por exemplo, o valor limiar pré-configurado pode ser 2.
[0178] No caso em que isto corresponde a uma condição de codificação do índice de NSST do bloco alvo, o aparelho de codificação/aparelho de decodificação pode varrer os coeficientes de transformada de R+1 a N (etapa, S1110). Os coeficientes de transformada de R+1 a N podem representar os coeficientes de transformada de R+1ésimo a Nésimo em uma ordem de varredura entre os coeficientes de transformada.
[0179] O aparelho de codificação/aparelho de decodificação pode determinar se um coeficiente de transformada não zero é derivado entre os coeficientes de transformada de R+1 a N (etapa, S1120). No caso em que um coeficiente de transformada não zero é derivado entre os coeficientes de transformada de R+1 a N, o aparelho de codificação/aparelho de decodificação pode determinar não codificar o índice de NSST do bloco alvo. Nesse caso, o aparelho de codificação/aparelho de decodificação pode derivar o índice de NSST do bloco alvo como 0. Em outras palavras, por exemplo, no caso em que o índice de NSST cujo valor é 0 indica que a NSST não é aplicada, o aparelho de codificação/aparelho de decodificação pode não executar a NSST para a área de destino superior esquerda do bloco alvo.
[0180] Entretanto, no caso em que um coeficiente de transformada não zero não é derivado entre os coeficientes de transformada de R+1 a N, o aparelho de codificação pode codificar o índice de NSST do bloco alvo, e o aparelho de decodificação pode decodificar o índice de NSST do bloco alvo.
[0181] Entretanto, pode ser proposto um método para que os componentes (um componente luma, um componente croma Cb e um componente croma Cr) usem um índice de NSST comum.
[0182] Por exemplo, o mesmo índice de NSST pode ser usado para um componente croma Cb do bloco alvo e um componente croma Cr do bloco alvo. Além disso, como outro exemplo, o mesmo índice de NSST pode ser usado para um componente luma do bloco alvo, um componente croma Cb do bloco alvo e um componente croma Cr do bloco alvo.
[0183] No caso em que dois ou três componentes do bloco alvo usam o mesmo índice de NSST, o aparelho de codificação pode varrer coeficientes de transformada de R+1 a N de todos os componentes (um bloco luma, um bloco croma Cb e um bloco croma Cr do bloco alvo), e no caso em que pelo menos um coeficiente não zero é derivado, o aparelho de decodificação pode não decodificar o índice de NSST, porém derivar um valor do índice de NSST como 0. Além disso, o aparelho de decodificação pode varrer coeficientes de transformada de R+1 a N de todos os componentes (um bloco luma, um bloco croma Cb e um bloco croma Cr do bloco alvo), e no caso em que pelo menos um coeficiente não zero é derivado, o aparelho de decodificação pode não decodificar o índice de NSST, porém derivar um valor do índice de NSST como 0.
[0184] A Figura 12 ilustra um exemplo de varredura de coeficientes de transformada de R+1 a N para todos os componentes de um bloco alvo.
[0185] Com referência à Figura 12, um tamanho de um bloco luma, um bloco croma Cb e um bloco croma Cr de um bloco alvo ao qual a transformada é aplicada pode ser 64x64, e R=16 (ou seja, R/N=16/64=1/4). Ou seja, a Figura 12 mostra uma área de destino superior esquerda do bloco luma, uma área de destino superior esquerda do bloco croma Cb e uma área de destino superior esquerda do bloco croma Cr. Consequentemente, uma matriz de transformada reduzida de tamanho 16x64 pode ser aplicada a uma transformada secundária para cada uma das 64 amostras de uma área de destino superior esquerda do bloco luma, uma área de destino superior esquerda do bloco croma Cb e uma área de destino superior esquerda do bloco croma Cr. Nesse caso, quando a RST for aplicada a uma área de destino superior esquerda do bloco luma, uma área de destino superior esquerda do bloco croma Cb e uma área de destino superior esquerda do bloco croma Cr, um valor de coeficientes de transformada de 17 a 64 (N) precisa ser 0. Em outras palavras, no caso em que qualquer coeficiente de transformada não zero é derivado de 17 a 64 coeficientes de transformada do bloco alvo, a RST pode não ser aplicada, e um valor do índice de NSST pode ser derivado como 0 sem qualquer sinalização separada. Consequentemente, o aparelho de decodificação pode decodificar o coeficiente de transformada de todos os componentes do bloco alvo e varrer os coeficientes de transformada de 17 a 64 do bloco luma, do bloco croma Cb e do bloco croma Cr entre os coeficientes de transformada decodificados. No caso em que um coeficiente de transformada não zero é derivado, o aparelho de decodificação pode derivar um valor do índice de NSST como 0 sem qualquer sinalização separada. Entretanto, no caso em que um coeficiente de transformada não zero não existe entre 17 a 64 coeficientes de transformada, o aparelho de decodificação pode receber e decodificar o índice de NSST. O índice de NSST pode ser usado para um índice do bloco luma, do bloco croma Cb e do bloco croma Cr.
[0186] Além disso, na presente revelação, pode ser proposto um método para sinalizar um indicador de índice de NSST a um nível mais alto. NSST_Idx_indicator pode representar um elemento de sintaxe para o indicador de índice de NSST. Por exemplo, o indicador de índice de NSST pode ser codificado com o nível de Unidade de Árvore de Codificação (CTU), e o indicador de índice de NSST pode representar se a NSST é aplicada a uma CTU de destino. Ou seja, o indicador de índice de NSST pode representar se a NSST está disponível para uma CTU de destino. Particularmente, no caso em que o indicador de índice de NSST está habilitado para a CTU de destino (no caso em que a NSST está disponível para a CTU de destino), ou seja, no caso em que um valor do indicador de índice de NSST é 1, um índice de NSST de uma CU ou uma TU incluído na CTU de destino pode ser codificado. No caso em que o indicador de índice de NSST está desabilitado para a CTU de destino (no caso em que a NSST está indisponível para a CTU de destino), ou seja, no caso em que um valor do indicador de índice de NSST é 0, um índice de NSST de uma CU ou uma TU incluído na CTU de destino não pode ser codificado. Entretanto, o indicador de índice de NSST pode ser codificado com um nível de CTU conforme descrito acima ou codificado com um nível de grupo de amostras de tamanho arbitrário diferente. Por exemplo, o indicador de índice de NSST pode ser codificado com um nível de Unidade de Codificação (CU).
[0187] A Figura 13 ilustra esquematicamente um método de codificação de vídeo por um aparelho de codificação de acordo com a presente revelação. O método mostrado na Figura 13 pode ser executado pelo aparelho de codificação mostrado na Figura 1. Particularmente, por exemplo, a etapa S1300 da Figura 13 pode ser executada pelo subtrator, o aparelho de codificação, a etapa S1310 pode ser executada pela transformada do aparelho de codificação, e as etapas S1320 a S1330 podem ser executadas pelo codificador de entropia do aparelho de codificação. Além disso, embora não seja mostrado, o processo de derivar uma amostra de predição pode ser realizado pelo preditor do aparelho de codificação.
[0188] O aparelho de codificação deriva as amostras residuais de um bloco alvo (etapa, S1300). Por exemplo, o aparelho de codificação pode determinar se deve executar uma interpredição ou uma intrapredição do bloco alvo e 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 isto, o aparelho de codificação pode derivar amostras de predição do bloco alvo e derivar as amostras residuais através de uma soma de amostras originais do bloco alvo e as amostras de predição.
[0189] O aparelho de codificação deriva coeficientes de transformada do bloco alvo executando-se a transformada das amostras residuais (etapa, S1310). O aparelho de codificação pode determinar se deve aplicar NSST ao bloco alvo.
[0190] No caso em que a NSST é aplicada ao bloco alvo, o aparelho de codificação pode derivar os coeficientes de transformada modificados realizando uma transformada de núcleo das amostras residuais e derivar os coeficientes de transformada do bloco alvo realizando NSST dos coeficientes de transformada modificados localizados em uma área de destino superior esquerda com base em uma matriz de transformada reduzida. Os coeficientes de transformada modificados, exceto os coeficientes de transformada modificados localizados na área de destino superior esquerda do bloco alvo, podem ser derivados como os coeficientes de transformada do bloco alvo sem qualquer alteração. Um tamanho da matriz de transformada reduzida pode ser RxN. No presente documento, o N pode ser o número de amostras na área de destino superior esquerda, e o R pode ser um coeficiente reduzido. O R pode ser menor que N.
[0191] Particularmente, a transformada de núcleo das amostras residuais pode ser executada como abaixo. O aparelho de codificação pode determinar se deve aplicar a Transformada de Múltiplos núcleos Adaptativa (AMT) ao bloco alvo. Nesse caso, um sinalizador de AMT pode ser gerado, que representa se a Transformada de Múltiplos núcleos Adaptativa é aplicada ao bloco alvo No caso em que a AMT não é aplicada ao bloco alvo, o aparelho de codificação pode derivar DCT tipo 2 como um kernel de transformada do bloco alvo e derivar os coeficientes de transformada modificados executando-se a transformada das amostras residuais com base na DCT tipo 2.
[0192] No caso em que a AMT é aplicada ao bloco alvo, o aparelho de codificação pode configurar um subconjunto de transformadas para um kernel de transformada horizontal e um subconjunto de transformadas para um kernel de transformada vertical com base nos subconjuntos de transformada, e derivar os coeficientes de transformada modificados executando-se a transformada das amostras residuais com base no kernel de transformada horizontal e no kernel de transformada vertical. Aqui, o subconjunto de transformadas para o kernel de transformada horizontal e o subconjunto de transformadas para o kernel de transformada vertical podem incluir DCT tipo 2, DCT tipo 7, DCT tipo 8 e/ou DCT tipo 1 como um candidato. Além disso, as informações de índice de transformada podem ser geradas, e as informações de índice de transformada podem incluir um sinalizador horizontal de AMT indicando o kernel de transformada horizontal e um sinalizador vertical de AMT indicando o kernel de transformada vertical. Entretanto, o kernel de transformada pode ser chamado de um tipo de transformada ou um núcleo de transformada.
[0193] Entretanto, no caso em que a NSST não é aplicada ao bloco alvo, o aparelho de codificação pode derivar os coeficientes de transformada do bloco alvo realizando uma transformada de núcleo das amostras residuais.
[0194] Particularmente, a transformada de núcleo das amostras residuais pode ser executada como abaixo. O aparelho de codificação pode determinar se deve aplicar a Transformada de Múltiplos núcleos Adaptativa (AMT) ao bloco alvo. Nesse caso, um sinalizador de AMT pode ser gerado, que representa se a Transformada de Múltiplos núcleos Adaptativa é aplicada ao bloco alvo No caso em que a AMT não é aplicada ao bloco alvo, o aparelho de codificação pode derivar DCT tipo 2 como um kernel de transformada do bloco alvo e derivar os coeficientes de transformada modificados executando-se a transformada das amostras residuais com base na DCT tipo 2.
[0195] No caso em que a AMT é aplicada ao bloco alvo, o aparelho de codificação pode configurar um subconjunto de transformada para um kernel de transformada horizontal e um subconjunto de transformada para um kernel de transformada vertical, derivar um kernel de transformada horizontal e um kernel de transformada vertical com base nos subconjuntos de transformada, e derivar os coeficientes de transformada modificados executando-se a transformada das amostras residuais com base no kernel de transformada horizontal e no kernel de transformada vertical. Aqui, o subconjunto de transformadas para o kernel de transformada horizontal e o subconjunto de transformadas para o kernel de transformada vertical podem incluir DCT tipo 2, DCT tipo 7, DCT tipo 8 e/ou DCT tipo 1 como um candidato. Além disso, as informações de índice de transformada podem ser geradas, e as informações de índice de transformada podem incluir um sinalizador horizontal de AMT indicando o kernel de transformada horizontal e um sinalizador vertical de AMT indicando o kernel de transformada vertical. Entretanto, o kernel de transformada pode ser chamado de um tipo de transformada ou um núcleo de transformada.
[0196] O aparelho de codificação determina se deve codificar o índice de NSST (etapa, S1320).
[0197] Como um exemplo, o aparelho de codificação pode varrer de R+1ésimo a Nésimo coeficientes de transformada entre os coeficientes de transformada do bloco alvo. No caso em que um coeficiente de transformada não zero não está incluído nos R+1ésimo a Nésimo coeficientes de transformada, o aparelho de codificação pode determinar não codificar o índice de NSST. No presente documento, o N pode ser o número de amostras na área de destino superior esquerda, e o R pode ser um coeficiente reduzido. O R pode ser menor que N. O N pode ser derivado como uma multiplicação de uma largura e uma altura da área de destino superior esquerda.
[0198] Além disso, no caso em que um coeficiente de transformada não zero não está incluído nos R+1ésimo a Nésimo coeficientes de transformada, o aparelho de codificação pode determinar codificar o índice de NSST. Nesse caso, as informações dos coeficientes de transformada podem incluir um elemento de sintaxe do índice de NSST. Ou seja, o elemento de sintaxe do índice de NSST pode estar codificado. Em outras palavras, um bit do elemento de sintaxe do índice de NSST pode estar alocado.
[0199] Entretanto, o aparelho de codificação pode determinar se o mesmo corresponde a uma condição em que a NSST está disponível para execução. No caso em que a NSST está disponível para execução, o aparelho de codificação pode determinar codificar o índice de NSST do bloco alvo. Por exemplo, a partir de um fluxo de bits, um indicador de índice de NSST de uma CTU de destino incluindo o bloco alvo pode ser gerado, e o indicador de índice de NSST pode representar se a NSST é aplicada à CTU de destino. No caso em que um valor do indicador de índice de NSST é 1, o aparelho de codificação pode determinar codificar o índice de NSST do bloco alvo, e no caso em que um valor do indicador de índice de NSST é 0, o aparelho de codificação pode determinar não codificar o índice de NSST do bloco alvo. Conforme descrito no exemplo acima, o indicador de índice de NSST pode ser sinalizado com um nível de CTU, ou o indicador de índice de NSST pode ser sinalizado com um nível de CU ou outro nível mais alto.
[0200] Além disso, o índice de NSST pode ser usado para uma pluralidade de componentes do bloco alvo.
[0201] Por exemplo, o índice de NSST pode ser usado para transformada inversa de coeficientes de transformada de um bloco luma do bloco alvo, os coeficientes de transformada de um bloco croma Cb do bloco alvo e os coeficientes de transformada de um bloco croma Cr do bloco alvo. Nesse caso, R+1ésimo a Nésimo coeficientes de transformada do bloco luma, R+1ésimo a Nésimo coeficientes de transformada do bloco croma Cb e R+1ésimo a Nésimo coeficientes de transformada do bloco croma Cr podem ser varridos. No caso em que um coeficiente de transformada não zero está incluído nos coeficientes de transformada varridos, pode ser determinado que o índice de NSST não está codificado. No caso em que um coeficiente de transformada não zero está incluído nos coeficientes de transformada varridos, pode ser determinado que o índice de NSST está codificado. Nesse caso, as informações dos coeficientes de transformada podem incluir um elemento de sintaxe do índice de NSST. Ou seja, o elemento de sintaxe do índice de NSST pode estar codificado. Em outras palavras, um bit do elemento de sintaxe do índice de NSST pode estar alocado.
[0202] Como outro exemplo, o índice de NSST pode ser usado para transformada inversa de coeficientes de transformada de um bloco luma do bloco alvo e os coeficientes de transformada de um bloco croma Cb do bloco alvo. Nesse caso, R+1ésimo a Nésimo coeficientes de transformada do bloco luma e R+1ésimo a Nésimo coeficientes de transformada do bloco croma Cb podem ser varridos. No caso em que um coeficiente de transformada não zero está incluído nos coeficientes de transformada varridos, pode ser determinado que o índice de NSST não está codificado. No caso em que um coeficiente de transformada não zero está incluído nos coeficientes de transformada varridos, pode ser determinado que o índice de NSST está codificado. Nesse caso, as informações dos coeficientes de transformada podem incluir um elemento de sintaxe do índice de NSST. Ou seja, o elemento de sintaxe do índice de NSST pode estar codificado. Em outras palavras, um bit do elemento de sintaxe do índice de NSST pode estar alocado.
[0203] Como outro exemplo, o índice de NSST pode ser usado para transformada inversa de coeficientes de transformada de um bloco luma do bloco alvo e os coeficientes de transformada de um bloco croma Cr do bloco alvo. Nesse caso, R+1ésimo a Nésimo coeficientes de transformada do bloco luma e R+1ésimo a Nésimo coeficientes de transformada do bloco croma Cr podem ser varridos. No caso em que um coeficiente de transformada não zero está incluído nos coeficientes de transformada varridos, pode ser determinado que o índice de NSST não está codificado. No caso em que um coeficiente de transformada não zero está incluído nos coeficientes de transformada varridos, pode ser determinado que o índice de NSST está codificado. Nesse caso, as informações dos coeficientes de transformada podem incluir um elemento de sintaxe do índice de NSST. Ou seja, o elemento de sintaxe do índice de NSST pode estar codificado. Em outras palavras, um bit do elemento de sintaxe do índice de NSST pode estar alocado.
[0204] Entretanto, com base em uma condição específica, uma faixa do índice de NSST pode ser derivada. Por exemplo, com base na condição específica, um valor máximo do índice de NSST pode ser derivado, e a faixa pode ser derivada de 0 ao valor máximo derivado. O valor do índice de NSST derivado pode estar incluído na faixa.
[0205] Por exemplo, com base em um tamanho do bloco alvo, uma faixa do índice de NSST pode ser derivada. Particularmente, uma largura mínima e uma altura mínima podem ser pré-configuradas. Com base na largura mínima e em uma largura do bloco alvo, na altura mínima e em uma altura do bloco alvo, uma faixa do índice de NSST pode ser derivada. Além disso, com base em um valor específico ou em um número da amostra do bloco alvo, uma faixa do índice de NSST pode ser derivada. O valor de amostra pode ser um valor da multiplicação de uma largura e uma altura do bloco alvo, e o valor específico pode ser pré-configurado.
[0206] Além disso, como outro exemplo, com base em um tipo do bloco alvo, uma faixa do índice de NSST pode ser derivada. Particularmente, uma faixa do índice de NSST pode ser derivada com base no fato de o bloco alvo ser um bloco não quadrado. Além disso, uma faixa do índice de NSST pode ser derivada com base em uma razão entre uma largura e uma altura do bloco alvo e um valor específico. A razão entre uma largura e uma altura do bloco alvo pode ser um valor de um lado longo entre a largura e a altura do bloco alvo dividido por um lado curto, e o valor específico pode ser pré-configurado.
[0207] Além disso, como outro exemplo, com base em um modo de intrapredição do bloco alvo, uma faixa do índice de NSST pode ser derivada. Particularmente, uma faixa do índice de NSST pode ser derivada com base no fato de o modo de intrapredição do bloco alvo ser um modo de intrapredição não direcional ou um modo de intrapredição direcional. Além disso, com base no fato de um modo de intrapredição do bloco alvo ser um modo de intrapredição incluído na categoria A ou categoria B, uma faixa de um valor do índice de NSST pode ser determinada. Aqui, o modo de intrapredição incluído na categoria A e o modo de intrapredição incluído na categoria B podem ser pré-configurados. Como um exemplo, a categoria A pode incluir o modo de intrapredição No. 2, modo de intrapredição No. 10, modo de intrapredição No. 18, modo de intrapredição No. 26, modo de intrapredição No. 34, modo de intrapredição No. 42, modo de intrapredição No. 50, modo de intrapredição No. 58 e modo de intrapredição No. 66, e a categoria B pode incluir os modos de intrapredição exceto os modo de intrapredição incluídos na categoria A.
[0208] Além disso, como outro exemplo, com base nas informações de uma transformada de núcleo do bloco alvo, uma faixa do índice de NSST pode ser derivada. Por exemplo, uma faixa do índice de NSST pode ser derivada com base em um sinalizador AMT que representa se a Transformada de Múltiplos núcleos Adaptável (AMT) é aplicada. Além disso, uma faixa do índice de NSST pode ser derivada com base em um sinalizador horizontal AMT indicando um kernel de transformada horizontal e um sinalizador vertical AMT indicando um kernel de transformada vertical.
[0209] Entretanto, no caso em que um valor do índice de NSST é 0, o índice de NSST pode indicar que a NSST não é aplicada ao bloco alvo.
[0210] O aparelho de codificação codifica informações de coeficientes de transformada (etapa, S1330). As informações de coeficientes de transformada podem incluir informações de um tamanho, uma posição, e similares dos coeficientes de transformada. Por exemplo, o indicador de índice de NSST pode ser codificado com o nível de Unidade de Árvore de Codificação (CTU), e o indicador de índice de NSST pode representar se a NSST é aplicada a uma CTU de destino. Além disso, conforme descrito acima, as informações de coeficientes de transformada podem incluir adicionalmente o índice de NSST, as informações de índice de transformada e/ou o sinalizador de AMT. Além disso, conforme descrito acima, as informações de coeficientes de transformada podem incluir adicionalmente o índice de NSST, as informações de índice de transformada e/ou o sinalizador de AMT. As informações de predição são informações relacionadas ao processo de predição e podem incluir informações de modo de predição e informações para informações de movimento (por exemplo, para o caso em que a interpredição é aplicada).
[0211] O fluxo de bits de saída pode ser encaminhado para o aparelho de decodificação através de um meio de armazenamento ou uma rede.
[0212] A Figura 14 ilustra esquematicamente um aparelho de codificação executando um método de codificação de vídeo de acordo com a presente revelação. O método mostrado na Figura 13 pode ser executado pelo aparelho de codificação mostrado na Figura 14. Particularmente, por exemplo, o somador do aparelho de codificação pode executar a etapa S1300 da Figura 13, o transformador do aparelho de codificação pode executar a etapa S1310, e o codificador de entropia do aparelho de codificação pode executar as etapas S1320 a S1330. Além disso, embora não seja mostrado, o processo de derivar uma amostra de predição pode ser realizado pelo preditor do aparelho de codificação.
[0213] A Figura 15 ilustra esquematicamente um método de decodificação de vídeo por um aparelho de decodificação de acordo com a presente revelação. O método mostrado na Figura 15 pode ser realizado pelo aparelho de decodificação mostrado na Figura 3. Particularmente, por exemplo, as etapas S1500 a S1510 da Figura 15 podem ser executadas pelo decodificador de entropia, o aparelho de decodificação, a etapa S1520 pode ser executada pela transformada inversa do aparelho de decodificação, e a etapa S1530 pode ser executada pelo somador do aparelho de decodificação. Além disso, embora não seja mostrado, o processo de derivar uma amostra de predição pode ser realizado pelo preditor do aparelho de decodificação.
[0214] O aparelho de decodificação deriva os coeficientes de transformada do bloco alvo a partir do fluxo de bits (etapa, S1500). O aparelho de decodificação pode decodificar as informações dos coeficientes de transformada do bloco alvo recebidas do fluxo de bits e derivar os coeficientes de transformada do bloco alvo. As informações recebidas dos coeficientes de transformada do bloco alvo podem ser representadas como informações residuais.
[0215] Entretanto, os coeficientes de transformada do bloco luma podem incluir os coeficientes de transformada de um bloco luma do bloco alvo, os coeficientes de transformada de um bloco croma Cb do bloco alvo e os coeficientes de transformada de um bloco croma Cr do bloco alvo.
[0216] O aparelho de decodificação deriva um índice de Transformada Secundária Não Separável (NSST) do bloco alvo (etapa, S1510).
[0217] Como um exemplo, o aparelho de decodificação pode varrer R+1ésimo a Nésimo coeficientes de transformada entre os coeficientes de transformada do bloco alvo. No caso em que um coeficiente de transformada não zero está incluído nos R+1ésimo a Nésimo coeficientes de transformada, o aparelho de decodificação pode derivar um valor do índice de NSST como 0. Aqui, o N é um número da amostra de uma área de destino superior esquerda do bloco alvo, e o R é um coeficiente reduzido, e o R pode ser menor que o N. O N pode ser derivado como uma multiplicação de uma largura e uma altura da área de destino superior esquerda.
[0218] Além disso, no caso em que um coeficiente de transformada não zero não está incluído nos R+1ésimo a Nésimo coeficientes de transformada, o aparelho de decodificação pode analisar um elemento de sintaxe do índice de NSST e derivar um valor do índice de NSST. Ou seja, no caso em que um coeficiente de transformada não zero não está incluído nos R+1ésimo a Nésimo coeficientes de transformada, o fluxo de bits pode incluir o elemento de sintaxe do índice de NSST, e o aparelho de decodificação pode analisar o elemento de sintaxe do índice de NSST e derivar um valor do índice de NSST.
[0219] Entretanto, o aparelho de decodificação pode determinar se o mesmo corresponde a uma condição em que a NSST está disponível para execução. No caso em que a NSST está disponível para execução, o aparelho de decodificação pode derivar o índice de NSST do bloco alvo. Por exemplo, a partir de um fluxo de bits, um indicador de índice de NSST de uma CTU de destino incluindo o bloco alvo pode ser sinalizado, e o indicador de índice de NSST pode representar se a NSST está habilitada na CTU de destino. No caso em que um valor do indicador de índice de NSST é 1, o aparelho de decodificação pode derivar o índice de NSST do bloco alvo, e no caso em que um valor do indicador de índice de NSST é 0, o aparelho de decodificação pode não derivar o índice de NSST do bloco alvo. Conforme descrito no exemplo acima, o indicador de índice de NSST pode ser sinalizado com um nível de CTU, ou o indicador de índice de NSST pode ser sinalizado com um nível de CU ou outro nível mais alto.
[0220] Além disso, o índice de NSST pode ser usado para uma pluralidade de componentes do bloco alvo.
[0221] Por exemplo, o índice de NSST pode ser usado para transformada inversa de coeficientes de transformada de um bloco luma do bloco alvo, os coeficientes de transformada de um bloco croma Cb do bloco alvo e os coeficientes de transformada de um bloco croma Cr do bloco alvo. Nesse caso, R+1ésimo a Nésimo coeficientes de transformada do bloco luma, R+1ésimo a Nésimo coeficientes de transformada do bloco croma Cb e R+1ésimo a Nésimo coeficientes de transformada do bloco croma Cr podem ser varridos. No caso em que um coeficiente de transformada não zero está incluído nos coeficientes de transformada varridos, um valor do índice de NSST pode ser derivado como 0. No caso em que um coeficiente de transformada não zero não está incluído nos coeficientes de transformada varridos, o fluxo de bits pode incluir um elemento de sintaxe para o índice de NSST, e um valor do índice de NSST pode ser derivado analisando-se o elemento de sintaxe quanto ao índice de NSST recebido através de um fluxo de bits.
[0222] Como outro exemplo, o índice de NSST pode ser usado para transformada inversa de coeficientes de transformada de um bloco luma do bloco alvo e os coeficientes de transformada de um bloco croma Cb do bloco alvo. Nesse caso, R+1ésimo a Nésimo coeficientes de transformada do bloco luma e R+1ésimo a Nésimo coeficientes de transformada do bloco croma Cb podem ser varridos. No caso em que um coeficiente de transformada não zero está incluído nos coeficientes de transformada varridos, o índice de NSST pode ser derivado como 0. No caso em que um coeficiente de transformada não zero não está incluído nos coeficientes de transformada varridos, o fluxo de bits pode incluir um elemento de sintaxe para o índice de NSST, e um valor do índice de NSST pode ser derivado analisando-se o elemento de sintaxe quanto ao índice de NSST recebido através de um fluxo de bits.
[0223] Como outro exemplo, o índice de NSST pode ser usado para transformada inversa de coeficientes de transformada de um bloco luma do bloco alvo e os coeficientes de transformada de um bloco croma Cr do bloco alvo. Nesse caso, R+1ésimo a Nésimo coeficientes de transformada do bloco luma e R+1ésimo a Nésimo coeficientes de transformada do bloco croma Cr podem ser varridos. No caso em que um coeficiente de transformada não zero está incluído nos coeficientes de transformada varridos, o índice de NSST pode ser derivado como 0. No caso em que um coeficiente de transformada não zero não está incluído nos coeficientes de transformada varridos, o fluxo de bits pode incluir um elemento de sintaxe para o índice de NSST, e um valor do índice de NSST pode ser derivado analisando-se o elemento de sintaxe quanto ao índice de NSST recebido através de um fluxo de bits.
[0224] Entretanto, com base em uma condição específica, uma faixa do índice de NSST pode ser derivada. Por exemplo, com base na condição específica, um valor máximo do índice de NSST pode ser derivado, e a faixa pode ser derivada de 0 ao valor máximo derivado. O valor do índice de NSST derivado pode estar incluído na faixa.
[0225] Por exemplo, com base em um tamanho do bloco alvo, uma faixa do índice de NSST pode ser derivada. Particularmente, uma largura mínima e uma altura mínima podem ser pré-configuradas. Com base na largura mínima e em uma largura do bloco alvo, na altura mínima e em uma altura do bloco alvo, uma faixa do índice de NSST pode ser derivada. Além disso, com base em um valor específico ou em um número da amostra do bloco alvo, uma faixa do índice de NSST pode ser derivada. O valor de amostra pode ser um valor da multiplicação de uma largura e uma altura do bloco alvo, e o valor específico pode ser pré-configurado.
[0226] Além disso, como outro exemplo, com base em um tipo do bloco alvo, uma faixa do índice de NSST pode ser derivada. Particularmente, uma faixa do índice de NSST pode ser derivada com base no fato de o bloco alvo ser um bloco não quadrado. Além disso, uma faixa do índice de NSST pode ser derivada com base em uma razão entre uma largura e uma altura do bloco alvo e um valor específico. A razão entre uma largura e uma altura do bloco alvo pode ser um valor de um lado longo entre a largura e a altura do bloco alvo dividido por um lado curto, e o valor específico pode ser pré-configurado.
[0227] Além disso, como outro exemplo, com base em um modo de intrapredição do bloco alvo, uma faixa do índice de NSST pode ser derivada. Particularmente, uma faixa do índice de NSST pode ser derivada com base no fato de o modo de intrapredição do bloco alvo ser um modo de intrapredição não direcional ou um modo de intrapredição direcional. Além disso, com base no fato de um modo de intrapredição do bloco alvo ser um modo de intrapredição incluído na categoria A ou categoria B, uma faixa de um valor do índice de NSST pode ser determinada. Aqui, o modo de intrapredição incluído na categoria A e o modo de intrapredição incluído na categoria B podem ser pré-configurados. Como um exemplo, a categoria A pode incluir o modo de intrapredição No. 2, modo de intrapredição No. 10, modo de intrapredição No. 18, modo de intrapredição No. 26, modo de intrapredição No. 34, modo de intrapredição No. 42, modo de intrapredição No. 50, modo de intrapredição No. 58 e modo de intrapredição No. 66, e a categoria B pode incluir os modos de intrapredição exceto os modo de intrapredição incluídos na categoria A.
[0228] Além disso, como outro exemplo, com base nas informações de uma transformada de núcleo do bloco alvo, uma faixa do índice de NSST pode ser derivada. Por exemplo, uma faixa do índice de NSST pode ser derivada com base em um sinalizador AMT que representa se a Transformada de Múltiplos núcleos Adaptável (AMT) é aplicada. Além disso, uma faixa do índice de NSST pode ser derivada com base em um sinalizador horizontal AMT indicando um kernel de transformada horizontal e um sinalizador vertical AMT indicando um kernel de transformada vertical.
[0229] Entretanto, no caso em que um valor do índice de NSST é 0, o índice de NSST pode indicar que a NSST não é aplicada ao bloco alvo.
[0230] O aparelho de decodificação executa a transformada inversa dos coeficientes de transformada do bloco alvo com base no índice de NSST e deriva as amostras residuais do bloco alvo (etapa S1520).
[0231] Por exemplo, no caso em que um valor do índice de NSST é 0, o aparelho de decodificação pode executar a transformada de núcleo dos coeficientes de transformada do bloco alvo e derivar as amostras residuais.
[0232] Particularmente, o aparelho de decodificação pode obter um sinalizador AMT que representa se a Transformada de Múltiplos núcleos Adaptável (AMT) é aplicada a partir de um fluxo de bits.
[0233] No caso em que um valor do sinalizador AMT é 0, o aparelho de decodificação pode derivar DCT tipo 2 como um kernel de transformada do bloco alvo e derivar as amostras residuais executando-se a transformada inversa dos coeficientes de transformada com base em DCT tipo 2.
[0234] No caso em que um valor do sinalizador AMT é 1, o aparelho de decodificação pode configurar um subconjunto de transformada para um kernel de transformada horizontal e um subconjunto de transformada para um kernel de transformada vertical, derivar um kernel de transformada horizontal e um kernel de transformada vertical com base nas informações de índice de transformada obtidas a partir do fluxo de bits e dos subconjuntos de transformada, e derivar as amostras residuais executando-se a transformada inversa dos coeficientes de transformada com base no kernel de transformada horizontal e no kernel de transformada vertical. Aqui, o subconjunto de transformadas para o kernel de transformada horizontal e o subconjunto de transformadas para o kernel de transformada vertical podem incluir DCT tipo 2, DCT tipo 7, DCT tipo 8 e/ou DCT tipo 1 como um candidato. Além disso, as informações de índice de transformada podem ser geradas, e as informações de índice de transformada podem incluir um sinalizador horizontal de AMT indicando o kernel de transformada horizontal e um sinalizador vertical de AMT indicando o kernel de transformada vertical. Entretanto, o kernel de transformada pode ser chamado de um tipo de transformada ou um núcleo de transformada.
[0235] No caso de o valor do índice de NSST não ser 0, o aparelho de decodificação pode derivar coeficientes de transformada modificados realizando a NSST dos coeficientes de transformada localizados em uma área de destino superior esquerda do bloco alvo com base em uma matriz de transformada reduzida indicada pelo índice de NSST e derivar as amostras residuais realizando a transformada de núcleo do bloco alvo incluindo os coeficientes de transformada modificados. Um tamanho da matriz de transformada reduzida pode ser RxN. O N pode ser um número de amostras na área de destino superior esquerda, e o R pode ser um coeficiente reduzido. O R pode ser menor que o N.
[0236] A transformada de núcleo do bloco alvo pode ser executada como abaixo. O aparelho de decodificação pode obter um sinalizador AMT que representa se a Transformada de Múltiplos núcleos Adaptável (AMT) é aplicada a partir de um fluxo de bits. No caso em que um valor do sinalizador AMT é 0, o aparelho de decodificação pode derivar DCT tipo 2 como um kernel de transformada do bloco alvo e derivar as amostras residuais executando-se a transformada inversa dos coeficientes de transformada com base em DCT tipo 2.
[0237] No caso em que um valor do sinalizador AMT é 1, o aparelho de decodificaçã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, derivar um núcleo de transformada horizontal e um núcleo de transformada vertical com base nas informações de índice de transformada obtidas a partir do fluxo de bits e dos subconjuntos de transformada, e derivar as amostras residuais executando-se a transformada inversa do bloco alvo incluindo os coeficientes de transformada modificados com base no núcleo de transformada horizontal e no núcleo de transformada vertical. Aqui, o subconjunto de transformadas para o kernel de transformada horizontal e o subconjunto de transformadas para o kernel de transformada vertical podem incluir DCT tipo 2, DCT tipo 7, DCT tipo 8 e/ou DCT tipo 1 como um candidato. Além disso, as informações de índice de transformada podem ser geradas, e as informações de índice de transformada podem incluir um sinalizador horizontal de AMT indicando o kernel de transformada horizontal e um sinalizador vertical de AMT indicando o kernel de transformada vertical. Entretanto, o kernel de transformada pode ser chamado de um tipo de transformada ou um núcleo de transformada.
[0238] O aparelho de decodificação gera uma imagem reconstruída com base nas amostras residuais (etapa, S1530). O aparelho de decodificação pode gerar uma imagem reconstruída com base nas amostras residuais. Por exemplo, o aparelho de decodificação pode executar uma interpredição e uma intrapredição do bloco alvo com base nas informações de predição recebidas através de um fluxo de bits e derivar amostras de predição e gerar a imagem reconstruída através de uma soma das amostras de predição e das amostras residuais. Posteriormente, conforme a ocasião exigir, para aprimorar a qualidade de imagem subjetiva/objetiva, o aparelho de decodificação pode aplicar o processo de filtragem em laço com filtragem de desblocagem e/ou processo SAO à imagem reconstruída conforme descrito acima.
[0239] A Figura 16 ilustra esquematicamente o aparelho de decodificação executando um método de decodificação de vídeo de acordo com a presente revelação. O método mostrado na Figura 15 pode ser executado pelo aparelho de decodificação mostrado na Figura 16. Particularmente, por exemplo, o decodificador de entropia do aparelho de decodificação mostrado na Figura 16 pode executar as etapas S1500 a S1510 da Figura 15, a transformada inversa do aparelho de decodificação mostrado na Figura 16 pode executar a etapa S1520 da Figura 15, e o somador do aparelho de decodificação da Figura 16 pode executar a etapa S1530 da Figura 15. Além disso, embora não seja mostrado, o processo de obter a amostra de predição pode ser realizado pelo preditor do aparelho de decodificação.
[0240] De acordo com a presente revelação descrita acima, uma faixa de índice de NSST pode ser derivada com base em uma condição específica de um bloco alvo, e através disso, a quantidade de bits do índice de NSST pode ser reduzida e, consequentemente, a taxa de codificação total pode ser aprimorada.
[0241] Além disso, de acordo com a presente revelação, uma transmissão de elemento de sintaxe de índice de NSST pode ser determinada com base em coeficientes de transformada de um bloco alvo, e através disso, a quantidade de bits do índice de NSST pode ser reduzida e, consequentemente, a taxa de codificação total pode ser aprimorada.
[0242] Na modalidade descrita acima, os métodos são descritos com base no fluxograma que tem uma série de etapas ou blocos, porém a presente revelação não se limita à ordem das etapas ou blocos acima. Algumas etapas ou blocos podem ocorrer simultaneamente ou em uma ordem diferente de outras etapas ou blocos conforme descritos acima. Além disso, os versados na técnica compreenderão que as etapas mostradas no fluxograma acima não são exclusivas, que etapas adicionais podem ser incluídas ou que uma ou mais etapas no fluxograma podem ser excluídas sem afetar o escopo da presente revelação.
[0243] O método de acordo com a presente revelação descrito acima pode ser implementado em forma de software, e o aparelho de codificação e/ou o aparelho de decodificação de acordo com a presente revelação podem estar incluídos em um aparelho que executa processamento de imagens como uma TV, um computador, um smartphone, um decodificador de sinais, um dispositivo de exibição, e similares.
[0244] Quando as modalidades da presente revelação forem implementadas com software, o módulo descrito acima pode ser implementado com um módulo (processo, função, etc.) que executa a função descrita acima. O módulo pode ser armazenado em uma memória e executado por um processador. A memória pode ser disposta no processador interna ou externamente e conectada ao processador usando uma variedade de meios bem conhecidos. O processador pode incluir Circuitos Integrados Específicos de Aplicativo (ASICs), outros chipsets, circuitos lógicos, e/ou processadores de dados. A memória pode incluir Memória de Leitura (ROM), Memória de Acesso Aleatório (RAM), memória flash, cartões de memória, meio de armazenamento e/ou outros dispositivos de armazenamento. Ou seja, as modalidades descritas na presente revelação podem ser realizadas por implementação em um processador, um microprocessador, um controlador ou um chip. Por exemplo, as unidades funcionais mostradas em cada desenho podem ser implementadas e executadas em um computador, um processador, um microprocessador, um controlador ou um chip.
[0245] Além disso, o aparelho de decodificação e o aparelho de codificação aos quais as modalidades da presente revelação são aplicadas podem estar incluídos em um aparelho de transmissão/recepção de difusão multimídia, um terminal de comunicação móvel, um aparelho de vídeo de cinema em casa, um aparelho de vídeo de cinema digital, uma câmera de vigilância, um aparelho de bate- papo por vídeo, um aparelho de comunicação em tempo real, como comunicação por vídeo, um aparelho de streaming móvel, um meio de armazenamento, uma câmera de vídeo, um aparelho de fornecimento de serviços de VoD, um aparelho de vídeo Over the top (OTT), um aparelho de fornecimento de serviços de streaming da Internet, um aparelho de vídeo tridimensional (3D), um aparelho de vídeo de teleconferência e um aparelho de vídeo médico e pode ser usado para processar sinais de vídeo e sinais de dados. Por exemplo, o aparelho de vídeo OTT pode incluir um console de jogos, um reprodutor de blue-ray, uma televisão com acesso à Internet, um sistema de home theater, um smartphone, um tablet PC, um Gravador de Vídeo Digital (DVR), e similares.
[0246] Além disso, 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 ser, por exemplo, um Disco Blu-ray (BD), um Barramento Serial Universal (USB), uma ROM, uma PROM, uma EPROM, uma EEPROM, uma RAM, um CD - dispositivos de armazenamento de dados. Além disso, o meio de gravação legível por computador inclui mídia implementada 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. Além disso, a modalidade da presente revelação pode ser um produto de programa de computador por códigos de programa e os códigos de programa podem ser executados por um computador pela modalidade da presente revelação. Os códigos do programa podem ser armazenados em uma portadora que é legível por um computador.
[0247] Além disso, um sistema de streaming de conteúdo ao qual a presente revelação é aplicada pode incluir um servidor de codificação, um servidor de streaming, um servidor da web, um armazenamento de mídia, um dispositivo de usuário e um dispositivo de entrada multimídia.
[0248] O servidor de codificação comprime a entrada de conteúdo de dispositivos de entrada multimídia, como smartphones, câmeras, filmadoras, etc. Em dados digitais para gerar um fluxo de bits e transmitir o fluxo de bits ao servidor de streaming. Como outro exemplo, quando dispositivos de entrada multimídia como smartphones, câmeras, filmadoras, etc. geram 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 temporariamente o fluxo de bits no processo de transmissão ou recepção do fluxo de bits.
[0249] O servidor de streaming transmite dados multimídia ao dispositivo do usuário com base em uma solicitação de usuário através do servidor da web, e o servidor da web serve como um intermediário para informar ao usuário quais serviços são fornecidos. Quando um usuário solicita um serviço desejado do servidor da web, o servidor da web entrega o mesmo a um servidor de streaming e o servidor de streaming transmite dados multimídia ao usuário. Aqui, o sistema de streaming de conteúdo pode incluir um servidor de controle separado e, nesse caso, o servidor de controle controla um comando/resposta entre dispositivos no sistema de streaming de conteúdo.
[0250] O servidor de streaming pode receber conteúdo de um repositório de mídia e/ou um servidor de codificação. Por exemplo, quando o conteúdo for recebido do servidor de codificação, o conteúdo pode ser recebido em tempo real. Nesse caso, para fornecer um serviço de streaming suave, o servidor de streaming pode armazenar o fluxo de bits durante um tempo predeterminado.
[0251] Exemplos do dispositivo do usuário incluem um telefone celular, um smartphone, um laptop, um terminal de difusão digital, um assistente digital pessoal (PDA), um reprodutor multimídia portátil (PMP), um dispositivo de navegação e um slate PC, um tablet PC , ultrabook, um dispositivo vestível (por exemplo, relógio inteligente, óculos de vidro, monitor montado na cabeça), uma TV digital, um computador de mesa, uma sinalização digital, e assim por diante. Cada servidor no sistema de streaming de conteúdo pode operar como um servidor distribuído e, nesse caso, os dados recebidos de cada servidor podem ser processados de maneira distribuída.

Claims (20)

1. Método de decodificação de vídeo realizado por um aparelho de decodificação, CARACTERIZADO pelo fato de que compreende: derivar coeficientes de transformada de um bloco alvo a partir de um fluxo de bits; derivar um índice de Transformada Secundária Não Separável (NSST) para o bloco alvo; derivar amostras residuais do bloco alvo realizando uma transformada inversa para os coeficientes de transformada do bloco alvo com base no índice de NSST; e gerar uma imagem reconstruída com base nas amostras residuais, em que, com base em um valor do índice de NSST não sendo 0, as amostras residuais são derivadas realizando NSST para os coeficientes de transformada localizados em uma área alvo superior esquerda do bloco alvo com base em uma matriz de transformada indicada pelo índice de NSST, em que um tamanho da matriz de transformada é RxN, em que o N é um número de amostras da área alvo superior esquerda, e em que o R é menor que o N.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a etapa de derivar as amostras residuais do bloco alvo realizando transformada inversa para os coeficientes de transformada do bloco alvo com base no índice de NSST inclui: com base em um valor do índice de NSST sendo 0, realizar transformada de núcleo para os coeficientes de transformada do bloco alvo e derivar as amostras residuais; e com base no valor do índice de NSST não sendo 0, derivar coeficientes de transformada modificados realizando NSST para os coeficientes de transformada localizados na área alvo superior esquerda do bloco alvo com base na matriz de transformada indicada pelo índice de NSST e derivar as amostras residuais realizando a transformada de núcleo para o bloco alvo incluindo os coeficientes de transformada modificados.
3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a etapa de derivar o índice de NSST para o bloco alvo, inclui: varrer os (R + 1)-ésimo a N-ésimo coeficientes de transformada entre os coeficientes de transformada do bloco alvo; e com base em um coeficiente de transformada não zero sendo incluído nos (R + 1)-ésimo a N-ésimo coeficientes de transformada, derivar o valor do índice de NSST como 0.
4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a etapa de derivar o índice de NSST para o bloco alvo, inclui: com base em um coeficiente de transformada não zero não sendo incluído nos (R + 1)-ésimo a N-ésimo coeficientes de transformada, derivar o valor do índice de NSST analisando um elemento de sintaxe para o índice de NSST incluído no fluxo de bits.
5. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que uma faixa do índice de NSST é derivada com base em uma largura mínima e uma largura do bloco alvo, uma altura mínima e uma altura do bloco alvo, e em que a largura mínima e a altura mínima são pré-configuradas.
6. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que uma faixa do índice de NSST é derivada com base em um valor específico e em um número de amostras do bloco alvo, e em que o número de amostras é um valor da multiplicação de uma largura e uma altura do bloco alvo, e o valor específico é pré-configurado.
7. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que uma faixa do índice de NSST é derivada com base em se o bloco alvo é um bloco não quadrado.
8. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que com base no índice de NSST sendo usado para a transformada inversa para coeficientes de transformada de um bloco luma do bloco alvo, os coeficientes de transformada de um bloco croma Cb e os coeficientes de transformada de um bloco croma Cr, os (R + 1)-ésimo a N-ésimo coeficientes de transformada do bloco luma, os (R + 1)-ésimo a N-ésimo coeficientes de transformada do bloco croma Cb e os (R + 1)-ésimo a N-ésimo coeficientes de transformada do bloco croma Cr são varridos, e com base em um coeficiente de transformada não zero sendo incluído nos coeficientes de transformada varridos, o valor do índice de NSST é derivado como 0.
9. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que um indicador de índice de NSST para uma CTU alvo incluindo o bloco alvo é gerado a partir do fluxo de bits, e em que o indicador de índice de NSST está relacionado a se NSST está habilitada na CTU alvo.
10. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que derivar os coeficientes de transformada compreende decodificar informações relacionadas aos coeficientes de transformada do bloco alvo recebidas a partir do fluxo de bits para derivar os coeficientes de transformada do bloco alvo.
11. Método, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que as informações são informações residuais.
12. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o índice de NSST é usado para uma pluralidade de componentes do bloco alvo.
13. Mídia de armazenamento legível por computador não transitória, CARACTERIZADA pelo fato de que armazena informações codificadas fazendo com que um aparelho de decodificação realize um método de decodificação de vídeo, o método compreendendo: derivar coeficientes de transformada de um bloco alvo a partir de um fluxo de bits; derivar um índice de Transformada Secundária Não Separável (NSST) para o bloco alvo; derivar amostras residuais do bloco alvo realizando uma transformada inversa para os coeficientes de transformada do bloco alvo com base no índice de NSST; e gerar uma imagem reconstruída com base nas amostras residuais, em que, com base em um valor do índice de NSST não sendo igual a 0, as amostras residuais são derivadas realizando NSST para os coeficientes de transformada localizados em uma área alvo superior esquerda do bloco alvo com base em uma matriz de transformada indicada pelo índice de NSST, em que um tamanho da matriz de transformada é RxN, em que o N é um número de amostras na área alvo superior esquerda, e em que o R é menor que o N.
14. Mídia de armazenamento legível por computador não transitória, de acordo com a reivindicação 13, CARACTERIZADA pelo fato de que derivar os coeficientes de transformada compreende decodificar informações relacionadas aos coeficientes de transformada do bloco alvo recebidas a partir do fluxo de bits para derivar os coeficientes de transformada do bloco alvo.
15. Mídia de armazenamento legível por computador não transitória, de acordo com a reivindicação 14, CARACTERIZADA pelo fato de que as informações são informações residuais.
16. Mídia de armazenamento legível por computador não transitória, de acordo com a reivindicação 13, CARACTERIZADA pelo fato de que o índice de NSST é usado para uma pluralidade de componentes do bloco alvo.
17. Método de codificação de vídeo realizado por um aparelho de codificação, CARACTERIZADO pelo fato de que compreende: derivar amostras residuais de um bloco alvo; derivar coeficientes de transformada do bloco alvo realizando transformada para as amostras residuais; determinar se deve codificar um índice de Transformada Secundária Não Separável (NSST) para os coeficientes de transformada; e codificar informações para os coeficientes de transformada, em que com base em um valor do índice de NSST não sendo 0, os coeficientes de transformada são derivados realizando a transformada com base em NSST para coeficientes localizados em uma área alvo superior esquerda do bloco alvo com base em uma matriz de transformada indicada pelo índice de NSST, em que um tamanho da matriz de transformada é RxN, em que o N é um número de amostras na área alvo superior esquerda, e em que o R é menor que o N.
18. Método, de acordo com a reivindicação 17, CARACTERIZADO pelo fato de que a etapa de determinar se deve codificar o índice de NSST inclui adicionalmente: com base no coeficiente de transformada não zero não sendo incluído nos (R + 1)-ésimo a N-ésimo coeficientes de transformada, determinar para codificar o índice de NSST, com base no coeficiente de transformada não zero não sendo incluído nos (R + 1)-ésimo a N-ésimo coeficientes de transformada, as informações para o coeficiente de transformada incluem um elemento de sintaxe para o índice de NSST.
19. Método, de acordo com a reivindicação 17, CARACTERIZADO pelo fato de que a etapa de derivar os coeficientes de transformada do bloco alvo realizando a transformada para as amostras residuais inclui: determinar se deve aplicar NSST ao bloco alvo; com base na NSST sendo aplicada ao bloco alvo, derivar os coeficientes de transformada modificados realizando a transformada de núcleo para as amostras residuais e derivar os coeficientes de transformada do bloco alvo realizando a NSST para os coeficientes de transformada modificados localizados em uma área alvo superior esquerdado bloco alvo com base em uma matriz de transformada; e com base na NSST não sendo aplicada ao bloco alvo, derivar os coeficientes de transformada do bloco alvo realizando a transformada de núcleo para as amostras residuais.
20. Método, de acordo com a reivindicação 17, CARACTERIZADO pelo fato de que uma faixa do índice de NSST é derivada com base em uma largura mínima e uma largura do bloco alvo, uma altura mínima e uma altura do bloco alvo, e em que a largura mínima e a altura mínima são pré-configuradas.
BR112020012040-5A 2017-12-15 2018-12-13 Método de decodificação de vídeo realizado por um aparelho de decodificação e método de codificação de vídeo realizado por um aparelho de codificação, e mídia de armazenamento legível por computador não transitória BR112020012040B1 (pt)

Priority Applications (1)

Application Number Priority Date Filing Date Title
BR122021010320-8A BR122021010320B1 (pt) 2017-12-15 2018-12-13 Método de codificação de imagem com base em transformada secundária não separável e dispositivo para o mesmo

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762599021P 2017-12-15 2017-12-15
US62/599,021 2017-12-15
PCT/KR2018/015812 WO2019117636A1 (ko) 2017-12-15 2018-12-13 비분리 2차 변환에 기반한 영상 코딩 방법 및 그 장치

Publications (2)

Publication Number Publication Date
BR112020012040A2 BR112020012040A2 (pt) 2020-11-24
BR112020012040B1 true BR112020012040B1 (pt) 2022-02-01

Family

ID=66819337

Family Applications (3)

Application Number Title Priority Date Filing Date
BR112020012040-5A BR112020012040B1 (pt) 2017-12-15 2018-12-13 Método de decodificação de vídeo realizado por um aparelho de decodificação e método de codificação de vídeo realizado por um aparelho de codificação, e mídia de armazenamento legível por computador não transitória
BR122021010320-8A BR122021010320B1 (pt) 2017-12-15 2018-12-13 Método de codificação de imagem com base em transformada secundária não separável e dispositivo para o mesmo
BR122021010330-5A BR122021010330B1 (pt) 2017-12-15 2018-12-13 Método de codificação de imagem com base em transformada secundária não separável e dispositivo para o mesmo

Family Applications After (2)

Application Number Title Priority Date Filing Date
BR122021010320-8A BR122021010320B1 (pt) 2017-12-15 2018-12-13 Método de codificação de imagem com base em transformada secundária não separável e dispositivo para o mesmo
BR122021010330-5A BR122021010330B1 (pt) 2017-12-15 2018-12-13 Método de codificação de imagem com base em transformada secundária não separável e dispositivo para o mesmo

Country Status (10)

Country Link
US (4) US11039140B2 (pt)
EP (2) EP4216549A1 (pt)
JP (4) JP7007485B2 (pt)
KR (3) KR102605673B1 (pt)
CN (5) CN111543058B (pt)
BR (3) BR112020012040B1 (pt)
CA (2) CA3236099A1 (pt)
MX (1) MX2020006313A (pt)
RU (2) RU2748907C1 (pt)
WO (1) WO2019117636A1 (pt)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7334730B2 (ja) * 2018-03-30 2023-08-29 ソニーグループ株式会社 画像処理装置および方法
US11218694B2 (en) 2018-09-24 2022-01-04 Qualcomm Incorporated Adaptive multiple transform coding
KR20210093891A (ko) * 2018-12-18 2021-07-28 엘지전자 주식회사 이차 변환에 기반한 영상 코딩 방법 및 그 장치
WO2020244656A1 (en) 2019-06-07 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Conditional signaling of reduced secondary transform in video bitstreams
JP7422858B2 (ja) 2019-08-03 2024-01-26 北京字節跳動網絡技術有限公司 ビデオ処理方法、装置、記憶媒体及び記憶方法
MX2022003996A (es) * 2019-10-04 2022-04-26 Lg Electronics Inc Metodo de codificacion de imagenes a base de transformacion, y dispositivo para el mismo.
CN117714715A (zh) * 2019-10-08 2024-03-15 Lg电子株式会社 图像解码设备、图像编码设备和数据发送设备
CN117857819A (zh) * 2019-10-08 2024-04-09 Lg电子株式会社 图像编码设备、图像解码设备和数据发送设备
MX2022005495A (es) * 2019-11-11 2022-08-04 Lg Electronics Inc Método de codificación de imágenes a base de transformación y dispositivo para el mismo.
CN115633172A (zh) * 2020-12-06 2023-01-20 浙江大华技术股份有限公司 基于ibc模式编码方法、电子设备及存储介质
US20230112642A1 (en) * 2021-10-13 2023-04-13 Tencent America LLC Adaptive multiple transform set selection

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2805248C (en) 2010-07-15 2016-04-26 Kabushiki Kaisha Toshiba Image encoding method and image decoding method
WO2012044075A2 (ko) 2010-09-28 2012-04-05 삼성전자 주식회사 영상의 변환 방법 및 장치, 역변환 방법 및 장치
CA2853002C (en) * 2011-10-18 2017-07-25 Kt Corporation Method for encoding image, method for decoding image, image encoder, and image decoder
KR20170116043A (ko) * 2015-02-12 2017-10-18 엘지전자 주식회사 그래프 기반 변환을 이용하여 비디오 신호를 처리하는 방법 및 장치
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
EP4106333A1 (en) * 2016-02-12 2022-12-21 Samsung Electronics Co., Ltd. Image encoding method and apparatus, and image decoding method and apparatus
US10708164B2 (en) 2016-05-03 2020-07-07 Qualcomm Incorporated Binarizing secondary transform index
US10893274B2 (en) * 2016-05-12 2021-01-12 Lg Electronics Inc. Method for processing video signal on basis of arbitrary partition transform

Also Published As

Publication number Publication date
KR102489150B1 (ko) 2023-01-17
KR102605673B1 (ko) 2023-11-23
MX2020006313A (es) 2020-09-18
JP2021507597A (ja) 2021-02-22
US11627320B2 (en) 2023-04-11
KR20200078652A (ko) 2020-07-01
US11039140B2 (en) 2021-06-15
JP2022058519A (ja) 2022-04-12
JP7007485B2 (ja) 2022-01-24
CN116866599A (zh) 2023-10-10
CN116886933A (zh) 2023-10-13
CN111543058A (zh) 2020-08-14
JP7235899B2 (ja) 2023-03-08
RU2760566C2 (ru) 2021-11-29
KR20230164751A (ko) 2023-12-04
US20200314426A1 (en) 2020-10-01
RU2021114893A3 (pt) 2021-09-17
WO2019117636A1 (ko) 2019-06-20
CN116866600A (zh) 2023-10-10
KR20230010068A (ko) 2023-01-17
JP2024026805A (ja) 2024-02-28
RU2021114893A (ru) 2021-06-10
US20210266549A1 (en) 2021-08-26
BR122021010320B1 (pt) 2022-04-05
EP3716625A1 (en) 2020-09-30
CA3236099A1 (en) 2019-06-20
BR112020012040A2 (pt) 2020-11-24
US20220377336A1 (en) 2022-11-24
CA3085844A1 (en) 2019-06-20
JP2023054320A (ja) 2023-04-13
BR122021010330B1 (pt) 2023-03-14
EP3716625A4 (en) 2020-09-30
CN116886934A (zh) 2023-10-13
RU2748907C1 (ru) 2021-06-01
CN111543058B (zh) 2023-09-01
US11818350B2 (en) 2023-11-14
EP4216549A1 (en) 2023-07-26
US20240040121A1 (en) 2024-02-01
JP7423835B2 (ja) 2024-01-29

Similar Documents

Publication Publication Date Title
BR112020012040B1 (pt) Método de decodificação de vídeo realizado por um aparelho de decodificação e método de codificação de vídeo realizado por um aparelho de codificação, e mídia de armazenamento legível por computador não transitória
US11889068B2 (en) Intra prediction method and apparatus in image coding system
US11792404B2 (en) Method and device for signaling information on chroma format
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
KR20210014197A (ko) 서브블록 단위의 시간적 움직임 정보 예측을 위한 인터 예측 방법 및 그 장치
US20220191471A1 (en) Intra prediction method on basis of mpm list and apparatus therefor
US11647200B2 (en) Method and apparatus for decoding image by using transform according to block size in image coding system
RU2776032C1 (ru) Способ кодирования изображения на основе неразделимого вторичного преобразования и устройство для него
RU2800680C1 (ru) Способ кодирования изображения на основе неразделимого вторичного преобразования и устройство для него
BR112021010422A2 (pt) Método de codificação de imagem baseado em transformada secundária e dispositivo para o mesmo

Legal Events

Date Code Title Description
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B09Y Publication of grant cancelled [chapter 9.1.2 patent gazette]

Free format text: ANULADA A PUBLICACAO CODIGO 9.1 NA RPI NO 2649 DE 13/10/2021 POR TER SIDO INDEVIDA.

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 13/12/2018, OBSERVADAS AS CONDICOES LEGAIS.