FR2738383A1 - Procede de quantification vectorielle de vocodeurs bas debit - Google Patents

Procede de quantification vectorielle de vocodeurs bas debit Download PDF

Info

Publication number
FR2738383A1
FR2738383A1 FR9510393A FR9510393A FR2738383A1 FR 2738383 A1 FR2738383 A1 FR 2738383A1 FR 9510393 A FR9510393 A FR 9510393A FR 9510393 A FR9510393 A FR 9510393A FR 2738383 A1 FR2738383 A1 FR 2738383A1
Authority
FR
France
Prior art keywords
points
envelope
code
coefficients
coding
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.)
Granted
Application number
FR9510393A
Other languages
English (en)
Other versions
FR2738383B1 (fr
Inventor
Pierre Andre Laurent
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.)
Thales SA
Original Assignee
Thomson CSF 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 Thomson CSF SA filed Critical Thomson CSF SA
Priority to FR9510393A priority Critical patent/FR2738383B1/fr
Priority to PCT/FR1996/001347 priority patent/WO1997009711A1/fr
Priority to EP96930202A priority patent/EP0850470B1/fr
Priority to DE69602963T priority patent/DE69602963T2/de
Priority to US09/029,254 priority patent/US6016469A/en
Publication of FR2738383A1 publication Critical patent/FR2738383A1/fr
Application granted granted Critical
Publication of FR2738383B1 publication Critical patent/FR2738383B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/02Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using spectral analysis, e.g. transform vocoders or subband vocoders
    • G10L19/032Quantisation or dequantisation of spectral components
    • G10L19/038Vector quantisation, e.g. TwinVQ audio

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)

Abstract

Le procédé consiste à déterminer le domaine du codage en entourant par une enveloppe le nuage des points de la matrice d'auto-corrélation des coefficients de réflexion (Ki, LARi)) du filtre de modélisation du conduit vocal, à déterminer (3) les axes principaux du volume de points intérieurs à l'enveloppe, à projeter (4) les coefficients de la matrice d'autocorrélation sur les axes principaux, à découper le volume intérieur de l'enveloppe en volumes élémentaires et à coder les coefficients résultats de la projection en fonction de leurs coordonnées dans l'espace défini par les axes principaux du volume des points intérieurs à l'enveloppe en n'attribuant comme valeurs de codes que celles correspondant aux emplacements des volumes élémentaires dans lesquels ils se trouvent. Application: Vocodeurs à prédiction linéaire.

Description

La présente invention concerne un procédé de quantification vectorielle de vocodeurs bas débit.
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.
II 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. 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.
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.
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édictionlextrapolation 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.
Le but de l'invention est de pallier les inconvénients précités.
A cet effet, I'invention a pour objet un procédé de quantification vectorielle de vocodeurs bas débit caractérisé en ce qu'il consiste à déterminer le domaine du codage en entourant par une enveloppe le nuage des points de la matrice d'auto-corrélation des coefficients de réflexion du filtre de modélisation du conduit vocal , à déterminer les axes principaux du volume de points intérieurs à l'enveloppe , à projeter les coefficients de la matrice d'autocorrélation sur les axes principaux, à découper le volume intérieur de l'enveloppe en volumes élémentaires et à coder les coefficients résultats de la projection en fonction de leurs coordonnées dans l'espace défini par les axes principaux du volume des points intérieurs à l'enveloppe en n'attribuant comme valeurs de codes que celles correspondant aux emplacements des volumes élémentaires dans lesquels ils se trouvent.
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.
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:
La figure 1 un organigramme illustrant le procédé de codage de la parole mis en oeuvre par l'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.
La figure 3 une illustration du procédé de codage selon l'invention dans un espace à trois dimensions.
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.
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.
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.
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 etquantification 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
Figure img00040001
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).
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
Figure img00040002
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.
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 hi, représentant la somme des projections des coefficients (LARj - LAR j) sur les vecteurs propres Vi à Vp de la matrice d'autocorrélation des coefficients LAR par la relation
Figure img00040003
pour i = (1--p) dans laquelle Vi, j désigne les vecteurs propres et LAR j est la valeur moyenne de chaque coefficient LARj de rang j.
Comme chacun des coefficients Xi évolue entre une valeur minimale -kimax et une valeur maximale +Ximax, 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 ximax
Pour chacun des Xi, il est alors effectué une quantification uniforme entre une valeur minimale Ximini et une valeur maximale Ximax avec un nombre de bits nj 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.
La quantification des coefficients Xi 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:
Figure img00050001

dans laquelle les coefficients yi sont fonction décroissante de leur rang i et sont ajustés expérimentalement.
De façon équivalente, sachant que les coefficients Rj 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
Figure img00050002

Les points représentatifs des filtres de coordonnées Pi , sont alors situés à l'intérieur d'un hyperellipsoïde de dimension P dont les P demi-grands axes valent respectivement Pimax avec Climax = Ximax yi112
Dans ces conditions si chacune des coordonnées Pi était quantifiée uniformément entre -pimax et +Pimax le nombre de bits nécessaire serait alors égal au logarithme en base 2 du rapport entre lun volume parallélépipédique (pavé) quantifiable et le volume d'un hypercube élémentaire selon la relation
Figure img00050003

où A 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.
En effet, en considérant le volume d'un ellipsoïde défini pour P pair par la relation
Figure img00060001

le nombre de bits NE strictement nécessaire est alors donné par
Figure img00060002

ce qui donne
Figure img00060003
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 Pi de façon indépendante.
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 Pi 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.
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.
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:
Figure img00060004
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, I'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, I'ordonnée vaut y et l'altitude vaut successivement -Z(x,y), -Z(x,y)+1 z-2, z-l 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 demiaxes le volume intérieur à l'ellipsoïde est défini par la relation
Figure img00070001

avec
Figure img00070002

et l'équation de sa surface est définie par la relation
Figure img00070003
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
Figure img00070004
La relation (14) permet de déduire sans difficulté une relation de récurrence liant deux volumes de dimensions consécutives soit::
Figure img00070005
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.
Un microprogramme permettant d'obtenir ce résultat est fourni en Annexe 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:
R = AN
FOR n = N DOWN TO 1 lFXn > R THENXn=R
ELSE IF Xn < -R THEN Xn = -R R = (An 1/An) (R2 - Xn2)1/2
END FOR
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.
Naturellement le temps d'exécution maximum de l'algorithme précédent peut être raccourci grâce aux symétries. En effet, si CodeO 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* CodeO-C.Pour tenir compte de ce fait le microprogramme précédent peut être complété par les instructions suivante:
Inversion = FALSE
IF XN > = 0
Inversion = TRUE
FOR i = 1 TO N DO Xi = -Xi
END IF
IF Inversion THEN Code = 2 CodeO - 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 centroides 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.
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.
Un microprogramme correspondant est fourni en Annexe 3.
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.
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.
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.
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.
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 (913, 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 109.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.
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.
L'introduction d'un dénominateur commun conduit à effectuer les traitements suivants 1 - définition des axes : Ai
ai= i=1...N (16)
D 2 - équation de l'ellipsoïde (K=2) de la pyramide (K=1):
Figure img00100001

3 - Valeur maximale de Xn
Figure img00100002

4 - En réduisant au même dénominateur et en conservant seulement les numérateurs on définit les formules de récurrences suivantes: DennXn < Numn
avec
DenN = DK
Figure img00110001
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)/2, 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.
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 centroides d'origine, ceux-ci se répartissant sur le réseau original d'origine DN dénoté ici Dn0 où son complément Dnî qui ne comprend pas l'origine.
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.
En effet deux ensembles de volumes doivent être trouvés pour les dimensions 1 à N-l, un premier ensemble VO,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.
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.
Une généralisation du procédé à une quantification pyramidale est aussi représentée aux figures 8a et 8b.
ANNEXES
Annexe 1 1. Pour les points isolés
Vo(O)=1 2. Pour les séries de points contigus de dimension 1
FOR A+0 TO A1 DO V1(A)=2*A+1 3. Pour les volumes de dimensions 2,.., N-1
FOR n = 2 TO N-1
FOR A =0 TO AnXX
Vn(A) = O
FOR Xn = 0 TO A
Xn-1=(An-1/An)(A-Xn)1/2
IF Xn = 0 THEN Vn(A) = Vn-1(Xn-1)
ELSE Vn(A) = Vn(A) + 2*Vn-1(Xn-1)
END FOR
END FOR
END FOR
Annexe 2
Code = 0
R = AN
FOR n = N DOWN TO 1
IF Xn > -R
FOR X = -R TO Xn-1
Y = INT ((An-1/An)(R-X)1/2)
Code = Code + Vn 1 (Y)
END FOR
END IF
R = (An-1/An)(R-Xn)1/2
END FOR
Annexe 3
R = AN
FOR n = N DOVVN TO 1
Xn = -R
Y = INT ((An-1/An)(R-Xn)1/2)
WHILE Code > =Vn-1(Y)
Code = Code - Vn-1 (Y)
Xn = Xn + 1
Y = INT ((An-1/An)(R-Xn)1/2)
END WHILE
R=Y
END FOR
Une amélioration de la vitesse d'exécution de ce microprogramme peut aussi être obtenue en introduisant les instructions suivantes
Inversion = FALSE
IF Code > Code 0
Inversion = TRUE
Code = 2 Code 0 - Code
END IF (decoding giving Xi)
IF Inversion THEN FOR i = 1 TO N DO Xi = - Xi
Annexe 4
FOR A = 0 TO A1 DO V1 (A) = 2 INT((A+1)/2) FOR n = 2 TO N-1
FOR A = 0 TO An
Vn(A) = O
FOR Xn = 0 TO INT((A - 1)/2)
Xn = 2 Xn +1
Xn-1 = INT(((An-1/An)(A-Xn)1/2-1)/2)
Xn-1 = 2 Xn-1 + 1
Vn(A) = Vn(A) + 2 Vn-1(Xn-1)
END FOR
END FOR
END FOR
Modification du codage
Code = 0
R = AN
FOR n = N DOWN TO 1
Xn = INT((Xn - 1)2 ;;
r = INT(R - 1)/2)
IF Xn > -r
FOR x = -r TO Xn-1
X=2x+1
y = INT(((An-1/An)(R-X)1/2-1)/2)
Y=2y+1
Code = Code + Vn-1(Y)
END FOR
END IF
R = (An-1/An)(R-Xn)1/2
Modification du décodage.
R = AN
FOR n = N DOWN TO 1
Xn = -2 INT((R -1)/2) - 1
y = INT(((An-1/An)(R-Xn)1/2-1)/2) Y=2y+1
WHILE Code > =Vn-1(Y)
Code = Code - Vn-1 (Y)
Xn = Xn + 2
y = 2 INT(((An-1/An)(R-Xn)1/2-1)/2) Y=2y+1
END WHILE
R=Y
END FOR
Annexe 5
A initialisation: calcul des volumes et des numérateurs
DenN-1 = D
FOR i=N-2 DOWN TO 0 DO Deni+1=Deni+1.Ai+1 2 Dénominateurs précalculés
Calcul des volumes (dimensions 2...N-1 seulement) (Z) FOR 1 = 1 TO N-2 DO NVi-1 = 0 (D) FOR 1 = 1 TO N-2 DO NVo,i-1 1 = 0
Multn-1 = D
FOR 1 = N-2 DOWN TO 0 DO Multi=Multi+1 Ai+1
XMaxN-1=AN-1/D division entière
maxCode = -1
NumN-1 = 1
n=N (D) Sumn=0 Somme des coordonnées précédentes
Nouvelle Dimension n=n-1
Xmaxn-1= 0
Xn = -XMaxn -1
InitialNumn = Numn An 2
previous V n = maxCode appel de la dernière valeur finale
Accroissement de coordonnée
Xn = Xn + 1 (D) Sumn = Sumn+1 + Xn (D) p = REM2(Sumn) parité courante
Numnî = initialNumn - Multn 2 Xn 2
ANumn-1 = Numn-1 An-1
IF Xn < = 0
WHILE Denn-1 XMaxn-1 < Anumn-1 DO
WHILE Denn-1 XMaxn-1 < ANumn-1 DO XMaxn-1 = XMaxn-1-1
IF n > GOTO nextDimension (Z) maxCode = maxCode+(1+2 XMaxo) (D) IF p = Parity THEN maxCode = max Code +1+2 INT(XMaxO/2) (D) ELSE maxCode = maxCode + 2 INT((XMax0+1)I2)
Test de coordonnée
IF Xn < XMaxn GOTO increaseCoordinate
IF n = N-1 THEN END
vol = maxCode - previousVn
Conservation des valeurs max de Num dans l'ordre croissant, avec leur valeur associé V (D) IF Sumn+1=2INT(Sumn+1/2)THEN p=0 ELSE p=1 parité courante (Z/D) IF NVn-1=0 premier volume de cette dimension.
(Z/D) NVn-1=1 (Z/D) maxNumern-1,1=Numn (Z/D) Vn-1 = vol
ELSE ce n'est pas le premier volume : texter l'ordre (Z/D) M = NVn-1
FOR i = NVn-1 -1 DOWN TO 0 (Z/D) IF vol = Vn-1,i (Z/D) IF Numn > maxNumern-1,i (Z/D) maxNumern-1,i=Numn
GOTO numerFound
END IF (Z/D) If vol < Vn-1,i THEN M = i
END FOR
END FOR (Z/D) IF M < = NV-1modifier maxNumer et V (Z/D) FOR - = NVn-1 DOWN TO M+1 (Z/D) maxNumern-1,i = maxNumern-1,i-1 (Z/D) Vn-1,i=Vn-1,1-i
END FOR
END IF (Z/D) maxNumern-1, M = Numn (Z/D) Vn-1, M = vol (Z/D) NVn-1 = NVn-1 + 1
END IF nombre trouvé n=n+1
GOTO testCoordinate
B. Algorithme de codage (les xi sont supposés correctes).
Code = 0
R = AN-1
Num = 1
Mult = D (D) Sumn = 0 somme des coordonnées précédentes
FOR n = N - 1 DOWN TO 1 Boucle sur les dimensions
Ro = 0
initialNum = Num AN 2
Si la peme coordonnée est supérieure au minimum R, ajouter au code des volumes correspondant à -R, -R+1,...Xn-1
IF Xn > -R
FOR iX = -R TO Xn-1
Num = initialNum - Mult iX2 (D) Sumn = Sumn+1+iX
p = REM2(Sumn) parité courante
IF n > 1 Si n > 1, les volumes sont accédés par la valeur
de Num i=1 (Z/D) WHILE Num > maxNumern-1, i DO i = i + 1 (Z/D) Code = Code + Vn-1, i
ELSE Si n=1, les volumes sont calculés
ANum = Num Ao 2
IF iX < = 0
WHILE DenO Ro < ANum DO Ro=Ro+1
WHILE DenO Ro 2 > ANum DO Ro=Ro-1 (Z) Code = Code + 1 + 2*Ro (D) IF p = parity THEN Code=Code+1 +2INT(Ro/2) (D) ELSE Code=Code+2INT((Ro+1)/2)
END IF
END FOR
END IF
(D) Sumn = Sumn+1 + Xn
Si nécessaire, calcul de R pour la dimension suivante
Num = initialNum - Mult Xn 2
Anum = Num An 1 2
IF n > 1 si n > 1, calcul itératif
R = 0
WHILE Denn-1 R2 < ANum DO R = R+1
IF Denn-1 R2 > ANum THEN R=R -1
Mult = Mult An
ELSE si n = 1, la prochaine dimension est 1
Ajuster R en prenant en compte le fait qu'il peut seulement croître si X1#0 et décroître si X1 < 0
R = Ro
IF X1 < = 0
WHILE DenO R2 < ANum DO R = R + 1
WHILE DenO R2 > ANum DO R = R-1
(Z Code = Code + Xo + R Ajustement final du code
(D) IF Xo > -R
(D) FOR i = -R TO Xo - 1
(D) IF REM2 (Sum1+i) = Parity
(D) END IF
(D) END FOR
C. Algorithme de décodage
R = AN-1/D division entière
Num = 1
Mult = D
FOR n = N -1 DOWN TO 1 Boucle sur les dimensions
Si la coordonnée nème X[n] est supérieure à son minimum, R, le code contient la somme des volumes à n dimensions correspondant à -R, -R+1,...Xn-1
Ro = 0
initialNum = Num An 2
Xn = -R
Num = initialNum - Mult Xn 2 (D) p = REM2(Sumn+1+ Xn)
Essai de soustraction des volumes pour former le code
IF n > 1 Ces volumes sont mis en table pour n > 1, comme étant une
fonction de Num
i = 1 (Z/D) WHILE Num > maxNumern,i DO i = i + 1 (Z/D) WHILE Code > =Vn, i (Z/D) Code = Code - Vn, i
Xn = Xn + 1 (D) P = 1 - P
Num = initial Num - Mult Xn 2
i = 1 (Z/D) WHILE Num > maxNumern, i DO i = i + 1
END WHILE
ELSE Si n = 1, les volumes sont presque facile à calculer..
ANum = Num Ao 2
IF Xn < =0
WHILE DenO Ro 2 < ANum DO Ro = Ro + 1
WHILE DenO Ro 2 > ANum DO Ro = Ro - 1 (Z) length = 1 + 2 Ro (D) IF p = Parity THEN length = 1 + 2 INT(Ro/2) (D) ELSE length = 2 INT((Ro + 1)/2)
WHILE Code > = length
Code = Code - length
Xn = Xn + 1 (D) p = 1 - p changer la parité
Num = initialNum - Mult Xn 2
ANum = Num Ao 2
IF Xn < = 0
WHILE DenO Ro 2 < ANum DO Ro = Ro + 1
WHILE Deno Ro > ANum DO Ro = Ro - 1
WHILE DenO Ro 2 < ANum DO Ro = Ro + 1
WHILE Deno Ro > ANum DO Ro = Ro-1 (Z) length = 1 + 2 Ro (D) IF p = Parity THEN length = 1 + 2 INT(Ro/2)
ELSE length = 2 INT((Ro+1/2)
END IWHILE
END IF
Si nécessaire, calcul de R pour la dimension suivante.
ANum = Num An 1 2 (D) Sumn = Sumn+1+ Xn
IF n > 1 if n > 1, interative computation
R = 0
WHILE Denn-1 R2 < ANum DO R = R+1
IF Denn-1 R2 > ANum THEN R = R - 1
Mult = Mult An 2
ELSE Si n-1, la prochaine dimension est 1
Ajuste R en prenant en compte le fait qu'il peut seulement augmenter si X1 < = 0, et diminuer si X1 > 0
R = Ro
IF X1 < =0
WHILE DenO R2 < ANum DO R = R + 1
WHILE DenO R2 > ANum DO R = R -1 (Z) Xo = -R Code dernière coordonnée...
(D) p = Sum1 - 2 INT(Sum1/2) (D) Xo = -R + 2 Code dernière coordonnée (D) po = REM2(Xo) parité de Xo (D) IF Parity = 0 (D) IF po < > p THEN Xo=Xo+1 (D) ELSE
IF po=p THEN Xo=Xo+1 (D) END IF
END IF
END FOR
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).
Annexe 6
Première dimension
FOR A = 0 TO A1 STEP 2 DO Vo,1(A)=A+1
FOR A = 1 TO A1 STEP 2 DO V1,1(A)=A+1
Dimensions 2... N-I
FOR n = 2 TO N-1
FOR A = 0 TO An
V0, n(A)=0 V1 ,n(A)=O
FOR Xn=0 TO A
Xn-1=(An-1/An) (A-Xn) 1/2
IF Xn = 2 INT(Xn/2)
IF Xn = 0
V0,n(A) = V0, n-1 (Xn-1)
V1,n(A) = V1, n-1 (Xn-1)
ELSE
V0,n(A) = VO, n(A) + 2*V0,n-1)(Xn-1)
V1 ,n(A) = V1, n(A) + 2*V1, ,n-1)(Xn-1)
END IF
ELSE
V0,n(A) = V0, n(A) + 2*V1,n-1)(Xn-1)
V1,n(A) = V1, n(A) + 2*V0,n-1)(Xn-1)
END IF
END FOR
END FOR
END FOR

Claims (9)

REVENDICATIONS
1. Procédé de quantification vectorielle de vocodeurs bas débit caractérisé en ce qu'il consiste à déterminer le domaine du codage en entourant par une enveloppe le nuage des points de la matrice d'auto-corrélation des coefficients de réflexion (Ki,LARi)) du filtre de modélisation du conduit vocal , à déterminer (3) les axes principaux du volume de points intérieurs à l'enveloppe, à projeter (4) les coefficients de la matrice d'autocorrélation sur les axes principaux, à découper le volume intérieur de l'enveloppe en volumes élémentaires et à coder les coefficients résultats de la projection en fonction de leurs coordonnées dans l'espace défini par les axes principaux du volume des points intérieurs à l'enveloppe en n'attribuant comme valeurs de codes que celles correspondant aux emplacements des volumes élémentaires dans lesquels ils se trouvent.
2. Procédé selon la revendication 1 caractérisé en ce qu'il consiste pour effectuer le codage de chaque point , à découper le volume intérieur à l'enveloppe en tranches perpendiculaires à une premiere direction d'axe principal depuis une premiere tranche d'extrémité jusqu'à une tranche précédant la derniere tranche comportant le point à coder, en accumulant les nombres de points compris dans chaque tranche successive,et à ajouter au nombre de points obtenus le nombre de points restant dans la derniere tranche pour arriver au point à coder.
3. Procédé selon l'une quelconque des revendications 1 et 2 caractérisé en ce que l'enveloppe entourant le nuage de points est un hyperéllipsoïde centré au barycentre du nuage de points.
4. Procédé selon l'une quelconque des revendications 1 et 2 caractérisé en ce que l'enveloppe entourant le nuage de points est de forme pyramidale et est centrée au barycentre du nuage de points.
5. Procédé selon l'une quelconque des revendications 2 à 4 caractérisé en ce qu'il consiste à convertir les valeurs réelles des coordonnées des points à coder en leur valeur entière les plus proches.
6. Procédé selon l'une quelconque des revendications 2 à 4, caractérisé en ce qu'il consiste à ne considérer pour le codage que des coordonnées demientières.
7. Procédé selon l'une quelconque des revendications 2 à 4, caractérisé en ce qu'il consiste à ne considérer pour le codage des coordonnées de sommes paires ou impaires.
8. Procédé selon l'une quelconque des revendications 1 à 7 caractérisé en ce qu'il consiste à ajuster le volume intérieur de l'enveloppe par des longueurs d'axes de coordonnées fractionnaires.
9. Procédé selon la revendication 8 caractérisé en ce que les longueurs d'axes fractionnaires ont un dénominateur commun.
FR9510393A 1995-09-05 1995-09-05 Procede de quantification vectorielle de vocodeurs bas debit Expired - Fee Related FR2738383B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR9510393A FR2738383B1 (fr) 1995-09-05 1995-09-05 Procede de quantification vectorielle de vocodeurs bas debit
PCT/FR1996/001347 WO1997009711A1 (fr) 1995-09-05 1996-09-04 Procede de quantification vectorielle de vocodeurs bas debit
EP96930202A EP0850470B1 (fr) 1995-09-05 1996-09-04 Procede de quantification vectorielle de vocodeurs bas debit
DE69602963T DE69602963T2 (de) 1995-09-05 1996-09-04 Vektorquantisierungsverfahren für vokoder mit niedriger datenrate
US09/029,254 US6016469A (en) 1995-09-05 1996-09-04 Process for the vector quantization of low bit rate vocoders

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9510393A FR2738383B1 (fr) 1995-09-05 1995-09-05 Procede de quantification vectorielle de vocodeurs bas debit

Publications (2)

Publication Number Publication Date
FR2738383A1 true FR2738383A1 (fr) 1997-03-07
FR2738383B1 FR2738383B1 (fr) 1997-10-03

Family

ID=9482279

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9510393A Expired - Fee Related FR2738383B1 (fr) 1995-09-05 1995-09-05 Procede de quantification vectorielle de vocodeurs bas debit

Country Status (5)

Country Link
US (1) US6016469A (fr)
EP (1) EP0850470B1 (fr)
DE (1) DE69602963T2 (fr)
FR (1) FR2738383B1 (fr)
WO (1) WO1997009711A1 (fr)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2778041A1 (fr) * 1998-04-24 1999-10-29 Thomson Csf Procede de neutrodynage du tube d'un emetteur
FR2788390B1 (fr) 1999-01-12 2003-05-30 Thomson Csf Emetteur de radiodiffusion en ondes courtes a haut rendement optimise pour les emissions de type numerique
FR2790343B1 (fr) 1999-02-26 2001-06-01 Thomson Csf Systeme pour l'estimation du gain complexe d'un canal de transmission
FR2799592B1 (fr) 1999-10-12 2003-09-26 Thomson Csf Procede de construction et de codage simple et systematique de codes ldpc
FR2815492B1 (fr) * 2000-10-13 2003-02-14 Thomson Csf Systeme et procede de radiodiffusion assurant une continuite de service
FR2826208B1 (fr) 2001-06-19 2003-12-05 Thales Sa Systeme et procede de transmission d'un signal audio ou phonie
FR2826492B1 (fr) * 2001-06-22 2003-09-26 Thales Sa Procede et systeme de pre et de post-traitement d'un signal audio pour la transmission sur un canal fortement perturbe
FR2832877B1 (fr) * 2001-11-23 2006-08-18 Thales Sa Procede et dispositif d'egalisation par blocs avec interpolation amelioree
FR2832880B1 (fr) * 2001-11-23 2004-04-09 Thales Sa Procede et dispositif d'egalisation par blocs avec adaptation au canal de transmission
FR2832879B1 (fr) * 2001-11-23 2006-08-18 Thales Sa Procede et egalisation par segmentations des donnees

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4907276A (en) * 1988-04-05 1990-03-06 The Dsp Group (Israel) Ltd. Fast search method for vector quantizer communication and pattern recognition systems
EP0504485A2 (fr) * 1991-03-22 1992-09-23 International Business Machines Corporation Appareil pour coder un label, indépendant du locuteur

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2283592A1 (fr) * 1974-08-27 1976-03-26 Thomson Csf Dispositif extracteur de synchronisation et systeme de transmission d'informations comportant un tel dispositif
FR2431229A1 (fr) * 1978-07-12 1980-02-08 Thomson Csf Dispositif de demodulation de signaux modules en deplacement de frequence et systeme de transmission comportant un tel dispositif
FR2546001B1 (fr) * 1983-05-10 1985-07-05 Thomson Csf Demodulateur de signaux, a enveloppe constante et phase continue, modules angulairement par un train de symboles binaires
FR2604318B1 (fr) * 1986-09-23 1989-03-31 Thomson Csf Procede et dispositif de synchronisation symbole et leur application a la demodulation symbole de messages numeriques
FR2605769B1 (fr) * 1986-10-22 1988-12-09 Thomson Csf Operateur polynomial dans les corps de galois et processeur de traitement de signal numerique comportant un tel operateur
FR2605818B1 (fr) * 1986-10-27 1992-09-18 Thomson Csf Codeur-decodeur algebrique de codes en blocs reed solomon et bch, applicable aux telecommunications numeriques
FR2607987B1 (fr) * 1986-12-05 1989-02-10 Thomson Csf Procede et dispositif de modulation et de demodulation a plusieurs etats, a niveau de protection ajustable
FR2631147B1 (fr) * 1988-05-04 1991-02-08 Thomson Csf Procede et dispositif de detection de signaux vocaux
FR2631146B1 (fr) * 1988-05-04 1991-05-10 Thomson Csf Procede et dispositif de codage de l'energie du signal vocal dans des vocodeurs a tres faibles debits
FR2635420B1 (fr) * 1988-07-19 1990-10-19 Thomson Csf Procede et dispositif de demodulation de signaux a enveloppe constante et phase continue modules angulairement par un train de symboles binaires, tolerant les derives de frequence
FR2654542B1 (fr) * 1989-11-14 1992-01-17 Thomson Csf Procede et dispositif de codage de filtres predicteurs de vocodeurs tres bas debit.
FR2670313A1 (fr) * 1990-12-11 1992-06-12 Thomson Csf Procede et dispositif pour l'evaluation de la periodicite et du voisement du signal de parole dans les vocodeurs a tres bas debit.
FR2678407A1 (fr) * 1991-06-28 1992-12-31 Philips Electronique Lab Procede et dispositif avec un reseau neuronal pour classer des donnees, et appareil d'authentification de signature.
FR2690551B1 (fr) * 1991-10-15 1994-06-03 Thomson Csf Procede de quantification d'un filtre predicteur pour vocodeur a tres faible debit.
JP3163185B2 (ja) * 1992-11-27 2001-05-08 株式会社東芝 パターン認識装置およびパターン認識方法
DE4492048T1 (de) * 1993-03-26 1995-04-27 Motorola Inc Vektorquantisierungs-Verfahren und Vorrichtung
US5715367A (en) * 1995-01-23 1998-02-03 Dragon Systems, Inc. Apparatuses and methods for developing and using models for speech recognition

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4907276A (en) * 1988-04-05 1990-03-06 The Dsp Group (Israel) Ltd. Fast search method for vector quantizer communication and pattern recognition systems
EP0504485A2 (fr) * 1991-03-22 1992-09-23 International Business Machines Corporation Appareil pour coder un label, indépendant du locuteur

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
T.R. FISCHER, K.T. MALONE: "TRANSFORM CODING OF SPEECH WITH PYRAMID VECTOR QUANTIZATION", 1985 IEEE MILITARY COMMUNICATIONS CONFERENCE, MILCOM '85, vol. 2, 20 October 1985 (1985-10-20) - 23 October 1985 (1985-10-23), BOSTON, MA, pages 620 - 623, XP002005115 *

Also Published As

Publication number Publication date
WO1997009711A1 (fr) 1997-03-13
US6016469A (en) 2000-01-18
FR2738383B1 (fr) 1997-10-03
EP0850470B1 (fr) 1999-06-16
DE69602963T2 (de) 1999-11-04
DE69602963D1 (de) 1999-07-22
EP0850470A1 (fr) 1998-07-01

Similar Documents

Publication Publication Date Title
EP0782128B1 (fr) Procédé d&#39;analyse par prédiction linéaire d&#39;un signal audiofréquence, et procédés de codage et de décodage d&#39;un signal audiofréquence en comportant application
EP0801790B1 (fr) Procede de codage de parole a analyse par synthese
EP1709743A1 (fr) Quantification vectorielle en dimension et resolution variables
EP1692689B1 (fr) Procede de codage multiple optimise
EP0850470B1 (fr) Procede de quantification vectorielle de vocodeurs bas debit
EP0542585B1 (fr) Procédé de quantification d&#39;un filtre prédicteur pour vocodeur à très faible débit
EP0721180B1 (fr) Procédé de codage de parole à analyse par synthèse
EP0511095B1 (fr) Procédé et dispositif de codage-décodage d&#39;un signal numérique
EP0801788A1 (fr) Procede de codage de parole a analyse par synthese
CA2725799C (fr) Procede de traitement de donnees numeriques
FR3133265A1 (fr) Codage et décodage optimisé d’un signal audio utilisant un auto-encodeur à base de réseau de neurones
CA2725809A1 (fr) Procede de denombrement des vecteurs dans les reseaux reguliers de points
WO2011144863A1 (fr) Codage avec mise en forme du bruit dans un codeur hierarchique
EP1192619B1 (fr) Codage et decodage audio par interpolation
WO2023238340A1 (fr) Procédé de génération de forme d&#39;onde vocale, dispositif de génération de forme d&#39;onde vocale et programme
WO2009050409A1 (fr) Procede, module et programme d&#39;ordinateur avec quantification en fonction des vecteurs de gerzon
EP1194923B1 (fr) Procedes et dispositifs d&#39;analyse et de synthese audio
FR2987931A1 (fr) Modification des caracteristiques spectrales d&#39;un filtre de prediction lineaire d&#39;un signal audionumerique represente par ses coefficients lsf ou isf.
WO2002029786A1 (fr) Procede et dispositif de codage segmental d&#39;un signal audio
EP1190414A1 (fr) Codage et decodage audio avec composantes harmoniques et phase minimale
WO2001003119A1 (fr) Codage et decodage audio incluant des composantes non harmoniques du signal
FR2737360A1 (fr) Procedes de codage et de decodage de signaux audiofrequence, codeur et decodeur pour la mise en oeuvre de tels procedes
EP1192618A1 (fr) Codage audio avec liftrage adaptif

Legal Events

Date Code Title Description
ST Notification of lapse