BRPI0303342B1 - Método de decodificação de imagem - Google Patents
Método de decodificação de imagem Download PDFInfo
- Publication number
- BRPI0303342B1 BRPI0303342B1 BRPI0303342-2A BRPI0303342A BRPI0303342B1 BR PI0303342 B1 BRPI0303342 B1 BR PI0303342B1 BR PI0303342 A BRPI0303342 A BR PI0303342A BR PI0303342 B1 BRPI0303342 B1 BR PI0303342B1
- Authority
- BR
- Brazil
- Prior art keywords
- image
- motion vector
- block
- images
- reference image
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 115
- 230000033001 locomotion Effects 0.000 claims abstract description 664
- 239000013598 vector Substances 0.000 claims abstract description 575
- 238000010586 diagram Methods 0.000 description 32
- 239000000284 extract Substances 0.000 description 21
- 238000004364 calculation method Methods 0.000 description 17
- 238000000605 extraction Methods 0.000 description 16
- 238000012300 Sequence Analysis Methods 0.000 description 8
- 238000013139 quantization Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000001228 spectrum Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000011002 quantification Methods 0.000 description 3
- 230000000712 assembly Effects 0.000 description 2
- 238000000429 assembly Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000005461 lubrication Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/107—Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/127—Prioritisation of hardware or computational resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/16—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter for a given display mode, e.g. for interlaced or progressive display mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
- H04N19/423—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/46—Embedding additional information in the video signal during the compression process
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/58—Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Processing Or Creating Images (AREA)
- Television Signal Processing For Recording (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
"método de codificação de filme e método de decodificação de filme". uma unidade de controle de codificação (110) e uma unidade de seleção de modo (109) são incluídas. a unidade de controle de codificação (110) determina a ordem de codificação para uma pluralidade de imagens tipo b consecutivas localizadas entre as imagens tipo 1 e as imagens tipo p, de modo que a imagem tipo b cuja distância cronológica a partir de duas imagens previamente codificadas é mais distante na ordem de exibição, seja codificada por prioridade, de modo a reordenarem as imagens tipo b na ordem de codificação. quando um bloco atual é codificado em modo direto, a unidade de seleção de modo 109 escalona um vetor de movimento para frente de um bloco, o qual é incluído em uma imagem de referência para trás de uma imagem atual e co-localizado com o bloco atual, de modo a gerarem vetores de movimento do bloco atual, se o vetor de movimento para frente tiver sido usado para a codificação do bloco co-localizado.
Description
A presente invenção refere-se a métodos de codificação de filme 5 e a métodos de decodificação de filme e, particularmente, a métodos para a realização de uma codificação de predição interimagens e uma decodificação de predição interimagens de uma imagem atual, usando-se imagens previamente processadas como imagens de referência.
Técnica Anterior
Na decodificação de filme, a quantidade de dados, geralmente é comprimida pela utilização de redundâncias espaciais e temporais que existem em um filme. Falando de forma geral, uma transformação de freqüência é usada como um método que utiliza as redundâncias espaciais, e uma codificação de predição interimagens é usada como um método que utiliza re15 dundâncias temporais. Na codificação de predição interimagens, para a codificação de uma imagem atual, imagens previamente codificadas antes ou depois da imagem atual na ordem de exibição são usadas como imagens de referência. A quantidade de movimento da imagem atual a partir da imagem de referência é estimada, e a diferença entre os dados de imagem obtidos por compensação de movimento com base naquela quantidade de movimento e os dados de imagem da imagem atual são calculados, de modo que as redundâncias temporais sejam eliminadas. As redundâncias espaciais são ainda eliminadas a partir deste valor diferencial, de modo a se comprimir a quantidade de dados da imagem atual.
No método de codificação de filme denominado H.264, o qual foi desenvolvido para padronização, uma imagem, a qual é codificada não se usando uma predição interimagens, mas usando-se uma codificação intraimagem, é referida como uma imagem tipo I, uma imagem a qual foi codificada usando-se uma predição interimagens com referência a uma imagem previamente processada, a qual é anterior ou posterior a uma imagem atual na ordem de exibição, é referida como uma imagem tipo P, e uma imagem a qual é codificada usando-se uma predição interimagens com referência a
Petição 870170011469, de 21/02/2017, pág. 6/13
• * · · « • * » · · ♦ · · · · • · · · ♦ ····*· duas imagens previamente processadas, as quais são anteriores ou posteriores a uma imagem atual na ordem de exibição, é referida como uma imagem tipo B (veja a ISO/IEC 14496-2 Information technology - Coding of audio-visual objects - Part 2: Visual, pp. 218-219).
A Fig. 1A é um diagrama que mostra a relação entre as respectivas imagens e as imagens de referência correspondentes no método de codificação de filme mencionado acima, e a Fig. 1B é um diagrama que mostra a seqüência das imagens na seqüência de bits gerada pela codificação.
Uma imagem 11 é uma imagem tipo I, as imagens P5, P9 e P13 são imagens tipo P, e as imagens B2, B3, B4, B6, B7, B8, B10, B11 e B12 são imagens tipo B. Como mostrado pelas setas, as imagens tipo P P5, P9 e P13 são codificadas usando-se uma predição interimagens a partir da imagem tipo I 11 e das imagens tipo P, P5 e P9, respectivamente, como imagens de referência.
Como mostrado pelas setas, as imagens tipo B B2, B3 e B4 são codificadas usando-se uma predição interimagens a partir da imagem, I 11, e da imagem P, P5, respectivamente, como imagens de referência. Da mesma maneira, as imagens tipo B, B6, B7 e B8 são codificadas usando-se as imagens tipo P, P5 e P9, respectivamente, como imagens de referência, e as imagens tipo B B10, B11 e B12 são codificadas usando-se as imagens tipo P P9 e P13, respectivamente.
Na codificação mencionada acima, as imagens de referência são codificadas antes das imagens as quais se referem às imagens de referência. Portanto, a seqüência de bits é gerada pela codificação acima na seqüência como mostrado na Fig, 1B.
A propósito, no método de codificação de filme H.264, um modo de codificação denominado modo direto pode ser selecionado. Um método de predição interimagens em modo direto será explicado, com referência à Fig. 2. A Fig. 2 é uma imagem que mostra vetores de movimento em modo direto e, particularmente, que mostra o caso de codificação de um bloco a na imagem B6 em modo direto. Neste caso, um vetor de movimento c usado para a codificação de um bloco b na imagem P9 é utilizado. O bloco b é co• · »*· • · ·· ·«· · • · · · ·
localizado com o bloco a e a imagem P9 é uma imagem de referência para trás da imagem B6. O vetor de movimento c, é um vetor usado para a codificação do bloco b, e refere-se à imagem P5. O bloco a é codificado usandose bipredição, baseado em blocos de referência obtidos a partir da imagem de referência para frente P5 e da imagem de referência para trás P9, usando-se vetores paralelos ao vetor de movimento c. Em outras palavras, os vetores de movimento usados para a codificação do bloco a são o vetor de movimento d para a imagem P5 e o vetor de movimento e para a imagem P9.
Entretanto, quando imagens tipo B são codificadas usando-se uma predição interimagens com referência às imagens tipo I e P, a distância cronológica entre a imagem tipo B atual e a imagem de referência pode ser longa, o que causa uma redução da eficiência de codificação. Particularmente, quando uma grande quantidade de imagens tipo B está localizada entre uma imagem tipo I e uma imagem tipo P adjacentes ou duas imagens tipo P mais próximas uma da outra, a eficiência de codificação é significativamente reduzida.
A presente invenção foi concebida de modo a se resolver o problema mencionado acima, e é um objeto da presente invenção prover um método de codificação de filme e um método de decodificação de filme para se evitar uma redução de eficiência de codificação de imagens B, se uma grande quantidade de imagens tipo B estiver localizada entre uma imagem tipo I e uma imagem tipo P ou entre duas imagens P. Além disso, é um outro objetivo prover um método de codificação de filme e um método de decodificação de filme para se melhorar a eficiência de codificação em modo direto. Descrição da Invenção
De modo a se alcançar o objetivo mencionado acima, o método de codificação de filme da presente invenção é um método de codificação de filme para a codificação de dados de imagem correspondentes a imagens que formam um filme e a geração de uma seqüência de bits, o método de codificação de filme compreendendo: uma etapa de codificação para a codificação de uma imagem atual como uma dentre uma imagem I, uma imagem
• ·
V * «I tipo Ρ e uma imagem B, a imagem tipo I tendo apenas blocos os quais são codificados com intra-imagem, a imagem tipo P tendo um bloco o qual é codificado com predição interimagens com uma referência unipreditiva, usando-se uma imagem previamente codificada como uma primeira imagem de referência, e a imagem tipo B tendo um bloco o qual é codificado com predição interimagens com uma referência bipreditiva, usando-se imagens previamente codificadas como uma primeira imagem de referência e uma segunda imagem de referência, onde a etapa de codificação inclui uma etapa de controle para a determinação da ordem de codificação, a qual é diferente da ordem de exibição para imagens tipo B consecutivas localizadas entre imagens tipo I e imagens tipo P.
Portanto, uma vez que as imagens tipo B podem ser codificadas usando-se imagens as quais são cronologicamente mais próximas na ordem de exibição como imagens de referência, a eficiência de previsão para compensação de movimento é melhorada, e, assim, a eficiência de codificação pode ser aumentada.
Também, o método de codificação de filme de acordo com a presente invenção é um método de codificação de filme para a codificação de dados de imagem correspondentes a imagens que formam um filme e a geração de uma seqüência de bits, o método de codificação de filme compreendendo: uma etapa de codificação para a codificação de uma imagem atual como uma lubrificação, que tem um bloco o qual é codificado com predição interimagens com uma referência bipreditiva, usando-se imagens previamente codificadas como uma primeira imagem de referência e uma segunda imagem de referência, onde na etapa de codificação, quando um bloco atual A em uma imagem tipo B atual é codificado em modo direto por meio do que uma compensação de movimento do bloco atual A é realizada, usando-se vetores de movimento do bloco atual A obtidos a partir de um vetor de movimento de um bloco previamente codificado, os vetores de movimento para a realização da compensação de movimento do bloco atual A são obtidos pelo escalonamento de um primeiro vetor de movimento com base em uma primeira imagem de referência, de um bloco B co-localizado
• · * • * ·
na segunda imagem de referência do bloco atual A, usando-se uma diferença especificada por uma informação indicando a ordem de exibição de imagens.
Portanto, quando o modo direto é selecionado, uma vez que um primeiro vetor de movimento de uma segunda imagem de referência é escalonado, não há necessidade de adicionar uma informação de vetor de movimento a uma seqüência de bits, e a eficiência de previsão também pode ser melhorada.
Da mesma forma, quando um bloco atual A em uma imagem tipo
B atual é codificado em modo direto, os vetores de movimento para a realização da compensação de movimento da seqüência atual A podem ser obtidos pelo escalonamento de um segundo vetor de movimento, com base em uma segunda imagem de referência, de um bloco B co-localizado na segunda imagem de referência do bloco atual A, usando-se uma diferença especificada por uma informação indicando a ordem de exibição de imagens.
Portanto, quando o modo direto é selecionado, uma vez que um segundo vetor de movimento de uma segunda imagem de referência é escalonado, não há necessidade de adicionar uma informação de vetor de movimento a uma seqüência de bits, e a eficiência de predição também pode ser melhorada.
Mais ainda, quando um bloco atual A em uma imagem tipo B atual é codificado em modo direto, se um bloco B co-localizado na segunda imagem de referência do bloco atual A for previamente codificado em modo direto, os vetores de movimento para a realização da compensação de movimento do bloco atual A podem ser obtidos pelo escalonamento de um primeiro vetor de movimento, com base em uma primeira imagem de referência do bloco B, substancialmente usado para a codificação do bloco B na segunda imagem de referência, usando-se uma diferença especificada por uma informação indicando a ordem de exibição de imagens.
Portanto, quando o modo direto é selecionado, uma vez que um primeiro vetor de movimento de uma segunda imagem de referência, o qual foi substancialmente usado para a codificação da segunda imagem de refe-
rência é escalonado, não há necessidade de adicionar uma informação de vetor de movimento a uma seqüência de bits, e a eficiência de predição também pode ser melhorada.
Também, quando um bloco atual A em uma imagem tipo B atual é codificado em modo direto, os vetores de movimento para a realização da compensação de movimento para o bloco atual A podem ser obtidos pelo escalonamento de um primeiro vetor de movimento, com base em uma primeira imagem de referência, de um bloco B co-localizado em uma imagem tipo P cronologicamente posterior, usando-se uma diferença especificada por uma informação indicando a ordem de exibição de imagens.
Portanto, quando o modo direto é selecionado, uma vez que um primeiro vetor de movimento de uma imagem tipo P cronologicamente posterior é escalonado, não há necessidade de adicionar uma informação de vetor de movimento a uma seqüência de bits, e a eficiência de predição também pode ser melhorada.
Mais ainda, quando um bloco atual A em uma imagem tipo B atual é codificado em modo direto, os vetores de movimento para compensação de movimento do bloco atual A podem ser obtidos pelo escalonamento de um primeiro vetor de movimento, se um bloco B co-localizado na segunda imagem de referência do bloco atual A for codificado usando-se pelo menos o primeiro vetor de movimento com base em uma primeira imagem de referência do bloco B, e pelo escalonamento de um segundo vetor de movimento, se o bloco B for codificado usando-se apenas o segundo vetor de movimento, com base em uma segunda imagem de referência do bloco B, usando-se uma diferença especificada por uma informação indicando a ordem de exibição de imagens.
Portanto, quando o modo direto é selecionado, se uma segunda imagem de referência tiver um primeiro vetor de movimento, este primeiro vetor de movimento é escalonado, e se a segunda imagem de referência não tiver um primeiro vetor de movimento, mas apenas um segundo vetor de movimento, este segundo vetor de movimento é escalonado. Assim, não há necessidade de adicionar uma informação de vetor de movimento a uma
seqüência de bits, e a eficiência de predição pode ser melhorada.
Além disso, o método de decodificação de filme de acordo com a presente invenção é um método de decodificação de filme para a decodificação de uma seqüência de bits, o qual é gerado pela codificação de dados de imagem correspondentes a imagens que formam um filme, o método de decodificação de filme compreendendo: uma etapa de decodificação para a decodificação de uma imagem atual por uma predição interimagens, usandose uma imagem previamente decodificada como uma imagem de referência, onde, na etapa de decodificação, quando a imagem atual é decodificada pela predição interimagens com uma referência bipreditiva usando as imagens previamente decodificadas como uma primeira imagem de referência e uma segunda imagem de referência, uma seqüência de bits, incluindo pelo menos uma imagem, a qual é cronologicamente mais próxima da imagem atual na ordem de exibição, como a primeira imagem de referência ou a segunda imagem de referência, é decodificado.
Portanto, uma seqüência de bits, a qual é gerada pela codificação de uma imagem por uma predição interimagens com uma referência bipreditiva usando imagens as quais são cronologicamente mais próximas na ordem de exibição como uma primeira imagem de referência e uma segunda imagem de referência, pode ser apropriadamente decodificada.
Também, o método de decodificação de filme de acordo com a presente invenção é um método de decodificação de filme para a decodificação de uma seqüência de bits, a qual é gerada pela codificação de dados de imagem correspondentes a imagens que formam um filme, o método de decodificação de filme compreendendo: uma etapa de decodificação para a decodificação de uma imagem atual por uma predição interimagens, usandose uma imagem previamente decodificada como uma imagem de referência, onde, na etapa de decodificação, quando a imagem atual é uma imagem que tem um bloco o qual é decodificado por uma predição interimagens com uma referência bipreditiva, usando-se imagens previamente decodificadas como uma primeira imagem de referência e uma segunda imagem de referência, e um bloco atual A é decodificado em modo direto, por meio do que
uma compensação de movimento do bloco atual A é realizada usando-se vetores de movimento do bloco atual A, obtidos a partir de um vetor de movimento de um bloco previamente decodificado, os vetores de movimento para a realização da compensação de movimento do bloco atual A são obtidos pelo escalonamento de um primeiro vetor de movimento, com base em uma primeira imagem de referência, de um bloco co-localizado B na segunda imagem de referência do bloco atual A, usando-se uma diferença especificada por uma informação indicando uma ordem de exibição de imagens.
Portanto, quando o modo direto é selecionado, uma vez que um primeiro vetor de movimento de uma segunda imagem de referência é escalonado, uma decodificação apropriada pode ser obtida.
Da mesma forma, quando uma imagem atual é uma imagem que tem um bloco o qual é decodificado por uma predição interimagens com uma referência bipreditiva e um bloco atual A é decodificado em modo direto, os vetores de movimento para a realização da compensação de movimento do bloco atual A podem ser obtidos pelo escalonamento de um segundo vetor de movimento, com base em uma segunda imagem de referência de um bloco B co-localizado na segunda imagem de referência do bloco atual A, usando-se uma diferença especificada por uma informação indicando uma ordem de exibição de imagens.
Portanto, quando o modo direto é selecionado, uma vez que um segundo vetor de movimento de uma segunda imagem de referência é escalonado, uma decodificação apropriada pode ser obtida.
Mais ainda, quando uma imagem atual é uma imagem que tem um bloco o qual é decodificado por uma predição interimagens com uma referência bipreditiva e um bloco atual A é decodificado em modo direto, se um bloco B co-localizado na segunda imagem de referência do bloco atual A é previamente decodificado no modo direto, os vetores de movimento para a realização da compensação de movimento do bloco atual A podem ser obtidos pelo escalonamento de um primeiro vetor de movimento, com base em uma primeira imagem de referência do bloco B, substancialmente usada para a decodificação do bloco B na segunda imagem de referência, usando-
• ····*· * • · · ♦ · · · • · · · · · · · ·♦···· · · • · · · · · ·
se uma diferença especificada por uma informação indicando a ordem de exibição de imagens.
Portanto, quando o modo direto é selecionado, uma vez que um primeiro vetor de movimento de uma segunda imagem de referência, a qual foi substancialmente usada para a decodificação da segunda imagem de referência é escalonado, uma decodificação apropriada pode ser obtida.
Também, quando uma imagem atual é uma imagem que tem um bloco o qual é decodificado por uma predição interimagens com referência bipreditiva e um bloco atual A é decodificado em modo direto, os vetores de movimento para a realização da compensação de movimento do bloco atual A podem ser obtidos pelo escalonamento de um primeiro vetor de movimento, com base em uma primeira imagem de referência, de um bloco B colocalizado em uma imagem cronologicamente posterior, usando-se uma diferença especificada por uma informação indicando uma ordem de exibição de imagens, a imagem posterior sendo decodificada com predição interimagens com uma referência unipreditiva usando-se uma imagem previamente decodificada como uma primeira imagem de referência.
Portanto, quando o modo direto é selecionado, uma vez que um primeiro vetor de movimento de uma imagem, a qual é decodificada por predição interimagens com uma referência unipreditiva, é escalonado, uma decodificação apropriada pode ser obtida.
A presente invenção pode ser realizada tal como um método de codificação de filme e um método de decodificação de filme, como mencionado acima, mas também como um aparelho de codificação de filme e um aparelho de decodificação de filme, incluindo as etapas características desse método de codificação de filme e desse método de decodificação de filme. Além disso, a presente invenção pode ser realizada como uma seqüência de bits obtido pela codificação pelo método de codificação de filme, de modo a distribuí-la através de um meio de gravação, tal como um CD-ROM ou um meio de transmissão, tal como a Internet.
Breve Descrição dos Desenhos
A Fig. 1 é um diagrama esquemático que mostra relações de
predição entre imagens e sua seqüência no método de codificação de filme convencional, e 1A mostra as relações entre as respectivas imagens e as imagens de referência correspondentes, e a Fig. 1B mostra a seqüência das imagens em uma seqüência de bits gerada por codificação.
A Fig, 2 é um diagrama esquemático que mostra vetores de movimento em modo direto no método de codificação de filme convencional.
A Fig. 3 é um diagrama de blocos que mostra a estrutura de uma primeira modalidade de um aparelho de codificação de filme usando um método de codificação de filme de acordo com a presente invenção.
A Fig. 4 é uma imagem de números de imagem e índices relativos nas modalidades da presente invenção.
A Fig. 5 é uma imagem conceituai de um formato de dados codificados de filme no aparelho de codificação de filme nas modalidades da presente invenção.
A Fig. 6 é uma imagem que mostra a seqüência de imagem em uma memória de reordenação nas modalidades da presente invenção, e a Fig. 6A mostra a seqüência na ordem de entrada, e a Fig. 6B mostra a seqüência reordenada.
A Fig. 7 é um diagrama esquemático que mostra os vetores de movimento em modo direto nas modalidades da presente invenção, e a Fig. 7A mostra um caso onde um bloco atual a é uma imagem B7, a Fig. 7B mostra um primeiro e um segundo exemplos em um caso em que um bloco atual a é uma imagem B6, a Fig. 7C mostra um terceiro exemplo em um caso em que um bloco atual a é uma imagem B6, e a Fig. 7D mostra um quarto exemplo em um caso em que um bloco atual a é uma imagem B6.
A Fig. 8 é um diagrama esquemático que mostra vetores de movimento em modo direto nas modalidades da presente invenção, e a Fig. 8A mostra um quinto exemplo em um caso em que um bloco atual a é uma imagem B6, a Fig. 8B mostra um sexto exemplo em um caso em que um bloco atual a é uma imagem B6, a Fig. 8C é um sétimo exemplo em um caso em que um bloco atual a é uma imagem B6, e a Fig. 8D mostra um caso onde um bloco atual a é uma imagem B8.
/1
A Fig. 9 é um diagrama esquemático que mostra relações de predição entre as respectivas imagens e sua seqüência nas modalidades da presente invenção, e a Fig. 9A mostra as relações de predição entre as respectivas imagens indicadas em ordem de exibição, e a Fig. 9B mostra a seqüência das imagens reordenadas na ordem de codificação (em uma seqüência de bits).
A Fig. 10 é um diagrama esquemático que mostra as relações de predição entre as respectivas imagens e sua seqüência nas modalidades da presente invenção, e a Fig. 10A mostra as relações de predição entre as respectivas imagens indicadas em ordem de exibição, e a Fig. 10B mostra a seqüência das imagens reordenadas na ordem de codificação (em uma seqüência de bits).
A Fig. 11 é um diagrama esquemático que mostra as relações de predição entre as respectivas imagens e sua seqüência nas montagens da presente invenção, e a Fig. 110A mostra as relações de predição entre respectivas imagens indicadas em ordem de exibição, e a Fig. 11B mostra a seqüência das imagens reordenadas na ordem de codificação (em uma seqüência de bits).
A Fig. 12 é um diagrama esquemático que mostra hierarquicamente a estrutura de predição de imagem, como mostrado na Fig. 6 nas montagens da presente invenção.
A Fig. 13 é um diagrama esquemático que mostra hierarquicamente a estrutura de predição de imagem, como mostrado na Fig. 9 nas modalidades da presente invenção.
A Fig. 14 é um diagrama esquemático que mostra hierarquicamente a estrutura de predição de imagem, como mostrado na Fig. 10 nas modalidades da presente invenção.
A Fig. 15 é um diagrama esquemático que mostra hierarquicamente a estrutura de predição de imagem, como mostrado na Fig. 11 nas modalidades da presente invenção.
A Fig. 16 é um diagrama de blocos que mostra a estrutura de uma modalidade de um aparelho de decodificação de filme usando um mé12
todo de decodificação de filme de acordo com a presente invenção.
A Fig. 17 é uma imagem de um meio de gravação para o armazenamento de um programa para a realização do método de codificação de filme e do método de decodificação de filme nas primeira e segunda modalidades por um sistema de computador, e a Fig. 17A mostra um exemplo de um formato físico de um disco flexível como um corpo de meio de gravação, a Fig. 17B mostra uma vista em seção transversal e uma vista dianteira da aparência do disco flexível e o disco flexível em si, a Fig. 17C mostra uma estrutura para a gravação e a reprodução do programa no disco flexível FD.
A Fig. 18 é um diagrama de blocos que mostra a configuração geral de um sistema de suprimento de conteúdo para a realização do serviço de distribuição de informação.
A Fig. 19 é um esquema que mostra um exemplo de um telefone móvel.
A Fig. 20 é um diagrama de blocos que mostra a estrutura interna do telefone móvel.
A Fig. 21 é um diagrama de blocos que mostra a configuração geral de um sistema de radiodifusão digital.
Melhor Modo para a Realização da Invenção
As modalidades da presente invenção serão explicadas abaixo, com referência às figuras.
(Primeira Montagem)
A Fig. 3 é um diagrama de blocos que mostra a estrutura de uma modalidade do aparelho de codificação de filme usando o método de codificação de filme de acordo com a presente invenção.
Como mostrado na Fig. 3, o aparelho de codificação de filme inclui uma memória de reordenação 101, uma unidade de cálculo de diferença 102, uma unidade de codificação de erro residual 103, uma unidade de geração de sequência de bits 104, uma unidade de decodificação de erro residual 105, uma unidade de adição 106, uma memória de imagem de referência 107, uma unidade de estimativa de vetor de movimento 108, uma unidade de seleção de modo 109, uma unidade de controle de codificação 110,
chaves 111 a115e uma unidade de armazenamento de vetor de movimento 116.
A memória de reordenação 101 armazena filmes introduzidos em uma base imagem a imagem na ordem de exibição. A unidade de controle de codificação 110 reordena as imagens armazenadas na memória de reordenação 101 na ordem de codificação. A unidade de controle de codificação 110 também controla a operação da unidade de armazenamento de vetor de movimento 116 para o armazenamento de vetores de movimento.
Usando-se os dados de imagem previamente codificados e decodificados como uma imagem de referência, a unidade de estimativa de vetor de movimento 108 estima um vetor de movimento indicando uma posição, a qual é prevista ótima na área de busca na imagem de referência. A unidade de seleção de modo 109 determina um modo para a codificação de macroblocos usando o vetor de movimento estimado pela unidade de estimativa de vetor de movimento 108, e gera um dado de imagem de predição com base no modo de codificação. A unidade de cálculo de diferença 102 calcula a diferença entre os dados de imagem lido a partir da memória de reordenação 101 e os dados de imagem de predição introduzidos pela unidade de seleção de modo 109, e gera um dado de imagem de erro residual.
A unidade de codificação de erro residual 103 executa um processamento de codificação, tal como uma transformada de freqüência e quantificação do dado de imagem de erro residual introduzidos para a geração dos dados codificados. A unidade de geração de seqüência de bits 104 realiza uma codificação de comprimento variável ou similar nos dados codificados de entrada, e ainda adiciona a informação de vetor de movimento, a informação de modo de codificação e outras informações nos dados codificados, de modo a gerar uma seqüência de bits.
A unidade de decodificação de erro residual 105 executa um processamento de decodificação, tal como uma quantificação inversa e uma transformada de freqüência inversa nos dados codificados de entrada, para a geração de dados de imagem diferencial decodificados. A unidade de adição 106 adiciona os dados de imagem diferencial decodificados introduzidos
pela unidade de decodificação de erro residual 105 e os dados de imagem de predição introduzidos pela unidade de seleção de modo 109, para a geração de um dado de imagem decodificados. A memória de imagem de referência 107 armazena os dados de imagem decodificados gerados.
A Fig. 4 é uma imagem de imagens e índices relativos. Os índices relativos são usados para a identificação unicamente de imagens de referência armazenadas na memória de imagem de referência 107, e elas são associadas a respectivas imagens, como mostrado na Fig. 4. Os índices relativos também são usados para a indicação das imagens de referência, as quais devem ser usadas para a codificação de blocos, usando-se predição interimagens.
A Fig. 5 é uma imagem conceituai de um formato de dado codificado de filme, usado pelo aparelho de codificação de filme. Os dados codificados Imagem para uma imagem incluem dados codificados de Título incluídos no princípio da imagem, dados codificados de bloco Blocol para o modo direto, um dado codificado de bloco Bloco2 para a predição interimagens além do modo direto, e similares. Os dados codificados de bloco Bloco2 para a predição interimagens além do modo direto tem um primeiro índice relativo Rldxl e um segundo índice relativo IJRldx2 para indicação de duas imagens de referência usadas para a predição interimagens, um primeiro vetor de movimento MV1 e um segundo vetor de movimento MV2 nesta ordem. Por outro lado, os dados codificados de bloco Blocol para modo direto não têm o primeiro e o segundo índices relativos Rldxl e Rldx2 e o primeiro e o segundo vetores de movimento MV1 e MV2. O índice, o qual deve ser usado, o primeiro índice relativo Rldxl ou o segundo índice relativo Rldx2, pode ser determinado pelo tipo de predição PredType. Também, o primeiro índice relativo Rldxl indica uma primeira imagem de referência, e o segundo índice relativo Rldx2 indica uma segunda imagem de referência. Em outras palavras, se uma imagem é uma primeira imagem de referência ou uma segunda imagem de referência é determinado com base em onde elas estão localizadas no seqüência de bits.
Note que uma imagem tipo P é codificada por uma predição inte15
rimagens com uma referência unipreditiva, usando-se uma imagem previamente codificada, a qual está localizada anterior ou posterior na ordem de exibição como uma primeira imagem de referência, e uma imagem tipo B é codificada por predição interimagens com uma referência bipreditiva usandose imagens previamente codificadas, as quais estão localizadas anteriores ou posteriores na ordem de exibição como uma primeira imagem de referência e uma segunda imagem de referência. Na primeira modalidade, a primeira imagem de referência é explicada como uma imagem de referência para frente, e a segunda imagem de referência é explicada como uma imagem de referência para trás. Mais ainda, o primeiro e o segundo vetores de movimento para a primeira e a segunda imagens de referência são explicados como um vetor de movimento para frente e um vetor de movimento para trás, respectivamente.
Em seguida, como atribuir o primeiro e o segundo índices relativos será explicado com referência à Fig. 4A.
Como os primeiros índices relativos, na informação indicando a ordem de exibição, os valores incrementados por 1 ou 0 são primeiro atribuídos às imagens de referência mais anteriores do que a imagem atual a partir da imagem mais próxima da imagem atual. Após os valores incrementados por 1 ou 0 serem atribuídos a todas as imagens de referência mais anteriores do que a imagem atual, então, os valores subseqüentes são atribuídos às imagens de referência mais posteriores do que a imagem atual a partir da imagem mais próxima da imagem atual.
Como os segundos índices relativos, na informação indicando a ordem de exibição, os valores incrementados de 1 ou 0 são atribuídos às imagens de referência mais posteriores do que a imagem atual a partir da imagem mais próxima à imagem atual. Após os valores incrementados em 1 ou 0 serem atribuídos a todas as imagens de referência mais posteriores do que a imagem atual, então, os valores subseqüentes são atribuídos às imagens de referência mais anteriores do que a imagem atual a partir da imagem mais próxima da imagem atual.
Por exemplo, na Fig. 4A, quando o primeiro índice relativo
Rldxl é 0 e o segundo índice relativo Rldx2 é 1, a imagem de referência anterior é a imagem tipo B Ne 6, e a imagem de referência trás é a imagem tipo P N° 9. Aqui, esses números de imagem 6 e 9 indicam a ordem de exibição.
Os índices relativos em um bloco são representados por palavras de código de comprimento variável, e os códigos com comprimentos mais curtos são atribuídos aos índices dos valores menores. Uma vez que a imagem, a qual é mais próxima à imagem atual, usualmente, é selecionada como uma imagem de referência para predição interimagens, a eficiência de codificação é melhorada pela atribuição dos valores de índice relativo em ordem de proximidade com a imagem atual.
A atribuição de imagens de referência a índices relativos pode ser mudada arbitrariamente, se for explicitamente indicado usando-se um sinal de controle de amortecimento em dado codificado (RPSL em Título, como mostrado na Fig. 5). Isso possibilita mudar a imagem de referência com o segundo índice relativo 0 para uma imagem de referência arbitrária na memória de imagem de referência 107. Como mostrado na Fig. 4B, a atribuição de índices de referência a imagens pode ser mudada, por exemplo.
Em seguida, a operação do aparelho de codificação de filme estruturado como acima será explicada abaixo.
A Fig. 6 é uma imagem que mostra a seqüência de imagem na memória de reordenação 101, e a Fig. 6A mostra a seqüência na ordem de entrada, e a Fig. 6B mostra a seqüência reordenada. Aqui, as linhas verticais mostram imagens, e os números indicados na esquerda inferior das imagens mostram os tipos de imagem (I, P e B) com as primeiras letras alfabéticas e os números de imagem indicando a ordem de exibição com os números seguintes.
Como mostrado na Fig. 6A, um filme é introduzido na memória de reordenação 101 em uma base de imagem a imagem na ordem de exibição, por exemplo. Quando as imagens são introduzidas na memória de reordenação 101, a unidade de controle de codificação 110 reordena as ima-
φ · gens introduzidas na memória de reordenação 101 na ordem de codificação. As imagens são reordenadas, com base nas relações de referência em uma codificação de predição interimagens e, mais especificamente, as imagens são reordenadas de modo que as imagens usadas como imagens de referência sejam codificadas mais anteriores do que as imagens as quais usam as imagens de referência.
Aqui, é assumido que uma imagem tipo P se refira a uma imagem tipo I ou tipo P vizinha previamente processada, a qual está localizada mais anterior ou mais posterior do que a imagem tipo P atual na ordem de exibição, e a imagem tipo B refere-se a duas imagens vizinhas previamente processadas, as quais estão localizadas mais anteriores ou posteriores do que a imagem tipo B atual na ordem de exibição.
As imagens são codificadas na ordem a seguir. Em primeiro lugar, uma imagem tipo B no centro de imagens tipo B (3 imagens tipo B na Fig. 6A, por exemplo) localizada entre duas imagens tipo P é codificada e, então, uma outra imagem tipo B mais próxima da imagem tipo P anterior é codificada. Por exemplo, as imagens B6, B7, B8 e P9 são codificadas na ordem de P9, B7, B6 e B8.
Neste caso, na Fig. 6A, a imagem apontada pela seta refere-se à imagem na origem da seta. Especificamente, a imagem tipo B B7 refere-se a imagens tipo P P5 e P9, B6 refere-se a P5 e B7, e B8 refere-se a B7 e P9, respectivamente. A unidade de controle de codificação 110 reordena as imagens na ordem de codificação, como mostrado na Fig. 6B.
Em seguida, as imagens reordenadas na memória de reordenação 101 são lidas em uma unidade para cada compensação de movimento. Aqui, a unidade de compensação de movimento é referida como um macrobloco o qual tem um tamanho de 16 (horizontal) x 16 (vertical) pixels. A codificação das imagens P9, B7, B6 e B8, mostrada na Fig. 6A, será explicada abaixo, nesta ordem.
Codificação de Imagem P9
A imagem tipo P P9 é codificada usando-se uma predição interimagens com referência a uma imagem previamente processada localizada
• 4 mais anterior ou posterior do que P9 na ordem de exibição. Na codificação de P9, a imagem P5 é a imagem de referência, como mencionado acima. P5 já foi codificada e a imagem decodificada da mesma é armazenada na memória de imagem de referência 107. Na codificação de imagens P, a unidade de controle de codificação 110 controla as chaves 113, 114 e 115, de modo a estarem LIGADAS. Os macroblocos na imagem P9 lidos a partir da memória de reordenação 101, assim, são introduzidos na unidade de estimativa de vetor de movimento 108, na unidade de seleção de modo 109 e na unidade de cálculo de diferença 102, nesta ordem.
A unidade de estimativa de vetor de movimento 108 estima um vetor de movimento de um macrobloco na imagem P9, usando-se os dados de imagem decodificado da imagem P5 armazenado na memória de imagem de referência 107 como uma imagem de referência, e extrai o vetor de movimento estimado para a unidade de seleção de modo 109.
A unidade de seleção de modo 109 determina o modo para a codificação do macrobloco na imagem P9, usando o vetor de movimento estimado pela unidade de estimativa de vetor de movimento 108. Aqui, o modo de codificação indica o método de codificação de macroblocos. Tal como para as imagens tipo P, ela determina qualquer um dos métodos de codificação, codificação intra-imagem, codificação de predição interimagens usando um vetor de movimento e codificação de predição interimagens sem o uso de um vetor de movimento (onde o movimento é manipulado como 0). Para a determinação de um modo de codificação, um método é selecionado, de modo que um erro de codificação seja reduzido com uma pequena quantidade de bits.
A unidade de seleção de modo 109 extrai o modo de codificação determinado para a unidade de geração de sequência de bits 104. Se o modo de codificação determinado pela unidade de seleção de modo 109 for uma codificação de predição interimagens, o vetor de movimento o qual deve ser usado para a codificação de predição interimagens é extraído para a unidade de geração de sequência de bits 104 e, ainda, armazenado na unidade de armazenamento de vetor de movimento 116.
« V • · · · ft ·
A unidade de seleção de modo 109 gera dados de imagem de predição com base no modo de codificação determinado para geração para a unidade de cáfculo de diferença 102 e a unidade de adição 106. Entretanto, quando da seleção da codificação intra-imagem, a unidade de seleção de modo 109 não extrai um dado de imagem de predição. Além disso, quando da seleção da codificação intra-imagem, a unidade de seleção de modo 109 controla as chaves 111 e 112 para se conectarem a um lado a e a um lado c, respectivamente, e quando da seleção de uma codificação de predição interimagens, ela as controla para se conectarem a um lado b e a um lado d, respectivamente. Será explicado abaixo o caso onde a unidade de seleção de modo 109 seleciona a codificação de predição interimagens.
A unidade de cálculo de diferença 102 recebe os dados de imagem do macrobloco na imagem P9 lidos a partir da memória de reordenação 101 e os dados de imagem de predição extraídos da unidade de seleção de modo 109. A unidade de cálculo de diferença 102 calcula a diferença entre os dados de imagem do macrobloco na imagem P9 e os dados de imagem de predição, e gera os dados de imagem de erro residual para extração para a unidade de codificação de erro residual 103.
A unidade de codificação de erro residual 103 executa um processamento de codificação, tal como uma transformada de freqüência e uma quantificação, no dado de imagem de erro residual introduzidos e, assim, gera os dados codificado para extração para a unidade de geração de seqüência de bits 104 e a unidade de decodificação de erro residual 105. Aqui, o processamento de codificação, tal como uma transformada de freqüência e uma quantificação, é realizado a cada 8 (horizontal) x 8 (vertical) pixels ou 4 (horizontal) x 4 (vertical) pixels, por exemplo.
A unidade de geração de seqüência de bits 104 executa uma codificação de comprimento variável ou similar no dado codificados introduzidos e, ainda, adiciona uma informação, tal como vetores de movimento e um modo de codificação, informação de título e assim por diante sobre os dados codificados, para a geração e a extração da seqüência de bits.
Por outro lado, a unidade de decodificação de erro residual 105
executa um processamento de decodificação, tal como uma quantificação inversa e uma transformada de freqüência inversa nos dados codificados introduzidos, e gera os dados de imagem diferencial decodificados para extração para unidade de adição 106. A unidade de adição 106 adiciona os dados de imagem diferencial decodificados e os dados de imagem de predição introduzidos pela unidade de seleção de modo 109 para a geração do dado de imagem decodificado, e o armazena na memória de imagem de referência 107.
Esta é a conclusão de codificação de um macrobloco na imagem P9. De acordo com o mesmo processamento, os macroblocos remanescentes da imagem P9 são codificados. E, após todos os macroblocos da imagem P9 serem codificados, a imagem B7 é codificada.
Codificação da Imagem B7
A imagem B7 refere-se à imagem P5, como uma imagem de referência para frente e a imagem P9 como uma imagem de referência para trás. Uma vez que a imagem B7 é usada como uma imagem de referência para a codificação de outras imagens, a unidade de controle de codificação 110 controla as chaves 113, 114 e 115, de modo a estarem LIGADAS, o que faz com que os macroblocos na imagem B7 lidos da memória de reordenação 101 sejam introduzidos na unidade de estimativa de vetor de movimento 108, na unidade de seleção de modo 109 e na unidade de cálculo de diferença 102.
Usando os dados de imagem decodificados da imagem P5 e os dados de imagem decodificado da imagem P9, os quais são armazenados na memória de imagem de referência 107 como uma imagem de referência para frente e uma imagem de referência para trás, respectivamente, a unidade de estimativa de vetor de movimento 108 estima um vetor de movimento para frente e um vetor de movimento para trás do macrobloco na imagem B7. E a unidade de estimativa de vetor de movimento 108 extrai os vetores de movimento estimados para a unidade de seleção de modo 109.
A unidade de seleção de modo 109 determina o modo de codificação para o macrobloco na imagem B7, usando-se os vetores de movi-
mento estimados pela unidade de estimativa de vetor de movimento 108. Aqui, é assumido que um modo de codificação para imagens tipo B pode ser selecionado a partir de dentre uma codificação intra-imagem, uma codificação de predição interimagens usando um vetor de movimento para frente, uma codificação de predição interimagens usando um vetor de movimento para trás, uma codificação de predição interimagens usando vetores de movimento de bipredição e modo direto.
A operação da codificação de modo direto será explicada com referência à Fig. 7A. A Fig. 7A é uma imagem que mostra vetores de movimento em modo direto e, especificamente, mostra o caso em que o bloco a na imagem B7 é codificado no modo direto. Neste caso, um vetor de movimento c, o qual foi usado para a codificação do bloco b na imagem P9, é utilizado. O bloco b é co-localizado com o bloco a, e a imagem P9 é uma imagem de referência para trás da imagem B7. O vetor de movimento c é armazenado na unidade de armazenamento de vetor de movimento 116. O bloco a é biprevisto a partir da imagem de referência para frente P5 e da imagem de referência para trás P9, usando vetores obtidos utilizando-se o vetor de movimento c. Por exemplo, como um método de utilização do vetor de movimento c, há um método de geração de vetores de movimento paralelos ao vetor de movimento c. Neste caso, o vetor de movimento d e o vetor de movimento e são usados para a imagem P5 e a imagem P9, respectivamente, para a codificação do bloco a.
Neste caso, o vetor de movimento para frente d é MVF, o vetor de movimento para trás e é MVB, o vetor de movimento c é MV, a distância temporal entre a imagem de referência para trás P9 para a imagem atual B7 e a imagem P5, à qual o bloco na imagem de referência para trás P9 se refere, é TRD, e a distância cronológica entre a imagem atual B7 e a imagem de referência para frente P5 é TRF, respectivamente, o vetor de movimento d MVF e o vetor de movimento e MVB são, respectivamente, calculados pela Equação 1 e pela Equação 2. Note que a distância cronológica entre as imagens pode ser determinada com base na informação indicando a ordem de exibição (posição) dada para as respectivas imagens ou a diferença especi• ο ·
ficada pela informação.
MVF = MV x TRF / TRD......Equação 1
MVB = (TRF - TRD) x MV / TRD......Equação 2 onde MVF e MVB, respectivamente, representam componentes horizontais e componentes verticais dos vetores de movimento, e os sinais mais e menos indicam direções dos vetores de movimento.
A propósito, quanto à seleção de um modo de codificação, um método para a redução da codificação de erro com uma quantidade menor de bits, geralmente, é selecionado. A unidade de seleção de modo 109 extrai o modo de codificação determinado para a unidade de geração de seqüência de bits 104. Se o modo de codificação determinado pela unidade de seleção de modo 109 for uma codificação de predição interimagens, os vetores de movimento usados para a codificação de predição interimagens são extraídos para a unidade de geração de seqüência de bits 104 e, ainda, armazenados na unidade de armazenamento de vetor de movimento 116. Quando o modo direto é selecionado, os vetores de movimento os quais são calculados de acordo com a Equação 1 e a Equação 2 e usados para o modo direto são armazenados na unidade de armazenamento de vetor de movimento 116.
A unidade de seleção de modo 109 também gera dados de imagem de predição com base no modo de codificação determinado para a extração para a unidade de cálculo de diferença 102 e a unidade de adição 106, embora ela não extraia os dados de imagem de predição se ela selecionar a codificação intra-imagem. Além disso, quando da seleção da codificação intra-imagem, a unidade de seleção de modo 109 controla as chaves 111 e 112 para se conectarem a um lado a e um lado c, respectivamente, e quando da seleção da codificação de predição interimagens ou do modo direto, ela controla as chaves 111 e 112 para se conectarem a um lado b e um lado “d, respectivamente. Será explicado abaixo o caso em que a unidade de seleção de modo 109 seleciona a codificação de predição interimagens ou o modo direto.
A unidade de cálculo de diferença 102 recebe os dados de ima-
gem do macrobloco da imagem B7 lido a partir da memória de reordenação 101 e os dados de imagem de predição extraídos a partir da unidade de seleção de modo 109. A unidade de cálculo de diferença 102 calcula a diferença entre os dados de imagem do macrobloco da imagem B7 e os dados de imagem de predição, e gera os dados de imagem de erro residual para extração para a unidade de codificação de erro residual 103,
A unidade de codificação de erro residual 103 executa um processamento de codificação, tal como uma transformada de freqüência e uma quantificação nos dados de imagem de erro residual introduzido e, assim, gera os dados codificado para extração para a unidade de geração de seqüência de bits 104 e a unidade de decodificação de erro residual 105.
A unidade de geração de seqüência de bits 104 executa uma codificação de comprimento variável ou similar nos dados codificado introduzido, e ainda adiciona uma informação, tal como vetores de movimento e um modo de codificação e assim por diante àquele dado, para a geração e a extração de uma seqüência de bits.
Por outro lado, a unidade de decodificação de erro residual 105 executa um processamento de decodificação, tal como uma quantificação inversa e uma transformada de freqüência inversa nos dados codificado introduzido e gera os dados de imagem decodificado para extração para a unidade de adição 106. A unidade de adição 106 adiciona os dados de imagem diferencial decodificado e os dados de imagem de predição introduzido pela unidade de seleção de modo 109, para a geração dos dados de imagem decodificado, e o armazena na memória de imagem de referência 107.
Esta é a conclusão da codificação de um macrobloco na imagem B7, De acordo com o mesmo processamento, os macroblocos remanescentes na imagem B7 são codificados. E, após todos os macroblocos da imagem B7 serem codificados, a imagem B6 é codificada.
Codificação da Imagem B6
Uma vez que a imagem B6 é uma imagem B, B6 é codificada usando-se uma predição interimagens com referência a duas imagens previamente processadas localizadas mais anteriores ou posteriores do que B6
na ordem de exibição, A imagem tipo B, B6, refere-se à imagem P5 como uma imagem de referência à frente e à imagem B7 como uma imagem de referência para trás, como descrito acima. Uma vez que a imagem B6 não é usada como uma imagem de referência para a codificação de outras imagens, a unidade de controle de codificação 110 controla a chave 113 para estar LIGADA e as chaves 114 e 115 para estarem DESLIGADAS, o que faz com que o macrobloco da imagem B6 lido a partir da memória de reordenação 101 seja introduzido na unidade de estimativa de vetor de movimento 108, na unidade de seleção de modo 109 e na unidade de cálculo de diferença 102.
Usando-se os dados de imagem decodificado da imagem P5 e os dados de imagem decodificado da imagem B7, os quais são armazenados na memória de imagem de referência 107 como uma imagem de referência à frente e uma imagem de referência para trás, respectivamente, a unidade de estimativa de vetor de movimento 108 estima o vetor de movimento para frente e o vetor de movimento para trás para o macrobloco na imagem B6. E a unidade de estimativa de vetor de movimento 108 extrai os vetores de movimento estimados para a unidade de seleção de modo 109.
A unidade de seleção de modo 109 determina o modo de codificação para o macrobloco na imagem B6, usando os vetores de movimento estimados pela unidade de estimativa de vetor de movimento 108.
Aqui, o primeiro exemplo de operação de codificação de modo direto para o macrobloco na imagem B6 será explicado, com referência à Fig. 7B. A Fig. 7B é uma imagem que mostra vetores de movimento em modo direto e, especificamente, que mostra o caso em que o bloco a na imagem B6 é codificado em modo direto. Neste caso, um vetor de movimento c, o qual foi usado para a codificação de um bloco b na imagem B7, é utilizado. O bloco b é co-locatizado com o bloco a, e a imagem B7 é uma imagem de referência para trás da imagem B6. Aqui, é assumido que o bloco b é codificado por uma referência à frente apenas ou uma referência bipreditiva e o vetor de movimento para frente do bloco b é o vetor de movimento c. Também é assumido que o vetor de movimento c é armazenado na
• * · · · · · • · · · • · · · • · · · ··«*·· • · · unidade de armazenamento de vetor de movimento 116. O bloco a é biprevisto a partir da imagem de referência à frente P5 e da imagem de referência para trás B7, usando-se os vetores de movimento gerados utilizando-se o vetor de movimento c. Por exemplo, se um método de geração de vetores de movimento paralelos ao vetor de movimento c for usado, como é o caso da imagem B7 mencionada acima, o vetor de movimento d e o vetor de movimento e são usados para a imagem P5 e a imagem B7, respectivamente, para a codificação do bloco a.
Neste caso, onde o vetor de movimento para frente d é MVF, o vetor de movimento para trás e é MVB, o vetor de movimento c é MV, a distância cronológica entre a imagem de referência para trás B7 para a imagem atual B6 e a imagem P5, à qual o bloco b na imagem de referência para trás B7 se refere, é TRD, e a distância temporal entre a imagem atual B6 e a imagem de referência à frente P5 é TRF, respectivamente, o vetor de movimento d, MVF e o vetor de movimento e, MVB, são, respectivamente, calculados pela Equação 1 e pela Equação 2 mencionadas acima. Note que a distância cronológica entre as imagens pode ser determinada com base na informação indicando a ordem de exibição das imagens ou a diferença especificada pela informação, por exemplo.
Como descrito acima, em modo direto, pelo escalonamento do vetor de movimento para frente de uma imagem tipo B de referência para trás, não há necessidade de se transmitir uma informação de vetor de movimento, e a eficiência de predição de movimento pode ser melhorada. Além disso, pelo uso de imagens de referência cronologicamente mais próximas disponíveis em ordem de exibição como uma imagem de referência à frente e uma imagem de referência para trás, a eficiência de codificação pode ser aumentada.
Em seguida, o segundo exemplo do modo direto será explicado, com referência à Fig. 7B. Neste caso, o vetor de movimento, o qual foi usado para a codificação do bloco b na imagem B7, é utilizado. O bloco b é colocalizado com o bloco a, e a imagem B7 é uma imagem de referência para trás para a imagem B6. Aqui, é assumido que o bloco b tenha sido codifica-
do em modo direto e o vetor de movimento para frente, o qual foi substancialmente usado para a codificação do bloco b, é o vetor de movimento c. Especificamente, o vetor de movimento c é obtido pelo escalonamento do vetor de movimento usado para a codificação de um bloco i, co-localizado com o bloco b, na imagem P9 que é a imagem de referência para trás para a imagem B7. O vetor de movimento c armazenado na unidade de armazenamento de vetor de movimento 116 é usado, ou o vetor de movimento c é obtido pela leitura a partir da unidade de armazenamento de vetor de movimento 116 do vetor de movimento do bloco i na imagem P9, a qual foi usada para a codificação do bloco b em modo direto e calculando-se com base naquele vetor de movimento. Quando o vetor de movimento, o qual é obtido pelo escalonamento para codificação do bloco b na imagem B7 em modo direto é armazenado na unidade de armazenamento de vetor de movimento 116, apenas o vetor de movimento para frente precisa ser armazenado. O bloco a é biprevisto a partir da imagem de referência à frente P5 e da imagem de referência para trás B7, usando-se os vetores de movimento gerados utilizando-se o vetor de movimento c. Por exemplo, se um método de geração de vetores de movimento paralelos ao vetor de movimento c for usado, como é o caso do primeiro exemplo mencionado acima, os vetores de movimento usados para a codificação do bloco a são o vetor de movimento d e o vetor de movimento e para a imagem P5 e a imagem B7, respectivamente.
Neste caso, o vetor de movimento para frente d MVF e o vetor de movimento para trás e MVB do bloco a são, respectivamente, calculados pela Equação 1 e pela Equação 2 mencionadas acima, como no caso do primeiro exemplo.
Como descrito acima, em modo direto, uma vez que o vetor de movimento para frente de uma imagem tipo B de referência para trás, a qual foi substancialmente usada para a codificação da imagem tipo B em modo direto, é escalonado, não há necessidade de se transmitir a informação de vetor de movimento, e a eficiência de predição de movimento pode ser melhorada, mesmo se o bloco co-localizado na imagem de referência para trás
tiver sido codificado em modo direto. Assim sendo, a eficiência de codificação pode ser melhorada. Além disso, pelo uso de imagens de referência as quais são cronologicamente mais próximas disponíveis na ordem de exibição como uma imagem de referência à frente e uma imagem de referência para trás, a eficiência de codificação pode ser aumentada.
Em seguida, o terceiro exemplo de modo direto será explicado, com referência à Fig. 7C. A Fig. 7C é uma imagem que mostra vetores de movimento em modo direto e, especificamente, que mostra o caso em que o bloco a na imagem B6 é codificado em modo direto. Neste caso, o vetor de movimento o qual foi utilizado para a codificação do bloco b na imagem B7 é utilizado, A imagem B7 é uma imagem de referência para trás para a imagem B6, e o bloco b na imagem B7 é co-localizado com o bloco a na imagem B6. Aqui, é assumido que o bloco b tenha sido codificado usando-se um vetor de movimento para trás apenas, e o vetor de movimento para trás usa15 do para a codificação do bloco b é um vetor de movimento f. Especificamente, é assumido que o vetor de movimento f seja armazenado na unidade de armazenamento de vetor de movimento 116. O bloco a é biprevisto a partir da imagem de referência à frente P5 e da imagem de referência para trás B7, usando-se os vetores de movimento gerados utilizando-se o vetor de movimento f. Por exemplo, se um método de geração de vetores de movimento paralelos ao vetor de movimento f for usado, como é o caso do primeiro exemplo mencionado acima, os vetores de movimento usados para a codificação do bloco a são o vetor de movimento g e o vetor de movimento h para a imagem P5 e a imagem B7, respectivamente.
Neste caso, onde o vetor de movimento para frente g é MVF, o vetor de movimento para trás h é MVB, o vetor de movimento f é MV, a distância temporal entre a imagem de referência para trás B7 para a imagem atual B6 e a imagem P9, à qual o bloco na imagem de referência para trás B7 se refere, é TRD, a distância temporal entre a imagem atual B6 e a ima30 gem de referência à frente P5 é TRF, e a distância temporal entre a imagem atual B6 e a imagem de referência para trás B7 é TRB, respectivamente, o vetor de movimento g MVF e o vetor de movimento h MVB são, respectiva-
mente, calculados pela Equação 3 e pela Equação 4.
MVF = - TRF x MV / TRD......Equação 3
MVB - TRB x MV / TRD......Equação 4
Como descrito acima, em modo direto, uma vez que o vetor de movimento para trás de um bloco co-localizado em uma imagem de referência para trás B, a qual foi usada para a codificação do bloco, é escalonado, não há necessidade de se transmitir uma informação de vetor de movimento, e a eficiência de predição de movimento pode ser melhorado, mesmo se o bloco co-localizado na imagem de referência para trás tiver apenas o vetor de movimento para trás. Assim sendo, a eficiência de codificação pode ser melhorada. Além disso, pelo uso de imagens de referência as quais são cronologicamente mais próximas disponíveis em ordem de exibição como uma imagem de referência à frente e uma imagem de referência para trás, a eficiência de codificação pode ser aumentada.
Em seguida, o quarto exemplo de modo direto será explicado, com referência à Fig. 7D. A Fig. 7D é uma imagem que mostra vetores de movimento em modo direto e, especificamente, que mostra o caso em que o bloco a na imagem B6 é codificado em modo direto. Neste caso, o vetor de movimento o qual foi usado para a codificação do bloco b na imagem B7 é utilizado, A imagem B7 é a imagem de referência para trás para a imagem B6, e o bloco b é co-localizado com o bloco a na imagem B6. Aqui, é assumido que o bloco b foi codificado usando-se o vetor de movimento para trás apenas, como é o caso do terceiro exemplo, e o vetor de movimento para trás usado para a codificação do bloco b é o vetor de movimento f. Especificamente, o vetor de movimento f é assumido como sendo armazenado na unidade de armazenamento de vetor de movimento 116. O bloco a é biprevisto a partir da imagem de referência P9, a qual é referida pelo vetor de movimento f e da imagem de referência para trás B7, usando-se vetores de movimento gerados utilizando-se o vetor de movimento f. Por exemplo, se um método de geração de vetores de movimento paralelos ao vetor de movimento f for usado, como é o caso do primeiro exemplo mencionado acima, os vetores de movimento usados para a codificação do bloco a são o vetor
* · # * • * · • · · ♦ · » • ♦ · « • « • · · · · · » • * « * · · · • · «« I • » * » · • * Β de movimento g e o vetor de movimento h para a imagem P9 e a imagem B7, respectivamente.
Neste caso, onde o vetor de movimento para frente g é MVF, o vetor de movimento para trás h é MVB, o vetor de movimento f é MV, a distância cronológica entre a imagem de referência para trás B7 para a imagem atual B6 e a imagem P9, à qual o bloco na imagem de referência para trás B7 se refere, é TRD, e a distância cronológica entre a imagem atual B6 e a imagem P9, à qual o bloco b na imagem de referência para trás B7 se refere, é TRF, respectivamente, o vetor de movimento g MVF e o vetor de movimento h MVB são, respectivamente, calculados pela Equação 1 e pela Equação 2.
Como descrito acima, em modo direto, pelo escalonamento do vetor de movimento para trás de um bloco co-localizado em uma imagem de referência para trás B, a qual foi usada para a codificação do bloco, não há necessidade de transmissão de uma informação de vetor de movimento, e a eficiência de predição de movimento pode ser melhorada, mesmo se o bloco co-localizado na imagem de referência para trás tiver apenas o vetor de movimento para trás. Assim sendo, a eficiência de codificação pode ser melhorada. Além disso, pelo uso de uma imagem referida pelo vetor de movimento para trás como uma imagem de referência à frente, e uma imagem de referência a qual é cronologicamente mais próxima disponível na ordem de exibição como uma imagem de referência para trás, a eficiência de codificação pode ser aumentada.
Em seguida, o quinto exemplo do modo direto será explicado, com referência à Fig. 8A. A Fig. 8A é uma imagem que mostra vetores de movimento em modo direto e, especificamente, que mostra o caso onde o bloco a da imagem B6 é codificado em modo direto. Neste caso, na hipótese de o valor dos vetores de movimento ser 0, uma referência bipreditiva é realizada para compensação de movimento, usando-se a imagem P5 como uma imagem de referência à frente e a imagem B7 como uma imagem de referência para trás.
Como mencionado acima, ao se forçar o vetor de movimento 0
em modo direto, quando o modo direto é selecionado, não há necessidade de se transmitir uma informação de vetor de movimento nem de escalonar o vetor de movimento, e, assim, o volume de processamento pode ser reduzido.
Em seguida, o sexto exemplo do modo direto será explicado, com referência à Fig. 8B. A Fig. 8B é uma imagem que mostra vetores de movimento em modo direto e, especificamente, que mostra o caso em que o bloco a na imagem B6 é codificado em modo direto. Neste caso, o vetor de movimento g, o qual foi usado para a codificação do bloco f na imagem P9, é utilizado. A imagem P9 está localizada mais posterior do que a imagem B6, e o bloco f está co-localizado com o bloco a na imagem B6. O vetor de movimento g é armazenado na unidade de armazenamento de vetor de movimento 116, O bloco a é biprevisto a partir da imagem de referência à frente P5 e da imagem de referência para trás B7, usando-se vetores de movimento gerados utilizando-se o vetor de movimento g. Por exemplo, se um método de geração de vetores de movimento paralelos ao vetor de movimento g for usado, como é o caso do primeiro exemplo mencionado acima, os vetores de movimento usados para a codificação do bloco a são o vetor de movimento h e o vetor de movimento i para a imagem P5 e a imagem B7, respectivamente, para a codificação do bloco a.
Neste caso, onde o vetor de movimento para frente h é MVF, o vetor de movimento para trás i é MVB, o vetor de movimento g é MV, a distância cronológica entre a imagem P9, a qual está localizada mais posterior na ordem de exibição do que a imagem atual B6, e a imagem P5, à qual o bloco f na imagem P9 se refere, é TRD, a distância cronológica entre a imagem atual B6 e a imagem de referência à frente P5 é TRF, e a distância cronológica entre a imagem atual B6 e a imagem de referência para trás B7 é TRB, respectivamente, o vetor de movimento h MVF e o vetor de movimento i MVB são, respectivamente, calculados pela Equação 1 e pela Equação 5.
MVB = - TRB x MV / TRD...... Equação 5
Como descrito acima, em modo direto, pelo escalonamento do vetor de movimento da imagem P, a qual está localizada mais posterior na
« · • ft • · • · • · • * • · · « · · · • * · * • · · · • · · V ····«« ordem de exibição, não há necessidade de se armazenar o vetor de movimento de uma imagem B, se a imagem tipo B for a imagem de referência para trás, e também não há necessidade de se transmitir a informação de vetor de movimento. Além disso, pelo uso de imagens de referência as quais são cronologicamente mais próximas na ordem de exibição como uma imagem de referência à frente e uma imagem de referência para trás, a eficiência de codificação pode ser aumentada.
Em seguida, o sétimo exemplo do modo direto será explicado, com referência à Fig. 8C. A Fig. 8C é uma imagem que mostra vetores de movimento em modo direto e, especificamente, que mostra o caso em que o bloco a na imagem B6 é codificado em modo direto. Este exemplo mostra o caso em que a atribuição mencionada acima de índices relativos aos números de imagem é mudada (remapeada), e a imagem P9 é uma imagem de referência para trás. Neste caso, o vetor de movimento g, o qual foi usado para a codificação do bloco f na imagem P9, é utilizado. A imagem P9 é a imagem de referência para trás para a imagem B7, e o bloco f está colocalizado com o bloco a na imagem B6. O vetor de movimento g é armazenado na unidade de armazenamento de vetor de movimento 116. O bloco a é biprevisto a partir da imagem de referência à frente P5 e da imagem de referência para trás P9, usando-se os vetores de movimento gerados utilizando-se o vetor de movimento g. Por exemplo, se um método de geração de vetores de movimento paralelos ao vetor de movimento g, como é o caso do primeiro exemplo mencionado acima, os vetores de movimento usados para a codificação do bloco a são o vetor de movimento h e o vetor de movimento i para a imagem P5 e a imagem P9, respectivamente.
Neste caso, onde o vetor de movimento para frente h é MVF, o vetor de movimento para trás i é MVB, o vetor de movimento g é MV, a distância cronológica entre a imagem de referência para trás P9 para a imagem atual B6 e a imagem P5, à qual o bloco f na imagem P9 se refere, é TRD, e a distância cronológica entre a imagem atual B6 e a imagem de referência à frente P5 é TRF, respectivamente, o vetor de movimento h MVF e o vetor de movimento i MVB são respectivamente calculados pela Equação 1 e pela
Equação 2.
Como descrito acima, em modo direto, o vetor de movimento da imagem previamente codificada pode ser escalonado, mesmo se os índices relativos para os números de imagem forem remapeados, e quando o modo direto é selecionado, não há necessidade de se transmitir a informação de vetor de movimento.
Quando o bloco a na imagem B6 é codificado em modo direto, o bloco na imagem de referência para trás para a imagem B6, o qual está colocalizado com o bloco a, é codificado pela referência à frente apenas, pela referência bipreditiva ou pelo modo direto. E quando um vetor de movimento para frente foi usado para esta codificação, este vetor de movimento para frente é escalonado, e o bloco a é codificado em modo direto, como é o caso do primeiro, segundo ou sétimo exemplo mencionado acima. Por outro lado, quando o bloco co-localizado com o bloco a tiver sido codificado por uma referência para trás apenas usando-se um vetor de movimento para trás, este vetor de movimento para trás é escalonado, e o bloco a é codificado em modo direto, como é o caso do terceiro ou quarto exemplo.
O modo direto mencionado acima é aplicável não apenas ao caso em que um intervalo de tempo entre imagens é fixo, mas, também, ao caso em que ele é variável.
A unidade de seleção de modo 109 extrai o modo de codificação determinado para a unidade de geração de seqüência de bits 104. Também, a unidade de seleção de modo 109 gera dados de imagem de predição com base no modo de codificação determinado, e o extrai para a unidade de cálculo de diferença 102. Entretanto, se selecionando uma codificação intraimagem, a unidade de seleção de modo 109 não extrai dados de imagem de predição. A unidade de seleção de modo 109 controla as chaves 111 e 112 de modo a serem conectadas a um lado a e a um lado c, respectivamente, se selecionando uma codificação intra-imagem, e controla as chaves 111 e 112 de modo a serem conectadas a um lado b e a um lado d, se selecionando uma codificação de predição interimagens ou um modo direto. Se o modo de codificação determinado for uma codificação de predição inte33
rimagens, a unidade de seleção de modo 109 extrai os vetores de movimento usados para a codificação de predição interimagens para a unidade de geração de seqüência de bits 104. Uma vez que a imagem B6 não é usada como uma imagem de referência para a codificação de outras imagens, não há necessidade de se armazenar os vetores de movimento usados para a codificação de predição interimagens na unidade de armazenamento de vetor de movimento 116. Será explicado abaixo o caso em que a unidade de seleção de modo 109 seleciona a codificação de predição interimagens ou o modo direto.
A unidade de cálculo de diferença 102 recebe os dados de imagem do macrobloco na imagem B6 lido a partir da memória de reordenação 101 e os dados de imagem de predição extraído da unidade de seleção de modo 109. A unidade de cálculo de diferença 102 calcula a diferença entre os dados de imagem do macrobloco na imagem B6 e os dados de imagem de predição, e gera os dados de imagem de erro residual para extração para a unidade de codificação de erro residual 103. A unidade de codificação de erro residual 103 executa um processamento de codificação, tal como uma transformada de freqüência e uma quantificação nos dados de imagem de erro residual introduzido e, assim, gera os dados codificado para extração para a unidade de geração de seqüência de bits 104.
A unidade de geração de seqüência de bits 104 executa uma codificação de comprimento variável ou similar nos dados codificado introduzido, ainda adiciona uma informação tal como vetores de movimento e um modo de codificação e assim por diante nos dadod, e gera a seqüência de bits para extração.
Esta é a conclusão da codificação de um macrobloco na imagem B6. De acordo com o mesmo processamento, os macroblocos remanescentes na imagem B6 são codificados. E, após todos os macroblocos na imagem B6 serem codificados, a imagem B8 é codificada.
(Codificação da Imagem B8)
Uma vez que a imagem B8 é uma imagem tipo B, uma codificação de predição interimagens é realizada para a imagem B8, com referência
a duas imagens previamente processadas localizadas mais anteriores ou posteriores do que B6 na ordem de exibição. A imagem tipo B B8 refere-se à imagem B7 como uma imagem de referência à frente e à imagem P9 como uma imagem de referência para trás, como descrito acima. Uma vez que a imagem B8 não é usada como uma imagem de referência para a codificação de outras imagens, a unidade de controle de codificação 110 controla a chave 113 para estar LIGADA e as chaves 114 e 115 para estarem DESLIGADA, o que faz com que os macroblocos na imagem B8 sejam lidos a partir da memória de reordenação 101 para serem introduzidos na unidade de estimativa de vetor de movimento 108, na unidade de seleção de modo 109 e na unidade de cálculo de diferença 102.
Usando-se os dados de imagem decodificado da imagem B7 e os dados de imagem decodificado da imagem P9, os quais são armazenados na memória de imagem de referência 107 como uma imagem de referência à frente e uma imagem de referência para trás, respectivamente, a unidade de estimativa de vetor de movimento 108 estima o vetor de movimento para frente e o vetor de movimento para trás para o macrobloco na imagem B8. E a unidade de estimativa de vetor de movimento 108 extrai os vetores de movimento estimados para a unidade de seleção de modo 109.
A unidade de seleção de modo 109 determina o modo de codificação para o macrobloco na imagem B8, usando os vetores de movimento estimados pela unidade de estimativa de vetor de movimento 108.
Aqui, o caso em que o macrobloco na imagem B8 é codificado usando-se modo direto será explicado, com referência à Fig. 8D. A Fig. 8D é uma imagem que mostra vetores de movimento em modo direto e, especificamente, que mostra o caso em que um bloco a na imagem B8 é codificado em modo direto. Neste caso, um vetor de movimento c, o qual foi usado para a codificação de um bloco b na imagem para trás P9 é utilizado. A imagem de referência P9 está localizada mais posterior do que a imagem B8, e o bloco b na imagem P9 está co-iocalizado com o bloco a. Aqui, é assumido que o bloco b foi codificado por uma referência à frente e o vetor de movimento para frente para o bloco b é o vetor de movimento c. O vetor de mo35
vimento c é armazenado na unidade de armazenamento de vetor de movimento 116. O bloco a é biprevisto a partir da imagem de referência à frente B7 e da imagem de referência para trás P9, usando-se os vetores de movimento gerados utilizando-se o vetor de movimento c. Por exemplo, se um método de geração de vetores de movimento paralelos ao vetor de movimento c for usado, como é o caso da imagem B7 mencionada acima, o vetor de movimento d e o vetor de movimento e são usados para a imagem B7 e a imagem P9, respectivamente, para a codificação do bloco a.
Neste caso, onde o vetor de movimento para frente d é MVF, o vetor de movimento para trás e é MVB, o vetor de movimento c é MV, a distância cronológica entre a imagem de referência para trás P9 para a imagem atual B8 e a imagem P5, à qual o bloco b na imagem de referência para trás P9 se refere, é TRD, a distância cronológica entre a imagem atual B8 e a imagem de referência à frente B7 é TRF, e a distância cronológica entre a imagem atual B8 e a imagem de referência para trás P9 é TRB, respectivamente, o vetor de movimento d MVF e o vetor de movimento e MVB são respectivamente calculados pela Equação 1 e pela Equação 5.
Como descrito acima, em modo direto, pelo escalonamento do vetor de movimento para frente da imagem de referência para trás, quando o modo direto é selecionado, não há necessidade de transmissão da informação de vetor de movimento, e a eficiência de predição de movimento pode ser melhorada. Assim sendo, a eficiência de codificação pode ser melhorada. Além disso, pelo uso de imagens de referência as quais são cronologicamente mais próximas disponíveis na ordem de exibição como imagens de referência à frente e para trás, a eficiência de codificação pode ser aumentada.
O modo direto mencionado acima é aplicável não apenas ao caso em que um intervalo de tempo entre imagens é fixo, mas, também, ao caso em que ele é variável.
A unidade de seleção de modo 109 extrai o modo de codificação determinado para a unidade de geração de seqüência de bits 104. Também, a unidade de seleção de modo 109 gera dados de imagem de predição com
base no modo de codificação determinado e o extrai para a unidade de cálculo de diferença 102. Entretanto, se selecionando uma codificação intraimagem, a unidade de seleção de modo 109 não extrai dados de imagem de predição. A unidade de seleção de modo 109 controla as chaves 111 e 112 de modo a serem conectadas a um lado a e um lado c, respectivamente, se selecionando uma codificação de predição interimagens, e controla as chaves 111 e 112, de modo a serem conectadas a um lado b e um lado d, se selecionado uma codificação de predição interimagens ou um modo direto. Se o modo de codificação determinado for uma codificação de predição interimagens, a unidade de seleção de modo 109 extrai os vetores de movimento usados para a codificação de predição interimagens para a unidade de geração de seqüência de bits 104. Uma vez que a imagem B8 não é para ser usada como uma imagem de referência para a codificação de outras imagens, não há necessidade de se armazenarem os vetores de movimento usados para a codificação de predição interimagens na unidade de armazenamento de vetor de movimento 116. Será explicado abaixo o caso em que a unidade de seleção de modo 109 seleciona a codificação de predição interimagens ou o modo direto.
A unidade de cálculo de diferença 102 recebe os dados de imagem do macrobloco na imagem B8 lidos a partir da memória de reordenação 101 e os dados de imagem de predição extraído da unidade de seleção de modo 109. A unidade de cálculo de diferença 102 calcula a diferença entre os dados de imagem do macrobloco na imagem B8 e os dados de imagem de predição e gera os dados de imagem de erro residual para extração para a unidade de codificação de erro residual 103. A unidade de codificação de erro residual 103 executa um processamento de codificação, tal como uma transformada de frequência e uma quantificação, nos dados de imagem de erro residual introduzido e, assim, gera os dados codificado para extração para a unidade de geração de seqüência de bits 104.
A unidade de geração de seqüência de bits 104 executa uma codificação de comprimento variável ou similar nos dados codificados introduzidos, ainda adiciona uma informação tal como vetores de movimento e
um modo de codificação e assim por diante ao dado, e gera a sequência de bits para extração.
Esta é a conclusão da codificação de um macrobloco na imagem B8. De acordo com o mesmo processamento, os macroblocos remanescentes na imagem B8 são codificados.
De acordo com os respectivos procedimentos de codificação mencionados acima para as imagens P9, B7, B6 e B8, outras imagens são codificadas, dependendo de seus respectivos tipos e localizações cronológicas na ordem de exibição.
Na modalidade mencionada acima, o método de codificação de filme de acordo com a presente invenção foi explicado, tomando-se o caso em que a estrutura de predição de imagem, como mostrado na Fig. 6A, é usada como um exemplo. A Fig. 12 é uma imagem que mostra esta estrutura de predição de imagem hierarquicamente. Na Fig. 12, as setas indicam relações de predição, nas quais as imagens apontadas pelas setas se referem às imagens localizadas nas origens das setas. Na estrutura de predição de imagem como mostrado na Fig. 6A, a ordem de codificação é determinada dando-se uma prioridade máxima às imagens as quais são mais distantes das imagens previamente processadas na ordem de exibição, como mostrado na Fig. 12. Por exemplo, a imagem mais distante de uma imagem tipo I ou de uma imagem tipo P é aquela localizada no centro das imagens tipo B consecutivas. Portanto, se as imagens P5 e P9 tiverem sido codificadas, a imagem B7 é para ser codificada em seguida. E se as imagens P5, B7 e P9 tiverem sido codificadas, as imagens B6 e B8 devem ser codificadas em seguida.
Além disso, o método de codificação de filme de acordo com a presente invenção pode ser usado para outras estruturas de predição de imagem além daquelas como mostrado na Fig. 6 e na Fig. 12, de modo a se produzirem os efeitos da presente invenção. As Fig. 9 a 11 mostram os exemplos de outras estruturas de predição de imagem.
A Fig. 9 mostra o caso em que 3 imagens tipo B estão localizadas entre imagens tipo I e imagens P, e a imagem tipo B mais próxima da
imagem previamente processada é selecionada para codificação primeiramente. A Fig. 9A é um diagrama que mostra as relações de predição entre as respectivas imagens dispostas na ordem de exibição, e a Fig. 9B é um diagrama que mostra a seqüência de imagens reordenadas na ordem de codificação (uma seqüência de bits). A Fig. 13 é um diagrama hierárquico da estrutura de predição de imagem correspondente à Fig. 9A. Na estrutura de predição de imagem como mostrado na Fig. 9A, as imagens mais próximas na ordem de exibição a partir das imagens previamente processadas são codificadas primeiramente, como mostrado na Fig. 13. Por exemplo, se as imagens P5 e P9 tiverem sido codificadas, as imagens B6 e B8 devem ser codificadas em seguida. Se as imagens P5, B6, B8 e P9 tiverem sido codificadas, a imagem B7 deve ser codificada em seguida.
A Fig. 10 mostra o caso em que 5 imagens tipo B estão localizadas entre imagens tipo I e imagens tipo P e a imagem tipo B a qual está mais distante da imagem previamente processada é selecionada para codificação primeiramente. A Fig. 10A é um diagrama que mostra relações de predição entre respectivas imagens dispostas em ordem de exibição, e a Fig. 10B é um diagrama que mostra a seqüência de imagens reordenadas na ordem de codificação (uma seqüência de bits). A Fig. 14 é um diagrama hierárquico da estrutura de predição de imagem correspondente à Fig. 10A. Na estrutura de predição de imagem como mostrado na Fig. 10A, a ordem de codificação é determinada dando-se uma prioridade máxima às imagens mais distantes na ordem de exibição a partir das imagens previamente processadas, como mostrado na Fig. 14. Por exemplo, a imagem mais distante de uma imagem tipo I ou de uma imagem tipo P é a imagem tipo B no centro das imagens tipo B consecutivas. Portanto, se as imagens P7 e P13 tiverem sido codificadas, a imagem B10 deve ser codificada em seguida. Se as imagens P7, B10 e P13 tiverem sido codificadas, as imagens B8, B9, B11 e B12 devem ser codificadas em seguida.
A Fig. 11 mostra o caso em que cinco imagens tipo B estão localizadas entre imagens tipo I e imagens tipo P e a imagem tipo B a qual é mais próxima da imagem previamente processada é selecionada para a co39
dificação primeiramente. A Fig. 11A é um diagrama que mostra as relações de predição entre as respectivas imagens dispostas na ordem de exibição, e a Fig. 11B é um diagrama que mostra a seqüência de imagens reordenadas na ordem de codificação (uma seqüência de bits). A Fig. 15 é um diagrama hierárquico da estrutura de predição de imagem correspondente à Fig. 11 A. Na estrutura de predição de imagem como mostrado na Fig. 11A, as imagens mais próximas na ordem de exibição a partir das imagens previamente processadas são codificadas primeiramente, como mostrado na Fig. 15. Por exemplo, se as imagens P5 e P9 tiverem sido codificadas, as imagens B8 e B12 devem ser codificadas em seguida. Se as imagens P5, B8, B12 e P9 tiverem sido codificadas, as imagens B9 e B11 devem ser codificadas em seguida. Mais ainda, se as imagens P5, B8, B9, B11, B12 e P9 tiverem sido codificadas, a imagem B10 é para ser codificada em seguida.
Como descrito acima, de acordo com o método de codificação de filme da presente invenção, quando uma codificação de predição interimagens é realizada em uma pluralidade de imagens tipo B localizadas entre imagens tipo I e imagens P, usando-se uma referência bipreditiva, elas são codificadas em uma outra ordem, diferente da ordem de exibição. Para aquela finalidade, as imagens localizadas tão próximas quanto possível da imagem atual na ordem de exibição são usadas como imagens à frente e para trás. Como uma imagem de referência, uma imagem tipo B também é usada, se ela estiver disponível, Quando uma pluralidade de imagens tipo B localizadas entre imagens tipo I e imagens tipo P é codificada em uma ordem diferente da ordem de exibição, a imagem mais distante da imagem previamente processada é para ser codificada primeiramente. Ou, quando uma pluralidade de imagens tipo B localizadas entre imagens tipo I e imagens tipo P é codificada em uma ordem diferente da ordem de exibição, a imagem mais próxima da imagem previamente processada é para ser codificada primeiro.
De acordo com o método de codificação de filme da presente invenção, a operação mencionada acima permite usar uma imagem mais próxima de uma imagem tipo B atual na ordem de exibição como imagem de
referência para a codificação. A eficiência de predição, assim, é aumentada para compensação de movimento e a eficiência de codificação é aumentada.
Além disso, de acordo com o método de codificação de filme da presente invenção, para a codificação de um bloco em uma imagem tipo B em modo direto com referência a uma imagem tipo B previamente codificada como uma imagem de referência para trás, se o bloco co-localizado na imagem de referência para trás tiver sido codificado por uma referência à frente ou uma referência bipreditiva, um vetor de movimento obtido pelo escalonamento do vetor de movimento para frente da imagem de referência para trás é usado como um vetor de movimento em modo direto.
Como mencionado acima, em modo direto, pelo escalonamento de um vetor de movimento para frente de uma imagem de referência para trás, não há necessidade de se transmitir uma informação de vetor de movimento, e a eficiência de predição pode ser aumentada. Além disso, pelo uso de uma imagem de referência cronologicamente mais próxima na ordem de exibição como uma imagem de referência à frente, a eficiência de codificação pode ser aumentada.
Ou, se um bloco co-localizado em uma imagem de referência para trás for codificado em modo direto, um vetor de movimento obtido pelo escalonamento do vetor de movimento para frente substancialmente usado em modo direto é usado como um vetor de movimento em modo direto.
Como mencionado acima, em modo direto, pelo escalonamento de um vetor de movimento para frente de uma imagem de referência para trás, a qual foi substancialmente usada para a codificação de modo direto, não há necessidade de se transmitir uma informação de vetor de movimento, e a eficiência de predição pode ser aumentada, mesmo se o bloco colocalizado na imagem de referência para trás for codificado no modo direto. Além disso, a eficiência de codificação pode ser melhorada pelo uso de uma imagem de referência cronologicamente mais próxima como uma imagem de referência à frente.
Ou, se um bloco co-localizado em uma imagem de referência para trás for codificado por uma referência para trás, os vetores de movi41
mento obtidos pelo escalonamento do vetor de movimento para trás do bloco são usados como vetores de movimento em modo direto.
Como mencionado acima, em modo direto, pelo escalonamento de um vetor de movimento para trás, o qual foi usado para a codificação de um bloco co-localizado na imagem de referência para trás, não há necessidade de se transmitir uma informação de vetor de movimento, e a eficiência de predição pode ser aumentada, mesmo se o bloco co-localizado na imagem de referência para trás tiver apenas um vetor de movimento para trás. Além disso, pelo uso de uma imagem de referência cronologicamente mais próxima como uma imagem de referência à frente, a eficiência de codificação pode ser melhorada.
Ou, se um bloco co-localizado em uma imagem de referência para trás for codificado por uma referência para trás, os vetores de movimento obtidos pelo escalonamento do vetor de movimento para trás usado para aquela codificação, com referência à imagem referida por este vetor de movimento para trás e à imagem de referência para trás, são usados como vetores de movimento em modo direto.
Como mencionado acima, em modo direto, pelo escalonamento de um vetor de movimento para trás o qual foi usado para a codificação de um bloco co-localizado na imagem de referência para trás, não há necessidade de se transmitir uma informação de vetor de movimento, e a eficiência de predição pode ser aumentada, mesmo se o bloco co-localizado na imagem de referência para trás tiver apenas um vetor de movimento para trás. Assim sendo, a eficiência de codificação pode ser melhorada. Além disso, pelo uso de uma imagem referida pelo vetor de movimento para trás como uma imagem de referência para frente e uma imagem de referência cronologicamente mais próxima disponível em ordem de exibição como uma imagem de referência para trás, a eficiência de codificação pode ser aumentada.
Ou, em modo direto, um vetor de movimento o qual é forçado a ser regulado para 0 é usado.
Ao se forçar um vetor de movimento a ser regulado para 0 em modo direto, quando o modo direto é selecionado, não há necessidade de se |Γ'
transmitir a informação de vetor de movimento nem de escalonar o vetor de movimento e, portanto, o volume de processamento pode ser reduzido.
Além disso, de acordo com o método de codificação de filme da presente invenção, para a codificação de um bloco em uma imagem tipo B em modo direto com referência a uma imagem tipo B a qual foi previamente codificada como uma imagem de referência para trás, um vetor de movimento obtido pelo escalonamento do vetor de movimento para frente, o qual foi usado para a codificação do bloco co-localizado na imagem tipo P posterior, é usado como um vetor de movimento em modo direto.
Como mencionado acima, em modo direto, pelo escalonamento de um vetor de movimento de uma imagem tipo P posterior, se a imagem de referência para trás for uma imagem B, não há necessidade de se armazenarem os vetores de movimento da imagem tipo B e não há necessidade de se transmitir a informação de vetor de movimento e, assim, a eficiência de predição pode ser aumentada. Além disso, pelo uso de uma imagem de referência cronologicamente mais próxima como uma imagem de referência à frente, a eficiência de codificação pode ser melhorada.
Quando a atribuição de índices relativos a números de imagem é mudada e um bloco co-localizado em uma imagem de referência para trás foi codificado por uma imagem à frente, os vetores de movimento obtidos pelo escalonamento daquele vetor de movimento para frente são usados como vetores de movimento em modo direto.
Como mencionado acima, em modo direto, um vetor de movimento de uma imagem previamente codificada pode ser escalonado, mesmo se uma atribuição de índices relativos a números de imagem for mudada, e não há necessidade de se transmitir uma informação de vetor de movimento,
Na presente modalidade, foi explicado o caso em que uma compensação de movimento é feita a cada 16 (horizontal) x 16 (vertical) pixels, e os dados de imagem de erro residual são codificados a cada 8 (horizontal) x 8 (vertical) pixels ou 4 (horizontal) x 4 (vertical) pixels, mas um outro tamanho (número de pixels incluídos) pode ser aplicado.
Também, na presente modalidade, foi explicado o caso em que
ou 5 imagens tipo B consecutivas estão localizadas, mas um outro número de imagens pode estar localizado.
Ainda, na presente modalidade, foi explicado o caso em que uma dentre uma codificação intra-imagem, uma codificação de predição interimagens usando vetores de movimento e uma codificação de predição interimagens sem o uso de vetores de movimento é selecionada como um modo de codificação para imagens tipo P, e uma dentre codificação intra-imagem, codificação de predição interimagens usando um vetor de movimento para frente, codificação de predição interimagens usando um vetor de movimento para trás, codificação de predição interimagens usando vetores de movimento de bipredição e modo direto é selecionado para as imagens tipo B, mas um outro modo de codificação pode ser usado.
Também, na presente modalidade, sete exemplos de modo direto foram explicados, mas um método o qual seja unicamente determinado em cada macrobloco ou bloco pode ser usado, ou qualquer um de uma pluralidade de métodos em cada macrobloco ou bloco pode ser selecionado. Se uma pluralidade de métodos for usada, uma informação indicando qual tipo de modo direto foi usado é descrita em uma seqüência de bits.
Além disso, na presente modalidade, foi explicado o caso em que uma imagem tipo P é codificada com referência a uma imagem tipo I ou tipo P previamente codificada, a qual está localizada cronologicamente mais anterior ou mais posterior na ordem de exibição do que a imagem tipo P, e uma imagem tipo B é codificada com referência a duas imagens vizinhas previamente processadas, as quais estão localizadas mais anteriores ou mais posteriores na ordem de exibição do que a imagem tipo B, respectivamente. Entretanto, no caso de uma imagem P, a imagem tipo P pode ser codificada com referência a no máximo uma imagem para cada bloco dentre uma pluralidade de imagens tipo I ou P previamente codificadas como imagens de referência candidatas e, no caso de uma imagem tipo B, a imagem tipo B pode ser codificada com referência a no máximo duas imagens para cada bloco dentre a pluralidade de imagens vizinhas previamente codificadas, as quais estão localizadas mais anteriores ou mais posteriores como
imagens de referência candidatas.
Além disso, quando do armazenamento de vetores de movimento na unidade de armazenamento de vetor de movimento 116, a unidade de seleção de modo 109 pode armazenar ambos os vetores de movimento para frente e para trás ou apenas um vetor de movimento para frente, se um bloco atual for codificado por uma referência bipreditiva ou em modo direto. Se ela armazenar apenas o vetor de movimento para frente, o volume armazenado na unidade de armazenamento de vetor de movimento 116 pode ser reduzido.
(Segunda Montagem)
A Fig. 16 é um diagrama de blocos que mostra uma estrutura de um aparelho de decodificação de filme usando um método de decodificação de filme de acordo com uma modalidade da presente invenção,
Como mostrado na Fig. 16, o aparelho de decodificação de filme * 15 inclui uma unidade de análise de seqüência de bits 1401, uma unidade de decodificação de erro residual 1402, uma unidade de decodificação de modo 1403, uma unidade de controle de memória de dimensão 1404, uma unidade de decodificação de compensação de movimento 1405, uma unidade de armazenamento de vetor de movimento 1406, uma memória de dimensão
1407, uma unidade de adição 1408 e chaves 1409 e 1410.
A unidade de análise de seqüência de bits 1401 extrai vários tipos de dados, tal como uma informação de modo de codificação e uma informação de vetor de movimento a partir da seqüência de bits introduzida. A unidade de decodificação de erro residual 1402 decodifica os dados codifi25 cado de erro residual introduzido a partir da unidade de análise de seqüência de bits 1401 e gera um dado de imagem de erro residual. A unidade de decodificação de modo 1403 controla as chaves 1409 e 1410 com referência à informação de modo de codificação extraída da seqüência de bits.
A unidade de controle de memória de quadro 1404 extrai os da30 dos de imagem decodificados armazenados na memória de dimensão 1407 como imagens de saída, com base na informação indicando a ordem de exibição das imagens introduzidas a partir da unidade de análise de seqüência
de bits 1401.
A unidade de decodificação de compensação de movimento 1405 decodifica a informação dos números de imagem de referência e dos vetores de movimento, e obtém um dado de imagem de compensação de movimento a partir da memória de quadro 1407, com base nos números de imagem de referência decodificada e nos vetores de movimento. A unidade de armazenamento de vetor de movimento 1406 armazena os vetores de movimento.
A unidade de adição 1408 adiciona os dados codificado de erro 10 residual introduzidos a partir da unidade de decodificação de erro residual 1402 e os dados de imagem de compensação de movimento introduzido a partir da unidade de decodificação de compensação de movimento 1405 para a geração dos dados de imagem decodificado. A memória de dimensão
1407 armazena os dados de imagem decodificados gerado.
Em seguida, a operação do aparelho de decodificação de filme como estruturado acima será explicada. Aqui, é assumido que a seqüência de bits gerada pelo aparelho de codificação de filme seja introduzida no aparelho de decodificação de filme. Especificamente, é assumido que uma imagem tipo P refere-se a uma imagem tipo I ou tipo P vizinha previamente pro20 cessada, a qual está localizada mais anterior ou mais posterior do que a imagem tipo P na ordem de exibição, e uma imagem tipo B refere-se a duas imagens vizinhas previamente codificadas, as quais estão localizadas mais anteriores ou mais posteriores do que a imagem tipo B na ordem de exibição.
Neste caso, as imagens no seqüência de bits são dispostas na ordem como mostrado na Fig. 6B. O processamento de decodificação das imagens P9, B7, B6 e B8 será explicado abaixo, nesta ordem.
(Decodificação da Imagem P9)
A seqüência de bits da imagem P9 é introduzida na unidade de análise de seqüência de bits 1401. A unidade de análise de seqüência de bits 1401 extrai vários tipos de dados da seqüência de bit introduzida. Aqui, vários tipos de dados significam informação de seleção de modo, informação
de vetor de movimento e outras. A informação de seleção de modo extraída é levada para a unidade de decodificação de modo 1403. A informação de vetor de movimento extraída é levada para a unidade de decodificação de compensação de movimento 1405. E os dados codificado de erro residual são extraído para a unidade de decodificação de erro residual 1402.
A unidade de decodificação de modo 1403 controla as chaves 1409 e 1410 com referência à informação de seleção de modo de codificação extraída a partir da seqüência de bits. Se uma codificação intra-imagem é selecionada como um modo de codificação, a unidade de decodificação de modo 1403 controla as chaves 1409 e 1410 de modo a se conectarem a um lado a e a um lado c, respectivamente. Se uma codificação de predição interimagens é selecionada como um modo de codificação, a unidade de decodificação de modo 1403 controla as chaves 1409 e 1410 de modo a se conectarem a um lado b e a um lado d, respectivamente.
A unidade de decodificação de modo 1403 também extrai a informação de seleção de modo de codificação para a unidade de decodificação de compensação de movimento 1405. O caso em que a codificação de predição interimagens é selecionada como um modo de codificação será explicado abaixo. A unidade de decodificação de erro residual 1402 decodifica os dados codificados de erro residual introduzidos para gerar dados de imagem de erro residual. A unidade de decodificação de erro residual 1402 extrai os dados de imagem de erro residual gerados para a chave 1409. Uma vez que a chave 1409 está conectada ao lado b, os dados de imagem de erro residual são extraídos para a unidade de adição 1408.
A unidade de decodificação de compensação de movimento 1405 obtém dados de imagem de compensação de movimento a partir da memória de dimensão 1407, com base na informação de vetor de movimento introduzida e similar. A imagem P9 foi codificada com referência à imagem P5, e a imagem P5 já foi decodificada e armazenada na memória de dimensão 1407. Assim, a unidade de decodificação de compensação de movimento 1405 obtém os dados de imagem de compensação de movimento a partir dos dados de imagem da imagem P5 armazenados na memó47 * ·
ria de dimensão 1407, com base na informação de vetor de movimento. Os dados de imagem de compensação de movimento gerados desta maneira são extraído para a unidade de adição 1408.
Quando da decodificação de imagens P, a unidade de decodificação de compensação de movimento 1405 armazena a informação de vetor de movimento na unidade de armazenamento de vetor de movimento 1406.
A unidade de adição 1408 adiciona os dados de imagem de erro residual introduzidos e os dados de imagem de compensação de movimento para a geração dos dados de imagem decodificado. Os dados de imagem decodificado gerado são extraídos para a memória de dimensão 1407 através da chave 1410.
Esta é a conclusão da decodificação de um macrobloco na imagem P9. De acordo com o mesmo processamento, os macroblocos remanescentes na imagem P9 são decodificados em seqüência. E, após todos os macroblocos na imagem P9 serem decodificados, a imagem B7 é decodificada.
(Decodificação da Imagem B7)
Uma vez que as operações da unidade de análise de seqüência de bits 1401, da unidade de decodificação de modo 1403 e da unidade de decodificação de erro residual 1402 até a geração do dado de imagem de erro residual são as mesmas que aquelas para a decodificação da imagem P9, a explanação das mesmas será omitida.
A unidade de decodificação de compensação de movimento 1405 gera um dado de imagem de compensação de movimento com base na informação de vetor de movimento introduzida e similar. A imagem B7 é codificada com referência à imagem P5 como uma imagem de referência à frente e a imagem P9 como uma imagem de referência para trás, e essas imagens P5 e P9 já foram decodificadas e armazenadas na memória de dimensão 1407.
Se uma codificação de bipredição interimagens for selecionada como um modo de codificação, a unidade de decodificação de compensação
de movimento 1405 obtém os dados de imagem de referência à frente a partir da memória de dimensão 1407, com base na informação de vetor de movimento para frente. Ela também obtém os dados de imagem de referência para trás a partir da memória de quadro 1407, com base na informação de vetor de movimento para trás. Então, a unidade de decodificação de compensação de movimento 1405 avalia os dados de imagem de referência à frente e para trás para a geração de dados de imagem de compensação de movimento.
Quando o modo direto é selecionado como um modo de codificação, a unidade de decodificação de compensação de movimento 1405 obtém o vetor de movimento da imagem P9 armazenada na unidade de armazenamento de vetor de movimento 1406. Usando este vetor de movimento, a unidade de decodificação de compensação de movimento 1405 obtém os dados de imagem de referência à frente e para trás a partir da memória de dimensão 1407. Então, a unidade de decodificação de compensação de movimento 1405 avalia os dados de imagem de referência à frente e para trás para a geração dos dados de imagem de compensação de movimento.
O caso em que o modo direto é selecionado como um modo de codificação será explicado, com referência à Fig. 7A de novo. Aqui, é assumido que o bloco a na imagem B7 é para ser decodificado e o bloco b na imagem P9 está co-localizado com o bloco a. O vetor de movimento do bloco b é o vetor de movimento c, o qual refere-se à imagem P5. Neste caso, o vetor de movimento d, o qual é obtido utilizando-se o vetor de movimento c e refere-se à imagem P5, é usado como um vetor de movimento para frente, e o vetor de movimento e, o qual é obtido utilizando-se o vetor de movimento c e refere-se à imagem P9, é usado como um vetor de movimento para trás. Por exemplo, como um método de utilização do vetor de movimento c, há um método para a geração de vetores de movimento paralelos ao vetor de movimento c. Os dados de imagem de compensação de movimento são obtidos pela avaliação dos dados de referência à frente e para trás obtidos com base nesses vetores de movimento.
Neste caso, onde o vetor de movimento para frente d é MVF, o vetor de movimento para trás e é MVB, o vetor de movimento c é MV, a distância cronológica entre a imagem de referência para trás P9 para o imagem atual B7 e a imagem P5 à qual o bloco b na imagem de referência para trás P9 refere-se é TRD, e a distância cronológica entre a imagem atual B7 e a imagem de referência à frente P5 é TRF, respectiva mente, o vetor de movimento d MVF e o vetor de movimento e, MVB são respectivamente calculados pela Equação 1 e pela Equação 2, onde MVF e MVB representam componentes horizontais e verticais dos vetores de movimento, respectivamente. Note que a distância cronológica entre as imagens pode ser determinada, com base na informação indicando a ordem de exibição (posição) dada para as respectivas imagens ou a diferença especificada pela informação.
O dado de imagem de compensação de movimento gerado desta maneira são extraídos para a unidade de adição 1408. A unidade de decodificação de compensação de movimento 1405 armazena a informação de vetor de movimento na unidade de armazenamento de vetor de movimento 1406.
A unidade de adição 1408 adiciona os dados de imagem de erro residual introduzidos e os dados de imagem de compensação de movimento para a geração dos dados de imagem decodificado. Os dados de imagem decodificado gerado são extraídos para a memória de dimensão 1407 através da chave 1410.
Esta é a conclusão da decodificação de um macrobloco na imagem B7. De acordo com o mesmo processamento, os macroblocos remanescentes na imagem B7 são decodificados em seqüência. E, após todos os macroblocos da imagem B7 serem decodificados, a imagem B6 é decodificada.
Decodificação da Imagem B6
Uma vez que as operações da unidade de análise de seqüência de bits 1401, da unidade de decodificação de modo 1403 e da unidade de decodificação de erro residual 1402 até a geração dos dados de imagem de erro residual são as mesmas que aquelas para decodificar a imagem P9, a
explanação das mesmas será omitida.
A unidade de decodificação de compensação de movimento 1405 gera dados de imagem de compensação de movimento com base na informação de vetor de movimento introduzida e similar. A imagem B6 é codificada com referência à imagem P5 como uma imagem de referência à frente e a imagem B7 como uma imagem de referência para trás, e essas imagens P5 e B7 já foram decodificadas e armazenadas na memória de dimensão 1407.
Se uma codificação de bipredição interimagens for selecionada como um modo de codificação, a unidade de decodificação de compensação de movimento 1405 obtém os dados de imagem de referência à frente a partir da memória de dimensão 1407, com base na informação de vetor de movimento para frente. Ela também obtém os dados de imagem de referência para trás a partir da memória de dimensão 1407, com base na informação de vetor de movimento para trás. Então, a unidade de decodificação de compensação de movimento 1405 avalia os dados de imagem de referência à frente e para trás para a geração de dados de imagem de compensação de movimento.
Quando o modo direto é selecionado como um modo de codificação, a unidade de decodificação de compensação de movimento 1405 obtém o vetor de movimento da imagem B7 armazenado na unidade de armazenamento de vetor de movimento 1406. Usando este vetor de movimento, a unidade de decodificação de compensação de movimento 1405 obtém os dados de imagem de referência à frente e para trás a partir da memória de dimensão 1407. Então, a unidade de decodificação de compensação de movimento 1405 avalia os dados de imagem de referência à frente e para trás para a geração dos dados de imagem de compensação de movimento.
O primeiro exemplo do caso em que o modo direto é selecionado como um modo de codificação será explicado com referência à Fig. 7B de novo. Aqui, é assumido que o bloco a na imagem B6 é para ser decodificado e o bloco b na imagem B7 está co-localizado com o bloco a. O bloco b foi
codificado por uma predição interimagens de referência à frente ou uma predição interimagens de referência bipreditiva, e o vetor de movimento para frente do bloco b é o vetor de movimento c, o qual refere-se à imagem P5. Neste caso, o vetor de movimento d, o qual é obtido utilizando-se o vetor de movimento c e refere-se à imagem P5, é usado como um vetor de movimento para frente, e o vetor de movimento e, o qual é obtido utilizando-se o vetor de movimento c e refere-se à imagem B7, é usado como um vetor de movimento para trás. Por exemplo, como um método de utilização do vetor de movimento c, há um método de geração de vetores de movimento para10 lelos ao vetor de movimento c. Os dados de imagem de compensação de movimento são obtidos pela avaliação dos dados de imagem de referência à frente e para trás obtidos com base nesses vetores de movimento d e e.
Neste caso, onde o vetor de movimento para frente d é MVF, o vetor de movimento para trás e é MVB, o vetor de movimento c é MV, a dis15 tância cronológica entre a imagem de referência para trás B7 para a imagem atual B6 e a imagem P5, à qual o bloco b na imagem de referência para trás B7 se refere, é TRD, e a distância cronológica entre a imagem atual B6 e a imagem de referência à frente P5 é TRF, respectivamente, o vetor de movimento d, MVF, e o vetor de movimento e MVB são respectivamente calcula20 dos pela Equação 1 e pela Equação 2. Note que a distância cronológica entre imagens pode ser determinada com base na informação indicando a ordem de exibição (posição) das imagens ou a diferença especificada pela informação. Ou, como os valores de TRD e TRF, valores predeterminados para as respectivas imagens podem ser usados. Esses valores predetermi25 nados podem ser descritos no seqüência de bits como uma informação de cabeçalho.
O segundo exemplo do caso em que o modo direto é selecionado como um modo de codificação será explicado com referência à Fig. 7B de novo.
Neste exemplo, o vetor de movimento, o qual foi usado para a decodificação do bloco b na imagem B7, é utilizado. A imagem B7 é a imagem de referência para trás para a imagem atual B6, e o bloco b está co·** · · · · · «*····· · ·····«*· ··· · • · · · ··· · · · · · · • ·······<*· · · • · · · · · · « · · · · localizado com o bloco a na imagem B6. Aqui, é assumido que o bloco b tenha sido codificado em modo direto e que o vetor de movimento c tenha sido substancialmente usado como um vetor de movimento para frente para aquela codificação. O vetor de movimento c armazenado na unidade de armazenamento de vetor de movimento 1406 pode ser usado, ou é calculado pela leitura a partir da unidade de armazenamento de vetor de movimento 1406 do vetor de movimento da imagem P9, a qual foi usada para a codificação do bloco b em modo direto, e, então, escalonando-se aquele vetor de movimento. Note que, quando do armazenamento de vetores de movimento na unidade de armazenamento de vetor de movimento 1406, a unidade de decodificação de compensação de movimento 1405 precisa armazenar apenas o vetor de movimento para frente dos dois vetores de movimento obtidos pelo escalonamento para a decodificação do bloco b na imagem B7 em modo direto.
Neste caso, para o bloco a, o vetor de movimento d, o qual é gerado utilizando-se o vetor de movimento c e refere-se à imagem P5, é usado como um vetor de movimento para frente, e o vetor de movimento e, o qual é gerado utilizando-se o vetor de movimento c e refere-se à imagem B7, é usado como um vetor de movimento para trás. Por exemplo, como um método de utilização do vetor de movimento c, há um método de geração de vetores de movimento paralelos ao vetor de movimento c. Os dados de imagem de compensação de movimento são obtidos pela ponderação dos dados de imagem de referência à frente e para trás obtidos com base nesses *
vetores de movimento d e e.
Neste caso, o vetor de movimento d, MVF, e o vetor de movimento e MVB são respectivamente calculados pela Equação 1 e pela Equação 2, como é o caso do primeiro exemplo do modo direto.
Em seguida, o terceiro exemplo do caso em que o modo direto é selecionado como um modo de codificação será explicado, com referência à Fig. 7C de novo.
Neste exemplo, é assumido que o bloco a na imagem B6 é para ser decodificado, e o bloco b na imagem B7 está co-localizado com o bloco ♦
«
• · » • ·· « ·····«· «
a. O bloco b foi codificado por uma predição de referência para trás, e o vetor de movimento para trás do bloco b é um vetor de movimento f, o qual refere-se à imagem P9. Neste caso, para o bloco a, o vetor de movimento g, o qual é obtido utilizando-se o vetor de movimento f e refere-se à imagem
P5, é usado como um vetor de movimento para frente, e o vetor de movimento h, o qual é obtido utilizando-se o vetor de movimento f e refere-se à imagem B7, é usado como um vetor de movimento para trás. Por exemplo, como um método de utilização do vetor de movimento f, há um método de geração de vetores de movimento paralelos ao vetor de movimento f. os da10 dos de imagem de compensação de movimento são obtidos pela ponderação dos dados de imagem de referência à frente e para trás obtidos com base nesses vetores de movimento g e h.
Neste caso, onde o vetor de movimento para frente g é MVF, o vetor de movimento para trás h é MVB, o vetor de movimento f é MV, a dis15 tância cronológica entre a imagem de referência para trás B7 para a imagem atual B6 e a imagem P9, à qual o bloco b na imagem de referência para trás B7 se refere, é TRD, a distância cronológica entre a imagem atual B6 e a imagem de referência à frente P5 é TRF, e a distância cronológica entre a imagem atual B6 e a imagem de referência para trás B7 é TRB, respectiva20 mente, o vetor de movimento g, MVF, e o vetor de movimento h, MVB, são respectivamente calculados pela Equação 3 e pela Equação 4.
Em seguida, o quarto exemplo do caso em que o modo direto é selecionado como um modo de codificação será explicado, com referência à Fig. 7D de novo.
Neste exemplo, é assumido que o bloco a na imagem B6 é para ser decodificado, e o bloco b na imagem B7 está co-localizado com o bloco a. O bloco b foi codificado por uma predição de referência para trás como é o caso do terceiro exemplo, e o vetor de movimento para trás do bloco b é um vetor de movimento f, o qual refere-se à imagem P9, Neste caso, o vetor de movimento g, o qual é obtido utilizando-se o vetor de movimento f e refere-se à imagem P9, é usado como um vetor de movimento para frente, e o vetor de movimento h, o qual é obtido utilizando-se o vetor de movimento f e
refere-se à imagem B7, é usado como um vetor de movimento para trás. Por exemplo, como um método de utilização do vetor de movimento f, há um método de geração de vetores de movimento paralelos ao vetor de movimento f. Os dados de imagem de compensação de movimento são obtidos pela ponderação dos dados de imagem de referência à frente e para trás obtidos com base nesses vetores de movimento g e h.
Neste caso, onde o vetor de movimento para frente g é MVF, o vetor de movimento para trás h é MVB, o vetor de movimento f é MV, a distância cronológica entre a imagem de referência para trás B7 para a imagem atual B6 e a imagem P9, à qual o bloco b na imagem de referência para trás B7 se refere, é TRD, e a distância cronológica entre a imagem atuai B6 e a imagem de referência P9, à qual o bloco b na imagem de referência para trás B7 se refere, é TRF, respectivamente, o vetor de movimento g, MVF, e o vetor de movimento h, MVB, são respectivamente calculados pela Equação 1 e pela Equação 2.
Mais ainda, o quinto exemplo do caso em que o modo direto é selecionado como um modo de codificação será explicado com referência à Fig. 8A de novo. Aqui, é assumido que um bloco a na imagem B6 é para ser decodificado em modo direto. Neste exemplo, o vetor de movimento é regulado para zero ’Ό, e uma compensação de movimento é realizada por uma referência bipreditiva usando-se a imagem P5 como uma imagem de referência à frente e a imagem B7 como uma imagem de referência para trás.
Em seguida, o sexto exemplo do caso em que o modo direto é selecionado como um modo de codificação será explicado, com referência à Fig. 8B de novo. Aqui, é assumido que um bloco a na imagem B6 é para ser decodificado em modo direto. Neste exemplo, o vetor de movimento g, o qual foi usado para a decodificação do bloco f na imagem tipo P P9, é utilizado. A imagem P9 está localizada mais posterior do que a imagem atual B6, e o bloco f está co-localizado com o bloco a. O vetor de movimento g é armazenado na unidade de armazenamento de vetor de movimento 1406. O bloco a é biprevisto a partir da imagem de referência à frente P5 e da imagem de referência para trás B7, usando-se os vetores de movimento, os
quais são obtidos utilizando-se o vetor de movimento g. Por exemplo, se um método de geração de vetores de movimento paralelos ao vetor de movimento g é usado, como é o caso do primeiro exemplo mencionado acima, o vetor de movimento h e o vetor de movimento i são usados para a imagem P5 e para a imagem B7, respectivamente, para a obtenção dos dados de imagem de compensação de movimento do bloco a.
Neste caso, onde o vetor de movimento para frente h é MVF, o vetor de movimento para trás i é MVB, o vetor de movimento g é MV, a distância cronológica entre a imagem P9 localizada mais posterior do que a imagem atual B6 e a imagem P5, à qual o bloco f na imagem P9 se refere, é TRD, a distância cronológica entre a imagem atual B6 e a imagem de referência à frente P5 é TRF, e a distância cronológica entre a imagem atual B6 e a imagem de referência para trás B7 é TRB, respectivamente, o vetor de movimento h MVF e o vetor de movimento i MVB são respectivamente calculados pela Equação 1 e pela Equação 5.
Em seguida, o sétimo exemplo do caso em que o modo direto é selecionado como um modo de codificação será explicado, com referência à Fig. 8C de novo. Aqui, é assumido que um bloco a na imagem B6 é decodificado em modo direto. Neste exemplo, a atribuição de índices relativos aos números de imagem mencionados acima é mudada (remapeada) e a imagem P9 é a imagem de referência para trás. Neste caso, o vetor de movimento g, o qual foi usado para a codificação do bloco f na imagem P9, é utilizado. A imagem P9 é a imagem de referência para trás para a imagem B6, e o bloco f está co-iocalizado com o bloco a na imagem B6. O vetor de movimento g é armazenado na unidade de armazenamento de vetor de movimento 1406. O bloco a é biprevisto a partir da imagem de referência à frente P5 e da imagem de referência para trás P9, usando-se os vetores de movimento gerados utilizando-se o vetor de movimento g. Por exemplo, se um método de geração de vetores de movimento paralelos ao vetor de movimento g é usado, como é o caso do primeiro exemplo mencionado acima, o vetor de movimento h e o vetor de movimento i são usados para a imagem P5 e a imagem P9, respectivamente, para a obtenção dos dados de imagem
de compensação de movimento do bloco a.
Neste caso, onde o vetor de movimento para frente h é MVF, o vetor de movimento para trás i é MVB, o vetor de movimento g é MV, a distância cronológica entre a imagem de referência para trás P9 para a imagem atual B6 e a imagem P5 à qual o bloco f na imagem P9 refere-se é TRD, e a distância cronológica entre a imagem atual B6 e a imagem de referência à frente P5 é TRF, respectivamente, o vetor de movimento h, MVF, e o vetor de movimento i, MVB, são respectivamente calculados pela Equação 1 e pela Equação 2.
Os dados de imagem de compensação de movimento gerado como acima são extraído para a unidade de adição 1408. A unidade de adição 1408 adiciona os dados de imagem de erro residual introduzidos e os dados de imagem de compensação de movimento para a geração dos dados de imagem decodificados. Os dados de imagem decodificados gerados é extraído para a memória de dimensão 1407 através da chave 1410.
Esta é a conclusão da decodificação de um macrobloco na imagem B6. De acordo com o mesmo processamento, os macroblocos remanescentes na imagem B6 são decodificados em seqüência. E, após todos os macroblocos na imagem B6 serem decodificados, a imagem B8 é decodifi20 cada.
(Decodificação da Imagem B8)
Uma vez que as operações da unidade de análise de seqüência de bits 1401, da unidade de decodificação de modo 1403 e da unidade de decodificação de erro residual 1402 até a geração dos dados de imagem de erro residual são as mesmas que aquelas para a decodificação da imagem P9, a explanação das mesmas será omitida.
A unidade de decodificação de compensação de movimento 1405 gera dados de imagem de compensação de movimento com base na informação de vetor de movimento introduzida e similar. A imagem B8 foi codificada com referência à imagem B7 como uma imagem de referência à frente e a imagem P9 como uma imagem de referência para trás, e essas imagens B7 e P9 já foram decodificadas e armazenadas na memória de di57
mensão 1407.
Se uma codificação de bipredição interimagens é selecionada como um modo de codificação, a unidade de decodificação de compensação de movimento 1405 obtém os dados de imagem de referência à frente a partir da memória de quadro 1407, com base na informação de vetor de movimento para frente. Ela também obtém os dados de imagem de referência para trás a partir da memória de dimensão 1407, com base na informação de vetor de movimento para trás. Então, a unidade de decodificação de compensação de movimento 1405 avalia os dados de imagem de referência à frente e para trás, para a geração do dado de imagem de compensação de movimento.
Quando o modo direto é selecionado como um modo de codificação, a unidade de decodificação de compensação de movimento 1405 obtém o vetor de movimento da imagem P9 armazenado na unidade de armazenamento de vetor de movimento 1406. Usando este vetor de movimento, a unidade de decodificação de compensação de movimento 1405 obtém os dados de imagem de referência à frente e para trás a partir da memória de dimensão 1407. Então, a unidade de decodificação de compensação de movimento 1405 avalia os dados de imagem de referência à frente e para trás para a geração dos dados de imagem de compensação de movimento.
O caso em que o modo direto é selecionado como um modo de codificação será explicado, com referência à Fig. 8D, de novo. Aqui, é assumido que um bloco a na imagem B8 é para ser decodificado e um bloco b na imagem de referência para trás P9 está co-localizado com o bloco a. O vetor de movimento para frente do bloco b é o vetor de movimento c, o qual refere-se à imagem P5. Neste caso, o vetor de movimento d, o qual é gerado utilizando-se o vetor de movimento c e refere-se à imagem B7, é usado como um vetor de movimento para frente, e o vetor de movimento e, o qual é gerado utilizando-se o vetor de movimento c e refere-se à imagem P9, é usado como um vetor de movimento para trás. Por exemplo, como um método de utilização do vetor de movimento c, há um método de geração de
vetores de movimento paralelos ao vetor de movimento c. Os dados de imagem de compensação de movimento são obtidos pela avaliação dos dados de imagem de referência à frente e para trás obtidos com base nesses vetores de movimento d e e.
Neste caso em que o vetor de movimento para frente d é MVF, o vetor de movimento para trás e é MVB, o vetor de movimento c é MV, a distância cronológica entre a imagem de referência para trás P9 para a imagem atual B8 e a imagem P5 à quai o bloco b na imagem de referência para trás P9 refere-se é TRD, a distância cronológica entre a imagem atual B8 e a imagem de referência à frente B7 é TRF, e a distância cronológica entre a imagem atual B8 e a imagem de referência para trás P9 é TRB, respectivamente, o vetor de movimento d, MVF, e o vetor de movimento e, MVB, são respectivamente calculados pela Equação 1 e pela Equação 5.
Os dado de imagem de compensação de movimento gerados desta maneira são extraídos para a unidade de adição 1408. A unidade de adição 1408 adiciona os dados de imagem de erro residual introduzidos e os dados de imagem de compensação de movimento para a geração de dados de imagem decodificado. Os dados de imagem decodificados gerado são extraído para a memória de quadro 1407 através da chave 1410.
Esta é a conclusão de decodificação de um macrobloco na imagem B8. De acordo com o mesmo processamento, os macroblocos remanescentes na imagem B8 são decodificados em seqüência. As outras imagens são decodificadas dependendo dos tipos de imagem de acordo com os procedimentos de decodificação mencionados acima.
Em seguida, a unidade de controle de memória de dimensão 1404 reordena os dados de imagem das imagens armazenadas na memória de dimensão 1407 em ordem de tempo, como mostrado na Fig. 6A, para extração como imagens de saída.
Como descrito acima, de acordo com o método de decodificação de filme da presente invenção, uma imagem tipo B, a qual foi codificada por uma bipredição interimagens, é decodificada usando-se imagens previamente decodificadas, as quais estão localizadas próximas em ordem de exi59
bição como imagens de referência à frente e para trás.
Quando o modo direto é selecionado como um modo de codificação, um dado de imagem de referência são obtidos a partir de dados de imagem decodificados previamente para a obtenção de dados de imagem de compensação de movimento, com referência a um vetor de movimento de uma imagem de referência para trás previamente decodificada armazenado na unidade de armazenamento de vetor de movimento 1406.
De acordo com esta operação, quando uma imagem tipo B tiver sido codificada por bipredição interimagens usando imagens as quais estão localizadas próximo na ordem de exibição como imagens de referência à frente e para trás, ao seqüência de bits gerada como um resultado dessa codificação pode ser apropriadamente decodificado.
Na presente modalidade, sete exemplos do modo direto foram explicados. Entretanto, um método, o qual é unicamente determinado para cada macrobloco ou bloco com base no método de decodificação de um bloco co-localizado em uma imagem de referência para trás, pode ser usado, ou uma pluralidade de métodos diferentes pode ser usada para cada macrobloco ou bloco, pela alternância deles. Quando uma pluralidade de métodos é usada, o macrobloco ou o bloco é decodificado usando-se uma informação descrita em uma seqüência de bits, indicando qual tipo de modo direto foi usado. Para essa finalidade, a operação da unidade de decodificação de compensação de movimento 1405 depende da informação. Por exemplo, quando esta informação é adicionada a cada bloco de compensação de movimento, a unidade de decodificação de modo 1403 determina qual tipo de modo direto é usado para a codificação e o envia para a unidade de decodificação de compensação de movimento 1405. A unidade de decodificação de compensação de movimento 1405 executa um processamento de decodificação, usando o método de decodificação como explicado na presente modalidade, dependendo do tipo enviado de modo direto.
Também, na presente modalidade, a estrutura de imagem onde três imagens tipo B estão localizadas entre imagens tipo I e imagens tipo P foi explicada, mas qualquer outro número, quatro ou cinco, por exemplo, de
imagens tipo B pode estar localizado.
Além disso, na presente modalidade, a explanação foi feita sobre a hipótese de uma imagem tipo P ser codificada com referência a uma imagem tipo I ou tipo P previamente codificada, a qual está localizada mais anterior ou mais posterior do que a imagem tipo P atual em ordem de exibição, uma imagem tipo B é codificada com referência a duas imagens vizinhas previamente codificadas, as quais estão localizadas mais anteriores ou mais posteriores do que a imagem tipo B atual em ordem de exibição, e a seqüência de bits gerada como um resultado desta codificação é decodificada. Entretanto, no caso de uma imagem P, a imagem tipo P pode ser codificada com referência a no máximo uma imagem para cada bloco dentre uma pluralidade de imagens tipo I ou P previamente codificadas, as quais estão localizadas cronologicamente mais anteriores ou mais posteriores em ordem de exibição como imagens de referência candidatas, e no caso de uma imagem tipo B, a imagem tipo B pode ser codificada com referência a no máximo duas imagens para cada bloco dentre uma pluralidade de imagens vizinhas previamente codificadas, as quais estão localizadas cronologicamente mais anteriores ou mais posteriores em ordem de exibição como imagens de referência candidatas.
Mais ainda, quando do armazenamento de vetores de movimento na unidade de armazenamento de vetor de movimento 1406, a unidade de decodificação de compensação de movimento 1405 pode armazenar ambos os vetores de movimento para frente e para trás, ou armazenar apenas o vetor de movimento para frente, se um bloco atual for codificado por uma referência bipreditiva ou em modo direto. Se apenas o vetor de movimento para frente é armazenado, o volume de memória da unidade de armazenamento de vetor de movimento 1406 pode ser reduzido.
(Terceira Montagem)
Se um programa para a realização das estruturas do método de codificação de filme ou do método de decodificação de filme, como mostrado nas modalidades acima, for gravado em um meio de memória, tal como um disco flexível, torna-se possível realizar o processamento como mostrado
nessas modalidades facilmente em um sistema de computador independente.
A Fig. 17 é uma imagem que mostra o caso em que o processamento é realizado em um sistema de computador que usa um disco flexível, o qual armazena o método de codificação de filme ou o método de decodificação de filme das modalidades acima.
A Fig. 17B mostra uma vista frontal e uma vista em seção transversal de uma aparência de um disco flexível, e o disco flexível em si, e a Fig. 17a mostra um exemplo de um formato físico de um disco flexível como um corpo de meio de gravação. O disco flexível FD está contido em um invólucro F, e uma pluralidade de trilhas Tr é formada concentricamente na superfície do disco na direção do raio a partir da periferia, e cada trilha é dividida em 16 setores Se na direção angular. Portanto, quanto ao disco flexível armazenando o programa mencionado acima, o método de codificação de filme como o programa é gravado em uma área alocada para isso no disco flexível FD.
A Fig. 17C mostra a estrutura para a gravação e a reprodução do programa no e a partir do disco flexível FD. Quando o programa é gravado no disco flexível FD, o método de codificação de filme ou o método de decodificação de filme como um programa é gravado no disco flexível a partir do sistema de computador Cs através da unidade de disco flexível. Quando o método de codificação de filme é construído no sistema de computador pelo programa no disco flexível, o programa é lido a partir da unidade de disco flexível e transferido para o sistema de computador.
A explanação acima é feita com a hipótese de um meio de gravação ser um disco flexível, mas o mesmo processamento também pode ser realizado usando-se um disco ótico. Além disso, o meio de gravação não está limitado a um disco flexível e a um disco ótico, mas qualquer outro meio, tal como uma placa de IC e um cassete de ROM, capaz de gravar um programa, pode ser usado.
A seguir, há a explanação das aplicações do método de codificação de filme e do método de decodificação de filme como mostrado nas
modalidades acima, e o sistema usando-os.
A Fig. 18 é um diagrama de blocos que ilustra toda a configuração de um sistema de provisão de conteúdo ex100, para a realização do serviço de distribuição de conteúdo. A área para a provisão de serviços de comunicação é dividida em células de tamanho desejado, e estações de base ex107 a ex110 as quais são, cada uma, estações de rádio fixas, são estabelecidas nas respectivas células.
Neste sistema de provisão de conteúdo ex100, vários dispositivos, tais como um computador ex111, um PDA (assistente pessoal digital) ex112, uma câmera ex113, um telefone móvel ex114 e um telefone móvel equipado com uma câmera ex115 são conectados à Internet ex101 através de um provedor de serviços de Internet ex102, uma rede de telefonia ex104 e das estações de base ex107 a ex110.
Entretanto, o sistema de provisão de conteúdo ex100 não está limitado à configuração mostrada na Fig. 18, e uma combinação de qualquer um deles pode ser conectada. Também, cada dispositivo pode ser conectado diretamente à rede de telefonia ex104, não através das estações de base ex107 a ex110.
A câmera ex113 é um dispositivo tal como uma câmera de vídeo digital, que pode filmar. O telefone móvel pode ser um telefone móvel de um sistema PDC (Comunicações Digitais Pessoais), um sistema CDMA (Acesso Múltiplo de Divisão de Código), um sistema W-CDMA (Acesso Múltiplo de Divisão de Código de Banda Larga) um sistema GSM (Sistema Global para Comunicações Móveis), ou um PHS (Sistema de Telefone Portátil Pessoal) ou similar.
Um servidor de streaming ex103 é conectado à câmera ex113 através da estação de base ex109 e da rede de telefonia ex104, o que permite uma distribuição ao vivo ou similar, usando-se a câmera ex113, com base nos dados codificados transmitidos por um usuário. A câmera ex113 ou o servidor para a transmissão dos dados pode codificar os dados. Também, os dados de filme filmados por uma câmera ex116 podem ser transmitidos para o servidor de streaming ex103 através do computador ex111. A câme• · ra ex116 é um dispositivo, tal como uma câmera digital, capaz de tomar imagens paradas ou imagens em movimento. A câmera ex116 ou o computador ex111 pode codificar os dados de filme. Uma LSI ex117 incluída no computador ex111 ou na câmera ex116, na realidade, executa o processamento de codificação. Um software de codificação e decodificação de filmes pode ser integrado em qualquer tipo de meio de armazenamento (tal como um CD-ROM, um disco flexível e um disco rígido), que é um meio de gravação o qual pode ser lido pelo computador ex111 ou similar. Mais ainda, um telefone móvel equipado com uma câmera ex115 pode transmitir os dados de filme. Estes dados de filme são os dados codificados pela LSI incluída no telefone móvel ex115.
O sistema de provisão de conteúdo ex100 codifica conteúdos (tal como um vídeo de música ao vivo) fornecidos por usuários usando a câmera ex113, a câmera ex116 ou similar, da mesma maneira que a modalidade acima e as transmite para o servidor de streaming ex103, enquanto o servidor de streaming ex103 faz a distribuição do fluxo de dados com o conteúdo para o cliente, à sua requisição. Os clientes incluem o computador ex111, o PDA ex112, a câmera ex113, o telefone móvel ex114 e assim por diante, capazes de decodificar os dados codificados mencionados acima. No sistema de provisão do conteúdo ex100, os clientes podem, então, receber e reproduzir os dados codificados, e podem ainda receber, decodificar e reproduzir os dados em tempo real, de modo a excutarem uma transmissão pessoal.
Quando cada dispositivo neste sistema executa uma codificação ou uma decodificação, o aparelho de codificação de filme ou o aparelho de decodificação de filme, como mostrado na modalidade mencionada acima, pode ser usado.
Um telefone móvel será descrito agora como um exemplo de dispositivo. A figura 19 é um diagrama que mostra um telefone móvel ex115 que usa o método de codificação de filme e o método de decodificação de filme explicado nas modalidades acima. O telefone móvel ex115 tem uma antena ex201 para o envio e a recepção de ondas de rádio para, e a partir
da, estação de base ex110, uma unidade de câmera ex203, tal como uma câmera de CCD, capaz de captar imagens de vídeo e paradas, uma unidade de exibição ex202, tal como um visor de cristal líquido para exibição de dados obtidos pela decodificação do vídeo e similar feito pela unidade de câmera ex203 e recebido pela antena ex201, uma unidade de corpo incluindo um conjunto de teclas de operação ex204, uma unidade de saída de voz ex208, tal como um alto-falante para a saída de vozes, uma unidade de entrada de voz ex205, tal como um microfone para a introdução de vozes, um meio de armazenamento ex207 para o armazenamento de dados codificados ou decodificados, tais como dados tomados de filmes ou de imagens paradas captadas pela câmara, dados de texto e dados de filme ou de imagem parada de e-mails recebidos, e uma unidade de tomada ex206, para conexão do meio de armazenamento ex207 ao telefone móvel ex115. O meio de armazenamento ex207 inclui um elemento de memória flash, um tipo de EEPROM (Memória Apenas de Leitura Eletricamente Apagável e Programável) que é uma memória não-volátil eletricamente apagável e que pode ser regravada, em um invólucro de plástico, tal como uma placa de SD.
O telefone móvel ex115 será adicionalmente explicado com referência à Fig. 20. No telefone móvel ex115, uma unidade de controle principal ex311 para o controle geral da unidade de exibição ex202 e da unidade de corpo, incluindo as teclas de operação ex204, é conectada a uma unidade de circuito de suprimento de energia ex310, uma unidade de controle de entrada em operação ex304, uma unidade de codificação de imagem ex312, uma unidade de interface de câmera ex303, uma unidade de controle de LCD (Visor de Cristal Líquido) ex302, uma unidade de decodificação de imagem ex309, uma unidade de multiplexação / demultiplexação ex308, uma unidade de gravação / reprodução ex307, uma unidade de circuito de modem ex306 e uma unidade de processamento de voz ex305, conectadas umas às outras através de um barramento síncrono ex313.
Quando uma tecla de término de chamada ou uma tecla de suprimento de energia é LIGADA por uma operação de um usuário, a unidade de circuito de suprimento de energia ex310 supre as respectivas unidades
com energia a partir de uma bateria, de modo a ativar o telefone móvel digital equipado com uma câmera ex115 para levá-lo para um estado pronto para operar.
No telefone móvel ex115, a unidade de processamento de voz 5 ex305 converte os sinais de voz recebidos pela unidade de entrada de voz ex205 em modo de conversação em dados de voz digital, sob o controle da unidade de controle principal ex311, incluindo uma CPU, uma ROM e uma RAM, a unidade de circuito de modem ex306 executa um processamento de longo espectro dos dados de voz digital, e a unidade de circuito de envio / recepção ex301 executa uma conversão de digital para analógico e uma transformada de freqüência dos dados, de modo a transmiti-lo através da antena ex201. Também, no telefone móvel ex115, após os dados recebidos pela antena ex201 em modo de conversação serem amplificados e uma transformada de freqüência e uma conversão de analógico para digital se15 rem realizadas, a unidade de circuito de modem ex306 executa um processamento de largo espectro inverso dos dados, e a unidade de processamento de voz ex305 os converte em dados de voz analógicos, de modo a serem extraídos através da unidade de saída de voz 208.
Mais ainda, quando da transmissão de um e-mail em modo de comunicação de dados, os dados de texto do e-mail introduzidos pela operação das teclas de operação ex204 na unidade de corpo são enviados para a unidade de controle principal ex311, através da unidade de controle de entrada em operação ex304. Na unidade de controle principal ex311, após a unidade de circuito de modem ex306 executar um processamento de largo espectro dos dados de texto e a unidade de circuito de envio / recepção ex301 executar uma conversão de digital para analógico e uma transformada de freqüência, os dados são transmitido para a estação de base ex110, através da antena ex201.
Quando dados de imagem são transmitidos no modo de comuni30 cação de dados, os dados imagem tomados pela unidade de câmera ex203 são supridos para a unidade de codificação de imagem ex312, através da unidade de interface de câmera ex303. Quando eles não são transmitidos,
• · · · 4 ···»*·· * também é possível exibir os dados de imagem captados pela unidade de câmera ex203 diretamente na unidade de exibição 202, através da unidade de interface de câmera ex303 e da unidade de controle de LCD ex302.
A unidade de codificação de imagem ex312, a qual inclui o aparelho de codificação de filme como explicado na presente invenção, ajusta e codifica os dados de imagem supridos a partir da unidade de câmera ex203 pelo método de codificação usado para o aparelho de codificação de filme, como mostrado na modalidade acima, de modo a transformá-los em dados de imagem codificados, e os envia para a unidade de multiplexação / demultiplexação ex308. Neste momento, o telefone móvel ex115 envia as vozes recebidas pela unidade de entrada de voz ex205 durante a tomada feita pela unidade de câmera ex203 para a unidade de multiplexação / demultiplexação ex308 como dados de voz digital através da unidade de processamento de voz ex305.
A unidade de multiplexação / demultiplexação ex308 multiplexa os dados de imagem codificados supridos a partir da unidade de codificação de imagem ex312 e os dados de voz supridos a partir da unidade de processamento de voz ex305 por um método predeterminado, a unidade de circuito de modem ex306 executa um processamento de largo espectro dos dados multiplexados obtidos como resultado da multiplexação, e a unidade de circuito de envio / recepção ex301 executa uma conversão de digital para analógico e uma transformada de freqüência dos dados para transmissão através da antena ex201.
Quanto ao recebimento de dados de um arquivo de filme, o qual tem um link com uma página da web ou similar em um modo de comunicação de dados, a unidade de circuito de modem ex306 executa um processamento de largo espectro inverso dos dados recebidos a partir da estação de base ex110 através da antena ex201, e envia os dados multiplexados obtidos como resultado do processamento para a unidade de multiplexação / demultiplexação ex308.
De modo a decodificar os dados multiplexados recebidos através da antena ex201, a unidade de multiplexação / demultiplexação ex308 sepa67
ra os dados multiplexados em uma seqüência de bits de dados de imagem e uma seqüência de bits de dado de voz, e supre os dados de imagem codificado para a unidade de decodificação de imagem ex309 e os dados de voz para a unidade de processamento de voz ex305, respectivamente, através do barramento síncrono ex313.
Em seguida, a unidade de decodificação de imagem ex309, a qua! inclui o aparelho de decodificação de filme, como explicado na presente invenção, decodifica a seqüência de bits de dados de imagem pelo método de decodificação correspondente ao método de codificação, como mostrado na modalidade mencionada acima, para a geração de dados de filme reproduzidos, e supre estes dados para a unidade de exibição ex202, através da unidade de controle de LCD ex302, e, assim, os dados de filme incluídos em um arquivo de filme com um link com uma página da web, por exemplo, são exibidos. Ao mesmo tempo, a unidade de processamento de voz ex305 converte os dados de voz em dados de voz analógicos, e supre este dado para a unidade de saída de voz ex208 e, assim, dados de voz incluídos em um arquivo de filme com um link com uma página da web, por exemplo, são reproduzidos.
A presente invenção não está limitada ao sistema mencionado acima, e pelo menos o aparelho de codificação de filme ou o aparelho de decodificação de filme na modalidade mencionada acima pode ser incorporado em um sistema de difusão digital, como mostrado na Fig. 21. A radiodifusão digital baseada em terra ou por satélite entrou na mídia recentemente. Mais especificamente, uma seqüência de bits de informação de vídeo é transmitida a partir de uma estação de radiodifusão ex409 para/ou comunicado com um satélite de radiodifusão ex410, através de ondas de rádio. Mediante o recebimento destas, o satélite de radiodifusão ex410 transmite as ondas de rádio para radiodifusão, uma antena de uso doméstico ex406 com uma função de recepção de radiodifusão por satélite recebe as ondas de rádio, e uma televisão (receptor) ex401 ou uma caixa de decodificador (STB) ex407 decodifica a seqüência de bits para reprodução. O aparelho de decodificação de filme como mostrado na modalidade acima pode ser im* • · · β · · ·
plementado no dispositivo de reprodução ex403, para leitura e decodificação da seqüência de bits gravada em um meio de armazenamento ex402, que é um meio de gravação, tal como um CD ou um DVD. Neste caso, os sinais de vídeo reproduzidos são exibidos em um monitor ex404. Também é concebido implementar o aparelho de decodificação de filme na caixa de decodificador ex407 conectada a um cabo ex405 para uma televisão a cabo ou à antena ex406, para uma radiodifusão por satélite e/ou baseada em terra de modo a se reproduzi-los em um monitor ex408 da televisão ex401. O aparelho de decodificação de filme pode ser incorporado na televisão, não na caixa de decodificador. Ou um carro ex412 tendo uma antena ex411 pode receber sinais do satélite ex410 ou da estação de base ex107 para a reprodução de filmes em um dispositivo de exibição tal como um sistema de navegação de carro ex413.
Mais ainda, o aparelho de codificação de filme, como mostrado na modalidade mencionada acima, pode codificar sinais de imagem para gravação em um meio de gravação. Como um exemplo concreto, há um gravador ex420 tal como um gravador de DVD, para a gravação de sinais de imagem em um disco de DVD ex421, e um gravador de disco para a gravação deles em um disco rígido. Eles podem ser gravados em uma placa SD ex422. Se o gravador ex420 incluir o aparelho de decodificação de filme como mostrado na modalidade mencionada acima, os sinais de imagem gravados no disco de DVD ex421 ou na placa SD ex422 podendo ser reproduzidos para exibição no monitor ex408.
Como a estrutura do sistema de navegação de carro ex413, a estrutura sem a unidade de câmera ex203, a unidade de interface de câmera ex303 e a unidade de codificação de imagem ex312, além das unidades mostradas na Fig. 20, é concebível. O mesmo se aplica ao computador ex111, à televisão (receptor) ex401 e a outros.
Além disso, três tipos de implementações podem ser concebidos para um terminal tal como o telefone móvel ex114 mencionado acima; um terminal de envio / recepção incluindo um codificador e um decodificador, um terminal de envio incluindo um codificador apenas e um terminal de recep-
• · · · · · ção incluindo um decodificador apenas.
Como descrito acima, é possível usar o método de codificação de filme ou o método de decodificação de filme nas modalidades mencionadas acima em qualquer um de vários aparelhos e sistemas, e usando-se este método, os efeitos descritos nas modalidades acima podem ser obtidos.
Mais ainda, a presente invenção não está limitada às modalidades acima, mas pode ser variada ou modificada de muitas formas, sem qualquer desvio do escopo da presente invenção.
Como descrito acima, de acordo com o método de codificação de filme da presente invenção, as imagens tipo B podem ser codificadas usando-se imagens as quais são cronologicamente próximas em ordem de exibição como imagens de referência. Assim sendo a eficiência de predição para compensação de movimento é melhorada e, assim, a eficiência de codificação é melhorada.
Em modo direto, pelo escalonamento de um primeiro vetor de movimento de uma primeira imagem de referência, não há necessidade de se transmitir uma informação de vetor de movimento e, assim, a eficiência de predição pode ser melhorada.
De modo similar, em modo direto, pelo escalonamento de um primeiro vetor de movimento substancialmente usado para uma codificação em modo direto da segunda imagem de referência, não há necessidade de se transmitir uma informação de vetor de movimento, e a eficiência de predição pode ser melhorada, mesmo se um bloco co-localizado na segunda imagem de referência for codificado em modo direto.
Também, em modo direto, pelo escalonamento de um segundo vetor de movimento o qual foi usado para a codificação de um bloco colocalizado em uma segunda imagem de referência, não há necessidade de se transmitir uma informação de vetor de movimento, e a eficiência de predição pode ser melhorada, mesmo se um bloco co-localizado na segunda imagem de referência tiver apenas um segundo vetor de movimento.
Mais ainda, em modo direto, pela atribuição forçada de um vetor de movimento em modo direto para ser O11, quando o modo direto é selecio• · · · · • · · ti · · nado, não há necessidade de se transmitir uma informação de vetor de movimento nem de se escalonar o vetor de movimento e, assim, o volume de processamento pode ser reduzido.
Também, em modo direto, pelo escalonamento de um vetor de movimento de uma imagem tipo P posterior, não há necessidade de se armazenar um vetor de movimento de uma segunda imagem de referência, quando a segunda imagem de referência for uma imagem B. E não há necessidade de se transmitir a informação de vetor de movimento, e a eficiência de predição pode ser melhorada.
Mais ainda, em modo direto, uma vez que o primeiro vetor de movimento é escalonado se uma segunda imagem de referência tiver o primeiro vetor de movimento, e um segundo vetor de movimento for escalonado, se a segunda imagem de referência não tiver o primeiro vetor de movimento, mas apenas o segundo vetor de movimento, não há necessidade de se adicionar uma informação de vetor de movimento a uma seqüência de bits, e a eficiência de predição pode ser melhorada.
Além disso, de acordo com o método de decodificação de filme da presente invenção, uma seqüência de bits, a qual é gerada como resultado de uma codificação de bipredição interimagens usando-se imagens as quais estão localizadas cronologicamente próximas em ordem de exibição que as primeira e segunda imagens de referência podem ser apropriadamente decodificadas.
Aplicabilidade Industrial
Como descrito acima, o método de codificação de filme e o método de decodificação de filme de acordo com a presente invenção são úteis como um método para a codificação de um dado de imagem correspondentes a imagens que formam um filme, para a geração de uma seqüência de bits, e um método para a decodificação da seqüência de bits gerada, usando-se um telefone móvel, um aparelho de DVD e um computador pessoal, por exemplo.
Claims (6)
- REIVINDICAÇÕES1. Método de decodificação de imagem para decodificar uma imagem codificada, o método de decodificação de imagem compreendendo:uma etapa de decodificação (1405) para determinar um vetor de 5 movimento para um bloco atual a ser decodificado, com base em um vetor de movimento de um bloco co-localizado que é um bloco incluído em uma imagem previamente decodificada e co-localizado com o bloco atual, e para decodificar uma imagem atual por realização de compensação de movimento no bloco atual em modo direto utilizando o vetor de movimento para o blo10 co atual e uma imagem de referência que corresponde ao vetor de movimento para o bloco atual;caracterizado pelo fato de que a etapa de decodificação inclui: no caso onde o co-localizado foi decodificado utilizando dois vetores de movimento e duas imagens de referência que correspondem, res15 pectivamente, aos dois vetores de movimento, gerar dois vetores de movimento a serem utilizados para decodificar o bloco atual por realização de compensação de movimento no bloco atual no modo direto, por escalonamento, utilizando uma diferença entre informações que indicam ordem de exibição de imagens, um dentre os dois20 vetores de movimento utilizados para decodificar o bloco co-localizado; e decodificar o bloco atual por realização de compensação de movimento no bloco atual em modo direto utilizando os dois vetores de movimento gerados para o bloco atual e duas imagens de referência que correspondem, respectivamente, aos dois vetores de movimento gerados,25 em que a referida imagem previamente decodificada incluindo o bloco co-localizado é uma imagem de referência para trás do bloco atual, as duas imagens de referência que, respectivamente, correspondem aos dois vetores de movimento para o bloco atual são uma primeira imagem de referência e uma segunda imagem de referência,30 a primeira imagem de referência é a imagem previamente decodificada incluindo o bloco co-localizado, e a segunda imagem de referência é uma dentre as duas imagensPetição 870180008093, de 30/01/2018, pág. 7/15 de referência utilizadas para decodificar o bloco co-localizado e corresponde ao vetor de movimento escalonado para gerar os dois vetores de movimento para o bloco atual.
- 2. Método de decodificação de imagem, de acordo com a reivin5 dicação 1, caracterizado pelo fato de que as duas imagens de referência usadas para decodificar o bloco co-localizado compreendem uma imagem de referência para frente localizada antes da primeira imagem de referência incluindo o bloco co-localizado e uma imagem de referência para trás localizada após a primeira imagem de referência incluindo o bloco co-localizado, o10 vetor de movimento escalonado para gerar os dois vetores de movimento para o bloco atual é selecionado como um dos dois vetores de movimento usados para decodificar o bloco co-localizado que corresponde à uma imagem de referência para frente localizada antes da primeira imagem de referência incluindo o bloco co-localizado.15
- 3. Método de decodificação de imagem, de acordo com a reivindicação 1, caracterizado pelo fato de que no caso onde o bloco co-localizado foi decodificado em modo direto, os dois vetores de movimento para o bloco atual são gerados utilizando um dentre os dois vetores de movimento utilizados para decodificar o bloco co-localizado.20
- 4. Método de decodificação de imagem, de acordo com a reivindicação 1, caracterizado pelo fato de que as informações que indicam ordem de exibição de imagens é:primeira informação que indica uma posição na ordem de exibição da imagem incluindo o bloco atual;25 segunda informação que indica uma posição na ordem de exibição da segunda imagem de referência para o bloco atual; e terceira informação que indica uma posição na ordem de exibição da primeira imagem de referência para o bloco atual que é também a imagem incluindo o bloco co-localizado, e as diferenças entre as informa30 ções são uma diferença entre a primeira informação e a terceira informação, e uma diferença entre a segunda informação e a terceira informação.
- 5. Aparelho de decodificação de imagem que decodifica umaPetição 870180008093, de 30/01/2018, pág. 8/15 imagem codificada, o aparelho de decodificação de imagem compreendendo:uma unidade de decodificação (1405) operável para determinar um vetor de movimento para um bloco atual a ser decodificado, com base5 em um vetor de movimento de um bloco co-localizado que é um bloco incluído em uma imagem previamente decodificada e co-localizado com o bloco atual, e para decodificar uma imagem atual por realização de compensação de movimento no bloco atual em modo direto utilizando o vetor de movimento para o bloco atual e uma imagem de referência que corresponde ao vetor
- 10 de movimento para o bloco atual;caracterizado pelo fato de que, no caso onde o co-localizado foi decodificado utilizando dois vetores de movimento e duas imagens de referência que correspondem, respectivamente, aos dois vetores de movimento, a referida unidade de decodificação (1405) é operável para gerar 15 dois vetores de movimento a serem utilizados para decodificar o bloco atual por realização de compensação de movimento no bloco atual no modo direto, por escalonamento, utilizando uma diferença entre informações que indicam ordem de exibição de imagens, um dentre os dois vetores de movimento utilizados para decodificar o bloco co-localizado, e para decodificar o blo20 co atual por realização de compensação de movimento no bloco atual em modo direto utilizando os dois vetores de movimento gerados para o bloco atual e duas imagens de referência que correspondem, respectivamente, aos dois vetores de movimento gerados, em que a referida imagem previamente decodificada incluindo o25 bloco co-localizado é uma imagem de referência para trás do bloco atual, as duas imagens de referência que, respectivamente, correspondem aos dois vetores de movimento para o bloco atual são uma primeira imagem de referência e uma segunda imagem de referência, a primeira imagem de referência é a imagem previamente deco30 dificada incluindo o bloco co-localizado, e a segunda imagem de referência é uma dentre as duas imagens de referência utilizadas para decodificar o bloco co-localizado e correspondePetição 870180008093, de 30/01/2018, pág. 9/15 ao vetor de movimento escalonado para gerar os dois vetores de movimento para o bloco atual.
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002056919 | 2002-03-04 | ||
JP056919/2002 | 2002-03-04 | ||
JP2002118598 | 2002-04-19 | ||
JP118598/2002 | 2002-04-19 | ||
JP193027/2002 | 2002-07-02 | ||
JP2002193027 | 2002-07-02 | ||
PCT/JP2003/002099 WO2003075580A1 (fr) | 2002-03-04 | 2003-02-26 | Procede de codage d'image mobile et procede de decodage d'image mobile |
Publications (1)
Publication Number | Publication Date |
---|---|
BRPI0303342B1 true BRPI0303342B1 (pt) | 2019-07-02 |
Family
ID=27792038
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR0303342-2A BR0303342A (pt) | 2002-03-04 | 2003-02-26 | Método de codificação de filme e método de decodificação de filme |
BRPI0303342-2A BRPI0303342B1 (pt) | 2002-03-04 | 2003-02-26 | Método de decodificação de imagem |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
BR0303342-2A BR0303342A (pt) | 2002-03-04 | 2003-02-26 | Método de codificação de filme e método de decodificação de filme |
Country Status (18)
Country | Link |
---|---|
US (5) | US7664180B2 (pt) |
EP (9) | EP3253057B1 (pt) |
JP (1) | JP2004088722A (pt) |
KR (2) | KR100948714B1 (pt) |
CN (1) | CN100474933C (pt) |
AU (1) | AU2003211717C1 (pt) |
BR (2) | BR0303342A (pt) |
CA (3) | CA2762149C (pt) |
CY (3) | CY1115427T1 (pt) |
DK (6) | DK2271108T3 (pt) |
ES (9) | ES2644048T3 (pt) |
HU (6) | HUE052192T2 (pt) |
MX (1) | MXPA03007628A (pt) |
MY (1) | MY139955A (pt) |
PT (6) | PT2271107E (pt) |
SI (3) | SI2271107T1 (pt) |
TW (2) | TWI325281B (pt) |
WO (1) | WO2003075580A1 (pt) |
Families Citing this family (61)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2602575T3 (es) | 2001-11-06 | 2017-02-21 | Panasonic Intellectual Property Corporation Of America | Método de codificación de imágenes en movimiento y método de decodificación de imágenes en movimiento |
KR100508798B1 (ko) | 2002-04-09 | 2005-08-19 | 엘지전자 주식회사 | 쌍방향 예측 블록 예측 방법 |
KR100931750B1 (ko) | 2002-04-19 | 2009-12-14 | 파나소닉 주식회사 | 움직임 벡터 계산방법 |
KR100506864B1 (ko) * | 2002-10-04 | 2005-08-05 | 엘지전자 주식회사 | 모션벡터 결정방법 |
KR100693669B1 (ko) * | 2003-03-03 | 2007-03-09 | 엘지전자 주식회사 | 피일드 매크로 블록의 레퍼런스 픽쳐 결정 방법 |
US20060013305A1 (en) * | 2004-07-14 | 2006-01-19 | Sharp Laboratories Of America, Inc. | Temporal scalable coding using AVC coding tools |
KR100584603B1 (ko) * | 2004-08-03 | 2006-05-30 | 학교법인 대양학원 | 다시점 영상의 다이렉트 모드 움직임 예측 방법 및 장치 |
FR2874292B1 (fr) * | 2004-08-10 | 2007-01-26 | Thales Sa | Procede de mise en forme de trames d'une sequence video |
US8649439B2 (en) * | 2004-11-26 | 2014-02-11 | Panasonic Corporation | Decoding circuit, decoding device, and decoding system |
WO2006112139A1 (ja) * | 2005-04-13 | 2006-10-26 | Sharp Kabushiki Kaisha | 動画像再生装置 |
JP4702943B2 (ja) * | 2005-10-19 | 2011-06-15 | キヤノン株式会社 | 画像処理装置及びその方法 |
WO2007132647A1 (ja) * | 2006-05-12 | 2007-11-22 | Panasonic Corporation | 動画像復号化装置 |
JP4712643B2 (ja) * | 2006-08-17 | 2011-06-29 | 富士通セミコンダクター株式会社 | フレーム間予測処理装置、フレーム間予測方法、画像符号化装置及び画像復号装置 |
JP2008177907A (ja) * | 2007-01-19 | 2008-07-31 | Fujitsu Ltd | 動画データ復号装置、情報機器、動画データ復号方法および動画データ復号プログラム |
JP5100311B2 (ja) * | 2007-10-29 | 2012-12-19 | キヤノン株式会社 | 動画像データ送信方法、通信装置、及びプログラム |
JP5332773B2 (ja) * | 2009-03-18 | 2013-11-06 | ソニー株式会社 | 画像処理装置および方法 |
CN102090066A (zh) * | 2009-05-13 | 2011-06-08 | 松下电器产业株式会社 | 图像解码装置、集成电路、图像解码方法及图像解码系统 |
KR20110068792A (ko) | 2009-12-16 | 2011-06-22 | 한국전자통신연구원 | 적응적 영상 부호화 장치 및 방법 |
US9036692B2 (en) * | 2010-01-18 | 2015-05-19 | Mediatek Inc. | Motion prediction method |
CN105025301B (zh) * | 2010-01-19 | 2019-08-23 | 三星电子株式会社 | 图像解码设备 |
EP3913923A1 (en) | 2010-01-19 | 2021-11-24 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding/decoding images using a motion vector of a previous block as a motion vector for the current block |
KR20120009861A (ko) * | 2010-07-22 | 2012-02-02 | 에스케이 텔레콤주식회사 | 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치 |
KR101914018B1 (ko) * | 2010-09-30 | 2018-10-31 | 미쓰비시덴키 가부시키가이샤 | 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체 |
US9300961B2 (en) | 2010-11-24 | 2016-03-29 | Panasonic Intellectual Property Corporation Of America | Motion vector calculation method, picture coding method, picture decoding method, motion vector calculation apparatus, and picture coding and decoding apparatus |
CN106878742B (zh) | 2011-01-12 | 2020-01-07 | 太阳专利托管公司 | 动态图像编解码装置 |
JP5893570B2 (ja) | 2011-01-28 | 2016-03-23 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 画像符号化方法および画像復号化方法 |
US10404998B2 (en) * | 2011-02-22 | 2019-09-03 | Sun Patent Trust | Moving picture coding method, moving picture coding apparatus, moving picture decoding method, and moving picture decoding apparatus |
KR101878008B1 (ko) * | 2011-03-03 | 2018-07-13 | 선 페이턴트 트러스트 | 동화상 부호화 방법, 동화상 복호 방법, 동화상 부호화 장치, 동화상 복호 장치 및 동화상 부호화 복호 장치 |
ES2685945T3 (es) | 2011-04-12 | 2018-10-15 | Sun Patent Trust | Procedimiento de codificación de video de movimiento, y aparato de codificación de video de movimiento |
PL3751854T3 (pl) | 2011-05-24 | 2023-08-28 | Sun Patent Trust | Sposób kodowania obrazu, urządzenie do kodowania obrazu, sposób dekodowania obrazu, urządzenie do dekodowania obrazu oraz urządzenie do kodowania/dekodowania obrazu |
US9485518B2 (en) | 2011-05-27 | 2016-11-01 | Sun Patent Trust | Decoding method and apparatus with candidate motion vectors |
EP4007276B1 (en) | 2011-05-27 | 2023-07-05 | Sun Patent Trust | Apparatus, method and program for coding moving pictures |
CN103548351B (zh) | 2011-05-31 | 2017-07-11 | 太阳专利托管公司 | 运动图像解码方法及运动图像解码装置 |
SG194746A1 (en) | 2011-05-31 | 2013-12-30 | Kaba Gmbh | Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device |
JP5786478B2 (ja) * | 2011-06-15 | 2015-09-30 | 富士通株式会社 | 動画像復号装置、動画像復号方法、及び動画像復号プログラム |
JP5807402B2 (ja) * | 2011-06-15 | 2015-11-10 | 富士通株式会社 | 動画像復号装置、動画像符号化装置、動画像復号方法、動画像符号化方法、動画像復号プログラム及び動画像符号化プログラム |
USRE47366E1 (en) | 2011-06-23 | 2019-04-23 | Sun Patent Trust | Image decoding method and apparatus based on a signal type of the control parameter of the current block |
KR102008030B1 (ko) | 2011-06-23 | 2019-08-06 | 선 페이턴트 트러스트 | 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치 |
RU2603552C2 (ru) * | 2011-06-24 | 2016-11-27 | Сан Пэтент Траст | Способ декодирования изображения, способ кодирования изображения, устройство декодирования изображения, устройство кодирования изображения и устройство кодирования и декодирования изображения |
WO2012176464A1 (ja) | 2011-06-24 | 2012-12-27 | パナソニック株式会社 | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置及び画像符号化復号装置 |
BR112013030347B1 (pt) | 2011-06-27 | 2022-06-28 | Sun Patent Trust | Método de decodificação de imagem, método de codificação de imagem, aparelho de decodificação de imagem, aparelho de codificação de imagem e aparelho de codificação e de decodificação de imagem |
TWI685251B (zh) | 2011-06-28 | 2020-02-11 | 南韓商三星電子股份有限公司 | 對影像做畫面內預測的裝置及編碼裝置以及包括位元串流的非暫態電腦可讀取媒體 |
MY165469A (en) | 2011-06-28 | 2018-03-23 | Sun Patent Trust | Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus |
JP6112418B2 (ja) * | 2011-06-29 | 2017-04-12 | サン パテント トラスト | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像符号化復号装置 |
MX2013010892A (es) | 2011-06-29 | 2013-12-06 | Panasonic Corp | Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, aparato de decodificacion de imagenes, aparato de codificacion de imagenes y aparato de codificacion y decodificacion de imagenes. |
CN102256124B (zh) * | 2011-06-30 | 2013-05-15 | 杭州海康威视数字技术股份有限公司 | 一种图像分层编码方法和装置 |
CN103583048B (zh) | 2011-06-30 | 2017-05-17 | 太阳专利托管公司 | 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编码解码装置 |
KR102060619B1 (ko) | 2011-06-30 | 2019-12-30 | 선 페이턴트 트러스트 | 화상 복호 방법, 화상 부호화 방법, 화상 복호 장치, 화상 부호화 장치 및 화상 부호화 복호 장치 |
PL2728878T3 (pl) | 2011-06-30 | 2020-06-15 | Sun Patent Trust | Sposób dekodowania obrazów, sposób kodowania obrazów, urządzenie do dekodowania obrazów, urządzenie do kodowania obrazów oraz urządzenie do kodowania/dekodowania obrazów |
CN103765885B (zh) | 2011-07-11 | 2017-04-12 | 太阳专利托管公司 | 图像解码方法、图像编码方法、图像解码装置、图像编码装置及图像编解码装置 |
US9819963B2 (en) | 2011-07-12 | 2017-11-14 | Electronics And Telecommunications Research Institute | Inter prediction method and apparatus for same |
EP2741499A4 (en) | 2011-08-03 | 2014-12-10 | Panasonic Ip Corp America | VIDEO CODING METHOD, VIDEO CODING METHOD, VIDEO CODING DEVICE, VIDEO ENCODING DEVICE AND VIDEO ENCODING / DECODING DEVICE |
IN2014CN02602A (pt) | 2011-10-19 | 2015-08-07 | Panasonic Corp | |
US20130177084A1 (en) * | 2012-01-10 | 2013-07-11 | Qualcomm Incorporated | Motion vector scaling in video coding |
JP6012014B2 (ja) * | 2012-03-30 | 2016-10-25 | サン パテント トラスト | 画像符号化方法および画像復号方法 |
WO2014078068A1 (en) | 2012-11-13 | 2014-05-22 | Intel Corporation | Content adaptive transform coding for next generation video |
US9442904B2 (en) * | 2012-12-21 | 2016-09-13 | Vmware, Inc. | Systems and methods for applying a residual error image |
EP2952003B1 (en) | 2013-01-30 | 2019-07-17 | Intel Corporation | Content adaptive partitioning for prediction and coding for next generation video |
WO2014174591A1 (ja) * | 2013-04-23 | 2014-10-30 | 富士通株式会社 | 画像符号化装置、画像符号化方法、及び撮像装置 |
KR101789954B1 (ko) * | 2013-12-27 | 2017-10-25 | 인텔 코포레이션 | 차세대 비디오 코딩을 위한 콘텐츠 적응적 이득 보상된 예측 |
US10587880B2 (en) | 2017-03-30 | 2020-03-10 | Qualcomm Incorporated | Zero block detection using adaptive rate model |
Family Cites Families (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0420088A (ja) * | 1990-05-14 | 1992-01-23 | Victor Co Of Japan Ltd | フレーム間符号化装置 |
JP3031638B2 (ja) | 1991-01-30 | 2000-04-10 | 富士通株式会社 | 蓄積用動画像符号化方式における補間フレームのベクトル探索方法 |
JPH05137131A (ja) | 1991-11-13 | 1993-06-01 | Sony Corp | フレーム間動き予測方法 |
JPH0662391A (ja) * | 1992-08-10 | 1994-03-04 | Nippon Telegr & Teleph Corp <Ntt> | 動画像予測符号化方法 |
US5329365A (en) | 1993-07-07 | 1994-07-12 | Rca Thomson Licensing Corporation | Method and apparatus for providing compressed non-interlaced scanned video signal |
JP3513277B2 (ja) | 1995-08-29 | 2004-03-31 | シャープ株式会社 | 映像符号化装置及び映像復号化装置 |
US5809173A (en) | 1995-04-18 | 1998-09-15 | Advanced Micro Devices, Inc. | Method and apparatus for improved video decompression using previous frame DCT coefficients |
US5724446A (en) * | 1995-04-18 | 1998-03-03 | Advanced Micro Devices, Inc. | Video decoder apparatus using non-reference frame as an additional prediction source and method therefor |
EP1274254B1 (en) | 1995-08-29 | 2011-07-06 | Sharp Kabushiki Kaisha | Video coding device and video decoding device with a motion compensated interframe prediction |
JP2001224036A (ja) | 1995-10-18 | 2001-08-17 | Sharp Corp | 動画像符号化装置 |
JP3344577B2 (ja) | 1996-09-09 | 2002-11-11 | ソニー株式会社 | 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録方法 |
JP3263807B2 (ja) | 1996-09-09 | 2002-03-11 | ソニー株式会社 | 画像符号化装置および画像符号化方法 |
JPH10126787A (ja) * | 1996-10-14 | 1998-05-15 | Nec Eng Ltd | Pピクチャの予測ベクトルをオフセットベクトルとした双方向予測ベクトル検出回路 |
US5991447A (en) | 1997-03-07 | 1999-11-23 | General Instrument Corporation | Prediction and coding of bi-directionally predicted video object planes for interlaced digital video |
SG65064A1 (en) | 1997-04-09 | 1999-05-25 | Matsushita Electric Ind Co Ltd | Image predictive decoding method image predictive decoding apparatus image predictive coding method image predictive coding apparatus and data storage media |
JP3776735B2 (ja) | 1997-04-09 | 2006-05-17 | 松下電器産業株式会社 | 画像予測復号化方法,画像予測復号化装置,画像予測符号化方法,画像予測符号化装置,及びデータ記憶媒体 |
DE69841029D1 (de) | 1997-06-25 | 2009-09-10 | Nippon Telegraph & Telephone | Bewegungsprädiktive Bildkodierungs- und Bilddekodierungsvorrichtung |
JPH1169356A (ja) | 1997-08-25 | 1999-03-09 | Mitsubishi Electric Corp | 動画像符号化方式及び動画像復号方式 |
US6249318B1 (en) | 1997-09-12 | 2001-06-19 | 8×8, Inc. | Video coding/decoding arrangement and method therefor |
US6807231B1 (en) | 1997-09-12 | 2004-10-19 | 8×8, Inc. | Multi-hypothesis motion-compensated video image predictor |
US6396874B1 (en) | 1997-11-12 | 2002-05-28 | Sony Corporation | Decoding method and apparatus and recording method and apparatus for moving picture data |
JP3523481B2 (ja) | 1998-02-23 | 2004-04-26 | シャープ株式会社 | 映像符号化装置及び映像復号化装置並びに映像符号化方法及び映像復号化方法 |
JP3329768B2 (ja) | 1999-07-05 | 2002-09-30 | 日本電信電話株式会社 | 画像符号化データの再符号化方法およびそのプログラム記録媒体 |
JP2001045475A (ja) | 1999-07-27 | 2001-02-16 | Matsushita Electric Ind Co Ltd | 映像信号階層化符号化装置と映像信号階層化復号化装置及びプログラム記録媒体 |
JP3757088B2 (ja) | 1999-10-26 | 2006-03-22 | 日本電気株式会社 | 動画像符号化装置および方法 |
GB2362532B (en) | 2000-05-15 | 2004-05-05 | Nokia Mobile Phones Ltd | Video coding |
KR100744366B1 (ko) | 2000-06-26 | 2007-07-30 | 마츠시타 덴끼 산교 가부시키가이샤 | 광디스크용 편집장치, 컴퓨터-판독가능한 저장매체, 및 편집방법 |
JP4245790B2 (ja) | 2000-08-29 | 2009-04-02 | オリンパス株式会社 | 超音波処置具 |
AUPR208000A0 (en) * | 2000-12-15 | 2001-01-11 | 80-20 Software Pty Limited | Method of document searching |
US8010800B2 (en) * | 2001-06-26 | 2011-08-30 | Sealedmedia Limited | Search engine and digital rights management |
WO2003014975A1 (en) * | 2001-08-08 | 2003-02-20 | Quiver, Inc. | Document categorization engine |
US20030074328A1 (en) * | 2001-10-09 | 2003-04-17 | Steven Schiff | System and method for conducting a financial transaction using a communication device |
US6738980B2 (en) | 2001-11-15 | 2004-05-18 | Industrial Technology Research Institute | Methods and systems for video streaming with VCR functionality |
US6980596B2 (en) | 2001-11-27 | 2005-12-27 | General Instrument Corporation | Macroblock level adaptive frame/field coding for digital video content |
EP1459562A2 (en) | 2001-11-21 | 2004-09-22 | General Instrument Corporation | Picture level adaptive frame/field coding for digital video content |
PT2268039E (pt) | 2001-11-21 | 2015-10-26 | Google Technology Holdings LLC | Codificação adaptativa de quadro/campo ao nível dos macroblocos para o conteúdo de vídeo digital |
US7003035B2 (en) | 2002-01-25 | 2006-02-21 | Microsoft Corporation | Video coding methods and apparatuses |
KR100506864B1 (ko) * | 2002-10-04 | 2005-08-05 | 엘지전자 주식회사 | 모션벡터 결정방법 |
JP5137131B2 (ja) | 2008-08-08 | 2013-02-06 | 東芝キヤリア株式会社 | 給湯装置 |
-
2003
- 2003-02-25 JP JP2003047936A patent/JP2004088722A/ja not_active Withdrawn
- 2003-02-26 CA CA2762149A patent/CA2762149C/en not_active Expired - Lifetime
- 2003-02-26 BR BR0303342-2A patent/BR0303342A/pt active IP Right Grant
- 2003-02-26 US US10/468,119 patent/US7664180B2/en not_active Expired - Lifetime
- 2003-02-26 PT PT101827756T patent/PT2271107E/pt unknown
- 2003-02-26 WO PCT/JP2003/002099 patent/WO2003075580A1/ja active Application Filing
- 2003-02-26 MX MXPA03007628A patent/MXPA03007628A/es active IP Right Grant
- 2003-02-26 HU HUE18211538A patent/HUE052192T2/hu unknown
- 2003-02-26 ES ES16156358.0T patent/ES2644048T3/es not_active Expired - Lifetime
- 2003-02-26 ES ES10182775.6T patent/ES2491094T3/es not_active Expired - Lifetime
- 2003-02-26 EP EP17177672.7A patent/EP3253057B1/en not_active Expired - Lifetime
- 2003-02-26 EP EP03707082.8A patent/EP1406450B1/en not_active Expired - Lifetime
- 2003-02-26 DK DK10182783.0T patent/DK2271108T3/en active
- 2003-02-26 ES ES17177672T patent/ES2723725T3/es not_active Expired - Lifetime
- 2003-02-26 ES ES03707082.8T patent/ES2489490T3/es not_active Expired - Lifetime
- 2003-02-26 ES ES10182783.0T patent/ES2588179T3/es not_active Expired - Lifetime
- 2003-02-26 AU AU2003211717A patent/AU2003211717C1/en not_active Expired
- 2003-02-26 KR KR1020077027477A patent/KR100948714B1/ko active IP Right Grant
- 2003-02-26 PT PT101827897T patent/PT2271109E/pt unknown
- 2003-02-26 SI SI200332377T patent/SI2271107T1/sl unknown
- 2003-02-26 DK DK16156344.0T patent/DK3051814T3/da active
- 2003-02-26 EP EP16156358.0A patent/EP3054679B1/en not_active Expired - Lifetime
- 2003-02-26 HU HUE17177672A patent/HUE042956T2/hu unknown
- 2003-02-26 PT PT101827830T patent/PT2271108T/pt unknown
- 2003-02-26 HU HUE03707082A patent/HUE024412T2/en unknown
- 2003-02-26 CA CA2443848A patent/CA2443848C/en not_active Expired - Lifetime
- 2003-02-26 EP EP18211538.6A patent/EP3490254B1/en not_active Expired - Lifetime
- 2003-02-26 HU HUE10182775A patent/HUE024411T2/en unknown
- 2003-02-26 DK DK10182775.6T patent/DK2271107T3/da active
- 2003-02-26 BR BRPI0303342-2A patent/BRPI0303342B1/pt unknown
- 2003-02-26 EP EP10182789.7A patent/EP2271109B1/en not_active Expired - Lifetime
- 2003-02-26 DK DK10182789.7T patent/DK2271109T3/da active
- 2003-02-26 ES ES17177671T patent/ES2719216T3/es not_active Expired - Lifetime
- 2003-02-26 ES ES10182789.7T patent/ES2491095T3/es not_active Expired - Lifetime
- 2003-02-26 DK DK16156358.0T patent/DK3054679T3/da active
- 2003-02-26 ES ES18211538T patent/ES2829621T3/es not_active Expired - Lifetime
- 2003-02-26 SI SI200332550T patent/SI3051814T1/sl unknown
- 2003-02-26 EP EP10182783.0A patent/EP2271108B1/en not_active Expired - Lifetime
- 2003-02-26 HU HUE17177671A patent/HUE044024T2/hu unknown
- 2003-02-26 DK DK03707082.8T patent/DK1406450T3/da active
- 2003-02-26 HU HUE16156344A patent/HUE036491T2/hu unknown
- 2003-02-26 EP EP17177671.9A patent/EP3253056B1/en not_active Expired - Lifetime
- 2003-02-26 PT PT161563580T patent/PT3054679T/pt unknown
- 2003-02-26 PT PT161563440T patent/PT3051814T/pt unknown
- 2003-02-26 CA CA2762075A patent/CA2762075C/en not_active Expired - Lifetime
- 2003-02-26 ES ES16156344.0T patent/ES2644448T3/es not_active Expired - Lifetime
- 2003-02-26 EP EP10182775.6A patent/EP2271107B1/en not_active Expired - Lifetime
- 2003-02-26 CN CNB038053462A patent/CN100474933C/zh not_active Expired - Lifetime
- 2003-02-26 EP EP16156344.0A patent/EP3051814B1/en not_active Expired - Lifetime
- 2003-02-26 PT PT3707082T patent/PT1406450E/pt unknown
- 2003-02-26 SI SI200332370T patent/SI1406450T1/sl unknown
- 2003-02-26 KR KR1020037011082A patent/KR100923380B1/ko active IP Right Grant
- 2003-03-03 TW TW092104416A patent/TWI325281B/zh not_active IP Right Cessation
- 2003-03-03 TW TW095107763A patent/TWI324889B/zh not_active IP Right Cessation
- 2003-03-03 MY MYPI20030752A patent/MY139955A/en unknown
-
2007
- 2007-10-31 US US11/980,556 patent/US7856060B2/en not_active Expired - Lifetime
- 2007-10-31 US US11/980,558 patent/US8718141B2/en active Active
- 2007-10-31 US US11/980,534 patent/US7742526B2/en not_active Expired - Lifetime
- 2007-10-31 US US11/980,557 patent/US7801219B2/en not_active Expired - Lifetime
-
2014
- 2014-08-04 CY CY20141100591T patent/CY1115427T1/el unknown
- 2014-08-08 CY CY20141100626T patent/CY1115440T1/el unknown
-
2017
- 2017-10-25 CY CY20171101107T patent/CY1119479T1/el unknown
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
BRPI0303342B1 (pt) | Método de decodificação de imagem | |
EP1499133B1 (en) | Motion vector encoding method and motion vector decoding method | |
ES2729258T3 (es) | Cálculo del vector de movimiento en modo directo evitando divisiones por cero | |
ES2410533T3 (es) | Procedimiento de decodificación de vectores de movimiento | |
BRPI0307197B1 (pt) | Método de compensação de movimento, método de codificação de imagem e método de decodificação de imagem | |
BRPI0303336B1 (pt) | Método de derivação do vetor de movimento, método de codificação de imagem animada e método de decodificação de imagem animada | |
JP2006187039A (ja) | 動画像符号化方法および動画像復号化方法 | |
BRPI0306560B1 (pt) | Aparelho de codificação de imagem, aparelho de decodificação de imagem e métodos |