[0001] La présente invention concerne un procédé et un dispositif de codage de filtres prédicteurs
pour vocodeurs très bas débit.
[0002] 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 LPC10, où LPC10 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.
[0003] La majeure partie du débit, qui est de 2400 bits par seconde, est consacrée à la
transmission des coefficients du filtre. 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.
[0004] Un procédé connu de réduction de débit consiste à comprimer 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 dictionnaire de 2
10 à 2
12 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 utinisés pour le constituer par des techniques classiques de données
("clustering") et de la sorte ce procédé n'est pas parfaitement bien adapté aux conditions
de prise de son réelles. Un deuxième inconvé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 dictionnaire
(2
10 à 2
12 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.
[0005] 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 apparaît aussi suffisant
en synthèse de parole de ne bien reproduire que le contour de l'énergie du signal
vocal, sa coloration (voisement, forme de spectre) revêtant une importance moindre
pour sa reconstruction. De ce fait, dans les procédés connus de synthè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.
[0006] 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 rectifier 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 coefficients du filtre
prédicteur au lieu de 41, la qualité de restitution 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 destinataire 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é.
[0007] Egalement il apparaît important que dans les parties stables 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.
[0008] Le but de l'invention est de pallier les inconvénients précités.
[0009] 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 respectivement à 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.
[0010] 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.
[0011] Le synthétiseur de parole représenté à la figure 1 comporte 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 amplificateur à gain variable 5 reliés en série. Le commutateur
4 couple 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. la 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 adapté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 utilisé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 LPC10 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 compris
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 R;,
k du signal sont calculés suivant une relation de la forme :

où S
in est un échantillon n du signal dans la trame i et W
n 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
R
ik sont transformés en coefficients K
ij 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 "-l'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 0 par exemple.
Chaque coefficient K
ij est par exemple transformé suivant une relation de la forme

dont le graphe est représenté à la figure 3 ou encore suivant les relations (L
ij = K
ij| 1- |K
ij|) ; (L
ij = arc cos K
ij) ; (L
ij = arc sin K
ij) 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 line spectrum pairs to low bit rate
speech encoder". A la quatrième étape représentée en 8 les coefficients L
ij sont quantifiés suivant n
j bits chacun de façon non uniforme en tenant compte de la répartition des coefficients
pour donner une valeur L
ij suivant une loi de répartition représentée par l'histogramme des L
ij de la figure 4. A l'étape 5 les valeurs de Lisent à leur tour utilisées pour calculer
des coefficients K
ijsuivant la relation

[0012] Ces valeurs K
ijreprésentent les valeurs quantifiées des coefficients de prédiction à partir desquels
les coefficients d'un prédicteur A
i(z)peuvent être déduits par des relations de récurrence définies comme suit :


pour p = 1, 2, ... 10.

[0013] Enfin A 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

ou encore

avec


[0014] Pour compléter l'algorithme il suffit alors de tester les quatre différentes configurations
décrites précédemment en intercalant 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).
[0015] 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
4j donnés par la relation

avec j variant de 0 à 10.
[0016] L'erreur de prédiction totale est alors égale à E2 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.
[0017] Les coefficients L1 à L10 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.
[0018] 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
5j et R
3j d'autocorrélation définis comme suit : R
5,j = R
1,j + R
2,
j où j prend successivement les valeurs de 1 à 10 pour les deux premières trames et
R
3,
j (j variant de 1 à 10) pour la dernière trame.
[0019] L'erreur de prédiction est égale à Es
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 Li à 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 Lg et L
10 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.
[0020] Le fait de ne pas transmettre les coefficients Ls et Lio 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.
[0021] 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 coefficients R
ij des trames 2 et 4 tel que R
6j = R
2j + R
3j. 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.
[0022] 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,
2 + 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.
[0023] Le dispositif pour la mise en oeuvre du procédé qui est représenté à la figure 6
comporte un dispositif 1 de calcul des 10 coefficients d'autocorrélation pour chaque
trame couplée à des éléments de retard formés par trois mémoires de trames 12
1 à 12
3 pour mémoriser les coefficients R
ij calculés à la première étape du procédé. Il comprend également un dispositif de calcul
13 des coefficients K
ij et L
ij suivant la deuxième étape du procédé. Un bus de données 14 véhicule les valeurs des
ccefficients L
ij (i = 1 à 3, j = 1 à 10) et les valeurs des coefficients R
io représentant les énergies où i = 1 à 3. Le bus de données 14 relie les éléments de
retard 12
1 à 12
3 et le dispositif de calcul 13 a quatre chaînes de calcul référencés de 15
1 à 15
4. Les chaînes de calcul 15
1 à 15
3 comprennent respectivement un dispositif sommateur, respectivement 16, à 16
3 qui est relié aux éléments de retard 12, à 12
3 pour calculer les coefficients R
4j, R
5j et R
6j suivant les 4 configurations décrites précédemment. Les sorties des dispositifs de
sommation 16
1 à 16
3 sont reliées à des dispositifs de calcul respectivement 17, à 17
3 des coefficients L
4j, K
4j ; K
Sj, L
5j et K
6j et L
6j. Les coefficients L
4j L
5j L
6j sont transmis respectivement à des dispositifs de quantification 18, à 18
3 pour calculer les coefficients L
ijconformé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 19, à 19
3 pour fournir respectivement des erreurs de prédiction totale E
42, E
s2 + E
22 et enfin E,
2 + E
62 pour chacune des configurations 1 à 3 décrites précédemment. La chaîne de calcul
15
4 comprend relié au bus de données 14 un dispositif de quantification séparée 184 des
coefficients L
ij. Les coefficients L
ijobtenus à la sortie du dispositif de quantification 18
4 sont appliqués à un dispositif de calcul d'erreur totale 19
4 pour calculer l'erreur totale suivant la relation E,
2 + E
22 + E
32 définie précédemment. Chacune des sorties des dispositifs de calcul d'erreur totale
19, à 19
4 des chaînes de calcul 15
1 à 15
4 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 18
1 à 18
4, fournissant les coefficients L
ij, 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
ijà transmettre qui corresponde à l'erreur totale minimum calculée par le dispositif
20. Dans cet exemple la sortie du dispositif comporte 35 bits, 33 bits représentant
les valeurs des coefficients L
ijobtenues à 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.
[0024] 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
L
ij définis précédemment et du nombre de ces coefficients qui peut être différent de
10. Il est clair également que l'invention peut encore s'appliquer pour des définitions
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.
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 (12, ... 123) les trames par paquets de trames successives, à associer respectivement à chaque
trame contenue dans un paquet un filtre prédicteur (1)) et à quantifier les ccefficients
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.
5. 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 Li,j 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
Li à L, des filtres ont respectivement 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 intermé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
L,j = Ki,j/(1-Kij2)-2
10. Dispositif pour la mise en oeuvre du procédé selon l'une quelconque des revendications
1 à 9.