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

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

Info

Publication number
BR122022002096B1
BR122022002096B1 BR122022002096-8A BR122022002096A BR122022002096B1 BR 122022002096 B1 BR122022002096 B1 BR 122022002096B1 BR 122022002096 A BR122022002096 A BR 122022002096A BR 122022002096 B1 BR122022002096 B1 BR 122022002096B1
Authority
BR
Brazil
Prior art keywords
flag information
block
specific
sub
information
Prior art date
Application number
BR122022002096-8A
Other languages
English (en)
Other versions
BR122022002096A8 (pt
BR122022002096A2 (pt
Inventor
Hyeongmoon JANG
Junghak NAM
Jaehyun Lim
Original Assignee
Lg Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lg Electronics Inc filed Critical Lg Electronics Inc
Publication of BR122022002096A2 publication Critical patent/BR122022002096A2/pt
Publication of BR122022002096A8 publication Critical patent/BR122022002096A8/pt
Publication of BR122022002096B1 publication Critical patent/BR122022002096B1/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/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/527Global motion vector estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based

Abstract

Trata-se de um método de decodificação de imagem realizado por um aparelho de decodificação de acordo com a presente revelação que compreende as etapas de: decodificar, com base em um fluxo de bits, um sinalizador afim que indica se uma predição afim é aplicável a um bloco atual e um sinalizador de TMVP de sub-bloco que indica se um preditor de vetor de movimento temporal com base em um sub-bloco do bloco atual é utilizável; determinar se decodifica um sinalizador de modo de mesclagem predeterminado que indica se aplica um modo de mesclagem predeterminado ao bloco atual, com base no sinalizador afim decodificado e no sinalizador de TMVP de sub-bloco decodificado; derivar amostras de predição do bloco atual com base na determinação se decodifica o sinalizador de modo de mesclagem predeterminado; e gerar amostras reconstruídas do bloco atual com base nas amostras de predição do bloco atual.

Description

FUNDAMENTOS DA REVELAÇÃO Campo da Revelação
[001] A presente revelação refere-se a uma tecnologia de codificação de imagem e, mais particularmente, a um método de projeto de sintaxe e um aparelho para realizar codificação usando sintaxe em um sistema de codificação de imagem.
Técnica Relacionada
[002] Recentemente, a demanda por imagem/vídeo de alta resolução e alta qualidade, como imagem/vídeo 4K ou 8K de Definição Ultra Alta (UHD), está se expandindo em vários campos. À medida que a resolução ou qualidade da imagem/vídeo se torna mais alta, uma quantidade relativamente maior de informações ou bits é transmitida do que para os dados convencionais de imagem/vídeo. Portanto, se os dados de imagem/vídeo forem transmitidos por meio de um meio como uma linha de banda larga com fio/sem fio existente ou armazenados em um meio de armazenamento herdado, os custos de transmissão e armazenamento aumentam rapidamente.
[003] Além disso, os interesses e a demanda por conteúdos de realidade virtual (VR) e realidade artificial (AR), e mídias imersivas, como holograma vem crescendo; e a transmissão de imagens/vídeos que exibem características de imagem/vídeo diferentes daqueles de uma imagem/vídeo real, como imagens/vídeos de jogos, também vem crescendo.
[004] Portanto, uma técnica de compactação de imagem/vídeo altamente eficiente é necessária para compactar e transmitir, armazenar ou reproduzir com eficiência imagens/vídeos de alta qualidade mostrando várias características, conforme descrito acima.
SUMÁRIO
[005] Um objetivo técnico da presente revelação consiste em proporcionar um método e um aparelho para aperfeiçoar a eficiência de codificação de imagem.
[006] Outro objetivo técnico da presente revelação consiste em proporcionar um método de projeto de sintaxe e um aparelho para realizar codificação usando sintaxe.
[007] Ainda outro objetivo técnico da presente revelação consiste em proporcionar um método para projetar uma sintaxe de alto nível e uma sintaxe de baixo nível e um aparelho para realizar codificação usando sintaxe.
[008] Ainda outro objetivo técnico da presente revelação consiste em proporcionar um método e um aparelho para usar elementos de sintaxe de alto nível e/ou sintaxe de baixo nível para realizar uma predição de movimento com base em sub-blocos.
[009] Ainda outro objetivo técnico da presente revelação consiste em proporcionar um método e um aparelho para usar elementos de sintaxe de alto nível e/ou sintaxe de baixo nível para realizar uma predição de movimento com base em um modelo afim.
[010] Ainda outro objetivo técnico da presente revelação consiste em proporcionar um método e um aparelho para determinar, com base em um sinalizador afim e um sinalizador de TMVP de sub-bloco, se decodifica um sinalizador de modo predeterminado que indica se aplica um modo de mesclagem predeterminado a um bloco atual.
[011] De acordo com uma modalidade da presente revelação, proporciona-se um método de decodificação de imagem realizado por um aparelho de decodificação. O método compreende decodificar, com base em um fluxo de bits, um sinalizador afim que indica a aplicabilidade de predição afim a um bloco atual e um sinalizador de TMVP de sub-bloco que indica a disponibilidade de um preditor de vetor de movimento temporal com base em um sub-bloco do bloco atual; determinar, com base no sinalizador afim decodificado e no sinalizador de TMVP de sub-bloco, se decodifica um indicador de modo de mesclagem predeterminado indicando se aplica um modo de mesclagem predeterminado ao bloco atual; derivar amostras de predição para o bloco atual com base na determinação sobre se decodifica o sinalizador de modo de mesclagem predeterminado; e gerar amostras reconstruídas para o bloco atual com base nas amostras de predição para o bloco atual, em que, quando o valor do sinalizador afim for 1 ou o valor do sinalizador de TMVP de sub-bloco for 1, determina- se decodificar o sinalizador de modo de mesclagem predeterminado.
[012] De acordo com outra modalidade da presente revelação, proporciona- se um aparelho de decodificação que realiza decodificação de imagem. O aparelho de decodificação compreende um decodificador de entropia que decodifica, com base em um fluxo de bits, um sinalizador afim que indica a aplicabilidade de predição afim a um bloco atual e um sinalizador de TMVP de sub-bloco que indica a disponibilidade de um preditor de vetor de movimento temporal com base em um sub-bloco do bloco atual; e determinar, com base no sinalizador afim decodificado e no sinalizador de TMVP de sub-bloco decodificado, se decodifica um sinalizador de modo de mesclagem predeterminado que indica se aplica um modo de mesclagem predeterminado ao bloco atual; um preditor que deriva amostras de predição para o bloco atual com base na determinação sobre se decodifica o sinalizador de modo de mesclagem predeterminado; e um adicionador que gera amostras reconstruídas para o bloco atual com base nas amostras de predição para o bloco atual, em que, quando o valor do sinalizador afim for 1 ou o valor do sinalizador de TMVP de sub-bloco for 1, determina-se decodificar o sinalizador de modo de mesclagem predeterminado.
[013] De acordo com ainda outra modalidade da presente revelação, proporciona-se um método de codificação de imagem realizado por um aparelho de codificação. O método compreende determinar a aplicabilidade de predição afim a um bloco atual e a disponibilidade de um preditor de vetor de movimento temporal com base em um sub-bloco do bloco atual; determinar, com base na determinação sobre a aplicabilidade da predição afim ao bloco atual e a disponibilidade do preditor de vetor de movimento temporal com base no sub-bloco do bloco atual, se codifica um sinalizador de modo de mesclagem predeterminado que indica se aplica um modo de mesclagem predeterminado ao bloco atual; e codificar, com base na determinação sobre se codifica o sinalizador de modo de mesclagem predeterminado, um sinalizador afim que indica a aplicabilidade da predição afim ao bloco atual, um sinalizador de TMVP de sub-bloco que indica a disponibilidade do preditor de vetor de movimento temporal com base no sub-bloco do bloco atual, e o sinalizador de modo de mesclagem predeterminado, em que, quando o valor do sinalizador afim for 1 ou o valor do sinalizador de TMVP de sub-bloco for 1, determina-se codificar o sinalizador de modo de mesclagem predeterminado.
[014] De acordo com ainda outra modalidade da presente revelação, proporciona-se um aparelho de codificação que realiza codificação de imagem. O aparelho de codificação compreende um preditor que determina a aplicabilidade de predição afim a um bloco atual e a disponibilidade de um preditor de vetor de movimento temporal com base em um sub-bloco do bloco atual; e determinar, com base na determinação sobre a aplicabilidade da predição afim ao bloco atual e disponibilidade do preditor de vetor de movimento temporal com base no sub-bloco do bloco atual, se codifica um sinalizador de modo de mesclagem predeterminado que indica se aplica um modo de mesclagem predeterminado ao bloco atual, e um codificador de entropia que codifica, com base na determinação sobre se codifica o sinalizador de modo de mesclagem predeterminado, um sinalizador afim que indica a aplicabilidade da predição afim ao bloco atual, um sinalizador de TMVP de sub-bloco que indica a disponibilidade do preditor de vetor de movimento temporal com base no sub-bloco do bloco atual, e no sinalizador de modo de mesclagem predeterminado, em que, quando o valor do sinalizador afim for 1 ou o valor do sinalizador de TMVP de sub-bloco for 1, determina-se codificar o sinalizador de modo de mesclagem predeterminado.
[015] De acordo com ainda outra modalidade da presente revelação, proporciona-se uma mídia de armazenamento legível por decodificador, que armazena informações sobre as instruções que induzem um aparelho de decodificação de vídeo a realizar métodos de decodificação de acordo com parte das modalidades.
[016] De acordo com ainda outra modalidade da presente revelação, proporciona-se uma mídia de armazenamento legível por decodificador, que armazena informações sobre as instruções que induzem um aparelho de decodificação de vídeo a realizar métodos de decodificação de acordo com uma das modalidades. O método de decodificação de acordo com uma modalidade compreende decodificar, com base em um fluxo de bits, um sinalizador afim que indica a aplicabilidade de predição afim a um bloco atual e um sinalizador de TMVP de sub- bloco que indica a disponibilidade de um preditor de vetor de movimento temporal com base em um sub-bloco do bloco atual; determinar, com base no sinalizador afim decodificado e no sinalizador de TMVP de sub-bloco decodificado, se decodifica um sinalizador de modo de mesclagem predeterminado que indica se aplica um modo de mesclagem predeterminado ao bloco atual; derivar amostras de predição para o bloco atual com base na determinação sobre se decodifica o sinalizador de modo de mesclagem predeterminado; e gerar amostras reconstruídas para o bloco atual com base nas amostras de predição para o bloco atual, em que, quando o valor do sinalizador afim for 1 ou o valor do sinalizador de TMVP de sub-bloco for 1, determina- se decodificar o sinalizador de modo de mesclagem predeterminado.
EFEITOS VANTAJOSOS
[017] De acordo com a presente revelação, pode-se aperfeiçoar a eficiência de compactação de imagem/vídeo geral.
[018] De acordo com a presente revelação, pode-se aperfeiçoar a eficiência de codificação de imagem através de um projeto de sintaxe de alto nível e sinaxe de baixo nível.
[019] De acordo com a presente revelação, pode-se aperfeiçoar a eficiência de codificação de imagem usando elementos de sintaxe de alto nível e/ou baixo nível para realizar predição de movimento com base em sub-blocos.
[020] De acordo com a presente revelação, pode-se aperfeiçoar a eficiência de codificação de imagem usando elementos de sintaxe de alto nível e/ou baixo nível para realizar predição de movimento com base em um modelo afim.
[021] De acordo com a presente revelação, pode-se aperfeiçoar a eficiência de codificação de imagem determinando-se, com base em um sinalizador afim e um sinalizador de TMVP de sub-bloco, se decodifica um sinalizador de modo de mesclagem predeterminado indicando se aplica um modo de mesclagem predeterminado a um bloco atual.
BREVE DESCRIÇÃO DOS DESENHOS
[022] A Figura 1 ilustra um exemplo de um sistema de codificação de vídeo/imagem ao qual a presente revelação pode ser aplicada.
[023] A Figura 2 ilustra uma configuração de um aparelho de codificação de vídeo/imagem ao qual a presente revelação pode ser aplicada.
[024] A Figura 3 ilustra uma configuração de um aparelho de decodificação de vídeo/imagem ao qual a presente revelação pode ser aplicada.
[025] A Figura 4 é um fluxograma que ilustra uma operação de um aparelho de codificação de acordo com uma modalidade.
[026] A Figura 5 ilustra uma configuração de um aparelho de codificação de acordo com uma modalidade.
[027] A Figura 6 é um fluxograma que ilustra uma operação de um aparelho de decodificação de acordo com uma modalidade.
[028] A Figura 7 ilustra uma configuração de um aparelho de decodificação de acordo com uma modalidade.
[029] A Figura 8 ilustra um exemplo de um sistema de transmissão de dados de conteúdos ao qual a presente revelação pode ser aplicada.
DESCRIÇÃO DAS MODALIDADES EXEMPLIFICADORAS
[030] De acordo com uma modalidade da presente revelação, proporciona-se um método de decodificação de imagem realizado por um aparelho de decodificação. O método compreende decodificar, com base em um fluxo de bits, um sinalizador afim que indica a aplicabilidade de predição afim a um bloco atual e um sinalizador de TMVP de sub-bloco que indica a disponibilidade de um preditor de vetor de movimento temporal com base em um sub-bloco do bloco atual; determinar, com base no sinalizador afim decodificado e no sinalizador de TMVP de sub-bloco decodificado, se decodifica um sinalizador de modo de mesclagem predeterminado que indica se aplica um modo de mesclagem predeterminado ao bloco atual; derivar amostras de predição para o bloco atual com base na determinação sobre se decodifica o sinalizador de modo de mesclagem predeterminado; e gerar amostras reconstruídas para o bloco atual com base nas amostras de predição para o bloco atual, em que, quando o valor do sinalizador afim for 1 ou o valor do sinalizador de TMVP de sub-bloco for 1, determina-se decodifica o sinalizador de modo de mesclagem predeterminado.
[031] A presente revelação pode ser modificada de várias formas, e modalidades específicas da mesma serão descritas e mostradas nos desenhos. No entanto, as modalidades não são destinadas a limitar esta revelação. Os termos usados na descrição a seguir são usados para meramente descrever modalidades específicas, mas não são destinadas a limitar esta revelação. Uma expressão de um número singular inclui uma expressão do número no plural, desde que seja claramente lida diferentemente. Os termos “incluir” e “ter” são destinados a indicar que recursos, números, etapas, operações, elementos, componentes ou combinações dos mesmos usados na descrição a seguir existem e, portanto, deve-se compreender que a possibilidade de existência ou adição de um ou mais diferentes recursos, números, etapas, operações, elementos, componentes ou combinações dos mesmos não é excluída.
[032] Entretanto, cada um dos componentes nos desenhos descritos nesta revelação é mostrado independentemente por motivos de conveniência de descrição considerando as diferentes funções características, e não significa que os componentes são implementados em hardware separado ou em 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 configurações. As modalidades onde cada configuração é integrada e/ou separada também são incluídas no escopo desta revelação sem divergir do âmbito da presente revelação.
[033] Doravante, modalidades exemplificadoras desta revelação serão descritas em detalhes com referência aos desenhos anexos. Doravante, as mesmas referências numéricas são usadas para os mesmos componentes nos desenhos, e pode-se omitir descrições redundantes dos mesmos componentes.
[034] A Figura 1 ilustra, de modo esquemático, um sistema de codificação de vídeo/imagem ao qual a presente revelação pode ser aplicada.
[035] Referindo-se à Figura 1, um sistema de codificação de vídeo/imagem pode incluir um primeiro aparelho (um dispositivo de origem) e um segundo aparelho (um dispositivo de recepção). O dispositivo de origem pode entregar informações ou dados de vídeo/imagem codificados sob a forma de um arquivo ou transmissão de dados ao dispositivo de recepção através de uma mídia de armazenamento digital ou rede.
[036] 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 denominado um aparelho de codificação de vídeo/imagem, e o aparelho de decodificação pode ser denominado como um aparelho de decodificação de vídeo/imagem. O transmissor pode ser incluído no aparelho de codificação. O receptor pode ser incluído no aparelho de decodificação. O renderizador pode incluir uma tela, e a tela pode ser configurada como um dispositivo separado ou um componente externo.
[037] A fonte de vídeo pode adquirir vídeo/imagem através de um processo de 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ídeos/imagens previamente 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 gerar dados relacionados.
[038] O aparelho de codificação pode codificar vídeo/imagem de entrada. O aparelho de codificação pode realizar uma série de procedimentos como predição, transformada, e quantização para compactação e eficiência de codificação. Os dados codificados (informações de vídeo/imagem codificadas) podem ser emitidos sob a forma de um fluxo de bits.
[039] O transmissor pode transmitir as informações ou dados de imagem/imagem codificados emitidas sob a forma de um fluxo de bits ao receptor do dispositivo de recepção através de uma mídia de armazenamento digital ou uma rede sob a forma de um arquivo ou transmissão de dados. A mídia de armazenamento digital pode incluir várias mídias 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 radiodifusão/comunicação. O receptor pode receber/extrair o fluxo de bits e transmitir o fluxo de bits recebido ao aparelho de decodificação.
[040] O aparelho de decodificação pode decodificar o vídeo/imagem realizando-se uma série de procedimentos tais como desquantização, transformada inversa, e predição correspondente à operação do aparelho de codificação.
[041] O renderizador pode renderizar o vídeo/imagem decodificado. O vídeo/imagem renderizado pode ser exibido através da tela.
[042] Este documento se refere à codificação de vídeo/imagem. Por exemplo, os métodos/modalidades revelados neste documento podem ser aplicados a um método revelado na codificação de vídeo versátil (VVC), padrão EVC (codificação de vídeo essencial), padrão AOMedia Video 1 (AV1), padrão de 2a geração de codificação de vídeo e áudio (AVS2), ou o padrão de codificação de vídeo/imagem de próxima geração (ex. H.267 ou H.268, etc.).
[043] Este 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.
[044] Neste documento, o vídeo pode se referir a uma série de imagens com o passar do tempo. Em geral, gravura (picture) se refere a uma unidade que representa uma imagem em um fuso-horário específico, e uma fatia/ladrilho (slice/tile) é uma unidade que constitui parte de uma gravura em codificação. A fatia/ladrilho pode incluir uma ou mais unidades de árvore de codificação (CTUs). Uma gravura pode consistir em uma ou mais fatias/ladrilhos. Uma gravura pode consistir em 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 fileiras de CTU em um ladrilho em uma gravura. Um ladrilho pode ser particionado em múltiplos tijolos (bricks), sendo que cada um consiste em uma ou mais fileiras de CTU dentro do ladrilho. Um ladrilho que não é particionado em múltiplos tijolos também pode ser referido como um tijolo. Uma varredura de tijolo é uma ordenação sequencial específica de CTUs que particionam uma gravura em que as CTUs são ordenadas consecutivamente em varredura rasterizada de CTU em um tijolo, tijolos dentro de um ladrilho são ordenados consecutivamente em uma varredura rasterizada dos tijolos do ladrilho, e os ladrilhos em uma gravura são ordenados consecutivamente em uma varredura rasterizada dos ladrilhos da gravura. Um ladrilho é uma região retangular de CTUs dentro de uma coluna de ladrilho particular e uma fileira de ladrilho particular em uma gravura. A coluna de ladrilho é uma região retangular de CTUs tendo uma altura igual à altura da gravura e uma largura especificada pelos elementos de sintaxe no conjunto de parâmetro de gravura. A fileira de ladrilho é uma região retangular de CTUs tendo uma altura especificada pelos elementos de sintaxe no conjunto de parâmetro de gravura e uma largura igual à largura da gravura. Uma varredura de ladrilho é uma ordenação específica de CTUs que particionam uma gravura em que as CTUs são ordenadas consecutivamente em varredura rasterizada de CTU em um ladrilho enquanto os ladrilhos em uma gravura são ordenados consecutivamente em uma varredura rasterizada dos ladrilhos da gravura. Uma fatia inclui um número inteiro de tijolos de uma gravura que pode ser exclusivamente contida em uma unidade de NAL simples. Uma fatia pode consistir em um número de ladrilhos completos ou somente uma sequência consecutiva de tijolos completos de um ladrilho. Os grupos de ladrilho e fatias podem ser usados de modo intercambiável neste documento. Por exemplo, neste documento, um grupo de ladrilho/cabeçalho de grupo de ladrilho pode ser denominado como uma fatia/cabeçalho de fatia.
[045] Um pixel ou um pel pode significar uma menor unidade que constitui uma gravura (ou imagem). Da mesma forma, ‘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 somente um pixel/valor de pixel de um componente de luma ou somente um pixel/valor de pixel de um componente de croma.
[046] Uma unidade pode representar uma unidade básica de processamento de imagem. A unidade pode incluir pelo menos uma dentre regiões específicas da gravura e informações relacionadas à região. Uma unidade pode incluir um bloco de luma e dois blocos de croma (ex. Cb, cr). A unidade pode ser usada de modo intercambiável com termos como bloco ou área em alguns casos. Em um caso geral, um bloco MxN pode incluir amostras (ou arranjos de amostra) ou um conjunto (ou arranjo) de coeficientes de transformada de M colunas e N fileiras.
[047] Neste documento, o termo “/” e “,” deve ser interpretado para indicar “e/ou.” Por exemplo, a expressão “A/B” pode significar “A e/ou B.” Ademais, “A, B” ode significar “A e/ou B.” Ademais, “A/B/C” pode significar “pelo menos um dentre A, B, e/ou C.” Da mesma forma, “A/B/C” pode significar “pelo menos um dentre A, B, e/ou C.”
[048] Ademais, no documento, o termo “ou” deve ser interpretado para indicar “e/ou.” Por exemplo, a expressão “A ou B” pode compreender 1) somente A, 2) somente B, e/ou 3) tanto A como B. Em outras palavras, o termo “ou” neste documento deve ser interpretado para indicar “adicional ou alternativamente.”
[049] A Figura 2 é um diagrama esquemático que ilustra uma configuração de um aparelho de codificação de vídeo/imagem ao qual as modalidades do presente revelação podem ser aplicadas. Doravante, o aparelho de codificação de vídeo pode incluir um aparelho de codificação de imagem.
[050] Referindo-se à Figura 2, o aparelho de codificação 200 inclui um particionador de imagem 210, um preditor 220, um processador de residual 230, e um codificador de entropia 240, um adicionador 250, um filtro 260, e uma memória 270. O preditor 220 pode incluir um interpreditor 221 e um intrapreditor 222. O processador de residual 230 pode incluir um transformador 232, um quantizador 233, um desquantizador 234, e um transformador inverso 235. O processador de residual 230 pode incluir, ainda, um subtrator 231. O adicionador 250 pode ser denominado como um reconstrutor ou um gerador de bloco reconstruído. O particionador de imagem 210, o preditor 220, o processador de residual 230, o codificador de entropia 240, o adicionador 250, e o filtro 260 podem ser configurados por ao menos um componente de hardware (ex. um chipset ou processador de codificador) de acordo com uma modalidade. Além disso, a memória 270 pode incluir uma memória temporária de gravura decodificada (DPB) ou pode ser configurada por uma mídia de armazenamento digital. O componente de hardware pode incluir, ainda, a memória 270 como um componente interno/externo.
[051] O particionador de imagem 210 pode particionar uma imagem de entrada (ou uma gravura ou um quadro) inserida ao aparelho de codificação 200 em um ou mais processadores. Por exemplo, o processador pode ser denominado como 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 terciária (QTBTTT) a partir de uma unidade de árvore de codificação (CTU) ou uma maior 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 mais profunda com base em uma estrutura de árvore quaternária, estrutura de árvore binária, e/ou uma estrutura terciária. Nesse caso, por exemplo, a estrutura de árvore quaternária pode ser aplicada primeiramente e a estrutura de árvore binária e/ou estrutura terciária podem ser aplicadas posteriormente. Alternativamente, a estrutura de árvore binária pode ser aplicada primeiro. O procedimento de codificação de acordo com esta revelação pode ser realizado com base na unidade de codificação final que não é mais particionada. Nesse caso, a maior unidade de codificação pode ser usada como a unidade de codificação final com base na eficiência de codificação 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 profundidade mais profunda e uma unidade de codificação tendo um tamanho ideal pode ser usada como a unidade de codificação final. No presente documento, o procedimento de codificação pode incluir um procedimento de predição, transformada, e reconstrução, que serão descritos posteriormente. Como outro exemplo, o processador pode incluir, ainda, uma unidade de predição (PU) ou uma unidade de transformada (TU). Nesse caso, a unidade de predição e a unidade de transformada podem ser divididas ou particionadas a partir da unidade de codificação final supramencionada. A unidade de predição pode ser uma unidade de predição de amostra, e a unidade de transformada pode ser uma unidade para derivar um coeficiente de transformada e/ou uma unidade para derivar um sinal residual a partir do coeficiente de transformada.
[052] A unidade pode ser usada de modo 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 ou coeficientes de transformada compostos por M colunas e N fileiras. Uma amostra pode representar, em geral, um pixel ou um valor de um pixel, pode representar somente um pixel/valor de pixel de um componente de luma ou representar somente um pixel/valor de pixel de um componente de croma. Uma amostra pode ser usada como um termo correspondente a uma gravura (ou imagem) para um pixel ou um pel.
[053] No aparelho de codificação 200, um sinal de predição (bloco predito, arranjo de amostra de predição) emitido a partir do interpreditor 221 ou o intrapreditor 222 é subtraído de um sinal de imagem de entrada (bloco original, arranjo de amostra original) para gerar um bloco residual de sinal residual, arranho de amostra residual), e o sinal residual gerado é transmitido ao transformador 232. Nesse caso, conforme mostrado, uma unidade para subtrair um sinal de predição (bloco predito, arranjo de amostra de predição) a partir do sinal de imagem de entrada (bloco original, arranjo de bloco original) no codificador 200 pode ser denominada como um subtrator 231. O preditor pode realizar uma predição em um bloco a ser processado (doravante, referido como um bloco atual) e gerar um bloco predito incluindo amostras de predição para o bloco atual. O preditor pode determinar se uma intrapredição ou uma interpredição é aplicada em um bloco atual ou base de CU. Conforme descrito mais adiante na descrição de cada modo de predição, o preditor pode gerar vários tipos de informações relacionadas à predição, tais 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.
[054] O intrapreditor 222 pode predizer o bloco atual referindo-se às amostras na gravura atual. As amostras referidas podem estar localizadas na vizinhança do bloco atual ou podem estar localizadas 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 planar. 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. No entanto, esse é meramente um exemplo, mais ou menos modos de predição direcional podem ser usados dependendo de um ajuste. O intrapreditor 222 pode determinar o modo de predição aplicado ao bloco atual utilizando-se um modo de predição aplicado a um bloco vizinho.
[055] O interpreditor 221 pode derivar um bloco predito para o bloco atual com base em um bloco de referência (arranjo de amostra de referência) especificado por um vetor de movimento em uma gravura de referência. No presente documento, a fim de reduzir a quantidade de informações de movimento transmitidas no modo de interpredição, as informações de movimento podem ser preditas 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, ainda, 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 denominado como 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 denominada como uma gravura colocalizada (colPic). Por exemplo, o interpreditor 221 pode configurar uma lista de candidato de informações de movimento com base em bloco vizinhos e gerar informações que indicam 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 omissão 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 omissão, diferentemente do modo de mesclagem, o sinal residual pode não ser transmitido. No caso do modo de predição de vetor de movimento (MVP), o vetor de movimento do bloco vizinho pode ser usado como um vetor de movimento preditor e o vetor de movimento do bloco atual pode ser indicado sinalizando-se uma diferença de vetor de movimento.
[056] 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 somente aplicar uma intrapredição ou uma interpredição para predizer um bloco, mas também aplicar simultaneamente tanto intrapredição como interpredição. Isso pode ser denominado como inter e intrapredição combinadas (CIIP). Além disso, o preditor pode se basear em um modo de predição de cópia intrabloco (IBC) ou um modo de palete para predição de um bloco. O modo de predição de IBC ou o modo de palete podem ser usados para codificação de imagem/vídeo de conteúdo ou similares, por exemplo, codificação de conteúdo de tela (etapa, SCC). O IBC basicamente realiza uma predição na gravura atual, mas pode ser realizado similarmente para interpredição caracterizado pelo fato de um bloco de referência ser derivado na gravura atual. Ou seja, o IBC pode usar pelo menos uma das técnicas de interpredição descritas neste documento. O modo de palete pode ser considerado como um exemplo de intracodificação ou intrapredição. Quando o modo de palete for aplicado, um valor de amostra dentro de uma gravura pode ser sinalizado com base nas informações sobre a tabela de palete e o índice de palete.
[057] O sinal de predição gerado pelo preditor (incluindo o interpreditor 221 e/ou o intrapreditor 222) pode ser usado para gerar um sinal reconstruído ou gerar um sinal residual. O transformador 232 pode gerar coeficientes de transformada aplicando-se 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). No presente documento, a GBT significa uma transformada de um gráfico quando as informações de relação entre pixels forem representadas pelo gráfico. A CNT se refere a uma transformada gerada com base em um sinal de predição gerado usando todos os pixels previamente reconstruídos. Além disso, o processo de transformada pode ser aplicado a blocos de pixel quadrado tendo o mesmo tamanho ou pode ser aplicado a blocos tendo um tamanho variável ao invés de quadrado.
[058] O quantizador 233 pode quantizar os coeficientes de transformada e transmiti-los 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 referidas como 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. As informações em 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 adaptativa de contexto (CAVLC), codificação aritmética binária adaptativa de contexto (CABAC), e similares. O codificador de entropia 240 pode codificar as informações necessárias para reconstrução de vídeo/imagem diferentes dos coeficientes de transformada quantizados (ex. valores de elementos de sintaxe, etc.) juntos ou separadamente. As informações codificadas (ex. 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, ainda, informações em vários conjuntos de parâmetros como um conjunto de parâmetro de adaptação (APS), um conjunto de parâmetro de gravura (PPS), um conjunto de parâmetro de sequência (SPS), ou um conjunto de parâmetro de vídeo (VPS). Além disso, as informações de vídeo/imagem podem incluir, ainda, informações de restrição gerais. Neste documento, informações e/ou elementos de sintaxe transmitidos/sinalizados a partir do aparelho de codificação ao aparelho de decodificação podem ser incluídos em 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 por uma rede ou pode ser armazenado em uma mídia de armazenamento digital. A rede pode incluir uma rede de radiodifusão e/ou uma rede de comunicação, e a mídia de armazenamento digital pode incluir várias mídias de armazenamento como USB, SD, CD, DVD, Blu-ray, HDD, SSD, e similares. Um transmissor (não mostrado) que transmite um sinal emitido a partir do codificador de entropia 240 e/ou uma unidade de armazenamento (não mostrada) que armazena o sinal pode ser incluído como elemento interno/externo do aparelho de codificação 200, e, alternativamente, o transmissor pode ser incluído no codificador de entropia 240.
[059] Os coeficientes de transformada quantizados emitidos a partir 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 aplicando- se desquantização e transformada inversa aos coeficientes de transformada quantizados através do desquantizador 234 e do transformador inverso 235. O adicionador 250 adiciona o sinal residual reconstruído ao sinal de predição emitido a partir do interpreditor 221 ou do intrapreditor 222 para gerar um sinal reconstruído (figuração reconstruída, bloco reconstruído, arranjo de amostra reconstruída). Se não existir um residual para o bloco a ser processado, tal como um caso onde o modo de omissão é aplicado, o bloco predito pode ser usado como o bloco reconstruído. O adicionador 250 pode ser denominado como 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 a ser processado na gravura atual e pode ser usado para interpredição de uma próxima gravura através da filtragem conforme descrito abaixo.
[060] Entretanto, o mapeamento de luma com escalonamento de croma (LMCS) pode ser aplicado durante codificação e/ou reconstrução de gravura.
[061] O filtro 260 pode aperfeiçoar a qualidade de imagem subjetiva/objetiva aplicando-se filtragem ao sinal reconstruído. Por exemplo, o filtro 260 pode gerar uma gravura reconstruída modificada aplicando-se 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 desblocagem (deblocking), um deslocamento adaptativo de amostra, um filtro de laço adaptativo, um filtro bilateral, e similares. O filtro 260 pode gerar vários tipos de informações relacionadas à filtragem e transmitir as informações geradas ao codificador de entropia 240 conforme descrito mais adiante 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.
[062] 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 for aplicada através do aparelho de codificação, 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 aperfeiçoada.
[063] O DPB da memória 270 DPB 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á foi reconstruída. 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 amostras reconstruídas de blocos reconstruídos na gravura atual e pode transferir as amostras reconstruídas ao intrapreditor 222.
[064] A Figura 3 é um diagrama esquemático que ilustra uma configuração de um aparelho de decodificação de vídeo/imagem ao qual as modalidades da presente revelação podem ser aplicadas.
[065] Referindo-se à Figura 3, o aparelho de decodificação 300 pode incluir um decodificador de entropia 310, um processador de residual 320, um preditor 330, um adicionador 340, um filtro 350 e uma memória 360. O preditor 330 pode incluir um interpreditor 331 e um intrapreditor 332. O processador de residual 320 pode incluir um desquantizador 321 e um transformador inverso 321. O decodificador de entropia 310, o processador de residual 320, o preditor 330, o adicionador 340, e o filtro 350 podem ser configurados por um componente de hardware (ex. um chipset de decodificador ou um processador) de acordo com uma modalidade. Além disso, a memória 360 pode incluir uma memória temporária de gravura decodificada (DPB) ou pode ser configurada por uma mídia de armazenamento digital. O componente de hardware pode incluir, ainda, a memória 360 como um componente interno/externo.
[066] 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 no qual 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 a partir do fluxo de bits. O aparelho de decodificação 300 pode realizar decodificação usando um processador aplicado no aparelho de codificação. Logo, 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 terciária a partir da unidade de árvore de codificação ou a maior unidade de codificação. Uma ou mais unidades de transformada podem ser derivadas a partir 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.
[067] O aparelho de decodificação 300 pode receber um sinal emitido a partir 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 (ex. informações de vídeo/imagem) necessárias para reconstrução de imagem (ou reconstrução de gravura). As informações de vídeo/imagem podem incluir, ainda, informações em vários conjuntos de parâmetros como um conjunto de parâmetro de adaptação (APS), um conjunto de parâmetro de gravura (PPS), um conjunto de parâmetro de sequência (SPS), ou um conjunto de parâmetro de vídeo (VPS). Além disso, as informações de vídeo/imagem podem incluir, ainda, informações de restrição geral. O aparelho de decodificação pode decodificar, ainda, uma gravura com base nas informações no conjunto de parâmetro e/ou as informações de restrição geral. As informações sinalizadas/recebidas e/ou elementos de sintaxe descritos posteriormente neste documento que podem ser decodificadas podem decodificar o procedimento de decodificação e obtidas a partir 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 tal como codificação exponencial de Golomb, CAVLC, ou CABAC, e elementos de sintaxe emitidos necessários para reconstrução de imagem e valores quantizados e coeficientes de transformada para residual. De modo mais específico, o método de decodificação de entropia de 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 alvo de decodificação, informações de decodificação de um bloco alvo de decodificação ou informações de um símbolo/bin decodificadas em estágio prévio, e realizar uma decodificação aritmética no bin predizendo-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 de CABAC pode atualizar o modelo de contexto utilizando- se as informações do símbolo/bin decodificados 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 dentre as informações decodificadas pelo decodificador de entropia 310 podem ser proporcionadas ao preditor (o interpreditor 332 e o intrapreditor 331), e o valor residual no qual uma decodificação de entropia foi realizada no decodificador de entropia 310, ou seja, os coeficientes de transformada quantizada e informações de parâmetro relacionadas, podem ser emitidos ao processador de residual 320. O processador de residual 320 pode derivar o sinal residual (o bloco residual, as amostras residuais, o arranjo de amostra residual). Além disso, as informações sobre filtragem dentre informações decodificadas pelo decodificador de entropia 310 podem proporcionadas ao filtro 350. Entretanto, um receptor (não mostrado) para receber um sinal emitido a partir do aparelho de codificação pode ser configurado, ainda, 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 este documento pode ser referido como 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 sample). O decodificador de informações pode incluir o decodificador de entropia 310, e o decodificador de amostra pode incluir pelo menos um dentre o desquantizador 321, o transformador inverso 322, o adicionador 340, o filtro 350, a memória 360, o interpreditor 332, e o intrapreditor 331.
[068] 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 uma desquantização nos coeficientes de transformada quantizados utilizando-se um parâmetro de quantização (ex. informações de tamanho de etapa de quantização) e obtém coeficientes de transformada.
[069] O transformador inverso 322 transforma inversamente os coeficientes de transformada para obter um sinal residual (bloco residual, arranjo de amostra residual).
[070] O preditor pode realizar uma predição no bloco atual e gerar um bloco predito incluindo amostras de predição para o bloco atual. O preditor pode determinar se intrapredição ou interpredição é aplicada ao bloco atual com base nas informações na predição emitida a partir do decodificador de entropia 310 e pode determinar um modo de intra/interpredição específico.
[071] O preditor 320 pode gerar um sinal de predição com base em vários métodos de predição descritos mais adiante. Por exemplo, o preditor pode não somente aplicar intrapredição ou interpredição para predizer um bloco, mas também aplicar simultaneamente intrapredição e interpredição. Isso pode ser denominado como inter e intrapredição combinadas (CIIP). Além disso, o preditor pode se basear em um modo de intrapredição de cópia de bloco (IBC) ou um modo de palete para predição de um bloco. O modo de predição IBC ou modo de palete pode ser usado para codificação de imagem/vídeo de conteúdo de um jogo ou similares, por exemplo, codificação de conteúdos em tela (etapa, SCC). O IBC basicamente realiza predição na gravura atual, mas pode ser realizado similarmente à interpredição caracterizada pelo fato de que um bloco de referência é derivado na gravura atual. Ou seja, o IBC pode usar pelo menos uma das técnicas de interpredição descritas neste documento. O modo de palete pode ser considerado como um exemplo de intracodificação ou intrapredição. Quando o modo de palete for aplicado, um valor de amostra em uma gravura pode ser sinalizado com base nas informações na tabela de palete e no índice de palete.
[072] O intrapreditor 331 pode predizer o bloco atual referindo-se às amostras na gravura atual. As amostras referidas podem estar localizadas na vizinhança do bloco atual ou podem estar localizadas 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 utilizando-se um modo de predição aplicado a um bloco vizinho. O intrapreditor 331 pode predizer o bloco atual referindo-se às amostras na gravura atual. As amostras referenciadas podem estar situadas na vizinhança do bloco atual ou podem estar localizadas separadas de acordo com o modo de predição. Em 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 utilizando-se o modo de predição aplicado ao bloco vizinho.
[073] O interpreditor 332 pode derivar um bloco predito para o bloco atual com base em um bloco de referência (arranjo de amostra de referência) especificado por um vetor de movimento em uma gravura de referência. Nesse caso, a fim de reduzir a quantidade de informações de movimento transmitidas no modo de interpredição, as informações de movimento podem ser preditas 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, ainda 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 candidato de informações de movimento com base em 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 que indicam um modo de interpredição para o bloco atual.
[074] O adicionador 340 pode gerar um sinal reconstruído (figuração reconstruída, bloco reconstruído, arranjo de amostra reconstruído) adicionando-se o sinal residual obtido ao sinal de predição (bloco predito, arranjo de amostra predita) emitido a partir do preditor (incluindo o interpreditor 332 e/ou o intrapreditor 331). Se não houver um residual para o bloco a ser processado, tal como quando o modo de omissão for aplicado, o bloco predito pode ser usado como o bloco reconstruído.
[075] O adicionador 340 pode ser denominado como reconstrutor ou um gerador de bloco reconstruído. O sinal reconstruído gerado pode ser usado para intrapredição de um próximo bloco a ser processado na gravura atual, pode ser emitido através de filtragem conforme descrito abaixo, ou pode ser usado para interpredição de uma próxima gravura.
[076] Entretanto, um mapeamento de luma com escalonamento de croma (LMCS) pode ser aplicado no processo de decodificação de gravura.
[077] O filtro 350 pode aperfeiçoar a qualidade de imagem subjetiva/objetiva aplicando-se filtragem ao sinal reconstruído. Por exemplo, o filtro 350 pode gerar uma gravura reconstruída modificada aplicando-se 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 desblocagem, um deslocamento adaptativo de amostra, um filtro de laço adaptativo, um filtro bilateral, e similares.
[078] 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 a fim de serem utilizadas 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 amostras reconstruídas de blocos reconstruídos na gravura atual e transferir as amostras reconstruídas ao intrapreditor 331.
[079] 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 a corresponder ao filtro 350, o interpreditor 332, e o intrapreditor 331 do aparelho de decodificação 300. O mesmo pode se aplicar à unidade 332 e ao intrapreditor 331.
[080] Conforme descrito anteriormente, ao realizar uma codificação de vídeo, realiza-se uma predição para melhorar a eficiência de compactação. Um bloco predito que inclui amostras de predição para um bloco atual, ou seja, um bloco de codificação alvo, pode ser gerado através de predição. Nesse caso, o bloco predito inclui as amostras de predição em um domínio espacial (ou domínio de pixel). O bloco predito é identicamente derivado no aparelho de codificação e no aparelho de decodificação. O aparelho de codificação pode melhorar a eficiência de codificação de sinalizando- se, ao aparelho de decodificação, informações sobre um residual (informações residuais) entre o bloco original, não um próprio valor de amostra original do bloco original, e o bloco predito. O aparelho de decodificação pode derivar um bloco residual incluindo amostras residuais com base nas informações residuais, pode gerar uma amostra reconstruída incluindo amostras reconstruídas adicionando-se o bloco residual e o bloco predito, e pode gerar uma gravura reconstruída incluindo os blocos reconstruídos.
[081] As informações residuais podem ser geradas através de um processo de transformada e quantização. Por exemplo, o aparelho de codificação pode derivar o bloco residual entre o bloco original e o bloco predito, pode derivar coeficientes de transformada realizando-se um procedimento de transformada nas amostras residuais (arranjo de amostra residual) incluídas no bloco residual, pode derivar coeficientes de transformada quantizados realizando-se um procedimento de quantização nos coeficientes de transformada, e pode sinalizar informações residuais relacionadas ao aparelho de decodificação (através de um fluxo de bits). Nesse caso, as informações residuais podem incluir informações, como informações de valor, informações de localização, esquema de transformada, núcleo de transformada e parâmetro de quantização dos coeficientes de transformada quantizados. O aparelho de decodificação pode realizar um procedimento de desquantização/transformada inversa baseado nas informações residuais, e pode derivar amostras residuais (ou bloco residual). O aparelho de decodificação pode gerar uma gravura reconstruída com base no bloco predito e no bloco residual. Adicionalmente, o aparelho de codificação pode derivar um bloco residual desquantizando-se/transformando-se inversamente os coeficientes de transformada quantizados para referência à interpredição de uma gravura subsequente, e pode gerar uma gravura reconstruída.
[082] Em uma modalidade, para controlar uma predição de movimento baseada em sub-bloco, um sinalizador de TMVP de sub-bloco que indica disponibilidade de um preditor de vetor de movimento temporal com base em um sub- bloco pode ser usado. O sinalizador de TMVP de sub-bloco pode ser sinalizado em um nível de Conjunto de Parâmetros de Sequência (SPS) e pode controlar o ligamento/desligamento da predição de movimento baseada em sub-bloco. O sinalizador de TMVP de sub-bloco pode ser referido como sps_sbtmvp_enabled_flag conforme mostrado na Tabela 1 abaixo.
[083] Da mesma forma, para controlar um método de predição de movimento afim, um sinalizador afim que indica uma aplicabilidade de predição afim a um bloco atual pode ser usado. O sinalizador afim pode ser sinalizado no nível de SPS e pode controlar o ligamento/desligamento de predição afim. O sinalizador afim pode ser referido como sps_affine_enabled_flag conforme mostrado na Tabela 1 abaixo. Quando o valor do sinalizador afim for 1, a disponibilidade de uma predição afim de 6 parâmetros pode ser determinada sinalizando-se adicionalmente um sinalizador tipo afim.
[084] Um exemplo de sintaxe sinalizada no nível de SPS é mostrado na Tabela 1 abaixo.
Figure img0001
Figure img0002
[085] Em uma modalidade, de acordo com uma sintaxe de codificação de baixo nível, conforme mostrado na Tabela 2 abaixo, se merge_flag de um bloco atual (unidade de codificação) for 1, um sinalizador (por exemplo, um sinalizador afim de mesclagem) para indicar se mesclagem afim ou mesclagem normal é aplicada ao bloco atual pode ser sinalizado com base em uma condição (por exemplo, um tamanho de bloco ou um formato de bloco) do bloco atual. O sinalizador afim de mesclagem pode ser denotado por merge_affine_flag, por exemplo. Em um exemplo, quando o valor do sinalizador afim sinalizado no nível de SPS for 0 e o valor de merge_flag sinalizado em um nível de unidade de codificação for 1, pode-se determinar sem sinalização de um elemento de sintaxe adicional que uma mesclagem normal é aplicada ao bloco atual.
[086] Um exemplo de sintaxe sinalizada no nível de unidade de codificação é mostrado na Tabela 2 abaixo.
Figure img0003
Figure img0004
Figure img0005
[087] Entretanto, quando o projeto de sintaxe de alto nível da Tabela 1 e o projeto de sintaxe de baixo nível da Tabela 2 forem aplicados, um problema de projeto, um problema lógico e um problema conceitual podem ocorrer se ATMVP for usado como um candidato de mesclagem afim. Em um exemplo, quando o valor do sinalizador afim sinalizado no nível de SPS for 0 e o valor do sinalizador de TMVP de sub-bloco sinalizado no nível de SPS for 1, um candidato de ATMVP pode não ser usado como um candidato apesar de a sinalização indicar que ATMVP está disponível no nível de SPS. Além do problema de projeto e do problema lógico anteriores, um problema conceitual pode existir. ATMVP é um método de predição de movimento baseado em sub-blocos (em um exemplo, SubPu); um propósito de ATMVP consiste em determinar se a mesclagem de um bloco atual é uma mesclagem de sub-bloco ou uma mesclagem de não sub-bloco utilizando-se um candidato de predição de movimento como um candidato do modo de mesclagem afim que realiza uma predição baseada em sub-bloco para distinguir um candidato de predição de movimento não baseado em sub-bloco (em um exemplo, não baseado em SubPu) a partir de um candidato de predição de movimento baseado em sub-bloco na mesclagem normal. No entanto, apesar do propósito, o projeto de sintaxe de baixo nível de acordo com a Tabela 2 acima mostra que o ATMVP de sub-bloco é controlado de acordo com se uma mesclagem afim é usada.
[088] Para suplementar o problema de projeto, o problema lógico, e o problema conceitual, em uma modalidade, um projeto de sintaxe de alto nível e/ou sintaxe de baixo nível pode ser proporcionado com base em pelo menos uma das Tabelas 3 a 11 abaixo.
[089] Em uma modalidade, um sinalizador para controlar predição de movimento baseada em sub-bloco pode ser sinalizado no nível de SPS. O sinalizador para controlar predição de movimento baseada em sub-bloco pode ser denotado por sps_subpumvp_enabled_flag e pode ser usado para determinar o ligamento/desligamento da predição de movimento baseada em sub-bloco. Quando o valor de sps_subpumvp_enabled_flag for 1, affine_enabled_flag e sbtmvp_enabled_flag podem ser sinalizados conforme mostrado na Tabela 3 abaixo.
Figure img0006
[090] Quando o projeto de sintaxe de nível de SPS da Tabela 3 for usado, a disponibilidade de predição afim e ATMVP pode ser determinada conforme mostrado na Tabela 4 abaixo. Na Tabela 4, 1 indica que o método correspondente está disponível enquanto 0 indica que o método correspondente está indisponível.
Figure img0007
[091] Em uma modalidade, pode-se proporcionar um projeto de sintaxe de alto nível para controlar tanto uma predição afim como ATMVP baseado em sps_subpumvp_enabled_flag. De acordo com a presente modalidade, se o valor de sps_subpumvp_enabled_flag for 1, pode-se determinar que tanto a predição afim como ATMVP estão disponíveis. O projeto de sintaxe de alto nível de acordo com a presente modalidade pode ser conforme mostrado na Tabela 5 abaixo.
Figure img0008
Figure img0009
[092] Em uma modalidade, de acordo com a Tabela 5, pode-se proporcionar um método para usar slice_subpumvp_enabled_flag na sintaxe de cabeçalho de fatia para controlar especificamente a disponibilidade de ATMVP mesmo em cada unidade de fatia bem como controlar tanto a predição afim como ATMVP com base em sps_subpumvp_enabled_flag incluído na sintaxe de alto nível. A sintaxe no nível de cabeçalho de fatia de acordo com a presente modalidade pode ser conforme mostrado na Tabela 6 abaixo.
Figure img0010
[093] Em uma modalidade, quando um método de predição afim não for usado e sps_sbtmvp_enabled_flag for 1, pode-se proporcionar um método, que sinaliza merge_affine_flag e configura candidatos de movimento usando somente candidatos de ATMVP, mas não incluindo candidatos afim. Um exemplo de sintaxe de baixo nível que ilustra a presente modalidade é mostrado na Tabela 7 abaixo.
Figure img0011
Figure img0012
[094] Na Tabela 7, quando o valor de sps_affine_enabled_flag for 1 ou o valor de sps_sbtmvp_enabled_flag for 1, pode-se determinar decodificar merge_affine_flag que indica se aplica um modo afim de mesclagem.
[095] Em uma modalidade, quando o valor de sps_affine_enabled_flag for 1 ou o valor de sps_sbtmvp_enabled_flag for 1, pode-se determinar decodificar um sinalizador de sub-bloco de mesclagem (merge_subblock_flag) que indica se aplica um modo de sub-bloco de mesclagem. No modo de sub-bloco de mesclagem, um candidato de mesclagem pode ser determinado em unidades de sub-blocos.
[096] Na Tabela 7, quando a largura (cbWidth) e a altura (cbHeight) de um bloco atual forem maiores ou iguais a 8, respectivamente, e o valor de sps_affine_enabled_flag for 1, ou o valor de sps_sbtmvp_enabled_flag for 1, pode-se determinar decodificar um sinalizador afim de mesclagem (merge_affine_flag).
[097] Em uma modalidade, quando o número máximo de candidatos de mesclagem do sub-bloco do bloco atual for maior que 0, pode-se determinar decodificar o sinalizador de modo de mesclagem predeterminado.
[098] Em uma modalidade, quando o valor do sinalizador afim for 1 ou o valor do sinalizador de TMVP de sub-bloco for 1, o número máximo de candidatos de mesclagem do sub-bloco do bloco atual pode ser maior que 0.
[099] Em uma modalidade, se decodifica o sinalizador de modo de mesclagem predeterminado pode ser determinado com base em se a declaração se (MaxNumSubblockMergeCand > 0 && cbWidth >= 8 && cbHeight >= 8) é satisfeita. MaxNumSubblockMergeCand pode representar o número máximo de candidatos de mesclagem do sub-bloco, cbWidth pode representar a largura do bloco atual, e cbHeight pode representar a altura do bloco atual.
[0100] Na Tabela 7, quando o valor de sps_affine_enabled_flag for 0 e o valor de sps_sbtmvp_enabled_flag for 1, merge_affine_idx pode não ser sinalizado, mas pode ser inferido como sendo 0. De acordo com a modalidade da Tabela 7, a disponibilidade de predição afim e ATMVP pode ser determinada conforme mostrado na Tabela 8.
Figure img0013
[0101] Em uma modalidade, quando a predição afim não for usada e o valor de sps_sbtmvp_enabled_flag for 1, pode-se proporcionar um método para controlar ATMVP a ser usado como um candidato de mesclagem normal. De acordo com a presente modalidade, a disponibilidade de predição afim e ATMVP pode ser determinada conforme mostrado na Tabela 9 abaixo.
Figure img0014
[0102] Em uma modalidade, pode-se proporcionar um método para projetar uma sintaxe de alto nível que sinalize sps_sbtmvp_enabled_flag somente quando o valor de affine_enabled_flag for 1. Esse método pode ser destinado a considerar uma estrutura de uma ferramenta de codificação de baixo nível projetada de modo que ATMVP seja usado como um candidato de mesclagem afim e ATMVP não seja usado quando o valor de sps_affine_enabled_flag for 0. Um exemplo de sintaxe de alto nível de acordo com a presente modalidade é mostrado na Tabela 10 abaixo.
Figure img0015
Figure img0016
[0103] Quando o projeto de sintaxe de nível de SPS da Tabela 10 for usado, a disponibilidade de predição afim e ATMVP pode ser determinada conforme mostrado na Tabela 11.
Figure img0017
[0104] A Figura 4 é um fluxograma que ilustra uma operação de um aparelho de codificação de acordo com uma modalidade, e a Figura 5 ilustra uma configuração de um aparelho de codificação de acordo com uma modalidade.
[0105] O aparelho de codificação de acordo com as Figuras 4 e 5 pode realizar as operações correspondentes ao aparelho de decodificação de acordo com as Figuras 6 e 7. Portanto, as operações do aparelho de decodificação que será descrito com referência às Figuras 6 e 7 podem ser aplicadas da mesma forma ao aparelho de codificação de acordo com as Figuras 4 e 5.
[0106] As respectivas etapas mostradas na Figura 4 podem ser realizadas pelo aparelho de codificação 200 mostrado na Figura 2. De modo mais específico, as etapas S400 a S410 podem ser realizadas pelo preditor 220 revelado na Figura 2, e a etapa S420 pode ser realizada pelo codificador de entropia 240 revelado na Figura 2. Ademais, as operações de acordo com as etapas S400 a S420 se baseiam em parte das descrições fornecidas com referência à Figura 3. Portanto, descrições específicas que se sobrepõem aos detalhes descritos com referência às Figuras 2 e 3 serão omitidas ou simplificadas.
[0107] Conforme mostrado na Figura 5, um aparelho de codificação de acordo com uma modalidade pode incluir um preditor 220 e um codificador de entropia 240. No entanto, dependendo das situações, nem todos os elementos constituintes mostrados na Figura 5 podem ser elementos fundamentais do aparelho de codificação, e o aparelho de codificação pode ser implementado usando um número maior ou menor de elementos constituintes em relação àqueles mostrados na Figura 5.
[0108] No aparelho de codificação de acordo com uma modalidade, o preditor 220 e o codificador de entropia 240 podem ser implementados pelos respectivos chips, ou pelo menos dois ou mais elementos constituintes podem ser implementados usando um chip único.
[0109] O aparelho de codificação de acordo com uma modalidade pode determinar a aplicabilidade de predição afim a um bloco atual e a disponibilidade de um preditor de vetor de movimento temporal com base em um sub-bloco do bloco atual S400. De modo mais específico, o preditor 220 do aparelho de codificação pode determinar a aplicabilidade de predição afim a um bloco atual e a disponibilidade de um preditor de vetor de movimento temporal com base em um sub-bloco do bloco atual.
[0110] O aparelho de codificação de acordo com uma modalidade pode determinar, com base na determinação sobre a aplicabilidade da predição afim ao bloco atual e a disponibilidade do preditor de vetor de movimento temporal com base no sub-bloco do bloco atual, se codifica um sinalizador de modo de mesclagem predeterminado que indica se aplica um modo de mesclagem predeterminado ao bloco atual S410. De modo mais específico, o preditor 220 do aparelho de codificação pode determinar, com base na determinação sobre a aplicabilidade da predição afim ao bloco atual e a disponibilidade do preditor de vetor de movimento temporal com base no sub-bloco do bloco atual, se codifica um sinalizador de modo de mesclagem predeterminado que indica se aplica um modo de mesclagem predeterminado ao bloco atual.
[0111] Em um exemplo, o modo de mesclagem predeterminado pode ser um modo afim de mesclagem ou um modo de sub-bloco de mesclagem, e o sinalizador de modo de mesclagem predeterminado pode ser um sinalizador afim de mesclagem ou um sinalizador de sub-bloco de mesclagem. O sinalizador afim de mesclagem pode ser denotado por merge_affine_flag, e o sinalizador de sub-bloco de mesclagem pode ser denotado por merge_subblock_flag.
[0112] O aparelho de codificação de acordo com uma modalidade pode codificar, com base na determinação sobre se codifica o sinalizador de modo de mesclagem predeterminado, um sinalizador afim que indica a aplicabilidade da predição afim ao bloco atual, um sinalizador de TMVP de sub-bloco que indica a disponibilidade do preditor de vetor de movimento temporal com base no sub-bloco do bloco atual, e o sinalizador de modo de mesclagem predeterminado S420. De modo mais específico, o codificador de entropia 240 do aparelho de codificação pode codificar, com base na determinação sobre se codifica o sinalizador de modo de mesclagem predeterminado, um sinalizador afim que indica a aplicabilidade da predição afim ao bloco atual, um sinalizador de TMVP de sub-bloco que indica a disponibilidade do preditor de vetor de movimento temporal com base no sub-bloco do bloco atual, e o sinalizador de modo de mesclagem predeterminado.
[0113] Em uma modalidade, quando o valor do sinalizador afim for 1 ou o valor do sinalizador de TMVP de sub-bloco for 1, pode-se determinar codificar o sinalizador de modo de mesclagem predeterminado.
[0114] Em uma modalidade, quando a largura e a altura do bloco atual forem maiores ou iguais a 8, respectivamente, uma primeira condição que exige que o valor do sinalizador afim seja 1 é satisfeita, ou uma segunda condição que exige que o valor do sinalizador de TMVP de sub-bloco seja 1 é satisfeita, pode-se determinar codificar o sinalizador de modo de mesclagem predeterminado.
[0115] Em uma modalidade, pode-se determinar se codifica o sinalizador de modo de mesclagem predeterminado pela Equação 1 abaixo.
[Equação 1] if((sps_affine_enabled_flag && cbWidth >=8 && cbHeight >=8) || sps_sbtmvp_enabled_flag)
[0116] Na Equação 1, sps_affine_enabled_flag pode representar o sinalizador afim, cbWidth pode representar a largura do bloco atual, cbHeight pode representar a altura do bloco atual, e sps_sbtmvp_enabled_flag pode representar o sinalizador de TMVP de sub-bloco.
[0117] Em uma modalidade, o sinalizador de modo de mesclagem predeterminado pode ser um sinalizador afim de mesclagem que indica a aplicabilidade de um modo de mesclagem afim ao bloco atual ou um sinalizador de sub-bloco de mesclagem que indica a aplicabilidade de um modo de mesclagem ao bloco atual em unidades de sub-blocos.
[0118] Em uma modalidade, quando o número máximo de candidatos de mesclagem do sub-bloco do bloco atual for maior que 0, pode-se determinar codificar o sinalizador de modo de mesclagem predeterminado.
[0119] Em uma modalidade, quando o valor do sinalizador afim for 1 ou o valor do sinalizador de TMVP de sub-bloco for 1, o número máximo de candidatos de mesclagem do sub-bloco do bloco atual pode ser maior que 0.
[0120] Em uma modalidade, pode-se determinar se codifica o sinalizador de modo de mesclagem predeterminado com base na Equação 2.
[Equação 2] if(MaxNumSubblockMergeCand > 0 && cbWidth >= 8 && cbHeight >= 8)
[0121] Na Equação 2, MaxNumSubblockMergeCand pode representar o número máximo de candidatos de mesclagem do sub-bloco, cbWidth pode representar a largura do bloco atual, e cbHeight pode representar a altura do bloco atual.
[0122] De acordo com o aparelho de codificação e o método para operar o aparelho de codificação das Figuras 4 e 5, o aparelho de codificação pode determinar a aplicabilidade de predição afim a um bloco atual e a disponibilidade de um preditor de vetor de movimento temporal com base em um sub-bloco do bloco atual S400; determinar, com base na determinação sobre a aplicabilidade da predição afim ao bloco atual e a disponibilidade do preditor de vetor de movimento temporal com base no sub-bloco do bloco atual, se codifica um sinalizador de modo de mesclagem predeterminado que indica se aplica um modo de mesclagem predeterminado ao bloco atual S410; e codificar, com base na determinação sobre se codifica o sinalizador de modo de mesclagem predeterminado, um sinalizador afim que indica a aplicabilidade da predição afim ao bloco atual, um sinalizador de TMVP de sub-bloco que indica a disponibilidade do preditor de vetor de movimento temporal com base no sub-bloco do bloco atual, e o sinalizador de modo de mesclagem predeterminado S420, em que, quando o valor do sinalizador afim for 1 ou o valor do sinalizador de TMVP de sub-bloco for 1, determina-se codificar o sinalizador de modo de mesclagem predeterminado. Em outras palavras, a eficiência de codificação de imagem pode ser aperfeiçoada determinando-se se decodifica um sinalizador de modo de mesclagem predeterminado que indica se aplica um modo de mesclagem predeterminado a um bloco atual com base em um sinalizador afim e um sinalizador de TMVP de sub-bloco.
[0123] A Figura 6 é um fluxograma que ilustra uma operação de um aparelho de decodificação de acordo com uma modalidade, e a Figura 7 ilustra uma configuração de um aparelho de decodificação de acordo com uma modalidade.
[0124] As respectivas etapas mostradas na Figura 6 podem ser realizadas pelo aparelho de decodificação 300 mostrado na Figura 3. De modo mais específico, as etapas S600 e S610 podem ser realizadas pelo decodificador de entropia 310 revelado na Figura 3, e a etapa S630 pode ser realizada pelo adicionador 340 revelado na Figura 3. Ademais, as operações de acordo com as etapas S600 a S630 se baseiam em parte nas descrições dadas com referência à Figura 3. Portanto, descrições específicas que se sobrepõem aos detalhes descritos com referência à Figura 3 serão omitidas ou simplificadas.
[0125] Conforme mostrado na Figura 7, um aparelho de decodificação de acordo com uma modalidade pode incluir um decodificador de entropia 310, um preditor 330 e um adicionador 340. No entanto, dependendo de situações, nem todos os elementos constituintes mostrados na Figura 7 podem ser elementos essenciais do aparelho de decodificação, e o aparelho de decodificação pode ser implementado usando um número maior ou menor de elementos constituintes em relação àqueles mostrados na Figura 7.
[0126] No aparelho de decodificação de acordo com uma modalidade, o decodificador de entropia 310, o preditor 330 e o adicionador 340 podem ser implementados pelos respectivos chips, ou pelo menos dois ou mais elementos constituintes podem ser implementados usando um único chip.
[0127] O aparelho de decodificação de acordo com uma modalidade pode decodificar, com base em um fluxo de bits, um sinalizador afim que indica a aplicabilidade de predição afim a um bloco atual e um sinalizador de TMVP de sub- bloco que indica a disponibilidade de um preditor de vetor de movimento temporal com base em um sub-bloco do bloco atual S600. De modo mais específico, o decodificador de entropia 310 do aparelho de decodificação pode decodificar, com base em um fluxo de bits, um sinalizador afim que indica a aplicabilidade de predição afim a um bloco atual e um sinalizador de TMVP de sub-bloco que indica a disponibilidade de um preditor de vetor de movimento temporal com base em um sub-bloco do bloco atual.
[0128] Em um exemplo, o sinalizador afim pode ser denotado por sps_affine_enabled_flag, e o sinalizador de TMVP de sub-bloco pode ser denotado por sps_sbtmvp_enabled_flag. O sinalizador de TMVP de sub-bloco pode ser referido como um sinalizador de TMVP de sub-PU.
[0129] Em um exemplo, o sinalizador afim e o sinalizador de TMVP de sub- bloco podem ser sinalizados no nível de SPS.
[0130] O aparelho de decodificação de acordo com uma modalidade pode determinar, com base no sinalizador afim decodificado e no sinalizador de TMVP de sub-bloco decodificado, se decodifica um sinalizador de modo de mesclagem predeterminado que indica se aplica um modo de mesclagem predeterminado ao bloco atual S610. De modo mais específico, o decodificador de entropia 310 do aparelho de decodificação pode determinar, com base no sinalizador afim decodificado e no sinalizador de TMVP de sub-bloco decodificado, se decodifica um sinalizador de modo de mesclagem predeterminado que indica se aplica um modo de mesclagem predeterminado ao bloco atual.
[0131] Em um exemplo, o modo de mesclagem predeterminado pode ser um modo afim de mesclagem ou um modo de sub-bloco de mesclagem, e o sinalizador de modo de mesclagem predeterminado pode ser um sinalizador afim de mesclagem ou um sinalizador de sub-bloco de mesclagem. O sinalizador afim de mesclagem pode ser denotado por merge_affine_flag, e o sinalizador de sub-bloco de mesclagem pode ser denotado por merge_subblock_flag.
[0132] O aparelho de decodificação de acordo com uma modalidade pode derivar amostras de predição para o bloco atual com base na determinação sobre se decodifica o sinalizador de modo de mesclagem predeterminado S620. De modo mais específico, o preditor 330 do aparelho de decodificação pode derivar amostras de predição para o bloco atual com base na determinação sobre se decodifica o sinalizador de modo de mesclagem predeterminado.
[0133] O aparelho de decodificação de acordo com uma modalidade pode derivar um modo de predição a ser aplicado ao bloco atual com base na determinação sobre se decodifica o sinalizador de modo de mesclagem predeterminado e derivar amostras de predição para o bloco atual com base no modo de predição derivado.
[0134] O aparelho de decodificação de acordo com uma modalidade pode gerar amostras reconstruídas para o bloco atual com base nas amostras de predição para o bloco atual S630. De modo mais específico, o adicionador 340 do aparelho de decodificação pode gerar amostras reconstruídas para o bloco atual com base nas amostras de predição para o bloco atual.
[0135] Em uma modalidade, quando o valor do sinalizador afim for 1 ou o valor do sinalizador de TMVP de sub-bloco for 1, pode-se determinar decodificar o sinalizador de modo de mesclagem predeterminado.
[0136] Em um exemplo, quando o valor de sps_affine_enabled_flag for 1 ou o valor de sps_sbtmvp_enabled_flag for 1, pode-se determinar decodificar o sinalizador de modo de mesclagem predeterminado.
[0137] Em outro exemplo, quando o valor de sps_affine_enabled_flag for 1 ou o valor de sps_sbtmvp_enabled_flag for 1, pode-se determinar decodificar um sinalizador afim de mesclagem (merge_affine_flag).
[0138] Em ainda outro exemplo, quando o valor de sps_affine_enabled_flag for 1 ou o valor de sps_sbtmvp_enabled_flag for 1, pode-se determinar decodificar um sinalizador de sub-bloco de mesclagem (merge_subblock_flag).
[0139] Em uma modalidade, quando a largura e a altura do bloco atual forem maiores ou iguais a 8, respectivamente, uma primeira condição que requer que o valor do sinalizador afim seja 1 é satisfeita, ou uma segunda condição que requer que o valor do sinalizador de TMVP de sub-bloco seja 1 é satisfeita, pode-se determinar decodificar o sinalizador de modo de mesclagem predeterminado.
[0140] Em uma modalidade, pode-se determinar se decodifica o sinalizador de modo de mesclagem predeterminado com base na Equação 3 abaixo.
[Equação 3] if((sps_affine_enabled_flag && cbWidth >=8 && cbHeight >=8) || sps_sbtmvp_enabled_flag)
[0141] Na Equação 3, sps_affine_enabled_flag pode representar o sinalizador afim, cbWidth pode representar a largura do bloco atual, e cbHeight pode representar a altura do bloco atual, e sps_sbtmvp_enabled_flag pode representar o sinalizador de TMVP de sub-bloco.
[0142] Em uma modalidade, quando o número máximo de candidatos de mesclagem do sub-bloco do bloco atual for maior que 0, pode-se determinar decodificar o sinalizador de modo de mesclagem predeterminado.
[0143] Em uma modalidade, quando o valor do sinalizador afim for 1 ou o valor do sinalizador de TMVP de sub-bloco for 1, o número máximo de candidatos de mesclagem do sub-bloco do bloco atual pode ser maior que 0.
[0144] Em uma modalidade, pode-se determinar se decodifica o sinalizador de modo de mesclagem predeterminado com base na Equação 4.
[Equação 4] if(MaxNumSubblockMergeCand > 0 && cbWidth >= 8 && cbHeight >= 8 )
[0145] Na Equação 4, MaxNumSubblockMergeCand pode representar o número máximo de candidatos de mesclagem do sub-bloco, cbWidth pode representar a largura do bloco atual, e cbHeight pode representar a altura do bloco atual.
[0146] De acordo com o aparelho de decodificação e o método para operar o aparelho de decodificação das Figuras 6 e 7, o aparelho de decodificação pode decodificar, com base em um fluxo de bits, um sinalizador afim que indica a aplicabilidade de predição afim a um bloco atual e um sinalizador de TMVP de sub- bloco que indica a disponibilidade de um preditor de vetor de movimento temporal com base em um sub-bloco do bloco atual S600; determinar, com base no sinalizador afim decodificado e no sinalizador de TMVP de sub-bloco decodificado, se decodifica um sinalizador de modo de mesclagem predeterminado que indica se aplica um modo de mesclagem predeterminado ao bloco atual S610; derivar amostras de predição para o bloco atual com base na determinação sobre se decodifica o sinalizador de modo de mesclagem predeterminado S620; e gerar amostras reconstruídas para o bloco atual com base nas amostras de predição para o bloco atual S630, em que, quando o valor do sinalizador afim for 1 ou o valor do sinalizador de TMVP de sub-bloco for 1, determina-se decodificar o sinalizador de modo de mesclagem predeterminado. Em outras palavras, pode-se aperfeiçoar a eficiência de codificação de imagem determinando-se se decodifica um sinalizador de modo de mesclagem predeterminado que indica se aplica um modo de mesclagem predeterminado a um bloco atual com base em um sinalizador afim e um sinalizador de TMVP de sub-bloco.
[0147] Na modalidade descrita acima, os métodos são descritos com base no fluxograma tendo uma série de etapas ou blocos, mas a presente revelação não é limitada à ordem das etapas ou blocos acima e algumas etapas podem ocorrer simultaneamente ou em uma ordem diferente das outras etapas conforme descritas acima. Ademais, os indivíduos versados na técnica entenderão que as etapas mostradas no fluxograma anterior não são exclusivas, que etapas adicionais podem ser incluídas, ou que uma ou mais etapas no fluxograma podem ser deletadas sem afetar o escopo da presente revelação.
[0148] O método de acordo com a presente revelação descrito anteriormente pode ser implementado em software. O aparelho de codificação e/ou aparelho de decodificação de acordo com a presente revelação podem ser incluídos em um dispositivo que realiza um processamento de imagem, por exemplo, uma TV, um computador, um smartphone, um decodificador de sinais ou um dispositivo de exibição.
[0149] Quando as modalidades da presente revelação forem implementadas em software, o método descrito anteriormente pode ser implementado por módulos (processos, funções, e assim por diante) que realizam as funções descritas anteriormente. Esses módulos podem ser armazenados em memória e executados por um processador. A memória pode ser interna ou externa ao processador, e a memória pode ser acoplada ao processador usando vários meios bem conhecidos. O processador pode incluir um circuito integrado para aplicações específicas (ASIC), outros conjuntos de chips, um circuito lógico e/ou um dispositivo de processamento de dados. A memória pode incluir uma ROM (memória somente para leitura), uma RAM (memória de acesso aleatório), uma memória flash, um cartão de memória, uma mídia de armazenamento e/ou outro dispositivo de armazenamento. Ou seja, as modalidades descritas na presente revelação podem ser implementadas e realizadas em um processador, um microprocessador, um controlador ou um chip. Por exemplo, as unidades funcionais mostradas em cada desenho podem ser implementadas e executadas em um computador, um processador, um microprocessador, um controlador ou um chip. Nesse caso, informações (por exemplo informações sobre instruções) para implementação ou um algoritmo podem ser armazenadas em uma mídia de armazenamento digital.
[0150] Além disso, o aparelho de decodificação e o aparelho de codificação aos quais a presente revelação é aplicada podem ser aplicados a dispositivos de comunicação multimídia tal como um dispositivo de transmissão e recepção de radiodifusão de multimídia, um terminal de comunicação móvel, um dispositivo de vídeo de cinema doméstico, um dispositivo de vídeo de cinema digital, uma câmera de vigilância, um aparelho de conversa por vídeo, dispositivos de vídeo (3D), dispositivos de vídeo por telefonia de vídeo e dispositivos de vídeo médicos, e similares, que podem ser incluídos, por exemplo, em uma mídia de armazenamento, uma filmadora, um dispositivo provedor de serviço de vídeo sob demanda (VoD), um vídeo OTT (Over-the-top), um dispositivo provedor de serviços de transmissão de dados da Internet, um dispositivo de vídeo 3D, um dispositivo de realidade virtual (VR), um dispositivo de realidade aumentada (AR), um dispositivo de chamada por vídeo, um terminal de meio de transporte (por exemplo, um terminal de veículo (incluindo veículo autônomo), terminal de avião, terminal de navio, etc.) e podem ser usados para processar sinais de vídeo ou sinais de dados. Por exemplo, o dispositivo de vídeo OTT (vídeo Over-the-Top) pode incluir um console de jogos, um reprodutor Blu-ray, uma TV com acesso à Internet, um sistema de home-theater, um smartphone, um PC tipo tablet, um gravador de vídeo digital (DVR).
[0151] Além disso, o método de processamento ao qual a presente revelação é aplicada pode ser produzido sob a forma de um programa executado por computador e pode ser armazenado em uma mídia de gravação legível por computador. Os dados multimídia tendo uma estrutura de dados de acordo com a presente revelação também podem ser armazenados em uma mídia de gravação legível por computador. A mídia de gravação legível por computador inclui todos os tipos de dispositivos de armazenamento e dispositivos de armazenamento distribuído nos quais os dados legíveis por computador são armazenados. A mídia de gravação legível por computador pode ser, por exemplo, um Disco Blu-ray (BD), um barramento Serial Universal (USB), uma ROM, uma PROM, uma EPROM, uma EEPROM, uma RAM, um CD-ROM, fita magnética, disquete flexível e dispositivos de armazenamento de dados ópticos. Além disso, a mídia de gravação legível por computador inclui mídia implementada sob a forma de uma onda portadora (por exemplo, transmissão pela Internet). Além disso, o fluxo de bits gerado pelo método de codificação pode ser armazenado em uma mídia de gravação legível por computador ou transmitido por uma rede de comunicação com fio ou sem fio.
[0152] Ademais, uma modalidade da presente revelação pode ser implementada como um produto de programa de computador por código de programa, e o código de programa pode ser executado em um computador de acordo com uma modalidade da presente revelação. O código de programa pode ser armazenado em uma portadora legível por computador.
[0153] A Figura 8 é um diagrama que ilustra uma estrutura de um sistema de transmissão de dados de conteúdos.
[0154] Com referência à Figura Além disso, um sistema de transmissão de dados de conteúdo ao qual a presente revelação é aplicada pode incluir um servidor de codificação, um servidor de transmissão de dados, um servidor da web, um armazenamento de mídia, um dispositivo de usuário e um dispositivo de entrada multimídia.
[0155] O servidor de codificação serve para compactar a entrada de conteúdo a partir de dispositivos de entrada de multimídia como um smartphone, uma câmera e uma gravadora em dados digitais para gerar um fluxo de bits e transmitir o fluxo de bits ao servidor de transmissão de dados. Como outro exemplo, se os dispositivos de entrada de multimídia como um smartphone, uma câmera e uma gravadora gerarem diretamente um fluxo de bits, o servidor de codificação pode ser omitido.
[0156] O fluxo de bits pode ser gerado pelo método de codificação ao qual a presente revelação é aplicada ou pelo método de geração de fluxo de bits, e o servidor de transmissão de dados pode armazenar temporariamente o fluxo de bits no processo de transmitir ou receber o fluxo de bits.
[0157] O servidor de transmissão de dados serve para transmitir os dados multimídia ao dispositivo de usuário com base em uma solicitação do usuário através do servidor da web, e o servidor da web serve como uma mídia que informa ao usuário qual serviço está disponível. Quando o usuário solicitar o serviço desejado ao servidor da web, o servidor da web entrega a solicitação do usuário ao servidor de transmissão de dados, e o servidor de transmissão de dados transmite os dados multimídia ao usuário. Nesse momento, o sistema de transmissão de dados de conteúdos inclui um servidor de controle separado e, nesse caso, o servidor de controle serve para controlar comandos/respostas entre os dispositivos no sistema de transmissão de dados de conteúdo.
[0158] O servidor de transmissão de dados pode receber os conteúdos a partir do armazenamento de mídia e/ou do servidor de codificação. Por exemplo, ao receber os conteúdos a partir do servidor de codificação, o servidor de transmissão de dados pode receber os conteúdos em tempo real. Nesse caso, a fim de proporcionar um serviço de transmissão de dados suave, o servidor de transmissão de dados pode armazenar o fluxo de bits por um tempo predeterminado.
[0159] Como um exemplo do dispositivo de usuário, pode-se citar um telefone portátil, um smartphone, um computador laptop, um terminal de radiodifusão digital, um assistente pessoal digital (PDA), um reprodutor de multimídia portátil (PMP), um dispositivo de navegação, um PC slate, um PCs tablet, um ultrabook, um dispositivo vestível (por exemplo, um relógio inteligente, um óculos inteligente, uma tela montada à cabeça (HMD)), uma TV digital, um computador desktop, uma sinalização digital, ou similares.
[0160] Os respectivos servidores no sistema de transmissão de dados de conteúdo podem ser operados por um servidor de distribuição, e, nesse caso, os dados recebidos por cada servidor podem ser distribuídos e processados.

Claims (9)

1. Método de decodificação de imagem realizado por um aparelho de decodificação, o método CARACTERIZADO pelo fato de que compreende: receber informação de imagem incluindo informação de sinalizador habilitado afim, informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco e informação residual; determinar se deve receber informação de sinalizador específico relacionada a se um modo de mesclagem específico com base em sub-bloco é aplicado a um bloco atual; receber a informação de sinalizador específico com base na determinação; verificar se deve ser recebido um índice de mesclagem específico para o modo de mesclagem específico com base em sub-bloco baseado na informação de sinalizador específico, a informação de sinalizador habilitado afim e a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco; derivar um modo de predição do bloco atual com base no resultado da determinação; derivar amostras de predição para o bloco atual pela aplicação de interpredição ao bloco atual com base no modo de predição derivado; e derivar uma amostra residual para o bloco atual, com base nas informações residuais, gerar uma amostra reconstruída com base nas amostras de predição e na amostra residual, em que a determinação de que se deve receber a informação de sinalizador específico é realizada com base pelo menos em uma dentre a informação de sinalizador habilitado afim e a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, em que com base em um caso em que um valor da informação de sinalizador específico é igual a 1, um valor da informação de sinalizador habilitado afim é igual a 0 e um valor da informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco é igual a 1, é verificado que o índice de mesclagem específico não é recebido, e em que a informação de sinalizador habilitado afim é configurada em um conjunto de parâmetros de sequência.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que com base em um caso em que o valor da informação de sinalizador habilitado afim é igual a 0 e o valor da informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco é igual a 1, é determinado que a informação de sinalizador específico é recebida.
3. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que compreende ainda: derivar um valor do índice de mesclagem específico com base no resultado da verificação, e em que com base em um caso em que é verificado que o índice de mesclagem específico não é recebido, o valor do índice de mesclagem específico é derivado como 0.
4. Método de codificação de imagem realizado por um aparelho de codificação, o método CARACTERIZADO pelo fato de que compreende: derivar informação de sinalizador habilitado afim e informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco; derivar amostras de predição para o bloco atual pela aplicação de interpredição ao bloco atual; determinar se deve sinalizar informação de sinalizador específico relacionada a se um modo de mesclagem específico com base em sub-bloco é aplicado ao bloco atual; derivar a informação de sinalizador específico com base na determinação; verificar se deve sinalizar um índice de mesclagem específico para o modo de mesclagem específico com base em sub-bloco baseado na informação de sinalizador específico, a informação de sinalizador habilitado afim e a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco; gerar informação residual com base nas amostras de predição, codificar informação de imagem incluindo a informação residual e pelo menos uma dentre a informação de sinalizador habilitado afim, a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, a informação de sinalizador específico, ou o índice de mesclagem específico; em que a determinação de se deve sinalizar a informação de sinalizador específico é realizada com base em pelo menos uma dentre a informação de sinalizador habilitado afim e a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, em que com base em um caso em que um valor da informação de sinalizador específico é igual a 1, um valor da informação de sinalizador habilitado afim é igual a 0 e um valor da informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco é igual a 1, é verificado que o índice de mesclagem específico não é sinalizado, e em que a informação de sinalizador habilitado afim é configurada em um conjunto de parâmetros de sequência.
5. Mídia de armazenamento legível por computador não transitória CARACTERIZADA por armazenar um fluxo de bits gerado por um método, o método compreendendo: derivar informação de sinalizador habilitado afim e informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco; derivar amostras de predição para o bloco atual pela aplicação de interpredição ao bloco atual; determinar se deve sinalizar informação de sinalizador específico relacionada a se um modo de mesclagem específico com base em sub-bloco é aplicado ao bloco atual; derivar a informação de sinalizador específico com base na determinação; verificar se deve sinalizar um índice de mesclagem específico para o modo de mesclagem específico com base em sub-bloco baseado na informação de sinalizador específico, a informação de sinalizador habilitado afim e a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco; gerar informação residual com base nas amostras de predição, gerar o fluxo de bits ao codificar informação de imagem incluindo a informação residual e pelo menos uma dentre a informação de sinalizador habilitado afim, a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, a informação de sinalizador específico, ou o índice de mesclagem específico; em que a determinação de se deve sinalizar a informação de sinalizador específico é realizada com base em pelo menos uma dentre a informação de sinalizador habilitado afim e a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, em que com base em um caso em que um valor da informação de sinalizador específico é igual a 1, um valor da informação de sinalizador habilitado afim é igual a 0 e um valor da informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco é igual a 1, é verificado que o índice de mesclagem específico não é sinalizado, e em que a informação de sinalizador habilitado afim é configurada em um conjunto de parâmetros de sequência.
6. Aparelho de decodificação para decodificação de imagem, o aparelho de decodificação CARACTERIZADO pelo fato de que compreende: um decodificador de entropia configurado para receber informação de imagem incluindo informação de sinalizador habilitado afim, informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco e informação residual, para determinar se deve receber informação de sinalizador específico relacionada a se um modo de mesclagem específico com base em sub-bloco é aplicado a um bloco atual, para receber a informação de sinalizador específico com base na determinação, e para verificar se deve ser recebido um índice de mesclagem específico para o modo de mesclagem específico com base em sub-bloco baseado na informação de sinalizador específico, a informação de sinalizador habilitado afim e a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco; um preditor configurado para derivar um modo de predição do bloco atual com base no resultado da determinação, e para derivar amostras de predição para o bloco atual pela aplicação de interpredição ao bloco atual com base no modo de predição derivado; um processador residual configurado para derivar uma amostra residual para o bloco atual, com base nas informações residuais, e um adicionador configurado para gerar uma amostra reconstruída com base nas amostras de predição e na amostra residual, em que o decodificador de entropia determina se deve receber a informação de sinalizador específico com base pelo menos em uma dentre a informação de sinalizador habilitado afim e a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, em que com base em um caso em que um valor da informação de sinalizador específico é igual a 1, um valor da informação de sinalizador habilitado afim é igual a 0 e um valor da informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco é igual a 1, é verificado que o índice de mesclagem específico não é recebido, e em que a informação de sinalizador habilitado afim é configurada em um conjunto de parâmetros de sequência.
7. Aparelho de codificação para codificação de imagem, o aparelho de codificação CARACTERIZADO pelo fato de que compreende: um preditor configurado para derivar informação de sinalizador habilitado afim e informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, para derivar amostras de predição para o bloco atual pela aplicação de interpredição ao bloco atual, para determinar se deve sinalizar informação de sinalizador específico relacionada a se um modo de mesclagem específico com base em sub-bloco é aplicado ao bloco atual, para derivar a informação de sinalizador específico com base na determinação, e para verificar se deve sinalizar um índice de mesclagem específico para o modo de mesclagem específico com base em sub-bloco baseado na informação de sinalizador específico, a informação de sinalizador habilitado afim e a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco; um processador residual configurado para gerar informação residual com base nas amostras de predição, um codificador de entropia configurado para codificar informação de imagem incluindo a informação residual e pelo menos uma dentre a informação de sinalizador habilitado afim, a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, a informação de sinalizador específico, ou o índice de mesclagem específico; em que o preditor determina se deve sinalizar a informação de sinalizador específico com base em pelo menos uma dentre a informação de sinalizador habilitado afim e a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, em que com base em um caso em que um valor da informação de sinalizador específico é igual a 1, um valor da informação de sinalizador habilitado afim é igual a 0 e um valor da informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco é igual a 1, é verificado que o índice de mesclagem específico não é sinalizado, e em que a informação de sinalizador habilitado afim é configurada em um conjunto de parâmetros de sequência.
8. Método de transmissão de dados para imagem, o método de transmissão CARACTERIZADO pelo fato de que compreende: obter um fluxo de bits, em que o fluxo de bits é gerado pela realização de derivação de informação de sinalizador habilitado afim e informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, derivação de amostras de predição para o bloco atual pela aplicação de interpredição ao bloco atual, determinação se deve sinalizar informação de sinalizador específico relacionada a se um modo de mesclagem específico com base em sub-bloco é aplicado ao bloco atual, derivação da informação de sinalizador específico com base na determinação, verificação se deve sinalizar um índice de mesclagem específico para o modo de mesclagem específico com base em sub-bloco baseado na informação de sinalizador específico, a informação de sinalizador habilitado afim e a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, geração de informação residual com base nas amostras de predição, e geração do fluxo de bits ao codificar informação de imagem incluindo a informação residual e pelo menos uma dentre a informação de sinalizador habilitado afim, a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, a informação de sinalizador específico, ou o índice de mesclagem específico; e transmitir os dados compreendendo o fluxo de bits, em que a determinação de se deve sinalizar a informação de sinalizador específico é realizada com base em pelo menos uma dentre a informação de sinalizador habilitado afim e a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, em que com base em um caso em que um valor da informação de sinalizador específico é igual a 1, um valor da informação de sinalizador habilitado afim é igual a 0 e um valor da informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco é igual a 1, é verificado que o índice de mesclagem específico não é sinalizado, e em que a informação de sinalizador habilitado afim é configurada em um conjunto de parâmetros de sequência.
9. Mídia de armazenamento legível por computador não transitória CARACTERIZADA por armazenar instruções para obter um fluxo de bits de informação de imagem incluindo informação residual e pelo menos um dentre informação de sinalizador habilitado afim, informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, informação de sinalizador específico, ou o índice de mesclagem específico, e para transmitir o fluxo de bits de informação de imagem incluindo a informação residual e pelo menos um dentre informação de sinalizador habilitado afim, informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, informação de sinalizador específico, ou o índice de mesclagem específico, em que o fluxo de bits é gerado pela realização de derivação de informação de sinalizador habilitado afim e informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, derivação de amostras de predição para o bloco atual pela aplicação de interpredição ao bloco atual, determinação se deve sinalizar informação de sinalizador específico relacionada a se um modo de mesclagem específico com base em sub-bloco é aplicado ao bloco atual, derivação da informação de sinalizador específico com base na determinação, verificação se deve sinalizar um índice de mesclagem específico para o modo de mesclagem específico com base em sub-bloco baseado na informação de sinalizador específico, a informação de sinalizador habilitado afim e a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, geração de informação residual com base nas amostras de predição, e geração do fluxo de bits ao codificar informação de imagem incluindo a informação residual e pelo menos uma dentre a informação de sinalizador habilitado afim, a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, a informação de sinalizador específico, ou o índice de mesclagem específico; em que a determinação de se deve sinalizar a informação de sinalizador específico é realizada com base em pelo menos uma dentre a informação de sinalizador habilitado afim e a informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco, em que com base em um caso em que um valor da informação de sinalizador específico é igual a 1, um valor da informação de sinalizador habilitado afim é igual a 0 e um valor da informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco é igual a 1, é verificado que o índice de mesclagem específico não é sinalizado, e em que a informação de sinalizador habilitado afim é configurada em um conjunto de parâmetros de sequência.
BR122022002096-8A 2018-10-08 2019-10-08 Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método de transmissão de dados para imagem e mídia de armazenamento legível por computador não transitória BR122022002096B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862742456P 2018-10-08 2018-10-08
US62/742,456 2018-10-08
PCT/KR2019/013226 WO2020076066A1 (ko) 2018-10-08 2019-10-08 신택스 디자인 방법 및 신택스를 이용하여 코딩을 수행하는 장치

Publications (3)

Publication Number Publication Date
BR122022002096A2 BR122022002096A2 (pt) 2021-07-27
BR122022002096A8 BR122022002096A8 (pt) 2022-08-30
BR122022002096B1 true BR122022002096B1 (pt) 2022-11-01

Family

ID=70163663

Family Applications (4)

Application Number Title Priority Date Filing Date
BR112021006580-6A BR112021006580B1 (pt) 2018-10-08 2019-10-08 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 e mídia de armazenamento legível por computador não transitória
BR122022002102-6A BR122022002102B1 (pt) 2018-10-08 2019-10-08 Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método de transmissão de dados para imagem e mídia de armazenamento legível por computador não transitória
BR122022002075-5A BR122022002075B1 (pt) 2018-10-08 2019-10-08 Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método de transmissão de dados para imagem e mídia de armazenamento legível por computador não transitória
BR122022002096-8A BR122022002096B1 (pt) 2018-10-08 2019-10-08 Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método de transmissão de dados para imagem e mídia de armazenamento legível por computador não transitória

Family Applications Before (3)

Application Number Title Priority Date Filing Date
BR112021006580-6A BR112021006580B1 (pt) 2018-10-08 2019-10-08 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 e mídia de armazenamento legível por computador não transitória
BR122022002102-6A BR122022002102B1 (pt) 2018-10-08 2019-10-08 Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método de transmissão de dados para imagem e mídia de armazenamento legível por computador não transitória
BR122022002075-5A BR122022002075B1 (pt) 2018-10-08 2019-10-08 Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método de transmissão de dados para imagem e mídia de armazenamento legível por computador não transitória

Country Status (8)

Country Link
US (4) US11206430B2 (pt)
EP (1) EP3849190A4 (pt)
JP (3) JP7230189B2 (pt)
KR (2) KR20240027844A (pt)
CN (1) CN112956201B (pt)
BR (4) BR112021006580B1 (pt)
MX (1) MX2021004008A (pt)
WO (1) WO2020076066A1 (pt)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2595054B (en) * 2018-10-18 2022-07-06 Canon Kk Video coding and decoding
EP3954120A4 (en) 2019-05-21 2022-06-22 Beijing Bytedance Network Technology Co., Ltd. ADAPTIVE MOTION VECTOR DIFFERENTIAL RESOLUTION FOR AFFIN MODE
CN113940082A (zh) * 2019-06-06 2022-01-14 北京字节跳动网络技术有限公司 基于子块的帧内块复制和不同编解码工具之间的交互
EP4333431A1 (en) 2019-10-18 2024-03-06 Beijing Bytedance Network Technology Co., Ltd. Syntax constraints in parameter set signaling of subpictures

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101003105B1 (ko) * 2008-01-29 2010-12-21 한국전자통신연구원 어파인 변환 기반의 움직임 보상을 이용한 비디오 부호화 및 복호화 방법 및 장치
EP3962088B1 (en) * 2010-11-04 2023-06-21 GE Video Compression, LLC Picture coding supporting block merging and skip mode
US20130188715A1 (en) * 2012-01-09 2013-07-25 Qualcomm Incorporated Device and methods for merge list reordering in video coding
RS62603B1 (sr) * 2012-01-19 2021-12-31 Electronics & Telecommunications Res Inst Uređaj za kodiranje/dekodiranje slike
US9503720B2 (en) * 2012-03-16 2016-11-22 Qualcomm Incorporated Motion vector coding and bi-prediction in HEVC and its extensions
US20140098880A1 (en) * 2012-10-05 2014-04-10 Qualcomm Incorporated Prediction mode information upsampling for scalable video coding
US9674542B2 (en) * 2013-01-02 2017-06-06 Qualcomm Incorporated Motion vector prediction for video coding
US9438910B1 (en) * 2014-03-11 2016-09-06 Google Inc. Affine motion prediction in video coding
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
JP7026049B2 (ja) * 2016-09-27 2022-02-25 シャープ株式会社 アフィン動きベクトル導出装置、予測画像生成装置、動画像復号装置、および動画像符号化装置
US10448010B2 (en) * 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
US20180199057A1 (en) * 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
US11012687B2 (en) * 2018-10-01 2021-05-18 Tencent America LLC Method and apparatus for video coding

Also Published As

Publication number Publication date
JP7436717B2 (ja) 2024-02-22
WO2020076066A1 (ko) 2020-04-16
BR122022002075B1 (pt) 2022-11-01
US11575942B2 (en) 2023-02-07
JP2024050869A (ja) 2024-04-10
BR112021006580A2 (pt) 2021-07-27
BR122022002075A8 (pt) 2022-08-30
BR122022002075A2 (pt) 2021-07-27
BR122022002102A8 (pt) 2022-08-30
US20240080486A1 (en) 2024-03-07
JP7230189B2 (ja) 2023-02-28
US20230131137A1 (en) 2023-04-27
BR122022002096A8 (pt) 2022-08-30
US20220070498A1 (en) 2022-03-03
BR122022002096A2 (pt) 2021-07-27
CN112956201B (zh) 2024-03-29
US11206430B2 (en) 2021-12-21
JP2022502969A (ja) 2022-01-11
MX2021004008A (es) 2021-06-23
BR122022002102B1 (pt) 2022-11-01
BR112021006580A8 (pt) 2022-08-30
KR20210036413A (ko) 2021-04-02
KR20240027844A (ko) 2024-03-04
US11849151B2 (en) 2023-12-19
US20210219001A1 (en) 2021-07-15
BR122022002102A2 (pt) 2021-07-27
CN112956201A (zh) 2021-06-11
EP3849190A1 (en) 2021-07-14
JP2023055997A (ja) 2023-04-18
KR102637604B1 (ko) 2024-02-16
BR112021006580B1 (pt) 2022-11-16
EP3849190A4 (en) 2021-11-03

Similar Documents

Publication Publication Date Title
BR112021002604A2 (pt) método de predição inter baseado no vetor de movimento baseado em histórico e dispositivo do mesmo
BR112021006152B1 (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 e mídia de armazenamento digital legível por computador não transitória
BR122021012448B1 (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
BR122021010912A2 (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, mídia de armazenamento não transitória legível por computador, aparelho de decodificação para decodificação de imagem e aparelho de codificação para codificação de imagem
BR122022002096B1 (pt) Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método de transmissão de dados para imagem e mídia de armazenamento legível por computador não transitória
BR122021011813A2 (pt) Método de decodificação de imagens através de um aparelho de decodificação, método de codificação de imagens através de um aparelho de codificação e mídia de armazenamento legível por computador não transitória
US11792404B2 (en) Method and device for signaling information on chroma format
BR122021009784A2 (pt) Método e aparelho de decodificação de imagens com base em predição de movimento afim usando lista de candidatos a mvp afim no sistema de codificação de imagens
BR112021005152A2 (pt) método de codificação de nível de fator de conversão e dispositivo para o mesmo
BR122021007351B1 (pt) Método de codificação de imagem baseado em predição intra usando lista de mpm e dispositivo para o mesmo
BR122022004891B1 (pt) Métodos de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, aparelhos de decodificação/codificação para decodificar/codificar imagem, método de transmissão de dados para imagem e meio de armazenamento não transitório legível por computador
BR112021012505B1 (pt) Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação e mídia de armazenamento não transitória legível por computador
BR122022005534B1 (pt) Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, método de transmissão de dados para uma imagem , aparelho de decodificação/codificação para decodificação/codificação de imagem, aparelho de transmissão para transmissão de dados para uma imagem e mídia de armazenamento não transitória legível por computador
BR122021008882B1 (pt) Método de codificação residual e dispositivo para o mesmo
BR122021008876B1 (pt) Método de codificação residual e dispositivo para o mesmo
BR112021004516B1 (pt) Método de decodificação de imagem executado por um aparelho de decodificação, método de codificação de imagem executado por um aparelho de codificação e mídia de armazenamento legível por computador
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
BR112021005293B1 (pt) Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação e meio de armazenamento não transitório legível por computador
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
BR122021008882A2 (pt) Método de codificação residual e dispositivo para o mesmo
BR112021010422A2 (pt) Método de codificação de imagem baseado em transformada secundária e dispositivo para o mesmo

Legal Events

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

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 19/52 , H04N 19/109 , H04N 19/70 , H04N 19/132 , H04N 19/176

Ipc: H04N 19/109 (2006.01), H04N 19/132 (2006.01), H04N

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 08/10/2019, OBSERVADAS AS CONDICOES LEGAIS