BRPI0303566B1 - “Método de codificação de imagem, método de decodificação de imagem e fluxo de bits” - Google Patents

“Método de codificação de imagem, método de decodificação de imagem e fluxo de bits” Download PDF

Info

Publication number
BRPI0303566B1
BRPI0303566B1 BRPI0303566-2A BRPI0303566A BRPI0303566B1 BR PI0303566 B1 BRPI0303566 B1 BR PI0303566B1 BR PI0303566 A BRPI0303566 A BR PI0303566A BR PI0303566 B1 BRPI0303566 B1 BR PI0303566B1
Authority
BR
Brazil
Prior art keywords
image
current block
value
coefficients
block
Prior art date
Application number
BRPI0303566-2A
Other languages
English (en)
Inventor
Abe Kiyofumi
Kadono Shinya
Kondo Satoshi
Hagai Makoto
Original Assignee
Godo Kaisha Ip Bridge 1
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=29243326&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BRPI0303566(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Godo Kaisha Ip Bridge 1 filed Critical Godo Kaisha Ip Bridge 1
Publication of BRPI0303566B1 publication Critical patent/BRPI0303566B1/pt

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/004Predictors, e.g. intraframe, interframe coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Supplying Of Containers To The Packaging Station (AREA)
  • Holo Graphy (AREA)

Abstract

"método de codificação de imagem e método de decodificação de imagem". a presente invenção refere-se a método que inclui as unidades a seguir: uma unidade de detecção de número de coeficiente (109) para a detecção do número de coeficientes o qual tem um outro valor além de 0 para cada bloco, de acordo com o coeficiente gerado, uma unidade de armazenamento de número de coeficiente (110), para o armazenamento do número de coeficientes detectado, uma unidade de codificação de número de coeficiente (111) para a seleção de uma tabela para uma codificação de comprimento variável, com base nos números de coeficientes nos blocos codificados localizados na periferia de um bloco atual a ser codificado com referência à tabela selecionada para codificação de comprimento variável, de modo a se realizar a codificação de comprimento variável para o número de coeficientes.

Description

(54) Título: MÉTODO DE CODIFICAÇÃO DE IMAGEM, MÉTODO DE DECODIFICAÇÃO DE IMAGEM E FLUXO DE BITS (51) Int.CI.: H04N 19/13 (52) CPC: H04N 19/13 (30) Prioridade Unionista: 15/04/2002 JP 2002-112665 (73) Titular(es): GODO KAISHA IP BRIDGE 1 (72) Inventor(es): KIYOFUMI ABE; SHINYA KADONO; SATOSHI KONDO; MAKOTO HAGAI
Figure BRPI0303566B1_D0001
Relatório Descritivo da Patente de Invenção para MÉTODO DE CODIFICAÇÃO DE IMAGEM, MÉTODO DE DECODIFICAÇÃO DE IMAGEM E FLUXO DE BITS.
Campo Técnico
A presente invenção refere-se a um método de codificação de imagem e a um método de decodificação de imagem para a codificação de uma imagem digitalmente de modo a se transferi-la ou armazená-la. Fundamentos da Invenção
Uma codificação de filmes, em geral, divide uma imagem em um certo tamanho de blocos e realiza uma predição intra-imagem e uma predição interimagem para cada bloco. Ela, então, aplica uma transformação ortogonal, por exemplo, uma transformação de co-seno discreta ou similar para cada bloco da menor unidade de uma divisão (isto é, 4 x 4 pixels), de modo a se realizar uma codificação usando-se uma codificação de comprimento variável com base em uma codificação de nível de rodada para coeficientes mostrando componentes de freqüência espacial obtidos pela transformação ortogonal.
A codificação de comprimento variável atribui um código de comprimento variável a valores dos coeficientes contidos no bloco ao qual a transformação ortogonal é aplicada (nível), bem como a números consistindo em uma série de um coeficiente 0 (rodada). Neste caso, uma tabela, a qual corresponde a valores com código de comprimento variável é denominada uma tabela de VLC. Segundo o método convencional, apenas uma tabela é preparada como uma tabela de VLC, respectivamente, para uma codificação de intrapredição e uma codificação de interpredição (referência à ISO/IEC 14496-2: 1999 (E) Information technology - coding of audio-visual objects Part 2: Visual (01/12/1999) p. 119 7.4.1 Variable length decoding).
Segundo o método de codificação de comprimento variável explicado na técnica existente, apenas uma tabela é preparada como uma tabela de VLC, respectivamente, para uma codificação de intrapredição e uma codificação de interpredição. Portanto, ela contém um problema de a eficiência de codificação diferir grandemente, dependendo de uma qualidade de
Figure BRPI0303566B1_D0002
uma imagem atual a ser codificada.
De modo a resolver este problema, um método de preparação de uma pluralidade de tabelas de modo a referir-se a elas pela alternância entre elas de acordo com o número de coeficientes além de 0 contidos em um bloco atual ao qual a transformação ortogonal é aplicada e concebível. Para a realização disso, é necessário realizar uma codificação pela aplicação de uma codificação de comprimento variável para os números dos outros coeficientes além de 0, embora o método de codificação e o método de decodificação ainda não sejam estabelecidos.
Descrição da Invenção
A presente invenção foi divisada tendo em vista essas circunstâncias, e é um objetivo da presente invenção sugerir um método de codificação de imagem bem como um método de decodificação de imagem que realizem a codificação do número de outros coeficientes além de 0 contidos no bloco ao qual a transformação ortogonal é aplicada, com alta eficiência, independentemente da qualidade da imagem atual.
De modo a se resolver o problema, como mencionado acima, um método de codificação de imagem de acordo com a presente invenção codifica, em uma base de bloco a bloco, uma imagem pela transformação da imagem em coeficientes mostrando componentes de freqüência espacial, e compreende: uma etapa de predição para o cálculo de um valor preditivo do número de outros coeficientes além de 0 contidos em um bloco atual a ser codificado, com base nos números de outros coeficientes além de 0 contidos nos blocos codificados localizados em uma periferia do bloco atual; uma etapa de seleção de tabela, para a seleção de tabelas para uma codificação de comprimento variável com base no valor preditivo calculado na etapa de predição; e uma etapa de codificação de comprimento variável para a realização de uma codificação de comprimento variável para o número de outros coeficientes além de 0 contidos no bloco atual, com referência a tabelas para a codificação de comprimento variável selecionadas na etapa de seleção de tabela.
Assim, ele realiza um melhoramento na eficiência de codificaΜ ção, uma vez que é possível referir-se a tabelas ótimas para a codificação de comprimento variável, quando da codificação do número de outros coeficientes além de 0 contidos no bloco atual.
Também, na etapa de predição, o valor preditivo é calculado usando-se um valor ponderado dos números dos outros coeficientes além de 0 contidos nos blocos codificados.
Também, as tabelas para a codificação de comprimento variável incluem pelo menos uma tabela de VLC. Na etapa de seleção de tabela, a tabela de VLC é selecionada com base no valor preditivo calculado na etapa de predição e na etapa de codificação de comprimento variável, o número de outros coeficientes além de 0 contidos no bloco atual é transformado em um código de comprimento variável com referência à tabela de VLC selecionada na etapa de seleção de tabela.
As tabelas para a codificação de comprimento variável incluem pelo menos uma tabela de código e uma tabela de VLC. Na etapa de seleção de tabela, uma tabela de código e uma tabela de VLC são selecionadas com base no valor preditivo calculado na etapa de predição e na etapa de codificação de comprimento variável, o número dos outros coeficientes além de 0 contidos no bloco atual é transformado em um número de código com referência à tabela de código selecionada na etapa de seleção de tabela e, então, o número de código é transformado em um código de comprimento variável com referência à tabela de VLC selecionada na etapa de seleção de tabela.
O método de codificação de imagem compreende uma etapa de manutenção para se manterem os números dos outros coeficientes além de 0 contidos nos blocos codificados vizinhos a um bloco não-codificado, pelo menos até o bloco não-codificado ser codificado.
Na etapa de predição, o valor preditivo do número dos outros coeficientes além de 0 contidos no bloco atual é calculado com base nos números dos outros coeficientes além de 0 contidos nos blocos codificados localizados acima e à esquerda do bloco atual.
Na etapa de predição, um valor 0 é estabelecido como o valor υ
preditivo quando nenhum bloco codificado for encontrado acima e à esquerda do bloco atual.
Na etapa de predição, um valor ponderado dos números dos outros coeficientes além de 0 contidos nos blocos codificados localizados acima e à esquerda do bloco atual é calculado como o valor preditivo quando os blocos codificados forem encontrados acima e à esquerda do bloco atual.
Na etapa de predição, o número dos outros coeficientes além de 0 contidos no bloco codificado à esquerda do bloco atual é estabelecido como o valor preditivo, quando o bloco codificado for encontrado à esquerda, mas não acima do bloco atual.
Na etapa de predição, o número dos outros coeficientes além de 0 contidos no bloco codificado acima do bloco atual é estabelecido como o valor preditivo quando o bloco codificado for encontrado acima, mas não à esquerda do bloco atual.
Na etapa de predição, um valor 0 é estabelecido como o valor preditivo quando as fronteiras superior e esquerda do bloco atual forem uma fronteira de imagens, cada uma das quais sendo uma unidade da imagem, ou uma fronteira de fatias, cada uma das quais sendo em que a imagem é dividida em uma pluralidade de seções.
Na etapa de predição, um valor ponderado dos números dos outros coeficientes além de 0 contidos nos blocos codificados localizados acima e à esquerda do bloco atual é estabelecido como o valor preditivo quando as fronteiras superior e esquerda do bloco atual não forem nem uma fronteira de imagens, cada uma das quais sendo uma unidade da imagem, nem uma fronteira de fatias, cada uma das quais sendo em que a imagem é dividida em uma pluralidade de seções.
Na etapa de predição, o número dos outros coeficientes além de 0 contidos no bloco codificado à esquerda do bloco atual é estabelecido como o valor preditivo quando uma fronteira superior do bloco atual for uma fronteira de imagens, cada uma das quais sendo uma unidade da imagem, ou uma fronteira de fatias, cada uma das quais sendo em que a imagem é
Figure BRPI0303566B1_D0003
dividida em uma pluralidade de seções, e a fronteira esquerda não é a fronteira de imagens nem a fronteira de fatias.
Na etapa de predição, o número dos outros coeficientes além de 0 contidos no bloco codificado acima do bloco atual é estabelecido como o valor preditivo quando uma fronteira esquerda do bloco atual é uma fronteira de imagens, cada uma das quais sendo uma unidade da imagem, ou uma fronteira de fatias, cada uma das quais sendo em que a imagem é dividida em uma pluralidade de seções, e uma fronteira superior não é nem a fronteira de imagens nem a fronteira de fatias.
Um método de decodificação de imagem de acordo com a presente invenção decodifica, em uma base de bloco a bloco, uma imagem que é codificada pela transformação da imagem em coeficientes mostrando componentes de freqüência espacial, e compreende:
uma etapa de predição para o cálculo de um valor preditivo do número dos outros coeficientes além de 0 contidos em um bloco atual a ser decodificado, com base nos números dos outros coeficientes além de 0 contidos nos blocos decodificados localizados em uma periferia do bloco atual;
uma etapa de seleção de tabela para a seleção de tabelas para decodificação de comprimento variável com base no valor preditivo calculado na etapa de predição; e uma etapa de decodificação de comprimento variável para a realização de uma decodificação de comprimento variável para o número dos outros coeficientes além de 0 contidos no bloco atual com referência às tabelas para decodificação de comprimento variável selecionadas na etapa de seleção de tabela.
Assim, ele realiza uma decodificação correta de um fluxo de bits, no qual o número dos outros coeficientes além de 0 contidos no bloco é codificado, referindo-se a tabelas ótimas para uma decodificação de comprimento variável.
Também, na etapa de predição, o valor preditivo é calculado usando-se um valor ponderado dos números dos outros coeficientes além de 0 contidos nos blocos decodificados.
Também, as tabelas para decodificação de comprimento variável incluem pelo menos uma tabela de VLC. Na etapa de seleção de tabela, uma tabela de VLC é selecionada com base no valor preditivo calculado na etapa de predição, e, na etapa de decodificação de comprimento variável, um código de comprimento variável mostrando o número dos outros coeficientes além de 0 contidos no bloco atual é transformado no referido número dos outros coeficientes além de 0 contidos no bloco atual, com referência à tabela de VLC selecionada na etapa de seleção de tabela.
As tabelas para decodificação de comprimento variável incluem pelo menos uma tabela de código e uma tabela de VLC. Na etapa de seleção de tabela, a tabela de código e a tabela de VLC são selecionadas com base no valor preditivo calculado na etapa de predição, e na etapa de decodificação de comprimento variável, um código de comprimento variável mostrando o número dos outros coeficientes além de 0 contidos no bloco atual é transformado em um número de código com referência à tabela de VLC selecionada na etapa de seleção de tabela e, então, o número de código é transformado no referido número dos outros coeficientes além de 0 contidos no bloco atual, com referência à tabela de código selecionada pela etapa de seleção de tabela.
O método de decodificação de imagem compreende uma etapa de manutenção para se manterem os números dos outros coeficientes além de 0 contidos nos blocos decodificados vizinhos a um bloco nãodecodificado pelo menos até o bloco não-decodificado ser decodificado.
Na etapa de predição, o valor preditivo do número dos outros coeficientes além de 0 contidos no bloco atual é calculado com base nos números dos outros coeficientes além de 0 contidos nos blocos decodificados localizados acima e à esquerda do bloco atual.
Na etapa de predição, um valor 0 é estabelecido como o valor preditivo quando nenhum bloco decodificado for encontrado acima e à esquerda do bloco atual.
Na etapa de predição, um valor ponderado dos números dos outros coeficientes além de 0 contidos nos blocos decodificados localizados
Ι5 acima e à esquerda do bloco atual é estabelecido como o valor preditivo quando os blocos decodificados forem encontrados acima e à esquerda do bloco atual.
Na etapa de predição, o número dos outros coeficientes além de 0 contidos no bloco decodificado à esquerda do bloco atual é estabelecido como o valor preditivo, quando o bloco decodificado for encontrado à esquerda, mas não acima.
Na etapa de predição, o número dos outros coeficientes além de 0 contidos no bloco decodificado acima do bloco atual é estabelecido como o valor preditivo quando o bloco decodificado for encontrado acima, mas não à esquerda do bloco atual.
Na etapa de predição, um valor 0 é estabelecido como o valor preditivo quando as fronteiras superior e esquerda do bloco atual forem uma fronteira de imagens, cada uma das quais sendo uma unidade da imagem, ou uma fronteira de fatias, cada uma das quais sendo em que a imagem é dividida em uma pluralidade de seções.
Na etapa de predição, um valor ponderado dos números dos outros coeficientes além de 0 contidos nos blocos decodificados localizados acima e à esquerda do bloco atual é estabelecido como o valor preditivo quando as fronteiras superior e esquerda do bloco atual não forem nem uma fronteira de imagens, cada uma das quais sendo uma unidade da imagem, nem uma fronteira de fatias, cada uma das quais sendo em que a imagem é dividida em uma pluralidade de seções.
Na etapa de predição, o número dos outros coeficientes além de 0 contidos no bloco decodificado à esquerda do bloco atual é estabelecido como o valor preditivo quando uma fronteira superior do bloco atual for uma fronteira de imagens, cada uma das quais sendo uma unidade da imagem, ou uma fronteira de fatias, cada uma das quais sendo em que a imagem é dividida em uma pluralidade de seções, e uma fronteira esquerda não é a fronteira de imagens nem a fronteira de fatias.
Na etapa de predição, o número dos outros coeficientes além de 0 contidos no bloco decodificado acima do bloco atual é estabelecido como o valor preditivo quando uma fronteira esquerda do bloco atual é uma fronteira de imagens, cada uma das quais sendo uma unidade da imagem, ou uma fronteira de fatias, cada uma das quais sendo em que a imagem é dividida em uma pluralidade de seções, e uma fronteira superior não é nem a fronteira de imagens nem a fronteira de fatias.
A presente invenção é realizada não apenas como um método de codificação de imagem e um método de decodificação de imagem, mas, também, como um dispositivo de codificação de imagem e um dispositivo de decodificação de imagem, incluindo as etapas características contidas nesses métodos como meios. É realizada, também, como um programa, o qual faz com que um computador execute essas etapas ou como um fluxo de bits criado pelo método de codificação de imagem. Um programa como esse pode seguramente ser distribuído através de um meio de armazenamento como um CD-ROM e um meio de transmissão como a Internet.
Breve Descrição dos Desenhos
A Figura 1 é um diagrama de blocos que mostra uma estrutura de uma modalidade de um dispositivo de codificação de imagem que usa um método de codificação de imagem de acordo com a presente invenção.
A Figura 2A é um diagrama padrão que mostra um esquema de uma ordem de processamento de macroblocos em cada imagem. A Figura 2B é um diagrama padrão que mostra macroblocos os quais pertencem aos blocos codificados usados para referência, de modo a se codificar um número de coeficientes de um bloco atual a ser codificado.
A Figura 3A é um diagrama de blocos que mostra uma estrutura de um codificador de número de coeficiente de acordo com a primeira modalidade da presente invenção. A Figura 3B é um diagrama de blocos que mostra uma estrutura de um exemplo de transformação do codificador de número de coeficiente.
A Figura 4A e a Figura 4B são diagramas padrão que mostram uma posição física de um bloco atual a ser codificado e dos blocos codificados usados para a referência. A Figura 4a apresenta um caso de uso de três blocos adjacentes, ao passo que a Figura 4B apresenta um caso de uso de dois blocos adjacentes.
A Figura 5 é um diagrama padrão que mostra um exemplo de um fluxo onde o número de coeficientes é transformado em um fluxo de bits com referência a tabelas.
A Figura 6A e a Figura 6B são diagramas padrão que mostram blocos de referência para um macrobloco atual a ser codificado. A Figura 6a apresenta um caso de uso de três blocos adjacentes, ao passo que a Figura 6B apresenta um caso de uso de dois blocos adjacentes.
A Figura 7A, a Figura 7B e a Figura 7C são diagramas padrão que mostram uma operação na qual uma unidade de armazenamento de número de coeficiente armazena os números de coeficientes. A Figura 7A apresenta um caso em que um processamento prossegue até o próximo macrobloco, ao passo que a Figura 7B apresenta um caso em que o processamento prossegue adicionalmente para o macrobloco seguinte. A Figura 7C apresenta um caso em que o macrobloco atual está localizado na borda direita da imagem e o processamento se desloca para o próximo macrobloco.
A Figura 8A, a Figura 8B e a Figura 8C são diagramas de blocos que mostram uma estrutura de um exemplo de transformação de um codificador de número de coeficiente de acordo com a primeira modalidade da presente invenção. A Figura 8A apresenta um caso de fixação de uma tabela de código. A Figura 8B apresenta um caso de fixação de uma tabela de VLC. A Figura 8C apresenta um caso de uso apenas de uma tabela de VLC, sem o uso de tabelas de código.
A Figura 9 é um diagrama de blocos que mostra uma estrutura de um exemplo de transformação do codificador de número de coeficiente de acordo com a primeira modalidade da presente invenção.
A Figura 10A é um diagrama de blocos que mostra uma estrutura de um codificador de número de coeficiente de acordo com a segunda modalidade da presente invenção. A Figura 10B é um diagrama de blocos que mostra uma estrutura de um exemplo de transformação do codificador de número de coeficiente.
1()
A Figura 11Α e a Figura 11B são diagramas padrão que mostram uma posição de blocos direcionados para estatísticas dos números de coeficientes de acordo com a segunda e a sétima modalidades da presente invenção.
A Figura 12A é um diagrama de blocos que mostra uma estrutura de um codificador de número de coeficiente de acordo com a terceira modalidade da presente invenção. A Figura 12Β é um diagrama de blocos que mostra uma estrutura de um exemplo de transformação do codificador de número de coeficiente.
A Figura 13A é um diagrama de blocos que mostra uma estrutura de um codificador de número de coeficiente de acordo com a quarta modalidade da presente invenção. A Figura 13B é um diagrama de blocos que mostra uma estrutura de um exemplo de transformação do codificador de número de coeficiente.
A Figura 14 é um diagrama de blocos que mostra um método de cálculo de um valor de avaliação obtido pela alternância de tabela de acordo com a quarta e a nona modalidades da presente invenção.
A Figura 15 é um diagrama de blocos que mostra uma estrutura de um dispositivo de codificação de imagem de acordo com a quinta modalidade da presente invenção.
A Figura 16 é um diagrama de blocos que mostra uma estrutura de um codificador de número de coeficiente de acordo com a quinta modalidade da presente invenção.
A Figura 17 é um diagrama de blocos que mostra uma estrutura de uma modalidade de um dispositivo de decodificação de imagem que usa um método de decodificação de imagem de acordo com a presente invenção.
A Figura 18A é um diagrama de blocos que mostra uma estrutura de um decodificador de número de coeficiente de acordo com a sexta modalidade da presente invenção. A Figura 18B é um diagrama de blocos que mostra uma estrutura de um exemplo de transformação do decodificador de número de coeficiente.
A Figura 19 é um diagrama padrão que mostra um exemplo de um fluxo quando um fluxo de bits de um número de coeficientes é transformado no número de coeficientes com referência a tabelas.
A Figura 20A e a Figura 20B são diagramas de blocos que mostram uma estrutura de um exemplo de transformação de um decodificador de número de coeficiente de acordo com a sexta modalidade da presente invenção. A Figura 20A apresenta um caso de fixação de uma tabela de código. A Figura 20B apresenta um caso de fixação de uma tabela de VLC. A Figura 20C apresenta um caso de uso de uma tabela de VLC sem o uso de tabelas de código.
A Figura 21 é um diagrama de blocos que mostra uma estrutura de um exemplo de transformação de um decodificador de número de coeficiente de acordo com a sexta modalidade da presente invenção.
A Figura 22A é um diagrama de blocos para explicação de uma operação de processamento mostrando uma estrutura de um decodificador de número de coeficiente de acordo com a sétima modalidade da presente invenção. A Figura 22B é um diagrama de blocos que mostra uma estrutura de um exemplo de transformação do decodificador de número de coeficiente.
A Figura 23A é um diagrama de blocos para explicação de uma operação de processamento que mostra uma estrutura de um decodificador de número de coeficiente de acordo com a oitava modalidade da presente invenção. A Figura 23B é um diagrama de blocos que mostra uma estrutura de um exemplo de transformação do decodificador de número de coeficiente.
A Figura 24A é um diagrama de blocos para explicação de uma operação de processamento o qual mostra uma estrutura do decodificador de número de coeficiente de acordo com a nona modalidade da presente invenção. A Figura 24B é um diagrama de blocos que mostra uma estrutura de um exemplo de transformação do decodificador de número de coeficiente.
A Figura 25 é um diagrama de blocos para explicação de uma operação de processamento o qual mostra uma estrutura de um decodificador de número de coeficiente de acordo com a décima modalidade da presente invenção.
A Figura 26A e a Figura 26B são ilustrações referentes a um meio de gravação para o armazenamento de um programa, de modo a se realizar um método de codificação de imagem bem como um método de decodificação de imagem de cada modalidade em um sistema de computação. A Figura 26A é um diagrama de explanação que mostra um exemplo de um formato físico de um disco flexível, o qual é um corpo principal de um meio de gravação. A Figura 26B é um diagrama de explanação que mostra uma aparência completa do disco flexível, uma estrutura em seção transversal e o disco flexível em si.
A Figura 26C é uma ilustração mostrando uma esrutura para gravação e reprodução do programa no disco fexível FD
A Figura 27 é um diagrama de blocos que mostra toda uma estrutura de um sistema de provisão de conteúdo, o qual realiza um serviço de envio de conteúdo.
A Figura 28 é um esquema que mostra um exemplo de um telefone celular.
A Figura 29 é um diagrama de blocos que mostra uma estrutura interna do telefone celular.
A Figura 30 é um diagrama de blocos que mostra todo um sistema de um sistema de difusão digital.
Melhor Modo de Realização da Invenção
O que vem a seguir descreve as modalidades da presente invenção com referência aos diagramas e às equações.
(Primeira Modalidade)
A Figura 1 é um diagrama de blocos que mostra uma estrutura de uma modalidade de um dispositivo de codificação de imagem que usa um método de codificação de imagem de acordo com a presente invenção.
O dispositivo de codificação de imagem inclui, como mostrado na Figura 1, memórias de quadro 101 e 106, uma unidade de transformação
J *·· »·· ortogonal 102, uma unidade de quantificação 103, uma unidade de quantificação inversa 104, uma unidade de transformação ortogonal inversa 105, uma unidade de predição interimagem 107, uma unidade de predição intraimagem 108, uma unidade de detecção de número de coeficiente 109, uma unidade de armazenamento de número de coeficiente 110, um codificador de número de coeficiente 111, um codificador de valor de coeficiente 112, uma unidade de geração de fluxo de bits 113, chaves 114 e 115, uma unidade de cálculo de diferença 116 e uma unidade de cálculo de adição 117.
A memória de quadro 101 armazena filmes introduzidos em uma base de imagem por imagem em ordem de exibição. A unidade de predição interimagem 107 detecta vetores de movimento, os quais mostram uma posição predita como ótima na área de busca na imagem, usando dados de imagem reconstruídos em um dispositivo de codificação como imagens de referência, de modo a criar dados de imagem preditivos com base nos vetores de movimento. A unidade de cálculo de diferença 116 calcula uma diferença entre os dados de imagem de entrada lidos a partir da memória de quadro 101 e os dados de imagem preditivos introduzidos a partir da unidade de predição interimagem 107, de modo a criar dados de imagem residuais preditivos.
A unidade de predição intra-imagem 108 cria dados de imagem preditivos usando os dados de imagem da área codificada na imagem atual e cria dados de imagem residuais preditivos pelo cálculo da diferença entre os dados de imagem preditivos criados e os dados de imagem de entrada.
A unidade de transformação ortogonal 102 realiza uma transformação ortogonal dos dados de imagem residuais preditivos introduzidos. A unidade de quantificação 103 realiza uma quantificação nos dados transformados ortogonais e cria coeficientes que mostram componentes de freqüência espacial, o que é um objeto para uma codificação de comprimento variável. A unidade de quantificação inversa 104 executa uma quantificação inversa nos coeficientes criados no processamento mencionado anteriormente. A unidade de transformação ortogonal inversa 105 executa uma transformação ortogonal inversa nos dados quantificados inversos e cria dados l··· ·»·· Μ de imagem residuais preditivos reconstruídos. A unidade de cálculo de adição 117 adiciona os dados de imagem residuais reconstruídos introduzidos a partir da unidade de transformação ortogonal inversa 105 e os dados de imagem preditivos introduzidos a partir da unidade de predição interimagem 107, e cria dados de imagem reconstruídos. A memória de quadro 106 armazena os dados de imagem reconstruídos criados.
A unidade de detecção de número de coeficiente 109 detecta o número de coeficientes tendo um outro valor além de 0 (a partir deste ponto, simplesmente faça uma referência a número de coeficientes) a partir da cada bloco pelo exame do valor do coeficiente criado. A unidade de armazenamento de número de coeficiente 110 armazena os números de coeficientes detectados pela unidade de detecção de número de coeficiente 109. O codificador de número de coeficiente 111 refere-se aos valores dos coeficientes no bloco, que já estão codificados e armazenados na unidade de armazenamento de número de coeficiente 110, e executa uma codificação para os números de coeficientes usando um método a ser mencionado mais tarde. O codificador de valor de coeficiente 112 executa uma codificação de comprimento variável para os valores dos coeficientes em si com referência a tabelas de VLC necessárias para uma codificação de comprimento variável pela alternância entre elas, usando os números dos coeficientes detectados pela unidade de detecção de número de coeficiente 109. A unidade de geração de fluxo de bits 113 gera um fluxo de bits pela adição de uma outra informação nos vetores de movimento ou similares introduzida a partir da unidade de predição interimagem 107 aos números dos coeficientes e os valores dos coeficientes, os quais estão codificados.
Em seguida, uma explicação referente a uma operação de um dispositivo de codificação de imagem construído como acima se segue.
Os filmes almejados para codificação são introduzidos na memória de quadro 101 em uma base de imagem por imagem em ordem de exibição e, então, reordenados na ordem de codificação. Cada imagem é dividida em um bloco de, por exemplo, 16 (horizontal) x 16 (vertical) pixels, denominado macrobloco, e um processamento subseqüente ocorre, usando-se a **· * 1 ί ··· * « ·· »^·· 7· ♦· • F W ·· · « · ? · ··· ··· ·*· ♦ ··♦ · · · « ·· >« ~9· ·· ·· <κ*· ·· unidade de macrobloco. A Figura 2A é um diagrama padrão que mostra um esquema de uma ordem de processamento de macroblocos em cada imagem, ao passo que a Figura 2B é um diagrama padrão que mostra macroblocos aos quais pertencem os blocos usados para referência de modo a se codificarem os números dos coeficientes no bloco atual. A Figura 2B mostra um caso em que um macrobloco MB13 é o macrobloco atual.
A codificação dos macroblocos em cada imagem começa a partir da esquerda superior, uma a uma, até a direita, como mostrado na Figura 2A, vai um incremento para baixo, quando ela chega à borda direita e começa de novo da esquerda para a direita. O macrobloco, o qual é lido a partir da memória de quadro 101, é primeiramente introduzido na unidade de predição interimagem 107, quando um macrobloco atual a ser codificado é codificado usando-se uma predição interimagem. A unidade de predição interimagem 107 usa dados de imagem reconstruídos das imagens codificadas armazenadas na memória de quadro 106 como imagens de referência para a detecção de vetores de movimento em cada bloco [isto é, 4 (horizontal) x 4 (vertical) pixels], o qual é um outro macrobloco dividido. A unidade de predição interimagem 107 extrai os dados de imagem preditivos criados pelos vetores de movimento detectados para a unidade de cálculo de diferença 116. A unidade de cálculo de diferença 116 cria dados de imagem residuais preditivos pela medição da diferença entre os dados de imagem preditivos e os dados de imagem de entrada do macrobloco atual.
Ao contrário, para a codificação do macrobloco alvo por meio de uma predição intra-imagem, o macrobloco, o qual é lido a partir da memória de quadro 101 é, primeiramente, introduzido na unidade de predição intraimagem 108. A unidade de predição intra-imagem 108 executa uma predição intra-imagem usando a informação nos blocos circundantes, e cria dados de imagem residuais preditivos.
Os dados de imagem residuais preditivos assim criados passam por um processamento de transformação ortogonal na unidade de transformação ortogonal 102, por um processamento de quantificação na unidade de quantificação 103 para cada bloco e, então, são transformados nos coefi30 cientes para os quais uma codificação de comprimento variável é para ser realizada. Esses coeficientes são introduzidos na unidade de detecção de número de coeficiente 109, no codificador de valor de coeficiente 112 e na unidade de quantificação inversa 104.
A unidade de detecção de número de coeficiente 109 detecta o número de coeficientes tendo um outro valor além de 0 em cada bloco. Os números de coeficientes detectados aqui são armazenados na unidade de armazenamento de número de coeficiente 110. O codificador de número de coeficiente 111 refere-se aos valores pela leitura a partir da unidade de armazenamento de número de coeficiente 110 dos números dos coeficientes nos blocos codificados e executa uma codificação para o número dos coeficientes no bloco atual. Também, o codificador de valor de coeficiente 112 executa uma codificação dos valores dos coeficientes em si usando os números dos coeficientes detectados pela unidade de detecção de número de coeficiente 109. Por último, a unidade de geração de fluxo de bits 113 gera um fluxo de bits definitivo pela adição ao fluxo de bits dos números dos coeficientes e dos valores dos coeficientes, os quais estão codificados, em conjunto com uma outra informação nos vetores de movimento ou similares.
Os coeficientes introduzidos na unidade de quantificação inversa 104 passam pelo processamento de quantificação inversa na unidade de quantificação inversa 104, bem como pelo processamento de transformação ortogonal inversa na unidade de transformação ortogonal inversa 105, e, então, são transformados em dados de imagem residuais preditivos reconstruídos. Em seguida, a unidade de cálculo de adição 117 adiciona os dados de imagem residuais preditivos reconstruídos e os dados de imagem preditivos introduzidos a partir da unidade de predição interimagem 107, de modo a criar dados de imagem reconstruídos, e os armazena na memória de quadro 106.
Assim, uma seqüência de codificação é explicada acima. Quanto ao processamento de codificação de comprimento variável dos números de coeficientes realizado pelo codificador de número de coeficiente 111, os detalhes são explicados com referência da Figura 3 à Figura 9, bem como do
Quadro 1 ao Quadro 7.
A Figura 3A é um diagrama de blocos que mostra em detalhes uma estrutura interna do codificador de número de coeficiente 111.
Aqui, um exemplo de uso de duas tabelas de uma tabela de código e uma tabela de VLC de modo a se realizar uma codificação de comprimento variável para o número de coeficientes é mostrado. A tabela de código é uma tabela para a transformação do número de coeficientes em um número de código ao passo que a tabela de VLC é uma tabela para a transformação do tabela de código obtido pela tabela de código em um código de comprimento variável.
O codificador de número de coeficiente 111 inclui, como mostrado na Figura 3A, uma unidade de cálculo de valor preditivo 201, uma unidade de armazenamento de tabela de código 202, uma unidade de seleção de tabela de código 203, uma unidade de seleção de tabela de VLC 204, uma unidade de armazenamento de tabela de VLC 205 e um codificador de número de coeficiente 206.
Em primeiro lugar, os números de coeficientes de blocos codificados na periferia são introduzidos a partir da unidade de armazenamento de número de coeficiente 110, mostrada na Figura 1, na unidade de cálculo de valor preditivo 201. A unidade de cálculo de valor preditivo 201 determina o valor preditivo pelo cálculo de um valor ponderado desses valores. Um valor máximo, um valor mínimo ou um valor médio pode ser usado, ao invés do valor ponderado como o método para se determinar o valor preditivo.
A Figura 4A é um diagrama padrão que mostra uma relação de localização entre um bloco atual a ser codificado e os blocos codificados a serem usados para a referência. Aqui, um bloco X é um bloco atual, ao passo que três blocos em uma posição de blocos B, C e D são blocos de referência. Quanto aos três blocos na posição dos blocos B, C e D, quando blocos os quais não estão codificados nem localizados fora da imagem ou fora da fatia, a qual é uma imagem dividida em uma pluralidade de seções, ocorrem, uma mudança é feita nos blocos de referência, como no Quadro 1.
<Quadro 1>
B C D Bloco de Referência
O O O B, C, D
O X O A, B, D
X X O D
O O X B,C
X X X Nenhum
Quanto aos sinais no Quadro 1, um sinal O significa um bloco codificado e um sinal x significa um bloco o qual não pode ser referido, uma vez que ele não está codificado nem localizado fora da imagem ou fora da fatia. Por exemplo, quando apenas um bloco C não pode ser referido, ele mostra que as referências são os blocos A, B e D. O Quadro 1 mostra uma relação entre uma condição dos blocos de referência e o(s) bloco(s) o(s) qual(is) pode(m) ser referido(s), embora os padrões não estejam limitados a isso. Também, se nenhum bloco de referência for encontrado, um valor 0 ou um outro valor arbitrário é dado diretamente como um valor preditivo.
A unidade de seleção de tabela de código 203 seleciona uma tabela de código para um uso real a partir da pluralidade de tabelas de código armazenadas na unidade de armazenamento de tabela de código 202, de acordo com um valor preditivo calculado pela unidade de cálculo de valor preditivo 201.
O Quadro 2 é um exemplo de uma tabela de código, na qual números de coeficientes correspondem a números de código preparados de antemão pela unidade de armazenamento de tabela de código 202.
<Quadro 2>
Valor de número de coeficiente Tabela de código 1 Tabela de código 2 Tabela de código 3 Tabela de código 4
0 0 4 8 8
1 1 2 7 7
2 2 0 5 6
3 3 1 4 5
4 4 3 2 4
Μ <Quadro 2> (Continuação)
Valor de número de coeficiente Tabela de código 1 Tabela de código 2 Tabela de código 3 Tabela de código 4
5 5 5 0 3
6 6 6 1 2
7 7 7 3 1
8 8 8 6 0
De acordo com este exemplo, uma tabela de código 1, por exemplo, atribui números de código, os quais são idênticos aos números de coeficientes, ao passo que a tabela de código 2 atribui os números de código de modo que um valor 2 do número de coeficiente tenha um papel central. Quatro tipos de tabelas de código são preparados aqui; entretanto, os números de tipos de tabelas e valores de tabelas não estão limitados àqueles usados no Quadro 2. Também, o Quadro 3 apresenta critérios de seleção para tabelas de código com base em um valor preditivo.
<Quadro 3>
Valor preditivo Tabela de referência
0a2 Tabela de código 1
3a5 Tabela de código 2
6a8 Tabela de código 3
9a 16 Tabela de código 4
De acordo com este exemplo, a unidade de seleção de tabela de código 203 seleciona uma tabela de código como se segue: ela refere-se a uma tabela de código 1 quando o valor preditivo calculado pela unidade de cálculo de valor preditivo 201 não é maior do que 2, ao passo que refere-se a uma tabela de código 2 quando o valor preditivo for maior ou igual a 3 e menor ou igual a 5. A forma de atribuição de valores preditivos e os itens de tabelas de referência não estão limitados àqueles usados no Quadro 3.
A unidade de seleção de tabela de VLC 204 seleciona uma tabela de VLC para uso real a partir de uma pluralidade de tabelas de VLC armazena20 das na unidade de armazenamento de tabela de VLC 205, de acordo com o valor preditivo calculado pela unidade de cálculo de valor preditivo 201.
Figure BRPI0303566B1_D0004
O Quadro 4 é um exemplo de uma tabela de VLC, na qual números de código preparados de antemão pela unidade de armazenamento de tabela de VLC 205 correspondem a códigos de comprimento variável. <Quadro 4>
Número de código Tabela de VLC 1 Tabela de VLC 2 Tabela de VLC 3 Tabela de VLC 4
0 0 1 10 100
1 01 010 11 101
2 001 011 0100 110
3 0001 00100 01012 111
4 00001 00101 0110 01000
5 000001 00110 0111 01001
6 0000001 00111 001000 01010
7 00000001 0001000 001001 01011
8 000000001 0001001 001010 01100
De acordo com este exemplo, uma tabela de VLC 1, em compa10 ração com uma tabela de VLC 4, é projetada com uma tendência de uma quantidade de bit aumentar se o número de código for grande e diminuir se o número de código for pequeno. Ele mostra que a tabela de VLC 1 pode realizar uma codificação de comprimento variável mais eficientemente, quando uma probabilidade de aparição do número de código se concentrar na área onde os valores são pequenos, enquanto a tabela de VLC 4 pode funcionar mais eficientemente quando a probabilidade de aparição se espalhar para a área onde os valores são grandes. Quatro tipos de tabelas são preparados aqui; contudo, os números de tipos de tabelas e os valores de tabelas não estão limitados àqueles usados no Quadro 4. Também, o Quadro 5 apresenta critérios de seleção para tabelas de VLC com base em um valor preditivo.
<Quadro 5>
Valor preditivo Tabela de Referência
0a 1 Tabela de VLC 1
2a3 Tabela de VLC 2
4a6 Tabela de VLC 3
7a 16 Tabela de VLC 4
De acordo com este exemplo, a unidade de seleção de tabela de VLC 204 seleciona uma tabela de VLC como se segue: ela refere-se a uma tabela de VLC 1 quando o valor preditivo calculado pela unidade de cálculo de valor preditivo 201 não é maior do que 1, ao passo que refere-se a uma tabela de VLC 2 quando o valor preditivo é maior ou igual a 2 e menor ou igual a 3. A forma de atribuição de valores preditivos e os itens de tabelas de referência não estão limitados àqueles usados no Quadro 5.
O codificador de número de coeficiente 206 refere-se à tabela de código e à tabela de VLC, as quais são selecionadas pelo processamento acima, e realiza uma codificação de comprimento variável do número dos coeficientes no bloco atual introduzido. O codificador de número de coeficiente 206, primeiramente, transforma o número de coeficientes em um número de código, usando uma tabela de código e, então, o transforma em um código de comprimento variável correspondente ao número de código, usando a tabela de VLC. A Figura 5 é um diagrama padrão que mostra um exemplo de codificação, quando o valor preditivo calculado pela unidade de cálculo de valor preditivo 201 é 6 e o número dos coeficientes no bloco atual é 4. Uma tabela de código 3, mostrada na Figura 5, é selecionada na unidade de seleção de tabela de código 203, usando-se o Quadro 3 e o Quadro 2, de acordo com o valor preditivo 6 e, também, uma tabela de VLC 3, mostrada na Figura 5, é selecionada na unidade de seleção de tabela de VLC 204, usando-se o Quadro 5 e o Quadro 4. O codificador de número de coeficiente 206 transforma o número dos coeficientes introduzido 4 em um número de código 2, de acordo com a tabela de código 3 e, mais ainda, eria um fluxo de bits definitivo 0100 de acordo com a tabela de VLC 3.
Em seguida, quanto a um processamento de armazenamento do número de coeficientes realizado pela unidade de armazenamento de número de coeficiente 110, os detalhes são explicados. A Figura 6A é um diagrama padrão que mostra blocos de referência com respeito a um macrobloco atual a ser codificado na unidade de cálculo de valor preditivo 201. Aqui, uma borda preta contendo os blocos codificados como B1 a B16 mostra o macrobloco atual, ao passo que as seções hachuradas mostram os blocos de referência com respeito ao macrobloco atual. Também, os números atribuídos aos blocos indicam a ordem de codificação no macrobloco.
A unidade de armazenamento de número de coeficiente 110, por exemplo, no momento de começo do processamento do macrobloco atual mostrado na Figura 6A armazena os números de coeficientes detectados pela unidade de detecção de número de coeficiente 109, pelo menos para os blocos de referência mostrados na Figura 6A, os quais são necessários para o macrobloco atual. Especificamente, a unidade de armazenamento de número de coeficiente 110 armazena os números de coeficientes detectados de acordo com os blocos do macrobloco atual (B1, B2, B3, ... e B16), os quais são para serem processados seqüencialmente. Por exemplo, quando o bloco atual é um bloco B6, a unidade de armazenamento de número de coeficiente 110 armazena os números de cada coeficiente de B1, B2, B3, B4 e B5, os quais já estão processados, além dos blocos de referência mostrados como hachurados na Figura 6A. Então, a unidade de armazenamento de número de coeficiente 110 armazena o número de coeficientes deste bloco B6, quando ele é detectado pela unidade de detecção de número de coeficiente 109. Assim, a unidade de armazenamento de número de coeficiente 110 armazena os números dos coeficientes detectados a partir dos blocos nos macroblocos atuais (B1, B2, B3, ... e B16), os quais são para serem processados seqüencialmente.
Então, por exemplo, quando o macrobloco atual é um macrobloco MB11, mostrado na Figura 2, a unidade de armazenamento de número de coeficiente 110 pelo menos armazena os números dos coeficientes dos blocos em uma fileira de fundo e uma coluna à direita (blocos hachurados) do macrobloco MB11, como mostrado na Figura 7A, quando o processamento do macrobloco MB11 termina, e prossegue para o próximo macrobloco MB12. Em seguida, quando o processamento do macrobloco MB12 termina e o processamento prossegue para o próximo macrobloco MB13, a unidade de armazenamento de número de coeficiente 110 armazena pelo menos os números dos coeficientes para os blocos localizados na fileira de fundo e na coluna à direita do macrobloco MB12, da mesma forma que os números de coeficientes dos blocos na fileira de fundo do macrobloco MB11 (blocos hachurados), como mostrado na Figura 7B.
Por exemplo, quando o macrobloco atual está localizado na borda direita da imagem, como o macrobloco MB9 mostrado na Figura 2B, a unidade de armazenamento de número de coeficiente 110 armazena pelo menos os números de coeficientes dos blocos na fileira de fundo do macrobloco MB9 (blocos hachurados), como mostrado na Figura 7B, quando o processamento do macrobloco MB9 termina e o processamento prossegue para o próximo macrobloco MB10.
Quando o macrobloco atual está localizado na borda de fundo da imagem, como MBm, mostrado na Figura 2B, a unidade de armazenamento de número de coeficiente 110 armazena pelo menos os números dos coeficientes dos blocos na coluna à direita do macrobloco MBm, como mostrado na Figura 7C, quando o processamento do macrobloco MBm termina e o processamento prossegue para o próximo macrobloco MBn.
A unidade de armazenamento de número de coeficiente 110, assim, armazena os números de coeficientes para os blocos a serem referidos. É possível apagar, em um sincronismo arbitrário, a informação sobre o número de coeficientes dos outros blocos além daqueles a serem armazenados na explanação acima, se eles não forem mais usados para referência. Por exemplo, é possível apagar quando o processamento prossegue para o próximo macrobloco, bem como enquanto se processa o macrobloco. Também, os números de coeficientes nos blocos os quais não são mais usados para referência nem sempre precisam de um processamento de apagamento. Por exemplo, a unidade de armazenamento de número de coeficiente 110 pode identificar os números de coeficientes nos blocos os quais não são referidos mais como desnecessários, e pode sobrescrevê-los, se necessário.
É explicado acima que é possível se referir aos números dos coeficientes dos blocos codificados pelo armazenamento deles na unidade de armazenamento de número de coeficiente 110. Um sistema para o cál24 • · ·»· • V · · • · · · * « «· ·· ·» culo do número de coeficientes, contudo, pode ser usado, se necessário, pelo armazenamento não dos valores do número dos coeficientes em si, mas, por exemplo, os valores dos coeficientes nos blocos, os quais são transformados em componentes de freqüência espacial.
Na presente modalidade, é possível, como mencionado acima, calcular um valor preditivo usando-se os números dos coeficientes nos blocos adjacentes codificados de modo a se realizar uma codificação do número de coeficientes eficientemente, mesmo para imagens cuja probabilidade de aparição dos coeficientes não é uniforme, por uma referência à tabela de código e à tabela de VLC de forma adaptativa, de acordo com o valor preditivo.
Também, como descrito acima, ele pode corresponder a uma flutuação de uma posição onde a probabilidade de aparição do número de coeficientes é a mais alta com referência à tabela de código pela alternância delas de acordo com o valor preditivo. Ele também pode corresponder ao tamanho da dispersão da probabilidade de aparição do número de coeficientes pela alternância das tabelas de VLC para referência, de acordo com o valor preditivo. Conseqüentemente, é possível se realizar uma codificação de forma efetiva do número de coeficientes.
Também é possível usar apenas dois blocos localizados nas posições de blocos B e D para um bloco atual X a ser codificado, como mostrado na Figura 4B, ao invés de se usarem três blocos vizinhos como blocos de referência, como mostrado na Figura 4A na unidade de cálculo de valor preditivo 201. Uma mudança é feita concernente a blocos de referência, como no Quadro 6, quando ocorrer de um dos dois blocos na posição dos blocos B e D não estar codificado nem localizado fora da imagem tampouco fora da fatia.
<Quadro 6>
B D Bloco de referência
O O B,D
X O D
O X B
X X Nenhum
ΑΧ
JJ ··· ·*·
Quanto aos sinais no Quadro 6, um sinal O significa um bloco codificado e um sinal x significa um bloco o qual não pode ser referido, uma vez que ele não está codificado nem localizado fora da imagem tampouco fora da fatia, como no Quadro 1. O Quadro 6 mostra uma relação entre con5 dições dos blocos de referência e o(s) bloco(s) o(s) qual(is) pode(m) ser referido(s), embora os padrões não estejam limitados a isso. Se nenhum bloco de referência for encontrado, um valor 0 ou um outro valor arbitrário pode ser dado diretamente como um valor preditivo. Neste caso, a unidade de armazenamento de número de coeficiente 110 pode armazenar apenas os núme10 ros de coeficientes detectados na unidade de detecção de número de coeficiente 109, pelo menos para os blocos de referência mostrados na Figura 6B, os quais são necessários para o macrobloco atual.
Também é possível como um método para o cálculo de um valor preditivo na unidade de cálculo de valor preditivo 201, por exemplo, selecio15 nar um método ótimo de acordo com cada seqüência, cada GOP, cada imagem ou cada fatia, ao invés de se fixar o método para uso de um valor ponderado, um valor máximo, um valor mínimo ou um valor médio. O código para a identificação do método de cálculo então selecionado é adicionado a uma seção de cabeçalho da seqüência, do GOP, da imagem ou da fatia. A fatia é uma imagem dividida em uma pluralidade de seções. Uma seção de uma coluna em uma direção transversal seccionada em uma base de macrobloco por macrobloco é um exemplo disto.
Também, é possível selecionar, por exemplo, um dentre um valor ponderado, um valor máximo, um valor mínimo ou um valor médio, de acordo com o valor ponderado do número dos coeficientes nos blocos de referência codificados. O Quadro 7 mostra seus critérios de seleção.
<Quadro 7>
Valor ponderado Método de cálculo de valor preditivo
0a4 Valor mínimo
5a8 Valor ponderado
9a 16 Valor máximo
De acordo com este exemplo, um valor mínimo dos números dos coeficientes de mais de um bloco de referência é aplicado como um valor preditivo quando, por exemplo, um valor ponderado é menor ou igual a 4 e um valor ponderado é aplicado como um valor preditivo, quando o valor ponderado é maior ou igual a 5 e menor ou igual a 8. Os efeitos positivos de melhoramento na eficiência de codificação podem ser obtidos em ambos os casos: pela seleção de um valor máximo uma vez que uma probabilidade de um número de coeficientes maior aparecer se torna mais alta nos blocos nos quais o incremento de quantificação é pequeno e os movimentos são complicados; e pela seleção de um valor mínimo, uma vez que uma probabilidade de um número de coeficientes menor aparecer se torna mais alta nos blocos nos quais o incremento de quantificação é inversamente grande e o movimento é simples. A forma de atribuição do valor de ponderação ou dos itens indicados como métodos de cálculo de valor preditivo não está limitada àquelas indicadas no Quadro 7.
O codificador de número de coeficiente 111 na presente modalidade realiza uma codificação de comprimento variável para o valor do número de coeficientes em si. A unidade de cálculo de diferença 207, contudo, pode calcular um valor de diferença entre o valor preditivo calculado na unidade de cálculo de valor preditivo 201 e o valor de número de coeficientes o qual é introduzido de modo a se realizar uma codificação para o valor ganho com o mesmo processamento que o descrito na modalidade acima. Os efeitos positivos podem ser obtidos pelo melhoramento na eficiência de codificação para uma imagem na qual uma mudança no número de coeficientes dentre os blocos circundantes se torna menor quando mudanças na luminância e na crominância são monótonas através da tela.
Também, o codificador de número de coeficiente 111 realiza uma codificação pela alternância de ambas a tabela de código e a tabela de VLC, de acordo com o valor preditivo, com base no número de coeficientes nos blocos vizinhos; contudo, essas tabelas podem não ser alternadas, mas fixas. Isso pode ser realizado pelo uso de apenas uma unidade de armazenamento, a qual tem um certo tipo de tabelas de código ou um certo tipo de tabelas de VLC, ao invés de se usarem unidades de seleção de tabela. A
Figura 8A é um diagrama de blocos que mostra uma estrutura do codificador de número de coeficiente 111 para a realização de uma codificação de comprimento variável do número de coeficientes pela fixação de apenas uma tabela de código. Também, a Figura 8B é um diagrama de blocos que mostra uma estrutura do codificador de número de coeficiente 111 para a realização de uma codificação de comprimento variável do número de coeficientes pela fixação de apenas uma tabela de VLC. No caso de fixação de apenas uma tabela de código, o codificador de número de coeficiente 111, como mostrado na Figura 8A, inclui uma unidade de armazenamento de tabela de código 301 ao invés da unidade de armazenamento de tabela de código 202 e da unidade de seleção de tabela de código 203 mostradas na Figura 3A. A unidade de armazenamento de tabela de código 301 tem um tipo de tabela de código. Então, o codificador de número de coeficiente 206, primeiramente, transforma o número de coeficientes em um número de código, usando uma tabela de código armazenada na unidade de armazenamento de tabela de código 301, então, transforma o número de código no código de comprimento variável, usando uma tabela de VLC selecionada pela unidade de seleção de tabela de VLC 204.
Por outro lado, o codificador de número de coeficiente 111, como mostrado na Figura 8B, inclui uma unidade de armazenamento de tabela de VLC 302, ao invés da unidade de armazenamento de tabela de VLC 205 e da unidade de seleção de tabela de VLC 204 mostradas na Figura 3A. A unidade de armazenamento de tabela de VLC 302 tem um tipo de tabela de VLC. Então, o codificador de número de coeficiente 206, primeiramente, transforma o número de coeficientes em um número de código, usando a tabela de código selecionada pela unidade de seleção de tabela de código 203, então, transforma o número de código em um código de comprimento variável usando a tabela de VLC armazenada na unidade de armazenamento de tabela de VLC 302.
Assim, pela fixação da tabela de código ou da tabela de VLC ao invés de se alternar entre elas, a produção para tabelas de alternância pode ser reduzida ou uma quantidade de memória para o armazenamento de uma
Figure BRPI0303566B1_D0005
pluralidade de tabelas pode ser reduzida, embora os efeitos de eficiência de codificação diminuam mais ou menos.
Também, o codificador de número de coeficiente 111 pode realizar uma codificação de comprimento variável pela alternância apenas das tabelas de VLC, de acordo com o valor preditivo com base nos números de coeficientes nos blocos vizinhos, sem usar tabelas de código. A Figura 8C é um diagrama de blocos que mostra uma estrutura do codificador de número de coeficiente 111 para a realização de uma codificação de comprimento variável do número de coeficientes usando-se apenas as tabelas de VLC, sem as tabelas de código. Neste caso, como mostrado na Figura 8C, o codificador de número de coeficiente 111 não inclui nem a unidade de armazenamento de tabela de código 202 nem a unidade de seleção de tabela de código 203. O codificador de número de coeficiente 111 seleciona uma tabela de VLC para uso real a partir de uma pluralidade de tabelas de VLC armazenadas na unidade de armazenamento de tabela de VLC 304. Então, o codificador de número de coeficiente 206 diretamente transforma o número de coeficientes em um código de comprimento variável, sem transformá-lo no número de código, como mostrado acima. Neste caso, nos exemplos de tabelas de VLC mostrados no Quadro 4, a parte mostrada como números de código é substituída por valores de número de coeficientes.
Também, o caso no qual o codificador de número de coeficiente 111 realiza uma codificação de comprimento variável usando um valor de diferença entre um valor preditivo e um valor de número de coeficientes, ao invés de um valor de número de coeficientes, pode ser manipulada da mesma forma. A Figura 9 é um diagrama de blocos que mostra, como um exemplo disso, uma estrutura do codificador de número de coeficiente 111 para a realização de uma codificação de comprimento variável para um valor de diferença entre o valor preditivo e o número de coeficientes pela fixação de ambas uma tabela de código e uma tabela de VLC. Neste caso, o codificador de número de coeficiente 111 como na Figura 9 inclui uma unidade de armazenamento de tabela de código 301, ao invés da unidade de armazenamento de tabela de código 202 e da unidade de seleção de tabela de có29 digo 203 mostradas na Figura 3A, bem como uma unidade de armazenamento de tabela de VLC 302, ao invés da unidade de armazenamento de tabela de VLC 205 e da unidade de seleção de tabela de VLC 204. A unidade de armazenamento de tabela de código 301 tem um tipo de tabelas de código, ao passo que a unidade de armazenamento de tabela de VLC 302 tem um tipo de tabelas de VLC. Então, o codificador de número de coeficiente 206, primeiramente, transforma o valor de diferença entre o número de coeficientes e o valor preditivo em um número de código usando a tabela de código armazenada na unidade de armazenamento de tabela de código 301, então, transforma o número de código em um código de comprimento variável, usando a tabela de VLC armazenada na unidade de armazenamento de tabela de VLC 302.
(Segunda Modalidade)
A estrutura do dispositivo de codificação de imagem e o contorno do processamento de codificação de acordo com a presente modalidade são totalmente os mesmos que aqueles descritos na primeira modalidade, exceto pelo codificador de número de coeficiente 111 mostrado na Figura 1. Aqui, com referência ao processamento de codificação de comprimento variável do número de coeficientes realizado pelo codificador de número de coeficiente 111 na segunda modalidade, os detalhes são explicados usando-se as Figura 10 e 11.
A Figura 10A é um diagrama de blocos que mostra em detalhes uma estrutura interna do codificador de número de coeficiente 111.
Como mostrado na Figura 10A, o codificador de número de coeficiente 111 inclui uma unidade de geração de tabela de código 701 ao invés da unidade de armazenamento de tabela de código 202 e da unidade de seleção de tabela de código 203 mostradas na Figura 3A. Os números de coeficientes nos blocos codificados são introduzidos na unidade de geração de tabela de código 701 a partir da unidade de armazenamento de número de coeficiente 110. A unidade de geração de tabela de código 701 conta o número dos blocos codificados tendo o mesmo número de coeficientes que o valor do número de coeficientes em cada um dos valores, e cria tabelas de código pela atribuição de números de código em ordem descendente, começando a partir de um número de coeficiente o qual é registrado na freqüência mais alta, com base na estatística. A Figura 11A é um diagrama padrão apresentando uma posição dos blocos codificados almejados para estatística. Aqui, uma P1, uma P3 e uma P4 são imagens nas quais uma codificação de predição interimagem é realizada, ao passo que uma I2 é uma imagem na qual uma codificação de predição intra-imagem é realizada. Supondo que um bloco atual pertença a P3, todos os blocos, os quais são codificados usando-se o mesmo método que o usado para o bloco atual, contido em P1, a qual é uma imagem imediatamente precedente à imagem atual, são almejados para estatísticas. O caso no qual os blocos equivalentes de uma imagem incluindo os blocos codificados na imagem atual são almejados para estatísticas, como na Figura 11B, pode ser manipulado da mesma forma. Também, uma tabela para a condição inicial em ordem ascendente, começando do número 0, deve ser usada como uma tabela de código, quando os blocos codificados equivalentes a uma imagem, a qual pode ser almejada para estatística, não existirem. Aqui, os blocos equivalentes a uma imagem são almejados para estatísticas, embora o caso no qual o número de outros blocos além deste é usado como um parâmetro possa ser manipulado da mesma forma. Em caso de aplicação de um método de referência, como mostrado na Figura 11 A, de modo a se gerar uma tabela de código, a tabela pode ser gerada apenas uma vez, quando a codificação da imagem atual for iniciada.
Nesse ínterim, os números de coeficientes nos blocos codificados situados na periferia são introduzidos na unidade de cálculo de valor preditivo 201. A unidade de cálculo de valor preditivo 201 determina o valor preditivo pelo cálculo de um valor ponderado com base nesses valores, como descrito na primeira modalidade. Um valor máximo, um valor mínimo ou um valor médio podem ser usados ao invés do valor ponderado como um método para a determinação do valor preditivo. Os blocos codificados então usados como a referência são determinados de acordo com o Quadro 1, usando-se três blocos na posição dos blocos B, C e D para o bloco atual X, mostrado na Figura 4A na primeira modalidade. O Quadro 1 mostra uma relação entre condições dos blocos de referência e o(s) bloco(s) o(s) qual(is) pode(m) ser referido(s), embora os padrões não estejam limitados a isso. Um valor 0 ou um outro valor arbitrário é dado diretamente como um valor preditivo quando nenhum bloco de referência for encontrado.
O valor preditivo calculado pela unidade de cálculo de valor preditivo 201 é usado apenas na unidade de seleção de tabela de VLC 204. A unidade de seleção de tabela de VLC 204 seleciona, como na primeira modalidade, de acordo com este valor preditivo, uma tabela de VLC para a codificação do número de coeficientes a partir de uma pluralidade de tabelas de VLC preparadas na unidade de armazenamento de tabela de VLC 205, de antemão, como mostrado no Quadro 4, de acordo com os critérios de seleção mostrados no Quadro 5.
O codificador de número de coeficiente 206 refere-se à tabela de código criada pela unidade de geração de tabela de código 701 e à tabela de VLC selecionada pela unidade de seleção de tabela de VLC 204 e, então, realiza uma codificação de comprimento variável do número dos coeficientes no bloco atual almejado para codificação, o qual é introduzido da mesma forma que a descrita na primeira modalidade.
Assim, na presente modalidade, uma tabela de código é criada ao se tomarem estatísticas dos números dos coeficientes nos blocos codificados, mais ainda, uma tabela de VLC é determinada de acordo com o valor preditivo calculado a partir do número dos coeficientes nos blocos codificados, e, por uma referência a ambas as tabelas, é possível se realizar a codificação do número de coeficientes eficientemente, mesmo para uma imagem cuja freqüência de aparição de coeficientes seja não uniforme.
Como na primeira modalidade, também é possível determinar os blocos codificados usados para referência na unidade de cálculo de valor preditivo 201 como na primeira modalidade, de acordo com o Quadro 6, usando-se apenas dois blocos localizados na posição dos blocos B e D para o bloco atual X, mostrado na Figura 4B, ao invés de se usarem três blocos vizinhos, como mostrado na Figura 4A. O Quadro 6 mostra uma relação en32 ··· tre condições dos blocos de referência e o(s) bloco(s) o(s) qual(is) pode(m) ser referido(s), embora os padrões não estejam limitados a isto. Um valor 0 ou um outro valor arbitrário é dado diretamente como um valor preditivo, quando nenhum bloco de referência for encontrado.
Como na primeira modalidade, também é possível selecionar, por exemplo, um valor ponderado, um valor máximo, um valor mínimo ou um valor médio de acordo com um valor ponderado dos números dos coeficientes nos blocos de referência codificados, como um método para o cálculo de um valor preditivo na unidade de cálculo de valor preditivo 201, como na primeira modalidade. O Quadro 7 mostra os critérios de seleção, embora uma forma de atribuição do valor ponderado e itens indicados como métodos de cálculo de valor preditivo não estejam limitados a isto.
Na presente modalidade, o codificador de número de coeficiente 111 executa uma codificação de comprimento variável para o valor do número de coeficientes em si. Entretanto, como na primeira modalidade, é possível, como mostrado na Figura 10, que um valor de diferença entre o valor preditivo calculado pela unidade de cálculo de valor preditivo 201 e o valor introduzido do número de coeficientes seja calculado pelo subtraidor 207 e uma codificação de comprimento variável seja realizada para o valor ganho pelo mesmo processamento que o descrito acima.
Também, na presente modalidade, o codificador de número de coeficiente 111 executa uma codificação de comprimento variável ao alternar as tabelas de VLC de acordo com o valor preditivo, com base nos números de coeficientes nos blocos vizinhos. Contudo, é possível fixar a tabela ao invés de alternar as tabelas de VLC, como na primeira modalidade. Neste caso, isso é realizado pelo uso apenas de uma unidade de armazenamento de tabela de VLC, a qual tem um certo tipo de tabelas de VLC ao invés de se usar a unidade de seleção de tabela de VLC.
(Terceira Modalidade)
A estrutura do dispositivo de codificação de imagem e o contorno do processamento de codificação de acordo com a presente modalidade são totalmente os mesmos que aqueles descritos na primeira modalidade,
3’
Figure BRPI0303566B1_D0006
exceto pelo codificador de número de coeficiente 111 mostrado na Figura 1. Aqui, com referência ao processamento de codificação de comprimento variável do número de coeficientes realizado no codificador de número de coeficiente 111 na terceira modalidade, os detalhes são explicados usando-se as Figura 12a e 12B, bem como os Quadros 8 e 9.
A Figura 12A é um diagrama de blocos que mostra em detalhes uma estrutura interna do codificador de número de coeficiente 111.
Como mostrado na Figura 12A, o codificador de número de coeficiente 111 não inclui a unidade de cálculo de valor preditivo 201, mostrada na Figura 3A. Uma unidade de seleção de tabela de código 901 e uma unidade de seleção de tabela de VLC 902, portanto, selecionam uma tabela para uso real, diferentemente da primeira modalidade, pelo uso diretamente dos números dos coeficientes nos blocos codificados, sem o uso de um valor preditivo. Quanto aos blocos codificados então usados para a referência, como mostrado na Figura 4B, apenas dois blocos na posição do bloco B (acima) e do bloco D (esquerda) para o bloco atual X são usados. Entretanto, quando os blocos localizados acima e à esquerda não estão codificados nem situados fora da imagem tampouco fora da fatia, um valor 0 ou um outro valor arbitrário pode ser substituído.
O Quadro 8 mostra um método de seleção de uma tabela de código na unidade de seleção de tabela de código 901. <Quadro 8>
Número de coeficiente (acima)
0a5 6a 16
Número de coeficiente (esquerda) 0a5 Tabela de código 1 Tabela de código 2
6a 16 Tabela de código 3 Tabela de código 4
A unidade de seleção de tabela de código 901 classifica em dois grupos o respectivo número de coeficientes nos blocos situados acima e à esquerda do bloco atual, como mostrado no Quadro 8, de acordo com o valor, e seleciona uma tabela usando uma combinação dos quatro assim formados. Por exemplo, uma tabela de código 2 é selecionada quando o número dos coeficientes no bloco à esquerda é 3 e o número dos coeficientes no kâ bloco acima é 8. O método para a classificação do número dos coeficientes nos blocos superior e à esquerda e a forma de atribuição de tabelas de código não estão limitados àqueles usados no Quadro 8.
O Quadro 9 mostra um método de seleção de uma tabela de
VLC na unidade de seleção de tabela de VLC 902.
<Quadro 9>
Número de coeficiente (acima)
0a5 6a 16
Número de coeficiente (esquerda) 0a5 Tabela de VLC 1 Tabela de VLC 2
6a 16 Tabela de VLC 3 Tabela de VLC 4
A unidade de seleção de tabela de VLC 902 seleciona uma tabela de VLC para referência real usando o método de seleção, como mostrado no Quadro 9, como no caso da unidade de seleção de tabela de código
901.
O codificador de número de coeficiente 206 refere-se à tabela de código selecionada pela unidade de seleção de tabela de código 901 e à tabela de VLC selecionada pela unidade de seleção de tabela de VLC 902, de modo a realizar uma codificação de comprimento variável para o número de coeficientes no bloco atual, o qual é introduzido da mesma forma que na primeira modalidade.
Assim, na presente modalidade, pela classificação dos números de coeficientes nos blocos codificados localizados acima e à esquerda do bloco atual em n grupos de acordo com o valor com referência à tabela de código e à tabela de VLC, de acordo com a combinação de N x N formas então formadas e pela alternância entre elas de forma adaptativa, é possível realizar, eficientemente, a codificação do número de coeficientes para a imagem cuja freqüência de aparição de coeficientes seja não uniforme.
Na presente modalidade, o codificador de número de coeficiente
111 executa uma codificação de comprimento variável para o valor do número de coeficientes em si. A unidade de cálculo de diferença 207 pode, contudo, calcular um valor de diferença entre o valor preditivo calculado na unidade de cálculo de valor preditivo 201, como mostrado na Figura 12B, como na ·*· '· ··
Figure BRPI0303566B1_D0007
primeira modalidade, e um valor do número de coeficientes introduzido, de modo a realizar uma codificação de comprimento variável.
Também, na presente modalidade, o codificador de número de coeficiente 111 realiza uma codificação de comprimento variável pela alternância de ambas a tabela de VLC e a tabela de código, de acordo com os números dos coeficientes nos blocos vizinhos. Contudo, é possível fixar uma dessas tabelas, ao invés de se alterná-las, como na primeira modalidade. Neste caso, uma codificação de comprimento variável é realizada pelo uso de uma unidade de armazenamento, a qual tem um certo tipo de tabelas de código ou um certo tipo de tabelas de VLC, ao invés de se usarem unidades de seleção de tabela. Mais ainda, também é possível realizar uma codificação de comprimento variável pela alternância apenas das tabelas de VLC de acordo com os números dos coeficientes nos blocos vizinhos, sem se usarem tabelas de código, como na primeira modalidade.
(Quarta Modalidade)
A estrutura do dispositivo de codificação de imagem e o contorno do processamento de codificação de acordo com a presente modalidade são totalmente os mesmos que aqueles descritos na primeira modalidade, exceto pelo codificador de número de coeficiente 111 mostrado na Figura 1. Aqui, com referência a um processamento de codificação de comprimento variável do número de coeficientes realizado pelo codificador de número de coeficiente 111 na quarta modalidade, os detalhes são explicados usando-se as Figura 13 e 14.
A Figura 13A é um diagrama de blocos que mostra em detalhes uma estrutura interna do codificador de número de coeficiente 111.
O codificador de número de coeficiente 111, como mostrado na Figura 13A, inclui uma unidade de seleção de tabela 1001 ao invés da unidade de cálculo de valor preditivo 201, da unidade de seleção de tabela de código 203 e da unidade de seleção de tabela de VLC 204 mostradas na Figura 3A. A unidade de seleção de tabela 1001 usa diretamente o número de coeficientes nos blocos codificados, sem usar um valor preditivo, de modo a selecionar tabelas para uso real, pela avaliação de ambas uma ta36 bela de código e uma tabela de VLC ao mesmo tempo, o que é diferente da primeira modalidade. Quanto aos blocos codificados então usados para a referência, os três blocos na posição dos blocos B, C e D para o bloco atual X são usados como na Figura 4A. Contudo, quando os blocos localizados assim não estão codificados nem situados fora da imagem tampouco fora da fatia, um valor 0 ou um outro valor arbitrário pode ser substituído.
A unidade de seleção de tabela 1001 calcula uma soma de um comprimento de um fluxo de bits, o qual é criado como resultado de codificação dos números dos coeficientes nos blocos de referência, usando-se ambas a tabela de código e a tabela de VLC ao mesmo tempo, e determina-o como um valor de avaliação. A Figura 14 é um diagrama padrão que mostra um método para a realização da codificação para os números de coeficientes nos três blocos de referência, usando-se as tabelas de código e as tabelas de VLC, e para se calcular a soma do comprimento do fluxo de bits ganho, de modo a determiná-lo como o valor de estimativa. Então, a unidade de seleção de tabela 1001 realiza este processamento para todas as combinações das tabelas de código e das tabelas de VLC armazenadas na unidade de armazenamento de tabela de código 202, bem como na unidade de armazenamento de tabela de VLC 205, e seleciona uma combinação de uma tabela de código e uma tabela de VLC, na qual o valor de avaliação ganho é o menor.
O codificador de número de coeficiente 206 refere-se à tabela de código e à tabela de VLC selecionadas pela unidade de seleção de tabela 1001, e realiza uma codificação de comprimento variável do número dos coeficientes no bloco atual, o qual é introduzido da mesma forma como descrito na primeira modalidade.
Na presente modalidade, como mostrado acima, é possível realizar uma codificação para os números dos coeficientes nos blocos vizinhos, os quais são codificados usando-se a tabela de código e a tabela de VLC e determinar a soma do comprimento do fluxo de bits naquele momento como um valor de estimativa, de modo a se realizar, eficientemente, a codificação do número de coeficientes, mesmo para a imagem cuja freqüência de apari37 ção de coeficientes for não uniforme.
Quanto aos blocos codificados então usados para a referência, o caso no qual apenas dois blocos na posição de blocos B e D, ao invés de se usarem três blocos na posição de blocos B, C e D para o bloco atual X, como mostrado na Figura 4a, são usados pode ser tratado da mesma forma. Nesse sentido, quando os blocos localizados acima e à esquerda não estão codificados nem situados fora da imagem tampouco fora da fatia, um valor 0 ou um outro valor arbitrário pode ser substituído.
Na presente modalidade, o codificador de número de coeficiente 111 realiza uma codificação de comprimento variável para o valor do número de coeficientes em si. Entretanto, como na primeira modalidade, é possível, como mostrado na Figura 13, que um valor de diferença entre o valor preditivo calculado pela unidade de cálculo de valor preditivo 201 e o valor introduzido do número de coeficientes seja calculado pela unidade de cálculo de diferença 207 e uma codificação de comprimento variável seja realizada para o valor ganho pelo menos processamento, como descrito nas modalidades mencionadas acima.
Também, na presente modalidade, a tabela de código e a tabela de VLC são para serem alternadas no codificador de número de coeficiente 111, embora seja possível fixá-las ao invés de se alternar entre elas.
(Quinta Modalidade)
A Figura 15 é um diagrama de blocos que mostra uma estrutura de um dispositivo de codificação de imagem na quinta modalidade, usandose um método de codificação de imagem de acordo com a presente invenção. Uma seqüência de processamento de codificação é totalmente a mesma que na primeira modalidade. A diferença, contudo, é que a presente modalidade não usa a unidade de armazenamento de número de coeficiente 110, mas emprega um modo de predição interimagem, em caso de uma codificação de predição interimagem, e um modo de predição intra-imagem, no caso de uma codificação de predição intraimagem, como uma informação de referência em um codificador de número de coeficiente 1201, ao invés de se usar o número dos coeficientes nos blocos codificados, como na primeira modalidade.
Aqui, com referência a uma explanação de processamento de codificação de comprimento variável no codificador de número de coeficiente
1201, mostrado na Figura 15, os detalhes são explicados usando-se a Figu5 ra 16, o Quadro 10 e o Quadro 11.
A Figura 16 é um diagrama de blocos que mostra em detalhes uma estrutura interna do codificador de número de coeficiente 1201.
Como mostrado na Figura 16, o codificador de número de coeficiente 1201 não inclui a unidade de cálculo de valor preditivo 201 mostrada no Quadro 3A. Um modo de predição interimagem é introduzido a partir de uma unidade de predição interimagem 107 e um modo de predição intraimagem é introduzido a partir de uma unidade de predição intra-imagem 108 em uma unidade de seleção de tabela de código 1301 e em uma unidade de seleção de tabela de VLC 1302. Conseqüentemente, a unidade de seleção de tabela de código 1301 seleciona uma tabela com base no modo: o modo de predição interimagem para a predição interimagem e o modo de predição intra-imagem para a predição intra-imagem. O Quadro 10 mostra um método de seleção para tabelas de código na unidade de seleção de tabela de código 1301.
<Quadro 10>
Tabela de referência Modo de predição interimagem Modo de predição intraimagem
Tabela de código 1 16x 16, 16x8, 8x 16 Predição plana
Tabela de código 2 8x8 Predição oblíqua
Tabela de código 3 8 x 4, 4 x 8 Predição oblíqua
Tabela de código 4 4x4 Predição vertical e horizontal
Por exemplo, em um caso onde a imagem atual é codificada usando-se uma predição interimagem, uma tabela de código 2 é selecionada de modo conforme, para uma codificação de comprimento variável do número de coeficientes, quando uma predição do bloco atual dimensionado 8x8 for selecionada. Os itens não estão limitados àqueles usados no Quadro 10. O Quadro 11 mostra um método de seleção na unidade de seleção de tabela de VLC 1302. <Quadro 11 >
Tabela de referência Modo de predição interimagem Modo de predição intraimagem
Tabela de VLC 1 16x16, 16x8,8x16 Predição plana
Tabela de VLC 2 8x8 Predição oblíqua
Tabela de VLC 3 8 x 4, 4 x 8 Predição oblíqua
Tabela de VLC 4 4x4 Predição vertical e horizontal
A unidade de seleção de tabela de VLC 1302 seleciona uma tabela de VLC para referência real, usando um método de seleção mostrado no Quadro 11 como no caso da unidade de seleção de tabela de código 1301.
O codificador de número de coeficiente 206 refere-se à tabela de código selecionada pela unidade de seleção de tabela de código 1301 e a uma tabela de VLC selecionada pela unidade de seleção de tabela de VLC
1302, e realiza uma codificação de comprimento variável para os números dos coeficientes no bloco atual, o qual é introduzido da mesma forma que na primeira modalidade.
A presente modalidade, como mostrado acima, mostrou um método de codificação, o qual realiza uma codificação eficiente do número de coeficientes, mesmo para a imagem cuja freqüência de aparição de coeficientes é não uniforme, com referência à tabela de código e à tabela de VLC, pela alternância entre elas de forma adaptativa, de acordo com o modo: um modo de predição interimagem para uma codificação de predição interimagem e um modo de predição intra-imagem para uma codificação de predição intra-imagem.
Na presente modalidade, o codificador de número de coeficiente 1201 realiza uma codificação de comprimento variável para o valor do número de coeficientes em si, como na primeira modalidade. Entretanto, é possível, como na primeira modalidade, determinar um valor preditivo, usando-se os números dos coeficientes nos blocos vizinhos, os quais são codificados como na primeira modalidade, e obter um valor de diferença entre este valor preditivo e o valor introduzido do número de coeficientes, de modo a se realizar uma codificação de comprimento variável para o valor ganho no mesmo processamento que nas modalidades mencionadas acima.
Também, na presente modalidade, o codificador de número de coeficiente 1201 realiza uma codificação de comprimento variável pela alternância de ambas a tabela de código e a tabela de VLC. Contudo, é possível fixar uma delas, ao invés de se alternar uma delas ou ambas. Neste caso, isso é realizado pela preparação de apenas uma unidade de armazenamento, a qual tem um certo tipo de tabelas de código ou um certo tipo de tabelas de VLC ao invés de se usarem unidades de seleção de tabela.
(Sexta Modalidade)
A Figura 17 é um diagrama de blocos que mostra uma estrutura de uma modalidade de um dispositivo de decodificação de imagem, que usa um método de decodificação de imagem de acordo com a presente invenção. O fluxo de bits criado pelo dispositivo de codificação de imagem de acordo com a primeira modalidade deve ser introduzido aqui.
O dispositivo de decodificação de imagem inclui uma unidade de análise de fluxo de bits 1401, uma unidade de armazenamento de número de coeficiente 1402, um decodificador de número de coeficiente 1403, um decodificador de valor de coeficiente 1404, uma unidade de quantificação inversa 1405, uma unidade de transformação ortogonal inversa 1406, uma memória de quadro 1407, um decodificador de predição interimagem 1408, um decodificador de predição intra-imagem 1409 e uma chave 1410.
A unidade de análise de fluxo de bits 1401 extrai a partir do fluxo de bits introduzido vários tipos de informação, tal como um modo de codificação, vetores de movimento usados para a codificação, um fluxo de bits do número de coeficientes (o número de coeficientes mostrando uma componente de freqüência espacial a qual tem um outro valor além de 0 para cada bloco) e vários tipos de informação no fluxo de bits do valor dos coeficientes. A unidade de armazenamento de número de coeficiente 1402 armazena os números dos coeficientes dos blocos decodificados. O decodificador de número de coeficiente 1403 decodifica o fluxo de bits dos números de coefici41 entes por uma referência aos números dos coeficientes nos blocos decodificados.
O decodificador de valor de coeficiente 1404 decodifica o fluxo de bits do valor dos coeficientes usando os números de coeficientes decodificados pelo decodificador de número de coeficiente 1403. A unidade de quantificação inversa 1405 realiza uma quantificação inversa nos coeficientes decodificados. A unidade de transformação ortogonal inversa 1406 realiza uma transformação ortogonal inversa nos dados inversamente quantificados e os transforma em dados de imagem residuais preditivos.
O decodificador de predição interimagem 1408 cria dados de imagem de compensação de movimento com base nos vetores de movimento extraídos pela unidade de análise de fluxo de bits 1401, bem como imagens decodificadas ou similares, quando um macrobloco atual a ser decodificado for codificado com uma predição interimagem. Uma unidade de cálculo de adição 1411 adiciona os dados de imagem residuais preditivos introduzidos a partir da unidade de transformação ortogonal inversa 1406 e os dados de imagem de compensação de movimento introduzidos a partir do decodificador de predição interimagem 1408, de modo a criar dados de imagem decodificados. A memória de quadro 1407 armazena os dados de imagem decodificados criados.
O decodificador de predição íntra-imagem 1409 realiza uma predição intra-imagem usando uma informação sobre os blocos decodificados adjacentes, de modo a criar dados de imagem decodificados, quando o macrobloco atual for codificado com predição intra-imagem.
Em seguida, uma explicação de uma operação de um dispositivo de decodificação de imagem como construído acima se segue.
Como um começo, um fluxo de bits é introduzido na unidade de análise de fluxo de bits 1401. A unidade de análise de fluxo de bits 1401 extrai a partir do fluxo de bits introduzido vários tipos de informação sobre vetores de movimento, um fluxo de bits do número de coeficientes e um fluxo de bits do valor dos coeficientes, e assim por diante. Então, a unidade de análise de fluxo de bits 1401 extrai respectivamente, como se segue: os vetores de movimento para a unidade de decodificação de predição interimagem 1408, o fluxo de bits do número de coeficientes para o decodificador de número de coeficiente 1403 e o fluxo de bits do valor dos coeficientes para o decodificador de valor de coeficiente 1404.
O decodificador de número de coeficiente 1403 no qual o fluxo de bits do número de coeficientes é introduzido decodifica este fluxo de bits como o número de coeficientes o qual tem um outro valor além de 0 para cada bloco. Neste caso, o decodificador de número de coeficiente 1403 realiza uma decodificação por uma referência aos números de coeficientes nos blocos decodificados armazenados na unidade de armazenamento de número de coeficiente 1402 com um método, o que é para ser explicado mais tarde. Então, o decodificador de valor de coeficiente 1404 realiza uma decodificação do valor dos coeficientes em si, com referência às tabelas de código e às tabelas de VLC necessárias para uma decodificação de comprimento variável, pela alternância entre elas, usando uma informação de número do coeficiente ganho pelo decodificador de número de coeficiente 1403. O coeficiente ganho é transformado em dados de imagem residuais preditivos pela unidade de quantificação inversa 1405, bem como pela unidade de transformação ortogonal inversa 1406.
Os vetores de movimento extraídos pela unidade de análise de fluxo de bits 1401 são introduzidos no decodificador de predição interimagem 1408, quando um macrobloco atual a ser decodificado é codificado com predição interimagem. O decodificador de predição interimagem 1408 cria dados de imagem de compensação de movimento ao ter os dados de imagem decodificados das imagens decodificadas armazenados na memória de quadro 1407 como imagens de referência, com base na informação sobre os vetores de movimento. Os dados de imagem de compensação de movimento assim ganhos são criados como dados de imagem decodificados ao serem adicionados aos dados de imagem residuais preditivos na unidade de cálculo de adição 1411 e, então, armazenados na memória de quadro 1407.
Por outro lado, quando o macrobloco atual é codificado usandose predição intra-imagem, a predição intra-imagem é realizada usando-se ··· ··» uma informação sobre os blocos decodificados adjacentes pelo decodificador de predição intra-imagem 1409, e dados de imagem decodificados são criados e armazenados na memória de quadro 1407. Então, a memória de quadro 1407 os extrai como dados de saída definitivos em ordem de exibição.
O contorno de um fluxo de decodificação foi explicado acima. Em seguida, um processamento de decodificação do número de coeficientes realizado pelo decodificador de número de coeficiente 1403 é explicado em detalhes usando-se da Figura 18 a Figura 21.
A Figura 18A é um diagrama de blocos que mostra em detalhes uma estrutura interna do decodificador de número de coeficiente 1403.
Aqui, há um exemplo de uso de duas tabelas, uma tabela de VLC e uma tabela de código, para a realização de uma decodificação de comprimento variável dos números de coeficientes. A tabela de VLC é uma tabela usada para a transformação de um código de comprimento variável em um fluxo de bits em um número de código, ao passo que a tabela de código é uma tabela usada para a transformação do número de código ganho pela tabela de VLC no número de coeficientes.
Como mostrado na Figura 18A, o decodificador de número de coeficiente 1403 inclui uma unidade de cálculo de valor preditivo 1501, uma unidade de armazenamento de tabela de código 1502, uma unidade de seleção de tabela de código 1503, uma unidade de seleção de tabela de VLC 1504, uma unidade de armazenamento de tabela de VLC 1505 e um decodificador de número de coeficiente 1506.
Em primeiro lugar, os números dos coeficientes nos blocos decodificados localizados na periferia são introduzidos a partir da unidade de armazenamento de número de coeficiente 1402, como mostrado na Figura 17, na unidade de cálculo de valor preditivo 1501. A unidade de cálculo de valor preditivo 1501 determina um valor preditivo pelo cálculo de um valor ponderado desses valores. Um valor máximo, um valor mínimo ou um valor médio pode ser usado, de acordo com o método de cálculo de valor preditivo para a codificação. Os blocos decodificados a serem então referidos são »♦· ·» ’*· ·«»· ·«» «·· determinados seguindo-se o Quadro 1, usando-se três blocos na posição de blocos B, C e D para o bloco atual X mostrado na Figura 4A, como na primeira modalidade. Quanto a sinais no Quadro 1, um sinal O significa um bloco codificado e um sinal x significa um bloco o qual não pode ser referi5 do, uma vez que ele não está decodificado nem situado fora da imagem ou fora da fatia. O Quadro 1 mostra uma relação entre condições dos blocos de referência e do(s) bloco(s) o(s) qual (is) pode(m) ser referido(s), embora os padrões não estejam limitados a isso. Se nenhum bloco de referência for encontrado, um valor 0 ou um outro valor arbitrário pode ser dado direta10 mente como um valor preditivo.
A unidade de seleção de tabela de código 1503 seleciona uma tabela de código para uso real a partir de uma pluralidade de tabelas de código armazenadas na unidade de armazenamento de tabela de código 1502, de acordo com o valor preditivo calculado pela unidade de cálculo de valor preditivo 1501.
O Quadro 2 é um exemplo de uma tabela de código a qual relaciona números de coeficientes e números de código, preparada de antemão pela unidade de armazenamento de tabela de código 1502. Aqui, quatro tipos de tabelas de código são preparados; contudo, o número de tipos de tabelas e os valores indicados nas tabelas não estão limitados àqueles usados no Quadro 2. Neste caso, contudo, a mesma tabela que aquela usada para a codificação deve ser usada. Também, o Quadro 3 mostra critérios de seleção para tabelas de código, com base em um valor preditivo. A forma de atribuição do valor preditivo ou os itens de tabela não estão limitados àque25 les usados no Quadro 3. Entretanto, a mesma tabela que aquela usada para a codificação deve ser usada.
A unidade de seleção de tabela de VLC 1504 seleciona uma tabela de VLC para uso real a partir de uma pluralidade de tabelas de VLC armazenadas na unidade de armazenamento de tabela de VLC 1505, de acordo com o valor preditivo calculado pela unidade de cálculo de valor preditivo 1501.
O Quadro 4 mostra um exemplo de uma tabela de VLC, a qual «·· ·· ··*· W» ·«·· ·Λ«·* ·· «« • » · * · · 1 · 4 · · fc « «·· 4 · · · ·«»· ··« ··· »·· *···«·*· ··.“ 9 99 99 99 99 999 99 ·· • ·*· relaciona o número de coeficientes e os números de código preparados de antemão pela unidade de armazenamento de tabela de VLC 1505. Aqui, quatro tipos de tabelas de VLC são preparados, embora os tipos de tabelas e os valores indicados nas tabelas não estejam limitados àqueles usados no Quadro 4. Entretanto, neste caso, a mesma tabela que aquela usada para a codificação deve ser usada. Também, o Quadro 5 mostra critérios de seleção para tabelas de VLC, com base em um valor preditivo. A forma de atribuição do valor preditivo e os itens indicados nas tabelas de referência não estão limitados àqueles usados no Quadro 5. Entretanto, neste caso, é condicionado usar a mesma tabela que aquela usada para a codificação.
O decodificador de número de coeficiente 1506 refere-se à tabela de código, bem como a tabela de VLC selecionada no processamento acima e realiza uma decodificação de comprimento variável para um fluxo de bits do número de coeficientes no bloco atual introduzido. O decodificador de número de coeficiente 1506, primeiramente, transforma o número de coeficientes em um número de código, usando a tabela de VLC e, então, o transforma em um valor do número de coeficientes correspondente ao número de código, usando a tabela de código. A Figura 19 é um diagrama padrão que mostra um exemplo de decodificação, quando um valor preditivo calculado na unidade de cálculo de valor preditivo 1501 é 6 e um fluxo de bits do número de coeficientes no bloco atual é 0100. O valor preditivo sendo 6, a unidade de seleção de tabela de código 1503 seleciona uma tabela de código 3, mostrada na Figura 19, usando o Quadro 3 e o Quadro 2, e a unidade de seleção de tabela de VLC 1504 seleciona uma tabela de VLC 3 mostrada na Figura 19, usando o Quadro 5 e o Quadro 4. O decodificador de número de coeficiente 1506 transforma o fluxo de bits introduzido 0100 em um número de código 2, de acordo com a tabela de VLC 3 e, então, determina o número definitivo de coeficientes 4, de acordo com a tabela de código 3.
O que vem a seguir descreve em detalhes um processamento de armazenamento do número de coeficientes realizado pela unidade de armazenamento de número de coeficiente 1402, os detalhes sendo explicados. A Figura 6A, usada para a descrição da primeira modalidade, é usada
5íf
Μ aqui, embora uma borda preta contendo blocos codificados B1 a B16 mostre um macrobloco atual a ser decodificado, ao passo que os blocos hachurados mostram blocos de referência para o macrobloco atual. Os números colocados para os blocos indicam uma ordem de decodificação realizada no macrobloco.
A unidade de armazenamento de número de coeficiente 1402 armazena os números de coeficientes decodificados pelo decodificador de número de coeficiente 1403, pelo menos para os blocos de referência os quais são hachurados, como mostrado na Figura 6A, necessários para o macrobloco atual no momento do começo do processamento do macrobloco atual mostrado na Figura 6A. Especificamente, a unidade de armazenamento de número de coeficiente 1402 armazena os números dos coeficientes detectados a partir dos blocos do macrobloco atual (B1, B2, B3, ... e B16), os quais devem ser processados seqüencialmente. Por exemplo, quando um bloco B6 é um bloco atual, a unidade de armazenamento de número de coeficiente 1402 armazena os números de cada coeficiente do bloco B1, B2, B3, B4 e B5, os quais já estão processados, além daqueles dos blocos de referência, como mostrado na Figura 6A. Quando o decodificador de número de coeficiente 1403 decodifica o número de coeficientes do bloco B6, a unidade de armazenamento de número de coeficiente 1402 o armazena. A unidade de armazenamento de número de coeficiente 1402, assim, armazena os números dos coeficientes dos blocos no macrobloco atual, os quais devem ser processados seqüencialmente.
Quando um macrobloco atual é um macrobloco MB11, mostrado na Figura 2B, a unidade de armazenamento de número de coeficiente 1402 armazena pelo menos os números dos coeficientes dos blocos na fileira de fundo e na coluna à direita do macrobloco MB11 (blocos hachurados) na Figura 7A, quando o processamento deste macrobloco MB11 termina e se desloca para o próximo macrobloco MB12. Em seguida, a unidade de armazenamento de número de coeficiente 1402 armazena pelo menos os números dos coeficientes dos blocos na fileira de fundo e na coluna à direita do macrobloco MB12, da mesma forma, bem como os números dos coeficien30
Bs tes dos blocos na fileira de fundo do macrobloco MB11 (blocos sombreados), como mostrado na Figura 7B, quando o processamento do macrobloco MB12 terminar, e o processamento prossegue para o próximo macrobloco MB13.
Quando um macrobloco atual está localizado na borda direita da imagem como em um macrobloco MB9, mostrado na Figura 2B, a unidade de armazenamento de número de coeficiente 1402 armazena pelo menos os números dos coeficientes nos blocos na fileira de fundo do macrobloco MB9, quando o processamento deste macrobloco MB9 termina, e prossegue para o próximo macrobloco MB10.
Quando um bloco atual está localizado na borda de fundo da imagem, como um macrobloco MBm, mostrado na Figura 2B, a unidade de armazenamento de número de coeficiente 1402 armazena pelo menos os números dos coeficientes dos blocos na coluna à direita deste macrobloco MBm (blocos hachurados), como mostrado na Figura 7C.
Assim, a unidade de armazenamento de número de coeficiente 1402 armazena pelo menos os números de coeficientes para os blocos a serem referidos. É possível apagar, em um sincronismo arbitrário, a informação sobre os números de coeficientes dos outros blocos além daqueles a serem armazenados, como descrito na explanação acima, quando os blocos não forem mais usados para referência. Por exemplo, é possível apagar a informação quando o processamento prosseguir para o próximo macrobloco, bem como enquanto se processa o macrobloco. Também, os números dos coeficientes dos blocos, os quais não são usados para referência, nem sempre necessitam um processamento de apagamento. Por exemplo, a unidade de armazenamento de número de coeficiente 1402 pode identificar os números de coeficientes dos blocos, os quais não são referidos mais, como desnecessários, e pode sobrescrevê-los, se necessário.
É explicado acima que é possível se referir aos números dos coeficientes dos blocos decodificados pelo armazenamento deles na unidade de armazenamento de número de coeficiente 1402. Entretanto, um sistema para o cálculo do número de coeficientes pode ser usado, se necessá30 rio, pelo armazenamento não dos valores do número de coeficientes em si, mas, por exemplo, os valores dos coeficientes dos blocos, indicando componentes de freqüência espacial.
Assim, na presente modalidade, é possível calcular o valor preditivo usando-se os números de coeficientes nos blocos adjacentes decodificados e decodificar o número de coeficientes com referência à tabela de código e à tabela de VLC pela alternância entre elas de forma adaptativa, de acordo com o valor preditivo.
Também, ela lida com mudanças em uma posição onde a probabilidade de aparição do número de coeficientes é a mais alta, com referência às tabelas de código, pela alternância delas de forma adaptativa, de acordo com o valor preditivo. Ao mesmo tempo, ela pode corresponder a um tamanho da dispersão da probabilidade de aparição do número de coeficientes com referência às tabelas de VLC pela alternância delas de acordo com o valor preditivo.
É possível usar apenas dois blocos na posição dos blocos B e D como os blocos a serem referidos pela unidade de cálculo de valor preditivo 1501 para o bloco atual X, como mostrado na Figura 4B, ao invés de se usarem três blocos vizinhos, como mostrado na Figura 4A. Neste caso, mudanças nos blocos de referência podem ser feitas como no Quadro 6, quando os blocos não estiverem decodificados ou localizados fora da imagem ou fora da fatia. Quanto aos sinais no Quadro 6, um sinal O significa um bloco decodificado e um sinal x significa um bloco o qual não pode ser referido, uma vez que ele não está decodificado nem situado fora da imagem ou fora da fatia, como no Quadro 1. O Quadro 6 mostra uma relação entre condições dos blocos de referência e o(s) bloco(s) o(s) qual(is) pode(m) ser referido(s), embora os padrões não sejam limitados para isso. Um valor 0 ou um outro valor arbitrário é dado diretamente como o valor preditivo, quando nenhum bloco de referência for encontrado. Entretanto, o mesmo valor que aquele usado para a codificação deve ser usado. Neste caso, a unidade de armazenamento de número de coeficiente 1402 pode apenas armazenar os números de coeficientes decodificados pelo decodificador de número de coefi30
V* ciente 1403, pelo menos aqueles dos blocos de referência necessários para o macrobloco atual, mostrado na Figura 6B.
Também é possível, como um método, calcular um valor preditivo na unidade de cálculo de valor preditivo 1501, por exemplo, para a seleção de um método ótimo de acordo com cada seqüência, cada GOP, cada imagem ou cada fatia, ao invés de se fixar o método de uso de um valor ponderado, um valor máximo, um valor mínimo ou um valor médio. Neste caso, um método de cálculo é determinado pela decodificação dos sinais para a identificação de um método de cálculo descrito na seção de cabeçalho da seqüência ou da imagem ou a fatia, do fluxo de bits. A fatia é uma imagem adicionalmente dividida em uma pluralidade de seções. Uma seção equivalente a uma coluna na direção transversal em cada macrobloco é um exemplo disso.
Também, é possível selecionar, por exemplo, um dentre um valor ponderado, um valor máximo, um valor mínimo ou um valor médio de acordo com o valor ponderado dos números de coeficientes nos blocos de referência decodificados como um método para o cálculo de um valor preditivo na unidade de cálculo de valor preditivo 1501. O Quadro 7 mostra os critérios de seleção. A forma de atribuição do valor ponderado e os itens indicados como métodos de cálculo de valor preditivo não estão limitados àqueles usados no Quadro 7. Nesse sentido, o mesmo método que aquele usado para a codificação deve ser usado.
A presente modalidade mostra um método de processamento de decodificação de um fluxo de bits, no qual uma codificação de comprimento variável é realizada para os valores do número de coeficientes em si pelo decodificador de número de coeficiente 1403. Contudo, é possível realizar uma decodificação de um fluxo de bits, no qual uma codificação de comprimento variável é realizada para um valor de diferença entre o valor preditivo e o número de coeficientes. Neste caso, o número de coeficientes é determinado pelo fato de a unidade de cálculo de adição 1507 adicionar o valor preditivo calculado pela unidade de cálculo de valor preditivo 1501 ao valor de diferença do número de coeficientes decodificados pelo decodificador de
Figure BRPI0303566B1_D0008
-· ··· ·· ·« número de coeficiente 1506.
Também, o decodificador de número de coeficiente 1403 realiza uma decodificação de comprimento variável pela alternância de ambas a tabela de código e a tabela de VLC de acordo com o valor preditivo, com base nos números dos coeficientes dos blocos vizinhos. Contudo, é possível fixar uma delas ao invés de se alternar entre elas. Neste caso, isso é realizado pela preparação de uma unidade de armazenamento, a qual tem um certo tipo de tabelas de código ou um certo tipo de tabelas de VLC. A Figura 20A é um diagrama de blocos que mostra uma estrutura do decodificador de número de coeficiente 1403 para a realização da decodificação de comprimento variável do número de coeficientes pela fixação apenas da tabela de código. A Figura 20B é um diagrama de blocos que mostra uma estrutura do decodificador de número de coeficiente 1403 para a realização de uma decodificação de comprimento variável do número de coeficientes pela fixação apenas da tabela de VLC. No caso de fixação apenas da tabela de código, o decodificador de número de coeficiente 1403, como mostrado na Figura 20A, inclui uma unidade de armazenamento de tabela de código 1601, ao invés da unidade de armazenamento de tabela de código 1502 e da unidade de seleção de tabela de código 1503, mostradas na Figura 18A. A unidade de armazenamento de tabela de código 1601 tem um certo tipo de tabelas de código. O decodificador de número de coeficiente 1506, primeiramente, transforma um código de comprimento variável em um número de código, usando a tabela de VLC selecionada pela unidade de seleção de tabela de VLC 1504 e, então, transforma o número de código no número de coeficientes, usando a tabela de código armazenada na unidade de armazenamento de tabela de código 1601.
Por outro lado, no caso de fixação apenas da tabela de VLC, o decodificador de número de coeficiente 1403, como mostrado na Figura 20B, inclui uma unidade de armazenamento de tabela de VLC 1602, ao invés da unidade de armazenamento de tabela de VLC 1505 e da unidade de seleção de tabela de VLC 1504, mostradas na Figura 18A. A unidade de armazenamento de tabela de VLC 1602 tem um certo tipo de tabela de VLC. O deco30 dificador de número de coeficiente 1506, primeiramente, transforma um código de comprimento variável em um número de código, usando a tabela de VLC armazenada na unidade de armazenamento de tabela de VLC 1602 e, então, transforma o número de código no número de coeficientes, usando a tabela de código selecionada pela unidade de seleção de tabela de código 1503.
Assim, é possível reduzir a capacidade de memória para o armazenamento de uma pluralidade de tabelas pela fixação de uma dentre uma tabela de código e uma tabela de VLC.
Também é possível realizar uma decodificação no decodificador de número de coeficiente 1403 pela alternância apenas das tabelas de VLC, sem o uso de tabelas de código, de acordo com o valor preditivo, com base nos números dos coeficientes dos blocos vizinhos. A Figura 20C é um diagrama de blocos que mostra uma estrutura do decodificador de número de coeficiente 1403, quando da realização da decodificação de comprimento variável do número de coeficiente, usando-se apenas uma tabela de VLC, sem o uso de tabelas de código. Neste caso, como mostrado na Figura 20C, o decodificador de número de coeficiente 1403 não inclui nem a unidade de armazenamento de tabela de código 1502 nem a unidade de seleção de tabela de código 1503, mostradas na Figura 18A. No decodificador de número de coeficiente 1403, a unidade de seleção de tabela de VLC 1603 seleciona a tabela de VLC para uso real a partir de uma pluralidade de tabelas de VLC armazenadas na unidade de armazenamento de tabela de VLC 1604, com base no valor preditivo calculado pela unidade de cálculo de valor preditivo 1501. Então, o decodificador de número de coeficiente 1506 transforma diretamente um código de comprimento variável no número de coeficientes, sem transformar o número de coeficientes em um número de código, usando a tabela de código, como descrito acima.
Assim, pela fixação de uma dentre a tabela de código ou a tabela de VLC ao invés de se alternar entre elas, a produção para alternância de tabelas pode ser reduzida, ou uma quantidade de memória para o armazenamento de uma pluralidade de tabelas pode ser reduzida, embora os
Figure BRPI0303566B1_D0009
efeitos de eficiência de codificação diminuam mais ou menos.
Também, um caso em que o decodificador de número de coeficiente 1403 decodifica um fluxo de bits, no qual uma codificação de comprimento variável é realizada para o valor de diferença entre o valor preditivo e o número de coeficientes, ao invés do valor do número de coeficientes, pode ser manipulado da mesma forma. A Figura 21 é um diagrama de blocos deste exemplo, que mostra uma estrutura do decodificador de número de coeficiente 1403 para a realização de uma decodificação do fluxo de bits, no qual uma decodificação de comprimento variável é realizada para o valor de diferença entre o valor preditivo e o número de coeficientes, pela fixação de ambas a tabela de código e a tabela de VLC. Neste caso, como mostrado na Figura 21, o decodificador de número de coeficiente 1403 inclui uma unidade de armazenamento de tabela de código 1601, ao invés da unidade de armazenamento de tabela de código 1502 e da unidade de seleção de tabela de código 1503, mostradas na Figura 18A, bem como uma unidade de armazenamento de tabela de VLC 1602 ao invés da unidade de armazenamento de tabela de VLC 1505 e da unidade de seleção de tabela de VLC 1504, mostradas na Figura 18A. Esta unidade de armazenamento de tabela de código
1601 tem um certo tipo de tabelas de código, ao passo que a unidade de armazenamento de tabela de VLC 1602 tem um certo tipo de tabela de VLC. O decodificador de número de coeficiente 1506, primeiramente, transforma um código de comprimento variável em um número de código, usando a tabela de VLC armazenada na unidade de armazenamento de tabela de VLC
1602 e, então, transforma o número de código em um valor de diferença entre o valor preditivo e o número de coeficientes, usando a tabela de código armazenada na unidade de armazenamento de tabela de código 1601. A unidade de cálculo de adição 1507 calcula o número de coeficientes pela adição do valor de diferença ao valor preditivo.
(Sétima Modalidade)
A estrutura do dispositivo de decodificação de imagem e o contorno do processamento de decodificação são totalmente os mesmos que na sexta modalidade, à parte do decodificador de número de coeficiente 1403 mostrado na Figura 17. Quanto a um processamento de decodificação de comprimento variável do número de coeficientes realizado no decodificador de número de coeficiente 1403, de acordo com a sétima modalidade, os detalhes são explicados aqui se usando as Figuras 11 e 22. O fluxo de bits criado no dispositivo de codificação de imagem de acordo com a segunda modalidade deve ser introduzido.
A Figura 22A é um diagrama de blocos que mostra em detalhes uma estrutura interna do decodificador de número de coeficiente 1403.
Como mostrado na Figura 22A, o decodificador de número de coeficiente 1403 inclui uma unidade de geração de tabela de código 1901 ao invés da unidade de armazenamento de tabela de código 1502 e da unidade de seleção de tabela de código 1503, mostradas na Figura 18A. Os números de coeficientes nos blocos decodificados são introduzidos a partir da unidade de armazenamento de número de coeficiente 1402, mostrada na Figura 17, na unidade de geração de tabela de código 1901. A unidade de geração de tabela de código 1901 conta o número dos blocos decodificados tendo o mesmo número de coeficientes que o valor do número de coeficientes em cada valor do número de coeficientes, e cria tabelas de código pela atribuição de números de código em ordem descendente, começando a partir de um número de coeficiente o qual é registrado na freqüência mais alta, com base na estatística. A Figura 11A é um diagrama padrão apresentando uma posição dos blocos codificados almejados para estatísticas. Aqui, uma P1, uma P3 e uma P4 são imagens nas quais uma codificação de predição interimagem é realizada, ao passo que uma I2 é uma imagem na qual uma codificação de predição intra-imagem é realizada. Supondo que um bloco atual a ser decodificado pertença a P3, todos os blocos na P1, uma imagem imediatamente precedente à imagem atual decodificada com o mesmo método, são almejados para estatísticas. O caso no qual os blocos equivalentes de uma imagem incluindo os blocos decodificados na imagem atual são almejados para estatísticas pode ser manipulado da mesma forma. Também, uma tabela para a condição inicial em ordem ascendente, começando do número 0, é usada quando os blocos decodificados correspondentes a uma imagem,
Figure BRPI0303566B1_D0010
a qual pode ser almejada para estatística, não existirem. Aqui, os blocos equivalentes a uma imagem são almejados para estatísticas, embora o caso no qual o número de outros blocos além deste é usado como um parâmetro possa ser manipulado da mesma forma. Nesse sentido, o mesmo número que aquele usado para a codificação deve ser usado. Em caso de geração da tabela de código, como descrito acima, ao se fazer uma referência, como mostrado na Figura 11 A, a tabela pode ser grada apenas uma vez, quando a codificação da imagem atual for iniciada.
Nesse ínterim, os números de coeficientes nos blocos codifica10 dos situados na periferia são introduzidos na unidade de cálculo de valor preditivo 1501. A unidade de cálculo de valor preditivo 1501 determina o valor preditivo pelo cálculo de um valor ponderado com base nesses valores, como na sexta modalidade. Um valor máximo, um valor mínimo ou um valor médio podem ser usados ao invés do valor ponderado como um método para a determinação do valor preditivo. Como mencionado na sexta modalidade, os blocos decodificados então usados como referência são determinados usando-se três blocos na posição dos blocos B, C e D para o bloco atual X, mostrado na Figura 4A, de acordo com o Quadro 1. O Quadro 1 mostra uma relação entre condições dos blocos de referência e o(s) bloco(s) o(s) qual(is) pode(m) ser referido(s), embora os padrões não estejam limitados a isso. Um valor 0 ou um outro valor arbitrário é dado diretamente como um valor preditivo quando nenhum bloco de referência for encontrado. Nesse sentido, o mesmo valor que aquele usado para a codificação deve ser usado.
O valor preditivo calculado pela unidade de cálculo de valor preditivo 1501 é usado apenas na unidade de seleção de tabela de VLC 1504. A unidade de seleção de tabela de VLC 1504 seleciona, como na sexta modalidade, uma tabela de VLC para a decodificação do número de coeficientes a partir de uma pluralidade de tabelas de VLC preparadas de antemão na unidade de armazenamento de tabela de VLC 1505 como mostrado no Quadro 4, de acordo com os critérios de seleção mostrados no Quadro 5.
O codificador de número de coeficiente 1506 refere-se à tabela
Figure BRPI0303566B1_D0011
de código criada pela unidade de geração de tabela de código 1901 e à tabela de VLC selecionada pela unidade de seleção de tabela de VLC 1504 e realiza uma decodificação de comprimento variável para o fluxo de bits do número dos coeficientes introduzido, da mesma forma que na sexta modalidade.
Assim, na presente modalidade, é possível criar uma tabela de código ao se tomarem estatísticas dos números dos coeficientes nos blocos decodificados e determinar uma tabela de VLC de acordo com o valor preditivo calculado usando-se os números dos coeficientes nos blocos decodificados, e realizar a decodificação do número de coeficientes por uma referência a ambas as tabelas.
Também é possível determinar os blocos decodificados usados para referência na unidade de cálculo de valor preditivo 1501 como na sexta modalidade, de acordo com o Quadro 6, usando-se apenas dois blocos localizados na posição dos blocos B e D para o bloco atual X, mostrado na Figura 4B, ao invés de se usarem três blocos adjacentes, como mostrado na Figura 4A. O Quadro 6 mostra uma relação entre condições dos blocos de referência e o(s) bloco(s) o(s) qual(is) pode(m) ser referido(s), embora os padrões não estejam limitados a isto. Um valor 0 ou um outro valor arbitrário é dado diretamente como um valor preditivo, quando nenhum bloco de referência for encontrado. Neste sentido, o mesmo valor que aquele usado para a codificação deve ser usado.
Também é possível, como um método para o cálculo de um valor preditivo na unidade de cálculo de valor preditivo 1501, por exemplo, selecionar um método ótimo de acordo com cada seqüência, cada GOP, cada imagem ou cada fatia, ao invés de se fixar o método para se usar um dentre um valor ponderado, um valor máximo, um valor mínimo ou um valor médio. Neste caso, o método de cálculo é determinado pela decodificação dos sinais para a identificação do método de cálculo descrito no cabeçalho da seqüência, do GOP ou da imagem ou fatia, do fluxo de bits.
Também é possível selecionar, por exemplo, um dentre um valor ponderado, um valor máximo, um valor mínimo ou um valor médio de acordo com um valor ponderado dos números dos coeficientes nos blocos de referência decodificados, como um método para o cálculo de um valor preditivo na unidade de cálculo de valor preditivo 1501, como na primeira modalidade. O Quadro 7 mostra os critérios de seleção. A forma de atribuição do valor ponderado e os itens indicados como métodos de cálculo de valor preditivo não estão limitados àqueles usados no Quadro 7. Nesse sentido, o mesmo método que aquele usado para a codificação deve ser usado.
Também, a presente modalidade mostra um método de processamento de decodificação de um fluxo de bits, no qual uma codificação de comprimento variável é realizada para os valores do número de coeficientes em si. Contudo, é possível realizar uma decodificação de um fluxo de bits, no qual uma codificação de comprimento variável é realizada, para um valor de diferença entre um valor preditivo e o número de coeficientes. Neste caso, o número de coeficientes é determinado pelo fato de a unidade de cálculo de adição 1507 adicionar o valor de diferença entre o valor preditivo calculado na unidade de cálculo de valor preditivo 1501, como mostrado na figura 22, ao número de coeficientes decodificado pelo decodificador de número de coeficiente 1506.
Também, na modalidade mencionada acima, o decodificador de número de coeficiente 1403 executa uma decodificação de comprimento variável ao alternar as tabelas de VLC de acordo com o valor preditivo, com base nos números de coeficientes nos blocos adjacentes. Contudo, é possível fixar a tabela ao invés de se alternar entre as tabelas, como na sexta modalidade. Neste caso, isso é realizado pelo uso apenas de uma unidade de armazenamento de tabela de VLC, a qual tem um certo tipo de tabelas de VLC, ao invés de se usar a unidade de seleção de tabela de VLC.
(Oitava Modalidade)
A estrutura do dispositivo de decodificação de imagem e o contorno do processamento de decodificação são totalmente os mesmos que na sexta modalidade, à parte do decodificador de número de coeficiente 1403, mostrado na Figura 17. Quanto ao processamento de decodificação de comprimento variável do número de coeficientes realizado pelo decodificador
Figure BRPI0303566B1_D0012
de número de coeficiente 1403, de acordo com a oitava modalidade, os detalhes são explicados aqui, usando-se a Figura 23, o Quadro 8 e o Quadro 9. O fluxo de bits criado pelo dispositivo de codificação de imagem de acordo com a terceira modalidade deve ser introduzido.
A Figura 23A é um diagrama de blocos que mostra em detalhes uma estrutura interna do decodificador de número de coeficiente 1403.
Como mostrado na Figura 23A, o decodificador de número de coeficiente 1403 não inclui a unidade de cálculo de valor preditivo 1501, mostrada na Figura 18A. Uma unidade de seleção de tabela de código 2001 e uma unidade de seleção de tabela de VLC 2002 selecionam uma tabela para uso real pelo uso diretamente dos números de coeficientes nos blocos decodificados, sem usar um valor preditivo, o que é diferente da sexta modalidade. Quanto aos blocos decodificados então usados para a referência, mostrados na Figura 4B, apenas dois blocos na posição do bloco B (acima)
A e do bloco D (à esquerda) com respeito ao bloco atual X são usados. Entretanto, quando os blocos localizados acima e à esquerda não estão decodificados nem situados fora da imagem tampouco fora da fatia, um valor 0 ou um outro valor arbitrário pode ser substituído. Nesse sentido, o mesmo valor que aquele usado para a codificação deve ser usado.
O Quadro 8 mostra um método de seleção para tabelas de código na unidade de seleção de tabela de código 2001. A unidade de seleção de tabela de código 2001 classifica em dois grupos os respectivos números de coeficientes nos blocos situados acima e à esquerda do bloco atual, como mostrado no Quadro 8, de acordo com o valor, e seleciona uma tabe25 la, usando uma combinação dos quatro assim formados. O método para a classificação do número de coeficientes nos blocos superior e à esquerda e a forma de atribuição das tabelas de código não estão limitados àqueles usados no Quadro 8. Nesse sentido, o mesmo método que aquele usado para a codificação é usado neste caso. Também, a unidade de seleção de tabela de VLC 2002 seleciona uma tabela de VLC para referência real, usando o método de seleção mostrado no Quadro 9, como no caso da unidade de seleção de tabela de código 2001.
Figure BRPI0303566B1_D0013
Figure BRPI0303566B1_D0014
O decodificador de número de coeficiente 1506 refere-se à tabela de código selecionada pela unidade de seleção de tabela de código 2001 e à tabela de VLC selecionada pela unidade de seleção de tabela de VLC 2002, e executa uma decodificação de comprimento variável para o número de coeficientes no bloco atual, o qual é introduzido da mesma forma que na sexta modalidade.
A presente modalidade, como mostrado acima, pela classificação do número de coeficientes nos blocos decodificados localizados acima e à esquerda do bloco atual em N grupos, de acordo com o valor com referência à tabela de código e à tabela de VLC, de acordo com a combinação de Ν x N formas então formadas, e pela alternância entre elas de forma adaptativa, é possível realizar eficientemente a decodificação do número de coeficientes.
A presente modalidade mostra um método de processamento de decodificação de um fluxo de bits, no qual uma codificação de comprimento variável é realizada para os valores do número de coeficientes em si. Contudo, é possível realizar uma decodificação de um fluxo de bits no qual uma codificação de comprimento variável é realizada para um valor de diferença entre o valor preditivo e o número de coeficientes. Neste caso, o número de coeficientes é determinado pelo fato de a unidade de cálculo de adição 1507 adicionar o valor de diferença entre o valor preditivo calculado na unidade de cálculo de valor preditivo 1501 ao número de coeficientes decodificado pelo decodificador de número de coeficiente 1506.
Também, o decodificador de número de coeficiente 1403 realiza uma decodificação de comprimento variável pela alternância de ambas a tabela de código e a tabela de VLC, de acordo com os números de coeficientes nos blocos vizinhos. Contudo, é possível se fixar uma dessas tabelas, ao invés de se alternar entre elas, como na sexta modalidade. Neste caso, isso é realizado pelo uso de uma unidade de armazenamento, a qual tem um certo tipo de tabelas de código ou um certo tipo de tabelas de VLC, ao invés de se usarem as unidades de seleção de tabela. Mais ainda, é possível realizar uma decodificação de comprimento variável pela alternância apenas ··· das tabelas de VLC, sem o uso de tabelas de código, de acordo com os números de coeficientes nos blocos adjacentes, como na sexta modalidade.
(Nona modalidade)
A estrutura do dispositivo de decodificação de imagem e o contorno do processamento de decodificação de acordo com a presente modalidade são totalmente os mesmos que na sexta modalidade, à parte do decodificador de número de coeficiente 1403, mostrado na Figura 17. Com referência ao processamento de decodificação de comprimento variável do número de coeficientes realizado pelo decodificador de número de coeficiente 1403, de acordo com a nona modalidade, os detalhes são explicados aqui, usando-se as Figura 24 e 14. O fluxo de bits criado pelo dispositivo de codificação de imagem de acordo com a quarta modalidade deve ser introduzido.
A Figura 24A é um diagrama de blocos que mostra em detalhes uma estrutura interna do decodificador de número de coeficiente 1403.
Como mostrado na Figura 24A, o decodificador de número de coeficiente 1403 inclui uma unidade de seleção de tabela 2101, ao invés da unidade de cálculo de valor preditivo 1501, da unidade de seleção de tabela de código 1503 e da unidade de seleção de tabela de VLC 1504, mostradas na Figura 18A. A unidade de seleção de tabela 2101 usa diretamente o número dos coeficientes nos blocos decodificados, sem usar um valor preditivo, e seleciona uma tabela para uso real, pela avaliação de ambas a tabela de código e a tabela de VLC ao mesmo tempo, o que é diferente da sexta modalidade. Quanto aos blocos decodificados então usados para a referência, os três blocos nas posições dos blocos B, C e D com respeito ao bloco atual X são usados, como na Figura 4A. Nesse sentido, quando os blocos assim localizados não estão decodificados nem situados fora da imagem tampouco fora da fatia, um valor 0 ou um outro valor arbitrário é substituído como o número de coeficientes. Entretanto, o mesmo valor que aquele usado para a codificação deve ser usado.
Como mostrado na Figura 14, a unidade de seleção de tabela 2101 calcula uma soma de um comprimento de um fluxo de bits, o qual é criado como resultado da codificação dos números dos coeficientes nos blo-
Figure BRPI0303566B1_D0015
cos de referência, usando-se ambas a tabela de código e a tabela de VLC ao mesmo tempo, e o determina como um valor de avaliação, como na quarta modalidade. Então, a unidade de seleção de tabela 2101 realiza este processamento para todas as combinações da tabela de código e da tabela de VLC armazenadas na unidade de armazenamento de tabela de código 1502, bem como na unidade de armazenamento de tabela de VLC 1505, e seleciona uma combinação de uma tabela de código e uma tabela de VLC na qual o valor de avaliação ganho é o menor.
O decodificador de número de coeficiente 1506 refere-se à tabela de código e à tabela de VLC selecionadas pela unidade de seleção de tabela 2101, e realiza uma codificação de comprimento variável para o número dos coeficientes no bloco atual, o qual é introduzido da mesma forma que na sexta modalidade.
Assim, na presente modalidade, a codificação é realizada para os números de coeficientes nos blocos vizinhos, os quais são decodificados usando-se a tabela de código e a tabela de VLC, um valor de estimativa é determinado, usando-se a soma do comprimento do fluxo de bits naquele tempo, e a decodificação é realizada para o número de coeficientes por uma referência à tabela de código e à tabela de VLC, cuja combinação gera o menor valor de avaliação.
Quanto aos blocos decodificados usados para referência pela unidade de seleção de tabela 2101, um caso de uso apenas de dois blocos localizados na posição dos blocos B e D com respeito ao bloco atual X, como mostrado na Figura 4B, ao invés de se usarem três blocos vizinhos, mostrados na Figura 4A, pode ser manipulado da mesma forma que na sexta modalidade. Nesse sentido, quando os blocos assim localizados não estão decodificados nem situados fora da imagem tampouco fora da fatia, um valor 0 ou um outro valor arbitrário pode ser substituído como um número de coeficientes.
Também, a presente modalidade mostra um método de processamento de decodificação de um fluxo de bits, no qual uma codificação de comprimento variável é realizada para os valores do número de coeficientes
Figure BRPI0303566B1_D0016
em si. Contudo, é possível realizar uma decodificação de um fluxo de bits no qual uma codificação de comprimento variável é realizada para um valor de diferença entre o valor preditivo e o número de coeficientes. Neste caso, o número de coeficientes é determinado pelo fato de a unidade de cálculo de adição 1507 adicionar o valor de diferença entre o valor preditivo calculado pela unidade de cálculo de valor preditivo 1501 ao número de coeficientes decodificado pelo decodificador de número de coeficiente 1506, como mostrado na Figura 24B.
Também, na presente modalidade, a tabela de código e a tabela de VLC são almejadas para alternância no decodificador de número de coeficiente 1403, embora seja possível fixar uma delas ao invés de se alternar entre elas.
(Décima Modalidade)
A estrutura do dispositivo de decodificação de imagem e o contorno do processamento de decodificação de acordo com a presente modalidade são totalmente os mesmos que na sexta modalidade, à parte do decodificador de número de coeficiente 1403, mostrado na Figura 17. A presente modalidade usa um modo de predição interimagem para uma decodificação de predição interimagem e um modo de predição intra-imagem para uma decodificação de predição intra-imagem como uma informação de referência no decodificador de número de coeficiente 1403, ao invés dos números de coeficientes nos blocos decodificados, como na sexta modalidade. O fluxo de bits, o qual é criado no dispositivo de codificação de imagem, de acordo com a quinta modalidade, deve ser introduzido.
Aqui, com referência ao processamento de decodificação de comprimento variável do número de coeficientes realizado pelo decodificador de número de coeficiente 1403, mostrado na Figura 17, os detalhes são explicados com referência à Figura 25.
A Figura 25 é um diagrama de blocos que mostra em detalhes uma estrutura interna do decodificador de número de coeficiente 1403.
Como mostrado na Figura 25, o decodificador de número de coeficiente 1403 não inclui a unidade de cálculo de valor preditivo 1501, mosÍo ?««· ·« *·* ··« ··· trada na Figura 18A. O modo de predição interimagem para uma decodificação de predição interimagem e o modo de predição intra-imagem para uma decodificação de predição intra-imagem são introduzidos a partir da unidade de análise de fluxo de bits 1401 para uma unidade de seleção de tabela de código 2201, bem como para uma unidade de seleção de tabela de VLC 2202. A unidade de seleção de tabela de código 2201 seleciona uma tabela a ser usada com base no modo: o modo de predição interimagem para uma decodificação de predição interimagem e o modo de predição intra-imagem para uma decodificação de predição intra-imagem. O Quadro 10 mostra um método de seleção para as tabelas de código armazenadas na unidade de seleção de tabela de código 2201.
Por exemplo, no caso em que a imagem atual é decodificada usando-se uma predição interimagem, uma tabela de código 2 é selecionada de modo conforme para uma decodificação de comprimento variável do número de coeficientes, quando o tamanho do bloco atual 8 x 8 for selecionado para predição. Os itens são estão limitados àqueles usados no Quadro 10. Nesse sentido, os mesmos itens que aqueles usados para a codificação devem ser usados.
Também, a unidade de seleção de tabela de VLC 2202 seleciona uma tabela de VLC para referência real usando o método de seleção, como mostrado no Quadro 11, como no caso da unidade de seleção de tabela de código 2201.
O decodificador de número de coeficiente 1506 refere-se à tabela de código selecionada pela unidade de seleção de tabela de código 2201, bem como à tabela de VLC selecionada pela unidade de seleção de tabela de VLC 2202, de modo a realizar uma decodificação de comprimento variável do número dos coeficientes no bloco atual, o qual é introduzido da mesma forma que na sexta modalidade.
Assim, na presente modalidade, se pode realizar uma decodificação do número de coeficientes por uma referência à tabela de código e à tabela de VLC ao se alternar entre elas de forma adaptativa, de acordo com o modo: o modo de predição interimagem para uma decodificação de predi63 ção interimagem e o modo de predição intra-imagem para uma decodificação de predição intra-imagem.
A presente modalidade mostra um método de processamento de decodificação de um fluxo de bits, no qual uma codificação de comprimento variável é realizada para os valores do número de coeficientes em si. Contudo, é possível realizar uma decodificação de um fluxo de bits no qual uma codificação de comprimento variável é realizada para um valor de diferença entre um valor preditivo e um número de coeficientes. Neste caso, o valor preditivo é determinado pelo uso dos números dos coeficientes nos blocos decodificados adjacentes, e o número de coeficientes é determinado pela adição deste valor ao valor de diferença do número de coeficientes, o qual é decodificado pelo decodificador de número de coeficiente 1506, como na sexta modalidade.
Também, na presente modalidade, o decodificador de número de coeficiente 1403 realiza uma decodificação de comprimento variável pela alternância de ambas a tabela de código e a tabela de VLC. Contudo, é possível se fixá-las, ao invés de se alternar entre uma delas ou ambas. Neste caso, isso é realizado pela preparação de apenas uma unidade de armazenamento, a qual tem um certo tipo de tabelas de código ou um certo tipo de tabelas de VLC.
(Décima primeira modalidade)
Se um programa para a realização da estrutura do método de codificação ou do método de decodificação, como mostrado nas modalidades mencionadas acima, for gravado em um meio de memória, tal como um disco flexível, torna-se possível realizar o processamento, como mostrado nessas modalidades, facilmente, em um sistema de computador independente.
As Figuras 26A, 26B e 26C são ilustrações que mostram o caso em que o processamento mostrado nas modalidades 1 a 10 mencionadas acima é realizado em um sistema de computador que usa um disco flexível, o qual armazena o método de codificação e o método de decodificação das modalidades mencionadas acima.
A Figura 26B mostra uma aparência completa de um disco flexível, sua estrutura na seção transversal e o disco flexível em si, ao passo que a Figura 26A mostra um exemplo de um formato físico do disco flexível, como um corpo principal de um meio de gravação. Um disco flexível FD está contido em um invólucro F, uma pluralidade de trilhas Tr é formada concentricamente a partir da periferia para o interior na superfície do disco, e cada trilha é dividida em 16 setores Se na direção angular. Portanto, o disco flexível armazenando o programa mencionado acima armazena os dados como no programa mencionado acima, em uma área atribuída para ele no disco flexível FD.
A Figura 16C mostra uma estrutura para a gravação e a leitura do programa no disco flexível FD. Quando o programa é gravado no disco flexível FD, o sistema de computador Cs escreve nos dados como o programa, através de uma unidade de disco flexível. Quando o dispositivo de codificação e o dispositivo de decodificação são construídos no sistema de computador pelo programa no disco flexível, o programa é lido a partir do disco flexível pela unidade de disco flexível e, então, transferido para o sistema de computador.
A explanação acima é feita com base em uma hipótese de um disco flexível ser usado como um meio de gravação de dados, mas o mesmo processamento também pode ser realizado usando-se um disco ótico. Além disso, o meio de gravação não está limitado a um disco flexível e um disco ótico, mas pode ser um outro meio, tal como uma placa de circuito impresso e um cassete de ROM, capaz de gravar um programa, pode ser usado.
Seguindo-se, há uma explanação das aplicações do método de codificação de imagem bem como do método de decodificação de imagem, como mostrado nas modalidades mencionadas acima, e um sistema que os usa.
A Figura 27 é um diagrama de blocos que mostra uma configuração geral de um sistema de suprimento de conteúdo ex100 para a realização do serviço de distribuição de conteúdo. A área para a provisão do serviço de comunicação é dividida em células de tamanho desejado, e os locais de célula ex107 a ex110, os quais são estações sem fio fixas, posicionados nas respectivas células.
Este sistema de suprimento de conteúdo ex100 é conectado a dispositivos tais como um computador ex111, um PDA (Assistente Digital Pessoal) ex112, a uma câmera ex113, um telefone celular ex114 e um telefone celular com uma câmera ex115, através da Internet ex101, de um provedor de serviços de Internet ex102, uma rede de telefonia ex104 e locais de célula ex107 a ex110.
Entretanto, o sistema de suprimento de conteúdo ex100 não está limitado à configuração mostrada na Figura 27, e pode ser conectado a uma combinação de qualquer um deles. Também, cada dispositivo pode ser conectado diretamente à rede de telefonia ex104, não através dos locais de célula ex107 a ex110.
A câmera ex113 é um dispositivo capaz de fazer um vídeo, tal como uma câmera de vídeo digital. O telefone celular ex114 pode ser um telefone celular de um sistema de PDC (Comunicações Digitais Pessoais), sistema CDMA (Acesso Múltiplo de Divisão de Código), sistema W-CDMA (Acesso Múltiplo de Divisão de Código de Banda Larga) ou sistema GSM (Sistema Global para Comunicações Móveis), um PHS (Sistema de Telefone Portátil Pessoal) ou similar.
Um servidor de streaming ex103 é conectado à câmera ex113 através da rede de telefonia ex104 e do local de célula ex109, o qual realiza uma distribuição ao vivo ou similar, usando a câmera ex113, com base nos dados codificados transmitidos a partir do usuário. A câmera ex113 ou o servidor, o qual transmite os dados, pode codificar os dados. Também, os dados de imagem feitos por uma câmera ex116 podem ser transmitidos para o servidor de streaming ex103 através do computador ex111. Neste caso, a câmera ex116 ou o computador ex111 pode codificar os dados de imagem. Uma LSI ex117 incluída no computador ex111 ou na câmera ex116, na realidade, realiza o processamento de codificação. Um software para a codificação e a decodificação de imagens pode ser integrado em qualquer tipo de meio de armazenamento (tal como um CD-ROM, um disco flexível e um dis66 co rígido), que é um meio de gravação o qual pode ser lido pelo computador ex111 ou similar. Mais ainda, um telefone celular com uma câmera ex115 pode transmitir os dados de imagem. Estes dados de imagem são os dados codificados pela LSI incluídos no telefone celular ex115.
O sistema de suprimento de conteúdo ex100 codifica conteúdos (tal como um vídeo de música ao vivo) feito por usuários, usando a câmera ex113, a câmera ex116 ou similar, da mesma forma que a mostrada nas modalidades mencionadas acima, e transmite-os para o servidor de streaming ex103, enquanto o servidor de streaming ex103 faz uma distribuição de fluxo dos dados de conteúdo para os clientes a sua vontade. Os clientes incluem o computador ex111, o PDA ex112, a câmera ex113, o telefone celular ex114 e assim por diante, capazes de decodificarem os dados codificados mencionados acima. No sistema de suprimento de conteúdo ex100, os clientes, assim, podem receber e reproduzir os dados codificados, e ainda podem receber, decodificar e reproduzir os dados em tempo real, de modo a realizarem uma difusão pessoal.
Quando cada dispositivo neste sistema realiza uma codificação ou uma decodificação, o dispositivo de codificação de imagem ou o dispositivo de decodificação de imagem, como mostrado nas modalidades mencionadas acima, pode ser usado.
Um telefone celular será explicado como um exemplo do dispositivo.
A Figura 28 é um diagrama que mostra o telefone celular ex115 usando o método de codificação de imagem e o método de decodificação de imagem explicados nas modalidades mencionadas acima. O telefone celular ex115 tem uma antena ex201 para comunicação com o local de célula ex110 através de ondas de rádio, uma unidade de câmera ex203 tal como uma câmera de CCD capaz de tomar imagens em movimento e paradas, uma unidade de exibição ex202, tal como um visor de cristal líquido para a exibição dos dados, tal como imagens decodificadas e similares feitas pela unidade de câmera ex203 e recebidas pela antena ex201, uma unidade de corpo, incluindo um conjunto de teclas de operação ex204, uma unidade de saída de voz ex208, tal como um alto-falante, para a extração de vozes, uma unidade de entrada de voz ex205, tal como um microfone, para a introdução de vozes, um meio de armazenamento ex207 para o armazenamento de dados codificados ou decodificados, tais como dados de imagens em movimento ou paradas, e uma unidade de conector ex206 para afixação do meio de armazenamento ex207 ao telefone celular ex115. O meio de armazenamento ex207 armazena em si um elemento de memória flash, um tipo de EEPROM (Memória Apenas de Leitura Eletricamente Apagável e Programável), que é uma memória não-volátil eletricamente apagável da e que pode ser escrita em um invólucro de plástico, tal como uma placa de SD.
Em seguida, o telefone celular ex115 será explicado com referência à Figura 29. No telefone celular ex115, uma unidade de controle principal ex311, projetada de modo a controlar no geral cada unidade do corpo principal, o qual contém a unidade de exibição ex202, bem como as teclas de operação ex204, é conectada mutuamente a uma unidade de circuito de suprimento de energia ex310, uma unidade de controle de entrada em operação ex304, uma unidade de codificação de imagem ex312, uma unidade de interface de câmera ex303, uma unidade de controle de LCD (Visor de Cristal Líquido) ex302, uma unidade de decodificação de imagem ex309, uma unidade de multiplexação / demultiplexação ex308, uma unidade de escrita / leitura ex307, uma unidade de circuito de modem ex306 e uma unidade de processamento de voz ex305, através de um barramento síncrono ex313.
Quando uma tecla de término de chamada ou uma tecla de energia é LIGADA por uma operação do usuário, a unidade de circuito de suprimento de energia ex310 supre as respectivas unidades com energia a partir de uma bateria, de modo a ativar o telefone celular digital com câmera afixada ex115, como em um estado de pronto para operar.
No telefone celular ex115, a unidade de processamento de voz ex305 converte os sinais de voz recebidos pela unidade de entrada de voz ex205 em um modo de conversação em dados de voz digitais, sob o controle da unidade de controle principal ex311, incluindo uma CPU, uma ROM e uma RAM, a unidade de circuito de modem ex306 executa um processamento de espectro amplo dos dados de voz digitais, e a unidade de circuito de comunicação ex301 executa uma conversão de digital para analógico e uma transformação de freqüência dos dados, de modo a transmiti-los através da antena ex201. Também, no telefone celular ex115, a unidade de circuito de comunicação ex301 amplifica os dados recebidos pela antena ex201 em modo de conversação, e realiza uma transformação de freqüência e uma conversão de analógico para digital nos dados, a unidade de circuito de modem ex306 realiza um processamento de espectro amplo inverso dos dados, e a unidade de processamento de voz ex305 os converte em dados de voz analógicos, de modo a extraí-los através da unidade de saída de voz ex208.
Mais ainda, quando da transmissão de um e-mail no modo de comunicação de dados, os dados de texto do e-mail introduzidos pela operação das teclas de operação ex204 do corpo principal são enviados para a unidade de controle principal ex311 através da unidade de controle de entrada em operação ex304. Na unidade de controle principal ex311, após a unidade de circuito de modem ex306 realizar um processamento de espectro amplo dos dados de texto e a unidade de circuito de comunicação ex301 realizar uma conversão de digital para analógico e uma transformação de freqüência neles, os dados são transmitidos para o local de célula ex110 através da antena ex201.
Quando dados de imagem são transmitidos em um modo de comunicação de dados, os dados de imagem feitos pela unidade de câmera ex203 são supridos para a unidade de codificação de imagem ex312 através da unidade de interface de câmera ex303. Quando eles não são transmitidos, também é possível exibir os dados de imagem feitos pela unidade de câmera ex203 diretamente na unidade de exibição ex202 através da unidade de interface de câmera ex303 e da unidade de controle de LCD ex302.
A unidade de codificação de imagem ex312, a qual inclui o dispositivo de codificação de imagem, como explicado na presente invenção, comprime e codifica os dados de imagem supridos a partir da unidade de câmera ex203 pelo método de codificação usado para o dispositivo de codificação de imagem, como mostrado na primeira modalidade mencionada acima, de modo a transformá-los em dados de imagem codificados, e os envia para a unidade de multiplexação / demultiplexação ex308. Neste momento, o telefone celular ex115 envia as vozes recebidas pela unidade de entrada de voz ex205, durante a filmagem com a unidade de câmera ex203 para a unidade de multiplexação / demultiplexação ex308, como dados de voz digitais, através da unidade de processamento de voz ex305.
A unidade de multiplexação / demultiplexação ex308 multiplexa os dados de imagem codificados supridos a partir da unidade de codificação de imagem ex312 e os dados de voz supridos a partir da unidade de processamento de voz ex305, usando um método predeterminado, a unidade de circuito de modem ex306 realiza um processamento de espectro amplo dos dados multiplexados obtidos como resultado da multiplexação, e a unidade de circuito de comunicação ex301 realiza uma conversão de digital para analógico e uma transformação de freqüência dos dados para transmissão através da antena ex201.
Quanto ao recebimento de dados de um arquivo de filme, o qual está ligado a uma página da web ou similar em um modo de comunicação de dados, a unidade de circuito de modem ex306 realiza um processamento de espectro amplo inverso dos dados recebidos a partir do local de célula ex110, através da antena ex201, e envia os dados multiplexados obtidos como resultado do processamento para a unidade de multiplexação / demultiplexação ex308.
De modo a se decodificarem os dados multiplexados recebidos através da antena ex201, a unidade de multiplexação / demultiplexação ex308 separa os dados multiplexados em um fluxo de bits de dados de imagem e um fluxo de bits de dados de voz, e supre os dados de imagem codificados para a unidade de decodificação de imagem ex309 e os dados de voz para a unidade de processamento de voz ex305, respectivamente, através do barramento síncrono ex313.
Em seguida, a unidade de decodificação de imagem ex309, a
Figure BRPI0303566B1_D0017
qual inclui o dispositivo de decodificação de imagem, como explicado na invenção mencionada acima, decodifica o fluxo de bits de dados de imagem pelo método de decodificação correspondente ao método de codificação, como mostrado nas modalidades mencionadas acima, para a geração de dados de filme reproduzidos, e supre estes dados para a unidade de exibição ex202, através da unidade de controle de LCD ex302, e, assim, os dados de imagem incluídos em um arquivo de filme ligado a uma página da web, por exemplo, são exibidos. Ao mesmo tempo, a unidade de processamento de voz ex305 converte os dados de voz em dados de voz analógicos, e supre estes dados para a unidade de saída de voz ex208, e, assim, os dados de voz incluídos no arquivo de filme ligado a uma página da web, por exemplo, são reproduzidos.
A presente invenção não está limitada ao sistema mencionado acima, e o dispositivo de codificação de imagem ou o dispositivo de decodificação de imagem nas modalidades acima pode ser incorporado em um sistema de difusão digital, como mostrado na Figura 30. Essa difusão digital baseada em terra ou por satélite esteve no noticiário ultimamente. Mais especificamente, um fluxo de bits de informação de vídeo é transmitido a partir da uma estação de difusão ex409 para ou comunicado com um satélite de difusão ex410, através de ondas de rádio. Mediante o recebimento dele, o satélite de difusão ex410 transmite ondas de rádio para difusão. Então, uma antena de uso doméstico ex406 com uma função de recepção de difusão por satélite recebe as ondas de rádio, e uma televisão (receptor) ex401 ou uma caixa de decodificador (STB) ex407 decodifica o fluxo de bits para reprodução. O dispositivo de decodificação de imagem, como mostrado na modalidade mencionada acima, pode ser implementado no dispositivo de reprodução ex403, para leitura e decodificação do fluxo de bits gravado em um meio de armazenamento ex402, que é um meio de gravação tais como um CD e um DVD. Neste caso, os sinais de vídeo reproduzidos são exibidos em um monitor ex404. Também é concebível implementar o dispositivo de decodificação de imagem na caixa de decodificador ex407 conectada a um cabo ex405 para uma televisão a cabo ou uma antena ex406 para uma difusão
Figure BRPI0303566B1_D0018
por satélite e/ou baseada em terra, de modo a se reproduzi-los em um monitor ex408 da televisão ex401. O dispositivo de decodificação de imagem pode ser incorporado na televisão, não na caixa de decodificador. Também, um carro ex412 tendo uma antena ex411 pode receber sinais do satélite ex410 ou do local de célula ex107, para a reprodução de filmes em um dispositivo de exibição, tai como um sistema de navegação de carro ex413.
Mais ainda, o dispositivo de codificação de imagem, como mostrado nas modalidades mencionadas acima, pode codificar sinais de imagem para gravação em um meio de gravação. Como um exemplo concreto, há um gravador ex420, tal como um gravador de DVD, para a gravação de sinais de imagem em um disco de DVD ex412 e um gravador de disco para gravação deles em um disco rígido. Eles podem ser gravados em uma placa de SD ex422. Se o gravador ex420 incluir o dispositivo de decodificação de imagem, como mostrado nas modalidades mencionadas acima, os sinais de imagem gravados no disco de DVD ex421 ou na placa de SD ex422 podem ser reproduzidos para exibição no monitor ex408.
Quanto à estrutura do sistema de navegação de carro ex413, a estrutura sem a unidade de câmera ex203, a unidade de interface de câmera ex303 e a unidade de codificação de imagem ex312, além dos componentes mostrados na Figura 29, é concebível. O mesmo vale para o computador ex111, a televisão (receptor) ex401 e outros.
Além disso, três tipos de implementações podem ser concebidos para um terminal, tal como o telefone celular ex114 mencionado acima; um terminal de envio / recepção implementado com ambos um codificador e um decodificador, um terminal de envio implementado com um codificador apenas, e um terminal de recepção implementado com um decodificador apenas.
Como descrito acima, é possível usar o método de codificação de imagem ou o método de decodificação de imagem nas modalidades mencionadas acima para qualquer um dos dispositivos e sistemas mencionados acima, e pelo uso deste método, os efeitos descritos nas modalidades mencionadas acima podem ser obtidos.
99
Figure BRPI0303566B1_D0019
Também, a presente invenção não está limitada às modalidades mencionadas acima e uma ampla faixa de variações ou de modificações no escopo das reivindicações a seguir é possível.
Um método de codificação de imagem de acordo com a presente invenção melhora a eficiência de codificação, uma vez que tabelas ótimas para uma codificação de comprimento variável podem ser referidas, quando o número dos outros coeficientes além de 0 contido em um bloco atual a ser codificado for codificado.
Também, um método de decodificação de imagem de acordo com a presente invenção decodifica corretamente um fluxo de bits, no qual um número dos outros coeficientes além de 0 contidos em um bloco após uma transformação ortogonal é codificado com referência a tabelas ótimas para a codificação de comprimento variável.
Aplicabilidade Industrial
Assim, o método de codificação de imagem e o método de decodificação de imagem de acordo com a presente invenção são úteis como um método para a codificação de uma imagem, de modo a se criar um fluxo de bits, bem como para a decodificação do fluxo de bits criado, usando-se dispositivos tais como um telefone celular, um dispositivo de DVD, um computador pessoal ou similar.

Claims (2)

REIVINDICAÇÕES
1/30 kO
Unidade de pre- Memória dição interimagem de quadro
V • V · *·« * * · « «4 4 < 4 > · · -» ··'. ··· ««* **·«·««· j 4 * »
4 X* 4 4 ** ·· 4«· ·· «4
4 44«
1. Método de codificação de imagem para a codificação, em uma base de bloco por bloco, caracterizado por compreender:
determinação de um valor preditivo para um número de coefici5 entes não-zero em um bloco atual a ser codificado com base em um número de coeficientes não-zero em um bloco codificado localizado em uma periferia do bloco atual, em que cada coeficiente não-zero possui um valor diferente de 0;
seleção de uma tabela de codificação de comprimento variável, 10 com base no valor preditivo determinado; e codificação do número de coeficientes não-zero no bloco atual, pela utilização da tabela de codificação de comprimento variável selecionada.
2. Método de codificação de imagem, de acordo com a reivindi15 cação 1, caracterizado pelo fato de que a determinação é baseada em uma pluralidade dos números de coeficientes não-zero em blocos codificados na periferia do bloco atual.
3. Método de codificação de imagem, de acordo com a reivindicação 2, caracterizado pelo fato de que o valor preditivo é determinado pela
20 utilização de um valor correspondente a um valor médio dos números dos coeficientes não-zero nos blocos codificados.
4. Método de codificação de imagem, de acordo com a reivindicação 2, caracterizado pelo fato de que o valor preditivo para o número de coeficientes não-zero contido no bloco atual é determinado com base nos
25 números de coeficientes não-zero nos blocos codificados localizados acima e à esquerda do bloco atual.
5. Método de codificação de imagem, de acordo com a reivindicação 4, caracterizado pelo fato de que um valor 0 é estabelecido como o valor preditivo, quando nenhum bloco codificado for encontrado acima e à
30 esquerda do bloco atual.
6. Método de codificação de imagem, de acordo com a reivindicação 4, caracterizado pelo fato de que um valor correspondente a um valor
Petição 870170052711, de 26/07/2017, pág. 4/12 médio dos números de coeficientes não-zero nos blocos codificados localizados acima e à esquerda do bloco atual é determinado como o valor preditivo, quando os blocos codificados forem encontrados acima e à esquerda do bloco atual.
5 7. Método de codificação de imagem, de acordo com a reivindicação 4, caracterizado pelo fato de que o número de coeficientes não-zero no bloco codificado localizado à esquerda do bloco atual é estabelecido como o valor preditivo, quando o bloco codificado for encontrado à esquerda, mas não acima do bloco atual.
10 8. Método de codificação de imagem, de acordo com a reivindicação 4,caracterizado pelo fato de que o número de coeficientes não-zero no bloco codificado acima do bloco atual é determinado como o valor preditivo quando o bloco codificado for encontrado acima, mas não à esquerda do bloco atual.
15 9. Método de codificação de imagem, de acordo com a reivindicação 4, caracterizado pelo fato de que um valor 0 é determinado como o valor preditivo quando cada uma das fronteiras superior e esquerda do bloco atual for uma fronteira de uma imagem que é uma unidade da imagem, ou uma fronteira de uma fatias que é uma dentre uma pluralidade de seções
20 nas quais a imagem é dividida.
10. Método de codificação de imagem, de acordo com a reivindicação 4, caracterizado pelo fato de que um valor correspondente a um valor médio dos números de coeficientes não-zero nos blocos codificados localizados acima e à esquerda do bloco atual é determinado como o valor predi25 tivo, quando as fronteiras superior e à esquerda do bloco atual não forem nem uma fronteira de uma imagem que é uma unidade da imagem, nem uma fronteira de uma fatia que é uma dentre uma pluralidade de seções na qual a imagem é dividida.
11. Método de codificação de imagem, de acordo com a reivindi30 cação 4, caracterizado pelo fato de que o número de coeficientes não-zero no bloco codificado localizado à esquerda do bloco atual é determinado como o valor preditivo, quando uma fronteira superior do bloco atual for uma
Petição 870170052711, de 26/07/2017, pág. 5/
12 fronteira de uma imagem que é uma unidade da imagem, ou uma fronteira de uma fatia que é uma dentre uma pluralidade de seções nas quais a imagem é dividida em, e uma fronteira esquerda do bloco atual não é a fronteira da imagem nem a fronteira da fatia.
5 12. Método de codificação de imagem, de acordo com a reivindicação 4, caracterizado pelo fato de que o número de coeficientes não-zero no bloco codificado acima do bloco atual é determinado como o valor preditivo, quando uma fronteira esquerda do bloco atual for uma fronteira de uma imagem que é uma unidade da imagem, ou uma fronteira de uma fatia que é
10 o que a imagem é dividida em uma pluralidade de seções, e uma fronteira superior do bloco atual não for nem a fronteira da imagem nem a fronteira da fatia.
13. Método de decodificação para a decodificação de uma imagem codificada em uma base de bloco, o método caracterizado por com15 preender:
determinação de um valor preditivo para um número de coeficientes não-zero em um bloco atual a ser decodificado, com base em um número de coeficientes não-zero em um bloco decodificado localizado em uma periferia do bloco atual, em que cada coeficiente não-zero possui um valor
20 diferente de 0;
seleção de uma tabela de codificação de comprimento variável, com base no valor preditivo determinado; e decodificação de dados codificados obtido pela codificação do número dos coeficientes não-zero no bloco atual pela utilização da tabela de codificação de comprimento variável sele25 cionada.
14. Método de decodificação de imagem, de acordo com a reivindicação 13, caracterizado pelo fato de que a determinação é baseada em uma pluralidade do número de coeficientes não-zero em blocos decodificados localizados na periferia do bloco atual.
30 15. Método de decodificação de imagem, de acordo com a reivindicação 14, caracterizado pelo fato de que a determinação pela utilização de um valor que corresponde a um valor médio dos números de outros coePetição 870170052711, de 26/07/2017, pág. 6/12 ficientes não-zero nos blocos decodificados.
16. Método de decodificação de imagem, de acordo com a reivindicação 14, caracterizado pelo fato de que o valor preditivo para o número de coeficientes não-zero no bloco atual é determinado com base nos núme5 ros de coeficientes não-zero nos blocos decodificados localizados acima e à esquerda do bloco atual.
17. Método de decodificação de imagem, de acordo com a reivindicação 16, caracterizado pelo fato de que um valor 0 é determinado como o valor preditivo, quando nenhum bloco decodificado for encontrado
10 acima e à esquerda do bloco atual.
18. Método de decodificação de imagem, de acordo com a reivindicação 16, caracterizado pelo fato de que um valor correspondente a um valor médio dos números de coeficientes não-zero nos blocos decodificados localizados acima e à esquerda do bloco atual é determinado como o valor
15 preditivo, quando os blocos decodificados são encontrados acima e à esquerda do bloco atual.
19. Método de decodificação de imagem, de acordo com a reivindicação 16, caracterizado pelo fato de que o números de coeficientes não-zero no bloco decodificado localizado à esquerda do bloco atual é de20 terminado como o valor preditivo, quando o bloco decodificado é encontrado à esquerda mas não acima do bloco atual.
20. Método de decodificação de imagem, de acordo com a reivindicação 16, caracterizado pelo fato de que o número de coeficientes nãozero no bloco decodificado localizado acima do bloco atual é determinado
25 como o valor preditivo quando o bloco decodificado for encontrado acima, mas não à esquerda do bloco atual.
21. Método de decodificação de imagem, de acordo com a reivindicação 16, caracterizado pelo fato de que um valor 0 é determinado como o valor preditivo quando as fronteiras superior e esquerda do bloco
30 atual forem uma fronteira de uma imagem que é uma unidade da imagem, ou uma fronteira de uma fatia que é uma dentre uma pluralidade de seções nas quais a imagem é dividida.
Petição 870170052711, de 26/07/2017, pág. 7/12
22. Método de decodificação de imagem, de acordo com a reivindicação 20, caracterizado pelo fato de que um valor correspondente ao valor médio dos números de coeficientes não-zero nos blocos decodificados acima e à esquerda do bloco atual é determinado como o valor preditivo,
5 quando as fronteiras superior e à esquerda do bloco atual não forem nem uma fronteira de uma imagem que é uma unidade da imagem, nem uma fronteira de uma fatia que é uma dentre uma pluralidade de seções em que uma imagem é dividida.
23. Método de decodificação de imagem, de acordo com a rei10 vindicação 16, caracterizado pelo fato de que o número dos outros coeficientes não-zero no bloco decodificado à esquerda do bloco atual é determinado como o valor preditivo, quando uma fronteira superior do bloco atual for uma fronteira de uma imagem que é uma unidade da imagem, ou uma fronteira de uma fatia que é uma dentre uma pluralidade de seções em que uma ima15 gem é dividida, e uma fronteira à esquerda do bloco atual não é a fronteira da imagem nem a fronteira da fatia.
24. Método de decodificação de imagem, de acordo com a reivindicação 16, caracterizado pelo fato de que o número de coeficientes nãozero no bloco decodificado acima do bloco atual é determinado como o valor
20 preditivo, quando uma fronteira à esquerda do bloco atual for uma fronteira de uma imagem que é uma unidade da imagem, ou uma fronteira de uma fatia que é uma dentre uma pluralidade de seções em que uma imagem é dividida, e uma fronteira superior não for nem a fronteira da imagem nem a fronteira da fatia.
25 25. Fluxo de bits criado pelo uso de um método de codificação de imagem para a codificação de uma imagem em uma base de bloco, caracterizado pelo fato de que o fluxo de bits compreende o número de coeficientes não-zero em um bloco atual a ser codificado, em que o método de codificação de imagem inclui:
30 determinação de um valor preditivo para um número de coeficientes não-zero em um bloco atual a ser codificado com base em um número de coeficientes não-zero em um bloco codificado localizado em uma periferia
Petição 870170052711, de 26/07/2017, pág. 8/12 do bloco atual, em que cada coeficiente não-zero possui um valor diferente de 0;
seleção de uma tabela de codificação de comprimento variável, com base no valor preditivo determinado; e
5 codificação do número de coeficientes não-zero no bloco atual, pela utilização da tabela de codificação de comprimento variável selecionada.
Petição 870170052711, de 26/07/2017, pág. 9/12
2/30
BRPI0303566-2A 2002-04-15 2003-03-27 “Método de codificação de imagem, método de decodificação de imagem e fluxo de bits” BRPI0303566B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2002-112665 2002-04-15
JP2002112665 2002-04-15
PCT/JP2003/003794 WO2003088675A1 (en) 2002-04-15 2003-03-27 Image encoding method and image decoding method

Publications (1)

Publication Number Publication Date
BRPI0303566B1 true BRPI0303566B1 (pt) 2018-02-06

Family

ID=29243326

Family Applications (2)

Application Number Title Priority Date Filing Date
BRPI0303566-2A BRPI0303566B1 (pt) 2002-04-15 2003-03-27 “Método de codificação de imagem, método de decodificação de imagem e fluxo de bits”
BR0303566A BR0303566A (pt) 2002-04-15 2003-03-27 Método de codificação de imagem e método de decodificação de imagem

Family Applications After (1)

Application Number Title Priority Date Filing Date
BR0303566A BR0303566A (pt) 2002-04-15 2003-03-27 Método de codificação de imagem e método de decodificação de imagem

Country Status (20)

Country Link
US (14) US7095896B2 (pt)
EP (15) EP2134097B1 (pt)
JP (22) JP4130780B2 (pt)
KR (14) KR101038154B1 (pt)
CN (7) CN100527846C (pt)
AT (13) ATE352951T1 (pt)
AU (1) AU2003227248B2 (pt)
BR (2) BRPI0303566B1 (pt)
CA (2) CA2732005C (pt)
CY (2) CY1111051T1 (pt)
DE (8) DE60311530T2 (pt)
DK (5) DK1596608T3 (pt)
ES (13) ES2369653T3 (pt)
HK (4) HK1136730A1 (pt)
MX (1) MXPA03010115A (pt)
MY (4) MY141699A (pt)
PT (6) PT2131593E (pt)
SI (1) SI1478188T1 (pt)
TW (4) TWI281352B (pt)
WO (1) WO2003088675A1 (pt)

Families Citing this family (81)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
MXPA04000912A (es) * 2001-11-22 2004-04-02 Matsushita Electric Ind Co Ltd Metodo de codificacion de longitud variable y metodo de decodificacion de longitud variable.
JP4130780B2 (ja) 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
CN1214649C (zh) * 2003-09-18 2005-08-10 中国科学院计算技术研究所 用于视频预测残差系数编码的熵编码方法
JP3879741B2 (ja) * 2004-02-25 2007-02-14 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
US7376277B2 (en) * 2004-06-15 2008-05-20 Pegasus Imaging Corporation Data transform for improved compression of multicomponent images
US7477741B1 (en) * 2004-10-01 2009-01-13 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Analysis resistant cipher method and apparatus
US8633985B2 (en) * 2005-08-05 2014-01-21 Vigil Systems Pty. Ltd. Computerized information collection and training method and apparatus
US8599841B1 (en) 2006-03-28 2013-12-03 Nvidia Corporation Multi-format bitstream decoding engine
US8593469B2 (en) * 2006-03-29 2013-11-26 Nvidia Corporation Method and circuit for efficient caching of reference video data
KR100745765B1 (ko) * 2006-04-13 2007-08-02 삼성전자주식회사 화상 데이터의 공간상 예측 장치 및 방법과 그를 이용한부호화 장치 및 방법, 화상 데이터의 공간상 예측 보상장치 및 방법과 그를 이용한 복호화 장치 및 방법
US7884742B2 (en) * 2006-06-08 2011-02-08 Nvidia Corporation System and method for efficient compression of digital data
US20080056381A1 (en) * 2006-08-30 2008-03-06 Chih-Ta Star Sung Image compression and decompression with fast storage device accessing
JP4831372B2 (ja) * 2006-11-24 2011-12-07 日本電気株式会社 符号化および復号装置、符号化および復号方法ならびにプログラム
US7733249B2 (en) * 2007-01-18 2010-06-08 Qin Zhang Method and system of compressing and decompressing data
KR101074870B1 (ko) 2007-03-14 2011-10-19 니폰덴신뎅와 가부시키가이샤 부호량 추정 방법, 장치, 그 프로그램 및 기록매체
KR101083383B1 (ko) 2007-03-14 2011-11-14 니폰덴신뎅와 가부시키가이샤 부호화 비트 레이트 제어 방법 및 장치, 그 프로그램 및 프로그램을 기록한 기록매체
EP2124455A4 (en) 2007-03-14 2010-08-11 Nippon Telegraph & Telephone METHOD AND DEVICE FOR MOTION VEHICLE SEARCH, PROGRAM THEREFOR AND RECORDING MEDIUM WITH THIS PROGRAM
EP3264772B1 (en) 2007-03-14 2022-09-07 Nippon Telegraph And Telephone Corporation Quantization control method and apparatus, program therefor, and storage medium which stores the program
US20080260023A1 (en) * 2007-04-18 2008-10-23 Chih-Ta Star Sung Digital video encoding and decoding with refernecing frame buffer compression
NO328295B1 (no) * 2007-12-20 2010-01-25 Tandberg Telecom As VLC-fremgangsmate og -innretning
US8213502B2 (en) * 2007-12-31 2012-07-03 Ceva D.S.P. Ltd. Method and system for real-time adaptive quantization control
CN101500159B (zh) * 2008-01-31 2012-01-11 华为技术有限公司 一种图像熵编码、熵解码的方法及装置
WO2009107777A1 (ja) * 2008-02-27 2009-09-03 株式会社 東芝 動画像符号化/復号装置
JP2010103969A (ja) * 2008-09-25 2010-05-06 Renesas Technology Corp 画像復号方法、画像復号装置、画像符号化方法及び画像符号化装置
KR101458471B1 (ko) * 2008-10-01 2014-11-10 에스케이텔레콤 주식회사 영상 부호화/복호화 방법 및 장치
CN101742278B (zh) * 2008-11-12 2012-11-07 富士通半导体股份有限公司 获取图像的运动矢量和边界强度的方法和系统
JP2012124542A (ja) * 2009-03-03 2012-06-28 Hitachi Ltd 動画像符号化方法及び動画像復号化方法
JP5258664B2 (ja) 2009-04-14 2013-08-07 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
WO2010133763A1 (en) * 2009-05-19 2010-11-25 Nokia Corporation Method for variable length coding and apparatus
US9628794B2 (en) * 2009-06-18 2017-04-18 Kabushiki Kaisha Toshiba Video encoding apparatus and a video decoding apparatus
MX2011013707A (es) 2009-06-18 2012-02-28 Toshiba Kk Dispositivo de codificacion de imagenes dinamicas y dispositivo de decodificacion de imagenes dinamicas.
US20110158310A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Decoding data using lookup tables
KR101633153B1 (ko) 2010-04-01 2016-06-23 소니 주식회사 화상 처리 장치 및 방법
CN106454371B (zh) 2010-04-13 2020-03-20 Ge视频压缩有限责任公司 解码器、数组重建方法、编码器、编码方法及存储介质
KR102166520B1 (ko) 2010-04-13 2020-10-16 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
ES2549734T3 (es) 2010-04-13 2015-11-02 Ge Video Compression, Llc Codificación de vídeo que usa subdivisiones multi-árbol de imágenes
KR101584480B1 (ko) 2010-04-13 2016-01-14 지이 비디오 컴프레션, 엘엘씨 평면 간 예측
US8638863B1 (en) * 2010-05-18 2014-01-28 Google Inc. Apparatus and method for filtering video using extended edge-detection
US8817882B2 (en) * 2010-07-30 2014-08-26 Qualcomm Incorporated Coding blocks of data using a generalized form of golomb codes
JP5064547B2 (ja) * 2010-09-15 2012-10-31 豊田合成株式会社 車両用放電装置
US9025661B2 (en) * 2010-10-01 2015-05-05 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding
JP5652101B2 (ja) * 2010-10-05 2015-01-14 富士通株式会社 画像処理装置及び画像処理方法
US8913662B2 (en) 2011-01-06 2014-12-16 Qualcomm Incorporated Indicating intra-prediction mode selection for video coding using CABAC
US9210442B2 (en) 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation
US9380319B2 (en) 2011-02-04 2016-06-28 Google Technology Holdings LLC Implicit transform unit representation
JP5801614B2 (ja) * 2011-06-09 2015-10-28 キヤノン株式会社 画像処理装置、画像処理方法
JP5839848B2 (ja) 2011-06-13 2016-01-06 キヤノン株式会社 画像処理装置、画像処理方法
CN103597826B (zh) * 2011-06-17 2017-05-17 Jvc建伍株式会社 图像解码装置及图像解码方法
TWI613911B (zh) * 2011-10-31 2018-02-01 Jvc Kenwood Corp 動態影像解碼裝置及動態影像解碼方法
JP2013126093A (ja) * 2011-12-14 2013-06-24 Sony Corp 画像処理装置及び画像処理方法
TWI577181B (zh) * 2011-12-28 2017-04-01 Jvc Kenwood Corp Dynamic video coding device, dynamic image coding method and dynamic image coding program
JP5977544B2 (ja) * 2012-03-09 2016-08-24 キヤノン株式会社 情報処理装置、情報処理方法
JP6000579B2 (ja) 2012-03-09 2016-09-28 キヤノン株式会社 情報処理装置、情報処理方法
JP5975685B2 (ja) 2012-03-09 2016-08-23 キヤノン株式会社 情報処理装置、情報処理方法
US9219915B1 (en) 2013-01-17 2015-12-22 Google Inc. Selection of transform size in video coding
JP5547312B2 (ja) * 2013-02-07 2014-07-09 株式会社東芝 動画像復号化装置及び方法
JP5498597B2 (ja) * 2013-02-07 2014-05-21 株式会社東芝 動画像符号化装置及び方法
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9967559B1 (en) 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
WO2015109598A1 (en) * 2014-01-27 2015-07-30 Mediatek Singapore Pte. Ltd. Methods for motion parameter hole filling
JP2017522839A (ja) * 2014-06-20 2017-08-10 シャープ株式会社 整合パレット符号化
US9565451B1 (en) 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding
JP6561644B2 (ja) * 2014-12-25 2019-08-21 オムロン株式会社 導光板、表示装置及び遊技機
US10171810B2 (en) 2015-06-22 2019-01-01 Cisco Technology, Inc. Transform coefficient coding using level-mode and run-mode
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
CN108353179A (zh) 2015-09-10 2018-07-31 三星电子株式会社 编码设备、解码设备及其编码方法和解码方法
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
WO2018030293A1 (ja) * 2016-08-10 2018-02-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
JP6434172B2 (ja) * 2018-01-12 2018-12-05 マクセル株式会社 復号化方法
CN111869205B (zh) 2018-01-19 2022-06-10 Pcms控股公司 具有变化位置的多焦平面
EP4266113A3 (en) 2018-03-23 2023-12-27 InterDigital VC Holdings, Inc. Multifocal plane based method to produce stereoscopic viewpoints in a dibr system (mfp-dibr)
CN112585963B (zh) * 2018-07-05 2024-04-09 Pcms控股公司 用于2d显示器上的内容的3d感知的近眼焦平面覆盖层的方法和系统
CN109360253B (zh) * 2018-09-28 2023-08-11 共享智能装备有限公司 一种大像素bmp格式图像的绘制方法
US10666985B1 (en) * 2018-11-18 2020-05-26 Sony Corporation Sub-block based entropy coding for image coding
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression
US11663730B2 (en) * 2021-02-19 2023-05-30 Toyota Motor Engineering & Manufacturing North America, Inc. Systems and methods for an improved camera system using a graded lens and filters to estimate depth
CN113436289B (zh) * 2021-08-04 2023-08-22 成都工业学院 一种基于方向向量相关系数的图像编码及分类方法
CN113678849B (zh) * 2021-08-15 2023-06-23 万杰智能科技股份有限公司 一种油条坯转送及拉长装置
CN117498873B (zh) * 2023-11-07 2024-03-29 东莞市杜氏诚发精密弹簧有限公司 一种血管栓塞弹簧组件智能加工系统

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4541012A (en) * 1982-01-04 1985-09-10 Compression Labs, Inc. Video bandwidth reduction system employing interframe block differencing and transform domain coding
US5010401A (en) * 1988-08-11 1991-04-23 Mitsubishi Denki Kabushiki Kaisha Picture coding and decoding apparatus using vector quantization
JPH04100390A (ja) * 1990-08-20 1992-04-02 Hitachi Ltd 高能率符号化方式
JP3207198B2 (ja) 1990-11-26 2001-09-10 株式会社東芝 液晶表示プロジェクタの冷却装置
JPH04223773A (ja) * 1990-12-26 1992-08-13 Casio Comput Co Ltd 符号化装置
EP0533195A2 (en) * 1991-09-20 1993-03-24 Sony Corporation Picture signal encoding and/or decoding apparatus
US5475501A (en) * 1991-09-30 1995-12-12 Sony Corporation Picture encoding and/or decoding method and apparatus
US5510840A (en) * 1991-12-27 1996-04-23 Sony Corporation Methods and devices for encoding and decoding frame signals and recording medium therefor
JP3016456B2 (ja) * 1992-06-15 2000-03-06 日本電信電話株式会社 適応的可変長符号化方法
US5842033A (en) * 1992-06-30 1998-11-24 Discovision Associates Padding apparatus for passing an arbitrary number of bits through a buffer in a pipeline system
JP3278948B2 (ja) * 1993-02-05 2002-04-30 日本電信電話株式会社 可変長符号化方法
EP0616472B1 (en) * 1993-03-15 1999-05-12 Sony Corporation Transmission and decoding of picture signals
JPH07107492A (ja) * 1993-10-04 1995-04-21 N T T Data Tsushin Kk 画像符号化方式
US5887187A (en) * 1993-10-20 1999-03-23 Lsi Logic Corporation Single chip network adapter apparatus
US5708659A (en) * 1993-10-20 1998-01-13 Lsi Logic Corporation Method for hashing in a packet network switching system
US5539663A (en) * 1993-11-24 1996-07-23 Intel Corporation Process, apparatus and system for encoding and decoding video signals using temporal filtering
US5576765A (en) * 1994-03-17 1996-11-19 International Business Machines, Corporation Video decoder
US5563593A (en) * 1994-03-18 1996-10-08 Lucent Technologies Inc. Video coding with optimized low complexity variable length codes
US5500678A (en) * 1994-03-18 1996-03-19 At&T Corp. Optimized scanning of transform coefficients in video coding
TW393856B (en) 1994-09-07 2000-06-11 Ind Tech Res Inst Video compression method and device
JP4223571B2 (ja) * 1995-05-02 2009-02-12 ソニー株式会社 画像符号化方法及び装置
US5740283A (en) * 1995-07-06 1998-04-14 Rubin, Bednarek & Associates, Inc. Digital video compression utilizing mixed vector and scalar outputs
JP3484834B2 (ja) * 1995-07-28 2004-01-06 ソニー株式会社 データ符号化/復号化方法および装置
JPH0955935A (ja) * 1995-08-15 1997-02-25 Nippon Steel Corp 画像および音声符号化装置
JP3552811B2 (ja) * 1995-09-29 2004-08-11 三菱電機株式会社 ディジタル映像信号符号化装置および復号化装置
US5883678A (en) * 1995-09-29 1999-03-16 Kabushiki Kaisha Toshiba Video coding and video decoding apparatus for reducing an alpha-map signal at a controlled reduction ratio
US5777679A (en) * 1996-03-15 1998-07-07 International Business Machines Corporation Video decoder including polyphase fir horizontal filter
US5668599A (en) * 1996-03-19 1997-09-16 International Business Machines Corporation Memory management for an MPEG2 compliant decoder
JP2848326B2 (ja) * 1996-03-28 1999-01-20 日本電気株式会社 Mpeg符号化画像復号装置
CN1183769C (zh) * 1996-05-28 2005-01-05 松下电器产业株式会社 图像预测编码/解码装置和方法以及记录媒体
JPH1023425A (ja) * 1996-07-01 1998-01-23 Sony Corp 画像符号化装置および方法、画像復号化装置および方法、並びに画像記録媒体
US6341144B1 (en) * 1996-09-20 2002-01-22 At&T Corp. Video coder providing implicit coefficient prediction and scan adaptation for image coding and intra coding of video
JP3208101B2 (ja) 1996-11-07 2001-09-10 松下電器産業株式会社 画像符号化方法および画像符号化装置並びに画像符号化プログラムを記録した記録媒体
EP1689189A3 (en) * 1996-11-07 2008-12-10 Panasonic Corporation Image encoder and image decoder
US5821887A (en) * 1996-11-12 1998-10-13 Intel Corporation Method and apparatus for decoding variable length codes
US6614845B1 (en) * 1996-12-24 2003-09-02 Verizon Laboratories Inc. Method and apparatus for differential macroblock coding for intra-frame data in video conferencing systems
US5974184A (en) 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
US6212236B1 (en) * 1997-03-26 2001-04-03 Matsushita Electric Industrial Co., Ltd. Image decoding apparatus
US6680976B1 (en) * 1997-07-28 2004-01-20 The Board Of Trustees Of The University Of Illinois Robust, reliable compression and packetization scheme for transmitting video
JP3356663B2 (ja) * 1997-10-22 2002-12-16 松下電器産業株式会社 画像符号化装置、画像符号化方法および画像符号化プログラムを記録した記録媒体
JP3738939B2 (ja) * 1998-03-05 2006-01-25 Kddi株式会社 動画像のカット点検出装置
US6563953B2 (en) * 1998-11-30 2003-05-13 Microsoft Corporation Predictive image compression using a single variable length code for both the luminance and chrominance blocks for each macroblock
US6625211B1 (en) * 1999-02-25 2003-09-23 Matsushita Electric Industrial Co., Ltd. Method and apparatus for transforming moving picture coding system
US6658157B1 (en) * 1999-06-29 2003-12-02 Sony Corporation Method and apparatus for converting image information
JP2001028748A (ja) * 1999-07-12 2001-01-30 Sony Corp データ再生伝送装置及びデータ再生伝送方法
FI116819B (fi) * 2000-01-21 2006-02-28 Nokia Corp Menetelmä kuvien lähettämiseksi ja kuvakooderi
JP2001251616A (ja) * 2000-03-02 2001-09-14 Media Glue Corp 多重化音響・動画圧縮符号化信号変換方法、装置および変換プログラムを記録した媒体
KR100349650B1 (ko) * 2000-07-11 2002-08-24 주식회사 큐리텔 동영상 압축 부호화장치의 가변길이부호화 테이블 분할가변길이 부호화 장치 및 그 방법
KR100349649B1 (ko) * 2000-07-11 2002-08-24 주식회사 큐리텔 동영상압축 부호화장치의 가변 길이 부호화기
KR20020006250A (ko) * 2000-07-12 2002-01-19 린 와이-푸 점술을 중심으로 하는 네트워크 마케팅 시스템 및 그 방법
US6748020B1 (en) * 2000-10-25 2004-06-08 General Instrument Corporation Transcoder-multiplexer (transmux) software architecture
WO2002078355A1 (en) * 2001-03-23 2002-10-03 Nokia Corporation Variable length coding
KR100454501B1 (ko) * 2001-12-26 2004-10-28 브이케이 주식회사 영상신호를 부호화 또는 복호화하기 위한 예측 장치 및 방법
JP4130780B2 (ja) 2002-04-15 2008-08-06 松下電器産業株式会社 画像符号化方法および画像復号化方法
FI114679B (fi) * 2002-04-29 2004-11-30 Nokia Corp Satunnaisaloituspisteet videokoodauksessa
JP4223773B2 (ja) 2002-09-13 2009-02-12 株式会社東芝 無線通信端末
JP4100390B2 (ja) 2004-10-07 2008-06-11 三菱自動車工業株式会社 車両の前部車体構造

Also Published As

Publication number Publication date
PT1746841E (pt) 2009-11-03
KR20060040753A (ko) 2006-05-10
DE60311530D1 (de) 2007-03-15
PT2131593E (pt) 2010-10-11
JP2008193725A (ja) 2008-08-21
US7308143B2 (en) 2007-12-11
US20080063056A1 (en) 2008-03-13
EP2131592A1 (en) 2009-12-09
HK1146561A1 (en) 2011-06-17
US20080063055A1 (en) 2008-03-13
US20080175315A1 (en) 2008-07-24
DE60334341D1 (de) 2010-11-04
ES2348325T3 (es) 2010-12-02
EP1478188A1 (en) 2004-11-17
CN1917643B (zh) 2010-12-01
KR100987548B1 (ko) 2010-10-12
JP2004007506A (ja) 2004-01-08
JP5208156B2 (ja) 2013-06-12
JP2009005396A (ja) 2009-01-08
JP5485363B2 (ja) 2014-05-07
ES2330661T4 (es) 2010-06-02
KR20100074325A (ko) 2010-07-01
CN1976469A (zh) 2007-06-06
EP2254341B1 (en) 2011-10-05
EP2293577A1 (en) 2011-03-09
TW200629910A (en) 2006-08-16
JP2010081646A (ja) 2010-04-08
ATE439740T1 (de) 2009-08-15
MY140969A (en) 2010-02-12
US20080056362A1 (en) 2008-03-06
JP2011010340A (ja) 2011-01-13
ATE527819T1 (de) 2011-10-15
JP2010093842A (ja) 2010-04-22
DE60302652T2 (de) 2006-08-10
JP2009022039A (ja) 2009-01-29
JP2013070428A (ja) 2013-04-18
JP2011010338A (ja) 2011-01-13
ATE482570T1 (de) 2010-10-15
ATE531202T1 (de) 2011-11-15
JP2008182756A (ja) 2008-08-07
EP2254340B1 (en) 2012-01-18
ES2252666T3 (es) 2006-05-16
KR100956920B1 (ko) 2010-05-11
EP1744562A3 (en) 2007-02-07
US7769238B2 (en) 2010-08-03
US8867855B2 (en) 2014-10-21
US7308144B2 (en) 2007-12-11
US8526748B2 (en) 2013-09-03
EP1478188B1 (en) 2005-12-07
JP4982459B2 (ja) 2012-07-25
HK1148150A1 (en) 2011-08-26
TWI330986B (en) 2010-09-21
US7693340B2 (en) 2010-04-06
JP2008178128A (ja) 2008-07-31
TW200629912A (en) 2006-08-16
CY1111971T1 (el) 2015-11-04
US8139878B2 (en) 2012-03-20
EP1744561A2 (en) 2007-01-17
ES2329823T3 (es) 2009-12-01
US20060269154A1 (en) 2006-11-30
CN1976468A (zh) 2007-06-06
KR100954244B1 (ko) 2010-04-23
DK2131593T3 (da) 2010-10-25
KR101227720B1 (ko) 2013-01-29
KR20110099348A (ko) 2011-09-07
JP4653258B1 (ja) 2011-03-16
ES2369653T3 (es) 2011-12-02
DK1596608T3 (da) 2007-03-05
EP2293578B1 (en) 2012-11-21
ATE524020T1 (de) 2011-09-15
KR20100012061A (ko) 2010-02-04
JP2014079003A (ja) 2014-05-01
KR101152507B1 (ko) 2012-06-01
ES2329712T3 (es) 2009-11-30
HK1146562A1 (en) 2011-06-17
EP1750451A2 (en) 2007-02-07
US20090034616A1 (en) 2009-02-05
KR20100074327A (ko) 2010-07-01
CN100527839C (zh) 2009-08-12
CA2444357C (en) 2012-03-20
EP2131593B1 (en) 2010-09-22
JP5208157B2 (ja) 2013-06-12
PT2254341E (pt) 2011-10-17
PT2254340E (pt) 2012-02-02
JP2010268514A (ja) 2010-11-25
JP4191793B1 (ja) 2008-12-03
DE60328836D1 (de) 2009-09-24
TWI281352B (en) 2007-05-11
KR20040099093A (ko) 2004-11-26
TW200629911A (en) 2006-08-16
JP4741716B1 (ja) 2011-08-10
PT2239948E (pt) 2011-06-09
TWI314838B (en) 2009-09-11
KR101038154B1 (ko) 2011-05-31
AU2003227248B2 (en) 2007-08-23
CA2732005C (en) 2012-12-04
JP2008312226A (ja) 2008-12-25
CA2732005A1 (en) 2003-10-23
ATE439738T1 (de) 2009-08-15
JP4185564B2 (ja) 2008-11-26
WO2003088675A1 (en) 2003-10-23
BR0303566A (pt) 2004-04-20
JP4465035B2 (ja) 2010-05-19
KR20120091468A (ko) 2012-08-17
ATE445294T1 (de) 2009-10-15
CN100527840C (zh) 2009-08-12
MY135378A (en) 2008-04-30
EP1746841A1 (en) 2007-01-24
EP1744562A2 (en) 2007-01-17
EP2293578A1 (en) 2011-03-09
EP2131593A1 (en) 2009-12-09
JP4598159B2 (ja) 2010-12-15
KR20110016508A (ko) 2011-02-17
US8290286B2 (en) 2012-10-16
JP4185561B2 (ja) 2008-11-26
JP2011061834A (ja) 2011-03-24
US20060239575A1 (en) 2006-10-26
EP1744561A3 (en) 2007-02-07
ES2369065T3 (es) 2011-11-25
JP2009171602A (ja) 2009-07-30
CN1293762C (zh) 2007-01-03
ES2376639T3 (es) 2012-03-15
ES2376639T9 (es) 2012-06-07
JP4465026B2 (ja) 2010-05-19
CN1929608A (zh) 2007-03-14
EP2293577B1 (en) 2012-11-21
ES2362563T3 (es) 2011-07-07
JP2010206823A (ja) 2010-09-16
US20060233449A1 (en) 2006-10-19
KR20120039761A (ko) 2012-04-25
EP1744561B1 (en) 2009-11-04
EP1596608A3 (en) 2005-11-30
CN1976471A (zh) 2007-06-06
KR20100012103A (ko) 2010-02-05
US20060233450A1 (en) 2006-10-19
JP2008160887A (ja) 2008-07-10
JP2006246499A (ja) 2006-09-14
TWI314837B (en) 2009-09-11
ES2399226T3 (es) 2013-03-26
DK1478188T3 (da) 2006-02-13
KR20100024495A (ko) 2010-03-05
ATE312478T1 (de) 2005-12-15
JP4185106B2 (ja) 2008-11-26
EP1753246A1 (en) 2007-02-14
DE60311530T2 (de) 2007-11-15
KR20060040752A (ko) 2006-05-10
ES2398516T3 (es) 2013-03-19
CN100527838C (zh) 2009-08-12
PT1744562E (pt) 2009-09-04
EP1596608A2 (en) 2005-11-16
ES2329822T3 (es) 2009-12-01
DE60329639D1 (de) 2009-11-19
CN1565130A (zh) 2005-01-12
ATE447828T1 (de) 2009-11-15
US7308149B2 (en) 2007-12-11
JP4185563B2 (ja) 2008-11-26
KR101257212B1 (ko) 2013-04-23
US7305134B2 (en) 2007-12-04
DE60328838D1 (de) 2009-09-24
EP1750451B1 (en) 2009-08-12
CY1111051T1 (el) 2015-06-11
TW200307465A (en) 2003-12-01
EP1750451A3 (en) 2007-02-21
KR100980987B1 (ko) 2010-09-07
EP1753246B1 (en) 2009-08-12
EP1744562B1 (en) 2009-08-12
EP1478188A4 (en) 2004-11-17
DE60302652D1 (de) 2006-01-12
EP1746841B1 (en) 2009-10-07
KR100956926B1 (ko) 2010-05-11
EP2134097B1 (en) 2011-09-07
ES2330661T3 (es) 2009-12-14
EP2239948A1 (en) 2010-10-13
KR100987541B1 (ko) 2010-10-12
JP2011010339A (ja) 2011-01-13
JP2010193509A (ja) 2010-09-02
US8265403B2 (en) 2012-09-11
JP4628498B2 (ja) 2011-02-09
CA2444357A1 (en) 2003-10-14
DE60329945D1 (de) 2009-12-17
JP2011172236A (ja) 2011-09-01
JP5716082B2 (ja) 2015-05-13
KR100990314B1 (ko) 2010-10-26
US7095896B2 (en) 2006-08-22
EP2239948B1 (en) 2011-06-01
JP4465036B2 (ja) 2010-05-19
EP2134097A1 (en) 2009-12-16
AU2003227248A1 (en) 2003-10-27
CN100527846C (zh) 2009-08-12
MY146793A (en) 2012-09-28
ATE439739T1 (de) 2009-08-15
US7697770B2 (en) 2010-04-13
KR101001753B1 (ko) 2010-12-15
EP2254340A1 (en) 2010-11-24
DK1744562T3 (da) 2009-10-12
JP4628499B2 (ja) 2011-02-09
JP4382864B2 (ja) 2009-12-16
EP2131592B1 (en) 2011-10-26
ES2277313T3 (es) 2007-07-01
MXPA03010115A (es) 2004-03-10
US7184598B2 (en) 2007-02-27
HK1136730A1 (en) 2010-07-02
US20130034308A1 (en) 2013-02-07
KR100956927B1 (ko) 2010-05-11
CN100527841C (zh) 2009-08-12
EP2254341A1 (en) 2010-11-24
SI1478188T1 (sl) 2006-04-30
ATE352951T1 (de) 2007-02-15
CN1976470A (zh) 2007-06-06
US20040184538A1 (en) 2004-09-23
DE60328837D1 (de) 2009-09-24
MY141699A (en) 2010-06-15
US20060233451A1 (en) 2006-10-19
US20080117969A1 (en) 2008-05-22
JP4185560B2 (ja) 2008-11-26
CN1917643A (zh) 2007-02-21
KR20060040751A (ko) 2006-05-10
ATE542370T1 (de) 2012-02-15
KR20100074326A (ko) 2010-07-01
ATE511733T1 (de) 2011-06-15
US20130315495A1 (en) 2013-11-28
EP1596608B1 (en) 2007-01-24
KR101154606B1 (ko) 2012-06-08
DK1746841T3 (da) 2009-11-30
JP4130780B2 (ja) 2008-08-06
JP4598158B1 (ja) 2010-12-15

Similar Documents

Publication Publication Date Title
BRPI0303566B1 (pt) “Método de codificação de imagem, método de decodificação de imagem e fluxo de bits”
BRPI0205988B1 (pt) aparelho de codificação de imagem que codifica imagens que são introduzidas em sequência e aparelho de decodificação de imagem que decodifica imagens que são introduzidas em sequência