BR112020001881A2 - método para decodificar informações de movimento, e método para codificar informações de movimento - Google Patents

método para decodificar informações de movimento, e método para codificar informações de movimento Download PDF

Info

Publication number
BR112020001881A2
BR112020001881A2 BR112020001881-3A BR112020001881A BR112020001881A2 BR 112020001881 A2 BR112020001881 A2 BR 112020001881A2 BR 112020001881 A BR112020001881 A BR 112020001881A BR 112020001881 A2 BR112020001881 A2 BR 112020001881A2
Authority
BR
Brazil
Prior art keywords
motion vector
primary differential
current block
encoding
information
Prior art date
Application number
BR112020001881-3A
Other languages
English (en)
Other versions
BR112020001881B1 (pt
Inventor
Seung-soo JEONG
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 BR122022003214-1A priority Critical patent/BR122022003214B1/pt
Priority to BR122022003217-6A priority patent/BR122022003217B1/pt
Publication of BR112020001881A2 publication Critical patent/BR112020001881A2/pt
Publication of BR112020001881B1 publication Critical patent/BR112020001881B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • 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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence 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

Um método para decodificar informações de movimento de acordo com uma modalidade inclui: determinar um vetor de movimento base de um bloco atual; determinar um vetor de movimento diferencial primário para o bloco atual com base em informações obtidas de um fluxo de bits dentre um ou mais candidatos a vetores de movimento diferencial primário classificados de acordo com uma distância e direção de disparidade; e determinar um vetor de movimento do bloco atual aplicando o vetor de movimento diferencial primário ao vetor de movimento base.

Description

MÉTODO PARA DECODIFICAR INFORMAÇÕES DE MOVIMENTO, E MÉTODO PARA CODIFICAR INFORMAÇÕES DE MOVIMENTO CAMPO TÉCNICO
[0001] A presente divulgação refere-se ao campo de codificação e decodificação de imagem. Mais particularmente, a presente divulgação refere-se a um método e aparelho para codificar informações de movimento usadas para codificação e decodificação de imagem, e um método e aparelho para decodificar informações de movimento usadas para codificação e decodificação de imagem.
FUNDAMENTOS DA TÉCNICA
[0002] Em um método de codificação e decodificação de uma imagem, a fim de codificar uma imagem, uma imagem pode ser dividida em blocos e cada um dos blocos pode ser codificado por predição usando predição inter ou predição intra.
[0003] A predição inter refere-se a um método de comprimir uma imagem removendo a redundância temporal entre as imagens, e um exemplo representativo da mesma é a codificação de estimativa de movimento. Na codificação de estimativa de movimento, os blocos de um quadro atual são preditos usando pelo menos um quadro de referência. Um bloco de referência que é mais semelhante a um bloco atual pode ser encontrado dentro de um intervalo de pesquisa predeterminado usando uma função de avaliação predeterminada. Um bloco atual é predito com base em um bloco de referência e um bloco residual, que é gerado subtraindo do bloco atual um bloco de predição gerado como resultado da predição, é codificado. Nesse caso, para realizar uma predição com mais precisão, a interpolação é realizada em um intervalo de pesquisa do quadro de referência, pixels de sub-pel-unidade menores que pixels de inteiro-pel-unidade podem ser gerados, e a predição inter pode ser realizada nos pixels de sub-pel-unidade gerados.
[0004] Em um codec como codificação de vídeo avançada H.264 (AVC) e codificação de vídeo de alta eficiência (HEVC), para predizer um vetor de movimento de um bloco atual, um vetor de movimento de blocos codificados anteriormente adjacentes ao(s) bloco(s) atual (is) em um quadro codificado anteriormente é usado como um vetor de movimento de predição do bloco atual. Um vetor de movimento diferencial, que é uma diferença entre o vetor de movimento de predição e o vetor de movimento do bloco atual, é sinalizado para um decodificador usando um método predeterminado.
DESCRIÇÃO DE MODALIDADES PROBLEMA TÉCNICO
[0005] De acordo com uma modalidade, é fornecido um método de codificação e decodificação de informações de movimento e um aparelho para codificar e decodificar informações de movimento que podem representar informações de movimento usando um pequeno número de bits.
[0006] Além disso, de acordo com uma modalidade, é fornecido um método de codificação e decodificação de informações de movimento e um aparelho para codificar e decodificar informações de movimento que podem representar um vetor de movimento diferencial usando um pequeno número de bits.
SOLUÇÃO PARA O PROBLEMA
[0007] Um método para decodificar informações de movimento de acordo com uma modalidade da presente divulgação inclui: determinar um vetor de movimento base de um bloco atual; determinar um vetor de movimento diferencial primário para o bloco atual com base em informações obtidas de um fluxo de bits dentre um ou mais candidatos a vetores de movimento diferencial primário classificados de acordo com uma distância e direção de disparidade; e determinar um vetor de movimento do bloco atual aplicando o vetor de movimento diferencial primário ao vetor de movimento base.
[0008] Em uma modalidade, a determinação do vetor de movimento do bloco atual pode incluir: obter, a partir do fluxo de bits, informações indicando um vetor de movimento diferencial secundário relacionado ao bloco atual; e determinar o vetor de movimento do bloco atual aplicando o vetor de movimento diferencial secundário determinado com base nas informações que indicam o vetor de movimento diferencial secundário no vetor de movimento base alterado pela aplicação do vetor de movimento diferencial primário.
EFEITOS VANTAGENS DE DIVULGAÇÃO
[0009] Um método de codificação e decodificação de informações de movimento e um aparelho para codificar e decodificar informações de movimento de acordo com uma modalidade podem representar informações de movimento usando um pequeno número de bits.
[00010] Além disso, um método de codificação e decodificação de informações de movimento e um aparelho para codificar e decodificar informações de movimento de acordo com uma modalidade podem representar um vetor de movimento diferencial usando um pequeno número de bits.
[00011] No entanto, os efeitos técnicos alcançáveis por um método de codificação e decodificação de informações de movimento e um aparelho para codificar e decodificar informações de movimento de acordo com uma modalidade não se limitam a eles, e outros efeitos técnicos não mencionados serão evidentes para um versado na técnica a partir da descrição a seguir.
BREVE DESCRIÇÃO DOS DESENHOS
[00012] É fornecida uma breve explicação de cada desenho para entender melhor os desenhos anexos.
[00013] A FIG. 1 é um diagrama de blocos de um aparelho de decodificação de imagem de acordo com uma modalidade.
[00014] A FIG. 2 é um diagrama de blocos de um aparelho de codificação de imagem de acordo com uma modalidade.
[00015] A FIG. 3 ilustra um processo, realizado pelo aparelho de decodificação de imagem, de determinar pelo menos uma unidade de codificação dividindo uma unidade de codificação atual, de acordo com uma modalidade.
[00016] A FIG. 4 ilustra um processo, realizado pelo aparelho de decodificação de imagem, de determinar pelo menos uma unidade de codificação dividindo uma unidade de codificação não quadrada, de acordo com uma modalidade.
[00017] A FIG. 5 ilustra um processo, realizado pelo aparelho de decodificação de imagem, de dividir uma unidade de codificação com base em pelo menos uma informação de forma de bloco e informações de modo de forma dividida, de acordo com uma modalidade.
[00018] A FIG. 6 ilustra um método, realizado pelo aparelho de decodificação de imagem, de determinar uma unidade de codificação predeterminada dentre um número ímpar de unidades de codificação, de acordo com uma modalidade.
[00019] A FIG. 7 ilustra uma ordem de processamento de uma pluralidade de unidades de codificação quando o aparelho de decodificação de imagem 100 determina a pluralidade de unidades de codificação dividindo uma unidade de codificação atual, de acordo com uma modalidade.
[00020] A FIG. 8 ilustra um processo, realizado pelo aparelho de decodificação de imagem, de 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 ordem predeterminada, de acordo com uma modalidade.
[00021] A FIG. 9 ilustra um processo, realizado pelo aparelho de decodificação de imagem, de determinar pelo menos uma unidade de codificação dividindo uma primeira unidade de codificação, de acordo com uma modalidade.
[00022] A FIG. 10 ilustra que uma forma na qual uma segunda unidade de codificação é divisível pelo aparelho de decodificação de imagem é restrita quando uma segunda unidade de codificação com uma forma não quadrada, que é determinada pela divisão de uma primeira unidade de codificação, satisfaz uma condição predeterminada, de acordo com uma modalidade.
[00023] A FIG. 11 ilustra um processo, realizado pelo aparelho de decodificação de imagem, de dividir uma unidade de codificação quadrada quando as informações do modo de forma dividida indicam que a unidade de codificação quadrada não deve ser dividida em quatro unidades de codificação quadradas, de acordo com uma modalidade.
[00024] 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.
[00025] A FIG. 13 ilustra um processo de determinação de uma profundidade de uma unidade de codificação como uma forma e um tamanho da unidade de codificação alterada, quando a unidade de codificação é dividida recursivamente de tal modo que uma pluralidade de unidades de codificação é determinada, de acordo com uma modalidade.
[00026] A FIG. 14 ilustra profundidades que são determináveis com base em formas e tamanhos de unidades de codificação e índices de peça (PIDs) que são para distinguir as unidades de codificação,
de acordo com uma modalidade.
[00027] A FIG. 15 ilustra que uma pluralidade de unidades de codificação é determinada com base em uma pluralidade de unidades de dados predeterminadas incluídas em um quadro, de acordo com uma modalidade.
[00028] A FIG. 16 ilustra um bloco de processamento que serve como uma unidade para determinar uma ordem de determinação das unidades de codificação de referência incluídas em um quadro, de acordo com uma modalidade.
[00029] A FIG. 17 ilustra unidades de codificação determináveis por quadro quando uma combinação de formas nas quais uma unidade de codificação é divisível é diferente por quadro, de acordo com uma modalidade.
[00030] A FIG. 18 ilustra várias formas de uma unidade de codificação determinável com base em informações de modo de forma dividida representáveis como um código binário, de acordo com uma modalidade.
[00031] A FIG. 19 ilustra outras formas de uma unidade de codificação determinável com base em informações de forma dividida representáveis como um código binário, de acordo com uma modalidade.
[00032] A FIG. 20 é um diagrama de blocos de um sistema de codificação e decodificação de imagem para realizar a filtragem de loop.
[00033] A FIG. 21 é um diagrama de blocos de um aparelho de decodificação de imagem de acordo com uma modalidade.
[00034] As FIGS. 22 a 25 ilustram cada candidato a vetor de movimento diferencial primário exibido em um plano de coordenadas.
[00035] A FIG. 26 é un diagrama para descrever um índice indicando candidatos a vetor de movimento diferencial primário, de acordo com uma modalidade.
[00036] A FIG. 27 é um diagrama para descrever informações de movimento usadas para predição bidirecional de um bloco.
[00037] A FIG. 28 é um diagrama que ilustra uma relação posicional entre um quadro atual e dois quadros de referência.
[00038] A FIG. 29 é um diagrama que ilustra os candidatos primários do vetor de movimento diferencial para um bloco atual que é predito bidirecionalmente.
[00039] A FIG. 30 é um diagrama que ilustra uma relação posicional entre uma imagem atual e duas imagens de referência.
[00040] A FIG. 31 é um diagrama que ilustra os candidatos primários do vetor de movimento diferencial para um bloco atual que é predito bidirecionalmente.
[00041] A FIG. 32 é um fluxograma para descrever um método de decodificação de imagem de acordo com uma modalidade.
[00042] A FIG. 33 é um diagrama de blocos de um aparelho de codificação de imagem de acordo com uma modalidade.
[00043] A FIG. 34 é um fluxograma para descrever um método de codificação de imagem de acordo com uma modalidade.
MELHOR MODO
[00044] Um método para decodificar informações de movimento de acordo com uma modalidade da presente divulgação inclui: determinar um vetor de movimento base de um bloco atual; determinar um vetor de movimento diferencial primário para o bloco atual com base em informações obtidas de um fluxo de bits dentre um ou mais candidatos a vetores de movimento diferencial primário classificados de acordo com uma distância e direção de disparidade; e determinar um vetor de movimento do bloco atual aplicando o vetor de movimento diferencial primário ao vetor de movimento base.
[00045] Em uma modalidade, a determinação do vetor de movimento do bloco atual pode incluir: obter, a partir do fluxo de bits,
informações indicando um vetor de movimento diferencial secundário relacionado ao bloco atual; e determinar o vetor de movimento do bloco atual aplicando o vetor de movimento diferencial secundário determinado com base nas informações que indicam o vetor de movimento diferencial secundário no vetor de movimento base alterado pela aplicação do vetor de movimento diferencial primário.
[00046] Em uma modalidade, o método pode incluir ainda obter, a partir do fluxo de bits, um índice indicando pelo menos uma distância de disparidade e a direção de disparidade do vetor de movimento diferencial primário, em que a determinação do vetor de movimento diferencial primário inclui determinar um candidato a vetor de movimento diferencial primário correspondente ao índice obtido dentre um ou mais candidatos a vetor de movimento diferencial primário como vetor de movimento diferencial primário para o bloco atual.
[00047] Em uma modalidade, o método pode ainda incluir determinar um candidato a vetor de movimento base dentre um ou mais candidatos a vetor de movimento base como o vetor de movimento base do bloco atual.
[00048] Em uma modalidade, a determinação do vetor de movimento do bloco atual pode incluir: quando o vetor de movimento base do bloco atual corresponde a um vetor de movimento bidirecional, uma direção de predição do bloco atual corresponde a uma direção bidirecional, e o vetor de movimento diferencial primário é determinado para uma primeira direção unidirecional, determinar o vetor de movimento diferencial primário para uma segunda direção unidirecional, com base no vetor de movimento diferencial primário para a primeira direção unidirecional; determinar o vetor de movimento da primeira direção unidirecional do bloco atual, aplicar o vetor de movimento diferencial primário para a primeira direção unidirecional ao vetor de movimento base da primeira direção unidirecional; e determinar o vetor de movimento para a segunda direção unidirecional do bloco atual, aplicar o vetor de movimento diferencial primário para a segunda direção unidirecional ao vetor de movimento base da segunda direção unidirecional.
[00049] Em uma modalidade, a determinação do vetor de movimento diferencial primário para a segunda direção unidirecional pode incluir determinar pelo menos um de um tamanho e um sinal de um valor componente do vetor de movimento diferencial primário para a segunda direção unidirecional, com base em um relação posicional entre um quadro de referência correspondente ao vetor de movimento base da primeira direção unidirecional, um quadro de referência correspondente ao vetor de movimento base da segunda direção unidirecional e um quadro atual incluindo o bloco atual.
[00050] Em uma modalidade, a determinação do vetor de movimento do bloco atual pode incluir: quando o vetor de movimento base do bloco atual corresponde a um vetor de movimento de uma primeira direção unidirecional e uma direção de predição do bloco atual corresponde a uma segunda direção unidirecional diferente da primeira direção unidirecional, determinar o vetor de movimento base da segunda direção unidirecional com base no vetor de movimento base da primeira direção unidirecional e determinar o vetor de movimento diferencial primário para a segunda direção unidirecional com base no vetor de movimento diferencial primário para a primeira direção unidirecional; e determinar o vetor de movimento do bloco atual aplicando o vetor de movimento diferencial primário para a segunda direção unidirecional ao vetor de movimento base da segunda direção unidirecional.
[00051] Em uma modalidade, a determinação do vetor de movimento do bloco atual pode incluir: quando o vetor de movimento base do bloco atual corresponde a um vetor de movimento de uma primeira direção unidirecional e uma direção de predição do bloco atual corresponde a uma direção bidirecional, determinar o vetor de movimento base de uma segunda direção unidirecional com base no vetor de movimento base da primeira direção unidirecional e determinar o vetor de movimento diferencial primário para a segunda direção unidirecional, com base no vetor de movimento diferencial primário para a primeira direção unidirecional; determinar o vetor de movimento da primeira direção unidirecional do bloco atual, aplicar o vetor de movimento diferencial primário para a primeira direção unidirecional ao vetor de movimento base da primeira direção unidirecional; e determinar o vetor de movimento da segunda direção unidirecional do bloco atual, aplicar o vetor de movimento diferencial primário para a segunda direção unidirecional ao vetor de movimento base da segunda direção unidirecional.
[00052] Em uma modalidade, o método pode ainda incluir decodificar por entropia pelo menos alguns dos índices indicando o vetor de movimento diferencial primário do fluxo de bits de acordo com um modelo de contexto.
[00053] Em uma modalidade, o método pode ainda incluir determinar um ou mais candidatos a vetor de movimento diferencial primário para cada um de um ou mais candidatos a vetor de movimento base, em que um candidato a vetor de movimento diferencial primário determinado para corresponder a um candidato a vetor de movimento base bidirecional de entre um oumais candidatos a vetor de movimento diferencial primário inclui um candidato a vetor de movimento diferencial primário de uma direção da lista O e um candidato a vetor de movimento diferencial primário de uma direção da lista 1 com valores do mesmo sinal ou sinais opostos.
[00054] Em uma modalidade, um tamanho de um valor de pelo menos um dos candidatos a vetor de movimento diferencial primário da direção da lista O e o candidato a vetor de movimento diferencial primário da direção da lista 1 pode ser aumentado em consideração à distância entre um primeiro quadro de referência correspondendo a um candidato a vetor de movimento base de uma primeira direção unidirecional, um quadro atual incluindo o bloco atual e um segundo quadro de referência correspondendo a um candidato a vetor de movimento base de uma segunda direção unidirecional.
[00055] Em uma modalidade, o método pode ainda incluir: quando o bloco atual corresponde a um primeiro bloco filho dividido a partir de um bloco pai, determinar o vetor de movimento do bloco atual como um vetor de movimento base de um segundo bloco filho; e determinar um vetor de movimento do segundo bloco filho aplicando um vetor de movimento diferencial primário determinado para o segundo bloco filho ao vetor de movimento base do segundo bloco filho.
[00056] Em uma modalidade, o método pode ainda incluir, quando o bloco atual corresponde a um primeiro bloco filho dividido a partir de um bloco pai, aplicar, a um segundo bloco filho, pelo menos uma dentre informações indicando o vetor de movimento base obtido em relação ao bloco atual, informações indicando a distância da disparidade e informações indicando a direção da disparidade.
[00057] Em uma modalidade, o método pode incluir ainda obter informações indicando pelo menos um dentre se um modo de codificação predeterminado é aplicado ao bloco atual, o vetor de movimento base para o bloco atual, o vetor de movimento diferencial primário para o bloco atual, uma prioridade entre distâncias de disparidade e uma prioridade entre as direções de disparidade, pelo menos em um nível de unidade de transformação, nível de unidade de codificação, maior nível de unidade de codificação, nível de fatia e nível de quadro.
[00058] Um método para codificar informações de movimento de acordo com uma modalidade da presente divulgação inclui:
[00059] determinar um vetor de movimento base de um bloco atual; determinar um vetor de movimento diferencial primário para o bloco atual dentre um ou mais candidatos a vetor de movimento diferencial primário classificados de acordo com uma distância de disparidade e uma direção de disparidade, com base na diferença entre um vetor de movimento do bloco atual e o vetor de movimento base; e gerar um fluxo de bits incluindo pelo menos uma informação indicando o vetor de movimento base e informações indicando o vetor de movimento diferencial primário.
MODO DE DIVULGAÇÃO
[00060] Como a presente divulgação permite várias alterações e inúmeras modalidades, modalidades exemplificativas serão ilustradas nos desenhos e descritas em detalhes na descrição escrita. No entanto, isso não se destina a limitar a presente divulgação a modos particulares de prática, e deve ser apreciado que todas as alterações, equivalentes e substituições que não se afastam do espírito e do escopo técnico da presente divulgação estão incluídos na presente divulgação.
[00061] Na descrição da presente divulgação, certas 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. Além disso, os números (por exemplo, primeiro e segundo) usados na descrição das modalidades da divulgação têm como objetivo meramente distinguir um componente do outro.
[00062] Quando um componente é referido como "conectado" ou "acessado" a ou por qualquer outro componente, deve-se entender que o componente pode ser diretamente conectado ou acessado a ou pelo outro componente, mas outro novo componente também pode ser interposto entre eles, salvo indicação em contrário.
[00063] Em relação a um elemento com um sufixo, como 'unidade"' ou '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 as funções. Além disso, cada um dos respectivos componentes a serem descritos abaixo pode executar adicionalmente algumas ou todas as funções entre as funções que outros componentes se encarregam, além de uma função principal da qual cada componente se encarrega e algumas funções entre as funções principais que os respectivos componentes se encarregan podem ser realizadas exclusivamente por outros componentes.
[00064] Além disso, o termo 'imagem' ou quadro' aqui utilizado pode se referir a uma imagem estática de um vídeo ou uma imagem em movimento, isto é, um vídeo em si.
[00065] Além disso, o termo 'amostra' aqui utilizado refere-se a dados que são atribuídos a uma localização de amostragem de uma imagem e devem ser processados. Por exemplo, pixels em uma imagem de um domínio espacial ou coeficientes de transformação em um domínio de transformação podem ser amostras. Uma unidade incluindo uma ou mais amostras pode ser definida como um bloco.
[00066] Além disso, o termo 'bloco atual' aqui utilizado pode se referir a um bloco de uma unidade de codificação maior, uma unidade de codificação, uma unidade de predição ou uma unidade de transformação de uma imagem atual a ser codificada ou decodificada.
[00067] Além disso, no presente relatório descritivo, quando um vetor de movimento está na direção da lista O, pode significar que o vetor de movimento é um vetor de movimento usado para indicar um bloco em um quadro de referência incluída na lista O e quando um vetor de movimento está em uma direção da lista 1, pode significar que o vetor de movimento é um vetor de movimento usado para indicar um bloco em um quadro de referência incluída em uma lista 1. Além disso, quando um vetor de movimento é unidirecional, pode significar que o vetor de movimento é um vetor de movimento usado para indicar um bloco em um quadro de referência incluída na lista O ou na lista 1 e quando um vetor de movimento é bidirecional, isso pode significar que o vetor de movimento inclui um vetor de movimento na direção da lista 0 e um vetor de movimento na direção da lista 1.
[00068] Um método e aparelho de codificação de imagem e um método e aparelho de decodificação de imagem baseados em unidades de transformação e unidades de codificação tendo uma estrutura em árvore de acordo com uma modalidade serão descritos com referência às FIGS. 1 a 20. Un aparelho de codificação de imagem 200 e um aparelho de decodificação de imagem 100 a ser descrito com referência às FIGS. 1 a 20 podem incluir, respectivamente, um aparelho de codificação de imagem 3300 e um aparelho de decodificação de imagem 2100 a ser descrito com referência às FIGS. 21 a 34.
[00069] A FIG. 1 é um diagrama de blocos de um aparelho de decodificação de imagem 100 de acordo com uma modalidade.
[00070] O aparelho de decodificação de imagem 100 pode incluir um obtenedor de fluxo de bits 110 e um decodificador 120. O obtenedor de fluxo de bits 110 e o decodificador 120 podem incluir pelo menos um processador. Além disso, o obtenedor de fluxo de bits 110 e o decodificador 120 podem incluir uma memória na qual as instruções a serem executadas por pelo menos um processador são armazenadas.
[00071] O obtenedor de fluxo de bits 110 pode receber um fluxo de bits. O fluxo de bits inclui informações obtidas quando o aparelho de codificação de imagem 200 codifica uma imagem como descrito abaixo. Além disso, o fluxo de bits pode ser transmitido a partir do aparelho de codificação de imagem 200. O aparelho de codificação de imagem 200 e o aparelho de decodificação de imagem 100 podem ser conectados um ao outro por fio ou sem fio, e o obtenedor de fluxo de bits 110 pode receber o fluxo de bit por fio ou sem fio. O obtenedor de fluxo de bits 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ções obtidas a partir do fluxo de bits recebido. O decodificador 120 pode obter um elemento de sintaxe para reconstruir a imagem a partir do fluxo de bits. O decodificador 120 pode reconstruir a imagem com base no elemento de sintaxe.
[00072] As operações do aparelho de decodificação de imagem 100 serão descritas em detalhes. O obtenedor de fluxo de bits 110 pode receber um fluxo de bits.
[00073] O aparelho de decodificação de imagem 100 pode executar uma operação de obter uma cadeia de bins correspondente a um modo de forma dividida de uma unidade de codificação a partir do fluxo de bits. O aparelho de decodificação de imagem 100 pode executar uma operação de determinação de uma regra de divisão da unidade de codificação. Além disso, o aparelho de decodificação de imagem 100 pode executar uma operação de divisão da unidade de codificação em uma pluralidade de unidades de codificação, com base em pelo menos uma das cadeias de bins correspondentes ao modo de forma dividida e à regra de divisão. O aparelho de decodificação de imagem 100 pode determinar uma primeira faixa permitida de um tamanho da unidade de codificação, de acordo com uma razão entre uma largura e uma altura da unidade de codificação, a fim de determinar a regra de divisão. O aparelho de decodificação de imagem 100 pode determinar uma segunda faixa permitida de um tamanho da unidade de codificação, de acordo com o modo de forma dividida da unidade de codificação, a fim de determinar a regra de divisão.
[00074] A divisão de uma unidade de codificação de acordo com uma modalidade da presente divulgação será descrita em detalhes.
[00075] Primeiro, um quadro pode ser dividido em uma ou mais fatias. Uma fatia pode ser uma sequência das unidades de codificação maiores (unidades de árvore de codificação (CTUs)). Existe um bloco de codificação maior (CTB) conceitualmente comparado a uma unidade de codificação maior (CTU).
[00076] Um bloco de codificação maior (CTB) refere-se a 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.
[00077] Quando um quadro possui três matrizes de amostra (matrizes 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 de croma e estruturas de sintaxe usadas para codificar a amostra de lama e as amostras de croma. Quando um quadro é um quadro monocromático, a maior unidade de codificação inclui o maior bloco de codificação de uma amostra monocromática e estruturas de sintaxe usadas para codificar as amostras monocromáticas. Quando um quadro é um quadro com planos de cores separados de acordo com os componentes de cores, uma unidade de codificação maior inclui estruturas de sintaxe usadas para codificar o quadro e amostras do quadro.
[00078] Um bloco de codificação maior (CTB) pode ser dividido em blocos de codificação MxN, incluindo amostras MxN (Me N são números inteiros).
[00079] Quando um quadro possui matrizes 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 de croma e estruturas de sintaxe usadas para codificar a amostra de luma e as amostras de croma. Quando um quadro é um quadro monocromático, 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 um quadro é um quadro com planos de cores separados de acordo com os componentes de cores, uma unidade de codificação inclui estruturas de sintaxe usadas para codificar o quadro e amostras do quadro.
[00080] 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 (maior) unidade de codificação refere-se a uma estrutura de dados que inclui um (maior) bloco de codificação incluindo uma amostra correspondente e uma estrutura de sintaxe correspondente ao (maior) bloco de codificação. No entanto, porque é entendido por um versado na técnica que uma (maior) unidade de codificação ou um (maior) bloco de codificação refere-se a um bloco de tamanho predeterminado, incluindo um número predeterminado 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 na especificação a seguir sem serem distinguidos, a menos que descrito de outra forma.
[00081] 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 nas informações obtidas de um fluxo de bits. Uma forma de cada unidade de codificação maior pode ser uma forma quadrada do mesmo tamanho. No entanto, a presente divulgação não está limitada à mesma.
[00082] Por exemplo, informações sobre um tamanho máximo de um bloco de codificação de luma podem ser obtidas de um fluxo de bits. Por exemplo, o tamanho máximo do bloco de codificação de luma indicado pelas informações sobre o tamanho máximo do bloco de codificação de luma pode ser de 4x4, 8x8, l6xl6, 32x32, 64x64, 128x128 e 256x256.
[00083] Por exemplo, informações sobre uma diferença de tamanho de bloco lde uma e um tamanho máximo de um bloco de codificação de luma que pode ser dividido em dois podem ser obtidas a partir de um fluxo de bits. As informações sobre a diferença de tamanho do bloco de luma podem se referir a uma diferença de tamanho entre a maior unidade de codificação de luma e omaior bloco de codificação de luma que pode ser dividido em dois. Por conseguinte, quando as informações sobre o tamanho máximo do bloco de codificação de luma que podem ser divididas em duas e as informações sobre a diferença de tamanho do bloco de luma obtidas no fluxo de bits são combinadas entre si, um tamanho da maior unidade de codificação de luma pode ser determinado. Um tamanho de uma unidade de codificação maior de croma pode ser determinado usando o tamanho da maior unidade de codificação de luma. Por exemplo, quando um Y:Cb; razão de Cr é 4:2:0, de acordo com um formato de cor, um tamanho de um bloco de croma pode ter metade do tamanho de um bloco de luma e um tamanho de uma unidade de codificação maior de croma pode ter a metade do tamanho de uma unidade de codificação maior de luma.
[00084] De acordo com uma modalidade, porque as informações sobre um tamanho máximo de um bloco de codificação de luma que é divisível binário são obtidas a partir de um fluxo de bits, o tamanho máximo do bloco de codificação de luma que é divisível binário pode ser determinado de forma variável. Por outro lado, um tamanho máximo de um bloco de codificação de luma que é divisível ternário pode ser fixo. Por exemplo, o tamanho máximo do bloco de codificação de luma que é divisível ternário em uma fatia I pode ser 32x32, e o tamanho máximo do bloco de codificação de luma que é divisível ternário em uma fatia P ou uma fatia B pode ser 64x64 .
[00085] Além disso, uma unidade de codificação maior pode ser hierarquicamente dividida em unidades de codificação com base nas informações do modo de forma dividida obtidas de um fluxo de bits. Pelo menos uma das informações indicando se a divisão quádrupla é realizada, as informações indicando se a divisão múltipla é realizada, as informações de direção de divisão e as informações de tipo de divisão podem ser obtidas como informações do modo de forma divida do fluxo de bits.
[00086] 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.
[00087] 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.
[00088] 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.
[00089] Quando a unidade de codificação atual é dividida na direção horizontal ou vertical, as informações do tipo de divisão indicam que a unidade de codificação atual é uma divisão binária ou uma divisão ternária.
[00090] Um modo de divisão da unidade de codificação atual pode ser determinado de acordo com as informações de direção de divisão e as informações 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ário (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ário (SPLIT TT VER).
[00091] O aparelho de decodificação de imagem 100 pode obter informações sobre o modo de forma divida a partir de um fluxo de bits de uma cadeia de bins. O fluxo de bits recebido pelo aparelho de decodificação de imagem 100 pode incluir um código binário de comprimento fixo, um código unário, um código unário truncado, um código binário predeterminado, etc. A cadeia de bins é uma sequência binária de informações. A cadeia de bins pode incluir pelo menos um bit. O aparelho de decodificação de imagem 100 pode obter as informações do modo de forma divida correspondentes à coluna de compartimento com base em uma regra de divisão. O aparelho de decodificação de imagem 100 pode determinar se deve ou não dividir em quádruplo uma unidade de codificação, uma direção de divisão e um tipo de divisão, com base em uma cadeia de bins.
[00092] Uma unidade de codificação pode ser igual ou menor que uma unidade de codificação maior. Por exemplo, porque uma unidade de codificação maior é uma unidade de codificação com um tamanho máximo, a maior unidade de codificação é uma das unidades de codificação. Quando as informações do modo de forma divida sobre uma unidade de codificação maior indicam 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 as informações do código de forma divida sobre uma unidade de codificação maior indicam que a divisão é realizada, a maior unidade de codificação pode ser dividida em unidades de codificação. Além disso, quando as informações do modo de forma dividida sobre uma unidade de codificação indicam que a divisão é realizada, a unidade de codificação pode ser dividida em unidades de codificação menores. No entanto, a divisão de uma imagem não se limita a ela, e uma unidade de codificação maior e uma unidade de codificação podem não ser diferenciadas uma da outra. A divisão de uma unidade de codificação será descrita em mais detalhes com referência às FIGS. 3 a 16.
[00093] Além disso, um ou mais blocos de predição para predição podem ser determinados a partir de uma unidade de codificação. Um bloco de predição pode ser igual ou menor que uma unidade de codificação. Além disso, um ou mais blocos de transformação para transformação podem ser determinados a partir de uma unidade de codificação. Um bloco de transformação pode ser igual ou menor que uma unidade de codificação.
[00094] Formas e tamanhos de um bloco de transformação e um bloco de predição podem não estar relacionados um ao outro.
[00095] Em outra modalidade, a predição pode ser realizada usando uma unidade de codificação como uma unidade de predição. Além disso, a transformação pode ser realizada usando uma unidade de codificação como um bloco de transformação.
[00096] A divisão de uma unidade de codificação será descrita em mais detalhes com referência às FIGS. 3 a 16. Cada um de um bloco atual e um bloco vizinho da presente divulgação pode indicar uma de uma unidade de codificação maior, uma unidade de codificação, um bloco de predição e um bloco de transformação. Além disso, um bloco atual ou uma unidade de codificação atual é um bloco no qual a decodificação ou codificação é atualmente executada ou um bloco no qual a divisão é atualmente executada. Um bloco vizinho pode ser reconstruído antes de um bloco atual. Um bloco vizinho pode ser espacial ou temporalmente adjacente a um bloco atual. Um bloco vizinho pode estar localizado em um de um lado inferior esquerdo, um lado esquerdo, um lado superior esquerdo, um lado superior, um lado superior direito, um lado direito e um lado inferior direito de um bloco atual.
[00097] A FIG. 3 ilustra um processo, realizado pelo aparelho de decodificação de imagem 100, de determinar pelo menos uma unidade de codificação dividindo uma unidade de codificação atual, de acordo com uma modalidade.
[00098] Uma forma de bloco pode incluir 4NxX4N, A4NX2N, 2Nx4N, 4NXN, NxX4N, 32NxN, Nx32N, 16NxN, Nx16N, 8NxN ou NxX8N. N pode ser um número inteiro positivo. Informações sobre a forma do bloco são informações que indicam pelo menos uma dentre uma forma, uma direção, uma razão entre uma largura e uma altura e um tamanho de uma unidade de codificação.
[00099] A forma da unidade de codificação pode incluir uma forma quadrada e uma forma não quadrada. Quando a largura e a altura da unidade de codificação são as mesmas (ou seja, quando a forma do bloco da unidade de codificação é 4NxX4N), O aparelho de decodificação de imagem 100 pode determinar as informações de forma do bloco da unidade de codificação como uma forma quadrada. O aparelho de decodificação de imagem 100 pode determinar a forma da unidade de codificação como uma forma não quadrada.
[000100] 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 é 4NxX2N, 2NxX4N, 4NxN, NxX4N, 32NxN, Nx32N, 16NxXxN,
Nx16N, 8NxN ou Nx8N), o aparelho de decodificação de imagem 100 pode determinar a informação da forma do bloco da unidade de codificação como uma forma não quadrada. Quando a forma da unidade de codificação é uma forma não quadrada, o aparelho de decodificação de imagem 100 pode determinar a razão da largura e a altura nas informações de forma de bloco da unidade de codificação como pelo menos uma dentre 1:2, 2:1, 1:4, 4:1, 1:8, 8:1, 1:16, 16:1, 1:32 e 32:1. Além disso, o aparelho de decodificação de imagem 100 pode determinar se a unidade de codificação está na direção horizontal ou vertical, com base em um comprimento da largura e um comprimento da altura da unidade de codificação. Além disso, o aparelho de decodificação de imagem 100 pode determinar o tamanho da unidade de codificação, com base em pelo menos um dentre o comprimento da largura, o comprimento da altura e uma área da unidade de codificação.
[000101] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar uma forma da unidade de codificação usando as informações de forma de bloco e pode determinar em qual forma a unidade de codificação é dividida usando informações de modo de forma dividida. Ou seja, um método de divisão da unidade de codificação indicado pela informação do modo de forma dividida pode ser determinado de acordo com a forma do bloco indicada pela informação da forma do bloco usada pelo aparelho de decodificação de imagem 100.
[000102] O aparelho de decodificação de imagem 100 pode determinar as informações do modo de forma dividida a partir de um fluxo de bits. No entanto, a presente divulgação não está limitada a isso, e o aparelho de decodificação de imagem 100 e o aparelho de codificação de imagem 200 podem determinar as informações do modo de forma dividida que são pré-prometidas com base nas informações de forma de bloco. O aparelho de decodificação de imagem 100 pode determinar as informações do modo de forma dividida que são pré-prometidas para uma unidade de codificação maior ou uma unidade de codificação menor. Por exemplo, o aparelho de decodificação de imagem 100 pode determinar que as informações pré-prometidas do modo de forma dividida da maior unidade de codificação indicam divisão quádrupla. Além disso, o aparelho de decodificação de imagem 100 pode determinar que as informações pré-prometidas do modo de forma dividida da menor unidade de codificação indicam "não executar a divisão". Por exemplo, o aparelho de decodificação de imagem 100 pode determinar um tamanho da maior unidade de codificação para 256x256. O aparelho de decodificação de imagem 100 pode determinar que as informações pré-prometidas do modo de forma dividida indicam divisão quádrupla. A divisão quádrupla é um modo de forma dividida em que a largura e a altura da unidade de codificação são divididas pela metade. O aparelho de decodificação de imagem 100 pode obter a unidade de codificação com um tamanho de 128x128 da maior unidade de codificação com um tamanho de 256x256 com base nas informações do modo de forma dividida. Além disso, o aparelho de decodificação de imagem 100 pode determinar um tamanho da menor unidade de codificação para ser 4x4. O aparelho de decodificação de imagem 100 pode obter as informações do modo de forma dividida indicando "não realizar divisão" para a menor unidade de codificação.
[000103] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode usar as informações de forma de bloco indicando que a unidade de codificação atual tem uma forma quadrada. Por exemplo, o aparelho de decodificação de imagem 100 pode determinar se não deve ser dividida uma unidade de codificação quadrada, se é dividida verticalmente a unidade de codificação quadrada, se é dividida horizontalmente a unidade de codificação quadrada ou se deve ser dividida a unidade de codificação quadrada em quatro unidades de codificação, com base nas informações do modo de forma dividida. Com referência à FIG. 3, quando s informações de forma de bloco de uma unidade de codificação atual 300 indica uma forma quadrada, 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 nas informações do modo de forma dividida indicando não realizar divisão ou pode determinar as unidades de codificação 310b, 310c, 310d, 310e e 310f divididas com base nas informações do modo de forma dividida, indicando um método de divisão predeterminado.
[000104] 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 verticalmente a unidade de codificação atual 300, com base nas informações do modo de forma dividida indicando a realização vertical da divisão. O aparelho de decodificação de imagem 100 pode determinar duas unidades de codificação 310c obtidas pela divisão horizontal da unidade de codificação atual 300, com base nas informações do modo de forma dividida indicando a realização horizontal da divisão. O aparelho de decodificação de imagem 100 pode determinar quatro unidades de codificação 310d obtidas dividindo vertical e horizontalmente a unidade de codificação atual 300, com base nas informações do modo de forma dividida indicando para executar a divisão vertical e horizontalmente. O aparelho de decodificação de imagem 100 pode determinar três unidades de codificação 310e obtidas dividindo verticalmente a unidade de codificação atual 300, com base nas informações do modo de forma dividida indicando para realizar verticalmente a divisão ternária de acordo com uma modalidade. O aparelho de decodificação de imagem 100 pode determinar três unidades de codificação 310f obtidas pela divisão horizontal da unidade de codificação atual 300, com base nas informações do modo de forma dividida indicando a realização horizontal da divisão ternária. No entanto, os métodos de divisão da unidade de codificação quadrada não se limitam aos métodos descritos acima, e as informações do modo de forma dividida podem incluir vários métodos. Métodos de divisão predeterminados de divisão da unidade de codificação quadrada serão descritos em detalhes abaixo através de várias modalidades.
[000105] AFIG.4 ilustra um processo, realizado pelo aparelho de decodificação de imagem 100, de determinar pelo menos uma unidade de codificação dividindo uma unidade de codificação não quadrada, de acordo com uma modalidade.
[000106] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode usar informações de forma de bloco indicando que uma unidade de codificação atual tem uma forma não quadrada. O aparelho de decodificação de imagem 100 pode determinar, de acordo com as informações do modo de forma dividida, se não deve dividir a unidade de codificação de corrente não quadrada ou se a unidade de codificação de corrente não quadrada é dividida usando uma informação de método predeterminada. Com referência à FIG. 4, quando a informação de forma de bloco de uma unidade de codificação atual 400 ou 450 indica uma forma não quadrada, o aparelho de decodificação de imagem 100 pode determinar uma unidade de codificação 410 ou 460 com o mesmo tamanho da unidade de codificação atual 400 ou 450 com base nas informações do modo de forma dividida 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 nas informações do modo de forma dividida indicando um método de divisão predeterminado. Métodos de divisão predeterminados de divisão de uma unidade de codificação não quadrada serão descritos em detalhes abaixo através de várias modalidades.
[000107] 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 as informações do modo de forma dividida e, neste caso, a informações do modo de forma dividida pode indicar o número de uma ou mais unidades de codificação geradas pela divisão a unidade de codificação. Com referência à FIG. 4, quando as informações do modo de forma dividida indicam 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 nas informações do modo de forma dividida.
[000108] 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 nas informações do modo de forma dividida, a localização de um lado longo da unidade de codificação atual não quadrada 400 ou 450 pode ser considerada. 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 à forma da unidade de codificação atual 400 ou 450.
[000109] De acordo com uma modalidade, quando as informações do modo de forma dividida indica para 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 as informações do modo de forma dividida indicam para 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.
[000110] De acordo com uma modalidade, uma razão entre uma largura e uma altura da unidade de codificação atual 400 ou 450 pode ser 4:1 ou 1:4. Quando a razão entre a largura e a altura é 4:1, um comprimento da largura é maior que o comprimento da altura e, portanto, as informações de forma do bloco podem ser horizontais. Quando a razão entre a largura e a altura é 1:4, um comprimento da largura é menor que o comprimento da altura e, portanto, as informações de forma do bloco podem ser verticais. O aparelho de decodificação de imagem 100 pode determinar a divisão da unidade de codificação atual em um número ímpar de blocos com base nas informações do modo de forma dividida. Além disso, 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 nas informações de forma de 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 dividir horizontalmente a unidade de codificação atual 400 e pode determinar as unidades de codificação 430a, 430b e 430c. Além disso, quando a unidade de codificação atual 450 está na direção horizontal, o aparelho de decodificação de imagem 100 pode dividir verticalmente a unidade de codificação atual 450 e pode determinar as unidades de codificação 480a, 480b e 480c.
[000111] De acordo com uma modalidade, 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,
e os tamanhos de todas as unidades de codificação determinadas podem não ser os mesmos. Por exemplo, uma unidade de codificação predeterminada 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 dos tamanhos 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.
[000112] De acordo com uma modalidade, quando as informações do modo de forma dividida indicam para dividir 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, e pode colocar uma restrição predeterminada em pelo menos uma unidade de codificação dentre 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 permitir que um método de decodificação da unidade de codificação 430b ou 480b seja diferente do das outras unidades de codificação 430a e 430c ou 480a e 480c, em que a unidade de codificação 430b ou 480b está em uma localização central dentre as três unidades de codificação 430a, 430b e 430c, ou 480a, 480b e 480c geradas pela divisão da unidade de codificação atual 400 ou 450. 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 número predeterminado de vezes, ao contrário das outras unidades de codificação 430a e 430c, ou 480a e 480c.
[000113] AFIG.5 ilustra um processo, realizado pelo aparelho de decodificação de imagem 100, de dividir uma unidade de codificação com base em pelo menos uma informação de forma de bloco e informações de modo de forma dividida, de acordo com uma modalidade.
[000114] 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 das informações de forma de bloco e informações de modo de forma dividida. De acordo com uma modalidade, quando as informações do modo de forma dividida indicam para 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 usada 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, a segunda unidade de codificação pode ser determinada dividindo a primeira unidade de codificação e a terceira unidade de codificação pode ser determinada dividindo a segunda unidade de codificação. Será entendido que uma relação entre a primeira unidade de codificação, a segunda unidade de codificação e a terceira unidade de codificação se aplica às seguintes descrições.
[000115] 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 nas informações do modo de forma dividida. 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 nas informações do modo de forma dividida. O aparelho de decodificação de imagem 100 pode obter as informações do modo de forma dividida e pode dividir uma pluralidade de segundas unidades de codificação de várias formas (por exemplo, 510) dividindo a primeira unidade de codificação 500, com base nas informações obtidas do modo de forma dividida 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 nas informações do modo de forma dividida. 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 forma dividida 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 nas informações do modo de forma dividida da segunda unidade de codificação 510. Ou seja, uma unidade de codificação pode ser dividida recursivamente com base nas informações do modo de forma dividida 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.
[000116] Com referência à FIG. 5, uma unidade de codificação predeterminada (por exemplo, uma unidade de codificação em uma localização central ou uma unidade de codificação quadrada) dentre um número ímpar de terceiras unidades de codificação 520b, 520c e 520d determinadas pela divisão da segunda unidade de codificação não quadrada 510 pode ser dividida recursivamente. De acordo com uma modalidade, a terceira unidade de codificação quadrada 520b 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 a pluralidade de quartas unidades de codificação 530a, 530b, 530c e 530d pode ser dividida novamente em uma pluralidade de unidades de codificação. Por exemplo, a quarta unidade de codificação não quadrada 530b ou 530d pode ser dividida novamente em um número ímpar de unidades de codificação, Um método que pode ser usado para dividir recursivamente uma unidade de codificação será descrito abaixo através de várias modalidades.
[000117] 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 nas informações do modo de forma dividida. Além disso, o aparelho de decodificação de imagem 100 pode determinar não dividir a segunda unidade de codificação 510 com base nas informações do modo de forma dividida. 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 restrição predeterminada em uma terceira unidade de codificação predeterminada 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 entre 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.
[000118] 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 entre 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, para ser dividida usando um método de divisão predeterminado (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 para ser dividida apenas um número predeterminado de vezes (por exemplo, divisão apenas n vezes (onde n> 0)). No entanto, 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.
[000119] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode obter a informação do modo de forma dividida, que é usada para dividir uma unidade de codificação atual, a partir de uma localização predeterminada na unidade de codificação atual.
[000120] A FIG. 6 ilustra um método, realizado pelo aparelho de decodificação de imagem 100, de determinar uma unidade de codificação predeterminada dentre um número ímpar de unidades de codificação, de acordo com uma modalidade.
[000121] Com referência à FIG. 6, as informações do modo de forma dividida de uma unidade de codificação atual 600 ou 650 podem ser obtidas a partir de uma amostra de uma localização predeterminada (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 localização predeterminada na unidade de codificação atual 600, a partir da qual pelo menos uma das informações do modo de forma dividida pode ser obtida, não está limitada à localização central na FIG. 6 e pode incluir vários locais (por exemplo, locais superior, inferior, esquerdo, direito, superior esquerdo, inferior esquerdo, superior direito e inferior direito) incluídos na unidade de codificação atual 600. O aparelho de decodificação de imagem 100 pode obter as informações do modo de forma dividida a partir da localização predeterminada e pode determinar dividir ou não dividir a unidade de codificação atual em unidades de codificação de formatos variados e tamanhos variados.
[000122] De acordo com uma modalidade, quando a unidade de codificação atual é dividida em um número predeterminado 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 que podem ser usados para selecionar uma dentre uma pluralidade de unidades de codificação serão descritos abaixo através de várias modalidades.
[000123] 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 localização predeterminada.
[000124] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode usar informações indicando localizações de um número ímpar de unidades de codificação para determinar uma unidade de codificação em uma localização central entre o número ímpar de unidades de codificação. Com referência à FIG. 6, Oo aparelho de decodificação de imagem 100 pode determinar um número ímpar de unidades de codificação 620a, 620b e 620c ou um 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 620b em uma localização central ou a unidade de codificação 660b em uma localização central usando informações sobre localizações do 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. 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 em informações indicando locais de amostras predeterminadas 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 os locais das unidades de codificação 620a, 620b e 620c com base em informações indicando locais das amostras superior esquerda 630a, 630b e 630c da codificação unidades 620a, 620b e 620c.
[000125] De acordo com uma modalidade, as informações indicando os locais das amostras superior esquerda 630a, 630b e 630c, incluídas nas unidades de codificação 620a, 620b e 620c, respectivamente, podem incluir informações sobre locais ou coordenadas das unidades de codificação 620a , 620b e 620c em um quadro. De acordo com uma modalidade, as informações indicando os locais das amostras superior esquerda 630a, 630b e 630c, incluídas nas unidades de codificação 620a, 620b e 620c, respectivamente, podem incluir informações indicando larguras ou alturas das unidades de codificação 620a , 620b e 620c incluídos na unidade de codificação atual 600, e as larguras ou alturas podem corresponder a informações indicando diferenças entre as coordenadas das unidades de codificação 620a, 620b e 620c no quadro.
Ou seja, o aparelho de decodificação de imagem 100 pode determinar a unidade de codificação 620b na localização central, usando diretamente as informações sobre os locais ou coordenadas das unidades de codificação 620a, 620b e 620c no quadro, ou usando as informações sobre as larguras ou alturas das unidades de codificação, que correspondem aos valores de diferença entre as coordenadas.
[000126] De acordo com uma modalidade, as informações indicando a localização da amostra superior esquerda 630a da unidade de codificação superior 620a podem incluir coordenadas (xa, ya), as informações indicando a localização da amostra superior esquerda 630b da unidade de codificação central 620b podem incluir coordenadas ( xb, yb) e informações indicando a localização da amostra superior esquerda 630c da unidade de codificação inferior 620c podem 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 esquerda 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 superior esquerda 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 dentre as unidades de codificação 620a, 620b e 620c determinado pela divisão da unidade de codificação atual
600. No entanto, as coordenadas que indicam os locais das amostras superior esquerda 630a, 630b e 630c podem incluir coordenadas indicando locais absolutos no quadro 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. Além disso, um método para determinar uma unidade de codificação em uma localização predeterminada usando coordenadas de uma amostra incluída 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.
[000127] De acordo com uma modalidade, 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, e pode selecionar uma das unidades de codificação 620a, 620b e 620c com base em um critério predeterminado. Por exemplo, o aparelho de decodificação de imagem 100 pode selecionar a unidade de codificação 620b, que tem um tamanho diferente do das outras, dentre as unidades de codificação 620a, 620b e 620c.
[000128] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar as larguras ou alturas das unidades de codificação 620a, 620b e 620c usando as coordenadas (xa, va) indicando a localização da amostra superior esquerda 630a da unidade de codificação superior 620a , as coordenadas (xb, yb) indicando a localização da amostra superior esquerda 630b da unidade de codificação intermediária 620b e as coordenadas (xc, yc) 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 os locais 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 sendo 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 superior 620a para ser 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 sendo 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 sendo 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 superior e intermediária 620a e 620b.
O aparelho de decodificação de imagem 100 pode determinar uma unidade de codificação, que tem um tamanho diferente da 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 superior e inferior 620a e 620c, como a unidade de codificação da localização predeterminada.
No entanto, o método descrito acima, realizado pelo aparelho de decodificação de imagem 100, de determinação de 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 localização predeterminado 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 localização predeterminada, comparando os tamanhos de unidades de codificação, que são determinados com base nas coordenadas de amostras predeterminadas, podem ser usados.
[000129] O aparelho de decodificação de imagem 100 pode determinar uma largura ou altura de cada uma das unidades de codificação 660a, 660b e 660c usando coordenadas (xd, yd) que são informações indicando uma localização de uma amostra superior esquerda 670a da unidade de codificação esquerda 660a, coordenadas (xe, ye) que são informações indicando uma localização da amostra superior esquerda 670b da unidade de codificação intermediária 660b e coordenadas (xf, yf) que são informações indicando uma localização de uma amostra superior esquerda 670c da unidade de codificação direita 660c. O aparelho de decodificação de imagem 100 pode determinar tamanhos das unidades de codificação 660a, 660b e 660c usando as coordenadas (xd, yd), (xe, ye) e (xf, yf) indicando os locais das unidades de codificação 660a, 660b e 660c.
[000130] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar a largura da unidade de codificação esquerda 660a para ser 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 para ser 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 atual unidade de codificação 600. 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 e a largura e a altura da unidade de codificação esquerda 660a e a unidade de codificação intermediária 660b. O aparelho de decodificação de imagem 100 pode determinar uma unidade de codificação, que tem um tamanho diferente da das outras, com base nas larguras e alturas determinadas das unidades de codificação 660a, 660b, e 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 do tamanho da unidade de codificação esquerda 660a e da unidade de codificação direita 660c, como a unidade de codificação da localização predeterminada. No entanto, o método descrito acima, realizado pelo aparelho de decodificação de imagem 100, de determinação de 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 localização predeterminado 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 localização predeterminada, comparando os tamanhos de unidades de codificação, que são determinados com base nas coordenadas de amostras predeterminadas, podem ser usados.
[000131] No entanto, as localizações das amostras consideradas para determinar as localizações das unidades de codificação não estão limitadas às localizações superior esquerdas descritas acima, e as informações sobre locais arbitrários das amostras incluídas nas unidades de codificação podem ser usadas.
[000132] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode selecionar uma unidade de codificação em uma localização predeterminada dentre um número ímpar de unidades de codificação determinadas pela divisão da unidade de codificação atual, considerando a forma da unidade de codificação atual. Por exemplo, quando a unidade de codificação atual tem uma forma não quadrada, cuja largura é maior que uma altura, o aparelho de decodificação de imagem 100 pode determinar a unidade de codificação na localização predeterminada na direção horizontal. Ou seja, o aparelho de decodificação de imagem 100 pode determinar uma das unidades de codificação em diferentes locais na direção horizontal e pode colocar uma restrição na unidade de codificação. Quando a unidade de codificação atual tem uma forma não quadrada, cuja altura é maior que uma largura, o aparelho de decodificação de imagem 100 pode determinar a unidade de codificação na localização predeterminado na direção vertical. Ou seja, o aparelho de decodificação de imagem 100 pode determinar uma das unidades de codificação em locais diferentes em uma direção vertical e pode colocar uma restrição na unidade de codificação.
[000133] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode usar informações indicando localizações respectivas de um número par de unidades de codificação para determinar a unidade de codificação na localização predeterminada 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 localização predeterminada usando as informações sobre os locais do número par de unidades de codificação. Uma operação relacionada a ela pode corresponder à operação de determinar uma unidade de codificação em uma localização predeterminada (por exemplo, uma localização central) dentre um número ímpar de unidades de codificação, que foi descrito em detalhes acima com referência à FIG. 6 e, portanto, descrições detalhadas dos mesmos não são fornecidas aqui.
[000134] De acordo com uma modalidade, quando uma unidade de codificação atual não quadrada é dividida em uma pluralidade de unidades de codificação, informações predeterminadas sobre uma unidade de codificação em uma localização predeterminada podem ser usadas em uma operação de divisão para determinar a unidade de codificação na localização predeterminada dentre a pluralidade de unidades de codificação. Por exemplo, o aparelho de decodificação de imagem 100 pode usar pelo menos uma das informações de forma de bloco e informações de modo de forma dividida, que são armazenadas em uma amostra incluída em uma unidade de codificação em uma localização central, em uma operação de divisão para determinar a unidade de codificação na localização central dentre a pluralidade de unidades de codificação determinadas pela divisão da unidade de codificação atual.
[000135] Com referência à FIG. 6, Oo 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 nas informações do modo de forma dividida 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 de uma localização a partir da qual a informação do modo de forma dividida é obtida. Ou seja, a informação do modo de forma dividida 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 nas informações do modo de forma dividida, a unidade de codificação 620b incluindo a amostra 640 pode ser determinada como a unidade de codificação na localização central. No entanto, as informações usadas para determinar a unidade de codificação na localização central não se limitam às informações do modo de forma dividida e vários tipos de informações podem ser usados para determinar a unidade de codificação na localização central.
[000136] De acordo com uma modalidade, informações predeterminadas para identificar a unidade de codificação na localização predeterminada podem ser obtidas a partir de uma amostra predeterminada 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 forma dividida, que é obtida a partir de uma amostra em uma localização predeterminada 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 localização predeterminada 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 entre uma pluralidade de unidades de codificação divididas). Ou seja, o aparelho de decodificação de imagem 100 pode determinar a amostra na localização predeterminada, considerando uma forma de bloco da unidade de codificação atual 600, pode determinar a unidade de codificação 620b incluindo uma amostra, a partir da qual informações predeterminadas (por exemplo, as informações do modo de forma dividida) podem ser obtidas, dentre a pluralidade de unidades de codificação 620a, 620b e 620c, determinadas pela divisão da unidade de codificação atual 600, e podem colocar uma restrição predeterminada 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 a partir da qual a informação predeterminada pode ser obtida e pode colocar uma restrição predeterminada na unidade de codificação 620b incluindo a amostra 640, em uma operação de decodificação. No entanto, a localização da amostra a partir da qual a informação predeterminada 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.
[000137] De acordo com uma modalidade, a localização da amostra a partir da qual a informação predeterminada pode ser obtida pode ser determinada com base na forma da unidade de codificação atual
600. De acordo com uma modalidade, as informações da forma do bloco pode indicar se a unidade de codificação atual tem uma forma quadrada ou não quadrada, e a localização da amostra a partir da qual as informações predeterminadas podem ser obtidas pode ser determinada com base na forma. 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 altura da unidade de codificação atual pela metade, como a amostra da qual a informação predeterminada pode ser obtida, usando pelo menos informações sobre a largura da unidade de codificação atual e informações sobre a altura da unidade de codificação atual. Como outro exemplo, quando as informações da forma do bloco da unidade de codificação atual indica uma forma não quadrada, o aparelho de decodificação de imagem 100 pode determinar uma das amostras adjacentes a um limite para dividir pela metade um lado longo da unidade de codificação atual, como o amostra a partir da qual as informações predeterminadas podem ser obtidas.
[000138] 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 as informações do modo de forma dividida para determinar uma unidade de codificação em uma localização predeterminada dentre a pluralidade de unidades de codificação. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode obter as informações do modo de forma dividida de uma amostra em uma localização predeterminada 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 as informações do modo de forma dividida, que são obtidas a partir da amostra da localização predeterminada em cada uma da pluralidade de unidades de codificação. Ou seja, uma unidade de codificação pode ser dividida recursivamente com base nas informações do modo de forma dividida, que são obtidas a partir da amostra na localização predeterminada em cada unidade de codificação. Uma operação de divisão recursiva de uma unidade de codificação foi descrita acima com referência à FIG. 5e, portanto, descrições detalhadas não serão fornecidas aqui.
[000139] 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 bloco predeterminado (por exemplo, a unidade de codificação atual).
[000140] A FIG. 7 ilustra uma ordem de processamento de uma pluralidade de unidades de codificação quando o aparelho de decodificação de imagem 100 determina a pluralidade de unidades de codificação dividindo uma unidade de codificação atual, de acordo com uma modalidade.
[000141] 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, pode determinar segundas unidades de codificação 730a e 730b dividindo a primeira unidade de codificação 700 em uma direção horizontal, ou pode 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 nas informações do modo de forma dividida.
[000142] 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 ordem predeterminada para processar unidades de codificação em uma linha e depois processar unidades de codificação em uma próxima linha (por exemplo, em uma ordem de varredura por digitalização ou ordem de digitalização Z 750e).
[000143] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode dividir recursivamente unidades de codificação. Com referência à FIG. 7, o aparelho de decodificação de imagem 100 pode determinar a pluralidade de segundas unidades de codificação 710a, 710b, 730a, 730b, 750a, 750b, 750c e 750d dividindo a primeira unidade de codificação 700 e pode dividir recursivamente cada uma da pluralidade determinada de segundas unidades de codificação 710a, 710b, 730a, 730b, 750a, 750b, 750c e 750d. Um método de divisão da pluralidade de segundas unidades de codificação 710a, 710b, 730a, 730b, 750a, 750b, 750c e 750d pode corresponder a um método de divisão da primeira unidade de codificação 700. Como tal, cada uma da pluralidade de segundas unidades de codificação 710a, 710b, 730a, 730b, 750a, 750b, 750c e 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.
[000144] 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.
[000145] 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. Por outras palavras, uma ordem de processamento de unidades de codificação dividida pode ser determinada com base numa 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. Como as terceiras unidades de codificação 720a e 720b são 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. Como as segundas unidades de codificação esquerda e direita 710a e 710b são processadas na ordem de direção horizontal 7l10c, 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árias formas, em uma ordem predeterminada.
[000146] AFIG.8 ilustra um processo, realizado pelo aparelho de decodificação de imagem 100, de 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 ordem predeterminada, de acordo com uma modalidade.
[000147] 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 nas informações obtidas no modo de forma dividida. 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 em um número ímpar de terceiras unidades de codificação 820c a 820e.
[000148] 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 ordem predeterminada. 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 e das terceiras unidades de codificação 820a e 820b e 820c, 820d e 820e é dividida em um número ímpar de unidades de codificação, com base em pelo menos uma informação de forma de bloco e informações do modo de forma dividida. Por exemplo, a segunda unidade de codificação direita 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 ordem predeterminada (por exemplo, uma ordem de digitalização 2 830), e o aparelho de decodificação de imagem 100 pode decidir 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 ordem predeterminada.
[000149] 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, 820d e 820e incluídas na primeira unidade de codificação 800 satisfazem a condição de processamento na ordem predeterminada 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 é dividida pela metade ao longo de um limite das terceiras unidades de codificação 820a e 820b e 820c, 820d e 820e. Por exemplo, as terceiras unidades de codificação 820a e 820b determinadas pela divisão pela metade da altura da segunda unidade de codificação esquerda não quadrada 810a podem satisfazer a condição. No entanto, como os limites das terceiras unidades de codificação 820c, 820d e 820e determinados pela divisão da segunda unidade de codificação direita 810b em três unidades de codificação não dividem a largura ou a altura da segunda unidade de codificação direita 810b pela metade, pode ser determinado que as terceiras unidades de codificação 820c, 820d e 820e não atendem à condição. Quando a condição não é satisfeita como descrito acima, o aparelho de decodificação de imagem 100 pode decidir desconectar uma ordem de digitalização e determinar que a segunda unidade de codificação direita 810b é 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 restrição predeterminada em uma unidade de codificação em uma localização predeterminada entre as unidades de codificação divididas e a restrição ou a localização predeterminada foi descrita acima através de várias modalidades e, portanto, suas descrições detalhadas não serão fornecidas aqui.
[000150] AFIG. 9 ilustra um processo, realizado pelo aparelho de decodificação de imagem 100, de determinar pelo menos uma unidade de codificação dividindo uma primeira unidade de codificação 900,
de acordo com uma modalidade.
[000151] 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 forma dividida, que é obtida pelo obtenedor de fluxo de bits 110. A primeira unidade de codificação quadrada 900 pode ser dividida em quatro unidades de codificação quadradas ou pode ser dividida em uma pluralidade de unidades de codificação não quadradas. Por exemplo, referindo-se à FIG. 9, quando a primeira unidade de codificação 900 tem uma forma quadrada e as informações do modo de forma dividida indicam para 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 quadradas. Em detalhes, quando a informação do modo de forma dividida indica para 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.
[000152] 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 ordem predeterminada, e a condição se relaciona a se pelo menos uma de uma largura e altura da primeira unidade de codificação 900 é dividida pela metade ao longo de um limite das segundas unidades de codificação 910a, 910b, 910c, 920a, 920b e 920c. Com referência à FIG. 9, porque 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 dividem 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 ordem predeterminada. Além disso, como 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 dividem 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 ordem predeterminada. Quando a condição não é satisfeita como descrito acima, o aparelho de decodificação de imagem 100 pode decidir desconectar uma ordem de digitalização e pode determinar que a primeira unidade de codificação 900 é 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 restrição predeterminada em uma unidade de codificação em uma localização predeterminada entre as unidades de codificação divididas e a restrição ou a localização predeterminada foi descrita acima através de várias modalidades e, portanto, suas descrições detalhadas não serão fornecidas aqui.
[000153] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar unidades de codificação de várias formas dividindo uma primeira unidade de codificação.
[000154] 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.
[000155] AFIG.10ilustra que uma forma na qual uma segunda unidade de codificação é divisível pelo aparelho de decodificação de imagem 100 é restrita quando uma segunda unidade de codificação com uma forma não quadrada, que é determinada pela divisão de uma primeira unidade de codificação 1000, satisfaz uma condição predeterminada, de acordo com uma modalidade.
[000156] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar dividir a primeira unidade de codificação quadrada 1000 em segundas unidades de codificação não quadradas 1010a, 1010b, 1020a e 1020b, com base em informações do modo de forma dividida, que são obtidas pelo obtenedor de fluxo de bits 110 As segundas unidades de codificação 1010a, 1010b, 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 primeira unidade de codificação 1000 em uma pluralidade de unidades de codificação, com base nas informações do modo de forma dividida de cada uma das segundas unidades de codificação 1010a, 1010b, 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. No entanto, 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 a 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 na mesma direção, porque as segundas unidades de codificação esquerda e direita 1010a e 1010b são divididas independentemente na direção horizontal, as terceiras unidades de codificação 1012a, 1012b, 1014a e 1014b podem ser determinadas. No entanto, 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 quadradas 1030a, 1030b, 1030c e 1030d, com base nas informações do modo de forma dividida e pode ser ineficiente em termos de decodificação de imagem.
[000157] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar terceiras unidades de codificação 1022a, 1022b, 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. No entanto, quando uma segunda unidade de codificação (por exemplo, a segunda unidade de codificação superior 1020a) é dividida na direção vertical, pelo motivo acima descrito, 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.
[000158] A FIG. 11 ilustra um processo, realizado pelo aparelho de decodificação de imagem 100, de dividir uma unidade de codificação quadrada quando as informações do modo de forma dividida indicam que a unidade de codificação quadrada não deve ser dividida em quatro unidades de codificação quadradas, de acordo com uma modalidade.
[000159] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar segundas unidades de codificação 1110a, 1110b, 1120a, 1120b, etc. dividindo uma primeira unidade de codificação 1100 com base em informações do modo de forma dividida. As informações do modo de forma dividida podem incluir informações sobre vários métodos de divisão de uma unidade de codificação, mas as informações sobre vários métodos de divisão podem não incluir informações de dividir uma unidade de codificação em quatro unidades de codificação quadradas. De acordo com essas informações do modo de forma dividida, o aparelho de decodificação de imagem 100 não pode dividir a primeira unidade de codificação quadrada 1100 em quatro segundas unidades de codificação quadradas 1130a, 1130b, 1130c e 1130d. O aparelho de decodificação de imagem 100 pode determinar as segundas unidades de codificação não quadradas 1110a, 1110b, 1120a, 1120b, etc., com base nas informações do modo de forma dividida.
[000160] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode dividir independentemente as segundas unidades de codificação não quadradas 1110a, 1110b, 1120a, 1120b, etc. Cada uma das segundas unidades de codificação 1110a, 1110b, 1120a, 1120b, etc. pode ser dividida recursivamente em uma ordem predeterminada, 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 nas informações do modo de forma dividida.
[000161] 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, l116c 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 a mesma forma que as quatro unidades de codificação quadradas 1130a, 1130b, 1130c e 1130d divididas da primeira unidade de codificação 1100.
[000162] Como 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 quadradas 1126a, 1126b, l1126c 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 a mesma forma que as quatro unidades de codificação quadradas 1130a, 1130b, 1130c e 1130d divididas da primeira unidade de codificação 1100.
[000163] 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.
[000164] 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ções do modo de forma dividida. Quando uma forma de bloco é uma forma quadrada e as informações do modo de forma dividida indicam 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, 1210b, 1220a, 1220b, etc. dividindo a primeira unidade de codificação 1200. Com referência à FIG. 12, as segundas unidades de codificação não quadradas 1210a, 1210b, 1220a e 1220b determinadas pela divisão da primeira unidade de codificação 1200 em apenas uma direção horizontal ou vertical podem ser divididas independentemente com base nas informações do modo de forma dividida 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 horizontal. Uma operação de divisão das segundas unidades de codificação 1210a, 1210b, 1220a e 1220b foi descrita acima com referência à FIG. 11 e, portanto, descrições detalhadas não serão fornecidas aqui.
[000165] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode processar unidades de codificação em uma ordem predeterminada. Uma operação de processamento de unidades de codificação em uma ordem predeterminada foi descrita acima com referência à FIG. 7 e, portanto, descrições detalhadas não serão fornecidas aqui. Com referência à FIG. 12, o aparelho de decodificação de imagem 100 pode determinar quatro terceiras unidades de codificação quadradas 1216a, 1216b, 1216c e 1216d e
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.
[000166] 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, em seguida, 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.
[000167] 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 depois 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.
[000168] Com referência à FIG. 12, as terceiras unidades de codificação quadradas 1216a, 1216b, 1216c e 1216d e 1226a, 1226b, 1226c e 1226d podem ser determinadas dividindo as segundas unidades de codificação 1210a, 1210b, 1220a e 1220b, 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 unidades de codificação com o mesmo formato divididas a partir da primeira unidade de codificação 1200. Como tal, dividindo recursivamente uma unidade de codificação de maneiras diferentes, com base nas informações do modo de forma dividida, 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 a mesma forma.
[000169] A FIG. 13 ilustra um processo de determinação de uma profundidade de uma unidade de codificação como uma forma e um tamanho da unidade de codificação alterada, quando a unidade de codificação é dividida recursivamente de tal modo que uma pluralidade de unidades de codificação é determinada, de acordo com uma modalidade.
[000170] 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 critério predeterminado. Por exemplo, o critério predeterminado 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 comprido de uma unidade de codificação de corrente dividida, 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 profundidade mais profunda.
[000171] 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, uma terceira unidade de codificação 1304, etc. de profundidades mais profundas dividindo uma primeira unidade de codificação quadrada 1300 com base em informações de forma de bloco indicando uma forma quadrada (por exemplo, as informações da forma do bloco podem ser expressas como '0: SQUARE'). Supondo que o tamanho da primeira unidade de codificação quadrada 1300 seja 2Nx2N, a segunda unidade de codificação 1302 determinada dividindo uma largura e altura da primeira unidade de codificação 1300 a 1/2 pode ter um tamanho de NxN. 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 a 1/2 pode ter um tamanho de N/2 x N/2. Neste caso, uma largura e altura da terceira unidade de codificação 1304 são 1/4 vezes 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 vezes as 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 vezes as da primeira unidade de codificação 1300, pode ser D+2.
[000172] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar uma segunda unidade de codificação 1312 ou 1322, uma terceira unidade de codificação 1314 ou 1324, etc., de profundidades mais profundas dividindo uma primeira unidade de codificação não quadrada 1310 ou 1320 com base em informações da forma do bloco indicando uma forma não quadrada (por exemplo, as informações da forma do bloco podem ser expressas como '1:NS VER' indicando uma forma não quadrada, cuja altura é maior que uma largura ou como '2:NS HOR' indicando uma forma não quadrada, cuja largura é maior que uma altura).
[000173] Oaparelho 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 1310 tendo um tamanho de Nx2N. Ou seja, o aparelho de decodificação de imagem 100 pode determinar a segunda unidade de codificação 1302 com um tamanho de NxN ou a segunda unidade de codificação 1322 com um tamanho de NxN/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/2xN dividindo a primeira unidade de codificação 1310 nas direções horizontal e vertical.
[000174] 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 2NxN. Ou seja, o aparelho de decodificação de imagem 100 pode determinar a segunda unidade de codificação 1302 com um tamanho de NxN ou a segunda unidade de codificação 1312 com um tamanho de N/2xN 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 NxN/2 dividindo a primeira unidade de codificação
1320 nas direções horizontal e vertical.
[000175] 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 1302 tendo um tamanho de NxN. Ou seja, o aparelho de decodificação de imagem 100 pode determinar a terceira unidade de codificação 1304 tendo um tamanho de N/2xN/2, a terceira unidade de codificação 1314 tendo um tamanho de N/4xN/2 ou a terceira unidade de codificação 1324 tendo um tamanho de N/2xN/4 dividindo a segunda unidade de codificação 1302 nas direções vertical e horizontal.
[000176] 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/2xN. Ou seja, o aparelho de decodificação de imagem 100 pode determinar a terceira unidade de codificação 1304 tendo um tamanho de N/2xN/2 ou a terceira unidade de codificação 1324 tendo um tamanho de N/2xN/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/4xN/2 dividindo a segunda unidade de codificação 1312 nas direções vertical e horizontal.
[000177] 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 NxN/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/2xN/2 ou a terceira unidade de codificação 1314 tendo um tamanho de N/4xN/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/2xN/4 dividindo a segunda unidade de codificação 1322 nas direções vertical e horizontal.
[000178] 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 com um tamanho de Nx2N dividindo a primeira unidade de codificação 1300 com um tamanho de 2Nx2N em uma direção vertical, ou pode determinar a primeira unidade de codificação 1320 tendo um tamanho de 2NxN 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 2Nx2N na direção horizontal ou vertical pode ser a mesma que a profundidade da primeira unidade de codificação 1300.
[000179] De acordo com uma modalidade, uma largura e altura da terceira unidade de codificação 1314 ou 1324 podem ser 1/4 vezes as 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 vezes as 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 vezes as da primeira unidade de codificação 1310 ou 1320, pode ser D+2.
[000180] AFIG.14ilustra profundidades que são determináveis com base em formas e tamanhos de unidades de codificação e índices de peça (PIDs) que são para distinguir as unidades de codificação, de acordo com uma modalidade.
[000181] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar segundas unidades de codificação de várias formas 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 nas informações do modo de forma dividida. 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 nas informações do modo de forma dividida da primeira unidade de codificação 1400.
[000182] De acordo com uma modalidade, uma profundidade das segundas unidades de codificação 1402a e 1402b, l1404a e 1404b e 1406a, 1406b, 1406c e 1406d, que são determinadas com base nas informações do modo de forma dividida da primeira unidade de codificação quadrada 1400, pode ser determinada com base no comprimento de um lado comprido. Por exemplo, porque o comprimento de um lado da primeira unidade de codificação quadrada 1400 é igual ao comprimento de um lado longo das segundas unidades de codificação não quadradas 1402a e 1402b e 1404a e 1404b, a primeira unidade de codificação 1400 e as segundas unidades de codificação não quadradas 1402a e 1402b e 1404a e 1404b podem ter a mesma profundidade, por exemplo, D. No entanto, quando o aparelho de decodificação de imagem 100 divide a primeira unidade de codificação 1400 nas quatro unidades de codificação quadradas 1406a, 1406b, 1406c e 1406d com base nas informações do modo de forma dividida, porque o comprimento de um lado das segundas unidades de codificação quadradas 1406a, 1406b, l1406c e 1406d é 1/2 vezes 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 podem ser D+1, que é mais profunda que a profundidade D da primeira unidade de codificação 1400 por 1.
[000183] 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 nas informações do modo de forma dividida. 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 l1424a, 1424b e 1424c dividindo uma primeira unidade de codificação 1420, cuja largura é maior que uma altura, numa direção vertical com base nas informações do modo de forma dividida.
[000184] De acordo com uma modalidade, uma profundidade das segundas unidades de codificação 1412a e 1412b, 1414a, 1414b e 1414c, 1422a e 1422b e 1424a, 1424b e 1424c, que são determinadas com base nas informações do modo de forma dividida 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, porque o comprimento de um lado das segundas unidades de codificação quadradas l1412a e 1412b é 1/2 vezes o comprimento de um lado longo da primeira unidade de codificação 1410 com uma forma não quadrada, cuja altura é maior que uma largura, uma profundidade das segundas unidades de codificação quadradas l1412a e 1412b é D+1, que é mais profunda que a profundidade D da primeira unidade de codificação não quadrada 1410 por 1.
[000185] Alémdisso, 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 l414a, 1414b e 1414c com base nas informações do modo de forma dividida. O número ímpar de segundas unidades de codificação l1414a, 1414b e 1414c pode incluir as segundas unidades de codificação não quadradas l414a e l1414c e a segunda unidade de codificação quadrada 1414b. Nesse caso, porque o comprimento de um lado longo das segundas unidades de codificação não quadradas l414a e l1414c e o comprimento de um lado da segunda unidade de codificação quadrada 1414b são 1/2 vezes o comprimento de um lado longo da primeira unidade de codificação 1410, uma profundidade das segundas unidades de codificação l1414a, 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 uma forma não quadrada, 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.
[000186] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar PIDs para identificar unidades de codificação divididas, com base em uma razão de tamanho entre as unidades de codificação quando um número ímpar de unidades de codificação divididas não tem tamanhos iguais. Com referência à FIG. 14, a unidade de codificação 1414b de uma localização central entre o número ímpar de unidades de codificação divididas l414a, 1414b e 1414c pode ter uma largura igual à 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 l1414a ou l414c. 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, portanto, 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 divididas não tem tamanhos iguais, com base na descontinuidade presente nos PIDs para identificar as unidades de codificação divididas.
[000187] 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, Oo 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 l1414a, 1414b e 1414c dividindo a primeira unidade de codificação 1410 com uma forma 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 a partir de uma amostra de uma localização predeterminada (por exemplo, uma amostra superior esquerda) de cada unidade de codificação.
[000188] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar uma unidade de codificação em uma localização predeterminada dentre as unidades de codificação divididas, usando os PIDs para distinguir as unidades de codificação. De acordo com uma modalidade, quando a informação do modo de forma dividida 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, oO aparelho de decodificação de imagem 100 pode dividir a primeira unidade de codificação 1410 em três unidades de codificação l1414a, 1414b e l414c.
O aparelho de decodificação de imagem 100 pode atribuir um PID a cada uma das três unidades de codificação l414a, 1414b e l414c.
O aparelho de decodificação de imagem 100 pode comparar PIDs de um número ímpar de unidades de codificação divididas para determinar uma unidade de codificação em uma localização central entre 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 médio 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 divididas, com base em uma razão de tamanho entre as unidades de codificação quando as unidades de codificação divididas 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 à das outras unidades de codificação 1414a e 1414c e uma altura que é duas vezes a das outras unidades de codificação l1414a e l1414c.
Nesse caso, quando o PID da unidade de codificação 1414b na localização central é 1, o PID da unidade de codificação l1414c localizado próximo à unidade de codificação 1414b pode ser aumentado em 2 e, portanto, pode ser 3. Quando o PID não é aumentado 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 do das outras unidades de codificação. De acordo com uma modalidade, quando as informações do modo de forma dividida indicam 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 localização predeterminada (por exemplo, uma unidade de codificação de uma localização central) entre um número ímpar de unidades de codificação tem 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. No entanto, o PID e o tamanho ou localização da unidade de codificação localização predeterminada a ser determinado não se limitam aos exemplos descritos acima, e vários PIDs e vários locais e tamanhos de unidades de codificação podem ser utilizados.
[000189] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode usar uma unidade de dados predeterminada em que uma unidade de codificação começa a ser dividida recursivamente.
[000190] A FIG. 15 ilustra que uma pluralidade de unidades de codificação é determinada com base em uma pluralidade de unidades de dados predeterminadas incluídas em um quadro, de acordo com uma modalidade.
[000191] De acordo com uma modalidade, uma unidade de dados predeterminada pode ser definida como uma unidade de dados em que uma unidade de codificação começa a ser dividida recursivamente usando informações do modo de forma dividida. Ou seja, a unidade de dados predeterminada pode corresponder a uma unidade de codificação com uma profundidade mais alta, a qual é usada para determinar uma pluralidade de unidades de codificação divididas a partir de um quadro atual. Nas descrições a seguir, para facilitar a explicação, a unidade de dados predeterminada é referida como uma unidade de dados de referência.
[000192] De acordo com uma modalidade, a unidade de dados de referência pode ter um tamanho predeterminado e uma forma predeterminada. De acordo com uma modalidade, a unidade de dados de referência pode incluir amostras MxN. Aqui, Me 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 uma forma quadrada ou não quadrada e pode ser dividida em um número inteiro de unidades de codificação.
[000193] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode dividir o quadro 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 do quadro atual, usando informações do modo de forma dividida para cada unidade de dados de referência. A operação de dividir a unidade de dados de referência pode corresponder a uma operação de divisão usando uma estrutura de quadtree.
[000194] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar previamente o tamanho mínimo permitido para as unidades de dados de referência incluídas no quadro atual. Por conseguinte, 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 as informações do modo de forma dividida com referência à unidade de dados de referência determinada.
[000195] 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, a forma e o tamanho das unidades de codificação de referência podem ser determinadas 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, quadros, fatias, segmentos de fatia, unidades de codificação maiores ou semelhantes).
[000196] De acordo com uma modalidade, o obtenedor de fluxo de bits 110 do aparelho de decodificação de imagem 100 pode obter, a partir de um fluxo de bits, pelo menos uma das informações de forma da unidade de codificação de referência e informações 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 determinação de uma ou mais unidades de codificação incluídas na unidade de codificação de referência quadrada 1500 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 determinação de uma ou mais unidades de codificação incluídas na unidade de codificação de referência não quadrada 1502 foi descrita acima em relação à operação de divisão da unidade de codificação atual 400 ou 450 da FIG. 4 e, portanto, descrições detalhadas não serão fornecidas aqui.
[000197] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode usar um PID para identificar o tamanho e a forma das unidades de codificação de referência, para determinar o tamanho e a forma das unidades de codificação de referência de acordo com algumas unidades de dados previamente determinadas com base em uma condição predeterminada. Ou seja, o obtenedor de fluxo de bits 110 pode obter, a partir do fluxo de bits, apenas o PID para identificar o tamanho e a forma das unidades de codificação de referência em relação a cada fatia, segmento de fatia ou unidade de codificação maior que é uma unidade de dados que satisfaz uma condição predeterminada (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, quadros, fatias, segmentos de fatia, unidades de codificação maiores ou semelhantes). O aparelho de decodificação de imagem 100 pode determinar o tamanho e a forma das unidades de dados de referência em relação a cada unidade de dados, que satisfaz a condição predeterminada, usando o PID. Quando as informações de formato da unidade de codificação de referência e as informações 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 as informações de formato da unidade de codificação de referência e as informações de tamanho da unidade de codificação de referência. Nesse caso, pelo menos uma das dimensões e formas das unidades de codificação de referência correspondentes ao PID para identificação do tamanho e da forma das unidades de codificação de referência pode ser determinada previamente. Ou seja, o aparelho de decodificação de imagem 100 pode determinar pelo menos um do tamanho e formato das unidades de codificação de referência incluídas em uma unidade de dados que serve como uma unidade para obter o PID, selecionando pelo menos um do tamanho e da forma determinados anteriormente das unidades de codificação de referência com base no PID.
[000198] 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 um quadro 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 de uma largura e altura da maior unidade de codificação pode ser um número inteiro vezes pelo menos uma da 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 quadtree. 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 quadtree e pode dividir a unidade de codificação de referência com base em pelo menos uma das informações de forma de bloco e as informações do modo de forma dividida de acordo com várias modalidades.
[000199] AFIG.16 ilustra umbloco de processamento que serve como uma unidade para determinar uma ordem de determinação das unidades de codificação de referência incluídas em um quadro 1600, de acordo com uma modalidade.
[000200] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar um ou mais blocos de processamento separados de um quadro. O bloco de processamento é uma unidade de dados que inclui uma ou mais unidades de codificação de referência divididas em uma imagem e as uma ou mais unidades de codificação de referência incluídas no bloco de processamento podem ser determinadas de acordo com uma ordem específica. Ou seja, uma ordem de determinação de uma ou mais unidades de codificação de referência determinadas em cada bloco de processamento pode corresponder a um dos vários tipos de ordens para determinar as unidades de codificação de referência e pode variar dependendo do bloco de processamento. À ordem de determinação das unidades de codificação de referência, que é determinada em relação a cada bloco de processamento, pode ser uma de várias ordens, por exemplo, digitalização por varredura, digitalização Z, digitalização N, digitalização diagonal vertical direita, digitalização horizontal e digitalização vertical , mas não se limita às ordens de digitalização mencionadas acima.
[000201] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode obter informações de tamanho de bloco de processamento e pode determinar o tamanho de um ou mais blocos de processamento incluídos na imagem. O aparelho de decodificação de imagem 100 pode obter as informações de tamanho do bloco de processamento a partir de um fluxo de bits e pode determinar o tamanho de um ou mais blocos de processamento incluídos na imagem. O tamanho dos blocos de processamento pode ser um tamanho predeterminado das unidades de dados, o que é indicado pelas informações de tamanho do bloco de processamento.
[000202] De acordo com uma modalidade, o obtenedor de fluxo de bits 110 do aparelho de decodificação de imagem 100 pode obter as informações de tamanho do bloco de processamento do fluxo de bits de acordo com cada unidade de dados específica. Por exemplo, as informações de tamanho do bloco de processamento podem ser obtidas do fluxo de bits em uma unidade de dados como uma imagem, sequência, quadro, fatia ou segmento de fatia. Ou seja, o obtenedor de fluxo de bits 110 pode obter as informações de tamanho do bloco de processamento do fluxo de bits de acordo com cada uma das várias unidades de dados, o aparelho de decodificação de imagem 100 pode determinar o tamanho de um ou mais blocos de processamento, que são divididos do quadro, usando as informações de tamanho de bloco de processamento obtidas e o tamanho dos blocos de processamento podem ser inteiros vezes o das unidades de codificação de referência.
[000203] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar o tamanho dos blocos de processamento 1602 e 1612 incluídos no quadro 1600. Por exemplo, o aparelho de decodificação de imagem 100 pode determinar o tamanho dos blocos de processamento com base nas informações de tamanho do bloco de processamento obtidas a partir do fluxo de bits. Com referência à FIG. 16, de acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar uma largura dos blocos de processamento 1602 e 1612 como quatro vezes a largura das unidades de codificação de referência e pode determinar que a altura dos blocos de processamento 1602 e 1612 seja quatro vezes a altura das unidades de codificação de referência. O aparelho de decodificação de imagem 100 pode determinar uma ordem de determinação de uma ou mais unidades de codificação de referência em um ou mais blocos de processamento.
[000204] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar os blocos de processamento 1602 e 1612, que são incluídos no quadro 1600, com base no tamanho dos blocos de processamento, e pode determinar uma ordem de determinação de uma ou mais unidades de codificação de referência incluídas nos blocos de processamento 1602 e 1612. De acordo com uma modalidade, a determinação das unidades de codificação de referência pode incluir determinar o tamanho das unidades de codificação de referência.
[000205] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode obter, a partir do fluxo de bits, informações de ordem de determinação de uma ou mais unidades de codificação de referência incluídas em um ou mais blocos de processamento e pode determinar uma ordem de determinação em relação a uma ou mais unidades de codificação de referência com base nas informações obtidas da ordem de determinação. As informações da ordem de determinação podem ser definidas como uma ordem ou direção para determinar as unidades de codificação de referência no bloco de processamento. Ou seja, a ordem de determinação das unidades de codificação de referência pode ser determinada independentemente em relação a cada bloco de processamento.
[000206] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode obter, a partir do fluxo de bits, a informação da ordem de determinação das unidades de codificação de referência de acordo com cada unidade de dados específica. Por exemplo, o obtenedor de fluxo de bits 110 pode obter as informações da ordem de determinação das unidades de codificação de referência do fluxo de bits de acordo com cada unidade de dados, como imagem, sequência, quadro, fatia, segmento de fatia ou bloco de processamento. Como as informações da ordem de determinação das unidades de codificação de referência indicam uma ordem para determinar as unidades de codificação de referência em um bloco de processamento, as informações da ordem de determinação podem ser obtidas com relação a cada unidade de dados específica, incluindo um número inteiro de blocos de processamento.
[000207] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar uma ou mais unidades de codificação de referência com base na ordem de determinação determinada.
[000208] De acordo com uma modalidade, o obtenedor de fluxo de bits 110 pode obter a informação da ordem de determinação das unidades de codificação de referência do fluxo de bits como informações relacionadas aos blocos de processamento 1602 e 1612, e o aparelho de decodificação de imagem 100 pode determinar uma ordem de determinação de uma ou mais unidades de codificação de referência incluídas nos blocos de processamento 1602 e 1612 e determinam uma ou mais unidades de codificação de referência, incluídas no quadro 1600, com base na ordem de determinação. Com referência à FIG. 16, o aparelho de decodificação de imagem 100 pode determinar ordens de determinação 1604 e 1614 de uma ou mais unidades de codificação de referência nos blocos de processamento 1602 e 1612, respectivamente. Por exemplo, quando as informações da ordem de determinação das unidades de codificação de referência são obtidas em relação a cada bloco de processamento, diferentes tipos de informações da ordem de determinação das unidades de codificação de referência podem ser obtidos para os blocos de processamento 1602 e 1612. Quando a ordem de determinação 1604 das unidades de codificação de referência no bloco de processamento 1602 é uma ordem de digitalização por varredura, as unidades de codificação de referência incluídas no bloco de processamento 1602 podem ser determinadas de acordo com a ordem de digitalização por varredura. Pelo contrário, quando a ordem de determinação 1614 das unidades de codificação de referência no outro bloco de processamento 1612 é uma ordem de digitalização por varredura inversa, as unidades de codificação de referência incluídas no bloco de processamento 1612 podem ser determinadas de acordo com a ordem de digitalização por varredura reversa.
[000209] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode decodificar a uma ou mais unidades de codificação de referência determinadas. O aparelho de decodificação de imagem 100 pode decodificar uma imagem, com base nas unidades de codificação de referência determinadas como descrito acima. Um método de decodificação das unidades de codificação de referência pode incluir vários métodos de decodificação de imagem.
[000210] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode obter informações sobre a forma do bloco indicando a forma de uma unidade de codificação atual ou informações sobre o modo de forma dividida indicando um método de divisão da unidade de codificação atual, a partir do fluxo de bits, e pode usar as informações obtidas. As informações do modo de forma dividida podem ser incluídas no fluxo de bits relacionado a várias unidades de dados. Por exemplo, o aparelho de decodificação de imagem 100 pode usar as informações do modo de forma dividida incluídas em um conjunto de parâmetros de sequência, um conjunto de parâmetros de quadro, um conjunto de parâmetros de vídeo, um cabeçalho de fatia ou um cabeçalho de segmento de fatia. Além disso, o aparelho de decodificação de imagem 100 pode obter, a partir do fluxo de bits, um elemento de sintaxe correspondente às informações da forma do bloco ou às informações do modo de forma dividida 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.
[000211] Um método para determinar uma regra de divisão de acordo com uma modalidade da presente divulgação será descrito em detalhes.
[000212] 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 previamente determinada entre o aparelho de decodificação de imagem 100 e o aparelho de codificação de imagem 200. O aparelho de decodificação de imagem 100 pode determinar a regra de divisão da imagem com base em informações obtidas de um fluxo de bits. O aparelho de decodificação de imagem 100 pode determinar a regra de divisão com base em informações obtidas de pelo menos um dentre um conjunto de parâmetros de sequência, um conjunto de parâmetros de quadro, um conjunto de parâmetros de vídeo, um cabeçalho de fatia e um cabeçalho de segmento de fatia. O aparelho de decodificação de imagem 100 pode determinar diferentemente a regra de divisão de acordo com um quadro, uma fatia, uma camada temporal, uma unidade de codificação maior ou uma unidade de codificação.
[000213] O aparelho de decodificação de imagem 100 pode determinar a regra de divisão com base no formato de bloco de uma unidade de codificação. A forma do bloco pode incluir um tamanho, uma forma, uma razão entre uma largura e uma altura e uma direção da unidade de codificação. O aparelho de codificação de imagem 200 e o aparelho de decodificação de imagem 100 podem determinar previamente a determinação da regra de divisão com base no formato do bloco da unidade de codificação. No entanto, a presente divulgação não está limitada à mesma. O aparelho de decodificação de imagem 100 pode determinar a regra de divisão, com base nas informações obtidas do fluxo de bits recebido do aparelho de codificação de imagem 200.
[000214] A forma da unidade de codificação pode incluir uma forma quadrada e uma forma não quadrada. Quando a largura e a altura da unidade de codificação são iguais, o aparelho de decodificação de imagem 100 pode determinar que a forma da unidade de codificação é quadrada. Além disso, quando a largura e a altura da unidade de codificação não são as mesmas, o aparelho de decodificação de imagem 100 pode determinar que a forma da unidade de codificação é uma forma não quadrada.
[000215] O tamanho da unidade de codificação pode incluir vários tamanhos, como 4x4, 8x4, 4x8, 8x8, l16x4, l16x8, ... e 256x256. O tamanho da unidade de codificação pode ser classificado de acordo com o comprimento de um lado comprido, o comprimento de um lado curto ou a área da unidade de codificação. O aparelho de decodificação de imagem 100 pode aplicar a mesma regra de divisão às unidades de codificação pertencentes ao mesmo grupo. Por exemplo, o aparelho de decodificação de imagem 100 pode classificar unidades de codificação cujos lados longos têm o mesmo comprimento que unidades de codificação com 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 cujos lados longos têm o mesmo comprimento.
[000216] A razão entre a largura e a 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, ou 1:32. Além disso, a 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 altura da unidade de codificação. A direção vertical pode indicar um caso em que o comprimento da largura da unidade de codificação é menor que o comprimento da altura da unidade de codificação.
[000217] 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 forma dividida 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.
[000218] Determinar a regra de divisão com base no tamanho da unidade de codificação pode ser a regra de divisão que é previamente determinada entre o aparelho de codificação de imagem 200 e o aparelho de decodificação de imagem 100. Além disso, o aparelho de decodificação de imagem 100 pode determinar a regra de divisão, com base nas informações obtidas a partir do fluxo de bits.
[000219] 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.
[000220] Alémdisso, o aparelho de decodificação de imagem 100 pode determinar a regra de divisão, para que as unidades de codificação geradas usando diferentes caminhos de divisão não tenham a mesma forma de bloco. No entanto, a presente divulgação não é limitada a ela, e as unidades de codificação geradas usando diferentes caminhos de divisão podem ter a mesma forma de bloco. As unidades de codificação geradas usando diferentes caminhos divididos podem ter diferentes ordens de processamento de decodificação. Uma ordem de processamento de decodificação foi descrita com referência à FIG. 12 e, portanto, uma explicação detalhada não será fornecida aqui.
[000221] AFIG. 17 ilustra unidades de codificação determináveis por quadro quando uma combinação de formas nas quais uma unidade de codificação é divisível é diferente por quadro, de acordo com uma modalidade.
[000222] Com referência à FIG. 17, o aparelho de decodificação de imagem 100 pode determinar diferentemente, por quadro, uma combinação de formas nas quais uma unidade de codificação é divisível. Por exemplo, o aparelho de decodificação de imagem 100 pode decodificar uma imagem usando um quadro 1700 divisível em 4 unidades de codificação, um quadro 1710 divisível em 2 ou 4 unidades de codificação e um quadro 1720 divisível em 2, 3, ou 4 unidades de codificação, dentre um ou mais quadros incluídos na imagem. A fim de dividir o quadro 1700 em uma pluralidade de unidades de codificação, o aparelho de decodificação de imagem 100 pode usar apenas informações de forma dividida, indicando que o quadro 1700 é dividido em 4 unidades de codificação quadradas. Para dividir o quadro 1710, o aparelho de decodificação de imagem 100 pode usar apenas informações de forma dividida, indicando que o quadro 1710 é dividido em 2 ou 4 unidades de codificação. Para dividir o quadro 1720, o aparelho de decodificação de imagem 100 pode usar apenas informações de forma dividida, indicando que o quadro 1720 é dividido em 2, 3 ou 4 unidades de codificação. Como tal combinação de formas divididas é meramente uma modalidade para descrever operações do aparelho de decodificação de imagem 100, a combinação de formas divididas não deve ser interpretada como sendo limitada à modalidade e várias combinações de formas divididas podem ser usadas de acordo com unidades de dados predeterminadas.
[000223] De acordo com uma modalidade, o obtenedor de fluxo de bits 110 do aparelho de decodificação de imagem 100 pode obter um fluxo de bits incluindo um índice indicando uma combinação de informações de forma dividida de acordo com unidades de dados predeterminadas (por exemplo, sequências, figuras ou fatias). Por exemplo, o obtenedor de fluxo de bits 110 pode obter o índice indicando a combinação de informações de forma dividida de um conjunto de parâmetros de sequência, um conjunto de parâmetros de quadro ou um cabeçalho de fatia. O aparelho de decodificação de imagem 100 pode determinar uma combinação de formas divididas nas quais uma unidade de codificação é divisível de acordo com unidades de dados predeterminadas usando o índice obtido e, portanto, combinações diferentes de formas divididas podem ser usadas de acordo com unidades de dados predeterminadas.
[000224] A FIG. 18 ilustra várias formas de uma unidade de codificação determinável com base em informações de modo de forma dividida representáveis como um código binário, de acordo com uma modalidade.
[000225] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode dividir uma unidade de codificação em várias formas usando informações de forma de bloco e informações do modo de forma dividida obtidas pelo obtenedor de fluxo de bits 110. Formas nas quais uma unidade de codificação é divisível podem corresponder a várias formas, incluindo as formas descritas com referência às modalidades acima.
[000226] Com referência à FIG. 18, o aparelho de decodificação de imagem 100 pode dividir uma unidade de codificação quadrada em pelo menos uma de uma direção horizontal e uma direção vertical e pode dividir uma unidade de codificação não quadrada em uma direção horizontal ou uma direção vertical, com base nas informações do modo de forma dividida.
[000227] De acordo com uma modalidade, quando o aparelho de decodificação de imagem 100 é capaz de dividir uma unidade de codificação quadrada em uma direção horizontal e vertical, para obter 4 unidades de codificação quadradas, o número de formas divididas que podem ser indicadas pelas informações do modo de forma dividida sobre a unidade de codificação quadrada pode ser 4. De acordo com uma modalidade, as informações do modo de forma dividida podem ser representadas como um código binário de 2 dígitos e um código binário pode ser alocado para cada forma dividida. Por exemplo, quando uma unidade de codificação não é dividida, as informações do modo de forma dividida podem ser representadas como (00) b; quando uma unidade de codificação é dividida em uma direção horizontal e vertical, as informações do modo de forma dividida podem ser representadas como (01) b; quando uma unidade de codificação é dividida em uma direção horizontal, as informações do modo de forma dividida podem ser representadas como (10) b; e quando uma unidade de codificação é dividida em uma direção vertical, as informações do modo de forma dividida podem ser representadas como (11) b.
[000228] De acordo com uma modalidade, quando o aparelho de decodificação de imagem 100 divide uma unidade de codificação não quadrada na direção horizontal ou vertical, os tipos de formas divididas que podem ser indicadas pela informação do modo de forma dividida podem ser determinados de acordo com o número de unidades de codificação nas quais uma unidade de codificação é dividida. Com referência à FIG. 18, o aparelho de decodificação de imagem 100 pode dividir uma unidade de codificação não quadrada em até 3 unidades de codificação de acordo com uma modalidade. O aparelho de decodificação de imagem 100 pode dividir uma unidade de codificação em duas unidades de codificação e, neste caso, a informação do modo de forma dividida pode ser representada como (10) b. O aparelho de decodificação de imagem 100 pode dividir uma unidade de codificação em três unidades de codificação e, neste caso, a informação do modo de forma dividida pode ser representada como (11) b. O aparelho de decodificação de imagem 100 pode determinar não dividir uma unidade de codificação e, neste caso, a informação do modo de forma dividida pode ser representada como (0) b. Ou seja, para usar um código binário indicando informações do modo de forma dividida, o aparelho de decodificação de imagem 100 pode usar codificação de comprimento variável (VLC), em vez de codificação de comprimento fixo (FLC).
[000229] De acordo com uma modalidade, referente à FIG. 18, um código binário da informação do modo de forma dividida indicando que uma unidade de codificação não está dividida pode ser representado como (0) b. Quando um código binário das informações do modo de forma dividida, indicando que uma unidade de codificação não está dividida, é definido como (00) b, todos os códigos binários de 2 bits das informações do modo de forma dividida devem ser utilizados, apesar de não haver informações sobre o modo de forma dividida definidas para (01) b. No entanto, como mostrado na FIG. 18, quando 3 formas divididas são usadas para uma unidade de codificação não quadrada, o aparelho de decodificação de imagem 100 pode determinar não dividir uma unidade de codificação mesmo usando um código binário de 1 bit (0) b como a informação do modo de forma dividida, desse modo eficientemente usando um fluxo de bits. Noentanto, as formas divididas de uma unidade de codificação não quadrada, indicadas pelas informações do modo de forma dividida, não devem ser interpretadas como limitadas a três formas mostradas na FIG. 18 e devem ser interpretadas como sendo de várias formas, incluindo as modalidades acima.
[000230] A FIG. 19 ilustra outras formas de uma unidade de codificação determinável com base em informações do modo de forma dividida representáveis como um código binário, de acordo com uma modalidade.
[000231] Com referência à FIG. 19, o aparelho de decodificação de imagem 100 pode dividir uma unidade de codificação quadrada em uma direção horizontal ou uma direção vertical e pode dividir uma unidade de codificação não quadrada em uma direção horizontal ou uma direção vertical, com base nas informações do modo de forma dividida. Ou seja, as informações do modo de forma dividida podem indicar que uma unidade de codificação quadrada é dividida em uma direção. Nesse caso, um código binário da informação do modo de forma dividida indicando que uma unidade de codificação quadrada não está dividida pode ser representado como (0)b. Quando um código binário das informações do modo de forma dividida, indicando que uma unidade de codificação não está dividida, é definido como (00) b, todos os códigos binários de 2 bits das informações do modo de forma dividida devem ser utilizados, apesar de não haver informações sobre o modo de forma dividida definidas para (01)b. No entanto, como mostrado na FIG. 19, quando 3 formas divididas são usadas para uma unidade de codificação quadrada, o aparelho de decodificação de imagem 100 pode determinar não dividir uma unidade de codificação mesmo usando um código binário de 1 bit (0) b como a informação do modo de forma dividida, desse modo eficientemente usando um fluxo de bits. No entanto, as formas divididas de uma unidade de codificação quadrada, indicadas pelas informações do modo de forma dividida, não devem ser interpretadas como limitadas a três formas mostradas na FIG. 19 e devem ser interpretadas como sendo de várias formas, incluindo as modalidades acima.
[000232] De acordo com uma modalidade, informações da forma de bloco ou informações do modo de forma dividida podem ser representadas usando um código binário, e essas informações podem ser geradas imediatamente como um fluxo de bits. Como alternativa, informações da forma de bloco ou informações do modo de forma dividida representáveis como um código binário podem não ser imediatamente geradas como um fluxo de bits e podem ser usadas como uma entrada de código binário durante a codificação aritmética binária adaptativa ao contexto (CABAC).
[000233] De acordo com uma modalidade, será descrito um processo, realizado pelo aparelho de decodificação de imagem 100, de obter sintaxe sobre informações de forma de bloco ou informações de modo de forma dividida através de CABAC. Um fluxo de bits incluindo um código binário para a sintaxe pode ser obtido pelo obtenedor de fluxo de bits 110. O aparelho de decodificação de imagem 100 pode detectar um elemento de sintaxe indicando as informações da forma de bloco ou as informações do modo de forma dividida desbinarizando uma cadeia de bins incluída no fluxo de bits obtido. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode obter um conjunto de cadeias de bins binárias correspondentes ao elemento de sintaxe a ser decodificado e pode decodificar cada caixa usando informações de probabilidade, e o aparelho de decodificação de imagem 100 pode executar repetidamente este processo até uma cadeia de bins incluindo esses compartimentos decodificados ser a mesma que uma das cadeias de bins pré-obtidas. O aparelho de decodificação de imagem 100 pode determinar o elemento de sintaxe desbinarizando a cadeia de bins
[000234] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar a sintaxe em torno de uma cadeia de bin executando um processo de decodificação de codificação aritmética binária adaptativa e pode atualizar um modelo de probabilidade para bins obtidos pelo obtenedor de fluxo de bits
110. Com referência à FIG. 18, o obtenedor de fluxo de bits 110 do aparelho de decodificação de imagem 100 pode obter um fluxo de bits indicando um código binário indicando informações do modo de forma dividida de acordo com uma modalidade. O aparelho de decodificação de imagem 100 pode determinar a sintaxe sobre as informações do modo de forma dividida usando o código binário obtido com um tamanho de 1 ou 2 bits. A fim de determinar a sintaxe sobre as informações do modo de forma dividida, o aparelho de decodificação de imagem 100 pode atualizar uma probabilidade de cada bit dentre os 2 bits do código binário. Ou seja, o aparelho de decodificação de imagem 100 pode atualizar uma probabilidade de que um próximo bin tenha um valor de 0 ou 1 durante a decodificação, de acordo com o valor de um primeiro compartimento nos 2 bits do código binário ser 0 ou 1.
[000235] De acordo com uma modalidade, ao determinar a sintaxe, o aparelho de decodificação de imagem 100 pode atualizar uma probabilidade dos bins usados em um processo de decodificação dos bins da adeia de bin para a sintaxe, e o aparelho de decodificação de imagem 100 pode determinar que um bit específico na cadeia de bin tem a mesma probabilidade sem atualizar a probabilidade.
[000236] Com referência à FIG. 18, enquanto determina a sintaxe usando uma cadeia de bin indicando informações do modo de forma dividida sobre uma unidade de codificação não quadrada, o aparelho de decodificação de imagem 100 pode determinar a sintaxe sobre as informações do modo de forma dividida usando um bin com um valor O quando a unidade de codificação quadrada não é dividida. Ou seja, quando as informações da forma do bloco indicam que uma unidade de codificação atual tem uma forma não quadrada, um primeiro bin de uma cadeia de bin para as informações da forma dividida pode ser O quando a unidade de codificação não quadrada não for dividida e pode ser 1 quando a unidade de codificação não quadrada for dividida em duas ou três unidades de codificação. Por conseguinte, uma probabilidade de que o primeiro bin da cadeia de bins das informações do modo de forma dividida sobre a unidade de codificação não quadrada seja O pode ser 1/3 e uma probabilidade de que o primeiro bin da cadeia de bins das informações do modo de forma dividida sobre a unidade de codificação não quadrada seja 1 pode ser 2/3. Como descrito acima, porque as informações do modo de forma dividida indicando que a unidade de codificação não quadrada não está dividida podem representar apenas uma cadeia de bin de 1 bit com um valor 0, o aparelho de decodificação de imagem 100 pode determinar a sintaxe sobre as informações do modo de forma dividida determinando se um segundo bin é 0 ou 1 somente quando o primeiro bin das informações do modo de forma dividida é 1. De acordo com uma modalidade, quando o primeiro compartimento para a informação do modo de forma dividida é 1, o aparelho de decodificação de imagem 100 pode decodificar um compartimento determinando as probabilidades de que o segundo compartimento seja 0 e 1 sejam os mesmos.
[000237] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode usar várias probabilidades para cada bin, enquanto determina um bin de uma cadeia de bin para informações sobre o modo de forma dividida. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar diferentemente probabilidades de bins para informações de modo de forma dividida de acordo com uma direção de um bloco não quadrado. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar de maneira diferente as probabilidades dos bins para as informações do modo de forma dividida de acordo com uma área ou um comprimento de um lado longo de uma unidade de codificação atual. De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar diferentemente as probabilidades dos bins para as informações do modo de forma dividida de acordo com pelo menos uma de uma forma e o comprimento do lado longo da unidade de codificação atual.
[000238] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar que as probabilidades dos bins para as informações do modo de forma dividida são as mesmas em relação às unidades de codificação com um tamanho predeterminado ou mais. Por exemplo, o aparelho de decodificação de imagem 100 pode determinar que as probabilidades dos bins para as informações do modo de forma dividida são as mesmas em relação às unidades de codificação com um tamanho igual ou superior a 64 amostras com base em um comprimento de um lado longo de cada unidade de codificação.
[000239] De acordo com uma modalidade, o aparelho de decodificação de imagem 100 pode determinar uma probabilidade inicial de bins que constituem uma cadeia de bins das informações do modo de forma dividida com base em um tipo de fatia (por exemplo, uma fatia [I, uma fatia P, uma fatia B, Ou semelhante).
[000240] A FIG. 20 é um diagrama de blocos de um sistema de codificação e decodificação de imagem 2000 para realizar a filtragem de loop.
[000241] Um final de codificação 2010 do sistema de codificação e decodificação de imagem 2000 transmite um fluxo de bits codificado de uma imagem, e um final de decodificação 2050 recebe e decodifica o fluxo de bits e gera uma imagem de reconstrução. A extremidade de codificação 2010 pode ter uma configuração semelhante à do aparelho de codificação de imagem 200 que será descrito abaixo e a extremidade de decodificação 2050 pode ter uma configuração semelhante à do aparelho de decodificação de imagem 100.
[000242] No final da codificação 2010, um codificador de predição 2015 gera uma imagem de referência por meio de predição inter e intra predição e um transformador e quantizador 2020 quantiza dados residuais entre a imagem de referência e uma imagem de entrada atual em um coeficiente de transformação quantizado e gera o coeficiente de transformação quantizado . Um codificador de entropia 2025 codifica e transforma o coeficiente de transformação quantizado em um fluxo de bits e gera o fluxo de bits. O coeficiente de transformação quantizado é reconstruído como dados em um domínio espacial por um desquantizador e conversor inverso 2030, e os dados reconstruídos no domínio espacial são emitidos como uma imagem de reconstrução através de um filtro de desbloqueio 2035 e um filtro de loop 2040. A imagem de reconstrução pode ser usada como uma imagem de referência de uma próxima imagem de entrada através do codificador de predição 2015.
[000243] Os dados de imagem codificados dentre o fluxo de bits recebido pelo final da decodificação 2050 são reconstruídos como dados residuais em um domínio espacial através de um decodificador de entropia 2055 e um desquantizador e o conversor inverso 2060. Os dados de imagem em um domínio espacial são formados à medida que os dados residuais e uma saída de imagem de referência de um decodificador de predição 2075 são combinados, e um filtro de desbloqueio 2065 e um filtro de loop 2070 podem filtrar os dados de imagem no domínio espacial e podem gerar uma imagem de reconstrução para uma imagem original atual. A imagem de reconstrução pode ser usada como uma imagem de referência para uma próxima imagem original pelo decodificador de predição 2075.
[000244] Ofiltrode loop 2040 do final da codificação 2010 executa a filtragem de loop usando a entrada de informações de filtro de acordo com uma entrada do usuário ou uma configuração do sistema. As informações de filtro usadas pelo filtro de loop 2040 são enviadas para o codificador de entropia 2025 e são transmitidas juntamente com os dados de imagem codificados para o final da decodificação
2050. O filtro de loop 2070 do final da decodificação 2050 pode executar a filtragem de loop com base na entrada de informações de filtro do final de decodificação 2050.
[000245] As várias modalidades acima são para descrever uma operação relacionada a um método de decodificação de imagem realizado pelo aparelho de decodificação de imagem 100. Uma operação do aparelho de codificação de imagem 200 para executar um método de codificação de imagem correspondente a um processo de ordem inversa do método de decodificação de imagem será descrita com referência a várias modalidades.
[000246] AFIG.2éumdiagrama de blocos do aparelho de codificação de imagem 200 para codificar uma imagem com base em pelo menos uma das informações de forma de bloco e informações oe modo de forma dividida, de acordo com uma modalidade.
[000247] O aparelho de codificação de imagem 200 pode incluir um codificador 220 e um gerador de fluxo de bits 210. O codificador 220 pode receber uma imagem de entrada e pode codificar a imagem de entrada. O codificador 220 pode codificar a imagem de entrada e pode obter pelo menos um elemento de sintaxe. O elemento de sintaxe pode incluir pelo menos um dentre um sinalizador de salto, modo de predição, diferença de vetor de movimento, método (ou índice) de predição de vetor de movimento (ou índice), coeficiente quantificado de transformação, padrão de bloco codificado, sinalizador de bloco codificado, modo de predição intra, sinalizador direto, sinalizador de mesclagem, delta QP, índice de referência, direção de predição e índice de transformação. O codificador 220 pode determinar um modelo de contexto com base em informações da forma de bloco, incluindo pelo menos um dentre uma forma, uma direção, uma razão entre uma largura e uma altura e um tamanho de uma unidade de codificação.
[000248] O gerador de fluxo de bits 210 pode gerar um fluxo de bits com base na imagem de entrada codificada. Por exemplo, o gerador de fluxo de bits 210 pode gerar o fluxo de bits por entropia codificando o elemento de sintaxe com base no modelo de contexto. Além disso, o aparelho de codificação de imagem 200 pode transmitir o fluxo de bits para o aparelho de decodificação de imagem 100.
[000249] De acordo com uma modalidade, o codificador 220 do aparelho de codificação de imagem 200 pode determinar uma forma de uma unidade de codificação. Por exemplo, a unidade de codificação pode ter uma forma quadrada ou não quadrada, e as informações indicando a forma podem ser incluídas nas informações da forma do bloco.
[000250] De acordo com uma modalidade, o codificador 220 pode determinar em qual forma a unidade de codificação deve ser dividida. O codificador 220 pode determinar uma forma de pelo menos uma unidade de codificação incluída na unidade de codificação, e o gerador de fluxo de bits 210 pode gerar o fluxo de bits incluindo informações do modo de forma dividida, incluindo as informações sobre a forma da unidade de codificação.
[000251] De acordo com uma modalidade, o codificador 220 pode determinar se a unidade de codificação é dividida ou não. Quando o codificador 220 determina que apenas uma unidade de codificação está incluída na unidade de codificação ou a unidade de codificação não está dividida, o gerador de fluxo de bits 210 pode gerar o fluxo de bits incluindo as informações do modo de forma dividida, indicando que a unidade de codificação não está dividida. Além disso, o codificador 220 pode dividir a unidade de codificação em uma pluralidade de unidades de codificação, e o gerador de fluxo de bits 210 pode gerar o fluxo de bits incluindo as informações do modo de forma dividida, indicando que a unidade de codificação é dividida na pluralidade de unidades de codificação.
[000252] De acordo com uma modalidade, informações indicando o número de unidades de codificação nas quais a unidade de codificação deve ser dividida ou uma direção na qual a unidade de codificação deve ser dividida pode ser incluída nas informações do modo de forma dividida. Por exemplo, as informações do modo de forma dividida podem indicar que a unidade de codificação está dividida em pelo menos uma direção vertical e horizontal ou não está dividida.
[000253] O aparelho de codificação de imagem 200 determina as informações do modo de forma dividida com base em um modo de forma dividida da unidade de codificação. O aparelho de codificação de imagem 200 determina o modelo de contexto com base em pelo menos uma das formas, a direção, a razão entre a largura e a altura e o tamanho da unidade de codificação. O aparelho de codificação de imagem 200 gera as informações do modo de forma dividida para dividir a unidade de codificação com base no modelo de contexto como fluxo de bits.
[000254] A fim de determinar o modelo de contexto, o aparelho de codificação de imagem 200 pode obter um arranjo para corresponder pelo menos uma das formas, a direção, a razão entre a largura e a altura e o tamanho da unidade de codificação para um índice para o modelo de contexto. O aparelho de codificação de imagem 200 pode obter o índice para o modelo de contexto com base em pelo menos uma das formas, a direção, a razão entre a largura e a altura e o tamanho da unidade de codificação no arranjo. O aparelho de codificação de imagem 200 pode determinar o modelo de contexto com base no índice para o modelo de contexto.
[000255] A fim de determinar o modelo de contexto, o aparelho de codificação de imagem 200 pode determinar ainda mais o modelo de contexto com base em informações da forma de bloco, incluindo pelo menos uma de uma forma, uma direção, uma razão entre uma largura e uma altura e um tamanho de uma unidade de codificação vizinha adjacente à unidade de codificação. Além disso, a unidade de codificação vizinha pode incluir pelo menos uma dentre as unidades de codificação localizadas no lado inferior esquerdo, no lado esquerdo, no lado superior esquerdo, no lado superior, no lado superior direito, no lado direito ou no lado inferior direito da unidade de codificação.
[000256] Além disso, para determinar o modelo de contexto, o aparelho de codificação de imagem 200 pode comparar um comprimento de uma largura de uma unidade de codificação vizinha superior com um comprimento da largura da unidade de codificação. Além disso, o aparelho de codificação de imagem 200 pode comparar um comprimento de uma altura de unidades de codificação vizinhas esquerda e direita com um comprimento de altura da unidade de codificação. Além disso, o aparelho de codificação de imagem 200 pode determinar o modelo de contexto com base nos resultados de comparação.
[000257] Uma operação do aparelho de codificação de imagem 200 é semelhante a uma operação do aparelho de decodificação de imagem 100 descrito com referência às FIGS. 3 a 20 e, portanto, uma explicação detalhada não é fornecida aqui.
[000258] Um aparelho de decodificação de imagem 2100 e um aparelho de codificação de imagem 3300 de acordo com uma modalidade serão descritos com referência às FIGS. 21 a 34.
[000259] A FIG. 21 é um diagrama de blocos do aparelho de decodificação de imagem 2100 de acordo com uma modalidade.
[000260] Com referência à FIG. 21, o aparelho de decodificação de imagem 2100 de acordo com uma modalidade pode incluir um obtenedor 2110 e um decodificador de informação de movimento 2130.
[000261] O aparelho de decodificação de imagem 2100 pode obter um fluxo de bits gerado como resultado da codificação de uma imagem e pode decodificar informações de movimento para predição inter com base nas informações incluídas no fluxo de bits.
[000262] O aparelho de decodificação de imagem 2100 de acordo com uma modalidade pode incluir um processador central (não mostrado) para controlar o obtenedor 2110 e o decodificador de informação de movimento 2130. Alternativamente, o obtenedor 2110 e o decodificador de informação de movimento 2130 podem ser operados por seus próprios processadores (não mostrados) e o aparelho de decodificação de imagens 2100 pode operar como os processadores (não mostrados) operam organicamente. Alternativamente, O obtenedor 2110 e o decodificador de informação de movimento 2130 podem ser controlados por um processador externo (não mostrado) do aparelho de decodificação de imagem 2100.
[000263] O aparelho de decodificação de imagem 2100 pode incluir um ou mais armazenamentos de dados (não mostrados) nos quais os dados de entrada/saída do obtenedor 2110 e do decodificador de informação de movimento 2130 são armazenados. O aparelho de decodificação de imagem 2100 pode incluir um controlador de memória (não mostrado) para controlar a entrada/saída de dados de/para os armazenamentos de dados (não mostrados).
[000264] Afimde reconstruir uma imagem através da decodificação de imagem, o aparelho de decodificação de imagem 2100 pode executar uma operação de decodificação de imagem incluindo predição em associação com um processador interno de decodificação de vídeo ou um processador externo de decodificação de vídeo. O processador interno de decodificação de vídeo do aparelho de decodificação de imagem 2100 de acordo com uma modalidade pode executar uma operação básica de decodificação de imagem como um processador separado, ou uma unidade central de processamento ou uma unidade de processamento gráfico pode incluir um módulo de processamento de decodificação de imagem e pode executar uma operação básica de decodificação de imagem.
[000265] O aparelho de decodificação de imagem 2100 pode ser incluído no aparelho de decodificação de imagem 100. Por exemplo, o obtenedor 2110 pode ser incluído no obtenedor de fluxo de bits 110 do aparelho de decodificação de imagem 100 da FIG. l, e o decodificador de informação de movimento 2130 pode ser incluído no decodificador 120 do aparelho de decodificação de imagem 100.
[000266] O obtenedor 2110 recebe um fluxo de bits gerado como resultado da codificação de uma imagem. O fluxo de bits pode incluir informações para determinar um vetor de movimento usado para predição inter de um bloco atual. O bloco atual que é um bloco gerado pela divisão de acordo com uma estrutura em árvore de uma imagem pode corresponder a, por exemplo, uma maior unidade de codificação, uma unidade de codificação ou uma unidade de transformação.
[000267] O obtenedor 2110 pode determinar o bloco atual com base nas informações de forma de bloco e/ou modo de forma dividida incluídas em pelo menos um de um conjunto de parâmetros de sequência, um conjunto de parâmetros de quadro, 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 obtenedor 2110 pode obter um elemento de sintaxe correspondente à informação da forma do bloco ou à informação do modo de forma dividida do fluxo de bits para cada unidade de codificação maior, unidade de codificação de referência ou bloco de processamento e pode usar o elemento de sintaxe para determinar o bloco atual.
[000268] Ofluxodebits pode incluir informações 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 predefinido de acordo com a presente divulgação. O modo predefinido pode ser um modo para determinar pelo menos um candidato a vetor de movimento diferencial primário dentre os candidatos a vetor de movimento diferencial primário classificados de acordo com uma distância de disparidade e uma direção de disparidade como um vetor de movimento diferencial primário do bloco atual. O vetor de movimento diferencial primário será descrito em detalhes.
[000269] Emumamodalidade, o fluxo de bits pode incluir pelo menos uma informação dentre, indicar se o modo predefinido é aplicado ao bloco atual, informações indicando um vetor de movimento base do bloco atual, informações indicando o vetor de movimento diferencial primário do bloco atual, informações indicando uma prioridade das distâncias de disparidade para classificar os candidatos a vetor de movimento diferencial primário e informações indicando uma prioridade das direções de disparidade para classificar os candidatos a vetor de movimento diferencial primário. O obtenedor 2110 pode obter as informações incluídas no fluxo de bits em um nível correspondente a pelo menos uma de uma unidade de codificação, uma unidade de transformação, uma unidade de codificação maior, uma unidade de fatia e uma unidade de quadro.
[000270] Odecodificador de informação de movimento 2130 determina um vetor de movimento do bloco atual com base nas informações incluídas no fluxo de bits.
[000271] O decodificador de informação de movimento 2130 pode verificar se o modo predefinido é aplicado ao bloco atual com base nas informações incluídas no fluxo de bits. As informações que indicam se o modo predefinido é aplicado podem incluir um sinalizador ou um índice.
[000272] O decodificador de informação de movimento 2130 pode obter as informações indicando se o modo predefinido é aplicado a partir do fluxo de bits de um nível de unidade correspondente ao bloco atual e pode decodificar o bloco atual de acordo com o modo predefinido ou pode obter as informações indicando se o modo predefinido é aplicado a partir do fluxo de bits de um nível de unidade correspondente a um bloco de nível superior, uma fatia ou um quadro e pode decodificar os blocos incluídos no bloco de nível superior, a fatia ou quadro de acordo com o modo predefinido.
[000273] Emumexemplo, o decodificador de informação de movimento 2130 pode determinar se o modo predefinido é aplicado ao bloco atual com base em informações relacionadas a pelo menos um bloco atual, um bloco decodificado anteriormente, uma fatia atual, uma fatia decodificada anteriormente, um quadro atual e um quadro decodificado anteriormente. Neste caso, o decodificador de informação de movimento 2130 pode determinar se o modo predefinido é aplicado usando o mesmo critério que o do aparelho de codificação de imagem 3300.
[000274] Quando o modo predefinido é aplicado ao bloco atual, o decodificador de informação de movimento 2130 pode determinar candidatos a vetor de movimento diferencial primário para cada um ou mais candidatos a vetor de movimento base. Os candidatos principais do vetor de movimento diferencial podem ser classificados de acordo com a distância e a direção da disparidade.
[000275] Em uma modalidade, o um ou mais candidatos a vetores de movimento base do bloco atual pode ser determinado com base em um vetor de movimento de um bloco vizinho que está espacial e temporalmente relacionado ao bloco atual. O bloco vizinho que está espacial e temporalmente relacionado ao bloco atual pode incluir um bloco que é decodificado antes do bloco atual. O bloco vizinho espacialmente relacionado ao bloco atual pode incluir, mas não está limitado a, um bloco localizado no lado esquerdo do bloco atual e um bloco localizado no lado superior do bloco atual.
[000276] Alémdisso, o bloco vizinho temporalmente relacionado ao bloco atual pode incluir, por exemplo, um bloco localizado no mesmo ponto que o bloco atual dentre os blocos incluídos em um quadro de referência diferente do quadro atual, incluindo o bloco atual e um bloco espacialmente adjacente ao bloco localizado no mesmo ponto.
[000277] Em uma modalidade, o decodificador de informação de movimento 2130 pode determinar vetores de movimento do bloco vizinho relacionados ao bloco atual como um ou mais candidatos a vetores de movimento base. Alternativamente, o decodificador de informação de movimento 2130 pode determinar os um ou mais candidatos a vetores de movimento base alterando os vetores de movimento do bloco vizinho relacionados ao bloco atual. Alternativamente, o decodificador de informação de movimento 2130 pode determinar os um ou mais candidatos a vetores de movimento base combinando os vetores de movimento do bloco vizinho relacionados ao bloco atual de acordo com uma equação predeterminada.
[000278] Em uma modalidade, o decodificador de informação de movimento 2130 pode determinar os um ou mais candidatos a vetores de movimento base da mesma maneira que um método para determinar uma lista de candidatos de um preditor de vetor de movimento em um modo de predição de vetor de movimento adaptativo (AMVP) ou um modo de mesclagem de HEVC.
[000279] Numa modalidade, o decodificador de informação de movimento 2130 pode determinar um vetor de movimento zero tendo O como um componente como um ou mais candidatos a vetores de movimento base.
[000280] Quando os um oumais candidatos a vetor de movimento base são determinados, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento base do bloco atual com base nas informações incluídas no fluxo de bits. As informações indicando o vetor de movimento base do bloco atual podem incluir um índice, e o índice indicando o vetor de movimento base do bloco atual pode ser obtido a partir do fluxo de bits correspondente a pelo menos um de um nível de unidade de transformação, um nível de unidade de codificação, um nível de unidade de codificação maior, um nível de fatia e nível de quadro.
[000281] Em uma modalidade, as informações indicando o vetor de movimento base do bloco atual podem ser codificadas usando um método FLC, um método de codificação unário ou um método de codificação unário truncado e podem ser incluídas no fluxo de bits.
[000282] Em uma modalidade, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento base do bloco atual dentre um ou mais candidatos a vetor de movimento base, com base nas informações relacionadas a pelo menos um bloco atual, o bloco decodificado anteriormente, a fatia atual, a fatia decodificada anteriormente, o quadro atual e o quadro decodificado anteriormente. Neste caso, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento base usando o mesmo critério que o do aparelho de codificação de imagem 3300.
[000283] Quando o vetor de movimento base do bloco atual é determinado, o decodificador de informação de movimento 2130 pode determinar um vetor de movimento diferencial primário do bloco atual dentre um ou mais candidatos a vetor de movimento diferencial primário.
[000284] Os candidatos principais do vetor de movimento diferencial do bloco atual podem ser classificados de acordo com uma distância de disparidade e uma direção de disparidade, e o obtenedor 2110 pode obter informações indicando pelo menos uma distância de disparidade e a direção de disparidade do fluxo de bits e do decodificador de informação de movimento 2130 pode determinar o vetor de movimento diferencial primário correspondente à informação indicando pelo menos uma da distância de disparidade e a direção de disparidade.
[000285] Pelo menos uma dentre as informações indicando a distância de disparidade para especificar o vetor de movimento diferencial primário do bloco atual e as informações indicando a direção de disparidade pode ser obtida a partir do fluxo de bits de um nível de unidade de transformação, um nível de unidade de codificação, um nível de unidade de codificação maior, um nível de fatia ou nível de quadro.
[000286] As informações indicando a distância e a direção da disparidade, para especificar o vetor de movimento diferencial primário do bloco atual, podem ser codificadas usando um método FLC, um método de codificação unário ou um método de codificação unário truncado e podem ser incluídos no fluxo de bits. O obtenedor 2110 pode decodificar a informação indicando a direção da disparidade, por exemplo, pelo menos um dos índices indicando a direção da disparidade, usando um modelo de contexto do fluxo de bits.
[000287] Em uma modalidade, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento diferencial primário do bloco atual dentre um ou mais candidatos a vetor de movimento diferencial primário, com base nas informações relacionadas a pelo menos um bloco atual, o bloco decodificado anteriormente, a fatia atual, a fatia decodificada anteriormente, o quadro atual e o quadro decodificado anteriormente. Neste caso, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento diferencial primário usando o mesmo critério que o do aparelho de codificação de imagem 3300.
[000288] Quando o vetor de movimento diferencial primário do bloco atual é determinado, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento do bloco atual aplicando o vetor de movimento diferencial primário ao vetor de movimento base do bloco atual. Em um exemplo, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento do bloco atual adicionando o vetor de movimento diferencial primário ao vetor de movimento base do bloco atual.
[000289] Quando a informação indicando um vetor de movimento diferencial secundário é incluída no fluxo de bits, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento diferencial secundário do bloco atual com base nas informações indicando o vetor de movimento diferencial secundário. A informação indicando o vetor de movimento diferencial secundário pode ser codificada usando um método diferente de um método de codificação da informação indicando o vetor de movimento diferencial primário (por exemplo, um método FLC, um método de codificação unário ou um método de codificação truncado) e pode ser incluída no fluxo de bits. Por exemplo, as informações indicando o vetor de movimento diferencial secundário podem ser codificadas usando um método de codificação exponencial de Golomb e podem ser incluídas no fluxo de bits. O obtenedor 2110 pode obter as informações indicando o vetor de movimento diferencial secundário a partir do fluxo de bits de um nível de unidade de transformação, 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 quadro.
[000290] O decodificador de informação de movimento 2130 pode determinar o vetor de movimento do bloco atual aplicando o vetor de movimento diferencial secundário ao vetor de movimento base alterado pela aplicação do vetor de movimento diferencial primário. Em um exemplo, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento do bloco atual adicionando o vetor de movimento diferencial secundário para o vetor de movimento base alterado pela aplicação do vetor de movimento diferencial primário.
[000291] Emumamodalidade, quando uma direção de predição do bloco atual é bidirecional, o vetor de movimento diferencial secundário pode ser incluído no fluxo de bits para apenas uma direção unidirecional. Por exemplo, as informações indicando o vetor de movimento diferencial secundário podem ser incluídas no fluxo de bits para apenas uma direção unidirecional entre uma direção da lista 0 e uma direção da lista 1.
[000292] Quando o vetor de movimento diferencial secundário é incluído no fluxo de bits apenas para a direção da lista 0, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento da direção da lista O do bloco atual, aplicando o vetor de movimento diferencial secundário na direção da lista O para o vetor de movimento base da direção da lista O foi alterado aplicando o vetor de movimento diferencial primário na direção da lista 0. O decodificador de informação de movimento 2130 pode determinar o vetor de movimento da direção da lista 1 do bloco atual, aplicando o vetor de movimento diferencial primário para a direção da lista 1 ao vetor de movimento base da direção da lista 1 ou pode determinar o vetor de movimento da direção da lista 1 do bloco atual aplicando o vetor de movimento diferencial secundário para a direção da lista O a um resultado obtido após a aplicação do vetor de movimento diferencial primário para a direção da lista 1 ao vetor de movimento base da direção da lista 1.
[000293] Quando o modo predefinido de acordo com a presente divulgação e o modo AMVP do HEVC são comparados entre si, no modo AMVP, um aparelho de decodificação determina um vetor de movimento de predição e um vetor de movimento diferencial e, em seguida, determina um vetor de movimento de um bloco combinando o vetor de movimento de predição com o vetor de movimento diferencial. O vetor de movimento base no modo predefinido de acordo com a presente divulgação executa uma função semelhante à do vetor de movimento de predição, e o vetor de movimento diferencial primário executa uma função semelhante à do vetor de movimento diferencial do modo AMVP. No entanto, há uma diferença em que o vetor de movimento diferencial primário no modo predefinido de acordo com a presente divulgação é classificado de acordo com a distância e a direção da disparidade e é codificado usando pelo menos um método FLC, um método de codificação unário, e um método de codificação unário truncado, e o vetor de movimento diferencial do modo AMVP é codificado usando um método de codificação exponencial de Golomb. Além disso, o modo predefinido de acordo com a presente divulgação codifica/decodifica o vetor de movimento diferencial secundário, melhorando assim a precisão de um vetor de movimento de um bloco.
[000294] Um método para determinar candidatos a vetores de movimento diferenciais primários correspondentes a um candidato a vetor de movimento base será descrito com referência às FIGS. 22 a 25.
[000295] As FIGS. 22 a 25 ilustram cada candidato a vetor de movimento diferencial primário exibido em um plano de coordenadas.
[000296] Com referência às FIGS. 22 a 25, o decodificador de informação de movimento 2130 pode determinar candidatos localizados de acordo com uma forma predeterminada, para determinar candidatos a vetores de movimento diferenciais primários. A forma predeterminada pode ser uma forma poligonal, como uma forma de diamante ou uma forma quadrangular, ou uma forma semelhante a uma forma circular.
[000297] O decodificador de informação de movimento 2130 pode determinar candidatos a uma certa distância de disparidade de um ponto predefinido (por exemplo, um ponto (0, 0)) como os candidatos principais do vetor de movimento diferencial. O decodificador de informação de movimento 2130 pode determinar candidatos a vetores de movimento diferenciais primários a uma primeira distância de disparidade de um ponto predefinido como um primeiro grupo candidato, pode determinar candidatos a vetores de movimento diferenciais primários a uma segunda distância de disparidade do ponto predefinido como um segundo grupo candidato, e pode determinar candidatos primários do vetor de movimento diferencial a uma nº distância de disparidade do ponto predefinido como um nº grupo candidato. O decodificador de informação de movimento 2130 pode determinar os candidatos a vetores de movimento diferenciais primários armazenados no ponto predefinido como um primeiro grupo candidato e pode determinar os segundos candidatos a vetores de movimento diferenciais primários mais próximo ao ponto predefinido como um segundo grupo candidato. Ou seja, à medida que a distância da disparidade aumenta, o número (ou índice) de um grupo candidato pode aumentar sequencialmente.
[000298] À medida que o número do grupo candidato aumenta, a distância da disparidade pode aumentar em intervalos de escala logarítmica ou em intervalos não lineares. Além disso, à medida que o número do grupo candidato aumenta, a distância da disparidade pode aumentar em intervalos de N (N é um número inteiro) (por exemplo, N, 2N, 3N, ...). Além disso, à medida que o grupo candidato aumenta, a distância de disparidade pode aumentar, de modo que a diferença entre a distância de disparidade e uma distância de disparidade anterior seja constante.
[000299] Adistância de disparidade pode ser determinada de acordo com a definição do usuário. Alternativamente, o decodificador de informação de movimento 2130 pode determinar diretamente a distância de disparidade com base em informações relacionadas a um bloco atual, uma camada temporal ou um grupo de imagens (GOP), ou pode obter informações indicando a distância de disparidade para determinar os candidatos a vetor de movimento diferencial primário através de um fluxo de bits.
[000300] O decodificador de informação de movimento 2130 pode determinar a distância de disparidade para determinar o candidato a vetor de movimento diferencial primário do bloco atual de acordo com a distância de disparidade determinada em um nível superior ao nível correspondente ao bloco atual.
[000301] O número de candidatos a vetor de movimento diferencial primário pode ser determinado independentemente para cada grupo candidato. O decodificador de informação de movimento 2130 pode determinar o número de candidatos a vetor de movimento diferencial primário para cada grupo candidato do bloco atual de acordo com a informação numérica determinada em um nível superior ao nível correspondente ao bloco atual.
[000302] As FIGS. 22 e 23 ilustram um caso em que o número de candidatos a vetor de movimento diferencial primário em cada grupo candidatos é 4. Além disso, embora o número de grupos de candidatos seja 3 nas FIGS. 22 e 23, o número de grupos candidatos não se limita a 3.
[000303] Com referência à FIG. 22, o decodificador de informação de movimento 2130 pode determinar candidatos a vetores de movimento diferenciais primários tendo uma distribuição de diamante com base em um ponto predefinido. Embora um intervalo entre pixels corresponda a uma distância de 1/4 de pixel, um valor de componente dos seguintes candidatos a vetor é aumentado 4 vezes e é exibido para facilitar a explicação. A distância de 1/4 pixel pode corresponder a uma distância de disparidade de 1.
[000304] O decodificador de informação de movimento 2130 pode determinar os candidatos a vetor de movimento diferencial primário (1, 0), (-1, 0), (0, 1) e (0, -1) a uma distância de 1/4 de pixel do ponto predefinido como um primeiro grupo candidato.
[000305] O decodificador de informação de movimento 2130 pode determinar candidatos a vetores de movimento diferenciais primários (2, 0), (-2, 0), (0, 2) e (0, -2) a uma distância de 1/2 pixel do ponto predefinido como um segundo grupo candidato.
[000306] O decodificador de informação de movimento 2130 pode determinar candidatos a vetores de movimento diferenciais primários (4, 0), (-4, O), (0, 4) e (0, -4) a uma distância de 1 pixel do ponto predefinido como um terceiro grupo candidato.
[000307] Com referência à FIG. 23, o decodificador de informação de movimento 2130 pode determinar candidatos a vetores de movimento diferenciais primários tendo uma distribuição quadrangular baseada no ponto predefinido.
[000308] O decodificador de informação de movimento 2130 pode determinar os candidatos a vetor de movimento diferencial primário (1, 1), (1, -1), (-1, 1), e (-1, -1) a uma distância de cerca de 1/4 de pixel com base no ponto predefinido como um primeiro grupo candidato.
[000309] O decodificador de informação de movimento 2130 pode determinar candidatos a vetores de movimento diferenciais primários (2, 2), (2, -2), (-2, 2), e (-2, -2) a uma distância de 1/2 com base no ponto predefinido como um segundo grupo candidato.
[000310] O decodificador de informação de movimento 2130 pode determinar os vetores de movimento diferenciais primários (4, 4), (4, —-4), (-4, 4) e (-4, -4) a uma distância de cerca de 1 pixel com base no ponto predefinido como um terceiro grupo candidato.
[000311] Com referência à FIG. 24, o decodificador de informação de movimento 2130 pode determinar o número de candidatos a vetor diferencial de movimento primário incluídos em pelo menos um grupo candidato dentre vários grupos candidatos para ser diferente daquele dos outros grupos candidatos.
[000312] Em detalhes, decodificador de informação de movimento 2130 pode determinar oito candidatos a vetor de movimento diferencial primário (1, 0), (-1, 0), (0, 1), (0, -1), (1, 1), (1, -1), (-1, 1), e (-1, -1) a uma distância de cerca de 1/4 de pixel do ponto predefinido como um primeiro grupo candidato.
[000313] Também, o decodificador de informação de movimento 2130 pode determinar oito candidatos a vetores de movimento diferenciais primários (2, 0), (-2, O), (0, 2), (0, -2), (2, 2), (2, -2), (-2, 2), e (-2, -2) a uma distância de 1/2 pixel do ponto predefinido como um segundo grupo candidato.
[000314] O decodificador de informação de movimento 2130 pode determinar quatro candidatos a vetores de movimento diferenciais primários (4, 0), (-4, 0), (0, 4) e (0, -4) a uma distância de cerca de 1 pixel do ponto predefinido como um terceiro grupo candidato.
[000315] Com referência à FIG. 25, o decodificador de informação de movimento 2130 pode determinar de várias formas as formas de distribuição dos candidatos a vetor de movimento diferencial primário de acordo com grupos candidatos. Em um exemplo, oO decodificador de informação de movimento 2130 pode determinar os candidatos a vetor de movimento diferencial primário (1, 0), (-1, 0), (0, 1) e (0, -1) tendo uma distribuição de diamante com base no ponto predefinido como um primeiro grupo candidato.
[000316] Além disso, o decodificador de informação de movimento 2130 pode determinar os candidatos a vetor de movimento diferencial primário (2, 2), (-2, 2), (2, -2) e (-2, -2) tendo uma distribuição quadrangular com base no ponto predefinido como um segundo grupo candidato.
[000317] Além disso, o decodificador de informação de movimento 2130 pode determinar os candidatos a vetor de movimento diferencial primário (4, 0), (-4, 0), (0, 4) e (0, -4) tendo uma distribuição de diamante com base no ponto predefinido como um terceiro grupo candidato. Uma forma de distribuição dos candidatos a vetor de movimento diferencial primário incluídos em cada grupo candidato não está limitada à mostrada na FIG. 25 e pode ter qualquer uma de várias outras formas de distribuição.
[000318] AFIG.26é umdiagrama para descrever um índice indicando candidatos a vetor de movimento diferencial primário, de acordo com uma modalidade.
[000319] Comomostrado na FIG. 26, o número de referência 2601 pode denotar uma representação de bit correspondente a um índice indicando um candidato a vetor de movimento base, o número de referência 2602 pode denotar uma representação de bit correspondente a um índice indicando uma distância de disparidade (ou um grupo candidato) de um candidato a vetor de movimento diferencial primário e os números de referência 2603 e 2604 podem denotar uma representação de bit correspondente a um índice indicando uma direção de disparidade do candidato a vetor de movimento diferencial primário.
[000320] Afimde determinar um vetor de movimento base de um bloco atual com base em um índice indicando o vetor de movimento base incluído em um fluxo de bits, o decodificador de informação de movimento 2130 pode atribuir um índice a cada um de um ou mais candidatos a vetores de movimento base. Além disso, o decodificador de informação de movimento 2130 pode atribuir um índice a cada um dos candidatos a vetor de movimento diferencial primário para determinar um vetor de movimento diferencial primário do bloco atual com base em um índice indicando o vetor de movimento diferencial primário incluído no fluxo de bits.
[000321] Comreferência à FIG. 26, um índice de O pode ser atribuído a um candidato a vetor de movimento base 0 e um índice de 10 pode ser atribuído a um candidato a vetor de movimento base 1. Um índice indicando cada um dos candidatos a vetor de movimento base pode ser representado usando um método de codificação unário ou um método de codificação unário truncado de acordo com uma ordem predeterminada.
[000322] O número de bits representando um índice pode aumentar do candidato a vetor de movimento base O para um candidato a vetor de movimento base 4, e uma prioridade entre os candidatos a vetor de movimento base para atribuir um índice pode ser definida usando o mesmo critério que o do aparelho de codificação de imagem 3300.
[000323] Em uma modalidade, a informação indicando a prioridade entre os candidatos a vetor de movimento base para atribuir um índice pode ser incluída no fluxo de bits e, neste caso, o decodificador de informação de movimento 2130 pode atribuir um índice a cada um dos candidatos a vetor de movimento base de acordo com o informações indicando a prioridade obtida do fluxo de bits. As informações indicando a prioridade entre os candidatos a vetor de movimento base obtidos a partir do fluxo de bits podem incluir informações sobre um número de prioridade alterado em comparação com a prioridade entre os candidatos a vetor de movimento base determinados em um bloco anterior, uma fatia anterior ou um quadro anterior. Por exemplo, quando um número prioritário do candidato a vetor de movimento base 0 é 1 no bloco anterior, na fatia anterior ou no quadro anterior, mas é alterado para 3 em relação a um bloco atual, uma fatia atual ou um quadro atual, as informações indicando que o número de prioridade do candidato a vetor de movimento base 0 é alterado para 3 podem ser incluídas no fluxo de bits. Como alternativa, informações indicando que uma prioridade entre os candidatos a vetor de movimento base determinados no bloco anterior, na fatia anterior ou no quadro anterior e uma prioridade entre os candidatos a vetor de movimento base no bloco atual, na fatia atual ou no quadro atual são comparados entre si e não há alteração entre eles, podem ser incluídas no fluxo de bits.
[000324] Os candidatos a vetor de movimento diferencial primário determinados de acordo com um candidato a vetor de movimento base podem ser agrupados em um grupo candidato de acordo com um critério predeterminado. O critério predeterminado pode ser o quanto de distância de disparidade os candidatos a vetor de movimento diferencial primário estão afastados do ponto predefinido. Um índice de cada grupo candidato pode ser representado usando um método de codificação unário ou um método de codificação unário truncado. De acordo com uma modalidade, um índice de cada grupo candidato pode ser representado usando um método FLC.
[000325] Com referência à FIG. 26, o número de bits para representar um índice de um grupo candidato pode aumentar de um grupo candidato O correspondente a uma distância de disparidade de 1 a um grupo candidato 7 correspondente a uma distância de disparidade de 8 e uma prioridade entre os grupos candidatos para atribuir um índice pode ser definida usando o mesmo critério que o do aparelho de codificação de imagem 3300.
[000326] Em uma modalidade, a informação indicando a prioridade entre os grupos candidatos para atribuir um índice pode ser incluída no fluxo de bits e, neste caso, o decodificador de informação de movimento 2130 pode atribuir um índice a cada um dos grupos candidatos de acordo com o informações indicando a prioridade obtida do fluxo de bits. As informações indicando a prioridade entre os grupos candidatos obtidos do fluxo de bits podem incluir informações sobre um número de prioridade alterado em comparação com uma prioridade entre os grupos candidatos determinados em um bloco anterior, uma fatia anterior ou um quadro anterior. Por exemplo,
quando um número prioritário do grupo candidato O é 1 no bloco anterior, na fatia anterior ou no quadro anterior, mas é alterado para 3 em relação a um bloco atual, uma fatia atual ou um quadro atual, as informações indicando que o número de prioridade do grupo candidato 0 é alterado para 3 podem ser incluídas no fluxo de bits. Como alternativa, informações indicando que uma prioridade entre os grupos candidatos determinados no bloco anterior, na fatia anterior ou no quadro anterior e uma prioridade entre os grupos candidatos no bloco atual, na fatia atual ou no quadro atual são comparados entre si e não há alteração entre eles, podem ser incluídas no fluxo de bits.
[000327] O grupo candidato O da FIG. 26 pode incluir candidatos espaçados por uma distância de disparidade de 1 a partir de um ponto predefinido e, em uma modalidade, o grupo candidato O pode incluir um candidato espaçado por uma distância de O a partir do ponto predefinido. Como o candidato espaçado da distância de O do ponto predefinido é o próprio ponto predefinido, quando o ponto predefinido corresponde a (0, 0) como descrito com referência às FIGS. 22a25, um candidato a vetor de movimento diferencial primário se torna (0, 0). Nesse caso, quando as informações que indicam um grupo candidato para especificar um vetor de movimento diferencial primário de um bloco atual indicam o grupo candidato 0, sem a necessidade de obter informações indicando uma direção de disparidade, a menos que haja um vetor de movimento diferencial secundário, um vetor de movimento base do bloco atual pode ser determinado como um vetor de movimento do bloco atual. Em outras palavras, quando um vetor de movimento base é determinado para o bloco atual e as informações que indicam um grupo candidato indicam o grupo candidato 0, o vetor de movimento base é um vetor de movimento do bloco atual e, portanto, um modo de mesclagem ou um modo de salto de HEVC convencional pode ser substituído.
[000328] Um índice (ou um sinalizador) indicando uma direção de disparidade pode ser atribuído aos candidatos a vetor de movimento diferencial primário incluídos em um grupo candidatos. Nesse caso, o índice indicando a direção da disparidade pode ser representado usando um método FLC. Por exemplo, quando quatro candidatos a vetor de movimento diferencial primário são incluídos em um grupo candidato, dois bits podem ser necessários para indicar cada um dos quatro candidatos a vetor de movimento diferencial primário.
[000329] O decodificador de informação de movimento 2130 pode classificar os candidatos a vetores de movimento diferenciais primários incluídos em um grupo candidato em grupos de acordo com as localizações em um plano de coordenadas e pode atribuir um índice ou um sinalizador correspondente a cada um dos grupos classificados.
[000330] Com referência à FIG. 26, de acordo se os candidatos a vetor de movimento diferencial primário (1, 0), (-1, O), (0, 1) e (0, -1) correspondentes ao grupo candidato O do candidato a vetor de movimento base 0 são localizado ao longo de um eixo x ou um eixo y, um índice (ou um sinalizador) de O ou 1 pode ser atribuído como mostrado na representação de bits 2603 e de acordo com o candidato do vetor de movimento diferencial primário (1, 0), (-1, O), (O, 1) e (0, -1) estão localizados na direção+ ou na direção -, um índice (ou um sinalizador) de O ou 1 pode ser atribuído como mostrado na representação de bit 2604.
[000331] Como descrito acima, o obtenedor 2110 pode decodificar pelo menos um dos índices indicando uma direção de disparidade de um vetor de movimento diferencial primário do fluxo de bits usando um modelo de contexto. Por exemplo, o obtenedor 2110 pode dividir quatro candidatos a vetor de movimento diferencial primário incluídos em um grupo candidato em dois grupos, incluindo dois candidatos localizados ao longo do eixo x e dois candidatos localizados ao longo do eixo y, e podem decodificar, de acordo com um modelo de contexto, um índice (2603) indicando se um candidato está localizado ao longo do eixo x ou do eixo y. Quando é determinado que o candidato está localizado ao longo do eixo x ou do eixo y, o obtenedor 2110 pode decodificar, de acordo com um modelo de contexto, um índice (2604) indicando se o candidato está localizado na direção + ou direção -.
[000332] Em uma modalidade, o decodificador de informação de movimento 2130 pode fazer com que apenas um candidato localizado em um ponto predefinido em um plano de coordenadas seja incluído em cada grupo candidato. Por exemplo, o decodificador de informação de movimento 2130 pode fazer com que apenas candidatos localizados ao longo do eixo x ou do eixo y sejam incluídos em cada grupo candidato, com base em informações sobre pelo menos um quadro anterior, um quadro atual, uma fatia anterior, uma fatia atual, um bloco anterior e um bloco atual. Por exemplo, dentre os candidatos (1, 0), (-1, 0), (0, 1) e (0, -1) incluídos no grupo candidato O da FIG. 26, apenas os candidatos (1, 0) e (-1, O) podem ser incluídos no grupo candidato 0, e apenas um índice correspondente à representação de bits 2604 para indicar uma direção de disparidade pode ser atribuído como um índice indicando uma direção de disparidade a cada candidato.
[000333] Um método para determinar um candidato a vetor de movimento diferencial primário quando um candidato a vetor de movimento base for um vetor de movimento bidirecional será descrito.
[000334] Primeiro, a FIG. 27 para descrever informações de movimento usadas para predição bidirecional de um bloco ilustra um caso em que um bloco é predito bidirecionalmente no modo AMVP de HEVC.
[000335] Umbloco 2710 pode ser predito unidirecionalmente usando um quadro de referência 2750 incluída em uma lista 1 ou um quadro de referência 2730 incluída em uma lista O ou pode ser predito bidirecionalmente usando dois quadros de referência 2730 e 2750 incluídos na lista 0 e a na lista 1.
[000336] Com referência à FIG. 27, quando uma direção de predição do bloco 2710 é uma direção unidirecional de uma direção da lista 0, um vetor de movimento MVO da direção da lista O do bloco 2710 é determinado com base em um vetor de movimento de predição MVPO correspondente à direção da lista 0 e um vetor de movimento diferencial MVDO para a direção da lista O. Quando uma direção de predição do bloco 2710 é uma direção unidirecional de uma direção da lista 1, um vetor de movimento MV1 da direção da lista 1 do bloco 2710 é determinado com base em um vetor de movimento de predição MVP1 correspondente à direção da lista 1 e um vetor de movimento diferencial MVD1 para a direção da lista 1.
[000337] Quando uma direção de predição do bloco 2710 é uma bidirecional, incluindo a direção da lista O e a direção da lista 1, o vetor de movimento MVO da direção da lista O do bloco 2710 é determinado com base no vetor de movimento de predição MVPO correspondente à direção da lista 0 e o vetor de movimento diferencial MVDO para a direção da lista 0, e o vetor de movimento MV1 da direção da lista 1 do bloco 2710 é determinado com base no vetor de movimento de predição MVP1l correspondente à direção da lista 1 e no vetor de movimento diferencial MVD1l para a direção da lista 1.
[000338] Ou seja, quando um bloco é predito bidirecionalmente, pode significar que um vetor de movimento do bloco inclui um vetor de movimento da direção da lista 0 e um vetor de movimento da direção da lista 1 e pode significar que um vetor de movimento diferencial do bloco inclui um vetor de movimento diferencial para a direção da lista 0 e um vetor de movimento diferencial para a direção da lista 1.
[000339] Em uma modalidade da presente divulgação, quando um candidato a vetor de movimento base corresponde a um vetor de movimento bidirecional, o candidato a vetor de movimento base inclui um candidato a vetor de movimento base da direção da lista 0 e um candidato a vetor de movimento base da direção da lista 1, e um método para determinar um candidato a vetor de movimento diferencial primário para a direção da lista O e um candidato a vetor de movimento diferencial primário para a direção da lista 1 serão descritos.
[000340] A FIG. 28 ilustra, quando um candidato a vetor de movimento base corresponde a um vetor de movimento bidirecional, uma relação posicional entre um primeiro quadro de referência 2830 indicado por um candidato de vetor de movimento base de uma primeira direção unidirecionaldirecional, um segundo quadro de referência 2850 indicado por um candidato de vetor de movimento base de uma segunda direção unidirecional e um quadro atual 2810 incluindo um bloco atual. Na FIG. 28, supõe-se que uma distância entre o quadro atual 2810 e a primeira quadro de referência 2830 seja dl e uma distância entre o quadro atual 2810 e o segundo quadro de referência 2850 seja d2. A distância entre os quadros pode se referir a uma diferença de valor do contador de pedidos de quadros (POC) entre os quadros. Além disso, a primeira direção unidirecional refere-se a uma direção da lista O ou a uma lista 1 e a segunda direção unidirecional refere-se a uma direção diferente da primeira direção unidirecional.
[000341] Com referência à FIG. 28, o quadro atual 2810 tem um POC B, e o primeiro quadro de referência 2830 e o segundo quadro de referência 2850, respectivamente, têm um POC A e um POC C. Candidatos a vetor de movimento diferencial primário quando o POC B tem um valor entre o POC A e o POC C são ilustrados na FIG. 29
[000342] Embora os candidatos a vetor de movimento diferencial primário da FIG. 26 incluem um candidato diferencial para uma lista O ou um candidato diferencial para uma lista 1 de acordo com uma direção de um candidato a vetor de movimento base, quando um candidato a vetor de movimento base é bidirecional, cada candidato a vetor de movimento diferencial primário pode incluir um candidato diferencial para a lista O e um candidato diferencial para a lista
1.
[000343] Quando o POC B tem um valor entre o POC A e o POC C, cada um dos candidatos a vetor de movimento diferencial primário classificados de acordo com uma distância de disparidade e uma direção de disparidade pode incluir um candidato de vetor de movimento diferencial primário para a primeira direção unidirecionallateral com um valor de um tamanho correspondente à distância de disparidade e um candidato a vetor de movimento diferencial primário para a segunda direção unidirecional com um valor do sinal oposto e um tamanho correspondente à distância de disparidade.
[000344] Por exemplo, na FIG. 29, um candidato a vetor de movimento diferencial primário especificado por um índice 00 indicando uma direção de disparidade dentre os candidatos a vetor de movimento diferencial primário incluídos em um grupo candidato O pode incluir (1, 0) tendo um valor de um tamanho correspondente a uma distância de disparidade como um componente e (-1, 0) com um valor do sinal oposto como componente. (1, 0) pode corresponder a um candidato a vetor de movimento diferencial primário para a primeira direção unidirecional e (-1, O) pode corresponder a um candidato a vetor de movimento diferencial primário para a segunda direção unidirecional. Quando o índice 00, indicando a direção da disparidade, é obtido a partir de um fluxo de bits, o decodificador de informação de movimento 2130 pode determinar (1, O) como o vetor de movimento diferencial primário para a primeira direção unidirecional do bloco atual e pode determinar (-1, O) como vetor de movimento diferencial primário para a segunda direção unidirecional do bloco atual.
[000345] Numa modalidade, um valor de um candidato a vetor de movimento diferencial primário para uma direção unidirecional pode ser aumentado de acordo com uma distância entre dl e d2. Por exemplo, quando um candidato a vetor de movimento diferencial primário para a primeira direção unidirecional no caso em que dl é 1 é (1, O), um candidato a vetor de movimento diferencial primário para a segunda direção unidirecional no caso em que d2 é 2 pode ser determinado como sendo (-2, 0).
[000346] Em outras palavras, um candidato a vetor de movimento diferencial primário para a primeira direção unidirecional é (x, y), um candidato a vetor de movimento diferencial primário para a segunda direção unidirecional pode ser determinado como sendo ((d2/d1) *(-x), (d2/dl)*(-y)). Em um exemplo, d2/dl pode ser calculado como um tipo inteiro (int), ou de acordo com uma modalidade, pode ser calculado como um tipo duplo ou tipo flutuante. Alternativamente, de acordo com uma modalidade, d2/dl pode ser convertido através de um operador de deslocamento de bits (<, >), pode ser arredondado e, em seguida, pode ser calculado aplicando novamente um operador de deslocamento de bits.
[000347] A FIG. 30 ilustra, quando um candidato a vetor de movimento base corresponde a um vetor de movimento bidirecional, uma relação posicional entre um primeiro quadro de referência 2930 indicado por um candidato de vetor de movimento base de uma primeira direção unidirecionaldirecional, um segundo quadro de referência 2950 indicado por um candidato de vetor de movimento base de uma segunda direção unidirecional e um quadro atual 2910 incluindo um bloco atual. Na FIG. 30, supõe-se que uma distância entre o quadro atual 2910 e o primeiro quadro de referência 2930 seja dl e uma distância entre o quadro atual 2910 e o segundo quadro de referência 2950 seja d2.
[000348] Com referência à FIG. 30, o quadro atual 2910 tem um POC A, e Oo primeiro quadro de referência 2930 e o segundo quadro de referência 2950, respectivamente, têm um POC B e um POC C. Candidatos a vetor de movimento diferencial primário quando o POC A é menor que o POC B e o O POC C é ilustrado na FIG. 31 Os candidatos a vetor de movimento diferencial primário quando o POC A é maior que o POC B e o POC C podem ser iguais aos da FIG. 31
[000349] Cada um dos candidatos a vetor de movimento diferencial primário classificados de acordo com uma distância de disparidade e uma direção de disparidade pode incluir um candidato diferencial para a primeira direção unidirecional e um candidato diferencial para a segunda direção unidirecional.
[000350] Quando o POC A é maior ou menor que o POC B e o POC C, cada um dos candidatos a vetor de movimento diferencial primário classificados de acordo com uma distância de disparidade e uma direção de disparidade pode incluir um candidato de vetor de movimento diferencial primário para a primeira direção unidirecionallateral com um valor de um tamanho correspondente à distância de disparidade e um candidato a vetor de movimento diferencial primário para a segunda direção unidirecional com um valor do mesmo sinal e um tamanho correspondente à distância de disparidade.
[000351] Por exemplo, referindo-se à FIG. 31, um candidato a vetor de movimento diferencial primário especificado por um índice 00 indicando uma direção de disparidade dentre os candidatos a vetor de movimento diferencial primário incluídos em um grupo candidato O pode incluir (1, O) tendo um valor de um tamanho correspondente à distância de disparidade como um componente e (1, 0) com um valor do mesmo sinal e o tamanho (1, 0) como um componente.
[000352] Aqui, um valor de um candidato a vetor de movimento diferencial primário para uma direção unidirecional pode ser aumentado de acordo com uma distância entre dl e d2. Por exemplo, quando um candidato a vetor de movimento diferencial primário para a primeira direção unidirecional no caso em que dl é 1 é (1, O), um candidato a vetor de movimento diferencial primário para a segunda direção unidirecional no caso em que d2 é 2 pode ser determinado como sendo (2, O).
[000353] Em outras palavras, quando um candidato a vetor de movimento diferencial primário para a primeira direção unidirecional é (x, y), um candidato a vetor de movimento diferencial primário para a segunda direção unidirecional pode ser determinado como sendo ((d2/d1)*(x), (d2/dl)*(y)). Emum exemplo, d2/dl pode ser calculado como um tipo inteiro (int), ou de acordo com uma modalidade, pode ser calculado como um tipo duplo ou tipo flutuante. Alternativamente, de acordo com uma modalidade, d2/d1l pode ser convertido através de um operador de deslocamento de bits (<, >), pode ser arredondado e, em seguida, pode ser calculado aplicando novamente um operador de deslocamento de bits.
[000354] Um método para determinar um vetor de movimento de um bloco atual em consideração a direção de predição do bloco atual e a direção de um vetor de movimento base será descrito.
[000355] Quando uma direção de predição de um bloco atual e uma direção de um vetor de movimento base do bloco atual são as mesmas,
o decodificador de informação de movimento 2130 pode determinar um vetor de movimento do bloco atual aplicando um vetor de movimento diferencial primário ao vetor de movimento base do bloco atual.
[000356] Em uma modalidade, o obtenedor 2110 pode extrair informações indicando uma direção de uso do vetor de movimento base, por exemplo, um índice, de um fluxo de bits. As informações que indicam a direção de uso do vetor de movimento base podem corresponder à direção de predição do bloco atual. Em um exemplo, quando a direção de uso do vetor de movimento base é uma direção da lista 0, o bloco atual pode ser submetido à predição unidirecional da direção da lista O e quando a direção de uso do vetor de movimento base é uma direção da lista 1, o bloco atual pode ser submetido à predição unidirecional da direção da lista 1. Além disso, quando a direção de uso do vetor de movimento base é bidirecional, o bloco atual pode ser submetido à predição bidirecional.
[000357] Por exemplo, quando o vetor de movimento base é bidirecional, um valor de bit O pode indicar que a direção de uso do vetor de movimento base é a direção bidirecional, um valor de bit 10 pode indicar que a direção de uso do vetor de movimento base é a direção da lista 0 e um valor de bit 11 pode indicar que a direção de uso do vetor de movimento base é a direção da lista 1.
[000358] Alémdisso, por exemplo, quando o vetor de movimento base está na primeira direção unidirecional da direção da lista O ou na direção da lista 1, o valor do bit O pode indicar que a direção de uso do vetor de movimento base é a primeira direção unidirecional, o valor do bit 10 pode indicar que a direção de uso do vetor de movimento base é uma segunda direção unidirecionaldirecional diferente da primeira direção unidirecional e o valor de bit 11 pode indicar que a direção de uso do vetor de movimento base é a direção bidirecional.
[000359] Adireção de uso do vetor de movimento base correspondente ao valor do bit também pode ser alterada.
[000360] Quando um vetor de movimento base é bidirecional e uma direção de uso do vetor de movimento base é bidirecional
[000361] O decodificador de informação de movimento 2130 pode determinar um vetor de movimento de uma direção da lista O de um bloco atual, aplicando um vetor de movimento diferencial primário para a direção da lista O a um vetor de movimento base da direção da lista 0. O decodificador de informação de movimento 2130 pode determinar o vetor de movimento de uma direção da lista 1 do bloco atual, aplicando o vetor de movimento diferencial primário para a direção da lista 1 ao vetor de movimento base da direção da lista
1.
[000362] Quando o vetor de movimento base é bidirecional, uma direção de uso do vetor de movimento base é bidirecional, e apenas informações indicando o vetor de movimento diferencial primário para a direção da lista O são incluídas em um fluxo de bits, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento diferencial primário para a direção da lista 1 com base no vetor de movimento diferencial primário para a direção da lista O.
[000363] O decodificador de informação de movimento 2130 pode determinar o vetor de movimento diferencial primário para a direção da lista 1, em consideração a uma relação posicional entre um quadro de referência correspondente ao vetor de movimento base da direção da lista 0, um quadro atual incluindo o bloco atual e um quadro de referência correspondente ao vetor de movimento base da direção da lista 1.
[000364] Emumexemplo, quando o quadro atual está localizada entre o quadro de referência da direção da lista 0 e o quadro de referência da direção da lista 1, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento diferencial primário para a direção da lista 1 alterando o sinal de um valor do vetor de movimento diferencial primário para a direção da lista O para o oposto e aumentando o valor do vetor de movimento diferencial primário para a direção da lista O de acordo com uma razão entre dl (uma distância entre o quadro atual e o quadro de referência da direção da lista 0) e d2 (uma distância entre o quadro atual e o quadro de referência da direção da lista 1) . Por exemplo, quando o vetor de movimento diferencial primário para a direção da lista 0é (1, 1), dl éled2é2,ovetor de movimento diferencial primário para a direção da lista 1 pode ser determinado como (-2,- 2)
[000365] Em outro exemplo, quando o quadro atual está localizado antes ou depois do quadro de referência da direção da lista 0 e do quadro de referência da direção da lista 1, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento diferencial primário para a direção da lista 1, mantendo o sinal do valor do vetor de movimento diferencial primário para a direção da lista 0 e aumentando o valor do vetor de movimento diferencial primário para a direção da lista 0, de acordo com uma razão entre dl e d2. Por exemplo, quando o vetor de movimento diferencial primário para a direção da lista 0 é (1, 1), dl é 1e d2dél,o vetor de movimento diferencial primário para a direção da lista 1 pode ser determinado (2, 2) .
[000366] Quando um vetor de movimento base é bidirecional e uma direção de uso do vetor de movimento base é uma direção unidirecional
[000367] Quando um vetor de movimento base é bidirecional, e uma direção de uso do vetor de movimento base é uma direção da lista O ou uma direção da lista 1, o decodificador de informação de movimento 2130 pode determinar um vetor de movimento de um bloco atual da direção da lista O ou a direção da lista 1 aplicando um vetor de movimento diferencial primário para a direção da lista 0 ou um vetor de movimento diferencial primário para a direção da lista 1 no vetor de movimento base da direção da lista 1 ou no vetor de movimento base da direção da lista O.
[000368] Quando a direção de uso do vetor de movimento base é uma primeira direção unidirecional, mas apenas informações indicando o vetor de movimento diferencial primário para uma segunda direção unidirecional são incluídas em um fluxo de bits, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento diferencial primário para a primeira direção unidirecional do vetor de movimento diferencial primário para a segunda direção unidirecional, considerando uma relação posicional e uma distância entre um quadro atual, um quadro de referência da direção da lista 0 e um quadro de referência da direção da lista 1, conforme descrito acima.
[000369] Quando um vetor de movimento base é unidirecional e uma direção de uso do vetor de movimento base é uma direção unidirecional
[000370] Quando um vetor de movimento base está na primeira direção unidirecional de uma direção da lista O ou uma direção da lista 1, uma direção de uso do vetor de movimento base é uma segunda direção unidirecional diferente da primeira direção unidirecional e apenas as informações que indicam um vetor de movimento diferencial primário para a primeira direção unidirecional está incluído em um fluxo de bits, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento base da segunda direção unidirecional com base no vetor de movimento base da primeira direção unidirecional e pode determinar o vetor de movimento diferencial primário para a segunda direção unidirecional com base no vetor de movimento diferencial primário para a primeira direção unidirecional.
[000371] Primeiro, o decodificador de informação de movimento 2130 pode determinar um primeiro quadro de referência e um segundo quadro de referência localizado em uma direção oposta ao primeiro quadro de referência com base em um quadro atual, em consideração a dl (uma distância entre o quadro atual e o primeiro quadro de referência indicado pelo vetor de movimento base da primeira direção unidirecional).
[000372] Em um exemplo, o segundo quadro de referência espaçado pela mesma distância que dl pode ser determinado. Neste caso, porque dl e d2 (uma distância entre o quadro atual e o segundo quadro de referência) são iguais e o quadro atual está localizado entre o primeiro quadro de referência e o segundo quadro de referência, o decodificador de informação de movimento 2130 pode gerar o vetor de movimento base da segunda direção unidirecional, alterando o sinal do vetor de movimento base da primeira direção unidirecional para o oposto e pode gerar o vetor de movimento diferencial primário para a segunda direção unidirecional, alterando o sinal do vetor de movimento diferencial primário para a primeira direção unidirecional para o oposto.
[000373] Quando não houver quadro espaçado pela mesma distância que dl, um quadro localizado na direção oposta ao primeiro quadro de referência com base no quadro atual enquanto estiver localizado mais próximo do quadro atual pode ser determinado como o segundo quadro de referência. Nesse caso, embora o quadro atual esteja localizado entre o primeiro quadro de referência e o segundo quadro de referência, dl e d2 são diferentes entre si. O decodificador de informação de movimento 2130 pode gerar o vetor de movimento base da segunda direção unidirecional, alterando o sinal do vetor de movimento base da primeira direção unidirecional para o oposto e aumentando o vetor de movimento base da primeira direção unidirecional de acordo com uma razão entre dl e d2. Além disso, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento diferencial primário para a segunda direção unidirecional, alterando o sinal do vetor de movimento diferencial primário para a primeira direção unidirecional para o oposto e aumentando o vetor de movimento diferencial primário para a primeira direção unidirecional de acordo com uma razão entre dl e d2.
[000374] Quando o quadro atual corresponde a um último quadro de um GOP, o decodificador de informação de movimento 2130 pode determinar um quadro localizado na mesma direção que o primeiro quadro de referência sobre o quadro atual como o segundo quadro de referência. Um quadro mais próximo do primeiro quadro de referência ou do quadro atual pode ser determinado como o segundo quadro de referência. Neste caso, porque o quadro atual está localizado após o primeiro quadro de referência e o segundo quadro de referência, o decodificador de informação de movimento 2130 pode gerar o vetor de movimento base da segunda direção unidirecional aumentando um valor do vetor de movimento base da primeira direção unidirecional (sem alterar o sinal) de acordo com uma razão entre dl e d2. Além disso, o decodificador de informação de movimento 2130 pode gerar o vetor de movimento diferencial primário para a segunda direção unidimensional, aumentando um valor do vetor de movimento diferencial primário para a primeira direção unidirecional (sem alterar o sinal) de acordo com uma razão entre di e d2 .
[000375] Em um exemplo, quando o quadro atual corresponde a um último quadro de um GOP e o primeiro quadro de referência é determinado como o segundo quadro de referência, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento base da primeira direção unidirecional como vetor de movimento base da segunda direção unidirecional e pode determinar o vetor de movimento diferencial primário para a primeira direção unidirecional como o vetor de movimento diferencial primário para a segunda direção unidirecional.
[000376] Quando o vetor de movimento diferencial primário e o vetor de movimento base para a segunda direção unidirecional são gerados, o decodificador de informação de movimento 2130 pode determinar um vetor de movimento da segunda direção unidirecional do bloco, aplicando o vetor de movimento diferencial primário para a segunda direção unidirecional para o vetor de movimento base da segunda direção unidirecional.
[000377] Quando um vetor de movimento base é unidirecional e uma direção de uso do vetor de movimento base é uma direção bidirecional
[000378] Quando um vetor de movimento base está na primeira direção unidirecional de uma direção da lista O ou uma direção da lista 1, uma direção de uso do vetor de movimento base é uma direção bidirecional e apenas as informações que indicam um vetor de movimento diferencial primário para a primeira direção unidirecional está incluído em um fluxo de bits, o decodificador de informação de movimento 2130 pode gerar o vetor de movimento base da segunda direção unidirecional com base no vetor de movimento base da primeira direção unidirecional e pode gerar o vetor de movimento diferencial primário para a segunda direção unidirecional com base no vetor de movimento diferencial primário para a primeira direção unidirecional.
[000379] Primeiro, o decodificador de informação de movimento 2130 pode determinar um primeiro quadro de referência e um segundo quadro de referência localizado em uma direção oposta ao primeiro quadro de referência com base em um quadro atual, em consideração a dl
(uma distância entre o quadro atual e o primeiro quadro de referência indicado pelo vetor de movimento base da primeira direção unidirecional).
[000380] Em um exemplo, o segundo quadro de referência espaçado pela mesma distância que dl pode ser determinado. Neste caso, porque dl e d2 (uma distância entre o quadro atual e o segundo quadro de referência) são iguais e o quadro atual está localizado entre o primeiro quadro de referência e o segundo quadro de referência, o decodificador de informação de movimento 2130 pode gerar o vetor de movimento base da segunda direção unidirecional, alterando o sinal do vetor de movimento base da primeira direção unidirecional para o oposto e pode gerar o vetor de movimento diferencial primário para a segunda direção unidirecional, alterando o sinal do vetor de movimento diferencial primário para a primeira direção unidirecional para o oposto.
[000381] Quando não houver quadro espaçado pela mesma distância que dl, um quadro localizado na direção oposta ao primeiro quadro de referência com base no quadro atual enquanto estiver mais próximo do quadro atual pode ser determinado como o segundo quadro de referência. Nesse caso, embora o quadro atual esteja localizado entre o primeiro quadro de referência e o segundo quadro de referência, dl e d2 são diferentes entre si. O decodificador de informação de movimento 2130 pode gerar o vetor de movimento base da segunda direção unidirecional, alterando o sinal do vetor de movimento base da primeira direção unidirecional para o oposto e aumentando o vetor de movimento base da primeira direção unidirecional de acordo com uma razão entre dl e d2. Além disso, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento diferencial primário para a segunda direção unidirecional, alterando o sinal do vetor de movimento diferencial primário para a primeira direção unidirecional para o oposto e aumentando o vetor de movimento diferencial primário para a primeira direção unidirecional de acordo com uma razão entre dl e d2.
[000382] Quando o quadro atual corresponde a um último quadro de um GOP, o decodificador de informação de movimento 2130 pode determinar um quadro localizado na mesma direção que o primeiro quadro de referência sobre o quadro atual como o segundo quadro de referência. Um quadro mais próximo do primeiro quadro de referência ou do quadro atual pode ser determinado como o segundo quadro de referência. Neste caso, porque o quadro atual está localizado após o primeiro quadro de referência e o segundo quadro de referência, o decodificador de informação de movimento 2130 pode gerar o vetor de movimento base da segunda direção unidirecional aumentando um valor do vetor de movimento base da primeira direção unidirecional (sem alterar o sinal) de acordo com uma razão entre dl e d2. Além disso, o decodificador de informação de movimento 2130 pode gerar o vetor de movimento diferencial primário para a segunda direção unidimensional, aumentando um valor do vetor de movimento diferencial primário para a primeira direção unidirecional (sem alterar o sinal) de acordo com uma razão entre di e d2 .
[000383] Em um exemplo, quando o quadro atual corresponde a um último quadro de um GOP e o primeiro quadro de referência é determinado como o segundo quadro de referência, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento base da primeira direção unidirecional como vetor de movimento base da segunda direção unidirecional e pode determinar o movimento diferencial primário para a primeira direção unidirecional como o movimento diferencial primário para a segunda direção unidirecional.
[000384] Quando o vetor de movimento base e o vetor de movimento diferencial primário para a segunda direção unidirecional são gerados, o decodificador de informação de movimento 2130 pode determinar um vetor de movimento da segunda direção unidirecional do bloco atual, aplicando o vetor de movimento diferencial primário para a segunda direção unidirecional ao vetor de movimento base da segunda direção unidirecional e pode determinar o vetor de movimento da primeira direção unidirecional do bloco atual aplicando o vetor de movimento diferencial primário para a primeira direção unidirecional ao vetor de movimento base da primeira direção unidirecional.
[000385] Em uma modalidade, o obtenedor 2110 pode obter, a partir de um fluxo de bits, informações indicando se um bloco atual é codificado com várias passagens e informações sobre um modo de codificação aplicado ao bloco atual quando a codificação com múltiplas passagens é aplicada. O termo 'codificação de múltiplas passagens' pode se referir a um método de codificação de um bloco em dois modos de codificação diferentes e, finalmente, selecionar um modo de codificação com maior eficiência para codificar um bloco.
[000386] Quando é verificado que o bloco atual é codificado com múltiplas passagens, o obtenedor 2110 pode obter informações, por exemplo, um sinalizador, indicando um modo de codificação, no qual o bloco atual é codificado, dentre os dois modos de codificação.
[000387] Quando é verificado que o bloco atual ao qual a codificação de múltiplas passagens é aplicada está codificado em um modo predefinido de acordo com a presente divulgação, oO decodificador de informação de movimento 2130 pode decodificar informações de movimento do bloco atual com base em informações indicando um vetor de movimento base do bloco atual e informações indicando um vetor de movimento diferencial primário. Quando é verificado que o bloco atual que é codificado com múltiplas passagens está codificado em um modo diferente do modo predefinido, por exemplo, um modo de mesclagem, um modo de salto ou um modo AMVP, o decodificador de informação de movimento 2130 pode decodificar a informação de movimento de acordo com o modo verificado.
[000388] O bloco atual de acordo com a presente divulgação pode corresponder a um primeiro bloco filho dividido a partir de um bloco pai. Quando as informações que indicam que o bloco pai está dividido é incluída no fluxo de bits, o decodificador de informação de movimento 2130 pode dividir o bloco pai no primeiro bloco filho correspondente ao bloco atual e um segundo bloco filho. Alternativamente, o decodificador de informação de movimento 2130 pode dividir o bloco pai no primeiro bloco filho correspondente ao bloco atual e no segundo bloco filho em consideração pelo menos um tamanho, um comprimento horizontal e um comprimento vertical do bloco pai. Por exemplo, quando o comprimento horizontal do bloco pai é maior que o comprimento vertical, o decodificador de informação de movimento 2130 pode determinar dois blocos filhos cortando pela metade o comprimento horizontal do bloco pai e quando o comprimento vertical do bloco pai é maior que o comprimento horizontal, o decodificador de informação de movimento 2130 pode determinar dois blocos filhos reduzindo pela metade o comprimento vertical do bloco pai. O bloco pai pode se referir a um bloco básico para predição, como uma unidade de predição de HEVC. De acordo com uma modalidade, o decodificador de informação de movimento 2130 pode dividir o bloco pai no primeiro bloco filho correspondente ao bloco atual, o segundo bloco filho e um terceiro bloco filho, ou seja, três blocos filhos.
[000389] Alémdisso, as formas dos blocos filhos podem incluir não apenas uma forma quadrada ou retangular, mas também uma forma triangular ou uma forma trapezoidal.
[000390] Quando o modo predefinido de acordo com a presente divulgação é aplicado ao primeiro bloco filho, o decodificador de informação de movimento 2130 pode determinar um vetor de movimento do primeiro bloco filho de acordo com os métodos descritos acima.
[000391] Para determinar um vetor de movimento do segundo bloco filho, como para o primeiro bloco filho, o decodificador de informação de movimento 2130 pode determinar um vetor de movimento base do segundo bloco filho e um vetor de movimento diferencial primário do segundo bloco filho com base nas informações indicando o vetor de movimento base e as informações indicando o vetor de movimento diferencial primário obtido a partir do fluxo de bits e podem determinar o vetor de movimento do segundo bloco filho adicionando o vetor de movimento base ao vetor de movimento diferencial primário. Nesse caso, os candidatos a vetor de movimento base e os candidatos a vetor de movimento diferencial primário determinados para o bloco pai também podem ser usados para o primeiro bloco filho e o segundo bloco filho. Em outras palavras, os candidatos a vetor de movimento base e os candidatos a vetor de movimento diferencial primário podem ser determinados no nível do bloco pai e o vetor de movimento do primeiro bloco filho pode ser determinado com base nas informações indicando o vetor de movimento base e as informações indicando o vetor de movimento diferencial primário do primeiro bloco filho e o vetor de movimento do segundo bloco filho podem ser determinados com base nas informações indicando o vetor de movimento base e nas informações indicando o vetor de movimento diferencial primário do segundo bloco filho.
[000392] Como outro exemplo, o vetor de movimento determinado para o primeiro bloco filho pode ser determinado como o vetor de movimento base do segundo bloco filho, e apenas informações indicando o vetor de movimento diferencial primário do segundo bloco filho podem ser obtidas no fluxo de bits para determinar o vetor de movimento diferencial primário do segundo bloco filho. O decodificador de informação de movimento 2130 pode determinar o vetor de movimento do segundo bloco filho adicionando o vetor de movimento base do segundo bloco filho ao vetor de movimento diferencial primário do segundo bloco filho.
[000393] Como outro exemplo, pelo menos uma dentre as informações indicando o vetor de movimento base, as informações indicando uma distância de disparidade e as informações indicando uma direção de disparidade, obtidas do fluxo de bits em relação ao primeiro bloco filho, podem ser compartilhadas com o segundo bloco filho. Neste caso, o decodificador de informação de movimento 2130 pode determinar o vetor de movimento base e o vetor de movimento diferencial primário do segundo bloco filho com base nas informações compartilhadas com o segundo bloco filho dentre as informações que indicam o vetor de movimento base, as informações indicando a distância de disparidade e as informações indicando a direção de disparidade que é obtida do fluxo de bits em relação ao primeiro bloco filho e as informações restantes obtidas do fluxo de bits em relação ao segundo bloco filho.
[000394] Além disso, as informações indicando um vetor de movimento diferencial secundário podem ser incluídas apenas no fluxo de bits relacionado a um bloco dentre o primeiro bloco filho e o segundo bloco filho. Por exemplo, quando o vetor de movimento diferencial secundário é determinado em relação ao primeiro bloco filho, o decodificador de informação de movimento 2130 também pode aplicar o vetor de movimento diferencial secundário do primeiro bloco filho ao segundo bloco filho.
[000395] Em uma modalidade, o primeiro bloco filho pode ser codificado no modo predefinido de acordo com a presente divulgação, e o segundo bloco filho pode ser codificado em um modo diferente do modo predefinido aplicado ao primeiro bloco filho. Nesse caso, o decodificador de informação de movimento 2130 pode decodificar o primeiro bloco filho e o segundo bloco filho de acordo com os modos aplicados respectivamente ao primeiro bloco filho e ao segundo bloco filho.
[000396] Quando os vetores de movimento do primeiro bloco filho e do segundo bloco filho são determinados, um primeiro bloco de predição correspondente ao primeiro bloco filho e um segundo bloco de predição correspondente ao segundo bloco filho podem ser determinados por meio de predição inter. A filtragem de suavização pode ser realizada em um limite entre o primeiro bloco de predição e o segundo bloco de predição, um bloco residual pode ser adicionado a um bloco de predição final gerado como um resultado de filtragem e o bloco pai pode ser finalmente reconstruído. Para a filtragem de suavização, um filtro N-tap pode ser usado ou um método de compensação de movimento de bloco sobreposto (OBMC) pode ser usado. Um peso pode ser aplicado a uma porção sobreposta entre o primeiro bloco de predição e o segundo bloco de predição de acordo com o método OBMC. Embora o peso de uma região limite possa ser de 0,5:0,5, um peso pode aumentar à medida que uma região está mais distante de um limite.
[000397] A FIG. 32 é um fluxograma para descrever um método de decodificação de imagem de acordo com uma modalidade.
[000398] Na operação S3210, o aparelho de decodificação de imagem 2100 determina um vetor de movimento base de um bloco atual. O aparelho de decodificação de imagem 2100 pode determinar um candidato a vetor de movimento base entre um ou mais candidatos a vetor de movimento base como o vetor de movimento base do bloco atual.
[000399] O aparelho de decodificação de imagem 2100 pode determinar o vetor de movimento base do bloco atual com base em informações indicando o vetor de movimento base incluído em um fluxo de bits. Em um exemplo, o aparelho de decodificação de imagem 2100 pode obter as informações indicando o vetor de movimento base no nível do bloco, no nível da fatia ou no nível do quadro.
[000400] Na operação S3220, o aparelho de decodificação de imagem 2100 determina um vetor de movimento diferencial primário do bloco atual.
[000401] O aparelho de decodificação de imagem 2100 pode determinar candidatos a vetor de movimento diferencial primário para um ou mais candidatos a vetor de movimento base e pode obter informações indicando uma distância de disparidade e uma direção de disparidade de um vetor de movimento diferencial primário a partir do fluxo de bits e pode determinar o vetor de movimento diferencial primário do bloco atual dentre os candidatos a vetor de movimento diferencial primário.
[000402] Oaparelho de decodificação de imagem 2100 pode obter pelo menos uma das informações indicando a distância de disparidade e as informações indicando a direção de disparidade em nível de bloco, nível de fatia ou nível de quadro.
[000403] Na operação S3230, o aparelho de decodificação de imagem 2100 pode determinar um vetor de movimento do bloco atual aplicando o vetor de movimento diferencial primário ao vetor de movimento base do bloco atual.
[000404] Quando a informação indicando um vetor de movimento diferencial secundário é incluída no fluxo de bits, o aparelho de decodificação de imagem 2100 pode determinar o vetor de movimento do bloco atual aplicando o vetor de movimento diferencial secundário ao vetor de movimento base alterado através da aplicação do vetor de movimento diferencial primário.
[000405] A FIG. 33 é um diagrama de blocos do aparelho de codificação de imagem 3300 de acordo com uma modalidade.
[000406] Com referência à FIG. 33, o aparelho de codificação de imagem 3300 de acordo com uma modalidade da presente divulgação pode incluir um codificador de informação de movimento 3310 e um gerador 3330.
[000407] O aparelho de codificação de imagem 3300 pode codificar uma imagem e pode gerar um fluxo de bits incluindo informações geradas como um resultado de codificação.
[000408] O aparelho de codificação de imagem 3300 de acordo com uma modalidade pode incluir um processador central (não mostrado) para controlar o codificador de informação de movimento 3310 e o gerador 3330. Alternativamente, o codificador de informação de movimento 3310 e o gerador 3330 podem ser operados por seus próprios processadores (não mostrados) e o aparelho de codificação de imagem 3300 pode operar como os processadores (não mostrados) operam organicamente. Alternativamente, o codificador de informação de movimento 3310 e o gerador 3330 podem ser controlados por um processador externo (não mostrado).
[000409] O aparelho de codificação de imagem 3300 pode incluir um ou mais armazenamentos de dados (não mostrados) nos quais os dados de entrada/saída do codificador de informação de movimento 3310 e do gerador 3330 são armazenados. O aparelho de codificação de imagem 3300 pode incluir um controlador de memória (não mostrado) para controlar a entrada/saída de dados de/para os armazenamentos de dados (não mostrados).
[000410] Para codificar uma imagem, o aparelho de codificação de imagem 3300 pode executar uma operação de codificação de imagem incluindo predição em associação com um processador interno de codificação de vídeo ou um processador externo de codificação de vídeo. O processador interno de codificação de vídeo do aparelho de codificação de imagem 3300 de acordo com uma modalidade pode executar uma operação básica de codificação de imagem como um processador separado, ou uma unidade central de processamento ou uma unidade de processamento gráfico pode incluir um módulo de processamento de codificação de imagem e pode executar uma operação básica de codificação de imagem.
[000411] Oaparelho de codificação de imagem 3300 pode ser incluído no aparelho de codificação de imagem 200. Por exemplo, o gerador 3330 pode ser incluído no gerador de fluxo de bits 210 do aparelho de codificação de imagem 200 da FIG. 2, e o codificador de informação de movimento 3310 pode ser incluído no codificador 220 do aparelho de codificação de imagem 200.
[000412] O codificador de informação de movimento 3310 codifica um vetor de movimento de um bloco atual. O bloco atual que é gerado pela divisão de acordo com uma estrutura em árvore de uma imagem pode corresponder a, por exemplo, uma maior unidade de codificação, uma unidade de codificação ou uma unidade de transformação. O codificador de informação de movimento 3310 pode determinar um modo de predição a ser aplicado ao bloco atual. O modo de predição pode incluir pelo menos um de, por exemplo, um modo intra, um modo inter, um modo de mesclagem, um modo de salto e um modo predefinido de acordo com a presente divulgação.
[000413] Ogerador 3330 gera um fluxo de bits incluindo informações geradas como resultado da codificação do vetor de movimento. Em uma modalidade, o fluxo de bits pode incluir informações indicando pelo menos uma de, indicar se o modo predefinido é aplicado ao bloco atual, um vetor de movimento base do bloco atual, o vetor de movimento diferencial primário do bloco atual, uma prioridade das distâncias de disparidade para classificar os candidatos a vetor de movimento diferencial primário e uma prioridade das direções de disparidade para classificar os candidatos a vetor de movimento diferencial primário. O gerador 3330 pode fazer com que a informação seja incluída no fluxo de bits correspondente a pelo menos um nível de unidade de codificação, nível de unidade de transformação, nível de unidade maior, nível de unidade de fatia e nível de unidade de quadro.
[000414] O codificador de informação de movimento 3310 pode determinar se o modo predefinido é aplicado ao bloco atual.
[000415] O codificador de informação de movimento 3310 pode determinar se o modo predefinido é aplicado ao bloco atual com base em informações relacionadas a pelo menos um bloco atual, um bloco codificado anteriormente, uma fatia atual, uma fatia codificada anteriormente, um quadro atual e um quadro codificado anteriormente.
[000416] Em um exemplo, o codificador de informação de movimento 3310 pode determinar se o modo predefinido é aplicado ao bloco atual, em consideração às informações estatísticas sobre um modo de predição em uma fatia anterior ou em um quadro anterior. O codificador de informação de movimento 3310 pode determinar que o modo predefinido não é aplicado ao bloco atual com base nas informações estatísticas.
[000417] Em um exemplo, o codificador de informação de movimento 3310 pode determinar que o modo predefinido é aplicado ao bloco atual com base em um custo correspondente a cada um dos vários modos de predição aplicáveis ao bloco atual. Um custo de distorção da taxa pode ser usado durante o cálculo do custo.
[000418] Quando o modo predefinido é aplicado ao bloco atual, o codificador de informação de movimento 3310 pode determinar um ou mais candidatos a vetor de movimento diferencial primário para cada um ou mais candidatos a vetor de movimento base. Os um ou mais candidatos principais do vetor de movimento diferencial podem ser classificados de acordo com a distância e a direção da disparidade. Um método para determinar os candidatos a vetor de movimento diferencial primário é o mesmo que o feito em relação ao aparelho de decodificação de imagem 2100 e, portanto, descrições detalhadas do mesmo não serão fornecidas aqui.
[000419] Em uma modalidade, o um ou mais candidatos a vetores de movimento base do bloco atual pode ser determinado com base em um vetor de movimento de um bloco vizinho que está espacial e temporalmente relacionado ao bloco atual. O bloco vizinho que está espacial e temporalmente relacionado ao bloco atual pode incluir um bloco que é codificado antes do bloco atual.
[000420] Em uma modalidade, oO codificador de informação de movimento 3310 pode determinar vetores de movimento do bloco vizinho relacionados ao bloco atual como um ou mais candidatos a vetores de movimento base. Alternativamente, o codificador de informação de movimento 3310 pode determinar os um ou mais candidatos a vetores de movimento base alterando os vetores de movimento do bloco vizinho relacionados ao bloco atual. Alternativamente, o codificador de informação de movimento 3310 pode determinar os um ou mais candidatos a vetores de movimento base combinando os vetores de movimento do bloco vizinho relacionados ao bloco atual de acordo com uma equação predeterminada.
[000421] Em uma modalidade, oO codificador de informação de movimento 3310 pode determinar os um ou mais candidatos a vetores de movimento base da mesma maneira que um método para determinar uma lista de candidatos de um preditor de vetor de movimento em um modo de AMVP ou um modo de mesclagem de HEVC.
[000422] Numamodalidade, o codificador de informação de movimento 3310 pode determinar um vetor de movimento zero tendo 0 como um componente como um ou mais candidatos a vetores de movimento base.
[000423] Quando os um oumais candidatos a vetor de movimento base são determinados, o codificador de informação de movimento 3310 pode determinar o vetor de movimento base do bloco atual dentre um ou mais candidatos a vetor de movimento base. O codificador de informação de movimento 3310 pode determinar o vetor de movimento base do bloco atual, com base em informações relacionadas a pelo menos um bloco atual, o bloco codificado anteriormente, a fatia atual, a fatia codificada anteriormente, o quadro atual e o quadro codificado anteriormente.
[000424] Em um exemplo, o codificador de informação de movimento 3310 pode determinar o vetor de movimento base do bloco atual, em consideração às informações estatísticas na fatia anterior ou no quadro anterior. Em outro exemplo, o codificador de informação de movimento 3310 pode determinar o vetor de movimento base do bloco atual com base em um custo entre os um ou mais candidatos a vetores de movimento base. Um custo de distorção da taxa pode ser usado durante o cálculo do custo.
[000425] Em uma modalidade, as informações indicando o vetor de movimento base do bloco atual podem ser codificadas usando um método FLC, um método de codificação unário ou um método de codificação unário truncado e podem ser incluídas no fluxo de bits.
[000426] Quando o vetor de movimento base do bloco atual é determinado, o codificador de informação de movimento 3310 pode determinar o vetor de movimento diferencial primário do bloco atual dentre um ou mais candidatos a vetor de movimento diferencial primário.
[000427] O codificador de informação de movimento 3310 pode determinar o vetor de movimento diferencial primário do bloco atual dentre um ou mais candidatos a vetor de movimento diferencial primário, em consideração a um valor de diferença entre o vetor de movimento do bloco atual e o vetor de movimento base do bloco atual.
[000428] As informações indicando uma distância e uma direção da disparidade, para especificar o vetor de movimento diferencial primário do bloco atual, podem ser codificadas usando pelo menos um de um método FLC, um método de codificação unário e um método de codificação truncado e podem ser incluídos no fluxo de bits. O gerador 3330 pode codificar informações indicando a direção da disparidade, por exemplo, pelo menos um dos índices indicando a direção da disparidade, usando um modelo de contexto e pode fazer com que as informações sejam incluídas no fluxo de bits.
[000429] Em uma modalidade, oO codificador de informação de movimento 3310 pode determinar o vetor de movimento diferencial primário do bloco atual dentre um ou mais candidatos a vetor de movimento diferencial primário, com base nas informações relacionadas a pelo menos um bloco atual, o bloco codificado anteriormente, a fatia atual, a fatia codificada anteriormente, o quadro atual e o quadro codificado anteriormente.
[000430] Quando o vetor de movimento diferencial primário do bloco atual é determinado, o codificador de informação de movimento 3310 pode aplicar o vetor de movimento diferencial primário ao vetor de movimento base do bloco atual para obter um valor resultante e pode determinar um vetor de movimento diferencial secundário comparando o valor resultante com o vetor de movimento do bloco atual. Por exemplo, o vetor de movimento diferencial secundário pode corresponder a um valor obtido subtraindo um resultado obtido pela adição do vetor de movimento base do bloco atual ao vetor de movimento diferencial primário do vetor de movimento do bloco atual.
[000431] Quando o vetor de movimento diferencial secundário é determinado, o gerador 3330 pode gerar o fluxo de bits incluindo informações indicando o vetor de movimento diferencial secundário do bloco atual. O gerador 3330 pode ser codificado usando um método diferente de um método de codificação da informação indicando o vetor de movimento diferencial primário (por exemplo, um método FLC, um método de codificação unário ou um método de codificação truncado) e pode causar as informações a serem incluídas no fluxo de bits. Em um exemplo, as informações indicando o vetor de movimento diferencial secundário podem ser codificadas usando um método de codificação exponencial de Golomb e podem ser incluídas no fluxo de bits. O gerador 3330 pode fazer com que a informação indicando o vetor de movimento diferencial secundário seja incluída no fluxo de bits correspondente a um nível de unidade de transformação, um nível de unidade de codificação, um maior nível de unidade de codificação, um nível de fatia ou um nível de quadro.
[000432] Emumamodalidade, quando uma direção de predição do bloco atual é bidirecional, o gerador 3330 pode causar apenas as informações indicando o vetor de movimento diferencial secundário para uma direção unidirecional, em vez do vetor de movimento diferencial secundário para uma direção bidirecional, para ser incluído no fluxo de bits.
[000433] O gerador 3330 pode causar um índice indicando o vetor de movimento base do bloco atual e um índice indicando o vetor de movimento diferencial primário a ser incluído no fluxo de bits e, para este fim, o codificador de informação de movimento 3310 pode atribuir índices a um ou mais candidatos a vetor de movimento base e um ou mais candidatos a vetor de movimento diferencial primário.
[000434] Comreferência à FIG. 26, o número de referência 2601 pode denotar uma representação de bit correspondente a um índice indicando um candidato a vetor de movimento base, o número de referência 2602 pode denotar uma representação de bit correspondente a um índice indicando uma distância de disparidade (ou um grupo candidato) de um candidato a vetor de movimento diferencial primário e os números de referência 2603 e 2604 podem denotar uma representação de bit correspondente a um índice indicando uma direção de disparidade do candidato a vetor de movimento diferencial primário.
[000435] ComreferênciaàFIG. 26, umíndice de O pode ser atribuído a um candidato a vetor de movimento base 0 e um índice de 10 pode ser atribuído a um candidato a vetor de movimento base 1. Ou seja, um índice indicando cada um dos candidatos a vetor de movimento base pode ser representado usando um método de codificação unário ou um método de codificação unário truncado de acordo com uma ordem predeterminada.
[000436] O número de bits representando um índice pode aumentar do candidato a vetor de movimento base O para um candidato a vetor de movimento base 4, e uma prioridade entre os candidatos a vetor de movimento base para atribuir um índice pode ser determinada de acordo com um critério predefinido.
[000437] Em uma modalidade, oO codificador de informação de movimento 3310 pode determinar a prioridade entre os candidatos a vetor de movimento base para o bloco atual, em consideração a uma razão ou o número de vezes que um candidato a vetor de movimento base é selecionado como um vetor de movimento base em uma fatia anterior ou um quadro anterior dentre os candidatos do vetor de movimento base. Por exemplo, quando um candidato a vetor de movimento base 3 é mais selecionado como vetor de movimento base de um bloco na fatia anterior ou no quadro anterior, o codificador de informação de movimento 3310 pode atribuir um índice de O ao candidato de vetor de movimento base 3.
[000438] Em umamodalidade, as informações indicando a prioridade entre os candidatos a vetor de movimento base para atribuir um índice podem ser incluídas no fluxo de bits. As informações indicando a prioridade entre os candidatos a vetor de movimento base podem incluir informações sobre um número de prioridade alterado em comparação com a prioridade entre os candidatos a vetor de movimento base determinados em um bloco anterior, uma fatia anterior ou um quadro anterior.
[000439] Os candidatos a vetor de movimento diferencial primário determinados ao correspondente um candidato a vetor de movimento base podem ser agrupados em um grupo candidato de acordo com um critério predeterminado. O critério predeterminado pode ser o quanto de distância de disparidade os candidatos a vetor de movimento diferencial primário estão afastados do ponto predefinido. Um índice de cada grupo candidato pode ser representado usando um método de codificação unário ou um método de codificação unário truncado. De acordo com uma modalidade, um índice de cada grupo candidato pode ser representado usando um método FLC.
[000440] Com referência à FIG. 26, o número de bits para representar um índice de um grupo candidato pode aumentar de um grupo candidato O correspondente a uma distância de disparidade de 1 a um grupo candidato 7 correspondente a uma distância de disparidade de 8 e uma prioridade entre os grupos candidatos para atribuir um índice pode ser determinada de acordo com os presentes critérios.
[000441] Em uma modalidade, oO codificador de informação de movimento 3310 pode determinar a prioridade entre os grupos candidatos para o bloco atual, considerando uma razão ou o número de vezes que um candidato a vetor de movimento diferencial primário é selecionado para especificar um vetor de movimento diferencial primário em uma fatia anterior ou um quadro anterior dentre os grupos candidatos. Por exemplo, quando um candidato a vetor de movimento diferencial primário incluído em um grupo candidato 3 é mais selecionado como vetor de movimento diferencial primário de um bloco na fatia anterior ou no quadro anterior, o codificador de informação de movimento 3310 pode atribuir um índice de O ao grupo candidato
3.
[000442] Em umamodalidade, as informações indicando a prioridade entre os grupos candidatos para atribuir um índice podem ser incluídas no fluxo de bits. As informações indicando uma prioridade entre os grupos candidatos podem incluir informações sobre um número de prioridade alterado em comparação com a prioridade entre os grupos candidatos determinados em um bloco anterior, uma fatia anterior ou um quadro anterior.
[000443] O grupo candidato O da FIG. 26 pode incluir candidatos espaçados por uma distância de disparidade de 1 do ponto predefinido. No entanto, em uma modalidade, um grupo candidato O pode incluir um candidato espaçado por uma distância de disparidade de 0 a partir do ponto predefinido. Como o candidato espaçado da distância de disparidade de O do ponto predefinido é o próprio ponto predefinido, quando o candidato a vetor de movimento base corresponde a (0, O) como descrito com referência às FIGS. 22 a 25, um candidato a vetor de movimento diferencial primário se torna (0, 0). Nesse caso, quando as informações que indicam um grupo candidato para especificar um vetor de movimento diferencial primário indicam o grupo candidato 0, a menos que haja um vetor de movimento diferencial secundário, o vetor de movimento base do bloco atual pode ser determinado como o vetor de movimento do bloco atual. Em outras palavras, quando o vetor de movimento base do bloco atual é o mesmo que o vetor de movimento do bloco atual, o codificador de informação de movimento 3310 pode selecionar o grupo candidato O e pode causar informações indicando que o grupo candidato O será incluído no fluxo de bits. Quando o grupo candidato O é selecionado, o vetor de movimento base é o vetor de movimento do bloco atual e, portanto, um modo de mesclagem ou um modo de salto do HEVC convencional pode ser substituído.
[000444] Um índice (ou um sinalizador) indicando uma direção de disparidade pode ser atribuído aos candidatos a vetor de movimento diferencial primário incluídos em um grupo candidatos. Nesse caso, o índice indicando a direção da disparidade pode ser representado usando um método FLC. Por exemplo, quando quatro candidatos a vetor de movimento diferencial primário são incluídos em um grupo candidato, dois bits podem ser necessários para indicar cada um dos quatro candidatos a vetor de movimento diferencial primário.
[000445] O codificador de informação de movimento 3310 pode classificar os candidatos a vetores de movimento diferenciais primários incluídos em um grupo candidato em grupos de acordo com as localizações em um plano de coordenadas e pode atribuir um índice correspondente a cada um dos grupos classificados.
[000446] Com referência à FIG. 26, de acordo se os candidatos a vetor de movimento diferencial primário (1, 0), (-1, O), (0, 1) e (0, -1) correspondentes ao grupo candidato O do candidato a vetor de movimento base 0 são localizado ao longo de um eixo x ou um eixo y, um índice (ou um sinalizador) de O ou 1 pode ser atribuído como mostrado na representação de bits 2603 e de acordo com o candidato do vetor de movimento diferencial primário (1, 0), (-1, O), (O, 1) e (0, -1) estão localizados na direção+ ou na direção -, um índice
(ou um sinalizador) de O ou 1 pode ser atribuído como mostrado na representação de bit 2604.
[000447] Como descrito acima, o gerador 3330 pode codificar pelo menos um dos índices indicando uma direção de disparidade de um vetor de movimento diferencial primário usando um modelo de contexto. Por exemplo, o gerador 3330 pode dividir quatro candidatos a vetor de movimento diferencial primário incluídos em um grupo candidato em dois grupos, incluindo dois candidatos localizados ao longo do eixo x e dois candidatos localizados ao longo do eixo y, e podem codificar, de acordo com um modelo de contexto, um índice (2603 indicando se um candidato está localizado ao longo do eixo x ou do eixo y. Quando é determinado que o candidato está localizado ao longo do eixo x ou do eixo y, o gerador 3330 pode codificar, de acordo com um modelo de contexto, um índice (2604) indicando se o candidato está localizado na direção + ou direção -.
[000448] Em uma modalidade, oO codificador de informação de movimento 3310 pode fazer com que apenas um candidato localizado em um ponto predefinido em um plano de coordenadas seja incluído em cada grupo candidato. Por exemplo, o codificador de informação de movimento 3310 pode fazer com que apenas candidatos localizados ao longo do eixo x ou do eixo y sejam incluídos em cada grupo candidato, com base em informações sobre pelo menos um quadro anterior, um quadro atual, uma fatia anterior, uma fatia atual, um bloco anterior e um bloco atual. Por exemplo, dentre os candidatos (1, 0), (-1, 0), (0, 1) e (0, -1) incluídos no grupo candidato O da FIG. 26, apenas os candidatos (1, 0) e (-1, O) podem ser incluídos no grupo candidato 0, e apenas um índice correspondente à representação de bits 2604 para indicar uma direção de disparidade pode ser atribuído a cada candidato.
[000449] Quando um candidato a vetor de movimento base é um vetor de movimento bidirecional, o codificador de informação de movimento 3310 pode fazer com que cada um dos candidatos a vetor de movimento diferencial primário classificados de acordo com uma distância de disparidade e uma direção de disparidade inclua um candidato de vetor de movimento diferencial primário para uma direção da lista 0 e um candidato primário do vetor de movimento diferencial para uma direção da lista 1. Um método para determinar um candidato a vetor de movimento diferencial primário para uma direção bidirecional é o mesmo que o feito em relação ao aparelho de decodificação de imagem 2100 e, portanto, descrições detalhadas do mesmo não serão fornecidas.
[000450] Em uma modalidade, quando um vetor de movimento base de um bloco atual é determinado, um método de codificação de imagem pode determinar uma direção de uso do vetor de movimento base, e o gerador 3330 pode causar informações indicando a direção de uso do vetor de movimento base a ser incluído em um fluxo de bits.
[000451] O vetor de movimento base pode corresponder a um vetor de movimento para uma direção da lista 0, um vetor de movimento para uma direção da lista 1 ou um vetor de movimento para uma direção bidirecional, e o método de codificação de imagem pode determinar a direção de uso do vetor de movimento base para melhorar a eficiência da codificação de um vetor de movimento do bloco atual.
[000452] As informações indicando a direção de uso do vetor de movimento base podem incluir um índice. Por exemplo, quando o vetor de movimento base é bidirecional, um valor de bit O pode indicar que a direção de uso do vetor de movimento base é a direção bidirecional, um valor de bit 10 pode indicar que a direção de uso do vetor de movimento base é a direção da lista 0 e um valor de bit 11 pode indicar que a direção de uso do vetor de movimento base é a direção da lista 1.
[000453] Alémdisso, por exemplo, quando o vetor de movimento base está na primeira direção unidirecional da direção da lista O ou na direção da lista 1, o valor do bit O pode indicar que a direção de uso do vetor de movimento base é a primeira direção unidirecional, o valor do bit 10 pode indicar que a direção de uso do vetor de movimento base é uma segunda direção unidirecionaldirecional diferente da primeira direção unidirecional e o valor de bit 11 pode indicar que a direção de uso do vetor de movimento base é a direção bidirecional.
[000454] Adireção de uso do vetor de movimento base correspondente ao valor do bit também pode ser alterada.
[000455] Em um exemplo, quando é determinado que um vetor de movimento base é bidirecional e uma direção de uso do vetor de movimento base é bidirecional, o codificador de informação de movimento 3310 pode determinar um vetor de movimento diferencial primário de uma direção da lista O de um bloco atual e um vetor de movimento diferencial primário de uma direção da lista 1. O gerador 3330 pode causar informações indicando o vetor de movimento base bidirecional, informações indicando o vetor de movimento diferencial primário para a direção da lista O do bloco atual e informações indicando o vetor de movimento diferencial primário para a direção da lista 1 do bloco atual para ser incluído em um fluxo de bits.
[000456] Em outro exemplo, quando é determinado que um vetor de movimento base é bidirecional e uma direção de uso do vetor de movimento base é bidirecional, embora o codificador de informação de movimento 3310 possa determinar um vetor de movimento diferencial primário para uma direção da lista O de um bloco atual e um vetor de movimento diferencial primário para uma direção da lista 1, o gerador 3330 pode causar informações indicando apenas um dos vetores de movimento diferencial primário para a direção da lista 0 e o vetor de movimento diferencial primário para a direção da lista 1 e informações indicando o vetor de movimento base a ser incluído em um fluxo de bits.
[000457] Em outra modalidade, quando um vetor de movimento base é bidirecional e uma direção de uso do vetor de movimento base é uma primeira direção unária de uma direção da lista O ou uma direção da lista 1, o codificador de informação de movimento 3310 pode determinar um vetor de movimento diferencial primário da primeira direção unidirecional de um bloco atual e o gerador 3330 pode causar informações indicando o vetor de movimento base e informações indicando o vetor de movimento diferencial primário para a primeira direção unidirecional a ser incluída em um fluxo de bits.
[000458] Em outro exemplo, quando um vetor de movimento base é bidirecional e uma direção de uso do vetor de movimento base é uma primeira direção unidirecional de uma direção da lista O ou uma direção da lista 1, o codificador de informação de movimento 3310 pode determinar um vetor de movimento diferencial primário para uma segunda direção unidirecional diferente da primeira direção unidirecional de um bloco atual, e o gerador 3330 pode causar informações indicando o vetor de movimento base e informações indicando o vetor de movimento diferencial primário para a segunda direção unidirecional a ser incluída em um fluxo de bits.
[000459] Em outro exemplo, quando um vetor de movimento base está na primeira direção unidirecional de uma direção da lista O ou em uma direção da lista 1 e uma direção de uso do vetor de movimento base é uma segunda direção unidirecional diferente da primeira direção unidirecional, o codificador de informação de movimento 3310 pode determinar um vetor de movimento diferencial primário do bloco atual para a primeira direção unidirecional, e o gerador
3330 pode causar informações indicando o vetor de movimento base e informações indicando o vetor de movimento diferencial primário para a primeira direção unidirecional a ser incluído em um fluxo de bits.
[000460] Em outro exemplo, quando um vetor de movimento base está em uma primeira direção unidirecional de uma direção da lista O ou uma direção da lista 1 e uma direção de uso do vetor de movimento base é bidirecional, o codificador de informação de movimento 3310 pode determinar um vetor de movimento diferencial primário de um bloco atual para a primeira direção unidirecional e o gerador 3330 pode causar informações indicando o vetor de movimento base e informações indicando o vetor de movimento diferencial primário para a primeira direção unidirecional a ser incluída em um fluxo de bits.
[000461] Em uma modalidade, oO codificador de informação de movimento 3310 pode determinar se a codificação de múltiplas passagens deve ser aplicada a um bloco atual. O codificador de informação de movimento 3310 pode codificar o bloco atual de acordo com dois modos de codificação diferentes e pode selecionar um modo de codificação com base em um custo. O gerador 3330 pode causar informações indicando se o bloco atual é codificado com múltiplas passagens e informações sobre um modo de codificação aplicado ao bloco atual quando a codificação com múltiplas passagens é aplicada para ser incluída em um fluxo de bits.
[000462] Os dois modos de codificação diferentes podem incluir um de um modo AMVP, um modo de mesclagem e um modo de salto e um modo predefinido de acordo com a presente divulgação.
[000463] Em uma modalidade, oO codificador de informação de movimento 3310 pode determinar se um bloco pai é dividido e pode dividir o bloco pai em um primeiro bloco filho correspondente ao bloco atual e um segundo bloco filho adjacente ao primeiro bloco filho. De acordo com uma modalidade, o codificador de informação de movimento 3310 pode determinar se o bloco pai está dividido e pode dividir o bloco pai no primeiro bloco filho correspondente ao bloco atual, e o segundo bloco filho e um terceiro bloco filho adjacentes ao primeiro bloco filho.
[000464] O codificador de informação de movimento 3310 pode codificar o primeiro bloco filho de acordo com o modo predefinido, e o gerador 3330 pode gerar um fluxo de bits incluindo informações geradas como resultado da codificação do primeiro bloco filho.
[000465] Paracodificar o segundo bloco filho, como para o primeiro bloco filho, o codificador de informação de movimento 3310 pode codificar o segundo bloco filho de acordo com o modo predefinido de acordo com a presente divulgação. Nesse caso, os candidatos a vetor de movimento base e os candidatos a vetor de movimento diferencial primário determinados para o bloco pai também podem ser usados para o primeiro bloco filho e o segundo bloco filho. Em outras palavras, os candidatos a vetor de movimento base e os candidatos a vetor de movimento diferencial primário podem ser determinados no nível do bloco pai, um vetor de movimento base do primeiro bloco filho e um vetor de movimento base do segundo bloco filho dentre os candidatos a vetor de movimento base podem ser determinados independentemente, e um vetor de movimento diferencial primário do primeiro bloco filho e um vetor de movimento diferencial primário do segundo bloco filho dentre os candidatos a vetor de movimento diferencial primário podem ser determinados independentemente.
[000466] Em outro exemplo, o codificador de informação de movimento 3310 pode determinar um vetor de movimento determinado para o primeiro bloco filho como um vetor de movimento base do segundo bloco filho e pode determinar um vetor de movimento diferencial primário do segundo bloco filho dentre os candidatos a vetor de movimento diferencial primário. O gerador 3330 pode fazer com que a informação indicando o vetor de movimento base do segundo bloco filho não seja incluída em um fluxo de bits e, em vez disso, pode causar informações indicando o vetor de movimento diferencial primário do segundo bloco filho a ser incluído no fluxo de bits.
[000467] Em outro exemplo, pelo menos um dentre o vetor de movimento base, a distância de disparidade e a direção de disparidade determinada em relação ao primeiro bloco filho podem ser aplicados ao segundo bloco filho. Neste caso, o codificador de informação de movimento 3310 pode codificar um vetor de movimento do segundo bloco filho, usando pelo menos um dentre o vetor de movimento base, a distância de disparidade e a direção de disparidade determinada em relação ao primeiro bloco filho.
[000468] Alémdisso, o codificador de informação de movimento 3310 pode determinar um vetor de movimento diferencial secundário relacionado a um bloco entre o primeiro bloco filho e o segundo bloco filho, e o gerador 3330 pode causar informações indicando o vetor de movimento diferencial secundário determinado a ser incluído no fluxo de bits.
[000469] Em uma modalidade, oO codificador de informação de movimento 3310 pode codificar o primeiro bloco filho no modo predefinido de acordo com a presente divulgação, e o segundo bloco filho pode ser codificado em um modo diferente do modo predefinido aplicado ao primeiro bloco filho.
[000470] A FIG. 34 é um fluxograma para descrever um método de codificação de imagem de acordo com uma modalidade.
[000471] Na operação S3410, o aparelho de codificação de imagem 3300 determina um vetor de movimento base de um bloco atual. O aparelho de codificação de imagem 3300 pode determinar um candidato a vetor de movimento base entre um ou mais candidatos a vetor de movimento base como o vetor de movimento base do bloco atual.
[000472] Na operação S3420, o aparelho de codificação de imagem 3300 determina um vetor de movimento diferencial primário do bloco atual.
[000473] O aparelho de codificação de imagem 3300 pode determinar candidatos a vetor de movimento diferencial primário para cada um ou mais candidatos a vetor de movimento base e pode determinar o vetor de movimento diferencial primário do bloco atual dentre os candidatos a vetor de movimento diferencial primário.
[000474] O aparelho de codificação de imagem 3300 pode determinar um candidato a vetor de movimento diferencial primário com um valor mais semelhante a um valor obtido subtraindo o vetor de movimento base do bloco atual de um vetor de movimento do bloco atual como o vetor de movimento diferencial primário do bloco atual.
[000475] Na operação S3430, o aparelho de codificação de imagem 3300 gera um fluxo de bits como resultado da codificação do bloco atual.
[000476] Em uma modalidade, o fluxo de bits pode incluir informações indicando pelo menos uma de, se o modo predefinido é aplicado ao bloco atual, o vetor de movimento base do bloco atual, o vetor de movimento diferencial primário do bloco atual, uma prioridade das distâncias de disparidade para classificar os candidatos a vetor de movimento diferencial primário e uma prioridade das direções de disparidade para classificar os candidatos a vetor de movimento diferencial primário. O gerador 3330 pode fazer com que a informação seja incluída no fluxo de bits correspondente a pelo menos um nível de unidade de codificação, nível de unidade de transformação, nível de unidade de codificação maior, nível de unidade de fatia e nível de unidade de quadro.
[000477] As modalidades podem ser implementadas como um programa executável por computador e o programa pode ser armazenado em um meio.
[000478] Omeio pode armazenar continuamente o programa executável por computador ou temporariamente o programa executável por computador para executar ou fazer o download do programa executável por computador. Além disso, o meio pode ser qualquer um dos vários meios de gravação ou armazenamento, incluindo um único hardware ou uma combinação de uma pluralidade de hardware, e pode ser distribuído em uma rede sem se limitar a um meio diretamente conectado a um sistema de computador. O meio pode ser configurado para armazenar instruções do programa, e exemplos do meio podem incluir um meio magnético, como um disco rígido, um disquete ou uma fita magnética, um meio de gravação óptico, como uma memória somente leitura de CD (CD -ROM) ou um disco versátil digital (DVD), um meio magneto-óptico, como um disco floptical, uma ROM, uma memória de acesso aleatório (RAM) e uma memória flash. Além disso, outros exemplos do meio podem incluir um meio de gravação e um meio de armazenamento gerenciado por uma loja de aplicativos que distribui aplicativos ou um site ou servidor que fornece ou distribui vários outros softwares.
[000479] Embora a presente divulgação tenha sido particularmente mostrada e descrita com referência a suas modalidades, será entendido por um versado na técnica que várias alterações na forma e nos detalhes podem ser feitas nela sem se afastar do espírito e do escopo da presente divulgação conforme definido pelas reivindicações anexas.

Claims (15)

—- REIVINDICAÇÕES -
1. MÉTODO PARA DECODIFICAR INFORMAÇÕES DE MOVIMENTO, o método caracterizado por compreender: determinar um vetor de movimento base de um bloco atual; determinar um vetor de movimento diferencial primário para o bloco atual com base em informações obtidas de um fluxo de bits dentre um ou mais candidatos a vetores de movimento diferencial primário classificados de acordo com uma distância e direção de disparidade; e determinar um vetor de movimento do bloco atual aplicando o vetor de movimento diferencial primário ao vetor de movimento base.
2. Método, de acordo com a reivindicação 1, caracterizado por a determinação do vetor de movimento do bloco atual compreender: obter, a partir do fluxo de bits, informações indicando um vetor de movimento diferencial secundário relacionado ao bloco atual; e determinar o vetor de movimento do bloco atual aplicando o vetor de movimento diferencial secundário determinado com base nas informações indicando o vetor de movimento diferencial secundário ao vetor de movimento base alterado pela aplicação do vetor de movimento diferencial primário.
3. Método, de acordo com a reivindicação 1, caracterizado por compreender ainda obter, a partir do fluxo de bits, um índice indicando pelo menos uma distância de disparidade e a direção de disparidade do vetor de movimento diferencial primário, em que a determinação do vetor de movimento diferencial primário compreende determinar um candidato a vetor de movimento diferencial primário correspondente ao índice obtido entre um ou mais candidatos a vetor de movimento diferencial primário como o vetor de movimento diferencial primário para o bloco atual.
4, Método, de acordo com a reivindicação 1, caracterizado por compreender determinar um candidato a vetor de movimento base dentre um ou mais candidatos a vetor de movimento base como o vetor de movimento base do bloco atual.
5. Método, de acordo com a reivindicação 1, caracterizado por a determinação do vetor de movimento do bloco atual compreender: quando o vetor de movimento base do bloco atual corresponde a um vetor de movimento bidirecional, uma direção de predição do bloco atual corresponde a uma direção bidirecional, e o vetor de movimento diferencial primário é determinado para uma primeira direção unidirecional, determinar o vetor de movimento diferencial primário para uma segunda direção unidirecional com base no vetor de movimento diferencial primário para a primeira direção unidirecional; determinar o vetor de movimento da primeira direção unidirecional do bloco atual, aplicando o vetor de movimento diferencial primário para a primeira direção unidirecional ao vetor de movimento base da primeira direção unidirecional; e determinar o vetor de movimento para a segunda direção unidirecional do bloco atual, aplicando o vetor de movimento diferencial primário para a segunda direção unidirecional ao vetor de movimento base da segunda direção unidirecional.
6. Método, de acordo com a reivindicação 5, caracterizado por a determinação do vetor de movimento diferencial primário para a segunda direção unidirecional compreender determinar pelo menos um de um tamanho e um sinal de um valor componente do vetor de movimento diferencial primário para a segunda direção unidirecional, com base em um relação posicional entre um quadro de referência correspondente ao vetor de movimento base da primeira direção unidirecional, um quadro de referência correspondente ao vetor de movimento base da segunda direção unidirecional e um quadro atual compreendendo o bloco atual.
7. Método, de acordo com a reivindicação 1, caracterizado por a determinação do vetor de movimento do bloco atual compreender: quando o vetor de movimento base do bloco atual corresponde a um vetor de movimento de uma primeira direção unidirecional e uma direção de predição do bloco atual corresponde a uma segunda direção unidirecional diferente da primeira direção unidirecional, determinar o vetor de movimento base da segunda direção unidirecional com base no vetor de movimento base da primeira direção unidirecional e na determinação do vetor de movimento diferencial primário para a segunda direção unidirecional com base no vetor de movimento diferencial primário para a primeira direção unidirecional; e determinar o vetor de movimento do bloco atual, aplicando o vetor de movimento diferencial primário para a segunda direção unidirecional ao vetor de movimento base da segunda direção unidirecional.
8. Método, de acordo com a reivindicação 1, caracterizado por a determinação do vetor de movimento do bloco atual compreender: quando o vetor de movimento base do bloco atual corresponde a um vetor de movimento de uma primeira direção unidirecional e uma direção de predição do bloco atual corresponde a uma direção bidirecional, determinar o vetor de movimento base da segunda direção unidirecional com base no vetor de movimento base da primeira direção unidirecional e na determinação do vetor de movimento diferencial primário para a segunda direção unidirecional com base no vetor de movimento diferencial primário para a primeira direção unidirecional; determinar o vetor de movimento da primeira direção unidirecional do bloco atual, aplicando o vetor de movimento diferencial primário para a primeira direção unidirecional ao vetor de movimento base da primeira direção unidirecional; e determinar o vetor de movimento da segunda direção unidirecional do bloco atual, aplicando o vetor de movimento diferencial primário para a segunda direção unidirecional ao vetor de movimento base da segunda direção unidirecional.
9. Método, de acordo com a reivindicação 1, caracterizado por compreender ainda decodificar por entropia pelo menos alguns dos índices indicando o vetor de movimento diferencial primário do fluxo de bits de acordo com um modelo de contexto.
10. Método, de acordo com a reivindicação 1, caracterizado por compreender ainda determinar um ou mais candidatos a vetor de movimento diferencial primário para cada um de um ou mais candidatos a vetor de movimento base, em que um candidato a vetor de movimento diferencial primário determinado a corresponder a um candidato a vetor de movimento base bidirecional dentre um ou mais candidatos a vetor de movimento diferencial primário compreende um candidato a vetor de movimento diferencial primário de uma direção da lista 0 e um candidato a vetor de movimento diferencial primário de uma direção da lista 1 com valores do mesmo sinal ou sinais opostos.
11. Método, de acordo com a reivindicação 10, caracterizado por um valor de pelo menos um dos candidatos a vetor de movimento diferencial primário da direção da lista 0 e o candidato a vetor de movimento diferencial primário da direção da lista 1 poder ser aumentado em consideração à distância entre um primeiro quadro de referência correspondendo a um candidato a vetor de movimento base de uma primeira direção unidirecional, um quadro atual incluindo o bloco atual e um segundo quadro de referência correspondendo a um candidato a vetor de movimento base de uma segunda direção unidirecional.
12. Método de acordo com a reivindicação 1, caracterizado por compreender adicionalmente: quando o bloco atual corresponde a um primeiro bloco filho dividido a partir de um bloco pai, determinar o vetor de movimento do bloco atual como um vetor de movimento base de um segundo bloco filho; e determinar um vetor de movimento do segundo bloco filho aplicando um vetor de movimento diferencial primário determinado para o segundo bloco filho ao vetor de movimento base do segundo bloco filho.
13. Método, de acordo com a reivindicação 1, caracterizado por compreender ainda, quando o bloco atual corresponde a um primeiro bloco filho dividido a partir de um bloco pai, aplicar, a um segundo bloco filho, pelo menos uma dentre informações indicando o vetor de movimento base, informações indicando a distância de disparidade e informações indicando a direção de disparidade obtida em relação ao bloco atual.
14. Método, de acordo com a reivindicação 1, caracterizado por compreender obter informações indicando pelo menos um dentre se um modo de codificação predeterminado é aplicado ao bloco atual, o vetor de movimento base para o bloco atual, o vetor de movimento diferencial primário para o bloco atual, uma prioridade entre distâncias de disparidade e uma prioridade entre as direções de disparidade, pelo menos em um nível de unidade de transformação, nível de unidade de codificação, maior nível de unidade de codificação, nível de fatia e nível de quadro.
15. MÉTODO PARA CODIFICAR INFORMAÇÕES DE MOVIMENTO, o método caracterizado por compreender: determinar um vetor de movimento base de um bloco atual; determinar um vetor de movimento diferencial primário para o bloco atual dentre um ou mais candidatos a vetor de movimento diferencial primário classificados de acordo com uma distância de disparidade e uma direção de disparidade, com base na diferença entre um vetor de movimento do bloco atual e o vetor de movimento base; e gerar um fluxo de bits compreendendo pelo menos uma informação indicando o vetor de movimento base e informação indicando o vetor de movimento diferencial primário.
BR112020001881-3A 2017-09-12 2018-09-12 Método para decodificar informações de movimento BR112020001881B1 (pt)

Priority Applications (2)

Application Number Priority Date Filing Date Title
BR122022003214-1A BR122022003214B1 (pt) 2017-09-12 2018-09-12 Aparelho para decodificar informações de movimento, aparelho para codificar informações de movimento, e meio legível por computador não transitório para registrar um fluxo de bits
BR122022003217-6A BR122022003217B1 (pt) 2017-09-12 2018-09-12 Método para decodificar informações de movimento, método para codificar informações de movimento, e meio legível por computador não transitório para registrar um fluxo de bits

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762557414P 2017-09-12 2017-09-12
US62/557,414 2017-09-12
PCT/KR2018/010663 WO2019054736A1 (ko) 2017-09-12 2018-09-12 움직임 정보의 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치

Publications (2)

Publication Number Publication Date
BR112020001881A2 true BR112020001881A2 (pt) 2020-07-28
BR112020001881B1 BR112020001881B1 (pt) 2023-12-19

Family

ID=65722928

Family Applications (3)

Application Number Title Priority Date Filing Date
BR112020001881-3A BR112020001881B1 (pt) 2017-09-12 2018-09-12 Método para decodificar informações de movimento
BR122022003217-6A BR122022003217B1 (pt) 2017-09-12 2018-09-12 Método para decodificar informações de movimento, método para codificar informações de movimento, e meio legível por computador não transitório para registrar um fluxo de bits
BR122022003214-1A BR122022003214B1 (pt) 2017-09-12 2018-09-12 Aparelho para decodificar informações de movimento, aparelho para codificar informações de movimento, e meio legível por computador não transitório para registrar um fluxo de bits

Family Applications After (2)

Application Number Title Priority Date Filing Date
BR122022003217-6A BR122022003217B1 (pt) 2017-09-12 2018-09-12 Método para decodificar informações de movimento, método para codificar informações de movimento, e meio legível por computador não transitório para registrar um fluxo de bits
BR122022003214-1A BR122022003214B1 (pt) 2017-09-12 2018-09-12 Aparelho para decodificar informações de movimento, aparelho para codificar informações de movimento, e meio legível por computador não transitório para registrar um fluxo de bits

Country Status (9)

Country Link
US (3) US11172204B2 (pt)
EP (1) EP3651463A4 (pt)
JP (2) JP7187540B2 (pt)
KR (6) KR102233964B1 (pt)
CN (3) CN116233417A (pt)
AU (3) AU2018332398B2 (pt)
BR (3) BR112020001881B1 (pt)
CA (1) CA3071370A1 (pt)
WO (1) WO2019054736A1 (pt)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019059575A2 (ko) * 2017-09-19 2019-03-28 삼성전자주식회사 움직임 정보의 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치
CN117061738A (zh) 2018-04-02 2023-11-14 深圳市大疆创新科技有限公司 用于图像处理的方法和图像处理装置
CN117156131A (zh) * 2018-10-23 2023-12-01 韦勒斯标准与技术协会公司 通过使用基于子块的运动补偿处理视频信号的方法和设备
WO2020139059A1 (ko) 2018-12-28 2020-07-02 삼성전자 주식회사 움직임 벡터 차분의 부호화 방법 및 부호화 장치, 및 움직임 벡터 차분의 복호화 방법 및 복호화 장치
JP6897885B2 (ja) * 2019-03-08 2021-07-07 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法、及び動画像符号化プログラム、動画像復号装置、動画像復号方法及び動画像復号プログラム
JP7395625B2 (ja) * 2019-06-19 2023-12-11 エルジー エレクトロニクス インコーポレイティド クロマブロックの分割条件を制限する画像符号化/復号化方法、装置、及びビットストリームを伝送する方法
MX2021016163A (es) * 2019-06-19 2022-03-11 Lg Electronics Inc Metodo y aparato de codificacion/decodificacion de imagen para limitar el tama?o del bloque de croma, y metodo para transmitir el flujo de bits.
MX2022000028A (es) 2019-06-24 2022-03-11 Lg Electronics Inc Método y aparato de codificación/decodificación de imágenes usando ajuste de tamaño de transformación máximo para bloque de croma, y método para transmitir flujo de bits.
EP3989557A4 (en) * 2019-06-24 2023-05-24 LG Electronics Inc. METHOD AND APPARATUS FOR ENCODING/DECODING VIDEO USING MAXIMUM SATURATION TRANSFORM BLOCK SIZE LIMITATION, AND BITSTREAM TRANSMISSION METHOD
CN114208179A (zh) * 2019-06-24 2022-03-18 Lg电子株式会社 利用色度分量编码块的最大变换大小限制的图像编码/解码方法和装置及发送比特流的方法
WO2023090924A1 (ko) * 2021-11-18 2023-05-25 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2438184T3 (es) 1993-03-24 2014-01-16 Sony Corporation Método de codificación y decodificación de vector de movimiento y aparato asociado y método de codificación y decodificación de señal de imagen y aparato asociado
KR100491530B1 (ko) 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
JP2006279573A (ja) 2005-03-29 2006-10-12 Sanyo Electric Co Ltd 符号化装置と方法、ならびに復号装置と方法
JP5025286B2 (ja) 2007-02-28 2012-09-12 シャープ株式会社 符号化装置及び復号装置
KR20100014553A (ko) * 2007-04-25 2010-02-10 엘지전자 주식회사 비디오 신호의 인코딩/디코딩 방법 및 장치
KR101279573B1 (ko) * 2008-10-31 2013-06-27 에스케이텔레콤 주식회사 움직임 벡터 부호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
KR100991184B1 (ko) * 2009-02-18 2010-11-01 연세대학교 산학협력단 동영상 부호화 효율 향상을 위한 움직임 벡터 압축 방법 및그 장치, 상기 방법을 구현하는 프로그램이 기록된 기록매체
KR101356613B1 (ko) * 2009-08-21 2014-02-06 에스케이텔레콤 주식회사 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치
KR101318869B1 (ko) * 2009-08-28 2013-10-16 에스케이텔레콤 주식회사 동영상 부호화를 위한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
US9288501B2 (en) 2011-03-08 2016-03-15 Qualcomm Incorporated Motion vector predictors (MVPs) for bi-predictive inter mode in video coding
US9247249B2 (en) 2011-04-20 2016-01-26 Qualcomm Incorporated Motion vector prediction in video coding
JP5807621B2 (ja) * 2011-06-30 2015-11-10 株式会社Jvcケンウッド 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法および送信プログラム
JP2014523708A (ja) * 2011-07-01 2014-09-11 モトローラ モビリティ エルエルシー 動きベクトル予測設計の簡易化
US20130177084A1 (en) * 2012-01-10 2013-07-11 Qualcomm Incorporated Motion vector scaling in video coding
CN105264894A (zh) * 2013-04-05 2016-01-20 三星电子株式会社 针对层间解码和编码方法以及设备的确定帧间预测候选的方法
KR20220162877A (ko) 2014-10-31 2022-12-08 삼성전자주식회사 고정밀 스킵 부호화를 이용한 비디오 부호화 장치 및 비디오 복호화 장치 및 그 방법
WO2017039117A1 (ko) * 2015-08-30 2017-03-09 엘지전자(주) 영상의 부호화/복호화 방법 및 이를 위한 장치
KR20180048736A (ko) 2015-09-24 2018-05-10 엘지전자 주식회사 영상 코딩 시스템에서 인터 예측 방법 및 장치
KR20170086165A (ko) * 2016-01-15 2017-07-26 에스케이텔레콤 주식회사 영상 내 특징점의 움직임 검출 장치 및 방법
CN114205617B (zh) * 2018-02-28 2024-03-19 三星电子株式会社 编码方法及其装置以及解码方法及其装置

Also Published As

Publication number Publication date
US11172204B2 (en) 2021-11-09
AU2024202190A1 (en) 2024-05-02
KR102274316B1 (ko) 2021-07-07
KR20210035350A (ko) 2021-03-31
KR102338364B1 (ko) 2021-12-10
KR102521521B1 (ko) 2023-04-14
US20220060715A1 (en) 2022-02-24
AU2018332398A1 (en) 2020-02-06
US11870999B2 (en) 2024-01-09
AU2023200685A1 (en) 2023-03-09
US20200252617A1 (en) 2020-08-06
KR20230051321A (ko) 2023-04-17
BR112020001881B1 (pt) 2023-12-19
EP3651463A4 (en) 2021-05-19
BR122022003217B1 (pt) 2023-12-05
JP2020533839A (ja) 2020-11-19
KR20210084708A (ko) 2021-07-07
KR102233964B1 (ko) 2021-03-30
CA3071370A1 (en) 2019-03-21
JP2023022209A (ja) 2023-02-14
BR122022003214B1 (pt) 2023-12-05
AU2018332398B2 (en) 2022-11-24
KR20210152024A (ko) 2021-12-14
WO2019054736A1 (ko) 2019-03-21
US20240129484A1 (en) 2024-04-18
KR102408258B1 (ko) 2022-06-13
KR20220076541A (ko) 2022-06-08
EP3651463A1 (en) 2020-05-13
JP7187540B2 (ja) 2022-12-12
CN111095926A (zh) 2020-05-01
CN116233417A (zh) 2023-06-06
JP7464684B2 (ja) 2024-04-09
KR20200014425A (ko) 2020-02-10
AU2023200685B2 (en) 2024-01-25
CN116233418A (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
BR112020001881A2 (pt) método para decodificar informações de movimento, e método para codificar informações de movimento
BR122022004567B1 (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
KR102366260B1 (ko) 움직임 정보의 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치
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
KR102247664B1 (ko) 영상의 부호화 및 복호화를 위한 영상의 분할 방법 및 장치
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
KR20200098520A (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
KR20210029819A (ko) 양방향 예측을 이용한 영상의 부호화 및 복호화 방법, 및 영상의 부호화 및 복호화 장치
KR20200139825A (ko) 서브 블록 기반으로 영상을 복호화하는 방법 및 장치, 부호화 방법 및 장치
JP2024075772A (ja) 動き情報の符号化方法、復号方法、符号化装置及び復号装置並びに記録媒体
BR122022003521B1 (pt) Método para decodificar informações de movimento, e método para codificar informações de movimento
BR122022003518B1 (pt) Método para decodificar informações de movimento, e método para codificar informações de movimento

Legal Events

Date Code Title Description
B350 Update of information on the portal [chapter 15.35 patent gazette]
B07A Application suspended after technical examination (opinion) [chapter 7.1 patent gazette]
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 12/09/2018, OBSERVADAS AS CONDICOES LEGAIS