BR112021006580A2 - método e aparelho de projeto de sintaxe para realizar codificação utilizando-se sintaxe - Google Patents
método e aparelho de projeto de sintaxe para realizar codificação utilizando-se sintaxe Download PDFInfo
- Publication number
- BR112021006580A2 BR112021006580A2 BR112021006580-6A BR112021006580A BR112021006580A2 BR 112021006580 A2 BR112021006580 A2 BR 112021006580A2 BR 112021006580 A BR112021006580 A BR 112021006580A BR 112021006580 A2 BR112021006580 A2 BR 112021006580A2
- Authority
- BR
- Brazil
- Prior art keywords
- flag
- enabled
- flag information
- affine
- block
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 99
- 238000013461 design Methods 0.000 title description 16
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims abstract description 108
- 230000033001 locomotion Effects 0.000 claims abstract description 92
- 230000002123 temporal effect Effects 0.000 claims abstract description 45
- 238000002156 mixing Methods 0.000 claims description 4
- 239000000203 mixture Substances 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims 2
- 230000001052 transient effect Effects 0.000 abstract description 2
- 230000005540 biological transmission Effects 0.000 description 24
- 239000000523 sample Substances 0.000 description 24
- 238000001914 filtration Methods 0.000 description 14
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 11
- 239000011449 brick Substances 0.000 description 10
- 230000003044 adaptive effect Effects 0.000 description 6
- 239000000470 constituent Substances 0.000 description 6
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 6
- 238000013139 quantization Methods 0.000 description 6
- 241000023320 Luma <angiosperm> Species 0.000 description 5
- 239000002609 medium Substances 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000013074 reference sample Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000950314 Figura Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000010454 slate Substances 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 239000006163 transport media Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/132—Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/527—Global motion vector estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
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. 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 união predeterminado que indica se aplica um modo de união 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 união 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.
[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.
[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.
[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.
[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 2ª 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, figuração se refere a uma unidade que representa uma imagem em um fuso-horário específico, e uma fatia/ladrilho é uma unidade que constitui parte de uma figuração em codificação. A fatia/ladrilho pode incluir uma ou mais unidades de árvore de codificação (CTUs). Uma figuração pode consistir em uma ou mais fatias/ladrilhos. Uma figuração pode consistir em um ou mais grupos de ladrilho.
Um grupo de ladrilho pode incluir um ou mais ladrilhos.
Um tijolo pode representar uma região retangular de fileiras de CTU em um ladrilho em uma figuração.
Um ladrilho pode ser particionado em múltiplos tijolos, 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 figuração 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 figuração são ordenados consecutivamente em uma varredura rasterizada dos ladrilhos da figuração.
Um ladrilho é uma região retangular de CTUs dentro de uma coluna de ladrilho particular e uma fileira de ladrilho particular em uma figuração.
A coluna de ladrilho é uma região retangular de CTUs tendo uma altura igual à altura da figuração e uma largura especificada pelos elementos de sintaxe no conjunto de parâmetro de figuração.
A fileira de ladrilho é uma região retangular de CTUs tendo uma altura especificada pelos elementos de sintaxe no conjunto de parâmetro de figuração e uma largura igual à largura da figuração.
Uma varredura de ladrilho é uma ordenação específica de CTUs que particionam uma figuração em que as CTUs são ordenadas consecutivamente em varredura rasterizada de CTU em um ladrilho enquanto os ladrilhos em uma figuração são ordenados consecutivamente em uma varredura rasterizada dos ladrilhos da figuração.
Uma fatia inclui um número inteiro de tijolos de uma figuração 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 figuração (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 figuração 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 M×N 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 figuração 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 figuração 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 figuração (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 figuração 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 figuração 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 figuração 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 figuração atual e um bloco vizinho temporal presente na figuração de referência. A figuração de referência incluindo o bloco de referência e a figuração 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 figuração de referência incluindo o bloco vizinho temporal pode ser denominada como uma figuração 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 figuração 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 figuração atual, mas pode ser realizado similarmente para interpredição caracterizado pelo fato de um bloco de referência ser derivado na figuração 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 figuração 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 figuração (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 figuração atual e pode ser usado para interpredição de uma próxima figuração 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 figuração.
[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 figuração reconstruída modificada aplicando-se vários métodos de filtragem à figuração reconstruída e armazenar a figuração 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 figuração reconstruída modificada transmitida à memória 270 pode ser usada como a figuração 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 figuração reconstruída modificada para uso como uma figuração 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 figuração atual são derivadas (ou codificadas) e/ou as informações de movimento dos blocos na figuração 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 figuração 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 figuração 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 figuração). 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 figuração (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 figuração 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 figuração atual, mas pode ser realizado similarmente à interpredição caracterizada pelo fato de que um bloco de referência é derivado na figuração 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 figuração 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 figuração 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 figuração 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 figuração 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 figuração 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 figuração atual e um bloco vizinho temporal presente na figuração 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 figuração 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 figuração atual, pode ser emitido através de filtragem conforme descrito abaixo, ou pode ser usado para interpredição de uma próxima figuração.
[076] Entretanto, um mapeamento de luma com escalonamento de croma (LMCS) pode ser aplicado no processo de decodificação de figuração.
[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 figuração reconstruída modificada aplicando-se vários métodos de filtragem à figuração reconstruída e armazenar a figuração 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 figuração reconstruída (modificada) armazenada no DPB da memória 360 pode ser usada como uma figuração 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 figuração atual são derivadas (ou decodificadas) e/ou as informações de movimento dos blocos na figuração 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 figuração 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 figuração 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 figuração 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 figuração subsequente, e pode gerar uma figuração 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. [Tabela 1] seq_parameter_set_rbsp( ) { Descritor sps_seq_parameter_set_id ue(v) chroma_format_idc ue(v) if( chroma_format_idc = = 3 ) separate_colour_plane_flag u(1) pic_width_in_luma_samples ue(v) pic_height_in_luma_samples ue(v) bit_depth_luma_minus8 ue(v) bit_depth_chroma_minus8 ue(v) qtbtt_dual_tree_intra_flag ue(v) log2_ctu_size_minus2 ue(v) log2_min_qt_size_intra_slices_minus2 ue(v) log2_min_qt_size_inter_slices_minus2 ue(v) max_mtt_hierarchy_depth_inter_slices ue(v) max_mtt_hierarchy_depth_intra_slices ue(v) sps_cclm_enabled_flag u(1) sps_alf_enabled_flag u(1) sps_temporal_mvp_enabled_flag u(1) if( sps_temporal_mvp_enabled_flag ) sps_sbtmvp_enabled_flag u(1) if( sps_sbtmvp_enabled_flag )
log2_sbtmvp_default_size_minus2 u(1) sps_amvr_enabled_flag u(1) sps_affine_enabled_flag u(1) if( sps_affine_enabled_flag ) sps_affine_type_flag u(1) sps_mts_intra_enabled_flag u(1) sps_mts_inter_enabled_flag u(1) rbsp_trailing_bits( ) }
[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. [Tabela 2] coding_unit( x0, y0, cbWidth, cbHeight, treeType ) { Descritor if( slice_type != I ) { cu_skip_flag[ x0 ][ y0 ] ae(v) if( cu_skip_flag[ x0 ][ y0 ] = = 0 ) pred_mode_flag ae(v) } if( CuPredMode[ x0 ][ y0 ] = = MODE_INTRA ) { if( treeType = = SINGLE_TREE | | treeType = = DUAL_TREE_LUMA ) { intra_luma_mpm_flag[ x0 ][ y0 ] ae(v) if( intra_luma_mpm_flag[ x0 ][ y0 ] ) intra_luma_mpm_idx[ x0 ][ y0 ] ae(v)
else intra_luma_mpm_remainder[ x0 ][ y0 ] ae(v) } if( treeType = = SINGLE_TREE | | treeType = = DUAL_TREE_CHROMA ) intra_chroma_pred_mode[ x0 ][ y0 ] ae(v) } else { /* MODE_INTER */ if( cu_skip_flag[ x0 ][ y0 ] ) { if( sps_affine_enabled_flag && cbWidth >= 8 && cbHeight >= 8 ) merge_affine_flag[ x0 ][ y0 ] ae(v) if( merge_affine_flag[ x0 ][ y0 ] = = 0 && MaxNumMergeCand > 1) merge_idx[ x0 ][ y0 ] ae(v) if( merge_affine_flag[ x0 ][ y0 ] = = 1 && MaxNumAffineMergeCand > 1 ) merge_affine_idx[ x0 ][ y0 ] ae(v) } else { merge_flag[ x0 ][ y0 ] ae(v) if( merge_flag[ x0 ][ y0 ] ) { if( sps_affine_enabled_flag && cbWidth >= 8 && cbHeight >= 8) merge_affine_flag[ x0 ][ y0 ] ae(v) if( merge_affine_flag[ x0 ][ y0 ] = = 0 && MaxNumMergeCand >1) merge_idx[ x0 ][ y0 ] ae(v) if( merge_affine_flag[ x0 ][ y0 ] = = 1 && MaxNumAffineMergeCand > 1 ) merge_affine_idx[ x0 ][ y0 ] ae(v) } else { if( slice_type = = B ) inter_pred_idc[ x0 ][ y0 ] ae(v) if( sps_affine_enabled_flag && cbWidth >= 16 && cbHeight >= 16 ) { inter_affine_flag[ x0 ][ y0 ] ae(v) if( sps_affine_type_flag && inter_affine_flag[ x0 ][ y0 ] ) cu_affine_type_flag[ x0 ][ y0 ] ae(v) } if( inter_pred_idc[ x0 ][ y0 ] != PRED_L1 ) { if( num_ref_idx_l0_active_minus1 > 0 ) ref_idx_l0[ x0 ][ y0 ] ae(v) mvd_coding( x0, y0, 0, 0 ) if( MotionModelIdc[ x0 ][ y0 ] > 0 ) mvd_coding( x0, y0, 0, 1 ) if(MotionModelIdc[ x0 ][ y0 ] > 1 ) mvd_coding( x0, y0, 0, 2 ) mvp_l0_flag[ x0 ][ y0 ] ae(v)
} else { MvdL0[ x0 ][ y0 ][ 0 ] = 0 MvdL0[ x0 ][ y0 ][ 1 ] = 0 } if( inter_pred_idc[ x0 ][ y0 ] != PRED_L0 ) { if( num_ref_idx_l1_active_minus1 > 0 ) ref_idx_l1[ x0 ][ y0 ] ae(v) if( mvd_l1_zero_flag && inter_pred_idc[ x0 ][ y0 ] = = PRED_BI ) { MvdL1[ x0 ][ y0 ][ 0 ] = 0 MvdL1[ x0 ][ y0 ][ 1 ] = 0 MvdCpL1[ x0 ][ y0 ][ 0 ][ 0 ] = 0 MvdCpL1[ x0 ][ y0 ][ 0 ][ 1 ] = 0 MvdCpL1[ x0 ][ y0 ][ 1 ][ 0 ] = 0 MvdCpL1[ x0 ][ y0 ][ 1 ][ 1 ] = 0 MvdCpL1[ x0 ][ y0 ][ 2 ][ 0 ] = 0 MvdCpL1[ x0 ][ y0 ][ 2 ][ 1 ] = 0 } else { mvd_coding( x0, y0, 1, 0 ) if( MotionModelIdc[ x0 ][ y0 ] > 0 ) mvd_coding( x0, y0, 1, 1 ) if(MotionModelIdc[ x0 ][ y0 ] > 1 ) mvd_coding( x0, y0, 1, 2 ) mvp_l1_flag[ x0 ][ y0 ] ae(v) } else { MvdL1[ x0 ][ y0 ][ 0 ] = 0 MvdL1[ x0 ][ y0 ][ 1 ] = 0 } if( sps_amvr_enabled_flag && inter_affine_flag = = 0 && ( MvdL0[ x0 ][ y0 ][ 0 ] != 0 | | MvdL0[ x0 ][ y0 ][ 1 ] != 0 | | MvdL1[ x0 ][ y0 ][ 0 ] != 0 | | MvdL1[ x0 ][ y0 ][ 1 ] != 0 ) ) amvr_mode[ x0 ][ y0 ] ae(v) } } } if( CuPredMode[ x0 ][ y0 ] != MODE_INTRA && cu_skip_flag[ x0 ][ y0 ] = = 0 ) cu_cbf ae(v) if( cu_cbf ) { transform_tree( x0, y0, cbWidth, cbHeight, treeType ) }
[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.
[Tabela 3] seq_parameter_set_rbsp( ) { Descritor sps_temporal_mvp_enabled_flag u(1) sps_subpumvp_enabled_flag u(1) if(sps_subpumvp_enabled_flag) { if( sps_temporal_mvp_enabled_flag ) sps_sbtmvp_enabled_flag u(1) if( sps_sbtmvp_enabled_flag ) log2_sbtmvp_default_size_minus2 u(1) sps_affine_enabled_flag u(1) if( sps_affine_enabled_flag ) sps_affine_type_flag u(1) }
[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. [Tabela 4] Afim ATMVP Ligamento/desligamento 0 1 1 1 0 0
[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. [Tabela 5] seq_parameter_set_rbsp( ) { Descritor sps_temporal_mvp_enabled_flag u(1) sps_subpumvp_enabled_flag u(1)
if(sps_subpumvp_enabled_flag) { log2_sbtmvp_default_size_minus2 u(1) sps_affine_type_flag u(1) }
[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. [Tabela 6] slice_header( ) { Descritor if( sps_temporal_mvp_enabled_flag ){ slice_temporal_mvp_enabled_flag u(1) if(sps_subpumvp_enabled_flag) slice_subpumvp_enabled_flag u(1) }
[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. [Tabela 7] coding_unit( x0, y0, cbWidth, cbHeight, treeType ) { Descritor …… merge_flag[ x0 ][ y0 ] ae(v) if( merge_flag[ x0 ][ y0 ] ) { if( (sps_affine_enabled_flag && cbWidth >= 8 && cbHeight >= 8) || sps_sbtmvp_enabled_flag) merge_affine_flag[ x0 ][ y0 ] ae(v) if( merge_affine_flag[ x0 ][ y0 ] = = 0 && MaxNumMergeCand > 1) merge_idx[ x0 ][ y0 ] ae(v)
if( merge_affine_flag[ x0 ][ y0 ] = = 1 && MaxNumAffineMergeCand > 1 && (sps_affine_enabled_flag && cbWidth >= 8 && cbHeight >= 8) ) merge_affine_idx[ x0 ][ y0 ] ae(v) }
[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. [Tabela 8] Afim ATMVP Ligamento/desligamento 1 0 1 1 0 0 0 1
[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. [Tabela 9] Afim ATMVP Ligamento/desligamento 1 0 1 1 0 0 0 1 (para Mesclagem Normal)
[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. [Tabela 10] seq_parameter_set_rbsp( ) { Descritor sps_temporal_mvp_enabled_flag u(1)
sps_affine_enabled_flag u(1) if( sps_affine_enabled_flag ) { sps_affine_type_flag u(1) if( sps_temporal_mvp_enabled_flag ) sps_sbtmvp_enabled_flag u(1) if( sps_sbtmvp_enabled_flag ) log2_sbtmvp_default_size_minus2 u(1) }
[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. [Tabela 11] Afim ATMVP Ligamento/desligamento 1 0 1 1 0 0
[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 (20)
1. Método de decodificação de imagem realizado por um aparelho de decodificação, o método CARACTERIZADO pelo fato de que compreende: receber informação de sinalizador habilitado afim e informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco através de um fluxo de bits; determinar se deve receber informação de sinalizador específico relacionada a se um modo de mesclagem específica com base em sub-bloco é aplicado a um bloco atual; 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 gerar amostras reconstruídas com base nas amostras de predição, em que a determinação de que se para 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.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que com base em um valor da informação de sinalizador habilitado afim sendo igual a 0 e um valor da informação de sinalizador habilitado de predição de vetor de movimento temporal sendo 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 com base em um valor da informação de sinalizador habilitado afim sendo igual a 1 e uma largura e uma altura do bloco atual serem maiores ou iguais a 8, é determinado que a informação de sinalizador específico é recebida.
4. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a determinação de se a informação de sinalizador específico é recebida é realizada com base na seguinte equação: ((sps_affine_enabled_flag && cbWidth >=8 && cbHeight >=8) || sps_sbtmvp_enabled_flag), onde sps_affine_enabled_flag representa a informação de sinalizador habilitado afim, sps_sbtmvp_enabled_flag representa a informação de sinalizador habilitado de predição de vetor de movimento temporal, e cbWidth e cbHeight representam uma largura e uma altura do bloco atual, respectivamente.
5. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que o modo de mesclagem específica com base em sub-bloco é um modo de mesclagem afim ou um modo de mesclagem com base em sub-bloco.
6. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que compreende ainda: verificar se deve receber uma informação de índice de mesclagem específica para o modo de mesclagem específica com base em sub-bloco; e derivar um valor da informação de índice de mesclagem específica com base no resultado da verificação.
7. Método, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que, com base em um valor da informação de sinalizador habilitado afim sendo igual a 0 e um valor da informação de sinalizador habilitado de predição de vetor de movimento temporal sendo igual a 1, é verificado que a informação de índice de mesclagem específica não é recebida, e um valor da informação de índice de mesclagem específica é derivado como 0.
8. Método, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que compreende ainda: derivar um número máximo de candidatos a mesclagem para o modo de mesclagem específica, em que com base em um valor da informação de sinalizador habilitado afim sendo igual a 1 e um valor de número máximo de candidatos a mesclagem para o modo de mesclagem específica sendo maior que 1, é verificado que a informação de índice de mesclagem específica é recebida.
9. 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; 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 a um bloco atual; codificar informação de imagem incluindo 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, ou a informação de sinalizador 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.
10. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que com base em um valor da informação de sinalizador habilitado afim sendo igual a 0 e um valor da informação de sinalizador habilitado de predição de vetor de movimento temporal sendo igual a 1, é determinado que a informação de sinalizador específico é recebido.
11. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que, com base em um valor da informação de sinalizador habilitado sendo igual a 1 e uma largura e uma altura do bloco atual serem maiores ou iguais a 8, é determinado que a informação de sinalizador habilitado específico é sinalizada.
12. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que a determinação de se a informação de sinalizador específico é sinalizada é realizada com base na seguinte equação: ((sps_affine_enabled_flag && cbWidth >=8 && cbHeight >=8) || sps_sbtmvp_enabled_flag), onde, sps_affine_enabled_flag representa a informação de sinalizador habilitado afim, sps_sbtmvp_enabled_flag representa a informação de sinalizador habilitado de predição de vetor de movimento temporal, e cbWidth e cbHeight representam uma largura e uma altura do bloco atual, respectivamente.
13. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que o modo de mesclagem específica com base em sub-bloco é um modo de mesclagem afim ou um modo de mesclagem com base em sub-bloco.
14. Método, de acordo com a reivindicação 9, CARACTERIZADO pelo fato de que compreende ainda: verificar se deve sinalizar uma informação de índice de mesclagem específica para modo de mesclagem específica com base em sub-bloco, em que um valor da informação de índice de mesclagem específica é representada com base no resultado da verificação.
15. Método, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que com base em um valor da informação de sinalizador habilitado afim sendo igual a 0 e um valor da informação de sinalizador habilitado de predição de vetor de movimento temporal sendo igual a 1, é verificado que a informação de índice de mesclagem específica não é sinalizada, e um valor da informação de índice de mesclagem específica é representado como 0.
16. Método, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que compreende ainda: derivar um número máximo de candidatos a mesclagem para o modo de mesclagem específico, em que com base em um valor da informação de sinalizador habilitado afim sendo igual a 1 e um valor de número máximo de candidatos a mesclagem para o modo de mesclagem especifico sendo maior que 1, é verificado que a informação de índice de mesclagem específica é sinalizada.
17. Mídia de armazenamento legível por computador não transitória CARACTERIZADA por armazenar um fluxo de bits que leva um aparelho de decodificação a realizar um método de decodificação de imagem, o método compreendendo: receber informação de sinalizador habilitado afim e informação de sinalizador habilitado de predição de vetor de movimento temporal de sub-bloco; determinar se deve receber informação de sinalizador específico relacionada a se um modo de mesclagem específica com base em uma predição de movimento com base em um sub-bloco é aplicado a um bloco atual; 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 gerar amostras reconstruídas com base nas amostras de predição, em que a determinação de 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.
18. Mídia de armazenamento legível por computador não transitória, de acordo com a reivindicação 17, CARACTERIZADA pelo fato de que com base em um valor da informação de sinalizador habilitado afim sendo igual a 0 e um valor da informação de sinalizador habilitado de predição de vetor de movimento temporal sendo igual a 1, é determinado que a informação de sinalizador específico é recebida.
19. Mídia de armazenamento legível por computador não transitória, de acordo com a reivindicação 17, CARACTERIZADA pelo fato de que compreende ainda: verificar se deve receber uma informação de índice de mesclagem específica para o modo de mesclagem específica com base em sub-bloco; e derivar um valor da informação de índice de mesclagem específica com base no resultado da verificação.
20. Mídia de armazenamento legível por computador não transitória, de acordo com a reivindicação 19, CARACTERIZADA pelo fato de que com base em um valor da informação de sinalizador habilitado afim sendo igual a 0 e um valor da informação de sinalizador habilitado de predição de vetor de movimento temporal sendo igual a 1, é verificado que a informação de índice de mesclagem específica não é recebida, e um valor da informação de índice de mesclagem específica é derivado como 0.
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 |
---|---|
BR112021006580A2 true BR112021006580A2 (pt) | 2021-07-27 |
BR112021006580A8 BR112021006580A8 (pt) | 2022-08-30 |
BR112021006580B1 BR112021006580B1 (pt) | 2022-11-16 |
Family
ID=70163663
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 |
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 |
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 |
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 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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 |
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 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
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) | KR102637604B1 (pt) |
CN (5) | CN118175301A (pt) |
BR (4) | BR122022002096B1 (pt) |
MX (5) | MX2021004008A (pt) |
WO (1) | WO2020076066A1 (pt) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2578151B (en) * | 2018-10-18 | 2021-06-09 | Canon Kk | Video coding and decoding |
JP7323641B2 (ja) | 2019-05-21 | 2023-08-08 | 北京字節跳動網絡技術有限公司 | アフィンモードのための適応動きベクトル差分分解 |
EP3967040A4 (en) | 2019-06-06 | 2022-11-30 | Beijing Bytedance Network Technology Co., Ltd. | CONSTRUCTION OF MOTION CANDIDATE LISTS FOR VIDEO ENCODING |
WO2020244659A1 (en) * | 2019-06-06 | 2020-12-10 | Beijing Bytedance Network Technology Co., Ltd. | Interactions between sub-block based intra block copy and different coding tools |
WO2020259426A1 (en) | 2019-06-22 | 2020-12-30 | Beijing Bytedance Network Technology Co., Ltd. | Motion candidate list construction for intra block copy mode |
KR20220042125A (ko) | 2019-08-10 | 2022-04-04 | 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 | 서브픽처 디코딩에서의 버퍼 관리 |
JP7482220B2 (ja) | 2019-10-18 | 2024-05-13 | 北京字節跳動網絡技術有限公司 | サブピクチャのパラメータセットシグナリングにおける構文制約 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8665958B2 (en) * | 2008-01-29 | 2014-03-04 | Electronics And Telecommunications Research Institute | Method and apparatus for encoding and decoding video signal using motion compensation based on affine transformation |
KR102126374B1 (ko) * | 2010-11-04 | 2020-06-24 | 지이 비디오 컴프레션, 엘엘씨 | 블록 병합 및 스킵 모드를 지원하는 화상 코딩 |
US20130188715A1 (en) * | 2012-01-09 | 2013-07-25 | Qualcomm Incorporated | Device and methods for merge list reordering in video coding |
DK2806637T3 (da) * | 2012-01-19 | 2020-11-23 | Electronics & Telecommunications Res Inst | Fremgangsmåde til billedkodning/-afkodning |
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 |
-
2019
- 2019-10-08 CN CN202410272809.3A patent/CN118175301A/zh active Pending
- 2019-10-08 KR KR1020217008340A patent/KR102637604B1/ko active IP Right Grant
- 2019-10-08 CN CN202410272814.4A patent/CN118175303A/zh active Pending
- 2019-10-08 CN CN201980072498.3A patent/CN112956201B/zh active Active
- 2019-10-08 BR BR122022002096-8A patent/BR122022002096B1/pt active IP Right Grant
- 2019-10-08 EP EP19870657.4A patent/EP3849190A4/en active Pending
- 2019-10-08 BR BR122022002102-6A patent/BR122022002102B1/pt active IP Right Grant
- 2019-10-08 KR KR1020247004979A patent/KR20240027844A/ko active Application Filing
- 2019-10-08 WO PCT/KR2019/013226 patent/WO2020076066A1/ko active Application Filing
- 2019-10-08 BR BR112021006580-6A patent/BR112021006580B1/pt active IP Right Grant
- 2019-10-08 CN CN202410272812.5A patent/CN118175302A/zh active Pending
- 2019-10-08 CN CN202410272808.9A patent/CN118175300A/zh active Pending
- 2019-10-08 MX MX2021004008A patent/MX2021004008A/es unknown
- 2019-10-08 JP JP2021519150A patent/JP7230189B2/ja active Active
- 2019-10-08 BR BR122022002075-5A patent/BR122022002075B1/pt active IP Right Grant
-
2021
- 2021-03-31 US US17/219,184 patent/US11206430B2/en active Active
- 2021-04-07 MX MX2024009880A patent/MX2024009880A/es unknown
- 2021-04-07 MX MX2024009883A patent/MX2024009883A/es unknown
- 2021-04-07 MX MX2024009884A patent/MX2024009884A/es unknown
- 2021-04-07 MX MX2024009879A patent/MX2024009879A/es unknown
- 2021-11-08 US US17/521,726 patent/US11575942B2/en active Active
-
2022
- 2022-12-20 US US18/085,348 patent/US11849151B2/en active Active
-
2023
- 2023-02-15 JP JP2023021539A patent/JP7436717B2/ja active Active
- 2023-11-06 US US18/387,310 patent/US20240080486A1/en active Pending
-
2024
- 2024-02-08 JP JP2024017924A patent/JP2024050869A/ja active Pending
Also Published As
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 | |
BR122021011306A2 (pt) | Método e aparelho de decodificação de imagem, método e aparelho de codificação de imagem e mídias de armazenamento não transitória legíveis por computador | |
BR122021010905A2 (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 | |
BR112021006580A2 (pt) | método e aparelho de projeto de sintaxe para realizar codificação utilizando-se sintaxe | |
BR112021004556A2 (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 | |
BR122021008882B1 (pt) | Método de codificação residual e dispositivo para o mesmo | |
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 | |
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 | |
BR122023027691A2 (pt) | Método de decodificação de imagem para codificar parâmetros de dpb, e dispositivo para o mesmo | |
BR122023027149A2 (pt) | Aparelho de decodificação de imagem, aparelho de codificação de imagem, aparelho para armazenar dados para uma imagem e aparelho para transmitir dados para uma imagem | |
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 | |
BR122024003657A2 (pt) | Aparelho de decodificação de imagem, aparelho de codificação de imagem e aparelho de transmissão de dados para uma imagem | |
BR122023024708A2 (pt) | Aparelho de decodificação de vídeo, aparelho de codificação de vídeo e aparelho para transmissão de dados para um vídeo | |
BR122023023080A2 (pt) | Método e dispositivo de codificação de imagem/vídeo | |
BR122024000637A2 (pt) | Método e dispositivo para codificação de imagem/vídeo baseados em tabela ponderada de predição | |
BR122024006245A2 (pt) | Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, meio de armazenamento legível por computador não transitório e método para transmitir dados para informações de imagem | |
BR122024006241A2 (pt) | Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, meio de armazenamento legível por computador não transitório e método para transmitir dados para informações de imagem | |
BR122024000621A2 (pt) | Método e dispositivo para codificação de imagem/vídeo baseados em tabela ponderada de predição | |
BR122024006265A2 (pt) | Aparelho de decodificação de imagem, aparelho de codificação de imagem e aparelho para transmitir dados para informações de imagem | |
BR122023022919A2 (pt) | Aparelho de decodificação para uma decodificação de vídeo, aparelho de codificação para uma codificação de vídeo e aparelho para transmissão de dados para um vídeo | |
BR122024000554A2 (pt) | Método de codificação de imagem baseado em transformada 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 |