BRPI0612179B1 - Codificador e decodificador de uma palavra-código com base nos valores de informação e método para a codificação e decodificação de valores de informação - Google Patents

Codificador e decodificador de uma palavra-código com base nos valores de informação e método para a codificação e decodificação de valores de informação Download PDF

Info

Publication number
BRPI0612179B1
BRPI0612179B1 BRPI0612179-9A BRPI0612179A BRPI0612179B1 BR PI0612179 B1 BRPI0612179 B1 BR PI0612179B1 BR PI0612179 A BRPI0612179 A BR PI0612179A BR PI0612179 B1 BRPI0612179 B1 BR PI0612179B1
Authority
BR
Brazil
Prior art keywords
information
tuple
order
values
information values
Prior art date
Application number
BRPI0612179-9A
Other languages
English (en)
Inventor
Sperschneider Ralph
Herre Jürgen
Linzmeier Karsten
Hilpert Johannes
Original Assignee
Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
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 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. filed Critical Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V.
Publication of BRPI0612179A2 publication Critical patent/BRPI0612179A2/pt
Publication of BRPI0612179B1 publication Critical patent/BRPI0612179B1/pt

Links

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

codificação por entropia com livros-código compactos. a presente invenção se baseia no achado de que pode ser obtida uma codificação eficiente para a codificação de valores de informação, quando dois ou mais valores de informação são agrupados em uma tupla em uma ordem da tupla e quando é usada uma regra de codificação, que indique a mesma palavra-código a tuplas tendo idênticos valores de informação em diferentes ordens e que obtenha informações de ordem, indicando a ordem da tupla, e quando a palavra-código é enviada em associação com as informações de ordem.

Description

(54) Título: CODIFICADOR E DECODIFICADOR DE UMA PALAVRA-CÓDIGO COM BASE NOS VALORES DE INFORMAÇÃO E MÉTODO PARA A CODIFICAÇÃO E DECODIFICAÇÃO DE VALORES DE INFORMAÇÃO (51) Int.CI.: H03M 7/42 (30) Prioridade Unionista: 13/04/2005 US 60/670,993, 14/10/2005 US 11/251,485 (73) Titular(es): FRAUNHOFER-GESELLSCHAFT ZUR FÓRDERUNG DER ANGEWANDTEN FORSCHUNG E.V.
(72) Inventor(es): RALPH SPERSCHNEIDER; JÜRGEN HERRE; KARSTEN LINZMEIER; JOHANNES HILPERT
1/27 “CODIFICADOR E DECODIFICADOR DE UMA PALAVRA—
CÓDIGO COM BASE NOS VALORES DE INFORMAÇÃO E MÉTODO PARA A CODIFICAÇÃO E DECODIFICAÇÃO DE VALORES DE INFORMAÇÃO
Campo da Invenção [0001] A presente invenção se refere à codificação/decodificação de valores de informação e, em particular, à codificação por entropia usando livros-código compactos para a geração de um código eficiente.
Histórico da Invenção e Técnica Anterior [0002] Atualmente, estão se tornando cada vez mais importantes as técnicas de reprodução de áudio multicanais. Isto pode ser devido ao fato de que as técnicas de compressão/codificação de áudio, como a bem conhecida técnica mp3, tornaram possível distribuir o registro de áudio pela Internet ou por outros canais de transmissão com largura limitada de banda. A técnica de codificação mp3 tornou-se tão famosa devido ao fato de que permite a distribuição de todos os registros em um formato estéreo, isto é, uma representação digital do registro de áudio, incluindo um primeiro ou um canal estéreo esquerdo e um segundo ou canal estéreo direito.
[0003] Não obstante, existem desvantagens básicas dos sistemas de som convencionais de dois canais. Portanto, foi desenvolvida a técnica surround. Uma representação surround multicanais recomendada inclui, além dos dois canais estéreo L e
R, um outro canal central C e dois canais surround Ls, Rs. Este formato de som de referência é também denominado de estéreo três/dois, o que significa três canais frontais e dois canais surround. Em geral, são necessários cinco canais de transmissão.
Petição 870180015723, de 27/02/2018, pág. 6/41
2/27
Em um ambiente de playback, pelo menos cinco alto-falantes nos respectivos cinco locais diferentes são necessários para a obtenção de um sweet spot ideal a certa distância dos cinco bem colocados alto-falantes.
[0004] São conhecidas várias técnicas para reduzir a quantidade de dados necessários para a transmissão de um sinal de áudio multicanais. Essas técnicas são denominadas técnicas joint stereo. Para tanto, é feita referência à Fig. 9, que mostra um dispositivo joint stereo 60. Esse dispositivo pode ser um dispositivo para a implementação de, por exemplo, intensity stereo (IS) ou binaural cue coding (BCC). Esse dispositivo geralmente recebe - como entrada - pelo menos dois canais (CH1, CH2, ... CHn), e envia pelo menos um único canal portador e dados paramétricos.
Os dados paramétricos são definidos de maneira que, em um decodificador, possa ser calculada uma aproximação de um canal original (CH1, CH2, ... CHn).
[0005] Normalmente, o canal portador incluirá amostras de sub-bandas, coeficientes espectrais, amostras de domínio de tempo, etc., que proporcionam uma representação comparativamente fina do sinal subjacente, enquanto os dados paramétricos não incluem essas amostras de coeficientes espectrais, mas incluem parâmetros de controle para controlar um determinado algoritmo de reconstrução como pesagem por multiplicação, mudança de tempo, mudança de freqüência, mudança de fase, etc. Os dados paramétricos, portanto, incluem somente uma representação comparativamente grosseira do sinal do canal associado. Explicado em números, a quantidade de dados exigidos por um canal portador estará na faixa de 60 a 70 kBit/s, enquanto a quantidade de dados
Petição 870180015723, de 27/02/2018, pág. 7/41
3/27 exigida pelas informações auxiliares paramétricas para um canal estará na faixa de 1,5 a 2,5 kBit/s. Um exemplo de dados paramétricos são os bem conhecidos fatores de escala, as informações intensity stereo ou os binaural cue parameters, como será descrito abaixo.
[0006] A técnica BCC está descrita no documento da convenção AES 5574, Binaural Cue Coding applied to Stereo and
Multi-Channel Audio Compression, C. Faller, F. Baumgarte, May 2002, Munich, no documento IEEE WASPAA Efficient representation of spatial audio using perceptual parametrization, October 2001,
Mohonk, NY, in “Binaural cue coding applied to audio compression with flexible rendering”, C. Faller and F. Baumgarte, AES 113th
Convention, Los Angeles, Preprint 5686, October 2002 e no “Binaural cue coding - Part II: Schemes and applications”, C.
Faller and F. Baumgarte, IEEE Trans. on Speech and Audio Proc., volume level. 11, no. 6, Nov. 2003.
[0007] Na codificação BCC, são convertidos alguns canais de entrada de áudio em representação espectral usando uma transformada base DTF (Transformada Discreta de Fourier) com janelas superponíveis. O espectro uniforme resultante é dividido em partições não superponíveis. Cada partição tem aproximadamente largura de banda proporcional à largura de banda retangular equivalente (ERB). Os parâmetros BCC são então estimados entre dois canais para cada partição. Esses parâmetros BCC são normalmente dados para cada canal com respeito a um canal de referência e são depois quantizados. Os parâmetros transmitidos são finalmente calculados de acordo com as fórmulas indicadas (codificadas), que também podem depender das partições específicas
Petição 870180015723, de 27/02/2018, pág. 8/41
4/27 do sinal a ser processado.
[0008] Existem alguns parâmetros BCC. O parâmetro ICLD, por exemplo, descreve a diferença (índice) das energias contidas em 2 canais comparados. O parâmetro ICC (coerência/correlação intercanais) descreve a correlação entre os dois canais, que pode ser entendida como a similaridade das formas de onda dos dois canais. O parâmetro ICTD (diferença de tempos intercanais) descreve a mudança de tempo global entre os 2 canais, considerando que o parâmetro IPD (diferença de fases intercanais) o descreve com relação às fases dos sinais.
[0009] Deve-se notar que, em um processamento de quadros do sinal de áudio, a análise BCC é também feita por quadros, isto é, com variação de tempo e também por freqüência. Isto significa que, para cada banda espectral, os parâmetros BCC são obtidos individualmente. Isto ainda significa que, no caso em que um banco de filtros de áudio decompuser o sinal de entrada em, por exemplo, 32 sinais de passe de banda, um bloco de análise BCC obtém um conjunto de parâmetros BCC para cada uma das 32 bandas.
[00010] Uma técnica relacionada, também conhecida como estéreo paramétrico, é descrita em J. Breebaart, S. van de Par, A. Kohlrausch, E. Schuijers, High-Quality Parametric Spatial
Audio Coding at Low Bitrates, AES 116th Convention, Berlin,
Preprint 6072, May 2004, and E. Schuijers, J. Breebaart, H.
Purnhagen, J. Engdegard, Low Complexity Parametric Stereo
Coding, AES 116th Convention, Berlin, Preprint 6073, May 2004.
[00011] Em resumo, recentes abordagens de codificação paramétrica de sinais de áudio multicanais (“Spatial Audio
Petição 870180015723, de 27/02/2018, pág. 9/41
5/27
Coding”, “Binaural Cue Coding” (BCC) etc.) representam um sinal de áudio multicanais por meio de um sinal downmix (pode ser monofônico ou compreender vários canais) e informações paramétricas auxiliares (“spatial cues”) caracterizando seu estágio sonoro espacial percebido. É desejável manter a taxa de informações auxiliares como a mais baixa possível de maneira a minimizar as informações de overhead e deixar o máximo da capacidade de transmissão disponível para a codificação dos sinais downmix.
[00012] Uma forma de manter baixa a taxa de bits das informações auxiliares é codificar sem perdas as informações auxiliares de um esquema de áudio espacial pela aplicação, por exemplo, de algoritmos de codificação por entropia nas informações auxiliares.
[00013] A codificação sem perdas foi aplicada extensivamente na codificação geral de áudio, para garantir uma representação idealmente compacta dos coeficientes espectrais quantizados e de outras informações auxiliares. Os exemplos dos esquemas e métodos de codificação adequados são dados nos padrões ISO/IEC MPEG1 parte 3, MPEG2 parte 7 e MPEG4 parte 3.
[00014] Esses padrões e, por exemplo, também o documento
IEEE “Noiseless Coding of Quantized Spectral Coefficients in MPEG2 Advanced Audio Coding”, S. R. Quackenbush, J. D. Johnston, IEEE WASPAA, Mohonk, NY, October 1997 descrevem as técnicas de ponta que incluem as seguintes medidas para codificar sem perdas parâmetros quantizados:
[00015] Codificação multidimensional de Huffman de coeficientes espectrais quantizados.
Petição 870180015723, de 27/02/2018, pág. 10/41
6/27 [00016] Uso de um livro-código comum de Huffman (multidimensional) para conjuntos de coeficientes.
[00017] Codificação do valor seja como um total ou
codificação das informações de sinais e as informações de
magnitude separadamente (isto é, ter somente entradas do livro-
código de Huffman para um dado valor absoluto que reduz as
dimensões necessárias do livro-código, livros-código “assinado” vs. “não assinado”).
[00018] Uso de livros-código alternativos de diferentes maiores valores absolutos (LAVs), isto é, diferentes valores absolutos máximos dentro dos parâmetros a serem codificados. [00019] Uso de livros-código alternativos de diferente distribuição estatística para cada LAV.
[00020] Transmissão da escolha do livro-código de
Huffman como informações auxiliares ao decodificador.
[00021] Uso de “seções” para definir a faixa das aplicações de cada livro-código selecionado de Huffman.
[00022] Codificação diferencial dos fatores de escala com relação à freqüência e à subseqüente codificação de Huffman do resultado.
[00023] É proposta uma outra técnica para a codificação sem perdas de valores quantizados grosseiramente em um único código PCM dentro do padrão de áudio MPEG1 (denominado agrupamento dentro do padrão e usado para a camada 2). Isto é explicado em maiores detalhes no padrão ISO/IEC 11172-3:93.
[00024] A publicação “Binaural cue coding - Part II:
Schemes and applications”, C. Faller and F. Baumgarte, IEEE Trans.
on Speech and Audio Proc., volume level. 11, no. 6, Nov. 2003
Petição 870180015723, de 27/02/2018, pág. 11/41
7/27 fornece algumas informações sobre a codificação de parâmetros BCC. É proposto que os parâmetros ICLD quantizados sejam codificados diferencialmente:
[00025] na freqüência e o resultado sendo subseqüentemente codificado por Huffman (com um código de Huffman unidimensional).
[00026] no tempo e o resultado seja subseqüentemente codificado por Huffman (com um código de Huffman unidimensional), [00027] e que finalmente, a variante mais eficiente seja selecionada como a representação de um sinal original de áudio.
[00028] Como acima mencionado, foi proposto otimizar o desempenho de compressão aplicando codificação diferencial na freqüência e, de maneira alternativa, no tempo e selecionar a variante mais eficiente. A variante selecionada é então sinalizada para um decodificador por meio de algumas informações auxiliares.
[00029] As técnicas anteriores acima descritas são úteis para reduzir a quantidade de dados que, por exemplo, deve ser transmitida por meio de um fluxo de áudio ou um fluxo de vídeo. O uso das técnicas descritas de codificação sem perdas baseadas em esquemas de codificação por entropia resulta geralmente em fluxos de bits com uma taxa de bits não constante.
[00030] No padrão AAC (Advanced Audio Codec), é feita uma proposta para reduzir tanto o tamanho das palavras-código como o tamanho do livro-código subjacente, usando os livros-código “não assinados”, supondo que a distribuição de probabilidades dos valores das informações a serem codificadas depende somente das magnitudes dos valores a serem codificados, ao invés de seus sinais. Os bits sinais são então transmitidos separadamente e
Petição 870180015723, de 27/02/2018, pág. 12/41
8/27 podem ser considerados como um código postfix, mapeando ao contrário as informações de magnitude codificada para o valor real (sinal x magnitude). Supondo, por exemplo, um livro-código de
Huffman de quatro dimensões, isto resulta no salvamento de um fator de 2Λ4 = 16 (supondo que todos os valores tenham sinais) no tamanho do livro-código.
[00031] Já foram feitas algumas tentativas para reduzir o tamanho do código por meio da codificação por entropia. Não obstante, ainda são enfrentadas algumas grandes desvantagens do uso da técnica anterior. Por exemplo, ao usar livros-código multidimensionais de Huffman, é possível obter uma redução da taxa de bits necessária para a transmissão de algumas informações codificadas. Isto é conseguido ao custo de um aumento no tamanho do livro-código de Huffman que deve ser usado, já que para cada dimensão adicional, o livro-código de Huffman aumenta duplicando.
Isto é especialmente desvantajoso nas aplicações em que o livrocódigo de Huffman é transmitido com as informações codificadas, como é, por exemplo, o caso de alguns programas de compressão em computador. Mesmo que o livro-código de Huffman não tenha que ser transmitido com dados, ele deve ser armazenado no codificador e no decodificador, precisando de espaço de armazenagem caro, disponível somente em quantidades limitadas, especialmente em aplicações móveis para streaming de áudio ou vídeo ou de playback.
[00032] Várias publicações se referem a problemas similares. Por exemplo, a Patente Norte-Americana 5550541 se refere à geração de tabelas de codificação fonte compactas para sistemas de codificadores/decodificadores. São geradas tabelas de codificação de Huffman multidimensionais que são menores que as
Petição 870180015723, de 27/02/2018, pág. 13/41
9/27 tabelas convencionais por meio do ordenamento dos símbolos dentro das mensagens antes da codificação e além de passar as informações de ordem com a palavra-código resultante.
[00033] Pattichis M. S. et al: “On the representation of wideband images using permutations for lossless coding”,
PROCEEDINGS OF THE 4TH IEEE SOUTHWEST SYMPOSIUM ON IMAGE ANALYSIS
AND INTERPRETATION, S. 237 - 241) sugere um novo método para a representação de imagens de codificação de banda larga usando permutações. As amostras codificadas diferencialmente são codificadas no comprimento de operação.
[00034] VASILACHE A. et al: “Indexing and entropy coding of lattice code vectors”, 2001, IEEE INTERNATIONAL CONFERENCE ON
ACOUSTICS, SPEECH, AND SIGNAL PROCESSING PROCEEDINGS, Vol.1 of 6, pages 2.605 - 2.608 se refere à codificação por entropia de vetores código de treliça. É sugerida uma abordagem combinada com a combinação de codificação de Huffman e codificação de comprimento fixo. Os vetores código são agrupados em classes e os números índice das classes individuais são codificados usando codificação por entropia. Como também proposto, a posição do vetor código dentro de uma classe individual é codificada usando codificação enumerativa de índice fixo.
[00035] QUACKENBUSH et al: “Noiseless Coding of
Quantized Spectral Components in MPEG-2 Advanced Audio Coding”,
IEEE ASSP WORKSHOP ON APPLICATIONS OF SIGNAL PROCESSING TO AUDIO
AND ACOUSTICS) se refere à aplicação de um algoritmo flexível de codificação de Huffman usado para a codificação de componentes espectrais quantizados. São codificados N-tuplas usando diferentes livros-código de Huffman, alguns deles tendo somente
Petição 870180015723, de 27/02/2018, pág. 14/41
10/27 valores absolutos para salvar no armazenamento do livro-código.
Nesse caso, é apenso um bit sinal para cada coeficiente não zero à palavra-código.
[00036] “Indexing Algorithms for Zn, An, Dn, and Dm+ +
Lattice Vector Quantizers”, Patrick Raul and Christine Guillemont, se refere à indexação vetorial de algoritmos válida para uma grande classe de treliças usada na compressão audiovisual de sinais. Os vetores são ordenados em classes, em que cada classe é definida como uma possível permutação “assinada” dos componentes dos denominados “vetores líderes”. Usar vetores líderes não assinados exige a transmissão de um bit sinal para cada elemento não zero de um membro de classe.
Sumário da invenção [00037] É objetivo da presente invenção prover um conceito para a geração e uso de um código mais eficiente para comprimir valores de informação e para reduzir o tamanho de um livro-código subjacente.
[00038] De acordo com um primeiro aspecto da presente invenção, este objetivo é alcançado por um codificador para a codificação de valores de informação, compreendendo: um agrupador para agrupar dois ou mais valores de informação em uma tupla em ordem tupla; um gerador de informações de código para a geração das informações de ordem que indicam a ordem tupla e uma palavracódigo para a tupla usando uma regra de codificação, onde a regra de codificação é tal que a mesma palavra-código é indicada a tuplas tendo idênticos valores de informação em diferentes ordens; e uma interface de saída para enviar a palavra-código e, em associação com esta, as informações de ordem.
Petição 870180015723, de 27/02/2018, pág. 15/41
11/27 [00039] De acordo com um segundo aspecto da presente invenção, este objetivo é alcançado por um decodificador para a decodificação de uma palavra-código baseada nos valores de informação, compreendendo: uma interface de entrada provendo a palavra-código e, em associação com esta, as informações de ordem indicando uma ordem tupla, sendo uma ordem de dois ou mais valores de informação dentro de uma tupla de valores de informação; um processador de códigos para obter uma tupla usando uma regra de decodificação dependendo da regra de codificação usada para criar a palavra-código, em que a regra de decodificação é tal que diferentes tuplas são obtidas a partir da mesma palavra-código, as diferentes tuplas tendo os mesmos valores de informação em diferentes ordens de tuplas, como indicado pelas diferentes informações de ordem; e um desagrupador para desagrupar as tuplas em dois ou mais valores de informação.
[00040] De acordo com um terceiro aspecto da presente invenção, este objetivo é alcançado por um método para a codificação de valores de informação, o método compreendendo:
agrupar dois ou mais valores de informação em uma tupla em uma ordem tupla; gerar informações de ordem indicando a ordem da tupla; gerar uma palavra-código para a tupla usando uma regra de codificação, onde a regra de codificação é tal que a mesma palavracódigo é indicada a tuplas tendo idênticos valores de informação em diferentes ordens; e enviar a palavra-código e, em associação com esta, as informações de ordem.
[00041] De acordo com um quarto aspecto da presente invenção, este objetivo é alcançado por um programa de computador que implementa o método acima, quando executado em um computador.
Petição 870180015723, de 27/02/2018, pág. 16/41
12/27 [00042] De acordo com um quinto aspecto da presente invenção, este objetivo é alcançado por um método para a decodificação das palavras-código baseado nos valores de informação, o método compreendendo: prover a palavra-código e, em associação com esta, as informações de ordem indicando a ordem da tupla, sendo uma ordem de dois ou mais valores de informação dentro de uma tupla de valores de informação; obter uma tupla usando uma regra de decodificação dependendo de uma regra de codificação usada para criar a palavra-código, em que a regra de decodificação é tal que diferentes tuplas são obtidas a partir da mesma palavra-código, as diferentes tuplas tendo os mesmos valores de informação em diferentes ordens de tuplas, como indicado pelas diferentes informações de ordem; e desagrupar as tuplas em dois ou mais valores de informação.
[00043] De acordo com um sexto aspecto da presente invenção, este objetivo é alcançado por um programa de computador que implementa o método acima, quando executado em um computador. [00044] De acordo com um sétimo aspecto da presente invenção, este objetivo é alcançado por dados codificados baseados em valores de informação, os dados codificados compreendendo a palavra-código para a tupla de dois ou mais valores de informação dispostos na tupla em uma ordem de tupla e as informações de ordem indicando a ordem da tupla.
[00045] A presente invenção se baseia no achado de que pode ser obtido um código eficiente para a codificação de valores de informação, quando dois ou mais valores de informação são agrupados em uma tupla na ordem da tupla e quando é usada uma regra de codificação, que indique a mesma palavra-código a tuplas
Petição 870180015723, de 27/02/2018, pág. 17/41
13/27 tendo idênticos valores de informação em diferentes ordens e quando são obtidas as informações de ordem, indicando a ordem da tupla e associadas à palavra-código.
[00046] Para a codificação por entropia usando códigos de Huffman, o conceito da invenção acima descrito pode ser implementado de maneira mais eficiente. O tamanho de um livrocódigo de Huffman depende também do número de possíveis valores a ser codificado como do número de valores codificados em conjunto (dimensão do livro-código de Huffman). Para reduzir o espaço necessário de armazenagem para representar um livro-código de Huffman em uma aplicação específica, é vantajoso explorar as simetrias na distribuição de probabilidades dos dados a serem codificados, de maneira que esta palavra-código de Huffman represente um conjunto total de grupos de valores codificados com igual probabilidade. O grupo real de valores codificados em conjunto é então especificado por um determinado código postfix.
[00047] Como a ordem de dois ou mais valores em uma tupla não é dependente do conteúdo representado pelos valores, quando os valores não estão correlacionados em um determinado grau, podem ser supostas iguais probabilidades para diferentes ordens dos mesmos valores (já que os valores não são correlacionados).
Particular e preferivelmente para um código de comprimento variável, isto é, um código tendo palavras-código com diferentes comprimentos, essas iguais probabilidades resultarão em um menor livro-código, assim como em um código mais eficiente, quando as tuplas com diferentes ordens dos mesmos valores são indicadas a uma única palavra-código.
[00048] Portanto, em uma configuração preferida da
Petição 870180015723, de 27/02/2018, pág. 18/41
14/27 presente invenção, os valores de informação que devem ser codificados por um codificador bidimensional de Huffman são em primeiro lugar codificados diferencialmente, resultando em uma representação diferencial dotada de determinadas simetrias como será explicado depois em maiores detalhes. Depois disso, são aplicadas algumas operações de simetria à representação diferencial, reduzindo o número de possíveis tuplas a serem codificadas, também assim reduzindo o tamanho do livro-código necessário.
[00049] A codificação diferencial de uma distribuição de valores, que ocorrem com uma dada distribuição de probabilidades, resultará em uma distribuição de valores de diferenças centrada à volta de zero, tendo uma distribuição de probabilidades simétrica, isto é, ocorrerão valores com o mesmo valor absoluto, mas com sinais diferentes com a mesma probabilidade.
[00050] O princípio básico da codificação por entropia como, por exemplo, a codificação de Huffman, é que, o livro-código usado representa uma dada distribuição de probabilidades dos valores de informação tão boa quanto possível, já que indica as mais curtas palavras-código possíveis aos valores de informação que ocorrem com maior freqüência. A codificação multidimensional de Huffman segue o mesmo princípio, mas combina dois ou mais valores de informação em uma tupla, caracterizado pelo fato de que toda a tupla fica então associada a uma única palavra-código.
[00051] Portanto, a combinação da codificação diferencial com duas codificações bidimensionais de Huffman produz dois tipos de simetrias que podem ser usadas.
[00052] A primeira simetria é obtida a partir da
Petição 870180015723, de 27/02/2018, pág. 19/41
15/27 observação que a probabilidade de ocorrência da tupla (a, b) é aproximadamente a mesma que a da tupla (-a, -b). Isto corresponde a uma simetria pontual relativa à origem de um sistema de coordenadas, onde o primeiro valor de uma tupla define o eixo X e o segundo valor da tupla define o eixo Y.
[00053] A segunda simetria se baseia na suposição de que, alterando-se a ordem em que os dois valores ocorrem em uma tupla não altera a probabilidade de ocorrência da tupla, isto é, que (a, b) e (b, a) são igualmente prováveis. Isto corresponde a uma simetria de eixos relativa aos bissetores dos sistemas de coordenadas do primeiro e do terceiro quadrantes, quando o sistema de coordenadas é definido como explicado acima.
[00054] As duas simetrias podem ser exploradas de maneira que, o tamanho de um livro-código de Huffman é reduzido de um fator de aproximadamente 4, significando que são indicadas tuplas simétricas à mesma palavra-código. As informações de simetria, isto é, a ordem da tupla original e o sinal da tupla original, são indicadas por informações de ordem e informações de sinais, sendo transmitidas com a palavra-código, de maneira a permitir a decodificação e a reconstrução da tupla original, incluindo o sinal e as informações de ordem.
[00055] Revendo a representação das tuplas acima dentro de um sistema de coordenadas bidimensional, ambas as simetrias em conjunto podem ser entendidas como uma distribuição bidimensional de probabilidades com curvas de nível (curvas de iguais probabilidades) parecendo ovais com o eixo princípio girado 45 graus com relação ao sistema cartesiano de coordenadas.
[00056] Fazendo uso das duas simetrias, somente
Petição 870180015723, de 27/02/2018, pág. 20/41
16/27 aproximadamente um quarto (1 quadrante) das possíveis entradas no sistema de coordenadas deve ser coberto pelos códigos de Huffman.
Um código postfix de dois bits determina um mapeamento exclusivo entre cada par de valores em um dos quatro quadrantes e seus pares correspondentes de valores nos três quadrantes restantes. Notar que para pares de valores situados em cada linha limítrofe de quadrante, o código postfix consiste somente de um bit ou pode até ser omitido no caso do par de valores situados em ambas as linhas limítrofes, isto é, no centro da distribuição.
[00057] O conceito da invenção também reduzirá o tamanho do livro-código de Huffman para dados que não demonstrarem as simetrias acima descritas. Se esses dados forem codificados, por um lado o tamanho do livro-código de Huffman será pequeno, mas por outro lado a representação codificada poderá não ser comprimida de forma ideal, já que os valores que ocorrem com diferentes probabilidades são representados pela mesma palavracódigo, levando a um desperdício de taxa de bits, já que o livrocódigo de Huffman não pode ser ajustado para adaptar os dados de maneira ideal.
[00058] Portanto, é preferível que os dados sejam codificados diferencialmente antes de aplicar os tratamentos de simetria, já que a codificação diferencial produz automaticamente simetrias vantajosas. Assim, o conceito da invenção pode ser usado para garantir uma representação compacta e um pequeno livro-código de Huffman para todos os conjuntos subjacentes de valores de informação, já que a desvantagem de dobrar o número de possíveis valores de informação pela codificação diferencial dos valores de informação pode ser balanceada usando as simetrias.
Petição 870180015723, de 27/02/2018, pág. 21/41
17/27
Breve descrição dos desenhos [00059] As configurações preferidas da presente invenção serão agora descritas com referência aos desenhos anexos, onde:
[00060] A Fig. 1 mostra um diagrama de blocos de um codificador da invenção;
[00061] A Fig. 2 mostra uma configuração preferida de um codificador da invenção;
[00062] A Fig. 3 mostra uma outra configuração preferida de um codificador da invenção;
[00063] A Fig. 4a mostra uma primeira operação de simetria nos dados a serem codificados;
[00064] A Fig. 4b mostra uma segunda operação de simetria nos dados a serem codificados;
[00065] A Fig. 5 mostra uma derivação de uma representação simétrica dos dados;
[00066] A Fig. 6 mostra um diagrama de blocos de um decodificador da invenção;
[00067] A Fig. 7 mostra uma configuração preferida de um decodificador da invenção;
[00068] A Fig. 8 mostra uma outra configuração preferida de um decodificador da invenção; e [00069] A Fig. 9 mostra um codificador multicanais da técnica anterior.
Descrição detalhada das configurações preferidas [00070] A Fig. 1 mostra um codificador da invenção 100, o codificador 100 compreendendo o agrupador 102 e um gerador de informações de código 104, que inclui uma interface de saída. [00071] Os valores de informação 106 são agrupados em
Petição 870180015723, de 27/02/2018, pág. 22/41
18/27 tuplas de valores de informação 108a a 108c pelo agrupador. No exemplo mostrado na Fig. 1, o conceito da invenção é descrito pela construção de tuplas que consistem de dois valores de informação cada, isto é, usando um código de Huffman bidimensional.
[00072] As tuplas 108a a 108c são transferidas ao gerador de códigos de informações 10 4, onde o gerador de códigos de informações implementa uma regra de codificação que indica a mesma palavra-código à tuplas tendo valores de informação idênticos em diferentes ordens. Portanto, as tuplas 108a e 108c são codificadas nas mesmas palavras-código 110a e 110b, considerando que a tupla 108b é codificada em uma palavra-código diferente 112. De acordo com o conceito da invenção, diferentes informações de ordem 114a e 114b são geradas para preservar as informações da ordem em que os valores de informação são agrupados dentro das tuplas 108a e
108c. Uma combinação das informações de ordem e da palavra-código pode, portanto, ser usada para reconstruir as tuplas originais
108a e 108c, e assim as informações de ordem são enviadas em associação com a palavra-código pela interface de saída. Em geral, pode-se concordar em diferentes esquemas de ordenamento resultando em diferentes bits de informações de ordem. No exemplo mostrado na Fig. 1, as tuplas não são reordenadas quando os valores dentro das tuplas ocorrem em ordem ascendente, como é o caso das tuplas 108a e 108b. Se ainda for concordado em indicar as informações de ordem de 0 a tuplas que não tiverem sido reordenadas, resulta nos valores de informação de ordem como foram indicados às palavrascódigo na Fig. 1.
[00073] A Fig. 2 mostra uma configuração preferida da presente invenção, em que o gerador de códigos de informações 104
Petição 870180015723, de 27/02/2018, pág. 23/41
19/27 compreende um codificador de ordem 120 e um codificador por entropia 122 e onde o codificador 100 ainda compreende uma interface de saída 124.
[00074] O codificador de ordem 120 gera as informações de ordem 114a a 114c das tuplas (indicando a ordem da tupla) e transfere as informações de ordem à interface de saída 124. Ao mesmo tempo, o codificador de ordem 120 reordena os valores de informação dentro das tuplas 108a a 108c para obter as tuplas 126a a 126c alterando a ordem da tupla para uma ordem de tupla prédefinida, a ordem da tupla pré-definida definindo uma ordem de codificação dos valores de informação dos grupos de tuplas tendo idênticos valores de informação.
[00075] O reordenamento pode, por exemplo, ser feito também para tuplas tendo mais que dois valores de informação, por múltiplas etapas subseqüentes de alteração da posição de dois valores de informação dentro da tupla. Após cada etapa, é verificado se existe uma entrada no livro-código do codificador de ordem para uma dada ordem da tupla. Se este for o caso, o reordenamento pode ser interrompido e a palavra-código pode ser gerada. Se não, o procedimento acima é repetido até que a palavracódigo seja encontrada. As informações de ordem podem então, por exemplo, ser obtidas a partir do número de trocas necessárias para a obtenção da palavra-código. De maneira similar, a ordem da tupla correta poderia ser rearranjada usando as informações de ordem no lado do decodificador.
[00076] O codificador por entropia codifica as tuplas
126a a 126c para obter as palavras-código 110a, 110b e 112 e transfere essas palavras-código para a interface de saída 124.
Petição 870180015723, de 27/02/2018, pág. 24/41
20/27 [00077] A interface de saída finalmente envia as palavras-código 110a, 110b e 112 e, em associação com estas, as informações de ordem 114a a 114c.
[00078] A Fig. 3 mostra uma outra configuração preferida da presente invenção, caracterizada pelo fato de que o gerador de códigos de informações ainda compreende um codificador de sinais
130 para a obtenção das informações de sinais indicando uma combinação de sinais dos valores de informação dentro da tupla.
[00079] O codificador da invenção mostrado na Fig. 3 também faz uso da segunda simetria, indicando as mesmas palavrascódigo às tuplas tendo valores de informação com o mesmo valor absoluto e na mesma ordem, com referência a seus valores absolutos. Portanto, o codificador de sinais 130 obtém as informações de sinais 132a a 132c para cada uma das tuplas 134a a
134c, indicando o sinal dos valores dentro das tuplas. O codificador de sinais 130 simultaneamente altera os sinais dos valores de informação dentro das tuplas para obter uma combinação pré-definida de sinais, definindo uma combinação de sinais de codificação para cada ordem de valores absolutos dentro da tupla, isto é, para tuplas que diferem somente nos sinais dos valores de informação.
[00080] As informações de sinais 132a a 132c são adicionalmente transferidas para a interface de saída 124 que também recebe informações de ordem do codificador de ordem 120 e das palavras-código do codificador por entropia 122. A interface de saída 124 envia então as palavras-código, e em associação com estas, as informações de ordem e as informações de sinais.
[00081] A Fig. 4a mostra como as informações de sinais
Petição 870180015723, de 27/02/2018, pág. 25/41
21/27 podem ser obtidas pelo codificador de sinais 130 e como a simetria referente aos sinais pode ser usada para reduzir o tamanho de um livro-código de Huffman necessário.
[00082] Estão mostrados os possíveis valores de uma tupla (a, b), representada graficamente por uma matriz, caracterizada pelo fato de que os valores de a estão mostrados no eixo X e os valores de b estão mostrados no eixo Y. Os valores de a e b são simétricos à volta de zero (por exemplo, por uma prévia codificação diferencial) e variam cada um, entre -4 e 4.
[00083] A matriz está mostrando todas as 81 possíveis combinações dos valores dos parâmetros a e b. Também está indicado um primeiro eixo 150, indicando as entradas da matriz, em que a soma de a e b (a + b) iguala a zero. A figura ainda mostra um segundo eixo 152, em que a diferença de a e b (a - b) iguala a zero. Como pode ser visto, os dois eixos 150 e 152 dividem a matriz em quatro quadrantes indicados por números de 1 a 4.
[00084] A primeira simetria, supondo que sejam igualmente prováveis uma combinação (a, b) e uma combinação (-a,
-b), é igual à simetria pontual à origem, que está explicitamente mostrada para duas entradas arbitrárias 154a (-2,-1) e 154b (2,1) da matriz.
[00085] O codificador da invenção pode reduzir o tamanho do livro-código de Huffman necessário em um fator de aproximadamente 2, realizando uma operação de simetria, espelhando as entradas do terceiro quadrante para o primeiro quadrante e as entradas do quarto quadrante para o segundo quadrante. Assim, poderiam ser salvas as entradas do livro-código do terceiro e do quarto quadrantes, quando o codificador de sinais 130 também
Petição 870180015723, de 27/02/2018, pág. 26/41
22/27 indicar pelas informações de sinais a partir de qual quadrante a tupla veio.
[00086] A Fig. 4b mostra como a segunda simetria pode ser usada pelo codificador de ordem 120 para reduzir o tamanho do livro-código de Huffman por um outro fator de aproximadamente 2. A segunda simetria, significando que as tuplas (a, b) e (b, a) são igualmente prováveis, é igual a um espelhamento das entradas remanescentes da matriz no eixo 152. Este está, por exemplo, mostrado para as duas entradas de matriz 156a e 156b, mostrando o espelhamento da tupla (0, 2) para a tupla (2,0). Portanto, indicando as mesmas palavras-código às entradas correspondentes do segundo e do primeiro quadrantes, é possível salvar um outro fator de 2 no tamanho do livro-código. O codificador de ordem 120 obtém as informações de ordem para preservar as informações, sendo a tupla original do primeiro ou do segundo quadrante.
[00087] Como ilustrado pelas Figs. 4a e 4b, o codificador da invenção que incorpora um codificador de sinais e um codificador de ordem permite que somente um dos quatro quadrantes tenha que ser coberto pelos códigos de Huffman. Um código postfix de dois bits determina um mapeamento exclusivo entre cada par de valores em um dos quatro quadrantes e seu correspondente par de valores nos três quadrantes remanescentes. Deve ser observado que, para pares de valores situados em qualquer limite de quadrante, o código postfix consiste de somente um bit ou até pode ser omitido no caso do par de valores situados em ambos os limites, isto é, no centro da matriz.
[00088] Seguindo as operações de simetria mostradas nas
Figs. 4a e 4b, pode ser aconselhável, por razões práticas,
Petição 870180015723, de 27/02/2018, pág. 27/41
23/27 reordenar (mapear) os pares de valores do quadrante remanescente em uma matriz quadrática, já que operar um algoritmo em uma representação quadrática é muito mais conveniente.
[00089] Está mostrada na Fig. 5 uma estratégia de mapeamento incorporada por uma configuração da presente invenção. A matriz original com o primeiro quadrante a ser mapeado em uma matriz quadrática 160 está mostrado à esquerda. A matriz quadrática 160 também tem valores de parâmetros para o parâmetro a no eixo X e valores de parâmetros para o parâmetro b no eixo Y. O reordenamento que se segue ao algoritmo de mapeamento está indicado no desenho, onde cada um dos elementos da matriz está marcado com um número exclusivo. Deve ser notado que as tuplas cujos valores de informação que se somam a um número par (a+b é par, o que é verdade para todos os elementos de matriz levemente sombreados do primeiro quadrante) são reordenados no lado esquerdo inferior da matriz quadrática 160, considerando que as tuplas com somas ímpares de valores de informação (elementos não sombreados) são reordenadas no lado direito superior da matriz 160, estando não sombreadas na Figura 5.
[00090] Depois do processo de mapeamento acima, as tuplas a serem codificadas por Huffman são apresentadas em uma representação quadrática e, portanto de fácil manuseio.
[00091] A Fig. 6 mostra um diagrama de blocos de um decodificador da invenção para a decodificação das palavras-código que se baseiam nos valores de informação.
[00092] O decodificador 200 compreende uma interface de entrada 202, um processador de códigos 204 e um desagrupador 206. A interface de entrada 202 provê palavras-código 210a, 210b e 212
Petição 870180015723, de 27/02/2018, pág. 28/41
24/27 e, associadas a elas informações de ordem 214a, 214b e 216, sendo ambas transferidas para o processador de códigos 204.
[00093] O processador de códigos obtém tuplas de valores de informação 218a, 218b e 218c usando uma regra de decodificação, onde a regra de decodificação é tal que diferentes tuplas são obtidas a partir da mesma palavra-código, as diferentes tuplas tendo os mesmos valores de informação em diferentes ordens de tuplas, como indicado pelas diferentes informações de ordem.
[00094] Portanto, as diferentes tuplas 218a e 218c são obtidas a partir das mesmas palavras-código 210a e 210b, já que têm associadas diferentes informações de ordem 214a e 214b. As tuplas de valores de informação 218a a 218c são então desagrupadas pelo desagrupador 206 para produzir os valores de informação 220.
[00095] A Fig. 7 mostra um decodificador preferido da invenção, caracterizado pelo fato de que o processador de códigos
204 inclui um decodificador por entropia 222 e um decodificador de ordem 224.
[00096] O decodificador por entropia 222 indica, usando um livro-código de Huffman, as palavras-código 210a, 210b e 212 às tuplas 226a a 226c, respectivamente. As tuplas 226a a 226c são transferidas para o decodificador de ordem 224, que também recebe as informações de ordem associadas. O decodificador de ordem 224 obtém os valores de informação que modificam as tuplas 226a a
226c, como indicado pelas informações de ordem. As tuplas finais obtidas 228a a 228c são então transferidas para o desagrupador
206, que desagrupa as tuplas 228a a 228c para obter os valores de informação 220.
[00097] A Fig. 8 mostra uma outra configuração preferida
Petição 870180015723, de 27/02/2018, pág. 29/41
25/27 de um decodificador da invenção 200, onde o processador de códigos
204 ainda inclui um decodificador de sinais 230.
[00098] A interface de entrada provê três palavrascódigo idênticas 232a a 232c, bits de informações de sinais 234a a 234c e bits de informações de ordem 236a a 236c.
[00099] O decodificador por entropia 222 decodifica as três palavras-código idênticas 232a a 232c em três tuplas idênticas 238a a 238c, que são então transferidas para o decodificador de sinais 230.
[000100] O decodificador de sinais 230 também recebe as informações de sinais 234a a 234c e modifica as tuplas 238a a
238c, como indicado pelas informações de sinais 234a a 234c, para obter as tuplas 240a a 240c, que agora portam valores de informação com sinais corretos.
[000101] As tuplas 240a a 240c são transferidas para o decodificador de ordem 224, que também recebe as informações de ordem 236a a 236c, e que altera a ordem dos valores de informação dentro das tuplas 204a a 240c para receber as tuplas ordenadas corretamente 242a a 242c. As tuplas 242a a 242c são então transferidas para o desagrupador 206, que obtém os valores de informação 220 desagrupando as tuplas 242a a 242c.
[000102] Apesar das configurações preferidas dos codificadores da invenção mostrados nas figuras 2 e 3 proporem que o codificador de ordem 120 e o codificador de sinais 130 restaurem a ordem ou as informações de sinais e alterem simultaneamente as tuplas, é alternativamente possível que o codificador de sinais e o codificador de ordem restaurem a ordem e as informações de sinais sem alterarem as tuplas. Um livroPetição 870180015723, de 27/02/2018, pág. 30/41
26/27 código de Huffman deve ser projetado de maneira que as tuplas com diferentes sinais e informações de ordem sejam indicadas para as mesmas palavras-código.
[000103] Apesar das configurações preferidas mostradas nas figuras detalharem o conceito da presente invenção usando livros-código de Huffman bidimensionais, a idéia da invenção de usar valores agrupados e usar suas simetrias também pode ser combinada com outros métodos de codificação sem perdas, especialmente com livros-código de Huffman de maiores dimensões, isto é, construindo tuplas tendo mais de dois valores de informação.
[000104] As Figs. 4a e 4b mostram uma forma para a obtenção das informações de simetria usadas para que possa ser usado um livro-código de Huffman menor. Em uma primeira etapa o terceiro e o quarto quadrantes de uma dada matriz são mapeados no primeiro e segundo quadrantes. É também alternativamente possível mapear outras combinações de dois quadrantes vizinhos nos dois quadrantes remanescentes, enquanto as informações de simetria forem preservadas, de maneira que o mapeamento possa ser revertido. Isto também é verdade para a segunda operação de simetria mostrada na Fig. 4b.
[000105] A Fig. 5 mostra uma forma de mapear um quadrante de uma matriz em uma matriz quadrática, permitindo que seja descrito um livro-código de tamanho reduzido. Este mapeamento é um exemplo de múltiplos possíveis esquemas de mapeamento, caracterizado pelo fato de que os mapeamentos devem ser somente de tal maneira a serem exclusivos e que possam ser revertidos. [000106] Dependendo de determinadas exigências de
Petição 870180015723, de 27/02/2018, pág. 31/41
27/27 implementação dos métodos da invenção, estes podem ser implementados em hardware ou em software. A implementação pode ser feita usando um meio de armazenamento digital, em particular um disco, DVD ou um CD dotado de sinais de controle eletrônico de leitura armazenados, que cooperam com um sistema de computador programável, de maneira que os métodos da invenção sejam realizados. Em geral, a presente invenção é, portanto, um produto de programa de computador com um código de programas armazenado em um portador com leitura por máquina, o código de programa sendo operado para realizar os métodos da invenção quando o produto de programa de computador operar em um computador. Portanto, em outras palavras, os métodos da invenção são um programa de computador tendo um código de programas para a realização de pelo menos um dos métodos da invenção quando o programa de computador opera em um computador.
[000107] Apesar do acima mencionado ter sido mostrado e descrito particularmente com referência a suas configurações particulares, será compreendido pelos peritos na técnica que várias outras alterações em forma e detalhes podem ser feitas sem abandonar seu espírito e escopo. Também deve ser entendido que podem ser feitas várias alterações para a adaptação a diferentes configurações sem abandonar os conceitos mais abrangentes ora revelados e englobados pelas reivindicações que segue.
Petição 870180015723, de 27/02/2018, pág. 32/41
1/7

Claims (20)

  1. R E I V I N D I C A Ç Õ E S
    1. “CODIFICADOR E DECODIFICADOR DE UMA PALAVRACÓDIGO COM BASE NOS VALORES DE INFORMAÇÃO E MÉTODO PARA A CODIFICAÇÃO E DECODIFICAÇÃO DE VALORES DE INFORMAÇÃO”, caracterizado pelo fato de que compreende: um codificador diferencial para a codificação diferencial de valores de entrada para obter uma representação codificada diferencialmente dos valores de entrada como valores de informação; um agrupador para agrupar dois ou mais valores de informação em uma tupla em uma ordem de tupla; um gerador de códigos de informações para a geração de informações de ordem indicando a ordem da tupla e uma palavracódigo para a tupla usando uma regra de codificação, onde a regra de codificação é tal que a mesma palavra-código é indicada a diferentes tuplas tendo os mesmos valores de informação em diferentes ordens e o fato de que, além disso a regra de codificação é tal que a mesma palavra-código é indicada a diferentes tuplas tendo valores de informação com o mesmo valor absoluto na mesma ordem, deferindo pelo sinal de cada valor de informação na tupla; e um codificador de sinais para obter as informações de sinais indicando uma combinação de sinais dos valores de informação dentro da tupla; e uma interface de saída para enviar a palavra-código e, em associação com esta as informações de ordem e as informações de sinais.
  2. 2. Codificador de acordo com a reivindicação 1, caracterizado pelo fato de que o gerador de códigos de informações inclui um codificador de ordem para a obtenção das informações de ordem e um codificador por entropia para a obtenção da palavracódigo usando um livro-código que indique tuplas com valores de
    Petição 870180015723, de 27/02/2018, pág. 33/41
    2/7 informação idênticos em diferentes ordens à mesma palavra-código.
  3. 3. Codificador de acordo com a reivindicação 2, caracterizado pelo fato de que o codificador de ordem opere para reordenar os valores de informação dentro da tupla de maneira a mudar a ordem da tupla para uma ordem da tupla pré-definida para a tupla, a ordem da tupla pré-definida definindo uma ordem de codificação de valores de informação para grupos de tuplas tendo valores de informação idênticos e em que o codificador de ordem opere para detectar e codificar um desvio da ordem da tupla e da ordem de codificação; e em que o codificador por entropia tenha um livro-código reduzido indicando uma palavra-código às tuplas com valores de informação ordenados na ordem de codificação.
  4. 4. Codificador de acordo com a reivindicação 3, caracterizado pelo fato de que o codificador de ordem opere para reordenar os valores de informação dentro da tupla, trocando um primeiro valor de informação por um segundo valor de informação.
  5. 5. Codificador de acordo com a reivindicação 4, caracterizado pelo fato de que o codificador de sinais opere para trocar os sinais dos valores de informação dentro da tupla, para trocar uma combinação de sinais para uma combinação pré-definida de sinais, a combinação pré-definida de sinal definindo uma combinação de sinais de codificação para uma ordem de valores de informação dentro da tupla, diferindo somente pelos sinais individuais dos valores de informação; e gerador de códigos de informações tenha um codificador por entropia, o codificador por entropia tenha um livro-código reduzido, indicando a mesma palavra-código a cada tupla com a mesma ordem de valores absolutos de valores de informação.
    Petição 870180015723, de 27/02/2018, pág. 34/41
    3/7
  6. 6. Codificador de acordo com a reivindicação 5, caracterizado pelo fato de que o codificador de sinais opere para alterar o sinal de um primeiro e de um segundo valores de informação dentro da tupla.
  7. 7. Codificador de acordo com a reivindicação 1, caracterizado pelo fato de que a representação diferencialmente codificada é uma representação dos valores de entrada diferencialmente codificados no tempo ou na freqüência.
  8. 8. Codificador de acordo com a reivindicação 1, caracterizado pelo fato de que os valores de informação compreendem valores de informação que descrevem um quadro de um sinal de vídeo ou de um sinal de áudio.
  9. 9. Codificador de acordo com a reivindicação 1, caracterizado pelo fato de que os valores de informação compreendem parâmetros BCC que descrevem uma correlação espacial entre um primeiro e um segundo canais de áudio e onde os parâmetros BCC são escolhidos a partir da seguinte lista de parâmetros BCC: coerência intercanais (ICC), diferença de nível intercanais (ICLD), diferença de tempo intercanais (ICTD), diferença de fase intercanais (IPD).
  10. 10. Codificador de acordo com a reivindicação 1, caracterizado pelo fato de que a regra de codificação é tal que uma codificação de valores de informação resulta em uma seqüência de palavras-código com diferentes comprimentos.
  11. 11. Decodificador para a decodificação de uma palavra-código com base nos valores de informação, caracterizado pelo fato de que compreende: uma interface de entrada para prover a palavra-código e, em associação com esta, as informações de
    Petição 870180015723, de 27/02/2018, pág. 35/41
    4/7 ordem indicando a ordem da tupla, sendo uma ordem de dois ou mais valores de informação dentro da tupla de valores de informação e em uma outra associação, as informações de sinais, indicando uma combinação de sinais dos valores de informação dentro da tupla; um processador de códigos para obter uma tupla usando uma regra de decodificação, dependendo da regra de codificação usada para criar a palavra-código, onde a regra de decodificação é tal que diferentes tuplas com os mesmos valores de informação em diferentes ordens são obtidas a partir da mesma palavra-código associada por diferentes informações de ordem e diferentes tuplas tendo valores de informação com o mesmo valor absoluto na mesma ordem, diferindo pelo sinal de cada valor de informação na tupla que é obtido a partir da mesma palavra-código associada a diferentes informações de sinais, e um decodificador diferencial para a decodificação diferencial dos valores de informação para obter uma representação decodificada diferencialmente dos valores de informação.
  12. 12. Decodificador de acordo com a reivindicação
    11, caracterizado pelo fato de que o processador de códigos inclui um decodificador por entropia para a obtenção de uma tupla preliminar usando um livro-código indicando cada palavra-código a uma tupla preliminar; e um decodificador de ordem para a obtenção da tupla por meio do reordenamento dos valores de informação dentro da tupla preliminar como indicado pelas informações de ordem.
  13. 13. Decodificador de acordo com a reivindicação
    12, caracterizado pelo fato de que o decodificador de ordem opera para reordenar os valores de informação da tupla preliminar
    Petição 870180015723, de 27/02/2018, pág. 36/41
    5/7 trocando um primeiro valor de informação por um segundo valor de informação.
  14. 14. Decodificador de acordo com a reivindicação
    13, caracterizado pelo fato de que o processador de códigos ainda compreendendo um decodificador de sinais para obter a tupla a partir da tupla preliminar, pela troca de sinais dos valores de informação dentro da tupla preliminar como indicado pelas informações de sinais.
  15. 15. Decodificador de acordo com a reivindicação
    14, caracterizado pelo fato de que o decodificador de sinais opera para trocar os sinais de cada valor de informação dentro da tupla preliminar.
  16. 16. Decodificador de acordo com a reivindicação
    14, caracterizado pelo fato de que o decodificador de sinais opera
    para trocar o sinal de um primeiro e de um segundo valor de informação dentro da tupla preliminar 17. Decodificador de acordo com a reivindicação 11, caracterizado pelo fato de que uma representação diferencialmente decodificada dos valores de informação é
    decodificada diferencialmente no tempo ou na freqüência.
  17. 18. Decodificador de acordo com a reivindicação
    11, caracterizado pelo fato de que os valores de informação compreendem valores de informação que descrevem um quadro de um sinal de vídeo ou de um sinal de áudio.
  18. 19. Decodificador de acordo com a reivindicação
    11, caracterizado pelo fato de que os valores de informação compreendem parâmetros BCC que descrevem uma correlação espacial entre um primeiro e um segundo canais de áudio e em que os
    Petição 870180015723, de 27/02/2018, pág. 37/41
    6/7 parâmetros BCC são escolhidos a partir da seguinte lista de parâmetros BCC: coerência intercanais (ICC), diferença de nível intercanais (ICLD), diferença de tempo intercanais (ICTD), diferença de fase intercanais (IPD).
  19. 20. Método para a codificação de valores de informação, o método caracterizado pelo fato de que compreende: codificar diferencialmente os valores de entrada para obter uma representação codificada diferencialmente dos valores de entrada como os valores de informação; agrupar dois ou mais valores de informação de uma tupla em uma ordem de tupla; gerar informações de ordem indicando a ordem da tupla; gerar informações de sinais indicando um sinal dos valores de informação dentro da tupla; gerar uma palavra-código para a tupla, usando uma regra de codificação, em que a regra de codificação é tal que a mesma palavra-código é indicada para diferentes tuplas tendo os mesmos valores de informação em diferentes ordens e pelo fato de que a regra de codificação é ainda de tal maneira que a mesma palavracódigo é indicada para diferentes tuplas tendo valores de informação com o mesmo valor absoluto na mesma ordem, diferindo pelo sinal de cada valor de informação na tupla; e enviar a palavra-código e, em associação com ela, as informações de ordem e as informações de sinais.
  20. 21. Método para a decodificação das palavrascódigo com base nos valores de informação, o método caracterizado pelo fato de que compreende: prover a palavra-código e, em associação com esta, as informações de ordem indicando a ordem da tupla, sendo uma ordem de dois ou mais valores de informação dentro da tupla de valores de informação, e também em associação
    Petição 870180015723, de 27/02/2018, pág. 38/41
    7/7 com as informações de sinais, indicando a combinação de sinais para os valores de informação dentro da tupla; obter uma tupla usando uma regra de decodificação dependendo da regra de codificação usada para criar a palavra-código, onde a regra de decodificação é tal que diferentes tuplas tendo os mesmos valores de informação em diferentes ordens são obtidas a partir da mesma palavra-código associada por diferentes informações de ordem e diferentes tuplas tendo valores de informação com o mesmo valor absoluto na mesma ordem, diferindo pelo sinal de cada valor de informação na tupla que é obtido a partir da mesma palavra-código associada a diferentes informações de sinais; desagrupar as tuplas em dois ou mais valores de informação; e decodificação diferencial dos valores de informação para obter uma representação decodificada diferencialmente dos valores de informação.
    Petição 870180015723, de 27/02/2018, pág. 39/41 yo
    Ίϊ
    1/10 ιοβ
    110b Ofrl
    112 OOOQ1
    110a_004
    1 1140
    0 114c
    0 114a
    IDO
BRPI0612179-9A 2005-04-13 2006-02-13 Codificador e decodificador de uma palavra-código com base nos valores de informação e método para a codificação e decodificação de valores de informação BRPI0612179B1 (pt)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US67099305P 2005-04-13 2005-04-13
US60/670,993 2005-04-13
US11/251,485 2005-10-14
US11/251,485 US7788106B2 (en) 2005-04-13 2005-10-14 Entropy coding with compact codebooks
PCT/EP2006/001294 WO2006108463A1 (en) 2005-04-13 2006-02-13 Entropy coding with compact codebooks

Publications (2)

Publication Number Publication Date
BRPI0612179A2 BRPI0612179A2 (pt) 2010-11-03
BRPI0612179B1 true BRPI0612179B1 (pt) 2018-05-02

Family

ID=36480915

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0612179-9A BRPI0612179B1 (pt) 2005-04-13 2006-02-13 Codificador e decodificador de uma palavra-código com base nos valores de informação e método para a codificação e decodificação de valores de informação

Country Status (18)

Country Link
US (1) US7788106B2 (pt)
EP (1) EP1869775B1 (pt)
JP (1) JP4832507B2 (pt)
KR (1) KR100954182B1 (pt)
CN (1) CN101156320B (pt)
AU (1) AU2006233511B9 (pt)
BR (1) BRPI0612179B1 (pt)
CA (1) CA2605316C (pt)
ES (1) ES2433282T3 (pt)
HK (1) HK1110709A1 (pt)
IL (1) IL186312A0 (pt)
MX (1) MX2007012673A (pt)
MY (1) MY149613A (pt)
NO (1) NO339831B1 (pt)
PL (1) PL1869775T3 (pt)
RU (1) RU2379832C2 (pt)
TW (1) TWI319937B (pt)
WO (1) WO2006108463A1 (pt)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7333032B1 (en) * 2006-01-20 2008-02-19 Calypto Design Systems, Inc. System, method and computer program product for word-level computations and storage
US8515767B2 (en) 2007-11-04 2013-08-20 Qualcomm Incorporated Technique for encoding/decoding of codebook indices for quantized MDCT spectrum in scalable speech and audio codecs
WO2010003479A1 (en) 2008-07-11 2010-01-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and audio decoder
ES2941677T3 (es) * 2008-07-11 2023-05-24 Fraunhofer Ges Forschung Procedimiento para codificar un símbolo, procedimiento para decodificar un símbolo, procedimiento para transmitir un símbolo de un transmisor a un receptor, codificador, decodificador y sistema para transmitir un símbolo de un transmisor a un receptor
KR20100136890A (ko) 2009-06-19 2010-12-29 삼성전자주식회사 컨텍스트 기반의 산술 부호화 장치 및 방법과 산술 복호화 장치 및 방법
KR101676477B1 (ko) * 2010-07-21 2016-11-15 삼성전자주식회사 컨텍스트 기반의 무손실 부호화 장치 및 방법, 그리고 복호화 장치 및 방법
US8817882B2 (en) * 2010-07-30 2014-08-26 Qualcomm Incorporated Coding blocks of data using a generalized form of golomb codes
US20120189052A1 (en) * 2011-01-24 2012-07-26 Qualcomm Incorporated Signaling quantization parameter changes for coded units in high efficiency video coding (hevc)
US8669889B2 (en) 2011-07-21 2014-03-11 International Business Machines Corporation Using variable length code tables to compress an input data stream to a compressed output data stream
US8400335B2 (en) 2011-07-21 2013-03-19 International Business Machines Corporation Using variable length code tables to compress an input data stream to a compressed output data stream
KR101842257B1 (ko) * 2011-09-14 2018-05-15 삼성전자주식회사 신호 처리 방법, 그에 따른 엔코딩 장치, 및 그에 따른 디코딩 장치
FR2982447A1 (fr) 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
FR2982446A1 (fr) 2011-11-07 2013-05-10 France Telecom Procede de codage et decodage d'images, dispositif de codage et decodage et programmes d'ordinateur correspondants
US8692696B2 (en) * 2012-01-03 2014-04-08 International Business Machines Corporation Generating a code alphabet of symbols to generate codewords for words used with a program
GB2557737B (en) 2015-07-28 2021-05-12 Halliburton Energy Services Inc Sensor data compression for downhole telemetry applications
WO2018020299A1 (en) * 2016-07-29 2018-02-01 Chan Kam Fu Lossless compression and decompression methods
GB2578625A (en) * 2018-11-01 2020-05-20 Nokia Technologies Oy Apparatus, methods and computer programs for encoding spatial metadata

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1711331A1 (ru) 1987-05-28 1992-02-07 Всесоюзный научно-исследовательский институт радиовещательного приема и акустики им.А.С.Попова Устройство кодировани и декодировани сигналов звукового вещани
US5532694A (en) 1989-01-13 1996-07-02 Stac Electronics, Inc. Data compression apparatus and method using matching string searching and Huffman encoding
US5325091A (en) 1992-08-13 1994-06-28 Xerox Corporation Text-compression technique using frequency-ordered array of word-number mappers
US5550540A (en) 1992-11-12 1996-08-27 Internatioal Business Machines Corporation Distributed coding and prediction by use of contexts
US5717394A (en) 1993-02-10 1998-02-10 Ricoh Company Ltd. Method and apparatus for encoding and decoding data
JPH07203441A (ja) * 1993-12-28 1995-08-04 Matsushita Graphic Commun Syst Inc 符号化装置及び復号化装置
US5550541A (en) * 1994-04-01 1996-08-27 Dolby Laboratories Licensing Corporation Compact source coding tables for encoder/decoder system
CA2156889C (en) 1994-09-30 1999-11-02 Edward L. Schwartz Method and apparatus for encoding and decoding data
KR100209877B1 (ko) 1994-11-26 1999-07-15 윤종용 복수개의 허프만부호테이블을 이용한 가변장부호화장치 및 복호화장치
US5721720A (en) 1994-12-28 1998-02-24 Kabushiki Kaisha Toshiba Optical recording medium recording pixel data as a compressed unit data block
US5819215A (en) 1995-10-13 1998-10-06 Dobson; Kurt Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of digital audio or other sensory data
CN1158050A (zh) 1995-12-27 1997-08-27 汤姆森消费电子有限公司 图像数据压缩系统和方法
US5870436A (en) 1997-01-02 1999-02-09 Raytheon Company Uniform discrete fourier transform filter parameter encoder
US6237496B1 (en) 1997-02-26 2001-05-29 Northrop Grumman Corporation GPS guided munition
RU2214047C2 (ru) 1997-11-19 2003-10-10 Самсунг Электроникс Ко., Лтд. Способ и устройство для масштабируемого кодирования/декодирования аудиосигналов
US6166664A (en) 1998-08-26 2000-12-26 Intel Corporation Efficient data structure for entropy encoding used in a DWT-based high performance image compression
US6546049B1 (en) 1998-10-05 2003-04-08 Sarnoff Corporation Parameterized quantization matrix adaptation for video encoding
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
JP3323175B2 (ja) 1999-04-20 2002-09-09 松下電器産業株式会社 符号化装置
US6978236B1 (en) 1999-10-01 2005-12-20 Coding Technologies Ab Efficient spectral envelope coding using variable time/frequency resolution and time/frequency switching
RU2159507C1 (ru) 1999-10-29 2000-11-20 Аликов Сергей Владимирович Узел кодирования и/или декодирования информации, система передачи информации с уплотнением каналов, система передачи информации в телекоммуникационной сети
US6813438B1 (en) 2000-09-06 2004-11-02 International Business Machines Corporation Method to customize the playback of compact and digital versatile disks
US20030081685A1 (en) 2001-10-31 2003-05-01 Montgomery Dennis L. Method and apparatus for determining patterns within adjacent blocks of data
DE60218068T2 (de) 2001-11-30 2007-11-22 Koninklijke Philips Electronics N.V. Signalkodierung
US7200275B2 (en) * 2001-12-17 2007-04-03 Microsoft Corporation Skip macroblock coding
US7433824B2 (en) 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
US7502743B2 (en) 2002-09-04 2009-03-10 Microsoft Corporation Multi-channel audio encoding and decoding with multi-channel transform selection
JP4369140B2 (ja) * 2003-02-17 2009-11-18 パナソニック株式会社 オーディオ高能率符号化装置、オーディオ高能率符号化方法、オーディオ高能率符号化プログラム及びその記録媒体
US7426462B2 (en) * 2003-09-29 2008-09-16 Sony Corporation Fast codebook selection method in audio encoding

Also Published As

Publication number Publication date
JP4832507B2 (ja) 2011-12-07
AU2006233511B9 (en) 2010-09-30
IL186312A0 (en) 2008-01-20
CN101156320B (zh) 2012-01-25
BRPI0612179A2 (pt) 2010-11-03
US7788106B2 (en) 2010-08-31
KR100954182B1 (ko) 2010-04-21
PL1869775T3 (pl) 2014-01-31
KR20070110132A (ko) 2007-11-15
CA2605316A1 (en) 2006-10-19
HK1110709A1 (en) 2008-07-18
EP1869775A1 (en) 2007-12-26
WO2006108463A1 (en) 2006-10-19
NO20075775L (no) 2007-11-09
ES2433282T3 (es) 2013-12-10
MY149613A (en) 2013-09-13
AU2006233511B2 (en) 2009-12-03
RU2007141938A (ru) 2009-05-20
MX2007012673A (es) 2007-12-13
TWI319937B (en) 2010-01-21
AU2006233511A1 (en) 2006-10-19
CA2605316C (en) 2013-01-29
EP1869775B1 (en) 2013-09-04
RU2379832C2 (ru) 2010-01-20
CN101156320A (zh) 2008-04-02
JP2008536410A (ja) 2008-09-04
US20060235865A1 (en) 2006-10-19
NO339831B1 (no) 2017-02-06
TW200644448A (en) 2006-12-16

Similar Documents

Publication Publication Date Title
BRPI0612179B1 (pt) Codificador e decodificador de uma palavra-código com base nos valores de informação e método para a codificação e decodificação de valores de informação
ES2739531T3 (es) Agrupamiento adaptable de parámetros para eficiencia de codificación mejorada
TWI325234B (en) Encoder, decoder, method for lossless encoding of information values describing an audio signal, method for decoding an encoded representation of information values describing an audio signal, computer program and storage medium

Legal Events

Date Code Title Description
B06A Patent application procedure suspended [chapter 6.1 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]