BR122021012456A2 - Método de decodificação de uma imagem realizado por um aparelho de decodificação, método de codificação de uma imagem realizado por um aparelho de codificação, aparelho de decodificação para decodificação de imagem, aparelho de codificação para codificação de imagem e mídia de armazenamento digital legível por computador não transitória - Google Patents

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

Info

Publication number
BR122021012456A2
BR122021012456A2 BR122021012456-6A BR122021012456A BR122021012456A2 BR 122021012456 A2 BR122021012456 A2 BR 122021012456A2 BR 122021012456 A BR122021012456 A BR 122021012456A BR 122021012456 A2 BR122021012456 A2 BR 122021012456A2
Authority
BR
Brazil
Prior art keywords
transform
size
information
skip
residual
Prior art date
Application number
BR122021012456-6A
Other languages
English (en)
Other versions
BR122021012456B1 (pt
Inventor
Summi Yoo
Jungah CHOI
Jangwon CHOI
Seunghwan Kim
Original Assignee
Lg Electronics Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lg Electronics Inc. filed Critical Lg Electronics Inc.
Publication of BR122021012456A2 publication Critical patent/BR122021012456A2/pt
Publication of BR122021012456B1 publication Critical patent/BR122021012456B1/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/507Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction using conditional replenishment
    • 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/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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

método de decodificação de uma imagem realizado por um aparelho de decodificação, método de codificação de uma imagem realizado por um aparelho de codificação, aparelho de decodificação para decodificação de imagem, aparelho de codificação para codificação de imagem e mídia dearmazenamento digital legível por computador não transitória. trata-se de um método de decodificação de imagem de acordo com o presente documento que compreende as etapas de: adquirir, a partir de um fluxo de bits, informações de modo de predição e informações relacionadas residuais; realizar a predição com base nas informações de modo de predição para derivar amostras de predição de um bloco atual; derivar amostras residuais do bloco atual com base nas informações relacionadas residuais; e gerar amostras reconstruídas do bloco atual com base nas amostras de predição e nas amostras residuais, em que as informações relacionadas residuais incluem um sinalizador de salto de transformada com base no tamanho do bloco atual e um tamanho máximo de salto de transformada, o sinalizador de salto de transformada indica se um salto de transformada é aplicado ao bloco atual, e informações sobre o tamanho máximo de salto de transformada são adquiridas a partir do fluxo de bits.

Description

MÉTODO DE DECODIFICAÇÃO DE UMA IMAGEM REALIZADO POR UM APARELHO DE DECODIFICAÇÃO, MÉTODO DE CODIFICAÇÃO DE UMA IMAGEM REALIZADO POR UM APARELHO DE CODIFICAÇÃO, APARELHO DE DECODIFICAÇÃO PARA DECODIFICAÇÃO DE IMAGEM, APARELHO DE CODIFICAÇÃO PARA CODIFICAÇÃO DE IMAGEM E MÍDIA DE ARMAZENAMENTO DIGITAL LEGÍVEL POR COMPUTADOR NÃO TRANSITÓRIA Pedido dividido do BR112021012366-0, depositado em 15.01.2020. ANTECEDENTES DA REVELAÇÃO CAMPO DA REVELAÇÃO
[001] O presente documento refere-se a uma tecnologia de codificação de imagem e, mais particularmente, a um método e dispositivo de codificação de imagem utilizando um sinalizador de salto de transformada em um sistema de codificação de imagem.
TÉCNICA RELACIONADA
[002] A demanda de imagens de alta resolução e alta qualidade, como imagens em HD (Alta Definição) e imagens em UHD (Ultra Alta Definição) 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
[004] O presente documento fornece um método e um dispositivo para aprimorar a eficiência de codificação de imagem.
[005] O presente documento fornece um método e um dispositivo para aprimorar a eficiência de codificação residual.
[006] O presente documento fornece um método e um dispositivo para aprimorar a eficiência da codificação residual de acordo com a possibilidade de aplicar um salto de transformada.
[007] O presente documento fornece um método e um dispositivo para aprimorar a eficiência da codificação residual definindo de forma variável um tamanho máximo de salto de transformada.
[008] De acordo com uma modalidade do presente documento, é fornecido um método de decodificação de uma imagem realizado por um aparelho de decodificação. O método inclui obter informações de modo de predição e informações relacionadas residuais a partir de um fluxo de bits, derivar amostras de predição de um bloco atual realizando a predição com base nas informações de modo de predição, derivar amostras residuais do bloco atual com base nas informações relacionadas residuais, e gerar amostras de reconstrução do bloco atual com base nas amostras de predição e nas amostras residuais, e as informações relacionadas residuais incluem um sinalizador de salto de transformada com base em um tamanho do bloco atual e um tamanho máximo de salto de transformada, o sinalizador de salto de transformada representa se um salto de transformada é aplicado ao bloco atual, e informações sobre o tamanho máximo de salto de transformada são obtidas a partir do fluxo de bits.
[009] De acordo com outra modalidade do presente documento, é fornecido um aparelho de decodificação que realiza a decodificação de imagem. O aparelho de decodificação inclui um decodificador de entropia que obtém informações de modo de predição e informações relacionadas residuais a partir de um fluxo de bits, um preditor que deriva amostras de predição de um bloco atual realizando a predição com base nas informações de modo de predição, um processador residual que deriva amostras residuais do bloco atual com base nas informações relacionadas residuais, e um somador que gera amostras de reconstrução do bloco atual com base nas amostras de predição e nas amostras residuais, e as informações relacionadas residuais incluem um sinalizador de salto de transformada com base em um tamanho do bloco atual e um tamanho máximo de salto de transformada, o sinalizador de salto de transformada representa se um salto de transformada é aplicado ao bloco atual, e informações sobre o tamanho máximo de salto de transformada são obtidas a partir do fluxo de bits.
[010] De acordo com ainda outra modalidade do presente documento, é fornecido um método para codificar um vídeo realizado por um aparelho de codificação. O método inclui derivar amostras de predição realizando a predição em um bloco atual, derivar amostras residuais para o bloco atual, e codificar informações de imagem incluindo informações de modo de predição sobre a predição e informações relacionadas residuais sobre as amostras residuais, e as informações relacionadas residuais incluem um sinalizador de salto de transformada com base em um tamanho do bloco atual e um tamanho máximo de salto de transformada, o sinalizador de salto de transformada representa se um salto de transformada é aplicado ao bloco atual, e as informações de imagem incluem informações sobre o tamanho máximo de salto de transformada.
[011] De acordo com ainda outra modalidade do presente documento, é fornecido um aparelho de codificação de vídeo. O aparelho de codificação inclui um preditor que deriva amostras de predição realizando a predição em um bloco atual, um processador residual que deriva amostras residuais para o bloco atual, e um codificador de entropia que codifica informações de imagem incluindo informações de modo de predição sobre a predição e informações relacionadas residuais sobre as amostras residuais, e as informações relacionadas residuais incluem um sinalizador de salto de transformada com base em um tamanho do bloco atual e um tamanho máximo de salto de transformada, o sinalizador de salto de transformada representa se um salto de transformada é aplicado ao bloco atual, e as informações de imagem incluem informações sobre o tamanho máximo de salto de transformada.
[012] De acordo com ainda outra modalidade do presente documento, é fornecido um meio de armazenamento digital legível por computador. O meio de armazenamento digital legível por computador armazena informações de imagem que fazem com que o método de decodificação seja realizado.
[013] De acordo com uma modalidade adicional do presente documento, é fornecido um meio de armazenamento digital legível por computador. O meio de armazenamento digital legível por computador armazena informações de imagem geradas pelo método de codificação.
[014] De acordo com o presente documento, é possível aprimorar a eficiência de compactação de imagem/vídeo total.
[015] De acordo com o presente documento, é possível aprimorar a eficiência da codificação residual usando o sinalizador de presença/ausência de salto de transformada.
[016] De acordo com o presente documento, é possível aprimorar a eficiência da codificação residual definindo de forma variável o tamanho máximo de salto de transformada.
[017] De acordo com o presente documento, é possível aprimorar a eficiência de codificação transmitindo eficientemente o sinal residual representado pelo domínio de pixel que tem as características diferentes daquelas do sinal residual do domínio de transformada geral.
BREVE DESCRIÇÃO DOS DESENHOS
[018] A Figura 1 é um diagrama que ilustra esquematicamente um exemplo de um sistema de codificação de vídeo/imagem ao qual o presente documento pode ser aplicado.
[019] A Figura 2 é um diagrama que explica esquematicamente uma configuração de um aparelho de codificação de vídeo/imagem ao qual o presente documento pode ser aplicado.
[020] A Figura 3 é um diagrama que explica esquematicamente uma configuração de um aparelho de decodificação de vídeo/imagem ao qual o presente documento pode ser aplicado.
[021] A Figura 4 é um diagrama que ilustra um exemplo de uma desquantização e transformador inverso.
[022] A Figura 5 é um diagrama que ilustra um exemplo de uma unidade de transformada secundário inversa e uma unidade de transformada primária inversa.
[023] A Figura 6 é um diagrama que ilustra um exemplo de um método de transformada inversa baseado em parâmetros relacionados à transformada.
[024] A Figura 7 é um diagrama que ilustra um exemplo de um método de transformada inversa específico.
[025] A Figura 8 é um diagrama de blocos de um sistema de codificação de CABAC de acordo com uma modalidade.
[026] A Figura 9 é um diagrama que ilustra um exemplo de coeficientes de transformada dentro de um bloco 4x4.
[027] A Figura 10 é um diagrama que ilustra um decodificador de sinal residual de acordo com uma modalidade do presente documento.
[028] A Figura 11 é um diagrama que ilustra um determinador de análise de sinalizador de salto de transformada de acordo com uma modalidade do presente documento.
[029] A Figura 12 é um fluxograma para explicar um método de codificação de um sinalizador de presença/ausência de salto de transformada de acordo com uma modalidade do presente documento.
[030] As Figuras 13 e 14 são diagramas que ilustram esquematicamente um exemplo de um método de codificação de vídeo/imagem e componentes relacionados de acordo com a modalidade (ou modalidades) do presente documento.
[031] As Figuras 15 e 16 são diagramas que ilustram esquematicamente um exemplo do método de decodificação de vídeo/imagem e componentes relacionados de acordo com a modalidade (ou modalidades) do presente documento.
[032] A Figura 17 é um diagrama que ilustra esquematicamente uma estrutura de sistema de streaming de conteúdo.
DESCRIÇÃO DE MODALIDADES EXEMPLIFICATIVAS
[033] O presente documento pode ser modificado 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 o presente documento. 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 o presente documento. 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 "incluir" e "ter" se destinam a representar que existem recursos, números, etapas, operações, elementos, componentes ou combinações dos mesmos usados na descrição a seguir e, dessa forma, 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 é excluída.
[034] Cada um dos componentes nos desenhos descritos no presente documento é ilustrado independentemente por uma questão de conveniência de descrição referente a funções características diferentes, e não significa que os componentes sejam implementados em hardware ou software separado. Por exemplo, duas ou mais de cada configuração podem ser combinadas para formar uma configuração, ou uma configuração pode ser dividida em uma pluralidade de congravuras. As modalidades em que cada configuração é integrada e/ou separada também estão incluídas no escopo do presente documento sem que se afaste do espírito do presente documento.
[035] Mais adiante neste documento, modalidades exemplificativas do presente documento serão descritas em detalhes com referência aos desenhos em anexo. Mais adiante neste documento, as mesmas referências numéricas são usadas para os mesmos componentes nos desenhos, e uma descrição redundante dos mesmos componentes é omitida.
[036] A Figura 1 ilustra um exemplo de um sistema de codificação de vídeo/imagem ao qual as modalidades do presente relatório descritivo podem ser aplicadas.
[037] Com referência à Figura 1, um sistema de codificação de vídeo/imagem pode incluir um primeiro aparelho (dispositivo de origem) e um segundo aparelho (dispositivo de recepção). O dispositivo de origem pode transmitir informações ou dados de vídeo/imagem codificados ao dispositivo de recepção através de um meio de armazenamento digital ou rede sob a forma de um arquivo ou streaming.
[038] O dispositivo de origem pode incluir uma fonte de vídeo, um aparelho de codificação e um transmissor. O dispositivo de recepção pode incluir um receptor, um aparelho de decodificação e um renderizador. O aparelho de codificação pode ser chamado de um aparelho de codificação de vídeo/imagem, e o aparelho de decodificação pode ser chamado de um aparelho de decodificação de vídeo/imagem. O transmissor pode estar incluído no aparelho de codificação. O receptor pode estar incluído no aparelho de decodificação. O renderizador pode incluir uma tela, e a tela pode ser configurada como um dispositivo separado ou um componente externo.
[039] A fonte de vídeo pode obter vídeo/imagem através de um processo para capturar, sintetizar ou gerar o vídeo/imagem. A fonte de vídeo pode incluir um dispositivo de captura de vídeo/imagem e/ou um dispositivo de geração de vídeo/imagem. O dispositivo de captura de vídeo/imagem pode incluir, por exemplo, uma ou mais câmeras, arquivos de vídeo/imagem incluindo vídeo/imagens anteriormente capturados, e similares. O dispositivo de geração de vídeo/imagem pode incluir, por exemplo, computadores, tablets e smartphones, e pode gerar (eletronicamente) vídeo/imagens. Por exemplo, um vídeo/imagem virtual pode ser gerado através de um computador ou similares. Nesse caso, o processo de captura de vídeo/imagem pode ser substituído por um processo de geração de dados relacionados.
[040] O aparelho de codificação pode codificar vídeo/imagem de entrada. O aparelho de codificação pode executar uma série de procedimentos como predição, transformada e quantização para eficiência de compactação e codificação. Os dados codificados (informações de vídeo/imagem codificadas) podem ser emitidos sob a forma de um fluxo de bits.
[041] O transmissor pode transmitir as informações ou dados de imagem/imagem codificados sob a forma de um fluxo de bits ao receptor do dispositivo de recepção através de um meio de armazenamento digital ou uma rede sob a forma de um arquivo ou streaming. O meio de armazenamento digital pode incluir vários meios de armazenamento como USB, SD, CD, DVD, Blu-ray, HDD, SSD, e similares. O transmissor pode incluir um elemento para gerar um arquivo de mídia através de um formato de arquivo predeterminado e pode incluir um elemento para transmissão através de uma rede de difusão/comunicação. O receptor pode receber/extrair o fluxo de bits e transmitir o fluxo de bits recebido ao aparelho de decodificação.
[042] O aparelho de decodificação pode decodificar o vídeo/imagem realizando uma série de procedimentos como desquantização, transformada inversa e predição correspondente à operação do aparelho de codificação.
[043] O renderizador pode renderizar o vídeo/imagem decodificado. O vídeo/imagem renderizado pode ser exibido através da tela.
[044] O presente documento se refere à codificação de vídeo/imagem. Por exemplo, o método/modalidade revelado no presente documento pode ser aplicado ao método revelado no padrão de codificação de vídeo versátil (VVC), no padrão EVC (codificação de vídeo essencial), no padrão AOMedia Video 1 (AV1), no padrão de codificação de áudio e vídeo de 2a geração (AVS2) ou no padrão de codificação de vídeo/imagem de próxima geração (por exemplo, H.267 ou H.268, etc.).
[045] O presente documento apresenta várias modalidades de codificação de vídeo/imagem, e as modalidades podem ser realizadas em combinação umas com as outras, exceto onde mencionado em contrário.
[046] No presente documento, um vídeo pode significar um conjunto de uma série de imagens ao longo do tempo. Uma gravura (picture) significa, em geral, uma unidade que representa uma imagem em um fuso horário específico, e uma fatia/ladrilho (tile) é uma unidade que configura uma parte da gravura na codificação. A fatia/ladrilho pode incluir uma ou mais unidades de árvore de codificação (CTUs). Uma gravura pode ser composta de uma ou mais fatias/ladrilhos. Uma gravura pode ser composta de um ou mais grupos de ladrilhos. Um grupo de ladrilhos pode incluir um ou mais ladrilhos. Um tijolo pode representar uma região retangular de linhas de CTU dentro de um ladrilho em uma gravura. Um ladrilho pode ser particionado em múltiplos tijolos, cada um dos quais consiste em uma ou mais linhas de CTU dentro do ladrilho. Um ladrilho que não é particionado em múltiplos tijolos também pode ser chamado de um tijolo. Um ladrilho que não é particionado em múltiplos tijolos também pode ser chamado de um tijolo. Uma varredura de tijolo pode representar uma ordenação sequencial específica das CTUs que particionam uma gravura em que as CTUs podem ser ordenadas em uma varredura raster de CTU dentro do tijolo, os tijolos dentro do ladrilho podem ser ordenados consecutivamente na varredura raster dos tijolos do ladrilho, e os ladrilhos em uma gravura podem ser ordenados consecutivamente na varredura raster dos ladrilhos da gravura. Um ladrilho (tile) é uma região retangular de CTUs dentro de uma coluna de ladrilho específica e uma linha de ladrilho específica. A coluna de ladrilho é uma região retangular de CTUs que tem uma altura igual à altura da gravura e uma largura especificada por elementos de sintaxe no conjunto de parâmetro de gravura. A linha de ladrilho é uma região retangular de CTUs que tem uma altura especificada por elementos de sintaxe no conjunto de parâmetros de gravura e uma largura igual à largura da gravura. Uma varredura de ladrilho é uma ordenação sequencial específica de CTUs que particionam uma gravura em que as CTUs estão ordenadas consecutivamente em uma varredura raster de CTU em um ladrilho, enquanto os ladrilhos de uma gravura são ordenados consecutivamente em uma varredura raster dos ladrilhos da gravura. Uma fatia inclui um número inteiro de tijolos de uma gravura que pode estar exclusivamente contido em uma única unidade de NAL. Uma fatia pode consistir em vários ladrilhos completos ou apenas uma sequência consecutiva de tijolos completos de um ladrilho. O grupo de ladrilhos e a fatia podem ser usados de forma intercambiável no presente documento. Por exemplo, no presente documento, o grupo de ladrilhos/cabeçalho de grupo de ladrilhos pode também ser chamado de uma fatia/cabeçalho de fatia.
[047] Um pixel ou um pel pode significar a menor unidade que constitui uma gravura (ou imagem). Além disso, ‘amostra’ pode ser usada como um termo correspondente a um pixel. Uma amostra pode, em geral, representar um pixel ou um valor de um pixel, e pode representar apenas um pixel/valor de pixel de um componente luma ou apenas um pixel/valor de pixel de um componente croma.
[048] Uma unidade pode representar uma unidade básica de processamento de imagens. A unidade pode incluir pelo menos uma dentre uma região específica da gravura e informações relacionadas à região. Uma unidade pode incluir um bloco luma e dois blocos croma (por exemplo, cb, cr). A unidade pode ser usada de forma intercambiável com termos como bloco ou área em alguns casos. Em um caso geral, um bloco M×N pode incluir amostras (ou matrizes de amostras) ou um conjunto (ou matriz) de coeficientes de transformada de M colunas e N linhas.
[049] No presente documento, o termo “/” “e“, deve ser interpretado para representar “e/ou”. Por exemplo, a expressão “A/B” pode significar “A e/ou B”. Ademais, “A, B” pode significar “A e/ou B”. Ademais, “A/B/C” pode significar “pelo menos um dentre A, B e/ou C”. Além disso, “A/B/C” pode significar “pelo menos um dentre A, B e/ou C”.
[050] Ademais, no presente documento, o termo “ou“, deve ser interpretado para representar “e/ou”. Por exemplo, a expressão “A ou B” pode compreender 1) apenas A, 2) apenas B e/ou 3) tanto A como B. Ou seja, o termo “ou” no presente documento deve ser interpretado para representar “adicional ou alternativamente”.
[051] A Figura 2 é um diagrama que explica esquematicamente uma configuração de um aparelho de codificação de vídeo/imagem ao qual o presente documento pode ser aplicado. Mais adiante neste documento, o aparelho de codificação de vídeo pode incluir um aparelho de codificação de imagem.
[052] Com referência à Figura 2, o aparelho de codificação 200 inclui um particionador de imagem 210, um preditor 220, um processador residual 230, um codificador de entropia 240, um somador 250, um filtro 260 e uma memória 270. O preditor 220 pode incluir um interpreditor 221 e um intrapreditor 222. O processador residual 230 pode incluir um transformador 232, um quantizador 233, um desquantizador 234 e um transformador inverso 235. O processador residual 230 pode incluir adicionalmente um subtrator 231. O somador 250 pode ser chamado de um reconstrutor ou um gerador de bloco reconstruído. O particionador de imagem 210, o preditor 220, o processador residual 230, o codificador de entropia 240, o somador 250 e o filtro 260 podem ser configurados por pelo menos um componente de hardware (por exemplo, um chipset codificador ou processador) de acordo com uma modalidade. Além disso, a memória 270 pode incluir um buffer de gravura decodificado (DPB) ou pode ser configurada por um meio de armazenamento digital. O componente de hardware pode incluir adicionalmente a memória 270 como um componente interno/externo.
[053] O particionador de imagem 210 pode particionar uma imagem de entrada (ou uma gravura ou um quadro) inserida no aparelho de codificação 200 em um ou mais processadores. Por exemplo, o processador pode ser chamado de uma unidade de codificação (CU). Nesse caso, a unidade de codificação pode ser recursivamente particionada de acordo com uma estrutura de árvore quaternária, árvore binária, árvore ternária (QTBTTT) de uma unidade de árvore de codificação (CTU) ou uma grande unidade de codificação (LCU). Por exemplo, uma unidade de codificação pode ser particionada em uma pluralidade de unidades de codificação de uma profundidade maior com base em uma estrutura de árvore quaternária, uma estrutura de árvore binária e/ou uma estrutura ternária. Nesse caso, por exemplo, a estrutura de árvore quaternária pode ser aplicada primeiro e a estrutura de árvore binária e/ou estrutura ternária pode ser aplicada posteriormente. Alternativamente, a estrutura de árvore binária pode ser aplicada primeiro. O procedimento de codificação de acordo com o presente documento pode ser realizado com base na unidade de codificação final que não é mais particionada. Nesse caso, a grande unidade de codificação pode ser usada como a unidade de codificação final com base na eficiência de codificação de acordo com características de imagem, ou se necessário, a unidade de codificação pode ser recursivamente particionada em unidades de codificação de maior profundidade 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 de predição, transformação e reconstrução, que será descrito posteriormente. Como outro exemplo, o processador pode incluir adicionalmente um preditor (PU) ou um transformador (TU). Nesse caso, o preditor e o transformador podem ser divididos a partir da unidade de codificação final supracitada. O preditor pode ser uma unidade de predição de amostra, e o transformador pode ser uma unidade para derivar um coeficiente de transformada e/ou uma unidade para derivar um sinal residual do coeficiente de transformação.
[054] A unidade pode ser usada de forma intercambiável com termos como bloco ou área em alguns casos. Em um caso geral, um bloco M×N pode representar um conjunto de amostras de coeficientes de transformada composto de M colunas e N linhas. Uma amostra pode, em geral, representar um pixel ou um valor de um pixel, pode representar apenas um pixel/valor de pixel de um componente luma ou representar apenas um pixel/valor de pixel de um componente croma. Uma amostra pode ser usada como um termo correspondente a uma gravura (ou imagem) para um pixel ou um pel.
[055] No aparelho de codificação 200, um sinal de predição (bloco previsto, matriz de amostras de predição) emitido do interpreditor 221 ou o intrapreditor 222 é subtraído de um sinal de imagem de entrada (bloco original, matriz de amostra original) para gerar um bloco residual de sinal residual, matriz de amostra residual), e o sinal residual gerado é transmitido ao transformador 232. Nesse caso, conforme ilustrado, uma unidade para subtrair um sinal de predição (bloco previsto, matriz de amostras de predição) a partir do sinal de imagem de entrada (bloco original, matriz de amostra original) no codificador 200 pode ser chamada de um subtrator 231. O preditor pode realizar a predição e um bloco que será processado (mais adiante neste documento, chamado de um bloco atual) e gerar um bloco previsto incluindo amostras de predição para o bloco atual. O preditor pode determinar se a intrapredição ou interpredição é aplicada em um bloco atual ou base de CU. Conforme descrito posteriormente na descrição de cada modo de predição, o preditor pode gerar várias informações relacionadas à predição, como informações de modo de predição, e transmitir as informações geradas ao codificador de entropia 240. As informações sobre a predição podem ser codificadas no codificador de entropia 240 e emitidas sob a forma de um fluxo de bits.
[056] O intrapreditor 222 pode predizer o bloco atual referindo-se às amostras na gravura atual. As amostras referidas podem estar situadas na vizinhança do bloco atual ou podem estar situadas separadas de acordo com o modo de predição. Na intrapredição, os modos de predição podem incluir uma pluralidade de modos não direcionais e uma pluralidade de modos direcionais. O modo não direcional pode incluir, por exemplo, um modo DC e um modo plano. O modo direcional pode incluir, por exemplo, 33 modos de predição direcionais ou 65 modos de predição direcionais de acordo com o grau de detalhes da direção de predição. Entretanto, esse é meramente um exemplo, mais ou menos modos de predição direcionais podem ser usados dependendo de uma configuração. O intrapreditor 222 pode determinar o modo de predição aplicado ao bloco atual usando um modo de predição aplicado a um bloco vizinho.
[057] O interpreditor 221 pode derivar um bloco previsto para o bloco atual com base em um bloco de referência (matriz de amostra de referência) especificado por um vetor de movimento em uma gravura de referência. Aqui, para reduzir a quantidade de informações de movimento transmitidas no modo de interpredição, as informações de movimento podem ser previstas em unidades de blocos, sub-blocos, ou amostras com base na correlação de informações de movimento entre o bloco vizinho e o bloco atual. As informações de movimento podem incluir um vetor de movimento e um índice de gravura de referência. As informações de movimento podem incluir adicionalmente as informações de direção de interpredição (predição L0, predição L1, predição Bi, etc.). No caso de interpredição, o bloco vizinho pode incluir um bloco vizinho espacial presente na gravura atual e um bloco vizinho temporal presente na gravura de referência. A gravura de referência incluindo o bloco de referência e a gravura de referência incluindo o bloco vizinho temporal podem ser iguais ou diferentes. O bloco vizinho temporal pode ser chamado de um bloco de referência colocalizado, uma CU colocalizada (colCU), e similares, e a gravura de referência incluindo o bloco vizinho temporal pode ser chamada de uma gravura colocalizada (colPic). Por exemplo, o interpreditor 221 pode configurar uma lista de candidatos de informações de movimento com base em blocos vizinhos e gerar informações representando qual candidato é usado para derivar um vetor de movimento e/ou um índice de gravura de referência do bloco atual. A interpredição pode ser realizada com base em vários modos de predição. Por exemplo, no caso de um modo de salto e um modo de mesclagem, o interpreditor 221 pode usar informações de movimento do bloco vizinho como informações de movimento do bloco atual. No modo de salto, ao contrário do modo de mesclagem, o sinal residual não pode ser transmitido. No caso do modo de vetor de movimento predição (MVP), o vetor de movimento do bloco vizinho pode ser usado como um preditor de vetor de movimento e o vetor de movimento do bloco atual pode ser representado pela sinalização de uma diferença de vetor de movimento.
[058] O preditor 220 pode gerar um sinal de predição com base em vários métodos de predição descritos abaixo. Por exemplo, o preditor pode não só aplicar intrapredição ou interpredição para predizer um bloco, como também aplicar simultaneamente tanto intrapredição como interpredição. Isto pode ser chamado de interpredição e intrapredição combinada (CIIP). Além disso, o preditor pode ser baseado em um modo de predição de cópia de bloco intra (IBC) ou modo de paleta para a predição de um bloco. O modo de predição de IBC ou modo de paleta pode ser usado para codificação de imagem/vídeo de conteúdo de um jogo ou similares, por exemplo, codificação de conteúdo de tela (SCC). A IBC basicamente realiza a predição na gravura atual, porém pode ser realizada de modo similar à interpredição pelo fato de que um bloco de referência é derivado na gravura atual. Ou seja, a IBC pode usar pelo menos uma das técnicas de interpredição descritas no presente documento. O modo de paleta pode ser considerado como um exemplo de codificação intra ou intrapredição. Quando o modo de paleta é aplicado, um valor de amostra dentro de uma gravura pode ser sinalizado com base nas informações sobre a tabela de paleta e no índice de paleta.
[059] O sinal de predição gerado através do preditor (incluindo o interpreditor 221 e/ou o intrapreditor 222) pode ser usado para gerar um sinal reconstruído ou pode ser usado para gerar um sinal residual. O transformador 232 pode gerar coeficientes de transformada pela aplicação de uma técnica de transformada ao sinal residual. Por exemplo, a técnica de transformada pode incluir pelo menos uma dentre uma Transformada Discreta de Cosseno (DCT), uma Transformada Discreta de Seno (DST), uma Transformada de Karhunen-Loève (KLT), uma Transformada Baseada em Gráfico (GBT) ou uma Transformada Condicionalmente Não Linear (CNT). Aqui, a GBT significa uma transformada obtida a partir de um gráfico quando as informações de relação entre os pixels são graficamente representadas. A CNT significa uma transformada obtida gerando-se o sinal de predição usando todos os pixels anteriormente reconstruídos e baseados no sinal de predição. Além disso, o processo de transformada também pode ser aplicado a blocos de pixels que têm o mesmo tamanho de um quadrado ou também pode ser aplicado a blocos de tamanhos variáveis em vez do quadrado.
[060] O quantizador 233 pode quantizar os coeficientes de transformada e transmitir os mesmos ao codificador de entropia 240 e o codificador de entropia 240 pode codificar o sinal quantizado (informações sobre os coeficientes de transformada quantizados) e emitir um fluxo de bits. As informações sobre os coeficientes de transformada quantizados podem ser chamadas de informações residuais. O quantizador 233 pode rearranjar os coeficientes de transformada quantizados tipo bloco em uma forma de vetor unidimensional com base em uma ordem de varredura de coeficiente e gerar informações sobre os coeficientes de transformada quantizados com base nos coeficientes de transformada quantizados na forma de vetor unidimensional. Informações sobre os coeficientes de transformada podem ser geradas. O codificador de entropia 240 pode realizar vários métodos de codificação como, por exemplo, 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. O codificador de entropia 240 pode codificar as informações necessárias para a reconstrução de vídeo/imagem em vez de coeficientes de transformada quantizados (por exemplo, valores de elementos de sintaxe, etc.) em conjunto ou separadamente. As informações codificadas (por exemplo, informações de vídeo/imagem codificadas) podem ser transmitidas ou armazenadas em unidades de NALs (camada de abstração de rede) sob a forma de um fluxo de bits. As informações de vídeo/imagem podem incluir adicionalmente informações sobre vários conjuntos de parâmetros como um conjunto de parâmetros de adaptação (APS), um conjunto de parâmetros de gravura (PPS), um conjunto de parâmetros de sequência (SPS) ou um conjunto de parâmetros de vídeo (VPS). Além disso, as informações de vídeo/imagem podem incluir adicionalmente informações de restrição. No presente documento, as informações e/ou elementos de sintaxe transmitidas/sinalizadas do aparelho de codificação ao aparelho de decodificação podem estar incluídas nas informações de vídeo/figuração. As informações de vídeo/imagem podem ser codificadas através do procedimento de codificação descrito acima e incluídas no fluxo de bits. O fluxo de bits pode ser transmitido através de uma rede ou pode ser armazenado em um meio de armazenamento digital. A rede pode incluir uma rede de difusão e/ou uma rede de comunicação, e o meio de armazenamento digital pode incluir vários meios de armazenamento como USB, SD, CD, DVD, Blu-ray, HDD, SSD, e similares. Um transmissor (não ilustrado) que transmite um sinal emitido do codificador de entropia 240 e/ou uma unidade de armazenamento (não ilustrada) que armazena o sinal pode estar incluído como elemento interno/externo do aparelho de codificação 200, e alternativamente, o transmissor pode estar incluído no codificador de entropia 240.
[061] Os coeficientes de transformada quantizados emitidos do quantizador 233 podem ser usados para gerar um sinal de predição. Por exemplo, o sinal residual (bloco residual ou amostras residuais) pode ser reconstruído pela aplicação de desquantização e transformada inversa aos coeficientes de transformada quantizados através do desquantizador 234 e do transformador inverso 235. O somador 250 soma o sinal residual reconstruído ao sinal de predição emitido do interpreditor 221 ou do intrapreditor 222 para gerar um sinal reconstruído (figuração reconstruída, bloco reconstruído, matriz de amostra reconstruída). Se não houver resíduo para o bloco que será processado, como um caso em que o modo de salto é aplicado, o bloco previsto pode ser usado como o bloco reconstruído. O somador 250 pode ser chamado de um reconstrutor ou um gerador de bloco reconstruído. O sinal reconstruído gerado pode ser usado para intrapredição de um próximo bloco que será processado na gravura atual e pode ser usado para interpredição de uma próxima gravura através de filtragem, conforme descrito a seguir.
[062] No entanto, o mapeamento luma com escalonamento croma (LMCS) pode ser aplicado durante a codificação e/ou reconstrução de gravura.
[063] O filtro 260 pode aprimorar a qualidade de imagem subjetiva/objetiva pela aplicação de filtragem ao sinal reconstruído. Por exemplo, o filtro 260 pode gerar uma gravura reconstruída modificada pela aplicação de vários métodos de filtragem à gravura reconstruída e armazenar a gravura reconstruída modificada na memória 270, especificamente, um DPB da memória 270. Os vários métodos de filtragem podem incluir, por exemplo, filtragem de deblocagem, um deslocamento adaptável à amostra, um filtro de laço adaptável, um filtro bilateral, e similares. O filtro 260 pode gerar várias informações relacionadas à filtragem e transmitir as informações geradas ao codificador de entropia 240 como descrito posteriormente na descrição de cada método de filtragem. As informações relacionadas à filtragem podem ser codificadas pelo codificador de entropia 240 e emitidas sob a forma de um fluxo de bits.
[064] A gravura reconstruída modificada transmitida à memória 270 pode ser usada como a gravura de referência no interpreditor 221. Quando a interpredição é aplicada através do aparelho de codificação, a incompatibilidade de predição entre o aparelho de codificação 200 e o aparelho de decodificação pode ser evitada e a eficiência de codificação pode ser aprimorada.
[065] O DPB da memória 270 pode armazenar a gravura reconstruída modificada para uso como uma gravura de referência no interpreditor 221. A memória 270 pode armazenar as informações de movimento do bloco a partir do qual as informações de movimento na gravura atual são derivadas (ou codificadas) e/ou as informações de movimento dos blocos na gravura que já foram reconstruídas. As informações de movimento armazenadas podem ser transmitidas ao interpreditor 221 e usadas como as informações de movimento do bloco vizinho espacial ou as informações de movimento do bloco vizinho temporal. A memória 270 pode armazenar as amostras reconstruídas de blocos reconstruídos na gravura atual e pode transferir as amostras reconstruídas para o intrapreditor 222.
[066] A Figura 3 é um diagrama que explica esquematicamente uma configuração de um aparelho de decodificação de vídeo/imagem ao qual o presente documento pode ser aplicado.
[067] Com referência à Figura 3, o aparelho de decodificação 300 pode incluir um decodificador de entropia 310, um processador residual 320, um preditor 330, um somador 340, um filtro 350 e uma memória 360. O preditor 330 pode incluir um interpreditor 331 e um intrapreditor 332. O processador residual 320 pode incluir um desquantizador 321 e um transformador inverso 321. O decodificador de entropia 310, o processador residual 320, o preditor 330, o somador 340 e o filtro 350 podem ser configurados por um componente de hardware (por exemplo, um chipset codificador ou processador) de acordo com uma modalidade. Além disso, a memória 360 pode incluir um buffer de gravura decodificado (DPB) ou pode ser configurada por um meio de armazenamento digital. O componente de hardware pode incluir adicionalmente a memória 360 como um componente interno/externo.
[068] Quando um fluxo de bits incluindo informações de vídeo/imagem for inserido, o aparelho de decodificação 300 pode reconstruir uma imagem correspondente a um processo em que as informações de vídeo/imagem são processadas no aparelho de codificação da Figura 2. Por exemplo, o aparelho de decodificação 300 pode derivar unidades/blocos com base nas informações relacionadas à partição de bloco obtidas do fluxo de bits. O aparelho de decodificação 300 pode realizar a decodificação usando um processador aplicado no aparelho de codificação. Dessa forma, o processador de decodificação pode ser uma unidade de codificação, por exemplo, e a unidade de codificação pode ser particionada de acordo com uma estrutura de árvore quaternária, estrutura de árvore binária e/ou estrutura de árvore ternária da unidade de árvore de codificação ou da grande unidade de codificação. Um ou mais transformadores podem ser derivados da unidade de codificação. O sinal de imagem reconstruída decodificado e emitido através do aparelho de decodificação 300 pode ser reproduzido através de um aparelho de reprodução
[069] O aparelho de decodificação 300 pode receber um sinal emitido do aparelho de codificação da Figura 2 sob a forma de um fluxo de bits, e o sinal recebido pode ser decodificado através do decodificador de entropia 310. Por exemplo, o decodificador de entropia 310 pode analisar o fluxo de bits para derivar informações (por exemplo, informações de vídeo/imagem) necessárias para a reconstrução de imagem (ou reconstrução de gravura). As informações de vídeo/imagem podem incluir adicionalmente informações sobre vários conjuntos de parâmetros como um conjunto de parâmetros de adaptação (APS), um conjunto de parâmetros de gravura (PPS), um conjunto de parâmetros de sequência (SPS) ou um conjunto de parâmetros de vídeo (VPS). Além disso, as informações de vídeo/imagem podem incluir adicionalmente informações de restrição. O aparelho de decodificação pode decodificar adicionalmente a gravura com base nas informações sobre o conjunto de parâmetros e/ou nas informações de restrição gerais. As informações sinalizadas/recebidas e/ou elementos de sintaxe descritos posteriormente no presente documento podem ser decodificadas para decodificar o procedimento de decodificação e obtidas do fluxo de bits. Por exemplo, o decodificador de entropia 310 decodifica as informações no fluxo de bits com base em um método de codificação como codificação de Golomb exponencial, CAVLC ou CABAC, e elementos de sintaxe de saída necessários para reconstrução de imagem e valores quantizados de coeficientes de transformada para resíduo. Mais especificamente, o método de decodificação de entropia CABAC pode receber um bin correspondente a cada elemento de sintaxe no fluxo de bits, determinar um modelo de contexto usando informações de elemento de sintaxe de destino de decodificação de um bloco de destino de decodificação ou informações de um símbolo/bin decodificado em um estágio anterior, e realizar uma decodificação aritmética no bin prevendo-se uma probabilidade de ocorrência de um bin de acordo com o modelo de contexto determinado, e gerar um símbolo correspondente ao valor de cada elemento de sintaxe. Nesse caso, o método de decodificação de entropia CABAC pode atualizar o modelo de contexto usando as informações do símbolo/bin decodificado para um modelo de contexto de um próximo símbolo/bin após determinar o modelo de contexto. As informações relacionadas à predição entre as informações decodificadas pelo decodificador de entropia 310 podem ser fornecidas ao preditor (o interpreditor 332 e o intrapreditor 331), e o valor residual em que a decodificação de entropia foi realizada no decodificador de entropia 310, ou seja, os coeficientes de transformada quantizados e informações de parâmetro relacionadas, pode ser inserido no processador residual 320. O processador residual 320 pode derivar o sinal residual (o bloco residual, as amostras residuais, a matriz de amostra residual). Além disso, as informações sobre filtragem entre as informações decodificadas pelo decodificador de entropia 310 podem ser fornecidas ao filtro 350. Entretanto, um receptor (não ilustrado) para receber um sinal emitido do aparelho de codificação pode ser adicionalmente configurado como um elemento interno/externo do aparelho de decodificação 300, ou o receptor pode ser um componente do decodificador de entropia 310. Entretanto, o aparelho de decodificação de acordo com o presente documento pode ser chamado de um aparelho de decodificação de vídeo/imagem/figuração, e o aparelho de decodificação pode ser classificado em um decodificador de informações (decodificador de informações de vídeo/imagem/figuração) e um decodificador de amostra (decodificador de amostra de vídeo/imagem/figuração). O decodificador de informações pode incluir o decodificador de entropia 310, e o decodificador de amostra pode incluir pelo menos um dentre o desquantizador 321, o transformador inverso 322, o somador 340, o filtro 350, a memória 360, o interpreditor 332 e o intrapreditor 331.
[070] O desquantizador 321 pode desquantizar os coeficientes de transformada quantizados e emitir os coeficientes de transformada. O desquantizador 321 pode rearranjar os coeficientes de transformada quantizados sob a forma de uma forma de bloco bidimensional. Nesse caso, o rearranjo pode ser realizado com base na ordem de varredura de coeficiente realizada no aparelho de codificação. O desquantizador 321 pode realizar a desquantização nos coeficientes de transformada quantizados usando um parâmetro de quantização (por exemplo, informações de tamanho de etapa de quantização) e obter coeficientes de transformada.
[071] O transformador inverso 322 transforma inversamente os coeficientes de transformada para obter um sinal residual (bloco residual, matriz de amostra residual).
[072] O preditor pode realizar a predição no bloco atual e gerar um bloco previsto incluindo amostras de predição para o bloco atual. O preditor pode determinar se a intrapredição ou interpredição é aplicada ao bloco atual com base nas informações sobre a predição emitida do decodificador de entropia 310 e pode determinar um modo de intrapredição/interpredição específico.
[073] O preditor 320 pode gerar um sinal de predição com base em vários métodos de predição descritos abaixo. Por exemplo, o preditor pode não só aplicar intrapredição ou interpredição para predizer um bloco, como também aplicar simultaneamente intrapredição e interpredição. Isto pode ser chamado de interpredição e intrapredição combinada (CIIP). Além disso, o preditor pode ser baseado em um modo de predição de cópia de bloco intra (IBC) ou modo de paleta para a predição de um bloco. O modo de predição de IBC ou modo de paleta pode ser usado para codificação de imagem/vídeo de conteúdo de um jogo ou similares, por exemplo, codificação de conteúdo de tela (SCC). A IBC basicamente realiza a predição na gravura atual, porém pode ser realizada de modo similar à interpredição pelo fato de que um bloco de referência é derivado na gravura atual. Ou seja, a IBC pode usar pelo menos uma das técnicas de interpredição descritas no presente documento. O modo de paleta pode ser considerado como um exemplo de codificação intra ou intrapredição. Quando o modo de paleta é aplicado, um valor de amostra dentro de uma gravura pode ser sinalizado com base nas informações sobre a tabela de paleta e no índice de paleta.
[074] O intrapreditor 331 pode predizer o bloco atual referindo-se às amostras na gravura atual. As amostras referidas podem estar situadas na vizinhança do bloco atual ou podem estar situadas separadas de acordo com o modo de predição. Na intrapredição, os modos de predição podem incluir uma pluralidade de modos não direcionais e uma pluralidade de modos direcionais. O intrapreditor 331 pode determinar o modo de predição aplicado ao bloco atual usando um modo de predição aplicado a um bloco vizinho.
[075] O interpreditor 332 pode derivar um bloco previsto para o bloco atual com base em um bloco de referência (matriz de amostra de referência) especificado por um vetor de movimento em uma gravura de referência. Nesse caso, para reduzir a quantidade de informações de movimento transmitidas no modo de interpredição, as informações de movimento podem ser previstas em unidades de blocos, subblocos, ou amostras com base na correlação de informações de movimento entre o bloco vizinho e o bloco atual. As informações de movimento podem incluir um vetor de movimento e um índice de gravura de referência. As informações de movimento podem incluir adicionalmente as informações de direção de interpredição (predição L0, predição L1, predição Bi, etc.). No caso de interpredição, o bloco vizinho pode incluir um bloco vizinho espacial presente na gravura atual e um bloco vizinho temporal presente na gravura de referência. Por exemplo, o interpreditor 332 pode configurar uma lista de candidatos de informações de movimento com base nos blocos vizinhos e derivar um vetor de movimento do bloco atual e/ou um índice de gravura de referência com base nas informações de seleção de candidato recebidas. A interpredição pode ser realizada com base em vários modos de predição, e as informações sobre a predição podem incluir informações representando um modo de interpredição no bloco atual.
[076] O somador 340 pode gerar um sinal reconstruído (figuração reconstruída, bloco reconstruído, matriz de amostra reconstruída) pela soma do sinal residual obtido ao sinal de predição (bloco previsto, matriz de amostras de predição) emitido do preditor (incluindo o interpreditor 332 e/ou o intrapreditor 331). Se não houver resíduo para o bloco que será processado, como quando o modo de salto é aplicado, o bloco previsto pode ser usado como o bloco reconstruído.
[077] O somador 340 pode ser chamado de reconstrutor ou um gerador de bloco reconstruído. O sinal reconstruído gerado pode ser usado para intrapredição de um próximo bloco que será processado na gravura atual, pode ser emitido através da filtragem, conforme descrito a seguir, ou pode ser usado para interpredição de uma próxima gravura.
[078] No entanto, o mapeamento luma com escalonamento croma (LMCS) pode ser aplicado no processo de decodificação de gravura.
[079] O filtro 350 pode aprimorar a qualidade de imagem subjetiva/objetiva pela aplicação de filtragem ao sinal reconstruído. Por exemplo, o filtro 350 pode gerar uma gravura reconstruída modificada pela aplicação de vários métodos de filtragem à gravura reconstruída e armazenar a gravura reconstruída modificada na memória 360, especificamente, um DPB da memória 360. Os vários métodos de filtragem podem incluir, por exemplo, filtragem de deblocagem, um deslocamento adaptável à amostra, um filtro de laço adaptável, um filtro bilateral, e similares.
[080] A gravura reconstruída (modificada) armazenada no DPB da memória 360 pode ser usada como uma gravura de referência no interpreditor 332. A memória 360 pode armazenar as informações de movimento do bloco a partir do qual as informações de movimento na gravura atual são derivadas (ou decodificadas) e/ou as informações de movimento dos blocos na gravura que já foram reconstruídas. As informações de movimento armazenadas podem ser transmitidas ao interpreditor 260 para serem usadas como as informações de movimento do bloco vizinho espacial ou as informações de movimento do bloco vizinho temporal. A memória 360 pode armazenar as amostras reconstruídas de blocos reconstruídos na gravura atual e transferir as amostras reconstruídas para o intrapreditor 331.
[081] Na presente revelação, as modalidades descritas no filtro 260, o interpreditor 221 e o intrapreditor 222 do aparelho de codificação 200 podem ser iguais ou respectivamente aplicados para corresponderem ao filtro 350, ao interpreditor 332 e ao intrapreditor 331 do aparelho de decodificação 300. O mesmo também pode se aplicar à unidade 332 e ao intrapreditor 331.
[082] Conforme descrito acima, ao realizar a codificação de vídeo, a predição é realizada para aumentar a eficiência de compactação. Portanto, um bloco previsto incluindo as amostras de predição para o bloco atual, que é um bloco de destino de codificação, pode ser gerado. Aqui, o bloco previsto inclui as amostras de predição em um domínio espacial (ou domínio de pixel). O bloco previsto é derivado de forma idêntica no aparelho de codificação e no aparelho de decodificação, e o aparelho de codificação pode sinalizar informações sobre residuais (informações residuais) entre o bloco original e o bloco previsto, em vez do próprio valor de amostra original do bloco original, ao aparelho de decodificação, aumentando assim a eficiência de codificação de imagem. O aparelho de decodificação pode derivar um bloco residual incluindo amostras residuais com base nas informações residuais, gerar um bloco reconstruído incluindo amostras reconstruídas somando-se o bloco residual e o bloco previsto, e gerar uma gravura reconstruída incluindo os blocos reconstruídos.
[083] As informações residuais podem ser geradas através de procedimentos de transformada e quantização. Por exemplo, o aparelho de codificação pode sinalizar informações residuais relacionadas (através de um fluxo de bits) ao aparelho de decodificação ao derivar o bloco residual entre o bloco original e o bloco de predição, derivar coeficientes de transformada realizando o processo de transformada para amostras residuais (matriz de amostra residual) incluídas no bloco residual, derivar coeficientes de transformada quantizados realizando o processo de quantização para os coeficientes de transformada. Aqui, as informações residuais podem incluir informações como informações de valor, informações de posição, técnica de transformada, kernel de transformada e parâmetro de quantização dos coeficientes de transformada quantizados. O aparelho de decodificação pode realizar procedimentos de desquantização/transformada inversa com base nas informações residuais e derivar as amostras residuais (ou blocos residuais). O aparelho de decodificação pode gerar uma gravura reconstruída com base no bloco previsto e no bloco residual. O aparelho de codificação também pode desquantizar/transformar inversamente os coeficientes de transformada quantizados para referência para a interpredição da pós-figuração para derivar o bloco residual, e gerar a gravura reconstruída no mesmo.
[084] No presente documento, o transformador, o quantizador, o desquantizador ou o transformador inverso do aparelho de codificação na Figura 2, ou o desquantizador ou o transformador inverso do aparelho de decodificação na Figura 3 será descrito em detalhe. Aqui, o aparelho de codificação pode derivar um fluxo de bits de informações transformadas e quantizadas através de codificação de entropia, e o aparelho de decodificação pode derivar as informações transformadas e quantizadas do fluxo de bits através de decodificação de entropia. Mais adiante neste documento, o desquantizador e o transformador inverso serão descritos, e o transformador e o quantizador podem realizar inversamente a mesma operação que no desquantizador e no transformador inverso. Além disso, o desquantizador e o transformador inverso podem ser representados por uma desquantização e transformador inverso, e o transformador e o quantizador também podem ser representados por uma transformada e quantizador.
[085] Além disso, no presente documento, Seleção de Transformada Múltipla (MTS) pode significar um método para realizar a transformada usando pelo menos dois tipos de transformada. Essa também pode ser expressa como uma Transformada Múltipla Adaptativa (AMT) ou uma Transformada Múltipla Explícita (EMT), e de modo semelhante, mts_idx também pode ser expresso como AMT_idx, EMT_idx, AMT_TU_idx, EMT_TU_idx, índice de transformada, índice de combinação de transformada, ou similares, e o presente documento não se limita a tal expressão.
[086] A Figura 4 ilustra um exemplo da desquantização e transformador inverso.
[087] Com referência à Figura 4, a desquantização e transformador inverso 400 podem incluir um desquantizador 410, uma unidade de transformada secundária inversa 420 e uma unidade de transformada primária inversa 430.
[088] O desquantizador 410 pode obter um coeficiente de transformada realizando a desquantização para um sinal decodificado por entropia (ou coeficiente de transformada quantizada) usando informações de tamanho de etapa de quantização, e a unidade de transformada secundária inversa 420 pode realizar uma transformada secundária inversa para o coeficiente de transformada. Além disso, a unidade de transformada primária inversa 430 pode executar uma transformada primária inversa para o sinal ou bloco transformado secundário inverso (ou coeficiente de transformada), e um sinal residual decodificado através da transformada primária inversa pode ser obtido. Aqui, a transformada secundária inversa pode representar uma transformada inversa da transformada secundária, e a transformada primária inversa pode representar a transformada inversa da transformada primária.
[089] No presente documento, uma combinação de transformada pode ser configurada para cada grupo de configuração de transformada que é classificado por pelo menos um dentre um modo de predição, um tamanho de bloco ou um formato de bloco, e a unidade de transformada primária inversa 430 pode executar a transformada inversa com base na combinação de transformada que é configurada pelo presente documento. Além disso, as modalidades que serão descritas posteriormente no presente documento podem ser aplicadas.
[090] A Figura 5 ilustra um exemplo da unidade de transformada secundária inversa e da unidade de transformada primária inversa.
[091] Descrevendo especificamente o processo de transformada inversa com referência à Figura 5, o processo de transformada inversa pode usar um determinador de presença/ausência de aplicação de transformada secundária inversa (ou elemento que determina se deve aplicar a transformada secundária inversa) 510, um determinador de transformada secundária inversa (ou elemento que determina a transformada secundária inversa) 520, uma unidade de transformada secundária inversa 530 e uma unidade de transformada primária inversa 540. Aqui, a unidade de transformada secundária inversa 420 ilustrada na Figura 4 pode ser igual à unidade de transformada secundária inversa 530 ilustrada na Figura 5, e também pode incluir pelo menos um dentre o determinador de presença/ausência de aplicação de transformada secundária inversa 510, o determinador de transformada secundária inversa 520 e a unidade de transformada secundária inversa 530 ilustrados na Figura 5, porém pode ser alterada de acordo com a expressão, de modo que o presente documento não seja limitado a isso. Além disso, a unidade de transformada primária inversa 430 ilustrada na Figura 4 pode ser igual à unidade de transformada primária inversa 540 ilustrada na Figura 5, porém pode ser alterada de acordo com a expressão, de modo que o presente documento não seja limitado a isso.
[092] O determinador de presença/ausência de aplicação de transformada secundária inversa 510 pode determinar se deve aplicar a transformada secundária inversa. Por exemplo, a transformada secundária inversa pode ser NSST ou RST. Por exemplo, o determinador de presença/ausência de aplicação de transformada secundária inversa 510 pode determinar se deve aplicar a transformada secundária inversa com base em um segundo sinalizador de transformada do aparelho de codificação. Como outro exemplo, o determinador de presença/ausência de aplicação de transformada secundária inversa 510 também pode determinar se deve aplicar a transformada secundária inversa com base no coeficiente de transformada do bloco residual.
[093] O determinador de transformada secundária inversa 520 pode determinar a transformada secundária inversa. Nesse momento, o determinador de transformada secundária inversa 520 pode determinar a transformada secundária inversa aplicada ao bloco atual com base no conjunto de transformada NSST (ou RST) que é designado de acordo com um modo de intrapredição.
[094] Além disso, por exemplo, um método de determinação de transformada secundária pode ser determinado dependendo de um método de determinação de transformada primária. Várias combinações da transformada primária e da transformada secundária podem ser determinadas de acordo com o modo de intrapredição.
[095] Além disso, por exemplo, o determinador de transformada secundária inversa 520 também pode determinar uma área à qual a transformada secundária inversa é aplicada com base no tamanho do bloco atual.
[096] A unidade de transformada secundária inversa 530 pode executar a transformada secundária inversa para o bloco residual desquantizado usando a transformada secundária inversa determinada.
[097] A unidade de transformada primária inversa 540 pode executar a transformada primária inversa para o bloco residual de transformada secundária inversa. A transformada primária pode ser chamada de uma transformada de núcleo.
Por exemplo, a unidade de transformada primária inversa 540 pode executar a transformada primária usando a MTS supracitada. Além disso, por exemplo, a unidade de transformada primária inversa 540 pode determinar se a MTS é aplicada ao bloco atual.
[098] Por exemplo, quando a MTS é aplicada ao bloco atual (ou quando um valor de um elemento de sintaxe tu_mts_flag é 1), a unidade de transformada primária inversa 540 pode configurar um candidato de MTS com base no modo de intrapredição do bloco atual. Além disso, a unidade de transformada primária inversa 540 pode determinar a transformada primária aplicada ao bloco atual usando um elemento de sintaxe mts_idx que indica uma MTS específica entre os candidatos de MTS configurados.
[099] A Figura 6 é um exemplo de um método de transformada inversa baseado em parâmetros relacionados à transformada.
[0100] Com referência à Figura 6, uma modalidade pode obter um elemento de sintaxe sps_mts_intra_enabled_flag ou um elemento de sintaxe sps_mts_inter_enabled_flag (S600). Aqui, o elemento de sintaxe sps_mts_intra_enabled_flag pode representar informações sobre se o elemento de sintaxe tu_mts_flag está incluído na sintaxe de codificação residual da unidade de codificação intra. Por exemplo, quando o valor do elemento de sintaxe sps_mts_intra_enabled_flag é 0, o elemento de sintaxe tu_mts_flag pode não estar incluído na sintaxe de codificação residual da unidade de codificação intra, e quando o elemento de sintaxe sps_mts_intra_enabled_flag é 1, o elemento de sintaxe tu_mts_flag pode estar incluído na sintaxe de codificação residual da unidade de codificação intra.
[0101] Além disso, o elemento de sintaxe sps_mts_inter_enabled_flag pode representar informações sobre se o elemento de sintaxe tu_mts_flag está incluído na sintaxe de codificação residual da unidade de codificação inter. Por exemplo, quando o valor do elemento de sintaxe sps_mts_inter_enabled_flag é 0, o elemento de sintaxe tu_mts_flag pode não estar incluído na sintaxe de codificação residual da unidade de codificação intra, e quando o elemento de sintaxe sps_mts_inter_enabled_flag é 1, o elemento de sintaxe tu_mts_flag pode estar incluído na sintaxe de codificação residual da unidade de codificação inter.
[0102] Aqui, o elemento de sintaxe tu_mts_flag pode representar se a Seleção de Transformada Múltipla (MTS) é aplicada à amostra residual do bloco de transformada luma.
[0103] Uma modalidade pode obter o elemento de sintaxe tu_mts_flag com base no elemento de sintaxe sps_mts_intra_enabled_flag ou no elemento de sintaxe sps_mts_inter_enabled_flag (S610). Por exemplo, quando o valor do elemento de sintaxe sps_mts_intra_enabled_flag ou do elemento de sintaxe sps_mts_inter_enabled_flag é 1, uma modalidade pode obter o elemento de sintaxe tu_mts_flag. Por exemplo, quando o valor do elemento de sintaxe tu_mts_flag é 0, o MTS pode não ser aplicado à amostra residual do bloco de transformada luma, e quando o valor do elemento de sintaxe tu_mts_flag é 1, o MTS pode ser aplicado à amostra residual do bloco de transformada luma.
[0104] Uma modalidade pode obter um elemento de sintaxe mts_idx com base no elemento de sintaxe tu_mts_flag (S620). Aqui, o elemento de sintaxe mts_idx pode representar informações sobre qual kernel da transformada é aplicado a amostras residuais luma de acordo com as direções horizontal e/ou vertical de um bloco de transformada atual (luma). Por exemplo, quando o valor do elemento de sintaxe tu_mts_flag é 1, uma modalidade pode obter o elemento de sintaxe mts_idx. Alternativamente, quando o valor do elemento de sintaxe tu_mts_flag é 0, uma modalidade pode não obter o elemento de sintaxe mts_idx.
[0105] Uma modalidade pode induzir um kernel da transformada correspondente ao elemento de sintaxe mts_idx (S630). Alternativamente, uma modalidade pode derivar o kernel da transformada com base no elemento de sintaxe mts_idx.
[0106] Entretanto, em outra modalidade, pelo menos uma das modalidades do presente documento pode também ser aplicada ao elemento de sintaxe tu_mts_flag e/ou ao elemento de sintaxe mts_idx.
[0107] Por exemplo, o elemento de sintaxe tu_mts_flag pode estar incluído na sintaxe de codificação residual com base no elemento de sintaxe sps_mts_intra_enabled_flag ou no elemento de sintaxe sps_mts_inter_enabled_flag, e o elemento de sintaxe mts_idx syntax pode estar incluído na sintaxe de unidade de transformada com base no elemento de sintaxe tu_mts_flag.
[0108] Alternativamente, por exemplo, o elemento de sintaxe sps_mts_intra_enabled_flag pode ser representado por um elemento de sintaxe sps_explicit_mts_intra_enabled_flag, e o elemento de sintaxe sps_mts_inter_enabled_flag pode ser representado por um elemento de sintaxe sps_explicit_mts_inter_enabled_flag. Alternativamente, o elemento de sintaxe tu_mts_flag pode ser omitido, e o elemento de sintaxe mts_idx também pode estar incluído na sintaxe de unidade de codificação com base no elemento de sintaxe sps_explicit_mts_intra_enabled_flag ou no elemento de sintaxe sps_explicit_mts_inter_enabled_flag.
[0109] Por exemplo, o kernel de transformada correspondente ao elemento de sintaxe mts_idx pode ser definido como sendo classificado em uma transformada horizontal e uma transformada vertical. Alternativamente, o kernel de transformada determinado com base no elemento de sintaxe mts_idx pode ser classificado na transformada horizontal e na transformada vertical. Entretanto, kernels de transformada diferentes podem ser aplicados à transformada horizontal e à transformada vertical, porém o mesmo kernel de transformada também pode ser aplicado às mesmas, de modo que o presente documento não se limite a isso.
[0110] Por exemplo, as informações sobre o kernel da transformada aplicado à transformada horizontal e à transformada vertical que são determinadas com base no elemento de sintaxe mts_idx podem ser conforme ilustrado na Tabela 1 ou Tabela 2.
Figure img0001
[0111] Uma modalidade pode executar uma transformada inversa com base no kernel da transformada (S640). No presente documento, a transformada inversa pode ser representada pela transformada ou também pode ser representada pelo inverso da transformada.
[0112] A Figura 7 é um exemplo de um método de transformada inversa específico.
[0113] Com referência à Figura 7, uma modalidade pode confirmar um tamanho de transformada (nTbS) (S710). Por exemplo, o tamanho de transformada (nTbS) pode ser uma variável que representa o tamanho de amostra horizontal de coeficientes de transformada em escala.
[0114] Uma modalidade pode confirmar um tipo de kernel da transformada (trType) (S720). Por exemplo, o tipo de kernel da transformada (trType) pode ser uma variável que representa o tipo de kernel da transformada, e várias modalidades do presente documento podem ser aplicadas. Por exemplo, o tipo de kernel da transformada também pode representar trTypeHor ou trTypeVer ilustrado na Figura 6.
[0115] Uma modalidade pode executar a multiplicação de matriz de transformada com base em pelo menos um dentre o tamanho de transformada (nTbS) ou o tipo de kernel da transformada (trType) (S730). Por exemplo, uma operação específica pode ser aplicada com base no tipo de kernel da transformada (trType). Alternativamente, por exemplo, uma matriz de transformada predeterminada pode ser aplicada com base no tamanho de transformada (nTbS) e no tipo de kernel da transformada (trType).
[0116] Uma modalidade pode derivar uma amostra de transformada com base na multiplicação de matriz de transformada (S740).
[0117] O aparelho de codificação/aparelho de decodificação pode executar o processo de transformada inversa supracitado, e o aparelho de codificação também pode executar o processo de transformada que é o inverso do processo de transformada inversa supracitado.
[0118] A Figura 8 é um diagrama de blocos de um sistema de codificação CABAC de acordo com uma modalidade, e ilustra um diagrama de blocos de codificação aritmética binária adaptável ao contexto (CABAC) para codificar um único elemento de sintaxe.
[0119] O processo de codificação da CABAC primeiro transforma um sinal de entrada em um valor binário através de binarização quando o sinal de entrada é um elemento de sintaxe em vez de um valor binário. Quando o sinal de entrada já é um valor binário, o sinal de entrada pode ser inserido sendo contornado sem a binarização, ou seja, para um mecanismo de codificação. Aqui, cada binário 0 ou 1 que configura o valor binário pode ser chamado de um bin. Por exemplo, quando uma cadeia binária após a binarização é 110, cada um dentre 1, 1 e 0 é chamado de um bin. O(s) bin (s) para um elemento de sintaxe pode representar um valor do elemento de sintaxe correspondente.
[0120] Os bins binarizados podem ser inseridos em um mecanismo de codificação regular ou um mecanismo de codificação bypass.
[0121] O mecanismo de codificação regular pode atribuir um modelo de contexto refletindo um valor de probabilidade para o bin correspondente e codificar o bin correspondente com base no modelo de contexto atribuído. O mecanismo de codificação regular pode atualizar o modelo de probabilidade para o bin correspondente após a codificação de cada bin. Os bins codificados dessa forma podem ser chamados de bins codificados por contexto.
[0122] O mecanismo de codificação bypass omite um procedimento de estimativa da probabilidade do bin de entrada e um procedimento de atualização do modelo de probabilidade aplicado ao bin correspondente após a codificação. Codificando-se o bin que é inserido aplicando-se a distribuição de probabilidade uniforme em vez de atribuir o contexto, é possível aumentar a velocidade de codificação. Os bins codificados dessa forma são chamados de bins bypass.
[0123] A codificação de entropia pode determinar se deve realizar a codificação através do mecanismo de codificação regular ou realizar a codificação através do mecanismo de codificação bypass e mudar um caminho de codificação. A decodificação de entropia executa inversamente o mesmo processo que na codificação de entropia.
[0124] Entretanto, em uma modalidade, os coeficientes de transformada (quantizados) podem ser codificados/decodificados com base nos elementos de sintaxe, como transform_skip_flag, last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix, last_sig_coeff_y_suffix, coded_sub_block_flag, sig_coeff_flag, abs_level_gt1_flag, par_level_flag, abs_level_gt3_flag, abs_remainder, dec_abs_level, coeff_sign_flag e/ou mts_idx.
[0125] Por exemplo, as informações relacionadas residuais ou os elementos de sintaxe incluídos nas informações relacionadas residuais podem ser representados conforme nas Tabelas 3 a 5. Alternativamente, as informações de codificação residuais incluídas nas informações relacionadas residuais ou os elementos de sintaxe incluídos na sintaxe de codificação residual podem ser representados conforme nas Tabelas 3 a 5. As Tabelas 3 a 5 podem representar uma sintaxe consecutivamente.
TABELA 3
Figure img0002
TABELA 4
Figure img0003
TABELA 5
Figure img0004
[0126] Por exemplo, as informações relacionadas residuais podem incluir as informações de codificação residuais (ou elementos de sintaxe incluídos na sintaxe de codificação residual) ou as informações de unidade de transformada (ou elementos de sintaxe incluídos na sintaxe de unidade de transformada), as informações de codificação residuais podem ser representadas conforma nas Tabelas 6 a 9, e as informações de unidade de transformada podem ser representadas conforme na Tabela 10 ou Tabela 11. As Tabelas 6 a 9 podem representar uma sintaxe consecutivamente.
Figure img0005
Figure img0006
TABELA 8
Figure img0007
TABELA 9
Figure img0008
TABELA 10
Figure img0009
TABELA 11
Figure img0010
[0127] O elemento de sintaxe transform_skip_flag representa se a transformada para um bloco associado é omitida. O bloco associado pode ser um bloco de codificação (CB) ou um bloco de transformada (TB). Em relação à transformada (e quantização) e procedimentos de codificação residuais, o CB e o TB podem ser usados de forma intercambiável. Por exemplo, conforme descrito acima, as amostras residuais em relação ao CB podem ser derivadas, e os coeficientes de transformada (quantizados) podem ser derivados através da transformada e da quantização para as amostras residuais, e as informações (por exemplo, elementos de sintaxe) que representam eficientemente a posição, tamanho, sinal, e similares dos coeficientes de transformada (quantizados) podem ser geradas e sinalizadas através do procedimento de codificação residual. Os coeficientes de transformada quantizados podem ser simplesmente chamados de coeficientes de transformada.
Em geral, quando o CB não é maior que o TB máximo, o tamanho do CB pode ser igual ao tamanho do TB e, nesse caso, um bloco alvo que será transformado (e quantizado) e submetido à codificação residual pode ser chamado de CB ou TB. Entretanto, quando o CB é maior que o TB máximo, o bloco alvo que será transformado (e quantizado) e submetido à codificação residual pode ser chamado de TB. Mais adiante neste documento, embora seja descrito que os elementos de sintaxe relacionados à codificação residual são sinalizados em unidades de bloco de transformada (TB), isso é ilustrativo e o TB pode ser usado de forma intercambiável com o bloco de codificação (CB), conforme descrito acima.
[0128] Nas Tabelas 3 a 5, embora seja ilustrado que o elemento de sintaxe transform_skip_flag é sinalizado com base na sintaxe de codificação residual, isso é ilustrativo, e o elemento de sintaxe transform_skip_flag pode também ser sinalizado com base na sintaxe de unidade de transformada conforme ilustrado na Tabela 10 ou Tabela 11. A sintaxe de codificação residual e a sintaxe de unidade de transformada podem ser coletivamente chamadas de informações residuais (relacionadas). Por exemplo, o elemento de sintaxe transform_skip_flag pode ser sinalizado apenas para o componente luma (bloco de componente luma) (consultar a Tabela 10). Especificamente, por exemplo, quando um coeficiente significativo não zero existe no bloco de componente luma, as informações relacionadas residuais podem incluir o sinalizador de salto de transformada (transform_skip_flag) para o bloco de componente luma. Nesse caso, as informações relacionadas residuais não incluem o sinalizador de salto de transformada para o bloco de componente croma. Ou seja, as informações relacionadas residuais podem incluir o sinalizador de salto de transformada para o bloco de componente luma, e podem não incluir o sinalizador de salto de transformada para o bloco de componente croma. Ou seja, nesse caso, o sinalizador de salto de transformada para o bloco de componente croma não é explicitamente sinalizado, e o valor do sinalizador de salto de transformada para o bloco de componente croma pode ser derivado/inferido para 0.
[0129] Alternativamente, como outro exemplo, o elemento de sintaxe transform_skip_flag também pode ser sinalizado para o componente luma (bloco de componente luma) e o componente croma (bloco de componente croma), respectivamente (consultar a Tabela 11).
[0130] Novamente com referência às Tabelas 3 a 5 ou Tabelas 6 a 9, uma modalidade pode codificar (x, y) informações de posição do último coeficiente de transformada não zero dentro do bloco de transformada com base nos elementos de sintaxe last_sig_coeff_x_prefix, last_sig_coeff_y_prefix, last_sig_coeff_x_suffix e last_sig_coeff_y_suffix. Mais especificamente, o elemento de sintaxe last_sig_coeff_x_prefix representa o prefixo da posição de coluna do último coeficiente significativo na ordem de varredura dentro do bloco de transformada, o elemento de sintaxe last_sig_coeff_y_prefix representa o prefixo da posição de linha do último coeficiente significativo na ordem de varredura dentro do bloco de transformada, o elemento de sintaxe last_sig_coeff_x_suffix representa o sufixo da posição de coluna do último coeficiente significativo na ordem de varredura dentro do bloco de transformada, e o elemento de sintaxe last_sig_coeff_y_suffix representa o sufixo da posição de linha do último coeficiente significativo na ordem de varredura dentro do bloco de transformada. Aqui, o coeficiente significativo pode representar o coeficiente não zero. A ordem de varredura pode ser uma ordem de varredura diagonal para cima à direita. Alternativamente, a ordem de varredura pode ser uma ordem de varredura horizontal ou uma ordem de varredura vertical. A ordem de varredura pode ser determinada com base na possibilidade de a intrapredição/interpredição ser aplicada ao bloco alvo (CB ou CB incluindo TB) e/ou um modo de intrapredição/interpredição específico.
[0131] Em seguida, após o bloco de transformada ser dividido em sub-blocos 4x4, se o coeficiente não zero existir dentro de um sub-bloco atual usando um elemento de sintaxe de 1 bit coded_sub_block_flag a cada sub-bloco 4x4. O subbloco pode ser usado de forma intercambiável com um Grupo de Coeficientes (CG).
[0132] Quando um valor do elemento de sintaxe coded_sub_block_flag é 0, não há mais informações a serem transmitidas, de modo que o processo de codificação para o sub-bloco atual possa ser concluído. Por outro lado, quando o valor do elemento de sintaxe coded_sub_block_flag é 1, o processo de codificação para o elemento de sintaxe sig_coeff_flag pode ser continuamente realizado. Visto que o sub-bloco incluindo o último coeficiente não-zero não exige a codificação para o elemento de sintaxe coded_sub_block_flag, e o sub-bloco incluindo as informações de DC do bloco de transformada tem uma alta probabilidade de incluir o coeficiente não-zero, o valor do elemento de sintaxe coded_sub_block_flag pode ser considerado como 1 sem ser codificado.
[0133] Se o valor do elemento de sintaxe coded_sub_block_flag for 1 e for determinado que o coeficiente não-zero existe dentro do sub-bloco atual, o elemento de sintaxe sig_coeff_flag que tem um valor binário pode ser codificado de acordo com a ordem inversamente varrida. Um elemento de sintaxe de 1 bit sig_coeff_flag pode ser codificado para cada coeficiente de acordo com a ordem de varredura. Se o valor do coeficiente de transformada na posição de varredura atual não for 0, o valor do elemento de sintaxe sig_coeff_flag pode ser 1. Aqui, no caso do sub-bloco incluindo o último coeficiente não-zero, o processo de codificação para o sub-bloco pode ser omitido, pois não é necessário codificar o elemento de sintaxe sig_coeff_flag em relação ao último coeficiente não-zero. A codificação de informações de nível pode ser realizada apenas quando o elemento de sintaxe sig_coeff_flag is 1, e quatro elementos de sintaxe podem ser usados no processo de codificação de informações de nível. Mais especificamente, cada elemento de sintaxe sig_coeff_flag [xC] [yC] pode representar se o nível (valor) do coeficiente de transformada correspondente em cada posição de coeficiente de transformada (xC, yC) dentro do TB atual é não-zero. Em uma modalidade, o elemento de sintaxe sig_coeff_flag pode corresponder a um exemplo de um sinalizador de coeficiente significativo que representa se o coeficiente de transformada quantizado for um coeficiente significativo não-zero.
[0134] O valor de nível restante após a codificação do elemento de sintaxe sig_coeff_flag pode ser conforme expresso na Equação 1 abaixo. Ou seja, um elemento de sintaxe remAbsLevel que representa o valor de nível que será codificado pode ser conforme expresso na Equação 1 abaixo. Aqui, coeff pode significar um valor de coeficiente de transformação real.
EQUAÇÃO 1
remAbsLevel = | coeff | - 1
[0135] O elemento de sintaxe abs_level_gt1_flag pode representar se o remAbsLevel' na posição de varredura correspondente (n) é maior que 1. Quando um valor do abs_level_gt1_flag é 0, o valor absoluto do coeficiente da posição correspondente pode ser 1. Quando o valor do abs_level_gt1_flag é 1, o valor de nível remAbsLevel que será codificado posteriormente pode ser conforme expresso na Equação 2 abaixo.
EQUAÇÃO 2
remAbsLevel = remAbsLevel - 1
[0136] Como na Equação 3 abaixo através do elemento de sintaxe par_level_flag, o valor de coeficiente menos significativo (LSB) do remAbsLevel descrito na Equação 2 pode ser codificado. Aqui, o elemento de sintaxe par_level_flag [n] pode representar uma paridade do nível (valor) de coeficiente de transformada na posição de varredura (n). O valor de nível de coeficiente de transformada remAbsLevel que será codificado após a codificação do elemento de sintaxe par_level_flag pode ser atualizado como é expresso na Equação 4 abaixo.
EQUAÇÃO 3
par_level_flag = remAbsLevel & 1
EQUAÇÃO 4
remAbsLevel' = remAbsLevel >> 1
[0137] O elemento de sintaxe abs_level_gt3_flag pode representar se o remAbsLevel' na posição de varredura correspondente (n) é maior que 3. A codificação do elemento de sintaxe abs_remainder pode ser realizada apenas quando o elemento de sintaxe abs_level_gt3_flag é 1. A relação entre o coeff, que é o valor de coeficiente de transformada real, e os respectivos elementos de sintaxe pode ser resumida como expresso na Equação 5 abaixo, e a Tabela 12 abaixo pode representar exemplos relacionados à Equação 5. Por fim, o sinal de cada coeficiente pode ser codificado usando o elemento de sintaxe coeff_sign_flag, que é um símbolo de 1 bit. |coeff| pode representar o nível (valor) de coeficiente de transformada, e também pode ser expresso como AbsLevel para o coeficiente de transformada.
EQUAÇÃO 5
| coeff | = sig_coeff_flag + abs_level_gt1_flag + par_level_flag + 2 * ( abs_level_gt3_flag + abs_remainder)
TABELA 12
Figure img0011
[0138] Em uma modalidade, o par_level_flag pode representar um exemplo de um sinalizador de nível de paridade para a paridade do nível de coeficiente de transformada para o coeficiente de transformada quantizado, o abs_level_gt1_flag pode representar um exemplo de um primeiro sinalizador de nível de coeficiente de transformada sobre se o nível ou nível (valor) de coeficiente de transformada que será codificado é maior que um primeiro limite, e o abs_level_gt3_flag pode representar um exemplo de um segundo sinalizador de nível de coeficiente de transformada sobre se o nível ou o nível (valor) de coeficiente de transformada que será codificado é maior que um segundo limite.
[0139] A Figura 9 é um diagrama que ilustra um exemplo de coeficientes de transformada dentro de um bloco 4x4.
[0140] O bloco 4x4 ilustrado na Figura 9 pode representar um exemplo de coeficientes quantizados. O bloco ilustrado na Figura 9 pode ser um bloco de transformada 4x4, ou um sub-bloco 4x4 de blocos de transformada 8x8, 16x16, 32x32 e 64x64. O bloco 4x4 ilustrado na Figura 9 pode representar um bloco luma ou um bloco croma. Os resultados de codificação para os coeficientes varridos diagonalmente inversos ilustrados na Figura 9 podem ser representados, por exemplo, como na Tabela 13. Na Tabela 13, o scan_pos pode representar a posição do coeficiente de acordo com a varredura diagonal inversa. O scan_pos 15 pode representar o coeficiente que é primeiramente varrido, ou seja, do canto inferior direito no bloco 4x4, e o scan_pos 0 pode representar o coeficiente, que é varrido por último, ou seja, do canto superior esquerdo no bloco 4x4. Entretanto, em uma modalidade, o scan_pos também pode ser chamado de uma posição de varredura. Por exemplo, o scan_pos 0 pode ser chamado de uma posição de varredura 0.
Figure img0012
[0141] Entretanto, CABAC fornece alto desempenho, porém tem uma desvantagem de desempenho de taxa de transferência insatisfatório. Isso é causado pelo mecanismo de codificação regular da CABAC, e a codificação regular usa o estado de probabilidade atualizado e o alcance através da codificação do bin anterior, mostrando, assim, alta dependência de dados e demorando muito para ler a seção de probabilidade e determinar o estado atual. É possível resolver o problema de taxa de transferência da CABAC limitando-se o número de bins codificados por contexto. Consequentemente, a soma de bins usados para expressar os elementos de sintaxe sig_coeff_flag, abs_level_gt1_flag e par_level_flag é limitada a 28 no caso do sub-bloco 4x4, e limitada a 6 (remBinsPass1) no caso do sub-bloco 2x2 de acordo com o tamanho do sub-bloco como nas Tabelas 3 a 5 ou Tabelas 6 a 9, e o número de bins codificados por contexto do elemento de sintaxe abs_level_gt3_flag pode ser limitado a 4 no caso do sub-bloco 4x4 e limitado a 2 (remBinsPass2) no caso do sub-bloco 2x2. Quando todos os bins codificados por contexto limitados são usados para codificar o elemento de contexto, os coeficientes restantes podem ser binarizados sem usar a CABAC para executar a codificação bypass.
[0142] Entretanto, uma modalidade do presente documento pode propor um método de sinalização do tipo de transformada unificada.
[0143] Por exemplo, as informações sobre se deve aplicar a MTS podem ser representadas pelo elemento de sintaxe tu_mts_flag, e as informações sobre o kernel da transformada que será aplicado podem ser representadas pelo elemento de sintaxe mts_idx. Além disso, o elemento de sintaxe tu_mts_flag pode estar incluído na sintaxe de unidade de transformada, e o elemento de sintaxe mts_idx pode estar incluído na sintaxe de codificação residual, e pode ser representado, por exemplo, como nas Tabelas 14 e 15.
Figure img0013
TABELA 15
Figure img0014
[0144] Entretanto, uma modalidade do presente documento é a sinalização do tipo de transformada unificada, e pode representar as informações sobre se deve aplicar a MTS e as informações sobre o kernel da transformada que será aplicado usando apenas algumas informações. Por exemplo, algumas informações também podem ser representadas por informações sobre o tipo de transformada unificada, e também podem ser representadas por um elemento de sintaxe tu_mts_idx. Nesse caso, o elemento de sintaxe tu_mts_flag e o elemento de sintaxe mts_idx podem ser omitidos. O elemento de sintaxe tu_mts_idx pode estar incluído na sintaxe de unidade de transformada, e pode ser representado, por exemplo, como na Tabela 16.
Figure img0015
[0145] O sinalizador MTS (ou elemento de sintaxe tu_mts_flag) é analisado primeiro, e para o sinalizador de Salto de Transformada (TS) (ou elemento de sintaxe tranform_skip_flag) seguido do índice MTS (ou elemento de sintaxe mts_idx), o elemento de sintaxe tu_mts_idx, que é um novo elemento de sintaxe conjunta usando binarização de Unário Truncado (TU) de acordo com uma modalidade do presente documento, pode ser usado, em vez de realizar uma codificação de comprimento fixo que tem dois bins. Um primeiro first pode representar o TS, a segunda MTS, e todos os seguintes índices MTS.
[0146] Por exemplo, a semântica e a binarização do elemento de sintaxe tu_mts_idx podem ser representadas conforme na Tabela 17 ou Tabela 18.
Figure img0016
Figure img0017
[0147] Por exemplo, o número de modelos de contexto pode não ser alterado, e a atribuição de ctxInc, que é um incremento de índice de contexto para cada bin do elemento de sintaxe tu_mts_idx, pode ser representada como na Tabela 19.
Figure img0018
[0148] Entretanto, uma modalidade do presente documento pode propor um método de codificação residual para o salto de transformada.
[0149] Por exemplo, os seguintes itens podem ser modificados para adaptar a codificação residual à estatística e características de sinal do nível de salto de transformada que representa um residual de predição quantizado (domínio espacial).
[0150] (1) Nenhuma última posição de varredura significativa: uma vez que o sinal residual reflete o residual espacial após a predição, e a compactação de energia pela transformada não é realizada para o Salto de Transformada (TS), uma alta probabilidade de zeros à direita ou níveis insignificantes pode não ser mais fornecida no canto inferior direito do bloco de transformada. Consequentemente, a sinalização da última posição de varredura significativa pode ser omitida. Em vez disso, um primeiro sub-bloco que será processado pode ser o sub-bloco mais inferior direito dentro do bloco de transformada.
[0151] (2) CBFs de sub-bloco: devido à ausência da sinalização da última posição de varredura significativa, a sinalização de CBF de sub-bloco que tem o elemento de sintaxe coded_sub_block_flag para o TS pode ser modificada da seguinte forma.
[0152] - Devido à quantização, a sequência insignificante supracitada pode ainda ocorrer localmente dentro do bloco de transformada. Consequentemente, a última posição de varredura significativa pode ser eliminada conforme descrito acima, e o elemento de sintaxe coded_sub_block_flag pode ser codificado para todos os sub-blocos.
[0153] - O elemento de sintaxe coded_sub_block_flag para o sub-bloco (subbloco superior esquerdo) que abrange uma posição de frequência DC pode ser representado como um caso especial. Por exemplo, o elemento de sintaxe coded_sub_block_flag para o sub-bloco correspondente não é sinalizado e sempre pode ser inferido como 1. Quando a última posição de varredura significativa é posicionada em outro sub-bloco, pode significar que há pelo menos um nível significativo fora do sub-bloco DC (sub-bloco que abrange a posição de frequência DC). Como resultado, para o sub-bloco DC, é inferido que o valor do elemento de sintaxe coded_sub_block_flag para o sub-bloco correspondente é 1, porém pode incluir apenas 0/nível insignificante. Quando não há informações da última posição de varredura no TS, o elemento de sintaxe coded_sub_block_flag para cada subbloco pode ser sinalizado. Esse pode incluir o elemento de sintaxe coded_sub_block_flag para o sub-bloco DC, exceto para o caso em que os valores de todos os outros elementos de sintaxe coded_sub_block_flag syntax já são 0. Nesse caso, o valor do elemento de sintaxe coded_sub_block_flag para o sub-bloco DC pode ser inferido como 1 (inferDcSbCbf = 1). Visto que o sub-bloco DC precisa ter pelo menos um nível significativo, em vez de o valor de todos os outros elementos de sintaxe sig_coeff_flag dentro do sub-bloco DC ser 0, o elemento de sintaxe sig_coeff_flag para a primeira posição (0, 0) pode não ser sinalizado, e o valor do elemento de sintaxe sig_coeff_flag pode ser derivado como 1 (inferSbDcSigCoeffFlag = 1).
[0154] - A modelagem de contexto para o elemento de sintaxe coded_sub_block_flag pode ser alterada. O índice de modelo de contexto pode ser calculado pela soma do elemento de sintaxe coded_sub_block_flag da direita e o do elemento de sintaxe coded_sub_block_flag de baixo em vez do sub-bloco atual e da disjunção lógica dos dois.
[0155] (3) Modelagem de contexto do elemento de sintaxe sig_coeff_flag: o modelo local da modelagem de contexto do elemento de sintaxe sig_coeff_flag pode ser modificado para incluir o vizinho direito (NB0) e o vizinho de baixo (NB1) da posição de varredura atual. Um deslocamento de modelo de contexto pode ser o número de posições vizinhas significativas sig_coeff_flag [NB0] + sig_coeff_flag [NB1]. Consequentemente, a seleção de outros conjuntos de contexto pode ser eliminada de acordo com a diagonal (d) dentro do bloco de transformada atual. Isso pode causar três modelos de contexto e um único modelo de contexto definido para codificação do elemento de sintaxe sig_coeff_flag.
[0156] (4) Modelagem de contexto do elemento de sintaxe abs_level_gt1_flag e do elemento de sintaxe par_level_flag: o único modelo de contexto pode ser usado para o elemento de sintaxe abs_level_gt1_flag e o elemento de sintaxe par_level_flag.
[0157] (5) Codificação do elemento de sintaxe abs_remainder geralmente, a distribuição empírica dos níveis absolutos de salto de transformada residual ainda é adequada para um laplaciano ou uma distribuição geométrica, porém a instacionaridade, que é maior do que os níveis absolutos do coeficiente de transformada, pode existir. Particularmente, a variância dentro da janela de realização contínua pode ser mais alta para os níveis absolutos residuais. Consequentemente, a binarização e a modelagem de contexto do elemento de sintaxe abs_remainder podem ser modificadas da seguinte forma.
[0158] - Usar um valor de corte mais alto para binarização, ou seja, a codificação usada para o elemento de sintaxe sig_coeff_flag, o elemento de sintaxe abs_level_gt1_flag, o elemento de sintaxe par_level_flag, e o elemento de sintaxe abs_level_gt3_flag, os modelos de contexto dedicados para o ponto de transição para um código Rice para o elemento de sintaxe abs_remainder e a posição de cada bin podem causar maior eficiência de compactação. Um aumento no corte pode causar um sinalizador "maior que X", por exemplo, como introduzindo o elemento de sintaxe abs_level_gt5_flag e o elemento de sintaxe abs_level_gt7_flag até atingir o corte. O próprio corte pode ser fixado em 5 (numGtFlags = 5).
[0159] - O modelo para derivar um parâmetro Rice pode ser modificado. Ou seja, apenas o vizinho esquerdo e o vizinho de baixo da posição da posição de varredura atual podem ser considerados de modo similar ao modelo local para a modelagem de contexto do elemento de sintaxe sig_coeff_flag.
[0160] (6) Modelagem de contexto do elemento de sintaxe coeff_sign_flag: devido ao fato de que a instacionaridade (instationarity) dentro da sequência de sinais e o residual de predição são frequentemente desviados, os sinais podem ser codificados usando os modelos de contexto mesmo quando a distribuição empírica global é quase uniformemente distribuída. Um único modelo de contexto dedicado pode ser usado para a codificação do sinal, e o sinal pode ser analisado após o elemento de sintaxe sig_coeff_flag para manter todos os bins codificados por contexto juntos.
[0161] (7) Redução nos bins codificados por contexto: um primeiro passo de varredura, ou seja, a transmissão do elemento de sintaxe sig_coeff_flag, do elemento de sintaxe abs_level_gt1_flag e do elemento de sintaxe par_level_flag pode não ser alterada. Entretanto, o limite sobre o número máximo de Bins Codificados por Contexto (CCBs) por amostra pode ser eliminado, e pode ser processado de forma diferente. A redução nos CCBs pode ser garantida designando o modo como CCB > k como inválido. Aqui, k pode ser um número inteiro positivo. Por exemplo, k para o modo de codificação de nível regular pode ser 2, porém não se limita a isso. Esse limite pode corresponder à redução em um espaço de quantização.
[0162] Por exemplo, a sintaxe de codificação residual de salto de transformada pode ser representada conforme na Tabela 20.
TABELA 20
Figure img0019
[0163] A Figura 10 é um diagrama que ilustra um decodificador de sinal residual de acordo com um exemplo do presente documento.
[0164] Entretanto, como descrito com referência às Tabelas 3 a 5 ou Tabelas 6 a 8, antes de codificar o sinal residual, particularmente, o sinal residual, se deve aplicar a transformada ao bloco correspondente pode ser distribuído primeiro. Ao expressar a correlação entre os sinais residuais no domínio de transformada, a compactação de dados é realizada e os dados compactados são o aparelho de decodificação e, se a correlação entre os sinais residuais for insuficiente, a compactação de dados pode não ocorrer suficientemente. Nesse caso, o processo de transformada incluindo um processo de cálculo complicado pode ser omitido e o sinal residual do domínio de pixel (domínio espacial) pode ser distribuído ao aparelho de decodificação.
[0165] Visto que o sinal residual do domínio de pixel que não foi transformado tem características diferentes (distribuição do sinal residual, o nível absoluto de cada sinal residual, e similares) do sinal residual do domínio de transformada geral, a seguinte descrição propõe um método de codificação do sinal residual para distribuir eficientemente tal sinal ao aparelho de decodificação de acordo com uma modalidade do presente documento.
[0166] Conforme ilustrado na Figura 10, um sinalizador de presença/ausência de aplicação de transformada que representa se a transformada é aplicada ao bloco de transformada correspondente e um fluxo de bits (ou informações sobre código de binarização codificado) pode ser inserido em um decodificador de sinal residual 1000 e um sinal residual (decodificado) pode ser emitido.
[0167] O sinalizador de presença/ausência de aplicação de transformada pode ser representado por um sinalizador de presença/ausência de transformada, um sinalizador de presença/ausência de salto de transformada ou um elemento de sintaxe transform_skip_flag. O código de binarização codificado também pode ser inserido no decodificador de sinal residual 1000 através do processo de binarização.
[0168] O decodificador de sinal residual 1000 pode estar incluído no decodificador de entropia do aparelho de decodificação. Além disso, embora o sinalizador de presença/ausência de aplicação de transformada seja distinguido do fluxo de bits por uma questão de conveniência de explicação na Figura 10, o sinalizador de presença/ausência de aplicação de transformada pode estar incluído no fluxo de bits. Alternativamente, o fluxo de bits pode incluir informações sobre os coeficientes de transformada (quando a transformada é aplicada, o elemento de sintaxe transform_skip_flag = 0) ou informações sobre (um valor de) a amostra residual (quando a transformada não é aplicada, a transform_skip_flag = 1) bem como o sinalizador de presença/ausência de aplicação de transformada. As informações sobre os coeficientes de transformada podem incluir, por exemplo, informações (ou elementos de sintaxe) ilustradas nas Tabelas 3 a 5 ou Tabelas 6 a 9.
[0169] O sinalizador de presença/ausência de salto de transformada pode ser transmitido em unidades de bloco de transformada e, por exemplo, nas Tabelas 3 a 5, o sinalizador de presença/ausência de salto de transformada é limitado a um tamanho de bloco específico (condição que analisa o transform_skip_flag está incluída apenas quando o tamanho do bloco de transformada é 4x4 ou menos), porém uma modalidade pode configurar variadamente o tamanho do bloco que determina se deve analisar o sinalizador de presença/ausência de salto de transformada. Os tamanhos de log2TbWidth e log2TbHeight podem ser determinados por variáveis wN e hN, e wN e hN podem ter, por exemplo, um valor dos seguintes valores ilustrados na Equação 6.
EQUAÇÃO 6
wN = {2, 3, 4, 5, 6}
hN = {2, 3, 4, 5, 6}
[0170] Por exemplo, os elementos de sintaxe aos quais wN e hN que têm valores de acordo com a Equação 6 podem ser aplicados podem ser representados como na Tabela 21.
Figure img0020
[0171] Por exemplo, wN e hN podem ter, cada um, um valor de 5, nesse caso, o sinalizador de presença/ausência de salto de transformada pode ser sinalizado para o bloco que tem uma largura menor ou igual a 32 e uma altura menor ou igual a 32. Alternativamente, wN e hN podem ter, cada um, um valor de 6, nesse caso, o sinalizador de presença/ausência de salto de transformada pode ser sinalizado para o bloco que tem uma largura menor ou igual a 64 e uma altura menor ou igual a 64. Por exemplo, wN e hN podem ter valores de 2, 3, 4, 5 ou 6 como é expresso na Equação 6, ter os mesmos valores entre si, e também ter valores diferentes entre si. Além disso, a largura e a altura do bloco em que o sinalizador de presença/ausência de salto de transformada pode ser sinalizado podem ser determinadas com base nos valores de wN e hN.
[0172] Conforme descrito acima, um método de decodificação do sinal residual pode ser determinado de acordo com o sinalizador de presença/ausência de salto de transformada. Ao processar de forma eficiente os sinais com características estatísticas diferentes entre si através do método proposto, é possível reduzir a complexidade no processo de decodificação de entropia e aumentar a eficiência de codificação..
[0173] A Figura 11 é um diagrama que ilustra um determinador de análise de sinalizador de salto de transformada de acordo com uma modalidade do presente documento.
[0174] Entretanto, como descrito com referência às Tabelas 3 a 5 ou Tabelas 6 a 9, uma modalidade pode, primeiro, determinar se deve aplicar a transformada ao bloco correspondente antes de codificar o sinal residual. Ao expressar a correlação entre os sinais residuais no domínio de transformada, a compactação de dados é realizada e os dados compactados são distribuídos ao decodificador, e, se a correlação entre os sinais residuais for insuficiente, a compactação de dados pode não ocorrer suficientemente. Nesse caso, o processo de transformada incluindo o processo de cálculo complicado pode ser omitido e o sinal residual do domínio de pixel (domínio espacial) pode ser distribuído ao decodificador. Visto que o sinal residual do domínio de pixel que não foi transformado tem características diferentes (grau de distribuição do sinal residual, o nível absoluto de cada sinal residual, e similares) do sinal residual do domínio de transformada geral, a seguinte descrição propõe um método para codificar o sinal residual para distribuir eficientemente tal sinal ao decodificador.
[0175] O sinalizador de presença/ausência de salto de transformada pode ser transmitido em unidades de bloco de transformada e, por exemplo, a sinalização do sinalizador de presença/ausência de salto de transformada é limitada ao tamanho de um bloco específico (condição de analisar o transform_skip_flag está incluída apenas quando o tamanho do bloco de transformada é 4x4 ou menos), porém uma modalidade pode definir a condição de determinar se deve analisar o sinalizador de presença/ausência de salto de transformada como o número de pixels ou amostras dentro do bloco em vez das informações sobre a largura ou altura do bloco. Ou seja, a condição de determinar se deve analisar o sinalizador de presença/ausência de salto de transformada pode ser definida como usando o produto de log2TbWidth e log2TbHeight entre as condições usadas para analisar o sinalizador de presença/ausência de salto de transformada (por exemplo, elemento de sintaxe transform_skip_flag). Alternativamente, o sinalizador de presença/ausência de salto de transformada pode ser analisado com base no produto da largura (por exemplo, log2TbWidth) e altura (por exemplo, log2TbHeight) do bloco. Alternativamente, a possibilidade de analisar o sinalizador de presença/ausência de salto de transformada pode ser determinada de acordo com um valor obtido pelo produto da largura (por exemplo, log2TbWidth) e altura (por exemplo, log2TbHeight) do bloco. Por exemplo, o log2TbWidth e o log2TbHeight podem ter um valor dos seguintes valores ilustrados na Equação 7.
EQUAÇÃO 7
log2TbWidth = {1, 2, 3, 4, 5, 6}
log2TbHeight = {1, 2, 3, 4, 5, 6}
[0176] De acordo com uma modalidade, quando se deve analisar o sinalizador de presença/ausência de salto de transformação é determinado com base no número de amostras dentro do bloco, blocos de vários formatos podem ser incluídos em um bloco de exclusão de transformada (em que o sinalizador de presença/ausência de salto de transformada não é analisado) em vez de determinar se deve analisar o sinalizador de presença/ausência de salto de transformada com base na largura e altura do bloco.
[0177] Por exemplo, quando todos dentre o log2TbWidth e o log2TbHeight são definidos como 2, apenas os blocos de 2x4, 4x2 e 4x4 podem estar incluídos no bloco de exclusão de transformada, porém quando controlados pelo número de amostras, o bloco em que o número de amostras é 16 ou menos dentro do bloco está incluído no bloco de exclusão de transformada, de modo que os blocos de tamanhos 2x8 e 8x2 bem como os blocos de 2x4, 4x2 e 4x4 também possam estar incluídos no bloco de exclusão de transformada.
[0178] Um método de decodificação do sinal residual pode ser determinado de acordo com o sinalizador de presença/ausência de salto de transformada, e com o processamento eficiente dos sinais que têm características estatísticas diferentes de acordo com a modalidade anteriormente mencionada, é possível reduzir a complexidade do processo de decodificação de entropia e aumentar a eficiência de codificação.
[0179] Por exemplo, conforme ilustrado na Figura 11, as informações sobre se deve habilitar o salto de transformada dentro da sintaxe de alto nível, as informações de tamanho de bloco, e as informações sobre se deve aplicar a Seleção de Transformada Múltipla (MTS) podem ser inseridas no determinador de análise de sinalizador de salto de transformada 1100, e o sinalizador de salto de transformada pode ser emitido. Alternativamente, as informações sobre se deve habilitar o salto de transformada dentro da sintaxe de alto nível e as informações de tamanho de bloco podem ser inseridas no determinador de análise de sinalizador de salto de transformada, e o sinalizador de salto de transformada também pode ser emitido com base nas informações. Ou seja, o sinalizador de salto de transformada pode ser emitido (ou analisado) com base nas informações de tamanho de bloco, quando o salto de transformada é habilitado de acordo com as informações sobre se deve habilitar o salto de transformada dentro da sintaxe de alto nível. As informações supracitadas podem estar incluídas no fluxo de bits ou na sintaxe. O determinador de análise de sinalizador de salto de transformada 1100 pode estar incluído no decodificador de entropia do aparelho de decodificação. Por exemplo, um método em que o sinalizador de salto de transformada é determinado com base nas informações supracitadas pode ser da seguinte forma.
[0180] A Figura 12 é um fluxograma para explicar um método de codificação do sinalizador de presença/ausência de salto de transformada de acordo com uma modalidade do presente documento.
[0181] A modalidade anteriormente mencionada será descrita novamente com referência à Figura 12 da seguinte forma.
[0182] Primeiro, a possibilidade de o salto de transformada dentro da sintaxe de alto nível ser habilitado pode ser determinada (S1200). Por exemplo, a possibilidade de o salto de transformada dentro da sintaxe de alto nível ser habilitado pode ser determinada com base nas informações sobre se deve habilitar o salto de transformada dentro da sintaxe de alto nível (por exemplo, elemento de sintaxe transform_skip_enabled_flag). Por exemplo, as informações sobre se deve habilitar o salto de transformada (por exemplo, transform_skip_enabled_flag elemento de sintaxe) podem ser sinalizadas com base em um conjunto de parâmetros de sequência (SPS). Alternativamente, as informações sobre se deve habilitar o salto de transformada podem ser sinalizadas como estando incluídas na sintaxe de SPS. Alternativamente, as informações sobre se deve habilitar o salto de transformada também podem ser sinalizadas com base em um conjunto de parâmetros de gravura (PPS) ou sinalizadas como estando incluídas na sintaxe de PPS, porém o presente documento não se limita a isso. Aqui, o fato de que o salto de transformada dentro da sintaxe de alto nível é habilitado pode representar que o salto de transformada é habilitado para a fatia/bloco referente à sintaxe de alto nível correspondente. A possibilidade de o salto de transformada ser substancialmente aplicado ao bloco em que o salto de transformada é habilitado pode ser determinada com base no sinalizador de salto de transformada supracitado.
[0183] Por exemplo, quando o salto de transformada dentro da sintaxe de alto nível é habilitado, a possibilidade de o valor do elevada de sintaxe cu_mts_flag dentro da sintaxe ser 0 pode ser determinada (S1210). Por exemplo, a possibilidade de o valor do elemento de sintaxe cu_mts_flag ser 0 pode ser determinada com base nas informações sobre se deve habilitar a Seleção de Transformada Múltipla (MTS). Alternativamente, as informações sobre se deve habilitar a MTS podem ser determinadas com base no elemento de sintaxe sps_mts_enabled_flag.
[0184] Por exemplo, quando o valor do elemento de sintaxe cu_mts_flag é 0, a possibilidade de o produto de log2TbWidth e log2TbHeight ser menor ou igual a um limite pode ser determinada (S1220). Alternativamente, a possibilidade de um valor obtido pelo produto de um valor logarítmico que tem uma base 2 da largura do bloco atual e um valor logarítmico que tem uma base 2 da altura do bloco ser menor que o limite pode ser determinada. Alternativamente, a possibilidade de um valor obtido pelo produto da largura e altura do bloco atual ser menor que o limite pode ser determinada. Por exemplo, a possibilidade de o produto de log2TbWidth e log2TbHeight ser menor ou igual ao limite pode ser determinada com base nas informações de tamanho de bloco. As informações de tamanho de bloco podem incluir as informações sobre a largura e a altura do bloco atual. Alternativamente, as informações de tamanho de bloco podem incluir informações sobre valores logarítmicos que têm uma base 2 da largura e da altura do bloco atual.
[0185] Por exemplo, quando o produto de log2TbWidth e log2TbHeight é menor ou igual ao limite, o valor do sinalizador de presença/ausência de salto de transformada (ou elemento de sintaxe transform_skip_flag) pode ser determinado como 1 (S1230). Alternativamente, o sinalizador de presença/ausência de salto de transformada que tem o valor de 1 pode ser analisado. Alternativamente, por exemplo, quando o produto de log2TbWidth e log2TbHeight é menor ou igual ao limite de acordo com a configuração ou a condição, o valor do sinalizador de presença/ausência de salto de transformada (ou elemento de sintaxe transform_skip_flag) pode ser determinado como 0. Alternativamente, o sinalizador de presença/ausência de salto de transformada que tem o valor de 0 pode ser analisado. Alternativamente, o sinalizador de presença/ausência de salto de transformada pode não ser analisado. Ou seja, o valor determinado do sinalizador de presença/ausência de salto de transformada pode ser alterado de acordo com a configuração ou a condição como um exemplo. Ou seja, o sinalizador de presença/ausência de salto de transformada pode representar as informações de que o salto de transformada é aplicado ao bloco atual quando o produto de log2TbWidth e log2TbHeight é menor ou igual ao limite. Alternativamente, o bloco atual pode estar incluído no bloco de exclusão de transformada com base no sinalizador de presença/ausência de salto de transformada, e a transformada não é aplicada ao bloco atual.
[0186] Por exemplo, o valor do sinalizador de presença/ausência de salto de transformada (ou elemento de sintaxe transform_skip_flag) pode ser determinado como 0, quando o salto de transformada dentro da sintaxe de alto nível não é habilitado, quando o valor do elemento de sintaxe cu_mts_flag não é 0, ou quando o produto de log2TbWidth e log2TbHeight é maior que o limite (S1240). Alternativamente, o sinalizador de presença/ausência de salto de transformada que tem o valor de 0 pode ser analisado. Alternativamente, o sinalizador de presença/ausência de salto de transformada pode não ser analisado. Alternativamente, por exemplo, o valor do sinalizador de presença/ausência de salto de transformada (ou elemento de sintaxe transform_skip_flag) pode ser determinado como 1, quando o salto de transformada dentro da sintaxe de alto nível não é habilitado, quando o valor do elemento de sintaxe cu_mts_flag não é 0, e quando o produto de log2TbWidth e log2TbHeight é maior que o limite de acordo com a configuração ou a condição. Alternativamente, o sinalizador de presença/ausência de salto de transformada que tem um valor de 1 pode ser analisado. Ou seja, o valor determinado do sinalizador de presença/ausência de salto de transformada é um exemplo, e pode ser alterado de acordo com a configuração ou a condição. Ou seja, quando o salto de transformada dentro da sintaxe de alto nível não é habilitado, quando um valor do elemento de sintaxe cu_mts_flag não é 0, e quando o produto de log2TbWidth e log2TbHeight é maior que o limite, o sinalizador de presença/ausência de salto de transformada pode representar informações de que o salto de transformada não é aplicado ao bloco atual. Alternativamente, o bloco atual pode não estar incluído no bloco de exclusão de transformada com base no sinalizador de presença/ausência de salto de transformada, e pode ser transformado.
[0187] Alternativamente, por exemplo, o elemento de sintaxe cu_mts_flag também pode ser representado por um elemento de sintaxe MTS tu_mts_flag ou um elemento de sintaxe mts_flag, e o elemento de sintaxe sps_mts_intra_enabled_flag (ou elemento de sintaxe sps_explicit_mts_intra_enabled_flag) ou o elemento de sintaxe sps_mts_inter_enabled_flag (ou elemento de sintaxe sps_explicit_mts_inter_enabled_flag) pode ser sinalizado (sendo incluído na sintaxe SPS) com base no elemento de sintaxe sps_mts_enabled_flag.
[0188] Entretanto, outra modalidade do presente documento propõe um método para definir o tamanho de salto de transformada quando se usa um índice de kernel da transformada incluindo as informações de presente/ausência de transformada.
[0189] Visto que o bloco que não foi transformado (ou codificado por transformada) tem características diferentes dos dados residuais do bloco que foi transformado geralmente, um método de codificação de dados residuais eficiente para o bloco que não foi transformado pode ser necessário. O sinalizador de presença/ausência de transformada que representa se deve realizar a transformada pode ser transmitido em unidades de bloco de transformada ou unidade de transformada, e o presente documento não limita o tamanho do bloco de transformada. Por exemplo, quando o sinalizador de presença/ausência de transformada é 1, a codificação residual (dados) (por exemplo, Tabela 20 e a codificação residual para o salto de transformada) proposta no presente documento pode ser realizada, e quando o sinalizador de presença/ausência de transformada é 0, a codificação residual como nas Tabelas 3 a 5 ou Tabelas 6 a 9 pode ser realizada. Por exemplo, o sinalizador de presença/ausência de transformada pode incluir o elemento de sintaxe transform_skip_flag incluído na sintaxe de codificação residual ou na sintaxe de unidade de transformada. Além disso, quando o valor do elemento de sintaxe transform_skip_flag é 1, o método de codificação residual (para o salto de transformada) proposto em uma modalidade do presente documento pode ser realizado.
[0190] Alternativamente, por exemplo, quando o valor do elemento de sintaxe transform_skip_flag é 1, a codificação residual em que a transformada não é realizada também pode ser realizada com base na sintaxe de codificação de salto de transformada residual (residual_ts_coding) de acordo com uma condição se (!transform_skip_flag). Alternativamente, quando o valor do elemento de sintaxe transform_skip_flag é 0, a codificação residual em que a transformada é realizada com base na sintaxe de codificação residual (residual_coding) pode ser realizada de acordo com a condição se (!transform_skip_flag).
[0191] Alternativamente, por exemplo, a codificação residual que exclui o elemento de sintaxe coeff_sign_flag abaixo do elemento de sintaxe coded_sub_block_flag pode seguir algum ou todo o método de codificação residual (para o salto de transformada) proposto em uma modalidade do presente documento.
[0192] Alternativamente, por exemplo, o método de sinalização de tipo de transformada unificada proposto em uma modalidade do presente documento pode ser realizado, e nesse momento, quando o valor do elemento de sintaxe tu_mts_idx é 1 (ou quando o elemento de sintaxe tu_mts_idx representa informações de que a transformada não é aplicada ao bloco de destino, o método de codificação residual (para o salto de transformada) proposto em uma modalidade do presente documento pode ser realizado. Alternativamente, quando o valor do elemento de sintaxe tu_mts_idx é 0 (ou quando o valor do elemento de sintaxe tu_mts_idx é um valor diferente de 1), a codificação residual como nas Tabelas 3 a 5 ou Tabelas 6 a 9 ou a codificação residual em que a transformada é realizada com base na sintaxe de codificação residual (residual_coding) pode ser realizada. Nesse caso, conforme descrito com o método de sinalização de tipo de transformada unificada proposto em uma modalidade do presente documento, o sinalizador de presença/ausência de transformada (ou elemento de sintaxe transform_skip_flag) e/ou o índice de transformada (ou elemento de sintaxe mts_idx) pode ser omitido nas Tabelas 3 a 5.
[0193] Alternativamente, por exemplo, presumindo que o elemento de sintaxe tu_mts_idx que tem o valor de 0 representa que a transformada não é aplicada (ou salto de transformada) ao bloco de destino, o método de codificação residual (para o salto de transformada) proposto em uma modalidade do presente documento pode ser realizado, quando o valor do elemento de sintaxe tu_mts_idx é 0. Alternativamente, quando o valor do elemento de sintaxe tu_mts_idx não é 0, a codificação residual em que a transformada é realizada com base na sintaxe de codificação residual (residual_coding) pode ser realizada conforme nas Tabelas 3 a 5 ou Tabelas 6 a 9. Nesse caso, o sinalizador de presença/ausência de transformada (ou elemento de sintaxe transform_skip_flag) e/ou o índice de transformada (ou elemento de sintaxe mts_idx) pode ser omitido. Nesse caso, o procedimento ou condição de determinação “tu_mts_idx == 1?” pode ser substituído pelo procedimento ou condição de determinação “tu_mts_idx == 0?”.
[0194] Conforme descrito com o método de sinalização de tipo de transformada unificada proposto em uma modalidade do presente documento, a binarização do sinalizador de presença/ausência de transformada (ou elemento de sintaxe transform_skip_flag) ou o índice de transformada (ou elemento de sintaxe mts_idx) pode ser, cada um, definido de forma diferente, por exemplo, no caso do MTS & TS habilitado, da MTS habilitada e do TS habilitado conforme na Tabela 17 ou Tabela 18. Alternativamente, o tamanho em que o salto de transformada é definido (ou o tamanho capaz do salto de transformada) também pode ser definido de forma diferente de acordo com a possibilidade de o valor do mts_enabled ser 0 ou 1. Alternativamente, o tamanho capaz do salto de transformada também pode ser definido com base na MTS habilitada (ou informações sobre se a MTS está habilitada). Por exemplo, a MTS habilitada pode representar as informações sobre se a MTS está habilitada, e pode ser derivada com base no elemento de sintaxe sps_mts_enabled_flag. Por exemplo, o fato de que o valor da MTS habilitada é 1 pode representar que o valor do elemento de sintaxe sps_mts_enabled_flag é 1. Alternativamente, o fato de que o valor da MTS habilitada é 1 também pode representar informações de que a MTS está habilitada. Alternativamente, o fato de que o valor da MTS habilitada é 0 pode representar que o valor do elemento de sintaxe sps_mts_enabled_flag é 0. Alternativamente, o fato de que o valor da MTS habilitada é 0 também pode representar informações de que a MTS não está habilitada.
[0195] Por exemplo, quando o valor da MTS habilitada é 1, o tamanho do salto de transformada (ou o tamanho de bloco capaz do salto de transformada) pode ser dependente da MTS habilitada. Por exemplo, se o tamanho da MTS estiver habilitado em 32 ou menos (ou se a MTS está habilitada apenas quando o tamanho de bloco é 32 ou menos), o salto de transformada pode ser sempre definido para o bloco que tem o tamanho de 32 ou menos da mesma maneira descrita acima.
[0196] Alternativamente, por exemplo, quando o valor da MTS habilitada é 1, o aparelho de codificação e o aparelho de decodificação podem usar um tamanho máximo predeterminado ou predefinido. Além disso, o TS habilitado pode ser definido de acordo com o tamanho máximo. Por exemplo, o aparelho de codificação e o aparelho de decodificação podem ser definidos para usar o salto de transformada para o bloco que tem um comprimento de um lado que é menor ou igual a 8. Nesse caso, o valor do TS habilitado é definido como 0 em relação ao bloco com um comprimento de um lado do bloco que é maior que 8, aplicando assim efetivamente a tabela de binarização ilustrada na Tabela 17 ou Tabela 18. Alternativamente, as informações de tamanho máximo do bloco de salto de transformada (ou capaz do salto de transformada) também podem ser representadas usando o número máximo de amostras em vez do comprimento máximo de um lado do bloco.
[0197] Alternativamente, por exemplo, quando o valor da MTS habilitada é 1, o tamanho máximo do salto de transformada (ou bloco capaz do salto de transformada) pode ser definido separadamente do tamanho da MTS (ou o tamanho de bloco em que a MTS está habilitada). Nesse caso, as informações sobre o tamanho do salto de transformada (ou bloco capaz do salto de transformada) podem ser sinalizadas para definir o tamanho da MTS (ou o tamanho de bloco em que a MTS está habilitada). Alternativamente, as informações podem ser transmitidas a partir do aparelho de codificação ao aparelho de decodificação. Por exemplo, se o tamanho da MTS estiver habilitado em 32 ou menos (ou se a MTS estiver habilitada apenas quando o tamanho do bloco é 32 ou menos), um sinalizador sobre se deve seguir o tamanho da MTS (ou o tamanho do bloco em que a MTS está habilitada) pode ser sinalizado, e no caso de não seguir o tamanho máximo da MTS (ou o tamanho máximo do bloco em que a MTS está habilitada), as informações para habilitar o tamanho máximo do salto de transformada (ou bloco capaz do salto de transformada) até 16 podem ser sinalizadas. Nesse caso, quando o comprimento de um lado do bloco é 16 ou mais, o valor do TS habilitado é definido como 0, aplicando assim efetivamente a tabela de binarização ilustrada na Tabela 17 ou Tabela 18. Alternativamente, as informações de tamanho máximo do bloco de salto de transformada (ou capaz do salto de transformada) também podem ser representadas usando o número máximo de amostras em vez do tamanho máximo de um lado do bloco.
[0198] Alternativamente, por exemplo, quando o valor da MTS habilitada é 0, o aparelho de codificação e o aparelho de decodificação podem usar um tamanho máximo predeterminado ou predefinido. Por exemplo, quando o valor da MTS habilitada é 0 e o valor do TS habilitado é 1, o aparelho de codificação e o aparelho de decodificação podem ser definidos para usar o salto de transformada para o bloco que tem um comprimento de um lado que é menor ou igual a 8.
Alternativamente, as informações de tamanho máximo do bloco de salto de transformada (ou capaz do salto de transformada) também podem ser representadas usando o número máximo de amostras em vez do tamanho máximo de um lado do bloco.
[0199] Alternativamente, por exemplo, quando o valor da MTS habilitada é 0, as informações de tamanho máximo do salto de transformada (ou bloco capaz do salto de transformada) podem ser transmitidas. Por exemplo, as informações que habilitam o tamanho máximo do salto de transformada (ou bloco capaz do salto de transformada) de até 16 podem ser sinalizadas pela sintaxe de alto nível. Nesse caso, quando o comprimento de um lado do bloco é 16 ou mais, o valor do TS habilitado é definido como 0, aplicando assim efetivamente a tabela de binarização ilustrada na Tabela 17 ou Tabela 18. Alternativamente, as informações de tamanho máximo do bloco de salto de transformada (ou capaz do salto de transformada) podem ser representadas usando o número máximo de amostras em vez do tamanho máximo de um lado do bloco.
[0200] Por exemplo, o elemento de sintaxe tu_mts_idx pode ser codificado/decodificado com base na CABAC supracitada. Nesse caso, a cadeia de bin do elemento de sintaxe tu_mts_idx pode incluir, por exemplo, bins como ilustrado na Tabela 17 ou Tabela 18. Pelo menos um dos bins da cadeia de bin do elemento de sintaxe tu_mts_idx pode ser codificado (ou codificado regularmente) com base nas informações de contexto (ou modelo de contexto).
[0201] Um índice de contexto que representa o modelo de contexto para cada um dos bins codificados regularmente pode ser derivado com base em um incremento de índice de contexto e um deslocamento de índice de contexto. Alternativamente, por exemplo, o índice de contexto pode ser representado por ctxIdx, o incremento de índice de contexto pode ser representado por ctxInc, e o deslocamento de índice de contexto pode ser representado por ctxIdxOffset. Além disso, o ctxIdx pode ser derivado pela soma do ctxInc e do ctxIdxOffset. Por exemplo, o ctxInc pode ser derivado de forma diferente para cada bin como ilustrado na Tabela 19. O ctxIdxOffset pode representar o valor mais baixo do ctxIdx. Alternativamente, por exemplo, o índice de contexto pode ser determinado com base na profundidade de árvore quaternária codificada (cqtDepth) como ilustrado na Tabela 19. Alternativamente, por exemplo, o índice de contexto pode ser determinado de acordo com o tamanho do bloco, a razão da largura para a altura do bloco, seja para realizar a intrapredição ou interpredição do bloco, seja para aplicar o salto de transformada ao vizinho, ou similares.
[0202] Por exemplo, quando o tamanho do bloco é menor que 8x8, o modelo de contexto de um índice 0 pode ser usado, e quando o tamanho do bloco é maior ou igual a 8x8, o modelo de contexto de um índice 1 pode ser usado.
[0203] Alternativamente, por exemplo, quando a razão da largura para a altura do bloco é 1, o modelo de contexto do índice 0 pode ser usado, quando a largura do bloco é maior que a altura do bloco, o modelo de contexto do índice 1 pode ser usado, e quando a altura do bloco é maior que a largura do bloco, o modelo de contexto de um índice 2 pode ser usado. Nesse caso, por exemplo, o índice de contexto que é determinado com base na largura e altura do bloco pode ser conforme ilustrado na Tabela 22 abaixo.
Figure img0021
Figure img0022
[0204] Alternativamente, por exemplo, quando o modo de predição do bloco atual é o modo intra, o modelo de contexto do índice 0 pode ser usado, e quando o modo de predição do bloco atual é o modo inter, o modelo de contexto do índice 1 pode ser usado.
[0205] Por exemplo, o elemento de sintaxe tu_mts_idx pode ser codificado usando o modelo de contexto de acordo com o índice determinado conforme descrito acima. Visto vez que o modelo de contexto e o número de modelos podem ser definidos variadamente com base na probabilidade e distribuição, o presente documento não se limita ao modelo de contexto específico e ao número de modelos de contexto.
[0206] Por exemplo, o índice pode representar o índice de contexto, o índice 0 pode representar que o valor ctxIdx é 0 e o índice 1 pode representar que o valor ctxIdx é 1.
[0207] Por exemplo, o valor mais baixo do ctxIdx pode ser representado por um valor inicial (initValue) do ctxIdx e o valor inicial do ctxIdx pode ser determinado com base na tabela de contexto. Alternativamente, o valor inicial do ctxIdx pode ser determinado usando a tabela de contexto e um tipo inicial (initType). O tipo inicial pode ser determinado previamente. Alternativamente, o tipo inicial também pode ser determinado sinalizando as informações relacionadas. Por exemplo, o tipo inicial pode ser sinalizado pelas informações de tipo inicial (por exemplo, elemento de sintaxe cabac_init_flag ou elemento de sintaxe cabac_init_idx).
[0208] Ou seja,, os bins da cadeia de bin do elemento de sintaxe tu_mts_idx podem ser codificados baseados em contexto (ou codificados regularmente) com base no modelo de contexto para os respectivos bins. Nesse caso, o modelo de contexto pode ser derivado pela soma do ctxInc e do ctxIdxOffset. Além disso, o ctxInc pode ser determinado de forma diferente para cada bin.
[0209] Por exemplo, o aparelho de codificação pode codificar os bins derivando o valor do elemento de sintaxe tu_mts_idx, derivando os bins de binarização correspondentes ao valor através do procedimento de binarização, e derivando o modelo de contexto para cada um dos bins. Nesse caso, uma cadeia de bits que tem um comprimento que é igual ou menor que os comprimentos dos bins pode ser emitida de acordo com a codificação aritmética com base no modelo de contexto.
[0210] Por exemplo, o aparelho de decodificação pode decodificar os bins para o elemento de sintaxe tu_mts_idx derivando cadeias de bins candidatos através do procedimento de binarização para o elemento de sintaxe tu_mts_idx, e analisando sequencialmente os bits para o elemento de sintaxe tu_mts_idx a partir do fluxo de bits. Nesse caso, o aparelho de decodificação pode decodificar os bins derivando o modelo de contexto para cada um dos bins. Pode ser determinado se os bins decodificados correspondem a uma das cadeias de bin candidatos. Quando os bins decodificados correspondem a uma das cadeias de bins candidatos, o aparelho de decodificação pode derivar um valor representado pela sequência de bins correspondente como o valor do elemento de sintaxe tu_mts_idx. Quando os bins decodificados não correspondem a uma das cadeias de bins candidatos, o aparelho de decodificação pode adicionalmente analisar o bit e repetir o procedimento anteriormente mencionado.
[0211] Conforme descrito acima, uma modalidade do presente documento pode determinar de forma diferente o ctxInc e/ou o ctxIdx com base em pelo menos um dentre o tamanho do bloco, a razão da largura para a altura do bloco, seja para realizar a intrapredição ou interpredição do bloco, seja para aplicar o salto de transformada ao vizinho, ou similares na codificação do elemento de sintaxe tu_mts_idx, e nesse caso, um modelo de contexto diferente pode ser aplicado de forma adaptativa ao bin do mesmo índice de bin (binIdx) sem sinalizar informações adicionais.
[0212] Por exemplo, a primeira informação de contexto pode ser derivada para o i-ésimo bin para um primeiro bloco dentro da gravura atual, e a segunda informação de contexto pode ser derivada para o mesmo i-ésimo bin para um segundo bloco dentro da gravura atual. Aqui, i pode corresponder a um índice de bin, e pode representar, por exemplo, um valor de 0 a 4 como ilustrado na Tabela 19 ou Tabela 22. Por exemplo, as informações de contexto podem incluir as informações sobre o índice de contexto ou o modelo de contexto.
[0213] Entretanto, por exemplo, pelo menos algumas informações de acordo com as modalidades anteriormente mencionadas do presente documento podem ser incluídas na sintaxe de alto nível, conforme ilustrado nas Tabelas 23 a 27. Alternativamente, pelo menos algumas das informações de acordo com as modalidades anteriormente mencionadas do presente documento podem ser sinalizadas sendo incluídas na sintaxe de alto nível. Alternativamente, pelo menos algumas das informações de acordo com as modalidades anteriormente mencionadas podem ser incluídas em uma sintaxe de conjunto de parâmetros de sequência (SPS). Alternativamente, pelo menos algumas das informações de acordo com as modalidades anteriormente mencionadas podem ser sinalizadas sendo incluídas na sintaxe SPS. Por exemplo, as Tabelas 23 a 27 podem representar consecutivamente uma sintaxe, e os elementos de sintaxe incluídos na sintaxe podem ser sequencialmente sinalizados, configurados ou analisados.
TABELA 23
Figure img0023
TABELA 24
Figure img0024
TABELA 25
Figure img0025
TABELA 26
Figure img0026
TABELA 27
Figure img0027
[0214] Por exemplo, como ilustrado nas Tabelas 23 a 27, as informações representadas pelos elementos de sintaxe incluídos na sintaxe SPS ou semântica dos elementos de sintaxe podem ser representadas como nas Tabelas 28 a 35.
Figure img0028
Figure img0029
Figure img0030
Figure img0031
Figure img0032
Figure img0033
Figure img0034
Figure img0035
Figure img0036
Figure img0037
Figure img0038
Figure img0039
Figure img0040
Figure img0041
Figure img0042
Figure img0043
Figure img0044
Figure img0045
Figure img0046
Figure img0047
[0215] Entretanto, por exemplo, pelo menos algumas informações de acordo com as modalidades anteriormente mencionadas do presente documento podem ser incluídas na sintaxe de alto nível, conforme ilustrado na Tabela 36 ou nas Tabelas 37 a 39. Alternativamente, pelo menos algumas das informações de acordo com as modalidades anteriormente mencionadas do presente documento podem ser sinalizadas sendo incluídas na sintaxe de alto nível. Alternativamente, pelo menos algumas das informações de acordo com as modalidades anteriormente mencionadas podem ser incluídas em uma sintaxe de conjunto de parâmetros de gravura (PPS). Alternativamente, pelo menos algumas das informações de acordo com as modalidades anteriormente mencionadas podem ser sinalizadas sendo incluídas na sintaxe PPS. Por exemplo, as Tabelas 37 a 39 podem representar consecutivamente uma sintaxe, e os elementos de sintaxe incluídos na sintaxe podem ser sequencialmente sinalizados, configurados ou analisados.
Figure img0048
TABELA 37
Figure img0049
TABELA 38
Figure img0050
TABELA 39
Figure img0051
[0216] Por exemplo, como ilustrado na Tabela 36 ou Tabelas 37 a 39, as informações representadas pelos elementos de sintaxe incluídos na sintaxe PPS ou semântica dos elementos de sintaxe podem ser representadas como nas Tabelas 40 a 42.
Figure img0052
Figure img0053
Figure img0054
Figure img0055
Figure img0056
Figure img0057
Figure img0058
Figure img0059
[0217] Entretanto, por exemplo, pelo menos algumas informações de acordo com as modalidades anteriormente mencionadas do presente documento podem ser incluídas em uma sintaxe de unidade de codificação, conforme ilustrado nas Tabelas 43 a 47. Alternativamente, pelo menos algumas das informações de acordo com as modalidades anteriormente mencionadas do presente documento podem ser sinalizadas sendo incluídas na sintaxe de unidade de codificação. Por exemplo, as Tabelas 43 a 47 podem representar consecutivamente uma sintaxe, e os elementos de sintaxe incluídos na sintaxe podem ser sequencialmente sinalizados, configurados ou analisados.
TABELA 43
Figure img0060
TABELA 44
Figure img0061
TABELA 45
Figure img0062
TABELA 46
Figure img0063
TABELA 47
Figure img0064
[0218] Por exemplo, como ilustrado nas Tabelas 43 a 47, as informações representadas pelos elementos de sintaxe incluídos na sintaxe de unidade de codificação ou semântica dos elementos de sintaxe podem ser representadas como nas Tabelas 48 a 51.
Figure img0065
Figure img0066
Figure img0067
Figure img0068
Figure img0069
Figure img0070
Figure img0071
Figure img0072
[0219] Entretanto, por exemplo, pelo menos algumas informações de acordo com as modalidades anteriormente mencionadas do presente documento podem ser incluídas em uma sintaxe de unidade de transformada, conforme ilustrado na Tabela 52 ou Tabelas 53 e 54. Alternativamente, pelo menos algumas das informações de acordo com as modalidades anteriormente mencionadas do presente documento podem ser sinalizadas sendo incluídas na sintaxe de unidade de transformada. Por exemplo, as Tabelas 53 e 54 podem representar consecutivamente uma sintaxe, e os elementos de sintaxe incluídos na sintaxe podem ser sequencialmente sinalizados, configurados ou analisados.
Figure img0073
TABELA 53
Figure img0074
TABELA 54
Figure img0075
[0220] Por exemplo, como ilustrado na Tabela 52 ou Tabelas 53 e 54, as informações representadas pelos elementos de sintaxe incluídos na sintaxe de unidade de transformada ou semântica dos elementos de sintaxe podem ser representadas como na Tabela 55.
TABELA 55
Figure img0076
Figure img0077
Figure img0078
[0221] Entretanto, por exemplo, pelo menos algumas informações de acordo com as modalidades anteriormente mencionadas do presente documento podem ser incluídas na sintaxe de codificação residual, conforme ilustrado nas Tabelas 6 a 9 descritas acima ou Tabelas 56 a 59. Alternativamente, pelo menos algumas das informações de acordo com as modalidades anteriormente mencionadas do presente documento podem ser sinalizadas sendo incluídas na sintaxe de unidade de transformada. Por exemplo, as Tabelas 6 a 9 ou Tabelas 56 a 59 podem representar consecutivamente uma sintaxe, e os elementos de sintaxe incluídos na sintaxe podem ser sequencialmente sinalizados, configurados ou analisados.
TABELA 56
Figure img0079
TABELA 57
Figure img0080
TABELA 58
Figure img0081
TABELA 59
Figure img0082
[0222] Por exemplo, como ilustrado nas Tabelas 6 a 9 ou Tabelas 56 a 59 descritas acima, as informações representadas pelos elementos de sintaxe incluídos na sintaxe de codificação residual ou semântica dos elementos de sintaxe podem ser representadas conforme descrito acima com as Tabelas 6 a 9.
[0223] Entretanto, por exemplo, uma modalidade do presente documento pode realizar um escalonamento ou procedimento de transformada com base em pelo menos alguns dos elementos de sintaxe ou sintaxe mencionados acima. Por exemplo, uma modalidade pode derivar as amostras residuais (ou matriz de amostras residuais) para as amostras do bloco atual (transformada), como ilustrado na Tabela 60.
Figure img0083
Figure img0084
Figure img0085
[0224] Entretanto, alternativamente, por exemplo, uma modalidade do presente documento pode realizar o procedimento de transformada para o coeficiente de transformada com base em pelo menos alguns dos elementos de sintaxe ou sintaxe supracitados. Por exemplo, uma modalidade pode derivar as amostras residuais (ou matriz de amostras residuais) com base nas informações sobre os coeficientes de transformada (escalonados) como ilustrado na Tabela 61.
Figure img0086
Figure img0087
[0225] Entretanto, por exemplo, em uma modalidade do presente documento, a binarização conforme ilustrado nas Tabelas 62 e 63 pode ser usada para pelo menos alguns dos elementos de sintaxe ou sintaxe supracitados. Alternativamente, uma modalidade pode codificar/decodificar pelo menos alguns dos elementos de sintaxe supracitados usando a binarização como ilustrado nas Tabelas 62 e 63.
TABELA 62
Figure img0088
TABELA 63
Figure img0089
[0226] Entretanto, por exemplo, uma modalidade do presente documento pode atribuir o incremento de índice de contexto (ctxInc) para derivar (ou representar) o índice de contexto (ctxIdx) como ilustrado nas Tabelas 64 e 65 em relação a pelo menos alguns elementos de sintaxe ou sintaxe supracitados.
TABELA 64
Figure img0090
TABELA 65
Figure img0091
[0227] As Figuras 13 e 14 ilustram esquematicamente um exemplo de um método de codificação de vídeo/imagem e componentes relacionados de acordo com uma modalidade (ou modalidades) do presente documento.
[0228] O método revelado na Figura 13 pode ser realizado pelo aparelho de codificação revelado na Figura 2. Especificamente, por exemplo, S1300 ilustrado na Figura 13 pode ser realizado pelo preditor 220 do aparelho de codificação na Figura 14, S1310 ilustrado na Figura 13 pode ser realizado pelo processador residual 230 do aparelho de codificação na Figura 14, e S1320 ilustrado na Figura 13 pode ser realizado pelo codificador de entropia 240 do aparelho de codificação na Figura 14. O método revelado na Figura 13 pode incluir as modalidades anteriormente mencionadas no presente documento.
[0229] Com referência à Figura 13, o aparelho de codificação pode derivar amostras de predição realizando a predição no bloco atual (S1300). Por exemplo, o aparelho de codificação pode derivar as amostras de predição realizando a predição no bloco atual, e pode derivar informações sobre um modo de predição que realiza a predição. Por exemplo, o modo de predição pode ser um modo de intrapredição ou um modo de interpredição. Por exemplo, quando o modelo de predição é o modo de intrapredição, o aparelho de codificação pode derivar as amostras de predição com base nas amostras ao redor do bloco atual. Alternativamente, quando o modelo de predição é o modo de interpredição, o aparelho de codificação pode derivar as amostras de predição com base em amostras de referência dentro de uma gravura de referência do bloco atual.
[0230] O aparelho de codificação pode derivar amostras residuais para o bloco atual (S1310). Por exemplo, o aparelho de codificação pode derivar as amostras residuais (ou blocos residuais) para o bloco atual com base nas amostras originais e nas amostras de predição (ou blocos previstos) para o bloco atual. Aqui, as amostras residuais podem também ser representadas por uma matriz de amostra residual. Alternativamente, por exemplo, embora não ilustrado na Figura 13, o aparelho de codificação pode gerar amostras de reconstrução do bloco atual com base nas amostras de predição e nas amostras residuais. Por exemplo, o aparelho de codificação pode também gerar as amostras de reconstrução (ou blocos reconstruídos) adicionando as amostras residuais (ou blocos residuais) às amostras de predição (ou blocos previstos).
[0231] O aparelho de codificação pode codificar informações de imagem que incluem informações de modo de predição sobre a predição e informações relacionadas residuais sobre as amostras residuais (S1320).
[0232] Por exemplo, o aparelho de codificação pode gerar informações de modo de predição com base no modo de predição, e as informações de imagem podem incluir as informações de modo de predição. Ou seja, quando o bloco atual realiza a predição através do modo de intrapredição, as informações de modo de predição podem incluir as informações sobre o modo de intrapredição, e quando o bloco atual realiza a predição através do modo de interpredição, as informações de modo de predição podem incluir as informações sobre o modo de interpredição.
[0233] Por exemplo, o aparelho de codificação pode gerar as informações relacionadas residuais incluindo as informações sobre as amostras residuais (ou matriz de amostra residual), e as informações de imagem podem incluir as informações relacionadas residuais. As informações relacionadas às amostras residuais ou as informações relacionadas residuais podem incluir as informações sobre os coeficientes de transformada relacionados às amostras residuais.
[0234] Por exemplo, as informações relacionadas residuais podem incluir informações de codificação residuais (ou sintaxe de codificação residual). Alternativamente, as informações relacionadas residuais podem incluir informações de unidade de transformada (ou sintaxe de unidade de transformada). Alternativamente, as informações relacionadas residuais também podem incluir as informações de codificação residuais e as informações de unidade de transformada.
[0235] Por exemplo, em que as informações relacionadas residuais podem incluir o sinalizador de salto de transformada com base em um tamanho do bloco atual e um tamanho máximo de salto de transformada. Alternativamente, a possibilidade de as informações relacionadas residuais incluírem o sinalizador de salto de transformada pode ser determinada com base no tamanho do bloco atual e no tamanho máximo de salto de transformada. Por exemplo, o sinalizador de salto de transformada pode representar se o salto de transformada é aplicado ao bloco atual. Alternativamente, o sinalizador de salto de transformada também pode ser representado pelo elemento de sintaxe transform_skip_flag. Por exemplo, quando o valor do elemento de sintaxe transform_skip_flag é 0, o salto de transformada pode ser aplicado ao bloco atual, e quando o valor do elemento de sintaxe transform_skip_flag é 1, o salto de transformada pode não ser aplicado ao bloco atual. Alternativamente, de acordo com a configuração, quando o valor do elemento de sintaxe transform_skip_flag é 1, o salto de transformada pode ser aplicado ao bloco atual, e quando o valor do elemento de sintaxe transform_skip_flag é 0, o salto de transformada pode não ser aplicado ao bloco atual.
[0236] Por exemplo, o tamanho do bloco atual pode representar a largura do bloco atual e/ou a altura do bloco atual. O tamanho máximo de salto de transformada pode representar o tamanho máximo do bloco em que o Salto de Transformada (TS) está habilitado. Alternativamente, o tamanho máximo de salto de transformada também pode ser representado por MaxTsSize. Por exemplo, quando a largura do bloco atual ou a altura do bloco atual é menor ou igual ao tamanho máximo de salto de transformada, as informações relacionadas residuais podem incluir o sinalizador de salto de transformada.
[0237] Por exemplo, as informações de imagem podem incluir informações sobre o tamanho máximo de salto de transformada. Alternativamente, as informações sobre o tamanho máximo de salto de transformada podem ser codificadas (entropia) sendo incluídas nas informações de imagem. Por exemplo, o tamanho de transformada máximo pode ser representado com base nas informações sobre o tamanho máximo de salto de transformada. Por exemplo, as informações sobre o tamanho máximo de salto de transformada podem estar incluídos na sintaxe de alto nível, e a sintaxe de alto nível pode ser codificada (entropia) sendo incluída nas informações de imagem. Por exemplo, a sintaxe de alto nível pode ser uma sintaxe de unidade de Camada de Abstração de Rede (NAL), uma sintaxe de Conjunto de Parâmetros de Sequência (SPS), uma sintaxe de Conjunto de Parâmetros de gravura (PPS) ou uma sintaxe de cabeçalho de fatia.
[0238] Alternativamente, por exemplo, as informações sobre o tamanho máximo de salto de transformada podem estar incluídas no SPS, e o tamanho de transformada máximo pode ser representado com base nas informações sobre o tamanho máximo de salto de transformada incluído no SPS. Alternativamente, por exemplo, as informações sobre o tamanho máximo de salto de transformada podem estar incluídas no PPS, e o tamanho de transformada máximo pode ser representado com base nas informações sobre o tamanho máximo de salto de transformada incluído no PPS. Aqui, o SPS ou o PPS pode representar a sintaxe SPS ou a sintaxe PPS, e outras sintaxes podem também ser usadas omitindo a sintaxe de termo.
[0239] Por exemplo, as informações sobre o tamanho máximo de salto de transformada podem incluir informações sobre um valor obtido pela soma de -2 a um valor logarítmico, e o valor logarítmico pode ser um valor logarítmico que tem uma base 2 para o tamanho máximo de salto de transformada. Ou seja, as informações sobre o tamanho máximo de salto de transformada podem representar informações sobre um valor obtido pela soma de -2 ao valor logarítmico que tem a base 2 do tamanho máximo de salto de transformada. Alternativamente, por exemplo, as informações sobre o tamanho máximo de salto de transformada também podem incluir as informações sobre o valor logarítmico (que tem a base 2) do tamanho máximo de salto de transformada.
[0240] Por exemplo, as informações sobre o tamanho máximo de salto de transformada podem incluir um elemento de sintaxe log2_transform_skip_max_size_minus2. Alternativamente, as informações sobre o tamanho máximo de salto de transformada podem representar o elemento de sintaxe log2_transform_skip_max_size_minus2. Por exemplo, o elemento de sintaxe log2_transform_skip_max_size_minus2 pode estar incluído na sintaxe de alto nível, na sintaxe SPS ou na sintaxe PPS.
[0241] Por exemplo, com referência à Tabela 41, o tamanho máximo de salto de transformada pode ser representado com base em MaxTsSize = 1 << (log2_transform_skip_max_size_minus2 + 2). Aqui, o MaxTsSize pode representar o tamanho máximo de salto de transformada, e o log2_transform_skip_max_size_minus2 pode representar o valor do elemento de sintaxe log2_transform_skip_max_size_minus2. Além disso, o << pode representar um operador de deslocamento aritmético. Ou seja, o elemento de sintaxe log2_transform_skip_max_szie_minus2 pode representar o MaxTsSize usando o MaxTsSize = 1 << (log2_transform_skip_max_size_minus2 + 2). Alternativamente, o elemento de sintaxe log2_transform_skip_max_szie_minus2 pode representar o valor do elemento de sintaxe log2_transform_skip_max_szie_minus2 de acordo com o MaxTsSize. Alternativamente, o elemento de sintaxe log2_transform_skip_max_szie_minus2 pode representar o valor do elemento de sintaxe log2_transform_skip_max_szie_minus2 correspondente ao MaxTsSize. Por exemplo, o valor do elemento de sintaxe log2_transform_skip_max_size_minus2 pode ser representado por um dos valores candidatos de 0 a 3, porém não se limita a isso. Alternativamente, o valor do elemento de sintaxe log2_transform_skip_max_size_minus2 pode ser representado por 0, 1, 2 ou 3, porém não se limita a isso.
[0242] Além disso, por exemplo, o tamanho máximo de salto de transformada pode ser representado por um dos tamanhos candidatos incluindo 4, 8, 16 ou 32. O tamanho máximo de salto de transformada pode ser representado com base no valor do elemento de sintaxe log2_transform_skip_max_size_minus2. Alternativamente, o tamanho máximo de salto de transformada pode ser representado por um dos tamanhos candidatos incluindo 4, 8, 16 ou 32 com base no valor do elemento de sintaxe log2_transform_skip_max_size_minus2. Por exemplo, quando o valor do elemento de sintaxe log2_transform_skip_max_size_minus2 é 0, o tamanho máximo de salto de transformada pode ser representado por 4 com base no 1 << (log2_transform_skip_max_size_minus2 + 2) supracitado. Alternativamente, quando o valor do elemento de sintaxe log2_transform_skip_max_size_minus2 é 1, o tamanho máximo de salto de transformada pode ser representado por 8 com base no 1 << (log2_transform_skip_max_size_minus2 + 2) supracitado. Alternativamente, quando o valor do elemento de sintaxe log2_transform_skip_max_size_minus2 é 2, o tamanho máximo de salto de transformada pode ser representado por 16 com base no 1 << (log2_transform_skip_max_size_minus2 + 2) supracitado. Alternativamente, quando o valor do elemento de sintaxe log2_transform_skip_max_size_minus2 é 3, o tamanho máximo de salto de transformada pode ser representado por 32 com base no 1 << (log2_transform_skip_max_size_minus2 + 2) supracitado.
[0243] Por exemplo, o fato de que o tamanho máximo de salto de transformada é N pode representar que todas dentre a largura e a altura têm os tamanhos que são menores ou iguais a N. Alternativamente, o fato de que o tamanho máximo de salto de transformada é N pode representar que um valor maior da largura e da altura tem o tamanho que é menor ou igual a N. Alternativamente, o fato de que o tamanho máximo de salto de transformada é N pode representar que um comprimento de um lado tem o tamanho que é menor ou igual a N no caso de um bloco quadrado.
[0244] Alternativamente, por exemplo, as informações sobre o tamanho máximo de salto de transformada também podem estar incluídas na sintaxe de alto nível, na sintaxe SPS ou na sintaxe PPS com base nas informações sobre se o salto de transformada está habilitado. Por exemplo, quando as informações sobre se o salto de transformada está habilitado representam as informações de que o salto de transformada está habilitado, as informações sobre o tamanho máximo de salto de transformada podem estar incluídas na sintaxe de alto nível, na sintaxe SPS ou na sintaxe PPS. Alternativamente, quando as informações sobre se o salto de transformada está habilitado representam informações de que o salto de transformada não está habilitado, as informações sobre o tamanho máximo de salto de transformada podem não estar incluídas na sintaxe de alto nível, na sintaxe SPS ou na sintaxe PPS.
[0245] Alternativamente, por exemplo, o tamanho máximo de salto de transformada também pode ser representado com base nas informações sobre se a Seleção de Transformada Múltipla (MTS) está habilitada. Alternativamente, o tamanho máximo de salto de transformada pode ser representado com base nas informações sobre se a MTS está habilitada e se o TS está habilitado.
[0246] Por exemplo, a sintaxe de alto nível pode incluir as informações sobre se a Seleção de Transformada Múltipla (MTS) está habilitada ou as informações sobre se o TS está habilitado. Alternativamente, as informações sobre se a MTS está habilitada ou as informações sobre se o TS está habilitado podem estar incluídas na sintaxe SPS ou na sintaxe PPS.
[0247] Por exemplo, as informações sobre se a MTS está habilitada podem ser representadas pelo elemento de sintaxe sps_mts_enabled_flag. Alternativamente, as informações sobre se a MTS está habilitada podem incluir o elemento de sintaxe sps_mts_intra_enabled_flag ou o elemento de sintaxe sps_mts_inter_enabled_flag. Por exemplo, o elemento de sintaxe sps_mts_intra_enabled_flag ou o elemento de sintaxe sps_mts_inter_enabled_flag pode estar incluído na sintaxe SPS com base no elemento de sintaxe sps_mts_enabled_flag. O elemento de sintaxe sps_mts_intra_enabled_flag pode ser representado pelo elemento de sintaxe sps_explicit_mts_intra_enabled_flag, e o elemento de sintaxe sps_mts_inter_enabled_flag pode ser representado pelo elemento de sintaxe sps_explicit_mts_inter_enabled_flag. Por exemplo, as informações sobre se a MTS está habilitada podem ser representadas pelas informações de MTS habilitada.
[0248] Por exemplo, quando as informações sobre se a MTS está habilitada representam informações de que a MTS está habilitada, pode ser representado que a MTS habilitada = 1 ou o valor do elemento de sintaxe sps_mts_enabled_flag é 1. Alternativamente, pode ser representado que o valor do elemento de sintaxe sps_mts_enabled_flag é 1, e o valor do elemento de sintaxe sps_explicit_mts_intra_enabled_flag ou o elemento de sintaxe sps_explicit_mts_inter_enabled_flag é 1. Alternativamente, quando as informações sobre se a MTS está habilitada representam informações que a MTS não está habilitada, pode ser representado que a MTS habilitada = 0 ou o valor do elemento de sintaxe sps_mts_enabled_flag é 0. Alternativamente, pode ser representado que o valor do elemento de sintaxe sps_mts_enabled_flag é 1, e o valor do elemento de sintaxe sps_explicit_mts_intra_enabled_flag ou o elemento de sintaxe sps_explicit_mts_inter_enabled_flag é 0. Por exemplo, de acordo com a configuração, o valor também pode representar as informações correspondentes ao valor inversamente.
[0249] Por exemplo, as informações sobre se o TS está habilitado podem ser representadas pelas informações de TS habilitado ou o elemento de sintaxe sps_transform_skip_enabled_flag. Por exemplo, as informações sobre se a TS está habilitada podem ser representadas pelas informações de TS habilitada.
[0250] Por exemplo, quando as informações sobre se a TS está habilitada representam informações que a TS está habilitada, pode ser representado que a TS habilitada = 1 ou o valor do elemento de sintaxe sps_transform_skip_enabled_flag é 1. Alternativamente, quando as informações sobre se a TS está habilitada representam informações que a TS não está habilitada, pode ser representado que a TS habilitada = 0 ou o valor do elemento de sintaxe sps_transform_skip_enabled_flag é 0. Por exemplo, de acordo com a configuração, o valor pode representar as informações correspondentes ao valor inversamente.
[0251] Por exemplo, o tamanho máximo de salto de transformada pode ser representado por um dos tamanhos candidatos incluindo 8, 16 e 32 com base na sintaxe de alto nível. Por exemplo, os tamanhos candidatos podem incluir, também, 4. Alternativamente, por exemplo, o tamanho de salto de transformada pode ser derivado com base nas informações sobre se a MTS está habilitada. Alternativamente, por exemplo, o tamanho máximo de salto de transformada pode ser representado por um dos tamanhos candidatos incluindo 8, 16 ou 32 com base nas informações sobre se a MTS está habilitada. Alternativamente, o tamanho de salto de transformada pode ser representado com base nas informações sobre se a MTS incluída na sintaxe de alto nível está habilitada. Alternativamente, por exemplo, as informações sobre o tamanho de salto de transformada podem estar incluídas na sintaxe de alto nível, e o tamanho de salto de transformada pode ser representado com base nas informações sobre o tamanho de salto de transformada. Aqui, as informações sobre o tamanho de salto de transformada também podem incluir as informações sobre se a MTS está habilitada como as informações capazes de derivar o tamanho de salto de transformada.
[0252] Por exemplo, com base nas informações sobre se a MTS está habilitada, isso representa as informações que a MTS está habilitada, o tamanho máximo de salto de transformada pode ser determinado com base no tamanho da MTS. Ou seja, quando as informações sobre se a MTS está habilitada representam as informações que a MTS está habilitada, o tamanho máximo de salto de transformada pode ser determinado com base no tamanho da MTS. Ou seja, o tamanho máximo de salto de transformada pode ser dependente da MTS. O tamanho da MTS pode representar o tamanho máximo do bloco em que a MTS está habilitada. Por exemplo, quando o tamanho da MTS é 32 ou menos, o salto de transformada também pode ser habilitado para o bloco que tem o tamanho de 32 ou menos.
[0253] Alternativamente, por exemplo, com base nas informações sobre se a MTS está habilitada, isso representa as informações que a MTS está habilitada, o tamanho máximo de salto de transformada pode ser determinado como um tamanho predefinido. Ou seja, quando as informações sobre se a MTS está habilitada representam as informações que a MTS está habilitada, o tamanho máximo de salto de transformada pode ser determinado como o tamanho predefinido. Por exemplo, quando o tamanho predefinido é 8, o tamanho máximo de salto de transformada pode ser determinado como o tamanho predefinido, 8.
[0254] Alternativamente, por exemplo, com base nas informações sobre se a MTS está habilitada, isso representa as informações que a MTS está habilitada, a sintaxe de alto nível pode incluir as informações sobre o tamanho máximo de salto de transformada, e o tamanho máximo de salto de transformada pode ser representado com base nas informações sobre o tamanho máximo de salto de transformada. Ou seja, quando as informações sobre se a MTS está habilitada representam as informações que a MTS está habilitada, a sintaxe de alto nível pode incluir separadamente as informações sobre o tamanho máximo de salto de transformada, e o tamanho máximo de salto de transformada pode ser representado com base nas informações sobre o tamanho máximo de salto de transformada. Alternativamente, por exemplo, quando as informações sobre se a MTS está habilitada representam as informações que a MTS está habilitada, a sintaxe de alto nível pode incluir as informações sobre se o tamanho máximo de salto de transformada é representado com base no tamanho da MTS. Quando as informações sobre se o tamanho máximo de salto de transformada é representado com base no tamanho da MTS representam as informações de que o tamanho máximo de salto de transformada é representado com base no tamanho da MTS, a sintaxe de alto nível pode incluir as informações sobre o tamanho máximo de salto de transformada. As informações sobre o tamanho máximo de salto de transformada podem estar incluídas na sintaxe SPS ou na sintaxe PPS. Por exemplo, quando as informações sobre o tamanho máximo de salto de transformada incluídas na sintaxe de alto nível representam as informações sobre 32, o tamanho máximo de salto de transformada pode ser representado por 32 com base nas informações sobre o tamanho máximo de salto de transformada. Alternativamente, quando o tamanho máximo de salto de transformada é determinado como 32, as informações sobre o tamanho máximo de salto de transformada incluído na sintaxe de alto nível podem ser representadas pelas informações sobre 32.
[0255] Alternativamente, por exemplo, com base nas informações sobre se a MTS está habilitada, isso representa as informações de que a MTS não está habilitada, o tamanho máximo de salto de transformada pode ser determinado com o tamanho predefinido. Ou seja, quando as informações sobre se a MTS está habilitada representam as informações que a MTS não está habilitada, o tamanho máximo de salto de transformada pode ser determinado como o tamanho predefinido. Por exemplo, quando o tamanho predefinido é 8, o tamanho máximo de salto de transformada pode ser determinado como o tamanho predefinido, 8.
[0256] Alternativamente, por exemplo, com base nas informações sobre se a MTS está habilitada, isso representa as informações que a MTS não está habilitada, a sintaxe de alto nível pode incluir as informações sobre o tamanho máximo de salto de transformada, e o tamanho máximo de salto de transformada pode ser representado com base nas informações sobre o tamanho máximo de salto de transformada. Ou seja, quando as informações sobre se a MTS está habilitada representam as informações que a MTS não está habilitada, a sintaxe de alto nível pode incluir separadamente as informações sobre o tamanho máximo de salto de transformada, e o tamanho máximo de salto de transformada pode ser representado com base nas informações sobre o tamanho máximo de salto de transformada. As informações sobre o tamanho máximo de salto de transformada podem estar incluídas na sintaxe SPS ou na sintaxe PPS. Por exemplo, quando as informações sobre o tamanho máximo de salto de transformada incluídas na sintaxe de alto nível representam as informações sobre 32, o tamanho máximo de salto de transformada pode ser representado por 32 com base nas informações sobre o tamanho máximo de salto de transformada. Alternativamente, quando o tamanho máximo de salto de transformada é determinado como 32, as informações sobre o tamanho máximo de salto de transformada incluído na sintaxe de alto nível podem ser representadas pelas informações sobre 32.
[0257] Por exemplo, as informações relacionadas residuais podem incluir as informações de índice de MTS sobre o tipo de transformada aplicado ao bloco atual. Por exemplo, as informações de índice de MTS podem ser representadas pelo elemento de sintaxe tu_mts_idx ou o elemento de sintaxe mts_idx. Por exemplo, as informações de índice de MTS podem estar incluídas na sintaxe de unidade de transformada ou na sintaxe de unidade de codificação. Por exemplo, as informações de índice de MTS podem representar as informações sobre o tipo de transformada ou o salto de transformada aplicado ao bloco atual. Alternativamente, as informações de índice de MTS podem representar as informações sobre o tipo de transformada ou o salto de transformada aplicado ao bloco atual com base nas informações sobre se a MTS está habilitada e/ou as informações sobre se o salto de transformada está habilitado.
[0258] Por exemplo, as informações representadas pelas informações de índice de MTS podem ser representadas com base no bin da cadeia de bins nas informações de índice de MTS. Alternativamente, as informações representadas pelas informações de índice de MTS podem ser representadas com base no valor do índice de contexto do bin. Alternativamente, as informações representadas pelas informações de índice de MTS podem ser representadas com base no valor de índice de contexto do primeiro bin da cadeia de bins. Por exemplo, o índice de contexto (ctxIdx) pode ser representado com base no incremento de índice de contexto (ctxInc) e no deslocamento de índice de contexto (ctxIdxOffset).
[0259] Por exemplo, o valor do índice de contexto do primeiro bin para as informações de índice de MTS pode ser representado com base nas informações sobre se a MTS está habilitada, nas informações sobre se o salto de transformada está habilitado e no tamanho do bloco atual. Por exemplo, o valor do índice de contexto do primeiro bin para as informações de índice de MTS pode ser representado com base na Tabela 19 ou Tabela 22.
[0260] Por exemplo, com base nas informações sobre se a MTS está habilitada, que representa as informações que a MTS está habilitada e as informações sobre se o salto de transformada está habilitado, que representa que o salto de transformada está habilitado, o valor do índice de contexto pode ser representado comparando-se a largura do bloco atual com a altura do bloco atual. Ou seja, quando as informações sobre se a MTS está habilitada representam as informações que a MTS está habilitada e as informações sobre se o TS está habilitado representam as informações de que o TS está habilitado, o valor do índice de contexto pode ser representado comparando-se a largura do bloco atual com a altura do bloco atual. Alternativamente, quando a largura do bloco atual e a altura do bloco atual são iguais, o valor do índice de contexto pode ser representado por 0.
Alternativamente, quando a largura do bloco atual é maior que a altura do bloco atual, o valor do índice de contexto pode ser representado por 1, e quando a largura do bloco atual é menor que a altura do bloco atual, o valor do índice de contexto pode ser representado por 2.
[0261] Alternativamente, por exemplo, com base nas informações sobre se a MTS está habilitada, que representam as informações de que a MTS está habilitada, e a profundidade de árvore quaternária codificada (cqtDepth), o valor do índice de contexto pode ser representado. Ou seja, quando as informações sobre se a MTS está habilitada representam as informações que a MTS está habilitada, o valor do índice de contexto pode ser representado com base na cqtDepth. Por exemplo, o valor do índice de contexto pode ser representado por um valor obtido pela adição de 1 ao valor da cqtDepth, e pode ser representado por 1, 2, 3, 4, 5 ou 6.
[0262] Alternativamente, por exemplo, com base nas informações sobre se o salto de transformada está habilitado, que representam as informações de que o salto de transformada está habilitado, o valor do índice de contexto pode ser representado comparando-se a largura do bloco atual com a altura do bloco atual. Ou seja, quando as informações sobre se o TS está habilitado representam as informações de que o TS está habilitado, o valor do índice de contexto pode ser representado comparando-se a largura do bloco atual com a altura do bloco atual. Alternativamente, quando a largura do bloco atual e a altura do bloco atual são iguais, o valor do índice de contexto pode ser representado por 0. Alternativamente, quando a largura do bloco atual é maior que a altura do bloco atual, o valor do índice de contexto pode ser representado por 1, e quando a largura do bloco atual é menor que a altura do bloco atual, o valor do índice de contexto pode ser representado por 2.
[0263] Alternativamente, por exemplo, o valor do índice de contexto pode representar o ctxInc e/ou o ctxIdx com base em pelo menos um dentre o tamanho do bloco, a razão da largura para a altura do bloco, seja para realizar a intrapredição ou interpredição do bloco, seja para aplicar o salto de transformada ao vizinho, ou similares. Alternativamente, um modelo de contexto com base em pelo menos um dentre o tamanho do bloco, a razão da largura para a altura do bloco, seja para realizar a intrapredição ou interpredição do bloco, seja para aplicar o salto de transformada ao vizinho, ou similares pode ser definido, e o valor do índice de contexto pode ser representado com base no modelo de contexto. Por exemplo, as informações sobre o tipo de transformada ou o salto de transformada para o bloco atual podem ser obtidas com base no índice de contexto ou no modelo de contexto.
[0264] Por exemplo, as informações relacionadas residuais podem ou não incluir o sinalizador de salto de transformada, conforme descrito acima. Por exemplo, quando as informações relacionadas residuais incluem o sinalizador de salto de transformada, as amostras residuais do bloco atual podem representar aquelas que são derivadas sem a transformada, e o sinal residual (ou informações relacionadas residuais) para o bloco atual pode ser sinalizado no domínio de pixel (domínio espacial) sem a transformada. Alternativamente, quando as informações relacionadas residuais não incluem o sinalizador de salto de transformada, as amostras residuais do bloco atual podem representar aquelas que são transformadas e derivadas, e o sinal residual (ou informações relacionadas residuais) para o bloco atual pode ser transformado e sinalizado no domínio de transformada.
[0265] O aparelho de codificação pode gerar um fluxo de bits codificando-se informações de imagem que incluem todas ou algumas informações supracitadas (ou elementos de sintaxe). Alternativamente, o aparelho de codificação pode emitir as informações codificadas sob a forma do fluxo de bits. Além disso, o fluxo de bits pode ser transmitido ao aparelho de decodificação através de uma rede ou um meio de armazenamento. Alternativamente, o fluxo de bits pode ser armazenado em um meio de armazenamento legível por computador. Por exemplo, o fluxo de bits também pode ser representado por informações de imagem ou informações de vídeo.
[0266] As Figuras 15 e 16 ilustram esquematicamente um exemplo de um método de decodificação de vídeo/imagem e componentes relacionados de acordo com uma modalidade (ou modalidades) do presente documento.
[0267] As Figuras 15 e 16 ilustram esquematicamente um exemplo de um método de decodificação de vídeo/imagem e componentes relacionados de acordo com uma modalidade (ou modalidades) do presente documento. O método revelado na Figura 15 pode ser realizado pelo aparelho de decodificação revelado na Figura 3. Especificamente, por exemplo, S1500 ilustrado na Figura 15 pode ser realizado pelo decodificador de entropia 310 do aparelho de decodificação na Figura 16, S1510 ilustrado na Figura 15 pode ser realizado pelo preditor 330 do aparelho de decodificação na Figura 16, S1520 ilustrado na Figura 15 pode ser realizado pelo processador residual 320 do aparelho de decodificação na Figura 16, e S1530 ilustrado na Figura 15 pode ser realizado pelo somador 340 do aparelho de decodificação na Figura 16. O método revelado na Figura 15 pode incluir as modalidades anteriormente mencionadas no presente documento.
[0268] Com referência à Figura 15, o aparelho de decodificação pode obter informações de modo de predição e informações relacionadas residuais do fluxo de bits (S1500). Alternativamente, o aparelho de decodificação pode obter as informações de modo de predição ou as informações relacionadas residuais por decodificação (entropia) do fluxo de bits.
[0269] Por exemplo, as informações de modo de predição podem incluir informações sobre o modo de predição do bloco atual. Alternativamente, as informações de modo de predição podem incluir informações sobre o modo de intrapredição ou o modo de interpredição.
[0270] Por exemplo, as informações relacionadas residuais podem incluir informações de codificação residuais (ou sintaxe de codificação residual). Alternativamente, as informações relacionadas residuais podem incluir informações de unidade de transformada (ou sintaxe de unidade de transformada). Alternativamente, as informações relacionadas residuais também podem incluir as informações de codificação residuais e as informações de unidade de transformada.
[0271] Por exemplo, as informações relacionadas residuais podem incluir o sinalizador de salto de transformada com base no tamanho do bloco atual e no tamanho máximo de salto de transformada. Alternativamente, a possibilidade de as informações relacionadas residuais incluírem um sinalizador de salto de transformada pode ser determinada com base no tamanho do bloco atual e no tamanho máximo de salto de transformada. Por exemplo, o sinalizador de salto de transformada pode representar se o salto de transformada é aplicado ao bloco atual. Alternativamente, o sinalizador de salto de transformada pode ser representado por um elemento de sintaxe transform_skip_flag. Por exemplo, quando o valor do elemento de sintaxe transform_skip_flag é 0, o salto de transformada pode ser aplicado ao bloco atual, e quando o valor do elemento de sintaxe transform_skip_flag é 1, o salto de transformada pode não ser aplicado ao bloco atual. Alternativamente, de acordo com a configuração, quando o valor do elemento de sintaxe transform_skip_flag é 1, o salto de transformada pode ser aplicado ao bloco atual, e quando o valor do elemento de sintaxe transform_skip_flag é 0, o salto de transformada pode não ser aplicado ao bloco atual.
[0272] Por exemplo, o tamanho do bloco atual pode representar a largura do bloco atual e/ou a altura do bloco atual. O tamanho máximo de salto de transformada pode representar o tamanho máximo do bloco em que o Salto de Transformada (TS) está habilitado. Alternativamente, o tamanho máximo de salto de transformada também pode ser representado por MaxTsSize. Por exemplo, quando a largura do bloco atual ou a altura do bloco atual é menor ou igual ao tamanho máximo de salto de transformada, as informações relacionadas residuais podem incluir o sinalizador de salto de transformada.
[0273] Por exemplo, as informações sobre o tamanho máximo de salto de transformada podem ser obtidas a partir do fluxo de bits. Alternativamente, as informações sobre o tamanho máximo de salto de transformada podem ser obtidas por decodificação (entropia) do fluxo de bits. Por exemplo, o tamanho de transformada máximo pode ser derivado com base nas informações sobre o tamanho máximo de salto de transformada. Por exemplo, as informações sobre o tamanho máximo de salto de transformada podem estar incluídos na sintaxe de alto nível, e a sintaxe de alto nível pode ser obtida a partir do fluxo de bits. Alternativamente, a sintaxe de alto nível pode ser obtida por decodificação (entropia) do fluxo de bits. Por exemplo, a sintaxe de alto nível pode ser uma sintaxe de unidade de Camada de Abstração de Rede (NAL), uma sintaxe de Conjunto de Parâmetros de Sequência (SPS), uma sintaxe de Conjunto de Parâmetros de gravura (PPS) ou uma sintaxe de cabeçalho de fatia.
[0274] Alternativamente, por exemplo, as informações sobre o tamanho máximo de salto de transformada podem estar incluídas no SPS, e o tamanho de transformada máximo pode ser derivado com base nas informações sobre o tamanho máximo de salto de transformada incluído no SPS. Alternativamente, por exemplo, as informações sobre o tamanho máximo de salto de transformada podem estar incluídas no PPS, e o tamanho de transformada máximo pode ser derivado com base nas informações sobre o tamanho máximo de salto de transformada incluído no PPS. Aqui, o SPS ou o PPS pode representar a sintaxe SPS ou a sintaxe PPS, e outras sintaxes podem também ser usadas omitindo a sintaxe de termo.
[0275] Por exemplo, as informações sobre o tamanho máximo de salto de transformada podem incluir informações sobre um valor obtido pela soma de -2 a um valor logarítmico, e o valor logarítmico pode ser um valor logarítmico que tem uma base 2 para o tamanho máximo de salto de transformada. Ou seja, as informações sobre o tamanho máximo de salto de transformada podem representar as informações sobre o valor obtido pela soma de -2 ao valor logarítmico que tem a base 2 do tamanho máximo de salto de transformada. Alternativamente, por exemplo, as informações sobre o tamanho máximo de salto de transformada também podem incluir as informações sobre o valor logarítmico (que tem a base 2) do tamanho máximo de salto de transformada.
[0276] Por exemplo, as informações sobre o tamanho máximo de salto de transformada podem incluir o elemento de sintaxe log2_transform_skip_max_size_minus2. Alternativamente, as informações sobre o tamanho máximo de salto de transformada podem representar o elemento de sintaxe log2_transform_skip_max_size_minus2. Por exemplo, o elemento de sintaxe log2_transform_skip_max_size_minus2 pode estar incluído na sintaxe de alto nível, na sintaxe SPS ou na sintaxe PPS.
[0277] Por exemplo, com referência à Tabela 41, o tamanho máximo de salto de transformada pode ser derivado com base em MaxTsSize = 1 << (log2_transform_skip_max_size_minus2 + 2). Aqui, o MaxTsSize pode representar o tamanho máximo de salto de transformada, e o log2_transform_skip_max_size_minus2 pode representar o valor do elemento de sintaxe log2_transform_skip_max_size_minus2. Além disso, o << pode representar um operador de deslocamento aritmético. Por exemplo, o valor do elemento de sintaxe log2_transform_skip_max_size_minus2 pode ser representado por um dos valores candidatos de 0 a 3, porém não se limita a isso. Alternativamente, o valor do elemento de sintaxe log2_transform_skip_max_size_minus2 pode ser derivado como 0, 1, 2 ou 3, porém não se limita a isso.
[0278] Além disso, por exemplo, o tamanho máximo de salto de transformada pode ser derivado como um dos tamanhos candidatos incluindo 4, 8, 16 ou 32. O tamanho máximo de salto de transformada pode ser derivado com base no valor do elemento de sintaxe log2_transform_skip_max_size_minus2. Alternativamente, o tamanho máximo de salto de transformada pode ser derivado como um dos tamanhos candidatos incluindo 4, 8, 16 ou 32 com base no valor do elemento de sintaxe log2_transform_skip_max_size_minus2. Por exemplo, quando o valor do elemento de sintaxe log2_transform_skip_max_size_minus2 é 0, o tamanho máximo de salto de transformada pode ser derivado como 4 com base no 1 << (log2_transform_skip_max_size_minus2 + 2) supracitado. Alternativamente, quando o valor do elemento de sintaxe log2_transform_skip_max_size_minus2 é 1, o tamanho máximo de salto de transformada pode ser derivado como 8 com base no 1 << (log2_transform_skip_max_size_minus2 + 2) supracitado. Alternativamente, quando o valor do elemento de sintaxe log2_transform_skip_max_size_minus2 é 2, o tamanho máximo de salto de transformada pode ser derivado como 16 com base no 1 << (log2_transform_skip_max_size_minus2 + 2) supracitado. Alternativamente, quando o valor do elemento de sintaxe log2_transform_skip_max_size_minus2 é 3, o tamanho máximo de salto de transformada pode ser derivado como 32 com base no 1 << (log2_transform_skip_max_size_minus2 + 2) supracitado.
[0279] Por exemplo, o fato de que o tamanho máximo de salto de transformada é N pode representar que todas dentre a largura e a altura têm os tamanhos que são menores ou iguais a N. Alternativamente, o fato de que o tamanho máximo de salto de transformada é N pode representar que um valor maior da largura e da altura tem o tamanho que é menor ou igual a N. Alternativamente, o fato de que o tamanho máximo de salto de transformada é N pode representar que um comprimento de um lado tem o tamanho que é menor ou igual a N no caso de um bloco quadrado.
[0280] Alternativamente, por exemplo, as informações sobre o tamanho máximo de salto de transformada também podem estar incluídas na sintaxe de alto nível, na sintaxe SPS ou na sintaxe PPS com base nas informações sobre se o salto de transformada está habilitado. Por exemplo, quando as informações sobre se o salto de transformada está habilitado representam as informações de que o salto de transformada está habilitado, as informações sobre o tamanho máximo de salto de transformada podem estar incluídas na sintaxe de alto nível, na sintaxe SPS ou na sintaxe PPS. Alternativamente, quando as informações sobre se o salto de transformada está habilitado representam as informações de que o salto de transformada não está habilitado, as informações sobre o tamanho máximo de salto de transformada podem não estar incluídas na sintaxe de alto nível, na sintaxe SPS ou na sintaxe PPS.
[0281] Alternativamente, por exemplo, o tamanho máximo de salto de transformada também pode ser derivado com base nas informações sobre se uma Seleção de Transformada Múltipla (MTS) está habilitada. Alternativamente, o tamanho máximo de salto de transformada pode ser derivado com base nas informações sobre se a MTS está habilitada e as informações sobre se o TS está habilitado.
[0282] Por exemplo, a sintaxe de alto nível pode incluir as informações sobre se a Seleção de Transformada Múltipla (MTS) está habilitada ou as informações sobre se o TS está habilitado. Alternativamente, as informações sobre se a MTS está habilitada ou as informações sobre se o TS está habilitado podem estar incluídas na sintaxe SPS ou na sintaxe PPS.
[0283] Por exemplo, as informações sobre se a MTS está habilitada podem ser representadas pelo elemento de sintaxe sps_mts_enabled_flag. Alternativamente, as informações sobre se a MTS está habilitada podem incluir o elemento de sintaxe sps_mts_intra_enabled_flag ou o elemento de sintaxe sps_mts_inter_enabled_flag. Por exemplo, o elemento de sintaxe sps_mts_intra_enabled_flag ou o elemento de sintaxe sps_mts_inter_enabled_flag pode estar incluído na sintaxe SPS com base no elemento de sintaxe sps_mts_enabled_flag. O elemento de sintaxe sps_mts_intra_enabled_flag pode ser representado pelo elemento de sintaxe sps_explicit_mts_intra_enabled_flag, e o elemento de sintaxe sps_mts_inter_enabled_flag pode ser representado pelo elemento de sintaxe sps_explicit_mts_inter_enabled_flag. Por exemplo, as informações sobre se a MTS está habilitada podem ser representadas pelas informações de MTS habilitada.
[0284] Por exemplo, quando as informações sobre se a MTS está habilitada representam as informações de que a MTS está habilitada, pode ser representado que a MTS habilitada = 1 ou o valor do elemento de sintaxe sps_mts_enabled_flag é 1. Alternativamente, pode ser representado que o valor do elemento de sintaxe sps_mts_enabled_flag é 1, e o valor do elemento de sintaxe sps_explicit_mts_intra_enabled_flag ou o elemento de sintaxe sps_explicit_mts_inter_enabled_flag é 1. Alternativamente, quando as informações sobre se a MTS está habilitada representam as informações de que a MTS não está habilitada, pode ser representado que a MTS habilitada = 0 ou o valor do elemento de sintaxe sps_mts_enabled_flag é 0. Alternativamente, pode ser representado que o valor do elemento de sintaxe sps_mts_enabled_flag é 1, e o valor do elemento de sintaxe sps_explicit_mts_intra_enabled_flag ou o elemento de sintaxe sps_explicit_mts_inter_enabled_flag é 0. Por exemplo, de acordo com a configuração, o valor também pode representar informações correspondentes ao valor inversamente.
[0285] Por exemplo, as informações sobre se o TS está habilitado podem ser representadas pelas informações de TS habilitado ou o elemento de sintaxe sps_transform_skip_enabled_flag. Por exemplo, as informações sobre se a TS está habilitada podem ser representadas pelas informações de TS habilitada.
[0286] Por exemplo, quando as informações sobre se a TS está habilitada representam as informações de que a TS está habilitada, pode ser representado que a TS habilitada = 1 ou o valor do elemento de sintaxe sps_transform_skip_enabled_flag é 1. Alternativamente, quando as informações sobre se a TS está habilitada representam as informações de que a TS não está habilitada, pode ser representado que a TS habilitada = 0 ou o valor do elemento de sintaxe sps_transform_skip_enabled_flag é 0. Por exemplo, de acordo com a configuração, o valor também pode representar informações correspondentes ao valor inversamente.
[0287] Por exemplo, com base nas informações sobre se a MTS está habilitada, isso representa as informações que a MTS está habilitada, o tamanho máximo de salto de transformada pode ser derivado com base no tamanho da MTS. Ou seja, quando as informações sobre se a MTS está habilitada representam as informações que a MTS está habilitada, o tamanho máximo de salto de transformada pode ser derivado com base no tamanho da MTS. Ou seja, o tamanho máximo de salto de transformada pode ser dependente da MTS. O tamanho da MTS pode representar o tamanho máximo do bloco em que a MTS está habilitada. Por exemplo, quando o tamanho da MTS é 32 ou menos, o salto de transformada também pode ser habilitado para o bloco que tem o tamanho de 32 ou menos.
[0288] Alternativamente, por exemplo, com base nas informações sobre se a MTS está habilitada, isso representa as informações que a MTS está habilitada, o tamanho máximo de salto de transformada pode ser derivado como um tamanho predefinido. Ou seja, quando as informações sobre se a MTS está habilitada representam as informações que a MTS está habilitada, o tamanho máximo de salto de transformada pode ser derivado como o tamanho predefinido. Por exemplo, quando o tamanho predefinido é 8, o tamanho máximo de salto de transformada pode ser derivado como o tamanho predefinido, 8.
[0289] Alternativamente, por exemplo, com base nas informações sobre se a MTS está habilitada, isso representa as informações que a MTS está habilitada, a sintaxe de alto nível pode incluir as informações sobre o tamanho máximo de salto de transformada, e o tamanho máximo de salto de transformada pode ser derivado com base nas informações sobre o tamanho máximo de salto de transformada. Ou seja, quando as informações sobre se a MTS está habilitada representam as informações que a MTS está habilitada, a sintaxe de alto nível pode incluir separadamente as informações sobre o tamanho máximo de salto de transformada, e o tamanho máximo de salto de transformada pode ser derivado com base nas informações sobre o tamanho máximo de salto de transformada. Alternativamente, por exemplo, quando as informações sobre se a MTS está habilitada representam as informações que a MTS está habilitada, a sintaxe de alto nível pode incluir as informações sobre se o tamanho máximo de salto de transformada é derivado com base no tamanho da MTS. Quando as informações sobre se o tamanho máximo de salto de transformada é derivado com base no tamanho da MTS representam as informações de que o tamanho máximo de salto de transformada é derivado com base no tamanho da MTS, a sintaxe de alto nível pode incluir as informações sobre o tamanho máximo de salto de transformada. As informações sobre o tamanho máximo de salto de transformada podem estar incluídas na sintaxe SPS ou na sintaxe PPS. Por exemplo, quando as informações sobre o tamanho máximo de salto de transformada incluídas na sintaxe de alto nível representam 32, o tamanho máximo de salto de transformada pode ser derivado como 32 com base nas informações sobre o tamanho máximo de salto de transformada.
[0290] Alternativamente, por exemplo, com base nas informações sobre se a MTS está habilitada, isso representa as informações que a MTS não está habilitada, o tamanho máximo de salto de transformada pode ser derivado como um tamanho predefinido. Ou seja, quando as informações sobre se a MTS está habilitada representam as informações que a MTS não está habilitada, o tamanho máximo de salto de transformada pode ser derivado como o tamanho predefinido. Por exemplo, quando o tamanho predefinido é 8, o tamanho máximo de salto de transformada pode ser derivado como o tamanho predefinido, 8.
[0291] Alternativamente, por exemplo, com base nas informações sobre se a MTS está habilitada, isso representa as informações que a MTS não está habilitada, a sintaxe de alto nível pode incluir as informações sobre o tamanho máximo de salto de transformada, e o tamanho máximo de salto de transformada pode ser derivado com base nas informações sobre o tamanho máximo de salto de transformada. Ou seja, quando as informações sobre se a MTS está habilitada representam as informações que a MTS não está habilitada, a sintaxe de alto nível pode incluir separadamente as informações sobre o tamanho máximo de salto de transformada, e o tamanho máximo de salto de transformada pode ser derivado com base nas informações sobre o tamanho máximo de salto de transformada. As informações sobre o tamanho máximo de salto de transformada podem estar incluídas na sintaxe SPS ou na sintaxe PPS. Por exemplo, quando as informações sobre o tamanho máximo de salto de transformada incluídas na sintaxe de alto nível representam 32, o tamanho máximo de salto de transformada pode ser derivado como 32 com base nas informações sobre o tamanho máximo de salto de transformada.
[0292] Por exemplo, as informações relacionadas residuais podem incluir as informações de índice de MTS sobre o tipo de transformada aplicado ao bloco atual. Por exemplo, as informações de índice de MTS podem ser representadas pelo elemento de sintaxe tu_mts_idx ou o elemento de sintaxe mts_idx. Por exemplo, as informações de índice de MTS podem estar incluídas na sintaxe de unidade de transformada ou na sintaxe de unidade de codificação. Por exemplo, as informações de índice de MTS podem representar as informações sobre o tipo de transformada ou o salto de transformada aplicado ao bloco atual. Alternativamente, as informações de índice de MTS podem representar as informações sobre o tipo de transformada ou o salto de transformada aplicado ao bloco atual com base nas informações sobre se a MTS está habilitada e/ou as informações sobre se o salto de transformada está habilitado.
[0293] Por exemplo, as informações representadas pelas informações de índice de MTS podem ser derivadas com base no bin da cadeia de bins para as informações de índice de MTS. Alternativamente, as informações representadas pelas informações de índice de MTS podem ser derivadas com base no valor do índice de contexto do bin. Alternativamente, as informações representadas pelas informações de índice de MTS podem ser derivadas com base no valor do índice de contexto do primeiro bin da cadeia de bins. Por exemplo, o índice de contexto (ctxIdx) pode ser derivado com base no incremento de índice de contexto (ctxInc) e no deslocamento de índice de contexto (ctxIdxOffset).
[0294] Por exemplo, o valor do índice de contexto do primeiro bin para as informações de índice de MTS pode ser derivado com base nas informações sobre se a MTS está habilitada, nas informações sobre se o salto de transformada está habilitado e no tamanho do bloco atual. Por exemplo, o valor do índice de contexto do primeiro bin para as informações de índice de MTS pode ser derivado com base na Tabela 19 ou Tabela 22.
[0295] Por exemplo, com base nas informações sobre se a MTS está habilitada, que representa as informações que a MTS está habilitada e as informações sobre se o salto de transformada está habilitado, que representa as informações de que o salto de transformada está habilitado, o valor do índice de contexto pode ser derivado comparando-se a largura do bloco atual com a altura do bloco atual. Ou seja, quando as informações sobre se a MTS está habilitada representam as informações que a MTS está habilitada e as informações sobre se o TS está habilitado representam as informações de que o TS está habilitado, o valor do índice de contexto pode ser derivado comparando-se a largura do bloco atual com a altura do bloco atual. Alternativamente, quando a largura do bloco atual e a altura do bloco atual são iguais, o valor do índice de contexto pode ser derivado como 0. Alternativamente, quando a largura do bloco atual é maior que a altura do bloco atual, o valor do índice de contexto pode ser derivado como 1, e quando a largura do bloco atual é menor que a altura do bloco atual, o valor do índice de contexto pode ser derivado como 2.
[0296] Alternativamente, por exemplo, o valor do índice de contexto pode ser derivado com base nas informações sobre se a MTS está habilitada, que representam as informações de que a MTS está habilitada, e a profundidade de árvore quaternária codificada (cqtDepth). Ou seja, quando as informações sobre se a MTS está habilitada representam as informações que a MTS está habilitada, o valor do índice de contexto pode ser derivado com base na cqtDepth. Por exemplo, o valor do índice de contexto pode ser derivado como um valor obtido pela adição de 1 ao valor da cqtDepth, e pode ser derivado como 1, 2, 3, 4, 5 ou 6.
[0297] Alternativamente, por exemplo, com base nas informações sobre se o salto de transformada está habilitado, que representam as informações de que o salto de transformada está habilitado, o valor do índice de contexto pode ser derivado comparando-se a largura do bloco atual com a altura do bloco atual. Ou seja, quando as informações sobre se o TS está habilitado representam as informações de que o TS está habilitado, o valor do índice de contexto pode ser derivado comparando-se a largura do bloco atual com a altura do bloco atual. Alternativamente, quando a largura do bloco atual e a altura do bloco atual são iguais, o valor do índice de contexto pode ser derivado como 0. Alternativamente, quando a largura do bloco atual é maior que a altura do bloco atual, o valor do índice de contexto pode ser derivado como 1, e quando a largura do bloco atual é menor que a altura do bloco atual, o valor do índice de contexto pode ser derivado como 2.
[0298] Alternativamente, por exemplo, o valor do índice de contexto pode determinar o ctxInc e/ou o ctxIdx com base em pelo menos um dentre o tamanho do bloco, a razão da largura para altura do bloco, seja para realizar a intrapredição ou interpredição do bloco, seja para aplicar o salto de transformada ao vizinho, ou similares. Alternativamente, um modelo de contexto com base em pelo menos um dentre o tamanho do bloco, a razão da largura para a altura do bloco, seja para realizar a intrapredição ou interpredição do bloco, seja para aplicar o salto de transformada ao vizinho, ou similares pode ser definido, e o valor do índice de contexto pode ser derivado com base no modelo de contexto. Por exemplo, as informações sobre o tipo de transformada ou o salto de transformada para o bloco atual podem ser obtidas com base no índice de contexto ou no modelo de contexto.
[0299] O aparelho de decodificação pode derivar amostras de predição do bloco atual realizando a predição com base nas informações de modo de predição (S1510). Por exemplo, o aparelho de decodificação pode derivar um modo de predição do bloco atual com base nas informações de modo de predição. Por exemplo, as informações de modo de predição podem incluir informações sobre o modo de intrapredição ou informações sobre o modo de interpredição, e o modo de predição do bloco atual pode ser derivado como o modo de intrapredição ou o modo de interpredição com base nas informações.
[0300] Por exemplo, o aparelho de decodificação pode derivar as amostras de predição do bloco atual com base no modo de predição. Por exemplo, quando o modelo de predição é o modo de intrapredição, o aparelho de decodificação pode derivar as amostras de predição com base nas amostras ao redor do bloco atual. Alternativamente, quando o modelo de predição é o modo de interpredição, o aparelho de decodificação pode derivar as amostras de predição com base em amostras de referência dentro de uma gravura de referência do bloco atual.
[0301] O aparelho de decodificação pode derivar amostras residuais do bloco atual com base nas informações relacionadas residuais (S1520). Por exemplo, as informações relacionadas residuais podem incluir informações sobre um coeficiente de transformada para as amostras residuais. Alternativamente, as informações relacionadas residuais também podem incluir o sinalizador de salto de transformada.
[0302] Por exemplo, quando as informações relacionadas residuais incluem o sinalizador de salto de transformada, o sinal residual (ou informações relacionadas residuais) para o bloco atual pode ser sinalizado no domínio de pixel (domínio espacial) sem a transformada. Alternativamente, quando as informações relacionadas residuais não incluem o sinalizador de salto de transformada, o sinal residual (ou informações relacionadas residuais) para o bloco atual pode ser transformado e sinalizado no domínio de transformada. Por exemplo, o aparelho de decodificação pode derivar as amostras residuais com base no sinal residual que não é transformado ou transformado e sinalizado.
[0303] O aparelho de decodificação pode gerar amostras de reconstrução do bloco atual com base nas amostras de predição e nas amostras residuais (S1530), alternativamente, o aparelho de decodificação pode derivar um bloco reconstruído ou uma gravura reconstruída com base nas amostras de reconstrução. Conforme descrito acima, o aparelho de decodificação pode aplicar posteriormente um procedimento de filtragem em laço como uma filtragem de deblocagem e/ou um procedimento SAO à gravura reconstruída para aprimorar a qualidade de imagem subjetiva/objetiva, se necessário.
[0304] O aparelho de decodificação pode obter informações de imagem incluindo todas ou algumas informações supracitadas (ou elementos de sintaxe) decodificando-se o fluxo de bits. Além disso, o fluxo de bits pode ser armazenado em um meio de armazenamento digital legível por computador, e pode fazer com que o método de decodificação supracitado seja realizado. Por exemplo, o fluxo de bits também pode ser representado por informações de imagem ou informações de vídeo.
[0305] Nas modalidades anteriormente mencionadas, embora os métodos sejam descritos com base nos fluxogramas como uma série de etapas ou blocos, o presente documento não se limita à ordem de etapas, e uma determinada etapa pode ocorrer em uma ordem diferente ou simultaneamente com uma etapa diferente daquela descrita acima. Além disso, os versados na técnica compreenderão que as etapas mostradas no fluxograma não são exclusivas, e as outras etapas podem ser incluídas ou uma ou mais etapas no fluxograma podem ser excluídas sem afetar o escopo do presente documento.
[0306] O método anteriormente mencionado de acordo com o presente documento pode ser implementado sob a forma de software, e o aparelho de codificação e/ou o aparelho de decodificação de acordo com o presente documento podem estar incluídos no aparelho para executar processamento de imagens, por exemplo, de uma TV, um computador, um smartphone, um decodificador de sinais, um dispositivo de exibição, e similares.
[0307] Quando as modalidades no presente relatório descritivo são implementadas em software, o método anteriormente mencionado pode ser implementado por um módulo (processo, função, e similares) para realizar a função descrita acima. O módulo pode ser armazenado em uma memória e executado por um processador. A memória pode estar situada dentro ou fora do processador, e pode ser acoplada ao processador por vários meios bem conhecidos. O processador pode incluir circuitos integrados específicos de aplicativo (ASICs), outros chipsets, circuitos lógicos e/ou dispositivos de processamento de dados. A memória pode incluir uma memória de leitura (ROM), uma memória de acesso aleatório (RAM), uma memória flash, um cartão de memória, um meio de armazenamento e/ou outros dispositivos de armazenamento.
[0308] A Figura 17 ilustra esquematicamente uma estrutura de um sistema de streaming de conteúdo.
[0309] Ou seja, as modalidades descritas no presente documento 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 executadas pela implementação no computador, no processador, no microprocessador, no controlador ou no chip.
[0310] Além disso, o aparelho de decodificação e o aparelho de codificação aos quais o presente documento é aplicado podem estar incluídos em um transceptor de difusão multimídia, um terminal de comunicação móvel, um dispositivo de vídeo de cinema em casa, um dispositivo de vídeo de cinema digital, uma câmera de vigilância, um dispositivo de comunicação por vídeo, um dispositivo de comunicação em tempo real, como comunicação por vídeo, um dispositivo de streaming móvel, um meio de armazenamento, uma câmera de vídeo, um provedor de serviços de Vídeo sob Demanda (VoD), um dispositivo de vídeo Over the top (OTT), um provedor de serviços de streaming da Internet, um dispositivo de vídeo tridimensional (3D), um dispositivo de vídeo de teleconferência e um dispositivo de vídeo médico, e similares, e pode ser usado para processar sinais de vídeo ou sinais de dados. Por exemplo, o dispositivo de vídeo Over the top (vídeo OTT) pode incluir um console de jogos, um reprodutor de Blu-ray, uma TV conectada à Internet, um sistema de home theater, um smartphone, um tablet PC, um Gravador de Vídeo Digital (DVR), e similares.
[0311] Além disso, o método de processamento ao qual o presente documento é aplicado pode ser produzido sob a forma de um programa executado por um computador e pode ser armazenado em um meio de gravação legível por computador. Os dados multimídia que têm uma estrutura de dados de acordo com o presente documento também podem ser armazenados no 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ídos nos quais os dados legíveis por computador são armazenados. O meio de gravação legível por computador inclui, por exemplo, um Disco Blu-ray (BD), um Barramento Serial Universal (USB), uma ROM, uma PROM, uma EPROM, uma EEPROM, uma RAM, um CD-ROM, uma fita magnética, um disquete e um dispositivo de armazenamento óptico 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 no meio de gravação legível por computador ou transmitido através de redes de comunicação com fio/sem fio. Além disso, as modalidades do presente documento podem ser implementadas como um produto de programa de computador por um código do programa, e o código do programa pode ser executado por um computador de acordo com as modalidades do presente documento. O código do programa pode ser armazenado em uma portadora legível por computador pelo computador.
[0312] Além disso, o sistema de streaming de conteúdo ao qual o presente documento é aplicado pode incluir amplamente 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.
[0313] O servidor de codificação serve para compactar o conteúdo, que é inserido a partir de dispositivos de entrada multimídia como um smartphone, uma câmera e uma filmadora em dados digitais para gerar o fluxo de bits e transmitir o fluxo de bits ao servidor de streaming. Como outro exemplo, quando os dispositivos de entrada de multimídia como um smartphone, uma câmera ou uma filmadora geram diretamente o fluxo de bits, o servidor de codificação pode ser omitido. O fluxo de bits pode ser gerado pelo método de codificação ou o método de geração de fluxo de bits ao qual o presente documento é aplicado, e o servidor de streaming pode armazenar temporariamente o fluxo de bits no processo de transmissão ou recepção do fluxo de bits.
[0314] O servidor de streaming exerce a função de transmitir dados de multimídia para um dispositivo do usuário com base em uma solicitação do usuário através de um servidor da web, e o servidor da web exerce a função de informar ao usuário quais serviços estão disponíveis. Se o usuário solicitar um serviço desejado do servidor da web, o servidor da web transmite a solicitação ao servidor de streaming e o servidor de streaming transmite os dados de multimídia ao usuário. Neste momento, o sistema de streaming de conteúdo pode incluir um servidor de controle separado e, neste caso, o servidor de controle exerce a função de controlar comandos/respostas entre dispositivos dentro do sistema de streaming de conteúdo.
[0315] O servidor de streaming pode receber conteúdo de um armazenamento de mídia e/ou servidor de codificação. Por exemplo, se o conteúdo for recebido do servidor de codificação, o conteúdo pode ser recebido em tempo real. Neste caso, para fornecer um serviço de streaming suave, o servidor de streaming pode armazenar o fluxo de bits por um período de tempo predeterminado.
[0316] Exemplos do dispositivo do usuário podem incluir um telefone celular, smartphone, laptop, terminal de difusão digital, assistente digital pessoal (PDA), reprodutor multimídia portátil (PMP), terminal de navegação, slate PC, tablet, ultrabook, dispositivo vestível (por exemplo, um relógio inteligente ou um vidro inteligente), TV digital, computador desktop e sinal digital. Cada servidor individual dentro do sistema de streaming de conteúdo pode ser operado como um servidor distribuído e, nesse caso, os dados recebidos por cada servidor podem ser processados de maneira distribuída.

Claims (16)

  1. Método de decodificação de uma imagem (image) realizado por um aparelho de decodificação, o método CARACTERIZADO pelo fato de que compreende:
    obter informações relacionadas residuais a partir de um fluxo de bits;
    derivar amostras residuais de um bloco atual com base nas informações relacionadas residuais; e
    gerar amostras de reconstrução do bloco atual com base nas amostras residuais,
    em que as informações relacionadas residuais compreendem um sinalizador de salto de transformada com base em um tamanho do bloco atual e um tamanho máximo de salto de transformada,
    em que o sinalizador de salto de transformada está relacionado a se um salto de transformada é aplicado ao bloco atual,
    em que informações sobre o tamanho máximo de salto de transformada são obtidas a partir do fluxo de bits,
    em que as informações sobre o tamanho máximo de salto de transformada inclui um elemento de sintaxe log2_transform_skip_max_size_minus2, e
    em que o tamanho máximo de salto de transformada é derivado com base na seguinte equação,
    MaxTsSize = 1 << (log2_transform_skip_max_size_minus2 + 2)
    onde, o MaxTsSize representa o tamanho máximo de salto de transformada, e o log2_transform_skip_max_size_minus2 representa um valor do elemento de sintaxe log2_transform_skip_max_size_minus2, e
    em que o tamanho máximo do salto de transformada é igual ou inferior a 32.
  2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que as informações relacionadas residuais compreendem informações de índice de seleção de transformada múltipla (MTS) relacionadas a um kernel de transformada para o bloco atual.
  3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o tamanho máximo de salto de transformada é derivado como um dentre os tamanhos candidatos que compreendem 4, 8, 16 ou 32.
  4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o valor do elemento de sintaxe log2_transform_skip_max_size_minus2 é representado por um dentre os valores candidatos de 0 a 3.
  5. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que as informações sobre o tamanho máximo de salto de transformada são compreendidas em uma sintaxe de alto nível,
    em que a sintaxe de alto nível é uma dentre uma sintaxe de conjunto de parâmetros de sequência ou uma sintaxe de conjunto de parâmetros de gravura (picture).
  6. Método, de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que o um dentre o conjunto de parâmetros de gravura ou o conjunto de parâmetros de sequência compreende um sinalizador habilitado de salto de transformada relacionado a se o salto de transformada está habilitado ou não,
    em que as informações sobre o tamanho máximo de salto de transformada estão compreendidas no um dentre o conjunto de parâmetros de gravura ou no conjunto de parâmetros de sequência com base em um valor do sinalizador habilitado de salto de transformada sendo igual a 1.
  7. Método de codificação de uma imagem (image) realizado por um aparelho de codificação, o método CARACTERIZADO pelo fato de que compreende:
    derivar amostras residuais para um bloco atual;
    gerar informações relacionadas residuais com base nas amostras residuais e
    codificar informações de imagem (image) que compreendem as informações relacionadas residuais,
    em que as informações relacionadas residuais compreendem um sinalizador de salto de transformada com base em um tamanho do bloco atual e um tamanho máximo de salto de transformada,
    em que o sinalizador de salto de transformada está relacionado a se um salto de transformada é aplicado ao bloco atual,
    em que informações de imagem (image) compreendem informações sobre o tamanho máximo de salto de transformada,
    em que as informações sobre o tamanho máximo de salto de transformada compreende um elemento de sintaxe log2_transform_skip_max_size_minus2,
    em que o tamanho máximo de salto de transformada é representado com base na seguinte equação,
    MaxTsSize = 1 << (log2_transform_skip_max_size_minus2 + 2)
    onde, o MaxTsSize representa o tamanho máximo de salto de transformada, e o log2_transform_skip_max_size_minus2 representa um valor do elemento de sintaxe log2_transform_skip_max_size_minus2, e
    em que o tamanho máximo do salto de transformada é igual ou inferior a 32.
  8. Método, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que as informações relacionadas residuais compreendem informações de índice de seleção de transformada múltipla (MTS) relacionadas a um kernel de transformada para o bloco atual.
  9. Método, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que o tamanho máximo de salto de transformada é representado como um dos tamanhos candidatos que incluem 4, 8, 16 ou 32.
  10. Método, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que o valor do elemento de sintaxe log2_transform_skip_max_size_minus2 é representado por um dentre os valores candidatos de 0 a 3.
  11. Método, de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que as informações sobre o tamanho máximo de salto de transformada são compreendidas em uma sintaxe de alto nível,
    em que a sintaxe de alto nível é uma dentre uma sintaxe de conjunto de parâmetros de sequência ou uma sintaxe de conjunto de parâmetros de gravura (picture).
  12. Método, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que o um dentre o conjunto de parâmetros de gravura ou o conjunto de parâmetros de sequência compreende um sinalizador habilitado de salto de transformada relacionado a se o salto de transformada está habilitado ou não,
    em que as informações sobre o tamanho máximo de salto de transformada estão compreendidas no um dentre o conjunto de parâmetros de gravura ou no conjunto de parâmetros de sequência com base em um valor do sinalizador habilitado de salto de transformada sendo igual a 1.
  13. Mídia de armazenamento digital legível por computador não transitória, CARACTERIZADA pelo fato de que armazena informações que fazem com que um aparelho de decodificação execute um método de decodificação de imagem (image), o método compreendendo:
    obter informações relacionadas residuais a partir de um fluxo de bits;
    derivar amostras residuais de um bloco atual com base nas informações relacionadas residuais; e
    gerar amostras de reconstrução do bloco atual com base nas amostras residuais,
    em que as informações relacionadas residuais compreendem um sinalizador de salto de transformada com base em um tamanho do bloco atual e um tamanho máximo de salto de transformada,
    em que o sinalizador de salto de transformada está relacionado a se um salto de transformada é aplicado ao bloco atual,
    em que informações sobre o tamanho máximo de salto de transformada são obtidas a partir do fluxo de bits,
    em que as informações sobre o tamanho máximo de salto de transformada inclui um elemento de sintaxe log2_transform_skip_max_size_minus2, e
    em que o tamanho máximo de salto de transformada é derivado com base na seguinte equação,
    MaxTsSize = 1 << (log2_transform_skip_max_size_minus2 + 2)
    onde, o MaxTsSize representa o tamanho máximo de salto de transformada, e o log2_transform_skip_max_size_minus2 representa um valor do elemento de sintaxe log2_transform_skip_max_size_minus2, e
    em que o tamanho máximo do salto de transformada é igual ou inferior a 32.
  14. Aparelho de decodificação para decodificação de imagem (image), o aparelho de decodificação CARACTERIZADO pelo fato de que compreende:
    um decodificador de entropia configurado para obter informações relacionadas residuais a partir de um fluxo de bits;
    um processador residual configurado para derivar amostras residuais de um bloco atual, com base nas informações relacionadas residuais; e
    um somador configurado para gerar amostras de reconstrução do bloco atual, com base nas amostras residuais,
    em que as informações relacionadas residuais compreendem um sinalizador de salto de transformada com base em um tamanho do bloco atual e um tamanho máximo de salto de transformada,
    em que o sinalizador de salto de transformada está relacionado a se um salto de transformada é aplicado ao bloco atual,
    em que informações sobre o tamanho máximo de salto de transformada são obtidas a partir do fluxo de bits,
    em que as informações sobre o tamanho máximo de salto de transformada incluem um elemento de sintaxe log2_transform_skip_max_size_minus2, e
    em que o tamanho máximo de salto de transformada é derivado com base na seguinte equação,
    MaxTsSize = 1 << (log2_transform_skip_max_size_minus2 + 2)
    onde, o MaxTsSize representa o tamanho máximo de salto de transformada, e o log2_transform_skip_max_size_minus2 representa um valor do elemento de sintaxe log2_transform_skip_max_size_minus2, e
    em que o tamanho máximo do salto de transformada é igual ou inferior a 32.
  15. Aparelho de codificação para codificação de imagem (image), o aparelho de codificação CARACTERIZADO pelo fato de que compreende:
    um processador residual configurado para derivar amostras residuais para um bloco atual, para gerar informações relacionadas residuais com base nas amostras residuais; e
    um codificador de entropia configurado para codificar as informações de imagem compreendendo as informações relacionadas residuais,
    em que as informações relacionadas residuais compreendem um sinalizador de salto de transformada com base em um tamanho do bloco atual e um tamanho máximo de salto de transformada,
    em que o sinalizador de salto de transformada está relacionado a se um salto de transformada é aplicado ao bloco atual,
    em que as informações de imagem compreendem informações sobre o tamanho máximo de salto de transformada,
    em que as informações sobre o tamanho máximo de salto de transformada compreende um elemento de sintaxe log2_transform_skip_max_size_minus2, e
    em que o tamanho máximo de salto de transformada é representado com base na seguinte equação,
    MaxTsSize = 1 << (log2_transform_skip_max_size_minus2 + 2)
    onde, o MaxTsSize representa o tamanho máximo de salto de transformada, e o log2_transform_skip_max_size_minus2 representa um valor do elemento de sintaxe log2_transform_skip_max_size_minus2, e
    em que o tamanho máximo do salto de transformada é igual ou inferior a 32.
  16. Mídia de armazenamento digital legível por computador não transitória, CARACTERIZADA pelo fato de que armazena um fluxo de bits gerado por um método de codificação de imagem (image) executado por um aparelho de codificação, o método de codificação de imagem compreendendo:
    derivar amostras residuais para um bloco atual;
    gerar informações relacionadas residuais com base nas amostras residuais e
    codificar informações de imagem (image) que compreendem as informações relacionadas residuais,
    em que as informações relacionadas residuais compreendem um sinalizador de salto de transformada com base em um tamanho do bloco atual e um tamanho máximo de salto de transformada,
    em que o sinalizador de salto de transformada está relacionado a se um salto de transformada é aplicado ao bloco atual,
    em que informações de imagem (image) compreendem informações sobre o tamanho máximo de salto de transformada,
    em que as informações sobre o tamanho máximo de salto de transformada compreende um elemento de sintaxe log2_transform_skip_max_size_minus2,
    em que o tamanho máximo de salto de transformada é representado com base na seguinte equação,
    MaxTsSize = 1 << (log2_transform_skip_max_size_minus2 + 2)
    onde, o MaxTsSize representa o tamanho máximo de salto de transformada, e o log2_transform_skip_max_size_minus2 representa um valor do elemento de sintaxe log2_transform_skip_max_size_minus2, e
    em que o tamanho máximo do salto de transformada é igual ou inferior a 32.
BR122021012456-6A 2019-01-15 2020-01-15 Método de decodificação de uma imagem realizado por um aparelho de decodificação, método de codificação de uma imagem realizado por um aparelho de codificação, aparelho de decodificação para decodificação de imagem, aparelho de codificação para codificação de imagem e mídia de armazenamento digital legível por computador não transitória BR122021012456B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962792423P 2019-01-15 2019-01-15
US62/792,423 2019-01-15
BR112021012366-0A BR112021012366B1 (pt) 2019-01-15 2020-01-15 Método de decodificação de uma imagem realizado por um aparelho de decodificação, método de codificação de uma imagem realizado por um aparelho de codificação e mídia de armazenamento digital legível por computador não transitória
BR112021012366-0 2020-01-15
PCT/KR2020/000757 WO2020149648A1 (ko) 2019-01-15 2020-01-15 변환 스킵 플래그를 이용한 영상 코딩 방법 및 장치

Publications (2)

Publication Number Publication Date
BR122021012456A2 true BR122021012456A2 (pt) 2021-09-14
BR122021012456B1 BR122021012456B1 (pt) 2022-03-22

Family

ID=71094257

Family Applications (3)

Application Number Title Priority Date Filing Date
BR112021012366-0A BR112021012366B1 (pt) 2019-01-15 2020-01-15 Método de decodificação de uma imagem realizado por um aparelho de decodificação, método de codificação de uma imagem realizado por um aparelho de codificação e mídia de armazenamento digital legível por computador não transitória
BR122021012448-5A BR122021012448B1 (pt) 2019-01-15 2020-01-15 Método de decodificação de uma imagem realizado por um aparelho de decodificação, método de codificação de uma imagem realizado por um aparelho de codificação, aparelho de decodificação para decodificação de imagem, aparelho de codificação para codificação de imagem e mídia de armazenamento digital legível por computador não transitória
BR122021012456-6A BR122021012456B1 (pt) 2019-01-15 2020-01-15 Método de decodificação de uma imagem realizado por um aparelho de decodificação, método de codificação de uma imagem realizado por um aparelho de codificação, aparelho de decodificação para decodificação de imagem, aparelho de codificação para codificação de imagem e mídia de armazenamento digital legível por computador não transitória

Family Applications Before (2)

Application Number Title Priority Date Filing Date
BR112021012366-0A BR112021012366B1 (pt) 2019-01-15 2020-01-15 Método de decodificação de uma imagem realizado por um aparelho de decodificação, método de codificação de uma imagem realizado por um aparelho de codificação e mídia de armazenamento digital legível por computador não transitória
BR122021012448-5A BR122021012448B1 (pt) 2019-01-15 2020-01-15 Método de decodificação de uma imagem realizado por um aparelho de decodificação, método de codificação de uma imagem realizado por um aparelho de codificação, aparelho de decodificação para decodificação de imagem, aparelho de codificação para codificação de imagem e mídia de armazenamento digital legível por computador não transitória

Country Status (8)

Country Link
US (4) US10917637B2 (pt)
EP (1) EP3703376A4 (pt)
JP (2) JP2021513755A (pt)
KR (3) KR102392701B1 (pt)
CN (1) CN111699694B (pt)
BR (3) BR112021012366B1 (pt)
MX (1) MX2021008449A (pt)
WO (1) WO2020149648A1 (pt)

Families Citing this family (93)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PT3847818T (pt) 2018-09-18 2024-03-05 Huawei Tech Co Ltd Codificador de vídeo, um descodificador de vídeo e métodos correspondentes
EP3837835A1 (en) 2018-09-18 2021-06-23 Huawei Technologies Co., Ltd. Coding method, device, system
US11218694B2 (en) * 2018-09-24 2022-01-04 Qualcomm Incorporated Adaptive multiple transform coding
TWI822863B (zh) * 2018-09-27 2023-11-21 美商Vid衡器股份有限公司 360度視訊寫碼樣本導出
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
CN111083484A (zh) 2018-10-22 2020-04-28 北京字节跳动网络技术有限公司 基于子块的预测
CN112997492B (zh) 2018-11-06 2024-02-20 北京字节跳动网络技术有限公司 帧内预测的简化参数推导
CN111436227B (zh) 2018-11-12 2024-03-29 北京字节跳动网络技术有限公司 在视频处理中使用组合帧间-帧内预测
US11178396B2 (en) * 2018-11-14 2021-11-16 Tencent America LLC Constrained intra prediction and unified most probable mode list generation
CN113170171B (zh) 2018-11-20 2024-04-12 北京字节跳动网络技术有限公司 组合帧间帧内预测模式的预测细化
WO2020103852A1 (en) 2018-11-20 2020-05-28 Beijing Bytedance Network Technology Co., Ltd. Difference calculation based on patial position
CN113170122B (zh) 2018-12-01 2023-06-27 北京字节跳动网络技术有限公司 帧内预测的参数推导
WO2020114445A1 (en) 2018-12-07 2020-06-11 Beijing Bytedance Network Technology Co., Ltd. Context-based intra prediction
WO2020130577A1 (ko) * 2018-12-18 2020-06-25 엘지전자 주식회사 이차 변환에 기반한 영상 코딩 방법 및 그 장치
BR112021012366B1 (pt) 2019-01-15 2022-03-22 Lg Electronics Inc Método de decodificação de uma imagem realizado por um aparelho de decodificação, método de codificação de uma imagem realizado por um aparelho de codificação e mídia de armazenamento digital legível por computador não transitória
US11025936B2 (en) * 2019-01-25 2021-06-01 Tencent America LLC Method and apparatus for video coding
US11523136B2 (en) * 2019-01-28 2022-12-06 Hfi Innovation Inc. Methods and apparatuses for coding transform blocks
EP3700205A1 (en) * 2019-02-19 2020-08-26 Nokia Technologies Oy Quantization parameter derivation for cross-channel residual encoding and decoding
CN113439437B (zh) 2019-02-22 2023-11-24 北京字节跳动网络技术有限公司 用于帧内预测的邻近样点选择
KR102472756B1 (ko) 2019-02-24 2022-12-01 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인트라 예측을 위한 파라미터 유도
AU2020232135B2 (en) 2019-03-05 2023-11-23 Huawei Technologies Co., Ltd. The method and apparatus for intra sub-partitions coding mode
KR102635518B1 (ko) 2019-03-06 2024-02-07 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 변환된 단예측 후보의 사용
CN113365049B (zh) * 2019-03-09 2023-02-28 杭州海康威视数字技术股份有限公司 进行编码和解码的方法、解码端、编码端和系统
US11202100B2 (en) * 2019-03-11 2021-12-14 Qualcomm Incorporated Coefficient coding for transform skip mode
CN113647112A (zh) * 2019-03-11 2021-11-12 交互数字Vc控股公司 用于视频编码和解码的熵编解码
US11128876B2 (en) * 2019-03-12 2021-09-21 Qualcomm Incorporated Joint coefficient coding of transform skip and BDPCM mode for 4:4:4 color formats
KR20200110236A (ko) * 2019-03-13 2020-09-23 현대자동차주식회사 데이터 블록에 변환 생략 모드를 효율적으로 적용하기 위한 방법 및 장치
CN117880494A (zh) 2019-03-24 2024-04-12 北京字节跳动网络技术有限公司 用于帧内预测的参数推导的条件
CN113647099B (zh) 2019-04-02 2022-10-04 北京字节跳动网络技术有限公司 解码器侧运动矢量推导
WO2020218793A1 (ko) 2019-04-20 2020-10-29 엘지전자 주식회사 Bdpcm에 기반한 영상 코딩 방법 및 그 장치
JP7414843B2 (ja) 2019-04-24 2024-01-16 バイトダンス インコーポレイテッド 符号化映像の量子化残差差分パルス符号変調表現
WO2020223467A1 (en) 2019-05-01 2020-11-05 Bytedance Inc. Intra coded video using quantized residual differential pulse code modulation coding
WO2020223612A1 (en) * 2019-05-02 2020-11-05 Bytedance Inc. Signaling in transform skip mode
EP3948663A4 (en) 2019-05-02 2022-06-08 ByteDance Inc. CODING MODE BASED ON A CODING TREE STRUCTURE TYPE
CN117221544A (zh) * 2019-05-19 2023-12-12 字节跳动有限公司 数字视频中的变换旁路编解码残差块
WO2020235961A1 (ko) * 2019-05-22 2020-11-26 엘지전자 주식회사 영상 디코딩 방법 및 그 장치
WO2020244662A1 (en) * 2019-06-06 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Simplified transform coding tools
CN116828176A (zh) * 2019-06-11 2023-09-29 Lg电子株式会社 解码设备、编码设备和发送设备
EP4376415A2 (en) * 2019-06-19 2024-05-29 LG Electronics Inc. Coding of information about transform kernel set
US11863787B2 (en) * 2019-06-19 2024-01-02 Qualcomm Incorporated Maximum allowed block size for BDPCM mode
CN111031318B (zh) * 2019-06-21 2020-12-29 杭州海康威视数字技术股份有限公司 一种编解码方法、装置及其设备
US11212530B2 (en) 2019-06-24 2021-12-28 Tencent America LLC Method for slice, tile and brick signaling
US11259016B2 (en) * 2019-06-30 2022-02-22 Tencent America LLC Method and apparatus for video coding
US11616962B2 (en) * 2019-07-15 2023-03-28 Tencent America LLC Method and apparatus for video coding
US11095916B2 (en) * 2019-07-23 2021-08-17 Qualcomm Incorporated Wraparound motion compensation in video coding
BR112022002006A2 (pt) 2019-08-06 2022-03-29 Beijing Bytedance Network Tech Co Ltd Método de processamento de vídeo, aparelho de processamento de vídeo, e, mídia legível por computador
US11677984B2 (en) * 2019-08-20 2023-06-13 Qualcomm Incorporated Low-frequency non-separable transform (LFNST) signaling
JP7305873B2 (ja) 2019-08-23 2023-07-10 北京字節跳動網絡技術有限公司 ビデオ処理方法、ビデオ・データ処理装置、記憶媒体及び記憶方法
WO2021040907A1 (en) * 2019-08-30 2021-03-04 Alibaba Group Holding Limited Method and system for signaling chroma quantization parameter table
US11909991B2 (en) * 2019-08-30 2024-02-20 Tencent America LLC Restrictions on picture width and height
EP4008109A4 (en) 2019-09-02 2022-09-14 Beijing Bytedance Network Technology Co., Ltd. ENCODING MODE DETERMINATION BASED ON COLOR FORMAT
US11736720B2 (en) * 2019-09-03 2023-08-22 Tencent America LLC Motion vector refinement methods for video encoding
CN114450963A (zh) * 2019-09-18 2022-05-06 松下电器(美国)知识产权公司 用于视频编码的系统和方法
US11395014B2 (en) * 2019-09-18 2022-07-19 Qualcomm Incorporated Transform unit design for video coding
WO2021054805A1 (ko) * 2019-09-20 2021-03-25 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
MX2022003122A (es) 2019-09-21 2022-04-06 Beijing Bytedance Network Tech Co Ltd Modo intra basado para croma de restriccion de tama?o.
WO2021057771A1 (en) * 2019-09-24 2021-04-01 Mediatek Inc. Method and apparatus of separated coding tree coding with constraints on minimum cu size
US11589044B2 (en) * 2019-10-14 2023-02-21 Hfi Innovation Inc. Video encoding and decoding with ternary-tree block partitioning
CN114641992B (zh) * 2019-10-23 2024-04-05 北京字节跳动网络技术有限公司 参考图片重采样的信令
CN114600461A (zh) 2019-10-23 2022-06-07 北京字节跳动网络技术有限公司 用于多编解码工具的计算
US20220400287A1 (en) * 2019-11-15 2022-12-15 Hfi Innovation Inc. Method and Apparatus for Signaling Horizontal Wraparound Motion Compensation in VR360 Video Coding
US11483549B2 (en) * 2019-11-21 2022-10-25 Hfi Innovation Inc. Methods and apparatuses for transform skip mode information signaling
WO2021100863A1 (en) * 2019-11-22 2021-05-27 Sharp Kabushiki Kaisha Systems and methods for signaling tiles and slices in video coding
US11375182B2 (en) * 2019-12-17 2022-06-28 Hfi Innovation Inc. Method and apparatus of constrained layer-wise video coding
US11589037B2 (en) * 2019-12-20 2023-02-21 Qualcomm Incorporated Motion compensation using size of reference picture
US11477450B2 (en) * 2019-12-20 2022-10-18 Zte (Uk) Limited Indication of video slice height in video subpictures
JP2022531541A (ja) * 2019-12-23 2022-07-07 テンセント・アメリカ・エルエルシー ビデオ符号化/復号のための方法および装置
US11457229B2 (en) * 2019-12-23 2022-09-27 Qualcomm Incorporated LFNST signaling for chroma based on chroma transform skip
EP4087244A4 (en) * 2019-12-31 2024-01-03 Lg Electronics Inc IMAGE CODING/DECODING METHOD AND DEVICE FOR PERFORMING A PREDICTION BASED ON A RECONFIGURED PREDICTION MODE TYPE OF A LEAF NODE AND BIT STREAM TRANSMISSION METHOD
CA3153765A1 (en) * 2020-02-11 2021-08-19 Huawei Technologies Co., Ltd. An encoder, a decoder and corresponding methods for subpicture signalling in sequence parameter set
US11412253B2 (en) * 2020-02-24 2022-08-09 Alibaba Group Holding Limited Methods for combining decoder side motion vector refinement with wrap-around motion compensation
CN115191115A (zh) 2020-02-24 2022-10-14 字节跳动有限公司 子图片和片行信令通知之间的交互
KR20220143843A (ko) 2020-02-29 2022-10-25 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하이 레벨 신택스 엘리먼트들에 대한 제약들
KR20220143857A (ko) * 2020-03-03 2022-10-25 바이트댄스 아이엔씨 비디오 코딩에서의 저 주파수 비-분리가능 변환 시그널링
CN113395524B (zh) * 2020-03-11 2023-04-28 腾讯美国有限责任公司 视频解码方法、装置和电子设备
US11146806B2 (en) * 2020-03-11 2021-10-12 Tencent America LLC Coding unit level transform size restriction for adaptive color transform
KR20220152212A (ko) * 2020-03-11 2022-11-15 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 양자화 파라미터를 위한 높은 레벨의 비트스트림 신택스
JP7446046B2 (ja) * 2020-03-27 2024-03-08 三星電子株式会社 映像の復号化方法及び装置
US11582491B2 (en) * 2020-03-27 2023-02-14 Qualcomm Incorporated Low-frequency non-separable transform processing in video coding
KR20220165277A (ko) * 2020-04-10 2022-12-14 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 변환 스킵 블록들에 대한 최소 허용 양자화
CN115349263A (zh) * 2020-05-19 2022-11-15 谷歌有限责任公司 质量归一化视频转码的动态参数选择
EP4140137A4 (en) 2020-05-22 2024-01-24 Beijing Bytedance Network Tech Co Ltd SIGNALING OF GENERAL COMPULSORY FLAGS
WO2021244420A1 (en) 2020-05-31 2021-12-09 Beijing Bytedance Network Technology Co., Ltd. Palette mode with local dual tree modetype definition
US11659207B2 (en) * 2020-06-08 2023-05-23 Qualcomm Incorporated General constraints of syntax elements for video coding
US11818384B2 (en) * 2020-09-24 2023-11-14 Ofinno, Llc Affine intra block copy refinement
US11924471B2 (en) * 2020-11-12 2024-03-05 Qualcomm Incorporated Context-based transform index signaling in video coding
CN115633172A (zh) * 2020-12-06 2023-01-20 浙江大华技术股份有限公司 基于ibc模式编码方法、电子设备及存储介质
US11838551B2 (en) * 2020-12-30 2023-12-05 Ofinno, Llc Adaptive block level bit-depth prediction
US20220224927A1 (en) * 2021-01-14 2022-07-14 Samsung Electronics Co., Ltd. Video decoding apparatus and video decoding method
BR112023020363A2 (pt) * 2021-04-21 2023-11-21 Panasonic Ip Corp America Método de codificação de dados tridimensional, método de decodificação de dados tridimensional, dispositivo de codificação de dados tridimensional, e dispositivo de decodificação de dados tridimensional
CN117546469A (zh) * 2021-06-28 2024-02-09 北京达佳互联信息技术有限公司 用于视频编解码的残差和系数编解码
US20230247209A1 (en) * 2022-01-18 2023-08-03 Tencent America LLC Signalling of eob for one dimensional transform skip
WO2024083197A1 (en) * 2022-10-20 2024-04-25 Douyin Vision Co., Ltd. Method, apparatus, and medium for video processing

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5578574A (en) * 1978-12-09 1980-06-13 Victor Co Of Japan Ltd Manufacture of insulated-gate field-effect transistor
JPS6143866U (ja) 1984-08-28 1986-03-22 ゼオン化成株式会社 二重プランタ−
KR101830352B1 (ko) * 2011-11-09 2018-02-21 에스케이 텔레콤주식회사 스킵모드를 이용한 동영상 부호화 및 복호화 방법 및 장치
CN108924570B (zh) 2012-01-20 2021-08-24 韩国电子通信研究院 使用量化矩阵的视频编解码方法
CN104380734B (zh) * 2012-06-07 2017-09-15 寰发股份有限公司 编码以及解码视频数据的方法和装置
TWI592011B (zh) * 2012-06-29 2017-07-11 Sony Corp Image processing device and method
HUE063933T2 (hu) * 2012-06-29 2024-02-28 Electronics & Telecommunications Res Inst Eljárás és eszköz képek kódolására/dekódolására
US9451256B2 (en) * 2012-07-20 2016-09-20 Qualcomm Incorporated Reusing parameter sets for video coding
US9247255B2 (en) * 2013-02-28 2016-01-26 Research & Business Foundation Sungkyunkwan University Method and apparatus for image encoding/decoding
KR101462637B1 (ko) * 2013-02-28 2014-11-21 성균관대학교산학협력단 영상 부호화/복호화 방법 및 장치
KR102013561B1 (ko) * 2013-04-23 2019-08-23 퀄컴 인코포레이티드 비디오 코딩에서 예측 잔차 블록들의 재배치
US10645399B2 (en) * 2013-07-23 2020-05-05 Intellectual Discovery Co., Ltd. Method and apparatus for encoding/decoding image
AU2013228045A1 (en) * 2013-09-13 2015-04-02 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding video data
EP3054683A4 (en) 2013-09-30 2017-06-07 Nippon Hoso Kyokai Image coding device, image decoding device, and programs therefor
JP6822470B2 (ja) * 2016-05-13 2021-01-27 ソニー株式会社 画像処理装置および方法
WO2018101288A1 (ja) * 2016-12-01 2018-06-07 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、符号化方法、復号装置および復号方法
CN110121803A (zh) * 2016-12-29 2019-08-13 株式会社村田制作所 负极活性物质、负极、电池、电池组、电子设备、电动车辆、蓄电装置以及电力系统
WO2018128322A1 (ko) * 2017-01-03 2018-07-12 엘지전자(주) 영상 처리 방법 및 이를 위한 장치
BR112021012366B1 (pt) 2019-01-15 2022-03-22 Lg Electronics Inc Método de decodificação de uma imagem realizado por um aparelho de decodificação, método de codificação de uma imagem realizado por um aparelho de codificação e mídia de armazenamento digital legível por computador não transitória

Also Published As

Publication number Publication date
BR112021012366B1 (pt) 2022-03-22
CN111699694A (zh) 2020-09-22
US11695917B2 (en) 2023-07-04
US20200260070A1 (en) 2020-08-13
US20210120231A1 (en) 2021-04-22
KR102392701B1 (ko) 2022-04-28
KR102610233B1 (ko) 2023-12-05
BR112021012366A2 (pt) 2021-08-31
EP3703376A1 (en) 2020-09-02
BR122021012448B1 (pt) 2022-03-22
MX2021008449A (es) 2021-11-03
EP3703376A4 (en) 2020-09-02
US20230370580A1 (en) 2023-11-16
BR122021012448A2 (pt) 2021-09-14
JP2023118765A (ja) 2023-08-25
US10917637B2 (en) 2021-02-09
US20220174269A1 (en) 2022-06-02
CN111699694B (zh) 2022-07-08
WO2020149648A1 (ko) 2020-07-23
KR20220048060A (ko) 2022-04-19
US11979552B2 (en) 2024-05-07
JP2021513755A (ja) 2021-05-27
BR122021012456B1 (pt) 2022-03-22
KR20200090766A (ko) 2020-07-29
KR20240000610A (ko) 2024-01-02
US11297310B2 (en) 2022-04-05

Similar Documents

Publication Publication Date Title
BR122021012456A2 (pt) Método de decodificação de uma imagem realizado por um aparelho de decodificação, método de codificação de uma imagem realizado por um aparelho de codificação, aparelho de decodificação para decodificação de imagem, aparelho de codificação para codificação de imagem e mídia de armazenamento digital legível por computador não transitória
JP7460716B2 (ja) 映像コーディングシステムにおいて文脈コーディングされたサインフラグを使用する映像デコーディング方法及びその装置
US11240533B2 (en) Video decoding method using residual information in video coding system, and apparatus thereof
US11677952B2 (en) Image decoding method and device using residual information in image coding system
JP2023041886A (ja) 変換係数レベルコーディング方法およびその装置
BR122023020352A2 (pt) Aparelho de decodificação/codificação para decodificação/codificação de imagem e aparelho para transmissão de dados para uma imagem
US11350101B2 (en) Image decoding method using residual information in image coding system, and device for same
CN113508587A (zh) 在视频编译系统中使用残差信息的视频解码方法及其设备
US20220286691A1 (en) Method and apparatus for deriving rice parameter in video/image coding system
US11523128B2 (en) Video decoding method and apparatus using residual rearrangement in video coding system
KR20210060498A (ko) 변환 계수 코딩 방법 및 장치
US20210321135A1 (en) Image coding method and apparatus using transform skip flag
RU2803457C2 (ru) Способ кодирования изображения на основе преобразования и устройство для его осуществления
BR122022006273B1 (pt) Método e aparelho de decodificação de imagem, método e aparelho de codificação de imagem, meio de armazenamento legível por computador não transitório, método e aparelho de transmissão de dados para uma imagem
BR122022006263B1 (pt) Método e aparelho de decodificação de imagem, método e aparelho de codificação de imagem, meio de armazenamento legível por computador não transitório, método e aparelho de transmissão de dados para uma imagem
BR112021010422B1 (pt) Método de decodificação de imagem realizado por um aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação de imagem e meio de armazenamento legível por computador não transitório

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 15/01/2020, OBSERVADAS AS CONDICOES LEGAIS.

B25A Requested transfer of rights approved

Owner name: TAISSA RESEARCH LLC (US)

B25A Requested transfer of rights approved

Owner name: ROSEDALE DYNAMICS LLC (US)