BR122021006490A2 - método de decodificação de imagem com base na predição de movimento afim e dispositivo usando lista de candidatos à fusão afins no sistema de codificação de imagem - Google Patents

método de decodificação de imagem com base na predição de movimento afim e dispositivo usando lista de candidatos à fusão afins no sistema de codificação de imagem Download PDF

Info

Publication number
BR122021006490A2
BR122021006490A2 BR122021006490-3A BR122021006490A BR122021006490A2 BR 122021006490 A2 BR122021006490 A2 BR 122021006490A2 BR 122021006490 A BR122021006490 A BR 122021006490A BR 122021006490 A2 BR122021006490 A2 BR 122021006490A2
Authority
BR
Brazil
Prior art keywords
block
candidate
affine
motion vector
neighbor
Prior art date
Application number
BR122021006490-3A
Other languages
English (en)
Inventor
Jaeho Lee
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 BR122021006490A2 publication Critical patent/BR122021006490A2/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

Um método de decodificação de imagem realizado por meio de um dispositivo de decodificação, de acordo com a presente revelação compreende as etapas de: configurar uma lista de candidatos à fusão afins em relação a um bloco atual; derivar CPMVs em relação aos CPs do bloco atual com base na lista de candidatos afins; derivar amostras de predição com respeito ao bloco atual com base nos CPMVs; e gerar uma imagem reconstruída em relação ao bloco atual com base nas amostras de predição derivadas, em que o número máximo de candidatos afins herdados é dois, um primeiro candidato afim herdado é derivado com base em um grupo de bloco esquerdo do bloco atual, e um segundo candidato afim herdado é derivado com base em um grupo de bloco superior do bloco atual.

Description

MÉTODO DE DECODIFICAÇÃO DE IMAGEM COM BASE NA PREDIÇÃO DE MOVIMENTO AFIM E DISPOSITIVO USANDO LISTA DE CANDIDATOS À FUSÃO AFINS NO SISTEMA DE CODIFICAÇÃO DE IMAGEM Pedido dividido do BR112021002335-6, depositado em 08.08.2019. 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 de decodificação de imagem e aparelho com base na predição de movimento afim usando uma lista de candidatos à fusão afins em um sistema de codificação de vídeo.
TÉCNICA CORRELATA
[002] A demanda por imagens de alta resolução e alta qualidade, como imagens HD (alta definição) e imagens UHD (ultra-alta definição), tem aumentado em vários campos. Como os dados da imagem possuem alta resolução e alta qualidade, a quantidade de informações ou bits a serem transmitidos aumenta em relação aos dados da imagem legada. Portanto, quando os dados de imagem são transmitidos usando um meio como uma linha de banda larga com/sem fio convencional ou os dados de imagem são armazenados usando um meio de armazenamento existente, o custo de transmissão e o custo de armazenamento aumentam.
[003] Consequentemente, há uma necessidade de uma técnica de compressão de imagem altamente eficiente para transmitir, armazenar e reproduzir com eficácia as informações de alta resolução e imagens de alta qualidade.
SUMÁRIO
[004] A presente revelação fornece um método e aparelho para melhorar a eficiência da codificação de vídeo.
[005] A presente revelação Ainda mais, fornece um método e aparelho de decodificação de imagem para construir uma lista de candidatos afins de um bloco atual, incluindo um máximo de dois candidatos afins herdados e realizar predição no bloco atual com base na lista de candidatos à fusão afins construídos.
[006] Em um aspecto, é fornecido um método de decodificação de imagem realizado por um aparelho de decodificação. O método inclui: construir uma lista de candidatos afins para um bloco atual, em que a lista de candidatos afins inclui candidatos afins herdados e candidatos afins construídos; derivar vetores de movimento de ponto de controle (CPMVs) para pontos de controle (CPs) do bloco atual, com base na lista de candidatos à fusão afim; derivar amostras de predição para o bloco atual com base nos CPMVs; e gerar uma imagem reconstruída para o bloco atual, com base nas amostras de predição derivadas, em que um número máximo de candidatos afins herdados é 2, em que um primeiro candidato afim herdado é derivado de um grupo de bloco esquerdo incluindo um bloco vizinho de canto inferior esquerdo e um bloco vizinho esquerdo, em que um segundo candidato afim herdado é derivado de um grupo de bloco superior incluindo um bloco vizinho de canto superior direito, um bloco vizinho superior e um bloco vizinho de canto superior esquerdo.
[007] Em outro aspecto a decodificação de vídeo é realizada pelo aparelho de decodificação. O aparelho de decodificação inclui: um preditor configurado para construir uma lista de candidatos afins para um bloco atual, a lista de candidatos afins incluindo candidatos afins herdados e candidatos afins construídos, para derivar vetores de movimento de ponto de controle (CPMVs) para pontos de controle (CPs) do bloco atual com base na lista de candidatos à fusão afim, para derivar amostras de predição para o bloco atual com base nos CPMVs; e um adicionador configurado para gerar uma imagem reconstruída para o bloco atual com base nas amostras de predição derivadas, em que um número máximo de candidatos afins herdados é 2, em que um primeiro candidato afim herdado é derivado de um grupo de bloco esquerdo incluindo um canto inferior esquerdo bloco vizinho de canto e um bloco vizinho esquerdo, e em que um segundo candidato afim herdado é derivado de um grupo de bloco superior incluindo um bloco vizinho de canto superior direito, um bloco vizinho superior e um bloco vizinho de canto superior esquerdo.
[008] Em outro aspecto, é fornecido um método de codificação de imagem realizado por um aparelho de codificação. O método inclui: construir uma lista de candidatos afins para um bloco atual, em que a lista de candidatos afins inclui candidatos afins herdados e candidatos afins construídos; derivar vetores de movimento de ponto de controle (CPMVs) para pontos de controle (CPs) do bloco atual com base na lista de candidatos à fusão afim; e codificar informações de imagem incluindo informações de predição para o bloco atual, em que um número máximo de candidatos afins herdados é 2, em que um primeiro candidato afim herdado é derivado de um grupo de bloco esquerdo incluindo um bloco vizinho de canto inferior esquerdo e um bloco vizinho esquerdo, e em que um segundo candidato afim herdado é derivado de um grupo de bloco superior incluindo um bloco vizinho de canto superior direito, um bloco vizinho superior e um bloco vizinho de canto superior esquerdo.
[009] Em outro aspecto é fornecido um aparelho de codificação de vídeo. O aparelho de codificação inclui: um preditor configurado para construir uma lista de candidatos afins para um bloco atual, a lista de candidatos afins incluindo candidatos afins herdados e candidatos afins construídos e para derivar vetores de movimento de ponto de controle (CPMVs) para pontos de controle (CPs) do bloco atual com base na lista de candidatos à fusão afim; e um codificador de entropia configurado para codificar informações de imagem incluindo informações de predição para o bloco atual, em que um número máximo de candidatos afins herdados é 2, em que um primeiro candidato afim herdado é derivado de um grupo de bloco esquerdo incluindo um bloco vizinho de canto inferior esquerdo e um bloco vizinho esquerdo, e em que um segundo candidato afim herdado é derivado de um grupo de bloco superior incluindo um bloco vizinho de canto superior direito, um bloco vizinho superior e um bloco vizinho de canto superior esquerdo.
[010] De acordo com a presente revelação, a eficiência geral de compressão de imagem/vídeo pode ser melhorada.
[011] De acordo com a presente revelação, a complexidade do cálculo de um modo de fusão afim pode ser reduzida, aumentando assim a eficiência geral de codificação de vídeo.
[012] De acordo com a presente revelação, ao derivar uma lista de candidatos afins, o número máximo de candidatos afins herdados pode ser definido como 2 e um candidato afim herdado pode ser derivado de cada um de um grupo de bloco esquerdo e um grupo de bloco superior, reduzindo assim a complexidade de cálculo do processo de derivar os candidatos afins herdados e o processo de construção da lista de candidatos à fusão afins e aumentando a eficiência da codificação.
BREVE DESCRIÇÃO DOS DESENHOS
[013] A Figura 1 é um diagrama esquemático que ilustra uma configuração de um aparelho de codificação de vídeo ao qual a presente revelação é aplicável.
[014] A Figura 2 é um diagrama esquemático que ilustra uma configuração de um aparelho de decodificação de vídeo ao qual a presente revelação é aplicável.
[015] A Figura 3 ilustra um movimento expresso por meio de um modelo de movimento afim.
[016] A Figura 4 ilustra o modelo de movimento afim, no qual vetores de movimento para 3 pontos de controle são usados.
[017] A Figura 5 ilustra um modelo de movimento afim no qual vetores de movimento para 2 pontos de controle são usados.
[018] A Figura 6 ilustra um método para derivar um vetor de movimento em uma base de sub-bloco com base no modelo de movimento afim.
[019] A Figura 7 é um fluxograma que ilustra um método de predição de movimento afim de acordo com uma modalidade da presente revelação.
[020] A Figura 8 mostra um exemplo de construção de uma lista de candidatos à fusão afins de um bloco atual.
[021] A Figura 9 ilustra blocos vizinhos do bloco atual para derivar o candidato afim herdado.
[022] A Figura 10 ilustra blocos vizinhos do bloco atual para derivar o candidato afim construído.
[023] A Figura 11 mostra um exemplo de derivação de um candidato afim construído.
[024] A Figura 12 ilustra esquematicamente um método de codificação de imagem por um aparelho de codificação de acordo com a presente revelação.
[025] A Figura 13 ilustra esquematicamente um aparelho de codificação para realizar um método de codificação de imagem de acordo com a presente revelação.
[026] A Figura 14 ilustra esquematicamente um método de decodificação de imagem por um aparelho de decodificação de acordo com a presente revelação.
[027] A Figura 15 ilustra esquematicamente um aparelho de decodificação para realizar um método de decodificação de imagem de acordo com a presente revelação.
[028] A Figura 16 ilustra um exemplo de uma estrutura de um sistema de streaming de conteúdo ao qual a presente revelação é aplicada.
DESCRIÇÃO DAS FORMAS DE REALIZAÇÃO
[029] A presente revelação pode ser modificada de várias formas e modalidades específicas da mesma serão descritas e ilustradas nos desenhos. No entanto, as modalidades não se destinam a limitar a revelação. Os termos usados na descrição a seguir são usados apenas para descrever modalidades específicas, mas não se destinam a limitar a revelação. Uma expressão de um número singular inclui uma expressão do número plural, desde que seja claramente lida de forma diferente. Os termos como "incluir" e "ter" destinam-se a indicar que existem recursos, números, etapas, operações, elementos, componentes ou combinações dos mesmos usados na descrição a seguir e deve ser assim entendido que a possibilidade de existência ou adição de um ou mais recursos, números, etapas, operações, elementos, componentes ou combinações dos mesmos diferentes não são excluídos.
[030] Não obstante, os elementos nos desenhos descritos na revelação são realizados de forma independente com o propósito de conveniência para a explicação de diferentes funções específicas e não significam que os elementos são incorporados por hardware independente ou software independente. Por exemplo, dois ou mais membros dos elementos podem ser combinados para formar um único elemento, ou um elemento pode ser dividido em vários elementos. As modalidades nas quais os elementos são combinados e/ou divididos pertencem à revelação sem se afastar do conceito da revelação.
[031] A seguir, modalidades da presente revelação serão descritas em detalhes com referência aos desenhos anexos. Além disso, números de referência semelhantes são usados para indicar elementos semelhantes ao longo dos desenhos, e as mesmas descrições nos elementos semelhantes serão omitidas.
[032] Na presente revelação, o vídeo pode se referir a uma série de imagens ao longo do tempo. Uma imagem geralmente se refere a uma unidade que representa uma imagem em um fuso horário específico, e uma fatia é uma unidade que constitui parte de uma imagem na codificação. Uma imagem pode incluir uma pluralidade de fatias ou grupos de fragmentos e, se necessário, a imagem, fatias e grupos de fragmentos podem ser misturados uns com os outros e usados. Neste documento, uma imagem pode ser uma imagem estática ou pode representar uma imagem de um momento específico que constitui o vídeo. Doravante, a codificação de imagem pode ser misturada com a codificação de vídeo. Além disso, a codificação de imagem pode ser misturada com a codificação de imagem ou codificação de quadro.
[033] Um pixel ou um Pal pode se referir a uma unidade mínima que constitui uma imagem. Além disso, uma "amostra" pode ser usada como um termo correspondente a um pixel. A amostra pode geralmente representar um pixel ou um valor de um pixel, pode representar apenas um pixel (um valor de pixel) de um componente luma e pode representar apenas um pixel (um valor de pixel) de um componente croma.
[034] Uma unidade representa uma unidade básica de processamento de imagem. A unidade pode incluir pelo menos uma de uma região específica da imagem e informações relacionadas à região. A unidade pode ser usada alternadamente com termos como bloco ou área em alguns casos. Alternativamente, a unidade pode incluir um bloco de componente luma e um bloco de componente de croma cb e cr. Em um caso geral, um bloco M × N pode representar um conjunto de amostras ou coeficientes de transformação incluindo M colunas e N linhas.
[035] A Figura 1 é um diagrama que ilustra esquematicamente uma configuração de um aparelho de codificação de vídeo/imagem ao qual a presente revelação pode ser aplicada. Doravante, o aparelho de codificação de vídeo pode incluir um aparelho de codificação de imagem.
[036] Com referência à Figura 1, um aparelho de codificação de vídeo 100 pode incluir um particionador de imagem 105, um preditor 110, um processador residual 120, um codificador de entropia 130, um adicionador 140, um filtro 150 e uma memória 160. O processador residual 120 pode incluir um subtrator 121, um transformador 122, um quantizador 123, um rearranjador 124, um desquantizador 125, um transformador inverso 126.
[037] O particionador de imagem 105 pode particionar uma imagem de entrada em pelo menos uma unidade de processamento.
[038] A título de exemplo, uma unidade de processamento pode ser chamada de unidade de codificação (CU). Neste caso, a unidade de codificação pode ser dividida recursivamente da maior unidade de codificação (LCU) de acordo com uma estrutura de árvore binária de árvore quádrupla (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 quádrupla, uma estrutura de árvore binária e/ou uma estrutura de árvore ternária. Neste caso, por exemplo, a estrutura de árvore quádrupla pode ser aplicada primeiro, e a estrutura de árvore binária e a estrutura de árvore ternária podem ser aplicadas posteriormente. Alternativamente, a estrutura de árvore binária/estrutura de árvore ternária pode ser aplicada primeiro. Um procedimento de codificação de acordo com a presente revelação pode ser realizado com base na unidade de codificação final que não é dividida mais. Neste caso, uma unidade de codificação máxima pode ser usada como uma unidade de codificação final imediatamente com base na eficiência de codificação, de acordo com as características da imagem ou, se necessário, a unidade de codificação pode ser recursivamente dividida em unidades de codificação de uma profundidade mais profunda e uma unidade de codificação tendo um tamanho ideal pode ser usada como uma unidade de codificação final. No presente documento, o procedimento de codificação pode incluir um procedimento de predição, transformação e reconstrução, que será descrito posteriormente.
[039] Em outro exemplo, a unidade de processamento pode incluir uma unidade de predição (PU) de unidade de codificação (CU), ou uma unidade de transformação (TU). A unidade de codificação pode ser dividida da maior unidade de codificação (LCU) em unidades de codificação de uma profundidade maior, de acordo com a estrutura de árvore quádrupla. Neste caso, a maior unidade de codificação pode ser usada diretamente como a unidade de codificação final, com base na eficiência de codificação, ou semelhante, dependendo das características da imagem, ou a unidade de codificação pode ser recursivamente dividida em unidades de codificação de uma profundidade maior, conforme necessário e uma unidade de codificação com 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 não pode ser dividida em unidades de codificação menores do que a menor unidade de codificação. No presente documento, a unidade de codificação final refere-se a uma unidade de codificação que é particionada ou dividida em uma unidade de predição ou uma unidade de transformação. A unidade de predição é uma unidade que é particionada de uma unidade de codificação e pode ser uma unidade de predição de amostra. No presente documento, a unidade de predição pode ser dividida em sub-blocos. A unidade de transformação pode ser dividida da unidade de codificação de acordo com a estrutura de árvore quádrupla e pode ser uma unidade para derivar um coeficiente de transformação e/ou uma unidade para derivar um sinal residual do coeficiente de transformação. Doravante, a unidade de codificação pode ser referida como um bloco de codificação (CB), a unidade de predição pode ser referida como um bloco de predição (PB) e a unidade de transformação pode ser referida como um bloco de transformação (TB). O bloco de predição ou unidade de predição pode se referir a uma área específica na forma de um bloco em uma imagem e incluir uma matriz de amostras de predição. Além disso, o bloco de transformação ou unidade de transformação pode referir-se a uma área específica na forma de um bloco em uma imagem e incluir o coeficiente de transformação ou uma matriz de amostras residuais.
[040] O preditor 110 pode realizar predição em um bloco alvo de processamento (doravante, um bloco atual) e pode gerar um bloco predito incluindo 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 transformação ou pode ser um bloco de predição.
[041] O preditor 110 pode determinar se predição do tipo intra é aplicada ou predição do tipo inter é aplicada ao bloco atual. Por exemplo, o preditor 110 pode determinar se a predição do tipo intra ou a predição do tipo inter é aplicada na unidade de CU.
[042] No caso da predição do tipo intra, 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 imagem à qual o bloco atual pertence (a seguir, uma imagem atual). Neste 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 (caso (i)), ou pode derivar a amostra de predição com base em uma amostra de referência existente em uma direção específica (predição ) como para uma amostra de predição entre as amostras de referência vizinhas do bloco atual (caso (ii)). O caso (i) pode ser chamado de modo não direcional ou modo não angular, e o caso (ii) pode ser chamado de modo direcional ou modo angular. Na predição do tipo intra, 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 plano. O preditor 110 pode determinar o modo de predição a ser aplicado ao bloco atual usando o modo de predição aplicado ao bloco vizinho.
[043] No caso da predição do tipo inter, 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 imagem de referência. O preditor 110 pode derivar a amostra de predição para o bloco atual aplicando qualquer um de um modo dentre modo salto, um modo de fusão e um modo de predição de vetor de movimento (MVP). No caso do modo de salto e do modo de fusão, 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, ao contrário do modo de fusão, 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, portanto, é usado como um preditor de vetor de movimento do bloco atual para derivar um vetor de movimento do bloco atual.
[044] No caso da predição do tipo inter, o bloco vizinho pode incluir um bloco vizinho espacial existente na imagem atual e um bloco vizinho temporal existente na imagem de referência. A imagem de referência incluindo o bloco vizinho temporal Ainda mais, pode ser chamada de imagem colposicionada (colPic). As informações de movimento podem incluir o vetor de movimento e um índice de imagem de referência. Informações como informações de modo de predição e informações de movimento podem ser codificadas (entropia) e, em seguida, geradas como uma forma de fluxo de bits.
[045] Quando a informação de movimento de um bloco vizinho temporal é usada no modo de salto e no modo de fusão, uma imagem mais alta em uma lista de imagens de referência pode ser usada como uma imagem de referência. As imagens de referência incluídas na lista de imagens de referência podem ser alinhadas com base em uma diferença de contagem de ordem de imagem (POC) entre uma imagem atual e uma imagem de referência correspondente. Uma POC corresponde a uma ordem de exibição e pode ser discriminada de uma ordem de codificação.
[046] 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.
[047] O transformador 122 transforma amostras residuais em unidades de um bloco de transformação para gerar um coeficiente de transformação. O transformador 122 pode realizar transformação com base no tamanho de um bloco de transformação 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 transformação. Por exemplo, amostras residuais podem ser transformadas usando transformada discreta de seno (DST) núcleo de transformação se predição do tipo intra for aplicada ao bloco de codificação ou o bloco de predição se sobrepondo ao bloco de transformação e o bloco de transformação for uma matriz residual 4 × 4 e for transformado usando transformada discreta de cosseno (DCT) núcleo de transformação em outros casos.
[048] O quantizador 123 pode quantizar os coeficientes de transformação para gerar coeficientes de transformada quantizados.
[049] O rearranjador 124 reorganiza os coeficientes de transformada quantizados. O rearranjador 124 pode reorganizar os coeficientes de transformada quantizados na forma de um bloco em um vetor unidimensional através de um método de varredura de coeficiente. Embora o rearranjador 124 seja descrito como um componente separado, o rearranjador 124 pode ser uma parte do quantizador 123.
[050] O codificador de entropia 130 pode realizar a codificação de entropia nos coeficientes de transformada quantizados. A codificação de entropia pode incluir, por exemplo, métodos de codificação, como Golomb exponencial, codificação de comprimento variável adaptável ao contexto (CAVLC), codificação aritmética binária adaptativa ao contexto (CABAC) e semelhantes. O codificador de entropia 130 pode codificar informações necessárias para a reconstrução de vídeo diferente dos coeficientes de transformada quantizados (por exemplo, um valor de um elemento de sintaxe) juntos ou separadamente de acordo com a codificação de entropia ou um método predeterminado. A informação codificada pode ser transmitida ou armazenada em unidades de camada de abstração de rede (NAL) na forma de um fluxo de bits. O fluxo de bits pode ser transmitido por uma rede ou pode ser armazenado em um meio de armazenamento digital. A rede pode incluir uma rede de transmissão e/ou uma rede de comunicação e o meio de armazenamento digital pode incluir vários meios de armazenamento, como USB, SD, CD, DVD, Bluray, HDD, SSD e semelhantes.
[051] O desquantizador 125 desquantiza os valores (coeficientes de transformação) quantizados pelo quantizador 123 e o transformador inverso 126 transforma inversamente os valores desquantizados pelo desquantizador 125 para gerar uma amostra residual.
[052] O adicionador 140 adiciona uma amostra residual a uma amostra de predição para reconstruir uma imagem. 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. Enquanto isso, o adicionador 140 pode ser referido como um reconstrutor ou gerador de bloco reconstruído.
[053] O filtro 150 pode aplicar filtragem de desbloqueio e/ou um deslocamento adaptativo de amostra à imagem reconstruída. Artefatos em um limite de bloco na imagem reconstruída ou distorção na quantização podem ser corrigidos por meio de filtragem de desbloqueio e/ou deslocamento adaptativo de amostra. O deslocamento adaptativo da amostra pode ser aplicado em unidades de uma amostra após a filtragem de desbloqueio ser concluída. O filtro 150 pode aplicar um filtro de circuito adaptativo (ALF) à imagem reconstruída. O ALF pode ser aplicado à imagem reconstruída à qual foi aplicada filtragem de desbloqueio e/ou o deslocamento adaptativo da amostra.
[054] A memória 160 pode armazenar uma imagem reconstruída (imagem decodificada) ou informações necessárias para a codificação/decodificação. No presente documento, a imagem reconstruída pode ser a imagem reconstruída filtrada pelo filtro 150. A imagem reconstruída armazenada pode ser usada como uma imagem de referência para (inter) predição de outras imagens. Por exemplo, a memória 160 pode armazenar (referência) imagens usadas para predição do tipo inter. No presente documento, as imagens usadas para predição do tipo inter podem ser designadas de acordo com um conjunto de imagens de referência ou uma lista de imagens de referência.
[055] A Figura 2 é um diagrama que ilustra esquematicamente uma configuração de um aparelho de decodificação de vídeo/imagem ao qual a presente revelação pode ser aplicada. Doravante, o aparelho de decodificação de vídeo pode incluir um aparelho de decodificação de vídeo.
[056] Com referência à Figura 2, o aparelho de decodificação de vídeo 200 pode incluir um decodificador de entropia 210, um processador residual 220, um preditor 230, um adicionador 240, um filtro 250 e uma memória 260. O processador residual 220 pode incluir um rearranjador 221, um desquantizador 222, e um transformador inverso 223. Além disso, embora não seja mostrado, o aparelho de decodificação de vídeo 200 pode incluir um receptor que recebe um fluxo de bits incluindo informações de vídeo. O receptor pode ser configurado como um módulo separado ou pode ser incluído no decodificador de entropia 210.
[057] Quando um fluxo de bits incluindo informações de vídeo/imagem é inserido, o aparelho de decodificação de vídeo 200 pode reconstruir um vídeo/imagem/imagem de acordo com um processo no qual as informações de vídeo/imagem são processadas no aparelho de codificação de vídeo.
[058] Por exemplo, o aparelho de decodificação de vídeo 200 pode realizar a decodificação de vídeo usando uma unidade de processamento aplicada no aparelho de codificação de vídeo. Assim, um bloco de unidade de processamento de decodificação de vídeo pode ser, por exemplo, uma unidade de codificação e pode ser, em outro exemplo, uma unidade de codificação, uma unidade de predição ou uma unidade de transformação. A unidade de codificação pode ser dividida de acordo com uma estrutura de árvore quádrupla, uma estrutura de árvore binária e/ou uma estrutura de árvore ternária da maior unidade de codificação.
[059] Uma unidade de predição e uma unidade de transformação podem ser ainda utilizadas em alguns casos e, neste caso, o bloco de predição é um bloco derivado ou particionado da unidade de codificação e pode ser uma unidade de predição de amostra. No presente documento, a unidade de predição pode ser dividida em sub-blocos. A unidade de transformação pode ser dividida da unidade de codificação de acordo com a estrutura de árvore quádrupla e pode ser uma unidade que deriva um coeficiente de transformação ou uma unidade que deriva um sinal residual do coeficiente de transformação.
[060] O decodificador de entropia 210 pode analisar o fluxo de bits para a informação de saída necessária para a reconstrução de vídeo ou reconstrução de imagem. Por exemplo, o decodificador de entropia 210 pode decodificar informações no fluxo de bits com base em um método de codificação, como codificação exponencial de Golomb, CAVLC, CABAC ou semelhantes, e pode emitir um valor de um elemento de sintaxe necessário para a reconstrução de vídeo e um valor quantizado de um coeficiente de transformação em relação a um resíduo.
[061] Mais especificamente, um método de decodificação de entropia CABAC pode receber um binário correspondente a cada elemento de sintaxe em um fluxo de bits, determinar um modelo de contexto usando informações do elemento de sintaxe de destino de decodificação e informações de decodificação de blocos vizinhos e decodificação de blocos ou informações de amabol/binário decodificado em uma etapa anterior, preveja a probabilidade de geração de binários de acordo com o modelo de contexto determinado e execute a decodificação aritmética binária para gerar um símbolo correspondente a cada valor de elemento de sintaxe. No presente documento, o método de decodificação de entropia CABAC pode atualizar o modelo de contexto usando informações de um símbolo/binário decodificado para um modelo de contexto do próximo símbolo/binário após a determinação do modelo de contexto.
[062] As informações sobre a predição entre as informações decodificadas no decodificador de entropia 210 podem ser fornecidas ao preditor 250 e os valores residuais, isto é, coeficientes de transformada quantizados, nos quais a decodificação de entropia foi realizada pelo decodificador de entropia 210 podem ser introduzidos no rearranjador 221.
[063] O rearranjador 221 pode reorganizar os coeficientes de transformada quantizados em uma forma de bloco bidimensional. O rearranjador 221 pode realizar o rearranjo correspondente à varredura de coeficiente realizada pelo aparelho de codificação. Embora o rearranjador 221 seja descrito como um componente separado, o rearranjador 221 pode ser uma parte do desquantizador 222.
[064] O desquantizador 222 pode desquantizar os coeficientes de transformada quantizados com base em um parâmetro de (des) quantização para gerar um coeficiente de transformação. Neste caso, a formação para derivar um parâmetro de quantização pode ser sinalizada partir do aparelho de codificação.
[065] O transformador inverso 223 pode transformar inversamente os coeficientes de transformação para derivar amostras residuais.
[066] O preditor 230 pode realizar predição em um bloco atual e pode gerar um bloco predito incluindo amostras de predição para o bloco atual. Uma unidade de predição realizada no preditor 230 pode ser um bloco de codificação ou pode ser um bloco de transformação ou pode ser um bloco de predição.
[067] O preditor 230 pode determinar se deve aplicar predição do tipo intra ou predição do tipo inter com base nas informações sobre uma predição. Neste caso, uma unidade para determinar qual será usada entre a predição do tipo intra e a predição do tipo inter 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 Ainda mais, pode ser diferente na predição do tipo inter e predição do tipo intra. Por exemplo, qual das predições será aplicada entre a predição do tipo inter e a predição do tipo intra pode ser determinado em unidade de CU. Além disso, por exemplo, na predição do tipo inter, a amostra de predição pode ser gerada determinando o modo de predição em unidade de PU, e na predição do tipo intra, a amostra de predição pode ser gerada em unidade de TU determinando o modo de predição em unidade de PU.
[068] No caso da predição do tipo intra, o preditor 230 pode derivar uma amostra de predição para um bloco atual com base em uma amostra de referência vizinha em uma imagem atual. O preditor 230 pode derivar a amostra de predição para o bloco atual aplicando um modo direcional ou um modo não direcional com base na amostra de referência vizinha do bloco atual. Neste caso, um modo de predição a ser aplicado ao bloco atual pode ser determinado usando um modo de predição do tipo intra de um bloco vizinho.
[069] No caso de predição do tipo inter, o preditor 230 pode derivar uma amostra de predição para um bloco atual com base em uma amostra especificada em uma imagem de referência de acordo com um vetor de movimento. O preditor 230 pode derivar a amostra de predição para o bloco atual usando um dos modos saltar, o modo de fusão e o modo MVP. No presente documento, as informações de movimento necessárias para a predição do tipo inter do bloco atual fornecidas pelo aparelho de codificação de vídeo, por exemplo, um vetor de movimento e informações sobre um índice de imagem de referência podem ser adquiridas ou derivadas com base nas informações sobre a predição.
[070] No modo de salto e no modo de fusão, as informações de movimento de um bloco vizinho podem ser usadas como informações de movimento do bloco atual. No presente documento, o bloco vizinho pode incluir um bloco vizinho espacial e um bloco vizinho temporal.
[071] O preditor 230 pode construir uma lista de candidatos à fusão usando informações de movimento de blocos vizinhos disponíveis e usar informações indicadas por um índice de fusão na lista de candidatos à fusão como um vetor de movimento do bloco atual. O índice de fusão pode ser sinalizado pelo aparelho de codificação. As informações de movimento podem incluir um vetor de movimento e uma imagem de referência. Quando a informação de movimento de um bloco vizinho temporal é usada no modo de salto e no modo de fusão, uma imagem mais alta em uma lista de imagens de referência pode ser usada como uma imagem de referência.
[072] No caso do modo de salto, uma diferença (residual) entre uma amostra de predição e uma amostra original não é transmitida, diferentemente do modo de fusão.
[073] No caso do modo MVP, o vetor de movimento do bloco atual pode ser derivado usando um vetor de movimento de um bloco vizinho como um preditor de vetor de movimento. No presente documento, o bloco vizinho pode incluir um bloco vizinho espacial e um bloco vizinho temporal.
[074] Quando o modo de fusão é aplicado, por exemplo, uma lista de candidatos à fusão pode ser gerada usando um vetor de movimento de um bloco vizinho espacial reconstruído e/ou um vetor de movimento correspondendo a um bloco Col que é um bloco vizinho temporal. Um vetor de movimento de um bloco candidato selecionado da lista de candidatos à fusão é usado como o vetor de movimento do bloco atual no modo de fusão. As informações acima mencionadas sobre a predição podem incluir um índice de fusão indicando um bloco candidato com o melhor vetor de movimento selecionado a partir de blocos candidatos incluídos na lista de candidatos a fusão. No presente documento, o preditor 230 pode derivar o vetor de movimento do bloco atual usando o índice de fusão.
[075] 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 usando um vetor de movimento de um bloco vizinho espacial reconstruído e/ou um vetor de movimento correspondente a um bloco Col que é um bloco vizinho temporal. Isto é, o vetor de movimento do bloco vizinho espacial reconstruído e/ou o vetor de movimento correspondente ao bloco Col, que é o bloco vizinho temporal, podem ser usados como candidatos ao vetor de movimento. As informações acima mencionadas sobre a predição podem incluir um índice de vetor de movimento de predição indicando o melhor vetor de movimento selecionado de candidatos a vetores de movimento incluídos na lista. No presente documento, o preditor 230 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 usando o índice de vetor de movimento. O preditor do aparelho 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 na forma de um fluxo de bits. Ou seja, o MVD pode ser obtido subtraindo o preditor de vetor de movimento do vetor de movimento do bloco atual. No presente documento, o preditor 230 pode adquirir um vetor de movimento incluído nas informações de predição e derivar o vetor de movimento do bloco atual adicionando a diferença do vetor de movimento ao preditor de vetor de movimento. Além disso, o preditor pode obter ou derivar um índice de imagem de referência indicando uma imagem de referência a partir da informação acima mencionada na predição.
[076] O adicionador 240 pode adicionar uma amostra residual a uma amostra de predição para reconstruir um bloco atual ou uma imagem atual. O adicionador 240 pode reconstruir a imagem atual adicionando a amostra residual à amostra de predição em unidades de um bloco. Quando o modo de salto é aplicado, um residual não é transmitido e, portanto, a amostra de predição pode se tornar uma amostra reconstruída. Embora o adicionador 240 seja descrito como um componente separado, o adicionador 240 pode ser uma parte do preditor 230. Enquanto isso, o adicionador 240 pode ser referido como um reconstrutor ou gerador de bloco reconstruído.
[077] O filtro 250 pode aplicar filtragem de desbloqueio, deslocamento adaptativo de amostra e/ou ALF à imagem reconstruída. No presente documento, o deslocamento adaptativo da amostra pode ser aplicado em unidades de uma amostra após a filtragem de desbloqueio. O ALF pode ser aplicado após a filtragem de desbloqueio e/ou aplicação de deslocamento adaptativo da amostra
[078] A memória 260 pode armazenar uma imagem reconstruída (imagem decodificada) ou informações necessárias para a decodificação. No presente documento, a imagem reconstruída pode ser a imagem reconstruída filtrada pelo filtro 250. Por exemplo, a memória 260 pode armazenar imagens usadas para predição do tipo inter. No presente documento, as imagens usadas para predição do tipo inter podem ser designadas de acordo com um conjunto de imagens de referência ou uma lista de imagens de referência. Uma imagem reconstruída pode ser usada como imagem de referência para outras imagens. A memória 260 pode produzir imagens reconstruídas em uma ordem de saída.
[079] Enquanto isso, no caso de predição do tipo inter, foi proposto um método de predição do tipo inter considerando a distorção de uma imagem.
Especificamente, um modelo de movimento afim foi proposto para derivar de forma eficiente um vetor de movimento para sub-blocos ou pontos de amostra de um bloco atual e para aumentar a precisão da predição do tipo inter, apesar da deformação da rotação da imagem, ampliação ou redução. Ou seja, foi proposto um modelo de movimento afim que deriva um vetor de movimento para sub-blocos ou pontos de amostra de um bloco atual. A predição usando o modelo de movimento afim pode ser chamada de inter predição afim ou predição de movimento afim.
[080] Por exemplo, a predição do tipo inter afim usando o modelo de movimento afim pode expressar de forma eficiente quatro movimentos, ou seja, quatro deformações, conforme descrito abaixo.
[081] A Figura 3 ilustra um movimento expresso por meio do modelo de movimento afim. Com referência à Figura 3, um movimento que pode ser representado por meio do modelo de movimento afim pode incluir um movimento de translação, um movimento de dimensionamento, um movimento de rotação e um movimento de cisalhamento. Ou seja, um movimento de dimensionamento no qual uma (parte) da imagem é dimensionada de acordo com a passagem do tempo, um movimento de rotação em que uma (parte da) imagem é girada de acordo com a passagem do tempo e um movimento de cisalhamento no qual uma (porção) da imagem é paralelogramo deformada de acordo com a passagem do tempo, bem como o movimento de translação no qual uma (porção) da imagem é movida planarmente de acordo com a passagem do tempo ilustrada na Figura 3, podendo ser efetivamente representado como ilustrado na Figura 3.
[082] O aparelho de codificação/aparelho de decodificação pode prever uma forma de distorção da imagem com base nos vetores de movimento em pontos de controle (CPs) do bloco atual através da predição do tipo inter afim, o desempenho de compressão da imagem pode ser melhorado aumentando a precisão de predição. Além disso, uma vez que um vetor de movimento para pelo menos um ponto de controle do bloco atual pode ser derivado usando um vetor de movimento de um bloco vizinho do bloco atual, uma carga de uma quantidade de dados em informações adicionais pode ser reduzida e a eficiência de predição do tipo inter pode ser melhorada consideravelmente.
[083] Como um exemplo da predição do tipo inter afim, informações de movimento em três pontos de controle, ou seja, três pontos de referência, podem ser necessárias.
[084] A Figura 4 ilustra o modelo de movimento afim no qual são empregados vetores de movimento para três pontos de controle.
[085] Quando uma posição de amostra superior esquerda em um bloco atual 400 é (0, 0), as posições de amostra (0, 0), (w, 0) e (0, h) podem ser definidas como os pontos de controle como mostrado na Figura 4. Doravante, o ponto de controle da posição da amostra (0, 0) pode ser representado como um CP0, o ponto de controle da posição da amostra (w, 0) pode ser representado como um CP1 e o ponto de controle da posição da amostra (0, h) pode ser representado como um CP2.
[086] Uma equação para o modelo de movimento afim pode ser derivada usando os pontos de controle e os vetores de movimento dos pontos de controle correspondentes descritos acima. Uma equação para o modelo de movimento afim pode ser expressa como segue.
[087] Equação 1
Figure img0001
[088] No presente documento, w indica uma largura do bloco atual 400, h indica uma altura do bloco atual 400, v0x e v0y indicam um componente x e y do vetor de movimento do CP0, respectivamente, v1x e v1y indicam um componente x e um componente y do vetor de movimento do CP1, respectivamente, e v2x e v2y indicam um componente x e um componente y do vetor de movimento do CP2, respectivamente. Além disso, x indica um componente x de uma posição de uma amostra alvo no bloco atual 400, y indica um componente y da posição da amostra alvo no bloco atual 400, vx indica um componente x de um vetor de movimento do alvo amostra no bloco atual 400, e vy indica um componente y do vetor de movimento da amostra alvo no bloco atual 400.
[089] Uma vez que o vetor de movimento do CP0, o vetor de movimento do CP1 e o vetor de movimento do CP2 são conhecidos, um vetor de movimento com base na posição da amostra no bloco atual pode ser derivado com base na Equação 1. Isto é , de acordo com o modelo de movimento afim, os vetores de movimento v0(v0x, v0y), v1(v1x, v1y) e v2(v2x, v2y) nos pontos de controle podem ser dimensionados com base em uma razão de distância entre as coordenadas (x, y) da amostra alvo e os três pontos de controle para derivar os vetores de movimento da amostra alvo de acordo com a posição da amostra alvo. Isto é, de acordo com o modelo de movimento afim, um vetor de movimento de cada amostra no bloco atual pode ser derivado com base nos vetores de movimento dos pontos de controle. Entretanto, um conjunto de vetores de movimento de amostras no bloco atual derivado de acordo com o modelo de movimento afim pode ser referido como um campo de vetor de movimento afim (MVF).
[090] Entrementes, seis parâmetros para a Equação 1 podem ser representados por a, b, c, d, e e f conforme mostrado na Equação 1 abaixo, e uma equação para o modelo de movimento afim representado pelos seis parâmetros pode ser como se segue:
[091] Equação 2
Figure img0002
[092] No presente documento, w indica uma largura do bloco atual 400, h indica uma altura do bloco atual 400, v0x e v0y indicam o componente x do vetor de movimento do CP0, componentes y, v1x e v1y representam um componente x e um componente y do vetor de movimento do CP1, respectivamente, e v2x e v2y representam a componente x e um componente y do vetor de movimento do CP2, respectivamente. Além disso, x indica o componente x da posição da amostra alvo no bloco atual 400, y indica o componente y da posição da amostra alvo no bloco atual 400, vx indica o componente x do vetor de movimento do amostra alvo no bloco atual 400, vy indica o componente y do vetor de movimento da amostra alvo no bloco atual 400.
[093] O modelo de movimento afim ou a predição do tipo inter afim usando os seis parâmetros pode ser referido como um modelo de movimento afim de 6 parâmetros ou AF6.
[094] Além disso, como um exemplo da predição do tipo inter afim, podem ser necessárias informações de movimento em dois pontos de controle, ou seja, dois pontos de referência.
[095] A Figura 5 ilustra o modelo de movimento afim no qual vetores de movimento para dois pontos de controle são usados. O modelo de movimento afim usando dois pontos de controle pode representar três movimentos, incluindo um movimento de translação, um movimento de dimensionamento e um movimento de rotação. O modelo de movimento afim que representa os três movimentos pode ser referido como um modelo de movimento afim de similaridade ou um modelo de movimento afim simplificado.
[096] Quando uma posição de amostra superior esquerda em um bloco atual 500 é (0, 0), as posições de amostra (0, 0) e (w, 0) podem ser definidas como os pontos de controle como mostrado na Figura 5. Doravante, o ponto de controle da posição da amostra (0, 0) pode ser representado como o CP0 e o ponto de controle da posição da amostra (w, 0) pode ser representado como o CP1.
[097] Uma equação para o modelo de movimento afim pode ser derivada usando os pontos de controle e os vetores de movimento dos pontos de controle correspondentes descritos acima. Uma equação para o modelo de movimento afim pode ser expressa como segue.
[098] Equação 3
Figure img0003
[099] No presente documento, w indica uma largura do bloco atual 500, v0x e v0y indicam componentes x e y do vetor de movimento do CP0, respectivamente, e v1x e v1y indicam componentes x e y do vetor de movimento do CP1. Além disso, x indica um componente x de uma posição de uma amostra alvo no bloco atual 500, y indica um componente y da posição da amostra alvo no bloco atual 500, vx indica um componente x do vetor de movimento do alvo amostra no bloco atual 500, e vy indica um componente y do vetor de movimento da amostra alvo no bloco atual 500.
[0100] Entretanto, quatro parâmetros da Equação 3 podem ser representados por a, b, c e d como na Equação a seguir, e uma equação para o modelo de movimento afim representado pelos quatro parâmetros pode ser a seguinte.:
[0101] Equação 4
Figure img0004
[0102] No presente documento, w indica uma largura do bloco atual 500, v0x e v0y indicam componentes x e y do vetor de movimento do CP0, respectivamente, e v1x e v1y indicam componentes x e y do vetor de movimento do CP1, respectivamente. Além disso, x indica um componente x de uma posição de uma amostra alvo no bloco atual 500, y indica um componente y da posição da amostra alvo no bloco atual 500, vx indica um componente x do vetor de movimento do alvo amostra no bloco atual 500 e vy indica um componente y do vetor de movimento da amostra alvo no bloco atual 500. O modelo de movimento afim usando os dois pontos de controle pode ser representado por quatro parâmetros a, b, c e d como mostrado na Equação 4 e, portanto, o modelo de movimento afim usando os quatro parâmetros ou a predição inter afim pode ser referido como um modelo de movimento afim de 4 parâmetros ou AF4. Ou seja, de acordo com o modelo de movimento afim, um vetor de movimento de cada amostra no bloco atual pode ser derivado com base nos vetores de movimento dos pontos de controle. Enquanto isso, um conjunto de vetores de movimento das amostras no bloco atual derivado de acordo com o modelo de movimento afim pode ser referido como um campo de vetor de movimento afim (MVF).
[0103] Entretanto, como descrito acima, um vetor de movimento de uma unidade de amostra pode ser derivado por meio do modelo de movimento afim e, assim, a precisão da predição do tipo inter pode ser significativamente melhorada. Neste caso, no entanto, a complexidade no processo de compensação de movimento pode ser significativamente aumentada.
[0104] Por conseguinte, isso pode ser limitado de modo que um vetor de movimento de uma unidade de sub-bloco do bloco atual, em vez de derivar um vetor de movimento da unidade de amostra, seja derivado.
[0105] A Figura 6 ilustra um método para derivar um vetor de movimento em uma base de sub-bloco com base no modelo de movimento afim. A Figura 6 ilustra um caso em que o tamanho do bloco atual é 16 × 16 e um vetor de movimento é derivado em unidades de 4 × 4 sub-blocos. O sub-bloco pode ser configurado para vários tamanhos. Por exemplo, quando o sub-bloco é definido como tamanho n × n (n é um número inteiro positivo, por exemplo, n é 4), um vetor de movimento pode ser derivado em unidades de n × n sub-blocos no bloco atual, com base no afim modelo de movimento e vários métodos para derivar um vetor de movimento que representa cada sub-bloco podem ser aplicados.
[0106] Por exemplo, referindo-se à Figura 6, um vetor de movimento de cada sub-bloco pode ser derivado usando a posição de amostra do centro ou do lado direito inferior de cada sub-bloco como uma coordenada representativa. No presente documento, a posição inferior direita central pode indicar uma posição de amostra posicionada no lado direito inferior entre quatro amostras posicionadas no centro do sub-bloco. Por exemplo, quando n é um número ímpar, uma amostra pode ser posicionada no centro do sub-bloco e, neste caso, a posição da amostra central pode ser usada para derivar o vetor de movimento do sub-bloco. No entanto, quando n é um número par, quatro amostras podem ser posicionadas para serem adjacentes ao centro do sub-bloco e, neste caso, a posição da amostra inferior direita pode ser usada para derivar um vetor de movimento. Por exemplo, referindose à Figura 6, as coordenadas representativas de cada sub-bloco podem ser derivadas como (2, 2), (6, 2), (10, 2), ..., (14, 14) e o aparelho de codificação/aparelho de decodificação pode derivar o vetor de movimento de cada sub-bloco, substituindo cada uma das coordenadas representativas dos sub-blocos na Equação 1 ou 3 descritas acima. Os vetores de movimento dos sub-blocos no bloco atual derivados do modelo de movimento afim podem ser referidos como MVF afim.
[0107] Enquanto isso, a título de exemplo, o tamanho do sub-bloco no bloco atual pode ser derivado com base na seguinte equação:
[0108] Equação 5
Figure img0005
[0109] No presente documento, M indica a largura do sub-bloco e N indica a altura do sub-bloco. Além disso, v0x e v0y indicam um componente x e um componente y de um CPMV0 do bloco atual, v1x e v1y indicam um componente x e um componente y de um CPMV1 do bloco atual, w indica uma largura do bloco atual, h indica uma altura do bloco atual e MvPre indica uma precisão de fração do vetor de movimento. Por exemplo, a precisão da fração do vetor de movimento pode ser definida para 1/16.
[0110] Entretanto, na predição do tipo inter usando o modelo de movimento afim descrito acima, isto é, a predição de movimento afim, pode ter um modo de fusão afim AF_MERGE e um modo inter afim AF_INTER. No presente documento, o modo inter afim pode ser referido como um modo MVP afim AF_MVP.
[0111] O modo de fusão afim é semelhante a um modo de fusão existente em que MVD para o vetor de movimento dos pontos de controle não é transmitido. Isto é, de forma semelhante ao modo de saltar/mesclar existente, o modo de fusão afim pode referir-se a um método de codificação/decodificação de realização de predição derivando um CPMV para cada um de dois ou três pontos de controle de um bloco vizinho do bloco atual.
[0112] Por exemplo, quando o modo AF_MRG é aplicado ao bloco atual, MVs (ou seja, CPMV0 e CPMV1) para o CP0 e o CP1 podem ser derivados do bloco vizinho ao qual o modo afim é aplicado entre os blocos vizinhos de o bloco atual. Ou seja, o CPMV0 e o CPMV1 do bloco vizinho ao qual o modo afim é aplicado podem ser derivados como candidatos à fusão e os candidatos à fusão podem ser derivados como o CPMV0 e o CPMV1 para o bloco atual.
[0113] O modo inter afim pode representar predição inter de realização de predição com base em um preditor de vetor de movimento afim (MVP) derivando um MVP para um vetor de movimento dos pontos de controle, conduzindo um vetor de movimento dos pontos de controle com base em uma diferença do vetor de movimento (MOD) e o MVP, e conduzindo um MVF afim do bloco atual com base no vetor de movimento dos pontos de controle. No presente documento, o vetor de movimento do ponto de controle pode ser representado como um vetor de movimento de ponto de controle (CPMV), o MVP do ponto de controle pode ser representado como um preditor de vetor de movimento de ponto de controle (CPMVP) e o MVD do ponto de controle pode ser representado como uma diferença de vetor de movimento de ponto de controle (CPMVD). Especificamente, por exemplo, o aparelho de codificação pode derivar um preditor de vetor de movimento de ponto de controle (CPMVP) e um vetor de movimento de ponto de controle (CPMV) para cada um dos CP0 e CP1 (ou CP0, CP1 e CP2) e transmitir ou armazenar informações no CPMVP e/ou no CPMVD, que é uma diferença entre CPMVP e CPMV.
[0114] No presente documento, quando o modo inter afim é aplicado ao bloco atual, o aparelho de codificação/aparelho de decodificação pode construir uma lista de candidatos MVP afim com base em um bloco vizinho do bloco atual, o candidato MVP afim pode ser referido como um candidato de par CPMVP e a lista de candidatos MVP afim pode ser referida como uma lista de candidatos CPMVP.
[0115] Além disso, cada um dos candidatos MVP afins pode se referir a uma combinação de CPMVPs de CP0 e CP1 em um modelo de movimento afim de 4 parâmetros e pode se referir a uma combinação de CPMVPs de CP0, CP1 e CP2 em um modelo de movimento afim de 6 parâmetros.
[0116] A Figura 7 é um fluxograma que ilustra um método de predição de movimento afim, de acordo com uma modalidade da presente revelação.
[0117] Com referência à Figura 7, o método de predição de movimento afim pode ser representado como segue. Quando o método de predição de movimento afim começa, primeiro, um par CPMV pode ser obtido (S700). No presente documento, o par CPMV pode incluir CPMV0 e CPMV1 ao usar o modelo afim de 4 parâmetros.
[0118] Posteriormente, a compensação de movimento afim pode ser realizada com base no par CPMV (S710) e a predição de movimento afim pode ser encerrada.
[0119] Além disso, podem existir dois modos de predição afins para determinar o CPMV0 e o CPMV1. No presente documento, os dois modos de predição afim podem incluir um modo inter afim e um modo de fusão afim. No modo inter afim, o CPMV0 e o CPMV1 podem ser claramente determinados pela sinalização de duas informações de diferença de vetor de movimento (MVD) para o CPMV0 e o CPMV1. Enquanto isso, no modo de fusão afim, um par CPMV pode ser derivado sem sinalização de informação MVD.
[0120] Em outras palavras, no modo de fusão afim, o CPMV do bloco atual pode ser derivado usando o CPMV do bloco vizinho codificado no modo afim, e no caso de determinar o vetor de movimento em unidades de sub-blocos, o modo de fusão afim pode ser referido como um modo de fusão de sub-bloco.
[0121] No modo de fusão afim, o aparelho de codificação pode sinalizar, para o aparelho de decodificação, um índice de um bloco vizinho codificado no modo afim para derivar o CPMV do bloco atual e pode ainda sinalizar um valor de diferença entre o CPMV de o bloco vizinho e o CPMV do bloco atual. No presente documento, no modo de fusão afim, uma lista de candidatos à fusão afins pode ser construída com base em um bloco vizinho e um índice do bloco vizinho pode representar um bloco vizinho a ser referido para derivar o CPMV do bloco atual na fusão afim lista de candidatos. A lista de candidatos à fusão afins pode ser referida como uma lista de candidatos à fusão de sub-bloco.
[0122] O modo inter afim pode ser referido como um modo MVP afim. No modo MVP afim, o CPMV do bloco atual pode ser derivado com base em um preditor de vetor de movimento de ponto de controle (CPMVP) e uma diferença de vetor de movimento de ponto de controle (CPMVD). Em outras palavras, o aparelho de codificação pode determinar o CPMVP para o CPMV do bloco atual, derivar um CPMVD que é uma diferença entre o CPMV do bloco atual e o CPMVP, e as informações de sinal no CPMVP e as informações no CPMVD para o aparelho de decodificação. No presente documento, o modo MVP afim pode construir uma lista de candidatos MVP afins com base no bloco vizinho e as informações no CPMVP podem representar um bloco vizinho a ser referido para derivar o CPMVP para o CPMV do bloco atual no candidato MVP afim Lista. A lista de candidatos MVP afins pode ser referida como uma lista de candidatos de preditor de vetor de movimento de ponto de controle.
[0123] Entretanto, por exemplo, quando o modo de fusão afim é aplicado ao bloco atual, o bloco atual pode ser codificado conforme descrito abaixo.
[0124] O aparelho de codificação/aparelho de decodificação pode construir uma lista de candidatos à fusão afins incluindo os candidatos à fusão afins para o bloco atual e derivar CPMVs para os CPs do bloco atual, com base em um dos candidatos à fusão afins da lista de candidatos à fusão afins. O aparelho de codificação/aparelho de decodificação pode derivar amostras de predição para o bloco atual com base nos CPMVs e gerar uma imagem reconstruída para o bloco atual com base nas amostras de predição derivadas.
[0125] Especificamente, a lista de candidatos à fusão afins pode ser construída da seguinte forma.
[0126] A Figura 8 mostra um exemplo de construção de uma lista de candidatos à fusão afins de um bloco atual.
[0127] Com referência à Figura 8, o aparelho de codificação/aparelho de decodificação pode adicionar um candidato afim herdado à lista de candidatos à fusão afins (S800).
[0128] Em detalhes, o aparelho de codificação/aparelho de decodificação pode derivar o candidato afim herdado com base nos blocos vizinhos do bloco atual. No presente documento, os blocos vizinhos podem incluir um bloco vizinho de canto esquerdo inferior A0, um bloco vizinho esquerdo A1, um bloco vizinho superior B0, um bloco vizinho de canto superior direito B1 e um bloco vizinho de canto superior esquerdo B2 do bloco atual.
[0129] A Figura 9 ilustra blocos vizinhos do bloco atual para derivar o candidato afim herdado. Com referência à Figura 9, os blocos vizinhos do bloco atual incluem um bloco vizinho de canto esquerdo inferior A0 do bloco atual, um bloco vizinho esquerdo A1 do bloco atual, um bloco vizinho superior B0 do bloco atual, um bloco vizinho de canto superior direito B1 do bloco atual e um canto superior esquerdo vizinho ao bloco B2 do bloco atual.
[0130] Por exemplo, quando o tamanho do bloco atual é W x H e um componente x de uma posição de amostra superior esquerda do bloco atual é 0 e um componente y é 0, o bloco vizinho esquerdo pode ser um bloco incluindo um amostra de coordenadas (-1, H-1), o bloco vizinho superior pode ser um bloco incluindo uma amostra de coordenadas (W-1, -1), o bloco vizinho de canto superior direito pode ser um bloco incluindo uma amostra de coordenadas de (W, -1), o bloco vizinho de canto esquerdo inferior pode ser um bloco incluindo uma amostra de coordenadas (-1, H), e o vizinho de canto superior esquerdo pode ser um bloco incluindo uma amostra de coordenadas (-1, -1 )
[0131] O candidato afim herdado pode ser derivado com base em um bloco reconstruído periférico eficaz codificado no modo afim. Por exemplo, o aparelho de codificação/aparelho de decodificação pode verificar sequencialmente os blocos vizinhos A0, A1, B0, B1 e B2, e se os blocos vizinhos são codificados no modo afim (ou seja, se os blocos vizinhos são blocos vizinhos efetivamente reconstruídos usando um modelo de movimento afim), o aparelho de codificação/aparelho de decodificação pode derivar dois CPMVs ou três CPMVs para o bloco atual com base no modelo de movimento afim dos blocos vizinhos e os CPMVs podem ser derivados como candidatos afins herdados do bloco atual. Por exemplo, um máximo de cinco candidatos afins herdados podem ser adicionados à lista de candidatos afins. Ou seja, até cinco candidatos afins herdados podem ser derivados com base nos blocos vizinhos.
[0132] Posteriormente, o aparelho de codificação/aparelho de decodificação pode adicionar o candidato afim construído à lista de candidatos à fusão afins (S810).
[0133] Por exemplo, quando o número de candidatos afins na lista de candidatos afins é menor que cinco, o candidato afim construído pode ser adicionado à lista de candidatos afins. O candidato afim construído pode representar um candidato afim gerado pela combinação de informações de movimento periférico (isto é, um vetor de movimento e um índice de imagem de referência) de cada um dos CPs do bloco atual. A informação de movimento para cada CP pode ser derivada com base em um bloco vizinho espacial ou um bloco vizinho temporal para o CP correspondente. As informações de movimento para cada um dos CPs podem ser representadas como um vetor de movimento candidato para o CP corresponde.
[0134] A Figura 10 ilustra blocos vizinhos do bloco atual para derivar o candidato afim construído.
[0135] Com referência à Figura 10, os blocos vizinhos podem incluir blocos vizinhos espaciais e blocos vizinhos temporais. Os blocos vizinhos espaciais podem incluir um bloco vizinho A0, um bloco vizinho A1, um bloco vizinho A2, um bloco vizinho B0, um bloco vizinho B1, um bloco vizinho B2 e um bloco vizinho B3. Um bloco vizinho T mostrado na Figura 10 pode representar o bloco vizinho temporal.
[0136] No presente documento, o bloco vizinho B2 pode representar um bloco vizinho posicionado em uma extremidade superior esquerda da posição de amostra superior esquerda do bloco atual, o bloco vizinho B3 pode representar um bloco vizinho posicionado no topo da posição de amostra superior esquerda do bloco atual, o bloco vizinho A2 pode representar um bloco vizinho posicionado na extremidade esquerda da posição de amostra superior esquerda do bloco atual. Além disso, o bloco vizinho B1 pode representar um bloco vizinho posicionado no topo da posição de amostra superior direita do bloco atual e o bloco vizinho B0 pode representar um bloco vizinho posicionado na extremidade superior direita da posição de amostra superior direita de o bloco atual. Além disso, o bloco vizinho A1 pode representar um bloco vizinho posicionado na extremidade esquerda da posição de amostra inferior esquerda do bloco atual, e o bloco vizinho A0 pode representar um bloco vizinho posicionado na extremidade esquerda inferior da posição de amostra inferior esquerda de o bloco atual.
[0137] Além disso, com referência à Figura 10, os CPs do bloco atual podem incluir CP1, CP2, CP3 e/ou CP4. O CP1 pode representar a posição superior esquerda do bloco atual, o CP2 pode representar a posição superior direita do bloco atual, o CP3 pode representar a posição inferior esquerda do bloco atual, e o CP4 pode representar a posição inferior direita do bloco atual. Por exemplo, quando o tamanho do bloco atual é W H e um componente x da posição da amostra superior esquerda do bloco atual é 0 e um componente y é 0, o CP1 pode representar uma posição das coordenadas (0, 0), o CP2 pode representar uma posição de coordenadas (W, 0), o CP3 pode representar uma posição de coordenadas (0, H) e o CP4 pode representar uma posição de coordenadas (W, H). Enquanto isso, o CP1 ilustrado na Figura 10 pode representar o CP0 descrito acima, o CP2 ilustrado na Figura 10 pode representar o CP1 descrito acima e o CP3 ilustrado na Figura 10 pode representar o CP2 descrito acima.
[0138] Um vetor de movimento candidato para cada um dos CPs acima mencionados pode ser derivado como segue.
[0139] Por exemplo, o aparelho de codificação/aparelho de decodificação pode verificar se os blocos vizinhos em um primeiro grupo estão disponíveis de acordo com uma primeira ordem e derivar um vetor de movimento de um bloco vizinho disponível primeiro identificado no processo de verificação como um vetor de movimento candidato para o CP1. Ou seja, o vetor de movimento candidato para o CP1 pode ser um vetor de movimento do bloco vizinho disponível primeiro identificado verificando os blocos vizinhos no primeiro grupo na primeira ordem. A disponibilidade pode indicar que existe um vetor de movimento do bloco vizinho. Ou seja, o bloco vizinho disponível pode ser um bloco codificado por predição do tipo inter (ou seja, um bloco ao qual predição do tipo inter é aplicada). No presente documento, por exemplo, o primeiro grupo pode incluir o bloco vizinho B2, o bloco vizinho B3 e o bloco vizinho A2. A primeira ordem pode ser uma ordem do bloco vizinho B2 no primeiro grupo para o bloco vizinho B3 e o bloco vizinho A2. Por exemplo, quando o bloco vizinho B2 está disponível, o vetor de movimento do bloco vizinho B2 pode ser derivado como um vetor de movimento candidato para o CP1. Quando o bloco vizinho B2 não está disponível e o bloco vizinho B3 está disponível, o vetor de movimento do bloco vizinho B3 pode ser derivado como um vetor de movimento candidato para o CP1. Quando o bloco vizinho B2 e o bloco vizinho B3 não estão disponíveis e o bloco vizinho A2 está disponível, o vetor de movimento do bloco vizinho A2 pode ser derivado como um vetor de movimento candidato para o CP1.
[0140] Além disso, por exemplo, o aparelho de codificação/aparelho de decodificação pode verificar se os blocos vizinhos em um segundo grupo estão disponíveis de acordo com uma segunda ordem e derivar um vetor de movimento de um bloco vizinho disponível primeiro identificado no processo de verificação como um vetor de movimento candidato para o CP2. Ou seja, o vetor de movimento candidato para o CP2 pode ser um vetor de movimento do bloco vizinho disponível primeiro identificado, verificando os blocos vizinhos no segundo grupo na segunda ordem. A disponibilidade pode indicar que existe um vetor de movimento do bloco vizinho. Ou seja, o bloco vizinho disponível pode ser um bloco codificado por predição do tipo inter (ou seja, um bloco ao qual predição do tipo inter é aplicada). No presente documento, o segundo grupo pode incluir o bloco vizinho B1 e o bloco vizinho B0. A segunda ordem pode ser uma ordem do bloco vizinho B1 no segundo grupo para o bloco vizinho B0. Por exemplo, quando o bloco vizinho B1 está disponível, o vetor de movimento do bloco vizinho B1 pode ser derivado como um vetor de movimento candidato para o CP2. Quando o bloco vizinho B1 não está disponível e o bloco vizinho B0 está disponível, o vetor de movimento do bloco vizinho B0 pode ser derivado como um vetor de movimento candidato para o CP2.
[0141] Além disso, por exemplo, o aparelho de codificação/aparelho de decodificação pode verificar se os blocos vizinhos em um terceiro grupo estão disponíveis de acordo com a terceira ordem e derivar um vetor de movimento de um bloco vizinho disponível primeiro identificado no processo de verificação como um candidato vetor de movimento para o CP3. Ou seja, o vetor de movimento candidato para o CP3 pode ser um vetor de movimento do bloco vizinho disponível primeiro identificado verificando os blocos vizinhos no terceiro grupo na terceira ordem. A disponibilidade pode indicar que existe um vetor de movimento do bloco vizinho. Ou seja, o bloco vizinho disponível pode ser um bloco codificado por predição do tipo inter (ou seja, um bloco ao qual predição do tipo inter é aplicada). No presente documento, o terceiro grupo pode incluir o bloco vizinho A1 e o bloco vizinho A0. A terceira ordem pode ser uma ordem do bloco vizinho A1 no terceiro grupo para o bloco vizinho A0. Por exemplo, quando o bloco vizinho A1 está disponível, o vetor de movimento do bloco vizinho A1 pode ser derivado como um vetor de movimento candidato para o CP3. Quando o bloco vizinho A1 não está disponível e o bloco vizinho A0 está disponível, o vetor de movimento do bloco vizinho A0 pode ser derivado como um vetor de movimento candidato para o CP3.
[0142] Além disso, por exemplo, o aparelho de codificação/aparelho de decodificação pode verificar se o bloco vizinho temporal (ou seja, o bloco vizinho T) está disponível, e quando o bloco vizinho temporal (ou seja, o bloco vizinho T) está disponível, o aparelho de codificação/aparelho de decodificação pode derivar um vetor de movimento do bloco vizinho temporal (isto é, o bloco vizinho T) como um vetor de movimento candidato para o CP4.
[0143] Uma combinação do vetor de movimento candidato para o CP1, o vetor de movimento candidato para o CP2, o vetor de movimento candidato para o CP3 e/ou o vetor de movimento candidato para o CP4 pode ser derivada como um candidato afim construído.
[0144] Por exemplo, conforme descrito acima, os seis modelos afins requerem vetores de movimento de três CPs. Podem ser selecionados três CPs entre o CP1, o CP2, o CP3 e o CP4 para os seis modelos afins. Por exemplo, os CPs podem ser selecionados de um de {CP1, CP2, CP4}, {CP1, CP2, CP3}, {CP2, CP3, CP4} e {CP1, CP3, CP4}. Por exemplo, os seis modelos afins podem ser configurados usando CP1, CP2 e CP3. Neste caso, os CPs podem ser referidos como {CP1, CP2, CP3}.
[0145] Além disso, por exemplo, conforme descrito acima, os 4 modelos afins requerem vetores de movimento de dois CPs. Podem ser selecionados dois CPs entre o CP1, o CP2, o CP3 e o CP4 para os quatro modelos afins. Por exemplo, os CPs podem ser selecionados de um de {CP1, CP4}, {CP2, CP3}, {CP1, CP2}, {CP2, CP4}, {CP1, CP3} e {CP3, CP4}. Por exemplo, os quatro modelos afins podem ser configurados usando CP1 e CP2. Neste caso, os CPs podem ser referidos como {CP1, CP2}.
[0146] Um candidato afim construído, que é uma combinação de vetores de movimento candidatos, pode ser adicionado à lista de candidatos à fusão afins na seguinte ordem. Isto é, depois que os vetores de movimento candidatos para os CPs são derivados, os candidatos afins construídos podem ser derivados na seguinte ordem:
[0147] {CP1, CP2, CP3}, {CP1, CP2, CP4}, {CP1, CP3, CP4}, {CP2, CP3, CP4}, {CP1, CP2}, {CP1, CP3}, {CP2, CP3}, {CP1, CP4}, {CP2, CP4}, {CP3, CP4}
[0148] Isto é, por exemplo, um candidato afim construído incluindo o vetor de movimento candidato para CP1, o vetor de movimento candidato para CP2, o vetor de movimento candidato para CP3, um candidato afim construído incluindo o vetor de movimento candidato para o CP1, o candidato vetor de movimento para o CP2 e o vetor de movimento candidato para o CP4, um candidato afim construído incluindo o vetor de movimento candidato para o CP1, o vetor de movimento candidato para o CP3 e o vetor de movimento candidato para o CP4, um candidato afim construído incluindo o vetor de movimento candidato para o CP2, o vetor de movimento candidato para o para CP3 e o vetor de movimento candidato para o CP4, um candidato afim construído incluindo o vetor de movimento candidato para o CP1 e o vetor de movimento candidato para o CP2, um afim construído candidato incluindo o vetor de movimento candidato para o CP1 e o vetor de movimento candidato para o CP3, um candidato afim construído incluindo o vetor de movimento candidato para o CP2 e o vetor de movimento candidato para o CP3, um candidato afim construído incluindo o vetor de movimento candidato para o CP1 e o vetor de movimento candidato para o CP4, um candidato afim construído incluindo o vetor de movimento candidato para o CP2 e o candidato vetor de movimento para o CP4, e um candidato afim construído incluindo o vetor de movimento candidato para o CP3 e o vetor de movimento candidato para o CP4 podem ser adicionados à lista de candidatos à fusão afins nesta ordem.
[0149] Depois disso, o aparelho de codificação/aparelho de decodificação pode adicionar 0 vetores de movimento como um candidato afim à lista de candidatos à fusão de afiliação (S820).
[0150] Por exemplo, se o número de candidatos afins na lista de candidatos afins for menor que cinco, um candidato afim incluindo 0 vetores de movimento pode ser adicionado à lista de candidatos afins até que a lista de candidatos afins inclua um número máximo de candidatos afins. O número máximo de candidatos afins pode ser 5. Além disso, o vetor de movimento 0 pode representar um vetor de movimento com um valor de vetor 0.
[0151] Entretanto, conforme descrito acima, a lista de candidatos à fusão afins pode ser construída, e um cálculo para construir a lista de candidatos à fusão afins pode ser mostrado na tabela a seguir.
[0152] Tabela 1
Figure img0006
Figure img0007
[0153] A Tabela 1 pode mostrar um cálculo para uma modalidade existente de derivação de uma lista de candidatos à fusão afim. Referindo-se à Tabela 1, o número de parâmetros do modelo de movimento afim é 6 (ou seja, seis modelos de movimento afim), o número de candidatos afins é 5, um número máximo de candidatos afins herdados é 5 e um número máximo de afins construídos os candidatos podem ser 10. Nesse caso, o processo de dimensionamento o vetor de movimento pode ser executado até 22 vezes e um processo de verificação de supressão pode ser executado até 50 vezes. Entretanto, o processo de verificação de supressão pode representar um processo de detecção eliminando se um candidato afim é o mesmo que um candidato afim já derivado e adicionando-o à lista de candidatos à fusão afins apenas quando não for o mesmo.
[0154] Um processo de dimensionamento um vetor de movimento no processo de derivação de um candidato afim pode ser mostrado na tabela a seguir.
[0155] Tabela 2
Figure img0008
Figure img0009
[0156] Com referência à Tabela 2, o número de processos para dimensionar um vetor de movimento no processo de derivar um candidato afim pode ser derivado.
[0157] Além disso, os processos de comparação e divisão de acordo com o processo de dimensionamento e o processo de supressão podem ser mostrados na tabela a seguir.
[0158] Tabela 3
Figure img0010
[0159] Com referência à Tabela 3, o número de processos de comparação e o número de processos de comparação e processos de divisão de acordo com o processo de dimensionamento e o número de processos de supressão e o número de processos de comparação e o número de processos de divisão de acordo com o processo de supressão podem ser derivados.
[0160] Além disso, o número de cálculos de comparação no caso de comparação de dois candidatos afins pode aparecer como mostrado na tabela a seguir.
[0161] Tabela 4
Figure img0011
[0162] Referindo-se à Tabela 4, o número de cálculos para comparar dois candidatos afins para seis modelos de movimento afins pode ser derivado como quatorze vezes.
[0163] O número de processos de supressão e processos de dimensionamento pode indicar a complexidade do cálculo. Ou seja, na modalidade existente de derivar a lista de candidatos à fusão de afins descrita acima, um grande número de processos de comparação e divisão pode ser realizado como mostrado na Tabela 3, e a complexidade de cálculo pode ser alta. Portanto, um esforço para reduzir o número de processos de supressão e processos de dimensionamento é necessário e, assim, a presente revelação propõe modalidades para reduzir o número de processos de supressão e processos de dimensionamento e reduzir a complexidade do cálculo.
[0164] Por exemplo, um método para limitar um número máximo de candidatos afins herdados a 1 pode ser proposto. Ou seja, a lista de candidatos afins pode incluir candidatos afins herdados e um número máximo de candidatos afins herdados pode ser 1 (maxInheritedCandNum = 1).
[0165] Por exemplo, blocos vizinhos podem ser verificados sequencialmente e um candidato afim herdado pode ser derivado com base no modelo de movimento afim do primeiro bloco afim identificado. Depois disso, o processo de derivar o candidato afim herdado não é realizado e, assim, o número de operações de comparação descritas acima pode ser reduzido e a complexidade do cálculo para construir a lista de candidatos afins pode ser reduzida.
[0166] Na presente modalidade, o cálculo para construir a lista de candidatos à fusão afins pode ser mostrado como a tabela a seguir.
[0167] Tabela 5
Figure img0012
Figure img0013
[0168] Com referência à Tabela 5, o número máximo de candidatos afins herdados pode ser 1 e, por meio disso, um número máximo de processos de supressão para a configuração do candidato pode ser derivado de 34 vezes. Ou seja, o número de processos de supressão pode ser reduzido em comparação ao caso em que o número máximo de candidatos afins herdados é 5.
[0169] Além disso, os processos de comparação e divisão de acordo com o processo de dimensionamento e processo de supressão na presente modalidade podem ser mostrados na tabela a seguir.
[0170] Tabela 6
Figure img0014
[0171] Com referência à Tabela 6, o número de processos de comparação e o número de processos de comparação e processos de divisão de acordo com o processo de dimensionamento e o número de processos de supressão e o número de processos de comparação e processos de divisão de acordo com o processo de supressão podem ser derivados. Com referência à Tabela 6, o número máximo de processos de supressão para a configuração candidata de acordo com a presente modalidade pode ser de 34 vezes e o número de processos de comparação de acordo com o processo de supressão pode ser derivado de 476 vezes. Portanto, de acordo com a presente modalidade, o número de processos de comparação de acordo com o processo de supressão pode ser reduzido em comparação com o caso existente em que o número máximo de candidatos afins herdados é 5.
[0172] Em outro exemplo, pode ser proposto um método para limitar o número máximo de candidatos afins herdados a 2 (maxInheritedCandNum = 2) e usar uma ordem de varredura da derivação do candidato AMVP no padrão HEVC. Isto é, por exemplo, um método de derivar um primeiro candidato afim herdado do grupo de bloco esquerdo e um segundo candidato afim herdado do grupo de bloco superior pode ser proposto.
[0173] Em detalhes, os blocos vizinhos no grupo de bloco esquerdo podem ser verificados em uma ordem específica, e um primeiro candidato afim herdado pode ser derivado com base no modelo de movimento afim do primeiro bloco afim identificado. No presente documento, o grupo de bloco esquerdo pode incluir um bloco vizinho de canto esquerdo inferior A0 e um bloco vizinho esquerdo A1 do bloco atual, e a ordem específica pode ser uma ordem do bloco vizinho de canto esquerdo inferior A0 para o bloco vizinho esquerdo A1.
[0174] Além disso, os blocos vizinhos no grupo de bloco superior podem ser verificados em uma ordem específica e um segundo candidato afim herdado pode ser derivado com base no modelo de movimento afim do primeiro bloco afim identificado. No presente documento, o grupo de blocos superior pode incluir um bloco vizinho de canto superior direito B0, um bloco vizinho superior B1 e um bloco vizinho de canto superior esquerdo B2 do bloco atual, e a ordem específica pode ser uma ordem do bloco vizinho de canto superior direito B0 para o bloco vizinho superior B1 e o canto superior esquerdo do bloco vizinho para B2.
[0175] Na presente modalidade, embora a complexidade do cálculo seja alta em comparação com a modalidade na qual o número máximo de candidatos afins herdados é limitado a um, um grau deles é pequeno. Além disso, a complexidade do cálculo é muito menor do que o método existente de construção da lista de candidatos afins, incluindo os candidatos afins herdados. Além disso, os candidatos afins herdados para cada região superior e a região esquerda do bloco atual podem ser considerados e, portanto, a degradação do desempenho pode ser compensada.
[0176] Por exemplo, na presente modalidade, o cálculo para construir a lista de candidatos à fusão afins pode ser mostrado na tabela a seguir.
[0177] Tabela 7
Figure img0015
[0178] Com referência à Tabela 7, o número máximo de candidatos afins herdados pode ser 2 e, portanto, o número máximo de processos de supressão para a configuração candidata pode ser obtido como 38 vezes. Quando o número de processos de supressão é ligeiramente aumentado (34->38) em comparação com a modalidade de limitar o número máximo de candidatos afins herdados a 1, como descrita acima, porém o número de processos de supressão pode ser significativamente reduzido em comparação com o caso em que o número máximo de candidatos afins herdados é 5.
[0179] Além disso na presente modalidade, os processos de comparação e divisão de acordo com o processo de dimensionamento e o processo de supressão podem ser mostrados na tabela a seguir.
[0180] Tabela 8
Figure img0016
[0181] Com referência à Tabela 8, o número de processos de dimensionamento e o número de processos de comparação e processos de divisão de acordo com o processo de dimensionamento e o número de processos de supressão e o número de processos de comparação e processos de divisão de acordo com o processo de supressão podem ser derivados. Com referência à Tabela 8, um número máximo de processos de supressão para a configuração candidata de acordo com a presente modalidade pode ser 38 vezes, e o número de processos de comparação de acordo com o processo de supressão pode ser derivado de 532 vezes. Por conseguinte, o número de processos de supressão é ligeiramente aumentado (47->532) em comparação com a modalidade de limitar o número máximo de candidatos afins herdados a 1 descrito acima, porém o número de processos de comparação de acordo com o processo de supressão pode ser significativamente reduzido em comparação com o caso existente em que o número máximo de candidatos afins herdados é 5.
[0182] Além disso, por exemplo, pode ser proposto um método de derivar os candidatos afins herdados com base no bloco afim, verificando-se os blocos vizinhos em uma ordem de varredura e derivando os candidatos afins derivados de blocos vizinhos para diferentes imagens de referência. Esta forma de realização é proposta, pelo que candidatos afins herdados derivados com base em blocos vizinhos com a mesma imagem de referência são provavelmente iguais ou semelhantes. No presente documento, a ordem de varredura pode ser um bloco vizinho de canto inferior esquerdo A0 -> bloco vizinho de canto superior direito B0 -> bloco vizinho esquerdo A1 ->bloco vizinho superior B1-> bloco vizinho de canto superior esquerdo B2.
[0183] Por exemplo, os candidatos afins herdados de acordo com a presente modalidade podem ser derivados como mostrado na tabela a seguir.
[0184] Tabela 9
Figure img0017
Figure img0018
[0185] Com referência à Tabela 9, os blocos vizinhos podem ser verificados na ordem do bloco vizinho de canto esquerdo inferior A0, do bloco vizinho de canto superior direito B0, do bloco vizinho esquerdo A1, do bloco vizinho superior B1 e de canto superior esquerdo bloco vizinho B2.
[0186] Com referência à Tabela 9, o bloco vizinho A0 de canto esquerdo inferior pode ser um bloco ao qual a predição afim é aplicada (ou seja, um bloco afim) e, assim, um candidato afim herdado com base no bloco vizinho A0 de canto inferior esquerdo pode ser derivado.
[0187] Em seguida, o bloco vizinho de canto superior direito B0 pode ser um bloco ao qual a predição afim é aplicada (ou seja, um bloco afim) e pode ter um índice de imagem de referência {1, 0} diferente do índice de imagem {0, 0} de canto inferior esquerdo do bloco vizinho A0 para o candidato afim herdado já derivado. Assim, um candidato afim herdado com base no bloco vizinho de canto superior direito B0 pode ser derivado.
[0188] Em seguida, uma vez que o bloco vizinho esquerdo A1 é um bloco ao qual a predição afim não é aplicada, isto é, um bloco afim, um candidato afim herdado com base no bloco vizinho esquerdo A1 não pode ser derivado.
[0189] Em seguida, o bloco vizinho superior B1 é um bloco ao qual a predição afim é aplicada (ou seja, um bloco afim), porém tem o mesmo índice de imagem de referência {0, 0} que o índice de imagem de referência {0, 0} do bloco vizinho de canto esquerdo inferior A0 para o candidato afim herdado já derivado. Portanto, um candidato afim herdado com base no bloco vizinho superior B1 não pode ser derivado.
[0190] Em seguida, o bloco vizinho de canto superior esquerdo B2 pode ser um bloco ao qual a predição afim é aplicada (ou seja, um bloco afim) e pode ter um índice de imagem de referência {0, 1} diferente dos índices de imagem de referência dos candidatos afins herdados já derivados. Consequentemente, o candidato afim herdado com base no bloco vizinho de canto superior esquerdo B2 pode ser derivado.
[0191] A complexidade de cálculo desta modalidade pode ser conforme mostrado nas tabelas a seguir.
[0192] Tabela 10
Figure img0019
Figure img0020
[0193] Tabela 11
Figure img0021
[0194] Tabela 12
Figure img0022
[0195] Como mostrado na Tabela 12, de acordo com a presente modalidade, o número de processos de supressão no caso de comparação de dois candidatos afins pode ser reduzido para 2 de 10 da modalidade anterior. Assim, conforme mostrado na Tabela 11, o número de operações de comparação para derivar os candidatos afins herdados pode ser reduzido de 140 para 18 vezes, reduzindo assim a complexidade do cálculo devido ao processo de verificação de supressão
[0196] Além disso, a presente revelação propõe modalidades para reduzir a complexidade de cálculo no processo de derivar um candidato afim construído.
[0197] Entretanto, o candidato afim construído pode ser derivado com base em vetores de movimento candidatos para CPs. Os vetores de movimento candidatos podem ser derivados com base em blocos vizinhos.
[0198] Por exemplo, um vetor de movimento candidato CPMV0 para CP0 do bloco atual, um vetor de movimento candidato CPMV1 para CP1 do bloco atual e um vetor de movimento candidato CPMV2 para CP2 do bloco atual podem ser selecionados como segue.
[0199] Equação 6
CPMV0 = {mvA, mvB, mvC}
CPMV1 = {mvD, mvE}
CPMV2 = {mvF, mvG}
[0200] No presente documento, o CP0 pode representar a posição superior esquerda do bloco atual, o CP1 pode representar a posição superior direita do bloco atual e o CP2 pode representar a posição inferior esquerda do bloco atual.
[0201] Por exemplo, o aparelho de codificação/aparelho de decodificação pode verificar se os blocos vizinhos em um primeiro grupo estão disponíveis de acordo com uma primeira ordem e derivar um vetor de movimento de um bloco vizinho disponível primeiro identificado no processo de verificação como um vetor de movimento candidato para o CP0. Isto é, o vetor de movimento candidato para o CP0 pode ser um vetor de movimento do bloco vizinho disponível primeiro identificado verificando os blocos vizinhos no primeiro grupo na primeira ordem. A disponibilidade pode indicar que o bloco vizinho existe e que o bloco vizinho é codificado por predição do tipo inter. Ou seja, o bloco vizinho disponível pode ser um bloco codificado por predição do tipo inter (ou seja, um bloco ao qual predição do tipo inter é aplicada). No presente documento, por exemplo, o primeiro grupo pode incluir o bloco vizinho B2, o bloco vizinho B3 e o bloco vizinho A2. A primeira ordem pode ser uma ordem do bloco vizinho B2 no primeiro grupo para o bloco vizinho B3 e o bloco vizinho A2. Por exemplo, quando o bloco vizinho B2 está disponível, o vetor de movimento do bloco vizinho B2 pode ser derivado como um vetor de movimento candidato para o CP0. Quando o bloco vizinho B2 não está disponível e o bloco vizinho B3 está disponível, o vetor de movimento do bloco vizinho B3 pode ser derivado como um vetor de movimento candidato para o CP0. Quando o bloco vizinho B2 e o bloco vizinho B3 não estão disponíveis e o bloco vizinho A2 está disponível, o vetor de movimento do bloco vizinho A2 pode ser derivado como um vetor de movimento candidato para o CP0. Enquanto isso, o bloco vizinho B2 pode ser referido como um bloco vizinho A, o bloco vizinho B3 pode ser referido como um bloco vizinho B e o bloco vizinho A2 pode ser referido como um bloco vizinho C.
[0202] Além disso, por exemplo, o aparelho de codificação/aparelho de decodificação pode verificar se os blocos vizinhos em um segundo grupo estão disponíveis de acordo com uma segunda ordem e derivar um vetor de movimento de um bloco vizinho disponível primeiro identificado no processo de verificação como um vetor de movimento candidato para o CP1. Isto é, o vetor de movimento candidato para o CP1 pode ser um vetor de movimento do bloco vizinho disponível primeiro identificado verificando os blocos vizinhos no segundo grupo na segunda ordem. A disponibilidade pode indicar que o bloco vizinho existe e que o bloco vizinho é codificado por predição do tipo inter. Ou seja, o bloco vizinho disponível pode ser um bloco codificado por predição do tipo inter (ou seja, um bloco ao qual predição do tipo inter é aplicada). No presente documento, o segundo grupo pode incluir o bloco vizinho B1 e o bloco vizinho B0. A segunda ordem pode ser uma ordem do bloco vizinho B1 no segundo grupo para o bloco vizinho B0. Por exemplo, quando o bloco vizinho B1 está disponível, o vetor de movimento do bloco vizinho B1 pode ser derivado como um vetor de movimento candidato para o CP1. Quando o bloco vizinho B1 não está disponível e o bloco vizinho B0 está disponível, o vetor de movimento do bloco vizinho B0 pode ser derivado como um vetor de movimento candidato para o CP1. Enquanto isso, o bloco vizinho B1 pode ser referido como um bloco vizinho D e o bloco vizinho B0 pode ser referido como um bloco vizinho E.
[0203] Além disso, por exemplo, o aparelho de codificação/aparelho de decodificação pode verificar se blocos vizinhos em um terceiro grupo estão disponíveis de acordo com a terceira ordem, e derive um vetor de movimento de um bloco vizinho disponível primeiro identificado no processo de verificação como um vetor de movimento candidato para o CP2. Ou seja, o vetor de movimento candidato para o CP2 pode ser um vetor de movimento do bloco vizinho disponível primeiro identificado verificando os blocos vizinhos no terceiro grupo na terceira ordem. A disponibilidade pode indicar que o bloco vizinho existe e que o bloco vizinho é codificado por predição do tipo inter. Ou seja, o bloco vizinho disponível pode ser um bloco codificado por predição do tipo inter (ou seja, um bloco ao qual predição do tipo inter é aplicada). No presente documento, o terceiro grupo pode incluir o bloco vizinho A1 e o bloco vizinho A0. A terceira ordem pode ser uma ordem do bloco vizinho A1 no terceiro grupo para o bloco vizinho A0. Por exemplo, quando o bloco vizinho A1 está disponível, o vetor de movimento do bloco vizinho A1 pode ser derivado como um vetor de movimento candidato para o CP2. Quando o bloco vizinho A1 não está disponível e o bloco vizinho A0 está disponível, o vetor de movimento do bloco vizinho A0 pode ser derivado como um vetor de movimento candidato para o CP2. Enquanto isso, o bloco vizinho A1 pode ser referido como um bloco vizinho F e o bloco vizinho A0 pode ser referido como um bloco vizinho G.
[0204] Um candidato afim construído para o bloco atual pode ser derivado com base no vetor de movimento candidato para CP0, no vetor de movimento candidato para CP1 e no vetor de movimento candidato para CP2. A presente revelação propõe as seguintes modalidades para reduzir a complexidade de cálculo do processo de derivar o candidato afim construído. Enquanto isso, um vetor de movimento candidato para CP3 do bloco atual pode não ser considerado. Ou seja, o vetor de movimento candidato para o CP3 não pode ser derivado. No presente documento, o CP3 pode representar a posição inferior direita do bloco atual. Conforme descrito acima, o CP3 pode ser derivado com base em um vetor de movimento de um bloco vizinho temporal (ou preditor de vetor de movimento temporal (TMVP)) e, portanto, um processo de dimensionamento para derivar um vetor de movimento candidato para o CP3 pode precisar ser realizado , que pode ser uma das principais razões para o aumento da complexidade do cálculo. Portanto, um vetor de movimento candidato para o CP3 não pode ser derivado.
[0205] Em uma modalidade de derivar o candidato afim construído, um número máximo de candidatos afins construídos pode ser limitado a 1 e os candidatos afins construídos podem ser derivados como uma combinação de vetores de movimento candidatos para a mesma imagem de referência. Por exemplo, conforme descrito acima, o aparelho de codificação/aparelho de decodificação pode verificar se os blocos vizinhos no primeiro grupo estão disponíveis de acordo com a primeira ordem e derivar um vetor de movimento dos blocos vizinhos disponíveis primeiro identificados no processo de verificação, como um candidato vetor de movimento para CP0. Isto é, o vetor de movimento candidato para o CP0 pode ser um vetor de movimento do bloco vizinho disponível primeiro identificado verificando os blocos vizinhos no primeiro grupo de acordo com a primeira ordem. O primeiro grupo pode incluir o bloco vizinho A, o bloco vizinho B e o bloco vizinho C. A primeira ordem pode ser uma ordem do bloco vizinho A para o bloco vizinho B e o bloco vizinho C no primeiro grupo. Além disso, a disponibilidade pode indicar que existe um vetor de movimento do bloco vizinho. Ou seja, a disponibilidade pode indicar que o bloco vizinho existe e que o bloco vizinho está codificado por predição do tipo inter. O aparelho de codificação/aparelho de decodificação pode derivar uma imagem de referência do bloco vizinho como uma imagem de referência de destino.
[0206] Após isso, o aparelho de codificação/aparelho de decodificação pode verificar se os blocos vizinhos no segundo grupo estão disponíveis de acordo com a segunda ordem, e pode derivar um vetor de movimento de um bloco vizinho que é primeiro identificado como disponível no processo de verificação e que tem a mesma imagem de referência que a imagem de referência de destino, como um vetor de movimento candidato para o CP1. Ou seja, o índice de imagem de referência do bloco vizinho pode representar o índice de imagem de referência de destino. O segundo grupo pode incluir o bloco vizinho D e o bloco vizinho E. A segunda ordem pode ser uma ordem do bloco vizinho D para o bloco vizinho E no segundo grupo.
[0207] Além disso, o aparelho de codificação/aparelho de decodificação pode verificar se os blocos vizinhos no terceiro grupo estão disponíveis de acordo com a terceira ordem, e pode derivar um vetor de movimento de um bloco vizinho que é primeiro identificado como disponível no processo de verificação e que tem a mesma imagem de referência que a imagem de referência de destino, como um vetor de movimento candidato para o CP2. Ou seja, o índice de imagem de referência do bloco vizinho pode representar o índice da imagem de referência. O terceiro grupo pode incluir o bloco vizinho F e o bloco vizinho G. A terceira ordem pode ser uma ordem do bloco vizinho F para o bloco vizinho G no terceiro grupo.
[0208] Em seguida, o aparelho de codificação/aparelho de decodificação pode determinar se um vetor de movimento candidato para o CP0, um vetor de movimento candidato para o CP1 e um vetor de movimento candidato para o CP2 estão disponíveis. Quando o vetor de movimento candidato para CP0, o vetor de movimento candidato para CP1 e o vetor de movimento candidato para CP2 estão disponíveis, isto é, quando o vetor de movimento candidato para CP0, o vetor de movimento candidato para CP1 e o vetor de movimento candidato para CP2 são derivados, o aparelho de codificação/aparelho de decodificação pode derivar {CPMV0, CPMV1, CPMV2} como o candidato afim construído. Ou seja, o candidato afim construído pode incluir um vetor de movimento candidato para o CP0, um vetor de movimento candidato para o CP1 e um vetor de movimento candidato para o CP2. No presente documento, o CPMV0 pode representar o vetor de movimento candidato para o CP0, o CPMV1 pode representar o vetor de movimento candidato para o CP1 e o CPMV2 pode representar o vetor de movimento candidato para o CP2.
[0209] Se pelo menos um do vetor de movimento candidato para o CP0, o vetor de movimento candidato para o CP1 ou o vetor de movimento candidato para o CP2 não estiver disponível, o aparelho de codificação/aparelho de decodificação pode determinar se o vetor de movimento candidato para o CP0 e o vetor de movimento candidato ao CP1 estão disponíveis. Se o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP1 estão disponíveis, isto é, se o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP1 forem derivados, o aparelho de codificação/aparelho de decodificação pode derivar {CPMV0, CPMV1} como o candidato afim construído. Ou seja, o candidato afim construído pode incluir o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP1.
[0210] Se pelo menos um do vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP1 não estão disponíveis, o aparelho de codificação/aparelho de decodificação pode determinar se o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP2 estão disponíveis. Se o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP2 estão disponíveis, isto é, se o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP2 forem derivados, o aparelho de codificação/aparelho de decodificação pode derivar { CPMV0, CPMV2} como o candidato afim construído. Ou seja, o candidato afim construído pode incluir um vetor de movimento candidato para o CP0 e um vetor de movimento candidato para o CP2.
[0211] Quando o processo de derivar o candidato afim construído descrito acima é representado por um pseudo código, ele pode ser derivado conforme mostrado na tabela a seguir.
[0212] Tabela 13
Figure img0023
[0213] Enquanto isso, ao contrário da modalidade descrita acima na qual uma combinação de vetores de movimento candidatos derivados como o candidato afim construído é considerada na ordem de {CPMV0, CPMV1, CPMV2}, {CPMV0, CPMV1} e {CPMV0, CPMV2}, um método de consideração em ordem derivada com base em uma largura e uma altura do bloco atual Ainda mais, pode ser proposto.
[0214] Por exemplo, quando a largura do bloco atual é maior ou igual à altura, o aparelho de codificação/aparelho de decodificação pode determinar se {CPMV0, CPMV1, CPMV2}, {CPMV0, CPMV1} estão disponíveis nesta ordem e derivar o candidato afim construído. Especificamente, quando a largura do bloco atual é maior ou igual à altura, o aparelho de codificação/aparelho de decodificação pode determinar se o vetor de movimento candidato para CP0, o vetor de movimento candidato para CP1 e o vetor de movimento candidato para CP2 estão disponíveis. Se os vetores de movimento candidatos estão disponíveis, o aparelho de codificação/aparelho de decodificação pode derivar o candidato afim construído, incluindo o vetor de movimento candidato para o CP0, o vetor de movimento candidato para o CP1 e o vetor de movimento candidato para o CP2. Se pelo menos um dos vetores de movimento candidatos não estiver disponível, o aparelho de codificação/aparelho de decodificação pode determinar se o vetor de movimento candidato para CP0 e o vetor de movimento candidato para CP1 estão disponíveis, e se os vetores de movimento candidatos estão disponíveis, o aparelho de codificação/aparelho de decodificação pode derivar o candidato afim construído incluindo o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP1. Se pelo menos um dos vetores de movimento candidatos não estiver disponível, o aparelho de codificação/aparelho de decodificação pode não derivar o candidato afim construído.
[0215] Além disso, por exemplo, quando a largura do bloco atual é menor do que a altura, o aparelho de codificação/aparelho de decodificação pode determinar se {CPMV0, CPMV1, CPMV2}, {CPMV0, CPMV2} estão disponíveis nesta ordem e derivar o candidato afim construído. Especificamente, quando a largura do bloco atual é menor do que a altura, o aparelho de codificação/aparelho de decodificação pode determinar se o vetor de movimento candidato para CP0, o vetor de movimento candidato para CP1 e o vetor de movimento candidato para CP2 estão disponíveis. Se os vetores de movimento candidatos estão disponíveis, o aparelho de codificação/aparelho de decodificação pode derivar o candidato afim construído, incluindo o vetor de movimento candidato para o CP0, o vetor de movimento candidato para o CP1 e o vetor de movimento candidato para o CP2. Se pelo menos um dos vetores de movimento candidatos não estiver disponível, o aparelho de codificação/aparelho de decodificação pode determinar se o vetor de movimento candidato para CP0 e o vetor de movimento candidato para CP2 estão disponíveis, e se os vetores de movimento candidatos estão disponíveis, o aparelho de codificação/aparelho de decodificação pode derivar o candidato afim construído incluindo o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP2. Se pelo menos um dos vetores de movimento candidatos não estiver disponível, o aparelho de codificação/aparelho de decodificação pode não derivar o candidato afim construído.
[0216] Quando o processo de derivar o candidato afim construído é representado por um pseudocódigo, ele pode ser derivado conforme mostrado na tabela a seguir.
[0217] Tabela 14
Figure img0024
[0218] No método descrito acima, se a distância entre dois CPs for curta, os CPMVs dos CPs provavelmente serão semelhantes ou iguais e, portanto, é altamente improvável que o candidato afim construído incluindo os CPMVs seja derivado. Portanto, este caso não pode ser considerado. A degradação do desempenho causada pela não consideração do caso acima é pequena e o cálculo necessário pode ser reduzido. Entretanto, quando dois CPs estão distantes um do outro, os CPMVs dos CPs provavelmente serão diferentes e refletirão uma gama mais ampla de mudanças. Portanto, o candidato afim construído pode ser efetivamente derivado através do método descrito acima.
[0219] Além disso, como uma modalidade de derivar o candidato afim construído, o número máximo do candidato afim construído pode ser limitado a 2, e o candidato afim construído pode ser derivado como uma combinação de vetores de movimento candidatos para a mesma imagem de referência. Por exemplo, conforme descrito acima, o aparelho de codificação/aparelho de decodificação pode derivar o vetor de movimento candidato para CP0 com base no bloco vizinho no primeiro grupo e gerar a mesma imagem de referência que o bloco vizinho no segundo grupo, pode derivar o candidato vetor de movimento para CP1, com base em um bloco vizinho disponível com a mesma imagem de referência que o bloco vizinho no segundo grupo, e pode derivar o vetor de movimento candidato para CP2 com base em um bloco vizinho disponível tendo a mesma imagem de referência que o bloco vizinho no terceiro grupo.
[0220] Posteriormente, o aparelho de codificação/decodificação pode verificar se {CPMV0, CPMV1, CPMV2}, {CPMV0, CPMV1}, {CPMV0, CPMV2} estão disponíveis nesta ordem e derivam até dois candidatos afins construídos.
[0221] Quando o processo de derivar o candidato afim construído descrito acima é representado por um pseudocódigo, ele pode ser derivado conforme mostrado na tabela a seguir.
[0222] Tabela 15
Figure img0025
[0223] Com referência à Tabela 15, o aparelho de codificação/aparelho de decodificação pode determinar se o vetor de movimento candidato para CP0, o vetor de movimento candidato para CP1 e o vetor de movimento candidato para CP2 estão disponíveis, e quando os vetores de movimento candidatos estão disponíveis, o aparelho de codificação/aparelho de decodificação pode derivar um candidato afim construído incluindo um vetor de movimento candidato para o CP0, um vetor de movimento candidato para o CP1 e um vetor de movimento candidato para o CP2. Em seguida, o aparelho de codificação/aparelho de decodificação pode determinar se o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP1 estão disponíveis, e se os vetores de movimento candidatos estão disponíveis, o aparelho de codificação/aparelho de decodificação pode derivar um candidato afim construído incluindo o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP1. Depois disso, o aparelho de codificação/aparelho de decodificação pode determinar se o número de candidatos afins construídos derivados é menor que dois e se o vetor de movimento candidato para CP0 e o vetor de movimento candidato para CP2 estão disponíveis. Se o número de candidatos de construção derivados for menor que dois e os vetores de movimento candidatos estão disponíveis, o aparelho de codificação/aparelho de decodificação pode derivar o candidato afim construído incluindo o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP2.
[0224] Além disso, pode ser proposto um método de derivar até dois candidatos afins construídos, verificando se uma combinação de vetores de movimento candidatos está disponível em ordem derivada com base na largura e altura do bloco atual.
[0225] Por exemplo, quando o processo de derivação do candidato afim construído é representado por um pseudo código, ele pode ser derivado conforme mostrado na tabela a seguir.
[0226] Tabela 16
Figure img0026
[0227] Com referência à Tabela 16, o aparelho de codificação/aparelho de decodificação pode determinar se o vetor de movimento candidato para CP0, o vetor de movimento candidato para CP1 e o vetor de movimento candidato para CP2 estão disponíveis, e quando os vetores de movimento candidatos estão disponíveis, o aparelho de codificação/aparelho de decodificação pode derivar um candidato afim construído incluindo o vetor de movimento candidato para o CP0, o vetor de movimento candidato para o CP1 e o vetor de movimento candidato para o CP2.
[0228] Em seguida, quando a largura do bloco atual é maior ou igual à altura, o aparelho de codificação/aparelho de decodificação pode determinar se o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP1 estão disponíveis, e se os vetores de movimento candidatos estão disponíveis, o aparelho de codificação/aparelho de decodificação pode derivar um candidato afim construído incluindo o vetor de movimento candidato para CP0 e o vetor de movimento candidato para CP1.
[0229] Alternativamente, quando a largura do bloco atual for menor que a altura, o aparelho de codificação/aparelho de decodificação pode determinar se o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP2 estão disponíveis, e se o movimento candidato vetores estão disponíveis, o aparelho de codificação/aparelho de decodificação pode derivar um candidato afim construído incluindo o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP2.
[0230] Além disso, em uma modalidade de derivar o candidato afim construído, o número máximo de candidatos afins construídos pode ser limitado a 3 e o candidato afim construído pode ser derivado como uma combinação de vetores de movimento candidatos para a mesma imagem de referência. Por exemplo, conforme descrito acima, o aparelho de codificação/aparelho de decodificação pode derivar um vetor de movimento candidato para CP0 com base no bloco vizinho no primeiro grupo, derivar um vetor de movimento candidato para CP1, com base em um bloco vizinho disponível tendo a mesma imagem de referência que o bloco vizinho no segundo grupo e derivar um vetor de movimento candidato para CP2 com base em um bloco vizinho disponível tendo a mesma imagem de referência que o bloco vizinho no terceiro grupo.
[0231] Após isso, o aparelho de codificação/decodificação pode verificar se {CPMV0, CPMV1, CPMV2}, {CPMV0, CPMV1}, {CPMV0, CPMV2} estão disponíveis nesta ordem e derivam até três candidatos afins construídos.
[0232] Quando o processo de derivar o candidato afim construído descrito acima é representado por um pseudocódigo, ele pode ser derivado conforme mostrado na tabela a seguir.
[0233] Tabela 17
Figure img0027
[0234] Com referência à Tabela 17, o aparelho de codificação/aparelho de decodificação pode determinar se o vetor de movimento candidato para CP0, o vetor de movimento candidato para CP1 e o vetor de movimento candidato para CP2 estão disponíveis e podem derivar um candidato afim construído, incluindo o vetor de movimento candidato para o CP0, o vetor de movimento candidato para o CP1 e o vetor de movimento candidato para o CP2 se os vetores de movimento candidatos estão disponíveis. Em seguida, o aparelho de codificação/aparelho de decodificação pode determinar se o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP1 estão disponíveis e pode derivar um vetor afim construído incluindo o vetor de movimento candidato CP0 e o vetor de movimento candidato para CP1 se os vetores de movimento candidatos estão disponíveis. Depois disso, o aparelho de codificação/aparelho de decodificação pode determinar se o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP2 estão disponíveis e pode derivar um candidato afim construído, incluindo o vetor de movimento candidato para o CP0 e o vetor de movimento candidato CP2 se os vetores de movimento candidatos estão disponíveis.
[0235] Além disso, uma modalidade (a ser descrita abaixo) pode ser proposta como outro exemplo de derivação de um candidato afim construído.
[0236] A Figura 11 mostra um exemplo de derivação de um candidato afim construído.
[0237] Com referência à Figura 11, o aparelho de codificação/aparelho de decodificação deriva vetores de movimento candidatos para CPs do bloco atual (S1100).
[0238] Por exemplo, o aparelho de codificação/aparelho de decodificação pode verificar se os blocos vizinhos em um primeiro grupo estão disponíveis de acordo com uma primeira ordem e derivar um vetor de movimento de um bloco vizinho disponível primeiro identificado no processo de verificação como um vetor de movimento candidato para o CP0. Isto é, o vetor de movimento candidato para o CP0 pode ser um vetor de movimento do bloco vizinho disponível primeiro identificado verificando os blocos vizinhos no primeiro grupo na primeira ordem. A disponibilidade pode indicar que o bloco vizinho existe e que o bloco vizinho é codificado por predição do tipo inter. Ou seja, o bloco vizinho disponível pode ser um bloco codificado por predição do tipo inter (ou seja, um bloco ao qual predição do tipo inter é aplicada). No presente documento, por exemplo, o primeiro grupo pode incluir o bloco vizinho A, o bloco vizinho B e o bloco vizinho C. A primeira ordem pode ser uma ordem do bloco vizinho A no primeiro grupo para o bloco vizinho B e o bloco vizinho C Por exemplo, quando o bloco vizinho A está disponível, o vetor de movimento do bloco vizinho A pode ser derivado como um vetor de movimento candidato para o CP0. Quando o bloco vizinho A não está disponível e o bloco vizinho B está disponível, o vetor de movimento do bloco vizinho B pode ser derivado como um vetor de movimento candidato para o CP0. Quando o bloco vizinho A e o bloco vizinho B não estão disponíveis e o bloco vizinho C está disponível, o vetor de movimento do bloco vizinho C pode ser derivado como um vetor de movimento candidato para o CP0.
[0239] Além disso, por exemplo, o aparelho de codificação/aparelho de decodificação pode verificar se os blocos vizinhos em um segundo grupo estão disponíveis de acordo com uma segunda ordem e derivar um vetor de movimento de um bloco vizinho disponível primeiro identificado no processo de verificação como um vetor de movimento candidato para o CP1. Isto é, o vetor de movimento candidato para o CP1 pode ser um vetor de movimento do bloco vizinho disponível primeiro identificado verificando os blocos vizinhos no segundo grupo na segunda ordem. A disponibilidade pode indicar que o bloco vizinho existe e que o bloco vizinho é codificado por predição do tipo inter. Ou seja, o bloco vizinho disponível pode ser um bloco codificado por predição do tipo inter (ou seja, um bloco ao qual predição do tipo inter é aplicada). No presente documento, o segundo grupo pode incluir o bloco vizinho D e o bloco vizinho E. A segunda ordem pode ser uma ordem do bloco vizinho D no segundo grupo para o bloco vizinho E. Por exemplo, quando o bloco vizinho D está disponível, o vetor de movimento do bloco vizinho D pode ser derivado como um vetor de movimento candidato para o CP1. Quando o bloco vizinho D não está disponível e o bloco vizinho E está disponível, o vetor de movimento do bloco vizinho E pode ser derivado como um vetor de movimento candidato para o CP1.
[0240] Além disso, por exemplo, o aparelho de codificação/aparelho de decodificação pode verificar se os blocos vizinhos em um terceiro grupo estão disponíveis de acordo com a terceira ordem e derivar um vetor de movimento de um bloco vizinho disponível primeiro identificado no processo de verificação como um candidato vetor de movimento para o CP2. Ou seja, o vetor de movimento candidato para o CP2 pode ser um vetor de movimento do bloco vizinho disponível primeiro identificado verificando os blocos vizinhos no terceiro grupo na terceira ordem. A disponibilidade pode indicar que o bloco vizinho existe e que o bloco vizinho é codificado por predição do tipo inter. Ou seja, o bloco vizinho disponível pode ser um bloco codificado por predição do tipo inter (ou seja, um bloco ao qual predição do tipo inter é aplicada). No presente documento, o terceiro grupo pode incluir o bloco vizinho F e o bloco vizinho G. A terceira ordem pode ser uma ordem do bloco vizinho F no terceiro grupo para o bloco vizinho G. Por exemplo, quando o bloco vizinho F está disponível, o vetor de movimento do bloco vizinho F pode ser derivado como um vetor de movimento candidato para o CP2. Quando o bloco vizinho F não está disponível e o bloco vizinho G está disponível, o vetor de movimento do bloco vizinho G pode ser derivado como um vetor de movimento candidato para o CP2.
[0241] Enquanto isso, um vetor de movimento candidato para CP3 do bloco atual pode não ser considerado. Ou seja, o vetor de movimento candidato para o CP3 não pode ser derivado. No presente documento, o CP3 pode representar a posição inferior direita do bloco atual. Conforme descrito acima, o CP3 pode ser derivado com base em um vetor de movimento de um bloco vizinho temporal (ou preditor de vetor de movimento temporal (TMVP) e, portanto, um processo de dimensionamento precisa para derivar um vetor de movimento candidato para o CP3 pode precisar ser realizado , que pode ser uma das principais razões para o aumento da complexidade do cálculo. Portanto, um vetor de movimento candidato para o CP3 não pode ser derivado.
[0242] O aparelho de codificação/aparelho de decodificação pode determinar um padrão de CPMV com base em uma combinação CPMV disponível (S1110). A combinação CPMV disponível pode representar uma combinação de vetores de movimento candidatos com a mesma imagem de referência
[0243] Referindo-se à Tabela 18, valores inteiros como “0”, “1”, “2”, “3” e “4” podem ser alocados para o padrão de CPMV.
[0244] Por exemplo, quando uma imagem de referência para o vetor de movimento candidato de CP0, uma imagem de referência para o vetor de movimento candidato de CP1 e uma imagem de referência para o vetor de movimento candidato de CP2 são iguais, a combinação de CPMV disponível pode ser representada como {CPMV0, CPMV1, CPMV2}. O padrão de CPMV para a combinação CPMV disponível {CPMV0, CPMV1, CPMV2} pode ser derivado como padrão de CPMV 1.
[0245] Além disso, por exemplo, quando a imagem de referência para o vetor de movimento candidato do CP0 e a referência à imagem para o vetor de movimento candidato do CP1 são as mesmas, enquanto as imagens de referência para o vetor de movimento candidato do CP2 são diferentes, a combinação de CPMV disponível pode ser representada como {CPMV0, CPMV1}. O padrão de CPMV para a combinação CPMV disponível {CPMV0, CPMV1} pode ser derivado como padrão de CPMV 2.
[0246] Além disso, por exemplo, quando a imagem de referência para o vetor de movimento candidato do CP0 e a imagem de referência para o vetor de movimento candidato do CP2 são as mesmas e a imagem de referência para o vetor de movimento candidato do CP1 é diferente, a combinação CPMV disponível pode ser representada como {CPMV0, CPMV2}. O padrão de CPMV para a combinação CPMV disponível {CPMV0, CPMV2} pode ser derivado como padrão de CPMV 3.
[0247] Além disso, por exemplo, quando a imagem de referência para o vetor de movimento candidato do CP1 e a imagem de referência para o vetor de movimento candidato do CP2 são as mesmas e a imagem de referência para o vetor de movimento candidato do CP0 é diferente, a combinação de CPMV disponível pode ser representada como {CPMV1, CPMV2}. O padrão de CPMV para a combinação CPMV disponível {CPMV1, CPMV2} pode ser derivado como padrão de CPMV 4.
[0248] Entretanto, quando a imagem de referência para o vetor de movimento candidato do CP1, a imagem de referência para o vetor de movimento candidato do CP1 e a imagem de referência para o vetor de movimento candidato do CP0 são todos diferentes, o padrão de CPMV pode ser derivado como padrão de CPMV 0.
[0249] O aparelho de codificação/aparelho de decodificação pode derivar o candidato afim construído com base no padrão de CPMV derivado (S1120).
[0250] Por exemplo, quando o padrão de CPMV 0 é derivado, o candidato afim construído não pode ser derivado.
[0251] Além disso, por exemplo, quando o CPMV padrão 1 é derivado, um candidato afim construído incluindo {CPMV0, CPMV1, CPMV2}, um candidato afim construído incluindo {CPMV0, CPMV1}, um candidato afim construído incluindo {CPMV0, CPMV2 }, e um candidato afim construído incluindo {CPMV1, CPMV2} pode ser adicionado à lista de candidatos à fusão afins do bloco atual nesta ordem até que o número do candidato da lista de candidatos à fusão afins atinja um número máximo.
[0252] Por exemplo, quando o padrão 2 de CPMV é derivado, o candidato afim construído incluindo {CPMV0, CPMV1} pode ser adicionado à lista de candidatos à fusão afim.
[0253] Além disso, por exemplo, quando o padrão 3 de CPMV é derivado, o candidato afim construído incluindo {CPMV0, CPMV2} pode ser adicionado à lista de candidatos à fusão afim.
[0254] Por exemplo, quando o padrão de CPMV 4 é derivado, o candidato afim construído incluindo {CPMV1, CPMV2} pode ser adicionado à lista de candidatos à fusão afim.
[0255] Os padrões de CPMV e os candidatos afins construídos disponíveis com base nas combinações CPMV disponíveis podem ser derivados como mostrado na tabela a seguir.
[0256] Tabela 18
Figure img0028
[0257] Quando o processo de derivar o candidato afim construído descrito acima é representado por um pseudocódigo, ele pode ser derivado conforme mostrado na tabela a seguir.
[0258] Tabela 19
Figure img0029
[0259] Além disso, a complexidade de cálculo da presente modalidade pode aparecer como mostrado nas tabelas a seguir.
[0260] Tabela 20
Figure img0030
[0261] Tabela 21
Figure img0031
[0262] Tabela 22
Figure img0032
[0263] Tabela 23
Figure img0033
[0264] Na modalidade descrita acima, o pior caso com a maior complexidade de cálculo pode ser um caso em que o padrão de CPMV é derivado como o padrão de CPMV 1 e, neste caso, o número máximo de candidatos afins construídos pode ser 4. Em além disso, na modalidade descrita acima, o processo de verificação de supressão pode incluir um caso de comparação de candidatos afins herdados e um caso de comparação de candidatos afins herdados e candidatos construídos. Com referência à Tabela 20, o número máximo de processos de verificação de supressão pode ser 16 vezes.
[0265] Além disso, o número de operações de comparação no caso de comparação de dois candidatos afins herdados, como mostrado na Tabela 22, pode ser 2, e o número de operações de comparação no caso de comparação do candidato afim herdado e do candidato afim construído pode ser 14. Portanto, como mostrado na Tabela 21, o número de operações de comparação para derivar candidatos afins herdados pode ser reduzido de 140 para 18, e o número de operações de comparação para derivar os candidatos afins construídos pode ser reduzido de 560 para 68. Portanto, a complexidade do cálculo devido ao processo de verificação de supressão pode ser reduzida através da modalidade descrita acima.
[0266] Enquanto isso, uma modalidade na qual o padrão de CPMV ou o número de candidatos de construção construídos disponíveis de acordo com o padrão de CPMV é reduzido pode ser proposta na modalidade de construção do candidato afim construído descrito acima.
[0267] A título de exemplo, pode ser proposto um método de não considerar uma combinação incluindo CPMV0 e CPMV2 e uma combinação incluindo CPMV1 e CPMV2.
[0268] Ou seja, o aparelho de codificação/aparelho de decodificação pode determinar o padrão de CPMV com base na combinação CPMV disponível e o padrão de CPMV pode ser um do padrão de CPMV 0, o padrão de CPMV 1 e o padrão de CPMV 2. Além disso, os candidatos construídos disponíveis podem não incluir o candidato afim construído incluindo {CPMV0, CPMV2} e o candidato afim construído incluindo {CPMV1, CPMV2}.
[0269] Nesta modalidade, os padrões de CPMV e os candidatos afins construídos disponíveis com base nas combinações de CPMV disponíveis podem ser derivados como mostrado na tabela a seguir.
[0270] Tabela 24
Figure img0034
[0271] No caso do modelo de movimento afim 4, CPMV0 e CPMV1 são usados, e no caso do modelo de movimento afim 6, CPMV0, CPMV1 e CPMV2 são usados e, portanto, um método de derivar os candidatos afins construídos como na modalidade descrita acima em termos de unificação pode ser considerada.
[0272] Alternativamente, a título de exemplo, pode ser proposto um método que não considera a combinação incluindo CPMV1 e CPMV2.
[0273] Isto é, o aparelho de codificação/aparelho de decodificação pode determinar um padrão de CPMV com base na combinação CPMV disponível e o padrão de CPMV pode ser um dentre o padrão de CPMV 0, o padrão de CPMV 1, o padrão de CPMV 2 ou o CPMV padrão 3. Além disso, os candidatos afins construídos disponíveis podem não incluir o candidato afim construído incluindo {CPMV1, CPMV2}.
[0274] Na presente modalidade, os padrões de CPMV e os candidatos afins construídos disponíveis com base nas combinações de CPMV disponíveis podem ser derivados como mostrado na tabela a seguir.
[0275] Tabela 25
Figure img0035
[0276] A predição afim de um modelo de movimento afim usando CPMV0 e CPMV2 pode ser considerada e, assim, a modalidade descrita acima pode ser proposta.
[0277] Alternativamente, como um exemplo, um método de considerar todas as combinações de vetores de movimento candidatas descritas acima e limitar o candidato afim construído disponível de acordo com os padrões de CPMV para um pode ser proposto.
[0278] Isto é, quando o padrão de CPMV 1 é derivado como o padrão de CPMV para o bloco atual, o aparelho de codificação/aparelho de decodificação pode derivar o candidato afim construído incluindo {CPMV0, CPMV1, CPMV2} e adicionar o candidato afim construído à lista de candidato à fusão de candidatos.
[0279] Na presente modalidade, os padrões de CPMV e os candidatos afins construídos disponíveis com base nas combinações de CPMV disponíveis podem ser derivados como mostrado na tabela a seguir.
[0280] Tabela 26
Figure img0036
[0281] Alternativamente, por exemplo, um método para limitar os candidatos afins construídos disponíveis com base nos padrões de CPMV a um sem considerar a combinação incluindo CPMV0 e CPMV2 e a combinação incluindo CPMV1 e CPMV2 pode ser proposto.
[0282] Ou seja, o aparelho de codificação/aparelho de decodificação pode determinar o padrão de CPMV com base na combinação CPMV disponível e o padrão de CPMV pode ser um do padrão de CPMV 0, o padrão de CPMV 1 e o padrão de CPMV 2. Além disso, os candidatos afins construídos disponíveis podem não incluir o candidato afim construído incluindo {CPMV0, CPMV2} e o candidato afim construído incluindo {CPMV1, CPMV2}. Além disso, quando o padrão 1 de CPMV é derivado como o padrão de CPMV para o bloco atual, o aparelho de codificação/aparelho de decodificação pode derivar um candidato afim construído incluindo {CPMV0, CPMV1, CPMV2} e adicionar o candidato afim construído à lista de candidatos afins .
[0283] Na presente modalidade, os padrões de CPMV e os candidatos afins construídos disponíveis com base nas combinações de CPMV disponíveis podem ser derivados como mostrado na tabela a seguir.
[0284] Tabela 27
Figure img0037
Figure img0038
[0285] Alternativamente, como um exemplo, pode ser proposto um método de limitar os candidatos afins construídos disponíveis com base nos padrões de CPMV a um sem considerar uma combinação incluindo CPMV1 e CPMV2.
[0286] Ou seja, o aparelho de codificação/decodificação determina o padrão de CPMV com base na combinação de CPMV disponível e o padrão de CPMV pode ser um dentre o padrão de CPMV 0, o padrão de CPMV 1, o padrão de CPMV 2 ou o padrão de CPMV 3. Além disso, os candidatos afins construídos disponíveis não podem incluir candidatos afins construídos, incluindo {CPMV1, CPMV2}. Além disso, quando o padrão 1 de CPMV é derivado como o padrão de CPMV para o bloco atual, o aparelho de codificação/aparelho de decodificação pode derivar um candidato afim construído incluindo {CPMV0, CPMV1, CPMV2} e adicionar o candidato afim construído à lista de candidatos afins.
[0287] Na presente modalidade, os padrões de CPMV e os candidatos afins construídos disponíveis com base nas combinações de CPMV disponíveis podem ser derivados como mostrado na tabela a seguir.
[0288] Tabela 28
Figure img0039
[0289] Enquanto isso, após o processo de derivar o candidato afim herdado e o processo de derivar o candidato afim construído são realizados, se o número de candidatos afins válidos da lista de candidatos afins for maior que o número máximo de candidatos, um candidato zero pode ser adicionado à lista de candidatos à fusão afins até que a lista de candidatos à fusão afins inclua o número máximo de candidatos. O candidato zero pode ser definido como um candidato incluindo vetor de movimento 0 e um índice de imagem de referência. No presente documento, o vetor de movimento 0 pode representar um vetor de movimento com valor de vetor 0.
[0290] O índice de imagens de referência pode incluir um índice de imagens de referência para a lista de imagens de referência 0 (lista 0, L0) e um índice de imagens de referência para a lista de imagens de referência 1 (lista 1, L1). Nesse caso, os candidatos zero podem ser derivados na ordem mostrada na tabela a seguir.
[0291] Tabela 29
Figure img0040
[0292] Por exemplo, referindo-se à Tabela 29, um índice de imagem de referência pode ser adicionado à lista de candidatos à fusão afins na ordem dos candidatos zero menores. Especificamente, quando a lista de candidatos à fusão afins inclui um candidato afim menor do que o número de candidato máximo, um candidato zero tendo uma prioridade de 1 (ou seja, um índice de imagem de referência L0 tendo um valor de 0 e índice de imagem de referência L1 tendo um valor de 0) pode ser adicionado à lista de candidatos à fusão afim. Além disso, quando a lista de candidatos à fusão afins inclui dois candidatos menores do que o número máximo de candidatos, um candidato zero tendo uma prioridade de 1 (ou seja, índice de imagem de referência L0 tendo um valor de 0 e índice de imagem de referência L1 tendo um valor de 0) e um candidato zero tendo uma prioridade de 2 (isto é, índice de imagem de referência L0 tendo um valor de 0 e índice de imagem de referência L1 tendo um valor de 1) pode ser adicionado à lista de candidatos à fusão afim. Além disso, quando a lista de candidatos à fusão afins inclui três candidatos menores do que o número máximo de candidatos, um candidato zero tendo uma prioridade de 1 (isto é, índice de imagem de referência L0 tendo um valor de 0 e índice de imagem de referência L1 tendo um valor de 0), um candidato zero tendo uma prioridade de 2 (isto é, índice de imagem de referência L0 tendo um valor de 0 e índice de imagem de referência L1 tendo um valor de 1), e um candidato zero tendo uma prioridade de 3 (isto é, índice de imagem de referência L0 tendo um valor de 1 e índice de imagem de referência L1 tendo um valor de 0) pode ser adicionado à lista de candidatos à fusão afim. Além disso, quando a lista de candidatos à fusão afins inclui quatro candidatos menores do que o número máximo de candidatos, um candidato zero tendo uma prioridade de 1 (ou seja, índice de imagem de referência L0 tendo um valor de 0 e índice de imagem de referência L1 tendo um valor de 0) , um candidato zero tendo uma prioridade de 2 (isto é, índice de imagem de referência L0 tendo um valor de 0 e índice de imagem de referência L1 tendo um valor de 1), um candidato zero tendo uma prioridade de 3 (isto é, índice de imagem de referência L0 tendo um valor de 1 e índice de imagem de referência L1 tendo um valor de 0), e um candidato zero tendo uma prioridade de 4 (isto é, índice de imagem de referência L0 tendo um valor de 1 e índice de imagem de referência L1 tendo um valor de 1) podem ser adicionados à lista de candidatos afins.
[0293] Alternativamente, como outro exemplo, zero candidatos podem ser derivados na ordem de ocorrência mais frequente dos índices de imagem de referência de blocos vizinhos do bloco atual e podem ser adicionados à lista de candidatos à fusão afins. Isto é, um candidato zero incluindo um índice de imagem de referência que ocorre frequentemente entre os índices de imagem de referência dos blocos vizinhos pode ser derivado como uma primeira classificação e adicionado à lista de candidatos à fusão afim. Posteriormente, um candidato zero incluindo um índice de imagem de referência gerado com mais frequência pode ser derivado como uma segunda classificação e adicionado à lista de candidatos à fusão afim. No presente documento, os blocos vizinhos podem incluir o bloco vizinho A, o bloco vizinho B, o bloco vizinho C, o bloco vizinho D, o bloco vizinho E, o bloco vizinho F e o bloco vizinho G.
[0294] Em outro exemplo, um candidato zero incluindo um índice de imagem de referência do bloco vizinho A1, um candidato zero incluindo um índice de imagem de referência do bloco vizinho B1, um candidato zero incluindo o índice de imagem de referência do bloco vizinho A0, um candidato zero, incluindo o índice de imagem de referência do bloco vizinho B0, e um candidato zero incluindo o índice de imagem de referência do bloco vizinho B2, podem ser adicionados nesta ordem até que a lista de candidatos à fusão afins inclua o número máximo de candidatos.
[0295] A Figura 12 ilustra um método de codificação de imagem por um aparelho de codificação de acordo com a presente revelação. O método revelado na Figura 12 pode ser realizado pelo aparelho de codificação mostrado na Figura 1. Especificamente, por exemplo, as etapas S1200 a S1210 da Figura 12 pode ser realizado pelo preditor do aparelho de codificação e a etapa S1220 pode ser realizada pelo codificador de entropia do aparelho de codificação. Além disso, embora não mostrado, um processo de derivar amostras de predição para o bloco atual com base nos CPMVs pode ser realizado pelo preditor do aparelho de codificação, o processo de derivar uma amostra residual para o bloco atual com base na amostra original e a amostra de predição para o bloco atual pode ser realizada pelo subtrator do aparelho de codificação, o processo de geração de informações no residual para o bloco atual com base na amostra residual pode ser realizado pelo transformador do aparelho de codificação e o processo de codificação da informação sobre o residual pode ser realizada pelo codificador de entropia do aparelho de codificação.
[0296] O aparelho de codificação constrói uma lista de candidatos à fusão afins para o bloco atual (S1200). O aparelho de codificação pode construir uma lista de candidatos à fusão afins incluindo candidatos para o bloco atual. Os candidatos podem incluir candidatos afins herdados e candidatos afins construídos.
[0297] Por exemplo, os candidatos afins herdados podem ser derivados com base em blocos vizinhos do bloco atual, e um número máximo de candidatos afins herdados pode ser 2. Por exemplo, os candidatos afins herdados podem incluir um primeiro candidato afim herdado e um segundo candidato afim herdado.
[0298] Especificamente, o primeiro candidato afim herdado pode ser derivado com base em um grupo de bloco esquerdo incluindo um bloco vizinho de canto inferior esquerdo e um bloco vizinho esquerdo do bloco atual. Por exemplo, os blocos vizinhos no grupo de bloco esquerdo podem ser verificados em uma primeira ordem, e o primeiro candidato afim herdado pode ser derivado com base em um bloco vizinho codificado com um primeiro modelo de movimento afim verificado. No presente documento, o primeiro pedido pode ser um pedido do bloco vizinho de canto esquerdo inferior para o bloco vizinho esquerdo
[0299] Além disso, o segundo candidato afim herdado pode ser derivado com base em um grupo de bloco superior incluindo um bloco vizinho de canto superior direito, um bloco vizinho superior e um bloco vizinho de canto superior esquerdo do bloco atual. Por exemplo, os blocos vizinhos no grupo de blocos superiores podem ser verificados em uma segunda ordem e o segundo candidato afim herdado pode ser derivado com base em um bloco vizinho codificado com o primeiro modelo de movimento afim verificado. No presente documento, a segunda ordem pode ser uma ordem do bloco vizinho de canto superior direito para o bloco vizinho superior e o bloco vizinho de canto superior esquerdo.
[0300] Enquanto isso, quando um tamanho é W x H e um componente x da posição da amostra superior esquerda do bloco atual é 0 e um componente y do mesmo é 0, o bloco vizinho de canto esquerdo inferior pode ser um bloco incluindo uma amostra de coordenadas (-1, H), o bloco vizinho esquerdo pode ser um bloco incluindo uma amostra de coordenadas (-1, H-1), o bloco vizinho de canto superior direito pode ser um bloco incluindo uma amostra de coordenadas (W, -1 ), o bloco vizinho superior pode ser um bloco incluindo uma amostra de coordenadas de (W-1, -1) e o bloco vizinho de canto superior esquerdo pode ser um bloco incluindo uma amostra de coordenadas (-1, -1). Ou seja, o bloco vizinho esquerdo pode ser um bloco vizinho esquerdo posicionado na parte inferior entre os blocos vizinhos esquerdos do bloco atual, e o vizinho superior pode ser um bloco vizinho superior posicionado na extremidade esquerda entre os blocos vizinhos superiores do bloco atual.
[0301] Alternativamente, por exemplo, o candidato afim herdado pode ser derivado com base em um bloco vizinho do bloco atual, e o número máximo de candidatos afins herdados pode ser 1.
[0302] Especificamente, por exemplo, os blocos vizinhos podem ser verificados em uma ordem específica, e o candidato afim herdado pode ser derivado com base em um bloco vizinho codificado pelo primeiro modelo de movimento afim verificado. No presente documento, os blocos vizinhos podem incluir um bloco vizinho esquerdo, um bloco vizinho superior, um bloco vizinho de canto esquerdo inferior, um bloco vizinho de canto superior direito e um bloco vizinho de canto superior esquerdo do bloco atual. A ordem específica pode ser uma ordem do bloco vizinho esquerdo para o bloco vizinho superior, o bloco vizinho de canto esquerdo inferior, o bloco vizinho de canto superior direito e o bloco vizinho de canto superior esquerdo.
[0303] Enquanto isso, quando o tamanho é W H e um componente x da posição da amostra superior esquerda do bloco atual é 0 e um componente y do mesmo é 0, o bloco vizinho de canto esquerdo inferior pode ser um bloco incluindo uma amostra de coordenadas (-1, H), o bloco vizinho de canto superior direito pode ser um bloco incluindo uma amostra de coordenadas de (W, -1), o bloco vizinho superior pode ser um bloco incluindo uma amostra de coordenadas (W-1, - 1), e o bloco vizinho de canto superior esquerdo pode ser um bloco incluindo uma amostra de coordenadas (-1, -1). Ou seja, o bloco vizinho à esquerda pode ser um bloco vizinho à esquerda posicionado na parte inferior entre os blocos vizinhos à esquerda do bloco atual, e o bloco vizinho superior pode ser um bloco vizinho superior posicionado na extremidade esquerda entre os blocos vizinhos superiores do bloco atual.
[0304] Alternativamente, por exemplo, os candidatos afins herdados podem ser derivados com base nos blocos vizinhos do bloco atual e os índices de imagem de referência dos candidatos afins herdados podem representar imagens de referência diferentes. Por exemplo, os blocos vizinhos podem ser verificados em uma ordem específica e um primeiro candidato afim herdado pode ser derivado com base no primeiro bloco vizinho codificado com o modelo de movimento afim. Depois disso, quando o índice de imagem de referência do segundo bloco vizinho codificado com o modelo de movimento afim após o primeiro bloco vizinho na ordem específica representa uma imagem de referência diferente do índice de imagem de referência do primeiro bloco vizinho, um segundo candidato afim herdado pode ser derivado com base no segundo bloco vizinho. Se o índice de imagem de referência do segundo bloco vizinho representa a mesma imagem de referência que o índice de imagem de referência do primeiro bloco vizinho, um candidato afim herdado pode não ser derivado com base no segundo bloco vizinho.
[0305] Além disso, a título de exemplo, os candidatos afins construídos podem ser derivados com base nos blocos vizinhos do bloco atual.
[0306] Por exemplo, vetores de movimento candidatos para pontos de controle (CPs) do bloco atual podem ser derivados com base nos blocos vizinhos. No presente documento, os CPs podem incluir CP0, CP1, CP2. O CP0 pode representar uma posição superior esquerda do bloco atual, o CP1 pode representar uma posição superior direita do bloco atual e o CP2 pode representar uma posição inferior esquerda do bloco atual. Além disso, os blocos vizinhos podem incluir um bloco vizinho A, um bloco vizinho B, um bloco vizinho C, um bloco vizinho D, um bloco vizinho E, um bloco vizinho F e um bloco vizinho G do bloco atual. Quando o tamanho do bloco atual é W x H e o componente x da posição de amostra superior esquerda do bloco atual é 0 e o componente y do mesmo é 0, o bloco vizinho A pode ser um bloco incluindo uma amostra de coordenadas ( -1, -1), o bloco vizinho B pode ser um bloco incluindo uma amostra de coordenadas (0, -1), o bloco vizinho C pode ser um bloco incluindo uma amostra de coordenadas (-1, 0), o bloco vizinho D pode ser um bloco incluindo uma amostra de coordenadas (W-1, -1), o bloco vizinho E pode ser um bloco incluindo uma amostra de coordenadas (W, -1), o bloco vizinho F pode ser um bloco incluindo uma amostra de coordenadas (-1, H-1), e o bloco vizinho G pode ser um bloco incluindo uma amostra de coordenadas (-1, H). Ou seja, o bloco vizinho A pode ser um bloco vizinho de canto superior esquerdo do bloco atual, o bloco vizinho B pode ser um bloco vizinho superior posicionado mais à esquerda entre os blocos vizinhos superiores do bloco atual, o bloco vizinho C pode ser um bloco vizinho à esquerda posicionado na extremidade superior entre os blocos vizinhos à esquerda do bloco atual, o bloco vizinho D pode ser um bloco vizinho superior posicionado na extremidade direita entre os blocos vizinhos superiores do bloco atual, e o bloco vizinho E pode ser um bloco vizinho de canto superior direito do bloco atual, o bloco vizinho F pode ser um bloco vizinho esquerdo posicionado na parte inferior entre os blocos vizinhos à esquerda do bloco atual, e o bloco vizinho G pode ser um bloco vizinho de canto esquerdo inferior do bloco atual.
[0307] Especificamente, por exemplo, os blocos vizinhos no primeiro grupo podem ser verificados em uma primeira ordem, e um vetor de movimento de um primeiro bloco vizinho identificado pela primeira vez como disponível pode ser derivado como um vetor de movimento candidato para CP0. Ou seja, o vetor de movimento candidato para o CP0 pode ser derivado como o vetor de movimento do primeiro bloco vizinho identificado pela primeira vez como disponível, verificando se os blocos vizinhos no primeiro grupo estão disponíveis na primeira ordem. A disponibilidade pode indicar que o bloco vizinho está codificado por predição do tipo inter. Ou seja, o bloco vizinho disponível pode ser um bloco ao qual se aplica a predição do tipo inter. No presente documento, por exemplo, o primeiro grupo pode incluir o bloco vizinho A, o bloco vizinho B e o bloco vizinho C. A primeira ordem pode ser uma ordem do bloco vizinho A para o bloco vizinho B e o bloco vizinho C no primeiro grupo. Por exemplo, quando o bloco vizinho A está disponível, um vetor de movimento do bloco vizinho A pode ser derivado como um vetor de movimento candidato para o CP0. Quando o bloco vizinho A não está disponível e o bloco vizinho B está disponível, um vetor de movimento do bloco vizinho B pode ser derivado como um vetor de movimento candidato para o CP0. Quando o bloco vizinho A e o bloco vizinho B não estão disponíveis e o bloco vizinho C está disponível, um vetor de movimento do bloco vizinho C pode ser derivado como um vetor de movimento candidato para o CP0.
[0308] Além disso, por exemplo, os blocos vizinhos no segundo grupo podem ser verificados em uma segunda ordem, e um vetor de movimento de um segundo bloco vizinho identificado pela primeira vez como disponível pode ser derivado como um vetor de movimento candidato para CP1. Ou seja, o vetor de movimento candidato para o CP1 pode ser derivado como o vetor de movimento do segundo bloco vizinho primeiro identificado como disponível, verificando se os blocos vizinhos no segundo grupo estão disponíveis na segunda ordem. A disponibilidade pode indicar que o bloco vizinho está codificado por predição do tipo inter. Ou seja, o bloco vizinho disponível pode ser um bloco ao qual se aplica a predição do tipo inter. No presente documento, o segundo grupo pode incluir o bloco vizinho D e o bloco vizinho E. A segunda ordem pode ser uma ordem do bloco vizinho D para o bloco vizinho E no segundo grupo. Por exemplo, quando o bloco vizinho D está disponível, um vetor de movimento do bloco vizinho D pode ser derivado como um vetor de movimento candidato para o CP1. Quando o bloco vizinho D não está disponível e o bloco vizinho E está disponível, um vetor de movimento do bloco vizinho E pode ser derivado como um vetor de movimento candidato para o CP1.
[0309] Além disso, por exemplo, os blocos vizinhos no terceiro grupo podem ser verificados em uma terceira ordem, e um vetor de movimento de um terceiro bloco vizinho, primeiro identificado como disponível, pode ser derivado como um vetor de movimento candidato para CP2. Ou seja, o vetor de movimento candidato para o CP2 pode ser derivado como o vetor de movimento do terceiro bloco vizinho primeiro identificado como disponível, verificando se os blocos vizinhos no terceiro grupo estão disponíveis na terceira ordem. A disponibilidade pode indicar que o bloco vizinho está codificado por predição do tipo inter. Ou seja, o bloco vizinho disponível pode ser um bloco ao qual se aplica a predição do tipo inter. No presente documento, o terceiro grupo pode incluir o bloco vizinho F e o bloco vizinho G. A terceira ordem pode ser uma ordem do bloco vizinho F para o bloco vizinho G no terceiro grupo. Por exemplo, quando o bloco vizinho F está disponível, um vetor de movimento do bloco vizinho F pode ser derivado como um vetor de movimento candidato para o CP2. Quando o bloco vizinho F não está disponível e o bloco vizinho G está disponível, um vetor de movimento do bloco vizinho G pode ser derivado como um vetor de movimento candidato para o CP2.
[0310] Posteriormente, os candidatos afins construídos podem ser derivados com base nos vetores de movimento candidatos dos CPs.
[0311] Por exemplo, quando uma imagem de referência para o primeiro bloco vizinho, uma imagem de referência para o segundo bloco vizinho e uma imagem de referência para o terceiro bloco vizinho são iguais, os candidatos afins construídos podem incluir um primeiro candidato afim construído incluindo um vetor de movimento candidato para o CP1, um vetor de movimento candidato para o CP2 e um vetor de movimento candidato para o CP3. Ou, por exemplo, quando a imagem de referência para o primeiro bloco vizinho, a imagem de referência para o segundo bloco vizinho e a imagem de referência para o terceiro bloco vizinho são as mesmas, os candidatos afins construídos podem incluir o primeiro candidato afim construído e um segundo candidato afim construído incluindo o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP1. Ou, por exemplo, quando a imagem de referência para o primeiro bloco vizinho, a imagem de referência para o segundo bloco vizinho e a imagem de referência para o terceiro bloco vizinho são iguais, os candidatos afins construídos podem incluir o primeiro candidato afim construído, o segundo candidato afim construído e um terceiro candidato afim construído incluindo o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP2. Ou, por exemplo, quando a imagem de referência para o primeiro bloco vizinho, a imagem de referência para o segundo bloco vizinho e a imagem de referência para o terceiro bloco vizinho são iguais, os candidatos afins construídos podem incluir o primeiro candidato afim construído, o segundo candidato afim construído, o terceiro candidato afim construído e um quarto candidato afim construído incluindo o vetor de movimento candidato para o CP1 e o vetor de movimento candidato para o CP2.
[0312] Além disso, por exemplo, quando a imagem de referência para o primeiro bloco vizinho e a imagem de referência para o segundo bloco vizinho são as mesmas, os candidatos afins construídos podem incluir o segundo candidato afim construído incluindo o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP1.
[0313] Além disso, por exemplo, quando a imagem de referência para o primeiro bloco vizinho e a imagem de referência para o terceiro bloco vizinho são iguais, os candidatos afins construídos podem incluir o terceiro candidato afim construído, incluindo o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP2.
[0314] Além disso, por exemplo, quando a imagem de referência para o segundo bloco vizinho e a imagem de referência para o terceiro bloco vizinho são iguais, os candidatos afins construídos podem incluir o quarto candidato afim construído incluindo o vetor de movimento candidato para o CP1 e o vetor de movimento candidato para o CP2.
[0315] Enquanto isso, se o número de candidatos afins (ou seja, candidatos afins herdados e/ou candidatos afins construídos) derivados através do processo acima for menor do que o número máximo de candidatos, a lista de candidatos afins pode incluir um candidato zero. Por exemplo, o candidato zero pode incluir vetores de movimento candidatos tendo um valor de 0 e um índice de imagem de referência.
[0316] Além disso, quando o número de candidatos afins herdados e candidatos afins construídos é menor do que o número máximo de candidatos da lista de candidatos afins, isto é, quando o número de candidatos derivados é menor do que o número máximo de candidatos, a lista de candidatos à fusão afins pode incluir um candidato zero. O candidato zero pode incluir vetores de movimento candidatos tendo um valor zero para os CPs e um índice de imagem de referência tendo um valor zero. Ou, por exemplo, quando o número de candidatos derivados é menor do que o número máximo de candidatos, um primeiro candidato zero, um segundo candidato zero, um terceiro candidato zero, ..., o n-ésimo candidato pode ser adicionado, nesta ordem à lista à fusão de candidatos afins até que o número de candidatos afins na lista de candidatos afins atinja o número máximo de candidatos. Por exemplo, o primeiro candidato zero pode incluir vetores de movimento candidatos tendo um valor de 0, um índice de imagem de referência L0 (lista 0) tendo um valor de 0 e um índice de imagem de referência L1 (lista 1), o segundo candidato zero pode incluir vetores de movimento candidatos tendo um valor de 0, um índice de imagem de referência L0 tendo um valor de 0 e um índice de imagem de referência L1 tendo um valor de 1, o terceiro candidato zero pode incluir vetores de movimento candidatos tendo um valor de 0, um índice de imagem de referência L0 tendo um valor de 1, e um índice de imagem de referência L1 tendo um valor de 0, e o quarto candidato zero pode incluir vetores de movimento candidatos tendo um valor de 0, um índice de imagem de referência L0 tendo um valor de 1 e um L1 índice de imagem de referência tendo um valor de 1. Alternativamente, por exemplo, índices de imagem de referência do bloco vizinho A, o bloco vizinho B, o bloco vizinho C, o bloco vizinho D, o bloco vizinho E, o bloco vizinho F, e o vizinho o bloco G pode ser incluído no primeiro candidato a zero ao enésimo candidato a zero em ordem de frequência mais alta. Alternativamente, por exemplo, o primeiro candidato a zero pode incluir os vetores de movimento candidatos tendo um valor de 0 e um índice de imagem de referência tendo o mesmo valor que aquele de um índice de imagem de referência do bloco vizinho esquerdo do bloco atual, o segundo candidato zero pode incluir os vetores de movimento candidatos tendo um valor de 0 e um índice de imagem de referência tendo o mesmo valor que aquele de um índice de imagem de referência do bloco vizinho superior do bloco atual, o terceiro candidato zero pode incluir os vetores de movimento candidatos tendo um valor de 0 e um índice de imagem de referência tendo o mesmo valor que aquele de um índice de imagem de referência do bloco vizinho de canto esquerdo inferior do bloco atual, o quarto candidato zero pode incluir os vetores de movimento candidatos tendo um valor de 0 e um índice de imagem de referência tendo o mesmo valor que o de um índice de imagem de referência do bloco vizinho de canto superior direito do bloco atual, e o quinto candidato a zero pode incluir os vetores de movimento candidatos tendo um valor de 0 e um índice de imagem de referência tendo o mesmo valor que aquele de um índice de imagem de referência do bloco vizinho de canto superior esquerdo do bloco atual.
[0317] O aparelho de codificação deriva vetores de movimento de ponto de controle (CPMVs) para pontos de controle (CPs) do bloco atual com base na lista de candidatos à fusão afins (S1210). O aparelho de codificação pode derivar CPMVs para os CPs do bloco atual com um custo de RD ideal e selecionar um candidato afim mais semelhante aos CPMVs entre os candidatos afins da lista de candidatos afins como um candidato afim para o bloco atual. O aparelho de codificação pode derivar vetores de movimento de ponto de controle (CPMVs) para pontos de controle (CPs) do bloco atual com base no candidato afim selecionado entre os candidatos afins incluídos na lista de candidatos à fusão de candidatos. Especificamente, quando o candidato afim selecionado inclui um vetor de movimento candidato para CP0 e um vetor de movimento candidato para CP1, o vetor de movimento candidato do candidato afim para CP0 pode ser derivado como o CPMV de CP0 e o vetor de movimento candidato do candidato afim para CP1 pode ser derivado como o CPMV do CP1. Além disso, quando o candidato afim selecionado inclui um vetor de movimento candidato para CP0, um vetor de movimento candidato para CP1 e um vetor de movimento candidato para CP2, o vetor de movimento candidato do candidato afim para CP0 pode ser derivado como o CPMV de CP0, o movimento candidato o vetor do candidato afim para CP1 pode ser derivado como o CPMV do CP1 e o vetor de movimento candidato do candidato afim para CP2 pode ser derivado como o CPMV do CP2. Além disso, quando o candidato afim selecionado inclui um vetor de movimento candidato para CP0 e um vetor de movimento candidato para CP2, o vetor de movimento candidato do candidato afim para CP0 pode ser derivado como o CPMV do CP0 e o vetor de movimento candidato do afim candidato para o CP2 pode ser derivado como o CPMV do CP2.
[0318] O aparelho de codificação pode codificar o índice de candidato afim indicando o candidato selecionado entre os candidatos afins. O índice de candidato afim pode indicar o candidato afim entre os candidatos afins incluídos na lista de candidatos afins para o bloco atual.
[0319] O aparelho de codificação codifica informações de imagem, incluindo informações de predição no bloco atual (S1220). O aparelho de codificação pode emitir informações de imagem, incluindo informações sobre o bloco atual na forma de um fluxo de bits. O aparelho de codificação pode codificar as informações da imagem, as informações da imagem podem incluir informações de predição para o bloco atual e as informações de predição podem incluir o índice de candidato afim.
[0320] Conforme descrito acima, o índice de candidato afim pode indicar o candidato afim selecionado entre os candidatos afins incluídos na lista de candidatos afins para o bloco atual.
[0321] Enquanto isso, como um exemplo, o aparelho de codificação pode derivar amostras de predição para o bloco atual com base nos CPMVs, derivar uma amostra residual para o bloco atual com base na amostra original e a amostra de predição para o bloco atual, gerar informações sobre o residual para o bloco atual com base na amostra residual e codificar informações sobre o residual. A informação da imagem pode incluir a informação residual.
[0322] Enquanto isso, o fluxo de bits pode ser transmitido para o aparelho de decodificação através de uma rede ou meio de armazenamento (digital). A rede pode incluir uma rede de transmissão e/ou uma rede de comunicação e o meio de armazenamento digital pode incluir vários meios de armazenamento, como USB, SD, CD, DVD, Blu-ray, HDD, SSD e semelhantes.
[0323] A Figura 13 ilustra um aparelho de codificação para realizar um método de codificação de imagem de acordo com a presente revelação. O método revelado na Figura 12 pode ser realizado pelo aparelho de codificação revelado na Figura 13. Especificamente, por exemplo, o preditor do aparelho de codificação da Figura 13 pode realizar S1200 a S1210 da Figura 12, e o codificador de entropia do aparelho de codificação da Figura 13 pode realizar S1220 da Figura 12. Além disso, embora não seja mostrado, o processo de derivar amostras de predição para o bloco atual com base nos CPMVs pode ser realizado pelo preditor do aparelho de codificação da Figura 21, o processo de derivar uma amostra residual para o bloco atual com base na amostra original e uma amostra de predição para o bloco atual pode ser realizado pelo subtrator do aparelho de codificação da Figura 13, o processo de geração de informações sobre o residual para o bloco atual com base na amostra residual pode ser realizado pelo transformador do aparelho de codificação da Figura 13, e o processo de codificação da informação sobre o resíduo pode ser realizado pelo codificador de entropia do aparelho de codificação da Figura 13
[0324] A Figura 14 ilustra um método de decodificação de imagem por um aparelho de decodificação de acordo com a presente revelação. O método revelado na Figura 14 pode ser realizado pelo aparelho de decodificação revelado na Figura 2. Especificamente, por exemplo, as etapas S1400 a S1420 da Figura 14 pode ser realizada pelo preditor do aparelho de decodificação e a etapa S1430 pode ser realizada pelo adicionador do aparelho de decodificação. Além disso, embora não mostrado, o processo de obtenção de informações de imagem incluindo informações sobre o residual do bloco atual e/ou as informações de predição através do fluxo de bits pode ser realizado por um decodificador de entropia do aparelho de decodificação e o processo para derivar a amostra residual para o bloco atual com base nas informações sobre o resíduo pode ser realizada pelo transformador inverso do aparelho de decodificação.
[0325] O aparelho de decodificação constrói uma lista de candidatos à fusão afins para o bloco atual (S1400). O aparelho de decodificação pode construir uma lista de candidatos à fusão afins incluindo candidatos para o bloco atual. Os candidatos podem incluir candidatos afins herdados e candidatos afins construídos.
[0326] Por exemplo, os candidatos afins herdados podem ser derivados com base em blocos vizinhos do bloco atual, e um número máximo de candidatos afins herdados pode ser 2. Por exemplo, os candidatos afins herdados podem incluir um primeiro candidato afim herdado e um segundo candidato afim herdado.
[0327] Especificamente, o primeiro candidato afim herdado pode ser derivado com base em um grupo de bloco esquerdo incluindo um bloco vizinho de canto inferior esquerdo e um bloco vizinho esquerdo do bloco atual. Por exemplo, blocos vizinhos no grupo de bloco esquerdo podem ser verificados em uma primeira ordem, e o primeiro candidato afim herdado pode ser derivado com base em um bloco vizinho codificado com o primeiro modelo de movimento afim verificado. No presente documento, a primeira ordem pode ser uma ordem do bloco vizinho de canto esquerdo inferior ao bloco vizinho esquerdo.
[0328] Além disso, o segundo candidato afim herdado pode ser derivado com base em um grupo de bloco superior incluindo um bloco vizinho de canto superior direito, um bloco vizinho superior e um bloco vizinho de canto superior esquerdo do bloco atual. Por exemplo, os blocos vizinhos no grupo de blocos superior podem ser verificados em uma segunda ordem e o segundo candidato afim herdado pode ser derivado com base em um bloco vizinho codificado com o primeiro modelo de movimento afim verificado. No presente documento, a segunda ordem pode ser uma ordem do bloco vizinho de canto superior direito até o bloco vizinho superior e o bloco vizinho de canto superior esquerdo.
[0329] Enquanto isso, quando o tamanho é W x H e um componente x da posição da amostra superior esquerda do bloco atual é 0 e um componente y do mesmo é 0, o bloco vizinho de canto esquerdo inferior pode ser um bloco incluindo uma amostra de coordenadas (-1, H), o bloco vizinho esquerdo pode ser um bloco incluindo uma amostra de coordenadas (-1, H-1), o bloco vizinho de canto superior direito pode ser um bloco incluindo uma amostra de coordenadas (W, -1 ), o bloco vizinho superior pode ser um bloco incluindo uma amostra de coordenadas (W-1, -1) e o bloco vizinho de canto superior esquerdo pode ser um bloco incluindo uma amostra de coordenadas (-1, -1). Ou seja, o bloco vizinho à esquerda pode ser um bloco vizinho à esquerda posicionado na parte inferior entre os blocos vizinhos à esquerda do bloco atual, e o bloco vizinho superior pode ser um bloco vizinho superior posicionado na extremidade esquerda entre os blocos vizinhos superiores do bloco atual.
[0330] Alternativamente, por exemplo, o candidato afim herdado pode ser derivado com base em um bloco vizinho do bloco atual, e um número máximo de candidatos afins herdados pode ser 1.
[0331] Especificamente, por exemplo, os blocos vizinhos podem ser verificados em uma ordem específica e o candidato afim herdado pode ser derivado com base em um bloco vizinho codificado com um primeiro modelo de movimento afim verificado. No presente documento, os blocos vizinhos podem incluir um bloco vizinho esquerdo, um bloco vizinho superior, um bloco vizinho de canto esquerdo inferior, um bloco vizinho de canto superior direito e um bloco vizinho de canto superior esquerdo do bloco atual. A ordem específica pode ser uma ordem do bloco vizinho esquerdo para o bloco vizinho superior, o bloco vizinho de canto esquerdo inferior, o bloco vizinho de canto superior direito e o bloco vizinho de canto superior esquerdo.
[0332] Enquanto isso, quando o tamanho é WxH e um componente x da posição da amostra superior esquerda do bloco atual é 0 e um componente y do mesmo é 0, o bloco vizinho de canto esquerdo inferior pode ser um bloco incluindo uma amostra de coordenadas (-1, H), o bloco vizinho esquerdo pode ser um bloco incluindo uma amostra de coordenadas (-1, H-1), o bloco vizinho de canto superior direito pode ser um bloco incluindo uma amostra de coordenadas (W, -1 ), o bloco vizinho superior pode ser um bloco incluindo uma amostra de coordenadas (W-1, -1) e o bloco vizinho de canto superior esquerdo pode ser um bloco incluindo uma amostra de coordenadas (-1, -1). Ou seja, o bloco vizinho à esquerda pode ser um bloco vizinho à esquerda posicionado na parte inferior entre os blocos vizinhos à esquerda do bloco atual, e o bloco vizinho superior pode ser um bloco vizinho superior posicionado na extremidade esquerda entre os blocos vizinhos superiores do bloco atual.
[0333] Alternativamente, por exemplo, os candidatos afins herdados podem ser derivados com base em blocos vizinhos do bloco atual e os índices de imagem de referência dos candidatos afins herdados podem representar imagens de referência diferentes. Por exemplo, os blocos vizinhos podem ser verificados em uma ordem específica e um primeiro candidato afim herdado pode ser derivado com base no primeiro bloco vizinho codificado com o modelo de movimento afim. Depois disso, quando o índice de imagem de referência do segundo bloco vizinho codificado com o modelo de movimento afim após o primeiro bloco vizinho na ordem específica representa uma imagem de referência diferente do índice de imagem de referência do primeiro bloco vizinho, o segundo candidato afim herdado pode ser derivado com base no segundo bloco vizinho. Se o índice de imagem de referência do segundo bloco vizinho representa a mesma imagem de referência que o índice de imagem de referência do primeiro bloco vizinho, um candidato afim herdado não pode ser derivado com no segundo bloco vizinho.
[0334] Além disso, a título de exemplo, os candidatos afins construídos podem ser derivados com base nos blocos vizinhos do bloco atual.
[0335] Por exemplo, vetores de movimento candidatos para CPs do bloco atual podem ser derivados com base nos blocos vizinhos. No presente documento, os CPs podem incluir CP0, CP1 e CP2. O CP0 pode representar uma posição superior esquerda do bloco atual, o CP1 pode representar uma posição superior direita do bloco atual e o CP2 pode representar uma posição inferior esquerda do bloco atual. Além disso, os blocos vizinhos podem incluir um bloco vizinho A, um bloco vizinho B, um bloco vizinho C, um bloco vizinho D, um bloco vizinho E, um bloco vizinho F e um bloco vizinho G do bloco atual. Quando o tamanho do bloco atual é W x H e o componente x da posição de amostra superior esquerda do bloco atual é 0 e o componente y do mesmo é 0, o bloco vizinho A pode ser um bloco incluindo uma amostra de coordenadas ( -1, -1), o bloco vizinho B pode ser um bloco incluindo uma amostra de coordenadas (0, -1), o bloco vizinho C pode ser um bloco incluindo uma amostra de coordenadas (-1, 0), o bloco vizinho D pode ser um bloco incluindo uma amostra de coordenadas (W-1, -1), o bloco vizinho E pode ser um bloco incluindo uma amostra de coordenadas (W, -1), o bloco vizinho F pode ser um bloco incluindo uma amostra de coordenadas (-1, H-1), e o bloco vizinho G pode ser um bloco incluindo uma amostra de coordenadas (-1, H). Ou seja, o bloco vizinho A pode ser um bloco vizinho de canto superior esquerdo do bloco atual, o bloco vizinho B pode ser um bloco vizinho superior posicionado mais à esquerda entre os blocos vizinhos superiores do bloco atual, o bloco vizinho C pode ser um bloco vizinho à esquerda posicionado na extremidade superior entre os blocos vizinhos à esquerda do bloco atual, o bloco vizinho D pode ser um bloco vizinho superior posicionado na extremidade direita entre os blocos vizinhos superiores do bloco atual, e o bloco vizinho E pode ser um bloco vizinho de canto superior direito do bloco atual, o bloco vizinho F pode ser um bloco vizinho esquerdo posicionado na parte inferior entre os blocos vizinhos à esquerda do bloco atual, e o bloco vizinho G pode ser um bloco vizinho de canto esquerdo inferior do bloco atual quadra.
[0336] Especificamente, por exemplo, pode ser verificado se os blocos vizinhos no primeiro grupo estão disponíveis em uma primeira ordem, e um vetor de movimento do primeiro bloco vizinho verificado primeiro como estando disponível pode ser derivado como um vetor de movimento candidato para CP0. Ou seja, o vetor de movimento candidato para o CP0 pode ser derivado como o vetor de movimento do primeiro bloco vizinho identificado pela primeira vez como estando disponível, verificando se os blocos vizinhos no primeiro grupo estão disponíveis na primeira ordem. A disponibilidade pode indicar que o bloco vizinho está codificado por predição do tipo inter. Ou seja, o bloco vizinho disponível pode ser um bloco ao qual se aplica a predição do tipo inter. No presente documento, por exemplo, o primeiro grupo pode incluir o bloco vizinho A, o bloco vizinho B e o bloco vizinho C. A primeira ordem pode ser uma ordem do bloco vizinho A para o bloco vizinho B e o bloco vizinho C no primeiro grupo. Por exemplo, quando o bloco vizinho A está disponível, o vetor de movimento do bloco vizinho A pode ser derivado como um vetor de movimento candidato para o CP0. Quando o bloco vizinho A não está disponível e o bloco vizinho B está disponível, um vetor de movimento do bloco vizinho B pode ser derivado como um vetor de movimento candidato para o CP0. Quando o bloco vizinho A e o bloco vizinho B não estão disponíveis e o bloco vizinho C está disponível, um vetor de movimento do bloco vizinho C pode ser derivado como um vetor de movimento candidato para o CP0.
[0337] Além disso, por exemplo, pode ser verificado se os blocos vizinhos no segundo grupo estão disponíveis em uma segunda ordem, e um vetor de movimento do segundo bloco vizinho primeiro verificado como estando disponível pode ser derivado como um vetor de movimento candidato para CP1. Ou seja, o vetor de movimento candidato para o CP1 pode ser derivado como o vetor de movimento do segundo bloco vizinho identificado primeiro como estando disponível, verificando se os blocos vizinhos no segundo grupo estão disponíveis na segunda ordem. A disponibilidade pode indicar que o bloco vizinho está codificado por predição do tipo inter. Ou seja, o bloco vizinho disponível pode ser um bloco ao qual se aplica a predição do tipo inter. No presente documento, o segundo grupo pode incluir o bloco vizinho D e o bloco vizinho E. A segunda ordem pode ser uma ordem do bloco vizinho D para o bloco vizinho E no segundo grupo. Por exemplo, quando o bloco vizinho D está disponível, o vetor de movimento do bloco vizinho D pode ser derivado como um vetor de movimento candidato para o CP1. Quando o bloco vizinho D não está disponível e o bloco vizinho E está disponível, um vetor de movimento do bloco vizinho E pode ser derivado como um vetor de movimento candidato para o CP1.
[0338] Além disso, por exemplo, se os blocos vizinhos no terceiro segundo grupo estão disponíveis em uma terceira ordem, pode ser verificado e um vetor de movimento do segundo bloco vizinho primeiro verificado como estando disponível pode ser derivado como um vetor de movimento candidato para CP2. Ou seja, o vetor de movimento candidato para o CP2 pode ser derivado como o vetor de movimento do terceiro bloco vizinho, primeiro identificado como disponível, verificando se os blocos vizinhos no terceiro grupo estão disponíveis na terceira ordem. A disponibilidade pode indicar que o bloco vizinho está codificado por predição do tipo inter. Ou seja, o bloco vizinho disponível pode ser um bloco ao qual se aplica a predição do tipo inter. No presente documento, o terceiro grupo pode incluir o bloco vizinho F e o bloco vizinho G. A terceira ordem pode ser uma ordem do bloco vizinho F para o bloco vizinho G no terceiro grupo. Por exemplo, quando o bloco vizinho F está disponível, o vetor de movimento do bloco vizinho F pode ser derivado como um vetor de movimento candidato para o CP2. Quando o bloco vizinho F não está disponível e o bloco vizinho G está disponível, um vetor de movimento do bloco vizinho G pode ser derivado como um vetor de movimento candidato para o CP2.
[0339] Posteriormente, os candidatos afins construídos podem ser derivados com base nos vetores de movimento candidatos dos CPs.
[0340] Por exemplo, quando a imagem de referência para o primeiro bloco vizinho, a imagem de referência para o segundo bloco vizinho e a imagem de referência para o terceiro bloco vizinho são iguais, os candidatos afins construídos podem incluir um primeiro candidato afim construído incluindo o vetor de movimento candidato para o CP1, o vetor de movimento candidato para o CP2 e o vetor de movimento candidato para o CP3. Ou, por exemplo, quando a imagem de referência para o primeiro bloco vizinho, a imagem de referência para o segundo bloco vizinho e a imagem de referência para o terceiro bloco vizinho são as mesmas, os candidatos afins construídos podem incluir o primeiro candidato afim construído e um segundo candidato afim construído incluindo o vetor de movimento candidato para o CP0 e um vetor de movimento candidato para o CP1. Ou, por exemplo, quando a imagem de referência para o primeiro bloco vizinho, a imagem de referência para o segundo bloco vizinho e a imagem de referência para o terceiro bloco vizinho são iguais, os candidatos afins construídos podem incluir o primeiro candidato afim construído, o segundo candidato afim construído e um terceiro candidato afim construído incluindo o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP2. Ou, por exemplo, quando a imagem de referência para o primeiro bloco vizinho, a imagem de referência para o segundo bloco vizinho e a imagem de referência para o terceiro bloco vizinho são iguais, os candidatos afins construídos podem incluir o primeiro candidato afim construído, o segundo candidato afim construído, o terceiro candidato afim construído e um quarto candidato afim construído incluindo o vetor de movimento candidato para o CP1 e o vetor de movimento candidato para o CP2.
[0341] Além disso, por exemplo, quando a imagem de referência para o primeiro bloco vizinho e a imagem de referência para o segundo bloco vizinho são as mesmas, os candidatos afins construídos podem incluir o segundo candidato afim construído incluindo o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP1.
[0342] Além disso, por exemplo, quando a imagem de referência para o primeiro bloco vizinho e a imagem de referência para o terceiro bloco vizinho são as mesmas, os candidatos afins construídos podem incluir o terceiro candidato afim construído incluindo o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP2.
[0343] Além disso, por exemplo, quando a imagem de referência para o segundo bloco vizinho e a imagem de referência para o terceiro bloco vizinho são as mesmas, os candidatos afins construídos podem incluir o quarto candidato afim construído incluindo o vetor de movimento candidato para o CP1 e o vetor de movimento candidato para o CP2.
[0344] Além disso, quando o número de candidatos afins herdados e candidatos afins construídos é menor do que o número máximo de candidatos da lista de candidatos afins, isto é, quando o número de candidatos afins derivados é menor que o número máximo de candidatos, a lista de candidatos afins pode incluir um candidato zero. O candidato zero pode incluir vetores de movimento candidatos tendo um valor zero para os CPs e um índice de imagem de referência tendo um valor zero. Ou, por exemplo, quando o número de candidatos derivados é menor que o número máximo de candidatos, um primeiro candidato zero, um segundo candidato zero, um terceiro candidato zero, ..., um enésimo candidato zero podem ser adicionados nesta ordem à lista de candidatos afins até que o número de candidatos afins da lista de candidatos afins atinja o número máximo de candidatos. Por exemplo, o primeiro candidato zero pode incluir vetores de movimento candidatos tendo um valor de 0, um índice de imagem de referência L0 (lista 0) tendo um valor de 0 e um índice de imagem de referência L1 (lista 1) tendo um valor de 0, o segundo candidato zero pode incluir vetores de movimento candidatos tendo um valor de 0, um índice de imagem de referência L0 tendo um valor de 0 e um índice de imagem de referência L1 tendo um valor de 1, o terceiro candidato zero pode incluir vetores de movimento candidatos tendo um valor de 0, um índice de imagem de referência L0 tendo um valor de 1 e um índice de imagem de referência L1 tendo um valor de 0, e o quarto candidato zero pode incluir vetores de movimento candidatos tendo um valor de 0, um índice de imagem de referência L0 tendo um valor de 1, e um índice de imagem de referência L1 tendo um valor de 1. Ou, por exemplo, os índices de imagem de referência do bloco vizinho A, o bloco vizinho B, o bloco vizinho C, o bloco vizinho D, o bloco vizinho E, o bloco vizinho F, e o bloco vizinho G podem ser incluídos no primeiro candidato a zero até o enésimo candidato a zero em ordem de frequência mais alta. Alternativamente, por exemplo, o primeiro candidato zero pode incluir vetores de movimento candidatos tendo um valor de 0 e um índice de imagem de referência tendo o mesmo valor que um índice de imagem de referência do bloco vizinho esquerdo do bloco atual, o segundo candidato zero pode incluir o vetores de movimento candidatos tendo um valor de 0 e um índice de imagem de referência tendo o mesmo valor que um índice de imagem de referência do bloco vizinho superior do bloco atual, o terceiro candidato zero pode incluir os vetores de movimento candidatos tendo um valor de 0 e uma referência índice de imagem tendo o mesmo valor que um índice de imagem de referência do bloco vizinho de canto esquerdo inferior do bloco atual, o quarto zero candidato pode incluir os vetores de movimento candidatos tendo um valor de 0 e um índice de imagem de referência tendo o mesmo valor como uma referência índice de imagem do bloco vizinho de canto superior direito do bloco atual, e o quinto zero candidato pode incluir vetores de movimento candidatos tendo um valor de 0 e um índice de imagem de referência tendo o mesmo valor que um índice de imagem de referência do bloco vizinho de canto superior esquerdo do bloco atual.
[0345] O aparelho de decodificação deriva CPMVs (Pontos de Controle de Vetores de Movimento) para CPs do bloco atual, com base na lista de candidatos à fusão afins (S1410).
[0346] O aparelho de decodificação pode selecionar um dos candidatos afins incluídos na lista de candidatos afins de fusão e derivar os CPMVs do bloco atual para os CPs com base no candidato MVP afim selecionado.
[0347] Por exemplo, o aparelho de decodificação pode obter um índice candidato afim para o bloco atual de um fluxo de bits e derivar CPMVs do bloco atual para os CPs com base em um candidato afim indicado pelo índice candidato afim entre os candidatos afins incluídos no lista de candidatos à fusão afim. O aparelho de decodificação pode obter informações de imagem do fluxo de bits, e as informações de imagem podem incluir informações de predição no bloco atual. As informações de predição podem incluir o índice de candidato afim.
[0348] Especificamente, quando o candidato afim inclui um vetor de movimento candidato para o CP0 e um vetor de movimento candidato para o CP1, o vetor de movimento candidato do candidato afim para o CP0 pode ser derivado como o CPMV do CP0 e o movimento candidato do vetor do candidato afim para o CP1 pode ser derivado como o CPMV do CP1. Além disso, quando o candidato afim inclui um vetor de movimento candidato para o CP0, um vetor de movimento candidato para o CP1 e um vetor de movimento candidato para o CP2, o vetor de movimento candidato do candidato afim para o CP0 pode ser derivado como o CPMV do CP0, o vetor de movimento candidato do candidato afim para o CP1 pode ser derivado como o CPMV do CP1 e o vetor de movimento candidato do candidato afim para o CP2 pode ser derivado como o CPMV do CP2. Além disso, quando o candidato afim inclui um vetor de movimento candidato para CP0 e um vetor de movimento candidato para CP2, o vetor de movimento candidato do candidato afim para CP0 pode ser derivado como o CPMV do CP0 e o vetor de movimento candidato do candidato afim para CP2 pode ser derivado como o CPMV do CP2.
[0349] O aparelho de decodificação conduz amostras de predição para o bloco atual com base nos CPMVs (S1420). O aparelho de decodificação pode derivar vetores de movimento do bloco atual na unidade de sub-bloco ou a unidade de amostra com base nos CPMVs. Ou seja, o aparelho de decodificação pode derivar um vetor de movimento de cada sub-bloco ou de cada amostra do bloco atual com base nos CPMVs. Os vetores de movimento na unidade de sub-bloco ou na unidade de amostra podem ser derivados com base na Equação 1 ou Equação 3 descritas acima. Os vetores de movimento podem ser referidos como um campo de vetor de movimento afim (MVF) ou uma matriz de vetor de movimento.
[0350] O aparelho de decodificação pode derivar amostras de predição para o bloco atual com base nos vetores de movimento da unidade de sub-bloco ou da unidade de amostra. O aparelho de decodificação pode derivar uma região de referência em uma imagem de referência com base no vetor de movimento da unidade de sub-bloco ou da unidade de amostra e gerar uma amostra de predição do bloco atual com base em uma amostra reconstruída na região de referência.
[0351] O aparelho de decodificação gera uma imagem reconstruída para o bloco atual com base nas amostras de predição derivadas (S1430). O aparelho de decodificação pode gerar uma imagem reconstruída para o bloco atual com base nas amostras de predição derivadas. O aparelho de decodificação pode usar diretamente a amostra de predição como uma amostra reconstruída ou gerar uma amostra reconstruída adicionando uma amostra residual à amostra de predição de acordo com um modo de predição. Se houver uma amostra residual para o bloco atual, o aparelho de decodificação pode obter informações de imagem, incluindo informações sobre o resíduo para o bloco atual do fluxo de bits. As informações sobre o resíduo podem incluir um coeficiente de transformação em relação à amostra residual. O aparelho de decodificação pode derivar a amostra residual (ou matriz de amostra residual) para o bloco atual com base nas informações sobre o resíduo. O aparelho 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 imagem reconstruída com base na amostra reconstruída. Depois disso, como descrito acima, o aparelho de decodificação pode aplicar um procedimento de filtragem em loop, como uma filtragem de desbloqueio e/ou procedimento SAO, à imagem reconstruída fim de melhorar a qualidade de imagem subjetiva/objetiva conforme necessário.
[0352] A Figura 15 ilustra um aparelho de decodificação para realizar um método de decodificação de imagem de acordo com a presente revelação. O método revelado na Figura 14 pode ser realizado pelo aparelho de decodificação revelado na Figura 15. Especificamente, por exemplo, o preditor do aparelho de decodificação da Figura 15 pode realizar as etapas S1400 a S1420 da Figura 14, e o adicionador do aparelho de decodificação da Figura 15 pode realizar a etapa S1430 da Figura 14. Além disso, embora não mostrado, um processo de obtenção de informações de imagem incluindo informações sobre o residual do bloco atual e/ou informações de predição através de um fluxo de bits pode ser realizado pelo decodificador de entropia do aparelho de decodificação da Figura 15 e um processo de derivar a amostra residual para o bloco atual com base na informação residual pode ser realizado pelo transformador inverso do aparelho de decodificação da Figura 15.
[0353] De acordo com a presente revelação descrita acima, a complexidade do cálculo do modo de fusão afim pode ser reduzida, melhorando assim a eficiência geral da codificação de vídeo.
[0354] Além disso, de acordo com a presente revelação, ao derivar a lista de candidatos afins, o número máximo de candidatos afins herdados pode ser definido como 2 e um candidato afim herdado em cada grupo de bloco esquerdo e o grupo de bloco superior pode ser derivados, reduzindo assim a complexidade do cálculo e melhorando a eficiência da codificação no processo de derivar candidatos afins herdados e construir a lista de candidatos afins.
[0355] Nos sistemas exemplares acima, embora os métodos tenham sido descritos com base nos fluxogramas usando uma série de etapas ou blocos, a presente revelação não está limitada à sequência das etapas e algumas das etapas podem ser realizadas em sequências diferentes das etapas restantes ou podem ser realizadas simultaneamente com as etapas restantes. Além disso, aqueles versados na técnica entenderão que as etapas mostradas nos fluxogramas não são exclusivas e podem incluir outras etapas ou uma ou mais etapas dos fluxogramas podem ser excluídas sem afetar o escopo da presente revelação.
[0356] As modalidades descritas neste documento podem ser implementadas e realizadas em um processador, um microprocessador, um controlador ou um chip. Por exemplo, as unidades funcionais mostradas em cada desenho podem ser implementadas e executadas em um computador, processador, microprocessador, controlador ou chip. Neste caso, informações (por exemplo, informações sobre instruções) ou um algoritmo para implementação podem ser armazenados em um meio de armazenamento digital.
[0357] Além disso, o aparelho de decodificação e o aparelho de codificação ao qual a presente revelação é aplicada podem ser aplicados aos dispositivos de comunicação multimídia, como um dispositivo de transmissão e recepção de transmissão multimídia, um terminal de comunicação móvel, um dispositivo de vídeo de cinema em casa, um dispositivo de vídeo cinema digital, uma câmera de vigilância, um dispositivo de bate-papo com vídeo, dispositivos de vídeo (3D), dispositivos de vídeo de telefonia de vídeo e dispositivos de vídeo médicos e semelhantes, que podem ser incluídos, por exemplo, em um meio de armazenamento, uma filmadora, um dispositivo de fornecimento de serviço de vídeo sob demanda (VoD), um vídeo OTT (vídeo over the top), um dispositivo de fornecimento de serviço de otimização de Internet, um dispositivo de vídeo 3D, um dispositivo de chamada de vídeo , um terminal de meio de transporte (por exemplo, terminal de veículo, terminal de avião, terminal de navio, etc.) e pode ser usado para processar sinais de vídeo ou sinais de dados. Por exemplo, o dispositivo de vídeo OTT (over the top video) pode incluir um console de jogos, um leitor de Blu-ray, uma TV com acesso à Internet, um sistema de home theater, um smartphone, um tablet PC, um DVR (Gravador de Vídeo Digital).
[0358] Além disso, o método de processamento ao qual a presente revelação é aplicada pode ser produzido na forma de um programa executado por computador e pode ser armazenado em uma mídia de gravação legível por computador. Os dados de multimídia com a estrutura de dados de acordo com a presente revelação Ainda mais, podem ser armazenados em uma mídia de gravação legível por computador. O meio de gravação legível por computador inclui todos os tipos de dispositivos de armazenamento e dispositivos de armazenamento distribuídos nos quais os dados legíveis por computador são armazenados. O meio de gravação legível por computador pode ser, por exemplo, dispositivos Blu-ray Disc (BD), Universal Serial Bus (USB), ROM, PROM, EPROM, EEPROM, RAM, e dispositivos de armazenamento de dados -CD. Além disso, o meio de gravação legível por computador inclui mídia implementada na forma de uma onda portadora (por exemplo, transmissão pela Internet). Além disso, o fluxo de bits gerado pelo método de codificação pode ser armazenado em um meio de gravação legível por computador ou transmitido por uma rede de comunicação com ou sem fio.
[0359] Além disso, uma modalidade da presente revelação pode ser implementada como um produto de programa de computador por código de programa e o código de programa pode ser executado em um computador, de acordo com uma modalidade da presente revelação. O código do programa pode ser armazenado em uma portadora legível por um computador.
[0360] A Figura 16 ilustra uma estrutura de sistema de streaming de conteúdo à qual a presente revelação é aplicada.
[0361] Um sistema de streaming de conteúdo ao qual a presente revelação é aplicada pode incluir um servidor de codificação, um servidor de streaming, um servidor da web, um armazenamento de mídia, um dispositivo de usuário e um dispositivo de entrada de multimídia.
[0362] O servidor de codificação comprime a entrada de conteúdo de dispositivos de entrada de multimídia, como smartphones, câmeras, filmadoras, etc. Em dados digitais para gerar um fluxo de bits e transmitir o fluxo de bits para o servidor de fluxo. Como outro exemplo, quando dispositivos de entrada de multimídia, como smartphones, câmeras, filmadoras, etc. geram diretamente um fluxo de bits, o servidor de codificação pode ser omitido.
[0363] O fluxo de bits pode ser gerado por um método de codificação ou um método de geração de fluxo de bits ao qual a presente revelação é aplicada, e o servidor de fluxo pode armazenar temporariamente o fluxo de bits no processo de transmissão ou recepção do fluxo de bits.
[0364] O servidor de streaming transmite dados de multimídia para o dispositivo do usuário, com base em uma solicitação do usuário por meio do servidor da web, e o servidor da web serve como um intermediário para informar ao usuário quais serviços são fornecidos. Quando um usuário solicita um serviço desejado do servidor da web, o servidor da web entrega o mesmo a um servidor de streaming e o servidor de streaming transmite dados de multimídia para o usuário. No presente documento, o sistema de streaming de conteúdo pode incluir um servidor de controle separado e, neste caso, o servidor de controle controla um comando/resposta entre dispositivos no sistema de streaming de conteúdo.
[0365] O servidor de streaming pode receber conteúdo de um repositório de mídia e/ou um servidor de codificação. Por exemplo, quando o conteúdo é recebido do servidor de codificação, o conteúdo pode ser recebido em tempo real. Neste caso, a fim de fornecer um serviço de streaming suave, o servidor de streaming pode armazenar o fluxo de bits por um tempo predeterminado.
[0366] Exemplos do dispositivo do usuário incluem um telefone celular, um smartphone, um laptop, um terminal de transmissão digital, um assistente digital pessoal (PDA), um reprodutor portátil de multimídia (PMP), um dispositivo de navegação e um slate PC, um tablet PC, ultrabook, um dispositivo vestível (por exemplo, smartwatch, lentes de vidro, monitor tipo head-mounted), uma TV digital, um computador desktop, uma sinalização digital e assim por diante. Cada servidor no sistema de streaming de conteúdo pode operar como um servidor distribuído e, neste caso, os dados recebidos de cada servidor podem ser processados de maneira distribuída.

Claims (15)

  1. Método de decodificação de imagem, por um aparelho de decodificação, CARACTERIZADO pelo fato de que compreende:
    derivar um primeiro candidato afim herdado com base num grupo de bloco esquerdo, incluindo um bloco vizinho de canto inferior esquerdo e um bloco vizinho esquerdo de um bloco atual;
    derivar um segundo candidato afim herdado com base num grupo de bloco superior, incluindo um bloco vizinho de canto superior direito, um bloco vizinho superior e um bloco vizinho de canto superior esquerdo do bloco atual;
    construir uma lista de candidatos à fusão para derivar informações de movimento de unidades de subbloco do bloco atual, com base no primeiro candidato afim herdado e no segundo candidato afim herdado;
    derivar vetores de movimento de ponto de controle (CPMVs) para pontos de controle (CPs) do bloco atual com base na lista de candidatos à fusão;
    derivar amostras de predição para o bloco atual com base nos CPMVs; e
    gerar uma imagem reconstruída para o bloco atual com base nas amostras de predição derivadas,
    em que os CPs incluem um CP0, um CP1, e um CP2, e
    em que o CP0 é um ponto na posição superior esquerda do bloco atual, o CP1 é um ponto na posição superior direita do bloco atual, e o CP2 é um ponto em uma posição inferior esquerda do bloco atual.
  2. Método de decodificação de imagem de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que:
    blocos vizinhos no grupo de blocos esquerdo são verificados em uma primeira ordem,
    o primeiro candidato afim herdado é derivado com base em um bloco vizinho codificado por um primeiro modelo de movimento afim verificado, e
    a primeira ordem é uma ordem do bloco vizinho de canto esquerdo inferior para o bloco vizinho esquerdo.
  3. Método de decodificação de imagem de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que:
    blocos vizinhos do grupo de bloco superior são verificados em uma segunda ordem,
    o segundo candidato afim herdado é derivado com base em um bloco vizinho codificado por um primeiro modelo de movimento afim verificado, e
    a segunda ordem é uma ordem do bloco vizinho de canto superior direito, para o bloco vizinho superior e para o bloco vizinho de canto inferior esquerdo.
  4. Método de decodificação de imagem de acordo com a reivindicação 1, CARACTERIZADO pelo fato de que:
    a lista de candidatos à fusão inclui uns candidatos afins construídos,
    os candidatos afins construídos são derivados com base nos vetores de movimento candidatos para os CPs, e
    vetores de movimento candidatos para os CPs são derivados com base nos blocos vizinhos do bloco atual.
  5. Método de decodificação de imagem, de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que:
    um vetor de movimento candidato para o CP0 é derivado como um vetor de movimento de um primeiro bloco vizinho determinado para estar disponível primeiro quando blocos vizinhos de um primeiro grupo são verificados em uma primeira ordem,
    um vetor de movimento candidato para o CP1 é derivado como um vetor de movimento de um segundo bloco vizinho determinado para estar disponível primeiro quando blocos vizinhos de um segundo grupo são verificados em uma segunda ordem, e
    um vetor de movimento candidato para o CP2 é derivado como um vetor de movimento de um terceiro bloco vizinho determinado para estar disponível primeiro quando blocos vizinhos de um terceiro grupo são verificados em uma terceira ordem.
  6. Método de decodificação de imagem de acordo com a reivindicação 5, CARACTERIZADO pelo fato de que:
    o primeiro grupo inclui um bloco vizinho A, um bloco vizinho B e um bloco vizinho C,
    o segundo grupo inclui um bloco vizinho D e um bloco vizinho E, e
    o terceiro grupo inclui um bloco vizinho F e um bloco vizinho G, e
    quando um tamanho do bloco atual é WxH e um componente x e um componente y de uma posição de amostra superior esquerda do bloco atual são 0, o bloco vizinho A é um bloco incluindo uma amostra de coordenadas (-1, -1) , o bloco vizinho B é um bloco que inclui uma amostra de coordenadas (0, -1), o bloco vizinho C é um bloco que inclui uma amostra de coordenadas (-1,0), o bloco vizinho D é um bloco que inclui uma amostra de coordenadas (W-1, -1), o bloco vizinho E é um bloco que inclui uma amostra de coordenadas (W, -1), o bloco vizinho F é um bloco que inclui uma amostra de coordenadas (-1, H-1), e o bloco vizinho G é um bloco que inclui uma amostra de coordenadas (-1, H).
  7. Método de decodificação de imagem de acordo com a reivindicação 6, CARACTERIZADO pelo fato de que:
    a primeira ordem é uma ordem do bloco vizinho A para o bloco vizinho B e para o bloco vizinho C no primeiro grupo,
    a segunda ordem é uma ordem do bloco vizinho D para o bloco vizinho E no segundo grupo, e
    a terceira ordem é uma ordem do bloco vizinho F para o bloco vizinho G no terceiro grupo.
  8. Método de decodificação de imagem de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que:
    os candidatos afins construídos compreendem um primeiro candidato afim construído incluindo o vetor de movimento candidato para o CP1, o vetor de movimento candidato para o CP2 e o vetor de movimento candidato para o CP3, quando uma imagem de referência para o primeiro bloco vizinho, uma imagem de referência para o segundo bloco vizinho e uma imagem de referência para o terceiro bloco vizinho são as mesmas.
  9. Método de decodificação de imagem de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que:
    os candidatos afins construídos compreendem um segundo candidato afim construído incluindo o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP1, quando a imagem de referência para o primeiro bloco vizinho e a imagem de referência para o segundo bloco vizinho são as mesmas.
  10. Método de decodificação de imagem de acordo com a reivindicação 7, CARACTERIZADO pelo fato de que:
    os candidatos afins construídos compreendem um terceiro candidato afim construído incluindo o vetor de movimento candidato para o CP0 e o vetor de movimento candidato para o CP2, quando a imagem de referência para o primeiro bloco vizinho e a imagem de referência para o terceiro bloco vizinho são as mesmas.
  11. Método de decodificação de imagem de acordo com a reivindicação 4, CARACTERIZADO pelo fato de que:
    a lista de candidatos à fusão compreende um candidato zero quando um número de candidatos afins herdados e os candidatos afins construídos é menor do que um número máximo de candidatos da lista de candidatos à fusão, e o candidato zero compreende vetores de movimento candidatos tendo um valor de 0 e um índice de imagem de referência tendo um valor de 0.
  12. Método de codificação de imagem por um aparelho de codificação, CARACTERIZADO pelo fato de que compreende:
    derivar um primeiro candidato afim herdado com base num grupo de bloco esquerdo, incluindo um bloco vizinho de canto inferior esquerdo e um bloco vizinho esquerdo de um bloco atual;
    derivar um segundo candidato afim herdado com base num grupo de bloco superior, incluindo um bloco vizinho de canto superior direito, um bloco vizinho superior e um bloco vizinho de canto superior esquerdo do bloco atual;
    construir uma lista de candidatos à fusão para derivar informações de movimento de unidades de subbloco do bloco atual, com base no primeiro candidato afim herdado e no segundo candidato afim herdado;
    derivar vetores de movimento de ponto de controle (CPMVs) para pontos de controle (CPs) do bloco atual com base na lista de candidato afim; e
    codificar informações de imagem, incluindo informações de predição para o bloco atual,
    em que os CPs incluem um CP0, um CP1, e um CP2, e
    em que o CP0 é um ponto na posição superior esquerda do bloco atual, o CP1 é um ponto na posição superior direita do bloco atual, e o CP2 é um ponto em uma posição inferior esquerda do bloco atual.
  13. Método de codificação de imagem de acordo com a reivindicação 12, CARACTERIZADO pelo fato de que:
    blocos vizinhos no grupo de bloco esquerdo são verificados em uma primeira ordem,
    o primeiro candidato afim herdado é derivado com base em um bloco vizinho codificado por um primeiro modelo de movimento afim verificado, e
    a primeira ordem é uma ordem do bloco vizinho de canto esquerdo inferior para o bloco vizinho esquerdo.
  14. Método de codificação de imagem de acordo com a reivindicação 12, CARACTERIZADO pelo fato de que:
    blocos vizinhos do grupo de bloco superior são verificados em uma segunda ordem,
    o segundo candidato afim herdado é derivado com base em um bloco vizinho codificado por um primeiro modelo de movimento afim verificado, e
    a segunda ordem é uma ordem do bloco vizinho de canto superior direito, para o bloco vizinho superior e para o bloco vizinho de canto inferior esquerdo.
  15. Mídia de armazenamento legível por computador não transitória CARACTERIZADA pelo fato de que armazena um fluxo de bits, o fluxo de bits quando executado, faz com que um aparelho de decodificação execute as seguintes etapas:
    derivar um primeiro candidato afim herdado com base num grupo de bloco esquerdo, incluindo um bloco vizinho de canto inferior esquerdo e um bloco vizinho esquerdo de um bloco atual;
    derivar um segundo candidato afim herdado com base num grupo de bloco superior, incluindo um bloco vizinho de canto superior direito, um bloco vizinho superior e um bloco vizinho de canto superior esquerdo do bloco atual;
    construir uma lista de candidatos à fusão para derivar informações de movimento de unidades de subbloco do bloco atual, com base no primeiro candidato afim herdado e no segundo candidato afim herdado;
    derivar vetores de movimento de ponto de controle (CPMVs) para pontos de controle (CPs) do bloco atual com base na lista de candidatos afins;
    derivar amostras de predição para o bloco atual com base nos CPMVs; e
    gerar uma imagem reconstruída para o bloco atual com base nas amostras de predição derivadas,
    em que os CPs incluem um CP0, um CP1, e um CP2, e
    em que o CP0 é um ponto na posição superior esquerda do bloco atual, o CP1 é um ponto na posição superior direita do bloco atual, e o CP2 é um ponto em uma posição inferior esquerda do bloco atual.
BR122021006490-3A 2018-08-09 2019-08-08 método de decodificação de imagem com base na predição de movimento afim e dispositivo usando lista de candidatos à fusão afins no sistema de codificação de imagem BR122021006490A2 (pt)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
KR20180093238 2018-08-09
KR10-2018-0093238 2018-08-09
KR10-2018-0095143 2018-08-14
KR20180095143 2018-08-14
BR112021002335-6A BR112021002335A2 (pt) 2018-08-09 2019-08-08 método de decodificação de imagem com base na predição de movimento afim e dispositivo usando lista de candidatos à fusão afins no sistema de codificação de imagem
PCT/KR2019/009950 WO2020032609A1 (ko) 2018-08-09 2019-08-08 영상 코딩 시스템에서 어파인 머지 후보 리스트를 사용하는 어파인 움직임 예측에 기반한 영상 디코딩 방법 및 장치
BR112021002335-6 2019-08-08

Publications (1)

Publication Number Publication Date
BR122021006490A2 true BR122021006490A2 (pt) 2021-05-18

Family

ID=69413800

Family Applications (3)

Application Number Title Priority Date Filing Date
BR122021006509-8A BR122021006509A2 (pt) 2018-08-09 2019-08-08 método de decodificação de imagem com base na predição de movimento afim e dispositivo usando lista de candidatos à fusão afins no sistema de codificação de imagem
BR112021002335-6A BR112021002335A2 (pt) 2018-08-09 2019-08-08 método de decodificação de imagem com base na predição de movimento afim e dispositivo usando lista de candidatos à fusão afins no sistema de codificação de imagem
BR122021006490-3A BR122021006490A2 (pt) 2018-08-09 2019-08-08 método de decodificação de imagem com base na predição de movimento afim e dispositivo usando lista de candidatos à fusão afins no sistema de codificação de imagem

Family Applications Before (2)

Application Number Title Priority Date Filing Date
BR122021006509-8A BR122021006509A2 (pt) 2018-08-09 2019-08-08 método de decodificação de imagem com base na predição de movimento afim e dispositivo usando lista de candidatos à fusão afins no sistema de codificação de imagem
BR112021002335-6A BR112021002335A2 (pt) 2018-08-09 2019-08-08 método de decodificação de imagem com base na predição de movimento afim e dispositivo usando lista de candidatos à fusão afins no sistema de codificação de imagem

Country Status (4)

Country Link
US (4) US10893289B2 (pt)
CN (4) CN112673627B (pt)
BR (3) BR122021006509A2 (pt)
WO (1) WO2020032609A1 (pt)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3744094A4 (en) * 2018-01-26 2021-11-03 MediaTek Inc. METHOD AND DEVICE FOR AFFINE INTER-PREDICTION FOR A VIDEO ENCODING SYSTEM
CN110868601B (zh) * 2018-08-28 2024-03-15 华为技术有限公司 帧间预测方法、装置以及视频编码器和视频解码器
JP7249441B2 (ja) * 2019-06-14 2023-03-30 エルジー エレクトロニクス インコーポレイティド 予測サンプルを生成するための加重値インデックス情報を導出する映像デコーディング方法、及びその装置
US20230319221A1 (en) * 2022-03-29 2023-10-05 Rovi Guides, Inc. Systems and methods for enabling user-controlled extended reality

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6735249B1 (en) * 1999-08-11 2004-05-11 Nokia Corporation Apparatus, and associated method, for forming a compressed motion vector field utilizing predictive motion coding
US9282338B2 (en) * 2011-06-20 2016-03-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
US9883203B2 (en) * 2011-11-18 2018-01-30 Qualcomm Incorporated Adaptive overlapped block motion compensation
CN104704819B (zh) * 2012-10-03 2016-12-21 联发科技股份有限公司 3d视频编码的视差矢量推导和视图间运动矢量预测的方法及装置
CN106464905B (zh) * 2014-05-06 2019-06-07 寰发股份有限公司 用于块内复制模式编码的块向量预测方法
WO2016008157A1 (en) * 2014-07-18 2016-01-21 Mediatek Singapore Pte. Ltd. Methods for motion compensation using high order motion model
CN104363451B (zh) * 2014-10-27 2019-01-25 华为技术有限公司 图像预测方法及相关装置
KR102469145B1 (ko) * 2015-10-13 2022-11-21 삼성전자주식회사 영상을 부호화 또는 복호화하는 방법 및 장치
WO2017156705A1 (en) * 2016-03-15 2017-09-21 Mediatek Inc. Affine prediction for video coding
US10560712B2 (en) * 2016-05-16 2020-02-11 Qualcomm Incorporated Affine motion prediction for video coding
WO2018021373A1 (ja) * 2016-07-29 2018-02-01 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
US10448010B2 (en) * 2016-10-05 2019-10-15 Qualcomm Incorporated Motion vector prediction for affine motion models in video coding
CN116866593A (zh) * 2016-11-28 2023-10-10 韩国电子通信研究院 对图像编码/解码的方法和设备及存储比特流的记录介质
US10681370B2 (en) * 2016-12-29 2020-06-09 Qualcomm Incorporated Motion vector generation for affine motion model for video coding
WO2019160860A1 (en) * 2018-02-14 2019-08-22 Futurewei Technologies, Inc. Adaptive interpolation filter
US20200021836A1 (en) * 2018-07-10 2020-01-16 Tencent America LLC Method and apparatus for ordering and selection of affine merge candidates in motion compensation
US10958934B2 (en) * 2018-07-27 2021-03-23 Tencent America LLC History-based affine merge and motion vector prediction
US10944984B2 (en) * 2018-08-28 2021-03-09 Qualcomm Incorporated Affine motion prediction
WO2020058959A1 (en) * 2018-09-23 2020-03-26 Beijing Bytedance Network Technology Co., Ltd. Motion vector derivation for sub-block in affine mode
US11089325B2 (en) * 2019-02-08 2021-08-10 Qualcomm Incorporated Constrained affine motion inheritance for video coding

Also Published As

Publication number Publication date
CN116708815A (zh) 2023-09-05
CN116708820A (zh) 2023-09-05
CN112673627A (zh) 2021-04-16
US11785248B2 (en) 2023-10-10
US20210120264A1 (en) 2021-04-22
US20200221119A1 (en) 2020-07-09
US20220385937A1 (en) 2022-12-01
CN112673627B (zh) 2023-08-04
US11438622B2 (en) 2022-09-06
BR112021002335A2 (pt) 2021-05-04
CN116708816A (zh) 2023-09-05
BR122021006509A2 (pt) 2021-05-18
US10893289B2 (en) 2021-01-12
US20230412833A1 (en) 2023-12-21
WO2020032609A1 (ko) 2020-02-13

Similar Documents

Publication Publication Date Title
JP7404481B2 (ja) 画像コーディングシステムにおけるサブブロック単位の動き予測に基づく画像デコーディング方法及び装置
BR122021006490A2 (pt) método de decodificação de imagem com base na predição de movimento afim e dispositivo usando lista de candidatos à fusão afins no sistema de codificação de imagem
JP7431889B2 (ja) 映像コーディングシステムにおけるアフィン動き予測に基づいた映像デコード方法及び装置
BR122021009784A2 (pt) Método e aparelho de decodificação de imagens com base em predição de movimento afim usando lista de candidatos a mvp afim no sistema de codificação de imagens
JP7432035B2 (ja) 予測サンプルを生成するための加重値インデックス情報を導出する映像デコーディング方法、及びその装置
US20240022713A1 (en) Sbtmvp-based inter prediction method and apparatus
JP2023154003A (ja) 双予測(bi-prediction)のための加重値インデックス情報を導出する画像デコード方法及びその装置
CN113678455B (zh) 用于导出双预测的权重索引信息的视频或图像编码
ES2949795T3 (es) Método y dispositivo de decodificación de imágenes basado en la predicción de movimiento afín usando un candidato de MVP afín construido en el sistema de codificación de imágenes
KR102513585B1 (ko) 비디오 처리 시스템에서 인터 예측 방법 및 장치

Legal Events

Date Code Title Description
B03A Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B09B Patent application refused [chapter 9.2 patent gazette]
B12B Appeal against refusal [chapter 12.2 patent gazette]