BR112021003300A2 - método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo - Google Patents

método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo Download PDF

Info

Publication number
BR112021003300A2
BR112021003300A2 BR112021003300-9A BR112021003300A BR112021003300A2 BR 112021003300 A2 BR112021003300 A2 BR 112021003300A2 BR 112021003300 A BR112021003300 A BR 112021003300A BR 112021003300 A2 BR112021003300 A2 BR 112021003300A2
Authority
BR
Brazil
Prior art keywords
motion vector
information
merge
encoding
mode
Prior art date
Application number
BR112021003300-9A
Other languages
English (en)
Other versions
BR112021003300B1 (pt
Inventor
Seungsoo JEONG
MinSoo Park
Minwoo Park
Kiho Choi
Yinji Piao
Original Assignee
Samsung Electronics Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co., Ltd. filed Critical Samsung Electronics Co., Ltd.
Priority to BR122022004567-7A priority Critical patent/BR122022004567B1/pt
Priority to BR122022004561-8A priority patent/BR122022004561B1/pt
Publication of BR112021003300A2 publication Critical patent/BR112021003300A2/pt
Publication of BR112021003300B1 publication Critical patent/BR112021003300B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

MÉTODO DE DECODIFICAÇÃO DE VÍDEO, APARELHO DE DECODIFICAÇÃO DE VÍDEO, MÉTODO DE CODIFICAÇÃO DE VÍDEO, E APARELHO DE CODIFICAÇÃO DE VÍDEO. É fornecido um método de decodificação de vídeo incluindo: determinar um modo de predição de um bloco atual para ser um dentre um modo de salto e um modo de mesclagem; quando um vetor de movimento, que é determinado a partir de uma lista de candidato a mesclagem do bloco atual, e uma diferença de vetor de movimento de mesclagem devem ser usados, obter informação de candidato a mesclagem indicando um candidato na lista de candidato a mesclagem realizando a codificação de entropia em um fluxo de bits aplicando uma informação de contexto; determinar um vetor de movimento de base de um candidato determinado a partir da lista de candidato a mesclagem, com base na informação de candidato a mesclagem; e determinar um vetor de movimento do bloco atual usando um índice de distância de uma diferença de vetor de movimento de mesclagem do bloco atual e um índice de direção da diferença de vetor de movimento de mesclagem para usar o vetor de movimento de base e a diferença de vetor de movimento de mesclagem.

Description

MÉTODO DE DECODIFICAÇÃO DE VÍDEO, APARELHO DE DECODIFICAÇÃO DE VÍDEO, MÉTODO DE CODIFICAÇÃO DE VÍDEO, E APARELHO DE CODIFICA ÇÃO DE VÍDEO CAMPO TÉCNICO
[0001] A presente divulgação se refere aos campos de codificação e decodificação de imagem. Em particular, a presente divulgação se refere a um método e aparelho para codificar informação de movimento usada para codificar e decodificar uma imagem e um método e aparelho para decodificar a informação de movimento.
FUNDAMENTOS DA TÉCNICA
[0002] Nos métodos de codificação e decodificação de uma imagem, uma figura pode ser dividida em blocos para codificar a imagem e cada bloco pode ser codificado por predição por meio de predição inter ou predição intra.
[0003] Um exemplo representativo de predição inter é a codificação de estimativa de movimento usando um método de compressão de uma imagem removendo a redundância temporal entre as figuras. Na codificação de estimativa de movimento, os blocos de uma figura atual são preditos usando pelo menos uma figura de referência. Um bloco de referência mais semelhante a um bloco atual pode ser pesquisado em um determinada faixa de busca usando uma determinada função de avaliação. O bloco atual é predito com base no bloco de referência e um bloco residual é gerado subtraindo um bloco de predição gerado em decorrência da predição do bloco atual e então codificado. Aqui, para realizar a predição com mais precisão, a interpolação é realizada em uma faixa de busca de figuras de referência de modo a gerar pixels de unidades sub pel menores do que unidades pel inteiras e a predição inter pode ser realizada com base nos pixels gerados de unidades sub pel.
[0004] Em um codec como a codificação de vídeo avançada H.264 (AVC) e a codificação de vídeo de alta eficiência (HEVC), um vetor de movimento de blocos pré-codificados adjacentes a um bloco atual ou blocos incluídos em uma figura pré-codificada é usado como um vetor de predição de movimento do bloco atual de modo a predizer um vetor de movimento do bloco atual. Um vetor de movimento diferencial que é uma diferença entre o vetor de movimento do bloco atual e o vetor de movimento de predição é sinalizado para um decodificador por meio de um determinado método.
DESCRIÇÃO DE MODALIDADES PROBLEMA TÉCNICO
[0005] Problemas técnicos de métodos de codificação e decodificação de informação de movimento e aparelhos para codificar e decodificar informação de movimento, de acordo com uma modalidade, são para executar eficientemente a codificação / decodificação de entropia na informação de movimento.
SOLUÇÃO PARA O PROBLEMA
[0006] Um método de decodificação de informação de movimento, de acordo com uma modalidade da presente divulgação, inclui: determinar um modo de predição de um bloco atual para ser um de um modo de salto e um modo de mesclagem; quando um vetor de movimento, que é determinado a partir de uma lista de candidato a mesclagem do bloco atual, e uma diferença de vetor de movimento de mesclagem devem ser usados, obtendo informação de candidato a mesclagem indicando um candidato na lista de candidato a mesclagem realizando a codificação de entropia em um fluxo de bits aplicando uma informação de contexto; determinar um vetor de movimento de base de um candidato determinado a partir da lista de candidato a mesclagem, com base nas informação de candidato a mesclagem; e determinar um vetor de movimento do bloco atual usando um índice de distância de uma diferença de vetor de movimento de mesclagem do bloco atual e um índice de direção da diferença de vetor de movimento de mesclagem para usar o vetor de movimento de base e a diferença de vetor de movimento de mesclagem.
[0007] No método de decodificação de informação de movimento de acordo com uma modalidade, a informação de contexto para obter informação de modo de diferença de mesclagem no modo de salto e informação de contexto para obter a informação de modo de diferença de mesclagem no modo de mesclagem podem ser as mesmas.
EFEITOS VANTAJOSOS DA DIVULGAÇÃO
[0008] Métodos de codificação e decodificação de informação de movimento e aparelhos para codificar e decodificar informação de movimento, de acordo com uma modalidade, podem usar informação de contexto simplificada para executar eficientemente a codificação / decodificação de entropia na informação de movimento.
[0009] No entanto, os efeitos alcançáveis por métodos de codificação e decodificação de informação de movimento e aparelhos para codificar e decodificar informação de movimento, de acordo com uma modalidade, não estão limitados aos mencionados acima, e outros efeitos que não mencionados podem ser claramente compreendidos por um versado na técnica da seguinte descrição.
BREVE DESCRIÇÃO DOS DESENHOS
[00010] Uma breve descrição de cada desenho é fornecida para melhor compreender os desenhos citados neste documento.
[00011] A FIG. 1 é um diagrama de blocos esquemático de um aparelho de decodificação de imagem de acordo com uma modalidade.
[00012] A FIG. 2 é um fluxograma de um método de decodificação de imagem de acordo com uma modalidade.
[00013] A FIG. 3 ilustra um processo, realizado por um aparelho de decodificação de imagem, para determinar pelo menos uma unidade de codificação dividindo uma unidade de codificação atual, de acordo com uma modalidade.
[00014] A FIG. 4 ilustra um processo, realizado por um aparelho de decodificação de imagem, para determinar pelo menos uma unidade de codificação dividindo uma unidade de codificação não quadrada, de acordo com uma modalidade.
[00015] A FIG. 5 ilustra um processo, realizado por um aparelho de decodificação de imagem, para dividir uma unidade de codificação com base em pelo menos uma informação de formato de bloco e informação do modo de formato de divisão, de acordo com uma modalidade.
[00016] A FIG. 6 ilustra um método, realizado por um aparelho de decodificação de imagem, para determinar uma determinada unidade de codificação de um número ímpar de unidades de codificação, de acordo com uma modalidade.
[00017] A FIG. 7 ilustra uma ordem de processamento de uma pluralidade de unidades de codificação quando um aparelho de decodificação de imagem determina a pluralidade de unidades de codificação dividindo uma unidade de codificação atual, de acordo com uma modalidade.
[00018] A FIG. 8 ilustra um processo, realizado por um aparelho de decodificação de imagem, para determinar que uma unidade de codificação atual deve ser dividida em um número ímpar de unidades de codificação, quando as unidades de codificação não são processáveis em uma determinada ordem, de acordo com uma modalidade.
[00019] A FIG. 9 ilustra um processo, realizado por um aparelho de decodificação de imagem, para determinar pelo menos uma unidade de codificação dividindo uma primeira unidade de codificação, de acordo com uma modalidade.
[00020] A FIG. 10 ilustra que um formato no qual uma segunda unidade de codificação é divisível é restrita quando uma segunda unidade de codificação com um formato não quadrado, que é determinada quando um aparelho de decodificação de imagem divide uma primeira unidade de codificação, satisfaz uma determinada condição, de acordo com uma modalidade.
[00021] A FIG. 11 ilustra um processo, realizado por um aparelho de decodificação de imagem, para dividir uma unidade de codificação quadrada quando a informação do modo de formato de divisão é incapaz de indicar que a unidade de codificação quadrada é dividida em quatro unidades de codificação quadrada, de acordo com uma modalidade.
[00022] A FIG. 12 ilustra que uma ordem de processamento entre uma pluralidade de unidades de codificação pode ser alterada dependendo de um processo de divisão de uma unidade de codificação, de acordo com uma modalidade.
[00023] A FIG. 13 ilustra um processo para determinar uma profundidade de uma unidade de codificação quando um formato e um tamanho da unidade de codificação muda, quando a unidade de codificação é dividida recursivamente de tal modo que uma pluralidade de unidades de codificação seja determinada, de acordo com uma modalidade.
[00024] A FIG. 14 ilustra profundidades que são determináveis com base em formatos e tamanhos de unidades de codificação e índices de parte (PIDs) que são para distinguir as unidades de codificação, de acordo com uma modalidade.
[00025] A FIG. 15 ilustra que uma pluralidade de unidades de codificação é determinada com base em uma pluralidade de determinadas unidades de dados incluídas em uma figura, de acordo com uma modalidade.
[00026] A FIG. 16 é um diagrama de blocos de um sistema de codificação e decodificação de imagem.
[00027] A FIG. 17 é um diagrama de blocos detalhado de um aparelho de decodificação de vídeo de acordo com uma modalidade.
[00028] A FIG. 18 é um fluxograma de um método de decodificação de vídeo de acordo com uma modalidade.
[00029] A FIG. 19 é um diagrama de blocos de um aparelho de codificação de vídeo de acordo com uma modalidade.
[00030] A FIG. 20 é um fluxograma de um método de codificação de vídeo de acordo com uma modalidade.
[00031] A FIG. 21 ilustra as posições dos candidatos a vetor de movimento, de acordo com uma modalidade.
[00032] As FIGS. 22 a 25 ilustram candidato a vetor de movimento exibido em um plano de coordenada.
[00033] A FIG. 26 ilustram valores e significados de informação do candidato a mesclagem, índices de distância diferencial de mesclagem e índices de direção diferencial de mesclagem, de acordo com uma modalidade.
[00034] A FIG. 27 ilustra equações para obter um vetor de movimento usando um vetor de movimento de base e uma diferença de vetor de movimento de mesclagem, de acordo com uma modalidade.
[00035] A FIG. 28 ilustra sintaxes para obter informação de modo de diferença de mesclagem, informação de candidato a mesclagem, índices de distância diferencial de mesclagem e índices de direção diferencial de mesclagem, de acordo com uma modalidade.
[00036] A FIG. 29 ilustra sintaxes para obter informação de modo de diferença de mesclagem, informação de candidato de mesclagem, índices de distância diferencial de mesclagem e índices de direção diferencial de mesclagem, de acordo com outra modalidade.
[00037] A FIG. 30 é uma tabela de referência para determinar informação de contexto de informação relacionada à mesclagem, de acordo com uma modalidade.
MELHOR MODO
[00038] Um método de decodificação de informação de movimento, de acordo com uma modalidade da presente divulgação, inclui: determinar um modo de predição de um bloco atual para ser um de um modo de salto e um modo de mesclagem; quando um vetor de movimento, que é determinado a partir de uma lista de candidato a mesclagem do bloco atual, e uma diferença de vetor de movimento de mesclagem devem ser usados, obtendo informação de candidato a mesclagem indicando um candidato na lista de candidato a mesclagem realizando a codificação de entropia em um fluxo de bits aplicando uma informação de contexto; determinar um vetor de movimento de base de um candidato determinado a partir da lista de candidato a mesclagem, com base nas informação de candidato a mesclagem; e determinar um vetor de movimento do bloco atual usando um índice de distância de uma diferença de vetor de movimento de mesclagem do bloco atual e um índice de direção da diferença de vetor de movimento de mesclagem para usar o vetor de movimento de base e a diferença de vetor de movimento de mesclagem.
[00039] De acordo com uma modalidade, a determinação do modo de predição do bloco atual para ser um dos modos de salto e o modo de mesclagem pode incluir: quando o modo de predição do bloco atual é o modo de salto, obter informação do modo de diferença de mesclagem indicando se o vetor de movimento, que é determinado a partir da lista de candidato a mesclagem do bloco atual, e a diferença do vetor de movimento de mesclagem devem ser usados; e quando o modo de predição do bloco atual é o modo de mesclagem, obter a informação do modo de diferença de mesclagem indicando se o vetor de movimento, que é determinado a partir da lista de candidato a mesclagem do bloco atual, e a diferença do vetor de movimento de mesclagem devem ser usados, em que a informação de contexto para obter a informação do modo de diferença de mesclagem no modo de salto e a informação de contexto para obter a informação do modo de diferença de mesclagem no modo de mesclagem podem ser as mesmas.
[00040] De acordo com uma modalidade, a determinação do vetor de movimento do bloco atual pode incluir a obtenção de dois bins que indicam o índice de direção da diferença do vetor de movimento de mesclagem executando a decodificação de entropia no fluxo de bits por meio de um modo de desvio.
[00041] De acordo com uma modalidade, a informação do candidato a mesclagem que é um bit de informação pode ser obtida por meio da decodificação de entropia da aplicação de uma parte da informação de contexto ao fluxo de bits.
[00042] De acordo com uma modalidade, quando a predição é realizada no modo de mesclagem, uma série de partes de informação de contexto necessárias para obter um índice geral de mesclagem indicando um candidato na lista de candidato a mesclagem e uma série de partes de informação de contexto necessárias para obter o candidato a mesclagem a informação podem ser as mesmas.
[00043] De acordo com uma modalidade, as partes da informação do modo de diferença de mesclagem para determinar se o vetor de movimento, que é determinado a partir da lista de candidato de mesclagem do bloco atual, e a diferença do vetor de movimento de mesclagem devem ser usados no modo salto e no modo de mesclagem, podem ser determinadom por meio de um mesmo elemento de sintaxe.
[00044] Um aparelho para decodificar informação de movimento de acordo com uma modalidade da presente divulgação inclui: um obtentor de informação de predição inter configurado para determinar um modo de predição de um bloco atual para ser um de um modo de salto e um modo de mesclagem, e quando um vetor de movimento, que é determinado a partir de uma lista de candidato a mesclagem do bloco atual, e uma diferença de vetor de movimento de mesclagem devem ser usados, obter informação de candidato a mesclagem indicando um candidato na lista de candidato a mesclagem executando decodificação de entropia em um fluxo de bits aplicando uma parte da informação de contexto; um executor de predição inter configurado para determinar um vetor de movimento de base de um candidato determinado na lista de candidato a mesclagem com base na informação de candidato a mesclagem e determinar um vetor de movimento do bloco atual usando um índice de distância de uma diferença de vetor de movimento de mesclagem do bloco atual e um índice de direção da diferença do vetor de movimento de mesclagem para usar o vetor de movimento de base e a diferença do vetor de movimento de mesclagem; e um reconstrutor configurado para reconstruir o bloco atual usando o vetor de movimento.
[00045] O obtentor de informação de predição inter de acordo com uma modalidade pode ser configurado ainda para: quando o modo de predição do bloco atual é o modo de salto, obter informação do modo de diferença de mesclagem indicando se o vetor de movimento, que é determinado a partir da lista de candidato a mesclagem do bloco atual, e a diferença do vetor de movimento de mesclagem devem ser usados; e quando o modo de predição do bloco atual é o modo de mesclagem, obter a informação do modo de diferença de mesclagem indicando se o vetor de movimento, que é determinado a partir da lista de candidato a mesclagem do bloco atual, e a diferença do vetor de movimento de mesclagem devem ser usados, em que a informação de contexto para obter a informação do modo de diferença de mesclagem no modo de salto e a informação de contexto para obter a informação do modo de diferença de mesclagem no modo de mesclagem podem ser as mesmas.
[00046] O obtentor de informação de predição inter de acordo com uma modalidade pode ser ainda configurado para obter dois bins indicando o índice de direção da diferença do vetor de movimento de mesclagem realizando a decodificação de entropia no mesclagem de bits por meio de um modo de desvio.
[00047] O obtentor de informação de predição inter de acordo com uma modalidade pode ser ainda configurado para obter a informação do candidato a mesclagem que é um bit de informação por meio da decodificação de entropia de aplicação de uma parte da informação de contexto ao fluxo de bits.
[00048] No aparelho para decodificar informação de movimento, de acordo com uma modalidade, quando a predição é realizada no modo de mesclagem, inúmeras partes de informação de contexto necessárias para obter um índice geral de mesclagem indicando um candidato na lista de candidato a mesclagem e uma série de partes de informação de contexto necessárias para obter a informação de candidato a mesclagem a podem ser as mesmas.
[00049] No aparelho para decodificar informação de movimento, de acordo com uma modalidade, as partes da informação do modo de diferença de mesclagem para determinar se o vetor de movimento, que é determinado a partir da lista de candidato de mesclagem do bloco atual, e a diferença do vetor de movimento de mesclagem devem ser usadas no modo de salto e no modo de mesclagem, podem ser determinadas por meio de um mesmo elemento de sintaxe.
[00050] Um método para codificar informação de movimento, de acordo com uma modalidade da presente divulgação, inclui: quando a predição inter é realizada em um bloco atual em um de um modo de salto e um modo de mesclagem, determinar se um vetor de movimento de base, que é determinado a partir de uma lista de candidato a mesclagem do bloco atual e uma diferença de vetor de movimento de mesclagem devem ser usados; quando a diferença do vetor de movimento de mesclagem deve ser usada, gerar informação de candidato a mesclagem indicando um vetor de movimento de base na lista de candidato a mesclagem executando a codificação de entropia em um fluxo de bits aplicando uma parte de informação de contexto; e gerar um índice de distância da diferença do vetor de movimento de mesclagem correspondendo a uma diferença entre o vetor de movimento de base e um vetor de movimento do bloco atual, e um índice de direção da diferença do vetor de movimento de mesclagem.
[00051] Um aparelho para codificar informação de movimento, de acordo com uma modalidade da presente divulgação, inclui: um executor de predição inter configurado para determinar um vetor de movimento de um bloco atual executando a predição inter no bloco atual; e um gerador de informação de predição inter configurado para, quando a predição inter é realizada no bloco atual em um dentre um modo de salto e um modo de mesclagem, determinar se um vetor de movimento de base, que é determinado a partir de uma lista de candidato a mesclagem do bloco atual, e uma diferença de vetor de movimento de mesclagem devem ser usados, quando a diferença de vetor de movimento de mesclagem é usada, gerar informação do candidato a mesclagem indicando o vetor de movimento de base na lista de candidato a mesclagem executando a codificação de entropia em um fluxo de bits aplicando uma parte de informação de contexto e gerar um índice de distância da diferença do vetor de movimento de mesclagem correspondente a uma diferença entre o vetor de movimento de base e o vetor de movimento do bloco atual e um índice de direção da diferença do vetor de movimento de mesclagem.
MODO DE DIVULGAÇÃO
[00052] Como a presente divulgação permite várias alterações e inúmeros exemplos, modalidades particulares serão ilustradas nos desenhos e descritas em detalhes na descrição escrita.
Entretanto, isso não se destina a limitar a presente divulgação a modos particulares de prática e será entendido que todas as mudanças, equivalentes e substitutos que não se afastam do espírito e do escopo técnico de várias modalidades estão abrangidos na presente divulgação.
[00053] Na descrição das modalidades, determinadas explicações detalhadas da técnica relacionada são omitidas quando se considera que elas podem ocultar desnecessariamente a essência da presente divulgação. Também, números (por exemplo, um primeiro, um segundo e semelhantes) usados na descrição da especificação são meramente códigos identificadores para distinguir um elemento de outro.
[00054] Também, no presente relatório descritivo, será entendido que quando os elementos estão "conectados" ou "acoplados" uns aos outros, os elementos podem ser diretamente conectados ou acoplados uns aos outros, mas podem, alternativamente, ser conectados ou acoplados uns aos outros com um elemento intermediário entre os mesmos, a menos que especificado de outra forma.
[00055] No presente relatório descritivo, com relação a um elemento representado como uma "unidade" ou um "módulo", dois ou mais elementos podem ser combinados em um elemento ou um elemento pode ser dividido em dois ou mais elementos de acordo com funções subdivididas. Além disso, cada elemento descrito a seguir pode, adicionalmente, realizar algumas ou todas as funções realizadas por outro elemento, além das funções principais por si mesmo, e algumas das funções principais de cada elemento podem ser realizadas inteiramente por um outro componente.
[00056] Também, no presente relatório descritivo, uma
'imagem' ou uma 'figura' pode denotar uma imagem imóvel de um vídeo ou uma imagem em movimento, isto é, o próprio vídeo.
[00057] Também, no presente relatório descritivo, uma 'amostra' denota dados atribuídos a uma posição de amostragem de uma imagem, isto é, dados a serem processados. Por exemplo, os valores de pixel de uma imagem em um domínio espacial e coeficientes de transformada em uma região de transformada podem ser amostras. Uma unidade incluindo pelo menos uma dessas amostras pode ser definida como um bloco.
[00058] Também, no presente relatório descritivo, um "bloco atual" pode denotar um bloco de uma unidade de codificação maior, unidade de codificação, unidade de predição ou unidade de transformada de uma imagem atual a ser codificada ou decodificada.
[00059] No presente relatório descritivo, um vetor de movimento em uma direção de lista 0 pode denotar um vetor de movimento usado para indicar um bloco em uma figura de referência incluída em uma lista 0, e um vetor de movimento em uma direção de lista 1 pode denotar um vetor de movimento usado para indicar um bloco em uma figura de referência incluída em uma lista 1. Também, um vetor de movimento em uma unidireção pode denotar um vetor de movimento usado para indicar um bloco em uma figura de referência incluída em uma lista 0 ou lista 1, e um vetor de movimento em uma bidireção pode denotar que o vetor de movimento inclui um vetor de movimento em uma direção de lista 0 e um vetor de movimento em uma direção de lista 1.
[00060] Daqui em diante, um aparelho de codificação de imagem e um aparelho de decodificação de imagem e um método de codificação de imagem e um método de decodificação de imagem de acordo com as modalidades serão descritos com referência às FIGS. 1 a 16. Um método para determinar uma unidade de dados de uma imagem, de acordo com uma modalidade, será descrito com referência às FIGS. 3 a 16, e um método de codificação / decodificação de vídeo no qual um método de predição inter é expandido usando um método de expressão de movimento de probabilidade de acordo com uma modalidade será descrito com referência às FIGS. 17 a 30.
[00061] Daqui em diante, um método e aparelho para seleção adaptativa com base em vários formatos de unidades de codificação, de acordo com uma modalidade da presente divulgação, serão descritos com referência às FIGS. 1 e 2.
[00062] A FIG. 1 é um diagrama de blocos esquemático de um aparelho de decodificação de imagem de acordo com uma modalidade.
[00063] Um aparelho de decodificação de imagem 100 pode incluir um receptor 110 e um decodificador 120. O receptor 110 e o decodificador 120 podem incluir pelo menos um processador. Também, o receptor 110 e o decodificador 120 podem incluir instruções de armazenamento de memória a serem realizadas por pelo menos um processador.
[00064] O receptor 110 pode receber um fluxo de bits. O fluxo de bits inclui as informação de uma imagem codificada por um aparelho de codificação de imagem 2200 descrito posteriormente. Também, o fluxo de bits pode ser transmitido a partir do aparelho de codificação de imagem 2200. O aparelho de codificação de imagem 2200 e o aparelho de decodificação de imagem 100 podem ser conectados por meio de fios ou sem fio e o receptor 110 pode receber o fluxo de bits por meio de fios ou sem fio. O receptor 110 pode receber o fluxo de bits de um meio de armazenamento, como um meio óptico ou um disco rígido. O decodificador 120 pode reconstruir uma imagem com base em informação obtida a partir do fluxo de bits recebido. O decodificador 120 pode obter, a partir do fluxo de bits, um elemento de sintaxe para reconstruir a imagem. O decodificador 120 pode reconstruir a imagem com base no elemento de sintaxe.
[00065] Operações do aparelho de decodificação de imagem 100 serão descritas em detalhes com referência à FIG.2.
[00066] A FIG. 2 é um fluxograma de um método de decodificação de imagem de acordo com uma modalidade.
[00067] De acordo com uma modalidade da presente divulgação, o receptor 110 recebe um fluxo de bits.
[00068] O aparelho de decodificação de imagem 100 obtém, a partir de um fluxo de bits, um bin string que corresponde a um modo de formato de divisão de uma unidade de codificação (operação 210). O aparelho de decodificação de imagem 100 determina uma regra de divisão da unidade de codificação (operação 220). Também, o aparelho de decodificação de imagem 100 divide a unidade de codificação em uma pluralidade de unidades de codificação, com base em pelo menos um bin string que corresponde ao modo de formato de divisão e à regra de divisão (operação 230). O aparelho de decodificação de imagem 100 pode determinar uma primeira faixa permissível de um tamanho da unidade de codificação, de acordo com uma razão da largura e da altura da unidade de codificação, para determinar a regra de divisão. O aparelho de decodificação de imagem 100 pode determinar uma segunda faixa permitida do tamanho da unidade de codificação, de acordo com o modo de formato da unidade de codificação, de maneira a determinar a regra de divisão.
[00069] Daqui em diante, a divisão de uma unidade de codificação será descrita em detalhes de acordo com uma modalidade da presente divulgação.
[00070] Primeiro, uma figura pode ser dividida em uma ou mais fatias ou um ou mais azulejos. Uma fatia ou um azulejo pode ser uma sequência das uma ou mais unidades de codificação maiores (unidades de árvore de codificação (CTUs)). Existe um bloco de codificação maior (bloco de árvore de codificação CTB)) conceitualmente comparado a uma unidade de codificação maior (CTU).
[00071] A unidade de codificação maior (CTB) denota um bloco NxN incluindo amostras NxN (N é um número inteiro). Cada componente de cor pode ser dividido em um ou mais blocos de codificação maiores.
[00072] Quando uma figura tem três arranjos de amostra (arranjos de amostra para componentes Y, Cr e Cb), uma unidade de codificação maior (CTU) inclui um bloco de codificação maior de uma amostra luma, dois blocos de codificação maiores correspondentes de amostras croma e estruturas de sintaxe usadas para codificar a amostra luma e as amostras croma. Quando uma figura é uma figura monocromática, a unidade de codificação maior inclui o bloco de codificação maior de uma amostra monocromática e estruturas de sintaxe usadas para codificar as amostras monocromáticas. Quando uma figura é uma figura codificada em planos de cores separados de acordo com os componentes de cores, uma unidade de codificação maior inclui estruturas de sintaxe usadas para codificar a figura e amostras da figura.
[00073] Um bloco de codificação maior (CTB) pode ser dividido em blocos de codificação MxN, incluindo amostras de MxN (M e N são números inteiros).
[00074] Quando uma figura tem arranjos de amostra para componentes Y, Cr e Cb, uma unidade de codificação (CU) inclui um bloco de codificação de uma amostra luma, dois blocos de codificação correspondentes de amostras croma e estruturas de sintaxe usadas para codificar a amostra luma e as amostras croma. Quando uma figura é uma figura monocromática, uma unidade de codificação inclui um bloco de codificação de uma amostra monocromática e estruturas de sintaxe usadas para codificar as amostras monocromáticas. Quando uma figura é uma figura codificada em planos de cores separados de acordo com os componentes de cores, uma unidade de codificação inclui estruturas de sintaxe usadas para codificar a figura e as amostras da figura.
[00075] Como descrito acima, um bloco de codificação maior e uma unidade de codificação maior são conceitualmente distintos um do outro, e um bloco de codificação e uma unidade de codificação são conceitualmente distintos um do outro. Ou seja, uma unidade de codificação (maior) se refere a uma estrutura de dados que inclui um bloco de codificação (maior) incluindo uma amostra correspondente e uma estrutura de sintaxe correspondente ao bloco de codificação (maior). Entretanto, em virtude de ser entendido por um versado na técnica que uma unidade de codificação (maior) ou um bloco de codificação (maior) se refere a um bloco de um determinado tamanho incluindo um determinado número de amostras, um bloco de codificação maior e uma unidade de codificação maior, ou um bloco de codificação e uma unidade de codificação são mencionados no relatório descritivo a seguir sem serem distintos, a menos que descrito de outra forma.
[00076] Uma imagem pode ser dividida nas unidades de codificação maiores (CTUs). Um tamanho de cada unidade de codificação maior pode ser determinado com base na informação obtida de um fluxo de bits. Um formato de cada unidade de codificação maior pode ser um formato quadrado do mesmo tamanho. No entanto, uma modalidade não está limitada ao mesmo.
[00077] Por exemplo, a informação sobre um tamanho máximo de um bloco de codificação luma pode ser obtida de um fluxo de bits. Por exemplo, o tamanho máximo do bloco de codificação de luma indicado pela informação sobre o tamanho máximo do bloco de codificação de luma pode ser de 4x4, 8x8, 16x16, 32x32, 64x64, 128x128 e 256x256.
[00078] Por exemplo, informação sobre uma diferença de tamanho de bloco de luma e um tamanho máximo de um bloco de codificação de luma que pode ser dividido em dois pode ser obtida a partir de um fluxo de bits. A informação sobre a diferença de tamanho do bloco de luma pode se referir a uma diferença de tamanho entre a maior unidade de codificação de luma e o maior bloco de codificação de luma que pode ser dividido em dois. Consequentemente, quando a informação sobre o tamanho máximo do bloco de codificação de luma que pode ser dividido em dois e a informação sobre a diferença de tamanho do bloco de luma obtida no fluxo de bits são combinadas entre si, um tamanho da unidade de codificação maior de luma pode ser determinado. Um tamanho de uma unidade de codificação maior croma pode ser determinado usando o tamanho da maior unidade de codificação luma. Por exemplo, quando uma razão Y:Cb:Cr é 4:2:0, de acordo com um formato de cor, um tamanho de um bloco croma pode ter metade do tamanho de um bloco luma e um tamanho de uma maior unidade de codificação croma pode ter a metade do tamanho de uma unidade de codificação maior luma.
[00079] De acordo com uma modalidade, em virtude de a informação sobre um tamanho máximo de um bloco de codificação luma que é divisível binário ser obtida de um fluxo de bits, o tamanho máximo do bloco de codificação luma que é divisível binário pode ser variavelmente determinado . Ao contrário, um tamanho máximo de um bloco de codificação luma que é divisível ternário pode ser fixo. Por exemplo, o tamanho máximo do bloco de codificação luma que é divisível ternário em uma figura I pode ser 32x32, e o tamanho máximo do bloco de codificação luma que é divisível ternário em uma figura P ou uma figura B pode ser 64x64 .
[00080] Também, uma unidade de codificação maior pode ser hierarquicamente dividida em unidades de codificação com base na informação do modo de formato dividida obtida de um fluxo de bits. Pelo menos uma informação indicando se a divisão quádrupla é realizada, a informação indicando se a divisão múltipla é realizada, a informação de direção de divisão e a informação de tipo de divisão podem ser obtidas como informação do modo de formato de divisão do fluxo de bits.
[00081] Por exemplo, as informações que indicam se a divisão quádrupla é executada podem indicar se uma unidade de codificação atual é dividida em quádruplos (QUAD_SPLIT) ou não.
[00082] Quando a unidade de codificação atual não é dividida em quádruplos, as informações que indicam se a divisão múltipla é executada podem indicar se a unidade de codificação atual não é mais dividida (NO_SPLIT) ou dividida em binária/ternária.
[00083] Quando a unidade de codificação atual é uma divisão binária ou ternária, as informações da direção de divisão indicam que a unidade de codificação atual é dividida em uma direção horizontal e vertical.
[00084] Quando a unidade de codificação atual é dividida na direção horizontal ou vertical, a informação do tipo de divisão indica que a unidade de codificação atual é uma divisão binária ou uma divisão ternária.
[00085] Um modo de divisão da unidade de codificação atual pode ser determinado de acordo com a informação de direção de divisão e a informação de tipo de divisão. Um modo de divisão quando a unidade de codificação atual é uma divisão binária na direção horizontal pode ser determinado como um modo de divisão horizontal binária (SPLIT_BT_HOR), um modo de divisão quando a unidade de codificação atual é uma divisão ternária na direção horizontal pode ser modo de divisão horizontal ternária (SPLIT_TT_HOR), um modo de divisão quando a unidade de codificação atual é uma divisão binária na direção vertical pode ser determinado como um modo de divisão vertical binária (SPLIT_BT_VER) e um modo de divisão quando a unidade de codificação atual é uma divisão ternária na direção vertical pode ser determinado como um modo de divisão vertical ternária SPLIT_TT_VER.
[00086] O aparelho de decodificação de imagem 100 pode obter, do fluxo de bits, a informação do modo de formato de divisão de um bin string. Uma forma do fluxo de bits recebido pelo aparelho de decodificação de imagem 100 pode incluir código binário de comprimento fixo, código unário, código unário truncado, código binário predeterminado ou semelhantes. O bin string é a informação em um número binário. O bin string pode incluir pelo menos um bit. O aparelho de decodificação de imagem 100 pode obter a informação do modo de formato de divisão correspondente ao bin string, com base em uma regra de divisão. O aparelho de decodificação de imagem 100 pode determinar se deve dividir em quatro partes uma unidade de codificação, se não deve dividir uma unidade de codificação, uma direção de divisão e um tipo de divisão, com base em um bin string.
[00087] A unidade de codificação pode ser menor ou igual à maior unidade de codificação. Por exemplo, em virtude de uma unidade de codificação maior ser uma unidade de codificação tendo um tamanho máximo, a maior unidade de codificação é uma das unidades de codificação. Quando a informação do modo de formato de divisão sobre uma unidade de codificação maior indica que a divisão não é realizada, uma unidade de codificação determinada na maior unidade de codificação tem o mesmo tamanho que a da maior unidade de codificação. Quando a informação do código de formato de divisão sobre uma unidade de codificação maior indica que a divisão é realizada, a maior unidade de codificação pode ser dividida em unidades de codificação. Também, quando a informação do modo de formato de divisão sobre uma unidade de codificação indica que a divisão é realizada, a unidade de codificação pode ser dividida em unidades de codificação menores. Entretanto, a divisão da imagem não se limita a ela, e a maior unidade de codificação e a unidade de codificação podem não ser distintas. A divisão da unidade de codificação será descrita em detalhes com referência às FIGS. 3 a 16.
[00088] Também, um ou mais blocos de predição para predição podem ser determinados a partir de uma unidade de codificação. O bloco de predição pode ser igual ou menor que a unidade de codificação. Também, um ou mais blocos de transformada para transformada podem ser determinados a partir de uma unidade de codificação. O bloco de transformada pode ser igual ou menor que a unidade de codificação.
[00089] Os formatos e tamanhos do bloco de transformada e um bloco de predição podem não estar relacionados um ao outro.
[00090] Em outra modalidade, a predição pode ser realizada usando uma unidade de codificação como uma unidade de predição. Também, a transformada pode ser realizada usando uma unidade de codificação como um bloco de transformada.
[00091] A divisão da unidade de codificação será descrita em detalhes com referência às FIGS. 3 a 16. Um bloco atual e um bloco vizinho da presente divulgação podem indicar uma das maiores unidades de codificação, a unidade de codificação, o bloco de predição e o bloco de transformada. Também, o bloco atual da unidade de codificação atual é um bloco que está sendo decodificado ou codificado no momento ou um bloco que está sendo dividido no momento. O bloco vizinho pode ser um bloco reconstruído antes do bloco atual. O bloco vizinho pode ser adjacente ao bloco atual espacial ou temporalmente. O bloco vizinho pode estar localizado em uma das partes inferior esquerda, esquerda, superior esquerda, superior, superior direita, direita e inferior direita do bloco atual.
[00092] A FIG. 3 ilustra um processo, realizado por um aparelho de decodificação de imagem, para determinar pelo menos uma unidade de codificação dividindo uma unidade de codificação atual, de acordo com uma modalidade.
[00093] Um formato de bloco pode incluir 4Nx4N, 4Nx2N, 2Nx4N,
4NxN, Nx4N, 32NxN, Nx32N, 16NxN, Nx16N, 8NxN ou Nx8N. Aqui, N pode ser um número inteiro positivo. A informação de formato de bloco é informação que indica pelo menos um dentre um formato, direção, uma razão de largura e altura ou tamanho de uma unidade de codificação.
[00094] O formato da unidade de codificação pode incluir um quadrado e um não quadrado. Quando os comprimentos da largura e da altura da unidade de codificação são os mesmos (ou seja, quando o formato do bloco da unidade de codificação é 4Nx4N), o aparelho de decodificação de imagem 100 pode determinar a informação do formato do bloco da unidade de codificação como um quadrado. O aparelho de decodificação de imagem 100 pode determinar o formato da unidade de codificação como um não quadrado.
[00095] Quando a largura e a altura da unidade de codificação são diferentes uma da outra (isto é, quando o formato do bloco da unidade de codificação é 4Nx2N, 2Nx4N, 4NxN, Nx4N, 32NxN, Nx32N, 16NxN, Nx16N, 8NxN ou Nx8N), o aparelho de decodificação de imagem 100 pode determinar a informação do formato do bloco da unidade de codificação como um formato não quadrado. Quando o formato da unidade de codificação é não quadrado, o aparelho de decodificação de imagem 100 pode determinar a razão da largura e altura entre a informação do formato de bloco da unidade de codificação como pelo menos um de 1:2, 2:1, 1:4, 4:1, 1:8, 8:1, 1:16, 16:1, 1:32 e 32:1. Também, o aparelho de decodificação de imagem 100 pode determinar se a unidade de codificação está em uma direção horizontal ou uma direção vertical, com base no comprimento da largura e no comprimento da altura da unidade de codificação. Também, o aparelho de decodificação de imagem 100 pode determinar o tamanho da unidade de codificação, com base em pelo menos um do comprimento da largura, do comprimento da altura ou da área da unidade de codificação.
[00096] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar o formato da unidade de codificação usando a informação do formato de bloco e pode determinar um método de divisão da unidade de codificação usando a informação de modo de formato de divisão. Ou seja, um método de divisão da unidade de codificação indicado pela informação do modo de formato de divisão pode ser determinado de acordo com o formato de bloco indicado pela informação do formato de bloco usado pelo aparelho de decodificação de imagem 100.
[00097] O aparelho de decodificação de imagem 100 pode obter a informação do modo de formato de divisão a partir de um fluxo de bits. Entretanto, uma modalidade não está limitada a isso e o aparelho de decodificação de imagem 100 e o aparelho de codificação de imagem 2200 podem determinar a informação pré-estabelecida do modo de formato de divisão com base na informação do formato do bloco. O aparelho de decodificação de imagem 100 pode determinar a informação de modo de formato dividido pré-acordada em relação a uma maior unidade de codificação ou uma menor unidade de codificação. Por exemplo, o aparelho de decodificação de imagem 100 pode determinar a informação do modo de formato de divisão em relação à maior unidade de codificação como uma divisão quádrupla. Também, o aparelho de decodificação de imagem 100 pode determinar a informação do modo de formato de divisão em relação à menor unidade de codificação como "não realizar divisão". Em particular, o aparelho de decodificação de imagem 100 pode determinar o tamanho da maior unidade de codificação como 256x256. O aparelho de decodificação de imagem 100 pode determinar a informação do modo de formato de divisão pré- acordada como uma divisão quádrupla. A divisão quádrupla é um modo de formato de divisão no qual a largura e a altura da unidade de codificação são ambas divididas em dois. O aparelho de decodificação de imagem 100 pode obter uma unidade de codificação de tamanho 128x128 da maior unidade de codificação de tamanho 256x256, com base nas informação do modo de formato de divisão. Também, o aparelho de decodificação de imagem 100 pode determinar o tamanho da menor unidade de codificação como 4x4. O aparelho de decodificação de imagem 100 pode obter a informação do modo de formato dividida indicando "não realizar divisão" com relação à menor unidade de codificação.
[00098] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode usar a informação de formato de bloco indicando que a unidade de codificação atual tem um formato quadrado. Por exemplo, o aparelho de decodificação de imagem 100 pode determinar se não deve dividir uma unidade de codificação quadrada, se deve dividir verticalmente a unidade de codificação quadrada, se deve dividir horizontalmente a unidade de codificação quadrada ou se deve dividir a unidade de codificação quadrada em quatro unidades de codificação, com base na informação do modo de formato de divisão. Com referência à FIG. 3, quando a informação de formato do bloco de uma unidade de codificação atual 300 indica um formato quadrado, o decodificador 120 pode determinar que uma unidade de codificação 310a tendo o mesmo tamanho que a unidade de codificação atual 300 não é dividida, com base na informação do modo de formato de divisão indicando não realizar divisão ou pode determinar as unidades de codificação 310b, 310c, 310d, 310e ou 310f divididas com base na informação do modo de formato de divisão, indicando um determinado método de divisão.
[00099] Com referência à FIG. 3, de acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar duas unidades de codificação 310b obtidas dividindo a unidade de codificação atual 300 em uma direção vertical, com base na informação do modo de formato de divisão indicando a realização da divisão em uma direção vertical. O aparelho de decodificação de imagem 100 pode determinar duas unidades de codificação 310c obtidas pela divisão da unidade de codificação atual 300 em uma direção horizontal, com base na informação do modo de formato de divisão indicando a realização da divisão em uma direção horizontal. O aparelho de decodificação de imagem 100 pode determinar quatro unidades de codificação 310d obtidas dividindo a unidade de codificação atual 300 nas direções vertical e horizontal, com base na informação do modo de formato de divisão indicando a realização da divisão nas direções vertical e horizontal. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar três unidades de codificação 310e obtidas dividindo a unidade de codificação atual 300 em uma direção vertical, com base na informação do modo de formato de divisão indicando a realização da divisão ternária em uma direção vertical. O aparelho de decodificação de imagem 100 pode determinar três unidades de codificação 310f obtidas pela divisão da unidade de codificação atual 300 em uma direção horizontal, com base na informação do modo de formato de divisão indicando a realização da divisão ternária em uma direção horizontal. Entretanto, os métodos de divisão da unidade de codificação quadrada não se limitam aos métodos descritos acima e a informação do modo de formato de divisão pode indicar vários métodos. Determinados métodos de divisão de dividir a unidade de codificação quadrada serão descritos em detalhes a seguir em relação a várias modalidades.
[000100] A FIG. 4 ilustra um processo, realizado por um aparelho de decodificação de imagem, para determinar pelo menos uma unidade de codificação dividindo uma unidade de codificação não quadrada, de acordo com uma modalidade.
[000101] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode usar informação de formato de bloco indicando que uma unidade de codificação atual tem um formato não quadrado. O aparelho de decodificação de imagem 100 pode determinar se não deve dividir a unidade de codificação atual não quadrada ou se a unidade de codificação atual não quadrada é utilizada usando um determinado método de divisão, com base na informação do modo de formato de divisão. Com referência à FIG. 4, quando a informação de formato de bloco de uma unidade de codificação atual 400 ou 450 indica um formato não quadrado, o aparelho de decodificação de imagem 100 pode determinar que uma unidade de codificação 410 ou 460 com o mesmo tamanho da unidade de codificação atual 400 ou 450 não é dividida, com base na informação do modo de formato de divisão indicando não realizar a divisão, ou determinar as unidades de codificação 420a e 420b, 430a a 430c, 470a e 470b ou 480a a 480c divididas com base na informação do modo de formato de divisão indicando um determinado método de divisão. Determinados métodos de divisão de dividir uma unidade de codificação não quadrada serão descritos em detalhes a seguir em relação a várias modalidades.
[000102] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar um método de divisão de uma unidade de codificação usando a informação do modo de formato de divisão e, neste caso, a informação do modo de formato de divisão pode indicar o número de uma ou mais unidades de codificação geradas pela divisão de uma unidade de codificação. Com referência à FIG. 4, quando a informação do modo de formato de divisão indica que deve dividir a unidade de codificação atual 400 ou 450 em duas unidades de codificação, o aparelho de decodificação de imagem 100 pode determinar duas unidades de codificação 420a e 420b, ou 470a e 470b incluídas na unidade de codificação atual 400 ou 450 dividindo a unidade de codificação atual 400 ou 450 com base na informação do modo de formato de divisão.
[000103] De acordo com uma modalidade, quando o aparelho de decodificação de imagem 100 divide a unidade de codificação atual não quadrada 400 ou 450 com base na informação do modo de formato de divisão, o aparelho de decodificação de imagem 100 pode considerar a localização de um lado longo da unidade de codificação atual não quadrada 400 ou 450 para dividir uma unidade de codificação atual. Por exemplo, o aparelho de decodificação de imagem 100 pode determinar uma pluralidade de unidades de codificação dividindo o lado longo da unidade de codificação atual 400 ou 450, em consideração ao formato da unidade de codificação atual 400 ou 450.
[000104] De acordo com uma modalidade, quando a informação do modo de formato de divisão indica que deve dividir (divisão ternária) uma unidade de codificação em um número ímpar de blocos, o aparelho de decodificação de imagem 100 pode determinar um número ímpar de unidades de codificação incluídas na unidade de codificação atual 400 ou 450. Por exemplo, quando a informação do modo de formato de divisão indica que deve dividir a unidade de codificação atual 400 ou 450 em três unidades de codificação, o aparelho de decodificação de imagem 100 pode dividir a unidade de codificação atual 400 ou 450 em três unidades de codificação 430a, 430b e 430c, ou 480a, 480b e 480c.
[000105] De acordo com uma modalidade, uma razão da largura e altura da unidade de codificação atual 400 ou 450 pode ser 4:1 ou 1:4. Quando a razão da largura e altura é 4: 1, a informação do formato do bloco pode ser uma direção horizontal, pois o comprimento da largura é maior que o comprimento da altura. Quando a razão da largura e altura é 1: 4, a informação de formato do bloco pode ser uma direção vertical em virtude de o comprimento da largura ser menor que o comprimento da altura. O aparelho de decodificação de imagem 100 pode determinar a divisão e uma unidade de codificação atual em um número ímpar de blocos com base na informação do modo de formato de divisão. Também, o aparelho de decodificação de imagem 100 pode determinar uma direção de divisão da unidade de codificação atual 400 ou 450 com base na informação de formato do bloco da unidade de codificação atual 400 ou 450. Por exemplo, quando a unidade de codificação atual 400 está na direção vertical, o aparelho de decodificação de imagem 100 pode determinar as unidades de codificação 430a a 430c dividindo a unidade de codificação atual 400 na direção horizontal. Também, quando a unidade de codificação atual 450 está na direção horizontal, o aparelho de decodificação de imagem 100 pode determinar as unidades de codificação 480a a
480c dividindo a unidade de codificação atual 450 na direção vertical.
[000106] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar o número ímpar de unidades de codificação incluídas na unidade de codificação atual 400 ou 450, e nem todas as unidades de codificação determinadas podem ter o mesmo tamanho. Por exemplo, uma determinada unidade de codificação 430b ou 480b dentre o número ímpar determinado de unidades de codificação 430a, 430b e 430c, ou 480a, 480b e 480c pode ter um tamanho diferente do tamanho das outras unidades de codificação 430a e 430c, ou 480a e 480c. Ou seja, as unidades de codificação que podem ser determinadas dividindo a unidade de codificação atual 400 ou 450 podem ter vários tamanhos e, em alguns casos, todos os números ímpares de unidades de codificação 430a, 430b e 430c ou 480a, 480b e 480c podem ter tamanhos diferentes.
[000107] De acordo com uma modalidade, quando a informação do modo de formato de divisão indica que deve dividir uma unidade de codificação no número ímpar de blocos, o aparelho de decodificação de imagem 100 pode determinar o número ímpar de unidades de codificação incluídas na unidade de codificação atual 400 ou 450 e, além disso, pode colocar uma determinada restrição em pelo menos uma unidade de codificação entre o número ímpar de unidades de codificação geradas pela divisão da unidade de codificação atual 400 ou 450. Com referência à FIG. 4, o aparelho de decodificação de imagem 100 pode definir um processo de decodificação em relação à unidade de codificação 430b ou 480b localizada no centro entre as três unidades de codificação 430a, 430b e 430c ou 480a, 480b e 480c geradas como a unidade de codificação atual 400 ou 450 é dividida para ser diferente das outras unidades de codificação 430a e 430c, ou 480a ou 480c. Por exemplo, o aparelho de decodificação de imagem 100 pode restringir a unidade de codificação 430b ou 480b na localização central para não ser mais dividida ou para ser dividida apenas um determinado número de vezes, ao contrário das outras unidades de codificação 430a e 430c, ou 480a e 480c.
[000108] A FIG. 5 ilustra um processo, realizado por um aparelho de decodificação de imagem, para dividir uma unidade de codificação com base em pelo menos uma informação de formato de bloco e informação do modo de formato de divisão, de acordo com uma modalidade.
[000109] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar dividir ou não dividir uma primeira unidade de codificação quadrada 500 em unidades de codificação, com base em pelo menos uma informação de formato de bloco e informação do modo de formato de divisão. De acordo com uma modalidade, quando a informação do modo de formato de divisão indica que deve dividir a primeira unidade de codificação 500 em uma direção horizontal, o aparelho de decodificação de imagem 100 pode determinar uma segunda unidade de codificação 510 dividindo a primeira unidade de codificação 500 em uma direção horizontal. Uma primeira unidade de codificação, uma segunda unidade de codificação e uma terceira unidade de codificação usadas de acordo com uma modalidade são termos usados para entender uma relação antes e depois da divisão de uma unidade de codificação. Por exemplo, uma segunda unidade de codificação pode ser determinada dividindo uma primeira unidade de codificação e uma terceira unidade de codificação pode ser determinada dividindo a segunda unidade de codificação. Será entendido que a estrutura da primeira unidade de codificação, da segunda unidade de codificação e da terceira unidade de codificação segue as descrições anteriores.
[000110] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar dividir ou não dividir a segunda unidade de codificação determinada 510 em unidades de codificação, com base na a informação do modo de formato de divisão. Com referência à FIG. 5, o aparelho de decodificação de imagem 100 pode ou não dividir a segunda unidade de codificação não quadrada 510, que é determinada pela divisão da primeira unidade de codificação 500, em uma ou mais terceiras unidades de codificação 520a ou 520b, 520c e 520d com base na a informação do modo de formato de divisão. O aparelho de decodificação de imagem 100 pode obter a informação do modo de formato de divisão e pode obter uma pluralidade de segundas unidades de codificação de vários formatos (por exemplo, 510) dividindo a primeira unidade de codificação 500, com base na a informação obtida do modo de formato de divisão e a segunda unidade de codificação 510 pode ser dividida usando um método de divisão da primeira unidade de codificação 500 com base na a informação do modo de formato de divisão. De acordo com uma modalidade, quando a primeira unidade de codificação 500 é dividida nas segundas unidades de codificação 510 com base nas informações do modo de formato de divisão da primeira unidade de codificação 500, a segunda unidade de codificação 510 também pode ser dividida nas terceiras unidades de codificação 520a, ou 520b, 520c e 520d com base na informação do modo de formato de divisão da segunda unidade de codificação 510. Ou seja, uma unidade de codificação pode ser dividida recursivamente com base na informação do modo de formato de divisão de cada unidade de codificação. Portanto, uma unidade de codificação quadrada pode ser determinada dividindo uma unidade de codificação não quadrada e uma unidade de codificação não quadrada pode ser determinada dividindo recursivamente a unidade de codificação quadrada.
[000111] Com referência à FIG. 5, uma determinada unidade de codificação entre o número ímpar de terceiras unidades de codificação 520b, 520c e 520d determinada pela divisão da segunda unidade de codificação não quadrada 510 (por exemplo, uma unidade de codificação em uma localização central ou uma unidade de codificação quadrada) pode ser dividida recursivamente. De acordo com uma modalidade, a terceira unidade de codificação quadrada 520c dentre o número ímpar de terceiras unidades de codificação 520b, 520c e 520d pode ser dividida na direção horizontal em uma pluralidade de quartas unidades de codificação. Uma quarta unidade de codificação não quadrada 530b ou 530d dentre uma pluralidade de quartas unidades de codificação 530a, 530b, 530c e 530d pode ser dividida em uma pluralidade de unidades de codificação novamente. Por exemplo, a quarta unidade de codificação não quadrada 530b ou 530d pode ser dividida no número ímpar de unidades de codificação novamente. Um método que pode ser usado para dividir recursivamente uma unidade de codificação será descrito a seguir em relação a várias modalidades.
[000112] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode dividir cada uma das terceiras unidades de codificação 520a ou 520b, 520c e 520d em unidades de codificação, com base na informação do modo de formato de divisão. Também, o aparelho de decodificação de imagem 100 pode determinar não dividir a segunda unidade de codificação 510 com base na informação do modo de formato de divisão. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode dividir a segunda unidade de codificação não quadrada 510 no número ímpar de terceiras unidades de codificação 520b, 520c e 520d. O aparelho de decodificação de imagem 100 pode colocar uma determinada restrição em uma determinada terceira unidade de codificação dentre o número ímpar de terceiras unidades de codificação 520b, 520c e 520d. Por exemplo, o aparelho de decodificação de imagem 100 pode restringir a terceira unidade de codificação 520c em uma localização central dentre o número ímpar de terceiras unidades de codificação 520b, 520c e 520d para não ser mais dividida ou para ser dividida em um número configurável de vezes.
[000113] Com referência à FIG. 5, o aparelho de decodificação de imagem 100 pode restringir a terceira unidade de codificação 520c, que está na localização central dentre o número ímpar de terceiras unidades de codificação 520b, 520c e 520d incluídas na segunda unidade de codificação não quadrada 510, para não ser mais dividida, ser dividida usando um determinado método de divisão (por exemplo, dividida em apenas quatro unidades de codificação ou dividida usando um método de divisão da segunda unidade de codificação 510) ou ser dividida apenas um determinado número de vezes (por exemplo, divisão apenas n vezes (onde n> 0)). Entretanto, as restrições na terceira unidade de codificação 520c na localização central não se limitam aos exemplos descritos acima e podem incluir várias restrições para decodificar a terceira unidade de codificação 520c na localização central diferentemente das outras terceiras unidades de codificação 520b e 520d.
[000114] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode obter a informação do modo de formato de divisão, que é usado para dividir uma unidade de codificação atual, a partir de uma determinada localização na unidade de codificação atual.
[000115] A FIG. 6 ilustra um método, realizado por um aparelho de decodificação de imagem, para determinar uma determinada unidade de codificação de um número ímpar de unidades de codificação, de acordo com uma modalidade.
[000116] Com referência à FIG. 6, a informação do modo de formato de divisão de uma unidade de codificação atual 600 ou 650 pode ser obtida a partir de uma amostra de uma determinada localização (por exemplo, uma amostra 640 ou 690 de uma localização central) dentre uma pluralidade de amostras incluídas na unidade de codificação atual 600 ou 650. No entanto, a determinda localização na unidade de codificação atual 600, a partir da qual pelo menos uma parte da informação do modo de formato de divisão pode ser obtida, não está limitada à localização central na FIG. 6 e pode incluir várias localizações incluídas na unidade de codificação atual 600 (por exemplo, superior, inferior, esquerda, direita, superior esquerda, inferior esquerda, superior direita e inferior direita). O aparelho de decodificação de imagem 100 pode obter a informação do modo de formato de divisão a partir da determinada localização e pode determinar dividir ou não dividir a unidade de codificação atual em unidades de codificação de vários formatos e vários tamanhos.
[000117] De acordo com uma modalidade, quando a unidade de codificação atual é dividida em um determinado número de unidades de codificação, o aparelho de decodificação de imagem 100 pode selecionar uma das unidades de codificação. Vários métodos podem ser usados para selecionar uma dentre uma pluralidade de unidades de codificação, conforme serão descritos a seguir em relação a várias modalidades.
[000118] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode dividir a unidade de codificação atual em uma pluralidade de unidades de codificação e pode determinar uma unidade de codificação em uma determinada localização.
[000119] De acordo com uma modalidade, aparelho de decodificação de imagem 100 pode usar informação indicando localizações do número ímpar de unidades de codificação para determinar uma unidade de codificação em uma localização central dentre o número ímpar de unidades de codificação. Com referência à FIG. 6, o aparelho de decodificação de imagem 100 pode determinar o número ímpar de unidades de codificação 620a, 620b e 620c ou o número ímpar de unidades de codificação 660a, 660b e 660c dividindo a unidade de codificação atual 600 ou a unidade de codificação atual 650. O aparelho de decodificação de imagem 100 pode determinar a unidade de codificação intermediária 620b ou a unidade de codificação intermediária 660b usando informação sobre as localizações do número ímpar das unidades de codificação 620a, 620b e 620c ou o número ímpar de unidades de codificação 660a, 660b e 660c. Por exemplo, o aparelho de decodificação de imagem 100 pode determinar a unidade de codificação 620b da localização central, determinando as localizações das unidades de codificação 620a, 620b e 620c com base na informação indicando as localizações de determinadas amostras incluídas nas unidades de codificação 620a, 620b e 620c. Em detalhes, o aparelho de decodificação de imagem 100 pode determinar a unidade de codificação 620b na localização central, determinando as localizações das unidades de codificação 620a, 620b e 620c com base na informação indicando as localizações das amostras superiores esquerdas 630a, 630b e 630c das unidades de codificação 620a, 620b e 620c.
[000120] De acordo com uma modalidade, a informação indicando os locais das amostras superiores esquerdas 630a, 630b e 630c, incluídas nas unidades de codificação 620a, 620b e 620c, respectivamente, pode incluir informação sobre locais ou coordenadas das unidades de codificação 620a, 620b e 620c em uma figura. De acordo com uma modalidade, a informação indicando as localizações das amostras superiores esquerdas 630a, 630b e 630c, incluídas nas unidades de codificação 620a, 620b e 620c, respectivamente, pode incluir informação indicando larguras ou alturas das unidades de codificação 620a, 620b e 620c incluídas na unidade de codificação atual 600, e as larguras ou alturas podem corresponder à informação indicando as diferenças entre as coordenadas das unidades de codificação 620a, 620b e 620c na figura. Ou seja, o aparelho de decodificação de imagem 100 pode determinar a unidade de codificação 620b na localização central, usando diretamente a informação sobre as localizações ou coordenadas das unidades de codificação 620a, 620b e 620c na figura, ou usando a informação sobre as larguras ou alturas das unidades de codificação, que correspondem aos valores de diferença entre as coordenadas.
[000121] De acordo com uma modalidade, a informação indicando a localização da amostra superior esquerda 630a da unidade de codificação superior 620a pode incluir coordenadas (xa, ya), a informação indicando a localização da amostra superior esquerda 630b da unidade de codificação central 620b pode incluir coordenadas (xb, yb) e informação indicando a localização da amostra superior esquerda 630c da unidade de codificação inferior 620c pode incluir coordenadas (xc, yc). O aparelho de decodificação de imagem 100 pode determinar a unidade de codificação intermediária 620b usando as coordenadas das amostras superiores esquerdas 630a, 630b e 630c que estão incluídas nas unidades de codificação 620a, 620b e 620c, respectivamente.
Por exemplo, quando as coordenadas das amostras superiores esquerdas 630a, 630b e 630c são classificadas em ordem crescente ou decrescente, a unidade de codificação 620b incluindo as coordenadas (xb, yb) da amostra 630b em uma localização central pode ser determinada como uma unidade de codificação em uma localização central entre as unidades de codificação 620a, 620b e 620c determinadas pela divisão da unidade de codificação atual 600. Entretanto, as coordenadas indicando as localizações das amostras superiores esquerdas 630a, 630b e 630c podem incluir coordenadas indicando localizações absolutas na figura ou podem usar coordenadas (dxb, dyb) indicando uma localização relativa da amostra superior esquerda 630b da unidade de codificação intermediária 620b e coordenadas (dxc, dyc) indicando uma localização relativa da amostra superior esquerda 630c da unidade de codificação inferior 620c com referência à localização da amostra superior esquerda 630a da unidade de codificação superior 620a.
Um método para determinar uma unidade de codificação em uma determinada localização usando coordenadas de uma amostra incluídas na unidade de codificação, como informação indicando que a localização da amostra, não está limitada ao método descrito acima e pode incluir vários métodos aritméticos capazes de usar as coordenadas da amostra.
[000122] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode dividir a unidade de codificação atual 600 em uma pluralidade de unidades de codificação 620a, 620b e 620c, e pode selecionar uma das unidades de codificação 620a, 620b e 620c com base em um determinado critério. Por exemplo, o aparelho de decodificação de imagem 100 pode selecionar a unidade de codificação 620b, que tem um tamanho diferente das outras, dentre as unidades de codificação 620a, 620b e 620c.
[000123] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar as larguras ou alturas de cada uma das unidades de codificação 620a, 620b e 620c usando as coordenadas (xa, ya) que são a informação indicando a localização da amostra superior esquerda 630a da unidade de codificação superior 620a, as coordenadas (xb, yb) que são a informação indicando a localização da amostra superior esquerda 630b da unidade de codificação intermediária 620b e as coordenadas (xc, yc) que são a informação indicando a localização da amostra superior esquerda 630c da unidade de codificação inferior 620c. O aparelho de decodificação de imagem 100 pode determinar os tamanhos respectivos das unidades de codificação 620a, 620b e 620c usando as coordenadas (xa, ya), (xb, yb) e (xc, yc) indicando as localizações das unidades de codificação 620a, 620b e 620c. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar a largura da unidade de codificação superior 620a como a largura da unidade de codificação atual
600. O aparelho de decodificação de imagem 100 pode determinar a altura da unidade de codificação superior 620a como yb-ya. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar a largura da unidade de codificação intermediária 620b como uma largura da unidade de codificação atual 600. O aparelho de decodificação de imagem 100 pode determinar a altura da unidade de codificação intermediária 620b como yc-yb. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar a largura ou a altura da unidade de codificação inferior 620c usando a largura ou a altura da unidade de codificação atual 600 e as larguras ou alturas das unidades de codificação superiores e intermediárias 620a e 620b. O aparelho de decodificação de imagem 100 pode determinar uma unidade de codificação, que tem um tamanho diferente das outras, com base nas larguras e alturas determinadas das unidades de codificação 620a a 620c. Com referência à FIG. 6, o aparelho de decodificação de imagem 100 pode determinar a unidade de codificação intermediária 620b, que tem um tamanho diferente do tamanho das unidades de codificação superiores e inferiores 620a e 620c, como a unidade de codificação da determinada localização. Entretanto, o método descrito acima, realizado pelo aparelho de decodificação de imagem 100, para determinar uma unidade de codificação com um tamanho diferente do tamanho das outras unidades de codificação, corresponde apenas a um exemplo de determinação de uma unidade de codificação em uma determinada localização usando os tamanhos de unidades de codificação, que são determinados com base nas coordenadas das amostras e,
portanto, vários métodos para determinar uma unidade de codificação em uma determinada localização, comparando os tamanhos de unidades de codificação, que são determinados com base nas coordenadas de determinadas amostras, podem ser usados.
[000124] O aparelho de decodificação de imagem 100 pode determinar a largura ou altura de cada uma das unidades de codificação 660a, 660b e 660c usando as coordenadas (xd, yd) que é informação indicando uma localização de uma amostra superior esquerda 670a da unidade de codificação esquerda 660a, as coordenadas (xe, ye) que é informação indicando uma localização da amostra superior esquerda 670b da unidade de codificação intermediária 660b e as coordenadas (xf, yf) que é informação indicando uma localização da amostra superior esquerda 670c da unidade de codificação direita 660c. O aparelho de decodificação de imagem 100 pode determinar os respectivos tamanhos das unidades de codificação 660a, 660b e 660c usando as coordenadas (xd, yd), (xe, ye) e (xf, yf) indicando as localizações das unidades de codificação 660a, 660b e 660c.
[000125] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar a largura da unidade de codificação esquerda 660a como xe-xd. O aparelho de decodificação de imagem 100 pode determinar a altura da unidade de codificação esquerda 660a como a altura da unidade de codificação atual 650. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar a largura da unidade de codificação intermediária 660b como xf- xe. O aparelho de decodificação de imagem 100 pode determinar a altura da unidade de codificação intermediária 660b como a altura da unidade de codificação atual 650. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar a largura ou a altura da unidade de codificação direita 660c usando a largura ou a altura da unidade de codificação atual 650 ou as larguras ou alturas das unidades de codificação esquerdas e intermediárias 660a e 660b. O aparelho de decodificação de imagem 100 pode determinar uma unidade de codificação, que tem um tamanho diferente das outras, com base nas larguras e alturas determinadas das unidades de codificação 660a a 660c. Com referência à FIG. 6, o aparelho de decodificação de imagem 100 pode determinar a unidade de codificação intermediária 660b, que tem um tamanho diferente dos tamanhos das unidades de codificação esquerdas e direitas 660a a 660c, como a unidade de codificação da determinada localização. Entretanto, o método descrito acima, realizado pelo aparelho de decodificação de imagem 100, para determinar uma unidade de codificação com um tamanho diferente do tamanho das outras unidades de codificação, corresponde apenas a um exemplo de determinação de uma unidade de codificação em uma determinada localização usando os tamanhos de unidades de codificação, que são determinados com base nas coordenadas das amostras e, portanto, vários métodos para determinar uma unidade de codificação em uma determinada localização, comparando os tamanhos de unidades de codificação, que são determinados com base nas coordenadas de determinadas amostras, podem ser usados.
[000126] Entretanto, as localizações das amostras consideradas determinar as localizações das unidades de codificação não estão limitadas às localizações superiores esquerdas descritas acima e a informação sobre as localizações arbitrárias das amostras incluídas nas unidades de codificação pode ser usada.
[000127] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode selecionar uma unidade de codificação em uma determinada localização dentre um número ímpar de unidades de codificação determinadas pela divisão da unidade de codificação atual, considerando o formato da unidade de codificação atual. Por exemplo, quando a unidade de codificação atual tem um formato não quadrado, cuja largura é maior que uma altura, o aparelho de decodificação de imagem 100 pode determinar a unidade de codificação na determinada localização na direção horizontal. Ou seja, o aparelho de decodificação de imagem 100 pode determinar uma das unidades de codificação em diferentes localizações na direção horizontal e colocar uma restrição na unidade de codificação. Quando a unidade de codificação atual tem um formato não quadrado, cuja altura é maior que uma largura, o aparelho de decodificação de imagem 100 pode determinar a unidade de codificação na determinada localização na direção vertical. Ou seja, o aparelho de decodificação de imagem 100 pode determinar uma das unidades de codificação em localizações diferentes em uma direção vertical e pode colocar uma restrição na unidade de codificação.
[000128] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode usar a informação indicando as respectivas localizações de um número par de unidades de codificação para determinar a unidade de codificação na determinada localização entre o número par de unidades de codificação. O aparelho de decodificação de imagem 100 pode determinar um número par de unidades de codificação dividindo (divisão binária) a unidade de codificação atual e pode determinar a unidade de codificação na determinada localização usando a informação sobre as localizações do número par de unidades de codificação. Uma operação relacionada a isso pode corresponder à operação para determinar uma unidade de codificação em uma determinadas localização (por exemplo, uma localização central) dentre um número ímpar de unidades de codificação, que foi descrito em detalhes acima em relação à FIG. 6 e, portanto, descrições detalhadas do mesmo não são fornecidas aqui.
[000129] De acordo com uma modalidade, quando uma unidade de codificação atual não quadrada é dividida em uma pluralidade de unidades de codificação, determinada informação sobre uma unidade de codificação em uma determinada localização pode ser usada em uma operação de divisão para determinar a unidade de codificação na determinada localização dentre a pluralidade de unidades de codificação. Por exemplo, o aparelho de decodificação de imagem 100 pode usar pelo menos uma informação do formato de bloco e a informação do modo de formato de divisão, que são armazenadas em uma amostra incluída em uma unidade de codificação intermediária, em uma operação de divisão para determinar uma unidade de codificação em uma localização central entre a pluralidade de unidades de codificação determinada pela divisão da unidade de codificação atual.
[000130] Com referência à FIG. 6, o aparelho de decodificação de imagem 100 pode dividir a unidade de codificação atual 600 na pluralidade de unidades de codificação 620a, 620b e 620c com base na informação do modo de formato de divisão e pode determinar a unidade de codificação 620b em uma localização central dentre a pluralidade das unidades de codificação 620a,
620b e 620c. Além disso, o aparelho de decodificação de imagem 100 pode determinar a unidade de codificação 620b na localização central, em consideração a uma localização a partir da qual a informação do modo de formato de divisão é obtida. Ou seja, a informação do modo de formato de divisão da unidade de codificação atual 600 pode ser obtida a partir da amostra 640 em uma localização central da unidade de codificação atual 600 e, quando a unidade de codificação atual 600 é dividida na pluralidade de unidades de codificação 620a, 620b e 620c com base na informação do modo de formato de divisão, a unidade de codificação 620b incluindo a amostra 640 pode ser determinada como a unidade de codificação na localização central. Entretanto, a informação usada para determinar a unidade de codificação na localização central não se limita à informação do modo de formato de divisão e vários tipos de informação podem ser usados para determinar a unidade de codificação na localização central.
[000131] De acordo com uma modalidade, determinada informação para identificar a unidade de codificação na determinada localização pode ser obtida a partir de uma determinada amostra incluída em uma unidade de codificação a ser determinada. Com referência à FIG. 6, o aparelho de decodificação de imagem 100 pode usar a informação do modo de formato de divisão, que é obtida a partir de uma amostra em uma determinada localização na unidade de codificação atual 600 (por exemplo, uma amostra na localização central da unidade de codificação atual 600) para determinar um unidade de codificação em uma determinada localização dentre a pluralidade das unidades de codificação 620a, 620b e 620c determinada pela divisão da unidade de codificação atual 600
(por exemplo, uma unidade de codificação na localização central dentre uma pluralidade de unidades de codificação de divisão). Ou seja, o aparelho de decodificação de imagem 100 pode determinar a amostra na determinada localização, considerando um formato de bloco da unidade de codificação atual 600, pode determinar a unidade de codificação 620b incluindo uma amostra, a partir da qual determinada informação (por exemplo, a informação do modo de formato de divisão) pode ser obtida, dentre a pluralidade de unidades de codificação 620a, 620b e 620c, determinadas pela divisão da unidade de codificação atual 600, e pode colocar uma determinada restrição na unidade de codificação 620b. Com referência à FIG. 6, de acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar a amostra 640 na localização central da unidade de codificação atual 600 como a amostra da qual determinada informação pode ser obtidas e pode colocar uma determinada restrição na unidade de codificação 620b incluindo a amostra 640, em uma operação de decodificação. Entretanto, a localização da amostra a partir da qual determinada informação pode ser obtida não está limitada à localização descrita acima e pode incluir locais arbitrários das amostras incluídas na unidade de codificação 620b a serem determinadas para uma restrição.
[000132] De acordo com uma modalidade, a localização da amostra a partir da qual determinada informação pode ser obtida pode ser determinada com base no formato da unidade de codificação atual 600. De acordo com uma modalidade, a informação do formato do bloco pode indicar se a unidade de codificação atual tem um formato quadrado ou não quadrado e a localização da amostra da qual determinada informação pode ser obtida pode ser determinada com base no formato. Por exemplo, o aparelho de decodificação de imagem 100 pode determinar uma amostra localizada em um limite para dividir ao menos uma de uma largura e uma altura da unidade de codificação atual pela metade, como a amostra a partir da qual determinada informação pode ser obtida, usando pelo menos uma informação sobre a largura da unidade de codificação atual e informação sobre a altura da unidade de codificação atual. Como um outro exemplo, quando a informação de formato do bloco da unidade de codificação atual indica um formato não quadrado, o aparelho de decodificação de imagem 100 pode determinar uma das amostras incluindo um limite para dividir um lado longo da unidade de codificação atual, como a amostra da qual a informação predeterminada pode ser obtida.
[000133] De acordo com uma modalidade, quando a unidade de codificação atual é dividida em uma pluralidade de unidades de codificação, o aparelho de decodificação de imagem 100 pode usar a informação do modo de formato de divisão para determinar uma unidade de codificação em uma determinada localização dentre a pluralidade de unidades de codificação. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode obter a informação do modo de formato de divisão de uma amostra em uma determinadas localização em uma unidade de codificação e pode dividir a pluralidade de unidades de codificação, que são geradas pela divisão da unidade de codificação atual, usando a informação do modo de formato de divisão, que é obtida a partir da amostra da determinada localização em cada uma da pluralidade de unidades de codificação. Ou seja, uma unidade de codificação pode ser dividida recursivamente com base na informação do modo de formato de divisão, que é obtida a partir da amostra na determinada localização em cada unidade de codificação. Uma operação de dividir recursivamente uma unidade de codificação foi descrita acima em relação à FIG. 5 e, assim, descrições detalhadas não serão fornecidas aqui.
[000134] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar uma ou mais unidades de codificação dividindo a unidade de codificação atual e pode determinar uma ordem de decodificação da uma ou mais unidades de codificação, com base em um determinado bloco (por exemplo, a unidade de codificação atual).
[000135] A FIG. 7 ilustra uma ordem de processamento de uma pluralidade de unidades de codificação quando um aparelho de decodificação de imagem determina a pluralidade de unidades de codificação dividindo uma unidade de codificação atual, de acordo com uma modalidade.
[000136] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar segundas unidades de codificação 710a e 710b dividindo uma primeira unidade de codificação 700 em uma direção vertical, determinar as segundas unidades de codificação 730a e 730b dividindo a primeira unidade de codificação 700 em uma direção horizontal ou determinar as segundas unidades de codificação 750a a 750d dividindo a primeira unidade de codificação 700 nas direções vertical e horizontal, com base na informação do modo de formato de divisão.
[000137] Com referência à FIG. 7, o aparelho de decodificação de imagem 100 pode determinar o processamento das segundas unidades de codificação 710a e 710b, que são determinadas dividindo a primeira unidade de codificação 700 em uma direção vertical, em uma ordem de direção horizontal 710c. O aparelho de decodificação de imagem 100 pode determinar o processamento das segundas unidades de codificação 730a e 730b, que são determinadas dividindo a primeira unidade de codificação 700 em uma direção horizontal, em uma ordem de direção vertical 730c. O aparelho de decodificação de imagem 100 pode determinar o processamento das segundas unidades de codificação 750a a 750d, que são determinadas dividindo a primeira unidade de codificação 700 nas direções vertical e horizontal, em uma determinada ordem para processar unidades de codificação em uma linha e então processar unidades de codificação em uma próxima linha (por exemplo, em uma ordem de varredura raster ou ordem de varredura Z 750e).
[000138] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode dividir recursivamente as unidades de codificação. Com referência à FIG. 7, o aparelho de decodificação de imagem 100 pode determinar a pluralidade de unidades de codificação 710a e 710b, 730a e 730b ou 750a a 750d dividindo a primeira unidade de codificação 700 e pode dividir recursivamente cada uma da pluralidade determinada de unidades de codificação 710b, 730a e 730b ou 750a a 750d. Um método de divisão da pluralidade de unidades de codificação 710b, 730a e 730b ou 750a a 750d pode corresponder a um método de divisão da primeira unidade de codificação 700. Como tal, cada uma da pluralidade das unidades de codificação 710b, 730a e 730b ou 750a a 750d pode ser dividida independentemente em uma pluralidade de unidades de codificação. Com referência à FIG. 7, o aparelho de decodificação de imagem 100 pode determinar as segundas unidades de codificação 710a e 710b dividindo a primeira unidade de codificação 700 em uma direção vertical e pode determinar dividir independentemente ou não dividir cada uma das segundas unidades de codificação 710a e 710b.
[000139] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar terceiras unidades de codificação 720a e 720b dividindo a segunda unidade de codificação esquerda 710a em uma direção horizontal e não pode dividir a segunda unidade de codificação direita 710b.
[000140] De acordo com uma modalidade, uma ordem de processamento de unidades de codificação pode ser determinada com base em uma operação de divisão de uma unidade de codificação. Em outras palavras, uma ordem de processamento de unidades de codificação de divisão pode ser determinada com base em uma ordem de processamento de unidades de codificação imediatamente antes de serem divididas. O aparelho de decodificação de imagem 100 pode determinar uma ordem de processamento das terceiras unidades de codificação 720a e 720b determinadas pela divisão da segunda unidade de codificação esquerda 710a, independentemente da segunda unidade de codificação direita 710b. Em virtude de as terceiras unidades de codificação 720a e 720b serem determinadas dividindo a segunda unidade de codificação esquerda 710a na direção horizontal, as terceiras unidades de codificação 720a e 720b podem ser processadas na ordem de direção vertical 720c. Em virtude de as segundas unidades de codificação esquerda e direita 710a e 710b serem processadas na ordem de direção horizontal 710c, a segunda unidade de codificação direita 710b pode ser processada depois que as terceiras unidades de codificação 720a e 720b incluídas na segunda unidade de codificação esquerda 710a são processadas na ordem de direção vertical 720c. Uma operação de determinação de uma ordem de processamento de unidades de codificação com base em uma unidade de codificação antes de ser dividida não se limita ao exemplo descrito acima, e vários métodos podem ser utilizados para processar independentemente unidades de codificação, que são divididas e determinadas de vários formatos, em uma determinada ordem.
[000141] A FIG. 8 ilustra um processo, realizado por um aparelho de decodificação de imagem, para determinar que uma unidade de codificação atual deve ser dividida em um número ímpar de unidades de codificação, quando as unidades de codificação não são processáveis em uma determinada ordem, de acordo com uma modalidade.
[000142] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar se a unidade de codificação atual é dividida em um número ímpar de unidades de codificação, com base na informação obtida no modo de formato de divisão. Com referência à FIG. 8, uma primeira unidade de codificação quadrada 800 pode ser dividida em segundas unidades de codificação não quadradas 810a e 810b e as segundas unidades de codificação 810a e 810b podem ser divididas independentemente em terceiras unidades de codificação 820a e 820b e 820c a 820e. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar a pluralidade de terceiras unidades de codificação 820a e 820b dividindo a segunda unidade de codificação esquerda 810a em uma direção horizontal e pode dividir a segunda unidade de codificação direita 810b no número ímpar de terceiras unidades de codificação 820c a 820e.
[000143] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar se alguma unidade de codificação é dividida em um número ímpar de unidades de codificação, determinando se as terceiras unidades de codificação 820a e 820b e 820c a 820e são processáveis em uma determinada ordem. Com referência à FIG. 8, o aparelho de decodificação de imagem 100 pode determinar as terceiras unidades de codificação 820a e 820b e 820c a 820e dividindo recursivamente a primeira unidade de codificação 800. O aparelho de decodificação de imagem 100 pode determinar se qualquer uma da primeira unidade de codificação 800, das segundas unidades de codificação 810a e 810b ou das terceiras unidades de codificação 820a e 820b e 820c a 820e são divididas em um número ímpar de unidades de codificação, com base em pelo menos uma informação de formato do bloco e informação do modo de formato de divisão. Por exemplo, a segunda unidade de codificação 810b direita entre as segundas unidades de codificação 810a e 810b pode ser dividida em um número ímpar de terceiras unidades de codificação 820c, 820d e 820e. Uma ordem de processamento de uma pluralidade de unidades de codificação incluídas na primeira unidade de codificação 800 pode ser uma determinada ordem (por exemplo, uma ordem de varredura Z 830) e o aparelho de decodificação de imagem 100 pode determinar se as terceiras unidades de codificação 820c, 820d e 820e, que são determinadas dividindo a segunda unidade de codificação direita 810b em um número ímpar de unidades de codificação, satisfazem uma condição para processamento na determinada ordem.
[000144] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar se as terceiras unidades de codificação 820a e 820b e 820c a 820e incluídas na primeira unidade de codificação 800 satisfazem a condição para processamento na determinada ordem, e a condição se refere a se pelo menos uma de uma largura e altura das segundas unidades de codificação 810a e 810b deve ser dividida ao meio ao longo de um limite das terceiras unidades de codificação 820a e 820b e 820c a 820e.
Por exemplo, as terceiras unidades de codificação 820a e 820b determinadas quando a altura da segunda unidade de codificação esquerda 810a do formato não quadrada é dividida ao meio podem satisfazer a condição.
Pode ser determinado que as terceiras unidades de codificação 820c a 820e não satisfazem a condição em virtude de os limites das terceiras unidades de codificação 820c a 820e determinados quando a segunda unidade de codificação direita 810b é dividida em três unidades de codificação, serem incapazes de dividir a largura ou a altura da segunda unidade de codificação direita 810b ao meio.
Quando a condição não é satisfeita como descrito acima, o aparelho de decodificação de imagem 100 pode determinar desconexão de uma ordem de varredura e pode determinar que a segunda unidade de codificação direita 810b é dividida em um número ímpar de unidades de codificação, com base em um resultado da determinação.
De acordo com uma modalidade, quando uma unidade de codificação é dividida em um número ímpar de unidades de codificação, o aparelho de decodificação de imagem 100 pode colocar uma determinada restrição em uma unidade de codificação em uma determinada localização entre as unidades de codificação divididas.
A restrição ou a determinada localização foi descrita acima em relação a várias modalidades e, assim, as descrições detalhadas das mesmas não serão fornecidas neste documento.
[000145] A FIG. 9 ilustra um processo, realizado por um aparelho de decodificação de imagem, para determinar pelo menos uma unidade de codificação dividindo uma primeira unidade de codificação, de acordo com uma modalidade.
[000146] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode dividir a primeira unidade de codificação 900, com base na informação do modo de formato de divisão, que é obtida através do receptor 110. A primeira unidade de codificação quadrada 900 pode ser dividida em quatro unidades de codificação quadrada ou pode ser dividida em uma pluralidade de unidades de codificação não quadrada. Por exemplo, referindo-se à FIG. 9, quando a informação do modo de formato de divisão indica que deve dividir a primeira unidade de codificação 900 em unidades de codificação não quadradas, o aparelho de decodificação de imagem 100 pode dividir a primeira unidade de codificação 900 em uma pluralidade de unidades de codificação não quadrada. Em detalhes, quando a informação do modo de formato de divisão indica que deve determinar um número ímpar de unidades de codificação dividindo a primeira unidade de codificação 900 em uma direção horizontal ou vertical, o aparelho de decodificação de imagem 100 pode dividir a primeira unidade de codificação quadrada 900 em um número ímpar de unidades de codificação, por exemplo, segundas unidades de codificação 910a, 910b e 910c determinadas pela divisão da primeira unidade de codificação quadrada 900 em uma direção vertical ou segundas unidades de codificação 920a, 920b e 920c determinadas pela divisão da primeira unidade de codificação quadrada 900 em uma direção horizontal.
[000147] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar se as segundas unidades de codificação 910a, 910b, 910c, 920a, 920b e 920c incluídas na primeira unidade de codificação 900 satisfazem uma condição para processamento em uma determinada ordem e a condição se refere a se pelo menos uma de uma largura e altura da primeira unidade de codificação 900 é dividida ao meio ao longo de um limite das segundas unidades de codificação 910a, 910b, 910c, 920a, 920b e 920c.
Com referência à FIG. 9, em virtude de os limites das segundas unidades de codificação 910a, 910b e 910c determinados pela divisão da primeira unidade de codificação quadrada 900 em uma direção vertical não dividirem a largura da primeira unidade de codificação 900 pela metade, pode ser determinado que a primeira unidade de codificação 900 não satisfaz a condição para processamento na determinada ordem.
Além disso, em virtude de os limites das segundas unidades de codificação 920a, 920b e 920c determinados pela divisão da primeira unidade de codificação quadrada 900 em uma direção horizontal não dividirem a largura da primeira unidade de codificação 900 pela metade, pode ser determinado que a primeira unidade de codificação 900 não satisfaz a condição de processamento na determinada ordem.
Quando a condição não é satisfeita como descrito acima, o aparelho de decodificação de imagem 100 pode decidir desconectar uma ordem de varredura e pode determinar que a primeira unidade de codificação 900 é para ser dividida em um número ímpar de unidades de codificação, com base no resultado da decisão.
De acordo com uma modalidade, quando uma unidade de codificação é dividida em um número ímpar de unidades de codificação, o aparelho de decodificação de imagem 100 pode colocar uma determinada restrição em uma unidade de codificação em uma determinada localização entre as unidades de codificação divididas. A restrição ou a determinada localização foi descrita acima em relação a várias modalidades e, assim, as descrições detalhadas das mesmas não serão fornecidas neste documento.
[000148] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar unidades de codificação de vários formatos dividindo uma primeira unidade de codificação.
[000149] Com referência à FIG. 9, o aparelho de decodificação de imagem 100 pode dividir a primeira unidade de codificação quadrada 900 ou uma primeira unidade de codificação não quadrada 930 ou 950 em unidades de codificação de vários formatos.
[000150] A FIG. 10 ilustra que um formato no qual uma segunda unidade de codificação é divisível é restrita quando uma segunda unidade de codificação com um formato não quadrado, que é determinada quando um aparelho de decodificação de imagem divide uma primeira unidade de codificação, satisfaz uma determinada condição, de acordo com uma modalidade.
[000151] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar dividir a primeira unidade de codificação quadrada 1000 nas segundas unidades de codificação não quadradas 1010a e 1010b ou 1020a e 1020b, com base na informação do modo de formato de divisão, que é obtida pelo receptor 110. As segundas unidades de codificação 1010a e 1010b ou 1020a e 1020b podem ser divididas independentemente. Como tal, o aparelho de decodificação de imagem 100 pode determinar dividir ou não dividir a segunda unidade de codificação 1010a e 1010b ou 1020a e 1020b em uma pluralidade de unidades de codificação, com base na informação do modo de formato de divisão de cada uma das segundas unidades de codificação 1010a e 1010b ou 1020a e 1020b. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar terceiras unidades de codificação 1012a e 1012b dividindo a segunda unidade de codificação esquerda não quadrada 1010a, que é determinada dividindo a primeira unidade de codificação 1000 em uma direção vertical, em uma direção horizontal. Entretanto, quando a segunda unidade de codificação esquerda 1010a é dividida na direção horizontal, o aparelho de decodificação de imagem 100 pode restringir a segunda unidade de codificação direita 1010b para não ser dividida na direção horizontal na qual a segunda unidade de codificação esquerda 1010a é dividida. Quando as terceiras unidades de codificação 1014a e 1014b são determinadas dividindo a segunda unidade de codificação direita 1010b em uma mesma direção, em virtude de as segundas unidades de codificação esquerda e direita 1010a e 1010b serem divididas independentemente na direção horizontal, as terceiras unidades de codificação 1012a e 1012b ou 1014a e 1014b podem ser determinadas. Entretanto, este caso serve igualmente como um caso em que o aparelho de decodificação de imagem 100 divide a primeira unidade de codificação 1000 em quatro segundas unidades de codificação quadrada 1030a, 1030b, 1030c e 1030d, com base na informação do modo de formato de divisão e pode ser ineficiente em termos de decodificação de imagem.
[000152] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar terceiras unidades de codificação 1022a e 1022b ou 1024a e 1024b dividindo a segunda unidade de codificação não quadrada 1020a ou 1020b,
que é determinada dividindo a primeira unidade de codificação 1000 em uma direção horizontal, em uma direção vertical. Entretanto, quando uma segunda unidade de codificação (por exemplo, a segunda unidade de codificação superior 1020a) é dividida na direção vertical, pelo motivo descrito acima, o aparelho de decodificação de imagem 100 pode restringir a outra segunda unidade de codificação (por exemplo, a segunda codificação inferior 1020b) para não ser dividida na direção vertical na qual a segunda unidade de codificação superior 1020a é dividida.
[000153] A FIG. 11 ilustra um processo, realizado por um aparelho de decodificação de imagem, para dividir uma unidade de codificação quadrada quando a informação do modo de formato de divisão é incapaz de indicar que a unidade de codificação quadrada é dividida em quatro unidades de codificação quadrada, de acordo com uma modalidade.
[000154] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar segundas unidades de codificação 1110a e 1110b ou 1120a e 1120b, etc. dividindo uma primeira unidade de codificação 1100 com base em informação do modo de formato de divisão. A informação do modo de formato de divisão pode incluir a informação sobre vários métodos de divisão de uma unidade de codificação, mas a informação sobre os vários métodos de divisão pode não incluir a informação para dividir uma unidade de codificação em quatro unidades de codificação quadrada. De acordo com essa informação do modo de formato de divisão, o aparelho de decodificação de imagem 100 pode não dividir a primeira unidade de codificação quadrada 1100 em quatro segundas unidades de codificação quadrada 1130a, 1130b, 1130c e 1130d.
O aparelho de decodificação de imagem 100 pode determinar as segundas unidades de codificação não quadrada 1110a e 1110b ou 1120a e 1120b, etc., com base na informação do modo de formato de divisão.
[000155] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode dividir independentemente as segundas unidades de codificação não quadrada 1110a e 1110b ou 1120a e 1120b, etc. Cada uma das segundas unidades de codificação 1110a e 1110b ou 1120a e 1120b, etc. pode ser dividida recursivamente em uma determinada ordem e esse método de divisão pode corresponder a um método de divisão da primeira unidade de codificação 1100, com base na informação do modo de formato de divisão.
[000156] Por exemplo, o aparelho de decodificação de imagem 100 pode determinar a terceira unidade de codificação quadrada 1112a e 1112b dividindo a segunda unidade de codificação esquerda 1110a em uma direção horizontal e pode determinar a terceira unidade de codificação quadrada 1114a e 1114b dividindo a segunda unidade de codificação direita 1110b em uma direção horizontal. Além disso, o aparelho de decodificação de imagem 100 pode determinar as terceiras unidades de codificação quadradas 1116a, 1116b, 1116c e 1116d dividindo ambas as segundas unidades de codificação esquerda e direita 1110a e 1110b na direção horizontal. Neste caso, podem ser determinadas unidades de codificação que têm o mesmo formato que as quatro unidades de codificação quadrada 1130a, 1130b, 1130c e 1130d divididas da primeira unidade de codificação 1100.
[000157] Como um outro exemplo, o aparelho de decodificação de imagem 100 pode determinar a terceira unidade de codificação quadrada 1122a e 1122b dividindo a segunda unidade de codificação superior 1120a em uma direção vertical e pode determinar a terceira unidade de codificação quadrada 1124a e 1124b dividindo a segunda unidade de codificação inferior 1120b em uma direção vertical. Além disso, o aparelho de decodificação de imagem 100 pode determinar as terceiras unidades de codificação quadrada 1126a, 1126b, 1126c e 1126d dividindo ambas as segundas unidades de codificação superior e inferior 1120a e 1120b em uma direção vertical. Neste caso, podem ser determinadas unidades de codificação que têm o mesmo formato que as quatro unidades de codificação quadrada 1130a, 1130b, 1130c e 1130d divididas da primeira unidade de codificação 1100.
[000158] A FIG. 12 ilustra que uma ordem de processamento entre uma pluralidade de unidades de codificação pode ser alterada dependendo de um processo de divisão de uma unidade de codificação, de acordo com uma modalidade.
[000159] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode dividir uma primeira unidade de codificação 1200, com base em informação do modo de formato de divisão. Quando um formato de bloco indica um formato quadrado e a informação do modo de formato de divisão indica dividir a primeira unidade de codificação 1200 em pelo menos uma das direções horizontal e vertical, o aparelho de decodificação de imagem 100 pode determinar as segundas unidades de codificação 1210a e 1210b ou 1220a e 1220b, etc. dividindo a primeira unidade de codificação 1200. Com referência à FIG. 12, as segundas unidades de codificação não quadrada 1210a e 1210b ou 1220a e 1220b determinadas dividindo a primeira unidade de codificação 1200 em apenas uma direção horizontal ou vertical podem ser divididas independentemente com base na informação do modo de formato de divisão de cada unidade de codificação. Por exemplo, o aparelho de decodificação de imagem 100 pode determinar as terceiras unidades de codificação 1216a, 1216b, 1216c e 1216d dividindo as segundas unidades de codificação 1210a e 1210b, que são geradas dividindo a primeira unidade de codificação 1200 em uma direção vertical, em uma direção horizontal e pode determinar terceiras unidades de codificação 1226a, 1226b, 1226c e 1226d dividindo as segundas unidades de codificação 1220a e 1220b, que são geradas dividindo a primeira unidade de codificação 1200 em uma direção horizontal, em uma direção vertical. Uma operação de divisão das segundas unidades de codificação 1210a e 1210b ou 1220a e 1220b foi descrita acima em relação à FIG. 11 e, assim, descrições detalhadas não serão fornecidas neste documento.
[000160] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode processar unidades de codificação em uma determinada ordem. Uma operação de processamento de unidades de codificação em uma determinada ordem foi descrita acima em relação à FIG. 7 e, assim, descrições detalhadas não serão fornecidas neste documento. Com referência à FIG. 12, o aparelho de decodificação de imagem 100 pode determinar quatro terceiras unidades de codificação quadrada 1216a, 1216b, 1216c e 1216d ou 1226a, 1226b, 1226c e 1226d dividindo a primeira unidade de codificação quadrada 1200. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar ordens de processamento das terceiras unidades de codificação 1216a, 1216b, 1216c e 1216d e 1226a, 1226b, 1226c e 1226d com base em um método de divisão da primeira unidade de codificação 1200.
[000161] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar as terceiras unidades de codificação 1216a, 1216b, 1216c e 1216d dividindo as segundas unidades de codificação 1210a e 1210b geradas pela divisão da primeira unidade de codificação 1200 na direção vertical, na direção horizontal e pode processar as terceiras unidades de codificação 1216a, 1216b, 1216c e 1216d em uma ordem de processamento 1217 para processar inicialmente as terceiras unidades de codificação 1216a e 1216c, incluídas na segunda unidade de codificação esquerda 1210a, na direção vertical e, então processar a terceira unidade de codificação 1216b e 1216d, que estão incluídas na segunda unidade de codificação 1210b direita, na direção vertical.
[000162] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar as terceiras unidades de codificação 1226a, 1226b, 1226c e 1226d dividindo as segundas unidades de codificação 1220a e 1220b geradas pela divisão da primeira unidade de codificação 1200 em uma direção horizontal, em uma direção vertical e pode processar as terceiras unidades de codificação 1226a, 1226b, 1226c e 1226d em uma ordem de processamento 1227 para processar inicialmente as terceiras unidades de codificação 1226a e 1226b, que estão incluídas na segunda unidade de codificação superior 1220a, em uma direção horizontal e então processar a terceira unidade de codificação 1226c e 1226d, que estão incluídas na segunda unidade de codificação inferior 1220b, em uma direção horizontal.
[000163] Com referência à FIG. 12, as terceiras unidades de codificação quadrada 1216a, 1216b, 1216c e 1216d e 1226a,
1226b, 1226c e 1226d podem ser determinadas dividindo as segundas unidades de codificação 1210a e 1210b, e 1220a e 1920b, respectivamente. Embora as segundas unidades de codificação 1210a e 1210b sejam determinadas dividindo a primeira unidade de codificação 1200 em uma direção vertical diferente das segundas unidades de codificação 1220a e 1220b que são determinadas pela divisão da primeira unidade de codificação 1200 em uma direção horizontal, as terceiras unidades de codificação 1216a, 1216b, 1216c e 1216d e 1226a, 1226b, 1226c e 1226d divididas a partir daí, eventualmente mostram as unidades de codificação com o mesmo formato de divisão da primeira unidade de codificação 1200. Como tal, dividindo recursivamente uma unidade de codificação de maneiras diferentes, com base na informação do formato de divisão, o aparelho de decodificação de imagem 100 pode processar uma pluralidade de unidades de codificação em ordens diferentes, mesmo quando as unidades de codificação são finalmente determinadas como tendo o mesmo formato.
[000164] A FIG. 13 ilustra um processo para determinar uma profundidade de uma unidade de codificação quando um formato e um tamanho da unidade de codificação muda, quando a unidade de codificação é dividida recursivamente de tal modo que uma pluralidade de unidades de codificação seja determinada, de acordo com uma modalidade.
[000165] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar a profundidade da unidade de codificação, com base em um certo critério. Por exemplo, o determinado critério pode ser o comprimento de um lado longo da unidade de codificação. Quando o comprimento de um lado longo de uma unidade de codificação antes de ser dividido é 2n vezes (n> 0) o comprimento de um lado longo de uma unidade de codificação atual de divisão, o aparelho de decodificação de imagem 100 pode determinar que uma profundidade da unidade de codificação atual é aumentada a partir de uma profundidade da unidade de codificação, antes de ser dividida por n. Na descrição a seguir, uma unidade de codificação com uma profundidade aumentada é expressa como uma unidade de codificação com uma maior profundidade.
[000166] Com referência à FIG. 13, de acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar uma segunda unidade de codificação 1302 e uma terceira unidade de codificação 1304 de maiores profundidades dividindo uma primeira unidade de codificação quadrada 1300 com base em informação do formato do bloco indicando um formato quadrado (por exemplo, a informação de formato do bloco pode ser expressa como '0: SQUARE'). Supondo que o tamanho da primeira unidade de codificação quadrada 1300 seja 2N×2N, a segunda unidade de codificação 1302 determinada dividindo uma largura e altura da primeira unidade de codificação 1300 em 1/2 pode ter um tamanho de N×N. Além disso, a terceira unidade de codificação 1304 determinada pela divisão de uma largura e altura da segunda unidade de codificação 1302 em 1/2 pode ter um tamanho de N/2 × N/2. Neste caso, uma largura e altura da terceira unidade de codificação 1304 são 1/4 vez as da primeira unidade de codificação 1300. Quando uma profundidade da primeira unidade de codificação 1300 é D, uma profundidade da segunda unidade de codificação 1302, cuja largura e altura são 1/2 vez a da primeira unidade de codificação 1300, pode ser D+1 e uma profundidade da terceira unidade de codificação 1304, cuja largura e altura são 1/4 vez as da primeira unidade de codificação 1300, pode ser D+2.
[000167] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar uma segunda unidade de codificação 1312 ou 1322 e uma terceira unidade de codificação 1314 ou 1324 de maiores profundidades dividindo uma primeira unidade de codificação não quadrada 1310 ou 1320 com base em informação de formato do bloco indicando um formato não quadrado (por exemplo, a informação de formato do bloco pode ser expressa como '1:NS_VER' indicando um formato não quadrado, cuja altura é maior que uma largura ou como '2:NS_HOR' indicando um formato não quadrado, cuja largura é maior que uma altura).
[000168] O aparelho de decodificação de imagem 100 pode determinar uma segunda unidade de codificação 1302, 1312 ou 1322, dividindo pelo menos uma de uma largura e altura da primeira unidade de codificação 1310 tendo um tamanho de N×2N. Ou seja, o aparelho de decodificação de imagem 100 pode determinar a segunda unidade de codificação 1302 com um tamanho de N×N ou a segunda unidade de codificação 1322 com um tamanho de N×N/2 dividindo a primeira unidade de codificação 1310 em uma direção horizontal, ou pode determinar a segunda unidade de codificação 1312 tendo um tamanho de N/2×N dividindo a primeira unidade de codificação 1310 nas direções horizontal e vertical.
[000169] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar a segunda unidade de codificação 1302, 1312 ou 1322 dividindo pelo menos uma de uma largura e altura da primeira unidade de codificação 1320 com um tamanho de 2N×N. Ou seja, o aparelho de decodificação de imagem 100 pode determinar a segunda unidade de codificação 1302 com um tamanho de N×N ou a segunda unidade de codificação 1312 com um tamanho de N/2×N dividindo a primeira unidade de codificação 1320 em uma direção vertical, ou pode determinar a segunda unidade de codificação 1322 com um tamanho de N×N/2 dividindo a primeira unidade de codificação 1320 nas direções horizontal e vertical.
[000170] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar uma terceira unidade de codificação 1304, 1314 ou 1324 dividindo pelo menos uma de uma largura e altura da segunda unidade de codificação 1302 tendo um tamanho de N×N. Ou seja, o aparelho de decodificação de imagem 100 pode determinar a terceira unidade de codificação 1304 tendo um tamanho de N/2×N/2, a terceira unidade de codificação 1314 tendo um tamanho de N/4×N/2 ou a terceira unidade de codificação 1324 tendo um tamanho de N/2×N/4 dividindo a segunda unidade de codificação 1302 nas direções vertical e horizontal.
[000171] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar a terceira unidade de codificação 1304, 1314 ou 1324 dividindo pelo menos uma de uma largura e altura da segunda unidade de codificação 1312 tendo um tamanho de N/2×N. Ou seja, o aparelho de decodificação de imagem 100 pode determinar a terceira unidade de codificação 1304 tendo um tamanho de N/2×N/2 ou a terceira unidade de codificação 1324 tendo um tamanho de N/2×N/4 dividindo a segunda unidade de codificação 1312 em uma direção horizontal, ou pode determinar a terceira unidade de codificação 1314 tendo um tamanho de N/4×N/2 dividindo a segunda unidade de codificação 1312 nas direções vertical e horizontal.
[000172] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar a terceira unidade de codificação 1304, 1314 ou 1324 dividindo pelo menos uma de uma largura e altura da segunda unidade de codificação 1322 tendo um tamanho de N×N/2. Ou seja, o aparelho de decodificação de imagem 100 pode determinar a terceira unidade de codificação 1304 tendo um tamanho de N/2×N/2 ou a terceira unidade de codificação 1314 tendo um tamanho de N/4×N/2 dividindo a segunda unidade de codificação 1322 numa direção vertical, ou pode determinar a terceira unidade de codificação 1324 tendo um tamanho de N/2×N/4 dividindo a segunda unidade de codificação 1322 nas direções vertical e horizontal.
[000173] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode dividir a unidade de codificação quadrada 1300, 1302 ou 1304 em uma direção horizontal ou vertical. Por exemplo, o aparelho de decodificação de imagem 100 pode determinar a primeira unidade de codificação 1310 tendo um tamanho de N×2N dividindo a primeira unidade de codificação 1300 tendo um tamanho de 2N×2N em uma direção vertical, ou pode determinar a primeira unidade de codificação 1320 tendo um tamanho de 2N×N dividindo a primeira unidade de codificação 1300 em uma direção horizontal. De acordo com uma modalidade, quando uma profundidade é determinada com base no comprimento do lado mais longo de uma unidade de codificação, uma profundidade de uma unidade de codificação determinada dividindo a primeira unidade de codificação 1300 tendo um tamanho de 2N×2N na direção horizontal ou vertical pode ser a mesma que a profundidade da primeira unidade de codificação 1300.
[000174] De acordo com uma modalidade, uma largura e altura da terceira unidade de codificação 1314 ou 1324 podem ser 1/4 vez da primeira unidade de codificação 1310 ou 1320. Quando uma profundidade da primeira unidade de codificação 1310 ou 1320 é D, uma profundidade da segunda unidade de codificação 1312 ou 1322, cuja largura e altura são 1/2 vez da primeira unidade de codificação 1310 ou 1320, pode ser D+1 e uma profundidade da terceira unidade de codificação 1314 ou 1324, cuja largura e altura são 1/4 vez da primeira unidade de codificação 1310 ou 1320, pode ser D+2.
[000175] A FIG. 14 ilustra profundidades que são determináveis com base em formatos e tamanhos de unidades de codificação e índices de parte (PIDs) que são para distinguir as unidades de codificação, de acordo com uma modalidade.
[000176] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar segundas unidades de codificação de vários formatos dividindo uma primeira unidade de codificação quadrada 1400. Com referência à FIG. 14, o aparelho de decodificação de imagem 100 pode determinar segundas unidades de codificação 1402a e 1402b, 1404a e 1404b e 1406a, 1406b, 1406c e 1406d dividindo a primeira unidade de codificação 1400 em pelo menos uma das direções vertical e horizontal com base na informação do modo de formato de divisão. Ou seja, o aparelho de decodificação de imagem 100 pode determinar as segundas unidades de codificação 1402a e 1402b, 1404a e 1404b e 1406a, 1406b, 1406c e 1406d, com base na informação do modo de formato de divisão da primeira unidade de codificação 1400.
[000177] De acordo com uma modalidade, uma profundidade das segundas unidades de codificação 1402a e 1402b, 1404a e 1404b e 1406a, 1406b, 1406c e 1406d, que são determinadas com base na informação do modo de formato de divisão da primeira unidade de codificação quadrada 1400, pode ser determinada com base no comprimento de um lado longo. Por exemplo, em virtude de o comprimento de um lado da primeira unidade de codificação quadrada 1400 ser igual ao comprimento de um lado longo das segundas unidades de codificação não quadrada 1402a e 1402b e 1404a e 1404b, a primeira unidade de codificação 2100 e as segundas unidades de codificação não quadrada 1402a e 1402b e 1404a e 1404b podem ter a mesma profundidade, por exemplo, D. Entretanto, quando o aparelho de decodificação de imagem 100 divide a primeira unidade de codificação 1400 nas quatro unidades de codificação quadrada 1406a, 1406b, 1406c e 1406d com base na informação do modo de formato de divisão, em virtude de o comprimento de um lado das segundas unidades de codificação quadrada 1406a, 1406b, 1406c e 1406d ser 1/2 vez o comprimento de um lado da primeira unidade de codificação 1400, uma profundidade das segundas unidades de codificação 1406a, 1406b, 1406c e 1406d pode ser D+1, que é mais profunda que a profundidade D da primeira unidade de codificação 1400 por 1.
[000178] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar uma pluralidade de segundas unidades de codificação 1412a e 1412b e 1414a, 1414b e 1414c dividindo uma primeira unidade de codificação 1410, cuja altura é maior que uma largura, em uma direção horizontal com base na informação do modo de formato de divisão. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar uma pluralidade de segundas unidades de codificação 1422a e 1422b e 1424a, 1424b e 1424c dividindo uma primeira unidade de codificação 1420, cuja largura é maior que uma altura, em uma direção vertical com base na informação do modo de formato de divisão.
[000179] De acordo com uma modalidade, uma profundidade das segundas unidades de codificação 1412a e 1412b, 1414a, 1414b e 1414c, ou 1422a e 1422b e 1424a, 1424b e 1424c, que são determinadas com base na informação do modo de formato de divisão da primeira unidade de codificação não quadrada 1410 ou 1420, pode ser determinada com base no comprimento de um lado longo da mesma. Por exemplo, em virtude de o comprimento de um lado das segundas unidades de codificação quadradas 1412a e 1412b ser 1/2 vez o comprimento de um lado longo da primeira unidade de codificação 1410 com um formato não quadrado, cuja altura é maior que uma largura, uma profundidade das segundas unidades de codificação quadrada 1412a e 1412b é D+1, que é mais profunda que a profundidade D da primeira unidade de codificação não quadrada 1410 por 1.
[000180] Além disso, o aparelho de decodificação de imagem 100 pode dividir a primeira unidade de codificação não quadrada 1410 em um número ímpar de segundas unidades de codificação 1414a, 1414b e 1414c com base na informação do modo de formato de divisão. O número ímpar de segundas unidades de codificação 1414a, 1414b e 1414c pode incluir as segundas unidades de codificação não quadrada 1414a e 1414c e a segunda unidade de codificação quadrada 1414b. Nesse caso, em virtude de o comprimento de um lado longo das segundas unidades de codificação não quadrada 1414a e 1414c e o comprimento de um lado da segunda unidade de codificação quadrada 1414b serem 1/2 vez o comprimento de um lado longo da primeira unidade de codificação 1410, uma profundidade das segundas unidades de codificação 1414a, 1414b e 1414c pode ser D+1, que é mais profunda que a profundidade D da primeira unidade de codificação não quadrada 1410 por 1. O aparelho de decodificação de imagem 100 pode determinar as profundidades das unidades de codificação divididas a partir da primeira unidade de codificação 1420 com um formato não quadrado, cuja largura é maior que uma altura, usando o método descrito acima para determinar as profundidades das unidades de codificação divididas a partir da primeira unidade de codificação 1410.
[000181] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar PIDs para identificar unidades de codificação de divisão, com base em uma razão de tamanho entre as unidades de codificação quando um número ímpar de unidades de codificação de divisão não tem tamanhos iguais. Com referência à FIG. 14, uma unidade de codificação 1414b de uma localização central dentre um número ímpar de unidades de codificação de divisão 1414a, 1414b e 1414c pode ter uma largura igual a das outras unidades de codificação 1414a e 1414c e uma altura que é duas vezes a das outras unidades de codificação 1414a e 1414c. Ou seja, neste caso, a unidade de codificação 1414b na localização central pode incluir duas das outras unidades de codificação 1414a ou 1414c. Portanto, quando um PID da unidade de codificação 1414b na localização central é 1 com base em uma ordem de digitalização, um PID da unidade de codificação 1414c localizado próximo à unidade de codificação 1414b pode ser aumentado em 2 e, assim, pode ser 3. Ou seja, a descontinuidade nos valores de PID pode estar presente. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar se um número ímpar de unidades de codificação de divisão não tem tamanhos iguais, com base na descontinuidade presente nos PIDs para identificar as unidades de codificação de divisão.
[000182] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar se deve usar um método de divisão específico, com base em valores de PID para identificar uma pluralidade de unidades de codificação determinadas pela divisão de uma unidade de codificação atual. Com referência à FIG. 14, o aparelho de decodificação de imagem 100 pode determinar um número par de unidades de codificação 1412a e 1412b ou um número ímpar de unidades de codificação 1414a, 1414b e 1414c dividindo a primeira unidade de codificação 1410 tendo um formato retangular, cuja altura é maior que uma largura. O aparelho de decodificação de imagem 100 pode usar PIDs para identificar as respectivas unidades de codificação. De acordo com uma modalidade, o PID pode ser obtido de uma amostra de uma determinada localização de cada unidade de codificação (por exemplo, amostra esquerda superior).
[000183] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar uma unidade de codificação em uma determinada localização entre as unidades de codificação de divisão, usando os PIDs para distinguir as unidades de codificação. De acordo com uma modalidade, quando a informação do modo de formato de divisão da primeira unidade de codificação 1410 tendo uma forma retangular, cuja altura é maior que uma largura, indica dividir uma unidade de codificação em três unidades de codificação, o aparelho de decodificação de imagem 100 pode dividir a primeira unidade de codificação 1410 em três unidades de codificação 1414a, 1414b e 1414c.
O aparelho de decodificação de imagem 100 pode atribuir um PID a cada uma das três unidades de codificação 1414a, 1414b e 1414c.
O aparelho de decodificação de imagem 100 pode comparar PIDs de um número ímpar de unidades de codificação de divisão para determinar uma unidade de codificação em uma localização central dentre as unidades de codificação.
O aparelho de decodificação de imagem 100 pode determinar a unidade de codificação 1414b tendo um PID correspondente a um valor intermediário entre os PIDs das unidades de codificação, como a unidade de codificação na localização central entre as unidades de codificação determinadas dividindo a primeira unidade de codificação 1410. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar PIDs para distinguir unidades de codificação de divisão, com base em uma razão de tamanho entre as unidades de codificação quando as unidades de codificação de divisão não têm tamanhos iguais.
Com referência à FIG. 14, a unidade de codificação 1414b gerada pela divisão da primeira unidade de codificação 1410 pode ter uma largura igual as outras unidades de codificação 1414a e 1414c e uma altura que é duas vezes a das outras unidades de codificação 1414a e 1414c.
Nesse caso, quando o PID da unidade de codificação 1414b na localização central é 1, o PID da unidade de codificação 1414c localizado próximo à unidade de codificação 1414b pode ser aumentado em 2 e, assim, pode ser 3. Quando o PID é aumentado não uniformemente como descrito acima, o aparelho de decodificação de imagem 100 pode determinar que uma unidade de codificação é dividida em uma pluralidade de unidades de codificação, incluindo uma unidade de codificação com um tamanho diferente das outras unidades de codificação.
De acordo com uma modalidade, quando a informação do modo de formato de divisão indica dividir uma unidade de codificação em um número ímpar de unidades de codificação, o aparelho de decodificação de imagem 100 pode dividir uma unidade de codificação atual de tal maneira que uma unidade de codificação de uma determinada localização dentre um número ímpar de unidades de codificação (por exemplo, uma unidade de codificação de uma localização central) tenha um tamanho diferente do das outras unidades de codificação. Neste caso, o aparelho de decodificação de imagem 100 pode determinar a unidade de codificação da localização central, que tem um tamanho diferente, usando PIDs das unidades de codificação. Entretanto, os PIDs e o tamanho ou localização da unidade de codificação da determinada localização não se limitam aos exemplos descritos acima e vários PIDs e várias localizações e tamanhos de unidades de codificação podem ser utilizados.
[000184] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode usar uma determinada unidade de dados onde uma unidade de codificação começa a ser dividida recursivamente.
[000185] A FIG. 15 ilustra que uma pluralidade de unidades de codificação é determinada com base em uma pluralidade de determinadas unidades de dados incluídas em uma figura, de acordo com uma modalidade.
[000186] De acordo com uma modalidade, uma determinada unidade de dados pode ser definida como uma unidade de dados em que uma unidade de codificação começa a ser dividida recursivamente usando informação do modo de formato de divisão. Ou seja, a determinada unidade de dados pode corresponder a uma unidade de codificação com uma profundidade máxima, que é usada para determinar uma pluralidade de unidades de codificação de divisão de uma figura atual. Nas descrições a seguir, para facilitar a explicação, a determinada unidade de dados é referida como uma determinada unidade de dados de referência.
[000187] De acordo com uma modalidade, a unidade de dados de referência pode ter um determinado tamanho e um determinado formato. De acordo com uma modalidade, a unidade de dados de referência pode incluir amostras de M×N. Neste documento, M e N podem ser iguais entre si e podem ser números inteiros expressos como potências de 2. Ou seja, a unidade de dados de referência pode ter um formato quadrado ou não quadrado e pode ser dividida em um número inteiro de unidades de codificação.
[000188] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode dividir a figura atual em uma pluralidade de unidades de dados de referência. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode dividir a pluralidade de unidades de dados de referência, que são divididas da figura atual, usando a informação do modo de formato de divisão de cada unidade de dados de referência. A operação para dividir a unidade de dados de referência pode corresponder a uma operação de divisão usando uma estrutura de árvore de quatro nós.
[000189] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar previamente um tamanho mínimo permitido que as unidades de dados de referência sejam incluídas na imagem atual. Consequentemente, o aparelho de decodificação de imagem 100 pode determinar várias unidades de dados de referência com tamanhos iguais ou maiores que o tamanho mínimo e pode determinar uma ou mais unidades de codificação usando a informação do modo de formato de divisão com referência à unidade de dados de referência determinada.
[000190] Com referência à FIG. 15, o aparelho de decodificação de imagem 100 pode usar uma unidade de codificação de referência quadrada 1500 ou uma unidade de codificação de referência não quadrada 1502. De acordo com uma modalidade, o formato e o tamanho das unidades de codificação de referência podem ser determinados com base em várias unidades de dados capazes de incluir uma ou mais unidades de codificação de referência (por exemplo, sequências, figuras, fatias, segmentos de fatia, azulejos, grupos de azulejo, unidades de codificação maiores ou semelhantes).
[000191] De acordo com uma modalidade, o receptor 110 do aparelho de decodificação de imagem 100 pode obter, a partir de um fluxo de bits, pelo menos uma informação de formato da unidade de codificação de referência e informação de tamanho da unidade de codificação de referência em relação a cada uma das várias unidades de dados. Uma operação de divisão da unidade de codificação de referência quadrada 1500 em uma ou mais unidades de codificação foi descrita acima em relação à operação de divisão da unidade de codificação atual 300 da FIG. 3, e uma operação de divisão da unidade de codificação de referência não quadrada 1502 em uma ou mais unidades de codificação foi descrita acima em relação à operação de divisão da unidade de codificação atual 400 ou 450 da FIG. 4. Assim, descrições detalhadas não serão fornecidas aqui.
[000192] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode usar um PID para identificar o tamanho e o formato das unidades de codificação de referência, para determinar o tamanho e o formato das unidades de codificação de referência de acordo com algumas unidades de dados previamente determinadas com base em uma determinada condição.
Ou seja, o receptor 110 pode obter, do fluxo de bits, apenas o PID para identificar o tamanho e o formato das unidades de codificação de referência em relação a cada fatia, segmento de fatia, azulejos, grupos de azulejo, ou unidade de codificação maior que é uma unidade de dados que satisfaz uma determinadas condição (por exemplo, uma unidade de dados com um tamanho igual ou menor que uma fatia) entre as várias unidades de dados (por exemplo, sequências, figuras, fatias, azulejos, grupos de azulejo, segmentos de fatia, unidades de codificação maiores ou semelhantes). O aparelho de decodificação de imagem 100 pode determinar o tamanho e o formato das unidades de dados com respeito a para cada unidade de dados, que satisfaz a determinada condição, usando o PID.
Quando a informação de formato da unidade de codificação de referência e a informação de tamanho da unidade de codificação de referência são obtidas e usadas no fluxo de bits de acordo com cada unidade de dados com um tamanho relativamente pequeno, a eficiência do uso do fluxo de bits pode não ser alta e, portanto, apenas o PID pode ser obtido e usado em vez de obter diretamente a informação de formato da unidade de codificação de referência e a informação de tamanho da unidade de codificação de referência.
Nesse caso, pelo menos uma das dimensões e formatos das unidades de codificação de referência correspondentes ao PID para identificação do tamanho e do formato das unidades de codificação de referência podem ser determinados previamente.
Ou seja, o aparelho de decodificação de imagem 100 pode determinar pelo menos um dentre o tamanho e formato das unidades de codificação de referência incluídos em uma unidade de dados que serve como uma unidade para obter o PID, selecionando pelo menos um dentre o tamanho e o formato determinados acima das unidades de codificação de referência com base no PID.
[000193] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode usar uma ou mais unidades de codificação de referência incluídas em uma unidade de codificação maior. Ou seja, uma unidade de codificação maior dividida de uma figura pode incluir uma ou mais unidades de codificação de referência, e as unidades de codificação podem ser determinadas dividindo recursivamente cada unidade de codificação de referência. De acordo com uma modalidade, pelo menos uma dentre a largura e altura da maior unidade de codificação pode ser um número inteiro vezes pelo menos uma dentre a largura e altura das unidades de codificação de referência. De acordo com uma modalidade, o tamanho das unidades de codificação de referência pode ser obtido dividindo a maior unidade de codificação n vezes com base em uma estrutura de árvore de quatro nós. Ou seja, o aparelho de decodificação de imagem 100 pode determinar as unidades de codificação de referência dividindo a maior unidade de codificação n vezes com base em uma estrutura de árvore de quatro nós e pode dividir a unidade de codificação de referência com base em pelo menos uma informação de formato do bloco e a informação do modo de formato de divisão de acordo com várias modalidades.
[000194] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode obter informação sobre o formato do bloco indicando o formato de uma unidade de codificação atual ou informação sobre o modo de formato de divisão indicando um método de divisão da unidade de codificação atual, a partir do fluxo de bits, e pode usar a informação obtida. A informação do modo de formato de divisão pode ser incluída no fluxo de bits relacionado a várias unidades de dados. Por exemplo, o aparelho de decodificação de imagem 100 pode usar a informação do modo de formato de divisão incluída em um conjunto de parâmetros de sequência, um conjunto de parâmetros de imagem, um conjunto de parâmetros de vídeo, um cabeçalho de fatia, um cabeçalho de segmento de fatia, um cabeçalho de azulejo, ou um cabeçalho de grupo de azulejo. Além disso, o aparelho de decodificação de imagem 100 pode obter, a partir do fluxo de bits, um elemento de sintaxe correspondente à informação de formato do bloco ou à informação do modo de formato de divisão de acordo com cada unidade de codificação maior, cada unidade de codificação de referência ou cada bloco de processamento, e pode usar o elemento de sintaxe obtido.
[000195] Daqui em diante, um método para determinar uma regra de divisão de acordo com uma modalidade da presente divulgação será descrito em detalhes.
[000196] O aparelho de decodificação de imagem 100 pode determinar uma regra de divisão de uma imagem. A regra de divisão pode ser pré-determinada entre o aparelho de decodificação de imagem 100 e o aparelho de codificação de imagem 2200. O aparelho de decodificação de imagem 100 pode determinar a regra de divisão da imagem com base em informação obtida de um fluxo de bits. O aparelho de decodificação de imagem 100 pode determinar a regra de divisão com base na informação obtida de pelo menos um dentre um conjunto de parâmetros de sequência, um conjunto de parâmetros de figura, um conjunto de parâmetros de vídeo, um cabeçalho de fatia, um cabeçalho de segmento de fatia, um cabeçalho de azulejo, ou um cabeçalho de grupo de azulejo. O aparelho de decodificação de imagem 100 pode determinar a regra de divisão de maneira diferente de acordo com quadros, fatias, azulejos, camadas temporais, unidades de codificação maiores ou unidades de codificação.
[000197] O aparelho de decodificação de imagem 100 pode determinar a regra de divisão com base na informação de formato do bloco de uma unidade de codificação. Um formato do bloco pode incluir um tamanho, formato, uma razão de largura e altura e uma direção da unidade de codificação. O aparelho de decodificação de imagem 100 pode determinar a regra de divisão com base na informação de formato do bloco de uma unidade de codificação. No entanto, uma modalidade não está limitada ao mesmo. O aparelho de decodificação de imagem 100 pode determinar a regra de divisão da imagem com base em informação obtida de um fluxo de bits.
[000198] O formato da unidade de codificação pode incluir um quadrado e um não quadrado. Quando os comprimentos da largura e da altura da unidade de codificação são os mesmos, o aparelho de decodificação de imagem 100 pode determinar o formato da unidade de codificação como quadrado. Também, quando os comprimentos da largura e da altura da unidade de codificação não são os mesmos, o aparelho de decodificação de imagem 100 pode determinar o formato da unidade de codificação como um formato não quadrado.
[000199] O tamanho da unidade de codificação pode incluir vários tamanhos, como 4x4, 8x4, 4x8, 8x8, 16x4, 16x8 e a
256x256. O tamanho da unidade de codificação pode ser classificado com base no comprimento de um lado longo da unidade de codificação, no comprimento de um lado curto ou na área. O aparelho de decodificação de imagem 100 pode aplicar a mesma regra de divisão às unidades de codificação classificadas como o mesmo grupo. Por exemplo, o aparelho de decodificação de imagem 100 pode classificar as unidades de codificação tendo os mesmos comprimentos dos lados longos como tendo o mesmo tamanho. Além disso, o aparelho de decodificação de imagem 100 pode aplicar a mesma regra de divisão a unidades de codificação com os mesmos comprimentos de lados longos.
[000200] A razão da largura e altura da unidade de codificação pode incluir 1:2, 2:1, 1:4, 4:1, 1:8, 8:1, 1:16, 16:1, 32:1, 1:32 ou semelhantes. Também, uma direção da unidade de codificação pode incluir uma direção horizontal e uma direção vertical. A direção horizontal pode indicar um caso em que o comprimento da largura da unidade de codificação é maior que o comprimento da sua altura. A direção vertical pode indicar um caso em que o comprimento da largura da unidade de codificação é menor que o comprimento da sua altura.
[000201] O aparelho de decodificação de imagem 100 pode determinar adaptativamente a regra de divisão com base no tamanho da unidade de codificação. O aparelho de decodificação de imagem 100 pode determinar diferentemente um modo de formato de divisão permitido com base no tamanho da unidade de codificação. Por exemplo, o aparelho de decodificação de imagem 100 pode determinar se a divisão é permitida com base no tamanho da unidade de codificação. O aparelho de decodificação de imagem 100 pode determinar uma direção de divisão de acordo com o tamanho da unidade de codificação. O aparelho de decodificação de imagem 100 pode determinar um tipo de divisão permitido de acordo com o tamanho da unidade de codificação.
[000202] A regra de divisão determinada com base no tamanho da unidade de codificação pode ser uma regra de divisão pré- determinada no aparelho de decodificação de imagem 100. Também, o aparelho de decodificação de imagem 100 pode determinar a regra de divisão, com base na informação obtida a partir do fluxo de bits.
[000203] O aparelho de decodificação de imagem 100 pode determinar adaptativamente a regra de divisão com base em uma localização da unidade de codificação. O aparelho de decodificação de imagem 100 pode determinar adaptativamente a regra de divisão com base na localização da unidade de codificação na imagem.
[000204] Também, o aparelho de decodificação de imagem 100 pode determinar a regra de divisão, para que as unidades de codificação geradas por meio de diferentes caminhos de divisão não tenham o mesmo formato de bloco. Entretanto, uma modalidade não é limitada a isso, e as unidades de codificação geradas por diferentes caminhos de divisão têm o mesmo formato de bloco. As unidades de codificação geradas pelos diferentes caminhos de divisão podem ter diferentes ordens de processo de decodificação. Em virtude de as ordens do processo de decodificação terem sido descritas acima com referência à FIG. 12, seus detalhes não são fornecidos novamente.
[000205] A FIG. 16 é um diagrama de blocos de um sistema de codificação e decodificação de imagem.
[000206] Um final de codificação 1610 de um sistema de codificação e decodificação de imagem 1600 transmite um fluxo de bits codificado de uma imagem e um final de decodificação 1650 produz uma imagem reconstruída recebendo e decodificando o fluxo de bits. Aqui, o final de decodificação 1550 pode ter uma configuração semelhante ao aparelho de decodificação de imagem 100.
[000207] No final de codificação 1610, um codificador de predição 1615 envia uma imagem de referência por meio de predição inter e predição intra, e um transformador e quantizador 1620 quantiza os dados residuais entre a figura de referência e uma imagem de entrada atual para um coeficiente de transformada quantizado e envia o coeficiente de transformada quantizado. Um codificador de entropia 1625 transforma o coeficiente de transformada quantizado codificando o coeficiente de transformada quantizado e envia o coeficiente de transformada quantizado transformado como um fluxo de bits. O coeficiente de transformada quantizado é reconstruído como dados de um domínio espacial por meio de um quantizador inverso e transformador inverso 1630 e os dados do domínio espacial são enviados como uma imagem reconstruída por meio de um filtro de desbloqueio 1635 e um filtro de laço
1640. A imagem reconstruída pode ser usada como uma imagem de referência de uma próxima imagem de entrada por meio do codificador de predição 1615.
[000208] Dados de imagem codificados entre o fluxo de bits recebido pelo final de decodificação 1650 são reconstruídos como dados residuais de um domínio espacial por meio de um decodificador de entropia 1655 e um quantizador inverso e transformador inverso 1660. Os dados de imagem de um domínio espacial são configurados quando uma imagem de referência e saída de dados residuais de um decodificador de predição 1675 são combinados e um filtro de desbloqueio 1665 e um filtro de laço 1670 podem gerar uma imagem reconstruída em relação a uma imagem original atual realizando a filtragem nos dados de imagem do domínio espacial. A imagem reconstruída pode ser usada pelo decodificador de predição 1675 como uma imagem de referência para uma próxima imagem original.
[000209] O filtro de laço 1640 do final da codificação 1610 realiza a filtragem de laço usando a entrada de informação de filtro de acordo com uma entrada do usuário ou configuração do sistema. A informação de filtro usada pelo filtro de laço 1640 é enviada ao codificador de entropia 1625 e transmitida para a final de decodificação 1650 juntamente com os dados de imagem codificados. O filtro de laço 1670 do final da decodificação 1650 pode realizar a filtragem de laço com base na entrada de informação de filtro do final de decodificação 1650.
[000210] Daqui em diante, um método e aparelho para codificar ou decodificar um vídeo expandindo um método de predição inter usando um método de expressão de movimento de probabilidade, de acordo com uma modalidade da presente divulgação, será descrito com referência às FIGS. 17 a 20.
[000211] A FIG. 17 é um diagrama de blocos detalhado de um aparelho de decodificação de vídeo de acordo com uma modalidade.
[000212] Com referência à FIG. 17, um aparelho de decodificação de vídeo 1700 de acordo com uma modalidade pode incluir um obtentor de informação de predição inter 1710, um obtentor de predição inter 1720 e um reconstrutor 1730.
[000213] O aparelho de decodificação de imagem 1700 pode obter um fluxo de bits gerado em decorrência da codificação de uma imagem e pode decodificar informação de movimento para predição inter com base na informação incluída no fluxo de bits.
[000214] O aparelho de decodificação de vídeo 1700 de acordo com uma modalidade pode incluir um processador central (não mostrado) para controlar o obtentor de informação de predição inter 1710, o executor de predição inter 1720 e o reconstrutor
1730. Alternativamente, o obtentor de informação de predição inter 1710, o executor de predição inter 1720 e o reconstrutor 1730 podem operar por seus próprios processadores (não mostrados) e os processadores podem operar sistematicamente entre si para operar o aparelho de decodificação de vídeo
1700. Alternativamente, o obtentor de informação de predição inter 1710, o executor de predição inter 1720 e o reconstrutor 1730 podem ser controlados de acordo com o controle de um processador externo (não mostrado) do aparelho de decodificação de vídeo 1700.
[000215] O aparelho de decodificação de vídeo 1700 pode incluir um ou mais armazenamentos de dados (não mostrados) armazenando dados de entrada / saída do obtentor de informação de predição inter 1710, o executor de predição inter 1720 e o reconstrutor 1730. O aparelho de decodificação de vídeo 1700 pode incluir um controlador de memória (não mostrado) para controlar a entrada e saída de dados do armazenamento de dados.
[000216] O aparelho de decodificação de vídeo 1700 pode realizar uma operação de decodificação de imagem incluindo predição operando conectivamente com um processador de decodificação de vídeo interno ou um processador de decodificação de vídeo externo, de modo a reconstruir uma imagem por meio de decodificação de imagem. O processador de decodificação de vídeo interno do aparelho de decodificação de vídeo 1700 de acordo com uma modalidade pode realizar uma operação de decodificação de imagem básica de uma maneira que não apenas um processador separado, mas também um módulo de processamento de decodificação de imagem incluído em um aparelho de processamento central ou um aparelho de processamento gráfico, realize a operação básica de decodificação de imagem.
[000217] O aparelho de decodificação de vídeo 1700 pode ser incluído no aparelho de decodificação de imagem 100 descrito acima. Por exemplo, o obtentor de informação de predição inter 1710 pode ser incluído no receptor 110 do aparelho de decodificação de imagem 100 da FIG. 1, e o executor de predição inter 1720 e o reconstrutor 1730 podem ser incluídos no decodificador 120 do aparelho de decodificação de imagem
100.
[000218] O obtentor de informação de predição inter 1710 recebe um fluxo de bits gerado em decorrência da codificação de uma imagem. O fluxo de bits pode incluir informação para determinar um vetor de movimento usado para predição inter de um bloco atual. O bloco atual é um bloco gerado quando uma imagem é dividida de acordo com uma estrutura em árvore e, por exemplo, pode corresponder a uma maior unidade de codificação, uma unidade de codificação ou uma unidade de transformada.
[000219] O obtentor de informação de predição inter 1710 pode determinar o bloco atual com base na informação de formato de bloco e / ou informação sobre um modo de formato de divisão, que estão incluídos em pelo menos um de um conjunto de parâmetros de sequência, um conjunto de parâmetros de figura, um conjunto de parâmetros de vídeo, um cabeçalho de fatia e um cabeçalho de segmento de fatia. Além disso, o obtentor de informação de predição inter 1710 pode obter, a partir do fluxo de bits, um elemento de sintaxe correspondente à informação de formato de bloco ou a informação sobre o modo de formato de divisão de acordo com cada maior unidade de codificação, cada unidade de codificação de referência ou cada bloco de processamento, e pode usar o elemento de sintaxe obtido para determinar o bloco atual.
[000220] O fluxo de bits pode incluir informação indicando um modo de predição do bloco atual e o modo de predição do bloco atual pode incluir pelo menos um dentre um modo intra, um modo inter, um modo de mesclagem, um modo de salto e um modo de diferença de vetor de movimento de acordo com a presente divulgação. O modo de diferença de vetor de movimento de mesclagem pode ser um modo para determinar um vetor de movimento de predição do bloco atual aplicando uma diferença de vetor de movimento distinto de acordo com uma distância diferencial e uma direção diferencial, a um vetor de movimento de base determinado dentre os candidato a vetor de movimento de mesclagem.
[000221] De acordo com uma modalidade, a informação relacionada ao modo de diferença do vetor de movimento de mesclagem pode ser obtida a partir do fluxo de bits. A informação relacionada ao modo de diferença do vetor de movimento de mesclagem de acordo com uma modalidade pode incluir pelo menos uma informação que indica se o modo de diferença do vetor de movimento de mesclagem é aplicado ao bloco atual (daqui em diante, informação de modo de diferença de mesclagem), informação indicando o vetor de movimento de base do bloco atual (daqui em diante, informação do candidato de mesclagem), informação que indica a distância diferencial do vetor de movimento de base para os candidatos a vetor de movimento (daqui em diante, índice de distância diferencial) e informação que indica a direção diferencial do vetor de movimento de base para os candidatos a vetor de movimento (daqui em diante, índice de direção diferencial).
[000222] O obtentor de informação de predição inter 1710 pode obter a informação relacionada ao modo de diferença do vetor de movimento de mesclagem de um nível correspondente a pelo menos uma unidade dentre uma unidade de codificação, uma unidade de transformada, uma unidade de codificação maior, uma unidade de fatia e uma unidade de figura.
[000223] O executor de predição inter 1720 determina o vetor de movimento do bloco atual com base na informação incluída no fluxo de bits.
[000224] O executor de predição inter 1720 pode verificar se o modo de diferença do vetor de movimento de mesclagem é aplicado ao bloco atual, com base na informação incluída no fluxo de bits. A informação que indica se o modo de diferença do vetor de movimento de mesclagem é aplicado pode incluir um sinalizador ou um índice.
[000225] De acordo com uma modalidade, o obtentor de informação de predição inter 1710 pode extrair, do fluxo de bits, informação que indica se o modo de diferença do vetor de movimento de mesclagem é aplicado, quando um modo de salto ou um modo de mesclagem é aplicado ao bloco atual.
[000226] Quando o modo de diferença do vetor de movimento de mesclagem é aplicado ao bloco atual, os candidatos a vetor de movimento podem ser definidos de acordo com a distância diferencial variável e a direção diferencial do vetor de movimento base.
[000227] A distância diferencial é um valor determinado com base em uma unidade de pixel base (por exemplo, uma unidade de 1/4 pixel) e pode indicar uma diferença por unidades de pixel base. Por exemplo, quando a distância diferencial entre o vetor de movimento de base e o vetor de movimento é 1, o vetor de movimento e o vetor de movimento de base são diferentes por uma distância de pixel correspondente a uma unidade de 1/4 de pixel. A distância diferencial pode ter um valor correspondente a um número inteiro, um número racional ou um número irracional.
[000228] Quando uma menor unidade de pixel capaz de ser indicada pelo vetor de movimento do bloco atual é a mesma que a unidade de pixel base, o executor de predição inter 1720 pode determinar vetores de movimento de acordo com uma distância diferencial pré-determinada.
[000229] No entanto, quando a menor unidade de pixel capaz de ser indicada pelo vetor de movimento do bloco atual é diferente da unidade de pixel base, o executor de predição inter 1720 pode escalar a distância diferencial pré- determinada e, em seguida, determinar o candidato de vetor de movimento para o vetor de movimento base, com base na distância diferencial escalonada.
[000230] Quando o vetor de movimento do bloco atual é capaz de indicar pixels correspondentes a uma unidade de pixel inteiro, uma unidade de 1/2 pixel, uma unidade de 1/4 de pixel e uma unidade de 1/8 de pixel, a menor unidade de pixel capaz de ser indicada pelo vetor de movimento do bloco atual é de 1/8 da unidade de pixel. Também, quando a unidade de pixel base é uma unidade de 1/4 de pixel, o executor de predição inter 1720 pode aumentar a distância diferencial para determinar o vetor de movimento.
[000231] De acordo com uma modalidade, o executor de predição inter 1720 pode escalar a distância diferencial de acordo com uma razão da unidade de pixel de base para a menor unidade de pixel capaz de ser indicada pelo vetor de movimento do bloco atual.
[000232] De acordo com uma modalidade, o executor de predição inter 1720 pode aumentar a distância diferencial quando a unidade de pixel base é maior do que a menor unidade de pixel capaz de ser indicada pelo vetor de movimento do bloco atual.
[000233] De acordo com uma modalidade, o vetor de movimento de base do bloco atual pode ser determinado a partir de uma lista de candidato a mesclagem usada no modo de salto e no modo de mesclagem. A lista de candidato a mesclagem pode incluir blocos vizinhos relacionados ao bloco atual espacial e temporalmente. Os blocos vizinhos relacionados ao bloco atual espacial e temporalmente podem incluir um bloco decodificado antes do bloco atual. Consequentemente, o vetor de movimento de base de acordo com uma modalidade pode ser determinado a partir de um vetor de movimento de um bloco vizinho determinado a partir da lista de candidato a mesclagem.
[000234] No modo de diferença do vetor de movimento de mesclagem de acordo com uma modalidade, a lista de candidato a mesclagem pode incluir até dois candidatos a vetor de movimento.
[000235] O bloco vizinho relacionado espacialmente ao bloco atual pode incluir, por exemplo, um bloco localizado à esquerda do bloco atual e um bloco localizado por cima do bloco atual, mas não está limitado aos mesmos. Também, o bloco vizinho temporalmente relacionado ao bloco atual pode incluir, por exemplo, um bloco localizado no mesmo ponto do bloco atual dentre os blocos incluídos em uma figura de referência diferente da figura atual, incluindo o bloco atual e um bloco espacialmente adjacente ao bloco localizado no mesmo ponto.
[000236] De acordo com uma modalidade, o executor de predição inter 1720 pode determinar vetores de movimento dos blocos vizinhos relacionados ao bloco atual como o vetor de movimento de base. Alternativamente, o executor de predição inter 1720 pode modificar os vetores de movimento dos blocos vizinhos relacionados ao bloco atual e determinar os vetores de movimento modificados como o vetor de movimento de base.
[000237] De acordo com uma modalidade, o executor de predição inter 1720 pode determinar o vetor de movimento de base da mesma maneira que um método para determinar uma lista de candidato a preditores de vetor de movimento em um modo de predição de vetor de movimento avançado (AMVP) do padrão de codificação de vídeo de alta eficiência (HEVC).
[000238] De acordo com uma modalidade, o executor de predição inter 1720 pode determinar um vetor de movimento zero tendo 0 como um componente como o vetor de movimento de base.
[000239] A informação do candidato a mesclagem do bloco atual de acordo com uma modalidade pode ser codificada por meio de um método de codificação de comprimento fixo (FLC), um método de codificação unário ou um método de codificação unário truncado e, então, incluída no fluxo de bits. Por exemplo, quando a informação do candidato a mesclagem é decodificada por meio do método FLC, um valor cMax pode ser 1.
[000240] Quando o vetor de movimento de base para o bloco atual é determinado, o executor de predição inter 1720 pode determinar o vetor de movimento aplicando o vetor de movimento de base à diferença do vetor de movimento de mesclagem.
[000241] O obtentor de informação de predição inter 1710 pode obter, a partir do fluxo de bits, informação indicando pelo menos um dentre um índice de distância diferencial e um índice de direção diferencial, e o executor de predição inter 1720 pode determinar a diferença do vetor de movimento de fusão, com base em pelo menos um dentre o índice de distância diferencial e o índice de direção diferencial. O vetor de movimento do bloco atual pode ser determinado a partir do vetor de movimento base.
[000242] O obtentor de informação de predição inter 1710 de acordo com uma modalidade pode decodificar o índice de distância diferencial por meio do método de codificação unário truncado e, neste momento, um valor cMax pode ser 7 e um valor cRiceParam pode ser 0. O obtentor de informação predição inter 1710 de acordo com uma modalidade pode decodificar o índice de direção diferencial através do método FLC e, neste momento, um valor cMax pode ser 3 e um valor cRiceParam pode ser 0.
[000243] O executor de predição inter 1720 de acordo com uma modalidade pode ajustar na escala o tamanho da distância diferencial verificada a partir do fluxo de bits de acordo com uma razão da unidade de pixel base para a menor unidade de pixel capaz de ser indicada pelo vetor de movimento do bloco atual. Quando a unidade de pixel base (por exemplo, uma unidade de 1/4 de pixel) é maior do que a menor unidade de pixel (por exemplo, uma unidade de 1/8 de pixel) capaz de ser indicada pelo vetor de movimento do bloco atual, o executor de predição inter 1720 pode aumentar a distância diferencial verificada a partir do fluxo de bits.
[000244] A distância diferencial ajustada na escala pode indicar uma diferença nas menores unidades de pixel. Por exemplo, quando a menor unidade de pixel capaz de ser indicada pelo vetor de movimento do bloco atual é uma unidade de 1/8 de pixel e a distância diferencial ajustada na escala é 2, o executor de predição inter 1720 pode determinar o vetor de movimento tendo uma diferença por uma distância de pixel correspondendo a duas unidades de 1/8 de pixel do vetor de movimento base.
[000245] Conforme descrito acima, a distância diferencial pré- determinada com base na unidade de pixel de base é usada para determinar o vetor de movimento do bloco atual com base no vetor de movimento de base determinado a partir da lista de candidato a mesclagem e em virtude de a informação que indica a distância diferencial com base no unidade de pixel base ser sinalizada através do fluxo de bits, o executor de predição inter 1720 de uma precisão capaz de indicar a menor unidade de pixel, diferente de uma precisão da unidade de pixel base, pode ajustar na escala a distância diferencial sinalizada por meio do fluxo de bits, de acordo com a menor unidade de pixel.
[000246] A distância diferencial determinada com base na unidade de pixel base e a distância diferencial ajustada em escala com base na menor unidade de pixel pode ser a mesma em relação a uma distância de pixel.
[000247] De acordo com uma modalidade, a informação que indica a menor unidade de pixel capaz de ser indicada pelo vetor de movimento do bloco atual pode ser incluída no fluxo de bits. O obtentor de informação de predição inter 1710 pode obter a informação que indica a menor unidade de pixel do fluxo de bits correspondente a pelo menos um nível dentre um bloco, uma fatia e uma figura.
[000248] Pelo menos um dentre o índice de distância diferencial e o índice de direção diferencial para determinar o vetor de movimento do bloco atual pode ser obtido a partir do fluxo de bits em um nível de unidade de transformada, um nível de unidade de codificação, um nível de unidade de codificação maior, um nível de fatia ou um nível de figura.
[000249] O obtentor de informação de predição inter 1710 de acordo com uma modalidade pode obter alguns bins entre o índice de distância diferencial realizando decodificação de entropia usando informação de contexto (variável de contexto) e obter bins restantes realizando decodificação de entropia em um modo de desvio.
[000250] Ao realizar a decodificação de entropia em uma maneira de codificação aritmética binária adaptive ao contexto (CABAC) no fluxo de bits, cada bin de um elemento de sintaxe pode ser extraído e a informação de contexto pode ser usada para cada bin. Um modo de decodificação de entropia em que a informação de contexto não é usada é conhecido como modo de desvio. Para a decodificação de entropia de um bin atual, é determinado se a informação de contexto é usada e qual informação de contexto deve ser usada.
[000251] O obtentor de informação de predição inter 1710 de acordo com uma modalidade pode realizar a decodificação de entropia no fluxo de bits no modo de desvio para obter um bin de dois bits indicando o índice de direção diferencial.
[000252] O obtentor de informação de predição inter 1710 pode obter informação indicando um vetor de movimento residual do fluxo de bits no nível da unidade de transformada, o nível da unidade de codificação, o maior nível da unidade de codificação, o nível de fatia ou o nível de figura.
[000253] Candidatos a vetor de movimento que podem ser determinados a partir do vetor de movimento de base no modo de diferença de vetor de movimento de mesclagem de acordo com uma modalidade serão descritos abaixo com referência à FIG. 21.
[000254] A FIG. 21 ilustra as posições dos candidatos a vetor de movimento, de acordo com uma modalidade.
[000255] O executor de predição inter 1720 de acordo com uma modalidade pode determinar o vetor de movimento do bloco atual aplicando a diferença do vetor de movimento de mesclagem ao vetor de movimento de base. De acordo com uma modalidade, quando uma direção de predição do bloco atual é bidirecional, a diferença do vetor de movimento de mesclagem pode ser incluída no fluxo de bits apenas para modo unidirecional. Por exemplo, a informação que indica a diferença do vetor de movimento de mesclagem pode ser incluída no fluxo de bits apenas para modo unidirecional de qualquer uma dentre uma direção de lista 0 e uma direção de lista 1.
[000256] A FIG. 21 ilustra vetores de movimento que podem ser determinados no modo de diferença do vetor de movimento de mesclagem na predição bidirecional.
[000257] Um vetor de movimento de base 2125 em uma direção L0 e um vetor de movimento de base 2135 em uma direção de L1 de um bloco atual 2110 de uma imagem atual 2100 são determinados em uma lista de candidato a mesclagem. O vetor de movimento de base 2125 na direção L0 indica uma localização de uma formato de linha tracejada em uma figura de referência L0 2120 e o vetor de movimento de base 2135 na direção de L1 indica uma localização de um formato de linha tracejada em uma figura de referência L1 2130.
[000258] No entanto, no modo de diferença do vetor de movimento de mesclagem, a diferença do vetor de movimento pode ser aplicada a cada um dentre o vetor de movimento de base 2125 e o vetor de movimento de base 2135 na direção L1, com base no índice de direção diferencial e no índice de distância diferencial.
[000259] Por exemplo, pode ser determinado se a distância entre um vetor de movimento de base e um candidato a vetor de movimento é s, 2s ou 3s, de acordo com o índice de distância diferencial. Quando o índice de distância diferencial indica s, um candidato a vetor de movimento gerado em decorrência da aplicação da diferença de vetor de movimento ao vetor de movimento base pode indicar uma localização de um círculo preto entre a figura de referência L0 2120 e a figura de referência L1 2130. Quando o índice de distância diferencial indica 2s, o candidato a vetor de movimento gerado em decorrência da aplicação da diferença do vetor de movimento ao vetor de movimento base pode indicar uma localização de um círculo branco entre a figura de referência L0 2120 e a figura de referência L1 2130.
[000260] Por exemplo, pode ser determinado se uma direção entre o vetor de movimento de base e o vetor de movimento candidato é + ou - nas direções dos eixos x e y, de acordo com o índice de direção diferencial. Em particular, o índice de direção diferencial pode indicar um dentre (+, 0), (-, 0), (0, +) e (0, -) em uma direção ao eixo (x, y).
[000261] Consequentemente, um vetor de movimento indicando uma localização entre a figura de referência L0 2120 e a figura de referência L1 2130 pode ser determinado combinando o índice de distância diferencial e o índice de direção diferencial.
[000262] Daqui em diante, um método para determinar os candidatos a vetor de movimento que podem ser determinados a partir do vetor de movimento de base será descrito com referência às FIGS. 22 a 25.
[000263] As FIGS. 22 a 25 são diagramas que mostram os candidatos a vetor de movimento exibidos em um plano de coordenadas e ilustram os candidatos a vetor de movimento determinados de acordo com a distância diferencial pré- determinada com base na unidade de pixel base correspondente a uma unidade de 1/4 de pixel.
[000264] Com referência às FIGS. 22 a 25, o executor de predição inter 1720 pode determinar candidatos localizados de acordo com um determinado formato em relação à configuração dos candidatos a vetor de movimento. O determinado formato pode ser semelhante a um polígono, como um diamante, um retângulo ou um círculo.
[000265] O executor de predição inter 1720 pode determinar candidatos em uma distância diferencial uniforme de um ponto correspondente ao vetor de movimento de base como os candidatos a vetor de movimento. O executor de predição inter 1720 pode determinar os candidatos de vetor de movimento em uma primeira distância diferencial a partir de um ponto predefinido, determinar os candidatos de vetor de movimento em uma segunda distância diferencial a partir do ponto predefinido e determinar os candidatos a vetor de movimento em um n -ésima distância diferencial do ponto predefinido. A distância diferencial pode ser determinada de acordo com a definição de um usuário. Alternativamente, o executor de predição inter 1720 pode determinar diretamente a distância diferencial com base na informação relacionada ao bloco atual,
uma camada temporal ou um grupo de figuras (GOP) ou obter, por meio do fluxo de bits, informação que indica a distância diferencial para determinar os candidatos a vetor de movimento.
[000266] O executor de predição inter 1720 pode determinar a distância diferencial para determinar o candidato de vetor de movimento do bloco atual de acordo com uma distância diferencial determinada em um nível alto superior a um nível correspondente ao bloco atual.
[000267] O número de candidatos a vetor de movimento pode ser determinado independentemente para cada distância diferencial. O executor de predição inter 1720 pode determinar o número de candidatos a vetor de movimento para cada distância diferencial do bloco atual, de acordo com a informação sobre o número determinado no alto nível superior ao nível correspondente ao bloco atual.
[000268] As FIGS. 22 e 23 ilustram casos nos quais o número de candidatos de vetor de movimento em cada distância diferencial é 4. Além disso, nas FIGS. 22 e 23, existem 3 distâncias diferenciais, mas o número de distâncias diferenciais não é limitado a 3.
[000269] Com referência à FIG. 22, o executor de predição inter 1720 pode determinar candidatos a vetor de movimento tendo uma distribuição de um formato de diamante com base em um vetor de movimento de base (x, y) 2201.
[000270] O executor de predição inter 1720 pode determinar candidatos a vetor de movimento (x + 1, y) 2202, (x-1, y) 2203, (x, y + 1) 2204 e (x, y-1) 2205 na distância diferencial de 1 do vetor de movimento de base (x, y) 2201.
[000271] O executor de predição inter 1720 pode determinar candidatos a vetor de movimento (x + 2, y) 2206, (x-2, y) 2207, (x, y + 2) 2208 e (x, y-2) 2209 na distância diferencial de 2 do vetor de movimento de base (x, y) 2201.
[000272] O executor de predição inter 1720 pode determinar os candidatos a vetor de movimento (x + 4, y) 2210, (x-4, y) 2211, (x, y + 4) 2212 e (x, y-4) 2213 na distância diferencial de 4 do vetor de movimento de base (x, y) 2201.
[000273] Com referência à FIG. 23, o executor de predição inter 1720 pode determinar candidatos a vetor de movimento tendo uma distribuição de um formato de diamante com base em um vetor de movimento de base (x, y) 2201.
[000274] O executor de predição inter 1720 pode determinar candidatos a vetor de movimento (x + 1, y + 1) 2221, (x + 1, y-1) 2222, (x-1, y + 1) 2223, e (x-1, y-1) 2224 na distância diferencial de cerca de 1 com base no vetor de movimento de base (x, y) 2201.
[000275] O executor de predição inter 1720 pode determinar candidatos a vetor de movimento (x + 2, y + 2) 2225, (x + 2, y-2) 2226, (x-2, y + 2) 2227, e (x-2, y-2) 2228 na distância diferencial de cerca de 2 com base no vetor de movimento de base (x, y) 2201.
[000276] O executor de predição inter 1720 pode determinar candidatos a vetor de movimento (x + 4, y + 4) 2229, (x + 4, y-4) 2230, (x-4, y + 4) 2231, e (x-4, y-4) 2232 na distância diferencial de cerca de 4 com base no vetor de movimento de base (x, y) 2201.
[000277] Com referência à FIG. 24, o executor de predição inter 1720 pode determinar de forma diferente o número de candidatos a vetor de movimento de acordo com as distâncias diferenciais.
[000278] Em detalhes, o executor de predição inter 1720 pode determinar oito candidatos a vetor de movimento (x + 1, y) 2202, (x-1, y) 2203, (x, y + 1) 2204, (x, y-1) 2205, (x + 1, y + 1) 2221, (x + 1, y-1) 2222, (x-1, y + 1) 2223, e (x-1, y-1) 2224 na distância diferencial de cerca de 1 do vetor de movimento base (x, y) 2201.
[000279] Também, o executor de predição inter 1720 pode determinar oito candidatos a vetor de movimento (x + 2, y) 2206, (x-2, y) 2207, (x, y + 2) 2208, (x, y-2) 2209, (x + 2, y + 2) 2225, (x + 2, y-2) 2226, (x-2, y + 2) 2227, e (x-2, y-2) 2228 na distância diferencial de cerca de 2 do vetor de movimento de base (x, y) 2201.
[000280] O executor de predição inter 1720 pode determinar os candidatos a vetor de movimento (x + 4, y) 2210, (x-4, y) 2211, (x, y + 4) 2212 e (x, y-4) 2213 na distância diferencial de 4 do vetor de movimento de base (x, y) 2201.
[000281] Com referência à FIG. 25, o executor de predição inter 1720 pode determinar variadamente um formato de distribuição dos candidatos a vetor de movimento para cada distância diferencial. Por exemplo, o executor de predição inter 1720 pode determinar os candidatos a vetor de movimento (x + 1, y) 2202, (x-1, y) 2203, (x, y + 1) 2204 e (x, y-1) 2205 tendo a distribuição de um formato de diamante, com base no vetor de movimento de base (x, y) 2201.
[000282] Também, o executor de predição inter 1720 pode determinar candidatos a vetor de movimento (x + 2, y + 2) 2225, (x + 2, y-2) 2226, (x-2, y-2) 2228, e (x- 2, y + 2) 2227 tendo uma distribuição de um formato retangular, com base no vetor de movimento de base (x, y) 2201.
[000283] Também, o executor de predição inter 1720 pode determinar candidatos a vetor de movimento (x + 4, y) 2210, (x-4, y) 2211, (x, y + 4) 2212 e (x, y-4) 2213 tendo uma distribuição de um formato de diamante, com base no vetor de movimento de base (x, y) 2201. O formato de distribuição dos candidatos a vetor de movimento incluídos em cada grupo candidato pode ter vários formatos de distribuição, bem como os mostrados na FIG. 25.
[000284] De acordo com uma modalidade, o executor de predição inter 1720 pode determinar os candidatos a vetor de movimento localizados em diferentes distâncias diferenciais para cada vetor de movimento de base. Por exemplo, dentre uma pluralidade de vetores de movimento de base, um candidato a vetor de movimento tendo uma distância diferencial de 1 pode ser determinado para um primeiro vetor de movimento de base e um candidato a vetor de movimento tendo uma distância diferencial de 2 pode ser determinado para uma segunda vetor de movimento de base. Alternativamente, por exemplo, um candidato a vetor de movimento tendo uma distância diferencial de 1 e um candidato a vetor de movimento tendo uma distância diferencial de 2 pode ser determinado para o primeiro vetor de movimento de base e um candidato a vetor de movimento tendo uma distância diferencial de 4 e um candidato a vetor de movimento com uma distância diferencial de 8 pode ser determinado para o segundo vetor de movimento de base.
[000285] Quando diferentes distâncias diferenciais são mapeadas para vetores de movimento de base de uma maneira 1:1, o obtentor de informação de predição inter 1710 pode obter, a partir do fluxo de bits, apenas informação indicando o vetor de movimento de base do bloco atual ou informação indicando a distância diferencial e determinar a distância diferencial para especificar o vetor de movimento do bloco atual e o vetor de movimento de base do bloco atual.
[000286] Conforme descrito acima, a distância diferencial para determinar os candidatos a vetor de movimento pode ser determinada com base na unidade de pixel de base, e quando a menor unidade de pixel capaz de ser indicada pelo vetor de movimento do bloco atual é diferente da unidade de pixel de base, o executor de predição inter 1720 pode ajustar em escala a distância diferencial predefinida para configurar um grupo candidato para cada vetor de movimento de base.
[000287] Quando o vetor de movimento do bloco atual é capaz de indicar pixels correspondentes a uma unidade de pixel inteiro, uma unidade de 1/2 pixel, uma unidade de 1/4 de pixel e uma unidade de 1/8 de pixel, a menor unidade de pixel capaz de ser indicada pelo vetor de movimento do bloco atual é de 1/8 da unidade de pixel. Também, quando a unidade de pixel base é uma unidade de 1/4 de pixel, o executor de predição inter 1720 pode aumentar em escala a distância diferencial. De acordo com uma modalidade, o executor de predição inter 1720 pode aumentar em escala a distância diferencial de acordo com uma razão da unidade de pixel de base para a menor unidade de pixel capaz de ser indicada pelo vetor de movimento do bloco atual. Quando a menor unidade de pixel capaz de ser indicada pelo vetor de movimento do bloco atual é uma unidade de pixel m, a unidade de pixel base é uma unidade de pixel n e a distância diferencial é k, o executor de predição inter 1720 pode aumentar em escala a distância diferencial de k por k × n / m.
[000288] O obtentor de informação de predição inter 1710 de acordo com uma modalidade pode determinar o modo de predição do bloco atual para ser um dentre o modo de salto e o modo de mesclagem. No modo de salto ou no modo de mesclagem, a predição pode ser realizada de acordo com o modo de diferença do vetor de movimento de mesclagem usando a diferença de vetor de movimento de mesclagem e o vetor de movimento determinado na lista de candidato a mesclagem do bloco atual. Quando a predição é realizada de acordo com o modo de diferença do vetor de movimento de mesclagem, o obtentor de informação de predição inter 1710 pode obter a informação de candidato a mesclagem indicando um candidato na lista de candidato a mesclagem realizando decodificação de entropia no fluxo de bits aplicando uma parte de informação de contexto.
[000289] O executor de predição inter 1720 de acordo com uma modalidade pode determinar o vetor de movimento de base de um candidato determinado com base na informação do candidato a mesclagem, na lista de candidato a mesclagem. O executor de predição inter 1720 pode determinar a diferença do vetor de movimento de mesclagem usando o índice de distância da diferença do vetor de movimento de mesclagem e o índice de direção da diferença do vetor de movimento de mesclagem do bloco atual, e determinar o vetor de movimento do bloco atual usando o vetor de movimento de base e a diferença do vetor de movimento de mesclagem.
[000290] O reconstrutor 1730 de acordo com uma modalidade pode reconstruir o bloco atual usando o vetor de movimento do bloco atual. O reconstrutor 1730 pode determinar um bloco de referência em uma figura de referência usando o vetor de movimento do bloco atual e determinar as amostras de predição correspondentes ao bloco atual dentre as amostras de referência incluídas no bloco de referência.
[000291] Quando o modo de predição do bloco atual de acordo com uma modalidade é o modo de mesclagem e o modo de diferença do vetor de movimento de mesclagem é selecionado, o executor de predição inter 1720 pode determinar o vetor de movimento de base do bloco atual da lista de candidato a mesclagem e determinar o vetor de movimento do bloco atual usando o vetor de movimento de base e a diferença do vetor de movimento de mesclagem. Quando o modo de predição do bloco atual é o modo de mesclagem, o aparelho de decodificação de vídeo 1700 pode analisar os coeficientes de transformada do bloco atual do fluxo de bits e obter amostras residuais realizando quantização inversa e transformada inversa nos coeficientes de transformada. O reconstrutor 1730 pode determinar amostras reconstruídas do bloco atual combinando as amostras de predição do bloco atual e as amostras residuais do bloco atual.
[000292] Quando o modo de predição do bloco atual de acordo com uma modalidade é o modo de salto e o modo de diferença do vetor de movimento de mesclagem é selecionado, o executor de predição inter 1720 pode determinar o vetor de movimento do bloco atual usando a diferença de vetor de movimento de mesclagem e o vetor de movimento de base determinado a partir da lista de candidato a mesclagem. Entretanto, em virtude de o modo de predição do bloco atual ser o modo de salto, o aparelho de decodificação de vídeo 1700 não analisa os coeficientes de transformada do bloco atual do fluxo de bits e, portanto, não obtém as amostras residuais. No modo de salto, o reconstrutor 1730 pode determinar as amostras de predição do bloco atual como as amostras reconstruídas do bloco atual sem as amostras residuais.
[000293] Daqui por diante, um método de decodificação de vídeo no qual a predição inter é realizada através da obtenção de informação de predição para executar o modo de diferença do vetor de movimento de mesclagem no modo de salto ou no modo de mesclagem será descrito com referência à FIG. 18.
[000294] A FIG. 18 é um fluxograma de um método de decodificação de vídeo de acordo com uma modalidade.
[000295] Na operação 1810, o executor de predição inter 1720 pode determinar o modo de predição do bloco atual para ser um dentre o modo de salto e o modo de mesclagem.
[000296] Quando o executor de predição inter 1720 determina que o modo de predição do bloco atual é o modo de salto na operação 1810, o obtentor de informação de predição inter 1710 pode obter a informação do modo de diferença de mesclagem indicando se a diferença do vetor de movimento de mesclagem e o vetor de movimento determinado a partir da lista de candidato de mesclagem do bloco atual deve ser usada. Em outras palavras, a informação do modo de diferença de mesclagem indica se o modo de diferença do vetor de movimento de mesclagem é aplicado quando o bloco atual está no modo de salto.
[000297] Mesmo quando o executor de predição inter 1720 determina o modo de predição do bloco atual como o modo de mesclagem na operação 1810, o obtentor de informação de predição inter 1710 pode obter a informação de modo de diferença de mesclagem indicando se a diferença do vetor de movimento de mesclagem e do vetor de movimento determinado a partir da lista de candidato a mesclagem do bloco atual deve ser usada. Em outras palavras, a informação do modo de diferença de mesclagem indica se o modo de diferença do vetor de movimento de mesclagem é aplicado quando o bloco atual está no modo de mesclagem.
[000298] O obtentor de informação de predição inter 1710 pode realizar a decodificação de entropia usando a informação de contexto para obter a informação do modo de diferença de mesclagem no modo de salto ou no modo de mesclagem. A informação de contexto para obter a informação do modo de diferença de mesclagem no modo de salto e a informação de contexto para obter a informação do modo de diferença de mesclagem no modo de mesclagem podem ser as mesmas.
[000299] De acordo com uma modalidade, a informação de modo de diferença de mesclagem obtida no modo de salto e a informação de modo de diferença de mesclagem obtids no modo de mesclagem podem ser obtidas por meio de um mesmo elemento de sintaxe. Quando a informação do modo de diferença de mesclagem obtida no modo de salto e a informação do modo de diferença de mesclagem obtida no modo de mesclagem são obtidas através do mesmo elemento de sintaxe, é determinado se o modo de diferença do vetor de movimento de mesclagem é selecionado no modo de salto e no modo de mesclagem, com base em uma parte da informação do modo de diferença de mesclagem e, assim, o elemento de sintaxe é analisado com base em uma parte da informação de contexto e a informação do modo de diferença de mesclagem para o modo de salto e o modo de mesclagem podem ser obtidas.
[000300] De acordo com outra modalidade, mesmo quando a informação de modo de diferença de mesclagem obtida no modo de salto e a informação de modo de diferença de mesclagem obtida no modo de mesclagem são obtidas por meio de elementos de sintaxe separados, os elementos de sintaxe podem ser analisados com base na mesma informação de contexto e, assim, a informação do modo de diferença de mesclagem no modo de salto e a informação do modo de diferença de mesclagem no modo de mesclagem podem ser obtidas usando uma parte da informação de contexto.
[000301] Quando a informação do modo de diferença de mesclagem é obtida, a operação 1820 é executada.
[000302] Na operação 1820, o obtentor de informação de predição inter 1710 pode obter a informação do candidato a mesclagem realizando a decodificação de entropia no fluxo de bits aplicando uma parte da informação de contexto quando a diferença do vetor de movimento de mesclagem e do vetor de movimento determinado a partir da lista de candidato a mesclagem do bloco atual deve ser usada. A informação do candidato a mesclagem indica um candidato na lista de candidato a mesclagem.
[000303] O executor de predição inter 1720 pode determinar se o modo de diferença do vetor de movimento de mesclagem é selecionado para o bloco atual, com base na informação do modo de diferença de mesclagem obtida no modo de salto ou no modo de mesclagem. Quando o modo de diferença do vetor de movimento de mesclagem é selecionado para o bloco atual, ou seja, quando a diferença do vetor de movimento de mesclagem e o vetor de movimento determinado a partir da lista de candidato a mesclagem do bloco atual devem ser usados, o obtentor de informação de predição inter 1710 pode obter a informação do candidato a mesclagem do fluxo de bits. A informação do candidato a mesclagem é informação de 1 bit e, assim, pode ser obtida usando uma parte da informação de contexto para um primeiro bin.
[000304] O obtentor de informação de predição inter 1710 pode realizar a decodificação de entropia usando a informação de contexto para obter a informação do candidato a mesclagem no modo de salto ou no modo de mesclagem. A informação de contexto para obter a informação do candidato a mesclagem no modo de salto e a informação de contexto para obter a informação do candidato a mesclagem no modo de mesclagem podem ser as mesmas.
[000305] De acordo com uma modalidade, quando a informação do candidato a mesclagem obtida no modo de salto e a informação do candidato a mesclagem obtida no modo de mesclagem são obtidas por meio de um mesmo elemento de sintaxe, o elemento de sintaxe é analisado com base em uma informação de contexto e, assim, a informação do candidato a mesclagem pode ser obtida para o modo de salto e a informação do candidato a mesclagem para o modo de mesclagem.
[000306] De acordo com uma outra modalidade, mesmo quando a informação do candidato a mesclagem obtida no modo de salto e a informação de candidato a mesclagem obtida no modo de mesclagem são obtidas por meio de elementos de sintaxe separados, os elementos de sintaxe podem ser analisados com base na mesma informação de contexto e, assim, a informação de candidato a mesclagem para o modo de salto e a informação de candidato a mesclagem para o modo de mesclagem podem ser obtidas usando uma parte da informação de contexto.
[000307] Na operação 1830, o executor de predição inter 1720 pode determinar o vetor de movimento de base a partir de um candidato determinado com base na informação do candidato a mesclagem, na lista de candidato a mesclagem. Quando o modo de diferença do vetor de movimento de mesclagem é selecionado no modo de salto ou no modo de mesclagem, a lista de candidato a mesclagem pode incluir até dois candidatos. Nesse caso, a informação do candidato a mesclagem pode ser um sinalizador de 1 bit.
[000308] De acordo com uma modalidade, quando a predição é realizada no modo de mesclagem, uma série de partes de informação de contexto necessárias para obter um índice geral de mesclagem indicando um candidato na lista de candidato a mesclagem e uma série de partes de informação de contexto necessárias para obter o candidato a mesclagem a informação podem ser as mesmas.
[000309] Na operação 1840, o executor de predição inter 1720 pode determinar a diferença do vetor de movimento de mesclagem do bloco atual usando o índice de distância da diferença do vetor de movimento de mesclagem do bloco atual e o índice de direção da diferença do vetor de movimento de mesclagem do, e determinar o vetor de movimento do bloco atual usando o vetor de movimento de base e a diferença do vetor de movimento de mesclagem.
[000310] O obtentor de informação de predição inter 1710 pode ser obter dois bins indicando o índice de direção da diferença do vetor de movimento de mesclagem realizando a decodificação de entropia no fluxo de bits por meio de um modo de desvio. O obtentor de informações de predição inter 1710 pode obter um primeiro bin indicando o índice de distância da diferença do vetor de movimento de mesclagem realizando a decodificação de entropia usando a informação de contexto no fluxo de bits e obter bins restantes indicando o índice de distância da diferença do vetor de movimento de mesclagem realizando a decodificação de entropia por meio do modo de desvio.
[000311] Em um modo de predição de vetor de movimento geral (AMVP ou predição de vetor de movimento temporal avançado (ATMVP)) que não é o modo de salto nem o modo de mesclagem, o aparelho de decodificação de vídeo 1700 obtém um índice preditor de vetor de movimento e uma diferença de vetor de movimento. O aparelho de decodificação de vídeo 1700 pode determinar um preditor de vetor de movimento indicado pelo índice de preditor de vetor de movimento em uma lista de preditor de vetor de movimento e determinar um vetor de movimento combinando o preditor de vetor de movimento e informação de diferença de vetor de movimento.
[000312] Comparado ao modo de predição do vetor de movimento geral, o modo de salto e o modo de mesclagem não usam a diferença do vetor de movimento. Entretanto, quando o modo de diferença do vetor de movimento de mesclagem é selecionado no modo de salto ou no modo de mesclagem, a diferença do vetor de movimento de mesclagem é usada. Comparação ao modo de predição de vetor de movimento geral, a diferença de vetor de movimento de mesclagem no modo de diferença de vetor de movimento de mesclagem tem brevidade de expressão em comparação com a diferença de vetor de movimento.
[000313] Por exemplo, a informação necessária para representar uma diferença do vetor de movimento geral em uma direção de predição L0 ou uma direção de predição L1 inclui informação abs_mvd_greater0_flag indicando se um valor absoluto da diferença do vetor de movimento é maior que 0, informação abs_mvd_greater1_flag indicando se o valor absoluto do movimento a diferença do vetor é maior que 1, informação abs_mvd_minus2 indicando um valor obtido subtraindo 2 do valor absoluto da diferença do vetor de movimento e a informação mvd_sign_flag indicando um sinal da diferença do vetor de movimento.
[000314] Por outro lado, a informação necessária para representar a diferença do vetor de movimento de fusão na direção de predição L0 ou na direção de predição L1 é apenas informação de direção diferencial e informação de distância diferencial. Consequentemente, em virtude de a diferença do vetor de movimento de mesclagem poder ser representada usando apenas a informação de direção diferencial e o índice de distância diferencial, uma quantidade de bits necessária para sinalizar a diferença do vetor de movimento de mesclagem pode ser notavelmente baixa em comparação com uma quantidade de bits necessária para sinalizar a diferença do vetor de movimento geral.
[000315] Daqui em diante, um aparelho de codificação de vídeo realizando predição inter selecionando um modo de diferença de vetor de movimento de mesclagem em um modo de salto ou um modo de mesclagem será descrito com referência à FIG. 19.
[000316] A FIG. 19 é um diagrama de blocos de um aparelho de codificação de vídeo de acordo com uma modalidade.
[000317] Com referência à FIG. 19, um aparelho de codificação de vídeo 1900 de acordo com uma modalidade pode incluir um executor de predição inter 1910 e um gerador de informação de predição inter 1920.
[000318] O aparelho de codificação de vídeo 1900 pode codificar informação de movimento determinada pela realização de predição inter e enviar a informação de movimento codificada na forma de um fluxo de bits.
[000319] O aparelho de codificação de vídeo 1900 de acordo com uma modalidade pode incluir um processador central (não mostrado) para controlar o executor de predição inter 1910 e o gerador de informação de predição inter 1920. Alternativamente, o executor de predição inter 1910 e o gerador de informação de predição inter 1920 podem operar por seus próprios processadores (não mostrados), e os processadores podem operar sistematicamente um com o outro para operar o aparelho de codificação de vídeo 1900. Alternativamente, o executor de predição inter 1910 e o gerador de informação de predição inter 1920 podem ser controlados de acordo com o controle de um processador externo (não mostrado) do aparelho de codificação de vídeo 1900.
[000320] O aparelho de codificação de vídeo 1900 pode incluir um ou mais armazenamentos de dados (não mostrados) armazenando dados de entrada / saída do executor de predição inter 1910 e o gerador de informação de predição inter 1920. O aparelho de codificação de vídeo 1900 pode incluir um controlador de memória (não mostrado) para controlar a entrada e saída de dados do armazenamento de dados.
[000321] O aparelho de codificação de vídeo 1900 pode realizar uma operação de codificação de imagem, incluindo predição, operando de forma conectiva com um processador de codificação de vídeo interno ou um processador de codificação de vídeo externo, de modo a codificar uma imagem. O processador de codificação de vídeo interno do aparelho de codificação de vídeo 1900 de acordo com uma modalidade pode realizar uma operação de codificação de imagem básica de uma maneira que não apenas um processador separado, mas também um módulo de processamento de codificação de imagem incluído em um aparelho de processamento central ou um aparelho de processamento gráfico, realize a operação básica de codificação de imagem.
[000322] O executor de predição inter 1910 de acordo com uma modalidade pode determinar um vetor de movimento de um bloco atual executando a predição inter no bloco atual.
[000323] Quando a predição inter é realizada no bloco atual em um dentre um modo de salto e um modo de mesclagem, o gerador de informação de predição inter 1920 de acordo com uma modalidade pode determinar se uma diferença de vetor de movimento de mesclagem e um vetor de movimento de base determinado a partir de uma lista de candidato a mesclagem do bloco atual deve ser usada. Quando a diferença do vetor de movimento de mesclagem deve ser usada, o gerador de informação de predição inter 1920 pode gerar informação de candidato a mesclagem executando a codificação de entropia em um fluxo de bits aplicando uma parte de informação de contexto. A informação do candidato a mesclagem indica o vetor de movimento de base na lista de candidato a mesclagem. O gerador de informação de predição inter 1920 pode gerar um índice de distância de uma diferença de vetor de movimento de mesclagem correspondente a uma diferença entre o vetor de movimento de base e um vetor de movimento do bloco atual e um índice de direção da diferença do vetor de movimento de mesclagem.
[000324] Daqui em diante, um processo pelo qual o aparelho de codificação de vídeo 1900 realiza a predição inter selecionando um modo de diferença de vetor de movimento de mesclagem no modo de salto ou no modo de mesclagem será descrito com referência à FIG. 20.
[000325] A FIG. 20 é um fluxograma de um método de codificação de vídeo de acordo com uma modalidade.
[000326] Na operação de 2010, quando a predição inter é realizada no bloco atual em um dentre os modo de salto e modo de mesclagem, o executor de predição inter 1910 pode determinar se a diferença do vetor de movimento de mesclagem e o vetor de movimento de base determinado a partir da lista de candidato a mesclagem do bloco atual deve ser usada.
[000327] Na operação 2020, quando a diferença do vetor de movimento de mesclagem deve ser usada, o gerador de informação de predição inter 1920 pode gerar a informação do candidato a mesclagem indicando um vetor de movimento de base na lista de candidato a mesclagem realizando codificação de entropia no fluxo de bits aplicando uma parte de informação de contexto.
[000328] Na operação 2030, o gerador de informação de predição inter 1920 pode gerar o índice de distância da diferença de vetor de movimento de mesclagem correspondente à diferença entre o vetor de movimento de base e o vetor de movimento do bloco atual e um índice de direção da diferença do vetor de movimento de mesclagem.
[000329] O executor de predição inter 1910 de acordo com uma modalidade pode determinar o vetor de movimento do bloco atual, que indica um bloco de referência em uma figura de referência.
[000330] O executor de predição inter 1910 de acordo com uma modalidade pode determinar o modo de predição do vetor de movimento do bloco atual para ser um do modo de salto e modo de mesclagem. O gerador de informação de predição inter 1920 pode gerar informação de modo de salto indicando se o modo de predição do bloco atual é o modo de salto e informação de modo de mesclagem indicando se o modo de predição é o modo de mesclagem.
[000331] Quando o modo de predição do bloco atual é o modo de salto ou o modo de mesclagem, o gerador de informação de predição inter 1920 pode determinar se o vetor de movimento do bloco atual é predito no modo de diferença de vetor de movimento de mesclagem usando a diferença de vetor de movimento de mesclagem e o vetor de movimento de base determinado a partir da lista de candidato a mesclagem do bloco atual. O gerador de informação de predição inter 1920 pode gerar a informação de modo de diferença de mesclagem indicando se o vetor de movimento é predito no modo de diferença de vetor de movimento de mesclagem.
[000332] Quando a informação de movimento é predita de acordo com o modo de diferença do vetor de movimento de mesclagem, o gerador de informação de predição inter 1920, de acordo com uma modalidade pode determinar a informação do candidato a mesclagem indicando o vetor de movimento de base na lista de candidato a mesclagem. O gerador de informação de predição inter 1920 pode realizar a decodificação de entropia aplicando uma parte de informação de contexto na informação do candidato a mesclagem para codificar a informação do candidato a mesclagem indicando um candidato na lista de candidato a mesclagem.
[000333] O gerador de informação de predição inter 1920 pode determinar a diferença do vetor de movimento de mesclagem entre o vetor de movimento do bloco atual e o vetor de movimento de base e gerar o índice de distância da diferença do vetor de movimento de mesclagem do bloco atual e o índice de direção da diferença do vetor de movimento de mesclagem.
[000334] Quando o modo de predição do bloco atual de acordo com uma modalidade é o modo de mesclagem e o modo de diferença do vetor de movimento de mesclagem é selecionado, o gerador de informação de predição inter 1920 pode gerar a informação de candidato a mesclagem indicando o vetor de movimento de base do bloco atual da lista de candidato a mesclagem e gerar a informação de distância diferencial e a informação de direção diferencial para indicar a diferença do vetor de movimento de mesclagem entre o vetor de movimento do bloco atual e o vetor de movimento de base.
[000335] Quando o modo de predição do bloco atual é o modo de mesclagem, o aparelho de codificação de vídeo 1900 pode determinar amostras do bloco de referência indicado pelo vetor de movimento do bloco atual como as amostras de predição do bloco atual. O aparelho de codificação de vídeo 1900 pode determinar as amostras residuais que são a diferença entre as amostras originais e as amostras de predição do bloco atual. O aparelho de codificação de vídeo 1900 pode codificar os coeficientes de transformada gerados realizando transformada e quantização nas amostras residuais do bloco atual.
[000336] De acordo com uma modalidade, quando o modo de predição do bloco atual é o modo de salto, o bloco atual é codificado apenas com as amostras de predição do bloco atual e, assim, o aparelho de codificação de vídeo 1900 não codifica as amostras residuais do bloco atual. Mesmo quando o modo de predição do bloco atual de acordo com uma modalidade é o modo de salto e o modo de diferença do vetor de movimento de mesclagem é selecionado, o gerador de informação de predição inter 1920 pode codificar a informação do modo de diferença de mesclagem, a informação do candidato a mesclagem, a informação de distância diferencial e a informação de direção diferencial sem codificar as amostras residuais.
[000337] Quando o executor de predição inter 1910 determina que o modo de predição do bloco atual é o modo de salto, de acordo com uma modalidade, pode ser determinado se deve selecionar o modo de diferença do vetor de movimento de mesclagem de codificação do vetor de movimento usando a diferença do vetor de movimento de mesclagem e o vetor de movimento base determinado a partir da lista de candidato a mesclagem do bloco atual. Quando o modo de diferença do vetor de movimento de mesclagem é selecionado, o gerador de informação de predição inter 1920 pode gerar a informação do modo de diferença de mesclagem. Em outras palavras, a informação do modo de diferença de mesclagem indica se o modo de diferença do vetor de movimento de mesclagem é aplicado quando o bloco atual está no modo de salto.
[000338] De acordo com uma modalidade, quando o executor de predição inter 1910 determinou que o modo de predição do bloco atual é o modo de fusão, pode ser determinado se deve selecionar o modo de diferença do vetor de movimento de mesclagem. Quando o modo de diferença do vetor de movimento de mesclagem é selecionado, o gerador de informação de predição inter 1920 pode gerar a informação do modo de diferença de mesclagem.
[000339] O gerador de informação de predição inter 1920 pode realizar a codificação de entropia usando a informação de contexto para codificar a informação do modo de diferença de mesclagem no modo de salto ou no modo de mesclagem. A informação de contexto para codificar a informação do modo de diferença de mesclagem no modo de salto e a informação de contexto para codificar a informação do modo de diferença de mesclagem no modo de mesclagem podem ser as mesmas.
[000340] Quando a informação do modo de diferença de mesclagem no modo de salto e a informação do modo de diferença de mesclagem no modo de mesclagem são codificadas por meio do mesmo elemento de sintaxe, é representado se o modo de diferença do vetor de movimento de mesclagem é selecionado no modo de salto e no modo de mesclagem, com base em uma parte da informação do modo de diferença de mesclagem e, assim, o elemento de sintaxe é codificado por meio de uma parte da informação de contexto e a informação do modo de diferença de mesclagem para o modo de salto e o modo de mesclagem podem ser codificadas.
[000341] De acordo com uma outra modalidade, quando a informação do modo de diferença de mesclagem no modo de salto e a informação do modo de diferença de mesclagem no modo de mesclagem são codificadas por meio de elementos de sintaxe separados, a informação do modo de diferença de mesclagem no modo de salto e a informação do modo de diferença de mesclagem no modo de mesclagem podem ser codificadas usando uma informação de contexto.
[000342] Quando o vetor de movimento é codificado no modo de diferença do vetor de movimento de mesclagem, o gerador de informação de predição inter 1920 pode realizar a codificação de entropia aplicando uma parte de informação de contexto à informação de candidato a mesclagem. A informação do candidato a mesclagem indica um candidato na lista de candidato a mesclagem. A informação do candidato a mesclagem de acordo com uma modalidade é informação de 1 bit e, assim, pode ser obtida usando uma parte da informação de contexto para um primeiro bin.
[000343] De acordo com uma modalidade, a informação de contexto para codificar a informação do candidato a mesclagem no modo de salto e a informação de contexto para codificar a informação do candidato a mesclagem no modo de mesclagem podem ser as mesmas.
[000344] De acordo com uma modalidade, quando a informação do candidato a mesclagem no modo de salto e a informação do candidato a mesclagem no modo de mesclagem são codificadas por meio do mesmo elemento de sintaxe, o elemento de sintaxe é codificado usando uma parte de informação de contexto e, assim, a informação do candidato a mesclagem para o modo de salto e a informação do candidato a mesclagem para o modo de mesclagem podem ser codificadas usando uma parte de informação de contexto.
[000345] De acordo com uma outra modalidade, mesmo quando a informação do candidato a mesclagem no modo de salto e a informação de candidato a mesclagem no modo de mesclagem são codificads por meio de elementos de sintaxe separados, os elementos de sintaxe podem ser codificados usando a mesma informação de contexto e, assim, a informação de candidato a mesclagem para o modo de salto e a informação de candidato a mesclagem para o modo de mesclagem podem ser codificadas usando uma parte da informação de contexto.
[000346] Quando o modo de diferença do vetor de movimento de mesclagem é selecionado no modo de salto ou no modo de mesclagem, a lista de candidato a mesclagem pode incluir até dois candidatos. Nesse caso, a informação do candidato a mesclagem pode ser um sinalizador de 1 bit.
[000347] De acordo com uma modalidade, quando a predição é realizada no modo de mesclagem, número de partes de informação de contexto necessárias para obter o índice geral de mesclagem indicando um candidato na lista de candidato a mesclagem e o número de partes de informação de contexto necessárias para obter a informação de candidato a mesclagem podem ser os mesmos.
[000348] O gerador de informação de predição inter 1920 pode realizar a codificação de entropia no índice de distância da diferença do vetor de movimento de mesclagem do bloco atual e o índice de direção da diferença do vetor de movimento de mesclagem.
[000349] O gerador de informação de predição inter 1920 de acordo com uma modalidade pode realizar a codificação de entropia em dois bins indicando o índice de direção da diferença do vetor de movimento de mesclagem, respectivamente, por meio do modo de desvio. O gerador de informação de predição inter 1920 pode realizar a codificação de entropia em um primeiro bin indicando o índice de distância da diferença do vetor de movimento de mesclagem usando a informação de contexto e realizar a codificação de entropia nos bins restantes indicando o índice de distância da diferença do vetor de movimento de mesclagem respectivamente no modo de desvio.
[000350] A FIG. 26 ilustram valores e significados de informação do candidato a mesclagem, índices de distância diferencial de mesclagem e índices de direção diferencial de mesclagem, de acordo com uma modalidade.
[000351] O índice de distância diferencial de mesclagem indica um índice de distância de uma diferença de vetor de movimento de mesclagem. O índice de direção diferencial de mesclagem indica um índice de direção da diferença do vetor de movimento de mesclagem.
[000352] O aparelho de decodificação de vídeo 1700 pode determinar um vetor de movimento de um bloco atual com base na informação do candidato a mesclagem, o índice de distância diferencial de mesclagem e o índice de direção diferencial de mesclagem.
[000353] Uma tabela 2600 da FIG. 26 ilustra a informação do candidato a mesclagem de acordo com uma modalidade e um candidato a vetor de movimento correspondente ao mesmo. Uma lista de candidato amesclagem de acordo com uma modalidade inclui quatro candidatos a vetor de movimento (1o, 2o, 3o, e 4o MV candidatos MV) e a informação do candidato a mesclagem pode ser exibida em um índice (0, 1, 2 ou 3) indicando um deles.
[000354] Em um modo de diferença de vetor de movimento de mesclagem, um candidato a vetor de movimento indicado pela informação de candidato a mesclagem dentre a lista de candidato a mesclagem pode ser determinado como um vetor de movimento de base.
[000355] Em uma tabela 2610 da FIG. 26, o índice de distância diferencial de mesclagem de acordo com uma modalidade é um número inteiro entre 0 a 7, e cada índice pode ser binarizado de acordo com um método de codificação unário truncado. O índice de distância diferencial de mesclagem pode indicar um de 2N, em que N é de 0 a 7. Uma distância diferencial de mesclagem é determinada com base em uma unidade de pixel base, e quando a unidade de pixel base é 1/4, uma distância diferencial de vetor de movimento de mesclagem correspondente ao índice de distância diferencial de mesclagem 0 pode denotar uma distância de 1/4 de pixel e uma distância diferencial do vetor de movimento de mesclagem correspondente ao índice de distância diferencial de mesclagem 1 pode denotar uma distância de 1/2 pixel. Uma distância diferencial do vetor de movimento de mesclagem correspondente ao índice de distância diferencial de mesclagem 7 pode denotar uma distância de 32 pixels.
[000356] Conforme descrito acima, quando uma menor unidade de pixel capaz de ser indicada pelo vetor de movimento do bloco atual é menor do que a unidade de pixel base, a distância diferencial do vetor de movimento de mesclagem pode ser ajustada em escala de acordo com uma proporção da menor unidade de pixel para a unidade de pixel base. Por exemplo, quando a unidade de pixel base é 1/4 unidade de pixel e a menor unidade de pixel é 1/8 unidade de pixel, e quando um índice indicando a distância diferencial do vetor de movimento de mesclagem obtida a partir de um fluxo de bits é 0, uma distância diferencial de vetor de movimento de mesclagem 1 correspondente ao índice 0 pode ser aumentado para 2.
[000357] Também, em uma tabela 2620, um índice de direção diferencial do vetor de movimento de mesclagem de um string binário 00 denota um candidato a vetor de movimento alterado ao longo de uma direção + em um eixo X com base no vetor de movimento de base e uma direção diferencial de vetor de movimento de mesclagem de uma sequência binária 11 denota um candidato a vetor de movimento alterado ao longo da direção - em um eixo Y com base no vetor de movimento de base.
[000358] A informação do candidato a mesclagem, o índice de distância diferencial de mesclagem e o índice de direção diferencial de mesclagem da FIG. 26 são apenas exemplos e os índices disponíveis no modo de diferença do vetor de movimento de mesclagem propostos na presente divulgação não estão limitados aos mesmos.
[000359] Por exemplo, o número de candidatos incluídos na lista de candidato a mesclagem no modo de diferença de vetor de movimento de mesclagem pode ser limitado a 2 e a informação do candidato a mesclagem pode ser um índice de 1 bit.
[000360] A FIG. 27 ilustra equações para obter um vetor de movimento usando um vetor de movimento de base e uma diferença de vetor de movimento de mesclagem, de acordo com uma modalidade.
[000361] mvLX [x] [y] [n] denota um vetor de movimento de um bloco atual. x, y denota coordenadas x, y do bloco atual, e n denota um dentre um componente de direção horizontal e um componente de direção vertical de um vetor de movimento mvLX. mvLX [x] [y] [0] denota o componente de direção horizontal do vetor de movimento mvLX e mvLX [x] [y] [1] denota o componente de direção vertical do vetor de movimento mvLX.
[000362] mxLXN [m] denota um vetor de movimento de base indicado por informação de candidato a mesclagem na lista de candidato a mesclagem. m denota um componente de direção horizontal e um componente de direção vertical de um vetor de movimento de base mvLXN. mvLXN [0] denota o componente de direção horizontal do vetor de movimento base mvLXN e mvLXN
[1] denota o componente de direção vertical do vetor de movimento de base mvLXN.
[000363] refineMxLX [l] denota uma diferença de vetor de movimento de mesclagem. l denota um componente de direção horizontal e um componente de direção vertical de uma diferença de vetor de movimento de mesclagem refineMxLX. refineMxLX [0] denota o componente de direção horizontal da diferença do vetor de movimento de mesclagem refineMxLX e refineMxLX [1] denota o componente de direção vertical da diferença do vetor de movimento de mesclagem refineMxLX.
[000364] Em mvLX, mxLXN e refineMxLX, LX denota uma dentre uma direção de predição L0 e uma direção de predição L1. Consequentemente, mvL0, mxL0N e refineMxL0 denotam o vetor de movimento, o vetor de movimento de base e a diferença do vetor de movimento de mesclagem na direção de predição L0, e mvL1, mxL1N e refineMxL1 denotam o vetor de movimento, o vetor de movimento de base e a diferença do vetor de movimento de mesclagem na direção de predição L1.
[000365] O aparelho de decodificação de vídeo 1700 de acordo com uma modalidade obtém as informações do candidato a mesclagem de um fluxo de bits e determina o componente de direção horizontal mxLXN [0] do vetor de movimento de base indicado pela informação do candidato a mesclagem da lista de candidato a mesclagem e o componente de direção vertical mxLXN
[1] do vetor de movimento de base.
[000366] O aparelho de decodificação de vídeo 1700 de acordo com uma modalidade obtém um índice de direção diferencial de mesclagem e um índice de distância diferencial de mesclagem do fluxo de bits e determina o componente de direção horizontal refineMxLX [0] da diferença de vetor de movimento de mesclagem e o componente de direção vertical refineMxLX [1] da diferença do vetor de movimento de mesclagem usando o índice de direção diferencial de mesclagem e o índice de distância diferencial de mesclagem.
[000367] O aparelho de decodificação de vídeo 1700 de acordo com uma modalidade pode obter o componente de direção horizontal mvLX [0] [0] [0] do vetor de movimento do bloco atual adicionando o componente de direção horizontal mxLXN [0] do vetor de movimento de base e o componente de direção horizontal refineMxLX [0] da diferença do vetor de movimento de mesclagem e obtém o componente de direção vertical mvLX [0]
[0] [1] do vetor de movimento do bloco atual adicionando o componente de direção vertical mxLXN [1] do vetor de movimento de base e o componente de direção vertical refineMxLX [1] da diferença do vetor de movimento de mesclagem.
[000368] A FIG. 28 ilustra sintaxes para obter informação de modo de diferença de mesclagem, informação de candidato a mesclagem, índices de distância diferencial de mesclagem e índices de direção diferencial de mesclagem, de acordo com uma modalidade.
[000369] O aparelho de decodificação de vídeo 1700 de acordo com uma modalidade pode obter um elemento de sintaxe cu_skip_flag indicando se um bloco atual é predito em um modo de salto, a partir de uma sintaxe coding_unit de um fluxo de bits. Quando o bloco atual é predito no modo de salto (if (cu_skip_flag)), o aparelho de decodificação de vídeo 1700 pode obter um elemento de sintaxe umve_flag indicando se o bloco atual é predito em um modo de diferença de vetor de movimento de mesclagem. Quando umve_flag é 1, o aparelho de decodificação de vídeo 1700 pode invocar uma sintaxe umve_idx_coding. O aparelho de decodificação de vídeo 1700 pode obter um elemento de sintaxe base_mv_idx correspondente à informação do candidato a mesclagem, um elemento de sintaxe distance_idx correspondente a um índice de distância de uma diferença de vetor de movimento de mesclagem e um elemento de sintaxe direction_idx correspondente a um índice de direção da diferença de vetor de movimento de mesclagem, da sintaxe umv_idx_coding do fluxo de bits.
[000370] Quando o bloco atual não é predito no modo de salto (quando cu_skip_flag não é 0), o aparelho de decodificação de vídeo 1700 pode obter um elemento de sintaxe merge_flag indicando se o bloco atual é predito em um modo de mesclagem. Quando o bloco atual é previsto no modo de mesclagem (if (merge_flag)), o elemento de sintaxe umve_flag indicando se o bloco atual é predito no modo de diferença do vetor de movimento de mesclagem pode ser obtido. Quando umve_flag é 1, o aparelho de decodificação de vídeo 1700 pode invocar uma sintaxe umve_idx_coding. O aparelho de decodificação de vídeo 1700 pode obter o elemento de sintaxe base_mv_idx correspondente à informação do candidato a mesclagem, o elemento de sintaxe distance_idx correspondente ao índice de distância diferencial de mesclagem e o elemento de sintaxe direction_idx correspondente ao índice de direção diferencial de mesclagem, a partir da sintaxe umv_idx_coding do fluxo de bits.
[000371] Consequentemente, o aparelho de decodificação de vídeo 1700 pode obter o elemento de sintaxe umve_flag indicando se o bloco atual é predito no modo de diferença do vetor de movimento de mesclagem no modo de salto e no modo de mesclagem. Mesmo quando umve_flag do modo de salto e umve_flag do modo de mesclagem são obtidos separadamente, ambos umve_flag podem ser obtidos por meio de decodificação de entropia usando a mesma informação de contexto.
[000372] Também, o aparelho de decodificação de vídeo 1700 pode obter a informação do candidato a mesclagem base_mv_idx no modo de salto e no modo de mesclagem. Mesmo quando base_mv_idx do modo de salto e base_mv_idx do modo de mesclagem são obtidos separadamente, ambos base_mv_idx podem ser obtidos por meio de decodificação de entropia usando a mesma informação de contexto.
[000373] A FIG. 29 ilustra sintaxes para obter informação de modo de diferença de mesclagem, informação de candidato de mesclagem, índices de distância diferencial de mesclagem e índices de direção diferencial de mesclagem, de acordo com outra modalidade.
[000374] O aparelho de decodificação de vídeo 1700 de acordo com uma outra modalidade pode obter um elemento de sintaxe regular_merge_flag indicando se um bloco atual é predito em um modo de mesclagem, a partir de uma sintaxe merge_data de um fluxo de bits. Quando o bloco atual é predito no modo de salto (if (regular_merge_flag=1)), o aparelho de decodificação de vídeo 1700 pode obter um elemento de sintaxe mmvd_merge_flag indicando se o bloco atual é predito em um modo de diferença de vetor de movimento de mesclagem. Quando o bloco atual é predito no modo de diferença do vetor de movimento de mesclagem (if (mmvd_merge_flag == 1)), o aparelho de decodificação de vídeo 1700 pode obter um elemento de sintaxe mmvd_cand_flag correspondente à informação do candidato de mesclagem, um elemento de sintaxe mmvd_distance_idx correspondente a um índice de distância de uma diferença de vetor de movimento de mesclagem e um elemento de sintaxe mmvd_direction_idx correspondendo a um índice de direção da diferença de vetor de movimento de mesclagem.
[000375] Mesmo quando o bloco atual é predito em um modo de salto, o aparelho de decodificação de vídeo 1700 pode considerar implicitamente regular_merge_flag como 1. Consequentemente, quando o bloco atual é predito no modo de salto, o aparelho de decodificação de vídeo 1700 pode obter o elemento de sintaxe mmvd_merge_flag indicando se o bloco atual é predito no modo de diferença do vetor de movimento de mesclagem e quando o bloco atual é predito no modo de diferença de vetor de movimento de mesclagem (if (mmvd_merge_flag == 1)), o aparelho de decodificação de vídeo 1700 pode obter o elemento de sintaxe mmvd_cand_flag correspondente à informação do candidato a mesclagem, o elemento de sintaxe mmvd_distance_idx correspondente ao índice de distância da diferença de vetor de movimento de mesclagem e o elemento de sintaxe mmvd_direction_idx correspondente ao índice de direção da diferença do vetor de movimento de mesclagem.
[000376] De acordo com a sintaxe merge_data, o aparelho de decodificação de vídeo 1700 pode analisar informação relacionada ao modo de diferença do vetor de movimento de mesclagem (se o bloco atual for predito no modo de diferença de vetor de movimento de mesclagem, na informação de candidato de mesclagem, no índice de distância do vetor de movimento de mesclagem e no índice de direção da diferença do vetor de movimento de mesclagem) por meio dos mesmos elementos de sintaxe mmvd_merge_flag, mmvd_cand_flag, mmvd_distance_idx e mmvd_direction_idx no modo de salto e no modo de mesclagem. Entretanto, como um modo de predição do bloco atual não pode ser o modo de salto e o modo de mesclagem ao mesmo tempo, mmvd_merge_flag, mmvd_cand_flag, mmvd_distance_idx e mmvd_direction_idx do modo skip não são obtidos ao mesmo tempo que mmvd_flagge_flag, mmvd_cand_flag, mmvd_distance_idx e mmvd_direction_idx do modo de mesclagem, e a informaçção relacionada ao modo de diferença do vetor de movimento de mesclagem no modo de salto e a informação relacionada ao modo de diferença do vetor de movimento de mesclagem no modo de mesclagem podem ser interpretadas como informação independente.
[000377] O aparelho de decodificação de vídeo 1700 obtém o elemento de sintaxe mmvd_merge_flag indicando se o bloco atual é predito no modo de diferença de vetor de movimento de mesclagem em cada um dos modos de salto e de mesclagem, mas pode obter o mmvd_merge_flag por meio de decodificação de entropia usando um a parte de informação de contexto.
[000378] Também, o aparelho de decodificação de vídeo 1700 pode obter a informação do candidato a mesclagem mmvd_cand_flag no modo de salto e no modo de mesclagem. Mesmo quando mmvd_cand_flag do modo de salto e mmvd_cand_flag do modo de mesclagem são obtidos separadamente, ambos mmvd_cand_flag podem ser obtidos por meio de decodificação de entropia usando a mesma informação de contexto.
[000379] A FIG. 30 é uma tabela de referência para determinar informação de contexto de informação relacionada à mesclagem, de acordo com uma modalidade.
[000380] A tabela de referência da FIG. 30 ilustra a informação de contexto necessária para realizar a decodificação de entropia para cada índice bin de cada elemento de sintaxe.
[000381] Por exemplo, a informação de contexto necessária para decodificar um índice bin 0 de um elemento de sintaxe mmvd_merge_flag indicando predição em um modo de diferença de vetor de movimento de mesclagem, isto é, um primeiro bin, é 0. Em virtude de o mmvd_merge_flag ser uma informação de 1 bit, a informação de contexto para bins diferentes do índice de bin 0 não é definida (na). Consequentemente, o número de partes de informação de contexto necessárias para realizar a decodificação de entropia no elemento de sintaxe mmvd_merge_flag indicando se o aparelho de decodificação de vídeo 1700 realiza predição no modo de diferença do vetor de movimento de mesclagem, isto é, na informação de modo de diferença de mesclagem, pode ser 1.
[000382] Também, quando a predição é realizada em um modo de mesclagem, o aparelho de decodificação de vídeo 1700 pode obter, a partir de um fluxo de bits, informação que indica um candidato a vetor de movimento de uma lista de candidato a mesclagem. O aparelho de decodificação de vídeo 1700 pode obter um elemento de sintaxe merge_idx correspondente à informação que indica o candidato de vetor de movimento da lista de candidato a mesclagem por meio de decodificação de entropia. A informação de contexto necessária para decodificar um índice bin 0, ou seja, um primeiro bin, do merge_idx, pode ser 0. Os bins restantes do merge_idx podem ser decodificados em um modo de desvio.
[000383] Consequentemente, o número de partes de informação de contexto necessárias para obter a informação que indica se o aparelho de decodificação de vídeo 1700 realiza predição no modo de diferença do vetor de movimento de mesclagem e a informação que indica o candidato de vetor de movimento da lista de candidato a mesclagem podem ser as mesmas, isto é, 1.
[000384] Uma parte da informação de contexto é necessária para obter um primeiro bin de um elemento de sintaxe mmvd_distance_idx correspondente a um índice de distância da diferença do vetor de movimento de mesclagem e os bins restantes podem ser decodificados em um modo de desvio sem informações de contexto. Um elemento de sintaxe mmvd_direction_idx correspondente a um índice de direção da diferença do vetor de movimento de mesclagem pode ser decodificado em um modo de desvio sem informação de contexto.
[000385] Daqui em diante, uma correlação entre o modo de diferença do vetor de movimento de mesclagem e outro método de predição de vetor de movimento será descrita.
[000386] Primeiro, uma correlação entre o modo de diferença do vetor de movimento de mesclagem e um modo de resolução de vetor de movimento adaptativo (AMVR) será descrita.
[000387] No modo de diferença do vetor de movimento de mesclagem, quando um vetor de movimento de base é determinado, a resolução de um vetor de movimento pode ser determinada usando um índice que indica um tamanho, como 1/4, 1/2, 1, 4, 8, 18, 32, 64 ou 128 unidades de pixel. Em outras palavras, quando um componente de direção horizontal e um componente de direção vertical de um vetor de movimento de base atual são movidos por um índice de distância diferencial de mesclagem 2, pode ser interpretado que o componente de direção horizontal e o componente de direção vertical são movidos por um tamanho de 1 pixel no aparelho de decodificação de vídeo 1700 com base em uma unidade de 1/4 de pixel.
[000388] Uma resolução de um vetor de movimento pode usar uma pluralidade de multi-resoluções por meio de uma pluralidade de partes de informação do candidato a mesclagem disponível no modo de diferença de vetor de movimento de mesclagem. A pluralidade de resoluções pode ser aplicada não apenas à modificação de tal resolução ou unidade de pixel, mas também ao próprio vetor de movimento de base. Por exemplo, resoluções de 1/4, 1/2, 1, 4, 8, 16, 32, 64 e 128 unidades de pixel podem ser aplicadas ao próprio vetor de movimento base. A resolução do vetor de movimento pode ser determinada implicitamente com base na informação (um índice de resolução) ao redor. Alternativamente, informação de resolução separada pode ser sinalizada antes de um elemento de sintaxe indicando se a predição é realizada no modo de diferença do vetor de movimento de mesclagem para determinar a resolução do vetor de movimento de base.
[000389] Aqui, o tamanho da diferença do vetor de movimento pode ser definido como um valor de uma distância de resolução. Por exemplo, quando a informação de resolução é de 1 unidade de pixel, o tamanho da diferença do vetor de movimento pode ser determinado entre (+1,0), (-1,0), (0,+1) e (0,-1) sem um índice de distância diferencial de mesclagem separado. Como um outro exemplo, um índice de distância diferencial de mesclagem N pode ser sinalizado e o tamanho da diferença do vetor de movimento pode ser determinado como sendo N vezes da resolução. Quando o índice é 0, o tamanho da diferença do vetor de movimento pode ser 1 pixel, e quando o índice é 1, o tamanho da diferença do vetor de movimento pode ser 2 pixels. Alternativamente, o índice de distância diferencial de mesclagem N pode ser sinalizado e o tamanho da diferença do vetor de movimento pode ser aumentado em uma escala logarítmica.
[000390] A informação de resolução sinalizada do vetor de movimento pode ser usada extensivamente no aparelho de decodificação de vídeo 1700. Por exemplo, um preditor de vetor de movimento pode ser usado em um modo AMVP arredondando para o número inteiro mais próximo usando a informação de resolução codificada em um nível superior (modo de salto ou determinação de modo de mesclagem).
[000391] Também, em um modo de resolução de vetor de movimento adaptativo (AMVR), a transmissão da informação de resolução pode ser omitida e a informação de resolução a ser aplicada no modo AMVR pode ser determinada usando a informação de resolução codificada no modo de salto atual ou determinação de modo de mesclagem (Nível superior).
[000392] Em um modo de predição usando o vetor de movimento, a informação de resolução de nível superior pode ser compartilhada para ser usada. Também, cada modo de predição pode ser executado para cada resolução, e informação para indicar qual modo de predição é executado em qual resolução pode ser sinalizada.
[000393] No modo AMVR, a resolução do vetor de movimento pode ser definida para representar o tamanho da diferença do vetor de movimento MVD em 1.
[000394] Por exemplo, o aparelho de decodificação de vídeo 1700 pode determinar a resolução do vetor de movimento obtendo um índice AMVR, obter um índice de imagem de referência e obter um valor da diferença do vetor de movimento MVD tendo um valor de 1, 0 ou -1.
[000395] Como um outro exemplo, o aparelho de decodificação de vídeo 1700 pode determinar a resolução do vetor de movimento obtendo o índice AMVR, determinar o índice de figura de referência do bloco atual usando um índice de figura de referência de um bloco vizinho e obter o valor da diferença de vetor de movimento MVD tendo um valor de 1, 0 ou -1.
[000396] Quando uma resolução representável máxima do vetor de movimento está em uma unidade de 1 / M pixel em um método de predição de transmissão da diferença do vetor de movimento e uma resolução disponível no aparelho de decodificação de vídeo 1700 está em uma unidade de 1 / N pixel, um valor de deslocamento do modo de diferença do vetor de movimento de mesclagem pode ser uma resolução mais precisa do que 1 / M.
Por exemplo, quando uma resolução do vetor de movimento transmissível na diferença do vetor de movimento está em uma unidade de 1/4 (quarto) de pixel e a resolução representável (ou uma unidade de armazenamento do vetor de movimento) está em unidade de 1/16 de pixel, o valor de deslocamento do modo de diferença do vetor de movimento de mesclagem pode ser definido para ser mais preciso do que a unidade de 1/4 de pixel.
[000397] Um candidato a vetor de movimento que pode ser o vetor de movimento de base do modo de diferença de vetor de movimento de mesclagem pode ser determinado como um candidato representativo dentre os candidatos de vetor de movimento de sub-bloco usados em ATMVP ou semelhante. Por exemplo, um vetor de movimento de um sub-bloco correspondente a uma localização central ou um vetor de movimento de um sub-bloco correspondente a uma localização superior esquerda dos candidatos a vetor de movimento de sub-bloco pode ser determinado como o candidato representativo.
[000398] Como um outro exemplo, um candidato a sub-bloco que pode ser o vetor de movimento de base do modo de diferença de vetor de movimento de mesclagem pode ser excluído dos candidatos a vetor de movimento. Consequentemente, a complexidade da operação pode ser reduzida.
[000399] Daqui em diante, será descrito se deve ser usado um candidato a mesclagem ATMVP ao determinar o vetor de movimento de base no modo de diferença do vetor de movimento de mesclagem.
[000400] O vetor de movimento de base no modo de diferença de vetor de movimento de mesclagem de acordo com uma modalidade é primeiro determinado a partir de uma lista de candidato a mesclagem usada no modo de mesclagem. No modo de diferença do vetor de movimento de mesclagem de acordo com uma outra modalidade, o vetor de movimento de base pode ser selecionado não apenas da lista de candidato a mesclagem, mas também de candidatos a ATMVP. A informação que indica se deve predizer o vetor de movimento usando o candidato a ATMVP no modo de diferença do vetor de movimento de mesclagem pode ser sinalizada em um nível de fatia ou um nível superior (figura, sequência, conjunto de parâmetros de sequência (SPS) ou conjunto de parâmetros de figura (PPS)).
[000401] Quando o candidato a ATMVP também está disponível no modo de diferença do vetor de movimento de mesclagem, todos os candidatos da lista de candidato a mesclagem e lista de candidato a ATMVP precisam ser gerados. Entretanto, quando o candidato a ATMVP não está disponível, o aparelho de decodificação de vídeo 1700 não precisa acessar uma memória para ATMVP e não precisa acessar uma memória em uma direção temporal para configurar a lista de candidato a ATMVP, alta eficiência pode ser alcançada em termos de acesso à memória.
[000402] Daqui em diante, será descrito um método de informação de sinalização para o modo de diferença do vetor de movimento de mesclagem no nível de fatia.
[000403] Para aplicar o modo de diferença de vetor de movimento de mesclagem, elementos de sintaxe correspondentes a um índice de direção de predição indicando uma direção de predição L0, L1 ou Bi, informação de candidato a mesclagem, índice de distância diferencial de mesclagem e índice de direção diferencial de mesclagem podem ser usados.
[000404] A informação de controle para os elementos de sintaxe pode ser transmitida ao aparelho de decodificação de vídeo
1700 para cada fatia.
[000405] A informação sobre o número do índice de distância diferencial de mesclagem pode ser transmitida no nível de fatia. O próprio número pode ser codificado em um método FLC e sinalizado. Por exemplo, quando o número do índice de distância diferencial de mesclagem é 8, o número pode ser sinalizado em 3 bits.
[000406] Alternativamente, pode ser transmitido 1 bit para sinalizar a configuração padrão ou informação adicional (informação do número usado). Quando a informação do número usado é 0, o número de índices de distância diferencial de mesclagem é 8, isto é, configuração padrão, e quando a informação de número usada é 1, informação sobre quantos índices de distância diferencial de mesclagem são usados adicionalmente pode ser sinalizada em um método FLC. A informação sobre um número máximo definido de índices de distância diferencial de mesclagem pode ser sinalizada a partir de uma fatia correspondente em um método binário unário truncado.
[000407] Aqui, quando há um número ótimo ideal que ocorre frequentemente ao sinalizar o número de índices de distância diferencial de mesclagem, o número ideal pode ser mapeado para o índice. Por exemplo, 4, 8, 2 e 1 combinações dos números ideais podem ser determinadas, e quando uma frequência de ocorrência é mais alta em uma ordem precedente entre o número ideal de índices de distância diferencial de mesclagem, a codificação pode ser possível no método binário unário truncado.
[000408] Os bits de controle relacionados não apenas à codificação de informação do número máximo dos índices de distância diferencial de mesclagem, mas também o rearranjo de ordem dos índices de distância diferencial de mesclagem podem ser sinalizados no nível de fatia. O bit de controle também pode ser determinado como sendo 1 bit para indicar se deve ser usada uma ordem padrão ou uma ordem sinalizada. Quando o bit de controle é 0, a ordem é interpretada como a ordem padrão de 1, 2, 4, 8, 16, 32, 64 e 128. Entretanto, quando o bit de controle é 1, a informação sobre uma ordem pode ser sinalizada adicionalmente.
[000409] Quando a informação sobre a ordem é sinalizada de acordo com uma modalidade, 8 ordens podem ser decodificadas como estão, mas a informação sobre a ordem pode ser analisada apenas para a frente N que é principalmente selecionada. Por exemplo, quando N é 4, a substituição da ordem é realizada apenas para os 4 primeiros números. Nesse caso, de virtude de apenas uma de 4 precisar ser analisada, as quatro primeiras ordens podem ser verificadas analisando um índice de número três vezes por 2 bits. Por exemplo, quando 10, 11 e 00 são analisados como o índice de número, 2, 3, 0 podem ser interpretados e pode ser inferido que o restante é 1. Então, a informação real interpretada de todo o índice de distância diferencial de mesclagem pode ser 2, 3, 0, 1, 4, 5, 6 e 7. Em outras palavras, quando um índice de distância diferencial de mesclagem é 1 no modo de diferença do vetor de movimento de mesclagem, na verdade é interpretado que uma distância diferencial de mesclagem é 3.
[000410] N pode ser determinado de várias maneiras de 2 a 8 e pode ser codificado por meio do FLC ou método binário unário truncado. A informação sobre N também pode ser codificada no nível de fatia ou pode ser codificada em um nível superior
(nível de figura ou nível de sequência).
[000411] A informação sobre um número usado dos vetores de movimento de base também pode ser sinalizada no nível de fatia ou em seu nível superior. Um número padrão pode ser pré- determinado e um bit indicando se o número padrão é usado ou alterado pode ser sinalizado. Quando o bit é 1, o número de vetores de movimento de base pode ser decodificado no FLC ou método binário unário truncado.
[000412] A informação sobre um número usado de partes de informação de direção diferencial de mesclagem também pode ser sinalizada no nível de fatia ou em seu nível superior. Um número padrão pode ser pré-determinado e um bit indicando se o número padrão é usado ou alterado pode ser sinalizado. Quando o bit é 1, o número de vetores de movimento de base pode ser decodificado no FLC ou método binário unário truncado. Quando um número padrão correspondente a uma mesma direção diferencial é 4, 1 bit indicando se o número de vetores de movimento de base é o número padrão é decodificado e quando o número de vetores de movimento de base não é o número padrão, a informação sobre o número pode ser decodificada por meio de FLC ou método binário unário truncado.
[000413] Todas as partes da informação anteriores podem ser determinadas pelo aparelho de codificação de vídeo 1900 com base na informação de razão de acerto. A informação relacionada à diferença de mesclagem pode ser processada para cada ID de acordo com um ID de uma camada temporal ou pode ser determinada com base na informação de razão de acerto, independentemente da camada temporal.
[000414] Diferentes números máximos ou diferentes ordens de índices de distância diferencial de mesclagem podem ser aplicados para cada tamanho de um bloco atual no qual a predição é realizada, e se os diferentes números máximos ou diferentes ordens de índices de distância diferencial de mesclagem forem aplicados para cada tamanho do bloco atual, pode ser determinado no nível de fatia ou em seu nível superior.
[000415] Em seguida, foi descrito que uma configuração da informação relacionada à diferença de mesclagem pode ser alterada no nível da fatia. Entretanto, ligar / desligar do modo de diferença do vetor de movimento de mesclagem pode ser determinado no nível da fatia. Também, a informação para não aplicar o modo de diferença do vetor de movimento de mesclagem em um bloco de um determinado tamanho ou menor também pode ser sinalizada pela transmissão de informação adicional no nível de fatia. Neste momento, o aparelho de decodificação de vídeo 1700 pode não analisar a informação do modo de diferença de mesclagem quando uma largura e um comprimento do bloco atual são menores que um determinado valor limite ou quando uma área calculada multiplicando a largura e o comprimento é menor que um determinado valor limite.
[000416] Daqui em diante, serão descritos métodos de simplificação da informação de contexto da informação relacionada à diferença de mesclagem.
[000417] O aparelho de decodificação de vídeo 1700 realiza a decodificação de entropia usando a informação de contexto para decodificar a informação relacionada ao modo de diferença do vetor de movimento de mesclagem.
[000418] O aparelho de decodificação de vídeo 1700 de acordo com uma modalidade pode usar a informação de contexto para obter cada uma das informações do modo de diferença de mesclagem no modo de salto e a informação do modo de diferença de mesclagem no modo de mesclagem. Entretanto, a informação do modo de diferença de mesclagem no modo de salto e a informação do modo de diferença de mesclagem no modo de mesclagem podem ser decodificadas usando a informação de contexto.
[000419] Um método de configuração de contexto de codificação aritmética binária adaptiva ao contexto (CABAC) para a informação do modo de diferença de mesclagem pode variar. Por exemplo, a informação de contexto pode ser definida para ser menor do que uma razão de um modo de salto geral, independentemente de um parâmetro de quantização (QP). Como um outro exemplo, em virtude de a probabilidade de usar o modo de diferença do vetor de movimento de mesclagem aumentar conforme o QP diminui, a informação de contexto inicial pode ser definida para ser menor ou semelhante a uma razão do modo de salto. No entanto, quando o QP diminui, a probabilidade do modo de diferença do vetor de movimento de mesclagem pode ser configurada para aumentar.
[000420] A informação do candidato a mesclagem também pode ser decodificada usando o modo de diferença do vetor de movimento de mesclagem no modo de salto, no modo de diferença do vetor de movimento de mesclagem no modo de mesclagem e a informação de contexto usada para decodificar a informação de índice em qualquer um dos modos de salto geral e modo de mesclagem geral.
[000421] Por exemplo, a informação de contexto para decodificar um índice de mesclagem geral (informação que indica um candidato em uma lista de candidato a mesclagem) usada no modo de mesclagem geral e a informação de contexto para decodificar a informação de diferença do vetor de movimento de mesclagem podem ser diferentes. O índice de mesclagem é definido de modo que uma probabilidade em que ocorra o 0º índice seja alta, enquanto a informação do candidato a mesclagem do modo de diferença do vetor de movimento de mesclagem pode definir a 0ª probabilidade de ocorrência para menos de 50% para aumentar a eficiência da codificação aritmética.
[000422] Como um outro exemplo, a informação de contexto usada para decodificar a informação de resolução usada em um modo de predição usando multi-resolução pode ser aplicada à informação sobre o índice de distância diferencial de mesclagem.
[000423] O índice de direção diferencial de mesclagem pode ser obtido usando informação de contexto sobre um sinal de informação de diferença de vetor de movimento usada em outros métodos de predição inter, como AMVP e AMVR. Em relação a um elemento de sintaxe que determina a direção de uma diferença do vetor de movimento, em virtude de as probabilidades de ocorrência das direções (-1,0), (0,-1), (1,0) e (0,1) terem distribuições uniformes, O CABAC pode ser decodificado no modo de devio, isto é, em uma distribuição de probabilidade uniforme (probabilidade 0,5), promovendo por meio disso o aprimoramento da eficiência da codificação e aprimoramento da produção do codec.
[000424] Em seguida, será descrito um caso no qual o modo de diferença do vetor de movimento de mesclagem é aplicado em uma condição de quadro B de baixo atraso (modo LDB).
[000425] O modo LDB denota um caso em que um quadro B é restrito para referir-se temporariamente a uma mesma direção. No modo LDB, isto é, quando uma figura de referência temporariamente em uma mesma localização é referida, o modo de diferença do vetor de movimento de mesclagem pode operar como segue.
Em um modo de predição bidirecional, quando dois vetores de movimento de base indicam temporariamente apenas o passado ou o futuro, o modo de diferença do vetor de movimento de mesclagem é aplicado da seguinte maneira. i) Embora um vetor de movimento de base seja um vetor para predição bidirecional, a informação em uma direção pode ser ignorada e a informação de movimento de uma lista de figuras de referência em uma direção restante pode ser usada como um vetor de movimento de base.
Neste caso, 1 bit indicando qual direção da informação de movimento é usada pela transmissão de 1 bit é adicionalmente necessário. ii) A informação de predição B-direcional é usada, mas um vetor de movimento de base em uma direção é fixo e um vetor de movimento de base de outra direção é alterado e usado. iii) Um vetor de movimento zero é adicionado à informação de movimento em uma direção fixa enquanto outros processos são iguais aos de ii). Neste momento, um índice de figura de referência é 0 e o vetor de movimento zero em uma figura mais próxima de uma figura atual é usado. iv) Em LDB, uma distância correspondente a um índice de distância diferencial de mesclgem pode ser usada por meio de ajuste por escala de acordo com a distância entre uma figura atual e uma figura de referência, isto é, uma diferença POC.
Em outras palavras, quando a diferença de distância POC é 4, o índice de distância diferencial de mesclagem 0 é 1 (distância fixa). Entretanto, quando a diferença de distância POC é 8, o índice de distância diferencial de mesclagem 0 denota 2, isto é, duas vezes a distância fixa.
Consequentemente, uma área mais ampla pode ser referida com base na diferença de distância POC sem ter que determinar uma diferença de vetor de movimento com uma unidade de pixel pré- determinada em uma figura de referência muito distante. v) O método acima pode ser aplicado de forma idêntica quando figuras de referência em uma mesma direção temporalmente são utilizáveis não apenas em um modo LDB, mas também em um quadro B geral.
[000426] Enquanto isso, as modalidades da presente divulgação descritas acima podem ser escritas como programas executáveis por computador que podem ser armazenados em uma mídia.
[000427] A mídia pode armazenar continuamente os programas executáveis por computador ou armazenar temporariamente os programas executáveis por computador ou instruções para execução ou transferência. Além disso, a mídia pode ser qualquer uma das várias mídias de gravação ou mídia de armazenamento em que uma única parte ou pluralidade de partes de hardware são combinadas e a mídia não está limitada a uma mídia diretamente conectada a um sistema de computador, mas pode ser distribuída em uma rede. Exemplos da mídia incluem mídias magnéticas, como um disco rígido, um disquete e uma fita magnética, mídia de gravação óptica, como CD-ROM e DVD, mídia magneto-óptica, como um disco flexível, e ROM, RAM, e uma memória flash, que são configuradas para armazenar instruções do programa. Outros exemplos da mídia incluem mídias de gravação e mídias de armazenamento gerenciada por lojas de aplicativos que distribuem aplicativos ou por sites, servidores semelhantes e fornecendo ou distribuindo outros vários tipos de software.
[000428] Embora uma ou mais modalidades da presente divulgação

Claims (1)

  1. tenham sido descritas com referência às figuras, será entendido pelos versados na técnica que várias mudanças na forma e detalhes podem ser feitas nas mesmas sem se afastar do espírito e escopo conforme definido pelas seguintes reivindicações.
BR112021003300-9A 2018-09-17 2019-09-17 Método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo BR112021003300B1 (pt)

Priority Applications (2)

Application Number Priority Date Filing Date Title
BR122022004567-7A BR122022004567B1 (pt) 2018-09-17 2019-09-17 Método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo
BR122022004561-8A BR122022004561B1 (pt) 2018-09-17 2019-09-17 Método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201862732224P 2018-09-17 2018-09-17
US62/732,224 2018-09-17
US201862743025P 2018-10-09 2018-10-09
US62/743,025 2018-10-09
PCT/KR2019/012000 WO2020060158A1 (ko) 2018-09-17 2019-09-17 움직임 정보의 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치

Publications (2)

Publication Number Publication Date
BR112021003300A2 true BR112021003300A2 (pt) 2021-05-11
BR112021003300B1 BR112021003300B1 (pt) 2024-02-06

Family

ID=69887588

Family Applications (3)

Application Number Title Priority Date Filing Date
BR112021003300-9A BR112021003300B1 (pt) 2018-09-17 2019-09-17 Método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo
BR122022004561-8A BR122022004561B1 (pt) 2018-09-17 2019-09-17 Método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo
BR122022004567-7A BR122022004567B1 (pt) 2018-09-17 2019-09-17 Método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo

Family Applications After (2)

Application Number Title Priority Date Filing Date
BR122022004561-8A BR122022004561B1 (pt) 2018-09-17 2019-09-17 Método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo
BR122022004567-7A BR122022004567B1 (pt) 2018-09-17 2019-09-17 Método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo

Country Status (8)

Country Link
US (3) US11259044B2 (pt)
EP (1) EP3855738A4 (pt)
KR (2) KR20210106019A (pt)
CN (1) CN112889278B (pt)
BR (3) BR112021003300B1 (pt)
IL (2) IL280611B1 (pt)
MX (1) MX2021003135A (pt)
WO (1) WO2020060158A1 (pt)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180043151A (ko) * 2016-10-19 2018-04-27 에스케이텔레콤 주식회사 영상 부호화 또는 복호화를 위한 장치 및 방법
WO2020084475A1 (en) 2018-10-22 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Utilization of refined motion vector
CN117459722A (zh) 2018-11-12 2024-01-26 北京字节跳动网络技术有限公司 组合帧间-帧内预测的简化
EP3861742A4 (en) * 2018-11-20 2022-04-13 Beijing Bytedance Network Technology Co., Ltd. DIFFERENCE CALCULATION BASED ON SPATIAL POSITION
EP3893508A4 (en) * 2018-12-07 2022-09-14 Sharp Kabushiki Kaisha MOBILE IMAGE DECODING DEVICE
JP6933235B2 (ja) * 2018-12-13 2021-09-08 株式会社Jvcケンウッド 画像復号装置、画像復号方法、及び画像復号プログラム
MX2021003506A (es) 2018-12-13 2021-05-27 Jvckenwood Corp Dispositivo de decodificacion de imagenes, metodo de decodificacion de imagenes y programa de decodificacion de imagenes.
WO2020177755A1 (en) 2019-03-06 2020-09-10 Beijing Bytedance Network Technology Co., Ltd. Usage of converted uni-prediction candidate
JP6897885B2 (ja) * 2019-03-08 2021-07-07 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
WO2023055199A1 (ko) * 2021-09-30 2023-04-06 한국전자통신연구원 영상 부호화/복호화를 위한 방법, 장치 및 기록 매체
WO2023132614A1 (ko) * 2022-01-04 2023-07-13 현대자동차주식회사 머지 모드를 개선하는 비디오 부호화/복호화 방법 및 장치
WO2023222016A1 (en) * 2022-05-17 2023-11-23 Mediatek Inc. Method and apparatus for complexity reduction of video coding using merge with mvd mode
CN115086678B (zh) * 2022-08-22 2022-12-27 北京达佳互联信息技术有限公司 视频编码方法和装置、视频解码方法和装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
HRP20230425T1 (hr) * 2011-03-21 2023-07-07 Lg Electronics, Inc. Odabir prediktora vektora kretanja
TW201626802A (zh) * 2011-09-28 2016-07-16 Jvc Kenwood Corp 動態影像編碼裝置、動態影像編碼方法、動態影像編碼程式、送訊裝置、送訊方法及送訊程式、以及動態影像解碼裝置、動態影像解碼方法、動態影像解碼程式、收訊裝置、收訊方法及收訊程式
CN107580223B (zh) 2011-11-08 2020-12-08 株式会社Kt 利用解码装置对视频信号进行解码的方法
CN108055544B (zh) * 2012-07-16 2020-09-08 三星电子株式会社 Sao编码方法和设备以及sao解码方法和设备
KR102226893B1 (ko) * 2012-09-28 2021-03-11 엘지전자 주식회사 영상 복호화 방법 및 이를 이용하는 장치
JP5942818B2 (ja) * 2012-11-28 2016-06-29 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム
US9350970B2 (en) * 2012-12-14 2016-05-24 Qualcomm Incorporated Disparity vector derivation
WO2014107853A1 (en) * 2013-01-09 2014-07-17 Mediatek Singapore Pte. Ltd. Methods for disparity vector derivation
US10531116B2 (en) 2014-01-09 2020-01-07 Qualcomm Incorporated Adaptive motion vector resolution signaling for video coding
CN107113440B (zh) 2014-10-31 2020-10-13 三星电子株式会社 一种由视频解码装置执行的视频解码方法
KR101782154B1 (ko) * 2015-06-05 2017-09-26 인텔렉추얼디스커버리 주식회사 움직임 벡터 차분치를 이용하는 영상 부호화 및 복호화 방법과 영상 복호화 장치
US20180176596A1 (en) 2015-06-05 2018-06-21 Intellectual Discovery Co., Ltd. Image encoding and decoding method and image decoding device
JP7290713B2 (ja) * 2018-08-28 2023-06-13 鴻穎創新有限公司 ビデオデータをコーディングする装置及び方法

Also Published As

Publication number Publication date
WO2020060158A1 (ko) 2020-03-26
US11956468B2 (en) 2024-04-09
KR20210106019A (ko) 2021-08-27
CN112889278B (zh) 2024-04-05
KR102292620B1 (ko) 2021-08-24
US20210329292A1 (en) 2021-10-21
BR122022004561B1 (pt) 2024-02-06
US11259044B2 (en) 2022-02-22
BR112021003300B1 (pt) 2024-02-06
IL280611A (en) 2021-03-25
US20220141484A1 (en) 2022-05-05
KR20200134324A (ko) 2020-12-01
IL311160A (en) 2024-04-01
MX2021003135A (es) 2021-05-14
IL280611B1 (en) 2024-04-01
US20240073446A1 (en) 2024-02-29
EP3855738A1 (en) 2021-07-28
CN112889278A (zh) 2021-06-01
EP3855738A4 (en) 2022-07-20
BR122022004567B1 (pt) 2024-02-06

Similar Documents

Publication Publication Date Title
BR112021003300A2 (pt) método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo
EP3866470A1 (en) Method for encoding and decoding video by using motion vector differential value, and apparatus for encoding and decoding motion information
AU2018332398B2 (en) Method for encoding and decoding motion information and device for encoding and decoding motion information
KR102591095B1 (ko) 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
BR112021012744A2 (pt) Método de decodificação de vídeo, aparelho de decodificação de vídeo, e método de codificação de vídeo
EP3657797A2 (en) Method for encoding and decoding motion information, and apparatus for encoding and decoding motion information
BR112021011807A2 (pt) Método de decodificação de imagem realizado por um aparelho de decodificação de imagem, meio legível por computador, aparelho de decodificação de imagem, e método de codificação de imagem realizado por um aparelho de codificação de imagem
BR112020004381A2 (pt) método de decodificação de vídeo, aparelho de decodificação de vídeo, método de codificação de vídeo, e aparelho de codificação de vídeo
KR20210012038A (ko) 타일 및 타일 그룹을 이용하는 비디오 부호화 및 복호화 방법, 타일 및 타일 그룹을 이용하는 비디오 부호화 및 복호화 장치
EP4054192A1 (en) Video decoding method and apparatus, and video encoding method and apparatus for performing inter prediction according to affine model
KR102220230B1 (ko) 주변 움직임 정보를 이용하여 움직임 정보를 부호화 및 복호화하는 장치, 및 방법
KR20210022762A (ko) 타일 및 슬라이스를 이용하는 비디오 부호화 방법 및 복호화 방법, 및 타일 및 슬라이스를 이용하는 비디오 부호화 장치 및 복호화 장치
CN112703731A (zh) 基于子块对图像进行编码的方法和装置以及对图像进行解码的方法和装置
EP4135327A1 (en) Device and method for encoding motion vector, and device and method for decoding motion vector
KR20210021513A (ko) 부호화 순서를 고려하여 어파인 모델 기반의 예측을 수행하는 비디오 부호화 방법 및 그 장치, 복호화 순서를 고려하여 어파인 모델 기반의 예측을 수행하는 비디오 복호화 방법 및 그 장치
EP4044597A1 (en) Image decoding device using tool set and image decoding method thereby, and image encoding device and image encoding method thereby
KR102672759B1 (ko) 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
KR20210042809A (ko) 툴 세트를 이용하는 영상 복호화 장치 및 이에 의한 영상 복호화 방법, 및 영상 부호화 장치 및 이에 의한 영상 부호화 방법

Legal Events

Date Code Title Description
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H04N 19/109 , H04N 19/503 , H04N 19/176 , H04N 19/13 , H04N 19/70

Ipc: H04N 19/109 (2014.01), H04N 19/463 (2014.01)

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

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 17/09/2019, OBSERVADAS AS CONDICOES LEGAIS