BR112021010286A2 - codificador, decodificador e métodos correspondentes de construção de lista de modos mais prováveis para blocos com predição de múltiplas hipóteses - Google Patents

codificador, decodificador e métodos correspondentes de construção de lista de modos mais prováveis para blocos com predição de múltiplas hipóteses Download PDF

Info

Publication number
BR112021010286A2
BR112021010286A2 BR112021010286-8A BR112021010286A BR112021010286A2 BR 112021010286 A2 BR112021010286 A2 BR 112021010286A2 BR 112021010286 A BR112021010286 A BR 112021010286A BR 112021010286 A2 BR112021010286 A2 BR 112021010286A2
Authority
BR
Brazil
Prior art keywords
block
mode
mpm list
list
intra
Prior art date
Application number
BR112021010286-8A
Other languages
English (en)
Inventor
Biao Wang
Semih ESENLIK
Jianle Chen
Anand Meher KOTRA
Han Gao
Original Assignee
Huawei Technologies Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co., Ltd. filed Critical Huawei Technologies Co., Ltd.
Publication of BR112021010286A2 publication Critical patent/BR112021010286A2/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

CODIFICADOR, DECODIFICADOR E MÉTODOS CORRESPONDENTES DE CONSTRUÇÃO DE LISTA DE MODOS MAIS PROVÁVEIS PARA BLOCOS COM PREDIÇÃO DE MÚLTIPLAS HIPÓTESES A presente invenção se refere ao campo de processamento de imagem. Especialmente, a invenção trata de aperfeiçoar a predição de um bloco de uma imagem ao decodificar ou codificar. Um método de decodificação de um bloco de uma imagem, compreende: obter um parâmetro de indicação para um bloco de codificação atual. O parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco de codificação atual. Quando o parâmetro de indicação representar que a predição de múltiplas hipóteses é aplicada ao bloco de codificação atual, decodificar o bloco de codificação atual de acordo com um modo planar.

Description

“CODIFICADOR, DECODIFICADOR E MÉTODOS CORRESPONDENTES DE CONSTRUÇÃO DE LISTA DE MODOS MAIS PROVÁVEIS PARA BLOCOS COM PREDIÇÃO DE MÚLTIPLAS HIPÓTESES” REFERÊNCIA CRUZADA A PEDIDOS RELACIONADOS
[0001] Este pedido reivindica prioridade ao Pedido de Patente Provisório U.S. No. 62/773,149, depositado em 29 de novembro de 2018, intitulado “AN ENCODER, A DECODER AND CORRESPONDING METHODS OF MPM LIST CONSTRUCTION FOR BLOCKS WITH MULTI-HYPOTHESIS PREDICTION”, ao Pedido de Patente Provisório U.S. No. 62/783,149, depositado em 20 de dezembro de 2018, intitulado “AN ENCODER, A
DECODER AND CORRESPONDING METHODS OF MPM LIST CONSTRUCTION FOR BLOCKS WITH MULTI-HYPOTHESIS PREDICTION”, ambos os pedidos são incorporados neste documento a título de referência.
CAMPO DA TÉCNICA
[0002] As modalidades do presente pedido (revelação) de modo geral se relacionam ao campo de processamento de imagem e mais particularmente a construir uma lista de modos mais prováveis.
FUNDAMENTOS
[0003] Codificação de vídeo (codificação e decodificação de vídeo) é usada em uma ampla faixa de aplicativos de vídeo digital, por exemplo, broadcast de TV digital, transmissão de vídeo pela internet e redes móveis, aplicativos de conversação em tempo real tais como chat de vídeo, videoconferência, DVD e discos Blu-ray, aquisição de conteúdo de vídeo e sistemas de edição, e câmeras de vídeo de aplicativos de segurança.
[0004] O montante de dados de vídeo necessários para representar mesmo um vídeo relativamente curto pode ser substancial, o que pode resultar em dificuldades quando os dados devem ser transmitidos por streaming ou comunicados de outra forma através de uma rede de comunicações com capacidade de largura de banda limitada. Assim, dados de vídeo são de modo geral comprimidos antes de serem comunicados através de redes de telecomunicações dos dias de hoje. O tamanho de um vídeo também poderia ser um problema quando o vídeo é armazenado em um dispositivo de armazenamento porque os recursos de memória podem ser limitados. Dispositivos de compressão de vídeo frequentemente usam software e/ou hardware na fonte para codificar os dados de vídeo antes da transmissão ou armazenamento, diminuindo assim a quantidade de dados necessária para representar imagens de vídeo digital. Os dados comprimidos são então recebidos no destino por um dispositivo de descompressão de vídeo que decodifica os dados de vídeo. Com recursos de rede limitados e demandas cada vez maiores de qualidade de vídeo mais alta, técnicas de compressão e descompressão aperfeiçoadas que aperfeiçoam a taxa de compressão com pouco ou nenhum sacrifício na qualidade da imagem são desejáveis.
SUMÁRIO
[0005] É um objetivo da invenção fornecer um método e aparelho aperfeiçoados que permitam reduzir a complexidade da decodificação e, assim, aumentar a eficiência da decodificação de vídeo.
[0006] O supracitado e outros objetivos são alcançados pela matéria das reivindicações independentes. Outras formas de implementação são evidentes a partir das reivindicações dependentes, da descrição e das figuras.
[0007] De acordo com um primeiro aspecto, a revelação se relaciona a um método de decodificação de um bloco de uma imagem (ou um quadro) implementado por um dispositivo de decodificação, compreendendo: obter um parâmetro de indicação para um bloco de codificação atual de acordo com um fluxo de bits, o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco de codificação atual ou não; obter um parâmetro de índice para o bloco de codificação atual de acordo com o fluxo de bits; quando, de acordo com um valor de parâmetro de indicação, a predição de múltiplas hipóteses é aplicada ao bloco de codificação atual, obter um modo de predição intra para o bloco de codificação atual de acordo com o parâmetro de índice e uma lista predefinida, em que a lista predefinida compreende os seguintes modos de predição intra nesta ordem: modo planar, modo DC, modo Vertical, modo Horizontal; decodificar o bloco de codificação atual de acordo com o modo de predição intra para o bloco de codificação atual.
[0008] De acordo com um segundo aspecto, a revelação se relaciona a um método de decodificação de um bloco de uma imagem (ou um quadro) implementado por um dispositivo de decodificação, compreendendo obter um parâmetro de indicação para um bloco de codificação atual de acordo com um fluxo de bits, o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco de codificação atual ou não; obter um parâmetro de índice para o bloco de codificação atual de acordo com o fluxo de bits; quando, de acordo com um valor de parâmetro de indicação, a predição de múltiplas hipóteses é aplicada ao bloco de codificação atual, obter um modo de predição intra para o bloco de codificação atual de acordo com o parâmetro de índice e uma lista predefinida, em que a lista predefinida compreende os seguintes modos de predição intra nesta ordem: modo planar, modo DC, modo Vertical; decodificar o bloco de codificação atual de acordo com o modo de predição intra para o bloco de codificação atual.
[0009] De acordo com um terceiro aspecto, a revelação se relaciona a um método de decodificação de um bloco de uma imagem (ou um quadro) implementado por um dispositivo de decodificação, compreendendo obter um parâmetro de indicação para um bloco de codificação atual de acordo com um fluxo de bits, o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco de codificação atual ou não; obter um parâmetro de índice para o bloco de codificação atual de acordo com o fluxo de bits; quando, de acordo com um valor de parâmetro de indicação, a predição de múltiplas hipóteses é aplicada ao bloco de codificação atual, obter um modo de predição intra para o bloco de codificação atual de acordo com o parâmetro de índice e uma lista predefinida, em que a lista predefinida compreende os seguintes modos de predição intra nesta ordem: modo planar, modo DC; decodificar o bloco de codificação atual de acordo com o modo de predição intra para o bloco de codificação atual.
[0010] De acordo com um quarto aspecto, a revelação se relaciona a um método de decodificação de um bloco de uma imagem (ou um quadro) implementado por um dispositivo de decodificação, compreendendo: obter um parâmetro de indicação para um bloco de codificação atual de acordo com um fluxo de bits, o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco de codificação atual ou não; quando, de acordo com um valor de parâmetro de indicação, a predição de múltiplas hipóteses é aplicada ao bloco de codificação atual, decodificar o bloco de codificação atual de acordo com um modo planar.
[0011] De acordo com um quinto aspecto, a revelação se relaciona a um método de decodificação de um bloco de uma imagem (ou um quadro) implementado por um dispositivo de decodificação, compreendendo: obter um parâmetro de índice para um bloco de codificação atual de acordo com um fluxo de bits, o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco de codificação atual ou não; obter um parâmetro de indicação para o bloco de codificação atual de acordo com o fluxo de bits; quando, de acordo com um valor de parâmetro de indicação, a predição de múltiplas hipóteses é aplicada ao bloco de codificação atual, obter um modo de predição intra para o bloco de codificação atual de acordo com o parâmetro de índice e uma lista predefinida, em que a lista predefinida compreende os seguintes modos de predição intra nesta ordem: modo DC, modo planar, modo Vertical, modo Horizontal; decodificar o bloco de codificação atual de acordo com o modo de predição intra para o bloco de codificação atual.
[0012] De acordo com um sexto aspecto, a revelação se relaciona a um método de decodificação de um bloco de uma imagem (ou um quadro) implementado por um dispositivo de decodificação, compreendendo: obter um parâmetro de indicação para um bloco de codificação atual de acordo com um fluxo de bits, o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco de codificação atual ou não; obter um parâmetro de índice para o bloco de codificação atual de acordo com o fluxo de bits; quando, de acordo com um valor de parâmetro de indicação, a predição de múltiplas hipóteses é aplicada ao bloco de codificação atual, obter um modo de predição intra para o bloco de codificação atual de acordo com o parâmetro de índice e uma lista predefinida, em que a lista predefinida compreende os seguintes modos de predição intra nesta ordem: modo DC, modo planar, modo Vertical; decodificar o bloco de codificação atual de acordo com o modo de predição intra para o bloco de codificação atual.
[0013] De acordo com um sétimo aspecto, a revelação se relaciona a um método de decodificação de um bloco de uma imagem (ou um quadro) implementado por um dispositivo de decodificação, compreendendo: obter um parâmetro de indicação para um bloco de codificação atual de acordo com um fluxo de bits, o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco de codificação atual ou não; obter um parâmetro de índice para o bloco de codificação atual de acordo com o fluxo de bits; quando, de acordo com um valor de parâmetro de indicação, a predição de múltiplas hipóteses é aplicada ao bloco de codificação atual, obter um modo de predição intra para o bloco de codificação atual de acordo com o parâmetro de índice e uma lista predefinida, em que a lista predefinida compreende os seguintes modos de predição intra nesta ordem: modo DC, modo planar; decodificar o bloco de codificação atual de acordo com o modo de predição intra para o bloco de codificação atual.
[0014] De acordo com um oitavo aspecto, a revelação se relaciona a um método de decodificação de um bloco de uma imagem (ou um quadro) implementado por um dispositivo de decodificação, compreendendo: obter um parâmetro de indicação para um bloco de codificação atual de acordo com um fluxo de bits, o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco de codificação atual ou não; quando, de acordo com um valor de parâmetro de indicação, a predição de múltiplas hipóteses é aplicada ao bloco de codificação atual, decodificar o bloco de codificação atual de acordo com um modo DC.
[0015] De acordo com um nono aspecto, a revelação se relaciona a um método de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível);
quando o bloco à esquerda do bloco de codificação atual está disponível, e um valor correspondente a um modo de predição intra do bloco à esquerda está em uma primeira faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que inclui 2 e 34), adicionar um modo horizontal em uma lista de MPM.
[0016] De acordo com um décimo aspecto, a revelação se relaciona a um método de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, e um valor correspondente a um modo de predição intra do bloco à esquerda está em uma primeira faixa predefinida (em um exemplo, a faixa poderia ser de 35 a 66, que inclui 35 e 66), adicionar um modo vertical em uma lista de MPM.
[0017] De acordo com um décimo primeiro aspecto, a revelação se relaciona a um método de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, e um valor correspondente a um modo de predição intra do bloco à esquerda está em uma primeira faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que inclui 2 e 34), adicionar um modo horizontal em uma lista de MPM; quando o bloco de cima do bloco de codificação atual está disponível, e um valor correspondente a um modo de predição intra do bloco de cima está na primeira faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que inclui 2 e 34), adicionar um outro modo horizontal em uma lista de MPM.
[0018] De acordo com um décimo segundo aspecto, a revelação se relaciona a um método de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, e um valor correspondente a um modo de predição intra do bloco à esquerda está em uma primeira faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que inclui 2 e 34), adicionar um modo horizontal em uma lista de MPM; quando o bloco de cima do bloco de codificação atual está disponível, e um valor correspondente a um modo de predição intra do bloco de cima está na primeira faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que inclui 2 e 34), adicionar um modo planar, um modo DC e um vertical à lista de MPM.
[0019] De acordo com um décimo terceiro aspecto, a revelação se relaciona a um método de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, e um valor correspondente a um modo de predição intra do bloco à esquerda está em uma primeira faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que inclui 2 e 34), adicionar um modo horizontal em uma lista de MPM; quando o bloco de cima do bloco de codificação atual está disponível, e um valor correspondente a um modo de predição intra do bloco de cima está em uma segunda faixa predefinida (em um exemplo, a faixa poderia ser de 35 a 66, que inclui 35 e 66), adicionar um modo vertical em uma lista de MPM.
[0020] De acordo com um décimo quarto aspecto, a revelação se relaciona a um método de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, e um valor correspondente a um modo de predição intra do bloco à esquerda está em uma segunda faixa predefinida (em um exemplo, a faixa poderia ser de 35 a 66, que inclui 35 e 66), adicionar um modo vertical em uma lista de MPM; quando o bloco de cima do bloco de codificação atual está disponível, e um valor correspondente a um modo de predição intra do bloco de cima está na segunda faixa predefinida (em um exemplo, a faixa poderia ser de 35 a 66, que inclui 35 e 66), adicionar um outro modo vertical em uma lista de MPM.
[0021] De acordo com um décimo quinto aspecto, a revelação se relaciona a um método de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, e um valor correspondente a um modo de predição intra do bloco à esquerda está em uma segunda faixa predefinida (em um exemplo, a faixa poderia ser de 35 a 66, que inclui 35 e 66), adicionar um modo vertical em uma lista de MPM; quando o bloco de cima do bloco de codificação atual está disponível, e um valor correspondente a um modo de predição intra do bloco de cima está na segunda faixa predefinida (em um exemplo, a faixa poderia ser de 35 a 66, que inclui 35 e 66), adicionar um modo planar, um modo DC e um modo horizontal à lista de MPM.
[0022] De acordo com um décimo sexto aspecto, a revelação se relaciona a um método de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, e um valor correspondente a um modo de predição intra do bloco à esquerda está em uma segunda faixa predefinida (em um exemplo, a faixa poderia ser de 35 a 66, que inclui 35 e 66), adicionar um modo vertical em uma lista de MPM; quando o bloco de cima do bloco de codificação atual está disponível e um valor correspondente a um modo de predição intra do bloco de cima está em uma primeira faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que inclui 2 e 34), adicionar um modo horizontal em uma lista de MPM.
[0023] De acordo com um décimo sétimo aspecto, a revelação se relaciona a um método de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual não está disponível, e o bloco de cima do bloco de codificação atual não está disponível, adicionar um modo planar, um modo DC em uma lista de MPM.
[0024] De acordo com um décimo oitavo aspecto, a revelação se relaciona a um método de construir uma lista de modos mais prováveis, MPM,
para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual não está disponível, o bloco de cima do bloco de codificação atual está disponível e um modo de predição intra do bloco de cima é o modo planar, adicionar um modo planar, um modo DC em uma lista de MPM.
[0025] De acordo com um décimo nono aspecto, a revelação se relaciona a um método de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual não está disponível, o bloco de cima do bloco de codificação atual está disponível e um modo de predição intra do bloco de cima é o modo DC, adicionar um modo DC, um modo planar em uma lista de MPM.
[0026] De acordo com um vigésimo aspecto, a revelação se relaciona a um método de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual não está disponível, o bloco de cima do bloco de codificação atual está disponível e um valor correspondente a um modo de predição intra do bloco de cima está em uma segunda faixa predefinida (em um exemplo, a faixa poderia ser de 35 a 66, que inclui 35 e 66), adicionar um modo vertical, um modo DC, um modo planar em uma lista de MPM.
[0027] De acordo com um vigésimo primeiro aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual não está disponível, o bloco de cima do bloco de codificação atual está disponível e um valor correspondente a um modo de predição intra do bloco de cima está em uma primeira faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que inclui 2 e 34), adicionar um modo horizontal, um modo DC em uma lista de MPM.
[0028] De acordo com um vigésimo segundo aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, um modo de predição intra do bloco à esquerda é o modo planar e o bloco de cima do bloco de codificação atual não está disponível, adicionar um modo planar, um modo DC em uma lista de MPM.
[0029] De acordo com um vigésimo terceiro aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, um modo de predição intra do bloco à esquerda é o modo planar, o bloco de cima do bloco de codificação atual está disponível e um modo de predição intra do bloco de cima é o modo planar, adicionar um modo planar, um modo DC em uma lista de MPM.
[0030] De acordo com um vigésimo quarto aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, um modo de predição intra do bloco à esquerda é o modo planar, o bloco de cima do bloco de codificação atual está disponível e um modo de predição intra do bloco de cima é o modo DC, adicionar um modo planar, um modo DC em uma lista de MPM.
[0031] De acordo com um vigésimo quinto aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, um modo de predição intra do bloco à esquerda é o modo planar, o bloco de cima do bloco de codificação atual está disponível e um valor correspondente a um modo de predição intra do bloco de cima está em uma segunda faixa predefinida (em um exemplo, a faixa poderia ser de 35 a 66, que inclui 35 e 66), adicionar um modo planar, um modo vertical em uma lista de MPM.
[0032] De acordo com um vigésimo sexto aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, um modo de predição intra do bloco à esquerda é o modo planar, o bloco de cima do bloco de codificação atual está disponível e um valor correspondente a um modo de predição intra do bloco de cima está em uma primeira faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que inclui 2 e 34), adicionar um modo planar, um modo horizontal em uma lista de MPM.
[0033] De acordo com um vigésimo sétimo aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, um modo de predição intra do bloco à esquerda é o modo DC e o bloco de cima do bloco de codificação atual não está disponível, adicionar um modo DC, um modo planar em uma lista de MPM.
[0034] De acordo com um vigésimo oitavo aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, um modo de predição intra do bloco à esquerda é o modo DC, o bloco de cima do bloco de codificação atual está disponível e um modo de predição intra do bloco de cima é o modo planar, adicionar um modo DC, um modo planar em uma lista de MPM.
[0035] De acordo com um vigésimo nono aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, um modo de predição intra do bloco à esquerda é o modo DC, o bloco de cima do bloco de codificação atual está disponível e um modo de predição intra do bloco de cima é o modo DC, adicionar um modo DC, um modo planar em uma lista de MPM.
[0036] De acordo com um trigésimo aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, um modo de predição intra do bloco à esquerda é o modo DC, o bloco de cima do bloco de codificação atual está disponível e um valor correspondente a um modo de predição intra do bloco de cima está em uma segunda faixa predefinida (em um exemplo, a faixa poderia ser de 35 a 66, que inclui 35 e 66), adicionar um modo DC, um modo vertical em uma lista de MPM.
[0037] De acordo com um trigésimo primeiro aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM,
para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, um modo de predição intra do bloco à esquerda é o modo DC, o bloco de cima do bloco de codificação atual está disponível e um valor correspondente a um modo de predição intra do bloco de cima está em uma primeira faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que inclui 2 e 34), adicionar um modo DC, um modo horizontal em uma lista de MPM.
[0038] De acordo com um trigésimo segundo aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, um valor correspondente a um modo de predição intra do bloco à esquerda está em uma segunda faixa predefinida (em um exemplo, a faixa poderia ser de 35 a 66, que inclui 35 e 66), e o bloco de cima do bloco de codificação atual não está disponível, adicionar um modo vertical, um modo planar em uma lista de MPM.
[0039] De acordo com um trigésimo terceiro aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, um valor correspondente a um modo de predição intra do bloco à esquerda está em uma segunda faixa predefinida (em um exemplo, a faixa poderia ser de 35 a 66, que inclui 35 e 66), o bloco de cima do bloco de codificação atual está disponível e um modo de predição intra do bloco de cima é o modo planar, adicionar um modo vertical, um modo planar em uma lista de MPM.
[0040] De acordo com um trigésimo quarto aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, um valor correspondente a um modo de predição intra do bloco à esquerda está em uma segunda faixa predefinida (em um exemplo, a faixa poderia ser de 35 a 66, que inclui 35 e 66), o bloco de cima do bloco de codificação atual está disponível e um modo de predição intra do bloco de cima é o modo DC, adicionar um modo vertical, um modo DC na lista de MPM.
[0041] De acordo com um trigésimo quinto aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, um valor correspondente a um modo de predição intra do bloco à esquerda está em uma primeira faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que inclui 2 e 34), e o bloco de cima do bloco de codificação atual não está disponível, adicionar um modo horizontal, um modo planar em uma lista de MPM.
[0042] De acordo com um trigésimo sexto aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível);
determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, um valor correspondente a um modo de predição intra do bloco à esquerda está em uma primeira faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que inclui 2 e 34), o bloco de cima do bloco de codificação atual está disponível e um modo de predição intra, o bloco de cima é o modo planar, adicionar um modo horizontal, um modo planar em uma lista de MPM.
[0043] De acordo com um trigésimo sétimo aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda está disponível); determinar se um bloco de cima (por exemplo, bloco A na Figura 6) de um bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível); quando o bloco à esquerda do bloco de codificação atual está disponível, um valor correspondente a um modo de predição intra do bloco à esquerda está em uma primeira faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que inclui 2 e 34), o bloco de cima do bloco de codificação atual está disponível e um modo de predição intra o bloco de cima é o modo DC, adicionar um modo horizontal, um modo DC em uma lista de MPM.
[0044] De acordo com um trigésimo oitavo aspecto, a revelação se relaciona a um método de de processar um bloco de acordo com a lista de modos mais prováveis, MPM, o método compreendendo:
construir uma primeira lista de MPM para um bloco atual de acordo com modos intra de blocos vizinhos do bloco atual (em um exemplo, a lista de MPM do bloco atual compreende seis modos intra. Em um exemplo, uma lista de MPM compreende um ou mais modos intra significa que a lista de MPM compreende um ou mais valores correspondentes a um ou mais modos intra, um valor correspondendo a um modo intra); construir uma segunda lista de MPM do bloco atual de acordo com um ou mais modos intra da primeira lista de MPM do bloco atual; obter um parâmetro de indicação para o bloco atual de acordo com um fluxo de bits, o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco atual ou não; usar, de acordo com um valor de parâmetro de indicação, a primeira lista de MPM ou a segunda lista de MPM para processar o bloco atual (por exemplo, a lista de MPM pode ser usada na predição intra do bloco atual).
[0045] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou do trigésimo oitavo aspecto propriamente dito, o método compreende adicionalmente: a construção de uma segunda lista de MPM do bloco atual de acordo com um ou mais modos intra da primeira lista de MPM do bloco atual compreende: quando a segunda lista de MPM do bloco atual compreende um modo intra, construir a segunda lista de MPM do bloco atual de acordo com o primeiro modo intra na primeira lista de MPM do bloco atual.
[0046] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou do trigésimo oitavo aspecto propriamente dito, o método compreende adicionalmente a construção de uma segunda lista de MPM do bloco atual de acordo com um ou mais modos intra da primeira lista de MPM do bloco atual compreende: quando a segunda lista de MPM do bloco atual compreende dois modos intra, construir a segunda lista de MPM do bloco atual de acordo com o primeiro modo intra e o segundo modo intra na primeira lista de MPM do bloco atual.
[0047] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou do trigésimo sétimo aspecto propriamente dito, o método compreende adicionalmente a construção de uma segunda lista de MPM do bloco atual de acordo com um ou mais modos intra da primeira lista de MPM do bloco atual compreende: quando a segunda lista de MPM do bloco atual compreende três modos intra, construir a segunda lista de MPM do bloco atual de acordo com o primeiro modo intra, o segundo modo intra e o terceiro modo intra na primeira lista de MPM do bloco atual.
[0048] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou do trigésimo oitavo aspecto propriamente dito, o método que compreende adicionalmente a construção de uma segunda lista de MPM do bloco atual de acordo com um ou mais modos intra da primeira lista de MPM do bloco atual compreende: quando a segunda lista de MPM do bloco atual compreende quatro modos intra, construir a segunda lista de MPM do bloco atual de acordo com o primeiro modo intra, o segundo modo intra, o terceiro modo intra e o quarto modo intra na primeira lista de MPM do bloco atual.
[0049] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou do trigésimo oitavo aspecto propriamente dito, o método compreende adicionalmente quando o primeiro modo intra na primeira lista de MPM do bloco atual é o modo planar, um modo planar é adicionado na segunda lista de MPM (em um exemplo, o modo planar é o primeiro modo intra na lista de MPM do bloco atual).
[0050] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou do trigésimo oitavo aspecto propriamente dito, o método compreende adicionalmente quando o primeiro modo intra na primeira lista de MPM do bloco atual é o modo DC, um modo DC é adicionado na segunda lista de MPM (em um exemplo, o modo DC é o primeiro modo intra na segunda lista de MPM do bloco atual).
[0051] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou do trigésimo oitavo aspecto propriamente dito, o método compreende adicionalmente quando um valor correspondente ao primeiro modo de predição intra na primeira lista de MPM do bloco atual está em uma primeira faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que inclui 2 e 34), um modo horizontal é adicionado na segunda lista de MPM do bloco atual (em um exemplo, modo horizontal é o primeiro modo intra na segunda lista de MPM do bloco atual).
[0052] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do primeiro aspecto ou do trigésimo oitavo aspecto propriamente dito, o método compreende adicionalmente um valor correspondente ao primeiro modo de predição intra na primeira lista de MPM do atual bloco está em uma segunda faixa predefinida (em um exemplo, a faixa poderia ser de 35 a 66, que inclui 35 e 66), modo vertical é adicionado na segunda lista de MPM do bloco atual (em um exemplo, o modo vertical é o primeiro modo intra na segunda lista de MPM do bloco atual).
[0053] De acordo com um trigésimo nono aspecto, a revelação se relaciona a um método de de construir uma lista de modos mais prováveis, MPM, para predição intra, o método compreendendo: obter um parâmetro de indicação para um bloco atual de acordo com um fluxo de bits, o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco de codificação atual ou não; quando, de acordo com um valor de parâmetro de indicação, a predição de múltiplas hipóteses é aplicada ao bloco de codificação atual, determinar se um bloco à esquerda (por exemplo, bloco L na Figura 6) do bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco à esquerda, o bloco à esquerda não está disponível, se há um modo de predição intra do bloco à esquerda, o bloco à esquerda k está disponível), quando o bloco à esquerda do bloco de codificação atual não está disponível, adicionar um modo planar em uma lista de MPM do bloco de codificação atual (em um exemplo, antes desta etapa de adição, a lista de MPM do bloco de codificação atual pode ser uma lista vazia).
[0054] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente: quando o bloco à esquerda do bloco de codificação atual está disponível e um modo intra do bloco à esquerda é o modo planar, adicionar um modo planar em uma lista de MPM do bloco de codificação atual (em um exemplo, antes desta etapa de adição, a lista de MPM do bloco de codificação atual pode ser uma lista vazia).
[0055] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente: quando o bloco à esquerda do bloco de codificação atual está disponível e um modo intra do bloco à esquerda é o modo DC, adicionar um modo DC em uma lista de MPM do bloco de codificação atual (em um exemplo, antes desta etapa de adição, a lista de MPM do bloco de codificação atual pode ser uma lista vazia).
[0056] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente: : quando o bloco à esquerda do bloco de codificação atual está disponível e um valor correspondente a um modo intra do bloco à esquerda está em uma primeira faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que inclui 2 e 34), adicionar um modo horizontal em uma lista de MPM do bloco de codificação atual (em um exemplo, antes desta etapa de adição, a lista de MPM do bloco de codificação atual pode ser uma lista vazia).
[0057] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente: quando o bloco à esquerda do bloco de codificação atual está disponível e um valor correspondente a um modo intra do bloco à esquerda está em uma segunda faixa predefinida (em um exemplo, a faixa poderia ser de 35 a 66, que inclui 35 e 66), adicionar um modo vertical em uma lista de MPM do bloco de codificação atual (em um exemplo, antes desta etapa de adição, a lista de MPM do bloco de codificação atual pode ser uma lista vazia).
[0058] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente: determinar se um bloco de cima (por exemplo, bloco A na Figura 6) do bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível), quando o bloco de cima do bloco de codificação atual não está disponível, adicionar um modo planar em uma lista de MPM do bloco de codificação atual (em um exemplo, antes desta etapa de adição, a lista de MPM do bloco de codificação atual compreende um modo intra. Neste processo de adição, a lista de MPM compreende dois modos intra, por exemplo, a lista de MPM pode compreender (0, 0) ou (1, 0) ou (50, 0) ou (18, 0)).
[0059] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente: determinar se um bloco de cima (por exemplo, bloco A na Figura 6) do bloco de codificação atual está disponível ou não (por exemplo, se não há modo de predição intra do bloco de cima, o bloco de cima não está disponível, se há um modo de predição intra do bloco de cima, o bloco de cima está disponível), quando o bloco de cima do bloco de codificação atual não está disponível e um modo planar não está compreendido na lista de MPM do bloco de codificação atual (em um exemplo, quando um modo intra do bloco à esquerda é o modo DC ou modo angular, um modo planar não está compreendido na lista de MPM após o primeiro modo intra ser adicionado à lista de MPM), adicionar um modo planar em uma lista de MPM do bloco de codificação atual (em um exemplo, antes desta etapa de adição, a lista de MPM do bloco de codificação atual compreende um modo intra. Após este processo de adição, a lista de MPM compreende dois modos intra, por exemplo, a lista de MPM pode compreender (1, 0) ou (50, 0) ou (18, 0)).
[0060] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente: quando o bloco de cima do bloco de codificação atual está disponível e um modo intra do bloco de cima é o modo planar, adicionar um modo planar em uma lista de MPM do bloco de codificação atual (em um exemplo, antes desta etapa de adição, a lista de MPM do bloco de codificação atual compreende um modo intra. Após este processo de adição, a lista de MPM compreende dois modos intra, por exemplo, a lista de MPM pode compreender (0, 0) ou (1, 0) ou (50, 0) ou (18, 0)).
[0061] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente: quando o bloco de cima do bloco de codificação atual está disponível, um modo intra do bloco de cima é o modo planar e um modo planar não está compreendido na lista de MPM do bloco de codificação atual (em um exemplo, quando um modo intra do bloco à esquerda é o modo DC ou modo angular, um modo planar não está compreendido na lista de MPM após o primeiro modo intra ser adicionado à lista de MPM), adicionar um modo planar em uma lista de MPM do bloco de codificação atual (em um exemplo, antes esta etapa de adição, a lista de MPM do bloco de codificação atual compreende um modo intra. Após este processo de adição, a lista de MPM compreende dois modos intra, por exemplo, a lista de MPM pode compreender (1, 0) ou (50, 0) ou (18, 0)).
[0062] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente: quando o bloco de cima do bloco de codificação atual está disponível e um modo intra do bloco de cima é o modo DC, adicionar um modo DC em uma lista de MPM do bloco de codificação atual (em um exemplo, antes desta etapa de adição, a lista de MPM do bloco de codificação atual compreende um modo intra. Após este processo de adição, a lista de MPM compreende dois modos intra, por exemplo, a lista de MPM pode compreender (0, 1) ou (1, 1) ou (50, 1) ou (18, 1)).
[0063] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente:
quando o bloco de cima do bloco de codificação atual está disponível, um modo intra do bloco de cima é o modo DC e um modo DC não está compreendido na lista de MPM do bloco de codificação atual (em um exemplo, quando um modo intra do bloco à esquerda não é um modo DC, um modo DC não está compreendido na lista de MPM após o primeiro modo intra ser adicionado à lista de MPM), adicionar um modo DC em uma lista de MPM do bloco de codificação atual (em um exemplo, antes deste etapa de adição, a lista de MPM do bloco de codificação atual compreende um modo intra. Após este processo de adição, a lista de MPM compreende dois modos intra, por exemplo, a lista de MPM pode compreender (0, 1) ou (50, 1) ou (18, 1)).
[0064] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente: quando o bloco de cima do bloco de codificação atual está disponível e um valor correspondente a um modo intra do bloco de cima está em uma primeira faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que inclui 2 e 34), adicionar um modo horizontal em uma lista de MPM do bloco de codificação atual (em um exemplo, antes desta etapa de adição, a lista de MPM do bloco de codificação atual compreende um modo intra. Após este processo de adição, a lista de MPM compreende dois modos intra, por exemplo, a lista de MPM pode compreender (0, 18) ou (1, 18) ou (50, 18) ou (18, 18)).
[0065] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente: quando o bloco de cima do bloco de codificação atual está disponível, um valor correspondente a um modo intra do bloco de cima está em uma primeira faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que inclui 2 e 34), e um modo horizontal não está compreendido na lista de MPM do bloco de codificação atual (em um exemplo, quando um modo intra do bloco à esquerda é o modo DC ou modo planar ou um valor correspondente ao modo intra do bloco à esquerda não está no primeiro intervalo predefinido, um modo horizontal não está compreendido na lista de MPM após o primeiro modo intra ser adicionado à lista de MPM), adicionar um modo horizontal em uma lista de MPM do bloco de codificação atual (em um exemplo, antes desta etapa de adição, a lista de
MPM do bloco de codificação atual compreende um modo intra. Após este processo de adição, a lista de MPM compreende dois modos intra, por exemplo, a lista de MPM pode compreender (0, 18) ou (1, 18) ou (50, 18)).
[0066] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente: quando o bloco de cima do bloco de codificação atual está disponível e um valor correspondente a um modo intra do bloco de cima está em uma segunda faixa predefinida (em um exemplo, a faixa poderia ser de 35 a 66, que inclui 35 e 66), adicionar um modo vertical em uma lista de MPM do bloco de codificação atual (em um exemplo, antes desta etapa de adição, a lista de MPM do bloco de codificação atual compreende um modo intra. Após este processo de adição, a lista de MPM compreende dois modos intra, por exemplo, a lista de MPM pode compreender (0, 50) ou (1, 50) ou (50, 50) ou (18, 50)).
[0067] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente: quando o bloco de cima do bloco de codificação atual está disponível, um valor correspondente a um modo intra do bloco de cima está em uma segunda faixa predefinida (em um exemplo, a faixa poderia ser de 35 a 66, que inclui 35 e 66) e um modo vertical não está compreendido na lista de MPM do bloco de codificação atual (em um exemplo, quando um modo intra do bloco à esquerda é o modo DC ou modo planar ou um valor correspondente ao modo intra do bloco à esquerda não está no segundo intervalo predefinido, um modo vertical não está compreendido na lista de MPM após o primeiro modo intra ser adicionado à lista de MPM), adicionar um modo vertical em uma lista de MPM do bloco de codificação atual (em um exemplo, antes desta etapa de adição, a lista de MPM do bloco de codificação atual compreende um modo intra. Após este processo de adição, a lista de MPM compreende dois modos intra, por exemplo, a lista de MPM pode compreender (0, 50) ou (1, 50) ou (18, 50)).
[0068] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente: quando uma quantidade de um ou mais modos intra na lista de MPM do bloco de codificação atual é menor do que um valor predefinido (por exemplo, o valor pode ser 2, 3 ou 4), e um modo planar não está compreendido na lista de MPM do bloco de codificação atual, adicionar um modo planar à lista de MPM do bloco de codificação atual.
[0069] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente: quando uma quantidade de um ou mais modos intra na lista de MPM do bloco de codificação atual é menor do que um valor predefinido (por exemplo, o valor pode ser 2, 3 ou 4), e um modo DC não está compreendido na lista de MPM do bloco de codificação atual, adicionar um modo DC à lista de MPM do bloco de codificação atual.
[0070] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente: quando uma quantidade de um ou mais modos intra na lista de MPM do bloco de codificação atual é menor do que um valor predefinido (por exemplo, o valor pode ser 2, 3 ou 4), e um modo vertical não está incluído na lista de MPM do bloco de codificação atual, adicionar um modo vertical à lista de MPM do bloco de codificação atual.
[0071] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do trigésimo nono aspecto propriamente dito, o método compreende adicionalmente: quando uma quantidade de um ou mais modos intra na lista de MPM do bloco de codificação atual é menor do que um valor predefinido (por exemplo, o valor pode ser 2, 3 ou 4), e um modo horizontal não está incluído na lista de MPM do bloco de codificação atual, adicionar um modo horizontal na lista de MPM do bloco de codificação atual.
[0072] De acordo com um quadragésimo aspecto, a revelação se relaciona a um método de decodificação de um bloco de uma imagem (ou um quadro) implementado por um dispositivo de decodificação, compreendendo: construir uma lista de modos mais prováveis, MPM, para um bloco atual de acordo com modos intra de blocos vizinhos do bloco atual (em um exemplo, a lista de MPM do bloco atual compreende seis modos intra. Em um exemplo, uma lista de MPM que compreende um ou mais modos intra significa que a lista de MPM compreende um ou mais valores correspondentes a um ou mais modos intra, um valor correspondendo a um modo intra), em que a lista de MPM compreende um ou mais modos angulares; obter um parâmetro de indicação para o bloco atual de acordo com um fluxo de bits, o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco atual ou não; obter um parâmetro de índice para o bloco atual de acordo com o fluxo de bits; quando, de acordo com um valor de parâmetro de indicação, a predição de múltiplas hipóteses é aplicada ao bloco atual, obter um modo de predição intra para o bloco atual de acordo com o parâmetro de índice e a lista de MPM do bloco atual; quando um valor correspondente ao modo de predição intra do bloco atual está em uma faixa predefinida (em um exemplo, a faixa poderia ser de 2 a 34, que incluem 2 e 34; ou a faixa poderia ser de 35 a 66, que inclui 35 e 66), decodificar o bloco atual de acordo com um modo predefinido (por exemplo, o modo predefinido pode ser modo horizontal ou modo vertical).
[0073] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo aspecto propriamente dito, o método compreende adicionalmente quando um valor correspondente ao modo de predição intra do bloco atual está em uma faixa de 2 a 34 (que inclui 2 e 34), o modo predefinido é o modo horizontal, ou quando um valor correspondente ao modo de predição intra do bloco atual está na faixa de 2 a 33 (que inclui 2 e 33), o modo predefinido é o modo horizontal.
[0074] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo aspecto propriamente dito, o método compreende adicionalmente quando um valor correspondente ao modo de predição intra do bloco atual está em uma faixa de 35 a 66 (que inclui 35 e 66), o modo predefinido é o modo vertical, ou quando um valor correspondente ao modo de predição intra do bloco atual está em uma faixa de 34 a 66 (que inclui 34 e 66), o modo predefinido é o modo vertical.
[0075] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo aspecto propriamente dito, o método compreende adicionalmente quando o modo de predição intra do bloco atual é um modo angular (por exemplo, um valor correspondente ao modo de predição intra do bloco atual está em uma faixa de 2 a 66, que inclui 2 e 66), o modo predefinido é o modo planar.
[0076] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo aspecto propriamente dito, o método compreende adicionalmente quando o modo de predição intra do bloco atual é um modo angular (por exemplo, um valor correspondente ao modo de predição intra do bloco atual está em uma faixa de 2 a 66, que inclui 2 e 66), o modo predefinido é o modo DC.
[0077] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo aspecto propriamente dito, o método compreende adicionalmente quando um valor correspondente ao modo de predição intra do bloco atual está em uma faixa de 2 a 66 (que inclui 2 e 66), o modo predefinido é o modo vertical.
[0078] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo aspecto propriamente dito, o método compreende adicionalmente quando um valor correspondente ao modo de predição intra do bloco atual está em uma faixa de 2 a 66 (que inclui 2 e 66), o modo predefinido é o modo horizontal.
[0079] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo aspecto propriamente dito, o método compreende adicionalmente quando o modo predição intra para o bloco atual é o modo planar, decodificar o bloco atual de acordo com um modo planar.
[0080] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo aspecto propriamente dito, o método compreende adicionalmente quando o modo de predição intra para o bloco atual é o modo DC, decodificar o bloco atual de acordo com um modo DC.
[0081] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo aspecto propriamente dito, o método compreende adicionalmente quando o modo de predição intra para o bloco atual é o modo DC, decodificar o bloco atual de acordo com um modo planar.
[0082] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo aspecto propriamente dito, o método compreende adicionalmente que o parâmetro de índice tem um valor máximo de N, onde N é menor do que o tamanho da lista de MPM, N é um número inteiro positivo.
[0083] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo aspecto propriamente dito, o método compreende adicionalmente que N é igual a 1 (o parâmetro de índice pode ter um valor de 0 ou 1).
[0084] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo aspecto propriamente dito, o método compreende adicionalmente que N é igual a 3 (o parâmetro de índice pode ter um valor de 0, 1, 2 ou 3).
[0085] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo aspecto propriamente dito, o método compreende adicionalmente que o parâmetro de índice é predefinido e igual a 0, o que indica o primeiro candidato na lista de MPM.
[0086] De acordo com um quadragésimo primeiro aspecto, a revelação se relaciona a um método de decodificação de um bloco de uma imagem (ou um quadro) implementado por um dispositivo de decodificação, compreendendo: obter um parâmetro de indicação para um bloco de codificação atual de acordo com um fluxo de bits, o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco de codificação atual ou não; obter um parâmetro de índice para o bloco de codificação atual de acordo com o fluxo de bits; quando, de acordo com um valor de parâmetro de indicação, a predição de múltiplas hipóteses é aplicada ao bloco de codificação atual, obter um modo de predição intra para o bloco de codificação atual de acordo com o parâmetro de índice e uma lista predefinida, em que a lista predefinida compreende os seguintes modos de predição intra nesta ordem: modo planar, modo Horizontal e modo Vertical; e decodificar o bloco de codificação atual de acordo com o modo de predição intra para o bloco de codificação atual.
[0087] De acordo com um quadragésimo segundo aspecto, a revelação se relaciona a um método de decodificação de um bloco de uma imagem (ou um quadro) implementado por um dispositivo de decodificação, compreendendo: obter um parâmetro de indicação para um bloco de codificação atual de acordo com um fluxo de bits, o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco de codificação atual ou não; obter um parâmetro de índice para o bloco de codificação atual de acordo com o fluxo de bits; quando, de acordo com um valor de parâmetro de indicação, a predição de múltiplas hipóteses é aplicada ao bloco de codificação atual, obter um modo de predição intra para o bloco de codificação atual de acordo com o parâmetro de índice e uma lista predefinida, em que a lista predefinida compreende os seguintes modos de predição intra nesta ordem: modo planar, modo Vertical e modo horizontal; e decodificar o bloco de codificação atual de acordo com o modo de predição intra para o bloco de codificação atual.
[0088] De acordo com um quadragésimo terceiro aspecto, a revelação se relaciona a um método de decodificação de um bloco de uma imagem, compreendendo: obter um parâmetro de indicação para um bloco de codificação atual, em que o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco de codificação atual; quando o parâmetro de indicação representa que a predição de múltiplas hipóteses é aplicada ao bloco de codificação atual; decodificar o bloco de codificação atual de acordo com um modo planar.
[0089] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo terceiro aspecto, a predição de múltiplas hipóteses é uma predição inter e intra combinadas (CIIP).
[0090] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo terceiro aspecto, o parâmetro de indicação é flag CIIP.
[0091] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo terceiro aspecto, o parâmetro de indicação é portado por sintaxe de dados de fusão.
[0092] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo terceiro aspecto, o método compreende adicionalmente: obter o modo planar para o bloco de codificação atual de acordo com uma lista de modos mais prováveis (MPM), em que cada um dentre os modos de predição intra na lista de MPM é indexado com um valor correspondente do índice de lista de MPM.
[0093] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo terceiro aspecto, o método compreende adicionalmente: analisar um fluxo de bits para obter um índice de lista de MPM, em que o índice de lista de MPM tem um valor entre 0 a N-1, e em que N são as entradas dos modos de predição intra na lista de MPM; e obter o modo de predição intra para o bloco de codificação atual da lista de MPM de acordo com o valor do índice de lista de MPM.
[0094] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo terceiro aspecto, a lista de MPM compreende pelo menos o modo planar.
[0095] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo terceiro aspecto, a lista de MPM compreende o modo planar e pelo menos um dentre modo DC, modo vertical e modo horizontal.
[0096] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo terceiro aspecto, a lista de MPM consiste no modo planar.
[0097] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo terceiro aspecto, a lista de MPM é construída a partir de uma lista padrão predefinida.
[0098] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo terceiro aspecto, o índice de lista de MPM é codificado em representação decimal ou binária.
[0099] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo terceiro aspecto, um decodificador que compreende um circuito de processamento para realizar o método de acordo com qualquer qualquer implementação anterior do quadragésimo terceiro aspecto.
[0100] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo terceiro aspecto, um decodificador, compreendendo: um armazenamento de memória compreendendo instruções; e um ou mais processadores em comunicação com a memória, em que o um ou mais processadores executam as instruções para realizar o método de acordo com qualquer implementação anterior do quadragésimo terceiro aspecto.
[0101] De acordo com um quadragésimo quarto aspecto, a revelação se relaciona a um aparelho para decodificação, o aparelho compreendendo: uma unidade de determinação configurada para obter um parâmetro de indicação para um bloco de codificação atual, em que o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicado ao bloco de codificação atual; e uma unidade de processamento de predição intra configurada para realizar predição intra para o bloco de codificação atual com base em um modo planar quando o parâmetro de indicação representa que a predição de múltiplas hipóteses é aplicada ao bloco de codificação atual.
[0102] Em uma possível forma de implementação do aparelho de acordo com qualquer implementação anterior do quadragésimo quarto aspecto, em que o aparelho compreende adicionalmente uma unidade de análise, configurada para analisar uma pluralidade de elementos de sintaxe de um fluxo de bits de um sinal de vídeo; a unidade de determinação adicionalmente configurada para determinar o modo planar com base em um elemento de sintaxe a partir da pluralidade de elementos de sintaxe.
[0103] De acordo com um quadragésimo quinto aspecto, a revelação se relaciona a um método de codificar um bloco de uma imagem, compreendendo: obter um parâmetro de indicação para um bloco atual, em que o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco atual; quando o parâmetro de indicação representa que a predição de múltiplas hipóteses é aplicada ao bloco atual, codificar o bloco atual de acordo com um modo planar.
[0104] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo quinto aspecto, a predição de múltiplas hipóteses é uma predição inter e intra combinadas (CIIP).
[0105] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo quinto aspecto, o parâmetro de indicação é flag CIIP.
[0106] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo quinto aspecto, o parâmetro de indicação é portado por sintaxe de dados de fusão.
[0107] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo quinto aspecto, o método compreende adicionalmente: obter o modo planar para o bloco de codificação atual de acordo com uma lista de modos mais prováveis (MPM), em que cada um dentre os modos de predição intra na lista de MPM é indexado com um valor correspondente do índice de lista de MPM.
[0108] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo quinto aspecto, o método compreende adicionalmente: indexar cada um dentre os modos de predição intra na lista de MPM com um valor correspondente do índice de lista de MPM; analisar o índice de lista de MPM a partir de um fluxo de bits, em que o índice de lista de MPM tem um valor entre 0 a N-1, em que N são as entradas dos modos de predição intra na lista de MPM. Obter o modo de predição intra do bloco de codificação atual da lista de MPM de acordo com o valor do índice de lista de MPM.
[0109] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo quinto aspecto, a lista de MPM compreende pelo menos o modo planar.
[0110] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo quinto aspecto, a lista de MPM compreende o modo planar e pelo menos um dentre modo DC, modo vertical e modo horizontal.
[0111] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo quinto aspecto,
a lista de MPM consiste no modo planar.
[0112] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo quinto aspecto, a lista de MPM é construída a partir de uma lista padrão predefinida.
[0113] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo quinto aspecto, o índice de lista de MPM é codificado em representação decimal ou binária.
[0114] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo quinto aspecto, um codificador que compreende um circuito de processamento para realizar o método de acordo com qualquer implementação anterior do quadragésimo quinto aspecto.
[0115] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo quinto aspecto, um codificador que compreende um armazenamento de memória que compreende instruções; e um ou mais processadores em comunicação com a memória, em que o um ou mais processadores executam as instruções para realizar o método de acordo com qualquer implementação anterior do quadragésimo quinto aspecto.
[0116] Em uma possível forma de implementação do método de acordo com qualquer implementação anterior do quadragésimo quinto aspecto, um produto de programa de computador que compreende código de programa para realizar o método de qualquer implementação anterior do quadragésimo quinto aspecto quando executado em um computador ou um processador.
[0117] De acordo com um quadragésimo sexto aspecto, a revelação se relaciona a um aparelho para codificar um bloco de uma imagem, o aparelho compreendendo: uma unidade de determinação configurada para obter um parâmetro de indicação para um bloco atual, em que o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco atual; e uma unidade de processamento de predição intra configurada para codificar o bloco atual de acordo com um modo planar quando o parâmetro de indicação representa que a predição de múltiplas hipóteses é aplicada ao bloco atual.
[0118] Detalhes de uma ou mais modalidades são apresentados nos desenhos anexos e na descrição abaixo. Outras características, objetivos e vantagens serão evidentes a partir da descrição, desenhos e reivindicações.
BREVE DESCRIÇÃO DOS DESENHOS
[0119] Nas seguintes modalidades da invenção são descritas em mais detalhes com referência às figuras e desenhos anexos, nos quais:
[0120] A Figura 1A é um diagrama de blocos que mostra um exemplo de um sistema de codificação de vídeo configurado para implementar modalidades da invenção;
[0121] A Figura 1B é um diagrama de blocos que mostra um outro exemplo de um sistema de codificação de vídeo configurado para implementar modalidades da invenção;
[0122] A Figura 2 é um diagrama de blocos que mostra um exemplo de um codificador de vídeo configurado para implementar modalidades da invenção;
[0123] A Figura 3 é um diagrama de blocos que mostra um exemplo de estrutura de um decodificador de vídeo configurado para implementar modalidades da invenção;
[0124] A Figura 4 é um diagrama de blocos que ilustra um exemplo de um aparelho de codificação ou um aparelho de decodificação;
[0125] A Figura 5 é um diagrama de blocos que ilustra um outro exemplo de um aparelho de codificação ou um aparelho de decodificação;
[0126] A Figura 6 é um exemplo que ilustra blocos vizinhos de um bloco de codificação ou unidade de codificação atual.
[0127] A Figura 7 é um exemplo que mostra muitos modos de predição intra.
[0128] A Figura 8 é um exemplo que ilustra um método de decodificação de um bloco de uma imagem.
[0129] A Figura 9 é um diagrama de blocos que mostra um exemplo de estrutura de um sistema de fornecimento de conteúdo 3100 que realiza um serviço de distribuição de conteúdo.
[0130] A Figura 10 é um diagrama de blocos que mostra uma estrutura de um exemplo de um dispositivo terminal.
[0131] A seguir referências numéricas idênticas se relacionam a características idênticas ou pelo menos funcionalmente equivalentes, caso não seja explicitamente especificado de outra forma.
DESCRIÇÃO DETALHADA DAS MODALIDADES
[0132] Na descrição a seguir, é feita referência às figuras anexas, que fazem parte da revelação, e que mostram, a título de ilustração, aspectos específicos das modalidades da invenção ou aspectos específicos em que as modalidades da presente invenção podem ser usadas. É entendido que modalidades da invenção podem ser usadas em outros aspectos e compreendem mudanças estruturais ou lógicas não representadas nas figuras. A seguinte descrição detalhada, portanto, não deve ser tomada em um sentido limitante, e o escopo da presente invenção é definido pelas reivindicações anexas.
[0133] Por exemplo, é entendido que uma revelação em conexão com um método descrito também pode ser verdadeira para um dispositivo ou sistema correspondente configurado para realizar o método e vice-versa. Por exemplo, se uma ou uma pluralidade de etapas de método específicas são descritas, um dispositivo correspondente pode incluir uma ou uma pluralidade de unidades, por exemplo, unidades funcionais, para realizar a uma ou pluralidade de etapas de método descritas (por exemplo, uma unidade realizando a uma ou pluralidade de etapas, ou uma pluralidade de unidades cada uma realizando uma ou mais da pluralidade de etapas), mesmo se tal uma ou mais unidades não são explicitamente descritas ou ilustradas nas figuras. Por outro lado, por exemplo, se um aparelho específico é descrito com base em uma ou uma pluralidade de unidades, por exemplo, unidades funcionais, um método correspondente pode incluir uma etapa para realizar a funcionalidade de uma ou pluralidade de unidades (por exemplo, uma etapa realizando a funcionalidade da uma ou da pluralidade de unidades, ou uma pluralidade de etapas cada uma realizando a funcionalidade de uma ou mais da pluralidade de unidades), mesmo se tal uma ou pluralidade de etapas não são explicitamente descritas ou ilustradas nas figuras. Além disso, é entendido que as características das várias modalidades exemplificativas e/ou aspectos descritos no presente documento podem ser combinadas entre si, a menos que especificamente indicado de outra forma.
[0134] Codificação de vídeo tipicamente se refere ao processamento de uma sequência de imagens, que formam o vídeo ou sequência de vídeo. Em vez do termo "imagem", o termo "quadro" ou "imagem" pode ser usado como sinônimo no campo de codificação de vídeo. A codificação de vídeo (ou codificação em geral) compreende duas partes codificação de vídeo e decodificação de vídeo. A codificação de vídeo é realizada no lado de fonte, tipicamente compreendendo processar (por exemplo, por compressão) as imagens de vídeo originais para reduzir o montante de dados necessários para representar as imagens de vídeo (para armazenamento e/ou transmissão mais eficiente). A decodificação de vídeo é realizada no lado de destino e tipicamente compreende o processamento inverso em comparação com o codificador para reconstruir as imagens de vídeo. As modalidades que se relacionam à "codificação" de imagens de vídeo (ou imagens em geral) devem ser entendidas como relacionadas à "codificação" ou "decodificação" de imagens de vídeo ou respectivas sequências de vídeo. A combinação da parte de codificação e da parte de decodificação também é conhecida como CODEC (Codificação e Decodificação).
[0135] No caso de codificação de vídeo sem perda, as imagens de vídeo originais podem ser reconstruídas, isto é, as imagens de vídeo reconstruídas têm a mesma qualidade que as imagens de vídeo originais (assumindo que não há perda de transmissão ou outra perda de dados durante armazenamento ou transmissão). Em caso de codificação de vídeo com perda, compressão adicional, por exemplo, por quantização, é realizada, para reduzir o montante de dados que representam as imagens de vídeo, que não podem ser completamente reconstruídas no decodificador, isto é, a qualidade das imagens de vídeo reconstruídas é mais baixa ou pior em comparação com a qualidade das imagens de vídeo originais.
[0136] Vários padrões de codificação de vídeo pertencem ao grupo de "codecs de vídeo híbridos com perda" (isto é, combinam predição espacial e temporal no domínio da amostra e codificação de transformada 2D para aplicar quantização no domínio da transformada). Cada imagem de uma sequência de vídeo é tipicamente partida em um conjunto de blocos não sobrepostos e a codificação é tipicamente realizada em um nível de bloco. Em outras palavras, no codificador o vídeo é tipicamente processado, isto é, codificado, em um nível de bloco (bloco de vídeo), por exemplo, usando-se predição espacial (imagem intra) e/ou predição temporal (imagem inter) para gerar um bloco de predição, subtraindo o bloco de predição do bloco atual (bloco atualmente processado/a ser processado) para obter um bloco residual, transformando o bloco residual e quantizando o bloco residual no domínio da transformada para reduzir o montante de dados a serem transmitidos (compressão), enquanto no decodificador o processamento inverso em comparação com o codificador é aplicado ao bloco codificado ou comprimido para reconstruir o bloco atual para representação. Além disso, o codificador duplica a malha de processamento do decodificador de modo que ambos irão gerar predições idênticas (por exemplo, predições intra e inter) e/ou reconstruções para processar, isto é, codificar, os blocos subsequentes.
[0137] Nas seguintes modalidades de um sistema de codificação de vídeo 10, um codificador de vídeo 20 e um decodificador de vídeo 30 são descritos com base nas Figuras 1 a 3.
[0138] A Figura 1A é um diagrama de blocos esquemático que ilustra um exemplo de sistema de codificação 10, por exemplo, um sistema de codificação de vídeo 10 (ou sistema de codificação 10 abreviadamente) que pode utilizar técnicas do presente pedido. O codificador de vídeo 20 (ou codificador 20 abreviadamente) e o decodificador de vídeo 30 (ou decodificador 30 abreviadamente) do sistema de codificação de vídeo 10 representam exemplos de dispositivos que podem ser configurados para realizar técnicas de acordo com vários exemplos descritos no presente pedido.
[0139] Conforme mostrado na Figura 1A, o sistema de codificação 10 compreende um dispositivo de origem 12 configurado para fornecer dados de imagem codificados 21, por exemplo, a um dispositivo de destino 14 para decodificar os dados de imagem codificados 13.
[0140] O dispositivo de origem 12 compreende um codificador 20, e pode adicionalmente, isto é, opcionalmente, compreender uma fonte de imagem 16, um pré-processador (ou unidade de pré-processamento) 18, por exemplo, um pré-processador de imagem 18, e uma interface de comunicação ou unidade de comunicação 22.
[0141] A fonte de imagem 16 pode compreender ou ser qualquer tipo de dispositivo de captura de imagem, por exemplo, uma câmera para capturar uma imagem do mundo real e/ou qualquer espécie de um dispositivo de geração de imagem, por exemplo, um processador gráfico de computador para gerar uma imagem animada por computador, ou qualquer espécie de outro dispositivo para obter e/ou fornecer uma imagem do mundo real, uma imagem gerada por computador (por exemplo, um conteúdo de tela, uma imagem de realidade virtual (VR)) e/ou qualquer combinação dos mesmos (por exemplo, uma imagem de realidade aumentada (AR)). A fonte de imagem pode ser qualquer espécie de memória ou armazenamento que armazene qualquer uma das imagens acima mencionadas.
[0142] Diferente do pré-processador 18 e do processamento realizado pela unidade de pré-processamento 18, a imagem ou dados de imagem 17 também podem ser referidos como imagem bruta ou dados de imagem brutos
17.
[0143] O pré-processador 18 é configurado para receber os dados de imagem (brutos) 17 e para realizar pré-processamento nos dados de imagem 17 para obter uma imagem pré-processada 19 ou dados de imagem pré- processados 19. Pré-processamento realizado pelo pré-processador 18 pode, por exemplo, compreender recorte, conversão de formato de cor (por exemplo, de RGB para YCbCr), correção de cor, ou eliminação de ruído. Pode ser entendido que a unidade de pré-processamento 18 pode ser um componente opcional.
[0144] O codificador de vídeo 20 é configurado para receber os dados de imagem pré-processados 19 e fornecer dados de imagem codificados 21 (detalhes adicionais serão descritos abaixo, por exemplo, com base na Figura 2).
[0145] A interface de comunicação 22 do dispositivo de origem 12 pode ser configurada para receber os dados de imagem codificados 21 e para transmitir os dados de imagem codificados 21 (ou qualquer outra versão processada dos mesmos) através do canal de comunicação 13 para um outro dispositivo, por exemplo, o dispositivo de destino 14 ou qualquer outro dispositivo, para armazenamento ou reconstrução direta.
[0146] O dispositivo de destino 14 compreende um decodificador 30 (por exemplo, um decodificador de vídeo 30) e pode, adicionalmente, isto é, opcionalmente, compreender uma interface de comunicação ou unidade de comunicação 28, um pós-processador 32 (ou unidade de pós-processamento 32) e um dispositivo de exibição 34.
[0147] A interface de comunicação 28 do dispositivo de destino 14 é configurada para receber os dados de imagem codificados 21 (ou qualquer versão processada adicional dos mesmos), por exemplo, diretamente a partir do dispositivo de origem 12 ou a partir de qualquer outra fonte, por exemplo, um dispositivo de armazenamento, por exemplo um dispositivo de armazenamento de dados de imagem codificados e fornecer os dados de imagem codificados 21 para o decodificador 30.
[0148] A interface de comunicação 22 e a interface de comunicação 28 podem ser configuradas para transmitir ou receber os dados de imagem codificados 21 ou dados codificados 13 por meio de um enlace de comunicação direta entre o dispositivo de origem 12 e o dispositivo de destino 14, por exemplo, uma conexão direta com fio ou sem fio, ou por meio de qualquer espécie de rede, por exemplo, uma rede com fio ou sem fio ou qualquer combinação das mesmas, ou qualquer tipo de rede privada e pública, ou qualquer espécie de combinação das mesmas.
[0149] A interface de comunicação 22 pode ser, por exemplo, configurada para empacotar os dados de imagem codificados 21 em um formato apropriado, por exemplo, pacotes, e/ou processar os dados de imagem codificados usando qualquer espécie de codificação ou processamento de transmissão para transmissão através de um enlace de comunicação ou rede de comunicação.
[0150] A interface de comunicação 28, formando a contraparte da interface de comunicação 22, pode ser, por exemplo, configurada para receber os dados transmitidos e processar os dados de transmissão usando qualquer espécie de decodificação ou processamento de transmissão correspondente e/ou desempacotamento para obter os dados de imagem codificados 21.
[0151] Tanto a interface de comunicação 22 quanto a interface de comunicação 28 podem ser configuradas como interfaces de comunicação unidirecionais conforme indicado pela seta para o canal de comunicação 13 na Figura 1A apontando do dispositivo de origem 12 para o dispositivo de destino 14, ou interfaces de comunicação bidirecionais e podem ser configuradas, por exemplo, para enviar e receber mensagens, por exemplo, para estabelecer uma conexão, para confirmar e trocar quaisquer outras informações relacionadas ao enlace de comunicação e/ou transmissão de dados, por exemplo, transmissão de dados de imagem codificados.
[0152] O decodificador 30 é configurado para receber os dados de imagem codificados 21 e fornecer dados de imagem decodificados 31 ou uma imagem decodificada 31 (mais detalhes serão descritos abaixo, por exemplo, com base na Figura 3 ou Figura 5).
[0153] O pós-processador 32 do dispositivo de destino 14 é configurado para pós-processar os dados de imagem decodificados 31 (também chamados de dados de imagem reconstruídos), por exemplo, a imagem decodificada 31, para obter dados de imagem pós-processados 33, por exemplo, uma imagem pós-processada 33. O pós-processamento realizado pela unidade de pós-processamento 32 pode compreender, por exemplo, conversão de formato de cor (por exemplo, de YCbCr para RGB), correção de cor, recorte ou reamostragem ou qualquer outro processamento, por exemplo, para preparar os dados de imagem decodificados 31 para exibição, por exemplo, pelo dispositivo de exibição 34.
[0154] O dispositivo de exibição 34 do dispositivo de destino 14 está configurado para receber os dados de imagem pós-processados 33 para exibir a imagem, por exemplo, para um usuário ou espectador. O dispositivo de exibição 34 pode ser ou compreender qualquer espécie de exibição para representar a imagem reconstruída, por exemplo, um display ou monitor integrado ou externo. Os displays podem, por exemplo, compreender displays de cristal líquido (LCD), displays de diodos emissores de luz orgânica (OLED), displays de plasma, projetores, displays micro LED, cristal líquido em silício (LCoS), processador de luz digital (DLP) ou qualquer outra espécie de tela.
[0155] Embora a Figura 1A represente o dispositivo de origem 12 e o dispositivo de destino 14 como dispositivos separados, modalidades de dispositivos também podem compreender ambos ou ambas as funcionalidades, o dispositivo de origem 12 ou funcionalidade correspondente e o dispositivo de destino 14 ou funcionalidade correspondente. Em tais modalidades, o dispositivo de origem 12 ou funcionalidade correspondente e o dispositivo de destino 14 ou funcionalidade correspondente podem ser implementados usando o mesmo hardware e/ou software ou por hardware e/ou software separado ou qualquer combinação dos mesmos.
[0156] Como será evidente para a pessoa versada com base na descrição, a existência e a divisão (exata) de funcionalidades das diferentes unidades ou funcionalidades dentro do dispositivo de origem 12 e/ou dispositivo de destino 14, como mostrado na Figura 1A, pode variar dependendo do dispositivo e da aplicação reais.
[0157] O codificador 20 (por exemplo, um codificador de vídeo 20) ou o decodificador 30 (por exemplo, um decodificador de vídeo 30) ou tento o codificador 20 quanto o decodificador 30 podem ser implementados por meio de circuitos de processamento como mostrado na Figura 1B, tais como um ou mais microprocessadores, processadores de sinais digitais (DSPs), circuitos integrados de aplicação específica (ASICs), arranjos de portas programáveis em campo (FPGAs), lógica discreta, hardware, codificação de vídeo dedicada ou qualquer combinação dos mesmos. O codificador 20 pode ser implementado por meio dos circuitos de processamento 46 para incorporar os vários módulos conforme discutido em relação ao codificador 20 da Figura 2 e/ou qualquer outro sistema ou subsistema codificador descrito no presente documento. O decodificador 30 pode ser implementado por meio dos circuitos de processamento 46 para incorporar os vários módulos, conforme discutido em relação ao decodificador 30 da Figura 3 e/ou qualquer outro sistema ou subsistema decodificador descrito no presente documento. Os circuitos de processamento podem ser configurados para realizar as várias operações, conforme discutido adiante. Conforme mostrado na Figura 5, se as técnicas são implementadas parcialmente em software, um dispositivo pode armazenar instruções para o software em uma mídia de armazenamento legível por computador não transitória adequada e pode executar as instruções em hardware usando um ou mais processadores para realizar as técnicas desta revelação. Tanto o codificador de vídeo 20 quanto o decodificador de vídeo 30 podem ser integrados como parte de um codificador/decodificador combinados (CODEC) em um único dispositivo, por exemplo, como mostrado na Figura 1B.
[0158] O dispositivo de origem 12 e o dispositivo de destino 14 podem compreender qualquer um de uma ampla faixa de dispositivos, que inclui qualquer espécie de dispositivos que cabem na mão ou estacionários, por exemplo, notebook ou computadores do tipo laptop, telefones móveis, smartphones, tablets ou computadores do tipo tablet, câmeras, computadores de mesa, conversores, televisões, dispositivos de exibição, reprodutores de mídia digital, consoles de videogame, dispositivos de streaming de vídeo (tais como servidores de serviços de conteúdo ou servidores de entrega de conteúdo),
dispositivo receptor de broadcast, dispositivo transmissor de broadcast ou semelhantes e podem não usar nenhum ou usar qualquer tipo de sistema operacional. Em alguns casos, o dispositivo de origem 12 e o dispositivo de destino 14 podem ser equipados para comunicação sem fio. Assim, o dispositivo de origem 12 e o dispositivo de destino 14 podem ser dispositivos de comunicação sem fio.
[0159] Em alguns casos, o sistema de codificação de vídeo 10 ilustrado na Figura 1A é apenas um exemplo e as técnicas do presente pedido podem ser aplicadas às configurações de codificação de vídeo (por exemplo, codificação de vídeo ou decodificação de vídeo) que não incluem necessariamente qualquer comunicação de dados entre os dispositivos de codificação e decodificação. Em outros exemplos, os dados são recuperados de uma memória local, transmitidos por streaming por uma rede ou semelhantes. Um dispositivo de codificação de vídeo pode codificar e armazenar dados na memória e/ou um dispositivo de decodificação de vídeo pode recuperar e decodificar dados da memória. Em alguns exemplos, a codificação e decodificação são realizadas por dispositivos que não se comunicam entre si, mas simplesmente codificam dados para a memória e/ou recuperam e decodificam dados da memória.
[0160] Por conveniência de descrição, as modalidades da invenção são descritas no presente documento, por exemplo, por referência à Codificação de Vídeo de Alta Eficiência (HEVC) ou ao software de referência de codificação de Vídeo Versátil (VVC), o padrão de codificação de vídeo de próxima geração desenvolvido pelo Time de Colaboração Conjunta em Codificação de Vídeo (JCT-VC) do Grupo de Especialistas em Codificação de Vídeo (VCEG) da ITU-T e pelo Grupo de Especialistas em Imagem em Movimento (MPEG) da ISO/IEC. Uma pessoa de habilidade mediana na técnica entenderá que as modalidades da invenção não estão limitadas a HEVC ou VVC. Codificador e Método de Codificação
[0161] A Figura 2 mostra um diagrama de blocos esquemático de um codificador de vídeo exemplificativo 20 que está configurado para implementar as técnicas do presente pedido. No exemplo da Figura 2, o codificador de vídeo 20 compreende uma entrada 201 (ou interface de entrada 201), uma unidade de cálculo residual 204, uma unidade de processamento de transformada 206, uma unidade de quantização 208, uma unidade de quantização inversa 210, e unidade de processamento de transformada inversa 212, uma unidade de reconstrução 214, uma unidade de filtro loop 220, um buffer (buffer) de imagem decodificado (DPB) 230, uma unidade de seleção de modo 260, uma unidade de codificação de entropia 270 e uma saída 272 (ou interface de saída 272). A unidade de seleção de modo 260 pode incluir uma unidade de predição inter 244, uma unidade de predição intra 254 e uma unidade de particionamento 262. A unidade de predição inter 244 pode incluir uma unidade de estimativa de movimento e uma unidade de compensação de movimento (não mostrada). Um codificador de vídeo 20, como mostrado na Figura 2, também pode ser referido como codificador de vídeo híbrido ou um codificador de vídeo de acordo com um codec de vídeo híbrido.
[0162] A unidade de cálculo residual 204, a unidade de processamento de transformada 206, a unidade de quantização 208, a unidade de seleção de modo 260 podem ser referidas como formando um percurso de sinal direto do codificador 20, enquanto a unidade de quantização inversa 210, a unidade de processamento de transformada inversa 212, a unidade de reconstrução 214, o buffer 216, o filtro loop 220, o buffer de imagem decodificada (DPB) 230, a unidade de predição inter 244 e a unidade de predição intra 254 podem ser referidas como formando um percurso de sinal retroativo do codificador de vídeo 20, em que o percurso de sinal retroativo do codificador de vídeo 20 corresponde ao percurso de sinal do decodificador (ver decodificador de vídeo 30 na Figura 3). A unidade de quantização inversa 210, a unidade de processamento de transformada inversa 212, a unidade de reconstrução 214, o filtro loop 220, o buffer de imagem decodificada (DPB) 230, a unidade de predição inter 244 e a unidade de predição intra 254 também são referidas como formando o “decodificador embutido” do codificador de vídeo 20. Imagens e Particionamento de Imagem (Imagens e Blocos)
[0163] O codificador 20 pode ser configurado para receber, por exemplo, por meio da entrada 201, uma imagem 17 (ou dados de imagem 17), por exemplo, imagem de uma sequência de imagens formando um vídeo ou sequência de vídeo. A imagem ou dados de imagem recebidos também podem ser uma imagem pré-processada 19 (ou dados de imagem pré-processados 19). Para simplificar, a seguinte descrição se refere à imagem 17. A imagem 17 também pode ser referida como imagem atual ou imagem a ser codificada (em particular em codificação de vídeo para distinguir a imagem atual de outras imagens, por exemplo, imagens previamente codificadas e/ou decodificadas da mesma sequência de vídeo, isto é, a sequência de vídeo que também compreende a imagem atual).
[0164] Uma imagem (digital) é ou pode ser considerada como um arranjo ou matriz bidimensional de amostras com valores de intensidade. Uma amostra no arranjo também pode ser referida como pixel (forma abreviada de elemento de imagem) ou pel. O número de amostras na direção (ou eixo) horizontal e vertical do arranjo ou imagem define o tamanho e/ou resolução da imagem. Para representação de cor, tipicamente três componentes de cor são empregados, isto é, a imagem pode ser representada ou incluir três arranjos de amostra. No formato RBG ou espaço de cores, uma imagem compreende um arranjo de amostra vermelha, verde e azul correspondente. No entanto, na codificação de vídeo, cada pixel é tipicamente representado em um formato de luminância e crominância ou espaço de cores, por exemplo, YCbCr, que compreende um componente de luminância indicado por Y (às vezes também L é usado alternativamente) e dois componentes de crominância indicados por Cb e Cr. O componente de luminância (ou luma abreviadamente) Y representa o brilho ou intensidade do nível de cinza (por exemplo, como em uma imagem em escala de cinza), enquanto os dois componentes de crominância (ou croma abreviadamente) Cb e Cr representam os componentes de informações de cromaticidade ou de cor. Consequentemente, uma imagem no formato YCbCr compreende um arranjo de amostra de luminância de valores de amostra de luminância (Y), e dois arranjos de amostra de crominância de valores de crominância (Cb e Cr). As imagens no formato RGB podem ser convertidas ou transformadas para o formato YCbCr e vice-versa, o processo também é conhecido como transformação ou conversão de cores. Se uma imagem é monocromática, a imagem pode compreender apenas um arranjo de amostra de luminância. Consequentemente, uma imagem pode ser, por exemplo, um arranjo de amostras de luma em formato monocromático ou um arranjo de amostras de luma e dois arranjos correspondentes de amostras de croma em formato de cor 4: 2: 0, 4: 2: 2 e 4: 4: 4.
[0165] As modalidades do codificador de vídeo 20 podem compreender uma unidade de particionamento de imagem (não representada na Figura 2) configurada para partir a imagem 17 em uma pluralidade de blocos de imagem 203 (tipicamente não sobrepostos). Esses blocos também podem ser referidos como blocos raiz, macroblocos (H.264 / AVC) ou blocos de árvore de codificação (CTB) ou unidades de árvore de codificação (CTU) (H.265/HEVC e VVC). A unidade de particionamento de imagem pode ser configurada para usar o mesmo tamanho de bloco para todas as imagens de uma sequência de vídeo e a grade correspondente definindo o tamanho do bloco, ou para alterar o tamanho do bloco entre imagens ou subconjuntos ou grupos de imagens e partir cada imagem nos blocos correspondentes.
[0166] Em modalidades adicionais, o codificador de vídeo pode ser configurado para receber diretamente um bloco 203 da imagem 17, por exemplo, um, vários ou todos os blocos que formam a imagem 17. O bloco de imagem 203 também pode ser referido como bloco de imagem atual ou bloco de imagem a ser codificado.
[0167] Como a imagem 17, o bloco de imagem 203 é ou pode ser considerado como um arranjo ou matriz bidimensional de amostras com valores de intensidade (valores de amostra), embora de menor dimensão do que a imagem 17. Em outras palavras, o bloco 203 pode compreender, por exemplo, um arranjo de amostra (por exemplo, um arranjo de luma no caso de uma imagem monocromática 17, ou um arranjo de luma ou croma no caso de uma imagem colorida) ou três arranjos de amostra (por exemplo, um arranjo de luma e dois arranjos de croma no caso de uma imagem colorida 17) ou qualquer outro número e/ou tipo de arranjos dependendo do formato de cor aplicado. O número de amostras na direção (ou eixo) horizontal e vertical do bloco 203 define o tamanho do bloco 203. Consequentemente, um bloco pode, por exemplo, um arranjo MxN (coluna M por linha N), de amostras, ou um arranjo MxN de coeficientes de transformada.
[0168] As modalidades do codificador de vídeo 20 como mostrado na Figura 2 podem ser configuradas codificar a imagem 17 bloco a bloco, por exemplo, a codificação e a predição são realizadas pelo bloco 203. Cálculo Residual
[0169] A unidade de cálculo residual 204 pode ser configurada para calcular um bloco residual 205 (também referido como residual 205) com base no bloco de imagem 203 e um bloco de predição 265 (detalhes adicionais sobre o bloco de predição 265 são fornecidos adiante), por exemplo, subtraindo-se valores de amostra do bloco de predição 265 dos valores de amostra do bloco de imagem 203, amostra por amostra (pixel por pixel) para obter o bloco residual 205 no domínio da amostra. Transformada
[0170] A unidade de processamento de transformada 206 pode ser configurada para aplicar uma transformada, por exemplo uma transformada discreta de cosseno (DCT) ou transformada discreta de seno (DST), nos valores de amostra do bloco residual 205 para obter coeficientes de transformada 207 em um domínio da transformada. Os coeficientes de transformada 207 também podem ser referidos como coeficientes residuais de transformada e representam o bloco residual 205 no domínio da transformada.
[0171] A unidade de processamento de transformada 206 pode ser configurada para aplicar aproximações de número inteiro de DCT/DST, tais como as transformadas especificadas para H.265/HEVC. Comparado a uma transformada DCT ortogonal, tais aproximações de número inteiro são tipicamente escalonadas por um determinado fator. A fim de preservar a norma do bloco residual que é processado pelas transformadas direta e inversa, fatores de escalonamento adicionais são aplicados como parte do processo de transformada. Os fatores de escalonamento são tipicamente escolhidos com base em certas restrições como fatores de escalonamento sendo uma potência de dois para operações de deslocamento, profundidade de bits dos coeficientes de transformada, compensação entre precisão e custos de implementação, etc. Fatores de escalonamento específicos são, por exemplo, especificados para a transformada inversa, por exemplo, por unidade de processamento de transformada inversa 212 (e a correspondente transformada inversa, por exemplo, pela unidade de processamento de transformada inversa 312 no decodificador de vídeo 30) e fatores de escalonamento correspondentes para a transformada direta, por exemplo, pela unidade de processamento de transformada 206, em um codificador 20 podem ser especificados em conformidade.
[0172] As modalidades do codificador de vídeo 20 (com respeito à unidade de processamento de transformada 206) podem ser configuradas para emitir parâmetros de transformada, por exemplo, um tipo de transformada ou transformadas, por exemplo, diretamente ou codificados ou comprimidos por meio da unidade de codificação de entropia 270, de modo que, por exemplo, o decodificador de vídeo 30 possa receber e usar os parâmetros de transformada para decodificação. Quantização
[0173] A unidade de quantização 208 pode ser configurada para quantizar os coeficientes de transformada 207 para obter coeficientes quantizados 209, por exemplo, aplicando-se quantização escalar ou quantização vetorial. Os coeficientes quantizados 209 também podem ser referidos como coeficientes de transformada quantizados 209 ou coeficientes residuais quantizados 209.
[0174] O processo de quantização pode reduzir a profundidade de bits associados a alguns dos ou a todos os coeficientes de transformada 207. Por exemplo, um coeficiente de transformada de n bits pode ser arredondado para baixo até um coeficiente de transformada de m bits durante a quantização, onde n é maior que m. O grau de quantização pode ser modificado ajustando-se um parâmetro de quantização (QP). Por exemplo, para quantização escalar, um escalonamento diferente pode ser aplicado para alcançar uma quantização mais fina ou mais grosseira. Tamanhos de etapa de quantização menores correspondem a quantização mais fina, enquanto tamanhos de etapa de quantização maiores correspondem a quantização mais grosseira. O tamanho da etapa de quantização aplicável pode ser indicado por um parâmetro de quantização (QP). O parâmetro de quantização pode, por exemplo, ser um índice para um conjunto predefinido de tamanhos de etapas de quantização aplicáveis. Por exemplo, pequenos parâmetros de quantização podem corresponder a quantização fina (tamanhos de etapas de quantização pequenos) e parâmetros de quantização grandes podem corresponder a quantização grosseira (tamanhos de etapas de quantização grandes) ou vice-versa. A quantização pode incluir divisão por um tamanho de etapa de quantização e uma desquantização correspondente e/ou a inversa, por exemplo, pela unidade de quantização inversa 210, pode incluir multiplicação pelo tamanho da etapa de quantização. Modalidades de acordo com alguns padrões, por exemplo HEVC, podem ser configuradas para usar um parâmetro de quantização para determinar o tamanho da etapa de quantização. De modo geral, o tamanho da etapa de quantização pode ser calculado com base em um parâmetro de quantização usando uma aproximação de ponto fixo de uma equação que inclui divisão. Fatores de escalonamento adicionais podem ser introduzidos para quantização e desquantização para restaurar a norma do bloco residual, que poderia ser modificado por causa do escalonamento usado na aproximação de ponto fixo da equação para tamanho da etapa de quantização e parâmetro de quantização. Em um exemplo de implementação, o escalonamento da transformada inversa e a desquantização podem ser combinados. Alternativamente, tabelas de quantização personalizadas podem ser usadas e indicadas de um codificador para um decodificador, por exemplo, em um fluxo de bits. A quantização é uma operação com perda, em que a perda aumenta com tamanhos de etapas de quantização crescentes.
[0175] As modalidades do codificador de vídeo 20 (com respeito à unidade de quantização 208) podem ser configuradas para emitir parâmetros de quantização (QP), por exemplo, diretamente ou codificados por meio da unidade de codificação de entropia 270, de modo que, por exemplo, o decodificador de vídeo 30 possa receber e aplicar os parâmetros de quantização para decodificação. Quantização Inversa
[0176] A unidade de quantização inversa 210 é configurada para aplicar a quantização inversa da unidade de quantização 208 nos coeficientes quantizados para obter coeficientes desquantizados 211, por exemplo, aplicando-se o inverso do esquema de quantização aplicado pela unidade de quantização 208 com base no ou usando o mesmo tamanho de etapa de quantização que a quantização unidade de quantização 208. Os coeficientes desquantizados 211 também podem ser referidos como coeficientes residuais desquantizados 211 e correspondem – embora tipicamente não idênticos aos coeficientes de transformada devido à perda por quantização – aos coeficientes de transformada 207. Transformada Inversa
[0177] A unidade de processamento de transformada inversa 212 é configurada para aplicar a transformada inversa da transformada aplicada pela unidade de processamento de transformada 206, por exemplo, uma transformada de cosseno discreta inversa (DCT) ou transformada de seno discreta inversa (DST) ou outras transformadas inversas, para obter um bloco residual reconstruído 213 (ou coeficientes desquantizados correspondentes 213) no domínio da amostra. O bloco residual reconstruído 213 também pode ser referido como bloco de transformada 213. Reconstrução
[0178] A unidade de reconstrução 214 (por exemplo, adicionador ou verão 214) é configurada para adicionar o bloco de transformada 213 (isto é, bloco residual reconstruído 213) ao bloco de predição 265 para obter um bloco reconstruído 215 no domínio da amostra, por exemplo, adicionando–se – amostra por amostra – os valores de amostra do bloco residual reconstruído 213 e os valores de amostra do bloco de predição 265. Filtragem
[0179] A unidade de filtro loop 220 (ou “filtro loop” 220 abreviadamente), é configurada para filtrar o bloco reconstruído 215 para obter um bloco filtrado 221 ou em geral, para filtrar amostras reconstruídas para obter amostras filtradas. A unidade de filtro loop é, por exemplo, configurada para suavizar transições de pixel, ou aperfeiçoar de outra forma a qualidade de vídeo. A unidade de filtro loop 220 pode compreender um ou mais filtros loop tais como um filtro de desblocagem, um filtro de desvio adaptável de amostra (SAO) ou um ou mais outros filtros, por exemplo, um filtro bilateral, um filtro loop adaptável (ALF), um filtro de nitidez, um filtro de suavização ou um filtro colaborativo, ou qualquer combinação dos mesmos. Embora a unidade de filtro loop 220 seja mostrada na Figura 2 como sendo um filtro in-loop, em outras configurações, a unidade de filtro loop 220 pode ser implementada como um filtro post-loop. O bloco filtrado 221 também pode ser referido como bloco reconstruído filtrado 221.
[0180] As modalidades do codificador de vídeo 20 (com respeito à unidade de filtro loop 220) podem ser configuradas para emitir parâmetros de filtro loop (tais como informações de desvio adptável de amostra), por exemplo, diretamente ou codificados através da unidade de codificação de entropia 270, de modo que, por exemplo, um decodificador 30 possa receber e aplicar os mesmos parâmetros de filtro loop ou respectivos filtros loop para decodificação. Buffer de Imagem Decodificada
[0181] O buffer de imagem decodificada (DPB) 230 pode ser uma memória que armazena imagens de referência, ou em geral dados de imagem de referência, para codificar dados de vídeo pelo codificador de vídeo 20. O DPB 230 pode ser formado por qualquer um de uma variedade de dispositivos de memória, tais como memória de acesso aleatório dinâmica (DRAM), que inclui DRAM síncrona (SDRAM), RAM magnetorresistiva (MRAM), RAM resistiva (RRAM) ou outros tipos de dispositivos de memória. O buffer de imagem decodificada (DPB) 230 pode ser configurado para armazenar um ou mais blocos filtrados 221. O buffer de imagem decodificada 230 pode ser adicionalmente configurado para armazenar outros blocos previamente filtrados, por exemplo, blocos previamente reconstruídos e filtrados 221, da mesma imagem atual ou de imagens diferentes, por exemplo, imagens previamente reconstruídas, e pode fornecer imagens completas previamente reconstruídas, isto é, decodificadas, (e blocos de referência e amostras correspondentes) e/ou uma imagem atual parcialmente reconstruída (e blocos de referência e amostras correspondentes), por exemplo, para predição inter. O buffer de imagem decodificada (DPB) 230 também pode ser configurado para armazenar um ou mais blocos reconstruídos não filtrados 215 ou, em geral, amostras reconstruídas não filtradas, por exemplo, se o bloco reconstruído 215 não é filtrado pela unidade de filtro loop 220, ou qualquer outra versão processada posteriormente dos blocos reconstruídos ou amostras. Seleção de Modo (Particionamento e Predição)
[0182] A unidade de seleção de modo 260 compreende unidade de particionamento 262, unidade de predição inter 244 e unidade de predição intra 254, e é configurada para receber ou obter dados de imagem original, por exemplo, um bloco original 203 (bloco atual 203 da imagem atual 17) e dados de imagem reconstruídos, por exemplo, amostras ou blocos reconstruídos filtrados e/ou não filtrados da mesma imagem (atual) e/ou de uma ou uma pluralidade de imagens previamente decodificadas, por exemplo, a partir do buffer de imagem decodificada 230 ou outros buffers (por exemplo, buffer de linha, não mostrado). Os dados de imagem reconstruídos são usados como dados de imagem de referência para predição, por exemplo, predição inter ou predição intra, para obter um bloco de predição 265 ou preditor 265.
[0183] A unidade de seleção de modo 260 pode ser configurada para determinar ou selecionar um particionamento para um modo de predição de bloco atual (que inclui sem particionamento) e um modo de predição (por exemplo, um modo de predição intra ou inter) e gerar um bloco de predição correspondente 265, que é usado para o cálculo do bloco residual 205 e para a reconstrução do bloco reconstruído 215.
[0184] As modalidades da unidade de seleção de modo 260 podem ser configuradas para selecionar o particionamento e o modo de predição (por exemplo, a partir daqueles suportados pela ou disponíveis para a unidade de seleção de modo 260), que fornecem o melhor pareamento ou em outras palavras o mínimo residual (mínimo residual significa melhor compressão para transmissão ou armazenamento), ou uma sobrecarga de sinalização mínima (sobrecarga de sinalização mínima significa melhor compressão para transmissão ou armazenamento), ou que considera ou equilibra ambos. A unidade de seleção de modo 260 pode ser configurada para determinar o modo de particionamento e predição com base na otimização de distorção de taxa (RDO), isto é, selecionar o modo de predição que fornece uma distorção de taxa mínima. Termos como “melhor”, “mínimo”, “ideal” etc. neste contexto não se relacionam necessariamente a um “melhor” geral, “mínimo”, “ideal”, etc., mas também podem se referir ao cumprimento de um critério de terminação ou de seleção como um valor excedendo ou ficando abaixo de um limiar ou outras restrições levando potencialmente a uma “seleção abaixo de ideal”, mas reduzindo a complexidade e o tempo de processamento.
[0185] Em outras palavras, a unidade de particionamento 262 pode ser configurada para partir o bloco 203 em partições de bloco menores ou sub- blocos (que formam novamente blocos), por exemplo, iterativamente usando particionamento de árvore quaternária (QT), particionamento binário (BT) ou particionamento de árvore tripla (TT) ou qualquer combinação das mesmas, e para realizar, por exemplo, a predição para cada uma das partições de bloco ou sub-blocos, em que a seleção de modo compreende a seleção da estrutura de árvore do bloco partido 203 e os modos de predição são aplicados a cada uma das partições de bloco ou sub-blocos.
[0186] A seguir, o processamento de particionamento (por exemplo, pela unidade de particionamento 260) e de predição (pela unidade de predição inter 244 e unidade de predição intra 254) realizadas por um codificador de vídeo exemplificativo 20 será explicada em maior detalhe.
Particionamento
[0187] A unidade de particionamento 262 pode partir (ou dividir) um bloco atual 203 em partições menores, por exemplo, blocos menores de tamanho quadrado ou retangular. Esses blocos menores (que também podem ser referidos como sub-blocos) podem ser adicionalmente partidos em partições ainda menores. Isto também se refere a particionamento de árvore ou particionamento de árvore hierárquica, em que um bloco de raiz, por exemplo, a nível de árvore raiz 0 (nível de hierarquia 0, profundidade 0), pode ser partido recursivamente, por exemplo, partido em dois ou mais blocos de um próximo nível de árvore inferior, por exemplo, nós a nível de árvore 1 (nível de hierarquia 1, profundidade 1), em que esses blocos podem ser novamente partidos em dois ou mais blocos de um próximo nível inferior, por exemplo, nível de árvore 2 (nível de hierarquia 2, profundidade 2), etc. até que o particionamento seja terminado, por exemplo, porque um critério de terminação é atendido, por exemplo, uma profundidade máxima da árvore ou tamanho de bloco mínimo é alcançado. Blocos que não são partidos adicionalmente também são referidos como blocos folha ou nós folha da árvore. Uma árvore que usa particionamento em duas partições é referida como árvore binária (BT), uma árvore que usa particionamento em três partições é referida como árvore ternária (TT), e uma árvore que usa particionamento em quatro partições é referida como árvore quaternária (QT).
[0188] Como mencionado antes, o termo “bloco” como usado no presente documento pode ser uma porção, em particular uma porção quadrada ou retangular, de uma imagem. Com referência, por exemplo, a HEVC e VVC, o bloco pode ser ou corresponder a uma unidade de árvore de codificação (CTU), uma unidade de codificação (CU), unidade de predição (PU), e unidade de transformada (TU) e/ou aos blocos correspondentes, por exemplo, um bloco de árvore de codificação (CTB), um bloco de codificação (CB), um bloco de transformada (TB) ou bloco de predição (PB).
[0189] Por exemplo, uma unidade de árvore de codificação (CTU) pode ser ou compreender um CTB de amostras de luma, dois CTBs correspondentes de amostras de croma de uma imagem que tem três arranjos de amostra, ou um CTB de amostras de uma imagem monocrômica ou uma imagem que é codificada usando três planos de cor separados e estruturas de sintaxe usadas para codificar as amostras. Correspondentemente, um bloco de árvore de codificação (CTB) pode ser um bloco de amostras NxN para algum valor de N tal que a divisão de um componente em CTBs é um particionamento. Uma unidade de codificação (CU) pode ser ou compreender um bloco de codificação de amostras de luma, dois blocos de codificação correspondentes de amostras de croma de uma imagem que tem três arranjos de amostra, ou um bloco de codificação de amostras de uma imagem monocrômica ou uma imagem que é codificada usando três planos de cor separados e estruturas de sintaxe usadas para codificar as amostras. De modo correspondente um bloco de codificação (CB) pode ser um bloco de amostras MxN para alguns valores de M e N tais que a divisão de um CTB em blocos de codificação é um particionamento.
[0190] Nas modalidades, por exemplo, de acordo com HEVC, uma unidade de árvore de codificação (CTU) pode ser dividida em CUs usando-se uma estrutura de árvore quaternária denotada como árvore de codificação. A decisão de se codificar ou não uma área de imagem usando predição de imagem inter (temporal) ou de imagem intra (espacial) é feita a nível de CU. Cada CU pode ser dividida em uma, duas ou quatro Pus de acordo com o tipo de divisão de PU. Dentro de uma PU, o mesmo processo de predição é aplicado e as informações relevantes são transmitidas para o decodificador com base na PU. Depois de obter o bloco residual aplicando-se o processo de predição com base no tipo de divisão de PU, uma CU pode ser partida em unidades de transformada (Tus) de acordo com uma outra estrutura de árvore quaternária similar à árvore de codificação para a CU.
[0191] Nas modalidades, por exemplo, de acordo com o padrão de codificação de vídeo mais recente atualmente em desenvolvimento, o qual é referido como Codificação de Vídeo Versátil (VVC), particionamento de Árvore quaternária e árvore binária (QTBT) é usado para partir um bloco de codificação. Na estrutura de bloco QTBT, uma CU pode ter ou um formato quadrado ou retangular. Por exemplo, uma unidade de árvore de codificação (CTU) é primeiramente partida por uma estrutura de árvore quaternária. Os nós de folha de árvore quaternária são adicionalmente partidos por uma estrutura de árvore binária ou árvore ternária (ou tripla). Os nós de folha de árvore de particionamento são chamados unidades de codificação (CUs), e esta segmentação é usada para predição e processamento de transformada sem qualquer particionamento adicional. Isso significa que a CU, a PU e a TU têm o mesmo tamanho de bloco na estrutura de bloco de codificação QTBT. Em paralelo, partição múltipla, por exemplo, partição de árvore tripla foi também proposta para ser usada junto com a estrutura de bloco QTBT.
[0192] Em um exemplo, a unidade de seleção de modo 260 do codificador de vídeo 20 pode ser configurada para realizar qualquer combinação das técnicas de particionamento descritas no presente documento.
[0193] Conforme descrito acima, o codificador de vídeo 20 é configurado para determinar ou selecionar o melhor modo de predição ou um modo de predição ideal a partir de um conjunto de modos de predição (predeterminados). O conjunto de modos de predição pode compreender, por exemplo, modos de predição intra e/ou modos de predição inter. Predição intra
[0194] O conjunto de modos de predição intra pode compreender 35 diferentes modos de predição intra, por exemplo, modos não direcionais tais como modo DC (ou médio) e modo planar, ou modos direcionais, por exemplo, como definidos HEVC, ou pode compreender 67 diferentes modos de predição intra, por exemplo, modos não direcionais como modo DC (ou médio) e modo planar, ou modos direcionais, por exemplo, como definidos para VVC.
[0195] A unidade de predição intra 254 é configurada para usar amostras reconstruídas de blocos vizinhos da mesma imagem atual para gerar um bloco de predição intra 265 de acordo com um modo de predição intra do conjunto de modos de predição intra.
[0196] A unidade de predição intra 254 (ou de modo geral a unidade de seleção de modo 260) é adicionalmente configurada para emitir parâmetros de predição intra (ou de modo geral informações indicativas do modo de predição intra selecionado para o bloco) para a unidade de codificação de entropia 270 em forma de elementos de sintaxe 266 para inclusão nos dados de imagem codificados 21, de modo que, por exemplo, o decodificador de vídeo 30 possa receber e usar os parâmetros de predição para decodificação. Predição inter
[0197] O conjunto de (ou possíveis) modos de predição inter depende das imagens de referência disponíveis (isto é, imagens anteriores pelo menos parcialmente decodificadas, por exemplo, armazenadas no DBP 230) e outros parâmetros de predição inter, por exemplo, se toda a imagem de referência ou somente uma parte, por exemplo, uma área de janela de busca em torno da área do bloco atual, da imagem de referência é usada para buscar um bloco de referência de melhor pareamento e/ou, por exemplo, se interpolação de pixel é aplicada, por exemplo, interpolação meio/semipel e/ou quarto de pel, ou não.
[0198] Além dos modos de predição acima, o modo de salto e/ou o modo direto podem ser aplicados.
[0199] A unidade de predição inter 244 pode incluir uma unidade de estimativa de movimento (ME) e uma unidade de compensação de movimento (MC) (ambas não mostradas na Figura 2). A unidade de estimativa de movimento está configurada para receber ou obter o bloco de imagem 203 (bloco de imagem atual 203 da imagem atual 17) e uma imagem decodificada 231, ou pelo menos um ou uma pluralidade de blocos previamente reconstruídos, por exemplo, blocos reconstruídos de uma ou uma pluralidade de outras/diferentes imagens previamente decodificadas 231, para estimativa de movimento. Por exemplo, uma sequência de vídeo pode compreender a imagem atual e as imagens previamente decodificadas 231, ou em outras palavras, a imagem atual e as imagens previamente decodificadas 231 podem fazer parte de ou formar uma sequência de imagens formando uma sequência de vídeo.
[0200] O codificador 20 pode, por exemplo, ser configurado para selecionar um bloco de referência a partir de uma pluralidade de blocos de referência das mesmas ou diferentes imagens da pluralidade de outras imagens e fornecer uma imagem de referência (ou índice de imagem de referência) e/ou um desvio (desvio espacial) entre a posição (coordenadas x, y) do bloco de referência e a posição do bloco atual como parâmetros de predição inter para a unidade de estimativa de movimento. Este desvio também é chamado de vetor de movimento (MV).
[0201] A unidade de compensação de movimento é configurada para obter, por exemplo, receber, um parâmetro de predição inter e para realizar predição inter com base em ou usando o parâmetro de predição inter para obter um bloco de predição inter 265. A compensação de movimento, realizada pela unidade de compensação de movimento, pode envolver obter ou gerar o bloco de predição com base no vetor de movimento/bloco determinado por estimativa de movimento, possivelmente realizando interpolações até precisão de subpixel. A filtragem de interpolação pode gerar amostras de pixel adicionais a partir de amostras de pixel conhecidas, aumentando assim potencialmente o número de blocos de predição candidatos que podem ser usados para codificar um bloco de imagem. Mediante recebimento do vetor de movimento para a PU do bloco de imagem atual, a unidade de compensação de movimento pode localizar o bloco de predição para o qual o vetor de movimento aponta em uma das listas de imagem de referência.
[0202] A unidade de compensação de movimento pode também gerar elementos de sintaxe associados aos blocos e a fatia de vídeo para uso pelo decodificador de vídeo 30 na decodificação dos blocos de imagem da fatia de vídeo. Codificação de entropia
[0203] A unidade de codificação de entropia 270 está configurada para aplicar, por exemplo, um algoritmo ou esquema de codificação de entropia (por exemplo, um esquema de codificação de comprimento variável (VLC), um esquema de VLC adaptável a contexto (CAVLC), um esquema de codificação aritmética, uma binarização, uma codificação aritmética binária adaptável a contexto (CABAC), codificação aritmética binária adaptável a contexto com base em sintaxe (SBAC), codificação de entropia de particionamento de intervalo de probabilidade (PIPE), ou uma outra metodologia ou técnica de codificação de entropia) ou não passar (não há compressão) pelos coeficientes residuais quantizados 209, parâmetros de predição inter, parâmetros de predição intra, parâmetros de filtro loop, e/ou outros elementos de sintaxe para obter dados de imagem codificados 21 que podem ser emitidos por meio da saída 272, por exemplo, na forma de um fluxo de bits codificados 21 de modo que, por exemplo, o decodificador de vídeo 30 possa receber e usar os parâmetros para decodificar. O fluxo de bits codificados 21 pode ser transmitido para o decodificador de vídeo 30, ou armazenado em uma memória para transmissão posterior ou recuperação pelo decodificador de vídeo 30.
[0204] Outras variações estruturais do codificador de vídeo 20 podem ser usadas para codificar o fluxo de vídeo. Por exemplo, um codificador com base em não transformada 20 pode quantizar o sinal residual diretamente sem a unidade de processamento de transformada 206 para determinados blocos ou quadros. Em uma outra implementação, o codificador 20 pode ter a unidade de quantização 208 e a unidade de quantização inversa 210 combinadas em uma única unidade.
[0205] A Figura 3 mostra um exemplo de um decodificador de vídeo 30 que é configurado para implementar as técnicas do presente pedido. O decodificador de vídeo 30 é configurado para receber dados de imagem codificados 21 (por exemplo, fluxo de bits codificados 21), por exemplo, codificados pelo codificador 20, para obter uma imagem decodificada 331. Os dados de imagem codificados ou fluxo de bits compreendem informações para decodificar os dados de imagem codificados, por exemplo, dados que representam blocos de imagem de uma fatia de vídeo codificada e elementos de sintaxe associados.
[0206] No exemplo da Figura 3, o decodificador 30 compreende uma unidade de decodificação de entropia 304, uma unidade de quantização inversa 310, uma unidade de processamento de transformada inversa 312, uma unidade de reconstrução 314 (por exemplo, um somador 314), um filtro loop 320, um buffer de imagem decodificada (DBP) 330, uma unidade de predição inter 344 e uma unidade de predição intra 354. A unidade de predição inter 344 pode ser ou incluir uma unidade de compensação de movimento. O decodificador de vídeo 30 pode, em alguns exemplos, realizar uma etapa de decodificação de modo geral recíproca à etapa de codificação descrito com respeito ao codificador de vídeo 100 da Figura 2.
[0207] Como explicado com relação ao codificador 20, a unidade de quantização inversa 210, a unidade de processamento de transformada inversa 212, a unidade de reconstrução 214 o filtro loop 220, o buffer de imagem decodificada (DPB) 230, a unidade de predição inter 344 e a unidade de predição intra 354 são também referidas como formando o “decodificador embutido” do codificador de vídeo 20. Consequentemente, a unidade de quantização inversa 310 pode ser idêntica em função à unidade de quantização inversa 110, a unidade de processamento de transformada inversa 312 pode ser idêntica em função à unidade de processamento de transformada inversa 212, a unidade de reconstrução 314 pode ser idêntica em função à unidade de reconstrução 214, o filtro loop 320 pode ser idêntico em função ao filtro loop 220, e o buffer de imagem decodificada 330 pode ser idêntico em função ao buffer de imagem decodificada 230. Portanto, as explicações fornecidas para as respectivas unidades e funções do codificador de vídeo 20 se aplicam de modo correspondente às respectivas unidades e funções do decodificador de vídeo 30. Decodificação de entropia
[0208] A unidade de decodificação de entropia 304 é configurada para analisar o fluxo de bits 21 (ou em geral dados de imagem codificados 21) e realizar, por exemplo, decodificação de entropia nos dados de imagem codificados 21 para obter, por exemplo, coeficientes quantizados 309 e/ou parâmetros de codificação decodificados (não mostrados na Figura 3), por exemplo, qualquer um dos ou todos os parâmetros de predição inter (por exemplo, índice de imagem de referência e vetor de movimento), parâmetro de predição intra (por exemplo, modo ou índice de predição intra), parâmetros de transformada, parâmetros de quantização, parâmetros de filtro loop, e/ou outros elementos de sintaxe. A unidade de decodificação de entropia 304 pode ser configurada para aplicar os algoritmos ou esquemas de decodificação correspondentes aos esquemas de codificação conforme descrito em relação à unidade de codificação de entropia 270 do codificador 20. A unidade de decodificação de entropia 304 pode ser adicionalmente configurada para fornecer parâmetros de predição inter, parâmetro de predição intra e/ou outros elementos de sintaxe para a unidade de seleção de modo 360 e outros parâmetros para outras unidades do decodificador 30. O decodificador de vídeo 30 pode receber os elementos de sintaxe ao nível de fatia de vídeo e/ou ao nível de bloco de vídeo. Quantização Inversa
[0209] A unidade de quantização inversa 310 pode ser configurada para receber parâmetros de quantização (QP) (ou em geral informações relacionadas à quantização inversa) e coeficientes quantizados a partir de dados de imagem codificados 21 (por exemplo, por análise e/ou decodificação, por exemplo, pela unidade de decodificação de entropia 304) e para aplicar com base nos parâmetros de quantização uma quantização inversa nos coeficientes decodificados quantizados 309 para obter coeficientes desquantizados 311, os quais podem também ser referidos como coeficientes de transformada 311. O processo de quantização inversa pode incluir uso de um parâmetro de quantização determinado pelo codificador de vídeo 20 para cada bloco de vídeo na fatia de vídeo para determinar um grau de quantização e, de modo semelhante, um grau de quantização inversa que deve ser aplicado. Transformada Inversa
[0210] A unidade de processamento de transformada inversa 312 pode ser configurada para receber coeficientes desquantizados 311, também referidos como coeficientes de transformada 311, e para aplicar uma transformada nos coeficientes desquantizados 311 a fim de obter blocos residuais reconstruídos 213 no domínio da amostra. Os blocos residuais reconstruídos 213 podem também ser referidos como blocos de transformada
313. A transformada pode ser uma transformada inversa, por exemplo, uma DCT inversa, uma DST inversa, uma transformada de número inteiro inversa, ou um processo de transformada inversa conceitualmente similar. A unidade de processamento de transformada inversa 312 pode ser adicionalmente configurada para receber parâmetros de transformada ou informações correspondentes a partir de dados de imagem codificados 21 (por exemplo, por análise e/ou decodificação, por exemplo, pela unidade de decodificação de entropia 304) para determinar a transformada a ser aplicada nos coeficientes desquantizados 311. Reconstrução
[0211] A unidade de reconstrução 314 (por exemplo, adicionador ou somador 314) pode ser configurada para adicionar o bloco residual reconstruído 313, ao bloco de predição 365 para obter um bloco reconstruído 315 no domínio da amostra, por exemplo, adicionando-se os valores de amostra do bloco residual reconstruído 313 e os valores de amostra do bloco de predição 365. Filtragem
[0212] A unidade de filtro loop 320 (ou na malha de codificação ou depois da malha de codificação) é configurada para filtrar o bloco reconstruído 315 para obter um bloco filtrado 321, por exemplo, para transições de pixel suaves, ou aperfeiçoar de outra maneira a qualidade de vídeo. A unidade de filtro loop 320 pode compreender um ou mais filtros loop tais como um filtro de desblocagem, um filtro de desvio adaptável à amostra (SAO) ou um ou mais outros filtros, por exemplo, um filtro bilateral, um filtro loop adaptável (ALF), um filtro de nitidez, um de suavização ou um filtro colaborativo, ou qualquer combinação dos mesmos. Embora a unidade de filtro loop 320 seja mostrada na
Figura 3 como sendo um filtro in-loop, em outras configurações, a unidade de filtro loop 320 pode ser implementada como um filtro post-loop. Buffer de Imagem Decodificada
[0213] Os blocos de vídeo decodificados 321 de uma imagem são então armazenados no buffer de imagem decodificada 330, o qual armazena as imagens decodificadas 331 como imagens de referência para subsequente compensação de movimento para outras imagens e/ou para emitir o respectivo display.
[0214] O decodificador 30 é configurado para emitir a imagem decodificada 311, por meio da saída 312, para apresentação ou visualização para um usuário. Predição
[0215] A unidade de predição inter 344 pode ser idêntica à unidade de predição inter 244 (em particular à unidade de compensação de movimento) e a unidade de predição intra 354 pode ser idêntica à unidade de predição inter 254 em função, e realiza decisões de divisão ou particionamento e predição com base nos parâmetros de particionamento e/ou predição ou respectivas informações recebidas a partir dos dados de imagem codificados 21 (por exemplo, por análise e/ou decodificação, por exemplo, pela unidade de decodificação de entropia 304). A unidade de seleção de modo 360 pode ser configurada para realizar a predição (predição intra ou inter) por bloco com base em imagens reconstruídas, blocos ou respectivas amostras (filtradas ou não filtradas) para obter o bloco de predição 365.
[0216] Quando a fatia de vídeo é codificada como uma fatia codificada de modo intra (I), a unidade de predição intra 354 da unidade de seleção de modo 360 é configurada para gerar o bloco de predição 365 para um bloco de imagem da fatia de vídeo atual com base em um modo de predição intra sinalizado e dados de blocos previamente decodificados da imagem atual. Quando a imagem de vídeo é codificada como uma fatia codificada de modo inter (isto é, B ou P), a unidade de predição inter 344 (por exemplo, unidade de compensação de movimento) da unidade de seleção de modo 360 é configurada para produzir blocos de predição 365 para um bloco de vídeo da fatia de vídeo atual com base nos vetores de movimento e outros elementos de sintaxe recebidos a partir da unidade de decodificação de entropia 304. Para predição inter, os blocos de predição podem ser produzidos a partir de uma das imagens de referência dentro de uma das listas de imagem de referência. O decodificador de vídeo 30 pode construir as listas de quadros de referência, Lista 0 e Lista 1, usando técnicas de construção padrão com base em imagens de referência armazenadas no DPB 330.
[0217] A unidade de seleção de modo 360 é configurada para determinar as informações de predição para um bloco de vídeo da fatia de vídeo atual analisando-se os vetores de movimento e outros elementos de sintaxe, e usa as informações de predição para produzir os blocos de predição para o bloco de vídeo atual sendo decodificado. Por exemplo, a unidade de seleção de modo 360 usa alguns dos elementos de sintaxe recebidos para determinar um modo de predição (por exemplo, predição intra ou inter) usado para codificar os blocos de vídeo da fatia de vídeo, um tipo de fatia de predição inter (por exemplo, fatia B, fatia P, ou fatia GPB), informações de construção para uma ou mais das listas de imagem de referência para a fatia, vetores de movimento para cada bloco de vídeo codificado de modo inter da fatia, status de predição inter para cada bloco de vídeo codificado de modo inter da fatia, e outras informações para decodificar os blocos de vídeo na fatia de vídeo atual..
[0218] Outras variações do decodificador de vídeo 30 podem ser usadas para decodificar os dados de imagem codificados 21. Por exemplo, o decodificador 30 pode produzir o fluxo de vídeo emitido sem a unidade de filtro loop 320. Por exemplo, um decodificador com base em não transformada 30 pode quantizar inversamente o sinal residual diretamente sem a unidade de processamento de transformada inversa 312 para determinados blocos ou quadros. Em uma outra implementação, o decodificador de vídeo 30 pode ter a unidade de quantização inversa 310 e a unidade de processamento de transformada inversa 312 combinadas em uma única unidade.
[0219] Deve ser entendido que, no codificador 20 e no decodificador 30, um resultado de processamento de uma etapa atual pode ser adicionalmente processado e então emitido para a próxima etapa. Por exemplo, após filtragem por interpolação, derivação de vetor de movimento ou filtragem loop, uma operação adicional, tal como Recorte ou deslocamento, pode ser realizada no resultado de processamento da filtragem de interpolação, derivação de vetor de movimento ou filtragem loop.
[0220] Deve ser observado que operações adicionais podem ser aplicadas nos vetores de movimento derivados de bloco atual (incluindo, porém, sem limitação, vetores de movimento de ponto de controle de modo afim, vetores de movimento de sub-bloco em modos afim, planar, ATMVP (predição de vetor de movimento temporal avançada), vetores de movimento temporal, e assim por diante). Por exemplo, o valor do vetor de movimento é restrito a uma faixa predefinida de acordo com seu bit representante. Se o bit representante de vetor de movimento é bitDepth, então a faixa é -2^(bitDepth-1) ~ 2^(bitDepth-1)-1, onde “^” significa exponenciação. Por exemplo, se bitDepth é estabelecido igual a 16, a faixa é -32768 ~ 32767; se bitDepth é estabelecido igual a 18, a faixa é - 131072~131071. Por exemplo, o valor do vetor de movimento derivado (por exemplo, os MVs de quatro sub-blocos 4x4 dentro de um bloco 8x8) é restrito de modo que a diferença máxima entre partes em número inteiro dos quatro MVs de sub-bloco 4x4 não seja mais do que N pixels, tal como no máximo 1 pixel.
[0221] Aqui se fornece dois métodos para restringir o vetor de movimento de acordo com bitDepth.
[0222] Método 1: remover o MSB (bit mais significativo) excedente por operações de fluxo ux=(mvx+2bitDepth) % 2bitDepth (1) mvx=( ux >= 2bitDepth-1 ) ? (ux – 2bitDepth ) : ux (2) uy=(mvy+2bitDepth) % 2bitDepth (3) mvy=( uy >= 2bitDepth-1 ) ? (uy – 2bitDepth ) : uy (4) onde mvx é um componente horizontal de um vetor de movimento de um bloco de imagem ou de um sub-bloco, mvy é um componente vertical de um vetor de movimento de um bloco de imagem ou de um sub-bloco e ux e uy indicam um valor intermediário;
[0223] Por exemplo, se o valor de mvx é -32769, após a aplicação da fórmula (1) e (2), o valor resultante é 32767. Em sistema de computador, os números decimais são armazenados como complemento de dois. O complemento de dois de -32769 é 1,0111,1111,1111,1111 (17 bits), então o MSB é descartado, então o complemento de dois resultante é 0111,1111,1111,1111 (número decimal é 32767), que é o mesmo que o emitido se aplicando a fórmula (1) e (2). ux=(mvpx + mvdx +2bitDepth ) % 2bitDepth (5)
mvx=( ux >= 2bitDepth-1 ) ? (ux – 2bitDepth ) : ux (6) uy=(mvpy + mvdy +2bitDepth ) % 2bitDepth (7) mvy=( uy >= 2bitDepth-1 ) ? (uy – 2bitDepth ) : uy (8) As operações podem ser aplicadas durante a soma de mvp e mvd, conforme mostrado nas fórmulas (5) a (8).
[0224] Método 2: remover o MSB excedente recortando-se o valor vx = Clip3 (-2bitDepth-1, 2bitDepth-1 -1, vx) vy = Clip3 (-2bitDepth-1, 2bitDepth-1 -1, vy) onde vx é um componente horizontal de um vetor de movimento de um bloco de imagem ou de um sub-bloco, vy é um componente vertical de um vetor de movimento de um bloco de imagem ou de um sub-bloco; x, y e z, respectivamente, correspondem a três valores de entrada do processo de recorte de MV, e a definição da função Clip3 é a seguinte: x ; z<x Clip3( x, y, z ) = {y ; z>y z ; de outra maneira
[0225] A Figura 4 é um diagrama esquemático de um dispositivo de codificação de vídeo 400 de acordo com uma modalidade da revelação. O dispositivo de codificação de vídeo 400 é adequado para implementar as modalidades reveladas conforme descritas no presente documento. Em uma modalidade, o dispositivo de codificação de vídeo 400 pode ser um decodificador tal como o decodificador de vídeo 30 da Figura 1ª ou um codificador tal como o codificador de vídeo 20 da Figura 1ª.
[0226] O dispositivo de codificação de vídeo 400 compreende portas de ingresso 410 (ou portas de entrada 410) e unidades receptoras (Rx) 420 para receber dados; um processador, unidade lógica, ou unidade de processamento central (CPU) 430 para processar os dados; unidades transmissoras (Tx) 440 e portas de egresso 450 (ou portas de saída 450) para transmitir os dados; e uma memória 460 para armazenar os dados. O dispositivo de codificação de vídeo 400 também pode compreender componentes ópticos que podem ser convertidos em elétricos (OE) e componentes elétricos que podem ser convertidos em ópticos (EO) acoplados às portas de ingresso 410, às unidades receptoras 420, às unidades transmissoras 440, e às portas de egresso 450 para egresso ou ingresso de sinais ópticos ou elétricos.
[0227] O processador 430 é implementado por hardware e software. O processador 430 pode ser implementado como um ou mais chips de CPU, núcleos (por exemplo, como um processador de múltiplos núcleos), FPGAs, ASICs e DSPs. O processador 430 está em comunicação com as portas de ingresso 410, unidades receptoras 420, unidades transmissoras 440, portas de egresso 450, e memória 460. O processador 430 compreende um módulo de codificação 470. O módulo de codificação 470 implementa as modalidades reveladas descritas acima. Por exemplo, o módulo de codificação 470 implementa, processa, prepara ou fornece as várias operações de codificação. A inclusão do módulo de codificação 470, portanto, fornece um aperfeiçoamento substancial para a funcionalidade do dispositivo de codificação de vídeo 400 e efetua uma transformação do dispositivo de codificação de vídeo 400 para um estado diferente. Alternativamente, o módulo de codificação 470 é implementado como instruções armazenadas na memória 460 e executadas pelo processador
430.
[0228] A memória 460 pode compreender um ou mais discos, unidades de fita, e unidades de estado sólido e pode ser usada como um dispositivo de armazenamento de dados excedentes, para armazenar programas quando tais programas são selecionados para execução, e para armazenar instruções e dados que são lidos durante execução de programa. A memória 460 pode ser, por exemplo, volátil e/ou não volátil e pode ser memória apenas para leitura (ROM), memória de acesso aleatório (RAM), memória endereçável por conteúdo ternário (TCAM), e/ou memória de acesso aleatório estática (SRAM).
[0229] A Figura 5 é um diagrama de blocos simplificado de um aparelho 500 que pode ser usado tanto como o dispositivo de origem 12 e o dispositivo de destino 14 da Figura 1 ou como ambos de acordo com uma modalidade exemplificativa.
[0230] Um processador 502 no aparelho 500 pode ser uma unidade de processamento central. Alternativamente, o processador 502 pode ser qualquer outro tipo de dispositivo, ou múltiplos dispositivos, com capacidade de manipular ou processar informações agora existentes ou desenvolvidas no futuro. Embora as implantações reveladas possam ser praticadas com um único processador como mostrado, por exemplo, o processador 502, vantagens em velocidade e eficiência podem ser alcançadas usando mais de um processador.
[0231] Uma memória 504 no aparelho 500 pode ser um dispositivo de memória apenas para leitura (ROM) ou um dispositivo de memória de acesso aleatório (RAM) em uma implantação. Qualquer outro tipo adequado de dispositivo de armazenamento pode ser usado como a memória 504. A memória 504 pode incluir código e dados 506 que são acessados pelo processador 502 usando um barramento 512. A memória 504 pode adicionalmente incluir um sistema operacional 508 e programas de aplicativo 510, os programas de aplicativo 510 incluindo pelo menos um programa que permite ao processador 502 realizar os métodos descritos aqui. Por exemplo, os programas de aplicativo 510 podem incluir aplicativos de 1 a N, que incluem adicionalmente um aplicativo de codificação de vídeo que realiza os métodos descritos aqui.
[0232] O aparelho 500 também pode incluir um ou mais dispositivos de saída, tais como um display 518. O display 518 pode ser, em um exemplo, um display sensível ao toque que combina um display com um elemento sensível ao toque que é operável para detectar entradas de toque. O display 518 pode ser acoplado ao processador 502 por meio do barramento 512.
[0233] Embora representado aqui como um único barramento, o barramento 512 do aparelho 500 pode ser composto de múltiplos barramentos. Além disso, o armazenamento secundário 514 pode ser diretamente acoplado aos outros componentes do aparelho 500 ou pode ser acessado por meio de uma rede e pode compreender uma única unidade integrada tal como um cartão de memória ou múltiplas unidades tais como múltiplos cartões de memória. O aparelho 500 pode desse modo ser implantado em uma ampla variedade de configurações. Modos de predição intra
[0234] De acordo com o padrão HEVC/H.265, 35 modos de predição intra estão disponíveis. Conforme mostrado na Figura 6, este conjunto contém os seguintes modos: modo planar (o índice de modo de predição intra é 0), modo DC (o índice de modo de predição intra é 1) e modos direcionais (angulares) que cobrem a faixa de 180° e tem a faixa de valor de índice de modo de predição intra de 2 a 34 mostrada por setas pretas na Figura 6. Para capturar as direções de borda arbitrárias presentes no vídeo natural, o número de modos intra direcionais é estendido de 33, como usado em HEVC, para 65. Os modos direcionais adicionais são representados como setas pontilhadas na Figura 6, e os modos planar e DC permanecem os mesmos. É importante notar que o intervalo coberto pelos modos de predição intra pode ser maior que 180°. Em particular, 62 modos direcionais com valores de índice de 3 a 64 cobrem a faixa de aproximadamente 230°, isto é, vários pares de modos têm direcionalidade oposta. No caso do Modelo de Referência HEVC (HM) e plataformas JEM, apenas um par de modos angulares (a saber, modos 2 e 66) tem direcionalidade oposta, conforme mostrado na Figura 6. Para construir um preditor, os modos angulares convencionais tomam amostras de referência e (se necessário) filtram as mesmas para obter um preditor de amostra. O número de amostras de referência exigido para construir um preditor depende do comprimento do filtro usado para interpolação (por exemplo, filtros bilineares e cúbicos têm comprimentos de 2 e 4, respectivamente).
[0235] A Figura 4 mostra um exemplo de 67 modos de predição intra, por exemplo, como proposto para VVC, a pluralidade de modos de predição intra de 67 modos de predição intra compreendendo: modo planar (índice 0), modo cc (índice 1) e modos angulares com índices 2 a 66, em que o modo angular inferior esquerdo na Figura 6 se refere ao índice 2 e a numeração dos índices sendo incrementada até o índice 66 ser o modo angular mais à direita superior da Figura 6. Construção de lista de Modos Mais Prováveis
[0236] A lista de modos mais prováveis (MPM) é usada na codificação de modo intra para aperfeiçoar a eficiência de codificação. Devido ao grande número de modos intra (por exemplo, 35 em ITU H.265 e 67 em VVC), uma lista de modos mais prováveis de CU (unidade de codificação) ou CB (bloco de codificação) atual é construída com base em seus modos de predição intra de CUs ou CBs vizinhos. Como o modo intra de CU ou CB atual é relevante para os modos de predição intra de CUs ou CBs de seus vizinhos, a lista de MPM de modo geral fornece uma boa predição, se o modo intra de CU ou CB atual tem uma grande chance de cair na lista de MPM. Desta forma, para derivar o modo intra de CU ou CB atual, o índice de lista de MPM é sinalizado. Em comparação com o número de modos intra totais, o comprimento da lista de MPM é muito menor (por exemplo, a lista de 3-MPM é usada em HEVC e a lista de 6-MPM é usada em VVC), portanto, menos bits são exigidos para codificar o modo intra.
Uma flag (por exemplo, MPM_flag) é usado para indicar se o modo intra de CU ou CB atual está na lista de MPM ou não. Se o valor da flag é verdadeiro (por exemplo, o valor é 1), o modo intra de CU ou CB atual está na lista de MPM. Se o valor da flag é falso (por exemplo, o valor é 0), o modo intra de CU ou CB atual não está na lista de MPM e o modo intra de CU ou CB atual é sinalizado usando um código binarizado. Construção de lista de MPM em VVC e ITU H.265
[0237] Em VVC e ITU H.265, uma lista de MPM é construída com base nos blocos esquerdo e superior vizinhos do bloco atual. Quando o bloco à esquerda e o bloco superior do bloco atual não estão disponíveis para predição intra, uma lista de modos é usada.
[0238] Em um exemplo para uma construção de lista de 6 MPM, uma lista de modos pode incluir os seguintes modos de predição intra na ordem: (1) modo planar, (2) modo DC, (3) Modo Vertical, (4) Modo Horizontal, (5) modo V- 4 (isto é, modo intra 46), (6) modo V + 4 (isto é, modo intra 54). Em um outro exemplo para uma construção de lista de 3 MPM, uma lista de modos padrão pode incluir os seguintes modos de predição intra na ordem: (1) modo planar, (2) modo DC. Binarização do índice do bloco atual quando um modo intra do bloco atual está na lista de MPM.
[0239] A binarização é usada para converter a representação decimal em binária. Muitas abordagens de binarização são usadas em ITU-T H.265 e VVC, como código de comprimento fixo, código unário truncado e código binário truncado. O código unário truncado é usado para codificar um índice correspondente em uma lista de 6 MPM. A binarização unária truncada representa o índice MPM (supondo que seja n, o valor de n varia de 0 a 5, inclusive) com n 1 seguido por 0, exceto o valor máximo onde todos os n bits são 1 ou, alternativamente, com n 0 seguido por 1, exceto o valor máximo onde todos os n bits são 0. O código de binarização do índice MPM com um valor máximo de 5 é mostrado na Tabela 1, Tabela 1 Valor Alternativa de representação Alternativa de representação decimal binária 1 binária 2 0 0 1
[0240] Nos exemplos acima, cada valor decimal é codificado de acordo com mais um bit na representação binária em comparação com o valor decimal anterior (valor decimal que é um a menos), exceto para o último valor decimal que corresponde ao valor máximo do índice. Predição de múltiplas hipóteses
[0241] Um bloco de codificação é predito de modo intra (isto é, usando as amostras de referência na mesma imagem) ou predito de modo inter (isto é, usando as amostras de referência em outras imagens). A predição de múltiplas hipóteses combina essas duas abordagens de predição. Portanto, algumas vezes também é chamada de predição inter-intra combinada. Quando a predição inter-intra combinada é ativada, as amostras preditas de modo intra e preditas de modo inter são aplicadas por pesos, e a predição final para um bloco de codificação é derivada como aa amostras de média ponderada.
[0242] No VTM 3.0, se predição de múltiplas hipóteses (MH) estiver habilitada, 4 ou 3 modos intra com base na forma do bloco são usados. No caso de 4 modos intra, são usados os modos PLANAR, DC, vertical (correspondendo ao valor 50) e horizontal (correspondendo a 18). No caso de 3 modos intra, quando a largura de CU ou CB é maior do que o dobro da altura de CU ou CB, o modo horizontal é exclusivo da lista de modos intra; quando a altura de CU ou CB é maior do que o dobro da largura de CU ou CB, o modo vertical é removido da lista de modos intra. Para ambos os casos de 3 e 4 modos intra, apenas esses quatro modos intra (isto é, PLANAR, DC, vertical e horizontal) são permitidos e uma lista de 3 MPM é definida.
[0243] Blocos MH: Os blocos de codificação do componente de luma que são previstos por predição de múltiplas hipóteses.
[0244] Blocos intra: Os blocos de codificação que são previstos por predição intra, mas não previstos por predição de múltiplas hipóteses. A construção de lista de MPM para blocos MH é diferente da construção de lista de MPM para blocos intra em VTM3.0. Em um exemplo, uma lista de 6 MPM é construída e 67 modos intra podem ser usados para predição intra. A construção de lista de MPM para blocos intra é construída com base nos modos de predição intra do bloco à esquerda e do bloco de cima, se o modo de predição intra do bloco à esquerda e o modo de predição intra do bloco de cima não estiverem disponíveis, uma lista de modos padrão com seis entradas {PLANAR, DC, vertical, horizontal, vertical-4, vertical + 4} pode ser usada.
[0245] Em um outro aspecto, a binarização para um índice de lista de MPM de blocos MH é diferente da binarização para um índice de lista de MPM de blocos intra. Primeiro, para blocos MH, uma lista de 3-MPM é definida e o valor máximo do índice de lista de MPM é 2, enquanto para blocos intra, uma lista de 6-MPM é definida e o valor máximo do índice de lista de MPM é 5. Em segundo lugar, em 3 ou 4 casos de modo intra, a binarização de índice para blocos MH é combinada com a sinalização de MPM_flag. Quando no caso de 3 modos intra, MPM_flag não é sinalizado, mas inferido como verdadeiro, uma vez que o modo intra deve cair na lista 3-MPM após excluir os modos horizontal ou vertical. Quando no caso de 4 modos intra-, MPM_flag é sinalizado, se o valor de MPM_flag verdadeiro (por exemplo, o valor de MPM_flag é 1), MPM_idx é codificado com código unário truncado, o valor máximo do código unário truncado é 2; se o valor do MPM_flag é falso (por exemplo, o valor do MPM_flag é 0), o modo intra é obtido excluindo os 3 modos intra na lista 3-MPM dos 4 modos {PLANAR, DC, vertical e horizontal}.
[0246] A binarização de índice de lista de MPM de blocos MH, bem como a sinalização MPM_flag para 3 e 4 casos de modo intra são representados pela Tabela 2. Tabela 2 Índice 3 casos de modo intra 4 casos de modo intra
MPM 0 0 0 1 10 10 2 11 11 Flag de
MPM
0 --- Excluir 3 modos MPM dentre (não existe, sempre 1) {PLANAR, DC, vertical, e horizontal} 1 usar índice para indicar modo usar índice para indicar modo intra na lista 3-MPM intra na lista 3-MPM
[0247] A abordagem com base em bloco em VTM diferenciando 3 ou 4 MPM para blocos MH aumenta a complexidade de decodificação e pode não ser necessária para blocos aplicados com predição de múltiplas hipóteses (isto é, predição inter-intra combinada).
[0248] A modalidade do presente pedido fornece várias alternativas para reduzir a complexidade de decodificar um bloco de uma imagem por meio de predição de MH, especialmente beneficiada pelas simplificações da construção de lista de MPM para blocos de MH. Modalidade 1:
[0249] Determinar se predição de múltiplas hipóteses é aplicada a um bloco de codificação ou não;
[0250] Se predição de múltiplas hipóteses é aplicada para predizer o bloco de codificação, • Usar uma primeira lista de MPM com uma lista padrão predefinida de modos para predição intra, que tem um tamanho de N (N é maior que 0). • Predição do bloco com base em uma das entradas da primeira lista de MPM.
[0251] Se predição de múltiplas hipóteses não é aplicada para predizer o bloco de codificação, e se a predição intra é aplicada para predizer o bloco, • Predizer o bloco com base em uma das entradas de uma segunda lista de MPM (em um exemplo, a segunda lista de MPM é construída de acordo com o método que é revelado em JVET-L1001).
[0252] Em uma implementação, a lista de modos padrão tem um comprimento de 4, e a lista é compreendida das seguintes entradas com a ordem especificada, modo planar, modo DC, modo vertical e modo horizontal.
[0253] Em uma implementação, a lista de modos padrão tem um comprimento de 3 e a lista é compreendida das seguintes entradas com a ordem especificada, modo planar, modo DC, modo vertical.
[0254] Em uma implementação, a lista de modos padrão tem um comprimento de 2, e a lista é compreendida das seguintes entradas com a ordem especificada, modo planar, modo DC.
[0255] Em uma implementação, a lista de modos padrão tem um comprimento de 1, e a lista é compreendida apenas de modo planar.
[0256] Em uma implementação, a binarização de índice de lista de MPM usa código unário truncado, o valor máximo do código unário truncado é 3, quando uma primeira lista de MPM tem 4 modos intra, e o MPM_flag é sempre estabelecido como verdadeiro (o valor do MPM_flag é 1).
[0257] Em uma outra implementação, os primeiros 4 candidatos na lista de modos padrão são usados para construir uma primeira lista de MPM que tem quatro modos intra. A ordem dos 4 candidatos na lista de modos padrão é a mesma que a ordem dos candidatos na primeira lista de MPM. Como um exemplo, se a lista de modos padrão compreende os seguintes modos de predição intra:
1. modo planar,
2. modo DC,
3. Modo Vertical,
4. Modo Horizontal,
5. Modo V-4,
6. Modo V + 4, então a primeira lista de MPM compreende os seguintes modos de predição intra na ordem:
1. modo planar,
2. modo DC,
3. Modo Vertical,
4. Modo Horizontal.
[0258] Em uma implementação, os primeiros 3 candidatos na lista de modos padrão são usados para construir uma primeira lista de MPM que tem 3 modos intra.
[0259] Em uma implementação, a binarização de índice de lista de MPM usa código unário truncado, o valor máximo do código unário truncado é 2, quando uma primeira lista de MPM tem 3 modos intra, e o MPM_flag é sempre estabelecido como verdadeiro (o valor do MPM_flag é 1).
[0260] Em uma outra implementação, os 3 primeiros candidatos na lista de modos padrão são usados para construir uma primeira lista de MPM que tem 3 modos intra. A ordem dos 3 candidatos na lista de modos padrão é a mesma que a ordem dos candidatos na primeira lista de MPM. Como um exemplo, se a lista de modos padrão compreende os seguintes modos de predição intra:
1. modo planar,
2. modo DC,
3. Modo Vertical,
4. Modo Horizontal,
5. Modo V-4,
6. Modo V + 4, então a primeira lista de MPM compreende os seguintes modos de predição intra na ordem:
1. modo planar,
2. modo DC,
3. Modo Vertical
[0259] Em uma implementação, os primeiros 2 candidatos na lista de modos padrão são usados para construir uma primeira lista de MPM que tem 2 modos intra.
[0261] Em uma implementação, a binarização de índice de lista de MPM usa código unário truncado com um valor máximo de 1, quando uma primeira lista de MPM tem 2 modos intra, e o MPM_flag é sempre estabelecido como verdadeiro (o valor do MPM_flag é 1)
[0262] Em uma outra implementação, os primeiros 2 candidatos na lista de modos padrão são usados para construir uma primeira lista de MPM que tem 2 modos intra. A ordem dos 2 candidatos na lista de modos padrão é a mesma que a ordem dos candidatos na primeira lista de MPM. Como um exemplo, se a lista de modos padrão compreende os seguintes modos de predição intra:
1. modo planar,
2. modo DC,
3. Modo Vertical,
4. Modo Horizontal,
5. Modo V-4,
6. Modo V + 4, então, a primeira lista de MPM compreende os seguintes modos de predição intra na ordem:
1. modo planar,
2. modo DC,
[0263] Em uma implementação, o primeiro candidato na lista de modos padrão é usado para construir uma primeira lista de MPM que tem um modo intra. Em um exemplo, o modo que é inserido na primeira lista de MPM é o modo planar.
[0264] Em uma implementação, MPM_idx não é sinalizado se uma primeira lista de MPM tem um modo intra e é codificado com um modo intra fixo, e o MPM_flag é sempre estabelecido como verdadeiro (o valor de MPM_flag é 1).
[0265] Em uma outra implementação, o primeiro candidato na lista de modos padrão é usado para construir uma primeira lista de MPM que tem um modo intra. Por exemplo, se a lista de modos padrão compreender os seguintes modos de predição intra:
1. modo planar,
2. modo DC,
3. Modo vertical,
4. Modo horizontal,
5. Modo V-4,
6. Modo V + 4, então, a primeira lista de MPM compreende os seguintes modos de predição intra na ordem:
1. modo planar,
[0266] A segunda lista de MPM poderia ser construída de acordo com os métodos no ITU-T H.265 e na VVC, ver os exemplos e revelações acima sobre o processo de construção da lista de MPM no ITU-T H.265 e na VVC. Modalidade 2:
[0267] Construir uma primeira lista de MPM (em um exemplo, a primeira lista de MPM é construída de acordo com o método que é revelado em
JVET-L1001)
[0268] Determinar se predição de múltiplas hipóteses é aplicada a um bloco de codificação ou não;
[0269] Se predição de múltiplas hipóteses é aplicada para predizer o bloco de codificação, • Predição do bloco com base em uma das entradas na primeira lista de MPM.
[0270] Se predição de múltiplas hipóteses não é aplicada para predizer o bloco de codificação, e se a predição intra é aplicada para predizer o bloco, • Predição do bloco com base em uma das entradas da primeira lista de MPM.
[0271] Em uma implementação, a predição intra com base em uma das entradas em uma primeira lista de MPM é realizada da seguinte forma: • Etapa 1: construir todas as entradas da primeira lista de MPM • Etapa 2: determinar se um bloco aplica predição de múltiplas hipóteses ou não •Etapa 3: o Se predição de múltiplas hipóteses é aplicada para predizer o bloco de codificação ▪ Analisar uma indicação de índice a partir de um fluxo de bits, cujo valor máximo é conhecido como (N-1), N é igual ou maior que 1. Quando N é 1, a indicação de índice é inferida (mas não analisada) como 0. ▪ Derivar um modo de predição intra de acordo com a primeira lista de MPM e a indicação de índice derivada. O modo de predição intra derivado é a entrada na primeira lista de MPM indexada pela indicação de índice ▪ se o modo de predição intra derivado é um modo angular com índice de modo (um valor correspondente de modo intra) entre 2 e 34, inclusive, a predição intra derivada é mudada para um modo horizontal ▪ caso contrário, se a predição intra derivada é um modo angular com índice de modo entre 35 e 66, inclusive, a predição intra derivada é mudada para um modo vertical o Se predição de múltiplas hipóteses não é aplicada para predizer o bloco e se o bloco é aplicado com predição intra
▪ Analisar uma indicação de índice a partir de um fluxo de bits, cujo valor máximo é conhecido como (M-1), M é igual ou maior que 1. ▪ Derivar um modo de predição intra de acordo com a primeira lista de MPM e a indicação de índice derivada. O modo de predição intra derivado é a entrada na primeira lista de MPM indexada pela indicação de índice • Etapa 4: Predição do bloco com base no modo intra derivado.
[0272] Em uma implementação, a predição intra com base em uma das entradas em uma primeira lista de MPM é realizada da seguinte forma: • Etapa 1: construir todas as entradas da primeira lista de MPM • Etapa 2: determinar se um bloco aplica predição de múltiplas hipóteses ou não • Etapa 3: o Se predição de múltiplas hipóteses é aplicada para predizer o bloco de codificação ▪ Analisar uma indicação de índice a partir de um fluxo de bits, cujo valor máximo é conhecido como (N-1), N é igual ou maior que 1. Quando N é 1, a indicação de índice é inferida (mas não analisada) como 0. ▪ Derivar um modo de predição intra de acordo com a primeira lista de MPM e a indicação de índice derivada. O modo de predição intra derivado é a entrada na primeira lista de MPM indexada pela indicação de índice ▪ se o modo de predição intra derivado é um modo angular com índice de modo (um valor correspondente de modo intra) entre 2 e 33, inclusive, a predição intra derivada é mudada para um modo horizontal ▪ caso contrário, se a predição intra derivada é um modo angular com índice de modo entre 34 e 66, inclusive, a predição intra derivada é mudada para um modo vertical o Se predição de múltiplas hipóteses não é aplicada para predizer o bloco e se o bloco é aplicado com predição intra ▪ Analisar uma indicação de índice a partir de um fluxo de bits, cujo valor máximo é conhecido como (M-1), M é igual ou maior que 1. ▪ Derivar um modo de predição intra de acordo com a primeira lista de MPM e a indicação de índice derivada. O modo de predição intra derivado é a entrada na primeira lista de MPM indexada pela indicação de índice • Etapa 4: Predição do bloco com base no modo intra derivado
[0273] Em uma implementação, a predição intra com base em uma das entradas em uma primeira lista de MPM é realizada da seguinte forma: • Etapa 1: construir todas as entradas da primeira lista de MPM • Etapa 2: determinar se um bloco aplica predição de múltiplas hipóteses ou não • Etapa 3: o Se predição de múltiplas hipóteses é aplicada para predizer o bloco de codificação ▪ Analisar uma indicação de índice a partir de um fluxo de bits, cujo valor máximo é conhecido como (N-1), N é igual ou maior que 1. Quando N é 1, a indicação de índice é inferida (mas não analisada) como 0. ▪ Derivar um modo de predição intra de acordo com a primeira lista de MPM e a indicação de índice derivada. O modo de predição intra derivado é a entrada na primeira lista de MPM indexada pela indicação de índice ▪ se o modo de predição intra derivado é um modo angular com índice de modo (um valor correspondente de modo intra) entre 2 e 66, inclusive, a predição intra derivada é mudada para um modo planar ▪ Predizer o bloco com base no modo intra derivado. o Se predição de múltiplas hipóteses não é aplicada para predizer o bloco e se o bloco é aplicado com predição intra ▪ Analisar uma indicação de índice a partir de um fluxo de bits, cujo valor máximo é conhecido como (M-1), M é igual ou maior que 1. ▪ Derivar um modo de predição intra de acordo com a primeira lista de MPM e a indicação de índice derivada. O modo de predição intra derivado é a entrada na primeira lista de MPM indexada pela indicação de índice • Etapa 4: Predizer o bloco com base no modo intra derivado. Modalidade 3:
[0274] Determinar se um bloco aplica predição de múltiplas hipóteses ou não;
[0275] Se predição de múltiplas hipóteses é aplicada para predizer o bloco, • Construir primeiras N entradas de uma primeira lista de MPM (em um exemplo, a primeira lista de MPM é construída de acordo com o método que é revelado em JVET-L1001).
• Predizer o bloco com base em uma das entradas da primeira lista de MPM.
[0276] Se predição de múltiplas hipóteses não é aplicada para predizer o bloco e se o bloco é aplicado com predição intra • Construir todas as entradas de uma primeira lista de MPM (em um exemplo, a primeira lista de MPM é construída de acordo com o método que é revelado em JVET-L1001). • Predizer o bloco com base em uma das entradas da primeira lista de MPM.
[0277] Em uma implementação, a primeira lista de MPM compreende apenas os modos de predição intra Planar, DC, Vertical e Horizontal.
[0278] Em uma implementação, a predição intra com base em uma das entradas em uma primeira lista de MPM é realizada da seguinte forma: • Etapa 1: determinar se um bloco aplica predição de múltiplas hipóteses ou não • Etapa 2: • Se predição de múltiplas hipóteses é aplicada para predizer o bloco de codificação o construir primeiras N entradas da primeira lista de MPM, a saber, construir primeiras N entradas da primeira lista de MPM de acordo com a regra de construção da primeira lista de MPM. Quando as primeiras N entradas podem ser determinadas, parar de construir outras entradas da primeira lista de MPM. o Analisar uma indicação de índice a partir de um fluxo de bits, cujo valor máximo é conhecido como (N-1), N é igual ou maior que 1. Quando N é 1, a indicação de índice é inferida (mas não analisada) como 0. o Derivar um modo de predição intra de acordo com primeiras N entradas da primeira lista de MPM e a indicação de índice derivada. O modo de predição intra derivado é a entrada das primeiras N entradas da primeira lista de MPM indexada pela indicação de índice o se o modo de predição intra derivado é um modo angular com índice de modo (um valor correspondente do modo intra) entre 2 e 33, inclusive, a predição intra derivada é mudada para um modo horizontal (corresponde a um valor 18) o caso contrário, se a predição intra derivada é um modo angular com índice de modo entre 34 e 66, inclusive, a predição intra derivada é mudada para um modo vertical (corresponde a um valor 50) • Se predição de múltiplas hipóteses não é aplicada para predizer o bloco e se o bloco é aplicado com predição intra o construir todas as M entradas da primeira lista de MPM. o Analisar uma indicação de índice a partir de um fluxo de bits, cujo valor máximo é conhecido como (M-1), M é igual ou maior que 1. o Derivar um modo de predição intra de acordo com a primeira lista de MPM e a indicação de índice derivada. O modo de predição intra derivado é a entrada na primeira lista de MPM indexada pela indicação de índice • Etapa 3: Predição do bloco com base no modo intra derivado.
[0279] Em uma implementação a predição intra com base em uma das entradas em uma primeira lista de MPM é realizada da seguinte forma: • Etapa 1: determinar se um bloco aplica predição de múltiplas hipóteses ou não •Etapa 2: • Se predição de múltiplas hipóteses é aplicada para predizer o bloco de codificação o construir primeiras N entradas da primeira lista de MPM, a saber, construir primeiras N entradas da primeira lista de MPM de acordo com a regra de construção da primeira lista de MPM. Quando as primeiras N entradas podem ser determinadas, parar de construir outras entradas da primeira lista de MPM o Analisar uma indicação de índice a partir de um fluxo de bits, cujo valor máximo é conhecido como (N-1), N é igual ou maior que 1. Quando N é 1, a indicação de índice é inferida (mas não analisada) como 0. o Derivar um modo de predição intra de acordo com primeiras N entradas da primeira lista de MPM e a indicação de índice derivada. O modo de predição intra derivado é a entrada das primeiras N entradas da primeira lista de MPM indexada pela indicação de índice o se o modo de predição intra derivado é um modo angular com índice de modo (um valor correspondente de modo intra) entre 2 e 34, inclusive, a predição intra derivada é mudada para um modo horizontal (corresponde a um valor 18) o caso contrário, se a predição intra derivada é um modo angular com índice de modo entre 35 e 66, inclusive, a predição intra derivada é mudada para um modo vertical (corresponde a um valor 50) • Se predição de múltiplas hipóteses não é aplicada para predizer o bloco e se o bloco é aplicado com predição intra o construir todas as M entradas da primeira lista de MPM o Analisar uma indicação de índice a partir de um fluxo de bits, cujo valor máximo é conhecido como (M-1), M é igual ou maior que 1. o Derivar um modo de predição intra de acordo com a primeira lista de MPM e a indicação de índice derivada. O modo de predição intra derivado é a entrada na primeira lista de MPM indexada pela indicação de índice • Etapa 3: Predizer o bloco com base no modo intra derivado.
[0280] Em uma implementação, a predição intra com base em uma das entradas em uma primeira lista de MPM é realizada da seguinte forma: • Etapa 1: determinar se um bloco aplica predição de múltiplas hipóteses ou não • Etapa 2: • Se predição de múltiplas hipóteses é aplicada para predizer o bloco de codificação o construir primeiras N entradas da primeira lista de MPM, a saber, construir primeiras N entradas da primeira lista de MPM de acordo com a regra de construção da primeira lista de MPM. Quando as primeiras N entradas podem ser determinadas, parar de construir outras entradas da primeira lista de MPM o Analisar uma indicação de índice a partir de um fluxo de bits, cujo valor máximo é conhecido como (N-1), N é igual ou maior que 1. Quando N é 1, a indicação de índice é inferida (mas não analisada) como 0. o Derivar um modo de predição intra de acordo com primeiras N entradas da primeira lista de MPM e a indicação de índice derivada. O modo de predição intra derivado é a entrada das primeiras N entradas de na primeira lista de MPM indexada pela indicação de índice o se o modo de predição intra derivado é um modo angular com índice de modo (um valor correspondente do modo intra) entre 2 e 66, inclusive, a predição intra derivada é mudada para um modo planar (corresponde a um valor 0) • Se predição de múltiplas hipóteses não é aplicada para predizer o bloco e se o bloco é aplicado com predição intra o construir todas as M entradas da primeira lista de MPM o Analisar uma indicação de índice a partir de um fluxo de bits, cujo valor máximo é conhecido como (M-1), M é igual ou maior que 1. o Derivar um modo de predição intra de acordo com a primeira lista de MPM e a indicação de índice derivada. O modo de predição intra derivado é a entrada na primeira lista de MPM indexada pela indicação de índice • Etapa 3: Predizer o bloco com base no modo intra derivado.
[0281] Em uma implementação, a primeira lista de MPM é construída com base nas primeiras N entradas da segunda lista de MPM da seguinte forma: • Etapa 1: ir para a primeira entrada da segunda lista de MPM • Etapa 2.1: se a entrada é modo planar ou modo DC, inserir a entrada na primeira lista de MPM. • Etapa 2.2: caso contrário, se a entrada é um modo angular com índice de modo entre 2 e 33, inclusive, inserir um modo horizontal na primeira lista de MPM. • Etapa 2.3: caso contrário, se a entrada é um modo angular com índice de modo entre 34 e 66, inclusive, inserir um modo vertical na primeira lista de MPM. • Etapa 3: ir para a próxima entrada na segunda lista de MPM, reiniciar a etapa 2.1 até que o número de entradas na primeira lista de MPM seja igual a um valor máximo especificado.
[0282] Em uma implementação, a primeira lista de MPM é construída com base nas primeiras N entradas da segunda lista de MPM da seguinte forma: • Etapa 1: ir para a primeira entrada da segunda lista de MPM • Etapa 2.1: se a entrada é modo planar ou modo DC, inserir a entrada na primeira lista de MPM. • Etapa 2.2: caso contrário se a entrada é um modo angular com índice de modo entre 2 e 34, inclusive, e se o modo horizontal não tiver sido inserido, inserir um modo horizontal na primeira lista de MPM. • Etapa 2.3: caso contrário, se a entrada é um modo angular com índice de modo entre 35 e 66, inclusive, e se o modo vertical não tiver sido inserido, inserir um modo vertical na primeira lista de MPM. • Etapa 3: ir para a próxima entrada na segunda lista de MPM, reiniciar com a etapa 2.1 até que o número de entradas na primeira lista de MPM seja igual a um valor máximo especificado ou as primeiras N entradas da segunda lista de MPM tenham sido todas iteradas. • Etapa 4: preencher um ou mais modos padrão que não foram inseridos na primeira lista de MPM.
[0283] Em uma implementação, a primeira lista de MPM é construída com base nas primeiras N entradas da segunda lista de MPM da seguinte forma: • Etapa 1: ir para a primeira entrada da segunda lista de MPM • Etapa 2.1: se a entrada é modo planar ou modo DC, inserir a entrada na primeira lista de MPM. • Etapa 2.2: caso contrário, se a entrada é um modo angular com índice de modo entre 2 e 33, inclusive, e se o modo horizontal não tiver sido inserido, inserir um modo horizontal na primeira lista de MPM. • Etapa 2.3: caso contrário, se a entrada é um modo angular com índice de modo entre 34 e 66, inclusive, e se o modo Vertical não tiver sido inserido, inserir um modo Vertical na primeira lista de MPM. • Etapa 3: ir para a próxima entrada na segunda lista de MPM, reiniciar com a etapa 2.1 até que o número de entradas na primeira lista de MPM seja igual a um valor máximo especificado ou as primeiras N entradas da segunda lista de MPM tenham sido todas iteradas. • Etapa 4: preencher um ou mais modos padrão que não foram inseridos na primeira lista de MPM.
[0284] Em uma implementação, a primeira lista de MPM é construída com base nas primeiras N entradas da segunda lista de MPM da seguinte forma: • Etapa 1: ir para a primeira entrada da segunda lista de MPM • Etapa 2.1: se a entrada é modo planar ou modo DC, inserir a entrada na primeira lista de MPM. • Etapa 2.2: caso contrário, se a entrada é um modo angular com índice de modo entre 2 e 66, inclusive, e se um modo padrão não tiver sido inserido, inserir um modo padrão na primeira lista de MPM. • Etapa 3: ir para a próxima entrada no segundo reinício da lista de MPM com a etapa 2.1 e preencher com diferentes modos padrão até que o número de entradas na primeira lista de MPM seja igual a um valor máximo especificado.
Modalidade 4:
[0285] Determinar se predição de múltiplas hipóteses é aplicada a um bloco de codificação ou não;
[0286] Se predição de múltiplas hipóteses é aplicada para predizer o bloco de codificação, • Usar uma primeira lista de MPM com uma lista padrão predefinida (por exemplo, uma default_list[N]) de modos para predição intra, que tem um tamanho de N (N é maior que 0). • Estabelecer MPM_flag como verdadeiro, isto é, o MPM_flag é inferido como 1. MPM_flag indica se o modo intra do bloco atual está na Lista de MPM ou não. Quando MPM_flag é igual a 1, o modo intra do bloco atual está na lista de MPM, quando MPM_flag é igual a 0, o modo intra do bloco atual não está na lista de MPM. • Analisar um MPM_idx que tenha valor entre 0 e N-1 (inclui 0 e N-1). Se N é 1, o MPM_idx não é analisado, mas inferido como 0. • obter o modo intra do bloco atual com default_list [MPM_idx]. • Predizer o bloco com base no modo intra obtido.
[0287] Em um exemplo, não há binarização com base em bloco e construção de lista de MPM na modalidade.
[0288] Em uma implementação, a lista de modos padrão tem um comprimento de 4 e a lista é compreendida das seguintes entradas com a ordem especificada, modo planar, modo DC, modo Vertical e modo horizontal.
[0289] Em uma implementação, a lista de modos padrão tem um comprimento de 3, e a lista é compreendida das seguintes entradas com a ordem especificada, modo planar, modo DC, modo Vertical.
[0290] Em uma implementação, a lista de modos padrão tem um comprimento de 3, e a lista é compreendida das seguintes entradas com a ordem especificada, modo planar, modo horizontal (isto é, 18) e modo vertical (isto é, 50).
[0291] Em uma implementação, a lista de modos padrão tem um comprimento de 3, e a lista é compreendida das seguintes entradas com a ordem especificada, modo planar, modo vertical e modo horizontal.
[0292] Em uma implementação, a lista de modos padrão tem um comprimento de 2 e a lista é compreendida das seguintes entradas com a ordem especificada, modo planar, modo DC.
[0293] Em uma implementação, a lista de modos padrão tem um comprimento de 1, e a lista é compreendida apenas pelo modo planar.
[0294] Em uma implementação, a binarização de índice de lista de MPM usa código unário truncado, o valor máximo do código unário truncado é 3, quando uma primeira lista de MPM tem 4 modos intra, e o MPM_flag é sempre estabelecido como verdadeiro (o valor do MPM_flag é 1).
[0295] Em uma implementação, o MPM_flag é sempre estabelecido como verdadeiro (o valor do MPM_flag é 1). A binarização de índice de lista de MPM usa código unário truncado, e todos os arquivos binários são codificados por transposição de CABAC. A lista de MPM padrão tem um tamanho de 3 e o valor máximo do código unário truncado é 2, quando uma primeira lista de MPM tem 3 modos intra com a seguinte ordem: modo planar, modo horizontal (isto é, 18) e vertical (isto é, 50) modo.
[0296] Em uma implementação, o MPM_flag é sempre estabelecido como verdadeiro (o valor do MPM_flag é 1). A binarização de índice de lista de MPM usa código unário truncado e todos os arquivos binários são codificados por transposição de CABAC. A lista de MPM padrão tem um tamanho de 3, e o valor máximo do código unário truncado é 2, quando uma primeira lista de MPM tem 3 modos intra com a seguinte ordem: modo planar, modo vertical (isto é, 50) e modo horizontal (isto é, 18).
[0297] A segunda lista de MPM pode ser construída de acordo com os métodos no ITU-T H.265 e na VVC, ver os exemplos e revelações acima sobre o processo de construção da lista de MPM no ITU-T H.265 e na VVC. Modalidade 5:
[0298] Conforme mostrado na Figura 8, um método de decodificação de um bloco de uma imagem, compreendendo:
[0299] Etapa 801: obter um parâmetro de indicação para um bloco de codificação atual, em que o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco de codificação atual;
[0300] Etapa 802: quando o parâmetro de indicação representa que a predição de múltiplas hipóteses é aplicada ao bloco de codificação atual;
[0301] Etapa 803: decodificar o bloco de codificação atual de acordo com um modo planar.
[0302] Em uma implementação, a predição de múltiplas hipóteses é predição inter e intra combinadas (CIIP).
[0303] Em uma implementação, o parâmetro de indicação é flag CIIP.
[0304] Em uma implementação, os dados de fusão são usados para portar o parâmetro de indicação. Isso significa que o parâmetro de indicação é derivado da sintaxe de dados de fusão.
[0305] Em uma implementação, depois de aplicar a predição de múltiplas hipóteses ao bloco de codificação atual com base em um valor do parâmetro de indicação, o método compreende adicionalmente obter um modo de predição intra para o bloco de codificação atual de acordo com uma lista de modos mais prováveis (MPM) e um índice de lista de MPM. Opcionalmente, obter um modo de predição intra para o bloco de codificação atual de acordo com uma lista de MPM e um índice de lista de MPM através das seguintes etapas: indexar cada um dentre os modos de predição intra na lista de MPM com um valor correspondente de índice de lista de MPM; analisar o índice de lista de MPM a partir de um fluxo de bits, que tem valor entre 0 a N-1; obter o modo de predição intra do bloco atual da lista de MPM de acordo com o valor do índice de lista de MPM.
[0306] Em uma implementação, a lista de MPM compreende pelo menos modo planar.
[0307] Em uma outra implementação, a lista de MPM compreende modo planar e pelo menos um dentre modo DC, modo vertical e modo horizontal.
[0308] Em uma outra implementação, a lista de MPM consiste no modo planar.
[0309] Em uma implementação, o método compreende adicionalmente selecionar o modo planar para o bloco de codificação atual da lista de MPM de acordo com o valor do índice de lista de MPM.
[0310] Em uma implementação, a lista de MPM é construída a partir de uma lista padrão predefinida (por exemplo, uma lista de modos padrão) de modos para predição intra, que tem um tamanho maior que N.
[0311] Em uma implementação, o índice de lista de MPM é codificado em representação decimal ou binária.
[0312] Em uma implementação, a binarização de índice de lista de MPM usa código unário truncado.
[0313] Em uma implementação, os primeiros 4 candidatos na lista de modos padrão são usados para construir uma lista de MPM que tem quatro modos intra. A ordem dos 4 candidatos na lista de modos padrão é a mesma que a ordem dos candidatos na lista de MPM. Como um exemplo se a lista de modos padrão compreende os seguintes modos de predição intra:
1. modo planar,
2. modo DC,
3. Modo Vertical,
4. Modo Horizontal,
5. Modo V-4,
6. Modo V + 4, então, a lista de MPM compreende os seguintes modos de predição intra na ordem:
1. modo planar,
2. modo DC,
3. Modo Vertical,
4. Modo Horizontal.
[0314] Em uma implementação, os primeiros 3 candidatos na lista de modos padrão são usados para construir uma lista de MPM que tem 3 modos intra.
[0315] Em uma implementação, a binarização de índice de lista de MPM usa código unário truncado, o valor máximo do código unário truncado é 2, quando uma lista de MPM tem 3 modos intra, e o MPM_flag é sempre estabelecido como verdadeiro (o valor do MPM_flag é 1).
[0316] Em uma outra implementação, os primeiros 3 candidatos na lista de modos padrão são usados para construir uma lista de MPM que tem 3 modos intra. A ordem dos 3 candidatos na lista de modos padrão é a mesma que a ordem dos candidatos na lista de MPM. Como um exemplo, se a lista de modos padrão compreende os seguintes modos de predição intra:
1. modo planar,
2. modo DC,
3. Modo Vertical,
4. Modo Horizontal,
5. Modo V-4,
6. Modo V + 4, então, a lista de MPM compreende os seguintes modos de predição intra na ordem:
1. modo planar,
2. modo DC,
3. Modo Vertical
[0317] Em uma implementação, os primeiros 2 candidatos na lista de modos padrão são usados para construir uma lista de MPM que tem 2 modos intra.
[0318] Em uma implementação, a binarização de índice de lista de MPM usa código unário truncado com um valor máximo de 1, quando uma lista de MPM tem 2 modos intra, e o MPM_flag é sempre estabelecido como verdadeiro (o valor do MPM_flag é 1).
[0319] Em uma outra implementação, os primeiros 2 candidatos na lista de modos padrão são usados para construir uma lista de MPM que tem 2 modos intra. A ordem dos 2 candidatos na lista de modos padrão é a mesma que a ordem dos candidatos na lista de MPM. Como um exemplo, se a lista de modos padrão compreende os seguintes modos de predição intra:
1. modo planar,
2. modo DC,
3. Modo Vertical,
4. Modo Horizontal,
5. Modo V-4,
6. Modo V + 4, então a lista de MPM compreende os seguintes modos de predição intra na ordem:
1. modo planar,
2. modo DC,
[0320] Em uma implementação, o primeiro candidato na lista de modos padrão é usado para construir uma lista de MPM que tem um modo intra. Em um exemplo, o modo que é inserido na lista de MPM é o modo planar.
[0321] Em uma outra implementação, o primeiro candidato na lista de modos padrão é usado para construir uma lista de MPM que tem um modo intra. Como um exemplo, se a lista de modos padrão compreende os seguintes modos de predição intra:
1. modo planar,
2. modo DC,
3. Modo Vertical,
4. Modo Horizontal,
5. Modo V-4,
6. Modo V + 4, então a lista de MPM compreende o seguinte modo de predição intra:
1. modo planar.
[0322] As modalidades acima também são aplicáveis a um método de codificar um bloco de uma imagem.
[0323] Em uma implementação, a binarização de índice de lista de MPM usa código unário truncado, o valor máximo do código unário truncado é N-1 quando uma primeira lista de MPM tem N modos intra, e o MPM_flag é sempre estabelecido como verdadeiro. Se N é igual a 1, MPM_idx não é sinalizado.
[0324] Embora as modalidades da invenção tenham sido descritas principalmente com base na codificação de vídeo, deve-se notar que as modalidades do sistema de codificação 10, codificador 20 e decodificador 30 (e correspondentemente o sistema 10) e as outras modalidades aqui descritas também podem ser configuradas para processamento ou codificação de imagens estáticas, isto é, o processamento ou codificação de uma imagem individual independente de qualquer imagem anterior ou consecutiva como na codificação de vídeo. Em geral, apenas unidades de predição inter 244 (codificador) e 344 (decodificador) podem não estar disponíveis no caso de a codificação de processamento de imagem ser limitada a uma única imagem 17. Todas as outras funcionalidades (também referidas como ferramentas ou tecnologias) do codificador de vídeo 20 e o decodificador de vídeo 30 podem igualmente ser usadas para processamento de imagens estáticas, por exemplo, cálculo residual 204/304, transformada 206, quantização 208, quantização inversa 210/310, transformada (inversa) 212/312, particionamento 262/362, de predição intra 254/354, e/ou filtragem loop 220, 320 e codificação de entropia 270 e decodificação de entropia 304.
[0325] Modalidades, por exemplo, do codificador 20 e do decodificador 30, e funções aqui descritas, por exemplo, com referência ao codificador 20 e ao decodificador 30, podem ser implementadas em hardware, software, firmware ou qualquer combinação dos mesmos. Se implementadas em software, as funções podem ser armazenadas em um meio legível por computador ou transmitidas através de mídia de comunicação como uma ou mais instruções ou código e executadas por uma unidade de processamento com base em hardware. A mídia legível por computador pode incluir mídia de armazenamento legível por computador, que corresponde a um meio tangível, como mídia de armazenamento de dados ou mídia de comunicação, que inclui qualquer meio que facilite a transferência de um programa de computador de um lugar para um outro, por exemplo, de acordo com um protocolo de comunicação. Desta maneira, a mídia legível por computador de modo geral pode corresponder a (1) mídia de armazenamento legível por computador tangível que é não transitória ou (2) um meio de comunicação, como um sinal ou onda portadora. A mídia de armazenamento de dados pode ser qualquer mídia disponível que pode ser acessada por um ou mais computadores ou um ou mais processadores para recuperar instruções, código e/ou estruturas de dados para implementação das técnicas descritas nesta revelação. Um produto de programa de computador pode incluir um meio legível por computador.
[0326] A título de exemplo, e não limitando, tal mídia de armazenamento legível por computador pode compreender RAM, ROM, EEPROM, CD-ROM ou outro armazenamento de disco óptico, armazenamento de disco magnético, ou outros dispositivos de armazenamento magnético, memória flash, ou qualquer outro meio que pode ser usado para armazenar o código de programa desejado na forma de instruções ou estruturas de dados e que pode ser acessado por um computador. Além disso, qualquer conexão é apropriadamente denominada um meio legível por computador. Por exemplo, se instruções são transmitidas a partir de um site, servidor ou outra fonte remota usando um cabo coaxial, cabo de fibra óptica, par trançado, linha de assinante digital (DSL) ou tecnologias sem fio tais como infravermelho, rádio e micro- ondas, então o cabo coaxial, cabo de fibra óptica, par trançado, DSL ou tecnologias sem fio, como infravermelho, rádio e micro-ondas estão incluídas na definição de meio. Deve ser entendido, no entanto, que a mídia de armazenamento legível por computador e a mídia de armazenamento de dados não incluem conexões, ondas portadoras, sinais ou outra mídia transitória, mas são direcionados ao contrário a mídia de armazenamento tangível não transitória. Disco magnético e disco óptico, conforme usados no presente documento, inclui disco compacto (CD), disco laser, disco óptico, disco versátil digital (DVD), disquete e disco Blu-ray, onde discos magnéticos de modo geral reproduzem dados magneticamente, enquanto discos ópticos reproduzem dados opticamente com lasers. As combinações dos itens acima também devem ser incluídas no escopo da mídia legível por computador.
[0327] Instruções podem ser executadas por um ou mais processadores, como um ou mais processadores de sinal digital (DSPs), microprocessadores de propósito geral, circuitos integrados de aplicação específica (ASICs), matrizes lógicas programáveis de campo (FPGAs) ou outro circuito lógicos equivalente integrado ou discreto. Consequentemente, o termo "processador", conforme usado no presente documento, pode se referir a qualquer uma das estruturas anteriores ou qualquer outra estrutura adequada para a implementação das técnicas descritas no presente documento. Além disso, em alguns aspectos, a funcionalidade descrita no presente documento pode ser fornecida em módulos de hardware e/ou software dedicados configurados para codificação e decodificação, ou incorporados em um codec combinado. Além disso, as técnicas podem ser totalmente implementadas em um ou mais circuitos ou elementos lógicos.
[0328] As técnicas desta revelação podem ser implementadas em uma ampla variedade de dispositivos ou aparelhos, que inclui um aparelho telefônico sem fio, um circuito integrado (IC) ou um conjunto de ICs (por exemplo, um conjunto de chips). Vários componentes, módulos ou unidades são descritos nesta revelação para enfatizar aspectos funcionais de dispositivos configurados para realizar as técnicas reveladas, mas não necessariamente exigem a realização por diferentes unidades de hardware. Em vez disso, conforme descrito acima, várias unidades podem ser combinadas em uma unidade de hardware de codec ou fornecidas por uma coleção de unidades de hardware interoperativas, que inclui um ou mais processadores conforme descrito acima, em conjunto com software e/ou firmware adequados.
[0329] A seguir está uma explicação das aplicações do método de codificação, bem como do método de decodificação conforme mostrado nas modalidades mencionadas acima, e um sistema que os usa.
[0330] A Figura 9 é um diagrama de blocos que mostra um sistema 3100 de fornecimento de conteúdo para realizar o serviço de distribuição de conteúdo. Este sistema de fornecimento de conteúdo 3100 inclui dispositivo de captura 3102, dispositivo terminal 3106 e, opcionalmente, inclui display 3126. O dispositivo de captura 3102 se comunica com o dispositivo terminal 3106 através do enlace de comunicação 3104. O enlace de comunicação pode incluir o canal de comunicação 13 descrito acima. O enlace de comunicação 3104 inclui, porém, sem limitação, WIFI, Ethernet, cabo, sem fio (3G / 4G / 5G), USB ou qualquer tipo de combinação dos mesmos, ou semelhantes.
[0331] O dispositivo de captura 3102 gera dados, e pode codificar os dados pelo método de codificação como mostrado nas modalidades acima. Alternativamente, o dispositivo de captura 3102 pode distribuir os dados para um servidor de streaming (não mostrado nas Figuras), e o servidor codifica os dados e transmite os dados codificados para o dispositivo terminal 3106. O dispositivo de captura 3102 inclui, porém, sem limitação, câmera, smartphone ou Pad, computador ou laptop, sistema de videoconferência, PDA, dispositivo montado em veículo, ou uma combinação de quaisquer deles, ou semelhantes. Por exemplo, o dispositivo de captura 3102 pode incluir o dispositivo de origem 12 como descrito acima. Quando os dados incluem vídeo, o codificador de vídeo 20 incluído no dispositivo de captura 3102 pode realmente realizar processamento de codificação de vídeo. Quando os dados incluem áudio (isto é, voz), um codificador de áudio incluído no dispositivo de captura 3102 pode realmente realizar processamento de codificação de áudio. Para alguns cenários práticos, o dispositivo de captura 3102 distribui os dados de vídeo e áudio codificados multiplexando os mesmos juntos. Para outros cenários práticos, por exemplo, no sistema de videoconferência, os dados de áudio codificados e os dados de vídeo codificados não são multiplexados. O dispositivo de captura 3102 distribui os dados de áudio codificados e os dados de vídeo codificados para o dispositivo terminal 3106 separadamente.
[0332] No sistema de fornecimento de conteúdo 3100, o dispositivo terminal 310 recebe e reproduz os dados codificados. O dispositivo terminal 3106 poderia ser um dispositivo com capacidade de recepção e recuperação de dados, tal como smartphone ou Pad 3108, computador ou laptop 3110, gravador de vídeo em rede (NVR)/gravador de vídeo digital (DVR) 3112, TV 3114, set top box (STB) 3116, sistema de videoconferência 3118, sistema de videovigilância 3120, assistente digital pessoal (PDA) 3122, dispositivo montado em veículo 3124 ou uma combinação de quaisquer deles, ou semelhantes, capaz de decodificar os dados codificados acima mencionados. Por exemplo, o dispositivo terminal 3106 pode incluir o dispositivo de destino 14, conforme descrito acima. Quando os dados codificados incluem vídeo, o decodificador de vídeo 30 incluído no dispositivo terminal é priorizado para realizar decodificação de vídeo. Quando os dados codificados incluem áudio, um decodificador de áudio incluído no dispositivo terminal é priorizado para realizar processamento de decodificação de áudio.
[0333] Para um dispositivo terminal com seu display, por exemplo, smartphone ou Pad 3108, computador ou laptop 3110, gravador de vídeo em rede (NVR)/gravador de vídeo digital (DVR) 3112, TV 3114, assistente digital pessoal (PDA) 3122, ou dispositivo montado em veículo 3124, o dispositivo terminal pode alimentar os dados decodificados para seu display. Para um dispositivo terminal equipado sem nenhum display, por exemplo, STB 3116, sistema de videoconferência 3118 ou sistema de videovigilância 3120, um display externo 3126 é contatado no mesmo para receber e mostrar os dados decodificados.
[0334] Quando cada dispositivo neste sistema realiza codificação ou decodificação, o dispositivo de codificação de imagem ou o dispositivo de decodificação de imagem, como mostrado nas modalidades mencionadas acima, podem ser usados.
[0335] A Figura 10 é um diagrama que mostra uma estrutura de um exemplo do dispositivo terminal 3106. Após o dispositivo terminal 3106 receber fluxo a partir do dispositivo de captura 3102, a unidade de procedimento de protocolo 3202 analisa o protocolo de transmissão do fluxo. O protocolo inclui, porém, sem limitação, Protocolo de Streaming em Tempo Real (RTSP), Protocolo de Transferência de Hipertexto (HTTP), Protocolo de streaming ao vivo de HTTP (HLS), MPEG-DASH, Protocolo de Transporte em Tempo Real (RTP), Protocolo de Mensagem em Tempo Real (RTMP), ou qualquer tipo de combinação dos mesmos, ou semelhantes.
[0336] Depois que a unidade de procedimento de protocolo 3202 processa o fluxo, o arquivo de fluxo é gerado. O arquivo é enviado para uma unidade de demultiplexação 3204. A unidade de demultiplexação 3204 pode separar os dados multiplexados em dados de áudio codificados e dados de vídeo codificados. Conforme descrito acima, para alguns cenários práticos, por exemplo, no sistema de videoconferência, os dados de áudio codificados e os dados de vídeo codificados não são multiplexados. Nesta situação, os dados codificados são transmitidos para o decodificador de vídeo 3206 e decodificador de áudio 3208 por fora através da unidade de demultiplexação 3204.
[0337] Por meio do processamento de demultiplexação, fluxo elementar de vídeo (ES), ES de áudio e, opcionalmente, legendas são gerados. O decodificador de vídeo 3206, que inclui o decodificador de vídeo 30 como explicado nas modalidades mencionadas acima, decodifica o ES de vídeo pelo método de decodificação como mostrado nas modalidades mencionadas acima para gerar quadro de vídeo, e alimenta esses dados para a unidade síncrona
3212. O decodificador de áudio 3208 decodifica o ES de áudio para gerar quadro de áudio, e alimenta esses dados para a unidade síncrona 3212. Alternativamente, o quadro de vídeo pode ser armazenado em um buffer (não mostrado na Figura 10) antes de alimentar o mesmo para a unidade síncrona
3212. Similarmente, o quadro de áudio pode armazenar em um buffer (não mostrado na Figura 10) antes de alimentar o mesmo para a unidade síncrona
3212.
[0338] A unidade síncrona 3212 sincroniza o quadro de vídeo e o quadro de áudio e fornece o vídeo/áudio para um display de vídeo/áudio 3214, opcionalmente por meio da unidade de processamento gráfico (GPU). Por exemplo, a unidade síncrona 3212 sincroniza a exibição das informações de vídeo e áudio, ao mesmo tempo que garante que os buffers de dados nos decodificadores não estourem nem estourem negativamente. As informações podem codificar na sintaxe usando marcas de tempo relativas à exibição de dados de áudio e visuais codificados e marcas de tempo relativas à entrega do próprio fluxo de dados. Marcas de tempo estão de modo geral em unidades de 90 kHz, mas a Referência de Relógio de Sistema (SCR), a Referência de Relógio de Programa (PCR) e a Referência de Relógio de Fluxo Elementar (ESCR) opcional têm extensões com uma resolução de 27 MHz.
[0339] Se legendas são incluídas no fluxo, o decodificador de legenda
3210 decodifica a legenda e sincroniza a mesma com o quadro de vídeo e o quadro áudio, e supre o vídeo/áudio/a legenda para um display de vídeo/áudio/legenda 3216, opcionalmente via GPU.
[0340] A presente invenção não está limitada ao sistema acima mencionado, e ou o dispositivo de codificação de imagem ou o dispositivo de decodificação de imagem nas modalidades acima mencionadas pode ser incorporado em outro sistema, por exemplo, um sistema de carro.

Claims (29)

REIVINDICAÇÕES
1. Método de decodificação de um bloco de uma imagem, CARACTERIZADO pelo fato de que compreende: obter um parâmetro de indicação para um bloco de codificação atual, em que o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco de codificação atual; quando o parâmetro de indicação representar que a predição de múltiplas hipóteses é aplicada ao bloco de codificação atual, decodificar o bloco de codificação atual de acordo com um modo planar.
2. Método, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a predição de múltiplas hipóteses é uma predição inter e intra combinadas (CIIP).
3. Método, de acordo com a reivindicação 2, CARACTERIZADO pelo fato de que o parâmetro de indicação é flag CIIP.
4. Método, de acordo com qualquer uma das reivindicações 1 a 3, CARACTERIZADO pelo fato de que o parâmetro de indicação é portado por sintaxe de dados de fusão.
5. Método, de acordo com qualquer uma das reivindicações 1 a 4, CARACTERIZADO pelo fato de que o método compreende adicionalmente: obter o modo planar para o bloco de codificação atual de acordo com uma lista de modos mais prováveis (MPM), em que cada um dentre os modos de predição intra na lista de MPM é indexado com um valor correspondente de índice de lista de MPM.
6. Método, de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que o método compreende adicionalmente: analisar um fluxo de bits para obter um índice de lista de MPM, em que o índice de lista de MPM tem valor entre 0 a N-1, e em que N são as entradas dos modos de predição intra na lista de MPM; e obter o modo de predição intra para o bloco de codificação atual a partir da lista de MPM de acordo com o valor do índice de lista de MPM.
7. Método, de acordo com a reivindicação 5 ou 6, CARACTERIZADO pelo fato de que a lista de MPM compreende pelo menos modo planar.
8. Método, de acordo com a reivindicação 5 ou 6, CARACTERIZADO pelo fato de que a lista de MPM compreende modo planar e pelo menos um dentre modo DC, modo vertical e modo horizontal.
9. Método, de acordo com a reivindicação 5 ou 6, CARACTERIZADO pelo fato de que a lista de MPM consiste em modo planar.
10. Método, de acordo com qualquer uma das reivindicações 5 a 9, CARACTERIZADO pelo fato de que a lista de MPM é construída a partir de uma lista padrão predefinida.
11. Método, de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que o índice de lista de MPM é codificado em representação decimal ou binária.
12. Decodificador, CARACTERIZADO pelo fato de que compreende circuitos de processamento para realizar o método conforme definido em qualquer uma das reivindicações 1 a 11.
13. Decodificador, CARACTERIZADO pelo fato de que compreende: um armazenamento de memória compreendendo instruções; e um ou mais processadores em comunicação com a memória, em que o um ou mais processadores executam as instruções para realizar o método conforme definido em qualquer uma das reivindicações 1 a 11.
14. Aparelho para decodificar um bloco de uma imagem, CARACTERIZADO pelo fato de que o aparelho compreende: uma unidade de determinação configurada para obter um parâmetro de indicação para um bloco de codificação atual, em que o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco de codificação atual; e uma unidade de processamento de predição intra configurada para realizar predição intra para o bloco de codificação atual com base em um modo planar quando o parâmetro de indicação representar que a predição de múltiplas hipóteses é aplicada ao bloco de codificação atual.
15. Aparelho, de acordo com a reivindicação 14, CARACTERIZADO pelo fato de que o aparelho compreende adicionalmente uma unidade de análise, configurada para analisar uma pluralidade de elementos de sintaxe de um fluxo de bits de um sinal de vídeo; a unidade de determinação adicionalmente configurada para determinar o modo planar com base em um elemento de sintaxe a partir da pluralidade de elementos de sintaxe.
16. Método de codificação de um bloco de uma imagem, CARACTERIZADO pelo fato de que compreende: obter um parâmetro de indicação para um bloco atual, em que o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco atual; quando o parâmetro de indicação representar que a predição de múltiplas hipóteses é aplicada ao bloco atual, codificar o bloco atual de acordo com um modo planar.
17. Método, de acordo com a reivindicação 16, CARACTERIZADO pelo fato de que a predição de múltiplas hipóteses é uma predição inter e intra combinadas (CIIP).
18. Método, de acordo com a reivindicação 17, CARACTERIZADO pelo fato de que o parâmetro de indicação é flag CIIP.
19. Método, de acordo com qualquer uma das reivindicações 16 a 18, CARACTERIZADO pelo fato de que o parâmetro de indicação é portado por sintaxe de dados de fusão.
20. Método, de acordo com qualquer uma das reivindicações 16 a 19, CARACTERIZADO pelo fato de que o método compreende adicionalmente: obter o modo planar para o bloco de codificação atual de acordo com uma lista de modos mais prováveis (MPM), em que cada um dentre os modos de predição intra na lista de MPM é indexado com um valor correspondente de índice de lista de MPM.
21. Método, de acordo com a reivindicação 20, CARACTERIZADO pelo fato de que a lista de MPM compreende pelo menos modo planar.
22. Método, de acordo com a reivindicação 20, CARACTERIZADO pelo fato de que a lista de MPM compreende modo planar e pelo menos um dentre modo DC, modo vertical e modo horizontal.
23. Método, de acordo com a reivindicação 20, CARACTERIZADO pelo fato de que a lista de MPM consiste em modo planar.
24. Método, de acordo com as reivindicações 20 a 23, CARACTERIZADO pelo fato de que a lista de MPM é construída a partir de uma lista padrão predefinida.
25. Método, de acordo com as reivindicações 20 a 24, CARACTERIZADO pelo fato de que o índice de lista de MPM é codificado em representação decimal ou binária.
26. Codificador, CARACTERIZADO pelo fato de que compreende circuitos de processamento para realizar o método conforme definido em qualquer uma das reivindicações 16 a 25.
27. Codificador, CARACTERIZADO pelo fato de que compreende: um repositório em memória compreendendo instruções; e um ou mais processadores em comunicação com a memória, em que o um ou mais processadores executam as instruções para realizar o método conforme definido em qualquer uma das reivindicações 16 a 25.
28. Produto de programa de computador, CARACTERIZADO pelo fato de que compreende código de programa para realizar o método conforme definido em qualquer uma das reivindicações 16 a 25 quando executado em um computador ou em um processador.
29. Aparelho para codificar um bloco de uma imagem, CARACTERIZADO pelo fato de que o aparelho compreende: uma unidade de determinação configurada para obter um parâmetro de indicação para um bloco atual, em que o parâmetro de indicação representa se uma predição de múltiplas hipóteses é aplicada ao bloco atual; e uma unidade de processamento de predição intra configurada para codificar o bloco atual de acordo com um modo planar quando o parâmetro de indicação representar que a predição de múltiplas hipóteses é aplicada ao bloco atual.
BR112021010286-8A 2018-11-29 2019-11-29 codificador, decodificador e métodos correspondentes de construção de lista de modos mais prováveis para blocos com predição de múltiplas hipóteses BR112021010286A2 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862773149P 2018-11-29 2018-11-29
US62/773,149 2018-11-29
US201862783149P 2018-12-20 2018-12-20
US62/783,149 2018-12-20
PCT/CN2019/122153 WO2020108640A1 (en) 2018-11-29 2019-11-29 Encoder, decoder and corresponding methods of most probable mode list construction for blocks with multi-hypothesis prediction

Publications (1)

Publication Number Publication Date
BR112021010286A2 true BR112021010286A2 (pt) 2021-08-17

Family

ID=70852648

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021010286-8A BR112021010286A2 (pt) 2018-11-29 2019-11-29 codificador, decodificador e métodos correspondentes de construção de lista de modos mais prováveis para blocos com predição de múltiplas hipóteses

Country Status (11)

Country Link
US (2) US11876997B2 (pt)
JP (2) JP7358473B2 (pt)
KR (1) KR20210094056A (pt)
CN (2) CN113170202B (pt)
AU (2) AU2019386917B2 (pt)
BR (1) BR112021010286A2 (pt)
CA (1) CA3121409A1 (pt)
CL (1) CL2021001408A1 (pt)
IL (1) IL283571A (pt)
MX (1) MX2021006390A (pt)
WO (1) WO2020108640A1 (pt)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112544082B (zh) * 2018-07-18 2023-12-15 寰发股份有限公司 一种视频编解码的帧间预测方法及装置
CN118077194A (zh) * 2021-07-08 2024-05-24 抖音视界有限公司 用于视频处理的方法、装置和介质
WO2023177752A1 (en) * 2022-03-15 2023-09-21 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices on probability calculation for context-based adaptive binary arithmetic coding
KR20230147901A (ko) * 2022-04-15 2023-10-24 삼성전자주식회사 영상 부호화/복호화 방법 및 장치
WO2024072194A1 (ko) * 2022-09-29 2024-04-04 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100727970B1 (ko) * 2005-08-30 2007-06-13 삼성전자주식회사 영상의 부호화 및 복호화 장치와, 그 방법, 및 이를수행하기 위한 프로그램이 기록된 기록 매체
US8619857B2 (en) * 2010-04-09 2013-12-31 Sharp Laboratories Of America, Inc. Methods and systems for intra prediction
US20130176390A1 (en) * 2012-01-06 2013-07-11 Qualcomm Incorporated Multi-hypothesis disparity vector construction in 3d video coding with depth
US20130343459A1 (en) * 2012-06-22 2013-12-26 Nokia Corporation Method and apparatus for video coding
US9635356B2 (en) 2012-08-07 2017-04-25 Qualcomm Incorporated Multi-hypothesis motion compensation for scalable video coding and 3D video coding
US20180176596A1 (en) * 2015-06-05 2018-06-21 Intellectual Discovery Co., Ltd. Image encoding and decoding method and image decoding device
EP4013051A1 (en) * 2015-06-05 2022-06-15 Dolby Laboratories Licensing Corporation Methods for encoding and decoding intra-frame prediction
CN115134608A (zh) * 2015-06-11 2022-09-30 杜比实验室特许公司 使用自适应去块滤波编码和解码图像的方法及其装置
US20160373742A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
US20160373782A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
US11032550B2 (en) * 2016-02-25 2021-06-08 Mediatek Inc. Method and apparatus of video coding
EP3364656A1 (en) * 2017-02-15 2018-08-22 Thomson Licensing Method for sample adaptive offset coding
EP3866468A4 (en) * 2018-10-12 2022-07-27 Wilus Institute of Standards and Technology Inc. VIDEO SIGNAL PROCESSING METHOD AND APPARATUS USING MULTI-ASSUMPTION PREDICTION
EP3878172A4 (en) * 2018-11-12 2022-08-24 HFI Innovation Inc. METHOD AND DEVICE FOR MULTIPLE HYPOTHESIS IN VIDEO CODING
US10848763B2 (en) * 2018-11-14 2020-11-24 Tencent America LLC Method and apparatus for improved context design for prediction mode and coded block flag (CBF)

Also Published As

Publication number Publication date
AU2019386917A1 (en) 2021-06-24
EP3881551A1 (en) 2021-09-22
JP2023174705A (ja) 2023-12-08
CN117478915A (zh) 2024-01-30
AU2023254981A1 (en) 2023-11-16
JP7358473B2 (ja) 2023-10-10
US20210289222A1 (en) 2021-09-16
CA3121409A1 (en) 2020-06-04
IL283571A (en) 2021-07-29
AU2019386917B2 (en) 2023-07-27
CN113170202A (zh) 2021-07-23
US11876997B2 (en) 2024-01-16
CL2021001408A1 (es) 2021-11-05
JP2022513174A (ja) 2022-02-07
US20240056596A1 (en) 2024-02-15
KR20210094056A (ko) 2021-07-28
WO2020108640A1 (en) 2020-06-04
CN113170202B (zh) 2023-11-10
MX2021006390A (es) 2021-09-10

Similar Documents

Publication Publication Date Title
JP7106744B2 (ja) ルーマおよびクロマ成分についてibc専用バッファおよびデフォルト値リフレッシュを使用するエンコーダ、デコーダおよび対応する方法
CA3115867A1 (en) Inter prediction method and apparatus
CN112913250B (zh) 编码器、解码器及对任意ctu尺寸使用ibc搜索范围优化的对应方法
JP2022524357A (ja) エンコーダ、デコーダ、及び対応するインター予測方法
AU2019386917B2 (en) Encoder, decoder and corresponding methods of most probable mode list construction for blocks with multi-hypothesis prediction
BR112021008016A2 (pt) codificador, decodificador e métodos correspondentes para modo de fusão
BR112020026818A2 (pt) codificador, decodificador e métodos correspondentes de derivação de resistência de limite de filtro de desbloqueio
CA3114341C (en) An encoder, a decoder and corresponding methods using compact mv storage
KR20210151248A (ko) 적응 루프 필터를 사용하는 인코더, 디코더 및 대응하는 방법들
CN114125468A (zh) 帧内预测方法和装置
BR112021009922A2 (pt) Método de construir uma lista de mesclagens candidata para modo de cópia de intrabloco, codificador, decodificador, produto de programa de computador e dispositivo de decodificação de dados de vídeo
BR122022009445A2 (pt) Codificador, decodificador e métodos correspondentes para simplificar sinalização de cabeçalho de imagem
BR112021013565A2 (pt) Codificador, decodificador, meio legível por computador não transitório e método de codificação de vídeo de um bloco de uma imagem
BR112021012708A2 (pt) Método e aparelho de modelagem linear de componente cruzado para predição intra
BR112021009833A2 (pt) codificador, decodificador e métodos correspondentes para predição inter
CN113727120B (zh) 译码方法、装置、编码器和解码器
WO2021045655A9 (en) Method and apparatus for intra prediction
EP4059220A2 (en) Method and apparatus of position dependent prediction combination