BRPI0307197B1 - Método de compensação de movimento, método de codificação de imagem e método de decodificação de imagem - Google Patents

Método de compensação de movimento, método de codificação de imagem e método de decodificação de imagem Download PDF

Info

Publication number
BRPI0307197B1
BRPI0307197B1 BRPI0307197-9A BRPI0307197A BRPI0307197B1 BR PI0307197 B1 BRPI0307197 B1 BR PI0307197B1 BR PI0307197 A BRPI0307197 A BR PI0307197A BR PI0307197 B1 BRPI0307197 B1 BR PI0307197B1
Authority
BR
Brazil
Prior art keywords
image
block
motion
motion vector
macroblock
Prior art date
Application number
BRPI0307197-9A
Other languages
English (en)
Inventor
Kadono Shinya
Kondo Satoshi
Abe Kiyofumi
Original Assignee
Godo Kaisha Ip Bridge 1
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=32375820&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BRPI0307197(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Godo Kaisha Ip Bridge 1 filed Critical Godo Kaisha Ip Bridge 1
Publication of BRPI0307197B1 publication Critical patent/BRPI0307197B1/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/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/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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
    • H04N19/52Processing of motion vectors by encoding by predictive 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/557Motion estimation characterised by stopping computation or iteration based on certain criteria, e.g. error magnitude being too large or early exit
    • 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/57Motion estimation characterised by a search window with variable size or shape
    • 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/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/583Motion compensation with overlapping blocks
    • 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

Abstract

"método de compensação de movimento, método de codificação de imagem e método de decodificação de imagem". a presente invenção refere-se ao aparelho de codificação de imagem (300) inclui uma unidade de estimativa de vetor de movimento (302) que seleciona um dos métodos para a derivação de um vetor de movimento de um bloco a ter o movimento compensado, dependendo de um vetor de movimento de um bloco localizado em um canto de um macrobloco decodificado dentre um grupo de blocos que compõem o macrobloco decodificado correspondente ao macrobloco atual a ser codificado e determina o vetor de movimento derivado pelo método selecionado para derivação a ser um candidato do vetor de movimento do macrobloco atual a ser codificado e uma unidade de compensação de movimento (303) que gera uma imagem preditiva do bloco a ter o movimento compensado, com base no vetor de movimento estimado.

Description

(54) Título: MÉTODO DE COMPENSAÇÃO DE MOVIMENTO, MÉTODO DE CODIFICAÇÃO DE IMAGEM E MÉTODO DE DECODIFICAÇÃO DE IMAGEM (51) Int.CI.: H04N 19/139; H04N 19/513 (30) Prioridade Unionista: 25/11/2002 JP 2002-340390 (73) Titular(es): GODO KAISHA IP BRIDGE 1 (72) Inventor(es): SHINYA KADONO; SATOSHI KONDO; KIYOFUMI ABE
Figure BRPI0307197B1_D0001
• *··
Figure BRPI0307197B1_D0002
Figure BRPI0307197B1_D0003
Relatório Descritivo da Patente de Invenção para MÉTODO DE COMPENSAÇÃO DE MOVIMENTO, MÉTODO DE CODIFICAÇÃO DE IMAGEM E MÉTODO DE DECODIFICAÇÃO DE IMAGEM.
Campo Técnico
A presente invenção refere-se a um método de compensação de movimento usando vetores de movimento e a métodos de codificação e decodificação de imagem usando o método de compensação de movimento. Técnica Anterior
Nos últimos anos, acompanhado pelo desenvolvimento de apli10 cações de multimídia, está se tornando geral lidar com uma informação de mídia inteiramente uniforme, tal como uma imagem, uma voz e um texto. Ao mesmo tempo, é possível lidar com a mídia uniformemente pela digitalização de toda a mídia. Entretanto, a imagem digitalizada tem uma quantidade extremamente grande de dados e, portanto, uma tecnologia para compressão da informação de uma imagem é indispensável. Por outro lado, também é importante padronizar a tecnologia de compressão para se interoperarem dados de imagem comprimidos. Como padrões de tecnologia de compressão de imagem, há ο H.261 e ο H.263 da ITU-T (International Telecommunication Standardization Section), MPEG (Grupo de Especialistas em Filmes)20 1, MPEG-2, MPEG-4 e similares da ISO/IEC (International Standardization
Organization / International Electrotechnical Commission).
Geralmente, o volume de informação é comprimido pela redução da redundância em direções temporal e espacial de codificação de filme. Portanto, para uma codificação de predição interimagem objetivada para redução de uma redundância temporal, uma estimativa de movimento e uma geração de uma imagem preditiva são realizadas em uma base de bloco por bloco com referência a uma imagem precedente e a uma imagem seguinte, e uma codificação é realizada para um valor de diferença entre uma imagem preditiva obtida e uma imagem de um macrobloco atual a ser codificado.
Uma imagem é um termo para representar uma tela; isto significa um quadro em uma imagem progressiva e um quadro ou um campo em uma imagem com entrelaçamento. Aqui, uma imagem com entrelaçamento é uma imagem »· ·· ···· na qual um quadro é formado com dois campos com tempo diferente. No processo de codificação e decodificação de uma imagem com entrelaçamento, é possível processar um quadro como um quadro como está ou dois campos. Também é possível processar uma estrutura de quadro ou uma estrutura de campo para cada bloco no quadro.
Uma imagem que não tem uma imagem de referência e na qual uma codificação de predição intra-imagem é realizada é denominada uma imagem I. Adicionalmente, uma imagem na qual apenas uma imagem é referida e uma codificação de predição interimagem é realizada é denominada uma imagem P. Além disso, uma imagem na qual duas imagens são referidas em um tempo e uma codificação interimagem pode ser realizada é denominada uma imagem B. Em uma imagem B, duas imagens podem ser referidas como uma combinação arbitrária de imagens para frente ou imagens para trás em ordem de exibição. É possível selecionar imagens de re15 ferência apropriadas para cada bloco que seja uma unidade básica para codificação e decodificação. Duas imagens de referência são distinguidas: uma imagem de referência que é descrita anteriormente em um fluxo de bit codificado é a primeira imagem de referência e uma imagem de referência que é descrita mais tarde no fluxo de bit codificado é a segunda imagem de refe20 rência. Mas é necessário que as imagens de referência já estejam codificadas ou decodificadas, como uma condição no caso de codificação e decodificação destas imagens.
Para a codificação de uma imagem P ou de uma imagem B, uma codificação de predição interimagem usando compensação de movimento é usada. A codificação de predição interimagem usando compensação de movimento é um método de codificação no qual uma compensação de movimento é aplicada a uma predição interimagem. Uma compensação de movimento é um método que não realiza simplesmente uma predição com base em valores de pixel de um bloco em um quadro de referência co-localizado com um bloco atual, mas estima uma quantidade de movimento (a partir deste ponto, isto é denominado um vetor de movimento) de cada parte, e realiza uma predição considerando a quantidade de movimento para melho-
Figure BRPI0307197B1_D0004
rar a acurácia preditiva e reduzir a quantidade de dados. Por exemplo, a estimativa de um vetor de movimento de uma imagem atual a ser codificada, obtendo-se um valor preditivo que foi deslocado pela quantidade do vetor de movimento e codificando um resíduo preditivo que é a diferença entre o valor preditivo e um valor de pixel de cada pixel na imagem atual a ser codificada, reduz, de forma bem sucedida, a quantidade de dados. No caso deste método, uma informação de um vetor de movimento é necessária no momento de decodificação e, portanto, o vetor de movimento também é codificado e registrado ou transmitido.
O vetor de movimento é estimado em uma base de bloco a bloco, os blocos tendo um tamanho predeterminado. Concretamente, o vetor de movimento é estimado pelo uso de cada bloco em uma imagem de referência correspondente a cada bloco em uma imagem atual a ser codificada em uma área de busca e pela detecção da localização do bloco de referência que é mais similar ao bloco atual a ser codificado.
A Figura 1 é um diagrama de blocos que mostra a estrutura de um aparelho de codificação de filme convencional 100. O aparelho de codificação de filme 100 inclui uma unidade de diferença 101, uma unidade de codificação de imagem 102, uma unidade de codificação de comprimento variável 103, uma unidade de decodificação de imagem 104, uma unidade de adição 105, uma memória de imagem 106, uma memória de imagem 107, uma unidade de compensação de movimento 108, uma unidade de estimativa de vetor de movimento 109 e uma unidade de armazenamento de vetor de movimento 110. Aqui, como um tamanho de bloco para compensação de movimento, um tamanho apropriado é selecionado em uma base de macrobloco por macrobloco a partir de sete tamanhos de bloco e usado para a codificação e a decodificação, os sete tamanhos de bloco sendo 4x4 pixels, 4 x 8 pixels, 8x4 pixels, 8x8 pixels, 8x16 pixels, 16x8 pixels e 16 x 16 pixels, de acordo com a ITU-T H.26L TML8, a qual está atualmente sob pa30 dronização.
A memória de imagem 107 armazena dados de imagem Img que representam filmes introduzidos na ordem de exibição em uma base de ·· · · • ·· ···· ·« * · ♦ · · · • · · · · · * · · « · · • · · · · · · • ·· ·· ·· · • · · to imagem por imagem. A unidade de diferença 101 calcula a diferença entre os dados de imagem Img lidos da memória de imagem 107 e os dados de imagem preditivos Pred introduzidos a partir da unidade de compensação de movimento 108 e gera os dados de imagem residuais preditivos Res. A unidade de codificação de imagem 102 realiza processos de codificação, tais como conversão de freqüência e quantificação, nos dados de imagem residuais preditivos introduzidos Res, e gera dados residuais codificados CodedRes. No caso de uma codificação intra-imagem, uma compensação de movimento interimagem não é realizada e, portanto, o valor dos dados de imagem preditivos Pred é pensado como sendo 0.
A unidade de estimativa de vetor de movimento 109 estima o vetor de movimento que mostra o local predito como sendo ótimo na área de * busca na imagem de referência que são os dados de imagem de referência
Ref, os quais são dados de imagem de decodificação codificados armaze15 nados na memória de imagem 106, e extrai um parâmetro de movimento MontionParam que representa o vetor de movimento estimado. Além disso, naquele momento, a unidade de compensação de movimento 109 alterna imagens de referência de acordo com se uma imagem atual a ser codificada é uma imagem P ou uma imagem B. O modo de codificação Mod mostra de qual forma (por exemplo, qual dentre um modo bipreditivo, um modo unidirecional e um modo direto) a compensação de movimento é realizada. Por exemplo, no modo direto, a unidade de estimativa de vetor de movimento 109 calcula vetores de movimento bipreditivos do referido bloco atual a ter o movimento compensado pelo uso de um vetor de movimento derivado de um outro bloco. Aqui, uma imagem referida para a derivação de um vetor de movimento no modo direto é denominada uma imagem padrão e um bloco na imagem padrão co-localizado com o bloco atual é denominado um bloco padrão. Neste caso, valores vetores de movimento no modo direto são calculados com um macrobloco de 16 x 16 pixels como a unidade, indepen30 dentemente do tamanho de bloco que é realmente a unidade para compensação de movimento e os vetores de movimento calculados não são codificados. Então, a unidade de estimativa de vetor de movimento 109 escolhe o ·· ····
IH vetor de movimento calculado ou o vetor de movimento (0, 0) para ser usado para cada bloco de 4 x 4 pixels. A unidade de compensação de movimento 108 gera os dados de imagem preditivos Pred com base no modo de codificação Mod do bloco atual a ser codificado e nos vetores de movimento estimados pela unidade de estimativa de vetor de movimento 109.
Ainda, quando um vetor de movimento indica locais de subpixel, tais como meio pixel e um quarto de pixel, a unidade de compensação de movimento 108 interpola valores de pixel dos locais de subpixel, tais como meio pixel e um quarto de pixel, pelo uso de um filtro de passa baixa e simi10 lar. A unidade de armazenamento de vetor de movimento 110 armazena os parâmetros de movimento MotionParam extraídos da unidade de estimativa de vetor de movimento 109. A unidade de codificação de comprimento variável 103 realiza uma codificação de comprimento variável e similar nos dados residuais codificados introduzidos CodedRes e nos parâmetros de movimento MotionParam extraídos da unidade de estimativa de vetor de movimento 109, e gera dados codificados Bitstream pela adição, ainda, do modo de codificação Mod.
A unidade de decodificação de imagem 104 realiza processos de decodificação, tais como uma quantidade física e uma conversão de fre20 qüência inversa, nos dados residuais codificados introduzidos CodedRes e gera dados residuais decodificados ReconRes. A unidade de adição 105 adiciona os dados residuais decodificados ReconRes extraídos da unidade de decodificação de imagem 104 aos dados de imagem preditivos Pred introduzidos a partir da unidade de compensação de movimento 108, e gera dados de imagem decodificados Recon. A memória de imagem 106 armazena os dados de imagem decodificados gerados Recon.
Quando a quantidade de movimento de um assunto fotogênico é menor do que uma unidade de pixel inteiro, o efeito preditivo pode melhorar se a predição for realizada com um movimento que seja menor do que a unidade de pixel inteiro. Geralmente, uma interpolação de pixel é usada, quando do cálculo de valores de pixel de uma imagem preditiva com o movimento que é menor do que a unidade de pixel inteiro. Esta interpolação de pixel é realizada pela filtração de valores de pixel de uma imagem de referência com um filtro linear (um filtro de passa baixa). Quando do aumento do número de derivações deste filtro linear, é mais fácil realizar um filtro com boas características de freqüência e, portanto, o efeito preditivo melhora, mas a quantidade de processamento aumenta. Por outro lado, quando o número de derivações deste filtro linear é pequeno, as características de freqüência se tomam piores e, portanto, o efeito preditivo se deteriora, mas a quantidade de processamento diminui.
A Figura 2 é um diagrama que mostra a estrutura de um apare10 Iho de decodificação de filme convencional 200, que realiza uma interpolação de pixel. O aparelho de decodificação de filme 200 inclui uma unidade de decodificação de comprimento variável 201, uma unidade de decodificação de imagem 202, uma unidade de adição 203, uma memória de imagem 204, uma unidade de armazenamento de vetor de movimento 205 e uma unidade de compensação de movimento 206.
A unidade de decodificação de comprimento variável 201 extrai vários dados, tais como os dados residuais codificados CodedRes, parâmetros de movimento MotionParam e uma informação do modo de codificação Mod no momento da codificação dos dados codificados introduzidos
Bitstream. A unidade de decodificação de imagem 202 decodifica os dados residuais codificados introduzidos CodedRes e gera os dados de imagem residuais preditivos Res. A unidade de armazenamento de vetor de movimento 205 armazena os parâmetros de movimento MotionParam extraídos pela unidade de decodificação de comprimento variável 201. A unidade de compensação de movimento 206 inclui no interior uma unidade de interpolação de pixel não ilustrada, que interpola valores de pixel dos locais de subpixel, tais como um meio pixel e um quarto de pixel, pelo uso de um filtro linear e similar, e gera os dados de imagem preditivos Pred, que são dados de compensação de movimento dos dados de imagem decodificados Recon na memória de imagem 204, com base no modo de codificação Mod no momento da codificação, em parâmetros de movimento MotionParam e similares. Neste momento, no caso do modo direto, a unidade de compen• · ·
Figure BRPI0307197B1_D0005
• · · ·· ·· · · sação de movimento 206 gera os dados de imagem preditivos Pred do bloco atual a ter o movimento compensado no mesmo tamanho com o tamanho de bloco de compensação de movimento de um bloco padrão em uma imagem padrão, lidos a partir da memória de imagem 204. A unidade de adição
203 adiciona os dados de imagem residuais preditivos Res extraídos da unidade de decodificação de imagem 202 aos dados de imagem residuais preditivos Pred, que são dados de compensação de movimento extraídos da unidade de compensação de movimento 206, e gera os dados de imagem decodificados Recon. A memória de imagem 204 armazena os dados de imagem decodificados gerados Recon.
Faça uma referência às normas escritas de MPEG-4 Visual (1999, ISO/IEC 14496-2: 1999 Information technology - Coding of audiovisual objects - Part 2: Visual).
Para a realização de uma compensação de movimento de preci15 são de subpixel, contudo, é necessário obter valores de pixel não apenas do bloco atual a ter o movimento compensado, mas, também, de alguns pixels adjacentes. Em outras palavras, para a geração de valores de pixel de precisão de subpixel, é necessário obter os valores de pixel de uma área maior do que o bloco atual a ser predito. É prática comum usar um filtro de passa baixa de modo a se gerarem os valores de pixel por um processo de interpolação; é necessário acessar (ler) alguns pixels adjacentes (pixels para um número de coeficientes do filtro de passa baixa) para um pixel alvo, de modo a se usar o filtro de passa baixa. As figuras 3A e 3B são diagramas que mostram exemplos de um bloco atual a ter o movimento compensado e seus pixels adjacentes, cujos valores de pixel se necessita ler, de modo a se gerar uma imagem preditiva, quando da realização da interpolação de pixel. A Figura 3A é um diagrama que mostra o bloco atual a ter o movimento compensado e seus pixels adjacentes, quando o bloco atual a ter o movimento compensado for pequeno. A Figura 3B é um diagrama que mostra o bloco atual a ter o movimento compensado e seus pixels adjacentes, quando o bloco atual a ter o movimento compensado for grande. Nas figuras 3A e 3B, o quadrado central mostra um bloco atual a ter o movimento compensado,
Figure BRPI0307197B1_D0006
ΐΎ enquanto a área hachurada circundante mostra os pixels adjacentes cujos valores de pixel são lidos a partir de uma memória de referência, de modo a se realizar uma interpolação de pixel. Aqui, por exemplo, quando um filtro de 9 derivações (valores de pixel de nove pixels sendo necessários) é assumido para ser usado como um filtro de passa baixa, de modo a se realizar o processo de filtro de passa baixa para pixels na área de borda do bloco, é necessário obter os valores de pixel de pelo menos quatro pixels fora do bloco e, portanto, uma memória deve ser acessada para leitura da área, incluindo os valores de pixel de quatro pixels circundando o bloco atual central a ter o movimento compensado. Por exemplo, em um bloco de 4 x 4 pixels, é necessário ler os valores de pixel de (4 + 4 + 4) x (4 + 4 + 4) = 144 pixels para cada bloco. Em um bloco de 8 x 8 pixels, é necessário ler os valores de pixel de (4 + 8 + 4) x (4 + 8 + 4) = 256 pixels. Quando da compensação de movimento de um macrobloco de 16 x 16 pixels com um bloco de 8 x 8 pixels como a unidade, é suficiente ler os valores de pixel de 256 pixels x 4 = 1024 pixels, mas quando da compensação de movimento de um macrobloco de 16x16 pixels com um bloco de 4 x 4 pixels como a unidade, é necessário ler os valores de pixel de 144 pixels x 16 = 2304 pixels. Consequentemente, a quantidade de acesso a memória da compensação de movimento com um bloco de 8 x 8 pixels como a unidade é quase a metade daquela de quatro compensações de movimento com um bloco de 4 x 4 pixel como a unidade.
Como é evidente a partir do exemplo mencionado acima, quando da leitura dos valores de pixel do mesmo número de pixels externos circundando um bloco atual a ter o movimento compensado, quanto menor o tamanho do bloco atual a ter o movimento compensado, maior a relação do número de pixels em blocos adjacentes para o número de pixels no bloco atual a ter o movimento compensado, concernente ao número de pixels lidos a partir de uma memória de referência. Como resultado, quando da leitura dos valores de pixel do bloco atual a ter o movimento compensado a partir da memória de referência, há um problema de a carga de acesso a memória (acesso para leitura) se tornar grande por uma referência aos pixels adjacentes que não são o alvo para a compensação de movimento. Particularmente, quando da realização de uma compensação de movimento bipreditiva de uma imagem B cujos valores de pixel são calculados por compensação de movimento da imagem atual a ser codificada ou decodificada com referência a duas imagens ao mesmo tempo, o acesso à memória de refe4 5 rência tornar-se quase o dobro, se comparado com uma compensação de movimento preditiva unidirecional. Portanto, um problema de excesso de informação toma-se proeminente, quando o tamanho do bloco atual a ter o movimento compensado for pequeno.
Exposição da Invenção
É o primeiro objetivo da presente invenção prover um método de compensação de movimento para redução do acesso à memória de referência.
• Adicionalmente, é o segundo objetivo da presente invenção prover um método de codificação de imagem e um método de decodificação de imagem usando o método de compensação de movimento.
Para a obtenção dos objetivos mencionados acima, o método de compensação de movimento de acordo com a presente invenção é um método de compensação de movimento para codificação ou decodificação de um sinal de imagem, o método de compensação de movimento compreen20 dendo: uma etapa de seleção de seleção de um dos métodos para a geração de um vetor de movimento de um bloco em um macrobloco atual a ser codificado ou decodificado, dependendo de um vetor de movimento de um bloco localizado em um canto de um macrobloco codificado ou decodificado dentre um grupo de blocos que compõem o macrobloco codificado ou deco25 dificado correspondente ao macrobloco atual; e uma etapa de compensação de movimento de geração de uma imagem preditiva do bloco no macrobloco atual, com base no vetor de movimento gerado pelo método de seleção. Com isto, embora um grupo de blocos codificados ou decodificados que compõem uma pluralidade de blocos correspondentes a um bloco atual a ter o movimento compensado, ao se julgar o movimento de um bloco localizado nos quatro cantos do macrobloco, incluindo o referido grupo de blocos, é possível selecionar um método para a geração de um vetor de movimento
Figure BRPI0307197B1_D0007
usado para compensação de movimento do bloco atual a ter o movimento compensado.
Além disso, uma vez que o aparelho de codificação de imagem e o aparelho de decodificação de imagem compensam movimento com um tamanho maior do bloco atual a ter o movimento compensado como a uni* dade, é possível, por exemplo, reduzir o excesso de informação por um acesso a uma memória de imagem na codificação e decodificação de uma imagem B, usando-se a compensação de movimento bipreditiva.
Além disso, a presente invenção pode ser realizada não apenas como o método de compensação de movimento, o método de codificação de imagem e o método de decodificação de imagem como estes, mas, também, como o aparelho de codificação de imagem e o aparelho de decodificação jf de imagem usando as etapas características incluídas nestes métodos como meios e como um programa para se fazer com que um computador execute estas etapas. Adicionalmente, é desnecessário dizer que o programa pode ser distribuído através de um meio de gravação, tal como um CD-ROM e um meio de transmissão, tal como a Internet.
Breve Descrição dos Desenhos
A Figura 1 é um diagrama de blocos que mostra a estrutura de um aparelho de codificação de imagem convencional 100.
A Figura 2 é um diagrama que mostra a estrutura de um aparelho de decodificação de imagem convencional 200 que executa uma interpolação de pixel.
As figuras 3A e 3B são diagramas que mostram exemplos de um bloco atual a ter o movimento compensado e seus pixels adjacentes, os quais são necessários para a leitura dos valores de pixel dos quais, de modo a se gerar uma imagem preditiva, quando da realização da interpolação de pixel.
A Figura 4 é um diagrama que mostra a estrutura de um apare30 Iho de codificação de imagem 300, de acordo com uma modalidade, que usa o método de codificação de imagem de acordo com a presente invenção.
A Figura 5 é um diagrama de blocos que mostra a estrutura de
Figure BRPI0307197B1_D0008
um aparelho de decodificação de imagem 400, de acordo com uma modalidade, que usa o método de decodificação de imagem de acordo com a presente invenção.
A Figura 6A é um diagrama que mostra um método para a de5 terminação do vetor de movimento MV do macrobloco atual a ser codificado ou decodificado, usando-se vetores de movimento nos blocos adjacentes, quando os blocos adjacentes tiverem o movimento compensado no mesmo tamanho de bloco que o macrobloco atual a ser codificado ou decodificado.
A Figura 6B é um diagrama que mostra a correspondência entre o bloco atual a ter o movimento compensado e um bloco em uma imagem subseqüente, a qual é co-localizada com o bloco atual, quando o macrobloco atual a ser codificado ou decodificado e o bloco em uma imagem subseqüente, o qual está co-localizado com um bloco atual, tiverem o movimento compensado no mesmo tamanho de bloco.
A Figura 7 é um diagrama que mostra um método para a determinação do vetor de movimento do macrobloco atual a ser codificado ou decodificado usando vetores de movimento de blocos adjacentes, quando os blocos adjacentes tiverem o movimento compensado em um tamanho de bloco menor do que o bloco atual a ser codificado ou decodificado.
A Figura 8 é um fluxograma que mostra um processo para a compensação de movimento do bloco atual a ter o movimento compensado com um método diferente (um vetor de movimento diferente), dependendo de um movimento do bloco em uma imagem subseqüente co-localizada com o bloco atual a ter o movimento compensado, quando um macrobloco atual a ser codificado ou decodificado e um macrobloco em uma imagem subseqüente, o qual está co-localizado com o macrobloco atual, tiverem o movimento compensado com o mesmo tamanho de bloco.
A Figura 9 é um diagrama que mostra a correspondência entre o bloco atual a ter o movimento compensado e a pluralidade de blocos em uma imagem subseqüente, a qual está co-localizada com o bloco atual a ter o movimento compensado, quando um macrobloco atual a ser codificado ou decodificado e o macrobloco em uma imagem subseqüente, o qual é co12
Figure BRPI0307197B1_D0009
Al localizado com o macrobloco atual, tiverem o movimento compensado em tamanhos de bloco diferentes.
A Figura 10 é um fluxograma que mostra um processo para a compensação de movimento do bloco atual a ter o movimento compensado com um método diferente (um vetor de movimento diferente), dependendo de um movimento do bloco em uma imagem subseqüente co-localizada com o bloco atual a ter o movimento compensado, quando um macrobloco atual a ser codificado ou decodificado e um macrobloco em uma imagem subseqüente, o qual está co-localizado com o macrobloco atual, tiverem o movi10 mento compensado com tamanhos de bloco diferentes.
A Figura 11 é um diagrama que mostra a correspondência entre o bloco atual a ter o movimento compensado e a pluralidade de blocos em uma imagem subseqüente, a qual está co-localizada com o bloco atual a ter o movimento compensado, quando um macrobloco atual a ser codificado ou decodificado e o macrobloco em uma imagem subseqüente, o qual é colocalizado com o macrobloco atual, tiverem o movimento compensado em tamanhos de bloco diferentes na Segunda Modalidade.
A Figura 12 é um fluxograma que mostra um processo na Segunda Modalidade para compensação de movimento do bloco atual a ter o movimento compensado com um método diferente (um vetor de movimento diferente), dependendo de um movimento do bloco em uma imagem subseqüente co-localizada com o bloco atual a ter o movimento compensado, quando o macrobloco atual a ser codificado ou decodificado e o macrobloco em uma imagem subseqüente, o qual é co-localizado com o macrobloco atual, tiverem o movimento compensado com tamanhos de bloco diferentes.
A Figura 13A mostra um exemplo de um formato físico do disco flexível como um corpo principal de um meio de armazenamento.
A Figura 13B mostra uma aparência completa de um disco flexível, sua estrutura na seção transversal e o disco flexível em si.
A Figura 13C mostra a estrutura para gravação e leitura do programa no disco flexível FD.
A Figura 14 é um diagrama de blocos que mostra uma configu13 ração geral de um sistema de provisão de conteúdo ex100 para realização do serviço de distribuição de conteúdo.
A Figura 15 é um diagrama que mostra o telefone celular ex115 usando o método de codificação de imagem e o método de decodificação de imagem explicados nas modalidades mencionadas acima.
A Figura 16 é um diagrama que mostra a estrutura de um telefone celular.
A Figura 17 é um diagrama que mostra um exemplo de um sistema de difusão digital.
Melhor Modo para Realização da Invenção
As modalidades da presente invenção serão explicadas em detalhes abaixo, com referência às Figuras 4 a 17.
(A Primeira Modalidade)
A primeira modalidade da presente invenção será explicada com detalhes abaixo, com referência às figuras.
A Figura 4 é um diagrama que mostra a estrutura de um aparelho de codificação de imagem 300 de acordo com uma modalidade, que usa o método de codificação de imagem de acordo com a presente invenção. O aparelho de codificação de imagem 300 é um aparelho de codificação de imagem que realiza uma compensação de movimento de uma imagem B (a ser codificada) em um tamanho de bloco maior do que o tamanho de bloco de compensação de movimento de uma imagem P com referência a duas imagens. O aparelho de codificação de imagem 300 inclui uma unidade de diferença 101, uma unidade de codificação de imagem 102, uma unidade de codificação de comprimento variável 103, uma unidade de decodificação de imagem 104, uma unidade de adição 105, uma memória de imagem 106, uma memória de imagem 107, uma unidade de armazenamento de vetor de movimento 110, uma unidade de conversão de informação de movimento 301, uma unidade de estimativa de vetor de movimento 302 e uma unidade de compensação de movimento 303.
A memória de imagem 107 armazena os dados de imagem
Img que representam filmes introduzidos na ordem de exibição em uma
Figure BRPI0307197B1_D0010
·· ···» ·» • ·« · • · · · · * · · · · • · · · · · · ·· ·· · te base de imagem por imagem. A unidade de diferença 101 calcula a diferença entre os dados de imagem Img lidos a partir da memória de imagem 107 e os dados de imagem preditivos Pred introduzidos a partir da unidade de compensação de movimento 303, e gera os dados de imagem residuais preditivos Res. Aqui, no caso de uma codificação intra-imagem, uma compensação de movimento interimagem não é realizada. E, portanto, o valor dos dados de imagem preditivos Pred é pensado como sendo 0. A unidade de codificação de imagem 102 realiza processos de codificação, tais como uma conversão de freqüência e uma quantificação, nos dados de ima10 gem residuais preditivos introduzidos Res e gera os dados residuais codificados CodedRes. Quando a imagem atual a ser codificada é uma imagem B, a unidade de conversão de informação de movimento 301 deriva vetores de movimento e informa à unidade de estimativa de vetor de movimento 302 e à unidade de compensação de movimento 303, de modo que uma com15 pensação de movimento seja realizada em um tamanho de bloco predeterminado. Em outras palavras, no caso de uma imagem B, sob a condição de aceitação do modo de predição unidirecional, do modo bipreditivo e do modo direto, o aparelho de codificação de imagem 300 realiza a compensação de movimento no modo bidirecional e no modo direto em um tamanho de bloco grande (por exemplo, estimar vetores de movimento em um tamanho de bloco menor do que um bloco de 8 x 8 pixels é proibido); no caso de uma imagem P, a predição unidirecional em um tamanho de bloco pequeno é permitida. Desse modo, particularmente no modo bipreditivo que acessa a memória freqüentemente, uma seleção dos vetores de movimento que se referem a imagens de referência no tamanho de bloco pequeno é tomada não habilitada. Além disso, a unidade de conversão de informação de movimento 301 converte parâmetros de movimento de imagens de referência armazenadas na unidade de armazenamento de vetor de movimento 110 em parâmetros de movimento (tais como vetores de movimento) com um tamanho de bloco predeterminado (por exemplo, um bloco de 8 x 8 pixels), ou instrui a unidade de estimativa de vetor de movimento 302 e a unidade de compensação de movimento 303 para fazerem uma interpretação dos parâmetros de movi15 • ·
Figure BRPI0307197B1_D0011
mento correspondentes a esta conversão.
Usando-se os dados de imagem de referência Ref que são dados decodificados de imagens codificadas armazenadas na memória de imagem 106 como uma imagem de referência, a unidade de estimativa de vetor de movimento 302 estima o vetor de movimento que indica a localização do bloco predito como sendo ótimo na área de busca na imagem de referência, e extrai parâmetros de movimento MotionParam incluindo o vetor de movimento estimado. A unidade de armazenamento de vetor de movimento 110 armazena os parâmetros de movimento MotionParam extraídos da unidade de estimativa de vetor de movimento 302.
Além disso, respondendo a se a imagem atual a ser codificada é uma imagem P ou uma imagem B, a unidade de estimativa de vetor de movimento 302 avalia erros indicados pelos casos de compensação de movimento nos modos de codificação Mod, e compara o erro de compensação de movimento quando uma busca é conduzida na imagem de referência com o erro de compensação de movimento, quando da derivação de vetores de movimento no modo direto, no modo preditivo unidirecional e no modo bipreditivo. Em outras palavras, no modo direto, dependendo dos vetores de movimento, os quais são convertidos pela unidade de conversão de informa20 ção de movimento 301 (convertidos, por exemplo, para um tamanho de bloco que é um bloco de 8 x 8 ou maior), do bloco de movimento compensado em um bloco subseqüente, o qual está co-localizado com o bloco atual a ter o movimento compensado, um vetor de movimento no bloco atual a ter o movimento compensado é selecionado dentre uma pluralidade de vetores de movimento. A propósito, o modo direto é um modo bipreditivo para cálculo do vetor de movimento do bloco atual a ter o movimento compensado usando-se um vetor de movimento derivado de um outro bloco e para não codificação do vetor de movimento no bloco atual a ter o movimento compensado. O tamanho do vetor de movimento no bloco em uma imagem subseqüente co-localizada com um bloco atual decide qual dentre o vetor de movimento derivado e o vetor de movimento (0, 0) é usado. (A informação para identificação de qual deles é selecionado não é codificada). Além disso, o bloco em
Figure BRPI0307197B1_D0012
Figure BRPI0307197B1_D0013
·· · · uma imagem subseqüente a qual está co-localizada com um bloco atual é o bloco (o bloco padrão) na imagem para trás mais próxima (a imagem padrão) para a imagem atual a ser codificada na ordem de exibição.
A unidade de compensação de movimento 303 gera os dados de imagem preditivos Pred com base neste modo de codificação Mod e no vetor de movimento estimado pela unidade de estimativa de vetor de movimento 302. No modo direto de uma imagem B, a unidade de compensação de movimento 303 gera imagens preditivas para cada bloco atual a ter o movimento compensado de 8 x 8 pixels, usando o vetor de movimento calcula10 do pela unidade de estimativa de vetor de movimento 302. Além disso, quando o vetor de movimento indica locais de subpixel, tais como um meio pixel e um quarto de pixel, a unidade de compensação de movimento 303 interpola os locais de subpixel, tais como um meio pixel e um quarto de pixel, usando um filtro linear (um filtro de passa baixa) e similar. Neste caso, uma vez que os vetores de movimento com tamanhos de bloco pequenos não são selecionados pela unidade de estimativa de vetor de movimento 302 no modo bipreditivo, a unidade de compensação de movimento 303 pode realizar uma compensação de movimento com tamanhos de bloco relativamente grandes que não têm muitos acessos no modo bipreditivo. Adicionalmente, no modo unidirecional, a unidade de estimativa de vetor de movimento 302 e a unidade de compensação de movimento 303 realizam uma compensação de movimento que permite uma compensação de movimento com tamanhos de bloco pequenos. A unidade de codificação de comprimento variável 103 realiza uma codificação de comprimento variável e similar nos dados residu25 ais codificados introduzidos CodedRes e nos parâmetros de movimento MotionParam extraídos da unidade de estimativa de vetor de movimento 302, e gera os dados codificados Bitstream pela adição ainda do modo de codificação Mod.
A unidade de decodificação de imagem 104 realiza processos de decodificação, tais com uma quantidade física e uma conversão de freqüência inversa, nos dados residuais codificados introduzidos CodedRes e gera os dados residuais decodificados ReconRes. A unidade de adição 105 adi17 ciona os dados residuais decodificados ReconRes extraídos da unidade de decodificação de imagem 104 para os dados de imagem preditivos Pred introduzidos a partir da unidade de compensação de movimento 303 e gera os dados de imagem decodificados Recon. A memória de imagem 106 ar5 mazena os dados de imagem decodificados gerados Recon.
A Figura 5 é um diagrama de blocos que mostra a estrutura de um aparelho de decodificação de imagem 400 de acordo com uma modalidade, que usa o método de decodificação de imagem de acordo com a presente invenção. O aparelho de decodificação de imagem 400 inclui uma uni10 dade de decodificação de comprimento variável 201, uma unidade de decodificação de imagem 202, uma unidade de adição 203, uma memória de imagem 204, uma unidade de armazenamento de vetor de movimento 205, uma unidade de conversão de informação de movimento 401 e uma unidade de compensação de movimento 402.
A unidade de decodificação de comprimento variável 201 extrai vários dados, tais como os dados residuais codificados CodedRes, os parâmetros de movimento MotionParam e a informação do modo de codificação Mod usado no momento da codificação dos dados codificados introduzidos Bitstream. A unidade de decodificação de imagem 202 decodifica os dados residuais codificados introduzidos CodedRes e gera os dados de imagem residuais preditivos Res. A unidade de conversão de informação de movimento 401 converte os parâmetros de movimento de imagens de referência lidos da unidade de armazenamento de vetor de movimento 205 em parâmetros de movimento (tais como vetores de movimento) com o ta25 manho de bloco predeterminado (por exemplo, um bloco de 8 x 8 pixels) ou instrui a unidade de compensação de movimento 402 para fazer uma interpretação dos parâmetros de movimento correspondentes a esta conversão. A unidade de compensação de movimento 206 inclui no interior uma unidade de interpolação de pixel não ilustrada, que interpola valores de pixel dos lo30 cais de subpixel, tais como um meio pixel e um quarto de pixel, pelo uso de um filtro linear e similar, e gera os dados de imagem preditivos Pred que são dados de compensação de movimento dos dados de imagem decodifi18
Figure BRPI0307197B1_D0014
Α· ··»· • · · · ♦ · · · • · · ·
Figure BRPI0307197B1_D0015
cados Recon na memória de imagem 204, com base no modo de codificação Mod no momento da codificação, em parâmetros de movimento MotionParam e similares. Neste momento, quando o macrobloco atual a ser decodificado é codificado no modo direto, os vetores de movimento para a ge5 ração dos dados de imagem preditivos Pred não são codificados. Conseqüentemente, a unidade de compensação de movimento 402 calcula vetores de movimento no bloco atual a ter o movimento compensado usando os vetores de movimento convertidos pela unidade de conversão de informação de movimento 401 (convertidos, por exemplo, para um tamanho de bloco que é um bloco de 8 x 8 ou maior) e vetores de movimento derivados em blocos adjacentes ao bloco atual a ser decodificado, e gera os dados de imagem preditivos Pred em uma base de bloco por bloco, o bloco sendo o bloco atual a ter o movimento compensado (Por exemplo, um bloco de 8 x 8 pixels) com o tamanho que é maior do que o menor tamanho de bloco de uma imagem P. A unidade de armazenamento de vetor de movimento 205 armazena os parâmetros de movimento MotionParam extraídos pela unidade de decodificação de comprimento variável 201. A unidade de adição 203 adiciona os dados de imagem residuais preditivos Res extraídos da unidade de decodificação de imagem 202 aos dados de imagem preditivos
Pred, que são dados de compensação de filme extraídos da unidade de compensação de movimento 206 e gera os dados de imagem decodificados Recon. A memória de imagem 204 armazena os dados de imagem decodificados gerados Recon.
A partir deste ponto, o aparelho de codificação de imagem 300 e o aparelho de decodificação de imagem 400 construídos como é descrito acima são explicados.
Na presente modalidade, no modo direto de uma imagem B, a unidade de estimativa de vetor de movimento 302 no aparelho de codificação de imagem 300 e a unidade de compensação de movimento 402 no aparelho de decodificação de imagem 400 selecionam um vetor de movimento usado para compensação de movimento do bloco atual a ter o movimento compensado dentre uma pluralidade de vetores dependendo de veto19
Figure BRPI0307197B1_D0016
res de movimento do bloco de movimento compensado em uma imagem subseqüente, a qual é co-localizada com o bloco atual a ter o movimento compensado. Por exemplo, a unidade de estimativa de vetor de movimento 302 ou a unidade de compensação de movimento 402 seleciona um vetor de movimento do macrobloco atual a ser codificado ou decodificado, o vetor de movimento (0, 0) ou o vetor de movimento sendo calculado, usando vetores de movimento dos blocos adjacentes que já foram codificados ou decodificados nas imagens a serem codificadas ou decodificadas, e determina que o vetor de movimento selecionado seja o vetor de movimento no bloco atual a ter o movimento compensado. Os blocos adjacentes são os blocos que já foram codificados ou decodificados na mesma imagem atual a ser codificada e são blocos vizinhos para o macrobloco atual a ser codificado ou decodificado. A partir deste ponto, com referência ao método de compensação de movimento no modo direto usando vetores de movimento nos blocos adja15 centes que já foram determinados e parâmetros de movimento em uma imagem de referência para trás, os processos no aparelho de codificação de imagem 300 são explicados primeiramente.
A Figura 6A é um diagrama que mostra um método para a determinação do vetor de movimento MV do macrobloco atual a ser codificado ou decodificado, usando-se vetores de movimento nos blocos adjacentes, quando os blocos adjacentes a terem o movimento compensado no mesmo tamanho de bloco de 16 x 16 pixels como o macrobloco atual. A Figura 6B é um diagrama que mostra a correspondência entre o bloco atual a ter o movimento compensado e o bloco em uma imagem subseqüente, a qual está co-localizada com o bloco atual a ser codificado ou decodificado, quando o macrobloco atual e o bloco em uma imagem subseqüente, a qual está colocalizado com um bloco atual têm o movimento compensado no mesmo tamanho de bloco. A Figura 7 é um diagrama que mostra um método para a determinação do vetor de movimento do macrobloco atual usando-se veto30 res de movimento de blocos adjacentes, quando os blocos adjacentes tiverem um movimento compensado em um tamanho de bloco menor do que o bloco atual. A Figura 8 é um fluxograma que mostra um processo para com20
Figure BRPI0307197B1_D0017
pensação de movimento do bloco atual a ter o movimento compensado com um método diferente (vetor de movimento diferente) dependendo de um movimento do bloco em uma imagem subseqüente co-localizada com o bloco atual a ter o movimento compensado quando um macrobloco atual a ser co5 dificado ou decodificado e o macrobloco em uma imagem subseqüente, a qual é co-localizada com o macrobloco atual, têm o movimento compensado com o mesmo tamanho de bloco.
Em primeiro lugar, o caso em que o bloco atual a ter o movimento compensado na imagem atual a ser codificada B1 e o bloco em uma imagem subseqüente co-locaiizada no referido bloco atual a ter o movimento compensado na imagem P para trás P2 são do mesmo tamanho e correspondem um ao outro um por um é explicado. A unidade de conversão de informação de movimento 301 julga se o tamanho de compensação de movimento do bloco em uma imagem subseqüente co-localizada no referido bloco atual a ter o movimento compensado é o mesmo que o tamanho do bloco atual a ter o movimento compensado ou não. Quando eles são os mesmos, a unidade de conversão de informação de movimento 301 instrui a unidade de estimativa de vetor de movimento 302 para calcular o vetor de movimento do bloco atual a ter o movimento compensado seguindo o proce20 dimento mostrado no fluxograma da Figura 8. Como é mostrado no fluxograma da Figura 8, a unidade de estimativa de vetor de movimento 302, primeiramente, julga se o movimento é pequeno ou não no bloco colocalizado com o bloco atual a ter o movimento compensado (o bloco padrão) na imagem P2 que é uma imagem P (uma imagem padrão) seguindo25 se à imagem atual a ser codificada B1, mostrada na Figura 6B, em outras palavras, uma imagem P exibida temporalmente mais tarde do que a imagem B1 e é vizinha à imagem B1 (S401) e, quando o movimento é pequeno, o vetor de movimento no bloco atual a ter o movimento compensado é determinado como sendo (0, 0) (S402). Em outras palavras, para este bloco atual a ter o movimento compensado, a compensação de movimento usando a predição interimagem é realizada determinando que o vetor de movimento é (0, 0). Aqui, o movimento é pequeno significa que o bloco é codificado • · ·
Figure BRPI0307197B1_D0018
Figure BRPI0307197B1_D0019
3ο referindo-se à imagem mais próxima da imagem em que o bloco está incluído e o tamanho (o valor absoluto) do vetor de movimento está em 1. Mas é aceitável que o movimento é pequeno simplesmente quando o tamanho do vetor de movimento é o valor predeterminado ou menos. Adicionalmente, também é aceitável que o movimento é pequeno quando da determinação que a imagem em particular é a imagem de referência.
Por outro lado, quando o movimento NÃO é pequeno no bloco co-localizado com o bloco atual a ter o movimento compensado em uma imagem P para trás, em outras palavras, quando o bloco padrão não é codi10 ficado com referência à imagem mais próxima ou quando o tamanho do vetor de movimento excede a 1, a unidade de estimativa de vetor de movimento 302 determina que o vetor de movimento MV no macrobloco atual a ser codificado que é calculado usando os vetores de movimento nos blocos adjacentes ao macrobloco atual a ser codificado é o vetor de movimento no referido bloco atual a ter o movimento compensado (S404). A propósito, em uma explanação abaixo, a imagem PO e a imagem P2 são determinadas como sendo as imagens mais próximas da imagem B1.
Para o cálculo do vetor de movimento MV do macrobloco atual a ser codificado, a unidade de estimativa de vetor de movimento 302, primei20 ramente, escolhe três blocos codificados (blocos adjacentes) vizinhos ao macrobloco atual a ser codificado. Uma vez que a norma e o método para a seleção não são importantes aqui, suas explanações são omitidas. A Figura 6A mostra os três blocos selecionados adjacentes ao macrobloco atual a ser codificado. Como é mostrado na Figura 6A, no macrobloco localizado sobre o macrobloco atual a ser codificado, o vetor de movimento MV2 já foi determinado; no macrobloco localizado na direita superior ao macrobloco atual a ser codificado, o vetor de movimento MV3 já foi determinado. Além disso, no macrobloco localizado à esquerda do macrobloco atual a ser codificado, o vetor de movimento MV1 já foi determinado. A unidade de estimativa de ve30 tor de movimento 302 determina o vetor de movimento MV do referido macrobloco atual a ser codificado usando estes vetores de movimento, os vetores de movimento MV1, MV2 e MV3. Por exemplo, o vetor de movimento
2>Α referente à imagem temporalmente mais próxima da imagem atual a ser codificada dentre os vetores de movimento, MV1, MV2 e MV3, é determinada como sendo uma candidata para o vetor de movimento MV no referido macrobloco atual a ser codificado. Aqui, a imagem temporalmente mais próxi5 ma da imagem atual a ser codificada significa a imagem para frente e mais próxima da imagem atual a ser codificada quando da predição do vetor de movimento no macrobloco atual a ser codificado referente a uma imagem para frente, e a imagem para trás e mais próxima da imagem atual a ser codificada quando da predição do vetor de movimento do macrobloco atual a ser codificado referente a uma imagem para trás. Neste momento, a unidade de estimativa de vetor de movimento 302 determina que:
(1) o vetor de movimento MV do referido macrobloco atual a ser codificado é (0, 0), quando não houver um vetor de movimento referente à imagem temporalmente mais próxima da imagem atual a ser codificada;
(2) o candidato é o vetor de movimento MV no referido macrobloco, quando houver um vetor de movimento referente à imagem temporalmente mais próxima da imagem atual a ser codificada; e (3) a mediana dos três vetores de movimento nos blocos adjacentes é o vetor de movimento MV do macrobloco atual a ser codificado, quando houver dois ou mais vetores de movimento determinando que o vetor de movimento no bloco adjacente que não se refere à imagem mais próxima é (0, 0).
Até agora, o caso em que os blocos adjacentes ao macrobloco atual a ser codificado têm movimento compensando no mesmo tamanho que o bloco atual a ser codificado é explicado usando-se a Figura 6A. Como é mostrado na Figura 7, contudo, mesmo quando os blocos adjacentes têm o movimento compensado em um tamanho de bloco diferente de e um tamanho de bloco menor do que aquele do macrobloco atual a ser codificado, também é possível calcular, de modo similar, o vetor de movimento MV no macrobloco atual a ser codificado. Na Figura 7, o caso em que os vetores de movimento são estimados com um bloco de 4 x 4 pixels como a unidade nos blocos adjacentes em direção a um macrobloco atual a ser codificado de 16
Figure BRPI0307197B1_D0020
Figure BRPI0307197B1_D0021
χ 16 pixels é explicado. Em um caso como este, para o cálculo do vetor de movimento MV do macrobloco atual a ser codificado, a unidade de estimativa de vetor de movimento 302, primeiramente, seleciona os três blocos adjacentes (o bloco A, o bloco B e o bloco C).
O Bloco A, por exemplo, pertence ao macrobloco localizado à esquerda do macrobloco atual a ser codificado e toca o canto esquerdo superior do macrobloco atual a ser codificado. Além disso, o bloco B, por exemplo, pertence ao macrobloco localizado sobre o macrobloco atual a ser codificado e toca o canto esquerdo superior do macrobloco atual a ser codi10 ficado. Ainda, o bloco C, por exemplo, pertence ao macrobloco localizado na direita superior do macrobloco atual a ser codificado e toca o canto direito superior do macrobloco atual a ser codificado.
Para os blocos A, B e C, os vetores de movimento MV1, MV2 e MV3 já foram determinados, respectivamente. A unidade de estimativa de vetor de movimento 302 aplica os itens (1), (2) e (3) mencionados acima aos vetores de movimento, MV1, MV2 e MV3, e pode determinar o vetor de movimento MV no macrobloco atual a ser codificado de modo similar ao caso em que o macrobloco atual a ser codificado e os blocos adjacentes têm o movimento compensado no mesmo tamanho. Com referência a cada bloco a ter o movimento compensado no macrobloco atual a ser codificado, como já explicado, dependendo de o movimento ser pequeno ou não no bloco em uma imagem subseqüente, a qual está co-localizada com um bloco atual, a unidade de estimativa de vetor de movimento 302 seleciona a compensação de movimento usando o vetor de movimento (0, 0) ou a compensação de movimento usando o vetor de movimento MV.
Como é descrito acima, quando o vetor de movimento do bloco atual a ter o movimento compensado é determinado, a unidade de compensação de movimento 303 gera os dados de imagem preditivos Pred a partir dos dados de imagem de referência Ref na memória de imagem 106, usando o vetor de movimento determinado (S403).
Até agora, o caso em que o bloco em uma imagem subseqüente a qual está co-localizada com o bloco atual a ter o movimento compensado
Figure BRPI0307197B1_D0022
tem o movimento compensado no mesmo tamanho de bloco com o bloco atual a ter o movimento compensado é explicado. A partir deste ponto, o caso em que o bloco em uma imagem subseqüente a qual está co-localizada com o bloco atual a ter o movimento compensado tem o movimento com5 pensado em um tamanho de bloco diferente daquele do bloco atual a ser compensado é explicado. No aparelho de codificação de imagem 300, quando da realização da compensação de movimento bipreditiva de uma imagem B, a unidade de compensação de movimento 303 e a unidade de estimativa de vetor de movimento 302 realizam uma compensação de movimento al10 mejando blocos com um tamanho predeterminado (por exemplo, blocos de 8 x 8 pixels) que é maior do que o menor bloco (4x4 pixels) que pode ser um bloco alvo para uma compensação de movimento preditiva unidirecional. Conseqüentemente, quando uma imagem de referência para trás de uma imagem que tem um movimento compensado de forma bipreditiva tem o movimento compensado de forma unidirecional, o caso em que o bloco em uma imagem subseqüente a qual está co-localizada com o bloco atual a ter o movimento compensado tem o movimento compensado em um tamanho de bloco menor do que aquele do bloco atual a ter o movimento compensado pode ocorrer.
A Figura 9 é um diagrama que mostra a correspondência entre o bloco atual a ter o movimento compensado e a pluralidade de blocos em uma imagem subseqüente a qual está co-localizada com o bloco atual a ter o movimento compensado, quando um macrobloco atual a ser codificado ou decodificado e o macrobloco em uma imagem subseqüente a qual está co25 localizada com o macrobloco atual têm o movimento compensado em tamanhos de bloco diferentes. No lado esquerdo da Figura 9 é mostrado um macrobloco atual a ser codificado na imagem B atual a ser codificada; no lado direito da Figura 9, é mostrado o macrobloco na imagem subseqüente a qual está co-localizada com o macrobloco atual a ser codificado na imagem para trás mais próxima (uma imagem P ou uma imagem B) para a imagem B atual. O tamanho dos macroblocos é o mesmo e 16 pixels x 16 pixels, por exemplo. O macrobloco em uma imagem subseqüente mostrado no lado ··· ·· · direito da Figura 9, o qual está co-localizado com um macrobloco atual a ser codificado mais anterior do que uma imagem atual e é assumido como já tendo o movimento compensado com um bloco de 4 x 4 pixels (o menor quinhão na figura), por exemplo, como a unidade.
A Figura 10 é um fluxograma que mostra um processo para compensação de movimento do bloco atual a ter o movimento compensado com um método diferente (um vetor de movimento diferente) dependendo de um movimento do bloco em uma imagem subseqüente co-localizada com o bloco atual a ter o movimento compensado, quando um macrobloco atual a ser codificado ou decodificado e o macrobloco em uma imagem subseqüente a qual está co-localizada com o macrobloco atual têm o movimento compensado com tamanhos de bloco diferentes. A unidade de conversão de informação de movimento 301, primeiramente, julga se o bloco em uma imagem subseqüente a qual está co-localizada com o bloco atual a ter o movi15 mento compensado e o bloco atual a ter o movimento compensado têm o movimento compensado no mesmo tamanho de bloco ou não. Quando eles não têm o movimento compensado no mesmo tamanho de bloco, a unidade de conversão de informação de movimento 301 instrui a unidade de estimativa de vetor de movimento 302 para calcular o vetor de movimento no bloco atual a ter o movimento compensado seguindo-se o procedimento mostrado no fluxograma da Figura 10. Aqui, uma vez que o tamanho do bloco atual a ter o movimento compensado é de 8 pixels x 8 pixels, o bloco em uma imagem subseqüente a qual está co-localizada com o bloco atual tem o movimento compensado com um tamanho de 4 x 4 pixels. A unidade de estimati25 va de vetor de movimento 302 calcula o vetor de movimento no bloco atual a ter o movimento compensado seguindo o fluxograma mostrado na Figura 10.
No fluxograma mostrado na Figura 10, o processo na Etapa S501 é diferente do processo na Etapa S401, mostrada no fluxograma na Figura 8. Como é mostrado na Figura 9, no método de compensação de mo30 vimento de acordo com a presente invenção, um bloco atual a ser codificado tem o movimento compensado em cada unidade de quatro blocos atuais a terem o movimento compensado. Determine-os, por exemplo, como sendo o ?>ò bloco atual a ter o movimento compensado a, o bloco atual a ter o movimento compensado b, o bloco atual a ter o movimento compensado ceo bloco atual a ter o movimento compensado d. Para que estes blocos atuais tenham o movimento compensado, no macrobloco em uma imagem subse5 qüente a qual está co-localizada com um macrobloco atual, o bloco a', o bloco b', o bloco c' e o bloco d' correspondem, respectivamente. Cada um destes blocos a', b', c' e d' é ainda composto por quatro blocos atuais de 4 x 4 pixels a terem o movimento compensado. A unidade de estimativa de vetor de movimento 302, primeiramente, identifica o bloco a* no macrobloco em uma imagem subsequente a qual está co-localizada com e corresponde ao bloco atual a ter o movimento compensado a no macrobloco atual a ser codificado e julga se o movimento é pequeno ou não em dois ou mais blocos atuais a terem o movimento compensado além dos quatro blocos atuais a terem o movimento compensado que compõem o bloco a' (S501).
O padrão para julgar se o movimento é pequeno ou não nos blocos atuais a terem o movimento compensado é similar àquele da Etapa S401 no fluxograma mostrado na Figura 8. Quando o movimento é pequeno em dois ou mais blocos atuais a terem o movimento compensado, a unidade de estimativa de vetor de movimento 302 determina que o vetor de movimento do bloco atual a ter o movimento compensado a no macrobloco atual a ser codificado é (0, 0) (S502); a unidade de compensação de movimento 303 realiza uma compensação de movimento usando o vetor de movimento determinado (0, 0) (S502). Quando o movimento NÃO é pequeno em dois ou mais blocos, em outras palavras, quando o número dos blocos atuais a terem o movimento compensado cujo movimento é pequeno é menor do que dois, a unidade de estimativa de vetor de movimento 302 determina o vetor de movimento MV do macrobloco atual a ser codificado usando vetores de movimento de blocos adjacentes ao macrobloco atual a ser codificado (S504). O processo para a determinação do vetor de movi30 mento MV do macrobloco atual a ser codificado usando os vetores de movimento dos blocos adjacentes é similar àquele da Etapa S404 na Figura 8. A unidade de compensação de movimento 303 gera os valores de pixel predi27 tivos de compensação de movimento do bloco atual a ter o movimento compensado a usando o vetor de movimento MV determinado como este (S503).
A unidade de compensação de movimento 303, a unidade de estimativa de vetor de movimento 302 e a unidade de conversão de informa5 ção de movimento 301 repetem os processos das Etapas S501 a S504 mencionadas acima para os blocos atuais a terem o movimento compensado remanescentes b, c e d, e completam a compensação de movimento para o referido macrobloco atual a ser codificado quando da realização da compensação de movimento para todos os blocos atuais a terem o movimento compensado, a, b, c e d.
Por outro lado, o aparelho de decodificação de imagem 400 decodifica os dados codificados Bitstream codificados pelo aparelho de codificação de imagem 300. No modo direto, o aparelho de decodificação de imagem 400 pode compensar o movimento de cada bloco atual a ter o mo15 vimento compensado de modo similar ao aparelho de codificação de imagem 300, porque a unidade de conversão de informação de movimento 401 realiza o processo correspondente àquele da unidade de conversão de informação de movimento 301 no aparelho de codificação de imagem 300, e a unidade de compensação de movimento 402 realiza os processos corres20 pondentes àqueles da unidade de estimativa de vetor de movimento 302 e da unidade de compensação de movimento 300 no aparelho de codificação de imagem 300.
Adicionalmente, quando é indicado no modo de codificação Mod extraído dos dados codificados Bitstream pela unidade de decodifi25 cação de comprimento variável 201 que os macroblocos atuais a serem decodificados é codificado no modo direto, a unidade de conversão de informação de movimento 401 julga se o tamanho do bloco de movimento compensado em uma imagem subseqüente a qual está co-localizada com um bloco atual a ter o movimento compensado é o mesmo que o tamanho do bloco atual a ter o movimento compensado; quando eles forem os mesmos, a unidade de conversão de informação de movimento 401 instrui a unidade de estimativa de vetor de movimento 402 para calcular o vetor de movimento ?>Ύ do bloco atual a ter o movimento compensado seguindo o procedimento mostrado no fluxograma da Figura 8.
Seguindo esta instrução, a unidade de estimativa de vetor de movimento 402, primeiramente, julga se o movimento é pequeno ou não no bloco de movimento compensado em uma imagem P (uma imagem de referência para trás) P2, a qual está co-localizada com o bloco atual a ter o movimento compensado seguindo-se à imagem atual a ser decodificada B1, mostrada na Figura 6B (S401) e, quando o movimento é pequeno, o vetor de movimento no bloco atual a ter o movimento compensado é determinado como sendo (0, 0) (S402). Em outras palavras, para este bloco atual a ter o movimento compensado, a compensação de movimento usando-se uma predição interimagem não é realizada. Por outro lado, quando o movimento NÃO é pequeno no bloco de movimento compensado em uma imagem P para trás, a qual está co-localizada com o bloco atual a ter o movimento compensado, a unidade de estimativa de vetor de movimento 402 determina que o vetor de movimento MV do macrobloco atual a ser decodificado que é calculado usando-se os vetores de movimento dos blocos adjacentes ao macrobloco atual a ser decodificado é o vetor de movimento do referido bloco atual a ter o movimento compensado (S404). O método para o cálculo do vetor de movimento do macrobloco atual a ser decodificado usando-se os vetores de movimento nos blocos adjacentes decodificados é o mesmo que o método explicado no caso do aparelho de codificação de imagem 300.
Quando o vetor de movimento do bloco atual a ter o movimento compensado é determinado na Etapa S402 ou na Etapa S404, a unidade de compensação de movimento 402 lê o bloco cuja localização é mostrada pelo vetor de movimento determinado além dos dados de imagem de referência Ref' na memória de imagem 204 e gera os dados de imagem preditivos Pred (S403). Como é descrito acima, embora o bloco atual a ter o movimento compensado e o bloco de movimento compensado em uma imagem subseqüente a qual está co-localizada com o bloco atual a ter o movimento compensado tenham o movimento compensado no mesmo tamanho de bloco, a unidade de compensação de movimento 402 pode determinar o vetor «· a
• · , ··*· ·· • · a ·· ···· de movimento para cada bloco atual a ter o movimento compensado e realizar uma compensação de movimento, dependendo de o movimento ser pequeno ou não no bloco atual a ter o movimento compensado em uma imagem subseqüente a qual está co-localizada com o bloco atual.
Adicionalmente, quando é indicado que o macrobloco atual a ser decodificado é codificado no modo direto no modo de codificação Mod extraído, e quando o bloco atual a ter o movimento compensado e o bloco de movimento compensado em uma imagem subseqüente a qual está colocalizada com o bloco atual a ter o movimento compensado não têm o mo10 vimento compensado no mesmo tamanho de bloco, a unidade de conversão de informação de movimento 401 instrui a unidade de compensação de movimento 402 para calcular o vetor de movimento do bloco atual a ter o movimento compensado seguindo o procedimento mostrado no fluxograma da Figura 10. No macrobloco (em uma imagem P subseqüente) o qual está co15 localizado com o macrobloco atual a ser decodificado (na imagem atual a ser decodificada e do qual a imagem P subseqüente é mais próxima), a unidade de compensação de movimento 402 examina o movimento de quatro blocos de movimento compensado de 4 x 4 pixels incluídos em um bloco de 8 x 8 pixels correspondente a um bloco atual de 8 x 8 pixels a ter o movimento compensado, e determina o vetor de movimento do bloco atual a ter o movimento compensado como sendo (0, 0), quando o movimento é pequeno em dois ou mais blocos de movimento compensado dos quatro (S502). Quando este não for o caso, a unidade de compensação de movimento 402 determina o vetor de movimento MV do macrobloco atual a ser decodificado, o qual é calculado usando-se os vetores de movimento de blocos adjacentes ao macrobloco atual a ser decodificado, como sendo o vetor de movimento do bloco atual a ter o movimento compensado (S504). Quando o vetor de movimento do bloco atual a ter o movimento compensado é determinado na Etapa S502 ou na Etapa S504, a unidade de compensação de movimento
402 lê o bloco cuja localização é mostrada pelo vetor de movimento determinado dos dados de imagem de referência Ref na memória de imagem 204, e gera os dados de imagem preditivos Pred. Desse modo, embora o bloco atual a ter o movimento compensado e o bloco de movimento compensado em uma imagem subseqüente a qual está co-localizada com o bloco atual a ter o movimento compensado tenham o movimento compensado em tamanhos de bloco diferentes, a unidade de compensação de movimento 402 pode julgar se o tamanho é pequeno ou não no bloco de movimento compensado em uma imagem subseqüente a qual está co-localizada com o bloco atual. Conseqüentemente, a unidade de compensação de movimento 402 pode, dependendo de seu resultado de julgamento, determinar o vetor de movimento de cada bloco atual a ter o movimento compensado e realizar uma compensação de movimento no bloco atual a ter o movimento compensado.
Como descrito acima, uma vez que o aparelho de codificação de imagem 300 e o aparelho de decodificação de imagem 400, usando o método de compensação de movimento de acordo com a presente invenção, rea15 lizam uma compensação de movimento com um bloco atual a ter o movimento compensado de tamanho maior do que o bloco atual a ter o movimento compensado convencional como a unidade, em uma codificação de compensação de movimento de uma imagem B, a carga pelo acesso à memória de imagem na codificação e na decodificação da imagem B pode ser reduzida.
A propósito, na Primeira Modalidade descrita acima, o tamanho de um bloco atual a ter o movimento compensado de uma imagem B é explicado como êendo de 8 pixels x 8 pixels e o tamanho de um bloco de movimento compensado de uma imagem P é explicado como sendo de 4 pixels x
4 pixels, mas a presente invenção não está limitada a estes tamanhos, e é aceitável decidir tamanhos diferentes destes tamanhos. Mais ainda, quando o movimento é pequeno em dois ou mais blocos de movimento compensado dos blocos correspondentes aos blocos atuais a terem o movimento compensado na imagem subseqüente mais próxima de uma imagem atual, o vetor de movimento do bloco atual a ter o movimento compensado é determinado como sendo (0, 0), mas isto não é necessariamente para ser dois ou mais e é satisfatório que seja um ou mais ou três ou mais ou todos.
Figure BRPI0307197B1_D0023
Hz?
Mais ainda, quando os blocos atuais a terem o movimento compensado e seus tamanhos forem decididos como sendo outros além dos descritos acima, é aceitável decidir apropriadamente de acordo com a proporção destes tamanhos de bloco. Isto também é aplicável para as modalidades a seguir.
Ainda, na Primeira Modalidade, no fluxograma mostrado na Figura 8 ou na Figura 10, o vetor de movimento determinado com base em vetores de movimento de blocos adjacentes é um para o macrobloco atual a ser codificado ou decodificado. Conseqüentemente, quando o processo da Etapa S404 ou da Etapa S504 é realizado para o bloco atual a ter o movi10 mento compensado no mesmo macrobloco atual, o mesmo processo de cálculo é repetido a cada vez, como resultado. Entretanto, a presente invenção não está limitada a isto. É satisfatório, por exemplo, determinar o vetor de movimento de antemão com base nos vetores de movimento de blocos adjacentes para cada macrobloco atual, em outras palavras, realizar o proces15 so da Etapa S404 ou da Etapa S504 antes do julgamento na Etapa S401 ou na Etapa S501 e simplesmente usar o valor do vetor de movimento determinado de antemão com base nos vetores de movimento do bloco adjacente como o vetor de movimento do referido bloco atual a ter o movimento compensado na Etapa S404 ou na Etapa S504. Desse modo, quando o movi20 mento NÃO é pequeno no bloco em uma imagem subseqüente a qual está co-localizada com o bloco atual a ter o movimento compensado, o efeito de diminuir o número de cálculos do vetor de movimento com base nos vetores de movimento dos blocos adjacentes e reduzir a carga de processamento da unidade de estimativa de vetor de movimento 302 e da unidade de compen25 sação de movimento 402 é obtido. Isto também é aplicável às modalidades a seguir.
Mais ainda, ao invés de realizar o processo da Etapa S401 ou da Etapa S501, antes do julgamento da Etapa S401 ou da Etapa S501, é aceitável manter, em uma memória ou similar, o vetor de movimento MV do ma30 crobloco atual a ser codificado/decodificado que é calculado pelo processo da Etapa S404 ou da Etapa S504, quando o processo da Etapa S404 ou da Etapa S504 for realizado. A duração da manutenção do vetor de movimento
MV é a duração do processamento de blocos atuais a terem o movimento compensado no mesmo macrobloco atual. Concretamente, é satisfatório que a unidade de estimativa de vetor de movimento 303 ou a unidade de compensação de movimento 402 calcule o vetor de movimento do macrobloco atual apenas quando o movimento NÃO for pequeno no bloco em uma imagem subsequente a qual está co-localizada com o bloco atual a ter o movimento compensado nos macroblocos atuais e manter o vetor de movimento MV do macrobloco atual enquanto os blocos atuais a terem o movimento compensado no mesmo macrobloco atual forem codificados ou deco10 dificados. Desse modo, o efeito de se diminuir mais o número de cálculos pela unidade de estimativa de vetor de movimento 302 e pela unidade de compensação de movimento 402 e de reduzir mais a carga de processamento da unidade de estimativa de vetor de movimento 302 e da unidade de compensação de movimento 402 é obtido.
Adicionalmente, na Primeira Modalidade, é descrito que, na Etapa S404 ou na Etapa S504 no fluxograma da Figura 8 ou da Figura 10, o vetor de movimento do macrobloco atual a ser codificado ou decodificado é determinado usando-se os vetores de movimento de blocos adjacentes, mas não é necessário determinar o vetor de movimento MV do bloco atual a ser codificado ou decodificado por este método. Por exemplo, é aceitável que o vetor de movimento do macrobloco atual seja determinado usando-se o vetor de movimento do bloco em uma imagem a qual está co-localizada com o macrobloco atual em uma outra imagem cujo vetor de movimento foi determinado de antemão. Isso também é aplicável às modalidades a seguir.
Além disso, na Primeira Modalidade, é explicado que a unidade de conversão de informação de movimento 301 converte um parâmetro de movimento de uma imagem de referência em um parâmetro com um tamanho de bloco predeterminado após o parâmetro de movimento da imagem de referência ser armazenado na unidade de armazenamento de vetor de movimento 110, mas é satisfatório que a unidade de conversão de informação de movimento 301 realize a conversão antes do parâmetro de movimento da imagem de referência ser armazenado na unidade de armazena33
Figure BRPI0307197B1_D0024
mento de vetor de movimento 110. Isto também é aplicável às modalidades a seguir. Por exemplo, quando um parâmetro de movimento de uma imagem de referência é estimada com um bloco de 4 x 4 pixels como a unidade para compensação de movimento, a unidade de conversão de informação de mo5 vimento 301 reescreve todos os valores dos vetores de movimento, MV1, MV2, MV3 e MV4 estimados em quatro blocos de 4 x 4 pixels contidos no bloco de 8 x 8 pixels para o valor de um bloco de 4 x 4 pixels, MV1, no bloco de 8 x 8 pixels, localizado nos quatro cantos do macrobloco de 16 x 16 pixels. Desse modo, todos os quatro blocos de 4 x 4 pixels obtidos pela divi10 são do macrobloco em quatro blocos de 8 x 8 pixels e ainda dividindo-se cada bloco de 8 x 8 pixels em quatro, têm os mesmos vetores de movimento que os vetores de movimento estimados para quatro blocos de 4 x 4 pixels, no bloco de 8 x 8 pixels, localizado nos quatro cantos do macrobloco. Pelo armazenamento de um parâmetro de movimento convertido como este na unidade de armazenamento de vetor de movimento 110, quando a unidade de estimativa de vetor de movimento 302 lê o vetor de movimento de qualquer um dos quatro blocos de 4 x 4 pixels incluídos no bloco em uma imagem subseqüente a qual está co-localizada com o bloco atual, a unidade de estimativa de vetor de movimento 302 pode facilmente julgar o movimento do bloco em uma imagem subseqüente a qual está co-localizada com um bloco atual.
Adicionalmente, é aceitável que quando o parâmetro de movimento de uma imagem de referência é estimado com um bloco de 4 x 4 pixels como a unidade de compensação de movimento, por exemplo, a unida25 de de conversão de informação de movimento 301 associa um vetor de movimento, por exemplo, MV1, a cada bloco de 8 x 8 pixels obtido pela divisão de um macrobloco de 16 x 16 em quatro, e armazena um vetor de movimento na unidade de armazenamento de vetor de movimento 110. Isto também é aplicável para as modalidades a seguir. Este vetor de movimento é o vetor de movimento e similar estimado para os quatro blocos de 4 x 4 pixels, no bloco de 8 x 8 pixels, localizados nos quatro cantos do macrobloco de 16 x 16 pixels. Desse modo, embora o parâmetro de movimento da imagem de
Figure BRPI0307197B1_D0025
referência seja estimado com um bloco de 4 x 4 pixels como a unidade de compensação de movimento, a unidade de estimativa de vetor de movimento 302 pode julgar se o movimento é pequeno ou não no bloco em uma imagem subseqüente a qual está co-iocalizada com um bloco atual com um processo similar ao processo mostrado nas figuras 6A e 8.
Ainda, é satisfatório que quando o parâmetro de movimento de uma imagem de referência for estimado com um bloco de 4 x 4 pixels como a unidade de compensação de movimento, por exemplo, a unidade de conversão de informação de movimento 301 julgue se o movimento é pequeno ou não nos quatro blocos de 4 x 4 pixels, no bloco de 8 x 8 pixels, localizado nos quatro cantos do macrobloco de 16 x 16 pixels, e armazena o indicador indicando o resultado de julgamento associado a cada bloco de 8 x 8 pixels no macrobloco atual a ser codificado na unidade de armazenamento de vetor de movimento 110. Isto também é aplicável às modalidades a seguir.
Desse modo, não é necessário que a unidade de estimativa de vetor de movimento 302 julgue se o movimento é pequeno ou não no bloco em uma imagem subseqüente a qual está co-localizada com um bloco atual quando da compensação de movimento de uma imagem B e o efeito de redução da carga de processamento para compensação de movimento de uma imagem
B poder ser reduzido é obtido.
(A Segunda Modalidade)
Na Segunda Modalidade que é explicada em seguida, quando o macrobloco atual a ser codificado/decodificado e o macrobloco em uma imagem subseqüente a qual está co-localizada com o macrobloco atuai têm o movimento compensado em tamanhos diferentes, o método de julgamento para selecionar a determinação do vetor de movimento do bloco atual a ter o movimento compensado como sendo (0, 0) ou determinação do vetor de movimento do bloco atual a ter o movimento compensado usando-se os vetores de movimento de blocos adjacentes é diferente do método de julga30 mento da Primeira Modalidade. Quando o macrobloco atual e o macrobloco em uma imagem subseqüente a qual está co-localizada com o macrobloco atual têm o movimento compensado no mesmo tamanho de bloco, a com44 pensação de movimento de um bloco atual a ter o movimento compensado é realizada seguindo-se os métodos explicados nas figuras 6A, 6B, 7 e 8 da Primeira Modalidade. Consequentemente, com respeito à estrutura, as partes principalmente diferentes entre o aparelho de codificação de imagem / o aparelho de decodificação de imagem de acordo com a Segunda Modalidade e o aparelho de codificação de imagem 300 / o aparelho de decodificação de imagem 400 indicados na Primeira Modalidade são a unidade de conversão de informação de movimento e a unidade de estimativa de vetor de movimento no aparelho de codificação de imagem e a unidade de conversão de informação de movimento e a unidade de compensação de movimento no aparelho de decodificação de imagem. As explanações de componentes sobrepostos são omitidas abaixo.
A Figura 11 é um diagrama que mostra a correspondência entre o bloco atual a ter o movimento compensado e a pluralidade de blocos em uma imagem subseqüente os quais estão co-localizados com o bloco atual a ter o movimento compensado, quando o macrobloco atual a ser codificado/decodificado e o macrobloco em uma imagem subseqüente a qual está co-localizada com um macrobloco atual têm o movimento compensado em tamanhos de bloco diferentes na Segunda Modalidade. No lado esquerdo da
Figura 11, é mostrado um macrobloco atual a ser codificado ou decodificado na imagem atual B a ser codificada ou decodificada, de modo similar à Figura 9. No lado direito da Figura 11, é mostrado o macrobloco em uma imagem subseqüente que está co-localizada com o macrobloco atual, de modo similar à Figura 9. A imagem à qual o macrobloco, mostrado no lado direito da
Figura 11, em uma imagem subseqüente a qual está co-localizada com um macrobloco atual pertence é uma imagem P ou uma imagem B; por exemplo, a estimativa de vetor de movimento e a compensação de movimento já foram realizadas no macrobloco com um bloco de 4 x 4 pixels (o menor quinhão na Figura 11) como a unidade. Para o macrobloco atual mostrado no lado esquerdo da Figura 11, de modo similar à Figura 9, uma determinação de vetor de movimento e uma compensação de movimento são realizadas com um bloco de 8 x 8 pixels como a unidade.
··· • ·
Como é mostrado na Figura 11, um macrobloco atual a ser codificado ou decodificado é composto por quatro blocos atuais a terem o movimento compensado. Quando os quatro blocos atuais a terem o movimento compensado são chamados, por exemplo, para serem os blocos atuais para serem os movimentos compensados a, b, c e d, no macrobloco em uma imagem subsequente os quais estão co-localizados com um bloco atual, quatro blocos de 8 x 8 pixels, cada um dos quais sendo composto por quatro blocos de movimento compensado de 4 x 4 pixels, correspondem a cada um dos blocos atuais a terem o movimento compensado.
A Figura 12 é um fluxograma que mostra um processo na Segunda Modalidade para compensação de movimento do bloco atual a ter o movimento compensado com um método diferente (um vetor de movimento diferente), dependendo de um movimento do bloco em uma imagem subseqüente a qual está co-localizada com o bloco atual a ter o movimento com15 pensado, quando um macrobloco atual a ser codificado ou decodificado e um macrobloco em uma imagem subseqüente a qual está co-localizada com o macrobloco atual têm o movimento compensado com tamanhos de bloco diferentes. Como já explicado, no método de compensação de movimento de acordo com a Segunda Modalidade, uma vez que apenas o método de julgamento para seleção do vetor de movimento do bloco atual a ter o movimento compensado é diferente, apenas o processo na Etapa S701 da Figura 12 é diferente do processo na Etapa S501 da Figura 10.
Em primeiro lugar, a unidade de conversão de informação de movimento julga se o tamanho de compensação de movimento no bloco em uma imagem subseqüente a qual está co-localizada com o bloco atual a ter o movimento compensado é o mesmo que o tamanho no bloco atual a ter o movimento compensado ou não. Quando eles forem os mesmos, a unidade de conversão de informação de movimento instrui a unidade de estimativa de vetor de movimento a calcular o vetor de movimento do bloco atual a ter o movimento compensado seguindo o procedimento mostrado no fluxograma da Figura 8. Ao contrário, quando a compensação de movimento não for realizada no mesmo tamanho de bloco, a unidade de conversão de informação · · ·
de movimento instrui a unidade de estimativa de vetor de movimento ou a unidade de estimativa de movimento para calcular o vetor de movimento do bloco atual a ter o movimento compensado.
A unidade de estimativa de vetor de movimento ou a unidade de compensação de movimento julga se o movimento é pequeno ou não no bloco de movimento compensado a' localizado em um canto do macrobloco em uma imagem subseqüente a qual está co-localizada com um bloco atual dos quatro blocos de movimento compensado que compõem o bloco no macrobloco em uma imagem subseqüente a qual está co-localizada com um macrobloco atual, o bloco a’ correspondente ao bloco de movimento compensado a no macrobloco atual (S701).
O padrão para julgar se o movimento é pequeno ou não no bloco de movimento compensado a’ é similar àquele na Etapa S401 mostrada na Figura 8. Quando o movimento é pequeno no bloco de movimento compensado a', a unidade de estimativa de vetor de movimento ou a unidade de compensação de vetor de movimento determina que o vetor de movimento do bloco atual a ter o movimento compensado no macrobloco atual a ser codificado ou decodificado é (0, 0) (S702). A unidade de compensação de movimento compensa o movimento do bloco atual a ter o movimento compensado a usando o vetor de movimento determinado (0, 0) (S703).
Quando o movimento NÃO é pequeno no bloco atual a ter o movimento compensado a', usando-se os vetores de movimento dos blocos adjacentes ao bloco atual a ser codificado ou decodificado, a unidade de estimativa de vetor de movimento ou a unidade de compensação de movi25 mento determina o vetor de movimento MV do referido macrobloco atual (S704). O processo para a determinação do vetor de movimento MV do macrobloco atual usando-se os vetores de movimento dos blocos adjacentes é similar ao processo na Etapa S404 da Figura 8. A unidade de compensação de movimento gera os valores de pixel preditivos de compensação de movi30 mento do bloco atual a ter o movimento compensado a usando o vetor de movimento MV determinado como este (S703). Pelo processo descrito acima, a compensação de movimento de um bloco atual a ter o movimento ··· · • · ·* · compensado a foi concluída.
A unidade de estimativa de vetor de movimento, a unidade de compensação de movimento e a unidade de conversão de informação de movimento no aparelho de codificação de imagem de acordo com a Segun5 da Modalidade e a unidade de compensação de movimento e a unidade de conversão de informação de movimento no aparelho de decodificação de imagem de acordo com a Segunda Modalidade, subseqüentemente, repetem o processo das Etapas S701 a S704 mencionadas anteriormente para os blocos atuais remanescentes a terem o movimento compensado b, c e d e completam a compensação de movimento para um macrobloco atual a ser codificado ou decodificado.
Em outras palavras, com referência ao bloco atual a ter o movimento compensado b, a unidade de estimativa de vetor de movimento julga se o movimento é pequeno ou não no bloco de movimento compensado b', no bloco em uma imagem subseqüente a qual está co-localizada com o bloco atual a ter o movimento compensado b, localizado em um canto do macrobloco em uma imagem subseqüente a qual está co-localizada com o macrobloco atual, e seleciona o vetor de movimento (0, 0), quando o movimento for pequeno no bloco de movimento compensado b'. Quando o mo20 vimento NÃO é pequeno no bloco de movimento compensado b', a unidade de estimativa de vetor de movimento seleciona o vetor de movimento MV do macrobloco atual usando os vetores de movimento dos blocos adjacentes. A unidade de compensação de movimento realiza uma compensação de movimento para o bloco atual a ter o movimento compensado b usando o vetor de movimento selecionado.
Adicionalmente, de modo similar, para os blocos atuais a terem o movimento compensado c e d, a unidade de estimativa de vetor de movimento seleciona o vetor de movimento dependendo do movimento dos blocos de movimento compensado c e d, e a unidade de compensação de mo30 vimento compensa o movimento dos blocos atuais a terem o movimento compensado c e d. Com isto, quando o aparelho de codificação de imagem e o aparelho de decodificação de imagem realizam uma compensação de movimento para todos os blocos atuais a terem o movimento compensado no macrobloco atual, o aparelho de codificação de imagem e o aparelho de decodificação de imagem completam a compensação de movimento para o referido macrobloco atual a ser codificado ou decodificado.
Como é descrito acima, pelo método de compensação de movimento de acordo com a Segunda Modalidade, uma vez que é possível selecionar o vetor de movimento usado para compensação de movimento do bloco atual a ter o movimento compensado apenas pelo exame do movimento de um bloco de movimento localizado em um canto do macrobloco em uma imagem subseqüente a qual está co-localizada com um macrobloco atual, o efeito para redução da carga de processamento da unidade de estimativa de vetor de movimento ou da unidade de compensação de movimento, se comparado com o método de compensação de movimento de acordo com a Primeira Modalidade, é obtido.
(A Terceira Modalidade)
Mais ainda, é possível facilmente realizar o processamento mostrado nas modalidades acima em um sistema de computação independente pela gravação de um programa para a realização do método de codificação de imagem e do método de decodificação de imagem mostrados nas modalidades mencionadas acima para um meio de armazenamento, tal com um disco flexível.
A Figura 13 é uma ilustração de um meio de gravação para o armazenamento de um programa para a realização da Primeira e da Segunda Modalidades por um sistema de computador.
A Figura 13B mostra uma aparência completa de um disco flexível, sua estrutura na seção transversal e o disco flexível em si, ao passo que a Figura 13A mostra um exemplo de um formato físico de um disco flexível como um corpo principal de um meio de armazenamento. Um disco flexível FD está contido em um invólucro F e uma pluralidade de trilhas Tr são for30 madas concentricamente a partir da periferia para o interior na superfície do disco, e cada trilha é dividida em 16 setores Se na direção angular. Portanto, quanto ao disco flexível armazenando o programa mencionado acima, dados
Figure BRPI0307197B1_D0026
como o programa acima, são armazenados em uma área alocada para isso no disco flexível FD.
A Figura 13C mostra uma estrutura para a gravação e a leitura do programa no e do disco flexível FD. Quando o programa é gravado no disco flexível FD, o sistema de computação Cs escreve os dados como o programa através da unidade de disco flexível. Quando o dispositivo de codificação e o dispositivo de decodificação são construídos no sistema de computador pelo programa no disco flexível, o método de codificação de imagem e um método de decodificação de imagem como o programa são lidos da unidade de disco flexível e, então, transferidos para o sistema de computação Cs.
A explanação acima é feita assumindo-se que um meio de armazenamento seja um disco flexível, mas o mesmo processamento também pode ser realizado usando-se um disco ótico. Além disso, o meio de arma15 zenamento não está limitado a um disco flexível e a um disco ótico, mas qualquer outro meio, tal como uma placa de IC e um cassete de ROM capaz de gravar um programa, pode ser usada.
(Quarta Modalidade)
A seguir, há uma explanação das aplicações do método de codi20 ficação de imagem bem como do método de decodificação de imagem como mostrado nas modalidades acima, e um sistema que os usa.
A Figura 14 é um diagrama de blocos que mostra uma configuração geral de um sistema de provisão de conteúdo ex100 para a realização de um serviço de distribuição de conteúdo. A área para provisão do serviço de comunicação é dividida em células de tamanho desejado, e locais de célula ex107 a ex110, os quais são estações sem fio fixas, são colocados nas respectivas células.
Este sistema de provisão de conteúdo ex100 é conectado a dispositivos tais como a Internet ex101, um provedor de serviços de Internet ex102, uma rede de telefonia ex104, bem como um computador ex111, um
PDA (Assistente Digital Pessoal) ex112, uma câmera ex113, um telefone celular ex114 e um telefone celular com uma câmera ex115, através dos
Figure BRPI0307197B1_D0027
locais de célula ex107 a ex110.
Entretanto, o sistema de suprimento de conteúdo ex100 não está limitado à configuração mostrada na FIGURA 14, e pode ser conectado a uma combinação de qualquer um deles. Também, cada dispositivo pode ser conectado diretamente à rede de telefonia ex104, não através dos locais de célula ex107 a ex110.
A câmera ex113 é um dispositivo capaz de fazer um vídeo, tal como uma câmera de vídeo digital. O telefone celular ex114 pode ser um telefone celular com qualquer um dos sistemas a seguir: um sistema de PDC (Comunicações Digitais Pessoais), sistema de CDMA (Acesso Múltiplo de Divisão de Código), sistema de W-CDMA (Acesso Múltiplo de Divisão de Código de Banda Larga) ou sistema de GSM (Sistema Global para Comunicações Móveis), um PHS (Sistema de Telefone Portátil Pessoal) ou similar.
Um servidor de streaming ex103 é conectado à câmera ex113 através da rede de telefonia ex104 e do local de célula ex109, o que permite uma distribuição ao vivo ou similar, usando a câmera ex113, com base nos dados codificados transmitidos a partir do usuário. A câmera ex113 ou o servidor, o qual transmite os dados, pode codificar os dados. Também, os dados de imagem feitos por uma câmera ex116 podem ser transmitidos para o servidor de streaming ex103 através do computador ex111. Neste caso, a câmera ex116 ou o computador ex111 pode codificar os dados de imagem. Uma LSI ex117 incluída no computador ex111 ou na câmera ex116 realiza, na realidade, o processamento de codificação. Um software para a codificação e a decodificação de imagens pode ser integrado em qualquer tipo de meio de armazenamento (tal como um CD-ROM, discos flexíveis, e um disco rígido), que é um meio de gravação o qual pode ser lido pelo computador ex111 ou similar. Mais ainda, um telefone celular com uma câmera ex115 pode transmitir os dados de imagem. Estes dados de imagem são os dados codificados pela LSI incluídos no telefone celular ex115.
O sistema de provisão de conteúdo ex100 codifica conteúdos (tal como um vídeo de música ao vivo) feitos por usuários usando a câmera ex113, a câmera ex116 ou similar, da mesma forma que a mostrada nas
Figure BRPI0307197B1_D0028
ÕE modalidades mencionadas acima, e transmite-os para o servidor de streaming ex103, enquanto o servidor de streaming ex103 faz uma distribuição de fluxo dos dados de conteúdo para os clientes a sua vontade. Os clientes incluem o computador ex111, o PDA ex112, a câmera ex113, o telefone celu5 lar ex114 e assim por diante, que são capazes de decodificarem os dados codificados mencionados acima. Desta forma, o sistema de provisão de conteúdo ex100 permite que os clientes recebam e reproduzam os dados codificados e, ainda, recebam, decodifiquem e reproduzam os dados em tempo real, de modo a realizarem uma difusão pessoal.
Quando cada dispositivo neste sistema realiza uma codificação ou uma decodificação, o codificador de imagem ou o decodificador de imagem como mostrado nas modalidades mencionadas acima podem ser usados.
Um telefone celular será explicado como um exemplo do dispo15 sitivo.
A Figura 15 é um diagrama que mostra o telefone celular ex115 usando o método de codificação de imagem e o método de decodificação de imagem explicados nas modalidades mencionadas acima. O telefone celular ex115 tem uma antena ex201 para comunicação com o local de célula ex110 através de ondas de rádio, uma unidade de câmera ex203, tal como uma câmera de CCD, capaz de filmar imagens em movimento e paradas, uma unidade de exibição ex202, tal como um visor de cristal líquido para a exibição dos dados obtidos pela decodificação de imagens e similares filmadas pela unidade de câmera ex203 ou recebidos pela antena ex201, uma unidade de corpo, incluindo um conjunto de teclas de operação ex204, uma unidade de saída de áudio ex208, tal como um altofalante, para a extração de áudio, uma unidade de entrada de áudio ex205, tal como um microfone, para a introdução de áudio, um meio de armazenamento ex207 para o armazenamento de dados codificados ou decodificados, tais como dados de imagens em movimento ou paradas filmadas pela câmera, dados de e-mails recebidos e de imagem em movimento ou paradas, e uma unidade de conector ex206 para a afixação do meio de armazenamento ex207 ao telefone
Figure BRPI0307197B1_D0029
celular ex115.0 meio de armazenamento ex207 é equipado com um elemento de memória flash, um tipo de EEPROM (Memória Apenas de Leitura Eletricamente Apagável e Programável), que é uma memória não-volátil eletricamente apagável e que pode ser reescrita em um invólucro de plástico, tal como cartões de SD.
Em seguida, o telefone celular ex115 será explicado com referência à Figura 16. No telefone celular ex115, uma unidade de controle principal ex311, a qual é operável para realizar um controle centralizado em cada unidade do corpo principal, incluindo a unidade de exibição ex202 e as teclas de operação ex204, é conectada mutuamente a uma unidade de circuito de suprimento de energia ex310, uma unidade de controle de entrada em operação ex304, uma unidade de codificação de imagem ex312, uma unidade de interface de câmera ex303, uma unidade de controle de LCD (Visor de Cristal Líquido) ex302, uma unidade de decodificação de imagem ex309, uma unidade de multiplexação / demultiplexação ex308, uma unidade de leitura / escrita ex307, uma unidade de circuito de modem ex306 e uma unidade de processamento de áudio ex305 através de um barramento síncrono ex313.
Quando uma tecla de término de chamada ou uma tecla de energia é LIGADA por uma operação do usuário, a unidade de circuito de suprimento de energia ex310 supre as respectivas unidades com energia a partir de uma batería, de modo a ativar o telefone celular digital com uma câmera ex115, para colocá-lo em um estado de pronto para operar.
No telefone celular ex115, a unidade de processamento de áudio ex305 converte os sinais de áudio recebidos pela unidade de entrada de áudio ex205 em um modo de conversação em dados de áudio digitais, sob o controle da unidade de controle principal ex311, incluindo uma CPU, uma ROM e uma RAM, a unidade de circuito de modem ex306 realiza um processamento de espectro amplo dos dados de áudio digitais, e a unidade de circuito de comunicação ex301 realiza uma conversão de digital para analógico e uma conversão de freqüência dos dados, de modo a transmiti-los através da antena ex201. Também, no telefone celular ex115, a unidade de
Figure BRPI0307197B1_D0030
• ·· · circuito de comunicação ex301 amplifica os dados recebidos pela antena ex201 em modo de conversação, e realiza uma conversão de freqüência e uma conversão de analógico para digital nos dados, a unidade de circuito de modem ex306 realiza um processamento de espectro amplo inverso dos dados, e a unidade de processamento de áudio ex305 os converte em dados de áudio analógicos, de modo a extraí-los através da unidade de saída de áudio ex208.
Mais ainda, quando da transmissão de um e-mail no modo de comunicação de dados, os dados de texto do e-mail introduzidos pela ope10 ração das teclas de operação ex204 do corpo principal são enviados para a unidade de controle principal ex311 através da unidade de controle de entrada em operação ex304. Na unidade de controle principal ex311, após a unidade de circuito de modem ex306 realizar um processamento de espectro amplo dos dados de texto e a unidade de circuito de comunicação ex301 realizar uma conversão de digital para analógico e uma conversão de freqüência para os dados de texto, os dados são transmitidos para o local de célula ex110 através da antena ex201.
Quando dados de imagem são transmitidos em um modo de comunicação de dados, os dados de imagem filmados pela unidade de câ20 mera ex203 são supridos para a unidade de codificação de imagem ex312 através da unidade de interface de câmera ex303. Quando os dados de imagem não são transmitidos, também é possível exibir os dados de imagem feitos pela unidade de câmera ex203 diretamente na unidade de exibição ex202 através da unidade de interface de câmera ex303 e da unidade de controle de LCD ex302.
A unidade de codificação de imagem ex312, a qual inclui o aparelho de codificação de imagem, como explicado na presente invenção, comprime e codifica os dados de imagem supridos a partir da unidade de câmera ex203 usando o método de codificação usado pelo aparelho de co30 dificação de imagem, como mostrado na primeira modalidade mencionada acima, de modo a transformá-los em dados de imagem codificados, e os envia para a unidade de multiplexação / demultiplexação ex308. Neste mo45
Figure BRPI0307197B1_D0031
mento, o telefone celular ex115 envia o áudio recebido pela unidade de entrada de áudio ex205, durante a filmagem pela unidade de câmera ex203 para a unidade de multiplexação / demultiplexação ex308, como dados de áudio digitais, através da unidade de processamento de áudio ex305.
A unidade de multiplexação / demultiplexação ex308 multiplexa os dados de imagem codificados supridos a partir da unidade de codificação de imagem ex312 e os dados de áudio supridos a partir da unidade de processamento de áudio ex305, usando um método predeterminado, a unidade de circuito de modem ex306 realiza um processamento de espectro amplo dos dados multiplexados obtidos como resultado da multiplexação, e, por último, a unidade de circuito de comunicação ex301 realiza uma conversão de digital para analógico e uma conversão de freqüência dos dados para transmissão através da antena ex201.
Quanto ao recebimento de dados de um arquivo de imagem em movimento, o qual está ligado a uma página da web ou similar em um modo de comunicação de dados, a unidade de circuito de modem ex306 realiza um processamento de espectro amplo inverso dos dados recebidos a partir do local de célula ex110, através da antena ex201, e envia os dados multiplexados obtidos como resultado do processamento de espectro amplo in20 verso.
De modo a se decodificarem os dados multiplexados recebidos através da antena ex201, a unidade de multiplexação / demultiplexação ex308 separa os dados multiplexados em um fluxo de bits de dados de imagem e um fluxo de bits de dados de áudio, e supre os dados de imagem co25 dificados para a unidade de decodificação de imagem ex309 e os dados de áudio atuais para a unidade de processamento de áudio ex305, respectivamente, através do barramento síncrono ex313.
Em seguida, a unidade de decodificação de imagem ex309, que inclui o aparelho de decodificação de imagem, como explicado na invenção mencionada acima, decodifica o fluxo de bits de dados de imagem usando o método de decodificação correspondente ao método de codificação, como mostrado nas modalidades mencionadas acima, para a geração de dados de
Figure BRPI0307197B1_D0032
ÓÓ imagem em movimento reproduzidos, e supre estes dados para a unidade de exibição ex202, através da unidade de controle de LCD ex302, e, assim, os dados de imagem incluídos em um arquivo de imagem em movimento ligado a uma página da web, por exemplo, são exibidos. Ao mesmo tempo, a unidade de processamento de áudio ex305 converte os dados de áudio em dados de áudio analógicos, e supre estes dados para a unidade de saída de áudio ex208, e, assim, os dados de áudio incluídos no arquivo de imagem em movimento ligado a uma página da web, por exemplo, são reproduzidos.
A presente invenção não está limitada ao sistema mencionado acima, já que sistemas de difusão digital por satélite ou baseada em terra são mostrados nas noticias ultimamente e pelo menos o aparelho de codificação de imagem e o aparelho de decodificação de imagem descritos nas modalidades mencionadas acima pode ser incorporado em um sistema de difusão digital, como mostrado na Figura 17. Mais especificamente, um fluxo de bit de informação de vídeo é transmitido a partir da uma estação de difusão ex409 para uma comunicação com um satélite de difusão ex410, através de ondas de rádio. Mediante o recebimento dele, o satélite de difusão ex410 transmite ondas de rádio para difusão. Então, uma antena de uso doméstico ex406 com uma função de recepção de difusão por satélite rece20 be as ondas de rádio, e uma televisão (receptor) ex401 ou uma caixa de decodificador (set top box - STB) ex407 decodifica o fluxo de bits para reprodução. O aparelho de decodificação de imagem, como mostrado na modalidade mencionada acima, pode ser implementado no aparelho de reprodução ex403, para leitura e decodificação do fluxo de bits gravado em um meio de armazenamento ex402, que é um meio de gravação tal como um CD ou um DVD. Neste caso, os sinais de vídeo reproduzidos são exibidos em um monitor ex404. Também é concebível implementar o aparelho de decodificação de imagem na caixa de decodificador ex407 conectada a um cabo ex405 para uma televisão a cabo ou uma antena ex406 para uma difusão por saté30 lite e/ou baseada em terra, de modo a se reproduzi-los em um monitor ex408 da televisão ex401. O aparelho de decodificação de imagem pode ser incorporado na televisão, ao invés de na caixa de decodificador. Também, um
Figure BRPI0307197B1_D0033
carro ex412 tendo uma antena ex411 pode receber sinais do satélite ex410 ou do local de célula ex107, para a reprodução de imagem em movimento em um dispositivo de exibição, tal como um sistema de navegação de carro ex413 no carro ex412.
Mais ainda, o aparelho de codificação de imagem, como mostrado nas modalidades mencionadas acima, pode codificar sinais de imagem para gravação em um meio de gravação. Como um exemplo concreto, há um gravador ex420, tal como um gravador de DVD, para a gravação de sinais de imagem em um disco de DVD ex412 e um gravador de disco para gravação deles em um disco rígido podem ser citados. Eles podem ser gravados em um cartão de SD ex422. Se o gravador ex420 incluir o aparelho de decodificação de imagem, como mostrado na modalidade mencionada acima, os sinais de imagem gravados no disco de DVD ex421 ou na placa de SD ex422 podem ser reproduzidos para exibição no monitor ex408. Quanto à estrutura do sistema de navegação de carro ex413, a estrutura sem a unidade de câmera ex203, a unidade de interface de câmera ex303 e a unidade de codificação de imagem ex312 dos componentes mostrados na Figura 16 é concebível. O mesmo se aplica ao computador ex111, à televisão (receptor) ex401 e a outros.
Além disso, três tipos de implementações podem ser concebidos para um terminal, tal como o telefone celular ex114 mencionado acima: um terminal de envio / recepção implementado com ambos um codificador e um decodificador, um terminal de envio implementado com um codificador apenas, e um terminal de recepção implementado com um decodificador ape25 nas.
Como descrito acima, é possível usar o método de codificação de imagem ou o método de decodificação de imagem descritos nas modalidades mencionadas acima em qualquer um dos dispositivos e sistemas mencionados acima, e pelo uso deste método, os efeitos explicados nas modalidades mencionadas acima podem ser obtidos.
Aplicabilidade Industrial
O aparelho de codificação de filme, de acordo com a presente
Figure BRPI0307197B1_D0034
Figure BRPI0307197B1_D0035
invenção, é útil como o aparelho de codificação de imagem que é incluído em um computador pessoal e um PDA, que são equipados com a função de comunicação, uma estação de difusão digital, um telefone celular e similar.
O aparelho de decodificação de imagem de acordo com a pre5 sente invenção é útil como um aparelho de decodificação de imagem que é incluído em um computador pessoal e um PDA, que são equipados com a função de comunicação, um STB que recebe difusão digital, um telefone celular e similares.
Figure BRPI0307197B1_D0036

Claims (14)

  1. REIVINDICAÇÕES
    1. Método de compensação de movimento para a codificação ou a decodificação de um sinal de imagem, o método de compensação de movimento caracterizado pelo fato de que compreende:
    5 uma etapa de seleção para seleção de um dos métodos para a geração de um vetor de movimento de um bloco em um macrobloco atual a ser codificado ou decodificado, dependendo de um vetor de movimento de um bloco localizado em um canto de um macrobloco codificado ou decodificado dentre um grupo de blocos que compõe o macrobloco codificado ou
    10 decodificado correspondente ao macrobloco atual; e uma etapa de compensação de movimento de geração de uma imagem preditiva do bloco no macrobloco atual com base no vetor de movimento gerado pelo método selecionado.
  2. 2. Método de compensação de movimento, de acordo com a rei15 vindicação 1, caracterizado pelo fato de que cada bloco dentre o grupo de blocos é de tamanho de Nx x Ny pixels, onde Nx e Ny são números naturais, enquanto o tamanho do bloco do macrobloco atual é de Kx · Nx pixels x Ky · Ny pixels, onde Kx e Ky são números naturais.
  3. 3. Método de compensação de movimento, de acordo com a rei20 vindicação 2, caracterizado pelo fato de que um dentre Nx e Ny é um múltiplo do outro, e Kx · Nx > 8 e Ky · Ny > 8.
  4. 4. Método de compensação de movimento, de acordo com a reivindicação 1, caracterizado pelo fato de que um dos métodos para a geração do vetor de movimento é para determinar o vetor de movimento como
    25 sendo 0.
  5. 5. Método de compensação de movimento, de acordo com a reivindicação 1, caracterizado pelo fato de que um dos métodos para a geração do vetor de movimento é para gerar um vetor de movimento com referência a vetores de movimento de blocos codificados ou decodificados loca30 lizados adjacentes ao macrobloco atual na imagem à qual o macrobloco atual pertence.
  6. 6. Método de compensação de movimento, de acordo com a reiPetição 870170094575, de 05/12/2017, pág. 4/10 vindicação 1, caracterizado pelo fato de que na etapa de compensação de movimento, a imagem preditiva do bloco no macrobloco atual é gerada com referência a uma pluralidade de imagens codificada ou decodificadas.
  7. 7. Método de codificação de imagem para a codificação de si5 nais de imagem, caracterizado pelo fato de que compreende:
    uma etapa de seleção para seleção de um dos métodos para a geração de um vetor de movimento de um bloco em um macrobloco atual a ser codificado, dependendo de um vetor de movimento de um bloco localizado em um canto de um macrobloco codificado dentre um grupo de blocos
    10 que compõem o macrobloco codificado correspondente ao macrobloco atual;
    uma etapa de compensação de movimento de geração de uma imagem preditiva do bloco no macrobloco atual com base no vetor de movimento gerado pelo método selecionado; e uma etapa de codificação de uma diferença entre o sinal de
    15 imagem e a imagem preditiva.
  8. 8. Método de codificação de imagem de acordo com a reivindicação 7, caracterizado pelo fato de que cada bloco dentre o grupo de blocos é de tamanho de Nx x Ny pixels, onde Nx e Ny são números naturais, enquanto o tamanho do bloco do macrobloco atual é de Kx · Nx pixels x Ky ·
    20 Ny pixels, onde Kx e Ky são números naturais.
  9. 9. Método de codificação de imagem, de acordo com a reivindicação 8, caracterizado pelo fato de que um dentre Nx e Ny é um múltiplo do outro, e Kx · Nx > 8 e Ky · Ny > 8.
  10. 10. Método de decodificação de imagem para a decodificação de 25 um fluxo de bit e a obtenção de uma imagem decodificada, o método de decodificação de imagem caracterizado pelo fato de que compreende:
    uma etapa de seleção para seleção de um dos métodos para a geração de um vetor de movimento de um bloco em um macrobloco atual a ser decodificado, dependendo de um vetor de movimento de um bloco loca30 lizado em um canto de um macrobloco decodificado dentre um grupo de blocos que compõem o macrobloco decodificado correspondente ao macrobloco atual;
    Petição 870170094575, de 05/12/2017, pág. 5/10 uma etapa de compensação de movimento de geração de uma imagem preditiva do bloco no macrobloco atual com base no vetor de movimento gerado pelo método selecionado; e uma etapa de codificação para adicionar uma imagem de dife5 rença obtida pela decodificação do fluxo de bit e da imagem preditiva, para a obtenção de uma imagem decodificada.
  11. 11. Método de decodificação de imagem de acordo com a reivindicação 10, caracterizado pelo fato de que cada bloco dentre o grupo de blocos é de tamanho de Nx x Ny pixels, onde Nx e Ny são números natu10 rais, enquanto o tamanho do bloco do macrobloco atual é de Kx · Nx pixels x Ky · Ny pixels, onde Kx e Ky são números naturais.
  12. 12. Método de decodificação de imagem, de acordo com a reivindicação 11, caracterizado pelo fato de que um dentre Nx e Ny é um múltiplo do outro, e Kx · Nx > 8 e Ky · Ny > 8.
    15
  13. 13. Aparelho de codificação de imagem para a codificação de um sinal de imagem, caracterizado pelo fato de que compreende:
    uma unidade de seleção operável para selecionar um dos métodos para a geração de um vetor de movimento de um bloco em um macrobloco atual a ser codificado, dependendo de um vetor de movimento de um
    20 bloco localizado em um canto de um macrobloco codificado dentre um grupo de blocos que compõem o macrobloco codificado correspondente ao macrobloco atual;
    uma unidade de compensação de movimento operável para a geração de uma imagem preditiva do bloco no macrobloco atual com base
    25 no vetor de movimento gerado pelo método selecionado; e uma unidade de codificação operável para a codificação de uma diferença entre o sinal de imagem e a imagem preditiva.
  14. 14 Aparelho de decodificação de imagem para a decodificação de um fluxo de bit e a obtenção de uma imagem decodificada, caracteriza30 do pelo fato de que compreende:
    uma unidade de seleção operável para a seleção de um dos métodos para a geração de um vetor de movimento de um bloco em um macroPetição 870170094575, de 05/12/2017, pág. 6/10 bloco atual a ser decodificado, dependendo de um vetor de movimento de um bloco localizado em um canto de um macrobloco decodificado dentre um grupo de blocos que compõem o macrobloco decodificado correspondente ao macrobloco atual;
    uma unidade de compensação de movimento operável para a geração de uma imagem preditiva do bloco no macrobloco atual com base no vetor de movimento gerado pelo método selecionado; e uma unidade de decodificação operável para a adição de uma imagem de diferença obtida pela decodificação do fluxo de bit e da imagem preditiva, para a obtenção de uma imagem decodificada.
    Petição 870170094575, de 05/12/2017, pág. 7/10
    MotionParam MotionParam,Mod
    2/17
    Ο ο
    Γ\Ι σι
    Ll
    V
    4/17 ο
    ο η
    σ>
    LJL
    MotionParam MotionParam,Mod
    5/17 • · · · · · • · · · · · · • ·· ·· ·· · · ο
    ο st·
    6/17
    7/17
BRPI0307197-9A 2002-11-25 2003-08-28 Método de compensação de movimento, método de codificação de imagem e método de decodificação de imagem BRPI0307197B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002340390 2002-11-25
JP2002-340390 2002-11-25
PCT/JP2003/010894 WO2004049726A1 (ja) 2002-11-25 2003-08-28 動き補償方法、画像符号化方法および画像復号化方法

Publications (1)

Publication Number Publication Date
BRPI0307197B1 true BRPI0307197B1 (pt) 2018-06-19

Family

ID=32375820

Family Applications (2)

Application Number Title Priority Date Filing Date
BRPI0307197-9A BRPI0307197B1 (pt) 2002-11-25 2003-08-28 Método de compensação de movimento, método de codificação de imagem e método de decodificação de imagem
BR0307197-9A BR0307197A (pt) 2002-11-25 2003-08-28 Método de compensação de movimento, método de codificação de imagem e método de decodificação de imagem

Family Applications After (1)

Application Number Title Priority Date Filing Date
BR0307197-9A BR0307197A (pt) 2002-11-25 2003-08-28 Método de compensação de movimento, método de codificação de imagem e método de decodificação de imagem

Country Status (12)

Country Link
US (11) US8009731B2 (pt)
EP (5) EP1569460B1 (pt)
KR (2) KR100985366B1 (pt)
CN (4) CN100589576C (pt)
AU (1) AU2003261780B8 (pt)
BR (2) BRPI0307197B1 (pt)
CA (1) CA2473897C (pt)
ES (1) ES2788382T3 (pt)
MX (1) MXPA04007021A (pt)
MY (1) MY138540A (pt)
TW (3) TWI353182B (pt)
WO (1) WO2004049726A1 (pt)

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8780957B2 (en) * 2005-01-14 2014-07-15 Qualcomm Incorporated Optimal weights for MMSE space-time equalizer of multicode CDMA system
JP4736456B2 (ja) * 2005-02-15 2011-07-27 株式会社日立製作所 走査線補間装置、映像表示装置、映像信号処理装置
US8019000B2 (en) * 2005-02-24 2011-09-13 Sanyo Electric Co., Ltd. Motion vector detecting device
AU2006223416A1 (en) * 2005-03-10 2006-09-21 Qualcomm Incorporated Content adaptive multimedia processing
US9113147B2 (en) 2005-09-27 2015-08-18 Qualcomm Incorporated Scalability techniques based on content information
US20070206117A1 (en) * 2005-10-17 2007-09-06 Qualcomm Incorporated Motion and apparatus for spatio-temporal deinterlacing aided by motion compensation for field-based video
US8948260B2 (en) * 2005-10-17 2015-02-03 Qualcomm Incorporated Adaptive GOP structure in video streaming
US8654848B2 (en) 2005-10-17 2014-02-18 Qualcomm Incorporated Method and apparatus for shot detection in video streaming
US20070171280A1 (en) * 2005-10-24 2007-07-26 Qualcomm Incorporated Inverse telecine algorithm based on state machine
US7783184B2 (en) * 2006-02-15 2010-08-24 Lg Electronics Inc. Optical zoom tracking apparatus and method, and computer-readable recording medium for performing the optical zoom tracking method
EP1835749A1 (en) * 2006-03-16 2007-09-19 THOMSON Licensing Method for coding video data of a sequence of pictures
US9131164B2 (en) * 2006-04-04 2015-09-08 Qualcomm Incorporated Preprocessor method and apparatus
WO2009040904A1 (ja) * 2007-09-26 2009-04-02 Fujitsu Microelectronics Limited ビデオデコーダおよびデジタル放送受信装置
KR100939917B1 (ko) * 2008-03-07 2010-02-03 에스케이 텔레콤주식회사 움직임 예측을 통한 부호화 시스템 및 움직임 예측을 통한부호화 방법
US8488678B2 (en) * 2008-04-01 2013-07-16 Canon Kabushiki Kaisha Moving image encoding apparatus and moving image encoding method
US8675738B2 (en) * 2008-08-06 2014-03-18 Mediatek Inc. Video decoding method without using additional buffers for storing scaled frames and system thereof
US8811473B2 (en) * 2009-07-07 2014-08-19 Panasonic Corporation Moving picture decoding device, moving picture decoding method, moving picture decoding system, integrated circuit, and program
CN104661026B (zh) * 2009-10-21 2018-03-27 Sk电信有限公司 图像编码和解码装置和方法
US20110176611A1 (en) * 2010-01-15 2011-07-21 Yu-Wen Huang Methods for decoder-side motion vector derivation
CN102131091B (zh) * 2010-01-15 2013-01-23 联发科技股份有限公司 解码端运动向量导出方法
US20120082228A1 (en) 2010-10-01 2012-04-05 Yeping Su Nested entropy encoding
US10104391B2 (en) 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
WO2012074344A2 (ko) * 2010-12-03 2012-06-07 엘지전자 주식회사 움직임 정보 리스트 인덱싱 방법 및 이러한 방법을 사용하는 장치
RU2719308C2 (ru) 2011-04-12 2020-04-17 Сан Пэтент Траст Способ кодирования движущихся изображений, устройство кодирования движущихся изображений, способ декодирования движущихся изображений, устройство декодирования движущихся изображений и устройство кодирования и декодирования движущихся изображений
WO2012160803A1 (ja) 2011-05-24 2012-11-29 パナソニック株式会社 画像符号化方法、画像符号化装置、画像復号方法、画像復号装置、および、画像符号化復号装置
PL2717575T3 (pl) 2011-05-27 2019-03-29 Sun Patent Trust Sposób dekodowania obrazów i urządzenie do dekodowania obrazów
US9485518B2 (en) 2011-05-27 2016-11-01 Sun Patent Trust Decoding method and apparatus with candidate motion vectors
SG194746A1 (en) 2011-05-31 2013-12-30 Kaba Gmbh Image encoding method, image encoding device, image decoding method, image decoding device, and image encoding/decoding device
CN103548351B (zh) 2011-05-31 2017-07-11 太阳专利托管公司 运动图像解码方法及运动图像解码装置
EP2723077B1 (en) * 2011-06-17 2021-07-21 JVC KENWOOD Corporation Image encoding device, image encoding method and image encoding program, as well as image decoding device, image decoding method and image decoding program
KR101672662B1 (ko) * 2011-06-20 2016-11-03 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법 및 화상 부호화 프로그램, 또한 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
WO2012177052A2 (ko) 2011-06-21 2012-12-27 한국전자통신연구원 인터 예측 방법 및 그 장치
KR20120140592A (ko) 2011-06-21 2012-12-31 한국전자통신연구원 움직임 보상의 계산 복잡도 감소 및 부호화 효율을 증가시키는 방법 및 장치
CA3017176C (en) 2011-06-28 2020-04-28 Samsung Electronics Co., Ltd. Method and apparatus for image encoding and decoding using intra prediction
MX2013013029A (es) 2011-06-30 2013-12-02 Panasonic Corp Metodo de decodificacion de imagenes, metodo de codificacion de imagenes, dispositivo de decodificacion de imagenes, dispositivo de codificacion de imagenes y dispositivo de codificacion/decodifi cacion de imagenes.
US9819963B2 (en) * 2011-07-12 2017-11-14 Electronics And Telecommunications Research Institute Inter prediction method and apparatus for same
EP3487178A1 (en) 2011-08-03 2019-05-22 Sun Patent Trust Video encoding method, video encoding apparatus, video decoding method, video decoding apparatus, and video encoding/decoding apparatus
JP2013085096A (ja) * 2011-10-07 2013-05-09 Sony Corp 画像処理装置および方法
KR101999869B1 (ko) 2011-10-19 2019-07-12 선 페이턴트 트러스트 화상 부호화 방법, 화상 부호화 장치, 화상 복호 방법, 및, 화상 복호 장치
US9961366B2 (en) * 2012-01-19 2018-05-01 Sony Corporation Image processing apparatus and method that prohibits bi-prediction based on block size
US9906786B2 (en) 2012-09-07 2018-02-27 Qualcomm Incorporated Weighted prediction mode for scalable video coding
JP6052319B2 (ja) * 2015-03-25 2016-12-27 Nttエレクトロニクス株式会社 動画像符号化装置
US9998745B2 (en) 2015-10-29 2018-06-12 Microsoft Technology Licensing, Llc Transforming video bit streams for parallel processing
CN109155856B (zh) * 2016-06-09 2023-10-24 英特尔公司 用于视频编解码的利用近邻块模式的运动估计的方法和系统
CN110178371A (zh) * 2017-01-16 2019-08-27 世宗大学校产学协力团 影像编码/解码方法及装置
EP3788787A1 (en) 2018-06-05 2021-03-10 Beijing Bytedance Network Technology Co. Ltd. Interaction between ibc and atmvp
CN113115046A (zh) 2018-06-21 2021-07-13 北京字节跳动网络技术有限公司 分量相关的子块分割
TWI818086B (zh) * 2018-09-24 2023-10-11 大陸商北京字節跳動網絡技術有限公司 擴展Merge預測
CN112997495B (zh) 2018-11-10 2024-02-20 北京字节跳动网络技术有限公司 当前图片参考中的取整
US11070816B2 (en) 2019-06-18 2021-07-20 Tencent America LLC Conversion of decoded block vector for intra picture block compensation
KR20220027207A (ko) * 2019-07-08 2022-03-07 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 코딩에서의 혼합된 nal 유닛 픽처 제약 조건
FR3106910B1 (fr) 2020-01-31 2022-02-18 St Microelectronics Grenoble 2 Circuit intégré configuré pour réaliser des opérations de chiffrement symétrique sans transmission de clé secrète
FR3106909B1 (fr) 2020-01-31 2022-02-18 St Microelectronics Grenoble 2 Circuit intégré configuré pour réaliser des opérations de chiffrement symétrique avec protection de clé secrète
KR20220155293A (ko) 2020-03-17 2022-11-22 바이트댄스 아이엔씨 비디오 코딩에서 픽처 출력 플래그 표시

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5272529A (en) * 1992-03-20 1993-12-21 Northwest Starscan Limited Partnership Adaptive hierarchical subband vector quantization encoder
KR100198986B1 (ko) * 1995-03-15 1999-06-15 전주범 블록킹 현상방지용 움직임 보상장치
US5903313A (en) * 1995-04-18 1999-05-11 Advanced Micro Devices, Inc. Method and apparatus for adaptively performing motion compensation in a video processing apparatus
US5883678A (en) * 1995-09-29 1999-03-16 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio
JP3183155B2 (ja) * 1996-03-18 2001-07-03 株式会社日立製作所 画像復号化装置、及び、画像復号化方法
KR100191318B1 (ko) * 1996-03-26 1999-06-15 윤종용 고속의 동벡터 복호회로
EP1835762A3 (en) * 1996-05-28 2007-10-03 Matsushita Electric Industrial Co., Ltd. decoding apparatus with intra prediction
JP3263807B2 (ja) * 1996-09-09 2002-03-11 ソニー株式会社 画像符号化装置および画像符号化方法
KR100326641B1 (ko) 1996-12-06 2002-08-27 마츠시타 덴끼 산교 가부시키가이샤 영상신호의전송,부호화,복호화방법및장치와광디스크의기록및재생방법
DE69736661D1 (de) 1997-01-31 2006-10-26 Victor Company Of Japan Vorrichtung zur Videocodierung und -decodierung mit Bewegungskompensation
SG65064A1 (en) * 1997-04-09 1999-05-25 Matsushita Electric Ind Co Ltd Image predictive decoding method image predictive decoding apparatus image predictive coding method image predictive coding apparatus and data storage media
KR20010031320A (ko) * 1997-10-23 2001-04-16 다니구찌 이찌로오, 기타오카 다카시 화상 복호화 장치, 화상 부호화 장치, 화상 통신 시스템및 부호화 비트 스트림 변환장치
KR100523908B1 (ko) * 1997-12-12 2006-01-27 주식회사 팬택앤큐리텔 격행주사 영상에 대한 영상신호 부호화 장치 및 그 방법
US6512537B1 (en) * 1998-06-03 2003-01-28 Matsushita Electric Industrial Co., Ltd. Motion detecting apparatus, motion detecting method, and storage medium storing motion detecting program for avoiding incorrect detection
US6483874B1 (en) * 1999-01-27 2002-11-19 General Instrument Corporation Efficient motion estimation for an arbitrarily-shaped object
JP2000253407A (ja) * 1999-02-26 2000-09-14 Matsushita Electric Ind Co Ltd 動きベクトル検出方法および画像符号化方法
JP4280353B2 (ja) * 1999-03-19 2009-06-17 キヤノン株式会社 符号化装置、画像処理装置、符号化方法、及び記録媒体
JP3677165B2 (ja) * 1999-04-23 2005-07-27 株式会社東芝 動画像符号化装置および動画像符号化方法
US6618439B1 (en) 1999-07-06 2003-09-09 Industrial Technology Research Institute Fast motion-compensated video frame interpolator
WO2001010135A1 (en) * 1999-07-29 2001-02-08 Mitsubishi Denki Kabushiki Kaisha Moving vector detecting method
US6671319B1 (en) * 1999-12-28 2003-12-30 Sony Corporation Methods and apparatus for motion estimation using neighboring macroblocks
US6483876B1 (en) * 1999-12-28 2002-11-19 Sony Corporation Methods and apparatus for reduction of prediction modes in motion estimation
EP1404135B1 (en) * 2000-01-21 2016-12-14 Nokia Technologies Oy A motion estimation method and a system for a video coder
JP2001251627A (ja) 2000-03-03 2001-09-14 Matsushita Electric Ind Co Ltd 符号化装置、符号化方法及びプログラムを記録した記録媒体
US6647061B1 (en) 2000-06-09 2003-11-11 General Instrument Corporation Video size conversion and transcoding from MPEG-2 to MPEG-4
US7116372B2 (en) * 2000-10-20 2006-10-03 Matsushita Electric Industrial Co., Ltd. Method and apparatus for deinterlacing
KR100360893B1 (ko) * 2001-02-01 2002-11-13 엘지전자 주식회사 영상 움직임 보상 장치 및 방법
FR2824988B1 (fr) * 2001-05-21 2003-08-01 Thomson Licensing Sa Procede et dispositif de codage video utilisant la norme mpeg4
US6975680B2 (en) * 2001-07-12 2005-12-13 Dolby Laboratories, Inc. Macroblock mode decision biasing for video compression systems
US20030099294A1 (en) * 2001-11-27 2003-05-29 Limin Wang Picture level adaptive frame/field coding for digital video content
US6980596B2 (en) * 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
US20030202603A1 (en) * 2002-04-12 2003-10-30 William Chen Method and apparatus for fast inverse motion compensation using factorization and integer approximation
EP3324624B1 (en) * 2002-04-19 2019-06-12 Panasonic Intellectual Property Corporation of America Motion vector calculating method
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
US7813429B2 (en) * 2002-08-13 2010-10-12 Lsi Corporation System and method for segmentation of macroblocks
US6771210B2 (en) 2002-10-08 2004-08-03 Visteon Global Technologies, Inc. Sensor alignment method and system

Also Published As

Publication number Publication date
TWI283534B (en) 2007-07-01
US20160094857A1 (en) 2016-03-31
TWI353182B (en) 2011-11-21
US9554148B2 (en) 2017-01-24
US9088795B2 (en) 2015-07-21
CA2473897C (en) 2012-10-16
US8861607B2 (en) 2014-10-14
US10057595B2 (en) 2018-08-21
US20170085905A1 (en) 2017-03-23
EP2249579A3 (en) 2010-12-08
CN1623333A (zh) 2005-06-01
EP2249579A2 (en) 2010-11-10
TW200417248A (en) 2004-09-01
US9485516B2 (en) 2016-11-01
EP1909505A3 (en) 2010-07-21
KR100985236B1 (ko) 2010-10-04
TW200723889A (en) 2007-06-16
EP1909505B1 (en) 2013-06-19
US20050062885A1 (en) 2005-03-24
EP1569460B1 (en) 2013-05-15
BR0307197A (pt) 2005-08-23
TW200715872A (en) 2007-04-16
US8009731B2 (en) 2011-08-30
AU2003261780B8 (en) 2010-03-25
ES2788382T3 (es) 2020-10-21
KR20100007935A (ko) 2010-01-22
US20110286527A1 (en) 2011-11-24
US20160094858A1 (en) 2016-03-31
EP2919465B1 (en) 2018-03-21
AU2003261780B2 (en) 2009-08-13
US20150288968A1 (en) 2015-10-08
US9241171B2 (en) 2016-01-19
KR100985366B1 (ko) 2010-10-04
US20140037009A1 (en) 2014-02-06
EP3349461A1 (en) 2018-07-18
US20140301472A1 (en) 2014-10-09
US8897367B2 (en) 2014-11-25
CN100589576C (zh) 2010-02-10
CN101141651A (zh) 2008-03-12
US20140037003A1 (en) 2014-02-06
US9204153B2 (en) 2015-12-01
EP1909505A2 (en) 2008-04-09
CN101827265B (zh) 2012-11-21
US20150312585A1 (en) 2015-10-29
US9473786B2 (en) 2016-10-18
EP2919465A1 (en) 2015-09-16
TWI331877B (en) 2010-10-11
EP2249579B1 (en) 2015-06-17
AU2003261780A1 (en) 2004-06-18
EP1569460A1 (en) 2005-08-31
US20160088311A1 (en) 2016-03-24
CN101141651B (zh) 2010-11-10
MY138540A (en) 2009-06-30
MXPA04007021A (es) 2004-10-11
CN101827265A (zh) 2010-09-08
EP1569460A4 (en) 2007-06-20
CN100591138C (zh) 2010-02-17
CA2473897A1 (en) 2004-06-10
WO2004049726A1 (ja) 2004-06-10
US8660185B2 (en) 2014-02-25
CN101141650A (zh) 2008-03-12
KR20050084750A (ko) 2005-08-29
EP3349461B1 (en) 2020-02-19

Similar Documents

Publication Publication Date Title
BRPI0307197B1 (pt) Método de compensação de movimento, método de codificação de imagem e método de decodificação de imagem
JP4722153B2 (ja) 画像復号化方法および画像復号化装置
BRPI0303901B1 (pt) “Método de determinação de poder de filtragem para determinar um poder de filtragem para remover uma distorção de codificação entre blocos que constituem uma imagem, método de decodificação de imagem móvel para decodificar os dados de imagem móvel codificados, aparelho de determinação de poder de filtragem, e aparelho de codificação de imagem móvel”
BRPI0205988B1 (pt) aparelho de codificação de imagem que codifica imagens que são introduzidas em sequência e aparelho de decodificação de imagem que decodifica imagens que são introduzidas em sequência
BRPI0306684B1 (pt) “Método e aparelho de codificação de um sinal de imagem e método e aparelho de decodificação de um sinal de imagem”
BRPI0302580B1 (pt) Método de codificação de vetor de movimento, método de decodificação de vetor de movimento, aparelho de codificação de vetor de movimento, aparelho de decodificação de vetor de movimento
BRPI0304549B1 (pt) Method of coding vector movement and decoding method of vector motion
BRPI0303342B1 (pt) Método de decodificação de imagem
BRPI0303566B1 (pt) “Método de codificação de imagem, método de decodificação de imagem e fluxo de bits”
BRPI0305554B1 (pt) “Dispositivo de gerenciamento de memória em um aparelho para a codificação ou a decodificação de imagens em movimento e método de gerenciamento de memória empregado por um aparelho para a codificação ou a decodificação de imagens em movimento”
BRPI0216048B1 (pt) método e aparelho de codificação de figuras móveis
JP2005277968A (ja) 画像符号化方法および画像復号化方法
JP2004088737A (ja) 画像符号化方法および画像復号化方法
JP2004215215A (ja) 動きベクトル検出方法
JP2005341545A (ja) 動画像符号化方法、動画像復号方法、動画像符号化装置、動画像復号装置、動画像符号化プログラムおよび動画像復号プログラム
JP4406239B2 (ja) 動き補償方法および動き補償装置
JP2004040512A (ja) 画像符号化方法および画像復号方法
JP4503959B2 (ja) 画像符号化方法
JP2004147305A (ja) 画像符号化装置、画像復号化装置およびこれらの方法
BRPI0306560B1 (pt) Aparelho de codificação de imagem, aparelho de decodificação de imagem e métodos