BRPI0304558B1 - "método de codificação para codificação aritmética e método de decodificação para decodificação aritmética" - Google Patents
"método de codificação para codificação aritmética e método de decodificação para decodificação aritmética" Download PDFInfo
- Publication number
- BRPI0304558B1 BRPI0304558B1 BRPI0304558-7A BRPI0304558A BRPI0304558B1 BR PI0304558 B1 BRPI0304558 B1 BR PI0304558B1 BR PI0304558 A BRPI0304558 A BR PI0304558A BR PI0304558 B1 BRPI0304558 B1 BR PI0304558B1
- Authority
- BR
- Brazil
- Prior art keywords
- coefficient
- unit
- value
- binary data
- arithmetic
- Prior art date
Links
Classifications
-
- 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
- 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/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/129—Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
-
- 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
- H03M7/4006—Conversion to or from arithmetic code
-
- 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
- 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/167—Position within a video image, e.g. region of interest [ROI]
-
- 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/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/182—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 pixel
-
- 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/189—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
- H04N19/196—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (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)
Abstract
"método de codificação de comprimento variável e método de decodificação de comprimento variável". a invenção refere-se a um método de codificação de comprimento variável é constituído por: uma etapa de varredura de valor de coeficiente na qual uma unidade de geração de seqüência de rl 203, uma unidade de reordenação 202 e uma unidade de binarização 203 varrem valores de coeficiente dentro de um bloco em uma ordem de varredura predeterminada que começa em um componente de freqüência mais alta em direção a um componente de freqüência mais baixa; e uma etapa de codificação aritmética na qual uma unidade de codificação aritmética 205 e uma unidade de armazenagem de tabela 204 executam codificação aritmética nos valores absolutos dos valores de coeficiente de acordo com a ordem de varredura usada na etapa de varredura de valor de coeficiente, mediante a comutação entre tabelas de probabilidades 1 ~ 4 para uso em que, na etapa de codificação aritmética, uma tabela de probabilidades a ser usada é comutada para uma outra tabela de probabilidades em uma direção, quando os valores absolutos codificados aritmeticamente dos valores de coeficiente incluem um valor absoluto que ultrapassa um valor limite predeterminado.
Description
(54) Título: MÉTODO DE CODIFICAÇÃO PARA CODIFICAÇÃO ARITMÉTICA E MÉTODO DE DECODIFICAÇÃO PARA DECODIFICAÇÃO ARITMÉTICA (73) Titular: GODO KAISHA IP BRIDGE 1. Endereço: c/o Sakura Sogo Jimusho, 1-11 Kanda-Jinbocho, Chiyoda-ku, Tokyo, JAPÃO(JP) (72) Inventor: SATOSHI KONDO; SHINYA KADONO; MAKOTO HAGAI; KIYOFUMI ABE
Prazo de Validade: 10 (dez) anos contados a partir de 27/02/2018, observadas as condições legais
Expedida em: 27/02/2018
Assinado digitalmente por:
Júlio César Castelo Branco Reis Moreira
Diretor de Patente
1/47
Relatório Descritivo da Patente de Invenção para MÉTODO DE CODIFICAÇÃO PARA CODIFICAÇÃO ARITMÉTICA E MÉTODO DE DECODIFICAÇÃO PARA DECODIFICAÇÃO ARITMÉTICA.
Campo Técnico [001] A presente invenção refere-se à codificação e decodificação de dados de imagem e, mais particularmente, de um método de executar codificação aritmética e decodificação aritmética em valores de coeficiente de dados de imagem.
Fundamentos da Técnica [002] No processamento de codificação de imagem em movimento, as informações geralmente são comprimidas utilizando redundâncias espacial e temporal, incluídas em uma imagem em movimento. Habitualmente, a transformação em domínio de frequência é usada como um método de utilizar redundância espacial, enquanto que codificação de predição entre imagens é usada como um método de utilizar redundância temporal.
[003] No método de codificação de imagem em movimento H.263, uma modalidade que emprega codificação aritmética é utilizada como um método de codificação de comprimento variável (Por exemplo, referir a ITU-T Recommendation H.263: Video Coding for Low Bit Rate Communication (1998), Annex E).
[004] Em tal método de codificação de comprimento variável, a transformação de frequência é executada em cada bloco dimensionado de 4 x 4 pixels, e a quantificação é executada adicionalmente em tal bloco para gerar valores de coeficiente. Em seguida, é efetuada uma varredura começando em um componente de alta frequência em direção a componentes de frequência menor (componentes de corrente contínua), e são geradas combinações de um número R que indica uma rodada de zeros e um valor de coeficiente L após a mesma.
2/47
Subsequentemente, após a conversão (binarização) de números R, os valores absolutos de valores de coeficiente L, e os sinais dos valores de coeficiente L para dados binários constituídos por 0s e 1s mediante o emprego de uma tabela binária, é executada uma codificação aritmética binária em tais dados binários por comutação entre umapluralidade de tabelas de probabilidades para uso. É usada a tabela mostrada na figura 1, por exemplo, como uma tabela binária para os valores absolutos dos valores de coeficiente L.
[005] A figura 1 é um diagrama de tabela que mostra um exemplo de tabela binária.
[006] Quando é executada uma binarização no valor absoluto 2 de um valor de coeficiente L usando a tabela binária mostrada na figura 1, por exemplo, tal valor absoluto é convertido para o dado binário 01. Além disto, quando é efetuada binarização no valor absoluto 3 de um valor de coeficiente L, tal valor absoluto é convertido para o dado binário 001.
[007] Quando é executada uma codificação aritmética no dado binário obtido a partir do valor absoluto de um valor de coeficiente L, uma tabela de probabilidades é comutada para outra com base em um diagrama de transição mostrado na figura 2, dependendo do valor absoluto do valor de coeficiente L anterior.
[008] A figura 2 é um diagrama de transição que mostra um método de comutação entre tabelas de probabilidades de acordo com uma técnica existente.
[009] Primeiro, é executada codificação aritmética no valor absoluto do primeiro valor de coeficiente L, usando uma tabela de probabilidades 1. Para os valores de coeficiente L subsequentes, uma tabela de probabilidades é comutada para outra dependendo do valor de coeficiente L anterior de cada um de tais valores de coeficiente L. Mais especificamente, uma tabela de probabilidades 2 é usada quando o
3/47 valor absoluto do valor de coeficiente L anterior é 1, uma tabela de probabilidades 3 é usada quando o valor absoluto do valor de coeficiente L anterior é 2, e uma tabela de probabilidades 4 é usada quando o valor absoluto do valor de coeficiente L anterior é 3 ou mais.
[0010] Neste caso, a determinação de uma tabela de probabilidades depende inteiramente do valor absoluto do valor de coeficiente L anterior.
[0011] Além disto, cada uma das próprias tabelas de probabilidades é atualizada dependendo do dado binário introduzido ser 0 ou 1. Neste caso, cada atualização é efetuada de modo que a probabilidade de 0 aumente quando o dado binário introduzido for 0, e a probabilidade de 1 aumente quando o dado binário introduzido for 1. Sendo assim, as tabelas de probabilidades são adaptadas de modo a servirem à frequência na qual o dado binário é introduzido.
[0012] Na técnica existente acima, uma tabela de probabilidades é comutada para outra dependendo do valor absoluto do valor de coeficiente L anterior. Geralmente, os valores absolutos dos coeficientes nos quais a transformação de frequência é executada tendem a ser maiores na direção dos componentes de frequência mais alta para os componentes de frequência menor. Consequentemente, há um problema com o emprego da técnica existente mencionada acima pelo fato da comutação de uma tabela de probabilidades não poder suportar um aumento da tendência de coeficientes em um caso em que o valor absoluto de um determinado coeficiente é menor que o do coeficiente anterior, conduzindo a uma redução de rendimento de codificação.
[0013] Em vista do problema citado, é um objeto da presente invenção prover um método de codificação de comprimento variável e um método de decodificação de comprimento variável que proporcionem um maior rendimento de codificação ao ser executada uma codi4/47 ficação de imagem.
Descrição da Invenção [0014] Para alcançar o objeto acima, o método de codificação de comprimento variável de acordo com a presente invenção é um método de codificação de comprimento variável para codificar valores absolutos de valores de coeficiente dentro de cada um dos blocos com um tamanho predeterminado em dados de imagem em que foi executada uma transformação de frequência no citado cada um dos blocos, o método de codificação de comprimento variável compreendendo: uma etapa de varredura de valor de coeficiente para varrer os valores absolutos dos valores de coeficiente dentro de cada um dos blocos em uma ordem de varredura predeterminada que começa em um componente de frequência mais alta em direção a um componente de frequência mais baixa; e uma etapa de codificação aritmética para execução de codificação aritmética nos valores absolutos dos valores de coeficiente de acordo com a ordem de varredura usada na etapa de varredura de valor de coeficiente, mediante a comutação entre uma pluralidade de tabelas de probabilidades para uso, em que, na etapa de codificação aritmética, uma tabela de probabilidades a ser usada é comutada para uma outra tabela de probabilidades em uma direção, quando os valores absolutos de codificação aritmética dos valores de coeficiente incluem um valor absoluto que ultrapassa um valor limite predeterminado.
[0015] Geraimente, os valores absolutos de valores de coeficiente são maiores em direção aos componentes de frequência mais baixa. Consequentemente, quando é aplicada varredura ao domínio de alta frequência e em seguida ao domínio de baixa frequência, é provável que os valores absolutos dos valores de coeficiente se tornem maiores nesta ordem. Portanto, conforme descrito acima, no método de codificação de comprimento variável de acordo com a presente invenção,
5/47 uma tabela de probabilidades a ser usada é comutada para outra em uma direção quando existe, nos valores de coeficiente codificados aritmeticamente, um valor absoluto que ultrapassa um valor de coeficiente predeterminado. A partir daí, mesmo que o valor absoluto de um valor de coeficiente se torne menor que tal valor limite predeterminado, tal valor de coeficiente será codificado aritmeticamente sem comutar uma tabela de probabilidades a ser usada na direção oposta. Através desta operação, a atualização de uma tabela de probabilidades se torna mais facilmente adaptiva a entradas de valores de coeficiente cujos valores absolutos geralmente tendem a ser maiores na direção de componentes de frequência mais alta para componentes de frequência mais baixa. Isto, consequentemente, possibilita que a probabilidade de ocorrência de símbolos (0 ou 1 em dados binários) em cada tabela de probabilidades apresente uma tendenciosidade maior (ou seja, a probabilidade de ocorrência ou de 0 ou de 1 se torna um valor mais próximo de 1,0). A codificação aritmética possui uma característica de, quanto mais tendenciosos forem os valores de probabilidade em uma tabela de probabilidades, maior se tornará o rendimento de codificação. Sendo assim, o emprego do método de codificação de comprimento variável de acordo com a presente invenção resulta em maior eficiência de codificação.
[0016] Além disto, o método de decodificação de comprimento variável de acordo com a presente invenção é um método de decodificação de comprimento variável para decodificar um fluxo de bits gerado pela codificação de valores absolutos de valores de coeficiente dentro de cada um dos blocos de um tamanho predeterminado em dados de imagem nos quais foi executada uma transformação de frequência no referido cada um dos blocos após dimensionar em um os referidos valores absolutos, o método de decodificação de comprimento variável compreendendo: uma etapa de decodificação aritmética para decodifi6/47 car aritmeticamente o fluxo de bits em valores absolutos de uma pluralidade de valores de coeficiente na base de um para um, mediante a comutação entre uma pluralidade de tabelas de probabilidades para uso; e uma etapa de geração de coeficiente para converter os valores absolutos dos valores de coeficiente dentro de cada um dos blocos, de acordo com uma ordem de varredura predeterminada que começa em um componente de frequência mais alta em direção a um componente de frequência mais baixa, em que, na etapa de decodificação aritmética, uma tabela de probabilidades a ser usada é comutada para uma outra tabela de probabilidades em uma direção, quando os valores absolutos dos valores de coeficiente incluem um valor absoluto que ultrapassa um valor limite predeterminado.
[0017] Sendo assim, torna-se possível decodificar apropriadamente um fluxo de bits codificado pelo emprego do método de codificação de comprimento variável de acordo com a presente invenção.
[0018] Cumpre notar que a presente invenção pode ser realizada não apenas como um método de codificação de comprimento variável e um método de decodificação de comprimento variável conforme descrito acima, mas também como um aparelho de codificação de comprimento variável e um aparelho de decodificação de comprimento variável que possuem, como as suas etapas, as etapas características incluídas no método de codificação de comprimento variável e no método de decodificação de comprimento variável acima, e realizada como um aparelho de codificação de imagem e um aparelho de decodificação de imagem para codificar e decodificar uma imagem em movimento equipada com os aparelhos acima, assim como realizada como um programa que faz com que um computador execute tais etapas características. E cumpre notar que tal programa pode ser distribuído através de suportes de gravação que incluem CD-ROM e semelhantes, e de suportes de transmissão que incluem a Internet e semelhan7/47 tes.
Breve Descrição dos Desenhos [0019] A figura 1 é um diagrama de tabela que mostra uma tabela binária exemplifi cativa.
[0020] A figura 2 é um diagrama de transição que mostra um método de comutar entre tabelas de probabilidades de acordo com uma técnica existente.
[0021] A figura 3 é um diagrama de blocos que mostra uma configuração de um aparelho de codificação de imagem de acordo com uma primeira modalidade da presente invenção.
[0022] A figura 4 é um diagrama de blocos que mostra uma configuração interna de uma unidade de codificação de comprimento variável de acordo com a primeira modalidade da presente invenção.
[0023] As figuras 5A e 5B são diagramas esquemáticos que mostram esquematicamente blocos de coeficientes emitidos por uma unidade de quantificação de acordo com a primeira modalidade da presente invenção.
[0024] As figuras 6A, 6B e 6C são diagramas esquemáticos que mostram esquematicamente sequências de RL emitidas por uma unidade de geração de sequência de RL de acordo com a primeira modalidade da presente invenção.
[0025] A figura 7 é um diagrama de transição que mostra um método de comutar entre tabelas de probabilidades de acordo com a primeira modalidade da presente invenção.
[0026] A figura 8 é um diagrama do conteúdo de tabela de probabilidades que mostra o conteúdo de uma tabela de probabilidades de acordo com a primeira modalidade da presente invenção.
[0027] A figura 9 é um diagrama de transição que mostra um método de comutar entre tabelas de probabilidades empregado por uma unidade de codificação aritmética de acordo com uma variante da pre8/47 sente invenção.
[0028] A figura 10 é um diagrama explicativo que explica um caso em que a unidade de codificação aritmética de acordo com a variante da presente invenção utiliza duas tabelas de probabilidades para o valor absoluto de cada valor de coeficiente.
[0029] A figura 11 é um diagrama de blocos que mostra uma configuração de um aparelho de decodificação de imagem de acordo com uma segunda modalidade da presente invenção.
[0030] A figura 12 é um diagrama de blocos que mostra uma configuração interna de uma unidade de decodificação de comprimento variável de acordo com a segunda modalidade da presente invenção. [0031] As figuras 13A, 13B e 13C são diagramas explicativos que mostram um suporte de gravação de acordo com uma terceira modalidade da presente invenção.
[0032] A figura 14 é um diagrama de blocos que mostra uma configuração global de um sistema de suprimento de conteúdo de acordo com uma quarta modalidade da presente invenção.
[0033] A figura 15 é uma vista frontal de um telefone celular de acordo com a quarta modalidade da presente invenção.
[0034] A figura 16 é um diagrama de blocos que mostra o telefone celular de acordo com a quarta modalidade da presente invenção. [0035] A figura 17 é um diagrama de blocos que mostra uma configuração global de um sistema de difusão digital de acordo com a quarta modalidade da presente invenção.
Melhor Modalidade de Executar a Invenção (Primeira modalidade) [0036] A seguir é explicado um aparelho de codificação de imagem de acordo com a primeira modalidade da presente invenção com referência às figuras.
[0037] A figura 3 é um diagrama de blocos que mostra a configu9/47 ração de um aparelho de codificação de imagem 100 de acordo com a primeira modalidade da presente invenção.
[0038] O aparelho de codificação de imagem 100, que executa codificação entre imagens em uma imagem introduzida (dados de imagem) com maior rendimento de codificação, é constituído por uma unidade de conversão de bloco 101, uma unidade de transformação de frequência 102, uma unidade de quantificação 103 e uma unidade de codificação de comprimento variável 104.
[0039] A unidade de conversão de bloco 101 divide uma imagem introduzida em blocos de pixels com um tamanho de 4 x 4 pixels nas direções horizontal e vertical, e os emite para a unidade de transformação de frequência 102.
[0040] A unidade de transformação de frequência 102 executa transformação de frequência em cada um dos blocos de pixels acima divididos, de modo a gerar coeficientes de frequência. A seguir, a unidade de transformação de frequência 102 emite, para a unidade de quantificação 103, tais coeficientes de frequência gerados.
[0041] A unidade de quantificação 103 efetua quantificação nos coeficientes de frequência emitidos pela unidade de transformação de frequência 102. A quantificação neste caso significa processamento equivalente a dividir um coeficiente de frequência por um valor de quantificação predeterminado. Além disto, um valor de quantificação varia dependendo geralmente de um bloco de pixels e de uma faixa de frequências. Subsequentemente, a unidade de quantificação 103 emite os coeficientes de frequência quantificados para a unidade de codificação de comprimento variável 104.
[0042] A unidade de codificação de comprimento variável 104 executa codificação de comprimento variável nos coeficientes de frequência quantificados pela unidade de quantificação 103.
[0043] A figura 4 é um diagrama de blocos que mostra uma confi10/47 guração interna da unidade de codificação de comprimento variável 104.
[0044] Conforme mostra a figura 4, a unidade de codificação de comprimento variável 104 é constituída por uma unidade de geração de sequência de RL 201, uma unidade de reordenação 202, uma unidade de binarização 203, uma unidade de armazenagem de tabela 204 e uma unidade de codificação aritmética 205.
[0045] A unidade de geração de sequência de RL 201 converte os coeficientes de frequência quantificados (doravante abreviados para coeficientes) emitidos pela unidade de quantificação 103 para coeficientes unidimensionais, usando um método de varredura predeterminado. A seguir, a unidade de geração de sequência de RL 201 gera uma sequência (doravante designada por sequência de RL) constituída por combinações de um número R que indica uma rodada de coeficientes zero com o valor de coeficiente L subsequente que indica um coeficiente não-zero (doravante designados como valores de RL). As figuras 5 e 6 explica isto com um exemplo.
[0046] A figura 5A mostra um bloco de coeficientes constituído por uma pluralidade de coeficientes emitidos pela unidade de quantificação 103. Neste caso, o coeficiente de frequência esquerdo superior indica um componente de corrente contínua, e os coeficientes de frequência na direção horizontal se tornam maiores em direção à direita, enquanto que os coeficientes de frequência na direção vertical aumentam para baixo.
[0047] A figura 5B é um diagrama de explicação para explicar um método de varredura para unidimensionar uma pluralidade de coeficientes dentro de um bloco de coeficientes. Conforme indicado pelas setas na figura 5B, a unidade de geração de sequência de RL 201 unidimensiona coeficientes executando varredura dentro do bloco de coeficiente que começa a partir do domínio de baixa frequência em dire11/47 ção ao domínio de alta frequência.
[0048] A figura 6A mostra uma sequência de RL emitida pela unidade de geração de sequência de RL 201. Na figura 6A, o primeiro número indica o número de coeficientes. Geralmente, é mais provável que um valor de coeficiente seja 0 no domínio de alta frequência. Consequentemente, mediante a execução de varredura a partir do domínio de baixa frequência em direção ao domínio de alta frequência, é possível reduzir a quantidade de informações incluídas em uma sequência de RL (dentre as mesmas, a quantidade de informações dos números R). A sequência de RL gerada é introduzida na unidade de reordenação 202.
[0049] A unidade de reordenação 202 classifica uma sequência de RL introduzida em ordem inversa. Entretanto, o número de coeficientes não deverá ser reordenado.
[0050] A figura 6B mostra a sequência de RL reordenada pela unidade de reordenação 202. Mediante a execução da reordenação desta maneira, é possível reduzir a quantidade de informações que acaba de ser descrita acima, e consequentemente unidimensionar coeficientes pela aplicação de varredura ao bloco de coeficientes a partir do domínio de alta frequência em direção ao domínio de baixa frequência. Subsequentemente, a sequência de RL reordenada da maneira descrita acima é emitida para a unidade de binarização 203.
[0051] A unidade de binarização 203 executa a binarização no número de coeficientes e em cada valor de RL, ou seja, converte os mesmos para dados binários constituídos por 0s e 1s. Neste caso, os números R e os valores de coeficiente L são binarizados separadamente.
[0052] A figura 6C mostra apenas os valores de coeficiente L na sequência RL reordenada pela unidade de reordenação 202. Os valores absolutos e os sinais destes valores de coeficiente L são proces12/47 sados separadamente. Além disto, a unidade de binarização 203 efetua a binarização nos números R e nos valores absolutos dos valores de coeficiente L, usando uma tabela binária predeterminada conforme mostra a figura 1, por exemplo. A seguir, a unidade de binarização 203 emite, para a unidade de codificação aritmética 205, os dados binários resultantes da execução de binarização nos mesmos.
[0053] A unidade de codificação aritmética 205 executa codificação aritmética binária nos números R e nos valores absolutos dos valores de coeficiente L representados como dados binários, ao mesmo tempo codificando os sinais dos valores de coeficiente L. É apresentada aqui uma explicação sobre a codificação aritmética a ser executada no valor absoluto de um valor de coeficiente L. A unidade de codificação aritmética 205 utiliza uma pluralidade de tabelas de probabilidades comutando entre as mesmas, ao efetuar codificação aritmética no valor absoluto de um valor de coeficiente L representado como dado binário. Tal pluralidade de tabelas de probabilidades é armazenada pela unidade de armazenagem de tabela 204.
[0054] A figura 7 é um diagrama de transição que mostra um método de comutar entre tabelas de probabilidades.
[0055] Conforme mostra a figura 7, a unidade de codificação aritmética 205 utiliza quatro tabelas de probabilidades, das quais a tabela de probabilidades 1 é usada para efetuar codificação aritmética no valor absoluto do primeiro valor de coeficiente L. Enquanto isto, para um valor de coeficiente L subsequente, a unidade de codificação aritmética 205 comuta para uma outra tabela de probabilidades para uso, dependendo do número de tabela de uma tabela de probabilidades usado para codificar o valor absoluto do valor de coeficiente L anterior, assim como de tal valor absoluto. Neste caso, as quatro tabelas de probabilidades são a tabela de probabilidades 1, a tabela de probabilidades 2, a tabela de probabilidades 3 e a tabela de probabilidades 4, e
13/47 o número de tabela da tabela de probabilidades 1 é 1, o número de tabela da tabela de probabilidades 2 é 2, o número de tabela da tabela de probabilidades 3 é 3, e o número de tabela da tabela de probabilidades 4 é 4.
[0056] Mais especificamente, a tabela de probabilidades 2 é usada quando uma das condições seguintes é satisfeita: quando a tabela de probabilidades 1 é usada para codificar o valor absoluto do valor de coeficiente L anterior e o seu valor absoluto é 1; e quando a tabela de probabilidades 2 é usada para codificar o valor absoluto do valor de coeficiente L anterior e o seu valor absoluto é 1. Enquanto isto, a tabela de probabilidades 3 é usada quando uma das condições seguintes é satisfeita: quando a tabela de probabilidades 1 é usada para codificar o valor absoluto do valor de coeficiente L anterior e o seu valor absoluto é 2; quando a tabela de probabilidades 2 é usada para codificar o valor absoluto do valor de coeficiente L anterior e o seu valor absoluto é 2; e quando a tabela de probabilidades 3 é usada para codificar o valor absoluto do valor de coeficiente L anterior e o seu valor absoluto é 2 ou menos. E a tabela de probabilidades 4 é usada quando uma das condições seguintes é satisfeita: quando o valor absoluto do valor de coeficiente L anterior é 3 ou um valor maior; e quando a tabela de probabilidades 4 é usada para codificar o valor absoluto do valor de coeficiente L anterior.
[0057] Conforme descrito acima, as tabelas de probabilidades são comutadas em uma direção, qual seja, de uma tabela de probabilidades com um número de tabela menor, para tabela de probabilidades com um número de tabela maior. Sendo assim, mesmo quando o valor absoluto do valor de coeficiente L anterior é igual ou menor que um valor limite predeterminado, as tabelas de probabilidades não serão comutadas na direção oposta. Trata-se do aspecto que distingue a presente invenção da técnica existente.
14/47 [0058] A figura 8 é um diagrama do conteúdo de tabela de probabilidades que mostra o conteúdo das quatro tabelas 1 ~ 4.
[0059] Conforme mostra a figura 8, cada uma das quatro tabelas de probabilidades 1 ~ 4 é constituída pela probabilidade de 0 ocorrer e pela probabilidade de 1 ocorrer.
[0060] Por exemplo, a tabela de probabilidades 1 é constituída pela probabilidade 0,1 de 0 ocorrer, e a probabilidade 0,9 de 1 ocorrer, e a tabela de probabilidades 2 é constituída pela probabilidade 0,2 de 0 ocorrer, e a probabilidade 0,8 de 1 ocorrer.
[0061] Em outras palavras, quando o valor absoluto de um valor de coeficiente L é 2, o resultado de binarização 2 é 01, e consequentemente, quando é usada a tabela de probabilidades 1 para executar codificação aritmética em 01, a unidade de codificação aritmética 205 executa codificação aritmética em 01 usando a probabilidade 0,1 correspondente a 0 em tal 01 e a probabilidade 0,9 correspondente a 1 em tal 01.
[0062] Neste caso, como a soma da probabilidade de ocorrência de 0 com a probabilidade de ocorrência de 1 é 1,0, não é necessário manter estas duas probabilidades, e portanto apenas uma qualquer das probabilidades pode ser retida.
[0063] A seguir é apresentado um exemplo de um método de comutação entre tabelas de probabilidades no caso onde a codificação é executada em valores absolutos (binarizados) dos valores de coeficiente L mostrados na figura 6C.
[0064] A unidade de codificação aritmética 205 utiliza a tabela de probabilidades 1 para o valor absoluto do primeiro valor de coeficiente L (-2). Neste caso, como o valor absoluto de tal valor de coeficiente L é 2, a unidade de codificação aritmética 205 comuta a tabela de probabilidades 1 para a tabela de probabilidades 3 para uso. Sendo assim, a unidade de codificação aritmética 205 usa a tabela de probabilidades 3
15/47 para efetuar codificação aritmética no valor absoluto do segundo valor de coeficiente L (3). Neste caso, como o valor absoluto de tal valor de coeficiente L é 3, a unidade de codificação aritmética 205 comuta a tabela de probabilidades 3 para a tabela de probabilidades 4 para uso. Sendo assim, a unidade de codificação aritmética 205 usa a tabela de probabilidades 4 para efetuar codificação aritmética no valor absoluto do terceiro valor de coeficiente L (6). Neste caso, como a tabela de probabilidades a ser usada foi comutada para a tabela de probabilidades 4, a unidade de codificação aritmética 205 usa a tabela de probabilidades 4 para efetuar codificação aritmética nos valores absolutos de todos os valores de coeficiente L subsequentes. Por exemplo, o valor absoluto do quinto valor de coeficiente L é 2 , porém, ao contrário da técnica existente, a unidade de codificação aritmética 205 utiliza a tabela de probabilidades 4 quando executa codificação aritmética no valor absoluto do sexto valor de coeficiente L e, em seguida, sem comutar para uma outra tabela de probabilidades.
[0065] Além disto, como todas as tabelas de probabilidades são atualizadas conforme necessário dependendo de uma entrada ser 0 ou 1, tais tabelas de probabilidades são atualizadas para adaptação às entradas.
[0066] Conforme descrito acima, no método de codificação de comprimento variável empregado pela unidade de codificação de comprimento variável 104 no aparelho de codificação de imagem 100 de acordo com a presente invenção, o unidimensionamento é executado em coeficientes dentro de um bloco de coeficientes mediante a varredura dos mesmos, começando pelo domínio de baixa frequência em direção ao domínio de alta frequência. Em seguida, gera uma sequência de valores RL (sequência RL) constituída por combinações de um número R que indica uma rodada de valores de coeficiente zero e um valor de coeficiente não-zero L após o mesmo. Tais valores RL
16/47 são em seguida convertidos para códigos de comprimento variável em uma ordem oposta àquela na qual a varredura foi aplicada. Quando os valores RL são convertidos para códigos de comprimento variável, os números R, o valor absoluto de valores de coeficiente L e os sinais dos valores de coeficiente L são convertidos separadamente. Quando estes são convertidos, a binarização é executada primeiro, seguida por codificação aritmética. A fim de executar codificação aritmética nos valores absolutos dos valores de coeficiente L, uma pluralidade de tabelas de probabilidades é comutada entre os mesmos. Quando uma tabela de probabilidades é comutada para uma outra tabela de probabilidades, uma tabela de probabilidades, a ser usada para codificar o valor absoluto do valor de coeficiente L seguinte, é determinada dependendo do número de tabela da tabela de probabilidades corrente e do valor absoluto do valor de coeficiente L corrente. As tabelas de probabilidades serão comutadas apenas em uma direção, e assim que o valor absoluto de um valor de coeficiente L ultrapassar um valor predeterminado, a mesma tabela de probabilidades é usada a partir deste ponto, para efetuar codificação aritmética.
[0067] Quando a varredura é aplicada a partir do domínio de alta frequência primeiro, e em seguida ao domínio de baixa frequência, é provável que os valores absolutos dos valores de coeficiente L se tornem maiores em tal ordem, já que os valores absolutos dos valores de coeficiente L geralmente são maiores em direção ao domínio de baixa frequência. Portanto, quando o valor absoluto do valor de coeficiente L excede um valor predeterminado, mesmo que o valor absoluto de um outro valor de coeficiente L se torne menor que tal valor predeterminado após o mesmo, é bastante possível que apenas o valor absoluto de tal valor de coeficiente L seja pequeno. Consequentemente, mediante a execução de codificação aritmética com emprego da mesma tabela de probabilidades, a atualização de uma tabela de probabilidades se
17/47 adapta mais facilmente a entradas. Isto, em consequência, torna possível que a probabilidade de ocorrência de símbolos (0 ou 1 em dados binários) em cada tabela de probabilidades seja mais tendenciosa (ou seja, a probabilidade de ocorrência ou de 0 ou de 1 se torna um valor mais próximo de 1,0). A codificação aritmética possui uma característica segundo a qual quanto mais tendenciosos forem os valores de probabilidade em uma tabela de probabilidades, maior se torna o rendimento de codificação. Sendo assim, o emprego do método de codificação de comprimento variável de acordo com a presente invenção resulta em maior rendimento de codificação.
(Variante) [0068] A seguir é apresentada uma variante do aparelho de codificação de imagem de acordo com a presente modalidade.
[0069] Primeiro, a variante é explicada com relação à comutação de tabelas de probabilidades.
[0070] Uma unidade de codificação aritmética no aparelho de codificação de imagem de acordo com esta variante executa codificação aritmética nos valores absolutos de valores de coeficiente L (binarizados) por comutação entre as duas tabelas de probabilidades 1 e 4 para uso.
[0071] A figura 9 é um diagrama de transição que mostra um método de comutar entre as tabelas de probabilidades empregado pela unidade de codificação aritmética de acordo a variante.
[0072] Conforme mostra a figura 9, a unidade de codificação aritmética utiliza duas tabelas de probabilidades, e utiliza a tabela de probabilidades 1 para efetuar codificação aritmética no valor absoluto do primeiro valor de coeficiente L. A seguir, a unidade de codificação aritmética comuta da tabela de probabilidades 1 para a tabela de probabilidades 4 quando o valor absoluto do valor de coeficiente L anterior ultrapassa 1, e usa a tabela de probabilidades 4 para efetuar codi18/47 ficação aritmética nos valores absolutos de todos os valores de coeficiente L subsequentes a serem codificados. Em outras palavras, a unidade de codificação aritmética usa a tabela de probabilidades 1 para efetuar codificação aritmética no valor absoluto de um valor de coeficiente L a ser codificado quando não existe valor de coeficiente L com um valor absoluto superior a 1 em valores de coeficiente L codificados aritmeticamente. Por outro lado, a unidade de codificação aritmética comuta da tabela de probabilidades 1 para a tabela de probabilidades 4 quando existe, em valores de coeficiente L codificados aritmeticamente, um valor de coeficiente L com um valor absoluto superior a 1, ou seja, quando o número de valores de coeficiente L com um valor absoluto superior a 1 se torna um valor diferente de zero, de modo a executar codificação aritmética nos valores absolutos de todos os valores de coeficiente L subsequentes a serem codificados usando a valor de coeficiente 4.
[0073] Neste caso, é apresentada uma explicação abaixo de um exemplo de comutação entre as tabelas de probabilidades em um caso em que os valores de coeficiente L são -1, 1, -2, 3, 4, 4, 1 começando no domínio de alta frequência e descendo para o domínio de baixa frequência. A unidade de codificação aritmética usa a tabela de probabilidades 1 para o valor absoluto do primeiro valor de coeficiente L (-1). Neste caso, como o valor absoluto de tal valor de coeficiente L é 1, que não excede um valor limite 1, a unidade de codificação aritmética não comuta a tabela de probabilidades a ser usada, para uma outra, e continua a usar a tabela de probabilidades 1. Sendo assim, a unidade de codificação aritmética usa a tabela de probabilidades 1 para executar codificação aritmética no valor absoluto do segundo valor de coeficiente L (1). Neste caso, como o valor absoluto de tal valor de coeficiente L é 1, a unidade de codificação aritmética não comuta a tabela de probabilidades a ser usada, para uma outra, e continua a
19/47 usar a tabela de probabilidades 1, como no caso acima. Sendo assim, a unidade de codificação aritmética usa a tabela de probabilidades 1 para executar codificação aritmética no valor absoluto do terceiro valor de coeficiente L (-2). Neste caso, como o valor absoluto é 2, que excede o valor limite 1 a unidade de codificação aritmética comuta da tabela de probabilidades 1 para a tabela de probabilidades 4, e utiliza a tabela de probabilidades 4 para executar codificação aritmética no valor absoluto do quarto valor de coeficiente L (3). Com relação ao valor absoluto do quinto valor de coeficiente L e depois, como há um valor de coeficiente L com um valor absoluto superior a 1 nos valores de coeficiente L codificados aritmeticamente, a unidade de codificação aritmética emprega a tabela de probabilidades 4 para executar codificação sobre o valor absoluto do quinto valor de coeficiente L e depois. [0074] Como é óbvio na figura 1, o dado binário é representado apenas como 1 quando o valor absoluto de um valor de coeficiente L é 1. Consequentemente, quando 1 é fixado como um valor limite, são efetuadas modificações na tabela de probabilidades 1, que é usada quando tal valor limite não é ultrapassado, de modo que um símbolo (dado binário) 1 ocorre com uma alta probabilidade. Sendo assim, haverá uma diferença significativa nas probabilidades de ocorrência na tabela de probabilidades 1, o que conduz a um rendimento de codificação ainda maior.
[0075] A seguir é apresentada uma explicação para o caso em que uma pluralidade de tabelas de probabilidades é usada para o valor absoluto de cada valor de coeficiente L (binarizado).
[0076] A figura 10 é um diagrama explicativo que mostra o caso em que são usadas duas tabelas de probabilidades para o valor absoluto de cada valor de coeficiente L.
[0077] Por exemplo, conforme mostra a figura 10, a unidade de codificação aritmética comuta entre quatro tabelas de probabilidades 1
20/47 ~ 4 de modo a usar uma delas para efetuar codificação aritmética no primeiro bit do valor absoluto de cada valor de coeficiente L representado como dado binário, enquanto que comuta entre quatro tabelas de probabilidades 1 ~ 4 diferentes das tabelas de probabilidades 1 ~ 4 acima, de modo a usar a mesma para efetuar codificação aritmética no segundo bit e em cada um dos bits subsequentes. Neste caso, a tabela de probabilidades 1' corresponde à tabela de probabilidades 1, a tabela de probabilidades 2' corresponde à tabela de probabilidades 2, a tabela de probabilidades 3' corresponde à tabela de probabilidades 3, e a tabela de probabilidades 4' corresponde à tabela de probabilidades 4. Em outras palavras, como no caso da modalidade preferida explicado com referência à figura 7, uma tabela de probabilidades a ser usada é mudada dependendo do valor máximo dos valores absolutos dos coeficientes codificados até o anterior, porém, ao realizar isto, uma tabela de probabilidades usada para codificar o primeiro bit e as tabelas de probabilidades usadas para codificar o segundo bit e daí para frente são mudadas ao mesmo tempo.
[0078] Supõe-se que são usados o mesmo valor limite e os mesmos números das tabelas de probabilidades correspondentes a tal valor limite que aqueles usados para a modalidade preferida explicada com referência à figura 7. Diferentemente do caso no qual todos os bits são codificados usando a mesma tabela de probabilidades nas tabelas de probabilidades 1 e 2, a maior probabilidade de ocorrência de 1 é fixada em um valor elevado (a fim de se adaptar às entradas) e, nas tabelas de probabilidades 3 e 4, a maior probabilidade de ocorrência de 0 é fixada em um valor elevado. Similarmente, com referência às tabelas de probabilidades 1' ~ 4', nas tabelas de probabilidades 1' ~ 3', a maior probabilidade de ocorrência de 1 é fixada em um valor elevado (a fim de se adaptar às entradas), e, na tabela de probabilidades 4, a maior probabilidade de ocorrência de 0 é fixada em um
21/47 valor elevado. Em codificação aritmética, quanto maior for a diferença entre as probabilidades de ocorrência de símbolos (0 ou 1 em dados binários) armazenados em tabelas de probabilidades (ou seja, o mais próximo de 1,0 da probabilidade de ocorrência ou de 0 ou de 1), maior se torna o rendimento de codificação. Isto consequentemente conduz a um rendimento de codificação ainda maior. Neste caso, além dos dados binários serem divididos no primeiro bit e nos bits que se seguem, os dados binários podem também ser divididos em uma outra posição de bit, e podem também ser divididos em três ou mais por posições de bit. Além disto, em vez de usar o mesmo número de tabelas de probabilidades para cada uma das posições de bit divididas, é possível também, por exemplo, que seja usada uma pluralidade de tabelas de probabilidades para o primeiro bit e a mesma tabela de probabilidades seja usada para o segundo bit e os bits subsequentes (ou seja, é usada a mesma tabela de probabilidades independentemente de coeficientes). Quando é usado o mesmo número de tabelas de probabilidades para cada uma das posições de bit divididas, como no caso da modalidade mencionada acima, estas podem ser comutadas entre si de acordo com uma referência diferente (valor limite) (ou seja, a uma temporização diferente), em vez de serem comutadas de acordo com a mesma referência.
[0079] O aparelho de codificação de imagem de acordo com a presente invenção foi explicado usando a modalidade acima e a variante, porém a presente invenção não está limitada às mesmas.
[0080] Na presente modalidade e variante, por exemplo, é apresentada uma explicação para o caso em que uma imagem é codificada por meio de codificação intra-imagens, porém o mesmo efeito pode ser obtido também para o caso em que uma imagem é codificada por meio de codificação entre imagens efetuando compensação de movimento e outros em uma imagem em movimento introduzida.
22/47 [0081] Além disto, na presente modalidade e variante, embora seja dada uma explicação para o caso em que uma imagem introduzida é dividida em blocos de pixels de 4 x 4 pixels em direções horizontal e vertical, um bloco de pixels pode possuir um tamanho diferente.
[0082] Além disto, na presente modalidade e variante, embora seja usada a figura 5B para explicar um método de efetuar varredura dentro de um bloco de coeficientes, pode ser empregada também uma outra ordem de varredura desde que a varredura seja executada a partir do domínio de baixa frequência em direção ao domínio de alta frequência. [0083] Outrossim, na presente modalidade e variante, é dada uma explicação para o caso em que a unidade de geração de sequência de RL 201 converte coeficientes de frequência quantificados para coeficientes unidimensionais usando um método de varredura predeterminado, e gera uma sequência (sequência RL) constituída por combinações de um número R que indica uma rodada de valores de coeficiente zero e um valor de coeficiente L diferente de zero após a mesma, porém uma sequência de números R e valores de coeficiente L podem ser gerados separadamente. Quando é gerada uma sequência de valores de coeficiente L, por exemplo, a unidade de reordenação 202 pode ser omitida, se tal sequência for gerada executando varredura a partir do domínio de alta frequência em direção ao domínio de baixa frequência, e selecionando coeficientes como valores de coeficiente diferentes de zero.
[0084] Além disto, na presente modalidade é dada uma explicação para o caso em que são usadas quatro tabelas de probabilidades e estas tabelas de probabilidades são comutadas de acordo com a tabela de transição ilustrada na figura 7, e na variante é apresentada uma explicação para o caso em que são usadas duas tabelas de probabilidades e estas tabelas de probabilidades são comutadas de acordo com a tabela de transição ilustrada na figura 9, porém podem ser em23/47 pregados valores diferentes como o número de tabelas de probabilidades e um valor limite para os valores absolutos de valores de coeficiente L quando as tabelas de probabilidades são comutadas conforme mostram as figuras 7 e 9.
[0085] Outrossím, a figura 1 é apresentada como um exemplo de uma tabela binária, porém uma outra tabela pode ser empregada. [0086] Além disto, na presente modalidade e na variante, embora seja apresentada uma explicação para o caso em que a unidade de codificação aritmética executa codificação aritmética binária, em vez disto pode ser executada uma codificação aritmética de múltiplos valores. Neste caso, é possível omitir a unidade de binarização 203.
(Segunda modalidade) [0087] A seguir é explicado um aparelho de decodificação de imagem de acordo com a segunda modalidade da presente invenção com referência às figuras.
[0088] A figura 11 é um diagrama de blocos que mostra a configuração de um aparelho de decodificação de imagem 600 de acordo com a segunda modalidade da presente invenção.
[0089] Este aparelho de decodificação de imagem 600 executa decodificação intra-imagens em um fluxo de bits que resulta da execução de codificação intra-imagens em dados de imagem, e é constituído por uma unidade de decodificação de comprimento variável 601, uma unidade de quantificação inversa 602, uma unidade de transformação de frequência inversa 603 e uma memória de imagem 604. O fluxo de bits a ser introduzido aqui é gerado com emprego do método de codificação de comprimento variável utilizado pelo aparelho de codificação de imagem 100 de acordo com a primeira modalidade, e é obtido primeiro pela unidade de decodificação de comprimento variável 601. [0090] Ao receber o fluxo de bits, a unidade de decodificação de comprimento variável 601 gera um bloco de coeficientes constituído
24/47 por uma pluralidade de coeficientes conforme mostra a figura 5A mediante a execução de decodificação de comprimento variável em tal fluxo de bits.
[0091] A unidade de quantificação inversa 602, ao receber o bloco de coeficientes a partir da unidade de decodificação de comprimento variável 601, executa quantificação inversa em tal bloco de coeficientes. A quantificação inversa neste caso significa integrar um valor de quantificação predeterminado a cada coeficiente no bloco de coeficientes. Geralmente, um valor de quantificação varia na base de um bloco de coeficientes ou de uma faixa de frequências, e é obtido a partir de um fluxo de bits. Subsequentemente, a unidade de quantificação inversa 602 emite o bloco de coeficientes de quantificação inversa para a unidade de transformação de frequência inversa 603.
[0092] A unidade de transformação de frequência inversa 603 executa transformação de frequência inversa no bloco de coeficientes de quantificação inversa, e converte o bloco de coeficientes para um bloco de pixels. A seguir, a unidade de transformação de frequência inversa 603 emite, para a memória de imagem 604, tal bloco de pixels convertido.
[0093] A memória de imagem 604 armazena blocos de pixels decodificados em sequência, e quando são armazenados blocos de pixels equivalentes a uma imagem, emite estes blocos de pixels como uma imagem de saída.
[0094] É apresentada aqui uma explicação detalhada da unidade de decodificação de comprimento variável 601 descrita acima.
[0095] A figura 12 é um diagrama de blocos que mostra uma configuração interna da unidade de decodificação de comprimento variável 601.
[0096] Conforme mostra a figura 12, a unidade de decodificação de comprimento variável 601 é constituída por uma unidade de decodi25/47 ficação aritmética 701, uma unidade de conversão de múltiplos valores 702, uma unidade de armazenagem de tabela 703, uma unidade de reordenação 704 e uma unidade de geração de coeficiente 705.
[0097] A unidade de armazenagem de tabela 703 armazena quatro tabelas de probabilidades 1 ~ 4 conforme mostra a figura 8, por exemplo.
[0098] Ao receber o fluxo de bits, a unidade de decodificação aritmética 701 primeiro executa decodificação aritmética em tal fluxo de bits. Neste caso, é apresentada uma explicação da decodificação aritmética binária a ser executada nos valores absolutos (binarizada) de valores de coeficiente L codificados incluídos no fluxo de bits.
[0099] Ao executar decodificação aritmética no valor absoluto de um valor de coeficiente L codificado, a unidade de decodificação aritmética 701 obtém, a partir da unidade de conversão de múltiplos valores 702, o valor absoluto do valor de coeficiente L anterior que já foi decodificado e convertido em um valor múltiplo. A seguir, a unidade de decodificação aritmética 701 comuta entre as tabelas de probabilidades 1 ~ 4 armazenadas pela unidade de armazenagem de tabela 703 da maneira mostrada na figura 7, dependendo do valor absoluto de tal valor de coeficiente L, e executa decodificação aritmética binária no valor absoluto de cada um dos valores de coeficiente L codificados de modo a emitir dados binários correspondentes a cada um dos mesmos.
[00100] A unidade de conversão de múltiplos valores 702 converte os dados binários emitidos pela unidade de decodificação aritmética 701 para valores múltiplos, usando, por exemplo, uma tabela binária conforme mostra a figura 1, de modo a convertê-los em valores absolutos de valores de coeficiente L. A seguir, a unidade de conversão de múltiplos valores 702 emite os valores absolutos de tais valores de coeficiente L para a unidade de decodificação aritmética 701 e a unidade
26/47 de reordenação 704.
[00101] É apresentada uma explicação de uma operação detalhada da unidade de decodificação aritmética 701 e da unidade de conversão de múltiplos valores 702.
[00102] Primeiro, a unidade de decodificação aritmética 701 usa a tabela de probabilidades 1 para executar decodificação aritmética no valor absoluto do primeiro valor de coeficiente L codificado. A seguir, a unidade de decodificação aritmética 701 emite, para a unidade de conversão de múltiplos valores 702, dados binários obtidos na execução de decodificação aritmética. A unidade de conversão de múltiplos valores 702 usa a tabela binária de modo a converter os dados binários para o valor absoluto do valor de coeficiente L, e emite tal valor absoluto para a unidade de decodificação aritmética 701 e para a unidade de reordenação 704.
[00103] A seguir, para os valores absolutos dos valores de coeficiente L codificados subsequentes, a unidade de decodificação aritmética 701 comuta a tabela de probabilidades a ser usada para uma outra, dependendo do número de tabela da tabela de probabilidades usada quando o valor absoluto do valor de coeficiente codificado L anterior é binário decodificado aritmeticamente, assim como dependendo do valor absoluto de tal valor de coeficiente L anterior obtido da unidade de conversão de múltiplos valores 702. Conforme mostra a figura 7, a tabela de probabilidades 2 é usada quando uma das condições seguintes é satisfeita: quando a tabela de probabilidades 1 foi usada para executar decodificação aritmética no valor absoluto do valor de coeficiente L anterior e o valor absoluto do valor de coeficiente L anterior obtido da unidade de conversão de múltiplos valores 702 é 1; e quando a tabela de probabilidades 2 foi usada para executar decodificação aritmética no valor absoluto do valor de coeficiente L anterior e o valor absoluto do valor de coeficiente L anterior obtido da unidade de
27/47 conversão de múltiplos valores 702 é 1. A tabela de probabilidades 3 é usada quando uma das condições seguintes é satisfeita: quando a tabela de probabilidades 1 foi usada para executar decodificação aritmética no valor absoluto do valor de coeficiente L anterior e o valor absoluto do valor de coeficiente L anterior obtido da unidade de conversão de múltiplos valores 702 é 2; quando a tabela de probabilidades 2 foi usada para executar decodificação aritmética no valor absoluto do valor de coeficiente L anterior e o valor absoluto do valor de coeficiente L anterior obtido da unidade de conversão de múltiplos valores 702 é 2; e quando a tabela de probabilidades 3 foi usada para executar decodificação aritmética no valor absoluto do valor de coeficiente L anterior e o valor absoluto do valor de coeficiente L anterior obtido da unidade de conversão de múltiplos valores 702 é 2 ou menos. E a tabela de probabilidades 4 é usada quando uma das condições seguintes é satisfeita: quando o valor absoluto do valor de coeficiente L anterior obtido da unidade de conversão de múltiplos valores 702 é 3 ou um valor maior; e quando a tabela de probabilidades 4 foi usada para executar decodificação aritmética no valor absoluto do valor de coeficiente L anterior. Conforme mostrado acima, as tabelas de probabilidades 1 ~ 4 são comutadas em uma direção, ou seja, de uma tabela de probabilidades com um número de tabela menor para uma tabela de probabilidades com um número de tabela maior. Sendo assim, mesmo que o valor absoluto do valor de coeficiente L anterior obtido da unidade de conversão de múltiplos valores 702 seja igual ou menor que um valor limite predeterminado, as tabelas de probabilidades não serão comutadas na direção oposta. Trata-se do aspecto que distingue a presente invenção da técnica existente.
[00104] A seguir é explicado um exemplo de comutação entre as tabelas de probabilidades, em um caso em que a decodificação é efetuada nos valores absolutos de valores de coeficiente L mostrados na
28/47 figura 6C.
[00105] A unidade de decodificação aritmética 701 usa a tabela de probabilidades 1 para executar decodificação aritmética no valor absoluto do primeiro valor de coeficiente L codificado (-2) de modo a decodificá-lo no dado binário 01. Como, a partir da unidade de conversão de múltiplos valores 702, a unidade de decodificação aritmética 701 obtém 2, que é um valor múltiplo convertido a partir de tal dado binário 01, esta comuta da tabela de probabilidades 1 para a tabela de probabilidades 3 de modo a usá-la. Sendo assim, a unidade de decodificação aritmética 701 usa a tabela de probabilidades 3 para executar decodificação aritmética no valor absoluto do segundo valor de coeficiente L (3) codificado de modo a decodificá-lo no dado binário 001. Neste caso, como, a partir da unidade de conversão de múltiplos valores 702, a unidade de decodificação aritmética 701 obtém 3, que é um valor múltiplo convertido a partir de tal dado binário 001, esta comuta da tabela de probabilidades 3 para a tabela de probabilidades 4 de modo a usá-la. Sendo assim, a unidade de decodificação aritmética 701 usa a tabela de probabilidades 4 para executar decodificação aritmética no valor absoluto do terceiro valor de coeficiente L (6) codificado de modo a decodificá-lo no dado binário 000001. Neste caso, como a tabela de probabilidades a ser usada é comutada para a tabela de probabilidades 4, a unidade de decodificação aritmética 701 utiliza a tabela de probabilidades 4 para executar decodificação aritmética nos valores absolutos de todos os valores de coeficiente L codificados subsequentes. Por exemplo, o valor absoluto do quinto valor de coeficiente L codificado é decodificado e convertido em um valor múltiplo 2 porém, ao contrário da técnica existente, a unidade de decodificação aritmética 701 utiliza a tabela de probabilidades 4 para executar decodificação aritmética no valor absoluto do sexto valor de coeficiente L e, em seguida, sem comutar para uma outra tabela de probabilida29/47 des.
[00106] Mediante a operação acima, quando são gerados os valores absolutos de valores de coeficiente L, os números R e os sinais dos valores de coeficiente L equivalentes a um bloco de coeficientes, estes são introduzidos na unidade de reordenação 704 como uma sequência de RL.
[00107] A unidade de reordenação 704 classifica, em ordem inversa, tal sequência de RL introduzida. Entretanto, o número de coeficientes não será reordenado. A figura 6A ilustra uma sequência de RL reordenada. Subsequentemente, a unidade de reordenação 704 emite, para a unidade de geração de coeficiente 705, tal sequência de RL reordenada da maneira acima.
[00108] A unidade de geração de coeficiente 705 converte a sequência de RL introduzida para um bloco de coeficientes. Ao efetuar isto, a unidade de geração de coeficiente 705 realiza uma conversão da sequência de RL para um bloco de coeficientes executando repetidamente a seguinte operação: gera um coeficiente com o valor 0 apenas pelo número indicado por um número R, e em seguida gera um coeficiente com um valor indicado por um valor de coeficiente L. Neste caso, a unidade de geração de coeficiente 705 executa varredura em ziguezague começando pelo domínio de baixa frequência em direção ao domínio de alta frequência, de modo a converter a sequência de RL mostrada na figura 6A para o bloco de coeficientes mostrado na figura 5A. A seguir, a unidade de geração de coeficiente 705 emite, para a unidade de quantificação inversa 602, o bloco de coeficientes gerado da maneira descrita acima.
[00109] Conforme descrito acima, no método de decodificação aritmética, empregado pela unidade de decodificação de comprimento variável 601 no aparelho de decodificação de imagem 600 de acordo com a presente invenção, uma pluralidade de tabelas de probabilida30/47 des é comutada quando é executada a decodificação aritmética nos valores absolutos de valores de coeficiente L incluídos em um fluxo de bits introduzido. Na comutação para uma outra tabela de probabilidades, cuja tabela de probabilidades a ser usada na decodificação do valor absoluto do valor de coeficiente L seguinte é determinada dependendo do número de tabela da tabela de probabilidades corrente e do valor absoluto de um valor de coeficiente L resultante da decodificação. Quando isto é realizado, as tabelas de probabilidades são comutadas apenas em uma direção, e quando o valor absoluto de um valor de coeficiente L resultante da decodificação ultrapassa um valor predeterminado, a mesma tabela de probabilidades é usada para executar decodificação aritmética em todos os valores absolutos subsequentes.
[00110] Conforme se evidencia pelo exposto, o emprego do método de decodificação aritmética de acordo com a presente invenção torna possível decodificar apropriadamente um fluxo de bits codificado pelo emprego do método de codificação de comprimento variável de acordo com a presente invenção.
(Variante) [00111] A seguir é apresentada uma explicação de uma variante da unidade de decodificação aritmética no aparelho de decodificação de imagem de acordo com a presente modalidade.
[00112] Primeiro, a variante é explicada com relação à comutação das tabelas de probabilidades.
[00113] Uma unidade de decodificação aritmética no aparelho de decodificação de imagem de acordo com esta variante executa decodificação aritmética nos valores absolutos de valores de coeficiente L (binarizados) que foram codificados por comutação entre as duas tabelas de probabilidades 1 e 4 para uso.
[00114] Conforme mostra a figura 9, esta unidade de decodificação
31/47 aritmética utiliza duas tabelas de probabilidades, e utiliza a tabela de probabilidades 1 para efetuar decodificação aritmética no valor absoluto do primeiro valor de coeficiente L. A seguir, a unidade de decodificação aritmética comuta da tabela de probabilidades 1 para a tabela de probabilidades 4 quando o valor absoluto do valor de coeficiente L anterior ultrapassa 1, e usa a tabela de probabilidades 4 para efetuar decodificação aritmética nos valores absolutos de todos os valores de coeficiente L subsequentes a serem decodificados. Em outras palavras, a unidade de decodificação aritmética usa a tabela de probabilidades 1 para efetuar decodificação aritmética no valor absoluto de um valor de coeficiente L codificado a ser decodificado quando não existe valor de coeficiente L com um valor absoluto superior a 1 em valores de coeficiente L que foram decodificados aritmeticamente e convertidos em múltiplos valores. Por outro lado, a unidade de decodificação aritmética comuta da tabela de probabilidades 1 para a tabela de probabilidades 4 quando existe, em valores de coeficiente L que foram decodificados aritmeticamente e convertidos em múltiplos valores, um valor de coeficiente L com um valor absoluto superior a 1, ou seja, quando o número de valores de coeficiente L com um valor absoluto superior a 1 se torna um valor diferente de zero, e comuta da tabela de probabilidades 1 para a tabela de probabilidades 4, de modo a executar decodificação aritmética nos valores absolutos de todos os valores de coeficiente L subsequentes a serem decodificados usando a valor de coeficiente 4.
[00115] Neste caso, é apresentada abaixo uma explicação de um exemplo de comutação entre as tabelas de probabilidades em um caso em que os valores de coeficiente L são -1, 1, -2, 3, 4, 4, 1 começando no domínio de alta frequência e descendo para o domínio de baixa frequência. A unidade de decodificação aritmética usa a tabela de probabilidades 1 para executar decodificação aritmética no valor
32/47 absoluto do primeiro valor de coeficiente L de modo a convertê-lo para o dado binário 1. Neste caso, como a unidade de decodificação aritmética, a partir da unidade de conversão de múltiplos valores 702, obtém 1, que é um valor múltiplo convertido a partir de tal dado binário 1, e julga que o valor absoluto de tal valor de coeficiente L é 1, que não excede um valor limite 1, esta não comuta a tabela de probabilidades a ser usada, e continua a usar a tabela de probabilidades 1. Sendo assim, a unidade de decodificação aritmética executa decodificação aritmética no valor absoluto do segundo valor de coeficiente L de modo a convertê-lo para o dado binário 1, usando a tabela de probabilidades 1. Neste caso, como a unidade de decodificação aritmética julga que o valor absoluto de tal valor de coeficiente L é 1, que não excede o valor limite 1, esta não comuta a tabela de probabilidades a ser usada, e continua a usar a tabela de probabilidades 1, como no caso acima. Sendo assim, a unidade de decodificação aritmética executa codificação aritmética no valor absoluto do terceiro valor de coeficiente L de modo a convertê-lo para o dado binário 01, usando a tabela de probabilidades 1. Neste caso, a unidade de decodificação aritmética, a partir da unidade de conversão de múltiplos valores 702, obtém 2, que é um valor múltiplo convertido a partir de tal dado binário 01, e julga que o valor absoluto é 2, que excede o valor absoluto 1, comuta da tabela de probabilidades 1 para a tabela de probabilidades 4, e utiliza a tabela de probabilidades 4 para executar decodificação aritmética no valor absoluto do quarto valor de coeficiente L codificado de modo a convertê-lo para o dado binário 0001. Com relação ao valor absoluto do quinto valor de coeficiente L e aos valores absolutos de seus valores de coeficiente codificados subsequentes, como existe um valor de coeficiente L com um valor absoluto superior a 1 em valores de coeficiente L que foram decodificados aritmeticamente e convertidos em múltiplos valores, a unidade de decodificação
33/47 aritmética executa decodificação aritmética no valor absoluto do quinto valor de coeficiente L e nos valores absolutos de todos os valores de coeficiente codificados subsequentes usando a tabela de probabilidades 4.
[00116] A seguir, é apresentada uma explicação para o caso em que os dados binários derivados do valor absoluto de um valor de coeficiente L codificado incluído em um fluxo de bits são constituídos por uma pluralidade de elementos, e é usada uma tabela de probabilidades diferente, na base de elemento por elemento, quando decodificação aritmética binária é executada em dados binários do valor absoluto de tal valor de coeficiente L codificado.
[00117] Por exemplo, quando os dados binários do valor absoluto de um valor de coeficiente L codificado são constituídos por dois elementos, a unidade de codificação aritmética, conforme mostra a figura 10, executa decodificação aritmética em um dos dois elementos nos dados binários codificados de modo a convertê-los em um valor numérico correspondente ao primeiro bit dos dados binários, mediante comutação entre as quatro tabelas de probabilidades 1 ~ 4 para uso. A seguir, a unidade de decodificação aritmética executa decodificação aritmética no outro elemento nos dados binários de modo a convertêlos em um valor numérico correspondente ao segundo bit dos dados binários e a cada um de seus bits subsequentes nos dados binários, mediante comutação entre as quatro tabelas de probabilidades T ~ 4' para uso, que são diferentes das quatro tabelas de probabilidades 1 ~ 4 mencionadas acima.
[00118] Neste caso, a tabela de probabilidades 1' corresponde à tabela de probabilidades 1, a tabela de probabilidades 2' corresponde à tabela de probabilidades 2, a tabela de probabilidades 3' corresponde à tabela de probabilidades 3, e a tabela de probabilidades 4' corresponde à tabela de probabilidades 4. Em outras palavras, como no
34/47 caso da modalidade preferida explicado com referência à figura 7, uma tabela de probabilidades a ser usada é mudada dependendo do valor máximo dos valores absolutos dos coeficientes codificados até o anterior, porém, ao realizar isto, uma tabela de probabilidades usada para codificar o primeiro bit e as tabelas de probabilidades usadas para codificar o segundo bit e daí para frente são mudadas ao mesmo tempo. [00119] Supõe-se que são usados o mesmo valor limite e os mesmos números das tabelas de probabilidades correspondentes a tal valor limite que aqueles usados para a modalidade preferida explicada com referência à figura 7. Neste caso, diferentemente do caso no qual todos os bits são codificados usando a mesma tabela de probabilidades, nas tabelas de probabilidades 1 e 2, a maior probabilidade de ocorrência de 1 é fixada em um valor elevado (a fim de se adaptar às entradas) e, nas tabelas de probabilidades 3 e 4, a maior probabilidade de ocorrência de 0 é fixada em um valor elevado. Similarmente, com referência às tabelas de probabilidades 1' ~ 4', nas tabelas de probabilidades 1' ~ 3', a maior probabilidade de ocorrência de 1 é fixada em um valor elevado (a fim de se adaptar às entradas), e, na tabela de probabilidades 4, a maior probabilidade de ocorrência de 0 é fixada em um valor elevado.
[00120] Neste caso, além dos dados binários serem divididos no primeiro bit e nos bits que se seguem, os dados binários podem também ser divididos em uma outra posição de bit, e podem também ser divididos em três ou mais por posições de bit. Além disto, em vez de usar o mesmo número de tabelas de probabilidades para cada uma das posições de bit divididas, é possível também, por exemplo, que seja usada uma pluralidade de tabelas de probabilidades para o primeiro bit e a mesma tabela de probabilidades seja usada para o segundo bit e para os bits subsequentes (ou seja, é usada a mesma tabela de probabilidades independentemente de coeficientes). Quando é
35/47 usado o mesmo número de tabelas de probabilidades para cada uma das posições de bit divididas, como no caso da realização mencionada acima, estas podem ser comutadas entre si de acordo com uma referência diferente (valor limite).
[00121] O aparelho de decodificação de imagem de acordo com a presente invenção foi explicado acima usando a presente modalidade e a variante, porém a presente invenção não está limitada às mesmas. [00122] Na presente modalidade e variante, por exemplo, é apresentada uma explicação para o caso em que é efetuada decodificação em um fluxo de bits que foi gerado por meio de codificação entre imagens, porém o mesmo efeito pode ser obtido também para o caso em que a decodificação é efetuada em um fluxo de bits que foi gerado por meio de codificação entre imagens mediante a execução de compensação de movimento e outros em uma imagem em movimento introduzida.
[00123] Além disto, na presente modalidade e variante, embora seja dada uma explicação para o caso em que um fluxo de bits no qual dados de imagem são codificados por divisão em blocos de pixels de 4 x 4 pixels em direções horizontal e vertical, um bloco de pixels pode possuir um tamanho diferente.
[00124] Além disto, na presente modalidade é dada uma explicação para o caso em que quatro tabelas de probabilidades são usadas e comutadas de acordo com a tabela de transição ilustrada na figura 7, e na variante é apresentada uma explicação para o caso em que duas tabelas de probabilidades são usadas e são comutadas de acordo com a tabela de transição ilustrada na figura 9, porém podem ser empregados valores diferentes como o número de tabelas de probabilidades e um valor limite para os valores absolutos de valores de coeficiente L quando as tabelas de probabilidades são comutadas conforme mostram as figuras 7 e 9.
36/47 [00125] Também na presente modalidade e variante, embora a figura 5B seja usada para explicar um método de efetuar varredura dentro de um bloco de coeficientes, pode também ser empregada uma outra ordem de varredura desde que seja a mesma que o método de varredura empregado na ocasião de codificação.
[00126] Outrossim, a figura 1 é apresentada como exemplo de uma tabela binária, porém uma outra tabela pode ser empregada desde que seja a mesma que a tabela binária usada na ocasião de codificação.
[00127] Além disto, embora seja apresentada na presente modalidade e variante uma explicação para o caso em que a unidade de decodificação aritmética 701 executa decodificação aritmética binária, em vez da mesma pode ser efetuada decodificação aritmética de múltiplos valores. Neste caso, é possível omitir a unidade de conversão de múltiplos valores 702.
(A Terceira modalidade) [00128] Se um programa para executar o método de codificação de comprimento variável ou o método de decodificação de comprimento variável conforme mostrado em cada uma das modalidades mencionadas acima for registrado em um suporte de gravação, tal como um disco flexível, torna-se possível efetuar facilmente, em um sistema de computador independente, o processamento apresentado em cada uma das modalidades acima.
[00129] As figuras 13A, 13B e 13C são diagramas que explicam um suporte de gravação que armazena um programa para executar o método de codificação de comprimento variável e o método de decodificação de comprimento variável executados pelo aparelho de codificação de imagem 100 e pelo aparelho de decodificação de imagem 600 de acordo com a primeira e a segunda modalidades.
[00130] A figura 13B mostra uma vista externa de um disco flexível
37/47
FD visto pela frente, uma vista em seção transversal esquemática e um corpo de disco FD1, enquanto a figura 13A ilustra um formato físico exemplificativo do corpo de disco FD1 como o próprio suporte de gravação.
[00131] O corpo de disco FD1 está contido em uma caixa F, e é formada uma pluralidade de trilhas Tr concentricamente na superfície do corpo de disco FD1 na direção de raio a partir da periferia, cada trilha estando dividida em 16 setores Se na direção angular. Consequentemente, no corpo de disco FD que armazena o programa mencionado acima, o método de codificação de comprimento variável ou o método de decodificação de comprimento variável à medida que tal programa é registrado em uma área alocada ao mesmo no corpo de disco FD1.
[00132] A figura 13C mostra a estrutura para registrar e ler de saída o programa no e a partir do corpo de disco FD.
[00133] Quando o programa é registrado no disco flexível FD, o método de codificação de comprimento variável ou o método de decodificação de comprimento variável à medida que tal programa é escrito com emprego do sistema de computador Cs através de uma unidade de disco flexível FDD. Enquanto isto, quando o método de codificação de comprimento variável ou o método de decodificação de comprimento variável é construído no sistema de computador Cs através do programa no disco flexível FD, o programa é lido de saída a partir do disco flexível FD através da unidade de disco flexível FDD, e é transferido para o sistema de computador Cs.
[00134] A explicação acima supõe que o suporte de gravação é um disco flexível FD, porém um disco ótico também pode ser usado. Além disto, o suporte de gravação não está limitado a isto, e qualquer outro suporte, tal como um cartão IC ou um cassete ROM capaz de registrar um programa, pode também ser usado.
38/47 [00135] (Quarta modalidade) [00136] A seguir serão explicadas aplicações do método de codificação de comprimento variável e do método de decodificação de comprimento variável mostrados nas modalidades acima, assim como um sistema que os emprega.
[00137] A figura 14 é um diagrama de blocos que mostra uma configuração global de um sistema de suprimento de conteúdo ex100 para executar um sistema de distribuição de conteúdo. A área para prover um sistema de comunicação está dividida em células do tamanho desejado, e estações de base ex107 ~ex110, que são estações sem fio fixas, são colocadas em células respectivas.
[00138] Neste sistema de suprimento de conteúdo ex100, dispositivos tais como um computador ex111, um PDA (Personal Digital Assistant) ex112, uma câmera ex113, um telefone celular ex114, e um telefone celular equipado com câmera ex115 são ligados respectivamente à Internet ex101 através de um provedor de serviços da Internet ex102, uma rede telefônica ex104 e estações de base ex107 ~ ex110. [00139] Entretanto, o sistema de suprimento de conteúdo ex100 não está limitado à combinação mostrada na figura 14, e pode ser ligado a uma combinação de qualquer dos mesmos. Além disto, cada um dos dispositivos pode ser ligado diretamente à rede telefônica ex104, e não através das estações de base ex107 ~ ex110, que são estações sem fio fixas.
[00140] A câmera ex113 é um dispositivo tal como uma câmera de vídeo digital capaz de filmar imagens em movimento. O telefone celular pode ser um telefone celular de um sistema PDC (Personal Digital Communication, um CDMA (Code Division Multiple Access, um sistema W-CDMA (Wideband- Code Division Multiple Access - ou um sistema GSM (Global System for Mobile Communications, um PHS (Personal Handyphone system ou semelhante, e pode ser qualquer um
39/47 dos mesmos.
[00141] Outrossim, um servidor em operação de arraste (streaming) ex103 está ligado à câmera ex113 através da estação de base ex109 e à rede telefônica ex104, o que possibilita distribuição ao vivo ou semelhante baseada em dados codificados transmitidos pelo usuário usando a câmera ex113. Ou a câmera ex113 ou um servidor e semelhantes capazes de processar transmissão de dados podem ser codificar os dados da imagem. Também, os dados de imagem em movimento pela câmera Cx 116 pode ser transmitidos para o servidor em operação de arraste ex103 através do computador ex111. A câmera ex116 é um dispositivo tal como uma câmera digital capaz de filmar imagens paradas e imagens em movimento. Neste caso, ou a câmera ex116 ou o computador ex111 pode codificar os dados de imagem em movimento. Um LSI ex117 incluído no computador ex111 ou na câmera ex116 efetua processamento de codificação. Cumpre notar que software para codificar e decodificar imagens pode ser integrado a um tipo determinado de suporte de armazenagem (tal como um CD-ROM, um disco flexível e um disco rígido) que é um suporte de gravação que pode ser lido pelo computador ex111 e semelhantes. Além disto, o telefone celular equipado com câmera ex115 pode transmitir os dados de imagem em movimento. Estes dados de imagem em movimento são codificados de dados por um LSI incluído no telefone celular ex115.
[00142] No sistema de suprimento de conteúdo ex100, um conteúdo (por exemplo, um vídeo de música ao vivo) que tenha sido filmado pelo usuário usando a câmera ex113, a câmera ex116 ou semelhante, é codificado da mesma maneira que nas modalidades descritas acima e transmitido para o servidor em operação de arraste ex103, e o servidor em operação de arraste ex103 efetua distribuição em fluxo dos dados de conteúdo para clientes a seu pedido. Os clientes incluem o
40/47 computador ex111, o PDA ex112, a câmera ex113, o telefone celular ex114 e assim por diante, capazes de decodificar os dados codificados acima. O sistema de suprimento de conteúdo ex100 com a estrutura acima é um sistema que possibilita aos clientes receberem e reproduzirem os dados codificados, e realiza difusão pessoal ao permitir que os mesmos recebam, decodifiquem e reproduzam os dados em tempo real. [00143] O aparelho de codificação de imagem e o aparelho de decodificação de imagem apresentados nas modalidades acima podem ser usados para codificação e decodificação a serem executadas em cada um dos dispositivos que constituem o sistema acima.
[00144] É apresentada uma explicação de um telefone celular como um exemplo.
[00145] A figura 15 é um diagrama que mostra um exemplo do telefone celular ex115 que emprega a codificação de comprimento variável e a decodificação de comprimento variável explicadas nas modalidades acima. O telefone celular ex115 possui uma antena ex201 para transmitir/receber ondas de rádio para e da estação de base ex110 através de ondas de rádio, uma unidade de câmera ex203 tal como uma câmera CCD capaz de filmar vídeo e imagens paradas, uma unidade de exibição ex202, tal como um mostrador de cristal líquido para visualizar os dados obtidos por decodificação de vídeo e semelhantes filmados pela unidade de câmera ex203 e vídeo e semelhantes recebidos pela antena ex201, um corpo principal que possui um conjunto de teclas de operação ex204, uma unidade de saída de voz ex208, tal como um alto-falante para emitir vozes, uma unidade de entrada de voz ex205, tal como um microfone, para receber vozes, um suporte de gravação ex207 para armazenar dados codificados ou dados decodificados, tais como dados de imagens em movimento ou paradas obtidas pela câmera, dados de e-mails recebidos e dados de imagens em movimento ou dados de imagens paradas, e uma unidade de encaixe
41/47 (slot) ex206 para possibilitar fixar o suporte de gravação ex207 ao telefone celular ex115. O suporte de gravação ex207 é realizado como um elemento de memória flash, um tipo de EEPROM (Electrically Erasable and Programmable Read Only Memory) que é uma memória nãovolátil que pode ser apagada e reescrita eletricamente, armazenado em um invólucro de plástico, tal como um cartão SD.
[00146] Agora, com referência à figura 16, é apresentada uma explicação do telefone celular ex115. No telefone celular ex115, uma unidade de controle principal ex311 para controlar centralmente a unidade de exibição ex202 e cada unidade do corpo principal que possui as teclas de operação ex204 é configurada de modo que uma unidade de circuito de suprimento de potência ex310, uma unidade de controle de entrada de operação ex304, uma unidade de codificação de imagem ex312, uma unidade de interface de câmera ex303, uma unidade de controle de LCD (Liquid Crystal Display) ex302, uma unidade de decodificação de imagem ex309, uma unidade de multiplexação/demultiplexação ex308, uma unidade de gravação/reprodução ex307, uma unidade de circuito modem ex306 e uma unidade de processamento de voz ex305 são interligadas através de um barramento síncrono ex313.
[00147] Quando uma tecla de fim de comunicação ou uma tecla de energização é ligada (ON) por uma operação de usuário, a unidade de circuito de suprimento de potência ex310 fornece energia a cada unidade de modo a ativar o telefone celular digital equipado com câmera ex115 para colocá-lo em um estado pronto.
[00148] No telefone celular ex115, a unidade de processamento de voz ex305 converte um sinal de voz recebido pela unidade de entrada de voz ex205 no modo de conversação para dado de voz digital sob o controle da unidade de controle principal ex311 constituída por uma CPU, uma ROM, uma RAM e outros, a unidade de circuito modem ex306 executa processamento de propagação de espectros na mes42/47 ma, e uma unidade de circuito de transmissão/recepção ex301 executa processamento de conversão de digital para analógico, e processamento de transformação de frequência nos dados, de modo a transmitir o resultado através de uma antena ex201. Além disto, no telefone celular ex115, um sinal recebido pela antena ex201 no modo de conversação é amplificado e submetido a processamento de transformação de frequência e a processamento de conversão de digital para analógico, a unidade de circuito modem ex306 executa processamento de propagação de espectros inversa no resultado, e a unidade de processamento de voz ex305 converte o mesmo para um sinal de voz analógico, de modo a emiti-lo através da unidade de saída de voz ex208.
[00149] Além disto, quando é enviado um e-mail no modo de comunicação de dados, os dados de texto do e-mail introduzido mediante a operação das teclas de operação ex204 no corpo principal são enviados para a unidade de controle principal ex311 através da unidade de controle de entrada de operação ex304. Na unidade de controle principal ex311, após a unidade de circuito modem ex306 executar processamento de propagação de espectros nos dados de texto, e a unidade de circuito de transmissão/recepção ex301 executar processamento de conversão de digital para analógico e processamento de transformação de frequência nos mesmos, o resultado é transmitido para a estação de base ex110 através da antena ex201.
[00150] Quando são transmitidos dados de imagem no modo de comunicação de dados, os dados de imagem obtidos pela unidade de interface de câmera ex203 são fornecidos à unidade de codificação de imagem ex312 através da unidade de interface de câmera ex303. Quando não for o caso de transmitir dados de imagem, é possível também exibir tais dados de imagem obtidos pela unidade de câmera ex203 diretamente na unidade de exibição ex202 através da unidade
43/47 de interface de câmera ex303 e da unidade de exibição ex202.
[00151] A unidade de codificação de imagem ex312, que inclui o aparelho de codificação de imagem de acordo com a presente invenção na sua configuração, executa codificação de compressão nos dados de imagem fornecidos pela unidade de câmera ex203 empregando o método de codificação usado pelo aparelho de codificação de imagem apresentado nas modalidades mencionadas acima, de modo a convertê-los em dados de imagem codificados, e os envia para a unidade de multiplexação/demultiplexação ex308. Neste momento, o telefone celular ex115 envia as vozes recebidas pela unidade de processamento de voz ex205, enquanto está sendo realizada a filmagem pela unidade de câmera ex203, para a unidade de multiplexação/demultiplexação ex308 como dados de voz digitais, através da unidade de processamento de voz ex305.
[00152] A unidade de multiplexação/demultiplexação ex308 multiplexa os dados de imagem codificados fornecidos a partir da unidade de codificação de imagem ex312 e os dados de voz fornecidos a partir da unidade de processamento de voz ex305 usando um método predeterminado, a unidade de circuito modem ex306 executa processamento de propagação de espectros nos dados multiplexados resultantes, e a unidade de circuito de transmissão/recepção ex301 executa processamento de conversão de digital para analógico e processamento de transformação de frequência no resultado, de modo a transmitir os dados processados através da antena ex201.
[00153] Ao receber, no modo de comunicação de dados, os dados incluídos em um arquivo de imagem em movimento que está ligado a uma página da Web ou semelhante, a unidade de circuito modem ex306 executa processamento de propagação de espectros inversa no sinal recebido da estação de base ex110 através da antena ex201, e envia os dados multiplexados resultantes para a unidade de multiple44/47 xação/demultiplexação ex308.
[00154] A fim de decodificar os dados multiplexados recebidos pela antena ex201, a unidade de multiplexação/demultiplexação ex308 separa os dados multiplexados em um fluxo de bits codificados de dados de imagem e em um fluxo de bits codificados de dados de voz, e fornece tais dados de imagem codificados à unidade de decodificação de imagem ex309, e tais dados de voz à unidade de processamento de voz ex305 através do barramento síncrono ex313.
[00155] A seguir, a unidade de decodificação de imagem ex309, que inclui o aparelho de decodificação de imagem de acordo com a presente invenção na sua configuração, decodifica o fluxo de bits codificados dos dados de imagem usando o método de decodificação formando par com o método de codificação conforme mostrado nas modalidades mencionadas acima, de modo a gerar dados de imagem em movimento para reprodução, e fornece tais dados para a unidade de exibição ex202 através da unidade de controle de LCD ex302. Sendo assim, os dados de imagem em movimento incluídos no arquivo de imagem em movimento que está ligado a uma página da Web, por exemplo, são exibidos. Ao mesmo tempo, a unidade de processamento de voz ex305 converte os dados de voz em um sinal de voz analógico, e em seguida fornece este sinal à unidade de saída de voz ex208. Com isto, os dados de voz incluídos no arquivo de imagem em movimento que está ligado a uma página da Web, por exemplo, são reproduzidos.
[00156] Cumpre notar que o sistema mencionado acima não é um exemplo exclusivo, e portanto que pelo menos ou o aparelho de codificação de imagem ou o aparelho de decodificação de imagem das modalidades acima pode ser incorporado a um sistema de difusão digital conforme mostra a figura 17, contra o cenário de que a difusão digital por satélite/terrestre tem sido um assunto de interesse recente. Mais
45/47 especificamente, em uma estação de difusão ex409, um fluxo de bits codificado de informações de vídeo é transmitido, por ondas de rádio, para um satélite ex410 para comunicações ou difusão. Ao recebê-lo, o satélite de difusão ex410 transmite ondas de rádio para difusão, uma antena ex406 de uma casa equipada com instalações de recepção de transmissão por satélite recebe tais ondas de rádio, e um aparelho tal como um televisor ex401 e uma caixa em cima do televisor (STP) ex407 decodifica o fluxo de bits codificado e reproduz os dados decodificados. O aparelho de decodificação de imagem mostrado nas modalidades mencionadas acima pode ser implementados no aparelho de reprodução ex403 para ler e decodificar o fluxo de bits codificado gravado em um suporte de armazenagem ex402 que é um suporte de gravação tal como um CD e um DVD. Neste caso, um sinal de vídeo reproduzido é exibido em um monitor ex404. Imagina-se também que o aparelho de decodificação de imagem é implementado na caixa em cima do televisor ex407 ligada a um cabo ex405 para televisão a cabo ou à antena ex406 para transmissão por satélite ou baseada na terra, de modo a reproduzi-la em um monitor de televisão ex408. Neste caso, o aparelho de decodificação de imagem pode ser incorporado na televisão, mas não na caixa em cima do televisor. Ou um carro ex412 com uma antena ex411 pode receber um sinal do satélite ex410, da estação de base ex107 ou semelhante, de modo a reproduzir uma imagem em movimento em um dispositivo de exibição tal como um sistema de navegação em carro ex413 montado no carro ex412. [00157] Além disto, é possível também codificar um sinal de imagem pelo aparelho de codificação de imagem em movimento apresentado nas modalidades acima, e registrar o resultado em um suporte de gravação. Os exemplos incluem um gravador de DVD que gravar um sinal de imagem em um disco de DVD ex421, e um gravador ex420 tal como um gravador de disco, para gravar um sinal de imagem em um
46/47 disco rígido. Outrossim, um sinal de imagem pode ser gravado em um cartão SD ex422. Caso o gravador ex420 esteja equipado com o aparelho de decodificação de imagem em movimento apresentado nas modalidades acima, ê possível reproduzir um sinal de imagem gravado em um disco de DVD ex421 ou no cartão SD ex422, e exibi-lo no monitor ex408.
[00158] Como a configuração do sistema de navegação em carro ex413, a configuração sem a unidade de câmera ex203 e a unidade de interface de câmera ex303, fora da configuração mostrada na figura 16, é concebível. O mesmo se aplica ao computador ex111, ao televisor ex401 (receptor) e semelhantes.
[00159] Com referência aos terminais tal como o telefone celular ex114, um terminal transmissor/receptor que possuí tanto um codificador como um decodificador, assim como um terminal transmissor com apenas um codificador e um terminal receptor com apenas um decodificador, são possíveis como formas de implementação.
[00160] Conforme mencionado anteriormente, ê possível empregar, em qualquer um dos dispositivos e sistemas descritos acima, o método de codificação de comprimento variável e o método de decodificação de comprimento variável apresentados nas modalidades acima. Sendo assim, torna-se possível obter um efeito explicado nas modalidades mencionadas acima.
[00161] Da invenção assim descrita, será óbvio que as modalidades da invenção podem variar de muitas maneiras. Tais variações não devem ser consideradas desvios do espírito e escopo da invenção, e pretende-se que todas estas modificações que seriam óbvias para aqueles versados na técnica façam parte do escopo das reivindicações que se seguem.
Utilização Industrial [00162] O método de codificação de comprimento variável e o mé47/47 todo de decodificação de comprimento variável de acordo com a presente invenção são adequados para emprego em um aparelho de codificação de imagem para codificar uma imagem em movimento, um aparelho de decodificação de imagem para decodificar uma imagem em movimento, e um sistema que incorpora estes aparelhos, tal como um sistema de suprimento de conteúdo para fornecer um trabalho digital e outro conteúdo, assim como um sistema de difusão digital.
1/4
Claims (10)
- REIVINDICAÇÕES1. Método de codificação para codificação aritmética, em uma base de blocos, coeficientes de frequência que são gerados por transformação de frequência realizada em dados de imagem de um bloco que tem um tamanho de pixels predeterminado, o método de codificação compreende:uma etapa de varredura de coeficientes (104) para varrer os coeficientes de um do bloco em uma ordem de varredura predeterminada que começa em um componente de frequência mais alta em direção a um componente de frequência mais baixa;uma etapa de codificação aritmética (104) para executar codificação aritmética em cada valor absoluto dos coeficientes de acordo com a ordem de varredura predeterminada pelo uso de uma pluralidade de tabelas de probabilidades; e uma etapa de comutação (104) para comutar uma tabela de probabilidades para uma nova tabela de probabilidades com base em um resultado de uma comparação de um valor absoluto de um coeficiente alvo codificado com um valor de limite predeterminado;caracterizado pelo fato de que, na etapa de comutação (104), a comutação entre uma pluralidade de tabelas de probabilidades é executada em uma direção de modo que cada tabela de probabilidades, que tenha sido utilizada antes da dita nova tabela de probabilidades, não é utilizada após a comutação para a dita nova tabela de probabilidades.
- 2. Método de codificação, de acordo com a reivindicação 1, caracterizado pelo fato de que, na etapa de comutação (104), a comutação para a nova tabela de probabilidades é executada após um número de coeficientes codificados tendo um valor absoluto superior a 1 se tornar um valor diferente de zero, e a comutação entre uma pluralidade de tabelas de probabilidades não é executada após a comutação2/4 para a nova tabela de probabilidades.
- 3. Método de codificação, de acordo com a reivindicação 1, caracterizado pelo fato de que, na etapa de codificação aritmética (104), cada valor absoluto dos coeficientes é convertido para dados binários, e a codificação aritmética é executada nos dados binários.
- 4. Método de codificação, de acordo com a reivindicação 3, caracterizado pelo fato de que, na etapa de codificação aritmética (104), a codificação aritmética é executada separadamente em uma parte e em uma outra parte dos dados binários, e uma tabela de probabilidades usada na codificação aritmética da dita uma parte dos dados binários e uma tabela de probabilidades usada na codificação aritmética da dita outra parte dos dados binários, são diferentes quando a codificação aritmética é executada nos dados binários.
- 5. Método de codificação, de acordo com a reivindicação 4, caracterizado pelo fato de que a dita uma parte dos dados binários é um primeiro bit dos dados binários e a dita outra parte dos dados binários é um bit que não seja o primeiro bit dos dados binários.
- 6. Método de decodificação para decodificação aritmética de um fluxo de bits que é obtido por codificação aritmética, em uma base de blocos, de coeficientes de uma disposição bidimensional de componentes de frequência em uma ordem de varredura predeterminada que começa em um componente de frequência mais alta em direção a um componente de frequência mais baixa, os ditos coeficientes sendo gerados por transformação de frequência executada nos dados de imagem de um bloco que tem um tamanho de pixels predeterminado, o método de decodificação compreende:uma etapa de decodificação aritmética (601) para decodificar aritmeticamente o fluxo de bits em cada valor absoluto dos coeficientes, em uma base de bloco, conforme uma ordem de varredura predeterminada que começa em um componente de frequência mais alta3/4 em direção a um componente de frequência mais baixa pelo uso de uma pluralidade de tabelas de probabilidades;uma etapa de comutação (601) para comutar uma tabela de probabilidades para uma nova tabela de probabilidades com base em um resultado de uma comparação de um valor absoluto de um coeficiente alvo decodificado com um valor de limite predeterminado; e uma etapa de organização de coeficientes (601) para organizar, em uma base de bloco, cada valor absoluto dos coeficientes na disposição bidimensional de componentes de frequência;caracterizado pelo fato de que, na etapa de comutação (601), a comutação entre uma pluralidade de tabelas de probabilidades é executada em uma direção de modo que cada tabela de probabilidades, que tenha sido utilizada antes da dita nova tabela de probabilidades, não é utilizada após a comutação para a dita nova tabela de probabilidades.
- 7. Método de decodificação, de acordo com a reivindicação 6, caracterizado pelo fato de que, na etapa de comutação (601), a comutação para a nova tabela de probabilidades é executada após um número de coeficientes decodificados tendo um valor absoluto superior a 1 se tornar um valor diferente de zero, e a comutação entre uma pluralidade de tabelas de probabilidades não é executada após a comutação para a nova tabela de probabilidades.
- 8. Método de decodificação, de acordo com a reivindicação 6, caracterizado pelo fato de que, na etapa de decodificação aritmética (601), os dados binários são obtidos na decodificação aritmética do fluxo de bits, e cada valor absoluto dos coeficientes é obtido através da conversão dos dados binários em dados de múltiplos valores.
- 9. Método de decodificação, de acordo com a reivindicação 8, caracterizado pelo fato de que, na etapa de decodificação aritmética (601), a decodificação aritmética é executada separadamente em uma4/4 parte e em uma outra parte dos dados binários, e uma tabela de probabilidades usada na decodificação aritmética da dita uma parte dos dados binários e uma tabela de probabilidades usada na decodificação aritmética da dita outra parte dos dados binários, são diferentes quando a decodificação aritmética é executada nos dados binários.
- 10. Método de decodificação, de acordo com a reivindicação 9, caracterizado pelo fato de que a dita uma parte dos dados binários é um primeiro bit dos dados binários e a dita outra parte dos dados binários é um bit que não seja o primeiro bit dos dados binários.1/17
Applications Claiming Priority (5)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2002126029 | 2002-04-26 | ||
| JP2002-126029 | 2002-04-26 | ||
| JP2002363107A JP4090862B2 (ja) | 2002-04-26 | 2002-12-13 | 可変長符号化方法および可変長復号化方法 |
| JP2002-363107 | 2002-12-13 | ||
| PCT/JP2003/004804 WO2003092298A1 (en) | 2002-04-26 | 2003-04-16 | Variable length encoding method and variable length decoding method |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| BRPI0304558B1 true BRPI0304558B1 (pt) | 2018-02-27 |
Family
ID=29272364
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BR0304558-7A BR0304558A (pt) | 2002-04-26 | 2003-04-16 | Método de codificação de comprimento variável e método de decodificação de comprimento variável |
| BRPI0304558-7A BRPI0304558B1 (pt) | 2002-04-26 | 2003-04-16 | "método de codificação para codificação aritmética e método de decodificação para decodificação aritmética" |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| BR0304558-7A BR0304558A (pt) | 2002-04-26 | 2003-04-16 | Método de codificação de comprimento variável e método de decodificação de comprimento variável |
Country Status (13)
| Country | Link |
|---|---|
| US (12) | US7742528B2 (pt) |
| EP (3) | EP1742482B1 (pt) |
| JP (1) | JP4090862B2 (pt) |
| KR (2) | KR101019358B1 (pt) |
| CN (5) | CN100380979C (pt) |
| AT (3) | ATE408962T1 (pt) |
| AU (1) | AU2003235172B2 (pt) |
| BR (2) | BR0304558A (pt) |
| CA (1) | CA2452175C (pt) |
| DE (3) | DE60317585T2 (pt) |
| ES (2) | ES2294768T3 (pt) |
| MX (1) | MXPA03011335A (pt) |
| WO (1) | WO2003092298A1 (pt) |
Families Citing this family (37)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4090862B2 (ja) * | 2002-04-26 | 2008-05-28 | 松下電器産業株式会社 | 可変長符号化方法および可変長復号化方法 |
| JP4368575B2 (ja) * | 2002-04-19 | 2009-11-18 | パナソニック株式会社 | 可変長復号化方法、可変長復号化装置およびプログラム |
| EP2346243B1 (en) * | 2004-08-31 | 2013-11-06 | Panasonic Corporation | Moving image encoding method and apparatus |
| JP4540585B2 (ja) | 2005-10-20 | 2010-09-08 | パナソニック株式会社 | 符号化装置及び復号化装置 |
| JP4902854B2 (ja) * | 2006-09-12 | 2012-03-21 | パナソニック株式会社 | 動画像復号化装置、動画像復号化方法、動画像復号化プログラム、動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像符号化復号化装置 |
| KR101260285B1 (ko) | 2006-11-27 | 2013-05-03 | 한국과학기술원 | 다원화된 확률 모형에 기반한 비.에스.에이.씨 산술 복호화방법 |
| CN101500159B (zh) * | 2008-01-31 | 2012-01-11 | 华为技术有限公司 | 一种图像熵编码、熵解码的方法及装置 |
| JP5258664B2 (ja) | 2009-04-14 | 2013-08-07 | 株式会社エヌ・ティ・ティ・ドコモ | 画像符号化装置、方法およびプログラム、並びに、画像復号装置、方法およびプログラム |
| EP2315358A1 (en) * | 2009-10-09 | 2011-04-27 | Thomson Licensing | Method and device for arithmetic encoding or arithmetic decoding |
| EP2491553B1 (en) | 2009-10-20 | 2016-10-12 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Audio encoder, audio decoder, method for encoding an audio information, method for decoding an audio information and computer program using an iterative interval size reduction |
| CN102754437B (zh) | 2009-10-29 | 2015-03-18 | 松下电器(美国)知识产权公司 | 图像编码方法、图像编码装置及集成电路 |
| JP5679980B2 (ja) * | 2009-11-02 | 2015-03-04 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置 |
| BR112012017256B1 (pt) | 2010-01-12 | 2021-08-31 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V | Codificador de áudio, decodificador de áudio, método de codificação e informação de áudio e método de decodificação de uma informação de áudio que utiliza uma tabela hash que descreve tanto valores de estado significativos como limites de intervalo |
| KR20140010192A (ko) | 2010-04-09 | 2014-01-23 | 미쓰비시덴키 가부시키가이샤 | 화상 부호화 장치 |
| EP3709646A1 (en) | 2010-04-13 | 2020-09-16 | GE Video Compression, LLC | Coding of significance maps and transform coefficient blocks |
| US9042440B2 (en) | 2010-12-03 | 2015-05-26 | Qualcomm Incorporated | Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding |
| US8976861B2 (en) | 2010-12-03 | 2015-03-10 | Qualcomm Incorporated | Separately coding the position of a last significant coefficient of a video block in video coding |
| US20120163456A1 (en) | 2010-12-22 | 2012-06-28 | Qualcomm Incorporated | Using a most probable scanning order to efficiently code scanning order information for a video block in video coding |
| US8755620B2 (en) * | 2011-01-12 | 2014-06-17 | Panasonic Corporation | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus for performing arithmetic coding and/or arithmetic decoding |
| US8687904B2 (en) | 2011-01-14 | 2014-04-01 | Panasonic Corporation | Image coding method, image coding apparatus, image decoding method, image decoding apparatus, and image coding and decoding apparatus which include arithmetic coding or arithmetic decoding |
| JP6002973B2 (ja) * | 2011-02-23 | 2016-10-05 | サン パテント トラスト | 画像符号化方法および画像復号方法 |
| US9106913B2 (en) | 2011-03-08 | 2015-08-11 | Qualcomm Incorporated | Coding of transform coefficients for video coding |
| US10397577B2 (en) | 2011-03-08 | 2019-08-27 | Velos Media, Llc | Inverse scan order for significance map coding of transform coefficients in video coding |
| JP5787135B2 (ja) | 2011-04-06 | 2015-09-30 | ソニー株式会社 | 画像処理装置および方法、プログラム、並びに、記録媒体 |
| US8805099B2 (en) * | 2011-06-22 | 2014-08-12 | Panasonic Intellectual Property Corporation Of America | Image decoding method and image coding method |
| US9167253B2 (en) | 2011-06-28 | 2015-10-20 | Qualcomm Incorporated | Derivation of the position in scan order of the last significant transform coefficient in video coding |
| US11647197B2 (en) * | 2011-06-30 | 2023-05-09 | Velos Media, Llc | Context initialization based on slice header flag and slice type |
| WO2013069246A1 (ja) | 2011-11-07 | 2013-05-16 | パナソニック株式会社 | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、および画像符号化復号装置 |
| EP3152907B1 (en) * | 2015-05-29 | 2021-01-06 | SZ DJI Technology Co., Ltd. | System and method for video processing |
| US20170180757A1 (en) * | 2015-12-18 | 2017-06-22 | Blackberry Limited | Binarizer selection for image and video coding |
| US11722677B2 (en) * | 2016-05-06 | 2023-08-08 | Interdigital Madison Patent Holdings, Sas | Method and system for decoder-side intra mode derivation for block-based video coding |
| KR102480191B1 (ko) | 2016-05-13 | 2022-12-21 | 브이아이디 스케일, 인크. | 비디오 코딩을 위한 일반화된 다중-가설 예측 시스템 및 방법 |
| WO2019147628A1 (en) | 2018-01-24 | 2019-08-01 | Vid Scale, Inc. | Generalized bi-prediction for video coding with reduced coding complexity |
| CN112399181B (zh) * | 2019-08-19 | 2022-08-26 | 华为技术有限公司 | 图像编解码的方法、装置和存储介质 |
| CN111726626B (zh) * | 2020-06-18 | 2022-05-03 | 格兰菲智能科技有限公司 | 集成电路及用于视频解码的概率表存储方法 |
| CN115209079B (zh) * | 2022-02-23 | 2023-05-02 | 北京拙河科技有限公司 | 一种适用于高速摄像机长时间存储数据的方法和设备 |
| CN114245133A (zh) * | 2022-02-23 | 2022-03-25 | 北京拙河科技有限公司 | 视频分块编码方法、编码传输方法、系统和设备 |
Family Cites Families (47)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US254583A (en) | 1882-03-07 | And carding curled horse hair | ||
| CA1296430C (en) * | 1986-11-10 | 1992-02-25 | Masahide Kaneko | Encoding system capable of accomplishing a high efficiency by anterior and/or posterior processing to quantization |
| US4813056A (en) * | 1987-12-08 | 1989-03-14 | General Electric Company | Modified statistical coding of digital signals |
| JPH04100390A (ja) | 1990-08-20 | 1992-04-02 | Hitachi Ltd | 高能率符号化方式 |
| JP3205028B2 (ja) | 1991-02-05 | 2001-09-04 | キヤノン株式会社 | 画像圧縮装置及びその方法 |
| US6546145B1 (en) * | 1991-02-05 | 2003-04-08 | Canon Kabushiki Kaisha | Image compression using selection of quantization method |
| JPH04315270A (ja) | 1991-04-15 | 1992-11-06 | Toshiba Corp | 符号化装置 |
| JP3016456B2 (ja) | 1992-06-15 | 2000-03-06 | 日本電信電話株式会社 | 適応的可変長符号化方法 |
| JPH06178282A (ja) | 1992-12-02 | 1994-06-24 | Mitsubishi Electric Corp | 画像の符号化装置 |
| US5400075A (en) * | 1993-01-13 | 1995-03-21 | Thomson Consumer Electronics, Inc. | Adaptive variable length encoder/decoder |
| JP3278948B2 (ja) | 1993-02-05 | 2002-04-30 | 日本電信電話株式会社 | 可変長符号化方法 |
| JP3277425B2 (ja) | 1993-03-19 | 2002-04-22 | ソニー株式会社 | ディジタル信号の符号化方法、符号化用テーブル生成方法、符号化装置及び符号化方法 |
| US5510785A (en) * | 1993-03-19 | 1996-04-23 | Sony Corporation | Method of coding a digital signal, method of generating a coding table, coding apparatus and coding method |
| JP3210996B2 (ja) * | 1993-07-30 | 2001-09-25 | 三菱電機株式会社 | 高能率符号化装置及び高能率復号化装置 |
| JPH0759086A (ja) | 1993-07-30 | 1995-03-03 | Canon Inc | 画像処理装置 |
| JP2836467B2 (ja) * | 1993-12-16 | 1998-12-14 | 日本電気株式会社 | 2値シンボルの符号化・復号化回路 |
| JP3305140B2 (ja) | 1994-12-28 | 2002-07-22 | キヤノン株式会社 | 符号化装置及び方法 |
| US5883976A (en) | 1994-12-28 | 1999-03-16 | Canon Kabushiki Kaisha | Selectively utilizing multiple encoding methods |
| JP3624450B2 (ja) | 1995-02-06 | 2005-03-02 | ソニー株式会社 | 画像データ符号化方法及び画像データ符号化装置 |
| US6104754A (en) * | 1995-03-15 | 2000-08-15 | Kabushiki Kaisha Toshiba | Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system |
| JPH08256266A (ja) * | 1995-03-17 | 1996-10-01 | Mitsubishi Electric Corp | 画像符号化方式 |
| JP3114796B2 (ja) | 1995-09-11 | 2000-12-04 | 松下電器産業株式会社 | 可変長符号化装置及び方法 |
| KR970019653A (ko) | 1995-09-11 | 1997-04-30 | 원본미기재 | 가변 부호화 장치 및 방법 |
| US6571019B1 (en) * | 1995-10-26 | 2003-05-27 | Hyundai Curitel, Inc | Apparatus and method of encoding/decoding a coded block pattern |
| JPH09307901A (ja) | 1996-05-13 | 1997-11-28 | Toshiba Corp | 映像信号処理装置 |
| KR100335622B1 (ko) * | 1996-06-30 | 2002-11-20 | 삼성전자 주식회사 | 위치적확률모형을이용한문법기반의적응식산술부호화기및/또는복호화기및이를이용한고능률영상부호화기및/또는복호화기 |
| TW366669B (en) * | 1996-10-30 | 1999-08-11 | Matsushita Electric Industrial Co Ltd | Picture encoding device and picture encoding method, picture decoding device and picture decoding method, and data recording media |
| JP4034380B2 (ja) * | 1996-10-31 | 2008-01-16 | 株式会社東芝 | 画像符号化/復号化方法及び装置 |
| KR100469176B1 (ko) * | 1996-11-06 | 2005-02-02 | 마쯔시다덴기산교 가부시키가이샤 | 화상 부호화 방법 |
| US5995148A (en) * | 1997-02-14 | 1999-11-30 | At&T Corp | Video coder having scalar dependent variable length coder |
| US6081213A (en) * | 1997-03-26 | 2000-06-27 | Sony Corporation | Method and apparatus for arithmetic coding, method and apparatus for arithmetic decoding, and storage medium |
| KR100281328B1 (ko) * | 1998-01-30 | 2001-02-01 | 전주범 | 콘텍스트 기반 산술 부호화/복호화 방법 및 장치 |
| JPH11243343A (ja) | 1998-02-25 | 1999-09-07 | Victor Co Of Japan Ltd | 可変長符号化方法、可変長復号化方法、及び可変長符号記録媒体 |
| JPH11341497A (ja) | 1998-05-29 | 1999-12-10 | Matsushita Electric Ind Co Ltd | 画像符号化復号化装置及び、画像符号化復号化方法 |
| JP4160689B2 (ja) * | 1998-11-10 | 2008-10-01 | 株式会社リコー | 算術符号化装置および算術復号装置 |
| US6681049B1 (en) * | 1999-05-20 | 2004-01-20 | Matsushita Electric Industrial Co., Ltd. | Image encoding method and apparatus |
| JP2001024515A (ja) * | 1999-07-07 | 2001-01-26 | Sony Corp | 信号処理方法及び装置 |
| JP3603000B2 (ja) * | 2000-02-01 | 2004-12-15 | カネボウ株式会社 | ハフマン符号化装置、ハフマン符号化方法およびハフマン符号化処理プログラムを記録した記録媒体 |
| TW515192B (en) * | 2000-06-06 | 2002-12-21 | Noa Kk Off | Compression method of motion picture image data and system there for |
| US6882751B2 (en) * | 2000-06-14 | 2005-04-19 | Canon Kabushiki Kaisha | Arithmetic decoding method and device and storage medium |
| US6888893B2 (en) * | 2001-01-05 | 2005-05-03 | Microsoft Corporation | System and process for broadcast and communication with very low bit-rate bi-level or sketch video |
| JP4315270B2 (ja) | 2001-01-24 | 2009-08-19 | 旭精工株式会社 | コインホッパ |
| US6856701B2 (en) * | 2001-09-14 | 2005-02-15 | Nokia Corporation | Method and system for context-based adaptive binary arithmetic coding |
| US7026960B2 (en) * | 2001-11-27 | 2006-04-11 | Samsung Electronics Co., Ltd. | Method and apparatus for encoding and decoding key data |
| US7099387B2 (en) * | 2002-03-22 | 2006-08-29 | Realnetorks, Inc. | Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses |
| JP4090862B2 (ja) * | 2002-04-26 | 2008-05-28 | 松下電器産業株式会社 | 可変長符号化方法および可変長復号化方法 |
| JP4100390B2 (ja) | 2004-10-07 | 2008-06-11 | 三菱自動車工業株式会社 | 車両の前部車体構造 |
-
2002
- 2002-12-13 JP JP2002363107A patent/JP4090862B2/ja not_active Expired - Lifetime
-
2003
- 2003-04-16 ES ES06122527T patent/ES2294768T3/es not_active Expired - Lifetime
- 2003-04-16 AU AU2003235172A patent/AU2003235172B2/en not_active Expired
- 2003-04-16 WO PCT/JP2003/004804 patent/WO2003092298A1/ja not_active Ceased
- 2003-04-16 BR BR0304558-7A patent/BR0304558A/pt active IP Right Grant
- 2003-04-16 DE DE2003617585 patent/DE60317585T2/de not_active Expired - Lifetime
- 2003-04-16 KR KR1020087008885A patent/KR101019358B1/ko not_active Expired - Lifetime
- 2003-04-16 CN CNB038005182A patent/CN100380979C/zh not_active Expired - Lifetime
- 2003-04-16 CN CNB2007100970578A patent/CN100542296C/zh not_active Expired - Lifetime
- 2003-04-16 DE DE2003612620 patent/DE60312620T2/de not_active Expired - Lifetime
- 2003-04-16 EP EP20060122527 patent/EP1742482B1/en not_active Expired - Lifetime
- 2003-04-16 EP EP20070112935 patent/EP1843596B1/en not_active Expired - Lifetime
- 2003-04-16 US US10/481,277 patent/US7742528B2/en not_active Expired - Lifetime
- 2003-04-16 EP EP20030720906 patent/EP1401213B1/en not_active Expired - Lifetime
- 2003-04-16 DE DE60323698T patent/DE60323698D1/de not_active Expired - Lifetime
- 2003-04-16 CA CA2452175A patent/CA2452175C/en not_active Expired - Lifetime
- 2003-04-16 BR BRPI0304558-7A patent/BRPI0304558B1/pt unknown
- 2003-04-16 KR KR20037013809A patent/KR100979604B1/ko not_active Expired - Lifetime
- 2003-04-16 MX MXPA03011335A patent/MXPA03011335A/es active IP Right Grant
- 2003-04-16 AT AT07112935T patent/ATE408962T1/de not_active IP Right Cessation
- 2003-04-16 AT AT06122527T patent/ATE378781T1/de not_active IP Right Cessation
- 2003-04-16 AT AT03720906T patent/ATE357816T1/de not_active IP Right Cessation
- 2003-04-16 CN CNB2007100970563A patent/CN100542295C/zh not_active Expired - Lifetime
- 2003-04-16 ES ES03720906T patent/ES2281640T3/es not_active Expired - Lifetime
- 2003-04-16 CN CN2008100834099A patent/CN101242537B/zh not_active Expired - Lifetime
- 2003-04-16 CN CNB2007100970582A patent/CN100542297C/zh not_active Expired - Lifetime
-
2007
- 2007-10-25 US US11/976,549 patent/US8098736B2/en not_active Expired - Lifetime
-
2010
- 2010-02-23 US US12/710,673 patent/US8005146B2/en not_active Expired - Lifetime
- 2010-02-23 US US12/710,731 patent/US7970059B2/en not_active Expired - Lifetime
-
2011
- 2011-06-14 US US13/159,827 patent/US8284841B2/en not_active Expired - Fee Related
-
2012
- 2012-09-05 US US13/603,821 patent/US8804838B2/en not_active Expired - Lifetime
-
2014
- 2014-07-07 US US14/324,749 patent/US9191666B2/en not_active Expired - Fee Related
-
2015
- 2015-10-09 US US14/879,524 patent/US9497467B2/en not_active Expired - Fee Related
- 2015-10-09 US US14/879,582 patent/US9521415B2/en not_active Expired - Fee Related
-
2016
- 2016-10-19 US US15/297,809 patent/US9794567B2/en not_active Expired - Fee Related
-
2017
- 2017-09-13 US US15/703,103 patent/US10349054B2/en not_active Expired - Lifetime
- 2017-09-13 US US15/703,124 patent/US10356412B2/en not_active Expired - Lifetime
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CA2452175C (en) | Variable length coding method and variable length decoding method | |
| EP1742483B1 (en) | Variable length decoding method | |
| JP4091107B1 (ja) | 可変長符号化装置および画像符号化装置 | |
| AU2008201315B2 (en) | Variable length coding method and variable length decoding method | |
| JP4091074B2 (ja) | 可変長符号化方法および可変長復号化方法 |