ITRM960235A1 - PROCEDURE AND APPARATUS FOR PERFORMING CODING AND DECODING OPERATIONS AT LOW SPEED. - Google Patents
PROCEDURE AND APPARATUS FOR PERFORMING CODING AND DECODING OPERATIONS AT LOW SPEED. Download PDFInfo
- Publication number
- ITRM960235A1 ITRM960235A1 IT96RM000235A ITRM960235A ITRM960235A1 IT RM960235 A1 ITRM960235 A1 IT RM960235A1 IT 96RM000235 A IT96RM000235 A IT 96RM000235A IT RM960235 A ITRM960235 A IT RM960235A IT RM960235 A1 ITRM960235 A1 IT RM960235A1
- Authority
- IT
- Italy
- Prior art keywords
- quantizer
- signal
- code word
- prequantizer
- component
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 18
- 239000013598 vector Substances 0.000 claims description 43
- 230000005540 biological transmission Effects 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 4
- 230000000875 corresponding effect Effects 0.000 description 14
- 230000003595 spectral effect Effects 0.000 description 8
- 230000010076 replication Effects 0.000 description 3
- 230000004075 alteration Effects 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 206010073261 Ovarian theca cell tumour Diseases 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003334 potential effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000005086 pumping Methods 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 208000001644 thecoma Diseases 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech 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/02—Speech 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/032—Quantisation or dequantisation of spectral components
- G10L19/038—Vector quantisation, e.g. TwinVQ audio
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)
- Executing Machine-Instructions (AREA)
Description
DESCRIZIONE DESCRIPTION
a corredo di una domanda di Brevetto d 'invenzione, avente per titolo: accompanying an application for an invention patent, entitled:
"Procedimento ed apparecchio per la esecuzione di opera zioni di codificazione e decodificazione a bassa veloci tà " "Process and apparatus for carrying out low-speed coding and decoding operations"
Campo dell'Invenzione Field of the Invention
La presente invenzione si riferisce, in generale, ai sistemi per comunicazioni e, più particolarmente, ad un procedimento e ad un apparecchio per la codificazione/decodificazione di un segnale per comunicazioni. The present invention relates, in general, to systems for communications and, more particularly, to a method and to an apparatus for coding / decoding a communications signal.
Precedenti dell'invenzione Background of the invention
La codificazione di sorgente viene usata largamente nelle moderne comunicazioni allo scopo di fornire dei modi più efficienti per la comunicazione di un segnale. Un comune tipo di codificatore di sorgente è un codificatore vocale o vocoder, in cui un segnale in voce viene codificato per la trasmissione. Un esempio di un codificatore vocale è un codificatore predittivo lineare (LPC). In un codificatore vocale LPC, ciascun vettore del parlato di ingresso viene mappato in parametri di LPC che, a loro volta, vengono mappati su una parola di codice di migliore adattamento di un complesso o volume di codici finiti. Un esempio di una tale parola di codice sarebbe quella che, a seguito della filtrazione/ decodificazione, si traduce nella minima energia residua, quando confrontata con il parlato di ingresso originario. Una volta che la parola di codice sia stata determinata, l'indice per la parola di codice viene deter minato e trasmesso al posto del segnale rappresentativo del parlato originario. In una unità ricevente, questa indice viene usato per la consultazione della parola di codice da una raccolta di codici o volume di codici e per la rigenerazione del segnale attraverso appropriata filtrazione. Source coding is used extensively in modern communications in order to provide more efficient ways of communicating a signal. A common type of source encoder is a voice encoder or vocoder, in which a voice signal is encoded for transmission. An example of a voice encoder is a linear predictive encoder (LPC). In an LPC speech encoder, each vector of the input speech is mapped into LPC parameters which, in turn, are mapped to a best-fit codeword of a finite complex or volume of codes. An example of such a code word would be that which, following filtering / decoding, results in the minimum residual energy, when compared to the original input speech. Once the code word has been determined, the index for the code word is determined and transmitted in place of the signal representative of the original speech. In a receiving unit, this index is used for querying the code word from a code collection or volume of codes and for regenerating the signal through appropriate filtering.
Sebbene i codificatori vocali abbiano avuto successo sotto l'aspetto di permettere maggiori rendimenti nella comunicazioni in voce, questa efficienza viene guadagnata a scapito di una certa degradazione della qualità della voce nel segnale di replica. Questa degradazione è particolarmente notevole in codificatori voca li a bassa velocità, per esempio 1/3 della velocità pro posta nel sistema cellulare COMA (accesso multiplo a divisione di codice) basato sullo standard denominato Interim Standard (IS)-95. Quando si opera nel modo a piena velocità ed a semi velocità, un sistema IS-S5 assegna 171 e 60 bit, rispettivamente, per ciascun quadro del parlato di 20 millisecondi (ms). Viceversa, soltanto 15 bit sono assegnati per il quadro del parlato per trasmissioni ad 1/8 di velocità o di frequenza. Di conseguenza, un tipico schema incorporato, per esempio il sistema IS-95, soffre di una elevata distorsione di quantizzazione, poiché soltanto una piccola frazione dei bit originali sono disponibili durante una trasmissione di un quadro ad 1/8 della velocità o frequenza. Although voice encoders have been successful in enabling higher yields in voice communications, this efficiency is gained at the expense of some degradation of voice quality in the replication signal. This degradation is particularly noticeable in low speed voice encoders, for example 1/3 of the speed proposed in the COMA (Code Division Multiple Access) cellular system based on the standard called Interim Standard (IS) -95. When operating in full speed and half speed mode, an IS-S5 system allocates 171 and 60 bits, respectively, for each 20 millisecond (ms) speech frame. Conversely, only 15 bits are allocated for the speech frame for 1/8 speed or frequency transmissions. As a result, a typical embedded scheme, for example the IS-95 system, suffers from high quantization distortion, as only a small fraction of the original bits are available during a 1 / 8th speed or frequency frame transmission.
Finora non sono state proposte soluzioni soddisfacenti a questo problema. Per esempio, nella proposta codificazione del parlato IS-96, viene suggerito uno schema di codificazione differenziale che assegna un bit per ogni 10 parametri di LPC. Mentre fornisce una migliore risoluzione, questo procedimento soffre dello inconveniente che le cancellazioni dei quadri possono provocare un eccessivo accumulo di errore di quantizzazione, che può tradursi in deriva spettrale e/o instab_i_ li coefficienti dei filtri di sintesi. Una riduzione di massima nell'energia dei quadri può essere usata per mascherare il potenziale effetto della deriva spettrale durante la frequenza 1/8, ma ciò ha comportato l'ulteriore problema di produrre un artefatto di "pompaggio", quando sottoposto a condizioni elevati livelli del rumore di fondo. Un'altra soluzione è stata quella di iniettare dei vettori di codice casuali attraverso il filtro spettrale, seguiti da una scalatura o demoltipli cazione della risultante energia dei segnali, quando la frequenza o velocità 1/8 viene usata principalmente per la codificazione del rumore di fondo o di "comfort". Tuttavia, senza migliore risoluzione, il rumore di fondo sintetizzato può ancora risuonare elevato in questa soluzione, cosa che tenderà a distrarre l'utente. Rimane pertanto la necessità di un perfezionato procedimento per codificare segnali a basse velocità, pur mantenendo bassa complessità e robustezza nei confronti degli errori dei canali. So far no satisfactory solutions have been proposed to this problem. For example, in the proposed IS-96 speech coding scheme, a differential coding scheme is suggested which assigns one bit for every 10 LPC parameters. While providing better resolution, this method suffers from the drawback that frame cancellations can cause excessive accumulation of quantization error, which can result in spectral drift and / or unstable coefficients of synthesis filters. A rough reduction in frame energy can be used to mask the potential effect of spectral drift during the 1/8 frequency, but this has led to the added problem of producing a "pumping" artifact when subjected to high level conditions. of background noise. Another solution was to inject random code vectors through the spectral filter, followed by a scaling or de-multiplication of the resulting signal energy, when the 1/8 frequency or speed is mainly used for background noise encoding. or "comfort". However, without better resolution, the synthesized background noise can still sound high in this solution, which will tend to distract the user. There remains therefore the need for an improved method for encoding signals at low speeds, while maintaining low complexity and robustness against channel errors.
Breve descrizione dei Disegni La Figura 1 rappresenta un diagramma che illustra la struttura logica di una raccolta di codici o l i_ bro di codici da impiegare in conformità ad una forma di realizzazione dell'invenzione; Brief Description of the Drawings Figure 1 represents a diagram illustrating the logical structure of a collection of codes or the broch of codes to be used in accordance with an embodiment of the invention;
la Figura 2 rappresenta un diagramma di flusso che illustra un preferito procedimento per la codificazione a bassa velocità in conformità con l'invenzione; Figure 2 is a flowchart illustrating a preferred method for low-speed coding in accordance with the invention;
la Figura 3 rappresenta uno schema a blocchi che illustra una prima forma di realizzazione dell'apparecchio secondo l'invenzione. Figure 3 represents a block diagram illustrating a first embodiment of the apparatus according to the invention.
Descrizione dettagliata dei Disegni Questi ed altri problemi vengono risolti per mez zo di un perfezionato procedimento ed apparecchio secon do l'invenzione. Una forma di realizzazione attualmente preferita per l'invenzione consiste in un procedimento in cui una ricerca di prequantizzatore viene effettuata per determinare una parola di codice di miglior prequan tizzatore {"P") (vale a dire avente una minima componen te residua di prequantizzatore) ed una ricerca di quantizzatone ristretto viene eseguita per determinare la migliore parola di codice di quantizzatone ("Q") (vale a dire avente la migliore componente residua di quantiz zatore). Le componenti residue vengono quindi confronta te per determinare quale è la minima ed il corrisponden te indice della parola di codice che fornisce il minimo residuo viene formattato per la trasmissione, insieme con un indicatore di modo che indica quale tipo di ini ce (quantizzatore o prequantizzatore) viene inviato. Nell'unità ricevente, il segnale codificato viene alimentato ad un vocoder che determina prima quale indicatore di modo è stato trasmesso. Se viene ricevuto un in dicatore di modo di quantizzatore ("V") (per esempio un bit 0) allora il codificatore vocale utilizza la parola di codice di "V" corrispondente all'indice V ricevuto insieme con una parola di codice di P preliminarmente determinata per formare una replica del segnale origina rio. Se l'indicatore di modo di prequantizzatore ("P") viene ricevuto, il codificatore vocale utilizza la paro la di codice di P corrispondente all'indice di P ricevu to per formare la replica del segnale. Come conseguenza di questa soluzione, soltanto un ridotto numero di bit {per esempio 12 bit nella forma di realizzazione che verrà descritta nel seguito) sono richiesti per codificare effettivamente l'informazione del segnale a veloci tà o frequenze inferiori. Detailed Description of the Drawings These and other problems are solved by means of an improved method and apparatus according to the invention. A presently preferred embodiment for the invention is a method in which a prequantizer search is performed to determine a best prequantizer code word ("P") (i.e. having a minimal residual prequantizer component) and a restricted quantizer search is performed to determine the best quantizer code word ("Q") (i.e. having the best residual quantizer component). The residual components are then compared to determine which is the minimum and the corresponding index of the code word providing the residual minimum is formatted for transmission, together with a mode indicator indicating which type of start (quantizer or prequantizer). ) It is sent. In the receiving unit, the coded signal is fed to a vocoder which first determines which mode indicator has been transmitted. If a quantizer mode indicator ("V") is received (for example a 0 bit) then the voice encoder uses the code word of "V" corresponding to the index V received together with a code word of P preliminarily determined to form a replica of the original signal. If the prequantizer mode indicator ("P") is received, the voice encoder uses the P code word corresponding to the received P index to form the replica of the signal. As a consequence of this solution, only a small number of bits (for example 12 bits in the embodiment which will be described below) are required to actually encode the signal information at lower speeds or frequencies.
Facendo ora riferimento alla Figura 1, è illustrata una struttura di raccolta o libro di codici, come quella che può essere usata con la presente invenzio ne. Come si può vedere, il quantizzatore vettoriale 100 è un quantizzatore vettoriale con struttura ad albero a due livelli. Questa struttura illustra la gerarchia del prequantizzatore e del quantizzatore usata in un tipico predeterminato quantizzatore vettoriale. Lo stadio 110 del quantizzatore comprende da 1 a N parole di codice di prequantizzatore, per esempio la parola di codice 111 di P1, ciascuna parola di codice di P corrispondendo ad uno di una pluralità di indici di prequantizzatore ("P") del predeterminato quantizzatore vettoriale. Lo stadio di quantizzatore inferiore 120 comprende una pluralità di serie di parole di codice di quantizzatore ("V") 121-123, 131-133, ciascuna parola di codice di quantizzatore ("V") di una serie corrispondendo ad uno singolo di una pluralità di indici quantizzatori ("V"). Ciascuna serie di parole di codice V è associata ad una parola di codice ?. Per esempio, nella Figura 1, la prima serie delle parole di codice 121-123 di V è associata ad una parola di codice 111 di P, in cui la parola di codice 111 di P forma un centroide (tipicamente di inferiore risoluzione) per i vettori 121-123 delle paro le di codice di V (tipicamente di superiore risoluzione). Referring now to Figure 1, a collection structure or code book, such as that which may be used with the present invention, is illustrated. As can be seen, vector quantizer 100 is a two level tree structure vector quantizer. This structure illustrates the prequantizer and quantizer hierarchy used in a typical predetermined vector quantizer. The quantizer stage 110 comprises from 1 to N prequantizer code words, for example the code word 111 of P1, each code word of P corresponding to one of a plurality of prequantizer indices ("P") of the predetermined quantizer vector. The lower quantizer stage 120 comprises a plurality of sets of quantizer code words ("V") 121-123, 131-133, each quantizer code word ("V") of a series corresponding to a single one of a plurality of quantizer indices ("V"). Each set of code words V is associated with a code word?. For example, in Figure 1, the first set of code words 121-123 of V is associated with a code word 111 of P, wherein code word 111 of P forms a centroid (typically of lower resolution) for i V code word vectors 121-123 (typically higher resolution).
Come sarà apprezzato da coloro che sono esperti nel ramo, nei codificatori vocali LPC è pratica comune impiegare raccolte di codici aventi una struttura multipla ad albero. In tali codificatori vocali, la struttura ad albero della Figura 1 sarebbe rappresentativa di ciascuno dei segmenti del vettore che sono usati nella determinazione di una stima del vettore del coefficiente di riflessione. Per esempio, in un quantizzatore vettoriale a tre segmenti di vettore, in cui viene usata una stima del vettore del coefficiente di riflessione a dieci elementi, questa stima del vettore dei coefficien ti di riflessione potrebbe tipicamente essere segmentata nella maniera seguente: As will be appreciated by those skilled in the art, it is common practice in LPC speech encoders to employ code collections having a multiple tree structure. In such speech encoders, the tree structure of Figure 1 would be representative of each of the vector segments that are used in determining a vector estimate of the reflection coefficient. For example, in a three-segment vector quantizer, in which a ten-element reflection coefficient vector estimate is used, this vector estimate of the reflection coefficients could typically be segmented as follows:
Equazione 1 Equation 1
In un tale quantizzatore vettoriale, la seguente assegnazione dei bit è rappresentativa di quella che si prevederebbe in un sottoquadro a piena o mezza frequenza in ciascuno dei tre rispettivi segmenti vettoriali: Tabella 1: Assegnazione dei bit in LPC a piena/ mezza frequenza In such a vector quantizer, the following bit assignment is representative of what one would expect in a full or half frequency subframe in each of the three respective vector segments: Table 1: Full / half frequency LPC bit assignments
Perciò, nell'albero per il segmento 1 vi saranno 2 = 64 possibili parole di codice di P e 2 =32 possibili parole di codice di V per ogni serie associata sot to ciascuna parola di codice di P. Ancora, le parole di codice di P rappresentano le celle del prequantizzatore del libro o della raccolta dei codici e vengono usate per codificare l'informazione spettrale approssimata, mentre le parole di codice di V sono usate per la codificazione dell'informazione spettrale fine o dettagliata. Thus, in the tree for segment 1 there will be 2 = 64 possible code words of P and 2 = 32 possible code words of V for each set associated under each code word of P. Again, the code words of P represent the cells of the prequantizer of the book or of the code collection and are used to encode the approximate spectral information, while the code words of V are used for the encoding of the fine or detailed spectral information.
Tuttavia, non tutti i 23 bit di informazione sono necessari per mantenere un segnale di elevata qualità. Per esempio, se il segnale che viene codificato è relativamente stazionario, allora l'indice prequantizza tore (indice di P) per ciascun rispettivo segmento sarà tipicamente altamente correlato con l'indice prequantiz. zatore precedentemente determinato. E' necessario quin di trasmettere soltanto l'informazione spettrale dettagliata (vale a dire l'indice di V) entro un quadro di Passa velocità, per esempio 1/3, e concatenare questa informazione con la parola di codice di P precedentemen. te determinata (vale a dire la parola di codice corrispondente all'indice di P precedentemente usato, per segmento) nel sintetizzatore o nel decodificatore del ricevitore. D'altra parten se il segnale che viene codificato presenta caratteristiche spettrali variabili, è necessario soltanto trasmettere gli indici di P entro il quadro ad 1/3 di velocità ed aggiornare io stato del prequantizzatore del decodificatore. Le parole di codice di P corrispondenti agli indici di P trasmessi verrebbero quindi usate nel filtro di decodificazione per il quadro corrente, con l'informazione spettrale fine (le parole di codice di V) concatenata sui quadri successivi. Ciò consente una adeguata rappresentazione del segnale con un ridotto numero di bit, per esempio come illustrato dalla seguente tabella: However, not all 23 bits of information are required to maintain a high quality signal. For example, if the signal being encoded is relatively stationary, then the prequantizer index (P index) for each respective segment will typically be highly correlated with the prequantizer index. previously determined. It is therefore necessary to transmit only the detailed spectral information (i.e. the V-index) within a frame of pass speed, for example 1/3, and to concatenate this information with the code word of P above. determined (i.e. the code word corresponding to the index of P previously used, per segment) in the synthesizer or decoder of the receiver. On the other hand, if the signal being encoded has variable spectral characteristics, it is only necessary to transmit the indices of P within the frame at 1/3 speed and update the state of the prequantizer of the decoder. The P code words corresponding to the transmitted P indices would then be used in the decoding filter for the current frame, with the fine spectral information (the V code words) concatenated on the subsequent frames. This allows an adequate representation of the signal with a reduced number of bits, for example as shown in the following table:
(segue Tabella 2) (Table 2 follows)
Tabella 2: Assegnazione dei bit in LPC a Table 2: Bit assignment in LPC a
velocità 1/3 speed 1/3
Mentre lo stesso numero di bit potrebbero essere usati per le parole di codice P e per le parole di codi ce V per segmento per tutte le velocità o frequenzze {rate) variabili usate dal codificatore vocale, la tabella 2 illustra una soluzione per ridurre ulteriormente il numero dei bit richiesti per la trasmissione a basse frequenze o velocità. In questo caso, supponendo che la stessa raccolta di codici sia usata per tutte le frequenze, i bit meno significativi per alcune delie pa. role di codice di P e di V vengono lasciati cadere prima della trasmissione. Perciò, per esempio, la parola di codice P a velocità 1/8 per il segmento .1 includerei) be soltanto i 5 bit più significativi della parola di codice P memorizzata e che, come rappresentato nella Ta bella 1, presenta una lunghezza di 5 bit. Nello stesso tempo, alcune altre parole di codice verrebbero trasmesse nella loro interezza (per esempio la parola di codics V del segmento 1). Una persona esperta nel ramo apprezzerà che vi sono numerose maniere con cui le parole di codice P e V nel libro o raccolta di codici possono essere definite, come anche la struttura dei bit che viene trasmessa a diverse frequenze. Ciò che dovrebbe essere apprezzato è che, con questa soluzione alternata va, viene realizzata una ulteriore riduzione della gran dezza dell'indice delle parole di codice (o degli indici) per la trasmissione. Cosi, per esempio, nel caso in cui soltanto una struttura di 16 bit sia permessa per la impostazione dei quadri a velocità o frequenza 1/6, soltanto 12 bit dell'informazione del quantizzatore vettoriale sono necessari, lasciando un bit per un indicatore di modo e tre bit per la codificazione dell'energia differenziale. Il bit indicatore di modo verrebbe usato come indicatore di modo quantizzatore (indicatore di modo V) quando soltanto l'indice V deve essere trasmesso ed un indicatore di modo di prequantizzatore (indicatore di modo P, per esempio un bit 1) quando vie ne trasmesso l'indice P. While the same number of bits could be used for code words P and code words V per segment for all variable rates used by the voice encoder, Table 2 illustrates a solution to further reduce the number of bits required for transmission at low frequencies or speeds. In this case, assuming that the same collection of codes is used for all frequencies, the least significant bits for some delieps. code roles of P and V are dropped before transmission. Thus, for example, the 1/8 speed code word P for segment .1 would include) b and only the most significant 5 bits of the stored code word P and which, as represented in Table 1, has a length of 5 bit. At the same time, some other code words would be transmitted in their entirety (for example the code word V of segment 1). One skilled in the art will appreciate that there are numerous ways in which the code words P and V in the code book or collection can be defined, as well as the structure of the bits that are transmitted at different frequencies. What should be appreciated is that, with this alternate solution, a further reduction in the size of the code word index (or indexes) for transmission is achieved. So, for example, in the case where only a 16-bit structure is allowed for setting frames at 1/6 speed or frequency, only 12 bits of the vector quantizer information are needed, leaving one bit for a mode indicator. and three bits for differential energy coding. The mode indicator bit would be used as a quantizer mode indicator (V mode indicator) when only the V index is to be transmitted and a prequantizer mode indicator (P mode indicator, for example a 1 bit) when it is transmitted. the index P.
Facendo ora riferimento alla Figura 2, è rappresentato un diagramma di flusso che illustra una preferi ta forma di realizzazione di un procedimento di codificazione secondo l'invenzione. Questo procedimento comin cia con una determinazione iniziale che il codificatore vocale o vocoder opera nel modo a velocità o frequenza (rate) 1/3 (operazione 210). Una ricerca di prequantizzatore (operazione 212) viene effettuata su un segnale di ingresso. Questa ricerca viene eseguita confrontando ciascuna parola di codice P della raccolta dei codici con il segnale e determinando la parola di codice P avente la minima componente residua di prequantizzatore (per esempio energia). Nei caso in cui il quantizzatore vettoriale sia un quantizzatore vettoriale con una pluralità di segmenti vettoriali (per esempio tre segmenti), una determinazione della migliore parola di codice P per ciascun segmento vettoriale viene effettuata sulla base delle parole di codice P aventi la minima energia residua di prequantizzatore, quindi ciascuna delle migliori P parole di codice viene sommata vettorialmente per formare una somma vettoriale di prequantizzatore e la componente residua di prequantizzatore minima viene determinata utilizzando questa somma vettoriale. Coloro che sono esperti nel ramo apprezzeranno che possono essere usati altri procedimenti per determinare la minima componente residua di prequantizzatore. Inoltre, la ricerca di prequantizzatore può essere limitata soltanto a quelle parole di codice P che corrispondono agii indici P che possono essere trasmessi, nel qual caso soltanto un limitato numero di bit possono essere usari nella trasmissione (come rappresentato nella Tabel la 2). Perciò, nell'esempio della Tabella 2, soltanto quelle parole di codice P che hanno lo stesso bit meno significativo , per esempio un bit 0, verrebbero sottopo ste alla ricerca -nel processo di codificazione; nello stesso tempo, le unita ricevitrici verrebbero configura te in modo da introdurre un bit 0 come bit meno signif cativo nei corrispondenti indici ricevuti prima della consultazione delie parole di codice nella raccolta o nel libro dei codici. Referring now to Figure 2, a flow chart is shown illustrating a preferred embodiment of a coding method according to the invention. This procedure begins with an initial determination that the voice encoder or vocoder operates in the 1/3 rate mode (step 210). A prequantizer search (operation 212) is performed on an input signal. This search is performed by comparing each code word P of the code collection with the signal and determining the code word P having the smallest residual prequantizer component (e.g. energy). In the case where the vector quantizer is a vector quantizer with a plurality of vector segments (e.g. three segments), a determination of the best code word P for each vector segment is made on the basis of the code words P having the minimum residual energy of prequantizer, then each of the best P code words is vectorially summed to form a prequantizer vector sum and the residual minimum prequantizer component is determined using this vector sum. Those skilled in the art will appreciate that other methods can be used to determine the minimum residual prequantizer component. Furthermore, the pre-quantizer search can be limited only to those code words P which correspond to the indexes P which can be transmitted, in which case only a limited number of bits can be used in the transmission (as represented in Table 2). Therefore, in the example of Table 2, only those code words P which have the same least significant bit, for example a 0 bit, would be searched in the coding process; at the same time, the receiving units would be configured so as to introduce a bit 0 as the least significant bit in the corresponding indices received before consulting the code words in the collection or code book.
Nell' operazione 214, viene effettuata una ricerca di quantizzatore ristretta. Il segnale di ingresso viene ancora confrontato, ma questa volta contro ciascu na parola di codice di quantizzatore (o parole di codice V, ciascuna corrispondente ad uno di una pluralità di indici quantizzatori della raccolta dei codici) di una serie oppure una serie per segmento se vengono usati una molteplicità di segmenti di vettore. Questa serie viene determinata da una parola di codice P precedentemente determinata, la quale forma il prequantizzatore (o centroide) della serie di V parole di codice. Nel caso in cui la determinazione venga effettuata per un quadro a velocità o frequenza iniziale 1/8, la parola di codice P precedentemente determinata potrebbe essere una parola di codice P di inizializzazione predeterminata (che, per convenienza, potrebbe semplicemente essere la parola di codice P avente l'indice 000000 per una serie del segmento 1 della Tabella 2). Altrimenti, l'ultima parola di codice P trasmessa viene usata (sia per codificatori vocali trasmittenti sia per codificata ri vocali riceventi, che pertanto posseggono la parola di codice P). La parola di codice V della serie avente la minima componente residua di quantizzatore viene quindi determinata ed il suo corrispondente indice V viene memorizzato in memoria. Come nel caso della ricerca del prequantizzatore, la migliore parola di codice V della predeterminata serie di parole di codice V viene determinata per ciascun segmento dì vettore, se vi sono una pluralità di segmenti, la somma vettoriale del quan tizzatore essendo formata mediante l'addizione vettori le di ciascuna delle migliori parole di codice V ed una componente residua di quantizzatore minima essendo determinata da esse. Alternativamente, una componente residua di quantizzatore minima potrebbe essere determina ta per ciascuna parola di codice V per segmento oppure più semplicemente esattamente quella del primo segmento; questi valori, a loro volta, verrebbero quindi usati nell'operazione 220. Un esperto nel ramo apprezzerà che altre alternative sono anche disponibili nella formazio ne di una misura residua da impiegare nel confronto e nella determinazione di quale indice usare. In operation 214, a narrow quantizer search is performed. The input signal is again compared, but this time against each quantizer code word (or code words V, each corresponding to one of a plurality of quantizer indices of the code collection) of a series or a series per segment if a multiplicity of vector segments are used. This series is determined by a previously determined code word P, which forms the prequantizer (or centroid) of the series of V code words. In the event that the determination is made for a frame at 1/8 initial speed or frequency, the previously determined P code word could be a predetermined initialization P code word (which, for convenience, could simply be the code word P having the index 000000 for a series of segment 1 of Table 2). Otherwise, the last transmitted code word P is used (both for transmitting voice encoders and for receiving voice encoders, which therefore possess the code word P). The code word V of the series having the smallest residual quantizer component is then determined and its corresponding index V is stored in memory. As in the case of the prequantizer search, the best code word V of the predetermined set of code words V is determined for each vector segment, if there are a plurality of segments, the vector sum of the quantizer being formed by the addition vectors le of each of the best code words V and a minimum residual quantizer component being determined therefrom. Alternatively, a residual component of minimum quantizer could be determined for each code word V per segment or more simply exactly that of the first segment; these values, in turn, would then be used in operation 220. One skilled in the art will appreciate that other alternatives are also available in forming a residual measure for use in comparing and determining which index to use.
Successivamente, nell'operazione 220, viene effettuato un confronto fra la componente residua di quantizzatore minima e la componente residua di prequantizzatore minima per determinare quale è inferiore. Alternativamente, nel caso di una raccolta di codici segmentata, una molteplicità di residui oppure un residuo relativo ai coefficienti di ordine minimo (in altre parole il segmento 1) potrebbero essere usati. Quando la componente residua minima di prequantizzatore è quella inferiore fra le due, un indicatore di modo di prequantizzatore (indicatore di modo P) viene emesso in uscita (operazione 222) insieme con l'indice P che corrisponde alla parola di codice P che genera la componente minima residua di prequantizzatore. D'altra parte, se la compo nente residua minima di quantizzatore è quella inferiore fra le due, un indicatore di modo quantizzatore (indicatore di modo V) viene emesso in uscita insieme con l'indice V che corrisponde alla parola di codice V che lo genera (operazione 224). Subsequently, in operation 220, a comparison is made between the residual component of minimum quantizer and the residual component of minimum prequantizer to determine which is lower. Alternatively, in the case of a segmented code collection, a multiplicity of residues or a residue relating to the minimum order coefficients (in other words segment 1) could be used. When the minimum residual prequantizer component is the lower of the two, a prequantizer mode indicator (P mode indicator) is output (operation 222) together with the P index corresponding to the P code word that generates the minimum residual component of prequantizer. On the other hand, if the minimum residual quantizer component is the lower of the two, a quantizer mode indicator (V mode indicator) is output together with the index V corresponding to the code word V which generates (operation 224).
In una preferita forma di realizzazione, prima di emettere in uscita l'indicatore di modo determinato e l'indice, viene effettuata una ulteriore determinazio ne se è necessaria una più elevata velocità di codifica zione, per una migliore risoluzione. Perciò, nell'opera zione 230, ambedue le componenti residue vengono confrontate con un valore di soglia predeterminato per determinare se è presente una eccessiva energia residua. Questa è una indicazione del fatto che, dopo la decodificazione, sarà presente una inaccettabile qualità del segnale. Una persona esperta nel ramo conoscerà il modo di progettare un appropriato valore di soglia, sulla ba se di fattori quali la applicazione implicata, le prefe renze dell'utente e simili. Se il valore di soglia viene superato, il codificatore vocale viene costretto ad una velocita o frequenza superiore (operazione 232). Se il valore di soglia non viene superato, l'indice determinato e l'indicatore di modo, insieme con altri deside rati parametri dei segnali (per esempio l'energia residua di quantizzatore per certi codificatori vocali) vengono quindi formati nel segnale codificato e trasmessi (operazione 234). Il procedimento viene quindi ripetuto per-il segnale successivo (operazioen 235). In a preferred embodiment, before outputting the determined mode indicator and the index, a further determination is made as to whether a higher encoding rate is required for better resolution. Therefore, in step 230, both residual components are compared with a predetermined threshold value to determine if excessive residual energy is present. This is an indication that unacceptable signal quality will be present after decoding. One skilled in the art will know how to design an appropriate threshold value, based on such factors as the application involved, user preferences and the like. If the threshold value is exceeded, the voice encoder is forced to a higher rate or frequency (operation 232). If the threshold value is not exceeded, the determined index and mode indicator, together with other desired signal parameters (e.g. residual quantizer energy for certain speech encoders) are then formed into the encoded signal and transmitted. (operation 234). The process is then repeated for the next signal (step 235).
Infine, la Figura 3 illustra una forma di realiz zazione di un sistema per comunicazioni in cui viene usata una codificazione di bassa velocità o basso rate in conformità con l'invenzione. Quando un segnale di in gresso 301, per esempio un segnale di parlato, viene ricevuto dal codificatore vocale a velocità variabile 310, il segnale viene usato sia per il dispositivo di ricerca di prequantizzatore 312 sia per il dispositivo di ricerca di quantizzatore 314. Ambedue le ricerche effettuano un confronto in conformità con le operazioni 212 e 214, rispettivamente, della Figura 2 (impiegando gli indici P e V per ricuperare le parole di codice ? e V, rispettivamente, dal libro dei codici o raccolta 311). L'indice di P determinato ela componente residua (segna le 313) e l'indice di V e la componente residua (segnale 315) vengono alimentati al codificatore 313 per la determinazione di quale modo di bassa velocità o rate (se l'uno o l'altro) debba essere usato. Una versione codificata del segnale viene quindi formata utilizzando l'appropriato indice ed indicatore di modo, insieme con altri appropriati (convenzionali) parametri. Questo segnale codificato (segnale 317) viene quindi modulato nel modulatore 320 ed amplificato e trasmesso attraverso il trasmettitore 325 dell'unità 300. Finally, Figure 3 illustrates an embodiment of a communications system in which low speed or low rate coding is used in accordance with the invention. When an input signal 301, for example a speech signal, is received by the variable speed speech encoder 310, the signal is used for both the prequantizer seeker 312 and the quantizer seeker 314. Both searches perform a comparison in accordance with operations 212 and 214, respectively, of Figure 2 (using the indexes P and V to retrieve the code words? and V, respectively, from the code book or collection 311). The determined P-index and the residual component (marks 313) and the V-index and residual component (signal 315) are fed to encoder 313 for determining which low-speed mode or rate (if either the other) should be used. A coded version of the signal is then formed using the appropriate index and mode indicator, together with other appropriate (conventional) parameters. This coded signal (signal 317) is then modulated in the modulator 320 and amplified and transmitted through the transmitter 325 of the unit 300.
Una unità 330 di comunicazioni operante come ricevitore riceve e demodula il segnale trasmesso attraverso il ricevitore 335 ed il demodulatore 340, emettendo in uscita una versione codificata del segnale originario. Un decodificatare (per esempio un codificatore vocale o vocoder 350) applica la versione codificata del segnale 341 in ingresso al dispoositivo di controllo di modo 352 ed al generatore di segnali 354. Il dispositivo di controllo 352 determina se il segnale co dificato includa un indicatore di modo V o P e, in caso negativo, quale delle superiori velocità o rate di deco dificazione sia applicabile. Quando viene ricevuto un indicatore di modo P, il dispositivo di controllo 352 controlla il generatore di segnali 354 per estrarre la parola di codice P corrispondente all'indice P ricevuto dal libro di codici 351 e genera una replica del segnale originario utilizzando la parola di codice P, insieme con altri parametri dei segnali ricevuti (per esempio l'energia residua). Quando viene ricevuto un indica tore di modo V, il generatore di segnali 354 viene controllato per utilizzare sia la parola di codice P prece dentemente ricevuta (vale a dire la parola di codice P usata nel quadro precedente) sia la parola di codice V corrispendente all'indice V ricevute, insieme con altri parametri dei segnali, per generare la replica del segnale. Infine, la replica del segnale viene emessa in uscita come segnale di uscita 356 per ulteriore elabora zione, per esempio la conversione in un segnale udibile. A communications unit 330 operating as a receiver receives and demodulates the signal transmitted through the receiver 335 and the demodulator 340, outputting a coded version of the original signal. A decoder (e.g., a voice encoder or vocoder 350) applies the encoded version of the input signal 341 to the mode controller 352 and to the signal generator 354. The controller 352 determines whether the encoded signal includes a V or P mode and, if not, which of the higher decoding speeds or rates is applicable. When a P-mode indicator is received, the controller 352 controls the signal generator 354 to extract the P code word corresponding to the P index received from the code book 351 and generates a replica of the original signal using the code word P, together with other parameters of the received signals (for example the residual energy). When a V mode indicator is received, the signal generator 354 is checked to use both the previously received P code word (i.e. the P code word used in the preceding frame) and the V code word corresponding to the index V received, together with other signal parameters, to generate the signal replication. Finally, the replication of the signal is output as an output signal 356 for further processing, for example, conversion to an audible signal.
Pertanto, sarà evidente ad un esperto nel ramo che, in conformità con l'invenzione, sono stati forniti un procedimento ed un apparecchio per la codificazione/ decodificazione a bassa rate di un segnale che soddisfa pienamente gli obiettivi, gli scopi ed i vantaggi prece dentemente esposti. Therefore, it will be apparent to one skilled in the art that, in accordance with the invention, a method and apparatus for low rate coding / decoding of a signal have been provided which fully satisfies the above objectives, purposes and advantages. exposed.
Sebbene l'invenzione sia stata descritta con riferimento a sue specifiche forme di realizzazione, è evidente che molte alterazioni, modificazioni e variazio ni saranno evidenti a coloro che sono esperti nel ramo alla luce della precedente descrizione. Per esempio, mentre l'apparecchio di codificazione vocale a bassa ve locità o rate secondo la Figura 3 è stato descritto in termini di specifiche relazioni circuitali logiche/funzionali, una persona esperta nel ramo potrà apprezzare che tali concetti possono essere incorporati in una varietà di maniere, per esempio processori appropriatamente configurati e programmati, circuiti’ASIC (circuiti integrati specifici per applicazioni) e dispositivi D5P (processori per segnali digitali). Inoltre, l'invenzione non è limitata in applicazione soltanto ai codif catori vocali per sistemi per comunicazioni cellulari, ma si applica anche ad altri codificatori di sorgente per altri tipi di sistemi di comunicazioni. In accordo con ciò, l'invenzione è da interpretare come comprendente tutte queste alterazioni, modificazioni e variazioni che rientrano nello spirito e nell'ambito delle allega- Although the invention has been described with reference to specific embodiments thereof, it is evident that many alterations, modifications and variations will be apparent to those skilled in the art in light of the foregoing description. For example, while the low-speed voice coding apparatus of Figure 3 has been described in terms of specific logical / functional circuit relationships, one skilled in the art will appreciate that such concepts can be incorporated into a variety of manners, for example properly configured and programmed processors, ASIC circuits (application specific integrated circuits) and D5P devices (digital signal processors). Furthermore, the invention is not limited in application only to voice encoders for cellular communications systems, but also applies to other source encoders for other types of communications systems. In accordance with this, the invention is to be interpreted as comprising all these alterations, modifications and variations which fall within the spirit and scope of the annexes.
te rivendιcazioni. you claims.
Claims (5)
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US42478095A | 1995-04-19 | 1995-04-19 |
Publications (3)
Publication Number | Publication Date |
---|---|
ITRM960235A0 ITRM960235A0 (en) | 1996-04-15 |
ITRM960235A1 true ITRM960235A1 (en) | 1997-10-15 |
IT1285178B1 IT1285178B1 (en) | 1998-06-03 |
Family
ID=23683842
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
IT96RM000235A IT1285178B1 (en) | 1995-04-19 | 1996-04-15 | PROCEDURE AND APPARATUS FOR PERFORMING LOW SPEED CODING AND DECODING OPERATIONS. |
Country Status (14)
Country | Link |
---|---|
JP (1) | JPH10503633A (en) |
CN (1) | CN1150853A (en) |
AU (1) | AU683058B2 (en) |
BR (1) | BR9606292A (en) |
CA (1) | CA2191972A1 (en) |
DE (1) | DE19680399T1 (en) |
FI (1) | FI965131A (en) |
FR (1) | FR2733345B1 (en) |
GB (1) | GB2304508A (en) |
IT (1) | IT1285178B1 (en) |
MX (1) | MX9606368A (en) |
PL (1) | PL318012A1 (en) |
SE (1) | SE9604443L (en) |
WO (1) | WO1996034383A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9454974B2 (en) | 2006-07-31 | 2016-09-27 | Qualcomm Incorporated | Systems, methods, and apparatus for gain factor limiting |
CN104637483A (en) * | 2015-02-03 | 2015-05-20 | 中国电子科技集团公司第五十八研究所 | Multichannel-based low-speed voice coding/decoding system |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE6901749U (en) * | 1969-01-17 | 1969-05-22 | Huettenwerke Siegerland Ag | DIFFUSER FOR BUNDGLUEHOEFEN |
JPH02287399A (en) * | 1989-04-28 | 1990-11-27 | Fujitsu Ltd | Vector quantization control system |
US5010574A (en) * | 1989-06-13 | 1991-04-23 | At&T Bell Laboratories | Vector quantizer search arrangement |
US4974099A (en) * | 1989-06-21 | 1990-11-27 | International Mobile Machines Corporation | Communication signal compression system and method |
US4963030A (en) * | 1989-11-29 | 1990-10-16 | California Institute Of Technology | Distributed-block vector quantization coder |
FR2709366B1 (en) * | 1993-03-26 | 2001-09-14 | Motorola Inc | Method for storing reflection coefficient vectors. |
-
1996
- 1996-03-07 PL PL96318012A patent/PL318012A1/en unknown
- 1996-03-07 AU AU66349/96A patent/AU683058B2/en not_active Ceased
- 1996-03-07 DE DE19680399T patent/DE19680399T1/en not_active Ceased
- 1996-03-07 MX MX9606368A patent/MX9606368A/en unknown
- 1996-03-07 WO PCT/US1996/003235 patent/WO1996034383A1/en active Application Filing
- 1996-03-07 BR BR9606292A patent/BR9606292A/en unknown
- 1996-03-07 CN CN96190352.XA patent/CN1150853A/en active Pending
- 1996-03-07 GB GB9625742A patent/GB2304508A/en not_active Withdrawn
- 1996-03-07 JP JP8532495A patent/JPH10503633A/en active Pending
- 1996-03-07 CA CA002191972A patent/CA2191972A1/en not_active Abandoned
- 1996-03-27 FR FR9603787A patent/FR2733345B1/en not_active Expired - Fee Related
- 1996-04-15 IT IT96RM000235A patent/IT1285178B1/en active IP Right Grant
- 1996-12-03 SE SE9604443A patent/SE9604443L/en not_active Application Discontinuation
- 1996-12-19 FI FI965131A patent/FI965131A/en unknown
Also Published As
Publication number | Publication date |
---|---|
FR2733345A1 (en) | 1996-10-25 |
BR9606292A (en) | 1997-11-18 |
AU6634996A (en) | 1996-11-18 |
FI965131A0 (en) | 1996-12-19 |
MX9606368A (en) | 1997-03-29 |
JPH10503633A (en) | 1998-03-31 |
ITRM960235A0 (en) | 1996-04-15 |
SE9604443D0 (en) | 1996-12-03 |
FI965131A (en) | 1996-12-19 |
FR2733345B1 (en) | 1997-07-25 |
SE9604443L (en) | 1997-02-19 |
DE19680399T1 (en) | 1997-09-18 |
GB2304508A (en) | 1997-03-19 |
CA2191972A1 (en) | 1996-10-31 |
AU683058B2 (en) | 1997-10-30 |
IT1285178B1 (en) | 1998-06-03 |
CN1150853A (en) | 1997-05-28 |
WO1996034383A1 (en) | 1996-10-31 |
GB9625742D0 (en) | 1997-01-29 |
PL318012A1 (en) | 1997-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5673266A (en) | Subsequent frame variable data rate indication method | |
CA2169786C (en) | Frame erasure compensation techniques | |
US8243695B2 (en) | Method and apparatus for improved detection of rate errors in variable rate receivers | |
US6766293B1 (en) | Method for signalling a noise substitution during audio signal coding | |
US20070089040A1 (en) | Method and apparatus for recovery of particular bits of a frame | |
JP2000357999A5 (en) | ||
US8090577B2 (en) | Bandwidth-adaptive quantization | |
ITMI991858A1 (en) | PROCEDURE FOR TRANSMITTING INFORMATION RELATED TO BACKGROUND NOISES IN TRANSMISSIONS OF DATA INTO FRAMEWORKS | |
JP2005532579A (en) | Method and apparatus for efficient in-band dim-and-burst (DIM-AND-BURST) signaling and half-rate max processing during variable bit rate wideband speech coding for CDMA radio systems | |
Gardner et al. | QCELP: A variable rate speech coder for CDMA digital cellular | |
JP2001356792A (en) | Method and device for performing automatic speech recognition | |
Soong et al. | Optimal quantization of LSP parameters using delayed decisions | |
JP2000165349A (en) | Transmitter and method for transmitting digital signal to receiver | |
JP2000512777A (en) | Method and apparatus for encoding speech frequency signals with "forward" and "backward" LPC analysis | |
ITRM960235A1 (en) | PROCEDURE AND APPARATUS FOR PERFORMING CODING AND DECODING OPERATIONS AT LOW SPEED. | |
CA2293165A1 (en) | Method for transmitting data in wireless speech channels | |
JP3824653B2 (en) | For example, a method of processing data for transmission over a channel with a variable channel bit rate | |
JP2001526017A (en) | Bit detection method in wireless communication system | |
CA2340160A1 (en) | Speech coding with improved background noise reproduction | |
KR20020013863A (en) | Method and system for encoding to mitigate decoding errors in a receiver | |
CN110085242B (en) | SILK-based sound range self-adaptive steganography method based on minimum distortion cost | |
FI116598B (en) | Method of processing data, especially of coded speech signal parameters | |
JP2002533013A (en) | Method and apparatus for transmission encoding or decoding of information structured in a frame | |
JP2001211140A (en) | Multiplexing method for transport channels | |
Geiser et al. | Steganographic Packet Loss Concealment forWireless VoIP |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
0001 | Granted |