BRPI0718239B1 - processo de codificação de fonte de informação, processo de decodificação de fonte de informação, aparelho e codificação de fonte de informação e aparelho de decodificação de fonte de informação - Google Patents

processo de codificação de fonte de informação, processo de decodificação de fonte de informação, aparelho e codificação de fonte de informação e aparelho de decodificação de fonte de informação Download PDF

Info

Publication number
BRPI0718239B1
BRPI0718239B1 BRPI0718239A BRPI0718239A BRPI0718239B1 BR PI0718239 B1 BRPI0718239 B1 BR PI0718239B1 BR PI0718239 A BRPI0718239 A BR PI0718239A BR PI0718239 A BRPI0718239 A BR PI0718239A BR PI0718239 B1 BRPI0718239 B1 BR PI0718239B1
Authority
BR
Brazil
Prior art keywords
integer
information source
dimensional
mapping
integers
Prior art date
Application number
BRPI0718239A
Other languages
English (en)
Inventor
Takamura Seishi
Original Assignee
Nippon Telegraph & Telephone
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph & Telephone filed Critical Nippon Telegraph & Telephone
Publication of BRPI0718239A2 publication Critical patent/BRPI0718239A2/pt
Publication of BRPI0718239B1 publication Critical patent/BRPI0718239B1/pt

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/41Bandwidth or redundancy reduction
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals

Landscapes

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

Abstract

processo de codificação de fonte de informação, processo de decodificação de fonte de informação, aparelho e codificação de fonte de informação e aparelho de decodificação de fonte de informação a presente invenção refere-se a um processo de codificação de fonte de informação para codificar um sinal de número inteiro gaussiano inclui as etapas de: introduzir uma sequência de valor de sinal de um sinal de número inteiro gaussiano como um alvo de codificação; transformar os valores de sinal incluídos na sequência de valor de sinal de entrada em pares de números inteiros, cada qual tendo dois inteiros, dispostos na ordem de entrada; considerar cada um dos pares de números inteiros como um ponto da malha nas coordenadas bidimensionais e obter valores inteiros maiores do que ou iguais a zero pela realização de um mapeamento de bidimensional para unidimensional em que quanto mais curta a distância de cada ponto da malha até a origem, menor o valor atribuído ao ponto da malha pelo mapeamento; e codificar os valores inteiros usando códigos que são usados para codificar uma fonte de informação que segue uma distribuição exponencial.

Description

Relatório Descritivo da Patente de Invenção para PROCESSO DE CODIFICAÇÃO DE FONTE DE INFORMAÇÃO, PROCESSO DE DECODIFICAÇÃO DE FONTE DE INFORMAÇÃO, APARELHO E CODIFICAÇÃO DE FONTE DE INFORMAÇÃO E APARELHO DE DECODIFICAÇÃO DE FONTE DE INFORMAÇÃO.
Campo Técnico [001] A presente invenção refere-se a um processo de codificação de sinal de imagem para fácil e eficientemente codificar um sinal de imagem que representa um sinal de número inteiro gaussiano; um processo de decodificação de sinal de imagem para decodificar os dados codificados gerados pelo processo de codificação de sinal de imagem; um processo de codificação de fonte de informação para fácil e eficientemente codificar um sinal de número inteiro gaussiano e um aparelho correspondente; um processo de decodificação de fonte de informação para decodificar os dados codificados gerados pelo processo de codificação de fonte de informação e um aparelho correspondente; um programa de codificação de fonte de informação para implementar o processo de codificação de fonte de informação e um meio de armazenagem legível de computador que armazena o programa; e um programa de decodificação de fonte de informação para implementar o processo de decodificação de fonte de informação e um meio de armazenagem legível de computador que armazena o programa.
[002] A prioridade é reivindicada no Pedido de Patente Japonesa
N° 2006-307512, depositado em 14 de novembro de 2.006, cujos teores são incorporados aqui como referência.
Técnica Antecedente [003] Um sinal gaussiano é um sinal cuja probabilidade de geração segue uma distribuição normal (também denominado distribuição gaussiana), em que a distribuição normal aparece em várias cenas
Petição 870190087240, de 05/09/2019, pág. 5/45
2/33 nos campos matemáticos e de engenharia e assim é uma distribuição extremamente importante.
[004] É admitido que um sinal gaussiano como um alvo de codificação aqui possui valores de sinal de inteiro. Adicionalmente, em geral, é admitido que a média do sinal é zero e os valores de sinal são iid (independente e identicamente distribuído).
[005] Muitos processos para codificar um sinal inteiro são conhecidos. Por exemplo, códigos de Golomb são amplamente usados pelos quais um sinal que segue uma distribuição exponencial (que pode ser denominado de distribuição de Laplacian ou distribuição geométrica, e é uma distribuição exponencial bilateral a mesmo que afirmado de outro modo) pode ser eficientemente codificado sem usar uma tabela para codificação ou decodificação, em que os códigos podem ser muito facilmente processados e instantaneamente decodificados. Em adição, qualquer valor de entrada de inteiro grande pode ser codificado usando os códigos de Golomb.
[006] A representação de código dos códigos de Golomb varia dependendo do parâmetro de código de Golomb (denominado g aqui) que possui um valor de inteiro maior do que ou igual a l.
[007] A Tabela na figura 20 mostra os códigos de Golomb (parâmetro de código de Golomb g=1,...,6) correspondente ao inteiro z=0,...,
10. Os códigos de Golomb possui uma relação para cada parâmetro de código g, de tal modo que quando o valor do inteiro z (a ser codificado) aumenta pelo valor de g, a extensão do código aumenta em 1).
[008] Como o aumento da extensão do código é moderado de acordo com o aumento no parâmetro de código de Golomb g, um relativamente grande valor do parâmetro de código de Golomb g é apropriado para codificar uma distribuição suave. Em contraste, a medida que a extensão do código torna-se rápida de acordo com a redução no parâmetro de código de Golomb g, um relativamente pequeno valor do
Petição 870190087240, de 05/09/2019, pág. 6/45
3/33 parâmetro de código de Golomb g é apropriado para codificar uma distribuição pronunciada que converge em zero.
[009] Em um sinal de imagem, uma diferença no brilho entre pixels que são adjacentes temporária ou espacialmente ou um coeficiente de transformação ortogonal do valor de brilho de cada pixel é um exemplo do sinal que segue a distribuição exponencial e os códigos de Golomb podem ser usados para codificação de tal sinal.
[0010] Por outro lado, os códigos de Huffman utilizam uma tabela de código, podem ser instantaneamente decodificados e a quantidade média de seu código é mais curta (isto é, códigos compactos) entre todos os códigos de extensão variável. Adicionalmente, os códigos aritméticos podem comprimir uma fonte de sinal estático para um limite lógico (que pode ser superior em comparação com os códigos compactos) pelo uso de um processo diferente daquele usado pelos códigos de extensão variável.
[0011] O documento de patente l como mostrado mais adiante relata sobre uma invenção para quantização de vetor de uma quantidade indicativa de uma imagem de acordo com uma árvore de busca binária usando uma rede neural e esta invenção refere-se à uma técnica para codificar uma imagem por meio de códigos de Huffman dinâmicos.
[0012] A figura 21 mostra distribuições de frequência da distribuição normal e da distribuição exponencial, em que a média é 0 e a dispersão é 16. O eixo vertical mostra a probabilidade da frequência e o logaritmo é usado de modo a mostrar ambas as partes finais de cada distribuição em uma maneira facilmente compreensível. Como mostrado na figura 21, na escala de logaritmo vertical, a distribuição normal possui uma forma parabólica e a distribuição exponencial possui uma forma triangular.
[0013] A fim de codificar tal distribuição de inteiro bilateralmente simétrica, cada valor deverá ser convertido em um inteiro maior do que
Petição 870190087240, de 05/09/2019, pág. 7/45
4/33 ou igual a zero usando, na maioria das vezes, um processo de representar cada valor usando informação de sinal (positivo/negativo) e informação de valor absoluto separadamente ou uma conversão relativamente simples como mostrada abaixo.
[0014] Quando os valores antes e após a conversão acima são, respectivamente, indicados por a e b, a conversão é representada como:
b = 2a-1 quando a>0 b = 2a quando a<0 [0015] De acordo com tal conversão, a = -3, -2, -1, 0, 1, 2, 3 são convertidos respectivamente em b = 6, 4, 2, l, 3, 5.
[0016] Quando os códigos de Golomb são usados para codificar um sinal gaussiano, a eficiência de codificação é consideravelmente degradada em comparação com os códigos de Huffman e os códigos aritméticos. Isto é um problema essencial causado porque a probabilidade de geração de sinal admitida para os códigos de Golomb não segue uma distribuição normal, porém segue uma distribuição exponencial.
[0017] Similar aos códigos de Golomb, existem muitos tipos de códigos que não necessitam de uma tabela de código e podem ser códigos de Fibonacci, códigos de Elias ou códigos de Exp-Golomb. Todavia, não existem códigos aos quais uma pressuposição que a probabilidade de geração de sinal segue a distribuição normal é aplicada.
[0018] O Documento Não-Patente 1 (mostrado mais adiante) descreve na página 8 que contrário ao que acontece para distribuições geométricas e geométricas de dois lados, não há código instantâneo, simples, para a distribuição normal. Isto é, não há nenhum código ao qual uma pressuposição que a probabilidade de geração de sinal segue a distribuição normal é aplicada.
Petição 870190087240, de 05/09/2019, pág. 8/45
5/33 [0019] Portanto, se a eficiência de codificação for prioridade dada na codificação de um sinal gaussiano, convencionalmente, os códigos de Huffman ou códigos aritméticos têm sido usados.
[0020] Todavia, isto também apresenta os seguintes problemas:
(i) Os códigos aritméticos requerem uma tabela de frequência, que não é requerida pelos códigos de Golomb tanto no codificador como no decodificador.
(ii) Os códigos de Huffman requerem uma tabela de código ou uma tabela de frequência, que não é requerida pelos códigos de Golomb, tanto no codificador como no decodificador.
(iii) É necessário para ambos os tipos de códigos determinar previamente uma faixa em que a codificação de cada valor de entrada não pode ser realizada sem um processo de exceção, isto é, para detectar uma faixa de valor de entrada.
(IV) Para ambos os tipos de códigos, a quantidade de processamento é maior do que aquela dos códigos de Golomb, em que a quantidade de processamento dos códigos aritméticos é particularmente grande.
[0021] Em adição, o Documento Não-patente 2 mostrado abaixo propõe códigos de Golomb híbridos pelo que uma fonte de sinal gaussiano generalizada pode ser instantaneamente decodificada. Embora seja possível codificar e decodificar qualquer valor de entrada de inteiro neste caso, é requerida uma estrutura complexa e visa uma distribuição que seja mais pronunciada do que a distribuição exponencial mais pronunciada do que a distribuição normal.
[0022] Adicionalmente, se a facilidade do processamento de codificação for prioridade dada na codificação de um sinal gaussiano, convencionalmente, como mostrado no Documento Não-patente l, os códigos de Golomb têm sido usados no custo da eficiência da codificação. Todavia este caso apresenta um problema que a otimização do
Petição 870190087240, de 05/09/2019, pág. 9/45
6/33 parâmetro de código Golomb é necessária.
[0023] Documento de Patente 1:Pedido de Patente Japonesa NãoExaminado, Primeira Publicação N° 2001-5967 [0024] Documento Não-patente 1:P Boldi, S Vigna: Compressed perfect embedded skip lists for quick inverted-index lookups, Proceedings of String Processing and Information Retrieval, 12a Conferência Internacional, pp. 1-15, 2005 [0025] Documento Não-patente 2: S Xue, Y Xu, B Oelmann:
[0026] Hybrid Golomb codes for a group of quantised GG sources, IEE Proceedings, Vision Image and Signal Processing, Vol. l50, n°4, pp. 256-260, 2003
Descrição da Invenção
Problema a ser Solucionado pela Invenção [0027] Embora códigos universais codifiquem eficientemente vários tipos de fontes de sinal gerais tais como imagens e vozes, que seguem a distribuição normal, não existem códigos aos quais uma pressuposição que a probabilidade de geração de sinal segue a distribuição normal seja aplicada,como mostrado no Documento Não-patente 1.
[0028] Portanto, a codificação do sinal gaussiano pelo uso dos códigos de Golomb pode ser antecipada.
[0029] Como acima descrito, um sinal que segue a distribuição exponencial pode ser eficientemente codificado usando códigos; nenhuma tabela para codificação e decodificação é necessária para os códigos de Golomb; os códigos de Golomb podem ser muito facilmente processados e instantaneamente decodificados; e ainda, qualquer valor de entrada de inteiro maior pode ser codificado pelos códigos de Golomb.
[0030] Todavia, uma probabilidade de geração de sinal da distribuição exponencial é atribuída como uma admissão aos códigos de
Golomb. Portanto, se um sinal de Gaussin for codificado usando os
Petição 870190087240, de 05/09/2019, pág. 10/45
7/33 códigos de Golomb, a eficiência de codificação é consideravelmente degradada em comparação com aquela dos códigos de Huffman ou códigos aritméticos.
[0031] Portanto, convencionalmente, quando codificar um sinal de
Gaussin, os códigos de Huffman ou códigos aritméticos são usados.
[0032] Todavia, quando usar os códigos de Huffman ou códigos aritméticos, existem problemas tais que uma tabela de frequência, que não é requerida pelos códigos de Golomb, é necessária; a faixa do valor de entrada deverá ser determinada previamente; e a quantidade de processamento é maior do que os códigos de Golomb.
[0033] Em consideração dos problemas acima, o Documento Nãopatente 2 propõe os códigos de Golomb híbridos. Todavia, este caso requer uma estrutura complexa e visa uma distribuição que é mais pronunciada do que a distribuição exponencial mais pronunciada do que a distribuição normal.
[0034] Em adição, o Documento Não-patente 1 dá prioridade à facilidade do processo de codificação e utiliza os códigos de Golomb pela otimização do parâmetro de código de Golomb, sem considerar a eficiência de codificação. Todavia, neste caso, a eficiência de codificação é degradada em comparação com os códigos de Huffman ou códigos aritméticos e é necessário otimizar o parâmetro de código de Golomb.
[0035] A luz das circunstâncias acima, um objetivo da presente invenção é proporcionar novas técnicas de codificação e decodificação de fonte de informação para fácil e eficientemente codificar e decodificar um sinal de número inteiro gaussiano.
Meios para Solucionar Problema (1) Aparelho de codificação da fonte de informação da presente invenção [0036] A fim de fácil e eficientemente codificar um sinal de número
Petição 870190087240, de 05/09/2019, pág. 11/45
8/33 inteiro gaussiano, o aparelho de codificar fonte de informação da presente invenção inclui: (i)um dispositivo de entrada para introduzir uma sequência de valor de um sinal de número inteiro gaussiano como um alvo de codificação; (ii) um dispositivo de conversão de par de inteiro para transformar os valores de sinal incluídos na sequência de valor de sinal (introduzido pelo dispositivo de entrada) em pares de inteiro, cada qual tendo dois inteiros, dispostos na ordem de entrada; (iii) um dispositivo de mapeamento para considerar cada um dos pares de inteiro (obtidos pela conversão de dispositivo de conversão de par de inteiro) como um ponto da malha nas coordenadas bidimensionais, e, obter valores inteiros maiores do que ou igual a zero pela realização de um mapeamento de bidimensional para unidimensional em que quanto mais curta a distância de cada ponto da malha até a origem, menor o valor atribuído ao ponto da malha pelo mapeamento ; e (iv)um dispositivo codificador para codificar os valores inteiros (obtidos pelo dispositivo de mapeamento) usando códigos que são usados para codificação de uma fonte de informação que segue uma distribuição exponencial.
[0037] Na estrutura acima, o dispositivo de codificação pode codificar os valores inteiros (obtidos pelo dispositivo de mapeamento) usando códigos de Golomb que são apropriados para codificar uma fonte de informação que segue uma distribuição exponencial. Em tal caso, a fim de automaticamente instalar um parâmetro de código de Golomb, o aparelho pode ainda incluir: (i) um dispositivo de computação de dispersão para computar uma dispersão dos valores de sinal introduzidos pelo dispositivo de entrada; e (ii) um dispositivo de determinação de parâmetro de código para determinar um parâmetro de código dos códigos de Golomb, que possui um valor em proporção à dispersão computada pelo dispositivo de computação de dispersão.
[0038] O aparelho de codificação de fonte de informação da prePetição 870190087240, de 05/09/2019, pág. 12/45
9/33 sente invenção pode ter um alvo de codificação que é um sinal de imagem indicando um sinal de número inteiro gaussiano. Em tal caso, o aparelho de codificação de fonte de informação da presente invenção funciona como um aparelho de codificação de sinal de imagem.
[0039] O processo de codificação de fonte de informação da presente invenção, que é implementado quando o dispositivo acima opera, pode também ser implementado por um programa de computador. Tal programa de computador pode ser provido por armazená-lo em um meio de armazenagem legível de computador apropriado ou por meio de uma rede, e pode ser instalado e operado em um dispositivo de controle tal como uma CPU de modo a implementar a presente invenção.
(2) Aparelho de decodificação de fonte de informação da presente invenção [0040] A fim de decodificar os dados codificados gerados pelo aparelho de codificação de fonte de informação da presente invenção, o aparelho de decodificação da fonte de informação da presente invenção inclui: (i)um dispositivo de decodificação para decodificar os valores inteiros pela decodificação de seus dados decodificados, que são gerados pelo aparelho de codificação de fonte de informação da presente invenção; (ii) um dispositivo de restauração para restaurar os pares de inteiros (que foram mapeados para obter os valores inteiros) pela sujeição dos valores inteiros (decodificados pelo dispositivo de decodificação) a um mapeamento unidimensional para bidimensional, que é um mapeamento inverso do mapeamento bidimensional para unidimensional usado pelo aparelho de codificação de fonte de informação da presente invenção; e (iv) um dispositivo de saída para emitir inteiros que formam cada par de inteiro (restaurado pelo dispositivo de restauração), do primeiro elemento para o seu segundo elemento.
[0041] Para a estrutura acima, se o aparelho de codificação de
Petição 870190087240, de 05/09/2019, pág. 13/45
10/33 fonte de informação da presente invenção gerar dados codificados dos valores inteiros usando os códigos de Golomb, o dispositivo de decodificação decodifica os dados dos valores inteiros pela decodificação dos correspondentes códigos de Golomb.
[0042] Também para a estrutura acima, se o aparelho de codificação da fonte de informação da presente invenção determinar um parâmetro de código dos códigos de Golomb, que tem um valor em proporção a uma dispersão dos valores de sinal do alvo de codificação, então o aparelho de decodificação ainda inclui um dispositivo de entrada de parâmetro de código de Golomb para introduzir um parâmetro de código de Golomb como acima determinado, como parâmetro de código de Golomb usado para a decodificação.
[0043] Se o aparelho de codificação de fonte de informação da presente invenção gerar dados codificados de um alvo de codificação que é um sinal de imagem indicando um sinal de número inteiro gaussiano, então, o aparelho de decodificação de fonte de informação da presente invenção funciona como um aparelho de decodificação de sinal de imagem.
[0044] O processo de decodificação de fonte de informação da presente invenção, que é implementado quando os dispositivos acima são operados, pode também ser implementado por um programa de computador. Tal programa de computador pode ser provido pela armazenagem do mesmo em um meio de armazenagem legível de computador apropriado ou por meio de uma rede e pode ser instalado e operado em um dispositivo de controle tal como uma CPU de modo a implementar a presente invenção.
Efeito Vantajoso da Invenção [0045] Como acima descrito, de acordo com a presente invenção, é possível fácil e eficientemente codificar e decodificar um sinal de número inteiro gaussiano, que não tem sido capaz de ser eficientePetição 870190087240, de 05/09/2019, pág. 14/45
11/33 mente codificado usando os conhecidos códigos de Golomb ou similar embora um sinal de número inteiro gaussiano aparece em várias cenas em campos matemáticos e de engenharia.
[0046] Em adição, geralmente, quando uma fonte de informação se expande, a eficiência de codificação da codificação de extensão variável relevante é melhorada. A conversão entre os pares de inteiro e inteiros empregados na presente invenção não é nada porém uma expansão bidimensional da fonte de informação, e, assim a eficiência de codificação pode ser melhorada pela presente invenção.
Breve Descrição dos Desenhos [0047] A figura 1 é um diagrama mostrando um exemplo de mapeamento bidimensional para unidimensional na presente invenção.
[0048] A figura 2 é um diagrama explicando uma tabela que armazena correspondentes relações entre os pares de inteiro e inteiros.
[0049] A figura 3 mostra a estrutura de um aparelho de codificação de fonte de informação e um aparelho de decodificação de fonte de informação como concretizações da presente invenção.
[0050] A figura 4 mostra um fluxograma executado pelo aparelho de codificação de fonte de informação da concretização.
[0051] A figura 5 é um diagrama explicando o algoritmo para implementar o mapeamento bidimensional para unidimensional realizado na presente invenção.
[0052] A figura 6 é um diagrama mostrando os resultados de uma experiência realizada para verificar a eficácia da presente invenção.
[0053] A figura 7 é também um diagrama mostrando os resultados de uma experiência realizada para verificar a eficácia da presente invenção.
[0054] A figura 8 é também um diagrama mostrando os resultados de uma experiência realizada para verificar a eficácia da presente invenção.
Petição 870190087240, de 05/09/2019, pág. 15/45
12/33 [0055] A figura 9 é também um diagrama mostrando os resultados de uma experiência realizada para verificar a eficácia da presente invenção.
[0056] A figura 10 é também um diagrama mostrando os resultados de uma experiência realizada para verificar a eficácia da presente invenção.
[0057] A figura 11 mostra um fluxograma executado pelo aparelho de decodificação de fonte de informação da concretização.
[0058] A figura 12 mostra um fluxograma detalhado executado pelo aparelho de codificação de fonte de informação da concretização.
[0059] A figura 13 também mostra um fluxograma detalhado executado pelo aparelho de codificação de fonte de informação da concretização.
[0060] A figura 14 também mostra um fluxograma detalhado executado pelo aparelho de codificação de fonte de informação da concretização.
[0061] A figura 15 também mostra um fluxograma executado pelo aparelho de codificação de fonte de informação da concretização.
[0062] A figura 16 também mostra um fluxograma detalhado executado pelo aparelho de codificação de fonte de informação da concretização.
[0063] A figura 17 também mostra um fluxograma detalhado executado pelo aparelho de decodificação de fonte de informação da concretização.
[0064] A figura 18 também mostra um fluxograma detalhado executado pelo aparelho de decodificação de fonte de informação da concretização.
[0065] A figura 19 também mostra um fluxograma detalhado executado pelo aparelho de decodificação de fonte de informação da concretização.
Petição 870190087240, de 05/09/2019, pág. 16/45
13/33 [0066] A figura 20 é um diagrama explicando os códigos de Golomb.
[0067] A figura 21 é um diagrama explicando a distribuição normal e a distribuição exponencial.
Listagem de Referência aparelho de codificação de fonte de informação aparelho de decodificação de fonte de informação unidade de entrada de sinal unidade de conversão de par de inteiro unidade de mapeamento bidimensional para uni- dimensional codificador de Golomb unidade de entrada de dados codificados decodificador de Golomb unidade de mapeamento inverso de unidimensional para bidimensional unidade de saída
Melhor Modalidade para Realizar a Invenção [0068] No processo de codificação de fonte de informação da presente invenção, o sinal de número inteiro gaussiano, que é introduzido na ordem de a1, a2, a3, a4..., é convertido em pares de inteiro, cada qual tendo dois elementos tais como (a1, a2), (a3, a4)...de acordo com a ordem de entrada. Cada par de inteiro é representado por (x,y).
[0069] Em seguida, o par de inteiro (x,y) é submetido a mapeamento de bidimensional para unidimensional em que quanto mais curta a distância de cada ponto da malha até a origem, menor o valor atribuído ao ponto da malha pelo mapeamento, de modo que o inteiro correspondente (valor)z (maior do que ou igual a 0) seja obtido.
[0070] De acordo com tal mapeamento de bidimensional para unidimensional em que, quanto mais curta a distância de cada ponto da
Petição 870190087240, de 05/09/2019, pág. 17/45
14/33 malha a origem, menor o valor atribuído ao ponto da malha, cada par de inteiro x, y é convertido em inteiro z como mostrado na figura l.
[0071] O processo de mapeamento acima pode ser realizado preparando uma tabela (ver figura 2), que armazena correspondentes relações entre os ares de inteiro e os valores inteiros, previamente e referindo-se à tabela usando o par de inteiro (x, y) como chave, obtendo deste modo o inteiro z como o resultado de mapeamento para o par de inteiro (x, y).
[0072] Em contraste com uma tabela de frequência requerida quando utilizar os códigos de Huffman ou códigos aritméticos, a tabela acima preparada não depende de fonte de informação como o alvo de codificação e pode ser usada de modo geral.
[0073] Em adição, o processo de mapeamento acima pode ser realizado pela repetição:(i) computar a distância mínima do ponto da malha a origem como ponto de partida até os pontos da malha nãoprocessados (isto é, ainda não dispostos), e (ii) dispor cada ponto da malha tendo a distância mínima da origem em uma ordem específica e atribuindo um valor de inteiro individual a cada ponto da malha disposto, obtendo-se deste modo o inteiro z como resultado de mapeamento para cada par de inteiro (x, y).
[0074] Utilizando o processo acima, a correspondência entre cada par de inteiro (x, y) e cada inteiro z pode ser estabelecida sem admitir os limites superior e inferior do valor de sinal.
[0075] O processo de codificação da fonte de informação da presente invenção utiliza o mapeamento de bidimensional para unidimensional, em que quanto mais curta a distância de cada ponto da malha até a origem, menor o valor atribuído ao ponto da malha, pela seguinte razão.
[0076] O valor z do ponto da malha, que é distante da origem por distância L, é aproxiamdamente igual ao número de pontos da malha
Petição 870190087240, de 05/09/2019, pág. 18/45
15/33 dentro de um círculo cujo raio é L e é também aproximadamente igual à área do circulo,isto é, z = kL2 Isto é uma aproximação geral (o número real dos pontos da malha é muito grande), e aproximadamente igual é eficaz quando, por exemplo, z é algumas centenas.
[0077] A probabilidade para os pontos da malha pode ser originalmente representada usando uma distribuição normal, isto é, f « exp(-aL2) em que a é uma constante. Portanto, usando a relação acima z = kL2, uma distribuição exponencial f « exp (-az/π) para z é obtida.
[0078] Consequentemente, um mapeamento reversível para converter uma fonte de sinal gaussiano em uma fonte de sinal de uma distribuição exponencial é realizada pelo mapeamento de bidimensional para unidimensional (usado no processo de codificação de fonte de informação da presente invenção) em que quanto mais curta a distância de cada ponto de reticulo até a origem, menor o valor atribuído ao ponto da malha.
[0079] Portanto, no processo de codificação de fonte de informação da presente invenção, o inteiro z é obtido pela aplicação do mapeamento de bidimensional para unidimensional ao par de inteiro (x, y) e então codificado usando códigos (por exemplo, códigos de Golomb) que são usados para codificar uma fonte de informação que segue a distribuição exponencial.
[0080] Como acima descrito, um sinal que segue a distribuição exponencial pode ser eficientemente codificado usando códigos de Golomb, em que nenhuma tabela de código é necessária para codificação e decodificação relevantes, os códigos de Golomb podem ser muito facilmente processados e instantaneamente decodificados e qualquer valor de entrada de inteiro grande pode ser codificado.
[0081] Portanto, de acordo com o processo de codificação de fonte de informação da presente invenção, um sinal de número inteiro gausPetição 870190087240, de 05/09/2019, pág. 19/45
16/33 siano pode ser fácil e eficientemente codificado.
[0082] Também no processo de decodificação da fonte de informação da presente invenção, os dados codificados para inteiros, que são introduzidos como zl, z2, z3, z4,..., são decodificados de modo que cada valor de inteiro z, que tem sido codificado usando o processo de codificação de fonte de informação da presente invenção, é decodificado na ordem de entrada de dados codificados.
[0083] No processo acima, se os dados codificados para os inteiros forem gerados pelo processo de codificação de fonte de informação da presente invenção que emprega os códigos de Golomb, então os dados codificados são submetidos à decodifcaão de Golomb de modo a obter o valor de inteiro decodificado.
[0084] A seguir, o inteiro z decodificado é submetido a um mapeamento de unidimensional para bidimensional, que é um mapeamento inverso do mapeamento de bidimensional para unidimensional usado no processo de codificação de fonte de informação da presente invenção, de modo que o par de inteiro x, y (isto é, como entrada do primeiro mapeamento) seja restaurado.
[0085] Quando o mapeamento de bidimensional para unidimensional usado no processo de codificação da fonte de informação da presente invenção é executado e então o inteiro decodificado z é obtido, o acima mapeamento de unidimensional para bidimensional é realizado pela especificação do par de inteiro (x, y) atribuído a z.
[0086] Portanto, similar ao processo de mapeamento realizado no processo de codificação de fonte de informação da presente invenção, o mapeamento de unidimensional para bidimensional pode ser realizado preparando uma tabela (ver figura 2), que armazena correspondente relação entre os pares de inteiro e os valores inteiros, previamente, e referindo-se à tabela usando o z inteiro como uma chave, deste modo obtendo o par de inteiro (x, y) como resultado de mapeaPetição 870190087240, de 05/09/2019, pág. 20/45
17/33 mento para o inteiro z.
[0087] Em adição, o processo de mapeamento acima pode ser realizado pela repetição (i) computar a distância mínima do ponto da malha a origem como o ponto de partida até ponto da malha que não tem ainda sido disposto, e, (ii) dispor cada ponto da malha tendo a distância mínima da origem em uma ordem específica e atribuindo um valor de inteiro individual a cada ponto da malha, obtendo deste modo o par de inteiro (x, y) como o resultado do mapeamento para cada inteiro z.
[0088] Na etapa seguinte do processo de decodificação da fonte de informação da presente invenção, os valores inteiros x e y, que formam um par de inteiro (x, y) são emitidos em sequência (x, e então y).
[0089] Como descrito acima, de acordo com o processo de decodificação da fonte de informação da presente invenção, os dados codificados, que são obtidos pela codificação que emprega códigos usados para codificar uma fonte de informação que segue a distribuição exponencial, são decodificados de modo que o sinal de número inteiro gaussiano possa ser fácil e eficientemente decodificado.
[0090] Abaixo, a presente invenção será explicada em mais detalhes de acordo com uma concretização em que uma fonte de sinal gaussiano é convertido em uma fonte de sinal exponencial por meio da expansão bidimensional e formação da sequência bidimensional da fonte de sinal gaussiano e o resultado convertido é codificado usando os códigos de Golomb apropriados para a fonte de sinal exponencial.
[0091] A figura 3 mostra a estrutura de um aparelho de codificação de fonte de informação 1 e um aparelho de decodificação de fonte de informação 2 como concretizações da presente invenção.
[0092] Como mostrado na figura l, o aparelho de codificação de fonte de informação 1 de acordo com a presente invenção inclui uma unidade de entrada de sinal 10 na qual uma sequência de valor de siPetição 870190087240, de 05/09/2019, pág. 21/45
18/33 nal de um sinal de número inteiro gaussiano (como um alvo de codificação) é introduzida; uma unidade de conversão de par de inteiro 11 para converter os valores de sinal (entrada através da unidade de entrada de sinal 10) nos pares de inteiro (cada qual tendo dois elementos), na ordem de entrada; uma unidade de mapeamento de bidimensional para unidimensional 12 para aplicar o mapeamento de bidimensionnal para unidimensional aos pares de inteiro obtidos pela conversão da unidade de conversão de par de inteiro 11, em que no mapeamento, quanto mais curta a distância de cada ponto da malha até a origem, menor é o valor atribuído ao ponto da malha, obtendo deste modo valores inteiros maiores do que ou iguais a zero; e um codificador de Golomb 13 para codificar os valores inteiros obtidos pela unidade de mapeamento de bidimensional para unidimensional 12 pelo uso de códigos de Golomb.
[0093] Por outro lado, o aparelho de decodificação de fonte de informação 2 de acordo com a presente invenção inclui uma unidade de entrada de dados codificados 20 na qual os dados codificados para valores inteiros são introduzidos; um decodificador de Golomb 21 para submeter os dados codificados, que tem sido introduzidos através da unidade de entrada de dados codificados 20, a decodificação de Golomb de modo a restaurar os valores inteiros; uma unidade de mapeamento inverso de unidimensional para bi-dimensinal 22 para restaurar os pares de inteiro quando o processo de mapeamento for executado pela unidade de mapeamento de bidimensional para unidimensional 12 no aparelho de codificação de fonte de informação 1 de acordo com a presente invenção, e os valores inteiros decodificados pelo decodificador de Golomb 21 tem sido obtidos, em que os pares de inteiro restaurados pela unidade 22 correspondem à entrada de mapeamento de bidimensional para unidimensional para gerar os valores inteiros decodificados pelo decodificador de Golomb 21, e são restaurados pela esPetição 870190087240, de 05/09/2019, pág. 22/45
19/33 pecificação dos pares de inteiros correspondentes aos valores inteiros decodificados; e uma unidade de saída sequencial 23 para emitir os inteiros, que formam os pares de inteiro restaurados pela unidade de mapeamento inverso de unidimensional para bidimensional 22, na ordem do primeiro elemento para o segundo elemento de cada par. [0094] A figura 4 mostra um exemplo do fluxograma executado pelo aparelho de codificação de fonte de informação 1 tendo a estrutura acima descrita de acordo com a presente invenção.
[0095] Com referência ao fluxograma, o processo executado pelo aparelho de codificação de fonte de informação l com base na presente invenção será explicado em mais detalhes.
[0096] No aparelho de codificação de fonte de informação 1 com base na presente invenção, na primeira etapa S101, os valores de sinal de um sinal de número inteiro gaussiano são introduzidos por cada par de dois elementos a partir da cabeça do sinal.
[0097] Na etapa seguinte, S102, o sinal de número inteiro gaussiano, que é introduzido na ordem de a1, a2 ^a3, a4 ^,..., é convertido em pares de inteiro, cada qual tendo dois elementos tais como (a1, a2), (a3, a4),... em conformidade com a ordem de entrada. Cada par de inteiro é representado por (x,y).
[0098] Na seguinte etapa S103, o par de inteiro (x,y) é submetido ao mapeamento de bidimensional para unidimensional em que quanto mais curta a distância de cada ponto da malha até a origem, menor o valor atribuído ao ponto da malha pelo mapeamento, de modo que o inteiro (valor) z (maior do que ou igual a 0 seja obtido.
[0099] Na etapa seguinte S104, o inteiro z é submetido à codificação de Golomb pelo uso de um parâmetro de código de Golomb g que é provido separadamente, e, na etapa seguinte S105, os dados codificados obtidos são emitidos.
[00100] Na seguinte etapa S106, é determinado se a introdução do
Petição 870190087240, de 05/09/2019, pág. 23/45
20/33 sinal de número inteiro gaussiano tem ou não sido completada. Se não estiver ainda sido completada, a operação retorna para a etapa S101 novamente, enquanto se estiver completa, a operação é terminada.
[00101] No caso acima, o parâmetro de código de Golomb g é provido separadamente. Todavia, as características estatísticas do sinal de entrada podem ser repesquisadas previamente e o parâmetro g pode ser apropriadamente determinado com base no resultado de pesquisa.
[00102] Por exemplo, se o sinal de entrada tiver uma dispersão σ2 ,então o parâmetro de código de Golomb g pode ser definido por:
G = 2. loge2.K^2 [00103] em que g é apropriadamente arredondado.
[00104] Como acima explicado com referência à figura 20, quando realizar a codificação usando os códigos de Golomb, um grande valor do parâmetro de código de Golomb g é apropriado para codificar uma distribuição suave, enquanto um pequeno valor do parâmetro de código de Golomb g é apropriado para codificar uma distribuição pronunciada que converge em zero. Portanto, quando o parâmetro de código de Golomb g é definido de acordo com tal regra, um valor apropriado do parâmetro de código de Golomb g pode ser automaticamente determinado.
[00105] Abaixo, o mapeamento de bidimensional para unidimensional realizado na etapa S103 será explicado.
[00106] No mapeamento de bidimensional para unidimensional (ver o exemplo na figura l), quanto mais curta a distância de cada ponto da malha até a origem, menor é o valor de inteiro z atribuído ao ponto da malha. Portanto, o mapeamento inverso de unidimensional para bidimensional para os primeiros nove valores z é mostrado na figura 2.
[00107] Geralmente, existe uma pluralidade de pontos da malha tendo a mesma distância a partir da origem. Todavia, qualquer procesPetição 870190087240, de 05/09/2019, pág. 24/45
21/33 so de numeração pode ser aplicado a tais pontos da malha. Como mostrado na figura l, a numeração ao longo de uma rotação na direção dos ponteiros do relógio a partir do início ao final pode ser realizada. Todavia, qualquer processo de numeração com base em uma regra uniforme pode ser usado de modo que o lado do codificador possa realizar uma conversão inversa correspondente.
[00108] Em adição, embora seja necessário admitir os limites superior e inferior dos valores de entrada x e y, uma tabela apropriada como mostrada na figura 2 pode ser preparada previamente, de modo que a expansão bidimensional, formação de sequência unidimensional e seus processos inversos podem facilmente ser realizados apenas com referência à tabela.
[00109] Para uso prático, os limites superior e inferior dos valores de entrada podem ser admitidos na maioria dos casos. Por exemplo, se um sinal diferencial para uma imagem de 8 bits é visado, então é possível que -255< x e y < 255. Neste caso, uma tabela tendo 26l, 121 elementos é provida, em que:
(255-(-255)+ 1)2 = 5112 = 26l.121 [00110] Mesmo quando os limites superior e inferior dos valores de entradas não podem ser admitidos, a correspondência infinita entre (x,Y) e z é possível por dispor os pontos da malha na ordem de proximidades à origem ilimitadamente usando pseudo-códigos gerados por um algoritmo como mostrado na figura 5. O algoritmo será explicado em mais detalhes mais tarde.
[00111] Na figura 5, l(x,y) indica a distância entre a origem e o ponto (x,y), em que uma distância Euclidean é geralmente usada como distância:
1(x,y)=(x2+y2)1/2 [00112] Ao invés, uma distância de Euclidean ao quadrado, que pode ser mais facilmente processado, pode ser usado, e produz o mesPetição 870190087240, de 05/09/2019, pág. 25/45
22/33 mo resultado de
1(x,y)= x2+y2 [00113] Em adição, a função de distância (x,y) pode não ser isotrópico. Se os elementos da fonte de informação gaussiana de entrada não estiverem estritamente iid (distribuído independente e identicamente) e houver uma correlação entre os mesmos, então a seguinte fórmula pode ser usada empregando uma constante apropriada a: 1(x,y)=x2+y2+axy [00114] em que a<0 quando há uma correlação positiva entre x e y e a>0 quando há uma correlação negativa entre x e y.
[00115] Adicionalmente, de acordo com o formato da distribuição bidimensional dos pares de sinal de entrada, norma L1 tal como: 1(x,y)= I xl +1 y [00116] pode ser usada ou, mais comumente, a seguinte norma Ly (a força y de cada elemento de sinal) pode ser usada;
Fórmula 1 l(x,y) = I xl y + I y I y [00117] Abaixo, resultados de uma experiência realizada para verificar a eficácia da presente invenção serão mostrados.
[00118] A figura 6 mostra a distribuição de frequência de uma fonte de sinal que é muito próxima de um sinal gaussiano obtido pelo processamento de uma imagem real. O eixo vertical mostra o logaritmo da probabilidade relevante. É óbvio que a distribuição de frequência da fonte de sinal corrente possui uma forma parabólica, isto é, segue-se uma distribuição normal.
[00119] A figura 7 é um gráfico obtido por extrair em sequência os elementos da fonte de sinal acima como pares de dois valores numéricos (x, y), e representando a sua distribuição de frequência em uma forma tridimensional. Similarmente, o eixo vertical mostra logaritmo da probabilidade relevante. O gráfico mostra um parabolóide de revolução
Petição 870190087240, de 05/09/2019, pág. 26/45
23/33 formado pela revolução de uma parábola.
[00120] A figura 8 mostra linhas de contorno do parabolóide de revolução. As linhas de contorno são quase concêntricas embora uma ligeira correlação positiva seja observada entre as mesmas.
[00121] No gráfico tendo uma escala de logaritmo vertical, a distribuição exponencial mostra uma forma triangular como mostrado na figura 21. Todavia, após o sinal ser convertido para ter uma distribuição de um lado por meio das fórmulas acima descritas:
B = 2a-1 quando a>0
B = -2a quando a<0, [00122] uma linha quase reta inclinada para a direita é obtida.
[00123] A figura 9 mostra uma distribuição de frequência de um valor unidimensional z, que é obtido pela sujeição do par de valor (x, y) a um mapeamento de bidimensional para unidimensional de acordo com a presente invenção, em uma escala de logaritmo vertical similar à figura 6.
[00124] O gráfico mostra uma linha quase reta inclinada para direita, que indica que a distribuição quase coincide com uma distribuição exponencial. Portanto, a codificação eficiente usando os códigos de Golomb pode ser antecipada.
[00125] Os resultados de codificação real serão mostrados abaixo. A fonte de informação empregada inclui 13.509.440 amostras e a quantidade de informação computada por meio de entropia é 64.035.731(bits). Isto é um valor teórico e a quantidade de código gerado pela codificação real sempre excede o valor.
[00126] A fonte de informação acima foi submetida a um mapeamento de bidimensional para unidimensional de acordo com a presente invenção, e o resultado representado por meio do parâmetro de código de Golomb g=7 era 64.503.706 (bits), de modo que a codificação podia ser realizada com um aumento da quantidade de código de
Petição 870190087240, de 05/09/2019, pág. 27/45
24/33
0,73% (isto é, eficiência da codificação de 0,9927).
[00127] Em um processo convencional realizado como um exemplo comparativo, a mesma fonte de informação foi submetida a codificação de Golomb sem nenhum mapeamento específico, em que os códigos de Golomb em g=1 produziram o resultado mínimo, que era 68.898.893 (bits) (isto é, eficiência de codificação de 0,9294).
[00128] Os outros quatro tipos de dados foram submetidos a similares experiências.
[00129] A figura 10 mostra as eficiências de codificação comparadas obtidas pela experiência. Entre o dado l a dado 5 na figura 10, o dado l corresponde ao resultado acima descrito. A eficiência de codificação da presente invenção era sempre 90% ou mais. Com relação à média da eficiência de codificação, a presente invenção tinha uma média de 94,% enquanto processo convencional tinha uma média de 87,4%, de modo que havia uma diferença aproximadamente de 7ponto entre os mesmos.
[00130] Consequentemente, a eficácia do processo de codificação realizado pelo aparelho de codificação de fonte de informação l de acordo com a presente invenção podia ser verificada, em que o aparelho de codificação da fonte de informação l codifica um sinal de número inteiro gaussiano com base no fluxograma da figura 4.
[00131] A figura 11 mostra um exemplo do fluxograma executado pelo aparelho de decodificação da fonte de informação 2 tendo a estrutura mostrada na figura 3, de acordo com a presente invenção.
[00132] Com referência ao fluxograma, o processo executado pelo aparelho de decodificação da fonte de informação 2 com base na presente invenção será explicado em mais detalhes.
[00133] No aparelho de decodificação de fonte de informação 2 com base na presente invenção, na primeira etapa S201, elementos dos dados codificados (códigos de Golomb de valores inteiros z) geraPetição 870190087240, de 05/09/2019, pág. 28/45
25/33 dos pelo aparelho de codificação da fonte de informação 1 com base na presente invenção são introduzidos um por um a partir da cabeça dos dados codificados.
[00134] Na etapa seguinte S202, os códigos de Golomb de entrada são decodificados usando o parâmetro de código de Golomb g, de modo a obter os valores inteiros z maiores do que ou iguais a zero.
[00135] Na etapa seguinte S203, os valores inteiros z são submetidos a mapeamento de unidimensional para bidimensional de modo a mapear os inteiros z nos pares de inteiro x,y. Na etapa seguinte S204, cada par de inteiro x,y é emitido na ordem de x para y.
[00136] Quando o mapeamento de bidimensional para unidimensional usado no aparelho de codificação de fonte de informação l com base na presente invenção for executado e então o inteiro z decodificado for obtido, o mapeamento unidimensional para bidimensional na etapa S203 é realizado pela especificação do par de inteiro x,y atribuído a z.
[00137] Na etapa seguinte S205, é determinado se a entrada dos códigos de Golomb tem ou não sido completada. Se não tiver ainda sido completada, a operação retorna para a etapa S201 novamente, enquanto que se tivesse sido completada, a operação é terminada. Concretizações Objetivas [00138] Abaixo, concretizações objetivas dos processos executados nas etapas S102 e S103 no fluxograma da figura 4 e os processos executados nas etapas S203 e S204 no fluxograma da figura 11 serão mostrados.
(1) Concretização objetiva do processo executado na etapa S102 no fluxograma da figura 4 [00139] A figura 12 mostra um fluxograma detalhado do processo executado na etapa S102 no fluxograma da figura 4.
[00140] Na etapa relevante S102, quando receber os dois valores
Petição 870190087240, de 05/09/2019, pág. 29/45
26/33 de sinal de um sinal de número inteiro gaussiano, que são introduzidos através da etapa S101, na primeira etapa S301 do fluxograma da figura 12, o valor do sinal x na cabeça dos dados recebidos é armazenado na memória x e na seguinte etapa S302, o outro valor de sinal y dos dados recebidos é armazenado na memória y.
[00141] Na etapa seguinte S303, os valores de sinal x e y são, respectivamente, recuperados das memórias x e y e são emitidos como um par de inteiro (x, y).
[00142] Consequentemente, na etapa S102, o fluxograma da figura 12 é executado de modo que os valores na sequência de sinal de um sinal de número inteiro gaussiano sejam emitidos dois por dois como pares.
(2) Concretização objetiva do processo executado na etapa S102 no fluxograma da figura 4 [00143] As figuras 13 a 16 mostram fluxogramas detalhados do processo executado na etapa S102 no fluxograma da figura 4.
[00144] Na etapa relevante S103, o mapeamento de bidimensional para unidimensional implementado pelo algoritmo mostrado na figura 5 é realizado de modo a mapear o par de inteiro x,y no inteiro z e o inteiro z é então emitido.
[00145] Isto é, como mostrado no fluxograma da figura 13, na primeira etapa S40l, os valores inteiros x0 e y0 como alvo de mapeamento são fornecidos e, na etapa seguinte S402, uma memória de armazenagem de ponto da malha Z é esvaziada e um variável z é inicializado para 0.
[00146] Na etapa seguinte S403, um processo A definido por um fluxograma da figura 14 é executado e na etapa seguinte S404, um processo B definido por um fluxograma da figura 15 é executado.
[00147] No processo B, um processo X definido por um fluxograma da figura l6 é executado. No processo X, se uma condição for satisfeiPetição 870190087240, de 05/09/2019, pág. 30/45
27/33 ta, é determinado que um inteiro z como resultado de mapeamento do par de inteiro (x0,y0) tenha sido obtido e o inteiro z é emitido. A operação então processa-se para etapa S405 e é finalizada.
[00148] Em contraste, se a condição não for satisfeita, nenhum dado é emitido e a operação retorna para a etapa S403, isto é, para o processo A.
[00149] Embora os processos A, B e X sejam explicados em mais detalhes, uma sua breve explicação é tal que, no processo A, para pontos da malha (x,y) que não haviam ainda sido dispostos e ainda tido um inteiro atribuido, o valor mínimo dmin da distância entre a origem e cada ponto da malha é computado, em que -dmin<x<dmin e dmin<y<,que são colocados no processo B. Geralmente, uma pluralidade de pontos da malha produz o valor mínimo dmin.
[00150] Portanto, no processo B, cada um dos pontos da malha é extraído de acordo com uma ordem de extração específica, e um valor de inteiro é atribuído a cada ponto da malha extraído enquanto o valor de inteiro atribuído é incrementado por um para cada atribuição.
[00151] Para a atribuição acima no processo X, é determinado se o entrada (x0,y0) tem aparecido ou não como um ponto da malha (x,y). Se for determinado que (x0,y0) tenha aparecido, o inteiro z atribuído ao ponto da malha relevante x,y é determinado como resultado de mapeamento. Se for determinado que (x0,y0) não tenha aparecido, dmin é incrementado por aquele no processo B, de modo que uma operação similar seja repetida até o entrada (x0,y0) aparecer.
[00152] Abaixo, o processo A será explicado com referência ao fluxograma da figura l4.
[00153] No processo A, entre os pontos da malha (x,y) na faixa bidimensional em que cada um de x e y é maior do que ou igual a-dmin e é também menor do que ou igual a dmin (dmin é um inteiro incrementado por um no processo B), aqueles que ainda não tenham sido
Petição 870190087240, de 05/09/2019, pág. 31/45
28/33 dispostos são colocados como alvos de processamento e o valor mínimo da distância da origem é computado para os alvos.
[00154] Na primeira etapa S50l, o valor de inteiro dmin é inicializado para 0. Na etapa seguinte S502, aquele ajustado de valores x e y é gerado para ciclo de execução (de S502 a S508) dentro da faixa de dmin<x<dmin e -dmin<y<dmin de acordo com a ordem de seleção de valor específico, em que a mudança de valor é sempre 1.
[00155] Na etapa seguinte S503, é determinado se o ajuste gerado (x,y) tem sido ou não armazenado na memória de armazenagem de ponto da malha Z. Se estiver já armazenado, a operação avança para a etapa S508 e se não estiver ainda armazenado, a operação avança para a etapa S504. Na etapa S504, uma variável d é ajustada na distância l(x,y) entre o ponto da malha (x,y) e a origem, que é computada pelo processo da etapa S505.
[00156] A distância l(x,y) pode ser computada usando a seguinte função:
l(x,y) = x2 + y2 [00157] Na etapa seguinte S506, os valores de d e dmin são comparados entre si. Se d for maior do que ou igual a dmin, a operação imediatamente avança para a etapa S508. Se d for menor do que dmin, a operação avança para a etapa S507, em que dmin é ajustado para d e então avança para a etapa S508.
[00158] Na etapa S508, é determinado se todas as possíveis combinações entre x e y têm aparecido ou não dentro da faixa de -dimi < x < dmin e -dmin < y < dmin. Se não tiver ainda aparecido, a operação retorna para a etapa S502 e se tiverem já aparecido, o processo A é completado.
[00159] Abaixo, o processo B será explicado com referência ao fluxograma da figura l5.
[00160] No processo B, entre os pontos da malha (x,y) em uma faiPetição 870190087240, de 05/09/2019, pág. 32/45
29/33 xa bidimensional em que cada um de x e y é maior do que ou igual a dmin e é também menor do que ou igual a dmin (dmin é um inteiro incrementado por um), aqueles que não têm ainda sido dispostos e satisfazem 1(x,y)=dmin (dmin é obtido através do processo A) são submetidos ao processo X no fluxograma da figura l6.
[00161] Na primeira etapa S60l, um sinalizador encontrado é ajustado para 0. Na etapa seguinte S602, um ajuste de valores x e y é gerado para cada ciclo de execução (de S602 a S609) dentro da faixa de -dmin < x < dmin e -dmin < y < dmin de acordo com uma ordem de seleção de valor específica, em que a mudança de valor é sempre l.
[00162] Na seguinte etapa S603, é determinado se o ajuste gerado (x,y) tem ou não sido armazenado na memória de armazenagem de ponto da malha Z. Se tivesse sido já armazenado, a operação avança para etapa S609 e se não tivesse sido armazenado ainda, a operação avança para etapa S604. Na etapa S604, um d variável é ajustado para a distância l (x,y) entre o ponto da malha (x,y) e a origem, que é computada pelo processo da etapa S605.
[00163] A distância 1(x,y) pode ser computada usando a seguinte função:
1(x,y) = x2 + y2 [00164] Na etapa seguinte S606, os valores de d e dmin são comparados entre si. Se não coincidirem com dmin, a operação imediatamente avança para a etapa S609. Se coincidir com dmin, a operação avança para a etapa S607 em que o processo X é executado.
[00165] Na etapa S608, o par de inteiro (x,y) é armazenado na memória de armazenagem de ponto da malha Z; o valor z de inteiro (que é definido separadamente) é incrementado por um; e o valor de sinalizador encontrado é ajustado para l. A operação então avança para a etapa S609.
[00166] Na etapa S609, é determinado se todas as combinações
Petição 870190087240, de 05/09/2019, pág. 33/45
30/33 possíveis entre x e y têm aparecido ou não dentro da faixa de -dmin x dmin e -dmin y dmin. Se as mesmas têm ou não ainda aparecido, a operação retorna para a etapa S602 e se elas têm já aparecido, a operação avança para a etapa S6l0. Na etapa S6l0, é determinado se o valor de sinalizador encontrado é igual ou não a 0.
[00167] De acordo com a determinação da etapa S6l0, quando é determinado que o valor de sinalizador encontrado não é igual a 0, a operação retorna para a etapa S60l e quando é determinado que o valor de sinalizador encontrado é igual a 0, a operação avança para a etapa S6ll. Na etapa S6ll, o valor de dmin é incrementado por um e o processo B é finalizado.
[00168] Abaixo, o processo X será explicado com referência ao fluxograma da figura 16.
[00169] No processo X, quando os valores x0 e y0, que foram fornecidos como alvo de mapeamento, tornam-se iguais aos valores x e y, que são a seguir processados no loop relevante, um valor z mapeado unidimensional correspondente ao mesmo é emitido.
[00170] Na primeira etapa S70l, é determinado se x=x0 e y=y0 ou não. Se for determinado que x=x0 e y=yO, a operação avança para a etapa S702, em que um valor inteiro atribuído a (x,y) é emitido como resultado de mapeamento. A operação então avança para a etapa S703, em que a operação de mapeamento de bidimensional para unidimensional é terminada. Em contraste, se for determinado que a condição x=x0 e y=y0 não está satisfeita, o processo X é finalizado (Isto é, a operação retorna para a etapa S608 no processo B).
[00171] Consequentemente, pela execução dos fluxogramas das figuras 13 a 16, na etapa S103 da figura 4, o mapeamento de bidimensional para unidimensional implementado pelo algoritmo mostrado na figura 5 é realizado de modo a mapear o par de inteiro (x,y) para o inteiro z e o inteiro z é então emitido.
Petição 870190087240, de 05/09/2019, pág. 34/45
31/33 (3) Concretização objetiva do processo executado na etapa S202 é o fluxograma da figura 11.
[00172] As figuras 17 e 18 mostram fluxogramas detalhados do processo executado na etapa S203 no fluxograma da figura 11.
[00173] Na etapa S203, o mapeamento de unidimensional para bidimensional implementado pelo algoritmo mostrado na figura 5 é realizado de modo a mapear o inteiro z (decodificado através do processo da etapa S202) para o par de inteiro (x,y) e o par de inteiro (x,y) é então emitido.
[00174] Especificamente, como mostrado no fluxograma da figura 17, na primeira etapa S801, o valor de inteiro z0 como alvo de mapeamento é fornecido. Na etapa seguinte S802, a memória de armazenagem de ponto da malha Z é esvaziada e a variável z é inicializada para 0.
[00175] Na etapa seguinte S803, o processo A decidido pelo fluxograma da figura 14 é executado, e na etapa seguinte S804, o processo B decidido pelo fluxograma da figura l5 é executado (todavia, processo X é modificado para um processo X' como adiante explicado).
[00176] Isto é, no processo B, o processo X' definido por um fluxograma na figura 18 é executado. No processo X', se uma condição for satisfeita, é determinado que um par de inteiro (x,y) como o resultado de mapeamento do inteiro z0 tem sido obtido e o par de inteiro (x,y) é emitido. A operação então avança para a etapa S805 e é finalizada.
[00177] Em contraste, se a condição não for satisfeita, nenhum dado é emitido e a operação retorna para a etapa S803, isto é, para o processo A.
[00178] Abaixo, o processo X' será explicado com referência ao fluxograma da figura 18.
[00179] No processo X', quando o valor z0, que foi introduzido como alvo de mapeamento, torna-se igual ao valor z, que é agora proPetição 870190087240, de 05/09/2019, pág. 35/45
32/33 cessado no circuito relevante, valores mapeados bidimensionais (x,y) correspondentes ao mesmo são emitidos.
[00180] Na primeira etapa S901, é determinado se z=z0 ou não. Se for determinado que z=z0, a operação avança para a etapa S902, em que os valores inteiros (x e y) atribuídos ao inteiro z são emitidos como resultado de mapeamento. A operação então avança para a etapa S903 e a operação de mapeamento de unidimensional para bidimensional é terminada. Em contraste, se for determinado que z #= z0, o processo X' é finalizado (Isto é, a operação retorna para a etapa S608 no processo B).
[00181] Consequentemente, pela execução dos fluxogramas das figuras 17 a 18, na etapa S203 da figura ll, o mapeamento de unidimensional para bidimensional implementado pelo algoritmo mostrado na figura 5 é realizado de modo a mapear o inteiro z no par de inteiro (x,y) e o par de inteiro (x,y) é então emitido.
(4) Concretização objetiva do processo executado na etapa S204 no fluxograma da figura ll.
[00182] A figura 19 mostra um fluxograma detalhado do processo executado na etapa S204 no fluxograma da figura 11.
[00183] Na etapa relevante S204, quando receber o par de inteiro (x,y) obtido pelo processo da etapa S203, na primeira etapa S’1001 do fluxograma da figura 19, o valor x do sinal na cabeça dos dados recebidos é armazenado na memória x e o outro valor de sinal y dos dados recebidos é armazenado na memória y.
[00184] Na etapa seguinte S1002, o valor de sinal x na cabeça dos dados é recuperado da memória x e emitido, e na seguinte etapa S1003, o outro valor de sinal y é recuperado da memória y e emitido.
[00185] Consequentemente, na etapa S204, pela execução do fluxograma das figura 19, os valores inteiros x e y que formam o par de inteiro (x,y) como o resultado de mapeamento são emitidos na ordem
Petição 870190087240, de 05/09/2019, pág. 36/45
33/33 de x a y.
Aplicabilidade Industrial [00186] Na presente invenção, um sinal de número inteiro gaussiano é um alvo para codificação e decodificação e uma estrutura que implementa um mapeamento reversível para converter uma fonte de sinal gaussiano em uma fonte de sinal de uma distribuição exponencial é empregada. Consequentemente, é possível fácil e eficientemente codificar e decodificar um sinal de número inteiro gaussiano, que não tem sido capaz de ser eficientemente codificado usando conhecidos códigos de Golomb ou similar, embora um sinal de número inteiro gaussiano aparece em várias cenas nos campos matemáticos e de engenharia.

Claims (10)

1. Processo de codificação de fonte de informação para codificar um sinal de número inteiro gaussiano, o processo caracterizado pelo fato de que compreende as etapas de:
introduzir (S101) uma sequência de valor de sinal do sinal de número inteiro gaussiano como um alvo de codificação;
transformar (S102) valores de sinal incluídos na sequência de valor de sinal de entrada em pares de números inteiros, cada qual tendo dois números inteiros, dispostos na ordem de entrada;
considerar (S103) cada um dos pares de inteiro como um ponto da malha nas coordenadas bidimensionais, e obter valores inteiros maiores do que ou iguais a zero pela realização de mapeamento de bidimensional para unidimensional em que quanto mais curta a distância de cada ponto da malha à origem, menor o valor atribuído ao ponto da malha pelo mapeamento; e codificar (S104) os valores inteiros usando códigos de Golomb que podem ser usados para codificar uma fonte de informação que segue uma distribuição exponencial, em que um parâmetro de código dos códigos de Golomb é determinado ao computar uma dispersão dos valores do sinal de entrada e determinar o parâmetro de código que que possui um valor em proporção à dispersão computada.
2. Processo de codificação de fonte de informação, de acordo com a reivindicação 1, caracterizado pelo fato de que na etapa de obtenção dos valores inteiros, os valores inteiros como o resultado de mapeamento para os pares de números inteiros são obtidos referindo-se a uma tabela que é preparada previamente e armazena correspondentes relações entre os pares de números inteiros e valores inteiros.
3. Processo de codificação de fonte de informação, de acordo com a reivindicação 1, caracterizado pelo fato de que na eta-
Petição 870190087240, de 05/09/2019, pág. 38/45
2/4 pa de obtenção dos valores inteiros, os valores inteiros como resultado de mapeamento para os pares de números inteiros são obtidos pela repetição de:
computar o valor mínimo da distância do ponto da malha na origem para cada ponto da malha que não tem sido ainda disposto; e dispor os pontos da malha que tem a distância mínima em uma predeterminada ordem e atribuir um valor de inteiro individual a cada ponto da malha disposto.
4. Processo de codificação de fonte de informação, de acordo com a reivindicação 1, caracterizado pelo fato de que o sinal de número inteiro gaussiano é um sinal de imagem.
5. Processo de decodificação de fonte de informação para decodificar dados que foram codificados de acordo com o processo de codificação de fonte de informação conforme definido na reivindicação 1, o processo de codificação de fonte de informação caracterizado pelo fato de que compreende as etapas de:
decodificar (S202) os valores inteiros pela decodificação do seus dados codificados dos mesmos usando o parâmetro de código dos códigos de Golomb que possuem o valor em proporção aos valores de sinal incluídos na sequência de valor de sinal;
restaurar (S203) os pares de números inteiros pela sujeição dos valores inteiros decodificados a um mapeamento de unidimensional para bidimensional, que é um mapeamento inverso do mapeamento de bidimensional para um mapeamento unidimensional; e emitir (S204) números inteiros que formam cada par de números inteiros restaurado do primeiro elemento para seu segundo elemento.
6. Processo de decodificação da fonte de informação, de acordo com a reivindicação 5, caracterizado pelo fato de que, na etapa de restaurar os pares de números inteiros, os pares de números
Petição 870190087240, de 05/09/2019, pág. 39/45
3/4 inteiros como o resultado de mapeamento inverso para os valores inteiros são restaurados com referência à uma tabela que é preparada previamente e armazena correspondentes relações entre os pares de números inteiros e valores inteiros.
7. Processo de decodificação da fonte de informação, de acordo com a reivindicação 5, caracterizado pelo fato de que se no mapeamento de bidimensional para unidimensional, os valores inteiros como resultado de mapeamento para os pares de números inteiros forem obtidos pela repetição:
computar o valor mínimo da distância do ponto da malha na origem para cada ponto da malha que não tenha sido ainda disposto; e dispor os pontos da malha que têm a distância mínima em uma predeterminada ordem e atribuir um valor de inteiro individual a cada ponto da malha disposto, então, na etapa de restaurar os pares de números inteiros, com base no resultado de mapeamento acima, os pares de números inteiros são restaurados como resultado de mapeamento inverso para os valores inteiros.
8. Processo de decodificação da fonte de informação, de acordo com a reivindicação 5, caracterizado pelo fato de que o sinal de número inteiro gaussiano é um sinal de imagem.
9. Aparelho de codificação de fonte de informação para codificar um sinal de número inteiro gaussiano, o aparelho caracterizado pelo fato de que compreende:
um dispositivo (10) para introduzir uma sequência de valor de sinal de um sinal de número inteiro gaussiano como um alvo de codificação;
um dispositivo (11) para transformar valores de sinal incluídos na sequência de valor de sinal de entrada nos pares de números inteiros, cada qual tendo dois números inteiros, dispostos na ordem de
Petição 870190087240, de 05/09/2019, pág. 40/45
4/4 entrada;
um dispositivo (12) para considerar cada um dos pares de números inteiros como um ponto da malha nas coordenadas bidimensionais e obter valores inteiros maiores ou iguais a zero pela realização de um mapeamento de bidimensional para unidimensional, em que quanto mais curta a distância de cada ponto da malha à origem, menor o valor atribuído ao ponto de reticulo pelo mapeamento; e um dispositivo (13) para codificar os valores inteiros usando códigos de Golomb que podem ser usados para codificar uma fonte de informação que segue uma distribuição exponencial, onde um parâmetro de código dos códigos de Golomb é determinado ao computar uma dispersão dos valores do sinal de entrada e determinar o parâmetro de código que que possui um valor em proporção à dispersão computada.
10. Aparelho de decodificação de fonte de informação para decodificar dados que foram codificados pelo aparelho de codificação de fonte de informação conforme definido na reivindicação 9, o aparelho caracterizado pelo fato de que compreende:
um dispositivo (21) para decodificar os valores inteiros pela decodificação dos seus dados codificados usando o parâmetro de código dos códigos de Golomb que possuem o valor em proporção à dispersão dos valores de sinal incluídos na sequência de valor de sinal;
um dispositivo (22) para restaurar os pares de números inteiros pela sujeição dos valores inteiros decodificados a um mapeamento de unidimensional para bidimensional, que é um mapeamento inverso do mapeamento de bidimensional para unidimensional; e um dispositivo (23) para emitir inteiros que formam cada par de inteiro restaurado do primeiro elemento para seu segundo elemento.
BRPI0718239A 2006-11-14 2007-11-08 processo de codificação de fonte de informação, processo de decodificação de fonte de informação, aparelho e codificação de fonte de informação e aparelho de decodificação de fonte de informação BRPI0718239B1 (pt)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006307512 2006-11-14
JP2006-307512 2006-11-14
PCT/JP2007/071719 WO2008059752A1 (fr) 2006-11-14 2007-11-08 Procédé d'encodage et procédé de décodage de signal d'image, procédé d'encodage et procédé de décodage de source d'information, dispositifs pour ceux-ci, leurs programmes, et support de mémoire avec programme enregistré

Publications (2)

Publication Number Publication Date
BRPI0718239A2 BRPI0718239A2 (pt) 2013-11-19
BRPI0718239B1 true BRPI0718239B1 (pt) 2019-12-24

Family

ID=39401559

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0718239A BRPI0718239B1 (pt) 2006-11-14 2007-11-08 processo de codificação de fonte de informação, processo de decodificação de fonte de informação, aparelho e codificação de fonte de informação e aparelho de decodificação de fonte de informação

Country Status (11)

Country Link
US (1) US8300966B2 (pt)
EP (1) EP2083560B1 (pt)
JP (1) JP4769305B2 (pt)
KR (1) KR101010938B1 (pt)
CN (1) CN101536484B (pt)
BR (1) BRPI0718239B1 (pt)
CA (1) CA2667727C (pt)
ES (1) ES2450265T3 (pt)
RU (1) RU2406222C1 (pt)
TW (1) TWI335147B (pt)
WO (1) WO2008059752A1 (pt)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SE531833C2 (sv) * 2008-07-10 2009-08-18 Ali Majeed Förfarande vid komprimering av data innefattande transformering via en spiralfunktion
US8817882B2 (en) * 2010-07-30 2014-08-26 Qualcomm Incorporated Coding blocks of data using a generalized form of golomb codes
ES2496365T3 (es) * 2011-10-24 2014-09-18 Blackberry Limited Codificación y descodificación de mapas significativos usando selección de la partición
US8891630B2 (en) 2011-10-24 2014-11-18 Blackberry Limited Significance map encoding and decoding using partition set based context assignment
CN104038234B (zh) 2013-03-07 2017-09-29 华为技术有限公司 极性码的译码方法和译码器
GB201321851D0 (en) 2013-12-10 2014-01-22 Canon Kk Run length parameters coding for palette mode
ES2857075T3 (es) * 2013-12-24 2021-09-28 Huawei Tech Co Ltd Método de decodificación del código Polar y aparato de decodificación
EP3644515B1 (en) * 2017-06-22 2022-08-24 Nippon Telegraph And Telephone Corporation Encoding device, decoding device, encoding method, decoding method and program
WO2019021552A1 (ja) * 2017-07-25 2019-01-31 日本電信電話株式会社 符号化装置、復号装置、符号列のデータ構造、符号化方法、復号方法、符号化プログラム、復号プログラム
US11621010B2 (en) * 2018-03-02 2023-04-04 Nippon Telegraph And Telephone Corporation Coding apparatus, coding method, program, and recording medium
JP7173134B2 (ja) * 2018-04-13 2022-11-16 日本電信電話株式会社 符号化装置、復号装置、符号化方法、復号方法、プログラム、および記録媒体
JP7139897B2 (ja) * 2018-11-07 2022-09-21 日本電信電話株式会社 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、復号プログラム
CN114124413A (zh) * 2020-08-10 2022-03-01 中国电信股份有限公司 媒体文件加密方法、解密方法、传输方法和装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5303265A (en) 1990-06-29 1994-04-12 Digital Equipment Corporation Frequency independent encoding technique and apparatus for digital communications
US5471207A (en) * 1994-02-23 1995-11-28 Ricoh Company Ltd. Compression of palettized images and binarization for bitwise coding of M-ary alphabets therefor
CA2156889C (en) 1994-09-30 1999-11-02 Edward L. Schwartz Method and apparatus for encoding and decoding data
US6137589A (en) * 1995-09-20 2000-10-24 Hewlett-Packard Company Efficient storage of dithered raster image data in a printer or the like
US5764374A (en) 1996-02-05 1998-06-09 Hewlett-Packard Company System and method for lossless image compression having improved sequential determination of golomb parameter
JP2934204B2 (ja) 1997-02-28 1999-08-16 株式会社グラフィックス・コミュニケーション・ラボラトリーズ 画像の符号化および復号方法と装置
JP2000115782A (ja) 1998-10-06 2000-04-21 Canon Inc 符号化装置及び方法及び記憶媒体
KR100317279B1 (ko) 1998-11-04 2002-01-15 구자홍 무손실부호화방법및장치
JP2001005967A (ja) 1999-06-21 2001-01-12 Matsushita Electric Ind Co Ltd 画像送信装置及びニューラルネットワーク
US6668092B1 (en) * 1999-07-30 2003-12-23 Sun Microsystems, Inc. Memory efficient variable-length encoding/decoding system
KR100399932B1 (ko) 2001-05-07 2003-09-29 주식회사 하이닉스반도체 메모리의 양을 감소시키기 위한 비디오 프레임의압축/역압축 하드웨어 시스템
US7342965B2 (en) 2002-04-26 2008-03-11 Nokia Corporation Adaptive method and system for mapping parameter values to codeword indexes
US6987468B1 (en) * 2004-10-29 2006-01-17 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
US7580585B2 (en) 2004-10-29 2009-08-25 Microsoft Corporation Lossless adaptive Golomb/Rice encoding and decoding of integer data using backward-adaptive rules
US7015837B1 (en) 2004-10-29 2006-03-21 Microsoft Corporation Lossless adaptive encoding and decoding of integer data
JP4468858B2 (ja) 2005-06-01 2010-05-26 オリンパスイメージング株式会社 データ符号化装置、データ符号化方法、プログラム

Also Published As

Publication number Publication date
KR20090084841A (ko) 2009-08-05
EP2083560A4 (en) 2011-12-28
US8300966B2 (en) 2012-10-30
BRPI0718239A2 (pt) 2013-11-19
US20100027903A1 (en) 2010-02-04
EP2083560A1 (en) 2009-07-29
CN101536484B (zh) 2011-10-05
TW200830732A (en) 2008-07-16
TWI335147B (en) 2010-12-21
JPWO2008059752A1 (ja) 2010-03-04
CA2667727C (en) 2014-07-08
RU2406222C1 (ru) 2010-12-10
EP2083560B1 (en) 2013-12-04
JP4769305B2 (ja) 2011-09-07
CN101536484A (zh) 2009-09-16
CA2667727A1 (en) 2008-05-22
ES2450265T3 (es) 2014-03-24
KR101010938B1 (ko) 2011-01-25
WO2008059752A1 (fr) 2008-05-22

Similar Documents

Publication Publication Date Title
BRPI0718239B1 (pt) processo de codificação de fonte de informação, processo de decodificação de fonte de informação, aparelho e codificação de fonte de informação e aparelho de decodificação de fonte de informação
KR20090005001A (ko) 엔트로피 부호화 방법 및 장치와, 엔트로피 복호화 방법 및장치
WO2023202149A1 (zh) 有限状态熵编码的状态选择方法、系统、存储介质及设备
Nandi et al. Modified compression techniques based on optimality of LZW code (MOLZW)
JPH11340838A (ja) 符号化装置および復号装置
Jiang et al. Parallel design of arithmetic coding
Jacob et al. Comparative analysis of lossless text compression techniques
US20130222159A1 (en) Entropy method of binary-ternary lossless data coding
Ziv A universal prediction lemma and applications to universal data compression and prediction
JPH05110450A (ja) 符号生成装置
Vatedka et al. Local decoding and update of compressed data
KR101573983B1 (ko) 데이터 압축 및 데이터 복원 방법과 장치
Nandi et al. Fractal image compression using Fast Context Independent HV partitioning scheme and MRBH, MRBHM coding
JP2783221B2 (ja) 復号化方法
JP4694511B2 (ja) 符号装置、復号装置、符号化復号化システム、符号化復号化方法、符号化プログラム、復号化プログラム、符号化復号化プログラム及び記録媒体
Thakur et al. An improved symbol reduction technique based Huffman coder for efficient entropy coding in the transform coders
Haghighi et al. Optimizing run-length algorithm using octonary repetition tree
Gupta et al. Adaptive Byte Compression and Decompression: A New Approach for Fractal Image Compression
Ota et al. Length of minimal forbidden words on a stationary ergodic source
Wadströmer Coding of fractal binary images with contractive set mappings composed of affine transformations
Tabus et al. Quaternary Crack-Edge Representation for Lossless Contour Compression
JP3146092B2 (ja) 符号化装置及び復号化装置
Charalambous et al. Optimal merging algorithms for lossless codes with generalized criteria
Willems Weighting algorithms
Hong et al. Variable-length code based on order complexity and its application in random permuted symbol

Legal Events

Date Code Title Description
B15K Others concerning applications: alteration of classification

Ipc: H03M 7/40 (2006.01), H03M 7/42 (2006.01), H04N 19/

B15K Others concerning applications: alteration of classification

Ipc: H04N 1/41 (2006.01), H04N 19/13 (2014.01), H04N 19

B06T Formal requirements before examination [chapter 6.20 patent gazette]
B06F Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]
B09A Decision: intention to grant [chapter 9.1 patent gazette]
B16A Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]

Free format text: PRAZO DE VALIDADE: 10 (DEZ) ANOS CONTADOS A PARTIR DE 24/12/2019, OBSERVADAS AS CONDICOES LEGAIS.

B21F Lapse acc. art. 78, item iv - on non-payment of the annual fees in time

Free format text: REFERENTE A 14A ANUIDADE.

B24J Lapse because of non-payment of annual fees (definitively: art 78 iv lpi, resolution 113/2013 art. 12)

Free format text: EM VIRTUDE DA EXTINCAO PUBLICADA NA RPI 2643 DE 31-08-2021 E CONSIDERANDO AUSENCIA DE MANIFESTACAO DENTRO DOS PRAZOS LEGAIS, INFORMO QUE CABE SER MANTIDA A EXTINCAO DA PATENTE E SEUS CERTIFICADOS, CONFORME O DISPOSTO NO ARTIGO 12, DA RESOLUCAO 113/2013.