EP0850470B1 - Vector quantization method for low bit rate vocoders - Google Patents
Vector quantization method for low bit rate vocoders Download PDFInfo
- Publication number
- EP0850470B1 EP0850470B1 EP96930202A EP96930202A EP0850470B1 EP 0850470 B1 EP0850470 B1 EP 0850470B1 EP 96930202 A EP96930202 A EP 96930202A EP 96930202 A EP96930202 A EP 96930202A EP 0850470 B1 EP0850470 B1 EP 0850470B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- points
- envelope
- process according
- coordinates
- coefficients
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Lifetime
Links
- 238000000034 method Methods 0.000 title claims description 29
- 238000013139 quantization Methods 0.000 title claims description 17
- 230000008569 process Effects 0.000 claims description 14
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000001755 vocal effect Effects 0.000 claims description 3
- 238000000638 solvent extraction Methods 0.000 claims 2
- 108091026890 Coding region Proteins 0.000 claims 1
- 238000011002 quantification Methods 0.000 description 18
- 238000004364 calculation method Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000012552 review Methods 0.000 description 2
- 238000011282 treatment Methods 0.000 description 2
- 102100027362 GTP-binding protein REM 2 Human genes 0.000 description 1
- 101000581787 Homo sapiens GTP-binding protein REM 2 Proteins 0.000 description 1
- 238000009825 accumulation Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
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
Definitions
- the present invention relates to a quantification method illustration of low speed vocoders.
- the quantification starts to no longer be that approximately transparent, and that it is necessary to compensate auditively this artifact by roughly quantifying the filters located in the transitions of the speech signal and finely those corresponding to stable areas.
- the method is based on the use of a dictionary containing a determined number of standard filters obtained by learning. It consists in transmitting only the page or index where the most standard filter is located close to the ideal filter.
- the object of the invention is to overcome the aforementioned drawbacks.
- the invention relates to a vector quantization method low-speed vocoders according to claim 1.
- the main advantage of the invention is that it implements a method of quantification of prediction filters which requires practically no more bits to quantify the representative points of the filters prediction that a dictionary vector quantization process while remaining simple, fast realization occupying only a reduced memory space.
- Figure 1 a flowchart illustrating the speech coding process implemented by the invention.
- Figure 2 a two-dimensional vector space showing a distribution of area coefficients derived from the reflection coefficients modeling the duct vocal.
- FIG. 3 an illustration of the coding method according to the invention in a three-dimensional space.
- FIGS. 4 to 8b of examples of distribution of the coding of points in a three-dimensional space obtained by implementing the method according to the invention.
- the coding method according to the invention consists, after cutting the speech signal in frames of constant length of about 20 to 25 ms, as this usually takes place in the vocoders, to determine and code the characteristics of the speech signal on successive frames by determining the signal energy P times per frame.
- the synthesis of the speech signal on each frame then takes place in descrambling and decoding the characteristic values speech signal coded.
- the steps representative of the coding method according to the invention which are shown in FIG. 1 consist in calculating in step 1, after a step not shown of sampling the speech signal S K on each frame and quantizing the samples on a determined number of bits followed by a pre-emphasis of these samples, the coefficients K i of a filter for modeling the vocal tract from autocorrelation coefficients R i of the samples S K according to a relation of the form
- the calculation of the coefficients K i is carried out for example by applying the algorithm known to M. LEROUX-GUEGEN, a description of which can be found in the article of the review IEEE Transaction on Acoustics Speech, and Signal Processing June 1977 having for title " A fixed point computation of partial correlation coefficients ". This calculation amounts to inverting a square matrix whose elements are the coefficients R i of the relation (1).
- the point cloud represented in FIG. 2 in a space with only two dimensions makes appear two privileged directions symbolized by the eigenvectors V 1 and V 2 .
- a uniform quantification is then carried out between a minimum value ⁇ imini and a maximum value ⁇ imax with a number of bits n i which is calculated by conventional means as a function of the total number N of bits used to quantify the filter and the percentages of inertia corresponding to the eigenvectors V i .
- the quantification of the coefficients ⁇ i takes place using a distance measurement between filters, the most natural of which is the weighted Eucledean distance of the form: in which the coefficients ⁇ i are a decreasing function of their rank i and are adjusted experimentally.
- the quantification method according to the invention applied to this space consists in associating a unique number with each set of integer coordinates x0, y0, z0 verifying the relation: x 2 0 X 2 + y 2 0 Y 2 + z 2 0 Z 2 ⁇ 1
- a first step consists in traversing the x-axis and calculating the total number of points located in the slices of the ellipsoid which are perpendicular to it and intersecting the x-axis at points for which x takes the successive integer values - X, -X + 1, ..., x-2, x-1.
- the second stage consists in traversing the axis of y by adding to the preceding result the sum of the numbers of points located in the slices of the ellipsoid for which the abscissa is worth x and the ordinate is successively worth -Y (x), - Y (x + 1), ..., y-2, y-1 where Y (x) ⁇ Y and is the largest value for which the point of coordinates (x Y (x), 0) is located in l ellipsoid or its surface.
- the z axis is traversed by adding to the previous result the sum of the numbers of points located in the slices for which the abscissa is x, the ordinate is y and the altitude is successively -Z ( x, y), -Z (x, y) +1, ..., z-2, z-1 where Z (x, y) ⁇ Z and is the largest value for which the point of coordinates (x, y, Z (x, y) is located in the ellipsoid or its surface.
- the quantification algorithm according to the invention is deduced from the above example in 3 dimensions.
- This algorithm consists in accumulating in the code value the number of points encountered starting from a minimum value of the coordinates to arrive at the code value of the point considered.
- the real values of the coordinates X i are first converted to their nearest integer value.
- the resulting values are then corrected so as to be sure that the corresponding point is indeed located inside the ellipsoid, because for possibly external points, it is accepted that the quantization error can be greater than that obtained for points inside.
- An optimum process for dealing with these points would be to find the points that appear closest to the interior of the ellipsoid.
- the instructions of the previous algorithm must be included in the coding firmware proper by using the volumes V n (A) already calculated.
- This algorithm consists of an accumulation in the final code of the number of points left behind the coded point of coordinates (X 1 ... X N ) starting from a point of coordinates (0, 0 ... 0, A N ) on the surface of the ellipse and down towards the point to be quantified.
- a firmware for the execution of this coding algorithm is provided in Annex 2.
- the dequantification algorithm proceeds by seeking to reconstruct the terms that have been added to give the value of the code knowing that this reconstruction is unique in nature.
- the previous algorithms can still be modified by considering half-whole rather than whole coordinates.
- a first possibility may consist in making a quantizer whose axes are twice the size of the axes A i required.
- a vector of N real values can then be quantified after doubling, using only odd integers.
- the previous algorithm can then be used, the exit code obtained being converted by a table giving the final code. This transcoding is necessary for the reason that if only about a quarter of the original centroids are to be considered, this reduction does not facilitate the execution of the algorithm.
- a second possibility can consist in modifying the initialization of the algorithm, the coding and the decoding so as to use only coordinates pairs.
- Corresponding modified firmware is provided in Annex 4.
- the codes are transmitted according to binary words. However, as the number of points included inside an ellipsoid has, a priori no reason particular to form an exact power of two, it seems highly desirable to use an optimal number of bits in the formation of the code, let this number be as close as possible to an exact power of two. This can be achieved by adjusting the volume of the ellipsoid by lengths fractional rather than whole axes.
- the fractions representing the axes A i have a common denominator.
- the denominator values of 1, 2, 3 are sufficient to easily obtain ellipsoids containing a number of centroids as close as possible with an exact power of two.
- FIG. 7a and 7b An example of ellipsoidal vector quantization for D 3.0 and D 3.1 is shown in Figures 7a and 7b.
- the three axes have respectively dimensions 2, 4, 5, that is to say that they are slightly larger than those of the previous examples to obtain a sufficient number of points.
- Each centroid is connected to its closest neighbors in the same way as in Figures 4 and 6. It can be checked in these figures that the barycenter belongs (figure 7a) or does not belong (figure 7b) to the set centroids.
- the instructions referenced by (Z) are those to be used when the axes have entire lengths.
- the instructions referenced by (D) relate to networks of points having coordinates with odd and even sums.
- NV a, b is replaced by NV p, a, b , V a, b by V p, a, b and maxNumer a, b is replaced by maxNumer p, a, b if the current network is D n0 or D n-1 .
- the variable parity is 0 for D n0 and 1 for D n1 .
- the REM2 (X) function calculates the remainder of dividing X by 2: it is equivalent to X - 2 INT (X / 2).
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Spectroscopy & Molecular Physics (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
La présente invention concerne un procédé de quantification vectorielle de vocodeurs bas débit.The present invention relates to a quantification method illustration of low speed vocoders.
Elle s'applique notamment aux vocodeurs à prédiction linéaire,
similaires à ceux décrits par exemple dans la Revue Technique THOMSON-CSF,
volume 14, n° 3, septembre 1982, pages 715 à 731, suivant lesquels
le signal de parole est identifié à la sortie d'un filtre numérique dont l'entrée
reçoit, soit une forme d'onde périodique correspondant à celles des sons
voisés comme le sont les voyelles, soit une forme d'onde aléatoire
correspondant à celles des sons non voisés comme le sont la plupart des
consonnes.It applies in particular to vocoders with linear prediction,
similar to those described for example in the THOMSON-CSF Technical Review,
Il est connu que la qualité auditive des vocodeurs à prédiction linéaire dépend en grande partie de la précision avec laquelle leur filtre prédicteur est quantifié et que cette qualité diminue généralement lorsque le débit numérique entre vocodeurs diminue car la précision de quantification du filtre devient alors insuffisante. De nombreux procédés de quantification du type de ceux décrits par exemple, dans la demande de brevet EP 0504485 A2 ou dans le brevet US 4907276 ont été développés pour résoudre ce problème. Le brevet US 4907276 décrit une quantification vectorielle utilisant la transformation du signal d'entrée dans le domaine des vecteurs propres de la matrice de covariance du signal. D'une manière générale le signal de parole est segmenté en trames indépendantes de durée constante et le filtre est renouvelé à chaque trame. Ainsi pour arriver à un débit d'environ 1820 bits par seconde, il faut, selon une réalisation standard normalisée, représenter le filtre par un paquet de 41 bits transmis toutes les 22,5 millisecondes. Pour des liaisons non standard à plus faible débit, de l'ordre de 800 bits par seconde, moins de 800 bits par seconde doivent être transmis pour représenter le filtre ce qui constitue approximativement un rapport de 3 en débit par rapport aux réalisation standards. 30 bits en moyenne sont utilisés pour quantifier un filtre sur deux, et ces 30 bits se décomposent en 3 bits définissant un schéma de quantification et 27 bits pour quantifier 10 quantités obtenues à partir de coefficients LAR (abréviations anglo-saxonnes de Log Area Ratios) par déplacement et rotation dans l'espace à 10 dimensions ainsi défini. Le résultat est que la quantification commence à n'être plus qu'approximativement transparente, et qu'il faut compenser auditivement cet artefact en quantifiant grossièrement les filtres situés dans les transitions du signal de parole et finement ceux correspondant à des zones stables. Pour obtenir malgré tout une précision de quantification suffisante du filtre prédicteur l'approche classique consiste à mettre en oeuvre un schéma de quantification vectorielle intrinsèquement plus efficace que celui utilisé dans les systèmes standards où les 41 bits mis en oeuvre servent à quantifier scalairement les P = 10 coefficients de leur filtre de prédiction. La méthode repose sur l'utilisation d'un dictionnaire contenant un nombre déterminé de filtres standards obtenus par apprentissage. Elle consiste à transmettre uniquement la page ou l'index où se trouve le filtre standard le plus proche du filtre idéal. L'avantage est dans la réduction du débit binaire qui est obtenu, seulement 10 à 15 bits par filtre étant transmis au lieu des 41 bits nécessaires en mode de quantification scalaire, mais cette réduction de débit est obtenue au prix d'une très forte augmentation de la taille de mémoire nécessaire pour stocker les éléments du dictionnaire et d'une charge de calcul importante imputable à la complexité de l'algorithme de recherche des filtres.It is known that the hearing quality of vocoders with linear prediction largely depends on the accuracy with which their predictor filter is quantified and this quality generally decreases when the flow digital between vocoders decreases because the precision of quantification of the filter becomes insufficient. Numerous methods for quantifying type of those described, for example, in patent application EP 0504485 A2 or in US patent 4907276 were developed to solve this problem. US patent 4907276 describes a vector quantization using the transformation of the input signal in the vector domain eigenvalues of the signal covariance matrix. Generally speaking, the speech signal is segmented into independent frames of constant duration and the filter is renewed each time frame. So to reach a bit rate of around 1820 bits per second, you have to, according to a standardized standard implementation, represent the filter by a packet 41 bits transmitted every 22.5 milliseconds. For connections not standard at lower bit rates, on the order of 800 bits per second, less than 800 bits per second must be transmitted to represent the filter which is approximately a ratio of 3 in flow compared to standard realization. 30 bits on average are used to quantify a filter on two, and these 30 bits break down into 3 bits defining a quantization scheme and 27 bits to quantify 10 quantities obtained at from LAR coefficients (Anglo-Saxon abbreviations of Log Area Ratios) by displacement and rotation in the 10-dimensional space thus defined. The result is that the quantification starts to no longer be that approximately transparent, and that it is necessary to compensate auditively this artifact by roughly quantifying the filters located in the transitions of the speech signal and finely those corresponding to stable areas. To still obtain sufficient quantification precision of the filter predictor the classic approach is to implement a scheme of intrinsically more efficient vector quantization than that used in standard systems where the 41 bits used are used to quantify scalarly the P = 10 coefficients of their prediction filter. The method is based on the use of a dictionary containing a determined number of standard filters obtained by learning. It consists in transmitting only the page or index where the most standard filter is located close to the ideal filter. The advantage is in reducing the bit rate which is obtained, only 10 to 15 bits per filter being transmitted instead of the 41 bits necessary in scalar quantization mode, but this reduction in throughput is achieved at the cost of a very large increase in memory size needed to store dictionary items and a computational load important due to the complexity of the filter search algorithm.
En appliquant également cette approche aux vocodeurs à bas débit de 800 bits/s et moins, il est communément admis que 24 bits suffisent pour un dictionnaire composite produit de deux dictionnaires de 4 096 éléments prenant en compte les quatre premiers LSP et les six derniers respectivement. L'inconvénient majeur de ce type de quantification réside encore dans la nécessité de constituer ce dictionnaire, de le stocker, et d'effectuer la quantification proprement dite.By also applying this approach to low speed vocoders of 800 bits / s and less, it is commonly accepted that 24 bits are sufficient for a composite dictionary produced from two dictionaries of 4,096 elements taking includes the first four LSPs and the last six respectively. The major drawback of this type of quantification still lies in the need to constitute this dictionary, to store it, and to carry out the proper quantification.
Des alternatives au schéma de quantification vectorielle ont aussi été proposées pour réduire le nombre d'éléments stockés dans le dictionnaire. C'est ainsi qu'il est connu notamment une technique de quantification de vecteur pyramidal, dont une description peut être trouvée dans la revue IEEE trans. on INFTH vol. IT 32 n° 4 juillet 1986 pages 568 à 582 de M. Thomas R. FISCHER ayant pour titre " A pyramid vector quantizer". Suivant cette technique les données d'entrée multidimensionnelles sont réparties sur les sommets d'un réseau régulier inclus dans une pyramide de dimension multiple. Cette technique de quantification est appliquée principalement pour des données à caractéristique de répartition Laplaciennes. Mais la réduction en débit qui en résulte n'est toutefois pas suffisamment appréciable. Ceci est particulièrement dû au fait qu'en pratique la forme de l'ensemble des données multidimensionnelles à traiter est plutôt inscrite à l'intérieur d'un ellipsoïde, notamment lorsqu'il est utilisé un système de calcul à prédiction/extrapolation qui amène toujours une forme à caractéristique Gaussienne des données. D'autre part la pyramide qui est inscrite sur cet ellipsoïde amène à coder des points qui se trouvent à l'extérieur de l'ellipsoïde entourant le nuage de points à coder ce qui oblige à dimensionner les mots de code avec un nombre de bits qui va au delà de ce qui est strictement nécessaire.Alternatives to the vector quantization scheme have also been suggested to reduce the number of items stored in the dictionary. It is as is known in particular a vector quantization technique pyramidal, a description of which can be found in the journal IEEE trans. we INFTH vol. IT 32 n ° 4 July 1986 pages 568 to 582 by M. Thomas R. FISCHER entitled "A pyramid vector quantizer". According to this technique the multidimensional input data are distributed over the vertices of a regular network included in a pyramid of multiple dimensions. This quantification technique is applied mainly for data to Laplacian distribution characteristic. But the reduction in flow which The result is however not sufficiently appreciable. This is particularly due to the fact that in practice the form of the data set multidimensional to be treated is rather inscribed inside an ellipsoid, especially when using a prediction / extrapolation calculation system which always brings a Gaussian characteristic form of the data. On the other hand the pyramid which is inscribed on this ellipsoid leads to code points that lie outside the ellipsoid surrounding the point cloud at code which forces the code words to be sized with a number of bits which goes beyond what is strictly necessary.
Le but de l'invention est de pallier les inconvénients précités.The object of the invention is to overcome the aforementioned drawbacks.
A cet effet, l'invention a pour objet un procédé de quantification vectorielle
de vocodeurs bas débit selon la revendication 1. To this end, the invention relates to a vector quantization method
low-speed vocoders according to
L'invention a pour principal avantage qu'elle met en oeuvre un procédé de quantification des filtres de prédiction qui n'exige pratiquement pas plus d'éléments binaires pour quantifier les points représentatifs des filtres de prédiction qu'un procédé de quantification vectorielle à dictionnaire tout en restant de réalisation simple, rapide n'occupant qu'un espace mémoire réduit.The main advantage of the invention is that it implements a method of quantification of prediction filters which requires practically no more bits to quantify the representative points of the filters prediction that a dictionary vector quantization process while remaining simple, fast realization occupying only a reduced memory space.
D'autres caractéristiques et avantages de l'invention apparaítront ci-après à l'aide de la description qui suit faite en regard des figures des dessins annexés qui représentent :Other characteristics and advantages of the invention will appear below using the following description made with reference to the figures of the drawings attached which represent:
La figure 1 un organigramme illustrant le procédé de codage de la parole mis en oeuvre par l'invention.Figure 1 a flowchart illustrating the speech coding process implemented by the invention.
La figure 2 un espace vectoriel à deux dimensions figurant une répartition de coefficients d'aire dérivés des coefficients de réflexion modélisant le conduit vocal.Figure 2 a two-dimensional vector space showing a distribution of area coefficients derived from the reflection coefficients modeling the duct vocal.
La figure 3 une illustration du procédé de codage selon l'invention dans un espace à trois dimensions.FIG. 3 an illustration of the coding method according to the invention in a three-dimensional space.
Les figures 4 à 8b des exemples de répartition du codage de points dans un espace à trois dimensions obtenu par la mise en oeuvre du procédé selon l'invention.FIGS. 4 to 8b of examples of distribution of the coding of points in a three-dimensional space obtained by implementing the method according to the invention.
Le procédé de codage selon l'invention consiste, après avoir découpé le signal de parole en trames de longueur constante d'environ 20 à 25 ms, comme ceci a lieu habituellement dans les vocodeurs, à déterminer et à coder les caractéristiques du signal de parole sur des trames successives en déterminant l'énergie du signal P fois par trame.The coding method according to the invention consists, after cutting the speech signal in frames of constant length of about 20 to 25 ms, as this usually takes place in the vocoders, to determine and code the characteristics of the speech signal on successive frames by determining the signal energy P times per frame.
La synthèse du signal de parole sur chaque trame a lieu ensuite en procédant au détramage et au décodage des valeurs des caractéristiques codées du signal de parole.The synthesis of the speech signal on each frame then takes place in descrambling and decoding the characteristic values speech signal coded.
Les étapes représentatives du procédé de codage selon l'invention qui
sont représentées à la figure 1 consistent à calculer à l'étape 1, après une étape
non représentée d'échantillonnage du signal de parole SK sur chaque trame et-quantification
des échantillons sur un nombre déterminé de bits suivit d'une
préaccentuation de ces échantillons, les coefficients Ki d'un filtre de
modélisation du conduit vocal à partir de coefficients d'autocorrélation Ri des
échantillons SK suivant une relation de la forme
The steps representative of the coding method according to the invention which are shown in FIG. 1 consist in calculating in
Le calcul des coefficients Ki est effectué par exemple en appliquant l'algorithme connu de M. LEROUX-GUEGEN dont une description peut être trouvée dans l'article de la revue IEEE Transaction on Acoustics Speech, and Signal Processing June 1977 ayant pour titre "A fixed point computation of partial correlation coefficients". Ce calcul revient à inverser une matrice carrée dont les éléments sont les coefficients Ri de la relation (1).The calculation of the coefficients K i is carried out for example by applying the algorithm known to M. LEROUX-GUEGEN, a description of which can be found in the article of the review IEEE Transaction on Acoustics Speech, and Signal Processing June 1977 having for title " A fixed point computation of partial correlation coefficients ". This calculation amounts to inverting a square matrix whose elements are the coefficients R i of the relation (1).
L'étape 2 suivante consiste à distordre de façon non linéaire les
coefficients de réflexion en les transformant en coefficients d'aire notés LARi de
l'abréviation anglo-saxonne LOG AREA RATIO par la relation
avec i = (1...P)
de façon à calculer à l'étape 3 les vecteurs propres d'une matrice
d'autocorrélation des coefficients LARi qui définissent dans l'espace à P
dimensions les directions privilégiées d'un nuage de points dont les
coordonnées sont les coefficients LARi avec i = 1 - P. A titre d'exemple, le nuage
de points représenté à la figure 2 dans un espace à seulement deux dimensions
fait apparaitre deux directions privilégiées symbolisées par les vecteurs propres
V1 et V2.The
so as to calculate in
En retournant à la figure 1, l'étape 4 consiste à projeter les coefficients
LAR sur les directions privilégiées en calculant par exemple des coefficients λi,
représentant la somme des projections des coefficients (LARj -
Comme chacun des coefficients λi évolue entre une valeur minimale -λimax et une valeur maximale +λimax, cette évolution rend possible l'approximation de la forme du nuage de points observé par un hyperellipsoïde dont les valeurs des demi-grands axes sont représentées par les coefficients λimax. As each of the coefficients λ i evolves between a minimum value -λ imax and a maximum value + λ imax , this evolution makes it possible to approximate the shape of the point cloud observed by a hyperellipsoid whose values of the semi-major axes are represented by the coefficients λ imax .
Pour chacun des λi, il est alors effectué une quantification uniforme entre une valeur minimale λimini et une valeur maximale λimax avec un nombre de bits ni qui est calculé par les moyens classiques en fonction du nombre total N de bits utilisés pour quantifier le filtre et les pourcentages d'inertie correspondant aux vecteurs propres Vi.For each of the λ i , a uniform quantification is then carried out between a minimum value λ imini and a maximum value λ imax with a number of bits n i which is calculated by conventional means as a function of the total number N of bits used to quantify the filter and the percentages of inertia corresponding to the eigenvectors V i .
La quantification des coefficients λi a lieu en utilisant une mesure de distance entre filtres dont la plus naturelle est la distance Euclédienne pondérée de la forme : dans laquelle les coefficients γi sont fonction décroissante de leur rang i et sont ajustés expérimentalement.The quantification of the coefficients λ i takes place using a distance measurement between filters, the most natural of which is the weighted Eucledean distance of the form: in which the coefficients γ i are a decreasing function of their rank i and are adjusted experimentally.
De façon équivalente, sachant que les coefficients λi sont centrés autour du barycentre de l'hyperéllipsoïde, le même résultat peut aussi être obtenu en utilisant une mesure de distance purement Euclidienne portant sur les coefficients modifiés, telle que Les points représentatifs des filtres de coordonnées µi , sont alors situés à l'intérieur d'un hyperellipsoïde de dimension P dont les P demi-grands axes valent respectivement µimax avec µimax = λimax γi 1/2 .Equivalently, knowing that the coefficients λ i are centered around the barycenter of the hyperelipsoid, the same result can also be obtained by using a purely Euclidean distance measure relating to the modified coefficients, such as The representative points of the filters of coordinates μ i , are then located inside a hyperellipsoid of dimension P whose P semi-major axes are worth respectively µ imax with µ imax = λ imax γ i 1/2 .
Dans ces conditions si chacune des coordonnées µi était quantifiée
uniformément entre -µimax et +µimax ,le nombre de bits nécessaire serait alors
égal au logarithme en base 2 du rapport entre un volume parallélépipédique
(pavé) quantifiable et le volume d'un hypercube élémentaire selon la relation
où Δ est le pas de quantification. Mais cette définition, conduit à représenter non
seulement les points qui sont à l'intérieur de l'ellipsoïde mais également une
multitude de points extérieurs. Par exemple, en dimension 3, cela conduit à
représenter 2 fois plus de points qu'il n'est nécessaire. Cette inflation du nombre
de points à coder croit d'autant plus que le nombre de dimensions de l'espace à
considérer augmente.Under these conditions if each of the coordinates µ i was quantified uniformly between -µ imax and + µ imax , the number of bits required would then be equal to the logarithm in
En effet, en considérant le volume d'un ellipsoïde défini pour P pair par la relation le nombre de bits NE strictement nécessaire est alors donné par ce qui donne Indeed, by considering the volume of an ellipsoid defined for P even by the relation the number of bits N E strictly necessary is then given by Which give
Pour le cas d'un filtre de prédiction à P=10 coefficients cela représente une différence de -8,65 bits et montre qu'il suffit en principe de n'utiliser pour NE que seulement 24 bits au lieu des 33 bits nécessaire pour quantifier les coefficients µi de façon indépendante.For the case of a prediction filter with P = 10 coefficients this represents a difference of -8.65 bits and shows that it is sufficient in principle to use for N E only 24 bits instead of the 33 bits necessary for quantify the coefficients µ i independently.
Dans ces conditions il apparaít que le seul moyen de gagner
effectivement les bits souhaités consiste à effectuer une quantification dans un
espace qui est strictement limité à l'intérieur du volume utile, de l'ellipsoïde des
points µi. Ceci est réalisé par l'invention grâce à l'exécution à l'étape 5 d'un
algorithme qui permet de numéroter sans ambiguïté tous les points situés dans
ce volume.Under these conditions it appears that the only way to effectively gain the desired bits is to perform a quantization in a space which is strictly limited within the useful volume, the ellipsoid of the points µ i . This is achieved by the invention thanks to the execution in
Pour la commodité du raisonnement on supposera dans ce qui suit que le volume des points est délimité par une enveloppe de forme ellipsoïde ou pyramidale, mais on concevra que le procédé de codage de l'invention qui est décrit vaut aussi pour des volumes d'enveloppe quelconque.For the sake of convenience, it will be assumed below that the volume of the points is delimited by an ellipsoid envelope or pyramidal, but it will be understood that the coding method of the invention which is described also applies to any envelope volumes.
En supposant pour simplifier que l'espace des données à quantifier est un
espace de dimension 3 (N=3) et que tous les points à l'intérieur d'un ellipsoïde
d'axes orthonormés 2X, 2Y, 2Z peuvent être quantifiés avec un pas de
quantification égal à l'unité, le procédé de quantification selon l'invention
appliqué à cet espace consiste à associer un nombre unique à chaque
ensemble de coordonnées entières x0, y0, z0 vérifiant la relation :
Comme le montre la figure 3 cette association est réalisée en trois étapes.
Une première étape consiste à parcourir l'axe des x et à calculer le nombre total
de points situés dans les tranches de l'ellipsoïde qui lui sont perpendiculaires et
coupant l'axe des x en des points pour lesquels x prend les valeurs entières
successives -X , -X+1,..., x-2, x-1. La deuxième étape consiste à parcourir l'axe
des y en ajoutant au résultat précédent la somme des nombres de points situés
dans les tranches de l'ellipsoïde pour lesquelles l'abscisse vaut x et l'ordonnée
vaut successivement -Y(x), -Y(x+1),..., y-2, y-1 où Y(x)≤Y et est la plus grandfe
valeur pour laquelle le point de coordonnées (x Y(x), 0) est situé dans
l'ellipsoïde ou sa surface. Enfin suivant la troisième étape, l'axe des z est
parcouru en ajoutant au résultat précédent la somme des nombres de points
situés dans les tranches pour lesquelles l'abscisse vaut x, l'ordonnée vaut y et
l'altitude vaut successivement -Z(x,y), -Z(x,y)+1,..., z-2, z-1 où Z(x,y)≤Z et est
la plus grande valeur pour laquelle le point de coordonnées (x,y,Z(x,y) est situé
dans l'ellipsoïde ou sa surface. Le résultat final donne le nombre exact de points
s'étendant avant le point à quantifier, c'est-à-dire les points pour lesquels x ou y
ou z est inférieur à xo, yo ou zo respectivement. Ce principe peut naturellement
être étendu à des dimensions d'espace d'ordre quelconque. Pour un espace
d'ordre N, les différents volumes de dimensions 2, 3,..., N-1 sont précalculés et
mémorisés dans une mémoire morte. En généralisant ce principe à un ellipsoïde
à N dimensions, et en désignant par A1 , A2 ,..., AN les dimensions des demi-axes
le volume intérieur à l'ellipsoïde est défini par la relation :
avec
et l'équation de sa surface est définie par la relation :
En désignant par Vm(A) le volume d'une tranche à m dimensions (m< ou égal à
N) de l'ellipsoïde, dans laquelle la mième coordonnée est comprise entre -A et
+A celui-ci s'exprime par la relation :
La relation (14) permet de déduire sans difficulté une relation de récurrence liant
deux volumes de dimensions consécutives soit :
Le nombre de points à quantifier peut alors être obtenu à partir des relations
précédentes en considérant par exemple que le pas de quantification vaut 1 et
que les dimensions des axes Ai sont des entiers positifs. Cette détermination
peut être obtenue en considérant successivement les points isolés (dimension
0), les séries de points contigus (dimension 1), puis en calculant itérativement
les volumes de dimensions 2...N-1.As shown in Figure 3 this association is made in three stages. A first step consists in traversing the x-axis and calculating the total number of points located in the slices of the ellipsoid which are perpendicular to it and intersecting the x-axis at points for which x takes the successive integer values - X, -X + 1, ..., x-2, x-1. The second stage consists in traversing the axis of y by adding to the preceding result the sum of the numbers of points located in the slices of the ellipsoid for which the abscissa is worth x and the ordinate is successively worth -Y (x), - Y (x + 1), ..., y-2, y-1 where Y (x) ≤Y and is the largest value for which the point of coordinates (x Y (x), 0) is located in l ellipsoid or its surface. Finally, following the third step, the z axis is traversed by adding to the previous result the sum of the numbers of points located in the slices for which the abscissa is x, the ordinate is y and the altitude is successively -Z ( x, y), -Z (x, y) +1, ..., z-2, z-1 where Z (x, y) ≤Z and is the largest value for which the point of coordinates (x, y, Z (x, y) is located in the ellipsoid or its surface. The final result gives the exact number of points extending before the point to be quantified, ie the points for which x or y where z is less than xo, yo or zo respectively. This principle can naturally be extended to dimensions of any order space. For a space of order N, the different volumes of
Un microprogramme permettant d'obtenir ce résultat est fourni en Annexe 1.A firmware enabling this result to be obtained is provided in the Annex. 1.
L'algorithme de quantification selon l'invention est déduit de l'exemple précité en 3 dimensions. Cet algorithme consiste à accumuler dans la valeur de code le nombre de points rencontrés en partant d'une valeur minimale des coordonnées pour arriver à la valeur de code du point considéré. Pour effectuer ce traitement les valeurs réelles des coordonnées Xi sont d'abord converties en leur valeur entière la plus proche. Les valeurs résultantes sont alors corrigées de façon à être sûr que le point correspondant est bien situé à l'intérieur de l'ellipsoïde, car pour les points éventuellement extérieurs, il est admis que l'erreur de quantification peut être plus grande que celle obtenue pour les points à l'intérieur. Un processus optimum permettant de traiter ces points serait de trouver les points qui semblent les plus proches à l'intérieur de l'ellipsoïde. Cependant à l'exception d'une quantification de points à l'intérieur d'une sphère il n'existe malheureusement pas de procédé simple pour effectuer ce traitement. Un algorithme suboptimum permettant de placer ces points itérativement à l'intérieur de l'ellipsoïde par une modification de leurs coordonnées successives est le suivant: The quantification algorithm according to the invention is deduced from the above example in 3 dimensions. This algorithm consists in accumulating in the code value the number of points encountered starting from a minimum value of the coordinates to arrive at the code value of the point considered. To carry out this processing, the real values of the coordinates X i are first converted to their nearest integer value. The resulting values are then corrected so as to be sure that the corresponding point is indeed located inside the ellipsoid, because for possibly external points, it is accepted that the quantization error can be greater than that obtained for points inside. An optimum process for dealing with these points would be to find the points that appear closest to the interior of the ellipsoid. However with the exception of a quantification of points inside a sphere there unfortunately does not exist a simple process to carry out this treatment. A suboptimum algorithm allowing these points to be placed iteratively inside the ellipsoid by a modification of their successive coordinates is as follows:
En pratique les instructions de l'algorithme précédent doivent être
incluses dans le microprogramme de codage proprement dit en utilisant les
volumes Vn (A) déjà calculés. Cet algorithme consiste en une accumulation
dans le code final du nombre de points laissés derrière le point codé de
coordonnées (X1...XN) en partant d'un point de coordonnées (0, 0...0, AN) à la
surface de l'ellipse et en descendant vers le point à quantifier. Un
microprogramme pour l'exécution de cet algorithme de codage est fourni en
Annexe 2.In practice, the instructions of the previous algorithm must be included in the coding firmware proper by using the volumes V n (A) already calculated. This algorithm consists of an accumulation in the final code of the number of points left behind the coded point of coordinates (X 1 ... X N ) starting from a point of coordinates (0, 0 ... 0, A N ) on the surface of the ellipse and down towards the point to be quantified. A firmware for the execution of this coding algorithm is provided in
Naturellement le temps d'exécution maximum de l'algorithme précédent peut être raccourci grâce aux symétries. En effet, si Code0 représente le code du point d'origine de coordonnées (00...0) et C représente la valeur de code pour le point de coordonnées X1,..., XN le code correspondant au point symétrique (-X1, ..., -XN) est exactement égal à 2* Code0-C. Pour tenir compte de ce fait le microprogramme précédent peut être complété par les instructions suivante : IF Inversion THEN Code = 2 Code0 - CodeNaturally the maximum execution time of the previous algorithm can be shortened thanks to the symmetries. Indeed, if Code0 represents the code of the coordinate origin point (00 ... 0) and C represents the code value for the coordinate point X 1 , ..., X N the code corresponding to the symmetric point ( -X 1 , ..., -X N ) is exactly equal to 2 * Code0-C. To take this fact into account, the previous firmware can be supplemented by the following instructions: IF Inversion THEN Code = 2 Code0 - Code
Un exemple de quantification est représenté à la figure 4 pour les valeurs d'axe A1=1 , A1=3 et A1=4. Dans cette représentation il y a au total 37 centroïdes de cubes élémentaires et le barycentre de l'ellipsoïde correspond au code 18. Pour comparaison, un exemple de quantification pyramidale équivalent est représenté à la figure 5. Dans ce cas le barycentre correspond au code 14.An example of quantification is shown in Figure 4 for the axis values A 1 = 1, A 1 = 3 and A 1 = 4. In this representation there are in total 37 centroids of elementary cubes and the barycenter of the ellipsoid corresponds to code 18. For comparison, an example of equivalent pyramidal quantification is represented in figure 5. In this case the barycenter corresponds to code 14 .
L'algorithme de déquantification procède en cherchant à reconstituer les termes qui ont été additionnés pour donner la valeur du code sachant que cette reconstruction est unique par nature.The dequantification algorithm proceeds by seeking to reconstruct the terms that have been added to give the value of the code knowing that this reconstruction is unique in nature.
Un microprogramme correspondant est fourni en Annexe 3.A corresponding firmware is provided in
Pour tenir compte de certaines situations où il peut être intéressant de
déplacer l'origine de l'ensemble des centroïdes., les algorithmes précédents
peuvent encore être modifiés en considérant des coordonnées demi entières
plutôt qu'entières. Une première possibilité peut consister à réaliser un
quantificateur dont les axes sont de dimension double des axes Ai requis. Un
vecteur de N valeurs réelles peut alors être quantifié après doublement, en
utilisant seulement des entiers impairs. L'algorithme précédent peut alors être
utilisé, le code de sortie obtenu étant converti par une table donnant le code
final. Ce transcodage est nécessaire pour la raison que si environ un quart
seulement des centroïdes originaux sont à considérer, cette réduction ne facilite
pas pour autant l'exécution de l'algorithme. En effet, comme le montre la figure 6
on obtient alors avec des dimensions d'axe A1=1, A2=3, A3=4, un ellipsoïde
étendu de dimensions 2, 6 et 8 qui contient 369 centroïdes ce qui est très
important comparés aux 56 centroïdes de l'ellipsoïde conçu en coordonnées
demi-entières.To take into account certain situations where it may be interesting to move the origin of all the centroids., The previous algorithms can still be modified by considering half-whole rather than whole coordinates. A first possibility may consist in making a quantizer whose axes are twice the size of the axes A i required. A vector of N real values can then be quantified after doubling, using only odd integers. The previous algorithm can then be used, the exit code obtained being converted by a table giving the final code. This transcoding is necessary for the reason that if only about a quarter of the original centroids are to be considered, this reduction does not facilitate the execution of the algorithm. Indeed, as shown in Figure 6 we then obtain with axis dimensions A 1 = 1, A 2 = 3, A 3 = 4, an extended ellipsoid of
Une deuxième possibilité peut consister à modifier l'initialisation de l'algorithme, le codage et le décodage de façon à n'utiliser que des coordonnées paires. Des microprogrammes correspondant modifiés sont fournis en Annexe 4.A second possibility can consist in modifying the initialization of the algorithm, the coding and the decoding so as to use only coordinates pairs. Corresponding modified firmware is provided in Annex 4.
Les codes sont transmis suivant des mots binaires. Cependant, comme le nombre de points compris à l'intérieur d'un ellipsoïde n'a, a priori aucune raison particulière de former une exacte puissance de deux, il paraít hautement souhaitable pour utiliser un nombre optimal de bits dans la formation du code, que ce nombre soit aussi près que possible d'une exacte puissance de deux. Ceci peut être obtenu en ajustant le volume de l'ellipsoïde par des longueurs d'axes fractionnaires plutôt qu'entières.The codes are transmitted according to binary words. However, as the number of points included inside an ellipsoid has, a priori no reason particular to form an exact power of two, it seems highly desirable to use an optimal number of bits in the formation of the code, let this number be as close as possible to an exact power of two. This can be achieved by adjusting the volume of the ellipsoid by lengths fractional rather than whole axes.
De manière à simplifier l'exposé, on supposera que les fractions représentant les axes Ai ont un dénominateur commun. En pratique les valeurs de dénominateur de 1, 2, 3 sont suffisantes pour obtenir sans difficulté des ellipsoïdes contenant un nombre de centroïdes aussi voisins que possible d'une puissance exacte de deux.In order to simplify the presentation, it will be assumed that the fractions representing the axes A i have a common denominator. In practice, the denominator values of 1, 2, 3 are sufficient to easily obtain ellipsoids containing a number of centroids as close as possible with an exact power of two.
Par exemple, en considérant en dimension 4 un ellipsoïde de dimensions (3, 4, 5, 6), celui-ci contient exactement 1765 points. Ce nombre est exactement compris entre 1024 et 2048. En modifiant ces dimensions dans les rapports (9/3, 13/3, 15/3, 19/3) ce nombre est changé par le nombre 2025 qui est 98,87% proche de 2048 et on peut dire qu'il représente une perte binaire équivalente de log.2(0,9887)=0,016 bits. La différence 2048 - 2025 = 23 de codes perdus peut alors être utilisée pour le codage de configurations particulières si nécessaire.For example, considering in dimension 4 an ellipsoid of dimensions (3, 4, 5, 6), it contains exactly 1765 points. This number is exactly between 1024 and 2048. By modifying these dimensions in the ratios (9/3, 13/3, 15/3, 19/3) this number is changed by the number 2025 which is 98.87% close to 2048 and we can say that it represents an equivalent binary loss of log.2 (0.9887) = 0.016 bits. The difference 2048 - 2025 = 23 of lost codes can then be used for coding particular configurations if necessary.
En conséquence, les algorithmes précédents peuvent encore être modifiés en considérant des longueurs d'axes de la forme (A1/D, A2/D, ..., AN/D) où D est un dénominateur commun de valeur faible. Les valeurs fortes pour D ne sont pas nécessaires car dans la pratique il est toujours possible d'obtenir un bon codage avec D=1, 2 ou 3.Consequently, the previous algorithms can still be modified by considering axis lengths of the form (A 1 / D, A 2 / D, ..., A N / D) where D is a common denominator of low value. Strong values for D are not necessary because in practice it is always possible to obtain good coding with D = 1, 2 or 3.
L'introduction d'un dénominateur commun conduit à effectuer les
traitements suivants :
Les relations précédentes montrent que si D est différent de l'unité ou si
les axes Ai n'ont pas des dimensions faibles ou si les dimensions N sont
importantes, un nombre important de points doit être calculé et que ce calcul doit
être effectué en multiprécision arithmétique. La valeur maximum de Xn est
exactement (Numn/Denn)½, et cette valeur n'est presque jamais entière, de ce
fait, il est impossible d'utiliser les tableaux tels que Vn(Xn) en programmation.
En pratique, ce problème peut être résolu en utilisant deux tableaux, un tableau
pour les volumes et un tableau de valeurs correspondant au numérateur puisque
les dénominateurs ne changent pas. De la sorte, l'accès à un volume déterminé
peut être trouvé par le numérateur correspondant à celui recherché. Pour
réduire le temps de calcul les numérateurs sont mémorisés dans l'ordre
croissant avec leur volume correspondant. Les microprogrammes d'initialisation
de codage et de décodage sont alors modifiés de la façon représentée à
l'annexe 5.The preceding relations show that if D is different from the unit or if the axes A i do not have weak dimensions or if the dimensions N are important, a significant number of points must be calculated and that this calculation must be carried out in arithmetic multiprecision. The maximum value of X n is exactly (Num n / Den n ) ½ , and this value is almost never integer, therefore, it is impossible to use arrays such as V n (X n ) in programming. In practice, this problem can be solved by using two tables, a table for volumes and a table of values corresponding to the numerator since the denominators do not change. In this way, access to a determined volume can be found by the numerator corresponding to that sought. To reduce the calculation time, the numerators are stored in ascending order with their corresponding volume. The coding and decoding initialization microprograms are then modified as shown in
Une autre possibilité consiste à considérer seulement les centroïdes dont la somme des coordonnées est paire ou impaire. Ceci revient à conserver seulement la moitié des centroïdes d'origine, ceux-ci se répartissant sur le réseau original d'origine DN dénoté ici Dn0 où son complément Dn1 qui ne comprend pas l'origine.Another possibility is to consider only centroids whose sum of coordinates is even or odd. This amounts to retaining only half of the original centroids, these being distributed over the original original network DN denoted here D n0 where its complement D n1 which does not include the origin.
Le principal avantage de procéder ainsi est que cela permet de diminuer l'erreur de quantification moyenne de -0,25 db si N=3 où d'environ -0,4 db pour N=4 à 10. Cela conduit à modifier l'algorithme de quantification initiale en ne considérant seulement que les points de coordonnées respectivement paires ou impaires. Dans ces conditions l'algorithme de quantification consiste à quantifier comme précédemment les points en recherchant des valeurs entières les plus proches de chaque coordonnée et à modifier les coordonnées entières qui sont les plus distantes de leur valeur réelle d'origine. Cependant le codage et le décodage sont alors légèrement plus complexes que pour un réseau de points ayant des coordonnées entières.The main advantage of doing this is that it reduces the mean quantization error of -0.25 db if N = 3 or around -0.4 db for N = 4 to 10. This leads to modifying the initial quantification algorithm by not considering only that the points of coordinates respectively even or odd. Under these conditions the quantification algorithm consists in quantifying as before the points by looking for the most integer values close to each coordinate and change the entire coordinates which are the most distant from their original real value. However the coding and decoding are then slightly more complex than for a network of points having whole coordinates.
En effet deux ensembles de volumes doivent être trouvés pour les
dimensions 1 à N-1, un premier ensemble V0,n(A) de volumes à n dimensions
ayant une somme impaire de coordonnées à un deuxième ensemble V1n(A) de
volumes de dimension n ayant une somme paire de coordonnées. Dans ces
conditions le calcul des volumes a lieu de la façon décrite par le
microprogramme de l'annexe 6.Indeed two sets of volumes must be found for
Un exemple de quantification ellipsoïdale de vecteur pour D3,0 et D3,1
est représenté aux figures 7a et 7b. Dans cette représentation, les trois axes ont
respectivement pour dimensions 2, 4, 5, c'est-à-dire qu'ils sont légèrement plus
grands que ceux des exemples précédents pour obtenir un nombre suffisant de
points. Chaque centroïde est relié à ses voisins les plus proches de la même
façon qu'aux figures 4 et 6. Il peut être vérifié sur ces figures que le barycentre
appartient (figure 7a) ou n'appartient pas ( figure 7b) à l'ensemble des
centroïdes.An example of ellipsoidal vector quantization for D 3.0 and D 3.1 is shown in Figures 7a and 7b. In this representation, the three axes have respectively
Une généralisation du procédé à une quantification pyramidale est aussi représentée aux figures 8a et 8b. A generalization of the process to a pyramidal quantification is also shown in Figures 8a and 8b.
Une amélioration de la vitesse d'exécution de ce microprogramme peut aussi être obtenue en introduisant les instructions suivantes : An improvement in the execution speed of this firmware can also be obtained by introducing the following instructions:
Modification du codage Modification du décodage. Changing the coding Modification of decoding.
A initialisation : calcul des volumes et des numérateurs B. Algorithme de codage (les xi sont supposés correctes). C. Algorithme de décodage Nota : Les instructions référencées par (Z) sont celles à utiliser lorsque les axes ont des longueurs entières. Les instructions référencées par (D) concernent des réseaux de points ayant des coordonnées à sommes paires et impaires. Pour les instructions référencées par (Z/D), NVa,b est remplacé par NVp,a,b, Va,b par Vp,a, b et maxNumera,b est remplacé par maxNumerp,a,b si le réseau courant est Dn0 ou Dn-1. Pour Dn, la parité variable est 0 pour Dn0 et 1 pour Dn1. La fonction REM2(X) calcule le reste de la division de X par 2: elle est équivalente à X - 2 INT(X/2).At initialization: calculation of volumes and numerators B. Coding algorithm (the x i are assumed to be correct). C. Decoding algorithm Note: The instructions referenced by (Z) are those to be used when the axes have entire lengths. The instructions referenced by (D) relate to networks of points having coordinates with odd and even sums. For the instructions referenced by (Z / D), NV a, b is replaced by NV p, a, b , V a, b by V p, a, b and maxNumer a, b is replaced by maxNumer p, a, b if the current network is D n0 or D n-1 . For D n , the variable parity is 0 for D n0 and 1 for D n1 . The REM2 (X) function calculates the remainder of dividing X by 2: it is equivalent to X - 2 INT (X / 2).
Claims (9)
- Process for the vector quantization of low bit rate vocoders, characterized in that it consists in determining the coding region by surrounding with an envelope the scatter of the points of the autocorrelation matrix of the area coefficients (LARi) of the filter for modelling the vocal tract, in determining (3) the principal axes of the volume of points inside the envelope, in projecting (4) the coefficients of the autocorrelation matrix onto the principal axes, in partitioning the interior volume of the envelope into elementary volumes and in coding the coefficients resulting from the projection on the basis of their coordinates in the space defined by the principal axes of the volume of the points inside the envelope, while allocating a unique code value to each set of coefficients resulting from the projection, this code value corresponding to the location of the elementary volume in which the set lies.
- Process according to Claim 1, characterized in that in order to code each point, it consists in partitioning the volume inside the envelope into slices perpendicular to a first principal axis direction from a first end slice to a slice preceding the last slice containing the point to be coded, while accumulating the numbers of points contained in each successive slice, and in adding to the number of points obtained the number of points remaining in the last slice so as to arrive at the point to be coded.
- Process according to either one of Claims 1 and 2, characterized in that the envelope surrounding the scatter of points is a hyperellipsoid centred at the barycentre of the scatter of points.
- Process according to either one of Claims 1 and 2, characterized in that the envelope surrounding the scatter of points is of pyramidal shape and is centred at the barycentre of the scatter of points.
- Process according to any one of Claims 2 to 4, characterized in that it consists in converting the actual values of the coordinates of the points to be coded into their nearest integer value.
- Process according to any one of Claims 2 to 4, characterized in that it consists in considering, for the coding, only half-integer coordinates.
- Process according to any one of Claims 2 to 4, characterized in that it consists in considering, for the coding, only coordinates with even or odd sums.
- Process according to any one of Claims 1 to 7, characterized in that it consists in adjusting the interior volume of the envelope by fractional coordinate axis lengths.
- Process according to Claim 8, characterized in that the fractional axis lengths have a common denominator.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR9510393 | 1995-09-05 | ||
FR9510393A FR2738383B1 (en) | 1995-09-05 | 1995-09-05 | METHOD FOR VECTOR QUANTIFICATION OF LOW FLOW VOCODERS |
PCT/FR1996/001347 WO1997009711A1 (en) | 1995-09-05 | 1996-09-04 | Vector quantization method for low bit rate vocoders |
Publications (2)
Publication Number | Publication Date |
---|---|
EP0850470A1 EP0850470A1 (en) | 1998-07-01 |
EP0850470B1 true EP0850470B1 (en) | 1999-06-16 |
Family
ID=9482279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP96930202A Expired - Lifetime EP0850470B1 (en) | 1995-09-05 | 1996-09-04 | Vector quantization method for low bit rate vocoders |
Country Status (5)
Country | Link |
---|---|
US (1) | US6016469A (en) |
EP (1) | EP0850470B1 (en) |
DE (1) | DE69602963T2 (en) |
FR (1) | FR2738383B1 (en) |
WO (1) | WO1997009711A1 (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2778041A1 (en) * | 1998-04-24 | 1999-10-29 | Thomson Csf | Power transmitter tube dynamic compensation method |
FR2788390B1 (en) | 1999-01-12 | 2003-05-30 | Thomson Csf | HIGH EFFICIENCY SHORTWAVE BROADCAST TRANSMITTER OPTIMIZED FOR DIGITAL TYPE TRANSMISSIONS |
FR2790343B1 (en) | 1999-02-26 | 2001-06-01 | Thomson Csf | SYSTEM FOR ESTIMATING THE COMPLEX GAIN OF A TRANSMISSION CHANNEL |
FR2799592B1 (en) | 1999-10-12 | 2003-09-26 | Thomson Csf | SIMPLE AND SYSTEMATIC CONSTRUCTION AND CODING METHOD OF LDPC CODES |
FR2815492B1 (en) * | 2000-10-13 | 2003-02-14 | Thomson Csf | BROADCASTING SYSTEM AND METHOD ENSURING CONTINUITY OF SERVICE |
FR2826208B1 (en) | 2001-06-19 | 2003-12-05 | Thales Sa | SYSTEM AND METHOD FOR TRANSMITTING AN AUDIO OR PHONY SIGNAL |
FR2826492B1 (en) * | 2001-06-22 | 2003-09-26 | Thales Sa | METHOD AND SYSTEM FOR PRE AND AFTER-PROCESSING OF AN AUDIO SIGNAL FOR TRANSMISSION ON A HIGHLY DISTURBED CHANNEL |
FR2832880B1 (en) * | 2001-11-23 | 2004-04-09 | Thales Sa | BLOCK EQUALIZATION METHOD AND DEVICE WITH ADAPTATION TO THE TRANSMISSION CHANNEL |
FR2832877B1 (en) * | 2001-11-23 | 2006-08-18 | Thales Sa | BLOCK EQUALIZATION METHOD AND DEVICE WITH IMPROVED INTERPOLATION |
FR2832879B1 (en) * | 2001-11-23 | 2006-08-18 | Thales Sa | METHOD AND EQUALIZATION BY DATA SEGMENTATIONS |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2283592A1 (en) * | 1974-08-27 | 1976-03-26 | Thomson Csf | SYNCHRONIZATION EXTRACTOR AND INFORMATION TRANSMISSION SYSTEM INCLUDING SUCH A DEVICE |
FR2431229A1 (en) * | 1978-07-12 | 1980-02-08 | Thomson Csf | DEVICE FOR DEMODULATION OF FREQUENCY-SHIFTED MODULATED SIGNALS AND TRANSMISSION SYSTEM INCLUDING SUCH A DEVICE |
FR2546001B1 (en) * | 1983-05-10 | 1985-07-05 | Thomson Csf | SIGNAL DEMODULATOR, CONSTANT ENVELOPE AND CONTINUOUS PHASE, ANGULARLY MODULATED BY A TRAIN OF BINARY SYMBOLS |
FR2604318B1 (en) * | 1986-09-23 | 1989-03-31 | Thomson Csf | SYMBOL SYNCHRONIZATION METHOD AND DEVICE AND THEIR APPLICATION TO THE SYMBOL DEMODULATION OF DIGITAL MESSAGES |
FR2605769B1 (en) * | 1986-10-22 | 1988-12-09 | Thomson Csf | POLYNOMIAL OPERATOR IN THE GALOIS BODIES AND DIGITAL SIGNAL PROCESSING PROCESSOR COMPRISING SUCH AN OPERATOR |
FR2605818B1 (en) * | 1986-10-27 | 1992-09-18 | Thomson Csf | ALGEBRICAL ENCODER-DECODER OF REED SOLOMON AND BCH BLOCK CODES, APPLICABLE TO DIGITAL TELECOMMUNICATIONS |
FR2607987B1 (en) * | 1986-12-05 | 1989-02-10 | Thomson Csf | MULTI-STATE MODULATION AND DEMODULATION METHOD AND DEVICE WITH ADJUSTABLE PROTECTION LEVEL |
US4907276A (en) * | 1988-04-05 | 1990-03-06 | The Dsp Group (Israel) Ltd. | Fast search method for vector quantizer communication and pattern recognition systems |
FR2631147B1 (en) * | 1988-05-04 | 1991-02-08 | Thomson Csf | METHOD AND DEVICE FOR DETECTING VOICE SIGNALS |
FR2631146B1 (en) * | 1988-05-04 | 1991-05-10 | Thomson Csf | METHOD AND DEVICE FOR ENCODING THE ENERGY OF THE VOICE SIGNAL IN VERY LOW FLOW VOCODERS |
FR2635420B1 (en) * | 1988-07-19 | 1990-10-19 | Thomson Csf | METHOD AND DEVICE FOR DEMODULATING SIGNALS WITH A CONSTANT ENVELOPE AND A CONTINUOUS PHASE ANGULARLY MODULATED BY A TRAIN OF BINARY SYMBOLS, TOLERATING THE FREQUENCY DERIVATIVES |
FR2654542B1 (en) * | 1989-11-14 | 1992-01-17 | Thomson Csf | METHOD AND DEVICE FOR CODING PREDICTOR FILTERS FOR VERY LOW FLOW VOCODERS. |
FR2670313A1 (en) * | 1990-12-11 | 1992-06-12 | Thomson Csf | METHOD AND DEVICE FOR EVALUATING THE PERIODICITY AND VOICE SIGNAL VOICE IN VOCODERS AT VERY LOW SPEED. |
US5182773A (en) * | 1991-03-22 | 1993-01-26 | International Business Machines Corporation | Speaker-independent label coding apparatus |
FR2678407A1 (en) * | 1991-06-28 | 1992-12-31 | Philips Electronique Lab | METHOD AND DEVICE WITH NEURAL NETWORK FOR CLASSIFYING DATA, AND SIGNATURE AUTHENTICATION APPARATUS. |
FR2690551B1 (en) * | 1991-10-15 | 1994-06-03 | Thomson Csf | METHOD FOR QUANTIFYING A PREDICTOR FILTER FOR A VERY LOW FLOW VOCODER. |
JP3163185B2 (en) * | 1992-11-27 | 2001-05-08 | 株式会社東芝 | Pattern recognition device and pattern recognition method |
SG47025A1 (en) * | 1993-03-26 | 1998-03-20 | Motorola Inc | Vector quantizer method and apparatus |
US5715367A (en) * | 1995-01-23 | 1998-02-03 | Dragon Systems, Inc. | Apparatuses and methods for developing and using models for speech recognition |
-
1995
- 1995-09-05 FR FR9510393A patent/FR2738383B1/en not_active Expired - Fee Related
-
1996
- 1996-09-04 DE DE69602963T patent/DE69602963T2/en not_active Expired - Lifetime
- 1996-09-04 EP EP96930202A patent/EP0850470B1/en not_active Expired - Lifetime
- 1996-09-04 US US09/029,254 patent/US6016469A/en not_active Expired - Fee Related
- 1996-09-04 WO PCT/FR1996/001347 patent/WO1997009711A1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
WO1997009711A1 (en) | 1997-03-13 |
DE69602963T2 (en) | 1999-11-04 |
EP0850470A1 (en) | 1998-07-01 |
US6016469A (en) | 2000-01-18 |
DE69602963D1 (en) | 1999-07-22 |
FR2738383B1 (en) | 1997-10-03 |
FR2738383A1 (en) | 1997-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0782128B1 (en) | Method of analysing by linear prediction an audio frequency signal, and its application to a method of coding and decoding an audio frequency signal | |
EP1709743A1 (en) | Dimensional vector and variable resolution quantisation | |
EP0850470B1 (en) | Vector quantization method for low bit rate vocoders | |
EP1692689B1 (en) | Optimized multiple coding method | |
EP0542585B1 (en) | Predictive filter quantification method for low bit rate vocoder | |
EP0801790B1 (en) | Speech coding method using synthesis analysis | |
EP0511095B1 (en) | Coding and decoding method and apparatus for a digital signal | |
EP1581930A1 (en) | Method for encoding and decoding audio at a variable rate | |
EP0721180B1 (en) | Analysis by synthesis speech coding | |
CA2725799C (en) | Method for treating digital data | |
WO2023165946A1 (en) | Optimised encoding and decoding of an audio signal using a neural network-based autoencoder | |
JP3237178B2 (en) | Encoding method and decoding method | |
CA2725809A1 (en) | Method for counting vectors in regular point networks | |
WO2011144863A1 (en) | Encoding with noise shaping in a hierarchical encoder | |
EP1192619B1 (en) | Audio coding and decoding by interpolation | |
WO2009050409A1 (en) | Method, module and computer software with quantification based on gerzon vectors | |
EP1194923B1 (en) | Methods and device for audio analysis and synthesis | |
WO1991017541A1 (en) | Method and device for low-speed speech coding | |
EP1192621B1 (en) | Audio encoding with harmonic components | |
FR2737360A1 (en) | Audio digital signal coding method of successive sample blocks - using spectral analysis to select vector dictionary for each sample block and allocating vector and scalar quantisation bits | |
WO2001003119A1 (en) | Audio encoding and decoding including non harmonic components of the audio signal | |
WO2013135997A1 (en) | Modifying the spectral characteristics of a linear prediction filter of a digital audio signal represented by the lsf or isf coefficients thereof | |
WO2001003117A1 (en) | Audio coding with adaptive liftering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 19980223 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): BE CH DE DK ES FI FR GB IT LI NL SE |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
17Q | First examination report despatched |
Effective date: 19980818 |
|
GRAG | Despatch of communication of intention to grant |
Free format text: ORIGINAL CODE: EPIDOS AGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAH | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOS IGRA |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): BE CH DE DK ES FI FR GB IT LI NL SE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SE Free format text: THE PATENT HAS BEEN ANNULLED BY A DECISION OF A NATIONAL AUTHORITY Effective date: 19990616 Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 19990616 Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRE;WARNING: LAPSES OF ITALIAN PATENTS WITH EFFECTIVE DATE BEFORE 2007 MAY HAVE OCCURRED AT ANY TIME BEFORE 2007. THE CORRECT EFFECTIVE DATE MAY BE DIFFERENT FROM THE ONE RECORDED.SCRIBED TIME-LIMIT Effective date: 19990616 Ref country code: FI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 19990616 Ref country code: ES Free format text: THE PATENT HAS BEEN ANNULLED BY A DECISION OF A NATIONAL AUTHORITY Effective date: 19990616 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REF | Corresponds to: |
Ref document number: 69602963 Country of ref document: DE Date of ref document: 19990722 |
|
GBT | Gb: translation of ep patent filed (gb section 77(6)(a)/1977) |
Effective date: 19990802 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 19990916 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 19990930 |
|
NLV1 | Nl: lapsed or annulled due to failure to fulfill the requirements of art. 29p and 29m of the patents act | ||
BERE | Be: lapsed |
Owner name: THOMSON CSF Effective date: 19990930 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
26N | No opposition filed | ||
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20000930 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20000930 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: IF02 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: CD |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20090902 Year of fee payment: 14 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20090827 Year of fee payment: 14 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20091012 Year of fee payment: 14 |
|
GBPC | Gb: european patent ceased through non-payment of renewal fee |
Effective date: 20100904 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: ST Effective date: 20110531 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R119 Ref document number: 69602963 Country of ref document: DE Effective date: 20110401 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: FR Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20100930 Ref country code: DE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20110401 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GB Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20100904 |