PT3054679T - Método de codificação de imagens em movimento e método de descodificação de imagens em movimento - Google Patents
Método de codificação de imagens em movimento e método de descodificação de imagens em movimento Download PDFInfo
- Publication number
- PT3054679T PT3054679T PT161563580T PT16156358T PT3054679T PT 3054679 T PT3054679 T PT 3054679T PT 161563580 T PT161563580 T PT 161563580T PT 16156358 T PT16156358 T PT 16156358T PT 3054679 T PT3054679 T PT 3054679T
- Authority
- PT
- Portugal
- Prior art keywords
- image
- motion vector
- block
- motion
- reference image
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 98
- 230000033001 locomotion Effects 0.000 claims description 639
- 239000013598 vector Substances 0.000 claims description 541
- 238000012800 visualization Methods 0.000 claims 2
- 238000007430 reference method Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 description 39
- 238000003860 storage Methods 0.000 description 39
- 238000010586 diagram Methods 0.000 description 31
- 230000002123 temporal effect Effects 0.000 description 31
- 238000004364 calculation method Methods 0.000 description 16
- 238000004458 analytical method Methods 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000002441 reversible effect Effects 0.000 description 5
- 238000012935 Averaging Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000008707 rearrangement Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000009792 diffusion process Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011002 quantification Methods 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 230000007480 spreading Effects 0.000 description 2
- 238000003892 spreading Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction 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)
Description
DESCRIÇÃO
MÉTODO DE CODIFICAÇÃO DE IMAGENS EM MOVIMENTO E MÉTODO DE DESCODIFICAÇÃO DE IMAGENS EM MOVIMENTO
Campo técnico A presente invenção refere-se a métodos de codificação de imagens em movimento e métodos de descodificação de imagens em movimento, e particularmente a métodos para realizar codificação de predição de inter-imagem e descodificação de predição de inter-imagem de uma imagem atual utilizando imagens previamente processadas como imagens de referência. Antecedentes da técnica
Em codificação de imagens em movimento, quantidade de dados é geralmente comprimida utilizando as redundâncias espaciais e temporais que existem dentro de uma imagem em movimento. Falando de forma geral, transformação de frequência é utilizada como um método que utiliza as redundâncias espaciais, e codificação de predição de inter-imagem como un método utilizando as redundâncias temporais. Na codificação de predição de inter-imagem, para codificar uma imagem atual, imagens previamente codificadas antes ou depois da imagem atual na ordem de visualização são utilizadas como imagens de referência. A quantidade de movimento da imagem atual da imagem de referência é estimada, e a diferença entre os dados de imagem obtidos por compensação de movimento baseados nessa quantidade de movimento e os dados de imagem da imagem atual é calculada, assim se se eliminam redundâncias temporais. As redundâncias espaciais são ainda eliminadas deste valor diferencial de forma a comprimir a quantidade de dados das imagens atuais.
No método de codificação de imagens em movimento chamado Η.264 que foi desenvolvido para normalização, uma imagem que esteja codificada não utilizando predição de inter-imagem mas utilizando codificação intra-imagem ê referida como uma imagem I, uma imagem que é codificada utilizando predição de inter-imagem com referência a uma imagem previamente processada que seja anterior ou posterior à imagem atual na ordem de visualização é referida como uma imagem P, e uma imagem que esteja codificada utilizando predição de inter-imagem com referência a duas imagens previamente processadas que são anteriores ou posteriores a uma imagem atual na ordem de visualização é uma imagem B (Ver ISO/IEC 14496-2 "Information technology Coding of audio-visual objects - Part2: Visual" pp.218-219). A Fig. IA é um diagrama que mostra relação entre respetivas imagens e as imagens de referência correspondentes no método de codificação de imagens em movimento acima mencionado, e a Fig. 1B é um diagrama que mostra a sequência das imagens no fluxo de bits gerado pela codificação.
Uma imagem II é uma imagem I, imagens P5, P9 e P13 são imagens P, e imagens B2, B3, B4, B6, B7, B8, BIO , Bll e B12 são imagens B. Como mostrado pelas setas, as imagens P P5, P9 e P13 são codificadas utilizando predição de inter-imagem a partir da imagem I II e imagens P P5 e P9 respetivamente como imagens de referência.
Como mostrado pelas setas, as imagens B B2, B3 e B4 são codificadas utilizando predição de inter-imagem a partir da imagem I II e imagem P P5 respetivamente como imagens de referência. Da mesma forma, as imagens B B6, B7 e B8 são codificadas utilizando as imagens P P5 e P9 respetivamente como imagens de referência, e as imagens B BIO, Bll e B12 são codificadas utilizando as imagens P P9 e P13 respetivamente como imagens de referência.
Na codificação acima mencionada, as imagens de referência são codificadas antes das imagens que se referem às imagens de referência. Portanto, o fluxo de bits é gerado pela codificação acima na sequência como mostrado na Fig. 1B. A propósito, no método de codificação de imagens em movimento H.264, pode selecionar-se um modo de codificação chamado modo direto. Um método de predição de inter-imagem em modo direto será explicado com referência à Fig. 2. A Fig. 2 é uma ilustração que mostra vetores de movimento em modo direto, e que mostra particularmente o caso de codificação de um bloco a na imagem B6 em modo direto. Neste caso, ê utilizado um vetor de movimento c utilizado para codificar um bloco b na imagem P9 . O bloco b está 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 utilizado para codificar o bloco b e refere-se à imagem P5. O bloco a é codificado utilizando bi-predição baseada nos blocos de referência obtidos da imagem de referência para a frente P5 e da imagem de referência para trás P9 utilizando vetores paralelos ao vetor de movimento c. Por outras palavras, os vetores de movimento utilizados para codificar o bloco a são o vetor de movimento d para a imagem P5 e o vetor de movimento e para a imagem P9.
Contudo, quando imagens B são codificadas utilizando predição de inter-imagem com referência a imagens Pel, a distância temporal entre a imagem B atual e a imagem de referência pode ser longa, o que provoca redução de eficiência de codificação. Particularmente quando muitas imagens B estão localizadas entre imagem I e imagem P adjacentes ou duas imagens P mais próximas uma da outra, eficiência de codificação é significativamente reduzida. Satoshi Kondo et al.:"Proposal for Minor Changes to Multi-Frame Buffering Syntax for Improving Coding Efficiency of B-pictures",JVT of ISO/IEC MPEG & ITU-T VCEG, JVT-B057, 29 de janeiro - 1 de fevereiro, 2002, Gerado 2002-01-23, XP002249662, revela codificação de modo direto temporal de um bloco de uma imagem de uma sequência de imagens na estrutura do modo de predição bi-direcional melhorado. A presente invenção foi concebida para resolver o problema acima mencionado, e é um objetivo da presente invenção fornecer um método de codificação de imagens em movimento e um método de descodificação de imagens em movimento para evitar redução de eficiência de imagens B de codificação se muitas imagens B estiverem localizadas entre uma imagem I e uma imagem P ou entre duas imagens P. Além disso, é outro objetivo fornecer um método de codificação de imagens em movimento e um método de descodificação de imagens em movimento para melhorar eficiência de codificação no modo direto.
Revelação de Invenção
Um método de codificação para codificar uma imagem de acordo com a presente invenção ê definido na reivindicação 1. Um aparelho de codificação para codificar uma imagem de acordo com a presente invenção é definido na reivindicação 2 .
Breve Descrição de Desenhos A Fig.1 é um diagrama esquemático que mostra relações de predição entre imagens e a sua sequência no método de codificação de imagens em movimento convencional, e IA mostra as relações entre respetivas imagens e as imagens de referência correspondentes, e a Fig. 1B mostra a sequência de imagens mm fluxo de bits gerado pela codificação. A Fig. 2 é um diagrama esquemático que mostra vetores de movimento em modo direto no método de codificação de imagens em movimento convencional. A Fig. 3 é um diagrama de blocos que mostra a estrutura de uma primeira forma de realização de um aparelho de codificação de imagens em movimento utilizando um método de codificação de imagens em movimento de acordo com a presente invenção. A Fig. 4 é uma ilustração de números das imagens e índices relativos nas formas de realização da presente invenção. A Fig. 5 é uma ilustração conceptual de um formato de dados codificados de imagens em movimento no aparelho de codificação de imagens em movimento nas formas de realização da presente invenção. A Fig. 6 é uma ilustração que mostra a sequência de imagens numa memória de reordenação nas formas de realização da presente invenção, e a Fig. 6A mostra a sequência pela ordem de entrada e a Fig. 6B mostra a sequência reordenada. A Fig. 7 é um diagrama esquemático que mostra vetores de movimento em modo direto nas formas de realização da presente invenção, e a Fig. 7A mostra um caso em que um bloco atual a é uma imagem B7, a Fig. 7B mostra primeiro e segundo exemplos num caso em que um bloco atual a é uma imagem B6, a Fig.7C mostra um terceiro exemplo num caso em que um bloco atual a é uma imagem B6 e a Fig. 7D mostra um quarto exemplo num 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 formas de realização da presente invenção, e a Fig. 8A mostra um quinto exemplo num caso em que um bloco atual a é uma imagem B6, a Fig. 8B mostra um sexto exemplo num caso em que um bloco atual a é uma imagem B6, a Fig. 8G mostra um sétimo exemplo num caso em que um bloco atual a é uma imagem B6 e a Fig. 8D mostra um caso em que um bloco atual é uma imagem B8. A Fig. 9 é um diagrama esquemático que mostra relações de predição entre respetivas imagens e a sua sequência nas formas de realização da presente invenção, e a Fig. 9A mostra as relações de predição entre respetivas imagens indicadas na ordem de visualização, e a Fig.9B mostra a sequência das imagens reordenadas pela ordem de codificação (num fluxo de bits). A Fig. 10 é um diagrama esquemático que mostra relações de predição entre respetivas imagens e a sua sequência nas formas de realização da presente invenção, e a Fig. 10 A mostra as relações de predição entre respetivas imagens indicadas na ordem de visualização, e a Fig. 10B mostra a sequência das imagens reordenadas pela ordem de codificação (num fluxo de bits). A Fig. 11 é um diagrama esquemático que mostra relações de predição entre respetivas imagens e a sua sequência nas formas de realização da presente invenção, e a Fig. 11A mostra as relações de predição entre respetivas imagens indicadas na ordem de visualização, e a Fig. 11B mostra a sequência das imagens reordenadas pela ordem de codificação (num fluxo de bits). A Fig. 12 é um diagrama esquemático que mostra hierarquicamente a estrutura de predição de imagens como mostrado na Fig. 6 nas formas de realização da presente invenção. A Fig. 13 ê um diagrama esquemático que mostra hierarquicamente a estrutura de predição de imagens como mostrado na Fig. 9 nas formas de realização da presente invenção. A Fig. 14 é um diagrama esquemático que mostra hierarquicamente a estrutura de predição de imagens como mostrado na Fig. 10 nas formas de realização da presente invenção. A Fig. 15 é um diagrama esquemático que mostra hierarquicamente a estrutura de predição de imagens como mostrado na Fig. 11 nas formas de realização da presente invenção. A Fig.16 é um diagrama de blocos que mostra a estrutura de uma forma de realização de um aparelho de descodificação de imagens em movimento utilizando um método de descodificação de imagens em movimento de acordo com a presente invenção. A Fig. 17 é uma ilustração de um meio de gravação para armazenar programa para realizar o método de codificação de imagens em movimento e o método de descodificação de imagens em movimento na primeira e segunda formas de realização por um sistema informático, 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. 17 B mostra uma vista de secção transversal e uma vista frontal da aparência do disco flexível e o próprio disco flexível, a Fig. 17 C mostra uma estrutura a para gravar e reproduzir o programa no disco flexível FD. A Fig. 18 um diagrama de blocos que mostra a configuração geral de um sistema de fornecimento de conteúdo para realizar serviço de distribuição de conteúdos. A Fig. 19 é um esboço que mostra um exemplo de um telemóvel. A Fig. 2 0 é um diagrama de blocos que mostra a estrutura interna do telemóvel. A Fig. 21 é um diagrama de blocos que mostra a configuração geral de um sistema de difusão digital. Melhor Modo para Realizar a Invenção
As formas de realização da presente invenção serão explicadas abaixo com referência às figuras. (Primeira forma de realização) A Fig. 3 é um diagrama de blocos que mostra a estrutura de uma forma de realização do aparelho de codificação de imagens em movimento utilizando o método de codificação de imagens em movimento de acordo com a presente invenção.
Como mostrado na Fig. 3, o aparelho de codificação de imagens em movimento 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 fluxo de bits 104, uma unidade de descodificação de erro residual 105, uma unidade de adição 106, uma memória de imagens de referência 107, uma unidade de estimação de vetor de movimento 108, uma unidade de seleção de modo 109, uma unidade de controlo de codificação 110, comutadores 111-115 e uma unidade de armazenamento de vetor de movimento 116. A memória de reordenação 101 armazena imagens em movimento introduzidas numa base imagem a imagem pela ordem de visualização. A unidade de controlo de codificação 110 reordena as imagens armazenadas na memória de reordenação 101 pela ordem de codificação. A unidade de controlo de codificação 110 também controla a operação da unidade de armazenamento de vetor de movimento 116 para armazenar vetores de movimento.
Utilizando os dados de imagem previamsnte codificados e descodificados como uma imagem de referência, a unidade de estimação de vetor de movimento 108 estima um vetor de movimento indicando uma posição que se prevê como ótima na área de busca na imagem de referência. A unidade de seleção de modo 109 determina um modo para codificar macroblocos utilizando o vetor de movimento estimado pela unidade de estimação de vetor de movimento 108, e gera dados de imagem preditivos com base no modo de codificação. A unidade de cálculo de diferença 102 calcula a diferença entre os dados da imagem lidos da memória de reordenação 101 e os dados de imagem preditivos introduzidos pela unidade de seleção de modo 109, e gera dados de imagem de erro residual. A unidade de codificação de erro residual 103 realiza processamento de codificação como transformada de frequência e quantificação nos dados de imagem de erro residual introduzidos para gerar cs dados codificados. A unidade de geração de fluxo de bits 104 realiza codificação de comprimento variável ou semelhante nos dados codificados introduzidos, e adiciona ainda a informação de vetor principal, a informação de modo de codificação e outra informação relevante introduzida pela unidade de seleção de modo 109 nos dados codificados para gerar um fluxo de bits. A unidade de descodificação de erro residual 105 realiza processamento de descodificação como quantificação inversa e transformada de frequência inversa nos dados codificados introduzidos para gerar dados de imagem diferencial descodificados. A unidade de adição 106 adiciona os dados de imagem diferencial descodificados introduzidos pela unidade de descodificação de erro residual 105 e os dados de imagem preditivos introduzidos pela unidade de seleção de modo 10 9 para gerar dados de imagem descodificados. A memória de imagens de referência 107 armazena os dados de imagem descodificados gerados. A Fig.4 é uma ilustração de imagens e índices relativos. Os índices relativos são utilizados para identificar unicamente imagens de referência armazenadas na memória de imagens de referência 107, e são associados a respetivas imagens como mostrado na Fig. 4. Os índices relativos também são utilizados para indicar as imagens de referência a serem utilizadas para codificar blocos utilizando predição de inter-imagem. A Fig. 5 é uma ilustração conceptual de formato de dados codificados de imagens em movimento utilizado pelo aparelho de codificação de imagens em movimento. Dados codificados "Imagem" para uma imagem incluem dados codificados de cabeçalho "Cabeçalho" incluídos no cabeçalho da imagem, dados codificados de bloco "Blocol" para modo direto, dados codificados de bloco "Bloco2" para a predição de inter-imagem sem ser o modo direto e semelhantes. Os dados codificados de bloco "Bloco2" para a predição de inter-imagem sem ser modo direto têm um primeiro índice relativo "Ridxl" e um segundo índice relativo "Ridx2" para indicar duas imagens de referência utilizadas para predição de inter-imagem, 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 segundo índices relativos "Ridxl" e "Ridx2" e o primeiro e segundo vetores de movimento "MV1" e "MV2". O índice que é a ser utilizado, o primeiro índice relativo "Ridxl" ou o segundo índice relativo "Ridx2", podem ser determinados pelo tipo de predição "PredType". Também, o primeiro índice relativo "Ridxl" indica uma primeira imagem de referência, e o segundo índice relativo "Ridx2" indica uma segunda imagem de referência. Por outras palavras se uma imagem é uma primeira imagem de referência ou uma segunda imagem de referência é determinado com base no facto de estarem localizadas no fluxo de bits.
Note-se que uma imagem P é codificada por predição de inter-imagem com referência uni-preditiva utilizando uma imagem previamente codificada que está localizada antes ou depois na ordem de visualização como uma primeira imagem de referência, e uma imagem B é codificada por predição de inter-imagem com uma referência bi-preditiva utilizando imagens previamente codificadas que estão localizadas antes ou depois na ordem de visualização como uma primeira imagem de referência e ura segunda imagem de referência. Na primeira forma de realização, a primeira imagem de referência é explicada como uma imagem de referência para a frente, e a segunda imagem de referência é explicada como uma imagem de referência para trás. Além disso, o primeiro e segundo vetores de movimento para a primeira e segunda imagens de referência são explicados como um vetor de movimento para a frente e um vetor de movimento para trás respetivamente. A seguir, como atribuir o primeiro e segundo índices relativos será explicado com referência à Fig.4A.
Quanto aos primeiros índices relativos, na informação que indica ordem de visualização, os valores incre-mentados em 1 a partir de 0 são primeiro atribuídos às imagens de referência anteriores àimagem atual a partir da imagem mais próxima da imagem atual. Depois dos valores incrementados em 1 a partir de 0 serem atribuídos a todas as imagens de referência anteriores à imagem atual, então os valores subsequentes são atribuídos às imagens de referência posteriores à imagem atual a partir da imagem mais próxima da imagem atual.
Quanto aos segundos índices relativos, na informação que indica ordem de visualização, os valores incrementados em 1 a partir de 0 são atribuídos às imagens de referência posteriores à imagem atual a partir da imagem mais próxima da imagem atual. Depois dos valores incrementados em 1 a partir de 0 serem atribuídos a todas as imagens de referência posteriores à imagem atual, então os valores subsequentes são atribuídos às imagens de referência anteriores à imagem atual a partir da imagem mais próxima da imagem atual.
Por exemplo, na Fig. 4A, quando o primeiro índice relativo "Ridxl" é 0 e o segundo índice relativo "Ridx2" ê 1, a imagem de referência para a frente é a imagem B N.°6 e a imagem de referência para trás ê a imagem P N.° 9. Aqui, estes números de imagem 6 e 9 indicam a ordem de visualização. índices relativos num 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 de valores mais pequenos. Uma vez que a imagem que é mais próxima da imagem atual é habitualmente selecionada como uma imagem de referência para predição de inter-imagem, melhora-se eficiência de codificação atribuindo-se os valores de índices relativos por ordem de proximidade à imagem atual.
Atribuição de imagens de referência a índices relativos pode ser mudada arbitrariamente se tal for explicitamente indicado utilizando sinal de controlo de memória tampão em dados codificados (RP5L em Cabeçalho como mostrado na Fig. 5) . Isto permite mudar a imagem de referência com o segundo índice relativo "0" para uma imagem de referência arbitrária na memória de imagens de referência 107. Como mostrado na Fig. 4B, pode mudar-se atribuição de índices de referência a imagens, por exemplo. A seguir, a operação do aparelho de codificação de imagens em movimento estruturado como acima, será explicada abaixo. A RLg.6 ê uma ilustração que mostra a sequência de imagem na memória de reordenação 101 e a Fig. 6A mostra a sequência pela ordem de entrada e a Fig. 6B mostra a sequência reordenada. Aqui, linhas verticais mostram imagens, e os números indicados no canto inferior direito das imagens mostram os tipos de imagens (I, P e B) com as primeiras letras alfabéticas e os números de imagem que indicam ordem de visualização com os seguintes números.
Como mostrado na Fig. 6A uma imagem em movimento é introduzida na memória de reordenação 101 numa base imagem a imagem pela ordem de visualização, por exemplo.
Quando as imagens são introduzidas na memória de reordenação 101, a unidade de controlo de codificação 110 reordena as imagens introduzidas na memória de reordenação 101 pela ordem de codificação. As imagens são reordenadas com base nas relações de referência em codificação de predição de inter-imagem e mais especificamente, as imagens são reordenadas de forma a que as imagens utilizadas como imagens de referência sejam codificadas antes das imagens que utilizam as imagens de referência.
Aqui, assume-se que uma imagem P se refere a uma imagem I ou P vizinha previamente processada que está localizada antes ou depois da imagem P atual na ordem de visualização, e uma imagem B refere-se a duas imagens vizinhas previamente processadas que estão localizadas antes ou depois da imagem B atual na ordem de visualização.
As imagens são codificadas pela seguinte ordem. Primeiro, codifica-se uma imagem B no centro de imagens B (3 imagens B na figura 6A, por exemplo) localizadas entre duas imagens P, e depois codifica-se outra imagem B mais próxima da imagem P anterior. Por exemplo, as imagens B6, B7, B8 e P9 são codificadas pela 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, imagem B B7 refere-se a imagens P P5 e P9, B6 refere-se a P5 e B7, e B8 refere-se a B7 e P9, respetivamente. A unidade de controlo de codificação 110 reordena as imagens pela ordem de codificação como mostrado na figura 6B. A seguir, as imagens reordenadas na memória de reordenação 101 são lidas numa unidade para cada compensação de movimento. Aqui, a unidade de compensação de movimento é referida como um macroblocoo que tem 16 (horizontal) x 16 (vertical) pixéis de tamanho. Codificação de imagens P9, B7, B6 e B8 mostrada na Fig. 6A será explicada abaixo por esta ordem. (Codificação de imagem P9) A imagem P P9 é codificada utilizando predição de inter-imagem com referência a uma imagem previamente processada localizada antes ou depois de P9 pela ordem de visualização. Ehr codificação P9, a imagem P5 é a imagem de referência, como acima mencionado. P5 já foi codificada e a imagem descodificada da mesma é guardada na memória de imagens de referência 107. Em codificação de imagens P, a unidade de controlo de codificação 110 controla comutadores 113, 114 e 115 para estarem Ligados. Os macroblocos na imagem P9 lidos a partir da memória de reordenação 101 são assim introduzidos na unidade de estimação de vetor de movimento 108, na unidade de seleção de modo 109 e na unidade de cálculo de diferença 102 por esta ordem. A unidade de estimação de vetor de movimento 108 estima um vetor de movimento de um macrobloco na imagem P9, utilizando os dados de imagem descodificados da imagem P5 armazenada na memória de imagens de referência 107 como ura imagem de referência, e emite o vetor de movimento estimado para a unidade de seleção de modo 109. A unidade de seleção de modo 10 9 determina o modo para codificar o macrobloco na imagem P9 utilizando o vetor de movimento estimado pela unidade de estimação de vetor de movimento 108. Aqui, o modo de codificação indica o método de codificar macroblocos. Quanto a imagens P, determina qualquer dos métodos de codificação, codificação intra-imagem, codificação de predição de inter-imagem utilizando um vetor de movimento e codificação de predição de inter-imagem utilizando um vetor de movimento e codificação de predição de inter-imagem sem utilizar um vetor de movimento (em que movimento é tratado como " 0") . Para determinar um modo de codificação, é selecionado um método de forma a que um erro de codificação seja reduzido com uma pequena quantidade de bits. A unidade de seleção de modo 10 9 emite o modo de codificação determinado para a unidade de geração de fluxo de bits 104. Se o modo de codificação determinado pela unidade de seleção de modo 109 for codificação de predição de inter-imagem, o vetor de movimento que é a ser utilizado para codificar predição de inter-imagem é enLtido para a unidade de geração de fluxo de bits 104 e ainda armazenado na unidade de armazenamento de vetor de movimento 116. A unidade de seleção de modo 109 gera dados de imagem preditivos com base no modo de codificação determinado para gerar para a unidade de cálculo de diferença 102 e a unidade de adição 106. Contudo, ao selecionar codificação intra-imagem, a unidade de seleção de modo 109 não emite dados de imagem preditivos. Além disso, ao selecionar codificação intra-imagem, a unidade de seleção de modo 109 controla os comutadores 111 e 112 para ligar a lado "a" e lado "c" respetivamente, e ao selecionar codificação de predição de inter-imagem, controla-os para ligar alado "b" e lado "d" respetivamente. O caso será explicado abaixo em que a unidade de seleção de modo 109 seleciona codificação de predição de inter-imagem. 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 preditivos emitidos 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 na imagem P9 e os dados de imagem preditivos, e gera os dados de imagem de erro residual para emitir para a unidade de codificação de erro residual 103 . A unidade de codificação de erro residual 103 realiza processamento de codificação como transformada de frequência e quantificação nos dados de imagem de erro residual introduzidos e gera assim os dados codificados para emitir para a unidade de geração de fluxo de bits 104 e a unidade de descodificação de erro residual 105. Aqui, o processamento de codificação como transformada de frequência e quantificação ê realizado cada 8 (horizontal) x 8 (vertical) ou 4 (horizontal) x 4 (vertical) pixêis, por exemplo. A unidade de geração de fluxo de bits 104 realiza codificação de comprimento variável ou semelhante nos dados codificados introduzidos, e ainda adiciona informação como vetores de movimento e um modo de codificação, informação de cabeçalho e assim por diante aos dados codificados para gerar e emitir o fluxo de bits .
Por outro lado, a unidade de descodificação de erro residual 105 realiza processamento de descodificação como quantificação inversa e transformada de frequência inversa nos dados codificados introduzidos e gera os dados de imagem diferencial descodificados para emitir para a unidade de adição 106. A unidade de adição 106 adiciona os dados de imagem diferencial descodificados e os dados de imagem preditivos introduzidos pela unidade de seleção de modo 10 9 para gerar os dados de imagem descodificados, e armazena-os na memória de imagens de referência 107.
Esta é a conclusão de codificação de um macrobloco na imagem P9. De acordo com o mesmo processamento, os restantes macroblocos da imagem P9 são codificados. E depois de todos os macroblocos da imagem P9 serem codificados, a imagem B7 ê codificada. (Codificação de Imagem B7) A imagem B7 refere-se â imagem P5 como uma imagem de referência para a frente e a imagem P9 como uma imagem de referência para trás. Uma vez que a imagem B7 é utilizada como uma imagem de referência para codificar de outras imagens, a unidade de controlo de codificação 110 controla os comutadores 113, 114 e 115 para estarem Ligados, o que faz com que os macroblocos na imagem B7 lidos a partir da memória de reordenação 101 sejam introduzidos na unidade de estimação de vetor de movimento 108, na unidade de seleção de modo 109 e na unidade de cálculo de diferença 102 .
Utilizando os dados de imagem descodificados da imagem P5 e os dados de imagem descodificados de imagem P9 que são armazenados na memória de imagens de referência 107 com uma imagem de referência para a frente e uma imagem de referência para trás respetivamente, a unidade de estimação de vetor de movimento 108 estima um vetor de movimento para a frente e um vetor de movimento para trás do macrobloco na imagem B7. E a unidade de estimação de vetor de movimento 108 emite 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 utilizando os vetores de movimento estimados pela unidade de estimação de vetor de movimento 108. Aqui, assume-se que um modo de codificação para imagens B pode ser selecionado entre codificação intra-imagem, codificação de predição de inter-imagem utilizando um vetor de movimento para a frente, codificação de predição de inter-imagem utilizando um vetor de movimento para trás, codificação de predição de inter-imagem utilizando um vetor de movimento para trás, codificação de predição de inter-imagem utilizando vetores de movimento bi-preditivos e modo direto.
Operação de codificação de modo direto será explicada com referência à Fig. 7A. A Fig. 7A é uma ilustração que mostra vetores de movimento em modo direto, e mostra especificamente o caso em que o bloco a na imagem B7 está codificado em modo direto. Neste caso é utilizado um vetor de movimento c, que foi utilizado para codificar o bloco b na imagem P9. O bloco b está 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. ObLoco a é bi-preditivo a partir da imagem de referência para a frente P5 e da imagem de referência para trás P9 utilizando vetores obtidos utilizando o vetor de movimento c. Por exemplo, como um método de utilizar o vetor de movimento c, existe um método de gerar vetores de movimento paralelos ao vetor de movimento c. Neste caso, o vetor de movimento d e o vetor de movimento e são utilizados para a imagem P5 e a imagem P9 respetivamente para codificar o bloco a.
Neste caso em que o vetor de movimento para a 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 temporal entre a imagem atual B7 e a imagem de referência para a frente P5 é TRF respetivamente, o vetor de movimento d MVF e o vetor de movimento e MVB são, respetivamente, calculados pela
Equação 1 e Equação 2. Note-se que a distância temporal entre a imagem pode ser determinada com base na informação que indica a ordem de visualização (posição) dada às imagens respetivas ou na diferença especificada pela informação. MVF= MV X TRF /TRD ..... Equação 1 MVB = (TRF - TRD) x MV / TRD ..... Equação 2 onde MVF e MVB representam respetivamente componentes horizontais e componentes verticais dos vetores de movimento e os sinais de mais e de menos indicam direções dos vetores de movimento. A propósito, quanto a seleção de um modo de codificação, seleciona-se geralmente um método para reduzir erro de codificação com uma quantidade mais pequena de bits. A unidade de seleção de modo 109 emite o modo de codificação determinado para a unidade de geração de fluxo de bits 104. Se o modo de codificação determinado pela unidade de seleção de modo 109 for codificação de predição de inter-imagem, os vetores de movimento utilizados para codificar de predição de inter-imagem são emitidos para a unidade de geração de fluxo de bits 104 e ainda armazenados na unidade de armazenamento de vetor de movimento 116. Quando se seleciona o modo direto, os vetores de movimento que são calculados de acordo com a Equação 1 e a Equação 2 e utilizados para modo direto são armazenados na unidade de armazenamento de vetor de movimento 116. A unidade de seleção de modo 109 gera também dados de imagem preditivos com base no modo de codificação determinado para emitir para a unidade de cálculo de diferença 102 e a unidade de adição 106, apesar de não emitir os dados de imagens preditivos se selecionar a codificação intra-imagem. Além disso, ao selecionar a codificação intra-imagem, a unidade de seleção de modo 109 controla os comutadores 111 e 112 para ligar a lado "a" e lado "c" respetivamente, e ao selecionar a codificação de predição de inter-imagem ou o modo direto controla os comutadores 111 e 112 para ligar a lado "b" e lado "d" respetivamente. O caso será explicado abaixo em que a unidade de seleção de modo 10 9 seleciona a codificação de predição de inter-imagem ou o modo direto. A unidade de cálculo de diferença 102 recebe os dados de imagem do macrobloco da imagem B7 lido a partir da memória de reordenação 101 e os dados de imagem preditivos emitidos 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 preditivos, e gera os dados de imagem de erro residual para emitir para a unidade de codificação de erro residual 103. A unidade de codificação de erro residual 103 realiza processamento de codificação como transformada de frequência e quantificação nos dados de imagem de erro residual introduzidos e gera assim os dados codificados para emitir para a unidade de geração de fluxo de bits 104 e a unidade de descodificação de erro residual 105. A unidade de geração de fluxo de bits 104 realiza codificação de comprimento variável ou semelhante nos dados codificados introduzidos e ainda adiciona informação como vetores de movimento e um modo de codificação e assim por diante a esses dados codificados para gerar e emitir um fluxo de bits.
Por outro lado, a unidade de descodificação de erro residual 105 realiza processamento de descodificação como quantificação inversa e transformada de frequência inversa nos dados codificados introduzidos e gera os dados de imagem diferencial descodificados para emitir para a unidade de adição 106. A unidade de adição 106 adiciona os dados de imagem diferencial descodificados e os dados de imagem preditivos introduzidos pela unidade de seleção de modo 10 9 para gerar os dados de imagem descodificados, e armazena-os na memória de imagens de referência 107.
Esta é a conclusão de codificação de um macrobloco na imagem B7. De acordo com o mesmo processamento, os restantes macroblocos da imagem B7 são codificados. E depois de todos os macroblocos da imagem B7 serem codificados, a imagem B6 é codificada. (Codificação de Imagem B6)
Uma vez que a imagem B6 é uma imagem B, B6 é codificada utilizando predição de inter-imagem com referência a duas imagens previamente processadas localizadas antes ou depois de B6 na ordem de visualização. A imagem B B6 refere-se à imagem P5 como uma imagem de referência para a frente e a imagem B7 como uma imagem de referência para trás, como acima descrito. Uma vez que a imagem B6 não é utilizada como uma imagem de referência para codificar outras imagens, a unidade de controlo de codificação 110 controla o comutador 113 para estar Ligado e os comutadores 114 e 115 para estarem Desligados, o que faz com que o macrobloco na imagem B6 lidos a partir da memória de reordenação 101 sejam introduzidos na unidade de estimação de vetor de movimento 108, na unidade de seleção de modo 109 e na unidade de cálculo de diferença 102.
Utilizando os dados de imagem descodificados da imagem P5 e os dados de imagem descodificados da imagem B7 que são armazenados na memória de imagem de referência 107 como uma imagem de referência para a frente e uma imagem de referência para trás respetivamente, a unidade de estimação de vetor de movimento 10 8 estima o vetor de movimento para a frente e o vetor de movimento para trás para o macrobloco na imagem B6. E a unidade de estimação de vetor de movimento 108 emite 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 utilizando os vetores de movimento estimados pela unidade de estimação 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 ilustração que mostra vetores de movimento em modo direto, e que mostra especificamente o caso em que o bloco a na imagem B6 está codificado em modo direto. Neste caso é utilizado um vetor de movimento c, que foi utilizado para codificar um bloco b na imagem B7. O bloco b está co-local izado com o bloco a, e a imagem B7 é uma imagem de referência para trás da imagem B6. Aqui, assume-se que o bloco b esta codificado por referência para a frente apenas ou por referência bi-preditiva e o vetor de movimento para a frente do bloco b é o vetor de movimento c. Assume-se também que o vetor de movimento c é armazenado na unidade de armazenamento de vetor de movimento 116. O bloco a é bi-preditivo a partir da imagem de referência para a frente P5 e a imagem de referência para trás B7 utilizando vetores de movimento gerados utilizando o vetor de movimento c. Por exemplo, se for utilizado um método de gerar vetores de movimento paralelos ao vetor de movimento c, como éo caso da imagem B7 acima mencionada, o vetor de movimento d e o vetor de movimento e são utilizados para a imagem P5 e a imagem B7 respetivamente para codificar o bloco a.
Neste caso em que o vetor de movimento para a 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 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 B7 e a imagem de referência para a frente P5 é TRF respetivamente, o vetor de movimento d MVF e o vetor de movimento e MVB são, respetivamente, calculados pela Equação 1 e Equação 2 acima mencioandas. Note-se que a distância temporal entre a imagem pode ser determinada com base na informação que indica ordem de visualização das imagens ou na diferença especificada pela informação, por exemplo.
Como acima descrito, em modo direto, escalando o vetor de movimento para a frente de uma imagem B de referência para trás, não há necessidade de transmitir informação de vetor de movimento, e pode melhorar-se eficiência de predição de movimento. Consequentemente, pode melhorar-se eficiência de codificação. Além disso, ao utilizar imagens de referência disponíveis temporalmente mais próximas na ordem de visualização como uma imagem de referência para a frente e uma imagem de referência para trás, pode aumentar-se eficiência de codificação. A seguir, o segundo exemplo do modo direto será explicado com referência à Fig. 7 B. Neste caso é utilizado o vetor de movimento, que foi utilizado para codificar o bloco b na imagem B7. 0 bloco b está co-localizado com o bloco a, e a imagem B7 é uma imagem de referência para trás para a imagem B6 . Aqui, assume-se que o bloco b foi codificado em modo direto e o vetor de movimento para a frente que foi substancialmente utilizado para codificar o bloco b é o vetor de movimento c. Especificamente, o vetor de movimento c é obtido escalando o vetor de movimento utilizado para codificar 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 . 0 vetor de movimento c armazenado na unidade de armazenamento de vetor de movimento 116 é utilizado, ou o vetor de movimento c é obtido lendo a partir da unidade de armazenamento de vetor de movimento 116 o vetor de movimento do bloco i na imagem P9 que foi utilizado para codificar o bloco b em modo direto e calculando com base nesse vetor de movimento. Quando o vetor de movimento que é obtido escalando para codificar o bloco b na imagem B7 em modo direto é armazenado na unidade de armazenamento de vetor de movimento 116, apenas o vetor de movimento para a frente precisa de ser armazenado. O bloco a é bi- predito a partir da imagem de referência para a frente P5 e a imagem de referência para trás B7 utilizando vetores de movimento gerados utilizando o vetor de movimento c. Por exemplo se for utilizado um método de gerar vetores de movimento paralelos ao vetor de movimento c, como ê o caso do primeiro exemplo acima mencionado, vetores de movimento utilizados para codificar o bloco a são o vetor de movimento d e o vetor de movimento e para a imagem P5 e a imagem B7 respetivamente.
Neste caso, o vetor de movimento para a frente d MVF e o vetor de movimento para trás e MVB do bloco a são respetivamente calculados pela Equação 1 e Equação 2 acima mencionadas, como no caso do primeiro exemplo.
Como acima descrito, em modo direto, uma vez que o vetor de movimento para a frente de uma imagem B de referência para trás que se utilizou substancialmente para codificar a imagem B no modo direto é escalado, não há necessidade de transmitir a informação de vetor de movimento, e pode melhorar-se eficiência de predição de movimento mesmo que o bloco co-localizado na imagem de referência para trás tenha sido codificado em modo direto. Consequentemente, pode melhorar-se eficiência de codificação. Além disso, ao utilizar imagens de referência que estão disponíveis temporalmente mais próximas na ordem de visualização como uma imagem de referência para a frente e uma imagem de referência para trás, pode aumentar-se eficiência de codificação. A seguir, o terceiro exemplo de modo direto será explicado com referência à Fig. 7C. A Fig. 7C é uma ilustração que mostra vetores de movimento em modo direto, e que mostra especificamente o caso em que o bloco a na imagem B6 está codificado em modo direto. Neste caso ê utilizado o vetor de movimento, que foi utilizado para codificar o bloco b na imagem B7. A imagem B7 ê uma imagem de referência para trás da imagem B6 e o bloco b na imagem B7 está co-localizado com o bloco a na imagem B6. Aqui, assume-se que o bloco b foi codificado utilizando um vetor de movimento para trás apenas e o vetor de movimento para trás utilizado para codificar o bloco b é um vetor de movimento f. Especif icamente, assume-se que o vetor de movimento f é armazenado na unidade de armazenamento de vetor de movimento 116. O bloco a é bi-predito a partir da imagem de referência para a frente P5 e a imagem de referência para trás B7 utilizando vetores de movimento gerados utilizando o vetor de movimento f. Por exemplo, se for utilizado um método de gerar vetores de movimento paralelos ao vetor de movimento f, como é o caso do primeiro exemplo acima mencionado, os vetores de movimento utilizados para codificar o bloco a são o vetor de movimento g e o vetor de movimento h para a imagem P5 e a imagem B7 respetivamente.
Neste caso, em que o vetor de movimento para a 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 imagem de referência para a frente P5 é TRF e a distância temporal entre a imagem atual B6 e a imagem de referência para trás B7 é TRB respetivamente, o vetor de movimento g MVF e o vetor de movimento h MVB são respetivamente calculados pela Equação 3 e Equação 4. MVF = - TRF x MV/TRD ..... Equação 3 MVB = TRB x MV /TRD ..... Equação 4
Como acima descrito, em modo direto, uma vez que o vetor de movimento para trás de um bloco co-localizado numa imagem de referência para trás B que se utilizou para codificar o bloco é escalado, não hã necessidade de transmitir informação de vetor de movimento, e pode melhorar-se eficiência de predição de movimento mesmo que o bloco co-localizado na imagem de referência para trás apenas tenha o vetor de movimento para trás. Consequentemente, pode melhorar-se a eficiência de codificação. Além disso, ao utilizar imagens de referência que estão disponíveis temporalmente mais próximas na ordem de visualização como uma imagem de referência para a frente e uma imagem de referência para trás, pode aumentar-se eficiência de codificação. A seguir, o quarto exemplo de modo direto será explicado com referência à Fig.7D. A Fig.7D é uma ilustração que mostra vetores de movimento em modo direto, e que mostra especificamente o caso em que o bloco a na imagem B6 está codificado em modo direto. Neste caso é utilizado o vetor de movimento, que foi utilizado para codificar o bloco b na imagem B7. A imagem B7 é a imagem de referência para trás da imagem B6 e o bloco b está co-localizado com o bloco a na imagem B6. Aqui, assume- se que o bloco b foi codificado utilizando o vetor de movimento para trás apenas, como é o caso do terceiro exemplo, e o vetor de movimento para trás utilizado para codificar o bloco b é o vetor de movimento f. Especif icamente, assume-se que o vetor de movimento f esteja armazenado na unidade de armazenamento de vetor de movimento 116. O bloco a é bi-predito a partir da imagem de referência P9 que é referida pelo vetor de movimento f e cá imagem de referência para trás B7 utilizando vetores de movimento gerados utilizando o vetor de movimento f. Por exemplo se for utilizado um método de gerar vetores de movimento paralelos ao vetor de movimento f, como é o caso do primeiro exemplo acima mencionado, vetores de movimento utilizados para codificar o bloco a são o vetor de movimento g e o vetor de movimento h para a imagem P9 e a imagem B7 respetivamente.
Neste caso, em que o vetor de movimento para a 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 e a distância temporal 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 respetivamente, o vetor de movimento g MVF e o vetor de movimento h MVB são respetivamente calculados pela Equação 1 e Equação 2 .
Como acima descrito, em modo direto, escalando o vetor de movimento para trás de um bloco co-localizado numa imagem B de referência para trás que foi utilizado para codificar o bloco, não há necessidade de transmitir informação de vetor de movimento, e pode melhorar-se eficiência de predição de movimento mesmo se o bloco co-localizado na imagem de referência para trás apenas tiver o vetor de movimento para trás.
Consequentemente, pode melhorar-se eficiência de codificação. Além disso, ao utilizar uma imagem referida pelo vetor de movimento para trás como uma imagem de referência para a frente, e uma imagem de referência disponível que está temporalmente mais próximas na ordem de visualizaçãoncomo umanimagem de referência para trás, aumenta-se eficiência de codificação. A seguir, o quinto exemplo do modo direto será explicado com referência à Fig.8A. A Fig.SA é uma ilustração que mostra vetores de movimento em modo direto, e que mostra especificamente o caso em que o bloco a da imagem B6 está codificado em modo direto. Neste caso, pressupondo que o valor dos vetores de movimento ê "0", realiza-se referência bi-preditiva para compensação de movimento, utilizando a imagem P5 como uma imagem de referência para a frente e a imagem B7 como uma imagem de referência para trás.
Como acima mencionado, forçando o vetor de movimento "0" em modo direto, quando se seleciona o modo direto, não há necessidade de transmitir a informação de vetor de movimento nem escalar o vetor de movimento, e assim pode reduzir-se o volume de processamento. A seguir, o sexto exemplo do modo direto será explicado com referência à Fig. 8B. A Fig. 8B é uma ilustração que mostra vetores de movimento em modo direto, e que mostra especif icamente o caso em que o bloco a na imagem B6 está codificado em modo direto. Neste caso é utilizado o vetor de movimento que foi utilizado para codificar o bloco f na imagem P9. A imagem P9 está localizada depois da 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 ê bi-predito a partir da imagem de referência para a frente P5 e da imagem de referência para trás B7 utilizando vetores de movimento gerados utilizando o vetor de movimento g. Por exemplo, se for utilizado um método de gerar vetores de movimento paralelos ao vetor de movimento g, como é o caso do primeiro exemplo acima mencionado, vetores de movimento utilizados para codificar o bloco a são o vetor de movimento h e o vetor de movimento i para a imagemPSe a imagem B7 respetivamente para codificar o bloco a.
Neste caso, em que o vetor de movimento para a frente h é MVF, o vetor de movimento para trás i ê MVB, o vetor de movimento g ê MV, a distância temporal entre a imagem P9 que está localizada depois na ordem de visualização da imagem atual B6 e a imagem P5 à qual o bloco f na imagem P9 se refere é TRD, a distância temporal entre a imagem atual B6 e a imagem de referência para a frente P5 ê TRF, e a distância temporal entre a imagem atual B6 e a imagem de referência para trás B7 ê TRB respetivamente, o vetor de movimento h MVF e o vetor de movimento i MVB são respetivamente calculados pela Equação 1 e Equação 5. MVB = -TRV x MV / TRD.....Equação 5
Como acima descrito, em modo direto, escalando o vetor de movimento da imagem P que está localizada depois na ordem de visualização, não há necessidade de armazenar o vetor de movimento de uma imagem B se a imagem B for a imagem de referência para trás, e não há também necessidade de transmitir a informação de vetor de movimento. Além disso, ao utilizar imagens de referência que estão temporalmente mais próximas na ordem de visualização como uma imagem de referência para a frente e uma imagem de referência para trás, pode aumentar-se eficiência de codificação. A seguir, o sétimo exemplo do modo direto será explicado com referência à Fig. 8C. A Fig. 8C é uma ilustração que mostra vetores de movimento em modo direto, e que mostra especificamente o caso em que o bloco a na imagem B6 está codificado em modo direto. Este exemplo mostra o caso em que a atribuição acima mencionada de índices relativos aos números da imagem é mudada (remapeada) e a imagem P9 ê uma imagem de referência para trás. Neste caso é utilizado o vetor de movimento g, que foi utilizado para codificar o bloco f na imagem P9. A imagem P9 é a imagem de referência para trás para a imagem B7 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 é bi-predito a partir da imagem de referência para a frente P5 e a imagem de referência para trás P9 utilizando vetores de movimento gerados utilizando o vetor de movimento g. Por exemplo, se for utilizado um método de gerar vetores de movimento paralelos ao vetor de movimento g, como é o caso do primeiro exemplo acima mencionado, vetores de movimento utilizados para codificar o bloco a são o vetor de movimento h e o vetor de movimento i para a imagem P5 e a imagem P9 respetivamente.
Neste caso, em que o vetor de movimento para a frente h é MVF, o vetor de movimento para trás i é MVB, o vetor de movimento g ê MV, a distância temporal 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 temporal entre a imagem atual B6 e a imagem de referência para a frente P5 é TRF respetivamente, o vetor de movimento li MVF e o vetor de movimento i MVB são respetivamente calculados pela Equação 1 e Equação 2.
Como acima descrito, em modo direto, o vetor de movimento da imagem previamente codificada pode ser escalado mesmo que os índices relativos para os números de imagem sejam remapeados e quando se seleciona o modo direto não há necessidade de transmitir a informação de vetor de movimento.
Quando o bloco a na imagem B6 está codificado em modo direto, o bloco na imagem de referência para trás para a imagem B6 que está co-localizado com o bloco a ê codificado apenas pela imagem de referência, referência bi-preditiva ou modo direto. E quando se utilizou um vetor de movimento para a frente para esta codificação, este vetor de movimento para a frente é escalado e o bloco a é codificado em modo direto, como ê o caso do primeiro, segundo ou sétimo exemplo, acima mencionados. Por outro lado, quando o bloco co-localizado com o bloco a foi codificado por referência para trás utilizando apenas um vetor de movimento para trás, este vetor de movimento para trás, é escalado, e o bloco a é codificado em modo direto, como é o caso do terceiro ou quarto exemplo acima mencionado.
Modo direto acima mencionado é aplicável não apenas ao caso em que um intervalo de tempo entre imagens ê fixo mas também ao caso em que é variável. A unidade de seleção de modo 109 emite o modo de codificação determinado para a unidade de geração de fluxo de bits 104. Também, a unidade de seleção de modo 10 9 gera dados de imagem preditivos com base no modo de codificação determinado e emite-os para a unidade de cálculo de diferença 102. Contudo, se se selecionar codificação intra-imagem, a unidade de seleção de modo 109 não emite dados de imagem preditivos. A unidade de seleção de modo 109 controla os comutadores 111 e 112 para estarem ligados a lado "a" e lado " c" respetivamente se se selecionar codificação infra-imagem e controla os comutadores 111 e 112 para estarem ligados a lado !'b" e a lado "d" se se selecionar a codificação de predição de inter-imagem ou um modo direto. Se o modo de codificação determinado for codificação de predição de inter-imagem, a unidade de seleção de modo 109 emite os vetores de movimento utilizados para a codificação de predição de inter-imagem para a unidade de geração de fluxo de bits 104. Uma vez que a imagem B6 não é utilizada como uma imagem de referência para codificar outras imagens, não hã necessidade de armazenar os vetores de movimento utilizados para a codificação de predição de inter-imagem na unidade de armazenamento de vetor de movimento 116. O caso será explicado abaixo em que a unidade de seleção de modo 109 seleciona a codificação de predição de inter-imagem 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 preditivos emitidos 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 B6 e os dados de imagem preditivos e gera os dados de imagem de erro residual para emitir para a unidade de codificação de erro residual 103. A unidade de codificação de erro residual 103 realiza processamento de codificação como transformada de frequência e quantificação nos dados de imagem de erro residual introduzidos, e gera assim os dados codificados para emitir para a unidade de geração de fluxo de bits 104 . A unidade de geração de fluxo de bits 10 4 realiza codificação de comprimento variável ou semelhante nos dados codificados introduzidos, ainda adiciona informação como vetores de movimento e um modo de codificação e por aí diante aos dados e gera o fluxo de bits para emitir.
Esta é a conclusão de codificação de um macrobloco na imagem B6. De acordo com o mesmo processamento, os restantes macroblocos da imagem B6 são codificados. E depois de todos os macroblocos da imagem B6 serem codificados, a imagem B8 é codificada. (Codificação de Imagem B8)
Uma vez que uma imagem B8 é uma imagem B, a codificação de predição de inter-imagem é realizada para a imagem B8 com referência às duas imagens previamente processadas localizadas antes ou depois de B6 na ordem de visualização. A imagem B B8 refere-se â imagem B7 como uma imagem de referência para a frente e a imagem P9 como uma imagem de referência para trás, como acima descrito. Uma vez que a imagem B8 não é utilizada como uma imagem de referência para codificar outras imagens, a unidade de controlo de codificação 110 controla o comutador 113 para estar Ligado e os comutadores 114 e 115 para estarem Desligados, o que faz com que os macroblocos na imagem B8 lidos a partir da memória de reordenação 101 sejam introduzidos na unidade de estimação de vetor de movimento 108, a unidade de seleção de modo 109 e a unidade de cálculo de diferença 102.
Utilizando os dados de imagem descodificados da imagem B7 e os dados de imagem descodificados da imagem P9 que são armazenados na memória de imagens de referência 107 com uma imagem de referência para a frente e uma imagem de referência para trás respetivamente, a unidade de predição de vetor de movimento 108 estima o vetor de movimento para a frente e o vetor de movimento para trás para o macrobloco na imagem B8. E a unidade de estimação de vetor de movimento 108 emite 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 utilizando os vetores de movimento estimados pela unidade de estimação de vetor de movimento 108.
Aqui, o caso em que o macrobloco na imagem B8 está codificado utilizando o modo direto será explicado com referência à Fig. 8D. A Fig. 8D é uma ilustração que mostra vetores de movimento em modo direto, e que mostra especificamente o caso da codificação em que um bloco a na imagem B8 está codificado em modo direto. Neste caso é utilizado um vetor de movimento c, que foi utilizado para codificar um bloco b na imagem para trás P9. A imagem de referência P9 está localizada depois da imagem B8, e o bloco b na imagem P9 está. co-localizado com o bloco a. Aqui, assume- se que o bloco b foi codificado por referência para a frente e o vetor de movimento para a frente do bloco b é o vetor de movimento c. O vetor de movimento c ê armazenado na unidade de armazenamento de vetor de movimento 116. O bloco a ê bi-predito a partir da imagem de referência para a frente B7 e da imagem de referência para trás P9 utilizando vetores de movimento gerados utilizando o vetor de movimento c. Por exemplo, se for utilizado um método de gerar vetores de movimento paralelos ao vetor de movimento c, como ê o caso da imagem B6 acima mencionada, o vetor de movimento d e o vetor de movimento e são utilizados para a imagem B7 e a imagem P9 respetivamente para codificar o bloco a.
Neste caso em que o vetor de movimento para a 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 B8e a imagem P5 à qual o bloco b na imagem de referência para trás P9 se refere é TRD, a distância temporal entre a imagem atual B8 e a imagem de referência para a frente B7 é TRF e a distância temporal entre a imagem atual B8 e a imagem de referência para trás P9 é TRB respetivamente, o vetor de movimento d MVF e o vetor de movimento e MVB são respetivamente calculados pela Equação 1 e Equação 5.
Como acima descrito, em modo direto, escalando o vetor de movimento para a frente da imagem de referência para trás, quando se seleciona o modo direto, não há necessidade de transmitir a informação de vetor de movimento e pode melhorar-se a eficiência da predição de movimento. Consequentemente, pode melhorar-se eficiência de codificação. Além disso, ao utilizar imagens de referência que estão disponíveis temporalmente mais próximas na ordem de visualização como imagem de referência para a frente e imagem de referência para trás, pode aumentar-se eficiência de codificação.
Modo direto acima mencionado é aplicável não apenas ao caso em que um intervalo de tempo entre as imagens é fixo mas também ao caso em que é variável . A unidade de seleção de modo 10 9 emite o modo de codificação determinado para a unidade de geração de fluxo de bits 104. Também, a unidade de seleção de modo 109 gera os dados de imagem preditivos com base no modo de codificação determinado e emite-os para a unidade de cálculo de diferença 102. Contudo, se se selecionar codificação intra-imagem, a unidade de seleção de modo 10 9 não emite dados de imagem preditivos. A unidade de seleção de modo 109 controla os comutadores 111 e 112 para estarem ligados a lado "a" e lado "c" respetivamente se se selecionar codificação intra-imagem, e controla os comutadores 111 e 112 para estarem ligados a lado "b" e a lado "d" se se selecionar codificação de predição de inter-imagem ou modo direto. Se o modo de codificação determinado for codificação de predição de inter-imagem, a unidade de seleção de modo 109 emite os vetores de movimento utilizados para a codificação de predição de inter-imagem para a unidade de geração de fluxo de bits 104. Uma vez que a imagem B8 não é utilizada como uma imagem de referência para codificar outras imagens, não hã necessidade de armazenar os vetores de movimento utilizados para a codificação de predição de inter-imagem na unidade de armazenamento de vetor de movimento 116. O caso será explicado abaixo em que a unidade de seleção de modo 109 seleciona a codificação de predição de inter-imagem ou modo direto. A unidade de cálculo de diferença 102 recebe os dados de imagem do macrobloco na imagem B8 lido a partir da memória de reordenação 101 e os dados de imagem preditivos emitidos 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 B8 e os dados de imagem preditivos e gera os dados de imagem de erro residual para emitir para a unidade de codificação de erro residual 103. A unidade de codificação de erro residual 103 realiza processamento de codificação como transformada de frequência e quantificação nos dados de imagem de erro residual introduzidos e gera os dados codificados para gerar para a unidade de geração de fluxo de bits 104. A unidade de geração de fluxo de bits 104 realiza codificação de comprimento variável ou semelhante nos dados codificados introduzidos, ainda adiciona informações como vetores de movimento e um modo de codificação e assim por diante aos dados e gera o fluxo de bits para emitir.
Esta é a conclusão de codificação de um macrobloco na imagem B8. De acordo com o mesmo processamento, os restantes macroblocos da imagem B8 são codificados.
De acordo com os procedimentos de codificação respetivos acima mencionados para as imagens P9, B7, B6 e B8, codificam-se outras imagens dependendo dos seus tipos de imagens e localizações temporais na ordem de visualização.
Na forma de realização acima mencionada, o método de codificação de imagens em movimento de acordo com a presente invenção foi explicado utilizando o caso em que a estrutura de predição de imagens como mostrado na Fig. 6A é utilizada como um exemplo. A Fig. 12 é uma ilustração que mostra esta estrutura de predição de imagens hierarquicamente. Na Fig. 12, 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 imagens, como mostrado na Fig. 6A, a ordem de codificação é determinada dando uma máxima prioridade às imagens que estão mais distantes das imagens previamente processadas na ordem de visualização, como mostrado na Fig. 12. Por exemplo, a imagem mais distante de uma imagem I ou de uma imagem P é a localizada no centro das imagens B consecutivas. Portanto, se a imagem P5 e P9 tiverem sido codificadas, a imagem B7 deve ser codificada a seguir. E se as imagens de P5, B7 e P9 tiverem sido codificadas, as imagens B6 e B8 devem ser codificadas a seguir.
Além disso, o método de codificação de imagens em movimento de acordo com a presente invenção pode ser utilizado para outras estruturas de predição de imagens que as mostradas na Fig. 6 e Fig. 12 de forma a produzir os efeitos da presente invenção. As Figs. 9 — 11 mostram os exemplos de outras estruturas de predição de imagens. A Fig. 9 mostra o caso em que 3 imagens B estão localizadas entre imagens I e imagens P e a imagem B mais próxima da imagem previamente processada é selecionada para codificar em primeiro lugar. A Fig. 9A é um diagrama que mostra relações de predição entre respetivas imagens dispostas por ordem de visualização, e a Fig. 9B é um diagrama que mostra a sequência de imagens reordenadas por ordem de codificação (um fluxo de bits) . A Fig. 13 é um diagrama hierárquico da estrutura de predição de imagens que corresponde à Fig. 9A. Na estrutura de predição de imagens, como mostrado na Fig. 9A, as imagens mais próximas na ordem de visualização das imagens previamente processadas são codificadas em primeiro lugar, como mostrado na Fig. 13. Por exemplo, se as imagens P5 e P9 tiverem sido codificadas, as imagens B6 e B8 devem ser codificadas a seguir. Se as imagens P5, B6, B8 e P9 tiverem sido codificadas, a imagem B7 deve ser codificada a seguir. A Fig. 10 mostra o caso em que 5 imagens B estão localizadas entre imagens I e imagens P e a imagem B e a imagem B que está mais distante da imagem previamente processada é selecionada para codificar em primeiro lugar. A Fig. 10A é um diagrama que mostra relações de predição entre respetivas imagens dispostas por ordem de visualização, e a Fig. 10B é um diagrama que mostra a sequência de imagens reordenadas por ordem de codificação (um fluxo de bits). A Fig. 14 é um diagrama hierãquico da estrutura de predição de imagens que corresponde à Fig. 10A. Na estrutura de predição de imagens, como mostrado na Fig. 10A, a ordem de codificação é determinada dando uma máxima prioridade às imagens mais distantes na ordem de visualização das imagens previamente processadas, como mostrado na Fig.14. Por exemplo, a imagem mais distante de uma imagem I ou de uma imagem P é a imagem B no centro das imagens B consecutivas. Portanto, se as imagens P7 e P13 tiverem sido codificadas, a imagem B10 deve ser codificada a seguir. Se as imagens P7, BIO e P13 tiverem sido codificadas, as imagens B8, B9, Bll e B12 devem ser codificadas a seguir. A Fig. 11 mostra o caso em que 5 imagens B estão localizadas entre imagens I e imagens P e a imagem B e a imagem B que está mais próxima da imagem previamente processada é selecionada para codificar em primeiro lugar. A Fig. 11A é um diagrama que mostra relações de predição entre respetivas imagens dispostas por ordem de visualização, e a Fig. 11B é um diagrama que mostra a sequência de imagens reordenadas por ordem de codificação (um fluxo de bits) . A Fig. 15 é um diagrama hierárquico da estrutura de predição de imagens que corresponde à Fig. 11A. Na estrutura de predição de imagens, como mostrado na Fig. 11A, as imagens mais próximas na ordem de visualização das imagens previamente processadas são codificadas em primeiro lugar, como mostrado na Fig. 15. Por exemplo, se as imagens P5 e P9 tiverem sido codificadas, as imagens B8 e B12 devem ser codificadas a seguir. Se as imagens P5, B8, B12 e P9 tiverem sido codificadas, as imagens B9 e Bll devem ser codificadas a seguir. Além disso, se as imagens P5, B8, B9, Bll, B12 e P9 tiverem sido codificadas, a imagem B10 deve ser codificada a seguir.
Como acima descrito, de acordo com o método de codificação de imagens em movimento da presente invenção, quando se realiza codificação de predição de inter-imagem numa pluralidade de imagens B localizadas entre imagens I e imagens P utilizando referência bi-preditiva, elas são codificadas noutra ordem diferente da ordem de visualização. Para o efeito, as imagens localizadas o mais próximo possível na ordem de visualização são utilizadas como imagens para a frente e para trás. Como uma imagem de referência, uma imagem B também é utilizada se estiver disponível. Quando uma pluralidade de imagens B localizadas entre imagens I e imagens P são codificadas de forma diferente da ordem de visualização, a imagem mais distante da imagem previamente processada deve ser codificada em primeiro lugar. Ou, quando uma pluralidade de imagens B localizadas entre imagens I e imagens P é codificada de forma diferente da ordem de visualização, a imagem mais próxima da imagem previamente processada deve ser codificada em primeiro lugar.
De acordo com o método de codificação de imagens em movimento da presente invenção, operação acima mencionada permite utilizar uma imagem mais próxima de uma imagem B atual na ordem de visualização como uma imagem de referência para a codificar. Aumenta-se assim eficiência de predição para compensação de movimento e aumenta-se eficiência de codificação.
Além disso, de acordo com o método de codificação cfe imagens em movimento da presente invenção, para codificar um bloco numa imagem B em modo direto com referência a uma imagem B previamente codificada como imagem de referência para trás, se o bloco co-localizado na imagem B de referência para trás tiver sido codificado por referência para a frente ou referência bi-preditiva, um vetor de movimento obtido escalando o vetor de movimento para a frente da imagem B de referência para trás é utilizado como um vetor de movimento em modo direto.
Como acima mencionado, em modo direto, escalando um vetor de movimento para a frente de uma imagem B de referência para trás, não há necessidade de transmitir informação do vetor de movimento, e pode aumentar-se eficiência de predição. Além disso, ao utilizar uma imagem de referência mais próxima temporalmente na ordem de visualização como uma imagem de referência para a frente, pede aumentar-se eficiência de codificação.
Ou, se um bloco co-localizado numa imagem B de referência para trás está codificado em modo direto, um vetor de movimento obtido escalando vetor de movimento para a frente substancialmente utilizado em modo direto é utilizado como um vetor de movimento em modo direto.
Como acima mencionado, em modo direto, escalando em vetor de movimento para a frente de uma imagem B de referência para trás que se utilizou substancialmente para a codificação em modo direto, não há necessidade de transmitir informação do vetor de movimento, e pode aimsntar-se eficiência de predição mesmo que o bloco co-localizado na imagem de referência para trás seja codificado em modo direto. Além disso, pode melhorar-se eficiência de codificação utilizando uma imagem de referência mais próxima temporalmente como uma imagem de referência para a frente.
Ou, se um bloco co-localizado numa imagem B de referência para trás é codificado por referência para trás, vetores de movimento obtidos escalando o vetor de movimento para trás do bloco são utilizados como vetores de movimento em modo direto.
Como acima mencionado, em modo direto, escalando um vetor de movimento que foi utilizado para codificar um bloco co-localizado na imagem B de referência para trás, não há necessidade de transmitir a informação de vetor de movimento, e pode aumentar-se eficiência de predição mesmo que o bloco co-localizado na imagem de referência para trás tenha apenas um vetor de movimento para trás. Além disso, utilizando uma imagem de referência mais próxima temporalmente como uma imagem de referência para a frente, pode melhorar-se eficiência de codificação.
Ou, se um bloco co-localizado numa imagem B de referência para trás é codificado por referência para trás, vetores de movimento obtidos escalando o vetor de movimento para trás utilizado para essa codificação, com referência à imagem referida por este vetor de movimento para trás e a imagem de referência para trás, são utilizados como vetores de movimento em modo direto.
Como acima mencionado, em modo direto, escalando um vetor de movimento para trás que foi utilizado para codificar um bloco co-localizado na imagem B de referência para trás, não há necessidade de transmitir informação de vetor de movimento, e pode aumentar-se eficiência de predição mesmo que o bloco co-localizado na imagem de referência para trás tenha apenas um vetor de movimento para trás. Consequentemente, pode melhorar-se eficiência de codificação. Além disso, utilizando uma imagem referida pelo vetor de movimento para trás como imagem de referência para a frente e uma imagem de referência temporalmente mais próxima disponível na ordem de visualização como uma imagem de referência para trás, pode aumentar-se eficiência de codificação.
Ou, em modo direto, um vetor de movimento que é forçado a ser configurado como " 0" é utilizado.
Ao forçar um vetor de movimento a ser configurado para "0" em modo direto, quando se seleciona o modo direto, não há necessidade de transmitir a informação de vetor de movimento, nem escalar o vetor de movimento, e, portanto, pode reduzir-se o volume de processamento.
Além disso, de acordo com o método de codificação de imagens em movimento da presente invenção, para codificar um bloco numa imagem B em modo direto com referência a uma imagem B que foi previamente codificada como uma imagem de referência para trás, um vetor de movimento, obtido escalando o vetor de movimento para a frente que Si utilizado para codificar o bloco co-localizado na última imagem P, é utilizado como um vetor de movimento em modo direto.
Como acima mencionado, em modo direto, escalando um vetor de movimento de uma imagem P posterior, se a imagem de referência para trás é uma imagem B, não hã necessidade de armazenar os vetores de movimento da imagem B e não hã necessidade de transmitir a informação de vetor de movimento, e, assim, pode aumentar-se eficiência de predição. Além disso, utilizando uma imagem de referência mais próxima temporalmente como uma imagem de referência para a frente, pode melhorar-se eficiência de codificação.
Quando se muda atribuição de índices relativos a números de imagem e um bloco co-localizado numa imagem de referência para trás foi codificado por referência para a frente, vetores de movimento obtidos escalando esse vetor de movimento para a frente são utilizados como vetores de movimento em modo direto.
Como acima mencionado, em modo direto, um vetor de movimento de uma imagem previamente codificada pode ser escalado mesmo que se mude atribuição de índices relativos a números de imagem, e não hã necessidade de transmitir informação de vetor de movimento.
Na presente forma de realização, o caso foi explicado em que compensação de movimento é feita em cada 16 (horizontal) x 16 (vertical) pixéis e dados da imagem de erro residual são codificados em cada 8 (horizontal) x 8 (vertical) pixéis ou 4 (horizontal) x 4 (vertical) pixéis, mas pode aplicar-se outro tamanho (número de pixéis incluídos).
Também, na presente forma de realização, o caso foi explicado em que 3 ou 5 imagens B consecutivas estão localizadas, mas outro número de imagens pode estar localizado.
Ainda, na presente forma de realização, o caso foi explicado em que uma de codificação intra-imagem, codificação de predição de inter-imagem utilizando vetores de movimento e codificação de predição inter-imagem sem utilizar vetores de movimento é selecionado como um modo de codificação para imagens P, e um de codificação intra-imagem, codificação de predição intra-imagem utilizando um vetor de movimento para a frente, codificação de predição de inter-imagem utilizando um vetor de movimento para trás, codificação da predição de intra-imagem utilizando uns vetores de movimento bi-preditivos e modo direto é selecionado para imagens B, mas pode utilizar-se outro modo de codificação.
Também, na presente forma de realização, sete exemplos de modo direto foram explicados, mas um método que é unicamente determinado em cada macrobloco ou bloco pode ser utilizado, ou qualquer um de uma pluralidade de métodos em cada macrobloco ou bloco pode ser selecionado. Se uma pluralidade de métodos é utilizada, informação que indica qual o tipo de modo direto foi utilizado é descrita num fluxo de bits.
Além disso, na presente forma de realização, o caso foi explicado em que uma imagem P é codificada com referência a uma imagem I ou P previamente codificada, que está localizada temporalmente antes ou depois na ordem de visualização da imagem P atual, e uma imagem B é codificada com referência a duas imagens vizinhas previamente processadas que estão localizadas antes ou depois na ordem de visualização da imagem B atual, respetivamente. Contudo, no caso de uma imagem P, a imagem P pode ser codificada com referência no máximo a uma imagem para cada bloco, entre uma pluralidade de imagens I ou P previamente codificadas como imagens de referência candidatas, e no caso de uma imagem B, a imagem B pode ser codificada com referência a, no máximo, duas imagens para cada bloco, entre uma pluralidade de imagens vizinhas previamente codificadas que estão localizadas temporaralmente antes ou depois na ordem de visualização como imagens de referência candidatas.
Além disso, ao armazenar vetores de movimento na unidade de armazenamento de vetor de movimento 116, a unidade de seleção de modo 109 pode armazenar quer vetores de movimento para a frente quer para trás ou apenas um vetor de movimento para a frente, se um bloco atual estiver codificado por referência bi-preditiva, ou em modo direto. Se armazenar apenas o vetor de movimento para a frente, pode reduzir-se o volume armazenado na unidade de armazenamento do vetor de movimento 116. (Segunda Forma de Realização) A Fig. 16 é um diagrama de blocos que mostra uma estrutura de um aparelho de descodificação de imagens em movimento utilizando um método de descodificação de imagens em movimento de acordo com uma forma de realização da presente invenção.
Como mostrado na Fig.16, o aparelho de descodificação de imagens em movimento inclui uma unidade de análise de fluxo de bits 1401, uma unidade de descodificação de erro residual 1402, uma unidade de descodificação de modo 1403, uma unidade de controlo de memória de trama 1404, uma unidade de descodificação de compensação de movimento 1405, uma unidade de armazenamento de vetor de movimento 1406, uma memória de trama 1407, uma unidade de adição 1408 e comutadores 1409 e 1410. A unidade de análise de fluxo de bits 1401 extrai vários tipos de dados como informação de modo de codificação e informação de vetor de movimento a partir do fluxo de bits introduzido. A unidade de descodificação de erro residual 1402 descodifica os dados codificados de erro residual introduzidos a partir da unidade de análise de fluxo de bits 1401 e gera dados de imagem de erro residual. A unidade de descodificação de modo 1403 controla os comutadores 1409 e 1410, com referência à informação de modo de codificação extraída a partir do fluxo de bits. A unidade de controlo de memória de trama 1404 emite os dados de imagem descodificados armazenados na memória de trama 1407, como imagens de saída com base na informação que indica a ordem de visualização das imagens introduzidas a partir da unidade de análise de fluxo de bits de 1401. A unidade de descodificação de compensação de movimento 1405 descodifica a informação dos números de imagem de referência e dos vetores de movimento, e obtém dados da imagem de compensação de movimento a partir da memória de trama 1407 com base nos números de imagem de referência descodificados e dos vetores de movimento. A unidade de armazenamento de vetor de movimento 1406 armazena vetores de movimento. A unidade de adição 1408 adiciona dados codificados de erro residual introduzidos a partir da unidade de descodificação de erro residual 1402 e dos dados da imagem de compensação de movimento introduzidos a partir da unidade de descodificação de compensação de movimento 1405 para gerar os dados de imagem descodificados. A memória de trama 1407 armazena os dados de imagem descodificados gerados. A seguir, a operação do aparelho de descodificação de imagens em movimento, como acima estruturado, será explicado. Aqui, assume-se que o fluxo de bits, gerado pelo aparelho de codificação de imagem em movimento, é introduzido no aparelho de descodificação de imagens em movimento. Especificamente, assume-se que uma imagem P se refere a uma imagem I ou P vizinha previa-mente processada, que está localizada antes ou depois da imagem P atual na ordem de visualização, e uma imagem B refere-se a duas imagens vizinhas previamente codificadas que estão localizadas antes ou depois da imagem B atual na ordem de visualização.
Neste caso, as imagens do fluxo de bits estão dispostas na ordem como mostrado na Fig. 6B. Processamento de descodificação de imagens P9, B7, B6 e B8 será explicado abaixo por esta ordem. (Descodificação de Imagem P9) O fluxo de bits da imagem P9 é introduzido na unidade de análise de fluxo de bits 1401. A unidade de análise de fluxo de bits 1401 extrai vários tipos de dados a partir do fluxo de bits introduzido. Aqui, vários tipos de dados significam informação de seleção de modo, informação de vetores de movimento e outros. A informação de seleção de modo extraída é emitida para a unidade de descodificação de modo 1403. A informação de vetor de movimento extraída é emitida para a unidade de descodificação de compensação de movimento 1405. E os dados codificados de erro residual são emitidos para a unidade de descodificação de erro residual 1402. A unidade de descodificação de modo 1403 controla os comutadores 1409 e 1410 com referência à informação de seleção de modo de codificação extraída do fluxo de bits. Se se codificação inter-imagem como um modo de codificação, a unidade de descodificação de modo 1403 controla os comutadores 1409 e 1410 para estarem ligados a lado "a" e a lado "c" respetivamente. Se se seleciona codificação preditiva inter-imagem como um modo de codificação, a unidade de descodificação de modo 1403 controla os comutadores 1409 e 1410 para estarem ligados a lado "b" e a lado "d" respetivamente. A unidade de descodificação de modo 1403 emite também a informação de seleção de modo de codificação para a unidade de descodificação de compensação de movimento 1405. 0 caso em que a codificação cte predição de inter-imagem é selecionada como um modo de codificação será explicado abaixo. A unidade de descodificação de erro residual 1402 descodifica os dados codificados de erro residual introduzidos para gerar dados de imagem de erro residual. A unidade de descodificação de erro residual 1402 emite dados de imagem de erro residual gerados para o comutador 1409. Uma vez que o comutador 1409 está ligado a lado "b", os dados da imagem de erro residual são emitidos para a unidade de adição 1408. A unidade de descodificação de compensação de movimento 1405 obtém dados de imagem de compensação de movimento a partir da memória de trama 407 com base na informação de vetor de movimento introduzida e semelhantes. A imagem P9 foi codificada com referência à imagem P5, e a imagem P5 foi já descodificada e armazenada na memória de trama 1407. Assim, a unidade de descodificaçã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ória de trama 1407, com base na informação de vetor de movimento. Os dados de imagem de compensação de movimento gerados desta maneira são emitidos para a unidade de adição 1408.
Ao descodificar imagens P, a unidade de descodificaçã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 dados de imagem de compensação de movimento para gerar dados de imagem descodificados. Os dados de imagem descodificados gerados são emitidos para a memória de trama 1407 via o comutador 1410.
Esta é a conclusão de descodificação de um macrobloco na imagem P9. De acordo com o mesmo processamento, os macroblocos restantes na imagem P9 são descodificados em sequência. E depois de todos os macroblocos na imagem P9 serem descodificados, a imagem B7 é descodificada. (Descodificação de Imagem B7)
Uma vez que as operações da unidade de análise de fluxo de bits de 1401, da unidade de descodificação de modo 1403 e da unidade de descodificação de erro residual 1402 até geração de dados de imagem de erro residual são as mesmas que as para descodificar a imagem P9, a explicação das mesmas será omitida. A unidade de descodificação de compensação de movimento 1405 gera dados da imagem de compensação de movimento com base na informação do vetor de movimento introduzida e semelhante. A imagem B7 é codificada com referência à imagem P5 como uma imagem de referência para a frente e a imagem P9 como uma imagem de referência para trás, e essas imagens P5 e P9 foram jã descodificadas e armazenadas na memória de trama 1407 .
Se se seleciona codificação de bi-predição de inter-imagem como um modo de codificação, a unidade de descodificação de compensação de movimento 1405 obtém os dados de imagem de referência para a frente da memória de trama 14 0 7 com base na informação de vetor de movimento para a frente. Também obtém os dados de imagem de referência para trás a partir da memória de trama 1407 com base na informação de vetor de movimento para trás. Então, a unidade de descodificação de compensação de movimento 1405 calcula a média dos dados de imagem de referência para a frente e para trás para gerar dados de imagem de compensação de movimento.
Quando o modo direto é selecionado como um modo de codificação, a unidade de descodificação de compensação de movimento 1405 obtém o vetor de movimento da imagem P9 armazenado na unidade de armazenamento do vetor de movimento 1406. Utilizando este vetor de movimento, a unidade de descodificação de compensação de movimento 1405 obtém os dados de imagem de referência para a frente e para trás a partir da memória de trama 1407. Depois, a unidade de descodificação de compensação de movimento 1405 calcula a média dos dados de imagem de referência para a frente e para trás para gerar dados de imagem de compensação de movimento. O caso em que o modo direto for selecionado como o modo de codificação será explicado com referência à Fig. 7A de novo. Aqui, assume-se que o bloco de uma imagem B7 deva ser descodificado e o bloco B na imagem P9 esteja co-localizado com o bloco a. O vetor de movimento do bloco b é o vetor de movimento c, que se refere à imagem P5. Neste caso, o vetor de movimento d que é obtido utilizando o vetor de movimento c e se refere à imagem P5 é utilizado como um vetor de movimento para a frente, e o vetor e movimento e que é obtido utilizando o vetor de movimento c e se refere à imagem P9 é utilizado como um vetor de movimento para trás. Por exemplo, como um método de utilizar o vetor de movimento c, existe um método de gerar vetores de movimento paralelos ao vetor de movimento c. Os dados da imagem de compensação de movimento são obtidos calculando a média dos dados de referência para a frente e para trás obtidos com base nestes vetores de movimento.
Neste caso em que o vetor de movimento para a 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 b na imagem de referência para trás P9 se refere é TRD, e a distância temporal entre a imagem atual B7 e a imagem de referência para a frente P5 é TRF, respetivamente, o
vetor de movimento d MVF e o vetor de movimento e MVB são, respetivamente, calculados pela Equação 1 e Equação 2, onde MVF e MVB representam componentes horizontais e verticais dos vetores de movimento, respetivamente. Note-se que a distância temporal entre as imagens pode ser determinada com base na informação que indica a ordem de visualização (posição) dada a respetivas imagens ou a diferença especificado pela informação.
Os dados de imagem de compensação de movimento gerados desta maneira são emitidos para a unidade de adição 1408. A unidade de descodificaçã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 gerar dados de imagem descodificados. Os dados da imagem descodificados gerados são emitidos para a memória de trama 1407 via o comutador 1410.
Esta é a conclusão de descodificação de um macrobloco na imagem B7. De acordo com o mesmo processamento, os macroblocos restantes na imagem B7 são descodificados em sequência. E depois de todos os macroblocos da imagem B7 serem descodificados, a imagem B6 é descodificada. (Descodificação de Imagem B6)
Uma vez que as operações da unidade de análise de fluxo de bits de 1401, da unidade de descodificação de modo 1403 e da unidade de descodificação de erro residual 1402 até geração de dados de imagem de erro residual são as mesmas que as para descodificar a imagem P9, a explicação das mesmas será omitida. A unidade de descodificação de compensação de movimento 1405 gera dados da imagem de compensação de movimento com base na informação de vetor de movimento introduzido e semelhante. A imagem B6 foi codificada com referência a imagem P5 como uma imagem de referência para a frente e a imagem B7 como uma imagem de referência para trás, e essas imagens P5 e P7 foram jã descodificadas e armazenadas na memória de trama 1407.
Se se seleciona codificação de bi-predição de inter-imagem como um modo de codificação, a unidade de descodificação de compensação de movimento 1405 obtém os dados de imagem de referência para a frente da memória de trama 14 0 7 com base na informação de vetor de movimento para a frente. Também obtém os dados de imagem de referência para trás a partir da memória de trama 1407 com base na informação de vetor de movimento para trás. Então, a unidade de descodificação de compensação de movimento 1405 calcula a média dos dados de imagem de referência para a frente e para trás para gerar dados de imagem de compensação de movimento.
Quando o modo direto é selecionado como um modo de codificação, a unidade de descodificação de compensação de movimento 1405 obtém o vetor de movimento da imagem B7 armazenada na unidade de armazenamento do vetor de movimento 1406. Utilizando este vetor de movimento, a unidade de descodificação de compensação de movimento 1405 obtém os dados da imagem de referência para a frente e para trás a partir da memória de trama 1407. Depois, a unidade de descodificação de compensação de movimento 1405 calcula a média dos dados de imagem de referência para a frente e para trás para gerar 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, assume-se que o bloco a numa imagem B6 deva ser descodificado e o bloco B na imagem B7 esteja co-localizado com o bloco a. 0 bloco b foi codificado por predição de inter-imagem de referência para a frente ou predição de inter-imagem de referência bi-preditiva, e o vetor de movimento do bloco b é o vetor de movimento c, que se refere à imagem P5. Neste caso, o vetor de movimento d que é obtido utilizando o vetor de movimento c e se refere à imagem P5 é utilizado como um vetor de movimento para a frente, e o vetor de movimento e que ê obtido utilizando o vetor de movimento c e se refere à imagem B7 é utilizado como um vetor de movimento para trás. Por exemplo, como um método de utilizar o vetor de movimento c, existe um método de gerar vetores de movimento paralelos ao vetor de movimento c. Os dados da imagem de compensação de movimento são obtidos calculando a média dos dados de referência para a frente e para trás obtidos com base nestes vetores de movimento d e e.
Neste caso em que o vetor de movimento para a 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 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 para a frente P5 é TRF respetivamente, o vetor de movimento d MVF e o vetor de movimento e MVB são respetivamente calculados pela Equação 1 e Equação 2. Note-se que a distância temporal entre as imagens pode ser determinada com base na informação que indica a ordem de visualização (posição) das imagens ou a diferença especificada pela informação. Ou, como os valores de TRD e TRF, podem utilizar-se os valores predeterminados para as respetivas imagens. Estes valores predeterminados podem ser descritos no fluxo de bits como 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, ê utilizado o vetor de movimento que foi utilizado para descodificar o bloco b na imagem B7. 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, assume-se que o bloco b foi codificado em modo direto e o vetor de movimento c foi substancialmente utilizado como um vetor de movimento para a frente para essa codificação. O vetor de movimento c armazenado na unidade de armazenamento do vetor de movimento 1406 pode ser utilizado, ou é calculado lendo a partir da unidade de armazenamento do vetor de movimento 1406, o vetor de movimento da imagem P9 que se utilizou para codificar o bloco B em modo direto, e depois escalar esse vetor de movimento. Note-se que ao armazenar vetores de movimento na unidade de armazenamento de vetor de movimento 1406, a unidade de descodificação de compensação de movimento 1405 precisa de armazenar apenas o vetor de movimento para a frente a partir dos dois vetores de movimento obtidos escalando para descodificar o bloco b na imagem B7 em modo direto.
Neste caso, para o bloco a, o vetor de movimento d que é gerado utilizando o vetor de movimento c e se refere à imagem P5 é utilizado como um vetor de movimento para a frente, e o vetor de movimento e que é gerado utilizando o vetor de movimento c e se refere à imagem B7 é utilizado como um vetor de movimento para trás. Por exemplo, como um método de utilizar o vetor de movimento c, existe um método de gerar vetores de movimento paralelos ao vetor de movimento c. Os dados de imagem de compensação de movimento são obtidos calculando a média dos dados de imagem de referência para a frente e para trás obtidos com base nestes vetores de movimento de e.
Neste caso, o vetor de movimento d MVF e o vetor de movimento MVB são, respetivamente, calculados pela Equação 1 e Equação 2, como ê o caso do primeiro exemplo em modo direto. A seguir, o terceiro exemplo do caso em que o modo direto ê selecionado como o modo de codificação será explicado com referência à Fig. 7C de novo .
Neste exemplo, assume-se que o bloco a numa imagem B6 deva ser descodificado e o bloco b na imagem B7 esteja co-localizado com o bloco a. O bloco b foi codificado por predição de referência para trás, e o vetor de movimento para trás do bloco b é um vetor de movimento f, que se refere à imagem P9. Neste caso, para o bloco a, o vetor de movimento g que é dbticb utilizando o vetor de movimento f e se refere à imagem P5 ê utilizado como um vetor de movimento para a frente, e o vetor de movimento h que é obtido utilizando o vetor de movimento f e se refere à imagem B7 é utilizado como um vetor de movimento para trás. Por exemplo, como um método de utilizar o vetor de movimento f, existe um método de gerar vetores de movimento paralelos ao vetor de movimento f. Os dados de imagem de compensação de movimento são obtidos calculando a média dos dados de imagem de referência para a frente e para trás obtidos com base nesses vetores de movimento g e h.
Neste caso em que o vetor de movimento para a 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 b na imagem de referência para trás B7 se refere é TRD, a distância temporal entre a imagem atual B6 e a imagem de referência para a frente P5 é TRF, e a distância temporal entre a imagem atual B6 e a imagem de referência para trás B7 é TRB respetivamente, o vetor de movimento g MVF e o vetor de movimento h MVB são respetivamente calculados pela Equação 3 e Equação 4. A seguir, 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, assume-se que o bloco a na imagem B6 deva ser descodificado e o bloco b na imagem B7 esteja co-localizado com o bloco a. O bloco b foi codificado por 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, que se refere à imagem P9. Neste caso, o vetor de movimento g que é obtido utilizando o vetor de movimento f e que se refere à imagem P9 é utilizado como um vetor de movimento para a frente, e o vetor de movimento h que é obtido utilizando o vetor de movimento f e se refere à imagem B7 ê utilizado como um vetor de movimento para trás. Por exemplo, como um método de utilizar o vetor de movimento f, existe um método de gerar vetores de movimento paralelos ao vetor de movimento f. Os dados de imagem de compensação de movimento são obtidos calculando a nédia dos dados de imagem de referência para a frente e para trás obtidos com base nesses vetores de movimento g e h.
Neste caso em que o vetor de movimento para a 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 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 P9 à qual o bloco b na imagem de referência para trás B7 se refere é TRF respetivamente, o vetor de movimento g MVF e o vetor de movimento h MVB são respetivamente calculados pela Equação 1 e Equação 2.
Além disso, 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, assume-se que um bloco a na imagem B6 deve ser descodificado em modo direto. Neste exemplo, o vetor de movimento ê configurado para zero "0", e compensação de movimento ê realizada por referência bi-preditiva utilizando a imagem P5 como uma imagem de referência para a frente e a imagem B7 como uma imagem de referência para trás. A seguir, 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, assume-se que um bloco a na imagem B6 deve ser descodificado em modo direto. Neste exemplo, é utilizado o vetor de movimento g que se utilizou para descodificar o bloco f na imagem P P9. A imagem P9 está localizada depois da 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 ê bi-predito a partir da imagem de referência para a frente P5 e a imagem de referência para trás B7 utilizando os vetores de movimento que são obtidos utilizando o vetor de movimento g. Por exemplo, se for utilizado um método de gerar vetores de movimento paralelos ao vetor de movimento g, como é o caso do primeiro exemplo acima mencionado, o vetor de movimento h e o vetor de movimento i são utilizados para a imagem P5 e a imagem B7, respetivamente, para obter os dados de imagem de compensação de movimento do bloco a.
Neste caso em que o vetor de movimento para a frente h é MVF, o vetor de movimento para trás i é MVB, o vetor de movimento g é MV, a distância temporal entre a imagem P9 localizada depois da imagem atual B6 e a imagem P5 à qual o bloco f na imagem P9 se refere é TRD, a distância temporal entre a imagem atual B6 e a imagem de referência para a frente P5 é TRF e a distância temporal entre a imagem atual B6, e a imagem de referência para trás B7 é TRB respetivamente, o vetor de movimento h MVF e o vetor de movimento i MVB são respetivamente calculados pela Equação 1 e Equação 5. A seguir, 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, assume-se que um bloco a na imagem B6 está descodificado em modo direto. Neste exemplo, a atribuição de índices relativos aos números de imagem acima mencionados é mudada (remapeada) e a imagem P9 é a imagem de referência para trás. Neste caso, é utilizado o vetor de movimento g que se utilizou para codificar o bloco f na imagem P9. A imagem P9 é a imagem de referência para trás para 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 1406. O bloco a é bi-predito a partir da imagem de referência para a frente P5 e a imagem de referência para trás P9 utilizando vetores de movimento gerados utilizando o vetor de movimento g. Por exemplo, se for utilizado um método de gerar vetores de movimento paralelos ao vetor de movimento g, como é o caso do primeiro exemplo acima mencionado, o vetor de movimento h e o vetor de movimento i são utilizados para a imagem P5 e a imagem P9, respetivamente, para obter os dados de imagem de compensação de movimento do bloco a.
Neste caso, em que o vetor de movimento para a frente h é MVF, o vetor de movimento para trás i é MVB, o vetor de movimento g é MV, a distância temporal 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 temporal entre a imagem atual B6 e a imagem de referência para a frente P5 é TRF respetivamente, o vetor de movimento h MVF e o vetor de movimento i MVB são respetivamente calculados pela Equação 1 e Equação 2.
Os dados da imagem de compensação de movimento gerados como acima são emitidos 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 gerar dados de imagem descodificados. Os dados da imagem descodificados gerados são emitidos para a memória de trama 1407 via o comutador 1410.
Esta é a conclusão de descodificação de um macrobloco na imagem B6. De acordo com o mesmo processamento, os macroblocos restantes na imagem B6 são descodificados em sequência. E depois de todos os macroblocos na imagem B6 serem descodificados, a imagem B8 é descodificada. (Descodificação de Imagem B8)
Uma vez que as operações da unidade de análise de fluxo de bits de 1401, da unidade de descodificação de modo 14 03 e da unidade de descodificação de erro residual 1402 até geração de dados de imagem de erro residual são as mesmas que as para descodificar a imagem P9, a explicação das mesmas será omitida. A unidade de descodificação de compensação de movimento 1405 gera dados da imagem de compensação de movimento com base na informação de vetor de movimento introduzida e semelhante. A imagem B8 foi codificada com referência à imagem B7 como uma imagem de referência para a frente e a imagem P9 como uma imagem de referência para trás, e essas imagens B7 e P9 foram já descodificadas e armazenadas na memória de trama 1407.
Se codificação de bi-predição de inter-imagem for selecionada como um modo de codificação, a unidade de descodificação de compensação de movimento 1405 obtém os dados de imagem de referência da imagem para a frente da memória de trama 14 07 com base na informação de vetor de movimento para a frente. Também obtém os dados de imagem de referência para trás a partir da memória de trama 1407 com base na informação de vetor de movimento para trás. Depois, a unidade de descodificação de compensação de movimento 1405 calcula a média dos dados de imagem de referência para a frente e para trás para gerar dados de imagem de compensação de movimento.
Quando modo direto é selecionado como um modo de codificação, a unidade de descodificaçã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. Utilizando este vetor de movimento, a unidade de descodificação de compensação de movimento 1405 obtém os dados da imagem de referência para a frente e para trás a partir da memória de trama 1407. Depois, a unidade de descodificação de compensação de movimento 1405 calcula a média dos dados da imagem de referência para a frente e para trás para gerar 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, assume-se que um bloco a na imagem B8 deva ser descodificado e o bloco b na imagem de P9 esteja co-localizado com o bloco a. O vetor de movimento do bloco b é o vetor de movimento c, que se refere à imagem P5. Neste caso, o vetor de movimento d que é gerado utilizando o vetor de movimento c e se refere à imagem B7 é utilizado como um vetor de movimento para a frente, e o vetor e movimento e que é gerado utilizando o vetor de movimento c e se refere à imagem P9 é utilizado como um vetor de movimento para trás. Por exemplo, como um método de utilizar o vetor de movimento c, há um método de gerar vetores de movimento paralelos ao vetor de movimento c. Os dados da imagem de compensação de movimento são obtidos calculando a média dos dados de referência para a frente e para trás obtidos com base nestes vetores de movimento de e.
Neste caso em que o vetor de movimento para a 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 B8 e a imagem P5 à qual o bloco b na imagem de referência para trás P9 se refere é TRD, a distância temporal entre a imagem atual B8 e a imagem de referência para a frente B7 é TRF e a distância temporal entre a imagem atual B8 e a imagem de referência para trás P9 é TRB respetivamente, o vetor de movimento d MVF e o vetor de movimento e MVB são respetivamente calculados pela Equação 1 e Equação 5.
Os dados de imagem de compensação de movimento gerados desta maneira são emitidos 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 gerar dados de imagem descodificados. Os dados de imagem descodificados gerados são emitidos para a memória de trama 1407 via o comutador 1410.
Esta ê a conclusão da descodificação de um macrobloco na imagem B8. De acordo com o mesmo processamento, os macroblocos restantes na imagem B8 são descodificados em sequência. As outras imagens são descodificadas dependendo dos seus tipos de imagem de acordo com os procedimentos de descodificação acima mencionados. A seguir, a unidade de controlo de memória de trama 1404 reordena os dados de imagem das imagens armazenadas na memória de trama 14 0 7 na ordem temporal, como mostrado na Fig. 6A para emitir como imagens de saída.
Como acima descrito, de acordo com o método de descodificação de imagens em movimento da presente invenção, uma imagem B que foi codificada por bi-predição de inter-imagem é descodificada utilizando imagens previamente descodificadas que estão localizadas próximas na ordem de visualização como imagens de referência para a frente e para trás.
Quando o modo direto é selecionado como um modo de codificação, dados de imagem de referência são obtidos a partir de dados de imagem previamente descodificados para obter 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 descodificada armazenada na unidade de armazenamento de vetor de movimento 1406.
De acordo com esta operação, quando uma imagem B foi codificada por bi-predição de inter-imagem utilizando imagens que estão localizadas próximas na ordem de visualização como imagens de referência para a frente e para trás, o fluxo de bits gerado como resultado de tal codificação pode ser devidamente descodificado.
Na presente forma de realização, sete exemplos do modo direto foram explicados. No entanto, um método, que é unicamente determinado para cada macrobloco ou bloco
com base no método de descodificação de um bloco co-localizado numa imagem de referência para trás, pode ser utilizado, ou uma pluralidade de diferentes métodos pode ser utilizada para cada macrobloco ou bloco trocando-os. Quando uma pluralidade de métodos é utilizada, o macrobloco ou o bloco é descodificado utilizando informação descrita num fluxo de bits, indicando qual o tipo de modo direto foi utilizado. Para esse efeito, a operação da unidade de descodificação de compensação de movimento 1405 depende da informação. Por exemplo, quando esta informação é adicionada para cada bloco de compensação de movimento, a unidade de descodificação de modo 1403 determina qual tipo de modo direto é utilizado para codificação e transmite-o para a unidade de descodificação de compensação de movimento 1405. A unidade de descodificação de compensação de movimento 1405 realiza processamento de descodificação utilizando o método de descodificação, como explicado na presente forma de realização dependendo do tipo transmitido de modo direto.
Também se explicou na presente forma de realização a estrutura de imagem, na qual três imagens B estão localizadas entre imagens I e imagens P, mas pode estar localizado qualquer outro número, quatro ou cinco, por exemplo, de imagens B.
Além disso, na presente forma de realização, a explicação foi feita pressupondo que uma imagem P é codificada com referência a uma imagem I ou P previamente codificada, que está localizada antes ou depois da imagem P atual na ordem de visualização, uma imagem B é codificada com referência a duas imagens vizinhas previamente codificadas, que estão localizadas antes ou depois da imagem B atual na ordem de visualização, e o fluxo de bits gerado, como resultado dessa codificação é descodificado. Contudo, no caso de uma imagem P, a imagem P pode ser codificada com referência a no máxirro uma imagem para cada bloco, entre uma pluralidade de imagens I ou P previamente codificadas que estão localizadas temporalmente antes ou depois na ordem de visualização como imagens de referência candidatas, e no caso de uma imagem B, a imagem B pode ser codificada com referência a, no máximo, duas imagens para cada bloco, entre uma pluralidade de imagens vizinhas previamente codificadas que estão localizadas temporalmente antes ou depois na ordem de visualização como imagens de referência candidatas.
Além disso, ao armazenar vetores de movimento na unidade de armazenamento de vetor de movimento 1406, a unidade de descodicação de compensação de movimento 1405 pode armazenar quer vetores de movimento para a frente quer para trás ou apenas armazenar o vetor de movimento para a frente, se um bloco atual estiver codificado por referência bi-preditiva, ou em modo direto. Se se armazenar apenas o vetor de movimento para a frente, pode reduzir-se o volume de memória da unidade de armazenamento de vetor de movimento 1406. (Terceira Forma de Realização)
Se um programa para realizar as estruturas do método de codificação de imagens em movimento, ou o método de descodificação de imagens em movimento, como mostrado nas formas de realização acima for gravado num meio de memória, como um disco flexível, torna-se possível realizar o processamento, como mostrado nestas formas de realização facilmente num sistema informático independente. A Fig. 17 é uma ilustração que mostra o caso em que o processamento é realizado num sistema infamátioo utilizando um disco flexível, que armazena o método de codificação de imagens em movimento, ou o método de descodificação de imagens em movimento das formas de realização acima. A Fig. 17B mostra uma vista frontal e uma vista de secção transversal de uma aparência de um disco flexível, e do próprio disco flexível, 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. 0 disco flexível FD está contido num invólucro F, e uma pluralidade de pistas Tr é formada concentricamente na superfície do disco na direção do raio a partir da periferia, e cada pista está dividida em 16 sectores Se na direção angular. Portanto, em relação ao disco flexível que armazena o programa acima mencionado, o método de codificação de imagens em movimento como o programa é gravado numa área alocada para ele no disco flexível FD. A Fig. 17C mostra a estrutura para gravar e reproduzir o programa no e do disco flexível FD. Quando o programa é gravado no disco flexível FD, o método de codificação de imagens em movimento ou o método de descodificação de imagens em movimento como um programa é escrito no disco flexível do sistema informático Cs via uma unidade de disco flexível. Quando o método de codificação de imagens em movimento é construído no sistema informático pelo programa no disco flexível, o programa é lido a partir da unidade de disco flexível e transferido para o sistema informático. A explicação acima ê feita pressupondo que um meio de gravação é um disco flexível, mas o mesmo processamento pode também ser realizado utilizando um disco ótico. Além disso, o meio de gravação não está limitado a um disco flexível e um disco ótico, mas pode utilizar-se qualquer outro meio, como um cartão de circuito integrado e uma cassete ROM capaz de gravar um programa . A seguir é a explicação das aplicações do método de codificação de imagens em movimento e do método de descodificação de imagens em movimento, como mostrado nas formas de realização acima, e do sistema que as utiliza. A Fig. 18 é um diagrama de blocos que mostra a configuração geral de um sistema de fornecimento de conteúdo exlOO para realizar serviço de distribuição de conteúdo. A área para fornecer serviço de comunicação está dividida em células de tamanho desejado, e estações base exl07~exll0 que são estações sem fio fixas são colocadas em respetivas células.
Neste sistema de fornecimento de conteúdo exlOO, dispositivos como um computador exlll, um PDA (assistente digital pessoal) exll2, uma câmara exll3, um telemóvel exll4 e um telemõvel equipado com câmara exll5 estão ligados àInternet exlOl via um fornecedor de serviço de Internet exl02, uma rede telefónica exl04 e estações base exl07~exll0.
Contudo, o sistema de fornecimento de conteúdo exl00 não está limitado à configuração, como mostrado na Fig. 18, e uma combinação de qualquer um deles pode estar ligado. Também, cada dispositivo pode estar ligado diretamente à rede telefónica exl04, não através de estações base exl07~exll0 . A câmara exll3 ê um dispositivo, como uma câmara de vídeo digital, capaz de captar imagens em movimento. O telemóvel pode ser um telemõvel de um sistema PDC (Comunicações Pessoais Digitais), um sistema CDMA (Acesso Múltiplo por Divisão de Código) , um sistema W-CDMA (Acesso Múltiplo por Divisão de Código de Banda Larga) ou um sistema GSM (Sistema Global para
Comunicações Móveis) , um PHS (Sistema de Microtelefone Portátil Pessoal) ou semelhante.
Um servidor de fluxo exl03 está ligado à câmara exll3 via a estação base exl09 e a rede telefónica exl04, que permite distribuição em direto ou semelhante utilizando a câmara exll3 com base nos dados codificados transmitidos a partir de um utilizador. Quer a câmara exll3 quer o servidor para transmitir os dados podem codificar os dados. Também, os dados de imagem em movimento captados por uma câmara exll6 podem ser transmitidos ao servidor de fluxo exl03 via o computador exlll. A câmara exll6 é um dispositivo, como uma câmara digital, capaz de captar imagens fixas e em movimento. Quer a câmara exll6 quer o computador exlll podem codificar os dados de imagem em movimento. Um LSI ex!17 incluído no computador exlll ou na câmara exll6 realmente realiza processamento de codificação. Software para codificar e descodificar imagens em movimento pode estar integrado em qualquer tipo de meio de armazenamento (como um CD-ROM, um disco flexível e um disco rígido) que é um meio de gravação que é legível pelo computador exlll ou semelhante. Além disso, um telemóvel equipado com câmara exll5 pode transmitir os dados de imagem em movimento. Estes dados de imagem em movimento são os dados codificados pelo LSI incluído no telemóvel exll5. O sistema de fornecimento de conteúdo exlOO codifica conteúdos (como um vídeo de música ao vivo) captados por utilizadores que utilizam a câmara exll3, a câmara exll6 ou semelhante, da mesma maneira que a forma de realização acima e transmite-os ao servidor de fluxo exl03, enquanto o servidor de fluxo exl03 faz distribuição de fluxo dos dados de conteúdo aos clientes, a seu pedido. Os clientes incluem o computador exlll, o PDA exll2, a câmara exll3, o telemóvel exll4 e assim por diante, capazes de descodificar os dados codificados acima mencionados. No sistema de fornecimento de conteúdo exlOO, os clientes podem assim receber e reproduzir os dados codificados, e podem ainda receber, descodificar e reproduzir os dados em tempo real, de modo a realizar difusão pessoal.
Quando cada aparelho neste sistema realiza codificação ou descodificação, pode utilizar-se o aparelho de codificação de imagens em movimento, ou o aparelho de descodificação de imagens em movimento, como mostrado na forma de realização acima mencionada.
Um telemóvel será explicado como um exemplo do dispositivo. A Fig. 19 é um diagrama que mostra o telemóvel exll5 utilizando o método de codificação de imagens em movimento e o método de descodificação de imagens em movimento explicado nas formas de realização acima. O telemóvel exll5 tem uma antena ex201 para enviar e receber ondas de rádio para e da estação base exllO, uma unidade da câmara ex203 como uma câmara CCD capaz de captar vídeo e imagens fixas, uma unidade de visualização ex202, como uma ecrã de cristais líquidos para apresentar os dados obtidos descodificando vídeo e semelhante, captados pela unidade de câmara ex203 e recebidos pela antena ex201, uma unidade de corpo incluindo um conjunto de teclas de operação ex204, uma unidade de saída de voz ex208, como um altifalante, para sair vozes, uma unidade de entrada de voz 205, como um microfone para entrar vozes, um meio de armazenamento ex207 para armazenar dados codificados ou descodificados como dados de imagens em movimento ou fixas captadas pela câmara, dados de texto e dados de imagens em movimento ou fixas de correio eletrónico recebidos, e uma unidade de ranhura ex206 para fixar o meio de armazenamento ex2 07 ao telemóvel exll5. 0 meio de armazenamento ex2 07 inclui um elemento de memória flash, um tipo de EEPROM (Memória Exclusivamente de Leitura, Programável e Apagável Eletricamente) , que é uma memória não volátil eletricamente apagável e regravável, num invólucro de plástico, como um cartão SD. O telemóvel exll5 será ainda explicado com referência a Fig. 20. No telemóvel exll5, uma unidade de controlo principal ex311 para controlo geral da unidade de visualização ex202 e da unidade de corpo incluindo teclas de operação ex204 está ligada a uma unidade de circuito de fornecimento de energia ex310, uma unidade de controlo de entrada de operação ex304, uma unidade de codificação de imagens ex312, uma unidade de interface de câmara ex303, uma unidade de controlo LCD (Ecrã de Cristais Líquidos) ex302, uma unidade de descodificação de imagens ex309, uma unidade de multiplexagem/desmultiplexagem ex308, uma unidade de gravação/reprodução ex307, uma unidade de circuito de modem ex3 06 e uma unidade de processamento de voz ex3 05 entre si via um barramento síncrono ex313.
Quando se liga uma tecla de fim de chamada ou uma tecla de alimentação por una operação de utilizador, a unidade de circuito de fornecimento de energia ex310 fornece respetivas unidades com potência a partir de um conjunto de baterias de forma a ativar o telemóvel digital equipado com câmara exllS como disponível.
No telemóvel exllS, a unidade de processamento de voz ex305 converte os sinais de voz recebidos pela unidade de entrada de voz ex2Q5 em modo de conversação em dados de voz digitais sob o controlo da unidade de controlo principal ex311 incluindo uma CPU, ROM e RAM, a unidade de circuito de modem ex306 realiza processamento de espalhamento de espetro dos dados de voz digitais, e a unidade de circuito de envio/receção ex301 realiza conversão digital-analógica e transformada de frequência dos dados, de modo a transmiti-los via a antena ex201. Também, no telemóvel exll5, depois de os dados recebidos pela antena ex201 em modo de conversação serem amplificados e realizada transformada de frequência e conversão analógico-digital, a unidade de circuito de modem ex3 06 realiza processamento de espalhamento de espetro inverso e a unidade de processamento de voz ex305 converte-os em dados de voz analógicos, para assim os fazer sair via uma unidade de saída de voz 2 08.
Além disso, ao transmitir correio eletrónico em modo de comunicação de dados, os dados de texto do correio eletrónico introduzidos operando as teclas de operação ex204 na unidade de corpo são enviados à unidade de controlo principal ex311 via a unidade de controlo de entrada de operação ex304. Na unidade de controlo principal ex311, depois de a unidade de circuito de modem ex306 realizar processamento de espalhamento de espetro dos dados de texto e da unidade de circuito de envio/receção ex301 realizar conversão digital-analógica e transformada de frequência para isso, os dados são transmitidos à estação base exllO via a antena ex201.
Quando dados da imagem são transmitidos em modo de comunicação de dados, os dados de imagens captados pela unidade de câmara ex203 são fornecidos â unidade de codificação de imagens ex312, via a unidade de interface de câmara ex303. Quando não é transmitido, também é possível apresentar os dados de imagem captados pela unidade de câmara ex203 diretamente na unidade de visualização 202, via a unidade de interface de câmara ex303 e a unidade de controlo LCD ex3 02. A unidade de codificação de imagens ex312, que inclui o aparelho de codificação de imagens em movimento, como explicado na presente invenção, comprime e codifica os dados de imagem fornecidos a partir da unidade de câmara ex2 03 pelo método de codificação utilizado para o aparelho de codificação de imagens em movimento, como mostrado na forma de realização acima de forma a transformá-los em dados de imagem codificados e enviã-los à unidade de multiplexagem/desmultiplexagem ex308. Neste momento, o telemóvel exll5 envia as vozes recebidas pela unidade de entrada de voz ex2 05 durante a captação pela unidade de câmara ex203 à unidade de multiplexagem/ desmultiplexagem ex308 como dados de voz digitais via a unidade de processamento de voz ex305. A unidade de multiplexagem/desmultiplexagem ex308 multiplexa os dados de imagem codificados fornecidos a partir da unidade de codificação de imagens ex312 e os dados de voz fornecidos a partir da unidade de processamento de voz ex305 por um método predeterminado, a unidade de circuito de modem ex306 realiza processamento de espalhamento de espetro dos dados multiplexados obtidos como resultado da multiplexagem, e a unidade de circuito de envio/receção ex301 realiza conversão digital-analógica e transformada de frequência dos dados para a transmissão via antena ex201.
Em relação a receber dados de um ficheiro de imagem em movimento que está ligado a uma página Web ou semelhante em modo de comunicação de dados, a unidade de circuito de modem ex3 06 realiza processamento de espalhamento de espetro inverso dos dados recebidos a partir da estação de base exllO via a antena ex201, e envia os dados multiplexados obtidos como resultado do processamento à unidade de muit iplexagem/multipiexagem ex308.
Para descodificar os dados multiplexados recebidos via a antena ex201, a unidade de multiplexagem/desmultiplexagem ex308 separa os dados multiplexados num fluxo de bits de dados de imagem e num fluxo de bits de dados de voz, e fornece os dados de imagem codificados à unidade de descodificação de imagens ex309 e os dados de voz à unidade de processamento de voz ex3 05 respetivamente via o barramento síncrono ex313. A seguir, a unidade de descodificação de imagens ex309, que inclui o aparelho de descodificação de imagens em movimento, como explicado na presente invenção, descodifica o fluxo de bits de dados de imagem pelo método de descodificação correspondente ao método de codificação como mostrado na forma de realização acima mencionada para gerar dados de imagem em movimento reproduzidos e fornece estes dados à unidade de visualização ex202 via a unidade de controlo LCD ex302, e assim dados de imagens em movimento incluídos num ficheiro de imagem em movimento ligado a uma página Web, por exemplo. Ao mesmo tempo, a unidade de processamento de voz ex3 05 converte os dados de voz em dados de voz analógicos e fornece estes dados à unidade de saída de voz ex208, e, assim, reproduzem dados de voz incluídos num ficheiro de imagem em movimento ligado a uma página Web, por exemplo. A presente invenção não está limitada ao sistema acima mencionado, e pelo menos quer o aparelho de codificação de imagens em movimento, quer o aparelho de descodificação de imagens em movimento na forma de realização acima mencionada podem ser incorporados num sistema de difusão digital, como mostrado na Fig. 21. Tal difusão digital terrestre ou por satélite tem sido notícia ultimamente. Mais especificamente, um fluxo de bits de informação de vídeo é transmitido a partir de uma estação de difusão ex409 ou comunicado com um satélite de difusão ex410 via ondas de rádio. Após a receção, o satélite de difusão ex410 transmite ondas de rádio para difusão, uma antena de uso doméstico ex406 com uma função de receção de difusão por satélite recebe as ondas de rádio e uma televisão (recetor) ex401 ou um descodificador (STB) ex4 07 descodifica o fluxo de bits para reprodução. 0 aparelho de descodificação de imagens em movimento, como mostrado na forma de realização acima mencionada, pode ser implementado no dispositivo de reprodução ex403 para ler e descodificar o fluxo de bits gravado num meio de armazenamento ex402 que é um meio de gravação como um CD e DVD. Neste caso, os sinais de vídeo reproduzidos são exibidos num monitor ex4 04. Também é concebido para implementar o aparelho de descodificação de imagens em movimento no descodificador ex407 ligado a um cabo ex405 para uma televisão por cabo ou à antena ex4 0 6 para difusão por satélite e/ou terrestre, para os reproduzir no monitor ex408 da televisão ex401. 0 aparelho de descodificação de imagens em movimento pode ser incorporado na televisão, não no descodificador. Ou, um carro ex412 que tem uma antena ex411 pode receber sinais do satélite ex410 ou de uma estação base exl07 para reproduzir imagens em movimento num dispositivo de visualização como um sistema de navegação automóvel ex413.
Além disso, o aparelho de codificação de imagens em movimento, como mostrado na forma de realização acima mencionada, pode codificar sinais de imagem para gravar num meio de gravação. Como um exemplo concreto, existe um gravador ex420 como um gravador de DVD, para gravar sinais de imagem num disco DVD ex421 e um gravador de disco para os gravar num disco rígido. Estes podem ser gravados num cartão SD ex422. Se o gravador ex420 incluir o aparelho de descodificação de imagens em movimento, como mostrado na forma de realização acima mencionada, os sinais de imagem gravados no disco DVD ex421 ou no cartão SD ex422 podem ser reproduzidos para visualização no monitor ex408.
Enquanto à estrutura do sistema de navegação de carro ex413, é concebível a estrutura sem a unidade de câmara ex203, a unidade de interface de câmara ex303 e a unidade de codificação de imagem ex312, fora das unidades mostradas na Fig. 20. O mesmo é válido para o computador exlll, a televisão (recetor) ex401 e outros.
Além disso, podem conceber-se três tipos de implementações para um terminal, como o telemovel exll4 acima mencionado; um terminal de emissão/receção, incluindo quer um codificador quer um descodificador, um terminal de emissão incluindo apenas um codificador, e um terminal de receção incluindo apenas um descodificador.
Como acima descrito, é possível utilizar o método de codificação de imagens em movimento, ou o método de descodificação de imagens em movimento nas formas de realização acima mencionadas em qualquer do aparelho e sistema acima mencionados, e utilizando este método, pode obter-se efeitos descritos nas formas de realização acima.
Como acima descrito, de acordo com o método de codificação de imagens em movimento da presente invenção, imagens B podem ser codificadas utilizando imagens que estão temporalmente próximas na ordem de visualização como imagens de referência. Consequentemente, melhora-se eficiência de predição para compensação de movimento e, assim, melhora-se eficiência de codificação.
Em modo direto, escalando um primeiro vetor de movimento de uma segunda imagem de referência, não hã necessidade de transmitir informação de vetor de movimento, e assim pode rrelhorar-se eficiência de predição.
Similarmente, em modo direto, escalando um primeiro vetor de movimento substancialmente utilizado para a codificação em modo direto da segunda imagem de referência, não hã necessidade de transmitir a informação de vetor de movimento, e pode melhorar-se eficiência de predição até mesmo se un bloco co-localizado na segunda imagem de referência for codificado em modo direto.
Também, em modo direto, escalando um segundo vetor de movimento que se utilizou para codificar um bloco co- localizado numa segunda imagem de referência, não há necessidade de transmitir informação de vetor de movimento, e pode melhorar-se eficiência de predição até mesmo se o bloco co-localizado na segunda imagem de referência tiver apenas um segundo vetor de movimento.
Além disso, em modo direto, ao forçar um vetor de movimento a ser configurado para "0", quando se seleciona o modo direto, não hã necessidade de transmitir informação de vetor de movimento, nem escalar o vetor de movimento, e, assim, pode reduzir-se volume de processamento.
Também, em modo direto, escalando um vetor de movimento de uma imagem P posterior, não hã necessidade de armazenar um vetor de movimento de uma segunda imagem de referência quando a segunda imagem de referência é uma imagem B. E, não hã necessidade de transmitir informação de vetor de movimento, e pode melhorar-se eficiência de predição.
Além disso, em modo direto, uma vez que um primeiro vetor de movimento é escalado se uma segunda imagem de referência tiver o primeiro vetor de movimento, e um segundo vetor de movimento é escalado 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 adicionar informação de vetor de movimento a um fluxo de bits e pode melhorar-se eficiência de predição.
Além disso, de acordo com o método de descodificação de imagens em movimento da presente invenção, pode descodificar-se devidamente um fluxo de bits, que é gerado como resultado de codificação de bi-predição de inter-imagem utilizando imagens que estão localizadas temporalmente próximas na ordem de visualização como primeira e segunda imagens de referência.
Aplicabilidade industrial
Como acima descrito, o método de codificação de imagens em movimento e o método de descodificação de imagens em movimento de acordo com a presente invenção são úteis como um método para codificar dados de imagem correspondentes a imagens que formam uma imagem em movimento para gerar um fluxo de bits, e um método para descodificar o fluxo de bits gerado, utilizando um telemóvel, um aparelho de DVD e um computador pessoal, por exemplo.
DOCUMENTOS REFERIDOS NA DESCRIÇÃO
Esta lista de documentos referidos pelo autor do presente pedido de patente foi elaborada apenas para informação do leitor. Não é parte integrante do documento de patente europeia. Não obstante o cuidado na sua elaboração, o IEP não assume qualquer responsabilidade por eventuais erros ou omissões.
Documentos de não patente citados na descrição • Information technology - Coding of audio-visual objects -Part2: Visual. ISO/IEC 14496-2, 218-219 [0003] • SATOSHI KONDO et al. Proposal for Minor Changes to Multi-Frame Buffering Syntax for Improving Coding Efficiency of B-pictures. JVT of ISO/IEC MPEG & ITU-T VCEG, JVT-B057, 09 January 2002 [0009]
Claims (2)
- REIVINDICAÇÕES1. Um método de codificação para codificar um bloco atual a ser codificado, em que o bloco atual é compensado em movimento utilizando duas imagens de referência que compreendem uma imagem de referência para a frente e uma imagem de referência para trás, e dois vetores de movimento correspondentes às duas imagens de referência, o dito método de codificação compreendendo: especificar, como uma imagem de referência para trás para o bloco atual, uma imagem de referência que está localizada imediatamente depois da imagem atual na ordem de visualização; especificar, como um bloco co-localizado, um bloco compensado em movimento incluído na imagem de referência para trás especificada e localizado identicamente ao bloco atual; derivar um vetor de movimento do bloco co-localizado; especificar, como uma imagem de referência para a frente para o bloco atual, uma imagem de referência correspondente ao um vetor de movimento derivado do bloco co-localizado; gerar um vetor de movimento para a frente e um vetor de movimento para trás para o bloco atual escalando o um vetor de movimento derivado do bloco co-localizado com base numa diferença entre informação de ordem de visualização da imagem de referência para trás, informação de ordem de visualização da imagem de referência para trás e informação de ordem de visualização da imagem atual; e realizar compensação de movimento no bloco atual referindo-se à imagem de referência para a frente e à imagem de referência para trás, em que a imagem de referência para a frente corresponde ao vetor de movimento para a frente gerado e a imagem de referência para trás corresponde ao vetor de movimento para trás gerado, caracterizado pelo facto de (a) num caso em que a imagem que inclui o bloco co-localizado seja uma imagem B e o bloco co-localizado seja compensado em movimento utilizando apenas um vetor de movimento para a frente, derivar, como o um vetor de movimento do bloco co-localizado, o único um vetor de movimento para a frente, (b) num caso em que a imagem que inclui o bloco co-localizado seja uma imagem B e o bloco co-localizado seja compensado em movimento utilizando dois vetores de movimento que compreendem um vetor de movimento para a frente e um vetor de movimento para trás, derivar, como o um vetor de movimento do bloco co-localizado, o um vetor de movimento para a frente dos dois vetores de movimento, e c) num caso em que a imagem que inclui o bloco co-localizado seja uma imagem B e o bloco co-localizado seja compensado em movimento em modo direto utilizando dois vetores de movimento que são gerados utilizando um vetor de movimento de uma imagem já codificada sem ser a imagem que inclui o bloco co-localizado, derivar, como o um vetor de movimento do bloco co-localizado, o um vetor de movimento para a frente dos dois vetores de movimento utilizados em compensação de movimento do bloco co-localizado .
- 2. Um aparelho de codificação que codifica um bloco atual numa imagem atual a ser codificada, em que o bloco atual é compensado em movimento utilizando duas imagens de referência que compreendem uma imagem de referência para a frente e uma imagem de referência para trás, e dois vetores de movimento correspondentes às duas imagens de referência, o dito aparelho de codificação compreendendo: uma unidade de especificação de imagem de referência para trás para especificar, como uma imagem de referência para trás para o bloco atual, uma imagem de referência que está localizada imediatamente depois da imagem atual na ordem de visualização; uma unidade de especificação co-localizada para especificar, como um bloco co-localizado, um bloco compensado em movimento incluído na imagem de referência para trás especificada e localizado identicamente ao bloco atual, uma unidade de derivação para derivar um vetor de movimento do bloco co-localizado; uma unidade de especificação de imagem de referência para trás para especificar, como uma imagem de referência para a frente para o bloco atual, uma imagem de referência correspondente ao um vetor de movimento derivado do bloco co-localizado; uma unidade de geração para gerar um vetor de movimento para a frente e um vetor de movimento para trás para o bloco atual escalando o um vetor de movimento derivado do bloco co-localizado com base numa diferença entre informação de ordem de visualização da imagem de referência para trás, informação de ordem de visualização da imagem de referência para trás e informação de ordem de visualização da imagem atual; e uma unidade de realização para realizar compensação de movimento no bloco atual referindo-se à imagem de referência para a frente e à imagem de referência para trás, em que a imagem de referência para a frente corresponde ao vetor de movimento para a frente gerado e a imagem de referência para trás corresponde ao vetor de movimento para trás gerado, caracterizado pelo facto de (a) num caso em que a imagem que inclui o bloco co- localizado seja uma imagem B e o bloco co-localizado seja compensado em movimento utilizando apenas um vetor de movimento para a frente, derivar, como o um vetor de movimento do bloco co-localizado, o único um vetor de movimento para a frente, (b) num caso em que a imagem que inclui o bloco co-localizado seja uma imagem B e o bloco co-localizado seja compensado em movimento utilizando dois vetores de movimento que compreendem um vetor de movimento para a frente e um vetor de movimento para trás, derivar, como o um vetor de movimento do bloco co-localizado, o um vetor de movimento para a frente dos dois vetores de movimento, e (c) num caso em que a imagem que inclui o bloco co-localizado seja uma imagem B e o bloco co-localizado seja compensado em movimento em modo direto utilizando dois vetores de movimento que são gerados utilizando um vetor de movimento de uma imagem jã codificada sem ser a imagem que inclui o bloco co-localizado, derivar, como o um vetor de movimento do bloco co-localizado, o um vetor de movimento para a frente dos dois vetores de movimento utilizados em compensação de movimento do bloco co-localizado .
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002056919 | 2002-03-04 | ||
JP2002118598 | 2002-04-19 | ||
JP2002193027 | 2002-07-02 |
Publications (1)
Publication Number | Publication Date |
---|---|
PT3054679T true PT3054679T (pt) | 2017-09-28 |
Family
ID=27792038
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PT101827756T PT2271107E (pt) | 2002-03-04 | 2003-02-26 | Método de codificação de imagens em movimento e método de descodificação de imagens em movimento |
PT101827897T PT2271109E (pt) | 2002-03-04 | 2003-02-26 | Método de codificação de imagens em movimento e método de descodificação de imagens em movimento |
PT101827830T PT2271108T (pt) | 2002-03-04 | 2003-02-26 | Método de codificação de imagens em movimento e método de descodificação de imagens em movimento |
PT161563580T PT3054679T (pt) | 2002-03-04 | 2003-02-26 | Método de codificação de imagens em movimento e método de descodificação de imagens em movimento |
PT161563440T PT3051814T (pt) | 2002-03-04 | 2003-02-26 | Método de codificação de imagem em movimento e método de descodificação de imagem em movimento |
PT3707082T PT1406450E (pt) | 2002-03-04 | 2003-02-26 | Método de codificação de imagens em movimento e método de descodificação de imagens em movimento |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PT101827756T PT2271107E (pt) | 2002-03-04 | 2003-02-26 | Método de codificação de imagens em movimento e método de descodificação de imagens em movimento |
PT101827897T PT2271109E (pt) | 2002-03-04 | 2003-02-26 | Método de codificação de imagens em movimento e método de descodificação de imagens em movimento |
PT101827830T PT2271108T (pt) | 2002-03-04 | 2003-02-26 | Método de codificação de imagens em movimento e método de descodificação de imagens em movimento |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PT161563440T PT3051814T (pt) | 2002-03-04 | 2003-02-26 | Método de codificação de imagem em movimento e método de descodificação de imagem em movimento |
PT3707082T PT1406450E (pt) | 2002-03-04 | 2003-02-26 | Método de codificação de imagens em movimento e método de descodificação de imagens em movimento |
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 |
---|---|---|
PT3054679T (pt) | Método de codificação de imagens em movimento e método de descodificação de imagens em movimento | |
PT2293581T (pt) | Método de descodificação de vetor em movimento | |
TWI331877B (en) | Picture coding method and picture coding device | |
TWI280781B (en) | Moving picture coding method and moving picture decoding method | |
TWI317107B (en) | Filtering strength determination method , moving picture coding method and moving picture decoding method | |
PT2296382E (pt) | Método de codificação de imagem | |
TW200306749A (en) | Motion vector coding method and motion vector decoding method | |
WO2004077348A2 (en) | Moving picture coding method, moving picture decoding method and program | |
AU2003275672B2 (en) | Moving Picture Coding Method and Moving Picture Decoding Method | |
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 | |
TW200307467A (en) | Motion vector derivation method | |
CN101431679B (zh) | 图像编码方法及图像编码装置 | |
JP2006187039A (ja) | 動画像符号化方法および動画像復号化方法 |