PT2249574E - Aparelho de codificação de imagem em movimento - Google Patents

Aparelho de codificação de imagem em movimento Download PDF

Info

Publication number
PT2249574E
PT2249574E PT101699197T PT10169919T PT2249574E PT 2249574 E PT2249574 E PT 2249574E PT 101699197 T PT101699197 T PT 101699197T PT 10169919 T PT10169919 T PT 10169919T PT 2249574 E PT2249574 E PT 2249574E
Authority
PT
Portugal
Prior art keywords
motion vector
block
image
motion
unit
Prior art date
Application number
PT101699197T
Other languages
English (en)
Inventor
Satoshi Kondo
Shinya Kadono
Makoto Hagai
Kiyofumi Abe
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=27348065&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=PT2249574(E) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Panasonic Corp filed Critical Panasonic Corp
Publication of PT2249574E publication Critical patent/PT2249574E/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/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/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
    • 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/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

Description

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

Claims (1)

  1. REIVINDICAÇÕES 1. Aparelho de codificação de imagem em movimento para a codificação de uma imagem em movimento, compreendendo: uma unidade de especificação de bloco contíguo (117) utilizável para especificar um bloco contíguo localizado na vizinhança de um bloco corrente e que já tenha sido codificado; uma unidade de decisão (117) utilizável para decidir se o bloco contíguo foi, ou não, codificado utilizando um vector de movimento de outro bloco; uma unidade de predição (117) utilizável para obter um vector de movimento do bloco corrente utilizando um vector de movimento calculado a partir de vector de movimento do dito outro bloco como um vector de movimento do bloco contíguo, quando a unidade de decisão (117) decide que o bloco contíguo foi codificado utilizando o vector de movimento do dito outro bloco; e uma unidade de codificação (117) utilizável para codificar um valor de diferença entre o vector de movimento do bloco corrente e o vector de movimento do dito outro bloco; e uma unidade de codificação de imagem (103) utilizável para codificar a imagem correspondente ao vector de movimento que foi 2 codificado pelo dito aparelho de codificação de imagem em movimento.
PT101699197T 2002-01-09 2003-01-08 Aparelho de codificação de imagem em movimento PT2249574E (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
PT2249574E true PT2249574E (pt) 2013-05-03

Family

ID=27348065

Family Applications (11)

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

Family Applications Before (5)

Application Number Title Priority Date Filing Date
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
PT10187156T PT2273793E (pt) 2002-01-09 2003-01-08 Método de descodificação de vetor de movimento
PT101699254T PT2249577E (pt) 2002-01-09 2003-01-08 Método de codificação de vector de movimento
PT101871515T PT2293581T (pt) 2002-01-09 2003-01-08 Método de descodificação de vetor em movimento

Family Applications After (5)

Application Number Title Priority Date Filing Date
PT101871721T PT2273795T (pt) 2002-01-09 2003-01-08 Método de codificação de imagem em movimento
PT101699130T PT2249573E (pt) 2002-01-09 2003-01-08 Método de descodificação de vector de movimento
PT10169924T PT2249576E (pt) 2002-01-09 2003-01-08 Método de descodificação de imagens e aparelho de descodificação de imagens
PT03700472T PT1439713E (pt) 2002-01-09 2003-01-08 Método de codificação e 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

Country Status (18)

Country Link
US (22) US7362807B2 (pt)
EP (12) EP1439713B1 (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) CY1114052T1 (pt)
DE (1) DE60335516D1 (pt)
DK (12) DK2249570T3 (pt)
ES (11) ES2408241T3 (pt)
HU (2) HUE031077T2 (pt)
MX (1) MXPA03007629A (pt)
PT (11) PT2249578E (pt)
SI (5) SI2249576T1 (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 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
RU2382791C2 (ru) 2004-07-07 2010-02-27 Дау Глобал Текнолоджиз Инк. Многостадийный способ получения композиций этиленового полимера
US20060012719A1 (en) * 2004-07-12 2006-01-19 Nokia Corporation System and method for motion prediction in scalable video coding
KR100584603B1 (ko) 2004-08-03 2006-05-30 학교법인 대양학원 다시점 영상의 다이렉트 모드 움직임 예측 방법 및 장치
KR101104828B1 (ko) * 2004-12-09 2012-01-16 삼성전자주식회사 움직임 벡터 연산 장치 및 그 방법
US7728909B2 (en) * 2005-06-13 2010-06-01 Seiko Epson Corporation Method and system for estimating motion and compensating for perceived motion blur in digital video
JP2007028393A (ja) * 2005-07-20 2007-02-01 Matsushita Electric Ind Co Ltd 双方向予測符号化ピクチャの直接モードブロックの動きベクトルを求める方法
JP4879558B2 (ja) * 2005-11-02 2012-02-22 パナソニック株式会社 動きベクトル検出装置
US8315308B2 (en) * 2006-01-11 2012-11-20 Qualcomm Incorporated Video coding with fine granularity spatial scalability
US7644666B2 (en) 2006-02-09 2010-01-12 Rehrig Pacific Company Pallet
US20070274396A1 (en) * 2006-05-26 2007-11-29 Ximin Zhang Complexity adaptive skip mode estimation for video encoding
EP2090113A4 (en) * 2006-11-07 2014-08-20 Samsung Electronics Co Ltd METHOD AND DEVICE FOR VIDEO CODING AND DECODING BASED ON MOTION ESTIMATION
KR101383540B1 (ko) 2007-01-03 2014-04-09 삼성전자주식회사 복수의 움직임 벡터 프리딕터들을 사용하여 움직임 벡터를추정하는 방법, 장치, 인코더, 디코더 및 복호화 방법
KR100968204B1 (ko) * 2007-01-11 2010-07-06 전자부품연구원 다시점 비디오 코덱에서의 영상 예측 방법 및 이를 위한프로그램을 기록한 컴퓨터로 판독 가능한 기록매체
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
WO2008127597A2 (en) * 2007-04-12 2008-10-23 Thomson Licensing Method and apparatus for context dependent merging for skip-direct modes for video encoding and decoding
KR100955396B1 (ko) * 2007-06-15 2010-04-29 성균관대학교산학협력단 양-예측 부호화 방법 및 장치, 양-예측 복호화 방법 및장치 및 기록매체
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 ソニー株式会社 符号化装置および方法、記録媒体、並びにプログラム
WO2009095962A1 (ja) * 2008-01-29 2009-08-06 Panasonic Corporation 画像符号化装置、画像符号化方法、画像符号化集積回路および画像符号化プログラム
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
US9628794B2 (en) 2009-06-18 2017-04-18 Kabushiki Kaisha Toshiba Video encoding apparatus and a video decoding apparatus
BRPI0924908B1 (pt) * 2009-06-18 2021-05-11 Kabushiki Kaisha Toshiba aparelhos de codificação e decodificação de vídeo, métodos para codificação e decodificação de vídeo
US8917769B2 (en) * 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
US8462852B2 (en) 2009-10-20 2013-06-11 Intel Corporation Methods and apparatus for adaptively choosing a search range for motion estimation
US9654792B2 (en) 2009-07-03 2017-05-16 Intel Corporation Methods and systems for motion vector derivation at a video decoder
US20110002387A1 (en) * 2009-07-03 2011-01-06 Yi-Jen Chiu Techniques for motion estimation
KR101768207B1 (ko) 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
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
CN102835111B (zh) 2010-01-19 2015-08-12 三星电子株式会社 使用先前块的运动矢量作为当前块的运动矢量来对图像进行编码/解码的方法和设备
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 索尼公司 图像处理设备和方法
KR102344855B1 (ko) * 2010-05-26 2021-12-28 엘지전자 주식회사 비디오 신호의 처리 방법 및 장치
US9300970B2 (en) 2010-07-09 2016-03-29 Samsung Electronics Co., Ltd. Methods and apparatuses for encoding and decoding motion vector
KR101456499B1 (ko) * 2010-07-09 2014-11-03 삼성전자주식회사 움직임 벡터의 부호화 방법 및 장치, 그 복호화 방법 및 장치
US10013976B2 (en) 2010-09-20 2018-07-03 Kopin Corporation Context sensitive overlays in voice controlled headset computer displays
KR101815723B1 (ko) * 2010-09-24 2018-01-05 선 페이턴트 트러스트 화상 부호화 방법, 화상 복호화 방법, 화상 부호화 장치, 및 화상 복호화 장치
WO2012042719A1 (ja) * 2010-09-30 2012-04-05 三菱電機株式会社 動画像符号化装置、動画像復号装置、動画像符号化方法及び動画像復号方法
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
CN108848379A (zh) * 2010-12-07 2018-11-20 韩国电子通信研究院 视频编解码方法、生成比特流的方法和存储比特流的介质
JP5668149B2 (ja) 2010-12-13 2015-02-12 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュートElectronics And Telecommunications Research Institute 参照ユニット決定方法及び装置
US8891831B2 (en) * 2010-12-14 2014-11-18 The United States Of America, As Represented By The Secretary Of The Navy Method and apparatus for conservative motion estimation from multi-image sequences
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 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 방법 및 장치
US9300963B2 (en) * 2011-01-19 2016-03-29 Mediatek Inc. Method and apparatus for parsing error robustness of temporal motion vector prediction
US9749657B2 (en) 2011-01-21 2017-08-29 Sharp Kabushiki Kaisha Buffer compression for motion vector competition
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
EP4184918B1 (en) 2011-03-21 2024-02-07 LG Electronics Inc. Video decoding method, video encoding method, computer-readable digital storage medium and transmission method of data for a video
US9648334B2 (en) 2011-03-21 2017-05-09 Qualcomm Incorporated Bi-predictive merge mode based on uni-predictive neighbors in video coding
CN102959962B (zh) 2011-04-15 2015-11-25 松下电器产业株式会社 图像压缩装置、图像压缩方法、集成电路以及影像显示装置
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
CN103620527B (zh) 2011-05-10 2018-08-17 寇平公司 使用动作和语音命令来控制信息显示和远程设备的头戴式计算机
WO2012163199A1 (en) 2011-05-27 2012-12-06 Mediatek Inc. Method and apparatus for line buffer 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信息的存取方法和装置
CN108432252A (zh) 2015-12-22 2018-08-21 真实网络公司 视频编码中的运动矢量选择及预测系统和方法
JP6356762B2 (ja) * 2016-10-31 2018-07-11 株式会社東芝 動画像符号化装置及び方法
US20180184107A1 (en) * 2016-12-28 2018-06-28 Novatek Microelectronics Corp. Motion estimation method and motion estimation apparatus
SG11202007843YA (en) * 2018-03-19 2020-10-29 Qualcomm Inc Improvements to advanced temporal motion 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
ATE148607T1 (de) * 1991-09-30 1997-02-15 Philips Electronics Nv Bewegungsvektorschätzung, bewegungsbildkodierung- und -speicherung
CA2118118C (en) 1993-03-24 2004-02-24 Motoki Kato Method for coding and decoding motion vectors and apparatus therefor
JPH0730896A (ja) 1993-06-25 1995-01-31 Matsushita Electric Ind Co Ltd 動きベクトル符号化及び復号化方法
FR2725577B1 (fr) 1994-10-10 1996-11-29 Thomson Consumer Electronics Procede de codage ou de decodage de vecteurs mouvement et dispositif de codage ou de decodage mettant en oeuvre ledit procede
US6275532B1 (en) 1995-03-18 2001-08-14 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
JP2001224036A (ja) * 1995-10-18 2001-08-17 Sharp Corp 動画像符号化装置
KR0181069B1 (ko) * 1995-11-08 1999-05-01 배순훈 움직임 추정장치
JP3263807B2 (ja) * 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
JP3344577B2 (ja) * 1996-09-09 2002-11-11 ソニー株式会社 画像符号化装置および画像符号化方法、画像復号化装置および画像復号化方法、並びに記録方法
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
US6005980A (en) * 1997-03-07 1999-12-21 General Instrument Corporation Motion estimation and compensation of video object planes for interlaced digital video
TW563265B (en) * 1998-02-18 2003-11-21 Murata Manufacturing Co Piezoelectric ceramic composition
TW429636B (en) * 1998-02-18 2001-04-11 Murata Manufacturing Co Piezoelectric ceramic composition
KR100328417B1 (ko) * 1998-03-05 2002-03-16 마츠시타 덴끼 산교 가부시키가이샤 화상부호화장치및화상복호화장치, 화상부보화방법 및 화상복호화방법, 및 데이터기억매체
JPH11317961A (ja) 1998-03-05 1999-11-16 Matsushita Electric Ind Co Ltd 画像符号化装置及び画像復号化装置,画像符号化方法及び画像復号化方法,並びにデ―タ記憶媒体
JP2000099864A (ja) 1998-09-21 2000-04-07 Yoshitaka Kurita 介護者支援装置
US6983018B1 (en) * 1998-11-30 2006-01-03 Microsoft Corporation Efficient motion vector coding for video compression
JP2000299684A (ja) * 1999-04-12 2000-10-24 Telecommunication Advancement Organization Of Japan データ通信システム
JP2000299864A (ja) 1999-04-12 2000-10-24 Canon Inc 動画像処理方法
US7885340B2 (en) * 1999-04-27 2011-02-08 Realnetworks, Inc. System and method for generating multiple synchronized encoded representations of media data
CN1147159C (zh) * 1999-04-27 2004-04-21 三星电子株式会社 实时运动图像编码的高速运动估计方法及其装置
EP1056293A1 (en) * 1999-05-25 2000-11-29 Deutsche Thomson-Brandt Gmbh Method and apparatus for block motion estimation
KR20010101329A (ko) 1999-10-29 2001-11-14 요트.게.아. 롤페즈 비디오 인코딩 방법
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
US20030012287A1 (en) 2001-03-05 2003-01-16 Ioannis Katsavounidis Systems and methods for decoding of systematic forward error correction (FEC) codes of selected data in a video bitstream
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
CN102439978A (zh) * 2010-03-12 2012-05-02 联发科技(新加坡)私人有限公司 运动预测方法

Also Published As

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

Similar Documents

Publication Publication Date Title
PT2249574E (pt) Aparelho de codificação de imagem em movimento
PT2271108T (pt) Método de codificação de imagens em movimento e método de descodificação de imagens em movimento
TWI331877B (en) Picture coding method and picture coding device
TWI280781B (en) Moving picture coding method and moving picture decoding method
TWI317107B (en) Filtering strength determination method , moving picture coding method and moving picture decoding method
TW200306749A (en) Motion vector coding method and motion vector decoding method
EP1665133A2 (en) Picture coding method, picture decoding method, picture coding apparatus, picture decoding apparatus, and program thereof
PT2296382E (pt) Método de codificação de imagem
TWI290802B (en) Decoding method, decoding method and data storage medium
BRPI0303336B1 (pt) Método de derivação do vetor de movimento, método de codificação de imagem animada e método de decodificação de imagem animada
TWI259726B (en) Motion vector derivation method
ES2353957T3 (es) Procedimiento de codificación de vectores de movimiento y procedimiento de decodificación de vectores de movimiento.