Brevet FR2654542A1 — publié le 19910517

La présente invention concerne un procédé et un dispositif de codage de filtres prédicteurs pour vocodeurs très bas débit. Parmi les méthodes de numération de la parole à bas débit la méthode la plus connue est celle du codage prédictif linéaire LPC 10, o LPC 10 est l'abréviation dans le langage anglo-saxon de "Linear predictive coding, order 10 " Suivant cette méthode la synthèse de la parole a lieu en excitant au moyen d'un signal périodique ou par une source de bruit un filtre dont la fonction est de donner au spectre en fréquence du signal une forme d'onde proche de celle du signal de parole d'origine. La majeure partie du débit, qui est de 2400 bits par se- conde, est consacrée à la transmission des coefficients du fil- tre Pour cela le train binaire est découpé en trames de 22,5 millisecondes comportant 54 bits dont 41 sont utilisés pour adapter la fonction de transfert du filtre. Un procédé connu de réduction de débit consiste à compri- mer les 41 bits associés à un filtre en 10 à 12 bits qui repré- sentent le numéro d'un filtre prédéfini, appartenant à un dic- tionnaire de 21 à 212 filtres différents, ce filtre étant celui qui est le plus proche du filtre d'origine Ce procédé présente cependant un premier inconvénient majeur qui est de nécessiter la construction d'un dictionnaire de filtres dont le contenu dépend étroitement du jeu des filtres utilisés pour le constituer par des techniques classiques de données ("cluste- ring") et de la sorte ce procédé n'est pas parfaitement bien adapté aux conditions de prise de son réelles Un deuxième incon- vénient de ce procédé est qu'il exige pour sa mise en oeuvre une taille de mémoire très importante pour stocker le diction- naire ( 21 à 212 paquets de coefficients) Corrélativement les temps de calcul deviennent importants du fait qu'il faut rechercher dans le dictionnaire le filtre le plus proche du filtre original Enfin ce procédé ne permet pas de reproduire de façon satisfaisante des sons stables Ceci est dû au fait que même pour un son stationnaire l'analyse LPC ne sélectionne jamais en pratique deux fois de suite le même filtre original mais choisit successivement dans le dictionnaire des filtres proches mais distincts. De même qu'en télévision o la reconstruction d'une image colorée dépend essentiellement de la qualité du signal de luminance et non pas de celle du signal de chrominance qui peut de ce fait être transmis avec une définition moindre, il appa- raît aussi suffisant en synthèse de parole de ne bien reproduire que le contour de l'énergie du signal vocal, sa coloration (voi- sement, forme de spectre) revêtant une importance moindre pour sa reconstruction De ce fait, dans les procédés connus de syn- thèse de la parole le processus de recherche de spectres basé sur l'évolution de la distance minimale qui sépare les spectres de la parole d'origine (du locuteur) et de la parole synthétique ne sont pas pleinement justifiés. Par exemple, différents exemplaires du son "A" prononcés par différents locuteurs, ou enregistrés dans des conditions différentes peuvent avoir une distance spectrale élevée mais resteront toujours des "A" pouvant être reconnus en tant que tels, et s'il y a ambiguïté, traduite par une possibilité de confusion avec un son proche, l'auditeur pourra toujours recti- fier de lui-même grâce au contexte En fait, l'expérience montre qu'en ne consacrant pas plus d'une trentaine de bits aux coeffi- cients du filtre prédicteur au lieu de 41, la qualité de restitu- tion reste satisfaisante même si un auditeur entraîné peut perce- voir une différence légère entre les sons synthétisés avec des coefficients prédicteurs définis sur 30 ou 41 bits D'autre part, comme la transmission a lieu à distance et que le destina- taire n'a pas de ce fait la possibilité de faire cette diffé- rence, il apparaît suffisant que l'auditeur puisse reconnaître correctement le son synthétisé. Egalement il apparaît important que dans les parties sta- bles du signal (voyelles) le filtre prédicteur reste stable et soit aussi proche que possible du filtre prédicteur d'origine. Par contre dans les parties Instables (transition, son non voisé) le prédicteur transmis n'a pas besoin d'être une copie fidèle du prédicteur d'origine. Le but de l'invention est de pallier les inconvénients précités. A cet effet, l'invention a pour objet un procédé de codage de filtres prédicteurs de vocodeurs très bas débit du type dans lequel le signal vocal est découpé en trames binaires de durée déterminée caractérisé en ce qu'il consiste à regrouper les trames par paquets de trames successives, à associer respec- tivement à chaque trame contenue dans un paquet un filtre prédicteur, et à quantifier les coefficients de chaque filtre prédicteur en tenant compte de la configuration stable ou non stable du signal vocal. D'autres caractéristiques et avantages de l'invention apparaîtront ci-après à la lecture de la description qui suit faite en regard des dessins annexés qui représentent: la figure 1 un schéma de principe d'un synthétiseur de parole de l'art connu; la figure 2 une mise sous forme de tableaux des quatre codages possibles des filtres prédicteurs du vocodeur selon l'invention; la figure 3 un organigramme pour illustrer le calcul de l'erreur de prédiction des filtres prédicteurs mis en oeuvre par l'invention; la figure 4 un graphe de transformation des coefficients de réflexion des filtres prédicteurs; la figure 5 la loi de quantification des coefficients de réflexion des filtres transformés par le graphe de la figure 3; la figure 6 un dispositif pour la mise en oeuvre du procédé selon l'invention. Le synthétiseur de parole représenté à la figure 1 com- porte de façon connue un filtre prédicteur 1 couplé par son entrée E 1 à un générateur de signal périodique 2 et à un géné- rateur de bruit 3 au travers d'un commutateur 4 et d'une amplifi- cateur à gain variable 5 reliés en série Le commutateur 4 cou- ple l'entrée du filtre prédicteur 1 à la sortie du générateur de signal périodique 2 ou à la sortie du générateur de bruit 3 suivant la nature voisée ou non du son à restituer L'amplitude du son est commandée par l'amplificateur 5 Le filtre 1 restitue sur sa sortie S un signal de parole en fonction de coefficients de prédiction appliqués sur son entrée E 2 A la différence de ce qui est représenté à la figure 1 les synthétiseurs de parole auxquels s'appliquent le procédé et le dispositif de codage de l'invention doivent comporter trois filtres prédicteurs 1 adap- tés à chaque groupe de trois trames de 22,5 ms successives du signal de parole suivant l'état stable ou non stable du son à synthétiser Cette organisation permet, par exemple, de réduire le débit de 2400 bits par seconde à 800 bits par seconde, en regroupant les trames par paquets de 3 x 22,5 = 67,5 millisecondes de 54 bits dans lesquels 30 à 35 bits sont utili- sés pour décrire par exemple les 10 coefficients prédicteurs des trois filtres successifs nécessaires à la mise en oeuvre de la méthode de codage LPC 10 décrite précédemment, et deux bits parmi ceux-ci sont utilisés pour définir la configuration à donner aux trois filtres à générer suivant la nature stable ou non du signal vocal à générer Dans le tableau de la figure 2 o sont consignées les quatre configurations possibles des trois filtres, à l'état 00 des deux bits de configuration correspond une première configuration o les trois filtres prédicteurs sont identiques pour les trois trames du signal vocal Pour la deuxième configuration les bits de configuration ont la valeur 01 et seuls les deux premiers filtres des trames 1 et 2 sont identiques Dans la troisième configuration, correspondant aux bits de configuration 10 seuls les deux derniers filtres des trames 2 et 3 sont identiques Enfin dans la quatrième configura- tion, correspondant aux bits de configuration 11, les trois filtres des trames 1 et 3 sont différents Naturellement ce mode de configuration n'est pas unique et il est tout aussi possible en restant dans le cadre de l'invention à définir le nombre de trames dans un paquet par un nombre quelconque Cependant pour des commodités de réalisation ce nombre pourra être com- pris entre 2 et 4 inclusivement Dans ces cas naturellement le nombre de configurations possibles pourra être étendu à 8 ou 16 au maximum La définition des filtres est établie suivant les étapes 1 à 6 du procédé représenté par l'organigramme de la figure 2 Selon une première étape du procédé portant la réfé- rence 5 sur l'organigramme les coefficients d'autocorrélation Ri kdu signal sont calculés suivant une relation de la forme Ri A =n Wn Sin i,nk ( 1) l 15 o S est un échantillon N du signal dans la trame i et W désigne la fenêtre de pondération A la deuxième étape référencée 6 le calcul des coefficients de réflexion du filtre prédicteur en treillis correspondant aux coefficients Ri(k) précédent est effectué en application d'un algorithme standard par exemple, de l'algorithme connu de LEROUX-GUEGUEN ou SCHUR A cette étape, les coefficients Rik sont transformés en coefficients K i o j est un entier positif prenant les valeurs successives de 1 à 10 A la troisième étape portant la référence 7 les coefficients k dont les valeurs sont comprises par définition entre 1 et + 1 sont transformés en des coefficients modifiés qui évoluent entre "-I'infini" et "+l'infini" et qui tiennent compte du fait que la quantification des coefficients k doit être fidèle lorsqu'ils ont une valeur absolue proche de 1 et une valeur qui peut être plus grossière lorsqu'ils sont voisins de O par exemple Chaque coefficient K i est par exemple transformé suivant une relation de la forme L = K i/( 1-K i) 2 ( 2) dont le graphe est représenté à la figure 3 ou encore suivant les relations (Li=K ii 11-IK ii |); (L =arc cos K); (L i =arc sin Ki) ou encore en application de la méthode de calcul des coefficients LSP décrite dans l'article de George S Kang an Lawrence, J Fransen du Naval Research Laboratory Washington DC 20375 1985 ayant pour titre "Application of Uine spectrum pairs to low bit rate speech encoder" A la quatrième étape représentée en 8 les coefficients Lij sont quantifiés suivant n bits chacun de façon non uniforme en tenant compte de la répartition des coefficients pour donner une valeur L suivant une loi de répartition représentée par l'histogramme des Li de la figure 4 A l'étape 5 les valeurs de l L sont à leur tour utilisées pour calculer des coefficients 1 l K suivant la relation ll Kj = Lij/(l+Li) ( 3) Ces valeurs Ki représentent les valeurs quantifiées des 1 l coefficients de prédiction à partir desquels les coefficients d'un prédicteur Ai(z) peuvent être déduits par des relations de récurrence définies comme suit À (z) = 1 ( 4) AP(z) AP-'(z) + i'Rp Z-P Pl(zl) ( 5) i 1,p pour p = 1, 2, 10. -10 -I -10 avec Ai(z)=Ai (z) = Aio A ±A Z + 1 Z ( 6) I 10 o il 1,10 ( 6 Enfin à la dernière étape représentée en 10 le calcul de l'énergie de l'erreur de prédiction est effectué en application de la relation suivante i E ( A S)j ( 7) ou encore 1 N 1 il 1 n- E 2 = RR B+ 2 B ( 8) 1 o 10 10 j=l 1,3 I J avec B = 7 A? m= O 1, B = A A. 1 i m= O Aim î,m+j Pour compléter l'algorithme il suffit alors de tester les quatre différentes configurations décrites précédemment en inter- calant entre la première et la deuxième étape du procédé une étape supplémentaire tenant compte des configurations possibles pour ne retenir finalement que la configuration pour laquelle l'erreur de prédiction totale obtenue est minimale (sommée sur les trois trames). Dans la première configuration le même filtre est utilisé pour les trois trames On utilise alors pour le déroulement des étapes 2 à 6 un quatrième filtre fictif unique qui est calculé à partir des coefficients R 4 j donnés par la relation R 4 j R 1; + R 2 j + R 3 j ( 9) avec j variant de O à 10. L'erreur de prédiction totale est alors égale à El et l'algorithme du procédé revient en fait à considérer les trois trames comme une seule trame de durée trois fois supérieure. Les coefficients Ll à L 1 O peuvent alors être quantifiés avec par exemple 5,5,4,4,4,3,2,2,2,2 bits respectivement, soit 33 bits au total. Selon la deuxième configuration, dans laquelle un même filtre est utilisé pour les trames 1 et 2, l'algorithme est exécuté avec des valeurs des coefficients R 5 j et R 3 j d'autocorrélation définis comme suit: R 5 J = R 1 j + R 2, o j prend successivement les valeurs de 1 à 10 pour les deux premières trames et R 3 3 (j variant de 1 à 10) pour la dernière trame. L'erreur de prédiction est égale à E 2 + E 32 ce qui revient à considérer que les trames 1 et 2 sont regroupées en une seule trame de durée double, la trame 3 restant inchangée. Il est alors possible de quantifier les coefficients L 1 à L 10 sur les trames 1 et 2 avec respectivement 5,4,4,3,3,2,2,2,0,0 bits ( 25 bits au total, les coefficients L 9 et Lio n'étant pas transmis), et leur variation pour obtenir ceux de la troisième trame en utilisant 3,2,2,1,0, 0,0,0,0,0 bits respectivement ( 8 bits au total), soit 33 bits pour les trois trames. Le fait de ne pas transmettre les coefficients L 9 et L 1 n'est pas gênant puisque dans ce cas la configuration correspond à des prédicteurs qui évoluent et dont les coefficients ont une importance qui va décroissante en fonction de leur rang. Dans la troisième configuration, o les mêmes filtres sont utilisés pour les trames 2 et 3 le même procédé que dans la deuxième configuration est utilisé en regroupant les coeffi- cients R i des trames 2 et 4 tel que R 6 j = R 2 j + R 3 j Le même procédé de quantification est utilisé mais en codant le prédicteur des trames 2 et 3 et le différentiel pour la trame 1. Enfin pour la dernière configuration o tous les filtres sont différents il faut considérer que les trois trames sont découplées et que l'erreur totale est égale à E 1 ? + E 22 + E 32. Dans ce cas les coefficients L 1 à L 10 de la trame 2 seront quantifiés avec respectivement 4,4,3,3,3,2,2,0,0 bits soit 21 bits, ainsi que les différences pour la première trame avec 2,2,1,1,0,0,0,0,0,0 bits soit 6 bits ainsi que les différences pour la trame 3 ( 6 bits supplémentaires) Cette dernière configuration correspond à un codage de 21 + 6 + 6 = 33 bits. Le dispositif pour la mise en oeuvre du procédé qui est représenté à la figure 6 comporte un dispositif 1 de calcul des coefficients d'autocorrélation pour chaque trame couplée à des éléments de retard formés par trois mémoires de trames 12 à 123 pour mémoriser les coefficients R calculés à la première étape du procédé Il comprend également un dispositif de calcul 13 des coefficients Kil et Li; suivant la deuxième étape du procédé Un bus de données 14 véhicule les valeurs des coefficients Li (i = 1 à 3, j = 1 à 10) et les valeurs des coefficients Rio représentant les énergies o i = 1 à 3 Le bus de données 14 relie les éléments de retard 121 à 123 et le dispositif de calcul 13 a quatre chaînes de calcul référencés de 151 à 154 Les chaînes de calcul 151 à 153 comprennent respectivement un dispositif sommateur, respectivement 161 à 163 qui est relié aux éléments de retard 121 à 123 pour calculer les coefficients R 4 J, R 5 j et R S suivant les 4 configurations décrites précédemment Les sorties des dispositifs de sommation 161 à 163 sont reliées à des dispositifs de calcul respectivement 171 à 173 des coefficients L 41, Kif; K 51, L et 1 3 4 j 14 j 5 j 5 j K 6 et L 63 Les coefficients L 4 jL 5 j L 6 sont transmis respectivement à des dispositifs de quantification 181 à 183 pour calculer les coefficients L conformément à la quatrième étape du procédé Ces coefficients sont appliqués à des dispositifs de calcul d'erreur totale référencés respectivement de 191 à 193 pour fournir respectivement des erreurs de prédiction totale E 4 P, E 52 + E 22 et enfin E 12 + E 62 pour chacune des configurations 1 à 3 décrites précédemment La chaîne de calcul 154 comprend relié au bus de données 14 un dispositif de quantification séparée 184 des coefficients LIF Les coefficients L obtenus à la sortie du dispositif de quantification 184 sont appliqués à un dispositif de calcul d'erreur totale 194 pour calculer l'erreur totale suivant la relation E 12 + E 22 + E 3 définie précédemment Chacune des sorties des dispositifs de calcul d'erreur totale 191 à 194 des chaînes de calcul 151 à 154 sont appliquées aux entrées respectives d'un dispositif de recherche totale de minimum 20. D'autre part, chacune des sorties du dispositif de quantification 181 à 184, fournissant les coefficients Lii, sont appliquées à un dispositif d'aiguillage 21 commandé par la sortie du dispositif de recherche d'erreur totale minimum 20 pour sélectionner des coefficients L; à transmettre qui corresponde à l'erreur totale minimum calculée par le dispositif Dans cet exemple la sortie du dispositif comporte 35 bits, 33 bits représentant les valeurs des coefficients Lii obtenues à la sortie du dispositif d'aiguillage 21 et 2 bits représentant l'une des quatre configurations possibles Indiquées par le dispositif de recherche d'erreur totale minimum 20. Il va de soi que l'invention ne se limite pas aux exemples qui viennent d'être décrits et qu'elle peut recevoir d'autres variantes de réalisation dépendant notamment, des coefficients qui sont appliqués aux filtres qui peuvent être différents des coefficients Li; définis précédemment et du nombre de ces coefficients qui peut être différent de 10 Il est clair égale- ment que l'invention peut encore s'appliquer pour des défini- tions de paquets de trames comprenant des nombres différents de trois trames ou des configurations de filtrage différentes de quatre et que ces variantes doivent conduire naturellement à des nombres totaux de bits de quantification différents de ( 33 + 2) bits avec une répartition par configuration différente. il REVENDICATIONS 1 Procédé de codage de filtres prédicteurs de vocodeurs très bas débit du type dans lequel le signal vocal est découpé en trames binaires de durée déterminée caractérisé en ce qu'il consiste à regrouper ( 121 123) les trames par paquets de trames successives, à associer respectivement à chaque trame con- tenue dans un paquet un filtre prédicteur ( 1), et à quantifier les coefficients de chaque filtre prédicteur ( 5 9) en tenant compte de la configuration stable ( 19) ou non stable du signal vocal. 2 Procédé selon la revendication 1 caractérisé en ce que le nombre de trames dans un paquet est compris entre 2 et 4 inclusivement ( 121 123). 3 Procédé selon les revendications 1 et 2 caractérisé en ce que le nombre de configurations est aux nombres de 4, 8 ou 16. 4 Procédé selon la revendication 3 caractérisé en ce qu'il consiste à limiter le choix des configurations à quatre, une première configuration o les filtres prédicteurs sont identiques une deuxième et une troisième configuration o seulement deux filtres prédicteurs sont identiques et une quatrième configuration o les trois filtres pré- dicteurs sont différents. Procédé selon la revendication 4 caractérisé en ce qu'il consiste à calculer ( 17, 18) pour chaque configuration les coefficients de prédiction et l'énergie ( 19) de l'erreur de pré- diction pour ne retenir ( 20) que les coefficients de prédiction dont l'erreur de prédiction est minimale. 6 Procédé selon la revendication 5 caractérisé en ce qu'il consiste pour le calcul des coefficients de prédiction à calculer dans chaque trame les coefficients d'autocorrélation Ri, k du signal vocal échantillonné, et à appliquer l'algorithme de Leroux-Gueguen ou de Schur pour déterminer les coefficients de réflexion de chaque filtre prédicteur. 7 Procédé selon l'une quelconque des revendications 1 à 6 caractérisé en ce que les coefficients de réflexion L des filtres sont au nombre de 10 et sont codés sur une longueur totale de 33 bits quelle que soit la configuration. 8 Procédé selon la revendication 7 caractérisé en ce que les coefficients de réflexion L 1 à L 10 des filtres ont res- pectivement pour longueur: ( 5,5,4,4,4,3,2,2,2,2) bits suivant la première configuration ( 5,4,4,3,3,2,2,2,0,0) bits et ( 3,2,2,1,0,0,0,0,0, 0) bits suivant les deuxième et troisième configurations ( 4,4,3,3,3,2,2,0,0) bits pour le codage de la trame inter- médiaire (trame 2) suivant la quatrième configuration et ( 2,2,1,1,0,0,0, 0,0,0) bits pour les deux autres trames (trame 1) (trame 3) suivant la quatrième configuration. 9 Procédé selon la revendication 6 caractérisé en ce que les coefficients de réflexion des filtres sont déterminés par la relation Li = Ki j/( 1Kij 2)-2 i 1,3 13 Dispositif pour la mise en oeuvre du procédé selon l'une quelconque des revendications i à 9.