[0001] La présente invention concerne un procédé et un dispositif de codage de l'énergie
du signal vocal dans des vocodeurs à très faibles débits.
[0002] Elle s'applique notamment à la réalisation de dispositifs vocodeurs à prédiction
linéaire du type de ceux qui sont décrits dans les "Revues Techniques THOMSON-CSF"
vol. 14 n°3 Septembre 1982 pages 715 à 731 et vol. 15 n°2 pages 495 à 516 éditées
par MASSON, 120 boulevard Saint Germain 75280 Paris.
[0003] Dans ces dispositifs le signal vocal est découpé en tranches de temps ou fenêtres
de longueurs fixes d'environ 20 millisecondes dans les vocodeurs d'émission,et chaque
fenêtre de signal est analysée pour extraire les paramètres nécessaires à la commande
des filtres numériques des vocodeurs de réception. Ces paramètres se composent, des
coefficients de commande des filtres de réception, de la valeur moyenne efficace VME
du signal vocal et d'une indication sur la nature voisée ou non du signal vocal.
[0004] Pour coder numériquement le signal de parole de façon à assurer des liaisons à très
faible débit, typiquement moins de 1000 bits/s, la méthode de codage du paramètre
VME consiste à quantifier le paramètre VME sur 32 valeurs (0 à 31) selon une échelle
logarithmique normalisée par la norme OTAN "Stanag 4198" relative au codage prédictif
linéaire d'ordre 10 dont une description figure dans l'article de M TREMAIN ayant
pour titre "The Government Standard Linear Predictive Coding Algorithm-LPC 10" et
qui est publié dans la revue Speech Technology April 1982 pages 40-49.
[0005] Le signal VME quantifié est ensuite codé sur 11 bits durant trois fenêtres consécutives.
La valeur moyenne efficace de la fenêtre du milieu est codée sur 5 bits et celle de
chacune des fenêtres extrêmes est codée par une méthode de codage de la fenêtre médiane.
Une description de ce procédé de codage peut être trouvée dans un article publié par
les auteurs Wong D, Juang BH Gray AH dans la revue IEEE Transactions on ASSP vol.
30, 1982 pages 770-780 ayant pour titre "An 800 bits/s Vector Quantization LPC Vocoder".
[0006] Cependant, le codage sur 11 bits du paramètre VME limite les possibilités de réduction
de débit des vocodeurs notamment aux bas débits inférieurs à 800 bits/secondes.
[0007] D'autres procédés de codages sont également connus de la demande de brevet allemand
DE A 2 608 244 et de l'article de J. MAKHOUL et al IEEE vol. 73 n°11 novembre 1985
pages 1551-1588 New York ayant pour titre "Vector quantization in speech coding" ceux-ci
permettant par changement de base de coder le vecteur énergie du signal vocal' avec
un nombre réduit de bits
[0008] Mais ces procédés ne permettent pas non plus d'obtenir des réductions de débit appréciables
en dessous de 800 bits/s par le fait que les calculs ont lieu pendant la durée de
20 à 30 ms de chaque trame de parole pendant laquelle le signal est considéré comme
stationnaire sans prendre en compte le fait que les échantillons peuvent en fait être
corrélés sur plusieurs trames successives
[0009] Le but de l'invention est de pallier l'inconvénient précité.
[0010] A cet effet, l'invention a pour objet, un procédé de codage de l'énergie de signaux
vocaux dans des vocodeurs à très faibles débits du type consistant à analyser les
signaux vocaux dans des fenêtres consécutives, à mesurer dans chacune des fenêtres
l'énergie en valeur moyenne efficace (VME) des échantillons du signal vocal et à quantifier
ladite énergie VME sur un nombre déterminé m de niveaux, caractérisé en ce qu'il consiste
à construire, dans un espace vectoriel à n dimensions ayant pour première base les
vecteurs unitaires un vecteur énergie résultant dont les composantes dans la base
sont les énergies VME mesurées respectivement dans n fenêtres d'analyse consécutives
du signal vocal, à opérer dans cet espace un changement de base ayant pour premier
axe principal un axe orienté correspondant à la somme des vecteurs unitaires de la
première base, à projeter dans la nouvelle base obtenue le vecteur énergie résultant,
et à coder sur q bits tel que 2
q=m la composante du vecteur résultant projeté sur l'axe principal de la nouvelle base
et sur un nombre réduit de bits inférieurs à q, les composantes du vecteur énergie
projeté sur les n-1 autres axes principaux de l'espace vectoriel défini dans la nouvelle
base.
[0011] L'invention a également pour objet un dispositif pour la mise en oeuvre du procédé
précité.
[0012] D'autres caractéristiques et avantages de l'invention apparaîtront ci-après à l'aide
de la description faite en regard des dessins annexés qui représentent.
La figure 1 le principe de codage mis en oeuvre par l'invention dans un espace à deux
dimensions.
La figure 2 le principe de codage mis en oeuvre par l'invention dans un espace à trois
dimensions.
La figure 3 un tableau récapitulatif des énergies portées par les axes principaux
de l'espace à trois dimensions défini dans la nouvelle base.
La figure 4 un dispositif mis en oeuvre par l'invention pour mesurer l'énergie des
échantillons du signal à l'intérieur de chaque fenêtre de signal.
La figure 5 un dispositif de codage du paramètre VME selon l'invention.
La figure 6 un dispositif de décodage du paramètre VME selon l'invention.
Les figures 7 et 8 des deuxième et troisième variantes de réalisation de dispositifs
de codage du paramètre VME selon l'invention.
[0013] Le procédé selon l'invention repose sur la constatation que l'énergie contenue dans
le signal vocal varie très lentement au cours du temps, de sorte que les énergies
E₀, E₁ et E₂ des échantillons quantifiés dans chaque fenêtre de signal peuvent être
considérées comme fortement corrélées les unes aux autres. Il est possible de constater
en effet, en considérant seulement un nombre très important de groupes de deux fenêtres
successives, et en référençant le vecteur énergie correspondant de chaque groupe dans
un espace vectoriel orthonormé à deux dimensions où les énergies E₁ et E₂ de chaque
fenêtre représentent les projections du vecteur énergie E de chaque groupe dans la
base représentative de cet espace, les origines des vecteurs énergie E de tous les
groupes étant confondues avec celle de l'espace vectoriel à deux dimensions, que les
extrémités des vecteurs énergie E se répartissent, de la façon représentée à la figure
1, dans un domaine (D) du plan formé par les deux vecteurs E₁ et E₂, sensiblement
symétriques par rapport à une bissectrice E'₁ de l'angle (E₁, E₂) formé par les deux
vecteurs, en étant très allongé dans la direction de la bissectrice et par contre
aplati dans la direction normale à celle-ci.
[0014] La même constatation peut être faite en analysant l'énergie du signal de parole par
groupes de n fenêtres successives.Par exemple, sur un nombre très grand d'observations
on peut remarquer, en référençant comme sur la figure 2 les énergies E₀ E₁ et E₂ dans
un espace à 3 dimensions, que les extrémités des vecteurs résultant chacun de la somme
de trois vecteurs E₀, E₁ et E₂ sont toutes contenues dans un domaine ou "nuage" comportant
trois axes d'inertie principaux.
[0015] Sur les axes E₀, E₁ et E₂ du trièdre représenté à la figure 2, le vecteur unitaire
du premier axe d'inertie a pour composantes (3
-½, 3
-½, 3
-½), le vecteur unitaire du deuxième axe d'inertie a pour composantes (-2
-½, 0, 2
-½) et le vecteur unitaire du troisième axe d'inertie a pour composantes (-6
-½, 2x6
-½, -6
-½). Comme indiqué dans le tableau de la figure 3, il apparaît qu'en projetant l'énergie
de chaque vecteur E de composantes E₀, E₁, E₂ sur chaque axe d'inertie, que les pourcentages
des énergies des vecteurs projetés sont de 90% pour le premier axe, 8% pour le deuxième
et 2% seulement pour le troisième. Il apparaît, qu'une économie en bits de codage
peut être réalisée en ne codant pas les composantes E₀, E₁ et E₂ dans tout l'espace
de codage maximal formé par le cube dont les longueurs des côtés représentent les
énergies maximales E
0max, E
1max et E
2max que peut prendre le signal de parole selon trois fenêtres consécutives, mais en codant
par contre leur résultante E dans la nouvelle base orthonormée formée par les 3 vecteurs
unitaires formant les axes principaux d'inertie, ce qui n'occupe qu'un faible volume
du cube défini précédemment.
[0016] En notant par P, la matrice des composantes des 3 vecteurs unitaires telle que :

avec a=3
-½ , b=-2
-½ et c=-6
-½
et en notant par (E'₀, E'₁ et E'₂) les composantes dans la nouvelle base du vecteur
résultant de l'addition des trois vecteurs E₀, E₁ et E₂, le vecteur de composantes
(E'₀, E'₁ et E'₂) vérifie la relation matricielle suivante :

[0017] Dans cette relation la matrice [E'] a pour vecteurs colonnes les composantes E'₀,
E'₁ et E'₂, la matrice [E] a pour vecteurs colonnes la composantes E₀, E₁ et E₂, et
tP désigne la matrice transposée de P.
[0018] A titre d'exemple, les transformations précédentes permettent, en limitant les valeurs
de E'₀ entre 0 et 54, de coder celle-ci sur seulement 4 bits selon une échelle linéaire
comprise entre ces deux valeurs et en troncaturant les valeurs E'₁ et E'₂ entre les
valeurs -16 et +16, celles-ci, peuvent être codées respectivement sur 3 bits et 2
bits selon également une échelle linéaire comprise également entre ces 2 valeurs.
Le résultat est alors l'obtention de 3 valeurs codées (E''₀, E''₁ et E''₂) sur un
total de seulement 9 bits au lieu de 11 dans l'art antérieur ce qui est suffisant
pour assurer des transmissions à 800 bits/s de bonne qualité.
[0019] En réception les opérations effectuées sont les opérations inverses du codage. A
partir des valeurs codées E''₀, E''₁ et E''₂ le procédé détermine dans une première
étape le vecteur de composante E'₀, E'₁ et E'₂ exprimé dans la base des vecteurs unitaires
des axes principaux d'inertie. Puis selon une deuxième étape, il multiplie la matrice
P par le vecteur de composantes E'₀, E'₁, E'₂ pour obtenir un vecteur de composantes
E₀, E₁ et E₂. Enfin, selon une troisième étape il applique aux composantes E₀, E₁
et E₂ la loi de décodage de la norme de codage prédictif linéaire d'ordre 10, pour
obtenir les trois valeurs efficaces VME₀, VME₁ et VME₂ des trois fenêtres de signal
consécutives traitées.
[0020] Un dispositif de codage correspondant est représenté aux figures 4 et 5. Sur la figure
4 le dispositif de mesure de l'énergie des échantillons du signal vocal comprend un
circuit accumulateur 1, représenté à l'intérieur d'une ligne fermée en pointillés,
ce circuit étant couplé à deux registres 2 et 3 reliés en série. Le circuit accumulateur
1 se compose, de façon connue, d'un registre accumulateur 4 et d'un circuit additionneur
5. Chaque échantillon S
i du signal vocal est appliqué sur une première entrée d'opérande du circuit additionneur
5 et est additionné au contenu du registre accumulateur 4 qui est appliqué sur la
deuxième entrée d'opérande du circuit additionneur 5. Le cumul des échantillons S
i d'une fenêtre a ainsi lieu dans le registre accumulateur 4 pendant toute la durée
de la fenêtre. A la fin de chaque fenêtre le contenu de l'accumulateur 4 est transféré
dans le registre 2 pour être ensuite chargé à la fenêtre suivante dans le registre
3. En régime établi, les contenus des registres 3, 2 et 4 indiquent en permanence
en fin de fenêtre, les énergies respectives E₀ E₁ et E₂ contenues dans trois fenêtres
consécutives d'exploration du signal vocal. Ces valeurs d'énergies E₀, E₁, E₂ sont
appliquées au dispositif de codage de la figure 5, aux entrées correspondantes d'un
circuit additionneur 6. Le dispositif de codage comprend également trois voies de
traitement 7, 8 et 9 représentées à l'intérieur de lignes fermées en pointillées.
La voie 7 comprend, un circuit atténuateur 10 de rapport d'atténuation 3
-½, un étage limiteur 11 et un codeur 12. L'ensemble des éléments 10, 11, 12 sont couplés
entre eux, dans cet ordre, et en série à la sortie du circuit additionneur 6. La voie
8 comprend un circuit amplificateur 13 de gain 3, couplé à un circuit atténuateur
15 de rapport d'atténuation 6
-½ au travers d'un circuit soustracteur 14. Le circuit soustracteur 14 comporte une
première entrée d'opérande, marquée "+" qui est reliée à la sortie du circuit amplificateur
13 et une deuxième entrée d'opérande marquée "-" qui est reliée à la sortie du circuit
additionneur 6.
[0021] La voie 9 comprend un circuit atténuateur 16 de rapport d'atténuation 2
-½ couplé à la sortie d'un circuit additionneur 17. Un circuit aiguilleur 18 applique
l'un ou l'autre des signaux obtenus en sortie des voies 8 et 9 à l'entrée d'un codeur
19 au travers d'un étage limiteur 20.
[0022] Le décodeur de réception est représenté à la figure 6. Il comprend un ensemble de
trois voies de réceptions 21, 22 et 23 représentées à l'intérieur de lignes fermées
en pointillées.
[0023] La première voie 21 comprend, reliés en série, un circuit d'atténuation 24 de rapport
d'atténuation 3
-½ et deux circuits soustracteurs 25 et 26.
[0024] La deuxième voie 22 comprend reliés en série, un circuit atténuation 27 de rapport
d'atténuation 2
-½, un circuit additionneur 28 et un circuit soustracteur 29;
la troisième voie 23 comprend, reliés en série un circuit d'atténuation 30 de rapport
d'atténuation 6
-½, un amplificateur 31 de gain 2 et un circuit additionneur 32.
[0025] Le circuit soustracteur 25 est relié par une première entrée d'opérande marquée "+"
à la sortie du circuit atténuateur 24 et par une deuxième entrée d'opérande marquée
"-" à la sortie du circuit atténuateur 27. Le résultat de la soustraction effectuée
par le circuit soustracteur 25 est appliqué sur une première entrée d'opérande marquée
"+" du circuit soustracteur 26. La deuxième entrée d'opérande marquée "-" du circuit
soustracteur 26 est reliée à la sortie du circuit atténuateur 30. La sortie du circuit
soustracteur 26 fournit l'énergie E₀ de la première fenêtre du signal vocal. Le circuit
additionneur 28 possède une première entrée d'opérande reliée à la sortie du circuit
atténuateur 27 et une deuxième entrée d'opérande reliée à la sortie du circuit atténuateur
24. Le résultat obtenu à la sortie du circuit additionneur 28 est appliqué sur une
première entrée d'opérande marquée "+" du circuit soustracteur 29. La deuxième entrée
d'opérande marquée "-" du circuit soustracteur 29 est reliée à la sortie du circuit
atténuateur 30. L'énergie E₂ du signal est obtenue à la sortie du circuit soustracteur
29. Enfin le circuit additionneur 32 est relié par une première entrée d'opérande
à la sortie de l'amplificateur 31 et par une deuxième entrée d'opérande à la sortie
du circuit atténuateur 24. L'énergie E₁ du signal est obtenue à la sortie du circuit
additionneur 23.
[0026] Plutôt que de réaliser un codage scalaire du vecteur E'₀, E'₁, E'₂ dans la base des
trois vecteurs unitaires des axes principaux d'inertie, une deuxième variante de mise
en oeuvre du procédé selon l'invention peut consister à effectuer, comme le montre
la figure 7, un codage vectoriel du vecteur (E'₀, E'₁, E'₂), en cherchant le plus
proche vecteur du vecteur (E'₀, E'₁, E'₂) parmi 2
N vecteurs dont les extrémités coïncideraient avec les noeuds d'un sous-ensemble borné
d'un réseau cubique à face centrée, de façon à obtenir un codage sur N bits. Ce mode
de codage est réalisé par les circuits de la figure 7, qui comprennent une mémoire
morte programmable 33 adressée par un compteur d'adresse 34, trois circuits soustracteurs
35 à 37, trois circuits d'élévation au carré 38 à 40, un circuit sommateur 41, un
circuit comparateur 42, et deux registres 43 et 44. La mémoire morte 33 contient les
trois composantes des 2
N vecteurs estimés (E₀, E₁ et E₂) et ceux-ci sont adressés par le compteur d'adresse
à N bits 24. Chacune des composantes lues dans la mémoire 33 est appliquée respectivement
sur une première entrée d'opérande des circuits soustracteurs 35 à 37. Les composantes
E₀, E₁ et E₂ de l'énergie du signal vocal de chacune des trois fenêtres sont appliquées
respectivement sur les deuxièmes entrées d'opérande des circuits soustracteurs 35
à 37. Les résultats des soustractions effectuées par les circuits soustracteurs 35
à 37 sont appliqués respectivement sur l'entrée des circuits d'élévation au carré
38 à 40, et les résultats des élévations au carré sont appliqués aux entrées du circuit
sommateur 41. Les sommes des carrés des différences entre, chaque composante (E₀,
E₁, E₂) d'un vecteur représentant les énergies du signal vocal dans trois fenêtres
consécutives et les composantes E₀, E₁, E₂ d'un vecteur estimé adressé par le compteur
d'adresses 34, sont appliquées successivement par la sortie du circuit sommateur 41
sur une première entrée de comparaison d'un circuit comparateur 42 pour être comparées
au contenu du registre 43 qui est appliqué sur la deuxième entrée de comparaison du
comparateur 42. A chaque comparaison le contenu du registre 43 est mis à jour par
le résultat de la sommation obtenu à la sortie du circuit sommateur 41 si ce résultat
est inférieur au contenu existant dans le registre 43. De la sorte après chaque progression
du compteur d'adresse 34, le registre 43 garde en mémoire la somme des carrés obtenue
du circuit sommateur 41 qui est la plus petite parmi toutes les sommes déjà effectuées
depuis le début de l'adressage des vecteurs estimés dans la mémoire 33. Parallèlement
à chaque mise à jour du contenu du registre 43 le contenu du registre 44 est remplacé
par l'adresse du vecteur correspondant qui a été lu dans la mémoire 33. On obtient
ainsi directement dans le registre 44 le n° du vecteur VME codé sur N bits.
[0027] Une troisième variante de mise en oeuvre du procédé selon l'invention est représenté
à la figure 8. Comme cette troisième variante découle du mode de réalisation de la
deuxième variante décrite précédemment les éléments homologues de la figure 7 sont
représentés sur la figure 8 avec les mêmes références. Cette troisième variante diffère
de la précédente par le fait que l'espace de la mémoire 33 est partagé en trois sous
espaces mémoires 33
a, 33
b et 33
c. Dans ce cas les N/3 premiers bits du compteur d'adresse 34 adressent les sous espaces
33
a, les N/3 bits suivants adressent le deuxième sous-espace et N/3 bits restants adressent
le sous-espace 33
c. Ceci permet d'avoir une représentation vectoriel des vecteurs dans un espace à trois
dimensions ayant la forme d'un réseau cubique à face centrée, en affectant à chaque
vecteur un groupe et un sous groupe de cet espace. En affectant les groupes du réseau
cubique à l'espace mémoire 33
a les sous groupes à l'espace mémoire 33
b, 2
N/3 vecteurs énergie estimés peuvent être codés dans l'espace mémoire 33
a et 2
N/3 vecteurs énergie estimés peuvent être codés dans l'espace mémoire 33
b. Les 2
N/3 vecteurs restants sont codés dans l'espace mémoire 33
c. Pour N = 9 on obtient ainsi 8 groupes comportant chacun 8 sous groupes de 8 vecteurs
chacun.
[0028] De manière similaire au dispositif représenté à la figure 7 l'énergie du signal vocal
de composante E₀, E₁ et E₂ est mesurée par les circuits 35 à 43 relativement à l'énergie
des vecteurs estimés correspondants formée successivement au travers d'un multiplexeur
45 par les mémoires 33
a, 33
b et 33
c.
[0029] On définit ainsi successivement le groupe, le sous groupe puis le vecteur du sous
groupe qui possède l'énergie la plus proche du vecteur de composante E₀, E₁ et E₂.
Les numéros de groupe sous groupe et de vecteur à l'intérieur d'un sous groupe sont
enregistrés respectivement dans le registre 44 qui a sur la figure 8 la forme d'un
banc de registres composés des registres 44
a, 44
b et 44
c. Des portes ET 48, 49 et 50 permettent le transfert des adresses groupe, sous groupe
et vecteur à l'intérieur d'un groupe, chaque fois que le résultat de la comparaison
effectuée par le comparateur 42 indique que la somme formée par le sommateur 41 est
inférieure au contenu du registre 43.
1. Procédé de codage de l'énergie de signaux vocaux dans des vocodeurs à très faibles
débits du type consistant à analyser les signaux vocaux dans des fenêtres consécutives,
à mesurer (1, 2, 3) dans chacune des fenêtres l'énergie en valeur moyenne efficace
(VME) des échantillons du signal vocal et à quantifier ladite énergie VME sur un nombre
déterminé m de niveaux, caractérisé en ce qu'il consiste à construire, dans un espace
vectoriel à n dimensions ayant pour première base les vecteurs unitaires (e₁ à en) un vecteur énergie résultant dont les composantes dans la base (e₁ à en) sont les énergies VME mesurées respectivement dans n fenêtres d'analyse consécutives
du signal vocal, à opérer dans cet espace un changement de base ayant pour premier
axe principal un axe orienté correspondant à la somme des vecteurs unitaires de la
première base, à projeter (6, 7, 8, 9) dans la nouvelle base obtenue le vecteur énergie
résultant, et à coder sur q bits tel que 2q=m la composante du vecteur résultant projeté sur l'axe principal de la nouvelle base
et sur un nombre réduit de bits inférieurs à q, les composantes du vecteur énergie
projeté sur les n-1 autres axes principaux de l'espace vectoriel défini dans la nouvelle
base.
2. Procédé selon la revendication 1, caractérisé en ce que l'espace vectoriel est un
espace à trois dimensions, et en ce que les vecteurs unitaires portés par axes principaux
de la nouvelle base ont pour composante dans la base définie par les vecteurs de l'espace
à trois dimensions représentant les énergies mesurées sur 3 fenêtres consécutives,
respectivement (3-½, 3-½, 3-½) pour le premier axe principal (-2-½, 0, 2-½) pour le deuxième axe principal, et (-6-½,2x6-½-6-½) pour le troisième axe principal.
3. Procédé selon la revendication 2, caractérisé en ce que le codage du vecteur énergie
résultant projeté sur les premier, deuxième et troisième axes principaux ont des longueurs
respectives de 4, 3 et 2 bits.
4. Dispositif pour la mise en oeuvre du procédé selon l'une quelconque des revendications
1 à 3 comprenant des moyens pour analyser des signaux vocaux dans des fenêtres consécutives,
des moyens (1, 2, 3) pour mesurer dans chacune des fenêtres l'énergie en valeur moyenne
efficace (VME) des échantillons du signal vocal et pour quantifier ladite énergie
sur un nombre déterminé m de niveaux,
le dispositif étant caractérisé en ce qu'il comprend
des moyens de calcul matriciel (6, 7, 8, 9) pour projeter dans une base vectorielle
ayant pour premier axe principal un axe orienté correspondant à la somme des vecteurs
unitaires (e₁ à en) d'une première base, un vecteur énergie construit dans la base (e₁ à en) dont les composantes dans cette base sont respectivement les énergies VME mesurées
dans n fenêtres de mesures consécutives du signal vocal, et des moyens de codage (12,
19) pour coder sur q bits tel que 2q=m la composante du vecteur énergie projeté sur l'axe principal de la nouvelle base
et pour coder sur un nombre réduit de bits inférieur à q, les composantes du vecteur
énergie projeté sur les n-1 autres axes principaux de l'espace vectoriel défini dans
la nouvelle base.
5. Dispositif selon la revendication 4, caractérisé en ce que pour n = 3 les moyens de
calcul matriciel (6, 7, 8, 9 ; 33...44 ) effectuent le produit matriciel

où [E] est le vecteur colonne formés par les composantes E₀, E₁, E₂ des énergies
mesurées sur trois fenêtres successives et

avec a=3
-½,b=-2
-½ et c=-6
-½
6. Dispositif selon la revendication 4, caractérisé en ce qu'il comprend des moyens (35,...44)
pour rechercher dans un ensemble de 2N vecteurs, préenregistrés dans une mémoire (33) et dont les extrémités coïncident
avec les noeuds d'un sous ensemble borné d'un réseau cubique à face centrée, le vecteur
qui a les composantes dans la nouvelle base les plus proches des composantes E₀, E₁
et E₂ des énergies mesurées sur trois fenêtres successives du signal vocal, de manière
à représenter le code du vecteur résultant sur N bits.
7. Dispositif selon la revendication 6, caractérisé en ce que la mémoire (33) est organisée
en N/3 groupes, N/3 sous groupes de N/3 vecteurs chacun.
8. Dispositif selon l'une quelconque des revendications 6 et 7, caractérisé en ce qu'il
comprend
- un compteur d'adresse pour adresser les vecteurs préenregistrés dans la mémoire
(33)
- des circuits soustracteurs (35, 36, 37) pour comparer les N valeurs moyennes efficaces
du signal vocales fournies par N fenêtres, aux N composantes respectives des vecteurs
lus dans la mémoire (33)
- et un circuit de décision (42, 43, 44) pour repérer le vecteur lu dans la mémoire
(33) qui possède les composantes lues les plus proches des N valeurs moyennes efficaces
mesurées du signal vocal.
1. Verfahren zur Kodierung der Energie von Sprachsignalen in Vocodern sehr geringer Geschwindigkeit,
die die Sprachsignale in aufeinanderfolgenden Fenstern analysieren, in jedem Fenster
die mittlere effektive Energie (VME) der Tastproben des Sprachsignals messen (1, 2,
3) und diese Energie VME im Rahmen einer gegebenen Anzahl m von Energiepegeln quantifizieren,
dadurch gekennzeichnet, daß das Verfahren darin besteht, in einem n-dimensionalen
Vektorraum, der als erste Basis die Einheitsvektoren (e₁ bis en) besitzt, einen resultierenden Energievektor zu konstruieren, dessen Basiskomponenten
(e₁ bis en) die Energien VME sind, die in n aufeinanderfolgenden Sprachsignal-Analysefenstern
gemessen werden, in diesem Vektorraum eine Basisänderung durchzuführen, die als erste
Hauptachse eine entsprechend der Summe der Einheitsvektoren der ersten Basis orientierte
Achse besitzt, den resultierenden Energievektor in die neu erhaltene Basis zu projizieren
(6, 7, 8, 9) und die auf die Hauptachse der neuen Basis projizierte Komponente des
resultierenden Vektors mit q Bits der Art zu kodieren, daß 2q = m gilt, sowie die Komponenten des auf die n-1 anderen Hauptachsen des in der neuen
Basis definierten Vektorraums projizierten Energievektors mit einer verringerten Anzahl
von Bits kleiner als q zu kodieren.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Vektorraum ein dreidimensionaler
Raum ist und daß die Einheitsvektoren entlang der Hauptachsen der neuen Basis als
Komponente in der Basis, die durch die die in drei aufeinanderfolgenden Fenstern gemessenen
Energien bildenden Vektoren des dreidimensionalen Raums folgende Werte besitzen: (3-½, 3-½, 3-½) für die erste Hauptachse, (-2-½, 0, 2-½) für die zweite Hauptachse und (-6½, 2x6½, -6½) für die dritte Hauptachse.
3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, daß die Kodierung des resultierenden
Energievektors, der auf die erste, zweite und dritte Hauptachse projiziert ist, die
Länge von 4, 3 bzw. 2 Bits besitzt.
4. Vorrichtung zur Durchführung des Verfahrens nach einem beliebigen der Ansprüche 1
bis 3 mit Mitteln zur Analyse der Sprachsignale in aufeinanderfolgenden Fenstern,
Mitteln (1, 2, 3) zur Messung der mittleren effektiven Energie (VME) der Tastproben
des Sprachsignals in jedem der Fenster und zur Quantifizierung der Energie im Rahmen
einer gegebenen Anzahl m von Pegeln, dadurch gekennzeichnet, daß einerseits Mittel
zur Matrixberechnung (6, 7, 8, 9), um auf eine Vektorbasis, deren erste Hauptachse
eine entsprechend der Summe der Einheitsvektoren (e₁ bis en) einer ersten Basis ausgerichtete Achse besitzt, einen in der Basis (e₁ bis en) konstruierten Energievektor zu projizieren, dessen Komponenten in dieser Basis die
in n aufeinanderfolgenden Meßfenstern des Sprachsignals gemessenen Energiewerte VME
sind, und andererseits Kodiermittel (12, 19) vorgesehen sind, um mit q Bits die Komponente
des auf die Hauptachse der neuen Basis projizierten Energievektors mit q Bits, derart,
daß 2q = m gilt, sowie mit einer verringerten Anzahl von Bits kleiner als q die Komponenten
des auf die n-1 anderen Hauptachsen des in der neuen Basis definierten Vektorraums
projizierten Energievektors zu kodieren.
5. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß für n = 3 die Mittel zur
Matrixberechnung (6, 7, 8, 9; 33...44) das folgende Matrixprodukt bilden:

wobei [E] der S paltenvektor ist, der von den Komponenten E₀, E₁, E₂ der in drei
aufeinanderfolgenden Fenstern gemessenen Energiewerte gebildet wird und

mit a=3
-½,b=-2
-½ und c=-6
-½
6. Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß sie Mittel (35, ...44) aufweist,
um in einer Gruppe von 2N Vektoren, die in einem Speicher (33) vorher registriert wurden und deren Enden mit
den Knoten einer begrenzten Untereinheit eines kubischen Netzes mit zentrierter Seite
koinzidieren, den Vektor zu suchen, dessen Komponenten in der neuen Basis die den
Komponenten E₀, E₁ und E₂ der in drei aufeinanderfolgenden Fenstern des Sprachsignals
gemessenen Energien am nächsten kommen, so daß sich der Kode des resultierenden Vektors
mit N Bits ergibt.
7. Vorrichtung nach Anspruch 6, dadurch gekennzeichnet, daß der Speicher (33) in N/3
Gruppen mit N/3 Untergruppen von je N/3 Vektoren strukturiert ist.
8. Vorrichtung nach einem beliebigen der Ansprüche 6 und 7, dadurch gekennzeichnet, daß
sie aufweist
- einen Adressenzähler, um die vorher im Speicher (33) registrierten Vektoren zu adressieren,
- Subtrahierkreise (35, 36, 37), um die von N Fenstern gelieferten N effektiven Mittelwerte
des Sprachsignals mit den N entsprechenden Komponenten der aus dem Speicher (33) ausgelesenen
Vektoren zu vergleichen,
- und einen Entscheidungskreis (42, 43, 44), um den aus dem Speicher (33) ausgelesenen
Vektor zu erfassen, der die den N gemessenen effektiven Mittelwerten des Sprachsignals
nächstliegenden gelesenen Komponenten besitzt.
1. A process for coding the energy of voice signals in very low-rate vocoders of the
type which analyse voice signals in consecutive windows, measure (1, 2, 3) in each
of these windows the energy as a root mean square (RMS) of the samples of voice signal
and quantify said RMS energy over a given number m of levels, characterised in that
it consists of constructing in an n-dimensional vector space having as a first base
the individual vectors (e₁ to en), a resultant energy vector of which the components in the base (e₁ to en) are the RMS energies measured respectively in n consecutive analysis windows of
the voice signal, of making in this space a change of base having as its first principal
axis an oriented axis corresponding to the sum of the individual vectors of the first
base, of projecting (6, 7, 8, 9) in the new base obtained the resultant energy vector,
and of coding on q bits such that 2q = m the component of the resultant vector projected on the principal axis of the
new base and, on a smaller number of bits less than q, the components of the energy
vector projected on the n-1 other principal axes of the vector space defined in the
new base.
2. A process according to Claim 1, characterised in that the vector space is a three-dimensional
space, and in that the individual vectors carried by principal axes of the new base
have as a component in the base defined by the vectors of the three-dimensional space
representing the energies measured over 3 consecutive windows, respectively ( 3-½, 3-½, 3-½) for the first principal axis, (-2-½, 0, 2-½) for the second principal axis, and (-6-½, 2x6-½, -6-½) for the third principal axis.
3. A process according to Claim 2, characterised in that the coding of the resultant
energy vector projected over the first, second and third principal axes have respective
lengths of 4, 3 and 2 bits.
4. A device for implementing the process according to any one of Claims 1 to 3 comprising
means for analysing voice signals in consecutive windows, means (1, 2, 3) for measuring
in each of the windows the energy as a root mean square (RMS) of the samples of the
voice signal and for quantifying said energy over a given number m of levels,
the device being characterised in that it comprises
matrix calculating means(6, 7, 8, 9) for projecting, in a vector base having as its
first principal axis an oriented axis corresponding to the sum of the individual vectors
(e₁ to en) of a first base, an energy vector constructed in the base (e₁ to en), the components of which in this base are respectively the RMS energies measured
in n consecutive measurement windows of the voice signal, and coding means (12, 19)
for coding on q bits such that 2q = m the component of the energy vector projected on the principal axis of the new
base and for coding on a smaller number of bits less than q the components of the
energy vector projected on the n-1 other principal axes of the vector space defined
in the new base.
5. A device according to Claim 4, characterised in that where n = 3 the matrix calculating
means (6,7,8,9; 33 ... 44) carry out the matrix product

where [E] is the column vector formed by the components E
o, E₁, E₂ of the energy measured over three successive windows

where a = 3
-½, b = -2
-½ and c = -6
-½
6. A device according to Claim 4, characterised in that it comprises means (35 ... 44)
for searching among a set of 2N vectors, prerecorded in a memory (33), the extremities of which coincide with the
nodes of a limited sub-assembly of a face-centred cube lattice, for the vector which
has those components in the new base which are closest to the components E₀, E₁ and
E₂ of the energies measured over three successive windows of the voice signal, so
as to represent the code of the resulting vector over N bits.
7. A device according to Claim 6, characterised in that the memory (33) is organised
into N/3 groups, N/3 sub-groups each of N/3 vectors.
8. A device according to any one of Claims 6 and 7, characterised in that it comprises
- an address counter for addressing the prerecorded vectors to the memory (33)
- subtracter circuits (35, 36, 37) for comparing the N root mean squares of the voice
signals supplied by N windows with the N respective components of the vectors read
from the memory (33)
- and a decision circuit (42, 43, 44) for identifying the vector read from the memory
(33) which has the read components which are closest to the N measured root mean squares
of the voice signal.