BR112013002450B1 - Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem, e aparelho de codificação e decodificação de imagem. - Google Patents

Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem, e aparelho de codificação e decodificação de imagem. Download PDF

Info

Publication number
BR112013002450B1
BR112013002450B1 BR112013002450-0A BR112013002450A BR112013002450B1 BR 112013002450 B1 BR112013002450 B1 BR 112013002450B1 BR 112013002450 A BR112013002450 A BR 112013002450A BR 112013002450 B1 BR112013002450 B1 BR 112013002450B1
Authority
BR
Brazil
Prior art keywords
motion vector
data
decoding
component
flag
Prior art date
Application number
BR112013002450-0A
Other languages
English (en)
Other versions
BR112013002450A2 (pt
Inventor
Hisao Sasai
Takahiro Nishi
Youji Shibahara
Toshiyasu Sugio
Kyoko Tanikawa
Toru Matsunobu
Original Assignee
Velos Media International Limited
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
Application filed by Velos Media International Limited filed Critical Velos Media International Limited
Publication of BR112013002450A2 publication Critical patent/BR112013002450A2/pt
Publication of BR112013002450B1 publication Critical patent/BR112013002450B1/pt

Links

Images

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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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/1887Methods 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 a variable length codeword
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Auxiliary Devices For And Details Of Packaging Control (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

MÉTODO DE CODIFICAÇÃO DE IMAGEM, MÉTODO DE DECODIFICAÇÃO DE IMAGEM, APARELHO DE CODIFICAÇÃO DE IMAGEM, APARELHO DE DECODIFICAÇÃO DE IMAGEM, E APARELHO DE CODIFICAÇÃO E DECODIFICAÇÃO DE IMAGEM. Um método de codificação de imagem inclui (S801) codificar uma diferença de vetor de movimento indicando uma diferença entre o vetor de movimento e um vetor de movimento predito, em que a codificação (S801) inclui: codificar uma primeira parte que é uma parte que é uma parte de uma primeira componente que é uma de uma componente horizontal e uma componente vertical da diferença de vetor de movimento; codificar uma segunda parte que é uma parte de uma segunda componente que é diferente da primeira componente e é a outra componente de a componente horizontal e a componente vertical; codificar uma terceira parte que é uma parte da primeira componente e é diferente da primeira parte; codificar uma quarta parte que é uma parte da segunda componente e é diferente da segunda parte; e gerar uma série de códigos que inclui a primeira parte, a segunda parte, a terceira parte e a quarta parte na ordem relatada.

Description

Campo Técnico
[001] A presente invenção refere-se a métodos de codificação de imagem para codificar imagens usando vetores de movimento.
Técnica Anterior
[002] Exemplos de técnicas com relação a um método de codifi cação de imagem para codificar imagens usando vetores de movimento incluem técnicas descritas nas Literaturas Não de Patente (NPLs) 1 e 2.
Lista de Referências Literatura Não de Patente
[003] NPL 1: Recomendação ITU-T H.264 "Advanced video cod ing for generic audiovisual services", março de 2010;
[004] NPL 2; JCT-VC "WD3: Working Draft 3 of High-Efficiency Video Coding", JCTVC-E603, março de 2011.
Sumário da Invenção Problema Técnico
[005] Codificação ineficiente de uma imagem causa atraso em processamento e também afeta decodificação da imagem.
[006] Por causa disto, um objetivo da presente invenção é forne cer um método de codificação de imagem para codificar de forma eficiente informação constituindo uma imagem.
Solução Para o Problema
[007] A fim de alcançar o objetivo mencionado anteriormente, um método de codificação de imagem de acordo com um aspecto da presente invenção é um método de codificação de imagem para codificar uma imagem usando um vetor de movimento, o método incluindo codificar uma diferença de vetor de movimento indicando uma diferença entre o vetor de movimento e um vetor de movimento predito que é um valor predito do vetor de movimento, em que a codificação inclui: codificar uma primeira parte que é uma parte de uma primeira componente que é uma de uma componente horizontal e uma componente vertical da diferença de vetor de movimento; codificar uma segunda parte que é uma parte de uma segunda componente que é diferente da primeira componente e é a outra componente de a componente horizontal e a componente vertical; codificar uma terceira parte que é uma parte da primeira componente e é diferente da primeira parte; codificar uma quarta parte que é uma parte da segunda componente e é diferente da segunda parte; e gerar uma série de códigos que inclui a primeira parte, a segunda parte, a terceira parte e a quarta parte em uma ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte.
[008] Estes aspectos gerais e específicos podem ser implemen tados usando um aparelho, um sistema, um circuito integrado, um programa de computador, ou uma mídia de gravação legível por computador não transitória tal como um CD-ROM, ou qualquer combinação de aparelhos, sistemas, circuitos integrados, programas de computador ou mídias de gravação.
Efeitos Vantajosos da Invenção
[009] Informação constituindo uma imagem é codificada de forma eficiente de acordo com a presente invenção.
Descrição Resumida dos Desenhos
[0010] A figura 1 é um diagrama de blocos mostrando um exemplo de uma configuração de um método de decodificação de diferença de vetor de movimento convencional.
[0011] A figura 2 é um fluxograma mostrando um fluxo de opera ção do método de decodificação de diferença de vetor de movimento convencional.
[0012] A figura 3 é um fluxograma mostrando processamento de decodificação aritmética binária adaptativa de contexto do método de decodificação aritmética convencional.
[0013] A figura 4 é um fluxograma mostrando processamento de decodificação aritmética de desvio do método de decodificação aritmética convencional.
[0014] A figura 5 é um fluxograma mostrando processamento de normalização do método de decodificação aritmética convencional.
[0015] A figura 6 é um diagrama esquemático mostrando exem plos de séries binárias de diferenças de vetores de movimento.
[0016] A figura 7 é um diagrama de blocos mostrando uma configu ração funcional de um aparelho de decodificação de acordo com a modalidade 1.
[0017] A figura 8 é um fluxograma mostrando operação de proces samento do aparelho de decodificação de acordo com a modalidade 1.
[0018] A figura 9 é um diagrama para descrever exemplos de pro cessamentos executados na Modalidade 1.
[0019] A figura 10 é um diagrama de blocos mostrando um exem plo de uma configuração de um dispositivo de decodificação de imagem de acordo com a modalidade 1.
[0020] A figura 11A é uma tabela mostrando exemplos de séries de códigos binários de acordo com uma modificação de Modalidade 1.
[0021] A figura 11B é um fluxograma mostrando operação de pro cessamento de um aparelho de decodificação de acordo com a modificação da Modalidade 1.
[0022] A figura 12 é um fluxograma mostrando operação de pro cessamento de um aparelho de codificação de acordo com a Modalidade 2.
[0023] A figura 13 é uma tabela de sintaxe mostrando um exemplo de uma estrutura de dados.
[0024] A figura 14 é um diagrama de blocos mostrando um exem plo de uma configuração de um aparelho de codificação de imagem de acordo com a Modalidade 2.
[0025] A figura 15A é um diagrama de blocos mostrando um exemplo de uma configuração de um aparelho de codificação de imagem de acordo com a Modalidade 3.
[0026] A figura 15B é um fluxograma mostrando operação de pro cessamento do aparelho de codificação de imagem de acordo com a Modalidade 3.
[0027] A figura 16A é um diagrama de blocos mostrando um exemplo de uma configuração de um aparelho de decodificação de imagem de acordo com a Modalidade 3.
[0028] A figura 16B é um fluxograma mostrando operação de pro cessamento do aparelho de decodificação de imagem de acordo com a Modalidade 3.
[0029] A figura 17 é uma tabela de sintaxe mostrando um exemplo de uma estrutura de dados de uma série de códigos correspondendo a uma diferença de vetor de movimento.
[0030] A figura 18 mostra uma configuração total de um sistema de fornecimento de conteúdo para implementar serviços de distribuição de conteúdo.
[0031] A figura 19 mostra uma configuração total de um sistema de difusão digital.
[0032] A figura 20 mostra um diagrama de blocos ilustrando um exemplo de uma configuração de uma televisão.
[0033] A figura 21 mostra um diagrama de blocos ilustrando um exemplo de uma configuração de uma unidade de reprodu- ção/gravação de informação que lê e grava informação em uma mídia de gravação que é um disco ótico.
[0034] A figura 22 mostra um exemplo de uma configuração de uma mídia de gravação que é um disco ótico.
[0035] A figura 23A mostra um exemplo de um telefone celular.
[0036] A figura 23B é um diagrama de blocos mostrando um exemplo de uma configuração de um telefone celular.
[0037] A figura 24 ilustra uma estrutura de dados multiplexados.
[0038] A figura 25 mostra esquematicamente como cada fluxo é multiplexado em dados multiplexados.
[0039] A figura 26 mostra como um fluxo de vídeo é armazenado em um fluxo de pacotes PES com mais detalhes.
[0040] A figura 27 mostra uma estrutura de pacotes TS e pacotes fontes nos dados multiplexados.
[0041] A figura 28 mostra uma estrutura de dados de um PMT.
[0042] A figura 29 mostra uma estrutura interna de informação de dados multiplexados.
[0043] A figura 30 mostra uma estrutura interna de informação de atributo de fluxo.
[0044] A figura 31 mostra etapas para identificar dados de vídeo.
[0045] A figura 32 mostra um exemplo de uma configuração de um circuito integrado para implementar o método de codificação de imagem em movimento e o método de decodificação de imagem em movimento de acordo com cada uma das modalidades.
[0046] A figura 33 mostra uma configuração para comutar entre frequências de acionamento.
[0047] A figura 34 mostra etapas para identificar dados de vídeo e comutação entre frequências de acionamento.
[0048] A figura 35 mostra um exemplo de uma tabela de consulta em que padrões de dados de vídeo são associados com frequências de acionamento.
[0049] A figura 36A é um diagrama mostrando um exemplo de uma configuração para compartilhar um módulo de uma unidade de processamento de sinal.
[0050] A figura 36B é um diagrama mostrando um outro exemplo de uma configuração para compartilhar um módulo da unidade de pro-cessamento de sinal.
Descrição de Modalidades (Conhecimento Subjacente Formando Base da Presente Invenção)
[0051] O número de aplicações, por exemplo, para serviços do tipo vídeo sob demanda que incluem videoconferência por meio da Internet, difusão de vídeo digital e fluxo contínuo de conteúdo de vídeo está aumentando continuamente, e estas aplicações são dependentes de transmissão de informação de vídeo. Quando dados de vídeo são transmitidos ou gravados, uma quantidade considerável de dados é transmitida através de um canal de transmissão convencional tendo uma largura de banda limitada, ou são armazenados em uma mídia de armazenamento convencional tendo uma capacidade de dados limitada. É necessário compactar ou reduzir a quantidade de dados digitais, a fim de transmitir informação de vídeo por meio de um canal de transmissão convencional e armazenar informação de vídeo em uma mídia de armazenamento convencional.
[0052] Em virtude disto, uma pluralidade de padrões de codifica ção de vídeo tem sido desenvolvida para compactar dados de vídeo. Exemplos de tais padrões de codificação de vídeo incluem o padrão ITU-T tipificado por H.26x, e o padrão ISO/IEC tipificado por MPEG-x. O mais recente e mais avançado padrão de codificação de vídeo atualmente é um padrão tipificado por H.264/MPEG-4 AVC (ver a Literatura Não de Patente (NPL) 1).
[0053] Uma abordagem de codificação que é a base de muitos destes padrões é baseada em codificação de predição que inclui etapas principais mostradas por (a) a (d) a seguir. Etapa (a): Dividir qua- dros de vídeo em blocos de pixels, para executar compactação de dados em cada quadro de vídeo em um nível de bloco. Etapa (b): Identificar redundância temporal e espacial ao predizer blocos individuais a partir de dados de vídeo codificados anteriormente. Etapa (c): Eliminar a redundância identificada ao subtrair dados preditos dos dados de vídeo. Etapa (d): Compactar os dados remanescentes (bloco residual) ao executar transformada de Fourier, quantificação e codificação de entropia.
[0054] Na etapa (a) exposta anteriormente, modos de predição usados para predizer macroblocos são diferentes para padrões de codificação de vídeo correntes. Muitos dos padrões de codificação de vídeo usam detecção de movimento e compensação de movimento a fim de predizer dados de vídeo a partir de um quadro codificado e decodificado anteriormente (predição interquadros). Alternativamente, dados de bloco podem ser extrapolados de um bloco adjacente no mesmo quadro (predição intraquadro).
[0055] Por exemplo, quando uma imagem alvo de codificação é para ser codificada usando predição interquadros, um aparelho de codificação de imagem usa, como uma imagem de referência, uma imagem codificada que aparece antes ou após a imagem alvo de codificação na ordem de exibição. Então, o aparelho de codificação de imagem executa detecção de movimento na imagem alvo de codificação em relação à imagem de referência, derivando assim um vetor de movimento de cada bloco. O aparelho de codificação de imagem executa compensação de movimento usando os vetores de movimento derivados deste modo, para gerar dados de imagem preditos. Então, o aparelho de codificação de imagem codifica uma diferença entre os dados de imagem preditos gerados e dados de imagem da imagem alvo de codificação, reduzindo assim redundância na direção de tempo.
[0056] Adicionalmente, é considerado usar um modo de designa- ção de vetor de movimento predito quando um vetor de movimento de um bloco alvo de codificação em uma imagem B ou uma imagem P é codificado (NPL 2). Um aparelho de codificação de imagem usando o modo de designação de vetor de movimento predito gera uma pluralidade de candidatos para um vetor de movimento predito, com base em blocos para os quais codificação tenha sido executada e que sejam adjacentes a um bloco alvo de codificação. Então, o aparelho de codificação de imagem seleciona um vetor de movimento predito dentre a pluralidade de candidatos gerados.
[0057] O aparelho de codificação de imagem codifica um vetor de movimento do bloco alvo de codificação usando o vetor de movimento predito selecionado. Especificamente, codificação de comprimento variável é executada em uma diferença de vetor de movimento entre o vetor de movimento do bloco alvo de codificação e o vetor de movimento predito selecionado.
[0058] Adicionalmente, o aparelho de codificação de imagem adi ciona um índice (também referido como um índice de vetor de movimento predito) do vetor de movimento predito selecionado para um fluxo de bits codificado. Desta maneira, no momento da decodificação, o aparelho de decodificação de imagem pode selecionar um vetor de movimento predito que é igual ao vetor de movimento predito selecionado quando codificação é executada.
[0059] Além do mais, uma descrição mais específica de um méto do para executar decodificação de comprimento variável em uma diferença de vetor de movimento é dada usando as figuras 1 e 2. A figura 1 é um diagrama de blocos mostrando um exemplo de uma configuração de um método convencional para executar decodificação de comprimento variável em uma diferença de vetor de movimento. A figura 2 é um fluxograma mostrando um exemplo do fluxo de operação do método convencional para executar decodificação de comprimento variá- vel em uma diferença de vetor de movimento.
[0060] Valores de diferenças de vetores de movimento são binari- zados e constituem séries binárias. Cada uma das séries binárias pode ser separada em uma sinalização indicando um sinal (mais ou menos), uma parte de prefixo correspondendo a uma parte do valor absoluto de uma diferença de vetor de movimento igual ou menor que um valor limiar (TH), e uma parte de sufixo correspondendo a uma parte da mesma maior que o valor TH (ver a figura 6).
[0061] Um sinal é + ou -. Por exemplo, se um sinal for +, uma si nalização que indica o sinal é 0. Se um sinal for -, uma sinalização que indica o sinal é 1. Adicionalmente, o valor TH é 8, por exemplo. Neste caso, uma parte de prefixo corresponde a uma parte constituindo oito ou menos em uma série binarizada do valor absoluto de uma diferença de vetor de movimento. Uma parte de sufixo corresponde a uma parte que constitui nove ou mais em uma série binarizada do valor absoluto de uma diferença de vetor de movimento.
[0062] Métodos de codificação e decodificação aritmética são dife rentes para a sinalização indicando um sinal, a parte de prefixo e a parte de sufixo. Métodos de codificação e decodificação aritmética serão descritos a seguir.
[0063] Uma unidade de decodificação de comprimento variável de diferença de vetor de movimento A00 obtém um fluxo de bits BS que inclui informação de diferença de vetor de movimento, e introduz o fluxo de bits BS obtido em uma unidade de controle de reconstrução de diferença de vetor de movimento A01 e em uma unidade de determinação de diferença de vetor de movimento 0 A02. Deve ser notado que aqui a unidade de controle de reconstrução de diferença de vetor de movimento A01 obtém em uma componente X (componente horizontal) e uma componente Y (componente vertical) da informação de diferença de vetor de movimento obtida na ordem relatada, e gerencia se uma componente da informação de diferença de vetor de movimento na qual processamento de decodificação está sendo executado é uma componente X ou uma componente Y.
[0064] A unidade de determinação de diferença de vetor de movi mento 0 A02 decodifica, a partir do fluxo de bits obtido, uma sinalização indicando se a componente X da diferença de vetor de movimento é 0 (etapa SB00). Se a componente X da diferença de vetor de movimento não for 0 (NÃO na etapa SB01), uma unidade de decodificação de parte de prefixo de diferença de vetor de movimento A03 decodifica a parte de prefixo da componente X da diferença de vetor de movimento (etapa SB02). A seguir, se a componente X da diferença de vetor de movimento incluir a parte de sufixo (SIM na etapa SB03), uma unidade de decodificação de parte de sufixo de diferença de vetor de movimento A04 decodifica a parte de sufixo da componente X da diferença de vetor de movimento (SB04). Se a componente X não incluir a parte de sufixo (NÃO em SB03), processamento de decodificação de sufixo é ignorado. A seguir, uma unidade de decodificação de sinal de diferença de vetor de movimento A05 decodifica o sinal da componente X da diferença de vetor de movimento, e uma unidade de reconstrução de diferença de vetor de movimento A06 reconstrói e estabelece a componente X da diferença de vetor de movimento (SB05).
[0065] Por outro lado, se a componente X da diferença de vetor de movimento for 0 (SIM na etapa SB01), a unidade de reconstrução de diferença de vetor de movimento A06 estabelece a componente X da diferença de vetor de movimento para 0 (etapa SB06). Aqui, a unidade de controle de reconstrução de diferença de vetor de movimento A01 comuta um comutador A07 para um lado indicando uma componente X (um terminal em um lado superior na figura 1), e produz a componente X da diferença de vetor de movimento.
[0066] A seguir, uma componente Y da diferença de vetor de mo- vimento é decodificada tal como no caso da componente X. Deve ser notado que, no procedimento exposto a seguir da operação, a etapa SB07 corresponde à etapa SB00, a etapa SB08 corresponde à etapa SB01, a etapa SB09 corresponde à etapa SB02, a etapa SB10 corresponde à etapa SB03, a etapa SB11 corresponde à etapa SB04, a etapa SB12 corresponde à etapa SB05 e etapa SB13 corresponde à etapa SB06. Desta maneira, a operação nestas etapas é a mesma exceto que os componentes são diferentes, e assim uma descrição detalhada é omitida.
[0067] No final de todas as etapas, a componente X e a compo nente Y da diferença de vetor de movimento são reconstruídas.
[0068] O seguinte é uma descrição de codificação de comprimento variável em uma diferença entre dados de imagem preditos e dados de imagem de uma imagem alvo de codificação e em uma diferença de vetor de movimento entre um vetor de movimento predito e um vetor de movimento, e em outras mais. Em H.264, um dos métodos de codificação de comprimento variável é a codificação aritmética binária adaptativa de contexto (CABAC). O seguinte é uma descrição desta codificação CABAC usando as figuras 3, 4 e 5.
[0069] A figura 3 mostra o fluxo de processamento de decodifica- ção aritmética binária adaptativa de contexto convencional mencionada anteriormente. Deve ser notado que este desenho foi extraído da NPL 1, e está tal como descrito na NPL 1, a não ser que uma descrição seja dada particularmente.
[0070] Em processamento de decodificação aritmética, primeiro, um contexto (ctxIdx) determinado com base em um tipo de sinal é introduzido.
[0071] A seguir, um valor qCodIRangeIdx derivado de um parâme tro codIRange que indica o estado em um aparelho de decodificação aritmética neste ponto no tempo é calculado, e um valor pStateIdx que é um valor de estado correspondendo ao ctxIdx é obtido. Usando os dois valores, codIRangeLPS é obtido ao se referir a uma tabela (ran- geTableLPS). Deve ser notado que este codIRangeLPS indica um valor correspondendo ao primeiro parâmetro codIRange indicando o estado no aparelho de decodificação aritmética quando LPS (indicando um símbolo 0 ou 1 cuja probabilidade de ocorrência é a menor) tiver ocorrido.
[0072] Adicionalmente, um valor obtido ao decrementar o codI Range corrente pelo codIRangeLPS indicado acima é colocado em codIRange (etapa SC01). A seguir, o codIRange calculado é comparado com um segundo parâmetro codIOffset indicando o estado no aparelho de decodificação aritmética (etapa SC02).
[0073] Se codIOffset for igual ou maior que o segundo parâmetro (SIM em SC02), é determinado que o símbolo de LPS ocorreu. Então, binVal que é um valor de saída decodificado é estabelecido para um valor diferente de valMPS (um valor específico (0 ou 1) de MPS que indica um símbolo 0 ou 1 cuja probabilidade de ocorrência é a maior), o valor diferente sendo 0 no caso de valMPS = 1 e 1 no caso de valMPS = 0. Adicionalmente, o segundo parâmetro codIOffset indicando o estado no aparelho de decodificação aritmética é estabelecido para um valor obtido como resultado de decrementar por codIRange. Uma vez que LPS tenha ocorrido, o primeiro parâmetro codIRange indicando o estado no aparelho de decodificação aritmética é estabelecido para o valor de codIRangeLPS calculado na etapa SC01 (etapa SC03).
[0074] Deve ser notado que aqui, se o valor pStateIdx indicado acima que é um valor de estado correspondendo ao ctxIdx for 0 (SIM na etapa SC05), o caso onde a probabilidade de LPS excede a probabilidade de MPS é indicado. Assim, valMPS é comutado (para 0 no caso de valMPS = 1 e para 1 no caso de valMPS = 0) (etapa SC06). Por outro lado, se o valor pStateIdx não for 0 (NÃO na etapa SC05), o valor pStateIdx é atualizado com base em uma tabela de transição transIdxLPS usado quando LPS ocorre (etapa SC07).
[0075] Se codIOffset for menor (NÃO em SC02), é determinado que o símbolo de MPS ocorreu. Então, binVal que é um valor de saída decodificado é estabelecido para valMPS, e o valor pStateIdx é atualizado com base em uma tabela de transição transIdxMPS usada quando MPS ocorre (etapa SC04).
[0076] Por último, processamento de normalização (RenormD) é executado (etapa SC08), e a decodificação aritmética termina.
[0077] Tal como descrito anteriormente, em processamento de decodificação aritmética binária adaptativa de contexto, uma pluralidade de probabilidades de ocorrência de símbolos, que são as probabilidades de ocorrência de símbolos binários, é mantida em associação com índices de contexto, e comutada de acordo com condições (ao se referir a um valor de um bloco adjacente, por exemplo). Assim, é necessário manter a ordem de processamento.
[0078] A figura 4 mostra o fluxo do processamento de decodifica- ção aritmética convencional exposto acima para processamento de desvio. Deve ser notado que este desenho foi extraído da NPL 1, e está tal como descrito na NPL 1, a não ser que uma descrição seja dada particularmente.
[0079] Primeiro, o segundo parâmetro codIOffset indicando o es tado no dispositivo de decodificação aritmética neste ponto no tempo é deslocado para a esquerda (duplicado), e um bit é lido de um fluxo de bits. Se o bit lido indicar 1, 1 é acrescentado ao segundo parâmetro codIOffset duplicado, enquanto que se o valor indicar 0, o segundo parâmetro codIOffset é estabelecido para o valor tal como está (que tenha sido duplicado) (SD01).
[0080] A seguir, se codIOffset for igual ou maior que o primeiro parâmetro codIRange indicando o estado no dispositivo de decodifica- ção aritmética (SIM em SD02), binVal que é um valor de saída decodificado é estabelecido para "1". Então, codIOffset é estabelecido para um valor obtido como resultado de decrementar por codIRange (etapa SD03). Por outro lado, se codIOffset for menor que o primeiro parâmetro codIRange que indica o estado no dispositivo de decodificação aritmética (NÃO em SD02), binVal que é um valor de saída decodificado é estabelecido para "0" (etapa SD04).
[0081] A figura 5 é um fluxograma para descrever detalhadamente o processamento de normalização (RenormD) mostrado pela etapa SC08 na figura 3. Este desenho foi extraído da NPL 1, e está tal como descrito na NPL 1, a não ser que uma descrição seja dada particularmente.
[0082] Se o primeiro parâmetro codIRange indicando o estado no aparelho de decodificação aritmética se tornar menor que 0x100 (em hexadecimal: 256 (em decimal)) como resultado do processamento de decodificação aritmética (SIM na etapa SE01), codIRange é deslocado para a esquerda (duplicado), e o segundo parâmetro codIOffset indicando o estado no dispositivo de decodificação aritmética é deslocado para a esquerda (duplicado). Então, um bit é lido em um fluxo de bits. Se o bit lido indicar 1, 1 é acrescentado ao segundo parâmetro codIOffset duplicado, enquanto que se o valor indicar 0, o segundo parâmetro codIOffset é estabelecido para o valor tal como está (que tenha sido duplicado) (SE02).
[0083] No ponto no tempo em que codIRange eventualmente te nha se tornado 256 ou maior (NÃO na etapa SE01), este processamento termina.
[0084] Decodificação aritmética é executada em uma diferença de vetor de movimento ao executar o processamento indicado anteriormente mostrado nas figuras 3, 4 e 5.
[0085] Entretanto, convencionalmente, quando codificação aritmé tica é executada em uma diferença de vetor de movimento entre um vetor de movimento predito e um vetor de movimento, uma componente X e uma componente Y da diferença de vetor de movimento são codificadas em ordem. Especificamente, uma componente X da diferença de vetor de movimento e uma componente Y da diferença de vetor de movimento são armazenadas separadamente em um fluxo codificado. Assim, codificação aritmética binária adaptativa de contexto e codificação de desvio são executadas alternadamente em cada uma de uma componente X e uma componente Y no momento de codificação, e decodificação aritmética binária adaptativa de contexto e deco- dificação de desvio são executadas alternadamente em cada uma de uma componente X e uma componente Y no momento da decodifica- ção, resultando em um problema que processamento paralelo adequado não é permitido, o qual é uma vantagem de codificação e deco- dificação de desvio.
[0086] Em virtude disto, um método de codificação de imagem de acordo com um aspecto da presente invenção é um método de codificação de imagem para codificar uma imagem usando um vetor de movimento, o método incluindo codificar uma diferença de vetor de movimento indicando uma diferença entre o vetor de movimento e um vetor de movimento predito que é um valor predito do vetor de movimento, em que a codificação inclui: codificar uma primeira parte que é uma parte de uma primeira componente que é uma de uma componente horizontal e uma componente vertical da diferença de vetor de movimento; codificar uma segunda parte que é uma parte de uma segunda componente que é diferente da primeira componente e é a outra com-ponente de a componente horizontal e a componente vertical; codificar uma terceira parte que é uma parte da primeira componente e é diferente da primeira parte; codificar uma quarta parte que é uma parte da segunda componente e é diferente da segunda parte; e gerar uma série de códigos que inclui a primeira parte, a segunda parte, a terceira parte e a quarta parte em uma ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte.
[0087] Desta maneira, uma parte da componente horizontal da di ferença de vetor de movimento e uma parte da componente vertical da diferença de vetor de movimento estão combinadas na série de códigos. Por exemplo, se uma parte na qual decodificação de desvio é para ser usada e que está incluída na componente horizontal e uma parte na qual decodificação de desvio é para ser usada e que está incluída na componente vertical forem combinadas em uma série de códigos, o grau de paralelismo de processamento de decodificação pode ser aumentado. Em outras palavras, a diferença de vetor de movimento é codificada de forma eficiente ao combinar uma parte da componente horizontal e uma parte da componente vertical.
[0088] Por exemplo, codificar a diferença de vetor de movimento pode incluir: codificar a terceira parte que inclui um sinal de mais ou de menos da primeira componente, e codificar a quarta parte que inclui um sinal de mais ou de menos da segunda componente; e gerar a série de códigos que inclui a primeira parte, a segunda parte, a terceira parte e a quarta parte na ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte.
[0089] Desta maneira, o sinal da componente horizontal e o sinal da componente vertical são combinados na série de códigos. Tipicamente, decodificação de desvio é usada para decodificar os sinais. Portanto, o grau de paralelismo de processamento de decodificação pode ser aumentado.
[0090] Adicionalmente, por exemplo, codificar a diferença de vetor de movimento pode incluir: codificar a primeira parte que inclui uma sinalização indicando se a primeira componente é 0, e codificar a se- gunda parte que inclui uma sinalização indicando se a segunda componente é 0; e gerar a série de códigos que inclui a primeira parte, a segunda parte, a terceira parte e a quarta parte na ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte.
[0091] Desta maneira, a sinalização indicando se a componente horizontal é 0 e a sinalização indicando se a componente vertical é 0 são combinadas na série de códigos. Tipicamente, decodificação aritmética binária adaptativa de contexto é usada para decodificar as sinalizações. Uma pluralidade de partes diferentes nas quais decodificação de desvio é para ser usada é combinada na série de códigos ao combinar as sinalizações na série de códigos. Portanto, o grau de paralelismo de processamento de decodificação pode ser aumentado.
[0092] Adicionalmente, por exemplo, codificar a diferença de vetor de movimento pode incluir: codificar a terceira parte que inclui uma diferença entre um valor limiar e um valor absoluto da primeira componente quando o valor absoluto da primeira componente é maior que o valor limiar; codificar a quarta parte que inclui uma diferença entre o valor limiar e um valor absoluto da segunda componente quando o valor absoluto da segunda componente é maior que o valor limiar; e gerar a série de códigos que inclui a primeira parte, a segunda parte, a terceira parte e a quarta parte na ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte.
[0093] Desta maneira, a diferença entre o valor limiar e o valor ab soluto da componente horizontal e a diferença entre o valor limiar e o valor absoluto da componente vertical são combinadas na série de códigos. Tipicamente, decodificação de desvio é usada para decodificar estas diferenças. Portanto, o grau de paralelismo de processamento de decodificação pode ser aumentado.
[0094] Adicionalmente, por exemplo, codificar a diferença de vetor de movimento pode incluir: codificar a primeira parte e a segunda parte ao executar codificação aritmética binária adaptativa de contexto que é codificação aritmética em que uma probabilidade variável atualizada com base em dados codificados é usada; e gerar a série de códigos que inclui a primeira parte, a segunda parte, a terceira parte e a quarta parte na ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte.
[0095] Desta maneira, uma pluralidade de partes nas quais deco- dificação aritmética binária adaptativa de contexto é para ser usada é combinada na série de códigos. Neste caso, uma pluralidade de partes diferentes nas quais decodificação de desvio é para ser usada é combinada na série de códigos. Portanto, o grau de paralelismo de processamento de decodificação pode ser aumentado.
[0096] Adicionalmente, por exemplo, codificar a diferença de vetor de movimento pode incluir: codificar a terceira parte e a quarta parte ao executar codificação de desvio que é codificação aritmética em que uma probabilidade fixada predeterminada é usada; e gerar a série de códigos que inclui a primeira parte, a segunda parte, a terceira parte e a quarta parte na ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte.
[0097] Desta maneira, uma pluralidade de partes nas quais deco- dificação de desvio é para ser usada é combinada na série de códigos. Portanto, o grau de paralelismo de processamento de decodificação pode ser aumentado.
[0098] Adicionalmente, por exemplo, na codificação da diferença de vetor de movimento, a terceira parte e a quarta parte podem ser codificadas em paralelo.
[0099] Desta maneira, uma parte da componente horizontal e uma parte da componente vertical são codificadas em paralelo. Portanto, a diferença de vetor de movimento é codificada de forma eficiente.
[00100] Adicionalmente, por exemplo, codificar a diferença de vetor de movimento pode incluir: comutar processamento de codificação para primeiro processamento de codificação estando de acordo com um primeiro padrão ou para segundo processamento de codificação estando de acordo com um segundo padrão, e gerar um fluxo de bits que inclui informação de identificação indicando o primeiro padrão ou o segundo padrão com o qual está de acordo um processamento correspondente de o primeiro processamento de codificação e o segundo processamento de codificação para o qual o processamento de codificação tenha sido comutado; e gerar, quando o processamento de codificação é comutado para o primeiro processamento de codificação, a série de códigos que inclui a primeira parte, a segunda parte, a terceira parte e a quarta parte na ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte, e gerar o fluxo de bits que inclui a série de códigos e a informação de identificação que indica o primeiro padrão.
[00101] Desta maneira, um aparelho que é para executar decodifi- cação é notificado de se uma parte da componente horizontal da diferença de vetor de movimento e uma parte da componente vertical da diferença de vetor de movimento estão combinadas na série de códigos. Portanto, processamento de decodificação pode ser comutado de forma apropriada.
[00102] Adicionalmente, um método de decodificação de imagem de acordo com um aspecto da presente invenção pode ser um método de decodificação de imagem para decodificar uma imagem usando um vetor de movimento, o método incluindo decodificar uma diferença de vetor de movimento indicando uma diferença entre o vetor de movimento e um vetor de movimento predito que é um valor predito do vetor de movimento, em que a decodificação pode incluir: obter uma série de códigos que inclui (i) uma primeira parte que é uma parte de uma primeira componente que é uma de uma componente horizontal e uma componente vertical da diferença de vetor de movimento, (ii) uma segunda parte que é uma parte de uma segunda componente que é diferente da primeira componente e é a outra componente de a componente horizontal e a componente vertical, (iii) uma terceira parte que é uma parte da primeira componente e é uma diferente da primeira parte, e (iv) uma quarta parte que é uma parte da segunda componente e é diferente da segunda parte, em uma ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte; e decodificar a primeira parte incluída na série de códigos, decodificar a segunda parte incluída na série de códigos, decodificar a terceira parte incluída na série de códigos e decodificar a quarta parte incluída na série de códigos.
[00103] Desta maneira, a série de códigos é obtida em que uma parte da componente horizontal da diferença de vetor de movimento e uma parte da componente vertical da diferença de vetor de movimento são combinadas. Por exemplo, se uma parte na qual decodificação de desvio é para ser usada e que está incluída na componente horizontal e uma parte na qual decodificação de desvio é para ser usada e que está incluída nas componentes verticais forem combinadas na série de códigos, o grau de paralelismo de processamento de decodificação pode ser aumentado. Em outras palavras, a diferença de vetor de movimento é decodificada de forma eficiente ao usar a série de códigos em que uma parte da componente horizontal e uma parte da componente vertical são combinadas.
[00104] Por exemplo, decodificar a diferença de vetor de movimento pode incluir: obter a série de códigos que inclui (i) a primeira parte, (ii) a segunda parte, (iii) a terceira parte que inclui um sinal de mais ou de menos da primeira componente, e (iv) a quarta parte que inclui um sinal de mais ou de menos da segunda componente, na ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte; e de- codificar a primeira parte incluída na série de códigos, decodificar a segunda parte incluída na série de códigos, decodificar a terceira parte incluída na série de códigos e decodificar a quarta parte incluída na série de códigos.
[00105] Desta maneira, a série de códigos é obtida em que o sinal da componente horizontal e o sinal da componente vertical são combinados. Tipicamente, decodificação de desvio é usada para decodificar os sinais. Portanto, o grau de paralelismo de processamento de deco- dificação pode ser aumentado.
[00106] Adicionalmente, por exemplo, decodificar a diferença de vetor de movimento pode incluir: obter a série de códigos que inclui (i) a primeira parte que inclui uma sinalização indicando se a primeira componente é 0, (ii) a segunda parte que inclui uma sinalização indicando se a segunda componente é 0, (iii) a terceira parte, e (iv) a quarta parte, na ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte; e decodificar a primeira parte incluída na série de códigos, decodificar a segunda parte incluída na série de códigos, decodificar a terceira parte incluída na série de códigos e decodificar a quarta parte incluída na série de códigos.
[00107] Desta maneira, a série de códigos é obtida em que a sinalização indicando se a componente horizontal é 0 e a sinalização indicando se a componente vertical é 0 são combinadas. Tipicamente, de- codificação aritmética binária adaptativa de contexto é usada para decodificar estas sinalizações. Uma pluralidade de partes diferentes nas quais decodificação de desvio é para ser usada é combinada na série de códigos ao combinar estas sinalizações na série de códigos. Portanto, o grau de paralelismo de processamento de decodificação pode ser aumentado.
[00108] Adicionalmente, por exemplo, decodificar a diferença de vetor de movimento pode incluir: obter a série de códigos que inclui (i) a primeira parte, (ii) a segunda parte, e (iii) a terceira parte que inclui uma diferença entre um valor limiar e um valor absoluto da primeira componente quando o valor absoluto da primeira componente é maior que o valor limiar, e (iv) a quarta parte que inclui uma diferença entre o valor limiar e um valor absoluto da segunda componente quando o valor absoluto da segunda componente é maior que o valor limiar, na ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte; e decodificar a primeira parte incluída na série de códigos, decodificar a segunda parte incluída na série de códigos, decodificar a terceira parte incluída na série de códigos e decodificar a quarta parte incluída na série de códigos.
[00109] Desta maneira, a série de códigos é obtida em que a diferença entre o valor limiar e o valor absoluto da componente horizontal e a diferença entre o valor limiar e o valor absoluto da componente vertical são combinadas. Tipicamente, decodificação de desvio é usada para decodificar estas diferenças. Portanto, o grau de paralelismo de processamento de decodificação pode ser aumentado.
[00110] Adicionalmente, por exemplo, decodificar a diferença de vetor de movimento pode incluir: obter a série de códigos que inclui (i) a primeira parte para ser decodificada ao executar decodificação aritmética binária adaptativa de contexto que é decodificação aritmética em que uma probabilidade variável atualizada com base em dados decodificados é usada, (ii) a segunda parte para ser decodificada ao executar a decodificação aritmética binária adaptativa de contexto, (iii) a terceira parte, e (iv) a quarta parte, na ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte; e decodificar a primeira parte incluída na série de códigos ao executar a decodificação arit-mética binária adaptativa de contexto, decodificar a segunda parte incluída na série de códigos ao executar a decodificação aritmética binária adaptativa de contexto, decodificar a terceira parte incluída na série de códigos e decodificar a quarta parte incluída na série de códigos.
[00111] Desta maneira, a série de códigos é obtida em que uma pluralidade de partes nas quais decodificação aritmética binária adap- tativa de contexto é para ser usada é combinada. Neste caso, uma pluralidade de partes diferentes nas quais decodificação de desvio é para ser usada é combinada na série de códigos. Portanto, o grau de paralelismo de processamento de decodificação pode ser aumentado.
[00112] Adicionalmente, por exemplo, decodificar a diferença de vetor de movimento pode incluir: obter a série de códigos que inclui (i) a primeira parte, (ii) a segunda parte, (iii) a terceira parte para ser decodificada ao executar decodificação de desvio que é decodificação aritmética em que uma probabilidade fixada predeterminada é usada, e (iv) a quarta parte para ser decodificada ao executar a decodificação de desvio, na ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte; e decodificar a primeira parte incluída na série de códigos, decodificar a segunda parte incluída na série de códigos, decodificar a terceira parte incluída na série de códigos ao executar a decodificação de desvio, e decodificar a quarta parte incluída na série de códigos ao executar a decodificação de desvio.
[00113] Desta maneira, a série de códigos é obtida em que uma pluralidade de partes nas quais decodificação de desvio é para ser usada é combinada. Portanto, o grau de paralelismo de processamento de decodificação pode ser aumentado.
[00114] Adicionalmente, por exemplo, na decodificação da diferença de vetor de movimento, a terceira parte e a quarta parte podem ser decodificadas em paralelo.
[00115] Desta maneira, uma parte da componente horizontal e uma parte da componente vertical são decodificadas em paralelo. Portanto, a diferença de vetor de movimento é decodificada de forma eficiente.
[00116] Adicionalmente, por exemplo, decodificar a diferença de vetor de movimento pode incluir: obter um fluxo de bits que inclui informação de identificação indicando um primeiro padrão ou um segundo padrão e, com base na informação de identificação, comutar processamento de decodificação para primeiro processamento de decodi- ficação estando de acordo com o primeiro padrão ou para segundo processamento de decodificação estando de acordo com o segundo padrão; e quando o processamento de decodificação é comutado para o primeiro processamento de decodificação, obter a série de códigos do fluxo de bits, decodificar a primeira parte incluída na série de códigos, decodificar a segunda parte incluída na série de códigos, decodificar a terceira parte incluída na série de códigos e decodificar a quarta parte incluída na série de códigos.
[00117] Desta maneira, processamento de decodificação é comutado de forma apropriada de acordo com se uma parte da componente horizontal da diferença de vetor de movimento e uma parte da componente vertical da diferença de vetor de movimento estão combinadas na série de códigos.
[00118] Além disso, estas modalidades gerais e específicas podem ser implementadas usando um aparelho, um sistema, um circuito integrado, um programa de computador, ou uma mídia de gravação legível por computador não transitória tal como um CD-ROM, ou qualquer combinação de aparelhos, sistemas, circuitos integrados, programas de computador, ou mídias de gravação.
[00119] O seguinte é uma descrição detalhada de um método de codificação de imagem e de um método de decodificação de imagem de acordo com um aspecto da presente invenção usando desenhos. Cada uma das modalidades descritas a seguir mostra um exemplo específico da presente invenção. Os valores numéricos, formas, materiais, elementos componentes, o arranjo e conexão dos elementos componentes, etapas, a ordem de processamento das etapas e outros mais mostrados nas modalidades expostas a seguir são meros exemplos, e não são pretendidos para limitar a presente invenção. Portanto, entre os elementos componentes nas modalidades expostas a seguir, elementos componentes não relatados em qualquer uma das reivindicações independentes definindo o conceito mais amplo são descritos como elementos componentes arbitrários.
Modalidade 1
[00120] A figura 7 é um diagrama de blocos mostrando a configuração funcional de uma unidade de decodificação de diferença de vetor de movimento 100 de acordo com a Modalidade 1.
[00121] A unidade de decodificação de diferença de vetor de movimento 100 de acordo com a presente modalidade inclui uma unidade de decodificação de parte de prefixo 110, uma unidade de decodifica- ção de parte de sufixo 120, uma unidade de controle de reconstrução de diferença de vetor de movimento 101 e uma unidade de reconstrução de diferença de vetor de movimento 106. Entre estas, a unidade de decodificação de parte de prefixo 110 é constituída por uma unidade de determinação de diferença de vetor de movimento 0 102 e uma unidade de decodificação de parte de prefixo de diferença de vetor de movimento 103. Também, a unidade de decodificação de parte de sufixo 120 é constituída por uma unidade de decodificação de parte de sufixo de diferença de vetor de movimento 104 e uma unidade de de- codificação de sinal de diferença de vetor de movimento 105. A unidade de decodificação de diferença de vetor de movimento 100 reconstrói, a partir de um fluxo de bits BS, informação a respeito de uma componente X MVDX e de uma componente Y MVDY de uma diferença de vetor de movimento.
[00122] A operação da unidade de decodificação de diferença de vetor de movimento 100 na presente modalidade é descrita detalhadamente usando a figura 8. A figura 8 é um fluxograma mostrando um exemplo de um fluxo de operação da unidade de decodificação de diferença de vetor de movimento 100 da presente modalidade.
[00123] Primeiro, a unidade de determinação de diferença de vetor de movimento 0 102 decodifica, a partir de um fluxo de bits obtido, uma sinalização que indica se uma componente X de uma diferença de vetor de movimento é 0 (S200). Aqui, se a componente X da diferença de vetor de movimento não for 0 (NÃO em S201), a unidade de decodificação de parte de prefixo de diferença de vetor de movimento 103 decodifica uma parte de prefixo da componente X da diferença de vetor de movimento (S202). Por outro lado, se a componente X da diferença de vetor de movimento for 0 (SIM em S201), a componente X da diferença de vetor de movimento é estabelecida para 0 (S203).
[00124] A seguir, retornando para o processamento por meio do laço, a unidade de determinação de diferença de vetor de movimento 0 102 decodifica uma sinalização que indica se a componente Y da diferença de vetor de movimento é 0 (S204). Se a componente Y da diferença de vetor de movimento não for 0 aqui (NÃO em S205), a unidade de decodificação de parte de prefixo de diferença de vetor de movimento 103 decodifica uma parte de prefixo da componente Y da diferença de vetor de movimento (S206). Por outro lado, se a componente Y da diferença de vetor de movimento for 0 (SIM em S205), a componente Y da diferença de vetor de movimento é estabelecida para 0 (S207). Deve ser notado que o processamento até esta etapa é a ope-ração executada pela unidade de decodificação de parte de prefixo de diferença de vetor de movimento 103 (S280).
[00125] A seguir, se for determinado, com base em informação decodificada a respeito da componente X da diferença de vetor de movimento, que a componente X não é 0 (NÃO em S208), e inclui uma parte de sufixo (SIM em S209), a unidade de decodificação de parte de sufixo de diferença de vetor de movimento 104 decodifica, a partir do fluxo de bits, a parte de sufixo da componente X da diferença de vetor de movimento (S210). Por outro lado, se a parte de sufixo não estiver incluída (NÃO em S209), processamento de decodificação na parte de sufixo é ignorado. Deve ser notado que aqui, com relação a se uma parte de sufixo está incluída, a parte de prefixo e a parte de sufixo são separadas em uma série de códigos binários tal como mostrado na figura 6, por exemplo, e assim é determinado que uma parte de sufixo está incluída se todos os dígitos em uma parte de prefixo forem 1.
[00126] A seguir, a unidade de decodificação de sinal de diferença de vetor de movimento 105 decodifica, a partir do fluxo de bits, o sinal da diferença de vetor de movimento, e a unidade de reconstrução de diferença de vetor de movimento 106 reconstrói a componente X da diferença de vetor de movimento (S211). Por outro lado, se a componente X for 0 (SIM em S208), a componente X da diferença de vetor de movimento já foi reconstruída de modo bem sucedido, e assim processamento de decodificação na parte de sufixo da componente X é ignorado.
[00127] A seguir, se for determinado, com base em informação decodificada a respeito da componente Y da diferença de vetor de movimento, que a componente Y não é 0 (NÃO em S212), e inclui uma parte de sufixo (SIM em S213), a unidade de decodificação de parte de sufixo de diferença de vetor de movimento 104 decodifica, a partir do fluxo de bits, a parte de sufixo da componente Y da diferença de vetor de movimento (S214). Deve ser notado que se a parte de sufixo não estiver incluída (NÃO em S213), processamento de decodificação na parte de sufixo é ignorado. Aqui, se uma parte de sufixo está incluída pode ser determinado do mesmo modo que no caso da componente X. A seguir, a unidade de decodificação de sinal de diferença de vetor de movimento 105 decodifica, a partir do fluxo de bits, o sinal da compo-nente Y da diferença de vetor de movimento, e a unidade de recons- trução de diferença de vetor de movimento 106 reconstrói a componente Y da diferença de vetor de movimento (S215). Por outro lado, se a componente Y for 0 (SIM em S212), a componente Y da diferença de vetor de movimento já foi reconstruída de modo bem sucedido, e assim processamento de decodificação na parte de sufixo da componente Y é ignorado.
[00128] Deve ser notado que, para a parte de prefixo, informação de uma diferença de vetor de movimento tem uma alta tendência (tende a existir muitos vetores zero), e assim eficiência de codificação aumenta ao executar a codificação aritmética binária adaptativa de contexto descrita anteriormente. Desta maneira, processamento de deco- dificação aritmética binária adaptativa de contexto (figura 3) é executado no momento da decodificação.
[00129] Por outro lado, a parte de sufixo corresponde a bits inferiores de uma grande diferença de vetor de movimento. Assim, a faixa de valores possíveis é grande (por exemplo, 9 a 1.024), e frequências nas quais o mesmo símbolo de série de códigos binários ocorre tendem a ser baixas. Desta maneira, a quantidade de processamento é reduzida ao executar codificação de desvio, assumindo que a probabilidade de ocorrência de símbolo é de 50%. Especificamente, decodificação de desvio (figura 4) é executada quando uma parte de sufixo é decodificada. Deve ser notado que se o sinal de uma diferença de vetor de movimento estiver incluído, codificação de desvio também é executada no sinal, e assim decodificação de desvio é executada.
[00130] Aqui, um exemplo de operação de processamento de de- codificação mostrado na figura 8 é descrito usando a figura 9.
[00131] A figura 9 é um desenho para descrever exemplos de etapas de processamento executado na Modalidade 1. Na figura 9, (a) mostra um exemplo no caso onde processamento executado na Modalidade 1 é executado em paralelo com um processo. Processamento é executado na ordem de decodificação em uma parte de prefixo de uma componente X de uma diferença de vetor de movimento (MVDX_PREFIX), decodificação em uma parte de prefixo de uma componente Y da mesma (MVDY_PREFIX), decodificação em uma parte de sufixo da componente X (MVDX_SUFIX), decodificação no sinal da componente X (MVDX_SIGN), decodificação na parte de sufixo da componente Y (MVDY_SUFIX) e decodificação no sinal da componente Y (MVDY_SIGN).
[00132] Entretanto, processamento de alta velocidade é exigido por causa de um aumento na resolução de imagem utilizada e de uma expansão de comunicação em tempo real de alta velocidade, e assim processamento paralelizado é implementado. Entretanto, uma vez que processamento de codificação aritmética binária adaptativa de contexto é executado em uma parte de prefixo, é necessário executar sucessivamente processamento de leitura e atualizar a probabilidade de ocorrência de símbolo. Assim, processamento em uma parte de prefixo não pode ser paralelizado. Entretanto, uma parte de processamento de desvio pode ser paralelizada bit a bit, tal como mostrado em (b) na figura 9.
[00133] Em contraste, (c) e (d) na figura 9 são exemplos de parale- lização de processamento executado na configuração convencional. Na figura 9, (c) corresponde a (a) na figura 9, e (d) na figura 9 corresponde a (b) na figura 9. De forma similar, processamento é executado sucessivamente em uma parte de prefixo, isto é, uma parte de processamento de decodificação aritmética binária adaptativa de contexto, e processamento em uma parte de sufixo, isto é, parte de processamento de desvio, pode ser paralelizado. Entretanto, uma vez que uma componente X e uma componente Y são arranjadas alternadamente, partes nas quais processamento pode ser executado em paralelo não são arranjadas consecutivamente. Assim, um aumento adequado em velocidade não pode ser alcançado ((d) na figura 9). Adicionalmente, processamento frequentemente é comutado entre decodificação aritmética binária adaptativa de contexto e decodificação de desvio, o que resulta em uma grande carga e em um considerável atraso em processamento.
[00134] Deve ser notado que a unidade de decodificação aritmética 100 de acordo com a Modalidade 1 está incluída no aparelho de deco- dificação de imagem que decodifica dados de imagem codificados nos quais codificação de compressão tenha sido executada. A figura 10 é um diagrama de blocos mostrando um exemplo de uma configuração de um aparelho de decodificação de imagem 400 de acordo com a Modalidade 1.
[00135] O aparelho de decodificação de imagem 400 decodifica dados de imagem codificados nos quais codificação de compressão tenha sido executada. Por exemplo, dados de imagem codificados são introduzidos, em uma base de bloco por bloco, no aparelho de decodi- ficação de imagem 400 como sinais a ser decodificados. O aparelho de decodificação de imagem 400 reconstrói dados de imagem ao executar decodificação de comprimento variável, quantificação inversa e transformação inversa nos sinais alvos de decodificação de entrada.
[00136] Tal como mostrado na figura 10, o aparelho de decodifica- ção de imagem 400 inclui uma unidade de decodificação de entropia 410, uma unidade de quantificação inversa e transformação inversa 420, um somador 425, um filtro redutor de blocagem 430, uma memória 440, uma unidade de predição intra 450, uma unidade de compensação de movimento 460 e um comutador de mudança intra/inter 470.
[00137] A unidade de decodificação de entropia 410 executa deco- dificação de comprimento variável em um sinal de entrada (fluxo de entrada), para reconstruir um coeficiente de quantificação. Deve ser notado que aqui um sinal de entrada (fluxo de entrada) é um sinal a ser decodificado, e corresponde a dados de imagem codificados para cada bloco. Adicionalmente, a unidade de decodificação de entropia 410 obtém dados de movimento do sinal de entrada, e envia os dados de movimento obtidos para a unidade de compensação de movimento 460.
[00138] A unidade de quantificação inversa e transformação inversa 420 executa quantificação inversa no coeficiente de quantificação reconstruído pela unidade de decodificação de entropia 410, para reconstruir um coeficiente de transformação. Então, a unidade de quantificação inversa e transformação inversa 420 executa transformação inversa no coeficiente de transformação reconstruído, para reconstruir um erro de predição.
[00139] O somador 425 adiciona o erro de predição reconstruído a um sinal predito, para gerar uma imagem decodificada.
[00140] O filtro redutor de blocagem 430 executa processamento de filtro redutor de blocagem na imagem decodificada gerada. A imagem decodificada na qual processamento de filtro redutor de blocagem tenha sido executado é produzida como um sinal decodificado.
[00141] A memória 440 é uma memória para armazenar imagens de referência usadas para compensação de movimento. Especificamente, a memória 440 armazena imagens decodificadas nas quais processamento de filtro redutor de blocagem tenha sido executado.
[00142] A unidade de predição intra 450 executa predição intra, para gerar um sinal predito (sinal intrapredito). Especificamente, a unidade de predição intra 450 executa predição intra ao se referir a uma imagem ao redor de um bloco a ser decodificado (sinal de entrada) na imagem decodificada gerada pelo somador 425, para gerar um sinal intrapredito.
[00143] A unidade de compensação de movimento 460 executa compensação de movimento, com base em saída de dados de movi- mento da unidade de decodificação de entropia 410, para gerar um sinal predito (sinal interpredito).
[00144] O comutador de mudança intra/inter 470 seleciona um de o sinal intrapredito e o sinal interpredito, e envia o sinal selecionado para o somador 425 como um sinal predito.
[00145] Usando a configuração indicada anteriormente, o aparelho de decodificação de imagem 400 de acordo com a Modalidade 1 decodifica dados de imagem codificados nos quais codificação de compressão tenha sido executada.
[00146] Deve ser notado que no aparelho de decodificação de imagem 400 a unidade de decodificação de entropia 410 inclui a unidade de decodificação de diferença de vetor de movimento 100 de acordo com a Modalidade 1.
[00147] Tal como descrito anteriormente, o aparelho de decodifica- ção de imagem e o método de decodificação de imagem de acordo com a Modalidade 1 capacitam decodificação de diferença de vetor de movimento de alta velocidade.
[00148] Especificamente, tal como descrito na Modalidade 1, uma componente X e uma componente Y de um valor de diferença de vetor de movimento são integradas, e um valor de diferença de vetor de movimento é separado em uma parte na qual decodificação aritmética binária adaptativa de contexto é para ser executada e uma parte na qual processamento de desvio é para ser executado. Consequentemente é possível expandir uma parte na qual operação paralela pode ser executada. Assim, processamento paralelo, ou em outras palavras, decodificação de alta velocidade pode ser executada.
[00149] Deve ser notado que embora o exposto acima descreva processamento de decodificação em uma parte de sufixo e processamento de decodificação de sinal, os quais são executados em uma componente X e em uma componente Y separadamente, o conceito inventivo não está limitado a isto. Por exemplo, após processamento de decodificação de parte de sufixo em uma componente X, processamento de decodificação de parte de sufixo em uma componente Y, processamento de decodificação de sinal em uma componente X, e então processamento de decodificação de sinal em uma componente Y podem ser executados. Mesmo com esta configuração, partes nas quais processamento de desvio é executado estão em sucessão, e assim efeitos vantajosos podem ser esperados para serem obtidos. Também, com relação a uma parte de prefixo, informação indicando se uma componente X é 0 e informação indicando se uma componente Y é 0 podem ser decodificadas em sucessão. As mesmas restrições em uma parte na qual processamento de decodificação aritmética de contexto é executado (processamento necessita ser executado suces-sivamente) são aplicadas para um e outro caso.
[00150] Deve ser notado que uma série binária mostrada na figura 6 e o comprimento de uma parte na qual decodificação aritmética binária adaptativa de contexto é executada são exemplos, e não necessitam necessariamente ser os mesmos da descrição anterior. Por exemplo, decodificação pode ser executada assumindo que uma diferença de vetor de movimento cujo valor absoluto é 0, 1 ou 2 é uma parte de prefixo, enquanto que uma diferença de vetor de movimento cujo valor absoluto é igual ou maior que 3 é uma parte de sufixo (como uma coisa habitual, é assumido que o aparelho de codificação que gera este fluxo de bits também executa o mesmo processamento). Ao determinar uma série binária deste modo, o grau de paralelismo pode ser au-mentado, e processamento de decodificação pode ser executado em uma velocidade ainda maior.
Modificação da Modalidade 1
[00151] Deve ser notado que na Modalidade 1 uma diferença de vetor de movimento é separada em uma parte de prefixo correspon- dendo a uma parte na qual processamento de decodificação aritmética binária adaptativa de contexto é executado e uma parte de sufixo correspondendo a uma parte na qual processamento de decodificação de desvio é executado, independente de uma componente X e uma componente Y. Isto alcança processamento de alta velocidade. Embora alcançando este ponto, é possível considerar uma modificação tal como será descrito a seguir.
[00152] A modificação da Modalidade 1 é agora descrita detalhadamente usando as figuras 11A e 11B. A figura 11A é uma tabela de correspondência de sinalização mostrando se componentes X e componentes Y de diferenças de vetores de movimento são 0 na modificação da Modalidade 1. A figura 11B é um fluxograma mostrando um exemplo do fluxo de processamento na modificação da Modalidade 1.
[00153] A Modalidade 1 descreve diferentes sinalizações indicando se uma componente X de uma diferença de vetor de movimento é 0 e se uma componente Y de uma diferença de vetor de movimento é 0. Entretanto, uma componente X e uma componente Y de uma diferença de vetor de movimento são combinadas para executar decodifica- ção na Modalidade 1, e assim eficiência de codificação pode ser melhorada adicionalmente ao combinar as sinalizações.
[00154] Por exemplo, tal como mostrado na figura 11A, códigos (MVDXY_EXIST) são designados para combinações mostrando se uma componente X é 0 (MVDX_EXIST) e se uma componente Y é 0 (MVDY_EXIST).
[00155] "0" é designado se ambas de uma componente X e uma componente Y forem 0, "111" é designado se nem uma componente X nem uma componente Y for 0, "110" é designado se uma componente X for 0, enquanto que uma componente Y não é 0, e "10" é designado se uma componente Y for 0, enquanto que uma componente X não é 0.
[00156] Tal como descrito anteriormente, é considerado designar, usando um índice, um método de executar derivação a partir de vetores vizinhos, como um método de derivar uma diferença de vetor de movimento. Desta maneira, uma probabilidade de que uma componente de uma diferença de vetor de movimento é "0" é ainda maior do que em codificação de imagem convencional. Se ambas de uma componente X e uma componente Y forem "0", um sinal de série binária pode ser expressado usando 1 bit na presente modificação, embora convencionalmente 2 bits sejam necessários. O fluxo de processamento executado pela unidade de decodificação de diferença de vetor de movimento 100 na presente modificação é tal como mostrado na figura 11B.
[00157] Na etapa S501, uma série de códigos que indica se uma componente X e uma componente Y de uma diferença de vetor de movimento são 0 é obtida (S501). Aqui, por exemplo, a tabela de correspondência na figura 11A é aplicada para um resultado mostrando se uma componente X e uma componente Y são 0. Deve ser notado que a figura 11B é igual à figura 8 exceto que as etapas S200 e S204 na figura 8 foram substituídas pela etapa S501, e assim uma descrição das etapas seguintes é omitida.
[00158] Deve ser notado que a tabela de correspondência mostrada na figura 11A é um exemplo. No caso deste exemplo, séries binárias são determinadas, assumindo que uma possibilidade de uma componente X de uma diferença de vetor de movimento ser 0 é baixa uma vez que de uma maneira geral muitas imagens se deslocam horizontalmente. Por exemplo, uma unidade de codificação de diferença de vetor de movimento pode comutar tais tabelas de correspondências de uma para uma outra de acordo com a frequência de ocorrência de código, e pode gravar um índice indicando qual tabela de correspondência é usada para codificação em um fluxo de bits. Em seguida, a uni dade de decodificação de diferença de vetor de movimento 100 pode obter a tabela de correspondência na figura 11A ao decodificar o índice.
[00159] Esta modificação capacita eficiência de codificação para ser melhorada enquanto alcançando processamento de alta velocidade.
Modalidade 2
[00160] A esquematização de um método de codificação aritmética na presente modalidade é agora descrita. O método de codificação aritmética na presente modalidade tem um recurso de dividir uma diferença de vetor de movimento em uma parte de prefixo correspondendo a uma parte na qual codificação aritmética binária adaptativa de contexto é executada e uma parte de sufixo correspondendo a uma parte na qual codificação de processamento de desvio é executada, em vez de dividir uma diferença de vetor de movimento em uma componente X e uma componente Y. Isto alcança paralelização de processamento e codificação de alta velocidade.
[00161] O exposto acima é uma descrição da esquematização do método de codificação aritmética na presente modalidade. O mesmo método que o método de codificação aritmética convencional pode ser usado, a não ser que descrito particularmente.
[00162] O seguinte é uma descrição do fluxo de processamento executado pela unidade de codificação de diferença de vetor de movimento que executa o método de codificação de diferença de vetor de movimento na presente modalidade.
[00163] A figura 12 é um fluxograma mostrando o fluxo de processamento executado por uma unidade de codificação de diferença de vetor de movimento de acordo com a Modalidade 2.
[00164] Primeiro, a unidade de codificação de diferença de vetor de movimento obtém informação a respeito de uma componente X e de uma componente Y de uma diferença de vetor de movimento a ser co- dificada, e define se a componente X da diferença de vetor de movimento é 0 (S601). Se a componente X da diferença de vetor de movimento não for 0 (NÃO em S601), processamento de codificação é executado em uma parte de prefixo da componente X da diferença de vetor de movimento (S602). Deve ser notado que aqui, no processamento de codificação na parte de prefixo, uma série binária mostrada na figura 6 é codificada usando o método de codificação aritmética binária adaptativa de contexto descrito a seguir. A codificação aritmética binária adaptativa de contexto forma um par com o método de decodi- ficação aritmética na figura 3, e é um tipo de codificação aritmética em que contextos são comutados de um para um outro com base em condições, a probabilidade de ocorrência de símbolo é obtida, e o valor de probabilidade da mesma é atualizado usando o símbolo codificado (ver a NPL 1). Deve ser notado que no exposto a seguir o método de codificação aritmética binária adaptativa de contexto é aplicado para codificar uma parte de prefixo, se não gravado claramente.
[00165] A seguir, se a componente X da diferença de vetor de movimento for 0 (SIM em S601), uma sinalização é codificada que indica que a componente X da diferença de vetor de movimento é 0 (S603). A seguir, é decidido se a componente Y da diferença de vetor de movimento é 0 (S604). Se a componente Y da diferença de vetor de movimento não for 0 (NÃO em S604), processamento de codificação é executado na parte de prefixo da componente Y da diferença de vetor de movimento (no mesmo modo que aquele para a componente X, S605). Por outro lado, se a componente Y da diferença de vetor de movimento for 0, uma sinalização é codificada que indica que a com-ponente Y da diferença de vetor de movimento é 0 (S606).
[00166] A seguir, é determinado se a componente X da diferença de vetor de movimento é igual ou maior que um valor TH, ou em outras palavras, um sufixo é incluído (S607). Por exemplo, se a tabela de sé- ries binárias na figura 6 for usada, determinação é feita assumindo que TH = 9. Deve ser notado que, na presente modalidade, um limite entre uma parte de prefixo (codificação aritmética binária adaptativa de contexto) e uma parte de sufixo (codificação de processamento de desvio) podem ser determinadas, independente desta tabela de séries binárias.
[00167] Se a componente X incluir aqui uma parte de sufixo (SIM em S607), a parte de sufixo da componente X da diferença de vetor de movimento é codificada (S608). Deve ser notado que processamento de desvio de codificação aritmética é executado para codificar uma parte de sufixo. Especificamente, ele é um método usado para reduzir cálculo ao fixar a probabilidade em 50%, e forma um par com o método de decodificação de desvio mostrado na figura 4 (ver a NPL 1). Na descrição a seguir codificação de desvio é usada para codificar uma parte de sufixo, se não gravado claramente. A seguir, o sinal da componente X da diferença de vetor de movimento é codificado. Deve ser notado que codificação de desvio também é executada com relação a este processamento (S610). Deve ser notado que o sinal da componente X é codificado também no caso onde uma parte de sufixo não é incluída (NÃO em S607), e a componente X não é 0 (NÃO em S609). Após o término do processamento de codificação de sufixo na componente X (S610 e SIM em S609), processamento de codificação de sufixo é executado na componente Y.
[00168] A seguir, é decidido se a componente Y da diferença de vetor de movimento é igual ou maior que o valor TH ou, em outras palavras, se um sufixo está incluído (S611). Uma vez que é decidido no mesmo modo que aquele para a componente X, uma descrição detalhada é omitida.
[00169] Se a componente Y incluir aqui uma parte de sufixo (SIM em S611), a parte de sufixo da componente Y da diferença de vetor de movimento é codificada (S612). Deve ser notado que processamento de desvio de codificação aritmética é executado para codificar uma parte de sufixo. A seguir, o sinal da componente Y da diferença de vetor de movimento é codificado. Deve ser notado que codificação de desvio também é executada com relação a este processamento (S614). Deve ser notado que o sinal da componente Y também é codificado se a parte de sufixo não estiver incluída (NÃO em S611), e a componente Y não for 0 (NÃO em S613). Isto completa processamento de codificação de sufixo na componente Y, e processamento de codificação na componente X e na componente Y da diferença de vetor de movimento termina.
[00170] Deve ser notado que, mesmo usando o método para codificar uma diferença de vetor de movimento, processamento pode ser paralelizado tal como em (b) na figura 9 descrita na Modalidade 1, e assim um aparelho de codificação de alta velocidade pode ser obtido. Deve ser notado que, tal como um método de codificação para a modificação da Modalidade 1, S601 e S604 no fluxo de processamento na figura 12 são executadas primeiramente. Então, em vez de S603 e S606, uma série binária é codificada que indica se cada uma de uma componente X e uma componente Y em uma combinação é 0, com base na tabela de correspondência da figura 11A. Deve ser notado que codificação de prefixo, isto é, o método de codificação aritmética binária adaptativa de contexto também é executado para codificação neste caso. Isto possibilita um aparelho de codificação de alta velocidade, enquanto melhorando eficiência de codificação.
[00171] Deve ser notado que a figura 13 é um diagrama esquemático para descrever sintaxe que mostra um exemplo de uma estrutura de dados desta configuração. Deve ser notado que esta tabela de sintaxe é citada pela NPL 2, e é um exemplo de uma estrutura de dados em que as partes denotadas por 701, 702 e 703 são geradas usando o método para codificar (decodificar) uma diferença de vetor de movimento na Modalidade 2 (e na Modalidade 1).
[00172] Tal como mostrado por 701 a 703, mvd_l? que indica uma diferença de vetor de movimento está representado como um parâmetro que indica ambas de uma componente x e uma componente y. Deve ser notado que "?" em mvd_l? corresponde a um índice de referência, e é especificamente c, 0, ou 1 (ver a NPL 2 para detalhes).
[00173] Uma diferença de vetor de movimento convencionalmente é representada como mvd_l? [x0] [y0] [0] e mvd_l? [x0] [y0] [1]. Aqui, o último elemento [0] indica uma componente X, e o último elemento [1] indica uma componente Y. Uma componente X e uma componente Y de uma diferença de vetor de movimento de acordo com a Modalidade 2 (e a Modalidade 1) são combinadas e descritas em um fluxo. Desta maneira, uma diferença de vetor de movimento de acordo com a Modalidade 2 (e a Modalidade 1) é anotada como mvd_l? [x0] [y0].
[00174] Codificação de alta velocidade e decodificação de alta velocidade podem ser alcançadas ao gerar dados tendo uma estrutura como esta.
[00175] Deve ser notado que a unidade de codificação de diferença de vetor de movimento de acordo com a Modalidade 2 é incluída no aparelho de codificação de imagem que executa codificação de compressão em dados de imagem. A figura 14 é um diagrama de blocos mostrando um exemplo de uma configuração de um aparelho de codificação de imagem 200 de acordo com a Modalidade 2.
[00176] O aparelho de codificação de imagem 200 executa codificação de compressão em dados de imagem. Por exemplo, dados de imagem são introduzidos no aparelho de codificação de imagem 200 como um sinal de entrada para cada bloco. O aparelho de codificação de imagem 200 executa transformação, quantificação e codificação de comprimento variável no sinal de entrada que tenha sido introduzido, para gerar um sinal codificado.
[00177] Tal como mostrado na figura 14, o aparelho de codificação de imagem 200 inclui um subtrator 205, uma unidade de transformação e quantificação 210, uma unidade de codificação de entropia 220, uma unidade de quantificação inversa e transformação inversa 230, um somador 235, um filtro redutor de blocagem 240, uma memória 250, uma unidade de predição intra 260, uma unidade de detecção de movimento 270, uma unidade de compensação de movimento 280 e um comutador de mudança intra/inter 290.
[00178] O subtrator 205 calcula uma diferença entre um sinal de entrada e um sinal predito, ou em outras palavras, um erro de predição.
[00179] A unidade de transformação e quantificação 210 transforma um erro de predição em um domínio espacial para gerar um coeficiente de transformação em um domínio da frequência. Por exemplo, a unidade de transformação e quantificação 210 executa transformada discreta de cosseno (DCT) no erro de predição, para gerar um coeficiente de transformação. Além disso, a unidade de transformação e quantificação 210 quantifica o coeficiente de transformação, para gerar um coeficiente de quantificação.
[00180] A unidade de codificação de entropia 220 executa codificação de comprimento variável no coeficiente de quantificação, para gerar um sinal codificado. Adicionalmente, a unidade de codificação de entropia 220 codifica dados de movimento (por exemplo, vetor de movimento) detectados pela unidade de detecção de movimento 270, e envia os dados incluídos no sinal codificado.
[00181] A unidade de quantificação inversa e transformação inversa 230 executa quantificação inversa no coeficiente de quantificação, para reconstruir um coeficiente de transformação. Além disso, a unidade de quantificação inversa e transformação inversa 230 executa trans- formação inversa no coeficiente de transformação reconstruído, para reconstruir o erro de predição. Deve ser notado que o erro de predição reconstruído tem perda de informação por causa de quantificação, e assim não casa com o erro de predição gerado pelo subtrator 205. Especificamente, o erro de predição reconstruído inclui um erro de quantificação.
[00182] O somador 235 adiciona o erro de predição reconstruído ao sinal predito, para gerar uma imagem decodificada local.
[00183] O filtro redutor de blocagem 240 executa processamento de filtro redutor de blocagem na imagem decodificada local gerada.
[00184] A memória 250 é uma memória para armazenar imagens de referência usadas para compensação de movimento. Especificamente, a memória 250 armazena a imagem decodificada localmente na qual processamento de filtro redutor de blocagem tenha sido executado.
[00185] A unidade de predição intra 260 executa predição intra, para gerar um sinal predito (sinal intrapredito). Especificamente, a unidade de predição intra 260 executa predição intra ao se referir a uma imagem ao redor de um bloco alvo de codificação (sinal de entrada) na imagem decodificada localmente gerada pelo somador 235, para gerar um sinal intrapredito.
[00186] A unidade de detecção de movimento 270 detecta dados de movimento (por exemplo, vetor de movimento) entre um sinal de entrada e uma imagem de referência armazenada na memória 250.
[00187] A unidade de compensação de movimento 280 executa compensação de movimento, com base nos dados de movimento detectados, para gerar um sinal predito (sinal interpredito).
[00188] O comutador de mudança intra/inter 290 seleciona um de um sinal intrapredito e um sinal interpredito, e envia o sinal selecionado como um sinal predito para o subtrator 205 e para o somador 235.
[00189] Usando a configuração indicada anteriormente, o aparelho de codificação de imagem 200 de acordo com a Modalidade 2 executa codificação de compressão em dados de imagem.
Modalidade 3
[00190] A presente modalidade descreve configurações e procedimentos característicos incluídos na Modalidade 1 ou 2 para confirmação. As configurações e os procedimentos de acordo com a presente modalidade correspondem às configurações e procedimentos descritos na Modalidade 1 ou 2. Especificamente, os conceitos descritos nas modalidades 1 e 2 incluem as configurações e os procedimentos de acordo com a presente modalidade.
[00191] A figura 15A é um diagrama de blocos mostrando um exemplo de uma configuração de um aparelho de codificação de imagem de acordo com a presente modalidade. Um aparelho de codificação de imagem 800 mostrado na figura 15A codifica uma imagem usando um vetor de movimento. O aparelho de codificação de imagem 800 inclui uma unidade de codificação 801.
[00192] A figura 15B é um fluxograma mostrando operação de processamento do aparelho de codificação de imagem 800 mostrado na figura 15A. A unidade de codificação 801 codifica uma diferença de vetor de movimento (S801). Uma diferença de vetor de movimento mostra a diferença entre um vetor de movimento predito e um vetor de movimento. Um vetor de movimento predito é um valor predito de um vetor de movimento. Ao codificar uma diferença de vetor de movimento, a unidade de codificação 801 codifica uma primeira parte, uma segunda parte, uma terceira parte e uma quarta parte.
[00193] A primeira parte é uma parte de uma primeira componente que é uma de uma componente horizontal e uma componente vertical de uma diferença de vetor de movimento. A segunda parte é uma parte de uma segunda componente que é diferente da primeira compo- nente e é a outra componente de a componente horizontal e a componente vertical da diferença de vetor de movimento. A terceira parte é uma parte da primeira componente, e é diferente da primeira parte. A quarta parte é uma parte da segunda componente, e é diferente da segunda parte. Tipicamente, uma parte de cada componente é uma parte de dados binários correspondendo à componente.
[00194] Então, a unidade de codificação 801 gera uma série de códigos que inclui a primeira parte, a segunda parte, a terceira parte e a quarta parte na ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte.
[00195] Desta maneira, uma parte da componente horizontal da diferença de vetor de movimento e uma parte da componente vertical da diferença de vetor de movimento são combinadas na série de códigos. Assim, a diferença de vetor de movimento é codificada de forma eficiente ao combinar uma parte da componente horizontal e uma parte da componente vertical.
[00196] Por exemplo, a primeira parte pode incluir uma sinalização indicando se a primeira componente é 0. A segunda parte pode incluir uma sinalização indicando se a segunda componente é 0. A terceira parte pode incluir o sinal da primeira componente. A quarta parte pode incluir o sinal da segunda componente.
[00197] Adicionalmente, por exemplo, se o valor absoluto da primeira componente for maior que um valor limiar, a terceira parte pode incluir a diferença entre o valor limiar e o valor absoluto da primeira componente. Se o valor absoluto da segunda componente for maior que o valor limiar, a quarta parte pode incluir a diferença entre o valor limiar e o valor absoluto da segunda componente.
[00198] Adicionalmente, por exemplo, a unidade de codificação 801 pode codificar a primeira parte e a segunda parte ao executar codificação aritmética binária adaptativa de contexto. Então, a unidade de co- dificação 801 pode codificar a terceira parte e a quarta parte ao executar codificação de desvio. Codificação aritmética binária adaptativa de contexto é codificação aritmética em que uma probabilidade variável atualizada com base em dados codificados é usada. Codificação de desvio é codificação aritmética em que uma probabilidade fixada predeterminada é usada. Adicionalmente, a unidade de codificação 801 pode codificar a terceira parte e a quarta parte em paralelo.
[00199] Adicionalmente, por exemplo, a unidade de codificação 801 pode codificar a primeira parte, a segunda parte, a terceira parte e a quarta parte na ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte.
[00200] Por exemplo, a unidade de codificação 801 pode comutar processamento de codificação para primeiro processamento de codificação estando de acordo com um primeiro padrão ou para segundo processamento de codificação estando de acordo com um segundo padrão. Então, a unidade de codificação 801 pode gerar um fluxo de bits que inclui informação de identificação indicando o primeiro padrão ou o segundo padrão com o qual está de acordo um processamento correspondente de o primeiro processamento de codificação e o segundo processamento de codificação para o qual o processamento de codificação tenha sido comutado.
[00201] Se processamento de codificação for comutado para o primeiro processamento de codificação, a unidade de codificação 801 pode gerar uma série de códigos que inclui a primeira parte, a segunda parte, a terceira parte e a quarta parte na ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte. Além do mais, a unidade de codificação 801 pode gerar um fluxo de bits que inclui informação de identificação indicando o primeiro padrão e a série de códigos, neste caso.
[00202] A figura 16A é um diagrama de blocos mostrando um exemplo de uma configuração de um aparelho de decodificação de imagem de acordo com a presente modalidade. Um aparelho de deco- dificação de imagem 900 mostrado na figura 16A decodifica uma imagem usando um vetor de movimento. Adicionalmente, o aparelho de decodificação de imagem 900 inclui uma unidade de decodificação 901.
[00203] A figura 16B é um fluxograma mostrando operação de processamento do aparelho de decodificação de imagem 900 mostrado na figura 16A. A unidade de decodificação 901 decodifica uma diferença de vetor de movimento (S901). Um vetor de movimento predito é um valor predito de um vetor de movimento. Uma diferença de vetor de movimento mostra a diferença entre o vetor de movimento predito e o vetor de movimento.
[00204] Ao decodificar uma diferença de vetor de movimento, a unidade de decodificação 901 obtém uma série de códigos. Então, a unidade de decodificação 901 decodifica uma primeira parte incluída na série de códigos, decodifica uma segunda parte incluída na série de códigos, decodifica uma terceira parte incluída na série de códigos e decodifica uma quarta parte incluída na série de códigos.
[00205] A primeira parte é uma parte de uma primeira componente que é uma de uma componente horizontal e uma componente vertical de uma diferença de vetor de movimento. A segunda parte é uma parte de uma segunda componente que é diferente da primeira componente e é a outra componente de a componente horizontal e a componente vertical. A terceira parte é uma parte da primeira componente, e é diferente da primeira parte. A quarta parte é uma parte da segunda componente, e é diferente da segunda parte. Tipicamente, uma parte de cada componente é uma parte de dados binários correspondendo à componente.
[00206] Uma série de códigos inclui a primeira parte, a segunda parte, a terceira parte e a quarta parte na ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte.
[00207] Desta maneira, a unidade de decodificação 901 obtém uma série de códigos em que uma parte da componente horizontal da diferença de vetor de movimento e uma parte da componente vertical da diferença de vetor de movimento são combinadas. Então, a diferença de vetor de movimento é decodificada de forma eficiente ao usar uma série de códigos em que uma parte da componente horizontal e uma parte da componente vertical são combinadas.
[00208] Por exemplo, a primeira parte pode incluir uma sinalização que indica se a primeira componente é 0. A segunda parte pode incluir uma sinalização que indica se a segunda componente é 0. A terceira parte pode incluir o sinal da primeira componente. A quarta parte pode incluir o sinal da segunda componente.
[00209] Por exemplo, se o valor absoluto da primeira componente for maior que um valor limiar, a terceira parte pode incluir a diferença entre o valor limiar e o valor absoluto da primeira componente. Se o valor absoluto da segunda componente for maior que o valor limiar, a quarta parte pode incluir a diferença entre o valor limiar e o valor absoluto da segunda componente.
[00210] Por exemplo, a unidade de decodificação 901 pode decodificar a primeira parte e a segunda parte ao executar decodificação aritmética binária adaptativa de contexto. Adicionalmente, a unidade de decodificação 901 pode decodificar a terceira parte e a quarta parte ao executar decodificação de desvio. Decodificação aritmética binária adaptativa de contexto é decodificação aritmética em que uma probabilidade variável atualizada com base em dados decodificados é usada. Decodificação de desvio é decodificação aritmética em que uma probabilidade fixada predeterminada é usada. Além do mais, a unidade de decodificação 901 pode decodificar a terceira parte e a quarta parte em paralelo.
[00211] Por exemplo, a unidade de decodificação 901 pode decodificar a primeira parte, a segunda parte, a terceira parte e a quarta parte na ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte.
[00212] Adicionalmente, por exemplo, a unidade de decodificação 901 pode obter um fluxo de bits que inclui informação de identificação indicando um primeiro padrão ou um segundo padrão. Então, com base na informação de identificação, a unidade de decodificação 901 pode comutar processamento de decodificação para primeiro processamento de decodificação estando de acordo com o primeiro padrão ou para segundo processamento de decodificação estando de acordo com o segundo padrão.
[00213] Se processamento de decodificação for comutado para o primeiro processamento de decodificação, a unidade de decodificação 901 pode obter, do fluxo de bits, a série de códigos que inclui a primeira parte, a segunda parte, a terceira parte e a quarta parte na ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte.
[00214] Adicionalmente, por exemplo, o aparelho de codificação de imagem 800 e o aparelho de decodificação de imagem 900 podem constituir um aparelho de codificação e decodificação de imagem.
[00215] Adicionalmente, por exemplo, a estrutura de dados correspondendo a uma série de códigos de uma diferença de vetor de movimento pode ser a estrutura de dados mostrada na figura 17.
[00216] A figura 17 apresenta uma tabela de sintaxe mostrando um exemplo de uma estrutura de dados correspondendo a uma série de códigos de uma diferença de vetor de movimento. Na figura 17, [0] indica uma componente horizontal, enquanto que [1] indica uma componente vertical.
[00217] A "abs_mvd_greater0_flag" é uma sinalização que indica se o valor absoluto de uma componente horizontal ou de uma componente vertical de uma diferença de vetor de movimento é maior que 0. A "abs_mvd_greater1_flag" é uma sinalização que indica se o valor absoluto da componente horizontal ou da componente vertical da diferença de vetor de movimento é maior que 1. O "abs_mvd_minus2" é um valor obtido ao subtrair 2 do valor absoluto da componente horizontal ou da componente vertical da diferença de vetor de movimento. O "mvd_sign_flag" é um sinal da componente horizontal ou da componente vertical da diferença de vetor de movimento.
[00218] A sinalização "abs_mvd_greater0_flag" e a "abs_mvd_greater1_flag" correspondem a uma parte de prefixo. O "abs_mvd_minus2" corresponde a uma parte de sufixo. Tipicamente, co-dificação (decodificação) aritmética binária adaptativa de contexto é usada para codificar (decodificar) "abs_mvd_greater0 _flag" e "abs_mvd_greater1_flag". Então, codificação (decodificação) de desvio é usada para codificar (decodificar) "abs_mvd_ minus2" e "mvd_sign_ flag".
[00219] Deve ser notado que, nas modalidades indicadas anteriormente, cada um dos elementos componentes pode ser constituído por hardware dedicado, ou pode ser obtido ao executar um software adequado para o elemento componente. Cada elemento componente pode ser obtido por meio de uma unidade de execução de programa tal como uma CPU ou um processador lendo e executando um software gravado em uma mídia de gravação tal como um disco rígido ou memória semicondutora. Aqui, o software que concretiza o aparelho de codificação de imagem nas modalidades indicadas anteriormente e em outras mais é um programa tal como será descrito a seguir.
[00220] Especificamente, este programa faz com que um computador execute um método de codificação de imagem para codificar uma imagem usando um vetor de movimento, o método incluindo codificar uma diferença de vetor de movimento indicando uma diferença entre o vetor de movimento e um vetor de movimento predito que é um valor predito do vetor de movimento, em que a codificação inclui: codificar uma primeira parte que é uma parte de uma primeira componente que é uma de uma componente horizontal e uma componente vertical da diferença de vetor de movimento; codificar uma segunda parte que é uma parte de uma segunda componente que é diferente da primeira componente e é a outra componente de a componente horizontal e a componente vertical; codificar uma terceira parte que é uma parte da primeira componente e é diferente da primeira parte; codificar uma quarta parte que é uma parte da segunda componente e é diferente da segunda parte; e gerar uma série de códigos que inclui a primeira parte, a segunda parte, a terceira parte e a quarta parte em uma ordem de a primeira parte, a segunda parte, a terceira parte e a quarta parte.
[00221] O exposto acima é uma descrição de um método de codificação de imagem de acordo com um ou mais aspectos da presente invenção, com base nas modalidades. Entretanto, a presente invenção não está limitada a estas modalidades. Várias modificações para as modalidades que podem ser concebidas pelos versados na técnica e combinações de elementos componentes em diferentes modalidades podem ser incluídas no escopo de um ou mais aspectos da presente invenção, sem divergir do espírito da presente invenção.
Modalidade 4
[00222] O processamento descrito em cada uma das modalidades pode ser implementado simplesmente em um sistema de computador independente, ao gravar, em uma mídia de gravação, um programa para implementar as configurações do método de codificação de imagem em movimento (método de codificação de imagem) e do método de decodificação de imagem em movimento (método de decodificação de imagem) descritos em cada uma das modalidades. As mídias de gravação podem ser quaisquer mídias de gravação contanto que o programa possa ser gravado, tal como um disco magnético, um disco ótico, um disco ótico magnético, um cartão IC e uma memória semi- condutora.
[00223] Em seguida, as aplicações para o método de codificação de imagem em movimento (método de codificação de imagem) e para o método de decodificação de imagem em movimento (método de deco- dificação de imagem) descritos em cada uma das modalidades e sistemas usando os mesmos serão descritas. O sistema possui um recurso de ter um aparelho de codificação e decodificação de imagem que inclui um aparelho de codificação de imagem usando o método de codificação de imagem e um aparelho de decodificação de imagem usando o método de decodificação de imagem. Outras configurações no sistema podem ser mudadas tal como apropriado dependendo dos casos.
[00224] A figura 18 ilustra uma configuração total de um sistema de fornecimento de conteúdo ex100 para implementar serviços de distribuição de conteúdo. A área para fornecer serviços de comunicação é dividida em células de tamanho desejado, e as estações base ex106, ex107, ex108, ex109 e ex110 que são estações sem fio fixas estão localizadas em cada uma das células.
[00225] O sistema de fornecimento de conteúdo ex100 é conectado a dispositivos, tais como um computador ex111, um assistente digital pessoal (PDA) ex112, uma câmera ex113, um telefone celular ex114 e uma máquina de jogos ex115, por meio da Internet ex101, de um provedor de serviços de Internet ex102, de uma rede telefônica ex104, assim como das estações base ex106 a ex110, respectivamente.
[00226] Entretanto, a configuração do sistema de fornecimento de conteúdo ex100 não está limitada à configuração mostrada na figura 18, e uma combinação em que qualquer um dos elementos é conecta- do é aceitável. Além do mais, cada dispositivo pode ser conectado diretamente à rede telefônica ex104, em vez de por meio das estações base ex106 a ex110 que são as estações sem fio fixas. Além disso, os dispositivos podem ser interligados uns aos outros por meio de uma comunicação sem fio de curta distância e outras.
[00227] A câmera ex113, tal como uma câmera de vídeo digital, é capaz de capturar vídeo. Uma câmera ex116, tal como uma câmera de vídeo digital, é capaz de capturar tanto imagens estáticas quanto vídeo. Além disso, o telefone celular ex114 pode ser o telefone que satisfaça qualquer um dos padrões tais como Sistema Global para Comunicações Móveis (GSM) (marca registrada), Acesso Múltiplo por Divisão de Código (CDMA), Acesso Múltiplo por Divisão de Código em Banda Larga (W-CDMA), Evolução de Longo Prazo (LTE) e Acesso a Pacotes em Alta Velocidade (HSPA). Alternativamente, o telefone celular ex114 pode ser um Sistema de Telefone Portátil Pessoal (PHS).
[00228] No sistema de fornecimento de conteúdo ex100, um servidor de fluxo contínuo ex103 é conectado à câmera ex113 e a outros por meio da rede telefônica ex104 e da estação base ex109, o que capacita distribuição de imagens de um show ao vivo e de outros. Em uma distribuição como esta, um conteúdo (por exemplo, vídeo de um show ao vivo de música) capturado pelo usuário usando a câmera ex113 é codificado tal como descrito anteriormente em cada uma das modalidades (isto é, a câmera funciona como o aparelho de codificação de imagem de acordo com um aspecto da presente invenção), e o conteúdo codificado é transmitido para o servidor de fluxo contínuo ex103. Por outro lado, o servidor de fluxo contínuo ex103 executa distribuição de fluxo dos dados de conteúdo transmitidos para os clientes mediante suas solicitações. Os clientes incluem o computador ex111, o PDA ex112, a câmera ex113, o telefone celular ex114 e a máquina de jogos ex115 que são capazes de decodificar os dados codificados mencionados anteriormente. Cada um dos dispositivos que tenha recebido os dados distribuídos decodifica e reproduz os dados codificados (isto é, funciona como o aparelho de decodificação de imagem de acordo com um aspecto da presente invenção).
[00229] Os dados capturados podem ser codificados pela câmera ex113 ou pelo servidor de fluxo contínuo ex103 que transmite os dados, ou os processos de codificação podem ser compartilhados entre a câmera ex113 e o servidor de fluxo contínuo ex103. De forma similar, os dados distribuídos podem ser decodificados pelos clientes ou pelo servidor de fluxo contínuo ex103, ou os processos de decodificação podem ser compartilhados entre os clientes e o servidor de fluxo contínuo ex103. Além disso, os dados das imagens estáticas e de vídeo capturados não somente pela câmera ex113, mas também pela câmera ex116 podem ser transmitidos para o servidor de fluxo contínuo ex103 por meio do computador ex111. Os processos de codificação podem ser executados pela câmera ex116, pelo computador ex111, ou pelo servidor de fluxo contínuo ex103, ou compartilhados entre eles.
[00230] Além disso, os processos de codificação e de decodificação podem ser executados por um LSI ex500 de uma maneira geral incluído em cada um de o computador ex111 e os dispositivos. O LSI ex500 pode ser configurado de um único chip ou de uma pluralidade de chips. Software para codificar e decodificar vídeo pode ser integrado em algum tipo de uma mídia de gravação (tal como um CD-ROM, um disco flexível e um disco rígido) que seja legível pelo computador ex111 e por outros, e os processos de codificação e de decodificação podem ser executados usando o software. Além disso, quando o telefone celular ex114 é equipado com uma câmera, os dados de imagem obtidos pela câmera podem ser transmitidos. Os dados de vídeo são dados codificados pelo LSI ex500 incluído no telefone celular ex114.
[00231] Além disso, o servidor de fluxo contínuo ex103 pode ser composto de servidores e computadores, e pode descentralizar dados e processar os dados descentralizados, gravar, ou distribuir dados.
[00232] Tal como descrito anteriormente, os clientes podem receber e reproduzir os dados codificados no sistema de fornecimento de conteúdo ex100. Em outras palavras, os clientes podem receber e decodificar informação transmitida pelo usuário, e reproduzir os dados decodificados em tempo real no sistema de fornecimento de conteúdo ex100, de maneira que o usuário que não tem qualquer direito e equipamento particular pode implementar difusão pessoal.
[00233] Com exceção do exemplo do sistema de fornecimento de conteúdo ex100, pelo menos um de o aparelho de codificação de imagem em movimento (aparelho de codificação de imagem) e o aparelho de decodificação de imagem em movimento (aparelho de decodifica- ção de imagem) descritos em cada uma das modalidades pode ser implementado em um sistema de difusão digital ex200 ilustrado na figura 19. Mais especificamente, uma estação de difusão ex201 comunica ou transmite, via ondas de rádio para um satélite de difusão ex202, dados multiplexados obtidos ao multiplexar dados de áudio e outros nos dados de vídeo. Os dados de vídeo são dados codificados pelo método de codificação de imagem em movimento descrito em cada uma das modalidades (isto é, dados codificados pelo aparelho de codificação de imagem de acordo com um aspecto da presente invenção). Mediante recebimento dos dados multiplexados, o satélite de difusão ex202 transmite ondas de rádio para difusão. Então, uma antena de uso residencial ex204 com uma função de recepção de difusão por satélite recebe as ondas de rádio. A seguir, um dispositivo, tal como uma televisão (receptor) ex300 e um aparelho conversor de sinais (STB) ex217, decodifica os dados recebidos multiplexados e reproduz os dados decodificados (isto é, funciona como o aparelho de decodifi- cação de imagem de acordo com um aspecto da presente invenção).
[00234] Além disso, um leitor/gravador ex218 (i) lê e decodifica os dados multiplexados gravados em uma mídia de gravação ex215, tal como um DVD e um BD, ou (ii) codifica sinais de vídeo na mídia de gravação ex215 e, em alguns casos, grava dados obtidos ao multiple- xar um sinal de áudio nos dados codificados. O leitor/gravador ex218 pode incluir o aparelho de decodificação de imagem em movimento ou o aparelho de codificação de imagem em movimento tal como mostrado em cada uma das modalidades. Neste caso, os sinais de vídeo reproduzidos são exibidos no monitor ex219, e podem ser reproduzidos por um outro dispositivo ou sistema usando a mídia de gravação ex215 na qual os dados multiplexados estão gravados. Também é possível implementar o aparelho de decodificação de imagem em movimento no aparelho conversor de sinais ex217 conectado ao cabo ex203 para uma televisão por cabo ou à antena ex204 para difusão por satélite e/ou terrestre, a fim de exibir os sinais de vídeo no monitor ex219 da televisão ex300. O aparelho de decodificação de imagem em movimento pode ser implementado não no aparelho conversor de sinais, mas na televisão ex300.
[00235] A figura 20 ilustra a televisão (receptor) ex300 que usa o método de codificação de imagem em movimento e o método de de- codificação de imagem em movimento descritos em cada uma das modalidades. A televisão ex300 inclui: um sintonizador ex301 que obtém ou fornece dados multiplexados obtidos ao multiplexar dados de áudio nos dados de vídeo, por meio da antena ex204 ou do cabo ex203, etc. que recebe uma difusão; uma unidade de modula- ção/demodulação ex302 que demodula os dados recebidos multiple- xados ou modula dados em dados multiplexados para serem fornecidos para fora; e uma unidade de multiplexação/demultiplexação ex303 que demultiplexa os dados multiplexados modulados em dados de vídeo e dados de áudio, ou multiplexa dados de vídeo e dados de áudio codificados por uma unidade de processamento de sinal ex306 para dados.
[00236] A televisão ex300 inclui adicionalmente: uma unidade de processamento de sinal ex306 incluindo uma unidade de processamento de sinal de áudio ex304 e uma unidade de processamento de sinal de vídeo ex305 que decodificam dados de áudio e dados de vídeo e codificam dados de áudio e dados de vídeo, respectivamente (as quais funcionam como o aparelho de codificação de imagem e o aparelho de decodificação de imagem de acordo com os aspectos da presente invenção); e uma unidade de saída ex309 incluindo um alto- falante ex307 que fornece o sinal de áudio decodificado, e uma unidade de exibição ex308 que exibe o sinal de vídeo decodificado, tal como um mostrador. Além disso, a televisão ex300 inclui uma unidade de interface ex317 incluindo uma unidade de entrada de operação ex312 que recebe uma entrada de uma operação de usuário. Além disso, a televisão ex300 inclui uma unidade de controle ex310 que controla completamente cada elemento componente da televisão ex300, e uma unidade de circuito de fornecimento de energia ex311 que fornece energia para cada um dos elementos. A não ser a unidade de entrada de operação ex312, a unidade de interface ex317 pode incluir: uma ponte ex313 que é conectada a um dispositivo externo, tal como o lei- tor/gravador ex218; uma unidade de encaixe ex314 para capacitar conexão da mídia de gravação ex216, tal como um cartão SD; um acio- nador ex315 para ser conectado a uma mídia de gravação externa, tal como um disco rígido; e um modem ex316 para ser conectado a uma rede telefônica. Aqui, a mídia de gravação ex216 pode gravar eletricamente informação usando um elemento de memória semicondutora não volátil/volátil para armazenamento. Os elementos componentes da televisão ex300 são conectados uns aos outros por meio de um bar- ramento síncrono.
[00237] Primeiro, a configuração na qual a televisão ex300 decodifica dados multiplexados obtidos de fora por meio da antena ex204 e de outros e reproduz os dados decodificados será descrita. Na televisão ex300, mediante uma operação de usuário por meio de um controlador remoto ex220 e de outros, a unidade de multiplexa- ção/demultiplexação ex303 demultiplexa os dados multiplexados de- modulados pela unidade de modulação/demodulação ex302, sob controle da unidade de controle ex310 incluindo uma CPU. Além disso, a unidade de processamento de sinal de áudio ex304 decodifica os dados de áudio demultiplexados, e a unidade de processamento de sinal de vídeo ex305 decodifica os dados de vídeo demultiplexados, usando o método de decodificação descrito em cada uma das modalidades, na televisão ex300. A unidade de saída ex309 fornece o sinal de vídeo decodificado e sinal de áudio para fora, respectivamente. Quando a unidade de saída ex309 fornece o sinal de vídeo e o sinal de áudio, os sinais podem ser armazenados temporariamente nos armazenamentos temporários ex318 e ex319, e em outros de maneira que os sinais sejam reproduzidos em sincronização uns com os outros. Além disso, a televisão ex300 pode ler dados multiplexados não através de uma difusão e de outros, mas nas mídias de gravação ex215 e ex216, tais como um disco magnético, um disco ótico e um cartão SD. A seguir, uma configuração na qual a televisão ex300 codifica um sinal de áudio e um sinal de vídeo, e transmite os dados para fora ou grava os dados em uma mídia de gravação será descrita. Na televisão ex300, mediante uma operação de usuário por meio do controlador remoto ex220 e de outros, a unidade de processamento de sinal de áudio ex304 codifica um sinal de áudio, e a unidade de processamento de sinal de vídeo ex305 codifica um sinal de vídeo, sob controle da unidade de controle ex310 usando o método de codificação descrito em cada uma das modalidades. A unidade de multiplexação/demultiplexação ex303 mul- tiplexa o sinal de vídeo e o sinal de áudio codificados, e fornece o sinal resultante para fora. Quando a unidade de multiplexa- ção/demultiplexação ex303 multiplexa o sinal de vídeo e o sinal de áudio, os sinais podem ser armazenados temporariamente nos armazenamentos temporários ex320 e ex321, e em outros de maneira que os sinais sejam reproduzidos em sincronização uns com os outros. Aqui, os armazenamentos temporários ex318, ex319, ex320 e ex321 podem ser vários tal como ilustrado, ou pelo menos um armazenamento temporário pode ser compartilhado na televisão ex300. Além disso, dados podem ser armazenados em um armazenamento temporário de maneira que a sobrecarga e excesso de capacidade negativa de sistema podem ser evitados entre a unidade de modulação/demodulação ex302 e a unidade de multiplexação/demultiplexação ex303, por exemplo.
[00238] Além disso, a televisão ex300 pode incluir uma configuração para receber uma entrada AV de um microfone ou de uma câmera a não ser a configuração para obter dados de áudio e de vídeo de uma difusão ou uma mídia de gravação, e pode codificar os dados obtidos. Embora a televisão ex300 possa codificar, multiplexar e fornecer dados para fora na descrição, ela pode ser capaz de somente receber, decodificar e fornecer dados para fora, mas não a codificação, multi- plexação e fornecer dados para fora.
[00239] Além disso, quando o leitor/gravador ex218 lê ou grava dados multiplexados em uma mídia de gravação, um de a televisão ex300 e o leitor/gravador ex218 pode decodificar ou codificar os dados multiplexados, e a televisão ex300 e o leitor/gravador ex218 podem compartilhar a decodificação ou codificação.
[00240] Como um exemplo, a figura 21 ilustra uma configuração de uma unidade de reprodução/gravação de informação ex400 quando dados são lidos ou gravados em um disco ótico. A unidade de repro- dução/gravação de informação ex400 inclui os elementos componentes ex401, ex402, ex403, ex404, ex405, ex406 e ex407 a ser descritos em seguida. A cabeça ótica ex401 irradia um ponto de laser em uma superfície de gravação da mídia de gravação ex215 que é um disco ótico para gravar informação, e detecta luz refletida pela superfície de gravação da mídia de gravação ex215 para ler a informação. A unidade de gravação de modulação ex402 aciona eletricamente um laser semicondutor incluído na cabeça ótica ex401, e modula a luz laser de acordo com dados gravados. A unidade de demodulação de reprodução ex403 amplifica um sinal de reprodução obtido ao detectar eletri-camente a luz refletida pela superfície de gravação usando um fotode- tector incluído na cabeça ótica ex401, e demodula o sinal de reprodução ao separar uma componente de sinal gravado na mídia de gravação ex215 para reproduzir a informação necessária. O armazenamento temporário ex404 retém temporariamente a informação a ser gravada na mídia de gravação ex215 e a informação reproduzida pela mídia de gravação ex215. O motor de disco ex405 gira a mídia de gravação ex215. A unidade de servocontrole ex406 desloca a cabeça ótica ex401 para uma trilha de informações predeterminada enquanto controlando o acionamento de rotação do motor de disco ex405 a fim de seguir o ponto de laser. A unidade de controle de sistema ex407 controla totalmente a unidade de reprodução/gravação de informação ex400. Os processos de leitura e de gravação podem ser implementados pela unidade de controle de sistema ex407 usando várias informações armazenadas no armazenamento temporário ex404 e gerar e adicionar nova informação tal como necessário, e pela unidade de gravação de modulação ex402, a unidade de demodulação de reprodução ex403 e a unidade de servocontrole ex406 que gravam e reproduzem informação por meio da cabeça ótica ex401 enquanto sendo operadas em um modo coordenado. A unidade de controle de sistema ex407 inclui, por exemplo, um microprocessador, e executa processamento ao induzir um computador para executar um programa para leitura e gravação.
[00241] Embora a cabeça ótica ex401 irradie um ponto de laser na descrição, ela pode executar gravação de alta densidade usando luz de campo próximo.
[00242] A figura 22 ilustra a mídia de gravação ex215 que é o disco ótico. Na superfície de gravação da mídia de gravação ex215, ranhuras de guiamento são criadas na forma de espiral, e uma trilha de informações ex230 grava, antecipadamente, informação de endereço indicando uma posição absoluta no disco de acordo com mudança em uma forma das ranhuras de guiamento. A informação de endereço inclui informação para determinar posições dos blocos de gravações ex231 que são uma unidade para gravar dados. Reproduzir a trilha de informações ex230 e ler a informação de endereço em um aparelho que grava e reproduz dados pode resultar na determinação das posições dos blocos de gravações. Além disso, a mídia de gravação ex215 inclui uma área de gravação de dados ex233, uma área de circunferência interna ex232 e uma área de circunferência externa ex234. A área de gravação de dados ex233 é uma área para uso na gravação dos dados de usuário. A área de circunferência interna ex232 e a área de circunferência externa ex234 que estão dentro e fora da área de gravação de dados ex233, respectivamente, são para uso específico exceto para gravar os dados de usuário. A unidade de reprodu- ção/gravação de informação 400 lê e grava áudio codificado, dados de vídeo codificado, ou dados multiplexados obtidos ao multiplexar os dados de áudio e de vídeo codificados, na área de gravação de dados ex233 da mídia de gravação ex215.
[00243] Embora um disco ótico tendo uma camada, tal como um DVD e um BD, esteja descrito como um exemplo na descrição, o disco ótico não está limitado a tal, e pode ser um disco ótico tendo uma estrutura de múltiplas camadas e capaz de ser gravado em uma parte a não ser a superfície. Além disso, o disco ótico pode ter uma estrutura para gravação/reprodução multidimensional, tal como gravação de informação usando luz de cores com diferentes comprimentos de onda na mesma parte do disco ótico e para gravar informação tendo diferentes camadas de vários ângulos.
[00244] Além disso, um carro ex210 tendo uma antena ex205 pode receber dados do satélite ex202 e de outros, e reproduzir vídeo em um dispositivo de exibição tal como um sistema de navegação de carro ex211 instalado no carro ex210, no sistema de difusão digital ex200. Aqui, uma configuração do sistema de navegação de carro ex211 será uma configuração, por exemplo, incluindo uma unidade de recepção GPS da configuração ilustrada na figura 20. O mesmo será verdadeiro para a configuração do computador ex111, do telefone celular ex114 e de outros.
[00245] A figura 23A ilustra o telefone celular ex114 que usa o método de codificação de imagem em movimento e o método de decodifi- cação de imagem em movimento descrito em modalidades. O telefone celular ex114 inclui: uma antena ex350 para transmitir e receber ondas de rádio por meio da estação base ex110; uma unidade de câmera ex365 capaz de capturar imagens móveis e estáticas; e uma unidade de exibição ex358 tal como uma tela de cristal líquido para exibir os dados tais como vídeo decodificado capturado pela unidade de câmera ex365 ou recebidos pela antena ex350. O telefone celular ex114 inclui adicionalmente: uma unidade de corpo principal incluindo uma unidade de teclas de operação ex366; uma unidade de saída de áudio ex357 tal como um alto-falante para saída de áudio; uma unidade de entrada de áudio ex356 tal como um microfone para entrada de áudio; uma unidade de memória ex367 para armazenar vídeo capturado ou ainda imagens, áudio gravado, dados codificados ou decodificados do vídeo recebido, as imagens estáticas, correio eletrônico, ou outros; e uma unidade de encaixe ex364 que é uma unidade de interface para uma mídia de gravação que armazena dados no mesmo modo que a unidade de memória ex367.
[00246] A seguir, um exemplo de uma configuração do telefone celular ex114 será descrito com referência à figura 23B. No telefone celular ex114, uma unidade de controle principal ex360 projetada para controlar totalmente cada unidade do corpo principal incluindo a unidade de exibição ex358 assim como a unidade de teclas de operação ex366 é conectada mutuamente, por meio de um barramento síncrono ex370, a uma unidade de circuito de fornecimento de energia ex361, a uma unidade de controle de entrada de operação ex362, a uma unidade de processamento de sinal de vídeo ex355, a uma unidade de interface de câmera ex363, a uma unidade de controle de tela de cristal líquido (LCD) ex359, a uma unidade de modulação/demodulação ex352, a uma unidade de multiplexação/demultiplexação ex353, a uma unidade de processamento de sinal de áudio ex354, à unidade de encaixe ex364 e à unidade de memória ex367.
[00247] Quando uma tecla de final de chamada ou uma tecla de energia é LIGADA por uma operação do usuário, a unidade de circuito de fornecimento de energia ex361 provê as respectivas unidades com energia de um módulo de bateria a fim de ativar o telefone celular ex114.
[00248] No telefone celular ex114, a unidade de processamento de sinal de áudio ex354 converte os sinais de áudio coletados pela unidade de entrada de áudio ex356 em modo de conversação por voz em sinais digitais de áudio sob o controle da unidade de controle principal ex360 incluindo uma CPU, ROM e RAM. Então, a unidade de modula- ção/demodulação ex352 executa processamento de espectro espa- lhado nos sinais digitais de áudio, e a unidade de transmissão e recepção ex351 executa conversão de digital para analógico e conversão de frequência nos dados, a fim de transmitir os dados resultantes por meio da antena ex350. Também, no telefone celular ex114, a unidade de transmissão e recepção ex351 amplifica os dados recebidos pela antena ex350 em modo de conversação por voz e executa conversão de frequência e a conversão de analógico para digital nos dados. Então, a unidade de modulação/demodulação ex352 executa processamento de espectro espalhado inverso nos dados, e a unidade de processamento de sinal de áudio ex354 os converte em sinais de áudio analógico, a fim de produzi-los por meio da unidade de saída de áudio ex357.
[00249] Além disso, quando uma mensagem de correio eletrônico em modo de comunicação de dados é transmitida, dados de texto da mensagem de correio eletrônico introduzidos ao operar a unidade de teclas de operação ex366 e outras do corpo principal são enviados para fora da unidade de controle principal ex360 por meio da unidade de controle de entrada de operação ex362. A unidade de controle principal ex360 faz com que a unidade de modulação/demodulação ex352 execute processamento de espectro espalhado nos dados de texto, e a unidade de transmissão e recepção ex351 executa a conversão de digital para analógico e a conversão de frequência nos dados resultantes para transmitir os dados para a estação base ex110 por meio da antena ex350. Quando uma mensagem de correio eletrônico é recebida, processamento que é aproximadamente inverso ao processamento para transmitir uma mensagem de correio eletrônico é executado nos dados recebidos, e os dados resultantes são fornecidos para a unidade de exibição ex358.
[00250] Quando vídeo, imagens estáticas, ou vídeo e áudio em modo de comunicação de dados é ou são transmitidos, a unidade de pro- cessamento de sinal de vídeo ex355 compacta e codifica sinais de vídeo fornecidos pela unidade de câmera ex365 usando o método de codificação de imagem em movimento mostrado em cada uma das modalidades (isto é, funciona como o aparelho de codificação de imagem de acordo com o aspecto da presente invenção), e transmite os dados de vídeo codificado para a unidade de multiplexa- ção/demultiplexação ex353. Em contraste, quando a unidade de câmera ex365 captura vídeo, imagens estáticas e outros, a unidade de processamento de sinal de áudio ex354 codifica sinais de áudio coletados pela unidade de entrada de áudio ex356, e transmite os dados de áu-dio codificado para a unidade de multiplexação/demultiplexação ex353.
[00251] A unidade de multiplexação/demultiplexação ex353 multi- plexa os dados de vídeo codificado fornecidos pela unidade de processamento de sinal de vídeo ex355 e os dados de áudio codificado fornecidos pela unidade de processamento de sinal de áudio ex354, usando um método predeterminado. Então, a unidade de modula- ção/demodulação (unidade de circuito de modulação/demodulação) ex352 executa processamento de espectro espalhado nos dados mul- tiplexados, e a unidade de transmissão e recepção ex351 executa conversão de digital para analógico e conversão de frequência nos dados a fim de transmitir os dados resultantes por meio da antena ex350.
[00252] Ao receber dados de um arquivo de vídeo que esteja ligado a uma página da Rede e outros em modo de comunicação de dados ou ao receber uma mensagem de correio eletrônico com vídeo e/ou áudio anexados, a fim de decodificar os dados multiplexados recebidos por meio da antena ex350, a unidade de multiplexa- ção/demultiplexação ex353 demultiplexa os dados multiplexados em um fluxo de bits de dados de vídeo e um fluxo de bits de dados de áu- dio, e provê a unidade de processamento de sinal de vídeo ex355 com os dados de vídeo codificado e a unidade de processamento de sinal de áudio ex354 com os dados de áudio codificado, por meio do barra- mento síncrono ex370. A unidade de processamento de sinal de vídeo ex355 decodifica o sinal de vídeo usando um método de decodificação de imagem em movimento correspondendo ao método de codificação de imagem em movimento mostrado em cada uma das modalidades (isto é, funciona como o aparelho de decodificação de imagem de acordo com o aspecto da presente invenção), e então a unidade de exibição ex358 exibe, por exemplo, o vídeo e imagens estáticas incluídas no arquivo de vídeo ligado à página da Rede por meio da unidade de controle LCD ex359. Além disso, a unidade de processamento de sinal de áudio ex354 decodifica o sinal de áudio, e a unidade de saída de áudio ex357 fornece o áudio.
[00253] Além disso, de forma similar à televisão ex300, um terminal tal como o telefone celular ex114 provavelmente tem 3 tipos de configurações de implementação incluindo não somente (i) um terminal de transmissão e recepção incluindo tanto um aparelho de codificação quanto um aparelho de decodificação, mas também (ii) um terminal de transmissão incluindo somente um aparelho de codificação e (iii) um terminal de recepção incluindo somente um aparelho de decodificação. Embora a sistema de difusão digital ex200 receba e transmita os dados multiplexados obtidos ao multiplexar dados de áudio nos dados de vídeo na descrição, os dados multiplexados podem ser dados obtidos ao multiplexar dados não de áudio, mas dados de caracteres relacionados a vídeo nos dados de vídeo, e podem ser dados não multiple- xados, mas dados de vídeo propriamente dito.
[00254] Como tal, o método de codificação de imagem em movi mento e o método de decodificação de imagem em movimento em cada uma das modalidades podem ser usados em qualquer um dos dis- positivos e sistemas descritos. Assim, as vantagens descritas em cada uma das modalidades podem ser obtidas.
[00255] Além disso, a presente invenção não está limitada às modalidades, e várias modificações e revisões são possíveis sem divergir do escopo da presente invenção. Modalidade 5
[00256] Dados de vídeo podem ser gerados ao comutar, tal como necessário, entre (i) o método de codificação de imagem em movimento ou o aparelho de codificação de imagem em movimento mostrado em cada uma das modalidades e (ii) um método de codificação de imagem em movimento ou um aparelho de codificação de imagem em movimento em conformidade com um padrão diferente, tal como MPEG-2, MPEG-4 AVC e VC-1.
[00257] Aqui, quando uma pluralidade de dados de vídeo que estejam de acordo com os diferentes padrões é gerada e é então decodificada, os métodos de decodificação necessitam ser selecionados para estar de acordo com os diferentes padrões. Entretanto, uma vez que com qual padrão cada um da pluralidade dos dados de vídeo a ser decodificados está de acordo não pode ser detectado, existe um problema em que um método de decodificação apropriado não pode ser selecionado.
[00258] A fim de resolver o problema, dados multiplexados obtidos ao multiplexar dados de áudio e outros em dados de vídeo têm uma estrutura incluindo informação de identificação indicando com qual padrão os dados de vídeo estão de acordo. A estrutura específica dos dados multiplexados incluindo os dados de vídeo gerados no método de codificação de imagem em movimento e pelo aparelho de codificação de imagem em movimento mostrados em cada uma das modalidades será descrita em seguida. Os dados multiplexados são um fluxo digital no formato de Fluxo de Transporte MPEG-2.
[00259] A figura 24 ilustra uma estrutura dos dados multiplexados. Tal como ilustrado na figura 24, os dados multiplexados podem ser obtidos ao multiplexar pelo menos um de um fluxo de vídeo, um fluxo de áudio, um fluxo de gráficos de apresentação (PG) e um fluxo de gráficos interativos. O fluxo de vídeo representa vídeo primário e vídeo secundário de um filme, o fluxo de áudio (IG) representa uma parte de áudio primária e uma parte de áudio secundária para ser misturada com a parte de áudio primária, e o fluxo de gráficos de apresentação representa legendas do filme. Aqui, o vídeo primário é vídeo normal para ser exibido em uma tela, e o vídeo secundário é vídeo para ser exibido em uma janela menor no vídeo primário. Além disso, o fluxo de gráficos interativos representa uma tela interativa para ser gerada ao arranjar os componentes GUI em uma tela. O fluxo de vídeo é codificado no método de codificação de imagem em movimento ou pelo aparelho de codificação de imagem em movimento mostrado em cada uma das modalidades, ou em um método de codificação de imagem em movimento ou por um aparelho de codificação de imagem em movimento em conformidade com um padrão convencional, tal como MPEG-2, MPEG-4 AVC e VC-1. O fluxo de áudio é codificado de acordo com um padrão, tal como Dolby-AC-3, Dolby Digital Plus, MLP, DTS, DTS-HD e PCM linear.
[00260] Cada fluxo incluído nos dados multiplexados é identificado por meio de PID. Por exemplo, 0x1011 é alocado para o fluxo de vídeo a ser usado para vídeo de um filme, 0x1100 a 0x111F são alocados para os fluxos de áudio, 0x1200 a 0x121F são alocados para os fluxos de gráficos de apresentação, 0x1400 a 0x141F são alocados para os fluxos de gráficos interativos, 0x1B00 a 0x1B1F são alocados para os fluxos de vídeo a ser usados para vídeo secundário do filme, e 0x1A00 a 0x1A1F são alocados para os fluxos de áudio a ser usados para o vídeo secundário a ser misturado com o áudio primário.
[00261] A figura 25 ilustra esquematicamente como dados são mul- tiplexados. Primeiro, um fluxo de vídeo ex235 composto de quadros de vídeo e um fluxo de áudio ex238 composto de quadros de áudio são transformados em um fluxo de pacotes PES ex236 e em um fluxo de pacotes PES ex239, e adicionalmente nos pacotes TS ex237 e nos pacotes TS ex240, respectivamente. De forma similar, dados de um fluxo de gráficos de apresentação ex241 e dados de um fluxo de gráficos interativos ex244 são transformados em um fluxo de pacotes PES ex242 e em um fluxo de pacotes PES ex245, e adicionalmente nos pacotes TS ex243 e nos pacotes TS ex246, respectivamente. Estes pacotes TS são multiplexados em um fluxo para obter os dados multi- plexados ex247.
[00262] A figura 26 ilustra como um fluxo de vídeo é armazenado em um fluxo de pacotes PES com mais detalhes. A primeira barra na figura 26 mostra um fluxo de quadros de vídeo em um fluxo de vídeo. A segunda barra mostra o fluxo de pacotes PES. Tal como indicado pelas setas denotadas como yy1, yy2, yy3 e yy4 na figura 26, o fluxo de vídeo é dividido em imagens tais como as imagens I, as imagens B e as imagens P, cada uma das quais é uma unidade de apresentação de vídeo, e as imagens são armazenadas em uma carga útil de cada um dos pacotes PES. Cada um dos pacotes PES tem um cabeçalho PES, e o cabeçalho PES armazena uma Etiqueta de Tempo de Apresentação (PTS) indicando um tempo de exibição da imagem, e uma Etiqueta de Tempo de Decodificação (DTS) indicando um tempo de decodificação da imagem.
[00263] A figura 27 ilustra um formato de pacotes TS para ser gravado finalmente nos dados multiplexados. Cada um dos pacotes TS é um pacote de comprimento fixado de 188 bytes incluindo um cabeçalho TS de 4 bytes tendo informação, tal como um PID, para identificar um fluxo e uma carga útil TS de 184 bytes para armazenar dados. Os pacotes PES são divididos e armazenados nas cargas úteis TS, res-pectivamente. Quando um BD ROM é usado, a cada um dos pacotes TS é dado um TP_Extra_Header de 4 bytes, resultando assim em pacotes fontes de 192 bytes. Os pacotes fontes são gravados nos dados multiplexados. O TP_Extra_Header armazena informação tal como uma Arrival_Time_Stamp (ATS). A ATS mostra uma hora de início de transferência na qual cada um dos pacotes TS é para ser transferido para um filtro PID. Os pacotes fontes são arranjados nos dados multi- plexados tal como mostrado na parte inferior da figura 27. Os números incrementados na cabeça dos dados multiplexados são chamados de números de pacotes fontes (SPNs).
[00264] Cada um dos pacotes TS incluídos nos dados multiplexa- dos inclui não somente fluxos de áudio, vídeo, legendas e outros, mas também uma Tabela de Associação de Programas (PAT), uma Tabela de Mapeamento de Programas (PMT) e uma Referência de Relógio de Programa (PCR). A PAT mostra qual um PID em uma PMT usada nos dados multiplexados indica, e um PID da PAT propriamente dita é registrado como zero. A PMT armazena PIDs dos fluxos de vídeo, áudio, legendas e de outros incluídos nos dados multiplexados, e informação de atributo dos fluxos correspondendo aos PIDs. A PMT também tem vários descritores se relacionando com os dados multiplexados. Os descritores têm informação tal como informação de controle de cópia mostrando se cópia dos dados multiplexados é permitida ou não. A PCR armazena informação de tempo STC correspondendo a uma ATS mostrando quando a pacote PCR é transferido para um decodificador, a fim de alcançar sincronização entre um Relógio de Hora de Chegada (ATC) que é um eixo de tempo de ATSs, e um Relógio de Sistema Comum (STC) que é um eixo de tempo de PTSs e DTSs.
[00265] A figura 28 ilustra a estrutura de dados da PMT detalhadamente. Um cabeçalho PMT é disposto no topo da PMT. O cabeçalho PMT descreve o comprimento de dados incluídos na PMT e outros. Uma pluralidade de descritores se relacionando com os dados multi- plexados é disposta após o cabeçalho PMT. Informação tal como a informação de controle de cópia é descrita nos descritores. Após os descritores, uma pluralidade de peças de informação de fluxo se relacionando com os fluxos incluídos nos dados multiplexados é disposta. Cada peça de informação de fluxo inclui descritores de fluxo, cada um descrevendo informação tal como um tipo de fluxo para identificar um codificador/decodificador de compressão de um fluxo, um PID de fluxo e informação de atributo de fluxo (tal como uma taxa de quadros ou uma relação de aspectos). Os descritores de fluxos são iguais em número ao número de fluxos nos dados multiplexados.
[00266] Quando os dados multiplexados são gravados em uma mídia de gravação e em outras, eles são gravados juntamente com arquivos de informações de dados multiplexados.
[00267] Cada um dos arquivos de informações de dados multiple- xados é informação de gerenciamento dos dados multiplexados tal como mostrado na figura 29. Os arquivos de informações de dados multiplexados estão em correspondência de um para um com os dados multiplexados, e cada um dos arquivos inclui informação de dados multiplexados, informação de atributo de fluxo e um mapa de entrada.
[00268] Tal como ilustrado na figura 29, os dados multiplexados incluem uma taxa de sistema, uma hora de início de reprodução e uma hora de final de reprodução. A taxa de sistema indica a taxa de trans-ferência máxima na qual um decodificador alvo de sistema a ser descrito mais tarde transfere os dados multiplexados para um filtro PID. Os intervalos das ATSs incluídas nos dados multiplexados são estabelecidos para não serem maiores que uma taxa de sistema. A hora de início de reprodução indica uma PTS em um quadro de vídeo na cabeça dos dados multiplexados. Um intervalo de um quadro é acrescentado a uma PTS em um quadro de vídeo no final dos dados multiplexados, e a PTS é estabelecida para a hora de final de reprodução.
[00269] Tal como mostrado na figura 30, uma peça de informação de atributo é registrada na informação de atributo de fluxo, para cada PID de cada fluxo incluído nos dados multiplexados. Cada peça de informação de atributo tem informação diferente dependendo de se o fluxo correspondente é um fluxo de vídeo, um fluxo de áudio, um fluxo de gráficos de apresentação ou um fluxo de gráficos interativos. Cada peça de informação de atributo de fluxo de vídeo carrega informação incluindo que tipo de codificador/decodificador de compressão é usado para compactar o fluxo de vídeo, e a resolução, relação de aspectos e taxa de quadros da peças de dados de imagem que é incluída no fluxo de vídeo. Cada peça de informação de atributo de fluxo de áudio car-rega informação incluindo que tipo de codificador/decodificador de compressão é usado para compactar o fluxo de áudio, quantos canais estão incluídos no fluxo de áudio, qual linguagem o fluxo de áudio suporta e quão alta é a frequência de amostragem. A informação de atributo de fluxo de vídeo e a informação de atributo de fluxo de áudio são usadas para inicialização de um decodificador antes de o reprodutor reproduzir a informação.
[00270] Na presente modalidade, os dados multiplexados a ser usados é de um tipo de fluxo incluído na PMT. Além disso, quando os dados multiplexados são gravados em uma mídia de gravação, a informação de atributo de fluxo de vídeo incluída na informação de dados multiplexados é usada. Mais especificamente, o método de codificação de imagem em movimento ou o aparelho de codificação de imagem em movimento descrito em cada uma das modalidades inclui uma etapa ou uma unidade para alocar informação exclusiva indicando dados de vídeo gerados pelo método de codificação de imagem em movimento ou pelo aparelho de codificação de imagem em movimento em cada uma das modalidades, para o tipo de fluxo incluído na PMT ou a informação de atributo de fluxo de vídeo. Com a configuração, os dados de vídeo gerados pelo método de codificação de imagem em movimento ou pelo aparelho de codificação de imagem em movimento descritos em cada uma das modalidades podem ser distinguidos de dados de vídeo que estão de acordo com um outro padrão.
[00271] Além disso, a figura 31 ilustra etapas do método de decodi- ficação de imagem em movimento de acordo com a presente modalidade. Na etapa exS100, o tipo de fluxo incluído na PMT ou a informação de atributo de fluxo de vídeo é obtida dos dados multiplexados. A seguir, na etapa exS101, é determinado se o tipo de fluxo ou a informação de atributo de fluxo de vídeo indica ou não que os dados multi- plexados são gerados pelo método de codificação de imagem em movimento ou pelo aparelho de codificação de imagem em movimento em cada uma das modalidades. Quando é determinado que o tipo de fluxo ou a informação de atributo de fluxo de vídeo indica que os dados multiplexados são gerados pelo método de codificação de imagem em movimento ou pelo aparelho de codificação de imagem em movimento em cada uma das modalidades, na etapa exS102, decodifica- ção é executada pelo método de decodificação de imagem em movimento em cada uma das modalidades. Além disso, quando o tipo de fluxo ou a informação de atributo de fluxo de vídeo indica conformidade para os padrões convencionais, tal como MPEG-2, MPEG-4 AVC e VC-1, na etapa exS103, decodificação é executada por meio de um método de decodificação de imagem em movimento em conformidade com os padrões convencionais.
[00272] Como tal, alocar um novo valor exclusivo para o tipo de fluxo ou para a informação de atributo de fluxo de vídeo capacita definição de se o método de decodificação de imagem em movimento ou o aparelho de decodificação de imagem em movimento que é descrito em cada uma das modalidades pode ou não executar decodificação. Mesmo quando dados multiplexados estão de acordo com um padrão diferente, um método ou aparelho de decodificação apropriado pode ser selecionado. Assim, torna-se possível decodificar informação sem qualquer erro. Além disso, o método ou aparelho de codificação de imagem em movimento, ou o método ou aparelho de decodificação de imagem em movimento na presente modalidade pode ser usado nos dispositivos e sistemas descritos anteriormente.
Modalidade 6
[00273] Cada um de o método de codificação de imagem em movimento, o aparelho de codificação de imagem em movimento, o método de decodificação de imagem em movimento e o aparelho de decodifi- cação de imagem em movimento em cada uma das modalidades tipicamente é alcançado na forma de um circuito integrado ou um circuito Integrado em Grande Escala (LSI). Como um exemplo do LSI, a figura 32 ilustra uma configuração do LSI ex500 que é construído em um chip. O LSI ex500 inclui os elementos ex501, ex502, ex503, ex504, ex505, ex506, ex507, ex508 e ex509 a ser descritos a seguir, e os elementos são conectados uns aos outros por meio de um barramento ex510. A unidade de circuito de fornecimento de energia ex505 é ativada ao prover cada um dos elementos com energia quando a unidade de circuito de fornecimento de energia ex505 é ligada.
[00274] Por exemplo, quando codificação é executada, o LSI ex500 recebe um sinal AV de um microfone ex117, de uma câmera ex113 e de outros por meio de uma entrada/saída AV ex509 sob controle de uma unidade de controle ex501 incluindo uma CPU ex502, um controlador de memória ex503, um controlador de fluxo ex504 e uma unidade de controle de frequência de acionamento ex512. O sinal AV recebido é armazenado temporariamente em uma memória externa ex511, tal como uma SDRAM. Sob controle da unidade de controle ex501, os dados armazenados são segmentados em partes de dados de acordo com a quantidade e velocidade de processamento para serem transmitidos para uma unidade de processamento de sinal ex507. Então, a unidade de processamento de sinal ex507 codifica um sinal de áudio e/ou um sinal de vídeo. Aqui, a codificação do sinal de vídeo é a codificação descrita em cada uma das modalidades. Além disso, a unidade de processamento de sinal ex507 algumas vezes multiplexa os dados de áudio codificados e os dados de vídeo codificados, e uma entra- da/saída de fluxo ex506 fornece os dados multiplexados para fora. Os dados multiplexados fornecidos são transmitidos para a estação base ex107, ou gravados nas mídias de gravação ex215. Quando conjuntos de dados são multiplexados, os dados devem ser armazenados temporariamente no armazenamento temporário ex508 de maneira que os conjuntos de dados fiquem sincronizados uns com os outros.
[00275] Embora a memória ex511 seja um elemento fora do LSI ex500, ela pode ser incluída no LSI ex500. O armazenamento temporário ex508 não está limitado a um armazenamento temporário, mas pode ser composto de armazenamentos temporários. Além disso, o LSI ex500 pode ser construído em um chip ou em uma pluralidade de chips.
[00276] Além disso, embora a unidade de controle ex501 inclua a CPU ex502, o controlador de memória ex503, o controlador de fluxo ex504, a unidade de controle de frequência de acionamento ex512, a configuração da unidade de controle ex501 não está limitada a isso. Por exemplo, a unidade de processamento de sinal ex507 pode incluir adicionalmente uma CPU. Inclusão de uma outra CPU na unidade de processamento de sinal ex507 pode melhorar a velocidade de processamento. Além disso, como um outro exemplo, a CPU ex502 pode servir como uma parte ou ser uma parte da unidade de processamento de sinal ex507 e, por exemplo, pode incluir uma unidade de proces- samento de sinal de áudio. Em um caso como este, a unidade de controle ex501 inclui a unidade de processamento de sinal ex507 ou a CPU ex502 incluindo uma parte da unidade de processamento de sinal ex507.
[00277] O nome usado aqui é LSI, mas ele também pode ser chamado de IC, sistema LSI, super LSI, ou ultra LSI dependendo do grau de integração.
[00278] Além disso, modos para alcançar integração não estão limitados ao LSI, e um circuito especial ou um processador de uso geral e assim por diante também pode alcançar a integração. Matriz de Portas Programáveis em Campo (FPGA) que pode ser programada após fabricação dos LSIs ou um processador reconfigurável que permita reconfiguração da conexão ou configuração de um LSI pode ser usado para o mesmo propósito.
[00279] No futuro, com o avanço na tecnologia de semicondutores, uma tecnologia de nova marca pode substituir LSI. Os blocos funcionais podem ser integrados usando uma tecnologia como esta. A possibilidade é que o conceito inventivo é aplicado para biotecnologia.
Modalidade 7
[00280] Quando dados de vídeo gerados no método de codificação de imagem em movimento ou pelo aparelho de codificação de imagem em movimento descritos em cada uma das modalidades são decodificados, comparado a quando dados de vídeo que estão de acordo com um padrão convencional, tal como MPEG-2, MPEG-4 AVC e VC-1 são decodificados, a quantidade de processamento provavelmente aumenta. Assim, o LSI ex500 necessita ser estabelecido para uma frequência de acionamento maior que aquela da CPU ex502 a ser usada quando dados de vídeo em conformidade com o padrão convencional são decodificados. Entretanto, quando a frequência de acionamento é estabelecida maior, existe um problema em que o consumo de energia aumenta.
[00281] A fim de resolver o problema, o aparelho de decodificação de imagem em movimento, tal como a televisão ex300 e o LSI ex500, é configurado para determinar com qual padrão os dados de vídeo estão de acordo, e comutar entre as frequências de acionamento de acordo com o padrão determinado. A figura 33 ilustra uma configuração ex800 na presente modalidade. Uma unidade de comutação de frequência de acionamento ex803 estabelece uma frequência de acionamento para uma frequência de acionamento mais alta quando dados de vídeo são gerados pelo método de codificação de imagem em movimento ou pelo aparelho de codificação de imagem em movimento descritos em cada uma das modalidades. Então, a unidade de comutação de frequência de acionamento ex803 instrui uma unidade de processamento de decodificação ex801 que executa o método de de- codificação de imagem em movimento descrito em cada uma das modalidades para decodificar os dados de vídeo. Quando os dados de vídeo estão de acordo com o padrão convencional, a unidade de comutação de frequência de acionamento ex803 estabelece uma frequência de acionamento para uma frequência de acionamento menor que aquela dos dados de vídeo gerados pelo método de codificação de imagem em movimento ou pelo aparelho de codificação de imagem em movimento descritos em cada uma das modalidades. Então, a uni-dade de comutação de frequência de acionamento ex803 instrui a unidade de processamento de decodificação ex802 que está de acordo com o padrão convencional para decodificar os dados de vídeo.
[00282] Mais especificamente, a unidade de comutação de frequência de acionamento ex803 inclui a CPU ex502 e a unidade de controle de frequência de acionamento ex512 na figura 32. Aqui, cada uma de a unidade de processamento de decodificação ex801 que executa o método de decodificação de imagem em movimento descrito em cada uma das modalidades e a unidade de processamento de decodificação ex802 que está de acordo com o padrão convencional corresponde à unidade de processamento de sinal ex507 na figura 32. A CPU ex502 determina com qual padrão os dados de vídeo estão de acordo. Então, a unidade de controle de frequência de acionamento ex512 determina uma frequência de acionamento com base em um sinal da CPU ex502. Além disso, a unidade de processamento de sinal ex507 decodifica os dados de vídeo com base no sinal da CPU ex502. Por exemplo, a informação de identificação descrita na Modalidade 5 provavelmente é usada para identificar os dados de vídeo. A informação de identificação não está limitada à informação descrita na Modalidade 5, mas pode ser qualquer informação contanto que a informação indique com qual padrão os dados de vídeo estão de acordo. Por exemplo, quando pode ser determinado com qual padrão os dados de vídeo estão de acordo com base em um sinal externo para determinar que os dados de vídeo são usados para uma televisão ou um disco, etc., a determinação pode ser feita com base em um sinal externo como este. Além disso, a CPU ex502 seleciona uma frequência de acionamento com base, por exemplo, em uma tabela de consulta na qual os padrões dos dados de vídeo estão associados com as frequências de acionamento, tal como mostrado na figura 35. A frequência de acionamento pode ser selecionada ao armazenar a tabela de consulta no armazenamento temporário ex508 e em uma memória interna de um LSI, e com referência para a tabela de consulta pela CPU ex502.
[00283] A figura 34 ilustra etapas para executar um método na presente modalidade. Primeiro, na etapa exS200, a unidade de processamento de sinal ex507 obtém informação de identificação dos dados multiplexados. A seguir, na etapa exS201, a CPU ex502 determina se os dados de vídeo são ou não gerados pelo método de codificação e pelo aparelho de codificação descritos em cada uma das modalidades, com base na informação de identificação. Quando os dados de vídeo são gerados pelo método de codificação de imagem em movimento e pelo aparelho de codificação de imagem em movimento descritos em cada uma das modalidades, na etapa exS202, a CPU ex502 transmite um sinal para estabelecer a frequência de acionamento para uma frequência de acionamento mais alta para a unidade de controle de frequência de acionamento ex512. Então, a unidade de controle de frequência de acionamento ex512 estabelece a frequência de acionamento para a frequência de acionamento mais alta. Por outro lado, quando a informação de identificação indica que os dados de vídeo estão de acordo com o padrão convencional, tal como MPEG-2, MPEG-4 AVC e VC-1, na etapa exS203, a CPU ex502 transmite um sinal para estabelecer a frequência de acionamento para uma frequência de acionamento mais baixa para a unidade de controle de frequência de acionamento ex512. Então, a unidade de controle de frequência de acionamento ex512 estabelece a frequência de acionamento para a frequência de acionamento menor que aquela no caso onde os dados de vídeo são gerados pelo método de codificação de imagem em movimento e pelo aparelho de codificação de imagem em movimento descritos em cada uma das modalidades.
[00284] Além disso, juntamente com a comutação das frequências de acionamento, o efeito de conservação de energia pode ser melhorado ao mudar a tensão a ser aplicada ao LSI ex500 ou a um aparelho incluindo o LSI ex500. Por exemplo, quando a frequência de acionamento é estabelecida mais baixa, a tensão a ser aplicada ao LSI ex500 ou ao aparelho incluindo o LSI ex500 provavelmente é estabelecida para uma tensão menor que aquela no caso onde a frequência de acionamento é estabelecida mais alta.
[00285] Além disso, quando a quantidade de processamento para decodificar é maior, a frequência de acionamento pode ser estabeleci- da mais alta, e quando a quantidade de processamento para decodificar é menor, a frequência de acionamento pode ser estabelecida mais baixa como o método para estabelecer a frequência de acionamento. Assim, o método de estabelecimento não está limitado aos métodos descritos anteriormente. Por exemplo, quando a quantidade de processamento para decodificar dados de vídeo em conformidade com MPEG-4 AVC é maior que a quantidade de processamento para decodificar dados de vídeo gerados pelo método de codificação de imagem em movimento e pelo aparelho de codificação de imagem em movimento descritos em cada uma das modalidades, a frequência de acionamento provavelmente é estabelecida em ordem inversa ao estabe-lecimento descrito anteriormente.
[00286] Além disso, o método para estabelecer a frequência de acionamento não está limitado ao método para estabelecer a frequência de acionamento mais baixa. Por exemplo, quando a informação de identificação indica que os dados de vídeo são gerados pelo método de codificação de imagem em movimento e pelo aparelho de codificação de imagem em movimento descritos em cada uma das modalidades, a tensão a ser aplicada ao LSI ex500 ou ao aparelho incluindo o LSI ex500 provavelmente é estabelecida maior. Quando a informação de identificação indica que os dados de vídeo estão de acordo com o padrão convencional, tal como MPEG-2, MPEG-4 AVC e VC-1, a tensão a ser aplicada ao LSI ex500 ou ao aparelho incluindo o LSI ex500 provavelmente é estabelecida mais baixa. Como um outro exemplo, quando a informação de identificação indica que os dados de vídeo são gerados pelo método de codificação de imagem em movimento e pelo aparelho de codificação de imagem em movimento descritos em cada uma das modalidades, o acionamento da CPU ex502 provavelmente não tem que ser suspenso. Quando a informação de identificação indica que os dados de vídeo estão de acordo com o padrão con- vencional, tal como MPEG-2, MPEG-4 AVC e VC-1, o acionamento da CPU ex502 provavelmente é suspenso em um dado tempo por causa de a CPU ex502 ter capacidade de processamento extra. Mesmo quando a informação de identificação indica que os dados de vídeo são gerados pelo método de codificação de imagem em movimento e pelo aparelho de codificação de imagem em movimento descritos em cada uma das modalidades, no caso onde a CPU ex502 tem capacidade de processamento extra, o acionamento da CPU ex502 provavelmente é suspenso em um dado tempo. Em um caso como este, o tempo de suspensão provavelmente é estabelecido menor que aquele no caso onde a informação de identificação indica que os dados de vídeo estão de acordo com o padrão convencional, tal como MPEG-2, MPEG-4 AVC e VC-1.
[00287] Desta maneira, o efeito de conservação de energia pode ser melhorado ao comutar entre as frequências de acionamento de acordo com o padrão com o qual os dados de vídeo estão de acordo. Além disso, quando o LSI ex500 ou o aparelho incluindo o LSI ex500 é acionado usando uma bateria, a vida de bateria pode ser estendida com o efeito de conservação de energia.
Modalidade 8
[00288] Existem casos onde uma pluralidade de dados de vídeo que estão de acordo com diferentes padrões é fornecida para os dispositivos e sistemas, tal como uma televisão e um telefone móvel. A fim de capacitar decodificação da pluralidade de dados de vídeo que estão de acordo com os diferentes padrões, a unidade de processamento de sinal ex507 do LSI ex500 necessita estar de acordo com os diferentes padrões. Entretanto, os problemas de aumento na escala do circuito do LSI ex500 e aumento no custo surgem com o uso individual das unidades de processamento de sinais ex507 que estão de acordo com os respectivos padrões.
[00289] A fim de resolver o problema, o que é concebido é uma configuração em que a unidade de processamento de decodificação para implementar o método de decodificação de imagem em movimento descrito em cada uma das modalidades e a unidade de processamento de decodificação que está de acordo com o padrão convencional, tal como MPEG-2, MPEG-4 AVC e VC-1, são compartilhadas parcialmente. Ex900 na figura 36A mostra um exemplo da configuração. Por exemplo, o método de decodificação de imagem em movimento descrito em cada uma das modalidades e o método de decodificação de imagem em movimento que está de acordo com MPEG-4 AVC têm, parcialmente em comum, os detalhes de processamento, tais como codificação de entropia, quantificação inversa, filtragem redutora de blocagem e predição de movimento compensado. Os detalhes de processamento a ser compartilhados provavelmente incluem uso de uma unidade de processamento de decodificação ex902 que esteja de acordo com MPEG-4 AVC. Em contraste, uma unidade de processamento de decodificação dedicada ex901 provavelmente é usada para outro processamento exclusivo para um aspecto da presente invenção. Uma vez que o aspecto da presente invenção é caracterizado por decodificação de entropia em particular, por exemplo, a unidade de processamento de decodificação dedicada ex901 é usada para deco- dificação de entropia. De outro modo, a unidade de processamento de decodificação provavelmente é compartilhada para um de quantificação inversa, filtragem redutora de blocagem e compensação de movimento, ou para todo o processamento. A unidade de processamento de decodificação para implementar o método de decodificação de imagem em movimento descrito em cada uma das modalidades pode ser compartilhada para o processamento a ser compartilhado, e uma unidade de processamento de decodificação dedicada pode ser usada para processamento exclusivo para aquele de MPEG-4 AVC.
[00290] Além disso, ex1000 na figura 36B mostra um outro exemplo em que processamento é compartilhado parcialmente. Este exemplo usa uma configuração incluindo uma unidade de processamento de decodificação dedicada ex1001 que suporta o processamento exclusivo para um aspecto da presente invenção, uma unidade de processamento de decodificação dedicada ex1002 que suporta o processamento exclusivo para um outro padrão convencional e uma unidade de processamento de decodificação ex1003 que suporta processamento a ser compartilhado entre o método de decodificação de imagem em movimento de acordo com o aspecto da presente invenção e o método de decodificação de imagem em movimento convencional. Aqui, as unidades de processamento de decodificação dedicadas ex1001 e ex1002 não são necessariamente especializadas para o processamento de acordo com o aspecto da presente invenção e o processamento do padrão convencional, respectivamente, e podem ser as unidades capazes de implementar processamento geral. Além disso, a configuração da presente modalidade pode ser implementada pelo LSI ex500.
[00291] Como tal, redução da escala do circuito de um LSI e redução do custo são possíveis ao compartilhar a unidade de processamento de decodificação para o processamento a ser compartilhado entre o método de decodificação de imagem em movimento de acordo com o aspecto da presente invenção e o método de decodificação de imagem em movimento em conformidade com o padrão convencional.
Aplicabilidade Industrial
[00292] O método de codificação de imagem e o método de decodi- ficação de imagem de acordo com um aspecto da presente invenção são aplicáveis, por exemplo, para receptores de televisão, gravadores de vídeo digital, sistemas de navegação de carro, telefones celulares, câmeras digitais e câmeras de vídeo digital. Lista de Símbolos de Referência 100, Unidade de decodificação de diferença de vetor de movimento 101, A01 Unidade de controle de reconstrução de diferença de vetor de movimento 102, A02 Unidade de determinação de diferença de vetor de movimento 0 103, A03 Unidade de decodificação de parte de prefixo de diferença de vetor de movimento 104, A04 Unidade de decodificação de parte de sufixo de diferença de vetor de movimento 105, A05 Unidade de decodificação de sinal de diferença de vetor de movimento 106, A06 Unidade de reconstrução de diferença de vetor de movimento 110 Unidade de decodificação de parte de prefixo 120 Unidade de decodificação de parte de sufixo 200, 800 Aparelho de codificação de imagem 205 Subtrator 210 Unidade de transformação e quantificação 220 Unidade de codificação de entropia 230, 420 Unidade de quantificação inversa e transformação inversa 235, 425 Somador 240, 430 Filtro redutor de blocagem 250, 440 Memória 260, 450 Unidade de predição intra 270 Unidade de detecção de movimento 280, 460 Unidade de compensação de movimento 290, 470 Comutador de mudança intra/inter 400, 900 Aparelho de decodificação de imagem 410 Unidade de decodificação de entropia 801 Unidade de codificação 901 Unidade de decodificação A00 Unidade de decodificação de comprimento variável de diferença de vetor de movimento A07 Comutador

Claims (12)

1. Método para decodificar, a partir de um fluxo de bits, um vetor de movimento diferenciado que indica uma diferença entre um vetor de movimento usado para prever uma imagem e um vetor de movimento previsto que é uma previsão do vetor de movimento, caracterizado pelo fato de que compreende as etapas de: decodificar um primeiro sinalizador e um segundo sinalizador executando decodificação aritmética binária adaptativa ao contexto com probabilidade variável; decodificar, subsequente à decodificação do primeiro sinalizador e do segundo sinalizador, primeiros dados agrupados que incluem (i) primeiro dado de prefixo de um componente horizontal do vetor de movimento diferenciado, (ii) segundo dado de prefixo de um componente vertical do vetor de movimento diferenciado; decodificar, subsequente à decodificação dos primeiros dados agrupados, segundos dados agrupados que incluem (i) primeiro dado de sufixo do componente horizontal do vetor de movimento diferenciado, e (ii) segundo dado de sufixo do componente vertical do vetor de movimento diferenciado; derivar o componente horizontal do vetor de movimento di-ferenciado a partir de uma combinação dos primeiros dados do prefixo e dos primeiros dados do sufixo; e derivar o componente vertical do vetor de movimento diferenciado a partir de uma combinação dos segundos dados do prefixo e dos segundos dados do sufixo; em que a decodificação dos primeiros dados agrupados e os segundos dados agrupados é realizada em resposta ao primeiro sinalizador indicando que o componente horizontal do vetor de movimento diferenciado não é zero e o segundo sinalizador indicando que o componente vertical do vetor de movimento diferenciado não é zero.
2. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a decodificação dos primeiros dados agrupados compreende a realização de decodificação aritmética binária adaptativa ao contexto com probabilidade variável.
3. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que a decodificação dos segundos dados agrupados compreende executar a decodificação de desvio.
4. Método, de acordo com a reivindicação 1, caracterizado pelo fato de que compreende ainda: decodificar um primeiro sinalizador indicando se um componente horizontal de um vetor de movimento diferencial adicional é zero, em que o primeiro sinalizador do vetor de movimento diferencial adicional é decodificado executando decodificação aritmética binária adaptativa ao contexto com probabilidade variável; depois de decodificar o primeiro sinalizador do vetor de movimento de diferença adicional, decodificar um segundo sinalizador indicando se um componente vertical do vetor de movimento de diferença adicional é zero, em que o segundo sinalizador do vetor de movimento de diferença adicional é decodificado pela realização de decodificação aritmética binária adaptati- va ao contexto com probabilidade variável; após decodificar o segundo sinalizador do vetor de movimento adicional diferenciado, se o primeiro sinalizador do vetor de movimento adicional diferencial indicar que o componente horizontal do vetor de movimento adicional diferenciado não é zero, decodificar os primeiros dados de prefixo do componente horizontal do movimento adicional de diferença vetor, em que os primeiros dados do prefixo do vetor de movimento de diferença adicional são decodificados executando decodificação aritmética binária adaptativa ao contexto com probabilidade variável; após decodificar pelo menos um do segundo sinalizador ou o primeiro dado de prefixo do vetor de movimento adicional de diferença, se o segundo sinalizador do vetor de movimento adicional de diferença indicar que o componente vertical do vetor de movimento adicional de diferença não é zero, decodificar os dados do segundo prefixo para o componente vertical do vetor de movimento de diferença adicional, em que o segundo dado de prefixo é decodificado executando decodificação aritmética binária adaptativa ao contexto com probabilidade variável; após decodificar pelo menos um dos primeiros dados do prefixo ou do segundo prefixo do vetor de movimento adicional de diferença, se o primeiro sinalizador do vetor de movimento adicional de diferença indicar que o componente horizontal do vetor de movimento adicional de diferença não é zero, decodificar o primeiro sufixo dados para o componente horizontal do vetor de movimento de diferença adicional, em que os primeiros dados do sufixo são decodificados através da decodificação de desvio; após decodificar pelo menos um dos segundos dados do prefixo ou do primeiro sufixo do vetor de movimento adicional de diferença, se o segundo sinalizador do vetor de movimento adicional de diferença indicar que o componente vertical do vetor de movimento adicional de diferença não é zero, decodificar o segundo sufixo dados para o componente vertical do vetor de movimento de diferença adicional, em que os primeiros dados do sufixo são decodificados através da decodificação de desvio; derivar o componente horizontal do vetor de movimento diferencial adicional a partir de: (i) o primeiro sinalizador do vetor de movimento adicional de diferença se o primeiro sinalizador indicar que o componente horizontal do vetor de movimento adicional de diferença é zero ou (ii) os primeiros dados do prefixo e os primeiros dados do sufi- xo do vetor de movimento adicional diferenciado, se o primeiro sinalizador indicar que o componente horizontal do vetor de movimento adicional diferenciado não é zero; e derivar o componente vertical do vetor de movimento de diferença adicional de: (i) o segundo sinalizador do vetor de movimento adicional diferencial, se o segundo sinalizador indicar que o componente vertical do vetor de movimento adicional de diferença é zero, ou (ii) o segundo dado de prefixo e o segundo dado de sufixo do vetor de movimento adicional de diferença, se o segundo sinalizador indica que o componente vertical do vetor de movimento de diferença adicional não é zero.
5. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que, se o primeiro sinalizador do vetor de movimento diferencial adicional indicar que o componente horizontal do vetor de movimento diferencial adicional é zero, a decodificação aritmética binária adaptativa ao contexto não é executada nos primeiros dados do prefixo e a decodificação de desvio não é executado nos primeiros dados do sufixo para o componente horizontal do vetor de movimento diferencial adicional e, se o segundo sinalizador do vetor de movimento diferencial adicional indicar que o componente vertical do vetor de movimento diferencial adicional é zero, a decodificação aritmética binária adaptativa ao contexto não é executada nos segundos dados do prefixo e a decodificação de desvio não é executada nos segundos dados do sufixo para o componente vertical do vetor de movimento de diferença adicional.
6. Método, de acordo com a reivindicação 4, caracterizado pelo fato de que o vetor de movimento de diferença adicional é codificado na seguinte ordem: a) o primeiro sinalizador; (b) o segundo sinalizador; (c) o primeiro dado de prefixo, se o primeiro sinalizador indicar que o componente horizontal do vetor de movimento diferencial diferente não é zero; (d) o segundo prefixo de dados se dados, se o segundo sinalizador indicar que o componente vertical do vetor de movimento de diferença adicional não é zero; (e) os primeiros dados do sufixo, se o primeiro sinalizador indicar que o componente horizontal do vetor de movimento diferencial diferente não é zero; e (f) o segundo sufixo data se data se a segunda flag indicar que o componente vertical do vetor de movimento de diferença adicional não é 0.
7. Aparelho que decodifica, a partir de um fluxo de bits, um vetor de movimento diferenciado que indica uma diferença entre um vetor de movimento usado para prever uma imagem e um vetor de movimento previsto que é uma previsão do vetor de movimento, caracterizado pelo fato de que compreende: circuito de processamento; e armazenamento acessível a partir do circuito de processamento, em que, usando o armazenamento, o circuito de processamento é adaptado para: decodificar o primeiro sinalizador e o segundo sinalizador executando decodificação aritmética binária adaptativa ao contexto com probabilidade variável; decodificar, subsequentemente à decodificação do primeiro sinalizador e do segundo sinalizador, primeiros dados agrupados que incluem (i) um primeiro dado de prefixo de um componente horizontal do vetor de movimento diferencial, (ii) um segundo dado de prefixo de um componente vertical do movimento diferencial vetor; decodificar, após decodificar os primeiros dados agrupados, segundos dados agrupados que incluem (i) os primeiros dados de sufixo do componente horizontal do vetor de movimento diferenciado e (ii) os segundos dados de sufixo do componente vertical do vetor de movimento diferenciado; derivar o componente horizontal do vetor de movimento di-ferenciado a partir de uma combinação dos primeiros dados do prefixo e dos primeiros dados do sufixo; e derivar o componente vertical do vetor de movimento diferenciado a partir de uma combinação dos segundos dados do prefixo e dos segundos dados do sufixo; em que a decodificação dos primeiros dados do prefixo, do segundo dado do prefixo e do segundo dados agrupados é realizada em resposta ao primeiro sinalizador indicando que o componente horizontal do vetor de movimento diferenciado não é zero e o segundo sinalizador indicando que o componente vertical da diferença vetor de movimento não é zero.
8. Aparelho, de acordo com a reivindicação 7, caracterizado pelo fato de que a decodificação dos primeiros dados agrupados compreende a realização de decodificação aritmética binária adaptativa ao contexto com probabilidade variável.
9. Aparelho, de acordo com a reivindicação 7, caracterizado pelo fato de que a decodificação dos segundos dados agrupados compreende a realização de decodificação de desvio.
10. Aparelho, de acordo com a reivindicação 7, caracterizado pelo fato de que o circuito de processamento é ainda adaptado para: decodificar o segundo sinalizador após decodificar o primeiro sinalizador; após decodificar o segundo sinalizador, se o segundo sinalizador indicar que o componente vertical do vetor de movimento diferenciado não é zero, decodifique os dados do segundo prefixo para o componente vertical do vetor de movimento diferenciado, em que os dados do segundo prefixo são decodificados executando o contexto adaptável decodificação aritmética binária com probabilidade variável; após decodificar pelo menos um do segundo sinalizador ou o primeiro dado de prefixo do vetor de movimento diferenciado, se o segundo sinalizador indicar que o componente vertical do vetor de movimento diferenciado não é zero, decodifique os dados do segundo prefixo para o componente vertical do movimento diferenciado vetor, em que os segundos dados do prefixo são decodificados executando decodificação aritmética binária adaptativa ao contexto com probabilidade variável; após decodificar pelo menos um dos primeiros dados de prefixo ou o segundo prefixo do vetor de movimento de diferença, se o primeiro sinalizador indicar que o componente horizontal do vetor de movimento de diferença não é zero, decodifique os primeiros dados de sufixo para o componente horizontal da diferença vetor de movimento, em que os primeiros dados do sufixo são decodificados executando decodificação de desvio; após decodificar pelo menos um dos segundos dados de prefixo ou os primeiros dados de sufixo do vetor de movimento diferenciado, se o segundo sinalizador indicar que o componente vertical do vetor de movimento diferenciado não é zero, decodifique os segundos dados do sufixo para o componente vertical do vetor de movimento diferenciado, em que os primeiros dados do sufixo são decodificados através da decodificação de desvio; derivar o componente horizontal do vetor de movimento di-ferenciado de: (i) o primeiro sinalizador se o primeiro sinalizador indi car que o componente horizontal do vetor de movimento diferenciado é zero ou (ii) os primeiros dados de prefixo e os primeiros dados de sufixo se os primeiros flag indica que o componente horizontal do vetor de movimento diferenciado não é zero; e derivar o componente vertical do vetor de movimento diferenciado de: (i) o segundo sinalizador se o segundo sinalizador indicar que o componente vertical do vetor de movimento diferenciado é zero ou (ii) o segundo dado de prefixo e o segundo dado de sufixo, se o segundo flag indica que o componente vertical do vetor de movimento de diferença não é zero.
11. Aparelho, de acordo com a reivindicação 10, caracterizado pelo fato de que, se o primeiro sinalizador indicar que o componente horizontal do vetor de movimento diferencial é zero, a decodifi- cação aritmética binária adaptativa ao contexto não é realizada nos primeiros dados do prefixo e a decodificação de desvio não é realizada nos primeiros dados do sufixo para o componente horizontal do vetor de movimento diferenciado e, se o segundo sinalizador indicar que o componente vertical do vetor de movimento diferenciado é zero, a de- codificação aritmética binária adaptativa ao contexto não é executada nos segundos dados do prefixo e a decodificação de desvio não é executada em segundo dados de sufixo para o componente vertical do vetor de movimento de diferença.
12. Aparelho, de acordo com a reivindicação 11, caracterizado pelo fato de que o vetor de movimento diferenciado é codificado na seguinte ordem: (a) o primeiro sinalizador; (b) o segundo sinalizador; (c) o primeiro dado de prefixo, se o primeiro sinalizador indicar que o componente horizontal do vetor de movimento diferencial não é zero; (d) o segundo prefixo de dados se dados se o segundo sinalizador indicar que a vertical componente do vetor de movimento diferenciado não é zero; (e) os primeiros dados do sufixo, se o primeiro sinalizador indicar que o componente horizontal do vetor de movimento diferencial não é zero; e (f) o segundo sufixo data se data se a segunda flag indicar que o componente vertical do vetor de movimento diferencial não é zero.
BR112013002450-0A 2011-06-24 2012-06-21 Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem, e aparelho de codificação e decodificação de imagem. BR112013002450B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161500805P 2011-06-24 2011-06-24
US61/500,805 2011-06-24
PCT/JP2012/004014 WO2012176450A1 (ja) 2011-06-24 2012-06-21 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置および画像符号化復号装置

Publications (2)

Publication Number Publication Date
BR112013002450A2 BR112013002450A2 (pt) 2018-01-23
BR112013002450B1 true BR112013002450B1 (pt) 2022-10-25

Family

ID=47361842

Family Applications (1)

Application Number Title Priority Date Filing Date
BR112013002450-0A BR112013002450B1 (pt) 2011-06-24 2012-06-21 Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem, e aparelho de codificação e decodificação de imagem.

Country Status (13)

Country Link
US (7) US8855207B2 (pt)
EP (6) EP4220966B1 (pt)
JP (9) JP5362129B2 (pt)
KR (2) KR102258753B1 (pt)
CN (3) CN107396107B (pt)
AU (1) AU2012274765B2 (pt)
BR (1) BR112013002450B1 (pt)
CA (1) CA2806796C (pt)
ES (2) ES2952761T3 (pt)
MX (1) MX2013001167A (pt)
PL (2) PL3309969T3 (pt)
TW (1) TWI565304B (pt)
WO (1) WO2012176450A1 (pt)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9076239B2 (en) 2009-04-30 2015-07-07 Stmicroelectronics S.R.L. Method and systems for thumbnail generation, and corresponding computer program product
BR112013002450B1 (pt) * 2011-06-24 2022-10-25 Velos Media International Limited Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem, e aparelho de codificação e decodificação de imagem.
US10536701B2 (en) * 2011-07-01 2020-01-14 Qualcomm Incorporated Video coding using adaptive motion vector resolution
CN107197284B (zh) 2011-11-07 2020-03-27 太阳专利托管公司 图像编码解码装置
US9088796B2 (en) * 2011-11-07 2015-07-21 Sharp Kabushiki Kaisha Video decoder with enhanced CABAC decoding
KR20150116840A (ko) * 2013-01-02 2015-10-16 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
GB2513110A (en) * 2013-04-08 2014-10-22 Sony Corp Data encoding and decoding
US9225988B2 (en) 2013-05-30 2015-12-29 Apple Inc. Adaptive color space transform coding
US9706229B2 (en) * 2013-06-05 2017-07-11 Texas Instruments Incorporated High definition VP8 decoder
EP2854405A1 (en) * 2013-09-26 2015-04-01 Thomson Licensing Method and apparatus for encoding and decoding a motion vector representation in interlaced video using progressive video coding tools
WO2015056449A1 (ja) * 2013-10-18 2015-04-23 パナソニック株式会社 画像符号化方法、画像復号方法、画像符号化装置および画像復号装置
US20150189321A1 (en) * 2014-01-02 2015-07-02 Mediatek Inc. Method of Binarization and Context Adaptive Binary Arithmetic Coding of Depth Coding Syntax
JP6346445B2 (ja) 2014-01-10 2018-06-20 キヤノン株式会社 処理装置、処理装置の制御方法、およびプログラム
WO2015149698A1 (en) * 2014-04-01 2015-10-08 Mediatek Inc. Method of motion information coding
WO2015192779A1 (en) 2014-06-20 2015-12-23 Mediatek Inc. Method and apparatus of binarization and context-adaptive coding for syntax in video coding
WO2016013571A1 (ja) * 2014-07-23 2016-01-28 株式会社不二越 転がり軸受
EP3270594A1 (en) * 2016-07-15 2018-01-17 Thomson Licensing Method and apparatus for advanced cabac context adaptation for last coefficient coding
KR20210115052A (ko) 2017-07-07 2021-09-24 삼성전자주식회사 적응적 움직임 벡터 해상도로 결정된 움직임 벡터의 부호화 장치 및 부호화 방법, 및 움직임 벡터의 복호화 장치 및 복호화 방법
US11432003B2 (en) 2017-09-28 2022-08-30 Samsung Electronics Co., Ltd. Encoding method and apparatus therefor, and decoding method and apparatus therefor
WO2019150411A1 (ja) * 2018-01-30 2019-08-08 富士通株式会社 映像符号化装置、映像符号化方法、映像復号装置、映像復号方法、及び映像符号化システム
KR102551363B1 (ko) 2018-02-28 2023-07-04 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
CN108810553B (zh) * 2018-05-02 2021-01-12 上海大学 一种基于稀疏化处理的移动节点监测数据序列压缩方法
EP3787296A4 (en) * 2018-05-21 2021-07-28 LG Electronics Inc. METHOD AND DEVICE FOR DECODING AN IMAGE USING AN MVD DERIVATIVE BASED ON A LUT TABLE IN AN IMAGE CODING SYSTEM
KR20210014094A (ko) * 2018-06-26 2021-02-08 삼성전자주식회사 움직임 정보의 부호화 장치 및 부호화 방법, 및 움직임 정보의 복호화 장치 및 복호화 방법
WO2020143643A1 (en) * 2019-01-07 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Control method for merge with mvd
WO2020143774A1 (en) 2019-01-10 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Merge with mvd based on geometry partition

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381145A (en) * 1993-02-10 1995-01-10 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
GB2319689B (en) * 1994-02-23 1998-07-15 Ricoh Kk Compression of palletized images
CN1976456B (zh) * 2002-04-19 2011-06-08 松下电器产业株式会社 图像解码方法及图像解码装置
US8054880B2 (en) * 2004-12-10 2011-11-08 Tut Systems, Inc. Parallel rate control for digital video encoder with multi-processor architecture and picture-based look-ahead window
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
CN1216496C (zh) * 2003-09-27 2005-08-24 浙江大学 一种视频编解码中的运动矢量预测方法和装置
JP2005184232A (ja) * 2003-12-17 2005-07-07 Sony Corp 符号化装置、プログラム、およびデータ処理方法
KR100645735B1 (ko) * 2004-10-14 2006-11-15 주식회사 팬택 모바일 플랫폼의 컨텐츠 오동작 통신 검출 장치 및 방법
WO2007065351A1 (en) * 2005-12-05 2007-06-14 Huawei Technologies Co., Ltd. Binarizing method and device thereof
CN1984336A (zh) * 2005-12-05 2007-06-20 华为技术有限公司 一种二进制化方法及装置
JP5025286B2 (ja) * 2007-02-28 2012-09-12 シャープ株式会社 符号化装置及び復号装置
JP5277180B2 (ja) * 2007-03-23 2013-08-28 トムソン ライセンシング 符号化ビットストリームの修正
US8782379B2 (en) * 2007-09-27 2014-07-15 Qualcomm Incorporated H.264 video decoder CABAC core optimization techniques
US8891615B2 (en) * 2008-01-08 2014-11-18 Qualcomm Incorporated Quantization based on rate-distortion modeling for CABAC coders
EP2319244A1 (en) * 2008-08-19 2011-05-11 Thomson Licensing Cabac/avc compliant watermarking of syntax elements in compressed video
CN102187583B (zh) * 2008-08-19 2013-09-11 汤姆森特许公司 基于上下文的自适应二进制算术编码(cabac)的视频流兼容性
JP2010050697A (ja) * 2008-08-21 2010-03-04 Toshiba Corp 画像圧縮伸張装置および画像圧縮伸張方法
EP2164176A1 (en) * 2008-09-12 2010-03-17 Thomson Licensing Method for lossless compressing prefix-suffix-codes, method for decompressing a bit sequence representing integers or symbols encoded in compressed prefix-suffix-codes and storage medium or signal carrying compressed prefix-suffix-codes
TWI455587B (zh) 2009-04-10 2014-10-01 Asustek Comp Inc 具有多格式影像編解碼功能的資料處理電路及處理方法
JP5258664B2 (ja) * 2009-04-14 2013-08-07 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
JP2010278668A (ja) * 2009-05-27 2010-12-09 Sony Corp 符号化装置及び符号化方法、並びに復号装置及び復号方法
WO2011034148A1 (ja) 2009-09-18 2011-03-24 シャープ株式会社 符号化装置、復号装置、動画像符号化装置、動画像復号装置、および符号化データ
US9060176B2 (en) * 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
US9591320B2 (en) 2010-07-15 2017-03-07 Texas Instruments Incorporated Context and bypass encoding video
US9532066B2 (en) * 2011-01-21 2016-12-27 Qualcomm Incorporated Motion vector prediction
US9106913B2 (en) * 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
LT3343781T (lt) 2011-06-16 2022-03-10 Ge Video Compression, Llc Konteksto inicijavimas entropinio kodavimo metu
BR112013002450B1 (pt) * 2011-06-24 2022-10-25 Velos Media International Limited Método de codificação de imagem, método de decodificação de imagem, aparelho de codificação de imagem, aparelho de decodificação de imagem, e aparelho de codificação e decodificação de imagem.
US10536701B2 (en) * 2011-07-01 2020-01-14 Qualcomm Incorporated Video coding using adaptive motion vector resolution

Also Published As

Publication number Publication date
EP3309970A1 (en) 2018-04-18
US11743490B2 (en) 2023-08-29
JP2019047517A (ja) 2019-03-22
CN107396107A (zh) 2017-11-24
US11991388B2 (en) 2024-05-21
US20190349600A1 (en) 2019-11-14
EP2725796A1 (en) 2014-04-30
PL3309970T3 (pl) 2023-09-25
US10382779B2 (en) 2019-08-13
CN103004207A (zh) 2013-03-27
JP5362129B2 (ja) 2013-12-11
KR102258753B1 (ko) 2021-05-31
JP5415648B2 (ja) 2014-02-12
EP3522377A1 (en) 2019-08-07
JP6821766B2 (ja) 2021-01-27
AU2012274765A2 (en) 2013-03-28
JP5390727B1 (ja) 2014-01-15
EP3309970B1 (en) 2023-06-07
CN107371025A (zh) 2017-11-21
EP2725796A4 (en) 2014-11-12
ES2944949T3 (es) 2023-06-27
KR20200067219A (ko) 2020-06-11
US9681130B2 (en) 2017-06-13
TW201306599A (zh) 2013-02-01
US20140029674A1 (en) 2014-01-30
JPWO2012176450A1 (ja) 2015-02-23
JP6229909B2 (ja) 2017-11-15
JP2014014130A (ja) 2014-01-23
JP2020018013A (ja) 2020-01-30
CN107396107B (zh) 2021-02-02
US20230353775A1 (en) 2023-11-02
US9648324B2 (en) 2017-05-09
JP2014014146A (ja) 2014-01-23
EP3309969B1 (en) 2023-04-19
EP4383723A2 (en) 2024-06-12
US11330292B2 (en) 2022-05-10
EP3309969A1 (en) 2018-04-18
AU2012274765B2 (en) 2016-06-30
ES2952761T3 (es) 2023-11-03
JP2017229103A (ja) 2017-12-28
AU2012274765A1 (en) 2013-02-07
MX2013001167A (es) 2013-02-15
EP4220966B1 (en) 2024-06-05
JP6612416B2 (ja) 2019-11-27
JP2014003698A (ja) 2014-01-09
CA2806796C (en) 2020-08-25
CN107371025B (zh) 2020-04-14
CA2806796A1 (en) 2012-12-27
BR112013002450A2 (pt) 2018-01-23
JP7033675B2 (ja) 2022-03-10
JP2016226026A (ja) 2016-12-28
JP6443847B2 (ja) 2018-12-26
CN103004207B (zh) 2017-09-29
US20170230681A1 (en) 2017-08-10
US20220329848A1 (en) 2022-10-13
WO2012176450A1 (ja) 2012-12-27
TWI565304B (zh) 2017-01-01
US8855207B2 (en) 2014-10-07
JP2021069124A (ja) 2021-04-30
US20140029673A1 (en) 2014-01-30
KR20140032930A (ko) 2014-03-17
US20120328022A1 (en) 2012-12-27
PL3309969T3 (pl) 2023-09-18
EP4220966A1 (en) 2023-08-02
JP5999563B2 (ja) 2016-09-28

Similar Documents

Publication Publication Date Title
JP7033675B2 (ja) 復号方法、復号装置、符号化方法及び符号化装置
CA2841112C (en) Moving picture coding and decoding using context adaptive binary arithmetic coding with fixed probability for some sample adaptive offset parameters
JP2016226027A (ja) 復号方法および復号装置
BR112013031212B1 (pt) Método de decodificação de imagem e aparelho de decodificação de imagem
EP2884747B1 (en) Image decoding method,image decoding device

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AME

B15K Others concerning applications: alteration of classification

Ipc: H04N 7/00 (2011.01)

B25A Requested transfer of rights approved

Owner name: SUN PATENT TRUST (US)

B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B25G Requested change of headquarter approved

Owner name: SUN PATENT TRUST (US)

B25A Requested transfer of rights approved

Owner name: VELOS MEDIA INTERNATIONAL LIMITED (IE)

B06U Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]
B06A Patent application procedure suspended [chapter 6.1 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 21/06/2012, OBSERVADAS AS CONDICOES LEGAIS. PATENTE CONCEDIDA CONFORME ADI 5.529/DF, QUE DETERMINA A ALTERACAO DO PRAZO DE CONCESSAO.

B25A Requested transfer of rights approved

Owner name: SUN PATENT TRUST (US)