WO2007107659A2 - Quantification vectorielle contrainte - Google Patents

Quantification vectorielle contrainte Download PDF

Info

Publication number
WO2007107659A2
WO2007107659A2 PCT/FR2007/050908 FR2007050908W WO2007107659A2 WO 2007107659 A2 WO2007107659 A2 WO 2007107659A2 FR 2007050908 W FR2007050908 W FR 2007050908W WO 2007107659 A2 WO2007107659 A2 WO 2007107659A2
Authority
WO
WIPO (PCT)
Prior art keywords
vectors
dictionary
signal
vector
code vectors
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.)
Ceased
Application number
PCT/FR2007/050908
Other languages
English (en)
Other versions
WO2007107659A3 (fr
Inventor
Stéphane RAGOT
Cyril Guillaume
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Priority to JP2009500891A priority Critical patent/JP4981122B2/ja
Priority to KR1020087025757A priority patent/KR101370018B1/ko
Priority to CN2007800099157A priority patent/CN101467459B/zh
Priority to EP07731724A priority patent/EP2005756A2/fr
Priority to US12/225,312 priority patent/US8285544B2/en
Publication of WO2007107659A2 publication Critical patent/WO2007107659A2/fr
Anticipated expiration legal-status Critical
Publication of WO2007107659A3 publication Critical patent/WO2007107659A3/fr
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3082Vector coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/94Vector quantisation

Definitions

  • the present invention relates to quantization dictionaries for coding and decoding signals such as audio, video signals, and more generally multimedia signals, for storage or transmission.
  • the present invention proposes a solution to the problem of unstructured statistical vector quantization integrating a priori knowledge of a distortion threshold.
  • QV vector quantization
  • This finite set is called the reproduction alphabet or dictionary or directory, and its elements are code vectors, code words, exit points, or representatives.
  • vector quantization a block of n samples of a signal is treated as a vector of dimension n.
  • the vector is encoded by choosing, in a finite dictionary, the code vector that "most" resembles it. For example, an exhaustive search is made among all elements of the dictionary to select the dictionary element that minimizes a measure of distance between that element and the input vector.
  • vector quantization dictionaries are designed from the analysis of samples of the signal to be coded forming a training sequence, using statistical methods such as generalized Lloyd-Max algorithms (GLA: Generalized Lloyd-Max Algorithm) or LBG (for Linde, Buzo and Gray).
  • GLA Generalized Lloyd-Max Algorithm
  • LBG for Linde, Buzo and Gray.
  • each iteration includes a step of classifying the training vectors to build quantization regions of the training sequence according to the rule of closest neighbor, and a step of improving the dictionary by replacing the old code vectors by the centroids of the regions, according to the so-called centroid rule.
  • dictionaries, or statistical vector quantizers thus obtained have no particular structure, which makes their exploration expensive in calculations and greedy in memory.
  • the use, particularly in real time, of such dictionaries obtained by conventional statistical vector quantization is often limited to small coding and / or low bit rates of the order of 4 to 10 bits per vector.
  • Algebraic vector quantization uses strongly structured dictionaries, derived from regular networks of points or error correcting codes.
  • a simple example of a regular network is the cubic network, formed for example of a set of points with integer coordinates. Thanks to the algebraic properties of their dictionaries, the algebraic vector quantizers are simple to implement and do not have to be stored in memory.
  • One of the main parameters of a regular network is its minimum quadratic distance between two points on which the code vectors are placed.
  • the dictionary is generally chosen as the intersection of the network with a regular polytope, such as a hypercube or hypersphere, or with its surface. The points outside this intersection are then outliers. For a given bit rate, that is to say a fixed number of points of the intersection, limiting the number of outliers leads to increasing the minimum distance between two code vectors.
  • algebraic vector quantizers are less complex to implement and require less memory, they are only optimal for encoding signals with uniform distribution. It should also be noted that the operations of indexing the code vectors, or numbering, and the reverse decoding operations require more calculations than in the case of statistical vector quantizers, for which these operations are performed by simple reads of tables.
  • Another form of vector quantization combines algebraic quantization and statistical quantization.
  • This quantization comprises two quantifiers.
  • the first high-resolution, or fine-resolution, quantizer is generally well structured and uncomplicated to implement, while the second, coarse-resolution quantizer is an unstructured statistical vector quantizer.
  • the first floor serves as a pre-calculation to speed up search in the second floor.
  • the quantizer "Fine-coarse” suffers from the same disadvantages as those indicated above for the statistical vector quantization. Indeed, the link between the fine-resolution quantizer and the quantizer Coarse resolution is a simple look-up table and therefore, even if the high-resolution vector quantizer is a finite subset of a regular network with a minimal distance between code vectors, this constraint is not imposed on the vector quantizer with coarse resolution that is constructed by conventional techniques of statistical vector quantization.
  • the invention has the particular advantage of defining a method for obtaining a dictionary by statistical vector quantization adapted to the signal to be encoded and taking into account the perceptual thresholds.
  • the subject of the invention is a method for generating a vector quantization dictionary of a signal, of the type comprising a step of statistical analysis of training vectors representative of the signal determining a finite set of vectors of a signal. code representing said drive vectors, characterized in that the method further comprises a step of modifying said finite set of code vectors to impose a minimum distance between the modified code vectors two by two, these modified vectors forming said dictionary.
  • the invention results in a dictionary adapted to the signal because of a step of statistical analysis of the drive vectors but with a minimum distance between the code vectors, which makes it possible to take into account the fact that vectors too close code are indistinguishable at the level of perception.
  • the statistical analysis step comprises a sub-step of creating an initial dictionary, a substep of classification of the training vectors from the initial dictionary for forming quantization regions and a sub-step for determining a centroid for each region, said centroids being said code vectors.
  • said substep of creating an initial dictionary is made from said training vectors and comprises replacing each training vector with a rounded vector chosen on a regular network of points and the selective elimination of vectors. rounded according to their frequency of appearance.
  • the statistical analysis step further comprises a sub-step of calculating the distortion of the initial dictionary and a substep of comparing this distortion with a tolerance threshold, said statistical analysis step being repeated if said comparison is negative.
  • the modifying step includes replacing each of said code vectors with a neighbor code vector selected on a regular network of points.
  • the method further comprises a step of eliminating duplicates among said modified code vectors, which has the effect of reducing the size of the dictionary.
  • said duplicate elimination step includes a sub-step of searching for duplicates by comparing the modified code vectors with each other and a sub-step of deleting duplicates.
  • the method comprises a step of merging the modified code vectors with the drive vectors having at least said minimum distance between them and with said modified code vectors in order to improve the distribution of the code vectors of the dictionary.
  • this melting step includes a substep of replacing each training vector with a rounded vector chosen over a regular network of points and a substep of combining modified code vectors and rounded training vectors.
  • the rounded training vectors that are combined with the modified code vectors also have a minimum distance of two to two.
  • said merging step further comprises scheduling the rounded training vectors according to their occurrence frequency and selecting a finite number of these vectors to combine them with the modified code vectors.
  • said combining sub-step includes adding to said modified code vectors a finite number of rounded training vectors separate from said modified code vectors.
  • the regular network of points has a step corresponding to a sensitivity level of a recipient receiver of said signal, which makes it possible to impose a minimum distance between two code vectors corresponding to a perceptual reality.
  • the method further comprises an optimization phase of said dictionary.
  • the optimization phase comprises a step of calculating the distortion of the dictionary and a step of comparing this distortion with a tolerance threshold, said steps of statistical analysis and modification being repeated if said comparison is negative.
  • the optimization phase comprises at least one iteration of the method implemented from the dictionary formed of said modified code vectors.
  • the subject of the invention is also a computer program comprising code instructions for implementing the method as mentioned above, as well as a device comprising means such as, for example, a working memory and a device. processor, to execute this computer program and thus generate a vector quantization dictionary within the meaning of the invention.
  • the present invention also relates to encoding and decoding methods, and a decoder using a dictionary obtained according to the invention.
  • FIG. 1 is a flowchart of the method of the invention
  • FIGS. 2 and 3 are representations of a dictionary at different stages of the method of the invention.
  • FIG. 4 is a flowchart of an optimization method
  • FIGS. 5 and 6 are block diagrams of an encoder and a decoder implementing the dictionary obtained by the method of the invention.
  • this method is implemented on training vectors representative of a digitized audiophonic signal such as a speech signal.
  • This method firstly comprises a step 10 of statistical analysis of the training vectors.
  • step 10 corresponds to the application of the generalized Lloyd-Max algorithm.
  • Step 10 begins with a sub-step 12 of creating an initial dictionary marked CO.
  • This dictionary is created from the analysis of the training vectors or by other means known per se such as a random selection of a finite number of the training vectors, or so-called “splitting" algorithms, "LBG algorithm”, or other.
  • This initial dictionary CO is of a determined size.
  • the method then comprises a substep 14 for initializing common variables and in particular for initializing an ITER variable corresponding to an iteration number and a DITER variable corresponding to a value of distortion.
  • Step 10 then comprises a substep 16 of classification of the training vectors with respect to the initial dictionary CO to form classification regions and a sub-step 18 of determining a centroid for each region. More precisely, during the sub-step 16 of classification, for each training vector, the whole of the current dictionary, that is to say of the CO dictionary modified by successive iterations, is scanned, and one chooses the dictionary code vector minimizing quadratic error with drive vector. Sub-step 18 is performed as follows: for each class or region Vi, the new centroids are calculated.
  • Q () is the quantization function
  • yi is a code vector of the dictionary.
  • a distortion value for the current dictionary is calculated.
  • the drive vectors are quantized with the current dictionary provided by the preceding steps.
  • the quadratic error between the drive vectors and their quantized version is the distortion measure.
  • the substeps 16, 18 and 20 are then repeated iteratively until a maximum number of ITERMAX iterations is reached or the distortion is less than a tolerance threshold, the tests being carried out at a later time. sub-step 22.
  • this step 10 in particular with the repetition of substeps 16, 18, 20 and 22, corresponds to the application of the generalized Lloyd-Max algorithm.
  • the method thus delivers a CITER dictionary formed by an iterative statistical analysis of the training vectors.
  • a two-dimensional representation of the CITER dictionary is given in Figure 2 in which the code vectors are represented by a scatter plot.
  • the gray dots correspond to the training vectors or vectors of the signal and the black dots to the vectors of the dictionary. It can be seen that the distribution of the CITER dictionary vectors follows the density of the drive vectors and that many vectors are close to each other.
  • the method then comprises a step of modifying the CITER dictionary to impose a minimum distance between the two-to-two code vectors.
  • This modification step comprises the replacement of each of the code vectors by a neighboring vector chosen on a regular network of points such as a Cartesian grid. These modified vectors are also called rounded vectors.
  • the neighboring vector chosen is the vector placed on the regular network closest to the code vector. Depending on the embodiments and types of vectors, criteria other than the distance between the vectors may be retained to determine the neighboring vector of a code vector.
  • step 30 delivers a new dictionary C obtained by rounding the CITER dictionary obtained in step 10, on the regular network.
  • the method then comprises a step 32 of eliminating duplicates among the modified code vectors forming the dictionary C.
  • Step 32 comprises a substep of searching for duplicates performed on the set of dictionary C by comparing each of the vectors code to the other code vectors of the dictionary and then a sub-step of deleting duplicates.
  • the dictionary C may comprise fewer code vectors than the CITER dictionary.
  • the method then comprises a step 34 of melting the modified dictionary with the rounded training vectors in order to complete the dictionary if its size has been reduced.
  • This step 34 begins with a substep 36 of replacing each training vector with a neighboring vector, called a rounded training vector, chosen on a regular network of points.
  • a rounded training vector chosen on a regular network of points.
  • the rounded training vectors are then ordered according to their frequency of occurrence in descending order, advantageously after eliminating the duplicates.
  • the method then comprises a sub-step 38 of combining the dictionary C of modified code vectors with the rounded training vectors.
  • the dictionary C is completed by the addition of the rounded training vectors not present in the dictionary, advantageously following the order of decreasing occurrence frequencies.
  • the dictionary C is constructed in such a way that a minimum distance is guaranteed between the centroids forming the code vectors of the dictionary so that it is called constraint
  • the parameters to be quantified are taken from a logarithmic scale, a constant step in this domain is equivalent to a logarithmic step in the field of energies, which corresponds to the sensitivity of the human ear.
  • FIG. 3 shows the dictionary C "in the form of a two-dimensional point cloud. It will be noted in FIG. 3 that the dictionary C" obtained according to the method described above covers a large area of the drive vectors. and has a minimum distance between the two-to-two code vectors.
  • the method further comprises a phase 40 for optimizing the dictionary C "whose flowchart is shown with reference to FIG. 4.
  • This optimization phase consists, in the embodiment described, in taking over the same processing steps by applying them to the code vectors of the dictionary C.sub.H However, in the optimization phase described, at each iteration, the classification , the determination of the centroids, the modification of the code vectors and the elimination of the duplicates are carried out.
  • the phase 40 begins with a classification step 42 applied to the code vectors of the dictionary C "followed by a step 44 of determining the centroids. These steps 42 and 44 are similar to the steps 16 and 18 described above.
  • the optimization phase comprises a step 50 of measuring the distortion and a test 52 to determine if the distortion is less than a tolerance threshold or if a maximum number of iterations has been reached. Such an optimization phase makes it possible to further improve the quality of the dictionary.
  • the initial dictionary is created by pruning rounded training vectors on the regular network. That is to say, the creation of this initial dictionary comprises the replacement of the drive vectors by neighboring vectors selected on the regular network and then the selective elimination, according to their frequency of appearance, of the vectors of rounded training.
  • the optimization phase consists in repeating the method of FIG. 1 identically, using as initial dictionary the dictionary obtained previously.
  • the melting step is implemented between the modified code vectors and the unrounded training vectors.
  • the drive vectors used are chosen to ensure the maintenance of the minimum distance between the code vectors of the dictionary.
  • the method of generating a dictionary as described above can be implemented through a program for any type of computer and computer.
  • encoders and decoders are part of a global hierarchical subband audio coding and decoding system that operates at three possible bit rates: 8, 12 or 13.65 Kbit / s.
  • the encoder always operates at the maximum rate of 13.65 kbit / s, while the decoder can receive the heart at 8 kbit / s, and one or two enhancement layers, respectively 12 or 13.65 kbit / s.
  • the encoder 60 shown in FIG. 5 comprises two channels receiving the input signal.
  • the first channel comprises a filter unit 62 able to extract a low band BF from 0 to 4000 Hz of the signal.
  • the second channel comprises a similar unit 64 capable of extracting a high band HF spreading from 4000 to 8000Hz.
  • These units 62 and 64 comprise, for example, filters and decimation modules made in a conventional manner.
  • the low band signal is then coded according to a conventional CELP coding such as a CELP encode of 8 to 12 Kbps in a coding unit 66.
  • a conventional CELP coding such as a CELP encode of 8 to 12 Kbps in a coding unit 66.
  • the high band signal is coded in particular by using a vector quantization in a unit 70.
  • the unit 70 is a parametric coding unit in which the coded parameters are time and frequency envelopes of the corresponding signal respectively. to the root mean square (rms) value per subframe or subband of the high band signal. These envelopes are passed in a logarithmic domain as follows: where ⁇ is the value of the envelope.
  • parametric analysis modules 72 and 74 For each frame of the input signal of the time envelope and frequency envelope parameters are extracted in parametric analysis modules 72 and 74. These parameters in the logarithmic domain are then jointly quantized in a vector quantization module 76. using dictionaries generated according to the invention.
  • the coding of the parameters is carried out by a vector quantization called Cartesian product with suppressed average.
  • the mean ⁇ of the time envelope vector is calculated and then this average is quantized.
  • the quantized mean is noted ⁇ q.
  • the temporal envelope and frequency envelope vectors are then centered on ⁇ q before being separately quantized and multiplexed.
  • the two channels HF and BF are then multiplexed in a multiplexer 80 to form the output signal of the encoder 60.
  • the corresponding decoder 100 is described with reference to FIG.
  • This decoder firstly comprises a demultiplexer 102 separating the corresponding channels at the low band and high band portions of the signal.
  • the channel corresponding to the low-band signal is introduced into a CELP decoder 104.
  • This CELP decoder also provides excitation parameters calculated in a conventional manner per se.
  • the channel corresponding to the high band signal is introduced into a decoding unit 1 10 using in particular a reverse vector quantization 1 12.
  • This module 1 12 is supplied to a temporal shaping module 114.
  • This module 1 14 also receives a synthetic excitation signal generated by a module 116 from the CELP excitation parameters supplied by the decoder CELP 104
  • the unit 1 10 finally comprises a frequency shaping module
  • the decoding is carried out by denormalization of the temporal and frequency envelopes dequantized by the dequantized average.
  • the two paths are processed in processing modules 120 and 122 before being recombined with each other in a mixer 124.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Ce procédé de génération d'un dictionnaire de quantification vectorielle d'un signal est du type comportant une étape (10) d'analyse statistique de vecteurs d'entraînement représentatifs du signal déterminant un ensemble fini de vecteurs de code (CITER) représentants lesdits vecteurs d'entraînement. Il est caractérisé en ce qu'il comporte en outre une étape (30) de modification dudit ensemble fini de vecteurs de code pour imposer une distance minimale entre les vecteurs de code modifiés deux à deux, l'ensemble de ces vecteurs de code modifiés formant ledit dictionnaire.

Description

QUANTIFICATION VECTORIELLE CONTRAINTE
La présente invention concerne les dictionnaires de quantification pour le codage et le décodage de signaux tels que les signaux audio, vidéo, et plus généralement les signaux multimédia, en vue de leur stockage ou de leur transmission.
Plus précisément, la présente invention propose une solution au problème de la quantification vectorielle statistique non-structurée intégrant la connaissance a priori d'un seuil de distorsion.
Une solution très répandue pour le traitement des signaux notamment numériques est la quantification vectorielle (QV) qui, de manière générale, représente un vecteur d'entrée par un vecteur de même dimension choisi dans un ensemble fini. Cet ensemble fini est appelé alphabet de reproduction ou dictionnaire ou encore répertoire, et ses éléments des vecteurs de code, des mots de code, des points de sortie ou des représentants. En quantification vectorielle, un bloc de n échantillons d'un signal est traité comme un vecteur de dimension n. Le vecteur est codé en choisissant, dans un dictionnaire fini, le vecteur de code qui lui « ressemble » le plus. Par exemple, une recherche exhaustive est faite parmi tous les éléments du dictionnaire pour sélectionner l'élément du dictionnaire qui minimise une mesure de distance entre cet élément et le vecteur d'entrée.
En général, les dictionnaires de quantification vectorielle sont conçus à partir de l'analyse d'échantillons du signal à coder formant une séquence d'entraînement, à l'aide de méthodes statistiques telles que les algorithmes de Lloyd-Max généralisé (GLA: Generalized Lloyd-Max Algorithm) ou LBG (pour Linde, Buzo et Gray). Un tel type d'algorithme est décrit par exemple dans l'ouvrage Gersho A., Gray R. M, « Vector Quantization and Signal Compression », Kluwer Académie Publishers, 1992.
A partir de la séquence d'entraînement, et d'un dictionnaire initial, le dictionnaire est construit de façon itérative. Chaque itération comprend une étape de classification des vecteurs d'entraînement pour construire des régions de quantification de la séquence d'entraînement selon la règle du plus proche voisin, et une étape d'amélioration du dictionnaire en remplaçant les anciens vecteurs de code par les centroïdes des régions, selon la règle dite des centroïdes.
Pour éviter la convergence vers un minimum local de cet algorithme itératif déterministe, des variantes dites de relaxation stochastique (SKA: Stochastic K-means algorithm) ont été proposées en introduisant une part d'aléatoire dans l'étape de construction des centroïdes et/ou dans celle de construction des classes. Une telle modification est décrite par exemple dans la publication Kovesi, B.; Saoudi, S.; Boucher, J. M.; Reguly, Z., « A fast robust stochastic algorithm for vector quantizer design for nonstationary channels », IEEE International Conférence on Acoustics, Speech, and Signal Processing, Vol. 1 , pp. 269-272, 1995.
Les dictionnaires, ou quantificateurs vectoriels statistiques, ainsi obtenus ne possèdent aucune structure particulière, ce qui rend leur exploration coûteuse en calculs et gourmande en mémoire. De fait, l'utilisation, notamment en temps réel, de tels dictionnaires obtenus par quantification vectorielle statistique classique est souvent limitée à des codages de faible dimension et/ou des bas débits de l'ordre de 4 à 10 bits par vecteur.
De manière générale, la quantification vectorielle statistique exploite la forme de la distribution de probabilité du signal à traiter et cela se retrouve dans la distribution des vecteurs de code du dictionnaire d'un quantificateur vectoriel statistique. Les algorithmes de construction utilisés dans la quantification vectorielle visent la minimisation de la distorsion moyenne; ils ont donc tendance à placer beaucoup de vecteurs de code dans les zones à forte densité. Cette concentration des centroïdes dans les zones de forte densité du signal à coder n'est pas toujours pertinente d'un point de vue perceptuel. Ainsi, il se peut que deux vecteurs de code d'une zone de forte densité soient si proches que la distorsion générée par la substitution de l'un par l'autre ne soit pas perceptible. De plus, pour des quantificateurs à faible résolution, c'est-à-dire avec peu de vecteurs de code, cette concentration se fait au détriment de zones moins denses de la distribution de probabilité du signal à coder qui sont mal représentées, c'est-à-dire mal codées.
Pour s'affranchir des contraintes de taille et de dimension, plusieurs variantes de quantification vectorielle statistiques furent développées, notamment pour tenter de remédier à l'absence de structure du dictionnaire et ainsi réduire la complexité au détriment de la qualité. Cependant, le compromis performance-complexité est amélioré, ce qui permet d'accroître la plage des résolutions et/ou des dimensions sur laquelle la quantification vectorielle peut être appliquée efficacement. Beaucoup de schémas de quantificateurs vectoriels contraints ont été proposés dans la littérature. On peut notamment citer le quantificateur vectoriel en arbre, le quantificateur vectoriel à étages multiples, le quantificateur vectoriel « produit cartésien » ou encore le quantificateur vectoriel « gain/orientation », cas particulier du quantificateur vectoriel produit cartésien. Comme en quantification vectorielle non-structurée, les dictionnaires obtenus par des méthodes contraintes présentent toujours une quantité importante de vecteurs de code proches les uns des autres et notamment de vecteurs de code dont les différences sont non discernables par le récepteur. Ceci conduit à une qualité non optimale. Une autre approche, appelée quantification vectorielle algébrique, a aussi été proposée. La quantification vectorielle algébrique utilise des dictionnaires fortement structurés, issus de réseaux réguliers de points ou des codes correcteurs d'erreur. Un exemple simple de réseau régulier est le réseau cubique, formé par exemple d'un ensemble de points à coordonnées entières. Grâce aux propriétés algébriques de leurs dictionnaires, les quantificateurs vectoriels algébriques sont simples à mettre en œuvre et n'ont pas à être stockés en mémoire. L'exploitation de la structure régulière de ces dictionnaires permet le développement d'algorithmes de recherche optimaux et rapides et de mécanismes pour associer l'index à un vecteur de code correspondant, par exemple par une formule. Les techniques de quantification vectorielle algébrique développées dans l'état de l'art aboutissent à des dictionnaires qui sont des sous-ensembles de réseaux réguliers.
Un des paramètres principaux d'un réseau régulier est sa distance quadratique minimale entre deux points sur lesquels sont placés les vecteurs de code. Pour faciliter l'indexation, le dictionnaire est généralement choisi comme l'intersection du réseau avec un polytope régulier, tel qu'un hypercube ou une hypersphère, ou avec sa surface. Les points en dehors de cette intersection sont alors des outliers. Pour un débit donné, c'est-à-dire un nombre fixé de points de l'intersection, limiter le nombre d'outliers conduit à augmenter la distance minimale entre deux vecteurs de code.
Si les quantificateurs vectoriels algébriques sont moins complexes à mettre en oeuvre et nécessitent moins de mémoire, ils ne sont optimaux que pour coder des signaux avec une distribution uniforme. II faut aussi noter que les opérations d'indexation des vecteurs de code, ou numérotage, et les opérations inverses de décodage nécessitent plus de calculs que dans le cas des quantificateurs vectoriels statistiques, pour lesquels ces opérations sont effectuées par de simples lectures de tables.
Enfin, une autre forme de quantification vectorielle combine la quantification algébrique et la quantification statistique. C'est le cas du quantificateur vectoriel fin-grossier « Fine-Coarse Vector Quantization » décrit dans la publication « Moayeri, N., Neuhoff D. L, ; Stark, W.E, « Fine-coarse vector quantization » IEEE Trans. on Information Theory, Vol. 37, Issue 4, pp. 1503-1515, JuIy 1991 ». Cette quantification comprend deux quantificateurs. Le premier quantificateur à haute résolution, ou à résolution fine, est généralement bien structuré et peu complexe à mettre en œuvre tandis que le deuxième, à résolution grossière est un quantificateur vectoriel statistique non structuré. Le premier étage sert de pré-calcul pour accélérer la recherche dans le second étage. Le quantificateur « Fine-coarse » souffre des mêmes inconvénients que ceux indiqués précédemment pour la quantification vectorielle statistique. En effet, le lien entre le quantificateur à résolution fine et le quantificateur à résolution grossière est une simple table de correspondance et donc, même si le quantificateur vectoriel à haute résolution est un sous-ensemble fini d'un réseau régulier avec une distance minimale entre les vecteurs de code, cette contrainte n'est pas imposée au quantificateur vectoriel à résolution grossière qui est construit par les techniques classiques de quantification vectorielle statistique.
Il apparaît donc que la quantification vectorielle statistique aboutit à des dictionnaires dont la répartition des points est mal adaptée, une partie de ces points étant redondants car indiscernables au niveau du récepteur. Inversement, la quantification vectorielle algébrique aboutit à des dictionnaires dont la distribution n'est adaptée que pour des signaux à distribution de probabilité uniforme et aboutit à dégrader la qualité du codage pour les autres signaux.
L'invention a notamment pour avantage de définir un procédé d'obtention d'un dictionnaire par quantification vectorielle statistique adapté au signal à coder et prenant en compte les seuils perceptuels.
A cet effet, l'invention a pour objet un procédé de génération d'un dictionnaire de quantification vectorielle d'un signal, du type comportant une étape d'analyse statistique de vecteurs d'entraînement représentatifs du signal déterminant un ensemble fini de vecteurs de code représentants lesdits vecteurs d'entraînement, caractérisé en ce que le procédé comporte en outre une étape de modification dudit ensemble fini de vecteurs de code pour imposer une distance minimale entre les vecteurs de code modifiés deux à deux, ces vecteurs modifiés formant ledit dictionnaire. Ainsi, l'invention aboutit à un dictionnaire adapté au signal du fait d'une étape d'analyse statistique des vecteurs d'entraînement mais avec une distance minimale entre les vecteurs de code, ce qui permet de prendre en compte le fait que des vecteurs de code trop proches sont indiscernables au niveau de la perception. Selon d'autres caractéristiques de l'invention, l'étape d'analyse statistique comprend une sous-étape de création d'un dictionnaire initial, une sous-étape de classification des vecteurs d'entraînement à partir du dictionnaire initial pour former des régions de quantification et une sous-étape de détermination d'un centroïde pour chaque région, lesdits centroïdes étant lesdits vecteurs de code. Un tel mode de réalisation correspond à une mise en œuvre particulière d'analyse statistique. Avantageusement, ladite sous-étape de création d'un dictionnaire initial est réalisée à partir desdits vecteurs d'entraînement et comprend le remplacement de chaque vecteur d'entraînement par un vecteur arrondi choisi sur un réseau régulier de points et l'élimination sélective de vecteurs arrondis en fonction de leur fréquence d'apparition. Dans un mode particulier de réalisation de l'invention, l'étape d'analyse statistique comporte en outre une sous-étape de calcul de la distorsion du dictionnaire initial et une sous-étape de comparaison de cette distorsion avec un seuil de tolérance, ladite étape d'analyse statistique étant répétée si ladite comparaison est négative. Une telle approche itérative permet d'obtenir un dictionnaire initial de meilleure qualité.
Dans une variante, l'étape de modification comprend le remplacement de chacun desdits vecteurs de code par un vecteur de code voisin choisi sur un réseau régulier de points. Un tel mode de réalisation permet d'assurer une distance minimale entre les vecteurs de code. Avantageusement, le procédé comporte en outre une étape d'élimination des doublons parmi lesdits vecteurs de code modifiés ce qui a pour conséquence de réduire la taille du dictionnaire.
Dans un mode de réalisation particulier, ladite étape d'élimination des doublons comporte une sous-étape de recherche des doublons par comparaison des vecteurs de code modifiés entre eux et une sous-étape de suppression des doublons.
Avantageusement, le procédé comporte une étape de fusion des vecteurs de code modifiés avec les vecteurs d'entraînement présentant au moins ladite distance minimale entre eux et avec lesdits vecteurs de code modifiés afin d'améliorer la répartition des vecteurs de code du dictionnaire.
Dans un mode de réalisation particulier, cette étape de fusion comporte une sous-étape de remplacement de chaque vecteur d'entraînement par un vecteur arrondi choisi sur un réseau régulier de points et une sous-étape de combinaison des vecteurs de code modifiés et des vecteurs d'entraînement arrondis. Ainsi, les vecteurs d'entraînement arrondi qui sont combinés aux vecteurs de code modifiés, présentent également une distance minimale deux à deux.
Dans encore une variante, ladite étape de fusion comprend en outre l'ordonnancement des vecteurs d'entraînement arrondis selon leur fréquence d'apparition et la sélection d'un nombre fini de ces vecteurs pour les combiner avec les vecteurs de code modifiés. Dans un mode de réalisation, ladite sous-étape de combinaison comprend l'adjonction auxdits vecteurs de code modifiés d'un nombre fini de vecteurs d'entraînement arrondis distincts desdits vecteurs de code modifiés.
Dans une variante, le réseau régulier de points a un pas correspondant à un niveau de sensibilité d'un récepteur destinataire dudit signal, ce qui permet d'imposer une distance minimale entre deux vecteurs de code correspondant à une réalité perceptuelle.
Dans encore un autre mode de réalisation, le procédé comporte en outre une phase d'optimisation dudit dictionnaire.
Par exemple, la phase d'optimisation comporte une étape de calcul de la distorsion du dictionnaire et une étape de comparaison de cette distorsion avec un seuil de tolérance, lesdites étapes d'analyse statistique et de modification étant répétées si ladite comparaison est négative.
Alternativement, la phase d'optimisation comporte au moins une itération du procédé mis en œuvre à partir du dictionnaire formé desdits vecteurs de code modifiés.
Par ailleurs, l'invention a également pour objet un programme d'ordinateur comportant des instructions de code pour mettre en œuvre le procédé tel que mentionné précédemment, ainsi qu'un dispositif comportant des moyens tels que, par exemple, une mémoire travail et un processeur, pour exécuter ce programme d'ordinateur et générer ainsi un dictionnaire de quantification vectorielle au sens de l'invention. La présente invention vise aussi des procédés de codage et de décodage, ainsi qu'un décodeur utilisant un dictionnaire obtenu selon l'invention.
L'invention sera mieux comprise à la lumière de la description qui suit, faite à titre d'exemple non limitatif en référence aux figures annexées sur lesquelles :
- la figure 1 est un organigramme du procédé de l'invention ;
- les figures 2 et 3 sont des représentations d'un dictionnaire à différentes étapes du procédé de l'invention ; - la figure 4 est un organigramme d'un procédé d'optimisation ;
- les figures 5 et 6 sont des schémas bloc d'un codeur et d'un décodeur mettant en œuvre le dictionnaire obtenu grâce au procédé de l'invention.
En référence à la figure 1 , on va maintenant décrire un procédé d'obtention d'un dictionnaire de quantification vectorielle selon l'invention.
Dans le mode de réalisation décrit, ce procédé est mis en œuvre sur des vecteurs d'entraînement représentatifs d'un signal audiophonique numérisé tel qu'un signal de parole.
Ce procédé comprend tout d'abord une étape 10 d'analyse statistique des vecteurs d'entraînement. Dans le mode de réalisation décrit, l'étape 10 correspond à l'application de l'algorithme de Lloyd-Max généralisé.
L'étape 10 débute par une sous-étape 12 de création d'un dictionnaire initial noté CO. Ce dictionnaire est crée à partir de l'analyse des vecteurs d'entraînement ou par d'autre moyens connus en soi tels qu'une sélection aléatoire d'un nombre fini des vecteurs d'entrainement, ou des algorithmes dits « de splitting », « algorithme LBG », ou autre. Ce dictionnaire initial CO est d'une taille déterminée.
Dans le mode de réalisation décrit, le procédé comprend ensuite une sous-étape 14 d'initialisation de variables courantes et notamment d'initialisation d'une variable ITER correspondant à un nombre d'itération et d'une variable DITER correspondant à une valeur de distorsion. L'étape 10 comporte ensuite une sous-étape 16 de classification des vecteurs d'entraînement par rapport au dictionnaire initial CO pour former des régions de classification et une sous-étape 18 de détermination d'un centroïde pour chaque région. Plus précisément, lors de la sous-étape 16 de classification, pour chaque vecteur d'entraînement, on parcourt l'ensemble du dictionnaire courant, c'est-à-dire du dictionnaire CO modifié par itérations successives, et l'on choisit le vecteur de code du dictionnaire minimisant l'erreur quadratique avec le vecteur d'entraînement. La sous-étape 18 est réalisée de la manière suivante : pour chaque classe ou région Vi, on calcule les nouveaux centroïdes.
On définit Vi l'ensemble des vecteurs d'entraînement xj vérifiant Q(xj) = yi, où Q() est la fonction de quantification et yi est un vecteur de code du dictionnaire. Soit Ni le nombre de vecteurs de Vi, et Vi(j,k) le kième élément du jième vecteur de Vi.
On a, pour le kième élément du centroïde yi :
Figure imgf000011_0001
Lors d'une sous-étape 20, une valeur de distorsion pour le dictionnaire courant est calculée.
Lors de cette sous-étape 20, les vecteurs d'entraînement sont quantifiés avec le dictionnaire courant fourni par les étapes précédentes. L'erreur quadratique entre les vecteurs d'entraînement et leur version quantifiée constitue la mesure de distorsion. Les sous-étapes 16, 18 et 20 sont ensuite répétées de manière itérative jusqu'à ce qu'un nombre maximal d'itérations ITERMAX soit atteint ou que la distorsion soit inférieure à un seuil de tolérance, les tests étant effectués lors d'une sous-étape 22.
Comme indiqué précédemment, dans l'exemple, cette étape 10, avec notamment la répétition des sous-étapes 16, 18, 20 et 22, correspond à l'application de l'algorithme de Lloyd-Max généralisé. A l'issue de l'étape 10, le procédé délivre ainsi un dictionnaire CITER formé par une analyse statistique itérative des vecteurs d'entraînement.
Une représentation en deux dimensions du dictionnaire CITER est donnée sur la figure 2 sur laquelle les vecteurs de code sont représentés par un nuage de points. Sur cette représentation, les points gris correspondent aux vecteurs d'entraînement ou vecteurs du signal et les points noirs aux vecteurs du dictionnaire. On voit que la répartition des vecteurs du dictionnaire CITER suit la densité des vecteurs d'entraînement et que de nombreux vecteurs sont proches les uns des autres. Le procédé comporte ensuite une étape 30 de modification du dictionnaire CITER pour imposer une distance minimale entre les vecteurs de code deux à deux.
Cette étape 30 de modification comprend le remplacement de chacun des vecteurs de code par un vecteur voisin choisi sur un réseau régulier de points tel qu'une grille cartésienne. Ces vecteurs modifiés sont également appelés vecteurs arrondis. Dans le mode de réalisation décrit, le vecteur voisin choisi est le vecteur placé sur le réseau régulier le plus proche du vecteur de code. En fonction des modes de réalisation et des types de vecteurs, d'autres critères que la distance entre les vecteurs peuvent être retenus pour déterminer le vecteur voisin d'un vecteur de code.
Ainsi, l'étape 30 délivre un nouveau dictionnaire C obtenu en arrondissant le dictionnaire CITER obtenu à l'étape 10, sur le réseau régulier.
L'arrondi des mots de code sur le réseau régulier est réalisé de la manière suivante, en considérant p le pas du réseau :
Figure imgf000012_0001
où i =1 ...M, k = 1 ...n et [.jindique l'arrondi à l'entier le plus proche. Le procédé comprend ensuite une étape 32 d'élimination des doublons parmi les vecteurs de code modifiés formant le dictionnaire C.
L'étape 32 comprend une sous-étape de recherche des doublons effectuée sur l'ensemble du dictionnaire C en comparant chacun des vecteurs de code aux autres vecteurs de code du dictionnaire puis une sous-étape de suppression de doublons.
A l'issue de cette étape 32, le dictionnaire C peut comprendre moins de vecteurs de code que le dictionnaire CITER. Le procédé comporte ensuite une étape 34 de fusion du dictionnaire modifié avec les vecteurs d'entraînement arrondis afin de compléter le dictionnaire si sa taille a été réduite.
Cette étape 34 débute par une sous-étape 36 de remplacement de chaque vecteur d'entraînement par un vecteur voisin, dit vecteur d'entraînement arrondi, choisi sur un réseau régulier de points. Avantageusement, le même réseau que celui de l'étape 30 est utilisé. Les vecteurs d'entraînement arrondis sont ensuite ordonnés selon leur fréquence d'apparition dans un ordre décroissant, avantageusement après avoir éliminé les doublons. Le procédé comporte ensuite une sous-étape 38 de combinaison du dictionnaire C de vecteurs de code modifiés avec les vecteurs d'entraînement arrondis. Au cours de cette sous-étape, le dictionnaire C est complété par l'adjonction des vecteurs d'entraînement arrondis non présents dans le dictionnaire, avantageusement en suivant l'ordre des fréquences d'apparition décroissantes.
Ainsi, le dictionnaire C" est construit de telle sorte qu'une distance minimale soit garantie entre les centroïdes formant les vecteurs de code du dictionnaire de sorte qu'il est qualifié de contraint. Dans l'exemple, les paramètres à quantifier sont pris sur une échelle logarithmique, un pas constant dans ce domaine équivaut à un pas logarithmique dans le domaine des énergies, ce qui correspond à la sensibilité de l'oreille humaine. En choisissant le pas p en fonction d'un seuil perceptuel, il est donc possible, grâce au procédé de l'invention, de générer un dictionnaire de quantification vectorielle statistique prenant en compte les seuils perceptuels. De plus, en combinant le dictionnaire avec les vecteurs d'entraînement arrondis, une meilleure répartition des vecteurs de code est obtenue. La figure 3 représente le dictionnaire C" sous la forme d'un nuage de points en deux dimensions. On remarque, sur la figure 3, que le dictionnaire C" obtenu suivant la méthode décrite précédemment, couvre une zone importante des vecteurs d'entraînement et présente une distance minimale entre les vecteurs de code deux à deux.
Le nombre de points apparents du dictionnaire sur la figure 3 est inférieur à celui de la figure 2 même si les deux dictionnaires ont en fait le même nombre de vecteurs de code. En effet les figures 2 et 3 ne représentent que la projection en deux dimensions de vecteurs de dimension plus importante. Les vecteurs de code du dictionnaire illustré à la figure 3 étant arrondis sur un réseau régulier, plusieurs vecteurs sont réduits à un seul point, ce qui n'est pas le cas pour le dictionnaire illustré à la figure 2.
Avantageusement, le procédé comporte en outre une phase 40 d'optimisation du dictionnaire C" dont un organigramme est représenté en référence à la figure 4.
L'optimisation débute avec la réception du dictionnaire C" tel qu'obtenu à l'issue du procédé décrit en référence aux figures 1 à 3.
Cette phase d'optimisation consiste, dans le mode de réalisation décrit, à reprendre les mêmes étapes de traitement en les appliquant sur les vecteurs de code du dictionnaire C". Toutefois, dans la phase d'optimisation décrite, à chaque itération, la classification, la détermination des centroïdes, la modification des vecteurs de code et l'élimination des doublons sont réalisées.
Ainsi, la phase 40 débute par une étape 42 de classification appliquée sur les vecteurs de code du dictionnaire C" suivie d'une étape 44 de détermination des centroïdes. Ces étapes 42 et 44 sont similaires aux étapes 16 et 18 décrites précédemment.
Par la suite, une étape 46 de modification par arrondi sur le réseau régulier est réalisée. Cette étape 46 est suivie d'une étape 48 de remplacement des doublons. Enfin, la phase d'optimisation comprend une étape 50 de mesure de la distorsion et un test 52 pour déterminer si la distorsion est inférieure à un seuil de tolérance ou si un nombre maximal d'itérations a été atteint. Une telle phase d'optimisation permet d'améliorer encore la qualité du dictionnaire.
Bien entendu, d'autres modes de réalisation sont possibles.
En variante, le dictionnaire initial est créé par élagage des vecteurs d'entraînement arrondis sur le réseau régulier. C'est-à-dire que la création de ce dictionnaire initial comprend le remplacement des vecteurs d'entraînement par des vecteurs voisin choisis sur le réseau régulier puis l'élimination sélective, en fonction de leur fréquence d'apparition, des vecteurs d'entraînement arrondis. Dans encore une autre variante, la phase d'optimisation consiste à répéter le procédé de la figure 1 à l'identique en utilisant comme dictionnaire initial le dictionnaire obtenu précédemment.
Dans une autre variante, l'étape de fusion est mise en œuvre entre les vecteurs de code modifiés et les vecteurs d'entraînement non arrondis. Dans un tel mode de réalisation, les vecteurs d'entraînement utilisés sont toutefois choisis afin de garantir le maintient de la distance minimale entre les vecteurs de code du dictionnaire.
Le procédé de génération d'un dictionnaire tel que décrit précédemment peut être mis en œuvre grâce à un programme pour tout type de calculateur et d'ordinateur.
En référence aux figures 5 et 6, un codeur et un décodeur utilisant des dictionnaires obtenus selon le procédé de l'invention sont décrits.
Ces codeurs et décodeurs font partie d'un système global de codage et décodage audio hiérarchique en sous-bandes qui fonctionne à trois débits possibles : 8, 12 ou 13.65 Kbit/s. En pratique le codeur fonctionne toujours au débit maximal de 13.65 Kbit/s, tandis que le décodeur peut recevoir le cœur à 8 kbit/s, ainsi qu'une ou deux couches d'amélioration, respectivement à 12 ou 13.65 kbit/s.
Le codeur 60 représenté sur la figure 5, comporte deux voies recevant le signal d'entrée. La première voie comporte une unité 62 de filtrage apte à extraire une bande basse BF de 0 à 4000 Hz du signal. La seconde voie comporte une unité similaire 64 apte à extraire une bande haute HF s'étalant de 4000 à 8000Hz. Ces unités 62 et 64 comportent par exemple, des filtres et des modules de décimation réalisés de manière classique.
Le signal de bande basse est ensuite codé selon un codage CELP classique tel qu'un codage CELP encastré de 8 à 12 Kbits/s dans une unité de codage 66.
Le signal de bande haute est codé notamment en utilisant une quantification vectorielle dans une unité 70. Dans le mode de réalisation décrit, l'unité 70 est une unité de codage paramétrique dans laquelle les paramètres codés sont des enveloppes temporelle et fréquentielle du signal correspondant respectivement à la valeur efficace obtenue par moyenne quadratique (r.m.s. pour « root mean square ») par sous-trame ou sous-bande du signal de bande haute. Ces enveloppes sont passées dans un domaine logarithmique comme suit:
Figure imgf000016_0001
où σ est la valeur de l'enveloppe.
Pour chaque trame du signal d'entrée des paramètres d'enveloppe temporelle et d'enveloppe fréquentielle sont extraits dans des modules d'analyse paramétrique 72 et 74. Ces paramètres dans le domaine logarithmique sont ensuite quantifiés conjointement dans un module 76 de quantification vectorielle en utilisant des dictionnaires générés selon l'invention.
Plus précisément, dans le mode de réalisation décrit, le codage des paramètres est réalisé par une quantification vectorielle dite produit cartésien à moyenne supprimée.
On calcule la moyenne μ du vecteur d'enveloppe temporelle puis cette moyenne est quantifiée. La moyenne quantifiée est notée μq. Les vecteurs d'enveloppe temporelle et d'enveloppe fréquentielle sont ensuite centrés sur μq avant d'être quantifiés séparément et multiplexes.
La quantification de la moyenne μ est réalisée par une quantification scalaire uniforme dont le pas p=0.99657 est le seuil perceptuel, c'est-à-dire le pas du réseau régulier utilisé pour générer le dictionnaire. La quantification vectorielle à produit cartésien est effectuée en utilisant le dictionnaire obtenu selon l'invention et dans lequel les vecteurs de code stockés sont des mots avec une distance minimale de p=0.99657, ce qui correspond à un pas de 6dB. Les deux voies HF et BF sont ensuite multiplexées dans un multiplexeur 80 pour former le signal de sortie du codeur 60.
Le décodeur correspondant 100 est décrit en référence à la figure 6.
Ce décodeur comprend tout d'abord un démultiplexeur 102 séparant les voies correspondantes aux parties basse bande et haute bande du signal. La voie correspondant au signal en basse bande est introduite dans un décodeur CELP 104. Ce décodeur CELP fournit également des paramètres d'excitation calculés de manière classique en soi.
La voie correspondant au signal en haute bande est introduite dans une unité de décodage 1 10 utilisant notamment une quantification vectorielle inverse 1 12.
La sortie de ce module 1 12 est fournie à un module de mise en forme temporelle 114. Ce module 1 14 reçoit également un signal d'excitation synthétique généré par un module 116 à partir des paramètres d'excitation CELP fournis par le décodeur CELP 104. L'unité 1 10 comporte enfin un module de mise en forme fréquentielle
1 18.
De façon symétrique au codage des paramètres, le décodage s'effectue par dénormalisation des enveloppes temporelle et fréquentielle déquantifiées par la moyenne déquantifiée. Enfin, les deux voies sont traitées dans des modules de traitement 120 et 122 avant d'être recombinées entre elles dans un mixeur 124.
L'architecture et le fonctionnement d'un tel codeur et d'un tel décodeur sont classiques en eux-mêmes et ne seront pas décrits plus en détail ici. Une description détaillée est faite dans le document UIT-T, COM 16, D214 (WP 3/16), "High level description of the scalable 8-32 kbit/s algorithm submitted to the Qualification Test by Matsushita, Mindspeed and Siemens," Q.10/16, Study Period 2005-2008, Geneva, 26 JuIy - 5 August 2005 (Source: Siemens).

Claims

REVENDICATIONS
1. Procédé de génération d'un dictionnaire de quantification vectorielle (C") d'un signal, du type comportant une étape (10) d'analyse statistique de vecteurs d'entraînement représentatifs du signal déterminant un ensemble fini de vecteurs de code (CITER) représentants lesdits vecteurs d'entraînement, caractérisé en ce que le procédé comporte en outre une étape (30) de modification dudit ensemble fini de vecteurs de code pour imposer une distance minimale entre les vecteurs de code modifiés deux à deux, ces vecteurs de code modifiés formant ledit dictionnaire.
2. Procédé selon la revendication 1 , caractérisé en ce que l'étape (10) d'analyse statistique comprend une sous-étape (12) de création d'un dictionnaire initial (CO), une sous-étape (16) de classification desdits vecteurs d'entraînement à partir du dictionnaire initial pour former des régions de quantification et une sous-étape (18) de détermination d'un centroïde pour chaque région, lesdits centroïdes étant lesdits vecteurs de code.
3. Procédé selon la revendication 2, caractérisé en ce que ladite sous- étape (12) de création d'un dictionnaire initial est réalisée à partir desdits vecteurs d'entraînement et comprend le remplacement de chaque vecteur d'entraînement par un vecteur arrondi choisi sur un réseau régulier de points et l'élimination sélective de vecteurs arrondis en fonction de leur fréquence d'apparition.
4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que l'étape d'analyse statistique comporte en outre une sous- étape (20) de calcul de la distorsion du dictionnaire initial et une sous-étape (22) de comparaison de cette distorsion avec un seuil de tolérance, ladite étape (10) d'analyse statistique étant répétée si ladite comparaison est négative.
5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que l'étape (30) de modification comprend le remplacement de chacun desdits vecteurs de code de l'ensemble fini par un vecteur de code voisin choisi sur un réseau régulier de points.
6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce qu'il comporte en outre une étape (32) d'élimination des doublons parmi lesdits vecteurs de code modifiés.
7. Procédé selon la revendication 6, caractérisé en ce que ladite étape
(32) d'élimination des doublons comporte une sous-étape de recherche des doublons par comparaison des vecteurs de code modifiés entre eux et une sous-étape de suppression des doublons en fonction de leur fréquence d'apparition.
8. Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce qu'il comporte en outre une étape (34) de fusion des vecteurs de code modifiés avec des vecteurs d'entraînement présentant au moins ladite distance minimale entre eux et avec lesdits vecteurs de code modifiés.
9. Procédé selon la revendication 8, caractérisé en ce que l'étape fusion comporte une sous-étape (36) de remplacement de chaque vecteur d'entraînement par un vecteur arrondi choisi sur un réseau régulier de points et une sous-étape (38) de combinaison des vecteurs de code modifiés et des vecteurs d'entraînement arrondis.
10. Procédé selon la revendication 9, caractérisé en ce que ladite étape (36) de fusion comprend en outre l'ordonnancement des vecteurs d'entraînement arrondis selon leur fréquence d'apparition et la sélection d'un nombre fini de ces vecteurs pour les combiner avec les vecteurs de code modifiés.
1 1. Procédé selon l'une quelconque des revendications 9 et 10, caractérisé en ce que ladite sous-étape (38) de combinaison comprend l'adjonction auxdits vecteurs de code modifiés d'un nombre fini de vecteurs d'entraînement arrondis distincts desdits vecteurs de code modifiés.
12. Procédé selon l'une quelconque des revendications 3, 5 ou 9, caractérisé en ce que ledit réseau régulier de points a un pas correspondant à un niveau de sensibilité d'un récepteur destinataire dudit signal.
13. Procédé selon l'une quelconque des revendications 1 à 12, caractérisé en ce qu'il comporte en outre une phase (40) d'optimisation dudit dictionnaire formé desdits vecteurs de code modifiés.
14. Procédé selon la revendication 13, caractérisé en ce que la phase (40) d'optimisation comporte une étape (50) de calcul de la distorsion du dictionnaire et une étape (52) de comparaison de cette distorsion avec un seuil de tolérance, lesdites étapes de d'analyse statistique et de modification étant répétées si ladite comparaison est négative.
15. Procédé selon la revendication 13, caractérisé en ce que la phase
(40) d'optimisation comporte au moins une itération du procédé mis en œuvre à partir du dictionnaire formé desdits vecteurs de code modifiés.
16. Dictionnaire de quantification vectorielle (C") comportant des vecteurs de code représentant des vecteurs d'entraînement représentatifs d'un signal, caractérisé en ce qu'il est obtenu par un procédé selon l'une quelconque des revendications 1 à 15.
17. Programme d'ordinateur pour la génération d'un dictionnaire de quantification vectorielle (C") d'un signal, caractérisé en ce qu'il comporte des instructions de code pour la mise en œuvre d'un procédé selon l'une quelconque des revendications 1 à 15 lorsqu'il est exécuté sur un calculateur d'un ordinateur.
18. Dispositif générateur d'un dictionnaire de quantification vectorielle (C"), caractérisé en ce qu'il comporte des moyens pour exécuter le programme d'ordinateur selon la revendication 17.
19. Procédé de codage d'un signal comportant au moins une étape d'analyse du signal pour en obtenir des paramètres représentatifs, caractérisé en ce qu'au moins un desdits paramètres représentatifs est codé par quantification vectorielle à l'aide d'un dictionnaire généré par un procédé selon l'une quelconque des revendications 1 à 15.
20. Codeur (60) de signaux comportant au moins des moyens (72, 74) d'analyse du signal pour en obtenir des paramètres représentatifs, caractérisé en ce qu'il comporte en outre des moyens (76) de codage d'au moins un desdits paramètre représentatifs par quantification vectorielle à l'aide d'un dictionnaire généré par un procédé selon l'une quelconque des revendications 1 à 15.
21. Procédé de décodage d'un signal comportant au moins une étape de traitement de paramètres représentatifs dudit signal, caractérisé en ce qu'au moins un desdits paramètres représentatifs est décodé par quantification vectorielle inverse à l'aide d'un dictionnaire généré par un procédé selon l'une quelconque des revendications 1 à 15.
22. Décodeur (100) de signaux comportant au moins des moyens de traitement de paramètres représentatifs dudit signal, caractérisé en ce qu'il comporte en outre des moyens (1 12) de décodage d'au moins un desdits paramètres représentatifs par quantification vectorielle inverse à l'aide d'un dictionnaire généré par un procédé selon l'une quelconque des revendications 1 à 15.
PCT/FR2007/050908 2006-03-21 2007-03-09 Quantification vectorielle contrainte Ceased WO2007107659A2 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2009500891A JP4981122B2 (ja) 2006-03-21 2007-03-09 抑制されたベクトル量子化
KR1020087025757A KR101370018B1 (ko) 2006-03-21 2007-03-09 제한된 벡터 양자화
CN2007800099157A CN101467459B (zh) 2006-03-21 2007-03-09 信号的矢量量化字典生成方法、编解码器及编解码方法
EP07731724A EP2005756A2 (fr) 2006-03-21 2007-03-09 Quantification vectorielle contrainte
US12/225,312 US8285544B2 (en) 2006-03-21 2007-03-09 Restrained vector quantisation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0602452 2006-03-21
FR0602452 2006-03-21

Publications (2)

Publication Number Publication Date
WO2007107659A2 true WO2007107659A2 (fr) 2007-09-27
WO2007107659A3 WO2007107659A3 (fr) 2008-12-18

Family

ID=36763212

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2007/050908 Ceased WO2007107659A2 (fr) 2006-03-21 2007-03-09 Quantification vectorielle contrainte

Country Status (6)

Country Link
US (1) US8285544B2 (fr)
EP (1) EP2005756A2 (fr)
JP (1) JP4981122B2 (fr)
KR (1) KR101370018B1 (fr)
CN (1) CN101467459B (fr)
WO (1) WO2007107659A2 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009111674A (ja) * 2007-10-30 2009-05-21 Nippon Telegr & Teleph Corp <Ntt> ベクトル量子化方法,装置およびそれらのプログラムとそれを記録したコンピュータ読み取り可能な記録媒体
CN113779103A (zh) * 2021-03-02 2021-12-10 北京沃东天骏信息技术有限公司 用于检测异常数据的方法和装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI376960B (en) * 2009-07-31 2012-11-11 Univ Nat Pingtung Sci & Tech Codebook generating method for image compression
CN102307372B (zh) * 2011-08-26 2014-12-17 电信科学技术研究院 一种基于Lloyd-Max量化器的数据压缩方法和设备
ES2960582T3 (es) * 2012-03-29 2024-03-05 Ericsson Telefon Ab L M Cuantificador vectorial
US11347941B2 (en) * 2019-04-30 2022-05-31 Marvell Asia Pte, Ltd. Methods and apparatus for compressing data streams

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4817157A (en) * 1988-01-07 1989-03-28 Motorola, Inc. Digital speech coder having improved vector excitation source
JP3264242B2 (ja) 1997-02-28 2002-03-11 日本電気株式会社 認識辞書学習方法及びその装置並びにプログラムを記録した機械読み取り可能な記録媒体
US6393394B1 (en) * 1999-07-19 2002-05-21 Qualcomm Incorporated Method and apparatus for interleaving line spectral information quantization methods in a speech coder
JP3483513B2 (ja) * 2000-03-02 2004-01-06 沖電気工業株式会社 音声録音再生装置
JP3983532B2 (ja) * 2001-12-05 2007-09-26 日本放送協会 場面抽出装置
CN1906855B (zh) * 2004-01-30 2014-04-02 法国电信 空间矢量和可变分辨率量化

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Just noticeable difference" WIKIPEDIA ARTICLE, [Online] 18 mars 2006 (2006-03-18), XP002394603 Extrait de l'Internet: URL:http://en.wikipedia.org/w/index.php?title=Just_noticeable_difference&oldid=44358293> [extrait le 2006-08-11] *
SCHEUNDERS P: "A genetic Lloyd-Max image quantization algorithm" PATTERN RECOGNITION LETTERS, NORTH-HOLLAND PUBL. AMSTERDAM, NL, vol. 17, no. 5, 1 mai 1996 (1996-05-01), pages 547-556, XP004017944 ISSN: 0167-8655 *
TED PAINTER, ANDREAS SPANIAS: "Perceptual Coding of Digital Audio"[Online] avril 2000 (2000-04), XP002394604 Extrait de l'Internet: URL:http://www.eas.asu.edu/~spanias/papers/paper-audio-tedspanias-00.pdf> [extrait le 2006-08-11] *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009111674A (ja) * 2007-10-30 2009-05-21 Nippon Telegr & Teleph Corp <Ntt> ベクトル量子化方法,装置およびそれらのプログラムとそれを記録したコンピュータ読み取り可能な記録媒体
CN113779103A (zh) * 2021-03-02 2021-12-10 北京沃东天骏信息技术有限公司 用于检测异常数据的方法和装置
CN113779103B (zh) * 2021-03-02 2024-04-09 北京沃东天骏信息技术有限公司 用于检测异常数据的方法和装置

Also Published As

Publication number Publication date
KR101370018B1 (ko) 2014-03-06
US8285544B2 (en) 2012-10-09
KR20090005027A (ko) 2009-01-12
WO2007107659A3 (fr) 2008-12-18
JP4981122B2 (ja) 2012-07-18
US20100228808A1 (en) 2010-09-09
EP2005756A2 (fr) 2008-12-24
JP2009530940A (ja) 2009-08-27
CN101467459A (zh) 2009-06-24
CN101467459B (zh) 2011-08-31

Similar Documents

Publication Publication Date Title
EP2374123B1 (fr) Codage perfectionne de signaux audionumeriques multicanaux
EP1709743A1 (fr) Quantification vectorielle en dimension et resolution variables
RU2326450C2 (ru) Способ и устройство для векторного квантования с надежным предсказанием параметров линейного предсказания в кодировании речи с переменной битовой скоростью
EP1692689B1 (fr) Procede de codage multiple optimise
WO2009027606A1 (fr) Codage/decodage par plans de symboles, avec calcul dynamique de tables de probabilites
US20070094035A1 (en) Audio coding
EP2727107B1 (fr) Fenêtres de pondération en codage/décodage par transformée avec recouvrement, optimisées en retard
WO2007107659A2 (fr) Quantification vectorielle contrainte
WO2009010674A1 (fr) Codage hierarchique de signaux audionumeriques
EP0801790A1 (fr) Procede de codage de parole a analyse par synthese
EP2289171B1 (fr) Procède de traitement de donnees numeriques
EP1037196B1 (fr) Procédé de codage, de décodage et de transcodage audio
EP1692687A1 (fr) Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques
EP1197952B1 (fr) Procédé de codage de la prosodie pour un codeur de parole à très bas débit
EP2372699B1 (fr) Codage d&#39;échantillons audio ou vidéo utilisant des quantificateurs multiples
EP1525663B1 (fr) Compression de donnees numeriques robuste au bruit de transmission
WO2024213553A1 (fr) Quantification optimisée d&#39;un espace latent en codage audio neuronal
WO2008104725A1 (fr) Procede de codage et decodage algebrique optimise, modules et programmes d&#39;ordinateur associes
EP4268024A1 (fr) Procédé et dispositif de transmission de données représentatives d&#39;un hologramme numérique, procédé et dispositif de construction d&#39;un hologramme numérique et système de transmission et de construction d&#39;un hologramme numérique
EP1836699A1 (fr) Procede et dispositif de codage optimise entre deux modeles de prediction a long terme
EP0812070B1 (fr) Procédé et dispositif de codage en compression d&#39;un signal numérique
EP3828886B1 (fr) Procede et systeme pour separer dans un flux audio la composante voix et la composante bruit
EP1756806A1 (fr) Procede de quantification d&#39;un codeur de parole a tres bas debit
Deshpande et al. Audio Spectral Enhancement: Leveraging Autoencoders for Low Latency Reconstruction of Long, Lossy Audio Sequences
CN121725796A (zh) 一种基于矢量量化变分自编码器的水声信号压缩方法

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200780009915.7

Country of ref document: CN

REEP Request for entry into the european phase

Ref document number: 2007731724

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2007731724

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 12225312

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2009500891

Country of ref document: JP

Ref document number: 3832/KOLNP/2008

Country of ref document: IN

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 1020087025757

Country of ref document: KR