PT1413139E - Método de codificação de comprimento variável e método de descodificação de comprimento variável - Google Patents
Método de codificação de comprimento variável e método de descodificação de comprimento variável Download PDFInfo
- Publication number
- PT1413139E PT1413139E PT02803564T PT02803564T PT1413139E PT 1413139 E PT1413139 E PT 1413139E PT 02803564 T PT02803564 T PT 02803564T PT 02803564 T PT02803564 T PT 02803564T PT 1413139 E PT1413139 E PT 1413139E
- Authority
- PT
- Portugal
- Prior art keywords
- sequence
- code
- value
- variable length
- level
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
- H04N19/31—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/005—Statistical coding, e.g. Huffman, run length coding
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/10—Digital recording or reproducing
- G11B20/14—Digital recording or reproducing using self-clocking codes
- G11B20/1403—Digital recording or reproducing using self-clocking codes characterised by the use of two levels
- G11B20/1423—Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code
- G11B20/1426—Code representation depending on subsequent bits, e.g. delay modulation, double density code, Miller code conversion to or from block codes or representations thereof
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
- H03M5/02—Conversion to or from representation by pulses
- H03M5/04—Conversion to or from representation by pulses the pulses having two levels
- H03M5/14—Code representation, e.g. transition, for a given bit cell depending on the information in one or more adjacent bit cells, e.g. delay modulation code, double density code
- H03M5/145—Conversion to or from block codes or representations thereof
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/162—User input
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/18—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/65—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
- H04N19/69—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience involving reversible variable length codes [RVLC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
- H04N19/89—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/93—Run-length coding
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Image Processing (AREA)
Description
DESCRIÇÃO "MÉTODO DE CODIFICAÇÃO DE COMPRIMENTO VARIÁVEL E MÉTODO DE DESCODIFICAÇÃO DE COMPRIMENTO VARIÁVEL"
Campo Técnico A presente invenção refere-se a um método de codificação de comprimento variável e a um método de descodificação de comprimento variável e, mais particularmente, a um método para converter múltiplos coeficientes que são obtidos pela quantificação de componentes de frequência de dados de imagem (coeficientes de quantificação) em dados codificados de acordo com um processo de codificação de comprimento variável e a um método para descodificar os dados codificados de acordo com um processo de descodificação de comprimento variável para reconstituir múltiplos coeficientes.
Antecedentes da Técnica 0 documento EP 0987899 A2 descreve um método de codificação/descodificação de comprimento variável adaptativo que executa uma codificação e descodificação de comprimento variável ideal dependendo de uma condição de modo intra/modo inter, dimensão das etapas de quantificação e de uma posição actual de varrimento em ziguezague, para definir uma pluralidade de tabelas de codificação de comprimento variável tendo diferentes padrões de uma região regular e de uma região de escape de acordo com caracteristicas estatísticas dos dados de 1 nível de execução. Uma das tabelas de codificação de comprimento variável é seleccionada de acordo com o modo, dimensão das etapas de quantificação e posição de varrimento e os coeficientes de transformação ortogonal de acordo com a tabela de codificação de comprimento variável seleccionada são codificados segundo o método de codificação de comprimento variável.
Nos últimos anos, saudou-se a idade da multimédia em que dados de áudio, vídeo e outros são tratados integralmente e meios de informação convencionais (í. e., meios para transmitir a informação às pessoas), tais como jornais, revistas, televisões, rádios e telefones foram adoptados como temas multimédia. Geralmente, "multimédia" representa não apenas caracteres, mas também diagramas, formas orais e, especialmente, imagens que se relacionam simultaneamente uns com os outros. De modo a tratar meios de informação convencionais como temas de multimédia, é essencial transformar a informação para o formato digital.
Quando a quantidade de dados processada por cada meio de informação descrito acima é estimada como a quantidade de dados digitais, no caso de caracteres, a quantidade de dados para cada carácter é 1~2 bytes. No entanto, no caso de voz, a quantidade de dados é de 64 kbits por segundo (qualidade para telecomunicação) e, no caso de imagens em movimento, é superior a 100 Mbits por segundo (qualidade para a actual transmissão de televisão). Assim, no caso dos meios de informação descritos 2 acima, não é prático tratar dados tão massivos como acontece no formato digital. Por exemplo, já se utilizam, na prática, videofones por ISDN (Rede Digital com Integração de Serviços) tendo uma taxa de transmissão de 6 4 kbps ~ 1,5 Mbps, mas é impossível transmitir uma imagem de saída de uma câmara de televisão tendo uma grande quantidade de dados como acontece com a ISDN.
Assim, tecnologias de compressão de dados são necessárias. Por exemplo, no caso dos videofones, empregam-se as tecnologias de compressão de imagens em movimento normalizadas como H.261 e H. 263 pelo ITU-T (União Internacional das Telecomunicações -Sector das Telecomunicações). Além disso, de acordo com a tecnologia de compressão de dados baseada em MPEG-1, é possível gravar dados de imagem em conjunto com dados de áudio num CD (disco compacto) de música vulgar.
Neste caso, o MPEG (Grupo de Especialistas em Imagens em Movimento) é uma norma internacional associada com compressão digital para sinais de imagem de imagens em movimento. Na MPEG- I, um sinal de imagem de uma imagem em movimento é comprimido a 1,5 Mbps, i. e., os dados de um sinal de televisão são comprimidos até, aproximadamente, 1/100. Dado que a taxa de transmissão a que MPEG-1 se refere está restringida, principalmente, a cerca de 1,5 Mbps, a MPEG-2 é normalizada para satisfazer os requisitos de uma qualidade de imagem mais elevada. Em MPEG-2, um sinal de imagem de uma imagem em movimento é comprimido a 2~15 Mbps. 3
Nas circunstâncias existentes, a normalização de MPEG-4 tendo uma taxa de compressão mais elevada foi realizada pelo grupo de trabalho para a normalização de MPEG-1 e MPEG-2 (ISO/IEC JTC1/SC29/WG11). A MPEG-4 permite não apenas uma codificação num débito binário baixo com eficiência elevada, como também introduz uma forte tecnologia resistente a erros que pode reduzir uma deterioração subjectiva da qualidade da imagem, mesmo quando ocorrem erros de linha de transmissão. Além disso, a ITU-T está a desenvolver a normalização de H.26L como um método de codificação de imagem da geração seguinte e o método de codificação mais recente, neste momento, é um método denominado "Test Model 8" (TML8). A Fig. 30 é um diagrama de blocos que ilustra um aparelho convencional de codificação de imagem.
Este aparelho 201a de codificação de imagem tem uma unidade Blk de bloqueio para bloquear um sinal Vin de imagem introduzido em áreas unitárias (blocos) compreendendo cada, um número predeterminado de pixéis e emitir um sinal BlkS de imagem bloqueado e uma unidade Trans de transformação de frequência para submeter a saida BlkS a transformação de frequência para emitir componentes TransS de frequência correspondentes a blocos respectivos. Neste caso, o bloco é uma área de tamanho predeterminado numa imagem (espaço de imagem), que é uma unidade para um processo de codificação de um sinal de imagem e é composto por um número predeterminado de pixéis. Neste caso, o sinal Vin de imagem corresponde a uma imagem em movimento que é composta por múltiplas imagens. O aparelho 201a de codificação de imagem inclui, ainda, uma 4 unidade Q de quantificação para quantificar as saídas (componentes de frequência) TransS da unidade de transformação de frequência e emitir componentes QS (coeficientes de quantificação) quantificados correspondendo a blocos respectivos e uma unidade RLEOa de codificação para submeter os Qs emitidos (componentes quantificados) da unidade de quantificação a um processo de codificação de comprimento variável.
Em seguida, descreve-se o seu funcionamento.
Quando um sinal Vin de imagem é introduzido no aparelho 201a de codificação de imagem, a unidade Blk de bloqueio divide o sinal Vin de imagem introduzido em sinais de imagem correspondendo a unidades de bloco, para gerar um sinal BlkS de imagem (sinal de imagem bloqueado) correspondendo a cada bloco. A unidade TransS de transformação de frequência transforma o sinal BlkS de imagem bloqueado em componentes TransS de frequência de acordo com uma DCT (Transformação Discreta de Cossenos) ou transformação "Wavelet". A unidade Q de quantificação quantifica os componentes TransS de frequência numa etapa de quantificação predeterminada com base num parâmetro QP de quantificação para emitir componentes QS quantificados, bem como para emitir o parâmetro QP de quantificação. Depois, a unidade RLEOa de codificação submete os componentes QS quantificados a um processo de codificação de comprimento variável e emite um fluxo StrOa codificado. A Fig. 31 é um diagrama de blocos para explicar a unidade RLEOa de codificação que constitui o aparelho 201a de codificação de imagem.
Esta unidade RLEOa de codificação tem um explorador Scan de 5 ziguezague para transformar as saídas QS (componentes quantificados) da unidade Q de quantificação com uma organização bidimensional num componente Coef quantificado com uma organização unidimensional (í. e., ordem predeterminada) e um codificador VLC de comprimento variável para submeter os componentes Coef quantificados emitidos pelo explorador Scan de ziguezague a um processo de codificação de comprimento variável.
Quando os componentes QS quantificados emitidos pela unidade Q de quantificação são introduzidos na unidade RLEOa de codificação, o explorador Scan de ziguezague transforma os componentes QS quantificados com organização bidimensional da unidade Q de quantificação em componentes Coef quantificados com organização unidimensional (ordem predeterminada) e emite os componentes quantificados. A Fig. 43 é um diagrama para explicar, especificamente, o processo para transformar os componentes QS quantificados pelo explorador Scan de ziguezague.
Como mostrado na Fig. 43, os componentes QS quantificados emitidos pela unidade Q de quantificação têm uma organização bidimensional, i. e., uma organização em que os componentes QS quantificados estão dispostos em forma de matriz numa região Fr de frequência bidimensional de acordo com a altura do componente de frequência horizontal e a altura do componente de frequência vertical. 0 explorador Scan de ziguezague efectua um processo para fazer o varrimento dos componentes QS quantificado na organização bidimensional em ziguezague, como mostrado pelas setas Y1 a Y7, para transformar os componentes em componentes 6
Coef quantificados numa organização unidimensional. Ou seja, neste processo de varrimento, define-se uma ordem predeterminada ao longo do percurso de varrimento no que se refere aos múltiplos componentes QS quantificados na organização bidimensional.
Depois, o codificador VLC de comprimento variável atribui códigos aos componentes Coef quantificados que são emitidos pelo explorador Scan de ziguezague, utilizando uma tabela de códigos que mostra uma correlação entre valores numéricos indicando as dimensões dos componentes quantificados e códigos (palavras de código), para transformar os componentes quantificados num fluxo StrOa codificado correspondendo a cada bloco. A Fig. 32 é um diagrama de blocos para explicar um aparelho 202a de descodificação de imagem correspondendo ao aparelho 201a de codificação de imagem como mostrado na Fig. 30.
Este aparelho 202a de descodificação de imagem descodifica o fluxo StrOa codificado que é emitido pelo aparelho 201a convencional de codificação de imagem como mostrado na Fig. 30. O aparelho 202a de descodificação de imagem tem uma unidade RLDOa de descodificação para descodificar o fluxo StrOa codificado que é emitido pelo aparelho 201a de codificação de imagem e uma unidade IQ de inversão de quantificação para submeter saidas (componentes de quantificação descodificados) DQS da unidade RLDOa de descodificação a um processo de inversão de quantificação. O aparelho 202a de descodificação de imagem inclui, ainda, uma unidade ITrans de inversão de transformação de frequência 7 para submeter saídas (componentes de frequência descodificados) ITransS da unidade IQ de inversão de quantificação a um processo de inversão de transformação de frequência e uma unidade Deblk de desbloqueio para gerar um sinal Vout de imagem descodificado correspondendo a cada imagem com base em saídas (sinais de imagem bloqueados descodificados) DBlkS da unidade ITrans de inversão de transformação de frequência.
Em seguida, descreve-se o seu funcionamento.
Quando o fluxo StrOa codificado é introduzido do aparelho 201a de codificação de imagem no aparelho 202a de descodificação de imagem, a unidade RLDOa de descodificação descodifica o fluxo StrOa codificado e emite componentes DQS quantificados descodificados. O funcionamento da unidade RLDOa de descodificação é o inverso do funcionamento da unidade RLEOa de codificação. O funcionamento da unidade IQ de inversão de quantificação é o inverso do funcionamento da unidade Q de quantificação, i. e., um funcionamento em que se quantificam inversamente os componentes DQS quantificados descodificados recorrendo ao parâmetro QP de quantificação e se emitem componentes ITransS de frequência descodificados. O funcionamento da unidade ITrans de inversão de transformação de frequência é o inverso do funcionamento da unidade Trans de transformação de frequência, i. e., um funcionamento em que se submete os componentes ITransS de frequência descodificados a uma transformação DCT inversa ou "wavelet" inversa, para reconstituir sinais DBlkS de imagem descodificados correspondendo a blocos respectivos. Depois, a unidade DeBlk de desbloqueio integra os sinais DBlkS de imagem 8 descodificados dos blocos respectivos para emitir um sinal Vout de imagem descodificado correspondendo a cada imagem (trama). A Fig. 33 é um diagrama de blocos para explicar a unidade RLDOa de descodificação que constitui o aparelho 202a de descodificação de imagem. A unidade RLDOa de descodificação tem um descodificador VLD de comprimento variável para submeter o fluxo StrOa codificado a um processo de descodificação de comprimento variável para descodificar o componente Coef quantificado correspondendo a cada código incluído no fluxo StrOa codificado e um explorador IScan de inversão de ziguezague para reconstituir componentes DQS quantificados numa organização bidimensional a partir dos componentes Coef quantificados descodificados numa organização unidimensional, que são emitidos pelo descodificador VLD de comprimento variável.
Nesta unidade RLDOa de descodificação, o descodificador VLD de comprimento variável descodifica o fluxo StrOa codificado de acordo com o funcionamento inverso do codificador VLC de comprimento variável e emite componentes Coef quantificados correspondendo a códigos (palavras de código). Depois, o funcionamento do explorador IScan de inversão de ziguezague é o inverso do explorador Scan de ziguezague, para reconstituir componentes DQS quantificados descodificados numa organização bidimensional a partir dos componentes Coef quantificados numa organização unidimensional, que são emitidos do descodificador VLD de comprimento variável e emite os componentes DQS quantificados descodificados para a unidade IQ de inversão de quantificação. 9 0 Pedido de Patente Japonesa Publicado com o N° Hei.6-311534 divulga um método em que um sinal de imagem é dividido num sinal de luminância e num sinal de diferença de cor para submeter os sinais obtidos a um processo de codificação de comprimento variável.
Os múltiplos componentes quantificados correspondendo aos blocos respectivos, para os quais se definiu a ordem predeterminada, são dados incluindo uma redundância elevada, i. e., dados em que múltiplos coeficientes cujos valores são zero (coeficientes zero) continuam após um coeficiente cujo valor não é zero (coeficiente não-zero). Para codificar estes componentes quantificados, tem sido empregue, convencionalmente, um método em que componentes quantificados são codificados sendo a sua informação redundante apagada, por exemplo, um método de codificação de comprimento de sequência em que os componentes quantificados são codificados utilizando um valor de sequência que indica o número de coeficientes zero sucessivos e um valor de nível que indica um valor de um coeficiente não-zero depois dos coeficientes zero.
Em seguida, descreve-se um aparelho convencional de codificação de imagem utilizando o método de codificação de comprimento de sequência. A Fig. 34 é um diagrama de blocos que ilustra um aparelho convencional de codificação de imagem que executa a codificação de comprimento de sequência.
Este aparelho 201b de codificação de imagem inclui, no lugar da unidade RLEOa de codificação do aparelho 201a de codificação de imagem mostrado na Fig. 30, uma unidade RLEOb de codificação 10 de comprimento de sequência para submeter saídas (componentes quantificados) QS da unidade Q de quantificação a codificação de comprimento de sequência e emitir um fluxo StrOb codificado. Outros componentes são iguais aos do aparelho 201a de codificação de imagem. O funcionamento do aparelho 201b de codificação de imagem só é diferente do do aparelho 201a de codificação de imagem apenas no funcionamento da unidade RLEOb de codificação. A Fig. 35 é um diagrama de blocos que ilustra uma construção específica da unidade RLEOb de codificação no aparelho 201b de codificação de imagem.
Esta unidade RLEOb de codificação de comprimento de sequência tem, como a unidade RLEOa de codificação, um explorador Scan de ziguezague para transformar saídas (componentes quantificados) QS numa organização bidimensional da unidade Q de quantificação em componentes Coef quantificados com uma organização unidimensional (i. e., uma ordem predeterminada).
Depois, esta unidade RLEOb de codificação de comprimento de sequência inclui, ainda, uma calculadora RunCal de valores de sequência para calcular o número de componentes Coef quantificados sucessivos cujos valores são zero (coeficientes zero) e emitir um valor Run de sequência indicando o número de coeficientes zero sucessivos, e uma calculadora LevCal de valores de nível para calcular um valor de um componente quantificado cujo valor não é zero (coeficiente não-zero), depois dos coeficientes zero e emitir um valor Lev de nível que indica o valor do coeficiente não-zero. 11 A unidade RLEOb de codificação de comprimento de sequência inclui, ainda, um codificador LevVLC de comprimento variável para submeter o valor Lev de nível que é emitido pela calculadora LevCal de valores de nível a um processo de codificação de comprimento variável e emitir uma cadeia LStr de caracteres de código (cadeia de caracteres de código de valor de nivel), um codificador RunVLC de comprimento variável para submeter o valor Run de sequência que é emitido pela calculadora RunCal de valores de sequência a um processo de codificação de comprimento variável e emitir uma cadeia RStr de caracteres de código (cadeia de caracteres de código de valor de sequência) e um mult iplexador MUX para multiplexar a cadeia LStr de caracteres de código de valor de nível e a cadeia RStr caracteres de código de valor de sequência para cada bloco emitir um fluxo StrOb codificado multiplexado.
Em seguida, descreve-se o seu funcionamento. 0 explorador Scan de ziguezague transforma os componentes QS quantificados com uma organização bidimensional, que são emitidos da unidade Q de quantificação, em componentes Coef quantificados com uma organização unidimensional (ordem predeterminada) e emite os componentes Coef quantificados. 0 processo de transformação para os componentes QS quantificados pelo explorador Scan de ziguezague é realizado do mesmo modo que na unidade RLEOa de codificação do aparelho 201a de codificação de imagem. A calculadora RunCal de valores de sequência calcula o número de coeficientes zero sucessivos com base nos componentes Coef quantificados que são emitidos pelo explorador Scan de 12 ziguezague e emite um valor Run de sequência indicando o número calculado. A calculadora LevCal de valores de nível calcula um valor de um coeficiente não-zero que se segue aos coeficientes zero sucessivos com base nos componentes Coef quantificados emitidos pelo explorador Scan de ziguezague e emite um valor Lev de nível que indica este valor.
Neste caso, a calculadora RunCal de valores de sequência gera um valor EOB especial (Fim de Bloco) ao detectar o componente de frequência mais elevada (o último coeficiente não-zero) no bloco alvo a processar, para informar que todos os subsequentes componentes de frequência mais elevada têm o valor zero.
Além disso, o codificador RunVLC de comprimento variável submete o valor Run de sequência que é emitido pela calculadora RunCal de valores de sequência a um processo de codificação de comprimento variável para atribuir um código (palavra de código) ao valor de sequência de acordo com uma tabela de códigos ou operação aritmética e emite uma cadeia RStr de caracteres de código. 0 codificador LevVLC de comprimento variável submete o valor Lev de nivel que é emitido pela calculadora LevCal de valores de nível a um processo de codificação de comprimento variável para atribuir um código (palavra de código) ao valor de nível de acordo com uma tabela de códigos ou operação aritmética e emite uma cadeia LStr de caracteres de código. 0 multiplexador MUX multiplexa a cadeia LStr de caracteres de código e a cadeia RStr de caracteres de código para cada bloco e emite um fluxo StrOb codificado multiplexado.
Neste caso, o processo para multiplexar a cadeia LStr de 13 caracteres de código e a cadeia RStr de caracteres de código é realizado para cada bloco, por exemplo, de modo a que a cadeia RStr de caracteres de código correspondendo a todos os valores de sequência para um bloco alvo seja seguida pela cadeia LStr de caracteres de código correspondendo a todos os valores de nivel para o bloco alvo ou a cadeia LStr de caracteres de código correspondendo a todos os valores de nivel para um bloco alvo seja seguida pela cadeia RStr de caracteres de código correspondendo a todos os valores de sequência para o bloco alvo.
Os aparelhos de codificação de imagem, como descritos acima, para codificar múltiplos coeficientes quantificados com uma ordem predeterminada, utilizando o valor Run de sequência indicando o número de componentes Coef quantificados cujos valores são zero (coeficientes zero) e o valor Lev de nivel indicando um valor de um componente Coef quantificado cujo valor não é zero (coeficiente não-zero), depois dos coeficientes zero, podem codificar os múltiplos coeficientes quantificados com uma eficiência de codificação mais elevada, removendo, ao mesmo tempo, a sua informação redundante. A Fig. 36 é um diagrama de blocos para explicar um aparelho 202b de descodificação de imagem correspondendo ao aparelho 201b de codificação de imagem como mostrado na Fig. 34.
Este aparelho 202b de descodificação de imagem descodifica o fluxo StrO codificado que é emitido pelo aparelho 201b convencional de codificação de imagem como mostrado na Fig. 34. O aparelho 202b de descodificação de imagem tem, no lugar da unidade RLDOa de descodificação do aparelho 202a de descodificação de imagem mostrado na Fig. 32, uma unidade RLDOb 14 de descodificação de comprimento de sequência para submeter o fluxo StrOb codificado que é emitido pelo aparelho 201b de codificação de imagem a um processo de descodificação de comprimento de sequência. Outros componentes são idênticos aos do aparelho 202a de descodificação de imagem. O funcionamento do aparelho 202b de descodificação de imagem só é diferente do do aparelho 202a de descodificação de imagem no que se refere ao funcionamento da unidade RLDOb de descodificação. A Fig. 37 é um diagrama de blocos que ilustra uma construção específica da unidade RLDOb de descodificação de comprimento de sequência no aparelho 202b de descodificação de imagem.
Esta unidade RLDOb de descodificação de comprimento de sequência tem um desmultiplexador DMUX para desmultiplexar o fluxo StrOb codificado multiplexado que é emitido pelo aparelho 201b de codificação de imagem para obter a cadeia LStr de caracteres de código correspondendo aos valores de nível e a cadeia RStr de caracteres de código correspondendo aos valores de sequência, um descodificador LevVLD de comprimento variável para submeter a cadeia LStr de caracteres de código processo de descodificação de comprimento variável reconstituir os valores Lev de nível, um descodificador RunVLC de comprimento variável para submeter a cadeia RStr de caracteres de código a um processo de descodificação de comprimento variável para reconstituir os valores Run de sequência, e um explorador IScan de inversão de ziguezague para reconstituir componentes DQS quantificados descodificados com uma organização bidimensional a partir de componentes 15 quantificados descodificados com uma organização unidimensional, que são representados pelos valores Lev de nivel e pelos valores Run de sequência.
Em seguida, descreve-se o seu funcionamento.
No aparelho 202b de descodificação de imagem, a unidade RLDOb de descodificação de comprimento de sequência realiza a operação inversa da unidade RLEOb de codificação de comprimento de sequência. Ou seja, a unidade RLDOb de descodificação de comprimento de sequência desmultiplexa o fluxo StrOb codificado multiplexado para obter a cadeia LStr de caracteres de código correspondendo aos valores de nivel e a cadeia RStr de caracteres de código correspondendo aos valores de sequência.
Depois, o descodificador LevVLD de comprimento variável descodifica a cadeia LStr de caracteres de código correspondendo aos valores de nivel funcionando inversamente ao codificador LevVLC de comprimento variável e emite os valores Lev de nivel. O descodificador RunVLD de comprimento variável descodifica a cadeia RStr de caracteres de código correspondendo aos valores de sequência funcionando inversamente ao codificador RunVLC de comprimento variável e emite os valores Run de sequência. O explorador IScan de inversão de ziguezague reconstitui componentes DQS quantificados descodificados com uma organização bidimensional a partir dos componentes quantificados com uma organização unidimensional, que são representados pelos valores Lev de nivel e os valores Run de sequência, pela operação inversa à do explorador Scan de ziguezague e emite os componentes quantificados descodificados para a unidade IQ de inversão de quantificação. No entanto, este explorador IScan de 16 inversão de ziguezague (ver Fig. 37) é diferente do explorador IScan de inversão de ziguezague mostrado na Fig. 33, na medida em que o valor Lev de nivel e o valor Run de sequência são introduzidos no mesmo. Assim, o explorador IScan de inversão de ziguezague mostrado na Fig. 37 tem a função de converter um coeficiente que é representado pelo valor Lev de nivel e pelo valor Run de sequência num componente Coef quantificado.
De acordo com o aparelho de descodificação de imagem que realiza um processo de descodificação para descodificar múltiplos coeficientes quantificados com uma ordem predeterminada, utilizando o valor Run de sequência indicando o número de componentes Coef quantificados cujos valores são zero (coeficientes zero) e o valor Lev de nivel indicando um valor de um componente Coef quantificado cujo valor não é zero (coeficiente não-zero), depois dos coeficientes zero, os dados codificados que são obtidos pela codificação de múltiplos componentes quantificados de acordo com uma codificação de comprimento de sequência com remoção da sua informação redundante com uma eficiência de codificação mais elevada são descodificados satisfatoriamente.
Em seguida, descreve-se outro exemplo do aparelho convencional de codificação de imagem utilizando o método de codificação de comprimento de sequência. A Fig. 38 é um diagrama de blocos que ilustra outro exemplo do aparelho de codificação de imagem que emprega a unidade de codificação de comprimento de sequência convencional. Quase todos os aparelhos convencionais de codificação de imagem que satisfazem normas, tais como MPEG ou H.261 e H.263 (ITU), ou um 17 projecto de norma H26L (TML8) que está a ser planeado agora, têm uma construção como mostrada na Fig. 38.
Este aparelho 201c de codificação de imagem executa a codificação de coeficientes quantificados utilizando o valor de sequência e o valor de nivel, como o aparelho 201b de codificação de imagem mostrado na Fig. 34, embora este aparelho 201c de codificação de imagem não execute um processo de codificação de comprimento variável para o valor de sequência e o valor de nivel separadamente, como o aparelho 201b de codificação de imagem, mas execute um processo de codificação de comprimento variável para um par constituído por um valor de sequência e um valor de nível (par sequência-nível).
Mais especificamente, o aparelho 201c de codificação de imagem tem, como o aparelho 201b de codificação de imagem, uma unidade Blk de bloqueio na qual se introduz um sinal Vin de imagem, uma unidade Trans de transformação de frequência para submeter uma saída BlkS da unidade de bloqueio à transformação de frequência e uma unidade Q de quantificação para quantificar saídas (componentes de frequência) TransS da unidade de transformação. 0 aparelho 201c de codificação de imagem inclui, ainda, uma unidade RLEOc de codificação de comprimento de sequência para submeter saídas (componentes quantificados) QS da unidade de quantificação a um processo de codificação de comprimento de sequência para transformar um par sequência- nível, compreendendo um valor de sequência e um valor de nível, num código de comprimento variável.
Em seguida, descreve-se o seu funcionamento. A unidade Blk de bloqueio divide o sinal Vin de imagem em 18 sinais de imagem correspondendo às unidades de bloco para gerar componentes BlkS de valor de pixel (sinais de imagem bloqueados). A unidade Trans de transformação de frequência transforma os componentes BlkS de valor de pixel em componentes TransS de frequência de acordo com uma transformação DCT (Transformação Discreta de Cossenos) ou "Wavelet". A unidade Q de quantificação quantifica os componentes TransS de frequência com base num parâmetro QP de quantificação para emitir componentes QS quantificados, bem como emitir o parâmetro Q de quantificação. A unidade RLEOc de codificação de comprimento de sequência submete os componentes QS quantificados a codificação de comprimento de sequência e emite um fluxo StrOc codificado.
Neste caso, o bloco é uma área de um tamanho predeterminado na imagem (espaço de imagem), que é uma unidade num processo de codificação para um sinal de imagem, e composto por um número predeterminado de pixéis. A codificação de comprimento de sequência é um processo para transformar um par compreendendo um valor de sequência que indica o número de componentes quantificados sucessivos cujos valores são zero (coeficientes zero) e um valor de nível que indica um valor de um componente quantificado cujo valor não é zero (coeficiente não-zero), depois dos coeficientes zero, num código de comprimento variável, por outras palavras, um processo para atribuir um código de comprimento variável (palavra de código) a um par constituído por um valor de sequência e um valor de nível (par sequência-nível).
Em seguida, a unidade RLEOc de codificação de comprimento de sequência será descrita especificamente. 19 A Fig. 39 é um diagrama de blocos que ilustra uma unidade RLEOc de codificação de comprimento de sequência convencional.
Esta unidade RLEOc de codificação de comprimento de sequência tem, como a unidade RLEOb de codificação de comprimento de sequência mostrada na Fig. 35, um explorador Scan de ziguezague para transformar as saídas (componentes quantificados) QS com uma organização bidimensional a partir da unidade Q de quantificação em componentes Coef quantificados com uma organização unidimensional (i. e., uma ordem predeterminada); uma calculadora RunCal de valores de sequência para calcular o número de componentes Coef quantificados sucessivos cujos valores são zero (coeficientes zero) e emitir um valor Run de sequência; e uma calculadora LevCal de valores de nível para calcular um valor de um componente Coef quantificado cujo valor não é zero (coeficiente não-zero), depois dos coeficientes zero e emitir um valor Lev de nível. A unidade RLEOc de codificação de comprimento de sequência inclui, ainda, um codificador RunLevEnc de sequência-nível para obter um número Code de código correspondendo a um par constituído pelo valor Lev de nível e valor Run de sequência de acordo com uma tabela de códigos ou operação aritmética com base nas saídas da calculadora RunCal de valores de sequência e da calculadora LevCal de valores de nível; e um codificador VLC de comprimento variável para atribuir uma palavra de código ao número Code de código para gerar um fluxo StrOc codificado correspondendo ao sinal Vin de imagem.
Em seguida, descreve-se o seu funcionamento. 20
Na unidade RLEOc de codificação de comprimento de sequência, como na unidade RLEOb de codificação de comprimento de sequência, o explorador Scan de ziguezague transforma os componentes QS quantificados com uma organização bidimensional, que são emitidos da unidade Q de quantificação, em componentes Coef quantificados com uma organização unidimensional (ordem predeterminada) e emite os componentes quantificados obtidos. A Fig. 43 é um diagrama para explicar, especificamente, um processo para transformar os componentes QS quantificados pelo explorador Scan de ziguezague.
Os componentes QS quantificados emitidos pela unidade Q de quantificação têm uma organização bidimensional como mostrado na Fig. 43, i. e., uma organização em que os componentes QS quantificados estão dispostos na forma de uma matriz numa região Fr de frequência bidimensional de acordo com o tamanho do componente horizontal de frequência e o tamanho do componente vertical de frequência. 0 explorador Scan de ziguezague executa o processo para fazer o varrimento dos componentes QS quantificados com a organização bidimensional em ziguezague, como mostrado pelas setas Y1 a Y7, para transformar os componentes QS quantificados em componentes Coef quantificados com uma organização unidimensional. Ou seja, este processo de varrimento define uma ordem predeterminada ao longo do percurso de varrimento, no que se refere aos múltiplos componentes QS quantificados com a organização bidimensional. A calculadora RunCal de valores de sequência calcula o número de coeficientes zero sucessivos com base nos componentes 21
Coef quantificados emitidos pelo explorador Scan de ziguezague e emite um valor Run de sequência indicando o número calculado. A calculadora LevCal de valores de nivel calcula um valor de um coeficiente não-zero depois dos coeficientes zero sucessivos, com base nos componentes Coef quantificados emitidos pelo explorador Scan de ziguezague e emite um valor de nivel que indica o valor calculado. Neste caso, a calculadora RunCal de valores de sequência emite um valor EOB (Fim de Bloco) especifico quando detecta o componente de frequência mais elevada (o último coeficiente não-zero) num bloco alvo a processar, para informar que todos os subsequentes componentes de frequência mais elevada têm o valor zero.
Além disso, o codificador RunLevEnc de sequência-nível obtém um número Code de código correspondendo a um par constituído pelo valor Lev de nível e valor Run de sequência com base nas saídas da calculadora RunCal de valores de sequência e calculadora LevCal de valores de nível, de acordo com uma tabela de códigos ou operação aritmética. 0 codificador VLC de comprimento variável codifica o número Code de código que é obtido pelo conversor RunLevEnc, i. e., atribui uma palavra de código (cadeia de bits) ao número de código para gerar um fluxo StrO codificado. A Fig. 42 mostra um exemplo de uma tabela de códigos que é empregue pela unidade RLEOc de codificação de comprimento de sequência. A tabela de códigos TI (primeira tabela de codificação), mostrada na Fig. 42, mostra uma tabela de códigos correspondendo a componentes DC de um sinal de diferença de cor que satisfaz um projecto de norma H.26L (TML8) actualmente em planeamento. 22
Esta tabela de códigos T é composta por uma parte que pode ser regularmente gerada incluindo números de código correspondendo a pares de valores de nível e valores de sequência que podem ser calculados de acordo com uma operação aritmética utilizando valores de nível e valores de sequência (VLC de construção regular), e uma parte irregular incluindo números de código correspondendo a pares de valores de nível e valores de sequência que não podem ser calculados pela operação aritmética (VLC de tabela de consulta). Além disso, uma cadeia de bits (não mostrada) é atribuída a cada número Code de código como uma palavra de código numa relação de um para um. Uma palavra de código mais curta é atribuída a um número Code de código tendo um valor menor.
Em seguida, descreve-se um aparelho convencional de descodificação correspondendo ao aparelho 201c de codificação de imagem. A Fig. 40 é um diagrama de blocos que ilustra um aparelho 202c de descodificação de imagem que emprega uma unidade RLDO convencional de descodificação de comprimento de sequência.
Este aparelho 202c de descodificação de imagem descodifica o fluxo StrO codificado que é emitido pelo aparelho 201c convencional de codificação de imagem mostrado na Fig. 39. O aparelho 202c de descodificação de imagem descodifica coeficientes quantificados utilizando o valor de sequência e o valor de nível, como o aparelho 202b de descodificação de imagem na Fig. 36, embora este aparelho 202c de descodificação de 23 imagem não execute descodificação de comprimento variável do valor de sequência e do valor de nível separadamente como o aparelho 202b de descodificação de imagem, mas execute descodificação de comprimento variável de um par compreendendo o valor de sequência e o valor de nível (par sequência-nível).
Mais especificamente, o aparelho 202c de descodificação de imagem tem uma unidade RLDOc de descodificação de comprimento de sequência que submete o fluxo StrO codificado emitido pelo aparelho 201c de codificação de imagem a um processo de descodificação de comprimento de sequência utilizando um par sequência-nível compreendendo um valor de sequência e um valor de nível. O aparelho 202c de descodificação de imagem tem, ainda, como o aparelho 202b de descodificação de imagem, uma unidade IQ de inversão de quantificação para submeter saldas (componentes quantificados descodificados) DQS da unidade RLDc de descodificação de comprimento de sequência a um processo de inversão de quantificação; uma unidade ITrans de inversão de transformação de frequência para submeter saídas (componentes de frequência descodificados) ITransS da unidade IQ de inversão de quantificação a um processo de inversão de transformação de frequência; e uma unidade DeBlk de desbloqueio para gerar um sinal Vout de imagem descodificado correspondendo a cada imagem com base nas saídas (componentes de valor de pixel descodificados) DBlkS da unidade ITrans de inversão de transformação de frequência.
Em seguida, descreve-se o seu funcionamento.
No aparelho 202c de descodificação de imagem, a unidade RLDOc de descodificação de comprimento de sequência realiza a operação inversa da da unidade RLEOc de codificação de comprimento de sequência. Mais especificamente, a unidade RLDOc de descodificação de comprimento de sequência submete o fluxo StrO codificado a um processo de descodificação de comprimento de sequência para emitir componentes DQS quantificados descodificados. A unidade IQ de inversão de quantificação realiza a operação inversa da da unidade Q de quantificação, i. e., uma operação em que se quantifica inversamente os componentes DQS quantificados descodificados no que se refere a um parâmetro QP de quantificação para emitir componentes ITransS de frequência descodificados. A unidade ITrans de inversão de transformação de frequência realiza a operação inversa da da unidade Trans de transformação de frequência, i. e., uma operação em que se submete os componentes ITransS de frequência descodificados à transformação DCT inversa ou "Wavelet" inversa, para reconstituir um sinal DBlkS de valor de pixel descodificado (sinal de imagem bloqueado descodificado) correspondendo a cada bloco. A unidade DeBlk de desbloqueio integra os componentes de valor de pixel de imagem para os blocos respectivos e emite um sinal Vout de imagem descodificado correspondendo a cada imagem (trama).
Em seguida, descreve-se, especificamente, a unidade RLDOc de descodificação de comprimento de sequência. A Fig. 41 é um diagrama de blocos para explicar uma construção especifica da unidade RLDOc de descodificação de comprimento de sequência.
Esta unidade RLDOc de descodificação de comprimento de sequência tem um descodificador VLD de comprimento variável para submeter o fluxo StrO codificado a um processo de descodificação de comprimento variável para obter um número Code de código 25 correspondendo a cada código (palavra de código) incluído no fluxo StrO codificado; um detector RunLevDec de sequência-nível para detectar um par constituído por um valor Lev de nível e um valor Run de sequência, correspondendo ao número Code de código; e um explorador IScan de inversão de ziguezague para reconstituir os componentes DQS quantificados descodificados com uma organização bidimensional a partir de componentes quantificados descodificados com uma organização unidimensional, que são representados pelos valores Lev de nível e valores Run de sequência, com base nos pares dos valores Lev de nível e valores Run de sequência.
Em seguida, descreve-se o seu funcionamento.
Nesta unidade RLDOc de descodificação de comprimento de sequência, o descodificador VLD de comprimento variável descodifica o fluxo StrO codificado e emite um número Code de código correspondendo a uma palavra de código (cadeia de bits) de acordo com a operação inversa à do codificador VLC de comprimento variável. 0 detector RunLevDec de sequência-nível consulta uma tabela de códigos ou executa uma operação aritmética para emitir um par constituído por um valor Lev de nível e um valor Run de sequência, correspondendo ao número Code de código, de acordo com a operação inversa à do codificador RunLevEnc de sequência-nível. 0 explorador IScan de inversão de ziguezague reconstitui os componentes DQS quantificados descodificados com uma organização bidimensional a partir de componentes quantificados com uma organização unidimensional que são representados pelos pares dos valores Lev de nível e valores Run de sequência de acordo com a operação inversa à do explorador Scan de ziguezague e emite os componentes DQS 26 quantificados descodificados para a unidade IQ de inversão de quantificação. 0 Pedido de Patente Japonesa Publicado com o N° Hei.6-237184 divulga um método de codificação de comprimento de sequência em que múltiplos coeficientes numa ordem predeterminada são codificados utilizando um valor Run de sequência que indica o número de componentes Coef quantificados cujos valores são zero (coeficientes zero) e um Valor Lev de nível que indica um valor de um componente Coef quantificado cujo valor não é zero (coeficiente não-zero), depois dos coeficientes zero. A Patente Japonesa N° 3144456 (correspondendo ao Pedido de Patente Japonesa Publicado com o N° Hei.8-79088 e documento US 5729620) divulga um método por meio do qual uma tabela de codificação de comprimento variável (tabela de VLC) é alterada de acordo com o valor de um valor vectorial de movimento diferencial quando o valor vectorial de movimento diferencial é codificado utilizando uma tabela de codificação de comprimento variável num método para codificar de modo preditivo dados de vídeo digitais.
Além disso, conhece-se, como outro método, uma codificação aritmética por meio da qual os valores de pixel são codificados pelo método de comprimento variável, em que a codificação de comprimento variável é executada de acordo com uma operação aritmética utilizando a probabilidade de o valor de pixel poder adoptar um valor predeterminado. De acordo com a codificação aritmética, um código é derivado da probabilidade, de modo a que uma tabela de probabilidades em que se descrevem probabilidades correspondendo a situações individuais corresponda à tabela de VLC. Neste caso, o documento "All About MPEG-4" (primeira 27 edição, primeira cópia, publicada em 3 0 de Setembro de 1998, escrito e editado por Miki Sukeichi, pp.6 9- 73, Kogyo Chosakai Publishing Co. , Ltd. ) descreve um método por meio do qual valores de pixel de pixéis correspondendo a um alvo de codificação são submetidos a codificação aritmética através da alteração de uma tabela de probabilidades com base num método de predição (contexto) para um pixel alvo de codificação que são preditos a partir de valores de pixel dos pixéis envolventes. A unidade RLEOa de codificação acima mencionada do aparelho 201a convencional de codificação de imagem executa codificação de comprimento variável para múltiplos coeficientes quantificados que são obtidos pela quantificação de componentes de frequência de dados de imagem, para cada unidade de processamento predeterminada (bloco). Esta unidade de codificação emprega uma tabela de códigos predeterminada que indica correspondências entre informação de valor numérico que mostra o tamanho de cada coeficiente quantificado e um código (palavra de código). No processo de codificação de comprimento variável pela unidade de codificação, a informação redundante incluída no coeficiente quantificado (dados a processar) não pode ser cabalmente removida e, assim, a taxa de compressão pode ser, ainda, melhorada.
Também na unidade de codificação de comprimento de sequência que executa codificação de comprimento variável de múltiplos coeficientes quantificados utilizando um valor de sequência que indica o número de componentes Coef quantificados cujos valores são zero (coeficientes zero) e um valor de nível que indica um valor de um componente Coef quantificado cujo valor não é zero (coeficiente não-zero), depois dos coeficientes zero, como as unidades RLEOb ou RLEOc de codificação no aparelho 201b ou 201c 28 convencional de codificação de imagem, a informação redundante incluída nos coeficientes quantificados no processo de codificação de comprimento variável não é cabalmente removida.
Além disso, a unidade RLDOa de descodificação do aparelho 202a convencional de descodificação de imagem ou a unidade RLDOb ou RLDOc de descodificação de comprimento de sequência do aparelho 202b ou 202c de convencional descodificação de imagem correspondem a uma unidade de codificação que não pode remover cabalmente a informação redundante incluída nos coeficientes quantificados no processo de codificação de comprimento variável para os coeficientes quantificados.
Além disso, no que se refere ao método por meio do qual uma tabela de codificação de comprimento variável (tabela de VLC) é alterada de acordo com o valor de um valor vectorial de movimento diferencial quando o valor vectorial de movimento diferencial é codificado utilizando uma tabela de codificação de comprimento variável num método para codificar de modo preditivo dados de vídeo digitais, não se conhece uma mudança eficaz da tabela de codificação num processo de codificação de comprimento variável para dados tendo características em que múltiplos coeficientes zero se seguem sucessivamente, como os coeficientes quantificados que são obtidos quantificando componentes de frequência de um sinal de imagem. A presente invenção é realizada para resolver os problemas acima mencionados e esta invenção tem como objectivo proporcionar um método de codificação de comprimento variável e um método de descodificação de comprimento variável, que possam eliminar, mais eficazmente, informação redundante incluída em dados alvo (coeficientes quantificados) para um processo de 29 codificação de comprimento variável, de acordo com caracteristicas dos coeficientes quantificados e estados de um processo de codificação para os componentes quantificados, aumentando, desse modo, ainda mais, uma taxa da compressão de um sinal de imagem ou semelhante.
Divulgação da invenção
De acordo com a presente invenção, proporciona-se um método de codificação de comprimento variável para codificar dados de coeficiente que é composto por múltiplos coeficientes incluindo: uma etapa de codificação para submeter os coeficientes respectivos a um processo de codificação em que se transformam os dados de coeficiente em dados codificados que são compostos por múltiplos códigos, utilizando múltiplas tabelas de códigos indicando correspondências entre os valores dos coeficientes e códigos, e esta etapa de codificação inclui: uma etapa de selecção de tabelas de códigos para seleccionar a tabela de códigos de acordo com, pelo menos, uma informação sobre um coeficiente codificado que tenha sido codificado e um parâmetro relacionado com o processo de codificação dos coeficientes; e uma etapa de atribuição de código, para atribuir um código a um coeficiente não codificado, que não tenha ainda sido codificado, utilizando a tabela de códigos seleccionada. Por conseguinte, a informação redundante incluida nos dados de coeficiente a submeter ao processo de codificação de comprimento variável é suprimida, eficazmente, pela selecção de uma tabela de códigos de acordo com caracteristicas de coeficientes que constituem os dados de coeficiente ou estados de um processo de codificação para os coeficientes, aumentando, desse modo e em grande medida, 30 uma eficiência de codificação do processo de codificação de comprimento variável para sinais de imagem ou semelhantes.
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, os coeficientes são obtidos quantificando componentes de frequência de dados de imagem de acordo com uma etapa de quantificação correspondendo aos dados de imagem e, na etapa de selecção de tabelas de códigos, a tabela de códigos que é utilizada na etapa de atribuição de código é seleccionada de acordo com um valor da etapa de quantificação. Por conseguinte, pode sempre empregar-se uma tabela de códigos que esteja adaptada ao valor da etapa de quantificação e maximize a eficiência de codificação.
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, de acordo com o processo de codificação para os coeficientes, um valor de sequência que indica um número de coeficientes zero sucessivos cujos valores são zero e um valor de nivel que indica um valor de um coeficiente não-zero depois dos coeficientes zero são, cada, transformados num código, na etapa de selecção de tabelas de códigos efectua-se, pelo menos, um de entre um primeiro processo de selecção para seleccionar uma tabela de códigos das múltiplas tabelas de códigos que indicam correspondências entre o valor de sequência e o código de acordo com o valor da etapa de quantificação, e um segundo processo de selecção para seleccionar uma tabela de códigos de múltiplas tabelas de códigos plurais que indicam correspondências entre o valor de nivel e o código de acordo com o valor da etapa de quantificação, e na etapa de atribuição de código um código é atribuído a, pelo menos, um de entre um valor de sequência e um valor de nível correspondendo a um coeficiente não codificado, 31 que não tenha ainda sido codificado, com base na tabela de códigos seleccionada. Por conseguinte, a atribuição de códigos a, pelo menos, um de entre valores de sequência e valores de nivel pode ser executada utilizando sempre uma tabela de códigos que esteja adaptada ao valor da etapa de quantificação e minimize o número total de bits correspondendo aos códigos atribuídos.
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, de acordo com o processo de codificação para os coeficientes, um par sequência-nível compreendendo um valor de sequência que indica um número de coeficientes zero sucessivos cujos valores são zero e um valor de nível que indica um valor de um coeficiente não-zero depois dos coeficientes zero é transformado num código, na etapa de selecção de tabelas de códigos, uma tabela de códigos é seleccionada de entre múltiplas tabelas de códigos que indicam correspondência entre o par sequência-nível e o código de acordo com o valor da etapa de quantificação e, na etapa de atribuição de código, um código é atribuído a um par sequência-nível correspondendo a um coeficiente não codificado que não tenha sido ainda codificado, com base na tabela de códigos seleccionada. Por conseguinte, a atribuição de códigos a pares sequência-nível pode ser executada utilizando sempre uma tabela de códigos que esteja adaptada ao valor da etapa de quantificação e minimize o número total de bits correspondendo aos códigos atribuídos.
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, na etapa de selecção de tabelas de códigos, a tabela de códigos que é utilizada na etapa de atribuição de código é seleccionada de 32 acordo com a informação sobre o coeficiente já codificado. Por conseguinte, o processo de codificação para coeficientes quantificados pode ser realizado utilizando sempre uma tabela de códigos que esteja adaptada ao número de coeficientes não codificados e maximize a eficiência de codificação.
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, de acordo com o processo de codificação para os coeficientes, um valor de sequência que indica um número de coeficientes zero sucessivos cujos valores são zero e um valor de nível que indica um valor de um coeficiente não-zero depois dos coeficientes zero são transformados num código respectivamente, na etapa de selecção de tabelas de códigos, efectua-se, pelo menos, um de entre um primeiro processo de selecção para seleccionar uma tabela de códigos de múltiplas tabelas de códigos que indicam correspondências entre o valor de sequência e o código de acordo com a informação sobre um valor de sequência correspondendo ao codificado, e um segundo processo de selecção para seleccionar uma tabela de códigos das múltiplas tabelas de códigos que indicam correspondências entre o valor de nível e o código de acordo com a informação sobre um valor do nível correspondendo aos coeficientes codificados, e na etapa de atribuição de código, um código é atribuído, pelo menos, a um de entre um valor de sequência e um valor de nível correspondendo a um coeficiente não codificado, com base na tabela de códigos seleccionada. Por conseguinte, a atribuição de códigos a, pelo menos, um de entre valores de sequência e valores de nível pode ser executada utilizando sempre uma tabela de códigos que esteja adaptada ao número de coeficientes não codificados e maximize a eficiência de codificação. 33
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, na etapa de selecção de tabelas de códigos, uma tabela de códigos é seleccionada das múltiplas tabelas de códigos que indicam correspondências entre o valor de sequência e o código, de acordo com um número de valores de sequência codificados que foram codificados e na etapa de atribuição de código, um código é atribuído a um valor de sequência não codificado, que não tenha sido ainda codificado, com base na tabela de códigos seleccionada. Por conseguinte, a atribuição de códigos a valores de sequência pode ser executada utilizando sempre uma tabela de códigos que esteja adaptada ao número de valores de sequência ainda não processado e maximize a eficiência de codificação.
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, de acordo com o processo de codificação para os coeficientes, um par sequência-nivel compreendendo um valor de sequência que indica um número de coeficientes zero sucessivos cujos valores são zero e um valor de nivel que indica um valor de um coeficiente não-zero depois dos coeficientes zero é transformado num código, na etapa de selecção de tabelas de códigos, uma tabela de códigos é seleccionada das múltiplas tabelas de códigos que indicam correspondências entre o par sequência-nivel e o código de acordo com a informação sobre um par sequência-nivel correspondendo a um coeficiente codificado que tenha sido codificado e na etapa de atribuição de código, um código é atribuído a um par sequência-nivel correspondendo a um coeficiente não codificado, que não tenha sido ainda codificado, com base na tabela de códigos seleccionada. Por conseguinte, a atribuição de códigos a pares sequência-nivel pode ser executada 34 utilizando sempre uma tabela de códigos que esteja adaptada ao número de coeficientes ainda não processados e maximize a eficiência de codificação.
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, os coeficientes são obtidos quantificando componentes de frequência de dados de imagem de acordo com uma etapa de quantificação correspondendo aos dados de imagem e, na etapa de codificação, o processo de codificação para os coeficientes é realizado de modo a que se atribuam códigos a múltiplos coeficientes que constituem os dados de coeficiente, de componentes de frequência elevada de dados de imagem correspondentes a componentes de baixa frequência. Por conseguinte, o número total de bits correspondendo a códigos que são atribuídos aos coeficientes pode ser reduzido ainda mais.
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, de acordo com o processo de codificação para os coeficientes, um par sequência-nível compreendendo um valor de sequência que indica um número de coeficientes zero sucessivos cujos valores são zero e um valor de nível que indica um valor de um coeficiente não-zero depois dos coeficientes zero são transformados num código, para cada bloco que é composto por um número predeterminado de coeficientes, e, na etapa de selecção de tabelas de códigos, uma tabela de códigos é seleccionada das múltiplas tabelas de códigos que indicam correspondências entre o par sequência-nível e o código de acordo com uma soma de um número de coeficientes já processados que tenham sido submetidos ao processo de codificação num bloco alvo que é um objecto do processo de codificação e um número de coeficientes não-zero não 35 codificados, que não tenham sido ainda codificados, no bloco alvo e, na etapa de atribuição de código, um código é atribuído a um par sequência-nível correspondendo a um coeficiente não codificado no bloco alvo, com base na tabela de códigos seleccionada. Por conseguinte, pode empregar-se uma tabela de códigos que não inclua pares de valores de sequência e valores de nível que nunca ocorrerão, aumentando, desse modo, a eficiência de codificação de comprimento variável.
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, de acordo com o processo de codificação para os coeficientes, um par sequência-nível compreendendo um valor de sequência que indica um número de coeficientes zero sucessivos cujos valores são zero e um valor de nivel que indica um coeficiente não-zero depois dos coeficientes zero é transformado num código, a etapa de codificação inclui uma etapa de processamento de tabelas de códigos para mudar, regularmente, as correspondências entre o par sequência-nível e o código numa primeira tabela de códigos que indica a correspondência entre o par sequência-nível e o código correspondente de acordo com combinações do valor de sequência e do valor de nivel que compõem o par sequência-nível, com base na primeira tabela de códigos, para, desse modo, formar uma segunda tabela de códigos tendo correspondências diferentes entre o par sequência-nível e o código da primeira tabela de códigos e, na etapa de selecção de tabelas de códigos, uma de entre as primeira e segunda tabelas de códigos é seleccionada de acordo com, pelo menos, um de entre a informação sobre o coeficiente já processado e o parâmetro relacionado com a geração dos coeficientes. Por conseguinte, uma de entre as primeira e segunda tabelas de códigos é seleccionada, de modo adaptativo, como uma tabela de códigos ideal a utilizar quando 36 se atribuem códigos a pares de valores de sequência e valores de nível, por meio do que a informação redundante incluída nos dados alvo a processar pode ser eficazmente suprimida. Consequentemente, a taxa de compressão para sinais de imagem ou semelhantes pode ser melhorada ainda mais, pelo que este método de codificação de comprimento variável é altamente útil.
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, nas primeira e segunda tabelas de códigos, fazem-se corresponder códigos mais curtos, de modo adaptativo, a pares sequência-nível respectivos tendo valores de nível mais pequenos que compõem os pares sequência-nível e, na segunda tabela de códigos, valores de nível de pares sequência-nível aos quais se fizeram corresponder códigos mais curtos são pequenos, em média, em comparação com a primeira tabela de códigos. Por conseguinte, este método de codificação de comprimento variável é útil quando o parâmetro de quantificação para os coeficientes que constituem os dados alvo a processar é grande.
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, nas primeira e segunda tabelas de códigos, fazem-se corresponder códigos mais curtos, de modo adaptativo, a pares sequência-nível respectivos tendo valores de sequência mais pequenos que compõem os pares sequência-nivel e, na segunda tabela de códigos, valores de sequência de pares sequência-nível aos quais se fizeram corresponder códigos mais curtos são pequenos, em média, em comparação com a primeira tabela de códigos. Por conseguinte, este método de codificação de comprimento variável é útil quando o parâmetro de quantificação para os coeficientes que constituem os dados alvo a processar é pequeno. 37
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, de acordo com o processo de codificação para os coeficientes, a transformação de pares sequência-nível em códigos é realizada para cada bloco que é composto por um número predeterminado de coeficientes e, na etapa de processamento de tabelas de códigos, a segunda tabela de códigos é formada de acordo com um número de coeficientes já processados que tenham sido submetidos ao processo de codificação num bloco alvo que fosse um objecto do processo de codificação. Por conseguinte, uma tabela de códigos que não inclua pares compreendendo valores de sequência e valores de nível que nunca ocorrerão pode ser empregue como a segunda tabela de códigos, aumentando, desse modo, ainda mais, a eficiência de codificação de comprimento variável.
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, na etapa de atribuição de código, a atribuição de códigos a pares sequência-nível é realizada desde um par sequência-nível correspondendo a um coeficiente tendo um componente de frequência mais elevada de dados de imagem, desde um componente de frequência elevada a um componente de baixa frequência. Por conseguinte, o aumento na eficiência de codificação de comprimento variável, obtida utilizando a tabela de códigos que não inclui pares compreendendo valores de sequência e valores de nivel que nunca ocorrerão como a segunda tabela de códigos, pode ser maior.
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, a segunda tabela de códigos é formada mudando apenas correspondências que podem ser regularmente operadas, entre as correspondências entre 38 o par sequência-nível e o código incluídas na primeira tabela de códigos. Por conseguinte, uma operação aritmética que seja necessária para a formação da segunda tabela de códigos pode ser reduzida.
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, os coeficientes constituindo os dados do coeficiente são obtidos quantificando componentes de frequência de dados de imagem, de acordo com uma etapa de quantificação correspondendo aos dados de imagem, e a etapa de selecção de tabelas de códigos é uma etapa de comutação de tabelas de códigos para comutar entre a primeira tabela de códigos e a segunda tabela de códigos de acordo com um valor da etapa de quantificação. Por conseguinte, uma tabela de códigos que esteja adaptada à etapa de quantificação pode ser empregue como a tabela de códigos a utilizar num processo de codificação de comprimento variável para os coeficientes que constituem os dados alvo a processar.
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, a etapa de selecção de tabelas de códigos é uma etapa de comutação de tabelas de códigos para comutar entre a primeira tabela de códigos e a segunda tabela de códigos de acordo com um sinal de instrução de comutação e, na etapa de codificação, efectua-se a codificação do sinal de instrução de comutação. Por conseguinte, a tabela de códigos a utilizar no processo de codificação de comprimento variável para os coeficientes pode ser mudada de acordo com características dos dados alvo ou semelhantes.
De acordo com a presente invenção, no método acima mencionado de codificação de comprimento variável, de acordo com 39 o processo de codificação para os coeficientes, a transformação de pares sequência-nível em códigos é realizada para cada bloco que é composto por um número predeterminado de coeficientes e, na etapa de processamento de tabelas de códigos, a segunda tabela de códigos é formada com base numa soma de um número de coeficientes já processados que tenham sido submetidos ao processo de codificação num bloco alvo que fosse um objecto do processo de codificação e num número de coeficientes não-zero não codificados que não tinham sido ainda codificados no bloco alvo. Por conseguinte, uma tabela de códigos que não inclua pares de valores de sequência e valores de nível que nunca ocorrerão pode ser utilizada como a segunda tabela de códigos, aumentando, desse modo, ainda mais, a eficiência de codificação de comprimento variável.
De acordo com a presente invenção, proporciona-se um aparelho de codificação de comprimento variável que codifica dados de coeficiente que são compostos por múltiplos coeficientes, incluindo: uma unidade de codificação para submeter os respectivos coeficientes a um processo de codificação para transformar os dados de coeficiente em dados codificados que são compostos por múltiplos códigos, utilizando múltiplas tabelas de códigos indicando correspondências entre os valores dos coeficientes e códigos, e esta unidade de codificação inclui: uma unidade de selecção de tabelas de códigos para seleccionar a tabela de códigos de acordo com, pelo menos, um de entre a informação sobre um coeficiente codificado que tenha sido codificado e um parâmetro relacionado com o processo de codificação dos coeficientes; e uma unidade de atribuição de código para atribuir um código a um coeficiente não codificado, que não tenha sido ainda codificado, utilizando a tabela de códigos seleccionada. Por conseguinte, a informação 40 redundante incluída nos dados de coeficiente a submeter ao processo de codificação de comprimento variável é suprimida eficazmente pela selecção de uma tabela de códigos de acordo com características de coeficientes que constituem os dados de coeficiente ou estados do processo de codificação para os coeficientes r aumentando, desse modo em grande medida, a eficiência de codificação no processo de codificação de comprimento variável para sinais de imagem ou semelhantes.
De acordo com a presente invenção, no aparelho acima mencionado de codificação de comprimento variável, os coeficientes são obtidos quantificando componentes de frequência de dados de imagem de acordo com uma etapa de quantificação correspondendo aos dados de imagem e a unidade de selecção de tabelas de códigos selecciona a tabela de códigos a utilizar pela unidade de atribuição de código, de acordo com um valor da etapa de quantificação. Por conseguinte, uma tabela de códigos que esteja adaptada ao valor da etapa de quantificação e maximize a eficiência de codificação pode ser sempre utilizada.
De acordo com a presente invenção, no aparelho acima mencionado de codificação de comprimento variável, a unidade de selecção de tabelas de códigos selecciona a tabela de códigos a utilizar pela unidade de atribuição de código, de acordo com a informação sobre o coeficiente codificado. Por conseguinte, o processo de codificação para coeficientes quantificados pode ser realizado utilizando sempre uma tabela de códigos adaptada ao número de coeficientes ainda não processados e maximize a eficiência de codificação.
De acordo com a presente invenção, no aparelho acima mencionado de codificação de comprimento variável, de acordo com 41 o processo de codificação para os coeficientes, um valor de sequência que indica um número de coeficientes zero sucessivos cujos valores são zero e um valor de nível que indica um valor de um coeficiente não-zero depois dos coeficientes zero são, individualmente, transformados num código, a unidade de selecção de tabelas de códigos selecciona uma tabela de códigos das múltiplas tabelas de códigos que indicam correspondências entre o valor de sequência e o código, de acordo com um número de valores de sequência codificados a quem foram atribuídos códigos e a unidade de atribuição de código atribui um código a um valor de sequência não codificado, que não tenha sido ainda codificado, com base na tabela de códigos seleccionada. Por conseguinte, a atribuição de códigos a valores de sequência pode ser executada utilizando sempre uma tabela de códigos que esteja adaptada ao número de valores de sequência ainda não processados e maximize a eficiência de codificação.
De acordo com a presente invenção, no aparelho acima mencionado de codificação de comprimento variável, os coeficientes são obtidos quantificando componentes de frequência de dados de imagem, de acordo com uma etapa de quantificação correspondendo aos dados de imagem, e a unidade de codificação efectua o processo de codificação para os coeficientes de modo a que se atribuam códigos aos múltiplos coeficientes que constituem os dados de coeficiente de componente desde um componente de frequência elevada a um componente de baixa frequência. Por conseguinte, o número total de bits correspondendo a códigos que sao atribuídos aos coeficientes pode ser reduzido ainda mais.
De acordo com a presente invenção, proporciona-se um meio de armazenamento que contém um programa para executar um processo 42 de codificação de comprimento variável para codificar dados de coeficiente que são compostos por múltiplos coeficientes, por um computador, e este programa inclui: uma etapa de codificação para submeter os respectivos coeficientes a um processo de codificação para transformar os dados de coeficiente em dados codificados que são compostos por múltiplos códigos, utilizando múltiplas tabelas de códigos indicando correspondências entre os valores dos coeficientes e códigos, e esta etapa de codificação inclui, ainda: uma etapa de selecção de tabelas de códigos para seleccionar a tabela de códigos de acordo com, pelo menos, um de entre a informação sobre um coeficiente codificado que tenha sido codificado e um parâmetro relacionado com o processo de codificação dos coeficientes; e uma etapa de atribuição de código para atribuir um código a um coeficiente não codificado que não tenha sido ainda codificado utilizando a tabela de códigos seleccionada. Por conseguinte, um processo de codificação de comprimento variável tendo uma maior eficiência de codificação, que pode suprimir eficazmente informação redundante incluída em dados de coeficiente como um objecto a submeter ao processo de codificação de comprimento variável por selecção de uma tabela de códigos de acordo com características de coeficientes constituindo os dados de coeficiente ou estados do processo de codificação para os coeficientes, pode ser implementado por software.
De acordo com a presente invenção, proporciona-se um método de descodificação de comprimento variável para descodificar dados codificados que são compostos por múltiplos códigos, obtidos pela execução de codificação de comprimento variável em dados de coeficiente que são compostos por múltiplos coeficientes, incluindo: uma etapa de descodificação para submeter os respectivos códigos a um processo de descodificação 43 para descodificar os dados codificados para reconstituir os dados de coeficiente que são compostos por múltiplos coeficientes, utilizando múltiplas tabelas de códigos indicando correspondências entre os valores dos coeficientes e os códigos, e esta etapa de descodificação inclui: uma etapa de selecção de tabelas de códigos para seleccionar a tabela de códigos de acordo com, pelo menos, um de entre a informação sobre um coeficiente descodificado que tenha sido descodificado e um parâmetro relacionado com o processo de descodificação; e uma etapa de detecção de valor para detectar o valor correspondendo a um código não descodificado, que não tenha sido ainda descodificado, utilizando a tabela de códigos seleccionada. Por conseguinte, pode efectuar-se um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável tendo uma maior eficiência de codificação, que pode suprimir eficazmente informação redundante incluída em dados de coeficiente mudando uma tabela de códigos para codificar os dados de coeficiente.
De acordo com a presente invenção, no processo acima mencionado de descodificação de comprimento variável, os coeficientes são obtidos quantificando componentes de frequência de dados de imagem de acordo com uma etapa de quantificação correspondendo aos dados de imagem e, na etapa de selecção de tabelas de códigos, a tabela de códigos que é utilizada na etapa de detecção de valor é seleccionada de acordo com um valor da etapa de quantificação. Por conseguinte, pode efectuar-se um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável que emprega sempre uma tabela de códigos que esteja adaptada ao valor da etapa de quantificação e maximize a eficiência de codificação. 44
De acordo com a presente invenção, no processo acima mencionado de descodificação de comprimento variável, no processo de descodificação para os códigos, um código é descodificado para reconstituir um valor de sequência que indica um número de coeficientes zero sucessivos cujos valores são zero e um valor de nível que indica um valor de um coeficiente não-zero depois dos coeficientes zero, na etapa de selecção de tabelas de códigos, efectua-se, pelo menos, um de entre um primeiro processo de selecção para seleccionar uma tabela de códigos de múltiplas tabelas de códigos que indicam correspondências entre o valor de sequência e o código, de acordo com o valor da etapa de quantificação, e um segundo processo de selecção para seleccionar uma tabela de códigos de múltiplas tabelas de códigos que indicam correspondências entre o valor de nível e o código de acordo com o valor da etapa de quantificação e, na etapa de detecção de valor numérico, detecta-se, pelo menos, um de entre um valor de sequência e um valor de nível correspondendo a um não descodificado que não tenha sido ainda descodificado, com base na tabela de códigos seleccionada. Por conseguinte, pode efectuar-se um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável que executa a atribuição de códigos a, pelo menos, um de entre valores de sequência e valores de nível utilizando sempre uma tabela de códigos que esteja adaptada ao valor da etapa de quantificação e minimize o número total de bits correspondendo aos códigos atribuídos.
De acordo com a presente invenção, no processo acima mencionado de descodificação de comprimento variável, de acordo com o processo de descodificação para códigos, um código é 45 descodificado para reconstituir um par sequência-nível compreendendo um valor de sequência que indica um número de coeficientes zero sucessivos cujos valores são zero e um valor de nível que indica um valor de um coeficiente não-zero depois dos coeficientes zero, na etapa de selecção de tabelas de códigos, uma tabela de códigos é seleccionada das múltiplas tabelas de códigos que indicam correspondências entre o par sequência-nível e o código de acordo com o valor da etapa de quantificação e, na etapa de detecção de valor numérico, um par sequência-nível correspondendo ao código não descodificado que não tenha sido descodificado é detectado com base na tabela de códigos seleccionada. Por conseguinte, pode efectuar-se um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável que executa a atribuição de códigos a pares sequência-nível utilizando sempre uma tabela de códigos que esteja adaptada ao valor da etapa de quantificação e minimize o número total de bits correspondendo aos códigos atribuídos.
De acordo com a presente invenção, no processo acima mencionado de descodificação de comprimento variável, na etapa de selecção de tabelas de códigos, a tabela de códigos que é utilizada na etapa de detecção de valor numérico é seleccionada de acordo com informação sobre um coeficiente descodificado. Por conseguinte, pode efectuar-se um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável que codifica coeficientes quantificados utilizando sempre uma tabela de códigos que esteja adaptada ao número de coeficientes ainda não processados e maximize a eficiência de codificação.
De acordo com a presente invenção, no método acima 46 mencionado de descodificação de comprimento variável, de acordo com o processo de descodificação para os códigos, o código é descodificado para reconstituir um valor de sequência que indica um número de coeficientes zero sucessivos cujos valores são zero e um valor de nível que indica um valor de um coeficiente não-zero depois dos coeficientes zero, respectivamente, na etapa de selecção de tabelas de códigos efectua-se, pelo menos, um de entre um primeiro processo de selecção para seleccionar uma tabela de códigos das múltiplas tabelas de códigos que indicam correspondências entre o valor de sequência e o código de acordo com a informação sobre um valor de sequência descodificado e um segundo processo de selecção para seleccionar uma tabela de códigos das múltiplas tabelas de códigos que indicam correspondências entre o valor de nível e o código de acordo com a informação sobre um valor de nível descodificado e, na etapa de detecção de valor, detecta-se, pelo menos, um de entre um valor de sequência e um valor de nível correspondendo a um código não descodificado com base na tabela de códigos seleccionada. Por conseguinte, pode efectuar-se um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável que executa a atribuição de códigos a, pelo menos, um de entre valores de sequência e valores de nível utilizando sempre uma tabela de códigos que esteja adaptada ao número de coeficientes ainda não processados e maximize a eficiência de codificação.
De acordo com a presente invenção, no método acima mencionado de descodificação de comprimento variável, na etapa de selecção de tabelas de códigos, uma tabela de códigos é seleccionada das múltiplas tabelas de códigos que indicam correspondências entre o valor de sequência e o código de acordo com um número de valores de sequência descodificados que já 47 tenham sido descodificados e, na etapa de detecção de valor, um valor de sequência correspondendo a um código não descodificado, que não tenha sido ainda descodificado, é detectado com base na tabela de códigos seleccionada. Por conseguinte, pode efectuar-se um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável que executa a atribuição de códigos a valores de sequência utilizando sempre uma tabela de códigos que esteja adaptada ao número de valores de sequência ainda não processados e maximize a eficiência de codificação.
De acordo com a presente invenção, no método acima mencionado de descodificação de comprimento variável, de acordo com o processo de descodificação para códigos, um código é descodificado para reconstituir um par sequência-nivel compreendendo um valor de sequência que indica um número de coeficientes zero sucessivos cujos valores são zero e um valor de nivel que indica um número de coeficiente não-zero depois dos coeficientes zero, na etapa de selecção de tabelas de códigos uma tabela de códigos é seleccionada das múltiplas tabelas de códigos que indicam correspondências entre o par sequência-nivel e o código de acordo com informação sobre um par sequência-nivel que tenha sido obtido pelo processo de descodificação e, na etapa de detecção de valor numérico, um par sequência-nivel correspondendo a um código não descodificado que não tenha ainda sido descodificado é detectado com base na tabela de códigos seleccionada. Por conseguinte, pode efectuar-se um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável que executa a atribuição de códigos a pares sequência-nivel utilizando sempre uma tabela de códigos que esteja adaptada ao número de 48 coeficientes ainda não processados e maximize a eficiência de codificação.
De acordo com a presente invenção, no método acima mencionado de descodificação de comprimento variável, os coeficientes são obtidos quantificando componentes de frequência de dados de imagem de acordo com uma etapa de quantificação correspondendo aos dados de imagem e, na etapa de descodificação, o processo de descodificação para códigos é efectuado de modo a que os valores correspondendo aos códigos sejam obtidos desde um componente de frequência elevada a um componente de baixa frequência. Por conseguinte, pode efectuar-se um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável que pode reduzir anda mais o número total de bits correspondendo a códigos que são atribuídos aos coeficientes.
De acordo com a presente invenção, no método acima mencionado de descodificação de comprimento variável, de acordo com o processo de descodificação para os códigos, um código é descodificado para reconstituir um par sequência-nível compreendendo um valor de sequência que indica um número de coeficientes zero sucessivos cujos valores são zero e um valor de nível que indica um valor de um coeficiente nao-zero depois dos coeficientes zero, para cada bloco que é composto por coeficientes predeterminados compreendendo os dados de coeficiente, na etapa de selecção de tabelas de códigos uma tabela de códigos é seleccionada das múltiplas tabelas de códigos que indicam correspondências entre o par sequência-nível e o código de acordo com uma soma de um número de coeficientes já processados num bloco alvo que é um objecto do processo de descodificação, que foram obtidos pelo processo de 49 descodificação para o bloco alvo, e um número de coeficientes não-zero não descodificados no bloco do alvo, que não tenham sido ainda obtidos pelo processo de descodificação para o bloco alvo, e, na etapa de detecção de valor numérico, um par sequência-nivel correspondendo a um coeficiente não descodificado no bloco alvo é detectado com base na tabela de códigos seleccionada. Por conseguinte, um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável que tenha uma eficiência mais elevada pode ser implementado utilizando uma tabela de códigos que não inclui pares compreendendo valores de sequência e valores de nivel que nunca ocorrerão.
De acordo com a presente invenção, no método acima mencionado de descodificação de comprimento variável, de acordo com o processo de descodificação para os códigos, um código que constitua os dados codificados é descodificado para reconstituir um par sequência-nível compreendendo um valor de sequência que indica um número de coeficientes zero sucessivos cujos valores são zero e um valor de nível que indica um valor de um coeficiente não-zero depois dos coeficientes zero, a etapa de descodificação inclui uma etapa de processamento de tabelas de códigos para mudar, regularmente, correspondências entre o par sequência-nível e o código numa primeira tabela de códigos que indica correspondência entre o par sequência-nível e o código correspondente de acordo com combinações de um valor de sequência e um valor de nível que compõem o par sequência-nível, com base na primeira tabela de códigos, para formar, desse modo, uma segunda tabela de códigos tendo correspondências diferentes entre o par sequência-nível e o código da primeira tabela de códigos e, na etapa de selecção de tabelas de códigos, uma de entre as primeira e segunda tabelas de códigos é seleccionada de 50 acordo com, pelo menos, um de entre a informação sobre o coeficiente já processado e o parâmetro relacionado com a geração dos coeficientes. Por conseguinte, uma de entre as primeira e segunda tabelas de códigos é seleccionada, de modo adaptativo, como uma tabela de códigos ideal a utilizar quando os códigos são transformados em pares de valores de sequência e valores de nível. Consequentemente, pode efectuar-se, satisfatoriamente, um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável que suprima, eficazmente, informação redundante incluída em dados alvo a processar, pelo que este método de descodificação de comprimento variável é muito útil.
De acordo com a presente invenção, no método acima mencionado de descodificação de comprimento variável, nas primeira e segunda tabelas de códigos, fazem-se corresponder, de modo adaptativo, códigos mais curtos a pares sequência-nível respectivos tendo valores de nível mais pequenos que compõem os pares sequência-nível e, na segunda tabela de códigos, os valores de nível de pares sequência-nível a que se fizeram corresponder códigos mais curtos são pequenos, em média, em comparação com a primeira tabela de códigos. Por conseguinte, este método de descodificação de comprimento variável é eficaz em casos em que um parâmetro de quantificação relacionado com coeficientes que constituem os dados alvo a processar é grande.
De acordo com a presente invenção, no método acima mencionado de descodificação de comprimento variável, nas primeira e segunda tabelas de códigos, fazem-se corresponder, de modo adaptativo, códigos mais curtos a pares sequência-nível respectivos tendo valores de sequência mais pequenos que compõem os pares sequência-nível e, na segunda tabela de códigos, os 51 valores de sequência de pares sequência-nível a que se fizeram corresponder códigos mais curtos são pequenos, em média, em comparação com a primeira tabela de códigos. Por conseguinte, este método de descodificação de comprimento variável é eficaz em casos em que o parâmetro de quantificação relacionado com coeficientes que constituem os dados alvo a processar é pequeno.
De acordo com a presente invenção, no método acima mencionado de descodificação de comprimento variável, de acordo com o processo de descodificação para os códigos, a reconstituição de um par sequência-nível a partir de um código é executada para cada bloco que é composto por um número predeterminado de coeficientes que compõem os dados de coeficiente e, na etapa de processamento de tabelas de códigos, a segunda tabela de códigos é formada de acordo com um número de coeficientes já processados que foram obtidos pelo processo de descodificação num bloco alvo que é um objecto do processo de descodificação. Por conseguinte, uma tabela de códigos que não inclui pares de valores de sequência e valores de nível que nunca ocorrerão pode ser empregue como a segunda tabela de códigos, pelo que se pode implementar um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável que tem uma eficiência mais elevada.
De acordo com a presente invenção, no método acima mencionado de descodificação de comprimento variável, na etapa de detecção de valor numérico, a detecção de um par sequência- nível correspondendo ao código é executada a partir de um par sequência-nível tendo um componente de frequência mais elevada de dados de imagem, desde um componente de frequência elevada a um componente de baixa frequência. Por conseguinte, uma tabela 52 de códigos que nao inclua pares de valores de sequência e valores de nivel que nunca ocorrerão pode ser empregue como a segunda tabela de códigos, pelo que se pode implementar um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável que aumenta a taxa da compressão mais eficazmente.
De acordo com a presente invenção, no método acima mencionado de descodificação de comprimento variável, a segunda tabela de códigos é formada mudando apenas correspondências que podem ser, regularmente, operadas, entre correspondências entre o par sequência-nivel e o código incluídas na primeira tabela de códigos. Por conseguinte, uma operação aritmética que é necessária para a formação da segunda tabela de códigos pode ser reduzida.
De acordo com a presente invenção, no método acima mencionado de descodificação de comprimento variável, os coeficientes constituindo os dados de coeficiente são obtidos quantificando componentes de frequência de dados de imagem, de acordo com uma etapa de quantificação correspondendo aos dados de imagem e, na etapa de selecção de tabelas de códigos, a comutação entre a primeira tabela de códigos e a segunda tabela de códigos é executada de acordo com um valor da etapa de quantificação. Por conseguinte, uma tabela de códigos que seja apropriada para a etapa de quantificação pode ser empregue como a tabela de códigos a utilizar no processo de descodificação de comprimento variável para coeficientes constituindo os dados alvo a processar.
De acordo com a presente invenção, no método acima mencionado de descodificação de comprimento variável, a etapa de 53 selecção de tabelas de códigos inclui uma etapa de comutação de tabelas de códigos para comutar entre a primeira tabela de códigos e a segunda tabela de códigos de acordo com um sinal de instrução de comutação e, na etapa de descodificação, efectua-se a descodificação do sinal de instrução de comutação. Por conseguinte, uma tabela de códigos a empregar no processo de descodificação de comprimento variável pode ser comutada de acordo com as caracteristicas de dados alvo a processar ou semelhantes.
De acordo com a presente invenção, no método acima mencionado de descodificação de comprimento variável, de acordo com o processo de descodificação para os códigos, a reconstituição de um par sequência-nivel a partir de um código é executada para cada bloco que é composto por um número predeterminado de coeficientes que compõem os dados de coeficiente e, na etapa de processamento de tabelas de códigos, a segunda tabela de códigos é formada de acordo com uma soma de um número de coeficientes já processados num bloco alvo que é um objecto do processo de descodificação, que foram obtidos pelo processo de descodificação para o bloco alvo, e um número de coeficientes não-zero não descodificados no bloco alvo, que não tenham sido ainda obtidos pelo processo de descodificação para o bloco. Por conseguinte, uma tabela de códigos que não inclui pares de valores de sequência e valores de nivel que nunca ocorrerão é empregue como a segunda tabela de códigos, pelo que se pode implementar um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável tendo uma eficiência muito mais elevada.
De acordo com a presente invenção, proporciona-se um aparelho de descodificação de comprimento variável que 54 descodifica dados codificados que são compostos por múltiplos códigos, obtidos executando uma codificação de comprimento variável em dados de coeficiente que são compostos por múltiplos coeficientes, incluindo: uma unidade de descodificação para submeter os respectivos códigos a um processo de descodificação para descodificar os dados codificados para reconstituir os dados de coeficiente que são compostos por múltiplos coeficientes, utilizando múltiplas tabelas de códigos indicando correspondências entre os valores dos coeficientes e códigos, e esta unidade de descodificação inclui: uma unidade de selecção de tabelas de códigos para seleccionar uma tabela de códigos das múltiplas tabelas de códigos de acordo com, pelo menos, um de entre a informação sobre um coeficiente descodificado que tenha sido descodificado e um parâmetro relacionado com o processo de descodificação dos coeficientes; e uma unidade de detecção de valor para detectar o valor correspondendo a um código não descodificado, que não tenha sido ainda descodificado, utilizando a tabela de códigos seleccionada. Por conseguinte, pode efectuar-se um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável tendo uma eficiência de codificação mais elevada, que suprime, eficazmente, informação redundante em dados de coeficiente mudando uma tabela de códigos, para codificar os dados de coeficiente.
De acordo com a presente invenção, no aparelho acima mencionado de descodificação de comprimento variável, os coeficientes são obtidos quantificando componentes de frequência de dados de imagem de acordo com uma etapa de quantificação correspondendo aos dados de imagem e a unidade de selecção de tabelas de códigos selecciona a tabela de códigos que é utilizada pela unidade de detecção de valor numérico, de acordo 55 com um valor da etapa de quantificação. Por conseguinte, pode efectuar-se um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável que emprega sempre uma tabela de códigos que esteja adaptada ao valor da etapa de quantificação e maximize a eficiência de codificação.
De acordo com a presente invenção, no aparelho acima mencionado de descodificação de comprimento variável, a unidade de selecção de tabelas de códigos selecciona a tabela de códigos que é utilizada pela unidade de detecção de valor numérico, de acordo com informação sobre um coeficiente descodificado. Por conseguinte, pode efectuar-se um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável que codifica coeficientes quantificados utilizando sempre uma tabela de códigos que esteja adaptada ao número de coeficientes não descodificados e maximize uma eficiência de codificação.
De acordo com a presente invenção, no aparelho acima mencionado de descodificação de comprimento variável, de acordo com o processo de descodificação para os códigos, o código é descodificado para reconstituir um valor de sequência que indica um número de coeficientes zero sucessivos cujos valores são zero e um valor de nivel que indica um valor de um coeficiente não-zero depois dos coeficientes zero, respectivamente, a unidade de selecção de tabelas de códigos selecciona uma tabela de códigos de múltiplas tabelas de códigos que indicam correspondências entre o valor de sequência e o código, de acordo com um número de valores de sequência descodificados, e a unidade de detecção de valor detecta um valor de sequência correspondendo a um código descodificado, com base na tabela de códigos 56 seleccionada. Por conseguinte, pode efectuar-se um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável que executa a atribuição de códigos a valores de sequência utilizando sempre uma tabela de códigos que esteja adaptada ao número de valores de sequência ainda não processados e maximize a eficiência de codificação.
De acordo com a presente invenção, no aparelho acima mencionado de descodificação de comprimento variável, os coeficientes são obtidos quantificando componentes de frequência de dados de imagem de acordo com uma etapa de quantificação correspondendo aos dados de imagem e a unidade de descodificação efectua o processo de descodificação para os códigos, de modo a que o valor correspondendo aos códigos é obtido de um componente de frequência elevada até um componente de baixa frequência. Por conseguinte, pode efectuar-se um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável que pode reduzir ainda mais o número total de bits correspondendo aos códigos atribuídos aos coeficientes.
De acordo com a presente invenção, proporciona-se um meio de armazenamento que contém um programa para executar um processo de descodificação de comprimento variável para descodificar dados codificados que são compostos por múltiplos códigos, obtidos através da execução da codificação de comprimento variável em dados de coeficiente que são compostos por múltiplos coeficientes, por um computador, e este programa inclui uma etapa de descodificação para submeter os respectivos códigos a um processo de descodificação para descodificar os dados codificados para reconstituir os dados de coeficiente que são 57 compostos por múltiplos coeficientes, utilizando múltiplas tabelas de códigos indicando correspondências entre o valor dos coeficientes e códigos, e esta etapa de descodificação inclui, ainda: uma etapa de selecção de tabelas de códigos para seleccionar a tabela de códigos de acordo com, pelo menos, um de entre informação sobre um coeficiente descodificado que tenha sido descodificado e um parâmetro relacionado com o processo de descodificação dos coeficientes; e uma etapa de detecção de valor para detectar o valor correspondendo a um código não descodificado, que não tenha sido ainda descodificado, utilizando a tabela de códigos seleccionada. Por conseguinte, um processo de descodificação de comprimento variável correspondendo a um processo de codificação de comprimento variável tendo uma eficiência de codificação mais elevada, que pode suprimir, eficazmente, informação redundante incluída em dados de coeficiente mudando uma tabela de códigos, para codificar os dados de coeficiente, pode ser implementado por software.
Descrição Resumida dos Desenhos A Fig. 1 é um diagrama de blocos para explicar um aparelho 101 de codificação de imagem de acordo com uma primeira forma de realização da presente invenção. A Fig. 2 é um diagrama de blocos que ilustra uma unidade RLE1 de codificação de comprimento de sequência que constitui o aparelho 101 de codificação de imagem de acordo com a primeira forma de realização.
As Figs. 3(a)-3(d) são diagramas para explicar o varrimento em ziguezague pela unidade RLE1 de codificação de 58 comprimento de sequência e as Figs. 3(e) e 3(f) são diagramas para explicar a reorganização de valores de sequência e valores de nível.
As Figs. 4 são diagramas para explicar o processamento num codificador LVLC de comprimento variável da unidade RLE1 de codificação de comprimento de sequência: a Fig. 4 (a) é um fluxograma que mostra um processo de codificação de comprimento variável para um valor de nível e a Fig. 4 (b) é uma tabela de códigos que é utilizada no processo de codificação de comprimento variável para o valor de nível.
As Figs. 5 são diagramas para explicar o processamento num codificador RVLC de comprimento variável da unidade RLE1 de codificação de comprimento de sequência: a Fig. 5 (a) é um fluxograma que mostra um processo de codificação de comprimento variável para um valor de sequência e a Fig. 5(b) é uma tabela de códigos que é utilizada no processo de codificação de comprimento variável para o valor de sequência.
As Figs.6 são diagramas que mostram o número total de bits correspondendo a códigos que são atribuídos a valores de nível (um parâmetro de quantificação é relativamente pequeno) pelo codificador LevVLC de comprimento variável num caso em que uma tabela de códigos L2 é empregue (Fig. 6(a)) e num caso em que uma tabela de códigos LI é empregue (Fig. 6(b)), respectivamente.
As Figs. 7 são diagramas que mostram o número total de bits correspondendo a códigos que são atribuídos a valores de nível (um parâmetro de quantificação é relativamente grande) 59 pelo codificador LevVLC de comprimento variável num caso em que a tabela de códigos L2 é empregue (Fig. 7(a)) e num caso em que a tabela de códigos LI é empregue (Fig. 7 (b) ) , respectivamente.
As Figs. 8 são diagramas que mostram o número total de bits correspondendo a códigos que são atribuídos aos valores de sequência pelo codificador RVLC de comprimento variável num caso em que uma tabela de códigos específica é empregue (Fig. 8 (a)), um caso em que se executa uma mudança de uma tabela de códigos e reorganização de valores de sequência (Fig. 8(b)) e um caso em que se executa apenas a mudança de uma tabela de códigos (Fig. 8(c)), respectivamente. A Fig. 9 é um diagrama de blocos para explicar um aparelho 102 de descodificação de imagem de acordo com uma segunda forma de realização da presente invenção. A Fig. 10 é um diagrama de blocos que ilustra uma unidade RLD1 de descodificação de comprimento de sequência que constitui o aparelho 102 de descodificação de imagem de acordo com a segunda forma de realização.
As Figs. 11 são diagramas para explicar um processo de descodificação de comprimento variável por um descodificador LVLD de comprimento variável: a Fig. 11(a) é um fluxograma que mostra um processo de descodificação de comprimento variável para reconstituir um valor de nivel e a Fig. 11(b) é uma tabela de códigos que é empregue no processo de descodificação de comprimento variável. 60
As Figs. 12 são diagramas para explicar um processo de descodificação de comprimento variável por um descodificador RVLD de comprimento variável: a Fig. 12(a) é um fluxograma que mostra um processo de descodificação de comprimento variável para reconstituir um valor de sequência e a Fig. 12(b) é uma tabela de códigos que é empregue no processo de descodificação de comprimento variável. A Fig. 13 é um diagrama de blocos para explicar um aparelho 103 de codificação de imagem de acordo com uma terceira forma de realização da presente invenção. A Fig. 14 é um diagrama de blocos que ilustra uma unidade RLE2 de codificação de comprimento de sequência que constitui o aparelho 103 de codificação de imagem de acordo com a terceira forma de realização.
As Figs. 15 são diagramas que mostram exemplos T2a (Fig. 15(a)) e T2b (Fig. 15(b)) de uma tabela de códigos (segunda tabela de códigos) que é formada pela unidade RLE2 de codificação de comprimento de sequência de acordo com a terceira forma de realização.
As Figs. 16 são diagramas que mostram outros exemplos T2c (Fig. 16(a)), T2d (Fig. 16(b)), T2e (Fig. 16(c)) da tabela de códigos (segunda tabela de códigos) que é formada pela unidade RLE2 de codificação de comprimento de sequência de acordo com a terceira forma de realização. A Fig. 17 é um diagrama que mostra um exemplo de uma ordem pela qual os componentes quantificados são codificados pela 61 unidade RLE2 de codificação de comprimento de sequência de acordo com a terceira forma de realização. A Fig. 18 é um diagrama de blocos para explicar um aparelho 104 de descodificação de imagem de acordo com uma quarta forma de realização da presente invenção. A Fig. 19 é um diagrama de blocos que ilustra uma unidade RLD2 de descodificação de comprimento de sequência que constitui o aparelho 104 de descodificação de imagem de acordo com a quarta forma de realização. A Fig. 20 é um diagrama de blocos para explicar um aparelho 105 de codificação de imagem de acordo com uma quinta forma de realização da presente invenção. A Fig. 21 é um diagrama de blocos que ilustra uma unidade RLE3 de codificação de comprimento de sequência que constitui o aparelho 105 de codificação de imagem de acordo com a quinta forma de realização. A Fig. 22 é um diagrama de blocos para explicar um aparelho 106 de descodificação de imagem de acordo com uma sexta forma de realização da presente invenção. A Fig. 23 é um diagrama de blocos que ilustra uma unidade RLD3 de descodificação de comprimento de sequência que constitui o aparelho 106 de descodificação de imagem de acordo com a sexta forma de realização.
As Figs. 24 são diagramas que mostram os exemplos Ta (Fig. 24(a)), Tb (Fig. 24(b)) e Tc (Fig. 24(c)) de uma tabela de códigos de comprimento variável que é empregue pela unidade 62 RLE3 de codificação de comprimento de sequência de acordo com a quinta forma de realização e pela unidade RLD3 de descodificação de comprimento de sequência de acordo com a sexta forma de realização.
As Figs. 25 são diagramas para explicar um meio de armazenamento de dados que contém um programa para implementar um processo de codificação de comprimento variável ou um processo de descodificação de comprimento variável de acordo com qualquer das formas de realização acima por um sistema informático (Fig. 25(a) e 25(b)) e o sistema informático (Fig. 25(c)). A Fig. 26 é um diagrama para explicar uma aplicação de um método de codificação de imagem e de um método de descodificação de imagem de acordo com qualquer das formas de realização e esta figura mostra um sistema de fornecimento de conteúdos que implementa serviços de distribuição de conteúdos. A Fig. 27 é um diagrama para explicar um telefone portátil que emprega um método de codificação de imagem e um método de descodificação de imagem de acordo com qualquer das formas de realização. A Fig. 28 é um diagrama de blocos que ilustra o telefone portátil mostrado na Fig. 27. A Fig. 29 é um diagrama que mostra um sistema de radiodifusão digital que emprega um aparelho de codificação de imagem ou um aparelho de descodificação de imagem de acordo com qualquer das formas de realização. 63 A Fig. 30 é um diagrama de blocos que ilustra um aparelho 201a convencional de codificação de imagem. A Fig. 31 é um diagrama de blocos para explicar uma unidade RLEOa de codificação que constitui o aparelho 201a convencional de codificação de imagem. A Fig. 32 é um diagrama de blocos para explicar um aparelho 202a convencional de descodificação correspondendo ao aparelho 201a convencional de codificação de imagem. A Fig. 33 é um diagrama de blocos para explicar uma unidade RLDOa de descodificação que constitui o aparelho 202a convencional de descodificação de imagem. A Fig. 34 é um diagrama de blocos que ilustra um aparelho 201b de codificação de imagem que executa codificação de comprimento de sequência convencional. A Fig. 35 é um diagrama de blocos para explicar uma unidade RLEOb de codificação de comprimento de sequência que constitui o aparelho 201b convencional de codificação de imagem. A Fig. 36 é um diagrama de blocos para explicar um aparelho 202b convencional de descodificação de imagem correspondendo ao aparelho 201b convencional de codificação de imagem. A Fig. 37 é um diagrama de blocos para explicar uma unidade RLDOb de descodificação de comprimento de sequência que constitui o aparelho 202b convencional de descodificação de imagem. 64 A Fig. 38 é um diagrama de blocos para explicar um outro aparelho 201c de codificação de imagem que executa a codificação de comprimento de sequência convencional. A Fig. 39 é um diagrama de blocos que ilustra uma unidade RLEOc de codificação de comprimento de sequência que constitui o aparelho 201c convencional de codificação de imagem. A Fig. 40 é um diagrama de blocos para explicar um aparelho 202c convencional de descodificação de imagem correspondendo ao aparelho 201c convencional de codificação de imagem. A Fig. 41 é um diagrama de blocos para explicar uma unidade RLDOc de descodificação de comprimento de sequência que constitui o aparelho 202c convencional de descodificação de imagem. A Fig. 42 é um diagrama que mostra um exemplo de uma tabela de códigos que é empregue pela unidade RLEOc de codificação de comprimento de sequência que constitui o aparelho 201c convencional de codificação de imagem. A Fig. 43 é um diagrama que mostra um exemplo de uma ordem pela qual os componentes quantificados são codificados pelas unidades RLEOa, RLEOb ou RLEOc de codificação de comprimento de sequência convencionais. 65
Melhor Modo de Realizar a Invenção
Inicialmente, ir-se-ão descrever os princípios fundamentais da presente invenção.
De um modo geral, quando a etapa de quantificação é grosseira, os componentes quantificados têm valores absolutos mais pequenos. Então, a sequência (o comprimento de coeficientes zero sucessivamente contínuos) fica maior e, consequentemente, o valor de nível (o valor de um coeficiente não-zero) tem um valor absoluto mais pequeno. Pelo contrário, quando a etapa de quantificação é fina, os componentes quantificados têm valores absolutos maiores. Por conseguinte, a sequência fica mais curta e, consequentemente, o valor de nível tem um valor absoluto maior.
Além disso, quando a codificação de comprimento variável de muitos componentes quantificados já tiver terminado num bloco objecto a processar e o número de componentes quantificados não codificados é pequeno, nunca ocorre um valor de sequência que exceda o número de componentes quantificados não codificados. Assim, quando os pares destes valores de sequência e valores de nível são removidos, a eficiência de codificação é aumentada.
Deste ponto da vista, a presente invenção muda uma tabela de códigos indicando correspondências entre informação de valor numérico, que mostra o tamanho de um coeficiente quantificado e de um código, de acordo com um estado de um processo de codificação de comprimento variável ou de um processo de descodificação de comprimento variável para coeficientes quantificados e um parâmetro associado com a geração de coeficientes quantificados (parâmetro de quantificação) , 66 removendo, desse modo, eficazmente informação redundante incluída em dados alvo (coeficiente quantificados) do processo de codificação de comprimento variável.
Por exemplo, a mudança da tabela de códigos é realizada seleccionando ou uma tabela de códigos (primeira tabela de códigos), que é empregue no processo de codificação ou descodificação de comprimento variável convencional, ou uma segunda tabela de códigos que é formada com base na primeira tabela de códigos e optimizada para os dados a processar com base num estado de processamento de coeficientes quantificados. É desnecessário formar a segunda tabela de códigos sempre com base na primeira tabela de códigos, mas qualquer tabela de códigos que for adaptada para processar dados alvo pode ser seleccionada como uma tabela de códigos.
Em seguida, descrevem-se formas de realização da presente invenção recorrendo às Figs. 1 a 25.
[Forma de realizaçao 1] A Fig. 1 é um diagrama de blocos para explicar um aparelho de codificação de imagem de acordo com uma primeira forma de realização da presente invenção.
Este aparelho 101 de codificação de imagem de acordo com a primeira forma de realização tem, no lugar da unidade RLEOb de codificação de comprimento de sequência no aparelho 201b convencional de codificação de imagem mostrado na Fig. 34 que submete uma saída (componentes quantificados) QS da unidade Q de quantificação a um processo de codificação de comprimento 67 variável e emite um fluxo StrO codificado, uma unidade RLE1 de codificação de comprimento de sequência para submeter a saída QS da unidade Q de quantificação a um processo de codificação de comprimento variável com base num parâmetro QP de quantificação e num sinal VlcSel de selecção de VLC e emitir um fluxo Strl codificado.
Neste caso, o parâmetro QP de quantificação é um parâmetro que indica um valor de uma etapa de quantificação e a etapa de quantificação é aproximadamente proporcional ao parâmetro QP de quantificação. Mais especificamente, quando o parâmetro QP de quantificação é maior, os componentes quantificados têm valores absolutos mais pequenos, componentes quantificados têm valores absolutos mais pequenos, então a sequência de zeros dos componentes quantificados (o comprimento dos componentes sucessivamente contínuos cujos valores são zero) fica maior e um valor de nível tem um valor absoluto mais pequeno. A Fig. 2 é um diagrama de blocos para explicar uma construção específica da unidade RLE1 de codificação de comprimento de sequência.
Esta unidade RLE1 de codificação de comprimento de sequência tem, como a unidade RLEOb de codificação de comprimento de sequência convencional mostrada na Fig. 35, um explorador Scan de ziguezague para transformar uma saída QS da unidade Q de quantificação (componentes quantificados) com uma organização bidimensional, em coeficientes Coef quantificados com uma organização unidimensional (i. e., uma ordem predeterminada); uma calculadora RunCal de valores de sequência para calcular o número de componentes Coef quantificados sucessivos cujos 68 valores são zero (coeficientes zero) e emitir um valor Run de sequência que indica o número de coeficientes zero sucessivos; e uma calculadora LevCal de valores de nivel para calcular um valor de um componente Coef quantificado cujo valor não seja zero (coeficiente não-zero), depois dos coeficientes zero e emitir um valor Lev de nivel que indica o valor do coeficiente não-zero. A Fig. 3 (a) mostra uma organização bidimensional de componentes Q1 a Q16 quantificados correspondendo a um bloco e a Fig. 3 (b) mostra um percurso de varrimento dos componentes Q1 a Q16 quantificados no explorador Scan de ziguezague pelas setas AI a A15. Neste caso, um componente Q1 quantificado é obtido quantificando componentes DC de componentes de frequência correspondendo a um sinal de imagem e os componentes Q2 a Q16 quantificados são obtidos quantificando componentes AC de componentes de frequência correspondendo ao sinal de imagem. A Fig. 3(c) mostra uma organização unidimensional (ordem de codificação) de componentes Q1 a Q16 quantificados, que é obtida pelo varrimento de ziguezague no explorador Scan de ziguezague e a Fig. 3 (d) mostra uma organização unidimensional de valores numéricos concretos que indicam os valores dos componentes Q1 a Q16 quantificados. A unidade RLE1 de codificação de comprimento de sequência inclui, ainda, uma unidade Lreodr de reorganização para reorganizar valores Lev de nivel que são emitidos pela calculadora LevCal de valores de nivel; uma unidade Rreodr de reorganização para reorganizar valores Run de sequência que são emitidos pela calculadora RunCal de valores de sequência; e uma calculadora NumClc de números para calcular o número Cnum de coeficientes não codificados num bloco alvo com base nas saldas 69 da calculadora RunCal de valores de sequência e emitir o número calculado. A Fig. 3(e) mostra ordens de valores de sequência e de valores de nível que são obtidos de valores numéricos dos componentes quantificados tendo a configuração mostrada nas Figs. 3(c) e 3 (d) . A Fig. 3 (f) mostra o ordenamento dos valores de sequência e dos valores do nível após a reorganização. A unidade RLE1 de codificação de comprimento de sequência inclui, ainda, um codificador LVLC de comprimento variável para submeter uma saída ROLev da unidade Lreodr de reorganização a um processo de codificação de comprimento variável com base no parâmetro QP de quantificação e de um sinal VISel de selecção e emitir uma cadeia LStr de caracteres de código (cadeia de caracteres de código de valor de nível); um codificador RVLC de comprimento variável para submeter uma saída RORun da unidade Rreodr de reorganização a um processo de codificação de comprimento variável com base no número Cnum dos coeficientes não codificados e emitir uma cadeia RStr de caracteres de código (cadeia de caracteres de código de valor de sequência); e um multiplexador MUX para multiplexar a cadeia LStr de caracteres de código e a cadeia RStr de caracteres de código para cada bloco e emitir um fluxo Strl codificado multiplexado.
As Figs. 4 são diagramas para explicar o processo de codificação de comprimento variável pelo codificador LVLC de comprimento variável. A Fig. 4(a) é um fluxograma que explica o processo de codificação de comprimento variável para um valor de nível e a Fig. 4(b) é um diagrama explicativo que mostra tabelas de códigos que são empregues no processo de codificação de comprimento variável para o valor de nível. A Fig. 4(b) mostra uma configuração Alev de valores de nível 70 (Nível), uma configuração Cal de códigos (palavras de código) num caso em que o parâmetro QP de quantificação é menor do que um limiar e uma configuração Ca2 de códigos (palavras de código) num caso em que o parâmetro QP de quantificação é igual ou maior do que o limiar.
Neste caso, uma tabela de códigos Ll é constituída pela configuração Alev dos valores de nível (Nível) e pela configuração Cal dos códigos (palavras de código) no caso em que o parâmetro QP de quantificação é menor do que o limiar. Esta tabela de códigos Ll mostra a correspondência entre o valor de nível (Nível) e o código no caso em que o parâmetro QP de quantificação é menor do que o limiar. Uma tabela de códigos L2 é constituída pela configuração Alev dos valores de nível (Nivel) e pela configuração Ca2 dos códigos (palavras de código) no caso em que o parâmetro QP de quantificação é igual ou maior do que o limiar. Esta tabela de códigos L2 mostra a correspondência entre o valor de nível (Nível) e o código no caso em que o parâmetro QP de quantificação é igual ou maior do que o limiar.
As Figs. 5 são diagramas para explicar o processo de codificação de comprimento variável pelo codificador RVLC de comprimento variável. A Fig. 5(a) é um fluxograma para explicar um processo de codificação de comprimento variável para um valor de sequência e a Fig. 5(b) é um diagrama explicativo que mostra tabelas de código que são empregues no processo de codificação de comprimento variável para o valor de sequência. A Fig. 5(b) mostra uma configuração Arun de valores de sequência (Sequência), uma configuração Cbl de códigos (palavras de código) num caso em que o número de coeficientes zero não 71 codificados é um, uma configuração Cb2 de códigos (palavras de código) num caso em que o número de coeficientes zero não codificados é dois, uma configuração Cb3 de códigos (palavras de código) num caso em que o número de coeficientes zero não codificados é três, uma configuração Cb4 de códigos (palavras de código) num caso em que o número de coeficientes zero não codificados é quatro, uma configuração Cb5 de códigos (palavras de código) num caso em que o número de coeficientes zero não codificados é cinco, uma configuração Cb6 de códigos (palavras de código) num caso em que o número de coeficientes zero não codificados é seis, uma configuração Cb7 de códigos (palavras de código) num caso em que o número de coeficientes zero não codificados é sete e uma configuração Cb8 de códigos (palavras de código) num caso em que o número de coeficientes zero não codificados é oito ou mais.
Neste caso, uma tabela de códigos RI é constituída pela configuração Arun dos valores de sequência (Sequência) e pela configuração Cbl de códigos (palavras de código) no caso em que o número de coeficientes zero não codificados é um e esta tabela de códigos RI mostra correspondências entre o valor de sequência (Sequência) e o código no caso em que o número de coeficientes zero não codificados é um. Do mesmo modo, as tabelas de códigos R2, R3, R4, R5, R6 e R7 são constituídas pela configuração Arun dos valores de sequência (Sequência) e as configurações Cb2, Cb3, Cb4, Cb5, Cb6 e Cb7 de códigos (palavras de código) nos casos em que os números de coeficientes zero não codificados são dois, três, quatro, cinco, seis e sete, respectivamente, e mostram correspondência entre o valor de sequência (Sequência) e o código nos casos em que os números de coeficientes zero não codificados sao dois, três, quatro, cinco, seis e sete, respectivamente. Além disso, uma tabela de códigos R8 é 72 constituída pela configuração Arun dos valores de sequência (Sequência) e pela configuração Cb8 de códigos (palavras de código) no caso em que o número de coeficientes zero não codificados é oito ou mais e mostra a correspondência entre o valor de sequência (Sequência) e o código no caso em que o número de coeficientes zero não codificados é oito ou mais.
Em seguida, descreve-se o seu funcionamento.
No aparelho 101 de codificação de imagem de acordo com a primeira forma de realização, a unidade Blk de bloqueio, a unidade Trans de transformação de frequência e a unidade Q de quantificação funcionam como as do aparelho 201a convencional de codificação de imagem (ver Fig. 30) ou aparelho 201b de codificação de imagem (ver Fig. 34).
Mais especificamente, quando um sinal Vin de imagem é introduzido no aparelho 101 de codificação de imagem, a unidade Blk de bloqueio divide o sinal Vin de imagem introduzido em unidades de bloco, para gerar sinais BlkS de imagem (componentes de valor de pixel) correspondendo a blocos respectivos. A unidade Trans de transformação da frequência transforma os componentes BlkS de valor de pixel em componentes TransS de frequência de acordo com uma transformação DCT (Transformação Discreta de Cossenos) ou "Wavelet". A unidade Q de quantificação quantifica os componentes TransS de frequência numa etapa predeterminada de quantificação com base num parâmetro QP de quantificação para emitir componentes QS quantificados, bem como emitir o parâmetro QP de quantificação. A unidade RLEl de codificação de comprimento de sequência submete os componentes QS quantificados a um processo de codificação de comprimento variável e emite um fluxo Strl codificado. 73
Em seguida, descreve-se, especificamente, o funcionamento da unidade RLEl de codificação de comprimento de sequência. 0 explorador Scan de ziguezague realiza o varrimento em ziguezague dos componentes QS quantificados que são emitidos da unidade Q de quantificação (i. e., múltiplos coeficientes Q1 a Q16 quantificados com uma organização bidimensional como mostrado na Fig. 3(a)), para transformar os componentes QS quantificados em coeficientes Coef quantificados. Neste caso, o varrimento em ziguezague dos componentes QS quantificados é realizado fazendo o varrimento dos múltiplos componentes Q1 a Q16 quantificados com uma organização bidimensional, como mostrado na Fig. 3(a), ao longo de um percurso indicado pelas setas AI a A15 na Fig. 3 (b) , para transformar a organização dos múltiplos coeficientes Q1 a Q16 quantificados numa organização unidimensional (ordem de processamento) como mostrado na Fig. 3(c). Neste caso, a Fig. 3(d) mostra uma configuração de valores numéricos concretos dos múltiplos coeficientes Q1 a Q16 quantificados que foi submetida ao varrimento em ziguezague (20, -10, 5, 0, 2, 0, 0, 0, 1, 0, 0, 0, -1, 0, 0, 1) . A calculadora RunCal de valores de sequência calcula o número de coeficientes zero sucessivos com base nos componentes Coef quantificados que são emitidos pelo explorador Scan de ziguezague e emite um valor Run de sequência indicando o número calculado. A Fig. 3(e) mostra valores de sequência específicos que são sucessivamente emitidos pela calculadora RunCal de valores de sequência de acordo com uma ordem em que os valores de sequência são emitidos: (0, 0, 0, 1, 3, 3, 2). Por outro lado, a calculadora LevCal de valores de nível calcula um valor de um coeficiente não-zero depois dos coeficientes zero 74 sucessivos com base nos componentes Coef quantificados emitidos pelo explorador Scan de ziguezague e emite um valor Lev de nivel que indica o valor calculado. A Fig. 3(e) mostra valores de nivel específicos que são sucessivamente emitidos pela calculadora LevCal de valores de nível, de acordo com uma ordem em que os valores de nível são emitidos: (20, -10, 5, 2, 1, -1, D · A unidade Rreodr de reorganização reorganiza os valores de sequência que foram sucessivamente emitidos pela calculadora RunCal de valores de sequência numa ordem inversa à da emissão dos valores de sequência. A Fig. 3(f) mostra uma ordem alterada dos valores de sequência específicos que foram reorganizados pela unidade Rreodr de reorganização: (2, 3, 3, 1, 0, 0, 0) . A calculadora NumClc de número calcula o número de coeficientes não codificados com base nos valores Run de sequência que são emitidos pela calculadora RunCal de valores de sequência e emite o número calculado de coeficientes não codificados (também designado, em seguida, como número Cnum de coeficientes não codificados). Por outro lado, a unidade Lreodr de reorganização reorganiza os valores de nível que foram sucessivamente emitidos pela calculadora LevCal de valores de nível numa ordem inversa à de emissão dos valores de nível. A Fig. 3(f) mostra uma ordem alterada dos valores de nível específicos que foram reorganizados pela unidade Lreodr de reorganização: (1, -1, 1, 2, 5, -10, 20) . O codificador RVLC de comprimento variável submete os valores RORun de sequência que foram reorganizados como a saída da unidade Rreodr de reorganização, a um processo de codificação de comprimento variável para atribuir códigos (palavras de código) aos valores RORun de sequência utilizando múltiplas 75 tabelas de códigos indicando correspondências entre o valor de sequência e o código (palavra de código), com base no número Cum de coeficientes zero não codificados emitidos pela calculadora NumClc de número e emite uma cadeia RStr de caracteres de código de valor de sequência. Por outro lado, o codificador LVLC de comprimento variável submete os valores ROLev de nivel que foram reorganizados como a saida da unidade Lreodr de reorganização a um processo de codificação de comprimento variável para atribuir códigos (palavras de código) aos valores ROL de nivel, utilizando múltiplas tabelas de códigos indicando correspondências entre o valor de nivel e o código (palavra de código) com base no parâmetro QP de quantificação da unidade Q de quantificação e um sinal VlcSel de selecção da selecção de instrução exterior de codificação de comprimento variável e emite uma cadeia LStr de caracteres de código de valor de nivel.
Depois, o multiplexador MUX multiplexa a cadeia Lstr de caracteres de código de valor de nivel e a cadeia RStr de caracteres de código de valor de sequência, bloco a bloco e emite um fluxo Strl codificado multiplexado. Aqui, 0 processo para multiplexar a cadeia LStr de caracteres de código de valor de nivel e a cadeia RStr de caracteres de código de valor de sequência é realizado bloco a bloco, por exemplo, de modo a que toda a cadeia RStr de caracteres de código correspondendo a todos os valores de sequência de um bloco alvo seja seguida pela cadeia LStr de caracteres de código correspondendo a todos os valores de nivel do bloco alvo, ou a cadeia LStr de caracteres de código correspondendo a todos os valores de nivel do bloco alvo seja seguida pela cadeia RStr de caracteres de código correspondendo a todos os valores de sequência do bloco alvo. 76
Em seguida, descreve-se o funcionamento do codificador LVLC de comprimento variável, especificamente, com referência às Figs. 4. 0 codificador LVLC de comprimento variável obtém o parâmetro QP de quantificação da unidade Q de quantificação (etapa Sal) e determina se o valor do parâmetro QP de quantificação obtido é igual ou maior do que um limiar do parâmetro QP de quantificação que é mantido no codificador LVLC de comprimento variável (etapa Sa2) .
Quando um resultado desta determinação indica que o valor do parâmetro QP de quantificação obtido é menor do que o limiar do parâmetro QP de quantificação, o codificador LVLC de comprimento variável selecciona a tabela de códigos LI que é constituída pela configuração Alev de valores de nível e pela configuração Cal de códigos (palavras de código) (ver Fig. 4 (b) ) (etapa Sa3), ao passo que, quando o valor do parâmetro QP de quantificação obtido é igual ou maior do que o limiar do parâmetro QP de quantificação, selecciona a tabela de códigos L2 que é constituída pela configuração Alev de valores de nível e pela configuração Ca2 de códigos (palavras de código) (ver Fig. 4(b)) (etapa Sa4).
Depois, o codificador LVLC de comprimento variável determina se há algum valor Lev de nível não codificado num bloco alvo (etapa Sa5) . Quando um valor Lev de nível não codificado está incluído no bloco alvo, o codificador LVLC de comprimento variável efectua um processo para codificar o valor de nível utilizando a tabela de códigos seleccionada, i. e., um processo para atribuir um código correspondente ao valor de nível (etapa 77
Sa6), e efectua, depois disso, o processo da etapa Sa5. Por outro lado, quando o resultado da decisão na etapa Sa5 indica que não há qualquer valor Lev de nivel não codificado no bloco alvo, o codificador LVLC de comprimento variável termina o processo de codificação de comprimento variável para os valores Lev de nivel.
Neste caso, quando o sinal VlcSel de selecção de VLC designa, previamente, um processo de codificação de comprimento variável utilizando uma tabela de códigos especifica, o codificador LVLC de comprimento variável efectua um processo de codificação de comprimento variável para os valores de nivel utilizando a tabela de códigos especifica, independentemente do valor do parâmetro QP de quantificação.
Em seguida, descreve-se, especificamente, o funcionamento do codificador RVLC de comprimento variável recorrendo às Figs. 5. 0 codificador RVLC de comprimento variável determina se há algum coeficiente não-zero não codificado no bloco alvo com base na saída (o número de coeficientes não codificados) Cnum da calculadora NumClc de número (etapa Sbl). Quando um resultado da determinação indica que há um coeficiente não-zero não codificado, o codificador RVLC de comprimento variável calcula o número de coeficientes zero não codificados no bloco alvo com base na saída Cnum da calculadora NumClc de número (etapa Sb2).
Depois, o codificador RVLC de comprimento variável selecciona uma tabela de códigos de acordo com o número calculado de coeficientes zero não codificados (etapa Sb3). Mais especificamente, o codificador RVLC de comprimento variável selecciona a tabela de códigos RI que é constituída pela 78 configuração Arun de valores de sequência e pela configuração Cbl de códigos (palavras de código) (ver Fig. 5(b)) quando o número de coeficientes zero não codificados for um. Do mesmo modo, o codificador RVLC de comprimento variável selecciona a tabela de códigos R2 quando o número de coeficientes zero não codificados é dois, a tabela de códigos R3 quando o número dos coeficientes é três e a tabela de códigos R4 quando o número dos coeficientes é quatro. Além disso, o codificador RVLC de comprimento variável selecciona a tabela de códigos R5 quando o número dos coeficientes zero não codificados é cinco, a tabela de códigos R6 quando o número dos coeficientes é seis e a tabela de códigos R7 quando o número dos coeficientes é sete, respectivamente. Além disso, quando o número de coeficientes zero não codificados é oito ou mais, o codificador RVLC de comprimento variável selecciona a tabela de códigos R8.
Em seguida, o codificador RVLC de comprimento variável efectua um processo para valores Run de sequência de codificação utilizando a tabela de códigos seleccionada, i. e., um processo para atribuir códigos correspondentes aos valores de sequência (etapa Sb4) e efectua, depois, o processo de determinação da etapa Sbl.
Neste caso, quando o resultado da determinação na etapa Sbl indica que não há nenhum coeficiente não-zero não codificado, o codificador RVLC de comprimento variável termina o processo de codificação de comprimento variável para os valores de sequência.
Em seguida, descreve-se um exemplo específico em que uma tabela de códigos é seleccionada com base no parâmetro de quantificação na codificação de comprimento variável dos valores 79 de nível, como descrito acima, para aumentar, desse modo, uma eficiência de codificação.
As Figs. 6 mostram o número total de bits correspondendo a códigos que estão atribuídos a valores de nível quando o parâmetro QP de quantificação é relativamente menor, i. e., quando as saídas (valores de nível) da calculadora LevCal de valores de nível que foram reorganizadas e são emitidas pela unidade Lreodr reorganização são 1, -1, 1, 2, 5, -10, 20 como mostrado na Fig. 3(f).
Quando se determina que o parâmetro QP de quantificação é igual ou maior do que um limiar e a tabela de códigos L2 é empregue, atribuem-se códigos (palavras de código) aos valores de nível respectivos, como mostrado na Fig. 6 (a) e o número total de bits correspondendo aos códigos atribuídos é de 75 bits.
Por outro lado, quando se determina que o parâmetro QP de quantificação é menor do que o limiar e a tabela de códigos LI é empregue, atribuem-se códigos (palavras de código) aos valores de nível respectivos, como mostrado na Fig. 6(b), e o número total de bits correspondendo aos códigos atribuídos é de 47 bits.
Quando o parâmetro QP de quantificação é relativamente menor, a frequência de ocorrência de componentes quantificados tendo valores maiores é mais elevada. Assim, é eficaz seleccionar a tabela de códigos Ll, na qual também se fazem corresponder códigos mais curtos, em média, a valores de nível cujos valores absolutos são relativamente maiores em comparação com a tabela de códigos L2, para aumentar a eficiência de 80 codificação .
As Figs. 7 mostram o número total de bits correspondendo a códigos que são atribuídos a valores de nível quando o parâmetro QP de quantificação é relativamente maior, i. e., quando as saídas (valores de nível) da calculadora LevCal de valores de nível que foram reorganizadas e são emitidas pela unidade Lreodr de reorganização são 1, -1, 1, 1, 1, -2, 3, ao contrário do caso mostrado na Fig. 3(f).
Quando se determina que o parâmetro QP de quantificação é igual ou maior do que o limiar e a tabela de códigos L2 é empregue, atribuem-se códigos (palavras de código) aos valores de nível respectivos, como mostrado na Fig. 7(a), e o número total de bits correspondendo aos códigos atribuídos é de 15 bits.
Por outro lado, quando se determina que o parâmetro QP de quantificação é menor do que o limiar e a tabela de códigos LI é empregue, atribuem-se códigos (palavras de código) aos valores de nível respectivos, como mostrado na Fig. 7(b), e o número total de bits correspondendo aos códigos atribuídos é de 17 bits.
Como descrito acima, quando o valor do parâmetro QP de quantificação é relativamente maior, a frequência de ocorrência dos coeficientes de quantificação tendo valores maiores é mais baixa. Assim, é eficaz seleccionar a tabela de códigos L2, na qual se fazem corresponder, intensivamente, códigos mais curtos a valores de nível cujos valores absolutos são relativamente menores em comparação com a tabela de códigos Ll, para aumentar a eficiência de codificação. 81
As Figs. 8 mostram o número total de bits correspondendo a códigos que são atribuídos a valores de sequência emitidos pela calculadora RunCal de valores de sequência quando os valores de sequência são 0, 0, 0, 1, 3, 3, 2 como mostrado na Fig. 3(e).
Quando a reorganização de valores de sequência, como na unidade RLEl de codificação de comprimento de sequência e na mudança da tabela de códigos, não é executada, mas a tabela de códigos R8 mostrada na Fig. 5(b) é sempre empregue, atribuem-se códigos (palavras de código) aos valores de sequência respectivos, como mostrado na Fig. 8(a), e o número total de bits correspondendo ao código atribuído é de 21 bits.
Quando a reorganização de valores de sequência e a mudança da tabela de códigos de acordo com o número de coeficientes zero não codificados é executada, como na unidade RLEl de codificação de comprimento de sequência, atribuem-se códigos (palavras de código) aos valores de sequência respectivos, como mostrado na Fig. 8(b), e o número total de bits correspondendo aos códigos atribuídos é de 13 bits. Neste caso, cada vez que um código é atribuído a um valor de sequência, o número de coeficientes não codificados é reduzido por um valor que é obtido adicionando um a um valor de sequência que tenha sido codificado imediatamente antes. Isto acontece porque um único ou sucessivos coeficientes zero são sempre seguidos por um coeficiente não-zero. Além disso, o número de coeficientes zero não codificados obtidos de múltiplos valores de sequência reorganizados correspondendo a um bloco, que são emitidos pela unidade Rreodr de reorganização, é de 15. Isto acontece porque um bloco a processar tem sempre, pelo menos, um coeficiente não-zero. 82
Quando a reorganização de valores de sequência, como na unidade RLE1 de codificação de comprimento de sequência, não é executada, mas se executa apenas a mudança da tabela de códigos de acordo com o número de coeficientes zero não codificados, atribuem-se códigos (palavras de código) aos valores de sequência respectivos, como mostrado na Fig. 8(c), e o número total de bits correspondendo aos códigos atribuídos é de 20 bits.
Como descrito acima, o aparelho 101 de codificação de imagem, de acordo com a primeira forma de realização, inclui a unidade RLE1 de codificação de comprimento de sequência que codifica coeficientes quantificados que são obtidos quantificando componentes de frequência de um sinal de imagem, utilizando um valor Run de sequência indicando o número de componentes Coef quantificados sucessivos cujos valores são zero (coeficientes zero) e um valor Lev de nível que indica um valor de um componente Coef quantificado cujo valor não é zero (coeficiente não-zero), depois dos coeficientes zero. Por conseguinte, os coeficientes quantificados podem ser codificados com uma maior eficiência de codificação, sendo a sua informação redundante suprimida.
Além disso, a unidade RLE1 de codificação de comprimento de sequência, de acordo com a primeira forma de realização, inclui o codificador LVLC de comprimento variável que selecciona uma tabela de códigos de acordo com o valor do parâmetro QP de quantificação e efectua uma codificação de comprimento variável de valores de nível utilizando a tabela de códigos seleccionada, reduzindo, desse modo, o número total de bits correspondendo a códigos que são atribuídos aos valores de nível. A unidade RLE1 83 de codificação de comprimento de sequência inclui, ainda, a unidade Rreodr de reorganização que reorganiza múltiplos valores de sequência que são obtidos de coeficientes quantificados que foram submetidos a uma ordem de processamento predeterminada, de componente de frequência elevada para componente de baixa frequência; e o codificador RVLC de comprimento variável que selecciona uma tabela de códigos de acordo com o número de coeficientes zero não codificados no bloco alvo e efectua uma codificação de comprimento variável dos valores de sequência reorganizados utilizando a tabela de códigos seleccionada. Por conseguinte, o número total de bits correspondendo a códigos que são atribuídos aos valores de sequência é reduzido eficazmente, aumentando, desse modo, a eficiência de codificação.
Nesta primeira forma de realização, o codificador RVLC de comprimento variável selecciona uma tabela de códigos de acordo com o número de coeficientes zero não codificados no bloco alvo (i. e., a saída Cnum da calculadora NumClc de número) . No entanto, o codificador RVLC de comprimento variável pode seleccionar uma tabela de códigos com base não apenas na saída Cnum da calculadora NumClc de número, mas também no sinal VlcSel de selecção de VLC. Por exemplo, quando um processo de codificação de comprimento variável utilizando uma tabela de códigos específica é indicado previamente pelo sinal VlcSel de selecção de VLC, o codificador RVLC de comprimento variável efectua um processo de codificação de comprimento variável para o valor de sequência utilizando a tabela de códigos específica, independentemente do número de coeficientes zero não codificados no bloco alvo. 84 [Forma de realizaçao 2] A Fig. 9 é um diagrama de blocos para explicar um aparelho de descodificação de imagem de acordo com uma segunda forma de realização da presente invenção.
Este aparelho 102 de descodificação de imagem de acordo com a segunda forma de realização descodifica, por exemplo, o fluxo Strl codificado que é emitido pelo aparelho 101 de codificação de imagem da primeira forma de realização. 0 aparelho 102 de descodificação de imagem tem, no lugar da unidade RLDOb de descodificação de comprimento de sequência no aparelho 202b convencional de descodificação de imagem mostrado na Fig. 36, que submete um fluxo StrOb codificado introduzido a um processo de descodificação de comprimento variável, uma unidade RLD1 de descodificação de comprimento de sequência que submete o fluxo Strl codificado introduzido a um processo de descodificação de comprimento variável com base no parâmetro QP de quantificação e de um sinal VldSel de selecção de VLD, para reconstituir coeficientes quantificados. A construção, à excepção da unidade RLD1 de descodificação de comprimento de sequência, é igual à do aparelho 202b de descodificação de imagem mostrado na Fig. 36. A Fig. 10 é um diagrama de blocos para explicar uma construção especifica da unidade RLD1 de descodificação de comprimento de sequência. A unidade RLDl de descodificação de comprimento de sequência tem um desmultiplexador DMUX para desmultiplexar o fluxo Strl codificado multiplexado que é emitido pelo aparelho 101 de 85 codificação de imagem para obter uma cadeia LStr de caracteres de código correspondendo a valores de nivel e uma cadeia RStr de caracteres de código correspondendo a valores de sequência, como a unidade RLDOb convencional de descodificação de comprimento de sequência mostrada na Fig. 37. A unidade RLD1 de descodificação de comprimento de sequência tem um descodificador LVLD de comprimento variável para submeter uma cadeia LStr de caracteres de código de valor de nível, que é obtida desmultiplexando o fluxo Strl codificado multiplexado, a um processo de descodificação de comprimento variável com base no parâmetro QP de quantificação e do sinal VldSel de selecção de VLD, para reconstituir valores ROLev de nível; e um descodificador RVLD de comprimento variável para submeter uma cadeia RStr de caracteres de código de valor de sequência, que é obtida desmultiplexando o fluxo Strl codificado multiplexado a um processo de descodificação de comprimento variável com base no número de coeficientes não codificados para reconstituir valores RORun de sequência. A unidade RLD1 de descodificação de comprimento de sequência inclui, ainda, uma unidade LIreodr de inversão de reorganização que reorganiza os valores ROLev de nível emitidos pelo descodificador LVLD de comprimento variável com uma ordem inversa à da unidade Lreodr de reorganização no fim da codificação para reconstituir as saídas Lev da calculadora de valores de nível na extremidade de codificação; uma unidade RIreodr de inversão de reorganização que reorganiza os valores RORun de sequência emitidos pelo descodificador RVLD de comprimento variável com uma ordem inversa à da unidade Rreodr de reorganização no fim da codificação para reconstituir as saídas Run da calculadora de valores de sequência no fim da 86 codificação; e uma calculadora NumClc de número que calcula o número Cnum de coeficientes não codificado num bloco alvo com base nas saídas Run da unidade RIreodr de inversão de reorganização e emite o número obtido. A unidade RLD1 de descodificação de comprimento de sequência inclui, ainda, um explorador IScan de inversão de ziguezague que reconstitui componentes DQS quantificados descodificados com uma organização bidimensional a partir de componentes quantificados descodificados com uma organização unidimensional, que são representados pelos valores Lev de nível e valores Run de sequência.
As Figs. 11 são diagramas para explicar um processo de descodificação de comprimento variável pelo descodificador LVLD de comprimento variável. A Fig. 11 (a) é um fluxograma para explicar o processo de descodificação de comprimento variável para reconstituir valores de nível e a Fig. 11(b) é um diagrama explicativo que mostra uma tabela de códigos que é empregue no processo de descodificação de comprimento variável. Neste caso, as tabelas de códigos LI e L2 que são empregues no processo de descodificação de comprimento variável para os valores de nível são iguais às tabelas de códigos LI e L2 que são empregues no processo de codificação para os valores de nível na unidade RLE1 de codificação de comprimento de sequência de acordo com a primeira forma de realização.
As Figs. 12 são diagramas para explicar um processo de descodificação de comprimento variável pelo descodificador RVLD de comprimento variável. A Fig. 12 (a) é um fluxograma para explicar um processo de descodificação de comprimento variável para reconstituir valores de sequência. A Fig. 12(b) é um 87 diagrama explicativo que mostra tabelas de códigos que são empregues no processo de descodificação de comprimento variável. Neste caso, as tabelas de códigos RI a R8 que são empregues no processo de descodificação de comprimento variável para valores de sequência são iguais às tabelas de códigos RI a R8, respectivamente, que são empregues no processo de codificação para valores de sequência na unidade RLE1 de codificação de comprimento de sequência de acordo com a primeira forma de realização.
Em seguida, descreve-se o seu funcionamento.
Quando um fluxo Strl codificado multiplexado é, por exemplo, introduzido no aparelho 102 de descodificação de imagem do aparelho 101 de codificação de imagem de acordo com a primeira forma de realização, a unidade RLD1 de descodificação de comprimento de sequência submete o fluxo Strl codificado a um processo de descodificação e emite componentes DQS quantificados descodificados. A operação da unidade RLD1 de descodificação de comprimento de sequência é a inversa da da unidade RLE1 de codificação de comprimento de sequência.
Mais especificamente, na unidade RLD1 de descodificação de comprimento de sequência, o desmultiplexador DMUX desmultiplexa o fluxo Strl codificado multiplexado introduzido para obter uma cadeia LStr de caracteres de código de valor de nível correspondendo a valores de nível e uma cadeia RStr de caracteres de código de valor de sequência correspondendo a valores de sequência e emite a cadeia de caracteres de código de valor de nível e a cadeia de caracteres de código de valor de sequência para o descodificador LVLD de comprimento variável e descodificador RVLD de comprimento variável, respectivamente. 0 descodificador LVLD de comprimento variável obtém valores ROLev de nivel correspondendo a códigos respectivos (palavras de código) para a cadeia LStr de caracteres de código de valor de nivel obtida do desmultiplexador DMUX, utilizando múltiplas tabelas de códigos que indicam correspondências entre o valor de nivel e o código (palavra de código) , com base no parâmetro QP de quantificação da unidade Q de quantificação e um sinal VldSel de selecção de VLD da selecção de instrução exterior de descodificação de comprimento variável e emite os valores de nivel obtidos para a unidade LIreodr de inversão de reorganização. Por outro lado, o descodificador RVLD de comprimento variável obtém valores ROLev de sequência correspondendo a códigos respectivos (palavras de código) para a cadeia RStr de caracteres de código de valor de sequência obtida do desmultiplexador DMUX, utilizando múltiplas tabelas de códigos que indicam correspondências entre o valor de sequência e o código (palavras de código) , com base no número Cnum de coeficientes não codificados emitidos pela calculadora NumClc de número e emite os valores de sequência obtidos para a unidade RIreodr de inversão de reorganização. A unidade LIreodr de inversão de reorganização submete os valores ROLev de nivel emitidos pelo descodificador LVLD de comprimento variável a um processo de configuração inverso do processo pela unidade Lreodr de reorganização no fim da codificação, para reconstituir as saldas Lev da calculadora de valores de nivel no fim da codificação. Por outro lado, a unidade RIreodr de inversão de reorganização submete os valores RORun de sequência emitidos pelo descodificador RVLD de comprimento variável a um processo de configuração que é inverso do processo da unidade Rreodr de reorganização no fim da 89 codificação, para reconstituir as saídas Run da calculadora de valores de sequência no fim da codificação. Além disso, a calculadora NumClc de número calcula o número Cnum de coeficientes não codificados num bloco alvo com base nas saídas Run da unidade RIreodr de inversão de reorganização e emite o número Cnum obtido para o descodificador RVLD de comprimento variável.
Depois, o explorador IScan de inversão de ziguezague efectua uma operação que é inversa da do explorador Scan de ziguezague para reconstituir componentes DQS quantificados descodificados com uma organização bidimensional a partir dos componentes quantificados com uma organização unidimensional, que são representados pelos valores Lev de nível e pelos valores Run de sequência e emite os componentes DQS quantificados obtidos para a unidade IQ de inversão de quantificação.
Em seguida, descreve-se, especificamente, o funcionamento do descodificador LVLD de comprimento variável recorrendo às Figs. 11. 0 descodificador LVLD de comprimento variável obtém o parâmetro QP de quantificação da unidade Q de quantificação do aparelho 101 de codificação de imagem (etapa Scl) e determina se o parâmetro QP de quantificação obtido é igual ou maior do que um limiar do parâmetro QP de quantificação, que é mantido no descodificador LVLD de comprimento variável (etapa Sc2).
Quando o resultado da determinação indica que o parâmetro QP de quantificação obtido é menor do que o limiar do parâmetro QP de quantificação, o descodificador LVLD de comprimento variável selecciona a tabela de códigos LI (ver Fig. 11(b)) que é 90 constituída pela configuração Alev de valores de nivel e pela configuração Cal de códigos (palavras de código) (etapa Sc3), e quando o parâmetro QP de quantificação obtido é igual ou maior do que o limiar do parâmetro QP de quantificação, selecciona a tabela de códigos L2 (ver Fig. 11 (b) ) que é constituída pela configuração Alev de valores de nível e pela configuração Ca2 de códigos (palavras de código) (ver Fig. 11(b)) (etapa Sc4).
Depois disso, o descodificador LVLD de comprimento variável determina se há algum valor Lev de nível não codificado no bloco alvo (etapa Sc5) . Quando valores Lev de nível não codificados estão incluídos no bloco alvo, o descodificador de comprimento variável efectua um processo de descodificação para reconstituir valores Lev de nível utilizando a tabela de códigos seleccionada, i. e., um processo para obter valores de nível correspondendo a códigos (etapa Sc6), e efectua, depois, o processo acima mencionado da etapa Sc5. Por outro lado, se o resultado da determinação na etapa Sc5 indicar que não há nenhum valor Lev de nível não codificado no bloco alvo, o descodificador de comprimento variável termina o processo de descodificação de comprimento variável para reconstituir os valores Lev de nivel.
Neste caso, quando o sinal VldSel de selecção de LVD designa previamente um processo de descodificação de comprimento variável utilizando uma tabela de códigos especifica, o descodificador LVLD de comprimento variável efectua um processo de descodificação de comprimento variável para reconstituir valores de nível utilizando a tabela de códigos específica, independentemente do valor do parâmetro QP de quantificação.
Em seguida, descreve-se, especificamente, o funcionamento do 91 descodificador RVLD de comprimento variável com referência às Figs. 12. 0 descodificador RVLD de comprimento variável determina se há algum coeficiente não-zero não codificado num bloco alvo com base na saída (o número de coeficientes não codificados) Cnum da calculadora NumClc de número (etapa Sdl) . Quando o resultado da determinação mostrar que há coeficientes não-zero não codificados, o descodificador de comprimento variável calcula o número de coeficientes zero não codificados no bloco alvo com base no número Cnum de coeficientes não codificados (etapa Sd2). 0 descodificador RVLD de comprimento variável selecciona uma tabela de códigos de acordo com o número obtido de coeficientes zero não codificados (etapa Sd3). Mais especificamente, quando o número de coeficientes zero não codificados é um, o descodificador de comprimento variável selecciona a tabela de códigos RI que é constituída pela configuração Arun de valores de sequência e pela configuração Cbl de códigos (palavras de código) (ver Fig. 12(b)). De igual modo, o descodificador de comprimento variável selecciona a tabela de códigos R2 quando o número de coeficientes zero não codificados é dois, a tabela de códigos R3 quando o número de coeficientes zero não codificados é três e a tabela de códigos R4 quando o número de coeficientes zero não codificados é quatro. Além disso, o descodificador de comprimento variável selecciona a tabela de códigos R5 quando o número de coeficientes zero não codificados é cinco, a tabela de códigos R6 quando o número de coeficientes zero não codificados é seis e a tabela de códigos R7 quando o número de coeficientes zero não codificados é sete, respectivamente. Além disso, quando o número de coeficientes zero não codificados é oito ou mais, o 92 descodificador RVLD de comprimento variável selecciona a tabela de códigos R8.
Em seguida, o descodificador RVLD de comprimento variável efectua um processo de descodificação para reconstituir valores Run de sequência utilizando a tabela de códigos seleccionada, i. e., um processo para obter valores de sequência correspondendo a códigos respectivos (etapa Sd4), e efectua, depois, o processo de determinação acima mencionado da etapa Sdl.
Além disso, quando o resultado da determinação na etapa Sdl indica que há nenhum coeficiente não-zero não codificado, o descodificador RVLD de comprimento variável termina o processo de descodificação de comprimento variável para reconstituir os valores de sequência.
Neste aparelho 102 de descodificação de imagem, de acordo com a segunda forma de realização, a unidade IQ de inversão de quantificação, a unidade ITrans de inversão de transformação de frequência e a unidade DeBlk de desbloqueio funcionam do mesmo modo que as do aparelho 202a convencional de descodificação de imagem (ver Fig. 32) e aparelho 202b de descodificação de imagem (ver Fig. 36) .
Mais especificamente, a unidade IQ de inversão de quantificação efectua uma operação inversa à da unidade Q de quantificação, i. e., uma operação que consiste em quantificar inversamente os componentes DQS quantificados descodificados no que se refere ao parâmetro QP de quantificação, para emitir componentes ITransS de frequência descodificados. A unidade ITrans de inversão de transformação de frequência efectua uma 93 operação inversa à da unidade Trans de transformação de frequência, i. e., uma operação de transformação dos componentes ITransS de frequência descodificados correspondendo a cada bloco de acordo com uma transformação DCT inversa ou "Wavelet" inversa, para reconstituir sinais DBlkS de valor de pixel descodificados correspondendo a blocos respectivos. Depois, a unidade DeBlk de desbloqueio integra os componentes DBlkS de valor de pixel descodificados de blocos respectivos e emite um sinal Vout de imagem descodificado correspondendo a cada imagem (trama).
Como descrito acima, o aparelho 102 de descodificação de imagem, de acordo com a segunda forma de realização, inclui a unidade RLD1 de descodificação de comprimento de sequência que transforma uma cadeia RStr de caracteres de código de sequência e uma cadeia LStr de caracteres de código de nivel que constituem dados codificados, respectivamente, num valor Run de sequência indicando o número de coeficientes Coef zero sucessivos e num valor Lev de nível indicando um valor de um coeficiente não-zero depois dos coeficientes zero, para reconstituir coeficientes quantificados com base no valor de sequência e valor de nível. Por conseguinte, pode efectuar-se, satisfatoriamente, um processo de descodificação correspondendo a um processo de codificação de comprimento variável por meio do qual coeficientes quantificados podem ser codificados com uma eficiência de codificação mais elevada sendo a sua informação redundante suprimida.
Além disso, a unidade RLD1 de descodificação de comprimento de sequência, de acordo com a segunda forma de realização, inclui o descodificador LVLD de comprimento variável que selecciona uma tabela de códigos de acordo com o valor do 94 parâmetro QP de quantificação e efectua descodificação de comprimento variável para reconstituir valores de nível utilizando a tabela de códigos seleccionada. Por conseguinte, uma cadeia de caracteres de código de valor de nível que seja composta por um número total de bits reduzido correspondendo a códigos que são atribuídos a valores de nível pode ser descodificada satisfatoriamente. A unidade RLD1 de descodificação de comprimento de sequência inclui, ainda, o descodificador RVLD de comprimento variável que selecciona uma tabela de códigos de acordo com o número de coeficientes zero não codificados num bloco alvo e descodifica uma cadeia de caracteres de código correspondendo a valores de sequência reorganizados utilizando a tabela de códigos seleccionada e a unidade RIreodr de inversão de reorganização que reorganiza os valores de sequência que são obtidos pelo processo de descodificação com uma ordem inversa ao processo de reorganização para valores de sequência na unidade RLD1 de codificação de comprimento de sequência. Por conseguinte, o número total de bits correspondendo a códigos que são atribuídos aos valores de sequência pode ser reduzido eficazmente e a cadeia de caracteres de código de valor de sequência compreendendo os valores de sequência pode ser descodificada satisfatoriamente.
Nesta segunda forma de realização, o descodificador RVLD de comprimento variável selecciona uma tabela de códigos de acordo com o número de coeficientes zero não codificados no bloco alvo (i. e., a saída Cnum da calculadora NumClc de número), mas este descodificador RVLD de comprimento variável pode seleccionar a tabela de códigos com base nao apenas na saída Cnum da calculadora NumClc de número, mas também no sinal VldSel de 95 selecção de VLD. Por exemplo, quando um processo de descodificação de comprimento variável utilizando uma tabela de códigos especifica é indicado previamente pelo sinal VldSel de selecção de VLD, o descodificador RVLD de comprimento variável executa um processo de descodificação de comprimento variável utilizando a tabela de códigos especifica para reconstituir valores de sequência, independentemente do número de coeficientes zero não codificados no bloco alvo.
[Forma de realização 3] A Fig. 13 é um diagrama de blocos para explicar um aparelho de codificação de imagem de acordo com uma terceira forma de realização da presente invenção.
Este aparelho 103 de codificação de imagem, de acordo com a terceira forma de realização, tem, no lugar da unidade RLEOc de codificação de comprimento de sequência no aparelho 201c de codificação de imagem mostrado na Fig. 38 que submete saldas (componentes quantificados) QS da unidade Q de quantificação a um processo de codificação de comprimento variável e emite um fluxo StrO codificado, uma unidade RLE2 de codificação de comprimento de sequência que submete as saídas QS da unidade Q de quantificação a um processo de codificação de comprimento variável com base num parâmetro QP de quantificação ou num sinal VlcSel de selecção de VLC e emite um fluxo Str2 codificado. Outros componentes do aparelho 103 de codificação de imagem da terceira forma de realização são iguais aos do aparelho 201c convencional de codificação de imagem.
Mais especificamente, a unidade RLE2 de codificação de 96 comprimento de sequência tem, como a unidade RLEOc de codificação de comprimento de sequência convencional, a primeira tabela de códigos TI (ver Fig. 42) que mostra a correspondência entre o par de um valor de sequência e um valor de nivel (designado, em seguida, como par sequência-nivel) e um código correspondente, de acordo com combinações dos valores de sequência e dos valores de nivel. Esta unidade RLE2 de codificação de comprimento de sequência muda, regularmente, as correspondências entre o par sequência-nivel e o código na primeira tabela de códigos, com base na primeira tabela de códigos, para formar uma segunda tabela de códigos tendo correspondências diferentes da primeira tabela de códigos, e selecciona uma de entre a primeira e segunda tabelas de códigos com base no parâmetro QP de quantificação que é emitido pela unidade Q de quantificação ou no sinal VlcSel de selecção de VLC do exterior, bem como atribui códigos aos pares sequência-nivel associados com coeficientes nos dados alvo a processar, com base na tabela de códigos seleccionada.
Neste caso, o parâmetro QP de quantificação é um parâmetro que indica o valor da etapa de quantificação e a etapa de quantificação é, aproximadamente, proporcional ao parâmetro QP de quantificação. Mais especificamente, quando o parâmetro QP de quantificação é maior, os componentes de quantificação têm valores absolutos menores, a seguir, a sequência de zeros nos componentes quantificados (o comprimento de componentes sucessivamente contínuos cujos valores são zero) torna-se maior e, assim, o valor de nível tem um valor absoluto menor. Por conseguinte, neste caso, selecciona-se uma tabela de códigos em que códigos mais pequenos são atribuídos a pares sequência-nível compreendendo valores de sequência maiores e valores de nível mais pequenos, para aumentar, desse modo, a eficiência de 97 contrário, quando o codificação. Ao contrário, quando o parâmetro QP de quantificação é menor, os componentes quantificados têm valores absolutos maiores. Por conseguinte, selecciona-se uma tabela de códigos em que códigos mais pequenos são atribuídos a pares sequência-nível compreendendo valores de sequência mais pequenos e valores de nível maiores, aumentando, desse modo, a eficiência de codificação.
Além disso, quando o sinal VlcSel de selecção de VLC proveniente do exterior do aparelho 103 de codificação de imagem é introduzido, a unidade RLE2 de codificação de comprimento de sequência selecciona uma tabela de códigos que é empregue no processo de codificação de acordo com o sinal VlcSel de selecção. Assim, quando uma tabela de códigos apropriada é seleccionada do exterior de acordo com caracteristicas de imagem (o valor do movimento de uma imagem, a complexidade do movimento, a minúcia de um padrão ou semelhantes) ou quando um fluxo que pode ser descodificado por um aparelho de descodificação de imagem incluindo apenas uma tabela de códigos é formado no lado do aparelho 103 de codificação de imagem, este aparelho 103 de codificação de imagem pode ser controlado pelo sinal VlcSel de selecção de VLC utilizando sempre uma tabela de códigos predeterminada. Ou seja, é também possível efectuar um processo de codificação de comprimento variável sem mudar uma tabela de códigos, mas utilizando apenas uma tabela de códigos. A Fig. 14 é um diagrama de blocos para explicar uma construção específica da unidade RLE2 de codificação de comprimento de sequência. A unidade RLE2 de codificação de comprimento de sequência tem, como a unidade RLEOc de codificação de comprimento de 98 sequência convencional (ver Fig. 39), um explorador Scan de ziguezague para transformar saldas (componentes quantificados) QS com uma organização bidimensional da unidade Q de quantificação em componentes Coef quantificados com uma organização unidimensional (i. e., ordem predeterminada); uma calculadora RunCal de valores de sequência para calcular o número de componentes Coef quantificados sucessivos cujos valores são zero (coeficientes zero) e emitir um valor Run de sequência; e uma calculadora LevCal de valores de nível para calcular um valor de componente Coef quantificado cujo valor não seja zero (coeficiente não-zero), depois dos coeficientes zero e emitir um valor Lev de nível.
Nesta terceira forma de realização, a unidade RLE2 de codificação de comprimento de sequência tem, ainda, um conversor RunConv de sequência para efectuar um processo de conversão em que divide a saída (valor de sequência) Run da calculadora RunCal de valores de sequência num valor Runl de sequência indicando um dígito superior do valor Run de sequência e num valor Run2 de sequência indicando um dígito mais baixo do valor Run de sequência, com base no parâmetro QP de quantificação ou no sinal VlcSel de selecção de VLC; e um conversor LevConv de nível para efectuar um processo da conversão em que divide a saída (valor de nível) Lev da calculadora LevCal de valores de nível num valor Levl de nível indicando um dígito superior do valor Lev de nível e num valor Le2 de nível indicando um dígito mais baixo do valor Lev de nível com base no parâmetro QP de quantificação ou no sinal VlcSel de selecção de VLC. A unidade RLE2 de codificação de comprimento de sequência inclui, ainda, um codificador RunLevEnc de sequência-nível para obter um número Code de código correspondendo a um par 99 constituído por um valor Runl de sequência e valor Levl de nível (designado, em seguida, como um par de dígito superior de sequência-nível) de acordo com uma tabela de códigos ou operação aritmética; e uma unidade ReOdr de reorganização para efectuar um processo para reorganizar pares de dígito superior de sequência-nível de modo a que pares de dígito superior de sequência-nível para componentes de frequência mais elevada, correspondendo a um bloco objecto a processar, correspondam a números de código mais pequenos com base em correspondências entre o par de dígito superior de sequência-nível e o número Code de código, de acordo com o parâmetro QP de quantificação ou o sinal VlcSel de selecção VLC e emitir um número ReOdrCode de código correspondendo a um par de dígito superior de sequência-nível reorganizado. A unidade RLE2 de codificação de comprimento de sequência inclui, ainda, uma calculadora PosClc de posição para calcular o número de componentes quantificados codificados (coeficientes codificados) a partir do valor Run de sequência e emitir um número Pos de coeficientes codificados; um transformador
CodeTrans de código para emitir um número ExtCode de código correspondendo a um par sequência-nivel, indicado por uma segunda tabela de códigos, a partir do valor Lev2 de nível e do valor Run2 de sequência, com base nas correspondências entre o par de dígito superior de sequência-nível e o número ReOdrCode de código; e um codificador VLC de comprimento variável para atribuir uma cadeia de bits (palavra de código) ao número ExtCode de código para gerar uma cadeia Str2 de caracteres de código. 0 explorador Scan de ziguezague, a calculadora RunCal de valores de sequência, a calculadora LevCal de valores de nível e 100 o codificador VLC de comprimento variável na unidade RLE2 de codificação de comprimento de sequência são iguais aos da unidade RLEOc de codificação de comprimento de sequência convencional mostrada na Fig. 39.
Em seguida, descrevem-se as funções e os efeitos. 0 explorador Scan de ziguezague transforma os componentes QP quantificados com uma organização bidimensional em componentes Coef quantificados com uma organização unidimensional, i. e., para os quais se definiu uma ordem. A calculadora RunCal de valores de sequência calcula o número de componentes Coef zero sucessivos (componentes quantificados cujos valores são zero) e emite um valor Run de sequência indicando o número obtido. A calculadora LevCal de valores de nivel calcula um valor de um componente Coef não-zero (um componente quantificados cujo valor não seja zero, depois dos componentes zero) e emite um valor Lev de nível indicando o valor do componente não-zero. 0 conversor RunConv de sequência efectua um processo de conversão dividindo o valor Run de sequência no valor Runl de sequência indicando um digito superior do valor Run de sequência e no valor Run2 de sequência indicando um dígito mais baixo do valor Run de sequência. 0 conversor LevConv de nível efectua um processo da conversão dividindo o valor Lev de nível no valor Levl de nível indicando um digito superior do valor Lev de nivel e no valor Lev2 de nível indicando um dígito mais baixo do valor Lev de nível. 0 codificador RunLevEnc de sequência-nível obtém um número Code de código correspondendo a um par constituído pelo valor Levl de nível e valor Runl de sequência (par de dígito superior 101 de sequência-nível) de acordo com uma tabela de códigos (primeira tabela de códigos) mostrada na Fig. 42 ou operação aritmética. A unidade ReOdr de reorganização efectua um processo de reorganização dos pares de dígito superior de sequência-nível do acordo com o parâmetro QP de quantificação ou o sinal VlcSel de selecção de VLC e emite um número ReOdrCode de código correspondendo a um par de dígito superior de sequência-nível reorganizado. De acordo com o processo de reorganização dos pares de dígito superior de sequência-nível, as correspondências entre o par de dígito superior de sequência-nível e o número Code de código, que são obtidas pelo codificador RunLevEnc de sequência-nível, são convertidas em correspondências em que números de código mais pequenos correspondem a pares de dígito superior de sequência-nível correspondendo a componentes de frequência mais elevada no bloco alvo a processar. A calculadora PosClc de posição calcula o número de componentes codificados a partir do valor Run de sequência e emite um número Pos de coeficientes codificados. 0 transformador CodeTrans de código emite um número ExtCode de código correspondendo a um par sequência-nível do valor Lev2 de nível e valor Run2 de sequência com base nas correspondências entre o par de dígito superior de sequência-nível e o número ReOdrCode de código. Neste momento, o transformador CodeTrans de código emprega o número Pos de coeficientes codificados que é emitido pela calculadora PosClc de posição, para obter o número de componentes não codificados.
Neste caso, o número ExtCode de código correspondendo ao par sequência-nível, que é emitido pelo transformador CodeTrans de código, é obtido com base na segunda tabela de códigos que tem correspondências entre o par sequência-nível e o número de 102 código diferentes das da primeira tabela de códigos. Esta segunda tabela de códigos é formada do seguinte modo: uma tabela de códigos que tem correspondências diferentes entre um par sequência-nivel e um número de código da primeira tabela de códigos é, inicialmente, formada pelo processo de reorganização pela unidade ReOdr de reorganização e, depois, esta tabela de códigos formada pela unidade ReOdr de reorganização é modificada pelo transformador CodeTrans de número com base no número Pos de coeficientes codificados de modo a não incluir correspondências entre o par sequência-nível e o número de código, correspondendo a valores Run de sequência excedendo o número de componentes não codificados. 0 codificador VLC de comprimento variável atribui uma cadeia de bits (palavra de código) ao número ExtCode de código para gerar um fluxo Str2 codificado.
As Figs. 15 mostram exemplos da segunda tabela de códigos que é formada pela unidade RLE2 de codificação de comprimento de sequência com base na primeira tabela de códigos. Neste caso, a primeira tabela de códigos é igual à tabela de códigos mostrada na Fig. 42, que é empregue na unidade RLEOc de codificação de comprimento de sequência convencional. Nas primeira e segunda tabelas de códigos, uma cadeia de bits (palavra de código) é atribuída ao número de código numa relação uma a uma, ao mesmo tempo que, sem ser preciso repetir, palavras de código mais curtas são atribuídas a números Code de código tendo valores mais pequenos. A Fig. 15(a) mostra, como um exemplo da segunda tabela de códigos, uma segunda tabela de códigos T2a que é apropriada para um caso em que o parâmetro QP de quantificação é mais pequeno. 103
Esta segunda tabela de códigos T2a é formada do seguinte modo.
Inicialmente, um valor correspondendo a 1/2 do valor Lev de nivel é atribuído como o valor Levl de nível e um valor absoluto de (Levlx2-Lev) é atribuído como o valor Lev2 de nível.
Neste caso, quando o valor Lev de nível é um número ímpar, emprega-se como o valor Levl de nível um valor que é obtido dividindo um número par, tendo um valor absoluto que é maior por um do que o do valor Lev de nível, por 2. Mais especificamente, quando o valor Lev de nível é positivo, um valor correspondendo a 1/2 de (Lev+1) é atribuído ao valor Levl de nível, ao passo que, quando o valor Lev de nível é negativo, um valor correspondendo a 1/2 de (Lev-1) é atribuído ao valor Levl de nível.
Depois, um número Code de código correspondendo a um par constituído pelo valor Levl de nível e o valor Run de sequência é obtido a partir da primeira tabela de códigos (ver Fig. 42) de acordo com as combinações dos valores Lev de nivel e do valor Run de sequência.
Além disso, o número Code de código correspondendo a um par constituído pelo valor Levl de nível e valor Run de sequência é convertido de acordo com a fórmula (1) que se segue quando o valor Lev é positivo e de acordo com a fórmula (2) quando o valor Lev é negativo. A segunda tabela de códigos T2a mostra correspondências entre o número de código e o par sequência-nível que são obtidos pela conversão acima. 104 2χ(Code-Lev2)-1 . .. (1} 2 *(Code-Lev2) ... {2}
Por exemplo, ao focalizar a atenção num par sequência-nível, (nível=-2, sequência=l) na tabela de códigos (primeira tabela de códigos) na Fig. 42, um número Code de código correspondendo a este par sequência-nível é convertido de "10", indicado pela primeira tabela de códigos TI na Fig. 42, para "12", indicado pela segunda tabela de códigos T2a na Fig. 15(a).
Ou seja, dado que o par sequência-nível (Lev, Run) é (- 2, 1) neste caso, Levl e Lev2 são calculados do seguinte modo.
Levl = Lev -(1/2)- -1 Lev2 - |Levl -2-Lev| * )-1-2-(-2)! - 0
Por conseguinte, (Levl, Run) é (- 1, 1) e este par sequência-nível corresponde a um número de código (Code =6) de acordo com a primeira tabela de códigos (ver Fig. 42).
Então, um número de código correspondendo ao par sequência-nível (Lev, Run) = (- 2, 1) é calculado empregando a fórmula (2) : 2«(Code-Lev2) » 2* (6-0) » 12 A tabela de códigos na Fig. 15(a) é caracterizada por números de código mais pequenos (i. e., palavras de código mais curtas) serem atribuídos a pares sequência-nível compreendendo 105 valores de sequência mais pequenos e valores de nível maiores em comparação com a tabela de códigos (primeira tabela de códigos) mostrada na Fig. 42, e isto é apropriado para um caso em que o parâmetro QP de quantificação é mais pequeno. A Fig. 15(b) mostra, como outro exemplo da segunda tabela de códigos, uma segunda tabela de códigos T2b que é apropriada para um caso em que o parâmetro QP de quantificação é maior.
Esta segunda tabela de códigos T2b é formada do seguinte modo.
Inicialmente, um valor correspondendo a 1/2 do valor Run de sequência é atribuído enquanto valor Runl de sequência e um valor absoluto de (Runlx2-Run) é atribuído enquanto valor Run2 de sequência. Neste caso, quando o valor de sequência é um número ímpar, uma parte inteira do valor correspondendo a 1/2 de (Run+1) é atribuída ao valor Runl de sequência.
Depois, um número Code de código correspondendo a um par constituído pelo valor Lev de nível e valor Runl de sequência é obtido a partir da primeira tabela de códigos (ver Fig. 42), de acordo com combinações dos valores Lev de nível e valores Runl de sequência.
Além disso, o número Code de código correspondendo a um par constituído pelo valor Lev de nível e valor Runl de sequência é convertido com base na fórmula (3) que se segue quando o valor Lev é positivo e na fórmula (4) quando o valor Lev é negativo. A segunda tabela de códigos T2b mostra correspondências entre o número de código e o par sequência-nível que são obtidas em consequência da conversão. 106 2* (Code+Run2)-1 ... (3) 2MCode+Run2)~2 .♦· (4)
Por exemplo, ao focalizar a atenção num par sequência-nível (nível=-l, sequência=2) na tabela de códigos (primeira tabela de códigos) da Fig. 42, um número Code de código correspondendo a este par sequência-nível é convertido de "12", indicado pela primeira tabela de códigos TI na Fig. 42, para "10" indicado pela segunda tabela de códigos T2b na Fig. 15(b).
Mais especif icamente, dado que o par sequência-nível (Lev, Run) neste caso é (- 1, 2), Runl e Run2 são calculados do seguinte modo.
Runl = Run -(1/2) = 1
Run2 » |Runl >2-Run| = |l-2~2! = 0
Por conseguinte, (Lev, Runl) é (- 1, 1) e este par sequência-nível corresponde a um número de código (código = 6) de acordo com a primeira tabela de códigos (Fig. 42).
Depois, um número de código correspondendo ao par sequência-nível (Lev, Run) = (- 1, 2) é calculado utilizando a fórmula (4) : 2 *(Code + Run2) “ 2*¢6-0)-2 = 10 A segunda tabela de códigos T2b mostrada na Fig. 15(b) é caracterizada por os números de código mais pequenos (i. e., palavras de código mais curtas) serem atribuídos a pares 107 sequência-nível compreendendo valores de sequência maiores e valores de nível mais pequenos em comparação com a tabela de códigos TI (primeira tabela de códigos) mostrada na Fig. 42, e isto é apropriado para um caso em que o parâmetro QP de quantificação é maior.
As Figs. 16 mostram outros exemplos da segunda tabela de códigos que é formada com base na primeira tabela de códigos pela unidade RLE2 de codificação de comprimento de sequência. Neste caso, a primeira tabela de códigos é igual à tabela de códigos TI mostrada na Fig. 42, que é empregue na unidade RLEOc de codificação de comprimento de sequência convencional. 0 transformador CodeTrans de número calcula o número de componentes não codificados (o número de coeficientes que não tenha sido ainda submetido a um processo de codificação) num bloco alvo a processar com base no número Pos de coeficientes codificados que é emitido pela calculadora PosClc de posição. Além disso, a segunda tabela de códigos que é formada a partir da primeira tabela de códigos não inclui nenhuma palavra de código correspondendo a pares sequência-nível incluindo valores de sequência que excedem o número de componentes não codificados. Desse modo, permite-se codificar com uma eficiência de compressão mais elevada. A Fig. 16(a) mostra uma segunda tabela de códigos T2c que é formada quando o número de componentes não codificados é três ou mais. A Fig. 16(b) mostra uma segunda tabela de códigos T2d que é formada quando o número de componentes não codificados é dois. A Fig. 16(c) mostra uma segunda tabela de códigos T2e que é formada quando o número de componentes não codificados é um. 108
Quando as correspondências entre pares sequência-nível incluindo valores de sequência que nunca serão utilizados e códigos são suprimidas da tabela de códigos como descrito acima, um código mais curto é atribuído ao par sequência-nível. Por exemplo, de acordo com a segunda tabela de códigos T2e, como mostrado na Fig. 16(c), um par sequência-nível compreendendo um valor de sequência [0] e um valor de nível [4] corresponde a um número de código [7] . 0 par sequência-nivel compreendendo o valor de sequência [0] e o valor de nível [4] corresponde a um número de código [11] de acordo com a segunda tabela de códigos T2d mostrada na Fig. 16 (b) , ao passo que o par sequência-nível compreendendo o valor de sequência [0] e o valor de nível [4] corresponde a um número de código tendo um outro valor maior (não mostrado) de acordo com a segunda tabela de códigos T2c mostrada na Fig. 16(a). A Fig. 17 mostra um exemplo de uma ordem de codificação na unidade RLE2 de codificação de comprimento de sequência do aparelho 103 de codificação de imagem de acordo com a terceira forma de realização.
De um modo geral, valores absolutos de valores de nível correspondendo a componentes de frequência mais baixa são grandes e, na tabela de códigos, números Code de código tendo valores maiores correspondem a pares sequência-nível correspondendo aos componentes de frequência mais baixa. Pelo contrário, valores absolutos de valores de nível correspondendo a componentes de frequência mais elevada são pequenos e, na tabela de códigos, números de código tendo valores mais pequenos correspondem a pares sequência-nível correspondendo aos componentes de frequência mais elevada. 109
Como descrito com referência às Figs. 16, o aumento na eficiência de compressão, que é obtido suprimindo números de código (palavras de código) correspondendo a pares sequência-nível que incluem valores de sequência que excedem o número de componentes não codificados da tabela de códigos, é maior porque o número de componentes não codificados é mais pequeno, assim como tão maior quanto maior for o valor absoluto do valor de nível, porque a relação de diminuição no valor do número de código atribuído é maior em comparação com o caso em que os números de código ainda não foram suprimidos.
Assim, quando componentes quantificados tendo valores absolutos maiores dos valores de nível e correspondendo a componentes de frequência mais baixa são codificados mais tarde na codificação de componentes quantificados pela unidade RLE2 de codificação de comprimento de sequência, como no aparelho 103 de codificação de imagem de acordo com a terceira forma de realização, o aumento da eficiência da compressão é ainda maior.
Mais especificamente, a unidade ReOdr de reorganização reorganiza componentes quantificados para ficarem dispostos sucessivamente desde um par sequência-nível de um componente quantificado correspondendo a um componente de frequência mais elevada (o último componente não-zero) a um par sequência-nível de um componente quantificados correspondendo a um componente de frequência mais baixa, como mostrado pelas setas XI a X7 na Fig. 17, para adicionar um EOB que indica o último componente codificado num bloco alvo após uma palavra de código correspondendo a um par sequência-nível de um componente quantificado tendo o componente de frequência mais baixa, aumentando, desse modo, a eficiência de compressão. 110
Além disso, na terceira forma de realização, o parâmetro QP de quantificação e o sinal VlcSel de selecção de VLC são fornecidos ao conversor LevConv de nivel, ao conversor RunConv de sequência, à unidade ReOdr de reorganização e ao transformador CodeTrans de número. Por conseguinte, uma tabela de códigos pode ser mudada de acordo com o parâmetro QP de quantificação ou uma tabela de códigos apropriada pode ser seleccionada a partir do exterior de acordo com o conteúdo de uma imagem (o valor de um movimento da imagem, a complexidade do movimento ou a minúcia de um padrão).
Por exemplo, quando a tabela de códigos que é empregue no processo de codificação é mudada de acordo com o sinal VlcSel de selecção de VLC desde o exterior do aparelho de codificação de imagem, o aparelho de descodificação de imagem pode criar um fluxo que pode ser descodificado por uma unidade de descodificação tendo apenas uma tabela de códigos.
Nesta terceira forma de realização, o aparelho 103 de codificação de imagem que codifica coeficientes quantificados de um sinal de imagem enquanto dados alvo a processar inclui a unidade RLE2 de codificação de comprimento de sequência que atribui códigos de comprimento variável ao coeficiente quantificado utilizando uma tabela de códigos e esta unidade RLE2 de codificação de comprimento de sequência forma a segunda tabela de códigos que é optimizada para os dados alvo a processar com base na primeira tabela de códigos e selecciona uma de entre as primeira e segunda tabelas de códigos como uma tabela de códigos que é empregue para a atribuição de códigos de comprimento variável, com base no parâmetro QP de quantificação ou sinal VISel de selecção de VLC. Por conseguinte, a informação 111 redundante incluída nos dados alvo pode ser removida eficazmente, aumentando, desse modo e ainda mais, a taxa de compressão para sinais de imagem ou semelhantes.
Nesta terceira forma de realização, a unidade RLE2 de codificação de comprimento de sequência inclui vários dispositivos para aumentar a taxa da compressão, i. e., o conversor RunConv de sequência, conversor LevConv de nível, unidade ReOdr de reorganização e transformador CodeTrans de número, como mostrado na Fig. 14. No entanto, a unidade RLE2 de codificação de comprimento de sequência pode incluir apenas alguns dos dispositivos para aumentar a taxa da compressão. Neste caso, a unidade RLE 2 de codificação de comprimento de sequência pode ser montada facilmente.
Além disso, na terceira forma de realização, a segunda tabela de códigos é obtida modificando correspondências entre os pares sequência-nivel e os números de código em ambas as partes constitutivas da primeira tabela de códigos: uma parte que pode ser gerada, regularmente, por uma operação aritmética (VLC de construção regular) e uma parte que não pode ser gerada regularmente (VLC de tabela de consulta). No entanto, quando a primeira tabela de códigos tem a parte que pode ser gerada regularmente por uma operação aritmética (VLC de construção regular) e a parte que não pode ser gerada regularmente (VLC de tabela de consulta), a segunda tabela de códigos pode ser formada modificando apenas a parte, enquanto parte da primeira tabela de códigos, que pode ser gerada regularmente por uma operação aritmética que é efectuada facilmente. Neste caso, a montagem da unidade RLE2 de codificação de comprimento de sequência pode ser executada mais facilmente. 112
De acordo com esta terceira forma de realização, na unidade de codificação de comprimento de sequência que executa codificação de comprimento variável de componentes quantificados utilizando pares sequência-nível, os componentes quantificados são submetidos, sucessivamente, a codificação de comprimento variável, desde um componente de frequência elevada a um componente de baixa frequência. No entanto, é evidente que numa unidade de codificação de comprimento de sequência que submete valores de sequência e valores de nível correspondendo a componentes quantificados no bloco alvo, separadamente, ao processo de codificação de comprimento variável como na primeira forma de realização, os valores de sequência e os valores de nível correspondendo aos componentes quantificados no bloco alvo podem ser submetidos a codificação de comprimento variável, sucessivamente, desde um componente de frequência elevada a um componente de baixa frequência.
[Forma de realizaçao 4] A Fig. 18 é um diagrama de blocos para explicar um aparelho de descodificação de imagem de acordo com uma quarta forma de realização da presente invenção.
Este aparelho 104 de descodificação de imagem de acordo com a quarta forma de realização tem, no lugar da unidade RLDOc de descodificação de comprimento de sequência no aparelho 202c convencional de descodificação de imagem, mostrado na Fig. 40, que submete um fluxo StrO codificado a um processo de descodificação de comprimento variável e emite componentes DQS quantificados descodificados, uma unidade RLD2 de descodificação 113 de comprimento de sequência que submete um fluxo Str2 codificado a um processo de descodificação de comprimento variável com base no parâmetro QP de quantificação ou num sinal VldSel de selecção de descodificação de comprimento variável (sinal de selecção de VLD) e emite componentes DQS quantificados descodificados. Outros componentes do aparelho 104 de descodificação de imagem de acordo com a quarta forma de realização são iguais aos do aparelho 202c convencional de descodificação de imagem.
Mais especificamente, a unidade RLD2 de descodificação de comprimento de sequência tem, como a unidade RLDOc convencional de descodificação de comprimento de sequência, uma primeira tabela de códigos TI (ver Fig. 42) que indica a correspondência entre o par constituído por um valor de sequência e um valor de nível (designados, em seguida, por pares sequência-nível) e o código correspondente, de acordo com combinações dos valores de sequência e os valores de nível. Depois, a unidade RLD2 de descodificação de comprimento de sequência muda, regularmente, as correspondências entre pares sequência-nível e códigos na primeira tabela de códigos, com base na primeira tabela de códigos, para formar uma segunda tabela de códigos tendo correspondências diferentes das da primeira tabela de códigos, e selecciona uma de entre as primeira e segunda tabelas de códigos de acordo com o parâmetro QP de quantificação emitidos pela unidade Q de quantificação ou sinal VldSel de selecção de VLD do exterior, bem como transforma palavras de código (cadeia de bits) que constituem o fluxo Str2 codificado em pares de valores de sequência e valores de nível associados com coeficientes nos dados alvo a processar, com base na tabela de códigos seleccionada. 114
Como descrito acima, o parâmetro QP de quantificação é um parâmetro que indica o valor da etapa de quantificação e a etapa de quantificação é, aproximadamente, proporcional ao parâmetro QP de quantificação. Mais especificamente, quando o parâmetro QP de quantificação é maior, os componentes quantificados têm valores absolutos mais pequenos, a seguir, uma sequência de zeros dos componentes quantificados (o comprimento de componentes sucessivamente contínuos cujos valores são zero) aumenta de tamanho e, assim, valores de nível têm valores absolutos mais pequenos. Neste caso, consequentemente, uma tabela de códigos na qual códigos mais pequenos são atribuídos a pares sequência-nível compreendendo valores de sequência maiores e valores de nível mais pequenos é seleccionada, para melhorar, desse modo e ainda mais, uma eficiência de codificação. Pelo contrário, quando o parâmetro QP de quantificação é mais pequeno, os componentes quantificados têm valores absolutos e, assim, uma tabela de códigos na qual códigos mais pequenos são atribuídos a pares sequência-nível compreendendo valores de sequência mais pequenos e valores de nível maiores é seleccionada, para aumentar, desse modo, a eficiência de codificação. A Fig. 19 é um diagrama de blocos que ilustra uma construção específica da unidade RLD2 de descodificação de comprimento de sequência. A unidade RLD2 de descodificação de comprimento de sequência tem, como a unidade RLDOc convencional de descodificação de comprimento de sequência, um descodificador VLD de comprimento variável e este descodificador VLD descodifica o fluxo Str2 codificado emitido pelo aparelho 103 de codificação de imagem de 115 acordo com a terceira forma de realização e emite um número ExtCode de código.
Nesta quarta forma de realização, a unidade RLD2 de descodificação de comprimento de sequência tem um transformador ICodeTrans de inversão de número para efectuar um processo de transformação de inversão de número para dividir o número ExtCode de código num número PrmCode de código correspondendo a um par de dígito superior de sequência-nível compreendendo um valor Levl de nível e um valor Runl de sequência, um valor Lev2 de nível e um valor Run2 de sequência com base no parâmetro QP de quantificação ou sinal VldSel de selecção de VLD; e uma unidade IReOdr de inversão de reorganização para reorganizar múltiplos números PrmCode de código correspondendo a um bloco alvo a processar em ordem de frequência crescente do par sequência-nível e emitir os múltiplos números Code de código correspondendo ao bloco alvo e tendo uma ordem alterada. A unidade RLD2 de descodificação de comprimento de sequência inclui, ainda, um detector RunLevDec de sequência-nível para detectar um par sequência-nível correspondendo a um número Code de código de acordo com uma tabela de códigos ou uma operação aritmética e emitir um valor Levl de nível e um valor Runl de sequência constituindo o par sequência-nível; um conversor IRunConv de inversão de sequência para reconstituir um valor Run de sequência a partir do valor Runl de sequência indicando o dígito superior do valor Run de sequência e do valor Run2 de sequência indicando o dígito mais baixo do valor Run de sequência; e um conversor ILevConv de inversão de nível para reconstituir um valor Lev de nível a partir do valor Levl de nível indicando o dígito superior do valor Lev de nível e do 116 valor Lev2 de nível indicando o digito mais baixo do valor Lev de nível. A unidade RLD2 de descodificação de comprimento de sequência inclui, ainda, como a unidade RLDOc convencional de descodificação de comprimento de sequência, um explorador IScan de inversão de ziguezague. Este explorador IScan transforma os componentes quantificados com uma organização unidimensional, que são representados pelos valores Lev de nivel e pelos valores Run de sequência, em componentes DQS quantificados descodificados com uma organização bidimensional e emite os mesmos.
Neste caso, o descodificador VLD de comprimento variável, o detector RunLevDec de sequência-nível e o explorador IScan de inversão de ziguezague na unidade RLD2 de descodificação de comprimento de sequência são iguais aos da unidade RLDOc de descodificação de comprimento de sequência mostrada na Fig. 41.
Em seguida, descrevem-se funções e efeitos.
Na unidade RLD2 de descodificação de comprimento de sequência, o descodificador VLD de comprimento variável efectua uma operação inversa à do codificador VLC de comprimento variável. Ou seja, o descodificador VLD de comprimento variável descodifica o fluxo Str2 codificado e emite um número ExtCode de código correspondendo a uma palavra de código (cadeia de bits) que constitui o fluxo. 0 transformador ICodeTrans de inversão de número efectua uma operação inversa à do transformador CodeTrans de número com base no parâmetro QP de quantificação ou sinal VldSel de selecção de VLD, para dividir o número ExtCode de código num número PrmCode de código correspondendo a um par de 117 dígito superior de sequência-nível compreendendo o valor Levl de nível e o valor Runl de sequência, um valor Lev2 de nível e um valor Run2 de sequência. A unidade IReOdr de inversão de reorganização efectua uma operação inversa à da unidade ReOdr de reorganização com base no parâmetro QP de quantificação ou sinal VldSel de selecção de VLD. Desse modo, efectua-se um processo para reorganização de múltiplos números PrmCode de código correspondendo ao bloco alvo a processar numa ordem de frequência crescente do par sequência-nível e emitem-se múltiplos números Code de código que têm uma ordem alterada e correspondem ao bloco. 0 detector RunLevDec de sequência-nível detecta um par sequência-nível correspondendo a um número Code de código de acordo com uma tabela de códigos ou operação aritmética e emite o valor Levl de nível e o valor Runl de sequência constituindo o par sequência-nível detectado. 0 conversor IRunConv de inversão de sequência efectua uma operação inversa à do conversor RunConv de sequência com base no parâmetro QP de quantificação ou sinal VldSel de selecção de VLD, para reconstituir o valor Run de sequência a partir do valor Runl de sequência indicando o dígito superior de sequência do valor Run de sequência e do valor Run2 de sequência indicando o dígito mais baixo do valor Run de sequência. Além disso, o conversor ILevConv de inversão de nível efectua uma operação inversa à do conversor LevConv de nível com base no parâmetro QP de quantificação ou sinal VldSel de selecção de VLD, para reconstituir o valor Lev de nível a partir do valor Levl de nível indicando o dígito superior do valor Lev de nível e do valor Lev2 de nível indicando o dígito mais baixo do valor Lev de nível.
Neste caso, no transformador IcodeTrans de inversão de 118 número, na unidade IReOdr de inversão de reorganização, no conversor IRunConv de inversão de sequência e no conversor ILevConv de inversão de nível, a selecção da primeira ou segunda tabela de códigos é executada com base no parâmetro QP de quantificação ou sinal VldSel de selecção de VLD e as operações são efectuadas de acordo com a tabela de códigos seleccionada. 0 explorador IScan de inversão de ziguezague efectua uma operação inversa à operação do explorador Scan de ziguezague, para transformar componentes quantificados com uma organização unidimensional, que são representados pelos valores Lev de nível e valores Run de sequência, em componentes DQS quantificados descodificados com uma organização bidimensional, com base nos valores Lev de nível e valores Run de sequência.
Além disso, quando o sinal VldSel de selecção de VLD é introduzido do exterior, a unidade RLD2 de descodificação de comprimento de sequência selecciona uma tabela de códigos apropriada correspondendo ao conteúdo de uma imagem (o valor de um movimento de imagem, a complexidade do movimento, a minúcia de um padrão), que é indicada pelo sinal VldSel de selecção de VLD.
Nesta quarta forma de realização, o parâmetro QP de quantificação e o sinal VldSel de selecção de VLD são fornecidos ao transformador ICodeTrans de inversão de número, à unidade IReOdr de inversão de reorganização, ao conversor IRunConv de inversão de sequência e ao conversor IlevConv de inversão de nível, respectivamente. Assim, uma tabela de códigos pode ser mudada de acordo com o parâmetro QP de quantificação ou uma tabela de códigos apropriada pode ser seleccionada a partir do exterior do aparelho de descodificação de imagem, de acordo com 119 características de uma imagem, i. e., o valor de um movimento de imagem, a complexidade do movimento, a minúcia de um padrão ou semelhantes.
Como descrito acima, nesta quarta forma de realização, o aparelho 104 de descodificação de imagem que descodifica dados codificados que são obtidos por coeficientes quantificados de codificação de comprimento variável de um sinal de imagem inclui a unidade RLD2 de descodificação de comprimento de sequência para transformar um código de comprimento variável em componentes quantificados utilizando uma tabela de códigos. Além disso, a unidade RLD2 de descodificação de comprimento de sequência forma uma segunda tabela de códigos que é optimizada para os dados alvo a processar, com base na primeira tabela de códigos, e selecciona uma de entre as primeira e segunda tabelas de códigos como uma tabela de códigos que é empregue na conversão de um código de comprimento variável em coeficientes quantificados, de acordo com o parâmetro QP de quantificação ou sinal VldSel de selecção de VLD. Por conseguinte, pode efectuar-se, satisfatoriamente, um processo de descodificação correspondendo a um processo de codificação de comprimento variável que pode remover, eficazmente, informação redundante incluída nos dados alvo a processar.
Nesta quarta forma de realização, como mostrado na Fig. 19, a unidade RLD2 de descodificação de comprimento de sequência tem vários dispositivos para aumentar a taxa da compressão, i. e., o transformador ICodeTrans de inversão de número, a unidade IReOdr de inversão de reorganização, o conversor IRunConv de inversão de sequência e o conversor ILevConv de inversão de nível, ao passo que a unidade RLD2 de descodificação de comprimento de sequência tem apenas alguns destes dispositivos para aumentar a 120 taxa de compressão. Neste caso, a unidade RLD2 de descodificação de comprimento de sequência pode ser montada mais facilmente.
Além disso, na quarta forma de realização, a segunda tabela de códigos é formada mudando as correspondências entre pares sequência-nível e números de código em ambas as partes que constituem a primeira tabela de códigos: a parte que pode ser gerada, regularmente, por uma operação aritmética (VLC de construção regular) e a parte que não pode ser gerada regularmente (VLC de tabela de consulta). No entanto, quando a primeira tabela de códigos tem a parte que pode ser gerada, regularmente, por uma operação aritmética (VLC de construção regular) e a parte que não pode ser gerada regularmente (VLC de tabela de consulta), a segunda tabela de códigos pode ser formada mudando apenas a parte, enquanto parte da primeira tabela de códigos, que pode ser gerada, regularmente, pela operação aritmética que é efectuada facilmente. Neste caso, a montagem da unidade RLD2 de descodificação de comprimento de sequência pode ser executada mais facilmente.
De acordo com esta quarta forma de realização, na unidade de descodificação de comprimento de sequência que executa a descodificação de comprimento variável de dados codificados correspondendo a componentes quantificados utilizando pares sequência-nível, a descodificação de comprimento variável dos dados codificados correspondendo aos componentes quantificados é executada, sucessivamente, de um componente de frequência elevada para um componente de baixa frequência. No entanto, é possível que, numa unidade de descodificação de comprimento de sequência que submete dados codificados de valores de sequência e valores de nível correspondendo a componentes quantificados num bloco alvo, separadamente, a uma descodificação de 121 comprimento variável, como na segunda forma de realização, os dados codificados de valores de sequência e valores de nivel correspondendo aos componentes quantificados do bloco alvo são submetidos à descodificação de comprimento variável, sucessivamente, de um componente de frequência elevada para um componente de baixa frequência.
[Forma de realizaçao 5] A Fig. 20 é um diagrama de blocos para explicar um aparelho de codificação de imagem de acordo com uma quinta forma de realização da presente invenção.
Este aparelho 105 de codificação de imagem inclui, no lugar da unidade RLE2 de codificação de comprimento de sequência no aparelho 103 de codificação de imagem de acordo com a terceira forma de realização, como mostrado na Fig. 13, uma unidade RLE3 de codificação de comprimento de sequência que codifica um par sequência-nivel, bem como codifica o número de componentes não-zero, como a unidade RLE2 de codificação de comprimento de sequência. Outros componentes do aparelho 105 de codificação de imagem de acordo com a quinta forma de realização são iguais aos existentes no aparelho 103 de codificação de imagem de acordo com a terceira forma de realização. A Fig. 21 mostra uma construção especifica da unidade RLE3 de codificação de comprimento de sequência no aparelho 105 de codificação de imagem.
Esta unidade RLE3 de codificação de comprimento de sequência, de acordo com a quinta forma de realização, tem, no 122 lugar da calculadora PosClc de posição na unidade RLE2 de codificação de comprimento de sequência de acordo com a terceira forma de realização, como mostrado na Fig. 14, um contador NZcount de coeficientes não-zero para contar o número NZnum de coeficientes não-zero com base em componentes quantificados introduzidos e uma calculadora PosClc2 de posição para calcular o número Pos2 de coeficientes codificados com base no número Nznum contado de coeficientes não-zero e um valor Run de sequência calculado pela calculadora RunCal de valores de sequência. A unidade RLE3 de codificação de comprimento de sequência, de acordo com a quinta forma de realização, codifica uma saída (número de código) ExtCode a partir do transformador CodeTrans de número, bem como codifica o número NZnum de componentes não-zero, ao contrário do codificador VLC de comprimento variável da unidade RLE2 de codificação de comprimento de sequência de acordo com a terceira forma de realização.
Outros componentes da unidade RLE3 de codificação de comprimento de sequência são iguais aos da unidade RLE2 de codificação de comprimento de sequência de acordo com a terceira forma de realização.
Em seguida, descrevem-se funções e efeitos.
As operações da unidade Blk de bloqueio, unidade Trans de transformação de frequência e unidade Q de quantificação no aparelho 105 de codificação de imagem, de acordo com a quinta forma de realização, sao iguais às do aparelho 103 de codificação de imagem de acordo com a terceira forma de realização. Além disso, as operações dos componentes, à excepção 123 do contador NZcount de coeficientes não-zero, calculadora PosClc2 de posição, transformador CodeTrans de número e codificador VLC2 de comprimento variável na unidade RLE3 de codificação de comprimento de sequência de acordo com a quinta forma de realização, i. e., o explorador Scan, calculadora RunCal de valores de sequência, calculadora LevCal de valores de nivel, conversor RunConv de sequência, conversor LevConv de nivel, codificador RunLevEnc de sequência-nível e unidade ReOdr de reorganização, são idênticas às da unidade RLE2 de codificação de comprimento de sequência de acordo com a terceira forma de realização. Assim, as operações do contador NZcount de coeficientes não-zero, calculadora PosClc2 de posição, transformador CodeTrans de número e codificador VLC2 de comprimento variável serão, principalmente, descritas em seguida.
Quando os componentes QS quantificados emitidos pela unidade Q de quantificação são introduzidos na unidade RLE3 de codificação de comprimento de sequência, o contador NZcount de coeficientes não-zero na unidade RLE3 de codificação de comprimento de sequência conta o número de componentes NZnum não-zero nos múltiplos componentes quantificados correspondendo a blocos respectivos com base nos componentes QS quantificados e emite o número NZnum obtido de componentes não-zero para a calculadora PosClc2 de posição e codificador VLC2 de comprimento variável. A calculadora PosClc2 de posição calcula uma soma do número de componentes zero codificados e número de componentes não-zero num bloco alvo com base no número NZnum de componentes não-zero do contador NZcount de coeficientes não-zero e num valor Run de 124 sequência da calculadora RunCal de valores de sequência e emite o valor Pos2 obtido. 0 transformador CodeTrans de número emite um número ExtCode de código correspondendo a um par sequência-nível de um valor Lev2 de nível e valor Run2 de sequência, com base nas correspondências entre os pares de dígito superior de sequência-nível e os números ReOdrCode de código. Neste momento, o transformador CodeTrans de número emprega o valor Pos2 calculado que é emitido pela calculadora PosClc2 de posição para obter o número de componentes não codificados no bloco alvo.
Neste caso, o número ExtCode de código correspondendo a um par sequência-nível, que é emitido pelo transformador CodeTrans de número, é obtido com base na segunda tabela de códigos tendo correspondências diferentes entre pares sequência-nível e números de código da primeira tabela de códigos. Esta segunda tabela é formada como se segue: uma tabela de códigos tendo correspondências diferentes entre pares sequência-nível e números de código da primeira tabela de códigos é formada, inicialmente, pelo processo de reorganização na unidade ReOdr de reorganização e, depois, a tabela de códigos formada pela unidade ReOdr de reorganização é modificada pelo transformador CodeTrans de número com base no valor Pos2 calculado de modo a que pares sequência-nível tendo valores de sequência que são maiores do que o valor Run de sequência máximo na tabela de códigos correspondam a números ExtCode de código a que não se atribui qualquer código. 0 codificador VLC2 de comprimento variável codifica o número NZnum de componentes não-zero, bem como executa codificação para o número ExtCode de código para atribuir uma cadeia de bits 125 (palavra de código) ao número ExtCode de código para gerar um fluxo Str3 codificado.
Em seguida, descreve-se, especificamente, o funcionamento do codificador VLC2 de comprimento variável.
Ao contrário do codificador VLC de comprimento variável de acordo com a terceira forma de realização, o codificador VLC2 de comprimento variável de acordo com a guinta forma de realização codifica não apenas o número ExtCode de código correspondendo a um par sequência-nível de um bloco alvo, como codifica também o número NZnum de componentes não-zero no bloco alvo antes de codificar o número ExtCode de código do bloco.
Como descrito acima, quando o número NZnum de coeficientes não-zero é codificado antes da codificação do número ExtCode de código de um bloco, o número NZnum de componentes não-zero do bloco alvo pode, inicialmente, ser descodificado na descodificação e pode verificar-se se a reconstituição do último par sequência-nível no bloco alvo terminou, num momento em que os pares sequência-nível correspondendo ao número NZnum de componentes não-zero tenham sido reconstituídos.
Consequentemente, um valor EOB específico que é codificado no fim do bloco alvo (um valor que é transmitido após o último componente não-zero), que é requerido pelo codificador VLC de comprimento variável de acordo com a terceira forma de realização, não é requerido pelo codificador VLC2 de comprimento variável.
Em seguida, descrevem-se, especificamente, as operações da calculadora PosClc2 de posição e transformador CodeTrans de número. 126
Supondo que um bloco alvo inclui NBlock componentes QS quantificados (ambos incluindo componentes zero e componentes não-zero), o comprimento de sequência máximo (o número máximo de coeficientes zero sucessivamente contínuos) é (NBlock-NZnum) com base no número NZnum de coeficientes não-zero no bloco alvo. Além disso, o valor de sequência máximo (o número máximo de coeficientes zero sucessivamente contínuos) MaxRun(l) num momento em que a codificação do primeiro par sequência-nível terminou é representado pela fórmula (5) seguinte, utilizando um valor FRun de sequência do primeiro par sequência-nível do bloco alvo.
MaxRun(l) * NBlock - NZnum - FRun ... (5)
De um modo geral, o valor de sequência máximo MaxRun(i) num momento em que a codificação de um i-ésimo par sequência-nível num bloco tenha terminado é representado pela fórmula (6) seguinte
MaxRun(i) = NBlock - Nznum - {a soma de l°s ~ i-ésimos valores de sequência} ... (6)
Por conseguinte, a calculadora PosClc2 de posição emite um valor Pos2 calculado representado pela fórmula (7) seguinte, indicando, desse modo, ao transformador CodeTrans de número que o valor de sequência máximo MaxRun(i) é um valor representado pela fórmula ( 8) .
Pos2=NZnum+{a soma de l°s ~ i-ésimos valores de sequência} ... (7) 127 (8)
MaxRuníí} - NBlock ~Pos2 . 0 transformador CodeTrans de número forma a segunda tabela de códigos em que se fazem corrresponder números ExtCode de código a que não se atribuiu qualquer código a pares sequência-nível que são maiores do que o valor de sequência máximo MaxRun. Desse modo, a redundância, no processo de codificação, devido à atribuição de códigos a pares sequência-nível que nunca ocorrerão, é suprimida, aumentando, desse modo, a taxa de compressão.
Quando uma tabela de códigos de comprimento variável que é composta por uma primeira parte que pode ser gerada por uma operação aritmética (VLC de construção regular) e uma segunda parte que não pode ser gerada, regularmente, por uma operação aritmética (VLC tabela de consulta) é empregue enquanto primeira e segunda tabelas de códigos quando o processo de codificação de comprimento variável para os componentes quantificados é efectuado, a segunda tabela de códigos pode ser formada mudando tanto a primeira como a segunda partes na primeira tabela de códigos de acordo com o valor de sequência máximo ou a segunda tabela de códigos pode ser formada mudando apenas a primeira parte na primeira tabela de códigos, que pode ser gerada por uma operação aritmética que é executada facilmente de acordo com o valor de sequência máximo.
Além disso, em vez de mudar a tabela de códigos para uma em que nenhum código é atribuído a pares sequência-nível tendo valores Run de sequência que são maiores do que o valor de sequência máximo MaxRun(i) quando a tabela de códigos de comprimento variável é mudada de acordo com o valor de sequência máximo MaxRun(i) num momento em que a codificação de um i-ésimo 128 par sequência-nível tenha terminado, uma tabela de códigos de comprimento variável pode ser mudada, directamente, para uma em que nenhum código é atribuído a pares sequência-nível tendo valores Run de sequência que são maiores do que o valor de sequência máximo MaxRun(i).
As Figs. 24 são diagramas que mostram exemplos das tabelas de códigos de comprimento variável. Numa tabela de códigos Ta (Fig. 24(a)), códigos mais curtos são atribuídos a valores de sequência mais pequenos em comparação com uma tabela de códigos Tb (Fig. 24 (b) ) . Na tabela de códigos Tb (Fig. 24 (b) ) , mais códigos mais curtos são atribuídos a valores de sequência mais pequenos em comparação com uma tabela de códigos Tc (Fig. 24(c)) .
Além disso, na tabela de códigos Tc (Fig. 24(c)), códigos mais curtos são atribuídos a valores de nível tendo valores absolutos mais pequenos em comparação com a tabela de códigos Tb (Fig. 24 (b) . Na tabela de códigos Tb, mais códigos mais curtos são atribuídos a valores de nível tendo valores absolutos mais pequenos em comparação com a tabela de códigos Ta (Fig. 24(a)).
Por conseguinte, é preferido seleccionar a tabela de códigos Ta na Fig. 24(a) quando o valor de sequência máximo MaxRun é mais pequeno, a tabela de códigos Tc na Fig. 24 (c) quando o valor de sequência máximo MaxRun é maior e a tabela de códigos Tb na Fig. 24 (b) quando o valor de sequência máximo MaxRun é um valor intermédio.
De acordo com a quinta forma de realização, o aparelho 105 de codificação de imagem que codifica coeficientes quantificados que são obtidos quantificando componentes de frequência de um 129 sinal de imagem está dotado com a unidade RLE3 de codificação de comprimento de sequência que atribui códigos de comprimento variável aos componentes quantificados utilizando uma tabela de códigos. Depois, a unidade RLE3 de codificação de comprimento de sequência selecciona uma tabela de códigos em que pares sequência-nível que nunca , são suprimidos com base na soma do número de coeficientes processados (coeficientes codificados) num bloco alvo a codificar e o número de coeficientes não-zero não codificados no bloco alvo, por outras palavras, a soma do número de coeficientes não-zero no bloco alvo com o número de valores de sequência já processados no bloco alvo, aumentando, desse modo, a eficiência de codificação de comprimento variável.
De acordo com esta quinta forma de realização, na unidade de codificação de comprimento de sequência que executa codificação de comprimento variável de componentes quantificados correspondendo a cada bloco utilizando pares sequência-nível, o número NZnum de componentes não-zero num bloco alvo é codificado. No entanto, é possível que a codificação do número NZnum de componentes não-zero de um bloco alvo possa ser executada numa unidade de codificação de comprimento de sequência que execute codificação de comprimento variável de valores de sequência e valores de nível correspondendo a componentes quantificados de cada bloco, separadamente, como na primeira forma de realização. Neste caso, o valor de sequência máximo no bloco alvo pode ser definido com um valor que é obtido subtraindo o número NZnum de componentes não-zero do número de todos os componentes no bloco alvo. 130 [Forma de realizaçao 6] A Fig. 22 é um diagrama de blocos para explicar um aparelho de descodificação de imagem de acordo com uma sexta forma de realização da presente invenção.
Este aparelho 106 de descodificação de imagem de acordo com a sexta forma de realização tem, em vez da unidade RLD2 de descodificação de comprimento de sequência no aparelho 104 de descodificação de imagem de acordo com a quarta forma de realização, mostrado na Fig. 18, uma unidade RLD3 de descodificação de comprimento de sequência que executa um processo de descodificação para dados codificados para reconstituir o número de pares sequência-nivel e o número de componentes não-zero em cada bloco, como na unidade RLD2 de descodificação de comprimento de sequência. Outros componentes do aparelho 106 de descodificação de imagem de acordo com a sexta forma de realização são iguais aos do aparelho 104 de descodificação de imagem de acordo com a quarta forma de realização. A Fig. 23 mostra uma construção especifica da unidade RLD3 de descodificação de comprimento de sequência no aparelho 106 de descodificação de imagem.
Esta unidade RLD3 de descodificação de comprimento de sequência da sexta forma de realização inclui, no lugar da calculadora PosClc de posição na unidade RLD2 de descodificação de comprimento de sequência de acordo com a quarta forma de realização mostrada na Fig. 19, uma calculadora PosClc2 de posição para calcular a soma Pos2 do número de valores de 131 sequência descodificados num bloco alvo a descodificar e do número NZnum de coeficientes não-zero no bloco alvo.
Além disso, um descodificador VLD2 de comprimento variável da unidade RLD3 de descodificação de comprimento de sequência de acordo com a sexta forma de realização é diferente do descodificador VLD de comprimento variável na unidade RLD2 de descodificação de comprimento de sequência de acordo com a quarta forma de realização na medida em que se efectua um processo de descodificação para reconstituir um número ExtCode de código e um processo de descodificação para reconstituir o número NZnum codificado de componentes não-zero.
Em seguida, descrevem-se funções e efeitos.
As operações da unidade IQ de inversão de quantificação, unidade ITrans de inversão de transformação de frequência e unidade DeBlk de desbloqueio no aparelho 106 de descodificação de imagem de acordo com a sexta forma de realização são iguais às do aparelho 104 de descodificação de imagem da quarta forma de realização. Além disso, as operações dos componentes da unidade RLD3 de descodificação de comprimento de sequência de acordo com a sexta forma de realização, à excepção do descodificador VLD2 de comprimento variável, calculadora PosClc2 de posição e transformador IcodeTrans de inversão de número, i. e., a unidade IReOdr de inversão de reorganização, detector RunLevDec de sequência-nível, conversor ILevConv de inversão de nível, conversor IRunConv de inversão de sequência e explorador IScan de inversão de ziguezague, são idênticas às da unidade RLD2 de descodificação de comprimento de sequência de acordo com a quarta forma de realização. Por conseguinte, as operações do descodificador VLD2 de comprimento variável, calculadora PosClc2 132 de posição e transformador ICodeTrans de inversão de número serão, principalmente, descritas em seguida. 0 descodificador VLD2 de comprimento variável descodifica o fluxo Str3 codificado e emite um número ExtCode de código correspondendo a uma palavra de código (cadeia de bits) que compõe o fluxo codificado. 0 transformador ICodeTrans de inversão de número efectua uma operação inversa à do transformador CodeTranson de número com base em, pelo menos, o parâmetro QP de quantificação ou o sinal VldSel de selecção de VLD e a soma Pos2 do número de coeficientes descodificados e do número de coeficientes não-zero não codificados, para dividir o número ExtCode de código num número PrmCode de código correspondendo ao par de dígito superior de sequência-nível compreendendo o valor Levl de nível e o valor Runl de sequência, um valor Lev2 de nível e um valor Run2 de sequência. A unidade IReOdr de inversão de reorganização, detector RunLevDec de sequência-nível, conversor IRunConv de sequência inversa, conversor ILevConv de inversão de nível e explorador IScan de inversão de ziguezague executam as mesmas operações que as da quarta forma de realização.
Neste caso, o transformador ICodeTrans de inversão de número, unidade IReOdr de inversão de reorganização, conversor IRunConv de inversão de sequência e conversor ILevConv de inversão de nível seleccionam uma de entre as primeiras e segundas tabelas de códigos com base em, pelo menos, o parâmetro QP de quantificação ou sinal VldSel de selecção de VLD e na soma Pos2 dos coeficientes e executam as operações com base na tabela de códigos seleccionada. 133
Em seguida, descreve-se, especificamente, o funcionamento do descodificador VLD2 de comprimento variável. 0 descodificador VLD2 de comprimento variável, de acordo com a sexta forma de realização, é diferente do descodificador VLD de comprimento variável de acordo com a quarta forma de realização porque descodifica não apenas o número ExtCode de código correspondendo a um par sequência-nivel, mas também o número NZnum codificado de componentes não-zero no bloco alvo. Quando o número NZnum de componentes não-zero é obtido pela descodificação, num momento em que os NZnum pares sequência-nivel foram descodificados, este NZnum-ésimo par sequência-nivel é considerado como o último par sequência-nivel. Consequentemente, o descodificador VLD2 de comprimento variável não requer um valor EOB que é requerido pelo descodif icador VLD de comprimento variável e é codificado no fim do bloco alvo.
Por exemplo, supondo que há NBlock componentes QS quantificados no bloco alvo, incluindo componentes zero e componentes não-zero, o valor de sequência máximo (o número máximo de coeficientes zero sucessivamente contínuos) é (NBlock-NZnum) com base no número NZnum de coeficientes não-zero no bloco alvo. Além disso, o valor de sequência máximo (o número máximo de coeficientes zero sucessivamente contínuos) MaxRun(1), num momento em que a descodificação para reconstituir o primeiro par sequência-nivel foi executada, é (NBlock-NZnum-FRun), como descrito na quinta forma de realização.
De um modo geral, o valor de sequência máximo MaxRun(i) num momento em que a descodificação para reconstituir um i-ésimo par sequência-nivel num bloco foi executada é obtido do seguinte 134 modo :
MaxRun(i) = NBlock - Nznum - {a soma de l°s ~ i-ésimos valores de sequência}
Por conseguinte, a calculadora PosClc2 de posição emite a soma Pos2 de coeficientes [=NZnum + {a soma de l°s~i-ésimos valores de sequência}], indicando, desse modo, ao transformador CodeTrans de número que o valor de sequência máximo, num momento em que a descodificação para reconstituir um i-ésimo par sequência-nivel foi executada é (NBlock-Pos2). 0 transformador ICodeTrans de inversão de número emprega uma tabela de códigos na qual não se atribui qualquer código a números de código correspondendo a pares sequência-nivel compreendendo valores de sequência que são maiores do que o valor Run de sequência máximo, para obter um número ExtCode de código correspondendo a um código, descodificando, desse modo, um código que é atribuído a um número de código de acordo com a atribuição de códigos que evita a atribuição de códigos a pares sequência-nivel que nunca ocorrerão.
Neste caso, quando uma tabela de códigos de comprimento variável que é composta pela primeira parte que pode ser gerada por uma operação aritmética (VLC regularmente construído) e pela segunda parte que não pode ser gerada regularmente (VLC de tabela de consulta) é empregue enquanto primeira e segunda tabelas de códigos no processo de descodificação de comprimento variável, a segunda tabela de códigos pode ser formada mudando a primeira e a segunda partes na primeira tabela de códigos de acordo com o valor de sequência máximo, embora a segunda tabela de códigos possa ser formada mudando apenas a primeira parte da 135 primeira tabela de códigos que pode ser gerada por uma operação aritmética que pode ser efectuada facilmente, de acordo com o valor de sequência máximo.
Além disso, quando uma tabela de códigos de comprimento variável é mudada de acordo com o valor de sequência máximo MaxRun num momento em que a descodificação para reconstituir um i-ésimo par sequência-nivel foi concluída, a tabela de códigos de comprimento variável pode ser mudada directamente para a tabela de códigos Ta na Fig. 24(a), tabela de códigos Tb na Fig. 24 (b) ou tabela de códigos Tc na Fig. 24 (c), em vez de mudar a tabela de códigos para uma em que nenhum código é atribuído a pares sequência-nivel compreendendo valores de sequência que são maiores do que o valor de sequência máximo MaxRun.
Por exemplo, é preferido seleccionar a tabela de códigos Ta na Fig. 24(a) quando o valor de sequência máximo MaxRun é mais pequeno, a tabela de códigos Tc na Fig. 24 (c) quando o valor de sequência máximo MaxRun é maior e a tabela de códigos Tb na Fig. 24 (b) quando o valor de sequência máximo MaxRun é um valor intermédio.
Como descrito acima, de acordo com a sexta forma de realização, o aparelho 106 de descodificação de imagem que reconstitui coeficientes quantificados que são obtidos quantificando componentes de frequência de um sinal de imagem por um processo de descodificação para dados codificados está dotado com a unidade RLD3 de descodificação de comprimento de sequência para obter um coeficiente quantificado correspondendo a um código de comprimento variável empregando uma tabela de códigos. Depois, esta unidade RLD3 de descodificação de comprimento de sequência selecciona uma tabela de códigos não 136 incluindo pares sequência-nivel que nunca ocorrerão, com base na soma do número de coeficientes processados (coeficientes descodificados) num bloco alvo e do número de coeficientes não-zero não codificados no bloco alvo. Por conseguinte, pode efectuar-se, satisfatoriamente, um processo de descodificação correspondendo a um processo de codificação de comprimento variável que pode remover, mais eficazmente, informação redundante incluída nos coeficientes quantificados a processar.
De acordo com esta sexta forma de realização, na unidade de descodificação de comprimento de sequência que executa descodificação de comprimento variável para componentes quantificados de cada bloco utilizando pares sequência-nível, o número NZnum codificado de componentes não-zero num bloco alvo é descodificado. No entanto, é possível que, por exemplo, numa unidade de descodificação de comprimento de sequência que submete valores de sequência e valores de nível correspondendo a componentes quantificados de cada bloco, separadamente, ao processo de descodificação de comprimento variável como na segunda forma de realização, o número NZnum codificado de componentes não-zero do bloco alvo seja descodificado. Neste caso, pode-se considerar que o NZnum-ésimo valor de nível é o último valor de nível no bloco alvo, num momento em que os NZnum valores de nível foram descodificados.
Em qualquer das formas de realização acima mencionadas, a tabela de códigos é mudada de acordo com o parâmetro QP de quantificação, embora a tabela de códigos possa ser mudada de acordo com outro parâmetro. Por exemplo, um outro parâmetro pode ser derivado de novo e expressamente comutado para cada bloco. 137
Nas formas de realização acima mencionadas, enquanto método para submeter coeficientes, tais como componentes quantificados, a um processo de codificação (descodificação) de comprimento variável, mostra-se um método em que se emprega uma tabela de VLC e a tabela de VLC é mudada com base em, pelo menos, uma informação sobre coeficientes processados que foram submetidos ao processo de codificação (descodificação) ou um parâmetro relacionado com a geração dos coeficientes. No entanto, o método para coeficientes de codificação (descodificação) de comprimento variável, tais como componentes quantificados de acordo com a presente invenção, não é restringido a uma utilização da tabela de VLC. Por exemplo, o método para codificação de comprimento variável dos componentes quantificados, como descrito em qualquer de entre a primeira, terceira e quinta formas de realização, pode ser um método de codificação de comprimento variável em que a tabela de VLC não é empregue e uma tabela de códigos correspondendo à tabela de VLC é mudada com base em, pelo menos, a informação sobre os coeficientes processados ou o parâmetro relacionado com a geração dos coeficientes. Além disso, o método para descodificação de comprimento variável dos dados codificados correspondendo aos componentes quantificados de acordo com qualquer de entre a segunda, quarta e sexta formas de realização pode ser um método de descodificação de comprimento variável por meio do qual a tabela de VLC não é empregue e uma tabela de códigos correspondendo à tabela de VLC é mudada com base em, pelo menos, a informação sobre os coeficientes processados ou o parâmetro relacionado com a geração dos coeficientes. 0 aparelho de codificação de imagem que efectua um processo de codificação de comprimento variável ou o aparelho de descodificação de imagem que efectua um processo de 138 descodificação de comprimento variável de acordo com qualquer das formas de realização acima mencionadas é implementado por hardware, embora estes aparelhos possam ser implementados por software. Neste caso, quando um programa para executar o processo de codificação ou descodificação de comprimento variável de acordo com qualquer das formas de realização acima mencionadas é gravado num meio de armazenamento de dados, tal como um disco flexível, o aparelho de codificação de imagem ou o aparelho de descodificação de imagem de acordo com qualquer das formas de realização acima mencionadas pode ser facilmente implementado num sistema informático independente.
As Figs. 25 são diagramas para explicar um sistema informático para executar o processo de codificação de comprimento variável de acordo com a primeira, terceira ou quinta forma de realização, ou o processo de descodificação de comprimento variável de acordo com a segunda, quarta ou sexta forma de realização. A Fig. 25(a) mostra uma vista dianteira de um disco FD flexível que é um meio que contém um programa empregue no sistema informático , uma sua vista em corte e um corpo D de disco flexível. A Fig. 25(b) mostra um exemplo de um formato físico do corpo D de disco flexível. 0 disco FD flexível é composto pelo corpo D de disco flexível e um invólucro FC que contém o corpo D de disco flexível. Na superfície do corpo D de disco, existem múltiplas pistas Tr formadas concentricamente desde a circunferência externa do disco até à circunferência interna. Cada pista é dividida em 16 sectores SE na direcção angular. Por conseguinte, no disco FD flexível contendo o programa acima mencionado, os 139 dados de programa para executar o processo de codificação de comprimento variável ou o processo de descodificação de comprimento variável são gravados nas áreas de armazenamento (sectores) atribuídas no corpo D flexível de disco. A Fig. 25(c) mostra a estrutura para gravação ou reprodução do programa no/desde o disco FD flexível. Quando o programa é gravado no disco FD flexível, os dados do programa são escritos no disco FD flexível a partir do sistema Cs informático através da unidade FDD de disco flexível. Quando o aparelho de codificação de imagem ou o aparelho de descodificação de imagem acima mencionados são construídos no sistema Cs informático pelo programa gravado no disco FD flexível, o programa é extraído do disco FD flexível pela unidade FDD de disco flexível e, depois, carregado para o sistema Cs informático.
Embora, na descrição acima, se empregue um disco flexível como meio de armazenamento que contém um programa para executar o processo de codificação de comprimento variável ou o processo de descodificação de comprimento variável, pode empregar-se um disco óptico como meio de armazenamento. Também neste caso, o processo de codificação de comprimento variável ou o processo de descodificação de comprimento variável podem ser executados por software, de modo idêntico ao da utilização do disco flexível. 0 meio de armazenamento não é restringido a estes discos e pode empregar-se qualquer meio desde que possa conter o programa, por exemplo, um CD-ROM, um cartão de memória ou uma cassete ROM. Também quando se emprega um meio de armazenamento de dados deste tipo, o processo de codificação de comprimento variável ou de descodificação de comprimento variável pode ser executado pelo sistema informático de modo idêntico ao da utilização do disco flexível. 140
As aplicações do método de codificação de imagem ou método de descodificação de imagem de acordo com qualquer das formas de realização e sistemas acima mencionados utilizando os mesmos serão descritas em seguida. A Fig. 26 é um diagrama de blocos que ilustra uma construção completa de um sistema 1100 de fornecimento de conteúdos que executa serviços de distribuição de conteúdo.
Uma área de fornecimento de serviço de comunicações é dividida em regiões (células) de tamanho desejado e as estações 1107 a 1110 base, que são, individualmente, estações de rádio fixas, são estabelecidas nas respectivas células.
Neste sistema 1100 de fornecimento de conteúdo, vários dispositivos, tais como um computador 1111, um PDA (assistente digital pessoal) 1112, uma câmara 1113, um telefone 1114 portátil e um telefone 1200 portátil com uma câmara são conectados, por exemplo, à Internet 1101 através de um Fornecedor 1102 de Acesso à Internet, uma rede 1104 telefónica e as estações 1107 a 1110 base.
No entanto, o sistema 1100 de fornecimento de conteúdo não está restringido a um sistema incluindo todos os múltiplos dispositivos mostrados na Fig. 26, mas pode ser um incluindo alguns dos múltiplos dispositivos mostrados na Fig. 26. Além disso, os respectivos dispositivos podem ser conectados directamente à rede 1104 telefónica, sem ser através das estações 1107 a 1110 base como estações de rádio fixas. A câmara 1113 é um dispositivo que pode captar imagens em 141 movimento de um objecto, como uma câmara vídeo digital. 0 telefone portátil pode ser um conjunto de telefone portátil de acordo com um qualquer de entre um sistema PDC (Comunicações Digitais Pessoais), sistema CDMA (Acesso Múltiplo por Divisão de Código), sistema W-CDMA (Acesso Múltiplo por Divisão de Código e Banda Larga) e sistema G/M (Sistema Global para Comunicações Móveis) ou PHS (Sistema de Comunicação).
Um servidor 1103 de difusão contínua é conectado à câmara 1113 através da estação 1109 base e da rede 1104 telefónica. Neste sistema, pode executar-se distribuição em directo com base em dados codificados que são transmitidos por um utilizador utilizando a câmara 1113. 0 processo de codificação para os dados de imagens captadas pode ser efectuado pela câmara 1113 ou pelo servidor que transmite os dados. Os dados de imagens em movimento que são obtidos pela captação de imagens em movimento de um objecto por meio da câmara 1116 podem ser transmitidos ao servidor 1103 de difusão contínua através do computador 1111. A câmara 1116 é um dispositivo que pode captar imagens estáticas ou imagens em movimento de um objecto, tal como uma câmara digital. Neste caso, a codificação dos dados de imagens em movimento pode ser executada pela câmara 1116 ou pelo computador 1111. Além disso, o processo de codificação é efectuado por um LSI 1117 incluído no computador 1111 ou na câmara 1116. A codificação de imagem ou o software de descodificação podem ser armazenados num meio de armazenamento (um CD-ROM, disco flexível, disco rígido ou semelhantes) que seja um meio de gravação que contenha dados legíveis pelo computador 1111 ou semelhante. Os dados de imagens em movimento podem ser transmitidos através do telefone portátil com uma câmara 1200. 142
Os dados de imagens em movimento sao dados que foram codificados por um LSI incluído no telefone 1200 portátil.
Neste sistema 1100 de fornecimento de conteúdo, o conteúdo correspondendo às imagens captadas pelo utilizador por meio da câmara 1113 ou da câmara 1116 (por exemplo, vídeo em directo de um concerto de música) é codificado na câmara tal como exposto em qualquer das formas de realização acima mencionadas e transmitido da câmara para o servidor 1103 de difusão contínua. Os dados de conteúdo são submetidos a uma distribuição contínua desde o servidor 1103 de difusão contínua para um cliente que o tenha solicitado. O cliente pode ser um qualquer de entre o computador 1111, PDA 1112, câmara 1113, telefone 1114 portátil e semelhantes, que possa descodificar os dados codificados.
Neste sistema 1100 de fornecimento de conteúdo, os dados codificados podem ser recebidos e reproduzidos no lado do cliente. Quando os dados são recebidos, descodificados e reproduzidos em tempo real no lado do cliente, a transmissão privada pode ser efectuada. A codificação ou descodificação nos dispositivos respectivos que constituem este sistema pode ser executada utilizando o aparelho de codificação de imagem ou o aparelho de descodificação de imagem de acordo com qualquer das formas de realização acima mencionadas.
Um telefone portátil irá, agora, ser descrito como um exemplo do aparelho de codificação ou descodificação de imagem. 143 A Fig. 27 é um diagrama que ilustra um telefone 1200 portátil que emprega o método de codificação de imagem e o método de descodificação de imagem de acordo com qualquer das formas de realização acima mencionadas.
Este telefone 1200 portátil inclui uma antena 1201 para transmitir/receber ondas de rádio para/desde a estação 1110 base, uma unidade 1203 de câmara que pode captar imagens de vídeo ou estáticas de um objecto, tal como uma câmara CCD, e uma unidade 1202 de visionamento, tal como um ecrã de cristais líquidos para exibir dados do vídeo captados pela unidade 1203 de câmara ou de vídeo recebidos através da antena 1201. 0 telefone 1200 portátil inclui, ainda, um corpo 1204 principal incluindo múltiplas teclas de controlo, uma unidade 1208 de saída de voz para emitir vozes, tal como um altifalante, uma unidade 1205 de captação de voz para a captação de vozes, tal como um microfone, um meio 1207 de armazenamento para reter dados codificados ou dados descodificados, tais como dados de imagens em movimento ou imagens estáticas captadas, ou dados, dados de imagens em movimento ou, ainda, dados de imagens estáticas de e-mails recebidos e uma unidade 1206 de encaixe que permite a fixação do meio 1207 de armazenamento ao telefone 1200 portátil. 0 meio 1207 de armazenamento tem um elemento de memória flash como um tipo de EEPROM (Memória Exclusivamente de Leitura, Apagável e Programável Electricamente) que é uma memória permanente electricamente programável e apagável contida num invólucro plástico, como um cartão SD. 144 0 telefone 1200 portátil será descrito, mais especificamente, com referência à Fig. 28. O telefone 1200 portátil tem uma unidade 1241 de controlo principal que executa o controlo geral para as unidades respectivas do corpo principal incluindo a unidade 1202 de visionamento e a tecla 1204 de controlo. O telefone 1200 portátil inclui, ainda, um circuito 1240 de fonte de alimentação, uma unidade 1234 de controlo de entrada de operação, uma unidade 1242 de codificação de imagem, uma unidade 1233 de interface de câmara, uma unidade 1232 de controlo de LCD (Ecrã de Cristais Líquidos), uma unidade 1239 de descodificação de imagem, unidade 1238 de multiplexagem/desmultiplexagem, uma unidade 1237 de gravação/reprodução, uma unidade 1236 de modulação/desmodulação e uma unidade 1235 de processamento de áudio. As unidades respectivas do telefone 1200 portátil são conectadas entre si através de um barramento 1250 de sincronização. 0 circuito 1240 de fonte de alimentação fornece energia proveniente de um bloco de baterias às unidades respectivas quando uma tecla de fim de chamada/fornecimento de energia é ACTIVADA sob o controlo de um utilizador, activando, desse modo, o telefone portátil digital com uma câmara 1200 para um estado operável.
No telefone 1200 portátil, as unidades respectivas funcionam sob o controlo da unidade 1241 de controlo principal que é constituída por uma CPU, uma ROM, uma RAM e semelhantes. Mais especificamente, no telefone 1200 portátil, um sinal áudio que é 145 obtido por captação de voz na unidade 1205 de captação de voz com um modo de comunicação de voz é convertido em dados de áudio digitais pela unidade 1235 de processamento áudio. Os dados áudio digitais são submetidos a um processo de espalhamento de espectro pelo circuito 1236 de modulação/desmodulação, submetidos, ainda, a um processo da conversão DA e a um processo de transformação de frequência pelo circuito 1231 de transmissão/recepção e transmitidos através da antena 1201.
Neste conjunto 1200 de telefone portátil, um sinal recebido através da antena 1201 com o modo de comunicação de voz é amplificado e, depois, submetido a um processo de transformação de frequência e a um processo de conversão AD. O sinal recebido é, ainda, submetido a um processo de inversão de espalhamento de espectro no circuito 1236 de modulação/desmodulação, convertido num sinal áudio analógico pela unidade 1235 de processamento áudio e este sinal áudio analógico é emitido através da unidade 1208 de saída de voz.
Quando o telefone 1200 portátil transmite um correio electrónico num modo de transmissão de dados, os dados de texto do e-mail que são introduzidos por manipulação da tecla 1204 de controlo no corpo principal são transmitidos à unidade 1241 de controlo principal através da unidade 1234 de controlo de entrada de operação. A unidade 1241 de controlo principal controla as unidades respectivas de modo a que os dados de texto sejam submetidos ao processo de espalhamento de espectro no circuito 1236 de modulação/desmodulação, depois, submetidos ao processo da conversão DA e ao processo de transformação de frequência no circuito 1231 de transmissão/recepção, e, depois, transmitidos para a estação 1110 base através da antena 1201. 146
Quando este telefone 1200 portátil transmite dados de imagem no modo de transmissão de dados, os dados de uma imagem captada pela unidade 1203 de câmara são fornecidos à unidade 1242 de codificação de imagem através da unidade 1233 de interface de câmara. Quando o telefone 1200 portátil não transmite os dados de imagem, os dados de imagem captados pela unidade 1203 de câmara podem ser exibidos, directamente, na unidade 1202 de visionamento através da unidade 1233 de interface de câmara e da unidade 1232 de controlo de LCD. A unidade 1242 de codificação de imagem inclui o aparelho de codificação de imagem de acordo com qualquer das formas de realização acima mencionadas. Esta unidade 1242 de codificação de imagem codifica, por compressão, os dados de imagem fornecidos pela unidade 1203 de câmara pelo método de codificação de imagem de acordo com qualquer das formas de realização acima para converter os mesmos em dados codificados de imagem e emite os dados de imagem codificados obtidos para a unidade 1238 de multiplexagem/desmultiplexagem. Ao mesmo tempo, o telefone 1200 portátil transmite vozes que foram captadas pela unidade 1205 de captação de voz quando a imagem está a ser captada pela unidade 1203 de câmara, na forma de dados de áudio digitais, para a unidade 1238 de multiplexagem/desmultiplexagem através da unidade 1235 de processamento áudio. A unidade 1238 de multiplexagem/desmultiplexagem multiplexa os dados de imagem codificados fornecidos pela unidade 1242 de codificação de imagem e os dados áudio fornecidos pela unidade 1235 de processamento áudio por um método predeterminado. Os dados multiplexados resultantes são submetidos a um processo de espalhamento de espectro no circuito 1236 de 147 modulação/desmodulação, depois, submetidos ao processo de conversão DA e ao processo de transformação de frequência no circuito 1231 de transmissão/recepção e os dados obtidos são transmitidos através da antena 1201.
Quando o telefone 1200 portátil recebe dados de um ficheiro de imagens em movimento que está associado a uma página inicial semelhante no modo de comunicação de dados, um sinal recebido da estação 1110 base através da antena 1201 é submetido a um processo de inversão de espalhamento de espectro pelo circuito 1236 de modulação/desmodulação e os dados multiplexados resultantes são transmitidos para a unidade 1238 de multiplexagem/desmultiplexagem.
Quando os dados multiplexados que são recebidos através da antena 1201 são descodificados, a unidade 1238 de multiplexagem/desmultiplexagem desmultiplexa os dados multiplexados para dividir os dados num fluxo de bits codificado correspondendo aos dados de imagem e num fluxo de bits codificado correspondendo aos dados de áudio e os dados de imagem codificados são fornecidos à unidade 1239 de descodificação de imagem e os dados de áudio são fornecidos à unidade 1235 de processamento áudio através do barramento 1250 de sincronização. A unidade 1239 de descodificação de imagem inclui o aparelho de descodificação de imagem de acordo com qualquer das formas de realização acima mencionadas. A unidade 1239 de descodificação de imagem descodifica o fluxo de bits codificado dos dados de imagem pelo método de descodificação correspondendo ao método de codificação de acordo com qualquer das formas de realização acima mencionadas, para reproduzir dados de imagem em movimento 148 e fornece os dados reproduzidos à unidade 1202 de visionamento através da unidade 1232 de controlo de LCD. Desse modo, por exemplo, os dados de imagem em movimento incluídos no ficheiro de imagens em movimento que está associado à página inicial são exibidos. Ao mesmo tempo, a unidade 1235 de processamento áudio converte os dados de áudio num sinal de áudio analógico e fornece, depois, o sinal de áudio analógico à unidade 1208 de saída de voz. Desse modo, por exemplo, os dados de áudio incluídos no ficheiro de imagens em movimento que está associado à página inicial são reproduzidos.
Neste caso, um sistema a que o método de codificação de imagem e o método de descodificação de imagem de acordo com qualquer das formas de realização acima mencionadas é aplicável não está restringido ao sistema de fornecimento de conteúdo acima mencionado.
Ultimamente, fala-se muito em radiodifusão digital utilizando satélites ou ondas de propagação terrestre e o aparelho de codificação de imagem e o aparelho de descodificação de imagem de acordo com as formas de realização acima também são aplicáveis a um sistema de transmissão digital como mostrado na Fig. 29.
Mais especificamente, um fluxo de bits codificado correspondendo a informação vídeo é transmitido desde uma estação 1409 de radiodifusão para um satélite 1410, tal como um satélite de comunicação ou satélite de radiodifusão, através de comunicação rádio. Quando o satélite 1410 de radiodifusão recebe o fluxo de bits codificado correspondendo à informação vídeo, o satélite 1410 emite ondas por radiodifusão e estas ondas são recebidas por uma antena 1406 no local de recepção incluindo uma 149 instalação de recepção de radiodifusão por satélite. Por exemplo, um aparelho, tal como uma televisão (receptor) 1401 ou uma caixa descodificadora (STB) 1407, descodifica o fluxo de bits codificado e reproduz a informação vídeo.
Além disso, o aparelho de descodificação de imagem de acordo com qualquer das formas de realização acima mencionadas também pode ser montado num aparelho 1403 de reprodução que pode ler e descodificar o fluxo de bits codificado gravado num meio 1402 de armazenamento, tal como um CD ou um DVD (meio de gravação).
Neste caso, um sinal de vídeo reproduzido é exibido num monitor 1404. 0 aparelho de descodificação de imagem pode ser montado na caixa 1407 descodificadora que está conectada a um cabo para televisão 1405 por cabo ou uma antena para radiodifusão 1406 satélite/terrestre para reproduzir uma saída do aparelho de descodificação de imagem a exibir num monitor 1408 da televisão. Neste caso, o aparelho de descodificação de imagem pode ser incorporado não na caixa descodificadora, mas na televisão. Um veículo 1412 tendo uma antena 1411 pode receber um sinal do satélite 1410 ou da estação 1107 base e reproduz uma imagem em movimento para exibir a mesma num dispositivo de visionamento de um sistema 1413 de navegação incorporado num veículo ou semelhante montado no veículo 1412.
Além disso, é também possível que um sinal de imagem possa ser codificado pelo aparelho de codificação de imagem de acordo com qualquer das formas de realização acima mencionadas e ser gravado num meio de gravação.
Um exemplo específico de um dispositivo da gravação é um gravador 1420, tal como um gravador de DVD, que grava sinais de 150 imagem num disco 1421 DVD e um gravador de discos que grava sinais de imagem num disco rigido. Os sinais de imagem podem ser gravados num cartão 1422 SD. Além disso, quando o gravador 1420 inclui o aparelho de descodificação de imagem de acordo com as formas de realização acima mencionadas, os sinais de imagem que são gravados no disco 1421 DVD ou no cartão 1422 SD podem ser reproduzidos pelo gravador 1420 e ser exibidos no monitor 1408.
Neste caso, a estrutura do sistema 1413 de navegação incorporado num veículo pode incluir, por exemplo, os componentes do telefone portátil mostrado na Fig. 28 com excepção da unidade 1203 de câmara, unidade 1233 de interface de câmara e unidade 1242 de codificação de imagem e o mesmo aplica-se ao computador 1111 ou à televisão (receptor) 1401.
Além disso, pode montar -se como o terminal, tal como o telefone 1114 portátil, um de três tipos de terminais: um terminal de tipo transmissão- recepção tendo um codificador e um descodificador, um terminal de transmissão tendo apenas um codificador e um terminal de recepção tendo apenas um descodificador.
Como descrito acima, o método de codificação de imagem ou o método de descodificação de imagem de acordo com qualquer das formas de realização acima mencionadas é aplicável a qualquer dos dispositivos ou sistemas acima mencionados, através dos quais se podem obter os efeitos como descritos nas formas de realização acima. 151
Disponibilidade industrial 0 método de codificação de comprimento variável e o método de descodificação de comprimento variável de acordo com a presente invenção eliminam, eficazmente, informação redundante incluida em dados de coeficiente como um alvo de um processo de codificação de comprimento variável, seleccionando uma tabela de códigos, de modo adaptativo, às características dos coeficientes que compõem os dados de coeficiente ou estados de um processo de codificação para os coeficientes, melhorando, desse modo, em grande medida, uma eficiência de codificação de um processo de codificação de comprimento variável para sinais de imagem ou semelhantes. Este método de codificação de comprimento variável e método de descodificação de comprimento variável são úteis no processamento de dados na transmissão ou armazenamento de dados de imagens em movimento.
Lisboa, 21 de Novembro de 2011 152
Claims (1)
- REIVINDICAÇÕES Método para descodificar um valor de sequência codificado para descodificar uma imagem, em que o valor de sequência codificado é obtido codificando um valor de sequência, sendo o valor de sequência um número de coeficientes de transformada de valor zero contínuos que precedem um coeficiente de transformada não-zero, compreendendo o método as seguintes etapas executadas por um aparelho de descodificação: seleccionar uma tabela de códigos de acordo com um número total de coeficientes de transformada de valor zero não codificados num bloco, em que o coeficiente de transformada de valor zero não codificado indica um coeficiente de transformada que tem um valor zero e não foi ainda descodificado; descodificar por comprimento variável o valor de sequência codificado no bloco utilizando a tabela de códigos seleccionada. Método de descodificação de acordo com a Reivindicação 1, em que a referida selecção de uma tabela de códigos é executada na referida descodificação de comprimento variável do valor de sequência codificado bloco a bloco. Aparelho de descodificação para descodificar um valor de sequência codificado para descodificar uma imagem, em que o valor de sequência codificado é obtido codificando um valor de sequência, sendo o valor de sequência um número de coeficientes de transformada de valor zero contínuos que precedem um coeficiente de transformada não-zero, compreendendo o aparelho: uma unidade de descodificação de comprimento variável com a função de (i) seleccionar uma tabela de códigos de acordo com um número total de coeficientes de transformada de valor zero não codificados num bloco, em que o coeficiente de transformada de valor zero não codificado indica um coeficiente de transformada que tem um valor zero e não foi ainda descodificado, e (ii) descodificar por comprimento variável o valor de sequência codificado no bloco utilizando a tabela de códigos seleccionada. Lisboa, 21 de Novembro de 2011 2
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001358197 | 2001-11-22 | ||
JP2002099227 | 2002-04-01 |
Publications (1)
Publication Number | Publication Date |
---|---|
PT1413139E true PT1413139E (pt) | 2011-12-15 |
Family
ID=26624666
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PT02803564T PT1413139E (pt) | 2001-11-22 | 2002-11-22 | Método de codificação de comprimento variável e método de descodificação de comprimento variável |
PT101806982T PT2268033T (pt) | 2001-11-22 | 2002-11-22 | Método de codificação de comprimento variável e método de descodificação de comprimento variável |
PT101807147T PT2268034T (pt) | 2001-11-22 | 2002-11-22 | Método de codificação de comprimento variável e método de descodificação de comprimento variável |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PT101806982T PT2268033T (pt) | 2001-11-22 | 2002-11-22 | Método de codificação de comprimento variável e método de descodificação de comprimento variável |
PT101807147T PT2268034T (pt) | 2001-11-22 | 2002-11-22 | Método de codificação de comprimento variável e método de descodificação de comprimento variável |
Country Status (14)
Country | Link |
---|---|
US (16) | US20050015248A1 (pt) |
EP (7) | EP2268034B1 (pt) |
JP (7) | JP4158995B1 (pt) |
KR (16) | KR101030908B1 (pt) |
CN (3) | CN1586042A (pt) |
AT (1) | ATE528924T1 (pt) |
AU (5) | AU2002366142A1 (pt) |
BR (3) | BR0206629A (pt) |
CA (2) | CA2450360C (pt) |
DK (3) | DK1413139T3 (pt) |
ES (6) | ES2741562T3 (pt) |
MX (2) | MXPA04004770A (pt) |
PT (3) | PT1413139E (pt) |
WO (2) | WO2003045065A2 (pt) |
Families Citing this family (83)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2268034B1 (en) | 2001-11-22 | 2016-08-17 | Godo Kaisha IP Bridge 1 | Variable length coding method and variable length decoding method |
JP4368575B2 (ja) | 2002-04-19 | 2009-11-18 | パナソニック株式会社 | 可変長復号化方法、可変長復号化装置およびプログラム |
ES2334934T3 (es) | 2002-09-04 | 2010-03-17 | Microsoft Corporation | Codificacion de entropia por adaptacion de codificacion entre modalidades de nivel y de longitud de sucesion y nivel. |
US7133523B2 (en) * | 2002-12-20 | 2006-11-07 | Pitney Bowes Inc. | Method and system for solving the word problem in braid group cryptosystems |
CN1214649C (zh) * | 2003-09-18 | 2005-08-10 | 中国科学院计算技术研究所 | 用于视频预测残差系数编码的熵编码方法 |
US7522774B2 (en) * | 2004-03-10 | 2009-04-21 | Sindhara Supermedia, Inc. | Methods and apparatuses for compressing digital image data |
US7519229B2 (en) * | 2004-03-30 | 2009-04-14 | Apple, Inc. | Video coding system providing separate coding chains for dynamically selected small-size or full-size playback |
JP2005333609A (ja) * | 2004-04-22 | 2005-12-02 | Sanyo Electric Co Ltd | 符号化制御回路及び符号化回路 |
US7570827B2 (en) | 2004-07-14 | 2009-08-04 | Slipstream Data Inc. | Method, system and computer program product for optimization of data compression with cost function |
ATE532270T1 (de) * | 2004-07-14 | 2011-11-15 | Slipstream Data Inc | Verfahren, system und computerprogramm für die optimierung von datenkomprimierung |
CN101032081B (zh) * | 2004-07-14 | 2010-05-26 | 喷流数据有限公司 | 用于数据压缩优化的方法和系统 |
JP3990392B2 (ja) * | 2004-08-31 | 2007-10-10 | 松下電器産業株式会社 | 可変長復号化装置、可変長復号化方法および撮像システム |
US7209059B2 (en) * | 2004-12-06 | 2007-04-24 | Matsushita Electric Industrial Co., Ltd. | Decoding method and encoding method |
US8599925B2 (en) * | 2005-08-12 | 2013-12-03 | Microsoft Corporation | Efficient coding and decoding of transform blocks |
JP4682102B2 (ja) * | 2005-09-02 | 2011-05-11 | キヤノン株式会社 | 画像符号化装置及び画像符号化方法 |
JP4548348B2 (ja) * | 2006-01-18 | 2010-09-22 | カシオ計算機株式会社 | 音声符号化装置及び音声符号化方法 |
JP4749195B2 (ja) | 2006-03-28 | 2011-08-17 | 京セラ株式会社 | 通信制御装置、無線通信装置、通信制御方法及び無線通信方法 |
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 |
JP2007329903A (ja) * | 2006-05-11 | 2007-12-20 | Matsushita Electric Ind Co Ltd | 可変長復号化装置、可変長復号化方法および撮像システム |
US7324026B2 (en) * | 2006-05-19 | 2008-01-29 | Nvidia Corporation | Optimization of decoder memory usage for VLC tables |
US7884742B2 (en) * | 2006-06-08 | 2011-02-08 | Nvidia Corporation | System and method for efficient compression of digital data |
EP2067356A1 (en) * | 2006-09-28 | 2009-06-10 | THOMSON Licensing | Flexible redundancy coding |
US7796825B2 (en) * | 2007-02-16 | 2010-09-14 | Cisco Technology, Inc. | Losslessly improving compression of compressed image data |
US7774205B2 (en) * | 2007-06-15 | 2010-08-10 | Microsoft Corporation | Coding of sparse digital media spectral data |
CN101106715B (zh) * | 2007-07-26 | 2012-08-29 | 昊迪移通(北京)技术有限公司 | 一种视频带宽适配方法及装置 |
NO326724B1 (no) * | 2007-09-03 | 2009-02-02 | Tandberg Telecom As | Metode for entropikoding av transformasjonskoeffisienter i videokomprimeringssystemer |
US8031959B2 (en) * | 2008-02-22 | 2011-10-04 | Himax Technologies Limited | Compression system for a bit-plane |
US8902972B2 (en) * | 2008-04-11 | 2014-12-02 | Qualcomm Incorporated | Rate-distortion quantization for context-adaptive variable length coding (CAVLC) |
US8179974B2 (en) * | 2008-05-02 | 2012-05-15 | Microsoft Corporation | Multi-level representation of reordered transform coefficients |
US20090304073A1 (en) * | 2008-06-06 | 2009-12-10 | Mohammad Usman | Systems and Methods for the Bandwidth Efficient Processing of Data |
BRPI0904325A2 (pt) * | 2008-06-27 | 2015-06-30 | Sony Corp | Dispositivo e método de processamento de imagem. |
KR101501568B1 (ko) * | 2008-07-04 | 2015-03-12 | 에스케이 텔레콤주식회사 | 영상 부호화 및 복호화 장치 및, 방법 |
US7777653B2 (en) * | 2008-07-15 | 2010-08-17 | International Business Machines Corporation | Decoding variable-length code (VLC) bitstream information |
US7791509B2 (en) * | 2008-07-15 | 2010-09-07 | International Business Machines Corporation | Preprocessing variable-length code (VLC) bitstream information |
US8406307B2 (en) | 2008-08-22 | 2013-03-26 | Microsoft Corporation | Entropy coding/decoding of hierarchically organized data |
TWI482499B (zh) * | 2008-10-03 | 2015-04-21 | Ind Tech Res Inst | 影像訊號處理裝置和方法 |
KR101196792B1 (ko) * | 2008-12-03 | 2012-11-05 | 노키아 코포레이션 | Dct 계수 부호화 모드들 간의 전환 |
US8676775B2 (en) * | 2008-12-12 | 2014-03-18 | At&T Intellectual Property I, L.P. | Support 3-screen user experience in the context of a services marketplace |
JP5490404B2 (ja) * | 2008-12-25 | 2014-05-14 | シャープ株式会社 | 画像復号装置 |
EP2395755A4 (en) | 2009-02-09 | 2015-01-07 | Samsung Electronics Co Ltd | VIDEO PROCESSING AND DEVICE WITH LOW-COMPLEX FREQUENCY CONVERSION AND VIDEO PROCESSING AND DEVICE |
CN102460976B (zh) | 2009-05-19 | 2016-02-10 | 诺基亚技术有限公司 | 用于可变长度编码的方法和设备 |
JP5492206B2 (ja) | 2009-07-27 | 2014-05-14 | 株式会社東芝 | 画像符号化方法および画像復号方法、ならびに、画像符号化装置および画像復号装置 |
US20110158310A1 (en) * | 2009-12-30 | 2011-06-30 | Nvidia Corporation | Decoding data using lookup tables |
TWI415397B (zh) * | 2010-05-19 | 2013-11-11 | Mstar Semiconductor Inc | 媒體編碼系統、量化係數編碼裝置及量化係數編碼方法 |
JP2012010263A (ja) * | 2010-06-28 | 2012-01-12 | Sony Corp | 符号化装置、撮像装置、符号化伝送システムおよび符号化方法 |
US20120147970A1 (en) * | 2010-12-08 | 2012-06-14 | Qualcomm Incorporated | Codeword adaptation for variable length coding |
US20120230418A1 (en) | 2011-03-08 | 2012-09-13 | Qualcomm Incorporated | Coding of transform coefficients for video coding |
JP2012253420A (ja) * | 2011-05-31 | 2012-12-20 | Toshiba Corp | 可変長符号復号装置、復号システムおよび可変長符号復号方法 |
KR101943425B1 (ko) * | 2011-06-30 | 2019-01-30 | 에스케이 텔레콤주식회사 | 비균등 양자화를 이용한 효과적인 부호화/복호화 방법 및 장치 |
JP5685683B2 (ja) * | 2011-10-28 | 2015-03-18 | 株式会社Gnzo | バイトアラインメント装置及びバイトアラインメント方法 |
US20130114687A1 (en) * | 2011-11-07 | 2013-05-09 | Sharp Laboratories Of America, Inc. | Fixed intra run-level mode for cavlc in hevc |
KR20140099258A (ko) * | 2011-11-24 | 2014-08-11 | 다츠다 덴센 가부시키가이샤 | 차폐 필름, 차폐 프린트 배선판, 및 차폐 필름의 제조 방법 |
US20130188736A1 (en) * | 2012-01-19 | 2013-07-25 | Sharp Laboratories Of America, Inc. | High throughput significance map processing for cabac in hevc |
US9743116B2 (en) | 2012-01-19 | 2017-08-22 | Huawei Technologies Co., Ltd. | High throughput coding for CABAC in HEVC |
US9860527B2 (en) | 2012-01-19 | 2018-01-02 | Huawei Technologies Co., Ltd. | High throughput residual coding for a transform skipped block for CABAC in HEVC |
US9654139B2 (en) | 2012-01-19 | 2017-05-16 | Huawei Technologies Co., Ltd. | High throughput binarization (HTB) method for CABAC in HEVC |
US10616581B2 (en) | 2012-01-19 | 2020-04-07 | Huawei Technologies Co., Ltd. | Modified coding for a transform skipped block for CABAC in HEVC |
WO2013145709A1 (ja) | 2012-03-26 | 2013-10-03 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法、画像符号化プログラム、送信装置、送信方法、及び送信プログラム、並びに画像復号装置、画像復号方法、画像復号プログラム、受信装置、受信方法、及び受信プログラム |
US9386326B2 (en) | 2012-10-05 | 2016-07-05 | Nvidia Corporation | Video decoding error concealment techniques |
EP2933797B1 (en) * | 2012-12-17 | 2016-09-07 | Panasonic Intellectual Property Management Co., Ltd. | Information processing device and control method |
US10291912B2 (en) * | 2013-01-16 | 2019-05-14 | Blackberry Limited | Context determination for entropy coding of run-length encoded transform coefficients |
US9160363B2 (en) | 2014-02-27 | 2015-10-13 | Samsung Display Co., Ltd. | Run length encoding with non-sequential input |
US10750198B2 (en) | 2014-05-22 | 2020-08-18 | Qualcomm Incorporated | Maximum palette parameters in palette-based video coding |
US10264285B2 (en) * | 2014-05-22 | 2019-04-16 | Qualcomm Incorporated | Coding runs in palette-based video coding |
JP6502739B2 (ja) | 2015-04-28 | 2019-04-17 | キヤノン株式会社 | 画像符号化装置、画像処理装置、画像符号化方法 |
JP6512928B2 (ja) * | 2015-04-28 | 2019-05-15 | キヤノン株式会社 | 画像符号化装置、画像処理装置、画像符号化方法 |
US10171810B2 (en) | 2015-06-22 | 2019-01-01 | Cisco Technology, Inc. | Transform coefficient coding using level-mode and run-mode |
KR101746799B1 (ko) | 2015-11-04 | 2017-06-14 | 주식회사 쏠리드 | 분산 안테나 시스템 |
US10063892B2 (en) * | 2015-12-10 | 2018-08-28 | Adobe Systems Incorporated | Residual entropy compression for cloud-based video applications |
US10264262B2 (en) | 2016-02-29 | 2019-04-16 | Adobe Inc. | Codebook generation for cloud-based video applications |
WO2018173862A1 (ja) * | 2017-03-21 | 2018-09-27 | シャープ株式会社 | 画像復号装置及び画像符号化装置 |
JP6787231B2 (ja) * | 2017-04-04 | 2020-11-18 | 富士通株式会社 | データ処理プログラム、データ処理方法およびデータ処理装置 |
CN106941610B (zh) * | 2017-04-25 | 2019-12-24 | 西安电子科技大学 | 基于改进方块编码的二值roi掩模编码方法 |
US11086843B2 (en) | 2017-10-19 | 2021-08-10 | Adobe Inc. | Embedding codebooks for resource optimization |
US11120363B2 (en) | 2017-10-19 | 2021-09-14 | Adobe Inc. | Latency mitigation for encoding data |
US10942914B2 (en) | 2017-10-19 | 2021-03-09 | Adobe Inc. | Latency optimization for digital asset compression |
US11044495B1 (en) | 2018-02-13 | 2021-06-22 | Cyborg Inc. | Systems and methods for variable length codeword based data encoding and decoding using dynamic memory allocation |
US10491240B1 (en) * | 2019-01-17 | 2019-11-26 | Cyborg Inc. | Systems and methods for variable length codeword based, hybrid data encoding and decoding using dynamic memory allocation |
KR101997599B1 (ko) * | 2019-01-22 | 2019-07-08 | 에스케이 텔레콤주식회사 | 비균등 양자화를 이용한 효과적인 부호화/복호화 방법 및 장치 |
CN110545437B (zh) * | 2019-08-30 | 2021-07-20 | 北京大学 | 系数编码、解码方法、电子设备及介质 |
JP2021177628A (ja) * | 2020-05-07 | 2021-11-11 | ブラックマジック デザイン ピーティーワイ リミテッドBlackmagic Design Pty Ltd | 変換係数処理方法 |
CN117097906B (zh) * | 2023-10-20 | 2023-12-26 | 河北天英软件科技有限公司 | 一种区域医疗资源高效利用的方法及系统 |
Family Cites Families (84)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
LU42775A1 (pt) * | 1962-11-28 | 1964-05-28 | ||
JPH03285460A (ja) | 1990-04-02 | 1991-12-16 | Fuji Facom Corp | 画像データ圧縮符号化方式 |
DE69132076T2 (de) | 1990-12-28 | 2000-08-24 | Canon K.K., Tokio/Tokyo | Vorrichtung zur Bildverarbeitung |
US5230938A (en) * | 1991-03-11 | 1993-07-27 | Moore Business Forms, Inc. | Protected fold and seal label for demand printing |
US5838834A (en) * | 1991-11-07 | 1998-11-17 | Canon Kabushiki Kaisha | Image processing apparatus and method for quantizing image data and quantization errors using single quantizing unit and pluralities of quantization tables |
US5233348A (en) * | 1992-03-26 | 1993-08-03 | General Instrument Corporation | Variable length code word decoder for use in digital communication systems |
KR0162197B1 (ko) | 1992-05-30 | 1998-12-15 | 강진구 | 영상데이타의 가변장부호와/복호화방법 및 장치 |
GB2268667B (en) | 1992-06-24 | 1995-11-08 | Sony Broadcast & Communication | Serial data decoding |
US5828907A (en) * | 1992-06-30 | 1998-10-27 | Discovision Associates | Token-based adaptive video processing arrangement |
JPH0621830A (ja) * | 1992-06-30 | 1994-01-28 | Sony Corp | 2次元ハフマン符号化方法 |
US5325092A (en) * | 1992-07-07 | 1994-06-28 | Ricoh Company, Ltd. | Huffman decoder architecture for high speed operation and reduced memory |
KR950010913B1 (ko) * | 1992-07-23 | 1995-09-25 | 삼성전자주식회사 | 가변장부호화 및 복호화시스템 |
KR940017747A (ko) * | 1992-12-29 | 1994-07-27 | 에프. 제이. 스미트 | 영상 처리 디바이스 |
US5400075A (en) * | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
US5381145A (en) * | 1993-02-10 | 1995-01-10 | Ricoh Corporation | Method and apparatus for parallel decoding and encoding of data |
US5583500A (en) * | 1993-02-10 | 1996-12-10 | Ricoh Corporation | Method and apparatus for parallel encoding and decoding of data |
US5717394A (en) * | 1993-02-10 | 1998-02-10 | Ricoh Company Ltd. | Method and apparatus for encoding and decoding data |
JPH06237184A (ja) | 1993-02-10 | 1994-08-23 | Fujitsu Ltd | 可変長符号化回路 |
US5861921A (en) * | 1993-03-29 | 1999-01-19 | Canon Kabushiki Kaisha | Controlling quantization parameters based on code amount |
JPH0766982A (ja) | 1993-08-26 | 1995-03-10 | Canon Inc | 符号量制御装置 |
JP3382292B2 (ja) | 1993-04-22 | 2003-03-04 | キヤノン株式会社 | 画像符号化装置及びその方法 |
JPH079088A (ja) | 1993-06-28 | 1995-01-13 | Sumitomo Heavy Ind Ltd | 小ロット生産用連続鋳造設備による鋳片の製造法 |
JP3210996B2 (ja) * | 1993-07-30 | 2001-09-25 | 三菱電機株式会社 | 高能率符号化装置及び高能率復号化装置 |
JPH0766882A (ja) | 1993-08-23 | 1995-03-10 | Matsushita Electric Works Ltd | インターホンシステム |
JPH07143488A (ja) * | 1993-11-19 | 1995-06-02 | Fujitsu Ltd | 画像データ復号化方法および装置 |
US5479527A (en) * | 1993-12-08 | 1995-12-26 | Industrial Technology Research Inst. | Variable length coding system |
KR0155784B1 (ko) * | 1993-12-16 | 1998-12-15 | 김광호 | 영상데이타의 적응형 가변장 부호화/복호화방법 |
KR970009408B1 (ko) | 1994-01-18 | 1997-06-13 | 대우전자 주식회사 | 인터/인트라 테이블 선택 회로 |
KR0148151B1 (ko) | 1994-05-11 | 1998-09-15 | 김광호 | 개선된 차분동부호테이블을 이용한 차분동벡터값의 가변장부호화방법 및 그 장치 |
JP3220598B2 (ja) | 1994-08-31 | 2001-10-22 | 三菱電機株式会社 | 可変長符号テーブルおよび可変長符号化装置 |
KR0147948B1 (ko) * | 1994-09-15 | 1998-09-15 | 배순훈 | 영상 부호화장치 |
US6549666B1 (en) * | 1994-09-21 | 2003-04-15 | Ricoh Company, Ltd | Reversible embedded wavelet system implementation |
US6141446A (en) * | 1994-09-21 | 2000-10-31 | Ricoh Company, Ltd. | Compression and decompression system with reversible wavelets and lossy reconstruction |
CA2156889C (en) | 1994-09-30 | 1999-11-02 | Edward L. Schwartz | Method and apparatus for encoding and decoding data |
JP3144456B2 (ja) | 1995-01-20 | 2001-03-12 | 三菱自動車工業株式会社 | 助手席エアバッグモジュールのリアクションカン構造 |
JP3285460B2 (ja) | 1995-01-31 | 2002-05-27 | 株式会社ケット科学研究所 | 近赤外成分分析器の光源装置 |
KR100209410B1 (ko) * | 1995-03-28 | 1999-07-15 | 전주범 | 영상 신호 부호화 장치 |
US5740283A (en) * | 1995-07-06 | 1998-04-14 | Rubin, Bednarek & Associates, Inc. | Digital video compression utilizing mixed vector and scalar outputs |
US5812788A (en) | 1995-07-21 | 1998-09-22 | Intel Corporation | Encoding/decoding video signals using quantization tables based on explicitly encoded base and scale matrices |
JP3883618B2 (ja) * | 1995-10-26 | 2007-02-21 | 株式会社ハイニックスセミコンダクター | データ圧縮方法 |
US5835145A (en) * | 1996-01-19 | 1998-11-10 | Lsi Logic Corporation | Conversion system using programmable tables for compressing transform coefficients |
JP3141149B2 (ja) | 1996-04-26 | 2001-03-05 | 株式会社日立製作所 | 画像符号化装置 |
BR9702224B1 (pt) | 1996-05-28 | 2010-08-10 | aparelho de decodificação de previsão de imagem. | |
US5825312A (en) * | 1996-11-25 | 1998-10-20 | Xerox Corporation | DX JPEG Huffman decoder |
US5995148A (en) * | 1997-02-14 | 1999-11-30 | At&T Corp | Video coder having scalar dependent variable length coder |
JPH10271017A (ja) | 1997-03-27 | 1998-10-09 | Kawasaki Steel Corp | 符号量制御装置 |
JP3189876B2 (ja) * | 1997-06-09 | 2001-07-16 | 日本電気株式会社 | 可変長符号復号化回路 |
US6151075A (en) * | 1997-06-11 | 2000-11-21 | Lg Electronics Inc. | Device and method for converting frame rate |
FI107496B (fi) * | 1997-07-18 | 2001-08-15 | Nokia Mobile Phones Ltd | Kuvan kompressointi |
US6016111A (en) * | 1997-07-31 | 2000-01-18 | Samsung Electronics Co., Ltd. | Digital data coding/decoding method and apparatus |
KR19990036476A (ko) * | 1998-04-28 | 1999-05-25 | 백정한 | 가변양자의 부호화를 이용한 화상압축방법및 그 장치 |
US6477280B1 (en) * | 1999-03-26 | 2002-11-05 | Microsoft Corporation | Lossless adaptive encoding of finite alphabet data |
US6241778B1 (en) * | 1999-06-18 | 2001-06-05 | Lucent Technologies Inc. | Methods and apparatus for implementing run-length limited and maximum transition run codes |
JP2001025053A (ja) * | 1999-07-09 | 2001-01-26 | Mitsubishi Electric Corp | 携帯電話のメモリシステム |
AUPQ668500A0 (en) * | 2000-04-04 | 2000-05-04 | Canon Kabushiki Kaisha | Accessing items of information |
AU769072B2 (en) | 2000-04-04 | 2004-01-15 | Canon Kabushiki Kaisha | Accessing items of information |
JP4109404B2 (ja) * | 2000-04-26 | 2008-07-02 | 松下電器産業株式会社 | 符号化装置および符号化方法 |
US6731814B2 (en) * | 2000-05-01 | 2004-05-04 | Xerox Corporation | Method for compressing digital documents with control of image quality and compression rate |
US6912070B1 (en) * | 2000-08-08 | 2005-06-28 | Qualcomm, Inc. | Sub-optimal variable length coding |
US6661355B2 (en) * | 2000-12-27 | 2003-12-09 | Apple Computer, Inc. | Methods and apparatus for constant-weight encoding & decoding |
US6757429B2 (en) | 2001-02-21 | 2004-06-29 | Boly Media Communications Inc. | Method of compressing digital images |
US7003033B2 (en) * | 2001-03-05 | 2006-02-21 | Intervideo, Inc. | Systems and methods for encoding redundant motion vectors in compressed video bitstreams |
US6763070B1 (en) * | 2001-05-29 | 2004-07-13 | Cisco Technology, Inc. | Methods and apparatus for selecting a cut-off index |
US7046852B2 (en) * | 2001-09-13 | 2006-05-16 | Sharp Laboratories Of America, Inc. | Fast image decompression via look up table |
US6856701B2 (en) * | 2001-09-14 | 2005-02-15 | Nokia Corporation | Method and system for context-based adaptive binary arithmetic coding |
EP2268034B1 (en) * | 2001-11-22 | 2016-08-17 | Godo Kaisha IP Bridge 1 | Variable length coding method and variable length decoding method |
CN101448162B (zh) | 2001-12-17 | 2013-01-02 | 微软公司 | 处理视频图像的方法 |
US6690307B2 (en) * | 2002-01-22 | 2004-02-10 | Nokia Corporation | Adaptive variable length coding of digital video |
US6823015B2 (en) * | 2002-01-23 | 2004-11-23 | International Business Machines Corporation | Macroblock coding using luminance date in analyzing temporal redundancy of picture, biased by chrominance data |
US7206448B2 (en) * | 2002-02-28 | 2007-04-17 | At&T Corp. | System and method for using pattern vectors for video and image coding and decoding |
US6717394B2 (en) * | 2002-03-21 | 2004-04-06 | Eaton Corporation | Method and apparatus for determining frequency of an alternating current signal of an electric power system |
US7099387B2 (en) | 2002-03-22 | 2006-08-29 | Realnetorks, Inc. | Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses |
JP4130780B2 (ja) * | 2002-04-15 | 2008-08-06 | 松下電器産業株式会社 | 画像符号化方法および画像復号化方法 |
CN100420308C (zh) * | 2002-04-26 | 2008-09-17 | 株式会社Ntt都科摩 | 图象编码装置和图象译码装置 |
DK1467491T3 (da) * | 2002-05-02 | 2007-03-19 | Fraunhofer Ges Forschung | Arithmetical coding of transform coefficients |
US6731841B1 (en) * | 2002-05-24 | 2004-05-04 | Alliance Fiber Optic Products, Inc. | Folded waveguide optical devices |
JP3707456B2 (ja) * | 2002-08-12 | 2005-10-19 | ヤマハ株式会社 | 画像データ圧縮方法および画像データ伸張装置並びに伸張プログラム |
JP3679083B2 (ja) * | 2002-10-08 | 2005-08-03 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、画像符号化プログラム、画像復号プログラム |
US6646578B1 (en) * | 2002-11-22 | 2003-11-11 | Ub Video Inc. | Context adaptive variable length decoding system and method |
EP1494413A1 (en) * | 2003-07-02 | 2005-01-05 | CoreOptics, Inc., c/o The Corporation Trust Center | Channel estimation and sequence estimation for the reception of optical signal |
US7724827B2 (en) * | 2003-09-07 | 2010-05-25 | Microsoft Corporation | Multi-layer run level encoding and decoding |
JP4484630B2 (ja) * | 2004-01-29 | 2010-06-16 | パナソニック株式会社 | 可変長復号化装置および可変長復号化方法および再生システム |
US7450775B2 (en) * | 2004-03-12 | 2008-11-11 | Kabushiki Kaisha Toshiba | Image processing apparatus for efficient storage of variable block length data |
US7132963B2 (en) * | 2004-09-13 | 2006-11-07 | Ati Technologies Inc. | Methods and apparatus for processing variable length coded data |
-
2002
- 2002-11-22 EP EP10180714.7A patent/EP2268034B1/en not_active Expired - Lifetime
- 2002-11-22 KR KR1020107007955A patent/KR101030908B1/ko active IP Right Grant
- 2002-11-22 MX MXPA04004770A patent/MXPA04004770A/es unknown
- 2002-11-22 DK DK02803564T patent/DK1413139T3/da active
- 2002-11-22 KR KR1020087009132A patent/KR100921030B1/ko active IP Right Grant
- 2002-11-22 EP EP20020803564 patent/EP1413139B1/en not_active Expired - Lifetime
- 2002-11-22 KR KR1020097023335A patent/KR100992246B1/ko active IP Right Grant
- 2002-11-22 EP EP20020790698 patent/EP1453208A1/en not_active Withdrawn
- 2002-11-22 DK DK10180714.7T patent/DK2268034T3/en active
- 2002-11-22 AT AT02803564T patent/ATE528924T1/de active
- 2002-11-22 AU AU2002366142A patent/AU2002366142A1/en not_active Withdrawn
- 2002-11-22 WO PCT/JP2002/012230 patent/WO2003045065A2/en active Application Filing
- 2002-11-22 KR KR1020087009140A patent/KR100921033B1/ko active IP Right Grant
- 2002-11-22 EP EP16175243.1A patent/EP3099066B1/en not_active Expired - Lifetime
- 2002-11-22 KR KR1020107007959A patent/KR101030862B1/ko active IP Right Grant
- 2002-11-22 ES ES16175245T patent/ES2741562T3/es not_active Expired - Lifetime
- 2002-11-22 AU AU2002357584A patent/AU2002357584B2/en not_active Expired
- 2002-11-22 EP EP10180698.2A patent/EP2268033B1/en not_active Expired - Lifetime
- 2002-11-22 BR BR0206629A patent/BR0206629A/pt active IP Right Grant
- 2002-11-22 BR BRPI0206629-7A patent/BRPI0206629B1/pt unknown
- 2002-11-22 ES ES10180714.7T patent/ES2599624T3/es not_active Expired - Lifetime
- 2002-11-22 KR KR1020037015866A patent/KR100947399B1/ko active IP Right Grant
- 2002-11-22 EP EP16175248.0A patent/EP3099068B1/en not_active Expired - Lifetime
- 2002-11-22 US US10/494,753 patent/US20050015248A1/en not_active Abandoned
- 2002-11-22 ES ES10180698.2T patent/ES2587022T3/es not_active Expired - Lifetime
- 2002-11-22 PT PT02803564T patent/PT1413139E/pt unknown
- 2002-11-22 CN CNA028224728A patent/CN1586042A/zh not_active Withdrawn
- 2002-11-22 EP EP16175245.6A patent/EP3099067B1/en not_active Expired - Lifetime
- 2002-11-22 KR KR1020087009136A patent/KR100921032B1/ko active IP Right Grant
- 2002-11-22 CN CN2006101436850A patent/CN101001385B/zh not_active Expired - Lifetime
- 2002-11-22 KR KR1020087009131A patent/KR100921034B1/ko active IP Right Grant
- 2002-11-22 KR KR1020087009133A patent/KR100921031B1/ko active IP Right Grant
- 2002-11-22 ES ES16175248T patent/ES2741563T3/es not_active Expired - Lifetime
- 2002-11-22 PT PT101806982T patent/PT2268033T/pt unknown
- 2002-11-22 KR KR1020107007957A patent/KR101030850B1/ko active IP Right Grant
- 2002-11-22 US US10/480,038 patent/US6967600B2/en not_active Expired - Lifetime
- 2002-11-22 WO PCT/JP2002/012232 patent/WO2003044964A1/ja not_active Application Discontinuation
- 2002-11-22 KR KR1020107007956A patent/KR101030903B1/ko active IP Right Grant
- 2002-11-22 KR KR1020107007960A patent/KR101022091B1/ko active IP Right Grant
- 2002-11-22 CA CA002450360A patent/CA2450360C/en not_active Expired - Lifetime
- 2002-11-22 KR KR1020097017951A patent/KR100993443B1/ko active IP Right Grant
- 2002-11-22 ES ES02803564T patent/ES2373944T3/es not_active Expired - Lifetime
- 2002-11-22 KR KR1020097023346A patent/KR100992336B1/ko active IP Right Grant
- 2002-11-22 KR KR10-2004-7007783A patent/KR20040054794A/ko not_active Application Discontinuation
- 2002-11-22 DK DK10180698.2T patent/DK2268033T3/en active
- 2002-11-22 CA CA 2467266 patent/CA2467266A1/en not_active Withdrawn
- 2002-11-22 MX MXPA04000912A patent/MXPA04000912A/es active IP Right Grant
- 2002-11-22 CN CNB028132823A patent/CN1301014C/zh not_active Expired - Lifetime
- 2002-11-22 BR BR0206628A patent/BR0206628A/pt not_active Application Discontinuation
- 2002-11-22 ES ES16175243T patent/ES2752804T3/es not_active Expired - Lifetime
- 2002-11-22 KR KR1020087009127A patent/KR100913633B1/ko active IP Right Grant
- 2002-11-22 PT PT101807147T patent/PT2268034T/pt unknown
-
2005
- 2005-04-21 US US11/110,916 patent/US6954157B2/en not_active Expired - Lifetime
- 2005-04-21 US US11/110,922 patent/US7161508B2/en not_active Expired - Lifetime
- 2005-04-21 US US11/110,921 patent/US6992605B2/en not_active Expired - Lifetime
- 2005-11-08 US US11/268,667 patent/US7109898B2/en not_active Expired - Lifetime
-
2006
- 2006-07-31 US US11/495,600 patent/US7541948B2/en not_active Expired - Lifetime
- 2006-07-31 US US11/495,598 patent/US7283071B2/en not_active Expired - Lifetime
- 2006-07-31 US US11/495,601 patent/US7411526B2/en not_active Expired - Lifetime
- 2006-10-06 US US11/543,854 patent/US7312730B2/en not_active Expired - Lifetime
- 2006-10-06 US US11/543,860 patent/US7339506B2/en not_active Expired - Lifetime
- 2006-10-06 US US11/543,857 patent/US7312731B2/en not_active Expired - Lifetime
-
2007
- 2007-05-31 AU AU2007202509A patent/AU2007202509B2/en not_active Expired
- 2007-10-31 US US11/980,403 patent/US7714752B2/en not_active Expired - Lifetime
-
2008
- 2008-04-21 JP JP2008109896A patent/JP4158995B1/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109900A patent/JP4158999B1/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109899A patent/JP4158998B1/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109897A patent/JP4158996B2/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109894A patent/JP4158993B1/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109898A patent/JP4158997B1/ja not_active Expired - Lifetime
- 2008-04-21 JP JP2008109895A patent/JP4158994B1/ja not_active Expired - Lifetime
-
2010
- 2010-02-19 US US12/708,884 patent/US7956774B2/en not_active Expired - Fee Related
- 2010-03-10 AU AU2010200907A patent/AU2010200907B2/en not_active Expired
- 2010-03-10 AU AU2010200906A patent/AU2010200906B2/en not_active Expired
-
2011
- 2011-04-21 US US13/091,611 patent/US8604947B2/en not_active Expired - Lifetime
-
2013
- 2013-11-04 US US14/070,857 patent/US8941514B2/en not_active Expired - Lifetime
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
PT1413139E (pt) | Método de codificação de comprimento variável e método de descodificação de comprimento variável | |
CA2608610C (en) | Variable length coding method and variable length decoding method | |
AU2007202520A1 (en) | Variable length coding method and variable length decoding method |