PT2131593E - Método e equipamento de descodificação de imagem - Google Patents

Método e equipamento de descodificação de imagem Download PDF

Info

Publication number
PT2131593E
PT2131593E PT09168413T PT09168413T PT2131593E PT 2131593 E PT2131593 E PT 2131593E PT 09168413 T PT09168413 T PT 09168413T PT 09168413 T PT09168413 T PT 09168413T PT 2131593 E PT2131593 E PT 2131593E
Authority
PT
Portugal
Prior art keywords
coefficients
unit
coefficient
image
blocks
Prior art date
Application number
PT09168413T
Other languages
English (en)
Inventor
Satoshi Kondo
Shinya Kadono
Makoto Hagai
Kiyofumi Abe
Original Assignee
Panasonic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=29243326&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=PT2131593(E) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Panasonic Corp filed Critical Panasonic Corp
Publication of PT2131593E publication Critical patent/PT2131593E/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)
  • Holo Graphy (AREA)
  • Supplying Of Containers To The Packaging Station (AREA)

Description

DESCRIÇÃO "MÉTODO E EQUIPAMENTO DE DESCODIFICAÇÃO DE IMAGEM"
Campo Técnico A presente invenção refere-se a um método de codificação de imagem e a um método de descodificação de imagem para codificar digitalmente uma imagem de modo a transferi-la ou armazená-la. Técnica Anterior
Uma codificação de imagens em movimento, de um modo geral, divide uma imagem num determinado tamanho de blocos e executa uma predição intra imagem e uma predição inter imagem para cada bloco. Em seguida, aplica uma transformação ortogonal, por exemplo, uma transformação discreta de co-senos ou semelhante, a cada bloco da unidade mais pequena de uma divisão (i. e., 4x4 pixéis) de modo a executar a codificação utilizando uma codificação de comprimento variável com base numa codificação de nivel de execução para coeficientes que mostram componentes de frequência espaciais obtidos por transformação ortogonal. A codificação de comprimento variável atribui um código de comprimento variável aos valores dos coeficientes contidos no bloco ao qual se aplica a transformação ortogonal (nivel), bem como aos números que consistem numa série de um coeficiente 0 (execução). Neste caso, uma tabela que corresponde aos valores com código de comprimento variável é chamada de tabela VLC. No 1 método convencional, apenas se prepara uma tabela que funcione como uma tabela VLC, respectivamente para a codificação de predição intra e para a codificação de predição inter (referência à ISO/IEC 14496-2: 1999 (E) Information technology - coding of audio-visual objects Parte 2: Visual (1999-12-01) P.119 7.4.1 Variable lenght decoding).
Utilizando o método de codificação de comprimento variável explicado na técnica existente, apenas se prepara uma tabela que funcione como uma tabela VLC, respectivamente, para a codificação de predição intra e para a codificação de predição inter. Por conseguinte, existe um problema relacionado com o facto de a eficiência de codificação diferir grandemente consoante a qualidade de uma imagem actual a ser codificada.
De modo a resolver este problema, concebe-se um método de preparação de uma pluralidade de tabelas de modo a recorrer, como referência, às mesmas efectuando uma comutação entre elas de acordo com o número de coeficientes diferentes de 0, contidos num bloco que está a ser tratado ao qual se aplica a transformação ortogonal. Para o efectuar, é necessário executar uma codificação aplicando uma codificação de comprimento variável aos números de coeficientes diferentes de 0, não estando, no entanto, o método de codificação e o método de descodificação ainda estabelecidos. O pedido de patente Europeia EP 0876058 do titular da presente patente refere-se a um codificador e descodificador de imagem. De acordo com este pedido, sugere-se que os dados de modo de um bloco a codificar são preditos a partir dos dados de modo dos blocos periféricos já codificados, e codificados utilizando uma tabela de palavras de código que é comutada de 2 acordo com um rácio de predição de acerto. Na tabela de palavras de código, o comprimento das palavras de código é definido de modo a ser mais curto para modos de codificação com um elevado rácio de acerto. 0 artigo de Gisle Bjontegaard: "Improved low complexity entropy coding for transfer coefficients", resume uma proposta com base em codificação de entropia. 0 documento apresentado por Bjontegaard pretende substituir o método UVLC de baixa complexidade; considera-se que tem uma baixa complexidade, mas um melhor desempenho. A ideia base é tornar o método mais auto-adaptativo e o método proposto utiliza apenas um único varrimento.
Divulgação da Invenção A presente invenção foi concebida tendo em conta estas circunstâncias e é um objectivo da presente invenção sugerir um método de codificação de imagem, bem como um método de descodificação de imagem que efectuem a codificação do número de coeficientes diferentes de 0 contidos no bloco ao qual se aplica a transformação ortogonal com uma elevada eficiência independentemente da qualidade da imagem actual.
De modo a resolver o problema acima mencionado, a presente invenção proporciona um método de descodificação para descodificar uma imagem codificada como definido na reivindicação 1. 3 0 objectivo acima mencionado da presente invenção também é resolvido por um dispositivo de descodificação para descodificar uma imagem codificada como definido na reivindicação 2.
Breve Descrição dos Desenhos A Fig. 1 é um diagrama de blocos que mostra uma estrutura de um exemplo útil para a compreensão da presente invenção de um dispositivo de codificação de imagem utilizando um método de codificação de imagem. A Fig. 2A é um diagrama de padrões que mostra um esquema de uma ordem de processamento de macroblocos em cada imagem. A Fig. 2B é um diagrama de padrões que mostra macroblocos que pertencem a blocos codificados utilizados como referência de modo a codificar vários coeficientes de um bloco actual a codificar. A Fig. 3A é um diagrama de blocos que mostra uma estrutura de um codificador de números de coeficientes de acordo com o primeiro exemplo útil para a compreensão da presente invenção. A Fig. 3B é um diagrama de blocos que mostra uma estrutura de um exemplo transformacional do codificador de números de coeficientes. A Fig. 4A e Fig. 4B são diagramas de padrões que mostram uma posição física de um bloco actual a codificar e dos blocos codificados utilizados como referência. A Fig. 4A apresenta um caso em que se utilizam três blocos adjacentes, enquanto a Fig. 4B apresenta um caso em que se utilizam dois blocos adjacentes. 4 A Fig. 5 é um diagrama de padrões que mostra um exemplo de um fluxo quando o número de coeficientes é transformado numa corrente de bits recorrendo, como referência, às tabelas. A Fig. 6A e Fig. 6B são diagramas de padrões que mostram blocos de referência para um macrobloco actual a codificar. A Fig. 6A apresenta um caso em que se utilizam três blocos adjacentes, enquanto a Fig. 6B apresenta um caso em que se utilizam dois blocos adjacentes.
As Fig. 7A, Fig. 7B e Fig. 7C são diagramas de padrões que mostram uma operação na qual uma unidade de armazenamento de números de coeficientes armazena os números de coeficientes. A Fig. 7A apresenta um caso em que um processamento prossegue para o macrobloco seguinte, enquanto a Fig. 7B apresenta um caso em que o processamento prossegue ainda para o macrobloco seguinte. A Fig. 7C apresenta um caso em que o macrobloco actual está situado na margem direita da imagem e o processamento passa para o macrobloco seguinte.
As Fig. 8A, Fig. 8B e Fig. 8C são diagramas de bloco que mostram uma estrutura de um exemplo transformacional de um codificador de números de coeficientes de acordo com o primeiro exemplo útil para a compreensão da presente invenção. A Fig. 8A apresenta um caso de fixação de uma tabela de códigos. A FIG. 8B apresenta um caso de fixação de uma tabela VLC. A Fig. 8C apresenta um caso em que se utiliza apenas uma tabela VLC sem utilizar tabelas de códigos. A Fig. 9 é um diagrama de blocos que mostra uma estrutura de um exemplo transformacional do codificador de números de 5 coeficientes de acordo com o primeiro exemplo útil para a compreensão da presente invenção. A Fig. 10A é um diagrama de blocos que mostra uma estrutura de um codificador de números de coeficientes de acordo com o segundo exemplo útil para a compreensão da presente invenção. A Fig. 10B é um diagrama de blocos que mostra uma estrutura de um exemplo transformacional do codificador de números de coeficientes.
As Fig. 11A e a Fig. 11B são diagramas de padrões para mostrar uma posição dos blocos seleccionados como alvos para fazer a estatística dos números de coeficientes de acordo com o segundo exemplo útil para a compreensão da presente invenção e a segunda forma de realização da presente invenção A Fig. 12A é um diagrama de blocos que mostra uma estrutura de um codificador de números de coeficientes de acordo com o terceiro exemplo útil para a compreensão da presente invenção. A Fig. 12B é um diagrama de blocos que mostra uma estrutura de um exemplo transformacional do codificador de números de coeficientes. A Fig. 13A é um diagrama de blocos que mostra uma estrutura de um codificador de números de coeficientes de acordo com o quarto exemplo útil para a compreensão da presente invenção. A Fig. 13B é um diagrama de blocos que mostra uma estrutura de um exemplo transformacional do codificador de números de coeficientes. A Fig. 14 é um diagrama de blocos que mostra um método de cálculo de um valor de avaliação obtido pela comutação de 6 tabelas de acordo com o quarto e sétimo exemplo úteis para a compreensão da presente invenção. A Fig. 15 é um diagrama de blocos que mostra uma estrutura de um dispositivo de codificação de imagem de acordo com o quinto exemplo útil para a compreensão da presente invenção. A Fig. 16 é um diagrama de blocos que mostra uma estrutura de um codificador de números de coeficientes de acordo com o quinto exemplo útil para a compreensão da presente invenção. A Fig. 17 é um diagrama de blocos que mostra uma estrutura de uma forma de realização de um dispositivo de descodificação de imagem utilizando um método de descodificação de imagem de acordo com a presente invenção. A Fig. 18A é um diagrama de blocos que mostra uma estrutura de um descodificador de números de coeficientes de acordo com a primeira forma de realização da presente invenção. A Fig. 18B é um diagrama de blocos que mostra uma estrutura de um exemplo transformacional do descodificador de números de coeficientes. A Fig. 19 é um diagrama de padrões que mostra um exemplo de um fluxo quando uma corrente de bits de um número de coeficientes é transformada no número de coeficientes recorrendo, como referência, às tabelas.
As Fig. 20A e Fig. 20B são diagramas de blocos que mostram uma estrutura de um exemplo transformacional de um descodificador de números de coeficientes de acordo com a primeira forma de realização da presente invenção. A Fig. 20A apresenta um caso de fixação de uma tabela de códigos. A 7
Fig. 20B apresenta um caso de fixação de uma tabela VLC. A Fig. 20C apresenta um caso em que se utiliza uma tabela VLC sem utilizar tabelas de códigos. A Fig. 21 é um diagrama de blocos que mostra uma estrutura de um exemplo transformacional de um descodificador de números de coeficientes de acordo com a primeira forma de realização da presente invenção. A Fig. 22A é um diagrama de blocos para explicar uma operação de processamento que mostra uma estrutura de um descodificador de números de coeficientes de acordo com a segunda forma de realização da presente invenção. A Fig. 22B é um diagrama de blocos que mostra uma estrutura de um exemplo transformacional do descodificador de números de coeficientes. A Fig. 23A é um diagrama de blocos para explicar uma operação de processamento que mostra uma estrutura de um descodificador de números de coeficientes de acordo com o sexto exemplo útil para a compreensão da presente invenção. A Fig. 23B é um diagrama de blocos que mostra uma estrutura de um exemplo transformacional do descodificador de números de coeficientes. A Fig. 24A é um diagrama de blocos para explicar uma operação de processamento que mostra uma estrutura de um descodificador de números de coeficientes de acordo com o sétimo exemplo útil para a compreensão da presente invenção. A Fig. 24B é um diagrama de blocos que mostra uma estrutura de um exemplo transformacional do descodificador de números de coeficientes. A Fig. 25 é um diagrama de blocos para explicar uma operação de processamento que mostra uma estrutura de um descodificador de números de coeficientes de acordo com o oitavo exemplo útil para a compreensão da presente invenção. A Fig. 26A e Fig. 26B são ilustrações que se referem a um suporte de gravação para armazenar um programa de modo a efectuar um método de codificação de imagem, bem como um método de descodificação de imagem de cada forma de realização e exemplo num sistema que utilize um computador. A Fig. 26A é um diagrama explicativo que mostra um exemplo de um formato físico de uma disquete que é um corpo principal de um suporte de gravação. A Fig. 26B é um diagrama explicativo que mostra o aspecto completo da disquete, uma estrutura em corte e o própria disquete. A Fig. 26C é uma ilustração que mostra uma estrutura para gravar e reproduzir o programa no disco FD flexível. A Fig. 2 7 é um diagrama de blocos que mostra uma estrutura completa de um sistema de fornecimento de conteúdos que efectua um serviço de distribuição de conteúdos. A Fig. 28 é um esboço que mostra um exemplo de um telemóvel. A Fig. 29 é um diagrama de blocos que mostra uma estrutura interna do telemóvel. A Fig. 30 é um diagrama de blocos que mostra um sistema completo de um sistema de radiodifusão digital. 9
Melhor Modo de Realizar a Invenção
Descrevem-se, em seguida, as formas de realização da presente invenção e exemplos úteis à compreensão da presente invenção com referência aos diagramas e equações. (Primeiro exemplo) A Fig. 1 é um diagrama de blocos que mostra uma estrutura de um exemplo útil para a compreensão da presente invenção de um dispositivo de codificação de imagem utilizando um método de codificação de imagem. 0 dispositivo de codificação de imagem inclui, como mostrado na Fig. 1, memórias 101 e 106 de trama, uma unidade 102 de transformação ortogonal, uma unidade 103 de quantificação, uma unidade 104 de quantificação inversa, uma unidade 105 de transformação ortogonal inversa, uma unidade 107 de predição inter de imagem, uma unidade 108 de predição intra de imagem, uma unidade 109 de detecção de números de coeficientes, uma unidade 110 de armazenamento de números de coeficientes, um codificador 111 de números de coeficientes , um codificador 112 de valores de coeficientes, uma unidade 113 de geração de corrente de bits, comutadores 114 e 115, uma unidade 116 de cálculo de diferenças e uma unidade 117 de cálculo de adição. A memória 101 de trama armazena imagens em movimento introduzidas numa base de imagem a imagem pela ordem de visualização. A unidade 107 de predição inter de imagem detecta vectores de movimento que mostram uma posição predita como óptima na área de pesquisa na imagem, utilizando dados de imagem 10 reconstruídos num dispositivo de codificação como imagens de referência de modo a criar dados preditivos de imagem com base nos vectores de movimento. A unidade 116 de cálculo de diferenças calcula uma diferença entre os dados de imagem introduzidos que foram lidos a partir da memória 101 de trama e os dados preditivos de imagem introduzidos a partir da unidade 107 de predição inter de imagem de modo a criar dados preditivos de imagem residual. A unidade 108 de predição intra de imagem cria dados preditivos de imagem utilizando os dados de imagem da área codificada na imagem actual e cria dados preditivos de imagem residual calculando a diferença entre os dados preditivos de imagem criados e os dados de imagem introduzidos. A unidade 102 de transformação ortogonal executa uma transformação ortogonal nos dados preditivos de imagem residual introduzidos. A unidade 103 de quantificação executa uma quantificação nos dados transformados ortogonalmente e cria coeficientes que mostram componentes de frequência espaciais que é um objecto para codificação de comprimento variável. A unidade 104 de quantificação inversa aplica uma quantificação inversa aos coeficientes criados no processamento acima mencionado. A unidade 105 de transformação ortogonal inversa aplica uma transformação ortogonal inversa aos dados quantificados inversos e cria dados preditivos de imagem residual reconstruídos. A unidade 117 de cálculo de adição adiciona os dados de imagem residual reconstruídos introduzidos pela unidade 105 de transformação ortogonal inversa aos dados preditivos de imagem introduzidos pela unidade 107 de predição inter e cria dados de imagem reconstruídos. A memória 106 de trama armazena os dados de imagem reconstruídos criados. 11 A unidade 109 de detecção de números de coeficientes detecta o número de coeficientes tendo um valor diferente de 0 (designado doravante, simplesmente, como número de coeficientes) de cada bloco examinando o valor do coeficiente criado. A unidade 110 de armazenamento de números de coeficientes armazena os números de coeficientes detectados pela unidade 109 de detecção de números de coeficientes. O codificador 111 de números de coeficientes refere-se aos valores dos coeficientes no bloco, já codificados e armazenados na unidade 110 de armazenamento de números de coeficientes e efectua uma codificação dos números de coeficientes utilizando um método a ser mencionado posteriormente. O codificador 112 de valores de coeficientes efectua uma codificação de comprimento variável dos valores dos próprios coeficientes com referência, às tabelas VLC necessárias para a codificação de comprimento variável, fazendo uma comutação entre as mesmas com a utilização dos números de coeficientes detectados pela unidade 109 de detecção de números de coeficientes. A unidade 113 de geração de corrente de bits gera uma corrente de bits adicionando outra informação nos vectores de movimento ou semelhantes introduzida pela unidade 107 de predição inter de imagem aos números de coeficientes e aos valores dos coeficientes que estão codificados.
Em seguida, explica-se um funcionamento de um dispositivo de codificação de imagem construído do modo acima mencionado.
As imagens em movimento seleccionadas como alvo de codificação são introduzidas na memória 101 de trama, imagem a imagem por ordem de visualização e, em seguida, são reordenadas pela ordem de codificação. Cada imagem é dividida num bloco de, por exemplo, 16 (horizontal) x 16 (vertical) pixéis chamado macrobloco e o processamento subsequente ocorre utilizando a 12 unidade de macrobloco. A Fig. 2A é um diagrama de padrões que mostra um esquema de uma ordem de processamento de macroblocos em cada imagem, enquanto a Fig. 2B é um diagrama de padrões que mostra macroblocos aos quais pertencem os blocos codificados utilizados como referência de modo a codificar os números de coeficientes no bloco actual. A Fig. 2B mostra um caso em que um macrobloco MB13 é o macrobloco actual. A codificação dos macroblocos em cada imagem inicia-se no que está à esquerda por cima, um a um, até ao que está à direita, como mostrado na Fig. 2A, desce um degrau quando atinge a margem direita e inicia-se, novamente, da esquerda para a direita. 0 macrobloco, que é lido a partir da memória 101 de trama é, em primeiro lugar, introduzido na unidade 107 de predição inter de imagem quando um macrobloco actual a codificar é codificado utilizando predição inter de imagem. A unidade 107 de predição inter de imagem utiliza dados de imagem reconstruídos das imagens codificadas armazenadas na memória 106 de trama como imagens de referência para detectar vectores de movimento em cada bloco [i. e., 4 (horizontal) x 4 (vertical) pixéis] que é um macrobloco ainda mais dividido. A unidade 107 de predição inter de imagem emite dados preditivos de imagem criados pelos vectores de movimento detectados para a unidade 116 de cálculo de diferenças. A unidade 116 de cálculo de diferenças cria dados preditivos de imagem residual ao medir a diferença entre os dados preditivos de imagem e os dados de imagem introduzidos do macrobloco actual.
Pelo contrário, para codificar o macrobloco alvo por intermédio da predição intra de imagem, o macrobloco lido a partir da memória 101 de trama é, em primeiro lugar, introduzido na unidade 108 de predição intra de imagem. A unidade 108 de 13 predição intra de imagem executa uma predição intra de imagem utilizando a informação nos blocos circundantes e cria dados preditivos de imagem residual.
Os, assim criados, dados preditivos de imagem residual sofrem um processamento de transformação ortogonal na unidade 102 de transformação ortogonal, um processamento de quantificação na unidade 103 de quantificação para cada bloco e, em seguida, são transformados nos coeficientes aos quais se aplica a codificação de comprimento variável. Estes coeficientes são introduzidos na unidade 109 de detecção de números de coeficientes, no codificador 112 de valores de coeficientes e na unidade 104 de quantificação inversa. A unidade 109 de detecção de números de coeficientes detecta o número de coeficientes tendo valores diferentes de 0 em cada bloco. Os números de coeficientes detectados na mesma são armazenados na unidade 110 de armazenamento de números de coeficientes. O codificador 111 de números de coeficientes recorre, como referência, aos ; valores, ao ler, a partir da unidade 110 de armazenamento de números de coeficientes, os números de coeficientes nos blocos codificados e executa a codificação para o número de coeficientes do bloco actual. De igual modo, o codificador 112 de valores de coeficientes executa a codificação dos valores dos coeficientes propriamente ditos utilizando os números de coeficientes detectados pela unidade 109 de detecção de números de coeficientes. Por último, a unidade 113 de geração de corrente de bits gera uma corrente de bits definitiva ao adicionar, à corrente de bits, os números de coeficientes e os valores dos coeficientes, que são codificados, em conjunto com outra informação existente nos vectores de movimento ou semelhantes. 14
Os coeficientes introduzidos na unidade 104 de quantificação inversa são submetidos ao processamento de quantificação inversa na unidade 104 de quantificação inversa, bem como ao processamento de transformação ortogonal inversa na unidade 105 de transformação ortogonal inversa e, em seguida, são transformados em dados preditivos reconstruídos de imagem residual. Em seguida, a unidade 117 de cálculo de adição adiciona os dados preditivos reconstruídos de imagem residual aos dados preditivos de imagem introduzidos a partir da unidade 107 de predição inter de imagem de modo a criar dados de imagem reconstruídos e armazena-os na memória 106 de trama.
Deste modo, acabou de ser explicada uma sequência de codificação. No que se refere ao processamento de codificação de comprimento variável dos números de coeficientes executado pelo codificador 111 de números de coeficientes, os pormenores são explicados fazendo referência à Fig. 3 ~ Fig. 9, bem como ao Quadro 1 ~ Quadro 7. A Fig. 3A é um diagrama de blocos que mostra em pormenor uma estrutura interna do codificador 111 de números de coeficientes.
Aqui, mostra-se um exemplo em que se utilizam duas tabelas, uma tabela de código e uma tabela VLC, de modo a efectuar uma codificação de comprimento variável para o número de coeficientes. A tabela de código é uma tabela para transformar o número de coeficientes num número de código enquanto a tabela VLC é uma tabela para transformar o número de código obtido pela tabela de código num código de comprimento variável. 15 0 codificador 111 de números de coeficientes inclui, como mostrado na Fig. 3A, uma unidade 201 de cálculo de valores preditivos, uma unidade 202 de armazenamento de tabelas de código, uma unidade 203 de selecção de tabelas de código, uma unidade 204 de selecção de tabelas VLC, uma unidade 205 de armazenamento de tabelas VLC e um codificador 206 de números de coeficientes.
Em primeiro lugar, os números de coeficientes de blocos codificados na periferia são introduzidos, provenientes da unidade 110 de armazenamento de números de coeficientes mostrada na Fig. 1, na unidade 201 de cálculo de valores preditivos. A unidade 201 de cálculo de valores preditivos determina o valor preditivo calculando uma média destes valores. Pode utilizar-se um valor máximo, um valor minimo ou um valor médio em vez da média como método para determinar o valor preditivo. A Fig. 4A é um diagrama de padrões que mostra uma relação entre locais entre um bloco actual a ser codificado e os blocos codificados a serem utilizados como referência. Nesta representação, um bloco X é um bloco actual enquanto os três blocos na posição dos blocos B, C e D são blocos de referência. No que se refere aos três blocos na posição dos blocos B, C e D, quando aparecem os blocos que não são nem codificados nem estão situados fora da imagem ou fora do segmento, que é uma imagem dividida numa pluralidade de secções, ocorre uma mudança nos blocos de referência, como no Quadro 1. 16 <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
No que se refere aos símbolos no Quadro 1, um símbolo O significa um bloco codificado e um símbolo X significa um bloco a que não se pode fazer referência dado que não está nem codificado nem situado fora da imagem ou fora do segmento. Por exemplo, quando não se pode fazer referência apenas a um bloco C, o quadro mostra que as referências são os blocos A, B e D. 0 Quadro 1 mostra uma relação entre uma condição dos blocos de referência e o(s) bloco (s) que pode(m) servir de referência sendo que, no entanto, as configurações não estão limitadas a isto. De igual modo, se não se encontrarem blocos de referência, ou se dá directamente um valor 0 ou qualquer outro valor arbitrário como valor preditivo. A unidade 203 de selecção de tabelas de código selecciona uma tabela de código a ser actualmente utilizada a partir de uma pluralidade de tabelas de código armazenadas na unidade 202 de armazenamento de tabelas de código de acordo com um valor preditivo calculado pela unidade 201 de cálculo de valores preditivos. 17 0 Quadro 2 é um exemplo de uma tabela de código na qual números de coeficientes correspondem a números de código preparados anteriormente pela unidade 202 de armazenamento de tabelas de código. <Quadro 2>
Valor do número de coeficiente Tabela 1 de código Tabela 2 de código Tabela 3 de código Tabela 4 de código 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 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 1 de código, por exemplo, atribui números de código que são idênticos aos números de coeficientes, enquanto a tabela 2 de código atribui os números de código de modo a que um valor 2 do número de coeficientes tenha um papel central. Neste quadro são preparados quatro tipos de tabelas de código; no entanto, os números de tipos de tabelas e de valores de tabelas não estão limitados aos utilizados no Quadro 2. De igual modo, o Quadro 3 apresenta 18 critérios de selecçao para tabelas de código com base num valor preditivo. <Quadro 3>
Valor preditivo Tabela de referência 0~2 Tabela 1 de código 3~5 Tabela 2 de código 6~8 Tabela 3 de código 9~16 Tabela 4 de código
De acordo com este exemplo, a unidade 203 de selecção de tabelas de código selecciona uma tabela de código do seguinte modo: refere-se a uma tabela 1 de código quando o valor preditivo calculado pela unidade 201 de cálculo de valores preditivos não é superior a 2, enquanto se refere a uma tabela 2 de código quando o valor preditivo é superior ou igual a 3 e inferior ou igual a 5. O modo de atribuir valores preditivos e os itens das tabelas de referência não estão limitados aos utilizados no Quadro 3. A unidade 204 de selecção de tabelas VLC selecciona uma tabela VLC a ser actualmente utilizada a partir de uma pluralidade de tabelas VLC armazenadas na unidade 205 de armazenamento de tabelas VLC de acordo com o valor preditivo calculado pela unidade 201 de cálculo de valores preditivos. O Quadro 4 é um exemplo de uma tabela VLC na qual os números de código preparados antecipadamente pela unidade 205 de 19 armazenamento de tabelas VLC correspondem a códigos de comprimento variável. <Quadro 4> Número de Tabela 1 Tabela 2 Tabela 3 Tabela 4 código VLC VLC VLC VLC 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 1 VLC, em comparação com uma tabela 4 VLC, é concebida com uma tendência que é: uma quantidade de bits aumenta se o número de código for maior e diminui se o número de código for pequeno. 0 quadro mostra que a tabela 1 VLC pode efectuar uma codificação de comprimento variável de um modo mais eficiente quando uma probabilidade de aparição do número de código se concentra na área em que os valores são pequenos, enquanto a tabela 4 VLC pode ser mais eficiente quando a probabilidade de aparição se espalha para a área em que os valores são grandes. Neste caso, são preparados quatro tipos de tabelas; no entanto, os números de tipos de tabelas e os valores de tabelas não estão limitados aos 20 utilizados no Quadro 4. De igual modo, o Quadro 5 apresenta critérios de selecção para tabelas VLC com base num valor preditivo. <Quadro 5>
Valor preditivo Tabela de referência 0~1 Tabela 1 VLC 2~3 Tabela 2 VLC 4~6 Tabela 3 VLC 7~16 Tabela 4 VLC
De acordo com este exemplo, a unidade 204 de selecção de tabelas VLC selecciona uma tabela VLC do seguinte modo: refere-se a uma tabela 1 VLC quando o valor preditivo calculado pela unidade 201 de cálculo de valores preditivos não é superior a 1, enquanto se refere a uma tabela 2 VLC quando o valor preditivo é superior ou igual a 2 e inferior ou igual a 3. O modo de atribuir valores preditivos e os itens das tabelas de referência não estão limitados aos utilizados no Quadro 5. O codificador 206 de números de coeficientes recorre, como referência, à tabela de código e à tabela VLC, que são seleccionadas pelo processamento acima e efectua uma codificação de comprimento variável do número de coeficientes no bloco actual introduzido. O codificador 206 de números de coeficientes transforma, em primeiro lugar, o número de coeficientes num número de código utilizando a tabela de código e, em seguida, transforma-o num código de comprimento variável que corresponde ao número de código, utilizando a tabela VLC. A Fig. 5 é um 21 diagrama de padrões que mostra um exemplo de codificação quando o valor preditivo calculado pela unidade 201 de cálculo preditivo é "6" e o número dos coeficientes no bloco actual é "4". Selecciona-se uma tabela de código 3, mostrada na Fig. 5, na unidade 203 de selecção de tabelas de código utilizando o Quadro 3 e o Quadro 2 de acordo com o valor preditivo "6" e selecciona-se também uma tabela 3 VLC, mostrada na Fig. 5, na unidade 204 de selecção de tabelas VLC utilizando o Quadro 5 e o Quadro 4. O codificador 206 de números de coeficientes transforma o número dos coeficientes "4" introduzido num número de código "2" de acordo com a tabela de código 3 e, além disso, cria uma corrente de bits definitiva "0100" de acordo com a tabela 3 VLC.
Em seguida, vão explicar-se os pormenores de um processamento de armazenamento de número de coeficientes efectuado pela unidade 110 de armazenamento de números de coeficientes. A Fig. 6A é um diagrama de padrões que mostra blocos de referência em relação a um macrobloco actual a ser codificado na unidade 201 de cálculo de valores preditivos. Aqui, uma margem a negro contendo os blocos codificados B1-B16 mostra o macrobloco actual, enquanto uma secção a tracejado mostra os blocos de referência em relação ao macrobloco actual. De igual modo, os números atribuídos aos blocos indicam a ordem de codificação no macrobloco. A unidade 110 de armazenamento de números de coeficientes, por exemplo, no início do processamento do macrobloco actual, mostrado na Fig. 6A, armazena os números de coeficientes detectados pela unidade 109 de detecção de números de coeficientes, pelo menos, para os blocos de referência mostrados na Fig. 6A que são necessários para o macrobloco actual. 22
Nomeadamente, a unidade 110 de armazenamento de números de coeficientes armazena os números de coeficientes detectados de acordo com os blocos do macrobloco actual (Bl, B2, B3, ... e B16) que vão ser processados sequencialmente. Por exemplo, quando o bloco actual é um bloco B6, a unidade 110 de armazenamento de números de coeficientes armazena os números de cada coeficiente de Bl, B2, B3, B4 e B5 já processados além dos blocos de referência mostrados em tracejado na Fig. 6A. Em seguida, a unidade 110 de armazenamento de números de coeficientes armazena o número de coeficientes deste bloco B6 quando este é detectado pela unidade 109 de detecção de números de coeficientes. Deste modo, a unidade 110 de armazenamento de números de coeficientes armazena os números de coeficientes detectados dos blocos nos macroblocos actuais (Bl, B2, B3, ... e B16) que vão ser processados sequencialmente.
Em seguida, por exemplo, quando o macrobloco actual é um macrobloco MB11, mostrado na Fig. 2, a unidade 110 de armazenamento de números de coeficientes armazena, pelo menos, os números de coeficientes dos blocos numa fila inferior e numa coluna à direita (blocos a tracejado) do macrobloco MB11, como mostrado na Fig. 7A, quando o processamento do macrobloco MB11 está finalizado e prossegue para o macrobloco MB12 seguinte. Depois, quando o processamento do macrobloco MB12 se finaliza e o processamento segue para o macrobloco MB13 seguinte, a unidade 110 de armazenamento de números de coeficientes armazena, pelo menos e do mesmo modo, os números de coeficientes para os blocos situados na fila inferior e na coluna à direita do macrobloco MB12, bem como os números de coeficientes dos blocos na fila inferior do macrobloco MB11 (blocos a tracejado) como mostrado na Fig. 7B. 23
Por exemplo, quando o macrobloco actual está situado na margem direita da imagem como o macrobloco MB9 mostrado na Fig. 2B, a unidade 110 de armazenamento de números de coeficientes armazena, pelo menos, os números de coeficientes dos blocos na fila inferior do macrobloco MB9 (blocos a tracejado), como mostrado na Fig. 7B, quando o processamento do macrobloco MB9 se finaliza e o processamento segue para o macrobloco MB10 seguinte.
Quando o macrobloco actual está situado na margem inferior da imagem, como o MBm mostrado na Fig. 2B, a unidade 110 de armazenamento de números de coeficientes armazena, pelo menos, os números de coeficientes dos blocos na coluna direita do macrobloco MBm, como mostrado na Fig. 7C, quando o processamento do macrobloco MBm se finaliza e o processamento continua para o macrobloco MBn seguinte. A unidade 110 de armazenamento de números de coeficientes, deste modo, armazena os números de coeficientes para os blocos aos quais se refere. É possível apagar, num instante de tempo arbitrário, a informação sobre o número de coeficientes dos blocos que não vão ser armazenados, conforme a explicação acima, se deixarem de ser utilizados com referência. Por exemplo, é possível apagar essa informação quando o processamento continua para o macrobloco seguinte bem como enquanto se efectua o processamento do macrobloco. De igual modo, os números de coeficientes nos blocos que deixaram de ser utilizados como referência nem sempre precisam de ser apagados. Por exemplo, a unidade 110 de armazenamento de números de coeficientes pode identificar os números de coeficientes nos blocos aos quais se deixa de fazer referência como desnecessários e pode escrever, caso necessário, por cima destes. É explicado acima que é possível recorrer aos números de coeficientes dos blocos codificados armazenando-os na unidade 110 de armazenamento de números de coeficientes. Pode utilizar-se, caso necessário, um sistema para calcular o número de coeficientes armazenando, não os valores do número de coeficientes propriamente ditos mas, por exemplo, os valores dos coeficientes nos blocos, que são transformados em componentes de frequência espaciais.
No presente exemplo, é possível, como mencionado anteriormente, calcular um valor preditivo utilizando os números de coeficientes nos blocos adjacentes codificados de modo a efectuar, eficientemente, a codificação do número de coeficientes, mesmo no que se refere a imagens cuja probabilidade de aparição dos coeficientes não é regular quando se refere, de um modo adaptativo, à tabela de código e à tabela VLC de acordo com o valor preditivo.
De igual modo, esta pode, como descrito anteriormente, corresponder a uma flutuação de uma posição em que a probabilidade de aparição do número de coeficientes é a mais elevada no que se refere à tabela de código efectuando-se uma comutação entre estas de acordo com o valor preditivo. Também pode corresponder à dimensão da dispersão da probabilidade de aparição do número de coeficientes ao comutar as tabelas VLC destinadas a servir de referência de acordo com o valor preditivo. Consequentemente, é possível efectuar, de um modo efectivo, a codificação do número de coeficientes. 25
Também é possível utilizar apenas dois blocos situados na posição dos blocos B e D para um bloco X actual a codificar, como mostrado na Fig. 4B, em vez de utilizar três blocos vizinhos como blocos de referência, como mostrado na Fig. 4A, na unidade 201 de cálculo de valores preditivos. Faz-se uma alteração no que se refere aos blocos de referência, como no Quadro 6, quando ocorre uma situação em que um de dois blocos na posição dos blocos B e D não está nem codificado, nem situado fora da imagem nem fora do segmento. <Quadro 6> B D Bloco de referência O o B, D X o D o X B X X Nenhum
No que se refere aos símbolos no Quadro 6, um símbolo O significa um bloco codificado e um símbolo X significa um bloco que não pode servir de referência dado que não está codificado nem situado fora da imagem nem fora do segmento, como no Quadro 1. 0 Quadro 6 mostra uma relação entre estados dos blocos de referência e o(s) bloco (s) que podem servir como referência sendo que, no entanto, as configurações não estão limitadas a isto. Se não se encontrarem blocos de referência, pode ser dado directamente como um valor preditivo ou um valor 0 ou qualquer outro valor arbitrário. Neste caso, a unidade 110 de 26 armazenamento de números de coeficientes apenas pode armazenar os números de coeficientes detectados na unidade 109 de detecção de números de coeficientes, pelo menos, para os blocos de referência mostrados na Fig. 6B, que são necessários para 0 macrobloco actual.
Também é possível, enquanto método para calcular um valor preditivo na unidade 201 de cálculo de valores preditivos, por exemplo, seleccionar um método óptimo de acordo com cada sequência, cada GOP, cada imagem ou cada segmento, em vez de fixar o método de modo a utilizar uma média de valores, um valor máximo, um valor mínimo ou um valor médio. O código para identificar o método de cálculo então seleccionado é adicionado a uma secção do cabeçalho da sequência, do GOP, da imagem ou do segmento. O segmento é uma imagem dividida numa pluralidade de secções. Uma secção de uma coluna numa direcção transversal seccionada numa base macrobloco-a-macrobloco é um exemplo do que foi dito.
Também é possível seleccionar, por exemplo, uma média de valores, um valor máximo, um valor mínimo ou um valor médio de acordo com a média de valores do número de coeficientes nos blocos de referência codificados. O Quadro 7 mostra os seus critérios de selecção. 27 <Quadro 7> Média de valores Método de cálculo dos valores preditivos 0~4 Valor mínimo 5~8 Valor médio 9~16 Valor máximo
De acordo com este exemplo, um valor mínimo dos números de coeficientes de mais do que um bloco de referência é aplicado como um valor preditivo quando, por exemplo, uma média de valores é inferior ou igual a 4 e um valor médio é aplicado como um valor preditivo quando a média de valores é superior ou igual a 5 e inferior ou igual a 8. Os efeitos positivos para melhorar a eficiência de codificação podem ser obtidos em ambos os casos: seleccionando um valor máximo na medida em que uma probabilidade de aparecimento de maiores números de coeficientes se torna mais elevada nos blocos em que a etapa de quantificação é pequena e os movimentos são complicados; e seleccionando um valor mínimo na medida em que uma probabilidade de aparecimento de menores números de coeficientes se torna mais elevada nos blocos em que a etapa de quantificação é inversamente grande e o movimento é simples. A forma de atribuição do valor médio ou dos itens indicados como métodos de cálculo de valores preditivos não está limitada aos indicados no Quadro 7. 0 codificador 111 de números de coeficientes no presente exemplo efectua uma codificação de comprimento variável para o valor do número de coeficientes propriamente dito. A unidade 207 de cálculo de diferenças pode, no entanto, calcular um valor de diferença entre o valor preditivo calculado na unidade 201 de 28 cálculo de valores preditivos e o valor do número de coeficientes que é introduzido de modo a que se efectue uma codificação para o valor obtido com o mesmo processamento, como descrito no exemplo acima. Os efeitos positivos podem ser obtidos para melhorar a eficiência de codificação para uma imagem na qual uma alteração no número de coeficientes entre os blocos circundantes se torna mais pequena quando as alterações na luminância e na crominância são monótonas ao longo do ecrã.
De igual modo, o codificador 111 de números de coeficientes efectua uma codificação ao comutar a tabela de código e a tabela VLC de acordo com o valor preditivo com base no número de coeficientes nos blocos vizinhos; no entanto, estas tabelas podem não ser comutadas mas fixas. Esta acção pode ser efectuada utilizando apenas uma unidade de armazenamento que tem um determinado tipo de tabelas de código ou um determinado tipo de tabelas VLC em vez de se utilizarem unidades de selecção de tabelas. A Fig. 8A é um diagrama de blocos que mostra uma estrutura do codificador 111 de números de coeficientes para efectuar uma codificação de comprimento variável do número de coeficientes ao fixar apenas uma tabela de código. De igual modo, a Fig. 8B é um diagrama de blocos que mostra uma estrutura do codificador 111 de números de coeficientes para efectuar uma codificação de comprimento variável do número de coeficientes ao fixar apenas uma tabela VLC. No caso de se fixar apenas uma tabela de código, o codificador 111 de números de coeficientes, como mostrado na Fig. 8A, inclui uma unidade 301 de armazenamento de tabelas de código em vez da unidade 202 de armazenamento de tabelas de código e da unidade 203 de selecção de tabelas de código mostradas na Fig. 3A. A unidade 301 de armazenamento de tabelas de código tem um tipo de tabela de código. Em seguida, o codificador 206 de números de coeficientes 29 transforma, em primeiro lugar, o número de coeficientes num número de código utilizando uma tabela de código armazenada na unidade 301 de armazenamento de tabelas de código e, em seguida, transforma o número de código num código de comprimento variável utilizando uma tabela VLC seleccionada pela unidade 204 de selecção de tabelas VLC.
Por outro lado, o codificador 111 de números de coeficientes, como mostrado na Fig. 8B, inclui uma unidade 302 de armazenamento de tabelas VLC em vez da unidade 2 05 de armazenamento de tabelas VLC e da unidade 204 de selecção de tabelas VLC mostradas na Fig. 3A. A unidade 302 de armazenamento de tabelas VLC tem um tipo de tabela VLC. Em seguida, o codificador 206 de números de coeficientes transforma, em primeiro lugar, o número de coeficientes num número de código utilizando a tabela de código seleccionada pela unidade 203 de selecção de tabelas de código e, em seguida, transforma o número de código num código de comprimento variável utilizando a tabela VLC armazenada na unidade 302 de armazenamento de tabelas VLC.
Deste modo, ao fixar a tabela de código ou a tabela VLC em vez de se comutar entre elas, a produtividade para a comutação de tabelas pode ser reduzida ou uma quantidade de memória para armazenamento de uma pluralidade de tabelas pode ser reduzida apesar dos efeitos da eficiência de codificação diminuírem mais ou menos.
De igual modo, o codificador 111 de números de coeficientes pode efectuar uma codificação de comprimento variável ao comutar apenas as tabelas VLC de acordo com o valor preditivo com base nos números de coeficientes nos blocos vizinhos sem utilizar tabelas de código. A Fig. 8C é um diagrama de blocos que mostra 30 uma estrutura do codificador 111 de números de coeficientes para efectuar uma codificação de comprimento variável do número de coeficientes utilizando apenas as tabelas VLC sem tabelas de código. Neste caso, como mostrado na Fig. 8C, o codificador 111 de números de coeficientes não inclui a unidade 202 de armazenamento de tabelas de código ou a unidade 203 de selecção de tabelas de código. O codificador 111 de números de coeficientes selecciona uma tabela VLC destinada a ser realmente utilizada a partir de uma pluralidade de tabelas VLC armazenadas na unidade 304 de armazenamento de tabelas VLC. Em seguida, o codificador 206 de números de coeficientes transforma directamente o número de coeficientes num código de comprimento variável sem o transformar no número de código como mostrado anteriormente. Neste caso, nos exemplos das tabelas VLC mostradas no Quadro 4, a parte mostrada como números de código é substituída por valores de número de coeficientes.
De igual modo, o caso em que o codificador 111 de números de coeficientes efectua uma codificação de comprimento variável utilizando um valor de diferença entre um valor preditivo e um valor de número de coeficientes em vez de um valor de número de coeficientes pode ser implementado do mesmo modo. A Fig. 9 é um diagrama de blocos que mostra, como exemplo disso, uma estrutura do codificador 111 de números de coeficientes para efectuar uma codificação de comprimento variável para um valor de diferença entre o valor preditivo e o número de coeficientes ao fixar uma tabela de código e uma tabela VLC. Neste caso, o codificador 111 de números de coeficientes, tal como na Fig. 9, inclui uma unidade 301 de armazenamento de tabelas de código em vez da unidade 202 de armazenamento de tabelas de código e da unidade 203 de selecção de tabelas de código mostradas na Fig. 3A, bem como uma unidade 302 de armazenamento de tabelas VLC em vez da 31 unidade 205 de armazenamento de tabelas VLC e da unidade 204 de selecção de tabelas VLC. A unidade 301 de armazenamento de tabelas de código tem um tipo de tabelas de código, enquanto a unidade 302 de armazenamento de tabelas VLC tem um tipo de tabelas VLC. Em seguida, o codificador 206 de números de coeficientes transforma, em primeiro lugar, o valor de diferença entre o número de coeficientes e o valor preditivo num número de código utilizando a tabela de código armazenada na unidade 301 de armazenamento de tabelas de código e, em seguida, transforma o número de código num código de comprimento variável utilizando a tabela VLC armazenada na unidade 302 de armazenamento de tabelas VLC. (Segundo exemplo) A estrutura do dispositivo de codificação de imagem e as linhas gerais do processamento de codificação de acordo com o presente exemplo são exactamente as mesmas que as descritas no primeiro exemplo, com excepção do codificador 111 de números de coeficientes mostrado na Fig. 1. Neste caso, no que se refere ao processamento de codificação de comprimento variável do número de coeficientes efectuado pelo codificador 111 de números de coeficientes no segundo exemplo, os pormenores são explicados utilizando as Figs. 10 e 11. A Fig. 10A é um diagrama de blocos que mostra, em pormenor, uma estrutura interna do codificador 111 de números de coeficientes.
Como mostrado na Fig. 10A, o codificador 111 de números de coeficientes inclui uma unidade 701 de geração de tabelas de 32 código em vez da unidade 202 de armazenamento de tabelas de código e da unidade 203 de selecção de tabelas de código mostradas na Fig. 3A. Os números de coeficientes nos blocos codificados são introduzidos na unidade 701 de geração de tabelas de código a partir da unidade 110 de armazenamento de números de coeficientes. A unidade 701 de geração de tabelas de código conta o número dos blocos codificados que têm 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 ao atribuir números de código em ordem descendente a começar por um número de coeficientes que registaram a frequência mais elevada com base na estatística. A Fig. 11A é um diagrama de padrões que apresenta uma posição dos blocos codificados seleccionados como alvo para estatística. Aqui, uma Pl, uma P3 e uma P4 são imagens em que se aplicou uma codificação de predição inter de imagem, enquanto a 12 é uma imagem à qual se aplicou uma codificação de predição intra de imagem. Supondo que um bloco actual pertence a P3, todos os blocos, que são codificados utilizando o mesmo método que foi utilizado para o bloco actual, contidos na Pl, que é uma imagem que precede imediatamente a imagem actual, são seleccionados como alvo para estatística. O caso em que os blocos equivalentes de uma imagem, incluindo os blocos codificados na imagem actual, são seleccionados como alvo para estatística, como na Fig. 11B, podem ser tratados do mesmo modo. De igual modo, uma tabela destinada a ser utilizada na condição inicial em ordem ascendente a iniciar no número 0 irá ser utilizada como uma tabela de código quando os blocos codificados equivalentes a uma imagem, que podem ser seleccionados como alvo para estatística, não existem. Aqui, os blocos equivalentes a uma imagem são seleccionados como alvo para estatística, no entanto, o caso em que o número de blocos não correspondentes a estes é utilizado como um parâmetro pode ser tratado do mesmo 33 modo. No caso de se aplicar um método de referência, como mostrado na Fig. 11A, de modo a gerar uma tabela de código, a tabela pode ser gerada apenas uma vez quando se inicia a codificação da imagem actual.
Entretanto, os números de coeficientes nos blocos codificados situados na periferia são introduzidos na unidade 201 de cálculo de valores preditivos. A unidade 201 de cálculo de valores preditivos determina o valor preditivo ao calcular uma média de valores com base nestes valores, como descrito no primeiro exemplo. Pode utilizar-se um valor máximo, um valor mínimo ou um valor médio em vez da média de valores como método para determinar o valor preditivo. Os blocos codificados utilizados, em seguida, como referência, são determinados de acordo com o Quadro 1, utilizando três blocos na posição dos blocos B, C e D para o bloco X actual mostrado na Fig. 4A no primeiro exemplo. O Quadro 1 mostra uma relação entre estados dos blocos de referência e o(s) bloco (s) a que se pode fazer referência, no entanto, as configurações não estão limitadas a isto. Um valor 0 ou um qualquer outro valor arbitrário é dado directamente como um valor preditivo quando não se encontram blocos de referência.
O valor preditivo calculado pela unidade 201 de cálculo de valores preditivos só é utilizado na unidade 204 de selecção de tabelas VLC. A unidade 204 de selecção de tabelas VLC selecciona, como no primeiro exemplo, de acordo com este valor preditivo, uma tabela VLC para codificar o número de
coeficientes a partir de uma pluralidade de tabelas VLC preparadas antecipadamente na unidade 205 de armazenamento de tabelas VLC, como mostrado no Quadro 4, de acordo com os critérios de selecção mostrados no Quadro 5. 34 0 codificador 206 de números de coeficientes refere-se à tabela de código criada pela unidade 701 de geração de tabelas de código e à tabela VLC seleccionada pela unidade 204 de selecção de tabelas VLC e, em seguida, efectua uma codificação de comprimento variável do número de coeficientes no bloco actual que é alvo de codificação e que é introduzido da mesma forma que descrita no primeiro exemplo.
Deste modo, no presente exemplo, cria-se uma tabela de código efectuando estatísticas dos números de coeficientes nos blocos codificados e, além disso, determina-se uma tabela VLC de acordo com o valor preditivo calculado a partir do número dos coeficientes nos blocos codificados, e referindo-se a ambas as tabelas é possivel efectuar eficientemente a codificação do número de coeficientes mesmo para uma imagem cuja frequência de aparição de coeficientes não seja regular.
Como no primeiro exemplo, também é possivel determinar os blocos codificados utilizados como referência na unidade 201 de cálculo de valores preditivos, como no primeiro exemplo, de acordo com o Quadro 6 utilizando apenas dois blocos situados na posição dos blocos B e D para o bloco X actual, mostrado na Fig. 4B, em vez de utilizar três blocos vizinhos, como mostrado na Fig. 4A. O Quadro 6 mostra uma relação entre estados dos blocos de referência e o(s) bloco (s) aos quais se pode fazer referência sendo que, no entanto, as configurações não estão limitadas a isto. Um valor 0 ou um qualquer outro valor arbitrário é dado directamente como valor preditivo quando não se encontram blocos de referência. 35
Como no primeiro exemplo, também é possível seleccionar, por exemplo, uma média de valores, um valor máximo, um valor mínimo ou um valor médio de acordo com uma média de valores dos números de coeficientes nos blocos de referência codificados como um método para calcular um valor preditivo na unidade 201 de cálculo de valores preditivos, como no primeiro exemplo. O Quadro 7 mostra os critérios de selecção, no entanto, uma forma de atribuição da média de valores e itens indicados como métodos de cálculo de valores preditivos não estão limitados a isto.
No presente exemplo, o codificador 111 de números de coeficientes efectua uma codificação de comprimento variável para o valor do número de coeficientes propriamente dito. No entanto, como no primeiro exemplo, é possível, como mostrado na Fig. 10, que um valor de diferença entre o valor preditivo calculado pela unidade 201 de cálculo de valores preditivos e o valor introduzido do número de coeficientes seja calculado pela unidade 207 de subtracção e a codificação de comprimento variável seja efectuada para o valor obtido utilizando o mesmo processamento que descrito anteriormente.
De igual modo, no primeiro exemplo, o codificador 111 de números de coeficientes efectua uma codificação de comprimento variável comutando as tabelas VLC de acordo com o valor preditivo baseado nos números de coeficientes nos blocos vizinhos. É, no entanto, possível fixar a tabela em vez de comutar as tabelas VLC, como no primeiro exemplo. Neste caso, esta acção é realizada utilizando apenas uma unidade de armazenamento de tabelas VLC que tem um determinado tipo de tabelas VLC em vez de utilizar a unidade de selecção de tabelas VLC. 36 (Terceiro exemplo) A estrutura do dispositivo de codificação de imagem e as linhas gerais do processamento de codificação de acordo com o presente exemplo são exactamente as mesmas gue as descritas no primeiro exemplo, com excepção do codificador 111 de números de coeficientes mostrado na Fig. 1. Neste caso, no que se refere ao processamento de codificação de comprimento variável do número de coeficientes efectuado no codificador 111 de números de coeficientes no terceiro exemplo, os pormenores são explicados utilizando as Figs. 12A e 12B bem como os Quadros 8 e 9. A Fig. 12A é um diagrama de blocos que mostra, em pormenor, uma estrutura interna do codificador 111 de números de coeficientes.
Como mostrado na Fig. 12A, o codificador 111 de números de coeficientes não inclui a unidade 201 de cálculo de valores preditivos mostrada na Fig. 3A. Por conseguinte, uma unidade 901 de selecção de tabelas de código e uma unidade 902 de selecção de tabelas VLC seleccionam, deste modo, uma tabela a ser actualmente utilizada de um modo diferente do primeiro exemplo ao utilizar directamente os números de coeficientes nos blocos codificados, sem utilizar um valor preditivo. Quanto aos blocos codificados então utilizados como referência, como mostrado na Fig. 4B, apenas se utilizam dois blocos na posição do bloco B (acima) e do bloco D (esquerda) para o bloco X actual. No entanto, quando os blocos situados acima e à esquerda não estão codificados nem situados fora da imagem fora do segmento, podem ser substituídos por um valor 0 ou por qualquer outro valor arbitrário. 37 0 Quadro 8 mostra um método de selecção de uma tabela de código na unidade 901 de selecção de tabelas de código. <Quadro 8> Número de coeficientes (acima) 0~5 6~16 Número de 0~5 Tabela 1 de Tabela 2 de coeficientes código código (esquerda) 6 ~ 16 Tabela 3 de Tabela 4 de código código A unidade 901 de selecção de tabelas de código classifica em dois grupos o número respectivo de coeficientes nos blocos situados acima e à esquerda do bloco actual, como mostrado no Quadro 8, de acordo com o valor e selecciona uma tabela utilizando uma combinação das quatro assim formadas. Por exemplo, selecciona-se uma tabela 2 de código quando o número dos coeficientes no bloco esquerdo é 3 e o número dos coeficientes no bloco acima é 8. O método de classificação do número dos coeficientes no bloco superior e esquerdo e a forma de atribuição de tabelas de código não estão limitados aos utilizados no Quadro 8. O Quadro 9 mostra um método de selecção de uma tabela VLC na unidade 902 de selecção de tabelas VLC. 38 <Quadro 9> Número de coeficientes (acima) 0~5 6~16 Número de 0~5 Tabela 1 VLC Tabela 2 VLC coeficientes 6~16 Tabela 3 VLC Tabela 4 VLC (esquerda) A unidade 902 de selecção de tabelas VLC selecciona uma tabela VLC para uma referência actual utilizando o método de selecção como mostrado no Quadro 9, como no caso da unidade 901 de selecção de tabelas de código. 0 codificador 206 de números de coeficientes refere-se à tabela de código seleccionada pela unidade 901 de selecção de tabelas de código e à tabela VLC seleccionada pela unidade 902 de selecção de tabelas VLC de modo a efectuar uma codificação de comprimento variável para o número de coeficientes no bloco actual que é introduzido da mesma forma que no primeiro exemplo.
Deste modo, no presente exemplo, ao classificar o número de coeficientes nos blocos codificados situados acima e à esquerda do bloco actual em "n" grupos de acordo com o valor com referência à tabela de código e à tabela VLC de acordo com a combinação de N x N modos então formados e efectuando uma comutação entre estes, de modo adaptativo, torna possível efectuar eficientemente a codificação do número de coeficientes para a imagem cuja frequência de aparição de coeficientes é irregular. 39
No presente exemplo, o codificador 111 de números de coeficientes efectua uma codificação de comprimento variável para o valor do número de coeficientes propriamente dito. A unidade 207 de cálculo de diferença pode, no entanto, calcular um valor de diferença entre o valor preditivo calculado na unidade 201 de cálculo de valores preditivos, como mostrado na Fig. 12B, como no primeiro exemplo e um valor do número de coeficientes introduzido de modo a efectuar uma codificação de comprimento variável.
De igual modo, no presente exemplo, o codificador 111 de números de coeficientes efectua uma codificação de comprimento variável ao comutar a tabela de código e a tabela VLC de acordo com os números de coeficientes nos blocos vizinhos. É, no entanto, possível fixar ambas as tabelas em vez de as comutar como no primeiro exemplo. Neste caso, a codificação de comprimento variável é efectuada utilizando uma unidade de armazenamento que tem um determinado tipo de tabelas de código ou um determinado tipo de tabelas VLC em vez de utilizar unidades de selecção de tabelas. Além disso, também é possível efectuar uma codificação de comprimento variável comutando apenas as tabelas VLC de acordo com os números de coeficientes nos blocos vizinhos sem utilizar tabelas de código, como no primeiro exemplo. 40 (Quarto exemplo) A estrutura do dispositivo de codificação de imagem e as linhas gerais do processamento de codificação de acordo com o presente exemplo são exactamente as mesmas gue as descritas no primeiro exemplo, com excepção do codificador 111 de números de coeficientes mostrado na Fig. 1. Aqui, no que se refere ao processamento de codificação de comprimento variável do número de coeficientes efectuado pelo codificador 111 de números de coeficientes no quarto exemplo, os pormenores são explicados utilizando as Figs.13 e 14. A Fig. 13A é um diagrama de blocos que mostra, em pormenor, uma estrutura interna do codificador 111 de números de coeficientes. 0 codificador 111 de números de coeficientes, como mostrado na Fig. 13A, inclui uma unidade 1001 de selecção de tabelas em vez da unidade 201 de cálculo de valores preditivos, da unidade 203 de selecção de tabelas de código e da unidade 204 de selecção de tabelas VLC mostradas na Fig. 3A. A unidade 1001 de selecção de tabelas utiliza directamente o número de coeficientes nos blocos codificados sem utilizar um valor preditivo de modo a seleccionar tabelas para uma utilização real avaliando ao mesmo tempo, uma tabela de código e uma tabela VLC, o que é diferente do primeiro exemplo. No que se refere aos blocos codificados então utilizados como referência, os três blocos na posição dos blocos B, C e D para o bloco X actual são utilizados, tal como na Fig. 4A. No entanto, quando os blocos situados como estes não estão nem codificados nem situados fora da imagem nem fora do segmento, então podem ser substituídos ou por um valor 0 por um qualquer outro valor arbitrário. 41 A unidade 1001 de selecção de tabelas calcula uma soma de um comprimento de uma corrente de bits que é criada em resultado da codificação dos números de coeficientes nos blocos de referência utilizando a tabela de código e a tabela VLC ao mesmo tempo e determina-a enquanto valor de avaliação. A Fig. 14 é um diagrama de padrões que mostra um método de execução de codificação para os números de coeficientes nos três blocos de referência utilizando as tabelas de código e as tabelas VLC e calcula a soma do comprimento da corrente de bits obtida de modo a determiná-la como o valor de estimação. Em seguida, a unidade 1001 de selecção de tabelas efectua este processamento em todas as combinações das tabelas de código e das tabelas VLC armazenadas na unidade 202 de armazenamento de tabelas de código bem como na unidade 205 de armazenamento de tabelas VLC e selecciona uma combinação de uma tabela de código com uma tabela VLC na qual o valor de avaliação obtido é o mais pequeno. O codificador 206 de números de coeficientes refere-se à tabela de código e à tabela VLC seleccionadas pela unidade 1001 de selecção de tabelas e efectua uma codificação de comprimento variável do número de coeficientes no bloco actual que é introduzido da mesma forma que descrita no primeiro exemplo.
No presente exemplo, como mostrado anteriormente, é possível efectuar uma codificação para os números de coeficientes nos blocos vizinhos que são codificados utilizando a tabela de código e a tabela VLC e determinar a soma do comprimento da corrente de bits nesse instante como um valor de estimação, de modo a efectuar eficientemente a codificação do número de coeficientes mesmo para a imagem cuja frequência de aparição de coeficientes é irregular. 42
No que se refere aos blocos codificados então utilizados como referência, o caso em que se utilizam apenas dois blocos na posição dos blocos B e D em vez de utilizar três blocos na posição dos blocos B, C e D para o bloco X actual, como mostrado na Fig. 4A, pode ser tratado do mesmo modo. No que a isto se refere, quando os blocos situados acima e à esquerda não estão nem codificados nem situados fora da imagem ou fora do segmento, podem ser substituídos ou por um valor 0 ou por um qualquer outro valor arbitrário.
No presente exemplo, o codificador 111 de números de coeficientes efectua uma codificação de comprimento variável para o valor do número de coeficientes propriamente dito. No entanto, como no primeiro exemplo, é possível, como mostrado na Fig. 13, que um valor de diferença entre o valor preditivo calculado pela unidade 201 de cálculo de valores preditivos e o valor introduzido do número de coeficientes seja calculado pela unidade 207 de cálculo de valores de diferença e se efectue a codificação de comprimento variável para o valor obtido pelo mesmo processamento que descrito nos exemplos acima mencionados.
De igual modo, no presente exemplo, a tabela de código e a tabela VLC vão ser comutadas no codificador 111 de números de coeficientes, sendo, no entanto, possível fixar qualquer uma delas em vez de comutar entre elas. (Quinto exemplo) A Fig. 15 é um diagrama de blocos que mostra uma estrutura de um dispositivo de codificação de imagem no quinto exemplo que utiliza um método de codificação de imagem de acordo com a 43 presente invenção. Uma sequência de processamento de codificação é exactamente a mesma que no primeiro exemplo. A diferença, no entanto, é que o presente exemplo não utiliza a unidade 110 de armazenamento de números de coeficientes mas emprega o modo de predição inter de imagem no caso de codificação por predição inter de imagem e o modo de predição intra de imagem no caso de codificação por predição intra de imagem enquanto refere-se à informação num codificador 1201 de números de coeficientes em vez de utilizar o número dos coeficientes nos blocos codificados como no primeiro exemplo.
Neste caso, no que se refere a uma explicação do processamento de codificação de comprimento variável no codificador 1201 de números de coeficientes mostrado na Fig. 15, os pormenores são explicados utilizando a Fig. 16, Quadro 10 e Quadro 11. A Fig. 16 é um diagrama de blocos que mostra, em pormenor, uma estrutura interna do codificador 1201 de números de coeficientes.
Como mostrado na Fig. 16, o codificador 1201 de números de coeficientes não inclui a unidade 201 de cálculo de valores preditivos mostrada no Quadro 3A. Um modo de predição inter de imagem é introduzido, a partir de uma unidade 107 de predição inter de imagem e um modo de predição intra de imagem é introduzido, a partir de uma unidade 108 de predição intra de imagem, numa unidade 1301 de selecção de tabelas de código e numa unidade 1302 de selecção de tabelas VLC. Consequentemente, a unidade 1301 de selecção de tabelas de código selecciona uma tabela com base no modo: o modo de predição inter de imagem para a predição inter de imagem e o modo de predição intra de imagem 44 para a predição intra de imagem. 0 Quadro 10 mostra um método de selecção para tabelas de código na unidade 1301 de selecção de tabelas de código. <Quadro 10>
Tabela de referência Modo de predição inter de imagem Modo de predição intra de imagem Tabela 1 de código 16x16, 16x8, 8x16 Predição plana Tabela 2 de código 8x8 Predição oblíqua Tabela 3 de código 8x4, 4x8 Predição oblíqua Tabela 4 de código 4x4 Predição vertical e horizontal
Por exemplo, no caso em que a imagem actual é codificada utilizando predição inter de imagem, selecciona-se uma tabela 2 de código de acordo com a codificação de comprimento variável do número de coeficientes quando se selecciona uma predição do bloco actual com um tamanho de 8x8. Os itens não estão limitados aos utilizados no Quadro 10. O Quadro 11 mostra um método de selecção na unidade 1302 de selecção de tabelas VLC. 45 <Quadro 11>
Tabela de referência Modo de predição inter de imagem Modo de predição intra de imagem Tabela 1 de VLC 16x16, 16x8, 8x16 Predição plana Tabela 2 de VLC 8x8 Predição obliqua Tabela 3 de VLC 8x4, 4x8 Predição obliqua Tabela 4 de VLC 4x4 Predição vertical e horizontal A unidade 1302 de selecção de tabelas VLC selecciona uma tabela VLC como referência utilizando um método de selecção mostrado no Quadro 11 como no caso da unidade 1301 de selecção de tabelas de código. 0 codificador 206 dos números de coeficientes refere-se à tabela de código seleccionada pela unidade 1301 de selecção de tabelas de código e à tabela VLC seleccionada pela unidade 1302 de selecção de tabelas VLC e efectua uma codificação de comprimento variável para os números de coeficientes no bloco actual que é introduzido da mesma forma que no primeiro exemplo. O presente exemplo, como mostrado anteriormente, mostrou um método de codificação que efectua uma codificação eficiente do número de coeficientes mesmo para a imagem cuja frequência de aparição de coeficientes é irregular, com referência à tabela de código e à tabela VLC efectuando, de modo adaptativo, uma comutação entre estas de acordo com o modo: modo de predição inter de imagem para uma codificação por predição inter de imagem e modo de predição intra de imagem para uma codificação por predição intra de imagem. 46
No presente exemplo, o codificador 1201 de números de coeficientes efectua uma codificação de comprimento variável para o valor do número de coeficientes propriamente dito como no primeiro exemplo. No entanto, é possível, como no primeiro exemplo, determinar um valor preditivo utilizando os números de coeficientes nos blocos vizinhos que estão codificados como no primeiro exemplo e obter um valor de diferença entre este valor preditivo e o valor introduzido do número de coeficientes de modo a efectuar uma codificação de comprimento variável para o valor obtido no mesmo processamento como nos exemplos acima mencionados.
De igual modo, no presente exemplo, o codificador 1201 de números de coeficientes efectua uma codificação de comprimento variável ao comutar a tabela de código e a tabela VLC. É, no entanto, possível, fixar qualquer uma delas em vez de efectuar a comutação de qualquer uma delas ou de ambas. Neste caso, esta acção é realizada preparando apenas uma unidade de armazenamento que tem um determinado tipo de tabelas de código ou um determinado tipo de tabelas VLC em vez de utilizar unidades de selecção de tabelas. (Primeira forma de realizaçao) A Fig. 17 é um diagrama de blocos que mostra uma estrutura de uma forma de realização de um dispositivo de descodificação de imagem que utiliza um método de descodificação de imagem de acordo com a presente invenção. A corrente de bits criada pelo dispositivo de codificação de imagem de acordo com o primeiro exemplo deverá ser introduzida aqui. 0 dispositivo de descodificação de imagem inclui uma unidade 1401 de análise de corrente de bits, uma unidade 1402 de armazenamento de números de coeficientes, um descodificador 1403 de números de coeficientes, um descodificador 1404 de valores de coeficientes, uma unidade 1405 de quantificação inversa, uma unidade 1406 de transformação ortogonal inversa, uma memória 1407 de trama, um descodificador 1408 de predição inter de imagem, um descodificador 1409 de predição intra de imagem e um comutador 1410. A unidade 1401 de análise de corrente de bits extrai da corrente de bits introduzida vários tipos de informação, tais como um modo de codificação, vectores de movimento utilizados para codificação, uma corrente de bits do número de coeficientes (mostrando o número de coeficientes um componente de frequência espacial que tem um valor diferente de 0 para cada bloco) e vários tipos de informação na corrente de bits do valor dos coeficientes. A unidade 1402 de armazenamento de números de coeficientes armazena os números de coeficientes dos blocos descodificados. O descodificador 1403 de números de coeficientes descodifica a corrente de bits dos números de coeficientes ao referir-se aos números de coeficientes nos blocos descodificados. 0 descodificador 1404 de valores de coeficientes descodifica a corrente de bits do valor dos coeficientes utilizando os números de coeficientes descodificados pelo descodificador 1403 de números de coeficientes. A unidade 1405 de quantificação inversa efectua a quantificação inversa dos coeficientes descodificados. A unidade 1406 de transformação ortogonal inversa efectua a transformação ortogonal inversa dos 48 dados quantificados inversamente e transforma-os em dados preditivos de imagem residual. 0 descodificador 1408 de predição inter de imagem cria dados de compensação de movimento de imagem com base nos vectores de movimento extraídos pela unidade 1401 de análise de corrente de bits, bem como imagens descodificadas, ou semelhantes, quando um macrobloco actual a descodificar é codificado com a predição inter de imagem. Uma unidade 1411 de cálculo de adição adiciona os dados preditivos de imagem residual introduzidos a partir da unidade 1406 de transformação ortogonal inversa aos dados de compensação de movimento de imagem introduzidos a partir do descodificador 1408 de predição inter de imagem de modo a criar dados de imagem descodificados. A memória 1407 de trama armazena os dados de imagem descodificados criados. O descodificador 1409 de predição intra de imagem efectua a predição intra de imagem utilizando informação existente nos blocos descodificados adjacentes de modo a criar dados de imagem descodificados quando o macrobloco actual é codificado com predição intra de imagem.
Em seguida, segue-se uma explicação de um funcionamento de um dispositivo de descodificação de imagem como construído acima.
Inicialmente, uma corrente de bits é introduzida na unidade 1401 de análise de corrente de bits. A unidade 1401 de análise de corrente de bits extrai da corrente de bits introduzida vários tipos de informação sobre vectores de movimento, uma corrente de bits do número de coeficientes e uma corrente de 49 bits do valor dos coeficientes e por ai fora. Em seguida, a unidade 1401 de análise de corrente de bits emite, respectivamente, o que se segue: os vectores de movimento para o descodificador 1408 de predição inter de imagem, a corrente de bits do número de coeficientes para o descodif icador 1403 de números de coeficientes e a corrente de bits do valor dos coeficientes para o descodificador 1404 de valores de coeficientes. O descodificador 1403 de números de coeficientes no qual a corrente de bits do número de coeficientes é introduzida descodifica esta corrente de bits como o número de coeficientes com um valor diferente de 0 para cada bloco. Neste caso, o descodificador 1403 de números de coeficientes efectua uma descodificação referindo-se aos números de coeficientes nos blocos descodificados armazenados na unidade 1402 de armazenamento de números de coeficientes com um método que vai ser explicado posteriormente. Em seguida, o descodificador 1404 de valores de coeficientes efectua a descodificação do valor dos coeficientes propriamente dito com referência às tabelas de código e às tabelas VLC necessárias para a descodificação de comprimento variável efectuando a comutação entre elas utilizando informação do número do coeficiente obtido pelo descodificador 1403 de números de coeficientes. O coeficiente obtido é transformado em dados preditivos de imagem residual pela unidade 1405 de quantificação inversa bem como pela unidade 1406 de transformação ortogonal inversa.
Os vectores de movimento extraídos pela unidade 1401 de análise de corrente de bits são introduzidos no descodificador 1408 de predição inter de imagem, quando um macrobloco actual a ser descodificado é codificado com predição inter de imagem. O 50 descodificador 1408 de predição inter de imagem cria dados de compensação de movimento de imagem ao descodificar dados de imagem das imagens descodificadas armazenadas na memória 1407 de trama como imagens de referência, com base na informação sobre os vectores de movimento. Os dados de compensação de movimento de imagem assim obtidos são criados como dados de imagem descodificados ao serem adicionados aos dados preditivos de imagem residual na unidade 1411 de cálculo de adição e, em seguida, armazenados na memória 1407 de trama.
Por outro lado, quando o macrobloco actual é codificado utilizando predição intra de imagem, a predição intra de imagem é efectuada utilizando informação sobre os blocos adjacentes descodificados pelo descodificador 1409 de predição intra de imagem e os dados de imagem descodificados são criados e armazenados na memória 1407 de trama. Em seguida, a memória 1407 de trama emite-os como uma imagem de saída definitiva por ordem de visualização.
As linhas gerais de um fluxo de descodificação foram explicadas acima. Em seguida, explica-se, pormenorizadamente, um processamento de descodificação do número de coeficientes efectuado pelo descodificador 1403 de números de coeficientes utilizando a Fig. 18 ~ Fig. 21. A Fig. 18A é um diagrama de blocos que mostra, em pormenor, uma estrutura interna do descodificador 1403 de números de coeficientes.
Aqui, mostra-se um exemplo em que se utilizam duas tabelas de entre uma tabela VLC e uma tabela de código para efectuar uma descodificação de comprimento variável dos números de 51 coeficientes. A tabela VLC é uma tabela utilizada para transformar códigos de comprimento variável numa corrente de bits num número de código enquanto a tabela de código é uma tabela utilizada para transformar o número de código obtido pela tabela VLC no número de coeficientes.
Como mostrado na Fig. 18A, o descodificador 1403 de números de coeficientes inclui uma unidade 1501 de cálculo de valores preditivos, uma unidade 1502 de armazenamento de tabelas de código, uma unidade 1503 de selecção de tabelas de código, uma unidade 1504 de selecção de tabelas VLC, uma unidade 1505 de armazenamento de tabelas VLC e um descodificador 1506 de números de coeficientes.
Em primeiro lugar, os números de coeficientes nos blocos descodificados situados na periferia são introduzidos a partir da unidade 1402 de armazenamento de números de coeficientes, como mostrado na Fig. 17, na unidade 1501 de cálculo de valores preditivos. A unidade 1501 de cálculo de valores preditivos determina um valor preditivo calculando uma média de valores destes valores. Pode utilizar-se um valor máximo, um valor mínimo ou um valor médio de acordo com o método de cálculo de valores preditivos para codificação. Os blocos descodificados aos quais se vai, de seguida, fazer referência são determinados seguindo o Quadro 1 utilizando três blocos na posição dos blocos B, C e D para o bloco X actual, mostrado na Fig. 4A, como no primeiro exemplo. Quanto aos símbolos no Quadro 1, um símbolo O significa um bloco codificado e um símbolo X significa um bloco a que não se pode fazer referência na medida em que não está nem descodificado nem situado fora da imagem ou fora do segmento. O Quadro 1 mostra uma relação entre estados dos blocos de referência e do(s) bloco(s) a que não se pode fazer referência 52 sendo que, no entanto, os padrões não estão limitadas a isto. De igual modo, se não se encontrarem blocos de referência, ou se dá directamente um valor 0 ou qualquer outro valor arbitrário como valor preditivo. A unidade 1503 de selecção de tabelas de código selecciona uma tabela de código a ser actualmente utilizada a partir de uma pluralidade de tabelas de código armazenadas na unidade 1502 de armazenamento de tabelas de código de acordo com o valor preditivo calculado pela unidade 1501 de cálculo de valores preditivos. 0 Quadro 2 é um exemplo de uma tabela de código que relaciona números de coeficientes e números de código preparados antecipadamente pela unidade 1502 de armazenamento de tabelas de código. Aqui, preparam-se quatro tipos de tabelas de código; no entanto, os números de tipos de tabelas e os valores indicados nas tabelas não estão limitados aos que são utilizados no Quadro 2. Neste caso, no entanto, deverá utilizar-se a mesma tabela que foi utilizada para codificação. De igual modo, o Quadro 3 mostra critérios de selecção para tabelas de código com base num valor preditivo. 0 modo de atribuir o valor preditivo ou os itens da tabela não está limitado aos que foram utilizados no Quadro 3. No entanto, deverá utilizar-se a mesma tabela que foi utilizada para codificação. A unidade 1504 de selecção de tabelas VLC selecciona uma tabela VLC a ser actualmente utilizada a partir de uma pluralidade de tabelas VLC armazenadas na unidade 1505 de armazenamento de tabelas VLC de acordo com o valor preditivo calculado pela unidade 1501 de cálculo de valores preditivos. 53 0 Quadro 4 mostra um exemplo de uma tabela VLC que relaciona números de coeficientes e números de código, preparados antecipadamente pela unidade 1505 de armazenamento de tabelas VLC. Aqui, preparam-se quatro tipos de tabelas VLC sendo que, no entanto, os números de tipos de tabelas e os valores indicados nas tabelas não estão limitados aos que são utilizados no Quadro 4. No entanto, neste caso, deverá utilizar-se a mesma tabela que foi utilizada para codificação. De igual modo, o Quadro 5 mostra critérios de selecção para tabelas VLC com base num valor preditivo. O modo de atribuir o valor preditivo e os itens indicados nas tabelas de referência não está limitado ao que foi utilizado no Quadro 5. No entanto, neste caso, está condicionado a utilizar a mesma tabela que foi utilizada para codificação. 0 descodificador 1506 de números de coeficientes refere-se à tabela de código bem como à tabela VLC seleccionada no processamento acima mencionado e efectua uma descodificação de comprimento variável para uma corrente de bits do número de coeficientes no bloco actual introduzido. 0 descodificador 1506 de números de coeficientes transforma, em primeiro lugar, o número de coeficientes num número de código utilizando a tabela VLC e, em seguida, transforma-o num valor do número de coeficientes correspondente ao número de código utilizando a tabela de código. A Fig. 19 é um diagrama de padrões que mostra um exemplo de descodificação quando um valor preditivo calculado na unidade 1501 de cálculo de valores preditivos é "6" e uma corrente de bits do número de coeficientes no bloco actual é "0100". Sendo o valor preditivo "6", a unidade 1503 de selecção de tabelas de código selecciona uma tabela de código 3 mostrada na Fig. 19 utilizando o Quadro 3 e o Quadro 2, e a unidade 1504 de selecção de tabelas VLC selecciona uma tabela 3 VLC mostrada 54 na Fig. 19 utilizando o Quadro 5 e o quadro 4. 0 descodificador 1506 de números de coeficientes transforma a corrente de bits "0100" introduzida num número de código "2" de acordo com a tabela 3 VLC e, em seguida, determina o número definitivo de coeficientes "4" de acordo com a tabela 3 de código.
Descreve-se, em seguida pormenorizadamente, o processamento do armazenamento do número de coeficientes efectuado pela unidade 1402 de armazenamento de número de coeficientes, pormenores explicados. A Fig. 6A utilizada para a descrição do primeiro exemplo é aqui utilizada sendo que, no entanto, um limite a negro contendo blocos codificados B1-B16 mostra um macrobloco actual a ser descodificado enquanto os blocos a tracejado mostram blocos de referência para o macrobloco actual. Os números colocados nos blocos indicam uma ordem de descodificação efectuada no interior do macrobloco. A unidade 1402 de armazenamento de números de coeficientes armazena os números de coeficientes descodificados pelo descodificador 1403 de números de coeficientes, pelo menos para os blocos de referência a tracejado, como mostrado na Fig. 6A, necessários para o macrobloco actual no instante em que se inicia o processamento do macrobloco actual mostrado na Fig. 6A. Nomeadamente, a unidade 1402 de números de coeficientes armazena o número de coeficientes detectado dos blocos do macrobloco actual (Bl, B2, B3, ... e B16) a serem processados sequencialmente. Por exemplo, quando um bloco B6 é um bloco actual, a unidade 1402 de armazenamento de números de coeficientes armazena os números de cada coeficiente do bloco Bl, B2, B3, B4 e B5 já processados, além dos que pertencem aos blocos de referência, como mostrado na Fig. 6A. Quando o descodificador 1403 de números de coeficientes descodifica o 55 número de coeficientes do bloco B6, a unidade 1402 de armazenamento de números de coeficientes armazena-o. A unidade 1402 de armazenamento de números de coeficientes armazena, deste modo, os números de coeficientes dos blocos no macrobloco actual, a serem processados sequencialmente.
Quando um macrobloco actual é um macrobloco MB11, mostrado na Fig. 2B, a unidade 1402 de armazenamento de números de coeficientes armazena, pelo menos, os números de coeficientes dos blocos na fila inferior e na coluna à direita do macrobloco MB11 (blocos a tracejado) na Fig. 7A, quando o processamento deste macrobloco MB11 se finaliza e se segue para o macrobloco seguinte MB12. Em seguida, a unidade 1402 de armazenamento de números de coeficientes armazena, pelo menos e do mesmo modo, os números de coeficientes dos blocos na fila inferior e na coluna à direita do macrobloco MB12 bem como os números de coeficientes os blocos na fila inferior do macrobloco MB11 (blocos sombreados), como mostrado na Fig. 7B, quando o processamento do macrobloco MB12 se finaliza e o processamento continua para o macrobloco MB13 seguinte.
Quando um macrobloco actual está situado na margem direita da imagem, como no caso do macrobloco MB9 mostrado na Fig. 2B, a unidade 1402 de armazenamento de números de coeficientes armazena, pelo menos, os números de coeficientes dos blocos na fila inferior do macrobloco MB9 quando o processamento deste macrobloco MB9 se finaliza e se continua para o macrobloco MB10 seguinte.
Quando um macrobloco actual está situado na margem inferior da imagem, como um macrobloco MBm mostrado na Fig. 2B, a unidade 1402 de armazenamento de números de coeficientes armazena, pelo 56 menos, os números de coeficientes dos blocos na coluna à direita deste macrobloco MBm (blocos a tracejado), como mostrado na Fig. 7C.
Deste modo, a unidade 1402 de armazenamento de números de coeficientes armazena, pelo menos, os números de coeficientes para os blocos aos quais se refere. É possível apagar, num instante de tempo arbitrário, a informação existente nos números de coeficientes dos blocos diferentes dos que vão ser armazenados, como descrito na explicação anterior quando os blocos deixam de ser utilizados como referência. Por exemplo, é possível apagar a informação quando o processamento continua para o macrobloco seguinte bem como enquanto se processa o macrobloco. De igual modo, os números de coeficientes dos blocos que não são utilizados como referência nem sempre precisam de ser sujeitos ao processamento que os apaga. Por exemplo, a unidade 1402 de armazenamento de números de coeficientes pode identificar os números de coeficientes dos blocos aos quais se deixa de fazer referência, como desnecessários e pode escrever, caso necessário, por cima destes. É explicado acima que é possível fazer referência, aos números de coeficientes dos blocos descodificados armazenando-os na unidade 1402 de armazenamento de números de coeficientes. No entanto, pode utilizar-se um sistema para calcular o número de coeficientes, caso necessário, armazenando não os valores do número de coeficientes propriamente dito mas, por exemplo, os valores dos coeficientes dos blocos que indicam componentes de frequência espaciais.
Deste modo, na presente forma de realização, é possível calcular o valor preditivo utilizando os números de coeficientes 57 nos blocos descodificados adjacentes e descodificar o número de coeficientes fazendo referência à tabela de código e à tabela VLC ao efectuar, de modo adaptativo, a comutação entre estas de acordo com o valor preditivo.
De igual modo, esta trata das alterações numa posição em que a probabilidade de aparição do número de coeficientes é a mais elevada, fazendo referência às tabelas de código, ao efectuar, de modo adaptativo, a comutação entre estas de acordo com o valor preditivo. Ao mesmo tempo, pode corresponder a um tamanho da dispersão da probabilidade de aparição do número de coeficientes fazendo referência às tabelas VLC ao efectuar, de modo adaptativo, a comutação entre estas de acordo com o valor preditivo. É possível utilizar apenas dois blocos na posição dos blocos B e D como os blocos aos quais se vai fazer referência pela unidade 151 de cálculo de valores preditivos para o bloco X actual, como mostrado na Fig. 4B, em vez de se utilizarem três blocos vizinhos, como mostrado na Fig. 4A. Neste caso, podem fazer-se alterações nos blocos de referência, como no Quadro 6, quando os blocos não estão descodificados nem situados fora da imagem ou fora do segmento. Quanto aos símbolos no Quadro 6, um símbolo O significa um bloco descodificado e um símbolo X significa um bloco ao qual não se pode recorrer, como referência, dado que não está descodificado ou situado fora da imagem ou fora do segmento, como no Quadro 1. 0 Quadro 6 mostra uma relação entre estados dos blocos de referência e o(s) bloco (s) aos quais se pode fazer referência, sendo que, no entanto, as configurações não estão limitadas a isto. Pode dar-se directamente um valor 0 ou qualquer outro valor arbitrário como um valor preditivo quando não se encontram blocos de referência. No entanto, deverá utilizar-se o mesmo valor que foi utilizado para a codificação. Neste caso, a unidade 1402 de 58 armazenamento de números de coeficientes pode apenas armazenar os números de coeficientes descodificados pelo descodificador 1403 de números de coeficientes, pelo menos os pertencentes aos blocos de referência necessários para o macrobloco actual, mostrado na Fig. 6B.
Também é possível, como um método de cálculo de um valor preditivo na unidade 1501 de cálculo de valores preditivos, por exemplo, seleccionar um método óptimo de acordo com cada sequência, cada GOP, cada imagem ou cada segmento em vez de fixar o método que utiliza uma média de valores, um valor máximo, um valor mínimo ou um valor médio. Neste caso, determina-se um método de cálculo pela descodificação dos sinais destinados a identificar um método de cálculo descrito na secção de cabeçalho da sequência ou da imagem ou do segmento, da corrente de bits. O segmento é uma imagem ainda mais dividida numa pluralidade de secções. Uma secção equivalente a uma coluna na direcção transversal em cada macrobloco é um exemplo disto.
Também é possível seleccionar, por exemplo, uma média de valores, um valor máximo, um valor mínimo ou um valor médio de acordo com a média de valores dos números de coeficientes nos blocos de referência descodificados como um método para calcular um valor preditivo na unidade 1501 de cálculo de valores preditivos. O Quadro 7 mostra os critérios de selecção. O modo de atribuição da média de valores e dos itens indicados como métodos de cálculo de valores preditivos não estão limitados aos que são utilizados no Quadro 7. No que a isto diz respeito, deverá utilizar-se o mesmo método que foi utilizado na codificação. 59 A presente forma de realização mostra um método de processamento de descodificação de uma corrente de bits na qual se efectua uma codificação de comprimento variável para os valores do número de coeficientes propriamente ditos pelo descodificador 1403 de números de coeficientes. É, no entanto, possível efectuar a descodificação de uma corrente de bits na qual foi efectuada uma codificação de comprimento variável 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 facto da unidade 1507 de cálculo de adição adicionar o valor preditivo calculado pela unidade 1501 de cálculo de valores preditivos ao valor de diferença do número de coeficientes descodificado pelo descodificador 1506 de números de coeficientes.
De igual modo, o descodificador 1403 de números de coeficientes efectua uma descodificação de comprimento variável ao efectuar uma comutação da tabela de código e da tabela VLC de acordo com o valor preditivo baseado nos números de coeficientes dos blocos vizinhos. É, no entanto, possível fixar ambas as tabelas em vez de efectuar a comutação entre as mesmas. Neste caso, esta acção é realizada preparando uma unidade de armazenamento que tem um determinado tipo de tabelas de código ou um determinado tipo de tabelas VLC. A Fig. 20A é um diagrama de blocos que mostra uma estrutura do descodificador 1403 de números de coeficientes para efectuar uma descodificação de comprimento variável do número de coeficientes fixando apenas a tabela de código. A Fig. 20B é um diagrama de blocos que mostra uma estrutura do descodificador 1403 de números de coeficientes para efectuar uma descodificação de comprimento variável do número de coeficientes fixando apenas a tabela VLC. No caso de se fixar apenas a tabela de código, o descodificador 1403 de 60 números de coeficientes, como mostrado na Fig. 20A, inclui uma unidade 1601 de armazenamento de tabelas de código em vez da unidade 1502 de armazenamento de tabelas de código e da unidade 1503 de selecção de tabelas de código mostradas na Fig. 18A. A unidade 1601 de armazenamento de tabelas de código tem um determinado tipo de tabelas de código. O descodificador 1506 de números de coeficientes transforma, em primeiro lugar, um código de comprimento variável num número de código utilizando a tabela VLC seleccionada pela unidade 1504 de selecção de tabelas VLC e, em seguida, transforma, o número de código no número de coeficientes utilizando a tabela de código armazenada na unidade 1601 de armazenamento de tabelas de código.
Por outro lado, no caso de se fixar apenas a tabela VLC, o descodificador 1403 de números de coeficientes, como mostrado na Fig. 20B, inclui uma unidade 1602 de armazenamento de tabelas VLC em vez da unidade 1505 de armazenamento de tabelas VLC e da unidade 1504 de selecção de tabelas VLC mostradas na Fig. 18A. A unidade 1602 de armazenamento de tabelas VLC tem um determinado tipo de tabelas VLC. O descodificador 1506 de números de coeficientes transforma, em primeiro lugar, um código de comprimento variável num número de código utilizando a tabela VLC armazenada na unidade 1602 de armazenamento de tabelas VLC e, em seguida, transforma, o número de código no número de coeficientes utilizando a tabela de código seleccionada pela unidade 1503 de selecção de tabelas de código.
Deste modo, é possivel reduzir a capacidade de memória destinada ao armazenamento de uma pluralidade de tabelas fixando uma de entre uma tabela de código e uma tabela VLC. 61
Também é possível efectuar uma descodificação de comprimento variável no descodificador 1403 de números de coeficientes comutando apenas as tabelas VLC sem utilizar tabelas de código, de acordo com o valor preditivo baseado nos números de coeficientes dos blocos vizinhos. A Fig. 20C é um diagrama de blocos que mostra uma estrutura do descodificador 1403 de números de coeficientes quando realiza a descodificação de comprimento variável do número de coeficientes utilizando apenas uma tabela VLC sem utilizar tabelas de código. Neste caso, como mostrado na Fig. 2 0C, o descodificador 1403 de números de coeficientes não inclui nem a unidade 1502 de armazenamento de tabelas de código nem a unidade 1503 de selecção de tabelas de código mostradas na Fig. 18A. No descodificador 1403 de números de coeficientes, a unidade 1603 de selecção de tabelas VLC selecciona a tabela VLC a ser realmente utilizada de entre uma pluralidade de tabelas VLC armazenadas na unidade 1604 de armazenamento de tabelas VLC, com base no valor preditivo calculado pela unidade 1501 de cálculo de valores preditivos. Em seguida, o descodificador 1506 de números de coeficientes transforma directamente um código de comprimento variável no número de coeficientes sem transformar o número de coeficientes num número de código utilizando a tabela de código como descrito acima.
Deste modo, ao fixar a tabela de código ou a tabela VLC em vez de efectuar uma comutação entre elas, a produtividade relativa à comutação de tabelas pode ser reduzida ou pode reduzir-se uma quantidade de memória destinada ao armazenamento de uma pluralidade de tabelas apesar dos efeitos da eficiência de codificação diminuírem mais ou menos. 62
Também pode tratar-se da mesma forma um caso no qual o descodificador 1403 de números de coeficientes descodifica uma corrente de bits na qual se efectua uma codificação de comprimento variável no valor de diferença entre o valor preditivo e o número de coeficientes, em vez de o ser no valor do número de coeficientes. A Fig. 21 é um diagrama de blocos do seu exemplo que mostra uma estrutura do descodificador 1403 de números de coeficientes para efectuar a descodificação da corrente de bits na qual se efectua uma descodificação de comprimento variável no valor de diferença entre o valor preditivo e o número de coeficientes, fixando a tabela de código e a tabela VLC. Neste caso, como mostrado na Fig. 21, o descodificador 1403 de números de coeficientes inclui uma unidade 1601 de armazenamento de tabelas de código em vez da unidade 1502 de armazenamento de tabelas de código e da unidade 1503 de selecção de tabelas de código mostradas na Fig. 18A, bem como uma unidade 1602 de armazenamento de tabelas VLC em vez da unidade 1505 de armazenamento de tabelas VLC e da unidade 1504 de selecção de tabelas VLC mostradas na Fig. 18A. Esta unidade 1601 de armazenamento de tabelas de código tem um determinado tipo de tabelas de código enquanto a unidade 1602 de armazenamento de tabelas VLC tem um determinado tipo de tabelas VLC. O descodificador 1506 de números de coeficientes transforma, em primeiro lugar, um código de comprimento variável num número de código utilizando a tabela VLC armazenada na unidade 1602 de armazenamento de tabelas VLC e, em seguida, transforma, o número de código num valor de diferença entre o valor preditivo e o número de coeficientes utilizando a tabela de código armazenada na unidade 1601 de armazenamento de tabelas de código. A unidade 1507 de cálculo de adição calcula o número de coeficientes ao adicionar o valor de diferença ao valor preditivo. 63 (Segunda forma de realizaçao) A estrutura do dispositivo de descodificação de imagem e as linhas gerais do processamento de descodificação são exactamente as mesmas que as descritas na primeira forma de realização, com excepção do descodificador 1403 de números de coeficientes mostrado na Fig. 17. No que se refere a um processamento de descodificação de comprimento variável do número de coeficientes efectuado no descodificador 1403 de números de coeficientes de acordo com a segunda forma de realização, os pormenores vão ser aqui explicados utilizando as Figs. 11 e 22. Deverá utilizar-se a corrente de bits criada no dispositivo de codificação de imagem de acordo com o segundo exemplo. A Fig. 22A é um diagrama de blocos que mostra, em pormenor, uma estrutura interna do descodificador 1403 de números de coeficientes.
Como mostrado na Fig. 22A, o descodificador 1403 de números de coeficientes inclui uma unidade 1901 de geração de tabelas de código em vez da unidade 1502 de armazenamento de tabelas de código e da unidade 1503 de selecção de tabelas de código mostradas na Fig. 18A. Os números de coeficientes nos blocos descodificados são introduzidos a partir da unidade 1402 de armazenamento de números de coeficientes, mostrada na Fig. 17, na unidade 1901 de geração de tabelas de código. A unidade 1901 de geração de tabelas de código conta o número dos blocos descodificados que têm o mesmo número de coeficientes como o valor do número de coeficientes em cada valor do número de coeficientes e cria tabelas de código atribuindo números de código por ordem descendente, a começar num número de coeficientes que registaram a frequência mais elevada com base na estatística. A Fig. 11A é um diagrama de padrões que apresenta uma posição de blocos descodificados seleccionados como alvo para as estatísticas. Aqui, uma Pl, uma P3 e uma P4 são imagens em que se aplicou uma codificação de predição inter de imagem, enquanto a 12 é uma imagem à qual se aplicou uma codificação de predição intra de imagem. Supondo que um bloco actual a ser descodificado pertence a P3, todos os blocos na Pl, que é uma imagem que precede imediatamente a imagem actual descodificada com o mesmo método, são seleccionados como alvo para estatística. 0 caso em que os blocos equivalentes a uma imagem, incluindo os blocos descodificados na imagem actual, são seleccionados para estatística pode ser tratado do mesmo modo. De igual modo, uma tabela para ser utilizada na condição inicial em ordem ascendente a iniciar no valor 0 irá ser utilizada quando os blocos descodificados equivalentes a uma imagem, que podem ser seleccionados como alvo para estatística, não existem. Aqui, os blocos equivalentes a uma imagem são seleccionados como alvo para estatística, no entanto, o caso em que o número de blocos não correspondentes a estes é utilizado como um parâmetro pode ser tratado do mesmo modo. No que a isto diz respeito, deverá utilizar-se o mesmo número que o que foi utilizado para codificação. No caso da geração da tabela de código como descrito anteriormente à qual se faz referência, como mostrado na Fig. 11A, a tabela pode ser gerada apenas uma vez quando se inicia a codificação da imagem actual.
Entretanto, os números de coeficientes nos blocos descodificados situados na periferia são introduzidos na unidade 1501 de cálculo de valores preditivos. A unidade 1501 de cálculo de valores preditivos determina o valor preditivo calculando uma média de valores com base nestes valores, como na primeira forma de realização. Pode utilizar-se um valor máximo, um valor mínimo 65 ou um valor médio em vez da média de valores como um método para determinar o valor preditivo. Como na primeira forma de realização, os blocos descodificados então utilizados como referência são determinados utilizando os três blocos situados na posição dos blocos B, C e D para o bloco X actual mostrado na Fig. 4A de acordo com o Quadro 1. 0 Quadro 1 mostra uma relação entre estados dos blocos de referência e o(s) bloco (s) a que se pode fazer referência, sendo que, no entanto, as configurações não estão limitadas a isto. Um valor 0 ou um qualquer outro valor arbitrário é dado directamente como um valor preditivo quando não se encontram blocos de referência. No que a isto diz respeito, deverá utilizar-se o mesmo valor que o que foi utilizado para codificação. 0 valor preditivo calculado pela unidade 1501 de cálculo de valores preditivos só é utilizado na unidade 1504 de selecção de tabelas VLC. A unidade 1504 de selecção de tabelas VLC selecciona, como na primeira forma de realização, uma tabela VLC para codificar o número de coeficientes a partir de uma pluralidade de tabelas VLC preparadas antecipadamente na unidade 1505 de armazenamento de tabelas VLC, como mostrado no Quadro 4, de acordo com os critérios de selecção mostrados no Quadro 5. O descodificador 1506 de números de coeficientes refere-se, à tabela de código criada pela unidade 1901 de geração de tabelas de código e à tabela VLC seleccionada pela unidade 1504 de selecção de tabelas VLC e, em seguida, efectua uma descodificação de comprimento variável para a corrente de bits do número de coeficientes introduzido da mesma forma que descrita na primeira forma de realização.
Deste modo, na presente forma de realização, é possível criar uma tabela de código recolhendo estatísticas dos números de coeficientes nos blocos descodificados e determinar uma tabela VLC de acordo com o valor preditivo calculado utilizando os números de coeficientes nos blocos descodificados e efectuar a descodificação do número de coeficientes fazendo referência, a ambas as tabelas.
Também é possível determinar os blocos descodificados a serem utilizados como referência na unidade 1501 de cálculo de valores preditivos, como na primeira forma de realização de acordo com o Quadro 6, utilizando apenas dois blocos situados na posição dos blocos B e D em relação ao bloco X actual mostrado na Fig. 4B, em vez de utilizar três blocos adjacentes, como mostrado na Fig. 4A. O Quadro 6 mostra uma relação entre estados dos blocos de referência e o(s) bloco (s) a que se pode fazer referência sendo que, no entanto, as configurações não estão limitadas a isto. Um valor 0 ou um qualquer outro valor arbitrário é dado directamente como valor preditivo quando não se encontram blocos de referência. No que a isto diz respeito, deverá utilizar-se o mesmo valor que o que foi utilizado para codificação.
Também é possível, como um método para calcular um valor preditivo na unidade 1501 de cálculo de valores preditivos, por exemplo, seleccionar um método óptimo de acordo com cada sequência, cada GOP, cada imagem ou cada segmento em vez de fixar o método a utilizar de uma média de valores, um valor máximo, um valor mínimo ou um valor médio. Neste caso, o método de cálculo é determinado pela descodificação dos sinais para identificar o método de cálculo descrito no cabeçalho da 67 sequência, do GOP ou da imagem ou do segmento, da corrente de bits.
Também é possível seleccionar, por exemplo, um de entre uma média de valores, um valor máximo, um valor mínimo ou um valor médio de acordo com a média de valores dos números de coeficientes nos blocos de referência descodificados como um método para calcular um valor preditivo na unidade 1501 de cálculo de valores preditivos. 0 Quadro 7 mostra os seus critérios de selecção . 0 modo de atribuição da média de valores e dos itens indicados como métodos de cálculo de valores preditivos não está limitado aos utilizados no Quadro 7. No que a isto diz respeito, deverá utilizar-se o mesmo método que o que foi utilizado para codificação.
De igual modo, a presente forma de realização mostra um método de processamento de descodificação de uma corrente de bits na qual se efectua uma codificação de comprimento variável para os valores do número de coeficientes propriamente ditos. É, no entanto, possível efectuar a descodificação de uma corrente de bits na qual foi efectuada uma codificação de comprimento variável 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 facto da unidade 1507 de cálculo de adição adicionar o valor de diferença entre o valor preditivo calculado pela unidade 1501 de cálculo de valores preditivos, como mostrado na Fig. 22, ao número de coeficientes descodificado pelo descodificador 1506 de números de coeficientes.
De igual modo, na forma de realização supracitada, o descodificador 1403 de números de coeficientes efectua uma descodificação de comprimento variável ao comutar as tabelas VLC de acordo com o valor preditivo baseado nos números de 68 no entanto, possível coeficientes nos blocos adjacentes. É, fixar a tabela em vez de comutar entre as tabelas, tal como na primeira forma de realização. Neste caso, esta acção é realizada utilizando apenas uma unidade de armazenamento de tabelas VLC que tem um determinado tipo de tabelas VLC, em vez de utilizar a unidade de selecção de tabelas VLC. (Sexto exemplo) A estrutura do dispositivo de descodificação de imagem e as linhas gerais do processamento de descodificação são exactamente as mesmas que as descritas na primeira forma de realização, com excepção do descodificador 1403 de números de coeficientes mostrado na Fig. 17. No que se refere ao processamento de descodificação de comprimento variável do número de coeficientes efectuado pelo descodificador 1403 de números de coeficientes de acordo com o sexto exemplo, os pormenores são explicados utilizando a Fig. 23, Quadro 8 e Quadro 9. A corrente de bits criada pelo dispositivo de codificação de imagem de acordo com o terceiro exemplo deverá ser introduzida. A Fig. 23A é um diagrama de blocos que mostra, em pormenor, uma estrutura interna do descodificador 1403 de números de coeficientes.
Como mostrado na Fig. 23A, o descodificador 1403 de números de coeficientes não inclui a unidade 1501 de cálculo de valores preditivos mostrada na Fig. 18A. Uma unidade 2001 de selecção de tabelas de código e uma unidade 2002 de selecção de tabelas VLC seleccionam uma tabela a ser realmente utilizada utilizando directamente os números de coeficientes nos blocos 69 descodificados sem utilizar um valor preditivo, o que é diferente da primeira forma de realização. No que se refere aos blocos descodificados então utilizados como referência mostrados na Fig. 4B, apenas se utilizam dois blocos na posição do bloco B (acima) e do bloco D (esquerda) em relação ao bloco X actual. No entanto, quando os blocos situados acima e à esquerda não estão nem codificados nem situados fora da imagem nem fora do segmento, podem ser substituídos por um valor 0 ou por qualquer outro valor arbitrário. No que a isto diz respeito, deverá utilizar-se o mesmo valor que o que foi utilizado para codificação. 0 Quadro 8 mostra um método de selecção para tabelas de código na unidade 2001 de selecção de tabelas de código. A unidade 2001 de selecção de tabelas de código classifica, em dois grupos, os respectivos números de coeficientes nos blocos situados acima e à esquerda do bloco actual, como mostrado no
Quadro 8, de acordo com o valor e selecciona uma tabela utilizando uma combinação das quatro assim formadas. O método de classificação do número de coeficientes no bloco superior e esquerdo e a forma de atribuição das tabelas de código não estão limitados aos utilizados no Quadro 8. No que a isto diz respeito, deverá utilizar-se o mesmo método que o que foi utilizado para codificação. De igual modo, a unidade 2002 de selecção de tabelas VLC selecciona uma tabela VLC à qual se recorre realmente, como referência, utilizando o método de selecção mostrado no Quadro 9, como no caso da unidade 2001 de selecção de tabelas de código. O descodificador 1506 de números de coeficientes refere-se à tabela de código seleccionada pela unidade 2001 de selecção de tabelas de código e à tabela VLC seleccionada pela unidade 2002 70 de selecção de tabelas VLC e efectua uma descodificação de comprimento variável para o número de coeficientes no bloco actual que é introduzido do mesmo modo que na primeira forma de realização. 0 presente exemplo, como mostrado acima, ao classificar o número de coeficientes nos blocos descodificados situados acima e à esquerda do bloco actual em "N" grupos de acordo com o valor ao qual se fez referência na tabela de código e na tabela VLC de acordo com a combinação de N x N modos então formados e efectuando uma comutação entre estes, de modo adaptativo, torna possível efectuar eficientemente a descodificação do número de coeficientes. 0 presente exemplo mostra um método de processamento de descodificação de uma corrente de bits na qual se efectua uma codificação de comprimento variável para os valores do número de coeficientes propriamente ditos. E, no entanto, possível efectuar a descodificação de uma corrente de bits na qual foi efectuada uma codificação de comprimento variável 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 facto da unidade 1507 de cálculo de adição adicionar o valor de diferença entre o valor preditivo calculado pela unidade 1501 de cálculo de valores preditivos ao número de coeficientes descodificado pelo descodificador 1506 de números de coeficientes.
De igual modo, o descodificador 1403 de números de coeficientes efectua uma descodificação de comprimento variável ao efectuar uma comutação da tabela de código e da tabela VLC de acordo com os números de coeficientes dos blocos vizinhos. É, no entanto, possível fixar ambas as tabelas em vez de efectuar a 71 comutação entre as mesmas, como na primeira forma de realização. Neste caso, esta acção é realizada utilizando uma unidade de armazenamento que tem um determinado tipo de tabelas de código ou um determinado tipo de tabelas VLC, em vez de utilizar as unidades de selecção de tabelas. Além disso, é possível efectuar uma descodificação de comprimento variável comutando apenas as tabelas VLC sem utilizar tabelas de código de acordo com os números de coeficientes nos blocos adjacentes, como na primeira forma de realização. (Sétimo exemplo) A estrutura do dispositivo de codificação de imagem e as linhas gerais do processamento de codificação de acordo com o presente exemplo são exactamente as mesmas que as descritas na primeira forma de realização, com excepção do descodificador 1403 de números de coeficientes mostrado na Fig. 17. No que se refere ao processamento de descodificação de comprimento variável do número de coeficientes efectuado pelo descodificador 1403 de números de coeficientes de acordo com o sétimo exemplo, os pormenores são explicados utilizando as Figs. 24 e 14. A corrente de bits criada pelo dispositivo de codificação de imagem de acordo com o quarto exemplo deverá ser introduzida. A Fig. 24A é um diagrama de blocos que mostra, em pormenor, uma estrutura interna do descodificador 1403 de números de coeficientes.
Como mostrado na Fig. 24A, o descodificador 1403 de números de coeficientes inclui uma unidade 2101 de selecção de tabelas em vez da unidade 1501 de cálculo de valores preditivos, da 72 unidade 1503 de selecção de tabelas de código e da unidade 1504 de selecção de tabelas VLC mostradas na Fig. 18A. A unidade 2101 de selecção de tabelas utiliza directamente o número de coeficientes nos blocos descodificados utilizando um valor preditivo e selecciona uma tabela a ser realmente utilizada avaliando ao mesmo tempo a tabela de código e a tabela VLC, o que é diferente da primeira forma de realização. No que se refere aos blocos descodificados então utilizados como referência, utilizam-se os três blocos na posição dos blocos B, C e D em relação ao bloco X actual, tal como na Fig. 4A. No que a isto diz respeito, quando os blocos situados deste modo não estão nem codificados nem situados fora da imagem nem fora do segmento, o número de coeficientes pode ser substituído ou por um valor 0 ou por qualquer outro valor arbitrário. No entanto, deverá utilizar-se o mesmo valor que o que foi utilizado para codificação.
Como mostrado na Fig. 14, a unidade 2101 de selecção de tabelas calcula uma soma de um comprimento de uma corrente de bits que é criada em resultado da codificação dos números de coeficientes nos blocos de referência utilizando, ao mesmo tempo, a tabela de código e a tabela VLC e determina-a como um valor de avaliação, como no quarto exemplo. Em seguida, a unidade 2101 de selecção de tabelas efectua este processamento para todas as combinações da tabela de código com a tabela VLC armazenadas na unidade 1502 de armazenamento de tabelas de código bem como na unidade 1505 de armazenamento de tabelas VLC e selecciona uma combinação de uma tabela de código com uma tabela VLC na qual o valor de avaliação obtido é o mais pequeno. O descodificador 1506 de números de coeficientes refere-se à tabela de código e à tabela VLC seleccionadas pela unidade 73 2101 de selecção de tabelas e efectua uma codificação de comprimento variável para o número de coeficientes no bloco actual que é introduzido do mesmo modo que na primeira forma de realização.
Deste modo, no presente exemplo, a codificação é efectuada para os números de coeficientes nos blocos vizinhos que são descodificados utilizando a tabela de códiqo e a tabela VLC, determina-se um valor de estimação utilizando a soma do comprimento da corrente de bits nesse instante e efectua-se a descodificação para o número de coeficientes referindo-se à tabela de códiqo e à tabela VLC cuja combinação gera o valor de avaliação mais pequeno.
Quanto aos blocos descodificados utilizados como referência pela unidade 2101 de selecção de tabelas, um caso em que se utilizam apenas dois blocos situados na posição dos blocos B e D em relação ao bloco X actual, como mostrado na Fig. 4B, em vez de se utilizarem três blocos vizinhos, mostrados na Fig. 4A, pode ser tratado do mesmo modo que na primeira forma de realização. No que a isto diz respeito, quando os blocos situados deste modo não estão nem codificados nem situados fora da imagem nem fora do segmento, o número de coeficientes pode ser substituído ou por um valor 0 ou por qualquer outro valor arbitrário.
De igual modo, o presente exemplo mostra um método de processamento de descodificação de uma corrente de bits no qual se efectua uma codificação de comprimento variável para os valores do número de coeficientes propriamente ditos. É, no entanto, possível efectuar a descodificação de uma corrente de bits na qual se efectua uma codificação de comprimento variável 74 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 facto da unidade 1507 de cálculo de adição adicionar o valor de diferença entre o valor preditivo calculado pela unidade 1501 de cálculo de valores preditivos ao número de coeficientes descodificado pelo descodificador 1506 de números de coeficientes, como mostrado na Fig. 24B.
De igual modo, no presente exemplo, a tabela de código e a tabela VLC são seleccionadas como alvo para comutação no descodificador 1403 de números de coeficientes sendo que, no entanto, é possível fixar qualquer uma delas em vez de comutar entre as mesmas. (Oitavo exemplo) A estrutura do dispositivo de descodificação de imagem e as linhas gerais do processamento de descodificação de acordo com o presente exemplo são exactamente as mesmas que as da primeira forma de realização, com excepção do descodificador 1403 de números de coeficientes mostrado na Fig. 17. O presente exemplo utiliza um modo de predição inter de imagem para descodificação por predição inter de imagem e um modo de predição intra de imagem para descodificação por predição intra de imagem como informação de referência no descodificador 1403 de números de coeficientes, em vez dos números de coeficientes nos blocos descodificados, como na primeira forma de realização. A corrente de bits que é criada no dispositivo de codificação de imagem de acordo com o quinto exemplo deverá ser introduzida. 75
Aqui, no que se refere ao processamento de descodificação de comprimento variável do número de coeficientes efectuado pelo descodificador 1403 de números de coeficientes mostrado na Fig. 17, os pormenores serão explicados fazendo referência à Fig. 25. A Fig. 25 é um diagrama de blocos que mostra, em pormenor, uma estrutura interna do descodificador 1403 de números de coeficientes.
Como mostrado na Fig. 25, o descodif icador 1403 de números de coeficientes não inclui a unidade 1501 de cálculo de valores preditivos mostrada na Fig. 18A. O modo de predição inter de imagem para descodificação por predição inter de imagem e o modo de predição intra de imagem para descodificação por predição intra de imagem são introduzidos a partir da unidade 1401 de análise de correntes de bits numa unidade 2201 de selecção de tabelas de código bem como numa unidade 2202 de selecção de tabelas VLC. A unidade 2201 de selecção de tabelas de código selecciona uma tabela a ser utilizada com base no modo: o modo de predição inter de imagem para descodificação por predição inter de imagem e o modo de predição intra de imagem para descodificação por predição intra de imagem. O Quadro 10 mostra um método de selecção para as tabelas de código armazenadas na unidade 2201 de selecção de tabelas de código.
Por exemplo, no caso em que a imagem actual é descodificada utilizando predição inter de imagem, selecciona-se uma tabela de código 2 de acordo com a descodificação de comprimento variável do número de coeficientes quando o tamanho do bloco 8x8 actual é seleccionado para predição. Os itens não estão limitados aos utilizados no Quadro 10. A este respeito, deverão utilizar-se os mesmos itens que foram utilizados para codificação. 76
De igual modo, a unidade 2202 de selecção de tabelas VLC selecciona uma tabela VLC para referência real, utilizando o método de selecção como mostrado no Quadro 11, tal como no caso da unidade 2201 de selecção de tabelas de código. O descodificador 1506 de números de coeficientes refere-se à tabela de código seleccionada pela unidade 2201 de selecção de tabelas de código bem como à tabela VLC seleccionada pela unidade 2202 de selecção de tabelas VLC de modo a efectuar uma descodificação de comprimento variável do número de coeficientes no bloco actual que é introduzido do mesmo modo que na primeira forma de realização.
Deste modo, no presente exemplo, pode efectuar-se a descodificação do número de coeficientes referindo-se à tabela de código e à tabela VLC efectuando, de modo adaptativo, a comutação entre estas de acordo com o modo: o modo de predição inter de imagem para descodificação por predição inter de imagem e o modo de predição intra de imagem para descodificação por predição intra de imagem. O presente exemplo mostra um método de processamento de descodificação de uma corrente de bits na qual se efectua uma codificação de comprimento variável aos valores do número de coeficientes propriamente ditos. É, no entanto, possível efectuar a descodificação de uma corrente de bits na qual se efectua uma codificação de comprimento variável a um valor de diferença entre um valor preditivo e um número de coeficientes. Neste caso, o valor preditivo é determinado utilizando os números de coeficientes nos blocos descodificados adjacentes e o número de coeficientes é determinado adicionando este valor ao valor de diferença do número de coeficientes, que é 77 descodificado pelo descodificador 1506 de números de coeficientes, como na primeira forma de realização.
De igual modo, no presente exemplo, o descodificador 1403 de números de coeficientes efectua uma descodificação de comprimento variável comutando a tabela de código e a tabela VLC. É, no entanto, possível, fixá-las em vez de comutar uma delas ou ambas. Neste caso, isto é realizado preparando apenas uma unidade de armazenamento que tem ou um determinado tipo de tabelas de código ou um determinado tipo de tabelas VLC. (Terceira forma de realizaçao)
Se um programa para realizar a estrutura do método de codificação ou do método de descodificação, como mostrado nas formas de realização e exemplos acima mencionados, for gravado num suporte de memória, tal como uma disquete, torna-se possível efectuar o processamento, como mostrado nestas formas de realização e exemplos, de um modo fácil num sistema de computador independente.
As Figs. 26A, 26B e 26C são ilustrações que mostram o caso em que o processamento mostrado nas formas de realização 1~2 acima mencionadas e exemplos 1~8 acima mencionados é efectuado num sistema de computador que utiliza uma disquete que armazena o método de codificação ou o método de descodificação das formas de realização acima mencionadas. A Fig. 26B mostra o aspecto completo de uma disquete, a sua estrutura em secção transversal e a disquete propriamente dita, enquanto a Fig. 26A mostra um exemplo de um formato físico da 78 disquete na forma de um corpo principal de um suporte de gravação. Um disco FD flexível está contido num invólucro F, uma pluralidade de pistas Tr são formadas concentricamente a partir da periferia para dentro na superfície do disco, e cada pista está dividida em 16 sectores Se na direcção angular.
Por conseguinte, a disquete que armazena o programa acima mencionado armazena os dados na forma do programa acima mencionado numa área atribuída para essa função na disquete FD. A Fig. 26C mostra uma estrutura para gravação e leitura do programa no disco FD. Quando o programa é gravado na disquete FD, o sistema Cs de computador escreve os dados no mesmo, na forma do programa, por intermédio de um leitor/gravador de disquetes. Quando o dispositivo de codificação e o dispositivo de descodificação são construídos no sistema de computador pelo programa existente na disquete, o programa é lido a partir da disquete pelo leitor/gravador de discos flexíveis e, em seguida, é transferido para o sistema de computador. A explicação dada acima é feita assumindo que se utiliza uma disquete como suporte de gravação de dados, mas também se pode efectuar o mesmo processamento utilizando um disco óptico. Além disso, o suporte de gravação não está limitado a uma disquete e a um disco óptico, mas pode utilizar-se um qualquer outro suporte, tal como um cartão IC e uma cassete ROM aptos a gravar um programa.
Segue-se uma explicação das aplicações do método de codificação de imagem bem como do método de descodificação de imagem, como mostrado nas formas de realização e exemplos acima mencionados e de um sistema que as utiliza. 79 A Fig. 27 é um diagrama de blocos que mostra uma configuração global de um sistema exlOO de fornecimento de conteúdos para efectuar um serviço de distribuição de conteúdos. A área para proporcionar um serviço de comunicações está dividida em células com um tamanho desejado e em estações base exl07~exll0 que são estações sem fios fixas colocadas nas células respectivas.
Este sistema exlOO de fornecimento de conteúdos está conectado a dispositivos, tais como um computador exlll, um PDA (Organizador Pessoal) exll2, uma câmara exll3, um telemóvel exll4 e um telemóvel exllõ com uma câmara, por intermédio da Internet exlOl, de um fornecedor de serviços Internet exl02, de uma rede telefónica exl04 e das estações base exl07~exll0.
No entanto, o sistema exlOO de fornecimento de conteúdos não está limitado à configuração mostrada na Fig. 27 e pode ser conectado a uma combinação de qualquer deles. De igual modo, cada dispositivo pode ser conectado directamente à rede telefónica exl04 sem ser através das estações base exl07~exll0. A câmara exll3 é um dispositivo apto a capturar imagens de vídeo, tal como uma câmara de vídeo digital. 0 telemóvel exll4 pode ser um telemóvel de um sistema PDC (Comunicações Digitais Pessoais), um sistema CDMA (Acesso Múltiplo por Divisão de Código), um sistema W-CDMA (Acesso Múltiplo por Divisão de Código em Banda Larga) ou um sistema GSM (Sistema Global para Comunicações Móveis) , um sistema PHS (Sistema de Telefone Portátil) ou semelhantes.
Um servidor exl03 de fluxo em contínuo é conectado à câmara exll3 por intermédio da rede telefónica exl04 e da estação base 80 exl09, que efectua uma distribuição em directo, ou semelhante, utilizando a câmara exll3 com base nos dados codificados transmitidos a partir do utilizador. Os dados podem ser codificados pela câmara exll3 ou pelo servidor que transmite os dados. De igual modo, os dados de imagem capturados por uma câmara exllô podem ser transmitidos para o servidor exl03 de fluxo continuo por intermédio do computador exlll. Neste caso, a câmara exllô ou o computador exlll podem codificar os dados de imagem. Um LSI exll7 incluído no computador exlll ou na câmara exllô efectua, na realidade, o processamento de codificação. 0 software necessário para codificar e descodificar imagens pode ser integrado em qualquer tipo de suporte de armazenamento (tal como um CD-ROM, uma disquete e um disco rígido) , ou seja, um suporte de gravação que seja passível de ser lido pelo computador exlll ou semelhante. Além disso, um telemóvel exll5 com uma câmara pode transmitir os dados de imagem. Estes dados de imagem são os dados codificados pelo LSI incluído no telemóvel exll5. 0 sistema exlOO de fornecimento de conteúdos codifica conteúdos (tal como um vídeo de música ao vivo) filmado pelos utilizadores utilizando a câmara exll3, a câmara exllô ou semelhantes, do mesmo modo que mostrado nas formas de realização e exemplos acima mencionados e transmite-os para o servidor exl03 de fluxo em contínuo, fazendo o servidor exl03 de fluxo em contínuo a distribuição do fluxo dos dados dos conteúdos para os clientes a seu pedido. Os clientes incluem o computador exlll, o PDA exll2, a câmara exll3, o telemóvel exll4, etc., aptos a descodificar os dados codificados acima mencionados. No sistema exlOO de fornecimento de conteúdos, os clientes podem, deste modo, receber e reproduzir os dados em tempo real de modo a efectuarem uma radiodifusão pessoal. 81
Quando cada dispositivo neste sistema efectua codificação ou descodificação, pode utilizar-se o dispositivo de codificação de imagem ou o dispositivo de descodificação de imagem, conforme se mostrou nas formas de realização e exemplos acima mencionados.
Um telemóvel irá ser explicado enquanto exemplo do dispositivo. A Fig. 28 é um diagrama que mostra o telemóvel exll5 que utiliza o método de codificação de imagem e o método de descodificação de imagem explicado nas formas de realização e exemplos acima mencionados. 0 telemóvel exll5 tem uma antena ex201 para comunicar com a estação base exllO através de ondas rádio, uma unidade ex203 de câmara, tal como uma câmara CCD apta a capturar imagens em movimento e fixas, uma unidade ex202 de visionamento, tal como um visor de cristais líquidos para exibir os dados, tais como imagens descodificadas e semelhantes capturadas pela unidade ex203 de câmara e recebidas pela antena ex201, uma unidade de corpo que inclui um conjunto de teclas de operação ex204, uma unidade ex208 de saída de voz, tal como um altifalante para emitir vozes, uma unidade 205 de entrada de voz, tal como um microfone para a introdução de vozes, um suporte de armazenamento ex207 para armazenar dados codificados ou descodificados, tais como dados relativos a imagens em movimento ou fixas capturadas pela câmara, dados de correio electrónico recebidos e dados de imagens em movimento ou fixas e uma unidade ex206 de ranhura para fixar o suporte de armazenamento ex207 no telemóvel exll5. O suporte de armazenamento ex207 armazena um elemento de memória flash, um tipo de EEPROM (Memória Fixa Programável e Passível de ser Apagada Electricamente) que é uma memória não volátil passível 82 de ser apagada electricamente e na qual se pode voltar a escrever, num invólucro de plástico, tal como um cartão SD.
Em seguida, o telemóvel exll5 irá ser explicado fazendo referência à Fig. 29. No telemóvel exll5, uma unidade ex311 de controlo principal, concebida de modo a controlar, de modo global, cada unidade do corpo principal que contém a unidade ex202 de visionamento bem como as teclas de operação ex204, está conectada reciprocamente a uma unidade ex310 de circuito de fonte de alimentação, a uma unidade ex304 de controlo das operações de entrada, a uma unidade ex312 de codificação de imagem, a uma unidade ex3 03 de interface de câmara, a uma unidade ex302 de controlo de LCD (Visor de Cristais Líquidos), a uma unidade ex309 de descodificação de imagem, a uma unidade ex308 de multiplexagem/desmultiplexagem, a uma unidade ex307 de leitura/escrita, a uma unidade ex306 de circuito de modem e a uma unidade ex305 de processamento de voz por intermédio de um barramento ex313 síncrono.
Quando uma tecla de fim de chamada ou uma tecla de activação é LIGADA pela acção de um utilizador, a unidade ex310 de circuito de fonte de alimentação fornece as unidades respectivas com energia proveniente de um conjunto de baterias de modo a colocar o telemóvel exll5 digital com uma câmara a ele fixada num estado disponível.
No telemóvel exll5, a unidade ex305 de processamento de voz converte os sinais de voz recebidos pela unidade ex205 de entrada de voz em modo de conversação em dados de voz digitais sob o controlo da unidade ex311 de controlo principal que inclui uma CPU, ROM e RAM, a unidade ex306 de circuito de modem efectua o processamento por espalhamento de espectro dos dados de voz 83 digitais e a unidade ex301 de circuito de comunicação efectua uma conversão digital-analógica e uma transformação de frequência dos dados de modo a transmiti-los por intermédio da antena ex201. De igual modo, no telemóvel exll5, a unidade ex301 do circuito de comunicação amplifica os dados recebidos pela antena ex201 em modo de conversação e efectua a transformação de frequência e a conversão analógica-digital para os dados, a unidade ex306 de circuito de modem efectua um processamento inverso do espalhamento de espectro dos dados e a unidade ex305 de processamento de voz converte-os em dados de voz analógicos, de modo a emiti-los por intermédio da unidade 208 de saída de voz.
Além disso, quando se transmite um correio electrónico em modo de comunicação de dados, os dados do texto do correio electrónico introduzidos, utilizando as teclas de operação ex204 do corpo principal, são enviados para a unidade ex311 de controlo principal por intermédio da unidade ex304 de controlo das operações de entrada. Na unidade ex311 de controlo principal, depois da unidade ex306 de circuito de modem efectuar o processamento por espalhamento de espectro dos dados de texto e a unidade ex301 de circuito de comunicação efectuar nos mesmos a conversão digital-analógica e a transformação de frequência, os dados são transmitidos para a estação base exllO por intermédio da antena ex201.
Quando os dados de imagem são transmitidos no modo de comunicação de dados, os dados de imagem capturados pela unidade ex203 de câmara são fornecidos à unidade ex312 de codificação de imagem por intermédio da unidade ex303 de interface de câmara. Quando não são transmitidos, também é possível exibir os dados de imagem capturados pela unidade ex203 de câmara directamente 84 na unidade 202 de visionamento por intermédio da unidade ex303 de interface de câmara e da unidade ex302 de controlo do LCD. A unidade ex312 de codificação de imagem, que inclui o dispositivo de codificação de imagem conforme explicado na presente invenção, comprime e codifica os dados de imagem provenientes da unidade ex203 de câmara pelo método de codificação utilizado no dispositivo de codificação de imagem, como mostrado no primeiro exemplo acima mencionado, de modo a transformá-los em dados de imagem codificados e a enviá-los para a unidade ex308 de multiplexagem/desmultiplexagem. Nesta altura, o telemóvel exll5 envia as vozes recebidas pela unidade ex205 de entrada de voz durante a captura de imagens com a unidade ex2 03 de câmara para a unidade ex308 de multiplexagem/desmultiplexagem na forma de dados de voz digitais por intermédio da unidade ex305 de processamento de voz. A unidade ex308 de multiplexagem/desmultiplexagem efectua uma multiplexagem dos dados de imagem codificados provenientes da unidade ex312 de codificação de imagem e os dados de voz provenientes da unidade ex305 de processamento de voz utilizando um método predeterminado, a unidade ex306 de circuito de modem efectua o processamento por espalhamento de espectro dos dados multiplexados obtidos em resultado da multiplexagem e a unidade ex301 de circuito de comunicação efectua uma conversão digital-analógica e uma transformação de frequência dos dados destinados a serem transmitidos por intermédio da antena ex201.
No que se refere aos dados recebidos de um ficheiro de imagens em movimento ligado a uma página Web ou semelhante em modo de comunicação de dados, a unidade ex306 de circuito de modem efectua um processamento inverso de espalhamento de 85 espectro dos dados recebidos da estação base exllO por intermédio da antena ex201 e envia os dados multiplexados obtidos em resultado do processamento da unidade ex308 de multiplexagem/desmultiplexagem.
De modo a descodificar os dados multiplexados recebidos por intermédio da antena ex201, a unidade ex308 de multiplexagem/desmultiplexagem separa os dados multiplexados numa corrente de bits de dados de imagem e numa corrente de bits de dados de voz e fornece os dados de imagem codificados à unidade ex309 de descodificação de imagem e os dados de voz à unidade ex305 de processamento de voz por intermédio, respectivamente, do barramento ex313 síncrono.
Em seguida, a unidade ex309 de descodificação de imagem, que inclui o dispositivo de descodificação de imagem conforme explicado na invenção acima mencionada, descodifica a corrente de bits dos dados de imagem pelo método de descodificação correspondente ao método de codificação, como mostrado nas formas de realização e exemplos acima mencionados, para gerar dados de imagens em movimento reproduzidos e fornece estes dados à unidade ex202 de visionamento por intermédio da unidade ex302 de controlo do LCD e, deste modo, os dados de imagem incluídos num ficheiro de imagens em movimento ligados a uma página Web, por exemplo, são exibidos. Ao mesmo tempo, a unidade ex305 de processamento de voz converte os dados de voz em dados de voz analógicos e fornece estes dados à unidade ex208 de saída de voz e, deste modo, os dados de voz incluídos no ficheiro de imagens em movimento ligado a uma página Web, por exemplo, são reproduzidos. 86
A presente invenção não está limitada ao sistema acima mencionado e o dispositivo de codificação de imagem ou o dispositivo de descodificação de imagem existentes nas formas de realização e exemplos acima mencionados podem ser incorporados num sistema de radiodifusão digital, como mostrado na Fig. 30. Esta radiodifusão digital terrestre ou por satélite tem, ultimamente, aparecido nas notícias. Mais especificamente, uma corrente de bits de informação vídeo é transmitida por uma estação ex409 de radiodifusão para, ou comunica com, um satélite ex410 de radiodifusão por intermédio de ondas rádio. Após a recepção das ondas, o satélite ex410 de radiodifusão transmite ondas rádio em radiodifusão. Em seguida, uma antena ex410 de utilização doméstica com uma função de recepção de radiodifusão por satélite recebe as ondas rádio e um televisor (receptor) ex401 ou uma caixa descodificadora (STB) ex407 descodifica a corrente de bits para a reproduzir. O dispositivo de descodificação de imagem, como mostrado na forma de realização e exemplo acima mencionados, pode ser implementado no dispositivo ex403 de reprodução para ler e descodificar a corrente de bits gravada num suporte ex402 de armazenamento que é um suporte de gravação, tal como um CD e um DVD. Neste caso, os sinais de video reproduzidos são exibidos num monitor ex404. Também é concebível a implementação do dispositivo de descodificação de imagem na caixa ex407 descodificadora conectada a um cabo ex405 para receber televisão por cabo ou na antena ex406 para receber uma radiodifusão por satélite e/ou terrestre de modo a reproduzi-las num monitor ex408 do televisor ex401. O dispositivo de descodificação de imagem pode ser incorporado na televisão e não na caixa descodificadora. De igual modo, um carro ex412 que tem uma antena ex411 pode receber sinais provenientes do satélite ex410 ou da estação ex!07 base para 87 reproduzir imagens em movimento num dispositivo de visionamento, tal como um sistema ex413 de navegação a bordo.
Além disso, o dispositivo de codificação de imagem, como mostrado nas formas de realização e exemplos acima mencionados, pode codificar sinais de imagem para gravar num suporte de gravação. Como exemplo concreto, tem-se um gravador ex420, tal como um gravador de DVD, para gravar sinais de imagem num disco ex421 DVD e um gravador de disco para os gravar num disco rigido. Os sinais podem ser gravados num cartão ex422 SD. Se o gravador ex420 incluir o dispositivo de descodificação de imagem, como mostrado nas formas de realização e exemplos acima mencionados, os sinais de imagem gravados no disco ex421 DVD ou no cartão ex422 SD podem ser reproduzidos de modo a serem exibidos no monitor ex408.
No que se refere à estrutura do sistema ex413 de navegação a bordo, é concebível que a estrutura não tenha a unidade ex203 de câmara, a unidade ex303 de interface de câmara e a unidade ex312 de codificação de imagem, além dos componentes mostrados na Fig. 29. 0 mesmo acontece com o computador exlll, o televisor (receptor) ex401 e outros.
Além disso, podem conceber-se três tipos de implementação para um terminal, tais como o telemóvel exll4 acima mencionado; um terminal emissor/receptor implementado com um codificador e com um descodificador, um terminal emissor implementado apenas com um codificador e um terminal receptor implementado apenas com um descodificador. 88
Conforme se descreve acima, é possível utilizar o método de codificação de imagem ou o método de descodificação de imagem nas formas de realização e exemplos acima mencionados para qualquer um dos dispositivos e sistemas acima mencionados e podem obter-se os efeitos descritos nas formas de realização e exemplos acima mencionados utilizando este método.
De igual modo, a presente invenção não está limitada às formas de realização e exemplos acima mencionados e é possível a existência de uma vasta gama de variações ou de modificações dentro do âmbito das reivindicações que se seguem.
Um método de codificação de imagem de acordo com a presente invenção melhora a eficiência da codificação dado que se pode referir a tabelas óptimas para uma codificação de comprimento variável quando o número de coeficientes diferentes de 0 contido num bloco actual a ser codificado é codificado.
De igual modo, um método de descodificação de imagem de acordo com a presente invenção descodifica correctamente uma corrente de bits na qual um número de coeficientes diferentes de 0 contido num bloco depois de sofrer uma transformação ortogonal é codificado, como referência, a tabelas óptimas para uma codificação de comprimento variável.
Aplicabilidade Industrial
Deste modo, o método de codificação de imagem e o método de descodificação de imagem de acordo com a presente invenção são úteis quando utilizados como um método de codificação de imagem de modo a criar uma corrente de bits bem como para descodificar 89 a corrente de bits codificada utilizando dispositivos, tais como ou um telemóvel, um dispositivo DVD, um computador pessoal semelhantes.
Lisboa, 28 de Setembro de 2010 90

Claims (2)

  1. REIVINDICAÇÕES 1. Método de descodificação para descodificar uma imagem codificada com base em blocos, sendo a imagem codificada obtida ao codificar coeficientes de transformação incluídos num bloco que mostra componentes de frequência espaciais, sendo os coeficientes de transformação gerados pela transformação da imagem nos componentes de frequência espaciais, compreendendo o método: determinar um valor preditivo para o número total de coeficientes diferentes de zero incluídos num bloco actual a descodificar com base no número total de coeficientes diferentes de zero incluídos num bloco descodificado situado por cima do bloco actual e no número total de coeficientes diferentes de zero incluídos num bloco descodificado situado à esquerda do bloco actual, em que cada coeficiente diferente de zero é um coeficiente de transformação tendo um valor de nível diferente de "0"; seleccionar uma tabela de códigos de comprimento variável com base no valor preditivo determinado; e descodificar os dados codificados obtidos ao codificar-se o número total de coeficientes diferentes de zero incluídos no bloco actual utilizando a tabela de códigos de comprimento variável seleccionada, em que o valor preditivo é determinado com base no número total de coeficientes diferentes de zero incluídos no bloco descodificado situado à esquerda do bloco actual quando o 1 limite superior do bloco actual é um limite de um segmento que é um de entre uma pluralidade de secções em que a imagem é dividida e o limite esquerdo do bloco actual está situado no interior do limite do segmento, e o valor preditivo é determinado com base no número total de coeficientes diferentes de zero incluídos no bloco descodificado situado por cima do bloco actual quando o limite esquerdo do bloco actual é um limite de um segmento que é um de entre uma pluralidade de secções em que a imagem é dividida e o limite superior do bloco actual está situado no interior do limite do segmento.
  2. 2. Dispositivo de descodificação para descodificar uma imagem codificada com base em blocos, sendo a imagem codificada obtida ao codificar coeficientes de transformação incluídos num bloco que mostra componentes de frequência espaciais, sendo os coeficientes de transformação gerados pela transformação da imagem nos componentes de frequência espaciais, compreendendo o dispositivo: uma unidade (1501) de predição com a funcionalidade de determinar um valor preditivo para o número total de coeficientes diferentes de zero incluídos num bloco actual a descodificar com base no número total de coeficientes diferentes de zero incluídos num bloco descodificado situado por cima do bloco actual e no número total de coeficientes diferentes de zero incluídos num bloco descodificado situado à esquerda do bloco actual, em que cada coeficiente diferente de zero é um coeficiente de transformação tendo um valor de nível diferente de "0"; 2 uma unidade (1504) de selecção de tabelas com a funcionalidade de seleccionar uma tabela de códigos de comprimento variável com base no valor preditivo determinado; e uma unidade (1506) de descodificação de comprimento variável com a funcionalidade de descodificar os dados codificados obtidos ao codificar o número total de coeficientes diferentes de zero incluídos no bloco actual utilizando a tabela de códigos de comprimento variável seleccionada, em que, no caso em que um dos dois blocos descodificados situados por cima e à esquerda do bloco actual está situado fora de um segmento incluindo o bloco actual, a unidade (1501) de predição determina um valor preditivo com base no número total de coeficientes diferentes de zero incluídos no outro bloco dos dois blocos descodificados. Lisboa, 28 de Setembro de 2010 3
PT09168413T 2002-04-15 2003-03-27 Método e equipamento de descodificação de imagem PT2131593E (pt)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002112665 2002-04-15

Publications (1)

Publication Number Publication Date
PT2131593E true PT2131593E (pt) 2010-10-11

Family

ID=29243326

Family Applications (6)

Application Number Title Priority Date Filing Date
PT10165499T PT2254341E (pt) 2002-04-15 2003-03-27 Método e equipamento de codificação de imagem
PT10165483T PT2254340E (pt) 2002-04-15 2003-03-27 Método e equipamento de descodificação de imagem
PT10165491T PT2239948E (pt) 2002-04-15 2003-03-27 Método e equipamento de codificação de imagem
PT06123645T PT1746841E (pt) 2002-04-15 2003-03-27 Método de codificação de imagem
PT06123494T PT1744562E (pt) 2002-04-15 2003-03-27 Método de descodificação de imagem
PT09168413T PT2131593E (pt) 2002-04-15 2003-03-27 Método e equipamento de descodificação de imagem

Family Applications Before (5)

Application Number Title Priority Date Filing Date
PT10165499T PT2254341E (pt) 2002-04-15 2003-03-27 Método e equipamento de codificação de imagem
PT10165483T PT2254340E (pt) 2002-04-15 2003-03-27 Método e equipamento de descodificação de imagem
PT10165491T PT2239948E (pt) 2002-04-15 2003-03-27 Método e equipamento de codificação de imagem
PT06123645T PT1746841E (pt) 2002-04-15 2003-03-27 Método de codificação de imagem
PT06123494T PT1744562E (pt) 2002-04-15 2003-03-27 Método de descodificação de imagem

Country Status (20)

Country Link
US (14) US7095896B2 (pt)
EP (15) EP1744562B1 (pt)
JP (22) JP4130780B2 (pt)
KR (14) KR101227720B1 (pt)
CN (7) CN100527841C (pt)
AT (13) ATE482570T1 (pt)
AU (1) AU2003227248B2 (pt)
BR (2) BR0303566A (pt)
CA (2) CA2444357C (pt)
CY (2) CY1111051T1 (pt)
DE (8) DE60328837D1 (pt)
DK (5) DK2131593T3 (pt)
ES (13) ES2329712T3 (pt)
HK (4) HK1136730A1 (pt)
MX (1) MXPA03010115A (pt)
MY (4) MY146793A (pt)
PT (6) PT2254341E (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
KR101030903B1 (ko) * 2001-11-22 2011-04-22 파나소닉 주식회사 부호화 방법 및 부호화 장치
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
WO2007016731A1 (en) * 2005-08-05 2007-02-15 Vigil Systems Pty Ltd Computerised 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
CN101543036B (zh) * 2006-11-24 2011-10-26 日本电气株式会社 编码和解码装置、编码和解码方法
US7733249B2 (en) * 2007-01-18 2010-06-08 Qin Zhang Method and system of compressing and decompressing data
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
CN101632308B (zh) 2007-03-14 2011-08-03 日本电信电话株式会社 编码比特率控制方法和装置
BRPI0808774A2 (pt) 2007-03-14 2014-08-19 Nippon Telegraph & Telephone Método de estimativa de quantidade de código, e aparelho, programa e meio de armazenamento para o mesmo
ES2676119T3 (es) 2007-03-14 2018-07-16 Nippon Telegraph And Telephone Corporation Método de control de cuantificación, dispositivo, programa y medio de grabación que contiene el programa
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 株式会社エヌ・ティ・ティ・ドコモ 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム
MX2011012250A (es) * 2009-05-19 2012-03-07 Nokia Corp Procedimiento y aparato para la codificacion de longitud variable.
SI3448031T1 (sl) * 2009-06-18 2021-03-31 Kabushiki Kaisha Toshiba Naprava za video dekodiranje in postopek za video dekodiranje
US9628794B2 (en) * 2009-06-18 2017-04-18 Kabushiki Kaisha Toshiba Video encoding apparatus and a video decoding apparatus
US20110158310A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Decoding data using lookup tables
MX2012010863A (es) 2010-04-01 2012-10-15 Sony Corp Dispositivo y metodo de procesamiento de imagenes.
CN102939750B (zh) 2010-04-13 2016-07-06 Ge视频压缩有限责任公司 跨平面预测
JP5718453B2 (ja) 2010-04-13 2015-05-13 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 復号化方法
CN106454370B (zh) 2010-04-13 2019-11-01 Ge视频压缩有限责任公司 解码器、重建数组的方法、编码器、编码方法及数据流
ES2907203T3 (es) 2010-04-13 2022-04-22 Ge Video Compression Llc Codificación de vídeo que usa subdivisiones multiárbol de imágenes
US9106933B1 (en) * 2010-05-18 2015-08-11 Google Inc. Apparatus and method for encoding video using different second-stage transform
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 キヤノン株式会社 画像処理装置、画像処理方法
KR101953522B1 (ko) * 2011-06-17 2019-02-28 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법 및 화상 부호화 프로그램, 및 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
TWI679876B (zh) * 2011-10-31 2019-12-11 日商Jvc建伍股份有限公司 動態影像解碼裝置及動態影像解碼方法
JP2013126093A (ja) * 2011-12-14 2013-06-24 Sony Corp 画像処理装置及び画像処理方法
TWI618401B (zh) * 2011-12-28 2018-03-11 Jvc Kenwood Corp Motion picture coding device, motion picture coding method and memory medium
JP5977544B2 (ja) * 2012-03-09 2016-08-24 キヤノン株式会社 情報処理装置、情報処理方法
JP5975685B2 (ja) 2012-03-09 2016-08-23 キヤノン株式会社 情報処理装置、情報処理方法
JP6000579B2 (ja) 2012-03-09 2016-09-28 キヤノン株式会社 情報処理装置、情報処理方法
US9219915B1 (en) 2013-01-17 2015-12-22 Google Inc. Selection of transform size in video coding
JP5498597B2 (ja) * 2013-02-07 2014-05-21 株式会社東芝 動画像符号化装置及び方法
JP5547312B2 (ja) * 2013-02-07 2014-07-09 株式会社東芝 動画像復号化装置及び方法
US9967559B1 (en) 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
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
US10477204B2 (en) * 2014-06-20 2019-11-12 Sharp Kabushiki Kaisha Harmonized palette coding
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
EP3306930A4 (en) * 2015-09-10 2018-05-02 Samsung Electronics Co., Ltd. Encoding device, decoding device, and encoding and decoding method thereof
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 マクセル株式会社 復号化方法
EP3741113B1 (en) 2018-01-19 2022-03-16 PCMS Holdings, Inc. Multi-focal planes with varying positions
WO2019183211A1 (en) 2018-03-23 2019-09-26 Pcms Holdings, Inc. Multifocal plane based method to produce stereoscopic viewpoints in a dibr system (mfp-dibr)
WO2020010018A1 (en) * 2018-07-05 2020-01-09 Pcms Holdings, Inc. Method and system for near-eye focal plane overlays for 3d perception of content on 2d displays
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 日本電信電話株式会社 適応的可変長符号化方法
US5603012A (en) * 1992-06-30 1997-02-11 Discovision Associates Start code detector
JP3278948B2 (ja) * 1993-02-05 2002-04-30 日本電信電話株式会社 可変長符号化方法
KR940023248A (ko) * 1993-03-15 1994-10-22 오오가 노리오 화상 신호 부호화 방법 및 장치와, 화상 신호 복호화 방법 및 장치
JPH07107492A (ja) * 1993-10-04 1995-04-21 N T T Data Tsushin Kk 画像符号化方式
US5708659A (en) * 1993-10-20 1998-01-13 Lsi Logic Corporation Method for hashing in a packet network switching system
US5887187A (en) * 1993-10-20 1999-03-23 Lsi Logic Corporation Single chip network adapter apparatus
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
US5500678A (en) * 1994-03-18 1996-03-19 At&T Corp. Optimized scanning of transform coefficients in video coding
US5563593A (en) * 1994-03-18 1996-10-08 Lucent Technologies Inc. Video coding with optimized low complexity variable length codes
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符号化画像復号装置
CN100361536C (zh) * 1996-05-28 2008-01-09 松下电器产业株式会社 图像预测编码/解码装置和方法以及记录媒体
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 松下電器産業株式会社 画像符号化方法および画像符号化装置並びに画像符号化プログラムを記録した記録媒体
EP1689188A3 (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
CN1110963C (zh) * 1997-03-26 2003-06-04 松下电器产业株式会社 图象解码装置
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
US6696993B2 (en) * 2001-03-23 2004-02-24 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
ATE439739T1 (de) 2009-08-15
KR20060040752A (ko) 2006-05-10
AU2003227248A1 (en) 2003-10-27
EP2293578B1 (en) 2012-11-21
EP1596608A3 (en) 2005-11-30
KR100956926B1 (ko) 2010-05-11
ES2399226T3 (es) 2013-03-26
DK2131593T3 (da) 2010-10-25
AU2003227248B2 (en) 2007-08-23
JP2011010338A (ja) 2011-01-13
DE60328836D1 (de) 2009-09-24
US20080063056A1 (en) 2008-03-13
KR20100012061A (ko) 2010-02-04
MY140969A (en) 2010-02-12
US7769238B2 (en) 2010-08-03
ES2329823T3 (es) 2009-12-01
US7308144B2 (en) 2007-12-11
DE60311530T2 (de) 2007-11-15
US20060233451A1 (en) 2006-10-19
CA2444357A1 (en) 2003-10-14
CN1917643A (zh) 2007-02-21
TWI314837B (en) 2009-09-11
EP1744562A3 (en) 2007-02-07
JP2008182756A (ja) 2008-08-07
JP4185561B2 (ja) 2008-11-26
KR20100074326A (ko) 2010-07-01
US20060239575A1 (en) 2006-10-26
ATE482570T1 (de) 2010-10-15
EP1750451B1 (en) 2009-08-12
TWI330986B (en) 2010-09-21
DE60328838D1 (de) 2009-09-24
KR20100074327A (ko) 2010-07-01
JP4465026B2 (ja) 2010-05-19
EP2131592B1 (en) 2011-10-26
EP1478188B1 (en) 2005-12-07
EP1753246B1 (en) 2009-08-12
JP2008160887A (ja) 2008-07-10
HK1146561A1 (en) 2011-06-17
EP2254340B1 (en) 2012-01-18
ES2348325T3 (es) 2010-12-02
EP2131593B1 (en) 2010-09-22
DE60302652T2 (de) 2006-08-10
JP2011061834A (ja) 2011-03-24
DK1596608T3 (da) 2007-03-05
US8139878B2 (en) 2012-03-20
KR100956920B1 (ko) 2010-05-11
ATE531202T1 (de) 2011-11-15
KR20120091468A (ko) 2012-08-17
CA2444357C (en) 2012-03-20
EP2293577B1 (en) 2012-11-21
WO2003088675A1 (en) 2003-10-23
TW200307465A (en) 2003-12-01
JP4185563B2 (ja) 2008-11-26
EP1744561A3 (en) 2007-02-07
US8526748B2 (en) 2013-09-03
KR101227720B1 (ko) 2013-01-29
EP1750451A3 (en) 2007-02-21
US20080175315A1 (en) 2008-07-24
ATE527819T1 (de) 2011-10-15
CN1976471A (zh) 2007-06-06
CN100527840C (zh) 2009-08-12
US20040184538A1 (en) 2004-09-23
TWI281352B (en) 2007-05-11
JP5485363B2 (ja) 2014-05-07
US7308149B2 (en) 2007-12-11
EP1744562B1 (en) 2009-08-12
US20060269154A1 (en) 2006-11-30
EP2134097A1 (en) 2009-12-16
JP2014079003A (ja) 2014-05-01
US20080063055A1 (en) 2008-03-13
CN100527846C (zh) 2009-08-12
EP2239948A1 (en) 2010-10-13
MY146793A (en) 2012-09-28
TW200629910A (en) 2006-08-16
DK1746841T3 (da) 2009-11-30
HK1148150A1 (en) 2011-08-26
DE60334341D1 (de) 2010-11-04
PT2254341E (pt) 2011-10-17
CN1565130A (zh) 2005-01-12
JP4185560B2 (ja) 2008-11-26
JP4465036B2 (ja) 2010-05-19
ES2369653T3 (es) 2011-12-02
ATE542370T1 (de) 2012-02-15
ATE447828T1 (de) 2009-11-15
JP5208157B2 (ja) 2013-06-12
JP2010206823A (ja) 2010-09-16
EP1746841A1 (en) 2007-01-24
EP1478188A1 (en) 2004-11-17
KR20100012103A (ko) 2010-02-05
ATE524020T1 (de) 2011-09-15
HK1146562A1 (en) 2011-06-17
JP4598159B2 (ja) 2010-12-15
ATE352951T1 (de) 2007-02-15
ES2362563T3 (es) 2011-07-07
KR100980987B1 (ko) 2010-09-07
CN100527841C (zh) 2009-08-12
EP1478188A4 (en) 2004-11-17
HK1136730A1 (en) 2010-07-02
TW200629911A (en) 2006-08-16
EP2293578A1 (en) 2011-03-09
MY141699A (en) 2010-06-15
ES2398516T3 (es) 2013-03-19
KR100987548B1 (ko) 2010-10-12
EP2239948B1 (en) 2011-06-01
EP1750451A2 (en) 2007-02-07
SI1478188T1 (sl) 2006-04-30
EP2254340A1 (en) 2010-11-24
KR100954244B1 (ko) 2010-04-23
US8867855B2 (en) 2014-10-21
JP2009022039A (ja) 2009-01-29
CA2732005C (en) 2012-12-04
ES2252666T3 (es) 2006-05-16
CY1111051T1 (el) 2015-06-11
JP4185564B2 (ja) 2008-11-26
KR20100024495A (ko) 2010-03-05
CN1976470A (zh) 2007-06-06
US20130315495A1 (en) 2013-11-28
ATE511733T1 (de) 2011-06-15
JP4982459B2 (ja) 2012-07-25
KR101257212B1 (ko) 2013-04-23
US20090034616A1 (en) 2009-02-05
JP2008193725A (ja) 2008-08-21
MXPA03010115A (es) 2004-03-10
KR101001753B1 (ko) 2010-12-15
KR20120039761A (ko) 2012-04-25
CN1929608A (zh) 2007-03-14
KR100987541B1 (ko) 2010-10-12
JP2009171602A (ja) 2009-07-30
ES2376639T3 (es) 2012-03-15
ES2376639T9 (es) 2012-06-07
PT1746841E (pt) 2009-11-03
ES2330661T4 (es) 2010-06-02
JP4191793B1 (ja) 2008-12-03
KR100956927B1 (ko) 2010-05-11
JP2004007506A (ja) 2004-01-08
BRPI0303566B1 (pt) 2018-02-06
KR20040099093A (ko) 2004-11-26
DK1478188T3 (da) 2006-02-13
JP4628498B2 (ja) 2011-02-09
KR101038154B1 (ko) 2011-05-31
CN1293762C (zh) 2007-01-03
TW200629912A (en) 2006-08-16
JP4130780B2 (ja) 2008-08-06
JP4598158B1 (ja) 2010-12-15
ES2330661T3 (es) 2009-12-14
ES2277313T3 (es) 2007-07-01
JP4653258B1 (ja) 2011-03-16
KR101152507B1 (ko) 2012-06-01
DE60328837D1 (de) 2009-09-24
CY1111971T1 (el) 2015-11-04
JP2010268514A (ja) 2010-11-25
CA2732005A1 (en) 2003-10-23
EP2131592A1 (en) 2009-12-09
DE60311530D1 (de) 2007-03-15
US7095896B2 (en) 2006-08-22
EP2134097B1 (en) 2011-09-07
JP2013070428A (ja) 2013-04-18
JP2011010340A (ja) 2011-01-13
ES2329712T3 (es) 2009-11-30
ATE445294T1 (de) 2009-10-15
PT2254340E (pt) 2012-02-02
JP2006246499A (ja) 2006-09-14
US20060233449A1 (en) 2006-10-19
US20080117969A1 (en) 2008-05-22
PT1744562E (pt) 2009-09-04
JP2009005396A (ja) 2009-01-08
JP4185106B2 (ja) 2008-11-26
JP2010093842A (ja) 2010-04-22
EP1753246A1 (en) 2007-02-14
ATE439740T1 (de) 2009-08-15
JP2011010339A (ja) 2011-01-13
EP1596608A2 (en) 2005-11-16
ES2329822T3 (es) 2009-12-01
EP1744561B1 (en) 2009-11-04
KR20060040751A (ko) 2006-05-10
US8265403B2 (en) 2012-09-11
JP2008178128A (ja) 2008-07-31
US20060233450A1 (en) 2006-10-19
CN1917643B (zh) 2010-12-01
KR101154606B1 (ko) 2012-06-08
JP4382864B2 (ja) 2009-12-16
JP5716082B2 (ja) 2015-05-13
DE60329639D1 (de) 2009-11-19
US7184598B2 (en) 2007-02-27
US7693340B2 (en) 2010-04-06
ATE312478T1 (de) 2005-12-15
US7305134B2 (en) 2007-12-04
CN1976468A (zh) 2007-06-06
JP4741716B1 (ja) 2011-08-10
PT2239948E (pt) 2011-06-09
TWI314838B (en) 2009-09-11
JP4465035B2 (ja) 2010-05-19
JP4628499B2 (ja) 2011-02-09
JP2011172236A (ja) 2011-09-01
CN1976469A (zh) 2007-06-06
EP2254341A1 (en) 2010-11-24
JP2008312226A (ja) 2008-12-25
JP2010081646A (ja) 2010-04-08
US7697770B2 (en) 2010-04-13
DE60302652D1 (de) 2006-01-12
EP2293577A1 (en) 2011-03-09
KR20110099348A (ko) 2011-09-07
CN100527838C (zh) 2009-08-12
BR0303566A (pt) 2004-04-20
CN100527839C (zh) 2009-08-12
ES2369065T3 (es) 2011-11-25
US20080056362A1 (en) 2008-03-06
DK1744562T3 (da) 2009-10-12
KR20100074325A (ko) 2010-07-01
JP2010193509A (ja) 2010-09-02
EP2254341B1 (en) 2011-10-05
KR20110016508A (ko) 2011-02-17
ATE439738T1 (de) 2009-08-15
EP1596608B1 (en) 2007-01-24
KR100990314B1 (ko) 2010-10-26
EP1746841B1 (en) 2009-10-07
KR20060040753A (ko) 2006-05-10
MY135378A (en) 2008-04-30
EP1744562A2 (en) 2007-01-17
EP2131593A1 (en) 2009-12-09
US7308143B2 (en) 2007-12-11
US8290286B2 (en) 2012-10-16
DE60329945D1 (de) 2009-12-17
JP5208156B2 (ja) 2013-06-12
EP1744561A2 (en) 2007-01-17
US20130034308A1 (en) 2013-02-07

Similar Documents

Publication Publication Date Title
PT2131593E (pt) Método e equipamento de descodificação de imagem
TWI317108B (en) Filtering strength determination method, moving picture coding method and moving picture decoding method
TWI331877B (en) Picture coding method and picture coding device
PT2296382E (pt) Método de codificação de imagem
AU2003221378B2 (en) Variable length encoding method, storage medium, and variable length encoding device.
PT3054679T (pt) Método de codificação de imagens em movimento e método de descodificação de imagens em movimento
PT2249574E (pt) Aparelho de codificação de imagem em movimento
PT2765707E (pt) Método e sistema de codificação e descodificação de comprimento variável
TW200306749A (en) Motion vector coding method and motion vector decoding method
MXPA05006718A (es) Metodo de codificacion de imagenes y metodo de decodificacion de imagenes.
MXPA04002302A (es) APARATO DE CODIFICACION DE IMáGENES EN MOVIMIENTO Y APARATO DE DECODIFICACION DE IMáGENES EN MOVIMIENTO.
TW200307467A (en) Motion vector derivation method
AU2008230069A1 (en) Image encoding method and image decoding method