BRPI0615709B1 - METHOD AND DEVICE FOR QUANTITATION OF VECTORS AT LEVEL N, METHOD AND DEVICE FOR RECOVERY OF REPRODUCTION VECTORS, SYSTEM FOR TRANSFER OF VECTOR REPRESENTATIONS, METHOD AND DEVICE FOR DETERMINING A CODE BOOK - Google Patents

METHOD AND DEVICE FOR QUANTITATION OF VECTORS AT LEVEL N, METHOD AND DEVICE FOR RECOVERY OF REPRODUCTION VECTORS, SYSTEM FOR TRANSFER OF VECTOR REPRESENTATIONS, METHOD AND DEVICE FOR DETERMINING A CODE BOOK Download PDF

Info

Publication number
BRPI0615709B1
BRPI0615709B1 BRPI0615709-2A BRPI0615709A BRPI0615709B1 BR PI0615709 B1 BRPI0615709 B1 BR PI0615709B1 BR PI0615709 A BRPI0615709 A BR PI0615709A BR PI0615709 B1 BRPI0615709 B1 BR PI0615709B1
Authority
BR
Brazil
Prior art keywords
vectors
reproduction
codebook
vector
code book
Prior art date
Application number
BRPI0615709-2A
Other languages
Portuguese (pt)
Inventor
Adriana Vasilache
Anssi Rämö
Original Assignee
Nokia Technologies Oy
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=37697832&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=BRPI0615709(B1) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of BRPI0615709A2 publication Critical patent/BRPI0615709A2/en
Publication of BRPI0615709B1 publication Critical patent/BRPI0615709B1/en

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio
    • 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/3082Vector coding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • G10L19/18Vocoders using multiple modes
    • G10L19/24Variable rate codecs, e.g. for generating different qualities using a scalable representation such as hierarchical encoding or layered encoding
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0004Design or structure of the codebook
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0007Codebook element generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Quality & Reliability (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

método de quantificação de vetores ao nível n; dispositivo para a quantificação de vetores ao nível n; produto de aplicação de software; método para a recuperação de vetores de reprodução para vetores que tenham sido quantificados ao nível n; dispositivo para a recuperação de vetores de reprodução para vetores que tenham sido quantificados ao nível n; sistema para atransferência de representações de vetores; método para a determinação de um livro de código conjunto de vetores de reprodução m para uso em uma quantificação ao nível n de vetores; dispositivo para a determinação de um livro de código conjunto de vetores de reprodução m para uso em uma quantificação ao nível n de vetores; e livro de código conjunto para uso em uma quantificação de vetores ao nível n. trata-se de um método, a um dispositivo e a um produto de aplicação de software para a quantificação de vetores ao nível v, em que n é selecionável, antes da quantificação, de um conjunto de pelo menos dois valores predefinidos que são inferiores ou iguais a um número máximo predefinido de níveis m. um vetor de reprodução para cada vetor é selecionado de um livro de código de nivel v de vetores de reprodução n que são, para cada n no conjunto de pelo menos dois valores predefinidos, representados pelos primeiros vetores de reprodução n do mesmo livro de código conjunto de vetores de reprodução m. a invenção se refere ainda a um método, a um dispositivo e a um produto de aplicação de software para a recuperação de vetores de reprodução para vetores que foram quantificados ao nível v, para um sistema para transferir representações de vetores, a um método, um dispositivo e um produto de aplicação de software para a determinação de um livro de código conjunto, e a um tal livro de código conjunto propriamente dito.n-level vector quantification method; device for quantifying vectors at level n; software application product; method for retrieving breeding vectors for vectors that have been quantified at level n; a device for retrieving breeding vectors for vectors that have been quantified at level n; system for transferring vector representations; method for determining a breeding vector set codebook m for use in n-level quantization of vectors; apparatus for determining a reproduction vector set codebook m for use in n-level quantization of vectors; and joint codebook for use in n-level vector quantification. it is a method, device and software application product for vector quantization at level v, where n is selectable before quantification from a set of at least two predefined values which are less than or equal to equal to a predefined maximum number of levels m. a reproduction vector for each vector is selected from a level v codebook of reproduction vectors n which are, for each n in the set of at least two predefined values, represented by the first reproduction vectors n of the same set codebook of reproduction vectors m. The invention further relates to a method, device and software application for reproducing vector reproduction for vectors that have been quantified at level v to a system for transferring vector representations to a method, a device and software application product for determining a joint codebook, and such a joint codebook itself.

Description

Campo da InvençãoField of the Invention

A presente invenção refere-se a um método, um dispositivo, bem como a um produto de aplicação de software para uma quantificação vetorial de nível N, onde N 10 pode ser selecionado antes da dita quantificação a partir de um conjunto de pelo menos dois valores predefinidos menores que ou iguais a um número máximo de níveis M predeterminado. A presente invenção se refere ainda a um método, um dispositivo, bem como a um produto de programa de computador para a recuperação de vetores de reprodução para os vetores que foram quantificados no nível N, a um 15 sistema para a transparência de representações vetoriais, a um método, um dispositivo, bem como a um produto de aplicação de software para a determinação de um livro de código (livro-código) para ser utilizado em tal quantificação, e no próprio livro de código.The present invention relates to a method, a device, as well as a software application product for N-level vector quantization, where N 10 can be selected before said quantification from a set of at least two values predefined values less than or equal to a maximum number of predetermined M levels. The present invention also relates to a method, a device, as well as a computer program product for the recovery of reproduction vectors for vectors that were quantified at level N, a system for the transparency of vector representations, a method, a device, as well as a software application product for the determination of a codebook (codebook) to be used in such quantification, and in the codebook itself.

Fundamentos da InvençãoFundamentals of the Invention

Os algoritmos de codificação de áudio e voz têm uma ampla variedade de aplicações nos sistemas de comunicação, de multimídia e deAudio and voice coding algorithms have a wide variety of applications in communication, multimedia and

Petição 870190016915, de 19/02/2019, pág. 8/18Petition 870190016915, of 02/19/2019, p. 8/18

2/46 armazenamento. O desenvolvimento de tais algoritmos de codificação é motivado pela necessidade de poupar capacidade de transmissão e armazenamento, mantendo uma alta qualidade do sinal codificado. A complexidade do codificador é limitada pela força de processamento da plataforma de aplicação. Em algumas aplicações, como, por exemplo, no armazenamento de voz, o codificador pode ser altamente complexo, enquanto o decodificador deverá ser o mais simples possível.2/46 storage. The development of such coding algorithms is motivated by the need to save transmission and storage capacity, while maintaining a high quality of the coded signal. The encoder complexity is limited by the processing power of the application platform. In some applications, such as voice storage, the encoder can be highly complex, while the decoder should be as simple as possible.

Em um codificador de voz típico, um sinal de voz de entrada é processado em segmentos, chamados quadros. Normalmente, o tamanho de quadro é de 10-30 ms, e um segmento dianteiro de 5-15 ms do quadro subseqüente encontra-se também disponível. O quadro pode ainda ser dividido em uma série de sub-quadros. Para cada quadro, o codificador determina uma representação paramétrica do sinal de entrada, por exemplo, pela Codificação Preditiva Linear (LPC). Os parâmetros obtidos são quantificados e transmitidos através de um canal de comunicação, ou armazenados em um meio de armazenamento em uma forma digital. Na extremidade receptora, o decodificador constrói um sinal sintetizado baseado nos parâmetros recebidos.In a typical speech encoder, an incoming speech signal is processed in segments, called frames. Typically, the frame size is 10-30 ms, and a 5-15 ms front segment of the subsequent frame is also available. The table can also be divided into a series of sub-tables. For each frame, the encoder determines a parametric representation of the input signal, for example, by Linear Predictive Coding (LPC). The obtained parameters are quantified and transmitted through a communication channel, or stored in a digital storage medium. At the receiving end, the decoder builds a synthesized signal based on the received parameters.

Neste caso, os coeficientes de codificação LPC (ou as Freqüências de Espectro de Linha (LSF) correspondentes) obtidos pela codificação LPC são hoje em dia geralmente quantificados com uma Quantificação Vetorial (VQ) por meio do empilhamento dos coeficientes de codificação LPC / freqüência LSF em um vetor. Do mesmo modo, também os parâmetros relacionados ao sinal de excitação (por exemplo, os parâmetros de ganho, de densidade horizontal ou de voz) dentre vários quadros ou sub-quadros subseqüentes podem ser quantificados por meio de uma quantificação VQ.In this case, the LPC coding coefficients (or the corresponding Line Spectrum Frequencies (LSF)) obtained by the LPC coding are nowadays generally quantified with a Vector Quantification (VQ) by stacking the LPC coding coefficients / LSF frequency. in a vector. Likewise, the parameters related to the excitation signal (for example, the gain, horizontal density or voice parameters) among several subsequent frames or sub-frames can be quantified by means of a VQ quantification.

A quantificação VQ é um método de compactação de dados com perda baseado no princípio da codificação de blocos. Em uma quantificação VQ de nível N, os vetores são quantificados por meio da seleção, a partir de um livro de código contendo os vetores de reprodução N (as chamadas palavras código), dos vetores de reprodução que provocam a menor distorção com relação aos vetores (sendo a dita distorção determinada por uma medida de distorçãoVQ quantification is a lossy data compression method based on the block coding principle. In a VQ quantification of level N, the vectors are quantified by selecting, from a code book containing the reproduction vectors N (the so-called code words), the reproduction vectors that cause the least distortion in relation to the vectors (said distortion being determined by a measure of distortion

3/463/46

I adequada, como, por exemplo, a distância euclidiana ou a distância euclidiana quadrada, para citar apenas alguns exemplos). Esses vetores de reprodução selecionados podem ser exclusivamente identificados pelos respectivos identificadores. Quando os vetores quantificados devem ser transmitidos através 5 de um canal de transmissão e, quando o livro de código é conhecido em um local receptor, o mesmo pode então ser suficiente para trocar apenas os identificadores entre o quantificador no local de transmissão e uma unidade no local de recepção que deve recuperar o vetor de reprodução selecionado para um vetor no local deI, such as the Euclidean distance or the square Euclidean distance, to name just a few examples). These selected reproduction vectors can be uniquely identified by their respective identifiers. When the quantized vectors must be transmitted through a transmission channel and, when the codebook is known at a receiving location, it can then be sufficient to exchange only the identifiers between the quantifier at the transmission location and a unit at receiving location that must retrieve the selected breeding vector for a vector at the

I*· transmissão. Esta unidade então simplesmente recupera o vetor de reprodução 10 identificado pelo identificador do livro de código. Frequentemente, N é escolhido para ser uma potência de 2 e, em seguida, palavras binárias de um comprimento de palavra n = Iog2 (N) podem ser utilizadas como identificadores para os vetores de reprodução. O tamanho de palavra n, então é proporcional à taxa de bits de saída do quantificador. Com o aumento do tamanho de palavra η, o número de 15 níveis N = 2 e, assim, a resolução do quantificador aumenta, mas também a taxa de bits de saída do quantificador aumenta.I * · transmission. This unit then simply retrieves the reproduction vector 10 identified by the codebook identifier. Often, N is chosen to be a power of 2 and then binary words of a word length n = Iog2 (N) can be used as identifiers for the reproduction vectors. The word size n, then, is proportional to the quantizer output bit rate. As word size η increases, the number of 15 levels N = 2 and thus the quantifier resolution increases, but also the quantifier output bit rate increases.

A quantificação dos parâmetros requer livros de código, que contêm vetores de reprodução otimizados para a tarefa de quantificação. Antes, a concepção de livros de código para a quantificação VQ era considerada uma 20 tarefa difícil, devido à necessidade de uma integração multidimensional. Em 1980, Linde, Buzo e Gray (LBG) propôs o chamado algoritmo de LBG para gerar livros de código baseados em uma seqüência de vetores de treinamento (ver Linde, Y., Buzo, A. e Gray, R. M., An algoritm for Vector Quantification, IEEE Transactions in Communications, vol. 28, N° 1, Janeiro de 1980). A utilização de uma seqüência 25 de vetores de treinamento ultrapassa a necessidade de integração multidimensional. O algoritmo de LBG pode ser considerado como uma generalização multidimensional do clássico algoritmo de Lloyd, que é adequado para a construção de livros de código para uma quantificação escalar.The quantification of the parameters requires codebooks, which contain reproduction vectors optimized for the quantification task. Previously, designing code books for VQ quantification was considered a difficult task, due to the need for multidimensional integration. In 1980, Linde, Buzo and Gray (LBG) proposed the so-called LBG algorithm to generate code books based on a sequence of training vectors (see Linde, Y., Buzo, A. and Gray, RM, An algorithm for Vector Quantification, IEEE Transactions in Communications, vol. 28, No. 1, January 1980). The use of a sequence of 25 training vectors goes beyond the need for multidimensional integration. The LBG algorithm can be considered as a multidimensional generalization of the classic Lloyd's algorithm, which is suitable for the construction of code books for scalar quantification.

O algoritmo de LBG produz um livro de código para um número 30 desejado de níveis N. Se no mesmo codec, vários números de níveis N têm de serThe LBG algorithm produces a codebook for a desired number of 30 levels N. If in the same codec, several numbers of levels N must be

4/46 suportados e, em seguida, para cada número de níveis N, um respectivo livro de código tem de ser treinado, e armazenado em ambos o quantificador e em uma unidade que é usada para recuperar os vetores de reprodução a partir dos identificadores dos vetores de reprodução. Essa necessidade de vários números de níveis N pode, por exemplo, surgir na codificação de cenários nos quais está envolvida a transmissão para terminais com diferentes capacidades de armazenamento e processamento, ou quando as características do canal de transmissão são variantes no tempo, ou quando a taxa de bits totalmente disponível é dinamicamente alocada entre a fonte e a codificação de canal, para citar apenas alguns exemplos. O armazenamento dos respectivos livros de código para vários números diferentes de níveis N aumenta desvantajosamente as exigências de memória de ambos o quantificador e uma unidade para a recuperação dos vetores de reprodução que foram quantificados, aumentando, assim, o tamanho e os custos. Além disso, a estrutura do quantificador e da unidade de recuperação de vetor de reprodução torna-se tolhida, uma vez que o acesso a vários livros de código tem de ser controlado.4/46 supported and then, for each number of levels N, a respective code book has to be trained, and stored in both the quantifier and in a unit that is used to retrieve the reproduction vectors from the identifiers of the reproduction vectors. This need for several numbers of N levels can, for example, arise in the coding of scenarios in which the transmission to terminals with different storage and processing capacities is involved, or when the characteristics of the transmission channel are time-varying, or when the Fully available bit rate is dynamically allocated between the source and the channel encoding, to name just a few. The storage of the respective codebooks for several different numbers of levels N disadvantageously increases the memory requirements of both the quantifier and a unit for the recovery of the reproduction vectors that have been quantified, thus increasing the size and costs. In addition, the structure of the reproducer vector quantizer and recovery unit becomes constrained, since access to several codebooks has to be controlled.

O documento da técnica anterior, de autoria de Haoui, A. e Messerschmitt, D. G.: Embedded Coding of Speech: A Vector Quantification Approach, Proceedinqs IEEE International Conference on Accoustics, Speech and Siqnal Processinq (ICASSP), de abril de 1985, vol. 10, pp. 1703-1706, se refere a codificadores de voz embutidos. Um codificador de voz embutido é um codificador de fonte com a propriedade de que a fidelidade de sua reprodução do sinal de entrada se degrada graciosamente conforme a taxa de bits é reduzida em etapas a partir de uma taxa máxima para uma taxa mínima. Neste caso, o codificador não conhece a verdadeira taxa de bits que está sendo transmitida, e só conhece a ordem na qual os bits serão descartados (por exemplo, o fluxo de bits transmitido pode ser orientado em byte, com os bits descartados em ordem, do menos para o mais significante). Um livro de código é projetado para a taxa máxima, e a quantificação é sempre feita para um número fixo de níveis que corresponde a esta taxa máxima, independentemente do número de bits que serão descartadosThe prior art document, authored by Haoui, A. and Messerschmitt, D. G .: Embedded Coding of Speech: A Vector Quantification Approach, Proceedinqs IEEE International Conference on Accoustics, Speech and Siqnal Processinq (ICASSP), April 1985, vol. 10, pp. 1703-1706, refers to built-in voice encoders. A built-in speech encoder is a source encoder with the property that the fidelity of your input signal reproduction gracefully degrades as the bit rate is reduced in steps from a maximum rate to a minimum rate. In this case, the encoder does not know the true bit rate being transmitted, and only knows the order in which the bits will be discarded (for example, the transmitted bit stream can be oriented in bytes, with the discarded bits in order, from least to most significant). A codebook is designed for the maximum rate, and quantification is always done for a fixed number of levels that correspond to this maximum rate, regardless of the number of bits that will be discarded

5/46 durante a transmissão (deste modo, afetando a real taxa de bits). Para ter em conta o descarte de bits, por exemplo, é proposto atribuir duas palavras binárias que diferem apenas no bit menos significativo para as duas palavras código que ficam próximos um dos outro na distância euclidiana de modo que a substituição do bit menos significativo por zero levará a um pequeno aumento do erro.5/46 during transmission (thus affecting the actual bit rate). To take into account bit disposal, for example, it is proposed to assign two binary words that differ only in the least significant bit to the two code words that are close to each other in the Euclidean distance so that the replacement of the least significant bit with zero will lead to a small increase in error.

O documento da técnica anterior, de autoria de Ragot, S., Bessette,The prior art document, authored by Ragot, S., Bessette,

B. e Lefebvre, R.: Low-Complexity Multi-Rate Lattice Vector Quantification with Application to Wideband TCX Speech Coding at 32 kbit/s, Proceedings IEEE Internatíonal Conference on Accoustics, Speech and Signal Processing (ICASSP), 2004, vol. 1, pp. 501-504, se refere a uma quantificação vetorial de uma grade de múltiplos níveis. Neste caso, um vetor 8-dimensional é codificado em um dentre 6 livros de código, os quais, respectiva mente, formam as conchas de uma grade de inteiros RE8. A quantificação VQ de grades é auto-escalável, ou seja, a escolha do livro de código, e, portanto, o tamanho de palavra n, dependerão do vetor a ser quantificado e não poderão, portanto, ser selecionados antes da quantificação. Os vetores do código são algebricamente construídos e, deste modo, não têm de ser treinados nem armazenados. A flexibilidade da quantificação VQ em grade é geralmente limitada pelo fato de cada livro de código ser composto de várias conchas da grade, cuja cardinalidade depende da grade. Ao se combinar várias conchas em conjunto, o tamanho dos livros de código poderá, por exemplo, ser feito uma potência de 2 ou ainda de outros números, mas não de qualquer número desejado.B. and Lefebvre, R .: Low-Complexity Multi-Rate Lattice Vector Quantification with Application to Wideband TCX Speech Coding at 32 kbit / s, Proceedings IEEE Internatíonal Conference on Accoustics, Speech and Signal Processing (ICASSP), 2004, vol. 1, pp. 501-504, refers to a vector quantification of a multilevel grid. In this case, an 8-dimensional vector is encoded in one of 6 codebooks, which, respectively, form the shells of a grid of RE 8 integers. The VQ quantification of grids is self-scaling, that is, the choice of the codebook, and therefore the word size n, will depend on the vector to be quantified and therefore cannot be selected before quantification. The code vectors are algebraically constructed and thus do not have to be trained or stored. The flexibility of grid VQ quantification is generally limited by the fact that each codebook is made up of several grid shells, whose cardinality depends on the grid. When combining several shells together, the size of the code books can, for example, be made a power of 2 or even other numbers, but not any desired number.

Sumário da InvençãoSummary of the Invention

Em virtude dos problemas acima mencionados, é, designadamente, um objeto da presente invenção prover um método aperfeiçoado, um dispositivo e um produto de aplicação de software para uma quantificação vetorial de nível N com diferentes números selecionáveis de níveis N.In view of the problems mentioned above, it is in particular an object of the present invention to provide an improved method, device and software application product for N-level vector quantification with different selectable N-level numbers.

É ainda um objeto da presente invenção prover um método aperfeiçoado, um dispositivo e um produto de aplicação de software para aIt is also an object of the present invention to provide an improved method, device and software application product for

6/46 recuperação de vetores de reprodução que foram quantificados em níveis N com diferentes números selecionáveis de níveis Λ/.6/46 recovery of reproduction vectors that were quantified at levels N with different selectable numbers of levels Λ /.

É mais um objeto do presente invenção prover um sistema aperfeiçoado de transferência de representações de vetores.It is yet another object of the present invention to provide an improved system for transferring vector representations.

É ainda um objeto da presente invenção prover um método aperfeiçoado, um dispositivo e um produto de aplicação de software para a determinação de um livro de código para uso em uma quantificação vetorial de nível Λ/com diferentes números selecionáveis de níveis N.It is also an object of the present invention to provide an improved method, device and software application product for determining a codebook for use in a vector quantification of level nível / with different selectable numbers of levels N.

É mais um objeto do presente invenção prover um livro de código aperfeiçoado para uso em uma quantificação vetorial de nível N com diferentes números selecionáveis de níveis /V.It is another object of the present invention to provide a code book optimized for use in vector quantification of level N with different selectable numbers of levels / V.

Primeiro Aspecto da Invenção:First Aspect of the Invention:

De acordo com um primeiro aspecto da presente invenção, um método de quantificação vetorial de nível N é proposto, em que N é selecionável antes da dita quantificação a partir de um conjunto de pelo menos dois valores predefínidos menores que ou iguais a um número máximo predefinido de níveis M. O dito método compreende a seleção de um vetor de reprodução para cada vetor a partir de um livro de código de nível N dentre os vetores de reprodução N que são, para cada N do dito conjunto de pelo menos dois valores predefínidos, representados pelos primeiros vetores de reprodução N de um mesmo livro de código conjunto de vetores de reprodução M.In accordance with a first aspect of the present invention, an N-level vector quantification method is proposed, in which N is selectable before said quantification from a set of at least two predefined values less than or equal to a predefined maximum number of levels M. This method comprises the selection of a reproduction vector for each vector from a code book of level N among the reproduction vectors N which are, for each N of said set of at least two predefined values, represented by the first N reproduction vectors from the same code book.

Neste caso, os ditos vetores e ditos vetores de reprodução são vetores dimensionais k, com k sendo maior que ou igual a 1, de modo que ambos os casos de quantificação escalar e vetorial possam ser objetivados. Os ditos vetores contêm dados que devem ser quantificados. Os ditos dados contidos em cada vetor podem, por exemplo, ser um conjunto de parâmetros, como, por exemplo, um conjunto de coeficientes de codificação LPC / freqüência LSF de um quadro ou subquadro de um sinal de voz ou de áudio, ou um conjunto de parâmetros de ganho, de densidade horizontal ou de voz dentre um ou mais quadros ou subquadros subseqüentes.In this case, said vectors and said reproduction vectors are dimensional vectors k, with k being greater than or equal to 1, so that both cases of scalar and vector quantification can be objectified. Said vectors contain data that must be quantified. Said data contained in each vector can, for example, be a set of parameters, such as, for example, a set of coding coefficients LPC / LSF frequency of a frame or subframe of a voice or audio signal, or a set gain parameters, horizontal density or voice within one or more subsequent frames or subframes.

7/467/46

FF

Os ditos vetores são quantificados em nível N por meio da seleção de uma um vetor de reprodução a partir de um livro de código de nível N. A dita seleção pode, por exemplo, ser regida por um critério de distorção que quantifica a distorção (por exemplo, a distância euclidiana ou a distância euclidiana quadrada, 5 ou outros critérios) entre o vetor e o vetor de reprodução e, em seguida, o vetor de reprodução que minimiza o dito critério de distorção é selecionado. Um identificador do dito vetor de reprodução selecionado, em seguida, é emitido como um resultado da quantificação e permite que uma unidade de recuperação de vetor de reprodução, tendo em conta o fato de que esta unidade conhece o dito livro de 10 código, recupere o vetor de reprodução selecionado. Neste caso, a distorção entre o dito vetor e o vetor de reprodução selecionado geralmente diminui com o aumento do número de níveis N, uma vez que com o aumento de N, o livro de código de nível N contém mais vetores de reprodução e, portanto, é capaz de cobrir de uma maneira melhor o espaço vetorial no qual o dito vetor está contido.Said vectors are quantified at level N by selecting a reproduction vector from a level N code book. Said selection can, for example, be governed by a distortion criterion that quantifies the distortion (for example, example, the Euclidean distance or the square Euclidean distance, 5 or other criteria) between the vector and the reproduction vector and then the reproduction vector that minimizes said distortion criterion is selected. An identifier of said selected reproduction vector is then issued as a result of the quantification and allows a reproduction vector recovery unit, taking into account the fact that this unit knows said code book, to retrieve the selected reproduction vector. In this case, the distortion between said vector and the selected reproduction vector generally decreases with the increase in the number of N levels, since with the increase of N, the N-level code book contains more reproduction vectors and therefore , is able to better cover the vector space in which said vector is contained.

No entanto, com o crescente número de N, também em geral, o armazenamento e/ou a transmissão dos ditos identificadores fica mais complexa.However, with the increasing number of N, also in general, the storage and / or transmission of said identifiers becomes more complex.

Neste caso, o dito número de níveis N é selecionável antes da dita quantificação (em contraste com a quantificação vetorial de grade auto-escalável da técnica anterior, na qual a quantificação é auto-escalável e determina o número 20 mais adequado de níveis durante a quantificação, com base no vetor em questão a ser quantificado) a partir de um conjunto de pelo menos dois valores predefinidos menores que ou iguais a um número máximo predeterminado de níveis M (em contraste com a codificação embutida da técnica anterior, na qual a quantificação é sempre realizada com um número fixo de níveis correspondentes à taxa de bits 25 máxima). Por exemplo, M pode ser 256, e o dito conjunto de valores predefinidos a partir dos quais o dito número de níveis N pode ser selecionado pode ser definido como {2,4,8,16,32,64128256}.In this case, the said number of levels N is selectable before said quantification (in contrast to the vector quantification of self-scaling grid of the prior art, in which the quantification is self-scaling and determines the most appropriate number of levels during the quantification, based on the vector in question to be quantized) from a set of at least two predefined values less than or equal to a maximum predetermined number of levels M (in contrast to the prior art's built-in coding, in which quantification it is always performed with a fixed number of levels corresponding to the maximum bit rate 25). For example, M can be 256, and said set of predefined values from which said number of levels N can be selected can be defined as {2,4,8,16,32,64128256}.

No entanto, M e/ou N não necessariamente têm de ser potências deHowever, M and / or N do not necessarily have to be

2, uma vez que, em algumas aplicações de quantificação, pode ser mais eficiente 30 se usar livros de código compreendendo uma série de vetores de reprodução que2, since, in some quantification applications, it can be more efficient 30 using code books comprising a series of reproduction vectors that

8/46 não uma potência de 2, por exemplo, quando, como um identificador do dito vetor de reprodução selecionado, nenhuma palavra binária de comprimento n = log2 (N) é usada. M pode então, por exemplo, ser qualquer número inteiro desejado, e N pode então ser qualquer número pretendido com 1 < N < M.8/46 is not a power of 2, for example, when, as an identifier of said selected reproduction vector, no binary words of length n = log 2 (N) are used. M can then, for example, be any desired integer, and N can then be any desired number with 1 <N <M.

A dita seleção dos ditos números de níveis M pode, por exemplo, ser realizada por uma instância externa com relação ao dito quantificador. A dita seleção do dito número de níveis Λ/ pode, por exemplo, ser realizada na dependência das características de transmissão de um canal de transmissão através do qual as informações sobre os ditos vetores quantificados têm de ser transmitidas, ou na dependência da capacidade de armazenamento de uma unidade de armazenamento na qual as informações sobre os ditos vetores quantificados têm de ser armazenadas, para citar apenas algumas possibilidades.Said selection of said numbers of levels M can, for example, be carried out by an external instance with respect to said quantifier. Said selection of said number of levels Λ / can, for example, be carried out depending on the transmission characteristics of a transmission channel through which information about said quantized vectors has to be transmitted, or depending on the storage capacity. of a storage unit in which information about said quantified vectors has to be stored, to name just a few possibilities.

De acordo com este primeiro aspecto da presente invenção, a quantificação vetorial é realizada para diferentes números de níveis N com base no mesmo livro de código conjunto. Este livro de código conjunto contém todos os livros de código de nível N exigido para as quantificações com um número diferente de níveis N <M. Para cada N, os ditos livros de código de nível N são representados pelos respectivos primeiros vetores de reprodução N do livro de código conjunto. Por exemplo, se M = 256, e se o dito conjunto predefinido de pelo menos dois valores para N é {128,256}, no caso de N = 128, os primeiros 128 vetores de reprodução do dito livro de código de vetores de reprodução M = 256 formam o livro de código para a quantificação de nível 128 e, no caso de N = 256, os primeiros 256 vetores de reprodução do dito mesmo livro de código de vetores de reprodução M = 256 formam o livro de código para a quantificação de nível 256. Torna-se prontamente evidente para uma pessoa versada na técnica que, de uma forma igual mente bem, o dito livro de código de nível N pode ser posicionado no final do livro de código conjunto, caso seja mais adequado.In accordance with this first aspect of the present invention, vector quantification is performed for different numbers of levels N based on the same joint codebook. This joint code book contains all level N code books required for quantifications with a different number of N <M levels. For each N, said level N code books are represented by the respective first N reproduction vectors of the joint code book. For example, if M = 256, and if said predefined set of at least two values for N is {128,256}, in the case of N = 128, the first 128 reproduction vectors from said reproduction vector code book M = 256 form the code book for level 128 quantification and, in the case of N = 256, the first 256 reproduction vectors of said same reproduction vector code book M = 256 form the code book for level quantification 256. It becomes readily apparent to a person skilled in the art that, equally well, said code book of level N can be positioned at the end of the joint code book, if more appropriate.

Em contrapartida à técnica anterior, na qual um respectivo livro de código tem de ser construído e armazenado para cada número desejado de níveis N, de acordo com a presente invenção, apenas um livro de código conjunto tem deIn contrast to the prior art, in which a respective code book has to be constructed and stored for each desired number of levels N, according to the present invention, only a joint code book has to

9/46 ser construído e armazenado. Por exemplo, quando o número máximo de níveis M é definido para ser 256, de acordo com a presente invenção, apenas um livro de código com 256 vetores de reprodução tem de ser construído e armazenado, uma vez que o mesmo também compreende o livro de código para um número menor de níveis N, por exemplo, para N = 128, enquanto que, na técnica anterior, dois livros de código (com 256 e 128 vetores de reprodução) teriam de ser construídos e armazenados. Isto contribui substancialmente para reduzir os requisitos de armazenamento de ambos o quantificador e a unidade que recupera os vetores de reprodução dentre os vetores que foram quantificados no nível N, como também simplifica a estrutura do quantificador e de uma tal unidade, uma vez que apenas o acesso a um livro de código tem de ser controlado. A utilização de um livro de código conjunto para diferentes números de níveis N torna-se possível por meio da construção conseguinte de um livro de código conjunto. Geralmente, o número N de vetores de reprodução em cada livro de código de nível N contido no livro de código conjunto, de acordo com a presente invenção, pode ser escolhido de maneira flexível e, em especial, não se restringe à cardinalidade das conchas de grade, como no caso da quantificação VQ de grade da técnica anterior. Sendo assim, o livro de código conjunto de acordo com a presente invenção permite uma escolha particularmente flexível do número de níveis de quantificação. Um outro grau de flexibilidade é provido pela possibilidade de se selecionar a dimensão do dito vetor, de modo que tanto o caso da quantificação escalar como também o da quantificação vetorial possam ser tratados.9/46 be built and stored. For example, when the maximum number of levels M is set to 256, according to the present invention, only a codebook with 256 reproduction vectors has to be constructed and stored, since it also comprises the code for a smaller number of N levels, for example, for N = 128, whereas, in the prior art, two code books (with 256 and 128 reproduction vectors) would have to be built and stored. This contributes substantially to reducing the storage requirements of both the quantifier and the unit that retrieves the reproduction vectors from the vectors that were quantified at level N, as well as simplifying the structure of the quantifier and of such a unit, since only the access to a code book has to be controlled. The use of a joint codebook for different numbers of levels N is made possible by the consequent construction of a joint codebook. Generally, the number N of reproduction vectors in each N-level code book contained in the joint code book, according to the present invention, can be chosen flexibly and, in particular, is not restricted to the cardinality of the shells of grid, as in the case of the prior art grid VQ quantification. Accordingly, the joint codebook according to the present invention allows for a particularly flexible choice of the number of levels of quantification. Another degree of flexibility is provided by the possibility of selecting the dimension of said vector, so that both the case of scalar quantification and also that of vector quantification can be treated.

No método, de acordo com o primeiro aspecto da presente invenção, pode-se manter N=2n e M=2m, sendo que N e Msão valores inteiros. Limitar M e N como potências de dois pode ser particularmente vantajoso se as palavras binárias com comprimento de palavra N puderem ser usadas como identificadores dos vetores de reprodução selecionados, uma vez que uma palavra binária com comprimento i permite a indexação de vetores de reprodução diferentes 2*.In the method, according to the first aspect of the present invention, one can maintain N = 2 n and M = 2 m , where N and Ms are integer values. Limiting M and N as powers of two can be particularly advantageous if the binary words with word length N can be used as identifiers for the selected reproduction vectors, since a binary word with length i allows the indexing of different reproduction vectors 2 *.

No método, de acordo com o primeiro aspecto da presente invenção, cada um dos ditos vetores de reprodução no dito nível de livro de código N podeIn the method, according to the first aspect of the present invention, each of said reproduction vectors at said code book level N can

10/46 ser identificado por uma palavra binária de n-bit. No caso de N=2n, a dita palavra binária pode, então, indexar todos os vetores de reprodução N=2n no dito nível de livro de código N. No método, de acordo com o primeiro aspecto da presente invenção, os ditos vetores podem compreender parâmetros relacionados à Codificação Preditiva Linear de uma seqüência de dados. Os ditos parâmetros podem, por exemplo, ser coeficientes LPC/LSF que caracterizam um trato vocal durante um ou diversos quadros ou sub-quadros de um sinal de fala ou áudio e/ou parâmetros relacionados com um sinal de excitação (tal como ganho, densidade horizontal e voz) em um ou diversos quadros ou sub-quadros subsequentes do dito sinal de fala ou áudio.10/46 be identified by a n-bit binary word. In the case of N = 2 n , said binary word can then index all reproduction vectors N = 2 n in said codebook level N. In the method, according to the first aspect of the present invention, said vectors can understand parameters related to the Linear Predictive Coding of a data sequence. Said parameters can, for example, be LPC / LSF coefficients that characterize a vocal tract during one or several frames or sub-frames of a speech or audio signal and / or parameters related to an excitation signal (such as gain, density horizontal and voice) in one or several subsequent frames or sub-frames of said speech or audio signal.

No método, de acordo com o primeiro aspecto da presente invenção, a dita etapa de seleção pode ser realizada por um dispositivo de comunicação portátil. O dito dispositivo de comunicação portátil pode, por exemplo, ser um telefone celular, a Assistente Digital Pessoal (PDA), a computador portátil ou similar. Da mesma maneira, a dita etapa certamente pode ser realizada em um dispositivo de comunicação fixa, como por exemplo, estação de base ou elemento de rede de núcleo de um sistema de comunicação.In the method, according to the first aspect of the present invention, said selection step can be carried out by a portable communication device. Said portable communication device can, for example, be a cell phone, Personal Digital Assistant (PDA), portable computer or the like. In the same way, said step can certainly be performed on a fixed communication device, such as, for example, base station or core network element of a communication system.

Além disso, de acordo com o primeiro aspecto da presente invenção, propõe-se um dispositivo para nível de quantificação N de vetores, onde N é selecionável antes da dita quantificação de um conjunto de pelo menos dois valores pré-definidos que são menores ou iguais a um número máximo prédefinido de níveis Μ. O dito dispositivo compreende meios para selecionar um vetor de reprodução em cada vetor de um nível de livro de código N de vetores de reprodução N que são, em cada N no dito conjunto de pelo menos dois valores pré-definidos, representados pelos primeiros vetores de reprodução N do mesmo livro de código conjugado de vetores de reprodução M.In addition, according to the first aspect of the present invention, a device for quantification level N of vectors is proposed, where N is selectable before said quantification of a set of at least two predefined values that are less than or equal to a maximum predefined number of levels Μ. Said device comprises means for selecting a reproduction vector in each vector of a code level N of reproduction vectors N which are, in each N in said set of at least two predefined values, represented by the first vectors of reproduction N of the same conjugated codebook of reproduction vectors M.

Para este dispositivo, de acordo com o primeiro aspecto da presente invenção, aplicam-se as mesmas características e vantagens já discutidas no contexto do método.For this device, according to the first aspect of the present invention, the same characteristics and advantages already discussed in the context of the method apply.

11/4611/46

O dito dispositivo, de acordo com o primeiro aspecto da presente invenção, pode ser um dispositivo de comunicação portátil. O dito dispositivo de comunicação portátil pode ser, por exemplo, um telefone celular, um Assistente Digital Pessoal (PDA), um computador portátil ou similar. Igualmente, o dito dispositivo pode ser, certamente, um dispositivo de comunicação fixa, como por exemplo, uma estação de base ou elemento de rede de núcleo de um sistema de comunicação.Said device, according to the first aspect of the present invention, can be a portable communication device. Said portable communication device can be, for example, a cell phone, a Personal Digital Assistant (PDA), a portable computer or the like. Also, said device can, of course, be a fixed communication device, such as, for example, a base station or core network element of a communication system.

Além disso, de acordo com o primeiro aspecto da presente invenção, propõe-se um produto de aplicação de software que compreende um meio de armazenamento que possui uma aplicação de software para o nível de quantificação N de vetores embutidos no mesmo, onde N é selecionável antes da dita quantificação de um conjunto de pelo menos dois valores pré-definidos que são menores ou iguais a um número máximo pré-definido de níveis Μ. A dita aplicação de software compreende um código de programa para selecionar um vetor de reprodução para cada vetor de um nível de livro de código N de vetores de reprodução N que são, para cada N no dito conjunto de pelo menos dois valores pré-definidos, representados pelos primeiros vetores de reprodução N do mesmo livro de código conjugado de vetores de reprodução Μ. O dito meio de armazenamento pode ser qualquer elemento de memória ou armazenamento volátil ou não volátil, tais como, por exemplo, uma Memória Somente Leitura (ROM), Memória de Acesso Aleatório (RAM), um cartão de memória e um disco óptica, elétrica ou magneticamente legível. O dito código de programa contido na dita aplicação de software pode ser executado em uma linguagem de programação processual ou orientada por objeto de alto nível para se comunicar com um sistema de computador ou em linguagem de montagem ou máquina para se comunicar com um processador digital. De qualquer maneira, o dito código de programa pode ser um código compilado ou interpretado.In addition, according to the first aspect of the present invention, a software application product is proposed which comprises a storage medium that has a software application for the level of quantification N of vectors embedded in it, where N is selectable before said quantification of a set of at least two predefined values that are less than or equal to a maximum predefined number of levels Μ. Said software application comprises a program code for selecting a reproduction vector for each vector of a N code book level of reproduction vectors N which are, for each N in said set of at least two predefined values, represented by the first reproduction vectors N of the same codebook of reproduction vectors Μ. Said storage medium can be any element of memory or volatile or non-volatile storage, such as, for example, a Read-Only Memory (ROM), Random Access Memory (RAM), a memory card and an optical, electrical disk or magnetically readable. Said program code contained in said software application can be executed in a high-level procedural or object-oriented programming language to communicate with a computer system or in assembly language or machine to communicate with a digital processor. In any case, said program code can be compiled or interpreted code.

Para este produto de aplicação de software, de acordo com o primeiro aspecto da presente invenção, aplicam-se as mesmas características e vantagens já discutidas no contexto do método.For this software application product, according to the first aspect of the present invention, the same characteristics and advantages already discussed in the context of the method apply.

12/4612/46

Segundo Aspecto da InvençãoSecond Aspect of the Invention

De acordo com um segundo aspecto da presente invenção, propõese um método para recuperar vetores de reprodução para os vetores que foram quantificados em nível N, onde N é selecionável antes de uma quantificação dos ditos vetores de um conjunto de pelo menos dois valores pré-definidos que são menores ou iguais a um número máximo pré-definido de níveis Μ. O dito método compreende receber um identificador de um vetor de reprodução que foi selecionado para um vetor na dita quantificação; e recuperar, com base no dito identificador, o dito vetor de reprodução de um nível de livro de código N de vetores de reprodução N que são, para cada N no dito conjunto de pelo menos dois valores pré-definidos, representados pelos primeiros vetores de reprodução N do mesmo livro de código conjugado de vetores de reprodução M.According to a second aspect of the present invention, a method is proposed to recover reproduction vectors for vectors that have been quantified at level N, where N is selectable before a quantification of said vectors from a set of at least two predefined values that are less than or equal to a predefined maximum number of levels Μ. Said method comprises receiving an identifier of a reproduction vector that was selected for a vector in said quantification; and retrieving, based on said identifier, said reproduction vector of a code level N of reproduction vectors N which are, for each N in said set of at least two predefined values, represented by the first vectors of reproduction N of the same conjugated codebook of reproduction vectors M.

Neste particular, deve-se notar que a descrição dos vetores e dos vetores de reprodução, da seleção dos inúmeros níveis N é da seleção do vetor de reprodução para cada vetor apresentado no contexto do primeiro aspecto da presente invenção também se aplica ao segundo aspecto da presente invenção.In this regard, it should be noted that the description of the vectors and the reproduction vectors, the selection of the numerous levels N is the selection of the reproduction vector for each vector presented in the context of the first aspect of the present invention also applies to the second aspect of present invention.

Os ditos vetores foram quantificados selecionando-se um vetor de reprodução de um nível de livro de código N, de acordo com um critério de distorção, conforme descrito, por exemplo, no contexto do primeiro aspecto da presente invenção. Este vetor de reprodução é identificado por um identificador, que pode ser, por exemplo, uma palavra binária de n-bit e que pode ser, por exemplo, transmitida através de um canal de transmissão para um dispositivo que realiza o método de acordo com o segundo aspecto da presente invenção. Mediante a recepção do dito identificador e com base no dito identificador, o vetor de reprodução correspondente é recuperado a partir do nível de livro de código N que é representado pelos primeiros vetores de reprodução N do dito livro de código conjugado. O fato de que para todos os N que são selecionáveis para a dita quantificação, os níveis de livros de código N correspondentes são contidos no dito livro de código conjugado reduz amplamente a capacidade de armazenamento que é requerida em uma unidade que realiza o método, de acordo com o segundoSaid vectors were quantified by selecting a reproduction vector from an N code book level, according to a distortion criterion, as described, for example, in the context of the first aspect of the present invention. This reproduction vector is identified by an identifier, which can be, for example, a binary word of n-bit and which can, for example, be transmitted through a transmission channel to a device that performs the method according to the second aspect of the present invention. Upon receipt of said identifier and based on said identifier, the corresponding reproduction vector is retrieved from the codebook level N which is represented by the first reproduction vectors N of said conjugated codebook. The fact that for all N that are selectable for said quantification, the levels of corresponding N code books are contained in said conjugated code book greatly reduces the storage capacity that is required in a unit that performs the method, according to the second

13/46 aspecto da presente invenção. Além disso, a operação desta unidade é simplificada, já que se requer somente o acesso a um único livro de código (o livro de código conjugado) e não a uma pluralidade de livros de código.13/46 aspect of the present invention. In addition, the operation of this unit is simplified, since only access to a single code book (the combined code book) is required and not to a plurality of code books.

Além disso, de acordo com o segundo aspecto da presente invenção, propõe-se um dispositivo para recuperar vetores de reprodução para vetores que foram quantificados em nível N, onde N é selecionável antes de uma quantificação dos ditos vetores de um conjunto de pelo menos dois valores pré-definidos que são menores ou iguais a um número máximo pré-definido de níveis Μ. O dito dispositivo compreende meios para receber um identificador de um vetor de reprodução que foi selecionado para um vetor na dita quantificação; e meios para recuperar com base no dito identificador, o dito vetor de reprodução de um livro de código de nível Λ/ de vetores de reprodução /V que são, para cada Λ/ no dito conjunto de pelo menos dois valores pré-definidos, representados pelos primeiros vetores de reprodução N do mesmo livro de código conjugado de vetores de reprodução M.In addition, according to the second aspect of the present invention, a device is proposed to recover reproduction vectors for vectors that have been quantified at level N, where N is selectable before a quantification of said vectors from a set of at least two predefined values that are less than or equal to a maximum predefined number of levels Μ. Said device comprises means for receiving an identifier for a reproduction vector that has been selected for a vector in said quantization; and means for retrieving, based on said identifier, said reproduction vector of a codebook of level Λ / reproduction vectors / V which are, for each Λ / in said set of at least two predefined values, represented by the first reproduction vectors N of the same conjugated codebook of reproduction vectors M.

Além disso, de acordo com o segundo aspecto da presente invenção, propõe-se um produto de aplicação de software que compreende um meio de armazenamento que tem uma aplicação de software para recuperar vetores de reprodução para os vetores que foram quantificados em nível N embutidos neste, onde N é selecionável antes de uma quantificação dos ditos vetores de um conjunto de pelo menos dois valores pré-definidos que são menores ou iguais a um número máximo pré-definido de níveis Μ. A dita aplicação de software compreende um código de programa para receber um identificador de um vetor de reprodução que foi selecionado para um vetor na dita quantificação e o código de programa para recuperar, com base no dito identificador, o dito vetor de reprodução de um nível de livro de código N de vetores de reprodução N que são, para cada N no dito conjunto de pelo menos dois valores pré-definidos, representados pelos primeiros vetores de reprodução N do mesmo livro de código conjugado de vetores de reprodução M.In addition, according to the second aspect of the present invention, a software application product is proposed that comprises a storage medium that has a software application to retrieve reproduction vectors for vectors that have been quantified at level N embedded in this , where N is selectable before a quantification of said vectors of a set of at least two predefined values that are less than or equal to a maximum predefined number of levels Μ. Said software application comprises a program code for receiving an identifier of a reproduction vector that has been selected for a vector in said quantification and the program code for recovering, based on said identifier, said reproduction vector of a level of code book N of reproduction vectors N which are, for each N in said set of at least two predefined values, represented by the first reproduction vectors N of the same conjugated code book of reproduction vectors M.

14/4614/46

O dito meio de armazenamento pode ser qualquer elemento de memória ou armazenamento volátil ou não volátil, tais como, por exemplo, uma Memória Somente Leitura (ROM), uma Memória de Acesso Aleatório (RAM), um cartão de memória e um disco óptica, elétrica ou magneticamente legível. O dito código de programa contido na dita aplicação de software pode ser executado em uma linguagem de programação processual ou orientada por objeto de alto nível para se comunicar com um sistema de computador ou em linguagem de montagem ou máquina para se comunicar com um processador digital. De qualquer maneira, o dito código de programa pode ser um código compilado ou interpretado.Said storage medium can be any element of memory or volatile or non-volatile storage, such as, for example, a Read-Only Memory (ROM), a Random Access Memory (RAM), a memory card and an optical disk, electrically or magnetically readable. Said program code contained in said software application can be executed in a high-level procedural or object-oriented programming language to communicate with a computer system or in assembly language or machine to communicate with a digital processor. In any case, said program code can be compiled or interpreted code.

Terceiro Aspecto da InvençãoThird Aspect of the Invention

De acordo com um terceiro aspecto da presente invenção, propõe-se um sistema para transferir representações de vetores. O sistema compreende meios para selecionar um vetor de reprodução para cada vetor de um nível de livro de código N de vetores de reprodução N, onde N é selecionável antes da dita seleção de um conjunto de pelo menos dois valores pré-definidos que são menores ou iguais a um número máximo pré-definido de níveis M e, onde os ditos vetores de reprodução N são, para cada N no dito conjunto de pelo menos dois valores pré-definidos, representados pelos primeiros vetores de reprodução N de um primeiro livro de código conjugado de vetores de reprodução M; meios para transmitir um identificador do dito vetor de reprodução selecionado através de um canal de transmissão; meios para receber o dito identificador e meios para recuperar, com base no dito identificador, o dito vetor de reprodução de um nível de livro de código N de vetores de reprodução N representados pelos primeiros vetores de reprodução N de um segundo livro de código conjugado de vetores de reprodução M que iguala o dito primeiro livro de código conjugado.In accordance with a third aspect of the present invention, a system for transferring vector representations is proposed. The system comprises means for selecting a reproduction vector for each vector of a codebook level N of reproduction vectors N, where N is selectable before said selection of a set of at least two predefined values that are smaller or equal to a maximum predefined number of levels M and, where said reproduction vectors N are, for each N in said set of at least two predefined values, represented by the first reproduction vectors N of a first code book conjugate of reproduction vectors M; means for transmitting an identifier of said selected reproduction vector through a transmission channel; means for receiving said identifier and means for retrieving, based on said identifier, said reproduction vector of a codebook level N of reproduction vectors N represented by the first reproduction vectors N of a second conjugated codebook of reproduction vectors M which equals said first conjugated code book.

Neste particular, deve-se notar que a descrição dos vetores e dos vetores de reprodução, da seleção dos inúmeros níveis N e da seleção do vetor de reprodução para cada vetor apresentado no contexto do primeiro aspecto da presente invenção também se aplica ao terceiro aspecto da presente invenção.In this regard, it should be noted that the description of the vectors and the reproduction vectors, the selection of the numerous N levels and the selection of the reproduction vector for each vector presented in the context of the first aspect of the present invention also applies to the third aspect of present invention.

15/4615/46

Selecionando-se um vetor de reprodução para cada vetor de um nível de livro de código N que é contido no dito primeiro livro de código conjugado e transmitir um identificador somente do dito vetor de reprodução, tal como, por exemplo, uma palavra binária de n-bit com n=log2 (N), obtém-se uma transferência particularmente eficiente de uma representação do dito vetor (isto é, o dito vetor de reprodução ou seu identificador correspondente), uma vez que a informação sobre o identificador ativa uma unidade que recebe o dito identificador para recuperar o dito vetor de reprodução de um nível de livro de código N correspondente contido no dito segundo livro de código conjugado (que iguala o dito primeiro livro de código). Neste particular, a distorção do vetor que é causada pelo fato de que os vetores de reprodução se originam de um livro de código com um número limitado de vetores de reprodução e, deste modo, geralmente se diferem do dito vetor, diminui com o aumento de N, considerando que o comprimento de palavra da palavra binária de n-bit aumenta. Deste modo, através de N, pode-se controlar a permutação entre a precisão e a capacidade de transmissão requerida.Selecting a reproduction vector for each vector of a codebook level N that is contained in said first conjugated codebook and transmitting an identifier only for said reproduction vector, such as, for example, a binary word of n -bit with n = log 2 (N), a particularly efficient transfer of a representation of said vector is obtained (that is, said reproduction vector or its corresponding identifier), since the information about the identifier activates a unit which receives said identifier to retrieve said reproduction vector of a corresponding N codebook level contained in said second conjugated codebook (which equals said first codebook). In this regard, the vector distortion that is caused by the fact that the reproduction vectors originate from a codebook with a limited number of reproduction vectors and, therefore, generally differ from said vector, decreases with the increase of N, whereas the word length of the n-bit binary word increases. In this way, through N, it is possible to control the permutation between the precision and the required transmission capacity.

A dita seleção do dito vetor de reprodução (isto é, a dita quantificação do vetor) pode ocorrer, por exemplo, em um transmissor em uma rede de comunicação, tal como, um sistema de rádio móvel, e a dita recuperação do dito vetor de reprodução, então, pode ser realizada em um receptor na dita rede de comunicação. Um canai de transmissão entre o dito transmissor e o dito receptor pode ser um canal de transmissão com ou sem fio. O dito canal de transmissão também pode ser entendido como uma representação de um meio de armazenamento no qual o dito identificador do dito vetor de reprodução é armazenado no site transmissor e lido no site receptor. Além disso, o dito identificador pode ser submetido a uma codificação de canal ou processamento adicional antes de ser transmitido.Said selection of said reproduction vector (that is, said quantification of the vector) can occur, for example, in a transmitter in a communication network, such as a mobile radio system, and said recovery of said vector of reproduction, then, can be carried out in a receiver in said communication network. A transmission channel between said transmitter and said receiver can be a wired or wireless transmission channel. Said transmission channel can also be understood as a representation of a storage medium in which said identifier of said reproduction vector is stored at the transmitting site and read at the receiving site. In addition, said identifier can be subjected to channel encoding or further processing before being transmitted.

Quarto Aspecto da InvençãoFourth Aspect of the Invention

De acordo com um quarto aspecto da presente invenção, propõe-se um método para determinar um livro de código conjugado de vetores de reprodução M para uso em uma quantificação de vetores de nível N, onde M é umIn accordance with a fourth aspect of the present invention, a method is proposed to determine a conjugated codebook of reproduction vectors M for use in quantifying vectors of level N, where M is a

16/46 número máximo pré-definido de níveis, onde /V é selecionável antes da dita quantificação de um conjunto de pelo menos dois valores pré-definidos que são menores ou iguais a M, e onde na dita quantificação, um vetor de reprodução para cada vetor é selecionado a partir de um nível de livro de código N de vetores de reprodução N que são, para cada N no dito conjunto de pelo menos dois valores pré-definidos, representados pelos primeiros vetores de reprodução N do dito livro de código conjugado. O dito método compreende a geração dos ditos vetores de reprodução por um algoritmo de treinamento baseado, pelo menos parcialmente, em uma pluralidade de vetores de treinamento; e dispõe os ditos vetores de reprodução gerados no dito livro de código conjugado de acordo com um algoritmo de ajuste, de modo que para cada N, os primeiros vetores de reprodução N no dito conjunto de vetores de reprodução M formem um nível de livro de código N que permita uma distorção média pequena dos ditos vetores quando usados na dita quantificação dos ditos vetores.16/46 maximum predefined number of levels, where / V is selectable before said quantification of a set of at least two predefined values that are less than or equal to M, and where in said quantification, a reproduction vector for each vector is selected from a codebook level N of reproduction vectors N which are, for each N in said set of at least two predefined values, represented by the first reproduction vectors N of said conjugated codebook . Said method comprises the generation of said reproduction vectors by a training algorithm based, at least partially, on a plurality of training vectors; and disposes said reproduction vectors generated in said conjugated codebook according to an adjustment algorithm, so that for each N, the first reproduction vectors N in said set of reproduction vectors M form a codebook level N that allows a small average distortion of said vectors when used in said quantification of said vectors.

Neste particular, deve-se notar que a descrição dos vetores e dos vetores de reprodução, da seleção dos inúmeros níveis N e da seleção do vetor de reprodução para cada vetor apresentado no contexto do primeiro aspecto da presente invenção também se aplica ao quarto aspecto da presente invenção.In this regard, it should be noted that the description of the vectors and the reproduction vectors, the selection of the numerous N levels and the selection of the reproduction vector for each vector presented in the context of the first aspect of the present invention also applies to the fourth aspect of present invention.

O livro de código conjugado determinado pelo dito método, de acordo com o quarto aspecto da presente invenção, então, pode ser armazenado, por exemplo, em uma memória de um dispositivo que usa um quantificador e/ou uma unidade que recupera os vetores de reprodução de vetores que foram quantificados em nível N. O ajuste específico dos vetores de reprodução M no dito livro de código conjugado, de acordo com dito algoritmo de ajuste, permite que o dito livro de código conjugado seja usado como um único livro de código para a quantificação de vetores com números diferentes selecionáveis de níveis NíMe, deste modo, contribui com a economia de memória no quantificador e em uma unidade de recuperação de vetor de reprodução.The conjugated code book determined by said method, according to the fourth aspect of the present invention, can then be stored, for example, in a device memory that uses a quantifier and / or a unit that retrieves the reproduction vectors of vectors that were quantified at level N. The specific adjustment of the reproduction vectors M in said conjugated codebook, according to said adjustment algorithm, allows said conjugated codebook to be used as a single codebook for the vector quantification with different selectable numbers of NíMe levels, thus contributing to the memory savings in the quantizer and in a reproduction vector recovery unit.

O dito algoritmo de treinamento produz um conjunto de vetores de reprodução L baseado pelo menos parcial mente na dita pluralidade de vetores deSaid training algorithm produces a set of reproduction vectors L based at least partially on said plurality of vectors of

17/46 treinamento, onde L pode ser arbitrariamente selecionado. O dito algoritmo de treinamento pode ser, por exemplo, um algoritmo LBG ou qualquer outro tipo de algoritmo de treinamento do livro de código. Uma forma do algoritmo LBG consiste no algoritmo LBG para uma distribuição desconhecida dos vetores, como proposta na referência da técnica anterior de Linde et al. citada na parte aberta desta especificação de patente. Além da dita pluralidade de vetores de treinamento, o dito algoritmo pode ser dotado de um ou mais vetores de reprodução que devem ser considerados fixos durante a dita geração do dito conjunto de vetores de reprodução L.17/46 training, where L can be arbitrarily selected. Said training algorithm can be, for example, an LBG algorithm or any other type of codebook training algorithm. One form of the LBG algorithm consists of the LBG algorithm for an unknown distribution of vectors, as proposed in the previous technique reference by Linde et al. cited in the open part of this patent specification. In addition to said plurality of training vectors, said algorithm may be provided with one or more reproduction vectors that must be considered fixed during said generation of said set of reproduction vectors L.

A dita etapa de geração dos ditos vetores de reprodução não precisa ser necessariamente realizada somente uma vez para se obter todos os vetores de reprodução M, a mesma pode ser igualmente realizada diversas vezes (por exemplo, com números crescentes de vetores de reprodução sendo gerados a cada vez).The said generation stage of said reproduction vectors does not necessarily have to be performed only once to obtain all the reproduction vectors M, it can also be performed several times (for example, with increasing numbers of reproduction vectors being generated at each time).

O dito algoritmo de ajuste tem como objetivo para cada N, os primeiros vetores de reprodução N no dito conjunto de vetores de reprodução M que formam um nível de livro de código N que permite uma distorção média pequena dos ditos vetores quando usada no dito nível de quantificação N dos ditos vetores. Neste particular, a dita distorção quantifica um desvio do vetor a partir do vetor de reprodução que é selecionado a partir do nível de livro de código N na dita quantificação do dito vetor. De acordo com o algoritmo de ajuste usado, os livros de código de vetores de reprodução diferentes M podem ser produzidos. Além disso, é prontamente claro que, com os números crescentes de níveis N (isto é, números crescentes de vetores de reprodução no nível de livro de código N) , a distorção média dos ditos vetores diminui devido à disponibilidade de um número aumentado de vetores de reprodução no nível de livro de código N. Deste modo, por exemplo, uma distorção média realizável com um livro de código com 64 vetores de reprodução pode ser significativamente maior que uma distorção média realizável com um livro de código com 128 vetores de reprodução, mas ainda podeThe said adjustment algorithm aims for each N, the first reproduction vectors N in said set of reproduction vectors M that form a level of codebook N that allows a small average distortion of said vectors when used in said level of quantification N of said vectors. In this particular, said distortion quantifies a deviation of the vector from the reproduction vector that is selected from the codebook level N in said quantification of said vector. According to the tuning algorithm used, different reproduction vector codebooks M can be produced. Furthermore, it is readily clear that with the increasing numbers of N levels (i.e., increasing numbers of reproduction vectors at the N code book level), the average distortion of said vectors decreases due to the availability of an increased number of vectors of reproduction at the level of codebook N. Thus, for example, an average distortion achievable with a codebook with 64 reproduction vectors can be significantly greater than an average distortion achievable with a codebook with 128 reproduction vectors, but you can still

18/46 ser considerada pequena dentro do contexto do livro de código com 64 vetores de reprodução.18/46 be considered small within the context of the code book with 64 reproduction vectors.

No dito método de acordo com o quarto aspecto da presente invenção, pode-se manter N=2n e M=2m, sendo que Ne M são valores inteiros. Isto pode ser particularmente vantajoso se as palavras binárias com comprimento de palavra N puderem ser usadas como identificadores dos vetores de reprodução selecionados, uma vez que uma palavra binária com comprimento i permite a indexação de vetores de reprodução diferentes 2' e, deste modo, representa um meio eficiente para transferir e armazenar informações nos vetores de reprodução selecionados.In said method according to the fourth aspect of the present invention, one can maintain N = 2 n and M = 2 m , where Ne M are integer values. This can be particularly advantageous if the binary words with word length N can be used as identifiers for the selected reproduction vectors, since a binary word with length i allows the indexing of different reproduction vectors 2 'and thus represents an efficient way to transfer and store information in selected reproduction vectors.

Uma primeira modalidade do método de acordo com o quarto aspecto da presente invenção compreende gerar de um livro de código inicial de vetores de reprodução M pelo dito algoritmo de treinamento: gerar um livro de código de dois níveis de dois vetores de reprodução pelo dito algoritmo de treinamento; selecionar os dois vetores de reprodução a partir do dito livro de código inicial que sejam mais similares aos ditos dois vetores de reprodução no dito livro de código de dois níveis; copiar os ditos dois vetores de reprodução selecionados a partir do dito livro de código inicial para as primeiras duas posições no dito livro de código conjugado e apagar os ditos dois vetores de reprodução selecionados do dito livro de código inicial; e repetir, para 1 < i < m, as seguintes etapas: gerar um livro de código com I níveis de vetores de reprodução l=2f pelo dito algoritmo de treinamento; identificar estes vetores de reprodução I/2 a partir do dito livro de código com I níveis que sejam mais similares aos ditos vetores de reprodução I/2 já copiados ao dito livro de código conjugado; para os vetores de reprodução i/2 restantes não-identificados no dito livro de código com I níveis, selecionar os vetores de reprodução i/2 a partir do dito livro de código inicial que sejam mais similares aos ditos vetores de reprodução l/2 restantes nãoidentificados; e copiar os ditos vetores de reprodução I/2 selecionados a partir do dito livro de código inicial para as próximas posições livres, em lógica crescente noA first modality of the method according to the fourth aspect of the present invention comprises generating from an initial code book of reproduction vectors M by said training algorithm: generating a two-level code book of two reproduction vectors by said algorithm of reproduction training; selecting the two reproduction vectors from said initial codebook that are more similar to said two reproduction vectors in said two-level codebook; copying said two reproduction vectors selected from said initial codebook to the first two positions in said conjugated code book and deleting said two reproduction vectors selected from said initial codebook; and repeat, for 1 <i <m, the following steps: generate a code book with I levels of reproduction vectors l = 2 f by the said training algorithm; identify these I / 2 reproduction vectors from said code book with I levels that are more similar to said I / 2 reproduction vectors already copied to said conjugated code book; for the remaining i / 2 reproduction vectors not identified in said I-2 codebook, select the i / 2 reproduction vectors from said initial codebook that are most similar to the remaining l / 2 reproduction vectors unidentified; and copy said I / 2 reproduction vectors selected from said initial code book to the next free positions, in increasing logic in

19/46 dito livro de código conjugado e apagar os ditos vetores de reprodução i/2 selecionados a partir do dito livro de código inicial.19/46 said conjugated code book and delete said i / 2 reproduction vectors selected from said initial code book.

Nesta primeira modalidade, onde se supõe que N e M sejam potências de 2, primeiramente, todos os vetores de reprodução M (o livro de código inicial) são gerados de uma vez só pelo dito algoritmo de treinamento com base em uma pluralidade de vetores de treinamento, e, depois, os vetores de reprodução gerados são sequencialmente dispostos no dito livro de código conjugado, onde a dita disposição, para cada estágio i do algoritmo, compreende a geração de livros de código de vetores de reprodução I pelo dito algoritmo de treinamento de modo a permitir uma orientação no melhor livro de código respectivo do dito estágio i. Nesse particular, avalia-se a semelhança dos vetores por meio de um critério de semelhança, que pode, por exemplo, ser a distância euclidiana entre os vetores ou a distância euclidiana quadrática, para citar alguns.In this first modality, where N and M are assumed to be powers of 2, first, all reproduction vectors M (the initial codebook) are generated at once by the said training algorithm based on a plurality of vectors of training, and then the reproduction vectors generated are sequentially arranged in said conjugated code book, where said arrangement, for each stage i of the algorithm, comprises the generation of reproduction vector code books I by said training algorithm in order to allow an orientation in the best respective code book of said stage i. In this regard, the similarity of the vectors is evaluated using a similarity criterion, which can, for example, be the Euclidean distance between the vectors or the quadratic Euclidean distance, to name a few.

Uma segunda modalidade do método de acordo com to quarto aspecto da presente invenção compreende gerar um livro de código de dois níveis de dois vetores de reprodução pelo dito algoritmo de treinamento; copiar os ditos dois vetores de reprodução a partir do dito livro de código de dois níveis para as primeiras duas posições no dito livro de código conjugado; e repetir para 1 < i m, as seguintes etapas: gerar um Livro de código com I níveis de vetores de reprodução 1=2* pelo dito algoritmo de treinamento, onde no dito algoritmo de treinamento, os vetores de reprodução 1/2 já copiados para o dito livro de código conjugado formam a primeira parte de um livro de código de vetores de reprodução I, que serve como uma inicialização do dito Livro de código com I níveis gerado pelo dito algoritmo de treinamento, e se supõe que sejam fixos ao longo de todo o dito algoritmo de treinamento; e copiar os últimos vetores de reprodução 1/2 do dito livro de código com I níveis gerado para as próximas posições 1/2 livres aumentando a lógica no dito livro de código conjugado.A second embodiment of the method according to the fourth aspect of the present invention comprises generating a two-level codebook of two reproduction vectors by said training algorithm; copying said two reproduction vectors from said two-level code book to the first two positions in said conjugated code book; and repeat for 1 <im, the following steps: generate a Code Book with I levels of reproduction vectors 1 = 2 * by the said training algorithm, where in the said training algorithm, the reproduction vectors 1/2 already copied to said conjugated code book forms the first part of a reproduction vector code book I, which serves as an initialization of said code book with I levels generated by said training algorithm, and is supposed to be fixed along all said training algorithm; and copy the last reproduction vectors 1/2 of said code book with I levels generated to the next free 1/2 positions increasing the logic in said conjugated code book.

Nesta segunda modalidade, onde se supõe que N e M sejam potências de 2, os vetores de reprodução para o dito livro de código conjugado não são gerados de uma só vez, porém, sequencialmente em blocos de tamanhoIn this second modality, where N and M are assumed to be powers of 2, the reproduction vectors for said conjugated code book are not generated at once, however, sequentially in blocks of size

20/4620/46

Ι/2. Nesse particular, os graus de liberdade do algoritmo de treinamento na geração de um livro de código de vetores de reprodução I são limitados dotandose o algoritmo de treinamento de primeiros vetores de reprodução I/2 do dito livro de código e exigindo que estes vetores de reprodução permaneçam fixos durante a geração dos vetores de reprodução I/2 restantes. Como uma alternativa à cópia dos últimos vetores de reprodução I/2 do livro de código gerado para as próximas posições I/2 livres no livro de código conjugado, naturalmente, todo o livro de código gerado (compreendendo vetores de reprodução I) poderia, também, ser copiado para as primeiras posições I no livro de código.Ι / 2. In this regard, the degrees of freedom of the training algorithm in the generation of a reproduction vector code book I are limited by endowing the training algorithm of the first reproduction vectors I / 2 of said code book and requiring these reproduction vectors remain fixed during the generation of the remaining I / 2 reproduction vectors. As an alternative to copying the last I / 2 reproduction vectors from the generated codebook to the next free I / 2 positions in the conjugated codebook, naturally, the entire generated codebook (comprising I reproduction vectors) could also , be copied to the first I positions in the code book.

Uma primeira alternativa de uma terceira modalidade do método de acordo com o quarto aspecto da presente invenção compreende gerar um livro de código inicial de vetores de reprodução M pelo dito algoritmo de treinamento com base em uma pluralidade de vetores de treinamento; selecionar, a partir do dito livro de código inicial, os dois vetores de reprodução que sejam mais diferentes entre si; copiar os ditos dois vetores de reprodução selecionados a partir do livro de código inicial para as primeiras duas posições no dito livro de código conjugado e apagar os ditos dois vetores de reprodução selecionados a partir do dito livro de código inicial; e repetir, embora o dito livro de código inicial seja não-vazio, as seguintes etapas: selecionar o vetor de reprodução a partir do dito livro de código inicial que seja mais diferente em relação a todos os vetores de reprodução já copiados ao dito livro de código conjugado; copiar o dito vetor de reprodução selecionado a partir do dito livro de código inicial para a próxima posição, em lógica crescente no dito livro de código conjugado e apagando o dito vetor de reprodução selecionado a partir do dito livro de código inicial.A first alternative of a third modality of the method according to the fourth aspect of the present invention comprises generating an initial code book of reproduction vectors M by said training algorithm based on a plurality of training vectors; select, from said initial code book, the two reproduction vectors that are most different from each other; copying said two reproduction vectors selected from the initial code book to the first two positions in said conjugated code book and deleting said two reproduction vectors selected from said initial code book; and repeat, although said initial code book is non-empty, the following steps: select the reproduction vector from said initial code book that is more different in relation to all reproduction vectors already copied to said conjugated code; copying said selected reproduction vector from said initial code book to the next position, in increasing logic in said conjugated code book and deleting said selected reproduction vector from said initial code book.

Uma segunda alternativa da terceira modalidade do método de acordo com o quarto aspecto da presente invenção compreende gerar um livro de código inicial de vetores de reprodução M pelo dito algoritmo de treinamento com base em uma pluralidade de vetores de treinamento; selecionar, a partir do dito livro de código inicial, o vetor de reprodução que seja mais similar a todos os ditos vetores de treinamento; copiar o dito vetor de reprodução selecionado a partir doA second alternative of the third embodiment of the method according to the fourth aspect of the present invention comprises generating an initial codebook of reproduction vectors M by said training algorithm based on a plurality of training vectors; select, from said initial code book, the reproduction vector that is most similar to all said training vectors; copy said selected reproduction vector from the

21/46 dito livro de código inicial para a primeira posição no dito livro de código conjugado e apagar o dito vetor de reprodução selecionado a partir do dito livro de código inicial; e repetir, embora o dito livro de código inicial seja não-vazio, as seguintes etapas: selecionar o vetor de reprodução a partir do dito livro de código inicial que seja mais diferentes em relação a todos os vetores de reprodução já copiados ao dito livro de código conjugado; copiar o dito vetor de reprodução selecionado a partir do dito livro de código inicial para a próxima posição livre, em lógica crescente no dito livro de código conjugado e apagando o dito vetor de reprodução selecionado a partir do dito livro de código inicial.21/46 said initial code book to the first position in said conjugated code book and deleting said reproduction vector selected from said initial code book; and repeat, although said initial code book is non-empty, the following steps: select the reproduction vector from said initial code book that is most different from all reproduction vectors already copied to said conjugated code; copying said selected reproduction vector from said initial code book to the next free position, in increasing logic in said conjugated code book and deleting said selected reproduction vector from said initial code book.

Nesta terceira modalidade, primeiramente, todos os vetores de reprodução M (o livro de código inicial) são gerados de uma só vez pelo dito algoritmo de treinamento com base nos dados de treinamento, e, depois, os vetores de reprodução gerados são sequencialmente dispostos no dito livro de código conjugado, onde se tenta dispor os vetores de reprodução a partir do dito livro de código inicial no dito livro de código conjugado com diminuição do grau de diferença, contados do início do dito livro de código conjugado, de tal modo que a maior parte dos vetores de reprodução diferentes fiquem posicionados no início do livro de código conjugado. Nesse particular, a diferença entre os vetores é avaliada com base em um critério de diferença, como, por exemplo, a distância Euclidiana entre os vetores ou a distância Euclidiana quadrática, para citar alguns. De acordo com a primeira alternativa, os dois vetores de reprodução no dito livro de código inicial que são mais diferentes entre si são copiados para as primeiras duas posições no dito livro de código conjugado, enquanto que, de acordo com a segunda alternativa, o vetor de reprodução a partir do dito livro de código inicial que seja mais similar a todos os vetores de treinamento na dita pluralidade de vetores de treinamento é copiado para a primeira posição no dito livro de código conjugado.In this third modality, first, all the reproduction vectors M (the initial code book) are generated at once by the said training algorithm based on the training data, and then, the generated reproduction vectors are sequentially arranged in the said conjugated code book, where it is attempted to arrange the reproduction vectors from said initial code book in said conjugated code book with decreasing the degree of difference, counted from the beginning of said conjugated code book, in such a way that the most of the different reproduction vectors are positioned at the beginning of the conjugated code book. In this regard, the difference between the vectors is evaluated based on a difference criterion, such as, for example, the Euclidean distance between the vectors or the quadratic Euclidean distance, to name a few. According to the first alternative, the two reproduction vectors in said initial code book that are most different from each other are copied to the first two positions in said conjugated code book, whereas, according to the second alternative, the vector of reproduction from said initial code book that is most similar to all training vectors in said plurality of training vectors is copied to the first position in said conjugated code book.

Nesta terceira modalidade, pode ser benéfico impor alguns limites de tal modo que os vetores de reprodução muito rara mente usados não se tornem as primeiras entradas no livro de código conjugado. Isso pode, por exemplo, serIn this third embodiment, it may be beneficial to impose some limits in such a way that the very rarely used reproduction vectors do not become the first entries in the conjugated code book. This can, for example, be

22/46 realizado exigindo-se que a magnitude dos componentes do vetor de reprodução não exceda certo limite, onde este limite pode ser pequeno para os vetores de22/46 performed requiring that the magnitude of the components of the reproduction vector does not exceed a certain limit, where this limit may be small for the vectors of

reprodução no início do livro de código conjugado e pode ser aumentado em direção ao fim do livro de código conjugado.reproduction at the beginning of the conjugated code book and can be increased towards the end of the conjugated code book.

Uma quarta modalidade do método de acordo com o quarto aspecto da presente invenção compreende gerar um livro de código inicial de vetores de reprodução M pelo dito algoritmo de treinamento; repetir, embora o dito livro de código inicial seja não-vazio, as seguintes etapas: selecionar os dois vetores de reprodução a partir do dito livro de código inicial que sejam mais similares entre si; copiar o primeiro dos ditos dois vetores de reprodução selecionados a partir do dito livro de código inicial para a próxima posição livre, em lógica decrescente que se inicia a partir da última posição, no dito livro de código conjugado e apagando o dito primeiro dos ditos dois vetores de reprodução selecionados a partir do dito livro de código inicial.A fourth embodiment of the method according to the fourth aspect of the present invention comprises generating an initial code book of reproduction vectors M by said training algorithm; repeat, although said initial code book is non-empty, the following steps: select the two reproduction vectors from said initial code book that are most similar to each other; copy the first of said two reproduction vectors selected from said initial code book to the next free position, in decreasing logic that starts from the last position, in said conjugated code book and deleting said first of said two reproduction vectors selected from said initial codebook.

Nesta quarta modalidade, primeiramente, todos os vetores de reprodução M (o livro de código inicial) são gerados de uma só vez pelo dito algoritmo de treinamento com base nos dados de treinamento, e, depois, os vetores de reprodução gerados são sequencialmente dispostos no dito livro de código conjugado, onde se tenta dispor os vetores de reprodução a partir do dito livro de código inicial no dito livro de código conjugado com grau crescente de diferença a outros vetores de reprodução, porém, contando-se do fim do dito livro de código conjugado. Nesse particular, a semelhança entre os vetores é avaliada com base em um critério de semelhança, como, por exemplo, a distância euclidiana entre os vetores ou a distância euclidiana quadrática, para citar alguns.In this fourth modality, first, all the reproduction vectors M (the initial code book) are generated at once by the said training algorithm based on the training data, and then, the generated reproduction vectors are sequentially arranged in the said conjugated code book, where one tries to arrange the reproduction vectors from said initial code book in said conjugated code book with an increasing degree of difference to other reproduction vectors, however, counting from the end of said book of code conjugated code. In this respect, the similarity between the vectors is evaluated based on a similarity criterion, such as, for example, the Euclidean distance between the vectors or the quadratic Euclidean distance, to name a few.

Em uma quinta modalidade do método de acordo com o quarto aspecto da presente invenção, o dito conjunto de pelo menos dois valores prédefinidos para N que são menores ou iguais à M contém K valores Ni, onde i=1,...,K e Nj_i < Nj < M onde j = 2,..., K. Logo, o dito método compreende gerar um livro de código inicial de vetores de reprodução M pelo dito algoritmo de treinamento com base em uma pluralidade de vetores de treinamento; selecionar,In a fifth embodiment of the method according to the fourth aspect of the present invention, said set of at least two predefined values for N that are less than or equal to M contains K values Ni, where i = 1, ..., K and Nj_i <Nj <M where j = 2, ..., K. Therefore, said method comprises generating an initial code book of reproduction vectors M by said training algorithm based on a plurality of training vectors; select,

23/46 a partir do dito livro de código inicial, vetores de reprodução Nide tal modo que uma distorção de um livro de código que contenha os ditos vetores de reprodução selecionados em relação a todos os ditos vetores de treinamento seja mínima; copiar os ditos vetores de reprodução selecionados a partir do dito livro de código inicial to dito livro de código conjugado e apagar os ditos vetores de reprodução selecionados a partir do dito livro de código inicial; e repetir, para cada Nj onde 1 < i < K, as seguintes etapas: selecionar, a partir do dito livro de código inicial, vetores de reprodução Ni - Nm de tal modo que uma distorção de um livro de código que contenha os vetores de reprodução Nm já copiados ao dito livro de código conjugado e ditos vetores de reprodução selecionados em relação a todos os ditos vetores de treinamento seja mínima; e copiar os ditos vetores de reprodução selecionados a partir do dito livro de código inicial para a próxima posição livre, em lógica crescente no dito livro de código conjugado e apagando os ditos vetores de reprodução selecionados a partir do dito livro de código inicial.23/46 from said initial codebook, reproduction vectors Nide such that a distortion of a codebook containing said selected reproduction vectors in relation to all said training vectors is minimal; copying said reproduction vectors selected from said initial code book to said conjugated code book and deleting said reproduction vectors selected from said initial code book; and repeat, for each Nj where 1 <i <K, the following steps: select, from said initial codebook, Ni - Nm reproduction vectors in such a way that a distortion of a codebook containing the vectors of Nm reproduction already copied to said conjugated code book and said selected reproduction vectors in relation to all said training vectors is minimal; and copying said selected reproduction vectors from said initial code book to the next free position, in increasing logic in said conjugated code book and deleting said reproduction vectors selected from said initial code book.

Nesta quinta modalidade, primeiramente, todos os vetores de reprodução M (o livro de código inicial) são gerados de uma só vez pelo dito algoritmo de treinamento com base em dados de treinamento, e, depois, os vetores de reprodução gerados são dispostos no dito livro de código conjugado em uma base de livro de código-por-livro de código. Para cada um dos K livros de código com tamanho Nj (onde i=1, ...,K, e Nk pode, por exemplo, ser igual a M) que deve estar contido no dito livro de código conjugado, os vetores de reprodução são selecionados a partir do livro de código inicial de tal modo que a distorção do livro de código, que contenha os vetores de reprodução já determinados em estágios anteriores e os ditos vetores de reprodução recentemente selecionados, em relação aos vetores de treinamento usados pelo algoritmo de treinamento seja mínima. Nesse particular, Nk pode ou não ser igual a Μ. A distorção do livro de código pode, por exemplo, ser determinada calculando-se a soma da distorção de cada vetor de reprodução contido no livro de código em relação a todos os vetores de treinamento a partir da célula Voronoi do vetor de reprodução e somando-se as soma das distorções de todos os vetores de reprodução no dito livro de códigoIn this fifth modality, first, all the reproduction vectors M (the initial code book) are generated at once by the said training algorithm based on training data, and then, the generated reproduction vectors are arranged in said conjugated codebook on a codebook-by-codebook basis. For each of the K code books with size Nj (where i = 1, ..., K, and N k can, for example, be equal to M) that must be contained in said conjugated code book, the vectors of reproduction are selected from the initial codebook in such a way that the distortion of the codebook, which contains the reproduction vectors already determined in previous stages and said recently selected reproduction vectors, in relation to the training vectors used by the algorithm training is minimal. In this respect, N k may or may not be equal to Μ. The distortion of the codebook can, for example, be determined by calculating the sum of the distortion of each reproduction vector contained in the codebook in relation to all training vectors from the Voronoi cell of the reproduction vector and adding if the sum of the distortions of all the reproduction vectors in said code book

24/46 para se chegar a um valor final. Uma célula Voronot do vetor de reprodução pode ser considerada como o conjunto de vetores de entrada que, sob uma distância24/46 to arrive at a final value. A Voronot cell of the reproduction vector can be considered as the set of input vectors that, over a distance

dada, são mais próximos ao vetor de reprodução considerado do que qualquer outro vetor de reprodução a partir do livro de código que contenha o dito vetor de reprodução considerado. Nesse particular, os vetores de entrada são todos os vetores com possível quantificação através do livro de código dado, de tal modo que o conjunto de vetores de treinamento seja, geralmente, um subconjunto do conjunto de vetores de entrada (no caso degenerado do livro de código com apenas um vetor de reprodução, a célula Voronoi daquele único vetor de reprodução consiste em todo o espaço vazio). A distorção é determinada por meio de um critério de distorção, que pode, por exemplo, ser a distância Euclidiana entre os vetores, ou a distância derivada da forma 1i, para citar alguns.given, are closer to the reproduction vector considered than any other reproduction vector from the code book that contains said reproduction vector. In this respect, the input vectors are all vectors with possible quantification through the given code book, in such a way that the set of training vectors is generally a subset of the set of input vectors (in the degenerate case of the code with only one reproduction vector, the Voronoi cell of that single reproduction vector consists of all the empty space). The distortion is determined by means of a distortion criterion, which can, for example, be the Euclidean distance between the vectors, or the distance derived from the form 1i, to name a few.

De acordo com o quarto aspecto da presente invenção, propõe-se, ainda, um dispositivo para determinação de um livro de código conjugado de vetores de reprodução M para uso em uma quantificação de vetores com N níveis, onde M é um número máximo predefinido de níveis M, onde N é selecionável antes da dita quantificação de um conjunto de pelo menos dois valores prédefinidos que são menores ou iguais a M, e onde na dita quantificação, um vetor de reprodução para cada vetor é selecionado a partir de um nível de livro de código N de vetores de reprodução N que são, para cada N no dito conjunto de pelo menos dois valores pré-definidos, representados pelos primeiros vetores de reprodução N do dito livro de código conjugado. O dito dispositivo compreende meios para geração dos ditos vetores de reprodução por um algoritmo de treinamento ao menos parcialmente baseado em uma pluralidade de vetores de treinamento; e meios para disposição dos ditos vetores de reprodução gerados no dito livro de código conjugado de acordo com um algoritmo de ajuste, de tal modo que para cada N, os primeiros vetores de reprodução N no dito conjunto de vetores de reprodução M formem um nível de livro de código N que permita uma pequena média de distorção dos ditos vetores quando usados na ditaIn accordance with the fourth aspect of the present invention, a device is also proposed for determining a conjugated codebook of reproduction vectors M for use in vector quantification with N levels, where M is a predefined maximum number of levels M, where N is selectable before said quantification of a set of at least two predefined values that are less than or equal to M, and where in said quantification, a reproduction vector for each vector is selected from a book level of N code of N reproduction vectors which are, for each N in said set of at least two predefined values, represented by the first N reproduction vectors of said conjugated code book. Said device comprises means for generating said reproduction vectors by a training algorithm at least partially based on a plurality of training vectors; and means for arranging said reproduction vectors generated in said conjugated code book according to an adjustment algorithm, such that for each N, the first reproduction vectors N in said set of reproduction vectors M form a level of N code book that allows a small average of distortion of said vectors when used in said

25/46 quantificação dos ditos vetores. Nesse particular, o dito algoritmo de treinamento pode, por exemplo, ser um algoritmo LBG.25/46 quantification of said vectors. In this regard, said training algorithm can, for example, be an LBG algorithm.

De acordo com o quarto aspecto da presente invenção, propõe-se, ainda, um produto de aplicação de software, que compreende um meio de armazenamento com uma aplicação de software para determinação de um livro de código conjugado de vetores de reprodução M para uso em um nível de quantificação N de vetores aqui incluso, onde M é um número máximo predefinido de níveis M, onde N é selecionável antes da dita quantificação de um conjunto de pelo menos dois valores pré-definidos que são menores ou iguais à M, e onde na dita quantificação, um vetor de reprodução para cada vetor é selecionado a partirIn accordance with the fourth aspect of the present invention, a software application product is also proposed, which comprises a storage medium with a software application for determining a book of conjugated vector reproduction M codes for use in a level of quantification N of vectors included here, where M is a predefined maximum number of levels M, where N is selectable before said quantification of a set of at least two predefined values that are less than or equal to M, and where in said quantification, a reproduction vector for each vector is selected from

V de um nível de livro de código N de vetores de reprodução N que são, para cada N no dito conjunto de pelo menos dois valores pré-definidos, representados pelos primeiros vetores de reprodução N do dito livro de código conjugado. A dita aplicação de software compreende um código de programa para geração dos ditos vetores de reprodução por um algoritmo de treinamento pelo menos parcialmente baseado em uma pluralidade de vetores de treinamento; e um código de programa que disposição dos ditos vetores de reprodução gerados no dito livro de código conjugado de acordo com um algoritmo de ajuste, de tal modo que para cada N, os primeiros vetores de reprodução N no dito conjunto de vetores de reprodução M formem um nível de livro de código N que permita uma pequena média de distorção dos ditos vetores quando usados na dita quantificação dos ditos vetores. Nesse particular, o dito algoritmo de treinamento pode, por exemplo, ser um algoritmo LBG.V of a codebook level N of reproduction vectors N which are, for each N in said set of at least two predefined values, represented by the first reproduction vectors N of said conjugated codebook. Said software application comprises a program code for generating said reproduction vectors by a training algorithm at least partially based on a plurality of training vectors; and a program code that disposes of said reproduction vectors generated in said conjugated code book according to an adjustment algorithm, such that for each N, the first reproduction vectors N in said set of reproduction vectors M form a level of codebook N that allows a small average of distortion of said vectors when used in said quantification of said vectors. In this regard, said training algorithm can, for example, be an LBG algorithm.

O dito meio de armazenamento pode ser qualquer elemento de memória ou armazenamento volátil ou não volátil, como, por exemplo, uma Memória Somente Leitura (ROM), uma Memória de Acesso Aleatório (RAM), um cartão de memória, e um disco legível óptica, elétrica ou magneticamente. O dito código de programa compreendido na dita aplicação de software pode ser implementado em uma linguagem de programação processual ou orientada por objeto de alto nível para se comunicar com um sistema de computador ou emSaid storage medium can be any memory element or volatile or non-volatile storage, such as, for example, a Read-Only Memory (ROM), a Random Access Memory (RAM), a memory card, and a readable optical disk , electrically or magnetically. Said program code comprised in said software application can be implemented in a procedural or object-oriented programming language of high level to communicate with a computer system or in

26/46 linguagem de montagem ou máquina para se comunicar com um processador digital. De qualquer maneira, o dito código de programa pode ser um código compilado ou interpretado.26/46 assembly language or machine to communicate with a digital processor. In any case, said program code can be compiled or interpreted code.

Quinto Aspecto da InvençãoFifth Aspect of the Invention

Finalmente, de acordo com um quinto aspecto da presente invenção, propõe-se um livro de código conjugado para uso em uma quantificação de vetores com N níveis, onde M é um número máximo predefinido de níveis, onde N é selecionável antes da dita quantificação de um conjunto de pelo menos dois valores pré-definidos que são menores ou iguais à M, e onde na dita quantificação, um vetor de reprodução para cada vetor é selecionado a partir de um nível de livro de código N de vetores de reprodução N que são, para cada N no dito conjunto de pelo menos dois valores pré-definidos, representados pelos primeiros vetores de reprodução N do dito livro de código conjugado de vetores de reprodução Μ. O dito livro de código conjugado compreende um conjunto de vetores de reprodução M, onde os ditos vetores de reprodução no dito conjunto de vetores de reprodução M são gerados por um algoritmo de treinamento pelo menos parcialmente baseado em uma pluralidade de vetores de treinamento; e onde os ditos vetores de reprodução são dispostos no dito conjunto de vetores de reprodução M de acordo com um algoritmo de ajuste, de tal modo que para cada N, os primeiros vetores de reprodução N no dito conjunto de vetores de reprodução M formem um nível de livro de código N que permite uma pequena distorção média dos ditos vetores quando usados na dita quantificação dos ditos vetores.Finally, according to a fifth aspect of the present invention, a conjugated code book is proposed for use in vector quantification with N levels, where M is a predefined maximum number of levels, where N is selectable before said quantification of a set of at least two predefined values that are less than or equal to M, and where in said quantification, a reproduction vector for each vector is selected from a codebook level of N reproduction vectors that are , for each N in said set of at least two predefined values, represented by the first reproduction vectors N of said reproduction vectors conjugated code book Μ. Said conjugated code book comprises a set of reproduction vectors M, wherein said reproduction vectors in said set of reproduction vectors M are generated by a training algorithm at least partially based on a plurality of training vectors; and where said reproduction vectors are arranged in said set of reproduction vectors M according to an adjustment algorithm, such that for each N, the first reproduction vectors N in said set of reproduction vectors M form a level code book N that allows a small average distortion of said vectors when used in said quantification of said vectors.

Nesse particular, deve-se notar que a descrição dos vetores e dos vetores de reprodução, a seleção do número de níveis N e a seleção do vetor de reprodução para cada vetor apresentado no contexto do primeiro aspecto da presente invenção também se aplicam ao quinto aspecto da presente invenção. O dito algoritmo de treinamento pode, por exemplo, ser o algoritmo LBG.In this regard, it should be noted that the description of the vectors and the reproduction vectors, the selection of the number of N levels and the selection of the reproduction vector for each vector presented in the context of the first aspect of the present invention also apply to the fifth aspect of the present invention. Said training algorithm can, for example, be the LBG algorithm.

O livro de código de acordo com o quinto aspecto da presente invenção pode, exemplo, ser armazenado em uma memória de um dispositivo que utiliza um quantificador e/ou uma unidade que restaura vetores de reprodução deThe codebook according to the fifth aspect of the present invention can, for example, be stored in the memory of a device that uses a quantifier and / or a unit that restores vector reproduction vectors.

27/46 vetores que foram quantificados em N níveis. A disposição específica dos vetores de reprodução M no dito livro de código que compreende o dito conjunto de vetores de reprodução M de acordo com o dito algoritmo de ajuste permite que o dito livro de código seja usado como um único livro de código para a quantificação de vetores com diferentes números selecionáveis de níveis /V <= Me, desse modo, contribui para economizar espaço na memória tanto em um quantificador como em uma unidade de restauração de vetor de reprodução.27/46 vectors that were quantified at N levels. The specific arrangement of the reproduction vectors M in said code book comprising said set of reproduction vectors M according to said adjustment algorithm allows said code book to be used as a single code book for the quantification of vectors with different selectable numbers of levels / V <= Me, thus, contribute to save space in memory both in a quantifier and in a reproduction vector restoration unit.

Estes e outros aspectos da invenção tornar-se-ão aparentes a partir das modalidades descritas mais adiante e esclarecidos com referência às mesmas.These and other aspects of the invention will become apparent from the modalities described below and clarified with reference to them.

Breve Descrição das FigurasBrief Description of the Figures

Nas figuras constam:The figures include:

A Figura 1: uma apresentação esquemática de uma modalidade de um dispositivo para a quantificação de nível N de vetores segundo o primeiro aspecto da presente invenção, e de uma modalidade destinada à recuperação de vetores de reprodução para vetores que tenham sido quantificados em nível N de acordo com o segundo aspecto da presente invenção, compreendido em um sistema para a transferência de representações de vetores de acordo com um terceiro aspecto da presente invenção.Figure 1: a schematic presentation of a modality of a device for the quantification of level N of vectors according to the first aspect of the present invention, and of a modality intended for the recovery of reproduction vectors for vectors that have been quantified at level N of according to the second aspect of the present invention, comprised in a system for the transfer of vector representations according to a third aspect of the present invention.

A Figura 2a: um fluxograma de uma modalidade de um método para a quantificação em nível N de vetores de acordo com o primeiro aspecto da presente invenção;Figure 2a: a flowchart of an embodiment of a method for the N-level quantification of vectors according to the first aspect of the present invention;

A Figura 2b: um fluxograma de uma modalidade de um método destinado a recuperar vetores de reprodução para vetores que foram quantificados em nível N de acordo com o segundo aspecto da presente invenção;Figure 2b: a flowchart of an embodiment of a method for recovering reproduction vectors for vectors that have been quantified at level N in accordance with the second aspect of the present invention;

A Figura 3: uma apresentação esquemática de uma modalidade de um dispositivo para a determinação de um livro de código conjunto para usar em uma quantificação de nível N de vetores de acordo com o quarto aspecto da presente invenção;Figure 3: a schematic presentation of an embodiment of a device for determining a joint codebook for use in quantifying N-level vectors according to the fourth aspect of the present invention;

A Figura 4a: um fluxograma de uma primeira modalidade de umFigure 4a: a flow chart of a first modality of a

28/46 método destinado a determinar um livro de código conjunto para uso em uma quantificação em nível N de vetores segundo o quarto aspecto da presente invenção;28/46 method for determining a joint codebook for use in N-level quantification of vectors according to the fourth aspect of the present invention;

A Figura 4b: um fluxograma de uma segunda modalidade de um método para determinar um livro de código conjunto destinado ao uso em uma quantificação em nível N de vetores de acordo com o quarto aspecto da presente invenção;Figure 4b: a flowchart of a second modality of a method for determining a joint codebook intended for use in N-level quantification of vectors according to the fourth aspect of the present invention;

A Figura 4c: um fluxograma de uma terceira modalidade de um método para determinar um livro de código conjunto para usar em uma quantificação de nível N de vetores de acordo com o quarto aspecto da presente invenção;Figure 4c: a flowchart of a third embodiment of a method for determining a joint codebook for use in N-level quantification of vectors according to the fourth aspect of the present invention;

A Figura 4d: um fluxograma de uma quarta modalidade de um método destinado a determinar um livro de código conjunto para uso em uma quantificação em nível N de vetores de acordo com o quarto aspecto da presente invenção;Figure 4d: a flowchart of a fourth modality of a method for determining a joint codebook for use in N-level quantification of vectors according to the fourth aspect of the present invention;

Figura 4e: um fluxograma de uma quinta modalidade de um método destinado a determinar um livro de código conjunto para uso em uma quantificação de nível Λ/de vetores de acordo com o quarto aspecto da presente invenção; eFigure 4e: a flowchart of a fifth modality of a method for determining a joint codebook for use in a ificação / level quantification of vectors according to the fourth aspect of the present invention; and

A Figura 5: uma apresentação esquemática de um livro de código conjunto de acordo com o quinto aspecto da presente invenção.Figure 5: a schematic presentation of a joint codebook according to the fifth aspect of the present invention.

Descrição Detalhada da InvençãoDetailed Description of the Invention

A presente invenção refere-se, em geral, ao contexto da quantificação em nível N de vetores, onde um vetor de reprodução de um livro de código de nível N é selecionado para o dito vetor. Embora a quantificação possa ser executada para diferentes números selecionáveis de níveis N retirados de um conjunto pré-definido, os vetores de reprodução N de todos os livros de código de nível N são representados pelos respectivos primeiros vetores de reprodução N em um único livro de código conjunto que compreende vetores de reprodução M, sendo que M assinala o número máximo selecionável de níveis.The present invention relates, in general, to the context of N-level quantification of vectors, where a reproduction vector of an N-level code book is selected for said vector. Although quantification can be performed for different selectable numbers of levels N taken from a predefined set, the N reproduction vectors of all N level code books are represented by the respective first N reproduction vectors in a single code book set comprising reproduction vectors M, with M indicating the maximum selectable number of levels.

A esse respeito, o primeiro aspecto da presente invenção visa àIn this regard, the first aspect of the present invention aims at

29/46 quantificação de nível N de vetores, um segundo aspecto visa à recuperação dos vetores de reprodução para vetores que foram quantificados de nível N, um terceiro aspecto visa à transferência de representações de vetores, um quarto aspecto visa à determinação de um livro de código conjunto que fornece livros de código de nível N para uma diversidade de diferentes quantificações de nível N, e um quinto aspecto visa o dito livro de código conjunto em si.29/46 quantification of vectors N level, a second aspect aims at the recovery of reproduction vectors for vectors that were quantified at level N, a third aspect aims at the transfer of vector representations, a fourth aspect aims at the determination of a book of joint code that provides N-level code books for a variety of different N-level quantifications, and a fifth aspect concerns said joint code book itself.

A Figura 1 é uma apresentação esquemática de uma modalidade de um sistema 4 destinado à transferência da representação de vetores de acordo com o terceiro aspecto da presente invenção. Esse sistema 4 compreende um dispositivo 1 para a quantificação de nível N de vetores de acordo com o primeiro aspecto da presente invenção, e um dispositivo 2 destinado à recuperação de vetores de reprodução de vetores que foram quantificados em nível N. Esse sistema, por exemplo, pode estar inserido em um sistema de comunicação que permite a comunicação entre duas unidades de comunicação, onde uma primeira unidade de comunicação compreende então o dispositivo 1, e uma segunda unidade de comunicação compreende o dispositivo 2. Um exemplo do dito sistema de comunicação é o sistema de rádio móvel, no qual os dados de áudio ou voz são transferidos segundo um codec de áudio e voz que envolve a quantificação dos ditos dados de áudio ou de voz.Figure 1 is a schematic presentation of an embodiment of a system 4 for transferring the vector representation in accordance with the third aspect of the present invention. This system 4 comprises a device 1 for the quantification of level N of vectors according to the first aspect of the present invention, and a device 2 for the recovery of vector reproduction vectors that have been quantified at level N. This system, for example , can be inserted in a communication system that allows communication between two communication units, where a first communication unit then comprises device 1, and a second communication unit comprises device 2. An example of said communication system is the mobile radio system, in which the audio or voice data is transferred according to an audio and voice codec that involves the quantification of said audio or voice data.

O dispositivo 1 compreende uma unidade de seleção e mapeamento 10, uma memória de livro de código conjunto 11 e uma unidade de transmissão 12. A unidade de seleção e mapeamento 10 é capaz de receber uma seqüência de vetores k-dimensionais, com k > 1, de selecionar, para cada um dos ditos vetores, um vetor de reprodução k-dimensional oriundo de um livro de código de nível N, e de mapear o vetor de reprodução selecionado para um identificador que unicamente identifique o dito vetor de reprodução selecionado. Os ditos vetores podem, por exemplo, compreender dados empilhados relacionados ao código de voz ou áudio, por exemplo, coeficientes ou ganhos LPC/LSF, densidade horizontal de parâmetros de voz de um ou mais quadros ou sub-quadros de um sinal de voz ou de áudio. A esse respeito, o dito parâmetro N, denotando o número de níveisDevice 1 comprises a selection and mapping unit 10, a set codebook memory 11 and a transmission unit 12. The selection and mapping unit 10 is capable of receiving a sequence of k-dimensional vectors, with k> 1 , to select, for each of said vectors, a k-dimensional reproduction vector from an N-level code book, and to map the selected reproduction vector to an identifier that uniquely identifies said selected reproduction vector. Said vectors can, for example, comprise stacked data related to the voice or audio code, for example, LPC / LSF coefficients or gains, horizontal density of voice parameters of one or more frames or sub frames of a voice signal or of audio. In this regard, said parameter N, denoting the number of levels

30/46 de quantificação é inserido dentro da dita unidade 10 a partir de uma unidade externa, por exemplo, de um controlador central de uma unidade de comunicação que compreende o dispositivo 1.Quantification 30/46 is inserted into said unit 10 from an external unit, for example, from a central controller of a communication unit comprising device 1.

A dita seleção dos ditos vetores de reprodução é executada com base em um critério de distorção, que quantifica uma diferença entre o vetor e cada vetor de reprodução. Uma diversidade de critérios de distorção é apresentada, por exemplo, na referência à técnica anterior de Linde et al. citadas na introdução da presente especificação da patente, por exemplo, a distorção por erro quadrático ou a norma de Holder, para citar apenas alguns. Em geral, a unidade de seleção 10 selecionará um vetor de reprodução do dito livro de código de nível A/ que minimiza o critério de distorção aplicado em relação aos demais vetores de reprodução contidos no dito livro de código de nível N.Said selection of said reproduction vectors is performed based on a distortion criterion, which quantifies a difference between the vector and each reproduction vector. A diversity of distortion criteria is presented, for example, in the reference to the previous technique by Linde et al. cited in the introduction of this patent specification, for example, quadratic error distortion or Holder's standard, to name just a few. In general, the selection unit 10 will select a reproduction vector from said level A / code book that minimizes the distortion criterion applied in relation to the other reproduction vectors contained in said level N code book.

A dita unidade de seleção e mapeamento 10 obtém o dito livro de código de nível /V a partir da memória do livro de código conjunto 11, que armazena um livro de código conjunto de acordo com o quinto aspecto da presente invenção. O livro de código conjunto compreende vetores de reprodução M, onde M é um valor pré-definido. O dito livro de código conjunto pode, por exemplo, ter sido armazenado na dita memória 11 durante a fabricação do dispositivo 1, por exemplo, se a dita memória 11 for um ROM. Da mesma forma, o dito dispositivo 1 pode compreender uma interface através da qual o dito livro de código conjunto pode ser alterado ou atualizado a partir da unidade externa como, por exemplo, um servidor de livro de código. A dita memória 11 pode, por exemplo, ser um RAM.Said selection and mapping unit 10 obtains said level / V code book from the memory of the joint code book 11, which stores a joint code book according to the fifth aspect of the present invention. The joint codebook comprises reproduction vectors M, where M is a predefined value. Said joint codebook may, for example, have been stored in said memory 11 during the manufacture of device 1, for example, if said memory 11 is a ROM. Likewise, said device 1 may comprise an interface through which said joint codebook can be changed or updated from the external unit such as, for example, a codebook server. Said memory 11 can, for example, be a RAM.

O livro de código conjunto, de acordo com o quinto aspecto da presente invenção é caracterizado pelo fato de compreender livros de código de nível N para uma diversidade de valores distintos de N pré-definidos, onde Ws M. Nesse aspecto, M define o número máximo de níveis para o qual o dispositivo 1 é capaz de executar a quantificação. Assim, de acordo com a presente invenção, apenas um único livro de código conjunto deve ser armazenado., enquanto o dispositivo for capaz de executar uma quantificação de nível N para umaThe joint codebook, in accordance with the fifth aspect of the present invention, is characterized by the fact that it comprises N-level codebooks for a diversity of values other than predefined N, where Ws M. maximum levels for which device 1 is capable of performing quantization. Thus, according to the present invention, only a single joint codebook should be stored., As long as the device is capable of performing an N-level quantification for a

31/46 diversidade de valores N. Os livros de código de nível N requeridos para a quantificação de nível N são os respectivos primeiros vetores de reprodução N contidos no livro de código conjunto. Essa propriedade é atingida a partir da determinação apropriada do livro de código conjunto, conforme será descrito em maiores detalhes abaixo.31/46 diversity of N values. The N-level code books required for N-level quantification are the respective first N reproduction vectors contained in the joint code book. This property is achieved from the appropriate determination of the joint codebook, as will be described in more detail below.

A Figura 5 descreve um exemplo ilustrativo do dito livro de código conjunto 5 de acordo com o quinto aspecto da presente invenção, sendo que M=16 e N é selecionável a partir do conjunto {2, 4, 8, 16}. O livro de código conjunto 5 compreende vetores de reprodução k-dimensionais M=16, retratados como barras horizontais. Mais além, a Figura 5 retrata a associação dos vetores de reprodução com o livro de código conjunto para os únicos livros de código de nível N através dos respectivos marcadores de variação 52-55. Por exemplo, o livro de código de nível 2 para N=2 contém apenas os dois primeiros vetores de reprodução do livro de código conjunto, conforme indicado pelo marcador de variação 52, o livro de código de nível 4 para N=4 contém apenas os quatro primeiros vetores de reprodução do livro de código conjunto do livro de código conjunto, conforme indicado pelo marcador de variação 53, e assim por diante. Finalmente, o marcador de variação 55 indica que, para N=M=16, o livro de código de nível 16 para N=16 compreende todos os vetores de reprodução M=16 do livro de código conjunto. Para cada livro de código de nível N, os N vetores de reprodução contidos no mesmo podem ser mapeados para uma palavra binária de N bits, com n=log2 (N). Por exemplo, para N=4 (i.e. n=2), o primeiro vetor de reprodução no livro de código de nível 4 pode ser identificado por meio da palavra binária de 2 bits Ό0’, o segundo vetor de reprodução através da palavra binária de 2 bits ΌΓ, o terceiro vetor de reprodução através da palavra binária de 2 bits ‘10’ e o quarto vetor de reprodução através da palavra binária de 2 bits Ί1’. Desse modo, 2 bits do vetor de reprodução devem ser usados nesse caso. Para N=8 (i.e. n=3), devem-se usar 3 bits e assim por diante.Figure 5 describes an illustrative example of said joint code book 5 according to the fifth aspect of the present invention, with M = 16 and N being selectable from the set {2, 4, 8, 16}. The codebook set 5 comprises k = dimensional reproduction vectors M = 16, depicted as horizontal bars. Further, Figure 5 depicts the association of reproduction vectors with the joint codebook for the only N-level codebooks through the respective 52-55 variation markers. For example, the level 2 codebook for N = 2 contains only the first two reproduction vectors of the joint codebook, as indicated by variation marker 52, the level 4 codebook for N = 4 contains only the first four vectors of reproduction of the joint codebook of the joint codebook, as indicated by variation marker 53, and so on. Finally, the variation marker 55 indicates that, for N = M = 16, the level 16 codebook for N = 16 comprises all the M = 16 reproduction vectors of the joint codebook. For each N-level code book, the N reproduction vectors contained therein can be mapped to an N-bit binary word, with n = log 2 (N). For example, for N = 4 (ie n = 2), the first reproduction vector in the level 4 codebook can be identified by means of the 2-bit binary word Ό0 ', the second reproduction vector by means of the binary word of 2 bits ΌΓ, the third reproduction vector using the 2-bit binary word '10' and the fourth reproduction vector using the 2-bit binary word Ί1 '. Thus, 2 bits of the reproduction vector must be used in this case. For N = 8 (ie n = 3), 3 bits must be used and so on.

Para ser mais explícito, apresenta-se a seguir um livro de código conjunto exemplificativo com vetores de reprodução l-dimensional M=16 para usoTo be more explicit, an exemplary joint code book with l = dimensional reproduction vectors M = 16 is presented below for use

32/46 na quantificação de um parâmetro de ganho de um sinal de áudio ou de voz. Esse exemplo coincide com o livro de código conjunto 5 da Figura 5. O parâmetro de ganho a ser quantificado varia de 0 dB a 96 dB, e o livro de código conjunto pode ser ajustado para a quantificação de nível 2, nível 4, nível 8 e nível 16, de modo que os livros de códigos para N=2, 4, 8 e 16 devem estar compreendidos no livro de código conjunto. Assumindo que o parâmetro de ganho esteja uniformemente distribuído no intervalo compreendido entre 0 dB e 96 dB, um livro de código conjunto adequado é fornecido como (todos os vetores de reprodução em dB):32/46 in the quantification of an audio or voice signal gain parameter. This example coincides with the joint code book 5 in Figure 5. The gain parameter to be quantified varies from 0 dB to 96 dB, and the joint code book can be adjusted for the quantification of level 2, level 4, level 8 and level 16, so that the code books for N = 2, 4, 8 and 16 must be included in the joint code book. Assuming that the gain parameter is evenly distributed in the range between 0 dB and 96 dB, a suitable joint codebook is provided as (all dB reproduction vectors):

[24, 72, 0, 48, 12, 36, 60, 84, 6, 18, 30, 42, 54, 66, 78, 90], de modo que os livros de códigos de nível N contidos no mesmo assumam (com todos os vetores de reprodução fornecidos em dB):[24, 72, 0, 48, 12, 36, 60, 84, 6, 18, 30, 42, 54, 66, 78, 90], so that the N-level code books contained therein assume (with all reproduction vectors provided in dB):

N=2: [24,72]N = 2: [24.72]

N=4: [24, 72, 0, 48]N = 4: [24, 72, 0, 48]

N=8: [24,72,0,48, 12, 36,60,84]N = 8: [24.72.0.48, 12, 36.60.84]

N=16: [24, 72, 0, 48, 12, 36, 60, 84, 6,18, 30, 42, 54, 66, 78, 90].N = 16: [24, 72, 0, 48, 12, 36, 60, 84, 6.18, 30, 42, 54, 66, 78, 90].

Podemos observar de imediato que para cada valor de N, os livros de código contêm vetores de reprodução que se esforçam em cobrir uniformemente a variação entre 0 dB e 96 dB o melhor possível, onde a cada aumento de N a distância euclidiana entre os vetores de reprodução diminui. Por exemplo, para N=2, a distância é de 48 dB, para N=4, essa distância é 24 dB, para N=8 essa distância é de 12 dB e para N=16, essa distância é de apenas 6 dB. Assim, a cada duplicação de N, essa distância se reduz à metade.We can immediately observe that for each value of N, the code books contain reproduction vectors that strive to uniformly cover the variation between 0 dB and 96 dB as best as possible, where with each increase in N the Euclidean distance between the vectors of reproduction decreases. For example, for N = 2, the distance is 48 dB, for N = 4, this distance is 24 dB, for N = 8 this distance is 12 dB and for N = 16, this distance is only 6 dB. Thus, with each doubling of N, this distance is reduced by half.

Agora considere o caso exemplificativo de que uma realização do parâmetro de ganho será quantificada, equivalendo à dita realização a 40 dB. Se apenas n=1 bit (N=2) será usado para quantificação, e se a distância euclidiana for escolhida como critério de distorção, o primeiro vetor de reprodução no livro de código de nível 2, i.e. 24 dB será selecionado. Dessa forma, a distorção causada por esse vetor de reprodução é 40-24 dB=16 dB. Utilizando-se mais um bit, i.e. n=2 (N=4), o melhor vetor de reprodução no livro de código de nível 4 é o de 48 dB e, da mesma forma, a distorção é de apenas 8 dB. Para n=3 bits por vetor deNow consider the example case that an achievement of the gain parameter will be quantified, equivalent to the said achievement at 40 dB. If only n = 1 bit (N = 2) will be used for quantification, and if the Euclidean distance is chosen as a distortion criterion, the first reproduction vector in the level 2 codebook, i.e. 24 dB will be selected. Thus, the distortion caused by this reproduction vector is 40-24 dB = 16 dB. Using one more bit, i.e. n = 2 (N = 4), the best reproduction vector in the level 4 code book is 48 dB and, likewise, the distortion is only 8 dB. For n = 3 bits per vector of

33/46 reprodução (N=8), o melhor vetor de reprodução é 36 dB, diminuindo assim a distorção até o valor de 4 dB. Finalmente, para n=4 bits por vetor de reprodução (N=16), o melhor vetor de reprodução no livro de código de nível 16 é o de 42 dB, diminuindo em seguida a distorção até o valor de 2 dB.33/46 reproduction (N = 8), the best reproduction vector is 36 dB, thus reducing the distortion to the value of 4 dB. Finally, for n = 4 bits per reproduction vector (N = 16), the best reproduction vector in the level 16 codebook is 42 dB, then decreasing the distortion to a value of 2 dB.

Observa-se com clareza que, por meio da seleção de N, a distorção pode ser permutada contra a capacidade de transmissão/armazenagem requerida.It is clearly observed that, through the selection of N, the distortion can be exchanged against the required transmission / storage capacity.

De volta à Figura 1, a seleção supra-descrita de vetores de reprodução para cada vetor a ser quantificado no nível N e o mapeamento de vetores de reprodução selecionados a valores binários de comprimentos de palavra n=log2 (N) é executada através da unidade de mapeamento e seleção 10 do dispositivo 1. Os identificadores obtidos dessa forma são então encaminhados à unidade Tx 12, que realiza o processo posterior para permitir que o identificador seja transmitido através de um canal de transmissão. Esse processamento pode, por exemplo, compreender a codificação de canal, intercalagem, modulação da banda base e/ou processamento RF. O dito canal de transmissão também pode ser bem compreendido como um meio de armazenamento onde o dito identificador é armazenado. Nesse caso, a unidade Tx 12 realiza o processamento para permitir o armazenamento do identificador no dito meio de armazenamento.Back to Figure 1, the above-described selection of reproduction vectors for each vector to be quantified at level N and the mapping of selected reproduction vectors to binary values of word lengths n = log 2 (N) is performed through mapping and selection unit 10 of the device 1. The identifiers obtained in this way are then forwarded to the unit Tx 12, which performs the subsequent process to allow the identifier to be transmitted through a transmission channel. Such processing may, for example, comprise channel coding, interleaving, baseband modulation and / or RF processing. Said transmission channel can also be well understood as a storage medium where said identifier is stored. In that case, the Tx 12 unit performs the processing to allow the storage of the identifier in said storage medium.

O dispositivo 2 no sistema 4 da Figura 1 compreende uma unidade de Recepção (Rx) 23, uma unidade 20 para a recuperação de vetores de reprodução para vetores que foram quantificados a nível Λ/ no dispositivo 1, e uma memória de livro de código conjunto 21. Nesse aspecto, o livro de código conjunto armazenado na memória 21 é o mesmo livro de código conjunto armazenado na memória 11 do dispositivo 1. A unidade Rx 23 recebe identificadores transmitidos pela unidade Tx 12 do dispositivo 1, realizando, por exemplo, o processamento RF, a sincronização, a equalização, a demodulação, a de-intercalagem e/ou decodificação do canal. Se o dito canal de transmissão representa um meio de armazenamento, a unidade Rx 23 realiza o processamento para ler os identificadores desse meio de armazenamento. Os identificadores recebidos são então encaminhados para a unidade 20 que, com base nos identificadoresDevice 2 in system 4 of Figure 1 comprises a Receiving unit (Rx) 23, a unit 20 for retrieving reproduction vectors for vectors that have been quantified at Λ / level on device 1, and a joint codebook memory 21. In this respect, the joint codebook stored in memory 21 is the same joint codebook stored in memory 11 of device 1. Unit Rx 23 receives identifiers transmitted by unit Tx 12 of device 1, performing, for example, the RF processing, synchronization, equalization, demodulation, de-interleaving and / or channel decoding. If said transmission channel represents a storage medium, the unit Rx 23 performs the processing to read the identifiers of that storage medium. The received identifiers are then forwarded to unit 20 which, based on the identifiers

34/46 recebidos, o parâmetro N e o livro de código conjunto armazenados na memória 21, recupera o vetor de reprodução correspondente ao identificador recebido. Isso requer que o mapeamento dos vetores de reprodução para os identificadores seja o mesmo para ambos os dispositivos 1 e 2. Além disso, o parâmetro N tem que ser inserido na unidade 20, de modo que a unidade 20 seja habilitada a extrair o livro de código de nível N correto do livro de código conjunto. Por exemplo, N pode ser disponibilizado para a unidade 20 através de uma unidade externa, como, por exemplo, um controlador central de uma unidade de comunicação que abriga o dispositivo 2. O vetor de reprodução recuperado pode então ser produzido através do dispositivo 2 para os estágios futuros de processamento.34/46 received, parameter N and the joint codebook stored in memory 21, retrieves the reproduction vector corresponding to the received identifier. This requires that the mapping of the reproduction vectors to the identifiers be the same for both devices 1 and 2. In addition, parameter N has to be inserted in unit 20, so that unit 20 is enabled to extract the logbook. correct N-level code from the joint codebook. For example, N can be made available to unit 20 via an external unit, such as, for example, a central controller of a communication unit that houses device 2. The retrieved reproduction vector can then be produced via device 2 for future processing stages.

O sistema 4, de acordo com o terceiro aspecto da presente invenção permite assim a transferência de representações de vetores através de um canal de transmissão. Percebe-se de imediato que o vetor de reprodução recuperado no dispositivo 2 não é, em geral, uma representação isenta de distorção do vetor que é quantificado no dispositivo 1, desde que os livros de código de nível N disponíveis para a quantificação contenham apenas um número limitado de vetores de reprodução para escolha. Com N crescente, a distorção pode ser reduzida, mas o número de bits que devem ser utilizados para a identificação dos vetores de reprodução aumenta na mesma proporção. Assim, através do parâmetro N, a distorção pode ser permutada contra os requerimentos da largura da banda de transmissão (ou requerimentos de armazenamento, se o dito canal de transmissão for representado por uma portadora de dados).System 4, according to the third aspect of the present invention, thus allows the transfer of vector representations through a transmission channel. It is immediately apparent that the reproduction vector recovered on device 2 is not, in general, a distortion-free representation of the vector that is quantized on device 1, as long as the N-level code books available for quantification contain only one limited number of reproduction vectors to choose from. With increasing N, the distortion can be reduced, but the number of bits that must be used to identify the reproduction vectors increases in the same proportion. Thus, through parameter N, the distortion can be exchanged against the requirements of the transmission bandwidth (or storage requirements, if said transmission channel is represented by a data carrier).

A Figura 2a representa um fluxograma de uma modalidade de um método para uma quantificação a nível /V de vetores de acordo com o primeiro aspecto da presente invenção. Esse método pode, por exemplo, ser executando através da unidade de mapeamento e seleção 10 do dispositivo 1 no sistema 4 da Figura 1. Até essa finalização, as etapas desse método podem ser implantadas em uma aplicação de software de um produto para aplicação de software que é operado por um processador digital do dito dispositivo 1.Figure 2a represents a flowchart of an embodiment of a method for quantifying the level / V of vectors according to the first aspect of the present invention. This method can, for example, be executed through the mapping and selection unit 10 of device 1 in system 4 of Figure 1. Until this completion, the steps of this method can be implemented in a software application of a product for software application which is operated by a digital processor of said device 1.

Em uma primeira etapa 100, o parâmetro N é inicializado, porIn a first step 100, parameter N is initialized, for example

35/46 exemplo, recebendo um valor para N de uma unidade externa. Na etapa 101, verificam-se então se os vetores para quantificação estão disponíveis. Se não for o caso, o método é encerrado. De outro modo, um vetor é recebido em uma etapa 102 e em seguida em uma etapa 103, então um vetor de reprodução é selecionado a partir do livro de código a nível Λ/ correspondente, representado pelos primeiros vetores de reprodução N do livro de código conjunto, de forma que esse vetor de reprodução minimiza um critério de distorção. Em uma etapa 104, um identificador do dito vetor de reprodução selecionado é produzido, por exemplo, para a unidade Tx 12 do dispositivo 1 na Figura 1.35/46 example, receiving a value for N from an external unit. In step 101, it is then checked whether vectors for quantification are available. If not, the method is terminated. Otherwise, a vector is received in a step 102 and then in a step 103, then a reproduction vector is selected from the codebook at level Λ / corresponding, represented by the first reproduction vectors N of the codebook together, so that this reproduction vector minimizes a distortion criterion. In a step 104, an identifier of said selected reproduction vector is produced, for example, for unit Tx 12 of device 1 in Figure 1.

É então verificado na etapa 105 se o parâmetro N deve ser alterado, por exemplo, em função de sinalização externa. Se não for esse o caso, o método retorna à etapa 101 para quantificar outros vetores.It is then checked in step 105 whether parameter N should be changed, for example, due to external signaling. If this is not the case, the method returns to step 101 to quantify other vectors.

De outro modo, uma nova seleção para N é recebida na etapa 106 e então apenas o método retorna para a etapa 101.Otherwise, a new selection for N is received at step 106 and then only the method returns to step 101.

A Figura 2 representa um fluxograma de uma modalidade de um método destinado à recuperação de vetores de reprodução para vetores que foram quantificados a nível N de acordo com o segundo aspecto da presente invenção. Esse método pode, por exemplo, ser executado pela unidade 20 do dispositivo 2 no sistema 4 da Figura 1. Nesse ponto, as etapas do presente método podem ser implantadas em uma aplicação de software de um produto de aplicação de software que seja executado por um processador digital do dito dispositivo 2.Figure 2 represents a flowchart of a modality of a method for the recovery of reproduction vectors for vectors that have been quantified at level N according to the second aspect of the present invention. This method can, for example, be performed by unit 20 of device 2 in system 4 of Figure 1. At this point, the steps of the present method can be implemented in a software application of a software application product that is executed by a digital processor of said device 2.

Na primeira etapa 200, o parâmetro N é inicializado, por exemplo, recebendo um valor para N de um elemento externo. É requerido que N selecione o livro de código de nível N apropriado do livro de código conjunto. É, então, verificado na etapa 201 se há identificadores disponíveis. Se não for esse o caso, o método é encerrado. Caso contrário, um identificador é recebido na etapa 202. Na etapa 203, um vetor de reprodução conforme identificado pelo dito identificador é recuperado do livro de código de nível N representado pelos primeiros vetores N de reprodução no dito livro de código conjunto. Esse vetor de reprodução recuperado é produzido na etapa 204. Na etapa 205, verifica-se se háIn the first step 200, parameter N is initialized, for example, receiving a value for N from an external element. N is required to select the appropriate N-level codebook from the joint codebook. It is then checked in step 201 if identifiers are available. If this is not the case, the method is terminated. Otherwise, an identifier is received in step 202. In step 203, a reproduction vector as identified by said identifier is retrieved from the N-level code book represented by the first N reproduction vectors in said joint code book. This reproduced reproduction vector is produced in step 204. In step 205, it is checked if there are

36/46 necessidade de se modificar o parâmetro N. Se não for esse o caso, o método retorna à etapa 201 para receber outros identificadores. Caso contrário, uma nova seleção de N é recebida na etapa 206 e o método então retorna à etapa 201.36/46 need to modify parameter N. If this is not the case, the method returns to step 201 to receive other identifiers. Otherwise, a new selection of N is received at step 206 and the method then returns to step 201.

A Figura 3 é uma apresentação esquemática de uma modalidade do dispositivo 3 destinada a determinar um livro de código conjunto para uso em uma quantificação em nível N de vetores de acordo com o quarto aspecto da presente invenção. Esse dispositivo 3 pode, por exemplo, ser posicionado para construção dos livros de código conjuntos para dispositivos como o dispositivo 1 ou o dispositivo 2 do sistema 4 da Figura4. O livro de código conjunto determinado pode ser armazenado nas memórias 11 e 21 dos dispositivos 1 e 2, respectivamente, durante a fabricação desses dispositivos ou depois, por exemplo, através de uma interface para as ditas memórias 11 e 21.Figure 3 is a schematic presentation of an embodiment of device 3 for determining a joint codebook for use in N-level quantification of vectors according to the fourth aspect of the present invention. This device 3 can, for example, be positioned to build the joint codebooks for devices such as device 1 or device 2 of system 4 of Figure 4. The determined joint codebook can be stored in memories 11 and 21 of devices 1 and 2, respectively, during the manufacture of these devices or afterwards, for example, through an interface to said memories 11 and 21.

O dispositivo 3 compreende uma unidade de controle 30, uma unidade LBG 31 e uma unidade de arranjo 32.Device 3 comprises a control unit 30, an LBG unit 31 and an arrangement unit 32.

Nisto, a unidade LBG 31 é capaz de executar um algoritmo LBG para produzir um conjunto de vetores de reprodução L com base em uma pluralidade de vetores de treinamento, onde L é um número inteiro selecionável. O dito algoritmo LBG pode, por exemplo, basear-se no algoritmo para uma distribuição desconhecida de vetores que devem ser quantificados segundo proposto na referência à técnica anterior citada por Linde et al. na introdução da especificação dessa patente. Além da dita diversidade dos vetores de treinamento, o dito algoritmo LBG pode ser fornecido com um ou mais vetores de reprodução que serão considerados fixados durante a dita geração do dito conjunto de vetores de reprodução L, conforme será explicado em maior detalhe com referência a segunda modalidade do método de acordo com o quarto aspecto da presente invenção com referência à Figura 4b abaixo. Compreende-se de imediato que o uso do algoritmo LBG nas modalidades da presente invenção é apenas de natureza exemplificativa. Com a mesma eficiência podem ser aplicados outros algoritmos de treinamento de livro de código.In this, the LBG unit 31 is capable of executing an LBG algorithm to produce a set of reproduction vectors L based on a plurality of training vectors, where L is a selectable integer. Said LBG algorithm can, for example, be based on the algorithm for an unknown distribution of vectors that must be quantified as proposed in the reference to the previous technique cited by Linde et al. in introducing the specification of that patent. In addition to the said diversity of training vectors, said LBG algorithm can be provided with one or more reproduction vectors that will be considered fixed during said generation of said set of L reproduction vectors, as will be explained in more detail with reference to the second embodiment of the method according to the fourth aspect of the present invention with reference to Figure 4b below. It is immediately understood that the use of the LBG algorithm in the modalities of the present invention is of an exemplary nature only. With the same efficiency, other codebook training algorithms can be applied.

A unidade de arranjo 32 é capaz de dispor os vetores de reproduçãoThe arrangement unit 32 is capable of arranging the reproduction vectors

37/46 produzidos pela unidade LBG 32 no livro de código conjunto de acordo com um algoritmo de arranjo, de modo que para cada N, os primeiros vetores N de reprodução no livro de código conjunto constituam um livro de código de nível N que permita uma pequena distorção média de vetores quando os livros de código em nível N forem usados em quantificações em nível N desses vetores.37/46 produced by the LBG 32 unit in the joint codebook according to an arrangement algorithm, so that for each N, the first N reproduction vectors in the joint codebook constitute an N-level codebook that allows a small mean vector distortion when N-level code books are used in N-level quantifications of these vectors.

A unidade de controle 30 controla a operação geral do dispositivo 3 e em particular a interoperação da unidade LBG 31 e a unidade de arranjo 32.The control unit 30 controls the general operation of the device 3 and in particular the interoperation of the LBG unit 31 and the arrangement unit 32.

Para a determinação do livro de código conjunto, o dispositivo 3 é fornecido com o número máximo de níveis M projetados para o livro de código conjunto, e com diversos vetores representativos dos vetores que serão posteriormente quantificados com base no livro de código conjunto. Como opção, também podem ser fornecidos ao dispositivo 3.um conjunto pré-definido de números de níveis N para o qual o livro de código conjunto conterá livros de código em nível N. Por exemplo, se M=256, pode ser suficiente que o livro de código conjunto contenha apenas livros de código para N=128 e N=256, e em seguida, o conjunto pré-definído de números de N níveis seria {128, 256}. Essa informação pode ser explorada pelo dispositivo 3 para determinar um livro de código otimizado para apenas esses dois números de níveis, em lugar de tentar determinar um livro de código otimizado para todos os N=2, 4, 8, 16, 32, 64, 128, 256. Nesse ponto, pode-se notar que a escolha de N como uma potência de 2 é unicamente de natureza exemplificativa. O dito dispositivo 3 pode ser igualmente capaz de determinar livros de código conjunto para números de N níveis que não sejam potências de 2 a fim de aumentar a flexibilidade do livro de código.For the determination of the joint codebook, device 3 is provided with the maximum number of levels M designed for the joint codebook, and with several vectors representative of the vectors that will later be quantified based on the joint codebook. As an option, a predefined set of N-level numbers can also be provided to device 3. for which the joint codebook will contain N-level codebooks. For example, if M = 256, it may be sufficient that the set code book contains only code books for N = 128 and N = 256, and then the predefined set of N level numbers would be {128, 256}. This information can be exploited by device 3 to determine a codebook optimized for just these two numbers of levels, instead of trying to determine a codebook optimized for all N = 2, 4, 8, 16, 32, 64, 128, 256. At this point, it can be noted that the choice of N as a power of 2 is of an exemplary nature only. Said device 3 may also be able to determine joint codebooks for numbers of N levels other than powers of 2 in order to increase the flexibility of the codebook.

A Figura 4a consiste de um fluxograma de uma primeira modalidade de um método utilizado para determinar um livro de código conjunto de acordo com o quarto aspecto da presente invenção. Essa primeira modalidade pode, por exemplo, ser implantada pelo dispositivo 3 da Figura 3.Figure 4a consists of a flowchart of a first embodiment of a method used to determine a joint codebook in accordance with the fourth aspect of the present invention. This first modality can, for example, be implemented by device 3 in Figure 3.

Na primeira etapa 400, o livro de código conjunto que deve ser construído é inicializado como um livro de código vazio com capacidade de armazenamento para vetores de reprodução M. Na etapa 401, um contador deIn the first step 400, the joint code book that is to be built is initialized as an empty code book with storage capacity for M reproduction vectors. In step 401, a

38/46 circuitos i é inicializado em 1. Na etapa 402, o denominado livro de código “iniciar de nível M é gerado de acordo com o algoritmo LBG, com base em uma diversidade de vetores de treinamento, isso pode ser realizado, por exemplo, pela unidade LBG 31 do dispositivo 3 (veja a Figura3). As etapas restantes do fluxograma da Figura 4a são então direcionadas de modo a dispor os vetores de reprodução contidos no dito livro de código inicial dentro do dito livro de código conjunto inicializado na etapa 400. Esse arranjo pode ser realizado, por exemplo, pela unidade de arranjo 32 do dispositivo 3 (veja a Figura 3).38/46 circuits i is initialized at 1. In step 402, the so-called “start level M code book is generated according to the LBG algorithm, based on a diversity of training vectors, this can be done, for example , by the LBG 31 unit of device 3 (see Figure 3). The remaining steps of the flowchart in Figure 4a are then directed in order to arrange the reproduction vectors contained in said initial code book within said joint code book initialized in step 400. This arrangement can be carried out, for example, by the arrangement 32 of device 3 (see Figure 3).

Nesse ponto, na etapa 403, o livro de código de nível 2 é determinado pelo algoritmo LBG, com base na mesma seqüência de treinamento usada na etapa 402. Isso também pode ser realizado pela unidade LBG 31 do dispositivo 3 (veja a Figura 3). Na etapa 404, os dois vetores de reprodução no dito livro de código inicial mais semelhantes (em termos de minimizar determinado critério de distorção) aos dois vetores de reprodução no dito livro de código em nível 2 são identificados e, na etapa 405, são copiados para as duas primeiras posições no livro de código conjunto inicializadas na etapa 400. Na etapa 406, um contador de posição Pos é ajustado em 2.At this point, in step 403, the level 2 code book is determined by the LBG algorithm, based on the same training sequence used in step 402. This can also be done by the LBG 31 unit of device 3 (see Figure 3) . In step 404, the two reproduction vectors in said initial codebook more similar (in terms of minimizing a certain distortion criterion) to the two reproduction vectors in said codebook at level 2 are identified and, in step 405, they are copied for the first two positions in the joint code book initialized in step 400. In step 406, a Pos position counter is set to 2.

As etapas seguintes 407 a 412 são realizadas repetidamente até que todos os vetores de reprodução do livro de código inicial tenham sido organizados no livro de código conjunto.The following steps 407 to 412 are performed repeatedly until all the reproduction vectors from the initial codebook have been organized into the joint codebook.

Na etapa 407, um livro de código em nível I é determinado com base no algoritmo LBG e os mesmos vetores de treinamento usados nas etapas 402 e 403, sendo esta etapa implantada, por exemplo, pela unidade LBG 31 do dispositivo 3 (veja a Figura 3). Assim, l=2‘ é fixado, sendo i um contador de circuito inicializado na etapa 401. Esse livro de código em nível I representa o livro de código ótimo para N=l. Contudo, uma vez no livro de código conjunto e que os primeiros vetores de reprodução l/2 já tinham sido dispostos nas etapas do fluxograma realizadas antes, o arranjo só é possível para os últimos vetores de reprodução I/2. Portanto, na etapa 408, são identificados (e ignorados) os vetores de reprodução I/2 no dito livro de código de nível I determinados como sendo maisIn step 407, a level I code book is determined based on the LBG algorithm and the same training vectors used in steps 402 and 403, this step being implemented, for example, by the LBG 31 unit of device 3 (see Figure 3). Thus, l = 2 ‘is fixed, with i being a circuit counter initialized in step 401. This level I code book represents the optimal code book for N = l. However, once in the joint codebook and the first l / 2 reproduction vectors had already been arranged in the flowchart steps performed before, the arrangement is only possible for the last I / 2 reproduction vectors. Therefore, in step 408, I / 2 reproduction vectors are identified (and ignored) in said level I code book determined to be more

39/46 semelhantes (em termos de minimizar determinado critério de distorção) aos39/46 similar (in terms of minimizing a certain distortion criterion) to

vetores de reprodução I/2 já contidos no livro de código conjunto. Em seguida, na etapa 409, os vetores de reprodução l/2 no dito livro de código inicial mais semelhantes (em termos de minimizar determinado critério de distorção) aos vetores de reprodução restantes (não identificados na etapa 408) do dito livro de código em nível I são selecionados e, na etapa 410, são copiados para as posições Pos + 1 e Pos I+2 no dito livro de código conjunto. Na etapa 411, o contador de posição Pos é então aumentado por I/2, e o contador de circuito também é elevado em 1 na etapa 412. Na etapa 413 verifica-se se o contador de circuito é maior do que m, sendo m=Log2(M). Se for esse o caso, todos os vetores de reprodução do livro de código inicial foram dispostos no livro de código conjunto e o método é encerrado. Caso contrário, o método retorna à etapa 407 e executa o arranjo para o próximo livro de código contido no livro de código conjunto.I / 2 reproduction vectors already contained in the joint codebook. Then, in step 409, the l / 2 reproduction vectors in said initial codebook more similar (in terms of minimizing a certain distortion criterion) to the remaining reproduction vectors (not identified in step 408) of said codebook in level I are selected and, in step 410, they are copied to Pos + 1 and Pos I + 2 positions in said joint code book. In step 411, the position counter Pos is then increased by I / 2, and the circuit counter is also raised by 1 in step 412. In step 413 it is checked whether the circuit counter is greater than m, where m = Log2 (M). If so, all reproduction vectors from the initial codebook have been arranged in the joint codebook and the method is terminated. Otherwise, the method returns to step 407 and performs the arrangement for the next codebook contained in the joint codebook.

A Figura 4b consiste de um fluxograma da segunda modalidade de um método para determinação de um livro de código conjunto de acordo com o quarto aspecto da presente invenção. Essa segunda modalidade pode, por exemplo, ser implantada pelo dispositivo 3 da Figura 3.Figure 4b consists of a flowchart of the second embodiment of a method for determining a joint codebook in accordance with the fourth aspect of the present invention. This second modality can, for example, be implemented by device 3 in Figure 3.

Em uma primeira etapa 420, inicializa-se um livro de código conjunto (alvo) com capacidade para os vetores M de reprodução. Na etapa 421, um contador de circuito é inicializado em 1. Na etapa 422, um livro de código em nível é gerado pelo algoritmo LBG, com base em diversos vetores de treinamento, podendo ser executado, por exemplo, pela unidade LBG 31 do dispositivo 3 da Figura 3. Os dois vetores de reprodução desse livro de código em nível 2 são copiados para as duas primeiras posições do livro de código conjunto na etapa 423. Na etapa 424, um contador de posição Pos é ajustado em 2. Após essa operação preliminar que determina e dispõe os vetores de reprodução do primeiro livro de código (N=2) no livro de código conjunto, executam-se repetidamente as etapas 425 a 428 a fim de gerar e determinar os próximos livros de código com nível mais elevado.In a first stage 420, a joint code book (target) with the capacity for reproducing M vectors is initialized. In step 421, a circuit counter is initialized to 1. In step 422, a level code book is generated by the LBG algorithm, based on several training vectors, which can be executed, for example, by the LBG unit 31 of the device 3 in Figure 3. The two reproduction vectors for this level 2 codebook are copied to the first two positions of the joint codebook in step 423. In step 424, a Pos position counter is set to 2. After this operation preliminary that determines and arranges the reproduction vectors of the first code book (N = 2) in the joint code book, steps 425 to 428 are repeatedly performed in order to generate and determine the next higher level code books.

Nesse ponto, na etapa 425, um livro de código de nível I éAt that point, in step 425, a level I code book is

40/46 determinado pelo algoritmo LBG com base em vários vetores de treinamento, onde 1=21 é fixado, sendo i o contador de circuito inicializado na etapa 421. Na verdade, esse livro de código de nível I representaria o livro de código ótimo para N=l. No entanto, uma vez no livro de código conjunto, estando já dispostos os primeiros vetores de reprodução I/2 nas etapas do fluxograma executado anteriormente, o arranjo só é possível para os últimos vetores de reprodução I/2. De acordo com a segunda modalidade do método de acordo com o quarto aspecto da presente invenção esse problema é solucionado inicializando o algoritmo LBG com um livro de código que compreende os primeiros vetores de reprodução I/2 que já tinham sido copiados para o livro de código conjunto e solicitando que esses primeiros vetores de reprodução I/2 permaneçam fixos durante a operação do algoritmo LBG. Isso assegura que o livro de código em nível I produzido pelo algoritmo LBG consista desses primeiros vetores de reprodução I/2 que já estão contidos no livro de código conjunto (e foram otimizados para livros de código de níveis inferiores), e de vetores de reprodução I/2 que sejam otimizados para o atual livro de código de nível I, enquanto ainda considerando (e parcialmente compensando) o fato de que os primeiros vetores de reprodução I/2 no dito livro de código de nível I estão fixados. Os últimos vetores de reprodução I/2 do livro de código de nível I determinados na etapa 425 podem então ser copiados para as posições Pos +1 para Pos + I/2 do livro de código conjunto na etapa 426.40/46 determined by the LBG algorithm based on several training vectors, where 1 = 2 1 is fixed, being the circuit counter initialized in step 421. In fact, this level I code book would represent the optimal code book for N = 1. However, once in the joint code book, with the first I / 2 reproduction vectors already arranged in the steps of the flowchart previously executed, the arrangement is only possible for the last I / 2 reproduction vectors. According to the second modality of the method according to the fourth aspect of the present invention, this problem is solved by initializing the LBG algorithm with a code book that comprises the first I / 2 reproduction vectors that had already been copied to the code book together and requesting that these first I / 2 reproduction vectors remain fixed during the operation of the LBG algorithm. This ensures that the level I codebook produced by the LBG algorithm consists of those first I / 2 reproduction vectors that are already contained in the joint codebook (and have been optimized for lower level codebooks), and of reproduction vectors I / 2 that are optimized for the current level I code book, while still considering (and partially offsetting) the fact that the first I / 2 reproduction vectors in said level I code book are fixed. The last I / 2 reproduction vectors of the level I codebook determined in step 425 can then be copied to Pos +1 positions for Pos + I / 2 of the joint codebook in step 426.

A repetição apropriada dessas etapas 425 e 426 são asseguradas pela atualização do contador de Posição Pos na etapa 427, aumentando o contador de circuito na etapa 428 e contrastando com o valor m=log2(M) na etapa 429. Se i for maior do que m, o método é encerrado, caso contrário, retorna à etapa 425.The proper repetition of these steps 425 and 426 is ensured by updating the Pos Position counter in step 427, increasing the loop counter in step 428 and contrasting with the value m = log2 (M) in step 429. If i is greater than m, the method is terminated, otherwise, it returns to step 425.

A Figura 4c consiste de um fluxograma da terceira modalidade de um método para determinação de um livro de código conjunto de acordo com o quarto aspecto da presente invenção. Essa terceira modalidade pode ser implantada, por exemplo, pelo dispositivo 3 da Figura 3.Figure 4c consists of a flowchart of the third embodiment of a method for determining a joint codebook in accordance with the fourth aspect of the present invention. This third modality can be implemented, for example, by device 3 in Figure 3.

Na primeira etapa 440, inicializa-se um livro de código conjunto (alvo)In the first stage 440, a joint code book (target) is initialized

41/46 com capacidade para vetores de reprodução M. Em uma segunda etapa 441, um denominado livro de código “inicial” de nível M é gerado segundo o algoritmo LBG com base em diversos vetores de treinamento. Isso, por exemplo, pode ser realizado pela unidade LBG 31 do dispositivo 3 (veja a Figura3). As etapas restantes do fiuxograma da Figura 4c são então direcionadas a dispor os vetores de reprodução contidos no dito livro de código inicial dentro do dito livro de código conjunto inicializado na etapa 440. Esse arranjo, por exemplo, pode ser executado pela unidade de arranjo 32 do dispositivo 3 (veja Figura 3).41/46 capable of reproducing vectors M. In a second stage 441, a so-called “initial” M level code book is generated according to the LBG algorithm based on several training vectors. This, for example, can be accomplished by the LBG 31 unit of device 3 (see Figure 3). The remaining steps of the flowchart of Figure 4c are then directed to arrange the reproduction vectors contained in said initial codebook within said joint codebook initialized in step 440. This arrangement, for example, can be performed by arrangement unit 32 device 3 (see Figure 3).

Após a etapa 441, há duas alternativas para a seleção do(s) primeiro(s) vetor(es) de reprodução do dito livro de código iniciai que é/são copiados para a(s) primeíra(s) posição(ões) no livro de código conjunto.After step 441, there are two alternatives for selecting the first reproduction vector (s) of said initial code book that is / are copied to the first position (s) in the joint code book.

De acordo com a primeira alternativa, na etapa 442a, os dois vetores de reprodução mais diferentes entre si (em termos de maximizar determinado critério de distorção) são selecionados de um livro de código inicial. Em seguida, na etapa 443a, os dois vetores de reprodução selecionados são copiados do livro de código inicial para as duas primeiras posições no livro de código conjunto. Além disso, esses vetores de reprodução são excluídos do livro de código inicial. Em seguida, na etapa 444a, um contador de posição Pos é inicializado em 3.According to the first alternative, in step 442a, the two most different reproduction vectors (in terms of maximizing a given distortion criterion) are selected from an initial codebook. Then, in step 443a, the two selected reproduction vectors are copied from the initial codebook to the first two positions in the joint codebook. In addition, these reproduction vectors are excluded from the initial codebook. Then, in step 444a, a Pos position counter is initialized to 3.

De acordo com a segunda alternativa, na etapa 442b, seleciona-se oAccording to the second alternative, in step 442b, the

vetor de reprodução do livro de código iniciai que for mais semelhante a todos os vetores de treinamento usados na geração do livro de código inicial pelo algoritmo LBG na etapa 441. Em seguida, na etapa 443b, o vetor de reprodução selecionado é copiado do livro de código inicial para a primeira posição no livro de código conjunto. Além disso, esse vetor de reprodução é excluído do livro de código inicial. Na etapa 444b, um contador de posição Pos é inicializado em 2.reproduction vector of the initial codebook that is most similar to all training vectors used in the generation of the initial codebook by the LBG algorithm in step 441. Then, in step 443b, the selected reproduction vector is copied from the starting code for the first position in the joint codebook. In addition, this reproduction vector is excluded from the initial codebook. In step 444b, a Pos position counter is initialized to 2.

Enquanto o livro de código inicial não estiver vazio, o que é controlado pela etapa 445, as etapas seguintes 446 a 448 são repetidas (independente da alternativa realizada antes), cada vez dispondo um vetor de reprodução do dito livro de código inicial para a próxima posição Pos livre no dito livro de código conjunto.As long as the initial code book is not empty, which is controlled by step 445, the following steps 446 to 448 are repeated (regardless of the alternative performed before), each time having a reproduction vector of said initial code book for the next Free Pos position in said joint code book.

42/4642/46

Nesse ponto, na etapa 446, seleciona-se o vetor de reprodução noAt this point, in step 446, the reproduction vector is selected in the

dito livro de código inicial que seja mais distinto de todos os vetores de reprodução já contidos no dito livro de código. O vetor de reprodução mais diferente de todos os vetores de reprodução já contidos no dito livro de código conjunto pode ser determinado, por exemplo, computando, para cada candidato a vetor de reprodução no dito livro de código conjunto, a respectiva distorção relacionada a todos os demais vetores de reprodução no dito livro de código inicial e somando essas distorções para que se atinja um único valor por candidato a vetor de reprodução. O candidato a vetor de reprodução com o maior valor de distorção pode então ser considerado como o mais diferente de todos os vetores de reprodução já contidos no dito livro de código conjunto. Na etapa 447, esse vetor de reprodução selecionado é copiado para a (próxima e livre) posição Pos no livro de código conjunto e é excluída do livro de código inicial. Na etapa 448, o contador de posição Pos é aumentado em 1 e o método retorna à etapa 445.said initial code book that is more distinct from all the reproduction vectors already contained in said code book. The reproduction vector most different from all reproduction vectors already contained in said joint code book can be determined, for example, by computing, for each candidate for reproduction vector in said joint code book, the respective distortion related to all other reproduction vectors in said initial code book and adding these distortions to achieve a single value per candidate for reproduction vector. The candidate for reproduction vector with the highest distortion value can then be considered as the most different of all reproduction vectors already contained in said joint code book. In step 447, this selected reproduction vector is copied to the (next and free) position Pos in the joint codebook and is deleted from the initial codebook. In step 448, the Pos position counter is increased by 1 and the method returns to step 445.

Nesse sentido, o livro de código conjunto é sequencialmente preenchido com vetores de reprodução do dito livro de código inicial que sejam mais diferentes dos vetores de reprodução já contidos no dito livro de código conjunto, assegurando assim uma ampla cobertura do espaço vetorial dos vetores que devam ser quantificados mesmo para livros de código de nível baixo.In this sense, the joint codebook is sequentially filled with reproduction vectors from said initial codebook that are more different from the reproduction vectors already contained in said joint codebook, thus ensuring a wide coverage of the vector space of the vectors that must be quantified even for low-level code books.

Para evitar que os vetores de reprodução raramente utilizados tornem-se as primeiras entradas no livro de código conjunto, pode-se impor restrições adicionais no algoritmo de arranjo refletido pelo fluxograma da Figura 4c.To prevent the rarely used reproduction vectors from becoming the first entries in the joint codebook, additional restrictions can be imposed on the arrangement algorithm reflected by the flowchart in Figure 4c.

Por exemplo, na etapa 446, pode-se selecionar o vetor de reprodução mais diferente de todos os vetores de reprodução já contidos no dito livro de código conjunto enquanto todos os seus componentes vetoriais estiverem abaixo de um determinado limite, e em seguida copiá-lo para um livro de código conjunto 447. O dito limite pode depender, por exemplo, da posição real Pos no livro de código conjunto para o qual um vetor de reprodução deva ser selecionado no livro de código inicial. Por exemplo, para as posições correspondentes ao livro de código em nível 2 no livro de código conjunto (as posições 1 e 2 no livro de códigoFor example, in step 446, you can select the reproduction vector most different from all the reproduction vectors already contained in the said joint code book while all its vector components are below a certain limit, and then copy it for a joint code book 447. Said limit may depend, for example, on the actual position Pos in the joint code book for which a reproduction vector should be selected in the initial code book. For example, for positions corresponding to the level 2 codebook in the joint codebook (positions 1 and 2 in the codebook

43/46 conjunto), pode-se aplicar um primeiro limite para as posições correspondentes à segunda metade do livro de código de nível 4 (posições 3 e 4 no livro de código conjunto), pode-se aplicar um segundo limite e assim por diante. Os valores dos ditos limites podem aumentar com vantagem (i.e. sendo o primeiro limite menor do que o segundo limite, que é menor do que o terceiro limite, e assim por diante).43/46 set), a first limit can be applied to the positions corresponding to the second half of the level 4 code book (positions 3 and 4 in the joint code book), a second limit can be applied and so on . The values of said limits can advantageously increase (i.e. the first limit being less than the second limit, which is less than the third limit, and so on).

A Figura 4d consiste de um fluxograma de uma quarta modalidade de um método usado para determinar um livro de código conjunto de acordo com o quarto aspecto da presente invenção. Essa quarta modalidade pode ser implantada, por exemplo, pelo dispositivo 3 da Figura 3.Figure 4d consists of a flowchart of a fourth embodiment of a method used to determine a joint codebook in accordance with the fourth aspect of the present invention. This fourth modality can be implemented, for example, by device 3 in Figure 3.

Na primeira etapa 460, inicializa-se um livro de código conjunto (alvo) com capacidade para os vetores de reprodução M. Na segunda etapa 461, o denominado livro de código “inicial” de nível M é gerado de acordo com o algoritmo LBG, com base na pluralidade de vetores de treinamento. Esse pode ser realizado, por exemplo, pela unidade LBG 31 do dispositivo 3 (veja a Figura 3). Na etapa 462, o contador de posição Pos é inicializado em M. As etapas restantes do fluxograma da Figura 4d são direcionadas de modo a dispor os vetores de reprodução contidos no dito livro de código inicial dentro do dito livro de código conjunto inicializado na etapa 460. Esse arranjo pode ser executado, por exemplo, pelo arranjo da unidade 32 do dispositivo 3 (veja a Figura3).In the first step 460, a joint (target) code book with the capacity for the M reproduction vectors is initialized. In the second step 461, the so-called “initial” M level code book is generated according to the LBG algorithm, based on the plurality of training vectors. This can be done, for example, by the LBG 31 unit of device 3 (see Figure 3). In step 462, the Pos position counter is initialized to M. The remaining steps of the flowchart of Figure 4d are directed in order to arrange the reproduction vectors contained in said initial code book within said joint code book initialized in step 460 This arrangement can be performed, for example, by the arrangement of unit 32 of device 3 (see Figure 3).

Enquanto o livro de código inicial não estiver vazio, o que é controlado pela etapa 463, repetem-se as etapas seguintes 464 a 466, a cada vez dispondo um vetor de reprodução do dito livro de código inicial dentro da próxima posição livre Pos no dito livro de código conjunto, mas agora iniciando pela parte final do livro de código conjunto e prosseguindo até o início.While the initial code book is not empty, which is controlled by step 463, the following steps 464 to 466 are repeated, each time having a reproduction vector of said initial code book within the next free position Pos in said joint codebook, but now starting at the end of the joint codebook and continuing to the beginning.

Nesse ponto, na etapa 464, selecionam-se os dois vetores de reprodução no dito livro de código inicial mais semelhantes (em termos de minimizar determinado critério de distorção) entre si. Na etapa 465, o primeiro desses dois vetores de reprodução selecionados é copiado para a (próxima e livre) posição Pos no livro de código conjunto, e é excluído do livro de código inicial. Na etapa 466, o contador de posição Pos é subtraído de um, e o método retorna àAt that point, in step 464, the two most similar vectors of reproduction in said initial code book (in terms of minimizing a certain distortion criterion) are selected. In step 465, the first of these two selected reproduction vectors is copied to the (next and free) position Pos in the joint codebook, and is deleted from the initial codebook. In step 466, the Pos position counter is subtracted from one, and the method returns to

44/46 etapa 463.44/46 step 463.

Dessa forma, o livro de código conjunto é sequencialmente preenchido desde a parte final com vetores de reprodução do dito livro de código inicial que sejam semelhantes a outros vetores de reprodução no dito livro de código inicial. Isso assegura ampla cobertura do espaço vetorial dos vetores que devam ser quantificados mesmo para livros de código de nível baixo, por isso os vetores de reprodução são posicionados no início do livro de código conjunto quando esses livros de códigos forem de nível baixo.Thus, the joint codebook is sequentially filled from the end with reproduction vectors from said initial codebook that are similar to other reproduction vectors in said initial codebook. This ensures wide coverage of the vector space of the vectors that must be quantified even for low-level code books, so the reproduction vectors are positioned at the beginning of the joint code book when these code books are low-level.

A Figura 4e consiste de um fluxograma da quinta modalidade de um método para determinar um livro de código conjunto de acordo com o quarto aspecto da presente invenção. Essa quinta modalidade pode ser implantada, por exemplo, pelo dispositivo 3 da Figura 3.Figure 4e consists of a flowchart of the fifth embodiment of a method for determining a joint codebook in accordance with the fourth aspect of the present invention. This fifth modality can be implemented, for example, by device 3 in Figure 3.

Na primeira etapa 480, inicializa-se um livro de código conjunto (alvo) com capacidade para vetores de reprodução M. Na segunda etapa 481, é gerado o denominado livro de código “inicial” de nível M de acordo com o algoritmo LBG, com base em inúmeros vetores de treinamento. Isso pode ser realizado, por exemplo, através da unidade LBG 31 do dispositivo 3 (veja Figura 3). As etapas restantes do fluxograma da Figura 4e são em seguida direcionadas a dispor os vetores de reprodução contidos no livro de código inicial dentro do dito livro de código conjunto inicializado na etapa 480. Essa disposição pode ser realizada, por exemplo, através da unidade de arranjo 32 do dispositivo 3 (veja Figura 3).In the first step 480, a joint (target) code book with the capacity for M reproduction vectors is initialized. In the second step 481, the so-called “initial” M level code book is generated according to the LBG algorithm, with based on numerous training vectors. This can be done, for example, via the LBG 31 unit of device 3 (see Figure 3). The remaining steps in the flowchart of Figure 4e are then directed to arrange the reproduction vectors contained in the initial codebook within said joint codebook initialized in step 480. This arrangement can be carried out, for example, through the arrangement unit 32 from device 3 (see Figure 3).

Na etapa 482, um contador i é inicializado em zero. Em seguida, uma variável No é definida como zero. Finalmente, um contador de posição Pos é inicializado em zero.In step 482, counter i is initialized to zero. Then, a No variable is set to zero. Finally, a Pos position counter is initialized to zero.

As etapas 483 a 487 descrevem um circuito que é repetido k vezes. No mesmo, k denota o número dos tamanhos do livro de código N( (sendo i=1,...K e Nj-i < Nj M com j=2, ..., k) que deverá ser fornecido pelo livro de código conjunto. Em cada circuito i, completa-se um livro de código de tamanho Ni, conforme será descrito abaixo.Steps 483 to 487 describe a circuit that is repeated k times. In it, k denotes the number of sizes of the code book N ( (where i = 1, ... K and Nj-i <Nj M with j = 2, ..., k) that must be provided by the set code In each circuit i, a Ni size code book is completed, as described below.

Na etapa 484 do circuito, os vetores de reprodução Νι-Νμ sãoIn step 484 of the circuit, the vetoresι-Νμ reproduction vectors are

45/46 selecionados a partir do livro de código inicial, copiados para as próximas posições livres no livro de código conjunto e excluídos do livro de código inicial. A seleção desses vetores de reprodução é realizada de forma a reduzir ao máximo a distorção de um livro de código de nível Nj que contenha vetores de reprodução Nj que já tenham sido copiados para o livro de código conjunto nos circuitos anteriores e os ditos vetores de reprodução selecionados em relação aos vetores de treinamento usados no algoritmo LBG (veja a etapa 481). Para i=1 (e, da mesma maneira, Nj=No=O), nenhum vetor de reprodução foi copiado para o livro de código conjunto até o momento, e assim a seleção dos vetores de reprodução é executada de modo a reduzir ao máximo a distorção do livro de código de nível Ni que contém apenas os vetores de reprodução selecionados em relação aos vetores de treinamento utilizados no algoritmo LBG.45/46 selected from the initial codebook, copied to the next free positions in the joint codebook and excluded from the initial codebook. The selection of these reproduction vectors is carried out in such a way as to minimize the distortion of a Nj level code book that contains Nj reproduction vectors that have already been copied to the joint code book in the previous circuits and the said reproduction vectors selected in relation to the training vectors used in the LBG algorithm (see step 481). For i = 1 (and, likewise, Nj = N o = O), no reproduction vectors have been copied to the joint codebook so far, so the selection of the reproduction vectors is performed in order to reduce to the distortion of the Ni-level codebook that contains only the selected reproduction vectors in relation to the training vectors used in the LBG algorithm.

No mesmo, a distorção do livro de código pode ser determinada, por exemplo, calculando a distorção total de cada vetor de reprodução contido no livro de código de nível Nj em relação a todos os vetores de treinamento da célula Voronoi do vetor de reprodução considerado e somando as distorções totais de todos os vetores de reprodução no dito livro de código para se atingir um valor final. A distorção é determinada, por exemplo, por meio da distância euclidiana entre vetores, ou da distância derivada da norma h, para citar apenas alguns.In the same, the distortion of the codebook can be determined, for example, by calculating the total distortion of each reproduction vector contained in the codebook of level Nj in relation to all the training vectors of the Voronoi cell of the reproduction vector considered and adding the total distortions of all the reproduction vectors in said code book to reach a final value. The distortion is determined, for example, by means of the Euclidean distance between vectors, or the distance derived from the norm h, to name just a few.

Na etapa 485 do circuito, os vetores de reprodução selecionados são copiados para as posições Pos+1 para Pos+Ní-Nm no livro de código conjunto (que são as próximas posições livres no livro de código conjunto), e os vetores de reprodução selecionados são excluídos do livro de código inicial, de forma que não sejam considerados durante a seleção dos vetores de reprodução no próximo circuito. Como pode ser observado, apenas as últimas posições Ní-Nm do respectivo livro de código de nível N, são determinados em cada circuito i, porque as primeiras posições Nm já tinham sido determinadas em circuitos anteriores. Assim, pode se dizer que o livro de código de nível N, está “completado” (mas não totalmente determinado) no circuito i.In step 485 of the circuit, the selected reproduction vectors are copied to Pos + 1 to Pos + Ni-Nm positions in the joint code book (which are the next free positions in the joint code book), and the selected reproduction vectors they are excluded from the initial codebook, so that they are not considered when selecting the reproduction vectors on the next circuit. As can be seen, only the last Ni-Nm positions in the respective N-level code book are determined on each circuit i, because the first Nm positions had already been determined on previous circuits. Thus, it can be said that the N-level code book is “completed” (but not fully determined) on circuit i.

Na etapa 486, o contador de posição Pos é da mesma forma elevadoIn step 486, the Pos position counter is likewise raised

46/46 em Ni-N|.-|. Na etapa 487, verifica-se se todos os livros de código k que devem estar contidos no livro de código conjunto já foram processados (i=K). Se for esse o caso, o método é encerrado. Caso contrário (i<K), o método retorna à etapa 483 para encerrar o próximo livro de código.46/46 in Ni-N | .- |. In step 487, it is checked whether all k code books that must be contained in the joint code book have already been processed (i = K). If so, the method is terminated. Otherwise (i <K), the method returns to step 483 to end the next code book.

Como exemplo, se M=4, Ni=2 e N2=4 mantêm, no primeiro circuito, i=1, os vetores de reprodução Ni=2 do livro de código inicial desse modo, será mínima a distorção do livro de código com 2 elementos que contém esses dois vetores em relação aos vetores de treinamento. Esses 2 vetores de reprodução são copiados para as posições 1 e 2 no livro de código conjunto (de modo que o livro de código de 2 elementos contido no início do livro de código conjunto seja completado) e são excluídos do livro de código inicial. Em um próximo circuito i=2, são selecionados vetores de reprodução N2-Ni=2, de modo que o livro de código com os 2 vetores de reprodução já contidos no livro de código conjunto e os 2 vetores de reprodução selecionados apresentem distorção mínima em relação aos vetores de treinamento. Em seguida, os dois vetores de reprodução são copiados para as posições 3 e 4 no livro de código conjunto (de forma que o livro de código de 4 elementos contido no início do livro de código conjunto seja completado) e excluído do livro de código inicial. No mesmo, fica imediatamente compreendido que a escolha de M e de Nj não se limita necessariamente a ser uma potência deAs an example, if M = 4, Ni = 2 and N 2 = 4 keep, in the first circuit, i = 1, the reproduction vectors Ni = 2 of the initial codebook in this way, there will be minimal distortion of the codebook with 2 elements that these two vectors contain in relation to the training vectors. These 2 reproduction vectors are copied to positions 1 and 2 in the joint codebook (so that the 2-element codebook at the beginning of the joint codebook is completed) and are excluded from the initial codebook. In a next circuit i = 2, N2-Ni = 2 reproduction vectors are selected, so that the codebook with the 2 reproduction vectors already contained in the joint codebook and the 2 selected reproduction vectors present minimal distortion in relation to training vectors. The two reproduction vectors are then copied to positions 3 and 4 in the joint codebook (so that the 4-element codebook at the beginning of the joint codebook is completed) and deleted from the initial codebook . It is immediately understood that the choice of M and Nj is not necessarily limited to being a power of

2.2.

A invenção foi descrita acima por meio de modalidades exemplificativas. Deve-se notar que há formas alternativas e variações nítidas para os indivíduos versados na técnica e que podem ser implantadas sem se desviar do escopo e da essência das reivindicações apensas. Em particular, a presente invenção não se limita à aplicação no contexto do processamento de áudio e voz. Pode ser igualmente construída para a quantificação de qualquer outro tipo de dados.The invention has been described above by way of exemplary embodiments. It should be noted that there are alternative forms and clear variations for individuals versed in the technique and that can be implemented without deviating from the scope and essence of the attached claims. In particular, the present invention is not limited to application in the context of audio and voice processing. It can also be built for the quantification of any other type of data.

Claims (19)

1. Método de quantificação de vetores ao nível N, em que N é selecionável, antes da quantificação, de um conjunto de pelo menos dois valores predefinidos que são inferiores ou iguais a um número predefinido máximo de níveis M, compreendendo:1. Method of quantifying vectors at level N, where N is selectable, before quantification, from a set of at least two predefined values that are less than or equal to a maximum predefined number of levels M, comprising: - seleção, na quantificação de vetores ao nível N, de um vetor de reprodução para dito vetor de um livro de código de níveis N de vetores de reprodução N que são, para cada N no conjunto de pelo menos dois valores predefinidos, representados pelos primeiros vetores de reprodução N do mesmo livro de código conjunto de vetores de reprodução M; e caracterizado por adicionalmente compreender um sinal identificador que identifica o referido vetor de reprodução selecionado, compreendendo o processamento do referido sinal identificador de sinal para armazenamento no meio de armazenamento ou para transmissão no canal de transmissão de um sistema de comunicação.- selection, in the quantification of vectors at level N, of a reproduction vector for said vector of a code book of levels of reproduction vectors N which are, for each N in the set of at least two predefined values, represented by the first reproduction vectors N from the same code book set of reproduction vectors M; and characterized in that it further comprises an identifying signal that identifies said selected reproduction vector, comprising processing said signal identifying signal for storage in the storage medium or for transmission in the transmission channel of a communication system. 2. Método, de acordo com a reivindicação 1, caracterizado por N=2n e M=2m serem fixos, sendo nem valores inteiros.2. Method according to claim 1, characterized in that N = 2 n and M = 2 m are fixed, neither being integer values. 3. Método, de acordo com a reivindicação 1, caracterizado por cada vetor de reprodução no livro de código de níveis N ser identificado por uma palavra binária de n bits.Method according to claim 1, characterized in that each reproduction vector in the level code book N is identified by a binary word of n bits. 4. Método, de acordo com a reivindicação 1, caracterizado por os vetores compreenderem parâmetros relacionados com a Codificação Previsora Linear de uma sequência de dados.4. Method according to claim 1, characterized in that the vectors comprise parameters related to the Linear Predictive Coding of a data sequence. Petição 870190016915, de 19/02/2019, pág. 9/18Petition 870190016915, of 02/19/2019, p. 9/18 2/92/9 5. Método, de acordo com a reivindicação 1, caracterizado por a etapa de seleção ser conduzida por um dispositivo de comunicação portátil.5. Method according to claim 1, characterized in that the selection step is conducted by a portable communication device. 6. Dispositivo para a quantificação de vetores ao nível N, sendo N selecionável, antes da quantificação, de um conjunto de pelo menos dois valores predefinidos que são inferiores ou iguais a um número máximo predefinido de níveis M, caracterizado por compreender:6. Device for quantifying vectors at level N, with N being selectable, before quantification, from a set of at least two predefined values that are less than or equal to a maximum predefined number of levels M, characterized by comprising: - meios para a seleção, na quantificação de vetores ao nível N, de um vetor de reprodução para dito vetor de um livro código de níveis N dos vetores de reprodução N que são, para cada N no conjunto de pelo menos dois valores predefinidos, representados pelos primeiros vetores de reprodução N do mesmo livro de código conjunto de vetores de reprodução M e para prover um sinal identificador que identifica o referido vetor de reprodução selecionado, e meios para processamento do referido sinal identificador de sinal para armazenamento no meio de armazenamento ou para transmissão no canal de transmissão de um sistema de comunicação.- means for the selection, in the quantification of vectors at level N, of a reproduction vector for said vector of a book code of levels N of reproduction vectors N which are, for each N in the set of at least two predefined values, represented by the first reproduction vectors N of the same code book set of reproduction vectors M and to provide an identifying signal that identifies said selected reproduction vector, and means for processing said signal identifying signal for storage in the storage medium or for transmission in the transmission channel of a communication system. 7. Método para a recuperação de vetores de reprodução para vetores que tenham sido quantificados ao nível N, sendo N selecionável, antes da quantificação dos vetores, de um conjunto de pelo menos dois valores predefinidos que são inferiores ou iguais a um número máximo predefinido de níveis Mi, caracterizado por compreender:7. Method for the recovery of reproduction vectors for vectors that have been quantified at the N level, with N being selectable, before the quantization of the vectors, of a set of at least two predefined values that are less than or equal to a predefined maximum number of Mi levels, characterized by understanding: - o recebimento de um identificador de sinal do meio de armazenamento ou através de um canal de comunicação, o referido identificador de sinal indicativo de um vetor de reprodução que tenha sido selecionado para um vetor na quantização de nível N do referido vetor; e- receiving a signal identifier from the storage medium or through a communication channel, said signal identifier indicative of a reproduction vector that has been selected for a vector in the quantization of level N of said vector; and - recuperação, com base no identificador, do vetor de reprodução de um livro de código de níveis N, de vetores de reprodução N que são, para cada N no conjunto de pelo menos dois valores predefinidos, representados pelos- recovery, based on the identifier, of the reproduction vector of a N-level code book, of reproduction vectors N which are, for each N in the set of at least two predefined values, represented by Petição 870190016915, de 19/02/2019, pág. 10/18Petition 870190016915, of 02/19/2019, p. 10/18 3/9 primeiros vetores de reprodução N do mesmo livro de código conjunto de vetores de reprodução M, dito vetor de reprodução de recuperação para saída para outras etapas de processamento.3/9 first N reproduction vectors from the same code book set of M reproduction vectors, said recovery reproduction vector for output to other processing steps. 8. Método, de acordo com a reivindicação 7, caracterizado por N=2n e M=2m serem fixos, sendo nem valores inteiros.8. Method according to claim 7, characterized in that N = 2 n and M = 2 m are fixed, neither being integer values. 9. Dispositivo para a recuperação de vetores de reprodução para vetores que tenham sido quantificados ao nível N, sendo N selecionável, antes de uma quantificação dos vetores, de um conjunto de pelo menos dois valores predefinidos que são inferiores ou iguais a um número máximo predefinido de níveis M, caracterizado por compreender:9. Device for the recovery of reproduction vectors for vectors that have been quantified at the N level, with N being selectable, before a quantification of the vectors, of a set of at least two predefined values that are less than or equal to a predefined maximum number level M, characterized by comprising: - meios para receber um identificador de sinal do meio de armazenamento ou através de um canal de comunicação, o referido identificador de sinal indicativo de um vetor de reprodução que tenha sido selecionado para um vetor na quantização de nível N do referido vetor; e- means for receiving a signal identifier from the storage medium or through a communication channel, said signal identifier indicative of a reproduction vector that has been selected for a vector in the quantization of level N of said vector; and - meios para recuperação, com base no identificador, do vetor de reprodução de um livro de código de níveis N, de vetores de reprodução N que são, para cada N no conjunto de pelo menos dois valores predefinidos, representados pelos primeiros vetores de reprodução N do mesmo livro de código conjunto de vetores de reprodução M, dito vetor de reprodução de recuperação para saída para outras etapas de processamento.- means for retrieving, based on the identifier, the reproduction vector of a N-level code book, of reproduction vectors N which are, for each N in the set of at least two predefined values, represented by the first reproduction vectors N from the same code book set of reproduction vectors M, said recovery reproduction vector for output to other processing steps. 10. Sistema para a transferência de representações de vetores, caracterizado por compreender:10. System for the transfer of vector representations, characterized by comprising: - meios para a seleção de um vetor de reprodução para cada vetor de um livro de código de níveis N de vetores de reprodução N, sendo N selecionável, antes da seleção, de um conjunto de pelo menos dois valores predefinidos que são inferiores ou iguais a um número máximo predefinido de níveis M, e- means for selecting a reproduction vector for each vector in a N-level codebook of reproduction vectors N, with N being selectable, before selection, from a set of at least two predefined values that are less than or equal to a predefined maximum number of M levels, and Petição 870190016915, de 19/02/2019, pág. 11/18Petition 870190016915, of 02/19/2019, p. 11/18 4/9 sendo os vetores de reprodução N, para cada N no conjunto de pelo menos dois valores predefinidos, representados pelos primeiros vetores de reprodução N de um primeiro livro de código conjunto de vetores de reprodução M;4/9 being the reproduction vectors N, for each N in the set of at least two predefined values, represented by the first reproduction vectors N of a first code book set of reproduction vectors M; - meios para a transmissão de um identificador do vetor de reprodução selecionado por meio de um canal de transmissão; meios para receber tal identificador; e meios para a recuperação, com base no identificador, do vetor de reprodução, de um livro de código de níveis N de vetores de reprodução N representados pelos primeiros vetores de reprodução N de um segundo livro de código conjunto de vetores de reprodução M que corresponde ao primeiro livro de código.- means for transmitting a selected reproduction vector identifier via a transmission channel; means for receiving such an identifier; and means for retrieving, based on the identifier, of the reproduction vector, a code book of levels N of reproduction vectors N represented by the first reproduction vectors N of a second code book of reproduction vectors set M corresponding to the first code book. 11. Método para a determinação de um livro de código conjunto de vetores de reprodução M para uso em uma quantificação ao nível N de vetores, sendo M um número máximo predefinido de níveis, sendo N selecionável, antes da quantificação, de um conjunto de pelo menos dois valores predefinidos que são inferiores ou iguais a M, e sendo, na quantificação, um vetor de reprodução para cada vetor selecionado, de um livro de código de níveis N, de vetores de reprodução N que são, para cada N no conjunto de pelo menos dois valores predefinidos, representados pelos primeiros vetores de reprodução N do livro de código conjunto, caracterizado por compreender:11. Method for determining a set of reproduction vector codebook M for use in quantification at level N of vectors, where M is a predefined maximum number of levels, where N is selectable, before quantification, from a set of at least minus two predefined values that are less than or equal to M, and being, in quantification, a reproduction vector for each selected vector, from a code book of levels N, of reproduction vectors N which are, for each N in the set of at least two predefined values, represented by the first reproduction vectors N of the joint codebook, characterized by comprising: - gerar os vetores de reprodução por um algoritmo de treinamento pelo menos parcialmente baseado em uma multiplicidade de vetores de treinamento; e armazenamento e- generate the reproduction vectors by a training algorithm at least partially based on a multiplicity of training vectors; and storage and - dispor os vetores de reprodução gerados na memória de acordo com um algoritmo de disposição de modo que para formar o dito livro de código conjunto de modo que para cada N, os primeiros vetores de reprodução N no livro de código conjunto formem um livro de código de níveis N que permite uma ligeira distorção média dos vetores quando usado na quantificação dos vetores.- arrange the reproduction vectors generated in memory according to an arrangement algorithm so that to form said joint code book so that for each N, the first N reproduction vectors in the joint code book form a code book of levels N that allows a slight average distortion of the vectors when used in the quantification of the vectors. Petição 870190016915, de 19/02/2019, pág. 12/18Petition 870190016915, of 02/19/2019, p. 12/18 5/95/9 12. Método de acordo com a reivindicação 11, caracterizado por N=2n e M=2m serem fixos, sendo nem valores inteiros.Method according to claim 11, characterized in that N = 2 n and M = 2 m are fixed, neither being integer values. 13. Método de acordo com a reivindicação 12, caracterizado por compreender:Method according to claim 12, characterized in that it comprises: - gerar um livro de código inicial de vetores de reprodução M pelo algoritmo de treinamento;- generate an initial code book of reproduction vectors M by the training algorithm; - gerar um livro de código de nível 2 de vetores de reprodução 2 pelo algoritmo de treinamento;- generate a level 2 code book of reproduction vectors 2 by the training algorithm; - selecionar esses vetores de reprodução 2 do livro de código inicial que sejam mais semelhantes aos vetores de reprodução 2 no livro de código de nível 2;- selecting those reproduction vectors 2 from the initial codebook that are most similar to reproduction vectors 2 in the level 2 codebook; - copiar os vetores de reprodução 2 do livro de código inicial para as primeiras 2 posições no livro de código conjunto e apagar, do livro de código inicial, os vetores de reprodução 2 selecionados; e- copy the reproduction vectors 2 from the initial codebook to the first 2 positions in the joint codebook and delete, from the initial codebook, the selected reproduction vectors 2; and - repetir para 1 < i < m, as seguintes etapas:- repeat for 1 <i <m, the following steps: - gerar um livro de código de nível I de vetores de reprodução I = 21 pelo algoritmo de treinamento;- generate a level I code book of reproduction vectors I = 2 1 by the training algorithm; - identificar esses vetores de reprodução I/2 do livro de código de nível I que sejam mais semelhantes aos vetores de reprodução I/2 já copiados ao livro de código conjunto;- identify those I / 2 reproduction vectors from the level I codebook that are more similar to the I / 2 reproduction vectors already copied to the joint codebook; - para o restante de vetores de reprodução I/2 não identificados no livro de código de nível I, selecionar os vetores de reprodução I/2 do livro de código inicial que sejam mais semelhantes aos restantes vetores de reprodução I/2 não identificados; e- for the remainder of I / 2 reproduction vectors not identified in the level I codebook, select the I / 2 reproduction vectors from the initial codebook that are most similar to the remaining unidentified I / 2 reproduction vectors; and - copiar os vetores de reprodução I/2 do livro de código inicial para as posições livres seguintes no sentido crescente no livro de código conjunto, e apagar, do livro de código inicial, os vetores de reprodução I/2 selecionados.- copy the I / 2 reproduction vectors from the initial codebook to the next free positions upwards in the joint codebook, and delete the selected I / 2 reproduction vectors from the initial codebook. 14. Método de acordo com a reivindicação 12, caracterizado por compreender:Method according to claim 12, characterized in that it comprises: Petição 870190016915, de 19/02/2019, pág. 13/18Petition 870190016915, of 02/19/2019, p. 13/18 6/96/9 - gerar um livro de código de nível 2 de vetores de reprodução 2 pelo algoritmo de treinamento;- generate a level 2 code book of reproduction vectors 2 by the training algorithm; - copiar os vetores de reprodução 2 do livro de código de nível 2 para as 2 primeiras posições no livro de código conjunto; e- copy the reproduction vectors 2 from the level 2 codebook to the first 2 positions in the joint codebook; and - repetir, para 1 < i < m, as seguintes etapas:- repeat, for 1 <i <m, the following steps: - gerar um livro de código de nível I de vetores de reprodução l=21 pelo algoritmo de treinamento, em que no algoritmo de treinamento, os vetores de reprodução I/2 já copiados do livro de código conjunto formam a primeira parte de um livro de código de vetores de reprodução I, que serve como uma inicialização do livro de código de nível I gerado pelo algoritmo de treinamento, e é pressuposto que sejam fixados pelo algoritmo de treinamento; e- generate a level I code book of reproduction vectors l = 2 1 by the training algorithm, in which in the training algorithm, the I / 2 reproduction vectors already copied from the joint code book form the first part of a book of reproduction vector code I, which serves as an initialization of the level I code book generated by the training algorithm, and is assumed to be fixed by the training algorithm; and - copiar os últimos vetores de reprodução I/2 do livro de código de níveis I gerado para as seguintes posições I/2 livres no sentido crescente no livro de código conjunto.- copy the last I / 2 reproduction vectors from the generated I-level code book to the following free I / 2 positions in an increasing direction in the joint code book. 15. Método de acordo com a reivindicação 11, caracterizado por compreenderMethod according to claim 11, characterized in that it comprises - gerar um livro de código inicial de vetores de reprodução M pelo algoritmo de treinamento com base em uma multiplicidade de vetores de treinamento;- generate an initial code book of reproduction vectors M by the training algorithm based on a multiplicity of training vectors; - selecionar, do livro de código inicial, os dois vetores de reprodução que são mais diferentes entre si;- select, from the initial codebook, the two reproduction vectors that are most different from each other; - copiar os dois vetores de reprodução selecionados do livro de código inicial para as duas primeiras posições no livro de código conjunto, e apagar, do livro de código inicial, os dois vetores de reprodução selecionados; e- copy the two selected reproduction vectors from the initial codebook to the first two positions in the joint codebook, and delete, from the initial codebook, the two selected reproduction vectors; and - repetir, enquanto o livro de código inicial ainda não esta esvaziado, as seguintes etapas:- repeat, while the initial code book has not yet been emptied, the following steps: - selecionar o vetor de reprodução do livro de código inicial que é o mais diferente em comparação com todos os vetores de reprodução já copiados para o livro de código conjunto;- select the reproduction vector from the initial codebook which is the most different compared to all reproduction vectors already copied to the joint codebook; Petição 870190016915, de 19/02/2019, pág. 14/18Petition 870190016915, of 02/19/2019, p. 14/18 7/97/9 - copiar o vetor de reprodução selecionado do livro de código inicial para a seguinte posição livre no sentido crescente no livro de código conjunto e apagar, do livro de código inicial, o vetor de reprodução selecionado. - copy the selected reproduction vector from the initial codebook to the next free position in the ascending direction in the joint codebook and delete the selected reproduction vector from the initial codebook.
16. Método de acordo com a reivindicação 11, caracterizado por compreender:16. Method according to claim 11, characterized in that it comprises: - gerar um livro de código inicial de vetores de reprodução M pelo algoritmo de treinamento com base em uma multiplicidade de vetores de treinamento;- generate an initial code book of reproduction vectors M by the training algorithm based on a multiplicity of training vectors; - selecionar do livro de código inicial, o vetor de reprodução que é mais semelhante a odos os vetores de treinamento;- select from the initial codebook, the reproduction vector that is most similar to all training vectors; - copiar o vetor de reprodução selecionado do livro de código inicial para a primeira posição no livro de código conjunto e apagar do livro de código inicial o vetor de reprodução selecionado; e- copy the selected reproduction vector from the initial codebook to the first position in the joint codebook and delete the selected reproduction vector from the initial codebook; and - repetir, enquanto o livro de código inicial ainda não esta vazio, as seguintes- repeat, while the initial code book is not yet empty, the following etapas: phases: - selecionar o vetor de reprodução do livro de código inicial que é o mais diferente de todos os vetores de reprodução já copiados para o livro de código conjunto; - copiar o vetor de reprodução selecionado do livro de código inicial para a primeira posição seguinte em sentido crescente no livro de código conjunto e apagar do livro de código inicial o vetor de reprodução selecionado. - select the reproduction vector from the initial codebook which is the most different from all reproduction vectors already copied to the joint codebook; - copy the selected reproduction vector from the initial codebook to the next first position in an increasing direction in the joint codebook and delete the selected reproduction vector from the initial codebook.
17. Método de acordo com a reivindicação 11, caracterizado por compreender:17. Method according to claim 11, characterized in that it comprises: - gerar um livro de código inicial de vetores de reprodução M pelo algoritmo de treinamento;- generate an initial code book of reproduction vectors M by the training algorithm; - repetir, enquanto o livro de código inicial ainda não está vazio, as seguintes etapas:- repeat, while the initial code book is not yet empty, the following steps: Petição 870190016915, de 19/02/2019, pág. 15/18Petition 870190016915, of 02/19/2019, p. 15/18 8/98/9 - selecionar os vetores de reprodução 2 do livro de código inicial que são o mais semelhante entre si;- select the reproduction vectors 2 from the initial codebook that are the most similar to each other; - copiar o primeiro dos dois vetores de reprodução selecionados do livro de código inicial para a seguinte posição livre, no sentido decrescente, começando da última posição no livro de código conjunto e apagar, do livro de código inicial, o primeiro dos dois vetores de reprodução selecionados.- copy the first of the two selected reproduction vectors from the initial code book to the next free position, in a decreasing direction, starting from the last position in the joint code book and delete, from the initial code book, the first of the two reproduction vectors selected. 18. Método de acordo com a reivindicação 11, em que o conjunto de pelo menos dois valores predefínidos para N que são inferiores ou iguais a M contém K valores Ni sendo i=1, . . . , K e Nj-i < Nj és M para j = 2,..., K, caracterizado por compreender:18. The method of claim 11, wherein the set of at least two predefined values for N that are less than or equal to M contains K values Ni where i = 1,. . . , K and Nj-i <Nj are M for j = 2, ..., K, characterized by comprising: - gerar um livro de código inicial de vetores de reprodução M pelo algoritmo de treinamento com base em uma multiplicidade de vetores de treinamento;- generate an initial code book of reproduction vectors M by the training algorithm based on a multiplicity of training vectors; - selecionar, do livro de código inicial, vetores de reprodução Ni de modo tal, que uma distorção de um livro de código que contém os vetores de reprodução selecionados seja mínima no tocante a todos os vetores de treinamento;- select, from the initial codebook, Ni reproduction vectors in such a way that a distortion of a codebook containing the selected reproduction vectors is minimal with respect to all training vectors; - copiar os vetores de reprodução selecionados do livro de código inicial para o livro de código conjunto e apagar, do livro de código inicial, os vetores de reprodução selecionados; e- copy the selected reproduction vectors from the initial codebook to the joint codebook and delete the selected reproduction vectors from the initial codebook; and - repetir, para cada Ni com 1 < i < K, as seguintes etapas:- repeat, for each Ni with 1 <i <K, the following steps: - selecionar, do livro de código inicial, vetores de reprodução Ní-Ní-í de modo tal, que uma distorção de um livro de código que contém os vetores de reprodução Nm já copiados para o livro de código conjunto e os vetores de reprodução selecionados seja mínima no tocante a todos os vetores de treinamento; e- select, from the initial codebook, Ní-Ní-í reproduction vectors in such a way that a distortion of a codebook containing the Nm reproduction vectors already copied to the joint codebook and the selected reproduction vectors be minimal with respect to all training vectors; and - copiar os vetores de reprodução selecionados do livro de código inicial para as seguintes posições livres no sentido decrescente no livro de código conjunto e apagar, do livro de código inicial, os vetores de reprodução selecionados.- copy the selected reproduction vectors from the initial codebook to the following free positions in a decreasing direction in the joint codebook and delete the selected reproduction vectors from the initial codebook. Petição 870190016915, de 19/02/2019, pág. 16/18Petition 870190016915, of 02/19/2019, p. 16/18 9/99/9 19. Dispositivo para a determinação de um livro de código conjunto de vetores de reprodução M para uso em uma quantificação ao nível N de vetores, em que M é um número máximo predefinido de níveis M, em que N é selecionável, antes da quantificação, de um conjunto de pelo menos dois valores predefinidos que são inferiores ou iguais a M, e em que, na quantificação, um vetor de reprodução para cada vetor é selecionado de um livro de código de níveis N de vetores de reprodução N que são, para cada N no conjunto de pelo menos dois valores predefinidos, representados pelos primeiros vetores de reprodução N do livro de código conjunto, caracterizado por compreender:19. Device for determining a set of reproduction vector codebook M for use in quantification at level N of vectors, where M is a predefined maximum number of levels M, where N is selectable, before quantification, of a set of at least two predefined values that are less than or equal to M, and where, in quantification, a reproduction vector for each vector is selected from a code book of N levels of reproduction vectors N which are, for each N in the set of at least two predefined values, represented by the first N reproduction vectors of the joint codebook, characterized by comprising: - meios para a geração dos vetores de reprodução por um algoritmo de treinamento pelo menos parcialmente baseado em uma multiplicidade de vetores de treinamento; e- means for generating the reproduction vectors by a training algorithm at least partially based on a multiplicity of training vectors; and - meios para armazenar e dispor os vetores de reprodução gerados na memória de acordo com um algoritmo de disposição, de modo para formar o livro de código conjunto de modo que para cada N, os primeiros vetores de reprodução N no conjunto de vetores de reprodução M formam um livro de código de níveis N que permite uma ligeira distorção média dos vetores quando usado na quantificação dos vetores.- means for storing and arranging the reproduction vectors generated in memory according to an arrangement algorithm, so as to form the joint codebook so that for each N, the first reproduction vectors N in the set of reproduction vectors M they form a code book of levels N that allows a slight average distortion of the vectors when used in the quantification of the vectors.
BRPI0615709-2A 2005-08-29 2006-08-25 METHOD AND DEVICE FOR QUANTITATION OF VECTORS AT LEVEL N, METHOD AND DEVICE FOR RECOVERY OF REPRODUCTION VECTORS, SYSTEM FOR TRANSFER OF VECTOR REPRESENTATIONS, METHOD AND DEVICE FOR DETERMINING A CODE BOOK BRPI0615709B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/214,484 US7587314B2 (en) 2005-08-29 2005-08-29 Single-codebook vector quantization for multiple-rate applications
US11/214,484 2005-08-29
PCT/IB2006/052956 WO2007026295A2 (en) 2005-08-29 2006-08-25 Single-codebook vector quantization for multiple-rate applications

Publications (2)

Publication Number Publication Date
BRPI0615709A2 BRPI0615709A2 (en) 2011-05-24
BRPI0615709B1 true BRPI0615709B1 (en) 2019-08-20

Family

ID=37697832

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0615709-2A BRPI0615709B1 (en) 2005-08-29 2006-08-25 METHOD AND DEVICE FOR QUANTITATION OF VECTORS AT LEVEL N, METHOD AND DEVICE FOR RECOVERY OF REPRODUCTION VECTORS, SYSTEM FOR TRANSFER OF VECTOR REPRESENTATIONS, METHOD AND DEVICE FOR DETERMINING A CODE BOOK

Country Status (17)

Country Link
US (1) US7587314B2 (en)
EP (1) EP1920434B1 (en)
JP (1) JP4777429B2 (en)
KR (1) KR100982211B1 (en)
CN (1) CN101288118B (en)
AT (1) ATE446571T1 (en)
AU (1) AU2006286177C1 (en)
BR (1) BRPI0615709B1 (en)
DE (1) DE602006009950D1 (en)
ES (1) ES2332330T3 (en)
HK (1) HK1122640A1 (en)
MX (1) MX2008002434A (en)
MY (1) MY144576A (en)
PL (1) PL1920434T3 (en)
RU (1) RU2391715C2 (en)
WO (1) WO2007026295A2 (en)
ZA (1) ZA200801844B (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7966175B2 (en) * 2006-10-18 2011-06-21 Polycom, Inc. Fast lattice vector quantization
US7961640B2 (en) * 2006-10-26 2011-06-14 Qualcomm Incorporated Method and apparatus for codebook exchange in a multiple access wireless communication system
EP2048787A4 (en) * 2006-12-05 2009-07-01 Huawei Tech Co Ltd Method and device for quantizing vector
US7813922B2 (en) * 2007-01-30 2010-10-12 Nokia Corporation Audio quantization
RU2461079C2 (en) * 2008-02-15 2012-09-10 Нокиа Корпорейшн Simplified vector indexing and deindexing
US20100257174A1 (en) * 2009-04-02 2010-10-07 Matthew Dino Minuti Method for data compression utilizing pattern-analysis and matching means such as neural networks
CN101577551A (en) * 2009-05-27 2009-11-11 华为技术有限公司 Method and device for generating lattice vector quantization codebook
KR101826331B1 (en) * 2010-09-15 2018-03-22 삼성전자주식회사 Apparatus and method for encoding and decoding for high frequency bandwidth extension
CN106409305B (en) * 2010-12-29 2019-12-10 三星电子株式会社 Apparatus and method for encoding/decoding for high frequency bandwidth extension
DK2831757T3 (en) * 2012-03-29 2019-08-19 Ericsson Telefon Ab L M Vector quantizer
US9304703B1 (en) * 2015-04-15 2016-04-05 Symbolic Io Corporation Method and apparatus for dense hyper IO digital retention
EP3186808B1 (en) * 2014-08-28 2019-03-27 Nokia Technologies Oy Audio parameter quantization
CA2991341A1 (en) * 2015-07-06 2017-01-12 Nokia Technologies Oy Bit error detector for an audio signal decoder
US10531099B2 (en) * 2016-09-30 2020-01-07 The Mitre Corporation Systems and methods for distributed quantization of multimodal images
CN112036821B (en) * 2020-08-24 2024-02-02 智能创谷(北京)科技有限公司 Quantization method, quantization device, quantization medium and quantization electronic equipment based on grid map planning private line

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0365822A (en) * 1989-08-04 1991-03-20 Fujitsu Ltd Vector quantization coder and vector quantization decoder
US5734791A (en) * 1992-12-31 1998-03-31 Apple Computer, Inc. Rapid tree-based method for vector quantization
US5481739A (en) * 1993-06-23 1996-01-02 Apple Computer, Inc. Vector quantization using thresholds
WO1995010760A2 (en) * 1993-10-08 1995-04-20 Comsat Corporation Improved low bit rate vocoders and methods of operation therefor
GB2300548B (en) * 1995-05-02 2000-01-12 Motorola Ltd Method for a communications system
US6215910B1 (en) * 1996-03-28 2001-04-10 Microsoft Corporation Table-based compression with embedded coding
US6952671B1 (en) * 1999-10-04 2005-10-04 Xvd Corporation Vector quantization with a non-structured codebook for audio compression
US6504877B1 (en) * 1999-12-14 2003-01-07 Agere Systems Inc. Successively refinable Trellis-Based Scalar Vector quantizers
CA2388358A1 (en) * 2002-05-31 2003-11-30 Voiceage Corporation A method and device for multi-rate lattice vector quantization
US8090577B2 (en) 2002-08-08 2012-01-03 Qualcomm Incorported Bandwidth-adaptive quantization
CA2415105A1 (en) * 2002-12-24 2004-06-24 Voiceage Corporation A method and device for robust predictive vector quantization of linear prediction parameters in variable bit rate speech coding
KR101190875B1 (en) * 2004-01-30 2012-10-15 프랑스 뗄레콤 Dimensional vector and variable resolution quantization
ATE464635T1 (en) * 2004-07-23 2010-04-15 Telecom Italia Spa METHOD FOR GENERATING AND USING A VECTOR CODEBOOK, METHOD AND DEVICE FOR COMPRESSING DATA, AND DISTRIBUTED SPEECH RECOGNITION SYSTEM
US20060080090A1 (en) * 2004-10-07 2006-04-13 Nokia Corporation Reusing codebooks in parameter quantization
US8510105B2 (en) * 2005-10-21 2013-08-13 Nokia Corporation Compression and decompression of data vectors
EP2048787A4 (en) * 2006-12-05 2009-07-01 Huawei Tech Co Ltd Method and device for quantizing vector

Also Published As

Publication number Publication date
WO2007026295A2 (en) 2007-03-08
ES2332330T3 (en) 2010-02-02
DE602006009950D1 (en) 2009-12-03
BRPI0615709A2 (en) 2011-05-24
ATE446571T1 (en) 2009-11-15
CN101288118B (en) 2011-07-20
RU2008106651A (en) 2009-10-10
AU2006286177C1 (en) 2011-08-18
AU2006286177B2 (en) 2011-04-14
EP1920434A2 (en) 2008-05-14
HK1122640A1 (en) 2009-05-22
US7587314B2 (en) 2009-09-08
JP2009506368A (en) 2009-02-12
KR100982211B1 (en) 2010-09-14
JP4777429B2 (en) 2011-09-21
AU2006286177A1 (en) 2007-03-08
MX2008002434A (en) 2008-04-03
ZA200801844B (en) 2009-10-28
EP1920434B1 (en) 2009-10-21
US20070055509A1 (en) 2007-03-08
KR20080039523A (en) 2008-05-07
CN101288118A (en) 2008-10-15
PL1920434T3 (en) 2010-03-31
MY144576A (en) 2011-10-14
RU2391715C2 (en) 2010-06-10
WO2007026295A3 (en) 2007-07-05

Similar Documents

Publication Publication Date Title
BRPI0615709B1 (en) METHOD AND DEVICE FOR QUANTITATION OF VECTORS AT LEVEL N, METHOD AND DEVICE FOR RECOVERY OF REPRODUCTION VECTORS, SYSTEM FOR TRANSFER OF VECTOR REPRESENTATIONS, METHOD AND DEVICE FOR DETERMINING A CODE BOOK
EP2274833B1 (en) Vector quantisation method
ES2821432T3 (en) Audio quantification using low complexity vector indexing
BRPI0910787B1 (en) method for encoding a symbol, method for decoding a symbol, method for transmitting a symbol from a transmitter to a receiver, encoder, decoder and system for transmitting a symbol from a transmitter to a receiver
BR112012021359B1 (en) HIERARCHICAL AUDIO CODING METHOD, HIERARCHICAL AUDIO DECODING METHOD, HIERARCHICAL AUDIO CODING METHOD FOR TRANSITIONAL SIGNALS, HIERARCHICAL AUDIO SODIFICATION METHOD, EARLY CHARACTERISTICS
US20070162236A1 (en) Dimensional vector and variable resolution quantization
US6504877B1 (en) Successively refinable Trellis-Based Scalar Vector quantizers
JP4601690B2 (en) Vector encoding / decoding method, apparatus, and stream media player
US6754624B2 (en) Codebook re-ordering to reduce undesired packet generation
ES2270930T3 (en) COMPRESSION OF HMM PROTOTYPES (MARKOV MODELS ESCONDIDOS).
CN101266795B (en) An implementation method and device for grid vector quantification coding
US9318115B2 (en) Efficient coding of binary strings for low bit rate entropy audio coding
RU2461079C2 (en) Simplified vector indexing and deindexing
Aksu et al. Design, performance, and complexity analysis of residual trellis-coded vector quantizers
CN116192340B (en) Error control method and device in optical communication network
BRPI0520115B1 (en) methods for encoding and decoding audio signals and encoder and decoder for audio signals
CN113722570A (en) Construction method, device and equipment of pre-training corpus and readable medium
US6678334B1 (en) Methods of reducing the complexity of trellis-based scalar-vector quantizers
Shoham Hierarchical vector quantization with application to speech waveform coding
TW202301346A (en) Semiconductor device and signal processing method of semiconductor device
CA2482994C (en) Method and system for multi-rate lattice vector quantization of a signal
Patel Combined source coding and modulation for bandwidth efficient communications
JP2017138605A (en) Vector quantization
JPH06510888A (en) Codeword search method and codeword search device
Hui Asymptotic performance and complexity of quantization

Legal Events

Date Code Title Description
B25A Requested transfer of rights approved

Owner name: NOKIA TECHNOLOGIES OY (FI)

B15K Others concerning applications: alteration of classification

Ipc: H03M 7/30 (2006.01), G10L 19/24 (2013.01)

B15K Others concerning applications: alteration of classification

Ipc: G10L 19/24 (2013.01), H03M 7/30 (2006.01)

B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: G10L 19/24 , H03M 7/30

Ipc: H03M 7/30 (1985.01), G10L 19/24 (2013.01)

B06T Formal requirements before examination [chapter 6.20 patent gazette]
B15K Others concerning applications: alteration of classification

Free format text: AS CLASSIFICACOES ANTERIORES ERAM: H03M 7/30 , G10L 19/24 , G10L 19/00

Ipc: H03M 7/30 (1985.01), G10L 19/24 (2013.01)

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 20/08/2019, OBSERVADAS AS CONDICOES LEGAIS. (CO) 10 (DEZ) ANOS CONTADOS A PARTIR DE 20/08/2019, OBSERVADAS AS CONDICOES LEGAIS