BR112021012505A2 - Método para codificar imagens com base em intrapredição usando lista de mpm e aparelho para o mesmo - Google Patents

Método para codificar imagens com base em intrapredição usando lista de mpm e aparelho para o mesmo Download PDF

Info

Publication number
BR112021012505A2
BR112021012505A2 BR112021012505-1A BR112021012505A BR112021012505A2 BR 112021012505 A2 BR112021012505 A2 BR 112021012505A2 BR 112021012505 A BR112021012505 A BR 112021012505A BR 112021012505 A2 BR112021012505 A2 BR 112021012505A2
Authority
BR
Brazil
Prior art keywords
mpm
mode
intraprediction
block
current block
Prior art date
Application number
BR112021012505-1A
Other languages
English (en)
Other versions
BR112021012505B1 (pt
Inventor
Jaehyun Lim
Ling Li
Jin Heo
Jangwon CHOI
Seunghwan Kim
Original Assignee
Lg Electronics Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lg Electronics Inc. filed Critical Lg Electronics Inc.
Priority to BR122022005515-0A priority Critical patent/BR122022005515B1/pt
Priority to BR122022005509-5A priority patent/BR122022005509B1/pt
Priority to BR122022005534-6A priority patent/BR122022005534B1/pt
Publication of BR112021012505A2 publication Critical patent/BR112021012505A2/pt
Publication of BR112021012505B1 publication Critical patent/BR112021012505B1/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/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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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

Abstract

MÉTODO PARA CODIFICAR IMAGENS COM BASE EM INTRAPREDIÇÃO USANDO LISTA DE MPM E APARELHO PARA O MESMO. Trata-se de um método para decodificar uma imagem realizada por um aparelho de decodificação de acordo com a presente revelação que compreende as etapas de: receber informações de intrapredição que incluem pelo menos dentre as informações de sinalizador de MPM que indicam se deriva um modo de intrapredição para um bloco atual com base nos candidatos de MPM para o bloco atual, ou informações de sinalizador planar que indicam se determina o modo de intrapredição para o bloco atual como um modo planar; derivar o modo de intrapredição para o bloco atual com base nas informações de sinalizador de MPM e nas informações de sinalizador planar; derivar um bloco predito para o bloco atual com base no modo de intrapredição para o bloco atual; e gerar uma figuração reconstruída com base no bloco predito.

Description

“MÉTODO PARA CODIFICAR IMAGENS COM BASE EM INTRAPREDIÇÃO USANDO LISTA DE MPM E APARELHO PARA O MESMO” FUNDAMENTOS DA REVELAÇÃO CAMPO DA REVELAÇÃO
[001]A presente revelação refere-se a uma tecnologia de codificação de imagens, e, mais particularmente, a um método e aparelho de codificação de imagens com base em intrapredição usando uma lista de modo mais provável (MPM) em um sistema de codificação de imagens.
TÉCNICA RELACIONADA
[002]Recentemente, a demanda por imagens/vídeos de alta resolução e alta qualidade, tais como imagens/vídeos de Definição Ultra-Alta (UHD) 4K, 8K ou superior vem crescendo em vários campos. À medida que a resolução ou qualidade da imagem/vídeo se torna mais alta, uma quantidade relativamente maior de informações ou bits é transmitida do que para os dados convencionais de imagem/vídeo. Portanto, se os dados de imagem/vídeo forem transmitidos por meio de um meio como uma linha de banda larga com fio/sem fio existente ou armazenados em um meio de armazenamento herdado, os custos de transmissão e armazenamento aumentam rapidamente.
[003]Além disso, os interesses e a demanda por conteúdos de realidade virtual (VR) e realidade artificial (AR), e mídias imersivas, como holograma estão crescendo; e a transmissão de imagens/vídeos que exibem características de imagem/vídeo diferentes daqueles de uma imagem/vídeo real, como imagens/vídeos de jogos, também estão crescendo.
[004]Portanto, uma técnica de compactação de imagem/vídeo altamente eficiente é necessária para compactar e transmitir, armazenar ou reproduzir com eficiência imagens/vídeos de alta qualidade mostrando várias características, conforme descrito acima.
SUMÁRIO
[005]Um objetivo da presente revelação consiste em proporcionar um método e um aparelho para melhorar a eficiência de codificação de imagens.
[006]Outro objetivo da presente revelação consiste em proporcionar um método e um aparelho para melhor a eficiência de intrapredição.
[007]Ainda outro objetivo da presente revelação consiste em proporcionar um método e um aparelho para realizar codificação de imagens com base em intrapredição usando uma lista de MPM para um bloco atual.
[008]Ainda outro objetivo da presente revelação consiste em proporcionar um método e um aparelho para realizar intrapredição com base em uma lista de MPM baseada em informações de sinalizador planar que representam se determina um modo de intrapredição para um bloco atual como um modo planar.
[009]Ainda outro objetivo da presente revelação consiste em proporcionar um método e um aparelho para configurar uma lista de MPM para um bloco atual.
[010]Um objeto adicional da presente revelação consiste em proporcionar um método e um aparelho para codificar um índice de MPM.
[011]Uma modalidade exemplificadora da presente revelação proporciona um método de decodificação de imagem realizado por um aparelho de decodificação. O método de decodificação de imagem inclui receber informações de intrapredição incluindo pelo menos dentre informações de sinalizador de modo mais provável (MPM) que representam se deriva um modo de intrapredição para um bloco atual com base em candidatos de MPM para o bloco atual ou informações de sinalizador planar que representam se determina o modo de intrapredição para o bloco atual como um modo planar, derivar o modo de intrapredição para o bloco atual com base nas informações de sinalizador de MPM e nas informações de sinalizador planar, derivar um bloco predito para o bloco atual com base no modo de intrapredição para o bloco atual, e gerar uma figuração reconstruída com base no bloco predito, e com base nas informações de sinalizador de MPM que representam que o modo de intrapredição para o bloco atual é derivado com base nos candidatos de MPM, as informações de sinalizador planar são incluídas nas informações de intrapredição.
[012]Em uma modalidade exemplificadora, a derivação do modo de intrapredição para o bloco atual pode incluir derivar o modo de intrapredição para o bloco atual como o modo planar, com base nas informações de sinalizador planar que representam que o modo de intrapredição para o bloco atual é derivado como o modo planar.
[013]Em uma modalidade exemplificadora, as informações de intrapredição podem incluir, ainda, informações de índice de MPM relacionadas a um dos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. Com base nas informações de sinalizador planar que representam que o modo de intrapredição para o bloco atual não é derivado como o modo planar, as informações de índice de MPM podem ser incluídas nas informações de intrapredição. O modo de intrapredição para o bloco atual pode ser derivado com base nas informações de índice de MPM.
[014]Em uma modalidade exemplificadora, um número total de candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual pode ser igual a 5.
[015]Em uma modalidade exemplificadora, as informações de índice de MPM podem representar um 0-ésimo candidato de MPM, um 1º candidato de MPM, um 2º candidato de MPM, um 3º candidato de MPM, ou um 4º candidato de MPM que é incluído nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. Com base em um caso onde um modo de intrapredição de um bloco vizinho esquerdo do bloco atual e um modo de intrapredição de um bloco vizinho superior do bloco atual são iguais e o modo de intrapredição do bloco vizinho esquerdo é maior que um modo DC intra, um modo de intrapredição para o 0-ésimo candidato de MPM pode ser o modo de intrapredição do bloco vizinho esquerdo do bloco atual, um modo de intrapredição para o 1º candidato de MPM pode ser 2+((o modo de intrapredição do bloco vizinho esquerdo do bloco atual+61)%64), e um modo de intrapredição para o 2º candidato de MPM pode ser 2+((o modo de intrapredição do bloco vizinho esquerdo do bloco atual-1)%64).
[016]Em uma modalidade exemplificadora, as informações de índice de MPM podem representar um 0-ésimo candidato de MPM, um 1º candidato de MPM, um 2º candidato de MPM, um 3º candidato de MPM, ou um 4º candidato de MPM que está incluído nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. Com base em um caso onde um modo de intrapredição de um bloco vizinho esquerdo do bloco atual e um modo de intrapredição de um bloco vizinho superior do bloco atual não são iguais, o modo de intrapredição do bloco vizinho esquerdo é menor ou igual a um modo DC intra, e o modo de intrapredição do bloco vizinho superior é menor ou igual ao modo DC intra, o modo de intrapredição para o 0-ésimo candidato de MPM pode ser o modo DC intra, o modo de intrapredição para o 1º candidato de MPM pode ser um 50º modo de intrapredição, o modo de intrapredição para o 2º candidato de MPM pode ser um 18º modo de intrapredição, o modo de intrapredição para o 3º candidato de MPM pode ser um 46º modo de intrapredição, e o modo de intrapredição para o 4º candidato de MPM pode ser um 54º modo de intrapredição.
[017]Em um modalidade exemplificadora, as informações de índice de MPM podem se basear em um processo de binarização de Rice truncado (TR).
[018]Em uma modalidade exemplificadora, cMax que representa um valor máximo das informações de índice de MPM pode ser igual a 4.
[019]Outra modalidade exemplificadora da presente revelação proporciona um aparelho de decodificação que realiza decodificação de imagem. O aparelho de decodificação inclui um decodificador de entropia que recebe informações de intrapredição incluindo pelo menos dentre informações de sinalizador de modo mais provável (MPM) que representam se deriva um modo de intrapredição para um bloco atual com base em candidatos de modo mais provável (MPM) para o bloco atual ou informações de sinalizador planar que representam se determina o modo de intrapredição para o bloco atual como um modo planar, um preditor que deriva o modo de intrapredição para o bloco atual com base nas informações de sinalizador de MPM e nas informações de sinalizador planar, e deriva um bloco predito para o bloco atual com base no modo de intrapredição para o bloco atual, e um somador que gera uma figuração reconstruída com base no bloco predito, e com base nas informações de sinalizador de MPM que representam que o modo de intrapredição para o bloco atual é derivado com base nos candidatos de MPM, as informações de sinalizador planar são incluídas nas informações de intrapredição.
[020]Em uma modalidade exemplificadora, o preditor pode derivar o modo de intrapredição para o bloco atual como o modo planar, com base nas informações de sinalizador planar que representam que o modo de intrapredição para o bloco atual é derivado como o modo planar.
[021]Em uma modalidade exemplificadora, as informações de intrapredição podem incluir, ainda, informações de índice de MPM relacionadas a um dos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. Com base nas informações de sinalizador planar que representam que o modo de intrapredição para o bloco atual não é derivado como o modo planar, as informações de índice de MPM podem ser incluídas nas informações de intrapredição, e o modo de intrapredição para o bloco atual pode ser derivado com base nas informações de índice de MPM.
[022]Em uma modalidade exemplificadora, um número total de candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual pode ser igual a 5.
[023]Em uma modalidade exemplificadora, as informações de índice de MPM podem representar um 0-ésimo candidato de MPM, um 1º candidato de MPM, um 2º candidato de MPM, um 3º candidato de MPM ou um 4º candidato de MPM que é incluído nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. Com base em um caso onde um modo de intrapredição de um bloco vizinho esquerdo do bloco atual e um modo de intrapredição de um bloco vizinho superior do bloco atual são iguais e o modo de intrapredição do bloco vizinho esquerdo é maior que um modo DC intra, um modo de intrapredição para o 0-ésimo candidato de MPM pode ser o modo de intrapredição do bloco vizinho esquerdo do bloco atual, um modo de intrapredição para o 1º candidato de MPM pode ser 2+((o modo de intrapredição do bloco vizinho esquerdo do bloco atual+61)%64), e um modo de intrapredição para o 2º candidato de MPM pode ser 2+((o modo de intrapredição do bloco vizinho esquerdo do bloco atual-1)%64).
[024]Em uma modalidade exemplificadora, as informações de índice de MPM podem representar um 0-ésimo candidato de MPM, um 1º candidato de MPM, um 2º candidato de MPM, um 3º candidato de MPM ou um 4º candidato de MPM que é incluído nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. Com base em um caso onde um modo de intrapredição de um bloco vizinho esquerdo do bloco atual e um modo de intrapredição de um bloco vizinho superior do bloco atual não são iguais, o modo de intrapredição do bloco vizinho esquerdo é menor ou igual a um modo DC intra, e o modo de intrapredição do bloco vizinho superior é menor ou igual ao modo DC intra, o modo de intrapredição para o 0-ésimo candidato de MPM pode ser o modo DC intra, o modo de intrapredição para o 1º candidato de MPM pode ser um 50º MPM modo de intrapredição, o modo de intrapredição para o 2º candidato de MPM pode ser um 18º modo de intrapredição, o modo de intrapredição para o 3º candidato de MPM pode ser um 46º modo de intrapredição, e o modo de intrapredição para o 4º candidato de MPM pode ser um
54º modo de intrapredição.
[025]Em uma modalidade exemplificadora, as informações de índice de MPM podem se basear em um processo de binarização de Rice truncado (TR).
[026]Em uma modalidade exemplificadora, cMax que representa um valor máximo das informações de índice de MPM pode ser igual a 4.
[027]Ainda outra modalidade exemplificadora da presente revelação proporciona um método de codificação realizado por um aparelho de codificação. O método de codificação de imagem inclui derivar um modo de intrapredição para um bloco atual, gerar informações de sinalizador de modo mais provável (MPM) que representam se deriva o modo de intrapredição para o bloco atual com base nos candidatos de modo mais provável (MPM) para o bloco atual, gerar as informações de sinalizador planar, com base no MPM que representa que as informações de sinalizador de MPM são relacionadas às informações de sinalizador planar que representam se determina o modo de intrapredição para o bloco atual como um modo planar, e codificar informações de imagem incluindo pelo menos dentre as informações de sinalizador de MPM ou as informações de sinalizador planar.
[028]Em uma modalidade exemplificadora, com base no caso onde o modo de intrapredição para o bloco atual é derivado como o modo planar, as informações de sinalizador planar podem representar que o modo de intrapredição para o bloco atual é derivado como o modo planar.
[029]Em uma modalidade exemplificadora, as informações de intrapredição podem incluir, ainda, informações de índice de MPM relacionadas a um dos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. O método de codificação de imagem pode incluir, ainda, gerar as informações de índice de MPM, com base em um caso onde o modo de intrapredição para o bloco atual não é derivado como o modo planar.
[030]Em uma modalidade exemplificadora, um número total de candidatos de
MPM além do modo planar dentre os candidatos de MPM para o bloco atual pode ser igual a 5.
[031]Em uma modalidade exemplificadora, as informações de índice de MPM podem representar um 0-ésimo candidato de MPM, um 1º candidato de MPM, um 2º candidato de MPM, um 3º candidato de MPM ou um 4º candidato de MPM que é incluído nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. Com base em um caso onde um modo de intrapredição de um bloco vizinho esquerdo do bloco atual e um modo de intrapredição de um bloco vizinho superior do bloco atual são iguais e o modo de intrapredição do bloco vizinho esquerdo é maior que um modo DC intra, um modo de intrapredição para o 0-ésimo candidato de MPM pode ser o modo de intrapredição do bloco vizinho esquerdo do bloco atual, um modo de intrapredição para o 1º candidato de MPM pode ser 2+((o modo de intrapredição do bloco vizinho esquerdo do bloco atual+61)%64), e um modo de intrapredição para o 2º candidato de MPM pode ser 2+((o modo de intrapredição do bloco vizinho esquerdo do bloco atual-1)%64).
[032]Em uma modalidade exemplificadora, as informações de índice de MPM podem representar um 0-ésimo candidato de MPM, um 1º candidato de MPM, um 2º candidato de MPM, um 3º candidato de MPM ou um 4º candidato de MPM que é incluído nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. Com base em um caso onde um modo de intrapredição de um bloco vizinho esquerdo do bloco atual e um modo de intrapredição de um bloco vizinho superior do bloco atual não são iguais, o modo de intrapredição do bloco vizinho esquerdo é menor ou igual a um modo DC intra, e o modo de intrapredição do bloco vizinho superior é menor ou igual ao modo DC intra, o modo de intrapredição para o 0-ésimo candidato de MPM pode ser o modo DC intra, o modo de intrapredição para o 1º candidato de MPM pode ser um 50º modo de intrapredição, o modo de intrapredição para o 2º candidato de MPM pode ser um 18º modo de intrapredição, o modo de intrapredição para o 3º candidato de MPM pode ser um 46º modo de intrapredição, e o modo de intrapredição para o 4º candidato de MPM pode ser um 54º modo de intrapredição.
[033]Em uma modalidade exemplificadora, as informações de índice de MPM podem se basear em um processo de binarização de Rice truncado (TR).
[034]Em uma modalidade exemplificadora, cMax que representa um valor máximo das informações de índice de MPM pode ser igual a 4.
[035]Ainda outra modalidade exemplificadora da presente revelação proporciona um aparelho de codificação que realiza codificação de imagem. O aparelho de codificação inclui um preditor que deriva um modo de intrapredição para um bloco atual, e um codificador de entropia que gera informações de sinalizador de modo mais provável (MPM) que representa se deriva o modo de intrapredição para o bloco atual com base em candidatos de modo mais provável (MPM) para o bloco atual, gera informações de sinalizador planar, com base no MPM que representa que as informações de sinalizador de MPM são relacionadas às informações de sinalizador planar que representam se determina o modo de intrapredição para o bloco atual como um modo planar, e codifica informações de imagem incluindo pelo menos dentre as informações de sinalizador de MPM ou as informações de sinalizador planar.
[036]Em uma modalidade exemplificadora, com base no caso onde o modo de intrapredição para o bloco atual é derivado como o modo planar, as informações de sinalizador planar podem representar que o modo de intrapredição para o bloco atual é derivado como o modo planar.
[037]Em uma modalidade exemplificadora, as informações de intrapredição podem incluir, ainda, informações de índice de MPM relacionadas a um dos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. O aparelho de codificação pode gerar as informações de índice de MPM, com base em um caso onde o modo de intrapredição para o bloco atual não é derivado como o modo planar.
[038]Em uma modalidade exemplificadora, um número total de candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual pode ser igual a 5.
[039]Em uma modalidade exemplificadora, as informações de índice de MPM podem representar um 0-ésimo candidato de MPM, um 1º candidato de MPM, um 2º candidato de MPM, um 3º candidato de MPM ou um 4º candidato de MPM que é incluído nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. Com base em um caso onde um modo de intrapredição de um bloco vizinho esquerdo do bloco atual e um modo de intrapredição de um bloco vizinho superior do bloco atual são iguais e o modo de intrapredição do bloco vizinho esquerdo é maior que um modo DC intra, um modo de intrapredição para o 0-ésimo candidato de MPM pode ser o modo de intrapredição do bloco vizinho esquerdo do bloco atual, um modo de intrapredição para o 1º candidato de MPM pode ser 2+((o modo de intrapredição do bloco vizinho esquerdo do bloco atual+61)%64), e um modo de intrapredição para o 2º candidato de MPM pode ser 2+((o modo de intrapredição do bloco vizinho esquerdo do bloco atual-1)%64).
[040]Em uma modalidade exemplificadora, as informações de índice de MPM podem representar um 0-ésimo candidato de MPM, um 1º candidato de MPM, um 2º candidato de MPM, um 3º candidato de MPM ou um 4º candidato de MPM que é incluído nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. Com base em um caso onde um modo de intrapredição de um bloco vizinho esquerdo do bloco atual e um modo de intrapredição de um bloco vizinho superior do bloco atual não são iguais, o modo de intrapredição do bloco vizinho esquerdo é menor ou igual a um modo DC intra, e o modo de intrapredição do bloco vizinho superior é menor ou igual ao modo DC intra, o modo de intrapredição para o 0-ésimo candidato de MPM pode ser o modo DC intra, o modo de intrapredição para o 1º candidato de MPM pode ser um 50º modo de intrapredição, o modo de intrapredição para o 2º candidato de MPM pode ser um 18º modo de intrapredição, o modo de intrapredição para o 3º candidato de MPM pode ser um 46º modo de intrapredição, e o modo de intrapredição para o 4º candidato de MPM pode ser um 54º modo de intrapredição.
[041]Em uma modalidade exemplificadora, as informações de índice de MPM podem se basear em um processo de binarização de Rice truncado (TR), e cMax que representa um valor máximo das informações de índice de MPM pode ser igual a 4.
[042]Ainda outra modalidade exemplificadora da presente revelação proporciona uma mídia de armazenamento legível por decodificador que armazena informações sobre instruções que fazem com que um aparelho de decodificação de vídeo realize métodos de decodificação de acordo com algumas modalidade exemplificadoras.
[043]Uma modalidade exemplificadora adicional da presente revelação proporciona uma mídia de armazenamento legível por computador que inclui informações codificadas que fazem com que um aparelho de decodificação realize um método de decodificação de imagem. O método de decodificação de imagem inclui receber informações de intrapredição incluindo pelo menos dentre informações de sinalizador de modo mais provável (MPM) que representa se deriva um modo de intrapredição para um bloco atual com base em candidatos de modo mais provável (MPM) para o bloco atual ou informações de sinalizador planar que representam se determina o modo de intrapredição para o bloco atual como um modo planar, derivar o modo de intrapredição para o bloco atual com base nas informações de sinalizador de MPM e nas informações de sinalizador planar, derivar um bloco predito para o bloco atual com base no modo de intrapredição para o bloco atual, e gerar uma figuração reconstruída com base no bloco predito, e com base nas informações de sinalizador de MPM que representam que o modo de intrapredição para o bloco atual é derivado com base nos candidatos de MPM, as informações de sinalizador planar são incluídas nas informações de intrapredição.
[044]Em uma modalidade exemplificadora, as informações de intrapredição podem incluir, ainda, informações de índice de MPM relacionadas a um dos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. Com base nas informações de sinalizador planar que representam que o modo de intrapredição para o bloco atual não é derivado como o modo planar, as informações de índice de MPM podem ser incluídas nas informações de intrapredição, e o modo de intrapredição para o bloco atual pode ser derivado com base nas informações de índice de MPM.
[045]Em uma modalidade exemplificadora, um número total de candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual pode ser igual a 5.
[046]Em uma modalidade exemplificadora, as informações de índice de MPM podem representar um 0-ésimo candidato de MPM, um 1º candidato de MPM, um 2º candidato de MPM, um 3º candidato de MPM ou um 4º candidato de MPM que é incluído nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. Com base em um caso onde um modo de intrapredição de um bloco vizinho esquerdo do bloco atual e um modo de intrapredição de um bloco vizinho superior do bloco atual são iguais e o modo de intrapredição do bloco vizinho esquerdo é maior que um modo DC intra, um modo de intrapredição para o 0-ésimo candidato de MPM pode ser o modo de intrapredição do bloco vizinho esquerdo do bloco atual, um modo de intrapredição para o 1º candidato de MPM pode ser 2+((o modo de intrapredição do bloco vizinho esquerdo do bloco atual+61)%64), e um modo de intrapredição para o 2º candidato de MPM pode ser 2+((o modo de intrapredição do bloco vizinho esquerdo do bloco atual-1)%64).
[047]Em uma modalidade exemplificadora, as informações de índice de MPM podem representar um 0-ésimo candidato de MPM, um 1º candidato de MPM, um 2º candidato de MPM, um 3º candidato de MPM ou um 4º candidato de MPM que é incluído nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. Com base em um caso onde um modo de intrapredição de um bloco vizinho esquerdo do bloco atual e um modo de intrapredição de um bloco vizinho superior do bloco atual não são iguais, o modo de intrapredição do bloco vizinho esquerdo é menor ou igual a um modo DC intra, e o modo de intrapredição do bloco vizinho superior é menor ou igual ao modo DC intra, o modo de intrapredição para o 0-ésimo candidato de MPM pode ser o modo DC intra, o modo de intrapredição para o 1º candidato de MPM pode ser um 50º modo de intrapredição, o modo de intrapredição para o 2º candidato de MPM pode ser um 18º modo de intrapredição, o modo de intrapredição para o 3º candidato de MPM pode ser um 46º modo de intrapredição, e o modo de intrapredição para o 4º candidato de MPM pode ser um 54º modo de intrapredição.
[048]Em uma modalidade exemplificadora, as informações de índice de MPM podem se basear em um processo de binarização de Rice truncado (TR).
[049]Em uma modalidade exemplificadora, cMax que representa um valor máximo das informações de índice de MPM pode ser igual a 4.
[050]De acordo com a presente revelação, é possível melhorar a eficiência geral de compactação de imagem/vídeo.
[051]De acordo com a presente revelação, é possível melhorar a eficiência de intrapredição.
[052]De acordo com a presente revelação, é possível realizar eficientemente intrapredição com base em uma lista de MPM.
[053]De acordo com a presente revelação, é possível melhorar a eficiência de codificação de imagem com base em intrapredição usando uma lista de MPM para um bloco atual.
[054]De acordo com a presente revelação, é possível melhorar a eficiência de intrapredição com base em uma lista de MPM com base nas informações de sinalizador planar que representam se determina um modo de intrapredição para um bloco atual como um modo planar.
[055]De acordo com a presente revelação, é possível configurar eficientemente uma lista de MPM para um bloco atual.
[056]De acordo com a presente revelação, é possível codificar eficientemente um índice de MPM.
BREVE DESCRIÇÃO DOS DESENHOS
[057]A Figura 1 representa, de modo esquemático, um exemplo de um sistema de codificação de vídeo/imagem ao qual a presente revelação pode ser aplicada.
[058]A Figura 2 é um diagrama que ilustra, de modo esquemático, uma configuração de um aparelho de codificação de vídeo/imagem ao qual a presente revelação pode ser aplicada.
[059]A Figura 3 é um diagrama que ilustra, de modo esquemático, uma configuração de um aparelho de decodificação de vídeo/imagem ao qual a presente revelação pode ser aplicada.
[060]As Figuras 4A e 4B são diagramas que ilustram um exemplo de um método de codificação de imagem realizado por um aparelho de codificação de acordo com uma modalidade exemplificadora e um exemplo de um método de decodificação de imagem realizado por um aparelho de decodificação de acordo com uma modalidade exemplificadora.
[061]A Figura 5 é um fluxograma que ilustra um método de intrapredição de acordo com uma modalidade exemplificadora.
[062]A Figura 6 é um diagrama que ilustra um exemplo de modos de intrapredição direcional.
[063]A Figura 7 é um diagrama para explicar uma configuração de uma lista de MPM de acordo com uma modalidade exemplificadora.
[064]A Figura 8 é um diagrama para explicar uma configuração de uma lista de MPM de acordo com outra modalidade exemplificadora.
[065]A Figura 9 é um fluxograma que ilustra um método de predição de MPM de acordo com uma modalidade exemplificadora.
[066]A Figura 10 é um fluxograma que ilustra um método de predição de MPM de acordo com outra modalidade exemplificadora.
[067]A Figura 11 é um fluxograma que ilustra uma operação do aparelho de codificação de acordo com uma modalidade exemplificadora.
[068]A Figura 12 é um diagrama de blocos que ilustra uma configuração do aparelho de codificação de acordo com uma modalidade exemplificadora.
[069]A Figura 13 é um fluxograma que ilustra uma operação do aparelho de decodificação de acordo com uma modalidade exemplificadora.
[070]A Figura 14 é um diagrama de blocos que ilustra uma configuração do aparelho de decodificação de acordo com uma modalidade exemplificadora.
[071]A Figura 15 é um diagrama que ilustra um exemplo de um sistema de streaming de conteúdos ao qual a revelação do presente documento pode ser aplicada.
DESCRIÇÃO DAS MODALIDADES EXEMPLIFICADORAS
[072]Muito embora a presente revelação possa ser suscetível a várias modificações e incluir várias modalidades, modalidades específicas da mesma foram mostradas nos desenhos a título de exemplo e agora serão descritas em detalhes. No entanto, não se pretende limitar a presente revelação às modalidades especificas reveladas no presente documento. A terminologia usada no presente documento serve apenas para o propósito de descrever modalidades específicas, e não é usada com a intenção de limitar a ideia técnica da presente revelação. As formas singulares podem incluir as formas no plural exceto onde o contexto indicar claramente em contrário. Termos como “compreender”, “incluir”, e similares, são destinados a indicar que existem recursos, números, etapas, operações, elementos, componentes, ou combinações dos mesmos escritos na descrição a seguir, e, logo, não deve ser entendido que a possibilidade de existência ou adição de um ou mais diferentes recursos, números, etapas, operações, elementos, componentes ou combinações dos mesmos é excluída antecipadamente.
[073]Entretanto, respectivas configurações nos desenhos descritos na presente revelação são descritas independentemente por motivos de conveniência de descrição quanto às funções características diferentes entre si, mas não significa que as configurações são incorporadas por hardware ou software separados. Por exemplo, duas ou mais configurações podem ser combinadas para formar uma única configuração, e uma configuração pode ser dividida em várias configurações. A modalidade tendo cada componente formado pela integração e/ou pela divisão se enquadra no escopo do direito de patente da presente revelação desde que não divirja da essência da presente revelação.
[074]Doravante, as modalidades preferenciais da presente revelação serão explicadas em maiores detalhes, referindo-se aos desenhos anexos. Doravante, as mesmas referências numéricas são usadas para os mesmos componentes nos desenhos, e descrições repetidas para os mesmos componentes podem ser omitidas.
[075]A Figura 1 ilustra um exemplo de um sistema de codificação de vídeo/imagem ao qual a presente revelação pode ser aplicada.
[076]Referindo-se à Figura 1, um sistema de codificação de vídeo/imagem pode incluir um primeiro aparelho (dispositivo de origem) e um segundo aparelho (dispositivo de recepção). O dispositivo de origem pode transmitir informações ou dados de vídeo/imagem codificados ao dispositivo de recepção através de uma mídia de armazenamento digital ou rede sob a forma de um arquivo ou streaming.
[077]O dispositivo de origem pode incluir uma fonte de vídeo, um aparelho de codificação e um transmissor. O dispositivo de recepção pode incluir um receptor, um aparelho de decodificação e um renderizador. O aparelho de codificação pode ser chamado de um aparelho de codificação de vídeo/imagem, e o aparelho de decodificação pode ser chamado de um aparelho de decodificação de vídeo/imagem. O transmissor pode estar incluído no aparelho de codificação. O receptor pode estar incluído no aparelho de decodificação. O renderizador pode incluir uma tela, e a tela pode ser configurada como um dispositivo separado ou um componente externo.
[078]A fonte de vídeo pode adquirir vídeo/imagem através de um processo para capturar, sintetizar ou gerar o vídeo/imagem. A fonte de vídeo pode incluir um dispositivo de captura de vídeo/imagem e/ou um dispositivo de geração de vídeo/imagem. O dispositivo de captura de vídeo/imagem pode incluir, por exemplo, uma ou mais câmeras, arquivos de vídeo/imagem incluindo vídeo/imagens anteriormente capturados, e similares. O dispositivo de geração de vídeo/imagem pode incluir, por exemplo, computadores, tablets e smartphones, e pode gerar (eletronicamente) vídeo/imagens. Por exemplo, um vídeo/imagem virtual pode ser gerado através de um computador ou similares. Nesse caso, o processo de captura de vídeo/imagem pode ser substituído por um processo para gerar dados relacionados.
[079]O aparelho de codificação pode codificar vídeo/imagem de entrada. O aparelho de codificação pode executar uma série de procedimentos como predição, transformada e quantização para eficiência de compactação e codificação. Os dados codificados (informações de vídeo/imagem codificadas) podem ser emitidos sob a forma de um fluxo de bits.
[080]O transmissor pode transmitir as informações ou dados de imagem/imagem codificados sob a forma de um fluxo de bits ao receptor do dispositivo de recepção através de uma mídia de armazenamento digital ou uma rede sob a forma de um arquivo ou streaming. A mídia de armazenamento digital pode incluir várias mídias de armazenamento como USB, SD, CD, DVD, Blu-ray, HDD, SSD, e similares. O transmissor pode incluir um elemento para gerar um arquivo de mídia através de um formato de arquivo predeterminado e pode incluir um elemento para transmissão através de uma rede de difusão/comunicação. O receptor pode receber/extrair o fluxo de bits e transmitir o fluxo de bits recebido ao aparelho de decodificação.
[081]O aparelho de decodificação pode decodificar o vídeo/imagem realizando uma série de procedimentos como desquantização, transformada inversa e predição correspondente à operação do aparelho de codificação.
[082]O renderizador pode renderizar o vídeo/imagem decodificado. O vídeo/imagem renderizado pode ser exibido através da tela.
[083]A Figura 2 ilustra uma estrutura de um aparelho de codificação de vídeo/imagem ao qual a presente revelação pode ser aplicada. A seguir, um aparelho de codificação de vídeo pode incluir um aparelho de codificação de imagem.
[084]Referindo-se à Figura 2, o aparelho de codificação 200 inclui um particionador de imagem 210, um preditor 220, um processador residual 230 e um codificador de entropia 240, um somador 250, um filtro 260 e uma memória 270. O preditor 220 pode incluir um interpreditor 221 e um intrapreditor 222. O processador residual 230 pode incluir um transformador 232, um quantizador 233, um dequantizador 234 e um transformador inverso 235. O processador residual 230 pode incluir, ainda, um subtrator 231. O somador 250 pode ser denominado como um reconfigurador ou um gerador de bloco reconstruído. O particionador de imagem 210, o preditor 220, o processador residual 230, o codificador de entropia 240, o somador 250 e o filtro 260 podem ser configurados por ao menos um componente de hardware (por exemplo, um chipset de codificador ou um processador) de acordo com uma modalidade exemplificadora. Além disso, a memória 270 pode incluir uma memória temporária de figuração decodificada (DPB) ou pode ser configurada por uma mídia de armazenamento digital. O componente de hardware pode incluir, ainda, a memória 270 como um componente interno/externo.
[085]O particionador de imagem 210 pode particionar uma imagem de entrada (ou uma figuração ou um quadro) inserida no aparelho de codificação 200 em um ou mais processadores. Por exemplo, o processador pode ser chamado de uma unidade de codificação (CU). Nesse caso, a unidade de codificação pode ser recursivamente particionada de acordo com uma estrutura de árvore quaternária, árvore binária, árvore ternária (QTBTTT) de uma unidade de árvore de codificação (CTU) ou uma grande unidade de codificação (LCU). Por exemplo, uma unidade de codificação pode ser particionada em uma pluralidade de unidades de codificação de uma profundidade maior com base em uma estrutura de árvore quaternária, uma estrutura de árvore binária e/ou uma estrutura ternária. Nesse caso, por exemplo, a estrutura de árvore quaternária pode ser aplicada primeiro e a estrutura de árvore binária e/ou estrutura ternária pode ser aplicada posteriormente. Alternativamente, a estrutura de árvore binária pode ser aplicada primeiro. O procedimento de codificação de acordo com a presente revelação pode ser realizado com base na unidade de codificação final que não é mais particionada. Nesse caso, a grande unidade de codificação pode ser usada como a unidade de codificação final com base na eficiência de codificação de acordo com características de imagem, ou se necessário, a unidade de codificação pode ser recursivamente particionada em unidades de codificação de maior profundidade e uma unidade de codificação que tem um tamanho ideal pode ser usada como a unidade de codificação final. No presente documento, o procedimento de codificação pode incluir um procedimento de predição, transformada, e reconstruído, que serão descritos mais adiante. Como outro exemplo, o processador pode incluir, ainda, um preditor (PU) ou uma unidade de transformada (TU). Nesse caso, o preditor e a unidade de transformada podem ser divididos ou particionados da unidade de codificação final supramencionada. O preditor pode ser uma unidade de predição de amostra, e a unidade de transformada pode ser uma unidade para derivar um coeficiente de transformada e/ou uma unidade para derivar um sinal residual a partir do coeficiente de transformada.
[086]A unidade pode ser usada de forma intercambiável com termos como bloco ou área em alguns casos. Em um caso geral, um bloco M×N pode representar um conjunto de amostras de coeficientes de transformada composto de M colunas e N linhas. Uma amostra pode, em geral, representar um pixel ou um valor de um pixel, pode representar apenas um pixel/valor de pixel de um componente luma ou representar apenas um pixel/valor de pixel de um componente croma. Uma amostra pode ser usada como um termo correspondente a uma figuração (ou imagem) para um pixel ou um pel.
[087]No aparelho de codificação 200, um sinal de predição (bloco previsto, matriz de amostra de predição) emitido do interpreditor 221 ou o intrapreditor 222 é subtraído de um sinal de imagem de entrada (bloco original, matriz de amostra original) para gerar um bloco residual de sinal residual, matriz de amostra residual), e o sinal residual gerado é transmitido ao transformador 232. Nesse caso, conforme mostrado, uma unidade para subtrair um sinal de predição (bloco previsto, matriz de amostra de predição) a partir do sinal de imagem de entrada (bloco original, matriz de amostra original) no codificador 200 pode ser chamada de um subtrator 231. O preditor pode realizar a predição e um bloco que será processado (mais adiante neste documento, chamado de um bloco atual) e gerar um bloco previsto incluindo amostras de predição para o bloco atual. O preditor pode determinar se a intrapredição ou interpredição é aplicada em um bloco atual ou base de CU. Conforme descrito posteriormente na descrição de cada modo de predição, o preditor pode gerar várias informações relacionadas à predição, como informações de modo de predição, e transmitir as informações geradas ao codificador de entropia 240. As informações na predição podem ser codificadas no codificador de entropia 240 e emitidas sob a forma de um fluxo de bits.
[088]O intrapreditor 222 pode prever o bloco atual referindo-se às amostras na figuração atual. As amostras referidas podem estar situadas na vizinhança do bloco atual ou podem estar situadas separadas de acordo com o modo de predição. Na intrapredição, os modos de predição podem incluir uma pluralidade de modos não direcionais e uma pluralidade de modos direcionais. O modo não direcional pode incluir, por exemplo, um modo DC e um modo plano. O modo direcional pode incluir, por exemplo, 33 modos de predição direcionais ou 65 modos de predição direcionais de acordo com o grau de detalhes da direção de predição. Entretanto, esse é meramente um exemplo, mais ou menos modos de predição direcionais podem ser usados dependendo de uma configuração. O intrapreditor 222 pode determinar o modo de predição aplicado ao bloco atual usando um modo de predição aplicado a um bloco vizinho.
[089]O interpreditor 221 pode derivar um bloco previsto para o bloco atual com base em um bloco de referência (matriz de amostra de referência) especificado por um vetor de movimento em uma figuração de referência. No presente documento, para reduzir a quantidade de informações de movimento transmitidas no modo de interpredição, as informações de movimento podem ser previstas em unidades de blocos, sub-blocos, ou amostras com base na correlação de informações de movimento entre o bloco vizinho e o bloco atual. As informações de movimento podem incluir um vetor de movimento e um índice de figuração de referência. As informações de movimento podem incluir adicionalmente as informações de direção de interpredição (predição L0, predição L1, predição Bi, etc.). No caso de interpredição, o bloco vizinho pode incluir um bloco vizinho espacial presente na figuração atual e um bloco vizinho temporal presente na figuração de referência. A figuração de referência incluindo o bloco de referência e a figuração de referência incluindo o bloco vizinho temporal podem ser iguais ou diferentes. O bloco vizinho temporal pode ser chamado de um bloco de referência colocalizado, uma CU colocalizada (colCU), e similares, e a figuração de referência incluindo o bloco vizinho temporal pode ser chamada de uma figuração colocalizada (colPic). Por exemplo, o interpreditor 221 pode configurar uma lista de candidatos de informações de movimento com base em blocos vizinhos e gerar informações indicando qual candidato é usado para derivar um vetor de movimento e/ou um índice de figuração de referência do bloco atual. A interpredição pode ser realizada com base em vários modos de predição. Por exemplo, no caso de um modo de salto e um modo de mesclagem, o interpreditor 221 pode usar informações de movimento do bloco vizinho como informações de movimento do bloco atual. No modo de salto, ao contrário do modo de mesclagem, o sinal residual não pode ser transmitido. No caso do modo de vetor de movimento predição (MVP), o vetor de movimento do bloco vizinho pode ser usado como um preditor de vetor de movimento e o vetor de movimento do bloco atual pode ser indicado pela sinalizador de uma diferença de vetor de movimento.
[090]O preditor 220 pode gerar um sinal de predição com base em vários métodos de predição descritos abaixo. Por exemplo, o preditor pode não só aplicar intrapredição ou interpredição para prever um bloco, como também aplicar simultaneamente tanto intrapredição como interpredição. Isto pode ser chamado de interpredição e intra combinada (CIIP). Além disso, o preditor pode ser baseado em um modo de predição de cópia de bloco intra (IBC) ou modo de paleta para a predição de um bloco. O modo de predição de IBC ou modo de paleta pode ser usado para codificação de imagem/vídeo de conteúdo de um jogo ou similares, por exemplo, codificação de conteúdo de tela (SCC). A IBC basicamente realiza a predição na figuração atual, porém pode ser realizada de modo similar à interpredição pelo fato de que um bloco de referência é derivado na figuração atual. Ou seja, a IBC pode usar pelo menos uma das técnicas de interpredição descritas neste documento. O modo de paleta pode ser considerado como um exemplo de intracodificação ou intrapredição. Quando o modo de paleta é aplicado, um valor de amostra dentro de uma figuração pode ser sinalizado com base nas informações na tabela de paleta e no índice de paleta.
[091]O sinal de predição gerado pelo preditor (incluindo o interpreditor 221 e/ou o intrapreditor 222) pode ser usado para gerar um sinal reconstruído ou para gerar um sinal residual. O transformador 232 pode gerar coeficientes de transformada pela aplicação de uma técnica de transformada ao sinal residual. Por exemplo, o técnica de transformada pode incluir pelo menos uma dentre uma transformada de cosseno discreta (DCT), uma transformada de seno discreta (DST), uma transformada de Karhunen–Loève (KLT), uma transformada baseada em gráfico (GBT), ou uma transformada condicionalmente não linear (CNT). No presente documento, a GBT significa transformada obtida a partir de um gráfico quando as informações de relação entre os pixels são representadas pelo gráfico. A CNT se refere à transformada gerada com base em um sinal de predição gerado usando todos os pixels anteriormente reconstruídos. Além disso, o processo de transformação pode ser aplicado a blocos de pixels quadrados com o mesmo tamanho ou pode ser aplicado a blocos com tamanho variável em vez de quadrados.
[092]O quantizador 233 pode quantizar os coeficientes de transformada e transmitir os mesmos ao codificador de entropia 240 e o codificador de entropia 240 pode codificar o sinal quantizado (informações sobre os coeficientes de transformada quantizados) e emitir um fluxo de bits. As informações sobre os coeficientes de transformada quantizados podem ser chamadas de informações residuais. O quantizador 233 pode rearranjar os coeficientes de transformada quantizados tipo bloco em uma forma de vetor unidimensional com base em uma ordem de varredura de coeficiente e gerar informações sobre os coeficientes de transformada quantizados com base nos coeficientes de transformada quantizados na forma de vetor unidimensional. Informações sobre os coeficientes de transformada podem ser geradas.
O codificador de entropia 240 pode realizar vários métodos de codificação como, por exemplo, Golomb exponencial, codificação de comprimento variável adaptável ao contexto (CAVLC), codificação aritmética binária adaptável ao contexto (CABAC) e similares.
O codificador de entropia 240 pode codificar informações necessárias para reconstrução de vídeo/imagem além dos coeficientes de transformada quantizada (por exemplo, valores de elementos de sintaxe, etc.) juntos ou separadamente.
Informações codificadas (por exemplo, informações de vídeo/imagem codificadas) podem ser transmitidas ou armazenadas em unidades de NALs (camada de abstração de rede) sob a forma de um fluxo de bits.
As informações de vídeo/imagem podem incluir adicionalmente informações sobre vários conjuntos de parâmetros como um conjunto de parâmetros de adaptação (APS), um conjunto de parâmetros de figuração (PPS), um conjunto de parâmetros de sequência (SPS) ou um conjunto de parâmetros de vídeo (VPS). Além disso, as informações de vídeo/imagem podem incluir adicionalmente informações de restrição.
Nesse documento, as informações e/ou elementos de sintaxe transmitidas/sinalizadas do aparelho de codificação ao aparelho de decodificação podem estar incluídas nas informações de vídeo/figuração.
As informações de vídeo/imagem podem ser codificadas através do procedimento de codificação descrito acima e incluídas no fluxo de bits.
O fluxo de bits pode ser transmitido através de uma rede ou pode ser armazenado em uma mídia de armazenamento digital.
A rede pode incluir uma rede de difusão e/ou uma rede de comunicação, e a mídia de armazenamento digital pode incluir várias mídias de armazenamento como USB, SD, CD, DVD, Blu-ray, HDD, SSD, e similares.
Um transmissor (não mostrado) que transmite um sinal emitido do codificador de entropia 240 e/ou uma unidade de armazenamento (não mostrada) que armazena o sinal pode estar incluído como elemento interno/externo do aparelho de codificação 200, e alternativamente, o transmissor pode estar incluído no codificador de entropia 240.
[093]Os coeficientes de transformada quantizados emitidos do quantizador 233 podem ser usados para gerar um sinal de predição. Por exemplo, o sinal residual (bloco residual ou amostras residuais) pode ser reconstruído pela aplicação de desquantização e transformada inversa aos coeficientes de transformada quantizados através do desquantizador 234 e do transformador inverso 235. O somador 250 soma o sinal residual reconstruído ao sinal de predição emitido do interpreditor 221 ou do intrapreditor 222 para gerar um sinal reconstruído (figuração reconstruída, bloco reconstruído, matriz de amostra reconstruída). Se não houver resíduo para o bloco que será processado, como um caso em que o modo de salto é aplicado, o bloco previsto pode ser usado como o bloco reconstruído. O somador 250 pode ser denominado como um reconfigurador ou um gerador de bloco reconstruído. O sinal reconstruído gerado pode ser usado para intrapredição de um próximo bloco que será processado na figuração atual e pode ser usado para interpredição de uma próxima figuração através de filtragem, conforme descrito a seguir.
[094]Entretanto, um mapeamento de luma com escalonamento de croma (LMCS) pode ser aplicado durante codificação e/ou reconstrução de figuração.
[095]O filtro 260 pode aprimorar a qualidade de imagem subjetiva/objetiva pela aplicação de filtragem ao sinal reconstruído. Por exemplo, o filtro 260 pode gerar uma figuração reconstruída modificada pela aplicação de vários métodos de filtragem à figuração reconstruída e armazenar a figuração reconstruída modificada na memória 270, especificamente, um DPB da memória 270. Os vários métodos de filtragem podem incluir, por exemplo, filtragem de deblocagem, um deslocamento adaptável à amostra, um filtro de loop adaptável, um filtro bilateral, e similares. O filtro 260 pode gerar várias informações relacionadas à filtragem e transmitir as informações geradas ao codificador de entropia 240 como descrito posteriormente na descrição de cada método de filtragem. As informações relacionadas à filtragem podem ser codificadas pelo codificador de entropia 240 e emitidas sob a forma de um fluxo de bits.
[096]A figuração reconstruída modificada transmitida à memória 270 pode ser usada como a figuração de referência no interpreditor 221. Quando a interpredição é aplicada através do aparelho de codificação, a incompatibilidade de predição entre o aparelho de codificação 200 e o aparelho de decodificação pode ser evitada e a eficiência de codificação pode ser aprimorada.
[097]O DPB da memória 270 pode armazenar a figuração reconstruída modificada para uso como uma figuração de referência no interpreditor 221. A memória 270 pode armazenar as informações de movimento do bloco a partir do qual as informações de movimento na figuração atual são derivadas (ou codificadas) e/ou as informações de movimento dos blocos na figuração que já foram reconstruídas. As informações de movimento armazenadas podem ser transmitidas ao interpreditor 221 e usadas como as informações de movimento do bloco vizinho espacial ou as informações de movimento do bloco vizinho temporal. A memória 270 pode armazenar as amostras reconstruídas de blocos reconstruídos na figuração atual e pode transferir as amostras reconstruídas para o intrapreditor 222.
[098]A Figura 3 ilustra uma estrutura de um aparelho de decodificação de vídeo/imagem ao qual a presente revelação pode ser aplicada.
[099]Referindo-se à Figura 3, o aparelho de decodificação 300 pode incluir um decodificador de entropia 310, um processador residual 320, um preditor 330, um somador 340, um filtro 350, uma memória 360. O preditor 330 pode incluir um interpreditor 331 e um intrapreditor 332. O processador residual 320 pode incluir um desquantizador 321 e um transformador inverso 321. O decodificador de entropia 310, o processador residual 320, o preditor 330, o somador 340 e o filtro 350 podem ser configurados por um componente de hardware (por exemplo, um chipset de decodificador ou um processador) de acordo com uma modalidade exemplificadora. Além disso, a memória 360 pode incluir uma memória temporária de figuração decodificada (DPB) ou pode ser configurada por uma mídia armazenamento digital. O componente de hardware pode incluir adicionalmente a memória 360 como um componente interno/externo.
[0100]Quando um fluxo de bits que inclui informações de vídeo/imagem for inserido, o aparelho de decodificação 300 pode reconfigurar uma imagem correspondente a um processo no qual as informações de vídeo/imagem são processadas no aparelho de codificação da Figura 2. Por exemplo, o aparelho de decodificação 300 pode derivar unidades/blocos com base nas informações relacionadas à partição de bloco obtidas do fluxo de bits. O aparelho de decodificação 300 pode realizar a decodificação usando um processador aplicado no aparelho de codificação. Dessa forma, o processador de decodificação pode ser uma unidade de codificação, por exemplo, e a unidade de codificação pode ser particionada de acordo com uma estrutura de árvore quaternária, estrutura de árvore binária e/ou estrutura de árvore ternária da unidade de árvore de codificação ou da grande unidade de codificação. Uma ou mais unidades de transformada podem ser derivadas da unidade de codificação. O sinal de imagem reconstruída decodificado e emitido através do aparelho de decodificação 300 pode ser reproduzido através de um aparelho de reprodução
[0101]O aparelho de decodificação 300 pode receber um sinal emitido a partir do aparelho de codificação da Figura 2 sob a forma de um fluxo de bits, e o sinal recebido pode ser decodificado através do decodificador de entropia 310. Por exemplo, o decodificador de entropia 310 pode analisar o fluxo de bits para derivar informações (por exemplo, informações de vídeo/imagem) necessárias para imagem reconstruída (ou figuração reconstruída). As informações de vídeo/imagem podem incluir adicionalmente informações sobre vários conjuntos de parâmetros como um conjunto de parâmetros de adaptação (APS), um conjunto de parâmetros de figuração (PPS), um conjunto de parâmetros de sequência (SPS) ou um conjunto de parâmetros de vídeo (VPS). Além disso, as informações de vídeo/imagem podem incluir adicionalmente informações de restrição.
O aparelho de decodificação pode decodificar adicionalmente a figuração com base nas informações no conjunto de parâmetros e/ou nas informações de restrição gerais.
As informações sinalizadas/recebidas e/ou elementos de sintaxe descritos posteriormente neste documento podem ser decodificadas para decodificar o procedimento de decodificação e obtidas do fluxo de bits.
Por exemplo, o decodificador de entropia 310 decodifica as informações no fluxo de bits com base em um método de codificação tal como uma codificação de Golomb exponencial, CAVLC, ou CABAC, e elementos de sintaxe de saída necessários para imagem reconstruída e valores quantizados de coeficientes de transformada para residual.
De modo mais específico, o método de decodificação de entropia CABAC pode receber um bin correspondente a cada elemento de sintaxe no fluxo de bits, determinar um modelo de contexto usando informações de elemento de sintaxe de destino de decodificação de um bloco de destino de decodificação ou informações de um símbolo/bin decodificado em um estágio anterior, e realizar uma decodificação aritmética no bin prevendo-se uma probabilidade de ocorrência de um bin de acordo com o modelo de contexto determinado, e gerar um símbolo correspondente ao valor de cada elemento de sintaxe.
Nesse caso, o método de decodificação de entropia CABAC pode atualizar o modelo de contexto usando as informações do símbolo/bin decodificado para um modelo de contexto de um próximo símbolo/bin após determinar o modelo de contexto.
As informações relacionadas à predição entre as informações decodificadas pelo decodificador de entropia 310 podem ser fornecidas ao preditor (o interpreditor 332 e o intrapreditor 331), e o valor residual em que a decodificação de entropia foi realizada no decodificador de entropia 310, ou seja, os coeficientes de transformada quantizados e informações de parâmetro relacionadas, pode ser inserido no processador residual 320. O processador residual 320 pode derivar o sinal residual (o bloco residual, as amostras residuais, a matriz de amostra residual). Além disso, as informações sobre filtragem entre as informações decodificadas pelo decodificador de entropia 310 podem ser fornecidas ao filtro 350. Entretanto, um receptor (não mostrado) para receber um sinal emitido do aparelho de codificação pode ser adicionalmente configurado como um elemento interno/externo do aparelho de decodificação 300, ou o receptor pode ser um componente do decodificador de entropia 310. Entretanto, o aparelho de decodificação de acordo com esse documento pode ser chamado de um aparelho de decodificação de vídeo/imagem/figuração, e o aparelho de decodificação pode ser classificado em um decodificador de informações (decodificador de informações de vídeo/imagem/figuração) e um decodificador de amostra (decodificador de amostra de vídeo/imagem/figuração). O decodificador de informações pode incluir o decodificador de entropia 310, e o decodificador de amostra pode incluir pelo menos um dentre o desquantizador 321, o transformador inverso 322, o somador 340, o filtro 350, a memória 360, o interpreditor 332 e o intrapreditor 331.
[0102]O desquantizador 321 pode desquantizar os coeficientes de transformada quantizados e emitir os coeficientes de transformada. O desquantizador 321 pode rearranjar os coeficientes de transformada quantizados sob a forma de uma forma de bloco bidimensional. Nesse caso, o rearranjo pode ser realizado com base na ordem de varredura de coeficiente realizada no aparelho de codificação. O dequantizador 321 pode realizar uma desquantização nos coeficientes de transformada quantizados utilizando-se um parâmetro de quantização (por exemplo, informações de tamanho de etapa de quantização) e obter coeficientes de transformada.
[0103]O transformador inverso 322 transforma inversamente os coeficientes de transformada para obter um sinal residual (bloco residual, matriz de amostra residual).
[0104]O preditor pode realizar a predição no bloco atual e gerar um bloco previsto incluindo amostras de predição para o bloco atual. O preditor pode determinar se a intrapredição ou interpredição é aplicada ao bloco atual com base nas informações na predição emitida do decodificador de entropia 310 e pode determinar um modo de intrapredição/inter específico.
[0105]O preditor 320 pode gerar um sinal de predição com base em vários métodos de predição descritos abaixo. Por exemplo, o preditor pode não só aplicar intrapredição ou interpredição para prever um bloco, como também aplicar simultaneamente intrapredição e interpredição. Isto pode ser chamado de interpredição e intra combinada (CIIP). Além disso, o preditor pode ser baseado em um modo de predição de cópia de bloco intra (IBC) ou modo de paleta para a predição de um bloco. O modo de predição de IBC ou modo de paleta pode ser usado para codificação de imagem/vídeo de conteúdo de um jogo ou similares, por exemplo, codificação de conteúdo de tela (SCC). A IBC basicamente realiza a predição na figuração atual, porém pode ser realizada de modo similar à interpredição pelo fato de que um bloco de referência é derivado na figuração atual. Ou seja, a IBC pode usar pelo menos uma das técnicas de interpredição descritas neste documento. O modo de paleta pode ser considerado como um exemplo de intracodificação ou intrapredição. Quando o modo de paleta é aplicado, um valor de amostra dentro de uma figuração pode ser sinalizado com base nas informações na tabela de paleta e no índice de paleta.
[0106]O intrapreditor 331 pode prever o bloco atual referindo-se às amostras na figuração atual. As amostras referidas podem estar situadas na vizinhança do bloco atual ou podem estar situadas separadas de acordo com o modo de predição. Na intrapredição, os modos de predição podem incluir uma pluralidade de modos não direcionais e uma pluralidade de modos direcionais. O intrapreditor 331 pode determinar o modo de predição aplicado ao bloco atual usando um modo de predição aplicado a um bloco vizinho.
[0107]O interpreditor 332 pode derivar um bloco previsto para o bloco atual com base em um bloco de referência (matriz de amostra de referência) especificado por um vetor de movimento em uma figuração de referência. Nesse caso, para reduzir a quantidade de informações de movimento transmitidas no modo de interpredição, as informações de movimento podem ser previstas em unidades de blocos, sub- blocos, ou amostras com base na correlação de informações de movimento entre o bloco vizinho e o bloco atual. As informações de movimento podem incluir um vetor de movimento e um índice de figuração de referência. As informações de movimento podem incluir adicionalmente as informações de direção de interpredição (predição L0, predição L1, predição Bi, etc.). No caso de interpredição, o bloco vizinho pode incluir um bloco vizinho espacial presente na figuração atual e um bloco vizinho temporal presente na figuração de referência. Por exemplo, o interpreditor 332 pode configurar uma lista de candidatos de informações de movimento com base nos blocos vizinhos e derivar um vetor de movimento do bloco atual e/ou um índice de figuração de referência com base nas informações de seleção de candidato recebidas. A interpredição pode ser realizada com base em vários modos de predição, e as informações sobre a predição podem incluir informações indicando um modo de interpredição para o bloco atual.
[0108]O somador 340 pode gerar um sinal reconstruído (figuração reconstruída, bloco reconstruído, matriz de amostra reconstruída) pela soma do sinal residual obtido ao sinal de predição (bloco previsto, matriz de amostra prevista) emitido do preditor (incluindo o interpreditor 332 e/ou o intrapreditor 331). Se não houver resíduo para o bloco que será processado, como quando o modo de salto é aplicado, o bloco previsto pode ser usado como o bloco reconstruído.
[0109]O somador 340 pode ser denominado como reconfigurador ou um gerador de bloco reconstruído. O sinal reconstruído gerado pode ser usado para intrapredição de um próximo bloco que será processado na figuração atual, pode ser emitido através da filtragem, conforme descrito a seguir, ou pode ser usado para interpredição de uma próxima figuração.
[0110]No entanto, o mapeamento luma com escalonamento croma (LMCS) pode ser aplicado no processo de decodificação de figuração.
[0111]O filtro 350 pode aprimorar a qualidade de imagem subjetiva/objetiva pela aplicação de filtragem ao sinal reconstruído. Por exemplo, o filtro 350 pode gerar uma figuração reconstruída modificada pela aplicação de vários métodos de filtragem à figuração reconstruída e armazenar a figuração reconstruída modificada na memória 360, especificamente, um DPB da memória 360. Os vários métodos de filtragem podem incluir, por exemplo, filtragem de deblocagem, um deslocamento adaptável à amostra, um filtro de loop adaptável, um filtro bilateral, e similares.
[0112]A figuração reconstruída (modificada) armazenada no DPB da memória 360 pode ser usada como uma figuração de referência no interpreditor 332. A memória 360 pode armazenar as informações de movimento do bloco a partir do qual as informações de movimento na figuração atual são derivadas (ou decodificadas) e/ou as informações de movimento dos blocos na figuração que já foram reconstruídas. As informações de movimento armazenadas podem ser transmitidas ao interpreditor 260 para serem usadas como as informações de movimento do bloco vizinho espacial ou as informações de movimento do bloco vizinho temporal. A memória 360 pode armazenar as amostras reconstruídas de blocos reconstruídos na figuração atual e transferir as amostras reconstruídas para o intrapreditor 331.
[0113]Na presente revelação, as modalidades descritas no filtro 260, o interpreditor 221 e o intrapreditor 222 do aparelho de codificação 200 podem ser iguais ou respectivamente aplicados para corresponderem ao filtro 350, ao interpreditor 332 e ao intrapreditor 331 do aparelho de decodificação 300. O mesmo também pode se aplicar à unidade 332 e ao intrapreditor 331.
[0114]Conforme descrito anteriormente, ao realizar codificação de vídeo, realiza-se uma predição para melhorar a eficácia de compactação. De modo correspondente, um bloco predito incluindo amostras de predição para um bloco atual, que é um bloco a ser codificado, pode ser gerado. No presente documento, o bloco predito inclui amostras de predição em um domínio espacial (ou domínio de pixel). O bloco predito é derivado igualmente a partir de um aparelho de codificação e um aparelho de decodificação, e o aparelho de codificação pode sinalizar informações sobre o residual (informações residuais) entre o bloco original e o bloco predito, ao invés de um valor de amostra original do próprio bloco original ao aparelho de decodificação, melhorando, assim, a eficiência de codificação de imagem. O aparelho de decodificação pode derivar um bloco residual incluindo amostras residuais com base nas informações residuais, gerar um bloco reconstruído incluindo amostras reconstruídas combinando-se o bloco residual e o bloco predito, e gerar uma figuração reconstruída incluindo o bloco reconstruídos.
[0115]As informações residuais podem ser geradas através de um procedimento de transformada e quantização. Por exemplo, o aparelho de codificação pode sinalizar as informações residuais relacionadas (através do fluxo de bits) ao aparelho de decodificação derivando-se o bloco residual entre o bloco original e o bloco predito, derivar coeficientes de transformada realizando-se um procedimento de transformada para amostras residuais (arranjo de amostra residual) incluídas no bloco residual, e derivar coeficientes de transformada quantizados realizando-se um procedimento de quantização para os coeficientes de transformada. No presente documento, as informações residuais podem incluir informações, como informações de valor, informações de localização, uma técnica de transformada, um núcleo de transformada, e parâmetros de quantização, dos coeficientes de transformada quantizados. O aparelho de decodificação pode realizar um procedimento de desquantização/transformada inversa com base nas informações residuais e derivar as amostras residuais (ou blocos residuais). O aparelho de decodificação pode gerar uma figuração reconstruída com base no bloco predito e no bloco residual. O aparelho de codificação também pode derivar o bloco residual por desquantização/transformada inversa dos coeficientes de transformada quantizados para referência para interpredição de uma próxima figuração, e gerar a figuração reconstruída com base no bloco residual derivado.
[0116]As Figuras 4A e 4B são diagramas que ilustram um exemplo de um método de codificação de imagem realizado por um aparelho de codificação de acordo com uma modalidade exemplificadora e um exemplo de um método de decodificação de imagem realizado por um aparelho de decodificação de acordo com uma modalidade exemplificadora.
[0117]A Figura 4A ilustra um exemplo de um método de codificação de imagem realizado por um aparelho de codificação de vídeo. Referindo-se à Figura 4A, o método de codificação de imagem pode incluir processos de particionamento de bloco, intra/inter predição, transformada, quantização e codificação por entropia. Por exemplo, a figuração atual pode ser dividida em uma pluralidade de blocos, um bloco predito do bloco atual pode ser gerado através de intra/inter predição, e o bloco residual do bloco atual pode ser gerado subtraindo-se o bloco predito de um bloco de entrada do bloco atual. Posteriormente, um bloco de coeficiente do bloco atual, ou seja, os coeficientes de transformada, podem ser gerados através da transformada para o bloco residual. Os coeficientes de transformada podem ser quantizados e codificados por entropia e armazenados em um fluxo de bits.
[0118]A Figura 4B ilustra um exemplo de um método de decodificação de imagem realizado por um aparelho de decodificação. Referindo-se à Figura 4B, o método de decodificação de imagem pode incluir processos de decodificação por entropia, desquantização, transformada inversa, e intra/inter predição. Por exemplo, o aparelho de decodificação pode realizar um processo inverso para o método de codificação. De modo específico, coeficientes de transformada quantizados podem ser adquiridos através de decodificação por entropia para o fluxo de bits, e o bloco de coeficiente do bloco atual, ou seja, os coeficientes de transformada, pode ser adquirido através de um processo de desquantização para os coeficientes de transformada quantizados. O bloco residual do bloco atual pode ser derivado através de transformada inversa para os coeficientes de transformada, e o bloco reconstruído do bloco atual pode ser derivado adicionando-se o bloco predito do bloco atual derivado através de intra/inter predição e o bloco residual.
[0119]A Figura 5 é um fluxograma que ilustra um método de intrapredição de acordo com uma modalidade exemplificadora.
[0120]Conforme ilustrado na Figura 5, o método de intrapredição de acordo com uma modalidade exemplificadora pode incluir as três etapas a seguir. Ou seja, o método de intrapredição de acordo com uma modalidade exemplificadora pode incluir configurar uma amostra de referência, predizer uma amostra, e realizar uma pós- filtragem. Na predição da amostra, o método de intrapredição de acordo com a modalidade exemplificadora pode usar amostras de referência vizinhas conhecidas e modo de intrapredição para realizar a predição para amostras desconhecidas.
[0121]A Figura 6 é um diagrama que ilustra um exemplo de modos de intrapredição direcional.
[0122]Quando a intrapredição for aplicada ao bloco atual, o aparelho de codificação e/ou o aparelho de decodificação de acordo com uma modalidade exemplificadora podem derivar um modo de intrapredição para o bloco atual, e derivar amostras de predição para o bloco atual com base no modo de intrapredição. Ou seja, o aparelho de codificação e/ou o aparelho de decodificação podem derivar as amostras de predição para o bloco atual aplicando-se um modo de intrapredição direcional ou um modo de intrapredição não direcional com base nas amostras de referência vizinhas do bloco atual.
[0123]Em um exemplo, os modos de intrapredição podem incluir dois modos de intrapredição não direcional (ou não angular) e 65 modos de intrapredição direcional (ou angular). Os modos de intrapredição não direcional podem incluir um 0- ésimo modo de intrapredição planar e um primeiro modo de intrapredição DC, e os modos de intrapredição direcional podem incluir 65 modos de intrapredição que incluem do segundo ao 66º modos de intrapredição. A intrapredição baseada nos 65 modos de intrapredição direcional pode ser aplicada a blocos de todos os tamanhos, e pode ser aplicada ao componente de luma e a um componente de croma. No entanto, isso é apenas ilustrativo, e as configurações dos modos de intrapredição podem ser diferentes.
[0124]Alternativamente, o modo de intrapredição pode incluir dois modos de intrapredição não direcional e 129 modos de intrapredição direcional. Os modos de intrapredição não direcional podem incluir um modo de intrapredição planar e um modo de intrapredição DC, e os modos de intrapredição direcional podem incluir do segundo ao 130º modos de intrapredição.
[0125]Entretanto, o modo de intrapredição pode incluir, ainda, um modo de modelo linear de componente cruzado (CCLM) para a amostras de croma além dos modos de intrapredição supramencionados. O modo de CCLM pode ser classificado em LT_CCLM, L_CCLM e T_CCLM dependendo se considera as amostras esquerdas, considera as amostras superiores, ou considera ambos para derivar parâmetros de LM, e pode ser aplicado apenas ao componente de croma.
[0126]O modo de intrapredição pode ser indexado, por exemplo, conforme expressado na Tabela 1 abaixo. TABELA 1 Modo de intrapredição Nome associado 0 INTRA_PLANAR 1 INTRA_DC
2..66 INTRA_ANGULAR2..INTRA_ANGULAR66
81..83 INTRA_LT_CCLM, INTRA_L_CCLM, INTRA_T_CCLM
[0127]Entretanto, o tipo de intrapredição (ou um modo de intrapredição adicional ou similares) pode incluir pelo menos um dentre LIP, PDPC, MRL e ISP supramencionados. O tipo de intrapredição pode ser indicado com base nas informações de tipo de intrapredição, e as informações de tipo de intrapredição podem ser implementadas de várias formas. Em um exemplo, as informações de tipo de intrapredição podem incluir informações de índice de tipo de intrapredição que indicam um dos tipos de intrapredição. Em outro exemplo, as informações de tipo de intrapredição podem incluir pelo menos uma das informações de linha de amostra de referência (por exemplo, intra_luma_ref_idx) que representam se o MRL é aplicado ao bloco atual e, caso aplicado, qual linha de amostra de referência é usada, informações de sinalizador de ISP (por exemplo, intra_subpartitions_mode_flag) que representam se o ISP é aplicado ao bloco atual, informações de tipo de ISP (por exemplo, intra_subpartitions_split_flag) que indicam que as subpartições indicam o tipo de divisão se o ISP for aplicado, informações de sinalizador que representam se o PDPC é aplicado, e informações de sinalizador que representam se o LIP é aplicado.
[0128]Referindo-se à Figura 6, um modo de intrapredição que tem direcionalidade horizontal e um modo de intrapredição que tem direcionalidade vertical podem ser distinguidos uns dos outros com base no 34º modo de intrapredição que tem uma direção de direção diagonal superior esquerda. H e V na Figura 6 se referem à direcionalidade horizontal e à direcionalidade vertical, respectivamente, e os números -32 a 32 representam os deslocamentos em unidades de 1/32 em uma posição de grade amostral. Do segundo ao 33º modos de intrapredição têm a direcionalidade horizontal, e do 34º ao 66º modos de intrapredição têm a direcionalidade vertical. O 18º modo de intrapredição e o 50º modo de intrapredição representem um modo de intrapredição horizontal e um modo de intrapredição vertical, respectivamente, e o segundo modo de intrapredição pode ser referido como um modo de intrapredição diagonal inferior esquerda, o 34º modo de intrapredição pode ser referido como um modo de intrapredição diagonal superior esquerdo, e o 66º modo de intrapredição pode ser referido como um modo de intrapredição diagonal superior direito.
[0129]Em geral, quando o bloco para a imagem for dividido, o bloco atual a ser codificado e os blocos vizinhos têm características de imagem similares. De modo correspondente, há uma alta probabilidade que o bloco atual e os blocos vizinhos tenham modos de intrapredição iguais ou similares. De modo correspondente, o codificador pode usar o modo de intrapredição do bloco vizinho para codificar o modo de intrapredição do bloco atual.
[0130]Em um exemplo mais específico, o aparelho de decodificação pode derivar a lista de modo mais provável (MPM) com base no modo de intrapredição e modos candidatos adicionais de um bloco vizinho (por exemplo, um bloco vizinho esquerdo e/ou um bloco vizinho superior) do bloco atual, selecionar um dos candidatos de MPM dentro da lista de MPM derivada com base no índice de MPM recebido, ou selecionar um dos modos de intrapredição restantes não incluídos nos candidatos de MPM com base nas informações de modo de intrapredição restante. A lista de MPM também pode ser representada como uma lista de modo de intrapredição candidate, e também pode ser representada como um candModeList.
[0131]O aparelho de codificação (ou codificador) pode confirmar ou derivar um modo de predição de um bloco vizinho se o bloco vizinho for intracodificado. Por exemplo, o modo de predição do bloco atual pode ser determinado com base no modo de predição do bloco vizinho esquerdo e o modo de predição do bloco vizinho superior, e, nesse momento, o modo de predição do bloco vizinho correspondente pode ser determinado como o modo mais provável (MPM). A determinação do MPM também pode ser expressada listando os candidatos de modo mais provável (MPM) (ou lista de MPM).
[0132]O aparelho de codificação pode confirmar se o modo de predição do bloco vizinho esquerdo e o modo de predição do bloco vizinho superior são iguais. Uma lista de MPM inicial pode ser formada realizando-se um processo de poda para os modos de intrapredição dos dois blocos adjacentes.
[0133]Se o modo de predição do bloco vizinho esquerdo e o modo de predição do bloco vizinho superior não forem iguais, o primeiro MPM pode ser definido como o modo de predição do bloco vizinho esquerdo, o segundo MPM pode ser definido como o modo de predição do bloco vizinho superior, e o terceiro MPM pode ser definido como qualquer dentre um modo planar intra, um modo DC intra, ou um modo vertical intra (50º modo de intrapredição). De modo específico, quando os modos de intrapredição dos dois blocos vizinhos forem diferentes entre si, os dois modos de intrapredição podem ser definidos como o MPM, e após a verificação de poda pelos MPMs, um dos modos intra padrão pode ser adicionado à lista de MPM. No presente documento, os modos intra padrão podem incluir um modo planar intra, um modo DC intra e/ou um modo vertical intra (50º modo de intrapredição).
[0134]Em um exemplo, a lista de MPM pode incluir 3 candidatos de MPM, 5 candidatos ou 6 candidatos de MPM. Por exemplo, a lista de MPM pode incluir candidatos que são derivados com base no modo de intrapredição do bloco vizinho, no modo de intrapredição derivado e/ou no modo de intrapredição padrão. O aparelho de codificação/aparelho de decodificação pode buscar pelos blocos vizinhos do bloco atual de acordo com uma ordem específica, e derivar o modo de intrapredição dos blocos vizinhos como os candidatos de MPM na ordem derivada. Por exemplo, os blocos vizinhos podem incluir um bloco vizinho esquerdo, um bloco vizinho superior, um bloco vizinho esquerdo inferior, um bloco vizinho direito superior, e um bloco vizinho esquerdo superior.
[0135]Em um exemplo, a lista de MPM que inclui três candidatos de MPM pode ser configurada, e os três candidatos de MPM podem ser derivados com base nos modos de intrapredição de um bloco vizinho (F) e um bloco vizinho (G). Um método de predição de MPM com base nos blocos vizinhos para o bloco atual incluindo o bloco vizinho (F) e o bloco vizinho (G) pode ser, por exemplo, ilustrado na
Figura 7 abaixo.
[0136]A Figura 7 é um diagrama para explicar uma configuração de uma lista de MPM de acordo com uma modalidade exemplificadora.
[0137]Referindo-se à Figura 7, os blocos vizinhos do bloco atual podem incluir um bloco vizinho (A), um bloco vizinho (B), um bloco vizinho (C), um bloco vizinho (D), um bloco vizinho (E), um bloco vizinho (F) e/ou um bloco vizinho (G).
[0138]No presente documento, o bloco vizinho (A) pode representar o bloco vizinho que é posicionado na posição superior esquerda da posição de amostra superior esquerda do bloco atual, o bloco vizinho (B) pode representar o bloco vizinho que é posicionado na posição superior da posição de amostra superior direita do bloco atual, o bloco vizinho (C) pode representar o bloco vizinho que é posicionado na posição superior direita da posição de amostra superior direita do bloco atual, o bloco vizinho (D) pode representar o bloco vizinho que é posicionado na extremidade esquerda da posição de amostra inferior esquerda do bloco atual, o bloco vizinho (E) pode representar o bloco vizinho que é posicionado na posição inferior esquerda da posição de amostra inferior esquerda do bloco atual, o bloco vizinho (G) pode representar o bloco vizinho que é posicionado na posição superior da posição de amostra superior esquerda do bloco atual, e o bloco vizinho (F) pode representar o bloco vizinho que é posicionado na extremidade esquerda da posição de amostra superior esquerda do bloco atual.
[0139]Ademais, por exemplo, se o tamanho do bloco atual for WxH, o componente x da posição de amostra superior esquerda do bloco atual é 0, e o componente y da mesma é 0, o bloco vizinho (A) pode ser um bloco que inclui uma amostra de coordenadas (-1, -1), o bloco vizinho (B) pode ser um bloco que inclui uma amostra de coordenadas (W-1, -1), o bloco vizinho (C) pode ser um bloco que inclui uma amostra de coordenadas (W, -1), o bloco vizinho (D) pode ser um bloco que inclui uma amostra de coordenadas (-1, H-1), o bloco vizinho (E) pode ser um bloco que inclui uma amostra de coordenadas (-1, H), o bloco vizinho (F) pode ser um bloco que inclui uma amostra de coordenadas (-1, 0), e o bloco vizinho (G) pode ser um bloco que inclui uma amostra de coordenadas (0, -1).
[0140]Em uma modalidade exemplificadora, três candidatos de MPM podem ser derivados com base no modo de intrapredição do bloco vizinho (F) e no modo de intrapredição do bloco vizinho (G). Por exemplo, o modo de intrapredição do bloco vizinho (F) e o modo de intrapredição do bloco vizinho (G) podem ser derivados. Entretanto, nos três casos a seguir, o modo de intrapredição do bloco vizinho (F) ou o modo de intrapredição do bloco vizinho (G) podem ser derivados como um modo de intrapredição DC. Ou seja, se o bloco vizinho (F) ou o bloco vizinho (G) não estiver disponível, se o bloco vizinho (F) ou o bloco vizinho (G) não for codificado no modo de intrapredição (se o bloco vizinho (F) ou o bloco vizinho (G) não for o bloco intra codificado), ou se o bloco vizinho (F) ou o bloco vizinho (G) estiver fora da unidade de árvore de codificação atual, o modo de intrapredição do bloco vizinho (F) ou o modo de intrapredição do bloco vizinho (G) podem ser derivados como um modo de intrapredição DC.
[0141]Se o modo de intrapredição do bloco vizinho (F) ou o modo de intrapredição do bloco vizinho (G) for determinado, os três candidatos de MPM podem ser derivados, por exemplo, com base na Tabela 2 abaixo. TABELA 2 (modo intra de F e G são iguais) { if (modo intra de F < modo intra 2) { MPM list1 } else { MPM list2 } }
else { if (Nem o modo intra de F nem G são modos planares intra) { MPM list3 } else if (modo intra de (F+G) <modo intra 2) { MPM list4 } else { MPM list5 } }
[0142]A Tabela 2 pode representar de modo exemplificador pseudocódigos que configuram a lista de MPM.
[0143]Referindo-se à Tabela 2, pode-se determinar se o modo de intrapredição do bloco vizinho (F) e o modo de intrapredição do bloco vizinho (G) são iguais.
[0144]Se o modo de intrapredição do bloco vizinho (F) e o modo de intrapredição do bloco vizinho (G) forem iguais e o número de modo do modo de intrapredição do bloco vizinho (F) for menor que 2, a lista de MPM do bloco atual pode ser derivada como uma lista de MPM 1 (lista de MPM1). Ou seja, se o modo de intrapredição do bloco vizinho (F) e o modo de intrapredição do bloco vizinho (G) forem iguais e o modo de intrapredição do bloco vizinho (F) for o 0-ésimo modo de intrapredição ou o primeiro modo de intrapredição, a lista de MPM do bloco atual pode ser derivada como a lista de MPM 1. No presente documento, a lista de MPM 1 pode representar uma lista de MPM composta por candidatos de MPM {F, F-1, F+1}. O F pode representar o modo de intrapredição do bloco vizinho (F), o F-1 pode representar o modo de intrapredição no qual um valor obtido subtraindo-se 1 do número de modo do modo de intrapredição do bloco vizinho (F) é um número de modo, e o F+1 pode representar o modo de intrapredição no qual um valor obtido adicionando-se 1 ao número de modo do modo de intrapredição do bloco vizinho (F) é um número de modo. Por exemplo, se o modo de intrapredição do bloco vizinho (F) for um N-ésimo modo de intrapredição, a lista de MPM 1 pode ser configurada como a lista de MPM incluindo o N-ésimo modo de intrapredição, um N-1-ésimo modo de intrapredição, e um N+1- ésimo modo de intrapredição como os candidatos de MPM.
[0145]Ademais, se o modo de intrapredição do bloco vizinho (F) e o modo de intrapredição do bloco vizinho (G) forem iguais, e o número de modo do modo de intrapredição do bloco vizinho (F) não for menor que 2, a lista de MPM do bloco atual pode ser derivada como uma lista de MPM 2.
[0146]Ademais, se o modo de intrapredição do bloco vizinho (F) e o modo de intrapredição do bloco vizinho (G) não forem iguais, e o modo de intrapredição do bloco vizinho (F) e o modo de intrapredição do bloco vizinho (G) não forem modos de intrapredição planar, a lista de MPM do bloco atual pode ser derivada como uma lista de MPM 3.
[0147]Ademais, se o modo de intrapredição do bloco vizinho (F) e o modo de intrapredição do bloco vizinho (G) não forem iguais e a soma do número de modo do modo de intrapredição do bloco vizinho (F) e do número de modo do modo de intrapredição do bloco vizinho (G) for menor que 2, a lista de MPM do bloco atual pode ser derivada como uma lista de MPM 4.
[0148]Ademais, se o modo de intrapredição do bloco vizinho (F) e o modo de intrapredição do bloco vizinho (G) não forem iguais, pelo menos um dentre o modo de intrapredição do bloco vizinho (F) e o modo de intrapredição do bloco vizinho (G) é o modo de intrapredição planar, e a soma do número de modo do modo de intrapredição do bloco vizinho (F) e do número de modo do modo de intrapredição do bloco vizinho (G) não for menor que 2, a lista de MPM do bloco atual pode ser derivada como uma lista de MPM 5.
[0149]Entretanto, à medida que o número de modos de intrapredição aumenta, o número de candidatos de MPM precisa aumentar. De modo correspondente, o número de candidatos de MPM pode variar de acordo com o número de modos de intrapredição. Em geral, à medida que o número de modos de intrapredição aumenta, o número de candidatos de MPM pode aumentar. No entanto, o número de candidatos de MPM nem sempre aumenta quando o número de modos de intrapredição aumentar. Por exemplo, se existirem 35 modos de intrapredição ou 67 modos de intrapredição, podem existir vários candidatos de MPM como 3, 4, 5 e 6 de acordo com o projeto.
[0150]Por exemplo, o codificador/decodificador também pode configurar uma lista de MPM incluindo 6 MPMs. Modos intra padrão, modos intra vizinhos e modos intra derivados podem ser considerados para configurar a lista de MPM.
[0151]Em um exemplo, para os modos intra vizinhos, dois blocos vizinhos, ou seja, o bloco vizinho esquerdo (A) e o bloco vizinho superior (B). A fim de gerar uma lista de MPM incluindo os 6 MPMs, uma lista de MPM padrão inicializada com base na Tabela 3 abaixo pode ser considerada. TABELA 3 6 modos de MPM padrão = {A, Planar (0) ou DC (1), Vertical (50), HOR (18), VER - 4 (46), VER + 4 (54)} Após esses 6 modos de MPM serem atualizados realizando um processo de poda para dois modos intra vizinhos. Se dois modos vizinhos forem iguais entre si e o modo vizinho for maior que o modo DC (1), 6 modos de MPM devem incluir três modos padrão (A, Planar, DC) e três modos derivados que são obtidos adicionando-se valores de desvio predefinidos ao modo vizinho e realizando-se uma operação modular. Caso contrário, se dois modos vizinhos forem diferentes, dois modos vizinhos são atribuídos aos primeiros dois modos de MPM e os outros quatro modos de MPM são derivados dos modos padrão e dos modos vizinhos. Durante um processo geração de lista de 6 MPMs, utiliza-se poda para remover modos duplicados de modo que apenas modos exclusivos possam ser incluídos na lista de MPM. Para codificação por entropia dos 61 modos não MPM, utiliza-se um Código Binário
Truncado (TBC).
[0152]Em outro exemplo, a ordem de configurar os 6 candidatos de MPM pode ser a ordem do bloco vizinho (D), do bloco vizinho (B), do modo de intrapredição planar, do modo de intrapredição DC, do bloco vizinho (E), do bloco vizinho (C), e do bloco vizinho (A). Ou seja, o modo de intrapredição pode ser derivado, como os candidatos de MPM, na ordem do modo de intrapredição do bloco vizinho (D), do modo de intrapredição do bloco vizinho (B), do modo de intrapredição planar, do modo de intrapredição DC, do modo de intrapredição do bloco vizinho (E), do modo de intrapredição do bloco vizinho (C), e do modo de intrapredição do bloco vizinho (A), e não podem ser derivados como os candidatos de MPM se os 6 candidatos de MPM forem iguais conforme o modo de intrapredição previamente derivado.
[0153]Ademais, se a lista de MPM não incluir o número máximo de candidatos de MPM, ou seja, se o número de candidatos de MPM derivados for menor que o número máximo de candidatos, o modo de intrapredição direcional adjacente ao candidato de MPM derivado e um modo de intrapredição padrão predefinido pode ser considerado como os candidatos de MPM, e o processo de verificação de poda pode ser realizado junto. No presente documento, o modo de intrapredição direcional adjacente ao candidato de MPM pode representar um modo de intrapredição tendo um número de modo adjacente àquele do candidato de MPM. A busca por bloco vizinho e verificação de poda contínua supramencionadas apresentam uma vantagem de reduzir uma taxa de transmissão de bits, mas pode aumentar o número ciclos de operação de hardware para a configuração da lista de MPM de cada bloco. Como o pior cenário, uma imagem 4K 3840x2160 pode ser dividida em blocos 4x4 para a intrapredição, e o número aumentado de ciclos de operação de hardware para cada bloco 4x4 pode ser considerado importante para rendimento. Entretanto, se o bloco vizinho codificado pela interpredição do bloco atual conhecer o modo de intrapredição do bloco vizinho, o modo de intrapredição do bloco vizinho pode ser usado para configurar a lista de MPM.
[0154]Conforme descrito anteriormente, o bloco atual a ser codificado e o bloco vizinho podem geralmente ter características de imagem similares, e, logo, há uma alta probabilidade que o bloco atual e o bloco vizinho tenham modos de intrapredição iguais ou similares, de modo que a lista de MPM do bloco atual possa ser determinada para derivar o modo de intrapredição aplicado ao bloco atual. No entanto, quando 67 modos de intrapredição forem usados para a intrapredição, uma lista de MPM incluindo 3 candidatos de MPM não pode ser suficiente para representar a diversidade de múltiplos modos de intrapredição. Ademais, um método para configurar uma lista de 6 MPMs incluindo o processo de busca de bloco vizinho e o processo de verificação de poda pode ser desvantajoso em complexidade e rendimento. Na presente revelação, vários métodos que derivam o modo de intrapredição para o bloco atual com base na predição de MPM ser]ao descritos mais adiante.
[0155]A Figura 8 é um diagrama para explicar uma configuração de uma lista de MPM de acordo com outra modalidade exemplificadora.
[0156]Referindo-se à Figura 8, em uma modalidade exemplificadora, o bloco vizinho esquerdo (que pode ser representado como LEFT) A e o bloco vizinho superior (que pode ser representado como ABOVE) B podem ser expressados na Tabela 4 abaixo para gerar a lista de MPM. O algoritmo é o seguinte. A codificação não MPM pode se basear em um código binário truncado. TABELA 4 Determinar modos intra LEFT e ABOVE Definir MPM como MPM_ordering_0 If (LEFT==ABOVE) If (LEFT>=DC_idx), então, definir MPM como MPM_ordering_1 Else if (LEFT>DC_idx e ABOVE>DC_idx), então, definir MPM como
MPM_ordering_2 Else if (LEFT+ABOVE> DC_idx), então, definir MPM como
[0157] MPM_ordering_3
[0158]A Figura 9 é um fluxograma que ilustra um método de predição de MPM de acordo com uma modalidade exemplificadora.
[0159]A presente revelação usa termos ou sentenças específicas para definir informações ou conceitos específicos. Por exemplo, um modo de intrapredição específico que pode ser determinado como o modo de intrapredição para o bloco atual sem as informações de índice de MPM em um processo de intracodificação de luma é referido como um “modo significativo”, um índice que indica um dos candidatos de MPM incluídos na lista de MPM é referido como um “índice de MPM”, um sinalizador que indica se aplica a intracodificação de luma é referido como um “sinalizador de MPM integrado”, e os modos de intrapredição restantes além dos candidatos de MPM quando a predição de MPM não for aplicada são referidos como “modos não MPM”. No entanto, o “modo significativo” pode ser substituído por vários termos como significant_mode, um modo padrão e um modo candidato, o “índice de MPM” pode ser substituído por probable_mode_index, mpm_idx, intra_luma_mpm_idx, ou similares, o “sinalizador de MPM integrado” pode ser substituído por unified_probable_mode_flag, sinalizador de MPM, intra_luma_mpm_flag, ou similares, e os “modos não MPM” podem ser substituídos por vários termos como modos não MPM, non_probable_modes, modos de intrapredição restantes, e modos de predição restantes de MPM, de modo que em construir termos ou sentenças específicas usados para definir informações ou conceitos específicos no presente relatório descritivo através do relatório descritivo, a construção não deva ser limitada ao nome, e é necessário construir os termos e sentenças específicas prestando-se atenção a várias operações, funções e efeitos de acordo com o conteúdo do termo.
[0160]Em um exemplo, o modo significativo pode ser um modo planar intra.
[0161]Em uma modalidade exemplificadora, uma intracodificação de luma unificada e uma sinalização podem ser realizadas. Na intracodificação de luma, pelo menos um modo intra de luma significativo pode ser sinalizado primeiro, e, então, uma lista de MPM pode ser configurada com base nos modos intra restantes para selecionar o melhor modo dentre os candidatos de MPM incluídos na lista de MPM.
[0162]Primeiro, pode-se determinar se um MRL ou um ISP foi usado. Quando o MRL ou o ISP for usado, um valor do unified_probable_mode_flag pode ser determinado como 1. Se o MRL ou o ISP não for usado, o unified_probable_mode_flag pode ser analisado.
[0163]Se o valor do unified_probable_mode_flag for 0, o non_probable_mode_index pode ser analisado. Se o valor do unified_probable_mode_flag for 1, o significant_mode_flag pode ser analisado. Quando o valor do significant_mode_flag for 1, o modo de intrapredição para o bloco atual pode ser determinado como um modo significativo (por exemplo, modo planar intra), e quando o valor do significant_mode_flag for 0, o probable_mode_index pode ser analisado.
[0164]A Figura 10 é um fluxograma que ilustra um método de predição de MPM de acordo com outra modalidade exemplificadora.
[0165]Na Figura 10, a intrapredição realizada com base em um método integrado (ou algoritmo) sem depender em se a intrapredição baseada na linha de múltiplas referências (MRL) ou a predição com base na subpartição intra (ISP) é aplicada é referida como uma “codificação de modo intra de luma unificada”. No entanto, a “codificação de modo intra de luma integrada” pode ser substituída por vários termos como um modo luma de integrada, uma intrapredição integrada, MPM integrado, uma predição de MPM integrado, um unified_probable_mode, uma intracodificação integrada e uma intracodificação de luma integrada.
[0166]Um método específico para derivar um modo intra de luma integrada de acordo com uma modalidade exemplificadora é da seguinte forma.
[0167]Primeiro, o unified_probable_mode_flag pode ser analisado. Quando o valor do unified_probable_mode_flag for 0, o non_probable_mode_index pode ser analisado, e quando o valor do unified_probable_mode_flag for 1, o significant_mode_flag pode ser analisado. Quando o valor do significant_mode_flag for 1, o modo de intrapredição para o bloco atual pode ser determinado como um modo significativo (por exemplo, modo planar intra), e quando o valor do significant_mode_flag for 0, o probable_mode_index pode ser analisado.
[0168]Alternativamente, um método específico para derivar o modo intra de luma integrado de acordo com uma modalidade exemplificadora pode ser expressado na Tabela 5 abaixo. TABELA 5 Etapa 1. Análise de unified_probable_mode_flag ou unified_probable_mode_flag é previamente atribuída com um determinado valor.
Se unified_probable_mode_flag for igual a 1, especifica-se que o modo intra provável unificado é usado para unidade de codificação (CU) intra atual. E, então, a etapa 1.1 é realizada.
Caso contrário, unified_probable_mode_flag for igual a 0, especifica-se que o modo intra provável unificado não é usado. Ao invés disso, non_probable_mode é usado para CU intra atual. E, então, a etapa 1.2 é realizada.
Etapa 1.1 Análise de significant_mode_flag.
Se significant_mode_flag for igual a 1, especifica-se que um modo intra significativo é usado para unidade de codificação (CU) intra atual. E, então, a etapa 1.1.1 é realizada.
Caso contrário, significant_mode_flag for igual a 0, especifica-se que o modo intra significativo não é usado. Ao invés disso, um dos modos prováveis na lista provável é usado para CU intra atual. E, então, a etapa 1.1.2 é realizada Etapa 1.1.1 A pré-definição que um modo significativo é atribuído a predModeIntra indica que um modo significativo específico é usado para CU intra atual.
Etapa 1.1.2 Análise de probable_mode_index.
probable_mode_index é analisado para indicar que uma lista de modo provável é usada para CU intra atual. Uma construção detalhada de lista de modo provável é descrita na Tabela 6 a seguir.
Etapa 1.2 Análise de non_probable_mode_idx non_probable_mode_idx analisado para indicar que uma lista de modo não provável é usada para CU intra atual
[0169]Propõe-se um método para configurar uma lista de MPM de acordo com uma modalidade exemplificadora. Uma lista dos modos de MPM tendo um comprimento k pode ser configurada. Em um exemplo, k é igual a 5, e 5 condições podem ser usadas quando 5 listas de MPM diferentes forem configuradas. Um bloco (B) da Figura 7 pode ser representado como A, e um bloco (D) pode ser representado como L. Por exemplo, o método para configurar a lista de MPM de acordo com a presente modalidade exemplificadora pode ser expressado na Tabela 6 abaixo. TABELA 6
1. Verificar a condição 1 se L e A são iguais. Se a condição 1 for satisfeita, então, passar para a etapa 2.1, caso contrário, passar para a etapa 2.2.
L==A (condição 1)
2.
2.1 Nesse caso, L e A são iguais. Verificar a condição 2 se L é maior que DC_idx que implica que L e A são ambos modos angulares. Se a condição 2 for satisfeita, então, passar para a etapa 5.1, caso contrário, passar para a etapa 5.2.
L> DC_idx (condição 2)
2.2 Nesse caso, L e A são diferentes. Verificar a condição 3 se L ou A é maior que DC_idx, implica que pelo menos um dentre L e A é um modo angular. Se a condição 3 for satisfeita, então, passar para a etapa 3
L>DC_idx ou A>DC_idx (condição 3)
3. O seguinte se aplica.
maxAB=max (L, A) que adota o valor maior entre L e A.
minAB=min(L,A) que adota o valor menor entre L e A Verificar a condição 4 se L e A são maiores que DC_idx que implica que tanto L como A são modos angulares. Se a condição 4 for satisfeita, então, passar para a etapa 4.1, caso contrário, passar para a etapa 4.2.
L>DC_idx e A>DC_idx (condição 4)
4.
4.1 Nesse caso, tanto L como A são modos angulares. Verificar a condição 5 se a diferença entre L e A é igual ou menor que 62 e igual ou maior que 2. Se a condição 5 for satisfeita, então, passar para a etapa 5.3, caso contrário, passar para a etapa 5.4.
A variável diff=maxAB-minAB diff <=62 e diff >=2 (condição 5)
4.2 Nesse caso, apenas um dentre L e A é um modo angular. Passar para a etapa 5.5
5. Construir a lista de modo provável inteira
5.1 Lista de construção 1.
mpm[0] = L mpm[1] = L-1 mpm[2] = L+1 mpm[3] = DC_idx mpm[4] = L-2
5.2 Lista de construção 2 mpm[1]= DC_idx mpm[2] = Vertical_idx mpm[3] = Horizontal_idx mpm[4] = Vertical_idx-4 mpm[5] = Vertical_idx+4
5.3 Lista de construção 3 mpm[0]=L mpm[1]=A mpm[2] = DC_idx mpm[3] = maxAB-1 mpm[4] = maxAB+1
5.4 Lista de construção 4 mpm[0]=L mpm[1]=A mpm[2] = DC_idx mpm[3] = maxAB-2 mpm[4] = maxAB+2
5.5 Lista de construção 5 mpm[0]= maxAB mpm[1]= DC_idx mpm[2] = maxAB-1 mpm[3] = maxAB +1 mpm[4] = maxAB-2 Na etapa 5, modo angular intra +1, modo angular intra -1 e modo angular intra -2 não são simples valores de adição ou subtração matemática. Em alguns casos, subtraindo-se e somando-se modos angulares, um pode se tornar um modo não angular que infringem a consistência de modo intra vizinho ou um pode exceder o índice de modo intra máximo disponível. Por exemplo, modo angular intra menos 1 resultaria em um modo intra 1 que tenha índice DC. Modo angular intra 66 mais um resultaria em 67 que excede o modo intra máximo disponível 66. Portanto, adição e subtração unidas usando aritmética modular (denotada como %) conforme abaixo.
- Modo intra -1 é
(modo intra +61)%64+2 - Modo intra +1 é (modo intra -1)%64+2 - Modo intra -2 é (modo intra +60)%64+2 - Modo intra +2 é (modo intra)%64+2
[0170]Entretanto, uma modalidade exemplificadora não se limita a realizar a intracodificação de luma integrada apenas quando o sinalizador de MPM integrado for sinalizado e o valor do sinalizador de MPM sinalizado for 1. Por exemplo, mesmo sem sinalizar o sinalizador de MPM integrado, o aparelho de decodificação de acordo com uma modalidade exemplificadora pode realizar a intracodificação de luma integrada.
[0171]Em uma modalidade exemplificadora, a sinalização de intrapredição integrada e a sinalização de modo intra podem ser combinadas com a configuração da lista de MPM, e a lista de não MPM pode ser configurada. A presente modalidade exemplificadora pode se basear na sintaxe de unidade de codificação da Tabela 7 abaixo. TABELA 7 coding_unit( x0, y0, cbWidth, cbHeight, treeType ) { Descritor … if( treeType = = SINGLE_TREE | | treeType = = DUAL_TREE_LUMA ) { if( ( y0 % CtbSizeY ) > 0 ) intra_luma_ref_idx[ x0 ][ y0 ] ae(v) if (intra_luma_ref_idx[ x0 ][ y0 ] = = 0 && ( cbWidth <= MaxTbSizeY | | cbHeight <= MaxTbSizeY ) && ( cbWidth * cbHeight > MinTbSizeY * MinTbSizeY )) intra_subpartitions_mode_flag[ x0 ][ y0 ] ae(v)
if( intra_subpartitions_mode_flag[ x0 ][ y0 ] = = 1 && cbWidth <= MaxTbSizeY && cbHeight <= MaxTbSizeY ) intra_subpartitions_split_flag[ x0 ][ y0 ] ae(v) if( intra_luma_ref_idx[ x0 ][ y0 ] = = 0 && intra_subpartitions_mode_flag[ x0 ][ y0 ] = = 0 ) intra_luma_mpm_flag[ x0 ][ y0 ] ae(v) if( intra_luma_mpm_flag[ x0 ][ y0 ] ) intra_planar_flag[ x0 ][ y0 ] ae(v) if (intra_planar_flag==0) intra_luma_mpm_idx[ x0 ][ y0 ] ae(v) else intra_luma_mpm_remainder[ x0 ][ y0 ] ae(v) } … }
[0172]A sintaxe de unidade de codificação da Tabela 7 pode se basear, por exemplo, na semântica da Tabela 8 abaixo. TABELA 8 intra_luma_mpm_flag[ x0 ][ y0 ], intra_planar_flag[ x0 ][ y0 ], intra_luma_mpm_idx[ x0 ][ y0 ] e intra_luma_mpm_remainder[ x0 ][ y0 ] especificam o modo de intrapredição para amostras de luma. Os índices de arranjo x0, y0 especificam o local ( x0 , y0 ) da amostra de luma superior esquerda do bloco de codificação considerado em relação à amostra de luma superior esquerda da figuração. Quando intra_luma_mpm_flag[ x0 ][ y0 ] for igual a 1, o intra_planar_flag é analisado.
Quando intra_planar_flag for igual a 1, especifica-se que a variável IntraPredModeY[ xCb ][ yCb ] é igual a INTRA_PLANAR. Quando intra_planar_flag for igual a 0, o modo de intrapredição é inferido a partir de uma unidade de codificação intrapredita vizinha de acordo com a cláusula 8.4.2.
Quando intra_luma_mpm_flag[ x0 ][ y0 ] não estiver presente, o mesmo é inferido como sendo igual a 1.
[0173]Em um exemplo, o processo de decodificação para a unidade de codificação que é codificada no modo de intrapredição pode se basear no algoritmo (ou especificação) da Tabela 9 abaixo. TABELA 9
8.4.1 Processo de decodificação geral para unidades de codificação no modo de intrapredição - Se pcm_flag[ xCb ][ yCb ] for igual a 0, o seguinte se aplica:
1. Se intra_planar_flag[ x0 ][ y0 ] for igual a 1, IntraPredModeY[ xCb ][ yCb ] é igual a INTRA_PLANAR.
2. Caso contrário, o processo de derivação para o modo de intrapredição de luma conforme especificado na cláusula 8.4.2 é invocado com o local de luma( xCb, yCb ), a largura do bloco de codificação atual em amostras de luma cbWidth e a altura do bloco de codificação atual em amostras de luma cbHeight como entrada. A saída é IntraPredModeY[ xCb ][ yCb ] que especifica o modo de intrapredição de luma.
Com a derivação de IntraPredModeY[ xCb ][ yCb ] nas etapas anteriores, o processo de decodificação geral para blocos intra conforme especificado na cláusula 8.4.4.1 é invocado com o local de luma( xCb, yCb ), o tipo de árvore treeType, a variável nTbW definida igual a cbWidth, a variável nTbH definida igual a cbHeight, a variável predModeIntra definida igual a IntraPredModeY[ xCb ][ yCb ], e a variável cIdx definida igual a 0 como entradas, e a saída é uma figuração reconstruída modificada antes da filtragem em laço.
<elementos de sintaxe e binarizações associadas> Estrutura de Binarização Elemento de sintaxe sintaxe Processo Parâmetros de entrada coding_unit( ) intra_planar_flag[ ][ ] FL cMax = 1 <Atribuição de ctxInc a elementos de sintaxe com bins codificados em contexto> Caso I binIdx Elemento de sintaxe 0 1 2 3 4 >= 5 intra_planar_flag[ ][ ] 0 na na na na na Caso II A atribuição de ctxInc é especificada da seguinte forma com condL e condA especificado para o elemento de sintaxe intra_planar_flag[ x0 ][ y0 ] ctxInc = (condL && availableL ) || (conA && availableA) ou ctxInc = (condL && availableL ) && (conA && availableA) - condL == PLANAR ? 1 : 0 - condA == PLANAR ? 1 : 0 - availableL que especifica a disponibilidade do bloco localizado diretamente à esquerda do bloco atual.
- availableA que especifica a disponibilidade do bloco localizado diretamente à esquerda do bloco atual.
binIdx Elemento de sintaxe 0 1 2 3 4 >= 5 intra_planar_flag[ ][ ] 0, 1 na na na na na Caso III A atribuição de ctxInc é especificada da seguinte forma com condL e condA especificado para o elemento de sintaxe intra_planar_flag[ x0 ][ y0 ] ctxInc = (condL && availableL ) + (conA && availableA) - condL == PLANAR ? 1 : 0 - condA == PLANAR ? 1 : 0 - availableL que especifica a disponibilidade do bloco localizado diretamente à esquerda do bloco atual.
- availableA que especifica a disponibilidade do bloco localizado diretamente à esquerda do bloco atual.
binIdx Elemento de sintaxe 0 1 2 3 4 >= 5 intra_planar_flag[ ][ ] 0, 1, 2 na na na na na A modalidade anterior (caso I,caso II e caso III) é meramente um exemplo prático, o número de modelos de contexto pode ser arbitrariamente determinado.
[0174]Em um exemplo, o processo para derivar o modo de intrapredição de luma pode se basear no algoritmo (ou especificação) da Tabela 10 abaixo. TABELA 10
8.4.2 Processo de derivação para modo de intrapredição de luma Processo de derivação para modo de intrapredição de luma Entradas a esse processo são: - um local de luma ( xCb , yCb ) que especifica a amostra superior esquerda do bloco de codificação de luma atual em relação à amostra de luma superior esquerda da figuração atual, - uma variável cbWidth que especifica uma largura do bloco de codificação atual em amostras de luma, - uma variável cbHeight que especifica a altura do bloco de codificação atual em amostras de luma.
Nesse processo, o modo de intrapredição de luma IntraPredModeY[ xCb ][ yCb ] é derivado.
Tabela 8-1 especifica o valor para o modo de intrapredição IntraPredModeY[ xCb ][ yCb ] e os nomes associados.
Tabela 8-1 – Especificação de modo de intrapredição e nomes associados Modo de intrapredição Nome associado 0 INTRA_PLANAR 1 INTRA_DC
2..66 INTRA_ANGULAR2..INTRA_ANGULAR66
81..83 INTRA_LT_CCLM, INTRA_L_CCLM, INTRA_T_CCLM
NOTE – : Os modos de intrapredição INTRA_LT_CCLM, INTRA_L_CCLM e INTRA_T_CCLM são apenas aplicáveis a componentes de croma.
IntraPredModeY[ xCb ][ yCb ] é derivado pelas etapas ordenadas a seguir:
1. Os locais vizinhos ( xNbA, yNbA ) e ( xNbB, yNbB ) são definidos iguais a ( xCb − 1, yCb + cbHeight − 1 ) e ( xCb + cbWidth − 1, yCb − 1 ), respectivamente.
2. Para X sendo substituído por A ou B, as variáveis candIntraPredModeX são derivadas da seguinte forma: - O processo de derivação de disponibilidade para um bloco conforme especificado na cláusula 6.4.X [Ed. (BB): Processo de verificação de disponibilidade de blocos vizinhos tbd] é invocado com o local ( xCurr, yCurr ) definido igual a ( xCb, yCb ) e o local vizinho ( xNbY, yNbY ) definido igual a ( xNbX, yNbX ) como entradas, e a saída é atribuída à disponibilidade, por exemplo, - O modo de intrapredição candidato candIntraPredModeX é derivado da seguinte forma: - Se uma ou mais das condições a seguir forem verdadeiras, candIntraPredModeX é definido igual a INTRA_PLANAR.
- A variável disponível X é igual a FALSE.
- CuPredMode[ xNbX ][ yNbX ] não é igual a MODE_INTRA - pcm_flag[ xNbX ][ yNbX ] é igual a 1.
- X é igual a B e yCb − 1 é menor que ( ( yCb >> CtbLog2SizeY ) << CtbLog2SizeY ).
- Caso contrário, candIntraPredModeX é definido igual a IntraPredModeY[ xNbX ][ yNbX ].
3. O candModeList[ x ] com x = 0..4 é derivado da seguinte forma: - Se candIntraPredModeB for igual a candIntraPredModeA e candIntraPredModeA for maior que INTRA_DC, candModeList[ x ] com x = 0..4 é derivado da seguinte forma: candModeList[ 0 ] = candIntraPredModeA (8-10) candModeList[ 1 ] = 2 + ( ( candIntraPredModeA + 61 ) % 64 ) (8-12) candModeList[ 2] = 2 + ( ( candIntraPredModeA − 1 ) % 64 ) (8-13)
candModeList[ 3 ] = INTRA_DC (8-11)
candModeList[ 4 ] = 2 + ( ( candIntraPredModeA + 60 ) % 64 ) (8-14)
- Caso contrário, se candIntraPredModeB não for igual a candIntraPredModeA e candIntraPredModeA ou candIntraPredModeB for maior que INTRA_DC, o seguinte se aplica:
- As variáveis minAB e maxAB são derivadas da seguinte forma:
minAB = Min( candIntraPredModeA, candIntraPredModeB ) (8-24)
maxAB = Max( candIntraPredModeA, candIntraPredModeB ) (8-25)
- Se candIntraPredModeA e candIntraPredModeB forem ambos maiores que
INTRA_DC, candModeList[ x ] com x = 0..4 é derivado da seguinte forma:
candModeList[ 0 ] = candIntraPredModeA (8-27)
candModeList[ 1 ] = candIntraPredModeB candModeList[ 2 ] = INTRA_DC (8-29)
- Se maxAB − minAB estiver na faixa de 2 a 62, inclusive, o seguinte se aplica:
candModeList[ 3 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-30)
candModeList[ 4 ] = 2 + ( ( maxAB − 1 ) % 64 ) (8-31)
- Caso contrário, o seguinte se aplica:
candModeList[ 3 ] = 2 + ( ( maxAB + 60 ) % 64 ) (8-32)
candModeList[ 4 ] = 2 + ( ( maxAB ) % 64 ) (8-33)
- Caso contrário (candIntraPredModeA ou candIntraPredModeB for maior que
INTRA_DC), candModeList[ x ] com x = 0..4 é derivado da seguinte forma:
candModeList[ 0 ] = maxAB (8-65)
candModeList[ 1 ] = INTRA_DC (8-66)
candModeList[ 2 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-66)
candModeList[ 3 ] = 2 + ( ( maxAB − 1 ) % 64 ) (8-67)
candModeList[ 4 ] = 2 + ( ( maxAB + 60 ) % 64 ) (8-68)
- Caso contrário, o seguinte se aplica:
candModeList[ 0 ] = INTRA_DC (8-71) candModeList[ 1 ] = INTRA_ANGULAR50 (8-72) candModeList[ 2 ] = INTRA_ANGULAR18 (8-73) candModeList[ 3 ] = INTRA_ANGULAR46 (8-74) candModeList[ 4 ] = INTRA_ANGULAR54 (8-75) (8-81)
4. IntraPredModeY[ xCb ][ yCb ] é derivado aplicando-se o procedimento a seguir: - Se intra_luma_mpm_flag[ xCb ][ yCb ] for igual a 1, o IntraPredModeY[ xCb ][ yCb ] é definido igual a candModeList[ intra_luma_mpm_idx[ xCb ][ yCb ] ].
- Caso contrário, IntraPredModeY[ xCb ][ yCb ] é derivado aplicando-se as etapas ordenadas a seguir:
1. Quando candModeList[ i ] for maior que candModeList[ j ] para i = 0..4 e para cada i, j = ( i + 1 )..5, ambos os valores são trocados da seguinte forma: (candModeList[ i ], candModeList[ j ] ) = Swap( candModeList[ i ], candModeList[ j ] ) (8-94)
2.IntraPredModeY[ xCb ][ yCb ] é derivado pelas etapas ordenadas a seguir: i. IntraPredModeY[ xCb ][ yCb ] é definido igual a intra_luma_mpm_remainder[ xCb ][ yCb ].
ii. Para i igual a 0 a 5, inclusive, quando IntraPredModeY[ xCb ][ yCb ] for maior ou igual a candModeList[ i ], o valor de IntraPredModeY[ xCb ][ yCb ] é incrementado por um.
A variável IntraPredModeY[ x ][ y ] com x = xCb..xCb + cbWidth − 1 e y = yCb..yCb + cbHeight − 1 é definida como sendo igual a IntraPredModeY[ xCb ][ yCb ].
[0175]Em um exemplo, o processo de decodificação dos blocos intra pode se basear no algoritmo (ou especificação) da Tabela 11 abaixo. TABELA 11
8.4.4.1 Processo de decodificação geral para blocos intra …
- Para xPartIdx = 0..numPartsX − 1 e yPartIdx = 0..numPartsY − 1, o seguinte se aplica: O processo de intrapredição de amostra geral conforme especificado na cláusula 8.4.4.2.1 é invocado com o local ( xTbCmp, yTbCmp ) definido igual a ( xTb0 + nW * xPartIdx, yTb0 + nH * yPartIdx ), o modo de intrapredição predModeIntra, a largura de bloco de transformada nTbW e a altura nTbH definidas iguais a nW e nH, a largura de bloco de codificação nCbW e a altura nCbH definidas iguais a nTbW e nTbH, e a variável cIdx como entradas, e a saída é um arranjo (nTbW)x(nTbH) predSamples.
[0176]Em um exemplo, a intrapredição de amostra pode se basear no algoritmo (ou especificação) da Tabela 12 abaixo. TABELA 12
8.4.4.2.1 Intrapredição de amostra geral O processo de intrapredição de amostra de acordo com predModeIntra se aplica da seguinte forma: - Se predModeIntra for igual a INTRA_PLANAR, o processo de modo de intrapredição correspondente especificado na cláusula 8.4.4.2.5 é invocado com a largura de bloco de transformada nTbW, e a altura de bloco de transformada nTbH, o índice de linha de referência de intrapredição refIdx, e o arranjo de amostra de referência p como entradas, e a saída é o arranjo de amostra predita predSamples.
- Caso contrário, se predModeIntra for igual a INTRA_DC, o processo de modo de intrapredição correspondente especificado na cláusula 8.4.4.2.6 é invocado com a largura de bloco de transformada nTbW, a altura de bloco de transformada nTbH, o índice de linha de referência de intrapredição refIdx, e o arranjo de amostra de referência p como entradas, e a saída é o arranjo de amostra predita predSamples.
- Caso contrário, se predModeIntra for igual a INTRA_LT_CCLM, INTRA_L_CCLM ou INTRA_T_CCLM, o processo de modo de intrapredição correspondente especificado na cláusula
8.4.4.2.8 é invocado com o modo de intrapredição predModeIntra, o local de amostra ( xTbC, yTbC ) definido igual a ( xTbCmp, yTbCmp ), a largura de bloco de transformada nTbW e a altura nTbH, e o arranjo de amostra de referência p como entradas, e a saída é o arranjo de amostra predita predSamples.
- Caso contrário, o processo de modo de intrapredição correspondente especificado na cláusula
8.4.4.2.7 é invocado com o modo de intrapredição predModeIntra, o índice de linha de referência de intrapredição refIdx, a largura de bloco de transformada nTbW, a altura de bloco de transformada nTbH, a largura de amostra de referência refW, a altura de amostra de referência refH, a largura de bloco de codificação nCbW e a altura nCbH, o índice de componente de cor cIdx, e o arranjo de amostra de referência p como entradas, e o modo de intrapredição modificado predModeIntra e o arranjo de amostra predita predSamples como saídas.
[0177]Em um exemplo, o modo intra planar, o modo DC intra, e similares podem se basear no algoritmo (ou especificação) da Tabela 13 abaixo. TABELA 13
8.4.4.2.5 Especificação de modo de intrapredição INTRA_PLANAR Especificação de modo de intrapredição INTRA_PLANAR Entradas a esse processo são: - uma variável nTbW que especifica a largura de bloco de transformada, - uma variável nTbH que especifica a altura de bloco de transformada, - uma variável refIdx que especifica o índice de linha de referência de intrapredição, - as amostras vizinhas p[ x ][ y ], com x = −1−refIdx, y = −1−refIdx..nTbH e x = −refIdx..nTbW, y = −1−refIdx.
Saídas desse processo são as amostras preditas predSamples[ x ][ y ], com x = 0..nTbW − 1, y =
0..nTbH − 1.
As variáveis nW e nH são derivadas da seguinte forma: nW = Max( nTbW, 2 ) (8-116) nH = Max( nTbH, 2 ) (8-117) Os valores das amostras de predição predSamples[ x ][ y ], com x = 0..nTbW − 1 e y = 0..nTbH − 1, são derivados da seguinte forma:predV[ x ][ y ] = ( ( nH − 1 − y ) * p[ x ][ −1 −refIdx] + ( y + 1 ) * p[ −1− refIdx][ nTbH ] ) << Log2 ( nW ) (8-118)
predH[ x ][ y ] = ( ( nW − 1 − x ) * p[ −1− refIdx ][ y ] + ( x + 1 ) * p[ nTbW ][ −1− refIdx ] ) << Log2 ( nH ) (8-119) predSamples[ x ][ y ] = ( predV[ x ][ y ] + predH[ x ][ y ] + nW * nH ) >> (Log2 ( nW ) + Log2 ( nH ) + 1 ) (8-120)
8.4.4.2.6 Especificação de INTRA_DC modo de intrapredição Entradas a esse processo são: - uma variável nTbW que especifica a largura de bloco de transformada, - uma variável nTbH que especifica a altura de bloco de transformada, - uma variável refIdx que especifica o índice de linha de referência de intrapredição, - as amostras vizinhas p[ x ][ y ], com x = −1−refIdx, y = −1−refIdx..nTbH − 1 e x = −refIdx..nTbW − 1 , y = −1−refIdx.
Saídas desse processo são as amostras preditas predSamples[ x ][ y ], com x = 0..nTbW − 1, y =
0..nTbH − 1.
Os valores das amostras de predição predSamples[ x ][ y ], com x = 0..nTbW − 1, y = 0..nTbH − 1, são derivados pelas etapas ordenadas a seguir:
1. Uma variável dcVal é derivada da seguinte forma: - Quando nTbW for igual a nTbH: DcVal = ∑nTbW p[𝑥 ][−1 − refIdx] + ∑ p[−1 − refIdx][𝑦 ] + nTbW ≫ (Log2(nTbW) + 1) (8-121) - Quando nTbW for maior que nTbH: dcVal = ∑nTbW p[𝑥 ][−1 − refIdx] + (nTbW ≫ 1) ≫ Log2(nTbW)(8-122) - Quando nTbW for menor que nTbH: dcVal = ∑nTbH p[−1 − refIdx][𝑦 ] + (nTbH ≫ 1) ≫ Log2(nTbH)(8-123)
2. As amostras de predição predSamples[x][y] são derivados da seguinte forma: predSamples[ x ][ y ] = dcVal, com x = 0.. nTbW − 1, y = 0.. nTbH − 1 (8-124)
[0178]Em um exemplo, um processo para transformar coeficientes de transformada escalonados e similares pode se basear no algoritmo (ou especificação)
da Tabela 14 abaixo. TABELA 14
8.7.4.1 Processo de transformada para coeficientes de transformada escalonados Tabela 8-15 – Especificação de trTypeHor e trTypeVer dependendo de predModeIntra predModeIntra trTypeHor trTypeVer INTRA_PLANAR, INTRA_ANGULAR31, ( nTbW >= 4 && ( nTbH >= 4 && INTRA_ANGULAR32, nTbW <= 16 ) ? 1 : nTbH <= 16 ) ? 1 : INTRA_ANGULAR34, 0 0 INTRA_ANGULAR36, INTRA_ANGULAR37 INTRA_DC, INTRA_ANGULAR33, 0 0 INTRA_ANGULAR35 INTRA_ANGULAR2, INTRA_ANGULAR4,…,INTRA_ANGULAR28, ( nTbW >= 4 && INTRA_ANGULAR30, nTbW <= 16 ) ? 1 : 0 INTRA_ANGULAR39, 0 INTRA_ANGULAR41,…,INTRA_ANGULAR63, INTRA_ANGULAR65 INTRA_ANGULAR3, INTRA_ANGULAR5,…, INTRA_ANGULAR27, ( nTbH >= 4 && INTRA_ANGULAR29, 0 nTbH <= 16 ) ? 1 : INTRA_ANGULAR38, 0 INTRA_ANGULAR40,…,INTRA_ANGULAR64, INTRA_ANGULAR66
Tabela 9-5 – Associação de ctxIdxOffset e elementos de sintaxe para cada initializationType no processo de inicialização Estrutura de initType Elemento de sintaxe ctxTable sintaxe 0 1 2 coding_tree_unit( ) alf_ctb_flag[ ][ ][ ] Tabela 9-6 0 9 18
… coding_unit( ) cu_skip_flag[ ][ ] 0 3 pred_mode_ibc_flag pred_mode_flag intra_luma_ref_idx[ ][ ]
intra_subpartitions_mode_flag intra_subpartition_split_flag intra_luma_mpm_flag[ ][ ]
intra_planar_flag[ ][ ]
intra_chroma_pred_mode[ ][ ]
merge_flag[ ][ ]
inter_pred_idc[ x0 ][ y0 ]
inter_affine_flag[ ][ ]
cu_affine_type_flag[ ][ ]
ref_idx_l0[ ][ ]
mvp_l0_flag[ ][ ]
ref_idx_l1[ ][ ]
mvp_l1_flag[ ][ ]
avmr_flag[ ][ ]
amvr_precision_flag[ ][ ]
gbi_idx[ ][ ]
cu_cbf cu_sbt_flag cu_sbt_quad_flag cu_sbt_horizontal_flag cu_sbt_pos_flag
Tabela 9.9 – Elementos de sintaxe e binarizações associadas
Estrutura de Binarização Elemento de sintaxe sintaxe Processo Parâmetros de entrada coding_unit( ) cu_skip_flag[ ][ ] FL cMax = 1 pred_mode_ibc_flag FL cMax = 1 pred_mode_flag FL cMax = 1 pcm_flag[ ][ ] FL cMax = 1 intra_luma_ref_idx[ ][ ] TR cMax = 2, cRiceParam = 0 intra_subpartitions_mode_flag FL cMax = 1 intra_subpartition_split_flag FL cMax = 1 intra_luma_mpm_flag[ ][ ] FL cMax = 1 intra_planar_flag[ ][ ] FL cMax=1 intra_luma_mpm_idx[ ][ ] TR cMax = 4, cRiceParam = 0 intra_luma_mpm_remainder[ ][ ] TB cMax = 60 intra_chroma_pred_mode[ ][ ] 9.5.3.8 -
merge_flag[ ][ ] FL cMax = 1 inter_pred_idc[ x0 ][ y0 ] 9.5.3.9 cbWidth, cbHeight inter_affine_flag[ ][ ] FL cMax = 1 cu_affine_type_flag[ ][ ] FL cMax = 1 cMax = NumRefIdxActive [ 0 ] − 1, ref_idx_l0[ ][ ] TR cRiceParam = 0 mvp_l0_flag[ ][ ] FL cMax = 1 cMax = NumRefIdxActive[ 1 ] − 1, ref_idx_l1[ ][ ] TR cRiceParam = 0 mvp_l1_flag[ ][ ] FL cMax = 1 avmr_flag[ ][ ] FL cMax = 1 amvr_precision_flag[ ][ ] FL cMax = 1 gbi_idx[ ][ ] TR cMax = NoBackwardPredFlag ? 4: 2 cu_cbf FL cMax = 1 cu_sbt_flag FL cMax = 1 cu_sbt_quad_flag FL cMax = 1 cu_sbt_horizontal_flag FL cMax = 1 cu_sbt_pos_flag FL cMax = 1
[0179]
[0180]Em um exemplo, um exemplo de atribuir ctxInc a elementos de sintaxe incluindo bins codificados de contexto pode se basear na Tabela 15 abaixo. TABELA 15 binIdx Elemento de sintaxe 0 1 2 3 4 >= 5 intra_luma_ref_idx[ ][ ] 0 1 na na na na intra_subpartitions_mode_flag 0 na na na na na intra_subpartition_split_flag 0 na na na na na intra_luma_mpm_flag[ ][ ] 0 na na na na na intra_luma_ref_idx!=0 ? 2: intra_planar_flag[ ][ ] (intra_subpartitions_mode_fl na na na na na ag? 0: 1) intra_luma_mpm_idx[ ][ ] derivar derivar derivar derivar derivar na intra_luma_mpm_remainder[ ][ ] derivar derivar derivar derivar derivar derivar intra_chroma_pred_mode[ ][ ] 0 derivar derivar na na na sps_cclm_enabled_flag = = 0
[0181]Referindo-se à Tabela 7, pode-se confirmar que o intra_planar_flag é decodificado com base no resultado de decodificação que o valor do intra_luma_mpm_flag é 1. O intra_luma_mpm_flag pode representar um exemplo de um sinalizador de MPM, e o intra_planar_flag pode representar um exemplo de um sinalizador planar.
[0182]Referindo-se a (8-10), (8-12) e (8-13) da Tabela 10, pode-se confirmar que dentre os candidatos de MPM incluídos na lista de MPM, candModeList [0] é determinado como candIntraPredModeA que representa o modo de intrapredição para o bloco vizinho esquerdo do bloco atual, candModeList [1] é determinado como 2+((candIntraPredModeA+61)%64), e candModeList [2] é determinado como 2+((candIntraPredModeA-1)% 64).
[0183]Referindo-se à Tabela 14, pode-se confirmar que cMax que representa o valor máximo do intra_luma_mpm_idx é determinado como 4.
[0184]Uma modalidade exemplificadora propõe um método para realizar a predição de MPM integrado e um método para codificar e/ou sinalizar informações sobre modos de intrapredição relacionados. Ademais, uma modalidade exemplificadora propõe um método para derivar um núcleo de transformada. De acordo com uma modalidade exemplificadora, a sintaxe de unidade de codificação expressada nas Tabelas 16 a 24 abaixo pode ser configurada/codificada e sinalizada ao aparelho de decodificação, e o aparelho de decodificação pode derivar o modo de intrapredição para o bloco atual (CU) com base na sintaxe de unidade de codificação e na lista de MPM.
[0185]Por exemplo, de acordo com a presente modalidade exemplificadora, o modo planar pode ser incluído na lista de MPM como um modo candidato, e quando o valor do sinalizador de MPM for 1, o sinalizador planar (intra_planar_flag) pode ser primeiro sinalizado para indicar se o modo planar é usado como o modo de intrapredição do bloco atual. Se o valor do sinalizador planar for 0, o índice de MPM (intra_luma_mpm_idx) pode ser sinalizado para indicar um dos candidatos de MPM restantes além do modo planar. Nesse momento, em um exemplo, a lista de MPM que inclui os candidatos restantes além do modo planar pode ser referida como uma lista de MPM modificada.
[0186]Se o número total de candidatos de MPM que inclui o modo planar for 6, o número total de candidatos na lista de MPM modificada além do modo planar pode ser igual a 5, e nesse caso, os valores do índice de MPM podem ser de 0 a 4. Ou seja, o valor máximo do índice de MPM pode ser definido como 4. Nesse momento, o valor máximo do índice de MPM pode ser representado como cMax do índice de MPM. O bin do sinalizador planar pode ser codificado regular com base em um modelo de contexto conforme descrito posteriormente nas Tabelas 16 a 24, e conforme descrito posteriormente nas Tabelas 16 a 24, ctxInc para indicar o modelo de contexto i) pode usar apenas um valor específico (por exemplo, 0), ii) pode ser variavelmente derivado com base em se o bloco vizinho esquerdo estiver disponível e/ou se o bloco vizinho superior estiver disponível e o valor do sinalizador planar (caso disponível), ou iii) também pode ter o valor variavelmente determinado dependendo de se o MRL ou o ISP é aplicado. Ademais, a presente modalidade exemplificadora pode derivar um núcleo de transformada (núcleo de transformada vertical/núcleo de transformada horizontal) para o bloco atual com base no tamanho e/ou tipo/modo de intrapredição do bloco atual. Por exemplo, conforme descrito posteriormente nas Tabelas 16 a 24, se o ISP não for aplicado ao bloco atual ou não estiver disponível, o núcleo de transformada (núcleo de transformada vertical/núcleo de transformada horizontal) pode ser derivado como um valor de 1 ou 0 ainda com referência ao tamanho do bloco atual.
[0187]De acordo com a presente modalidade exemplificadora, se a intrapredição de MRL for aplicada (ou seja, se o índice de MRL for maior que 0), o modo planar ou o modo de DC podem ser aplicados ao bloco atual, e se a intrapredição de ISP também for aplicada, o modo planar ou o modo de DC podem ser aplicados ao bloco atual. De modo correspondente, a lista de MPM pode ser configurada com base na predição de MPM integrada sem depender de se o MRL, o ISP, ou similares, for aplicado. As Tabelas 16 a 24 são da seguinte forma, e os detalhes das Tabelas 16 a 24 serão prontamente entendidos pelos indivíduos versados na técnica.
[0188]A Tabela 16 abaixo expressa um exemplo da sintaxe de unidade de codificação. TABELA 16 coding_unit( x0, y0, cbWidth, cbHeight, treeType ) { Descritor … if( treeType = = SINGLE_TREE | | treeType = = DUAL_TREE_LUMA ) { if( ( y0 % CtbSizeY ) > 0 ) intra_luma_ref_idx[ x0 ][ y0 ] ae(v)
if (intra_luma_ref_idx[ x0 ][ y0 ] = = 0 && ( cbWidth <= MaxTbSizeY | | cbHeight <= MaxTbSizeY ) && ( cbWidth * cbHeight > MinTbSizeY * MinTbSizeY )) intra_subpartitions_mode_flag[ x0 ][ y0 ] ae(v) if( intra_subpartitions_mode_flag[ x0 ][ y0 ] = = 1 && cbWidth <= MaxTbSizeY && cbHeight <= MaxTbSizeY ) intra_subpartitions_split_flag[ x0 ][ y0 ] ae(v) if( intra_luma_ref_idx[ x0 ][ y0 ] = = 0 && intra_subpartitions_mode_flag[ x0 ][ y0 ] = = 0 ) intra_luma_mpm_flag[ x0 ][ y0 ] ae(v) if( intra_luma_mpm_flag[ x0 ][ y0 ] ) intra_planar_flag[ x0 ][ y0 ] ae(v) if (intra_planar_flag==0) intra_luma_mpm_idx[ x0 ][ y0 ] ae(v) Else intra_luma_mpm_remainder[ x0 ][ y0 ] ae(v) } … }
[0189]A sintaxe de unidade de codificação da Tabela 16 pode se basear, por exemplo, na semântica da Tabela 17 abaixo. TABELA 17 intra_luma_mpm_flag[ x0 ][ y0 ], intra_planar_flag[ x0 ][ y0 ], intra_luma_mpm_idx[ x0 ][ y0 ] e intra_luma_mpm_remainder[ x0 ][ y0 ] especificam o modo de intrapredição para amostras de luma.
Os índices de arranjo x0, y0 especificam o local ( x0 , y0 ) da amostra de luma superior esquerda do bloco de codificação considerado em relação à amostra de luma superior esquerda da figuração.
Quando intra_luma_mpm_flag[ x0 ][ y0 ] for igual a 1, o intra_planar_flag é analisado. Quando intra_planar_flag for igual a 1, especifica-se que a varável IntraPredModeY[ xCb ][ yCb ] é igual a INTRA_PLANAR. Quando intra_planar_flag for igual a 0, o modo de intrapredição é inferido a partir de uma unidade de codificação intrapredita vizinha de acordo com a cláusula 8.4.2.
Quando intra_luma_mpm_flag[ x0 ][ y0 ] não estiver presente, o mesmo é inferido como sendo igual a 1.
[0190]Em um exemplo, um processo de decodificação para as unidades de codificação que são codificadas no modo de intrapredição pode se basear no algoritmo (ou especificação) da Tabela 18 abaixo. TABELA 18
8.4.1 Processo de decodificação geral para unidades de codificação codificadas no modo de intrapredição - Se pcm_flag[ xCb ][ yCb ] for igual a 0, o seguinte se aplica:
1. Se intra_planar_flag[ x0 ][ y0 ] for igual a 1, IntraPredModeY[ xCb ][ yCb ] é igual a INTRA_PLANAR.
2. Caso contrário, o processo de derivação para o modo de intrapredição de luma conforme especificado na cláusula 8.4.2 é invocado com o local de luma( xCb, yCb ), a largura do bloco de codificação atual em amostras de luma cbWidth e a altura do bloco de codificação atual em amostras de luma cbHeight como entrada. A saída é IntraPredModeY[ xCb ][ yCb ] que especifica o modo de intrapredição de luma.
Com a derivação de IntraPredModeY[ xCb ][ yCb ] nas etapas anteriores, o processo de decodificação geral para blocos intra conforme especificado na cláusula 8.4.4.1 é invocado com o local de luma( xCb, yCb ), o tipo de árvore treeType, a variável nTbW definida igual a cbWidth, a variável nTbH definida igual a cbHeight, a variável predModeIntra definida igual a IntraPredModeY[ xCb ][ yCb ], e a variável cIdx definida igual a 0 como entradas, e a saída é uma figuração reconstruída modificada antes da filtragem em laço.
<elementos de sintaxe e binarizações associadas >
Estrutura de Binarização Elemento de sintaxe sintaxe Processo Parâmetros de entrada coding_unit( ) intra_planar_flag[ ][ ] FL cMax = 1 <Atribuição de ctxInc a elementos de sintaxe com bins codificados em contexto> Caso I binIdx Elemento de sintaxe 0 1 2 3 4 >= 5 intra_planar_flag[ ][ ] 0 na na na na na Caso II A atribuição de ctxInc é especificada da seguinte forma com condL e condA especificado para o elemento de sintaxe intra_planar_flag[ x0 ][ y0 ] ctxInc = (condL && availableL ) || (conA && availableA) ou ctxInc = (condL && availableL ) && (conA && availableA) - condL == PLANAR ? 1 : 0 - condA == PLANAR ? 1 : 0 - availableL que especifica a disponibilidade do bloco localizado diretamente à esquerda do bloco atual.
- availableA que especifica a disponibilidade do bloco localizado diretamente à esquerda do bloco atual.
binIdx Elemento de sintaxe 0 1 2 3 4 >= 5 intra_planar_flag[ ][ ] 0, 1 na na na na na Caso III A atribuição de ctxInc é especificada da seguinte forma com condL e condA especificado para o elemento de sintaxe intra_planar_flag[ x0 ][ y0 ] ctxInc = (condL && availableL ) + (conA && availableA)
- condL == PLANAR ? 1 : 0 - condA == PLANAR ? 1 : 0 - availableL que especifica a disponibilidade do bloco localizado diretamente à esquerda do bloco atual.
- availableA que especifica a disponibilidade do bloco localizado diretamente à esquerda do bloco atual.
binIdx Elemento de sintaxe 0 1 2 3 4 >= 5 intra_planar_flag[ ][ ] 0, 1, 2 na na na na na A modalidade anterior (caso I, caso II e caso III) é meramente um exemplo prático, o número de modelos de contexto pode ser arbitrariamente determinado.
[0191]Em um exemplo, um processo de derivação para o modo de intrapredição de luma pode se basear no algoritmo (ou especificação) da Tabela 19 abaixo. TABELA 19
8.4.2 Processo de derivação para modo de intrapredição de luma Processo de derivação para modo de intrapredição de luma Entradas para esse processo são: - um local de luma ( xCb , yCb ) que especifica a amostra superior esquerda do bloco de codificação de luma atual em relação à amostra de luma superior esquerda da figuração atual, - uma variável cbWidth que especifica uma largura do bloco de codificação atual em amostras de luma, - uma variável cbHeight que especifica a altura do bloco de codificação atual em amostras de luma.
Nesse processo, o modo de intrapredição de luma IntraPredModeY[ xCb ][ yCb ] é derivado.
Tabela 8-1 especifica o valor para o modo de intrapredição IntraPredModeY[ xCb ][ yCb ] e os nomes associados.
Tabela 8-1 – Especificação de modo de intrapredição e nomes associados Modo de intrapredição Nome associado 0 INTRA_PLANAR 1 INTRA_DC
2..66 INTRA_ANGULAR2..INTRA_ANGULAR66
81..83 INTRA_LT_CCLM, INTRA_L_CCLM, INTRA_T_CCLM NOTA – : Os modos de intrapredição INTRA_LT_CCLM, INTRA_L_CCLM e INTRA_T_CCLM são apenas aplicáveis a componentes de croma.
IntraPredModeY[ xCb ][ yCb ] é derivado pelas etapas ordenadas a seguir:
1. Os locais vizinhos ( xNbA, yNbA ) e ( xNbB, yNbB ) são definidos iguais a ( xCb − 1, yCb + cbHeight − 1 ) e ( xCb + cbWidth − 1, yCb − 1 ), respectivamente.
2. Para X sendo substituído por A ou B, as variáveis candIntraPredModeX são derivadas da seguinte forma: - O processo de derivação de disponibilidade para um bloco conforme especificado na cláusula 6.4.X [Ed. (BB): Processo de verificação de disponibilidade de blocos vizinhos tbd] é invocado com o local ( xCurr, yCurr ) definido igual a ( xCb, yCb ) e o local vizinho ( xNbY, yNbY ) definido igual a ( xNbX, yNbX ) como entradas, e a saída é atribuída à disponibilidade, por exemplo, - O modo de intrapredição candidato candIntraPredModeX é derivado da seguinte forma: - Se uma ou mais condições a seguir forem verdadeiras, candIntraPredModeX é definido igual a INTRA_PLANAR.
- A variável availableX é igual a FALSE.
- CuPredMode[ xNbX ][ yNbX ] não é igual a MODE_INTRA - pcm_flag[ xNbX ][ yNbX ] é igual a 1.
- X é igual a B e yCb − 1 é menor que ( ( yCb >> CtbLog2SizeY ) << CtbLog2SizeY ).
- Caso contrário, candIntraPredModeX é definido igual a IntraPredModeY[ xNbX ][ yNbX ].
3. O candModeList[ x ] com x = 0..4 é derivado da seguinte forma:
- Se candIntraPredModeB for igual a candIntraPredModeA e candIntraPredModeA for maior que INTRA_DC, candModeList[ x ] com x = 0..4 é derivado da seguinte forma:
candModeList[ 0 ] = candIntraPredModeA (8-10)
candModeList[ 1 ] = 2 + ( ( candIntraPredModeA + 61 ) % 64 ) (8-12)
candModeList[ 2] = 2 + ( ( candIntraPredModeA − 1 ) % 64 ) (8-13)
candModeList[ 3 ] = INTRA_DC (8-11)
candModeList[ 4 ] = 2 + ( ( candIntraPredModeA + 60 ) % 64 ) (8-14)
- Caso contrário, se candIntraPredModeB não for igual a candIntraPredModeA e candIntraPredModeA ou candIntraPredModeB for maior que INTRA_DC, o seguinte se aplica:
- As variáveis minAB e maxAB são derivadas da seguinte forma:
minAB = Min( candIntraPredModeA, candIntraPredModeB ) (8-24)
maxAB = Max( candIntraPredModeA, candIntraPredModeB ) (8-25)
- Se candIntraPredModeA e candIntraPredModeB forem ambos maiores que
INTRA_DC, candModeList[ x ] com x = 0..4 é derivado da seguinte forma:
candModeList[ 0 ] = candIntraPredModeA (8-27)
candModeList[ 1 ] = candIntraPredModeB candModeList[ 2 ] = INTRA_DC (8-29)
- Se maxAB − minAB estiver na faixa de 2 a 62, inclusive, o seguinte se aplica:
candModeList[ 3 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-30)
candModeList[ 4 ] = 2 + ( ( maxAB − 1 ) % 64 ) (8-31)
- Caso contrário, o seguinte se aplica:
candModeList[ 3 ] = 2 + ( ( maxAB + 60 ) % 64 ) (8-32)
candModeList[ 4 ] = 2 + ( ( maxAB ) % 64 ) (8-33)
- Caso contrário (candIntraPredModeA ou candIntraPredModeB é maior que
INTRA_DC), candModeList[ x ] com x = 0..4 é derivado da seguinte forma:
candModeList[ 0 ] = maxAB (8-65) candModeList[ 1 ] = INTRA_DC (8-66) candModeList[ 2 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-66) candModeList[ 3 ] = 2 + ( ( maxAB − 1 ) % 64 ) (8-67) candModeList[ 4 ] = 2 + ( ( maxAB + 60 ) % 64 ) (8-68) - Caso contrário, o seguinte se aplica: candModeList[ 0 ] = INTRA_DC (8-71) candModeList[ 1 ] = INTRA_ANGULAR50 (8-72) candModeList[ 2 ] = INTRA_ANGULAR18 (8-73) candModeList[ 3 ] = INTRA_ANGULAR46 (8-74) candModeList[ 4 ] = INTRA_ANGULAR54 (8-75) (8-81)
4. IntraPredModeY[ xCb ][ yCb ] é derivado aplicando-se o procedimento a seguir: - Se intra_luma_mpm_flag[ xCb ][ yCb ] for igual a 1, o IntraPredModeY[ xCb ][ yCb ] é definido igual a candModeList[ intra_luma_mpm_idx[ xCb ][ yCb ] ].
- Caso contrário, IntraPredModeY[ xCb ][ yCb ] é derivado aplicando-se as etapas ordenadas a seguir:
1. Quando candModeList[ i ] for maior que candModeList[ j ] para i = 0..4 e para cada i, j = ( i + 1 )..5, ambos os valores são trocados da seguinte forma: ( candModeList[ i ], candModeList[ j ] ) = Swap( candModeList[ i ], candModeList[ j ] ) (8-94)
2. IntraPredModeY[ xCb ][ yCb ] é derivado pelas etapas ordenadas a seguir: i. IntraPredModeY[ xCb ][ yCb ] é definido igual a intra_luma_mpm_remainder[ xCb ][ yCb ].
ii. Para i igual a 0 a 5, inclusive, quando IntraPredModeY[ xCb ][ yCb ] for maior ou igual a candModeList[ i ], o valor de IntraPredModeY[ xCb ][ yCb ] é incrementado por um.
A variável IntraPredModeY[ x ][ y ] com x = xCb..xCb + cbWidth − 1 e y = yCb..yCb + cbHeight − 1 é definido como sendo igual a IntraPredModeY[ xCb ][ yCb ].
[0192]Em um exemplo, um processo para decodificar os blocos intra pode se basear no algoritmo (ou especificação) da Tabela 20 abaixo. TABELA 20
8.4.4.1 Processo de decodificação geral para blocos intra … - Para xPartIdx = 0..numPartsX − 1 e yPartIdx = 0..numPartsY − 1, o seguinte se aplica: O processo de intrapredição de amostra geral conforme especificado na cláusula 8.4.4.2.1 é invocado com o local ( xTbCmp, yTbCmp ) definido igual a ( xTb0 + nW * xPartIdx, yTb0 + nH * yPartIdx ), o modo de intrapredição predModeIntra, a largura de bloco de transformada nTbW e a altura nTbH definidas iguais a nW e nH, a largura de bloco de codificação nCbW e a altura nCbH definidas iguais a nTbW e nTbH, e a variável cIdx como entradas, e a saída é um arranjo (nTbW)x(nTbH) predSamples.
[0193]Em um exemplo, a intrapredição de amostra pode se basear no algoritmo (ou especificação) da Tabela 21 abaixo. TABELA 21
8.4.4.2.1 Intrapredição de amostra geral O processo de intrapredição de amostra de acordo com predModeIntra se aplicada da seguinte forma: - Se predModeIntra for igual a INTRA_PLANAR, o processo de modo de intrapredição correspondente especificado na cláusula 8.4.4.2.5 é invocado com a largura de bloco de transformada nTbW, e a altura de bloco de transformada nTbH, o índice de linha de referência de intrapredição refIdx, e o arranjo de amostra de referência p como entradas, e a saída é o arranjo de amostra predita predSamples.
- Caso contrário, se predModeIntra for igual a INTRA_DC, o processo de modo de intrapredição correspondente especificado na cláusula 8.4.4.2.6 é invocado com a largura de bloco de transformada nTbW, a altura de bloco de transformada nTbH, o índice de linha de referência de intrapredição refIdx, e o arranjo de amostra de referência p como entradas, e a saída é o arranjo de amostra predita predSamples.
- Caso contrário, se predModeIntra for igual a INTRA_LT_CCLM, INTRA_L_CCLM ou INTRA_T_CCLM, o processo de modo de intrapredição correspondente especificado na cláusula
8.4.4.2.8 é invocado com o modo de intrapredição predModeIntra, o local de amostra ( xTbC, yTbC ) definido igual a ( xTbCmp, yTbCmp ), a largura de bloco de transformada nTbW e a altura nTbH, e o arranjo de amostra de referência p como entradas, e a saída é o arranjo de amostra predita predSamples.
- Caso contrário, o processo de modo de intrapredição correspondente especificado na cláusula
8.4.4.2.7 é invocado com o modo de intrapredição predModeIntra, o índice de linha de referência de intrapredição refIdx, a largura de bloco de transformada nTbW, a altura de bloco de transformada nTbH, a largura de amostra de referência refW, a altura de amostra de referência refH, a largura de bloco de codificação nCbW e a altura nCbH, o índice de componente de cor cIdx, e o arranjo de amostra de referência p como entradas, e o modo de intrapredição modificado predModeIntra e o arranjo de amostra predita predSamples como saídas.
[0194]Em um exemplo, o modo planar intra, o modo DC intra, e similares, pode se basear no algoritmo (ou especificação) da Tabela 22 abaixo. TABELA 22
8.4.4.2.5 Especificação de modo de intrapredição INTRA_PLANAR Especificação de modo de intrapredição INTRA_PLANAR Entradas a esse processo são: - uma variável nTbW que especifica a largura de bloco de transformada, - uma variável nTbH que especifica a altura de bloco de transformada, - uma variável refIdx que especifica o índice de linha de referência de intrapredição, - as amostras vizinhas p[ x ][ y ], com x = −1−refIdx, y = −1−refIdx..nTbH e x = −refIdx..nTbW, y =
−1−refIdx.
Saídas desse processo são as amostras preditas predSamples[ x ][ y ], com x = 0..nTbW − 1, y =
0..nTbH − 1.
As variáveis nW e nH são derivadas da seguinte forma: nW = Max( nTbW, 2 ) (8-116) nH = Max( nTbH, 2 ) (8-117) Os valores das amostras de predição predSamples[ x ][ y ], com x = 0..nTbW − 1 e y =
0..nTbH − 1, são derivados da seguinte forma:predV[ x ][ y ] = ( ( nH − 1 − y ) * p[ x ][ −1 −refIdx] + ( y + 1 ) * p[ −1− refIdx][ nTbH ] ) << Log2 ( nW ) (8-118) predH[ x ][ y ] = ( ( nW − 1 − x ) * p[ −1− refIdx ][ y ] + ( x + 1 ) * p[ nTbW ][ −1− refIdx ] ) << Log2 ( nH ) (8-119) predSamples[ x ][ y ] = ( predV[ x ][ y ] + predH[ x ][ y ] + nW * nH ) >> (Log2 ( nW ) + Log2 ( nH ) + 1 ) (8-120)
8.4.4.2.6 Especificação de INTRA_DC modo de intrapredição Entradas a esse processo são: - uma variável nTbW que especifica a largura de bloco de transformada, - uma variável nTbH que especifica a altura de bloco de transformada, - uma variável refIdx que especifica o índice de linha de referência de intrapredição, - as amostras vizinhas p[ x ][ y ], com x = −1−refIdx, y = −1−refIdx..nTbH − 1 e x = −refIdx..nTbW − 1 , y = −1−refIdx.
Saídas desse processo são as amostras preditas predSamples[ x ][ y ], com x = 0..nTbW − 1, y =
0..nTbH − 1.
Os valores das amostras de predição predSamples[ x ][ y ], com x = 0..nTbW − 1, y = 0..nTbH − 1, são derivados pelas etapas ordenadas a seguir:
1. Uma variável dcVal é derivada da seguinte forma: - Quando nTbW for igual a nTbH: dcVal = ∑nTbW p[𝑥 ][−1 − refIdx] + ∑ p[−1 − refIdx][𝑦 ] + nTbW ≫
(Log2(nTbW) + 1) (8-121) - Quando nTbW for maior que nTbH: dcVal = ∑nTbW p[𝑥 ][−1 − refIdx] + (nTbW ≫ 1) ≫ Log2(nTbW) (8-122) - Quando nTbW for menor que nTbH: dcVal = ∑nTbH p[−1 − refIdx][𝑦 ] + (nTbH ≫ 1) ≫ Log2(nTbH) (8-123)
2. As amostras de predição predSamples[x][y] são derivados da seguinte forma: predSamples[ x ][ y ] = dcVal, com x = 0.. nTbW − 1, y = 0.. nTbH − 1 (8-124)
[0195]Em um exemplo, um processo para transformar coeficientes de transformada escalonados, e similares, pode se basear no algoritmo (ou especificação) da Tabela 23 abaixo. TABELA 23
8.7.4.1 Processo de transformada para coeficientes de transformada escalonados Entradas a esse processo são: - um local de luma ( xTbY, yTbY ) que especifica a amostra superior esquerda do bloco de transformada de luma atual em relação à amostra de luma superior esquerda da figuração atual, - uma variável nTbW que especifica a largura do bloco de transformada atual, - uma variável nTbH que especifica a altura do bloco de transformada atual, - uma variável cIdx que especifica o componente de cor do bloco atual, - um arranjo (nTbW)x(nTbH) d[ x ][ y ] de coeficientes de transformada escalonados com x =
0..nTbW − 1, y = 0..nTbH − 1.
Saída desse processo é o arranjo (nTbW)x(nTbH) r[ x ][ y ] de amostras residuais com x = 0..nTbW − 1, y = 0..nTbH − 1.
A variável implicitMtsEnabled é derivada da seguinte forma: - Se sps_mts_enabled_flag for igual a 1 e uma das condições a seguir for verdadeira, implicitMtsEnabled é definido igual a 1:
- IntraSubPartitionsSplitType não é igual a ISP_NO_SPLIT - cu_sbt_flag é igual a 1 e Max( nTbW, nTbH ) é menor ou igual a 32 - sps_explicit_mts_intra_enabled_flag e sps_explicit_mts_inter_enabled_flag são ambos iguais a 0 e CuPredMode[ xTbY ][ yTbY ] é igual a MODE_INTRA - Caso contrário, implicitMtsEnabled é definido igual a 0.
A variável trTypeHor que especifica o núcleo de transformada horizontal e a variável trTypeVer que especifica o núcleo de transformada vertical são derivadas da seguinte forma: - Se cIdx for maior que 0, trTypeHor e trTypeVer são definidos iguais a 0.
- Caso contrário, se implicitMtsEnabled for igual a 1, o seguinte se aplica: - Se IntraSubPartitionsSplitType não for igual a ISP_NO_SPLIT ou (sps_explicit_mts_intra_enabled_flag e sps_explicit_mts_inter_enabled_flag forem iguais a 0), trTypeHor e trTypeVer são derivados da seguinte forma - trTypeHor = ( nTbW >= 4 && nTbW <= 16 ) ? 1 : 0 (8-1028) - trTypeVer = ( nTbH >= 4 && nTbH <= 16 ) ? 1 : 0 (8-1029) Caso contrário, se cu_sbt_flag for igual a 1, trTypeHor e trTypeVer são especificados na Tabela 8-14 dependendo de cu_sbt_horizontal_flag e cu_sbt_pos_flag.
Tabela 9-5 – Associação de ctxIdxOffset e elementos de sintaxe para cada initializationType no processo de inicialização Estrutura de initType Elemento de sintaxe ctxTable sintaxe 0 1 2 coding_tree_unit( ) alf_ctb_flag[ ][ ][ ] Tabela 9-6 0 9 18 … coding_unit( ) cu_skip_flag[ ][ ] 0 3 pred_mode_ibc_flag pred_mode_flag intra_luma_ref_idx[ ][ ] intra_subpartitions_mode_flag intra_subpartition_split_flag intra_luma_mpm_flag[ ][ ]
intra_planar_flag[ ][ ]
intra_chroma_pred_mode[ ][ ]
merge_flag[ ][ ]
inter_pred_idc[ x0 ][ y0 ]
inter_affine_flag[ ][ ]
cu_affine_type_flag[ ][ ]
ref_idx_l0[ ][ ]
mvp_l0_flag[ ][ ]
ref_idx_l1[ ][ ]
mvp_l1_flag[ ][ ]
avmr_flag[ ][ ]
amvr_precision_flag[ ][ ]
gbi_idx[ ][ ]
cu_cbf cu_sbt_flag cu_sbt_quad_flag cu_sbt_horizontal_flag cu_sbt_pos_flag
Tabela 9.9 – Elementos de sintaxe e binarizações associadas
Estrutura de Binarização Elemento de sintaxe sintaxe Processo Parâmetros de entrada coding_unit( ) cu_skip_flag[ ][ ] FL cMax = 1 pred_mode_ibc_flag FL cMax = 1 pred_mode_flag FL cMax = 1 pcm_flag[ ][ ] FL cMax = 1 intra_luma_ref_idx[ ][ ] TR cMax = 2, cRiceParam = 0 intra_subpartitions_mode_flag FL cMax = 1 intra_subpartition_split_flag FL cMax = 1 intra_luma_mpm_flag[ ][ ] FL cMax = 1 intra_planar_flag[ ][ ] FL cMax=1 intra_luma_mpm_idx[ ][ ] TR cMax = 4, cRiceParam = 0 intra_luma_mpm_remainder[ ][ ] TB cMax = 60 intra_chroma_pred_mode[ ][ ] 9.5.3.8 -
merge_flag[ ][ ] FL cMax = 1 inter_pred_idc[ x0 ][ y0 ] 9.5.3.9 cbWidth, cbHeight inter_affine_flag[ ][ ] FL cMax = 1 cu_affine_type_flag[ ][ ] FL cMax = 1 cMax = NumRefIdxActive[ 0 ] − 1, ref_idx_l0[ ][ ] TR cRiceParam = 0 mvp_l0_flag[ ][ ] FL cMax = 1 cMax = NumRefIdxActive[ 1 ] − 1, ref_idx_l1[ ][ ] TR cRiceParam = 0 mvp_l1_flag[ ][ ] FL cMax = 1 avmr_flag[ ][ ] FL cMax = 1 amvr_precision_flag[ ][ ] FL cMax = 1 cMax = NoBackwardPredFlag ? 4: 2 gbi_idx[ ][ ] TR cu_cbf FL cMax = 1 cu_sbt_flag FL cMax = 1 cu_sbt_quad_flag FL cMax = 1 cu_sbt_horizontal_flag FL cMax = 1 cu_sbt_pos_flag FL cMax = 1
[0196]Em um exemplo, um exemplo de atribuir ctxInc a elementos de sintaxe que incluem bins codificados em contexto pode se basear na Tabela 24 abaixo. TABELA 24 binIdx Elemento de sintaxe 0 1 2 3 4 >= 5 intra_luma_ref_idx[ ][ ] 0 1 na na na na intra_subpartitions_mode_flag 0 na na na na na intra_subpartition_split_flag 0 na na na na na intra_luma_mpm_flag[ ][ ] 0 na na na na na intra_planar_flag[ ][ ] intra_luma_ref_idx!=0 ? 2: na na na na na (intra_subpartitions_mode_ flag? 0: 1) intra_luma_mpm_idx[ ][ ] derivar derivar derivar derivar derivar na intra_luma_mpm_remainder[ ][ ] derivar derivar derivar derivar derivar derivar intra_chroma_pred_mode[ ][ ] 0 derivar derivar na na Na sps_cclm_enabled_flag = = 0
[0197]Uma modalidade exemplificadora propõe um método para realizar a predição de MPM integrado e um método para codificar e/ou sinalizar informações sobre modos de intrapredição relacionados. Ademais, uma modalidade exemplificadora propõe um método para derivar um núcleo de transformada. De acordo com uma modalidade exemplificadora, a sintaxe de unidade de codificação expressada nas Tabelas 16 a 24 pode ser configurada/codificada e sinalizada ao aparelho de decodificação, e o aparelho de decodificação pode derivar o modo de intrapredição para o bloco atual (CU) com base na sintaxe de unidade de codificação e na lista de MPM.
[0198]Por exemplo, de acordo com a presente modalidade exemplificadora, a lista de MPM pode incluir o modo planar como um modo candidato, e se o valor do sinalizador de MPM for 1, o sinalizador planar (intra_planar_flag) pode ser primeiro sinalizado para indicar se o modo planar é usado como o modo de intrapredição do bloco atual. Se o valor do sinalizador planar for 0, o índice de MPM (intra_luma_mpm_idx) pode ser sinalizado para indicar um dos candidatos de MPM restantes além do modo planar. Nesse momento, em um exemplo, a lista de MPM incluindo os candidatos restantes além do modo planar pode ser referida como uma lista de MPM modificada.
[0199]Se um número total de candidatos de MPM incluindo o modo planar for 6, o número total de candidatos na lista de MPM modificada além do modo planar pode ser igual a 5, e, nesse caso, os valores do índice de MPM podem ser de 0 a 4. Ou seja, o valor máximo do índice de MPM pode ser definido como 4. Nesse momento, o valor máximo do índice de MPM pode ser representado como cMAX do índice de MPM. O bin do sinalizador planar pode ser codificado regular com base em um modelo de contexto conforme descrito mais adiante nas Tabelas 25 a 33, e, conforme descrito mais adiante nas Tabelas 25 a 33, ctxInc para indicar o modelo de contexto i) pode usar apenas um valor específico (por exemplo, 0), ii) pode ser variavelmente derivado com base em se o bloco vizinho esquerdo e/ou o bloco vizinho superior estão disponíveis e o valor do sinalizador planar (caso disponível), ou iii) também pode ter o valor variavelmente determinado dependendo em se o MRL ou o ISP é aplicado. Ademais, de acordo com a presente modalidade exemplificadora, um núcleo de transformada (núcleo de transformada vertical/núcleo de transformada horizontal) para o bloco atual pode ser derivado com base no tamanho e/ou tipo/modo de intrapredição do bloco atual. Por exemplo, conforme descrito mais adiante nas Tabelas 25 a 33 abaixo, se o ISP não for aplicado ao bloco atual ou não estiver disponível, o núcleo de transformada (núcleo de transformada vertical/núcleo de transformada horizontal) pode ser derivado como um valor de 1 ou 0 ainda com referência ao tamanho do bloco atual.
[0200]De acordo com a presente modalidade exemplificadora, a lista de MPM pode ser configurada com base na predição de MPM integrada dependendo de se o MRL, o ISP, ou similares, é aplicado. As Tabelas 25 a 33 são da seguinte forma, e os detalhes das Tabelas 25 a 33 serão prontamente entendidos pelos indivíduos versados na técnica.
[0201]A Tabela 25 abaixo expressa um exemplo da sintaxe de unidade de codificação. TABELA 25 coding_unit( x0, y0, cbWidth, cbHeight, treeType ) { Descritor … if( treeType = = SINGLE_TREE | | treeType = = DUAL_TREE_LUMA ) { if( ( y0 % CtbSizeY ) > 0 ) intra_luma_ref_idx[ x0 ][ y0 ] ae(v) if (intra_luma_ref_idx[ x0 ][ y0 ] = = 0 && ( cbWidth <= MaxTbSizeY | | cbHeight <= MaxTbSizeY ) && ( cbWidth * cbHeight > MinTbSizeY * MinTbSizeY )) intra_subpartitions_mode_flag[ x0 ][ y0 ] ae(v) if( intra_subpartitions_mode_flag[ x0 ][ y0 ] = = 1 && cbWidth <= MaxTbSizeY && cbHeight <= MaxTbSizeY ) intra_subpartitions_split_flag[ x0 ][ y0 ] ae(v) if( intra_luma_ref_idx[ x0 ][ y0 ] = = 0 && intra_subpartitions_mode_flag[ x0 ][ y0 ] = = 0 ) intra_luma_mpm_flag[ x0 ][ y0 ] ae(v)
if( intra_luma_mpm_flag[ x0 ][ y0 ]) { if (intra_luma_ref_idx[ x0 ][ y0 ] = = 0) intra_planar_flag[ x0 ][ y0 ] ae(v) if (intra_planar_flag==0) intra_luma_mpm_idx[ x0 ][ y0 ] ae(v) } Else intra_luma_mpm_remainder[ x0 ][ y0 ] ae(v) } … }
[0202]A sintaxe de unidade de codificação da Tabela 25 pode se basear, por exemplo, na semântica da Tabela 26 abaixo. TABELA 26 intra_luma_mpm_flag[ x0 ][ y0 ], intra_planar_flag[ x0 ][ y0 ], intra_luma_mpm_idx[ x0 ][ y0 ] e intra_luma_mpm_remainder[ x0 ][ y0 ] especificam o modo de intrapredição para amostras de luma.
Os índices de arranjo x0, y0 especificam o local ( x0 , y0 ) da amostra de luma superior esquerda do bloco de codificação considerado em relação à amostra de luma superior esquerda da figuração.
Quando intra_luma_mpm_flag[ x0 ][ y0 ] for igual a 1, o intra_planar_flag é analisado. Quando intra_planar_flag for igual a 1, especifica-se que a variável IntraPredModeY[ xCb ][ yCb ] é igual a INTRA_PLANAR. Quando intra_planar_flag for igual a 0, o modo de intrapredição é inferido a partir de uma unidade de codificação intrapredita vizinha de acordo com a cláusula 8.4.2.
Quando intra_luma_mpm_flag[ x0 ][ y0 ] não estiver presente, o mesmo é inferido como sendo igual a 1.
[0203]Em um exemplo, um processo para decodificar a unidade de codificação que é codificada no modo de intrapredição pode se basear no algoritmo
(ou especificação) da Tabela 27 abaixo. TABELA 27
8.4.1 Processo de decodificação geral para unidades de codificação no modo de intrapredição - Se pcm_flag[ xCb ][ yCb ] for igual a 0, o seguinte se aplica:
1. Se intra_planar_flag[ x0 ][ y0 ] for igual a 1, IntraPredModeY[ xCb ][ yCb ] é igual a INTRA_PLANAR.
2. Caso contrário, o processo de derivação para o modo de intrapredição de luma conforme especificado na cláusula 8.4.2 é invocado com o local de luma( xCb, yCb ), a largura do bloco de codificação atual em amostras de luma cbWidth e a altura do bloco de codificação atual em amostras de luma cbHeight como entrada. A saída é IntraPredModeY[ xCb ][ yCb ] que especifica o modo de intrapredição de luma.
Com a derivação de IntraPredModeY[ xCb ][ yCb ] nas etapas anteriores, o processo de decodificação geral para blocos intra conforme especificado na cláusula 8.4.4.1 é invocado com o local de luma( xCb, yCb ), o tipo de árvore treeType, a variável nTbW definida igual a cbWidth, a variável nTbH definida igual a cbHeight, a variável predModeIntra definida igual a IntraPredModeY[ xCb ][ yCb ], e a variável cIdx definida igual a 0 como entradas, e a saída é uma figuração reconstruída modificada antes da filtragem em laço.
<elementos de sintaxe e binarizações associadas > Estrutura de Binarização Elemento de sintaxe sintaxe Processo Parâmetros de entrada coding_unit( ) intra_planar_flag[ ][ ] FL cMax = 1 <Atribuição de ctxInc a elementos de sintaxe com bins codificados em contexto> Caso I binIdx Elemento de sintaxe 0 1 2 3 4 >= 5 intra_planar_flag[ ][ ] 0 na na na na na
Caso II A atribuição de ctxInc é especificada da seguinte forma com condL e condA especificado para o elemento de sintaxe intra_planar_flag[ x0 ][ y0 ] ctxInc = (condL && availableL ) || (conA && availableA) ou ctxInc = (condL && availableL ) && (conA && availableA) - condL == PLANAR ? 1 : 0 - condA == PLANAR ? 1 : 0 - availableL que especifica a disponibilidade do bloco localizado diretamente à esquerda do bloco atual.
- availableA que especifica a disponibilidade do bloco localizado diretamente à esquerda do bloco atual.
binIdx Elemento de sintaxe 0 1 2 3 4 >= 5 intra_planar_flag[ ][ ] 0, 1 na na na na na Caso III A atribuição de ctxInc é especificada da seguinte forma com condL e condA especificado para o elemento de sintaxe intra_planar_flag[ x0 ][ y0 ] ctxInc = (condL && availableL ) + (conA && availableA) - condL == PLANAR ? 1 : 0 - condA == PLANAR ? 1 : 0 - availableL que especifica a disponibilidade do bloco localizado diretamente à esquerda do bloco atual.
availableA que especifica a disponibilidade do bloco localizado diretamente à esquerda do bloco atual.
binIdx Elemento de sintaxe 0 1 2 3 4 >= 5 intra_planar_flag[ ][ ] 0, 1, 2 na na na na na A modalidade anterior (caso I, caso II e caso III) é meramente um exemplo prático, o número de modelos de contexto pode ser arbitrariamente determinado.
[0204]Em um exemplo, um processo para decodificar o modo de intrapredição de luma pode se basear no algoritmo (ou especificação) da Tabela 28 abaixo. TABELA 28
8.4.2 Processo de derivação para modo de intrapredição de luma Processo de derivação para modo de intrapredição de luma Entradas para esse processo são: - um local de luma ( xCb , yCb ) que especifica a amostra superior esquerda do bloco de codificação de luma atual em relação à amostra de luma superior esquerda da figuração atual, - uma variável cbWidth que especifica uma largura do bloco de codificação atual em amostras de luma, - uma variável cbHeight que especifica a altura do bloco de codificação atual em amostras de luma.
Nesse processo, o modo de intrapredição de luma IntraPredModeY[ xCb ][ yCb ] é derivado.
Tabela 8-1 especifica o valor para o modo de intrapredição IntraPredModeY[ xCb ][ yCb ] e os nomes associados.
Tabela 8-1 – Especificação de modo de intrapredição e nomes associados Modo de intrapredição Nome associado 0 INTRA_PLANAR 1 INTRA_DC
2..66 INTRA_ANGULAR2..INTRA_ANGULAR66
81..83 INTRA_LT_CCLM, INTRA_L_CCLM, INTRA_T_CCLM NOTA – : Os modos de intrapredição INTRA_LT_CCLM, INTRA_L_CCLM e INTRA_T_CCLM são apenas aplicáveis a componentes de croma.
IntraPredModeY[ xCb ][ yCb ] é derivado pelas etapas ordenadas a seguir:
1. Os locais vizinhos ( xNbA, yNbA ) e ( xNbB, yNbB ) são definidos iguais a ( xCb − 1, yCb + cbHeight − 1 ) e ( xCb + cbWidth − 1, yCb − 1 ), respectivamente.
2. Para X sendo substituído por A ou B, as variáveis candIntraPredModeX são derivadas da seguinte forma: - O processo de derivação de disponibilidade para um bloco conforme especificado na cláusula 6.4.X [Ed. (BB): Processo de verificação de disponibilidade de blocos vizinhos tbd] é invocado com o local ( xCurr, yCurr ) definido igual a ( xCb, yCb ) e o local vizinho ( xNbY, yNbY ) definido igual a ( xNbX, yNbX ) como entradas, e a saída é atribuída à disponibilidade, por exemplo, - O modo de intrapredição candidato candIntraPredModeX é derivado da seguinte forma: - Se uma ou mais das condições a seguir forem verdadeiras, candIntraPredModeX é definido igual a INTRA_PLANAR.
- A variável availableX é igual a FALSE.
- CuPredMode[ xNbX ][ yNbX ] não é igual a MODE_INTRA - pcm_flag[ xNbX ][ yNbX ] é igual a 1.
- X é igual a B e yCb − 1 é menor que ( ( yCb >> CtbLog2SizeY ) << CtbLog2SizeY ).
- Caso contrário, candIntraPredModeX é definido igual a IntraPredModeY[ xNbX ][ yNbX ].
3. O candModeList[ x ] com x = 0..4 é derivado da seguinte forma: - Se candIntraPredModeB for igual a candIntraPredModeA e candIntraPredModeA for maior que INTRA_DC, candModeList[ x ] com x = 0..4 é derivado da seguinte forma: candModeList[ 0 ] = candIntraPredModeA (8-10) candModeList[ 1 ] = 2 + ( ( candIntraPredModeA + 61 ) % 64 ) (8-12) candModeList[ 2] = 2 + ( ( candIntraPredModeA − 1 ) % 64 ) (8-13)
candModeList[ 3 ] = INTRA_DC (8-11)
candModeList[ 4 ] = 2 + ( ( candIntraPredModeA + 60 ) % 64 ) (8-14)
- Caso contrário, se candIntraPredModeB não for igual a candIntraPredModeA e candIntraPredModeA ou candIntraPredModeB for maior que INTRA_DC, o seguinte se aplica:
- As variáveis minAB e maxAB são derivadas da seguinte forma:
minAB = Min( candIntraPredModeA, candIntraPredModeB ) (8-24)
maxAB = Max( candIntraPredModeA, candIntraPredModeB ) (8-25)
- Se candIntraPredModeA e candIntraPredModeB forem ambos maiores que
INTRA_DC, candModeList[ x ] com x = 0..4 é derivado da seguinte forma:
candModeList[ 0 ] = candIntraPredModeA (8-27)
candModeList[ 1 ] = candIntraPredModeB candModeList[ 2 ] = INTRA_DC (8-29)
- Se maxAB − minAB estiver na faixa de 2 a 62, inclusive, o seguinte se aplica:
candModeList[ 3 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-30)
candModeList[ 4 ] = 2 + ( ( maxAB − 1 ) % 64 ) (8-31)
- Caso contrário, o seguinte se aplica:
candModeList[ 3 ] = 2 + ( ( maxAB + 60 ) % 64 ) (8-32)
candModeList[ 4 ] = 2 + ( ( maxAB ) % 64 ) (8-33)
- Caso contrário (candIntraPredModeA ou candIntraPredModeB é maior que
INTRA_DC), candModeList[ x ] com x = 0..4 é derivado da seguinte forma:
candModeList[ 0 ] = maxAB (8-65)
candModeList[ 1 ] = INTRA_DC (8-66)
candModeList[ 2 ] = 2 + ( ( maxAB + 61 ) % 64 ) (8-66)
candModeList[ 3 ] = 2 + ( ( maxAB − 1 ) % 64 ) (8-67)
candModeList[ 4 ] = 2 + ( ( maxAB + 60 ) % 64 ) (8-68)
- Caso contrário, o seguinte se aplica: candModeList[ 0 ] = INTRA_DC (8-71) candModeList[ 1 ] = INTRA_ANGULAR50 (8-72) candModeList[ 2 ] = INTRA_ANGULAR18 (8-73) candModeList[ 3 ] = INTRA_ANGULAR46 (8-74) candModeList[ 4 ] = INTRA_ANGULAR54 (8-75) (8-81)
4. IntraPredModeY[ xCb ][ yCb ] é derivado aplicando-se o procedimento a seguir: - Se intra_luma_mpm_flag[ xCb ][ yCb ] for igual a 1, o IntraPredModeY[ xCb ][ yCb ] é definido igual a candModeList[ intra_luma_mpm_idx[ xCb ][ yCb ] ].
- Caso contrário, IntraPredModeY[ xCb ][ yCb ] é derivado aplicando-se as etapas ordenadas a seguir:
1. Quando candModeList[ i ] for maior que candModeList[ j ] para i = 0..4 e para cada i, j = ( i + 1 )..5, ambos os valores são trocados da seguinte forma: ( candModeList[ i ], candModeList[ j ] ) = Swap( candModeList[ i ], candModeList[ j ] ) (8-94)
2. IntraPredModeY[ xCb ][ yCb ] é derivado pelas etapas ordenadas a seguir: i. IntraPredModeY[ xCb ][ yCb ] é definido igual a intra_luma_mpm_remainder[ xCb ][ yCb ].
ii. Para i igual a 0 a 5, inclusive, quando IntraPredModeY[ xCb ][ yCb ] for maior ou igual a candModeList[ i ], o valor de IntraPredModeY[ xCb ][ yCb ] é incrementado por um.
A variável IntraPredModeY[ x ][ y ] com x = xCb..xCb + cbWidth − 1 e y = yCb..yCb + cbHeight − 1 é definida como sendo igual a IntraPredModeY[ xCb ][ yCb ].
[0205]Em um exemplo, um processo para decodificar os blocos intra pode se basear no algoritmo (ou especificação) da Tabela 29 abaixo. TABELA 29
8.4.4.1 Processo de decodificação geral para blocos intra … - Para xPartIdx = 0..numPartsX − 1 e yPartIdx = 0..numPartsY − 1, o seguinte se aplica: O processo de intrapredição intra geral conforme especificado na cláusula 8.4.4.2.1 é invocado com o local ( xTbCmp, yTbCmp ) definido igual a ( xTb0 + nW * xPartIdx, yTb0 + nH * yPartIdx ), o modo de intrapredição predModeIntra, a largura de bloco de transformada nTbW e a altura nTbH definida igual a nW e nH, a largura de bloco de codificação nCbW e a altura nCbH definida igual a nTbW e nTbH, e a variável cIdx como entradas, e a saída é um arranjo (nTbW)x(nTbH) predSamples.
[0206]Em um exemplo, a intrapredição de amostra pode se basear no algoritmo (ou especificação) da Tabela 30 abaixo. TABELA 30
8.4.4.2.1 Intrapredição de amostra geral O processo de intrapredição de amostra de acordo com predModeIntra se aplica da seguinte forma: - Se predModeIntra for igual a INTRA_PLANAR, o processo de modo de intrapredição correspondente especificado na cláusula 8.4.4.2.5 é invocado com a largura de bloco de transformada nTbW, e a altura de bloco de transformada nTbH, o índice de linha de referência de intrapredição refIdx, e o arranjo de amostra de referência p como entradas, e a saída é o arranjo de amostra predita predSamples.
- Caso contrário, se predModeIntra for igual a INTRA_DC, o processo de modo de intrapredição correspondente especificado na cláusula 8.4.4.2.6 é invocado com a largura de bloco de transformada nTbW, a altura de bloco de transformada nTbH, o índice de linha de referência de intrapredição refIdx, e o arranjo de amostra de referência p como entradas, e a saída é o arranjo de amostra predita predSamples.
- Caso contrário, se predModeIntra for igual a INTRA_LT_CCLM, INTRA_L_CCLM ou INTRA_T_CCLM, o processo de modo de intrapredição correspondente especificado na cláusula
8.4.4.2.8 é invocado com o modo de intrapredição predModeIntra, o local de amostra ( xTbC,
yTbC ) definido igual a ( xTbCmp, yTbCmp ), a largura de bloco de transformada nTbW e a altura nTbH, e o arranjo de amostra de referência p como entradas, e a saída é o arranjo de amostra predita predSamples.
- Caso contrário, o processo de modo de intrapredição correspondente especificado na cláusula
8.4.4.2.7 é invocado com o modo de intrapredição predModeIntra, o índice de linha de referência de intrapredição refIdx, a largura de bloco de transformada nTbW, a altura de bloco de transformada nTbH, a largura de amostra de referência refW, a altura de amostra de referência refH, a largura de bloco de codificação nCbW e a altura nCbH, o índice de componente de cor cIdx, e o arranjo de amostra de referência p como entradas, e o modo de intrapredição modificado predModeIntra e o arranjo de amostra predita predSamples como saídas.
[0207]Em um exemplo, o modo planar intra, o modo DC intra, e similares, pode se basear no algoritmo (ou especificação) da Tabela 31 abaixo. TABELA 31
8.4.4.2.5 Especificação de modo de intrapredição INTRA_PLANAR Especificação de modo de intrapredição INTRA_PLANAR Entradas a esse processo são: - uma variável nTbW que especifica a largura de bloco de transformada, - uma variável nTbH que especifica a altura de bloco de transformada, - uma variável refIdx que especifica o índice de linha de referência de intrapredição, - as amostras vizinhas p[ x ][ y ], com x = −1−refIdx, y = −1−refIdx..nTbH e x = −refIdx..nTbW, y = −1−refIdx.
Saídas desse processo são as amostras preditas predSamples[ x ][ y ], com x = 0..nTbW − 1, y =
0..nTbH − 1.
As variáveis nW e nH são derivadas da seguinte forma: nW = Max( nTbW, 2 ) (8-116) nH = Max( nTbH, 2 ) (8-117)
Os valores das amostras de predição predSamples[ x ][ y ], com x = 0..nTbW − 1 e y = 0..nTbH − 1, são derivados da seguinte forma:predV[ x ][ y ] = ( ( nH − 1 − y ) * p[ x ][ −1 −refIdx] + ( y + 1 ) * p[ −1− refIdx][ nTbH ] ) << Log2 ( nW ) (8-118) predH[ x ][ y ] = ( ( nW − 1 − x ) * p[ −1− refIdx ][ y ] + ( x + 1 ) * p[ nTbW ][ −1− refIdx ] ) << Log2 ( nH ) (8-119) predSamples[ x ][ y ] = ( predV[ x ][ y ] + predH[ x ][ y ] + nW * nH ) >> (Log2 ( nW ) + Log2 ( nH ) + 1) (8-120)
8.4.4.2.6 Especificação de modo de intrapredição INTRA_DC Entradas a esse processo são: - uma variável nTbW que especifica a largura de bloco de transformada, - uma variável nTbH que especifica a altura de bloco de transformada, - uma variável refIdx que especifica o índice de linha de referência de intrapredição, - as amostras vizinhas p[ x ][ y ], com x = −1−refIdx, y = −1−refIdx..nTbH − 1 e x = −refIdx..nTbW − 1 , y = −1−refIdx.
Saídas desse processo são as amostras preditas predSamples[ x ][ y ], com x = 0..nTbW − 1, y =
0..nTbH − 1.
Os valores das amostras de predição predSamples[ x ][ y ], com x = 0..nTbW − 1, y = 0..nTbH − 1, são derivados pelas etapas ordenadas a seguir:
1. Uma variável dcVal é derivada da seguinte forma: - Quando nTbW for igual a nTbH: dcVal = ∑nTbW p[𝑥 ][−1 − refIdx] + ∑ p[−1 − refIdx][𝑦 ] + nTbW ≫ (Log2(nTbW) + 1) (8-121) - Quando nTbW for maior que nTbH: dcVal = ∑nTbW p[𝑥 ][−1 − refIdx] + (nTbW ≫ 1) ≫ Log2(nTbW) (8-122) - Quando nTbW for menor que nTbH: dcVal = ∑nTbH p[−1 − refIdx][𝑦 ] + (nTbH ≫ 1) ≫ Log2(nTbH) (8-123)
2. As amostras de predição predSamples[x][y] são derivadas da seguinte forma:
predSamples[ x ][ y ] = dcVal, com x = 0.. nTbW − 1, y = 0.. nTbH − 1 (8-124)
[0208]Em um exemplo, um processo para transformar os coeficientes de transformada escalonados, e similares, pode se basear no algoritmo (ou especificação) da Tabela 32 abaixo. TABELA 32
8.7.4.1 Processo de transformada para coeficientes de transformada escalonados Entradas a esse processo são: - um local de luma ( xTbY, yTbY ) que especifica a amostra superior esquerda do bloco de transformada de luma atual em relação à amostra de luma superior esquerda da figuração atual, - uma variável nTbW que especifica a largura do bloco de transformada atual, - uma variável nTbH que especifica a altura do bloco de transformada atual, - uma variável cIdx que especifica o componente de cor do bloco atual,[ - um arranjo (nTbW)x(nTbH) d[ x ][ y ] de coeficientes de transformada escalonados com x =
0..nTbW − 1, y = 0..nTbH − 1.
Saída desse processo é o arranjo (nTbW)x(nTbH) r[ x ][ y ] de amostras residuais com x = 0..nTbW − 1, y = 0..nTbH − 1.
A variável implicitMtsEnabled é derivada da seguinte forma: - se sps_mts_enabled_flag for igual a 1 e uma das condições a seguir for verdadeira, implicitMtsEnabled é definido igual a 1: - IntraSubPartitionsSplitType não é igual a ISP_NO_SPLIT - cu_sbt_flag é igual a 1 e Max( nTbW, nTbH ) é menor ou igual a 32 - sps_explicit_mts_intra_enabled_flag e sps_explicit_mts_inter_enabled_flag são ambos iguais a 0 e CuPredMode[ xTbY ][ yTbY ] é igual a MODE_INTRA - Caso contrário, implicitMtsEnabled é definido igual a 0.
A variável trTypeHor que especifica o núcleo de transformada horizontal e a variável trTypeVer que especifica o núcleo de transformada vertical são derivadas da seguinte forma: - Se cIdx for maior que 0, trTypeHor e trTypeVer são definidos iguais a 0.
- Caso contrário, se implicitMtsEnabled for igual a 1, o seguinte se aplica: - Se IntraSubPartitionsSplitType não for igual a ISP_NO_SPLIT ou (sps_explicit_mts_intra_enabled_flag e sps_explicit_mts_inter_enabled_flag forem iguais a 0), trTypeHor e - trTypeVer são derivados da seguinte forma - trTypeHor = ( nTbW >= 4 && nTbW <= 16 ) ? 1 : 0 (8-1028) trTypeVer = ( nTbH >= 4 && nTbH <= 16 ) ? 1 : 0 (8-1029) Caso contrário, se cu_sbt_flag for igual a 1, trTypeHor e trTypeVer são especificados na Tabela 8-14 dependendo de cu_sbt_horizontal_flag e cu_sbt_pos_flag.
Tabela 9-5 – Associação de ctxIdxOffset e elementos de sintaxe para cada initializationType no processo de inicialização Estrutura de initType Elemento de sintaxe ctxTable sintaxe 0 1 2 coding_tree_unit( ) alf_ctb_flag[ ][ ][ ] Tabela 9-6 0 9 18 … coding_unit( ) cu_skip_flag[ ][ ] 0 3 pred_mode_ibc_flag pred_mode_flag intra_luma_ref_idx[ ][ ] intra_subpartitions_mode_flag intra_subpartition_split_flag intra_luma_mpm_flag[ ][ ] intra_planar_flag[ ][ ] intra_chroma_pred_mode[ ][ ] merge_flag[ ][ ] inter_pred_idc[ x0 ][ y0 ] inter_affine_flag[ ][ ] cu_affine_type_flag[ ][ ]
ref_idx_l0[ ][ ]
mvp_l0_flag[ ][ ]
ref_idx_l1[ ][ ]
mvp_l1_flag[ ][ ]
avmr_flag[ ][ ]
amvr_precision_flag[ ][ ]
gbi_idx[ ][ ]
cu_cbf cu_sbt_flag cu_sbt_quad_flag cu_sbt_horizontal_flag cu_sbt_pos_flag
Tabela -.9 – Elementos de sintaxe e binarizações associadas
Estrutura de Binarização Elemento de sintaxe sintaxe Processo Parâmetros de entrada coding_unit( ) cu_skip_flag[ ][ ] FL cMax = 1 pred_mode_ibc_flag FL cMax = 1 pred_mode_flag FL cMax = 1 pcm_flag[ ][ ] FL cMax = 1 intra_luma_ref_idx[ ][ ] TR cMax = 2, cRiceParam = 0 intra_subpartitions_mode_flag FL cMax = 1 intra_subpartition_split_flag FL cMax = 1 intra_luma_mpm_flag[ ][ ] FL cMax = 1 intra_planar_flag[ ][ ] FL cMax=1 intra_luma_mpm_idx[ ][ ] TR cMax = 4, cRiceParam = 0 intra_luma_mpm_remainder[ ][ ] TB cMax = 60 intra_chroma_pred_mode[ ][ ] 9.5.3.8 - merge_flag[ ][ ] FL cMax = 1 inter_pred_idc[ x0 ][ y0 ] 9.5.3.9 cbWidth, cbHeight inter_affine_flag[ ][ ] FL cMax = 1 cu_affine_type_flag[ ][ ] FL cMax = 1 cMax = NumRefIdxActive[ 0 ] − 1, ref_idx_l0[ ][ ] TR cRiceParam = 0 mvp_l0_flag[ ][ ] FL cMax = 1 cMax = NumRefIdxActive[ 1 ] − 1, ref_idx_l1[ ][ ] TR cRiceParam = 0 mvp_l1_flag[ ][ ] FL cMax = 1 avmr_flag[ ][ ] FL cMax = 1 amvr_precision_flag[ ][ ] FL cMax = 1 cMax = NoBackwardPredFlag ? 4: 2 gbi_idx[ ][ ] TR cu_cbf FL cMax = 1 cu_sbt_flag FL cMax = 1 cu_sbt_quad_flag FL cMax = 1 cu_sbt_horizontal_flag FL cMax = 1 cu_sbt_pos_flag FL cMax = 1
[0209]Em um exemplo, um exemplo de atribuir ctxInc a elementos de sintaxe que incluem os bins codificados em contexto pode se basear na Tabela 33 abaixo.
TABELA 33
9.5.4.2.1 de VVC spec Tabela 9-15 – Atribuição de ctxInc a elementos de sintaxe com bins codificados em contexto binIdx Elemento de sintaxe 0 1 2 3 4 >= 5 intra_luma_ref_idx[ ][ ] 0 1 na na na na intra_subpartitions_mode_flag 0 na na na na na intra_subpartition_split_flag 0 na na na na na intra_luma_mpm_flag[ ][ ] 0 na na na na na intra_luma_ref_idx!=0 ? 2: intra_planar_flag[ ][ ] (intra_subpartitions_mode_flag? na na na na na 0: 1) intra_luma_mpm_idx[ ][ ] desviar desviardesviardesviardesviar na intra_luma_mpm_remainder[ ][ ] desviar desviardesviardesviardesviardesviar intra_chroma_pred_mode[ ][ ] 0 desviardesviar na na na sps_cclm_enabled_flag = = 0
[0210]Referindo-se à Tabela 25, pode-se confirmar que o intra_planar_flag é verificado com base no resultado de verificação que o valor do intra_luma_ref_idx é 0. O intra_luma_ref_idx pode representar um exemplo do índice de linha de referências múltiplas (MRL), e o intra_planar_flag pode representar um exemplo do sinalizador planar.
[0211]Referindo-se à Tabela 27, pode-se confirmar que o valor do índice de contexto (ctxInc ou ctxIdx) para um bin relacionado a intra_planar_flag é 0 ou 1. Ou seja, pode-se confirmar que o valor do índice de contexto para o bin relacionado ao intra_planar_flag pode ser um dos dois inteiros diferentes.
[0212]Referindo-se à Tabela 33, pode-se confirmar que o índice de contexto para o bin relacionado ao intra_planar_flag se baseia no valor do intra_subpartitions_mode_flag. O intra_subpartitions_mode_flag pode representar um exemplo de um sinalizador de ISP indicando se o modo de subpartição intra (ISP) é aplicado ao bloco atual.
[0213]A Figura 11 é um fluxograma que ilustra uma operação do aparelho de codificação de acordo com uma modalidade exemplificadora, e a Figura 12 é um diagrama de blocos que ilustra uma configuração de um aparelho de codificação de acordo com uma modalidade exemplificadora.
[0214]O aparelho de codificação de acordo com as Figuras 11 e 12 pode realizar operações correspondentes ao aparelho de decodificação de acordo com as Figuras 13 e 14. De modo correspondente, as operações do aparelho de decodificação que serão descritas posteriormente com referência às Figuras 13 e 14 também podem ser aplicadas ao aparelho de codificação de acordo com as Figuras 11 e 12.
[0215]Cada etapa ilustrada na Figura 11 pode ser realizada pelo aparelho de codificação 200 ilustrado na Figura 2. Ademais, as operações de acordo com S1100 e S1110 se baseiam em alguns dos conteúdos descritos com referência às Figuras 4 a 10. De modo correspondente, descrições detalhadas que se sobrepõem àquelas descritas anteriormente com referência às Figuras 2 e 4 a 10 serão omitidas ou simplificadas.
[0216]Conforme ilustrado na Figura 12, o aparelho de codificação de acordo com uma modalidade exemplificadora pode incluir um preditor 220 e um codificador de entropia 240. No entanto, em alguns casos, nem todos os componentes ilustrados na Figura 12 podem não ser componentes essenciais do aparelho de codificação, e o aparelho de codificação pode ser implementado por mais ou menos componentes do que os componentes ilustrados na Figura 12.
[0217]No aparelho de codificação de acordo com uma modalidade exemplificadora, o preditor 220 e o codificador de entropia 240 podem ser implementados como chips separados, ou pelo menos dois componentes também podem ser implementados através de um chip.
[0218]O aparelho de codificação de acordo com uma modalidade exemplificadora pode gerar pelo menos uma das informações de sinalizador de MPM que representa se codifica o modo de intrapredição com base nos candidatos de MPM para o bloco atual ou informações de sinalizador planar que representam se determina o modo de intrapredição para o bloco atual como o modo planar, com base no modo de intrapredição para o bloco atual (S1100).
[0219]Por exemplo, o aparelho de codificação pode derivar um modo de intrapredição para o bloco atual, gerar informações de sinalizador de MPM que representa se codifica o modo de intrapredição com base em candidatos de MPM para o bloco atual, e gerar as informações de sinalizador planar com base no MPM que representa que as informações de sinalizador de MPM são relacionadas às informações de sinalizador planar que representam se determina o modo de intrapredição para o bloco atual como o modo planar.
[0220]O aparelho de codificação de acordo com uma modalidade exemplificadora pode codificar informações de imagem incluindo pelo menos dentre as informações de sinalizador de MPM ou as informações de sinalizador planar (S1110). De modo mais específico, o codificador de entropia 240 do aparelho de codificação pode codificar informações de imagem incluindo pelo menos dentre as informações de sinalizador de MPM ou as informações de sinalizador planar.
[0221]Em uma modalidade exemplificadora, com base no caso onde o modo de intrapredição para o bloco atual é derivado como o modo planar, as informações de sinalizador planar podem representar que o modo de intrapredição para o bloco atual é derivado como o modo planar.
[0222]Em uma modalidade exemplificadora, as informações de intrapredição podem incluir, ainda, informações de índice de MPM relacionadas a um dos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. O método de codificação de imagem pode incluir, ainda, gerar as informações de índice de MPM com base em um caso onde o modo de intrapredição para o bloco atual não é derivado como o modo planar.
[0223]Em uma modalidade exemplificadora, o número total de candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual pode ser igual a 5.
[0224]Em uma modalidade exemplificadora, as informações de índice de MPM incluem um 0-ésimo candidato de MPM, um 1º candidato de MPM, um 2º candidato de MPM, um 3º candidato de MPM ou um 4º candidato de MPM que é incluído nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. Com base em um caso onde o modo de intrapredição do bloco vizinho esquerdo do bloco atual e o modo de intrapredição do bloco vizinho superior do bloco atual são iguais e o modo de intrapredição do bloco vizinho esquerdo é maior que o modo DC intra, o modo de intrapredição para o 0-ésimo candidato de MPM pode ser o modo de intrapredição do bloco vizinho esquerdo do bloco atual, o modo de intrapredição para o 1º candidato de MPM pode ser 2+((modo de intrapredição do bloco vizinho esquerdo do bloco atual+61) %64), e o modo de intrapredição para o 2º candidato de MPM pode ser 2+((modo de intrapredição do bloco vizinho esquerdo do bloco atual-1) %64).
[0225]Em uma modalidade exemplificadora, as informações de índice de MPM podem representar o 0-ésimo candidato de MPM, o 1º candidato de MPM, o 2º candidato de MPM, o 3º candidato de MPM, ou o 4º candidato de MPM que é incluído nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. Com base em um caso onde o modo de intrapredição do bloco vizinho esquerdo do bloco atual e o modo de intrapredição do bloco vizinho superior do bloco atual não são iguais e o modo de intrapredição do bloco vizinho esquerdo é menor ou igual ao modo DC intra, e o modo de intrapredição do bloco vizinho superior é menor ou igual ao modo DC intra, o modo de intrapredição para o 0-ésimo candidato de MPM pode ser o modo DC intra, o modo de intrapredição para o 1º candidato de MPM pode ser um 50º modo de intrapredição, o modo de intrapredição para o 2º candidato de MPM pode ser um 18º modo de intrapredição, o modo de intrapredição para o 3º candidato de MPM pode ser um 46º modo de intrapredição, e o modo de intrapredição para o 4º candidato de MPM pode ser um 54º modo de intrapredição.
[0226]Em uma modalidade exemplificadora, as informações de índice de MPM podem se basear em um processo de binarização de Rice truncado (TR).
[0227]Em uma modalidade exemplificadora, o cMax que representa o valor máximo das informações de índice de MPM pode ser igual a 4.
[0228]De acordo com o aparelho de codificação e o método para operar o aparelho de codificação ilustrada nas Figuras 11 e 12, o aparelho de codificação pode gerar pelo menos dentre as informações de sinalizador de MPM que representa se codifica o modo de intrapredição com base em candidatos de MPM para o bloco atual ou as informações de sinalizador planar que representam se determina o modo de intrapredição para o bloco atual como o modo planar com base no modo de intrapredição para o bloco atual (S1100), e codificar as informações de imagem incluindo pelo menos dentre as informações de sinalizador de MPM ou as informações de sinalizador planar (S1110).
[0229]Ou seja, a presente revelação pode melhorar a eficiência de codificação de imagem com base em intrapredição usando a lista de MPM para o bloco atual. Alternativamente, a presente revelação pode melhorar a eficiência da intrapredição com base na lista de MPM com base nas informações de sinalizador planar que representam se determina o modo de intrapredição para o bloco atual como o modo planar. Alternativamente, a presente revelação pode configurar, de modo eficaz, a lista de MPM para o bloco atual. Alternativamente, a presente revelação pode codificar, de modo eficiente, o índice de MPM.
[0230]A Figura 13 é um fluxograma que ilustra uma operação do aparelho de decodificação de acordo com uma modalidade exemplificadora, e a Figura 14 é um diagrama de blocos que ilustra uma configuração do aparelho de decodificação de acordo com uma modalidade exemplificadora.
[0231]Cada etapa ilustrada na Figura 13 pode ser realizada pelo aparelho de decodificação 300 ilustrada na Figura 3. De modo correspondente, descrições detalhadas que se sobrepõem aos conteúdos supramencionados serão omitidas ou simplificadas.
[0232]Conforme ilustrado na Figura 14, o aparelho de decodificação de acordo com uma modalidade exemplificadora pode incluir o decodificador de entropia 310, o preditor 330 e o somador 340. No entanto, em alguns casos, todos os componentes ilustrados na Figura 14 podem não ser componentes essenciais do aparelho de decodificação, e o aparelho de decodificação pode ser implementado por mais ou menos componentes do que os componentes ilustrados na Figura 14.
[0233]No aparelho de decodificação de acordo com uma modalidade exemplificadora, o decodificador de entropia 310, o preditor 330 e o somador 340 podem ser implementados como chips separados, respectivamente, ou pelo menos dois ou mais componentes também podem ser implementados através de um chip.
[0234]O aparelho de decodificação de acordo com uma modalidade exemplificadora pode receber as informações de intrapredição incluindo pelo menos dentre as informações de sinalizador de MPM que representa se deriva o modo de intrapredição para o bloco atual com base nos candidatos de modo mais provável (MPM) para o bloco atual ou as informações de sinalizador planar que representam se determina o modo de intrapredição para o bloco atual como o modo planar modo mais provável (S1300).
[0235]Em um exemplo, as informações de intrapredição podem ser incluídas na sintaxe de unidade de codificação.
[0236]Em um exemplo, as informações de sinalizador de MPM podem ser representadas como intra_luma_mpm_flag, e as informações de sinalizador planar podem ser representadas como intra_luma_not_planar_flag. Se o valor do intra_luma_not_planar_flag for 1, pode-se determinar que o modo de intrapredição para o bloco atual não é o modo planar, e se o valor do intra_luma_not_planar_flag for 0, pode-se determinar que o modo de intrapredição para o bloco atual é o modo planar.
[0237]Em outro exemplo, as informações de sinalizador planar também podem ser representadas como intra_luma_planar_flag ou intra_planar_flag. Se o valor do intra_luma_planar_flag for 1, pode-se determinar que o modo de intrapredição para o bloco atual é o modo planar, e se o valor do intra_luma_planar_flag for 0, pode- se determinar que o modo de intrapredição para o bloco atual não é o modo planar.
[0238]Em um exemplo, o aparelho de decodificação pode determinar que o valor das informações de sinalizador de MPM é relacionado à decodificação de informações de sinalizador planar, com base na determinação que o valor das informações de sinalizador de MPM é 1. Ou seja, o aparelho de decodificação pode decodificar as informações de sinalizador planar com base na determinação que o valor das informações de sinalizador de MPM é 1.
[0239]O aparelho de decodificação de acordo com uma modalidade exemplificadora pode derivar o modo de intrapredição para o bloco atual com base nas informações de sinalizador de MPM e nas informações de sinalizador planar (S1310).
[0240]O aparelho de decodificação de acordo com uma modalidade exemplificadora pode derivar um bloco predito para o bloco atual com base no modo de intrapredição para o bloco atual (S1320).
[0241]O aparelho de decodificação de acordo com uma modalidade exemplificadora pode gerar uma figuração reconstruída com base no bloco predito (S1330).
[0242]Em uma modalidade exemplificadora, as informações de sinalizador planar podem ser incluídas nas informações de intrapredição, com base no caso onde as informações de sinalizador de MPM representam que o modo de intrapredição para o bloco atual é derivado com base nos candidatos de MPM.
[0243]Em uma modalidade exemplificadora, a derivação do modo de intrapredição para o bloco atual pode incluir derivar o modo de intrapredição para o bloco atual como o modo planar, com base em um caso onde as informações de sinalizador planar representam que o modo de intrapredição para o bloco atual é derivado como o modo planar.
[0244]Em uma modalidade exemplificadora, as informações de intrapredição podem incluir, ainda, informações de índice de MPM relacionadas a um dos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. As informações de índice de MPM podem ser incluídas nas informações de intrapredição com base em um caso onde as informações de sinalizador planar representam que o modo de intrapredição para o bloco atual não é derivado como o modo planar. O método de decodificação de imagem é caracterizado pelo fato de que o modo de intrapredição para o bloco atual é derivado com base nas informações de índice de MPM. Em um exemplo, o aparelho de decodificação pode verificar as informações de índice de MPM com base no resultado de verificação que o valor de intra_luma_not_planar_flag é 1.
[0245]Em uma modalidade exemplificadora, o número de candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual pode ser igual a 5. Em um exemplo, os candidatos de MPM podem incluir do 1º ao 5º candidatos de MPM. O 1º candidato de MPM pode ser relacionado a um índice de MPM 0, o 2º candidato de MPM pode ser relacionado a um índice de MPM 1, o 3º candidato de MPM pode ser relacionado a um índice de MPM 2, o 4º candidato de MPM pode ser relacionado a um índice de MPM 3, e o 5º candidato de MPM pode ser relacionado a um índice de MPM 4.
[0246]Em uma modalidade exemplificadora, as informações de índice de MPM podem representar o 0-ésimo candidato de MPM, o 1º candidato de MPM, o 2º candidato de MPM, o 3º candidato de MPM, ou o 4º candidato de MPM que é incluído nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual. Em um exemplo, com base em um caso onde o modo de intrapredição do bloco vizinho esquerdo do bloco atual é igual ao modo de intrapredição do bloco vizinho superior do bloco atual, e o modo de intrapredição do bloco vizinho esquerdo é maior que o modo DC intra, o modo de intrapredição para o 0-ésimo candidato de MPM pode ser o modo de intrapredição do bloco vizinho esquerdo do bloco atual, o modo de intrapredição para o 1º candidato de MPM pode ser 2+((a intrapredição do bloco vizinho esquerdo do bloco atual)+61)%64), e o modo de intrapredição para o 2º candidato de MPM pode ser 2+((o modo de intrapredição do bloco vizinho esquerdo do bloco atual-1)% 64).
[0247]Em um exemplo, as informações de índice de MPM podem ser representadas como intra_luma_mpm_idx, e o 0-ésimo candidato de MPM ao 4º candidato de MPM correspondentes ao índice de MPM 0 ao índice de MPM 4 podem ser representados como candModeList [0], candModeList [1], candModeList [2], candModeList [3] e candModeList [4], respectivamente.
[0248]Em um exemplo, se o modo de intrapredição para o bloco vizinho esquerdo do bloco atual for candIntraPredModeA, o modo de intrapredição para o bloco vizinho superior do bloco atual é candIntraPredModeB, candIntraPredModeA e candIntraPredModeB são iguais, e o candIntraPredModeA é maior que INTRA_DC, o 0-ésimo candidato de MPM, o 1º candidato de MPM e o 2º candidato de MPM dentre os candidatos de MPM que configuram a lista de MPM podem ser determinados da seguinte forma. EQUAÇÃO 1 candModeList[ 0 ] = candIntraPredModeA candModeList[ 1 ] = 2 + ( ( candIntraPredModeA + 61 ) % 64 ) candModeList[ 2] = 2 + ( ( candIntraPredModeA − 1 ) % 64 )
[0249]Em outro exemplo, com base em um caso onde o modo de intrapredição do bloco vizinho esquerdo do bloco atual e o modo de intrapredição do bloco vizinho superior do bloco atual não são iguais, o modo de intrapredição do bloco vizinho esquerdo é menor ou igual ao modo DC intra, e o modo de intrapredição do bloco vizinho superior é menor ou igual ao modo DC intra, o modo de intrapredição para o 0-ésimo candidato de MPM pode ser o modo DC intra, o modo de intrapredição para o 1º candidato de MPM pode ser o 50º modo de intrapredição, o modo de intrapredição para o 2º candidato de MPM pode ser o 18º modo de intrapredição, o modo de intrapredição para o 3º candidato de MPM pode ser o 46º modo de intrapredição, e o modo de intrapredição para o 4º candidato de MPM pode ser o 54º modo de intrapredição.
[0250]Em uma modalidade exemplificadora, as informações de índice de MPM podem se basear em um processo de binarização de Rice truncado (TR).
[0251]Em uma modalidade exemplificadora, cMax que indica o valor máximo das informações de índice de MPM pode ser igual a 4.
[0252]De acordo com o aparelho de decodificação e o método para operar o aparelho de decodificação ilustrado nas Figuras 13 e 14, o aparelho de decodificação pode receber informações de intrapredição incluindo pelo menos dentre as informações de sinalizador de MPM que representa se deriva um modo de intrapredição para o bloco atual com base em candidatos de modo mais provável (MPM) para o bloco atual ou as informações de sinalizador planar que representam se determina o modo de intrapredição para o bloco atual como um modo planar (S1300), derivar o modo de intrapredição para o bloco atual com base nas informações de sinalizador de MPM e nas informações de sinalizador planar (S1310), derivar um bloco predito para o bloco atual com base no modo de intrapredição para o bloco atual
(S1320), e gerar uma figuração reconstruída com base no bloco predito (S1330). Nesse momento, com base em um caso onde as informações de sinalizador de MPM representam que o modo de intrapredição para o bloco atual é derivado com base nos candidatos de MPM, as informações de sinalizador planar podem ser incluídas nas informações de intrapredição.
[0253]Ou seja, a presente revelação pode melhorar a eficiência da intrapredição com base na lista de MPM com base nas informações de sinalizador planar que representam se determina o modo de intrapredição para o bloco atual como o modo planar. Alternativamente, a presente revelação pode melhorar a eficiência de codificação de imagem determinando-se se sinaliza as informações de sinalizador planar com base nas informações de índice de MRL. Alternativamente, a presente revelação pode configurar, de modo eficiente, a lista de MPM para o bloco atual. Alternativamente, a presente revelação pode determinar o valor do índice de contexto para o bin relacionado às informações de sinalizador planar com base em se o modo de ISP é aplicado ao bloco atual.
[0254]Nas modalidades exemplificadoras supramencionadas, embora os métodos sejam descritos com base em fluxogramas mostrados como uma série de etapas ou blocos, a presente revelação não se limita a uma ordem das etapas, e uma determinada etapa pode ocorrer em uma ordem diferente ou simultaneamente a uma etapa diferente daquela descrita anteriormente. Ademais, os indivíduos versados na técnica compreenderão que as etapas no fluxograma não são exclusivas, e outras etapas podem ser incluídas ou uma ou mais etapas nos fluxogramas podem ser excluídas sem afetar o escopo da presente revelação.
[0255]O método supramencionado de acordo com a presente revelação pode ser implementado sob a forma de software, e o aparelho de codificação e/ou o aparelho de decodificação de acordo com a presente revelação podem ser incluídos no aparelho para realizar um processamento de imagem, por exemplo, de uma TV,
um computador, um smartphone, um decodificador de sinais, um dispositivo de exibição, ou similares.
[0256]Quando as modalidades na presente revelação forem implementadas em software, o método supramencionado pode ser implementado como um módulo (processo, função, e similares) para realizar a função supramencionada. O módulo pode ser armazenado em uma memória, e executado por um processador. A memória pode estar situada dentro ou fora do processador, e pode ser acoplada ao processador por vários meios bem conhecidos. O processador pode incluir circuitos integrados para aplicação específica (ASICs), ouros chipsets, circuitos lógicos e/ou dispositivos de processamento de dados. A memória pode incluir uma memória somente para leitura (ROM), uma memória de acesso aleatório (RAM), uma memória flash, um cartão de memória, uma mídia de armazenamento e/ou outros dispositivos de armazenamento. Ou seja, as modalidades descritas na presente revelação podem ser realizados sendo implementados em um processador, um microprocessador, um controlador ou um chip. Por exemplo, as unidades funcionais ilustradas em cada desenho podem ser realizadas sendo implementadas no computador, no processador, no microprocessador, no controlador, ou no chip. Nesse caso, informações para implementação (por exemplo, informações em instruções) ou algoritmo podem ser armazenados em uma mídia de armazenamento digital.
[0257]Ademais, o aparelho de decodificação e o aparelho de codificação aos quais a presente revelação é aplicada podem ser incluídos em um transceptor de radiodifusão multimídia, um terminal de comunicação móvel, um dispositivo de vídeo de cinema em casa, um dispositivo de vídeo de cinema digital, uma câmera de vigilância, um dispositivo de comunicação de vídeo, um dispositivo de comunicação em tempo real tal como comunicação de vídeo, um dispositivo de difusão de dados móvel, uma mídia de armazenamento, uma filmadora, um provedor de serviço de vídeo sob demanda (VoD), um dispositivo de vídeo Over-the-top (OTT), um provedor de serviço de difusão de dados via Internet, um dispositivo de vídeo tridimensional (3D), um dispositivo de realidade virtual (VR), um dispositivo de realidade aumentada (AR), um dispositivo de vídeo por telefonia, um terminal de transporte (por exemplo, um terminal de veículo (incluindo veículo autônomo), terminal de aviões, terminal de navios, ou similares), e um dispositivo de vídeo médico, e similares, e podem ser usados para processar sinais de vídeo ou sinais de dados. Por exemplo, o dispositivo de vídeo OTT pode incluir um console de jogos, um reprodutor Blu-ray, uma TV conectada à Internet, um sistema de home-theater, um smartphone, um PC tipo tablet, uma Gravadora de Vídeo Digital (DVR) e similares.
[0258]Ademais, o método de processamento ao qual a presente revelação é aplicada pode ser produzido sob a forma de um programa executado por um computador, e pode ser armazenado em uma mídia de gravação legível por computador. Os dados de multimídia tendo uma estrutura de dados de acordo com a presente revelação também podem ser armazenados na mídia de gravação legível por computador. A mídia de gravação legível por computador inclui todos os tipos de dispositivos de armazenamento e dispositivos de armazenamento distribuído onde dados legíveis por computador são armazenados. A mídia de gravação legível por computador pode incluir, por exemplo, um Disco Blu-ray (BD), um Barramento Serial Universal (USB), uma ROM, uma PROM, uma EPROM, uma EEPROM, uma RAM, um CD-ROM, uma fita magnética, um disquete flexível, e um dispositivo de armazenamento de dados ópticos. Ademais, a mídia de gravação legível por computador inclui uma mídia implementada sob a forma de uma onda portadora (por exemplo, transmissão através da Internet). Ademais, o fluxo de bits gerado pelo método de codificação pode ser armazenado na mídia de gravação legível por computador ou transmitido através de redes de comunicação com/sem fio.
[0259]Ademais, as modalidades da presente revelação podem ser implementadas como um produto de programa de computador por um código de programa, e o código de programa pode ser executado no computador de acordo com as modalidades da presente revelação. O código de programa pode ser armazenado em uma portadora legível por computador.
[0260]Este documento se refere à codificação de vídeo/imagem. Por exemplo, um método/modalidade revelado neste documento pode ser aplicado a um método revelado no padrão de codificação de vídeo versátil (VVC), padrão de codificação de vídeo essencial (EVC), padrão AOMedia Video 1 (AV1), padrão de 2ª geração de codificação de áudio e vídeo (AVS2) ou padrão de codificação de vídeo/imagem de próxima geração (por exemplo, H.267, H.268, ou similares).
[0261]Neste documento, pode-se proporcionar uma variedade de modalidades referentes à codificação de vídeo/imagem, e, exceto onde especificado em contrário, as modalidades podem ser combinadas entre si e realizadas.
[0262]Neste documento, um vídeo pode se referir a uma série de imagens com o passar do tempo. Em geral, uma figuração se refere à unidade que representa uma imagem em um fuso-horário específico, e uma fatia/ladrilho se refere à unidade que constitui a figuração em termos de codificação. Uma fatia/ladrilho pode incluir uma ou mais unidades de árvore de codificação (CTUs). Uma figuração pode consistir em uma ou mais fatias/ladrilhos. Uma figuração pode consistir em um ou mais grupos de ladrilho. Um grupo de ladrilho pode incluir um ou mais ladrilhos. Um tijolo pode representar uma região retangular de fileiras de CTU em um ladrilho em uma figuração. Um ladrilho pode ser particionado em múltiplos tijolos, sendo que cada um consiste em uma ou mais fileiras de CTU dentro do ladrilho. Um ladrilho que não é particionado em múltiplos tijolos também pode ser referido como um tijolo. Uma varredura de tijolo é uma ordenação sequencial específica de CTUs que particionam uma figuração em que as CTUs são ordenadas consecutivamente em varredura rasterizada de CTU em um tijolo, tijolos dentro de um ladrilho são ordenados consecutivamente em uma varredura rasterizada dos tijolos do ladrilho, e os ladrilhos em uma figuração são ordenados consecutivamente em uma varredura rasterizada dos ladrilhos da figuração. Um ladrilho é uma região retangular de CTUs dentro de uma coluna de ladrilho particular e uma fileira de ladrilho particular em uma figuração. A coluna de ladrilho é uma região retangular de CTUs tendo uma altura igual à altura da figuração e uma largura especificada pelos elementos de sintaxe no conjunto de parâmetro de figuração. A fileira de ladrilho é uma região retangular de CTUs tendo uma altura especificada pelos elementos de sintaxe no conjunto de parâmetro de figuração e uma largura igual à largura da figuração. Uma varredura de ladrilho é uma ordenação específica de CTUs que particionam uma figuração em que as CTUs são ordenadas consecutivamente em varredura rasterizada de CTU em um ladrilho enquanto os ladrilhos em uma figuração são ordenados consecutivamente em uma varredura rasterizada dos ladrilhos da figuração. Uma fatia inclui um número inteiro de tijolos de uma figuração que pode ser exclusivamente contida em uma unidade de NAL simples. Uma fatia pode consistir em um número de ladrilhos completos ou somente uma sequência consecutiva de tijolos completos de um ladrilho. Neste documento, um grupo de ladrilho e uma fatia podem ser usados de modo intercambiável. Por exemplo, neste documento, um grupo de ladrilho/cabeçalho de grupo de ladrilho também pode ser referido como uma fatia/cabeçalho de fatia.
[0263]Um pixel ou um pel pode significar uma menor unidade que constitui uma figuração (ou imagem). Da mesma forma, ‘amostra’ pode ser usada como um termo correspondente a um pixel. Uma amostra pode representar, em geral, a um pixel ou um valor de um pixel, e pode representar apenas um pixel/valor de pixel de um componente de luma ou apena um pixel/valor de pixel de um componente de croma.
[0264]Uma unidade pode representar uma unidade básica de processamento de imagem. A unidade pode incluir pelo menos uma dentre uma região específica da figuração e informações relacionadas à região. Uma unidade pode incluir um bloco de luma e dois blocos de croma (ex. cb, cr). A unidade pode ser usada de modo intercambiável com termos como bloco ou área, em alguns casos. Em um caso geral, um bloco M×N pode incluir amostras (ou arranjos de amostra) ou um conjunto (ou arranjo) de coeficientes de transformada de M colunas e N fileiras.
[0265]Neste documento, os termos “/” e “,” devem ser interpretados para indicar “e/ou.” Por exemplo, a expressão “A/B” pode significar “A e/ou B.” Ademais, “A, B” pode significar “A e/ou B.” Ademais, “A/B/C” pode significar “pelo menos um dentre A, B /ou C.” Da mesma forma, “A/B/C” pode significar “pelo menos um dentre A, B e/ou C.”
[0266]Ademais, no documento, o termo “ou” deve ser interpretado para indicar “e/ou.” Por exemplo, a expressão “A ou B” pode compreender 1) apenas A, 2) apenas B, e/ou 3) tanto A como B. Em outras palavras, o termo “ou” neste documento deve ser interpretado para indicar “adicional ou alternativamente.”
[0267]A Figura 15 representa um exemplo de um sistema de streaming de conteúdos ao qual a revelação do presente documento pode ser aplicada.
[0268]Referindo-se à Figura 15, o sistema de streaming de conteúdos ao qual a presente revelação é aplicada pode incluir consideravelmente um servidor de codificação, um servidor de streaming, um servidor da web, um armazenamento de mídia, um dispositivo de usuário e um dispositivo de entrada de multimídia.
[0269]O servidor de codificação funciona para compactar a dados digitais os conteúdos inseridos a partir dos dispositivos de entrada de multimídia, tais como smartphone, a câmera, a filmadora e similares, gerar um fluxo de bits, e o transmitir ao servidor de streaming. Como outro exemplo, em um caso onde o smartphone, a câmera, a filmadora ou similares gera diretamente um fluxo de bits, o servidor de codificação pode ser omitido.
[0270]O fluxo de bits pode ser gerado por um método de codificação ou um método de geração de fluxo de bits ao qual a presente revelação é aplicada. E o servidor de streaming pode armazenar temporariamente o fluxo de bits em um processo para transmitir ou receber o fluxo de bits.
[0271]O servidor de streaming transmite dados de multimídia ao equipamento de usuário com base em uma solicitação de usuário através do servidor da web, que funciona como um instrumento que informa um usuário de qual serviço existe. Quando o usuário solicitar um serviço que ele desejar, o servidor da web o transfere ao servidor de streaming, e o servidor de streaming transmite dados de multimídia ao usuário. Nesse sentido, o sistema de streaming de conteúdos pode incluir um servidor de controle separado, e, nesse caso, o servidor de controle funciona para controlar comandos/respostas entre respectivos equipamentos no sistema de streaming de conteúdos.
[0272]O servidor de streaming pode receber conteúdos a partir do armazenamento de mídia e/ou do servidor de codificação. Por exemplo, em um caso onde os conteúdos são recebidos a partir do servidor de codificação, os conteúdos podem ser recebidos em tempo real. Nesse caso, o servidor de streaming pode armazenar o fluxo de bits por um período de tempo predeterminado para proporcionar o serviço de streaming suavemente.
[0273]Por exemplo, o equipamento de usuário pode incluir um telefone móvel, um smartphone, um computador laptop, um terminal de radiodifusão digital, um assistente pessoal digital (PDA), um reprodutor de multimídia portátil (PMP), um dispositivo de navegação, um PC slate, um PC tablet, um ultrabook, um dispositivo vestível (por exemplo, um terminal tipo relógio (relógio inteligente), um terminal tipo óculos (óculos inteligentes), uma tela montada na cabeça (HMD)), uma TV digital, um computador desktop, uma sinalética digital ou similares.
[0274]Cada um dos servidores no sistema de streaming de conteúdos pode ser operado como um servidor distribuído, e, nesse caso, dados recebidos por cada servidor podem ser processados de modo distribuído.

Claims (20)

REIVINDICAÇÕES
1. Método de decodificação de imagem realizado por um aparelho de decodificação, sendo que o método é CARACTERIZADO pelo fato de que compreende: receber informações de intrapredição que compreendem pelo menos dentre informações de sinalizador de modo mais provável (MPM) que representa se deriva um modo de intrapredição para um bloco atual com base em candidatos de MPM para o bloco atual ou informações de sinalizador planar que representam se determina o modo de intrapredição para o bloco atual como um modo planar; derivar o modo de intrapredição para o bloco atual com base nas informações de sinalizador de MPM e nas informações de sinalizador planar; derivar um bloco predito para o bloco atual com base no modo de intrapredição para o bloco atual; e gerar uma figuração reconstruída com base no bloco predito, em que com base nas informações de sinalizador de MPM que representam que o modo de intrapredição para o bloco atual é derivado com base nos candidatos de MPM, as informações de sinalizador planar são compreendidas nas informações de intrapredição.
2. Método de decodificação de imagem, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que a derivação do modo de intrapredição para o bloco atual compreende derivar o modo de intrapredição para o bloco atual como o modo planar, com base nas informações de sinalizador planar que representam que o modo de intrapredição para o bloco atual é derivado como o modo planar.
3. Método de decodificação de imagem, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que as informações de intrapredição compreendem, ainda, informações de índice de MPM relacionadas a um dos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual, com base nas informações de sinalizador planar que representam que o modo de intrapredição para o bloco atual não é derivado como o modo planar, as informações de índice de MPM são incluídas nas informações de intrapredição, o modo de intrapredição para o bloco atual é derivado com base nas informações de índice de MPM.
4. Método de decodificação de imagem, de acordo com a reivindicação 3, CARACTERIZADO pelo fato de que um número total de candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual é igual a 5.
5. Método de decodificação de imagem, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que as informações de índice de MPM representam um 0-ésimo candidato de MPM, um 1º candidato de MPM, um 2º candidato de MPM, um 3º candidato de MPM ou um 4º candidato de MPM que é compreendido nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual, e em que com base em um caso onde um modo de intrapredição de um bloco vizinho esquerdo do bloco atual e um modo de intrapredição de um bloco vizinho superior do bloco atual são iguais e o modo de intrapredição do bloco vizinho esquerdo é maior que um modo DC intra, um modo de intrapredição para o 0-ésimo candidato de MPM é o modo de intrapredição do bloco vizinho esquerdo do bloco atual, um modo de intrapredição para o 1º candidato de MPM é 2+((o modo de intrapredição do bloco vizinho esquerdo do bloco atual+61)%64), e um modo de intrapredição para o 2º candidato de MPM é 2+((o modo de intrapredição do bloco vizinho esquerdo do bloco atual-1)%64).
6. Método de decodificação de imagem, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que as informações de índice de MPM representam um 0-ésimo candidato de MPM, um 1º candidato de MPM, um 2º candidato de MPM,
um 3º candidato de MPM ou um 4º candidato de MPM que é compreendido nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual, e em que com base em um caso onde um modo de intrapredição de um bloco vizinho esquerdo do bloco atual e um modo de intrapredição de um bloco vizinho superior do bloco atual não são iguais, o modo de intrapredição do bloco vizinho esquerdo é menor ou igual a um modo DC intra, e o modo de intrapredição do bloco vizinho superior é menor ou igual ao modo DC intra, o modo de intrapredição para o 0-ésimo candidato de MPM é o modo DC intra, o modo de intrapredição para o 1º candidato de MPM é um 50º modo de intrapredição, o modo de intrapredição para o 2º candidato de MPM é um 18º modo de intrapredição, o modo de intrapredição para o 3º candidato de MPM é um 46º modo de intrapredição, e o modo de intrapredição para o 4º candidato de MPM é um 54º modo de intrapredição.
7. Método de decodificação de imagem, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que as informações de índice de MPM se baseiam em um processo de binarização de Rice truncado (TR), e cMax que representa um valor máximo das informações de índice de MPM é igual a 4.
8. Método de codificação de imagem realizado por um aparelho de codificação, sendo que o método é CARACTERIZADO pelo fato de que compreende: derivar um modo de intrapredição para um bloco atual; gerar informações de sinalizador de MPM que representam se o modo de intrapredição para o bloco atual é derivado com base em candidatos de modo mais provável (MPM) para o bloco atual; gerar as informações de sinalizador planar, com base no MPM que representa que as informações de sinalizador de MPM são relacionadas às informações de sinalizador planar que representam se determina o modo de intrapredição para o bloco atual como um modo planar; e codificar informações de imagem que compreendem pelo menos dentre as informações de sinalizador de MPM ou as informações de sinalizador planar.
9. Método de codificação de imagem, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que com base no caso onde o modo de intrapredição para o bloco atual é derivado como o modo planar, as informações de sinalizador planar representam que o modo de intrapredição para o bloco atual é derivado como o modo planar.
10. Método de codificação de imagem, de acordo com a reivindicação 8, CARACTERIZADO pelo fato de que as informações de intrapredição compreendem, ainda, informações de índice de MPM relacionadas a um dos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual, e em que o método de codificação de imagem compreende, ainda, gerar as informações de índice de MPM, com base em um caso onde o modo de intrapredição para o bloco atual não é derivado como o modo planar.
11. Método de codificação de imagem, de acordo com a reivindicação 10, CARACTERIZADO pelo fato de que um número total de candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual é igual a 5.
12. Método de codificação de imagem, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que as informações de índice de MPM representam um 0-ésimo candidato de MPM, um 1º candidato de MPM, um 2º candidato de MPM, um 3º candidato de MPM ou um 4º candidato de MPM que é compreendido nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual, e em que com base em um caso onde um modo de intrapredição de um bloco vizinho esquerdo do bloco atual e um modo de intrapredição de um bloco vizinho superior do bloco atual são iguais e o modo de intrapredição do bloco vizinho esquerdo é maior que um modo DC intra, um modo de intrapredição para o 0-ésimo candidato de MPM é o modo de intrapredição do bloco vizinho esquerdo do bloco atual, um modo de intrapredição para o 1º candidato de MPM é 2+((o modo de intrapredição do bloco vizinho esquerdo do bloco atual+61)%64), e um modo de intrapredição para o 2º candidato de MPM é 2+((o modo de intrapredição do bloco vizinho esquerdo do bloco atual-1)%64).
13. Método de codificação de imagem, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que as informações de índice de MPM representam um 0-ésimo candidato de MPM, um 1º candidato de MPM, um 2º candidato de MPM, um 3º candidato de MPM ou um 4º candidato de MPM que é compreendido nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual, e em que com base em um caso onde um modo de intrapredição de um bloco vizinho esquerdo do bloco atual e um modo de intrapredição de um bloco vizinho superior do bloco atual não são iguais, o modo de intrapredição do bloco vizinho esquerdo é menor ou igual a um modo DC intra, e o modo de intrapredição do bloco vizinho superior é menor ou igual ao modo DC intra, o modo de intrapredição para o 0-ésimo candidato de MPM é o modo DC intra, o modo de intrapredição para o 1º candidato de MPM é um 50º modo de intrapredição, o modo de intrapredição para o 2º candidato de MPM é um 18º modo de intrapredição, o modo de intrapredição para o 3º candidato de MPM é um 46º modo de intrapredição, e o modo de intrapredição para o 4º candidato de MPM é um 54º modo de intrapredição.
14. Método de codificação de imagem, de acordo com a reivindicação 11, CARACTERIZADO pelo fato de que as informações de índice de MPM se baseiam em um processo de binarização de Rice truncado (TR), e cMax que representa um valor máximo das informações de índice de MPM é igual a 4.
15. Mídia de armazenamento legível por computador CARACTERIZADA pelo fato de que compreende: informações codificadas que induzem um aparelho de decodificação a realizar um método de decodificação de imagem, em que o método de decodificação de imagem compreende receber informações de intrapredição que compreendem pelo menos uma das informações de sinalizador de modo mais provável (MPM) que representam se deriva um modo de intrapredição para um bloco atual com base em candidatos de modo mais provável (MPM) para o bloco atual ou informações de sinalizador planar que representam se determina o modo de intrapredição para o bloco atual como um modo planar; derivar o modo de intrapredição para o bloco atual com base nas informações de sinalizador de MPM e nas informações de sinalizador planar; derivar um bloco predito para o bloco atual com base no modo de intrapredição para o bloco atual; e gerar uma figuração reconstruída com base no bloco predito, e em que com base em um caso onde as informações de sinalizador de MPM representam que o modo de intrapredição para o bloco atual é derivado com base nos candidatos de MPM, as informações de sinalizador planar são compreendidas nas informações de intrapredição.
16. Mídia de armazenamento legível por computador, de acordo com a reivindicação 15, CARACTERIZADA pelo fato de que as informações de intrapredição compreendem, ainda, informações de índice de MPM relacionadas a um dos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual, em que com base em um caso onde as informações de sinalizador planar representam que o modo de intrapredição para o bloco atual não é derivado como o modo planar, as informações de índice de MPM são compreendidas nas informações de intrapredição, e em que com base nas informações de índice de MPM, o modo de intrapredição para o bloco atual é derivado.
17. Mídia de armazenamento legível por computador, de acordo com a reivindicação 16, CARACTERIZADA pelo fato de que um número total de candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual é igual a 5.
18. Mídia de armazenamento legível por computador, de acordo com a reivindicação 17, CARACTERIZADA pelo fato de que as informações de índice de MPM representam um 0-ésimo candidato de MPM, um 1º candidato de MPM, um 2º candidato de MPM, um 3º candidato de MPM ou um 4º candidato de MPM que é compreendido nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual, e em que com base em um caso onde um modo de intrapredição de um bloco vizinho esquerdo do bloco atual e um modo de intrapredição de um bloco vizinho superior do bloco atual são iguais e o modo de intrapredição do bloco vizinho esquerdo é maior que um modo DC intra, um modo de intrapredição para o 0-ésimo candidato de MPM é o modo de intrapredição do bloco vizinho esquerdo do bloco atual, um modo de intrapredição para o 1º candidato de MPM é 2+((o modo de intrapredição do bloco vizinho esquerdo do bloco atual+61)%64), e um modo de intrapredição para o 2º candidato de MPM é 2+((o modo de intrapredição do bloco vizinho esquerdo do bloco atual-1)%64).
19. Mídia de armazenamento legível por computador, de acordo com a reivindicação 17, CARACTERIZADA pelo fato de que as informações de índice de MPM representam um 0-ésimo candidato de MPM, um 1º candidato de MPM, um 2º candidato de MPM, um 3º candidato de MPM ou um 4º candidato de MPM que é compreendido nos candidatos de MPM além do modo planar dentre os candidatos de MPM para o bloco atual, e em que com base em um caso onde um modo de intrapredição de um bloco vizinho esquerdo do bloco atual e um modo de intrapredição de um bloco vizinho superior do bloco atual não são iguais, o modo de intrapredição do bloco vizinho esquerdo é menor ou igual a um modo DC intra, e o modo de intrapredição do bloco vizinho superior é menor ou igual ao modo DC intra, o modo de intrapredição para o 0-ésimo candidato de MPM é o modo DC intra, o modo de intrapredição para o 1º candidato de MPM é um 50º modo de intrapredição, o modo de intrapredição para o 2º candidato de MPM é um 18º modo de intrapredição, o modo de intrapredição para o 3º candidato de MPM é um 46º modo de intrapredição, e o modo de intrapredição para o 4º candidato de MPM é um 54º modo de intrapredição.
20. Mídia de armazenamento legível por computador, de acordo com a reivindicação 17, CARACTERIZADA pelo fato de que as informações de índice de MPM se baseiam em um processo de binarização de Rice truncado (TR), e cMax que representa um valor máximo das informações de índice de MPM é igual a 4.
BR112021012505-1A 2019-03-23 2020-03-23 Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação e mídia de armazenamento não transitória legível por computador BR112021012505B1 (pt)

Priority Applications (3)

Application Number Priority Date Filing Date Title
BR122022005515-0A BR122022005515B1 (pt) 2019-03-23 2020-03-23 Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, método de transmissão de dados para uma imagem , aparelho de d ecodificação / codificação para decodificação/codificação de imagem, aparelho de transmissão para transmissão de dados para uma imagem e mídia de armazenamento não transitória legível por computador
BR122022005509-5A BR122022005509B1 (pt) 2019-03-23 2020-03-23 Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, método de transmissão de dados para uma imagem , aparelho de decodificação/codificação para decodificação/codificação de imagem, aparelho de transmissão para transmissão de dados para uma imagem e mídia de armazenamento não transitória legível por computador
BR122022005534-6A BR122022005534B1 (pt) 2019-03-23 2020-03-23 Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, método de transmissão de dados para uma imagem , aparelho de decodificação/codificação para decodificação/codificação de imagem, aparelho de transmissão para transmissão de dados para uma imagem e mídia de armazenamento não transitória legível por computador

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962822874P 2019-03-23 2019-03-23
US62/822,874 2019-03-23
PCT/KR2020/003921 WO2020197203A1 (ko) 2019-03-23 2020-03-23 Mpm 리스트를 이용하는 인트라 예측에 기반한 영상 코딩 방법 및 그 장치

Publications (2)

Publication Number Publication Date
BR112021012505A2 true BR112021012505A2 (pt) 2021-09-28
BR112021012505B1 BR112021012505B1 (pt) 2023-11-07

Family

ID=72148067

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112021012505-1A BR112021012505B1 (pt) 2019-03-23 2020-03-23 Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação e mídia de armazenamento não transitória legível por computador

Country Status (10)

Country Link
US (1) US20230308636A1 (pt)
EP (2) EP4319159A3 (pt)
JP (3) JP7305637B2 (pt)
KR (3) KR102616829B1 (pt)
CN (5) CN111989919B (pt)
AU (3) AU2020245002B2 (pt)
BR (1) BR112021012505B1 (pt)
CA (1) CA3125109A1 (pt)
MX (1) MX2021007632A (pt)
WO (1) WO2020197203A1 (pt)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210135331A (ko) * 2019-03-23 2021-11-12 후아웨이 테크놀러지 컴퍼니 리미티드 인코더, 디코더 및 대응하는 인트라 예측을 위한 방법
WO2020242182A1 (ko) * 2019-05-27 2020-12-03 에스케이텔레콤 주식회사 인트라 예측 모드를 유도하는 방법 및 장치
WO2023193516A1 (en) * 2022-04-08 2023-10-12 Mediatek Inc. Method and apparatus using curve based or spread-angle based intra prediction mode in video coding system

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120070479A (ko) 2010-12-21 2012-06-29 한국전자통신연구원 화면 내 예측 방향 정보 부호화/복호화 방법 및 그 장치
KR101611409B1 (ko) * 2011-09-28 2016-04-14 한국전자통신연구원 인트라 예측 모드 부호화/복호화 방법 및 장치
KR20130049526A (ko) * 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
KR20130049522A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
KR20180008797A (ko) * 2015-06-15 2018-01-24 엘지전자 주식회사 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US20160373782A1 (en) * 2015-06-18 2016-12-22 Qualcomm Incorporated Intra prediction and intra mode coding
US10142627B2 (en) * 2015-06-18 2018-11-27 Qualcomm Incorporated Intra prediction and intra mode coding
US11259047B2 (en) * 2016-04-06 2022-02-22 Kt Corporation Method and apparatus for processing video signal
US10805607B2 (en) * 2016-04-29 2020-10-13 Industry Academy Cooperation Foundation Of Sejong University Video signal encoding/decoding method and apparatus
US10742975B2 (en) * 2017-05-09 2020-08-11 Futurewei Technologies, Inc. Intra-prediction with multiple reference lines
JP7212028B2 (ja) * 2017-07-13 2023-01-24 グライナー バイオ‐ワン ノース アメリカ,インコーポレイテッド 撮像用の培養プレート
US10638161B2 (en) * 2018-07-13 2020-04-28 Tencent America LLC Methods and apparatus for most probable mode derivation
US11057619B2 (en) * 2019-03-23 2021-07-06 Lg Electronics Inc. Image coding method and apparatus based on intra prediction using MPM list
KR20210135331A (ko) 2019-03-23 2021-11-12 후아웨이 테크놀러지 컴퍼니 리미티드 인코더, 디코더 및 대응하는 인트라 예측을 위한 방법

Also Published As

Publication number Publication date
CN111989919B (zh) 2023-07-18
AU2024201777A1 (en) 2024-04-04
KR102616829B1 (ko) 2023-12-20
CN116668715A (zh) 2023-08-29
AU2023204191B2 (en) 2023-12-21
JP2024029212A (ja) 2024-03-05
CN116668680A (zh) 2023-08-29
JP7419429B2 (ja) 2024-01-22
CN116668714A (zh) 2023-08-29
BR112021012505B1 (pt) 2023-11-07
EP4319159A2 (en) 2024-02-07
JP2021518995A (ja) 2021-08-05
KR20220150415A (ko) 2022-11-10
EP4319159A3 (en) 2024-04-03
EP3737097A4 (en) 2021-01-13
KR102459939B1 (ko) 2022-10-27
EP3737097A1 (en) 2020-11-11
AU2023204191A1 (en) 2023-07-20
US20230308636A1 (en) 2023-09-28
JP2022090112A (ja) 2022-06-16
CN116668689A (zh) 2023-08-29
AU2020245002A1 (en) 2021-07-22
JP7305637B2 (ja) 2023-07-10
WO2020197203A1 (ko) 2020-10-01
CA3125109A1 (en) 2020-10-01
AU2020245002B2 (en) 2023-03-30
KR20230175344A (ko) 2023-12-29
MX2021007632A (es) 2021-08-11
KR20200115454A (ko) 2020-10-07
CN111989919A (zh) 2020-11-24

Similar Documents

Publication Publication Date Title
BR122021011268B1 (pt) Método e aparelho de decodificação de imagem, método e aparelho de codificação de imagem e mídias de armazenamento não transitórias legíveis por computador
BR112021012366A2 (pt) Método e dispositivo de codificação de imagem utilizando sinalizador de sato de transformada
BR112021006108A2 (pt) método de codificação de imagem usando informações de movimento baseadas em histórico e dispositivo para o mesmo
BR122021011813A2 (pt) Método de decodificação de imagens através de um aparelho de decodificação, método de codificação de imagens através de um aparelho de codificação e mídia de armazenamento legível por computador não transitória
BR112020012040B1 (pt) Método de decodificação de vídeo realizado por um aparelho de decodificação e método de codificação de vídeo realizado por um aparelho de codificação, e mídia de armazenamento legível por computador não transitória
BR112021005152A2 (pt) método de codificação de nível de fator de conversão e dispositivo para o mesmo
BR112021005796A2 (pt) método de codificação de imagem baseado em predição intra usando lista de mpm e dispositivo para o mesmo
BR112021012505A2 (pt) Método para codificar imagens com base em intrapredição usando lista de mpm e aparelho para o mesmo
BR112021013735A2 (pt) Método de codificação de imagens e dispositivo para executar intrapredição baseada em mrl
BR112021004556A2 (pt) método e aparelho de decodificação de imagens com base em predição de movimento afim usando lista de candidatos a mvp afim no sistema de codificação de imagens
US20220191471A1 (en) Intra prediction method on basis of mpm list and apparatus therefor
BR122021008876B1 (pt) Método de codificação residual e dispositivo para o mesmo
BR122022002102B1 (pt) Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, aparelho de decodificação/codificação para decodificação/codificação de imagem, método de transmissão de dados para imagem e mídia de armazenamento legível por computador não transitória
US20120082225A1 (en) Selective indication of transform sizes
BR122022005515B1 (pt) Método de decodificação/codificação de imagem realizado por um aparelho de decodificação/codificação, método de transmissão de dados para uma imagem , aparelho de d ecodificação / codificação para decodificação/codificação de imagem, aparelho de transmissão para transmissão de dados para uma imagem e mídia de armazenamento não transitória legível por computador
BR122022006273B1 (pt) Método e aparelho de decodificação de imagem, método e aparelho de codificação de imagem, meio de armazenamento legível por computador não transitório, método e aparelho de transmissão de dados para uma imagem
BR112021010422B1 (pt) Método de decodificação de imagem realizado por um aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação de imagem e meio de armazenamento legível por computador não transitório
BR122022006263B1 (pt) Método e aparelho de decodificação de imagem, método e aparelho de codificação de imagem, meio de armazenamento legível por computador não transitório, método e aparelho de transmissão de dados para uma imagem
BR112021010422A2 (pt) Método de codificação de imagem baseado em transformada secundária e dispositivo para o mesmo

Legal Events

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

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 19/11 , H04N 19/105 , H04N 19/593 , H04N 19/70 , H04N 19/176

Ipc: H04N 19/11 (2014.01), H04N 19/105 (2014.01), H04N

B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

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