BR112019021446B1 - Metodo de decodificaqao de video realizado por um dispositivo de decodificaqao, metodo de codificaqao de video realizado por um dispositivo de codificaqao e midia de armazenamento nao transitoria legivel por computador - Google Patents

Metodo de decodificaqao de video realizado por um dispositivo de decodificaqao, metodo de codificaqao de video realizado por um dispositivo de codificaqao e midia de armazenamento nao transitoria legivel por computador Download PDF

Info

Publication number
BR112019021446B1
BR112019021446B1 BR112019021446-1A BR112019021446A BR112019021446B1 BR 112019021446 B1 BR112019021446 B1 BR 112019021446B1 BR 112019021446 A BR112019021446 A BR 112019021446A BR 112019021446 B1 BR112019021446 B1 BR 112019021446B1
Authority
BR
Brazil
Prior art keywords
current block
sample
prediction
filter
target sample
Prior art date
Application number
BR112019021446-1A
Other languages
English (en)
Other versions
BR112019021446A2 (pt
Inventor
Sunmi YOO
Jaeho Lee
Jangwon CHOI
Jungdong SEO
Jin Heo
Original Assignee
Lg Electronics Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lg Electronics Inc. filed Critical Lg Electronics Inc.
Publication of BR112019021446A2 publication Critical patent/BR112019021446A2/pt
Publication of BR112019021446B1 publication Critical patent/BR112019021446B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

trata-se de um método através do qual um dispositivo de decodificação realiza decodificação de imagem, de acordo com a presente invenção, que compreende as etapas de: derivar um modo de intrapredição de um bloco atual; derivar amostras vizinhas que incluem amostras vizinhas à esquerda e amostras vizinhas superiores do bloco atual; derivar amostras de referência para predição de uma amostra alvo entre as amostras vizinhas com base na posição da amostra alvo do bloco atual e no ângulo de predição do modo de intrapredição; determinar um filtro de interpolação para a amostra alvo; e derivar a amostra de predição da amostra alvo com base no filtro de interpolação e nas amostras de referência.

Description

ANTECEDENTES DA REVELAÇÃO CAMPO DA REVELAÇÃO
[001] A presente revelação se refere a uma técnica de codificação de vídeo e, mais particularmente, a um método e dispositivo de decodificação de vídeo com base na intrapredição em um sistema de codificação de imagem.
TÉCNICA RELACIONADA
[002] A demanda por imagens de alta qualidade de alta resolução, tais como imagens HD (Alta Definição) e imagens UHD (Ultra-alta Definição) vem aumentando em vários campos. À medida que os dados de imagem têm alta resolução e alta qualidade, a quantidade de informações ou bits a ser transmitida aumenta em relação aos dados de imagem herdados. Portanto, quando os dados de imagem são transmitidos com o uso de um meio, tal como uma linha de banda larga com fio/sem fio convencional ou dados de imagem são armazenados com o uso de um meio de armazenamento existente, o custo de transmissão e o custo de armazenamento dos mesmos são aumentados.
[003] Consequentemente, há uma necessidade de uma técnica de compactação de imagem altamente eficiente para transmitir, armazenar e reproduzir eficazmente informações de alta resolução e imagens de alta qualidade.
SUMÁRIO
[004] A presente revelação fornece um método e um dispositivo para aumentar a eficiência de codificação de imagem.
[005] A presente revelação também fornece um método e dispositivo de intrapredição para selecionar um filtro de interpolação para uma amostra alvo em um bloco atual.
[006] A presente revelação também fornece um método e dispositivo para realizar a intrapredição com base em um filtro de interpolação para uma amostra alvo selecionada.
[007] Em um aspecto, é fornecido um método de decodificação de vídeo realizado por um dispositivo de decodificação. O método inclui derivar um modo de intrapredição de um bloco atual; derivar amostras vizinhas que inclui amostras vizinhas à esquerda e amostras vizinhas superiores do bloco atual; derivar amostras de referência para predição de uma amostra alvo do bloco atual entre as amostras vizinhas com base em uma posição da amostra alvo e um ângulo de predição do modo de intrapredição; determinar um filtro de interpolação para a amostra alvo; e derivar uma amostra de predição da amostra alvo com base no filtro de interpolação e nas amostras de referência.
[008] Em outro aspecto, é fornecido um dispositivo de decodificação para realizar decodificação de imagem. O dispositivo de decodificação inclui: um decodificador de entropia que obtém informações de predição para um bloco atual; e um preditor que deriva um modo de intrapredição do bloco atual; derivar amostras vizinhas que incluem amostras vizinhas à esquerda e amostras vizinhas superiores do bloco atual, derivar amostras de referência para predição de uma amostra alvo entre as amostras vizinhas com base em uma posição da amostra alvo do bloco atual e um ângulo de predição do modo de intrapredição, que determina um filtro de interpolação para a amostra alvo, e derivar uma amostra de predição da amostra alvo com base no filtro de interpolação e nas amostras de referência.
[009] Em outro aspecto, é fornecido um método de codificação de vídeo realizado por um dispositivo de codificação. O método inclui: determinar um modo de intrapredição para um bloco atual; derivar amostras vizinhas que incluem amostras vizinhas à esquerda e amostras vizinhas superiores do bloco atual; derivar amostras de referência para predição de uma amostra alvo do bloco atual entre as amostras vizinhas com base em uma posição da amostra alvo e um ângulo de predição do modo de intrapredição; determinar um filtro de interpolação para a amostra alvo; derivar uma amostra de predição da amostra alvo com base no filtro de interpolação e nas amostras de referência; e gerar informações de predição para o bloco atual, que codifica as informações de predição geradas, e emitir as informações de predição codificadas.
[010] Em outro aspecto, é fornecido um dispositivo de codificação de vídeo. O dispositivo de codificação inclui: a preditor que determina um modo de intrapredição para um bloco atual, derivando amostras vizinhas que incluem amostras vizinhas à esquerda e amostras vizinhas superiores do bloco atual, derivando amostras de referência para predição de uma amostra alvo entre as amostras vizinhas com base em uma posição da amostra alvo do bloco atual e um ângulo de predição do modo de intrapredição, determinando um filtro de interpolação para a amostra alvo, e derivando uma amostra de predição da amostra alvo com base no filtro de interpolação e nas amostras de referência; e um codificador de entropia que gera informações de predição para o bloco atual, codificando as informações de predição geradas, e emitindo as informações de predição codificadas.
[011] De acordo com a presente revelação, a predição pode ser realizada em uma amostra alvo com base em um filtro de interpolação selecionado de acordo com informações de tamanho de um bloco atual, informações de uma distância até uma amostra de referência e/ou informações de modo de predição, de modo que uma amostra de referência em uma posição de amostra fracionária para a amostra alvo possa ser precisamente gerada para aprimorar a precisão de predição para o bloco atual e o residual para o bloco atual possa ser reduzido para melhorar a eficiência de codificação.
[012] De acordo com a presente revelação, uma vez que um filtro de interpolação para a amostra alvo pode ser selecionado com base nas várias condições descritas acima, a quantidade de bits de informações relacionadas à seleção do filtro de interpolação aprimorando, desse modo a precisão de predição do bloco atual e aprimorando a eficiência de codificação do bloco atual.
BREVE DESCRIÇÃO DOS DESENHOS
[013] A Figura 1 é um diagrama esquemático que ilustra uma configuração de um dispositivo de codificação de vídeo ao qual a presente revelação é aplicável.
[014] A Figura 2 ilustra outro exemplo de um dispositivo de codificação de vídeo ao qual a presente revelação é aplicável.
[015] A Figura 3 ilustra um exemplo de um processo de realização de intrapredição em um dispositivo de codificação.
[016] A Figura 4 é um diagrama esquemático que ilustra uma configuração de um dispositivo de decodificação de vídeo ao qual a presente revelação é aplicável.
[017] A Figura 5 ilustra outro exemplo de um dispositivo de decodificação de vídeo ao qual a presente revelação é aplicável.
[018] A Figura 6 ilustra um exemplo de um processo de realização de intrapredição em um dispositivo de decodificação.
[019] A Figura 7 ilustra um exemplo de amostras vizinhas à esquerda e amostras vizinhas superiores usadas para intrapredição do bloco atual.
[020] A Figura 8 ilustra um exemplo de modos intradirecionais de 65 direções de predição.
[021] A Figura 9 ilustra um exemplo no qual as amostras de predição de uma amostra alvo são derivada com base em amostras de número inteiro adjacentes à esquerda e direita de uma amostra de referência quando uma posição da amostra de referência situada em uma direção de predição do modo de intrapredição direcional é uma posição de uma amostra fracionária.
[022] A Figura 10 ilustra um exemplo de seleção de um filtro de interpolação com base em um tamanho do bloco atual e um modo de intrapredição.
[023] A Figura 11 ilustra um exemplo de seleção de um filtro de interpolação com base em uma distância entre uma amostra alvo do bloco atual e uma amostra de referência.
[024] A Figura 12 ilustra um exemplo de derivação de uma amostra de referência de uma amostra alvo do bloco atual com base na pluralidade de filtros de interpolação e derivar uma amostra de predição da amostra alvo com base na amostra de referência.
[025] A Figura 13 ilustra esquematicamente um método de codificação de vídeo por meio de um dispositivo de codificação, de acordo com a presente revelação.
[026] A Figura 14 ilustra esquematicamente um método de decodificação de vídeo por meio de um dispositivo de decodificação, de acordo com a presente revelação.
DESCRIÇÃO DE MODALIDADES EXEMPLIFICADORAS
[027] A presente revelação pode ser modificada de várias formas, e modalidades específicas da mesma serão descritas e ilustradas nos desenhos. Entretanto, as modalidades não se destinam a limitar a revelação. Os termos usados na descrição a seguir são usados para descrever meramente modalidades específicas, porém não se destinam a limitar a revelação. Uma expressão de um número no singular inclui uma expressão do número no plural, desde que seja claramente lido de modo diferente. Os termos, tais como “incluem” e “têm” se destinam a indicar que existem recursos, números, etapas, operações, elementos, componentes ou combinações dos mesmos usados na seguinte descrição e deve-se entender que a possibilidade de existência ou adição de um ou mais recursos, números, etapas, operações, elementos, componentes diferentes, ou combinações dos mesmos não e excluída.
[028] Entretanto, elementos nos desenhos descritos na revelação são independentemente desenhados para o propósito de conveniência para explicação de funções específicas diferentes, e significa que os elementos são incorporados por hardware independente ou software independente. Por exemplo, dois ou mais elementos dentre os elementos podem ser combinados para formar um único elemento, ou um elemento pode ser dividido em múltiplos elementos. As modalidades nas quais os elementos são combinados e/ou divididos pertencem à revelação sem que se afaste do conceito da revelação.
[029] Doravante, as modalidades da presente invenção serão descritas em detalhes com referência aos desenhos anexos. Além disso, referências numéricas similares são usadas para indicar elementos ao longo dos desenhos, e as mesmas descrições sobre elementos similares serão omitidas.
[030] No presente relatório descritivo, geralmente uma figuração significa uma unidade que representa uma imagem em um momento específico, uma fatia é uma unidade que constitui uma parte da figuração. Uma figuração pode ser composta de múltiplas fatias, e os termos de uma figuração e uma fatia podem ser misturados entre si conforme a ocasião exigir.
[031] Um pixel pode significar uma unidade mínima que constitui uma figuração (ou imagem). Ademais, uma "amostra" pode ser usada como um termo que corresponde a um pixel. A amostra pode representar geralmente um pixel ou um valor de um pixel, pode representar apenas um pixel (um valor de pixel) de um componente de luma, e pode representar apenas um pixel (um valor de pixel) de um componente de croma.
[032] Uma unidade indica uma unidade básica de processamento de imagens. A unidade pode incluir pelo menos uma dentre uma área específica e informações relacionadas à área. Opcionalmente, a unidade pode ser misturada com termos, tal como um bloco, uma área ou similares. Em um caso típico, um bloco MxN pode representar um conjunto de amostras ou coeficientes de transformada dispostos em colunas M e fileiras N.
[033] A Figura 1 ilustra resumidamente uma estrutura de um dispositivo de codificação de vídeo ao qual a presente revelação é aplicável.
[034] Com referência à Figura 1, um dispositivo de codificação de vídeo 100 pode incluir um particionador de figuração 105, um preditor 110, um processador residual 120, um adicionador 150, um filtro 255 e uma memória 160. O processador residual 120 pode incluir um subtrator 121, um transformador 122, um quantizador 123, um reorganizador 124, um quantizador inverso 125, um transformador inverso 126.
[035] O particionador de figuração 105 pode dividir uma figuração de entrada em pelo menos uma unidade de processamento.
[036] Em um exemplo, uma unidade de processamento pode ser chamada de uma unidade de codificação (CU). Nesse caso, a unidade de codificação pode ser recursivamente dividida a partir da maior unidade de codificação (LCU) de acordo com uma estrutura de árvore quaternária árvore binária (QTBT). Por exemplo, uma unidade de codificação pode ser dividida em uma pluralidade de unidades de codificação de uma profundidade mais profunda com base em uma estrutura de árvore quaternária e/ou uma estrutura de árvore binária. Nesse caso, por exemplo, a estrutura de árvore quaternária pode ser aplicada primeiro e a estrutura de árvore biná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 em uma unidade de codificação final que não é mais dividida. Nesse caso, a maior unidade de codificação pode ser usada como a unidade de codificação final com base na eficiência de codificação, ou similares, dependendo das características de imagem, ou a unidade de codificação pode ser recursivamente dividida em unidades de codificação de uma profundidade inferior conforme necessário e uma unidade de codificação que tem um tamanho ideal pode ser usada como a unidade de codificação final. Aqui, o procedimento de codificação pode incluir um procedimento, tal como predição, transformação e reconstrução, que será descrito posteriormente.
[037] Em outro exemplo, a unidade de processamento pode incluir uma unidade de codificação (CU), unidade de predição (PU) ou uma unidade de transformada (TU). A unidade de codificação pode ser dividida a partir da maior unidade de codificação (LCU) em unidades de codificação de uma profundidade mais profunda, de acordo com a estrutura de árvore quaternária. Nesse caso, a maior unidade de codificação pode ser diretamente usada como a unidade de codificação final com base na eficiência de codificação, ou similares, dependendo das características de imagem, ou a unidade de codificação pode ser recursivamente dividida em unidades de codificação de uma profundidade mais profunda, conforme necessário e uma unidade de codificação que tem um tamanho ideal pode ser usada como uma unidade de codificação final. Quando a menor unidade de codificação (SCU) é definida, a unidade de codificação pode não ser dividida em unidades de codificação menores que a menor unidade de codificação. Aqui, a unidade de codificação final se refere a uma unidade de codificação que é particionada ou dividida em uma unidade de predição ou uma unidade de transformada. A unidade de predição é uma unidade que é particionada a partir da uma unidade de codificação, e pode ser unidade de predição de amostra. Aqui, a unidade de predição pode ser dividida em sub-blocos. A unidade de transformada pode ser dividida a partir da unidade de codificação de acordo com a estrutura de árvore quaternária e pode ser uma unidade para derivar um coeficiente de transforma e/ou uma unidade para derivar o sinal residual a partir do coeficiente de transformada. Doravante, a unidade de codificação pode ser chamada de um bloco de codificação (CB), a unidade de predição pode ser chamada de um bloco de predição (PB), e a unidade de transformada pode ser chamada de um bloco de transformada (TB). O bloco de predição ou unidade de predição pode ser chamado de uma área específica sob a forma de um bloco em uma figuração e inclui uma matriz de amostras de predição. Além disso, o bloco de transformada ou unidade de transformada pode se referir a uma área específica sob a forma de um bloco em uma figuração e incluir o coeficiente de transformada ou uma matriz de amostras residuais.
[038] O preditor 110 pode realizar predição em um bloco alvo de processamento (doravante, um bloco atual), e pode gerar um bloco predito que inclui amostras de predição para o bloco atual. Uma unidade de predição realizada no preditor 110 pode ser um bloco de codificação, ou pode ser um bloco de transformada, ou pode ser um bloco de predição.
[039] O preditor 110 pode determinar se a intrapredição é aplicada ou interpredição é aplicada ao bloco atual. Por exemplo, o preditor 110 pode determinar se a intrapredição ou a interpredição é aplicada em uma unidade de CU.
[040] No caso da intrapredição, o preditor 110 pode derivar uma amostra de predição para o bloco atual com base em uma amostra de referência fora do bloco atual em uma figuração à qual o bloco atual pertence (doravante, uma figuração atual). Nesse caso, o preditor 110 pode derivar a amostra de predição com base em uma média ou interpolação de amostras de referência vizinhas do bloco atual (case (i)), ou pode derivar a amostra de predição com base em uma amostra de referência que existe em uma direção (predição) específica como para uma a amostra de predição entre as amostras de referência vizinhas do bloco atual (caso (ii)). O caso (i) pode ser chamado de um modo não direcional ou um modo não angular, e o caso (ii) pode ser chamado de um modo direcional ou um modo angular. Na intrapredição, os modos de predição podem incluir como um exemplo 33 modos direcionais e pelo menos dois modos não direcionais. Os modos não direcionais podem incluir o modo DC e o modo planar. O preditor 110 pode determinar o modo de predição a ser aplicado ao bloco atual com o uso do modo de predição aplicado ao bloco vizinho.
[041] No caso da interpredição, o preditor 110 pode derivar a amostra de predição para o bloco atual com base em uma amostra especificada por um vetor de movimento em uma figuração de referência. O preditor 110 pode derivar a amostra de predição para o bloco atual aplicando-se qualquer um dentre um modo de salto, um modo de mesclagem e um modo de predição de vetor de movimento (MVP). No caso do modo de salto e do modo de mesclagem, o preditor 110 pode usar informações de movimento do bloco vizinho como informações de movimento do bloco atual. No caso do modo de salto, diferente do modo de mesclagem, uma diferença (residual) entre a amostra de predição e uma amostra original não é transmitida. No caso do modo MVP, um vetor de movimento do bloco vizinho é usado como um preditor de vetor de movimento e, desse modo, é usado como um preditor de vetor de movimento do bloco atual para derivar um vetor de movimento do bloco atual.
[042] No caso da interpredição, o bloco vizinho pode incluir um bloco vizinho espacial que existe na figuração atual e um bloco vizinho temporal que existe na figuração de referência. A figuração de referência que inclui o bloco vizinho temporal também pode ser chamada de figuração colocalizada (colPic). As informações de movimento podem incluir o vetor de movimento e um índice de figuração de referência. As informações, tais como informações de modo de predição e informações de movimento podem ser codificadas (entropia) e, e, então, emitidas como uma forma de um fluxo de bits.
[043] Quando as informações de movimento de um bloco vizinho temporal são usadas no modo de salto e no modo de mesclagem, uma figuração mais alta em uma lista de figurações de referência pode ser usada como uma figuração de referência. As figurações de referência na lista de figurações de referência podem ser alinhadas com base em uma diferença de contagem de ordem de figuração (POC) entre uma figuração atual e uma figuração de referência correspondente. Uma POC corresponde a uma ordem de exibição e pode ser discriminada a partir de uma ordem de codificação.
[044] O subtrator 121 gera uma amostra residual que é uma diferença entre uma amostra original e uma amostra de predição. Se o modo de salto for aplicado, a amostra residual pode não ser gerada conforme descrito acima.
[045] O transformador 122 transforma amostras residuais em unidades de um bloco de transformada para gerar um coeficiente de transformada. O transformador 122 pode realizar transformação com base no tamanho de um bloco de transformada correspondente e um modo de predição aplicado a um bloco de codificação ou bloco de predição que se sobrepõe espacialmente ao bloco de transformada. Por exemplo, amostras residuais podem ser transformadas com o uso de kernel de transformada de transformada discreta de seno (DST) se a intrapredição for aplicada ao bloco de codificação ou ao bloco de predição que se sobrepõe ao bloco de transformada e o bloco de transformada é uma matriz residual 4x4 e é transformado com o uso de kernel de transformada de transformada discreta de cosseno (DCT), em outros casos.
[046] O quantizador 123 pode quantizar os coeficientes de transformada para gerar coeficientes de transformada quantizados.
[047] O reorganizador 124 reorganiza os coeficientes de transformada quantizados. O reorganizador 124 pode reorganizar os coeficientes de transformada quantizados sob a forma de um bloco em um vetor unidimensional através de um método de varredura de coeficiente. Embora o reorganizador 124 seja descrito como um componente separado, o reorganizador 124 pode ser uma parte do quantizador 123.
[048] O codificador de entropia 130 pode realizar codificação de entropia nos coeficientes de transformada quantizados. A codificação de entropia pode incluir um método de codificação, por exemplo, uma codificação exponencial de Golomb, uma codificação de comprimento variável adaptável ao contexto (CAVLC), uma codificação aritmética binária adaptável ao contexto (CABAC) ou similares. O codificador de entropia 130 pode realizar codificação em conjunto ou separadamente nas informações (por exemplo, um valor de elemento de sintaxe ou similares) exigidas para reconstrução de vídeo além dos coeficientes de transformada quantizados. As informações codificadas por entropia podem ser transmitidas ou armazenadas na unidade de uma camada de abstração de rede (NAL) em uma forma de fluxo de bits.
[049] O quantizador inverso 125 quantiza inversamente os valores (coeficientes de transformada) quantizados pelo quantizador 123 e o transformador inverso 126 transforma inversamente os valores quantizados inversamente pelo quantizador inverso 125 para gerar uma amostra residual.
[050] O adicionador 140 adiciona uma amostra residual a uma amostra de predição para reconstruir uma figuração. A amostra residual pode ser adicionada à amostra de predição em unidades de um bloco para gerar um bloco reconstruído. Embora o adicionador 140 seja descrito como um componente separado, o adicionador 140 pode ser uma parte do preditor 110. Entretanto, o adicionador 140 pode ser chamado de um reconstrutor ou gerador de bloco reconstruído.
[051] O filtro 150 pode aplicar a filtragem de desblocagem e/ou um deslocamento adaptativo de amostra da figuração reconstruída. Artefatos em um limite de bloco na figuração reconstruída ou distorção na quantização podem ser corrigidos através da filtragem de desblocagem e/ou deslocamento adaptativo de amostra. O deslocamento adaptativo de amostra pode ser aplicado em unidades de uma amostra após a filtragem de desblocagem ser concluída. O filtro 150 pode aplicar um filtro de malha adaptativo (ALF) à figuração reconstruída. O ALF pode ser aplicado à figuração reconstruída à qual a filtragem de desblocagem e/ou deslocamento adaptativo de amostra foram aplicados.
[052] A memória 160 pode armazenar uma figuração reconstruída (figuração decodificada) ou informações necessárias para codificação/decodificação. Aqui, a figuração reconstruída pode ser a figuração reconstruída filtrada pelo filtro 150. A figuração reconstruída armazenada pode ser usada como uma figuração de referência para (inter)predição de outras figurações. Por exemplo, a memória 160 pode armazenar figurações (referência) usadas para interpredição. Aqui, as figurações usadas para interpredição podem ser projetadas de acordo com um conjunto de figurações de referência ou uma lista de figurações de referência.
[053] A Figura 2 ilustra outro exemplo de um dispositivo de codificação de vídeo ao qual a presente revelação é aplicável.
[054] Com referência à Figura 2, o dispositivo de codificação de vídeo inclui um intrapreditor, um suavizador de referência 200, um preditor 210, um pós-filtro 220, um transformador 230 e um quantizador 240. Aqui, o intrapreditor pode incluir um suavizador de referência 200, um preditor 210 e um pós-filtro 220.
[055] Quando a intrapredição é aplicada a um bloco atual, o suavizador de referência 200 pode realizar um processo de suavização nas amostras vizinhas à esquerda e amostras vizinhas superiores usadas para intrapredição do bloco atual em uma figuração (doravante, chamada de uma figuração atual) à qual o bloco atual pertence, com base em um tamanho do bloco atual, informações de modo de intrapredição e um valor de amostra. Consequentemente, é possível impedir artefatos visuais relacionados às amostras de predição do bloco atual, que podem ocorrer devido a diferenças entre valores de amostra das amostras vizinhas à esquerda e das amostras vizinhas superiores.
[056] O preditor 210 pode (i) derivar uma amostra de predição com base em uma média ou interpolação das amostras vizinhas à esquerda e das amostras vizinhas superiores do bloco atual, ou (ii) pode derivar as amostras de predição com base nas amostras vizinhas presentes em uma direção (predição) específica relacionada às amostras de predição entre as amostras vizinhas à esquerda e as amostras vizinhas superiores. O caso (i) pode ser chamado de um modo não direcional ou um modo não angular e o caso (ii) pode ser chamado de um modo direcional ou um modo angular. Na intrapredição, o modo de predição pode ter 33 modos de predição direcional e pelo menos dois modos não direcionais. O modo não direcional pode incluir um modo de predição DC e um modo planar (modo Planar). O preditor 210 também pode determinar um modo de predição aplicado ao bloco atual com o uso de um modo de predição aplicado a um bloco vizinho.
[057] A unidade de pós-filtro 220 pode realizar seletivamente a filtragem pós- processamento para mitigar a descontinuidade entre o bloco atual e as amostras vizinhas de acordo com o modo de predição no qual a amostra de predição do bloco atual é derivada. Posteriormente, o dispositivo de codificação pode derivar, como uma amostra residual, uma diferença entre a amostra de predição e uma amostra original, e o transformador 230 pode transformar a amostra residual em unidades de blocos para gerar coeficientes de transformada. Além disso, o quantizador 240 pode quantizar os coeficientes de transformada para gerar coeficientes de transformada quantizados.
[058] A Figura 3 ilustra um exemplo de um processo de realização de intrapredição no dispositivo de codificação. O dispositivo de codificação pode realizar intrapredição para gerar uma amostra de predição de um bloco atual (S300). A amostra de predição pode ser chamada de um sinal de predição ou um sinal de intrapredição. Especificamente, o dispositivo de codificação pode suavizar (isto é, realizar um processo de suavização em) amostras vizinhas à esquerda e amostras vizinhas superiores usadas para intrapredição do bloco atual com base em um tamanho do bloco atual, informações de modo e um valor de amostra (S310). Posteriormente, conforme descrito acima, o dispositivo de codificação pode realizar predição de acordo com o modo de intrapredição para gerar a amostra de predição (S320) e realizar filtragem pós-processamento para mitigar a descontinuidade entre o bloco atual e as amostras vizinhas (S330). O dispositivo de codificação pode gerar, como uma amostra residual, uma diferença entre a amostra de predição e a amostra original (S340) e transformar a amostra residual em unidades de blocos para gerar coeficientes de transformada. Ademais, o dispositivo de codificação pode quantizar os coeficientes de transformada para gerar coeficientes de transformada quantizados (S360) e codificar por entropia os coeficientes de transformada quantizados para realizar sinalização (S370).
[059] A Figura 4 ilustra resumidamente uma estrutura de um dispositivo de decodificação de vídeo ao qual a presente revelação é aplicável.
[060] Com referência à Figura 4, um dispositivo de decodificação de vídeo 400 pode incluir um decodificador de entropia 410, um processador residual 420, um preditor 430, um adicionador 440, um filtro 450 e uma memória 460. O processador residual 420 pode incluir um reorganizador 421, um quantizador inverso 422, um transformador inverso 423.
[061] Quando um fluxo de bits que inclui informações de vídeo é inserido, o dispositivo de decodificação de vídeo 400 pode reconstruir um vídeo em associação com um processo através do qual as informações de vídeo são processadas no dispositivo de codificação de vídeo.
[062] Por exemplo, o dispositivo de decodificação de vídeo 400 pode realizar decodificação de vídeo com o uso de uma unidade de processamento aplicada no dispositivo de codificação de vídeo. Dessa forma, o bloco de unidade de processamento da decodificação de vídeo pode ser, por exemplo, uma unidade de codificação e, em outro exemplo, uma unidade de codificação, uma unidade de predição ou uma unidade de transformada. A unidade de codificação pode ser dividida a partir da maior unidade de codificação de acordo com a estrutura de árvore quaternária e/ou a estrutura de árvore binária.
[063] Uma unidade de predição e uma unidade de transformada podem ser adicionalmente usadas em alguns casos e, nesse caso, o bloco de predição é um bloco derivado ou particionado a partir da unidade de codificação e pode ser uma unidade de predição de amostra. Aqui, a unidade de predição pode ser dividida em sub-blocos. A unidade de transformada pode ser dividida a partir da unidade de codificação de acordo com a estrutura de árvore quaternária e pode ser uma unidade que deriva um coeficiente de transforma ou uma unidade que deriva o sinal residual a partir do coeficiente de transformada.
[064] O decodificador de entropia 410 pode analisar o fluxo de bits para emitir informações necessárias para reconstrução de vídeo ou reconstrução de figuração. Por exemplo, o decodificador de entropia 410 pode decodificar informações no fluxo de bits com base em um método de codificação, tal como codificação exponencial de Golomb, CAVLC, CABAC, ou similares, e pode emitir um valor de um elemento de sintaxe exigido para reconstrução de vídeo e um valor quantizado necessário para a reconstrução de vídeo e um valor quantizado de um coeficiente de transformada que se refere a um residual.
[065] Mais especificamente, um método de decodificação de entropia CABAC pode receber um bin que corresponde a cada elemento de sintaxe em um fluxo de bits, determinar um modelo de contexto com o uso de informações de elemento de sintaxe alvo de decodificação de blocos alvo de decodificação e vizinhos ou informações de símbolo/bin decodificado em uma etapa anterior, prever a probabilidade de geração de bin de acordo com o modelo de contexto determinado e realizar a decodificação aritmética do bin para gerar um símbolo que corresponde a cada valor de elemento de sintaxe. Aqui, o método de decodificação de entropia CABAC pode atualizar o modelo de contexto com o uso de informações de um símbolo/bin decodificado para um modelo de contexto do próximo símbolo/bin após a determinação do modelo de contexto.
[066] As informações sobre predição entre informações decodificadas no decodificador de entropia 410 podem ser fornecidas para o preditor 450 e valores residuais, ou seja, coeficientes de transformada quantizados, nos quais s decodificação de entropia foi realizada pelo decodificador de entropia 410 podem ser inseridos no reorganizador 421.
[067] O reorganizador 421 pode reorganizar os coeficientes de transformada quantizados em uma forma de bloco bidimensional. O reorganizador 421 pode realizar a reorganização que corresponde à varredura de coeficiente realizada pelo dispositivo de codificação. Embora o reorganizador 421 seja descrito como um componente separado, o reorganizador 421 pode ser uma parte do quantizador inverso 422.
[068] O quantizador inverso 422 pode desquantizar os coeficientes de transformada quantizados com base em um parâmetro de (des)quantização para emitir um coeficiente de transformada. Nesse caso, informações para derivar um parâmetro de quantização podem ser sinalizadas a partir do dispositivo de codificação.
[069] O transformador inverso 423 pode transformar inversamente os coeficientes de transformada para derivar amostras residuais.
[070] O preditor 430 pode realizar predição em um bloco atual, e pode gerar um bloco predito que inclui amostras de predição para o bloco atual. Uma unidade de predição realizada no preditor 430 pode ser um bloco de codificação, ou pode ser um bloco de transformada, ou pode ser um bloco de predição.
[071] O preditor 430 pode determinar se deve aplicar intrapredição ou interpredição com base nas informações sobre uma predição. Nesse caso, uma unidade para determinar qual será usada entre a intrapredição e a interpredição pode ser diferente de uma unidade para gerar uma amostra de predição. Além disso, uma unidade para gerar a amostra de predição também pode ser diferente na interpredição e na intrapredição. Por exemplo, qual será aplicada entre a interpredição e a intrapredição pode ser determinado em unidade de CU. Ademais, por exemplo, na interpredição, a amostra de predição pode ser gerada determinando-se o modo de predição em unidade de PU, e na intrapredição, a amostra de predição pode ser gerada em unidade de TU determinando-se o modo de predição em unidade de PU.
[072] No caso da intrapredição, o preditor 430 pode derivar uma amostra de predição para um bloco atual com base em uma amostra de referência vizinha em uma figuração atual. O preditor 430 pode derivar a amostra de predição para o bloco atual aplicando-se um modo direcional ou um modo não direcional com base na amostra de referência vizinha do bloco atual. Nesse caso, um modo de predição a ser aplicado ao bloco atual pode ser determinado com o uso de um modo de intrapredição de um bloco vizinho.
[073] No caso de interpredição, o preditor 430 pode derivar uma amostra de predição para um bloco atual com base em uma amostra especificada em uma figuração de referência, de acordo com um vetor de movimento. O preditor 430 pode derivar a amostra de predição para o bloco atual com o uso do modo de salto, do modo de mesclagem e do modo MVR Aqui, as informações de movimento necessárias para interpredição do bloco atual fornecido pelo dispositivo de codificação de vídeo, por exemplo, um vetor de movimento e informações sobre um índice de figuração de referência podem ser adquiridas ou derivadas com base nas informações sobre predição.
[074] No modo de salto e no modo de mesclagem, as informações de movimento de um bloco vizinho podem ser usadas como informações de movimento do bloco atual. Aqui, o bloco vizinho pode incluir um bloco vizinho espacial e um bloco vizinho temporal.
[075] O preditor 430 pode construir uma lista de candidatos de mesclagem com o uso de informações de movimento de blocos vizinhos disponíveis e usar informações indicadas por um índice de mesclagem na lista de candidatos de mesclagem como um vetor de movimento do bloco atual. O índice de mesclagem pode ser sinalizado pelo dispositivo de codificação. As informações de movimento podem incluir um vetor de movimento e uma figuração de referência. Quando as informações de movimento de um bloco vizinho temporal são usadas no modo de salto e no modo de mesclagem, uma figuração mais alta em uma lista de figurações de referência pode ser usada como uma figuração de referência.
[076] No caso do modo de salto, uma diferença (residual) entre uma amostra de predição e uma amostra original não é transmitida, distinguida do modo de mesclagem.
[077] No caso do modo MVP, o vetor de movimento do bloco atual pode ser derivado com o uso de um vetor de movimento de um bloco vizinho como um preditor de vetor de movimento. Aqui, o bloco vizinho pode incluir um bloco vizinho espacial e um bloco vizinho temporal.
[078] Quando o modo de mesclagem é aplicado, por exemplo, uma lista de candidatos de mesclagem pode ser gerada com o uso de um vetor de movimento de um bloco vizinho espacial reconstruído e/ou um vetor de movimento que corresponde a um bloco Col que é um bloco vizinho temporal. Um vetor de movimento de um bloco candidato selecionado dentre a lista de candidatos de mesclagem é usado como o vetor de movimento do bloco atual no modo de mesclagem. As informações anteriormente mencionadas sobre predição podem incluir um índice de mesclagem que indica um bloco candidato que tem o melhor vetor de movimento selecionado dentre os blocos candidatos incluídos na lista de candidatos de mesclagem. Aqui, o preditor 430 pode derivar o vetor de movimento do bloco atual com o uso do índice de mesclagem.
[079] Quando o modo MVP (Predição de Vetor de Movimento) é aplicado como outro exemplo, uma lista de candidatos de preditor de vetor de movimento pode ser gerada com o uso de um vetor de movimento de um bloco vizinho espacial reconstruído e/ou um vetor de movimento que corresponde a um bloco Col que é um bloco vizinho temporal. Ou seja, o vetor de movimento do bloco vizinho espacial reconstruído e/ou o vetor de movimento que corresponde ao bloco Col que é o bloco vizinho temporal pode ser usado como os candidatos de vetor de movimento. As informações anteriormente mencionadas sobre predição podem incluir um índice de vetor de movimento de predição que indica o melhor vetor de movimento selecionado dentre os candidatos de vetor de movimento incluídos na lista. Aqui, o preditor 430 pode selecionar um vetor de movimento de predição do bloco atual a partir dos candidatos de vetor de movimento incluídos na lista de candidatos de vetor de movimento com o uso do índice de vetor de movimento. O preditor do dispositivo de codificação pode obter uma diferença de vetor de movimento (MVD) entre o vetor de movimento do bloco atual e um preditor de vetor de movimento, codificar o MVD e emitir o MVD codificado sob a forma de um fluxo de bits, ou seja, o MVD pode ser obtido subtraindo-se o preditor de vetor de movimento do vetor de movimento do bloco atual. Aqui, o preditor 430 pode adquirir um vetor de movimento incluído nas informações sobre predição e derivar o vetor de movimento do bloco atual adicionando-se a diferença de vetor de movimento ao preditor de vetor de movimento. Além disso, o preditor pode obter ou derivar um índice de figuração de referência que indica uma figuração de referência a partir das informações anteriormente mencionadas sobre predição.
[080] O adicionador 440 pode adicionar uma amostra residual a uma amostra de predição para reconstruir um bloco atual ou uma figuração atual. O adicionador 440 pode reconstruir a figuração atual adicionando-se a amostra residual à amostra de predição em unidades de um bloco. Quando o modo de salto for aplicado, um residual não é transmitido e, desse modo, a amostra de predição pode se tornar uma amostra reconstruída. Embora o adicionador 440 seja descrito como um componente separado, o adicionador 440 pode ser uma parte do preditor 430. Entretanto, o adicionador 440 pode ser chamado de um reconstrutor ou gerador de bloco reconstruído.
[081] O filtro 450 pode aplicar filtragem de desblocagem, deslocamento adaptativo de amostra e/ou ALF à figuração reconstruída. Aqui, deslocamento adaptativo de amostra pode ser aplicado em unidades de uma amostra após a filtragem de desblocagem. O ALF pode ser aplicado após a filtragem de desblocagem e/ou aplicação de deslocamento adaptativo de amostra.
[082] A memória 460 pode armazenar uma figuração reconstruída (figuração decodificada) ou informações necessárias para decodificação. Aqui, a figuração reconstruída pode ser a figuração reconstruída filtrada pelo filtro 450. Por exemplo, a memória 460 pode armazenar figurações usadas para interpredição. Aqui, as figurações usadas para interpredição podem ser projetadas de acordo com um conjunto de figurações de referência ou uma lista de figurações de referência. A figuração reconstruída pode ser usada como uma figuração de referência para outras figurações. A memória 460 pode emitir figurações reconstruídas em uma ordem de saída.
[083] A Figura 5 ilustra outro exemplo de um dispositivo de decodificação de vídeo ao qual a presente revelação é aplicável.
[084] Com referência à Figura 5, o dispositivo de codificação de vídeo inclui um intrapreditor, um suavizador de referência 500, um preditor 810, um pós-filtro 520, um quantizador inverso 530 e um transformador inverso 540. Aqui, o intrapreditor pode incluir o suavizador de referência 500, o preditor 510 e o pós-filtro 520. O intrapreditor pode derivar a amostra de predição para um bloco atual aplicando-se um modo direcional ou um modo não direcional com base em uma amostra de referência vizinha do bloco atual. Aqui, o modo de predição a ser aplicado ao bloco atual pode ser determinado com o uso de um modo de intrapredição de um bloco vizinho.
[085] Especificamente, quando a intrapredição é aplicada ao bloco atual, o suavizador de referência 500 pode realizar um processo de suavização nas amostras vizinhas à esquerda e nas amostras vizinhas superiores usadas para intrapredição do bloco atual em uma figuração (doravante, chamada de uma figuração atual) à qual o bloco atual pertence, com base no tamanho do bloco atual, no modo de predição e no valor de amostra. Desse modo, é possível impedir artefatos visuais relacionados às amostras de predição do bloco atual, que podem ocorrer devido a diferenças entre valores de amostra das amostras vizinhas à esquerda e das amostras vizinhas superiores.
[086] O preditor 510 pode derivar a amostra de predição com base em uma média ou interpolação das amostras vizinhas à esquerda e das amostras vizinhas superiores do bloco atual (caso (i)) ou pode derivar a amostra de predição com base em uma amostra vizinha presente em uma direção (predição) específica em relação à amostra de predição entre as amostras vizinhas à esquerda e as amostras vizinhas superiores (caso (ii)). O caso (i) pode ser chamado de um modo não direcional ou um modo não angular, e o caso (ii) pode ser chamado de um modo direcional ou um modo angular. Na intrapredição, o modo de predição pode incluir, por exemplo, 33 modos de predição direcionais e pelo menos dois modos não direcionais. Os modos não direcionais podem incluir um modo de predição DC e um modo planar. O preditor 510 pode determinar o modo de predição a ser aplicado ao bloco atual com o uso do modo de predição aplicado ao bloco vizinho.
[087] A unidade de pós-filtro 520 pode realizar seletivamente a filtragem pós- processamento para mitigar a descontinuidade entre o bloco atual e as amostras vizinhas de acordo com o modo de predição no qual a amostra de predição do bloco atual é derivada. Posteriormente, o quantizador inverso 530 pode quantizer inversamente os coeficientes de transformada quantizados recebidos a partir do dispositivo de codificação, e o transformador inverso 540 pode transformar inversamente os coeficientes de transformada quantizados inversamente para gerar amostras residuais em unidades de blocos. O dispositivo de decodificação pode recuperar o bloco atual codificado com base na intrapredição, com base na amostra residual e na amostra de predição.
[088] A Figura 6 ilustra um exemplo de um processo de realização de intrapredição em um dispositivo de decodificação. O dispositivo de decodificação decodifica por entropia as informações codificadas por entropia recebidas através de um fluxo de bits para obter coeficientes de transformada quantizados (S600). A seguir, o dispositivo de decodificação pode quantizar inversamente os coeficientes de transformada quantizados para obter coeficientes de transformada (S610) e transformar inversamente os coeficientes de transformada para gerar uma amostra residual em unidades de blocos (S620). A seguir, o dispositivo de decodificação pode realizar intrapredição para gerar uma amostra de predição do bloco atual (S630). A amostra de predição pode ser chamada de um sinal de predição ou um sinal de intrapredição. Especificamente, o dispositivo de decodificação pode realizar um processo de suavização nas amostras vizinhas à esquerda e nas amostras vizinhas superiores usadas para intrapredição do bloco atual com base em um tamanho do bloco atual, um modo de predição e um valor de amostra (S640). Posteriormente, o dispositivo de decodificação pode realizar predição de acordo com o modo de intrapredição para gerar a amostra de predição conforme descrito acima (S650) e realizar filtragem pós-processamento para reduzir a descontinuidade entre o bloco atual e as amostras vizinhas (S660). O dispositivo de decodificação pode adicionar a amostra de predição e a amostra residual para gerar uma amostra reconstruída do bloco atual (S670).
[089] Quando a predição é realizada no bloco atual conforme descrito acima, a predição pode ser realizada com base no modo de intrapredição. Por exemplo, a intrapredição pode ser realizada com base em uma amostra vizinha que já foi codificada/decodificada em um tempo de decodificação do bloco atual. Ou seja, as amostra de predição do bloco atual podem ser reconstruídas com o uso das amostras vizinhas à esquerda e das amostras vizinhas superiores do bloco atual. As amostras vizinhas à esquerda e as amostras vizinhas superiores podem ser representadas conforme mostrado na Figura 7.
[090] A Figura 7 ilustra um exemplo das amostras vizinhas à esquerda e amostras vizinhas superiores usadas para intrapredição do bloco atual. Quando a intrapredição é realizada no bloco atual, um modo de intrapredição relacionado ao bloco atual pode ser derivado e uma amostra de predição relacionada ao bloco atual pode ser gerada com o uso de pelo menos uma das amostras vizinhas à esquerda e das amostras vizinhas superiores de acordo com o modo de intrapredição. As amostras vizinhas à esquerda e as amostras vizinhas superiores usadas para intrapredição do bloco atual podem passar por um processo de suavização com base no tamanho do bloco atual, no modo de predição e no valor de amostra. Ou seja, a filtragem pode ser realizada para reduzir uma diferença entre os valores de amostra das amostras vizinhas à esquerda e das amostras vizinhas superiores com base no tamanho do bloco atual, no modo de predição e nos valores de amostra. Desse modo, é possível impedir artefatos visuais relacionados às amostras de predição do bloco atual, que podem ocorrer devido a diferenças entre valores de amostra das amostras vizinhas à esquerda e das amostras vizinhas superiores.
[091] Aqui, o modo de intrapredição pode incluir dois modos de intrapredição não direcionais e 33 modos de intrapredição direcionais. Os modos de intrapredição não direcionais podem incluir um modo de intrapredição planar e um modo de intrapredição DC, e os modos de intrapredição direcionais podem incluir modos de intrapredição n° 2 a n° 34. O modo de intrapredição planar pode ser chamado de um modo planar, e o modo de intrapredição DC pode ser chamado de um modo DC. O modo de intrapredição n° 10 pode indicar um modo de intrapredição horizontal ou um modo horizontal, o modo de intrapredição n° 26 indica um modo de intrapredição vertical ou um modo vertical, com base em qual direção de predição do modo de intrapredição direcional pode ser expressa por um ângulo. Em outras palavras, um ângulo relativo que corresponde a cada modo de intrapredição pode ser expresso com referência a um ângulo de referência horizontal 0o que corresponde ao modo de intrapredição n° 10, e um ângulo relativo que corresponde a cada modo de intrapredição pode ser expresso com referência a um ângulo de referência vertical 0o que corresponde ao modo de intrapredição n° 26.
[092] Além disso, a demanda por vídeo de alta qualidade está aumentando, e a fim de aumentar a eficiência de um codec de vídeo, o número de direções de intrapredição pode aumentar para 65. Ou seja, o modo de intrapredição pode incluir dois modos de intrapredição não direcionais e 65 modos de intrapredição direcionais. Os modos de intrapredição não direcionais podem incluir um modo de intrapredição planar e um modo de intrapredição DC, e os modos de intrapredição direcionais podem incluir modos de intrapredição n° 2 a n° 66.
[093] A Figura 8 ilustra modos intradirecionais de 65 direções de predição.
[094] Com referência à Figura 8, modos de intrapredição que têm direcionalidade horizontal e modos de intrapredição que têm direcionalidade vertical podem ser classificados com base em um modo de intrapredição n° 34 que tem uma direção de predição diagonal esquerda superior. H e V na Figura 8 representam a direcionalidade horizontal e a direcionalidade vertical, respectivamente, e os números de -32 a 32 representam deslocamentos de 1/32 unidade em posições de grade de amostra. Os modos de intrapredição n° 2 a n° 33 têm a direcionalidade horizontal e os modos de intrapredição n° 34 a n° 66 têm a direcionalidade vertical. O modo de intrapredição n° 18 e o modo de intrapredição n° 50 representam um modo de intrapredição horizontal e um modo de intrapredição vertical, respectivamente, com base em qual direção de predição de um modo de intrapredição angular pode ser expressa por um ângulo. Em outras palavras, um ângulo relativo que corresponde a cada modo de intrapredição pode ser expresso com base em um ângulo de referência horizontal 0o que corresponde ao modo de intrapredição n° 18, e um ângulo relativo que corresponde a cada modo de intrapredição pode ser expresso com base em um ângulo de referência vertical 0o que corresponde ao modo de intrapredição n° 50.
[095] No caso em que o modo de intrapredição direcional é aplicado ao bloco atual, uma amostra de predição da amostra alvo pode ser derivada com base em uma amostra de referência situada em uma direção de predição do modo de intrapredição direcional em relação a uma amostra alvo na qual a intrapredição é realizada no bloco atual. Ou seja, a amostra de referência situada na direção de predição pode ser copiada e derivada como a amostra de predição. Aqui, a amostra de referência pode representar uma amostra vizinha situada em uma direção de predição do modo de intrapredição direcional em relação à amostra alvo entre as amostras vizinhas superiores e as amostras vizinhas à esquerda do bloco atual. Entretanto, quando não há amostra de referência em unidades de amostras de número inteiro na direção de predição do modo de intrapredição direcional com base na amostra alvo, ou seja, quando uma posição de uma amostra de referência situada na direção de predição do modo de intrapredição direcional é uma posição de amostra fracionária com base na amostra alvo, um valor de amostra da amostra de referência pode ser derivado através da interpolação entre amostras de número inteiro adjacentes à esquerda e direita da amostra de referência e a amostra de predição da amostra alvo pode ser derivada com base na amostra de referência. Por exemplo, a interpolação entre as amostras de número inteiro pode ser realizada com base em uma razão entre a distância da amostra de referência e das amostras de número inteiro.
[096] A Figura 9 é uma vista que ilustra um exemplo em que, quando uma posição de uma amostra de referência situada em uma direção de predição do modo de intrapredição direcional é uma posição de amostra fracionária, uma amostra de predição da amostra alvo é derivada com base nas amostras de número inteiro adjacentes à esquerda e direita da amostra de referência.
[097] Com referência à Figura 9, uma posição de amostra fracionária de uma amostra de referência situada em uma direção de predição do modo de intrapredição direcional com base na amostra alvo pode ser derivada como tan θ*(y+1). O valor tanθ para cada ângulo θ de cada modo de intrapredição direcional para calcular a posição de amostra fracionária pode ser escalonado antecipadamente em unidades de números inteiros e definido a fim de facilitar o cálculo. Os valores tanθ dos respectivos modos de intrapredição direcionais escalonados podem ser derivados conforme mostrado na tabela a seguir. TABELA 1
Figure img0001
[098] Aqui, predModelntra pode representar cada modo de intrapredição direcional, e intraPredAngle pode representar um ângulo de predição de cada modo de intrapredição direcional ou um valor aproximado tanθ escalonado de cada modo de intrapredição direcional. O valor aproximado tanθ de acordo com o modo de intrapredição predefinido pode ser derivado com base na Tabela 1. Entretanto, um valor tan'1θ de cada modo de intrapredição direcional escalonado pode ser derivado conforme mostrado na seguinte tabela. TABELA2
Figure img0002
[099] Aqui, predModelntra-pode representar cada modo de intrapredição direcional, intraPredAngle pode representar um ângulo de predição inversa de cada modo de intrapredição direcional ou o valor aproximado tan'1θ de cada modo de intrapredição direcional. O valor aproximado tan-1θ de acordo com o modo de intrapredição predefinido com base na Tabela 2 pode ser derivado.
[0100] Entretanto, o modo de intrapredição não direcional pode ser aplicado ao bloco atual. Os modos de intrapredição não direcionais podem incluir um modo de intrapredição planar e um modo de intrapredição DC. O modo de intrapredição planar pode ser chamado de um modo planar e o modo de intrapredição DC pode ser chamado de um modo DC. No modo DC, uma amostra de predição do bloco atual pode ser derivada com base em um valor médio de amostras vizinhas do bloco atual. A intrapredição com base no modo DC pode ser eficientemente realizada quando os valores das amostras do bloco atual são similares. Entretanto, quando a intrapredição é realizada com base no modo DC quando os valores das amostras do bloco atual são variados, a descontinuidade pode ocorrer entre um bloco predito do bloco atual e amostras vizinhas. Em um caso similar, mesmo quando a intrapredição é realizada com base no modo de intrapredição direcional, pode ocorrer contorno visível não intencional. O modo planejador foi desenvolvido para superar esse problema. O modo planar indica um modo de predição no qual a predição linear horizontal e predição linear vertical são realizadas com base nas amostras de referência relacionadas à amostra alvo e a média dos valores derivados é subsequentemente calculada para gerar uma amostra de predição da amostra alvo.
[0101]Quando a predição é realizada no bloco atual com base no modo de intrapredição direcional, se a amostra de referência em unidades das amostras de número inteiro não estiver presente na direção de predição do modo de intrapredição direcional do bloco atual em relação à amostra alvo do bloco atual conforme descrito acima, ou seja, quando a posição da amostra de referência situada na direção de predição do modo de intrapredição direcional em relação à amostra alvo é a posição de amostra fracionária, um valor de amostra da amostra de referência pode ser derivado através da interpolação de amostras de número inteiro esquerdas e direitas da amostra de referência e a amostra de predição da amostra alvo pode ser derivada com base na amostra de referência derivada. As amostras de número inteiro podem indicar amostras vizinhas da posição de amostra de número inteiro situada próxima à amostra de referência.
[0102] Nesse caso, a interpolação entre as amostras de número inteiro à esquerda e direita da amostra de referência pode ser derivada com base em um dentre vários filtros de interpolação. Por exemplo, a interpolação pode ser realizada com base em um filtro de interpolação que tem um efeito de filtro passa-baixa ou a interpolação pode ser realizada com base em um filtro de interpolação sofisticado. O filtro de interpolação que tem o efeito de filtro passa-baixa pode representar um filtro linear ou um filtro gaussiano, e o filtro de interpolação sofisticado pode representar um filtro spline. O filtro spline também pode ser chamado de um filtro cúbico. Os filtros de interpolação podem ser filtros de interpolação de 4 toques. O filtro de interpolação de 4 toques pode representar um filtro no qual a interpolação é realizada para quatro amostras de número inteiro com base nos quatro pesos. A interpolação entre as amostras de número inteiro realizada com base no filtro de interpolação pode ser expressa pela seguinte equação.
Figure img0003
[0103]Aqui, p[x][y] pode indicar uma amostra de predição da amostra alvo, f[0], f[1], f[2] e f[3] podem indicar coeficientes de filtro do filtro de interpolação, ref[n] pode indicar a n-éstima amostra vizinha, e ildx pode indicar um índice de número inteiro da posição de amostra fracionária situada na direção de predição do modo de intrapredição do bloco atual em relação à amostra alvo. O índice de número inteiro da posição de amostra fracionária pode representar um valor de número inteiro que exclui o restante da posição de amostra fracionária.
[0104] Entretanto, o coeficiente de filtro do filtro cúbico, que é um dos filtros passa-baixa, e o coeficiente de filtro do filtro gaussiano, que é um dos filtros de interpolação que tem um efeito de filtro passa-baixa, pode derivado conforme mostrado na tabela a seguir. TABELA3
Figure img0004
Figure img0005
[0105]Aqui, a posição de subpixel n/32 pode representar um valor residual da posição de amostra fracionária situada na direção de predição do modo de intrapredição do bloco atual em relação à amostra alvo. Com base na posição de amostra fracionária da amostra alvo e da Tabela 3 acima, os coeficientes de filtro de um filtro cúbico ou coeficientes de filtro de um filtro gaussiano podem ser derivados.
[0106]Quando a predição é realizada no bloco atual com base no modo de intrapredição direcional conforme descrito acima, uma distância entre a amostra alvo do bloco atual e a amostra de referência pode aumentar de acordo com um ângulo de predição do modo de intrapredição direcional, e à medida que a distância aumenta, a precisão de predição pode se deteriorar. Um método para selecionar um filtro de interpolação adequado de acordo com a distância entre a amostra alvo e a amostra de referência e realizar a predição com base na amostra de referência derivada aplicando-se o filtro de interpolação selecionado para aprimorar a precisão de predição pode ser proposto. O método para selecionar um filtro de interpolação adequado de acordo com a distância entre a amostra alvo e a amostra de referência pode ser da seguinte forma.
[0107] Por exemplo, o filtro de interpolação pode ser selecionado com base no tamanho do bloco atual ou no modo de intrapredição do bloco atual. Conforme descrito acima, a distância entre a amostra alvo do bloco atual e a amostra de referência pode ser derivada de acordo com uma inclinação do ângulo de predição do modo de intrapredição para o bloco atual. Uma vez que a amostra de referência do bloco atual é derivada com base nas amostras vizinhas à esquerda e nas amostras vizinhas superiores do bloco atual, a distância entre a amostra alvo e a amostra de referência pode aumentar à medida que a posição da amostra alvo está mais próxima a uma extremidade direita inferior do bloco atual. Além disso, à medida que o valor intraPredAngle do modo de intrapredição direcional definido na Tabela 1 aumenta, a inclinação do ângulo de predição pode situar-se próxima a 45°. À medida que a inclinação do ângulo de predição se aproxima de 45°, a distância entre a amostra alvo e a amostra de referência pode aumentar e, consequentemente, à medida que o valor intraPredAngle aumenta, a distância entre a amostra alvo e a amostra de referência pode aumentar.
[0108]Além disso, a distância entre a amostra alvo e a amostra de referência pode ser derivada com base no tamanho do bloco atual. Ou seja, à medida que o tamanho do bloco atual aumenta, a distância entre a amostra alvo e a amostra de referência pode aumentar. Portanto, o tamanho do bloco atual é considerado como estritamente relacionado à precisão de predição da amostra alvo.
[0109] Se o valor de intraPredAngle for maior que 0 e menor que 32 conforme descrito acima, a amostra alvo pode ser predita com base na amostra de referência da posição de amostra fracionária, conforme mostrado na Figura 9. Nesse caso, uma vez que apenas um valor de amostra de número inteiro próximo à posição de amostra fracionária está presente, o dispositivo de codificação pode predizer a amostra de referência da localização de amostra fracionária com base no filtro de interpolação, e o valor da amostra de referência da posição de amostra fracionária predita pode ser copiado como um valor de amostra da amostra de predição da amostra alvo. Desse modo, a precisão do bloco predito do bloco atual pode ser determinada de acordo com a precisão do filtro de interpolação.
[0110] Quando a intrapredição é aplicada ao bloco atual, as informações que podem ser usadas para intrapredição podem ser limitadas às amostras vizinhas à esquerda e às amostras vizinhas superiores do bloco atual que já foram reconstruídas no momento da decodificação do bloco atual, e à medida que a distância entre a amostra alvo do bloco atual e a amostra de referência aumenta, a correlação entre a amostra alvo e as amostras de referência derivadas com base nas amostras vizinhas à esquerda e as amostras vizinhas superiores pode ser drasticamente reduzida.
[0111]Consequentemente, quando a distância entre a amostra alvo e a amostra de referência é muito longa, o método de derivação da amostra de referência com base no filtro de interpolação que tem um efeito de filtro passa-baixa, de modo artefatos ou ruído da amostra de referência não se propaguem, pode ser usado para melhorar a precisão de predição e a eficiência de codificação. Por outro lado, quando a distância entre a amostra alvo e a amostra de referência estiver próxima, correlação entre a amostra alvo e a amostra de referência é alta, e, desse modo, um método para derivar a amostra de referência com base na interpolação precisa, de modo que a similaridade entre a amostra de predição da amostra alvo e a amostra de referência seja mantida na maior extensão possível, pode ser vantajosamente usado. Ou seja, quando a distância entre a amostra alvo e a amostra de referência estiver próxima, o método para derivar a amostra de referência com base em um filtro de interpolação sofisticado pode aprimorar a precisão de predição e a eficiência de codificação.
[0112] Portanto, o bloco atual pode ser selecionado com base apenas no tamanho do bloco atual para derivar uma amostra de referência para a amostra alvo do bloco atual, pode ser selecionado com base apenas no modo de intrapredição do bloco atual, ou selecionado com base no modo de intrapredição do bloco atual.
[0113] Por exemplo, quando o tamanho do bloco atual for o tamanho 4x4 e a intrapredição for realizada no bloco atual, a correlação do bloco atual que tem o tamanho 4x4 com amostras vizinhas do bloco atual pode ser muito alta e, desse modo, uma amostra de referência pode ser derivada com base no filtro de interpolação sofisticado independentemente do modo de intrapredição. Alternativamente, se o valor intraPredAngle derivado do modo de intrapredição do bloco atual for 11 ou maior independentemente do tamanho do bloco atual, a distância entre a amostra alvo e a amostra de referência pode aumentar e, desse modo, a amostra de referência pode ser derivada com base no filtro de interpolação que tem o efeito de filtro de interpolação. Alternativamente, quando o tamanho do bloco atual é menor que um tamanho específico e o valor intraPredAngle do modo de intrapredição do bloco atual é menor que um valor específico, a amostra de referência da amostra alvo pode ser derivada com base no filtro de interpolação sofisticado e, em outros casos, a amostra de referência da amostra alvo pode ser derivada com base no filtro de interpolação que tem um efeito de filtro passa-baixa.
[0114]Além disso, quando um modo mais provável (MPM) é aplicado ao bloco atual para derivar um modo de intrapredição do bloco atual com base em um modo de intrapredição de um bloco vizinho do bloco atual e o modo de intrapredição do bloco atual é um modo de intrapredição direcional, não o modo planar ou o modo DC, o filtro de interpolação usado no bloco vizinho selecionado através do modo MPM pode ser derivado como um filtro de interpolação do bloco atual. Aqui, no caso em que modo MPM é aplicado ao bloco atual, o dispositivo de codificação pode determinar uma lista MPM com base no modo de intrapredição em relação aos blocos vizinhos esquerdos ou superiores do bloco atual e determinar o modo de intrapredição com base na lista MPM.
[0115] Além disso, quando o filtro de interpolação é selecionado com base no modo de intrapredição do bloco atual, uma referência do modo de intrapredição, ou seja, uma referência para determinar se o filtro de interpolação que tem o efeito de filtro passa-baixa é usado ou se o filtro de interpolação sofisticado é usado, pode ser variada de acordo com os tamanhos ou formas do bloco atual.
[0116] No caso em que o bloco atual é um bloco quadrado, uma largura e altura do bloco são iguais, ou seja, o tamanho do bloco atual é NxN, e, desse modo, um tamanho de um bloco de referência na seleção de um filtro de interpolação pode ser N para um modo de intrapredição direcional de qualquer direção. Entretanto, no caso em que bloco atual tem um formato não quadrado, isto é, no caso em que bloco atual tamanho é MxN, se um modo selecionado como o modo de predição do bloco atual for um modo de intrapredição direcional e o modo for um modo de predição direcional vertical, o tamanho do bloco de referência para selecionar um filtro de interpolação pode ser representado por M. Aqui, o modo de predição direcional vertical pode indicar modos de intrapredição n° 34 a n° 66 quando o modo de intrapredição inclui 65 modos de intrapredição direcionais e dois modos de intrapredição não direcionais. De modo similar, quando o tamanho do bloco atual é MxN, o modo selecionado como o modo de predição do bloco atual é um modo direcional e o modo é um modo de predição direcional horizontal, o tamanho do bloco atual que serve como uma referência para selecionar um filtro de interpolação pode ser N. Aqui, o modo de predição direcional horizontal pode representar os modos de intrapredição n° 2 a n° 33 quando o modo de intrapredição inclui 65 modos de intrapredição direcionais e dois modos de intrapredição não direcionais.
[0117] Alternativamente, se o bloco atual for um bloco não quadrado que tem o tamanho MxN e o modo de predição do bloco atual for o modo de predição direcional vertical, o filtro de interpolação do bloco atual pode ser selecionado com base em N e, de modo similar, se o bloco atual for um bloco não quadrado que tem o tamanho MxN e o modo de predição do bloco atual for o modo de predição direcional horizontal, o filtro de interpolação do bloco atual pode ser selecionado com base em M. Entretanto, em um exemplo específico a ser posteriormente descrito, quando o modo de predição direcional vertical é aplicado ao bloco atual que tem o tamanho MxN, o tamanho do bloco atual que serve como uma referência para selecionar o filtro de interpolação pode ser representado por M. De modo similar, quando o modo de predição direcional horizontal é aplicado ao bloco atual que tem o tamanho MxN, o tamanho do bloco atual que serve como uma referência para selecionar o filtro de interpolação pode ser representado por N. Especificamente, por exemplo, se o valor de tamanho do bloco for menor ou igual a 8, um filtro de interpolação sofisticado pode ser selecionado e uma amostra de referência do bloco pode ser derivada com base no filtro de interpolação sofisticado e, nesse caso, se o tamanho do bloco atual for 8x4 e o modo de intrapredição do bloco atual for um dos modos de intrapredição que tem direcionalidade vertical, o filtro de interpolação sofisticado pode ser selecionado como o filtro de interpolação para o bloco atual e a amostra de referência do bloco atual pode ser derivada com base no filtro de interpolação sofisticado.
[0118]Além disso, se o valor IntraPredAngle do modo de intrapredição do bloco atual for menor ou igual a 11, um filtro de interpolação sofisticado é selecionado e uma amostra de referência pode ser derivada com base no filtro de interpolação sofisticado. Se o valor IntraPredAngle do modo de intrapredição do bloco atual for maior que 11, o filtro de interpolação que tem um efeito de filtro passa-baixa é selecionado e uma amostra de referência pode ser derivada com base no filtro de interpolação que tem o efeito de filtro passa-baixa.
[0119] No caso em que o valor do bloco atual tamanho é maior ou igual a 16, se o valor intraPredAngle do modo de intrapredição do bloco atual for menor ou igual a 5, o filtro de interpolação sofisticado é selecionado e uma amostra de referência pode ser derivada com base no filtro de interpolação sofisticado. Se o valor intraPredAngle do valor de intrapredição do bloco atual for maior que 5, o filtro de interpolação que tem um efeito de filtro passa-baixa é selecionado e uma amostra de referência pode ser derivada com base no filtro de interpolação que tem o efeito de filtro passa-baixa.
[0120] A Figura 10 ilustra um exemplo de seleção de um filtro de interpolação com base no tamanho do bloco atual e no modo de intrapredição. O dispositivo de codificação/dispositivo de decodificação pode derivar um modo de intrapredição para o bloco atual e pode determinar se o modo de intrapredição é um modo de intrapredição direcional (S1000). O modo de intrapredição direcional pode ser chamado de predição angular. Se o modo de intrapredição for um modo de intrapredição não direcional, o dispositivo de codificação/decodificação pode realizar a intrapredição do bloco atual com base no modo de intrapredição.
[0121]Quando o modo de intrapredição é o modo de intrapredição direcional, o dispositivo de codificação/dispositivo de decodificação pode determinar se o tamanho do bloco atual é menor que um primeiro limiar (S1010). Quando o bloco atual é um a bloco não quadrado que tem um tamanho MxN e um modo selecionado como o modo de intrapredição do bloco atual inclui um modo de intrapredição que tem direcionalidade vertical, ou seja, quando o modo de intrapredição inclui 65 modos de intrapredição direcional e dois modos de intrapredição não direcionais, se o modo de intrapredição do bloco atual for um dos modos de intrapredição n° 34 a n° 66, uma referência para selecionar um filtro de interpolação pode ser representada por uma largura do bloco atual, isto é, M. De modo similar, no caso em que o bloco atual é um bloco não quadrado que tem o tamanho MxN e o modo selecionado como o modo de intrapredição do bloco atual for o modo de intrapredição que tem direcionalidade horizontal, ou seja, quando o modo de intrapredição inclui 65 modos de intrapredição direcionais e dois modos de intrapredição não direcionais, se o modo de intrapredição do bloco atual for um dos modos de intrapredição n° 2 a n° 33, uma referência para selecionar o filtro de interpolação pode ser representada por uma altura do bloco atual, isto é, N. Alternativamente, quando apenas um bloco que tem um formato quadrado é considerado e o tamanho do bloco atual é NxN, o valor do tamanho do bloco atual pode ser representado por N. O primeiro limiar pode ser definido em 4, 8, 16, 32 ou similar.
[0122]Se o tamanho do bloco atual não for menor que o primeiro valor limiar, ou seja, se o tamanho do bloco atual for maior ou igual ao primeiro valor limiar, o dispositivo de codificação/dispositivo de decodificação pode selecionar um filtro gaussiano como um filtro de interpolação do bloco atual e derivar uma amostra de referência de uma amostra alvo no bloco atual com base no filtro gaussiano (S1020). Aqui, o gaussiano é um dos filtros de interpolação que tem um efeito de filtro passa- baixa, e uma amostra de referência da amostra alvo pode ser derivada com base em um filtro de interpolação que tem um efeito de filtro passa-baixa diferente do filtro gaussiano. Por exemplo, se o tamanho do bloco atual for maior ou igual ao primeiro limiar, o dispositivo de codificação/dispositivo de decodificação pode selecionar o filtro de interpolação do bloco atual como um filtro linear e derivar uma amostra de referência da amostra alvo no bloco atual com base no filtro linear. Aqui, a amostra de referência pode indicar uma amostra vizinha situada em uma direção de predição de um modo de intrapredição direcional do bloco atual com base na amostra alvo.
[0123] Se o tamanho do bloco atual não for menor que o primeiro valor limiar, pode-se determinar se intraPredAngle do modo de intrapredição direcional do bloco atual é menor que um segundo valor limiar (S1030). O intraPredAngle pode indicar um ângulo de predição do modo de intrapredição direcional. Por exemplo, o segundo limiar pode ser definido como 11.
[0124]Se intraPredAngle do modo de intrapredição direcional do bloco atual não for menor que o segundo valor limiar, o dispositivo de codificação/dispositivo de decodificação pode selecionar o filtro gaussiano como um filtro de interpolação do bloco atual e derivar uma amostra de referência de uma amostra alvo no bloco atual com base no filtro gaussiano (S1020). Aqui, o filtro gaussiano é um dos filtros de interpolação que tem um efeito de filtro passa-baixa conforme descrito acima, e a amostra de referência da amostra alvo pode ser derivada com base no filtro de interpolação que tem um efeito de filtro passa-baixa diferente do filtro gaussiano.
[0125]Se intraPredAngle do modo de intrapredição direcional do bloco atual for menor que o segundo valor limiar, o dispositivo de codificação/dispositivo de decodificação pode selecionar um filtro cúbico como um filtro de interpolação do bloco atual e derivar a amostra de referência da amostra alvo no bloco atual com base no filtro cúbico (S1040). Aqui, o filtro cúbico pode ser um dos filtros de interpolação sofisticados conforme descrito acima, e a amostra de referência da amostra alvo pode ser derivada com base em um filtro de interpolação sofisticado diferente do filtro cúbico. Ademais, o filtro cúbico pode ser chamado de um filtro spline.
[0126]O dispositivo de codificação/dispositivo de decodificação pode gerar uma amostra de predição da amostra alvo com base na amostra de referência derivada da amostra alvo (S1050). O dispositivo de codificação/dispositivo de decodificação pode gerar a amostra de predição copiando-se a amostra de referência. A amostra de referência pode copiada e usada como a amostra de predição, e, desse modo, pode-se indicar que a amostra de predição é gerada com base no filtro de interpolação.
[0127] Entretanto, além dos exemplos mencionados acima, um método para dividir o bloco atual em regiões arbitrárias e selecionar um filtro de interpolação para cada região pode ser proposto como um método para selecionar um filtro de interpolação.
[0128] Por exemplo, se o tamanho do bloco atual for maior ou igual a um tamanho específico, o bloco atual pode ser dividido em uma pluralidade de regiões e um filtro de interpolação de cada região pode ser selecionado considerando-se uma distância entre cada região e as amostras vizinhas do bloco atual. Um tamanho das regiões divididas do bloco atual pode ser um valor fixo anteriormente determinado (isto é, anteriormente definido) entre o dispositivo de codificação e o dispositivo de decodificação ou pode ser derivado com base no tamanho do bloco atual, no modo de intrapredição e similares. Por exemplo, no caso em que o modo de intrapredição do bloco atual é um modo de intrapredição que tem direcionalidade vertical e um número de modos do modo de intrapredição é maior que n° 34, o tamanho das regiões divididas do bloco atual pode ser derivado como 4x4. Em outras palavras, no caso em que modo de intrapredição do bloco atual é um dos modos de intrapredição n° 35 a n° 66, o tamanho das regiões divididas do bloco atual pode ser derivado como 4x4. No caso em que o bloco atual é um bloco que tem um tamanho de 16x16, o bloco atual pode ser dividido em regiões que têm a tamanho 4x4, o filtro de interpolação sofisticado descrito acima pode ser selecionado como o filtro de interpolação para regiões de n° 0 a n° 7 em uma ordem de varredura, e o filtro de interpolação que tem um efeito de filtro passa-baixa pode ser selecionado como os filtros de interpolação para as outras regiões. Aqui, números das 16 regiões que têm o tamanho 4x4 de acordo com a ordem de varredura podem ser sequencialmente derivados na ordem de uma fileira superior para uma fileira inferior e sequencialmente derivados na ordem da esquerda para a direita em cada fileira. Ou seja, as regiões incluídas em uma primeira fileira entre as 16 regiões que têm o tamanho 4x4 do bloco atual podem ser representadas como a região n° 0, região n° 1, região n° 2 e região n° 3 na ordem da esquerda para a direita, regiões incluídas na segunda fileira podem ser representadas como região n° 4, região n° 5, região n° 6 e região n° 7 na ordem da esquerda para a direita, regiões incluídas na terceira fileira podem ser representadas como a região n° 8, região n° 9, região n° 10 e região n° 11 na ordem da esquerda e direita, e regiões incluídas na quarta fileira podem ser representadas como região n° 12, região n° 13, região n° 14 e região n° 15 na ordem da esquerda para a direita. Entretanto, os tamanhos das regiões divididas do bloco atual e informações que indicam o filtro de interpolação para cada uma das regiões podem ser sinalizados Nesse caso, o dispositivo de decodificação pode dividir o bloco atual na pluralidade de regiões com base nas informações e selecionar um filtro de interpolação de cada região.
[0129]Alternativamente, o filtro de interpolação pode ser selecionado com base em uma distância entre uma amostra alvo do bloco atual e uma amostra de referência. Ou seja, o filtro de interpolação pode ser selecionado com base em se a distância entre a amostra alvo e a amostra de referência é maior ou igual a um valor limiar específico. Aqui, a amostra de referência pode indicar uma amostra vizinha situada em uma direção de predição de um modo de intrapredição do bloco atual com base na amostra alvo.
[0130]Por exemplo, no caso em que o tamanho do bloco atual é NxN, se a distância entre a amostra alvo do bloco atual e a amostra de referência for N/2 ou mais, a amostra de referência pode ser derivada com base no filtro de interpolação que tem um efeito de filtro passa-baixa e a amostra de referência pode ser derivada com base no filtro de interpolação sofisticado em outros casos. O valor limiar específico para selecionar o filtro de interpolação pode ser derivado com base no tamanho do bloco atual conforme descrito acima ou pode ser derivado com base no modo de intrapredição do bloco atual, se o bloco atual for um bloco quadrado/bloco não quadrado ou similares. Alternativamente, as informações sobre o valor limiar específico podem ser transmitidas a partir do dispositivo de codificação, e o dispositivo de decodificação pode derivar o valor limiar específico do bloco atual com base nas informações sobre o valor limiar específico recebido.
[0131] A Figura 11 ilustra um exemplo de seleção de um filtro de interpolação com base em uma distância entre uma amostra alvo de um bloco atual e uma amostra de referência. O dispositivo de codificação/dispositivo de decodificação pode derivar um modo de intrapredição para o bloco atual e determinar se o modo de intrapredição é um modo de intrapredição direcional (S1100). O modo de intrapredição direcional pode ser chamado de predição angular. Se o modo de intrapredição for um modo de intrapredição não direcional, o dispositivo de codificação/decodificação pode realizar a intrapredição do bloco atual com base no modo de intrapredição.
[0132]Se o modo de intrapredição for o modo de intrapredição direcional, o dispositivo de codificação/dispositivo de decodificação pode determinar se uma distância entre a amostra alvo do bloco atual e a amostra de referência é menor que um limiar (S1110). A amostra de referência pode representar uma amostra vizinha situada em uma direção de predição do modo de intrapredição do bloco atual com base na amostra alvo. Além disso, o valor limiar pode ser derivado com base no tamanho do bloco atual, no modo de intrapredição do bloco atual, se o bloco é um bloco quadrado/não quadrado e similares, conforme descrito acima. Além disso, as informações sobre o valor limiar podem ser sinalizadas, e o valor limiar do bloco atual pode ser derivado com base nas informações sobre o valor limiar sinalizado.
[0133]Se a distância entre a amostra alvo do bloco atual e a amostra de referência não for menor que o valor limiar, ou seja, se a distância entre a amostra alvo e a amostra de referência for maior ou igual ao valor limiar, o dispositivo de codificação/dispositivo de decodificação pode selecionar um filtro gaussiano como um filtro de interpolação do bloco atual e derivar uma amostra de referência da amostra alvo no bloco atual com base no filtro gaussiano (S1120). Aqui, o gaussiano é um dos filtros de interpolação que tem um efeito de filtro passa-baixa, e a amostra de referência da amostra alvo pode ser derivada com base em um filtro de interpolação que tem um efeito de filtro passa-baixa diferente do filtro gaussiano. Por exemplo, se o tamanho do bloco atual for maior ou igual ao limiar, o dispositivo de codificação/dispositivo de decodificação pode selecionar o filtro de interpolação do bloco atual como um filtro linear e derivar a amostra de referência da amostra alvo no bloco atual com base no filtro linear.
[0134]Se a distância entre a amostra alvo do bloco atual e a amostra de referência for menor que o valor limiar, o dispositivo de codificação/dispositivo de decodificação pode selecionar um filtro cúbico como um filtro de interpolação do bloco atual e derivar a amostra de referência com base no filtro cúbico (S1130). Aqui, o filtro cúbico pode ser um dos filtros de interpolação sofisticados conforme descrito acima, e a amostra de referência da amostra alvo pode ser derivada com base em um filtro de interpolação sofisticado diferente do filtro cúbico. Ademais, o filtro cúbico pode ser chamado de um filtro spline.
[0135]O dispositivo de codificação/dispositivo de decodificação pode gerar uma amostra de predição da amostra alvo com base na amostra de referência derivada da amostra alvo (S1140). O dispositivo de codificação/dispositivo de decodificação pode gerar a amostra de predição copiando-se a amostra de referência. A amostra de referência pode copiada e usada como a amostra de predição, e, desse modo, pode-se indicar que a amostra de predição é gerada com base no filtro de interpolação.
[0136]Além disso, conforme descrito acima, um dos filtros de interpolação pode ser selecionado para derivar uma amostra de referência da amostra alvo, porém uma pluralidade de filtros de interpolação também pode ser usada para derivar a amostra de referência
[0137] Por exemplo, quando uma amostra de referência posição da amostra alvo do bloco atual for uma posição de amostra fracionária, ou seja, quando a amostra de referência da amostra alvo for uma amostra fracionária, uma primeira amostra de referência pode ser gerada com base em um primeiro filtro de interpolação que é um filtro de interpolação sofisticado, uma segunda amostra de referência pode ser gerada com base em um segundo filtro de interpolação que é um filtro de interpolação que tem o efeito de filtro passa-baixa descrito acima, e uma terceira amostra de referência pode ser gerada com base em um terceiro filtro de interpolação que é um filtro de interpolação diferente do primeiro filtro de interpolação e do segundo filtro de interpolação. Quando a primeira amostra de referência, a segunda amostra de referência, e a terceira amostra de referência são geradas, uma amostra de predição da amostra alvo pode ser gerada com base na primeira amostra de referência, na segunda amostra de referência e na terceira amostra de referência. Por exemplo, uma média da primeira amostra de referência e da segunda amostra de referência pode ser derivada como uma amostra de predição da amostra alvo, uma média da primeira amostra de referência e da terceira amostra de referência pode ser derivada como uma amostra de predição da amostra alvo, uma média da segunda amostra de referência e da terceira amostra de referência pode ser derivada como uma amostra de predição da amostra alvo, ou uma média da primeira amostra de referência, da segunda amostra de referência e da terceira amostra de referência pode ser derivada como uma amostra de predição da amostra alvo.
[0138]Alternativamente, a amostra de predição da amostra alvo pode ser derivada através de uma média ponderada da primeira amostra de referência e da segunda amostra de referência, ou seja, uma soma ponderada da primeira amostra de referência e da segunda amostra de referência. Alternativamente, a amostra de predição da amostra alvo pode ser derivada através de uma soma ponderada da primeira amostra de referência e da terceira amostra de referência, através de uma soma ponderada da segunda amostra de referência e da terceira amostra de referência, ou através de uma soma ponderada da primeira amostra de referência, da segunda amostra de referência e da terceira amostra de referência. Alternativamente, a amostra de predição da amostra alvo pode ser derivada através de uma soma ponderada da primeira amostra de referência, da segunda amostra de referência e da terceira amostra de referência. A amostra de predição da amostra alvo pode ser gerada com base nos exemplos descritos acima, e as combinações da primeira amostra de referência, da segunda amostra de referência e/ou da terceira amostra de referência diferentes dos exemplos descritos acima.
[0139] Especificamente, por exemplo, a amostra de predição da amostra alvo pode ser gerada da seguinte forma. Se um modo de intrapredição direcional no qual a intrapredição é realizada com base em uma amostra de referência de uma posição de amostra fracionária for realizado no bloco atual, amostras vizinhas da posição de amostra de número inteiro podem ser interpoladas com base no filtro cúbico, de modo que uma primeira amostra de referência possa ser derivada, amostras vizinhas da posição de amostra de número inteiro podem ser interpolada com base no filtro gaussiano de modo que uma segunda amostra de referência da amostra alvo possa ser derivada, e uma amostra de predição da amostra alvo possa ser gerada com base na primeira amostra de referência e na segunda amostra de referência. Aqui, o modo de intrapredição direcional no qual a intrapredição é realizada com base na amostra de referência da posição de amostra fracionária pode representar um dos modos de intrapredição direcionais excluindo os modos de intrapredição n° 2, n° 18, n° 34, n° 50 and n° 66. Além disso, as amostras vizinhas na posição de amostra de número inteiro podem representar amostras vizinhas próximas a uma posição de amostra fracionária situada em uma direção de predição de um modo de intrapredição direcional do bloco atual, com base na amostra alvo entre as amostras vizinhas do bloco atual.
[0140] Em outro exemplo, a precisão de predição de intrapredição é mais alta que a distância entre a amostra alvo e a amostra de referência diminui e, desse modo, um método para derivar um primeiro peso para uma primeira amostra de referência gerado com base no primeiro filtro de interpolação que é um filtro de interpolação sofisticado e um segundo peso para uma segunda amostra de referência gerada com base em um segundo filtro de interpolação que é um filtro de interpolação que tem um efeito de filtro passa-baixa, com base na distância entre a amostra alvo e na amostra de referência, e a soma ponderada da primeira amostra de referência e da segunda amostra de referência com base no primeiro peso e no segundo peso para gerar uma amostra de predição da amostra alvo pode ser proposta. Por exemplo, o primeiro peso pode ser derivado para estar em proporção inversa à distância entre a amostra alvo e a amostra de referência, e o segundo peso pode ser derivado como um valor obtido subtraindo-se o primeiro peso de 1. Alternativamente, o primeiro peso e segundo peso usados aqui podem ser aumentados em unidades de números inteiros para evitar um cálculo de ponto decimal. Consequentemente, o primeiro peso pode ser derivado como um valor maior à medida que a distância entre a amostra alvo e a amostra de referência aumenta, e à medida que a distância entre a amostra alvo e a amostra de referência aumenta, o primeiro peso pode ser derivado como um valor menor. A distância entre a amostra alvo e a amostra de referência pode ser calculada com base no ângulo de predição do modo de intrapredição do bloco atual e na posição da amostra alvo. Alternativamente, uma tabela para o tamanho do bloco e o modo de intrapredição pode ser armazenada e distância entre a amostra alvo e a amostra de referência pode ser derivada com referência à tabela. Entretanto, o método para derivar a amostra de referência da amostra alvo com base na pluralidade de filtros de interpolação revelados nas modalidades descritas acima pode ser seletivamente aplicado. Por exemplo, caso derive a amostra de referência da amostra alvo com base na pluralidade de filtros de interpolação, pode-se derivar com base no tamanho do bloco atual, no modo de intrapredição do bloco atual, em uma variância de valores das amostras vizinhas do bloco atual e similares. Alternativamente, um sinalizador que indica se deve-se acionar a amostra de referência da amostra alvo com base na pluralidade de filtros de interpolação a partir do dispositivo de codificação pode ser transmitido e caso derive a amostra de referência da amostra alvo com base na pluralidade de filtros de interpolação, pode-se determinar com base no sinalizador.
[0141]A Figura 12 ilustra um exemplo de derivação de uma amostra de referência de uma amostra alvo de um bloco atual com base em uma pluralidade de filtros de interpolação e derivar uma amostra de predição da amostra alvo com base na amostra de referência. O dispositivo de codificação/dispositivo de decodificação pode derivar um modo de intrapredição para o bloco atual e determinar se o modo de intrapredição é um modo de intrapredição direcional (S1200). O modo de intrapredição direcional pode ser chamado de uma predição angular.
[0142]Se o modo de intrapredição for um modo de intrapredição não direcional, o dispositivo de codificação/decodificação pode realizar a intrapredição do bloco atual com base no modo de intrapredição não direcional (S1210).
[0143]Quando o modo de intrapredição é um modo de intrapredição direcional, o dispositivo de codificação/dispositivo de decodificação pode interpolar amostras vizinhas nas posições de amostra de número inteiro com base em um filtro cúbico para derivar uma primeira amostra de referência da amostra alvo (S1220). Aqui, as amostras vizinhas das posições de amostra de número inteiro podem representar amostras vizinhas próximas a uma posição de amostra fracionária situada em uma direção de predição do modo de intrapredição direcional do bloco atual em relação à amostra alvo entre as amostras vizinhas do bloco atual. O dispositivo de codificação/dispositivo de decodificação pode realizar intrapredição da amostra alvo com base na primeira amostra de referência (S1230). O dispositivo de codificação/dispositivo de decodificação pode gerar uma primeira amostra de predição temporária copiando-se a primeira amostra de referência.
[0144]Quando o modo de intrapredição é um modo de intrapredição direcional, o dispositivo de codificação/dispositivo de decodificação interpola amostras vizinhas de posições de amostra de número inteiro com base em um filtro gaussiano para derivar uma segunda amostra de referência da amostra alvo (S1240). O dispositivo de codificação/dispositivo de decodificação pode realizar intrapredição da amostra alvo com base na segunda amostra de referência (S1240). O dispositivo de codificação/dispositivo de decodificação pode gerar uma segunda amostra de predição temporária copiando-se a segunda amostra de referência.
[0145]O dispositivo de codificação/dispositivo de decodificação pode ser a soma ponderada da primeira amostra de predição temporária e da segunda amostra de predição temporária para acionar uma amostra de predição da amostra alvo (S1250). A amostra de predição pode ser derivada como a soma de um valor obtido multiplicando-se um primeiro peso α da primeira amostra de predição temporária pela primeira amostra de predição temporária e um valor obtido multiplicando-se 1-a da segunda amostra de predição temporária pela segunda amostra de predição temporária. O primeiro peso pode ser derivado para estar em proporção inversa a uma distância entre a amostra alvo e as amostras de referência conforme descrito acima, e o segundo peso pode ser derivado como um valor obtido subtraindo-se o primeiro peso de 1. Alternativamente, o primeiro peso e o segundo peso usados no presente documento podem ser aumentados em unidades de números inteiros e derivados a fim de evitar um cálculo de ponto decimal. A distância entre a amostra alvo e as amostras de referência pode ser calcula com base em um ângulo de predição do modo de intrapredição do bloco atual e uma posição da amostra alvo. Alternativamente, uma tabela relacionada ao tamanho do bloco e o modo de intrapredição pode ser armazenada antecipadamente e a distância entre a amostra alvo e as amostras de referência pode ser derivada com referência à tabela.
[0146]A Figura 13 ilustra esquematicamente um método de codificação de vídeo por meio de um dispositivo de codificação, de acordo com a presente revelação. O método revelado na Figura 13 pode ser realizado pelo dispositivo de codificação revelado na Figura 1. Especificamente, por exemplo, as etapas S1300 a S1340 da Figura 13 podem ser realizadas pelo preditor do dispositivo de codificação e S1350 pode ser realizada pelo codificador de entropia do dispositivo de codificação.
[0147]O dispositivo de codificação determina um modo de intrapredição para o bloco atual (S1300). O dispositivo de codificação pode realizar vários modos de intrapredição para derivar um modo de intrapredição que tem um custo RD ideal como um modo de intrapredição para o bloco atual. O modo de intrapredição pode ser um dos dois modos de predição não direcionais e 33 modos de predição direcionais. Conforme descrito acima, os dois modos de predição não direcionais podem incluir um modo intra-DC e um modo intraplanar. Alternativamente, o modo de intrapredição pode ser um dos dois modos de intrapredição não direcionais e 65 modos de intrapredição direcionais. Conforme descrito acima, os dois modos de predição não direcionais podem incluir um modo intra-DC e um modo intraplanar. Além disso, os 65 modos de intrapredição direcionais podem incluir modos de intrapredição direcionais verticais e modos de intrapredição direcionais horizontais. Os modos de intrapredição direcionais verticais podem incluir o modo de intrapredição n° 34 ao modo de intrapredição n° 66, e os modos de intrapredição direcionais horizontais podem incluir o modo de intrapredição n° 2 ao modo de intrapredição n° 33.
[0148]O dispositivo de codificação deriva amostras vizinhas que incluem amostras vizinhas à esquerda e amostras vizinhas superiores do bloco atual (S1310). O dispositivo de codificação pode derivar amostras vizinhas do bloco atual. As amostras vizinhas podem incluir as amostras vizinhas à esquerda e as amostras vizinhas superiores. Além disso, as amostras vizinhas podem incluir amostras superiores esquerdas. As amostras vizinhas à esquerda, a amostra vizinha superior esquerda e as amostras vizinhas superiores podem ser derivadas a partir dos blocos vizinhos já reconstruídos no momento de decodificação do bloco atual, amostras vizinhas superiores 2N, amostras vizinhas superiores esquerdas, e amostras vizinhas 2N à esquerda do bloco atual podem ser derivadas. Se o tamanho do bloco atual for NxN e um componente x de uma amostra esquerda de topo do bloco atual for 0 e um componente y do mesmo for 0, as amostras vizinhas à esquerda podem ser p[-1][0] a p[-1][2N-1], a amostra vizinha superior esquerda p[-1][-1], e as amostras vizinhas superiores podem ser p[0][-1] a p[2N-1 ][-1 ].
[0149]Alternativamente, quando o tamanho do bloco atual é MxN e o componente x da amostra esquerda de topo do bloco atual é 0 e o componente y do mesmo é 0, M+N amostras vizinhas superiores, amostras vizinhas superiores à esquerda, e amostras vizinhas à esquerda M-N do bloco atual podem ser derivadas. Se o tamanho do bloco atual tiver uma forma não quadrada de MxN e o componente x da amostra esquerda de topo do bloco atual for 0 e o componente y do mesmo for 0, as amostras vizinhas à esquerda podem ser p[-1][0] a p[-1][M+N-1], a amostra vizinha superior à esquerda pode ser p[-1][-1], e as amostras vizinhas superiores podem ser p[0][-1 ] a p[M+N-1][-1].
[0150] O dispositivo de codificação deriva amostras de referência para predição da amostra alvo entre as amostras vizinhas com base na posição da amostra alvo do bloco atual e no ângulo de predição do modo de intrapredição (S1320). O dispositivo de codificação pode derivar a posição da amostra de referência em relação à amostra alvo com base na posição da amostra alvo do bloco atual e no ângulo de predição do modo de intrapredição, e quando a posição da amostra de referência for uma posição de amostra fracionária, o dispositivo de codificação pode derivar amostras vizinhas situadas próximas à posição derivada com base na posição da amostra alvo do bloco atual e no ângulo de predição do modo de intrapredição como as amostras de referência da amostra alvo. Ou seja, o dispositivo de codificação pode derivar uma pluralidade de amostras vizinhas como as amostras de referência da amostra alvo com base na posição da amostra alvo do bloco atual e no ângulo de predição do modo de intrapredição. Por exemplo, quatro amostras vizinhas podem ser derivadas como as amostras de referência da amostra alvo. Aqui, a amostra alvo pode representar uma amostra em um bloco atual no qual a intrapredição é realizada. O ângulo de predição do modo de intrapredição pode ser derivado com base na Tabela 1 descrita acima, e intraPredAngle pode ser uma variável que indica o ângulo de predição derivado a partir do modo de intrapredição.
[0151JO dispositivo de codificação determina um filtro de interpolação para a amostra alvo (S1330). O dispositivo de codificação pode determinar o filtro de interpolação para a amostra alvo com base no tamanho do bloco atual e/ou no modo de intrapredição do bloco atual. Além disso, por exemplo, o filtro de interpolação pode ser determinado quando a posição da amostra de referência é uma posição de amostra fracionária, isto é, quando uma pluralidade de amostras de referência são derivadas.
[0152] Por exemplo, o filtro de interpolação para a amostra alvo pode ser determinado com base no tamanho do bloco atual. Por exemplo, se o tamanho do bloco atual for 4x4, um filtro de interpolação sofisticado pode ser determinado como o filtro de interpolação para a amostra alvo. Especificamente, quando o tamanho do bloco atual é 4x4, um filtro cúbico pode ser determinado como o filtro de interpolação para a amostra alvo. O filtro cúbico é um dos filtros de interpolação sofisticados, e o filtro cúbico pode ser chamado de um filtro spline.
[0153]Se o bloco atual for um bloco quadrado, a largura e a altura são iguais. Ou seja, uma vez que o bloco atual é um bloco quadrado que tem o tamanho NxN, um tamanho de referência (isto é, valor de referência) na seleção de um filtro de interpolação pode ser N para um modo de intrapredição direcional de qualquer direção de predição. Entretanto, se o bloco atual for um bloco não quadrado, ou seja, se o bloco atual for um bloco não quadrado que tem o tamanho MxN, quando o modo de intrapredição do bloco atual é um modo de intrapredição que tem direcionalidade vertical, um tamanho de um bloco de referência (isto é, o valor de referência) para selecionar um filtro de interpolação pode ser M. De modo similar, se o bloco atual for um bloco não quadrado que tem o tamanho MxN e o modo de intrapredição do bloco atual for o modo de intrapredição que tem direcionalidade horizontal, o tamanho do bloco atual (isto é, o valor de referência) como uma referência para selecionar um filtro de interpolação pode ser N. Alternativamente, por outro lado, se o bloco atual for um bloco não quadrado que tem o tamanho MxN e o modo de intrapredição do bloco atual for um modo de intrapredição que tem direcionalidade vertical, o filtro de interpolação do bloco atual pode ser selecionado com base em N e, de modo similar, se o bloco atual for um bloco não quadrado que tem o tamanho MxN e o modo de intrapredição do bloco atual for um modo de intrapredição que tem direcionalidade horizontal, o filtro de interpolação do bloco atual pode ser selecionado com base em M. Entretanto, em um exemplo específico a ser posteriormente descrito, quando o modo de intrapredição que tem direcionalidade vertical for aplicado ao bloco atual que tem o tamanho MxN, o tamanho do bloco atual como uma referência para selecionar o filtro de interpolação pode ser representado por M e, de modo similar, se o modo de intrapredição que tem direcionalidade horizontal for aplicado ao bloco atual, o tamanho do bloco atual pode ser representado por N. Aqui, quando o modo de intrapredição inclui 65 modos de intrapredição direcionais e dois modos de intrapredição não direcionais, o modo de intrapredição que tem direcionalidade vertical pode representar os modos de intrapredição n° 34 a n° 66 e o modo de intrapredição que tem direcionalidade horizontal pode representar os modos de intrapredição n° 2 a n° 33.
[0154] Por exemplo, pode-se determinar se o tamanho do bloco atual indicado pelo formato do bloco atual e a direcionalidade do modo de intrapredição é menor que um valor específico. Se o tamanho do bloco atual for menor que o valor específico, um filtro de interpolação sofisticado pode ser determinado como um filtro de interpolação para a amostra alvo, e se o tamanho do bloco atual não for menor que o valor específico, o filtro de interpolação que tem um efeito de filtro passa-baixa pode ser determinado como o filtro de interpolação para a amostra alvo. Especificamente, quando o tamanho do bloco atual for menor que o valor específico, o filtro cúbico pode ser determinado como o filtro de interpolação para a amostra alvo. Se o tamanho do bloco atual não for menor que o valor específico, o filtro gaussiano pode ser determinado como o filtro de interpolação para a amostra alvo. Alternativamente, quando o tamanho do bloco atual não é menor que o valor específico, um filtro linear pode ser determinado como o filtro de interpolação para a amostra alvo. O filtro de interpolação que tem um efeito de filtro passa-baixa pode incluir o filtro gaussiano e o filtro linear. Aqui, o valor específico pode ser definido como 4, 8, 16, 32 ou similares.
[0155] Especificamente, quando a largura e a altura do bloco atual são iguais (isto é, quando o bloco atual é um bloco quadrado), pode-se determinar se a largura do bloco atual é menor que um valor específico, e quando a largura do bloco atual é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro cúbico para a amostra alvo, e quando a largura do bloco atual não é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro gaussiano.
[0156]Além disso, quando a largura e a altura do bloco atual são diferentes (ou seja, quando o bloco atual é um bloco não quadrado) e o modo de intrapredição do bloco atual é um modo de intrapredição direcional que tem direcionalidade vertical, pode-se determinar se a largura do bloco atual é menor que um valor específico. Quando a largura do bloco atual é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro cúbico, e quando a largura do bloco atual não é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro gaussiano.
[0157]Além disso, quando a largura e a altura do bloco atual são diferentes (ou seja, quando o bloco atual é um bloco não quadrado) e o modo de intrapredição do bloco atual é um modo de intrapredição direcional que tem direcionalidade horizontal, pode-se determinar se a largura do bloco atual é menor que um valor específico. Quando a altura do bloco atual é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro cúbico, e quando a altura do bloco atual não é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro gaussiano.
[0158]Além disso, quando a largura e a altura do bloco atual são diferentes (ou seja, quando o bloco atual é um bloco não quadrado) e o modo de intrapredição do bloco atual é um modo de intrapredição direcional que tem direcionalidade vertical, pode-se determinar se a largura do bloco atual é menor que um valor específico. Quando a altura do bloco atual é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro cúbico, e quando a altura do bloco atual não é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro gaussiano.
[0159]Além disso, quando a largura e a altura do bloco atual são diferentes (ou seja, quando o bloco atual é um bloco não quadrado) e o modo de intrapredição do bloco atual é um modo de intrapredição direcional que tem direcionalidade horizontal, pode-se determinar se a largura do bloco atual é menor que um valor específico. Quando a largura do bloco atual é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro cúbico, e quando a largura do bloco atual não é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro gaussiano.
[0160] Em outro exemplo, o filtro de interpolação para a amostra alvo pode ser determinado com base em um modo de intrapredição do bloco atual.
[0161] Por exemplo, pode-se determinar se o ângulo de predição do modo de intrapredição do bloco atual é menor que um valor específico. Se o ângulo de predição do modo de intrapredição for menor que o valor específico, um filtro de interpolação sofisticado pode ser determinado como o filtro de interpolação para a amostra alvo, e se o ângulo de predição do modo de intrapredição não for menor que o valor específico, o filtro de interpolação que tem um efeito de filtro passa-baixa pode ser determinado como o filtro de interpolação para a amostra alvo. Especificamente, quando o ângulo de predição do modo de intrapredição é menor que o valor específico, um filtro cúbico pode ser determinado como o filtro de interpolação para a amostra alvo, e quando o ângulo de predição do modo de intrapredição não é menor que o valor específico, um filtro gaussiano pode ser determinado como o filtro de interpolação para a amostra alvo. Alternativamente, quando o ângulo de predição do modo de intrapredição não é menor que o valor específico, um filtro linear pode ser determinado como o filtro de interpolação para a amostra alvo. O filtro de interpolação que tem um efeito de filtro passa-baixa pode incluir o filtro gaussiano e o filtro linear. Aqui, o valor específico pode ser definido como 4, 8, 16, 32 ou similares. O ângulo de predição do modo de intrapredição pode ser derivado com base na Tabela 1 descrita acima e intraPredAngle pode indicar o ângulo de predição do modo de intrapredição. Além disso, por exemplo, o valor específico pode ser definido como 11.
[0162] Em outro exemplo, o filtro de interpolação para a amostra alvo pode ser determinado com base no tamanho do bloco atual e no modo de intrapredição. Se o bloco atual for um bloco quadrado, a largura e a altura são iguais. Se o bloco atual for um bloco quadrado, a largura e a altura são iguais. Ou seja, uma vez que o bloco atual é um bloco quadrado que tem o tamanho N*N, um tamanho de referência (isto é, valor de referência) na seleção de um filtro de interpolação pode ser N para um modo de intrapredição direcional de qualquer direção de predição. Entretanto, se o bloco atual for um bloco não quadrado, ou seja, se o bloco atual for um bloco não quadrado que tem o tamanho MxN, quando o modo de intrapredição do bloco atual é um modo de intrapredição que tem direcionalidade vertical, um tamanho de um bloco de referência (isto é, o valor de referência) para selecionar um filtro de interpolação pode ser M. De modo similar, se o bloco atual for um bloco não quadrado que tem o tamanho MxN e o modo de intrapredição do bloco atual for o modo de intrapredição que tem direcionalidade horizontal, o tamanho do bloco atual (isto é, o valor de referência) como uma referência para selecionar um filtro de interpolação pode ser N. Alternativamente, por outro lado, se o bloco atual for um bloco não quadrado que tem o tamanho MxN e o modo de intrapredição do bloco atual for um modo de intrapredição que tem direcionalidade vertical, o filtro de interpolação do bloco atual pode ser selecionado com base em N e, de modo similar, se o bloco atual for um bloco não quadrado que tem o tamanho MxN e o modo de intrapredição do bloco atual for um modo de intrapredição que tem direcionalidade horizontal, o filtro de interpolação do bloco atual pode ser selecionado com base em M. Entretanto, em um exemplo específico a ser posteriormente descrito, quando o modo de intrapredição que tem direcionalidade vertical for aplicado ao bloco atual que tem o tamanho MxN, o tamanho do bloco atual como uma referência para selecionar o filtro de interpolação pode ser representado por M e, de modo similar, se o modo de intrapredição que tem direcionalidade horizontal for aplicado ao bloco atual, o tamanho do bloco atual pode ser representado por N. Aqui, quando o modo de intrapredição inclui 65 modos de intrapredição direcionais e dois modos de intrapredição não direcionais, o modo de intrapredição que tem direcionalidade vertical pode representar os modos de intrapredição n° 34 a n° 66 e o modo de intrapredição que tem direcionalidade horizontal pode representar os modos de intrapredição n° 2 a n° 33.
[0163]Por exemplo, o dispositivo de codificação pode determinar se o tamanho do bloco atual é menor que um primeiro valor específico, e quando o tamanho do bloco atual não é menor que o primeiro valor específico, o dispositivo de codificação pode determinar um filtro de interpolação que tem um efeito de filtro passa-baixa como o filtro de interpolação para a amostra alvo. Especificamente, quando o tamanho do bloco atual não é menor que o primeiro valor específico, o dispositivo de codificação pode determinar um filtro gaussiano como o filtro de interpolação. Alternativamente, quando o tamanho do bloco atual não é menor que o primeiro valor específico, o dispositivo de codificação pode determinar um filtro linear como o filtro de interpolação.
[0164] Especificamente, quando a largura e a altura do bloco atual são iguais, o dispositivo de codificação pode determinar se a largura do bloco atual é menor que um primeiro valor específico. Quando a largura do bloco atual não é menor que o primeiro valor específico, o dispositivo de codificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação para a amostra alvo.
[0165]Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade vertical, o dispositivo de codificação pode determinar se a largura do bloco atual é menor que o primeiro valor específico. Quando a largura do bloco atual não é menor que o primeiro valor específico, o dispositivo de codificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação para a amostra alvo.
[0166]Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade horizontal, o dispositivo de codificação pode determinar se a altura do bloco atual é menor que o primeiro valor específico. Quando a altura do bloco atual não é menor que o primeiro valor específico, o dispositivo de codificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação para a amostra alvo.
[0167]Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade vertical, o dispositivo de codificação pode determinar se a altura do bloco atual é menor que o primeiro valor específico. Quando a altura do bloco atual não é menor que o primeiro valor específico, o dispositivo de codificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação para a amostra alvo.
[0168]Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade horizontal, o dispositivo de codificação pode determinar se a largura do bloco atual é menor que o primeiro valor específico. Quando a largura do bloco atual não é menor que o primeiro valor específico, o dispositivo de codificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação para a amostra alvo.
[0169] Se o tamanho do bloco atual for menor que o primeiro valor específico, o dispositivo de codificação pode determinar se um ângulo de predição do modo de intrapredição do bloco atual é menor que um segundo valor específico. Se o ângulo de predição do modo de intrapredição for menor que um segundo valor específico, o dispositivo de codificação pode determinar um filtro de interpolação sofisticado como um filtro de interpolação para a amostra alvo. Especificamente, quando o tamanho do bloco atual é menor que o primeiro valor específico, o dispositivo de codificação pode determinar um filtro cúbico como o filtro de interpolação.
[0170] Especificamente, quando a largura e a altura do bloco atual são iguais e a largura do bloco atual é menor que o primeiro valor específico, o dispositivo de codificação pode determinar se o ângulo de predição do modo de intrapredição do bloco atual é menor que o segundo valor específico, e quando o ângulo de predição do modo de intrapredição é menor que o segundo valor específico, o dispositivo de codificação pode determinar o filtro cúbico como o filtro de interpolação.
[0171]Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade vertical, o dispositivo de codificação pode determinar se a largura do bloco atual é menor que o primeiro valor específico. Se a largura do bloco atual for menor que o primeiro valor específico, o dispositivo de codificação pode determinar se um ângulo de predição do modo de intrapredição do bloco atual é menor que o segundo valor específico. Se o ângulo de predição do modo de intrapredição for menor que o segundo valor específico, o dispositivo de codificação pode determinar o filtro cúbico como o filtro de interpolação. 1
[0172]Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade horizontal, o dispositivo de codificação pode determinar se a altura do bloco atual é menor que o primeiro valor específico. Se a altura do bloco atual for menor que o primeiro valor específico, o dispositivo de codificação pode determinar se o ângulo de predição do modo de intrapredição do bloco atual é menor que o segundo valor específico. Se o ângulo de predição do modo de intrapredição for menor que o segundo valor específico, o dispositivo de codificação pode determinar o filtro cúbico como o filtro de interpolação.
[0173]Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade vertical, o dispositivo de codificação pode determinar se a altura do bloco atual é menor que o primeiro valor específico. Se a altura do bloco atual for menor que o primeiro valor específico, o dispositivo de codificação pode determinar se um ângulo de predição do modo de intrapredição do bloco atual é menor que o segundo valor específico. Se o ângulo de predição do modo de intrapredição for menor que o segundo valor específico, o dispositivo de codificação pode determinar o filtro cúbico como o filtro de interpolação. 1
[0174]Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade horizontal, o dispositivo de codificação pode determinar se a largura do bloco atual é menor que o primeiro valor específico. Se a largura do bloco atual for menor que o primeiro valor específico, o dispositivo de codificação pode determinar se o ângulo de predição do modo de intrapredição do bloco atual é menor que o segundo valor específico. Se o ângulo de predição do modo de intrapredição for menor que o segundo valor específico, o dispositivo de codificação pode determinar o filtro cúbico como o filtro de interpolação.
[0175] Se o ângulo de predição do modo de intrapredição não for menor que o segundo valor específico, o dispositivo de codificação pode determinar o filtro de interpolação que tem um efeito de filtro passa-baixa como o filtro de interpolação para a amostra alvo. Especificamente, se o ângulo de predição do modo de intrapredição não for menor que o segundo valor específico, o dispositivo de codificação pode determinar o filtro gaussiano como o filtro de interpolação. Alternativamente, se o ângulo de predição do modo de intrapredição não for menor que o segundo valor específico, o dispositivo de codificação pode determinar o filtro linear como o filtro de interpolação.
[0176] Especificamente, se a largura e a altura do bloco atual forem iguais e a largura do bloco atual for menor que o primeiro valor específico, o dispositivo de codificação pode determinar se o ângulo de predição do modo de intrapredição do bloco atual é menor que o valor específico, e se o ângulo de predição do modo de intrapredição não for menor que o segundo valor específico, o dispositivo de codificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação.
[0177]Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade vertical, o dispositivo de codificação pode determinar se a largura do bloco atual é menor que o primeiro valor específico. Se a largura do bloco atual for menor que o primeiro valor específico, o dispositivo de codificação pode determinar se um ângulo de predição do modo de intrapredição do bloco atual é menor que o segundo valor específico. Se o ângulo de predição do modo de intrapredição não for menor que o segundo valor específico, o dispositivo de codificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação.
[0178]Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade horizontal, o dispositivo de codificação pode determinar se a altura do bloco atual é menor que o primeiro valor específico. Se a altura do bloco atual for menor que o primeiro valor específico, o dispositivo de codificação pode determinar se o ângulo de predição do modo de intrapredição do bloco atual é menor que o segundo valor específico. Se o ângulo de predição do modo de intrapredição não for menor que o segundo valor específico, o dispositivo de codificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação.
[0179]Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade vertical, o dispositivo de codificação pode determinar se a altura do bloco atual é menor que o primeiro valor específico. Se a altura do bloco atual for menor que o primeiro valor específico, o dispositivo de codificação pode determinar se um ângulo de predição do modo de intrapredição do bloco atual é menor que o segundo valor específico. Se o ângulo de predição do modo de intrapredição não for menor que o segundo valor específico, o dispositivo de codificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação.
[0180]Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade horizontal, o dispositivo de codificação pode determinar se a largura do bloco atual é menor que o primeiro valor específico. Se a largura do bloco atual for menor que o primeiro valor específico, o dispositivo de codificação pode determinar se o ângulo de predição do modo de intrapredição do bloco atual não é menor que o segundo valor específico. Se o ângulo de predição do modo de intrapredição for menor que o segundo valor específico, o dispositivo de codificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação.
[0181] Em outro exemplo, o bloco atual pode ser dividido em uma pluralidade de regiões, e um filtro de interpolação de cada região pode ser determinado com base em uma distância entre cada região e amostras vizinhas do bloco atual. Nesse caso, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro de interpolação de uma região que inclui a amostra alvo. Além disso, se o tamanho do bloco atual for maior ou igual a um tamanho específico, o bloco atual pode ser dividido em uma pluralidade de regiões. Especificamente, os filtros de interpolação para as regiões mais próximas às amostras vizinhas do bloco atual que um valor específico, entre as regiões, podem ser determinados como filtros de interpolação sofisticados e filtros de interpolação para regiões mais distantes das amostras vizinhas do bloco atual que o valor específico, entre as regiões, podem ser determinado como filtros de interpolação que têm um efeito de filtro passa-baixa.
[0182]Entretanto, o tamanho da pluralidade de regiões divididas do bloco atual pode ser anteriormente definido. Alternativamente, o tamanho da pluralidade de regiões pode ser derivado com base no tamanho do bloco atual, um modo de intrapredição ou similares. Por exemplo, no caso em que modo de intrapredição do bloco atual é um dos modos de intrapredição n° 35 a n° 66, o tamanho das regiões divididas do bloco atual pode ser derivado como um tamanho 4x4. Aqui, se o bloco atual for um bloco que tem um tamanho 16x16, o bloco atual pode ser dividido em regiões que têm um tamanho 4x4, um filtro de interpolação sofisticado pode ser determinado como o filtro de interpolação para regiões de n° 0 a n° 7 em uma ordem de varredura e o filtro de interpolação que tem um efeito de filtro passa-baixa pode ser determinado como os filtros de interpolação para as outras regiões. Por exemplo, os filtros de interpolação para as regiões n° 0 a n° 7 na ordem de varredura, entre as regiões, podem ser determinados como filtros cúbicos, e os filtros de interpolação para as outras regiões podem ser determinados como os filtros gaussianos ou filtros lineares. Aqui, números das 16 regiões que têm o tamanho 4x4 de acordo com a ordem de varredura podem ser sequencialmente derivados na ordem de uma fileira superior para uma fileira inferior e sequencialmente derivados na ordem da esquerda para a direita em cada fileira. Ou seja, as regiões incluídas em uma primeira fileira entre as 16 regiões que têm o tamanho 4x4 do bloco atual podem ser representadas como a região n° 0, região n° 1, região n° 2 e região n° 3 na ordem da esquerda para a direita, regiões incluídas na segunda fileira podem ser representadas como região n° 4, região n° 5, região n° 6 e região n° 7 na ordem da esquerda para a direita, regiões incluídas na terceira fileira podem ser representadas como a região n° 8, região n° 9, região n° 10 e região n° 11 na ordem da esquerda e direita, e regiões incluídas na quarta fileira podem ser representadas como região n° 12, região n° 13, região n° 14 e região n° 15 na ordem da esquerda para a direita. Entretanto, os tamanhos das regiões divididas do bloco atual e informações que indicam o filtro de interpolação para cada uma das regiões podem ser gerados
[0183] Em outro exemplo, o filtro de interpolação para a amostra alvo pode ser determinado com base em uma distância entre a amostra alvo e as amostras de referência. A distância entre a amostra alvo e as amostras de referência pode ser derivada com base na posição da amostra alvo e no ângulo de predição do modo de intrapredição do bloco atual. Por exemplo, a distância pode ser calculada com base na posição da amostra alvo e um valor de função trigonométrica (por exemplo, tanθ) de acordo com o ângulo de predição do modo de intrapredição. Alternativamente, a distância pode ser derivada com base em uma tabela predefinida para o tamanho do bloco e o modo de intrapredição. Alternativamente, a distância entre a amostra alvo e as amostras de referência pode indicar uma distância vertical ou uma distância horizontal. Ou seja, a distância entre a amostra alvo e as amostras de referência pode ser derivada com base na distância vertical ou a distância entre a amostra alvo e as amostras de referência pode ser derivada com base na distância horizontal. Por exemplo, se a distância entre a amostra alvo e as amostras de referência indicar uma distância vertical, a distância pode ser derivada com base em um componente y da amostra alvo. Além disso, se a distância entre a amostra alvo e as amostras de referência indicar uma distância horizontal, a distância pode ser derivada com base em um componente x da amostra alvo.
[0184] Por exemplo, o dispositivo de codificação pode derivar a distância entre a amostra alvo e as amostras de referência e determinar se a distância é menor que um valor específico. Se a distância for menor que o valor específico, o dispositivo de codificação pode determinar um filtro de interpolação sofisticado como o filtro de interpolação para a amostra alvo, e se a distância não for menor que o valor específico, o dispositivo de codificação pode determinar o filtro de interpolação que tem um efeito de filtro passa-baixa como um filtro de interpolação para a amostra alvo. Especificamente, se a distância for menor que o valor específico, o dispositivo de codificação pode determinar um filtro cúbico como o filtro de interpolação para a amostra alvo, e se a distância não for menor que o valor específico, o dispositivo de codificação pode determinar um filtro gaussiano ou um filtro linear como o filtro de interpolação para a amostra alvo. O valor específico pode ser derivado com base no tamanho do bloco atual. Alternativamente, o valor específico pode ser derivado com base no modo de intrapredição do bloco atual, se o bloco atual é um bloco quadrado/não quadrado ou similares. Por exemplo, quando o tamanho do bloco atual é NxN, o valor específico pode ser derivado como N/2. Ademais, as informações sobre o valor específico podem ser geradas e codificadas por entropia e transmitidas.
[0185] Em outro exemplo, uma pluralidade de filtros de interpolação pode ser determinada como o filtro de interpolações para a amostra alvo. Por exemplo, os filtros de interpolação para a amostra alvo podem incluir um dos filtros de interpolação sofisticados e um dos filtros de interpolação que têm um efeito de filtro passa-baixa. Alternativamente, os filtros de interpolação para a amostra alvo podem incluir um dos filtros de interpolação sofisticados e dois dos filtros de interpolação que têm um efeito de filtro passa-baixa. Alternativamente, os filtros de interpolação para a amostra alvo podem incluir dois dos filtros de interpolação sofisticados e um dos filtros de interpolação que tem efeito de filtro passa-baixa. Especificamente, os filtros de interpolação para a amostra alvo podem incluir um filtro cúbico e um filtro gaussiano.
[0186]O dispositivo de codificação deriva uma amostra de predição da amostra alvo com base no filtro de interpolação e nas amostras de referência (S1340). O dispositivo de codificação pode derivar coeficientes de filtro do filtro de interpolação com base na posição da amostra alvo e no ângulo de predição do modo de intrapredição e derivar a amostra de predição da amostra alvo com base nos coeficientes de filtro e nas amostras de referência. Por exemplo, quatro amostras vizinhas entre as amostras vizinhas do bloco atual podem ser derivadas como as amostras de referência, e quatro coeficientes de filtro do filtro de interpolação podem ser derivados. O dispositivo de codificação pode interpolar as amostras de referência com base nos coeficientes de filtro para derivar a amostra de predição. A amostra de predição pode ser derivada com base na Equação 1 descrita acima.
[0187]Ademais, quando uma pluralidade de filtros de interpolação é determinada como os filtros de interpolação para a amostra alvo, o dispositivo de codificação pode derivar amostras de predição (temporárias) com base em cada filtro de interpolação e derivar a amostra de predição da amostra alvo com base na amostra de predição derivada (temporária). Por exemplo, a amostra de predição da amostra alvo pode ser derivada calculando-se a média das amostras de predição (temporais) ou pode ser derivada pela soma ponderada das amostras de predição (temporais). Entretanto, caso uma pluralidade de filtros de interpolação seja determinada como o filtro de interpolação para a amostra alvo, pode ser derivada com base no tamanho do bloco atual, em um modo de intrapredição do bloco atual, em uma variância de valores de amostra vizinha do bloco atual e similares. Além disso, um sinalizador que indica se uma pluralidade de filtros de interpolação é determinada como os filtros de interpolação para a amostra alvo pode ser gerado.
[0188] Por exemplo, os filtros de interpolação para a amostra alvo podem incluir um filtro cúbico e um filtro gaussiano. Nesse caso, o dispositivo de codificação pode derivar coeficientes de filtro do filtro cúbico com base na posição da amostra alvo e no ângulo de predição do modo de intrapredição e pode derivar coeficientes de filtro do filtro gaussiano com base na posição da amostra alvo e no ângulo de predição do modo de intrapredição. O dispositivo de codificação pode derivar uma primeira amostra de predição para a amostra alvo com base nos coeficientes de filtro do filtro cúbico e nas amostras de referência, derivar uma segunda amostra de predição para a amostra alvo com base nos coeficientes de filtro do filtro gaussiano e nas amostras de referência, e derivar a amostra de predição da amostra alvo com base na primeira amostra de predição e na segunda amostra de predição. A amostra de predição da amostra alvo pode ser derivada calculando-se a média da primeira amostra de predição e da segunda amostra de predição. Alternativamente, a amostra de predição da amostra alvo pode ser derivada pela soma ponderada da primeira amostra de predição e da segunda amostra de predição. Nesse caso, um peso para a primeira amostra de predição pode estar em proporção inversa à distância entre a amostra alvo e as amostras de referência e um peso para a segunda amostra de predição pode ser derivado como um valor obtido subtraindo-se o peso pela primeira amostra de predição de 1. Alternativamente, o primeiro peso e segundo peso usados aqui podem ser aumentados em unidades de números inteiros e derivados para evitar um cálculo de ponto decimal.
[0189] Além disso, por exemplo, os filtros de interpolação para a amostra alvo podem incluir um filtro cúbico e um filtro linear. Nesse caso, o dispositivo de codificação pode derivar coeficientes de filtro do filtro cúbico com base na posição da amostra de referência e pode derivar coeficientes de filtro do filtro linear com base na posição da amostra de referência. O dispositivo de codificação pode derivar uma primeira amostra de predição para a amostra alvo com base nos coeficientes de filtro do filtro cúbico e nas amostras de referência, derivar uma segunda amostra de predição para a amostra alvo com base nos coeficientes de filtro do filtro linear e nas amostras de referência, e derivar a amostra de predição da amostra alvo com base na primeira amostra de predição e na segunda amostra de predição. A amostra de predição da amostra alvo pode ser derivada calculando-se a média da primeira amostra de predição e da segunda amostra de predição. Alternativamente, a amostra de predição da amostra alvo pode ser derivada pela soma ponderada da primeira amostra de predição e da segunda amostra de predição. Nesse caso, um peso para a primeira amostra de predição pode estar em proporção inversa à distância entre a amostra alvo e as amostras de referência e um peso para a segunda amostra de predição pode ser derivado como um valor obtido subtraindo-se o peso pela primeira amostra de predição de 1. Alternativamente, o primeiro peso e segundo peso usados aqui podem ser aumentados em unidades de números inteiros e derivados para evitar um cálculo de ponto decimal.
[0190]Em outro exemplo, se um modo MPM (modo mais provável) for aplicado ao bloco atual para derivar um modo de intrapredição do bloco atual com base em um modo de intrapredição de um bloco vizinho do bloco atual e o modo de intrapredição do bloco atual for um modo de intrapredição direcional, em vez de um modo planar ou um modo DC, um filtro de interpolação para a amostra alvo pode ser determinado com base nos blocos vizinhos selecionados através do modo MPM vizinho. Ou seja, o filtro de interpolação usado no bloco vizinho pode ser derivado como um filtro de interpolação para a amostra alvo. Se o modo MPM for aplicado ao bloco atual, o dispositivo de codificação pode determinar uma lista MPM com base em um modo de intrapredição para um bloco vizinho esquerdo ou superior do bloco atual e determinar o modo de intrapredição com base na lista MPM.
[0191]O dispositivo de codificação gera informações de predição para o bloco atual, codifica as informações de predição e emite as informações de predição codificadas (S1350). O dispositivo de codificação pode codificar as informações de predição para o bloco atual e emitir as informações codificadas sob a forma de um fluxo de bits. As informações de predição podem incluir informações sobre o modo de intrapredição do bloco atual. O dispositivo de codificação pode gerar informações sobre o modo de intrapredição indicando o modo de intrapredição, codifica as informações de modo de intrapredição e emite as informações sob a forma de um fluxo de bits. As informações de modo de intrapredição podem incluir informações que indicam diretamente um modo de intrapredição para o bloco atual ou podem incluir informações que indicam qualquer candidato em uma lista de candidatos de modo de intrapredição derivada com base em um modo de intrapredição de um bloco esquerdo ou superior do bloco atual. A lista de candidatos de modo de intrapredição pode indicar a lista MPM.
[0192]Além disso, quando o bloco atual é dividido em uma pluralidade de regiões, as informações de predição podem incluir informações que indicam um tamanho das regiões divididas do bloco atual e um filtro de interpolação de cada região. Além disso, quando o filtro de interpolação para a amostra alvo é selecionado com base no tamanho do bloco atual, o modo de intrapredição do bloco atual, ou a distância entre a amostra alvo e as amostras de referência, as informações de predição podem incluir informações relacionadas ao valor específico usado para selecionar o filtro de interpolação para a amostra alvo. Quando o filtro de interpolação é selecionado com base no tamanho do bloco atual e no modo de intrapredição do bloco atual, as informações de predição podem incluir informações relacionadas a um primeiro valor específico e informações relacionadas a um segundo valor específico. Além disso, as informações de predição podem incluir um sinalizador que indica se uma pluralidade de filtros de interpolação é determinada como os filtros de interpolação para a amostra alvo. Quando o sinalizador indica que uma pluralidade de filtros de interpolação é determinada como os filtros de interpolação para a amostra alvo, uma amostra de predição para a amostra alvo pode ser derivada com base na pluralidade de filtros de interpolação, e quando o sinalizador indica que uma pluralidade de filtros de interpolação não é determinada como os filtros de interpolação para a amostra alvo, uma amostra de predição para a amostra alvo pode não ser derivada com base na pluralidade de filtros de interpolação. Por exemplo, quando um valor do sinalizador é 1, o sinalizador pode indicar que uma pluralidade de filtros de interpolação é determinada como os filtros de interpolação para a amostra alvo, e quando o valor do sinalizador é 0, o sinalizador pode indicar que uma pluralidade de filtros de interpolação não é determinada como os filtros de interpolação para a amostra alvo. As informações de predição podem ser sinalizadas através de um conjunto de parâmetros de vídeo (VPS), um conjunto de parâmetros de sequência (SPS), um conjunto de parâmetros de figuração (PPS) ou um cabeçalho de segmento de fatia ou podem ser sinalizadas em uma base de bloco.
[0193] A Figura 14 ilustra esquematicamente um método de decodificação de vídeo por meio de um dispositivo de decodificação, de acordo com a presente revelação. O método revelado na Figura 14 pode ser realizado pelo dispositivo de decodificação revelado na Figura 4. Especificamente, por exemplo, as etapas S1400 a S1440 da Figura 14 podem ser realizadas pelo preditor do dispositivo de decodificação.
[0194]O dispositivo de decodificação deriva um modo de intrapredição para o bloco atual (S1400). O dispositivo de decodificação pode obter informações de predição no bloco atual através de um fluxo de bits. As informações de predição podem incluir informações que indicam diretamente um modo de intrapredição para o bloco atual ou incluem informações que indicam qualquer um dos candidatos em uma lista de candidatos de modo de intrapredição derivada com base em um modo de intrapredição de um bloco esquerdo superior do bloco atual. A lista de candidatos de modo de intrapredição pode ser chamada de uma lista de candidatos MPM. O dispositivo de decodificação pode derivar um modo de intrapredição para o bloco atual com base nas informações de predição obtidas. O modo de intrapredição pode ser um dos dois modos de não direcionais e 33 modos de predição direcionais. Conforme descrito acima, os dois modos de predição não direcionais podem incluir um modo intra-DC e um modo intraplanar. Alternativamente, o modo de intrapredição pode ser um dos dois modos de intrapredição não direcionais e 65 modos de intrapredição direcionais. Conforme descrito acima, os dois modos de predição não direcionais podem incluir um modo intra-DC e um modo intraplanar. Além disso, os 65 modos de intrapredição direcionais podem incluir modos de intrapredição direcionais verticais e modos de intrapredição direcionais horizontais. Os modos de intrapredição direcionais verticais podem incluir o modo de intrapredição n° 34 ao modo de intrapredição n° 66, e os modos de intrapredição direcionais horizontais podem incluir o modo de intrapredição n° 2 ao modo de intrapredição n° 33.
[0195]O dispositivo de decodificação deriva amostras vizinhas que incluem amostras vizinhas à esquerda e amostras vizinhas superiores do bloco atual (S1410). O dispositivo de decodificação pode derivar amostras vizinhas do bloco atual. As amostras vizinhas podem incluir as amostras vizinhas à esquerda e as amostras vizinhas superiores. Além disso, as amostras vizinhas podem incluir amostras superiores esquerdas. As amostras vizinhas à esquerda, a amostra vizinha superior esquerda e as amostras vizinhas superiores podem ser derivadas a partir dos blocos vizinhos já reconstruídos no momento de decodificação do bloco atual, amostras vizinhas superiores 2N, amostras vizinhas superiores esquerdas, e 2N amostras vizinhas à esquerda do bloco atual podem ser derivadas. Se o tamanho do bloco atual for NxN e um componente x de uma amostra esquerda de topo do bloco atual for 0 e um componente y do mesmo for 0, as amostras vizinhas à esquerda podem ser p[-1][0] a p[-1][2N-1 ], a amostra vizinha superior esquerda p[-1][-1], e as amostras vizinhas superiores podem ser p[0][-1 ] a p[2N-1 ][-1 ].
[0196]Alternativamente, quando o tamanho do bloco atual é MxN e o componente x da amostra esquerda de topo do bloco atual é 0 e o componente y do mesmo é 0, M+N amostras vizinhas superiores, amostras vizinhas superiores à esquerda, e amostras vizinhas à esquerda M-N do bloco atual podem ser derivadas. Se o tamanho do bloco atual tiver uma forma não quadrada de MxN e o componente x da amostra esquerda de topo do bloco atual for 0 e o componente y do mesmo for 0, as amostras vizinhas à esquerda podem ser p[-1][0] a p[-1][M+N-1], a amostra vizinha superior à esquerda pode ser p[-1][-1], e as amostras vizinhas superiores podem ser p[0][-1 ] a p[M+N-1 ][-1 ].
[0197]O dispositivo de decodificação deriva amostras de referência para predição da amostra alvo entre as amostras vizinhas com base na posição da amostra alvo do bloco atual e no ângulo de predição do modo de intrapredição (S1420). O dispositivo de decodificação pode derivar a posição da amostra de referência em relação à amostra alvo com base na posição da amostra alvo do bloco atual e no ângulo de predição do modo de intrapredição, e quando a posição da amostra de referência for uma posição de amostra fracionária, o dispositivo de decodificação pode derivar amostras vizinhas situadas próximas à posição derivada com base na posição da amostra alvo do bloco atual e no ângulo de predição do modo de intrapredição como as amostras de referência da amostra alvo. Ou seja, o dispositivo de decodificação pode derivar uma pluralidade de amostras vizinhas como as amostras de referência da amostra alvo com base na posição da amostra alvo do bloco atual e no ângulo de predição do modo de intrapredição. Por exemplo, quatro amostras vizinhas podem ser derivadas como as amostras de referência da amostra alvo. Aqui, a amostra alvo pode representar uma amostra em um bloco atual no qual a intrapredição é realizada. O ângulo de predição do modo de intrapredição pode ser derivado com base na Tabela 1 descrita acima, e intraPredAngle pode ser uma variável que indica o ângulo de predição derivado a partir do modo de intrapredição.
[0198]O dispositivo de decodificação determina um filtro de interpolação para a amostra alvo (S1430). O dispositivo de decodificação pode determinar o filtro de interpolação para a amostra alvo com base no tamanho do bloco atual e/ou no modo de intrapredição do bloco atual. Além disso, por exemplo, o filtro de interpolação pode ser determinado quando a posição da amostra de referência é uma posição de amostra fracionária.
[0199] Por exemplo, o filtro de interpolação para a amostra alvo pode ser determinado com base no tamanho do bloco atual. Por exemplo, se o tamanho do bloco atual for 4x4, um filtro de interpolação sofisticado pode ser determinado como o filtro de interpolação para a amostra alvo. Especificamente, quando o tamanho do bloco atual é 4x4, um filtro cúbico pode ser determinado como o filtro de interpolação para a amostra alvo. O filtro cúbico é um dos filtros de interpolação sofisticados, e o filtro cúbico pode ser chamado de um filtro spline.
[0200]Além disso, se o bloco atual for um bloco quadrado, a largura e a altura são iguais. Ou seja, uma vez que o bloco atual é um bloco quadrado que tem o tamanho NxN, um tamanho de referência (isto é, valor de referência) na seleção de um filtro de interpolação pode ser N para um modo de intrapredição direcional de qualquer direção de predição. Entretanto, se o bloco atual for um bloco não quadrado, ou seja, se o bloco atual for um bloco não quadrado que tem o tamanho MxN, quando o modo de intrapredição do bloco atual é um modo de intrapredição que tem direcionalidade vertical, um tamanho de um bloco de referência (isto é, o valor de referência) para selecionar um filtro de interpolação pode ser M. De modo similar, se o bloco atual for um bloco não quadrado que tem o tamanho MxN e o modo de intrapredição do bloco atual for o modo de intrapredição que tem direcionalidade horizontal, o tamanho do bloco atual (isto é, o valor de referência) como uma referência para selecionar um filtro de interpolação pode ser N. Alternativamente, por outro lado, se o bloco atual for um bloco não quadrado que tem o tamanho MxN e o modo de intrapredição do bloco atual for um modo de intrapredição que tem direcionalidade vertical, o filtro de interpolação do bloco atual pode ser selecionado com base em N e, de modo similar, se o bloco atual for um bloco não quadrado que tem o tamanho MxN e o modo de intrapredição do bloco atual for um modo de intrapredição que tem direcionalidade horizontal, o filtro de interpolação do bloco atual pode ser selecionado com base em M. Entretanto, em um exemplo específico a ser posteriormente descrito, quando o modo de intrapredição que tem direcionalidade vertical for aplicado ao bloco atual que tem o tamanho MxN, o tamanho do bloco atual como uma referência para selecionar o filtro de interpolação pode ser representado por M e, de modo similar, se o modo de intrapredição que tem direcionalidade horizontal for aplicado ao bloco atual, o tamanho do bloco atual pode ser representado por N. Aqui, quando o modo de intrapredição inclui 65 modos de intrapredição direcionais e dois modos de intrapredição não direcionais, o modo de intrapredição que tem direcionalidade vertical pode representar os modos de intrapredição n° 34 a n° 66 e o modo de intrapredição que tem direcionalidade horizontal pode representar os modos de intrapredição n° 2 a n° 33.
[0201]Além disso, por exemplo, pode-se determinar se o tamanho do bloco atual indicado pelo formato do bloco atual e a direcionalidade do modo de intrapredição é menor que um valor específico. Se o tamanho do bloco atual for menor que o valor específico, um filtro de interpolação sofisticado pode ser determinado como um filtro de interpolação para a amostra alvo, e se o tamanho do bloco atual não for menor que o valor específico, o filtro de interpolação que tem um efeito de filtro passa-baixa pode ser determinado como o filtro de interpolação para a amostra alvo. Especificamente, quando o tamanho do bloco atual for menor que o valor específico, o filtro cúbico pode ser determinado como o filtro de interpolação para a amostra alvo. Se o tamanho do bloco atual não for menor que o valor específico, o filtro gaussiano pode ser determinado como o filtro de interpolação para a amostra alvo. Alternativamente, quando o tamanho do bloco atual não é menor que o valor específico, um filtro linear pode ser determinado como o filtro de interpolação para a amostra alvo. O filtro de interpolação que tem um efeito de filtro passa-baixa pode incluir o filtro gaussiano e o filtro linear. Aqui, o valor específico pode ser definido como 4, 8, 16, 32 ou similares. Além disso, as informações de predição para o bloco atual podem incluir informações sobre o valor específico. Nesse caso, o valor específico pode ser derivado com base nas informações sobre o valor específico.
[0202] Especificamente, quando a largura e a altura do bloco atual são de tamanho igual (isto é, quando o bloco atual é um bloco quadrado), pode-se determinar se a largura do bloco atual é menor que um valor específico, e quando a largura do bloco atual é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro cúbico para a amostra alvo, e quando a largura do bloco atual não é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro gaussiano.
[0203]Além disso, quando a largura e a altura do bloco atual são diferentes (ou seja, quando o bloco atual é um bloco não quadrado) e o modo de intrapredição do bloco atual é um modo de intrapredição direcional que tem direcionalidade vertical, pode-se determinar se a largura do bloco atual é menor que um valor específico. Quando a largura do bloco atual é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro cúbico, e quando a largura do bloco atual não é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro gaussiano.
[0204]Além disso, quando a largura e a altura do bloco atual são diferentes (ou seja, quando o bloco atual é um bloco não quadrado) e o modo de intrapredição do bloco atual é um modo de intrapredição direcional que tem direcionalidade horizontal, pode-se determinar se a largura do bloco atual é menor que um valor específico. Quando a altura do bloco atual é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro cúbico, e quando a altura do bloco atual não é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro gaussiano.
[0205]Além disso, quando a largura e a altura do bloco atual são diferentes (ou seja, quando o bloco atual é um bloco não quadrado) e o modo de intrapredição do bloco atual é um modo de intrapredição direcional que tem direcionalidade vertical, pode-se determinar se a largura do bloco atual é menor que um valor específico. Quando a altura do bloco atual é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro cúbico, e quando a altura do bloco atual não é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro gaussiano.
[0206]Além disso, quando a largura e a altura do bloco atual são diferentes (ou seja, quando o bloco atual é um bloco não quadrado) e o modo de intrapredição do bloco atual é um modo de intrapredição direcional que tem direcionalidade horizontal, pode-se determinar se a largura do bloco atual é menor que um valor específico. Quando a largura do bloco atual é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro cúbico, e quando a largura do bloco atual não é menor que o valor específico, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro gaussiano.
[0207] Em outro exemplo, o filtro de interpolação para a amostra alvo pode ser determinado com base em um modo de intrapredição do bloco atual.
[0208] Por exemplo, pode-se determinar se o ângulo de predição do modo de intrapredição do bloco atual é menor que um valor específico. Se o ângulo de predição do modo de intrapredição for menor que o valor específico, um filtro de interpolação sofisticado pode ser determinado como o filtro de interpolação para a amostra alvo, e se o ângulo de predição do modo de intrapredição não for menor que o valor específico, o filtro de interpolação que tem um efeito de filtro passa-baixa pode ser determinado como o filtro de interpolação para a amostra alvo. Especificamente, quando o ângulo de predição do modo de intrapredição é menor que o valor específico, um filtro cúbico pode ser determinado como o filtro de interpolação para a amostra alvo, e quando o ângulo de predição do modo de intrapredição não é menor que o valor específico, um filtro gaussiano pode ser determinado como o filtro de interpolação para a amostra alvo. Alternativamente, quando o ângulo de predição do modo de intrapredição não é menor que o valor específico, um filtro linear pode ser determinado como o filtro de interpolação para a amostra alvo. O filtro de interpolação que tem um efeito de filtro passa-baixa pode incluir o filtro gaussiano e o filtro linear. Aqui, o valor específico pode ser definido como 4, 8, 16, 32 ou similares. O ângulo de predição do modo de intrapredição pode ser derivado com base na Tabela 1 descrita acima e intraPredAngle pode indicar o ângulo de predição do modo de intrapredição. Além disso, por exemplo, o valor específico pode ser definido como 11. Além disso, as informações de predição para o bloco atual podem incluir informações sobre o valor específico. Nesse caso, o valor específico pode ser derivado com base nas informações sobre o valor específico.
[0209] Em outro exemplo, o filtro de interpolação para a amostra alvo pode ser determinado com base no tamanho do bloco atual e no modo de intrapredição.
[0210] Por exemplo, o dispositivo de decodificação pode determinar se o tamanho do bloco atual é menor que um primeiro valor específico, e quando o tamanho do bloco atual não é menor que o primeiro valor específico, o dispositivo de decodificação pode determinar um filtro de interpolação que tem um efeito de filtro passa-baixa como o filtro de interpolação para a amostra alvo. Especificamente, quando o tamanho do bloco atual não é menor que o primeiro valor específico, o dispositivo de decodificação pode determinar um filtro gaussiano como o filtro de interpolação. Alternativamente, quando o tamanho do bloco atual não é menor que o primeiro valor específico, o dispositivo de decodificação pode determinar um filtro linear como o filtro de interpolação.
[0211]Especificamente, quando a largura e a altura do bloco atual são iguais, o dispositivo de decodificação pode determinar se a largura do bloco atual é menor que um primeiro valor específico. Quando a largura do bloco atual não é menor que o primeiro valor específico, o dispositivo de decodificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação para a amostra alvo.
[0212] Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade vertical, o dispositivo de decodificação pode determinar se a largura do bloco atual é menor que o primeiro valor específico. Quando a largura do bloco atual não é menor que o primeiro valor específico, o dispositivo de decodificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação para a amostra alvo.
[0213] Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade horizontal, o dispositivo de decodificação pode determinar se a altura do bloco atual é menor que o primeiro valor específico. Quando a altura do bloco atual não é menor que o primeiro valor específico, o dispositivo de decodificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação para a amostra alvo.
[0214] Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade vertical, o dispositivo de decodificação pode determinar se a altura do bloco atual é menor que o primeiro valor específico. Quando a altura do bloco atual não é menor que o primeiro valor específico, o dispositivo de decodificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação para a amostra alvo.
[0215] Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade horizontal, o dispositivo de decodificação pode determinar se a largura do bloco atual é menor que o primeiro valor específico. Quando a largura do bloco atual não é menor que o primeiro valor específico, o dispositivo de decodificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação para a amostra alvo.
[0216] Se o tamanho do bloco atual for menor que o primeiro valor específico, o dispositivo de decodificação pode determinar se um ângulo de predição do modo de intrapredição do bloco atual é menor que um segundo valor específico. Se o ângulo de predição do modo de intrapredição for menor que um segundo valor específico, o dispositivo de decodificação pode determinar um filtro de interpolação sofisticado como um filtro de interpolação para a amostra alvo. Especificamente, quando o ângulo de predição do modo de intrapredição é menor que o segundo valor específico, o dispositivo de decodificação pode determinar um filtro cúbico como o filtro de interpolação.
[0217] Especificamente, quando a largura e a altura do bloco atual são iguais e a largura do bloco atual é menor que o primeiro valor específico, o dispositivo de decodificação pode determinar se o ângulo de predição do modo de intrapredição do bloco atual é menor que o segundo valor específico, e quando o ângulo de predição do modo de intrapredição é menor que o segundo valor específico, o dispositivo de decodificação pode determinar o filtro cúbico como o filtro de interpolação.
[0218] Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade vertical, o dispositivo de decodificação pode determinar se a largura do bloco atual é menor que o primeiro valor específico. Se a largura do bloco atual for menor que o primeiro valor específico, o dispositivo de decodificação pode determinar se um ângulo de predição do modo de intrapredição do bloco atual é menor que o segundo valor específico. Se o ângulo de predição do modo de intrapredição for menor que o segundo valor específico, o dispositivo de decodificação pode determinar o filtro cúbico como o filtro de interpolação.
[0219] Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade horizontal, o dispositivo de decodificação pode determinar se a altura do bloco atual é menor que o primeiro valor específico. Se a altura do bloco atual for menor que o primeiro valor específico, o dispositivo de decodificação pode determinar se o ângulo de predição do modo de intrapredição do bloco atual é menor que o segundo valor específico. Se o ângulo de predição do modo de intrapredição for menor que o segundo valor específico, o dispositivo de decodificação pode determinar o filtro cúbico como o filtro de interpolação.
[0220] Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade vertical, o dispositivo de decodificação pode determinar se a altura do bloco atual é menor que o primeiro valor específico. Se a altura do bloco atual for menor que o primeiro valor específico, o dispositivo de decodificação pode determinar se um ângulo de predição do modo de intrapredição do bloco atual é menor que o segundo valor específico. Se o ângulo de predição do modo de intrapredição for menor que o segundo valor específico, o dispositivo de decodificação pode determinar o filtro cúbico como o filtro de interpolação.
[0221]Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade horizontal, o dispositivo de decodificação pode determinar se a largura do bloco atual é menor que o primeiro valor específico. Se a largura do bloco atual for menor que o primeiro valor específico, o dispositivo de decodificação pode determinar se o ângulo de predição do modo de intrapredição do bloco atual é menor que o segundo valor específico. Se o ângulo de predição do modo de intrapredição for menor que o segundo valor específico, o dispositivo de decodificação pode determinar o filtro cúbico como o filtro de interpolação.
[0222] Se o ângulo de predição do modo de intrapredição não for menor que o segundo valor específico, o dispositivo de decodificação pode determinar o filtro de interpolação que tem um efeito de filtro passa-baixa como o filtro de interpolação para a amostra alvo. Especificamente, se o ângulo de predição do modo de intrapredição não for menor que o segundo valor específico, o dispositivo de decodificação pode determinar o filtro gaussiano como o filtro de interpolação. Alternativamente, se o ângulo de predição do modo de intrapredição não for menor que o segundo valor específico, o dispositivo de decodificação pode determinar o filtro linear como o filtro de interpolação.
[0223] Especificamente, se a largura e a altura do bloco atual forem iguais e a largura do bloco atual for menor que o primeiro valor específico, o dispositivo de decodificação pode determinar se o ângulo de predição do modo de intrapredição do bloco atual é menor que o valor específico, e se o ângulo de predição do modo de intrapredição não for menor que o segundo valor específico, o dispositivo de decodificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação.
[0224] Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade vertical, o dispositivo de decodificação pode determinar se a largura do bloco atual é menor que o primeiro valor específico. Se a largura do bloco atual for menor que o primeiro valor específico, o dispositivo de decodificação pode determinar se um ângulo de predição do modo de intrapredição do bloco atual é menor que o segundo valor específico. Se o ângulo de predição do modo de intrapredição não for menor que o segundo valor específico, o dispositivo de decodificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação.
[0225] Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade horizontal, o dispositivo de decodificação pode determinar se a altura do bloco atual é menor que o primeiro valor específico. Se a altura do bloco atual for menor que o primeiro valor específico, o dispositivo de decodificação pode determinar se o ângulo de predição do modo de intrapredição do bloco atual é menor que o segundo valor específico. Se o ângulo de predição do modo de intrapredição não for menor que o segundo valor específico, o dispositivo de decodificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação.
[0226]Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade vertical, o dispositivo de decodificação pode determinar se a altura do bloco atual é menor que o primeiro valor específico. Se a altura do bloco atual for menor que o primeiro valor específico, o dispositivo de decodificação pode determinar se um ângulo de predição do modo de intrapredição do bloco atual é menor que o segundo valor específico. Se o ângulo de predição do modo de intrapredição não for menor que o segundo valor específico, o dispositivo de decodificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação.
[0227] Se a largura e a altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade horizontal, o dispositivo de decodificação pode determinar se a largura do bloco atual é menor que o primeiro valor específico. Se a largura do bloco atual for menor que o primeiro valor específico, o dispositivo de decodificação pode determinar se o ângulo de predição do modo de intrapredição do bloco atual não é menor que o segundo valor específico. Se o ângulo de predição do modo de intrapredição for menor que o segundo valor específico, o dispositivo de decodificação pode determinar o filtro gaussiano ou o filtro linear como o filtro de interpolação.
[0228] Entretanto, as informações de predição para o bloco atual podem incluir informações relacionadas ao primeiro valor específico e informações relacionadas ao segundo valor específico. Nesse caso, o primeiro valor específico pode ser derivado com base nas informações relacionadas ao primeiro valor específico e o segundo valor específico pode ser derivado com base nas informações relacionadas ao segundo valor específico. Alternativamente, o primeiro valor específico e o segundo valor específico podem ser derivados com base em valores predefinidos.
[0229] Em outro exemplo, o bloco atual pode ser dividido em uma pluralidade de regiões, e um filtro de interpolação de cada região pode ser determinado com base em uma distância entre cada região e amostras vizinhas do bloco atual. Nesse caso, o filtro de interpolação para a amostra alvo pode ser derivado como um filtro de interpolação de uma região que inclui a amostra alvo. Além disso, se o tamanho do bloco atual for maior ou igual a um tamanho específico, o bloco atual pode ser dividido em uma pluralidade de regiões. Especificamente, os filtros de interpolação para as regiões mais próximas às amostras vizinhas do bloco atual que um valor específico, entre as regiões, podem ser determinados como filtros de interpolação sofisticados e filtros de interpolação para regiões mais distantes das amostras vizinhas do bloco atual que o valor específico, entre as regiões, podem ser determinado como filtros de interpolação que têm um efeito de filtro passa-baixa.
[0230]Entretanto, o tamanho da pluralidade de regiões divididas do bloco atual pode ser predefinido. Alternativamente, o tamanho da pluralidade de regiões pode ser derivado com base no tamanho do bloco atual, um modo de intrapredição ou similares. Por exemplo, no caso em que modo de intrapredição do bloco atual é um dos modos de intrapredição n° 35 a n° 66, o tamanho das regiões divididas do bloco atual pode ser derivado como um tamanho 4x4. Aqui, se o bloco atual for um bloco que tem um tamanho 16x16, o bloco atual pode ser dividido em regiões que têm um tamanho 4x4, um filtro de interpolação sofisticado pode ser determinado como o filtro de interpolação para regiões de n° 0 a n° 7 em uma ordem de varredura e o filtro de interpolação que tem um efeito de filtro passa-baixa pode ser determinado como os filtros de interpolação para as outras regiões. Por exemplo, os filtros de interpolação para as regiões n° 0 a n° 7 na ordem de varredura, entre as regiões, podem ser determinados como filtros cúbicos, e os filtros de interpolação para as outras regiões podem ser determinados como os filtros gaussianos ou filtros lineares. Aqui, números das 16 regiões que têm o tamanho 4x4 de acordo com a ordem de varredura podem ser sequencialmente derivados na ordem de uma fileira superior para uma fileira inferior e sequencialmente derivados na ordem da esquerda para a direita em cada fileira. Ou seja, as regiões incluídas em uma primeira fileira entre as 16 regiões que têm o tamanho 4x4 do bloco atual podem ser representadas como a região n° 0, região n° 1, região n° 2 e região n° 3 na ordem da esquerda para a direita, regiões incluídas na segunda fileira podem ser representadas como região n° 4, região n° 5, região n° 6 e região n° 7 na ordem da esquerda para a direita, regiões incluídas na terceira fileira podem ser representadas como a região n° 8, região n° 9, região n° 10 e região n° 11 na ordem da esquerda e direita, e regiões incluídas na quarta fileira podem ser representadas como região n° 12, região n° 13, região n° 14 e região n° 15 na ordem da esquerda para a direita. Entretanto, informações de predição para o bloco atual podem ser recebidas, e as informações de predição podem incluir informações que indicam um tamanho de cada uma das regiões divididas do bloco atual e informações que indicam um filtro de interpolação de cada região. Nesse caso, os tamanhos das regiões divididas do bloco atual e dos filtros de interpolação para as respectivas regiões podem ser derivados com base nas informações que indicam os tamanhos das regiões divididas do bloco atual e informações que indicam os filtros de interpolação das respectivas regiões.
[0231] Em outro exemplo, o filtro de interpolação para a amostra alvo pode ser determinado com base em uma distância entre a amostra alvo e as amostras de referência. A distância entre a amostra alvo e as amostras de referência pode ser derivada com base na posição da amostra alvo e no ângulo de predição do modo de intrapredição do bloco atual. Por exemplo, a distância pode ser calculada com base na posição da amostra alvo e um valor de função trigonométrica (por exemplo, tanθ) de acordo com o ângulo de predição do modo de intrapredição. Alternativamente, a distância pode ser derivada com base em uma tabela predefinida para o tamanho do bloco e o modo de intrapredição. Alternativamente, a distância entre a amostra alvo e as amostras de referência pode indicar uma distância vertical ou uma distância horizontal. Se distância entre a amostra alvo e as amostras de referência indicar uma distância vertical, a distância pode ser derivada com base em um componente y da amostra alvo. Além disso, se a distância entre a amostra alvo e as amostras de referência indicar uma distância horizontal, a distância pode ser derivada com base em um componente x da amostra alvo.
[0232] Por exemplo, o dispositivo de decodificação pode derivar a distância entre a amostra alvo e as amostras de referência e determinar se a distância é menor que um valor específico. Se a distância for menor que o valor específico, o dispositivo de decodificação pode determinar um filtro de interpolação sofisticado como o filtro de interpolação para a amostra alvo, e se a distância não for menor que o valor específico, o dispositivo de decodificação pode determinar o filtro de interpolação que tem um efeito de filtro passa-baixa como um filtro de interpolação para a amostra alvo. Especificamente, se a distância for menor que o valor específico, o dispositivo de decodificação pode determinar um filtro cúbico como o filtro de interpolação para a amostra alvo, e se a distância não for menor que o valor específico, o dispositivo de decodificação pode determinar um filtro gaussiano ou um filtro linear como o filtro de interpolação para a amostra alvo. O valor específico pode ser derivado com base no tamanho do bloco atual. Alternativamente, o valor específico pode ser derivado com base no modo de intrapredição do bloco atual, se o bloco atual é um bloco quadrado/não quadrado ou similares. Por exemplo, quando o tamanho do bloco atual é NxN, o valor específico pode ser derivado como N/2. Além disso, as informações de predição para o bloco atual podem ser recebidas, e as informações de predição podem incluir informações relacionadas ao valor específico. Nesse caso, o valor específico pode ser derivado com base nas informações relacionadas ao valor específico.
[0233] Em outro exemplo, uma pluralidade de filtros de interpolação pode ser determinada como os filtros de interpolação para a amostra alvo. Por exemplo, os filtros de interpolação para a amostra alvo podem incluir um dos filtros de interpolação sofisticados e um dos filtros de interpolação que têm um efeito de filtro passa-baixa. Alternativamente, os filtros de interpolação para a amostra alvo podem incluir um dos filtros de interpolação sofisticados e dois dos filtros de interpolação que têm um efeito de filtro passa-baixa. Alternativamente, os filtros de interpolação para a amostra alvo podem incluir dois dos filtros de interpolação sofisticados e um dos filtros de interpolação que tem efeito de filtro passa-baixa. Especificamente, os filtros de interpolação para a amostra alvo podem incluir um filtro cúbico e um filtro gaussiano. Entretanto, as informações de predição para o bloco atual podem ser recebidas, e as informações de predição podem incluir um sinalizador que indica se uma pluralidade de filtros de interpolação é determinada como os filtros de interpolação para a amostra alvo. Caso a pluralidade de filtros de interpolação seja determinada, pode-se determinar com base no sinalizador. Por exemplo, quando o sinalizador indica que uma pluralidade de filtros de interpolação é determinada como os filtros de interpolação para a amostra alvo, a amostra de predição para a amostra alvo pode ser derivada com base na pluralidade de filtros de interpolação, e quando o sinalizador indica que uma pluralidade de filtros de interpolação não é determinada como os filtros de interpolação para a amostra alvo, a amostra de predição para a amostra alvo pode não ser derivada com base na pluralidade de filtros de interpolação. Por exemplo, quando um valor do sinalizador é 1, o sinalizador pode indicar que uma pluralidade de filtros de interpolação é determinada como os filtros de interpolação para a amostra alvo, e quando o valor do sinalizador é 0, o sinalizador pode indicar que uma pluralidade de filtros de interpolação não é determinada como os filtros de interpolação para a amostra alvo.
[0234]O dispositivo de decodificação deriva uma amostra de predição da amostra alvo com base no filtro de interpolação e nas amostras de referência (S1440). O dispositivo de decodificação pode derivar coeficientes de filtro do filtro de interpolação com base na posição da amostra alvo e no ângulo de predição do modo de intrapredição e derivar a amostra de predição da amostra alvo com base nos coeficientes de filtro e nas amostras de referência. Por exemplo, quatro amostras vizinhas entre as amostras vizinhas do bloco atual podem ser derivadas como as amostras de referência, e quatro coeficientes de filtro do filtro de interpolação podem ser derivados. O dispositivo de decodificação pode interpolar as amostras de referência com base nos coeficientes de filtro para derivar a amostra de predição. A amostra de predição pode ser derivada com base na Equação 1 descrita acima.
[0235]Ademais, quando uma pluralidade de filtros de interpolação é determinada como os filtros de interpolação para a amostra alvo, o dispositivo de decodificação pode derivar amostras de predição (temporárias) com base em cada filtro de interpolação e derivar a amostra de predição da amostra alvo com base na amostra de predição derivada (temporária). Por exemplo, a amostra de predição da amostra alvo pode ser derivada calculando-se a média das amostras de predição (temporais) ou pode ser derivada pela soma ponderada das amostras de predição (temporais). Caso uma pluralidade de filtros de interpolação seja determinada como o filtro de interpolação para a amostra alvo, pode-se derivar com base no tamanho do bloco atual, em um modo de intrapredição do bloco atual, em uma variância de valores de amostra vizinha do bloco atual e similares. Além disso, um sinalizador que indica se uma pluralidade de filtros de interpolação é determinada como os filtros de interpolação para a amostra alvo pode ser recebido, e se a pluralidade de filtros de interpolação for determinada como os filtros de interpolação para a amostra alvo pode ser determinada com base no sinalizador.
[0236] Por exemplo, os filtros de interpolação para a amostra alvo podem incluir um filtro cúbico e um filtro gaussiano. Nesse caso, o dispositivo de decodificação pode derivar coeficientes de filtro do filtro cúbico com base na posição da amostra alvo e no ângulo de predição do modo de intrapredição e pode derivar coeficientes de filtro do filtro gaussiano com base na posição da amostra alvo e no ângulo de predição do modo de intrapredição. O dispositivo de decodificação pode derivar uma primeira amostra de predição para a amostra alvo com base nos coeficientes de filtro do filtro cúbico e nas amostras de referência, derivar uma segunda amostra de predição para a amostra alvo com base nos coeficientes de filtro do filtro gaussiano e nas amostras de referência, e derivar a amostra de predição da amostra alvo com base na primeira amostra de predição e na segunda amostra de predição. A amostra de predição da amostra alvo pode ser derivada calculando-se a média da primeira amostra de predição e da segunda amostra de predição. Alternativamente, a amostra de predição da amostra alvo pode ser derivada pela soma ponderada da primeira amostra de predição e da segunda amostra de predição. Nesse caso, um peso para a primeira amostra de predição pode estar em proporção inversa à distância entre a amostra alvo e as amostras de referência e um peso para a segunda amostra de predição pode ser derivado como um valor obtido subtraindo-se o peso pela primeira amostra de predição de 1. Alternativamente, o primeiro peso e segundo peso usados aqui podem ser aumentados em unidades de números inteiros e derivados para evitar um cálculo de ponto decimal.
[0237]Além disso, por exemplo, os filtros de interpolação para a amostra alvo podem incluir um filtro cúbico e um filtro linear. Nesse caso, o dispositivo de decodificação pode derivar coeficientes de filtro do filtro cúbico com base na posição da amostra de referência e pode derivar coeficientes de filtro do filtro linear com base na posição da amostra de referência. O dispositivo de decodificação pode derivar uma primeira amostra de predição para a amostra alvo com base nos coeficientes de filtro do filtro cúbico e nas amostras de referência, derivar uma segunda amostra de predição para a amostra alvo com base nos coeficientes de filtro do filtro linear e nas amostras de referência, e derivar a amostra de predição da amostra alvo com base na primeira amostra de predição e na segunda amostra de predição. A amostra de predição da amostra alvo pode ser derivada calculando-se a média da primeira amostra de predição e da segunda amostra de predição. Alternativamente, a amostra de predição da amostra alvo pode ser derivada pela soma ponderada da primeira amostra de predição e da segunda amostra de predição. Nesse caso, um peso para a primeira amostra de predição pode estar em proporção inversa à distância entre a amostra alvo e as amostras de referência e um peso para a segunda amostra de predição pode ser derivado como um valor obtido subtraindo-se o peso pela primeira amostra de predição de 1. Alternativamente, o primeiro peso e segundo peso usados aqui podem ser aumentados em unidades de números inteiros e derivados para evitar um cálculo de ponto decimal.
[0238]Em outro exemplo, se um modo MPM (modo mais provável) for aplicado ao bloco atual para derivar um modo de intrapredição do bloco atual com base em um modo de intrapredição de um bloco vizinho do bloco atual e o modo de intrapredição do bloco atual for um modo de intrapredição direcional, em vez de um modo planar ou um modo DC, um filtro de interpolação para a amostra alvo pode ser determinado com base nos blocos vizinhos selecionados através do modo MPM vizinho. Ou seja, o filtro de interpolação usado no bloco vizinho pode ser derivado como um filtro de interpolação para a amostra alvo. Se o modo MPM for aplicado ao bloco atual, o dispositivo de decodificação pode determinar uma lista MPM com base em um modo de intrapredição para um bloco vizinho esquerdo ou superior do bloco atual e determinar o modo de intrapredição com base na lista MPM.
[0239]Embora não mostrado na Figura, o dispositivo de decodificação pode usar a amostra de predição como uma amostra reconstruída de acordo com um modo de predição ou adicionar uma amostra residual à amostra de predição para gerar uma amostra reconstruída. Quando há uma amostra residual para o bloco alvo, o dispositivo de decodificação pode receber informações relacionadas ao residual para o bloco alvo, e as informações relacionadas ao residual podem ser incluídas nas informações relacionadas à amostra reconstruída. As informações relacionadas ao residual podem incluir um coeficiente de transformada relacionado à amostra residual. O dispositivo de decodificação pode derivar a amostra residual (ou matrizes de amostras residuais) para o bloco alvo com base nas informações de residual. O dispositivo de decodificação pode gerar uma amostra reconstruída com base na amostra de predição e na amostra residual e pode derivar um bloco reconstruído ou uma figuração reconstruída com base na amostra reconstruída. Posteriormente, a fim de melhorar a qualidade de imagem subjetiva/objetiva, conforme necessário, o dispositivo de decodificação pode aplicar um procedimento de filtragem em malha, tal como filtragem de desblocagem e/ou procedimento SAO à figuração reconstruída, conforme descrito acima.
[0240]Além disso, o dispositivo de decodificação pode receber as informações de predição para o bloco atual através de um fluxo de bits e pode decodificar por entropia as mesmas. As informações de predição podem incluir informações sobre o modo de intrapredição do bloco atual. O dispositivo de decodificação pode obter informações relacionadas ao modo de intrapredição que indica o modo de intrapredição. As informações de modo de intrapredição podem incluir informações que indicam diretamente um modo de intrapredição para o bloco atual ou podem incluir informações que indicam qualquer candidato em uma lista de candidatos de modo de intrapredição derivada com base em um modo de intrapredição de um bloco esquerdo ou superior do bloco atual. A lista de candidatos de modo de intrapredição pode indicara lista MPM.
[0241]Além disso, quando o bloco atual é dividido em uma pluralidade de regiões, as informações de predição podem incluir informações que indicam um tamanho das regiões divididas do bloco atual e um filtro de interpolação de cada região. Além disso, quando o filtro de interpolação para a amostra alvo é selecionado com base no tamanho do bloco atual, o modo de intrapredição do bloco atual, ou a distância entre a amostra alvo e as amostras de referência, as informações de predição podem include informações relacionadas ao valor específico usado para selecionar o filtro de interpolação para a amostra alvo. Quando o filtro de interpolação é selecionado com base no tamanho do bloco atual e no modo de intrapredição do bloco atual, as informações de predição podem incluir informações relacionadas a um primeiro valor específico e informações relacionadas a um segundo valor específico. Além disso, as informações de predição podem incluir um sinalizador que indica se uma pluralidade de filtros de interpolação é determinada como os filtros de interpolação para a amostra alvo. Quando o sinalizador indica que uma pluralidade de filtros de interpolação é determinada como os filtros de interpolação para a amostra alvo, uma amostra de predição da amostra alvo pode ser derivada com base na pluralidade de filtros de interpolação, e quando o sinalizador indica que uma pluralidade de filtros de interpolação não é determinada como os filtros de interpolação para a amostra alvo, uma amostra de predição da amostra alvo pode não ser derivada com base na pluralidade de filtros de interpolação. Por exemplo, quando um valor do sinalizador é 1, o sinalizador pode indicar que uma pluralidade de filtros de interpolação é determinada como os filtros de interpolação para a amostra alvo, e quando o valor do sinalizador é 0, o sinalizador pode indicar que uma pluralidade de filtros de interpolação não é determinada como os filtros de interpolação para a amostra alvo. As informações de predição podem ser sinalizadas através de um conjunto de parâmetros de vídeo (VPS), um conjunto de parâmetros de sequência (SPS), um conjunto de parâmetros de figuração (PPS) ou um cabeçalho de segmento de fatia ou podem ser sinalizadas em uma base de bloco.
[0242] De acordo com a presente revelação descrita acima, a predição pode ser realizada na amostra alvo com base no filtro de interpolação derivado de acordo com o tamanho do bloco atual, a distância entre a amostra alvo e a amostra de referência e/ou o modo de predição (ângulo de predição), de modo que a amostra de referência da posição de amostra fracionária para a amostra alvo possa ser precisamente gerada para melhorar a precisão de predição para o bloco atual e o residual para o bloco atual possa ser reduzido para melhorar a eficiência de codificação.
[0243]Além disso, de acordo com a presente revelação, uma vez que um filtro de interpolação para a amostra alvo pode ser selecionado com base em várias condições descritas acima, a quantidade de bits de informações sobre a seleção do filtro de interpolação pode ser reduzida, de modo que a precisão de predição para o bloco atual possa ser melhorada e a eficiência de codificação do bloco atual possa ser melhorada.
[0244] Na modalidade acima descrita, os métodos são descritos com base no fluxograma que tem uma série de etapas ou blocos. A presente revelação não se limita à ordem das etapas ou blocos acima. Algumas etapas ou blocos podem ocorrer simultaneamente ou em uma ordem diferente das outras etapas ou blocos, conforme descrito acima. Ademais, aqueles versados na técnica irão compreender que as etapas mostradas no fluxograma acima não são exclusivas, que etapas adicionais podem estar incluídas ou que uma ou mais etapas no fluxograma podem ser excluídas sem afetar o escopo da presente revelação.
[0245] O método, de acordo com a presente revelação descrita acima, pode ser implementado em software. O dispositivo de codificação e/ou dispositivo de decodificação de acordo com a presente revelação pode ser incluído em um dispositivo que realiza processamento de imagens, por exemplo, para uma TV, um computador, um telefone inteligente, um decodificador de sinais ou um dispositivo de exibição.
[0246]Quando as modalidades da presente revelação são implementadas em software, o método descrito acima pode ser implementado por módulos (processos, funções e assim por diante) que realizam as funções descritas acima. Tais módulos podem ser armazenados na memória e executados por um processador. A memória pode ser interna ou externa ao processador, e a memória pode ser acoplada ao processador com o uso de vários meios bem conhecidos. O processador pode incluir um circuito integrado de aplicação específica (ASIC), outros conjuntos de chips, um circuito lógico e/ou um dispositivo de processamento de dados. A memória pode incluir uma ROM (memória somente de leitura), uma RAM (memória de acesso aleatório), uma memória flash, um cartão de memória, um meio de armazenamento e/ou outro dispositivo de armazenamento.

Claims (8)

1. Método de decodificação de vídeo realizado por um dispositivo de decodificação, o método CARACTERIZADO pelo fato de que compreende: derivar um modo de intrapredição de um bloco atual, em que o modo de intrapredição é um dentre modos de intrapredição direcionais com um ângulo de predição maior que 0; derivar amostras vizinhas que incluem amostras vizinhas à esquerda e amostras vizinhas superiores do bloco atual; derivar amostras de referência para predição de uma amostra alvo do bloco atual entre as amostras vizinhas com base em uma posição da amostra alvo e um ângulo de predição do modo de intrapredição; determinar um filtro de interpolação para a amostra alvo com base no modo de intrapredição e um tamanho do bloco atual, em que o filtro de interpolação é determinado como um dentre um filtro gaussiano e um filtro cúbico; e derivar uma amostra de predição da amostra alvo com base no filtro de interpolação e nas amostras de referência, em que quando o tamanho do bloco atual for maior ou igual a um primeiro valor específico, o filtro de interpolação para a amostra alvo é derivado como o filtro gaussiano, e em que quando o tamanho do bloco atual for menor do que o primeiro valor específico, o filtro de interpolação para a amostra alvo é derivado com base no modo de intrapredição e um segundo valor específico.
2. Método de decodificação de vídeo, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que: a derivação de uma amostra de predição da amostra alvo com base no filtro de interpolação e nas amostras de referência compreende: derivar coeficientes de filtro do filtro de interpolação com base na posição da amostra alvo e no ângulo de predição; e derivar a amostra de predição da amostra alvo com base nos coeficientes de filtro e nas amostras de referência.
3. Método de decodificação de vídeo, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que: quando uma largura e uma altura do bloco atual forem iguais, o tamanho do bloco atual é definido como igual à largura do bloco atual.
4. Método de decodificação de vídeo, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que: quando uma largura e uma altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade vertical, o tamanho do bloco atual é definido como igual à largura do bloco atual.
5. Método de decodificação de vídeo, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que: quando uma largura e uma altura do bloco atual forem diferentes e o modo de intrapredição do bloco atual for um modo de intrapredição direcional que tem direcionalidade horizontal, o tamanho do bloco atual é definido como igual à altura do bloco atual.
6. Método de decodificação de vídeo, de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que: quando o tamanho do bloco atual for menor que o primeiro valor específico, é determinado se o ângulo de predição do modo de intrapredição do bloco atual é menor que o segundo valor específico, e quando o ângulo de predição do modo de intrapredição for menor que o segundo valor específico, o filtro de interpolação para a amostra alvo é derivado como um filtro cúbico, e quando o ângulo de predição do modo de intrapredição não for menor que o segundo valor específico, o filtro de interpolação para a amostra alvo é derivado como um filtro gaussiano.
7. Método de codificação de vídeo realizado por um dispositivo de codificação, o método CARACTERIZADO pelo fato de que compreende: determinar um modo de intrapredição de um bloco atual, em que o modo de intrapredição é um dentre modos de intrapredição direcionais com um ângulo de predição maior que 0; derivar amostras vizinhas que incluem amostras vizinhas à esquerda e amostras vizinhas superiores do bloco atual; derivar amostras de referência para predição de uma amostra alvo do bloco atual entre as amostras vizinhas com base em uma posição da amostra alvo e um ângulo de predição do modo de intrapredição; determinar um filtro de interpolação para a amostra alvo com base no modo de intrapredição e um tamanho do bloco atual, em que o filtro de interpolação é determinado como um dentre um filtro gaussiano e um filtro cúbico; derivar uma amostra de predição da amostra alvo com base no filtro de interpolação e nas amostras de referência; e codificar informações de vídeo que compreendem informações de predição para o bloco atual, em que quando o tamanho do bloco atual for maior ou igual a um primeiro valor específico, o filtro de interpolação para a amostra alvo é derivado como o filtro gaussiano, e em que quando o tamanho do bloco atual for menor do que o primeiro valor específico, o filtro de interpolação para a amostra alvo é derivado com base no modo de intrapredição e um segundo valor específico.
8. Mídia de armazenamento não transitória legível por computador, CARACTERIZADA pelo fato de que armazena informações de vídeo, as informa-ções de vídeo, quando executadas, fazem com que um aparelho de decodificação realize as seguintes etapas: derivar um modo de intrapredição de um bloco atual, em que o modo de intrapredição é um dentre modos de intrapredição direcionais com um ângulo de predição maior que 0; derivar amostras vizinhas que incluem amostras vizinhas à esquerda e amostras vizinhas superiores do bloco atual; derivar amostras de referência para predição de uma amostra alvo do bloco atual entre as amostras vizinhas com base em uma posição da amostra alvo e um ângulo de predição do modo de intrapredição; determinar um filtro de interpolação para a amostra alvo com base no modo de intrapredição e um tamanho do bloco atual, em que o filtro de interpolação é determinado como um dentre um filtro gaussiano e um filtro cúbico; e derivar uma amostra de predição da amostra alvo com base no filtro de interpolação e nas amostras de referência, em que quando o tamanho do bloco atual for maior ou igual a um primeiro valor específico, o filtro de interpolação para a amostra alvo é derivado como o filtro gaussiano, e em que quando o tamanho do bloco atual for menor do que o primeiro valor específico, o filtro de interpolação para a amostra alvo é derivado com base no modo de intrapredição e um segundo valor específico.
BR112019021446-1A 2017-05-31 2018-01-05 Metodo de decodificaqao de video realizado por um dispositivo de decodificaqao, metodo de codificaqao de video realizado por um dispositivo de codificaqao e midia de armazenamento nao transitoria legivel por computador BR112019021446B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762512737P 2017-05-31 2017-05-31
US62/512,737 2017-05-31
PCT/KR2018/000226 WO2018221817A1 (ko) 2017-05-31 2018-01-05 영상 코딩 시스템에서 인트라 예측에 따른 영상 디코딩 방법 및 장치

Publications (2)

Publication Number Publication Date
BR112019021446A2 BR112019021446A2 (pt) 2020-05-05
BR112019021446B1 true BR112019021446B1 (pt) 2021-11-16

Family

ID=64454753

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112019021446-1A BR112019021446B1 (pt) 2017-05-31 2018-01-05 Metodo de decodificaqao de video realizado por um dispositivo de decodificaqao, metodo de codificaqao de video realizado por um dispositivo de codificaqao e midia de armazenamento nao transitoria legivel por computador

Country Status (14)

Country Link
US (3) US10757407B2 (pt)
EP (3) EP3879826B1 (pt)
JP (4) JP6886528B2 (pt)
KR (3) KR102285435B1 (pt)
CN (5) CN114286111A (pt)
AU (3) AU2018276649B2 (pt)
BR (1) BR112019021446B1 (pt)
CA (2) CA3060033C (pt)
ES (2) ES2892473T3 (pt)
HU (2) HUE056668T2 (pt)
MX (2) MX2019011953A (pt)
PL (2) PL3595302T3 (pt)
RU (1) RU2740859C1 (pt)
WO (1) WO2018221817A1 (pt)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180040319A (ko) * 2016-10-12 2018-04-20 가온미디어 주식회사 영상 처리 방법, 그를 이용한 영상 복호화 및 부호화 방법
CN109891892A (zh) * 2016-10-11 2019-06-14 Lg 电子株式会社 依赖于图像编译系统中的帧内预测的图像解码方法和装置
KR20180080115A (ko) * 2017-01-02 2018-07-11 한양대학교 산학협력단 참조 화소에 대하여 적응적 필터링을 수행하기 위한 화면 내 예측 방법 및 장치
WO2018216862A1 (ko) * 2017-05-24 2018-11-29 엘지전자 주식회사 영상 코딩 시스템에서 인트라 예측에 따른 영상 디코딩 방법 및 장치
JP2020120141A (ja) * 2017-05-26 2020-08-06 シャープ株式会社 動画像符号化装置及び動画像復号装置、フィルタ装置
HUE056668T2 (hu) 2017-05-31 2022-02-28 Lg Electronics Inc Eljárás és eszköz kép dekódolásának elvégzésére intra-predikció alapján képkódoló rendszerben
JPWO2019189904A1 (ja) * 2018-03-30 2021-02-12 日本放送協会 イントラ予測装置、画像符号化装置、画像復号装置、及びプログラム
KR20210015963A (ko) 2018-06-29 2021-02-10 후아웨이 테크놀러지 컴퍼니 리미티드 인트라-예측을 위한 디바이스 및 방법
KR20210016601A (ko) * 2018-07-11 2021-02-16 후아웨이 테크놀러지 컴퍼니 리미티드 인트라 예측을 위한 종횡비 의존적 필터링을 위한 방법 및 장치
US11438583B2 (en) * 2018-11-27 2022-09-06 Tencent America LLC Reference sample filter selection in intra prediction
KR20200083315A (ko) * 2018-12-28 2020-07-08 한국전자통신연구원 화면 내 예측 모드 유도 방법 및 장치
WO2020185018A1 (ko) * 2019-03-12 2020-09-17 엘지전자 주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 전송하는 방법
CN113574877A (zh) 2019-03-12 2021-10-29 现代自动车株式会社 用于有效地对残差块编码的方法和装置
CN110401838B (zh) * 2019-03-12 2021-08-31 浙江大华技术股份有限公司 帧内预测方法、编码器及存储装置
US20220201286A1 (en) * 2019-04-25 2022-06-23 Mediatek Inc. Method and Apparatus of Encoding or Decoding with Mode Dependent Intra Smoothing Filter in Intra Prediction
JP2022530240A (ja) * 2019-05-02 2022-06-28 北京字節跳動網絡技術有限公司 複数の参照フィルタを使用するイントラビデオコーディング
GB2585039A (en) * 2019-06-25 2020-12-30 Sony Corp Image data encoding and decoding
EP4018668A4 (en) * 2019-08-23 2023-06-21 Samsung Electronics Co., Ltd. INTRA PREDICTION METHOD AND DEVICE USING IT, ENCODING AND DECODE METHOD AND DEVICE USING IT BASED ON INTRA PREDICTION
CN110944211B (zh) * 2019-11-15 2022-07-08 腾讯科技(深圳)有限公司 用于帧内预测的插值滤波方法、装置、介质及电子设备
US11528475B2 (en) * 2020-06-30 2022-12-13 Google Llc Gradient predictor for image compression
US20220060702A1 (en) * 2020-08-21 2022-02-24 Alibaba Group Holding Limited Systems and methods for intra prediction smoothing filter
WO2024025316A1 (ko) * 2022-07-25 2024-02-01 주식회사 케이티 영상 부호화/복호화 방법 및 비트스트림을 저장하는 기록 매체

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101789119B (zh) * 2009-01-23 2011-12-07 华为技术有限公司 确定图像插值过程中的滤波器系数的方法及装置
US9258573B2 (en) * 2010-12-07 2016-02-09 Panasonic Intellectual Property Corporation Of America Pixel adaptive intra smoothing
CN107181950B (zh) * 2010-12-08 2020-11-06 Lg 电子株式会社 一种执行内预测的编码装置和解码装置
US9172972B2 (en) * 2011-01-05 2015-10-27 Qualcomm Incorporated Low complexity interpolation filtering with adaptive tap size
CN106851270B (zh) 2011-04-25 2020-08-28 Lg电子株式会社 执行帧内预测的编码设备和解码设备
KR20120140181A (ko) * 2011-06-20 2012-12-28 한국전자통신연구원 화면내 예측 블록 경계 필터링을 이용한 부호화/복호화 방법 및 그 장치
EP2919468A3 (en) * 2011-06-28 2016-02-17 Samsung Electronics Co., Ltd Method and apparatus for image encoding and decoding using intra prediction
KR20170078681A (ko) * 2014-11-04 2017-07-07 삼성전자주식회사 영상 특성을 반영한 보간 필터를 이용하는 비디오 부호화 방법 및 장치, 비디오 복호화 방법 및 장치
US11463689B2 (en) 2015-06-18 2022-10-04 Qualcomm Incorporated Intra prediction and intra mode coding
US10142627B2 (en) * 2015-06-18 2018-11-27 Qualcomm Incorporated Intra prediction and intra mode coding
WO2017018664A1 (ko) * 2015-07-28 2017-02-02 엘지전자(주) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
MY201173A (en) * 2015-11-17 2024-02-08 Huawei Tech Co Ltd Method and apparatus of adaptive filtering of samples for video coding
US10194170B2 (en) * 2015-11-20 2019-01-29 Mediatek Inc. Method and apparatus for video coding using filter coefficients determined based on pixel projection phase
US20170150176A1 (en) * 2015-11-25 2017-05-25 Qualcomm Incorporated Linear-model prediction with non-square prediction units in video coding
WO2017188652A1 (ko) * 2016-04-26 2017-11-02 인텔렉추얼디스커버리 주식회사 영상 부호화/복호화 방법 및 장치
US10397569B2 (en) * 2016-06-03 2019-08-27 Mediatek Inc. Method and apparatus for template-based intra prediction in image and video coding
CN117221601A (zh) * 2016-06-22 2023-12-12 Lx 半导体科技有限公司 图像编码/解码设备以及传输图像数据的设备
US10382781B2 (en) * 2016-09-28 2019-08-13 Qualcomm Incorporated Interpolation filters for intra prediction in video coding
HUE056668T2 (hu) * 2017-05-31 2022-02-28 Lg Electronics Inc Eljárás és eszköz kép dekódolásának elvégzésére intra-predikció alapján képkódoló rendszerben
CN107566798A (zh) * 2017-09-11 2018-01-09 北京大学 一种数据处理的系统、方法及装置

Also Published As

Publication number Publication date
ES2927102T3 (es) 2022-11-02
US20200329236A1 (en) 2020-10-15
MX2019011953A (es) 2019-12-02
EP3595302A1 (en) 2020-01-15
EP4084475B1 (en) 2024-03-06
AU2021201808B2 (en) 2022-05-12
JP6886528B2 (ja) 2021-06-16
AU2018276649B2 (en) 2020-12-24
CA3060033A1 (en) 2018-12-06
PL3595302T3 (pl) 2022-01-24
KR20190119645A (ko) 2019-10-22
HUE060091T2 (hu) 2023-01-28
MX2023004965A (es) 2023-06-22
US11190763B2 (en) 2021-11-30
US20200036970A1 (en) 2020-01-30
JP2020517190A (ja) 2020-06-11
RU2740859C1 (ru) 2021-01-21
US10757407B2 (en) 2020-08-25
CN110574373B (zh) 2021-11-30
CA3142170C (en) 2023-07-04
CA3060033C (en) 2022-02-15
CA3142170A1 (en) 2018-12-06
PL3879826T3 (pl) 2022-12-19
EP3879826A1 (en) 2021-09-15
JP7469451B2 (ja) 2024-04-16
CN114286111A (zh) 2022-04-05
EP4084475C0 (en) 2024-03-06
RU2021100114A3 (pt) 2021-05-31
EP3595302A4 (en) 2020-04-15
CN114286110A (zh) 2022-04-05
KR102285435B1 (ko) 2021-08-04
RU2021100114A (ru) 2021-02-02
JP7203145B2 (ja) 2023-01-12
EP4084475A1 (en) 2022-11-02
WO2018221817A1 (ko) 2018-12-06
JP2021129313A (ja) 2021-09-02
JP2024071777A (ja) 2024-05-24
CN114286112A (zh) 2022-04-05
CN110574373A (zh) 2019-12-13
AU2022215197A1 (en) 2022-09-01
EP3879826B1 (en) 2022-08-03
KR20210097832A (ko) 2021-08-09
JP2023024731A (ja) 2023-02-16
HUE056668T2 (hu) 2022-02-28
US20230147003A1 (en) 2023-05-11
KR102568179B1 (ko) 2023-08-18
EP3595302B1 (en) 2021-07-14
BR112019021446A2 (pt) 2020-05-05
ES2892473T3 (es) 2022-02-04
AU2018276649A1 (en) 2019-10-31
KR102431855B1 (ko) 2022-08-11
US20220053184A1 (en) 2022-02-17
AU2021201808A1 (en) 2021-04-22
US11570431B2 (en) 2023-01-31
CN114286109A (zh) 2022-04-05
KR20220115822A (ko) 2022-08-18
AU2022215197B2 (en) 2024-04-04

Similar Documents

Publication Publication Date Title
BR112019021446B1 (pt) Metodo de decodificaqao de video realizado por um dispositivo de decodificaqao, metodo de codificaqao de video realizado por um dispositivo de codificaqao e midia de armazenamento nao transitoria legivel por computador
ES2710807B1 (es) Metodo y aparato para procesar senales de video
ES2800551A2 (es) Método y aparato para tratar una señal de vídeo
KR102539354B1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
BR112020012033A2 (pt) método de codificação de imagem com base em transformação e dispositivo para o mesmo
JP7490859B2 (ja) 映像コーディングシステムにおいてイントラ予測による映像デコーディング方法及び装置
US20220217396A1 (en) Method for constraining an in-loop filter on a 360-degree video virtual edge
RU2798770C1 (ru) Способ и устройство для выполнения декодирования изображения на основе интра-предсказания в системе кодирования изображений
RU2805157C1 (ru) Способ и устройство для выполнения декодирования изображения на основе интра-предсказания в системе кодирования изображений
RU2776098C2 (ru) Способ и устройство для выполнения декодирования изображения на основе интра-предсказания в системе кодирования изображений
KR20230043747A (ko) 비디오 신호 부호화/복호화 방법, 그리고 비트스트림을 저장한 기록 매체
KR20220165205A (ko) 개선된 크로스 컴포넌트 선형 모델 예측을 이용하는 비디오 코딩방법 및 장치
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
BR112021011225B1 (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
BR122022006653B1 (pt) Método de decodificação de imagem realizado por um aparelho de decodificação, aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação, aparelho de codificação, meio de armazenamento legível por computador não transitório, método de transmissão de dados para uma imagem e aparelho de transmissão para transmissão de dados para uma imagem
BR122022006649B1 (pt) Método de decodificação de imagem realizado por um aparelho de decodificação, aparelho de decodificação, método de codificação de imagem realizado por um aparelho de codificação, aparelho de codificação, meio de armazenamento legível por computador não transitório, método de transmissão de dados para uma imagem e aparelho de transmissão para transmissão de dados para uma imagem

Legal Events

Date Code Title Description
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B15K Others concerning applications: alteration of classification

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

Ipc: H04N 19/117 (2014.01), H04N 19/157 (2014.01), H04N

B350 Update of information on the portal [chapter 15.35 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 05/01/2018, OBSERVADAS AS CONDICOES LEGAIS.