BR112013002448B1 - Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem, e aparelho de codificação e decodificação de imagem. - Google Patents

Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem, e aparelho de codificação e decodificação de imagem. Download PDF

Info

Publication number
BR112013002448B1
BR112013002448B1 BR112013002448-8A BR112013002448A BR112013002448B1 BR 112013002448 B1 BR112013002448 B1 BR 112013002448B1 BR 112013002448 A BR112013002448 A BR 112013002448A BR 112013002448 B1 BR112013002448 B1 BR 112013002448B1
Authority
BR
Brazil
Prior art keywords
motion vector
current
adjacent
reference picture
list
Prior art date
Application number
BR112013002448-8A
Other languages
English (en)
Other versions
BR112013002448A2 (pt
Inventor
Toshiyasu Sugio
Takahiro Nishi
Youji Shibahara
Hisao Sasai
Original Assignee
Sun Patent Trust
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 Sun Patent Trust filed Critical Sun Patent Trust
Publication of BR112013002448A2 publication Critical patent/BR112013002448A2/pt
Publication of BR112013002448B1 publication Critical patent/BR112013002448B1/pt

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/46Embedding additional information in the video signal during the compression process
    • 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/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/567Motion estimation based on rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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
    • 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/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Abstract

MÉTODO DE CODIFICAÇÃO DE IMAGEM, MÉTODO DE DECODIFICAÇÃO DE IMAGEM, APARELHO DE CODIFICAÇÃO DE IMAGEM, APARELHO DE DECODIFICAÇÃO DE IMAGEM, E APARELHO DE CODIFICAÇÃO E DECODIFICAÇÃO DE IMAGEM. A presente invenção refere-se a um método de codificação de imagem que inclui: adicionar, a uma lista de candidatos, um primeiro vetor de movimento adjacente como um candidato a um vetor de movimento predito a ser usado para codificar o vetor de movimento corrente (S701); selecionar o vetor de movimento predito da lista de candidatos (S702); e codificar o vetor de movimento corrente (S), em que, na adição (S701), o primeiro vetor de movimento adjacente indicando uma posição em uma primeira imagem de referência incluída em uma primeira lista de imagens de referência é adicionando à lista de candidatos ao vetor de movimento corrente indicando uma posição em uma segunda imagem de referência incluída em uma segunda lista de imagens de referência.

Description

Campo Técnico
A presente invenção diz respeito a um método de codificação de imagem de codificar uma imagem com predição, e a um método de decodifi- cação de imagem de decodificar uma imagem com predição.
T écnica Antecedente
Um aparelho de codificação de imagem de uma maneira geral compacta uma quantidade de informação usando redundância de imagens (incluindo imagens estáticas e imagens em movimento) nas direções espacial e temporal. Aqui, transformação em um domínio da frequência é usada 15 como o método de compressão usando redundância na direção espacial.
Além disso, predição inter é usada como o método de compressão usando redundância na direção temporal. A predição inter também é chamada de predição interimagens.
Ao codificar uma certa imagem, o aparelho de codificação de 20 imagem que emprega a predição inter usa, como uma imagem de referência, uma imagem codificada localizada antes ou após a imagem corrente a ser codificada na ordem de exibição. Subsequentemente, o aparelho de codificação de imagem estima um vetor de movimento da imagem corrente com relação à imagem de referência.
A seguir, o aparelho de codificação de imagem obtém dados de imagem preditos resultando de compensação de movimento com base no vetor de movimento. Então, o aparelho de codificação de imagem obtém uma diferença entre dados de imagem da imagem corrente e os dados de imagem preditos. Então, o aparelho de codificação de imagem codifica a diferença obtida. Desta maneira, o aparelho de codificação de imagem remove a redundância na direção temporal.
O aparelho de codificação de imagem de acordo com o esque- ma de codificação de imagem em movimento chamado de H.264 (ver a Re-ferência Não de Patente 1) que já foi padronizado usa três tipos de imagens, isto é, imagem I, imagem P e imagem B para compactar a quantidade de informação. O aparelho de codificação de imagem não executa predição inter na imagem I. Em outras palavras, o aparelho de codificação de imagem executa predição intra na imagem I. A predição intra também é chamada de predição intraimagem.
Além disso, o aparelho de codificação de imagem executa predição inter na imagem P com referência para uma imagem codificada localizada antes ou após a imagem corrente na ordem de exibição. Além disso, o aparelho de codificação de imagem executa predição inter na imagem B com referência para duas imagens codificadas localizadas antes ou após a imagem corrente na ordem de exibição.
Na predição inter, o aparelho de codificação de imagem gera uma lista de referências (também chamada de lista de imagens de referência) para identificar uma imagem de referência. Na lista de referências, índices de imagens de referência são alocados para imagens de referência codificadas para serem referidos na predição inter. Por exemplo, o aparelho de codificação de imagem retém duas listas de referências (LO, L1) para se referir a duas imagens para a imagem B. A figura 33 ilustra um exemplo de listas de referências. A primeira lista de imagens de referência (LO) da figura 33 é um exemplo de uma lista de imagens de referência correspondendo a uma primeira direção de predição para a predição bidirecional. Na primeira lista de imagens de referência da figura 33, um índice de imagem de referência indicado por 0 é alocado para uma imagem de referência R1 em uma ordem de exibição 2. Além disso, um índice de imagem de referência indicado por 1 é alocado para uma imagem de referência R2 em uma ordem de exibição 1. Além disso, um índice de imagem de referência indicado por 2 é alocado para uma imagem de referência R3 em uma ordem de exibição 0.
Em outras palavras, na primeira lista de imagens de referência da figura 33, um índice de imagem de referência mais baixo é alocado para uma imagem de referência à medida que a imagem de referência está mais próxima da imagem corrente na ordem de exibição.
Por outro lado, a segunda lista de imagens de referência (L1) da figura 33 é um exemplo de uma lista de imagens de referência correspondendo a uma segunda direção de predição para a predição bidirecional. Na segunda lista de imagens de referência da figura 33, um índice de imagem de referência indicado por 0 é alocado para a imagem de referência R2 na ordem de exibição 1. Além disso, um índice de imagem de referência indicado por 1 é alocado para a imagem de referência R1 na ordem de exibição 2. Além disso, um índice de imagem de referência indicado por 2 é alocado para a imagem de referência R3 na ordem de exibição 0.
Como tal, existem casos onde dois índices de imagens de referência diferentes são alocados para uma imagem de referência particular (a imagem de referência R1 ou R2 na figura 33) incluída nas duas listas de i- magens de referência. Além disso, existem casos onde o mesmo índice de imagem de referência é alocado para uma imagem de referência particular (a imagem de referência R3 na figura 33) incluída nas duas listas de imagens de referência.
A predição usando somente a primeira lista de imagens de referência (L0) é chamada de predição L0. A predição usando somente a segunda lista de imagens de referência (L1) é chamada de predição L1. A predição usando ambas de a primeira lista de imagens de referência e a segunda lista de imagens de referência é chamada de predição bidirecional ou bi- predição.
Na predição L0, uma direção para frente é frequentemente usada como uma direção de predição. Na predição L1, uma direção para trás é frequentemente usada como uma direção de predição. Em outras palavras, a primeira lista de imagens de referência corresponde à primeira direção de predição, e a segunda lista de imagens de referência corresponde à segunda direção de predição.
Com base nestas relações, a direção de predição é categorizada em uma de a primeira direção de predição, a segunda direção de predição e a bidireção. Além disso, quando a direção de predição é a bidireção, ela também pode ser representada como a predição bidirecional ou bipredição.
O esquema de codificação de imagem H.264 tem um modo de estimativa de vetor de movimento como um modo de codificação para o bloco a ser codificado na imagem B. No modo de estimativa de vetor de movimento, o aparelho de codificação de imagem estima um vetor de movimento para um bloco a ser codificado com referência para uma imagem de referência. O aparelho de codificação de imagem gera dados de imagem preditos usando a imagem de referência e o vetor de movimento. Então, o aparelho de codificação de imagem codifica (i) uma diferença entre os dados de imagem preditos e dados de imagem do bloco a ser codificado e (ii) o vetor de movimento a ser usado para gerar os dados de imagem preditos.
O modo de estimativa de vetor de movimento pode usar a predição bidirecional para gerar uma imagem predita com referência para duas imagens codificadas localizadas antes ou após a imagem corrente. Além disso, o modo de estimativa de vetor de movimento pode usar a predição unidirecional para gerar uma imagem predita com referência para uma imagem codificada localizada antes ou após a imagem corrente. Então, uma de a predição bidirecional e predição unidirecional é selecionada para um bloco a ser codificado.
Ao codificar um vetor de movimento no modo de estimativa de vetor de movimento, o aparelho de codificação de imagem gera um vetor de movimento predito de um vetor de movimento de um bloco, tal como um bloco codificado adjacente ao bloco corrente. O aparelho de codificação de i- magem codifica uma diferença entre o vetor de movimento e o vetor de movimento predito. Desta maneira, o aparelho de codificação de imagem reduz a quantidade de informação. O exemplo específico será descrito com referência à figura 34. A figura 34 ilustra um bloco corrente a ser codificado, um bloco adjacente A, um bloco adjacente B e um bloco adjacente C. O bloco adjacente A é um bloco codificado adjacente à esquerda do bloco corrente. O bloco adjacente B é um bloco codificado adjacente acima do bloco corrente.
O bloco adjacente C é um bloco codificado adjacente à direita e acima do bloco corrente. Na figura 34, o bloco adjacente A foi codificado com a predição bidirecional, e tem um vetor de movimento MvL0_A na primeira direção de predição, e um vetor de movimento MvL1_A na segunda direção de predição. Aqui, o vetor de movimento na primeira direção de predição é um vetor de movimento indicando uma posição em uma imagem de referência identificada pela primeira lista de imagens de referência. O vetor de movimento na segunda direção de predição é um vetor de movimento indicando uma posição em uma imagem de referência identificada pela segunda lista de imagens de referência.
Além disso, o bloco adjacente B foi codificado com predição uni- direcional, e tem um vetor de movimento MvL0_B na primeira direção de predição. Além disso, o bloco adjacente C foi codificado com a predição bidirecional, e tem um vetor de movimento MvL0_C na primeira direção de predição, e um vetor de movimento MvL1_C na segunda direção de predição. Além disso, o bloco corrente é um bloco a ser codificado com a predição bidirecional, e tem um vetor de movimento MvLO na primeira direção de predição, e um vetor de movimento MvL1 na segunda direção de predição.
O aparelho de codificação de imagem gera um vetor de movimento predito PMvLO correspondendo à primeira direção de predição, usando um bloco adjacente tendo um vetor de movimento na primeira direção de predição, ao codificar o vetor de movimento MvLO na primeira direção de predição do bloco corrente. Mais especificamente, o aparelho de codificação de imagem gera o vetor de movimento predito PMvLO usando o vetor de movimento MvL0_A do bloco adjacente A, o vetor de movimento MvL0_B do bloco adjacente B e o vetor de movimento MvL0_C do bloco adjacente C.
Em outras palavras, o aparelho de codificação de imagem usa um vetor de movimento na primeira direção de predição de um bloco adjacente ao bloco corrente, ao codificar o vetor de movimento MvLO na primeira direção de predição do bloco corrente. Então, o aparelho de codificação de imagem codifica uma diferença entre o vetor de movimento MvLO e o vetor de movimento predito PMvLO.
O vetor de movimento predito PMvLO é calculado usando o Mediano (MvL0_A, MvL0_B e MvL0_C) que é uma equação para calcular um valor mediano (valor central) dos vetores de movimento MvL0_A, MvL0_B e MvL0_C. Mediano é representado pelas equações 1 a 3 seguintes.
Figure img0001
O aparelho de codificação de imagem gera um vetor de movimento predito PMvL1 correspondendo à segunda direção de predição, u- sando um bloco adjacente tendo um vetor de movimento na segunda direção de predição, ao codificar o vetor de movimento MvL1 na segunda direção de predição para o bloco corrente. Mais especificamente, o aparelho de codificação de imagem gera o vetor de movimento predito PMvL1 usando o vetor de movimento MvL1_A do bloco adjacente A e o vetor de movimento M- vL1_C do bloco adjacente C.
Em outras palavras, o aparelho de codificação de imagem usa um vetor de movimento na segunda direção de predição de um bloco adjacente ao bloco corrente, ao codificar o vetor de movimento MvL1 na segunda direção de predição do bloco corrente. Então, o aparelho de codificação de imagem codifica um vetor de movimento diferencial que é uma diferença entre o vetor de movimento MvL1 e o vetor de movimento predito PMvL1. O vetor de movimento predito PMvL1 é calculado usando o Mediano (MvL1_A, 0 e MvL1_C) e outros. Lista de Referências Literatura Não de Patente NPL 1: ITU-T H.264 03/2010
Sumário da Invenção Problema Técnico
Quando o número de vetores de movimento na mesma direção de predição é menor, o número de vetores de movimento a ser usados para calcular um vetor de movimento predito é menor. Em um caso como este, a eficiência de codificação dos vetores de movimento não será melhorada.
No método convencional de calcular um vetor de movimento predito, o aparelho de codificação de imagem usa somente os vetores de movimento na primeira direção de predição de blocos adjacentes, ao calcular o vetor de movimento predito PMvLO na primeira direção de predição do bloco corrente tal como descrito anteriormente. Aqui, o aparelho de codificação de imagem não usa os vetores de movimento na segunda direção de predição dos blocos adjacentes.
Além disso, o aparelho de codificação de imagem usa somente os vetores de movimento na segunda direção de predição de blocos adjacentes, ao calcular o vetor de movimento predito PMvL1 na segunda direção de predição do bloco corrente. Aqui, o aparelho de codificação de imagem não usa os vetores de movimento na primeira direção de predição dos blocos adjacentes.
Em outras palavras, os vetores de movimento de blocos adjacentes a ser usados para calcular um vetor de movimento predito são limitados no método convencional. Assim, o vetor de movimento ideal não é derivado, e a eficiência de codificação não será melhorada.
Assim, a presente invenção tem um objetivo de fornecer um método de codificação de imagem e um método de decodificação de imagem para derivar um vetor de movimento predito adequado para melhorar a eficiência de codificação de um vetor de movimento.
Solução Para o Problema
A fim de resolver os problemas, um método de codificação de imagem de acordo com um aspecto da presente invenção é um método de codificar uma imagem corrente por bloco com predição usando uma ou ambas de uma primeira lista de imagens de referência e uma segunda lista de imagens de referência, e inclui: adicionar, a uma lista de candidatos, um primeiro vetor de movimento adjacente como um candidato a um vetor de movimento predito a ser usado para codificar um vetor de movimento corrente, o primeiro vetor de movimento adjacente sendo um vetor de movimento de um bloco adjacente a um bloco corrente incluído na imagem corrente, e o vetor de movimento corrente sendo um vetor de movimento do bloco corrente; selecionar o vetor de movimento predito a ser usado para codificar o vetor de movimento corrente, da lista de candidatos incluindo o primeiro vetor de movimento adjacente; e codificar o vetor de movimento corrente usando o vetor de movimento predito selecionado, em que, na adição, o primeiro vetor de movimento adjacente é adicionado à lista de candidatos ao vetor de movimento corrente, o primeiro vetor de movimento adjacente indicando uma posição em uma primeira imagem de referência incluída na primeira lista de imagens de referência, e o vetor de movimento corrente indicando uma posição em uma segunda imagem de referência incluída na segunda lista de imagens de referência.
Desta maneira, o vetor de movimento adjacente correspondendo à primeira lista de imagens de referência é adicionado à lista de candidatos correspondendo à segunda lista de imagens de referência. Desta maneira, o número das opções de vetores de movimento preditos aumenta. Assim, é possível derivar um vetor de movimento predito adequado para melhorar a eficiência de codificação do vetor de movimento corrente.
Além disso, na adição, um segundo vetor de movimento adjacente pode ser incluído adicionalmente, o segundo vetor de movimento adjacente sendo um vetor de movimento do bloco adjacente e indicando uma posição em uma terceira imagem de referência incluída na segunda lista de imagens de referência.
Desta maneira, o vetor de movimento adjacente correspondendo à segunda lista de imagens de referência é adicionado à lista de candidatos correspondendo à segunda lista de imagens de referência. Desta maneira, o número das opções de vetores de movimento preditos aumenta. Assim, é possível derivar um vetor de movimento predito adequado para melhorar a eficiência de codificação do vetor de movimento corrente.
Além disso, na adição: pode ser determinado se a segunda imagem de referência é ou não idêntica à terceira imagem de referência; o segundo vetor de movimento adjacente pode ser adicionado à lista de candidatos quando é determinado que a segunda imagem de referência é idêntica à terceira imagem de referência; pode ser determinado se a segunda imagem de referência é ou não idêntica à primeira imagem de referência; e o primeiro vetor de movimento adjacente pode ser adicionado à lista de candidatos quando é determinado que a segunda imagem de referência é idêntica à primeira imagem de referência.
Desta maneira, somente quando a imagem de referência corres-pondendo ao vetor de movimento corrente é idêntica à imagem de referência correspondendo ao vetor de movimento adjacente, o vetor de movimento adjacente é adicionado à lista de candidatos. Assim, somente quando o vetor de movimento adjacente é apropriado como um candidato a um vetor de movimento predito, o vetor de movimento adjacente é adicionado à lista de candidatos. Assim, um vetor de movimento predito apropriado é derivado.
Além disso, na adição: pode ser determinado se a segunda imagem de referência é ou não idêntica à primeira imagem de referência quando é determinado que a segunda imagem de referência não é idêntica à terceira imagem de referência; e o primeiro vetor de movimento adjacente pode ser adicionado à lista de candidatos quando é determinado que a segunda imagem de referência não é idêntica à terceira imagem de referência e que a segunda imagem de referência é idêntica à primeira imagem de referência.
Desta maneira, quando o vetor de movimento corrente corresponde à segunda lista de imagens de referência, o vetor de movimento adjacente correspondendo à segunda lista de imagens de referência é adicionado preferencialmente à lista de candidatos. Assim, um vetor de movimento adjacente mais apropriado é adicionado à lista de candidatos como um can-didato a um vetor de movimento predito.
Além disso, na adição: pode ser determinado se a segunda imagem de referência é ou não idêntica à terceira imagem de referência ao de- terminar se uma ordem de exibição da segunda imagem de referência identificada pela segunda lista de imagens de referência e por um segundo índice de referência é ou não idêntica a uma ordem de exibição da terceira imagem de referência identificada pela segunda lista de imagens de referência e por um terceiro índice de referência; e pode ser determinado se a segunda imagem de referência é ou não idêntica à primeira imagem de referência ao determinar se a ordem de exibição da segunda imagem de referência identificada pela segunda lista de imagens de referência e pelo segundo índice de referência é ou não idêntica a uma ordem de exibição da primeira imagem de referência identificada pela primeira lista de imagens de referência e por um primeiro índice de referência.
Desta maneira, se a imagem de referência identificada pela primeira lista de imagens de referência é ou não idêntica à imagem de referência identificada pela segunda lista de imagens de referência é determinado de forma apropriada com base nas ordens de exibição.
Além disso, na adição, um vetor de movimento tendo uma magnitude de 0 pode ser adicionado como o candidato ao vetor de movimento predito, quando é determinado que a segunda imagem de referência não é idêntica à terceira imagem de referência e que a segunda imagem de referência não é idêntica à primeira imagem de referência.
Desta maneira, diminuição no número de candidatos é suprimida. Assim, um estado onde não existe candidato na lista de candidatos é evitado.
Além disso, na adição uma pluralidade de valores de índices e uma pluralidade de candidatos ao vetor de movimento predito podem ser adicionadas à lista de candidatos de maneira que os valores de índices fiquem em correspondência de um para um com os candidatos ao vetor de movimento predito, na seleção um valor de índice pode ser selecionado da lista de candidatos como o vetor de movimento predito, e na codificação o valor de índice selecionado pode ser codificado de maneira que um código do valor de índice fique maior à medida que o valor de índice é maior.
Desta maneira, o vetor de movimento predito selecionado é codi ficado de forma apropriada. Assim, o codificador e o decodificador selecionam o mesmo vetor de movimento predito.
Além disso, na adição, o primeiro vetor de movimento adjacente do bloco adjacente pode ser adicionado à lista de candidatos, o bloco adjacente sendo um de um bloco adjacente à esquerda, um bloco adjacente a- cima e um bloco adjacente acima e à direita com relação ao bloco corrente.
Desta maneira, uma pluralidade de vetores de movimento adjacentes é adicionada à lista de candidatos como candidatos ao vetor de movimento predito. Desta maneira, o número das opções de vetores de movimento preditos aumenta.
Além disso, um método de decodificação de imagem de acordo com um aspecto da presente invenção pode ser um método de decodificar uma imagem corrente por bloco com predição usando uma ou ambas de uma primeira lista de imagens de referência e uma segunda lista de imagens de referência, e inclui: adicionar, a uma lista de candidatos, um primeiro vetor de movimento adjacente como um candidato a um vetor de movimento predito a ser usado para decodificar um vetor de movimento corrente, o primeiro vetor de movimento adjacente sendo um vetor de movimento de um bloco adjacente a um bloco corrente incluído na imagem corrente, e o vetor de movimento corrente sendo um vetor de movimento do bloco corrente; selecionar o vetor de movimento predito a ser usado para decodificar o vetor de movimento corrente, da lista de candidatos incluindo o primeiro vetor de movimento adjacente; e decodificar o vetor de movimento corrente usando o vetor de movimento predito selecionado, em que, na adição, o primeiro vetor de movimento adjacente pode ser adicionado à lista de candidatos ao vetor de movimento corrente, o primeiro vetor de movimento adjacente indicando uma posição em uma primeira imagem de referência incluída na primeira lista de imagens de referência, e o vetor de movimento corrente indicando uma posição em uma segunda imagem de referência incluída na segunda lista de imagens de referência.
Desta maneira, o vetor de movimento adjacente correspondendo à primeira lista de imagens de referência é adicionado à lista de candidatos correspondendo à segunda lista de imagens de referência. Desta maneira, o número das opções de vetores de movimento preditos aumenta. Assim, é possível derivar um vetor de movimento predito adequado para melhorar a eficiência de codificação do vetor de movimento corrente.
Além disso, na adição, um segundo vetor de movimento adjacente pode ser incluído adicionalmente, o segundo vetor de movimento adjacente sendo um vetor de movimento do bloco adjacente e indicando uma posição em uma terceira imagem de referência incluída na segunda lista de imagens de referência.
Desta maneira, o vetor de movimento adjacente correspondendo à segunda lista de imagens de referência é adicionado à lista de candidatos correspondendo à segunda lista de imagens de referência. Desta maneira, o número das opções de vetores de movimento preditos aumenta. Assim, é possível derivar um vetor de movimento predito adequado para melhorar a eficiência de codificação do vetor de movimento corrente.
Além disso, na adição: pode ser determinado se a segunda imagem de referência é ou não idêntica à terceira imagem de referência; o segundo vetor de movimento adjacente pode ser adicionado à lista de candidatos quando é determinado que a segunda imagem de referência é idêntica à terceira imagem de referência; pode ser determinado se a segunda imagem de referência é ou não idêntica à primeira imagem de referência; e o primeiro vetor de movimento adjacente pode ser adicionado à lista de candidatos quando é determinado que a segunda imagem de referência é idêntica à primeira imagem de referência.
Desta maneira, somente quando a imagem de referência corres-pondendo ao vetor de movimento corrente é idêntica à imagem de referência correspondendo ao vetor de movimento adjacente, o vetor de movimento adjacente é adicionado à lista de candidatos. Assim, somente quando o vetor de movimento adjacente é apropriado como um candidato a um vetor de movimento predito, o vetor de movimento adjacente é adicionado à lista de candidatos. Assim, um vetor de movimento predito apropriado é derivado.
Além disso, na adição: pode ser determinado se a segunda ima- gem de referência é ou não idêntica à primeira imagem de referência quando é determinado que a segunda imagem de referência não é idêntica à terceira imagem de referência; e o primeiro vetor de movimento adjacente pode ser adicionado à lista de candidatos quando é determinado que a segunda ima-gem de referência não é idêntica à terceira imagem de referência e que a segunda imagem de referência é idêntica à primeira imagem de referência.
Desta maneira, quando o vetor de movimento corrente corresponde à segunda lista de imagens de referência, o vetor de movimento adjacente correspondendo à segunda lista de imagens de referência é adicionado preferencialmente à lista de candidatos. Assim, um vetor de movimento adjacente mais apropriado é adicionado à lista de candidatos como um can-didato a um vetor de movimento predito.
Além disso, na adição: pode ser determinado se a segunda imagem de referência é ou não idêntica à terceira imagem de referência ao determinar se uma ordem de exibição da segunda imagem de referência identificada pela segunda lista de imagens de referência e por um segundo índice de referência é ou não idêntica a uma ordem de exibição da terceira imagem de referência identificada pela segunda lista de imagens de referência e por um terceiro índice de referência; e pode ser determinado se a segunda imagem de referência é ou não idêntica à primeira imagem de referência ao determinar se a ordem de exibição da segunda imagem de referência identificada pela segunda lista de imagens de referência e pelo segundo índice de referência é ou não idêntica a uma ordem de exibição da primeira imagem de referência identificada pela primeira lista de imagens de referência e por um primeiro índice de referência.
Desta maneira, se a imagem de referência identificada pela primeira lista de imagens de referência é ou não idêntica à imagem de referência identificada pela segunda lista de imagens de referência é determinado de forma apropriada com base nas ordens de exibição.
Além disso, na adição, um vetor de movimento tendo uma mag-nitude de 0 pode ser adicionado como o candidato ao vetor de movimento predito, quando é determinado que a segunda imagem de referência não é idêntica à terceira imagem de referência e que a segunda imagem de referência não é idêntica à primeira imagem de referência.
Desta maneira, diminuição no número de candidatos é suprimida. Assim, um estado onde não existe candidato na lista de candidatos é evitado.
Além disso, na adição, uma pluralidade de valores de índices e uma pluralidade de candidatos ao vetor de movimento predito podem ser adicionadas à lista de candidatos de maneira que os valores de índices fiquem em correspondência de um para um com os candidatos ao vetor de movimento predito, na decodificação, um valor de índice pode ser decodificado, o valor de índice sendo codificado de maneira que um código do valor de índice fique maior à medida que o valor de índice é maior e, na seleção, o vetor de movimento predito correspondendo ao valor de índice decodificado pode ser selecionado da lista de candidatos.
Desta maneira, o vetor de movimento predito selecionado é de-codificado de forma apropriada. Assim, o codificador e o decodificador sele-cionam o mesmo vetor de movimento predito.
Além disso, na adição, o primeiro vetor de movimento adjacente do bloco adjacente pode ser adicionado à lista de candidatos, o bloco adjacente sendo um de um bloco adjacente à esquerda, um bloco adjacente a- cima e um bioco adjacente acima e à direita com relação ao bloco corrente.
Desta maneira, uma pluralidade de vetores de movimento adjacentes é adicionada à lista de candidatos como candidatos ao vetor de movimento predito. Desta maneira, o número das opções de vetores de movimento preditos aumenta.
Além disso, um aparelho de codificação de imagem de acordo com um aspecto da presente invenção pode ser um aparelho de codificação de imagem que codifica uma imagem corrente por bloco com predição usando uma ou ambas de uma primeira lista de imagens de referência e uma segunda lista de imagens de referência, e inclui: uma unidade de adição configurada para adicionar, a uma lista de candidatos, um primeiro vetor de movimento adjacente como um candidato a um vetor de movimento predito a ser usado para codificar um vetor de movimento corrente, o primeiro vetor de movimento adjacente sendo um vetor de movimento de um bloco adjacente a um bloco corrente incluído na imagem corrente, e o vetor de movimento corrente sendo um vetor de movimento do bloco corrente; uma unidade de seleção configurada para selecionar o vetor de movimento predito a ser usado para codificar o vetor de movimento corrente, da lista de candidatos incluindo o primeiro vetor de movimento adjacente; e uma unidade de codificação configurada para codificar o vetor de movimento corrente usando o vetor de movimento predito selecionado, em que a unidade de adição pode ser confi-gurada para adicionar o primeiro vetor de movimento adjacente à lista de candidatos ao vetor de movimento corrente, o primeiro vetor de movimento adjacente indicando uma posição em uma primeira imagem de referência incluída na primeira lista de imagens de referência, e o vetor de movimento corrente indicando uma posição em uma segunda imagem de referência incluída na segunda lista de imagens de referência. Desta maneira, o método de codificação de imagem é implementado como o aparelho de codificação de imagem.
Além disso, um aparelho de decodificação de imagem de acordo com um aspecto da presente invenção pode ser um aparelho de decodificação de imagem que decodifica uma imagem corrente por bloco com predição usando uma ou ambas de uma primeira lista de imagens de referência e uma segunda lista de imagens de referência, e inclui: uma unidade de adição configurada para adicionar, a uma lista de candidatos, um primeiro vetor de movimento adjacente como um candidato a um vetor de movimento predito a ser usado para decodificar um vetor de movimento corrente, o primeiro vetor de movimento adjacente sendo um vetor de movimento de um bloco adjacente a um bloco corrente incluído na imagem corrente, e o vetor de movimento corrente sendo um vetor de movimento do bloco corrente; uma unidade de seleção configurada para selecionar o vetor de movimento predito a ser usado para decodificar o vetor de movimento corrente, da lista de candidatos incluindo o primeiro vetor de movimento adjacente; e uma unidade de decodificação configurada para decodificar o vetor de movimento cor- rente usando o vetor de movimento predito selecionado, em que a unidade de adição pode ser configurada para adicionar o primeiro vetor de movimento adjacente à lista de candidatos ao vetor de movimento corrente, o primeiro vetor de movimento adjacente indicando uma posição em uma primeira imagem de referência incluída na primeira lista de imagens de referência, e o vetor de movimento corrente indicando uma posição em uma segunda imagem de referência incluída na segunda lista de imagens de referência.
Desta maneira, o método de decodificação de imagem é implementado como o aparelho de decodificação de imagem. Além disso, um aparelho de codificação e decodificação de imagem de acordo com um aspecto da presente invenção pode ser um aparelho de codificação e decodificação de imagem que codifica uma imagem corrente por bloco e decodifica uma imagem corrente por bloco, com predição u- sando uma ou ambas de uma primeira lista de imagens de referência e uma segunda lista de imagens de referência, e inclui: uma unidade de adição configurada para adicionar, a uma lista de candidatos, um primeiro vetor de movimento adjacente como um candidato a um vetor de movimento predito a ser usado para codificar ou decodificar um vetor de movimento corrente, o primeiro vetor de movimento adjacente sendo um vetor de movimento de um bloco adjacente a um bloco corrente a ser processado e incluído na imagem corrente a ser codificada ou decodificada, e o vetor de movimento corrente sendo um vetor de movimento do bloco corrente; uma unidade de seleção configurada para selecionar o vetor de movimento predito a ser usado para codificar ou decodificar o vetor de movimento corrente, da lista de candidatos incluindo o primeiro vetor de movimento adjacente; uma unidade de codificação configurada para codificar o vetor de movimento corrente usando o vetor de movimento predito selecionado; e uma unidade de decodificação configurada para decodificar o vetor de movimento corrente usando o vetor de movimento predito selecionado, em que a unidade de adição pode ser configurada para adicionar o primeiro vetor de movimento adjacente à lista de candidatos ao vetor de movimento corrente, o primeiro vetor de movimento adjacente indicando uma posição em uma primeira imagem de referência incluída na primeira lista de imagens de referência, e o vetor de movimento corrente indicando uma posição em uma segunda imagem de referência incluída na segunda lista de imagens de referência.
Desta maneira, o aparelho de codificação e decodificação de imagem implementa tanto as funções do aparelho de codificação de imagem quanto as funções do aparelho de decodificação de imagem.
Efeitos Vantajosos da Invenção
De acordo com a presente invenção, um vetor de movimento predito adequado para melhorar a eficiência de codificação de um vetor de movimento é derivado. Desta maneira, é possível melhorar a eficiência de codificação do vetor de movimento. Descrição Resumida dos Desenhos A figura 1 ilustra uma configuração de um aparelho de codificação de imagem de acordo com a Modalidade 1; A figura 2 ilustra um fluxograma de operações executadas pelo aparelho de codificação de imagem de acordo com a Modalidade 1; A figura 3 ilustra um fluxograma de processos para determinar uma direção de predição de acordo com a Modalidade 1; A figura 4 ilustra um fluxograma de processos para calcular uma lista de candidatos de acordo com a Modalidade 1; A figura 5 ilustra um fluxograma de processos para determinar uma sinalização de adição de acordo com a Modalidade 1; A figura 6A ilustra um exemplo de uma lista de candidatos para a primeira direção de predição de acordo com a Modalidade 1; A figura 6B ilustra um exemplo de uma lista de candidatos para a segunda direção de predição de acordo com a Modalidade 1; A figura 7 ilustra um exemplo de códigos de índices de vetores de movimento preditos de acordo com a Modalidade 1; A figura 8 ilustra processos para selecionar um vetor de movimento predito de acordo com a Modalidade 1; A figura 9 ilustra uma configuração de um aparelho de decodificação de imagem de acordo com a Modalidade 2; A figura 10 ilustra um fluxograma de operações executadas pelo aparelho de decodificação de imagem de acordo com a Modalidade 2; A figura 11A ilustra uma configuração de um aparelho de codificação de imagem de acordo com a Modalidade 3; A figura 11B ilustra um fluxograma de operações executadas pelo aparelho de codificação de imagem de acordo com a Modalidade 3; A figura 12A ilustra uma configuração de um aparelho de decodi-ficação de imagem de acordo com a Modalidade 4; A figura 12B ilustra um fluxograma de operações executadas pelo aparelho de decodificação de imagem de acordo com a Modalidade 4; A figura 13 ilustra uma configuração de um aparelho de codificação e decodificação de imagem de acordo com a Modalidade 5; A figura 14 ilustra uma configuração total de um sistema de for-necimento de conteúdo para implementar serviços de distribuição de conteúdo; A figura 15 ilustra uma configuração total de um sistema de difusão digital; A figura 16 mostra um diagrama de blocos ilustrando um exemplo de uma configuração de uma televisão; A figura 17 mostra um diagrama de blocos ilustrando um exemplo de uma configuração de uma unidade de reprodução/gravação de informação que lê e grava informação em uma mídia de gravação que é um disco ótico; A figura 18 ilustra um exemplo de uma configuração de uma mídia de gravação que é um disco ótico; A figura 19A ilustra um exemplo de um telefone celular; A figura 19B ilustra um exemplo de uma configuração do telefone celular; A figura 20 ilustra uma estrutura de dados multiplexados; A figura 21 ilustra esquematicamente como cada um dos fluxos é multiplexado em dados multiplexados; A figura 22 ilustra como um fluxo de vídeo é armazenado em um fluxo de pacotes PES com mais detalhes; A figura 23 ilustra uma estrutura de pacotes TS e pacotes fontes nos dados multiplexados; A figura 24 ilustra uma estrutura de dados de uma PMT; A figura 25 ilustra uma estrutura interna de informação de dados multiplexados; A figura 26 ilustra uma estrutura interna de informação de atributo de fluxo; A figura 27 ilustra etapas para identificar dados de vídeo; A figura 28 mostra um diagrama de blocos ilustrando um exemplo de uma configuração de um circuito integrado para implementar o método de codificação de imagem em movimento e o método de decodificação de imagem em movimento de acordo com cada uma das modalidades; A figura 29 ilustra uma configuração para comutar entre frequências de acionamento; A figura 30 ilustra etapas para identificar dados de vídeo e comutação entre frequências de acionamento; A figura 31 ilustra um exemplo de uma tabela de consulta na qual os padrões de dados de vídeo estão associados com as frequências de acionamento; A figura 32A ilustra um exemplo de uma configuração para com-partilhar um módulo de uma unidade de processamento de sinal; A figura 32B ilustra um outro exemplo de uma configuração para compartilhar um módulo de uma unidade de processamento de sinal; A figura 33 ilustra um exemplo de duas listas de imagens de re-ferência; e A figura 34 ilustra um exemplo do bloco corrente a ser codificado e os três blocos adjacentes.
Descrição de Modalidades
Modalidades da presente invenção serão descritas com referência para desenhos. Modalidades descritas em seguida indicam exemplos favoráveis e específicos da presente invenção. Os valores, formas, materi- ais, elementos componentes, posições e conexões dos elementos componentes, etapas e ordens das etapas indicados nas modalidades são exemplos, e não limitam a presente invenção. A presente invenção é limitada somente de acordo com as reivindicações. Embora os elementos componentes que não são descritos em reivindicações independentes que descrevam o conceito mais genérico da presente invenção não sejam necessários para resolver os problemas da presente invenção, eles são descritos como componentes das modalidades favoráveis.
Além disso, a primeira lista de imagens de referência corresponde à predição L0, e a segunda lista de imagens de referência corresponde à predição L1. Além disso, a primeira lista de imagens de referência corresponde à primeira direção de predição, e a segunda lista de imagens de referência corresponde à segunda direção de predição. De modo oposto, a primeira lista de imagens de referência pode corresponder à predição L1, e a segunda lista de imagens de referência pode corresponder à predição L0. De forma similar, a primeira lista de imagens de referência pode corresponder à segunda direção de predição, e a segunda lista de imagens de referência pode corresponder à primeira direção de predição. Modalidade 1 A figura 1 é um diagrama de blocos ilustrando uma configuração de um aparelho de codificação de imagem de acordo com a Modalidade 1.
Um aparelho de codificação de imagem 100 na figura 1 inclui uma unidade de transformação ortogonal 102, uma unidade de quantificação 103, uma unidade de quantificação inversa 105, uma unidade de transformação ortogonal inversa 106, uma memória de blocos 108, uma memória de quadros 109, uma unidade de predição intra 110, uma unidade de predição inter 111, uma unidade de controle de predição inter 114, uma unidade de determinação de tipo de imagem 113, uma unidade de gerenciamento de listas de imagens de referência 115, uma unidade de determinação de adição 116, uma unidade de codificação de comprimento variável 104, uma u- nidade de subtração 101, uma unidade de adição 107 e uma unidade de comutação 112.
A unidade de transformação ortogonal 102 executa transformação em dados de erro preditos entre dados de imagem preditos gerados por uma unidade a ser descrita mais tarde e em uma sequência de imagens de entrada de um domínio da imagem para um domínio da frequência. A unidade de quantificação 103 quantifica os dados de erro preditos transformados para o domínio da frequência. A unidade de quantificação inversa 105 quantifica inversamente os dados de erro preditos quantificados pela unidade de quantificação 103. A unidade de transformação ortogonal inversa 106 executa transformação nos dados de erro preditos quantificados inversamente pela unidade de quantificação inversa 105 do domínio da frequência para o domínio da imagem.
A memória de blocos 108 é uma memória para armazenar uma imagem decodificada gerada dos dados de imagem preditos e dos dados de erro preditos quantificados inversamente pela unidade de quantificação inversa 105 por bloco. A memória de quadros 109 é uma memória para armazenar a imagem decodificada por quadro.
A unidade de determinação de tipo de imagem 113 determina em que tipo de imagem uma sequência de imagens de entrada é codificada, se imagem I, imagem B ou imagem P, e gera informação de tipo de imagem. A unidade de predição intra 110 gera os dados de imagem preditos por meio de predição intra do bloco corrente, usando a imagem decodificada armazenada por bloco na memória de blocos 108. A unidade de predição inter 111 gera os dados de imagem preditos por meio de predição inter do bloco corrente, usando a imagem decodificada armazenada por quadro na memória de quadros 109.
A unidade de gerenciamento de listas de imagens de referência 115 gera uma lista de referências com as ordens de exibição de índices de imagens de referência para alocar os índices de imagens de referência para imagens de referência codificadas a ser referidas na predição inter.
Embora a unidade de gerenciamento de listas de imagens de re-ferência 115 gerencie as imagens de referência pelos índices de imagens de referência e pelas ordens de exibição na Modalidade 1, ela pode gerenciar as imagens de referência pelos índices de imagens de referência e pelas ordens de codificação.
A unidade de determinação de adição 116 determina se um candidato a um vetor de movimento predito (vetor de movimento predito candidato) é ou não adicionado com referência às primeira e segunda listas de imagens de referência geradas pela unidade de gerenciamento de listas de imagens de referência 115. Mais especificamente, a unidade de determinação de adição 116 determina se um vetor de movimento predito candidato na primeira direção de predição é ou não adicionado a uma lista de candidatos para a segunda direção de predição do bloco codificado, em um método a ser descrito mais tarde. Então, a unidade de determinação de adição 116 estabelece uma sinalização de adição.
A unidade de controle de predição inter 114 determina um vetor de movimento predito a ser usado para codificação a fim de codificar um vetor de movimento usando um dos vetores de movimento preditos candidatos tendo o menor erro com o vetor de movimento derivado da estimativa de movimento. Aqui, o erro é um valor de diferença entre o vetor de movimento predito candidato e o vetor de movimento derivado da estimativa de movimento.
Além disso, a unidade de controle de predição inter 114 gera um índice de vetor de movimento predito correspondendo ao vetor de movimento predito determinado, por bloco. A unidade de controle de predição inter 114 transmite o índice de vetor de movimento predito, a informação de erro dos vetores de movimento preditos candidatos e os índices de imagens de referência para a unidade de codificação de comprimento variável 104.
A unidade de codificação de comprimento variável 104 codifica com comprimento variável os dados de erro de predição quantificados, uma sinalização de direção de predição inter, os índices de imagens de referência e a informação de tipo de imagem para gerar um fluxo de bits. A figura 2 é o procedimento de esquematização de processos do método de codificação de imagem de acordo com a Modalidade 1. A unidade de controle de predição inter 114 determina uma direção de predição quando o bloco corrente é codificado no modo de estimativa de vetor de mo-vimento (S101). A seguir, a unidade de controle de predição inter 114 determina se a direção de predição no modo de estimativa de vetor de movimento é ou não a predição bidirecional (S102).
Quando a direção de predição é a predição bidirecional (Sim em S102), a unidade de controle de predição inter 114 calcula uma lista de vetores de movimento preditos candidatos para cada uma das primeira e segunda direções de predição em um método a ser descrito mais tarde (S103, S104).
A seguir, a unidade de determinação de adição 116 determina se o vetor de movimento predito candidato na primeira direção de predição deve ser ou não adicionado à lista de vetores de movimento preditos candidatos para a segunda direção de predição (S105). Quando a unidade de determinação de adição 116 determina que o vetor de movimento predito candidato na primeira direção de predição deve ser adicionado (Sim em S105), a unidade de controle de predição inter 114 adiciona o vetor de movimento predito candidato na primeira direção de predição à lista de vetores de movimento preditos candidatos para a segunda direção de predição (S106).
A seguir, a unidade de controle de predição inter 114 seleciona o vetor de movimento predito na primeira direção de predição da lista de vetores de movimento preditos candidatos para a primeira direção de predição, e o vetor de movimento predito na segunda direção de predição da lista de vetores de movimento preditos candidatos para a segunda direção de predição. Então, a unidade de codificação de comprimento variável 104 codifica os índices de vetores de movimento preditos correspondendo aos vetores de movimento preditos selecionados, e adiciona os índices a um fluxo de bits (S107).
Quando a direção de predição no modo de estimativa de vetor de movimento é a predição unidirecional (Não em S102), a unidade de controle de predição inter 114 determina se a direção de predição no modo de estimativa de vetor de movimento é ou não a segunda direção de predição (S108).
Quando a direção de predição é a segunda direção de predição (Sim em S108), a unidade de controle de predição inter 114 calcula um vetor de movimento predito candidato na segunda direção de predição (S109). A seguir, a unidade de determinação de adição 116 determina se o vetor de movimento predito candidato na primeira direção de predição deve ser ou não adicionado à lista de vetores de movimento preditos candidatos para a segunda direção de predição (S110). Quando a unidade de determinação de adição 116 determina que o vetor de movimento predito candidato na primeira direção de predição deve ser adicionado (Sim em S110), a unidade de controle de predição inter 114 adiciona o vetor de movimento predito candidato na primeira direção de predição à lista de vetores de movimento preditos candidatos para a segunda direção de predição (S111).
A seguir, a unidade de controle de predição inter 114 seleciona o vetor de movimento predito na segunda direção de predição da lista de vetores de movimento preditos candidatos para a segunda direção de predição. Então, a unidade de codificação de comprimento variável 104 codifica um índice de vetor de movimento predito correspondendo ao vetor de movimento predito selecionado, e adiciona o índice codificado a um fluxo de bits (S112).
Quando a direção de predição não é a segunda direção de predição (Não em S108), a unidade de controle de predição inter 114 calcula um vetor de movimento predito candidato na primeira direção de predição (S113). A seguir, a unidade de controle de predição inter 114 seleciona o vetor de movimento predito na primeira direção de predição da lista de vetores de movimento preditos candidatos para a primeira direção de predição. Então, a unidade de codificação de comprimento variável 104 codifica um índice de vetor de movimento predito correspondendo ao vetor de movimento predito selecionado, e adiciona o índice codificado a um fluxo de bits (S114).
Finalmente, a unidade de codificação de comprimento variável 104 codifica um índice de imagem de referência e uma sinalização de direção de predição inter indicando uma direção de predição do modo de esti- mativa de vetor de movimento, e adiciona a sinalização de direção de predição inter e o índice de imagem de referência a um fluxo de bits (S115).
A seguir, um método de determinar uma direção de predição no modo de estimativa de vetor de movimento (S101) na figura 2 será descrito detalhadamente com referência para um procedimento de processos na figura 3. A unidade de controle de predição inter 114 executa estimativa de movimento na imagem de referência identificada pelo índice de imagem de referência na primeira direção de predição e a imagem de referência identificada pelo índice de imagem de referência na segunda direção de predição. Então, a unidade de controle de predição inter 114 gera os primeiro e segundo vetores de movimento correspondendo às duas imagens de referência (S201).
Aqui, a unidade de controle de predição inter 114 calcula valores de diferenças entre o bloco corrente a ser codificado em uma imagem a ser codificada e os blocos em cada uma das imagens de referência na estimativa de movimento. Então, a unidade de controle de predição inter 114 determina o bloco tendo o menor valor de diferença como um bloco de referência, entre os blocos na imagem de referência. Então, a unidade de controle de predição inter 114 calcula um vetor de movimento com referência para uma posição do bloco corrente e uma posição do bloco de referência.
A seguir, a unidade de predição inter 111 gera uma imagem predita na primeira direção de predição, usando o primeiro vetor de movimento calculado. A unidade de controle de predição inter 114 calcula Costl que é um custo quando o bloco corrente é codificado usando a imagem predita, por exemplo, por meio de um modelo de otimização R-D representado pela equação 4 seguinte (S202). Custo = D + À x R (Equação 4)
Na Equação 4, D denota artefatos de codificação. Mais especifi-camente, D é, por exemplo, uma soma das diferenças absolutas entre (i) valores de pixels obtidos ao codificar e decodificar o bloco corrente usando a imagem predita gerada de um certo vetor de movimento e (ii) valores de pixels originais do bloco corrente. Além disso, R denota uma quantidade de códigos gerados. Mais especificamente, R é, por exemplo, uma quantidade de códigos necessária para codificar um vetor de movimento usado para gerar uma imagem predita. Além disso, A denota um método de Lagrange de multiplicador indeterminado.
A seguir, a unidade de predição inter 111 gera uma imagem predita na segunda direção de predição, usando o segundo vetor de movimento calculado. Então, a unidade de controle de predição inter 114 calcula Cost2 pela Equação 4 (S203).
A seguir, a unidade de predição inter 111 gera uma imagem predita bidirecional usando os primeiro e segundo vetores de movimento calculados. Aqui, a unidade de predição inter 111 gera a imagem predita bidirecional ao calcular a média, por pixel, da imagem predita obtida do primeiro vetor de movimento e a imagem predita obtida do segundo vetor de movimento. Então, a unidade de controle de predição inter 114 calcula CostBi pela Equação 4 (S204).
Então, a unidade de controle de predição inter 114 compara Costl, Cost2 e CostBi (S205). Quando CostBi é o menor (Sim em S205), a unidade de controle de predição inter 114 determina a predição bidirecional como a direção de predição do modo de estimativa de vetor de movimento (S206). Quando CostBi não é o menor (Não em S205), a unidade de controle de predição inter 114 compara Costl e Cost2 (S207).
Quando Costl é menor (Sim em S207), a unidade de controle de predição inter 114 determina a predição unidirecional na primeira direção de predição como o modo de estimativa de vetor de movimento (S208). Quando Costl não é menor (Não em S207), a unidade de controle de predição inter 114 determina a predição unidirecional na segunda direção de predição como o modo de estimativa de vetor de movimento (S209).
Embora a unidade de predição inter 111 calcule a média das i- magens para cada um dos pixels quando a imagem predita bidirecional é gerada na Modalidade 1, ela pode calcular uma média ponderada das imagens e outras.
A seguir, um método de calcular uma lista de vetores de movimento preditos candidatos na figura 2 (S103, S104, S109 e S113) será des crito detalhadamente com referência para um procedimento de processos na figura 4. A unidade de controle de predição inter 114 determina um bloco adjacente A à esquerda do bloco corrente, um bloco adjacente B acima do bloco corrente e um bloco adjacente C acima e à direita do bloco corrente (S301).
Por exemplo, a unidade de controle de predição inter 114 determina, como o bloco adjacente A, um bloco ao qual pertence um pixel adjacente à esquerda do pixel localizado no canto superior esquerdo do bloco corrente. Além disso, a unidade de controle de predição inter 114 determina, como o bloco adjacente B, um bloco ao qual pertence um pixel adjacente acima do pixel localizado no canto superior esquerdo do bloco corrente. A- lém disso, a unidade de controle de predição inter 114 determina, como o bloco adjacente C, um bloco ao qual pertence um pixel adjacente ao canto direito superior e acima do bloco corrente.
A seguir, a unidade de controle de predição inter 114 determina se cada um dos blocos adjacentes A, B e C satisfaz ou não as duas condições (S302). Uma das condições é que o bloco adjacente N (N é um de A, B e C) tenha um vetor de movimento em uma direção de predição idêntica à- quela do vetor de movimento do bloco corrente. A outra é que uma imagem de referência do bloco adjacente N seja idêntica àquela do bloco corrente.
Quando o bloco adjacente N satisfaz as duas condições (Sim em S302), a unidade de controle de predição inter 114 adiciona vetores de movimento adjacentes do bloco adjacente N a uma lista de vetores de movimento preditos candidatos (S303). Além disso, a unidade de controle de predição inter 114 calcula um valor mediano (valor central) dos vetores de movimento do bloco adjacente, e adiciona o valor mediano à lista de vetores de movimento preditos candidatos (S304).
A unidade de controle de predição inter 114 adiciona o vetor de movimento do bloco adjacente tendo a direção de predição idêntica àquela do vetor de movimento correspondente do bloco corrente à lista de vetores de movimento preditos candidatos. Então, a unidade de controle de predição inter 114 não adiciona um vetor de movimento do bloco adjacente tendo uma direção de predição diferente daquela do vetor de movimento do bloco corrente. Entretanto, a unidade de controle de predição inter 114 pode adicionar um vetor de movimento do bloco adjacente tendo uma direção de predição diferente daquela do vetor de movimento do bloco corrente à lista de vetores de movimento preditos candidatos ao estabelecer o vetor de movimento a ser adicionado para 0. A seguir, um método de determinar uma sinalização de adição na figura 2 (S105, S110) será descrito.
Existe um caso onde a imagem de referência indicada pelo índice de referência da primeira direção de predição do bloco adjacente é idêntica à imagem de referência indicada pelo índice de referência da segunda direção de predição do bloco corrente. De uma maneira geral, o vetor de movimento na primeira direção de predição do bloco adjacente tende a ter um valor relativamente próximo ao valor do vetor de movimento na segunda direção de predição do bloco corrente.
Assim, em um caso como este, a unidade de controle de predição inter 114 adiciona o vetor de movimento na primeira direção de predição do bloco adjacente como um vetor de movimento predito candidato na segunda direção de predição do bloco corrente. Em outras palavras, a unidade de controle de predição inter 114 adiciona o vetor de movimento predito candidato na primeira direção de predição do bloco corrente como o vetor de movimento predito candidato na segunda direção de predição.
Como tal, o aparelho de codificação de imagem 100 adiciona não somente o vetor de movimento na segunda direção de predição do bloco adjacente, mas também o vetor de movimento na primeira direção de predição, como os vetores de movimento preditos candidatos na segunda direção de predição do bloco corrente para executar codificação eficiente.
Na Modalidade 1, não limitada a esta configuração, a unidade de controle de predição inter 114 adiciona o vetor de movimento predito candidato na primeira direção de predição do bloco corrente como o vetor de movimento predito candidato na segunda direção de predição.
Por exemplo, existe um caso onde a imagem de referência na segunda direção de predição do bloco adjacente é idêntica à imagem de referência na primeira direção de predição do bloco corrente. Assim, em um caso como este, a unidade de controle de predição inter 114 pode adicionar o vetor de movimento na segunda direção de predição do bloco adjacente como um vetor de movimento predito candidato na primeira direção de predição do bloco corrente.
Em outras palavras, a unidade de controle de predição inter 114 pode adicionar o vetor de movimento predito candidato na segunda direção de predição do bloco corrente como o vetor de movimento predito candidato na primeira direção de predição. Nesta configuração, o aparelho de codificação de imagem 100 pode codificar de forma eficiente os vetores de movimento.
Além disso, a unidade de codificação de comprimento variável 104 pode codificar a sinalização de adição, e adiciona a sinalização a um fluxo de bits. Desta maneira, um decodificador pode determinar se o vetor de movimento predito candidato na primeira direção de predição deve ser ou não adicionado com referência à sinalização de adição. Assim, a quantidade de computação na decodificação pode ser reduzida.
Além disso, a unidade de codificação de comprimento variável 104 pode adicionar uma sinalização de adição por bloco. Desta maneira, é possível executar a comutação flexível. Além disso, a unidade de codificação de comprimento variável 104 pode adicionar uma sinalização de adição por imagem. Desta maneira, é possível melhorar a eficiência de codificação e reduzir a quantidade de computação do decodificador. A seguir, um método de determinar uma sinalização de adição será descrito detalhadamente com referência à figura 5.
A unidade de determinação de adição 116 obtém um índice de imagem de referência da segunda direção de predição do bloco corrente (S401). Além disso, a unidade de controle de predição inter 114 obtém índices de imagens de referência da primeira direção de predição dos blocos adjacentes A, B e C (S402).
A seguir, a unidade de determinação de adição 116 determina se a imagem de referência indicada pelo índice de imagem de referência da segunda direção de predição do bloco corrente é ou não idêntica à imagem de referência indicada pelo índice de imagem de referência da primeira direção de predição do bloco adjacente (S403). Aqui, a unidade de determinação de adição 116 faz a determinação usando as primeira e segunda listas de imagens de referência.
Por exemplo, a unidade de determinação de adição 116 obtém, da segunda lista de imagens de referência, a ordem de exibição da imagem de referência indicada pelo índice de imagem de referência da segunda direção de predição do bloco corrente. Além disso, a unidade de determinação de adição 116 obtém, da primeira lista de imagens de referência, a ordem de exibição da imagem de referência indicada pelo índice de imagem de refe-rência da primeira direção de predição do bloco adjacente. A unidade de de-terminação de adição 116 compara estas duas ordens de exibição. Ao de-terminar que as ordens são idênticas uma à outra, a unidade de determinação de adição 116 determina que as duas imagens de referência são idênticas.
Quando a imagem de referência na segunda direção de predição do bloco corrente é idêntica à imagem de referência na primeira direção de predição do bloco adjacente (Sim em S403), a unidade de determinação de adição 116 liga a sinalização de adição (S404). Quando a imagem de refe-rência na segunda direção de predição do bloco corrente não é idêntica à imagem de referência na primeira direção de predição do bloco adjacente (Não em S403), a unidade de determinação de adição 116 desliga a sinalização de adição (S405).
Na Modalidade 1, a unidade de determinação de adição 116 de-termina se as duas imagens de referência são ou não idênticas uma à outra com referência às ordens de exibição. Entretanto, a unidade de determinação de adição 116 pode determinar se as duas imagens de referência são ou não idênticas uma à outra com referência às ordens de codificação e outras. Além disso, a unidade de determinação de adição 116 pode executar os processos na figura 5 somente quando um resultado da determinação na figura 4 é falso (Não em S302).
Quando um resultado da determinação na figura 4 é verdadeiro (Sim em S302), a unidade de controle de predição inter 114 adiciona o vetor de movimento na segunda direção de predição do bloco adjacente como um vetor de movimento predito candidato na segunda direção de predição do bloco corrente. Aqui, adicionar de novo o vetor de movimento na primeira direção de predição do bloco adjacente como um vetor de movimento predito candidato na segunda direção de predição do bloco corrente é redundante.
Assim, a unidade de determinação de adição 116 pode executar os processos na figura 5 somente quando um resultado da determinação na figura 4 é falso (Não em S302). Desta maneira, somente quando o vetor de movimento na segunda direção de predição do bloco adjacente não é o vetor de movimento predito candidato na segunda direção de predição do bloco corrente, a unidade de controle de predição inter 114 pode adicionar o vetor de movimento na primeira direção de predição do bloco adjacente como um vetor de movimento predito candidato na segunda direção de predição do bloco corrente. Desta maneira, é possível melhorar a eficiência de codificação.
A seguir, um exemplo de uma lista de vetores de movimento preditos candidatos gerados com os processos (S103 a S106) na figura 2 quando o bloco corrente tem o vetor de movimento MvLO na primeira direção de predição e o vetor de movimento MvL1 na segunda direção de predição tal como ilustrado na figura 34 será descrito com referência às figuras 6A e 6B.
A relação seguinte será assumida na figura 34. Em outras palavras, a imagem de referência na primeira direção de predição do bloco corrente é idêntica à imagem de referência na primeira direção de predição de cada um dos blocos adjacentes A, B e C. Além disso, a imagem de referência na segunda direção de predição do bloco corrente, a imagem de referência na segunda direção de predição de cada um dos blocos adjacentes A e C, e a imagem de referência na primeira direção de predição do bloco adjacente B são idênticas uma à outra.
Na lista de vetores de movimento preditos candidatos para a primeira direção de predição da figura 6A, o índice de vetor de movimento predito correspondendo ao Mediano (MvLOA, MvLOB, MvLO C) é 0. O índice de vetor de movimento predito correspondendo ao vetor de movimento MvL0_A é 1. O índice de vetor de movimento predito correspondendo ao vetor de movimento MvL0_B é 2. O índice de vetor de movimento predito correspondendo ao vetor de movimento MvL0_C é 3.
Na lista de vetores de movimento preditos candidatos para a segunda direção de predição da figura 6B, o índice de vetor de movimento predito correspondendo ao Mediano (MvL1_A, MvL0_B, MvL1_C) é 0. O índice de vetor de movimento predito correspondendo ao vetor de movimento MvL1_A é 1. O índice de vetor de movimento predito correspondendo ao vetor de movimento MvL0_B é 2. O índice de vetor de movimento predito correspondendo ao vetor de movimento MvL1_C é 3.
Aqúi, quando a lista de vetores de movimento preditos candidatos para a segunda direção de predição não tem um vetor de movimento MvL1_B na segunda direção de predição do bloco adjacente B, a unidade de controle de predição inter 114 adiciona o vetor de movimento MvL0_B na primeira direção de predição à lista de vetores de movimento preditos candidatos para a segunda direção de predição. Como tal, quando um bloco adjacente não tem vetor de movimento na segunda direção de predição, mas em vez disto tem um vetor de movimento na primeira direção de predição, a unidade de controle de predição inter 114 adiciona o vetor de movimento na primeira direção de predição do bloco adjacente à lista de vetores de movimento preditos candidatos para a segunda direção de predição.
Desta maneira, é possível melhorar a eficiência de codificação. Quando a lista de vetores de movimento preditos candidatos para a segunda direção de predição não tem vetor de movimento do bloco adjacente, a unidade de controle de predição inter 114 não aloca qualquer índice de vetor de movimento predito. Desta maneira, é possível melhorar a eficiência de codi-ficação. Além disso, o método de alocar o índice de vetor de movimento predito não está limitado a este exemplo. Quando nenhum vetor de movimento não está presente, a unidade de controle de predição inter 114 pode alocar o índice de vetor de movimento predito ao adicionar um vetor de movimento tendo a magnitude de 0 à lista de vetores de movimento preditos candidatos. A figura 7 ilustra um exemplo de uma tabela de códigos para co-dificação de comprimento variável de índices de vetores de movimento preditos. À medida que um índice de vetor de movimento predito é menor, o código é menor. A unidade de controle de predição inter 114 aloca um índice de vetor de movimento predito menor para um candidato estimado com maior precisão de predição. Desta maneira, é possível melhorar a eficiência de codificação.
No exemplo da lista de vetores de movimento preditos candidatos para a segunda direção de predição na figura 6B, a unidade de controle de predição inter 114 aloca o índice de vetor de movimento predito indicado por 2 para o vetor de movimento MvL0_B na primeira direção de predição do bloco adjacente B. Entretanto, a unidade de controle de predição inter 114 pode alocar um índice de vetor de movimento predito menor para um candidato na mesma direção de predição.
Mais especificamente, a unidade de controle de predição inter 114 aloca 0 para um índice de vetor de movimento predito correspondendo ao Mediano (MvL1_A, MvL0_B, MvL1_C) na lista de vetores de movimento preditos candidatos para a segunda direção de predição.
Além disso, a unidade de controle de predição inter 114 aloca 1 para um índice de vetor de movimento predito correspondendo ao vetor de movimento MvL1_A. Além disso, a unidade de controle de predição inter 114 aloca 2 para um índice de vetor de movimento predito correspondendo ao vetor de movimento MvL1_C. Além disso, a unidade de controle de predição inter 114 aloca 3 para um índice de vetor de movimento predito correspondendo ao vetor de movimento MvL0_B.
Desta maneira, a mesma direção de predição é priorizada, e os índices de vetores de movimento preditos menores são alocados para os vetores de movimento preditos candidatos estimados para ter maior precisão de predição.
A seguir, um método de selecionar um vetor de movimento predito (S107, S112 e S114) da figura 2 será descrito detalhadamente com referência para um procedimento de processos na figura 8. A unidade de controle de predição inter 114 estabelece 0 para um valor de contador para inicialização, e estabelece o maior valor para o menor vetor de movimento diferencial (S501).
A seguir, a unidade de controle de predição inter 114 determina se vetores de movimento diferenciais de todos os vetores de movimento preditos candidatos estão ou não calculados (S502). Quando o vetor de movimento predito candidato ainda existe (Sim em S502), a unidade de controle de predição inter 114 calcula o vetor de movimento diferencial ao subtrair o vetor de movimento predito candidato de um vetor de resultado de estimativa de movimento (S503).
A seguir, a unidade de controle de predição inter 114 determina se o vetor de movimento diferencial calculado é ou não menor que o menor vetor de movimento diferencial (S504). Quando o vetor de movimento diferencial é menor que o menor vetor de movimento diferencial (Sim em S504), a unidade de controle de predição inter 114 atualiza o menor vetor de movimento diferencial e o índice de vetor de movimento predito (S505).
A seguir, a unidade de controle de predição inter 114 adiciona 1 ao valor de contador (S506). Então, a unidade de controle de predição inter 114 determina de novo se o próximo vetor de movimento predito candidato existe ou não (S502). Quando a unidade de controle de predição inter 114 determina que os vetores de movimento diferenciais para todos os vetores de movimento preditos candidatos estão calculados (Não em S502), ela transmite o menor vetor de movimento diferencial e o índice de vetor de movimento predito que são finalmente determinados para a unidade de codificação de comprimento variável 104, e faz com que a unidade de codificação de comprimento variável 104 codifique o menor vetor de movimento diferencial e o índice de vetor de movimento predito (S507).
De acordo com a Modalidade 1, ao selecionar um vetor de movimento de um bloco adjacente como um vetor de movimento candidato, a unidade de controle de predição inter 114 adota um novo critério de seleção para a seleção. Desta maneira, a unidade de controle de predição inter 114 deriva um vetor de movimento predito mais adequado para codificar um vetor de movimento da imagem corrente. Desta maneira, é possível melhorar a eficiência de codificação.
Em particular, existe um caso onde a imagem de referência indicada pelo índice de referência de imagem de referência da segunda direção de predição do bloco corrente é idêntica à imagem de referência indicada pelo índice de referência de imagem de referência da primeira direção de predição do bloco adjacente. Em um caso como este, a unidade de controle de predição inter 114 adiciona o vetor de movimento na primeira direção de predição do bloco adjacente como o vetor de movimento predito candidato na segunda direção de predição do bloco corrente. Assim, a codificação eficiente é possível.
Na Modalidade 1, a unidade de controle de predição inter 114 adiciona o vetor de movimento na primeira direção de predição do bloco adjacente à lista de vetores de movimento preditos candidatos para a segunda direção de predição do bloco corrente. Entretanto, a unidade de controle de predição inter 114 pode adicionar o vetor de movimento na segunda direção de predição do bloco adjacente à lista de vetores de movimento preditos candidatos para a primeira direção de predição do bloco corrente. Modalidade 2 A figura 9 é um diagrama de blocos ilustrando uma configuração de um aparelho de decodificação de imagem de acordo com a Modalidade 2.
Tal como ilustrado na figura 9, um aparelho de decodificação de imagem 200 inclui uma unidade de decodificação de comprimento variável 204, uma unidade de quantificação inversa 205, uma unidade de transformação ortogonal inversa 206, uma unidade de adição 207, uma memória de blocos 208, uma memória de quadros 209, uma unidade de predição intra 210, uma unidade de predição inter 211, uma unidade de comutação 212, uma unidade de controle de predição inter 214, uma unidade de gerenciamento de listas de imagens de referência 215 e uma unidade de determina- ção de adição 216.
A unidade de decodificação de comprimento variável 204 decodifica com comprimento variável um fluxo de bits de entrada. Então, a unidade de decodificação de comprimento variável 204 gera um tipo de imagem, um índice de imagem de referência, informação de direção de predição inter, um índice de vetor de movimento predito e coeficientes quantificados. A unidade de quantificação inversa 205 quantifica inversamente os coeficientes quantificados. A unidade de transformação ortogonal inversa 206 executa transformação nos coeficientes de transformação ortogonal quantificados inversamente do domínio da frequência para o domínio da imagem para gerar dados de imagem de erro de predição.
A memória de blocos 208 é uma memória para armazenar uma sequência de imagens geradas ao adicionar os dados de imagem preditos aos dados de imagem de erro de predição, por bloco. A memória de quadros 209 é uma memória para armazenar a sequência de imagens por quadro.
A unidade de predição intra 210 gera os dados de imagem preditos de um bloco a ser decodificado por meio de predição intra, usando a sequência de imagens armazenada por bloco na memória de blocos 208.
A unidade de predição inter 211 gera os dados de imagem preditos do bloco a ser decodificado por meio de predição inter, usando a sequência de imagens armazenada por quadro na memória de quadros 209. A unidade de controle de predição inter 214 controla um método de gerar um vetor de movimento e dados de imagem preditos na predição inter de acordo com o tipo de imagem, o índice de imagem de referência, a informação de direção de predição inter e o índice de vetor de movimento predito.
A unidade de gerenciamento de listas de imagens de referência 215 gera uma lista de referências com as ordens de exibição de índices de imagens de referência para alocar os índices de imagens de referência para imagens de referência decodificadas a ser referidas na predição inter (similar à figura 33). A imagem B é usada para codificação com referência para duas imagens. Assim, a unidade de gerenciamento de listas de imagens de referência 215 retém duas listas de referências.
A unidade de gerenciamento de listas de imagens de referência 215 gerencia as imagens de referência pelos índices de imagens de referência e pelas ordens de exibição na Modalidade 2. Entretanto, a unidade de gerenciamento de listas de imagens de referência 215 pode gerenciar as imagens de referência pelos índices de imagens de referência e pelas ordens de codificação (ordens de decodificação).
A unidade de determinação de adição 216 determina se um vetor de movimento predito candidato na primeira direção de predição deve ser ou não adicionado a uma lista de vetores de movimento preditos candidatos para a segunda direção de predição do bloco a ser decodificado com referência às primeira e segunda listas de imagens de referência geradas pela unidade de gerenciamento de listas de imagens de referência 215. Então, a unidade de determinação de adição 216 estabelece uma sinalização de adição. Uma vez que o procedimento para determinar a sinalização de adição é igual àquele na figura 5 de acordo com a Modalidade 1, a descrição do mesmo é omitida.
Finalmente, a unidade de adição 207 adiciona os dados de imagem de erro de predição decodificados aos dados de imagem preditos para gerar uma sequência de imagens decodificadas. A figura 10 é um procedimento de esquematização de processos de um método de decodificação de imagem de acordo com a Modalidade 2. Primeiro, a unidade de controle de predição inter 214 determina se uma direção de predição decodificada é ou não uma bidireção (S601).
Quando a direção de predição decodificada é a bidireção (Sim em S601), a unidade de controle de predição inter 214 calcula listas de vetores de movimento preditos candidatos para as primeira e segunda direções de predição (S602, S603). A figura 4 de acordo com a Modalidade 1 é usada para calcular as listas de vetores de movimento preditos candidatos. A unidade de controle de predição inter 214 decodifica os índices de imagens de referência das primeira e segunda direções de predição de um fluxo de bits. A unidade de determinação de adição 216 determina se um vetor de movimento predito candidato na primeira direção de predição deve ser ou não adicionado à lista de vetores de movimento preditos candidatos para a segunda direção de predição (S604).
Quando a sinalização de adição é LIGADA, (Sim em S604), a unidade de controle de predição inter 214 adiciona o vetor de movimento predito candidato na primeira direção de predição à lista de vetores de movimento preditos candidatos para a segunda direção de predição (S605). A sinalização de adição indicando se o vetor de movimento predito candidato na primeira direção de predição deve ser ou não adicionado é estabelecida no mesmo modo que na figura 5 de acordo com a Modalidade 1.
A unidade de controle de predição inter 214 seleciona os vetores de movimento preditos indicados pelos índices de vetores de movimento preditos das primeira e segunda direções de predição que são decodificadas do fluxo de bits, das listas de vetores de movimento preditos candidatos para as primeira e segunda direções de predição. A unidade de controle de predição inter 214 adiciona vetores de movimento diferenciais nas primeira e segunda direções de predição que são decodificadas do fluxo de bits, aos vetores de movimento preditos nas primeira e segunda direções de predição.
Desta maneira, a unidade de controle de predição inter 214 decodifica os vetores de movimento nas primeira e segunda direções de predição (S606).
Quando a direção de predição decodificada não é a bidireção (Não em S601), isto é, quando a direção de predição inter é uma direção, a unidade de controle de predição inter 214 determina se a direção de predição é ou não a segunda direção de predição (S607).
Quando a direção de predição é a segunda direção de predição (Sim em S607), a unidade de controle de predição inter 214 calcula um vetor de movimento predito candidato na segunda direção de predição (S608). A unidade de determinação de adição 216 determina se um vetor de movimento predito candidato na primeira direção de predição deve ser ou não adicionado à lista de vetores de movimento preditos candidatos para a segunda direção de predição (S609).
Quando a sinalização de adição é LIGADA, (Sim em S609), a unidade de controle de predição inter 214 adiciona o vetor de movimento predito candidato na primeira direção de predição à lista de vetores de movimento preditos candidatos para a segunda direção de predição (S610).
A unidade de controle de predição inter 214 seleciona o vetor de movimento predito indicado pelo índice de vetor de movimento predito da segunda direção de predição que é decodificada do fluxo de bits, da lista de vetores de movimento preditos candidatos para a segunda direção de predição. A unidade de controle de predição inter 214 adiciona o vetor de movimento predito selecionado ao vetor de movimento diferencial na segunda direção de predição que é decodificada do fluxo de bits, decodificando assim o vetor de movimento na segunda direção de predição (S611).
Quando a direção de predição não é a segunda direção de predição (Não em S607), isto é, quando a direção de predição é a primeira direção de predição, a unidade de controle de predição inter 214 calcula um vetor de movimento predito candidato na primeira direção de predição (S612).
A unidade de controle de predição inter 214 seleciona o vetor de movimento predito indicado pelo índice de vetor de movimento predito da primeira direção de predição que é decodificada do fluxo de bits, da lista de vetores de movimento preditos candidatos para a primeira direção de predição. Então, a unidade de controle de predição inter 214 adiciona o vetor de movimento predito selecionado ao vetor de movimento diferencial na primeira direção de predição que é decodificada do fluxo de bits, decodificando assim o vetor de movimento na primeira direção de predição (S613).
De acordo com a Modalidade 2, ao selecionar um vetor de movimento de um bloco adjacente como um vetor de movimento candidato, a unidade de controle de predição inter 214 adota um novo critério de seleção para a seleção. Desta maneira, um vetor de movimento predito mais adequado para decodificar um vetor de movimento é derivado. Além disso, a eficiência de codificação será melhorada.
Em particular, existe um caso onde a imagem de referência indicada pelo índice de referência de imagem de referência da segunda direção de predição do bloco corrente a ser decodificado é idêntica à imagem de referência indicada pelo índice de referência de imagem de referência da primeira direção de predição do bloco adjacente. Em um caso como este, a unidade de controle de predição inter 214 adiciona o vetor de movimento na primeira direção de predição do bloco adjacente como um vetor de movimento predito candidato na segunda direção de predição do bloco corrente a ser decodificado. Desta maneira, a eficiência de codificação será melhorada.
A unidade de controle de predição inter 214 de acordo com a Modalidade 2 adiciona o vetor de movimento na primeira direção de predição do bloco adjacente à lista de vetores de movimento preditos candidatos para a segunda direção de predição do bloco corrente. Entretanto, a unidade de controle de predição inter 214 pode adicionar o vetor de movimento na segunda direção de predição do bloco adjacente à lista de vetores de movimento preditos candidatos para a primeira direção de predição do bloco corrente. Modalidade 3
A Modalidade 3 descreve de forma suplementar um aparelho de codificação de imagem incluindo os elementos componentes característicos do aparelho de codificação de imagem 100 de acordo com a Modalidade 1. A figura 11A ilustra uma configuração do aparelho de codificação de imagem de acordo com a Modalidade 3. Um aparelho de codificação de imagem 300 na figura 11A inclui uma unidade de adição 301, uma unidade de seleção 302 e uma unidade de codificação 303. A unidade de adição 301 corresponde principalmente à unidade de determinação de adição 116 de acordo com a Modalidade 1. A unidade de seleção 302 corresponde principalmente à unidade de controle de predição inter 114 de acordo com a Modalidade 1. A unidade de codificação 303 corresponde principalmente à unidade de codificação de comprimento variável 104 de acordo com a Modalidade 1.
Então, o aparelho de codificação de imagem 300 codifica a imagem corrente por bloco. Aqui, o aparelho de codificação de imagem 300 e- xecuta predição usando uma ou ambas de as primeira e segunda listas de imagens de referência. Em outras palavras, o aparelho de codificação de imagem 300 executa predição usando uma ou ambas de a imagem de referência indicada pela primeira lista de imagens de referência e a imagem de referência indicada pela segunda lista de imagens de referência. A figura 11B é um fluxograma de operações executadas pelo aparelho de codificação de imagem 300 na figura 11 A. Primeiro, a unidade de adição 301 adiciona o primeiro vetor de movimento adjacente a uma lista de vetores de movimento preditos candidatos a ser usada para codificar o vetor de movimento corrente, como um candidato a um vetor de movimento predito (S701).
O primeiro vetor de movimento adjacente é um vetor de movimento de um bloco adjacente que é adjacente ao bloco corrente a ser codificado incluído na imagem corrente a ser codificada. Além disso, o primeiro vetor de movimento adjacente indica uma posição em uma primeira imagem de referência incluída na primeira lista de imagens de referência. O vetor de movimento corrente é um vetor de movimento do bloco corrente. Além disso, o vetor de movimento adjacente corrente indica uma posição em uma segunda imagem de referência incluída na segunda lista de imagens de referência.
A seguir, a unidade de seleção 302 seleciona um vetor de movimento predito a ser usado para codificar o vetor de movimento corrente, de uma lista de candidatos incluindo o primeiro vetor de movimento adjacente (S702). A seguir, a unidade de codificação 303 codifica o vetor de movimento corrente usando o vetor de movimento predito selecionado (S703).
Desta maneira, o vetor de movimento adjacente correspondendo à primeira lista de imagens de referência é adicionado à lista de candidatos correspondendo à segunda lista de imagens de referência. Desta maneira, o número das opções de vetores de movimento preditos aumenta. Desta maneira, é possível derivar um vetor de movimento predito adequado para melhorar a eficiência de codificação do vetor de movimento corrente.
Além disso, a unidade de adição 301 pode adicionar o segundo vetor de movimento adjacente à lista de candidatos. O segundo vetor de movimento adjacente é um vetor de movimento de um bloco adjacente, e indica uma posição em uma terceira imagem de referência incluída na segunda lista de imagens de referência.
Desta maneira, o vetor de movimento adjacente correspondendo à segunda lista de imagens de referência é adicionado à lista de candidatos correspondendo à segunda lista de imagens de referência. Desta maneira, o número das opções de vetores de movimento preditos aumenta. Desta maneira, é possível derivar um vetor de movimento predito adequado para melhorar a eficiência de codificação do vetor de movimento corrente.
Além disso, a unidade de adição 301 pode determinar se a segunda imagem de referência é ou não idêntica à terceira imagem de referência. Ao determinar que a segunda imagem de referência é idêntica à terceira imagem de referência, a unidade de adição 301 pode adicionar o segundo vetor de movimento adjacente à lista de candidatos. Além disso, a unidade de adição 301 pode determinar se a segunda imagem de referência é ou não idêntica à primeira imagem de referência. Então, ao determinar que a segunda imagem de referência é idêntica à primeira imagem de referência, a unidade de adição 301 pode adicionar o primeiro vetor de movimento adjacente à lista de candidatos.
Desta maneira, somente quando a imagem de referência corres-pondendo ao vetor de movimento corrente é idêntica à imagem de referência correspondendo ao vetor de movimento adjacente, o vetor de movimento adjacente é adicionado à lista de candidatos. Assim, somente quando o vetor de movimento adjacente é apropriado como um candidato a um vetor de movimento predito, o vetor de movimento adjacente é adicionado à lista de candidatos. Assim, um vetor de movimento predito apropriado é derivado.
Além disso, a unidade de adição 301 pode determinar se a segunda imagem de referência é ou não idêntica à primeira imagem de referência ao determinar que a segunda imagem de referência não é idêntica à terceira imagem de referência. Ao determinar que a segunda imagem de referência não é idêntica à terceira imagem de referência e que a segunda imagem de referência é idêntica à primeira imagem de referência, a unidade de adição 301 pode adicionar o primeiro vetor de movimento adjacente à lista de candidatos.
Desta maneira, quando o vetor de movimento corrente corresponde à segunda lista de imagens de referência, o vetor de movimento adjacente correspondendo à segunda lista de imagens de referência é adicionado preferencialmente à lista de candidatos. Assim, um vetor de movimento adjacente mais apropriado é adicionado à lista de candidatos como um candidato a um vetor de movimento predito.
Além disso, a unidade de adição 301 pode determinar se a segunda imagem de referência é ou não idêntica à terceira imagem de referência ao determinar se a ordem de exibição da segunda imagem de referência é ou não idêntica à ordem de exibição da terceira imagem de referência. A- lém disso, a unidade de adição 301 pode determinar se a segunda imagem de referência é ou não idêntica à primeira imagem de referência ao determinar se a ordem de exibição da segunda imagem de referência é ou não idêntica à ordem de exibição da primeira imagem de referência.
Aqui, a primeira imagem de referência é identificada pela primeira lista de imagens de referência e pelo primeiro índice de referência. Além disso, a segunda imagem de referência é identificada pela segunda lista de imagens de referência e pelo segundo índice de referência. Além disso, a terceira imagem de referência é identificada pela segunda lista de imagens de referência e pelo terceiro índice de referência.
Desta maneira, se a imagem de referência identificada pela primeira lista de imagens de referência é ou não idêntica à imagem de referência identificada pela segunda lista de imagens de referência é determinado de forma apropriada com base nas ordens de exibição.
Além disso, ao determinar que a segunda imagem de referência não é idêntica à terceira imagem de referência e que a segunda imagem de referência não é idêntica à primeira imagem de referência, a unidade de adição 301 pode adicionar 0 à lista de candidatos. Em outras palavras, a unidade de adição 301 pode adicionar um vetor de movimento tendo uma magnitude de 0 à lista de candidatos como um candidato a um vetor de movimento predito.
Desta maneira, diminuição no número de candidatos é suprimida. Assim, um estado onde não existe candidato na lista de candidatos é evitado.
Além disso, a unidade de adição 301 pode adicionar, à lista de candidatos, valores de índices e candidatos a um vetor de movimento predito de maneira que os valores de índices fiquem em correspondência de um para um com os candidatos ao vetor de movimento predito. Além disso, a unidade de seleção 302 pode selecionar um valor de índice da lista de candidatos como um vetor de movimento predito. A unidade de codificação 303 pode codificar adicionalmente o valor de índice selecionado de maneira que o código do valor de índice seja maior à medida que o valor de índice é maior.
Desta maneira, o vetor de movimento predito selecionado é codificado de forma apropriada. Assim, o codificador e o decodificador selecionam o mesmo vetor de movimento predito.
Além disso, a unidade de adição 301 pode adicionar o primeiro vetor de movimento adjacente de um bloco adjacente à lista de candidatos, assumindo que cada um de um bloco adjacente à esquerda, um bloco adjacente acima e um bloco adjacente acima e à direita com relação ao bloco corrente a ser codificado é o bloco adjacente.
Desta maneira, uma pluralidade de vetores de movimento adjacentes é adicionada à lista de candidatos como candidatos ao vetor de movimento predito. Desta maneira, o número das opções de vetores de movimento preditos aumenta. Modalidade 4
A Modalidade 4 descreve de forma suplementar um aparelho de decodificação de imagem incluindo os elementos componentes característicos do aparelho de decodificação de imagem 200 de acordo com a Modalidade 2. A figura 12A ilustra uma configuração do aparelho de decodificação de imagem de acordo com a Modalidade 4. Um aparelho de decodificação de imagem 400 na figura 12A inclui uma unidade de adição 401, uma unidade de seleção 402 e uma unidade de decodificação 403. A unidade de adição 402 corresponde principalmente à unidade de determinação de adição 216 de acordo com a Modalidade 2. A unidade de seleção 402 corresponde principalmente à unidade de controle de predição inter 214 de acordo com a Modalidade 2. A unidade de decodificação 403 corresponde principalmente à unidade de decodificação de comprimento variável 204 e à unidade de controle de predição inter 214 de acordo com a Modalidade 2.
O aparelho de decodificação de imagem 400 decodifica a imagem corrente por bloco. Aqui, o aparelho de decodificação de imagem 400 executa predição usando uma ou ambas de as primeira e segunda listas de imagens de referência. Em outras palavras, o aparelho de decodificação de imagem 400 executa predição usando uma ou ambas de a imagem de referência indicada pela primeira lista de imagens de referência e a imagem de referência indicada pela segunda lista de imagens de referência. A figura 12B é um fluxograma de operações executadas pelo aparelho de decodificação de imagem 400 na figura 12A. Primeiro, a unidade de adição 401 adiciona o primeiro vetor de movimento adjacente a uma lista de vetores de movimento preditos candidatos a ser usada para decodificar o vetor de movimento corrente, como um candidato a um vetor de movimento predito (S801).
O primeiro vetor de movimento adjacente é um vetor de movimento de um bloco adjacente que é adjacente ao bloco corrente a ser decodificado incluído na imagem corrente a ser decodificada. Além disso, o primeiro vetor de movimento adjacente indica uma posição em uma primeira imagem de referência incluída na primeira lista de imagens de referência. O vetor de movimento corrente é um vetor de movimento do bloco corrente a ser decodificado. Além disso, o vetor de movimento corrente indica uma posição em uma segunda imagem de referência incluída na segunda lista de imagens de referência.
A seguir, a unidade de seleção 402 seleciona um vetor de movimento predito a ser usado para decodificar o vetor de movimento corrente, de uma lista de candidatos incluindo o primeiro vetor de movimento adjacen- te (S802). A seguir, a unidade de decodificação 403 decodifica o vetor de movimento corrente usando o vetor de movimento predito selecionado (S803).
Desta maneira, o vetor de movimento adjacente correspondendo à primeira lista de imagens de referência é adicionado à lista de candidatos correspondendo à segunda lista de imagens de referência. Além disso, o número das opções de vetores de movimento preditos aumenta. Assim, é possível derivar um vetor de movimento predito adequado para melhorar a eficiência de codificação do vetor de movimento corrente.
Além disso, a unidade de adição 401 pode adicionar o segundo vetor de movimento adjacente à lista de candidatos. O segundo vetor de movimento adjacente é um vetor de movimento de um bloco adjacente, e indica uma posição em uma terceira imagem de referência incluída na segunda lista de imagens de referência.
Desta maneira, o vetor de movimento adjacente correspondendo à segunda lista de imagens de referência é adicionado à lista de candidatos correspondendo à segunda lista de imagens de referência. Além disso, o número das opções de vetores de movimento preditos aumenta. Assim, é possível derivar um vetor de movimento predito adequado para melhorar a eficiência de codificação do vetor de movimento corrente.
Além disso, a unidade de adição 401 pode determinar se a segunda imagem de referência é ou não idêntica à terceira imagem de referência. Então, ao determinar que a segunda imagem de referência é idêntica à terceira imagem de referência, a unidade de adição 401 pode adicionar o segundo vetor de movimento adjacente à lista de candidatos. Além disso, a unidade de adição 401 pode determinar se a segunda imagem de referência é ou não idêntica à primeira imagem de referência. Então, ao determinar que a segunda imagem de referência é idêntica à primeira imagem de referência, a unidade de adição 401 pode adicionar o primeiro vetor de movimento adjacente à lista de candidatos.
Desta maneira, somente quando a imagem de referência corres-pondendo ao vetor de movimento corrente é idêntica à imagem de referência correspondendo ao vetor de movimento adjacente, o vetor de movimento adjacente é adicionado à lista de candidatos. Assim, somente quando o vetor de movimento adjacente é apropriado como um candidato a um vetor de movimento predito, o vetor de movimento adjacente é adicionado à lista de candidatos. Assim, um vetor de movimento predito apropriado é derivado.
Além disso, a unidade de adição 401 pode determinar se a segunda imagem de referência é ou não idêntica à primeira imagem de referência ao determinar que a segunda imagem de referência não é idêntica à terceira imagem de referência. Ao determinar que a segunda imagem de referência não é idêntica à terceira imagem de referência e que a segunda imagem de referência é idêntica à primeira imagem de referência, a unidade de adição 401 pode adicionar o primeiro vetor de movimento adjacente à lista de candidatos.
Desta maneira, quando o vetor de movimento corrente corresponde à segunda lista de imagens de referência, o vetor de movimento adjacente correspondendo à segunda lista de imagens de referência é adicionado preferencialmente à lista de candidatos. Assim, um vetor de movimento adjacente mais apropriado é adicionado à lista de candidatos como um can-didato a um vetor de movimento predito.
Além disso, a unidade de adição 401 pode determinar se a segunda imagem de referência é ou não idêntica à terceira imagem de referência ao determinar se a ordem de exibição da segunda imagem de referência é ou não idêntica à ordem de exibição da terceira imagem de referência. A- lém disso, a unidade de adição 301 pode determinar se a segunda imagem de referência é ou não idêntica à primeira imagem de referência ao determinar se a ordem de exibição da segunda imagem de referência é ou não idêntica à ordem de exibição da primeira imagem de referência.
Aqui, a primeira imagem de referência é identificada pela primeira lista de imagens de referência e pelo primeiro índice de referência. Além disso, a segunda imagem de referência é identificada pela segunda lista de imagens de referência e pelo segundo índice de referência. Além disso, a terceira imagem de referência é identificada pela segunda lista de imagens de referência e pelo terceiro índice de referência.
Desta maneira, se a imagem de referência identificada pela primeira lista de imagens de referência é ou não idêntica à imagem de referência identificada pela segunda lista de imagens de referência é determinado de forma apropriada com base nas ordens de exibição.
Além disso, ao determinar que a segunda imagem de referência não é idêntica à terceira imagem de referência e que a segunda imagem de referência não é idêntica à primeira imagem de referência, a unidade de adição 401 pode adicionar 0 à lista de candidatos. Em outras palavras, a unidade de adição 401 pode adicionar um vetor de movimento tendo uma magnitude de 0 à lista de candidatos como um candidato a um vetor de movimento predito.
Desta maneira, diminuição no número de candidatos é suprimida. Assim, um estado onde não existe candidato na lista de candidatos é evitado.
Além disso, a unidade de adição 401 pode adicionar valores de índices e candidatos a um vetor de movimento predito à lista de candidatos de maneira que os valores de índices fiquem em correspondência de um para um com os candidatos ao vetor de movimento predito. A unidade de decodificação 403 pode decodificar o valor de índice codificado de maneira que o código seja maior à medida que o valor de índice é maior. Além disso, a unidade de seleção 402 pode selecionar um vetor de movimento predito correspondendo ao valor de índice decodificado, da lista de candidatos.
Desta maneira, o vetor de movimento predito selecionado é de-codificado de forma apropriada. Assim, o codificador e o decodificador selecionam o mesmo vetor de movimento predito.
Além disso, a unidade de adição 401 pode adicionar o primeiro vetor de movimento adjacente do bloco adjacente à lista de candidatos, assumindo que cada um de um bloco adjacente à esquerda, um bloco adjacente acima e um bloco adjacente acima e à direita com relação ao bloco corrente a ser decodificado é o bloco adjacente.
Desta maneira, uma pluralidade de vetores de movimento adja- centes é adicionada à lista de candidatos como candidatos ao vetor de movimento predito. Assim, o número das opções de vetores de movimento preditos aumenta. Modalidade 5
A Modalidade 5 descreve de forma suplementar um aparelho de codificação e decodificação de imagem incluindo os elementos componentes característicos do aparelho de codificação de imagem 100 de acordo com a Modalidade 1 e do aparelho de decodificação de imagem 200 de acordo com a Modalidade 2. A figura 13 ilustra uma configuração do aparelho de codificação e decodificação de imagem de acordo com a Modalidade 5. Um aparelho de codificação e decodificação de imagem 500 na figura 13 inclui uma unidade de adição 501, uma unidade de seleção 502, uma unidade de codificação 503 e uma unidade de decodificação 504.
A unidade de adição 501 corresponde principalmente à unidade de determinação de adição 116 de acordo com a Modalidade 1 e à unidade de determinação de adição 216 de acordo com a Modalidade 2. A unidade de seleção 402 corresponde principalmente à unidade de controle de predição inter 114 de acordo com a Modalidade 1 e à unidade de controle de predição inter 214 de acordo com a Modalidade 2. A unidade de codificação 503 corresponde principalmente à unidade de codificação de comprimento variável 104 de acordo com a Modalidade 1. A unidade de decodificação 504 corresponde principalmente à unidade de decodificação de comprimento variável 204 e à unidade de controle de predição inter 214 de acordo com a Modalidade 2.
Então, o aparelho de codificação e decodificação de imagem 500 codifica a imagem corrente por bloco, e decodifica a imagem corrente por bloco. Aqui, o aparelho de codificação e decodificação de imagem 500 executa predição usando uma ou ambas de as primeira e segunda listas de imagens de referência. Em outras palavras, o aparelho de codificação e decodificação de imagem 500 executa predição usando uma ou ambas de a imagem de referência indicada pela primeira lista de imagens de referência e a imagem de referência indicada pela segunda lista de imagens de referência.
A unidade de adição 501 adiciona o primeiro vetor de movimento adjacente a uma lista de vetores de movimento preditos candidatos a ser usada para codificar ou decodificar o vetor de movimento corrente, como um vetor de movimento predito candidato.
O primeiro vetor de movimento adjacente é um vetor de movimento de um bloco adjacente que é adjacente a um bloco a ser processado incluído na imagem corrente a ser codificada ou decodificada. Além disso, o primeiro vetor de movimento adjacente indica uma posição em uma primeira imagem de referência incluída na primeira lista de imagens de referência. O vetor de movimento corrente é um vetor de movimento do bloco a ser processado. Além disso, o vetor de movimento corrente indica uma posição em uma segunda imagem de referência incluída na segunda lista de imagens de referência.
A unidade de seleção 502 seleciona um vetor de movimento predito a ser usado para codificar ou decodificar o vetor de movimento corrente, de uma lista de candidatos incluindo o primeiro vetor de movimento adjacente. A unidade de codificação 503 codifica o vetor de movimento corrente usando o vetor de movimento predito selecionado. A unidade de decodificação 504 decodifica o vetor de movimento corrente usando o vetor de movimento predito selecionado.
Desta maneira, o aparelho de codificação e decodificação de imagem 500 implementa tanto as funções do aparelho de codificação de i- magem quanto as do aparelho de decodificação de imagem.
Embora o aparelho de codificação de imagem e o aparelho de decodificação de imagem de acordo com a presente invenção estejam descritos com base nas modalidades, a presente invenção não está limitada a estas modalidades. A presente invenção inclui modificações concebidas pelos versados na técnica usando as modalidades, e outras modalidades combinando arbitrariamente os elementos componentes incluídos nas modalidades.
Por exemplo, processos executados por uma unidade de pro-cessamento particular podem ser executados por uma outra unidade de pro-cessamento. Além disso, a ordem de execução dos processos pode ser mudada, e uma pluralidade de processos pode ser executada em paralelo.
Além disso, a presente invenção pode ser implementada não somente como um aparelho de codificação de imagem e um aparelho de decodificação de imagem, mas também como um método usando as etapas e os processos executados pelas unidades de processamento incluídas no aparelho de codificação de imagem e no aparelho de decodificação de imagem. Por exemplo, tais etapas são executadas por um computador. Além disso, a presente invenção pode ser implementada para induzir um computador para executar as etapas incluídas no método como um programa. A- lém disso, a presente invenção pode ser implementada como uma mídia de gravação legível por computador, tal como um CD-ROM que grava o programa.
Desta maneira, o aparelho de codificação de imagem e o aparelho de decodificação de imagem são implementados como um aparelho de codificação e decodificação de imagem ao combinar os elementos componentes do aparelho de codificação de imagem e do aparelho de decodificação de imagem.
Além disso, cada um dos elementos componentes incluídos no aparelho de codificação de imagem e no aparelho de decodificação de imagem pode ser implementado como uma Integração em Grande Escala (LSI). Os elementos componentes podem ser construídos em um chip ou em uma pluralidade de chips a fim de incluir todos ou uma parte dos elementos com-ponentes. Por exemplo, os elementos componentes a não ser uma memória podem ser integrados em um único chip. O nome usado aqui é LSI, mas ele também pode ser chamado de IC, sistema LSI, super LSI ou ultra LSI de-pendendo do grau de integração.
Além disso, modos para alcançar integração não estão limitados ao LSI, e um circuito especial ou um processador de uso geral e assim por diante também pode alcançar a integração. Também é aceitável usar uma
Matriz de Portas Programáveis em Campo (FPGA) que seja programável, e um processador reconfigurável em que conexões e arranjos de células de circuito dentro do LSI sejam reconfiguráveis.
No futuro, com o avanço na tecnologia de semicondutores, uma tecnologia de nova marca pode substituir LSI. Os elementos componentes incluídos no aparelho de codificação de imagem e no aparelho de decodificação de imagem podem ser integrados em um circuito usando uma tecnologia como esta. Modalidade 6
O processamento descrito em cada uma das modalidades pode ser implementado simplesmente ao gravar, em uma mídia de gravação, um programa para implementar o método de codificação de imagem em movimento (método de codificação de imagem) ou o método de decodificação de imagem em movimento (método de decodificação de imagem) descrito em cada uma das modalidades. A mídia de gravação pode ser qualquer mídia de gravação contanto que o programa possa ser gravado na mesma, tal como um disco magnético, um disco ótico, um disco ótico magnético, um cartão IC e uma memória semicondutora.
Em seguida, as aplicações para o método de codificação de i- magem em movimento (método de codificação de imagem) e o método de decodificação de imagem em movimento (método de decodificação de imagem) descritos em cada uma das modalidades e sistemas usando os mesmos serão descritas. O sistema é caracterizado por incluir um aparelho de codificação e decodificação de imagem incluindo um aparelho de codificação de imagem usando um método de codificação de imagem e um aparelho de decodificação de imagem usando um método de decodificação de imagem. Outra configuração no sistema pode ser mudada de forma apropriada de acordo com cada caso individual. A figura 14 ilustra uma configuração total de um sistema de for-necimento de conteúdo ex100 para implementar serviços de distribuição de conteúdo. A área para fornecer serviços de comunicação é dividida em células de tamanho desejado, e as estações base ex106 a ex110 que são esta- ções sem fio fixas estão localizadas em cada uma das células.
O sistema de fornecimento de conteúdo ex100 é conectado a dispositivos, tal como um computador ex111, um assistente digital pessoal (PDA) ex112, uma câmera ex113, um telefone celular ex114 e uma máquina de jogos ex115, por meio da Internet ex101, um provedor de serviços de Internet ex102, uma rede telefônica ex104, assim como as estações base ex106 a ex110.
Entretanto, a configuração do sistema de fornecimento de conteúdo ex100 não está limitada à configuração mostrada na figura 14, e uma combinação em que qualquer um dos elementos é conectado é aceitável. Além do mais, cada um dos dispositivos pode ser conectado diretamente à rede telefônica ex104, em vez de por meio das estações base ex106 a ex110 que são as estações sem fio fixas. Além disso, os dispositivos podem ser interligados uns aos outros por meio de uma comunicação sem fio de curta distância e outros.
A câmera ex113, tal como uma câmera de vídeo digital, é capaz de capturar vídeo. Uma câmera ex116, tal como uma câmera de vídeo digital, é capaz de capturar tanto imagens estáticas quanto vídeo. Além disso, o telefone celular ex114 pode ser um telefone que satisfaça qualquer um dos padrões tais como Sistema Global para Comunicações Móveis (GSM), A- cesso Múltiplo por Divisão de Código (CDMA), Acesso Múltiplo por Divisão de Código em Banda Larga (W-CDMA), Evolução de Longo Prazo (LTE) e Acesso a Pacotes em Alta Velocidade (HSPA). Alternativamente, o telefone celular ex114 pode ser um Sistema de Telefone Portátil Pessoal (PHS).
No sistema de fornecimento de conteúdo ex100, um servidor de fluxo contínuo ex103 é conectado à câmera ex113 e a outros por meio da rede telefônica ex104 e da estação base ex109, o que capacita distribuição de um show ao vivo e outros. Para uma distribuição como esta, um conteúdo (por exemplo, vídeo de um show ao vivo de música) capturado pelo usuário usando a câmera ex113 é codificado tal como descrito anteriormente em cada uma das modalidades, e o conteúdo codificado é transmitido para o servidor de fluxo contínuo ex103. Por outro lado, o servidor de fluxo contínuo ex103 executa distribuição de fluxo dos dados de conteúdo recebidos para os clientes mediante suas solicitações. Os clientes incluem o computador ex111,o PDA ex112, a câmera ex113, o telefone celular ex114 e a máquina de jogos ex115 que são capazes de decodificar os dados codificados mencionados anteriormente. Cada um dos dispositivos que tenha recebido os dados distribuídos decodifica e reproduz os dados codificados (isto é, funciona como um aparelho de decodificação de imagem de acordo com a presente invenção).
Os dados capturados podem ser codificados pela câmera ex113 ou pelo servidor de fluxo contínuo ex103 que transmite os dados, ou os processos de codificação podem ser compartilhados entre a câmera ex113 e o servidor de fluxo contínuo ex103. De forma similar, os dados distribuídos podem ser decodificados pelos clientes ou pelo servidor de fluxo contínuo ex103, ou os processos de decodificação podem ser compartilhados entre os clientes e o servidor de fluxo contínuo ex103. Além disso, os dados das imagens estáticas e de vídeo capturados não somente pela câmera ex113, mas também pela câmera ex116 podem ser transmitidos para o servidor de fluxo contínuo ex103 por meio do computador ex111. Os processos de codificação podem ser executados pela câmera ex116, pelo computador ex111 ou pelo servidor de fluxo contínuo ex103, ou compartilhados entre eles.
Além disso, os processos de codificação e de decodificação podem ser executados por um LSI ex500 de uma maneira geral incluído em cada um de o computador ex111 e os dispositivos. O LSI ex500 pode ser configurado de um único chip ou de uma pluralidade de chips. Software para codificar e decodificar imagens pode ser integrado em algum tipo de uma mídia de gravação (tal como um CD-ROM, um disco flexível, um disco rígido) que seja legível pelo computador ex111 e outros, e os processos de codificação e de decodificação podem ser executados usando o software. Além disso, quando o telefone celular ex114 é equipado com uma câmera, os dados de imagem em movimento obtidos pela câmera podem ser transmitidos. Os dados de vídeo são dados codificados pelo LSI ex500 incluídos no telefone celular ex114.
Além disso, o servidor de fluxo contínuo ex103 pode ser composto de servidores e computadores, e pode descentralizar dados e processar os dados descentralizados, gravar, ou distribuir dados.
Tal como descrito anteriormente, os clientes podem receber e reproduzir os dados codificados no sistema de fornecimento de conteúdo ex100. Em outras palavras, os clientes podem receber e decodificar informação transmitida pelo usuário, e reproduzir os dados decodificados em tempo real no sistema de fornecimento de conteúdo ex100, de maneira que o usuário que não tenha qualquer direito e equipamento particular pode implementar difusão pessoal.
Com exceção do exemplo do sistema de fornecimento de conteúdo ex100, pelo menos um de o aparelho de codificação de imagem em movimento (aparelho de codificação de imagem) e o aparelho de decodificação de imagem em movimento (aparelho de decodificação de imagem) descritos em cada uma das modalidades pode ser implementado em um sistema de difusão digital ex200 ilustrado na figura 15. Mais especificamente, uma estação de difusão ex201 comunica ou transmite, via ondas de rádio para um satélite de difusão ex202, dados multiplexados obtidos ao multiplexer dados de áudio e outros em dados de vídeo. Os dados de vídeo são dados codificados por meio do método de codificação de imagem em movimento descrito em cada uma das modalidades (isto é, dados codificados pelo aparelho de codificação de imagem de acordo com a presente invenção). Mediante recebimento dos dados multiplexados, o satélite de difusão ex202 transmite ondas de rádio para difusão. Então, uma antena de uso residencial ex204 com uma função de recepção de difusão por satélite recebe as ondas de rádio. A seguir, um dispositivo, tal como uma televisão (receptor) ex300 e um aparelho conversor de sinais (STB) ex217, decodifica os dados multiplexados recebidos e reproduz os dados decodificados (isto é, funciona como o aparelho de decodificação de imagem de acordo com a presente invenção).
Além disso, um leitor/gravador ex218 que (i) lê e decodifica os dados multiplexados gravados em uma mídia de gravação ex215, tal como um DVD e um BD, ou (ii) codifica sinais de vídeo na mídia de gravação ex215 e, em alguns casos, grava dados obtidos ao multiplexar um sinal de áudio nos dados codificados pode incluir o aparelho de decodificação de i- magem em movimento ou o aparelho de codificação de imagem em movimento tal como mostrado em cada uma das modalidades. Neste caso, os sinais de vídeo reproduzidos são exibidos no monitor ex219, e podem ser reproduzidos por um outro dispositivo ou sistema usando a mídia de gravação ex215 na qual os dados multiplexados estão gravados. Além disso, também é possível implementar o aparelho de decodificação de imagem no aparelho conversor de sinais ex217 conectado ao cabo ex203 para uma televisão por cabo ou à antena ex204 para difusão por satélite e/ou terrestre, a fim de exibir os sinais de vídeo no monitor ex219 da televisão ex300. O aparelho de decodificação de imagem em movimento pode ser incluído não no aparelho conversor de sinais, mas na televisão ex300. A figura 16 ilustra a televisão (receptor) ex300 que usa o método de codificação de imagem em movimento e o método de decodificação de imagem em movimento descritos em cada uma das modalidades. A televisão ex300 inclui: um sintonizador ex301 que obtém ou fornece dados multiplexados obtidos ao multiplexar dados de áudio em dados de vídeo, por meio da antena ex204 ou do cabo ex203, etc. que recebe uma difusão; uma unidade de modulação/demodulação ex302 que demodula os dados multiplexados recebidos ou modula dados em dados multiplexados a ser fornecidos para fora; e uma unidade de multiplexação/demultiplexação ex303 que demultiplexa os dados multiplexados modulados em dados de vídeo e dados de áudio, ou multiplexa dados de vídeo e dados de áudio codificados por uma unidade de processamento de sinal ex306 em dados.
A televisão ex300 inclui adicionalmente: uma unidade de pro-cessamento de sinal ex306 incluindo uma unidade de processamento de sinal de áudio ex304 e uma unidade de processamento de sinal de vídeo ex305 (funcionando como o aparelho de codificação de imagem ou o aparelho de decodificação de imagem de acordo com a presente invenção) que decodificam dados de áudio e dados de vídeo e codificam dados de áudio e dados de vídeo, respectivamente; um alto-falante ex307 que fornece o sinal de áudio decodificado; e uma unidade de saída ex309 incluindo uma unidade de exibição ex308 que exibe o sinal de vídeo decodificado, tal como um mostrador. Além disso, a televisão ex300 inclui uma unidade de interface ex317 incluindo uma unidade de entrada de operação ex312 que recebe uma entrada de uma operação de usuário. Além disso, a televisão ex300 inclui uma unidade de controle ex310 que controla totalmente cada elemento componente da televisão ex300, e uma unidade de circuito de fornecimento de energia ex311 que fornece energia para cada um dos elementos. A não ser a unidade de entrada de operação ex312, a unidade de interface ex317 pode incluir: uma ponte ex313 que é conectada a um dispositivo externo, tal como o leitor/gravador ex218; uma unidade de encaixe ex314 para capacitar encaixe da mídia de gravação ex216, tal como um cartão SD; um acionador ex315 para ser conectado a uma mídia de gravação externa, tal como um disco rígido; e um modem ex316 para ser conectado a uma rede telefônica. Aqui, a mídia de gravação ex216 pode gravar eletricamente informação u- sando um elemento de memória semicondutora não volátil/volátil para armazenamento. Os elementos componentes da televisão ex300 são conectados uns aos outros por meio de um barramento síncrono.
Primeiro, uma configuração na qual a televisão ex300 decodifica dados obtidos de fora por meio da antena ex204 e de outros e reproduz os dados decodificados será descrita. Na televisão ex300, mediante uma operação de usuário de um controlador remoto ex220 e outros, a unidade de multiplexação/demultiplexação ex303 demultiplexa os dados multiplexados demodulados pela unidade de modulação/demodulação ex302, sob controle da unidade de controle ex310 incluindo uma CPU. Além disso, a unidade de processamento de sinal de áudio ex304 decodifica os dados de áudio demul- tiplexados, e a unidade de processamento de sinal de vídeo ex305 decodifica os dados de vídeo demultiplexados, usando o método de decodificação descrito em cada uma das modalidades na televisão ex300. A unidade de saída ex309 fornece o sinal de vídeo decodificado e sinal de áudio para fora. Quando a unidade de saída ex309 fornece o sinal de vídeo e o sinal de áudio, os sinais podem ser armazenados temporariamente nos armazenamen- tos temporários ex318 e ex319, e em outros de maneira que os sinais sejam reproduzidos em sincronização uns com os outros. Além disso, a televisão ex300 pode ler um fluxo de bits codificado não por meio de uma difusão e outros, mas pelas mídias de gravação ex215 e ex216, tal como um disco magnético, um disco ótico e um cartão SD. A seguir, uma configuração na qual a televisão ex300 codifica um sinal de áudio e um sinal de vídeo, e transmite os dados para fora ou grava os dados em uma mídia de gravação será descrita. Na televisão ex300, mediante uma operação de usuário pelo controlador remoto ex220 e outros, a unidade de processamento de sinal de áudio ex304 codifica um sinal de áudio, e a unidade de processamento de sinal de vídeo ex305 codifica um sinal de vídeo, sob controle da unidade de controle ex310 usando o método de codificação descrito em cada uma das modalidades. A unidade de multiplexação/demultiplexaçâo ex303 multiplexa o sinal de vídeo e sinal de áudio codificados, e fornece o sinal resultante para fora. Quando a unidade de multiplexação/demultiplexaçâo ex303 multiplexa o sinal de vídeo e o sinal de áudio, os sinais podem ser armazenados temporariamente nos armazenamentos temporários ex320 e ex321, e em outros de maneira que os sinais sejam reproduzidos em sincronização uns com os outros. Aqui, os armazenamentos temporários ex318, ex319, ex320 e ex321 podem ser vários, tal como ilustrado, ou pelo menos um armazenamento temporário pode ser compartilhado na televisão ex300. Além disso, dados podem ser armazenados em um armazenamento temporário a não ser os armazenamentos temporários ex318 a ex321 de maneira que a sobrecarga e excesso de capacidade negativa de sistema podem ser evitados entre a unidade de modulação/demodulação ex302 e a unidade de multiple- xação/demultiplexação ex303, por exemplo.
Além disso, a televisão ex300 pode incluir uma configuração para receber uma entrada AV de um microfone ou de uma câmera a não ser a configuração para obter dados de áudio e de vídeo de uma difusão ou de uma mídia de gravação, e pode codificar os dados obtidos. Embora a televisão ex300 possa codificar, multiplexar e fornecer dados para fora na descrição, ela não pode ser capaz de executar todos os processos, mas ser capaz somente de um de receber, decodificar e fornecer dados para fora.
Além disso, quando o leitor/gravador ex218 lê ou grava dados multiplexados em uma mídia de gravação, um de a televisão ex300 e o lei-tor/gravador ex218 pode decodificar ou codificar os dados multiplexados, e a televisão ex300 e o leitor/gravador ex218 pode compartilhar a decodificação ou codificação.
Como um exemplo, a figura 17 ilustra uma configuração de uma unidade de reprodução/gravação de informação ex400 quando dados são lidos ou gravados em um disco ótico. A unidade de reprodução/gravação de informação ex400 inclui os elementos componentes ex401, ex402, ex403, ex404, ex405, ex406 e ex407 a ser descritos em seguida. A cabeça ótica ex401 irradia um ponto de laser em uma superfície de gravação da mídia de gravação ex215 que é um disco ótico para gravar informação, e detecta luz refletida pela superfície de gravação da mídia de gravação ex215 para ler a informação. A unidade de gravação de modulação ex402 aciona eletricamente um laser semicondutor incluído na cabeça ótica ex401, e modula a luz laser de acordo com dados gravados. A unidade de demodulação de reprodução ex403 amplifica um sinal de reprodução obtido ao detectar eletricamente a luz refletida pela superfície de gravação usando um fotodetector incluído na cabeça ótica ex401, e demodula o sinal de reprodução ao separar um componente de sinal gravado na mídia de gravação ex215 para reproduzir a informação necessária. O armazenamento temporário ex404 retém temporariamente a informação a ser gravada na mídia de gravação ex215 e a informação reproduzida da mídia de gravação ex215. Um motor de disco ex405 gira a mídia de gravação ex215. Uma unidade de servocon- trole ex406 desloca a cabeça ótica ex401 para uma trilha de informações predeterminada enquanto controlando o acionamento de rotação do motor de disco ex405 a fim de seguir o ponto de laser. A unidade de controle de sistema ex407 controla totalmente a unidade de reprodução/gravação de informação ex400. Os processos de leitura e gravação podem ser implementados pela unidade de controle de sistema ex407 usando várias informações armazenadas no armazenamento temporário ex404 e gerar e adicionar nova informação tal como necessário, e pela unidade de gravação de modulação ex402, a unidade de demodulação de reprodução ex403 e pela unidade de servocontrole ex406 que gravam e reproduzem informação por meio da cabeça ótica ex401 enquanto sendo operadas em um modo coordenado. A unidade de controle de sistema ex407 inclui, por exemplo, um microprocessador, e executa processamento ao fazer com que um computador execute um programa para leitura e gravação.
Embora a cabeça ótica ex401 irradie um ponto de laser na descrição, ela pode executar gravação de alta densidade usando luz de campo próximo. A figura 18 ilustra esquematicamente a mídia de gravação ex215 que é o disco ótico. Na superfície de gravação da mídia de gravação ex215, ranhuras de guiamento são criadas na forma de espiral, e uma trilha de informações ex230 grava, antecipadamente, informação de endereço indicando uma posição absoluta no disco de acordo com mudança em uma forma das ranhuras de guiamento. A informação de endereço inclui informação para determinar as posições de blocos de gravações ex231 que são uma unidade para gravar dados. Um aparelho que grava e reproduz dados reproduz a trilha de informações ex230 e lê a informação de endereço a fim de determinar as posições dos blocos de gravações. Além disso, a mídia de gravação ex215 inclui uma área de gravação de dados ex233, uma área de circunferência interna ex232, e uma área de circunferência externa ex234. A área de gravação de dados ex233 é uma área para uso ao gravar os dados de usuário. A área de circunferência interna ex232 e a área de circunferência externa ex234 que estão dentro e fora da área de gravação de dados ex233, respectivamente, são para uso específico exceto para gravar os dados de usuário. A unidade de reprodução/gravação de informação ex400 lê e grava dados de áudio codificados, dados de vídeo codificados, ou dados codificados obtidos ao multiplexar os dados de áudio codificados e os dados de vídeo codificados, na área de gravação de dados ex233 da mídia de gravação ex215.
Embora um disco ótico tendo uma camada, tal como um DVD e um BD, esteja descrito como um exemplo na descrição, o disco ótico não está limitado a tal, e pode ser um disco ótico tendo uma estrutura de múltiplas camadas e capaz de ser gravado em uma parte a não ser a superfície. Além disso, o disco ótico pode ter uma estrutura para gravação/reprodução multidimensional, tal como gravação de informação usando luz de cores com diferentes comprimentos de onda na mesma parte do disco ótico e gravar informação tendo diferentes camadas a partir de vários ângulos.
Além disso, um carro ex210 tendo uma antena ex205 pode receber dados do satélite ex202 e de outros, e reproduzir vídeo em um dispositivo de exibição tal como um sistema de navegação de carro ex211 instalado no carro ex210, no sistema de difusão digital ex200. Aqui, uma configuração do sistema de navegação de carro ex211 será a configuração incluindo, por exemplo, uma unidade de recebimento GPS na configuração ilustrada na figura 16. O mesmo será verdadeiro para a configuração do computador ex111,o telefone celular ex114 e para outros. A figura 19A ilustra o telefone celular ex114 que usa o método de codificação de imagem em movimento e o método de decodificação de imagem em movimento descritos nas modalidades. O telefone celular ex114 inclui: uma antena ex350 para transmitir e receber ondas de rádio por meio da estação base ex110; uma unidade de câmera ex365 capaz de capturar imagens móveis e estáticas; e uma unidade de exibição ex358 tal como uma tela de cristal líquido para exibir os dados tais como vídeo decodificado capturado pela unidade de câmera ex365 ou recebidos por meio da antena ex350. O telefone celular ex114 inclui adicionalmente: uma unidade de corpo principal incluindo um conjunto de teclas de operação ex366; uma unidade de saída de áudio ex357 tal como um alto-falante para saída de áudio; uma unidade de entrada de áudio ex356 tal como um microfone para entrada de áudio; uma unidade de memória ex367 para armazenar vídeo ou imagens estáticas capturadas, áudio gravado, dados codificados ou decodificados do vídeo recebido, as imagens estáticas, correio eletrônico, ou outros; e uma unidade de encaixe ex364 que é uma unidade de interface para uma mídia de gravação que armazena dados no mesmo modo que a unidade de me- mória ex367.
A seguir, um exemplo de uma configuração do telefone celular ex114 será descrito com referência à figura 19B. No telefone celular ex114, uma unidade de controle principal ex360 projetada para controlar totalmente cada unidade do corpo principal incluindo a unidade de exibição ex358 assim como as teclas de operação ex366 é conectada mutuamente, por meio de um barramento síncrono ex370, a uma unidade de circuito de fornecimento de energia ex361, a uma unidade de controle de entrada de operação ex362, a uma unidade de processamento de sinal de vídeo ex355, a uma unidade de interface de câmera ex363, a uma unidade de controle de tela de cristal líquido (LCD) ex359, a uma unidade de modulação/demodulação ex352, a uma unidade de multiplexação/demultiplexação ex353, a uma unidade de processamento de sinal de áudio ex354, à unidade de encaixe ex364 e à unidade de memória ex367.
Quando uma tecla de final de chamada e uma tecla de energia são LIGADAS por meio de uma operação do usuário, a unidade de circuito de fornecimento de energia ex360 provê as respectivas unidades com energia proveniente de um módulo de bateria a fim de ativar o telefone celular ex114 que é digital e é equipado com a câmera.
No telefone celular ex114, a unidade de processamento de sinal de áudio ex354 converte os sinais de áudio coletados pela unidade de entrada de áudio ex356 em modo de conversação por voz para sinais de áudio digital sob o controle da unidade de controle principal ex360 incluindo uma CPU, ROM e RAM. Então, a unidade de modulação/demodulação ex352 executa processamento de espectro espalhado nos sinais de áudio digital, e a unidade de transmissão e recepção ex351 executa conversão de digital para analógico e conversão de frequência nos dados, a fim de transmitir os dados resultantes por meio da antena ex350. Também, no telefone celular ex114, a unidade de transmissão e recepção ex351 amplifica os dados recebidos pela antena ex350 em modo de conversação por voz e executa conversão de frequência e a conversão de analógico para digital nos dados. Então, a unidade de modulação/demodulação ex352 executa processamen- to de espectro espalhado inverso nos dados, e a unidade de processamento de sinal de áudio ex354 os converte em sinais de áudio analógico, a fim de produzir os dados por meio da unidade de saída de áudio ex356.
Além disso, quando uma mensagem de correio eletrônico em modo de comunicação de dados é transmitida, dados de texto da mensagem de correio eletrônico introduzidos ao operar as teclas de operação ex366 e outras do corpo principal são enviados para fora da unidade de controle principal ex360 por meio da unidade de controle de entrada de operação ex362. Então, a unidade de modulação/demodulação ex352 executa processamento de espectro espalhado nos sinais de áudio digital, e a unidade de transmissão e recepção ex351 executa conversão de digital para analógico e conversão de frequência nos dados, a fim de transmitir os dados resultantes por meio da antena ex350. Quando uma mensagem de correio eletrônico é recebida, processamento que é aproximadamente o inverso ao processamento para transmitir uma mensagem de correio eletrônico é executado nos dados recebidos, e os dados resultantes são fornecidos para a unidade de exibição ex358.
Quando vídeo, imagens estáticas, ou vídeo e áudio em modo de comunicação de dados é ou são transmitidos, a unidade de processamento de sinal de vídeo ex355 compacta e codifica sinais de vídeo fornecidos pela unidade de câmera ex365 usando o método de codificação de imagem em movimento mostrado em cada uma das modalidades (isto é, funcionando como o aparelho de codificação de imagem de acordo com a presente invenção), e transmite os dados de vídeo codificados para a unidade de multi- plexação/demultiplexação ex353. Ao contrário, quando a unidade de câmera ex365 captura vídeo, imagens estáticas e outros, a unidade de processamento de sinal de áudio ex354 codifica sinais de áudio coletados pela unidade de entrada de áudio ex356, e transmite os dados de áudio codificados para a unidade de multiplexação/demultiplexaçâo ex353.
A unidade de multiplexação/demultiplexaçâo ex353 multiplexa os dados de vídeo codificados fornecidos pela unidade de processamento de sinal de vídeo ex355 e os dados de áudio codificados fornecidos pela unida- de de processamento de sinal de áudio ex354, usando um método prede-terminado. Então, a unidade de modulação/demodulação (unidade de circuito de modulação/demodulação) ex352 executa processamento de espectro espalhado nos sinais de áudio digital, e a unidade de transmissão e recepção ex351 executa conversão de digital para analógico e conversão de frequência nos dados, a fim de transmitir os dados resultantes por meio da antena ex350.
Ao receber dados de um arquivo de vídeo que é ligado a uma página da Rede e a outros em modo de comunicação de dados ou ao receber uma mensagem de correio eletrônico com vídeo e/ou áudio anexados, a fim de decodificar os dados multiplexados recebidos por meio da antena ex350, a unidade de multiplexação/demultiplexação ex353 demultiplexa os dados multiplexados em um fluxo de bits de dados de vídeo e em um fluxo de bits dados de áudio, e provê a unidade de processamento de sinal de vídeo ex355 com os dados de vídeo codificados e a unidade de processamento de sinal de áudio ex354 com os dados de áudio codificados, por meio do barramento síncrono ex370. A unidade de processamento de sinal de vídeo ex355 decodifica o sinal de vídeo usando um método de decodificação de imagem em movimento correspondendo ao método de codificação de imagem em movimento mostrado em cada uma das modalidades (isto é, funcionando como o aparelho de decodificação de imagem de acordo com a presente invenção), e então a unidade de exibição ex358 exibe, por exemplo, o vídeo e imagens estáticas incluídos no arquivo de vídeo ligado à página da Rede por meio da unidade de controle LCD ex359. Além disso, a unidade de processamento de sinal de áudio ex354 decodifica o sinal de áudio, e a unidade de saída de áudio ex357 fornece o áudio.
Além disso, de forma similar à televisão ex300, um terminal tal como o telefone celular ex114 pode ter 3 tipos de configurações de implementação incluindo não somente (i) um terminal de transmissão e recepção incluindo tanto um aparelho de codificação quanto um aparelho de decodificação, mas também (ii) um terminal de transmissão incluindo somente um aparelho de codificação e (iii) um terminal de recepção incluindo somente um aparelho de decodificação. Embora o sistema de difusão digital ex200 receba e transmita os dados multiplexados obtidos ao multiplexar dados de áudio em dados de vídeo na descrição, os dados multiplexados podem ser dados obtidos ao multiplexar não dados de áudio, mas dados de caracteres relacionados a vídeo em dados de vídeo, e podem não ser dados multiplexados, mas dados de vídeo propriamente ditos.
Como tal, o método de codificação de imagem em movimento e o método de decodificação de imagem em movimento em cada uma das modalidades podem ser usados em qualquer um dos dispositivos e sistemas descritos. Assim, as vantagens descritas em cada uma das modalidades podem ser obtidas.
Além disso, a presente invenção não está limitada às Modalidades, e várias modificações e revisões são possíveis sem divergir do escopo da presente invenção. Modalidade 7
Dados de vídeo podem ser gerados ao comutar, tal como necessário, entre (i) o método de codificação de imagem em movimento ou o aparelho de codificação de imagem em movimento mostrado em cada uma das modalidades e (ii) um método de codificação de imagem em movimento ou um aparelho de codificação de imagem em movimento em conformidade com um padrão diferente, tal como MPEG-2, MPEG-4 AVC e VC-1.
Aqui, quando uma pluralidade de dados de vídeo que estão de acordo com os padrões diferentes é gerada e é então decodificada, os métodos de decodificação necessitam ser selecionados para estar de acordo com os padrões diferentes. Entretanto, uma vez que com qual padrão cada um da pluralidade dos dados de vídeo a ser decodificados está de acordo não pode ser identificado, existe um problema em que um método de decodificação apropriado não pode ser selecionado.
A fim de resolver o problema, dados multiplexados obtidos ao multiplexar dados de áudio e outros em dados de vídeo têm uma estrutura incluindo informação de identificação indicando com qual padrão os dados de vídeo estão de acordo. A estrutura específica dos dados multiplexados incluindo os dados de vídeo gerados no método de codificação de imagem em movimento e pelo aparelho de codificação de imagem em movimento mostrados em cada uma das modalidades será descrita em seguida. Os dados multiplexados são um fluxo digital no formato de Fluxo de Transporte MPEG2. A figura 20 ilustra uma estrutura dos dados multiplexados. Tal como ilustrado na figura 20, os dados multiplexados podem ser obtidos ao multiplexer pelo menos um de um fluxo de vídeo, um fluxo de áudio, um fluxo de gráficos de apresentação (PG) e um fluxo de gráficos interativos. O fluxo de vídeo representa vídeo primário e vídeo secundário de um filme, o fluxo de áudio (IG) representa uma parte de áudio primário e uma parte de áudio secundário para ser misturada com a parte de áudio primário, e o fluxo de gráficos de apresentação representa legendas de um filme. Aqui, o vídeo primário é vídeo normal para ser exibido em uma tela, e o vídeo secundário é vídeo para ser exibido em uma janela menor no vídeo principal. Além disso, o fluxo de gráficos interativos representa uma tela interativa a ser gerada ao arranjar os componentes GUI em uma tela. O fluxo de vídeo é codificado no método de codificação de imagem em movimento ou pelo aparelho de codificação de imagem em movimento mostrado em cada uma das modalidades, ou em um método de codificação de imagem em movimento ou por um aparelho de codificação de imagem em movimento em conformidade com um padrão convencional, tal como MPEG-2, MPEG-4 AVC e VC-1. O fluxo de áudio é codificado de acordo com um padrão, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD e PCM linear.
Cada fluxo incluído nos dados multiplexados é identificado por meio de PID. Por exemplo, 0x1011 é alocado para o fluxo de vídeo a ser usado para vídeo de um filme, 0x1100 a 0x111F são alocados para os fluxos de áudio, 0x1200 para 0x121 F são alocados para os fluxos de gráficos de apresentação, 0x1400 a 0x141 F são alocados para os fluxos de gráficos interativos, 0x1 B00 a 0x1 B1F são alocados para os fluxos de vídeo a ser usados para vídeo secundário do filme, e 0x1 A00 a 0x1 A1F são alocados para os fluxos de áudio a ser usados para o vídeo secundário para ser misturado com o áudio primário. A figura 21 ilustra esquematicamente como dados são multiplexados. Primeiro, um fluxo de vídeo ex235 composto de quadros de vídeo e um fluxo de áudio ex238 composto de quadros de áudio são transformados em um fluxo de pacotes PES ex236 e em um fluxo de pacotes PES ex239, e adicionalmente nos pacotes TS ex237 e nos pacotes TS ex240, respectivamente. De forma similar, dados de um fluxo de gráficos de apresentação ex241 e dados de um fluxo de gráficos interativos ex244 são transformados em um fluxo de pacotes PES ex242 e em um fluxo de pacotes PES ex245, e adicionalmente nos pacotes TS ex243 e em pacotes TS ex246, respectivamente. Estes pacotes TS são multiplexados em um fluxo para obter os dados multiplexados ex247. A figura 22 ilustra como um fluxo de vídeo é armazenado em um fluxo de pacotes PES com mais detalhes. A primeira barra na figura 22 mostra um fluxo de quadros de vídeo em um fluxo de vídeo. A segunda barra mostra o fluxo de pacotes PES. Tal como indicado pelas setas denotadas como yy2, yy2, yy3 e yy4 na figura 22, o fluxo de vídeo é dividido em imagens tais como as imagens I, imagens B e as imagens P, cada uma das quais é uma unidade de apresentação de vídeo, e as imagens são armazenadas em uma carga útil de cada um dos pacotes PES. Cada um dos pacotes PES tem um cabeçalho PES, e o cabeçalho PES armazena uma etiqueta de tempo de apresentação (PTS) indicando um tempo de exibição da imagem, e uma etiqueta de tempo de decodificação (DTS) indicando um tempo de decodificação da imagem. A figura 23 ilustra um formato de pacotes TS a ser finalmente gravados nos dados multiplexados. Cada um dos pacotes TS é um pacote de comprimento fixado de 188 bytes incluindo um cabeçalho TS de 4 bytes tendo informação, tal como um PID para identificar um fluxo e uma carga útil TS de 184 bytes para armazenar dados. Os pacotes PES são divididos e armazenados nas cargas úteis TS, respectivamente. Quando um BD ROM é usado, a cada um dos pacotes TS é dado um TP_Extra_Header de 4 bytes, resultando assim em pacotes fontes de 192 bytes. Os pacotes fontes são gravados nos dados multiplexados. O TP_Extra_Header armazena informação tal como uma Arrival_Time_Stamp (ATS). A ATS mostra uma hora de início de transferência na qual cada um dos pacotes TS é para ser transferido para um filtro PID. Os pacotes fontes são arranjados nos dados multiplexados tal como mostrado na parte inferior da figura 23. Os números incrementando na cabeça dos dados multiplexados são chamados de números de pacotes fontes (SPNs).
Cada um dos pacotes TS incluídos nos dados multiplexados inclui não somente fluxos de áudio, vídeo, legendas e outros, mas também uma Tabela de Associação de Programas (PAT), uma Tabela de Mapeamento de Programas (PMT) e uma Referência de Relógio de Programa (P- CR). A PAT mostra o que um PID em uma PMT usada nos dados multiplexados indica, e um PID da PAT propriamente dita é registrado como zero. A PMT armazena PIDs dos fluxos de vídeo, áudio, legendas e outros incluídos nos dados multiplexados, e informação de atributo dos fluxos correspondendo aos PIDs. A PMT também tem vários descritores se relacionando com os dados multiplexados. Os descritores têm informação tal como informação de controle de cópia mostrando se cópia dos dados multiplexados é permitida ou não. A PCR armazena informação de tempo STC correspondendo a uma ATS mostrando quando o pacote PCR é transferido para um decodificador, a fim de alcançar sincronização entre um Relógio de Hora de chegada (ATC) que é um eixo de tempo de ATSs, e um Relógio de Sistema Comum (STC) que é um eixo de tempo de PTSs e DTSs. A figura 24 ilustra a estrutura de dados da PMT detalhadamente. Um cabeçalho PMT é disposto no topo da PMT. O cabeçalho PMT descreve o comprimento de dados incluídos na PMT e outros. Uma pluralidade de descritores se relacionando com os dados multiplexados é disposta após o cabeçalho PMT. Informação tal como a informação de controle de cópia é descrita nos descritores. Após os descritores é disposta uma pluralidade de peças de informação de fluxo se relacionando com os fluxos incluídos nos dados multiplexados. Cada peça de informação de fluxo inclui descritores de fluxo, cada um descrevendo informação tal como um tipo de fluxo para iden- tificar um codificador/decodificador de compressão de um fluxo, urn PID de fluxo e informação de atributo de fluxo (tai como uma taxa de quadros ou uma relação de aspectos). Os descritores de fluxo são iguais em número ao número de fluxos nos dados multiplexados.
Quando os dados multiplexados são gravados em uma mídia de gravação e em outros, eles são gravados juntamente com arquivos de infor-mações de dados multiplexados.
Cada um dos arquivos de informações de dados multiplexados é informação de gerenciamento dos dados multiplexados tal como mostrado na figura 25. Os arquivos de informações de dados multiplexados estão em correspondência de um para um com os dados multiplexados, e cada um dos arquivos inclui informação de dados multiplexados, informação de atributo de fluxo e um mapa de entrada.
Tal como ilustrado na figura 25, os dados multiplexados incluem uma taxa de sistema, uma hora de início de reprodução e uma hora de final de reprodução. A taxa de sistema indica a taxa de transferência máxima na qual um decodificador alvo de sistema a ser descrito mais tarde transfere os dados multiplexados para um filtro PID. Os intervalos das ATSs incluídas nos dados multiplexados são estabelecidos para não serem maiores que uma taxa de sistema. A hora de início de reprodução indica uma PTS em um quadro de vídeo na cabeça dos dados multiplexados. Um intervalo de um quadro é adicionado a uma PTS em um quadro de vídeo no final dos dados multiplexados, e a PTS é estabelecida para a hora de final de reprodução.
Tal como mostrado na figura 26, uma peça de informação de a- tributo é registrada na informação de atributo de fluxo, para cada PID de cada fluxo incluído nos dados multiplexados. Cada peça de informação de atributo tem informação diferente dependendo de se o fluxo correspondente é um fluxo de vídeo, um fluxo de áudio, um fluxo de gráficos de apresentação ou um fluxo de gráficos interativos. Cada peça de informação de atributo de fluxo de vídeo carrega informação incluindo qual tipo de codificador/decodificador de compressão é usado para compactar o fluxo de vídeo, e a resolução, relação de aspectos e taxa de quadros das peças de dados de imagem que são incluídos no fluxo de vídeo. Cada peça de informação de atributo de fluxo de áudio carrega informação incluindo qual tipo de codi- ficador/decodificador de compressão é usado para compactar o fluxo de áudio, quantos canais estão incluídos no fluxo de áudio, qual linguagem o fluxo de áudio suporta e quão alta é a frequência de amostragem. A informação de atributo de fluxo de vídeo e a informação de atributo de fluxo de áudio são usadas para inicialização de um decodificador antes de o reprodutor reproduzir a informação.
Na Modalidade 7, os dados multiplexados a ser usados são de um tipo de fluxo incluído na PMT. Além disso, quando os dados multiplexados são gravados em uma mídia de gravação, a informação de atributo de fluxo de vídeo incluída na informação de dados multiplexados é usada. Mais especificamente, o método de codificação de imagem em movimento ou o aparelho de codificação de imagem em movimento descritos em cada uma das modalidades inclui uma etapa ou uma unidade para alocar informação exclusiva indicando dados de vídeo gerados pelo método de codificação de imagem em movimento ou pelo aparelho de codificação de imagem em movimento em cada uma das modalidades, para o tipo de fluxo incluído na PMT ou na informação de atributo de fluxo de vídeo. Com a configuração, os dados de vídeo gerados pelo método de codificação de imagem em movimento ou pelo aparelho de codificação de imagem em movimento descritos em cada uma das modalidades podem ser distinguidos de dados de vídeo que estejam de acordo com um outro padrão.
Além disso, a figura 27 ilustra etapas do método de decodificação de imagem em movimento de acordo com a Modalidade 7. Na etapa exS100, o tipo de fluxo incluído na PMT ou na informação de atributo de fluxo de vídeo é obtido dos dados multiplexados. A seguir, na etapa exS101, é determinado se o tipo de fluxo ou a informação de atributo de fluxo de vídeo indica que os dados multiplexados são ou não gerados pelo método de codificação de imagem em movimento ou pelo aparelho de codificação de imagem em movimento em cada uma das modalidades. Quando é determinado que o tipo de fluxo ou a informação de atributo de fluxo de vídeo indica que os dados multiplexados são gerados pelo método de codificação de imagem em movimento ou pelo aparelho de codificação de imagem em movimento em cada uma das modalidades, na etapa exS102, o tipo de fluxo ou a informação de atributo de fluxo de vídeo é decodificada pelo método de decodificação de imagem em movimento em cada uma das modalidades. Além disso, quando o tipo de fluxo ou a informação de atributo de fluxo de vídeo indica conformidade com os padrões convencionais, tais como MPEG-2, MPEG- 4 AVC e VC-1, na etapa exS103, o tipo de fluxo ou a informação de atributo de fluxo de vídeo é decodificada por meio de um método de decodificação de imagem em movimento em conformidade com os padrões convencionais.
Como tal, alocar um novo valor exclusivo para o tipo de fluxo ou para a informação de atributo de fluxo de vídeo capacita determinação de se o método de decodificação de imagem em movimento ou o aparelho de decodificação de imagem em movimento que é descrito em cada uma das modalidades pode ou não executar decodificação. Mesmo mediante uma entrada de dados multiplexados que estejam de acordo com um padrão diferente, um método ou aparelho de decodificação apropriado pode ser selecionado. Assim, torna-se possível decodificar informação sem qualquer erro. Além disso, o método ou aparelho de codificação de imagem em movimento, ou o método ou aparelho de decodificação de imagem em movimento na Modalidade 7 pode ser usado nos dispositivos e sistemas descritos anteriormente. Modalidade 8
Cada um de o método de codificação de imagem em movimento, o aparelho de codificação de imagem em movimento, o método de decodificação de imagem em movimento e o aparelho de decodificação de imagem em movimento em cada uma das modalidades tipicamente é alcançado na forma de um circuito integrado ou em um circuito Integrado em Grande Escala (LSI). Como um exemplo do LSI, a figura 28 ilustra uma configuração do LSI ex500 que é construído em um chip. O LSI ex500 inclui os elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 e ex509 a ser descritos a seguir, e os elementos são conectados uns aos outros por meio de um barramento ex510. A unidade de circuito de fornecimento de energia ex505 é ativada ao prover cada um dos elementos com energia quando a unidade de circuito de fornecimento de energia ex505 é ligada.
Por exemplo, quando codificação é executada, o LSI ex500 recebe um sinal AV de um microfone ex117, de uma câmera ex113 e de outros por meio de uma entrada/saída AV ex509 sob controle de uma unidade de controle ex501 incluindo uma CPU ex502, um controlador de memória ex503, um controlador de fluxo ex504 e uma unidade de controle de frequência de acionamento ex512. O sinal AV recebido é armazenado temporariamente em uma memória externa ex511, tal como uma SDRAM. Sob controle da unidade de controle ex501, os dados armazenados são segmentados em partes de dados de acordo com a quantidade e velocidade de computação para serem transmitidos para uma unidade de processamento de sinal ex507. Então, a unidade de processamento de sinal ex507 codifica um sinal de áudio e/ou um sinal de vídeo. Aqui, a codificação do sinal de vídeo é a codificação descrita em cada uma das modalidades. Além disso, a unidade de processamento de sinal ex507 algumas vezes multiplexa os dados de áudio codificados e os dados de vídeo codificados, e uma entrada/saída de fluxo ex506 fornece os dados multiplexados para fora. Os dados multiplexados fornecidos são transmitidos para a estação base ex107, ou gravados na mídia de gravação ex215. Quando conjuntos de dados são multiplexados, os conjuntos de dados devem ser armazenados temporariamente no armazenamento temporário ex508 de maneira que os conjuntos de dados fiquem sincronizados uns com os outros.
Embora a memória ex511 seja um elemento fora do LSI ex500, ela pode ser incluída no LSI ex500. O armazenamento temporário ex508 não está limitado a um armazenamento temporário, mas pode ser composto de armazenamentos temporários. Além disso, o LSI ex500 pode ser construído em um chip ou em uma pluralidade de chips.
Além disso, embora a unidade de controle ex501 inclua a CPU ex502, o controlador de memória ex503, o controlador de fluxo ex504, a unidade de controle de frequência de acionamento ex512, a configuração da unidade de controle ex501 não está limitada a isso. Por exemplo, a unidade de processamento de sinal ex507 pode incluir adicionalmente uma CPU. Inclusão de uma outra CPU na unidade de processamento de sinal ex507 pode melhorar a velocidade de processamento. Além disso, como um outro exemplo, a CPU ex502 pode servir como ou ser uma parte da unidade de processamento de sinal ex507 e, por exemplo, pode incluir uma unidade de processamento de sinal de áudio. Em um caso como este, a unidade de controle ex501 inclui a unidade de processamento de sinal ex507 ou a CPU ex502 incluindo uma parte da unidade de processamento de sinal ex507.
O nome usado aqui é LSI, mas ele também pode ser chamado de IC, sistema LSI, super LSI ou ultra LSI dependendo do grau de integração.
Além disso, modos para alcançar integração não estão limitados ao LSI, e um circuito especial ou um processador de uso geral e assim por diante também pode alcançar a integração. Matriz de Portas Programáveis em Campo (FPGA) que pode ser programada após fabricação de LSIs ou um processador reconfigurável que permita reconfiguração da conexão ou configuração de um LSI pode ser usado para o mesmo propósito.
No futuro, com o avanço na tecnologia de semicondutores, uma tecnologia de nova marca pode substituir LSI. Os blocos funcionais podem ser integrados usando uma tecnologia como esta. A possibilidade é que a presente invenção seja aplicada para biotecnologia. Modalidade 9
Quando dados de vídeo são decodificados no método de decodi-ficação de imagem em movimento ou pelo aparelho de decodificação de i- magem em movimento descritos em cada uma das modalidades, comparado a quando dados de vídeo que estão de acordo com um padrão convencional, tal como MPEG-2, MPEG-4 AVC e VC-1, a quantidade de computação provavelmente aumenta. Assim, o LSI ex500 necessita ser estabelecido para uma frequência de acionamento maior que aquela da CPU ex502 a ser usada quando dados de vídeo em conformidade com o padrão convencional são decodificados. Entretanto, quando a frequência de acionamento é estabelecida maior, existe um problema em que o consumo de energia aumenta.
A fim de resolver o problema, o aparelho de decodificação de imagem em movimento, tal como a televisão ex300 e o LSI ex500, é configurado para determinar com qual padrão os dados de vídeo estão de acordo, e comutar entre as frequências de acionamento de acordo com o padrão determinado. A figura 29 ilustra uma configuração ex800 na Modalidade 9. Uma unidade de comutação de frequência de acionamento ex803 estabelece uma frequência de acionamento para uma frequência de acionamento mais alta quando dados de vídeo são gerados pelo método de codificação de imagem em movimento ou pelo aparelho de codificação de imagem em movimento descritos em cada uma das modalidades. Então, a unidade de comutação de frequência de acionamento ex803 instrui uma unidade de processamento de decodificação ex801 que executa o método de decodificação de imagem em movimento descrito em cada uma das modalidades para decodificar os dados de vídeo. Quando os dados de vídeo estão de acordo com o padrão convencional, a unidade de comutação de frequência de acio-namento ex803 estabelece uma frequência de acionamento para uma frequência de acionamento mais baixa que aquela dos dados de vídeo gerados pelo método de codificação de imagem em movimento ou pelo aparelho de codificação de imagem em movimento descritos em cada uma das modalidades. Então, a unidade de comutação de frequência de acionamento ex803 instrui a unidade de processamento de decodificação ex802 que está de a- cordo com o padrão convencional para decodificar os dados de vídeo.
Mais especificamente, a unidade de comutação de frequência de acionamento ex803 inclui a CPU ex502 e a unidade de controle de frequência de acionamento ex582 na figura 28. Aqui, cada uma de a unidade de processamento de decodificação ex802 que executa o método de decodificação de vídeo descrito em cada uma das modalidades e a unidade de processamento de decodificação ex802 que está de acordo com o padrão convencional corresponde à unidade de processamento de sinal ex507 na figura 28. A CPU ex502 determina com qual padrão os dados de vídeo estão de acordo. Então, a unidade de controle de frequência de acionamento ex512 determina uma frequência de acionamento com base em um sinal da CPU ex502. Além disso, a unidade de processamento de sinal ex507 decodifica os dados de vídeo com base em um sinal da CPU ex502. Por exemplo, a informação de identificação descrita na Modalidade 7 provavelmente é usada para identificar os dados de vídeo. A informação de identificação não está limitada à informação descrita na Modalidade 7, mas pode ser qualquer informação contanto que a informação indique com qual padrão os dados de vídeo estão de acordo. Por exemplo, quando com qual padrão os dados de vídeo estão de acordo pode ser determinado com base em um sinal externo para determinar que os dados de vídeo são usados para uma televisão ou para um disco, etc., a determinação pode ser feita com base em um sinal externo como este. Além disso, a CPU ex502 seleciona uma frequência de acionamento com base, por exemplo, em uma tabela de consulta em que os padrões dos dados de vídeo estão associados com as frequências de acionamento tal como mostrado na figura 31. A frequência de acionamento pode ser selecionada ao armazenar a tabela de consulta no armazenamento temporário ex508 e em uma memória interna de um LSI e com referência para a tabela de consulta pela CPU ex502. A figura 30 ilustra etapas para executar um método na Modalidade 9. Primeiro, na etapa exS200, a unidade de processamento de sinal ex507 obtém informação de identificação dos dados multiplexados. A seguir, na etapa exS201, a CPU ex502 determina se os dados de vídeo são ou não gerados com base na informação de identificação pelo método de codificação e pelo aparelho de codificação descritos em cada uma das modalidades. Quando os dados de vídeo são gerados pelo método de codificação e pelo aparelho de codificação descritos em cada uma das modalidades, na etapa exS202, a CPU ex502 transmite um sinal para estabelecer a frequência de acionamento para uma frequência de acionamento mais alta para a unidade de controle de frequência de acionamento ex512. Então, a unidade de controle de frequência de acionamento ex512 estabelece a frequência de acionamento para a frequência de acionamento mais alta. Por outro lado, quando a informação de identificação indica que os dados de vídeo estão de a- cordo com o padrão convencional, tal como MPEG-2, MPEG-4 AVC e VC-1, na etapa exS203, a CPU ex502 transmite um sinal para estabelecer a fre-quência de acionamento para uma frequência de acionamento mais baixa para a unidade de controle de frequência de acionamento ex512. Então, a unidade de controle de frequência de acionamento ex512 estabelece a frequência de acionamento para a frequência de acionamento mais baixa que aquela no caso onde os dados de vídeo são gerados pelo método de codificação e pelo aparelho de codificação descritos em cada uma das modalidades.
Além disso, juntamente com a comutação das frequências de a- cionamento, o efeito de conservação de energia pode ser melhorado ao mudar a tensão a ser aplicada ao LSI ex500 ou a um aparelho incluindo o LSI ex500. Por exemplo, quando a frequência de acionamento é estabelecida mais baixa, a tensão a ser aplicada ao LSI ex500 ou ao aparelho incluindo o LSI ex500 provavelmente é estabelecida para uma tensão menor que aquela no caso onde a frequência de acionamento é estabelecida mais alta.
Além disso, quando a quantidade de computação para decodificação é maior, a frequência de acionamento pode ser estabelecida maior, e quando a quantidade de computação para decodificação é menor, a frequência de acionamento pode ser estabelecida menor como o método para estabelecer a frequência de acionamento. Assim, o método de estabelecimento não está limitado aos métodos descritos anteriormente. Por exemplo, quando a quantidade de computação para decodificar dados de vídeo em conformidade com MPEG-4 AVC é maior que a quantidade de computação para decodificar dados de vídeo gerados pelo método de codificação de i- magem em movimento e pelo aparelho de codificação de imagem em movimento descritos em cada uma das modalidades, a frequência de acionamento provavelmente é estabelecida na ordem inversa à do estabelecimento descrito anteriormente.
Além disso, o método para estabelecer a frequência de acionamento não está limitado ao método para estabelecer a frequência de acionamento mais baixa. Por exemplo, quando a informação de identificação indica que os dados de vídeo são gerados pelo método de codificação de imagem em movimento e pelo aparelho de codificação de imagem em movimento descritos em cada uma das modalidades, a tensão a ser aplicada ao LSI ex500 ou ao aparelho incluindo o LSI ex500 provavelmente é estabelecida maior. Quando a informação de identificação indica que os dados de vídeo estão de acordo com o padrão convencional, tal como MPEG-2, MPEG-4 AVC e VC-1, a tensão a ser aplicada ao LSI ex500 ou ao aparelho incluindo o LSI ex500 provavelmente é estabelecida menor. Como um outro exemplo, quando a informação de identificação indica que os dados de vídeo são gerados pelo método de codificação de imagem em movimento e pelo aparelho de codificação de imagem em movimento descritos em cada uma das modalidades, o acionamento da CPU ex502 provavelmente não têm que ser suspenso. Quando a informação de identificação indica que os dados de vídeo estão de acordo com o padrão convencional, tal como MPEG-2, MPEG-4 AVC e VC-1, o acionamento da CPU ex502 provavelmente é suspenso em um dado momento porque a CPU ex502 tem capacidade de processamento extra. Mesmo quando a informação de identificação indica que os dados de vídeo são gerados pelo método de codificação de imagem em movimento e pelo aparelho de codificação de imagem em movimento descritos em cada uma das modalidades, no caso onde a CPU ex502 pode ter um tempo de atraso, o acionamento da CPU ex502 provavelmente é suspenso em um dado momento. Em um caso como este, o tempo de suspensão provavelmente é estabelecido menor que aquele no caso onde a informação de identificação indica que os dados de vídeo estão de acordo com o padrão convencional, tal como MPEG-2, MPEG-4 AVC e VC-1.
Desta maneira, o efeito de conservação de energia pode ser me-lhorado ao comutar entre as frequências de acionamento de acordo com o padrão com o qual os dados de vídeo estão de acordo. Além disso, quando o LSI ex500 ou o aparelho incluindo o LSI ex500 é acionado usando uma bateria, a vida de bateria pode ser estendida com o efeito de conservação de energia. Modalidade 10
Existem casos onde uma pluralidade de dados de vídeo que es- tão de acordo com um padrão diferente é fornecida para os dispositivos e sistemas, tais como uma televisão e um telefone móvel. A fim de capacitar decodificação da pluralidade de dados de vídeo que estão de acordo com os padrões diferentes, a unidade de processamento de sinal ex507 do LSI ex500 necessita estar de acordo com os padrões diferentes. Entretanto, os problemas de aumento na escala do circuito do LSI ex500 e aumento no custo surgem com o uso individual das unidades de processamento de sinal ex507 que estão de acordo com os respectivos padrões.
A fim de resolver o problema, o que é concebido é uma configuração na qual a unidade de processamento de decodificação para implementar o método de decodificação de imagem em movimento descrito em cada uma das modalidades e a unidade de processamento de decodificação que está de acordo com o padrão convencional, tal como MPEG-2, MPEG-4 AVC e VC-1, são compartilhadas parcialmente. Ex900 na figura 32A mostra um exemplo da configuração. Por exemplo, o método de decodificação de imagem em movimento descrito em cada uma das modalidades e o método de decodificação de imagem em movimento que está de acordo com MPEG- 4 AVC têm, parcialmente em comum, os detalhes de processamento, tais como codificação de entropia, quantificação inversa, filtragem redutora de blocagem e predição de movimento compensado. Os detalhes de processamento a ser compartilhados provavelmente incluem uso de uma unidade de processamento de decodificação ex902 que esteja de acordo com MPEG-4 AVC. Em contraste, uma unidade de processamento de decodificação dedicada ex901 provavelmente é usada para outro processamento exclusivo para a presente invenção. Uma vez que a presente invenção é caracterizada por compensação de movimento em particular, por exemplo, a unidade de processamento de decodificação dedicada ex901 é usada para a compensação de movimento. De outro modo, a unidade de processamento de decodificação provavelmente é compartilhada para uma de a codificação de entropia, quantificação inversa, filtragem redutora de blocagem e quantificação inversa, ou para todo o processamento. A unidade de processamento de decodificação para implementar o método de decodificação de imagem em movimento descrito em cada uma das modalidades pode ser compartilhada para o processamento a ser compartilhado, e uma unidade de processamento de decodificação dedicada pode ser usada para processamento exclusivo para aquele do padrão MPEG-4 AVC.
Além disso, ex1000 na figura 32B mostra um outro exemplo em que processamento é compartilhado parcialmente. Este exemplo usa uma configuração incluindo uma unidade de processamento de decodificação dedicada ex1001 que suporta o processamento exclusivo para a presente invenção, uma unidade de processamento de decodificação dedicada ex1002 que suporta o processamento exclusivo para um outro padrão convencional, e uma unidade de processamento de decodificação ex1003 que suporta processamento a ser compartilhado entre o método de decodificação de imagem em movimento da presente invenção e o método de decodi- ficação de imagem em movimento convencional. Aqui, as unidades de processamento de decodificação dedicadas ex1001 e ex1002 não estão necessariamente especializadas para o processamento da presente invenção e para o processamento do padrão convencional, respectivamente, e podem ser as unidades de processamento capazes de implementar geral processamento. Além disso, a configuração da Modalidade 10 pode ser implementada pelo LSI ex500.
Como tal, redução da escala do circuito de um LSI e redução do custo são possíveis ao compartilhar a unidade de processamento de decodi- ficação para o processamento a ser compartilhado entre o método de decodificação de imagem em movimento da presente invenção e o método de decodificação de imagem em movimento em conformidade com o padrão convencional.
Aplicabilidade Industrial
O método de codificação de imagem e o método de decodificação de imagem de acordo com a presente invenção são aplicáveis, por e- xemplo, para televisões, gravadores de vídeo digital, sistemas de navegação de carro, telefones celulares, câmeras digitais e câmeras de vídeo digital. Lista de Símbolos de Referência 100, 300 Aparelho de codificação de imagem 101 Unidade de subtração 102 Unidade de transformação ortogonal 103 Unidade de quantificação 5 104 Unidade de codificação de comprimento variável 105, 205 Unidade de quantificação inversa 106, 206 Unidade de transformação ortogonal inversa 107, 207 Unidade de adição 108, 208 Memória de blocos 10 109, 209 Memória de quadros 110, 210 Unidade de predição intra 111,211 Unidade de predição inter 112, 212 Unidade de comutação 113 Unidade de determinação de tipo de imagem 15 114, 214 Unidade de controle de predição inter 115, 215 Unidade de gerenciamento de listas de imagens de referência 116, 216 Unidade de determinação de adição 200, 400 Aparelho de decodificação de imagem 20 204 Unidade de decodificação de comprimento variável 301,401, 501 Unidade de adição 302, 402, 502 Unidade de seleção 303, 503 Unidade de seleção 403, 504 Unidade de decodificação 25 500 Aparelho de codificação e decodificação de imagem

Claims (6)

1. Método de codificação de imagem de codificar uma imagem corrente por bloco com bi-predição usando ambas de (i) uma primeira lista de imagens de referência incluindo uma primeira imagem de referência corrente para um bloco corrente, a primeira imagem de referência corrente sendo referida por um primeiro vetor de movimento corrente, e (ii) uma segunda lista de imagens de referência incluindo uma segunda imagem de referência corrente para o bloco corrente, a segunda imagem de referência corrente sendo referida por um segundo vetor de movimento corrente, o dito método compreendendo: julgar (S302) se a segunda imagem de referência corrente para o bloco corrente é idêntica a uma segunda imagem de referência adjacente para um bloco adjacente, o referido bloco adjacente sendo adjacente ao bloco corrente e codificado com bi-predição, a segunda imagem de referência adjacente sendo (i) incluída em uma segunda lista de imagens de referência adjacente e (ii) referido por um segundo vetor de movimento adjacente; quando a segunda imagem de referência corrente é considerada idêntica à segunda imagem de referência adjacente, adicionar (S303) o segundo vetor de movimento adjacente a uma lista de candidatos para o segundo vetor de movimento corrente; julgar (S403) se a segunda imagem de referência corrente é ou não idêntica a uma primeira imagem de referência adjacente para o bloco adjacente, sendo a primeira imagem de referência adjacente (i) incluída em uma primeira lista de imagens de referência adjacente e (ii) referida pelo primeiro vetor de movimento adjacente; quando a segunda imagem de referência corrente é considerada idêntica à primeira imagem de referência adjacente, adicionar (S404) o primeiro vetor de movimento adjacente à lista de candidatos para o segundo vetor de movimento corrente; selecionar (S107, S112) um vetor de movimento previsto a ser usado para codificar o segundo vetor de movimento corrente da lista de candidatos para o segundo vetor de movimento corrente; e codificar (S107, S112) o segundo vetor de movimento corrente usando o vetor de movimento previsto selecionado, em que a segunda etapa de julgamento (S403) é realizada apenas quando a segunda imagem de referência corrente é considerada não idêntica à segunda imagem de referência adjacente.
2. Aparelho de codificação de imagem para codificar uma imagem corrente por bloco com predição dupla usando ambas (i) uma primeira lista de imagens de referência incluindo uma primeira imagem de referência corrente para um bloco corrente, a primeira imagem de referência corrente sendo referida por um primeiro movimento de corrente vetor e (ii) uma segunda lista de imagens de referência incluindo uma segunda imagem de referência corrente para o bloco corrente, sendo a segunda imagem de referência corrente referida por um segundo vetor de movimento corrente, o referido aparelho compreendendo: uma unidade de adição (301) configurada para: julgar (S302) se a segunda imagem de referência corrente para o bloco corrente é idêntica a uma segunda imagem adjacente de referência para um bloco adjacente, o referido bloco adjacente sendo adjacente ao bloco corrente e codificado com bi-predição, e a segunda referência adjacente imagem sendo (i) incluída em uma segunda lista de imagens de referência adjacente e (ii) referida pelo segundo vetor de movimento adjacente, quando a segunda imagem de referência corrente é considerada idêntica à segunda imagem de referência adjacente, adicionar (S303) o segundo vetor de movimento adjacente a uma lista de candidatos para o segundo vetor de movimento corrente, julgar (S403) se a segunda imagem de referência corrente é ou não idêntica a uma primeira imagem de referência adjacente para o bloco adjacente, sendo a primeira imagem de referência adjacente (i) incluída em uma primeira lista de imagens de referência adjacentes e (ii) referida pela primeiro vetor de movimento adjacente, quando a segunda imagem de referência corrente é considerada idêntica à primeira imagem de referência adjacente, adicionar (S404) o pri- meiro vetor de movimento adjacente à lista de candidatos para o segundo vetor de movimento corrente; uma unidade de seleção (302) configurada para selecionar um vetor de movimento previsto a ser usado para codificar o segundo vetor de movimento corrente da lista candidata para o segundo vetor de movimento corrente; e uma unidade de codificação (303) configurada para codificar o segundo vetor de movimento corrente usando o vetor de movimento previsto selecionado, em que a segunda etapa de julgamento (S403) é realizada apenas quando a segunda imagem de referência corrente é considerada não idêntica à segunda imagem de referência adjacente.
3. Método de codificação de imagem de acordo com a reivindicação 1, em que quando a segunda imagem de referência corrente é considerada não idêntica à primeira imagem de referência adjacente, o primeiro vetor de movimento adjacente não é adicionado à lista de candidatos para o segundo vetor de movimento corrente, e em que quando a segunda imagem de referência corrente é considerada não idêntica à segunda imagem de referência adjacente, o segundo vetor de movimento adjacente não é adicionado à lista de candidatos para o segundo vetor de movimento corrente.
4. Método de decodificação de imagem de decodificar uma imagem corrente por bloco com bi-predição usando ambas de (i) uma primeira lista de imagens de referência incluindo uma primeira imagem de referência corrente para um bloco corrente, a primeira imagem de referência corrente sendo referida por um primeiro vetor de movimento corrente, e (ii) uma segunda lista de imagens de referência incluindo uma segunda imagem de referência corrente para o bloco corrente, a segunda imagem de referência corrente sendo referida por um segundo vetor de movimento corrente, o dito método compreendendo: julgar (S302) se a segunda imagem de referência corrente para o bloco corrente é idêntica a uma segunda imagem de referência adjacente para um bloco adjacente, o referido bloco adjacente sendo adjacente ao bloco corrente e decodificado com bi-predição, a segunda imagem de referência adjacente sendo (i) incluído em uma segunda lista de imagens de referência adjacente e (ii) referido por um segundo vetor de movimento adjacente; quando a segunda imagem de referência corrente é considerada idêntica à segunda imagem de referência adjacente, adicionar (S303) o segundo vetor de movimento adjacente a uma lista de candidatos para o segundo vetor de movimento corrente; julgar (S403) se a segunda imagem de referência corrente é ou não idêntica a uma primeira imagem de referência adjacente para o bloco adjacente, sendo a primeira imagem de referência adjacente (i) incluída em uma primeira lista de imagens de referência adjacente e (ii) referida pelo primeiro vetor de movimento adjacente; quando a segunda imagem de referência corrente é considerada idêntica à primeira imagem de referência adjacente, adicionar (S404) o primeiro vetor de movimento adjacente à lista de candidatos para o segundo vetor de movimento corrente; selecionar (S606, S611) um vetor de movimento previsto a ser usado para decodificar o segundo vetor de movimento corrente da lista de candidatos para o segundo vetor de movimento corrente; e decodificar (S606, S611) o segundo vetor de movimento corrente usando o vetor de movimento previsto selecionado, em que a segunda etapa de julgamento (S403) é realizada quando a segunda imagem de referência corrente é considerada não idêntica à segunda imagem de referência adjacente.
5. Aparelho de codificação de imagem que codifica uma imagem corrente por bloco com bi-predição usando ambas de (i) uma primeira lista de imagens de referência incluindo uma primeira imagem de referência corrente para um bloco corrente, a primeira imagem de referência corrente sendo referida por um primeiro vetor de movimento corrente, e (ii) uma segunda lista de imagens de referência incluindo uma segunda imagem de referência corrente para o bloco corrente, a segunda imagem de referência corrente sendo referida por um segundo vetor de movimento corrente, o dito aparelho compreendendo: uma unidade de adição (401) configurada para julgar (S302) se a segunda imagem de referência corrente para o bloco corrente é idêntica a uma segunda imagem adjacente de referência para um bloco adjacente, o referido bloco adjacente sendo adjacente ao blo-co corrente e codificado com bi-predição, e a segunda referência adjacente imagem sendo (i) incluída em uma segunda lista de imagens de referência adjacente e (ii) referida pelo segundo vetor de movimento adjacente, quando a segunda imagem de referência corrente é considerada idêntica à segunda imagem de referência adjacente, adicionar (S303) o segundo vetor de movimento adjacente a uma lista de candidatos para o segundo vetor de movimento corrente, julgar (S403) se a segunda imagem de referência corrente é ou não idêntica a uma primeira imagem de referência adjacente para o bloco adjacente, sendo a primeira imagem de referência adjacente (i) incluída em uma primeira lista de imagens de referência adjacentes e (ii) referida pela primeiro vetor de movimento adjacente, quando a segunda imagem de referência corrente é considerada idêntica à primeira imagem de referência adjacente, adicionar (S404) o primeiro vetor de movimento adjacente à lista de candidatos para o segundo vetor de movimento corrente; uma unidade de seleção (402) configurada para selecionar um vetor de movimento previsto a ser usado para decodificar o segundo vetor de movimento corrente da lista candidata para o segundo vetor de movimento corrente; e uma unidade de decodificação (403) configurada para decodifi-car o segundo vetor de movimento corrente usando o vetor de movimento previsto selecionado, em que a segunda etapa de julgamento (S403) é realizada quando a segunda imagem de referência corrente é considerada não idêntica à segunda imagem de referência adjacente.
6. Método de decodificação de imagem, de acordo com a reivin-dicação 4, caracterizado pelo fato de que quando a segunda imagem de re- 5 ferência corrente é considerada não idêntica à primeira imagem de referência adjacente, o primeiro vetor de movimento adjacente não é adicionado à lista de candidatos para o segundo vetor de movimento corrente, e em que quando a segunda imagem de referência corrente é considerada não idêntica à segunda imagem de referência adjacente, o se- gundo vetor de movimento adjacente não é adicionado à lista de candidatos para o segundo vetor de movimento corrente.
BR112013002448-8A 2010-12-28 2011-12-27 Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem, e aparelho de codificação e decodificação de imagem. BR112013002448B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201061427587P 2010-12-28 2010-12-28
US61/427,587 2010-12-28
PCT/JP2011/007309 WO2012090491A1 (ja) 2010-12-28 2011-12-27 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、および、画像符号化復号装置

Publications (2)

Publication Number Publication Date
BR112013002448A2 BR112013002448A2 (pt) 2018-01-23
BR112013002448B1 true BR112013002448B1 (pt) 2021-08-31

Family

ID=46316778

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112013002448-8A BR112013002448B1 (pt) 2010-12-28 2011-12-27 Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem, e aparelho de codificação e decodificação de imagem.

Country Status (13)

Country Link
US (10) US9049455B2 (pt)
EP (2) EP2661087B1 (pt)
JP (2) JP6008291B2 (pt)
KR (1) KR101790378B1 (pt)
CN (2) CN103004205B (pt)
AU (2) AU2011353405B2 (pt)
BR (1) BR112013002448B1 (pt)
CA (1) CA2805663C (pt)
ES (2) ES2704960T3 (pt)
MX (1) MX2013000995A (pt)
PL (2) PL2661087T3 (pt)
SG (1) SG187185A1 (pt)
WO (1) WO2012090491A1 (pt)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130128983A1 (en) * 2010-12-27 2013-05-23 Toshiyasu Sugio Image coding method and image decoding method
US9049455B2 (en) 2010-12-28 2015-06-02 Panasonic Intellectual Property Corporation Of America Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block
US9635382B2 (en) * 2011-01-07 2017-04-25 Texas Instruments Incorporated Method, system and computer program product for determining a motion vector
US20130322535A1 (en) * 2011-02-21 2013-12-05 Electronics And Telecommunications Research Institute Method for encoding and decoding images using plurality of reference images and device using method
WO2012140821A1 (ja) 2011-04-12 2012-10-18 パナソニック株式会社 動画像符号化方法、動画像符号化装置、動画像復号化方法、動画像復号化装置、および動画像符号化復号化装置
TWI526056B (zh) 2011-04-27 2016-03-11 Jvc Kenwood Corp A moving picture coding apparatus, a motion picture coding method, a motion picture coding program, a transmission apparatus, a transmission method, a transmission program, a video decoding apparatus, a video decoding method, a video decoding program, a reception device, a reception method, Receiving program
WO2012147344A1 (ja) 2011-04-27 2012-11-01 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
EP3614665B1 (en) 2011-05-27 2022-03-23 Sun Patent Trust Apparatus, method and program for decoding moving pictures
TW201304552A (zh) 2011-05-31 2013-01-16 Panasonic Corp 動態圖像編碼方法、動態圖像編碼裝置、動態圖像解碼方法、動態圖像解碼裝置、及動態圖像編碼解碼裝置
GB2491589B (en) * 2011-06-06 2015-12-16 Canon Kk Method and device for encoding a sequence of images and method and device for decoding a sequence of image
PL3481066T3 (pl) 2011-06-28 2021-11-22 Lg Electronics Inc. Sposób wyprowadzania predyktora wektora ruchu
CN106851269B (zh) 2011-06-30 2019-11-15 太阳专利托管公司 图像解码方法及装置、图像编码方法及装置、编解码装置
IN2014CN00729A (pt) 2011-08-03 2015-04-03 Panasonic Corp
CN108881903B (zh) 2011-10-19 2022-01-04 太阳专利托管公司 图像编码方法及装置、图像解码方法及装置、编解码装置
JP2013098933A (ja) * 2011-11-04 2013-05-20 Sony Corp 画像処理装置および方法
US10003810B2 (en) * 2012-03-22 2018-06-19 Mediatek Inc. Method and apparatus of scalable video coding
RU2624578C2 (ru) * 2012-07-02 2017-07-04 Самсунг Электроникс Ко., Лтд. Способ и устройство для прогнозирования вектора движения для кодирования видео или декодирования видео
US9325990B2 (en) * 2012-07-09 2016-04-26 Qualcomm Incorporated Temporal motion vector prediction in video coding extensions
US9699450B2 (en) 2012-10-04 2017-07-04 Qualcomm Incorporated Inter-view predicted motion vector for 3D video
CN102883163B (zh) 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
CN102946536B (zh) * 2012-10-09 2015-09-30 华为技术有限公司 候选矢量列表构建的方法及装置
US9826239B2 (en) * 2013-01-07 2017-11-21 Lg Electronics Inc. Video signal processing method and device
US9628795B2 (en) * 2013-07-17 2017-04-18 Qualcomm Incorporated Block identification using disparity vector in video coding
CN104079944B (zh) 2014-06-30 2017-12-01 华为技术有限公司 视频编码的运动矢量列表构建方法和系统
EP3410717A1 (en) * 2017-05-31 2018-12-05 Thomson Licensing Methods and apparatus for candidate list pruning
US11394992B2 (en) * 2018-03-14 2022-07-19 Hfi Innovation Inc. Methods and apparatuses of generating average candidates in video coding systems
CN110365987B (zh) * 2018-04-09 2022-03-25 杭州海康威视数字技术股份有限公司 一种运动矢量确定方法、装置及其设备
TWI744661B (zh) 2018-06-29 2021-11-01 大陸商北京字節跳動網絡技術有限公司 要根據模式檢查的查找表中的運動候選的數量
CN114845108A (zh) 2018-06-29 2022-08-02 抖音视界(北京)有限公司 查找表的更新:fifo、约束的fifo
CN110662056B (zh) 2018-06-29 2022-06-07 北京字节跳动网络技术有限公司 哪个查找表需要更新或不更新
CN114885173A (zh) 2018-06-29 2022-08-09 抖音视界(北京)有限公司 Lut中的运动候选的检查顺序
BR112020024142A2 (pt) 2018-06-29 2021-03-02 Beijing Bytedance Network Technology Co., Ltd. método para processamento de vídeo, aparelho para codificação de dados de vídeo, meio de armazenamento e meio de gravação legíveis por computador não transitório
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
CN110662052B (zh) 2018-06-29 2022-07-08 北京字节跳动网络技术有限公司 更新查找表(lut)的条件
KR20240005239A (ko) 2018-06-29 2024-01-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut와 amvp 사이의 상호작용
CN113163211B (zh) * 2018-06-30 2023-01-03 Oppo广东移动通信有限公司 基于合并模式的帧间预测方法及装置
KR102606146B1 (ko) 2018-07-02 2023-11-23 후아웨이 테크놀러지 컴퍼니 리미티드 모션 벡터 예측 방법 및 관련 장치
TWI731364B (zh) 2018-07-02 2021-06-21 大陸商北京字節跳動網絡技術有限公司 Hmvp+非相鄰運動
CN116647696A (zh) 2018-09-06 2023-08-25 Lg电子株式会社 图像解码方法、图像编码方法、存储介质和发送方法
KR102585975B1 (ko) * 2018-09-12 2023-10-05 후아웨이 테크놀러지 컴퍼니 리미티드 참조 화상 리스트 구조를 위한 인덱스 시그널링
GB2590310B (en) 2018-09-12 2023-03-22 Beijing Bytedance Network Tech Co Ltd Conditions for starting checking HMVP candidates depend on total number minus K
WO2020133518A1 (zh) 2018-12-29 2020-07-02 深圳市大疆创新科技有限公司 视频处理方法和设备
KR20240010576A (ko) 2019-01-10 2024-01-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
CN113615193A (zh) 2019-03-22 2021-11-05 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
JP2022539657A (ja) * 2019-06-24 2022-09-13 アリババ グループ ホウルディング リミテッド 映像処理における適応解像度変更
US11934554B2 (en) 2021-05-17 2024-03-19 Bank Of America Corporation Information security by preventing unauthorized data access

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6625211B1 (en) * 1999-02-25 2003-09-23 Matsushita Electric Industrial Co., Ltd. Method and apparatus for transforming moving picture coding system
EP1830577A1 (en) 2002-01-18 2007-09-05 Kabushiki Kaisha Toshiba Video decoding method and apparatus
US7321626B2 (en) * 2002-03-08 2008-01-22 Sharp Laboratories Of America, Inc. System and method for predictive motion estimation using a global motion predictor
JP2004208258A (ja) * 2002-04-19 2004-07-22 Matsushita Electric Ind Co Ltd 動きベクトル計算方法
EP3525467B1 (en) 2002-04-19 2021-02-24 Panasonic Intellectual Property Corporation of America Bitstream decoding method and apparatus
PT3525465T (pt) 2002-04-19 2021-05-10 Panasonic Ip Corp America Método e aparelho de descodificação de imagens
JP2004023458A (ja) 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
KR100865034B1 (ko) 2002-07-18 2008-10-23 엘지전자 주식회사 모션 벡터 예측 방법
EP1562385B1 (en) * 2002-11-01 2014-07-02 Panasonic Corporation Motion picture encoding method and motion picture decoding method
US7400681B2 (en) * 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
KR100631768B1 (ko) 2004-04-14 2006-10-09 삼성전자주식회사 비디오 코딩에서 프레임간 예측방법 및 비디오 인코더와,비디오 디코딩방법 및 비디오 디코더
JP4702943B2 (ja) 2005-10-19 2011-06-15 キヤノン株式会社 画像処理装置及びその方法
CN101317463B (zh) 2006-03-16 2012-10-17 华为技术有限公司 在编解码中的实现量化的方法和装置
JP4822940B2 (ja) 2006-06-02 2011-11-24 キヤノン株式会社 画像処理装置及び画像処理方法
JP4884290B2 (ja) 2007-05-07 2012-02-29 パナソニック株式会社 動画像復号化集積回路、動画像復号化方法、動画像復号化装置及び動画像復号化プログラム
JP4650461B2 (ja) * 2007-07-13 2011-03-16 ソニー株式会社 符号化装置、符号化方法、プログラム、及び記録媒体
US9042455B2 (en) * 2008-08-19 2015-05-26 Thomson Licensing Propagation map
CN102160382A (zh) 2008-09-24 2011-08-17 索尼公司 图像处理设备和图像处理方法
US20100166073A1 (en) 2008-12-31 2010-07-01 Advanced Micro Devices, Inc. Multiple-Candidate Motion Estimation With Advanced Spatial Filtering of Differential Motion Vectors
JP5169978B2 (ja) * 2009-04-24 2013-03-27 ソニー株式会社 画像処理装置および方法
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
KR102004836B1 (ko) 2010-05-26 2019-07-29 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
US9300970B2 (en) * 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
US9124898B2 (en) * 2010-07-12 2015-09-01 Mediatek Inc. Method and apparatus of temporal motion vector prediction
US9357229B2 (en) * 2010-07-28 2016-05-31 Qualcomm Incorporated Coding motion vectors in video coding
US8824558B2 (en) 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
US20130128983A1 (en) * 2010-12-27 2013-05-23 Toshiyasu Sugio Image coding method and image decoding method
US9049455B2 (en) 2010-12-28 2015-06-02 Panasonic Intellectual Property Corporation Of America Image coding method of coding a current picture with prediction using one or both of a first reference picture list including a first current reference picture for a current block and a second reference picture list including a second current reference picture for the current block

Also Published As

Publication number Publication date
US20220201291A1 (en) 2022-06-23
AU2016202666B2 (en) 2017-08-31
AU2016202666A1 (en) 2016-05-26
CN106878749B (zh) 2019-09-24
US20160353102A1 (en) 2016-12-01
AU2011353405A1 (en) 2013-02-07
US9729877B2 (en) 2017-08-08
BR112013002448A2 (pt) 2018-01-23
CN103004205A (zh) 2013-03-27
US10638128B2 (en) 2020-04-28
EP2661087B1 (en) 2017-05-24
US20150229930A1 (en) 2015-08-13
AU2011353405B2 (en) 2016-01-28
US9264726B2 (en) 2016-02-16
JP6167409B2 (ja) 2017-07-26
MX2013000995A (es) 2013-03-22
WO2012090491A1 (ja) 2012-07-05
KR101790378B1 (ko) 2017-10-25
US20170272746A1 (en) 2017-09-21
CA2805663A1 (en) 2012-07-05
CN103004205B (zh) 2017-02-08
US20120163466A1 (en) 2012-06-28
JP6008291B2 (ja) 2016-10-19
KR20140029348A (ko) 2014-03-10
US20210076030A1 (en) 2021-03-11
US11310493B2 (en) 2022-04-19
JPWO2012090491A1 (ja) 2014-06-05
CN106878749A (zh) 2017-06-20
EP3200463B1 (en) 2018-10-31
US9445105B2 (en) 2016-09-13
ES2704960T3 (es) 2019-03-20
US20180262753A1 (en) 2018-09-13
ES2637615T3 (es) 2017-10-13
SG187185A1 (en) 2013-02-28
US10880545B2 (en) 2020-12-29
US20200154102A1 (en) 2020-05-14
PL2661087T3 (pl) 2017-10-31
PL3200463T3 (pl) 2019-03-29
US9049455B2 (en) 2015-06-02
EP2661087A1 (en) 2013-11-06
EP2661087A4 (en) 2014-10-29
US10574983B2 (en) 2020-02-25
JP2017011746A (ja) 2017-01-12
US20160105674A1 (en) 2016-04-14
US9998736B2 (en) 2018-06-12
CA2805663C (en) 2017-11-21
US20190132588A1 (en) 2019-05-02
EP3200463A1 (en) 2017-08-02

Similar Documents

Publication Publication Date Title
US20230105128A1 (en) Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
US10951911B2 (en) Image decoding method and image decoding apparatus using candidate motion vectors
JP6167409B2 (ja) 画像復号化方法および画像復号化装置
ES2621231T3 (es) Método de codificación de video de movimiento, aparato de codificación de video de movimiento, método de decodificación de video de movimiento, aparato de decodificación de video de movimiento y aparato de codificación/decodificación de video de movimiento
ES2834902T3 (es) Método de decodificación de imagen, y dispositivo de decodificación de imágenes
CA2866121C (en) Moving picture coding method, moving picture decoding method, moving picture coding apparatus, moving picture decoding apparatus, and moving picture coding and decoding apparatus
ES2959039T3 (es) Aparato, procedimiento y programa para codificar imágenes en movimiento
BR112014008403B1 (pt) Método de codificação de imagem, aparelho de codificação de imagem, método de decodificação de imagem, e aparelho de decodificação de imagem
BR112013030498B1 (pt) Método de filtragem de desblocagem para codificação e decodificação de vídeo
BR112013031524B1 (pt) Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem, e aparelho de codificação - decodificação de imagem
BR112013029425B1 (pt) Método de decodificação de imagem, método de codificação de imagem, dispositivo de decodificação de imagem, dispositivo de codificação de imagem, e dispositivo de codifica ção/decodificação de imagem
BR112013031624B1 (pt) Método de decodificação de imagem, método de codificação de imagem, dispositivo de decodificação de imagem, dispositivo de codificação de imagem, e dispositivo de codificação/decodificação de imagem
BR112013020486B1 (pt) Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem e aparelho de codificação e de decodificação de imagem
BR112013002450B1 (pt) Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem, e aparelho de codificação e decodificação de imagem.
BR112013031212B1 (pt) Método de decodificação de imagem e aparelho de decodificação de imagem
BR112012021600B1 (pt) método de filtragem de desbloqueio para filtrar uma pluralidade de blocos incluídos em uma imagem, método e aparelho de codificação para codificar uma imagem
EP2822277A1 (en) Image coding method, image decoding method, image coding device, image decoding device, and image coding-decoding device
EP2871838A1 (en) Image encoding method, image decoding method, image encoding device and image decoding device
BR112013018850B1 (pt) Método e aparelho de decodificação de imagem, e método e aparelho de codificação de imagem
BR112015001164B1 (pt) Método de decodificação de imagem
EP2621176A1 (en) Image encoding method, image decoding method, image encoding apparatus, and image decoding apparatus
WO2012090495A1 (ja) 画像符号化方法および画像復号方法

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AME

B15K Others concerning applications: alteration of classification

Ipc: H04N 7/00 (2011.01)

B25A Requested transfer of rights approved

Owner name: SUN PATENT TRUST (US)

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: A CLASSIFICACAO ANTERIOR ERA: H04N 7/00

Ipc: H04N 19/105 (2014.01), H04N 19/107 (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 27/12/2011, OBSERVADAS AS CONDICOES LEGAIS.