BR112013017208B1 - Método de codificação preditiva e dispositivo de codificação preditiva de vetor de movimento, e método de decodificação preditiva e dispositivo de decodificação preditivade vetor de movimento - Google Patents

Método de codificação preditiva e dispositivo de codificação preditiva de vetor de movimento, e método de decodificação preditiva e dispositivo de decodificação preditivade vetor de movimento Download PDF

Info

Publication number
BR112013017208B1
BR112013017208B1 BR112013017208-8A BR112013017208A BR112013017208B1 BR 112013017208 B1 BR112013017208 B1 BR 112013017208B1 BR 112013017208 A BR112013017208 A BR 112013017208A BR 112013017208 B1 BR112013017208 B1 BR 112013017208B1
Authority
BR
Brazil
Prior art keywords
motion vector
vector predictor
determining
predictive
partition
Prior art date
Application number
BR112013017208-8A
Other languages
English (en)
Other versions
BR112013017208A2 (pt
Inventor
Akira Fujibayashi
Yoshinori Suzuki
Choog Seng Boon
Original Assignee
Ntt Docomo, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ntt Docomo, Inc. filed Critical Ntt Docomo, Inc.
Publication of BR112013017208A2 publication Critical patent/BR112013017208A2/pt
Publication of BR112013017208B1 publication Critical patent/BR112013017208B1/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
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/172Methods 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 picture, frame or field
    • 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

Landscapes

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

Abstract

método de codificação preditiva, dispositivo de codificação preditiva e programa de codificação preditiva de vetor de movimento, e método de decodificação preditiva, dispositivo de decodificação preditiva e programa de decodificação preditiva de vetor de movimento a presente invenção refere-se a um método de codificação preditiva de vetores de movimento de acordo com uma modalidade que inclui: (a) uma etapa de determinar um vetor de movimento de uma partição-alvo em uma imagem de quadro de um alvo de codificação; (b) uma etapa de determinar um primeiro candidato a vetor de movimento preditivo a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições pertencendo a uma região à esquerda vizinha à partição-alvo; (c) uma etapa de determinar um segundo candidato a vetor de movimento preditivo a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições pertencendo a uma região acima vizinha à partição-alvo; (d) uma etapa de selecionar um vetor de movimento preditivo ideal de produzir informação de indicação de vetor de movimento preditivo para especificar o vetor de movimento preditivo ideal selecionado, o vetor de movimento preditivo ideal selecionado com base na comparação entre um ou mais candidatos a vetor de movimento preditivo incluindo o primeiro candidato a vetor de movimento preditivo e o segundo a vetor de movimento preditivo, e o vetor de movimento da partição-alvo; e (e) uma etapa de codificar a informação de indicação de vetor de movimento preditivo.

Description

MÉTODO DE CODIFICAÇÃO PREDITIVA E DISPOSITIVO DE CODIFICAÇÃO PREDITIVA DE VETOR DE MOVIMENTO, E MÉTODO DE DECODI-FICAÇÃO PREDITIVA E DISPOSITIVO DE DECODIFICAÇÃO PREDITIVA DE VETOR DE MOVIMENTO
Campo Técnico Modalidades da presente invenção dizem respeito a um método de codificação preditiva, um dispositivo de codificação preditiva e um programa de codificação preditiva de vetor de movimento e a um método de decodificação preditiva, um dispositivo de decodificação preditiva e um programa de decodificação preditiva de vetor de movimento. Técnica Anterior Tecnologia de predição de movimento compensado é usada ocasional mente em codificação de vídeo e decodificação de vídeo. Na tecnologia de compensação de movimento, um quadro de um alvo de processamento em uma sequência de vídeo é dividido em uma pluralidade de partições. Estas partições são selecionadas sequencialmente como uma partição de um alvo de processamento (partição-alvo). Um vetor de movimento é então determinado para a partição-alvo. Na tecnologia de predição de movimento compensado, um vetor de movimento preditivo é determinado usando vetores de movimento de partições vizinhas à partição-alvo e o vetor de movimento da partição-alvo é codificado preditivamente ou decodificado prediti-vamente em alguns casos.
As Figuras 1A e 1B são desenhos para ilustrar partições vizinhas retangulares usadas na predição de movimento compensado. Na Figura 1A, a forma da partição-alvo BT é idêntica à forma das partições vizinhas BL, BA e BRA. A partição vizinha à esquerda BL inclui um pixel vizinho existindo no lado esquerdo do pixel superior esquerdo na partição-alvo BT; a partição vizinha acima BA inclui um pixel vizinho existindo acima do pixel superior esquerdo na partição-alvo BT; a partição vizinha acima à direita BRA inclui um pixel vizinho existindo acima e no lado direito do pixel direito superior na partição-alvo BT. A tecnologia convencional H.264/AVC emprega um vetor de movimento preditivo tendo valores medianos de componentes horizontais e componentes verticais de vetores de movimento da partição vizinha à esquerda BL, da partição vizinha acima BA e da partição vizinha acima à direita BRA.
Por outro lado, a Figura 1B ilustra um caso onde existe uma pluralidade de partições vizinhas tendo as respectivas formas diferentes da forma da partição-alvo BT. A pluralidade de partições vizinhas na Figura 1B inclui as partições vizinhas BL1, BL2, BA1, BA2, BD e BE, além da partição vizinha à esquerda BL, a partição vizinha acima BA e a partição vizinha acima à direita BRA. De acordo com a tecnologia descrita na Literatura de Patente 1, a pluralidade de partições vizinhas é varrida em uma ordem espacial predeterminada para especificar uma partição vizinha com a melhor similaridade espacial para um sinal de pixel da partição-alvo, e um vetor de movimento da partição vizinha especificado assim é usado como um vetor de movimento preditivo. Na tecnologia da Literatura de Patente 1, a similaridade espacial a ser usada é a soma das diferenças absolutas (SAD) entre o sinal de pixel da partição-alvo e o sinal de pixel da partição vizinha.
Lista de Referências Literatura de Patente Literatura de Patente 1: Tradução Japonesa do Pedido PCT Aberto No. 2010-515399 Sumário da Invenção Problema Técnico Uma vez que a tecnologia indicada anteriormente da Literatura de Patente 1 envolve calcular a similaridade espacial enquanto varrendo a pluralidade de partições vizinhas na ordem predeterminada, ela exige um considerável número de cálculos para determinação do vetor de movimento preditivo.
Existem, portanto, demandas para redução em complexidade computacional necessária para a determinação do vetor de movimento preditivo nos campos técnicos envolvidos.
Solução para o Problema Um aspecto da presente invenção diz respeito a uma tecnologia de codificação preditiva de vetores de movimento.
Um método de codificação preditiva de vetores de movimento de acordo com um aspecto da presente invenção é um método para codificar preditivamente um vetor de movimento usado em predição de movimento compensado de uma sequência de vídeo consistindo em uma sequência temporal de imagens de quadro, compreendendo: (a) uma etapa de determinar um vetor de movimento de uma partição-alvo em uma imagem de quadro de um alvo de codificação na sequência de vídeo; (b) uma etapa de determinar um primeiro candidato a vetor de movimento preditivo satisfazendo um critério predeterminado usado para determinação de candidatos a vetor de movimento preditivo, a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições pertencendo a uma região vizinha à esquerda localizada no lado esquerdo da partição-alvo; (c) uma etapa de determinar um segundo candidato a vetor de movimento preditivo satisfazendo um critério predeterminado usado para determinação de candidatos a vetor de movimento preditivo, a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições pertencendo a uma região vizinha acima localizada acima da partição-alvo; (d) uma etapa de selecionar um vetor de movimento preditivo ideal e produzir informação de indicação de vetor de movimento preditivo para especificar o vetor de movimento preditivo ideal selecionado, o vetor de movimento preditivo ideal selecionado com base na comparação entre um ou mais candidatos a vetor de movimento predi-tivo incluindo o primeiro candidato a vetor de movimento preditivo e o segundo candidato a vetor de movimento preditivo, e o vetor de movimento da partição-alvo; e (e) uma etapa de codificar a informação de indicação de vetor de movimento preditivo.
Um dispositivo de codificação preditiva de vetores de movimento de acordo com um aspecto da presente invenção é um dispositivo para codificar preditivamente um vetor de movimento usado em predição de movimento compensado de uma sequência de vídeo consistindo em uma se- quência temporal de imagens de quadro compreendendo: dispositivo de detecção de movimento que determina um vetor de movimento de uma partição-alvo em uma imagem de quadro de um alvo de codificação na sequência de video; primeiro dispositivo de determinação de candidato a vetor de movimento preditivo que determina um primeiro candidato a vetor de movimento preditivo satisfazendo um critério predeterminado usado para determinação de candidatos a vetor de movimento preditivo a partir de um vetor de movimento, ou de vetores de movimento, de uma ou mais partições pertencendo a uma região vizinha à esquerda localizada no lado esquerdo da partição-alvo; segundo dispositivo de determinação de candidato a vetor de movimento preditivo que determina um segundo candidato a vetor de movimento preditivo satisfazendo um critério predeterminado usado para determinação de candidatos a vetor de movimento preditivo a partir de um vetor de movimento, ou de vetores de movimento, de uma ou mais partições pertencendo a uma região vizinha acima localizada acima da partição-alvo; dispositivo de determinação de vetor de movimento preditivo, o qual seleciona um vetor de movimento preditivo ideal com base na comparação entre o vetor de movimento da partição-alvo e um ou mais candidatos a vetor de movimento preditivo. O um ou mais candidatos a vetor de movimento preditivo incluindo pelo menos um de o primeiro candidato a vetor de movimento preditivo ou o segundo candidato a vetor de movimento preditivo. O dispositivo de determinação de vetor de movimento preditivo produz informação de indicação de vetor de movimento preditivo para especificar o vetor de movimento preditivo ideal selecionado; e dispositivo de codificação que codifica a informação de indicação de vetor de movimento preditivo.
Um programa de codificação preditiva de vetores de movimento de acordo com um aspecto da presente invenção é um programa para fazer com que um computador opere como um dispositivo para codificar preditivamente um vetor de movimento usado em predição de movimento compensado de uma sequência de vídeo consistindo em uma sequência temporal de imagens de quadro, o programa fazendo com que o computador funcione como: o dispositivo de detecção de movimento, o primeiro dispositivo de de- terminação de candidato a vetor de movimento preditivo, o segundo dispositivo de determinação de candidato a vetor de movimento preditivo, o dispositivo de determinação de vetor de movimento preditivo e o dispositivo de codificação descritos acima.
Na tecnologia de codificação preditiva de vetores de movimento de acordo com um aspecto da presente invenção descrita anteriormente, os candidatos a vetor de movimento preditivo são reduzidos em número, e em seguida o vetor de movimento preditivo é determinado com base na comparação entre o vetor de movimento da partição-alvo e os candidatos a vetor de movimento preditivo. Portanto, esta tecnologia pode reduzir a complexidade computacional necessária para a determinação do vetor de movimento preditivo.
Em uma modalidade, a tecnologia de codificação preditiva pode ser configurada como se segue: um sinal predito de um sinal de pixel de uma partição-alvo é gerado ao se referir a um quadro de referência com um número de quadro especificado por uma identificação de lista de imagens de referência e uma identificação de imagem de referência; um primeiro candidato a vetor de movimento preditivo é determinado a partir de vetores de movimento de partições em uma região vizinha à esquerda tendo uma identificação de lista de imagens de referência e/ou uma identificação de imagem de referência coincidentes com a identificação de lista de imagens de referência e/ou a identificação de imagem de referência para a partição-alvo; o segundo candidato a vetor de movimento preditivo é determinado a partir de vetores de movimento de partições em uma região vizinha acima tendo uma identificação de lista de imagens de referência e/ou uma identificação de imagem de referência coincidentes com a identificação de lista de imagens de referência e/ou a identificação de imagem de referência para a partição-alvo.
Em uma modalidade, a informação de indicação de vetor de movimento preditivo pode ser codificada para dados codificados de uma contagem de bits de acordo com o número de candidatos a vetor de movimento preditivo. Por exemplo, a informação de indicação de vetor de movimento preditivo pode ser codificada para dados codificados de uma contagem de bits mínima de acordo com o número de candidatos a vetor de movimento preditivo. Esta modalidade pode reduzir a contagem de bits de dados codificados da informação de indicação de vetor de movimento preditivo.
Em uma modalidade, uma região vizinha à esquerda pode incluir uma partição vizinha localizada abaixo e no lado esquerdo de uma partição-alvo. A partição vizinha abaixo à esquerda é uma partição incluindo pixels vizinhos existindo abaixo e no lado esquerdo de um pixel inferior esquerdo na partição-alvo. Nesta modalidade, a partição vizinha abaixo à esquerda está incluída na região vizinha à esquerda, e o vetor de movimento da partição vizinha abaixo à esquerda não é definido como um candidato a vetor de movimento preditivo independente quando o primeiro candidato a vetor de movimento preditivo é determinado da região vizinha à esquerda. Esta modalidade pode reduzir o número de candidatos a vetor de movimento preditivo. Como resultado, uma contagem de bits de dados codificados da informação de indicação de vetor de movimento preditivo pode ser reduzida.
Em uma modalidade, uma região vizinha acima pode incluir uma partição vizinha localizada acima e no lado direito de uma partição-alvo. A partição vizinha acima à direita é uma partição que inclui pixels vizinhos existindo acima e no lado direito de um pixel direito superior na partição-alvo. Nesta modalidade, a partição vizinha acima à direita está incluída na região vizinha acima, e um vetor de movimento da partição vizinha acima à direita não é definido como um candidato a vetor de movimento preditivo independente quando o segundo candidato a vetor de movimento preditivo é determinado da região vizinha acima. Esta modalidade pode reduzir o número de candidatos a vetor de movimento preditivo. Como resultado, uma contagem de bits de dados codificados da informação de indicação de vetor de movimento preditivo pode ser reduzida.
Em uma modalidade, uma região vizinha à esquerda ou uma região vizinha acima pode incluir uma partição vizinha localizada acima e no lado esquerdo de uma partição-alvo. A partição vizinha acima à esquerda é uma partição que inclui pixels vizinhos existindo acima e no lado esquerdo de um pixel superior esquerdo na partição-alvo. Nesta modalidade, um vetor de movimento da partição vizinha acima à esquerda não é definido como um candidato a vetor de movimento preditivo independente, e um candidato a vetor de movimento preditivo é determinado enquanto que a partição vizinha acima à esquerda é incluída na região vizinha à esquerda ou na região vizinha acima. Esta modalidade pode reduzir o número de candidatos a vetor de movimento preditivo. Como resultado, a contagem de bits de dados codificados da informação de indicação de vetor de movimento preditivo pode ser reduzida.
Em uma modalidade, uma tecnologia de codificação preditiva pode ser configurada como se segue: uma ou mais partições em uma região vizinha à esquerda são varridas em uma direção para cima a partir de uma parte inferior da região vizinha à esquerda, pelo que um vetor de movimento satisfazendo um critério predeterminado é determinado como o primeiro candidato a vetor de movimento preditivo a partir de vetores de movimento da uma ou mais partições. O critério predeterminado é usado na determinação de candidatos a vetor de movimento preditivo. Uma varredura subsequente na região vizinha à esquerda pode ser terminada mediante detecção do vetor de movimento satisfazendo o critério predeterminado usado na determinação de candidatos a vetor de movimento preditivo. De acordo com conhecimento obtido pelos inventores com base em pesquisa em um grande número de sequências de vídeo, uma partição, dentre as partições na região vizinha à esquerda, com um vetor de movimento tendo uma pequena diferença para o vetor de movimento da partição-alvo tende a existir no lado inferior na região vizinha à esquerda. Portanto, o primeiro candidato a vetor de movimento preditivo com uma pequena diferença para o vetor de movimento da partição-alvo pode ser determinado de forma eficiente ao varrer a região vizinha à esquerda na ordem de varredura indicada anteriormente.
Em uma modalidade, a tecnologia de codificação preditiva pode ser configurada como se segue: uma ou mais partições em uma região vizinha acima são varridas em uma direção da direita para a esquerda, pelo que um vetor de movimento satisfazendo um critério predeterminado usado na determinação de candidatos a vetor de movimento preditivo é determinado como um segundo candidato a vetor de movimento preditivo a partir de vetores de movimento da uma ou mais partições. A varredura subsequente na região vizinha acima pode ser terminada mediante detecção do vetor de movimento satisfazendo o critério predeterminado usado na determinação de candidatos a vetor de movimento preditivo. De acordo com o conhecimento obtido pelos inventores com base em pesquisa em um grande número de sequências de vídeo, uma partição com um vetor de movimento tendo uma pequena diferença para o vetor de movimento da partição-alvo entre as partições na região vizinha acima tende a existir no lado direito na região vizinha acima. Portanto, o segundo candidato a vetor de movimento preditivo com uma pequena diferença para o vetor de movimento da partição-alvo pode ser determinado de forma eficiente ao varrer a região vizinha acima na ordem de varredura indicada anteriormente.
Em uma modalidade, a tecnologia de codificação preditiva pode ser configurada como se segue: ela compreende determinar primeira informação de indicação de direção de varredura indicativa de uma direção de varrer uma ou mais partições incluídas em uma região vizinha à esquerda, a fim de determinar um primeiro candidato a vetor de movimento preditivo; determinar segunda informação de indicação de direção de varredura indicativa de uma direção de varrer uma ou mais partições incluídas em uma região vizinha acima, a fim de determinar um segundo candidato a vetor de movimento preditivo; e codificar adicionalmente a primeira informação de indicação de direção de varredura e a segunda informação de indicação de direção de varredura. Nesta modalidade, as varreduras são executadas em ambas as direções para cima e para baixo na região vizinha à esquerda para selecionar um vetor de movimento satisfazendo o critério predeterminado usado na determinação de candidatos a vetor de movimento preditivo. Um vetor de movimento ideal dentre os vetores de movimento selecionados nas direções para cima e para baixo é definido como o primeiro candidato a vetor de movimento preditivo, e informação indicativa da direção da varredura na qual o primeiro candidato a vetor de movimento preditivo é obtido é definida como a primeira informação de indicação de direção de varredura. Além disso, as varreduras são executadas em ambas as direções para a esquerda e para a direita na região vizinha acima para selecionar o vetor de movimento satisfazendo o critério predeterminado usado na determinação de candidatos a vetor de movimento preditivo. O vetor de movimento ideal, dentre os vetores de movimento selecionados nas direções para a esquerda e para a direita, é definido como o segundo candidato a vetor de movimento preditivo e informação indicativa da direção da varredura na qual o segundo candidato a vetor de movimento preditivo é obtido é definida como a segunda informação de indicação de direção de varredura. Esta modalidade permite concretização de aumento adicional em eficiência de codificação por meio de determinação do primeiro candidato a vetor de movimento preditivo e do segundo candidato a vetor de movimento preditivo.
Em uma modalidade, o número de um ou mais candidatos a vetor de movimento preditivo pode não ser maior que 3. Esta modalidade pode reduzir adicionalmente a contagem de bits de dados codificados da informação de indicação de vetor de movimento preditivo.
Em uma modalidade, um vetor de movimento preditivo ideal pode ser usado como um vetor de movimento de uma partição-alvo, sem codificar um sinal residual entre o vetor de movimento da partição-alvo e o vetor de movimento preditivo ideal. Esta modalidade pode aumentar adicionalmente a eficiência de codificação por causa de o sinal residual do vetor de movimento não ser codificado.
Um outro aspecto da presente invenção diz respeito a uma tecnologia de decodificação preditiva de vetores de movimento.
Um método para decodificar preditivamente um vetor de movimento de acordo com um aspecto da presente invenção é um método para decodificar preditivamente um vetor de movimento usado em predição de movimento compensado para restaurar uma sequência de vídeo consistindo em uma sequência temporal de imagens de quadro. O método compreende: (a) uma etapa de determinar um primeiro candidato a vetor de movimento preditivo que satisfaz um critério predeterminado usado na determinação de candidatos a vetor de movimento preditivo, o primeiro candidato a vetor de movimento preditivo determinado a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições incluídas em uma região vizinha à esquerda localizada no lado esquerdo de uma partição-alvo em uma imagem de quadro de um alvo de decodificação; (b) uma etapa de determinar um segundo candidato a vetor de movimento preditivo que satisfaz um critério predeterminado usado na determinação de candidato a vetor de movimento preditivo, o segundo candidato a vetor de movimento preditivo determinado a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições incluídas em uma região vizinha acima localizada acima da partição-alvo; (c) uma etapa de decodificar dados codificados para restaurar informação de indicação de vetor de movimento preditivo especificando um vetor de movimento preditivo ideal para a partição-alvo; e (d) uma etapa de selecionar o vetor de movimento preditivo ideal especificado peia informação de indicação de vetor de movimento preditivo, de um ou mais candidatos a vetor de movimento preditivo, o um ou mais candidatos a vetor de movimento preditivo incluindo pelo menos o primeiro candidato a vetor de movimento preditivo e o segundo candidato a vetor de movimento preditivo.
Um dispositivo para decodificar preditivamente um vetor de movimento de acordo com um aspecto da presente invenção é um dispositivo para decodificar preditivamente um vetor de movimento usado em predição de movimento compensado para restaurar uma sequência de vídeo consistindo em uma sequência temporal de imagens de quadro. O dispositivo compreende: primeiro dispositivo de determinação de candidato a vetor de movimento preditivo, o qual determina um primeiro candidato a vetor de movimento preditivo que satisfaz um critério predeterminado usado na determinação de candidatos a vetor de movimento preditivo a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições pertencendo a uma região vizinha à esquerda localizada no lado esquerdo de uma partição-alvo em uma imagem de quadro de um alvo de decodificação; segundo dispositivo de determinação de candidato a vetor de movimento preditivo, o qual determina um segundo candidato a vetor de movimento preditivo que satisfaz um critério predeterminado usado na determinação de candidatos a vetor de movimento preditivo a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições pertencendo a uma região vizinha acima localizada acima da partição-alvo; dispositivo de decodificação que decodifica dados codificados para restaurar informação de indicação de vetor de movimento preditivo para especificar um vetor de movimento preditivo ideal para a partição-alvo; e dispositivo de determinação de vetor de movimento preditivo ideal que seleciona o vetor de movimento preditivo ideal especificado pela informação de indicação de vetor de movimento preditivo. O vetor de movimento preditivo ideal é selecionado de um ou mais candidatos a vetor de movimento preditivo incluindo pelo menos o primeiro candidato a vetor de movimento preditivo e o segundo candidato a vetor de movimento preditivo.
Um programa para decodificar preditivamente um vetor de movimento de acordo com um aspecto da presente invenção é um programa para fazer com que um computador opere como um dispositivo para decodificar preditivamente um vetor de movimento usado em predição de movimento compensado para restaurar uma sequência de vídeo consistindo em uma sequência temporal de imagens de quadro. O programa faz com que o computador funcione como: o primeiro dispositivo de determinação de candidato a vetor de movimento preditivo, o segundo dispositivo de determinação de candidato a vetor de movimento preditivo, o dispositivo de decodificação e o dispositivo de determinação de vetor de movimento preditivo ideal descritos acima.
Na tecnologia de decodificação preditiva de vetores de movimento de acordo com um aspecto da presente invenção descrita anteriormente, os candidatos a vetor de movimento preditivo são reduzidos em número e em seguida o vetor de movimento preditivo é determinado com base na comparação entre o vetor de movimento da partição-alvo e os candidatos a vetor de movimento preditivo. Portanto, ela pode reduzir a complexidade computacional necessária para a determinação do vetor de movimento preditivo.
Em uma modalidade, a tecnologia de decodificação preditiva pode ser configurada como se segue: um sinal predito de um sinal de imagem de uma partição-alvo é gerado ao se referir a um quadro de referência com um número de quadro especificado por uma identificação de lista de imagens de referência e uma identificação de imagem de referência; um primeiro candidato a vetor de movimento preditivo é determinado a partir de vetores de movimento de partições na região vizinha à esquerda tendo uma identificação de lista de imagens de referência e/ou uma identificação de imagem de referência idênticas à identificação de lista de imagens de referência e/ou à identificação de imagem de referência para a partição-alvo; um segundo candidato a vetor de movimento preditivo é determinado a partir de vetores de movimento de partições na região vizinha acima tendo uma identificação de lista de imagens de referência e/ou uma identificação de imagem de referência idênticas à identificação de lista de imagens de referência e/ou à identificação de imagem de referência para a partição-alvo.
Em uma modalidade, uma contagem de bits de dados codificados de informação de indicação de vetor de movimento preditivo pode ser uma contagem de bits de acordo com o número de candidatos a vetor de movimento preditivo. Por exemplo, a contagem de bits de dados codificados da informação de indicação de vetor de movimento preditivo pode ser uma contagem de bits mínima de acordo com o número de candidatos a vetor de movimento preditivo. Esta modalidade pode reduzir a contagem de bits dos dados codificados da informação de indicação de vetor de movimento preditivo.
Em uma modalidade, uma região vizinha à esquerda pode incluir uma partição vizinha localizada abaixo e no lado esquerdo de uma partição-alvo. Nesta modalidade, um vetor de movimento da partição vizinha abaixo à esquerda não é definido como um candidato a vetor de movimento preditivo independente e a partição vizinha abaixo à esquerda é incluída na região vizinha à esquerda; então um primeiro candidato a vetor de movimento preditivo é determinado da região vizinha à esquerda. Esta modalidade pode reduzir o número de candidatos a vetor de movimento preditivo. Como resul- tado, ela pode reduzir a contagem de bits de dados codificados da informação de indicação de vetor de movimento preditivo e pode reduzir a complexidade computacional do processo de decodificação para restaurar a informação de indicação de vetor de movimento preditivo dos dados codificados.
Em uma modalidade, uma região vizinha acima pode incluir uma partição vizinha localizada acima e no lado direito de uma partição-alvo. Nesta modalidade, um vetor de movimento da partição vizinha acima à direita não é definido como um candidato a vetor de movimento preditivo independente e a partição vizinha acima à direita é incluída na região vizinha acima; então um segundo candidato a vetor de movimento preditivo é determinado da região vizinha acima. Esta modalidade pode reduzir o número de candidatos a vetor de movimento preditivo. Como resultado, ela pode reduzir a contagem de bits de dados codificados da informação de indicação de vetor de movimento preditivo e pode reduzir a complexidade computacional do processo de decodificação para restaurar a informação de indicação de vetor de movimento preditivo dos dados codificados.
Em uma modalidade, uma região vizinha à esquerda ou uma região vizinha acima pode incluir uma partição vizinha localizada acima e no lado esquerdo de uma partição-alvo. Nesta modalidade, um vetor de movimento da partição vizinha acima à esquerda não é definido como um candidato a vetor de movimento preditivo independente e a partição vizinha acima à esquerda é incluída na região vizinha à esquerda ou na região vizinha acima; então o candidato a vetor de movimento preditivo é determinado disto. Esta modalidade pode reduzir o número de candidatos a vetor de movimento preditivo. Como resultado, a contagem de bits de dados codificados da informação de indicação de vetor de movimento preditivo pode ser reduzida, e a complexidade computacional do processo de decodificação para restaurar a informação de indicação de vetor de movimento preditivo dos dados codificados também pode ser reduzida.
Em uma modalidade, a tecnologia de decodificação preditiva pode ser configurada como se segue: uma ou mais partições em uma região vizinha à esquerda são varridas em uma direção para cima a partir de uma parte inferior da região vizinha à esquerda, pelo que um vetor de movimento satisfazendo um critério predeterminado usado na determinação de candidatos a vetor de movimento preditivo é determinado como o primeiro candidato a vetor de movimento preditivo a partir de vetores de movimento da uma ou mais partições. Uma varredura subsequente na região vizinha à esquerda pode ser terminada mediante detecção do vetor de movimento satisfazendo o critério predeterminado de determinação de candidatos a vetor de movimento preditivo. O primeiro candidato a vetor de movimento preditivo com um pequeno erro em relação ao vetor de movimento da partição-alvo pode ser determinado de forma eficiente ao varrer a região vizinha à esquerda na ordem de varredura indicada anteriormente.
Em uma modalidade, a tecnologia de decodificação preditiva pode ser configurada como se segue: uma ou mais partições na região vizinha acima são varridas em uma direção da direita para a esquerda, pelo que um vetor de movimento satisfazendo o critério predeterminado usado na determinação de candidatos a vetor de movimento preditivo é determinado como um segundo candidato a vetor de movimento preditivo a partir de vetores de movimento da uma ou mais partições. A varredura subsequente na região vizinha acima pode ser terminada mediante detecção do vetor de movimento satisfazendo o critério predeterminado usado na determinação de candidatos a vetor de movimento preditivo. O segundo candidato a vetor de movimento preditivo com um pequeno erro em relação ao vetor de movimento da partição-alvo pode ser determinado de forma eficiente ao varrer a região vizinha acima na ordem de varredura indicada anteriormente.
Em uma modalidade, a tecnologia de decodificação preditiva pode ser configurada para incluir: decodificar dados codificados para restaurar primeira informação de indicação de direção de varredura para especificar uma direção de varredura de uma ou mais partições em uma região vizinha à esquerda e segunda informação de indicação de direção de varredura para especificar uma direção de varredura de uma ou mais partições em uma região vizinha acima; varrer a uma ou mais partições na região vizinha à esquerda na direção especificada pela primeira informação de indicação de direção de varredura para determinar o primeiro candidato a vetor de movimento preditivo; e varrer a uma ou mais partições na região vizinha acima na direção especificada pela segunda informação de indicação de direção de varredura para determinar o segundo candidato a vetor de movimento preditivo. Esta modalidade pode determinar o primeiro candidato a vetor de movimento preditivo e o segundo candidato a vetor de movimento preditivo com menos erros em relação ao vetor de movimento da partição-alvo.
Em uma modalidade, o número de um ou mais candidatos a vetor de movimento preditivo pode não ser maior que 3. Esta modalidade pode reduzir adicionalmente a contagem de bits da informação de indicação de vetor de movimento preditivo.
Em uma modalidade, o vetor de movimento preditivo ideal pode ser usado como um vetor de movimento de uma partição-alvo. Esta modalidade pode reduzir um volume de dados de dados codificados porque um sinal residual do vetor de movimento não é codificado.
Efeitos Vantajosos da Invenção Tal como descrito anteriormente, os aspectos e as modalidades da presente invenção fornecem o método de codificação preditiva, dispositivo de codificação preditiva e programa de codificação preditiva de vetores de movimento e o método de decodificação preditiva, dispositivo de decodificação preditiva e programa de decodificação preditiva de vetores de movimento capazes de reduzir a complexidade computacional necessária para a determinação de vetores de movimento preditivos.
Descrição Resumida dos Desenhos A Figura 1A é um desenho ilustrando partições vizinhas retangulares usadas em predição de movimento compensado. A Figura 1B é um desenho ilustrando partições vizinhas retangulares usadas em predição de movimento compensado. A Figura 2 é um desenho mostrando uma configuração de um dispositivo de codificação de vídeo de acordo com uma modalidade. A Figura 3 é um fluxograma mostrando uma modalidade de um método de codificação preditiva de vetores de movimento. A Figura 4 é um desenho ilustrando partições vizinhas retangulares usadas em predição de movimento compensado. A Figura 5 é um fluxograma mostrando uma primeira modalidade de um processo da etapa S302 na Figura 3 detalhadamente. A Figura 6 é um fluxograma mostrando uma primeira modalidade de um processo da etapa S303 na Figura 3 detalhadamente. A Figura 7 é um desenho mostrando uma configuração de um dispositivo de decodificação de vídeo de acordo com uma modalidade. A Figura 8 é um fluxograma mostrando uma modalidade de um método de decodificação preditiva de vetor de movimento. A Figura 9 é um fluxograma mostrando um processo de determinação de candidatos a vetor de movimento preditivo em um método de codificação preditiva de vetor de movimento em uma segunda modalidade. A Figura 10 é um fluxograma mostrando um método de decodificação preditiva de vetor de movimento na segunda modalidade. A Figura 11 é um desenho mostrando uma configuração de um programa de codificação de video de acordo com uma modalidade. A Figura 12 é um desenho mostrando uma configuração de um programa de decodificação de vídeo de acordo com uma modalidade. A Figura 13 é um desenho mostrando uma configuração de hardware de um computador de acordo com uma modalidade. A Figura 14 é uma vista em perspectiva mostrando um computador de acordo com uma modalidade.
Descrição de Modalidades Várias modalidades serão descritas a seguir detalhadamente com referência aos desenhos. Nos desenhos partes idênticas ou equivalentes serão denotadas pelos mesmos símbolos de referência. A Figura 2 é um desenho mostrando uma configuração de um dispositivo de codificação de vídeo de acordo uma modalidade. O dispositivo de codificação de vídeo 20 mostrado na Figura 2 é um exemplo de um dispositivo que codifica preditivamente um vetor de movimento de acordo com um aspecto da presente invenção.
Uma sequência de vídeo introduzida no dispositivo de codificação de vídeo 20 é composta de uma sequência temporal de imagens de quadro. Um sinal de imagem de quadro de um alvo de codificação será referido em seguida como "quadro corrente". No dispositivo de codificação de vídeo 20, um quadro corrente é dividido em partições retangulares de tamanho variável e o processamento descrito a seguir é executado em cada uma das unidades de partição. O dispositivo de codificação de vídeo 20 pode usar qualquer um de um modo de predição interquadros e uma pluralidade de modos de predição intraquadro, mudando o modo de predição para cada partição entre eles. Por exemplo, o dispositivo de codificação de vídeo 20 seleciona um modo de predição com uma alta eficiência de codificação entre o modo de predição interquadros e os modos de predição intraquadro, para cada partição. O "modo de predição interquadros" neste documento é um modo em que um vetor de movimento é detectado com referência para uma pluralidade de sinais de imagem de quadro codificados anteriormente (sinais de imagem de quadro de referência) diferentes no tempo de um sinal de imagem de quadro, para assim executar predição interquadros de movimento compensado. O "modo de predição intraquadro" é um modo em que predição espacial é executada usando valores de pixels de regiões vizinhas codificados anteriormente no mesmo espaço. No "modo de predição interquadros", os respectivos processos de detecção de movimento, predição de movimento e compensação de movimento são executados para cada uma das subpartições obtidas, por exemplo, ao dividir adicionalmente uma partição de NxN pixels em um tamanho opcional (por exemplo, (N/2) pixels x N linhas ou (N/4) pixels x (N/4) linhas).
Tal como mostrado na Figura 2, o dispositivo de codificação de vídeo 20 pode ser provido com uma unidade de entrada 201, uma unidade de detecção de movimento 202, uma unidade de determinação de candidato a vetor de movimento preditivo 203, uma unidade de determinação de vetor de movimento preditivo 204, uma unidade de diferença de vetor de movimento 205, uma unidade de compensação de movimento 206, uma memória 207, uma unidade de predição espacial 208, um unidade de determinação de método de predição 209, uma unidade de subtração 210, uma unidade de transformada 211, uma unidade de quantização 212, uma unidade de codificação de entropia 213, uma unidade de quantização inversa 214, uma unidade de transformada inversa 215 e uma unidade de adição 216. A unidade de entrada 201 recebe um sinal de vídeo de entrada como um sinal de vídeo introduzido pelo exterior e decompõe o sinal de vídeo em sinais de imagem de quadro. A unidade de entrada 201 envia cada sinal de imagem de quadro através da linha L201a e através da linha L201b para a unidade de subtração 210 e para a unidade de detecção de movimento 202. A memória 207 é uma parte que armazena sinais de imagem de quadro tendo sido codificados no passado, informação (vetores de movimento, identificações de lista de imagens de referência, identificações de imagens de referência) e outros dados usados na predição dos mesmos. A unidade de detecção de movimento 202 executa detecção de vetor de movimento. Mais especificamente, a unidade de detecção de movimento 202 pesquisa uma entrada de sinal de imagem de quadro de referência via linha L207a da memória 207, para um padrão de sinal de imagem similar a um padrão de sinal de imagem de uma partição-alvo na entrada de quadro corrente via linha L201a. A unidade de detecção de movimento 202 pesquisa em uma faixa de pesquisa predeterminada no quadro de referência. A unidade de detecção de movimento 202 detecta um vetor de movimento representando uma quantidade de deslocamento espacial entre a partição-alvo e o padrão de sinal de imagem obtido pela pesquisa, e uma identificação de lista de imagens de referência e uma identificação de imagem de referência para especificar um número de quadro do quadro de referência usado. O vetor de movimento detectado, identificação de lista de imagens de referência e identificação de imagem de referência são enviados via linha L202a para a unidade de compensação de movimento 206 e via linha L202c para a unidade de diferença de vetor de movimento 205. Além disso, a unidade de detecção de movimento 202 envia a identificação de lista de ima- gens de referência e identificação de imagem de referência detectadas via linha L202b para a unidade de determinação de candidato a vetor de movimento preditivo 203. No dispositivo de codificação de vídeo 20, números de quadros para especificar respectivos sinais de imagem de quadro de referência podem ser gerenciados na forma de listas. Um número de quadro é especificado usando uma identificação de lista de imagens de referência (Lista de Imagens de Referência) para especificar uma lista, e uma identificação de imagem de referência (índice de Referência) como um índice do número de quadro na lista. Esta tecnologia é tecnologia bem conhecida em H.264/AVC e outros. A unidade de determinação de candidato a vetor de movimento preditivo 203 determina candidatos a vetor de movimento preditivo usando vetores de movimento de partições vizinhas codificadas anteriormente introduzidas via linha L207b. Os detalhes a respeito da determinação de candidatos a vetor de movimento preditivo serão descritos mais tarde. A unidade de determinação de candidato a vetor de movimento preditivo 203 envia os candidatos a vetor de movimento preditivo determinado via linha L203 para a unidade de determinação de vetor de movimento preditivo 204. A unidade de determinação de vetor de movimento preditivo 204 determina um vetor de movimento preditivo ideal (valores de vetor de movimento preditivo) dos candidatos a vetor de movimento preditivo introduzidos via linha L203. Mais especificamente, a unidade de determinação de vetor de movimento preditivo 204 determina um candidato a vetor de movimento preditivo com a menor diferença para o vetor de movimento da partição-alvo introduzido via linha L202c, como um vetor de movimento preditivo ideal VMPideal, dentre os candidatos a vetor de movimento preditivo. O vetor de movimento preditivo ideal determinado VMPideal é fornecido via linha L204a para a unidade de diferença de vetor de movimento 205. Além disso, o número de candidatos a vetor de movimento preditivo e informação de indicação de vetor de movimento preditivo para especificar o vetor de movimento preditivo ideal VMPideal dentre os candidatos a vetor de movimento preditivo são fornecidos via linha L204b para a unidade de codificação de entropia 213.
Na presente modalidade o candidato a vetor de movimento preditivo com a menor diferença para o vetor de movimento da partição-alvo é selecionado como o vetor de movimento preditivo ideal VMPideal. Alternativamente a unidade de determinação de vetor de movimento preditivo 204 pode selecionar como o vetor de movimento preditivo ideal VMPideal um candidato a vetor de movimento preditivo com o menor número de bits designados para uma diferença de vetor de movimento calculado.
Na presente modalidade o vetor de movimento preditivo ideal é determinado após a detecção de movimento da partição-alvo. Alternativamente, o vetor de movimento preditivo ideal pode ser detectado antes da detecção de movimento. Especificamente, tal como indicado pela fórmula (1) a seguir, o vetor de movimento preditivo ideal pode ser calculado com base na soma das diferenças absolutas (SDAvmp) entre o sinal de imagem predita em execução da compensação de movimento usando cada um dos candidatos a vetor de movimento preditivo calculados realmente e o sinal de imagem alvo e uma função de custo usando a contagem de bits Rvmp na codificação do candidato a vetor de movimento preditivo e λ como um peso para a contagem de bits. Neste caso, o sinal de imagem da partição-alvo é introduzido através da linha L201a e cada sinal de imagem de quadro de referência é introduzido através da linha L207a para a unidade de determinação de vetor de movimento preditivo 204 na Figura 2. A unidade de diferença de vetor de movimento 205 calcula valores de diferenças de vetores de movimento que são informação de diferença entre o vetor de movimento introduzido via linha L202c e o vetor de movimento preditivo ideal introduzido via linha L204a. A unidade de diferença de vetor de movimento 205 transmite um sinal incluindo os valores de diferenças de vetores de movimento calculados, e a identificação de lista de imagens de referência e identificação de imagem de referência, como informação de predição via linha L205a para a unidade de codificação de entropia 213. Além disso, a unidade de diferença de vetor de movimento 205 transmi- te um sinal incluindo o vetor de movimento, e a identificação de lista de imagens de referência e identificação de imagem de referência, via linha L205b para a memória 207. A unidade de compensação de movimento 206 gera um sinal de imagem predita da partição-alvo, se referindo ao sinal de imagem de quadro de referência do número de quadro especificado pela identificação de lista de imagens de referência e a identificação de imagem de referência recebidas da unidade de detecção de movimento 202 e usando o vetor de movimento recebido da unidade de detecção de movimento 202. Este sinal de imagem predita é enviado para a unidade de determinação de método de predição 209. A unidade de predição espacial 208 gera um sinal de imagem predita, se referindo a sinais de imagem (sinais de imagem de quadro de referência) de regiões vizinhas codificadas anteriormente introduzidos via linha L207a. A unidade de predição espacial 208 envia o sinal de imagem predita gerado para a unidade de determinação de método de predição 209. A unidade de determinação de método de predição 209 compara os sinais de imagem predita recebidos da unidade de compensação de movimento 206 e da unidade de predição espacial 208, para selecionar um dos sinais de imagem predita, e envia o sinal de imagem predita selecionado para a unidade de subtração 210. A unidade de determinação de método de predição 209 envia informação de modo de predição indicativa de um método de predição usado para a geração do sinal de imagem predita selecionado, via linha L209b, para a unidade de codificação de entropia 213. A unidade de subtração 210 gera um valor de diferença (sinal residual de predição) entre o sinal de imagem de quadro introduzido via linha L201b e o sinal de imagem predita introduzido via linha L209a e envia o sinal residual de predição para a unidade de transformada 211. A unidade de transformada 211 executa uma transformada ortogonal do sinal residual de predição introduzido via linha L210, para gerar coeficientes de transformada ortogonal, e envia os coeficientes de transformada ortogonal para a unidade de quantização 212. A unidade de quantiza- ção 212 quantiza os coeficientes de transformada ortogonal introduzidos via linha L211, para gerar coeficientes de transformada ortogonal quantizados, e transmite os coeficientes de transformada ortogonal quantizados para a unidade de codificação de entropia 213 e para a unidade de quantização inversa 212. A unidade de codificação de entropia 213 executa codificação de entropia dos coeficientes de transformada ortogonal quantizados introduzidos via linha L212, da informação de modo de predição recebida da unidade de determinação de método de predição 209, da informação de predição transmitida pela unidade de diferença de vetor de movimento 205 e da informação de indicação de vetor de movimento preditivo produzida pela unidade de determinação de vetor de movimento preditivo 204, multiplexa dados codificados gerados em um fluxo compactado, e transmite o fluxo compactado para o lado de fora. A unidade de quantização inversa 214 executa quantização inversa dos coeficientes de transformada ortogonal quantizados introduzidos via linha L212, para gerar coeficientes de transformada ortogonal, e transmite os coeficientes de transformada ortogonal para a unidade de transformada ortogonal inversa 215. Então a unidade de transformada ortogonal inversa 215 aplica uma transformada ortogonal inversa aos coeficientes de transformada ortogonal introduzidos via linha L214, para gerar um sinal residual de predição, e transmite o sinal residual de predição para a unidade de adição 216. A unidade de adição 216 executa adição do sinal residual de predição introduzido via linha L215 e do sinal de imagem predita introduzido via linha L209a, para gerar um sinal de imagem de quadro, e transmite o sinal de imagem de quadro para a memória 207. Este sinal de imagem de quadro é armazenado na memória 207 e é usado como um sinal de imagem de quadro de referência no processo de codificação subsequente. Na memória 207, o vetor de movimento, a identificação de lista de imagens de referência, a identificação de imagem de referência, etc. introduzidos via linha L205b também são armazenados em associação com o sinal de imagem de quadro de referência. A seguir, uma modalidade de um método de codificação preditiva de vetor de movimento aplicável ao dispositivo de codificação de vídeo 20 será descrita.
Primeiro, partições adjacentes a uma partição-alvo serão descritas com referência à Figura 1B. As partições BL, BL1 e BL2 são partições em contato com um limite esquerdo da partição-alvo BT. A partição BD é uma partição incluindo pixels vizinhos existindo abaixo e no lado esquerdo do pixel inferior esquerdo na região alvo BT. A partição BE é uma partição incluindo pixels vizinhos existindo acima e no lado esquerdo do pixel superior esquerdo na partição-alvo BT. As partições BA, BA1 e BA2 são partições em contato com um limite superior da partição-alvo BT. A partição BRA é uma partição incluindo pixels vizinhos existindo acima e no lado direito do pixel direito superior na partição-alvo BT. As partições vizinhas à partição-alvo podem ser partições do mesmo tamanho da partição-alvo BT, tal como mostrado na Figura 1A. A seguir, é feita referência à Figura 3. A Figura 3 é um fluxograma mostrando uma modalidade do método de codificação preditiva de vetor de movimento. Tal como mostrado na Figura 3, no método de codificação preditiva de vetor de movimento de acordo com a modalidade, primeiro, a identificação de lista de imagens de referência e identificação de imagem de referência são introduzidas na unidade de determinação de candidato a vetor de movimento preditivo 203 (etapa S301). A seguir, a unidade de determinação de candidato a vetor de movimento preditivo 203 determina um candidato a vetor de movimento preditivo VMP1 a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições incluídas na região vizinha à esquerda localizada para a esquerda da partição-alvo BT (etapa S302). Os detalhes a respeito do método de determinação do candidato a vetor de movimento preditivo VMP1 serão descritos mais tarde. A seguir, a unidade de determinação de candidato a vetor de movimento preditivo 203 determina um candidato a vetor de movimento pre- ditivo VMP2 a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições incluídas na região vizinha acima localizada acima da partição-alvo BT (etapa S303). Os detalhes a respeito do método de determinação do candidato a vetor de movimento preditivo VMP2 serão descritos mais tarde. A seguir, a unidade de determinação de candidato a vetor de movimento preditivo 203 determina um candidato a vetor de movimento preditivo VMP3 (etapa S304). Na presente modalidade, um vetor de movimento de uma partição existindo no quadro de referência e em uma posição idêntica espacialmente à da partição-alvo é determinado como o candidato a vetor de movimento preditivo VMP3. O candidato a vetor de movimento preditivo VMP3 pode ser um vetor de movimento de uma outra partição adjacente espacialmente à partição-alvo, em vez de o vetor de movimento da partição na mesma posição que a da partição-alvo no quadro de referência. Também é possível usar valores médios ou coisa parecida calculados com base no candidato a vetor de movimento preditivo VMP1 e no candidato a vetor de movimento preditivo VMP2, como o candidato a vetor de movimento preditivo VMP3. O número de candidatos a vetor de movimento preditivo pode ser três ou mais. Neste caso, uma pluralidade de candidatos a vetor de movimento preditivo pode ser determinada por meio de métodos diferentes de cada uma de a região vizinha à esquerda e a região vizinha acima. Mais especificamente, uma pluralidade de candidatos a vetor de movimento preditivo pode ser determinada ao pesquisar partições de cada uma das regiões em uma pluralidade de direções de varredura diferentes, em cada uma de a região vizinha à esquerda e a região vizinha acima. Também é possível usar um vetor de movimento de uma outra região vizinha como um candidato a vetor de movimento preditivo.
Referindo-se de novo à Figura 3, a unidade de determinação de candidato a vetor de movimento preditivo 203 determina então somente candidatos a vetor de movimento preditivo não idênticos dentre o candidato a vetor de movimento preditivo VMP1, o candidato a vetor de movimento preditivo VMP2 e o candidato a vetor de movimento preditivo VMP3, como candidatos a vetor de movimento preditivo finais (etapa S305). Como um exemplo específico, onde o candidato a vetor de movimento preditivo VMP1 é idêntico ao candidato a vetor de movimento preditivo VMP3, somente VMP1 e VMP2 são selecionados como candidatos a vetor de movimento preditivo. Se não existirem candidatos a vetor de movimento preditivo determinados para satisfazer as condições nas etapas S302 a S304, um vetor de movimento zero é definido como um candidato a vetor de movimento preditivo.
Então a unidade de determinação de vetor de movimento preditivo 204 determina o vetor de movimento preditivo ideal, tal como descrito anteriormente, dentre os candidatos a vetor de movimento preditivo determinados pela unidade de determinação de candidato a vetor de movimento preditivo 203 (etapa S306).
Então a unidade de codificação 213 codifica a informação de indicação de vetor de movimento preditivo para especificar qual candidato a vetor de movimento preditivo é o vetor de movimento preditivo ideal (etapa S307).
Em uma modalidade, a informação de indicação de vetor de movimento preditivo pode ser codificada para dados codificados de uma contagem de bits de acordo com o número de candidatos a vetor de movimento preditivo selecionados pela unidade de determinação de vetor de movimento preditivo 204. Por exemplo, quando o número de candidatos a vetor de movimento preditivo é 0 ou 1, a informação de indicação de vetor de movimento preditivo não é codificada e nem transmitida. Quando o número de candidatos a vetor de movimento preditivo é 2 ou 3, a informação de indicação de vetor de movimento preditivo é codificada em dois bits no máximo. A informação de indicação de vetor de movimento preditivo pode ser codificada com base em uma tabela de codificação fixada independente do número de candidatos a vetor de movimento preditivo. Neste caso, a informação de indicação de vetor de movimento preditivo pode ser codificada usando uma tabela de codificação a seguir.
Tabela 1. Tabela de Codificação Valor de bit Vetor de movimento preditivo ideal 0 candidato a vetor de movimento preditivo 1 (VMP1) 10 candidato a vetor de movimento preditivo 2 (VMP2) 11 candidato a vetor de movimento preditivo 3 (VMP3) Em uma modalidade, a ordem na qual o candidato a vetor de movimento preditivo VMP1, o candidato a vetor de movimento preditivo VMP2 e o candidato a vetor de movimento preditivo VMP3 são determinados pode ser mudada. Por exemplo, um processo pode ser usado em que a partição-alvo é dividida em uma pluralidade de subpartições e o processo de codificação é executado para cada uma das subpartições. Especificamente, quando a partição-alvo é dividida em subpartições superior e inferior, e a subpartição inferior pode ser usada como uma partição-alvo, ou quando a partição-alvo é dividida em subpartições esquerda e direita, e a subpartição esquerda pode ser usada como uma partição-alvo, os candidatos a vetor de movimento preditivo podem ser determinados em uma ordem da região vizinha à esquerda, a região vizinha acima e uma outra região (por exemplo, uma partição em um quadro de referência na mesma posição da partição-alvo). Por outro lado, quando a partição-alvo é dividida em subpartições superior e inferior, e a subpartição superior pode ser usada como uma partição-alvo, ou a partição-alvo é dividida em subpartições esquerda e direita, e a subpartição direita pode ser usada como uma partição-alvo, os candidatos a vetor de movimento preditivo podem ser determinados em uma ordem da região vizinha acima, a região vizinha à esquerda e uma outra região (por exemplo, uma partição em um quadro de referência na mesma posição da partição-alvo), para estas partições alvos.
Uma primeira modalidade do processo de determinação de candidato a vetor de movimento preditivo de acordo com uma modalidade será descrita a seguir detalhadamente. Primeiramente, a primeira modalidade do processo da etapa S302 na Figura 3 será descrita com referência às Figuras 1B, 4 e 5. É assumido neste documento, tal como mostrado na Figura 1B, que a região vizinha à esquerda é composta da partição abaixo à esquerda BD vizinha à partição-alvo e das partições à esquerda BL, BL1 e BL2 vizinhas à partição-alvo. Também é assumido que as partições na região vizinha à esquerda são varridas na ordem crescente do índice i mostrada em (a) da Figura 4. Isto é, as partições na região vizinha à esquerda são assumidas como sendo varridas em ordem a partir da parte inferior para cima. A partição vizinha abaixo à esquerda BD pode ser excluída da região vizinha à esquerda. Além disso, uma partição mais abaixo da partição vizinha à esquerda inferior BD pode ser incluída na região vizinha à esquerda. Além disso, a partição BE ou uma partição localizada acima da partição BE pode ser incluída na região vizinha à esquerda. Além disso, uma partição localizada no lado esquerdo da partição-alvo e a uma distância predeterminada da partição-alvo pode ser incluída na região vizinha à esquerda.
Referindo-se de novo a (a) da Figura 4 e à Figura 5, no processo da etapa S302, primeiro, a unidade de determinação de candidato a vetor de movimento preditivo 203 estabelece 0 para o índice i (etapa S501). A unidade de determinação de candidato a vetor de movimento preditivo 203 aumenta o índice i por um incremento de 1 na etapa subsequente S502. A seguir, a unidade de determinação de candidato a vetor de movimento preditivo 203 determina se existe a partição de ordem i na ordem de varredura na região vizinha à esquerda e se a partição tem um vetor de movimento (etapa S503). Se existir a partição de ordem i na região vizinha à esquerda e se a partição tiver um vetor de movimento, a unidade de determinação de candidato a vetor de movimento preditivo 203 determina, na etapa subsequente S504, se a partição de ordem i e a partição-alvo têm as mesmas identificação de lista de imagens de referência e identificação de imagem de referência. Quando a condição de determinação na etapa S504 é satisfeita, a unidade de determinação de candidato a vetor de movimento preditivo 203 determina o vetor de movimento da partição de ordem i como candidato a vetor de movimento preditivo VMP1 na etapa subsequente S505 e então produz o candidato a vetor de movimento preditivo VMP1 na etapa subsequente S506, seguido pelo término de processamento.
Por outro lado, quando a condição de determinação na etapa I S503 não é satisfeita ou quando a condição de determinação na etapa S504 não é satisfeita, o processamento é transferido para a etapa S507. Na etapa S507, a unidade de determinação de candidato a vetor de movimento preditivo 203 determina se o índice i está acima do número N de partições na região vizinha à esquerda. Quando a condição de determinação na etapa S507 não é satisfeita, a unidade de determinação de candidato a vetor de movimento preditivo 203 executa o processamento a partir da etapa S502. Por outro lado, quando a condição de determinação na etapa S507 é satisfeita, a unidade de determinação de candidato a vetor de movimento preditivo 203 termina o processamento.
As partições na região vizinha à esquerda são varridas em ordem a partir da parte inferior da região vizinha à esquerda na modalidade mostrada em (a) da Figura 4, mas em uma modalidade, tal como mostrado em (c) da Figura 4, elas podem ser varridas em ordem a partir do topo da região vizinha à esquerda.
Em uma outra modalidade, uma ou outra de a ordem de varredura mostrada em (a) da Figura 4 e a ordem de varredura mostrado em (c) da Figura 4 pode ser selecionada de forma adaptativa. Por exemplo, a ordem de varredura pode ser determinada com base em uma relação de vetores de movimento de partições vizinhas. Especificamente, é possível adotar um método de comparar uma diferença absoluta α entre o vetor de movimento da partição BL e o vetor de movimento da partição BA com uma diferença absoluta β entre o vetor de movimento da partição BRA e o vetor de movimento da partição BD na Figura 1B, e selecionar a ordem de varredura em (c) da Figura 4 se a diferença absoluta α for menor que a diferença absoluta β. No caso oposto, por outro lado, a ordem de varredura em (a) da Figura 4 pode ser selecionada.
Em uma modalidade, a etapa S502 pode ser configurada para aumentar o índice i por um incremento de dois ou mais, decimando assim as partições a ser varridas. A primeira modalidade do processo da etapa S303 na Figura 3 será descrita a seguir detalhadamente com referência às Figuras 1B, 4 e 6. É assumido neste documento, tal como mostrado na Figura 1B, que a região vizinha acima é composta da partição acima à esquerda BE vizinha à partição-alvo e das partições acima BA, BA1 e BA2 vizinhas à partição-alvo. Também é assumido que as partições na região vizinha acima são varridas na ordem crescente do índice j mostrada em (a) da Figura 4. Isto é, as partições na região vizinha acima são assumidas para serem varridas em ordem da direita para a esquerda. A partição vizinha acima à esquerda BE pode ser excluída da região vizinha acima. Além disso, uma partição mais a esquerda à partição vizinha acima à esquerda BE pode ser incluída na região vizinha acima. Além disso, uma partição localizada acima da partição-alvo e a uma distância predeterminada da partição-alvo pode ser incluída na região vizinha acima.
Referindo-se de novo a (a) da Figura 4 e à Figura 6, no processo da etapa S303, primeiro, a unidade de determinação de candidato a vetor de movimento preditivo 203 estabelece 0 para o índice j (etapa S601). A unidade de determinação de candidato a vetor de movimento preditivo 203 aumenta o índice j por um incremento de 1 na etapa subsequente S602. A seguir, a unidade de determinação de candidato a vetor de movimento preditivo 203 determina se existe a partição de ordem j na ordem de varredura na região vizinha acima e se a partição tem um vetor de movimento (etapa S603). Quando existe a partição de ordem j na região vizinha acima e quando a partição tem um vetor de movimento, a unidade de determinação de candidato a vetor de movimento preditivo 203 determina, na etapa subsequente S604, se a partição de ordem j e a partição-alvo têm as mesmas identificação de lista de imagens de referência e identificação de imagem de referência. Quando a condição de determinação na etapa S604 é satisfeita, a unidade de determinação de candidato a vetor de movimento preditivo 203 determina, na etapa subsequente S605, se o vetor de movimento da partição de ordem j é idêntico ao candidato a vetor de movimento preditivo VMP1. Quando o vetor de movimento da partição de ordem j é diferente do candidato a vetor de movimento preditivo VMP1, a unidade de de- terminação de candidato a vetor de movimento preditivo 203 determina na etapa subsequente S606 que o vetor de movimento da partição de ordem j é o candidato a vetor de movimento preditivo VMP2, e então produz o candidato a vetor de movimento preditivo VMP2 na etapa subsequente S607, seguido pelo término de processamento.
Por outro lado, quando a condição de determinação na etapa S603 não é satisfeita, quando a condição de determinação na etapa S604 não é satisfeita, ou quando a condição de determinação na etapa S605 é satisfeita, o processamento é transferido para a etapa S608.
Na etapa S608, a unidade de determinação de candidato a vetor de movimento preditivo 203 determina se o índice j está acima do número M de partições na região vizinha acima. Quando a condição de determinação na etapa S608 não é satisfeita, a unidade de determinação de candidato a vetor de movimento preditivo 203 executa o processando a partir da etapa S602. Por outro lado, quando a condição de determinação na etapa S608 é satisfeita, a unidade de determinação de candidato a vetor de movimento preditivo 203 termina o processamento.
As partições na região vizinha acima são varridas em ordem da direita para a esquerda na modalidade mostrada em (a) da Figura 4, mas as partições podem ser varridas em ordem da esquerda para a direita, tal como mostrado em (c) da Figura 4, em uma modalidade.
Em uma outra modalidade, uma ou outra de a ordem de varredura mostrada em (a) da Figura 4 ou a ordem de varredura mostrada em (c) da Figura 4 pode ser selecionada de forma adaptativa. Por exemplo, a ordem de varredura pode ser determinada com base em uma relação de vetores de movimento de partições vizinhas. Especificamente, é possível adotar um método de comparar uma diferença absoluta α entre o vetor de movimento da partição BL e o vetor de movimento da partição BA com uma diferença absoluta β entre o vetor de movimento da partição BRA e o vetor de movimento da partição BD na Figura 1B, e selecionar a ordem de varredura em (c) da Figura 4 se a diferença absoluta α for menor que o diferença absoluta β. No caso oposto, por outro lado, a ordem de varredura em (a) da Figura 4 pode ser selecionada. A partição BE está incluída na região vizinha acima na modalidade descrita anteriormente, mas a partição BE pode ser incluída na região vizinha à esquerda. Também é possível definir a partição BE como uma região independente da região vizinha acima e da região vizinha à esquerda, e tratar o vetor de movimento da partição BE como um outro candidato a vetor de movimento preditivo. A modalidade exposta anteriormente emprega ambas de a identificação de lista de imagens de referência e a identificação de imagem de referência como uma condição de determinação para selecionar o vetor de movimento da partição na região vizinha como um candidato a vetor de movimento preditivo, mas a presente invenção não está limitada a isto. Por exemplo, uma ou outra de a identificação de lista de imagens de referência ou a identificação de imagem de referência pode ser usada para a condição de determinação. Quando a identificação de imagem de referência não é usada, escalamento de vetores de movimento de partições na região vizinha pode ser implementado de acordo com uma distância entre o quadro de referência e o quadro alvo. Também é possível usar informação de uma outra predição intraquadro. Especificamente, o tamanho da partição-alvo e os tamanhos das partições vizinhas podem ser adicionados como um na condição de determinação mencionada anteriormente. Especificamente, quando o tamanho da partição-alvo é NxN pixels, uma condição de determinação pode ser que o tamanho de uma partição na região vizinha seja NxN pixels, ou uma condição de determinação pode ser que o tamanho de uma partição seja de N/2xN/2 pixels a 2Nx2N pixels.
Na modalidade descrita anteriormente o cálculo do candidato a vetor de movimento preditivo VMP2 na região vizinha acima é executado após o cálculo do candidato a vetor de movimento preditivo VMP1 na região vizinha à esquerda, mas a presente invenção não está limitada a isto. O candidato a vetor de movimento preditivo VMP2 na região vizinha acima pode ser determinado antes da determinação do candidato a vetor de movimento preditivo VMP1 na região vizinha à esquerda. Neste caso, um proces- so de determinar se um vetor de movimento de uma partição na região vizinha à esquerda é idêntico ao candidato a vetor de movimento preditivo VMP2 na região vizinha acima pode ser executado no processo de determinar o candidato a vetor de movimento preditivo VMP1 na região vizinha à esquerda.
Na modalidade mencionada anteriormente é determinado, na etapa S605, se o vetor de movimento da partição de ordem j na região vizinha acima é idêntico ao candidato a vetor de movimento preditivo VMP1 na região vizinha à esquerda, mas esta determinação pode ser omitida. Neste caso, o processo da etapa S606 pode ser executado diretamente quando a condição de determinação na etapa S604 é satisfeita.
Em uma modalidade, a etapa S602 pode ser configurada para aumentar o índice j por um incremento de dois ou mais, decimando assim as partições a ser varridas. O exposto a seguir descreverá um dispositivo de decodificação de vídeo que decodifica um fluxo compactado gerado pelo dispositivo de codificação de vídeo 20, para restaurar uma sequência de vídeo. A Figura 7 é um desenho mostrando uma configuração do dispositivo de decodificação de vídeo de acordo com uma modalidade. O dispositivo de decodificação de vídeo 30 mostrado na Figura 7 é um exemplo de um dispositivo que decodifica preditivamente um vetor de movimento de acordo com um aspecto da presente invenção.
Tal como mostrado na Figura 7, o dispositivo de decodificação de vídeo 30 pode ser provido com uma unidade de decodificação de entropia 301, uma unidade de determinação de candidato a vetor de movimento preditivo 302, uma unidade de determinação de vetor de movimento preditivo 303, uma unidade de adição de vetor de movimento 304, uma unidade de compensação de movimento 305, uma memória de quadro 306, uma unidade de predição espacial 307, uma unidade de determinação de método de predição 308, uma unidade de quantização inversa 309, uma unidade de transformada ortogonal inversa 310 e uma unidade de adição 311. A unidade de decodificação de entropia 301 recebe um fluxo compactado, detecta então uma palavra de sincronização indicativa do início de cada quadro no fluxo compactado, e em seguida restaura a informação de modo de predição e os coeficientes de transformada ortogonal quantizados a partir de dados codificados no fluxo compactado, em cada uma das unidades de partição divididas. Quando o modo de predição especificado pela informação de modo de predição é "modo de predição interquadros", a unidade de decodificação de entropia 301 decodifica os dados codificados no fluxo compactado para também restaurar a diferença de vetor de movimento, identificação de lista de imagens de referência e identificação de imagem de referência. A unidade de decodificação de entropia 301 transmite os coeficientes de transformada ortogonal quantizados restaurados via linha L301a para a unidade de quantização inversa 309. A unidade de decodificação de entropia 301 transmite a informação de modo de predição, a identificação de lista de imagens de referência e a identificação de imagem de referência via linha L301b para a unidade de determinação de candidato a vetor de movimento preditivo 302. Além disso, a unidade de decodificação de entropia 301 transmite a diferença de vetor de movimento restaurada via linha L301d para a unidade de adição de vetor de movimento 304. A unidade de decodificação de entropia 301 transmite a informação de modo de predição restaurada via linha L301e para a unidade de determinação de método de predição 308.
Quando o modo de predição especificado pela informação de modo de predição recebida é "modo de predição interquadros", a unidade de determinação de candidato a vetor de movimento preditivo 302 determina candidatos a vetor de movimento preditivo a partir de vetores de movimento de partições vizinhas decodificadas anteriormente. Uma vez que o processamento a respeito da determinação de candidatos a vetor de movimento preditivo executado pela unidade de determinação de candidato a vetor de movimento preditivo 302 é igual ao processamento descrito anteriormente para a unidade de determinação de candidato a vetor de movimento preditivo 203, a descrição da mesma é omitida neste documento. Esta unidade de determinação de candidato a vetor de movimento preditivo 302 envia os candidatos a vetor de movimento preditivo determinados via linha L302b para a unidade de determinação de vetor de movimento preditivo 303. Além disso, a unidade de determinação de candidato a vetor de movimento preditivo 302 envia o número de candidatos a vetor de movimento preditivo via linha L302a para a unidade de decodificação de entropia 301. A unidade de decodificação de entropia 301, ao receber o número de candidatos a vetor de movimento preditivo via linha L302a, decodifica os dados codificados no fluxo compactado de acordo com o número de candidatos a vetor de movimento preditivo, para restaurar a informação de indicação de vetor de movimento preditivo. A unidade de decodificação de entropia 301 transmite a informação de indicação de vetor preditivo restaurada para a unidade de determinação de vetor de movimento preditivo 303. Mais especificamente, quando o número de candidatos a vetor de movimento preditivo é 0 ou 1, nenhuma informação de indicação de vetor de movimento preditivo não é transmitida e, portanto, o processo de restauração não é executado. Quando o número de candidatos a vetor de movimento preditivo é 2 ou 3, os dados codificados de dois bits no máximo são decodificados por entropia para restaurar a informação de indicação de vetor de movimento preditivo. A unidade de decodificação de entropia 301 é configurada para restaurar a informação de indicação de vetor de movimento preditivo ao decodificar os dados codificados de acordo com o número de candidatos a vetor de movimento preditivo selecionados pela unidade de determinação de candidato a vetor de movimento preditivo 302, mas a presente invenção não está limitada a isto. Por exemplo, a informação de indicação de vetor de movimento preditivo pode ser restaurada usando a tabela de codificação fixada da Tabela 1 descrita anteriormente, independente do número de candidatos a vetor de movimento preditivo Deve ser notado que a definição da tabela de codificação fixada não está limitada a isto exemplo. A informação de indicação de vetor de movimento preditivo pode ser restaurada antes do cálculo de candidatos a vetor de movimento preditivo. A unidade de determinação de vetor de movimento preditivo 303 determina o vetor de movimento preditivo ideal VMPideal com base na entrada de informação de indicação de vetor de movimento preditivo via linha L301c, dentre os candidatos a vetor de movimento preditivo introduzidos via linha L302b. O vetor de movimento preditivo ideal VMPideal determinado é transmitido via linha L303 para a unidade de adição de vetor de movimento 304. A unidade de adição de vetor de movimento 304 executa adição da diferença de vetor de movimento transmitida pela unidade de decodificação de entropia 301 e o vetor de movimento preditivo ideal VMPideal transmitido pela unidade de determinação de vetor de movimento preditivo 303, para restaurar o vetor de movimento. A unidade de adição de vetor de movimento 304 transmite um sinal incluindo o vetor de movimento restaurado via linha L304 para a unidade de compensação de movimento 305. A unidade de compensação de movimento 305 seleciona o sinal de imagem de quadro de referência na memória 306 com base no vetor de movimento transmitido pela unidade de adição de vetor de movimento 304 e na informação de modo de predição, a identificação de lista de imagens de referência e na identificação de imagem de referência transmitidas via linha L301d pela unidade de decodificação de entropia 301, e gera um sinal de imagem predita, usando o sinal de imagem de quadro de referência selecionado. A unidade de compensação de movimento 305 transmite o sinal de imagem predita via linha L305a para a unidade de determinação de método de predição 308. Além disso, a unidade de compensação de movimento 305 envia a informação de modo de predição, identificação de lista de imagens de referência e identificação de imagem de referência usadas na geração do sinal de imagem predita via linha L305b para a memória de quadro 306. Existem os sinais de imagem de quadro decodificados anteriormente, informação de modo de predição, identificações de lista de imagens de referência e identificações de imagens de referência armazenados na memória 306.
Quando o modo de predição especificado pela informação de modo de predição introduzida via linha L301e é "modo de predição intraquadro", a unidade de predição espacial 307 gera um sinal de imagem predita com referência para os sinais de imagem (sinais de imagem de quadro de referência) de partições vizinhas decodificadas anteriormente e transmite o sinal de imagem predita para a unidade de determinação de método de predição 308. A unidade de determinação de método de predição 308 seleciona o sinal de imagem predita gerado pela predição interquadros ou o sinal de imagem predita gerado pela predição intraquadro, com base no modo de predição transmitido pela unidade de decodificação de entropia 301, e transmite o sinal de imagem predita selecionado via linha L308 para a unidade de adição 311. A unidade de quantização inversa 309 executa quantização inversa dos coeficientes de transformada ortogonal quantizados transmitidos pela unidade de decodificação de entropia 301, para restaurar coeficientes de transformada ortogonal. A unidade de quantização inversa 309 transmite os coeficientes de transformada ortogonal restaurados via linha L309 para a unidade de transformada ortogonal inversa 310. A unidade de transformada ortogonal inversa 310 aplica uma transformada ortogonal inversa aos coeficientes de transformada ortogonal recebidos para restaurar um sinal residual de predição. A unidade de transformada ortogonal inversa 310 transmite o sinal residual de predição restaurado via linha L310 para a unidade de adição 311. A unidade de adição 311 executa adição do sinal de imagem predita transmitido pela unidade de determinação de método de predição 308 e o sinal residual de predição transmitido pela unidade de transformada ortogonal inversa 310, para restaurar um sinal de imagem de quadro. O sinal de imagem de quadro restaurado é enviado em sincronismo de exibição predeterminado para um dispositivo de exibição (não mostrado), pelo que o sinal de vídeo de entrada (sinal de imagem dinâmico) pode ser reproduzido. Uma vez que o sinal de imagem de quadro é usado no processo de decodificação subsequente, ele é armazenado como um sinal de imagem de quadro de referência na memória 306. O sinal de imagem de quadro neste documento pode ter o mesmo valor do sinal de imagem de quadro com o mesmo número no dispositivo de codificação de vídeo 20. A informação a respeito do vetor de movimento e do número de quadro de referência também é armazenada simultaneamente em associação com o sinal de imagem de quadro de referência. A seguir, uma modalidade de um método de decodificação preditiva de vetores de movimento usado no dispositivo de decodificação de vídeo 30 será descrito com referência à Figura 8. A Figura 8 é um fluxograma mostrando uma modalidade do método de decodificação preditiva de vetores de movimento.
No método de decodificação preditiva de vetores de movimento preditivos de acordo com uma modalidade, tal como mostrado na Figura 8, a identificação de lista de imagens de referência e identificação de imagem de referência são primeiramente introduzidas na unidade de determinação de candidato a vetor de movimento preditivo 302 (etapa S801). A seguir, a unidade de determinação de candidato a vetor de movimento preditivo 302 determina um candidato a vetor de movimento preditivo VMP1, a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições incluídas em uma região vizinha à esquerda localizada à esquerda de uma partição-alvo BT (etapa S302). A seguir, a unidade de determinação de candidato a vetor de movimento preditivo 302 determina um candidato a vetor de movimento preditivo VMP2, a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições incluídas na região vizinha acima localizada acima da partição-alvo BT (etapa S303). A seguir, a unidade de determinação de candidato a vetor de movimento preditivo 302 determina um candidato a vetor de movimento preditivo VMP3 (etapa S304). Os processos das etapas S302 a S304 na Figura 8 são iguais aos processos das etapas S302 a S304 na Figura 3.
Na etapa S805, a unidade de determinação de candidato a vetor de movimento preditivo 302 define então como candidatos a vetor de movimento preditivo somente candidatos a vetor de movimento preditivo não idênticos dentre o candidato a vetor de movimento preditivo VMP1, o candi- dato a vetor de movimento preditivo VMP2 e o candidato a vetor de movimento preditivo VMP3. Como um exemplo específico, onde o candidato a vetor de movimento preditivo VMP1 é idêntico ao candidato a vetor de movimento preditivo VMP3, somente o candidato a vetor de movimento preditivo VMP1 e o candidato a vetor de movimento preditivo VMP2 são selecionados com candidatos a vetor de movimento preditivo. Quando o processamento até a etapa S805 resulta em não determinar candidatos a vetor de movimento preditivo efetivos, um vetor de movimento zero é definido como um candidato a vetor de movimento preditivo.
Na etapa S806, tal como descrito anteriormente, a unidade de decodificação 301 restaura a informação de indicação de vetor de movimento preditivo com base no número de candidatos a vetor de movimento preditivo. A seguir, na etapa S807, a unidade de determinação de vetor de movimento preditivo 303 seleciona o vetor de movimento preditivo ideal dentre os candidatos a vetor de movimento preditivo, com base na informação de indicação de vetor de movimento preditivo. A seguir, uma segunda modalidade do método de codificação preditiva de vetores de movimento será descrita. A Figura 9 é um fluxograma mostrando o processo de determinação de candidatos a vetor de movimento preditivo no método de codificação preditiva de vetores de movimento na segunda modalidade. No método de codificação preditiva de vetores de movimento de acordo com a segunda modalidade, o fluxo mostrado na Figura 9 é usado em vez de as etapas S302 a S304 na Figura 3.
Na presente modalidade, na etapa S901 a unidade de determinação de candidato a vetor de movimento preditivo 203 primeiro varre as partições na região vizinha à esquerda localizada à esquerda da partição-alvo em uma direção para baixo para determinar um candidato a vetor de movimento preditivo VMPa dos vetores de movimento destas partições. Na etapa S901, a unidade de determinação de candidato a vetor de movimento preditivo 203 pode detectar o candidato a vetor de movimento preditivo VMPa ao executar a método de determinação do candidato a vetor de movimento preditivo VMP1 (etapa S302) descrito na primeira modalidade de acordo com a ordem de varredura da região vizinha à esquerda mostrada em (c) da Figura 4. Para determinar o candidato a vetor de movimento preditivo VMPa, a unidade de determinação de candidato a vetor de movimento preditivo 203 pode usar a identificação de lista de imagens de referência e identificação de imagem de referência introduzidas, tal como na primeira modalidade. A seguir, na etapa S902 a unidade de determinação de candidato a vetor de movimento preditivo 203 varre as partições em uma região vizinha à esquerda localizada à esquerda da partição-alvo em uma direção para cima para determinar um candidato a vetor de movimento preditivo VMPb dos vetores de movimento destas partições. Na etapa S902, a unidade de determinação de candidato a vetor de movimento preditivo 203 pode detectar o candidato a vetor de movimento preditivo VMPb ao executar o método de determinação do candidato a vetor de movimento preditivo VMP1 (etapa S302) descrito na primeira modalidade de acordo com a ordem de varredura da região vizinha à esquerda mostrada em (a) da Figura 4. Para determinar o candidato a vetor de movimento preditivo VMPb, a unidade de determinação de candidato a vetor de movimento preditivo 203 pode usar a identificação de lista de imagens de referência e identificação de imagem de referência. A seguir, na etapa S903 a unidade de determinação de candidato a vetor de movimento preditivo 203 seleciona um candidato a vetor de movimento preditivo VMPX na região vizinha à esquerda do candidato a vetor de movimento preditivo VMPa e do candidato a vetor de movimento preditivo VMPb. Além disso, a unidade de determinação de candidato a vetor de movimento preditivo 203 gera informação de indicação de direção de varredura indicativa da direção de varredura X usada para determinação do candidato a vetor de movimento preditivo selecionado. Especificamente, a unidade de determinação de candidato a vetor de movimento preditivo 203 determina como o candidato a vetor de movimento preditivo VMPX um candidato a vetor de movimento preditivo com o menor erro em relação ao vetor de movimento preditivo da partição-alvo, entre o candidato a vetor de movi- mento preditivo VMPa e o candidato a vetor de movimento preditivo VMPb. Além disso, quando o candidato a vetor de movimento preditivo VMPa é selecionado como o candidato a vetor de movimento preditivo VMPX, a unidade de determinação de candidato a vetor de movimento preditivo 203 gera a informação de indicação de direção de varredura indicativa da direção para baixo; enquanto que quando o candidato a vetor de movimento preditivo VMPb é selecionado, ele gera a informação de indicação de direção de varredura indicativa da direção para cima. A seguir, na etapa S904 a unidade de determinação de candidato a vetor de movimento preditivo 203 varre as partições na região vizinha acima da partição-alvo em uma direção para a direita para determinar um candidato a vetor de movimento preditivo VMPc dos vetores de movimento destas partições. Na etapa S904 a unidade de determinação de candidato a vetor de movimento preditivo 203 pode detectar o candidato a vetor de movimento preditivo VMPc ao executar o método de determinação do candidato a vetor de movimento preditivo VMP2 (etapa S303) descrito na primeira modalidade de acordo com a ordem de varredura da região vizinha acima mostrada em (c) da Figura 4. Para determinar o candidato a vetor de movimento preditivo VMPc, a unidade de determinação de candidato a vetor de movimento preditivo 203 pode usar a identificação de lista de imagens de referência e identificação de imagem de referência introduzidas, tal como na primeira modalidade. A seguir, na etapa S905 a unidade de determinação de candidato a vetor de movimento preditivo 203 varre as partições na região vizinha acima da partição-alvo em uma direção para a esquerda para determinar um candidato a vetor de movimento preditivo VMPd de vetores de movimento destas partições. Na etapa S905, a unidade de determinação de candidato a vetor de movimento preditivo 203 pode detectar o candidato a vetor de movimento preditivo VMPd ao executar o método de determinação (etapa S303) do candidato a vetor de movimento preditivo VMP2 descrito na primeira modalidade de acordo com a ordem de varredura da região vizinha acima mostrada em (a) da Figura 4. Para determinar o candidato a vetor de movi- mento preditivo VMPd, a unidade de determinação de candidato a vetor de movimento preditivo 203 também pode usar a identificação de lista de imagens de referência e identificação de imagem de referência. A seguir, na etapa S906 a unidade de determinação de candidato a vetor de movimento preditivo 203 seleciona um candidato a vetor de movimento preditivo VMPY na região vizinha acima a partir do candidato a vetor de movimento preditivo VMPc e do candidato a vetor de movimento preditivo VMPd. A unidade de determinação de candidato a vetor de movimento preditivo 203 gera a informação de indicação de direção de varredura indicativa da direção de varredura Y usada para determinação do candidato a vetor de movimento preditivo selecionado. Especificamente, a unidade de determinação de candidato a vetor de movimento preditivo 203 determina um candidato a vetor de movimento preditivo com o menor erro em relação ao vetor de movimento preditivo da partição-alvo, entre o candidato a vetor de movimento preditivo VMPc e o candidato a vetor de movimento preditivo VMPd, como o candidato a vetor de movimento preditivo VMPY. Quando o candidato a vetor de movimento preditivo VMPc é selecionado como o candidato a vetor de movimento preditivo VMPY, a unidade de determinação de candidato a vetor de movimento preditivo 203 gera a informação de indicação de direção de varredura indicativa da direção para a direita; quando o candidato a vetor de movimento preditivo VMPd é selecionado, ele gera a informação de indicação de direção de varredura indicativa da direção para a esquerda. A seguir, na etapa S907 a unidade de determinação de candidato a vetor de movimento preditivo 203 obtém um candidato a vetor de movimento preditivo VMPZ de uma partição em um quadro de referência em uma posição idêntica espacialmente à da partição-alvo, no mesmo modo que o processo da etapa S304. O processo nesta etapa S907 pode ser o mesmo da forma de modificação mencionada anteriormente do processo da etapa S304 na primeira modalidade. A seguir, na etapa S908 a unidade de determinação de candidato a vetor de movimento preditivo 203 define somente candidatos a vetor de movimento preditivo não idênticos entre o candidato a vetor de movimento preditivo VMPX, o candidato a vetor de movimento preditivo VMPY e o candidato a vetor de movimento preditivo VMPZ, como candidatos a vetor de movimento preditivo. Então a unidade de determinação de candidato a vetor de movimento preditivo 203 envia os candidatos a vetor de movimento preditivo, o número de candidatos a vetor de movimento preditivo e a informação de indicação de direção de varredura. Como um exemplo específico, onde o candidato a vetor de movimento preditivo VMPX é idêntico ao candidato a vetor de movimento preditivo VMPZ, somente o candidato a vetor de movimento preditivo VMPX e o candidato a vetor de movimento preditivo VMPY são selecionados como candidatos a vetor de movimento preditivo. Se nenhum candidato a vetor de movimento preditivo efetivo não for determinado nas etapas S901 a S907, um vetor de movimento zero é definido como um candidato a vetor de movimento preditivo.
Em seguida, o mesmo processamento da etapa S306 na primeira modalidade é executado na segunda modalidade. Finalmente, na etapa S307 a unidade de codificação 213 codifica a informação de indicação de vetor de movimento preditivo para especificar qual candidato a vetor de movimento preditivo é o vetor de movimento preditivo ideal. Na segunda modalidade a unidade de codificação 213 também codifica a informação de indicação de direção de varredura na etapa S307.
Na segunda modalidade, as partições constituindo a região vizinha à esquerda e as partições constituindo a região vizinha acima podem ser modificadas tal como descrito anteriormente na primeira modalidade. O número de vetores de movimento preditivos também pode ser mudado tal como descrito anteriormente na primeira modalidade. Tal como descrito anteriormente na primeira modalidade, a ordem de determinação dos candidatos a vetor de movimento preditivo VMPX, VMPY e VMPZ pode ser mudada com base no modo de divisão da partição-alvo em subpartições e nas posições das subpartições.
Um método de decodificação preditiva de vetores de movimento de acordo com a segunda modalidade será descrito a seguir. A Figura 10 é um fluxograma mostrando o método de decodificação preditiva de vetores de movimento de acordo com a segunda modalidade. O método de decodificação preditiva mostrado na Figura 10 é um método de predizer um vetor de movimento a partir de dados codificados gerados pelo método de codificação preditiva de vetores de movimento de acordo com a segunda modalidade.
Na presente modalidade, tal como mostrado na Figura 10, na etapa S1001 a unidade de determinação de candidato a vetor de movimento preditivo 302 primeiro recebe entrada da identificação de lista de imagens de referência, identificação de imagem de referência e da informação de indicação de direção de varredura (direção de varredura X, direção de varredura Y) restauradas. A seguir, na etapa S1002 a unidade de determinação de candidato a vetor de movimento preditivo 302 determina um candidato a vetor de movimento preditivo VMPX na região vizinha à esquerda de acordo com a identificação de lista de imagens de referência, a identificação de imagem de referência e a informação de indicação de direção de varredura para especificar a direção de varredura X. O candidato a vetor de movimento preditivo VMPX é determinado pelo mesmo processo da determinação do candidato a vetor de movimento preditivo VMP1 na primeira modalidade, ao varrer sequencialmente as partições na região vizinha à esquerda na direção de varredura X especificada pela informação de indicação de direção de varredura. A seguir, na etapa S1003, a unidade de determinação de candidato a vetor de movimento preditivo 302 determina um candidato a vetor de movimento preditivo VMPY na região vizinha acima de acordo com a identificação de lista de imagens de referência, a identificação de imagem de referência e a informação de indicação de direção de varredura para especificar a direção de varredura Y. O candidato a vetor de movimento preditivo VMPY é determinado pelo mesmo processo da determinação do candidato a vetor de movimento preditivo VMP2 na primeira modalidade, ao varrer sequencialmente as partições na região vizinha acima na direção de varredura Y especificada pela informação de indicação de direção de varredura. A seguir, na etapa S1004 a unidade de determinação de candidato a vetor de movimento preditivo 302 determina um candidato a vetor de movimento preditivo VMPZ de uma partição em um quadro de referência idêntica espacialmente à partição-alvo. O processo da etapa S1004 é igual ao processo da etapa 304. A seguir, na etapa S1005 a unidade de determinação de candidato a vetor de movimento preditivo 302 define somente candidatos a vetor de movimento preditivo não idênticos, entre o candidato a vetor de movimento preditivo VMPX, o candidato a vetor de movimento preditivo VMPY e o candidato a vetor de movimento preditivo VMPZ, como candidatos a vetor de movimento preditivo. Como um exemplo específico, onde o candidato a vetor de movimento preditivo VMPX é idêntico ao candidato a vetor de movimento preditivo VMPZ, somente o candidato a vetor de movimento preditivo VMPX e o candidato a vetor de movimento preditivo VMPY são selecionados como candidatos a vetor de movimento preditivo. Se candidatos a vetor de movimento preditivo efetivos não forem determinados pelo processamento até a etapa S1005, um vetor de movimento zero é definido como um candidato a vetor de movimento preditivo. A seguir, na etapa S1006 a unidade de decodificação 301 restaura a informação de indicação de vetor de movimento preditivo com base no número de candidatos a vetor de movimento preditivo. Na etapa S1007, a unidade de determinação de vetor de movimento preditivo 303 seleciona então o vetor de movimento preditivo ideal dentre os candidatos a vetor de movimento preditivo, com base na informação de indicação de vetor de movimento preditivo.
Na segunda modalidade, a ordem de determinação dos candidatos a vetor de movimento preditivo VMPX, VMPY e VMPZ também pode ser mudada com base no modo de divisão da partição-alvo em subpartições e nas posições das subpartições, tal como descrito anteriormente na primeira modalidade. O dispositivo de codificação de vídeo 20 e o dispositivo de decodificação de vídeo 30 descritos anteriormente são configurados para reduzir o número de candidatos a um vetor de movimento preditivo e então detectam o vetor de movimento preditivo ideal a partir dos candidatos a vetor de movimento preditivo resultantes. Portanto, é possível reduzir a complexidade computacional necessária para a determinação do vetor de movimento preditivo ideal. Além disso, a informação de indicação de vetor de movimento preditivo para especificar o vetor de movimento preditivo ideal pode ser codificada em uma contagem de bits menor. O dispositivo de codificação de vídeo 20 e o dispositivo de decodificação de vídeo 30 usando a codificação preditiva e a decodificação preditiva da segunda modalidade são capazes de determinar os candidatos a vetor de movimento preditivo com um menor erro em relação ao vetor de movimento da partição-alvo. O exposto a seguir descreverá um programa de codificação de vídeo 1000 para fazer com que um computador funcione como o dispositivo de codificação de vídeo 20, e um programa de decodificação de vídeo 1100 para fazer com que um computador funcione como o dispositivo de decodificação de vídeo 30 mencionado anteriormente. A Figura 11 é um desenho mostrando uma configuração do programa de codificação de vídeo de acordo com uma modalidade. A Figura 12 é um desenho mostrando uma configuração do programa de decodificação de vídeo de acordo com uma modalidade. A Figura 13 é um desenho mostrando uma configuração de hardware de um computador de acordo com uma modalidade. A Figura 14 é uma vista em perspectiva mostrando um computador de acordo com uma modalidade. O programa de codificação de vídeo 1000 mostrado na Figura 11 pode ser fornecido como armazenado em uma mídia de gravação SM. Além disso, o programa de decodificação de vídeo 1100 mostrado na Figura 12 também pode ser fornecido como armazenado em uma mídia de gravação SM. Exemplos de tais mídias de gravação SM aplicáveis neste documento incluem mídias de gravação tais como o disco flexível, CD-ROM, DVD, ou ROM, memórias semicondutoras ou semelhantes.
Tal como mostrado na Figura 13, um computador C10 pode ser provido com um dispositivo de leitura C12 tal como uma unidade de disco flexível, uma unidade de CD-ROM, ou uma unidade de DVD, uma memória de trabalho (RAM) C14 na qual um sistema de operação reside, uma memória C16 armazenando um programa gravado em uma mídia de gravação SM, uma unidade de monitor C18 tal como um mostrador, um mouse C20 e um teclado C22 como dispositivos de entrada, um dispositivo de comunicação C24 para transmissão/recepção de dados e outros, e uma CPU C26 para controlar execução do programa.
Quando a mídia de gravação SM é colocada no dispositivo de leitura C12, o computador C10 obtém acesso ao programa de codificação de vídeo 1000 armazenado na mídia de gravação SM, por meio do dispositivo de leitura C12, e se torna capaz de operar tal como o dispositivo de codificação de vídeo 20, com base no programa 1000.
Quando a mídia de gravação SM é colocada no dispositivo de leitura C12, o computador C10 obtém acesso ao programa de decodificação de vídeo 1100 armazenado na mídia de gravação SM, por meio do dispositivo de leitura C12, e se torna capaz de operar como o dispositivo de decodificação de vídeo 30, com base no programa 1100.
Tal como mostrado na Figura 11, o programa de codificação de vídeo 1000 é provido com um módulo principal 1001 para controlar de uma maneira geral o processamento, um módulo de entrada 1002, um módulo de detecção de movimento 1003, um módulo de determinação de candidato a vetor de movimento preditivo 1004, um módulo de determinação de vetor de movimento preditivo 1005, um módulo de diferença de vetor de movimento 1006, um módulo de compensação de movimento 1007, um módulo de predição espacial 1008, um módulo de determinação de método de predição 1009, um módulo de subtração 1010, um módulo de transformada ortogonal 1011, um módulo de quantização 1012, um módulo codificação de entropia 1013, um módulo de quantização inversa 1014, um módulo de transformada ortogonal inversa 1015 e um módulo de adição 1016. As funções que o módulo de entrada 1002, o módulo de detecção de movimento 1003, o módulo de determinação de candidato a vetor de movimento preditivo 1004, o módu- Io de determinação de vetor de movimento preditivo 1005, o módulo de diferença de vetor de movimento 1006, o módulo de compensação de movimento 1007, o módulo de predição espacial 1008, o módulo de determinação de método de predição 1009, o módulo de subtração 1010, o módulo de transformada ortogonal 1011, o módulo de quantização 1012, o módulo codificação de entropia 1013, o módulo de quantização inversa 1014, o módulo de transformada ortogonal inversa 1015 e o módulo de adição 1016 para fazer com que um computador implemente são as mesmas funções da unidade de entrada 201, unidade de detecção de movimento 202, unidade de determinação de candidato a vetor de movimento preditivo 203, unidade de determinação de vetor de movimento preditivo 204, unidade de diferença de vetor de movimento 205, unidade de compensação de movimento 206, unidade de predição espacial 208, unidade de determinação de método de predição 209, unidade de subtração 210, unidade de transformada ortogonal 211, unidade de quantização 212, unidade de codificação de entropia 213, unidade de quantização inversa 214, unidade de transformada ortogonal inversa 215 e da unidade de adição 216, respectivamente, mencionadas anteriormente.
Tal como mostrado na Figura 12, o programa de decodificação de vídeo 1100 é provido com um módulo principal 1101 para controlar de uma maneira geral o processamento, um módulo de decodificação de entropia 1102, um módulo de determinação de candidato a vetor de movimento preditivo 1103, um módulo de determinação de vetor de movimento preditivo 1104, um módulo de adição de vetor de movimento 1105, um módulo de compensação de movimento 1106, um módulo de predição espacial 1107, um módulo de determinação de método de predição 1108, um módulo de quantização inversa 1109, um módulo de transformada ortogonal inversa 1110 e um módulo de adição 1111. As funções que o módulo de decodificação de entropia 1102, o módulo de determinação de candidato a vetor de movimento preditivo 1103, o módulo de determinação de vetor de movimento preditivo 1104, o módulo de adição de vetor de movimento 1105, o módulo de compensação de movimento 1106, o módulo de predição espacial 1107, o módulo de determinação de método de predição 1108, o módulo de quantização inversa 1109, o módulo de transformada ortogonal inversa 1110 e o módulo de adição 1111 executam para fazer com que um computador implemente são as mesmas funções da unidade de decodificação de entropia 301, unidade de determinação de candidato a vetor de movimento preditivo 302, unidade de determinação de vetor de movimento preditivo 303, unidade de adição de vetor de movimento 304, unidade de compensação de movimento 305, unidade de predição espacial 307, unidade de determinação de método de predição 308, unidade de quantização inversa 309, unidade de transformada ortogonal inversa 310 e da unidade de adição 311, respectivamente, mencionadas anteriormente. O exposto acima descreve várias modalidades, mas a presente invenção pode ser modificada em muitos modos sem ficar limitada às modalidades indicadas anteriormente. Por exemplo, nas modalidades indicadas anteriormente os dados codificados da diferença de vetor de movimento sendo a diferença entre o vetor de movimento da partição-alvo e o vetor de movimento preditivo (vetor de movimento preditivo ideal) são transmitidos do dispositivo de codificação para o dispositivo de decodificação, mas o vetor de movimento preditivo ideal pode ser adotado como o vetor de movimento da partição-alvo, sem transmitir os dados codificados da diferença de vetor de movimento do dispositivo de codificação para o dispositivo de decodificação. O candidato a vetor de movimento preditivo VMPX pode ser determinado como se segue: sinais de imagem predita são criados usando os candidatos a vetor de movimento preditivo VMPa e VMPb e o candidato a vetor de movimento preditivo VMPX a ser adotado é um candidato a vetor de movimento preditivo para tornar menor a soma das diferenças absolutas (SAD) entre o sinal de imagem predita e o sinal de imagem da partição-alvo, dentre os candidatos a vetor de movimento preditivo VMPa e VMPb. O candidato a vetor de movimento preditivo VMPY pode ser determinado como se segue: sinais de imagem predita são criados usando os candidatos a vetor de movimento preditivo VMPc e VMPd e o candidato a vetor de movimento preditivo VMPY a ser adotado é um candidato a vetor de movimento preditivo para tornar menor a soma das diferenças absolutas (SAD) entre o sinal de imagem predita e o sinal de imagem da partição-alvo, dentre os candidatos a vetor de movimento preditivo VMPc e VMPd. Além disso, a soma de diferenças de transformadas absolutas (SATD) ou a soma dos quadrados das diferenças (SSD) pode ser usada em vez de SAD.
Lista de Símbolos de Referência 20 dispositivo de codificação de vídeo; 30 dispositivo de decodificação de vídeo; 201 unidade de entrada; 202 unidade de detecção; 203 unidade de determinação de candidato a vetor de movimento preditivo; 204 unidade de determinação de vetor de movimento preditivo; 205 unidade de diferença de vetor de movimento; 206 unidade de compensação de movimento; 207 memória; 208 unidade de predição espacial; 209 unidade de determinação de método de predição; 210 unidade de subtração; 211 unidade de transformada; 212 unidade de quantização; 213 unidade de codificação de entropia; 214 unidade de quantização inversa; 215 unidade de transformada inversa; 216 unidade de adição; 301 unidade de decodificação de entropia; 302 unidade de determinação de candidato a vetor de movimento preditivo; 303 unidade de determinação de vetor de movimento preditivo; 304 unidade de adição de vetor de movimento; 305 unidade de compensação de movimento; 306 memória de quadro; 307 unidade de predição espacial; 308 unidade de determinação de método de predição; 309 unidade de quantização inversa; 310 unidade de transformada ortogonal inversa; 311 unidade de adição.
REIVINDICAÇÕES

Claims (16)

1. Método para codificar preditivamente um vetor de movimento usado em predição compensada de movimento de uma sequência de vídeo consistindo de uma sequência temporal de imagens de quadro, caracterizado pelo fato de que compreende: uma etapa de determinar um vetor de movimento de uma partição-alvo em uma imagem de quadro de um alvo de codificação na sequência de vídeo; uma etapa de determinar um primeiro candidato a preditor de vetor de movimento que satisfaz um critério predeterminado usado na determinação de candidatos a preditor de vetor de movimento, o primeiro candidato a preditor de vetor de movimento determinado a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições pertencendo a uma região vizinha à esquerda localizada no lado esquerdo da partição-alvo; uma etapa de determinar um segundo candidato a preditor de vetor de movimento que satisfaz um critério predeterminado usado para determinação de candidatos a preditor de vetor de movimento, o segundo candidato a preditor de vetor de movimento determinado a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições perten- cendo a uma região vizinha acima localizada acima da partição-alvo; uma etapa de selecionar um preditor de vetor de movimento óti- mo e produzir informação de indicação de preditor de vetor de movimento para especificar o preditor de vetor de movimento ótimo selecionado, em que o preditor de vetor de movimento ótimo é selecionado com base na comparação entre um ou mais candidatos a preditor de vetor de movimento incluindo o primeiro candidato a preditor de vetor de movimento e o segundo candidato a preditor de vetor de movimento, e o vetor de movimento da partição-alvo; e uma etapa de codificar a informação de indicação de preditor de vetor de movimento; em que a região vizinha à esquerda inclui uma partição vizinha localizada abaixo e no lado esquerdo da partição-alvo; em que a região vizinha acima inclui uma partição vizinha localizada acima e no lado direito da partição-alvo; em que a região vizinha acima inclui uma partição vizinha localizada acima e no lado esquerdo da partição-alvo; em que a etapa de determinar o primeiro candidato a preditor de vetor de movimento compreende varrer uma ou mais partições incluídas na região vizinha à esquerda, em uma direção para cima a partir de uma parte inferior da região vizinha à esquerda, e assim determinar, como o primeiro candidato a preditor de vetor de movimento, um vetor de movimento satisfazendo o critério predeterminado usado para a determinação de candidatos a preditor de vetor de movimento, a partir do vetor de movimento ou de vetores de movimento das uma ou mais partições pertencendo à região vizinha à esquerda; e em que a etapa de determinar o segundo candidato a preditor de vetor de movimento compreende varrer uma ou mais partições incluídas na região vizinha acima, em uma direção da direita para a esquerda, e assim determinar, como o segundo candidato a preditor de vetor de movimento, um vetor de movimento satisfazendo o critério predeterminado usado para determinação de candidato a preditor de vetor de movimento, a partir do vetor de movimento ou de vetores de movimento das uma ou mais partições pertencendo à região vizinha acima.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a etapa de codificar compreende codificar a informação de indicação de preditor de vetor de movimento para dados codificados de uma contagem de bits de acordo com o número dos candidatos a preditor de vetor de movimento.
3. Método, de acordo com a reivindicação 2, caracterizado pelo fato de que a etapa de codificar compreende codificar a informação de indicação de preditor de vetor de movimento para dados codificados de uma contagem de bits mínima de acordo com o número dos candidatos a preditor de vetor de movimento.
4. Método, de acordo com qualquer uma das reivindicações 1 a 3, caracterizado pelo fato de que a etapa de determinar o primeiro candidato a preditor de vetor de movimento compreende determinar primeira informação de indicação de direção de varredura indicativa de uma direção de varredura de uma ou mais partições incluídas na região vizinha à esquerda a fim de determinar o primeiro candidato a preditor de vetor de movimento; em que a etapa de determinar o segundo candidato a preditor de vetor de movimento compreende determinar a segunda informação de indicação de direção de varredura indicativa de uma direção de varredura de uma ou mais partições incluídas na região vizinha acima a fim de determinar o segundo candidato a preditor de vetor de movimento; e em que a etapa de codificar compreende adicionalmente codificar a primeira informação de indicação de direção de varredura e a segunda informação de indicação de direção de varredura.
5. Método, de acordo com qualquer uma das reivindicações 1 a 4, caracterizado pelo fato de que o número dos um ou mais candidatos a preditor de vetor de movimento não é maior que 3.
6. Método, de acordo com qualquer uma das reivindicações 1 a 5, caracterizado pelo fato de que, sem codificar um sinal residual entre o vetor de movimento da partição-alvo e o preditor de vetor de movimento ótimo, o preditor de vetor de movimento ótimo é usado como o vetor de movimento da partição-alvo.
7. Método, de acordo com qualquer uma das reivindicações 1 a 6, caracterizado pelo fato de que um sinal predito da partição-alvo é gerado ao se referir a um quadro de referência com um número de quadro especificado por uma identificação de lista de imagens de referência e uma identificação de imagem de referência; em que a etapa de determinar o primeiro candidato a preditor de vetor de movimento compreende determinar o primeiro candidato a preditor de vetor de movimento a partir de vetores de movimento de partições na região vizinha à esquerda tendo uma identificação de lista de imagens de referência e/ou uma identificação de imagem de referência coincidentes com a identificação de lista de imagens de referência e/ou a identificação de ima- gem de referência para a partição-alvo; e em que a etapa de determinar o segundo candidato a preditor de vetor de movimento compreende determinar o segundo candidato a preditor de vetor de movimento a partir de vetores de movimento de partições na região vizinha acima tendo uma identificação de lista de imagens de referência e/ou uma identificação de imagem de referência coincidentes com a identificação de lista de imagens de referência e/ou a identificação de imagem de referência para a partição-alvo.
8. Dispositivo para codificar preditivamente um vetor de movimento usado em predição compensada de movimento de uma sequência de vídeo consistindo de uma sequência temporal de imagens de quadro, caracterizado pelo fato de que compreende: meio de detecção de movimento adaptado para determinar um vetor de movimento de uma partição-alvo em uma imagem de quadro de um alvo de codificação na sequência de vídeo; primeiro meio de determinação de candidato a preditor de vetor de movimento adaptado para determinar um primeiro candidato a preditor de vetor de movimento satisfazendo um critério predeterminado usado na determinação de candidatos a preditor de vetor de movimento, o primeiro candidato a preditor de vetor de movimento determinado a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições pertencendo a uma região vizinha à esquerda localizada no lado esquerdo da partição-alvo; segundo meio de determinação de candidato a preditor de vetor de movimento adaptado para determinar um segundo candidato a preditor de vetor de movimento que satisfaz um critério predeterminado usado na determinação de candidatos a preditor de vetor de movimento, o segundo candidato a preditor de vetor de movimento determinado a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições pertencendo a uma região vizinha acima localizada acima da partição-alvo; meio de determinação de preditor de vetor de movimento adaptado para selecionar um preditor de vetor de movimento ótimo e produzir informação de indicação de preditor de vetor de movimento para especificar o preditor de vetor de movimento ótimo selecionado, em que o preditor de vetor de movimento ótimo é selecionado com base na comparação entre um ou mais candidatos a preditor de vetor de movimento incluindo o primeiro candidato a preditor de vetor de movimento e o segundo candidato a preditor de vetor de movimento; e meio de codificação adaptado para codificar a informação de indicação de predição de vetor de movimento; em que a região vizinha à esquerda inclui uma partição vizinha localizada abaixo e no lado esquerdo da partição-alvo; em que a região vizinha acima inclui uma partição vizinha localizada acima e no lado direito da partição-alvo; em que a região vizinha acima inclui uma partição vizinha localizada acima e no lado esquerdo da partição-alvo; em que o meio de determinação do primeiro candidato a preditor de vetor de movimento compreende varrer uma ou mais partições incluídas na região vizinha à esquerda, em uma direção para cima a partir de uma parte inferior da região vizinha à esquerda, e assim determinar, como o primeiro candidato a preditor de vetor de movimento, um vetor de movimento satisfazendo o critério predeterminado usado para a determinação de candidatos a preditor de vetor de movimento, a partir do vetor de movimento ou de vetores de movimento das uma ou mais partições pertencendo à região vizinha à esquerda; e em que o meio de determinação do segundo candidato a preditor de vetor de movimento compreende varrer uma ou mais partições incluídas na região vizinha acima, em uma direção da direita para a esquerda, e assim determinar, como o segundo candidato a preditor de vetor de movimento, um vetor de movimento satisfazendo o critério predeterminado usado para determinação de candidato a preditor de vetor de movimento, a partir do vetor de movimento ou de vetores de movimento das uma ou mais partições pertencendo à região vizinha acima.
9. Método para decodificar preditivamente um vetor de movimen- to usado em predição compensada de movimento para restaurar uma sequência de vídeo consistindo em uma sequência temporal de imagens de quadro, caracterizado pelo fato de que compreende: uma etapa de determinar um primeiro candidato a preditor de vetor de movimento que satisfaz um critério predeterminado usado na determinação de candidatos a preditor de vetor de movimento, a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições pertencendo a uma região vizinha à esquerda localizada no lado esquerdo de uma partição-alvo em uma imagem de quadro de um alvo de decodificação; uma etapa de determinar um segundo candidato a preditor de vetor de movimento satisfazendo um critério predeterminado usado na determinação de candidatos a preditor de vetor de movimento, a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições pertencendo a uma região vizinha acima localizada acima da partição-alvo; uma etapa de decodificar dados codificados para restaurar informação de indicação de preditor de vetor de movimento especificando um preditor de vetor de movimento ótimo para a partição-alvo; e uma etapa de selecionar o preditor de vetor de movimento ótimo especificado pela informação de indicação de preditor de vetor de movimento, de um ou mais candidatos a preditor de vetor de movimento incluindo pelo menos o primeiro candidato a preditor de vetor de movimento e o segundo candidato a preditor de vetor de movimento; em que a região vizinha à esquerda inclui uma partição vizinha localizada abaixo e no lado esquerdo da partição-alvo; em que a região vizinha acima inclui uma partição vizinha localizada acima e no lado direito da partição-alvo; em que a região vizinha acima inclui uma partição vizinha localizada acima e no lado esquerdo da partição-alvo; em que a etapa de determinar o primeiro candidato a preditor de vetor de movimento compreende varrer uma ou mais partições incluídas na região vizinha à esquerda, em uma direção para cima a partir de uma parte inferior da região vizinha à esquerda, e assim determinar, como o primeiro candidato a preditor de vetor de movimento, um vetor de movimento satisfazendo o critério predeterminado usado para a determinação de candidatos a preditor de vetor de movimento, a partir do vetor de movimento ou de vetores de movimento das uma ou mais partições pertencendo à região vizinha à esquerda; e em que a etapa de determinar o segundo candidato a preditor de vetor de movimento compreende varrer uma ou mais partições incluídas na região vizinha acima, em uma direção da direita para a esquerda, e assim determinar, como o segundo candidato a preditor de vetor de movimento, um vetor de movimento satisfazendo o critério predeterminado usado para determinação de candidato a preditor de vetor de movimento, a partir do vetor de movimento ou de vetores de movimento das uma ou mais partições pertencendo à região vizinha acima.
10. Método, de acordo com a reivindicação 9, caracterizado pelo fato de que uma contagem de bits dos dados codificados da informação de indicação de preditor de vetor de movimento é uma contagem de bits de acordo com o número dos candidatos a preditor de vetor de movimento.
11. Método, de acordo com a reivindicação 10, caracterizado pelo fato de que a contagem de bits dos dados codificados da informação de indicação de preditor de vetor de movimento é uma contagem de bits mínima de acordo com o número dos candidatos a preditor de vetor de movimento.
12. Método, de acordo com qualquer uma das reivindicações de 9 a 11, caracterizado pelo dato de que compreende adicionalmente: em que a etapa de determinar o primeiro candidato a preditor de vetor de movimento compreende uma etapa de decodificar dados codificados para restaurar a primeira informação de indicação de direção de varredura para especificar uma direção de varredura de uma ou mais partições incluídas na região vizinha à esquerda; em que a etapa de determinar o segundo candidato a preditor de vetor de movimento compreende decodificar dados codificados para restaurar a segunda informação de indicação de direção de varredura para especificar uma direção de varredura de uma ou mais partições incluídas na região vizinha acima; em que a etapa de determinar o primeiro candidato a preditor de vetor de movimento compreende: varrer uma ou mais partições incluídas na região vizinha à esquerda, na direção especificada pela primeira informação de indicação de direção de varredura, para determinar o primeiro candidato a preditor de vetor de movimento; e em que a etapa de determinar o segundo candidato a preditor de vetor de movimento compreende varrer uma ou mais partições incluídas na região vizinha acima, na direção especificada pela segunda informação de indicação de direção de varredura, para determinar o segundo candidato a preditor de vetor de movimento.
13. Método, de acordo com qualquer uma das reivindicações de 9 a 12, caracterizado pelo fato de que o número dos um ou mais candidatos a preditor de vetor de movimento não é maior que 3.
14. Método, de acordo com qualquer uma das reivindicações de 9 a 13, caracterizado pelo fato de que o preditor de vetor de movimento ótimo é usado como um vetor de movimento da partição-alvo.
15. Método, de acordo com qualquer uma das reivindicações de 9 a 14, caracterizado pelo fato de que um sinal predito da partição-alvo é gerado ao se referir a um quadro de referência com um número de quadro especificado por uma identificação de lista de imagens de referência e uma identificação de imagem de referência; em que a etapa de determinar o primeiro candidato a preditor de vetor de movimento compreende determinar o primeiro candidato a preditor de vetor de movimento a partir de vetores de movimento de partições na região vizinha à esquerda tendo uma identificação de lista de imagens de referência e/ou uma identificação de imagem de referência coincidentes com a identificação de lista de imagens de referência e/ou a identificação de imagem de referência para a partição-alvo; e em que a etapa de determinar o segundo candidato a preditor de vetor de movimento compreende determinar o segundo candidato a preditor de vetor de movimento a partir de vetores de movimento de partições na re- gião vizinha acima tendo uma identificação de lista de imagens de referência e/ou uma identificação de imagem de referência coincidentes com a identificação de lista de imagens de referência e/ou a identificação de imagem de referência para a partição-alvo.
16. Dispositivo para decodificar preditivamente um vetor de movimento usado em predição compensada de movimento para restaurar uma sequência de vídeo consistindo de uma sequência temporal de imagens de quadro, caracterizado pelo fato de que compreende: primeiro meio de determinação de candidato a preditor de vetor de movimento adaptado para determinar um primeiro candidato a preditor de vetor de movimento satisfazendo um critério predeterminado usado na determinação de candidatos a preditor de vetor de movimento a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições pertencendo a uma região vizinha à esquerda localizada no lado esquerdo de uma partição-alvo em uma imagem de quadro de um alvo de decodificação; segundo meio de determinação de candidato a preditor de vetor de movimento adaptado para determinar um segundo candidato a preditor de vetor de movimento satisfazendo um critério predeterminado usado na determinação de candidatos a preditor de vetor de movimento a partir de um vetor de movimento ou de vetores de movimento de uma ou mais partições pertencendo a uma região vizinha acima localizada acima da partição-alvo; meio de decodificação adaptado para decodificar dados codificados para restaurar informação de indicação de preditor de vetor de movimento especificando um preditor de vetor de movimento ótimo para a partição-alvo; e meio de determinação de preditor de vetor de movimento ótimo adaptado para selecionar o preditor de vetor de movimento ótimo especificado pela informação de indicação de preditor de vetor de movimento, de um ou mais candidatos a preditor de vetor de movimento incluindo pelo menos o primeiro candidato a preditor de vetor de movimento e o segundo candidato a preditor de vetor de movimento; em que a região vizinha à esquerda inclui uma partição vizinha localizada abaixo e no lado esquerdo da partição-alvo; em que a região vizinha acima inclui uma partição vizinha localizada acima e no lado direito da partição-alvo; em que a região vizinha acima inclui uma partição vizinha localizada acima e no lado esquerdo da partição-alvo; em que o meio de determinação do primeiro candidato a preditor de vetor de movimento compreende varrer uma ou mais partições incluídas na região vizinha à esquerda, em uma direção para cima a partir de uma parte inferior da região vizinha à esquerda, e assim determinar, como o primeiro candidato a preditor de vetor de movimento, um vetor de movimento satisfazendo o critério predeterminado usado para a determinação de candidatos a preditor de vetor de movimento, a partir do vetor de movimento ou de vetores de movimento das uma ou mais partições pertencendo à região vizinha à esquerda; e em que o meio de determinação do segundo candidato a preditor de vetor de movimento compreende varrer uma ou mais partições incluídas na região vizinha acima, em uma direção da direita para a esquerda, e assim determinar, como o segundo candidato a preditor de vetor de movimento, um vetor de movimento satisfazendo o critério predeterminado usado para determinação de candidato a preditor de vetor de movimento, a partir do vetor de movimento ou de vetores de movimento das uma ou mais partições pertencendo à região vizinha acima.
BR112013017208-8A 2011-01-07 2011-12-20 Método de codificação preditiva e dispositivo de codificação preditiva de vetor de movimento, e método de decodificação preditiva e dispositivo de decodificação preditivade vetor de movimento BR112013017208B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2011002205 2011-01-07
JP2011-002205 2011-01-07
PCT/JP2011/079540 WO2012093585A1 (ja) 2011-01-07 2011-12-20 動きベクトルの予測符号化方法、予測符号化装置、及び予測符号化プログラム、並びに、動きベクトルの予測復号方法、予測復号装置、及び、予測復号プログラム

Publications (2)

Publication Number Publication Date
BR112013017208A2 BR112013017208A2 (pt) 2016-09-20
BR112013017208B1 true BR112013017208B1 (pt) 2019-01-29

Family

ID=46457445

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112013017208-8A BR112013017208B1 (pt) 2011-01-07 2011-12-20 Método de codificação preditiva e dispositivo de codificação preditiva de vetor de movimento, e método de decodificação preditiva e dispositivo de decodificação preditivade vetor de movimento

Country Status (19)

Country Link
US (5) US9693052B2 (pt)
EP (6) EP2938082B1 (pt)
JP (5) JP5698767B2 (pt)
KR (6) KR102066543B1 (pt)
CN (5) CN105791857B (pt)
AU (1) AU2011353904B2 (pt)
BR (1) BR112013017208B1 (pt)
CA (4) CA2823880C (pt)
DK (2) DK4120686T3 (pt)
ES (4) ES2957772T3 (pt)
FI (2) FI3826306T3 (pt)
HU (2) HUE061239T2 (pt)
MX (4) MX352533B (pt)
PL (4) PL3826306T3 (pt)
PT (4) PT2938082T (pt)
RU (7) RU2649770C1 (pt)
SG (1) SG191232A1 (pt)
TW (3) TWI621352B (pt)
WO (1) WO2012093585A1 (pt)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9300970B2 (en) 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
KR101456499B1 (ko) * 2010-07-09 2014-11-03 삼성전자주식회사 움직임 벡터의 부호화 방법 및 장치, 그 복호화 방법 및 장치
RU2649770C1 (ru) 2011-01-07 2018-04-04 Нтт Докомо, Инк. Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения
US9319716B2 (en) * 2011-01-27 2016-04-19 Qualcomm Incorporated Performing motion vector prediction for video coding
HUE061938T2 (hu) * 2011-03-21 2023-09-28 Lg Electronics Inc Mozgásvektor-prediktor kiválasztása
CN103563386A (zh) 2011-05-31 2014-02-05 Jvc建伍株式会社 动图像编码装置、动图像编码方法及动图像编码程序、以及动图像解码装置、动图像解码方法及动图像解码程序
CN103535039B (zh) * 2011-06-30 2018-08-28 太阳专利托管公司 图像解码方法、图像编码方法、图像解码装置、图像编码装置以及图像编解码装置
JP2013098711A (ja) * 2011-10-31 2013-05-20 Mitsubishi Electric Corp 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
CN103079067B (zh) * 2013-01-09 2016-03-09 华为技术有限公司 运动矢量预测值列表构建方法和视频编解码方法及装置
US9300906B2 (en) * 2013-03-29 2016-03-29 Google Inc. Pull frame interpolation
TWI536811B (zh) * 2013-12-27 2016-06-01 財團法人工業技術研究院 影像處理方法與系統、解碼方法、編碼器與解碼器
KR101944683B1 (ko) 2017-02-21 2019-04-17 (주)제이하우스 아틀리에 클러스터 건물구조
CN108810531B (zh) * 2017-05-03 2019-11-19 腾讯科技(深圳)有限公司 视频编码处理方法、装置及电子设备
US10356439B2 (en) * 2017-06-29 2019-07-16 Intel Corporation Flexible frame referencing for display transport
WO2019049912A1 (ja) * 2017-09-08 2019-03-14 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN109963155B (zh) 2017-12-23 2023-06-06 华为技术有限公司 图像块的运动信息的预测方法、装置及编解码器
WO2020050283A1 (en) * 2018-09-07 2020-03-12 Panasonic Intellectual Property Corporation Of America System and method for video coding
US11902566B2 (en) 2018-12-28 2024-02-13 Telefonaktiebolaget Lm Ericsson (Publ) Generating a motion vector predictor list
MX2021009028A (es) * 2019-01-28 2021-10-13 Op Solutions Llc Inter prediccion en particion exponencial.
US11375243B2 (en) * 2019-07-17 2022-06-28 Tencent America LLC Method and apparatus for video coding
KR20210039553A (ko) 2019-10-02 2021-04-12 주식회사 디맥스 치과용 지르코니아 소재의 표면 처리방법

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2703802A1 (fr) * 1993-04-07 1994-10-14 Philips Electronique Lab Dispositif d'estimation de mouvement entre des images successives d'une séquence d'images animées subdivisées en blocs bidimensionnels d'éléments d'image.
DE69424909T2 (de) 1993-04-09 2000-12-14 Sony Corp Verfahren und vorrichtung zur bildkodierung
KR100523908B1 (ko) * 1997-12-12 2006-01-27 주식회사 팬택앤큐리텔 격행주사 영상에 대한 영상신호 부호화 장치 및 그 방법
US20040001546A1 (en) * 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
JP2005223631A (ja) 2004-02-05 2005-08-18 Sony Corp データ処理装置およびその方法と符号化装置および復号装置
JP4543971B2 (ja) * 2005-03-07 2010-09-15 ソニー株式会社 符号化方法、符号化装置、符号化処理のプログラム及び符号化処理のプログラムを記録した記録媒体
JP4712643B2 (ja) * 2006-08-17 2011-06-29 富士通セミコンダクター株式会社 フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置
KR101365567B1 (ko) * 2007-01-04 2014-02-20 삼성전자주식회사 영상의 예측 부호화 방법 및 장치, 그 복호화 방법 및 장치
CN101622877A (zh) * 2006-12-22 2010-01-06 高通股份有限公司 用于有效空间帧内可预测性确定(或评估)的***和方法
US8331448B2 (en) * 2006-12-22 2012-12-11 Qualcomm Incorporated Systems and methods for efficient spatial intra predictabilty determination (or assessment)
KR101383540B1 (ko) 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
KR101365574B1 (ko) * 2007-01-29 2014-02-20 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
US8488668B2 (en) * 2007-06-15 2013-07-16 Qualcomm Incorporated Adaptive coefficient scanning for video coding
US8908765B2 (en) * 2007-11-15 2014-12-09 General Instrument Corporation Method and apparatus for performing motion estimation
JP5194833B2 (ja) * 2008-01-23 2013-05-08 ソニー株式会社 符号化装置および方法、記録媒体、並びにプログラム
US8098957B2 (en) * 2008-02-13 2012-01-17 Qualcomm Incorporated Shared block comparison architechture for image registration and video coding
US8385404B2 (en) * 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
JP5401071B2 (ja) * 2008-10-09 2014-01-29 株式会社Nttドコモ 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法
WO2011001078A1 (fr) 2009-07-03 2011-01-06 France Telecom Prédiction d'un vecteur mouvement d'une partition d'image courante de forme géometrique ou de taille différente de celle d'au moins une partition d'image de référence voisine, codage et décodage utilisant une telle prédiction
KR20120016991A (ko) * 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
US9137544B2 (en) * 2010-11-29 2015-09-15 Mediatek Inc. Method and apparatus for derivation of mv/mvp candidate for inter/skip/merge modes
RU2649770C1 (ru) * 2011-01-07 2018-04-04 Нтт Докомо, Инк. Способ прогнозирующего кодирования, устройство прогнозирующего кодирования и программа прогнозирующего кодирования вектора движения и способ прогнозирующего декодирования, устройство прогнозирующего декодирования и программа прогнозирующего декодирования вектора движения

Also Published As

Publication number Publication date
RU2676245C1 (ru) 2018-12-26
CN106878741A (zh) 2017-06-20
DK3826306T3 (da) 2023-01-23
ES2614821T3 (es) 2017-06-02
CN105812821B (zh) 2017-10-27
JP2017108433A (ja) 2017-06-15
US20170155898A9 (en) 2017-06-01
ES2936314T3 (es) 2023-03-16
EP2938082A1 (en) 2015-10-28
WO2012093585A1 (ja) 2012-07-12
KR20160036671A (ko) 2016-04-04
JP2016036186A (ja) 2016-03-17
US9877040B2 (en) 2018-01-23
HUE061239T2 (hu) 2023-06-28
TWI621352B (zh) 2018-04-11
KR102066543B1 (ko) 2020-01-15
RU2649770C1 (ru) 2018-04-04
RU2697738C1 (ru) 2019-08-19
US10511855B2 (en) 2019-12-17
MX2013007540A (es) 2013-08-21
CN103283235B (zh) 2016-10-26
RU2699404C1 (ru) 2019-09-05
CA3167001A1 (en) 2012-07-12
PT2663077T (pt) 2017-02-13
KR101672790B1 (ko) 2016-11-04
US20180146209A1 (en) 2018-05-24
JP6099729B2 (ja) 2017-03-22
MX352533B (es) 2017-11-29
CA2933341A1 (en) 2012-07-12
EP2663077A4 (en) 2015-11-04
KR20140011475A (ko) 2014-01-28
US10154280B2 (en) 2018-12-11
CN105791857B (zh) 2018-12-07
AU2011353904A1 (en) 2013-07-11
JP5698767B2 (ja) 2015-04-08
PL4120686T3 (pl) 2023-12-11
EP3826306A1 (en) 2021-05-26
TWI660623B (zh) 2019-05-21
PT4120686T (pt) 2023-09-07
EP2938081A1 (en) 2015-10-28
PL2938082T3 (pl) 2017-09-29
TWI562611B (pt) 2016-12-11
AU2011353904B2 (en) 2015-09-10
BR112013017208A2 (pt) 2016-09-20
US10511856B2 (en) 2019-12-17
HUE063372T2 (hu) 2024-01-28
FI4120686T3 (fi) 2023-09-12
JP2015092781A (ja) 2015-05-14
US20190075316A1 (en) 2019-03-07
PT3826306T (pt) 2023-01-16
KR20160087402A (ko) 2016-07-21
CN105812821A (zh) 2016-07-27
CN103283235A (zh) 2013-09-04
CN105791857A (zh) 2016-07-20
TW201818725A (zh) 2018-05-16
TW201244499A (en) 2012-11-01
EP4120686A1 (en) 2023-01-18
RU2580090C2 (ru) 2016-04-10
CA3079646A1 (en) 2012-07-12
EP2938082B1 (en) 2017-03-22
RU2744696C1 (ru) 2021-03-15
RU2013136900A (ru) 2015-02-20
CA2823880C (en) 2016-08-16
EP4120686B1 (en) 2023-08-23
KR20170132361A (ko) 2017-12-01
DK4120686T3 (da) 2023-09-25
ES2957772T3 (es) 2024-01-25
KR101931276B1 (ko) 2018-12-20
PT2938082T (pt) 2017-04-07
EP2663077B1 (en) 2017-01-11
KR20200006194A (ko) 2020-01-17
EP3826306B1 (en) 2022-12-28
KR20180128098A (ko) 2018-11-30
MX339663B (es) 2016-06-03
RU2731026C1 (ru) 2020-08-28
CA2933341C (en) 2020-06-30
EP2663077A1 (en) 2013-11-13
JP6246962B2 (ja) 2017-12-13
CN105812820A (zh) 2016-07-27
CN105812820B (zh) 2019-03-15
KR101803886B1 (ko) 2017-12-04
JP5859691B2 (ja) 2016-02-10
US9693052B2 (en) 2017-06-27
JP2018026879A (ja) 2018-02-15
TW201701669A (zh) 2017-01-01
SG191232A1 (en) 2013-07-31
PL2663077T3 (pl) 2017-04-28
KR102165666B1 (ko) 2020-10-14
ES2622732T3 (es) 2017-07-07
CA2823880A1 (en) 2012-07-12
CA3079646C (en) 2022-09-13
FI3826306T3 (fi) 2023-01-31
CN106878741B (zh) 2019-08-06
JP6411615B2 (ja) 2018-10-24
JPWO2012093585A1 (ja) 2014-06-09
MX2020001492A (es) 2020-03-20
PL3826306T3 (pl) 2023-03-20
US20170150169A1 (en) 2017-05-25
US20190110065A1 (en) 2019-04-11
US20130294517A1 (en) 2013-11-07
EP4120685A1 (en) 2023-01-18

Similar Documents

Publication Publication Date Title
BR112013017208B1 (pt) Método de codificação preditiva e dispositivo de codificação preditiva de vetor de movimento, e método de decodificação preditiva e dispositivo de decodificação preditivade vetor de movimento
AU2020294318B2 (en) Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector

Legal Events

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

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

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

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 20/12/2011, OBSERVADAS AS CONDICOES LEGAIS.