[go: up one dir, main page]

PT2273793E - Método de descodificação de vetor de movimento - Google Patents

Método de descodificação de vetor de movimento Download PDF

Info

Publication number
PT2273793E
PT2273793E PT10187156T PT10187156T PT2273793E PT 2273793 E PT2273793 E PT 2273793E PT 10187156 T PT10187156 T PT 10187156T PT 10187156 T PT10187156 T PT 10187156T PT 2273793 E PT2273793 E PT 2273793E
Authority
PT
Portugal
Prior art keywords
motion vector
block
image
motion
unit
Prior art date
Application number
PT10187156T
Other languages
English (en)
Inventor
Satoshi Kondo
Shinya Kadono
Kiyofumi Abe
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27348065&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=PT2273793(E) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Panasonic Corp filed Critical Panasonic Corp
Publication of PT2273793E publication Critical patent/PT2273793E/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/02Detecting, measuring or recording for evaluating the cardiovascular system, e.g. pulse, heart rate, blood pressure or blood flow
    • A61B5/021Measuring pressure in heart or blood vessels
    • A61B5/022Measuring pressure in heart or blood vessels by applying pressure to close blood vessels, e.g. against the skin; Ophthalmodynamometers
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/02Detecting, measuring or recording for evaluating the cardiovascular system, e.g. pulse, heart rate, blood pressure or blood flow
    • A61B5/026Measuring blood flow
    • A61B5/0261Measuring blood flow using optical means, e.g. infrared light
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7203Signal processing specially adapted for physiological signals or for diagnostic purposes for noise prevention, reduction or removal
    • A61B5/7207Signal processing specially adapted for physiological signals or for diagnostic purposes for noise prevention, reduction or removal of noise induced by motion artifacts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/533Motion estimation using multistep search, e.g. 2D-log search or one-at-a-time search [OTS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Cardiology (AREA)
  • Physics & Mathematics (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Pathology (AREA)
  • Biomedical Technology (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Medical Informatics (AREA)
  • Physiology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • General Health & Medical Sciences (AREA)
  • Vascular Medicine (AREA)
  • Psychiatry (AREA)
  • Hematology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Ophthalmology & Optometry (AREA)
  • Artificial Intelligence (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Error Detection And Correction (AREA)
  • Color Television Systems (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

DESCRIÇÃO "MÉTODO DE DESCODIFICAÇÃO DE VETOR DE MOVIMENTO"
Descrição Área Técnica
Esta invenção diz respeito a um método de codificação de um vetor de movimento e um método de descodificação de vetor de movimento utilizados na codificação de predição entre imagens. Técnica Anterior
Na era da multimédia que lida totalmente com o áudio, vídeo e outra informação, os meios de informação existentes, isto é, jornais, revistas, televisões, rádios, telefones e outros meios através dos quais a informação é transmitida às pessoas, foram recentemente incluídos no âmbito da multimédia. Regra geral, multimédia refere-se a algo que é representado através da associação não apenas de caracteres, mas também de gráficos, vozes e em especial de imagens e outros idênticos combinados, mas para incluir os meios de informação existentes anteriormente mencionados no âmbito da multimédia, parece ser um pré-requisito representar essa informação em forma digital.
Contudo, ao calcularmos a quantidade de informação contida em cada um dos meios de informação anteriormente mencionados como a quantidade de informação digital, -2- enquanto a quantidade de informação por caracter é de 1-2 bytes, a quantidade de informação necessária para voz é de 64 Kbits ou mais por segundo (qualidade telefónica), e de 100 Mbits ou mais por segundo para imagens em movimento (actual qualidade de recepção da televisão), e não é realista que os meios de informação anteriormente mencionados tratem uma quantidade de informação tão grande tal como sucede na forma digital. Por exemplo, apesar de os videofones serem já utilizados através da Rede Digital de Serviços Integrados (RDIS) que oferece uma velocidade de transmissão de 64 Kbps/s-1,5 Mbps/s, não é viável transmitir filmagens de vídeos por câmaras de televisão directamente através da RDIS.
Contra este contratempo, as técnicas de compressão de informação tornaram-se necessárias, e as técnicas de compressão de imagens em movimento conformes com as normas H.261 e H.263 internacionalmente normalizadas pelo ITU-T (Sector de Normalização das Telecomunicações da União Internacional das Telecomunicações) são empregues por exemplo para videofones (Ver, por exemplo, Tecnologia de informação, Codificação de objectos audiovisuais, Parte 2: vídeo (ISO/IEC 14496-2), p.146-148, 1999, 12. 1). Além disso, de acordo com técnicas de compressão de informação conformes com a norma MPEG-1, é possível armazenar informação de imagens num simples CD de música (disco compacto) juntamente com informação de som.
Aqui, o MPEG (Grupo de Especialistas em Imagens com Movimento) é uma norma internacional sobre a compressão de sinais de imagens em movimento, e o MPEG-1 é uma norma para a compressão de informação de sinais de televisão aproximadamente em um centésimo para que os sinais de -3- imagens em movimento possam ser transmitidos a uma velocidade de 1,5 Mbps. Ainda, visto que a velocidade de transmissão no âmbito da norma MPEG-1 está limitada essencialmente a cerca de 1,5 Mbps, a MPEG-2, normalizada com vista a satisfazer os requisitos para uma qualidade de imagem melhorada, permite a transmissão de dados dos sinais de imagens em movimento a uma velocidade de 2~15 Mbps. Ademais, a MPEG-4 que atinge uma taxa de compressão superior do que a da MPEG- 1 e MPEG- 2, permite a codificação, descodificação e funcionamento numa unidade objecto, e realiza uma nova função necessária para a era multimédia, foi normalizada pelo grupo de trabalho (ISO/IEC JTC1/SC29/WG11) envolvido na normalização da MPEG-1 e MPEG-2. A MPEG-4 teve inicialmente como objectivo a normalização de um método de codificação para um débito binário reduzido, mas agora estende-se à normalização de um método de codificação mais versátil para imagens em movimento que incluem ainda imagens entrelaçadas e elevados débitos binários.
Na codificação de imagens em movimento anteriormente mencionada, a quantidade de informação é comprimida através da exploração de redundâncias nas direcções espaciais e temporais. Aqui, a codificação de predição entre imagens é utilizada como um método de utilização de redundâncias temporais. Na codificação de predição entre imagens, uma imagem é codificada utilizando uma imagem que está temporariamente adiantada ou atrasada como uma imagem de referência. 0 movimento (um vetor de movimento) da imagem actual a ser codificada da imagem de referência é estimado, e a diferença entre a imagem obtida pela compensação de movimento e a imagem actual é -4- calculada. Depois, as redundâncias espaciais são eliminadas desta diferença, de modo a comprimir a quantidade de informação da imagem em movimento. 0 documento "H.26L Test Model Long Term Number 6 (TML-6) draftO" (Telecommunications Standardization Sector of ITU, Geneva, CH, VCEG-L45d0.doc, 3 March 2001) é uma descrição de um método de codificação de referência para ser utilizado para o desenvolvimento de um novo método de compressão, recomendação H.26L do ITU-T. A configuração base do algoritmo é idêntica à H.263. Algumas das diferenças da H.263 são: • É utilizado apenas um VLC para codificação de símbolos. • É utilizado 1/4 das posições de pixéis para a predição de movimento. • É utilizado um número de blocos de diferentes tamanhos para a predição de movimento. • A codificação residual é baseada em blocos de 4x4 e é utilizada uma transformação de inteiros. •Podem ser utilizadas várias tramas de referência para predição e isto é considerado para substituir quaisquer tramas B em utilização.
Num método de codificação de imagens em movimento de acordo com MPEG-1, MPEG-2, MPEG-4, H.263, H.26L ou idêntico, uma imagem que não é codificada com predição entre imagens, nomeadamente aquela que é codificada intra-imagens, é designada uma imagem I. Aqui, uma imagem significa uma única unidade de codificação incluindo ambos uma imagem e um campo. Também, uma imagem que é codificada com predição entre imagens com referência a uma imagem é designada uma imagem P, e uma imagem que é codificada com -5- predição entre imagens com referência a duas imagens previamente processadas é designada uma imagem B. A Fig.l é um diagrama que ilustra uma relação preditiva entre imagens no método de codificação de imagens em movimento em cima mencionado.
Na Fig.l, a linha vertical indica uma imagem, com um tipo de imagem (I, P ou B) indicado à sua direita em baixo. A Fig.l indica também que uma imagem indicada por uma seta é codificada com predição entre imagens utilizando uma imagem localizada na outra extremidade da ponta da seta como uma imagem de referência. Por exemplo, uma imagem B, a segunda a contar da esquerda, é codificada utilizando a primeira imagem I e a quarta imagem P como imagens de referência.
No método de codificação de imagens em movimento de acordo com MPEG-4, H.26L ou idênticas, um modo de codificação designado modo directo pode ser seleccionado para a codificação de uma imagem B.
Um método de codificação de predição entre imagens em modo directo será esclarecido com referência à Fig.2. A Fig.2 é uma ilustração para a explicação do método de codificação de predição entre imagens no modo directo.
Pressupõe-se que um bloco C numa imagem B3 é codificado no modo directo. Neste caso, um vetor de movimento MVp de um bloco X numa imagem de referência (neste caso, uma imagem P4 que é uma imagem de referência atrasada) codificado imediatamente antes de a imagem B3 ser explorada, em que o bloco X é co-localizado com o bloco C. 0 vetor de movimento MVp é um vetor de movimento que foi utilizado quando o bloco X foi codificado, e refere-se a -6- uma imagem PI. 0 bloco C é previsto bidireccionalmente a partir das imagens de referência, ou seja, a imagem PI e a imagem P4, utilizando vetores de movimento paralelos ao vetor de movimento MVp. Os vetores de movimento utilizados para codificar o bloco C são, neste caso, um vetor de movimento MVFc para a imagem PI e um vetor de movimento MVBc para a imagem P4.
No método de codificação de imagens de movimento de acordo com MPEG-4, H.26L ou idêntico, uma diferença entre um valor preditivo obtido a partir dos vetores de movimento dos blocos contíguos e um vetor de movimento de um bloco corrente a ser codificado é codificada para a codificação de vetor de movimento. Na descrição que se segue, um "valor preditivo" indica um valor preditivo de um vetor de movimento. Visto que os vetores de movimento dos blocos contíguos possuem, em muitos casos, direcção e movimento idênticos, a quantidade de codificação de vetor de movimento pode ver reduzida através da codificação da diferença a partir do valor preditivo obtido dos vetores de movimento dos blocos contíguos.
Aqui, um método de codificação de vetor de movimento em MPEG-4 será esclarecido com referência à Fig.3. A Fig. 3 é uma ilustração para explicação de um método para a codificação de um vetor de movimento MV de um bloco corrente A para ser codificado em MPEG-4.
Nas Figs.3a-3D, os blocos indicados por uma linha cheia são macroblocos de 16 x 16 pixéis, e existem quatro blocos de 8 x 8 pixéis em cada macrobloco. Aqui, pressupõe-se que um vetor de movimento é obtido a um nível de um bloco de 8 x 8 pixéis. -7 -
Tal como ilustrado na Fig.3A, no que diz respeito a um bloco corrente A localizado na parte superior esquerda num macrobloco, uma diferença entre um valor preditivo e um vetor de movimento MV do bloco corrente A é codificada, sendo que o valor preditivo é calculado a partir de vetor de movimento MVb de um bloco contíguo B à esquerda do bloco corrente A, um vetor de movimento MVc de um bloco contíguo C mesmo por cima do bloco corrente A e um vetor de movimento MVd de um bloco contíguo D por cima e à direita do bloco corrente A.
Do mesmo modo, tal como ilustrado na Fig.3B, no que diz respeito a um bloco corrente A localizado na parte superior direita num macrobloco, uma diferença entre um valor preditivo e um vetor de movimento MV do bloco corrente A é codificada, sendo que o valor preditivo é calculado de um vetor de movimento MVb de um bloco contíguo B para a esquerda do bloco corrente A, um vetor de movimento MVc de um bloco contíguo C mesmo por cima do bloco corrente A e um vetor de movimento MVd de um bloco contíguo D por cima e à direita do bloco corrente A.
Tal como ilustrado na Fig.3C, no que diz respeito a um bloco corrente A localizado em baixo à esquerda num macrobloco, uma diferença entre um valor preditivo e um vetor de movimento MV do bloco corrente A é codificada, sendo que o valor preditivo é calculado a partir de um vetor de movimento MVb de um bloco contíguo B para a esquerda do bloco corrente A, um vetor de movimento MVc de um bloco contíguo C mesmo por cima do bloco corrente A e um vetor de movimento MVd de um bloco corrente D por cima e à direita do bloco corrente A. -8-
Tal como ilustrado na Fig.3D, no que diz respeito ao bloco corrente A localizado em baixo à direita num macrobloco, uma diferença entre um valor preditivo e um vetor de movimento MV do bloco corrente A é codificada, sendo que o valor preditivo é calculado a partir de um vetor de movimento MVb de um bloco contíguo B à esquerda do bloco corrente A, um vetor de movimento MVc de um bloco contíguo C por cima e à esquerda do bloco corrente A e um vetor de movimento MVd de um bloco contíguo D mesmo por cima do bloco corrente A. Aqui, um valor preditivo é calculado utilizando as medianas obtidas a partir dos elementos horizontais e verticais destes três vetores de movimento MVb, MVc e MVd, respectivamente. A seguir, um método de codificação de vetor de movimento em H.26L, desenvolvido para normalização, será esclarecido com referência à Fig.4. A Fig.4 é uma ilustração para o esclarecimento de um método para codificação de um vetor de movimento MV de um bloco corrente A em H.26L.
Um bloco corrente A é um bloco de 4 x 4 pixéis, de 8x8 pixéis ou de 16 x 16 pixéis, e um vetor de movimento deste bloco corrente A é codificado utilizando um vetor de movimento de um bloco contíguo B incluindo um pixel b localizado à esquerda do bloco corrente A, um vetor de movimento de um bloco contíguo C incluindo um pixel c mesmo por cima do bloco corrente A e um vetor de movimento de um bloco contíguo D incluindo um pixel d localizado por cima à direita do bloco corrente A. De salientar que as dimensões dos blocos contíguos B, C e D não se limitam às ilustradas na Fig.4 por linhas tracejadas. -9- A Fig.5 é um fluxograma que ilustra o procedimento de codificação do vetor de movimento MV do bloco corrente A utilizando os vetores de movimento dos blocos contíguos tal como anteriormente mencionados.
Primeiro, o bloco contíguo que se refere à imagem, à qual o bloco corrente A se refere, encontra-se especificamente fora dos blocos contíguos B, C e D (Passo S502), e o número de blocos contíguos específicos é determinado (Passo S504).
Quando o número dos blocos contíguos determinado no Passo S504 é 1, o vetor de movimento desse bloco contíguo que se refere à mesma imagem é considerado um valor preditivo de vetor de movimento MV do bloco corrente A (Passo S506) .
Quando o número de blocos contíguos determinado no Passo S505 é outro valor diferente de 1, o vetor de movimento do bloco contíguo que se refere a outra imagem diferente da imagem à qual o bloco corrente A se refere, fora dos blocos contíguos B, C e D, é considerado zero (Passo S507). E a mediana dos vetores de movimento dos blocos contíguos B, C e D é considerada um valor preditivo de vetor de movimento do bloco corrente A (Passo S508) .
Utilizando o valor preditivo obtido deste modo no Passo S506 ou Passo S508, a diferença entre o valor preditivo e o vetor de movimento MV do bloco corrente A é calculada e a diferença é codificada (Passo S510).
Tal como descrito em cima, nos métodos de codificação de vetor de movimento em conformidade com MPEG-4 e H.26L, os vetores de movimento dos blocos contíguos são explorados quando ocorre a codificação de um vetor de movimento de um bloco corrente a ser codificado. - 10-
Contudo, existem casos em que os vetores de movimento dos blocos contíguos não estão codificados. Por exemplo, existem casos em que o bloco contíguo é codificado intra-imagens, uma imagem B é codificada em modo directo, e uma imagem P é codificada em modo ignorar. Nestes casos, os blocos contíguos são codificados utilizando os vetores de movimento de outros blocos, excepto quando são codificados intra-imagens, designadamente os blocos contíguos são codificados utilizando os seus próprios vetores de movimento com base no resultado na estimativa do movimento.
Por isso, de acordo com o método de codificação de vetor de movimento tradicional mencionado em cima, um vetor de movimento de um bloco corrente é codificado do seguinte modo: Quando existe um bloco contíguo, de três blocos contíguos, sem vetor de movimento com base no resultado anterior da estimativa de movimento e tenha sido codificado utilizando vetores de movimento de outros blocos, o vetor de movimento desse bloco contíguo é considerado zero. Quando existem dois desses blocos contíguos, o vetor de movimento do bloco contíguo restante é utilizado como um valor preditivo. E quando existem três blocos contíguos, o vetor de movimento é codificado tendo em consideração um valor preditivo zero.
Contudo, no modo directo ou modo ignorar, a compensação de movimento é na realidade efectuada tal como no caso em que um vetor de movimento de um próprio bloco contíguo é utilizado com base no resultado estimado, apesar de que a informação de vetor de movimento não é codificada. Como resultado, no método tradicional anterior, caso um bloco contíguo seja codificado no modo directo ou no modo ignorar, o vetor de movimento do bloco contíguo não é - 11 - utilizado como candidato para um valor preditivo. Por isso, existe um problema em originar um valor preditivo incorrecto de um vetor de movimento ao codificar o vetor de movimento, e, desse modo, originar uma eficácia de codificação inferior.
Esta invenção é concebida para solucionar este problema, e o seu objecto é fornecer um método de codificação de vetor de movimento e um método de descodificação de vetor de movimento para obter um valor preditivo mais exacto para uma eficácia de codificação mais elevada.
Divulgação da Invenção
Para obter o objecto anterior, o método de codificação de vetor de movimento de acordo com esta invenção é um método de codificação de vetor de movimento para a codificação de um vetor de movimento de um bloco corrente numa imagem em movimento, compreendendo: um passo de especificação do bloco contíguo para a especificação de um bloco contíguo que se encontra localizado próximo do bloco corrente e já foi codificado; um passo de decisão para decidir se o bloco contíguo foi ou não codificado utilizando um vetor de movimento de outro bloco; um passo de predição da obtenção de um vetor de movimento preditivo do bloco corrente utilizando um vetor de movimento calculado a partir de vetor de movimento do referido outro bloco como um vetor de movimento do bloco contíguo, quando é considerado no passo de decisão que o bloco contíguo foi codificado utilizando o vetor de movimento do dito outro bloco; e um passo de codificação da codificação de vetor de - 12- movimento do bloco corrente utilizando o vetor de movimento preditivo.
Em resultado, quando um vetor de movimento de um bloco corrente é codificado utilizando um vetor de movimento preditivo obtido a partir de vetores de movimento de blocos contíguos, se qualquer um dos blocos contíguos foi codificado utilizando vetores de movimento de outros blocos, o vetor de movimento do bloco contíguo não é considerado zero, mas sim o vetor de movimento calculado dos vetores de movimento de outros blocos. Desse modo, pode ser obtido um vetor de movimento preditivo mais exacto, e, logo, a eficácia de codificação de vetor de movimento pode ser melhorada.
Também, o método de descodificação de vetor de movimento de acordo com esta invenção é um método de descodificação de vetor de movimento para descodificar um vetor de movimento codificado de um bloco corrente numa imagem em movimento, compreendendo: um passo de especificação do bloco contíguo para a especificação de um bloco contíguo que se encontra localizado próximo do bloco corrente e já foi descodificado; um passo de decisão para decidir se o bloco contíguo foi ou não codificado utilizando um vetor de movimento de outro bloco; um passo de predição da obtenção de um vetor de movimento preditivo do bloco corrente utilizando um vetor de movimento calculado a partir de vetor de movimento do referido outro bloco como um vetor de movimento do bloco contíguo, quando é considerado no passo de decisão que o bloco contíguo foi codificado utilizando um vetor de movimento do dito outro bloco; e um passo de descodificação da descodificação de - 13- vetor de movimento codificado do bloco corrente utilizando o vetor de movimento preditivo.
Em resultado, o vetor de movimento que foi codificado de acordo com o método de codificação de vetor de movimento desta invenção pode ser descodificado de modo adequado, e, logo, o seu valor real é elevado.
De salientar que esta invenção pode também ser realizada como um aparelho e um programa de codificação de imagens em movimento utilizando o método de codificação de vetor de movimento anteriormente mencionado, e um suporte de armazenamento que armazene o programa, e um aparelho e programa de descodificação de imagens em movimento utilizando o método de descodificação de vetor de movimento anteriormente mencionado, e um suporte de armazenamento que armazene o programa.
Breve Descrição dos Desenhos A Fig.l é um diagrama que ilustra uma relação preditiva entre imagens num método de codificação de imagens em movimento. A Fig.2 é uma ilustração para o esclarecimento do método de predição inter-imagens no modo directo. A Fig.3 é uma ilustração para o esclarecimento de um método para a codificação de um vetor de movimento de um bloco corrente em MPEG-4. A Fig.4 é uma ilustração para o esclarecimento de um método para a codificação de um vetor de movimento de um bloco corrente em H.26L. A Fig.5 é um fluxograma que ilustra o procedimento de codificação em H26L. - 14- A Fig.6 é um diagrama de blocos que ilustra uma estrutura de um aparelho de codificação de imagens em movimento num primeiro modelo desta invenção. A Fig.7 é um diagrama que ilustra o modo como as imagens, numa memória de imagem, são introduzidas ou extraídas no primeiro modelo. A Fig.8 é um fluxograma que ilustra uma operação de uma unidade de codificação de vetor de movimento no primeiro modelo. A Fig.9 é uma ilustração para esclarecimento de como codificar um bloco contíguo no modo ignorar no primeiro modelo. A Fig.10 é uma ilustração para esclarecimento da codificação de predição de inter-imagens utilizando vetores de movimento bidireccionais no primeiro modelo. A Fig.ll é uma ilustração para o esclarecimento de como codificar um bloco contíguo em modo directo temporal no primeiro modelo. A Fig.12 é uma ilustração para o esclarecimento de como codificar um bloco contíguo em modo directo espacial no primeiro modelo. A Fig.13 é um fluxograma que ilustra outra operação da unidade de codificação de vetor de movimento no primeiro modelo. A Fig.14 é um diagrama de blocos que ilustra uma estrutura de um aparelho de descodificação de uma imagem em movimento num segundo modelo desta invenção. A Fig.15 é um fluxograma que ilustra uma operação de uma unidade de descodificação de um vetor de movimento no segundo modelo. - 15- A Fig.16 é uma ilustração para o esclarecimento de como as imagens entram e saem do aparelho de descodificação da imagem em movimento no segundo modelo. A Fig.17 é um fluxograma que ilustra outra operação da unidade de descodificação de vetor de movimento no segundo modelo. A Fig.18 é uma ilustração de um suporte de gravação num terceiro modelo desta invenção. A Fig.19 é um diagrama de blocos que ilustra uma configuração global de um sistema de conteúdos num quarto modelo desta invenção. A Fig.20 é uma vista de frente de um telemóvel no quarto modelo. A Fig.21 é um diagrama de blocos do telemóvel no quarto modelo. A Fig.22 é um diagrama de blocos que ilustra uma configuração global de um sistema digital de radiodifusão no quarto modelo.
Melhor Maneira para Executar a Invenção (Primeiro Modelo)
Um aparelho de codificação de imagens em movimento num primeiro modelo desta invenção será esclarecido com referência às figuras. A Fig.6 é um diagrama de blocos do aparelho de codificação de imagens em movimento no primeiro modelo desta invenção.
Este aparelho de codificação de imagens em movimento 100 tem como objectivo melhorar a eficácia da - 16- codificação através da melhoria da exactidão de um valor preditivo de um vetor em movimento, e inclui uma memória de imagem 101, uma unidade de cálculo da diferença 102, uma unidade de codificação de erro de predição 103, uma unidade de geraçao de corrente de bits 104, uma unidade de descodificação de erro de predição 105, uma unidade de adição 106, uma memória de imagem 107, uma unidade de estimativa de vetor de movimento 108, uma unidade de selecção do modo 109, uma unidade de controlo da codificação 110, interruptores 111· -115, uma unidade de armazenamento de vetor de movimento 116 e uma unidade de codificação de vetor de movimento 117. A memória de imagem 101 é uma memória de imagens para conservar imagens introduzidas numa base imagem a imagem, e reordena as imagens introduzidas e obtidas por ordem de tempo em ordem de codificação para saída. As imagens são reordenadas sob o controlo da unidade de controlo de codificação (110). A Fig.7A ilustra como as imagens entram na memória de imagem (101).
Por exemplo,
Na Fig.7A, as linhas verticais ilustram imagens, e um alfabeto e um número na parte inferior direita de cada imagem indicam um tipo de imagem (I, P ou B) e um número de imagem por ordem de tempo. As imagens que entram na memória de imagem 101 são reordenadas por ordem de codificação. As imagens são reordenadas por ordem de codificação com base nas relações de referência em codificação de predição entre imagens, ou seja, as imagens são reordenadas de modo que as imagens utilizadas como imagens de referência sejam codificadas mais cedo do que as imagens que se referem às imagens de referência. Por exemplo, as relações de - 17- referência das imagens P7-P13 são ilustradas por setas na Fig.7A. Na Fig.7A, as pontas das setas indicam as imagens que se referem às imagens de referência, e as outras pontas das setas indicam as imagens de referência. Neste caso, as imagens ilustradas na Fig.7A são reordenadas nas ilustradas na Fig.7B. A Fig.7B ilustra as imagens que entraram tal como ilustrado na Fig.7A e reordenadas. As imagens reordenadas na memória de imagem 101 são lidas numa base de macrobloco. Neste caso, um macrobloco é horizontal com uma dimensão de 16x vertical por 16 pixéis. A unidade de cálculo de diferença 102 obtém dados de imagens de todos os macroblocos da memória de imagem 101 através do interruptor 111, e obtém também uma imagem de compensação de movimento da unidade de selecção do modo 109. Depois, a unidade de cálculo da diferença 102 calcula a diferença entre os dados de imagens e a imagem de compensação do movimento numa base de macrobloco para gerar uma imagem de erro de predição para saída. A unidade de codificação de erro de predição 103 executa o processamento de codificação incluindo transformação de frequência, como a transformação discreta de cossenos e a quantificação sobre os dados de imagens obtidos da memória de imagem 101 através do interruptor 112 e da imagem de erro de predição obtida pela unidade de cálculo da diferença 102, de modo a criar dados codificados. Por exemplo, a transformação de frequência e a quantificação são executadas numa unidade de horizontal 8x vertical 8 pixéis. Depois, a unidade de codificação de erro de predição 103 produz os dados codificados para a unidade - 18- de geração de corrente de bits 104 e para a unidade de descodificação de erro de predição 105. A unidade de geração de corrente de bits 104 executa codificação de comprimento variável nos dados codificados saidos da unidade de codificação de erro de predição 103, converte os dados nisso num formato de corrente de bits para saída, e adiciona ainda informação sobre os vetores de movimento que deram entrada da unidade de codificação de vetor de movimento 117, informação sobre um modo de codificação que deu entrada da unidade de selecção do modo 109, informação principal e outras, de modo a gerar uma corrente de bits. A unidade de descodificação de erro de predição 105 quantifica inversamente os dados codificados saídos da unidade de codificação de erro de predição 103, e depois executa a transformação de frequência inversa tal como a transformação discreta de cosenos inversa, de modo a descodificá-la numa imagem de erro de predição. A unidade de adição 106 adiciona a imagem de compensação de movimento à imagem de erro de predição obtida em resultado da descodificação, e faz sair uma imagem descodificada que se trata de uma imagem que indica uma imagem de uma figura que foi codificada e descodificada. A memória de imagem 107 é uma memória de imagens que contém, numa base imagem a imagem, imagens utilizadas como imagens de referência quando codifica outras imagens, das imagens descodificadas saídas da unidade de adição 106. A unidade de estimativa de vetor de movimento 108 estima vetores de movimento de cada bloco num macrobloco corrente a ser codificado, utilizando as imagens - 19- descodifiçadas acumuladas na memória de imagem 107 como imagens de referência. Os vetores de movimento estimados saem para a unidade de selecção do modo 109. A unidade de selecção do modo 109 determina um modo de codificação do macrobloco utilizando os vetores de movimento estimados pela unidade de estimativa de vetor de movimento 108. Aqui, o modo de codificação significa um método para a codificação de um macrobloco. Por exemplo, quando uma imagem actual é uma imagem P, a unidade de selecção do modo 109 determina um modo de codificação a partir do seguinte: codificação intra-imagens, codificação de predição inter-imagens utilizando vetores de movimento, e modo ignorar (codificação de predição entre imagens, na qual nenhum vetor de movimento de um bloco corrente é codificado devido a que a codificação de predição é executada utilizando um vetor de movimento obtido a partir de vetores de movimento de outros blocos, e nenhum valor de coeficiente é codificado visto que todos os valores de coeficiente são zero em resultado da codificação de erro de predição). Regra geral, um modo de codificação é determinado de modo a minimizar um erro de codificação utilizando uma quantidade de bits previamente determinada. A unidade de selecção do modo 109 produz o modo de codificação determinado à unidade de geração de corrente de bits 104 e produz os vetores de movimento utilizados para esse modo de codificação à unidade de codificação de vetor de movimento 117, respectivamente. Quando o modo de codificação determinado é codificação de predição entre imagens utilizando vetores de movimento, a unidade de selecção do modo 109 armazena adicionalmente os vetores de movimento e o modo de codificação utilizado para essa -20- codificação de predição entre imagens na unidade de armazenamento de vetor de movimento 116.
Ainda, a unidade de selecção do modo 109 executa uma compensação de movimento com base no modo de codificação determinado e os vetores de movimento estimados pela unidade de estimativa de vetor de movimento 108, de modo a criar uma imagem de compensação de movimento, e produz a imagem de compensação de movimento à unidade de cálculo de diferença 102 e à unidade de adição 106. Contudo, se a codificação intra-imagens for seleccionada, não é produzida qualquer imagem de compensação de movimento. Ao seleccionar a codificação intra-imagens, a unidade de selecção do modo 109 controla adicionalmente o interruptor 111 e o interruptor 112 para ligar a um terminal "a" e a um terminal "c", respectivamente, e ao seleccionar a codificação de predição entre imagens, controla o interruptor 111 e o interruptor 112 para ligar a um terminal "b" e a um terminal "d", respectivamente. A compensação de movimento anteriormente mencionada é executada com base em bloco a bloco (8 x 8 pixéis neste caso) . A unidade de controlo da codificação 110 determina um tipo de imagem (I, P ou B) utilizado para codificar uma imagem introduzida, e controla os interruptores 113, 114 e 115 dependendo do tipo de imagem. Aqui, um tipo de imagem é regra geral determinado utilizando um método para a atribuição de um tipo de imagem, por exemplo periodicamente. A unidade de armazenamento de vetor de movimento 116 obtém os vetores de movimento utilizados para a codificação de predição entre imagens e o modo de -21 - codificação da unidade de selecção do modo 109, e armazena-os .
Quando a unidade de selecção do modo 109 selecciona a codificação de predição entre imagens utilizando vetores de movimento, a unidade de codificação de vetor de movimento 117 codifica um vetor de movimento de um bloco corrente através dos métodos descritos na Fig.3 e Fig.4. Tal como anteriormente descrito, a unidade de codificação de vetor de movimento 117 especifica três blocos contíguos do bloco corrente, determina um valor preditivo com base nos vetores de movimento dos blocos contíguos, e codifica uma diferença entre o valor preditivo e o vetor de movimento do bloco corrente a ser codificado.
Ao codificar um vetor de movimento de um bloco corrente, se um bloco contíguo for codificado utilizando vetores de movimento de outros blocos, tais como modo ignorar e modo directo, a unidade de codificação de vetor de movimento 117 neste modelo não considera o vetor de movimento do bloco contíguo como sendo zero, como sucede com a técnica convencional, mas trata um vetor de movimento obtido dos vetores de movimento dos outros blocos como o vetor de movimento do bloco contíguo quando o codifica. A Fig.8 é um fluxograma que ilustra o funcionamento geral da unidade de codificação de vetor de movimento 117 neste modelo.
Primeiro, a unidade de codificação de vetor de movimento 117 especifica três blocos contíguos previamente codificados de um bloco corrente (Passo S100). A unidade de codificação de vetor de movimento 117 decide se cada um dos blocos contíguos especificados é um bloco Ba contíguo que foi codificado utilizando vetores de -22- movimento de outros blocos ou um bloco Bb contíguo que foi codificado sem utilizar vetores de movimento de outros blocos (Passo S102).
Como resultado, a unidade de codificação de vetor de movimento 117 determina se os três blocos contíguos especificados incluem um bloco Ba contíguo ou não (Passo SI04) .
Quando, no Passo S104, é decidido que o bloco Ba contíguo está incluído (Y no Passo S104), a unidade de codificação de vetor de movimento 117 obtém um valor preditivo dos vetores de movimento dos três blocos contíguos através do tratamento de um vetor de movimento obtido dos vetores de movimento dos outros blocos como um vetor de movimento do bloco Ba contíguo para a sua codificação, tal como anteriormente mencionado (Passo S106) .
Por outro lado, quando, no Passo S104, se considera que o bloco Ba contíguo não está incluído (N no Passo sl04), a unidade de codificação de vetor de movimento 117 obtém um valor preditivo dos vetores de movimento obtidos com base na estimativa de movimento dos respectivos três blocos Bb contíguos e a selecção do modo (Passo S108) .
Então, a unidade de codificação de vetor de movimento 117 codifica uma diferença entre o vetor de movimento do bloco corrente e o valor preditivo obtido nos Passos S106 ou S108 (Passo S110). A unidade de codificação de vetor de movimento 117 também produz o vetor de movimento codificado como anteriormente à unidade de geração de corrente de bits 104.
Aqui, o processo de codificação anteriormente mencionado pelo aparelho de codificação de imagens em -23- movimento 100 será especificamente esclarecido, tendo a codificação de uma imagem P13 e de uma imagem Bll como exemplo, tal como ilustrado na Fig.7. (Codificação da Imagem P13)
Visto que a imagem P13 é uma imagem P, o aparelho de codificação de imagens em movimento 100 codifica a imagem 13 através da codificação de predição entre imagens utilizando outra imagem como uma imagem de referência. Neste caso, a imagem de referência é uma imagem PIO. Esta imagem PIO foi já codificada, e a respectiva imagem descodificada é armazenada na memória de imagem 107.
Ao codificar uma imagem P, a unidade de controlo da codificação -110 controla os interruptores 113, 114 e 115 para ON. Deste modo, os macroblocos na imagem P13, lidos a partir da memória de imagem 101, são obtidos pela unidade de estimativa de vetor de movimento 108, a unidade de selecção do modo (109) e a unidade de cálculo da diferença 102 . A unidade de estimativa de vetor de movimento 108 estima o vetor de movimento de cada bloco no macrobloco utilizando a imagem descodificada da imagem P10 armazenada na memória de imagem 10 7 como uma imagem de referência, e produz o vetor de movimento estimado para a unidade de selecção do modo 109. A unidade de selecção do modo 109 determina um modo de codificação do macrobloco na imagem P13 utilizando o vetor de movimento estimado pela unidade de estimativa de vetor de movimento 108. Visto que a imagem P13 é uma imagem P, a unidade de selecção do modo 109 determina, tal como -24- anteriormente mencionado, um modo de codificação a partir do seguinte: codificação intra-imagens, codificação de predição entre imagens utilizando vetores de movimento, e modo ignorar (uma codificação de predição entre imagens, na qual nenhum vetor de movimento de um bloco corrente é codificado devido a que a codificação de predição é executada utilizando um vetor de movimento obtido a partir de vetores de movimento de outros blocos, e nenhum valor de coeficiente é codificado visto que todos os valores de coeficiente são zero em resultado da codificação de erro de predição).
Quando a unidade de selecção do modo 109 selecciona uma codificação de predição entre imagens utilizando vetores de movimento, a unidade de codificação de vetor de movimento 117 neste modelo codifica o vetor de movimento do bloco corrente na imagem P13 através do método explicado na Fig.3. Quando um bloco contíguo do bloco corrente é codificado no modo ignorar, a unidade de codificação de vetor de movimento 117 não considera o vetor de movimento do bloco contíguo como zero, mas trata um vetor de movimento obtido dos outros blocos para codificação do bloco contíguo como um vetor de movimento desse bloco.
Um método de codificação de um vetor de movimento de um bloco corrente utilizado quando um bloco contíguo é codificado no modo ignorar será esclarecido. A Fig.9 é uma ilustração para o esclarecimento em como codificar um bloco contíguo C no modo ignorar.
Tal como ilustrado na Fig.9, quando um bloco contíguo C na imagem P13 é codificado no modo ignorar, é calculada a mediana de um vetor de movimento MVe de um bloco E, de um vetor de movimento MVf de um bloco F e de um -25- vetor de movimento MVg de um bloco G, localizados na vizinhança do bloco contíguo C, e o bloco contíguo C é codificado utilizando um vetor de movimento MVcm indicando a mediana. Aqui, uma mediana dos vetores de movimento é obtida através, por exemplo, do cálculo de medianas de componentes horizontais e verticais dos vetores de movimento, respectivamente.
Ao codificar o vetor de movimento do bloco corrente A, tal como ilustrado na Fig.9, a unidade de codificação de vetor de movimento 117 especifica os três blocos contíguos B, C e D do bloco corrente A (no que diz respeito às localizações dos blocos B, C e D, ver Fig.3 e Fig.4), e considera se cada um dos blocos B, C e D é, ou não, um bloco que foi codificado utilizando vetores de movimento de outros blocos. Em resultado disso, quando é considerado que apenas o bloco contíguo C é codificado no modo ignorar, ou seja, codificado utilizando outros blocos, a unidade de codificação de vetor de movimento 117 trata a mediana (um vetor de movimento MVcm) calculada a partir de vetores de movimento de outros blocos E, F e G para codificação do bloco contíguo C como um vetor de movimento do bloco contíguo C, tal como mencionado em cima, e calcula a mediana de vetor de movimento MVcm e dos vetores de movimento dos blocos contíguos B e D, de modo a considerá- lo um valor preditivo de vetor de movimento do bloco corrente A. Depois, a unidade de codificação de vetor de movimento 117 codifica uma diferença entre o valor preditivo e o vetor de movimento do bloco corrente A. A unidade de armazenamento de vetor de movimento 116 armazena modos de codificação dos blocos codificados. A unidade de codificação de vetor de movimento 117 decide se -26- cada um dos blocos contíguos B, C e D é, ou não, um bloco codificado utilizando vetores de movimento de outros blocos com base nos modos de codificação armazenados na unidade de armazenamento de vetor de movimento 116. A unidade de armazenamento de vetor de movimento 116 armazena ainda vetores de armazenamento de blocos que foram codificados sem utilizar vetores de movimento de outros blocos, mas utilizando os seus próprios vetores de movimento estimados das imagens de referência. Mais especificamente, a unidade de armazenamento de vetor de movimento 116 armazena os vetores de movimento MVe, MVf e MVg dos blocos E, F e G, e a unidade de codificação de vetor de movimento 117 calcula o vetor de movimento MVcm anteriormente mencionado do bloco contíguo C utilizando estes vetores de movimento armazenados na unidade de armazenamento de vetor de movimento 116 quando codifica o vetor de movimento do bloco corrente A. De salientar que no que diz respeito a uma imagem que foi codificada utilizando vetores de movimento de outros blocos, um respectivo vetor de movimento obtido através do cálculo de uma mediana dos vetores de movimento de outros blocos pode ser armazenado com antecedência na unidade de armazenamento de vetor de movimento 116. Neste caso, visto que a unidade de armazenamento de vetor de movimento 116 armazena o vetor de movimento MVcm com antecedência, a unidade de codificação de vetor de movimento 117 não precisa calcular o vetor de movimento MVcm do bloco corrente C, mas pode utilizar o vetor de movimento MVcm armazenado na unidade de armazenamento de vetor de movimento 116 directamente como um vetor de movimento do bloco contíguo C, quando codifica o vetor de movimento do bloco corrente A. -27-
Por outro lado, uma imagem de erro de predição indicando uma diferença entre um macrobloco corrente na imagem P13 e uma imagem de compensação de movimento é codificada pela unidade de codificação de erro de predição 103 e gerada como dados codificados, e é adicionada informação sobre o vetor de movimento como em cima mencionado aos dados codificados pela unidade de geração de corrente de bits 104. Contudo, uma diferença entre um macrobloco codificado no modo ignorar e uma imagem de compensação de movimento é zero, e a informação sobre o vetor de movimento não é adicionada aos dados codificados.
Os macroblocos restantes na imagem P13 são codificados da mesma maneira. Após a conclusão da codificação de todos os macroblocos na imagem P13, segue-se a codificação da imagem Bll. (Codificação da Imagem Bll)
Visto que a imagem Bll é uma imagem B, o aparelho de codificação de imagens em movimento 100 codifica a imagem Bll através de codificação de predição entre imagens utilizando outras duas imagens como imagens de referência. Neste caso, as imagens de referência são a imagem PIO, localizada na parte da frente da imagem Bll, e a imagem P13, localizada na parte de trás da imagem Bll. Estas imagens PIO e P13 foram já codificadas, e as respectivas imagens descodificadas são armazenadas na memória de imagem 107.
Ao codificar uma imagem B, a unidade de controlo da codificação 110 controla o interruptor 113 para ON, e os interruptores 114 e 115 para OFF. Deste modo, os -28- macroblocos na imagem Bll, lidos a partir da memória de imagem 101, são obtidos pela unidade de estimativa de vetor de movimento 108, pela unidade de selecção do modo 109 e pela unidade de cálculo da diferença 102. A unidade de estimativa de vetor de movimento 108 estima o vetor de movimento da frente e o vetor de movimento de trás de cada bloco num macrobloco, utilizando uma imagem descodificada da imagem P10 armazenada na memória de imagem 10 7 como uma imagem de referência da frente, e uma imagem descodificada da imagem P13 como uma imagem de referência de trás, e produz os vetores de movimento da frente e de trás estimados para a unidade de selecção do modo 109. A unidade de selecção do modo 109 determina um modo de codificação do macrobloco na imagem Bll utilizando os vetores de movimento da frente e de trás estimados pela unidade de estimativa de vetor de movimento 108. Visto que a imagem Bll é uma imagem B, a unidade de selecção do modo 109 determina um modo de codificação a partir do seguinte: codificação intra-imagens, codificação de predição entre imagens utilizando vetores de movimento da frente, codificação de predição entre imagens utilizando vetores de movimento de trás, codificação de predição entre imagens utilizando vetores de movimento bidireccionais, e modo directo (codificação de predição entre imagens, na qual é executada a compensação de movimento utilizando um vetor de movimento obtido a partir de vetores de movimento de outros blocos e nenhum vetor é codificado), por exemplo.
Quando a unidade de selecção do modo 109 selecciona codificação de predição entre imagens utilizando vetores de movimento, a unidade de codificação de vetor de movimento -29- 117 neste modelo codifica os vetores de movimento do bloco corrente na imagem Bll através do método explicado na
Fig.3.
Mais especificamente, quando a unidade de selecção do modo 109 selecciona codificação de predição entre imagens utilizando vetores de movimento bidireccionais, a unidade de codificação de vetor de movimento 117 codifica os vetores de movimento do bloco corrente do seguinte modo. A Fig.10 é uma ilustração para a explicação da codificação de predição entre imagens utilizando vetores de movimento bidireccionais.
Ao codificar os vetores de movimento de um bloco corrente A, a unidade de codificação de vetor de movimento 117 codifica um vetor de movimento da frente MVF e um vetor de movimento de trás MVB.
Para se ser mais especifico, a unidade de codificação de vetor de movimento 117 considera que uma mediana dos vetores de movimento da frente MVF1, MVF2 e MVF3 dos blocos contíguos B, C e D é um valor preditivo do vetor de movimento da frente MVF, e codifica uma diferença entre o vetor de movimento da frente MVF e o seu valor preditivo. A unidade de codificação de vetor de movimento 117 considera também que uma mediana dos vetores de movimento de trás MVB1, MVB2 e MVB3 dos blocos contíguos B, C e D é um valor preditivo de vetor de movimento de trás MVB, e codifica uma diferença entre o vetor de movimento de trás MVB e o seu valor preditivo. Aqui, a mediana dos vetores de movimento é obtida, por exemplo, pelo cálculo das medianas de componentes horizontais e verticais dos vetores de movimento, respectivamente. -30-
Ao codificar os vetores de movimento de um bloco corrente numa imagem B, se um bloco contíguo foi codificado no modo directo, a unidade de codificação de vetor de movimento 117, neste modelo, não considera os vetores de movimento do bloco contíguo como zero, mas considera os vetores de movimento obtidos a partir de outros blocos como vetores de movimento do bloco contíguo. Existem dois tipos de modos directos: modo directo temporal e modo directo espacial.
Primeiro, será esclarecido o modo como codificar os vetores de movimento de um bloco corrente quando um bloco contíguo é codificado no modo directo temporal. A Fig.ll é uma ilustração para a explicação de como codificar o bloco contíguo no modo directo temporal.
Tal como ilustrado na Fig.ll, quando o bloco contíguo C na imagem Bll é codificado no modo directo, é utilizado um vetor de movimento MVp de um bloco X, que se encontra co-localizado no bloco contíguo C, na imagem P13 tratando-se de uma imagem de referência de trás previamente codificada. 0 vetor de movimento MVp é um vetor de movimento utilizado para codificar o bloco X, e é armazenado na unidade de armazenamento de vetor de movimento 116. Este vetor de movimento MVp refere-se à imagem PIO. O bloco contíguo C é codificado por predição bidireccional a partir das imagens de referência, da imagem PIO e da imagem P13, utilizando vetores de movimento paralelos ao vetor de movimento MVp. Neste caso, os vetores de movimento utilizados para codificação do bloco contíguo C são um vetor de movimento MVFc para a imagem PIO e um vetor de movimento MVBc para a imagem P13. -31 -
Neste caso em que o vetor de movimento da frente MVFc é mvf, o vetor de movimento de trás MVBc é mvb, o vetor de movimento MVp é mvp, a distância temporal entre a imagem de referência de trás (imagem P13) para a imagem actual (imagem Bll) e a imagem de referência (imagem PIO) designada pelo bloco na imagem de referência para trás é TRD, e a distância temporal entre a imagem actual (imagem Bll) e a imagem de referência (imagem PIO) designada pelo bloco na imagem de referência de trás é TRB, mvf e mvb são calculados pela Equação 1 e Equação 2, respectivamente. mvf = mvp X TRB / TRD ... Equação 1 mvb = (TRB - TRD) x xmvp / TRD ... Equação 2 em que mvf e mvb representam componentes horizontais e componentes verticais dos vetores de movimento, respectivamente. E os valores de adição indicam a direcção de vetor de movimento MVp, e os valores de subtracção indicam a direcção oposta à direcção de vetor de movimento MVp. 0 bloco contíguo C é codificado utilizando os vetores de movimento MVFc e MVBc obtidos tal como anteriormente mencionados.
Ao codificar os vetores de movimento MVF e MVB do bloco corrente A, tal como ilustrado na Fig.10, a unidade de codificação de vetor de movimento 117 especifica os três blocos contíguos B, C e D do bloco corrente A, e decide se cada um dos blocos contíguos B, C e D é, ou não, um bloco que foi codificado utilizando um vetor de movimento de outro bloco. Em resultado disso, quando é considerado que apenas o bloco contíguo C é codificado no modo directo -32- temporal, ou seja, codificado utilizando o vetor de movimento de outro bloco, a unidade de codificação de vetor de movimento 117 trata os vetores de movimento MVF e MVBc, calculados a partir de vetor de movimento MVp do bloco X que é o outro bloco para codificação do bloco contíguo C, como vetores de movimento do bloco contíguo C, e calcula as medianas dos vetores de movimento MVFc e MVBc e dos vetores de movimento dos blocos contíguos B e D, de modo a obter valores preditivos dos vetores de movimento do bloco corrente A. Um valor preditivo da frente e um valor preditivo de trás são obtidos em separado. Depois, a unidade de codificação de vetor de movimento 117 codifica diferenças entre os valores preditivos e os vetores de movimento MVF e MVB do bloco corrente A, respectivamente. A unidade de armazenamento de vetor de movimento 116 armazena modos de codificação de blocos codificados, e, com base nos modos de codificação armazenados nesta unidade de armazenamento de vetor de movimento 116, a unidade de codificação de vetor de movimento 117 decide se cada um dos blocos contíguos B, C e D foi, ou não, codificado utilizando os vetores de movimento de outros blocos. A unidade de armazenamento de vetor de movimento 116 armazena ainda vetores de movimento de blocos que foram codificados sem utilizar vetores de movimento de outros blocos, mas sim utilizando os seus próprios vetores de movimento estimados a partir das imagens de referência. Por outras palavras, ao codificar os vetores de movimento do bloco corrente A, a unidade de codificação de vetor de movimento 117 utiliza os vetores de movimento armazenados na unidade de armazenamento de vetor de movimento 116, pois são para os blocos contíguos B e D, mas para o bloco contíguo C é lido -33- o vetor de movimento MVp do bloco X armazenado na unidade de armazenamento de vetor de movimento 116 para calcular os vetores de movimento MVFc e MVBc. De salientar que a unidade de armazenamento de vetor de movimento 116 pode armazenar com antecedência os vetores de movimento calculados a partir dos vetores de movimento de outros blocos para codificar um bloco que tenha sido codificado utilizando os vetores de movimento de outros blocos. Neste caso, a unidade de armazenamento de vetor de movimento 116 armazena com antecedência os vetores de movimento MVFc e MVBc. Por isso, ao codificar os vetores de movimento do bloco corrente A, a unidade de codificação de vetor de movimento 117 não precisa ler o vetor de movimento MVp do bloco X para calcular os vetores de movimento MVFc e MVBc do bloco contíguo C utilizando a Equação 1 e a Equação 2, mas pode utilizar os vetores de movimento MVFc e MVBc armazenados na unidade de armazenamento de vetor de movimento 116 directamente como os vetores de movimento do bloco contíguo C.
De seguida, será esclarecido um método para a codificação de vetores de movimento de um bloco corrente num caso em que um bloco contíguo é codificado no modo directo espacial. A Fig.12 é uma ilustração para a explicação de como codificar um bloco contíguo no modo directo espacial.
Tal como ilustrado na Fig.12, quando um bloco contíguo C da imagem Bll é codificado no modo directo espacial, é codificado utilizando vetores de movimento MVFc e MVBc calculados com base nas medianas nos sentidos para a frente e para trás, respectivamente, obtidos a partir dos vetores de movimento MVFe e MVBe do bloco E, dos vetores de -34- movimento MVFf e MVBf do bloco F e dos vetores de movimento MVFg e MVBg do bloco G, sendo que os blocos E, F e G encontram-se localizados na vizinhança do bloco contiguo C.
Ao codificar os vetores de movimento MVF e MVB do bloco contiguo A, tal como ilustrado na Fig.10, a unidade de codificação de vetor de movimento 117 especifica os três blocos contíguos B, C e D na vizinhança do bloco corrente A, e decide se cada um dos blocos contíguos B, C e D é, ou não, um bloco que foi codificado utilizando vetores de movimento de outros blocos. Em resultado disso, quando a unidade de codificação de vetor de movimento 117 considerar que apenas um bloco contíguo C foi codificado no modo directo espacial, ou seja, utilizando vetores de movimento de outros blocos, trata os vetores de movimento MVFc e MVBc calculados a partir dos blocos E, F e G, que são os outros blocos utilizados para codificar o bloco contíguo C, como os vetores de movimento do bloco contíguo C, calcula as medianas dos vetores de movimento MVFc e MVBc e dos vetores de movimento dos blocos contíguos B e D, e, desse modo, obtém valores preditivos dos vetores de movimento do bloco corrente A, tal como ilustrado na Fig.12. Depois, a unidade de codificação de vetor de movimento 117 codifica diferenças entre os valores preditivos e os vetores de movimento MVF e MVB do bloco corrente A. A unidade de armazenamento de vetor de movimento 116 armazena vetores de movimento de blocos que foram codificados sem a utilização de vetores de movimento de outros blocos, mas utilizando os seus próprios vetores de movimento estimados das imagens de referência. Por outras palavras, armazena dois vetores de movimento nos sentidos para a frente e para trás para cada um dos blocos E, F e G. -35-
Ao codificar os vetores de movimento do bloco corrente A, a unidade de codificação de vetor de movimento 117 calcula os vetores de movimento MVFc e MVBc do bloco contiguo C utilizando estes vetores de movimento na unidade de armazenamento de vetor de movimento 116. De salientar que a unidade de armazenamento de vetor de movimento 116 pode armazenar antecipadamente dois vetores de movimento nos sentidos para a frente e para trás calculados com base nas medianas obtidas a partir dos vetores de movimento de outros blocos para codificar um bloco que tenha sido codificado utilizando vetores de movimento dos outros blocos. Neste caso, a unidade de armazenamento de vetor de movimento 116 armazena antecipadamente os vetores de movimento MVFc e MVBc. Por isso, ao codificar os vetores de movimento do bloco corrente A, a unidade de codificação de vetor de movimento 117 não precisa calcular os vetores de movimento MVFc e MBVc do bloco contíguo C, mas pode utilizar os vetores de movimento MVFc e MVBc armazenados na unidade de armazenamento de vetor de movimento 116 directamente como os vetores de movimento do bloco contíguo C.
Tal como descrito em cima, quando o bloco contíguo C é codificado no modo directo temporal anterior, os vetores de movimento da imagem de referência de trás (a imagem P13 no caso em cima) da imagem actual precisam ser armazenados na unidade de armazenamento de vetor de movimento 116, mas quando o bloco contíguo C é codificado no modo directo espacial, o seu armazenamento pode ser omitido.
Aqui, ao codificar os vetores de movimento de codificação de um bloco corrente, o aparelho de codificação -36- de imagens em movimento 100 executa um processamento excepcional se um bloco contíguo do bloco corrente não for codificado em predição entre imagens, tal como mencionado em cima, mas codificado intra-imagens.
Por exemplo, quando existe um bloco que tenha sido codificado intra-imagens nos três blocos contíguos, a unidade de codificação de vetor de movimento 117 do aparelho de codificação de imagens em movimento 100 executa o processamento considerando que os vetores de movimento do bloco são zero. Quando existem dois blocos contíguos que tenham sido codificados intra-imagens, a unidade de codificação de vetor de movimento 117 utiliza os vetores de movimento do bloco contíguo restante como valores preditivos dos vetores de movimento de um bloco corrente. Ainda, quando todos os três blocos contíguos tenham sido codificados intra-imagens, a unidade de codificação de vetor de movimento 117 executa o processamento de codificação dos vetores de movimento do bloco corrente considerando que os respectivos valores preditivos são zero.
Por outro lado, a imagem de erro de predição, indicando uma diferença entre um macrobloco corrente na imagem Bll e a imagem de compensação do movimento, foi codificada pela unidade de codificação do erro de predição 103 e foi produzida como dados codificados, e a informação sobre os vetores de movimento que tenham sido codificados, como anteriormente mencionado, é adicionada aos dados codificados pela unidade de geração de corrente de bits 104. Contudo, a informação sobre os vetores de movimento de um macrobloco que tenha sido codificada no modo directo não é adicionada aos dados codificados. -37- 0 processamento de codificação dos restantes macroblocos na imagem Bll é executado da mesma maneira. Após o processamento estar concluído para todos os macroblocos na imagem Bll, segue-se o processamento de codificação da imagem B12.
Tal como em cima descrito, de acordo com o método de codificação de vetor de movimento desta invenção, um vetor de movimento de cada bloco corrente é codificado utilizando um valor preditivo obtido dos vetores de movimento dos blocos contíguos anteriormente codificados e do vetor de movimento do bloco corrente. Se qualquer um dos blocos contíguos tem sido codificado utilizando um vetor de movimento calculado a partir dos vetores de movimento de outros blocos, por exemplo, no modo ignorar ou modo directo, é obtido um valor preditivo utilizando, como um vetor de movimento do bloco contíguo, o vetor de movimento calculado a partir dos vetores de movimento de outros blocos para codificação desse bloco contíguo.
Consequentemente, quando um vetor de movimento de um bloco corrente é codificado utilizando um valor preditivo obtido a partir de um vetor de movimento de um bloco contíguo, se o bloco contíguo é codificado utilizando vetores de movimento de outros blocos, o vetor de movimento do bloco contíguo não é considerado zero, tal como a técnica convencional, mas o vetor de movimento calculado a partir dos vetores de movimento dos outros blocos é utilizado como o vetor de movimento do bloco contíguo. Em resultado disso, a exactidão do valor preditivo em cima descrito é melhorada, e, logo, a eficácia dos vetores de movimento de codificação pode ser melhorada. -38-
De salientar que neste modelo foi esclarecido um caso em que um macrobloco é codificado em todos os pixéis 16 horizontal x 16 vertical, a compensação do movimento é executada em todos os blocos de pixéis 8x horizontais por 8x verticais, e uma imagem de erro de predição do bloco é codificada em todos os pixéis 8x horizontais por 8x verticais, mas estes processamentos podem ser efectuados em todas as unidades de pixéis.
Também neste modelo foi esclarecido um caso em que uma mediana calculado a partir de vetores de movimento de três blocos contíguos anteriormente codificados é utilizado como um valor preditivo para codificação de um vetor de movimento, mas pode ser aplicado qualquer outro número de blocos contíguos diferente de três, e o valor preditivo pode ser determinado por qualquer outro método. Por exemplo, um vetor de movimento de um bloco imediatamente à esquerda pode ser utilizado como um valor preditivo, ou pode ser utilizada uma média, em vez da mediana.
Ainda neste modelo foram esclarecidas localizações de blocos contíguos para a codificação de um vetor de movimento utilizando a Fig.3 e a Fig.4, mas podem ser aplicadas quaisquer outras localizações.
Também neste modelo foi esclarecido um método para codificação de um bloco corrente utilizando vetores de movimento de outros blocos tendo o modo ignorar e os modos temporais e espaciais como exemplos, mas pode ser utilizado qualquer outro método.
Ainda neste modelo foi esclarecido um caso em que uma diferença entre um vetor de movimento de um bloco corrente e um valor preditivo obtida a partir de vetores de movimento de blocos contíguos de modo a codificar o vetor -39- de movimento, mas que pode ser utilizada qualquer outro método diferente daquele obtido de uma diferença para codificar o vetor de movimento.
Também neste modelo foi esclarecido um caso em que quando um bloco contíguo é codificado no modo directo espacial, uma mediana dos vetores de movimento dos três blocos previamente codificados na vizinhança do bloco contíguo é calculado e é tratado como um vetor de movimento do bloco contíguo, mas pode ser utilizado qualquer outro número de blocos diferente de três, e pode ser utilizado qualquer outro método para determinar o vetor de movimento. Por exemplo, um vetor de movimento de um bloco imediatamente à esquerda pode ser utilizado como um vetor de movimento de um bloco contíguo, ou um valor médio, em vez da mediana, pode ser utilizado.
Ainda neste modelo, quando um bloco numa imagem B é codificado no modo directo espacial, são calculados os dois vetores de movimento do bloco nos sentidos para a frente e para trás, mas podem ser calculados dois vetores de movimento apenas no sentido para a frente ou dois vetores de movimento apenas no sentido para trás. Neste caso, a imagem B refere-se apenas a duas imagens no sentido para a frente ou duas imagens no sentido para trás.
Também neste modelo foi esclarecido um caso em que quando uma imagem previamente determinada é referida na codificação de uma imagem P (uma imagem PIO é referida na codificação de uma imagem P13, por exemplo) e duas imagens previamente determinadas são referidas na codificação de uma imagem B (imagens PIO e P13 são referidas na codificação de uma imagem Bll), mas estas imagens P e B podem ser codificadas através da selecção das imagens de -40- referência para todos os macroblocos ou bloco dentre uma série de imagens. Neste caso, um valor preditivo de um vetor de movimento pode ser gerado do modo ilustrado na Fig.13. A Fig.13 é um fluxograma gue ilustra uma operação conduzida pela unidade de codificação de vetor de movimento 117 na obtenção de um valor preditivo de um vetor de movimento de um bloco corrente para codificar o vetor de movimento, quando as imagens de referência são seleccionadas para todos os blocos.
Primeiro, a unidade de codificação de vetor de movimento 117 especifica três blocos contíguos previamente codificados de um bloco corrente (Passo S300).
Depois, a unidade de codificação de vetor de movimento 117 decide se cada um dos blocos contíguos especificados é um bloco Ba contíguo que foi codificado utilizando vetores de movimento de outros blocos ou bloco Bb contíguo que foi codificado sem a utilização de vetores de movimento de outros blocos (Passo S302) .
Aqui, no que diz respeito ao bloco Ba contíguo, a unidade de codificação de vetor de movimento 117 obtém informação indicando os vetores de movimento utilizados para a codificação do bloco Ba e imagens de referência para o bloco Ba contíguo, e trata esses vetores de movimento utilizados para a codificação do bloco Ba como seus vetores de movimento. No que diz respeito ao bloco Bb contíguo, a unidade de codificação de vetor de movimento 117 obtém informação indicando os vetores de movimento do bloco Bb contíguo e imagens de referência para o bloco Bb contíguo (Passo S304). -41 -
De seguida, a unidade de codificação de vetor de movimento 117 especifica, dos três blocos contíguos, um bloco contíguo que se refere à imagem à qual se refere um bloco corrente com base na informação obtida no Passo S304 (Passo S306), e determina o número dos blocos contíguos especificados (Passo S308).
Depois, se o número dos blocos contíguos decidido no Passo S308 for 1, a unidade de codificação de vetor de movimento 117 considera o vetor de movimento do bloco contíguo, que se refere à mesma imagem, como um valor preditivo de vetor de movimento MV do bloco corrente (Passo S310).
Se o número dos blocos contíguos decidido no Passo S308 não for 1, a unidade de codificação de vetor de movimento 117 considera que os vetores de movimento dos blocos contíguos, que se referem a outra imagem diferente da qual o bloco corrente se refere, dos três blocos contíguos, são zero (Passo S312), e considera uma mediana dos vetores de movimento dos três blocos contíguos um valor preditivo de vetor de movimento MV do bloco corrente (Passo S314).
Utilizando o valor preditivo obtido no Passo s310 ou Passo S314, tal como anteriormente mencionado, a unidade de codificação de vetor de movimento 117 calcula uma diferença entre o valor preditivo e o vetor de movimento MV do bloco corrente, e codifica a diferença (Passo S316).
Ainda, quando um vetor de movimento é codificado utilizando um vetor de movimento de um bloco espacialmente contíguo como um valor preditivo, uma quantidade de vetores de movimento de 1 linha de macrobloco (uma parte de um macrobloco alta e um ecrã largo) precisa ser armazenada na -42- unidade de armazenamento de vetor de movimento 116 para codificar o vetor de movimento, se os vetores de movimento que foram utilizados para a compensação de movimento no modo ignorar ou modo directo se encontrarem armazenados na unidade de armazenamento de vetor de movimento 116. Isto aplica-se ao caso em que os vetores de movimento que foram utilizados para a compensação de movimento no modo ignorar ou modo directo são armazenados na unidade de armazenamento de vetor de movimento 116. É por isso que, quando os blocos contíguos explicados na Fig.3 e Fig.4 deste modelo são utilizados, existem 1 pedaço de macrobloco de blocos referidos como blocos contíguos para codificarem o vetor de movimento, com o macrobloco actual como um ponto de partida. (Segundo Modelo)
Um aparelho para descodificação de imagens em movimento 700 no segundo modelo desta invenção será explicado com referência às figuras. A Fig.14 é um diagrama de blocos que ilustra a estrutura do aparelho para descodificação de imagens em movimento 700 no segundo modelo desta invenção. O aparelho para descodificação de imagens em movimento 700, tal como ilustrado na Fig.14, descodifica imagens em movimento codificadas pelo aparelho para codificação de imagens em movimento 100 no primeiro modelo, e inclui uma unidade de análise da corrente de bits 701, uma unidade de descodificação do erro preditivo 702, uma unidade de descodificação do modo 703, uma unidade de descodificação da compensação de movimento 705, uma unidade -43- de armazenamento de vetor de movimento 706, uma memória de imagem 707, uma unidade de adição 708, interruptores 709 e 710, e uma unidade de descodificação de vetor de movimento 711. A unidade de análise da corrente de bits 701 extrai vários dados a partir da corrente de bits introduzida. Aqui, vários dados incluem informação sobre o modo de codificação, informação sobre vetores de movimento, e por ai diante. A informação extraída sobre o modo de codificação é canalizada para a unidade de descodificação do modo 703. A informação extraída de vetor de movimento é exportada para a unidade de descodificação de vetor de movimento 711. Adicionalmente, os dados de erro de predição codificada extraídos seguem para a unidade de descodificação do erro preditivo 702. A unidade de descodificação do erro preditivo 702 descodifica os dados do erro de predição codificada introduzidos para gerar uma imagem de erro de predição. A imagem de erro de predição é transmitida para o interruptor 709. Quando o interruptor 709 é ligado ao terminal "b", a imagem de erro de predição é transmitida para a unidade de adição 708. A unidade de descodificação do modo 703 controla o interruptor 709 e o interruptor 710 com referência à informação do modo de codificação extraída da corrente de bits. Se o modo de codificação for uma codificação intra-imagens, a unidade de descodificação do modo 703 controla os interruptores 709 e 710 para ligar ao terminal "a" e ao terminal "c", respectivamente, e se o modo de codificação for codificação entre imagens, controla os interruptores 709 e 710 para ligar ao terminal "b" e ao terminal "d", -44- respectivamente. A unidade de descodificação do modo 703 faz ainda sair a informação do modo de codificação para a unidade de descodificação de vetor de movimento 711. A unidade de descodificação de vetor de movimento 711 descodifica a informação de vetor de movimento que sai da unidade de análise da corrente de bits 701.
Para ser mais específico, quando a informação do modo de codificação indica codificação da predição entre imagens utilizando vetores de movimento, a unidade de descodificação de vetor de movimento 711 obtém um valor preditivo para um bloco corrente a ser descodificado utilizando os vetores de movimento dos blocos contíguos previamente descodificados, do mesmo modo descrito na Fig.3 e Fig.4. Por exemplo, tal como ilustrado na Fig.3, a unidade de descodificação de vetor de movimento 711 obtém um valor preditivo para um bloco corrente A do vetor de movimento MVb do bloco contíguo B, do vetor de movimento MVc do bloco contíguo C e do vetor de movimento MVd do bloco contíguo D. Aqui, o valor preditivo é calculado com base numa mediana calculado a partir de cada um dos componentes horizontais e componentes verticais dos três vetores de movimento previamente descodificados MVb, MVc e MVd. Depois, a unidade de descodificação de vetor de movimento 711 adiciona o valor preditivo à diferença que é a informação de vetor de movimento extraída da unidade de análise da corrente de bits 701 de modo a determinar o vetor de movimento MV do bloco corrente A. Quando a informação do modo de codificação é qualquer um dos modos ignorar anteriormente mencionados, modo directo temporal e modo directo espacial, a unidade de descodificação de vetor de movimento 711 determina o vetor de movimento utilizando -45- apenas os vetores de movimento dos blocos contíguos anteriormente descodificados. A Fig.15 é um fluxograma que ilustra o funcionamento geral da unidade de descodificação de vetor de movimento 711 neste modelo.
Primeiro, a unidade de descodificação de vetor de movimento 711 especifica três blocos contíguos previamente descodificados de um bloco corrente a ser descodificado (Passo S200).
Depois, a unidade de descodificação de vetor de movimento 711 decide se cada um dos blocos contíguos especificados é um bloco contíguo que foi codificado utilizando vetores de movimento de outros blocos ou um bloco contíguo Bb que foi codificado sem a utilização de vetores de movimento de outros blocos (Passo S202).
Em resultado disso, a unidade de descodificação de vetor de movimento 711 determina se um bloco contíguo Ba é ou não incluído nos três blocos contíguos especificados (Passo S204) .
Quando for considerado no Passo S204 que um bloco contíguo Ba é incluído (Y no Passo S204), a unidade de descodificação de vetor de movimento 711 obtém um valor preditivo dos vetores de movimento dos três blocos contíguos através do tratamento de um vetor de movimento calculado a partir dos vetores de movimento de outros blocos para descodificação do bloco contíguo Ba como um vetor de movimento do bloco contíguo Ba, tal como anteriormente mencionado (Passo S206).
Por outro lado, quando é decidido no Passo S206 que um bloco contíguo Ba não está incluído (N no Passo S204) , a unidade de descodificação de vetor de movimento 711 obtém -46- um valor preditivo a partir dos vetores de movimento obtidos respectivamente com base nos resultados estimados dos três blocos contíguos Bb (Passo S208).
Depois, a unidade de descodificação de vetor de movimento 711 adiciona o valor preditivo obtido no Passo S206 ou S208 à diferença que é a informação de vetor de movimento que sai da unidade de análise da corrente de bits 701, de modo a descodificar o vetor de movimento codificado do bloco corrente (Passo S210). A unidade de descodificação de vetor de movimento 711 faz também sair o vetor de movimento descodificado para a unidade de descodificação da compensação de movimento 705. A unidade de armazenamento de vetor de movimento 706 armazena o vetor de movimento descodificado na unidade de descodificação de vetor de movimento 711 e no modo de codificação obtido na unidade de descodificação do modo 703 . A unidade de descodificação da compensação de movimento 705 obtém uma imagem de compensação de movimento de todos os macroblocos a partir da memória de imagem 707 com base no vetor de movimento descodificado na unidade de descodificação de vetor de movimento 711. A unidade de adição 708 adiciona a imagem de erro de predição introduzida e a imagem de compensação de movimento para gerar a imagem de descodificação, e faz sair a imagem descodificada gerada para a memória de imagem 707. A memória de imagem 707 armazena a imagem descodificada gerada pela unidade de adição 708 com base em todas as imagens. -47- 0 funcionamento deste aparelho para descodificação de imagens em movimento 700, especialmente o seu funcionamento geral, irá ser esclarecido em primeiro lugar. A Fig.16 é uma ilustração para a explicação da entrada para e da saida do aparelho para descodificação de imagens em movimento 700.
Tal como ilustrado na Fig.lôA, o aparelho para descodificação de imagens em movimento 700 obtém a corrente de bits de saida proveniente do aparelho de codificação de imagens em movimento 100 no primeiro modelo na ordem de saida, e descodifica as imagens incluídas na corrente de bits sequencialmente. Depois, tal como ilustrado na Fig.lôB, o aparelho para descodificação de imagens em movimento 700 reordena as imagens descodificadas por ordem de visualização para a saida. O processo de descodificação efectuado pelo aparelho para descodificação de imagens em movimento 700 em cima será esclarecido em baixo através da consideração da descodificação da imagem P13 e da imagem Bll tal como ilustrado na Fig.16 como um exemplo especifico. (Descodificação da Imagem P13)
Em primeiro lugar, a unidade de análise da corrente de bits 701 do aparelho para descodificação de imagens em movimento 700 obtém a corrente de bits no que diz respeito à imagem P13, e extrai a informação de selecção do modo e a informação de vetor de movimento e os dados de erro de predição codificados provenientes da corrente de bits. A unidade de descodificação do modo 703 controla os interruptores 709 e 710 com referência à informação de -48- selecçao do modo extraída da corrente de bits da imagem P13 .
Um caso em que a informação da selecção do modo indica a codificação de predição entre imagens será esclarecido de seguida. A unidade de descodificação de vetor de movimento 711 executa o processamento de descodificação anterior da informação de vetor de movimento extraída da corrente de bits da imagem P13 numa base em bloco a bloco com base na informação de selecção do modo indicando a codificação de predição entre imagens que sai da unidade de descodificação do modo 703.
Aqui, ao descodificar o vetor de movimento do bloco corrente na imagem P13, a unidade de descodificação de vetor de movimento 711 especifica três blocos contíguos previamente descodificados, e decide se cada um destes blocos contíguos foi descodificado, ou não, utilizando vetores de movimento de outros blocos. Quando qualquer um dos blocos contíguos é um bloco que foi codificado utilizando vetores de movimento de outros blocos, em especial no modo ignorar, a unidade de descodificação de vetor de movimento 711 trata um vetor de movimento calculado dos vetores de movimento de outros blocos para descodificação do bloco contíguo como um vetor de movimento do bloco contíguo, da mesma maneira que a unidade de codificação de vetor de movimento 117 faz no primeiro modelo. Para ser mais específico, a unidade de descodificação de vetor de movimento 711 calcula a mediana dos vetores de movimento dos três blocos previamente descodificados na vizinhança desse bloco contíguo, e trata-o como um vetor de movimento do bloco contíguo. -49-
Também, a unidade de armazenamento de vetor de movimento 706 armazena a informação de selecção do modo transmitida da unidade de descodificação do modo 703, e a unidade de descodificação de vetor de movimento 711 decide se cada um dos blocos contíguos é, ou não, um bloco que foi codificado utilizando vetores de movimento de outros blocos com base na informação de selecção do modo armazenada na unidade de armazenamento de vetor de movimento 706. A unidade de armazenamento de vetor de movimento 706 armazena ainda os vetores de movimento de outros blocos utilizados para a descodificação do bloco contíguo. Para ser mais específico, a unidade de armazenamento de vetor de movimento 706 armazena os vetores de movimento dos três blocos na vizinhança do bloco contíguo que foi codificado no modo ignorar. Ao descodificar o vetor de movimento do bloco corrente, a unidade de descodificação de vetor de movimento 711 calcula uma mediana a partir destes vetores de movimento dos três blocos anteriores armazenados na unidade de armazenamento de vetor de movimento 706. De salientar que a unidade de armazenamento de vetor de movimento 706 pode armazenar antecipadamente um vetor de movimento de um bloco que foi codificado utilizando vetores de movimento de outros blocos, através do cálculo de uma mediana dos vetores de movimento para a descodificação do bloco. Neste caso, ao descodificar o vetor de movimento do bloco corrente, a unidade de descodificação de vetor de movimento 711 não precisa obter o vetor de movimento do bloco contíguo que foi codificado no modo ignorar, mas pode utilizar o vetor de movimento armazenado na unidade de armazenamento de vetor de movimento 706 directamente como um vetor de movimento do bloco contíguo. -50-
Por outro lado, os dados de erro de predição codificados do macrobloco corrente na imagem P13 são descodificados na unidade de descodificação do erro preditivo 702 e gerados como uma imagem de erro de predição, e os interruptores 709 e 710 são ligados à unidade de adição 708. Deste modo, a imagem de compensação de movimento gerada com base no vetor de movimento descodificado na unidade de descodificação de vetor de movimento 711 é adicionada à imagem de erro de predição e sai para a memória de imagem 707.
Também, ao descodificar um vetor de movimento de uma imagem P, a unidade de descodificação de vetor de movimento 711 armazena o seu vetor de movimento e um modo de codificação obtido a partir da unidade de descodificação do modo 703 na unidade de armazenamento de vetor de movimento 706 para descodificar as imagens e blocos seguintes.
Os restantes macroblocos na imagem P13 são descodificados em série. Após a descodificação de todos os macroblocos na imagem P13 estar concluída, segue-se a descodificação da imagem Bll. (Descodificação da Imagem Bll)
Primeiro, a unidade de análise da corrente de bits 701 do aparelho para descodificação de imagens em movimento 700 obtém a corrente de bits da imagem Bll, e extrai a informação de selecção do modo e a informação de vetor de movimento e os dados de erro de predição codificados da corrente de bits. -51 - A unidade de descodificação do modo 703 controla os interruptores 709 e 710 no que diz respeito à informação de selecção do modo extraída da corrente de bits da imagem BI 1.
Um caso em que a informação de selecção do modo indica codificação de predição entre imagens será explicado a seguir. A unidade de descodificação de vetor de movimento 711 executa o processamento de descodificação acima mencionado da informação de vetor de movimento extraída da corrente de bits da imagem Bll numa base em bloco a bloco com base na informação de selecção do modo indicando a codificação de predição entre imagens transmitidas da unidade de descodificação do modo 703.
Ao descodificar o vetor de movimento de um bloco corrente na imagem P13, a unidade de descodificação de vetor de movimento 711 especifica três blocos contíguos previamente descodificados, e decide se cada um destes blocos contíguos foi codificado, ou não, utilizando vetores de movimento de outros blocos. Quando qualquer um dos blocos contíguos é um bloco que foi codificado utilizando vetores de movimento de outros blocos, em especial no modo directo temporal ou espacial, a unidade de descodificação de vetor de movimento 711 trata um vetor de movimento calculado dos vetores de movimento de outros blocos para descodificação do bloco contíguo como um vetor de movimento do bloco contíguo, da mesma maneira que a unidade de codificação de vetor de movimento 117 no primeiro modelo.
Mais especificamente, quando o bloco contíguo foi codificado no modo directo temporal, a unidade de descodificação de vetor de movimento 711 lê a partir da -52- unidade de armazenamento de vetor de movimento 706 um vetor de movimento de um bloco, co-localizado com um bloco contiguo que foi codificado no modo directo, numa imagem de referência previamente descodificada (imagem P13). Por exemplo, tal como ilustrado na Fig.ll, se o bloco contiguo C foi codificado no modo directo temporal, a unidade de descodificação de vetor de movimento 711 lê a partir do vetor de movimento descodificado do bloco X na imagem P13 a partir da unidade de armazenamento de vetor de movimento 706. Depois, a unidade de descodificação de vetor de movimento 711 calcula um vetor de movimento da frente MVFc e um vetor de movimento de trás MVBc utilizados para a codificação do bloco contiguo C utilizando a Equação 1 e a Equação 2, e utiliza estes vetores de movimento MVFc e MVBc como vetores de movimento de um bloco contiguo C.
No caso anterior, a unidade de descodificação de vetor de movimento 711 lê a partir da unidade de armazenamento de vetor de movimento 706 o vetor de movimento MVp do bloco X na imagem P13 que se encontra co-localizada com o bloco contiguo C que foi codificado no modo directo. Contudo, quanto ao bloco que foi codificado utilizando vetores de movimento de outros blocos, a unidade de armazenamento de vetor de movimento 706 pode armazenar o vetor de movimento calculado dos vetores de movimento de outros blocos para descodificação do bloco. Neste caso, a unidade de armazenamento de vetor de movimento 706 armazena antecipadamente os vetores de movimento MVFc e MVBc. Desse modo, ao descodificar o vetor de movimento do bloco corrente A, a unidade de descodificação de vetor de movimento 711 não precisa de calcular os vetores de movimento MVFc e MVBc para o bloco contiguo C através da -53- leitura do vetor de movimento MVp do bloco X e da utilização da Equação 1 e da Equação 2, mas pode utilizar os vetores de movimento MVFc e MVBc armazenados na unidade de armazenamento de vetor de movimento 706 directamente como vetores de movimento do bloco contíguo C.
Por outro lado, quando um bloco contíguo foi codificado no modo directo espacial, a unidade de descodificação de vetor de movimento 711 trata os vetores de movimento calculados utilizando vetores de movimento de outros blocos na vizinhança do bloco contíguo como seus vetores de movimento. Por exemplo, na situação ilustrada na Fig.12, a unidade de descodificação de vetor de movimento 711 calcula medianas dos vetores de movimento dos três blocos previamente descodificados E, F e G na vizinhança do bloco contíguo C que foi codificado no modo directo espacial, e trata o vetor de movimento da frente MVFc e o vetor de movimento de trás MVBc indicadas pelas medianas como vetores de movimento do bloco contíguo C.
Também, a unidade de armazenamento de vetor de movimento 706 armazena vetores de movimento utilizados para a descodificação de um bloco que foi codificado sem utilizar vetores de movimento de outros blocos. Para ser mais específico, na situação ilustrada na Fig.12, a unidade de armazenamento de vetor de movimento 706 armazena os vetores de movimento dos três blocos E, F e G na vizinhança do bloco contíguo C que foi codificado no modo directo espacial. Desse modo, ao descodificar o vetor de movimento do bloco corrente A, a unidade de descodificação de vetor de movimento 711 calcula os vetores de movimento MVFc e MVBc para o bloco contíguo a partir dos vetores de movimento dos três blocos anteriores E, F e G armazenados -54- na unidade de armazenamento de vetor de movimento 706. De salientar que a unidade de armazenamento de vetor de movimento 706 pode armazenar antecipadamente os vetores de movimento obtidos através do cálculo de medianas para descodificação de um bloco que foi codificado utilizando vetores de movimento de outros blocos. Neste caso, na situação ilustrada na Fig.12, a unidade de armazenamento de vetor de movimento 706 armazena antecipadamente os vetores de movimento MVFc e MVBc. Por isso, ao descodificar os vetores de movimento de um bloco corrente A, a unidade de descodificação de vetor de movimento 711 não precisa calcular os vetores de movimento do bloco contiguo C que foi codificado no modo directo espacial, mas pode utilizar os vetores de movimento MVFc e MVBc armazenados na unidade de armazenamento de vetor de movimento 706 directamente como vetores de movimento do bloco contíguo C.
Aqui, quando os vetores de movimento de um bloco corrente a ser descodificado são descodificados, se o bloco contíguo anteriormente descodificado do bloco corrente foi processado na codificação intra-imagens, e não a codificação entre imagens como em cima mencionado, o aparelho para descodificação de imagens em movimento 700 executa um processamento excepcional.
Por exemplo, quando um dos três blocos contíguos foi codificado intra-imagens, a unidade de descodificação de vetor de movimento 711 do aparelho para descodificação de imagens em movimento 700 executa o processamento, considerando os vetores de movimento do bloco contíguo como zero. Quando dois blocos contíguos foram codificados intra-imagens, a unidade de descodificação de vetor de movimento 711 utiliza os vetores de movimento de um bloco contíguo -55- restante como valores preditivos dos vetores de movimento do bloco corrente. Ainda, quando todos os três blocos contíguos foram codificados intra-imagens, a unidade de descodificação de vetor de movimento 711 descodifica os vetores de movimento do bloco corrente considerando os valores preditivos como zero.
Por outro lado, os dados de erros de predição codificados para o macrobloco corrente na imagem Bll foram descodificados na unidade de descodificação do erro preditivo 702 e gerados como uma imagem de erro de predição, e os interruptores 709 e 710 são ligados à unidade de adição 708. Desse modo, a imagem de compensação de movimento gerada com base nos vetores de movimento descodificação pela unidade de descodificação de vetor de movimento 711 é adicionada à imagem de erro de predição e é transmitida para a memória de imagem 707. O processamento de descodificação dos macroblocos restantes na imagem Bll é efectuado da mesma maneira. Após a conclusão do processamento para todos os macroblocos na imagem Bll, segue-se o processamento de descodificação da imagem B12.
Tal como em cima descrito, de acordo com o método de descodificação de vetor de movimento desta invenção, um valor preditivo é obtido a partir dos vetores de movimento dos blocos contíguos previamente descodificados, e um vetor de movimento de cada bloco corrente é descodificado utilizando um valor preditivo e a diferença. Se qualquer um dos blocos contíguos foi codificado utilizando vetores de movimento de outros blocos, por exemplo, no modo ignorar ou no modo directo, é obtido um valor preditivo utilizando, como um vetor de movimento do bloco contíguo, um vetor de -56- movimento calculado a partir dos blocos de movimento de outros blocos para a descodificação desse bloco contíguo.
Por consequência, os vetores de movimento que tenham sido codificados do modo descrito no primeiro modelo podem ser descodificados de modo adequado.
De salientar que, neste modelo, foi explicado um caso em que é utilizado uma mediana calculada a partir de vetores de movimento de três blocos contíguos anteriormente descodificados como um valor preditivo para descodificação de um vetor de movimento, mas pode ser aplicado qualquer outro número de blocos contíguos diferente de três, e o valor preditivo pode ser determinado por qualquer outro método. Por exemplo, um vetor de movimento de um bloco imediatamente à esquerda pode ser utilizado como um valor preditivo, ou pode ser utilizada uma média, em vez de uma mediana.
Também, neste modelo, foram explicadas localizações de blocos contíguos para a descodificação de um vetor de movimento utilizando a Fig.3 e Fig.4, mas podem ser aplicadas outras localizações.
Também, neste modelo, foi explicado um método para a codificação de um bloco corrente utilizando vetores de movimento de outros blocos tomando como exemplos o modo ignorar e os modos directo temporal e espacial, mas pode ser utilizado qualquer outro modo.
Também, neste modelo, foi explicado um caso em que um vetor de movimento é explicado através da adição de um valor preditivo obtido a partir de vetores de movimento de blocos contíguos e uma diferença como a indicada numa corrente de bits, mas pode ser utilizado qualquer outro -57- método diferente da adição para descodificar o vetor de movimento.
Também, neste modelo, foi explicado um caso em que quando um bloco contíguo foi codificado no modo directo espacial, uma mediana dos vetores de movimento de três blocos previamente codificados na vizinhança do bloco contíguo é calculado e é tratado como um vetor de movimento do bloco contíguo, mas pode ser utilizado qualquer outro número de blocos diferente de três, e pode ser utilizado qualquer outro método para determinar o vetor de movimento. Por exemplo, pode ser utilizado um vetor de movimento de um bloco imediatamente à esquerda como um vetor de movimento do bloco contíguo, ou utilizada uma média, em vez de uma mediana.
Também, neste modelo, quando existe um bloco contíguo que foi codificado no modo directo espacial, os dois vetores do bloco nos sentidos da frente e de trás são calculados, mas podem ser calculados dois vetores de movimento apenas no sentido da frente ou dois vetores de movimento apenas no sentido de trás. Neste caso, uma imagem B corrente a ser descodificada diz respeito a duas imagens apenas no sentido da frente ou a duas imagens apenas no sentido de trás.
Também, neste modelo, foi explicado um caso em que uma imagem previamente determinada é mencionada na descodificação de uma imagem P (a imagem PIO é mencionada na descodificação da imagem P13, por exemplo) e duas imagens previamente determinadas são mencionadas na descodificação de uma imagem B (as imagens PIO e P13 são mencionadas na descodificação da imagem Bll), mas estas imagens P e B podem ser descodificadas através da selecção -58- de imagens de referência dentre uma série de imagens em todos os macroblocos ou com base no bloco. Neste caso, um valor preditivo de um vetor de movimento pode ser gerado do modo ilustrado na Fig.17. A Fig.17 é um fluxograma que ilustra uma operação da unidade de descodificação de vetor de movimento 711 para a obtenção de um valor preditivo de um vetor de movimento de um bloco corrente a ser descodificado e descodificação de vetor de movimento utilizando o valor preditivo quando uma imagem de referência é seleccionada com base em bloco a bloco.
Primeiro, a unidade de descodificação de vetor de movimento 711 especifica três blocos contíguos previamente descodificados do bloco corrente (Passo S400).
Depois, a unidade de descodificação de vetor de movimento 711 decide se cada um dos blocos contíguos especificados é um bloco contíguo Ba que foi codificado utilizando vetores de movimento de outros blocos, ou um bloco contíguo Bb que foi codificado sem a utilização de vetores de movimento de outros blocos (Passo S402).
Aqui, no que diz respeito ao bloco contíguo Ba, a unidade de descodificação de vetor de movimento 711 obtém informação indicando um vetor de movimento utilizado para a descodificação do bloco contíguo Ba e a que imagem de referência se refere, e trata o vetor de movimento utilizado para a descodificação como um vetor de movimento do bloco contíguo Ba. No que diz respeito ao bloco contíguo Bb, a unidade de descodificação de vetor de movimento 711 obtém informação indicando o vetor de movimento do bloco contíguo Bb e a que imagem de referência se refere (Passo S 4 0 4 ) . -59-
De seguida, a unidade de descodificação de vetor de movimento 711 especifica o bloco contíguo que se refere à imagem à qual se refere o bloco corrente, dos três blocos contíguos, com base na informação obtida no Passo S404 (Passo S406), e determina o número dos blocos contíguos especificados (Passo S408).
Se o número dos blocos contíguos determinado no Passo S408 é 1, a unidade de descodificação de vetor de movimento 711 considera o vetor de movimento desse bloco contíguo que se refere à mesma imagem como um valor preditivo de vetor de movimento do bloco corrente (Passo S 410) .
Se o número de blocos contíguos determinado no Passo S408 é outro número diferente de 1, a unidade de descodificação de vetor de movimento 711 considera que o vetor de movimento do bloco contíguo, dentre os três blocos contíguos, que se refere a outra imagem diferente da qual o bloco corrente se refere, é zero (Passo S412), e considera a mediana dos vetores de movimento dos três blocos contíguos como um valor preditivo de vetor de movimento do bloco corrente (Passo S414).
Tal como em cima descrito, o vetor de movimento codificado do bloco corrente é descodificado pela adição da diferença ao valor preditivo obtido no Passo S410 ou no Passo S414.
Também, quando um vetor de movimento é descodificado utilizando um vetor de movimento de um bloco espacialmente contíguo como um valor preditivo, é necessário armazenar uma quantidade de vetores de movimento de uma linha de macrobloco (uma parte de um macrobloco alto e um ecrã largo) na unidade de armazenamento de vetor de -60- movimento 706 para descodificação de vetor de movimento, se os vetores de movimento que foram mesmo utilizados para compensação de movimento no modo ignorar ou no modo directo forem armazenados na unidade de armazenamento de vetor de movimento 706. Isto aplica-se ao caso em que os vetores de movimento que foram mesmo utilizados para a compensação de movimento, no modo ignorar ou no modo directo, são armazenados na unidade de armazenamento de vetor de movimento 706 . É por isso que quando os blocos contíguos explicados na Fig.3 e Fig.4 deste modelo são utilizados, existe um pedaço de macroblocos de blocos que são referidos como blocos contíguos para a descodificação de vetor de movimento, com o macrobloco corrente como ponto inicial. (Terceiro Modelo)
Além disso, se um programa para a realização do método de codificação de vetor de movimento ou do método de descodificação de vetor de movimento, tal como ilustrado em cada um dos modelos acima mencionados, for registado num suporte de armazenamento tal como um disco flexível, torna-se possível efectuar o processamento tal como ilustrado em cada um dos modelos anteriores facilmente num sistema informático independente. A Fig.18 é uma ilustração de um suporte de armazenamento que armazena um programa para a realização do método de codificação de vetor de movimento e o método de descodificação de vetor de movimento executado pelo aparelho de codificação de imagens em movimento (100) no primeiro modelo e o aparelho de descodificação de imagens -61 - em movimento 200 no segundo modelo por um sistema informático. A Fig.l8B ilustra a vista de frente e a vista em corte transversal do aspecto de um disco flexível FD, e um disco FD1, e a Fig.l8A ilustra um exemplo de um formato físico do disco FD1 como um suporte de gravação próprio. 0 disco FD1 está contido numa caixa F, uma série de faixas Tr formam-se concentricamente na superfície do disco FD1 na direcção do raio a partir da periferia, e cada faixa é dividida em 16 sectores Se na direcção angular. Desse modo, no disco flexível que armazena o programa acima mencionado, o método de codificação de vetor de movimento e o método de descodificação de vetor de movimento, tal como o programa anterior, são gravados numa área atribuída para isso no disco FD1. A Fig.l8C ilustra a estrutura para a gravação e reprodução do programa no e do disco flexível FD.
Para gravar o programa no disco flexível FD, o sistema informático Cs escreve o método de codificação de vetor de movimento ou o método de descodificação de vetor de movimento como o programa no disco flexível FD através de uma drive do disco flexível FDD. Para idealizar o método de codificação de vetor de movimento e o método de descodificação de vetor de movimento anteriores no sistema informático Cs pelo programa gravado no disco flexível FD, o programa é lido a partir do disco flexível FD através da drive do disco flexível FDD e transferido para o sistema informático Cs.
De salientar que a explicação anterior é feita com a suposição de que um suporte de gravação é um disco flexível FD, mas o mesmo processamento pode também ser -62- efectuado utilizando um disco óptico. Além disso, o suporte de gravação não está limitado a estes, mas podem ser utilizados quaisquer outros suportes tais como um cartão IC e uma cassete ROM da mesma maneira se um programa puder ser gravado neles. (Quarto Modelo)
Além disso, as aplicações do método de codificação de vetor de movimento e do método de descodificação de vetor de movimento, tal como ilustrados nos modelos anteriores, e um sistema que os utiliza serão aqui explicados. A Fig.19 é um diagrama de blocos que ilustra toda a configuração de um sistema de fornecimento de conteúdo exlOO para a realização do serviço de distribuição de conteúdo. A área para fornecer um serviço de comunicações é dividida em células de tamanho desejado, e as estações de base exl07-~, trata-se de estações sem fios fixas, são colocadas nas respectivas células.
Neste sistema de fornecimento de conteúdo exlOO, vários serviços tais como um computador exlll, um PDA (um assistente digital pessoal) exll2, uma câmara exll3, um telemóvel exll4 e um telemóvel equipado com câmara exllõ encontram-se ligados à Internet exlOl, através de um prestador de serviços de Internet exl02, uma rede telefónica exl04 e estações de base exl07~exll0, por exemplo.
Contudo, o sistema de fornecimento de conteúdo exlOO não está limitado à combinação tal como ilustrado na Fig.13, e pode estar ligado a uma combinação de qualquer um -63- deles. Também, cada dispositivo pode estar directamente ligado à rede telefónica exl04, não através das estações de base exl07~exll0 que são estações sem fios fixas. A câmara exll) é um dispositivo tal como uma câmara de video digital capaz de obter imagens em movimento. 0 telemóvel pode ser qualquer telemóvel de um sistema PDC (Comunicações Digitais Pessoais), um sistema CDMA (Acesso Múltiplo por Divisão de Código), um W-CDMA (Acesso Múltiplo por Divisão de Código em Banda Larga) ou um GSM (Sistema
Global para Comunicações Móveis), um sistema PHS e outro idêntico.
Também, um servidor de fluxo exl03 está ligado à câmara exll3 através da estação de base exl09 e a rede telefónica exl04, permitindo a distribuição ao vivo, ou idêntico, utilizando a câmara exll3 com base nos dados codificados transmitidos a partir do utilizador. Tanto a câmara exll3 como o servidor para a transmissão de dados pode codificar os dados obtidos pela câmara. Também, os dados de imagens em movimento obtidos pela câmara exll6 podem ser transmitidos ao servidor de fluxo exl03 através do computador exlll. A câmara exll6 é um dispositivo tal como uma câmara digital capaz de obter imagens fixas ou em movimento. Neste caso, tanto a câmara exllô como o computador exlll podem codificar os dados das imagens em movimento. Um LSI exll7 incluído no computador exlll ou a câmara exll6 executa o processamento de codificação. De salientar que o software para a codificação e descodificação de imagens pode ser integrado em qualquer tipo de um suporte de armazenamento (tal como um CD-ROM, um disco flexível e um disco rígido) que seja um suporte de gravação que pode ser lido pelo computador exlll ou -64- idêntico. Além disso, o telemóvel equipado com câmara exll5 pode transmitir os dados de imagens de movimento. Estes dados de imagens em movimento são os dados codificados pelo LSI incluido no telemóvel exll5.
Neste sistema de fornecimento de conteúdo exlOO, os conteúdos (tais como videos de música ao vivo) obtidos pelos utilizadores utilizando a câmara exll3, a câmara exllô e idêntico, são codificados da mesma maneira que os modelos anteriores e transmitidos ao servidor de fluxo exl03, enquanto o servidor de fluxo exl03 faz a distribuição de fluxo dos dados de conteúdo anteriores aos clientes a seu pedido. Os clientes incluem o computador exlll, o PDA exll2, a câmara exll3, o telemóvel exll4, e por ai diante, capaz de descodificar os dados codificados anteriormente mencionados. 0 sistema de fornecimento de conteúdo exlOO é um sistema no qual os clientes podem pois receber e reproduzir os dados codificados, e podem ainda receber, descodificar e reproduzir os dados em tempo real de modo a realizar transmissão pessoal.
Quando cada dispositivo neste sistema executa codificação ou descodificação, pode ser utilizado o aparelho para codificação de imagens em movimento ou o aparelho para descodificação de imagens em movimento tal como ilustrado em cada um dos modelos anteriores.
Um telemóvel será explicado como um exemplo disso. A Fig.20 é um diagrama que ilustra um telemóvel exll5 que utiliza o método para codificação de vetor de movimento e o método para descodificação de vetor de movimento, tal como explicado nos modelos acima. 0 telemóvel exll5 possui uma antena ex201 para enviar e receber ondas radioeléctricas entre a estação de base -65- exllO, uma unidade da câmara ex203, tal como uma câmara CCD capaz de obter imagens de vídeo e fixas, uma unidade de visualização ex202, tal como um ecrã de cristais líquidos para a visualização dos dados obtidos pelo vídeo de descodificação pela unidade da câmara ex203, vídeo recebido pela antena ex201, ou idêntico, um corpo principal incluindo um conjunto de teclas de operação ex204, uma unidade de saída de voz ex208, tal como um altifalante para a saída de vozes, uma unidade de entrada de voz ex205, tal como um microfone para a entrada de vozes, um suporte de armazenamento ex20) para armazenar dados codificados ou descodificados, tais como dados de imagens em movimento ou fixas obtidas pela câmara, e dados de texto, imagens em movimento ou imagens fixas de e-mails recebidos, e uma unidade de encaixe ex206 para ligar o suporte de armazenamento ex2 0 7 ao telemóvel exll5. 0 suporte de armazenamento ex207 inclui um elemento de memória flash, um tipo de EEPROM (Memória Exclusivamente de Leitura, Programável, Apagável Electricamente) que se trata de uma memória electricamente apagável e regravável não volátil, numa caixa de plástico como um cartão SD.
Ainda, o telemóvel exll5 será explicado com referência à Fig.21. No telemóvel exll5, uma unidade de controlo ex311 para o controlo total de cada unidade do corpo principal, incluindo uma unidade de visualização ex20) e as teclas de funcionamento ex204, encontra-se ligada a uma unidade de circuito de fornecimento de energia ex310, a uma unidade de controlo de entrada de operações ex304, uma unidade de codificação de imagens ex312, uma unidade de interface da câmara ex303, uma unidade de controlo LCD (Ecrã de Cristais Líquidos) ex302, uma unidade -66- de descodificação de imagens ex309, uma unidade de multiplexagem/desmultiplexagem ex307, uma unidade de circuito modem ex30) e uma unidade de processamento de voz ex305 entre si através de um barramento síncrono ex313.
Quando uma tecla de fim de chamada ou uma tecla de accionamento é ligada ON pelo utilizador, a unidade de circuito de fornecimento de energia ex310 fornece as unidades respectivas com energia do pack de baterias, de modo a activar o telemóvel digital equipado com câmara exll5 para um estado de disponível.
No telemóvel exll5, sob o controlo da unidade de controlo principal ex31), incluindo um CPU, ROM, RAM e idêntico, a unidade de processamento de voz ex305 converte os sinais de voz recebidos pela unidade de entrada de voz ex205 em modo de conversação para dados de voz digital, a unidade do circuito de modem ex306 efectua o processamento por alargamento do espectro dos dados de voz digital, e a unidade de circuito de envio/recepção ex301 efectua conversão digital para analógico e transformação de frequência dos dados, de modo a transmitir o resultado através da antena ex201. Também, no telemóvel exll5, os dados recebidos pela antena ex201 no modo de conversação são amplificados e efectuados da frequência de transformação e conversão de analógico para digital, a unidade do circuito de modem ex306 efectua o processamento inverso por alargamento do espectro dos dados, e a unidade de processamento de voz ex305 converte-os em dados de voz analógicos, de modo a fazer sair o resultado através da unidade de sarda de voz ex208 • Além disso, ao transmitir um e-mail no modo de comunicação de dados, os dados de texto do e-mail -67- introduzido através do funcionamento das teclas de operação ex204 no corpo principal são enviados para a unidade de controlo principal ex311 através da unidade de controlo de entrada de operações ex304. Na unidade de controlo principal ex311, após a unidade de circuito modem ex306 ter executado o processamento por alargamento do espectro dos dados de texto e a unidade de circuito de envio/recepção ex301 efectuar a conversão digital para analógico e transformar a frequência destes, o resultado é transmitido à estação de base exllO através da antena ex201.
Quando os dados de imagens são transmitidos no modo de comunicação de dados, os dados de imagens obtidos pela unidade da câmara ex203 são fornecidos à unidade de codificação de imagens ex312 através da unidade de interface da câmara ex303 . Quando os dados da imagem não são transmitidos, os dados da imagem obtidos pela unidade da câmara ex203 podem também ser visualizados directamente na unidade de visualização 202 através da unidade de interface da câmara ex303 e da unidade de controlo LCD ex302 . A unidade de codificação de imagens ex312, incluindo o aparelho para descodificação de imagens explicado nesta invenção, comprime e codifica os dados de imagem fornecidos pela unidade da câmara ex203 através do método de codificação utilizado pelo aparelho de codificação de imagens, tal como ilustrado nos modelos anteriormente mencionados, de modo a transformá-los em dados de imagens codificados, e envia-os para a unidade de multiplexagem/desmultiplexagem ex308. Neste momento, o telemóvel exll5 envia as vozes recebidas pela unidade de entrada de voz ex205 durante a imagem captada pela unidade -68- de câmara ex203 para a unidade de multiplexagem/desmultiplexagem ex308 como dados de voz digital através da unidade de processamento de voz ex305. A unidade de multiplexagem/desmultiplexagem ex308 efectua a multiplexagem dos dados de imagem codificados fornecidos pela unidade de codificação de imagens ex312 e os dados de voz fornecidos pela unidade de processamento de voz ex305 por um método previamente determinado, a unidade de circuito modem ex306 efectua o processamento por alargamento do espectro dos dados multiplexados resultantes, e a unidade de circuito de envio/recepção ex301 efectua a conversão digital para analógico e transformação de frequência no resultado para transmissão através da antena ex201.
No que diz respeito à recepção de dados de um ficheiro de imagens em movimento ligado a um sítio Web ou idêntico no modo de comunicação de dados, a unidade de circuito modem ex306 efectua o processamento inverso por alargamento do espectro dos dados recebidos da estação de base exllO através da antena ex201, e envia os dados multiplexados resultantes para a unidade de multiplexagem/desmultiplexagem ex308.
Para descodificar os dados multiplexados recebidos pela antena ex201, a unidade de multiplexagem/desmultiplexagem ex308 faz a desmultiplexagem dos dados multiplexados numa corrente de bits codificados de dados de imagens e uma corrente de bits codificados de dados de voz, e fornece os dados de imagens codificados à unidade de descodificação de imagens ex309 e os dados de voz à unidade de processamento de voz ex305, respectivamente através do barramento síncrono ex313. -69- A seguir, a unidade de descodificação de imagens ex309, incluindo o aparelho de descodificação de imagens nesta invenção, descodifica a corrente de bits codificados dos dados de imagens através do método de descodificação agrupado com o método de codificação, tal como ilustrado nos modelos anteriormente mencionados, de modo a gerar dados de imagens em movimento reproduzidas, e fornece estes dados à unidade de visualização ex202 através de uma unidade de controlo LCD ex302, e, logo, os dados de imagens em movimento num ficheiro de imagens em movimento ligado a um sitio Web, por exemplo, são visualizados. Ao mesmo tempo, a unidade de processamento de voz ex305 converte os dados de voz em dados de voz análogos, e fornece estes dados à unidade de saída de voz ex208, e deste modo os dados de voz incluídos num ficheiro de imagens em movimento ligados a um sítio Web, por exemplo, são reproduzidos.
Esta invenção não se limita ao sistema anteriormente mencionado. Actualmente, a radiodifusão digital terrestre ou por satélite tem sido notícia, e pelo menos o aparelho de codificação de imagens ou o aparelho de descodificação de imagens nos modelos anteriormente mencionados pode ser incluído num destes sistemas de radiodifusão digital tal como ilustrado na Fig.2. Mais especificamente, uma corrente de bits codificados de informação de vídeo é transmitida a partir de uma estação de radiodifusão ex409 para ou comunicada com um satélite de radiodifusão ex410 através de ondas radioeléctricas. Após a sua recepção, o satélite de radiodifusão ex410 transmite ondas radioeléctricas para radiodifusão, uma antena interna ex406 com uma função de recepção de radiodifusão por -70- satélite recebe as ondas radioeléctricas, e um aparelho tal como uma televisão (receptor) ex401 ou uma caixa conversora (STB)ex407, descodifica a corrente de bits codificados para reprodução. O aparelho para descodificação de imagens, tal como ilustrado nos modelos anteriormente mencionados, pode ser implementado no dispositivo de reprodução ex403 para leitura de uma corrente de bits codificados gravados num suporte de armazenamento ex402, tal como um CD e um DVD gue é um suporte de gravação, e descodificá-los. Neste caso, os sinais de video reproduzidos são visualizados num monitor ex404. É também concebido para implementar o aparelho de descodificação de imagens numa caixa conversora ex407 ligada a um cabo ex405 para uma televisão por cabo ou a antena ex406 para radiodifusão por satélite e/ou terrestre de modo a reproduzi-los num monitor ex408 da televisão. O aparelho de descodificação de imagens pode ser incluído na televisão, e não na caixa conversora. Ou, um automóvel ex412 com uma antena ex411, pode receber sinais de satélite ex410, a estação de base exl07, ou idêntico, para reproduzir imagens em movimento num aparelho de visualização tal como um dispositivo de navegação automóvel ex413, ou idêntico no automóvel ex412.
Além disso, o aparelho para a codificação de imagens, tal como ilustrado nos modelos anteriormente mencionados, pode codificar sinais de imagens para os gravar num suporte de gravação. Como um exemplo concreto, existe um gravador ex420, tal como um gravador de DVD, para gravar sinais de imagens num DVD ex421 e um gravador de discos para gravá-los num disco rígido. Podem também ser gravados num cartão SC ex422. Se o gravador ex420 inclui o aparelho de descodificação de imagens tal como ilustrado -71 - nos modelos anteriormente mencionados, os sinais de imagens gravados no DVD ex421 ou no cartão SD ex422 podem ser reproduzidos para visualização no monitor ex408.
De salientar que tal como a estrutura do dispositivo de navegação do automóvel ex413, a estrutura sem a unidade da câmara ex203, a unidade de interface da câmara ex303 e a unidade de codificação de imagens ex312, das unidades ilustradas na Fig.21, são concebíveis. 0 mesmo aplica-se ao computador ex311, à televisão (receptor) ex401 e outros.
Além disso, podem ser concebidos três tipos de implementações para um terminal tal como o telemóvel anteriormente mencionado exll4: um terminal de envio/recepção equipado com ambos um codificador e um descodificador, um terminal de envio equipado apenas com um codificador, e um terminal de recepção equipado apenas com um descodificador.
Tal como anteriormente descrito, é possível utilizar o método de codificação de vetor de movimento ou o método de descodificação de vetor de movimento, tal como ilustrado nos modelos anteriores, em quaisquer dispositivos e sistemas anteriormente mencionados, e logo pode ser obtido o efeito explicado nos modelos anteriormente mencionados.
Aplicação Industrial 0 método de codificação de vetor de movimento e o método de descodificação de vetor de movimento, de acordo com esta invenção, são adequados para utilização num aparelho de codificação de imagens em movimento para a -72- codificação de imagens em movimento, num aparelho de descodificação de imagens em movimento para a descodificação de imagens em movimento codificadas, e um sistema incluindo estes aparelhos, tais como um sistema de fornecimento de conteúdo para o fornecimento de conteúdos como trabalhos digitais, por exemplo, e um sistema de radiodifusão digital.
Segue-se uma lista de outros modelos da invenção:
Modelo 1 Um método de codificação de vetor de movimento para codificar um vetor de movimento de um bloco corrente numa imagem em movimento, que compreende: um passo de especificação de bloco contíguo para especificar um bloco contíguo que se encontra localizado na vizinhança do bloco corrente e que já foi codificado; um passo de decisão para decidir se o bloco contíguo foi, ou não, codificado utilizando um vetor de movimento de outro bloco; um passo de predição para a geração de um vetor de movimento preditivo do bloco corrente utilizando um vetor de movimento calculado a partir do vetor de movimento do dito outro bloco como um vetor de movimento do bloco contíguo, quando é decidido no passo de decisão que o bloco contíguo foi codificado utilizando o vetor de movimento do dito outro bloco; e um passo de codificação para a codificação do vetor de movimento do bloco corrente utilizando -73- o vetor de movimento preditivo.
Modelo 2 0 método de codificação do vetor de movimento com as características do modelo 1, em que o bloco contíguo, que ficou decidido ter sido codificado utilizando o vetor de movimento do referido bloco no passo de decisão, inclui um bloco contíguo que foi codificado utilizando um vetor de movimento calculado a partir de um vetor de movimento de outro bloco temporariamente à frente ou atrás do bloco contíguo.
Modelo 3 0 método de codificação de vetor de movimento com as características do modelo 1, em que o bloco contíguo, que foi decidido ter sido codificado utilizando o vetor de movimento do referido outro bloco no passo de decisão, inclui um bloco contíguo que foi codificado utilizando um vetor de movimento calculado a partir de um vetor de movimento de outro bloco na imagem incluindo o bloco contíguo.
Modelo 4 0 método de codificação de vetor de movimento com as características do modelo 1 compreendendo ainda um passo de armazenamento para armazenar com antecedência o vetor de movimento calculado a partir do vetor de movimento do dito outro bloco, quando o bloco contíguo está codificado utilizando o vetor de movimento do dito outro bloco, em que no passo de predição, o vetor de movimento preditivo é criado utilizando o vetor de movimento armazenado no passo de armazenamento como o vetor de movimento do bloco contíguo, quando se decide no passo de decisão que o bloco contíguo foi codificado utilizando o vetor de movimento do referido outro bloco. -74-
Modelo 5 0 método de codificação de vetor de movimento com as caracteristicas do modelo 1, compreendendo ainda um passo de armazenamento para armazenar com antecedência o vetor de movimento do referido outro bloco usado para codificar o bloco contíguo, em que no passo de predição, o vetor de movimento usado como o vetor de movimento do bloco contíguo é calculado a partir do vetor de movimento armazenado no passo de armazenamento e o vetor de movimento é gerado a partir do referido vetor de movimento calculado, quando se decidiu no passo de decisão que o bloco contíguo foi codificado utilizando o vetor de movimento do referido outro bloco. Modelo 6 0 método de codificação de vetor de movimento com as caracteristicas do modelo 1, em que, num caso em que o referido outro bloco tem dois vetores de movimento, o vetor de movimento preditivo é gerado na direcção temporariamente para a frente e temporariamente para trás separadamente no passo de predição, e o vetor de movimento do bloco corrente é codificado temporariamente na direcção para a frente e temporariamente para trás separadamente no passo de codificação.
Modelo 7 0 método de codificação de vetor de movimento com as caracteristicas do modelo 1, em que, num caso em que o referido outro bloco tem um vetor de movimento especificado temporariamente na direcção para a frente e um vetor de movimento especificado temporariamente na direcção para trás, o vetor de movimento preditivo incluindo dois vetores de movimento preditivos é gerado no passo de predição, um temporariamente numa direcção para a frente e o outro temporariamente numa -75- direcção para trás separadamente, e o vetor de movimento do bloco corrente incluindo dois vetores de movimento é codificado no passo de codificação, um temporariamente na direcção para a frente e o outro temporariamente na direcção para trás separadamente.
Modelo 8 Um método de descodificação de vetor de movimento para descodificar um vetor de movimento codificado de um bloco corrente numa imagem em movimento, compreendendo: um passo de especificação de bloco contíguo para especificar um bloco contíguo que se encontra localizado na vizinhança do bloco corrente e que já foi codificado; um passo de decisão para decidir se o bloco contíguo foi, ou não, codificado utilizando um vetor de movimento de outro bloco; um passo de predição para a geração de um vetor de movimento preditivo do bloco corrente utilizando um vetor de movimento calculado a partir do vetor de movimento do dito outro bloco como um vetor de movimento do bloco contíguo, quando é decidido no passo de decisão que o bloco contíguo foi codificado utilizando o vetor de movimento do dito outro bloco; e um passo de descodificação para a descodificação do vetor de movimento codificado do bloco corrente utilizando o vetor de movimento preditivo.
Modelo 9 0 método de descodificação de vetor de movimento com as características do modelo 8, -76- em que o bloco contíguo, que se decidiu ter sido codificado utilizando o vetor de movimento do referido outro bloco no passo de decisão, inclui um bloco contíguo que foi codificado utilizando um vetor de movimento calculado a partir de um vetor de movimento de outro bloco localizado temporariamente para a frente ou para trás do bloco contíguo.
Modelo 10 O método de descodificação de vetor de movimento com as características do modelo 8, em que o bloco contíguo, que se decidiu ter sido codificado utilizando o vetor de movimento do referido outro bloco no passo de decisão, inclui um bloco contíguo que foi codificado utilizando um vetor de movimento calculado a partir de um vetor de movimento de outro bloco na imagem incluindo o bloco contíguo.
Modelo 11 O método de descodificação de vetor de movimento com as características do modelo 8, compreendendo ainda um passo de armazenamento para armazenar com antecedência o vetor de movimento calculado a partir do vetor de movimento do referido outro bloco, quando o bloco contíguo é descodificado utilizando o vetor de movimento do referido outro bloco, em que no passo de predição, o vetor de movimento preditivo é gerado utilizado o vetor de movimento armazenado no passo de armazenamento como o vetor de movimento do bloco contíguo, quando se decidiu no passo de decisão que o bloco contíguo foi codificado utilizando o vetor de movimento do referido outro bloco.
Modelo 12 O método de descodificação de vetor de movimento com as características do modelo 8, compreendendo ainda um passo de armazenamento para -77- armazenar com antecedência o vetor de movimento do referido outro bloco utilizado para descodificar o bloco contíguo, em que, no passo de predição, o vetor de movimento utilizado como o vetor de movimento do bloco contíguo é calculado a partir do vetor de movimento armazenado no passo de armazenamento e o vetor de movimento preditivo é gerado a partir do referido vetor de movimento calculado, quando se decidiu no passo de decisão que o bloco contíguo foi codificado utilizando o vetor de movimento do referido outro bloco.
Modelo 13 0 método de descodificação de vetor de movimento com as características do modelo 8, em que, num caso em que o referido outro bloco tem dois vetores de movimento, o vetor de movimento preditivo é gerado temporariamente na direcção para a frente e temporariamente na direcção para trás separadamente no passo de predição, e o vetor de movimento codificado do bloco corrente é descodificado temporariamente na direção para a frente e temporariamente na direcção para trás separadamente no passo de descodificação.
Modelo 14 0 método de descodificação de vetor de movimento com as características do modelo 8, em que, num caso em que o referido outro bloco tem um vetor de movimento especificado temporariamente na direcção para a frente e um vetor de movimento temporariamente na direcção para trás, o vetor de movimento preditivo incluindo dois vetores de movimento preditivos é gerado no passo de predição, um temporariamente numa direcção para a frente e o outro temporariamente na direcção para trás separadamente, e o vetor de movimento codificado do bloco corrente incluindo dois vetores de movimento é -78- descodifiçado no passo de descodificação, um temporariamente na direcção para a frente e o outro temporariamente na direcção para trás separadamente.
Modelo 15 Um aparelho de codificação de vetor de movimento para codificar um vetor de movimento de um bloco corrente numa imagem em movimento, compreendendo: uma unidade de especificação de bloco contíguo para especificar um bloco contíguo que se encontra localizado na vizinhança do bloco corrente e que já foi codificado; uma unidade de decisão para decidir se o bloco contíguo foi, ou não, codificado utilizando um vetor de movimento de outro bloco; uma unidade de predição para a geração de um vetor de movimento preditivo do bloco corrente utilizando um vetor de movimento calculado a partir do vetor de movimento do dito outro bloco como um vetor de movimento do bloco contíguo, quando é decidido no passo de decisão que o bloco contíguo foi codificado utilizando o vetor de movimento do dito outro bloco; e uma unidade de codificação para a codificação do vetor de movimento do bloco corrente utilizando o vetor de movimento preditivo.
Modelo 16 Um aparelho de codificação de imagens em movimento para codificar uma imagem em movimento, compreendendo: o aparelho de codificação de vetor de movimento com as características do modelo 15; e -79- uma unidade de codificação de imagens para codificar a imagem correspondente ao vetor de movimento que foi codificado pelo referido aparelho de codificação de vetor de movimento.
Modelo 17 Um aparelho de descodificação de vetor de movimento para descodificar um vetor de movimento codificado de um bloco corrente numa imagem em movimento, compreendendo: uma unidade de especificação de bloco contíguo utilizável para especificar um bloco contíguo que se encontra localizado na vizinhança do bloco corrente e que já foi codificado; uma unidade de decisão utilizável para decidir se o bloco contíguo foi, ou não, codificado utilizando um vetor de movimento de outro bloco; uma unidade de predição utilizável para a geração de um vetor de movimento preditivo do bloco corrente utilizando um vetor de movimento calculado a partir do vetor de movimento do dito outro bloco como um vetor de movimento do bloco contíguo, quando é decidido no passo de decisão que o bloco contíguo foi codificado utilizando o vetor de movimento do dito outro bloco; e uma unidade de descodificação para a descodificação do vetor de movimento codificado do bloco corrente utilizando o vetor de movimento preditivo. -80-
Modelo 18 Um aparelho de descodificação de vetor de movimento para descodificar uma imagem em movimento codificada, compreendendo: o aparelho de descodificação de vetor de movimento com as caracteristicas do modelo 17; e uma unidade de descodificação de imagens para descodificar a imagem correspondente ao vetor de movimento que foi descodificado pelo referido aparelho de descodificação de vetor de movimento.
Modelo 19 Um programa que faz com que um computador execute os passos incluídos no método de codificação do vetor de movimento com as caracteristicas do modelo 1.
Modelo 20 Um programa que faz com que um computador execute os passos incluídos no método de descodificação do vetor de movimento com as caracteristicas do modelo 8.
Modelo 21 Um meio de armazenamento para armazenar o programa com as caracteristicas do modelo 19.
Modelo 22 Um meio de armazenamento para armazenar o programa com as caracteristicas do modelo 20. -81-
REFERÊNCIAS CITADAS NA DESCRIÇÃO
Esta lista de referências citadas pelo requerente é apenas para a conveniência do leitor. A mesma não faz parte do documento de Patente Europeia. Embora muito cuidado tenha sido tomado na compilação das referências, erros e omissões não podem ser excluídos e o EPO nega qualquer responsabilidade neste sentido.
Literatura citada na descrição, para além das patentes de invenção • Information Technology - Coding of audio-visual objects -Part 2, 12 January 1999, 146-148 [0004]
• H.26L Test Model Long Term Number 6 (TML-6) draftO
Telecommunications Standardization Sector of ITU, 3 March 2001 [0007]

Claims (3)

  1. REIVINDICAÇÕES 1. Um método de descodificação de vetor de movimento para a descodificação de um vetor de movimento de um bloco corrente numa imagem em movimento, compreendendo: especificar (S210, S400) três blocos contíguos que se encontram localizados na vizinhança do bloco corrente e que já foram descodificados; decidir (S202, S402) se cada um dos três blocos contíguos foi, ou não, descodificado utilizando um vetor de movimento de outro bloco e se, ou não, uma imagem de referência, à qual se refere na descodificação do bloco corrente, é a mesma de cada imagem de referência, à qual é feita referência numa descodificação de cada um dos três blocos contíguos; gerar (S206, S410)um vetor de movimento preditivo do bloco corrente utilizando pelo menos um dos vetores de movimento dos vários blocos contíguos, possuindo cada um dos vários blocos contíguos um vetor de movimento obtido pela utilização do vetor de movimento do outro bloco contíguo, quando é decidido no referido passo de decisão (S202, S402) que cada um dos vários blocos contíguos tenha sido descodificado utilizando o vetor de movimento do dito outro bloco; e descodificar o vetor de movimento codificado para obter um vetor de movimento de diferença -2- descodifiçado do bloco corrente; e recuperar o vetor de movimento do bloco de corrente, adicionando (S210, S416) o vetor de movimento de diferença descodificado do bloco corrente e o vetor de movimento preditivo, em que, na referida geração (S206, S410), quando é decidido, na referida decisão (S202, S402), que três blocos contíguos se referem à mesma imagem de referência tal como o bloco corrente, o vetor de movimento preditivo do bloco corrente é definido para uma mediana de vetores de movimento dos três blocos contíguos.
  2. 2. 0 método de descodificação de vetor de movimento de acordo com a reivindicação 1, em que, na referida geração (S206, S410), quando é decidido, na referida decisão (S202, S402), que apenas dois blocos contíguos de entre os três blocos contíguos se referem à mesma imagem de referência como o bloco corrente, um vetor de movimento do outro bloco contíguo do bloco corrente é definido para zero e o movimento preditivo é definido para uma mediana dos vetores de movimento dos três blocos contíguos.
  3. 3. Um aparelho de descodificação de vetor de movimento (700) para descodificar um vetor de movimento de um bloco corrente numa imagem em movimento, compreendendo o referido aparelho: -3- uma unidade de especificação de bloco contíguo (711) utilizável para especificar três blocos contíguos localizados na vizinhança do bloco corrente e que já tenham sido descodificados; uma unidade de decisão (711) utilizável para decidir se cada um dos três blocos contíguos foram, ou não, descodificados utilizando um vetor de movimento de outro bloco e se uma imagem de referência, à qual se refere na descodificação do bloco corrente, é ou não a mesma como cada uma das imagens de referência referidas numa descodificação de cada um dos três blocos contíguos; uma unidade de predição (711) utilizável para obter um vetor de movimento preditivo do bloco corrente utilizando pelo menos um dos vetores de movimento dos vários blocos contíguos, possuindo cada um dos vários blocos contíguos um vetor de movimento obtido utilizando o vetor de movimento do dito outro bloco quando é decidido, pela referida unidade de decisão (711) que cada um dos vários blocos contíguos tenha sido descodificado utilizando o vetor de movimento do outro bloco; uma unidade de descodificação (711) utilizável para descodificar o vetor de movimento do bloco corrente adicionando o vetor de movimento de diferença descodificado do bloco corrente e o vetor de movimento preditivo; e uma unidade de recuperação (711) utilizável para recuperar o vetor de movimento do bloco -4- corrente, adicionando o vetor de movimento de diferença descodificado do bloco corrente e o vetor de movimento preditivo, em que a referida unidade de predição geradora (711) é utilizável para, quando é decidido, pela referida unidade de decisão (711), que três blocos contíguos se referem à mesma imagem de referência como o bloco corrente, definem o vetor de movimento preditivo do bloco corrente para uma mediana de vetores de movimento dos três blocos contíguos.
PT10187156T 2002-01-09 2003-01-08 Método de descodificação de vetor de movimento PT2273793E (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002001983 2002-01-09
JP2002204714 2002-07-12
JP2002346062A JP4114859B2 (ja) 2002-01-09 2002-11-28 動きベクトル符号化方法および動きベクトル復号化方法

Publications (1)

Publication Number Publication Date
PT2273793E true PT2273793E (pt) 2012-11-02

Family

ID=27348065

Family Applications (11)

Application Number Title Priority Date Filing Date
PT101871721T PT2273795T (pt) 2002-01-09 2003-01-08 Método de codificação de imagem em movimento
PT03700472T PT1439713E (pt) 2002-01-09 2003-01-08 Método de codificação e método de descodificação de vector de movimento
PT10169924T PT2249576E (pt) 2002-01-09 2003-01-08 Método de descodificação de imagens e aparelho de descodificação de imagens
PT101699130T PT2249573E (pt) 2002-01-09 2003-01-08 Método de descodificação de vector de movimento
PT10169923T PT2249575E (pt) 2002-01-09 2003-01-08 Método de codificação de imagens e aparelho de codificação de imagens
PT101871515T PT2293581T (pt) 2002-01-09 2003-01-08 Método de descodificação de vetor em movimento
PT101699254T PT2249577E (pt) 2002-01-09 2003-01-08 Método de codificação de vector de movimento
PT10169926T PT2249578E (pt) 2002-01-09 2003-01-08 Método de descodificação de vector de movimento
PT101699221T PT2249570E (pt) 2002-01-09 2003-01-08 Aparelho de descodificação de imagem em movimento
PT10187156T PT2273793E (pt) 2002-01-09 2003-01-08 Método de descodificação de vetor de movimento
PT101699197T PT2249574E (pt) 2002-01-09 2003-01-08 Aparelho de codificação de imagem em movimento

Family Applications Before (9)

Application Number Title Priority Date Filing Date
PT101871721T PT2273795T (pt) 2002-01-09 2003-01-08 Método de codificação de imagem em movimento
PT03700472T PT1439713E (pt) 2002-01-09 2003-01-08 Método de codificação e método de descodificação de vector de movimento
PT10169924T PT2249576E (pt) 2002-01-09 2003-01-08 Método de descodificação de imagens e aparelho de descodificação de imagens
PT101699130T PT2249573E (pt) 2002-01-09 2003-01-08 Método de descodificação de vector de movimento
PT10169923T PT2249575E (pt) 2002-01-09 2003-01-08 Método de codificação de imagens e aparelho de codificação de imagens
PT101871515T PT2293581T (pt) 2002-01-09 2003-01-08 Método de descodificação de vetor em movimento
PT101699254T PT2249577E (pt) 2002-01-09 2003-01-08 Método de codificação de vector de movimento
PT10169926T PT2249578E (pt) 2002-01-09 2003-01-08 Método de descodificação de vector de movimento
PT101699221T PT2249570E (pt) 2002-01-09 2003-01-08 Aparelho de descodificação de imagem em movimento

Family Applications After (1)

Application Number Title Priority Date Filing Date
PT101699197T PT2249574E (pt) 2002-01-09 2003-01-08 Aparelho de codificação de imagem em movimento

Country Status (18)

Country Link
US (22) US7362807B2 (pt)
EP (12) EP2249575B1 (pt)
JP (1) JP4114859B2 (pt)
KR (4) KR100946845B1 (pt)
CN (1) CN1295934C (pt)
AT (1) ATE493846T1 (pt)
AU (1) AU2003201906B2 (pt)
BR (2) BR0302580A (pt)
CA (3) CA2762054C (pt)
CY (5) CY1114052T1 (pt)
DE (1) DE60335516D1 (pt)
DK (12) DK2293581T3 (pt)
ES (11) ES2410533T3 (pt)
HU (2) HUE031077T2 (pt)
MX (1) MXPA03007629A (pt)
PT (11) PT2273795T (pt)
SI (5) SI2249573T1 (pt)
WO (1) WO2003061297A1 (pt)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6765964B1 (en) 2000-12-06 2004-07-20 Realnetworks, Inc. System and method for intracoding video data
KR100424762B1 (ko) * 2001-09-06 2004-03-30 삼성전자주식회사 영상 데이터 제공 시스템 및 방법
US7003035B2 (en) * 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
KR100906473B1 (ko) * 2002-07-18 2009-07-08 삼성전자주식회사 개선된 움직임 벡터 부호화 및 복호화 방법과 그 장치
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
NO318318B1 (no) * 2003-06-27 2005-02-28 Tandberg Telecom As Fremgangsmate for forbedret koding av video
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
US8064520B2 (en) * 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
FR2860678A1 (fr) * 2003-10-01 2005-04-08 Thomson Licensing Sa Procede de codage differentiel
US7480334B2 (en) * 2003-12-23 2009-01-20 Genesis Microchip Inc. Temporal motion vector filtering
JP3879741B2 (ja) * 2004-02-25 2007-02-14 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
CN1980959B (zh) 2004-07-07 2011-03-30 陶氏环球技术公司 制备乙烯聚合物组合物的多阶段方法
US20060012719A1 (en) * 2004-07-12 2006-01-19 Nokia Corporation System and method for motion prediction in scalable video coding
KR100584603B1 (ko) 2004-08-03 2006-05-30 학교법인 대양학원 다시점 영상의 다이렉트 모드 움직임 예측 방법 및 장치
KR101104828B1 (ko) * 2004-12-09 2012-01-16 삼성전자주식회사 움직임 벡터 연산 장치 및 그 방법
US7728909B2 (en) * 2005-06-13 2010-06-01 Seiko Epson Corporation Method and system for estimating motion and compensating for perceived motion blur in digital video
JP2007028393A (ja) * 2005-07-20 2007-02-01 Matsushita Electric Ind Co Ltd 双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法
JP4879558B2 (ja) * 2005-11-02 2012-02-22 パナソニック株式会社 動きベクトル検出装置
US8315308B2 (en) * 2006-01-11 2012-11-20 Qualcomm Incorporated Video coding with fine granularity spatial scalability
US7644666B2 (en) 2006-02-09 2010-01-12 Rehrig Pacific Company Pallet
US20070274396A1 (en) * 2006-05-26 2007-11-29 Ximin Zhang Complexity adaptive skip mode estimation for video encoding
EP2090113A4 (en) * 2006-11-07 2014-08-20 Samsung Electronics Co Ltd METHOD AND DEVICE FOR VIDEO CODING AND DECODING BASED ON MOTION ESTIMATION
KR101383540B1 (ko) 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
KR100968204B1 (ko) * 2007-01-11 2010-07-06 전자부품연구원 다시점 비디오 코덱에서의 영상 예측 방법 및 이를 위한프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
CN101222604B (zh) * 2007-04-04 2010-06-09 晨星半导体股份有限公司 运算移动估计值与估算图像的移动向量的方法
US20080247466A1 (en) * 2007-04-09 2008-10-09 Jian Wang Method and system for skip mode detection
EP2140684B1 (en) * 2007-04-12 2018-08-15 Thomson Licensing DTV Method and apparatus for context dependent merging for skip-direct modes for video encoding and decoding
WO2008153262A1 (en) 2007-06-15 2008-12-18 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording midium
KR100955396B1 (ko) * 2007-06-15 2010-04-29 성균관대학교산학협력단 양-예측 부호화 방법 및 장치, 양-예측 복호화 방법 및장치 및 기록매체
US8254455B2 (en) * 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
CN100583649C (zh) * 2007-07-23 2010-01-20 华为技术有限公司 矢量编/解码方法、装置及流媒体播放器
JP2009055519A (ja) 2007-08-29 2009-03-12 Sony Corp 符号化処理装置、符号化処理方法、復号処理装置、及び、復号処理方法
KR101560182B1 (ko) 2008-01-07 2015-10-15 삼성전자주식회사 다시점 비디오 부호화 방법과 그 장치 및 다시점 비디오 복호화 방법과 그 장치
KR101524465B1 (ko) 2008-01-10 2015-06-02 삼성전자주식회사 색차 보상을 이용한 다시점 비디오 부호화 방법과 그 장치 및 다시점 비디오 복호화 방법과 그 장치
JP5194833B2 (ja) * 2008-01-23 2013-05-08 ソニー株式会社 符号化装置および方法、記録媒体、並びにプログラム
JP5322956B2 (ja) 2008-01-29 2013-10-23 パナソニック株式会社 画像符号化装置および画像符号化方法
CN102016975A (zh) 2008-03-28 2011-04-13 寇平公司 适合用作移动式互联网装置的具有高分辨率显示器的手持式无线显示装置
US8165211B2 (en) * 2008-05-30 2012-04-24 Hong Kong Applied Science and Technology Research Institute Company Limited Method and apparatus of de-interlacing video
US8189666B2 (en) 2009-02-02 2012-05-29 Microsoft Corporation Local picture identifier and computation of co-located information
TWI405469B (zh) * 2009-02-20 2013-08-11 Sony Corp Image processing apparatus and method
JP5083248B2 (ja) * 2009-03-05 2012-11-28 富士通セミコンダクター株式会社 画像データ復号演算装置
US9113168B2 (en) 2009-05-12 2015-08-18 Lg Electronics Inc. Method and apparatus of processing a video signal
US9628794B2 (en) 2009-06-18 2017-04-18 Kabushiki Kaisha Toshiba Video encoding apparatus and a video decoding apparatus
BR122021002162B1 (pt) * 2009-06-18 2021-09-28 Kabushiki Kaisha Toshiba Aparelhos de codificação e decodificação de vídeo, métodos para codificação e decodificação de vídeo
US20110002387A1 (en) * 2009-07-03 2011-01-06 Yi-Jen Chiu Techniques for motion estimation
US8917769B2 (en) * 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US8462852B2 (en) 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
AU2015201666C1 (en) * 2010-01-19 2017-04-27 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding motion vector based on reduced motion vector predictor candidates
EP2528332A4 (en) 2010-01-19 2015-08-05 Samsung Electronics Co Ltd METHOD AND DEVICE FOR CODING / DECODING PICTURES USING A MOTION VECTOR OF A PREVIOUS BLOCK AS A MOTION VECTOR OF THE PRESENT BLOCK
KR101768207B1 (ko) 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US9794556B2 (en) * 2010-02-17 2017-10-17 Electronics And Telecommunications Research Institute Method and device for simplifying encoding and decoding of ultra-high definition images
US8354548B2 (en) * 2010-02-19 2013-01-15 Bristol-Myers Squibb Company Glycine chroman-6-sulfonamides for use as inhibitors of diacylglycerol lipase
KR101780921B1 (ko) * 2010-04-01 2017-09-21 소니 주식회사 화상 처리 장치, 방법 및 기록매체
WO2011149291A2 (ko) * 2010-05-26 2011-12-01 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
KR101456499B1 (ko) * 2010-07-09 2014-11-03 삼성전자주식회사 움직임 벡터의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US9300970B2 (en) 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
US10013976B2 (en) 2010-09-20 2018-07-03 Kopin Corporation Context sensitive overlays in voice controlled headset computer displays
MX2013001659A (es) 2010-09-24 2013-03-21 Panasonic Corp Metodo de codificacion de imagen, metodo de decodificacion de imagen, aparato de codificacion de imagen, y aparato de decodificacion de imagen.
KR101723282B1 (ko) * 2010-09-30 2017-04-04 미쓰비시덴키 가부시키가이샤 동화상 복호 장치, 동화상 복호 방법, 동화상 부호화 장치, 동화상 부호화 방법 및 기록 매체
JP5195875B2 (ja) * 2010-11-10 2013-05-15 ソニー株式会社 復号装置及び方法、記録媒体、並びにプログラム
US8711940B2 (en) * 2010-11-29 2014-04-29 Mediatek Inc. Method and apparatus of motion vector prediction with extended motion vector predictor
WO2012081894A1 (ko) 2010-12-13 2012-06-21 한국전자통신연구원 참조 유닛 결정 방법 및 장치
US9547911B2 (en) 2010-12-14 2017-01-17 The United States Of America, As Represented By The Secretary Of The Navy Velocity estimation from imagery using symmetric displaced frame difference equation
US8781165B2 (en) * 2010-12-14 2014-07-15 The United States Of America As Represented By The Secretary Of The Navy Method and apparatus for displacement determination by motion compensation
EP2656610A4 (en) 2010-12-21 2015-05-20 Intel Corp SYSTEM AND METHOD FOR EXTENDED DMVD PROCESSING
WO2012096551A2 (ko) * 2011-01-15 2012-07-19 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 방법 및 장치
KR101377528B1 (ko) 2011-01-15 2014-03-27 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 방법 및 장치
US9300963B2 (en) * 2011-01-19 2016-03-29 Mediatek Inc. Method and apparatus for parsing error robustness of temporal motion vector prediction
US9749657B2 (en) 2011-01-21 2017-08-29 Sharp Kabushiki Kaisha Buffer compression for motion vector competition
ES2687685T3 (es) * 2011-02-10 2018-10-26 Sun Patent Trust Procedimiento de codificación de instantáneas en movimiento, dispositivo de codificación de instantáneas en movimiento, procedimiento de decodificación de instantáneas en movimiento, dispositivo de decodificación de instantáneas en movimiento y dispositivo de codificación-decodificación de instantáneas en movimiento
US9648334B2 (en) 2011-03-21 2017-05-09 Qualcomm Incorporated Bi-predictive merge mode based on uni-predictive neighbors in video coding
PL4184918T3 (pl) 2011-03-21 2024-06-10 Lg Electronics Inc. Sposób dekodowania wideo, sposób kodowania wideo, odczytywalny komputerowo cyfrowy nośnik zapisu oraz sposób transmisji danych dla wideo
JPWO2012140904A1 (ja) * 2011-04-15 2014-07-28 パナソニック株式会社 画像圧縮装置、画像圧縮方法、集積回路、プログラムおよび映像表示装置
TWI526056B (zh) 2011-04-27 2016-03-11 Jvc Kenwood Corp A moving picture coding apparatus, a motion picture coding method, a motion picture coding program, a transmission apparatus, a transmission method, a transmission program, a video decoding apparatus, a video decoding method, a video decoding program, a reception device, a reception method, Receiving program
WO2012147344A1 (ja) 2011-04-27 2012-11-01 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム
EP2712432A4 (en) 2011-05-10 2014-10-29 Kopin Corp HEADSET COMPUTER WITH MOTION AND LANGUAGE COMMANDS TO CONTROL AN INFORMATION DISPLAY AND REMOTE DEVICES
EP2716046A4 (en) * 2011-05-27 2014-09-03 Mediatek Inc METHOD AND APPARATUS FOR CIRCUIT BREAKER REDUCTION FOR VIDEO PROCESSING
KR20130030181A (ko) 2011-09-16 2013-03-26 한국전자통신연구원 움직임 벡터 예측기를 이용한 움직임 벡터 부호화/복호화 방법 및 장치
US8929954B2 (en) 2012-04-25 2015-01-06 Kopin Corporation Headset computer (HSC) as auxiliary display with ASR and HT input
CN102946535B (zh) * 2012-10-09 2015-05-13 华为技术有限公司 预测块的视差矢量预测值获取的方法和装置
KR101676788B1 (ko) * 2014-10-17 2016-11-16 삼성전자주식회사 멀티코어 시스템 기반 비디오 병렬 복호화 방법 및 그 장치
KR20180019509A (ko) * 2015-03-31 2018-02-26 리얼네트웍스 인코포레이티드 비디오 코딩시 모션 벡터 선택 및 예측 시스템들 및 방법들
CN105163123B (zh) * 2015-09-06 2018-02-13 福州瑞芯微电子股份有限公司 一种hevc帧间预测子块mv信息的存取方法和装置
CN108432252A (zh) 2015-12-22 2018-08-21 真实网络公司 视频编码中的运动矢量选择及预测系统和方法
JP6356762B2 (ja) * 2016-10-31 2018-07-11 株式会社東芝 動画像符号化装置及び方法
US20180184107A1 (en) * 2016-12-28 2018-06-28 Novatek Microelectronics Corp. Motion estimation method and motion estimation apparatus
CN111869214B (zh) * 2018-03-19 2024-11-29 高通股份有限公司 对高级时间运动矢量预测的改进
US10469869B1 (en) * 2018-06-01 2019-11-05 Tencent America LLC Method and apparatus for video coding
EP3648059B1 (en) * 2018-10-29 2021-02-24 Axis AB Video processing device and method for determining motion metadata for an encoded video

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2002017A (en) * 1931-03-21 1935-05-21 Bendix Brake Co Brake
FR2644779A1 (fr) * 1989-03-22 1990-09-28 Centre Nat Rech Scient Composition ceramique a constante dielectrique elevee
CA2079434A1 (en) * 1991-09-30 1993-03-31 Derek Andrew Motion vector estimation, motion picture encoding and storage
ES2431289T3 (es) 1993-03-24 2013-11-25 Sony Corporation Método de decodificación de señal de imagen y aparato asociado
JPH0730896A (ja) 1993-06-25 1995-01-31 Matsushita Electric Ind Co Ltd 動きベクトル符号化及び復号化方法
FR2725577B1 (fr) 1994-10-10 1996-11-29 Thomson Consumer Electronics Procede de codage ou de decodage de vecteurs mouvement et dispositif de codage ou de decodage mettant en oeuvre ledit procede
US6275532B1 (en) 1995-03-18 2001-08-14 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 動画像符号化装置
KR0181069B1 (ko) * 1995-11-08 1999-05-01 배순훈 움직임 추정장치
JP3344577B2 (ja) * 1996-09-09 2002-11-11 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録方法
JP3263807B2 (ja) 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
US6005980A (en) * 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
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
TW429636B (en) * 1998-02-18 2001-04-11 Murata Manufacturing Co Piezoelectric ceramic composition
TW563265B (en) * 1998-02-18 2003-11-21 Murata Manufacturing Co Piezoelectric ceramic composition
JPH11317961A (ja) 1998-03-05 1999-11-16 Matsushita Electric Ind Co Ltd 画像符号化装置及び画像復号化装置,画像符号化方法及び画像復号化方法,並びにデ―タ記憶媒体
KR100328417B1 (ko) * 1998-03-05 2002-03-16 마츠시타 덴끼 산교 가부시키가이샤 화상부호화장치및화상복호화장치, 화상부보화방법 및 화상복호화방법, 및 데이터기억매체
JP2000099864A (ja) 1998-09-21 2000-04-07 Yoshitaka Kurita 介護者支援装置
US6983018B1 (en) * 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
JP2000299684A (ja) * 1999-04-12 2000-10-24 Telecommunication Advancement Organization Of Japan データ通信システム
JP2000299864A (ja) 1999-04-12 2000-10-24 Canon Inc 動画像処理方法
CN1147159C (zh) * 1999-04-27 2004-04-21 三星电子株式会社 实时运动图像编码的高速运动估计方法及其装置
US7885340B2 (en) * 1999-04-27 2011-02-08 Realnetworks, Inc. System and method for generating multiple synchronized encoded representations of media data
EP1056293A1 (en) * 1999-05-25 2000-11-29 Deutsche Thomson-Brandt Gmbh Method and apparatus for block motion estimation
JP2003513565A (ja) 1999-10-29 2003-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ビデオ符号化方法
US6671319B1 (en) 1999-12-28 2003-12-30 Sony Corporation Methods and apparatus for motion estimation using neighboring macroblocks
KR100680452B1 (ko) * 2000-02-22 2007-02-08 주식회사 팬택앤큐리텔 움직임 벡터 메모리의 갱신방법 및 장치
KR100708091B1 (ko) * 2000-06-13 2007-04-16 삼성전자주식회사 양방향 움직임 벡터를 이용한 프레임 레이트 변환 장치 및그 방법
US8005145B2 (en) * 2000-08-11 2011-08-23 Nokia Corporation Method and apparatus for transferring video frame in telecommunication system
US6842483B1 (en) * 2000-09-11 2005-01-11 The Hong Kong University Of Science And Technology Device, method and digital video encoder for block-matching motion estimation
US7327787B1 (en) 2000-11-20 2008-02-05 Intel Corporation Method and apparatus for motion estimation
EP1374578A4 (en) * 2001-03-05 2007-11-14 Intervideo Inc SYSTEMS AND METHOD FOR ERROR ROBUSTNESS IN A VIDEO DECODER
KR100378795B1 (ko) * 2001-04-02 2003-04-03 엘지전자 주식회사 동영상에서 b픽쳐의 신축적인 다이렉트 모드 코딩 방법
US8111754B1 (en) * 2001-07-11 2012-02-07 Dolby Laboratories Licensing Corporation Interpolation of video compression frames
US6980596B2 (en) 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
US7003035B2 (en) * 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
JP4130783B2 (ja) * 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
KR100491530B1 (ko) * 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
US20040001546A1 (en) * 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
KR100774296B1 (ko) * 2002-07-16 2007-11-08 삼성전자주식회사 움직임 벡터 부호화 방법, 복호화 방법 및 그 장치
US7020200B2 (en) * 2002-08-13 2006-03-28 Lsi Logic Corporation System and method for direct motion vector prediction in bi-predictive video frames and fields
US7227901B2 (en) * 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
US6646578B1 (en) * 2002-11-22 2003-11-11 Ub Video Inc. Context adaptive variable length decoding system and method
US8085846B2 (en) * 2004-08-24 2011-12-27 Thomson Licensing Method and apparatus for decoding hybrid intra-inter coded blocks
US20130003843A1 (en) * 2010-03-12 2013-01-03 Mediatek Singapore Pte. Ltd. Motion Prediction Method

Also Published As

Publication number Publication date
EP2249575A2 (en) 2010-11-10
EP2249570B1 (en) 2013-03-20
PT2249573E (pt) 2013-05-03
DK2249574T3 (da) 2013-04-15
US20040086047A1 (en) 2004-05-06
ATE493846T1 (de) 2011-01-15
US20130329802A1 (en) 2013-12-12
CA2762054A1 (en) 2003-07-24
CY1114230T1 (el) 2016-08-31
EP2273794B1 (en) 2012-08-22
DK2249578T3 (da) 2013-04-15
EP2249576B1 (en) 2013-10-16
US20150373363A1 (en) 2015-12-24
CN1496654A (zh) 2004-05-12
US20130322541A1 (en) 2013-12-05
EP2249575A3 (en) 2011-02-23
EP2273793A3 (en) 2011-02-23
DK2273794T3 (da) 2012-10-01
EP2249576A3 (en) 2011-02-23
AU2003201906A1 (en) 2003-07-30
CY1114052T1 (el) 2016-07-27
MXPA03007629A (es) 2003-12-04
EP2273794A2 (en) 2011-01-12
EP2293581A1 (en) 2011-03-09
ES2408241T3 (es) 2013-06-19
DK1439713T3 (da) 2011-03-07
US8908769B2 (en) 2014-12-09
US8290047B2 (en) 2012-10-16
EP2249573A3 (en) 2011-02-23
KR100923379B1 (ko) 2009-10-27
KR100946848B1 (ko) 2010-03-09
EP1439713B1 (en) 2010-12-29
KR100946845B1 (ko) 2010-03-09
JP2004096705A (ja) 2004-03-25
EP1439713A1 (en) 2004-07-21
EP2273793A2 (en) 2011-01-12
DK2249576T3 (da) 2013-11-25
DK2273793T3 (da) 2012-10-15
CN1295934C (zh) 2007-01-17
US7362807B2 (en) 2008-04-22
PT2249577E (pt) 2013-05-03
US9407927B2 (en) 2016-08-02
DK2273795T3 (en) 2016-10-03
PT1439713E (pt) 2011-02-25
DK2249577T3 (da) 2013-04-15
PT2249578E (pt) 2013-05-06
EP2273794A3 (en) 2011-02-23
KR20090130305A (ko) 2009-12-22
US9124897B2 (en) 2015-09-01
US20130329803A1 (en) 2013-12-12
EP2249578A3 (en) 2011-02-23
US20150373364A1 (en) 2015-12-24
US9161050B2 (en) 2015-10-13
ES2410533T3 (es) 2013-07-02
ES2600786T3 (es) 2017-02-10
SI2249576T1 (sl) 2013-12-31
US9124896B2 (en) 2015-09-01
ES2408214T3 (es) 2013-06-19
US8885717B2 (en) 2014-11-11
CY1114049T1 (el) 2016-07-27
CY1114867T1 (el) 2016-12-14
SI2249573T1 (sl) 2013-04-30
PT2249574E (pt) 2013-05-03
PT2249575E (pt) 2013-12-09
US20150055714A1 (en) 2015-02-26
CA2438295A1 (en) 2003-07-24
PT2249576E (pt) 2013-12-09
DK2249573T3 (da) 2013-04-15
KR20090130306A (ko) 2009-12-22
SI2293581T1 (sl) 2016-12-30
US20150063458A1 (en) 2015-03-05
US20080069228A1 (en) 2008-03-20
PT2249570E (pt) 2013-05-03
EP2273793B1 (en) 2012-09-26
CA2762023C (en) 2014-09-30
EP2249573A2 (en) 2010-11-10
EP2249574B1 (en) 2013-03-20
CY1118320T1 (el) 2017-06-28
EP2273795A2 (en) 2011-01-12
US20130329801A1 (en) 2013-12-12
USRE46924E1 (en) 2018-06-26
US9451278B2 (en) 2016-09-20
EP2249574A2 (en) 2010-11-10
EP2249576A2 (en) 2010-11-10
HUE031077T2 (en) 2017-06-28
US20080069230A1 (en) 2008-03-20
JP4114859B2 (ja) 2008-07-09
EP2273795B1 (en) 2016-08-10
HUE032083T2 (en) 2017-09-28
EP2249577B1 (en) 2013-03-20
ES2408245T3 (es) 2013-06-19
ES2408013T9 (es) 2013-12-03
EP1439713A4 (en) 2006-04-12
EP2293581B1 (en) 2016-08-10
AU2003201906B2 (en) 2007-09-13
US20150055713A1 (en) 2015-02-26
EP2249573B1 (en) 2013-03-20
ES2392513T3 (es) 2012-12-11
PT2273795T (pt) 2016-10-05
US8885719B2 (en) 2014-11-11
US20080069229A1 (en) 2008-03-20
DK2293581T3 (en) 2016-12-05
BRPI0302580B1 (pt) 2018-02-27
EP2249578B1 (en) 2013-03-20
ES2600520T3 (es) 2017-02-09
US8290048B2 (en) 2012-10-16
EP2249577A3 (en) 2011-02-23
US20180007383A1 (en) 2018-01-04
EP2249570A2 (en) 2010-11-10
WO2003061297A1 (en) 2003-07-24
US10313700B2 (en) 2019-06-04
EP2249574A3 (en) 2011-02-23
ES2388814T3 (es) 2012-10-18
USRE48035E1 (en) 2020-06-02
DK2249570T3 (da) 2013-04-15
ES2392513T9 (es) 2013-02-18
US20130329804A1 (en) 2013-12-12
US20100118969A1 (en) 2010-05-13
KR100946846B1 (ko) 2010-03-09
SI2249578T1 (sl) 2013-04-30
US8885720B2 (en) 2014-11-11
US8401080B2 (en) 2013-03-19
EP2249570A3 (en) 2011-02-23
ES2408013T3 (es) 2013-06-17
CA2762054C (en) 2014-08-26
US20130329805A1 (en) 2013-12-12
ES2441222T3 (es) 2014-02-03
US8902987B2 (en) 2014-12-02
SI2249570T1 (sl) 2013-04-30
EP2249578A2 (en) 2010-11-10
DE60335516D1 (de) 2011-02-10
US20160360227A1 (en) 2016-12-08
EP2249577A2 (en) 2010-11-10
KR20040068854A (ko) 2004-08-02
ES2441223T3 (es) 2014-02-03
US20160360228A1 (en) 2016-12-08
US8290046B2 (en) 2012-10-16
CA2762023A1 (en) 2003-07-24
EP2273795A3 (en) 2011-02-23
US8885718B2 (en) 2014-11-11
KR20080002952A (ko) 2008-01-04
DK2249575T3 (da) 2013-11-25
BR0302580A (pt) 2004-02-25
EP2249575B1 (en) 2013-10-16
PT2293581T (pt) 2016-11-14
CA2438295C (en) 2012-09-25
US20080069227A1 (en) 2008-03-20
US10362328B2 (en) 2019-07-23

Similar Documents

Publication Publication Date Title
PT2273793E (pt) Método de descodificação de vetor de movimento
PT2271108T (pt) Método de codificação de imagens em movimento e método de descodificação de imagens em movimento
TWI283534B (en) Motion compensation method, picture coding method and picture decoding method
TWI317107B (en) Filtering strength determination method , moving picture coding method and moving picture decoding method
EP1665133A2 (en) Picture coding method, picture decoding method, picture coding apparatus, picture decoding apparatus, and program thereof
TW200306749A (en) Motion vector coding method and motion vector decoding method
PT2296382E (pt) Método de codificação de imagem
KR20040074635A (ko) 동화상 부호화 방법 및 동화상 복호화 방법
TW200307467A (en) Motion vector derivation method