PT2273795T - Método de codificação de imagem em movimento - Google Patents

Método de codificação de imagem em movimento Download PDF

Info

Publication number
PT2273795T
PT2273795T PT101871721T PT10187172T PT2273795T PT 2273795 T PT2273795 T PT 2273795T PT 101871721 T PT101871721 T PT 101871721T PT 10187172 T PT10187172 T PT 10187172T PT 2273795 T PT2273795 T PT 2273795T
Authority
PT
Portugal
Prior art keywords
motion vector
block
image
motion
unit
Prior art date
Application number
PT101871721T
Other languages
English (en)
Inventor
Kondo Satoshi
Kadono Shinya
Hagai Makoto
Abe Kiyofumi
Original Assignee
Panasonic Ip Corp America
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=PT2273795(T) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Panasonic Ip Corp America filed Critical Panasonic Ip Corp America
Publication of PT2273795T publication Critical patent/PT2273795T/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 pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
    • 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 pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
    • 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
    • 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
    • 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

Description

DESCRIÇÃO MÉTODO DE CODIFICAÇÃO DE VETOR DE MOVIMENTO Campo Técnico A presente invenção diz respeito a um método de codificação de vetor de movimento e um método de descodificação de vetor de movimento utilizando codificação de predição entre imagens. Técnica Anterior
Na era da multimédia que lida totalmente com á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, vieram a ser recentemente incluídos no âmbito da multimédia. Geralmente, multimédia refere-se a algo que é representado associando não só caracteres, mas também gráficos, vozes e especialmente imagens e semelhantes conjuntamente, mas de modo a incluir os meios de informação existentes anteriormente mencionados no âmbito da multimédia, aparece como um pré-requisito representar essa informação em forma digital.
Contudo, ao calcular a quantidade de informação contida em cada um dos meios de informação anteriormente mencionados como a quantidade de informação digital, enquanto a quantidade de informação por caracter é de 1~2 bits, a quantidade de informação a ser requerida para voz é de 64 Kbits ou mais por segundo (qualidade telefónica), e de 100 Mbits ou mais por segundo para imagens em movimento (atual qualidade de receçã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 já que está na forma digital. Por exemplo, apesar de os videofones já se encontrarem em utilização através da Rede Digital de Serviços Integrados (ISDN) que oferece uma velocidade de transmissão de 64 Kbps/s~l,5 Mbps/s, não é prático transmitir captura de vídeo por parte de câmaras de televisão diretamente através da ISDN.
Contra este contratempo, tornaram-se necessárias técnicas de compressão de informação, e são empregues técnicas de compressão de imagens em movimento conformes com os padrões H.261 e H.263 internacionalmente padronizados pelo ITU-T (União Internacional das Telecomunicações - Setor de Padronização das Telecomunicações) para videofones, por exemplo (Veja-se, por exemplo, Tecnologia de informação - Codificação de objetos audiovisuais, Parte 2: vídeo (ISO/IEC 14496-2), pp.146-148, 1999, 12. 1). Além disso, de acordo com técnicas de compressão de informação conformes com o padrão MPEG-1, é possível armazenar informação de imagens num CD (disco compacto) de música vulgar juntamente com informação de som.
Aqui, MPEG (Grupo de Especialistas em Imagens com Movimento) é um padrão internacional sobre a compressão de sinais de imagens em movimento, e o MPEG-1 é um padrão para a compressão de informação de sinais de televisão aproximadamente em um centésimo de modo a que os sinais de imagens em movimento possam ser transmitidos a uma velocidade de 1,5 Mbps. Adicionalmente, dado que a velocidade de transmissão dentro do âmbito do padrão MPEG-1 está limitada primariamente a cerca de 1,5 Mbps, MPEG-2, que foi padronizado com vista a satisfazer os requisitos para uma qualidade de imagem adicionalmente melhorada, permite a transmissão de dados de sinais de imagens em movimento a uma velocidade de 2-15 Mbps. Adicionalmente, MPEG-4 que atinge uma taxa de compressão superior à de MPEG-1 e MPEG-2, permite a codificação, descodificação e funcionamento numa unidade objeto, e realiza uma nova função necessária para a era multimédia, foi padronizada pelo grupo de trabalho (ISO/IEC JTC1/SC29/WG11) que esteve envolvido na padronização de MPEG-1 e MPEG- 2. MPEG-4 teve inicialmente como objetivo a padronização de um método de codificação para um débito binário reduzido, mas agora estende-se à padronização de um método de codificação mais versátil para imagens em movimento incluindo adicionalmente imagens de interface e débitos binários mais elevados.
Na codificação de imagens em movimento anteriormente mencionada, a quantidade de informação é comprimida através da exploração de redundâncias nas direções espaciais e temporais. Aqui, a codificação de predição entre imagens é utilizada como um método de utilização das redundâncias temporais. Na codificação de predição entre imagens, uma imagem é codificada utilizando uma imagem temporariamente adiantada ou atrasada como uma imagem de referência. 0 movimento (um vetor de movimento) da imagem atual a ser codificada a partir da imagem de referência é estimado, e a diferença entre a imagem obtida através da compensação de movimento e a imagem atual é calculada. Posteriormente, as redundâncias espaciais são eliminadas a partir 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 de março de 2001) é uma descrição de um método de codificação de referência a ser utilizado para o desenvolvimento de um novo método de compressão, recomendação ITU-T H.26L. A configuração básica do algoritmo é idêntica a H.263. Algumas das diferenças de H.263 são: ® É utilizado somente um VLC normal para codificação de símbolos. • São utilizadas posições de 1/4 de pixel para a predição de movimento. ® É utilizada uma série de diferentes tamanhos de blocos para a predição de movimento. ® A codificação residual é baseada em blocos de 4x4 e é utilizada uma transformação de número inteiro. • Podem ser utilizados vários quadros de referência para predição e isto é considerado como substituindo quaisquer utilizações de quadros B.
Num método de codificação de imagens em movimento de acordo com MPEG-1, MPEG-2, MPEG-4, H.263, H.26L ou semelhantes, uma imagem que não é codificada com predição entre imagens, nomeadamente, que é codificada intra-imagem, é designada uma imagem I. Aqui, uma imagem significa uma única unidade de codificação incluindo tanto uma imagem como um campo. Igualmente, 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 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 mencionado acima.
Na Fig.l, uma linha vertical indica uma imagem, com um tipo de imagem (I, P ou B) indicado no lado inferior direito da mesma. Igualmente, a Fig.l indica que uma imagem indicada por uma seta é codificada com predição entre imagens utilizando uma imagem localizada 11a outra extremidade da ponta da seta como uma imagem de referência. Por exemplo, uma imagem B que é 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 semelhantes, pode ser selecionado um modo de codificação designado modo direto para codificar uma imagem B.
Será explicado um método de codificação de predição entre imagens em modo direto com referência à Fig.2. A Fig.2 é uma ilustração para explicar o método de codificação de predição entre imagens no modo direto. É agora assumido que um bloco C numa imagem B3 é codificado no modo direto. Neste caso, um vetor de movimento MVp de um bloco X numa imagem de referência (uma imagem P4 que é uma imagem de referência atrasada, neste caso) que foi codificado imediatamente antes da imagem B3 ser explorada, em que o bloco X está conjuntamente 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 uma imagem PI. 0 bloco C é preditivo bidireccionalmente a partir das imagens de referência, nomeadamente, 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 semelhante, 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 do vetor de movimento. Na seguinte descrição, um "valor preditivo" indica um valor preditivo de um vetor de movimento. Dado que os vetores de movimento dos blocos contíguos possuem direção e movimento semelhantes em muitos casos, a quantidade de codificação de vetor de movimento pode ser reduzida através da codificação da diferença a partir do valor preditivo obtido a partir dos vetores de movimento dos blocos contíguos.
Aqui, será explicado um método de codificação de vetor de movimento em MPEG-4 com referência à Fig.3. A Fig.3 é uma ilustração explicar um método para a codificação de um vetor de movimento MV de um bloco corrente A a ser codificado em MPEG-4.
Nas Figs.3A-3D, os blocos indicados por uma linha grossa são macroblocos de 16 x 16 pixéis, e existem quatro blocos de 8 x 8 pixéis em cada macrobloco. Aqui, é assumido que é obtido um vetor de movimento a um nível de um bloco de 8 x 8 pixéis.
Conforme ilustrado na Fig.3A, conforme para um bloco corrente A localizado na parte superior esquerda num macrobloco, é codificada uma diferença entre um valor preditivo e um vetor de movimento MV do bloco corrente A, onde 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 imediatamente 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.
De forma semelhante, conforme ilustrado na Fig.3B, no que diz respeito a um bloco corrente A localizado na parte superior direita num macrobloco, é codificada uma diferença entre um valor preditivo e um vetor de movimento MV do bloco corrente A, onde 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 imediatamente por cima do bloco corrente A e um vetor de movimento MVd de um bloco contíguo D por cima e à esquerda do bloco corrente A.
Conforme ilustrado na Fig.3C, conforme para um bloco corrente A localizado em baixo à esquerda num macrobloco, é codificada uma diferença entre um valor preditivo e um vetor de movimento MV do bloco corrente A, onde 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 imediatamente 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.
Conforme ilustrado na Fig.3D, conforme para o bloco corrente A localizado em baixo à direita num macrobloco, é codificada uma diferença entre um valor preditivo e um vetor de movimento MV do bloco corrente A, onde 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 imediatamente por cima do bloco corrente A. Aqui, o valor preditivo é calculado utilizando os medianos obtidos a partir dos elementos horizontais e verticais destes três vetores de movimento MVb, MVc e MVd, respetivamente. A seguir, será explicado um método de codificação de vetor de movimento em H.26L, desenvolvido par padronização com referência à Fig.4. A Fig.4 é uma ilustração para explicar 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, 8x8 pixéis ou 16 x 16 pixéis, e é codificado um vetor de movimento deste bloco corrente A 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 imediatamente 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. salientar deve ser notado que as dimensões dos blocos contíguos B, C e D não estão limitadas àquelas conforme mostrado na Fig.4 por linhas tracejadas. A Fig.5 é um diagrama de fluxo mostrando o procedimento de codificação do vetor de movimento MV do bloco corrente A utilizando os vetores de movimento dos blocos contíguos conforme mencionado acima.
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 (Etapa S502), e é determinado o número de blocos contíguos específicos (Etapa S504).
Quando o número dos blocos contíguos determinado na Etapa S504 é 1, o vetor de movimento desse bloco contíguo que se refere à mesma imagem é considerado como sendo um valor preditivo de vetor de movimento MV do bloco corrente A (Etapa S506).
Quando o número de blocos contíguos determinado no Etapa 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 como sendo zero (Etapa S507). E o mediano dos vetores de movimento dos blocos contíguos B, C e D é considerado como sendo um valor preditivo do vetor de movimento do bloco corrente A (Etapa S508).
Utilizando o valor preditivo derivado deste modo na Etapa S506 ou Etapa S508, é calculada a diferença entre o valor preditivo e o vetor de movimento MV do bloco corrente A e a diferença é codificada (Etapa S510).
Conforme descrito acima, 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.
Contudo, existem casos em que os vetores de movimento dos blocos contíguos não são codificados. Por exemplo, existem casos onde um bloco contíguo é codificado intra-imagem, uma imagem B é codificada em modo direto, e uma imagem P é codificada em modo de salto. Nestes casos, os blocos contíguos são codificados utilizando os vetores de movimento de outros blocos exceto quando são codificados intra-imagem, nomeadamente os blocos contíguos são codificados utilizando os seus próprios vetores de movimento com base no resultado da estimativa do movimento.
Por isso, de acordo com o método de codificação de vetor de movimento tradicional mencionado acima, um vetor de movimento de um bloco corrente é codificado do seguinte modo: Quando existe um bloco contíguo, de três blocos contíguos, que não tem vetor de movimento com base no resultado acima da estimativa de movimento e tenha sido codificado utilizando vetores de movimento de outros blocos, o vetor de movimento desse bloco contíguo é considerado como sendo 0. Quando existem dois tais blocos contíguos, é utilizado o vetor de movimento do restante um bloco contíguo como um valor preditivo. E quando existem três blocos contíguos, o vetor de movimento é codificado tendo em consideração um valor preditivo como sendo 0.
Contudo, no modo direto ou modo de salto, a compensação de movimento é realmente efetuada tal como no caso em que um vetor de movimento de um bloco contíguo é ele próprio utilizado com base no resultado estimado, apesar de que a informação de vetor de movimento não estar codificada. Como resultado, no método tradicional acima, se um bloco contíguo é codificado no modo direto ou modo de salto, o vetor de movimento do bloco contíguo não é utilizado como candidato para o valor preditivo. Por isso, existe um problema em originar um valor preditivo inexato de um vetor de movimento ao codificar o vetor de movimento, e, consequentemente causar uma eficácia de codificação menor. A presente invenção é concebida para resolver este problema, e o objetivo da mesma é proporcionar 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 exato para uma eficácia de codificação mais elevada.
Divulgação da Invenção
De modo a alcançar o objetivo anterior, o método de codificação de vetor de movimento de acordo com a presente 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: uma etapa de especificação do bloco contíguo para a especificação de um bloco contíguo que se encontra localizado na proximidade do bloco corrente e já foi codificado; uma etapa de decisão para decidir se o bloco contíguo foi ou não codificado utilizando um vetor de movimento de outro bloco; uma etapa de predição da derivação de um vetor de movimento preditivo do bloco corrente utilizando um vetor de movimento calculado a partir de vetor de movimento do dito outro bloco como um vetor de movimento do bloco contíguo, quando é considerado na etapa de decisão que o bloco contíguo foi codificado utilizando o vetor de movimento do dito outro bloco,· e uma etapa de codificação para codificar o vetor de movimento do bloco corrente utilizando o vetor de movimento preditivo.
Como resultado, quando um vetor de movimento de um bloco corrente é codificado utilizando um vetor de movimento preditivo derivado 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 como sendo 0 mas como sendo o vetor de movimento calculado a partir dos vetores de movimento de outros blocos. Como tal, pode ser obtido um vetor de movimento preditivo mais exato, e consequentemente a eficácia de codificação de vetor de movimento pode ser melhorada.
Igualmente, o método de descodificação de vetor de movimento de acordo com a presente 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: uma etapa de especificação do bloco contíguo para a especificação de um bloco contíguo que se encontra localizado na proximidade do bloco corrente e já foi descodificado; uma etapa de decisão para decidir se o bloco contíguo foi ou não codificado utilizando um vetor de movimento de outro bloco; uma etapa de predição da derivação de um vetor de movimento preditivo do bloco corrente utilizando um vetor de movimento calculado a partir de vetor de movimento do dito outro bloco como um vetor de movimento do bloco contíguo, quando é considerado na etapa de decisão que o bloco contíguo foi codificado utilizando um vetor de movimento do dito outro bloco; e uma etapa de descodificação para descodificar o vetor de movimento codificado do bloco corrente utilizando o vetor de movimento preditivo.
Como resultado, o vetor de movimento que foi codificado de acordo com o método de codificação de vetor de movimento da presente invenção pode ser descodificado adequadamente, e, consequentemente o valor prático do mesmo é elevado.
Deve ser notado que a presente invenção pode também ser realizada como um aparelho de codificação de imagens em movimento e um programa utilizando o método de codificação de vetor de movimento mencionado acima, e um meio de armazenamento para armazenar o programa, e um aparelho de descodificação de imagens em movimento e um programa utilizando o método de descodificação de vetor de movimento anteriormente mencionado, e um meio de armazenamento para armazenar o programa.
Breve Descrição dos Desenhos A Fig.l é um diagrama mostrando uma relação preditiva entre imagens num método de codificação de imagens em movimento. A Fig.2 é uma ilustração para explicar o método de predição inter-imagem no modo direto. A Fig.3 é uma ilustração para explicar 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 explicar um método para a codificação de um vetor de movimento de um bloco corrente em H.26L. A Fig.5 é um diagrama de fluxo mostrando o procedimento de codificação em H26L. A Fig.6 é um diagrama em bloco mostrando uma estrutura de um aparelho de codificação de imagens em movimento numa primeira forma de realização da presente invenção. A Fig.7 é um diagrama mostrando como as imagens numa memória em quadro são introduzidas e extraídas na primeira forma de realização. A Fig.8 é um diagrama de fluxo mostrando uma operação de uma unidade de codificação de vetor de movimento na primeira forma de realização. A Fig.9 é uma ilustração para explicar como codificar um bloco contíguo no modo de salto na primeira forma de realizaçao. A Fig.10 é uma ilustração para explicar a codificação de predição inter-imagem utilizando vetores de movimento bidirecionais 11a primeira forma de realização. A Fig.ll é uma ilustração para explicar como codificar um bloco contíguo em modo direto temporal a primeira forma de realização. A Fig.12 é uma ilustração para explicar como codificar um bloco contíguo em modo direto espacial na primeira forma de realização. A Fig.13 é um diagrama de fluxo mostrando outra operação da unidade de codificação de vetor de movimento na primeira forma de realização. A Fig.14 é um diagrama em bloco mostrando uma estrutura de um aparelho de descodificação de uma imagem em movimento numa segunda forma de realização da presente invenção. A Fig.15 é um diagrama de fluxo mostrando uma operação de uma unidade de descodificação de um vetor de movimento na segunda forma de realização. A Fig.16 é uma ilustração para explicar como as imagens são inseridas e extraídas do aparelho de descodificação da imagem em movimento na segunda forma de realização. A Fig.17 é um diagrama de fluxo mostrando outra operação da unidade de descodificação de vetor de movimento na segunda forma de realização. A Fig.18 é uma ilustração de um suporte de gravação numa terceira forma de realização da presente invenção. A Fig.19 ê um diagrama de blocos mostrando uma configuração global de um sistema de conteúdos numa quarta forma de realização da presente invenção. A Fig.20 é uma vista de frente de um telemõvel na quarta forma de realização. A Fig.21 é um diagrama em bloco do telemóvel na quarta forma de realização. A Fig.22 é um diagrama em bloco mostrando uma configuração global de um sistema digital de radiodifusão na quarta forma de realização.
Melhor Maneira para Executar a Invenção (Primeira Forma de Realização)
Será explicado um aparelho de codificação de imagens em movimento numa primeira forma de realização da presente invenção com referência às figuras. A Fig.6 é um diagrama em bloco do aparelho de codificação de imagens em movimento na primeira forma de realização da presente invenção.
Este aparelho de codificação de imagens em movimento 100 visa melhorar a eficácia da codificação através da melhoria da exatidã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ção 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 seleçã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 duração 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 são inseridas na memória de imagem 101.
Na Fig.7A, as linhas verticais mostram imagens, e um alfabeto e um número na parte inferior direita de cada imagem indica um tipo de imagem (I, P ou B) e um número de imagem por ordem de tempo. As imagens inseridas 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 inter-imagem, isto é, 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 àquelas imagens de referência. Por exemplo, as relações de 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 conforme ilustrado na Fig,7B. A Fig.7B mostra as imagens inseridas conforme 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 16 x 16 pixéis verticais. A unidade de cálculo de diferença 102 obtém dados de imagens de todos os macroblocos a partir da memória de imagem 101 através do interruptor 111, e obtém também uma imagem de compensação de movimento a partir da unidade de seleção do modo 109. Posteriormente, 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 processamento de codificação incluindo transformação de frequência como transformação discreta de cossenos e quantificação sobre os dados de imagens obtidos a partir da memória de imagem 101 através do interruptor 112 e da imagem de erro de predição obtida através da unidade de cálculo da diferença 102, de modo a criar dados codificados. Por exemplo, a transformação de frequência e quantificação são executadas numa unidade de horizontal 8 x 8 pixéis verticais. Posteriormente, a unidade de codificação de erro de predição 103 produz os dados codificados para a unidade 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 extraídos a partir da unidade de codificação de erro de predição 103, converte os dados em tal num formato de corrente de bits para saída, e adiciona ainda informação sobre os vetores de movimento inseridos a partir da unidade de codificação de vetor de movimento 117, informação sobre um modo de codificação inserido a partir da unidade de seleçã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 extraídos a partir da unidade de codificação de erro de predição 103, e posteriormente executa transformação de frequência inversa tal como transformação discreta de cossenos inversa de modo a descodificar a mesma 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 como resultado da descodificação, e extrai uma imagem descodificada que são dados de imagem indicando uma imagem de uma figura que foi codificada e descodificada. A memória de imagem 107 é uma memória de imagens que alberga, numa base imagem-a-imagem, imagens utilizadas como imagens de referência ao codificar outras imagens, a partir das imagens descodificadas extraídas a partir 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 descodificadas acumuladas na memória de imagem 107 como imagens de referência. Os vetores de movimento estimados são extraídos para a unidade de seleção do modo 109. A unidade de seleçã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 atual é uma imagem P, a unidade de seleção do modo 109 determina um modo de codificação a partir dos seguintes: codificação intra-imagem, codificação de predição de imagens utilizando vetores de movimento, e modo de salto (codificação de predição entre imagens na qual não é codificado qualquer vetor de movimento de um bloco corrente dado 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 não é codificado qualquer valor de coeficiente dado que todos os valores de coeficiente são 0 e como resultado da codificação de erro de predição). Geralmente, é determinado um modo de codificação de modo a minimizar um erro de codificação utilizando uma quantidade de bits previamente determinada. A unidade de seleção do modo 10 9 produz o modo de codificação determinado para a unidade de geração de corrente de bits 104, e produz os vetores de movimento utilizados para esse modo de codificação para a unidade de codificação de vetor de movimento 117, respetivamente. Quando o modo de codificação determinado é codificação de predição entre imagens utilizando vetores de movimento, a unidade de seleção do modo 109 armazena adicionalmente os vetores de movimento e o modo de codificação utilizado para essa codificação de predição entre imagens na unidade de armazenamento de vetor de movimento 116.
Igualmente, a unidade de seleção do modo 109 executa compensação de movimento com base no modo de codificação determinado e os vetores de movimento estimados por parte da 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 para a unidade de cálculo de diferença 102 e para a unidade de adição 106. Contudo, se for selecionada codificação intra-imagem, não é produzida qualquer imagem de compensação de movimento. Ao selecionar codificação intra-imagem, a unidade de seleção do modo 109 controla adicionalmente o interruptor 111 e o interruptor 112 para ligar a um terminal "a" e a um terminal "c", respetivamente, e ao selecionar 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!! respetivamente. A compensação de movimento mencionada acima é executada numa base de 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 produzida, e controla os interruptores 113, 114 e 115 dependendo do tipo de imagem. Aqui, um tipo de imagem é geralmente determinado utilizando um método para a atribuição de um tipo de imagem periodicamente, por exemplo. 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 codificação a partir da unidade de seleção do modo 109, e armazena-os.
Quando a unidade de seleção do modo 109 seleciona 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 conforme descrito na Fig.3 e Fig.4. Conforme descrito acima, 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 for codificado um bloco contíguo utilizando vetores de movimento de outros blocos, tais como modo de salto e modo direto, a unidade de codificação de vetor de movimento 117 nesta forma de realização não considera o vetor de movimento do bloco contíguo como sendo 0 como a técnica convencional, mas trata um vetor de movimento obtido a partir dos vetores de movimento dos outros blocos como o vetor de movimento do bloco contíguo quando o codifica. A Fig.8 é um diagrama de fluxo mostrando o funcionamento geral da unidade de codificação de vetor de movimento 117 nesta forma de realização.
Primeiro, a unidade de codificação de vetor de movimento 117 especifica três blocos contíguos previamente codificados de um bloco corrente (Etapa S100). A unidade de codificação de vetor de movimento 117 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 utilizar vetores de movimento de outros blocos (Etapa 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 (Etapa S1Q4).
Quando é decidido na Etapa S104 que o bloco contíguo Ba está incluído (Y na Etapa S104) , a unidade de codificação de vetor de movimento 117 deriva um valor preditivo a partir dos vetores de movimento dos três blocos contíguos através do tratamento de um vetor de movimento obtido a partir dos vetores de movimento dos outros blocos como um vetor de movimento do bloco contíguo Ba para a sua codificação, conforme acima (Etapa S106).
Por outro lado, quando é decidido no Etapa S104 que o bloco contíguo Ba não está incluído (N na Etapa sS04) , a unidade de codificação de vetor de movimento 117 deriva um valor preditivo a partir dos vetores de movimento obtidos com base na estimativa de movimento a partir dos respetivos três blocos contíguos Bb e da seleção do modo (Etapa 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 derivado nas Etapas S1Q6 ou S108 (Etapa S110). A unidade de codificação de vetor de movimento 117 também produz o vetor de movimento codificado conforme anteriormente para a unidade de geração de corrente de bits 104.
Aqui, o processo de codificação mencionado acima por parte do aparelho de codificação de imagens em movimento 100 será especificamente explicado tomando a codificação de uma imagem P13 e de uma imagem Bll como exemplo, conforme mostrado na Fig.7. (Codificação da Imagem P13)
Dado que a imagem PI3 é uma imagem P, o aparelho de codificação de imagens em movimento 100 codifica a imagem 13 através de 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 P10. Esta imagem P10 foi já codificada, e a imagem descodificada da mesma é 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. Como tal, os macroblocos na imagem P13 que são lidos a partir da memória de imagem 101, são obtidos através da unidade de estimativa de vetor de movimento 108, da unidade de seleção do modo 10 9 e da 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 107 como uma imagem de referência, e produz o vetor de movimento estimada para a unidade de seleção do modo 109. A unidade de seleção do modo 109 determina um modo de codificação do macrobloco na imagem P13 utilizando o vetor de movimento estimado através da unidade de estimativa de vetor de movimento 108. Dado que a imagem P13 é uma imagem P, a unidade de seleção do modo 109 determina, conforme mencionado acima, um modo de codificação a partir dos seguintes: codificação intra-imagem, codificação de predição entre imagens utilizando vetores de movimento, e modo de salto (uma codificação de predição entre imagens na qual não é codificado qualquer vetor de movimento de um bloco corrente dado que a codificação de predição é executada utilizando um vetor de movimento obtido a partir de vetores de movimento de outros blocos, e não é codificado qualquer valor de coeficiente dado que todos os valores de coeficiente são 0 como resultado da codificação de erro de predição).
Quando a unidade de seleção do modo 109 seleciona codificação de predição entre imagens utilizando vetores de movimento, a unidade de codificação de vetor de movimento 117 na presente forma de realização codifica o vetor de movimento do bloco corrente na imagem P13 através do método conforme explicado na Fig.3. Quando um bloco contíguo do bloco corrente é codificado em modo de salto, a unidade de codificação de vetor de movimento 117 não considera o vetor de movimento do bloco contíguo como sendo 0, mas trata um vetor de movimento obtido a partir dos outros blocos para codificação do bloco contíguo como um vetor de movimento desse bloco.
Será explicado um método de codificação de um vetor de movimento de um bloco corrente utilizado quando um bloco contíguo é codificado em modo de salto. A Fig.9 é uma ilustração para explicar como codificar um bloco contíguo C em modo de salto.
Conforme ilustrado na Fig.9, quando um bloco contíguo C na imagem P13 é codificado no modo de salto, é calculado o mediano de um vetor de movimento MVe de um bloco E, um vetor de movimento MVf de um bloco F e um vetor de movimento MVg de um bloco G, que estão localizados na proximidade do bloco contíguo C, e o bloco contíguo C é codificado utilizando um vetor de movimento MVcm indicando o mediano. Aqui, é obtido um mediano dos vetores de movimento através do cálculo de medianos de componentes horizontais e verticais dos vetores de movimento respetivamente, por exemplo.
Ao codificar o vetor de movimento do bloco corrente A conforme 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, veja-se a Fig.3 e Fig.4), e decide se cada um dos blocos B, C e D é ou não um bloco que foi codificado utilizando vetores de movimento de outros blocos. Como resultado, quando é decidido que somente o bloco contíguo C é codificado em modo de salto, isto é, codificado utilizando outros blocos, a unidade de codificação de vetor de movimento 117 trata o mediano (um vetor de movimento MVcm) calculado a partir dos vetores de movimento dos outros blocos E, F e G para codificação do bloco C contíguo como um vetor de movimento do bloco C contíguo, conforme mencionado acima, e calcula o mediano do vetor de movimento MVcm e dos vetores de movimento dos blocos contíguos B e D de modo a considerã-lo como um valor preditivo de vetor de movimento do bloco corrente A. Posteriormente, 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 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 adicionalmente 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 a partir de 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 mencionado acima do bloco C contíguo utilizando estes vetores de movimento armazenados na unidade de armazenamento de vetor de movimento 116 ao codificar o vetor de movimento do bloco corrente A. Deve ser notado que no que diz respeito a uma imagem que foi codificada utilizando vetores de movimento de outros blocos, um vetor de movimento da mesma que é obtido através do cálculo de um mediano dos vetores de movimento dos outros blocos pode ser armazenado previamente na unidade de armazenamento de vetor de movimento 116. Neste caso, dado que a unidade de armazenamento de vetor de movimento 116 armazena o vetor de movimento MVcm previamente, a unidade de codificação de vetor de movimento 117 não necessita calcular o vetor de movimento MVcm do bloco contíguo C mas pode utilizar o vetor de movimento MVcm armazenado na unidade de armazenamento de vetor de movimento 116 diretamente como um vetor de movimento do bloco contíguo C, ao codificar o vetor de movimento do bloco corrente A.
Por outro lado, é codificada uma imagem de erro de predição indicando uma diferença entre um macrobloco corrente na imagem PI 3 e uma imagem de compensação de movimento por parte da unidade de codificação de erro de predição 103 e gerada como dados codificados, e é adicionada informação sobre o vetor de movimento conforme mencionado acima aos dados codificados pela unidade de geração de corrente de bits 104. Contudo, uma diferença entre um macrobloco codificado no modo de salto e uma imagem de compensação de movimento é 0, e não é adicionada informação sobre o vetor de movimento 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)
Dado que a imagem Bll é uma imagem P, 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 respetivas 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. Como tal, os macroblocos na imagem Bll que são lidos a partir da memória de imagem 101 são obtidos através da unidade de estimativa de vetor de movimento 108, pela unidade de seleçã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 direto e o vetor de movimento reverso de cada bloco num macrobloco, utilizando uma imagem descodificada da imagem P10 armazenada na memória de imagem 107 como uma imagem de referência direta, e uma imagem descodificada da imagem P13 como uma imagem de referência reversa, e produz os vetores de movimento direto e reverso estimados para a unidade de seleção do modo 109. A unidade de seleção do modo 109 determina um modo de codificação do macrobloco na imagem Bll utilizando os vetores de movimento direto e reverso estimados pela unidade de estimativa de vetor de movimento 108. Dado que a imagem Bll é uma imagem B, a unidade de seleção do modo 109 determina um modo de codificação a partir dos seguintes: codificação intra-imagem, codificação de predição entre imagens utilizando vetores de movimento direto, codificação de predição entre imagens utilizando vetores de movimento reverso, codificação de predição entre imagens utilizando vetores de movimento bidirecional, e modo direto (codificação de predição entre imagens na qual é executada compensação de movimento utilizando um vetor de movimento obtido a partir de vetores de movimento de outros blocos e não é codificado qualquer vetor), por exemplo.
Quando a unidade de seleção do modo 109 seleciona codificação de predição entre imagens utilizando vetores de movimento, a unidade de codificação de vetor de movimento 117 nesta forma de realização 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 seleção do modo 109 seleciona codificação de predição entre imagens utilizando vetores de movimento bidirecional, 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 explicar a codificação de predição entre imagens utilizando vetores de movimento bidirecional.
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 direto MVF e um vetor de movimento reverso MVB.
Para ser mais especifico, a unidade de codificação de vetor de movimento 117 considera um mediano dos vetores de movimento da frente MVF1, MVF2 e MVF3 dos blocos contíguos B, C e D como sendo um valor preditivo de vetor de movimento direto MVF, e codifica uma diferença entre o vetor de movimento direto MVF e o valor preditivo do mesmo. A unidade de codificação de vetor de movimento 117 considera também um mediano dos vetores de movimento reverso MVB1, MVB2 e MVB3 dos blocos contíguos B, C e D como sendo um valor preditivo de vetor de movimento reverso MVB, e codifica uma diferença entre o vetor de movimento reverso MVB e o valor preditivo do mesmo. Aqui, o mediano dos vetores de movimento é obtido através do cálculo dos medianos de componentes horizontais e verticais dos vetores de movimento, respetivamente, por exemplo.
Ao codificar os vetores de movimento de um bloco corrente numa imagem B, se um bloco contíguo foi codificado em modo direto, a unidade de codificação de vetor de movimento 117 na presente forma de realização não considera os vetores de movimento do bloco contíguo como sendo 0, mas considera os vetores de movimento obtidos a partir de outros blocos como vetores de movimento do bloco contiguo. Existem dois tipos de modos diretos: modo direto temporal e modo direto espacial.
Primeiro, será explicado como codificar os vetores de movimento de um bloco corrente quando um bloco contiguo é codificado em modo direto temporal. A Fig.ll é uma ilustração para explicar como codificar o bloco contiguo em modo direto temporal.
Conforme mostrado na Fig.ll, quando o bloco contíguo C na imagem Bll é codificado em modo direto, é utilizado um vetor de movimento MVp de um bloco X, que se encontra co-localizado com o bloco contíguo C, na imagem P13 que é uma imagem de referência reversa 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. 0 bloco contíguo C é codificado através de predição bidirecional 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 contiguo C são um vetor de movimento MVFc para a imagem PIO e um vetor de movimento MVBc para a imagem PI3.
Neste caso onde o vetor de movimento direto MVFc é mvf, o vetor de movimento reverso MVBc é mvb, o vetor de movimento MVp é mvp, a distância temporal entre a imagem de referência reversa (imagem P13) para a imagem atual (imagem Bll) e a imagem de referência (imagem PIO) designada por parte do bloco na imagem de referência reversa é TRD, e a distância temporal entre a imagem atual (imagem Bll) e a imagem de referência (imagem PIO) designada por parte do bloco na imagem de referência reversa é TRB, mvf e mvb sâo respetivamente calculados pela Equação 1 e Equação 2.
. Equação 1 ...... Equação 2 em que mvf e mvb representam respetivamente componentes horizontais e componentes verticais dos vetores de movimento. E os valores de adição indicam a direção de vetor de movimento MVp, e os valores de subtração indicam a direção oposta à direção de vetor de movimento MVp. 0 bloco contíguo C é codificado utilizando os vetores de movimento MVFc e MVBc obtidos mencionados acima.
Ao codificar os vetores de movimento MVF e MVB do bloco corrente A conforme 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. Como resultado, quando é decidido que somente o bloco contíguo C é codificado no modo direto temporal, isto é, 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 do 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 os medianos dos vetores de movimento MVFc e MVBc e dos vetores de movimento dos blocos contíguos B e D de modo a derivar valores preditivos dos vetores de movimento do bloco corrente A. São obtidos um valor preditivo direto e um valor preditivo reverso em separado. Posteriormente, 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, respetivamente. 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 vetores de movimento de outros blocos. A unidade de armazenamento de vetor de movimento 116 armazena adicionalmente vetores de movimento de blocos que foram codificados sem utilizar vetores de movimento de outros blocos mas utilizando os seus próprios vetores 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 conforme estão para os blocos contíguos B e D, mas para o bloco contíguo C, é lido 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. Deve ser notado que a unidade de armazenamento de vetor de movimento 116 pode armazenar previamente os vetores de movimento calculados a partir de vetores de movimento de outros blocos de modo a 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 previamente os vetores de movimento MVFc e MVBc. Como tal, ao codificar os vetores de movimento do bloco corrente A, a unidade de codificação de vetor de movimento 117 não necessita ler o vetor de movimento MVp do bloco X de modo a 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 diretamente como os vetores de movimento do bloco contíguo C.
Seguidamente, será explicado um método para codificar vetores de movimento de um bloco corrente num caso onde um bloco contíguo é codificado em modo direto espacial. A Fig.12 é uma ilustração para explicar como codificar um bloco contíguo em modo direto espacial.
Conforme ilustrado na Fig.12, quando um bloco contíguo C da imagem Bll é codificado em modo direto espacial, é codificado utilizando vetores de movimento MVFc e MVBc calculados com base nos medianos nos sentidos direto e reverso respetivamente que são obtidos a partir dos vetores de movimento MV Fe e MVBe do bloco E, dos vetores de movimento MVFf e MVBf do bloco F e dos vetores de movimento MVFg e MVBg do bloco G, onde os blocos E, F e G estão localizados na proximidade do bloco contíguo C.
Ao codificar os vetores de movimento MVF e MVB do bloco corrente A conforme 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 proximidade 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. Como resultado, quando a unidade de codificação de vetor de movimento 117 decide que somente o bloco contíguo C foi codificado em modo direto espacial, isto é, utilizando vetores de movimento de outros blocos, trata os vetores de movimento MVFc e MVBc calculados a partir do 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 os medianos dos vetores de movimento MVFc e MVBc e dos vetores de movimento dos blocos contíguos B e D, e, consequentemente deriva valores preditivos dos vetores de movimento do bloco corrente A, conforme mostrado na Fig,12. Posteriormente, 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 a partir de imagens de referência. Por outras palavras, armazena dois vetores de movimento nos sentidos direto e reverso para cada um dos blocos E, F e G. 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 contíguo C utilizando estes vetores de movimento armazenados na unidade de armazenamento de vetor de movimento 116. salientar deve ser notado que a unidade de armazenamento de vetor de movimento 116 pode armazenar previamente dois vetores de movimento nos sentidos direto e reverso que são calculados com base nos medianos obtidos a partir de vetores de movimento de outros blocos de modo a codificar um bloco que tenha sido codificado utilizando os vetores de movimento dos outros blocos. Neste caso, a unidade de armazenamento de vetor de movimento 116 armazena previamente os vetores de movimento MVFc e MVBc. Como tal, ao codificar os vetores de movimento do bloco corrente A, a unidade de codificação de vetor de movimento 117 não necessita 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 diretamente como os vetores de movimento do bloco contíguo C.
Conforme descrito acima, quando o bloco contíguo C é codificado no modo direto temporal acima, os vetores de movimento da imagem de referência reversa (a imagem P13 no caso acima) da imagem atual necessitam ser armazenados na unidade de armazenamento de vetor de movimento 116, mas quando o bloco contíguo C é codificado em modo direto espacial, o armazenamento do mesmo pode ser omitido.
Aqui, ao codificar os vetores de movimento de codificação de um bloco corrente, o aparelho de codificação de imagens em movimento 100 executa um processamento excecional se um bloco contíguo do bloco corrente não for codificado em predição entre imagens, conforme mencionado acima, mas codificado intra-imagem.
Por exemplo, quando existe um bloco que tenha sido codificado intra-imagem 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 os vetores de movimento do bloco como sendo 0. Quando existem dois blocos contíguos que tenham sido codificados intra-imagem, a unidade de codificação de vetor de movimento 117 utiliza os vetores de movimento do um bloco contíguo restante como valores preditivos de vetores de movimento de um bloco corrente. Adicionalmente, quando todos os três blocos contíguos tenham sido codificados intra-imagem, a unidade de codificação de vetor de movimento 117 executa o processamento de codificação dos vetores de movimento de um bloco corrente considerando os respetivos valores preditivos como sendo 0.
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 tenha sido codificada através da unidade de codificação do erro de predição 103 e produzida como dados codificados, e a informação sobre os vetores de movimento que tenham sido codificados conforme mencionado acima é adicionada aos dados codificados através da unidade de geração de corrente de bits 104. Contudo, a informação sobre os vetores de movimento de um macrobloco que foi codificada no modo direto não é adicionada aos dados codificados. 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.
Conforme descrito acima, de acordo com o método de codificação de vetor de movimento da presente invenção, é codificado um vetor de movimento de cada bloco corrente utilizando um valor preditivo derivado a partir dos vetores de movimento dos blocos contíguos previamente codificados e do vetor de movimento do bloco corrente. Se qualquer dos blocos contíguos foi codificado utilizando um vetor de movimento calculado a partir de vetores de movimento de outros blocos, por exemplo, em modo de salto ou modo direto, é 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 derivado 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 como sendo 0 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. Como resultado, a exatidão do valor preditivo em cima descrito é melhorada, e consequentemente a eficácia dos vetores de movimento de codificação pode ser melhorada.
Deve ser notado que na presente forma de realização, foi explicado um caso em que um macrobloco é codificado em todos os pixéis 16 x 16 verticais, 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 8 horizontais x 8 verticais, mas este processamento pode ser efetuado noutras unidades de pixéis.
Também, na presente forma de realização, foi explicado um caso onde um mediano calculado a partir de vetores de movimento de três blocos contíguos previamente codificados é utilizado como um valor preditivo para codificar 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 através de 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 mediano.
Ainda na presente forma de realização, foram explicadas localizações de blocos contíguos para codificar um vetor de movimento utilizando a Fig.3 e a Fig.4, mas podem ser aplicadas quaisquer outras localizações.
Também, na presente forma de realização, foi explicado um método para codificar um bloco corrente utilizando vetores de movimento de outros blocos tomando o modo de salto e os modos diretos temporais e espaciais como exemplos, mas pode ser utilizado qualquer outro método.
Também, na presente forma de realização, foi explicado um caso onde uma diferença entre um vetor de movimento de um bloco corrente e um valor preditivo obtido a partir de vetores de movimento de blocos contíguos de modo a codificar o vetor de movimento, mas pode ser utilizado qualquer outro método diferente da obtenção de uma diferença para codificar o vetor de movimento.
Também, na presente forma de realização, foi explicado um caso onde quando um bloco contíguo é codificado em modo direto espacial, é calculado um mediano dos vetores de movimento dos três blocos previamente codificados na vizinhança do bloco contíguo 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 de um bloco contíguo, ou um valor médio, em vez de um mediano.
Igualmente, nesta forma de realização, quando um bloco numa imagem B é codificado em modo direto espacial, são calculados dois vetores de movimento do bloco nos sentidos direto e reverso, mas podem ser calculados dois vetores de movimento somente no sentido direto ou dois vetores de movimento somente no sentido reverso. Neste caso, a imagem B refere-se a duas imagens somente no sentido direto ou duas imagens no sentido reverso.
Igualmente, nesta forma de realização foi explicado um caso onde quando uma imagem predeterminada é referida na codificação de uma imagem P (uma imagem PIO é referida na codificação de uma imagem P13, por exemplo) e são referidas duas imagens predeterminadas 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 imagens B podem ser codificadas através da seleção de imagens de referência para todos os macroblocos ou bloco entre uma série de imagens. Num tal caso, um valor preditivo de um vetor de movimento pode ser gerado do modo conforme mostrado na Fig.13. A Fig.13 é um diagrama de fluxo mostrando uma operação conduzida pela unidade de codificação de vetor de movimento 117 na derivação de um valor preditivo de um vetor de movimento de um bloco corrente para codificar o vetor de movimento, quando são selecionadas imagens de referência 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 (Etapa S300).
Posteriormente, 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 de um bloco Bb contíguo que foi codificado sem a utilização de vetores de movimento de outros blocos (Etapa 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 (Etapa S304).
Seguidamente, 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 na Etapa S304 (Etapa S306), e determina o número dos blocos contíguos especificados (Etapa S308).
Posteriormente, se o número dos blocos contíguos decidido na Etapa S308 for 1, a unidade de codificação de vetor de movimento 117 considera o vetor de movimento do bloco de movimento que se refere à mesma imagem como sendo um valor preditivo de vetor de movimento MV do bloco corrente (Etapa S310).
Se o número dos blocos contíguos decidido no Etapa S30S nâo for 1, a unidade de codificação de vetor de movimento 117 considera 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, como sendo 0 (Etapa S312), e considera um mediano dos vetores de movimento dos três blocos contíguos como sendo um valor preditivo do vetor de movimento MV do bloco corrente (Etapa S314) .
Utilizando o valor preditivo obtido no Etapa s310 ou Etapa S314, conforme mencionado acima, 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 (Etapa S316).
Igualmente, 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 porção de um macrobloco de altura e um ecrã de largura) necessita ser armazenada na unidade de armazenamento de vetor de movimento 116 para codificar o vetor de movimento, se os vetores de movimento que foram realmente utilizados para a compensação de movimento no modo de salto ou modo direto se encontrarem armazenados na unidade de armazenamento de vetor de movimento 116. Isto aplica-se ao caso onde os vetores de movimento que foram utilizados para a compensação de movimento no modo de salto ou modo direto 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 da presente forma de realização são utilizados, existem mais de 1 pedaço de macrobloco de blocos que são referidos como blocos contíguos para codificar o vetor de movimento, com o macrobloco atual como um ponto de partida. (Segunda Forma de realização)
Será explicado um aparelho para descodificação de imagens em movimento 700 na segunda forma de realização da presente invenção com referência às figuras. A Fig.14 é um diagrama em bloco mostrando a estrutura do aparelho para descodificação de imagens em movimento 700 no segundo forma de realização da presente invenção. 0 aparelho para descodificação de imagens em movimento 700 conforme mostrado na Fig.14 descodifica imagens em movimento codificadas pelo aparelho para codificação de imagens em movimento 100 na primeira forma de realização, 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 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 inserida. Aqui, vários dados incluem informação sobre o modo de codificação, informação sobre vetores de movimento, e assim por diante. A informação extraída sobre o modo de codificação é extraída para a unidade de descodificação do modo 703. A informação de vetor de movimento extraída é exportada para a unidade de descodificação de vetor de movimento 711. Adicionalmente, os dados de erro de predição codificada são extraídos 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 inseridos para gerar uma imagem de erro de predição. A imagem de erro de predição é extraída para o interruptor 709. Quando o interruptor 709 é ligado ao terminal !!b", a imagem de erro de predição é extraída 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 a partir da corrente de bits. Se o modo de codificação for uma codificação intra-imagem, a unidade de descodificação do modo 703 controla os interruptores 709 e 710 para ligar ao terminal "a" e ao terminal "c'!, respetivamente, e se o modo de codificação for codificação entre imagens, controla os interruptores 709 e 710 para ligar o terminal !!b" e o terminal "d", respetivamente. A unidade de descodificação do modo 7 03 extrai adicionalmente 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 extraída a partir da unidade de análise da corrente de bits 701.
Para ser mais especifico, 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 deriva um valor preditivo para um bloco corrente a ser descodificado utilizando os vetores de movimento dos blocos contíguos previamente descodificados, do mesmo modo conforme descrito na Fig.3 e Fig.4. Por exemplo, conforme mostrado na Fig.3, a unidade de descodificação de vetor de movimento 711 obtém um valor preditivo para um bloco corrente A de 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 num mediano calculado a partir de cada um dos componentes horizontais e componentes verticais dos três vetores de movimento previamente descodificados MVb, MVc e MVd. Posteriormente, 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ído a partir 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 de salto anteriormente mencionados, modo direto temporal e modo direto espacial, a unidade de descodificação de vetor de movimento 711 determina o vetor de movimento utilizando somente os vetores de movimento dos blocos contíguos anteriormente descodificados. A Fig.15 é um diagrama de fluxo mostrando o funcionamento geral da unidade de descodificação de vetor de movimento 711 na presente forma de realização.
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 (Etapa S200).
Posteriormente, 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 (Etapa S202).
Como resultado, 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 (Etapa S204) .
Quando for considerado na Etapa S2 04 que um bloco contíguo Ba é incluído (Y na Etapa S2 04) , a unidade de descodificação de vetor de movimento 711 deriva um valor preditivo a partir 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, conforme mencionado acima (Etapa S206).
Por outro lado, quando é decidido no Etapa S206 que um bloco contíguo Ba não está incluído (N no Etapa S2 04) , a unidade de descodificação de vetor de movimento 711 deriva um valor preditivo a partir dos vetores de movimento obtidos respetivamente com base nos resultados estimados dos três blocos contíguos Bb (Etapa S208).
Posteriormente, a unidade de descodificação de vetor de movimento 711 adiciona o valor preditivo obtido na Etapa S2 06 ou S2 08 à diferença que é a informação de vetor de movimento extraída a partir da unidade de análise da corrente de bits 701, de modo a descodificar o vetor de movimento codificado do bloco corrente (Etapa S210) . A unidade de descodificação de vetor de movimento 711 extrai também 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 inserida e a imagem de compensação de movimento para gerar a imagem de descodificação, e extrai 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.
Será explicado o funcionamento deste aparelho para descodificação de imagens em movimento 700, especialmente o funcionamento geral do mesmo, em primeiro lugar. A Fig.16 é uma ilustração para explicar a entrada para e a saída a partir do aparelho para descodificação de imagens em movimento 700.
Conforme ilustrado na Fig.l6A, o aparelho para descodificação de imagens em movimento 700 obtém a corrente de bits de saída extraída a partir do aparelho de codificação de imagens em movimento 100 na primeira forma de realização por ordem de emissão, e descodifica as imagens incluídas na corrente de bits sequencialmente. Posteriormente, conforme mostrado na Fig.l6B, o aparelho para descodificação de imagens em movimento 700 reordena as imagens descodificadas por ordem de visualização para a emissão. 0 processo de descodificação efetuado pelo aparelho para descodificação de imagens em movimento 700 acima será explicado abaixo tomando a descodificação da imagem P13 e da imagem Bll conforme mostrado na Fig.16 como um exemplo específico. (Descodificação da Imagem P13)
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 no que diz respeito à imagem P13, e extrai a informação de seleção do modo e a informação de vetor de movimento e os dados de erro de predição codificados a partir da corrente de bits. A unidade de descodificação do modo 703 controla os interruptores 709 e 710 com referência à informação de seleção do modo extraída a partir da corrente de bits da imagem P13.
Será explicado abaixo um caso onde a informação da seleção do modo indica a codificação de predição entre imagens. A unidade de descodificação de vetor de movimento 711 executa o processamento de descodificação acima na informação de vetor de movimento extraída a partir da corrente de bits da imagem P13 numa base bloco-a-bloco com base na informação de seleção do modo indicando a codificação de predição entre imagens extraídas a partir 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, nomeadamente, no modo de salto, a unidade de descodificação de vetor de movimento 711 trata um vetor de movimento calculado a partir dos vetores de movimento dos outros blocos para descodificar o 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 na primeira forma de realização. Para ser mais especifico, a unidade de descodificação de vetor de movimento 711 calcula o mediano dos vetores de movimento dos três blocos previamente descodificados na proximidade desse bloco contíguo, e trata-o como um vetor de movimento do bloco contíguo.
Igualmente, a unidade de armazenamento de vetor de movimento 706 armazena a informação de seleção do modo extraída a partir 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 seleção do modo armazenada na unidade de armazenamento de vetor de movimento 706. A unidade de armazenamento de vetor de movimento 706 armazena adicionalmente 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 proximidade do bloco contíguo que foi codificado em modo de salto. Ao descodificar o vetor de movimento do bloco corrente, a unidade de descodificação de vetor de movimento 711 calcula um mediano a partir destes vetores de movimento dos três blocos acima armazenados na unidade de armazenamento de vetor de movimento 706. Deve ser notado que a unidade de armazenamento de vetor de movimento (06 pode armazenar previamente um vetor de movimento de um bloco que foi codificado utilizando vetores de movimento de outros blocos, calculando de um mediano 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 necessita obter o vetor de movimento do bloco contíguo que foi codificado em modo de salto, mas pode utilizar o vetor de movimento armazenado na unidade de armazenamento de vetor de movimento 706 diretamente como um vetor de movimento do bloco contíguo.
Por outro lado, os dados de erro de predição codificados do macrobloco corrente na imagem PI3 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. Como tal, 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 é extraída para a memória de imagem 707.
Igualmente, 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 seleção do modo e a informação de vetor de movimento e os dados de erro de predição codificados a partir da corrente de bits. A unidade de descodificação do modo 703 controla os interruptores 709 e 710 no que diz respeito à informação de seleção do modo extraída a partir da corrente de bits da imagem Bll.
Será explicado abaixo um caso onde a informação de seleção do modo indica codificação de predição entre imagens. A unidade de descodificação de vetor de movimento (711) executa o processamento de descodificação acima sobre a informação de vetor de movimento extraída a partir da corrente de bits da imagem Bll numa base bloco-a-bloco com base na informação de seleção do modo indicando a codificação de predição entre imagens extraída a partir da unidade de descodificação do modo 703.
Ao descodificar um vetor de movimento de um bloco corrente na imagem Bll, a unidade de descodificação de vetor de movimento 711 especifica três blocos contíguos previamente descodificados do bloco corrente, e decide se cada um destes blocos contíguos foi ou não codificado 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, nomeadamente, em modo direto temporal ou espacial, a unidade de descodificação de vetor de movimento 711 trata um vetor de movimento obtido utilizando os vetores de movimento dos outros blocos para descodificação do bloco contíguo como um vetor de movimento do mesmo, da mesma maneira que a unidade de codificação de vetor de movimento 117 na primeira forma de realização,
Mais especificamente, quando o bloco contíguo foi codificado no modo direto temporal, a unidade de descodificação de vetor de movimento 711 lê a partir da unidade de armazenamento de vetor de movimento 706 um vetor de movimento de um bloco, que está co-localizado com um bloco contíguo que foi codificado no modo direto, numa imagem de referência previamente descodificada (imagem P13). Por exemplo, conforme mostrado na Fig.ll, se o bloco contíguo C foi codificado no modo direto temporal, a unidade de descodificação de vetor de movimento 711 lê o vetor de movimento descodificado do bloco X na imagem P13 a partir da unidade de armazenamento de vetor de movimento 706. Posteriormente, a unidade de descodificação de vetor de movimento 711 calcula um vetor de movimento direto MVFc e um vetor de movimento reverso MVBc utilizados para a codificação do bloco contíguo C utilizando a Equação 1 e a Equação 2, e utiliza estes vetores de movimento MVFc e MVBc como vetores de movimento do bloco contíguo C.
No caso acima, 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~localizado com o bloco contíguo C que foi codificado no modo direto. Contudo, relativamente 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 previamente os vetores de movimento MVFc e MVBc. Como tal, ao descodificar o vetor de movimento do bloco de corrente A, a unidade de descodificação de vetor de movimento 711 não necessita calcular os vetores de movimento MVFc e MVBc para o bloco contíguo C através da 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) diretamente como vetores de movimento do bloco contíguo C.
Por outro lado, quando um bloco contíguo foi codificado no modo direto 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 proximidade do bloco contíguo como vetores de movimento do mesmo. Por exemplo, na situação conforme mostrado na Fig.12, a unidade de descodificação de vetor de movimento 711 calcula medianos a partir dos vetores de movimento dos três blocos previamente descodificados E, F e G na proximidade do bloco contíguo C que foi codificado no modo direto espacial, e trata o vetor de movimento direto MVFc e o vetor de movimento reverso MVBc indicados pelos medianos como vetores de movimento do bloco contíguo C.
Igualmente, 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 especifico, na situação conforme mostrado 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 direto espacial. Como tal, 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 acima E, F e G armazenados na unidade de armazenamento de vetor de movimento 706. Deve ser notado que a unidade de armazenamento de vetor de movimento 706 pode armazenar previamente os vetores de movimento obtidos através do cálculo de medianos para descodificação de um bloco que foi codificado utilizando vetores de movimento de outros blocos. Neste caso, na situação conforme mostrado na Fig.12, a unidade de armazenamento de vetor de movimento 706 armazena previamente os vetores de movimento MVFc e MVBc. Como tal, ao descodificar os vetores de movimento do bloco corrente A, a unidade de descodificação de vetor de movimento 711 não necessita calcular os vetores de movimento do bloco contíguo C que foi codificado no modo direto espacial, mas pode utilizar os vetores de movimento MVFc e MVBc armazenados na unidade de armazenamento de vetor de movimento 706 diretamente 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-imagem, e não em codificação entre imagens conforme mencionado acima, o aparelho para descodificação de imagens em movimento 700 executa processamento excecional.
Por exemplo, quando um dos três blocos contíguos foi codificado intra-imagem, 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 sendo 0. Quando dois blocos contíguos foram codificados intra-imagem, a unidade de descodificação de vetor de movimento 711 utiliza os vetores de movimento do um bloco contíguo restante como valores preditivos dos vetores de movimento do bloco corrente. Adicionalmente, quando todos os três blocos contíguos foram codificados intra-imagem, a unidade de descodificação de vetor de movimento 711 descodifica os vetores de movimento do bloco corrente considerando os valores preditivos como sendo 0.
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. Como tal, a imagem de compensação de movimento gerada com base nos vetores de movimento descodificado por parte da unidade de descodificação de vetor de movimento 711 é adicionada à imagem de erro de predição e extraída para a memória de imagem 707. 0 processamento de descodificação dos macroblocos restantes na imagem Bll é efetuado 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.
Conforme descrito acima, de acordo com o método de descodificação de vetor de movimento desta invenção, é derivado um valor preditivo a partir dos vetores de movimento dos blocos contíguos previamente descodificados, e é descodificado um vetor de movimento de cada bloco corrente 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 de salto ou no modo direto, é derivado um valor preditivo utilizando, como um vetor de movimento do bloco contíguo, um vetor de movimento calculado a partir dos blocos de movimento de outros blocos para a descodificação desse bloco contíguo.
Consequentemente, os vetores de movimento que tenham sido codificados da maneira conforme mostrado na primeira forma de realização podem ser descodificados adequadamente.
Deve ser notado que, nesta forma de realização, foi explicado um caso em que é utilizado um mediano calculado a partir de vetores de movimento de três blocos contíguos previamente descodificados como um valor preditivo para a 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 através de 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 um mediano.
Igualmente, na presente forma de realização, 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.
Igualmente, na presente forma de realização, foi explicado um método para a codificação de um bloco corrente utilizando vetores de movimento de outros blocos tomando o modo de salto e os modos direto temporal e espacial como exemplos, mas pode ser utilizando qualquer outro modo.
Igualmente, na presente forma de realização, foi explicado um caso onde um vetor de movimento é descodificado através da adição de um valor preditivo obtido a partir de vetores de movimento de blocos contíguos e uma diferença conforme indicado numa corrente de bits, mas pode ser utilizado qualquer outro método diferente da adição para descodificar o vetor de movimento.
Igualmente, na presente forma de realização, foi explicado um caso onde quando um bloco contíguo foi codificado no modo direto espacial, é calculado um mediano dos vetores de movimento de três blocos previamente codificados na proximidade do bloco contíguo 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 pode ser utilizada uma média, em vez de um mediano.
Igualmente, na presente forma de realização, quando existe um bloco contíguo que foi codificado no modo direto espacial, são calculados dois vetores do bloco nos sentidos direto e reverso, mas podem ser calculados dois vetores de movimento somente no sentido direto ou dois vetores de movimento somente no sentido reverso. Neste caso, uma imagem B corrente a ser descodificada diz respeito a duas imagens somente no sentido direto ou a duas imagens somente no sentido reverso.
Igualmente, na presente forma de realização, foi explicado um caso onde uma imagem previamente determinada é referida na descodificação de uma imagem P (a imagem PIO é referida na descodificação da imagem P13, por exemplo) e duas imagens previamente determinadas são referidas na descodificação de uma imagem B (as imagens PIO e P13 são referidas na descodificação da imagem Bll), mas estas imagens P e B podem ser descodificadas através da seleção de imagens de referência entre uma pluralidade de imagens em todos os macroblocos ou com base no bloco. Num tal caso, pode ser gerado um valor preditivo de um vetor de movimento da maneira conforme mostrado na Fig.17. A Fig.17 é um diagrama de fluxo mostrando uma operação da unidade de descodificação de vetor de movimento 711 para derivar 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 é selecionada uma imagem de referência numa base 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 (Etapa S400).
Posteriormente, 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 contiguo Bb que foi codificado sem a utilização de vetores de movimento de outros blocos (Etapa 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 (Etapa S404) .
Seguidamente, 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 Etapa S404 (Etapa S406), e determina o número dos blocos contíguos especificados (Etapa S408).
Se o número dos blocos contíguos determinado no Etapa 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 (Etapa S410).
Se o número de blocos contíguos determinado no Etapa S4 08 é outro número diferente de 1, a unidade de descodificação de vetor de movimento 711 considera o vetor de movimento do bloco contíguo, de entre os três blocos contíguos, que se refere a outra imagem diferente da qual o bloco corrente se refere como sendo 0 (Etapa S412), e considera o mediano dos vetores de movimento dos três blocos contíguos como um valor preditivo de vetor de movimento do bloco corrente (Etapa S414).
Conforme descrito acima, o vetor de movimento codificado do bloco corrente é descodificado através da adição da diferença ao valor preditivo obtido no Etapa S410 ou no Etapa S414.
Igualmente, 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 porção de um macrobloco de altura e um ecrã de largura) na unidade de armazenamento de vetor de movimento 706 para descodificação do vetor de movimento, se os vetores de movimento que foram realmente utilizados para compensação de movimento no modo de salto ou no modo direto forem armazenados na unidade de armazenamento de vetor de movimento 706. Isto aplica-se ao caso onde os vetores de movimento que foram realmente utilizados para a compensação de movimento no modo de salto ou no modo direto 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 da presente forma de realização são utilizados, existe um pedaço de macrobloco de blocos que são referidos como blocos contíguos para a descodificação do vetor de movimento, com o macrobloco corrente como ponto de partida. (Terceira Forma de Realização)
Adicionalmente, 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 conforme mostrado em cada uma das formas de realização mencionadas acima for registado num suporte de armazenamento tal como um disco flexível, torna-se possível efetuar o processamento conforme mostrado em cada uma das formas de realização acima facilmente num sistema informático independente. A Fig.18 é uma ilustração de um meio 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 por parte do aparelho de codificação de imagens em movimento 100 na primeira forma de realização e o aparelho de descodificação de imagens em movimento 200 na segunda forma de realização por parte de um sistema informático. A Fig,18B ilustra a vista frontal e a vista em corte transversal do aspeto de um disco flexível FD, e um disco FD1, e a Fig.lSA ilustra um exemplo de um formato físico do disco FD1 como um suporte de gravação em si. 0 disco FD1 está contido numa caixa F, são formadas uma série de faixas Tr concentricamente na superfície do disco FD1 na direção do raio a partir da periferia, e cada faixa é dividida em 16 sectores. Se na direção angular. Como tal, no disco flexível armazenando o programa mencionado acima, 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 tal no disco FD1. A Fig.lSC ilustra a estrutura para gravar e reproduzir o programa no e a partir 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 unidade de disco flexível FDD. Para construir 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 através do programa gravado no disco flexível FD, o programa é lido a partir do disco flexível FD através da unidade do disco flexível FDD e transferido para o sistema informático Cs.
Deve ser notado que a explicação acima é feita com a suposição de que um meio de gravação é um disco flexível FD, mas o mesmo processamento pode também ser efetuado utilizando um disco ótico. Adicionalmente, o meio 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 nos mesmos. (Quarta Forma de Realização)
Adicionalmente, serão aqui explicadas as aplicações do método de codificação de vetor de movimento e do método de descodificação de vetor de movimento, conforme mostrado nas formas de realização acima e um sistema que utiliza os mesmos. A Fig.19 é um diagrama em bloco mostrando a configuração global 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 proporcionar um serviço de comunicações está dividida em células de tamanho desejado, e as estações de base exl07~exll0, que são estações sem fios fixas são colocadas nas respetivas células.
Neste sistema de fornecimento de conteúdo exlOO, vários serviços tais como um computador exlll, um PDA (assistente digital pessoal) exll2, uma câmara exll3, um telemõvel exll4 e um telemóvel equipado com câmara exllS encontram-se ligados à Internet exlOl, através de um fornecedor 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 conforme mostrado na Fig.19, e pode estar ligado a uma combinação de qualquer um dos mesmos. Igualmente, cada dispositivo pode estar diretamente ligado à rede telefónica exl04, não através das estações de base (exlG7~exllQ) que são as estações sem fios fixas. A câmara exll3 é um dispositivo tal como uma câmara de vídeo digital capaz de obter imagens em movimento. 0 telemóvel pode ser qualquer de um telemóvel de um sistema PDC (Comunicações Digitais Pessoais), um sistema CDMA (Acesso Múltiplo por Divisão de Código) , um sistema W-CDMA (Acesso Múltiplo por Divisão de Código em Banda Larga) ou um sistema GSM (Sistema Global para Comunicações Móveis), um sistema PHS e semelhantes.
Igualmente, um servidor de fluxo ex!03 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 semelhante 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. Igualmente, 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 exll6 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 processamento de codificação. Deve ser notado que o software para a codificação e descodificação de imagens pode ser integrado em qualquer tipo de um meio de armazenamento (tal como um CD-ROM, um disco flexível e um disco rígido) que seja um meio de gravação que pode ser lido pelo computador exlll ou semelhante. Além disso, o telemóvel equipado com câmara exllS pode transmitir os dados de imagens de movimento. Estes dados de imagens em movimento são os dados codificados pelo LSI incluído no telemóvel exllS.
Neste sistema de fornecimento de conteúdo exlOO, os conteúdos (tais como um vídeo de música ao vivo) obtidos por parte de utilizadores utilizando a camara exll3, a câmara exl!6 ou semelhantes são codificados da mesma maneira que as formas de realização acima 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 assim por diante capazes de descodificar os dados codificados mencionados acima. 0 sistema de fornecimento de conteúdo exlOO é um sistema no qual os clientes podem consequentemente receber e reproduzir os dados codificados, e podem adicionalmente 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 conforme mostrado em cada uma das formas de realização mencionadas acima.
Será explicado um telemóvel como um exemplo do mesmo. A Fig.20 é um diagrama mostrando um telemóvel exllS que utiliza o método para codificação de vetor de movimento e o método para descodificação de vetor de movimento conforme explicado nas formas de realização acima. 0 telemóvel exllS tem uma antena ex201 para enviar e receber ondas radioelétricas entre a estação de base exllO, uma unidade de câmara ex2 03 tal como uma câmara CCD capaz de obter imagens de vídeo e fixas, uma unidade de visualização ex2Q2 tal como um ecrã de cristais líquidos para a visualização dos dados obtidos através da descodificação obtido vídeo através da unidade da câmara ex203, vídeo recebido pela antena ex201, ou semelhantes, um corpo principal incluindo um conjunto de teclas de operação ex204, uma unidade de saída de voz ex208 tal como um altifalante paira a emissão de voz, uma unidade de entirada de voz ex205 tal como um microfone para a entrada de vozes, um meio de armazenamento ex2Q7 para armazenar dados codificados ou descodificados, tais como dados de imagens em movimento ou fixas obtidas através da câmara, e dados de texto, imagens em movimento ou imagens fixas de e-mails recebidos, e uma unidade de ranhura ex206 para ligar o meio de armazenamento ex207 ao telemóvel exll5. 0 meio de armazenamento (ex207) inclui um elemento de memória flash, um tipo de EEPROM (Memória Exclusivamente de Leitura Programável e Apagável Eletricamente) que é uma memória eletricamente apagável e regravável não volátil, numa caixa de plástico tal como um cartão SD.
Ainda, o telemóvel exll5 será explicado com referência à Fig.21. Mo telemóvel exll5, uma unidade de controlo principal ex311 para o controlo global de cada unidade do corpo principal incluindo a unidade de visualização ex202 e as teclas de funcionamento ex204 encontra-se ligada a uma unidade de circuito de fornecimento de energia ex.310, a uma unidade de controlo de entrada de operações ex3Q4, a uma unidade de codificação de imagens ex312, a uma unidade de interface da câmara ex303, a uma unidade de controlo LCD (Ecrã de Cristais Líquidos) ex302, a uma unidade de descodificação de imagens ex309, a uma unidade de multiplexagem/desmultiplexagem ex308 a uma unidade de gravação/reprodução ex307, a uma unidade de circuito de modem ex306 e a 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 acionamento é colocada em ON através da operação de um utilizador, a unidade de circuito de fornecimento de energia ex3!0 fornece as unidades respetivas com energia a partir de um pacote de bateria de modo a ativar o telemóvel digital equipado com câmara exllS para um estado de disponibilidade.
No telemóvel exll5, sob o controlo da unidade de controlo principal ex311 incluindo um CPU, ROM, RAM e semelhante, a unidade de processamento de voz ex305 converte os sinais de voz recebidos por parte da unidade de entrada de voz ex205 em modo de conversação em dados de voz digital, a unidade do circuito de modem ex3Q6 efetua o processamento por alargamento do espectro dos dados de voz digital, e a unidade de circuito de envio/receção ex301 efetua conversão de digital a analógico e transformação de frequência dos dados, de modo a transmitir o resultado através da antena ex201. Igualmente, no telemóvel exllS, os dados recebidos por parte da antena ex2 01 no modo de conversação são amplificados e efetuados da frequência de transformação e conversão de analógico a digital, a unidade do circuito de modem ex306 efetua 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 extrair o resultado através da unidade de saída 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 inserido 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 ex3Q6 executar o processamento por alargamento do espectro dos dados texto e a unidade de circuito de envio/receção ex301 efetuar a conversão de digital a analógico e transformar a frequência dos mesmos, o resultado é transmitido para a 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 proporcionados à unidade de codificação de imagens ex312 através da unidade de interface da câmara ex3Q3. Quando os dados da imagem não são transmitidos, os dados da imagem obtidos por parte da unidade da câmara ex203 podem também ser visualizados diretamente 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 na presente invenção, comprime e codifica os dados de imagem proporcionados a partir da unidade da câmara ex203 através do método de codificação utilizado para o aparelho de codificação de imagens, conforme mostrado nas formas de realização 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 exllS envia as vozes recebidas por parte da unidade de entrada de voz ex205 durante a captação de imagem por parte da unidade 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 efetua a multiplexagem dos dados de imagem codificados proporcionados a partir da unidade de codificação de imagens ex312 e dos dados de voz fornecidos a partir da unidade de processamento de voz ex305 por parte de um método predeterminado, a unidade de circuito de modem ex306 efetua o processamento por alargamento do espectro dos dados multiplexados resultantes, e a unidade de circuito de envio/receção ex301 efetua a conversão de digital a analógico e transformação de frequência no resultado para transmissão através da antena ex201.
No que diz respeito à receção de dados de um ficheiro de imagens em movimento que está ligado a um sitio Web ou semelhante no modo de comunicação de dados, a unidade de circuito modem ex3G6 efetua o processamento inverso por alargamento do espectro dos dados recebidos a partir da estação de base exllO através da antena ex201, e envia os dados multiplexados resultantes para a unidade de multiplexagem/desmultiplexagem ex308.
De modo a descodificar os dados multiplexados recebidos pela antena ex201, a unidade de multiplexagem/desmultiplexagem ex308 realiza 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 proporciona os dados de imagens codificados à unidade de descodificação de imagens ex3Q9 e os dados de voz à unidade de processamento de voz ex305 respetivamente através do barramento síncrono ex313. A seguir, a unidade de descodificação de imagens ex3Q9, incluindo o aparelho de descodificação de imagens explicado na presente 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 conforme mostrado nas formas de realização mencionadas acima, de modo a gerar dados de imagens em movimento reproduzidas, e proporciona estes dados à unidade de visualização ex202 através de uma unidade de controlo LCD ex302, e consequentemente os dados de imagens em movimento num ficheiro de imagens em movimento ligado a um sítio 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 proporciona estes dados à unidade de saída de voz ex2 08, e consequentemente os dados de voz incluídos num ficheiro de imagens em movimento ligados a um sitio Web, por exemplo, são reproduzidos.
Esta invenção não se limita ao sistema anteriormente mencionado. A radiodifusão digital terrestre ou por satélite tem sido notícia atualmente, e pelo menos o aparelho de codificação de imagens ou o aparelho de descodificação de imagens nas formas de realização anteriormente mencionadas pode ser incluído num tal sistema de radiodifusão digital conforme mostrado na Fig. 22. 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étricas. Após a sua receção, o satélite de radiodifusão ex410 transmite ondas radioelétricas para radiodifusão, uma antena interna ex4Q6 com uma função de receção de radiodifusão por satélite recebe as ondas radioelétricas, e um aparelho tal como uma televisão (recetor) ex401 ou uma caixa conversora (STB)ex407 descodifica a corrente de bits codificados para reprodução. 0 aparelho para descodificação de imagens conforme mostrado nas formas de realização mencionadas acima pode ser implementado no dispositivo de reprodução ex4 03 para a leitura de uma corrente de bits codificados gravados num suporte de armazenamento ex402 tal como um CD e um DVD que ê um meio de gravação e descodificá-los. Neste caso, os sinais de vídeo reproduzidos são visualizados num monitor ex404, É também concebido para implementar o aparelho de descodificação de imagens na 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. 0 aparelho de descodificação de imagens pode ser incorporado na televisão, e não na caixa conversora. Ou, um automóvel ex412 tendo uma antena ex411 pode receber sinais a partir do satélite ex410, da estação de base exl07 ou semelhantes para reproduzir imagens em movimento num aparelho de visualização tal como um dispositivo de navegação automóvel ex413 ou semelhante no automóvel ex412.
Além disso, o aparelho para a codificação de imagens conforme mostrado nas formas de realização mencionadas acima pode codificar sinais de imagens para os gravar num suporte de gravação. Como um exemplo concreto, existe um gravador ex42 0 tal como um gravador de DVD para gravar sinais de imagens num disco DVD ex421 e um gravador de discos para os gravar num disco rígido. Podem também ser gravados num cartão SD ex422. Se o gravador ex420 inclui o aparelho de descodificação de imagens conforme mostrado nas formas de realização mencionadas acima, os sinais de imagens gravados no disco DVD ex421, ou no cartão SD ex422 podem ser reproduzidos para visualização no monitor ex408.
Deve ser notado que 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, a partir das unidades conforme mostrado na Fig.21, são concebíveis. 0 mesmo se aplica ao computador exlll, à televisão (recetor) ex4Ql e outros.
Adicionalmente, podem ser concebidos três tipos de implementações para um terminal tal como o telemóvel mencionado acima exll4; um terminal de envio/receção equipado tanto com um codificador como um descodificador, um terminal de envio equipado somente com um codificador, e um terminal de receção equipado somente com um descodificador.
Conforme descrito acima, é possível utilizar o método de codificação de vetor de movimento ou o método de descodificação de vetor de movimento conforme mostrado nas formas de realização anteriores em qualquer dos dispositivos e sistemas mencionados acima, e consequentemente podem ser obtidos os efeitos explicados nas formas de realização acima.
Aplicabilidade 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 a presente invenção são adequados para utilização num aparelho de codificação de imagens em movimento para a 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 num 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 formas de realização adicionais da invenção:
Forma de Realização 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, compreendendo: uma etapa de especificação do bloco contíguo para especificar um bloco contíguo localizado na vizinhança do bloco corrente e que jã foi codificado; uma etapa de decisão para decidir se o bloco contíguo foi ou não codificado utilizando um vetor de movimento de outro bloco; uma etapa de predição para obter 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 na etapa de decisão que o bloco contíguo foi codificado utilizando o vetor de movimento do dito outro bloco; e uma etapa de codificação para codificar o vetor de movimento do bloco corrente utilizando o vetor de movimento preditivo.
Forma de realização 2 0 método de codificação do vetor de movimento com as características da forma de realização 1, em que o bloco contíguo que é decidido como tendo sido codificado utilizando o vetor de movimento do dito outro bloco na etapa 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 em sentido direto ou reverso do bloco contíguo.
Forma de realização 3 0 método de codificação do vetor de movimento com as características da forma de realização 1, em que o bloco contíguo que foi ter decidido como tendo sido codificado utilizando o vetor de movimento do dito outro bloco na etapa de decisão inclui o 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.
Forma de realização 4 0 método de codificação do vetor de movimento com as características da forma de realização 1, compreendendo adicionalmente uma etapa de armazenamento para armazenar previamente o vetor de movimento calculado a partir do vetor de movimento do dito outro bloco, quando o bloco contíguo é codificado utilizando outro vetor de movimento do dito outro bloco, em que na etapa de predição, o vetor de movimento preditivo é obtido utilizando o vetor de movimento armazenado na etapa de armazenamento como o vetor de movimento do bloco contíguo, quando é decidido na etapa de decisão que o bloco contíguo foi codificado utilizando o vetor de movimento do dito outro bloco.
Forma de realização 5 0 método de codificação do vetor de movimento com as características da forma de realização 1, compreendendo adicionalmente uma etapa de armazenamento para armazenar previamente o vetor de movimento do dito outro bloco utilizado para codificar o bloco contíguo, em que na etapa 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 na etapa de armazenamento e o vetor de movimento preditivo é derivado a partir do dito vetor de movimento calculado, quando foi decidido na etapa de decisão que o bloco contíguo foi codificado utilizando o vetor de movimento do dito outro bloco.
Forma de realização 6 0 método de codificação do vetor de movimento com as características da forma de realização 1, em que num caso onde o dito outro bloco tem dois vetores de movimento, o vetor de movimento preditivo é derivado na direção temporariamente direta e temporariamente reversa separadamente na etapa de predição, e o vetor de movimento do bloco corrente é codificado na direção temporariamente direta e temporariamente reversa separadamente na etapa de codificação.
Forma de realização 7 0 método de codificação do vetor de movimento com as características da forma de realização 1, em que num caso onde o dito outro bloco tem um vetor de movimento especificado na direção temporariamente direta e um vetor de movimento especificado na direção temporariamente reversa, o vetor de movimento preditivo incluindo dois vetores de movimento preditivos é derivado no etapa de predição, um na direção temporariamente direta e o outro na direção temporariamente reversa separadamente, e o vetor de movimento do bloco corrente incluindo dois vetores de movimento é codificado no etapa de codificação, um na direção temporariamente direta e o outro na direção temporariamente reversa separadamente.
Forma de realização 8 Um método de descodificação do vetor de movimento para descodificar um vetor de movimento codificado de um bloco corrente numa imagem em movimento, compreendendo: uma etapa de especificação do bloco contíguo para especificar um bloco contíguo localizado na vizinhança do bloco corrente e que já foi descodificado, uma etapa de decisão para decidir se o bloco contíguo foi ou não codificado utilizando um vetor de movimento de outro bloco uma etapa de predição para obter 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 na etapa de decisão que o bloco contíguo foi codificado utilizando o vetor de movimento do dito outro bloco; e uma etapa de descodificação para descodificar o vetor de movimento do bloco corrente utilizando o vetor de movimento preditivo.
Forma de realização 9 0 método de descodificação do vetor de movimento com as características da forma de realização 8, em que o bloco contíguo que foi considerado como tendo sido codificado utilizando o vetor de movimento do dito outro bloco na etapa 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 em sentido direto ou reverso do bloco contíguo.
Forma de realização 10 0 método de descodificação do vetor de movimento com as características da forma de realização 8, em que o bloco contíguo que foi considerado como tendo sido codificado utilizando o vetor de movimento do dito outro bloco na etapa 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.
Forma de realização 11 0 método de descodificação do vetor de movimento com as características da forma de realização 8, compreendendo adicionalmente uma etapa de armazenamento para armazenar previamente o vetor de movimento calculado a partir do vetor de movimento do dito outro bloco, quando o bloco contíguo é descodificado utilizando o vetor de movimento do dito outro bloco, em que na etapa de predição, o vetor de movimento preditivo é derivado utilizando o vetor de movimento armazenado na etapa de armazenamento como o vetor de movimento do bloco contíguo, quando foi decidido na etapa de decisão que o bloco contíguo foi codificado utilizando o vetor de movimento do dito outro bloco.
Forma de realização 12 0 método de descodificação do vetor de movimento com as características da forma de realização 8, compreendendo adicionalmente uma etapa de armazenamento para armazenar antecipadamente o vetor de movimento do dito outro bloco utilizado para descodificar o bloco contíguo, em que na etapa 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 na etapa de armazenamento e o vetor de movimento preditivo é derivado a partir do dito vetor de movimento calculado, quando foi decidido na etapa de decisão que o bloco contíguo foi codificado utilizando o vetor de movimento do dito outro bloco.
Forma de realização 13 0 método de descodificação do vetor de movimento com as características da forma de realização 8, em que num caso onde o dito outro bloco tem dois vetores de movimento, o vetor de movimento preditivo é produzido na direção temporariamente direta e temporariamente reversa separadamente na etapa de predição, e o vetor de movimento codificado do bloco corrente é descodificado na direção temporariamente direta e temporariamente reversa separadamente na etapa de descodificação.
Forma de realização 14 0 método de descodificação do vetor de movimento com as características da forma de realização 8, em que num caso onde o dito outro bloco tem um vetor de movimento especificado na direção temporariamente direta e um vetor de movimento especificado na direção temporariamente reversa, o vetor de movimento preditivo incluindo dois vetores de movimento preditivos é derivado no etapa de predição, um na direção temporariamente direta e o outro na direção temporariamente reversa separadamente, e o vetor de movimento codificado do bloco corrente incluindo dois vetores de movimento é descodificado no etapa de descodificação, um na direção temporariamente direta e o outro na direção temporariamente reversa separadamente.
Forma de realização 15 Um aparelho de codificação do vetor de movimento para codificar um vetor de movimento de um bloco corrente numa imagem em movimento, compreendendo: uma unidade de especificação do bloco contiguo operãvel para especificar um bloco contíguo que está localizado na proximidade do bloco corrente e que já foi codificado; uma unidade de decisão operã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 operãvel para derivar 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 a unidade de decisão decide que o bloco contíguo foi codificado utilizando o vetor de movimento do dito outro bloco; e uma unidade de codificação utilizável para codificar o vetor de movimento do bloco corrente utilizando o vetor de movimento preditivo.
Forma de realização 16 Um aparelho de codificação de imagens em movimento para codificar uma imagem em movimento, compreendendo: o aparelho de codificação do vetor de movimento com as características da forma de realização 15; e uma unidade de codificação de imagem operãvel para codificar a imagem correspondente ao vetor de movimento que foi codificado pelo dito aparelho de codificação do vetor de movimento.
Forma de realização 17 Um aparelho de descodificação do vetor de movimento para descodificar um vetor de movimento codificado de um bloco corrente numa imagem em movimento, compreendendo: uma unidade de especificação do bloco contiguo operãvel para especificar um bloco contíguo localizado na vizinhança do bloco corrente e que jã foi descodificado; uma unidade de decisão operã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 operãvel para derivar 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 a unidade de decisão decide que o bloco contíguo foi codificado utilizando o vetor de movimento do dito outro bloco; e uma unidade de descodificação operãvel para descodificar o vetor de movimento do bloco corrente utilizando o vetor de movimento preditivo.
Forma de realização 18 Um aparelho de descodificação de imagens em movimento para descodificar uma imagem em movimento codificada, compreendendo: o aparelho de descodificação do vetor de movimento com as características da forma de realização 17; e uma unidade de descodificação de imagens operãvel para descodificar a imagem codificada correspondente ao vetor de movimento que foi descodificado pelo dito aparelho de descodificação do vetor de movimento.
Forma de realização 19 Um programa que leva um computador a executar as etapas incluídos no método de codificação do vetor de movimento com as caracterí sticas da forma de reali zaçao 1.
Forma de realização 20 Um programa que leva um computador a executar as etapas incluídas no método de descodificação do vetor de movimento com as caracterí sticas da forma de realização 8,
Forma de realização 21 Um suporte de armazenamento para armazenar o programa com as características da forma de realização 19.
Forma de realização 22 Um suporte de armazenamento para armazenar o programa com as características da forma de realização 20.
DOCUMENTOS REFERIDOS NA DESCRIÇÃO
Esta lista de documentos referidos pelo autor do presente pedido de patente foi elaborada apenas para informação do leitor. Não é parte integrante do documento de patente europeia. Não obstante o cuidado na sua elaboração, o IEP não assume qualquer responsabilidade por eventuais erros ou omissões.
Documentos de não patente citados na descrição ® Information technology - Coding of audio-visual objects - Part 2: video (ISO/IEC 14496-2), 01 December 1999, 146-148 [0004] ® H.26L Test Model Long Term Number 6 (TML-6) draftO. 03
March 2001 [0007]

Claims (2)

  1. REIVINDICAÇÕES
    1. Um método de codificação uma imagem em movimento, o dito método compreendendo: especificar S100, S300 três blocos contíguos B, C, D, os três blocos contíguos estando localizados ma proximidade de um bloco corrente e tendo sido jã codificados; decidir S102, S104 se os três blocos contíguos foram jã codificados utilizando um vetor de movimento de outro bloco; e decidir adicionalmente S304 de uma imagem de referência referida na codificação do bloco corrente é a mesma que uma imagem de referência referida na codificação dos três blocos contíguos; codificar S110, S316 um valor de diferença entre um vetor de movimento do bloco corrente e o vetor de movimento preditivo derivado através da dita derivação; gerar uma imagem de compensação de movimento utilizando o vetor de movimento do bloco corrente e uma imagem de referência correspondente ao vetor de movimento do bloco corrente; e codificar um erro de predição entre o bloco corrente e a imagem de compensação de movimento, caracterizado por no caso em que pelo menos um dos três blocos contíguos tenha sido codificado num modo de salto no qual o dito um bloco contíguo é codificado utilizando o vetor de movimento do dito outro bloco, o vetor de movimento do dito um bloco contíguo ser calculado a partir do vetor de movimento do dito outro bloco; e o vetor de movimento preditivo do bloco corrente ser derivado na dita derivação, utilizando o vetor de movimento do dito um bloco contíguo que é calculado a partir do vetor de movimento do dito outro bloco,
  2. 2. Um aparelho de codificação de imagem 10 que codifica uma imagem em movimento, o dito aparelho compreendendo: uma unidade de especificação de bloco contiguo 117 operável para especificar três blocos contíguos, os três blocos contíguos estando localizado numa vizinhança de um bloco corrente e tendo sido já codificados; uma unidade de decisão 117 operável para decidir se cada um dos três blocos contíguos foi codificado utilizando um vetor de movimento de outro bloco, e adicionalmente operável para decidir de uma imagem de referência referida na codificação do bloco corrente é a mesma que uma imagem de referência referida na codificação de cada um dos três blocos contíguos; uma unidade de predição de vetor de movimento 117 operável para derivar um vetor de movimento do bloco corrente para ser um mediano dos vetores de movimento dos três blocos contíguos quando é decidido, por parte da dita unidade de decisão 117, que mais de um dos três blocos contíguos se refere à mesma imagem de referência que o bloco corrente; uma unidade de codificação de vetor de movimento 117 operável para codificar um valor de diferença entre um vetor de movimento do bloco corrente e o vetor de movimento preditivo derivado através da dita unidade de predição de vetor de movimento; uma unidade de compensação de movimento 109 operável para gerar uma imagem de compensação de movimento utilizando o vetor de movimento do bloco corrente e uma imagem de referência correspondente ao vetor de movimento do bloco corrente; e uma unidade de codificação de imagem 103 utilizável para codificar um erro de predição entre o bloco corrente e a imagem de compensação de movimento, caracterizado por no caso em que pelo menos um dos três blocos contíguos ter sido codificado num modo de salto no qual o dito um bloco contíguo é codificado utilizando o vetor de movimento do dito outro bloco, o vetor de movimento do dito um bloco contíguo é calculado a partir do vetor de movimento do dito outro bloco; e o vetor de movimento preditivo do bloco corrente é derivado através da dita unidade de predição de vetor de movimento 117, utilizando o vetor do dito um bloco contíguo que é calculado a partir do vetor de movimento do dito outro bloco.
PT101871721T 2002-01-09 2003-01-08 Método de codificação de imagem em movimento PT2273795T (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
PT2273795T true PT2273795T (pt) 2016-10-05

Family

ID=27348065

Family Applications (11)

Application Number Title Priority Date Filing Date
PT101699130T PT2249573E (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
PT03700472T PT1439713E (pt) 2002-01-09 2003-01-08 Método de codificação e método de descodificação de vector de movimento
PT10187156T PT2273793E (pt) 2002-01-09 2003-01-08 Método de descodificação de vetor 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
PT101871515T PT2293581T (pt) 2002-01-09 2003-01-08 Método de descodificação de vetor em movimento
PT101699197T PT2249574E (pt) 2002-01-09 2003-01-08 Aparelho de codificação de imagem 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
PT10169923T PT2249575E (pt) 2002-01-09 2003-01-08 Método de codificação de imagens e aparelho de codificação de imagens
PT101871721T PT2273795T (pt) 2002-01-09 2003-01-08 Método de codificação de imagem em movimento

Family Applications Before (10)

Application Number Title Priority Date Filing Date
PT101699130T PT2249573E (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
PT03700472T PT1439713E (pt) 2002-01-09 2003-01-08 Método de codificação e método de descodificação de vector de movimento
PT10187156T PT2273793E (pt) 2002-01-09 2003-01-08 Método de descodificação de vetor 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
PT101871515T PT2293581T (pt) 2002-01-09 2003-01-08 Método de descodificação de vetor em movimento
PT101699197T PT2249574E (pt) 2002-01-09 2003-01-08 Aparelho de codificação de imagem 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
PT10169923T PT2249575E (pt) 2002-01-09 2003-01-08 Método de codificação de imagens e aparelho de codificação de imagens

Country Status (18)

Country Link
US (22) US7362807B2 (pt)
EP (12) EP2249575B1 (pt)
JP (1) JP4114859B2 (pt)
KR (4) KR100946846B1 (pt)
CN (1) CN1295934C (pt)
AT (1) ATE493846T1 (pt)
AU (1) AU2003201906B2 (pt)
BR (2) BR0302580A (pt)
CA (3) CA2762023C (pt)
CY (5) CY1114049T1 (pt)
DE (1) DE60335516D1 (pt)
DK (12) DK2273793T3 (pt)
ES (11) ES2408214T3 (pt)
HU (2) HUE032083T2 (pt)
MX (1) MXPA03007629A (pt)
PT (11) PT2249573E (pt)
SI (5) SI2293581T1 (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 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
KR101215189B1 (ko) 2004-07-07 2012-12-24 다우 글로벌 테크놀로지스 엘엘씨 에틸렌 중합체 조성물의 다단계 제조 방법
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
US8275039B2 (en) * 2006-11-07 2012-09-25 Samsung Electronics Co., Ltd. Method of and apparatus for video encoding and decoding based on motion estimation
KR101383540B1 (ko) 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
KR100968204B1 (ko) * 2007-01-11 2010-07-06 전자부품연구원 다시점 비디오 코덱에서의 영상 예측 방법 및 이를 위한프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
TWI373696B (en) * 2007-04-04 2012-10-01 Mstar Semiconductor Inc Methods of calculating a motion estimation value and estimating a motion vector of an image
US20080247466A1 (en) * 2007-04-09 2008-10-09 Jian Wang Method and system for skip mode detection
BRPI0809512A2 (pt) * 2007-04-12 2016-03-15 Thomson Licensing método e aparelho para mesclagem dependente de contexto para modos salto-direto para codificação e decodificação de vídeo
US8526499B2 (en) * 2007-06-15 2013-09-03 Sungkyunkwan University Foundation For Corporate Collaboration Bi-prediction coding method and apparatus, bi-prediction decoding method and apparatus, and recording medium
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
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 パナソニック株式会社 画像符号化装置および画像符号化方法
US9886231B2 (en) 2008-03-28 2018-02-06 Kopin Corporation Head worn wireless computer having high-resolution display suitable for use as a mobile internet device
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 富士通セミコンダクター株式会社 画像データ復号演算装置
WO2010131903A2 (en) * 2009-05-12 2010-11-18 Lg Electronics Inc. Method and apparatus for processing a video signal
EP2765778B1 (en) * 2009-06-18 2016-08-17 Kabushiki Kaisha Toshiba Video encoding apparatus
US9628794B2 (en) * 2009-06-18 2017-04-18 Kabushiki Kaisha Toshiba Video encoding apparatus and a video decoding apparatus
US8462852B2 (en) * 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
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
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
KR101768207B1 (ko) * 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US9351017B2 (en) 2010-01-19 2016-05-24 Samsung Electronics Co., Ltd. Method and apparatus for encoding/decoding images using a motion vector of a previous block as a motion vector for the current block
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
CN107295346B (zh) * 2010-04-01 2020-11-10 索尼公司 图像处理设备和方法
CN105791860B (zh) * 2010-05-26 2018-10-16 Lg电子株式会社 用于处理视频信号的方法和设备
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
AU2011306322B2 (en) 2010-09-24 2016-06-02 Sun Patent Trust Image coding method, image decoding method, image coding apparatus, and image decoding apparatus
SG189114A1 (en) * 2010-09-30 2013-05-31 Mitsubishi Electric Corp Moving image encoding device, moving image decoding device, moving image coding method, and moving image decoding method
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
FI3985979T3 (fi) 2010-12-13 2024-04-23 Electronics & Telecommunications Res Inst Menetelmä vertailuyksikön määrittämiseksi
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
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
CN102986224B (zh) 2010-12-21 2017-05-24 英特尔公司 用于增强的解码器侧运动向量导出处理的系统及方法
KR101377528B1 (ko) 2011-01-15 2014-03-27 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 방법 및 장치
WO2012096551A2 (ko) * 2011-01-15 2012-07-19 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 방법 및 장치
SG189843A1 (en) * 2011-01-19 2013-06-28 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
EP2675167B1 (en) * 2011-02-10 2018-06-20 Sun Patent Trust Moving picture encoding method, moving picture encoding device, moving picture decoding method, moving picture decoding device, and moving picture encoding decoding device
US9648334B2 (en) 2011-03-21 2017-05-09 Qualcomm Incorporated Bi-predictive merge mode based on uni-predictive neighbors in video coding
EP3937497B1 (en) 2011-03-21 2023-02-22 LG Electronics, Inc. Motion vector predictor selection
US8923613B2 (en) 2011-04-15 2014-12-30 Panasonic Corporation Image compression device, image compression method, integrated circuit, program, and picture display apparatus
WO2012147344A1 (ja) 2011-04-27 2012-11-01 株式会社Jvcケンウッド 動画像復号装置、動画像復号方法、及び動画像復号プログラム
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
US10627860B2 (en) 2011-05-10 2020-04-21 Kopin Corporation Headset computer that uses motion and voice commands to control 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 삼성전자주식회사 멀티코어 시스템 기반 비디오 병렬 복호화 방법 및 그 장치
US10321150B2 (en) 2015-03-31 2019-06-11 Realnetworks, Inc. Motion vector selection and prediction in video coding systems and methods
CN105163123B (zh) * 2015-09-06 2018-02-13 福州瑞芯微电子股份有限公司 一种hevc帧间预测子块mv信息的存取方法和装置
US10652569B2 (en) 2015-12-22 2020-05-12 Realnetworks, Inc. Motion vector selection and prediction in video coding systems and methods
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
EP3769528A4 (en) * 2018-03-19 2021-11-10 QUALCOMM Incorporated IMPROVEMENTS TO ADVANCED MOVEMENT VECTOR PREDICTION
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
PT2375753E (pt) 1993-03-24 2013-10-21 Sony Corp Método para codificar e descodificar vetores de movimento e respetivo dispositivo e método para codificar e descodificar sinais de imagem e respetivo dispositivo
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
EP2129133A3 (en) 1995-08-29 2012-02-15 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
JP2000299864A (ja) 1999-04-12 2000-10-24 Canon Inc 動画像処理方法
JP2000299684A (ja) * 1999-04-12 2000-10-24 Telecommunication Advancement Organization Of Japan データ通信システム
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
CN1182726C (zh) 1999-10-29 2004-12-29 皇家菲利浦电子有限公司 视频编码方法
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
JP2004532540A (ja) * 2001-03-05 2004-10-21 インタービデオインコーポレイテッド 誤り耐性のある符号化のためのシステム及び方法
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
SI2249573T1 (sl) 2013-04-30
EP2273794A3 (en) 2011-02-23
DK2273793T3 (da) 2012-10-15
PT1439713E (pt) 2011-02-25
US8885718B2 (en) 2014-11-11
SI2249576T1 (sl) 2013-12-31
PT2273793E (pt) 2012-11-02
US20160360227A1 (en) 2016-12-08
DK2249577T3 (da) 2013-04-15
EP2249570A2 (en) 2010-11-10
US7362807B2 (en) 2008-04-22
ES2392513T3 (es) 2012-12-11
CA2762023A1 (en) 2003-07-24
WO2003061297A1 (en) 2003-07-24
US8885717B2 (en) 2014-11-11
DK2293581T3 (en) 2016-12-05
PT2249578E (pt) 2013-05-06
DK2249576T3 (da) 2013-11-25
KR20080002952A (ko) 2008-01-04
CN1496654A (zh) 2004-05-12
PT2249575E (pt) 2013-12-09
CA2762054C (en) 2014-08-26
ES2441222T3 (es) 2014-02-03
KR20040068854A (ko) 2004-08-02
BR0302580A (pt) 2004-02-25
US20130329802A1 (en) 2013-12-12
EP2249575B1 (en) 2013-10-16
CY1118320T1 (el) 2017-06-28
USRE46924E1 (en) 2018-06-26
ES2600520T3 (es) 2017-02-09
CA2438295C (en) 2012-09-25
US8401080B2 (en) 2013-03-19
EP2249578A3 (en) 2011-02-23
US20150373364A1 (en) 2015-12-24
EP2249576A2 (en) 2010-11-10
EP2273795A2 (en) 2011-01-12
EP1439713A1 (en) 2004-07-21
US20180007383A1 (en) 2018-01-04
ES2441223T3 (es) 2014-02-03
KR100923379B1 (ko) 2009-10-27
CY1114230T1 (el) 2016-08-31
CN1295934C (zh) 2007-01-17
CY1114049T1 (el) 2016-07-27
EP2249578B1 (en) 2013-03-20
US9407927B2 (en) 2016-08-02
BRPI0302580B1 (pt) 2018-02-27
EP2249577A3 (en) 2011-02-23
DK2273795T3 (en) 2016-10-03
PT2249574E (pt) 2013-05-03
US20150063458A1 (en) 2015-03-05
US20130329804A1 (en) 2013-12-12
KR20090130306A (ko) 2009-12-22
SI2293581T1 (sl) 2016-12-30
EP2273794A2 (en) 2011-01-12
EP2293581A1 (en) 2011-03-09
KR20090130305A (ko) 2009-12-22
ES2408241T3 (es) 2013-06-19
EP2249573B1 (en) 2013-03-20
US20080069230A1 (en) 2008-03-20
US8908769B2 (en) 2014-12-09
ATE493846T1 (de) 2011-01-15
EP2293581B1 (en) 2016-08-10
CA2762023C (en) 2014-09-30
US10313700B2 (en) 2019-06-04
CA2438295A1 (en) 2003-07-24
MXPA03007629A (es) 2003-12-04
US9451278B2 (en) 2016-09-20
US20100118969A1 (en) 2010-05-13
EP2249570A3 (en) 2011-02-23
US8290048B2 (en) 2012-10-16
US20080069228A1 (en) 2008-03-20
CY1114052T1 (el) 2016-07-27
US9161050B2 (en) 2015-10-13
US20130329801A1 (en) 2013-12-12
EP2249577A2 (en) 2010-11-10
US10362328B2 (en) 2019-07-23
ES2408245T3 (es) 2013-06-19
EP2273793A3 (en) 2011-02-23
ES2388814T3 (es) 2012-10-18
AU2003201906B2 (en) 2007-09-13
US8290046B2 (en) 2012-10-16
DK1439713T3 (da) 2011-03-07
KR100946845B1 (ko) 2010-03-09
ES2408013T3 (es) 2013-06-17
DK2249574T3 (da) 2013-04-15
ES2600786T3 (es) 2017-02-10
EP2249574B1 (en) 2013-03-20
KR100946846B1 (ko) 2010-03-09
EP2249576B1 (en) 2013-10-16
ES2408214T3 (es) 2013-06-19
US20150055713A1 (en) 2015-02-26
DK2273794T3 (da) 2012-10-01
PT2293581T (pt) 2016-11-14
EP2249575A3 (en) 2011-02-23
AU2003201906A1 (en) 2003-07-30
EP2249573A2 (en) 2010-11-10
US20130322541A1 (en) 2013-12-05
EP2249573A3 (en) 2011-02-23
HUE032083T2 (en) 2017-09-28
EP2249570B1 (en) 2013-03-20
EP2249574A2 (en) 2010-11-10
USRE48035E1 (en) 2020-06-02
ES2410533T3 (es) 2013-07-02
EP1439713A4 (en) 2006-04-12
CA2762054A1 (en) 2003-07-24
US20040086047A1 (en) 2004-05-06
SI2249570T1 (sl) 2013-04-30
EP2249574A3 (en) 2011-02-23
SI2249578T1 (sl) 2013-04-30
US8885720B2 (en) 2014-11-11
US8885719B2 (en) 2014-11-11
EP2273793B1 (en) 2012-09-26
DK2249570T3 (da) 2013-04-15
EP2249576A3 (en) 2011-02-23
PT2249577E (pt) 2013-05-03
US20080069229A1 (en) 2008-03-20
HUE031077T2 (en) 2017-06-28
US9124897B2 (en) 2015-09-01
JP2004096705A (ja) 2004-03-25
US20150055714A1 (en) 2015-02-26
US9124896B2 (en) 2015-09-01
JP4114859B2 (ja) 2008-07-09
ES2408013T9 (es) 2013-12-03
US20130329803A1 (en) 2013-12-12
CY1114867T1 (el) 2016-12-14
US8290047B2 (en) 2012-10-16
US20150373363A1 (en) 2015-12-24
EP2249575A2 (en) 2010-11-10
DE60335516D1 (de) 2011-02-10
EP2249578A2 (en) 2010-11-10
EP2249577B1 (en) 2013-03-20
PT2249573E (pt) 2013-05-03
US20130329805A1 (en) 2013-12-12
US20160360228A1 (en) 2016-12-08
EP2273795A3 (en) 2011-02-23
US8902987B2 (en) 2014-12-02
PT2249576E (pt) 2013-12-09
EP2273793A2 (en) 2011-01-12
US20080069227A1 (en) 2008-03-20
DK2249578T3 (da) 2013-04-15
EP1439713B1 (en) 2010-12-29
PT2249570E (pt) 2013-05-03
DK2249575T3 (da) 2013-11-25
EP2273795B1 (en) 2016-08-10
ES2392513T9 (es) 2013-02-18
KR100946848B1 (ko) 2010-03-09
EP2273794B1 (en) 2012-08-22
DK2249573T3 (da) 2013-04-15

Similar Documents

Publication Publication Date Title
PT2273795T (pt) Método de codificação de imagem em movimento
KR100923380B1 (ko) 동화상 부호화 방법 및 동화상 복호화 방법
TWI331877B (en) Picture coding method and picture coding device
ES2329711T3 (es) Un procedimiento de codificacion de imagenes en movimiento y un procedimiento de decodificacion de imagenes en movimiento.
BRPI0306684B1 (pt) “Método e aparelho de codificação de um sinal de imagem e método e aparelho de decodificação de um sinal de imagem”
ES2353957T3 (es) Procedimiento de codificación de vectores de movimiento y procedimiento de decodificación de vectores de movimiento.
JP2004194283A (ja) 動き補償方法、画像符号化方法および画像復号化方法