<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ep-patent-document PUBLIC "-//EPO//EP PATENT DOCUMENT 1.1//EN" "ep-patent-document-v1-1.dtd">
<ep-patent-document id="EP89401169B1" file="EP89401169NWB1.xml" lang="fr" country="EP" doc-number="0341129" kind="B1" date-publ="19930623" status="n" dtd-version="ep-patent-document-v1-1">
<SDOBI lang="fr"><B000><eptags><B001EP>..BE..DE..ES..GB..IT..............................</B001EP><B005EP>J</B005EP><B007EP>DIM360   - Ver 2.5 (21 Aug 1997)
 2100000/1 2100000/2</B007EP></eptags></B000><B100><B110>0341129</B110><B120><B121>FASCICULE DE BREVET EUROPEEN</B121></B120><B130>B1</B130><B140><date>19930623</date></B140><B190>EP</B190></B100><B200><B210>89401169.1</B210><B220><date>19890425</date></B220><B240><B241><date>19900327</date></B241><B242><date>19910528</date></B242></B240><B250>fr</B250><B251EP>fr</B251EP><B260>fr</B260></B200><B300><B310>8806002</B310><B320><date>19880504</date></B320><B330><ctry>FR</ctry></B330></B300><B400><B405><date>19930623</date><bnum>199325</bnum></B405><B430><date>19891108</date><bnum>198945</bnum></B430><B450><date>19930623</date><bnum>199325</bnum></B450><B451EP><date>19920901</date></B451EP></B400><B500><B510><B516>5</B516><B511> 5G 10L   9/14   A</B511></B510><B540><B541>de</B541><B542>Verfahren und Einrichtung zur Kodierung von Sprachsignalenergie in Vokodern mit sehr niedriger Bitrate</B542><B541>en</B541><B542>Method and apparatus for coding speech signal energy in very low bitrate vocoders</B542><B541>fr</B541><B542>Procédé et dispositif de codage de l'énergie du signal vocal dans des vocodeurs à très faibles débits</B542></B540><B560><B561><text>DE-A- 2 608 244</text></B561><B562><text>PROCEEDINGS OF THE IEEE, vol. 73, no. 11, novembre 1985, pages 1551-1588, IEEE, New York, US; J. MAKHOUL et al.: "Vector quantization in speech coding"</text></B562></B560></B500><B700><B720><B721><snm>Rochette, Denis</snm><adr><str>THOMSON-CSF
SCPI
Cédex 67</str><city>F-92045 Paris la Défense</city><ctry>FR</ctry></adr></B721><B721><snm>Laurent, Pierre André</snm><adr><str>THOMSON-CSF
SCPI
Cédex 67</str><city>F-92045 Paris la Défense</city><ctry>FR</ctry></adr></B721></B720><B730><B731><snm>THOMSON-CSF</snm><iid>00201761</iid><adr><str>173, Boulevard Haussmann</str><city>75008 Paris</city><ctry>FR</ctry></adr></B731></B730><B740><B741><snm>Lincot, Georges</snm><sfx>et al</sfx><iid>00041881</iid><adr><str>THOMSON-CSF-S.C.P.I.,
13, Avenue du Président
Salvador Allende</str><city>94117 Arcueil Cédex</city><ctry>FR</ctry></adr></B741></B740></B700><B800><B840><ctry>BE</ctry><ctry>DE</ctry><ctry>ES</ctry><ctry>GB</ctry><ctry>IT</ctry></B840><B880><date>19891108</date><bnum>198945</bnum></B880></B800></SDOBI><!-- EPO <DP n="1"> -->
<description id="desc" lang="fr">
<p id="p0001" num="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.</p>
<p id="p0002" num="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.</p>
<p id="p0003" num="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.</p>
<p id="p0004" num="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.</p>
<p id="p0005" num="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<!-- EPO <DP n="2"> --> 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".</p>
<p id="p0006" num="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.</p>
<p id="p0007" num="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</p>
<p id="p0008" num="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</p>
<p id="p0009" num="0009">Le but de l'invention est de pallier l'inconvénient précité.</p>
<p id="p0010" num="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<!-- EPO <DP n="3"> --> 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<sup>q</sup>=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.</p>
<p id="p0011" num="0011">L'invention a également pour objet un dispositif pour la mise en oeuvre du procédé précité.<!-- EPO <DP n="4"> --></p>
<p id="p0012" num="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.
<ul id="ul0001" list-style="none">
<li>La figure 1 le principe de codage mis en oeuvre par l'invention dans un espace à deux dimensions.</li>
<li>La figure 2 le principe de codage mis en oeuvre par l'invention dans un espace à trois dimensions.</li>
<li>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.</li>
<li>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.</li>
<li>La figure 5 un dispositif de codage du paramètre VME selon l'invention.</li>
<li>La figure 6 un dispositif de décodage du paramètre VME selon l'invention.</li>
<li>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.</li>
</ul></p>
<p id="p0013" num="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<!-- EPO <DP n="5"> --> 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.</p>
<p id="p0014" num="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.</p>
<p id="p0015" num="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<sup>-½</sup>, 3<sup>-½</sup>, 3<sup>-½</sup>), le vecteur unitaire du deuxième axe d'inertie a pour composantes (-2<sup>-½</sup>, 0, 2<sup>-½</sup>) et le vecteur unitaire du troisième axe d'inertie a pour composantes (-6<sup>-½</sup>, 2x6<sup>-½</sup>, -6<sup>-½</sup>). 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<sub>0max</sub>, E<sub>1max</sub> et E<sub>2max</sub> 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.<!-- EPO <DP n="6"> --></p>
<p id="p0016" num="0016">En notant par P, la matrice des composantes des 3 vecteurs unitaires telle que :<maths id="math0001" num=""><img id="ib0001" file="imgb0001.tif" wi="38" he="23" img-content="math" img-format="tif"/></maths><br/>
 avec a=3<sup>-½</sup> , b=-2<sup>-½</sup> et c=-6<sup>-½</sup><br/>
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 :<maths id="math0002" num=""><math display="block"><mrow><msup><mrow><mtext>[E'] = P⁻¹x[E] =</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><mtext>P x [E].</mtext></mrow></math><img id="ib0002" file="imgb0002.tif" wi="36" he="5" img-content="math" img-format="tif"/></maths></p>
<p id="p0017" num="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 <sup>t</sup>P désigne la matrice transposée de P.</p>
<p id="p0018" num="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é.</p>
<p id="p0019" num="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₁<!-- EPO <DP n="7"> --> 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.</p>
<p id="p0020" num="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<sub>i</sub> 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<sub>i</sub> 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<sup>-½</sup>, 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<sup>-½</sup> au travers d'un circuit<!-- EPO <DP n="8"> --> 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.</p>
<p id="p0021" num="0021">La voie 9 comprend un circuit atténuateur 16 de rapport d'atténuation 2<sup>-½</sup> 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.</p>
<p id="p0022" num="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.</p>
<p id="p0023" num="0023">La première voie 21 comprend, reliés en série, un circuit d'atténuation 24 de rapport d'atténuation 3<sup>-½</sup> et deux circuits soustracteurs 25 et 26.</p>
<p id="p0024" num="0024">La deuxième voie 22 comprend reliés en série, un circuit atténuation 27 de rapport d'atténuation 2<sup>-½</sup>, un circuit additionneur 28 et un circuit soustracteur 29;<br/>
   la troisième voie 23 comprend, reliés en série un circuit d'atténuation 30 de rapport d'atténuation 6<sup>-½</sup>, un amplificateur 31 de gain 2 et un circuit additionneur 32.</p>
<p id="p0025" num="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<!-- EPO <DP n="9"> --> 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.</p>
<p id="p0026" num="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<sup>N</sup> 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<sup>N</sup> 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<!-- EPO <DP n="10"> --> 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.</p>
<p id="p0027" num="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<sub>a</sub>, 33<sub>b</sub> et 33<sub>c</sub>. Dans ce cas les N/3 premiers bits du compteur d'adresse 34 adressent les sous espaces 33<sub>a</sub>, les N/3 bits suivants adressent le deuxième sous-espace et N/3 bits restants adressent le sous-espace 33<sub>c</sub>. Ceci permet d'avoir une représentation vectoriel des vecteurs<!-- EPO <DP n="11"> --> 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<sub>a</sub> les sous groupes à l'espace mémoire 33<sub>b</sub>, 2<sup>N/3</sup> vecteurs énergie estimés peuvent être codés dans l'espace mémoire 33<sub>a</sub> et 2<sup>N/3</sup> vecteurs énergie estimés peuvent être codés dans l'espace mémoire 33<sub>b</sub>. Les 2<sup>N/3</sup> vecteurs restants sont codés dans l'espace mémoire 33<sub>c</sub>. Pour N = 9 on obtient ainsi 8 groupes comportant chacun 8 sous groupes de 8 vecteurs chacun.</p>
<p id="p0028" num="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<sub>a</sub>, 33<sub>b</sub> et 33<sub>c</sub>.</p>
<p id="p0029" num="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<sub>a</sub>, 44<sub>b</sub> et 44<sub>c</sub>. 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.</p>
</description><!-- EPO <DP n="12"> -->
<claims id="claims01" lang="fr">
<claim id="c-fr-01-0001" num="0001">
<claim-text>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₁ à e<sub>n</sub>) un vecteur énergie résultant dont les composantes dans la base (e₁ à e<sub>n</sub>) 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 2<sup>q</sup>=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.</claim-text></claim>
<claim id="c-fr-01-0002" num="0002">
<claim-text>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<sup>-½</sup>, 3<sup>-½</sup>, 3<sup>-½</sup>) pour le premier axe principal (-2<sup>-½</sup>, 0, 2<sup>-½</sup>) pour le deuxième axe principal, et (-6<sup>-½</sup>,2x6<sup>-½</sup>-6<sup>-½</sup>) pour le troisième axe principal.</claim-text></claim>
<claim id="c-fr-01-0003" num="0003">
<claim-text>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.<!-- EPO <DP n="13"> --></claim-text></claim>
<claim id="c-fr-01-0004" num="0004">
<claim-text>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,<br/>
   le dispositif étant caractérisé en ce qu'il comprend<br/>
   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₁ à e<sub>n</sub>) d'une première base, un vecteur énergie construit dans la base (e₁ à e<sub>n</sub>) 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 2<sup>q</sup>=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.</claim-text></claim>
<claim id="c-fr-01-0005" num="0005">
<claim-text>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<maths id="math0003" num=""><math display="block"><mrow><mtext>[E'] = P⁻¹[E]</mtext></mrow></math><img id="ib0003" file="imgb0003.tif" wi="21" he="6" img-content="math" img-format="tif"/></maths> où [E] est le vecteur colonne formés par les composantes E₀, E₁, E₂ des énergies mesurées sur trois fenêtres successives et<maths id="math0004" num=""><img id="ib0004" file="imgb0004.tif" wi="40" he="19" img-content="math" img-format="tif"/></maths> avec a=3 <sup>-½</sup>,b=-2<sup>-½</sup> et c=-6<sup>-½</sup></claim-text></claim>
<claim id="c-fr-01-0006" num="0006">
<claim-text>Dispositif selon la revendication 4, caractérisé en ce qu'il comprend des moyens (35,...44) pour rechercher dans un ensemble de 2<sup>N</sup> 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<!-- EPO <DP n="14"> --> 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.</claim-text></claim>
<claim id="c-fr-01-0007" num="0007">
<claim-text>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.</claim-text></claim>
<claim id="c-fr-01-0008" num="0008">
<claim-text>Dispositif selon l'une quelconque des revendications 6 et 7, caractérisé en ce qu'il comprend<br/>
- un compteur d'adresse pour adresser les vecteurs préenregistrés dans la mémoire (33)
<claim-text>- 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)</claim-text>
<claim-text>- 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.</claim-text></claim-text></claim>
</claims><!-- EPO <DP n="15"> -->
<claims id="claims02" lang="de">
<claim id="c-de-01-0001" num="0001">
<claim-text>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 e<sub>n</sub>) besitzt, einen resultierenden Energievektor zu konstruieren, dessen Basiskomponenten (e₁ bis e<sub>n</sub>) 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ß 2<sup>q</sup> = 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.</claim-text></claim>
<claim id="c-de-01-0002" num="0002">
<claim-text>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<sup>-½</sup>, 3<sup>-½</sup>, 3<sup>-½</sup>) für die erste Hauptachse, (-2<sup>-½</sup>, 0, 2<sup>-½</sup>) für die zweite Hauptachse und (-6<sup>½</sup>, 2x6<sup>½</sup>, -6<sup>½</sup>) für die dritte<!-- EPO <DP n="16"> --> Hauptachse.</claim-text></claim>
<claim id="c-de-01-0003" num="0003">
<claim-text>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.</claim-text></claim>
<claim id="c-de-01-0004" num="0004">
<claim-text>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 e<sub>n</sub>) einer ersten Basis ausgerichtete Achse besitzt, einen in der Basis (e₁ bis e<sub>n</sub>) 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ß 2<sup>q</sup> = 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.</claim-text></claim>
<claim id="c-de-01-0005" num="0005">
<claim-text>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:<maths id="math0005" num=""><math display="block"><mrow><mtext>[E'] = P ⁻¹[E]</mtext></mrow></math><img id="ib0005" file="imgb0005.tif" wi="20" he="7" img-content="math" img-format="tif"/></maths> wobei [E] der S paltenvektor ist, der von den Komponenten E₀, E₁, E₂ der in drei aufeinanderfolgenden Fenstern gemessenen Energiewerte gebildet wird und<!-- EPO <DP n="17"> --><maths id="math0006" num=""><img id="ib0006" file="imgb0006.tif" wi="44" he="19" img-content="math" img-format="tif"/></maths> mit a=3<sup>-½</sup>,b=-2<sup>-½</sup> und c=-6<sup>-½</sup></claim-text></claim>
<claim id="c-de-01-0006" num="0006">
<claim-text>Vorrichtung nach Anspruch 4, dadurch gekennzeichnet, daß sie Mittel (35, ...44) aufweist, um in einer Gruppe von 2<sup>N</sup> 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.</claim-text></claim>
<claim id="c-de-01-0007" num="0007">
<claim-text>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.</claim-text></claim>
<claim id="c-de-01-0008" num="0008">
<claim-text>Vorrichtung nach einem beliebigen der Ansprüche 6 und 7, dadurch gekennzeichnet, daß sie aufweist
<claim-text>- einen Adressenzähler, um die vorher im Speicher (33) registrierten Vektoren zu adressieren,</claim-text>
<claim-text>- 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,</claim-text>
<claim-text>- 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.</claim-text></claim-text></claim>
</claims><!-- EPO <DP n="18"> -->
<claims id="claims03" lang="en">
<claim id="c-en-01-0001" num="0001">
<claim-text>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 e<sub>n</sub>), a resultant energy vector of which the components in the base (e₁ to e<sub>n</sub>) 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 2<sup>q</sup> = 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.</claim-text></claim>
<claim id="c-en-01-0002" num="0002">
<claim-text>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<sup>-½</sup>, 3<sup>-½</sup>, 3<sup>-½</sup>) for the first principal axis, (-2<sup>-½</sup>, 0, 2<sup>-½</sup>) for the second principal axis, and (-6<sup>-½</sup>, 2x6<sup>-½</sup>, -6<sup>-½</sup>) for the third principal axis.</claim-text></claim>
<claim id="c-en-01-0003" num="0003">
<claim-text>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.<!-- EPO <DP n="19"> --></claim-text></claim>
<claim id="c-en-01-0004" num="0004">
<claim-text>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,<br/>
the device being characterised in that it comprises<br/>
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 e<sub>n</sub>) of a first base, an energy vector constructed in the base (e₁ to e<sub>n</sub>), 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 2<sup>q</sup> = 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.</claim-text></claim>
<claim id="c-en-01-0005" num="0005">
<claim-text>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<maths id="math0007" num=""><math display="block"><mrow><mtext>[E'] = P⁻¹[E]</mtext></mrow></math><img id="ib0007" file="imgb0007.tif" wi="22" he="6" img-content="math" img-format="tif"/></maths> where [E] is the column vector formed by the components E<sub>o</sub>, E₁, E₂ of the energy measured over three successive windows<maths id="math0008" num=""><img id="ib0008" file="imgb0008.tif" wi="44" he="19" img-content="math" img-format="tif"/></maths> where a = 3<sup>-½</sup>, b = -2<sup>-½</sup> and c = -6<sup>-½</sup></claim-text></claim>
<claim id="c-en-01-0006" num="0006">
<claim-text>A device according to Claim 4, characterised in that it comprises means (35 ... 44) for searching among a set of 2<sup>N</sup> 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<!-- EPO <DP n="20"> --> 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.</claim-text></claim>
<claim id="c-en-01-0007" num="0007">
<claim-text>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.</claim-text></claim>
<claim id="c-en-01-0008" num="0008">
<claim-text>A device according to any one of Claims 6 and 7, characterised in that it comprises
<claim-text>- an address counter for addressing the prerecorded vectors to the memory (33)</claim-text>
<claim-text>- 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)</claim-text>
<claim-text>- 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.</claim-text></claim-text></claim>
</claims><!-- EPO <DP n="21"> -->
<drawings id="draw" lang="fr">
<figure id="f0001" num=""><img id="if0001" file="imgf0001.tif" wi="149" he="245" img-content="drawing" img-format="tif"/></figure>
<figure id="f0002" num=""><img id="if0002" file="imgf0002.tif" wi="161" he="236" img-content="drawing" img-format="tif"/></figure>
<figure id="f0003" num=""><img id="if0003" file="imgf0003.tif" wi="141" he="222" img-content="drawing" img-format="tif"/></figure>
<figure id="f0004" num=""><img id="if0004" file="imgf0004.tif" wi="158" he="207" img-content="drawing" img-format="tif"/></figure>
</drawings>
</ep-patent-document>
