[0001] La présente invention concerne un procédé de codage de parole à prédiction linéaire,
dans lequel un signal de parole numérisé en trames successives est soumis à une analyse
par synthèse pour obtenir, pour chaque trame, des valeurs de quantification de paramètres
de synthèse permettant de reconstituer une estimation du signal de parole, l'analyse
par synthèse comprenant une prédiction linéaire à court terme du signal de parole
pour déterminer les coefficients d'un filtre de synthèse à court terme.
[0002] Les codeurs de parole à bas débit (typiquement 5 kbit/s pour une fréquence d'échantillonnage
de 8 kHz) actuels donnent leur meilleure performance sur des signaux présentant un
spectre "téléphonique", c'est-à-dire dans la bande 300-3400 Hz et avec une préaccentuation
dans les fréquences élevées. Ces caractéristiques spectrales correspondent au gabarit
IRS (Intermediate Reference System) défini par le CCITT dans la Recommandation P48.
Ce gabarit a été défini pour les combinés téléphoniques, aussi bien en entrée (microphone)
qu'en sortie (écouteurs).
[0003] Cependant, il arrive de plus en plus fréquemment que le signal d'entrée d'un codeur
de parole présente un spectre plus "plat", par exemple lorsqu'une installation mains
libres est utilisée, employant un microphone à réponse en fréquence linéaire. Les
vocodeurs habituels sont conçus pour être indépendants de l'entrée avec laquelle ils
fonctionnent, et ils ne sont d'ailleurs pas informés des caractéristiques de cette
entrée. Si des microphones de caractéristiques différentes sont susceptibles d'être
raccordés au vocodeur, ou plus généralement si le vocodeur est susceptible de recevoir
des signaux acoustiques présentant des caractéristiques spectrales différentes, il
y a alors des cas où le vocodeur est utilisé de façon sous-optimale.
[0004] Dans ce contexte, un but principal de la présente invention est d'améliorer les performances
d'un vocodeur en les rendant moins dépendantes des caractéristiques spectrales du
signal qui lui est destiné.
[0005] L'invention propose un procédé de codage de parole du type indiqué au début, dans
lequel on détermine un état spectral du signal de parole parmi des premier et second
états tels que le signal contienne proportionnellement moins d'énergie aux basses
fréquences dans le premier état que dans le second état, et on applique l'un ou l'autre
de deux modes de quantification pour obtenir les valeurs de quantification des coefficients
du filtre de synthèse à court terme suivant l'état spectral déterminé du signal de
parole.
[0006] Ainsi, la détection de l'état spectral permet d'adapter le codeur aux caractéristiques
du signal d'entrée. Les performances du codeur peuvent être améliorées ou, à performances
identiques, on peut réduire le nombre de bits nécessaires au codage.
[0007] De préférence, les coefficients du filtre de synthèse à court terme sont représentés
par un ensemble de p paramètres fréquentiels de lignes spectrales ordonnés, dits "paramètres
LSP", p étant l'ordre de la prédiction linéaire. La distribution de ces p paramètres
LSP peut être analysée pour renseigner sur l'état spectral du signal et contribuer
à la détection de cet état.
[0008] Les paramètres LSP peuvent faire l'objet d'une quantification scalaire ou vectorielle.
Dans le cas d'une quantification scalaire, on quantifie le i-ième paramètre LSP en
subdivisant un intervalle de variation inclus dans un intervalle de référence respectif
en 2
Ni segments, Ni étant le nombre de bits de codage consacré à la quantification de ce
paramètre. Une première possibilité est d'utiliser au moins pour les premiers paramètres
LSP ordonnés, des intervalles de référence choisis chacun parmi deux intervalles distincts
suivant l'état spectral déterminé du signal de parole. Une possibilité supplémentaire
est de donner à certains au moins des nombres de bits de codage Ni l'une ou l'autre
de deux valeurs distinctes suivant l'état spectral déterminé du signal de parole,
pour effectuer une allocation dynamique de bits.
[0009] Dans le cas d'une quantification vectorielle directe, on subdivise l'ensemble des
p paramètres LSP ordonnés en m groupes de paramètres consécutifs, et on peut quantifier
au moins le premier groupe en sélectionnant dans une table de quantification un vecteur
présentant une distance minimale avec les paramètres LSP dudit groupe, cette table
étant choisie parmi deux tables de quantification distinctes suivant l'état spectral
déterminé du signal de parole.
[0010] Dans le cas d'une quantification vectorielle différentielle, on subdivise l'ensemble
des p paramètres LSP ordonnés en m groupes de paramètres consécutifs, et, au moins
pour le premier groupe, on peut effectuer une quantification différentielle par rapport
à un vecteur moyenne choisi parmi deux vecteurs distincts suivant l'état spectral
déterminé du signal de parole.
[0011] D'autres particularités et avantages de la présente invention apparaîtront dans la
description ci-après d'exemples de réalisation préférés mais non limitatifs, en référence
aux dessins annexés, dans lesquels :
- les figures 1A et 1B sont des schémas synoptiques respectivement d'un codeur de parole
à analyse par synthèse pour la mise en oeuvre de l'invention et d'un décodeur associé
;
- la figure 2 est un schéma synoptique d'une unité de prédiction linéaire utilisable
dans le codeur de la figure 1A ;
- la figure 3 est un diagramme illustrant les caractéristiques d'un signal acoustique
de type IRS et d'un signal de type linéaire ;
- la figure 4 est un schéma d'un dispositif de détection de l'état spectral du signal,
utilisable avec le codeur de la figure 1A ; et
- la figure 5 montre des chronogrammes illustrant le mode de détection de l'état du
signal par le dispositif de la figure 4.
[0012] Le codeur de parole illustré sur la figure 1A repose sur le principe de l'analyse
par synthèse. Son organisation générale est classique sauf en ce qui concerne l'unité
8 de prédiction à court terme et l'unité 20 de détection de l'état spectral du signal.
[0013] Le codeur de parole traite le signal de sortie amplifié d'un microphone 5. Un filtre
passe-bas 6 élimine les composantes fréquentielles de ce signal au-dessus de la limite
supérieure (par exemple 4000 Hz) de la bande passante traitée par le codeur. Le signal
est ensuite numérisé par le convertisseur analogique-numérique 7 qui délivre le signal
d'entrée S
I sous la forme de trames successives de 10 à 30 ms constituées d'échantillons prélevés
à un cadence de 8000 Hz par exemple.
[0014] L'analyse par synthèse repose sur une modélisation du conduit vocal du locuteur par
un filtre purement récursif de fonction de transfert H(z)= 1/A(z) où

[0015] Les coefficients a
i de ce filtre (1 ≦ i ≦ p) peuvent être obtenus par prédiction linéaire à court terme
du signal d'entrée, le nombre p désignant l'ordre de la prédiction linéaire, qui est
typiquement égal à 10 pour de la parole à bande étroite. L'unité 8 de prédiction à
court terme détermine des estimations â
i des coefficients a
i qui correspondent à une quantification de ces coefficients par des valeurs de quantification
q(a
i).
[0016] Chaque trame de signal d'entrée S
I est d'abord soumise au filtre inverse 9 de fonction de transfert A(z), puis à un
filtre 10 de fonction de transfert 1/A(z/γ) où γ désigne un facteur prédéfini, généralement
compris entre 0,8 et 0,9. Le filtre combiné ainsi constitué, de fonction de transfert
W(z) = A(z)/A(z/γ), est un filtre de pondération perceptuelle de l'erreur résiduelle
du codeur. Les coefficients utilisés dans les filtres 9 et 10 sont les estimations
â
i délivrées par l'unité 8 de prédiction à court terme.
[0017] La sortie R1 du filtre inverse 9 possède une périodicité à long terme, correspondant
à la hauteur tonale (pitch) de la parole. Dans l'exemple considéré, on modélise le
filtre correspondant par une fonction de transfert de la forme 1/B(z) avec B(z) =
1 - bz
-T. Le signal R1 est soumis à un filtre inverse 11 de fonction de transfert B(z) dont
la sortie R2 est fournie à l'entrée du filtre 10. La sortie S
W du filtre 10 correspond ainsi au signal d'entrée S
I débarrassé de sa corrélation à long terme par le filtre 11 de fonction de transfert
B(z), et pondéré perceptuellement par les filtres 9, 10 de fonction de transfert combinée
W(z).
[0018] Le filtre 11 comprend un soustracteur dont l'entrée positive reçoit le signal R1
et dont l'entrée négative reçoit une estimation à long terme obtenue en retardant
le signal R1 de T échantillons et en l'amplifiant. Le signal R1 ainsi que l'estimation
à long terme sont fournis à une unité 13 qui maximise la corrélation entre ces deux
signaux pour déterminer le retard T et le gain b optimaux. L'unité 13 explore toutes
les valeurs entières et/ou fractionnaires du retard T entre deux bornes pour sélectionner
celui qui maximise la corrélation normalisée. Le gain b se déduit de la valeur de
T, et est quantifié par discrétisation, ce qui conduit à une valeur de quantification
q(b) ; la valeur quantifiée b̂ correspondant à cette valeur de quantification q(b)
est celle fournie comme gain de l'amplificateur du filtre 11.
[0019] La synthèse de parole dans le codeur s'effectue dans une boucle fermée comprenant
un générateur d'excitation 12, un filtre 14 ayant la même fonction de transfert que
le filtre 10, un corrélateur 15, et une unité 19 de maximisation de la corrélation
normalisée.
[0020] La nature du générateur d'excitation 12 permet de distinguer entre différents types
de codeur à analyse par synthèse, suivant la forme de l'excitation. On distingue ainsi
les procédés de codage à analyse par prédiction linéaire et excitation multi-impulsionnelle
(MPLPC), dont un exemple est donné dans le document EP-A-0 195 487, et les procédés
de codage à analyse par prédiction linéaire et excitation vectorielle (CELP), réputés
avoir de bonnes performances lorsqu'un faible débit binaire est requis, dont un exemple
est donné dans l'article de Schroeder et Atal "Code Excited Linear Prediction (CELP)
: High Quality Speech At Very Low Bits Rates", Proc. ICASSP, Mars 1985, pp. 937-940.
Ces différentes façons de modéliser l'excitation sont utilisables dans le cadre de
la présente invention. La demanderesse a utilisé une excitation par séquences d'impulsions
régulières, ou RPCELP, telle que décrite dans sa demande de brevet européen N° 0 347
307. S'agissant d'un codeur de type CELP, l'excitation est représentée par une adresse
d'entrée k dans un dictionnaire de vecteurs d'excitation, et par un gain associé G.
[0021] Le vecteur d'excitation sélectionné et amplifié est soumis au filtre 14 de fonction
de transfert 1/A(z/γ), dont les coefficients â
i (1 ≦ i ≦ p) sont fournis par l'unité 8 de prédiction à court terme. Le signal résultant
S
W* est fourni à une entrée du corrélateur 15, dont l'autre entrée reçoit le signal
de sortie S
W du filtre 10. La sortie du corrélateur 15 est constituée par la corrélation normalisée
qui est maximisée par l'unité 19, ce qui revient à minimiser l'erreur de codage. L'unité
19 sélectionne l'adresse k et le gain G du générateur d'excitation qui maximisent
la corrélation issue du corrélateur 15. La maximisation consiste à déterminer l'adresse
k optimale, le gain G se déduisant de k. L'unité 19 opère une quantification par discrétisation
de la valeur numérique du gain G, ce qui conduit à une valeur de quantification q(G).
La valeur quantifiée Ĝ correspondant à cette valeur de quantification q(G) est celle
qui est fournie comme gain de l'amplificateur du générateur d'excitation 12. La corrélation
maximisée prend en compte la pondération perceptuelle par la fonction de transfert
W(z)=A(z)/A(z/γ), étant observé que cette fonction de transfert est appliquée au signal
d'entrée S
I par les filtres 9 et 10, ainsi qu'au signal synthétisé à partir du vecteur d'excitation,
puisque le signal S
W* peut être considéré comme résultant du vecteur d'excitation amplifié auquel sont
appliquées successivement les fonctions de transfert H(z)=1/A(z) du filtre de synthèse
à court terme, et W(z)=A(z)/A(z/γ) du filtre de pondération perceptuelle.
[0022] Le vecteur d'excitation sélectionné dans le dictionnaire du générateur 12, le gain
G associé, les paramètres b et T du filtre à long terme 13, et les coefficients a
i du filtre de prédiction à court terme, auxquels s'ajoute un bit d'état Y qui sera
décrit plus loin, constituent les paramètres de synthèse dont les valeurs de quantification
k, q(G), q(b), T, q(a
i), Y sont émises vers le récepteur pour permettre de reconstituer une estimation du
signal de parole S
I. Ces valeurs de quantification sont réunies sur un même canal par le multiplexeur
21 en vue de l'émission.
[0023] Le décodeur associé illustré sur la figure 1B comprend une unité 50 qui restitue
les valeurs quantifiées k, Ĝ, T, b̂, â
i sur la base des valeurs de quantification reçues. Un générateur d'excitation 52 identique
au générateur 12 du codeur reçoit les valeurs quantifiées des paramètres k et G. La
sortie R̂2 du générateur 52 (qui est une estimation de R2) est soumise au filtre de
prédiction à long terme 53 de fonction de transfert 1/B(z) dont les coefficients sont
les valeurs quantifiées des paramètres T et b. La sortie R̂1 du filtre 53 (qui est
une estimation de R1) est soumise au filtre de prédiction à court terme 54 de fonction
de transfert 1/A(z) dont les coefficients sont les valeurs quantifiées des paramètres
a
i. Le signal résultant Ŝ est l'estimation du signal d'entrée S
I du codeur.
[0024] La figure 2 montre une exemple de constitution de l'unité 8 de prédiction à court
terme du codeur. Les coefficients de modélisation a
i sont calculés pour chaque trame, par exemple pour la méthode des autocorrélations.
Le bloc 40 calcule les autocorrélations

pour 0 ≦ j ≦ p, n désignant l'indice d'un échantillon de la trame courante, et L le
nombre d'échantillons par trame. De façon classique, ces autocorrélations permettent
un calcul récursif des coefficients a
i optimaux au moyen de l'algorithme de Levinson-Durbin (voir J. Makhoul: "Linear Prediction:
A Tutorial Review", Proc. IEEE, Vol. 63, N°4, Avril 1975 pp. 561-580), qui peut s'exprimer
de la façon suivante :

Pour i = 1 à p faire :

[0025] La solution finale obtenue par le bloc 41 est donnée par : a
i = a
i (p) pour 1 ≦ i ≦ p. Dans l'algorithme ci-dessus, la quantité E(p) est l'erreur résiduelle
de la prédiction linéaire, et les quantités k
i, comprises entre -1 et +1 sont appelées coefficients de réflexion.
[0026] En vue de la transmission des coefficients obtenus, on peut les représenter par différents
paramètres à quantifier : les coefficients de prédiction eux-mêmes a
i, les coefficients de réflexion k
i, ou encore les rapports logarithmiques LAR donnés par :

[0027] Les paramètres de représentation ainsi obtenus sont quantifiés pour réduire le nombre
de bits nécessaires à leur identification.
[0028] L'invention propose de déterminer l'état spectral du signal de parole parmi un premier
état Y
A (Y = 0, type IRS) et un second état Y
B (Y = 1, type linéaire) tels que le signal contienne proportionnellement moins d'énergie
aux basses fréquences dans l'état Y
A que dans l'état Y
B, et d'appliquer l'un ou l'autre de deux modes de quantification distincts pour obtenir
les valeurs de quantification des coefficients du filtre de synthèse à court terme
suivant l'état spectral déterminé.
[0029] Sur la figure 3, les deux lignes en traits pleins correspondent à l'encadrement du
gabarit IRS, défini pour des microphones dans la Recommandation P48 du CCITT. On voit
qu'un signal de microphone de type IRS présente une forte atténuation dans la partie
basse du spectre (entre 0 et 300 Hz) et une relative accentuation dans les hautes
fréquences. En comparaison, un signal de type linéaire, fourni par exemple par le
microphone d'une installation mains libres présente un spectre plus plat, n'ayant
notamment pas la forte atténuation aux basses fréquences (un exemple typique d'un
tel signal de type linéaire est illustré par une ligne en tirets sur le diagramme
de la figure 3).
[0030] On tire parti de ces propriétés spectrales dans le dispositif de détection 20, représenté
sur la figure 1A et détaillé sur la figure 4, qui délivre trame par trame le bit d'état
Y.
[0031] Le dispositif de détection 20 comprend un filtre passe-haut 16 recevant le signal
acoustique d'entrée S
I et délivrant un signal filtré S
I'. Le filtre 16 est typiquement un filtre numérique de type bi-quad ayant une coupure
abrupte à 400 Hz. Les énergies E1 et E2 contenues dans chaque trame du signal acoustique
d'entrée S
I et du signal filtré S
I' sont calculées par deux unités 17, 18 effectuant chacune la somme des carrés des
échantillons de chaque trame qu'elle reçoit.
[0032] L'énergie E1 de chaque trame du signal d'entrée S
I est adressée à l'entrée d'un comparateur à seuil 25 qui délivre un bit Z de valeur
0 lorsque l'énergie E1 est inférieure à un seuil d'énergie prédéterminé, et de valeur
1 lorsque l'énergie E1 est supérieure au seuil. Le seuil d'énergie est typiquement
de l'ordre de -38 dB par rapport à l'énergie de saturation du signal. Le comparateur
25 sert à inhiber la détermination de l'état du signal lorsque celui-ci contient trop
peu d'énergie pour être représentatif des caractéristiques de la source. Dans ce cas,
l'état déterminé du signal reste inchangé.
[0033] Les énergies E1 et E2 sont adressées à un diviseur numérique 26 qui calcule le rapport
E2/E1 pour chaque trame. Ce rapport E2/E1 est adressé à un autre comparateur à seuil
27 qui délivre un bit X de valeur 0 lorsque le rapport E2/E1 est supérieur à un seuil
prédéterminé, et de valeur 1 lorsque le rapport E2/E1 est inférieur au seuil. Ce seuil
sur le rapport E2/E1 est typiquement de l'ordre de 0,93. Le bit X est représentatif
d'une condition du signal sur chaque trame. La condition X = 0 correspond aux caractéristiques
IRS du signal d'entrée (état Y
A), et la condition X = 1 correspond aux caractéristiques linéaires (état Y
B). Pour éviter des changements d'état répétés et intempestifs à l'occasion des variations
à court terme de l'excitation vocale, le bit d'état Y n'est pas pris directement égal
au bit de condition X, mais il résulte d'un traitement des bits de condition successifs
X par un circuit 29 de détermination d'état, qui permet de ne modifier l'état déterminé
Y qu'après que plusieurs trames successives montrent une condition de signal X différente
de celle correspondant à l'état précédemment déterminé.
[0034] Le fonctionnement du circuit 29 de détermination d'état est illustré sur la figure
5, où le chronogramme supérieur illustre un exemple d'évolution du bit X fourni par
le comparateur 27. Le bit d'état Y (chronogramme inférieur) est initialisé à 0, car
les caractéristiques IRS sont le plus fréquemment rencontrées. On calcule trame après
trame une variable de comptage V initialement mise à 0. La variable V est incrémentée
d'une unité chaque fois que la condition X du signal sur une trame diffère de celle
correspondant à l'état déterminé Y (X = 1 et Y = 0, ou X = 0 et Y = 1). Dans le cas
contraire (X = Y = 0 ou 1) la variable V est décrémentée de deux unités si elle est
différente de 0 et de 1, décrémentée d'une unité si elle est égale à 1, et maintenue
inchangée si elle est égale à 0. Dès que la variable V atteint un seuil prédéterminé
(8 dans l'exemple considéré), on la remet à 0 et on change la valeur du bit Y, de
sorte qu'on détermine que le signal a changé d'état. Ainsi, dans l'exemple représenté
sur la figure 5, le signal est dans l'état Y
A jusqu'à la trame M, dans l'étant Y
B entre les trames M et N (changement de la source de signal), puis de nouveau dans
l'état Y
A à partir de la trame N. Bien entendu, d'autres modes d'incrémentation et de décrémentation
et d'autres valeurs de seuil seraient utilisables.
[0035] Le mode de comptage ci-dessus peut par exemple être obtenu par le circuit 29 représenté
sur la figure 4. Ce circuit comprend un compteur 32 sur quatre bits, dont le bit de
poids fort correspond au bit d'état Y, et dont les trois bits de poids faible représentent
la variable de comptage V. Les bits X et Y sont fournis à l'entrée d'une porte OU
EXCLUSIF 33 dont la sortie est adressée à l'entrée d'incrémentation du compteur 32
par l'intermédiaire d'une porte ET 34 dont l'autre entrée reçoit le bit Z fourni par
le comparateur à seuil 25. Ainsi, la variable V est incrémentée lorsque X ≠ Y et Z
= 1. La sortie inversée de la porte 33 est fournie à une entrée de décrémentation
du compteur 32 par l'intermédiaire d'une autre porte ET 35 dont les deux autres entrées
reçoivent respectivement le bit Z fourni par le comparateur 25, et la sortie d'une
porte OU à trois entrées 36 recevant les trois bits de poids faible du compteur 32.
Le compteur 32 est agencé pour dédoubler les impulsions reçues sur son entrée de décrémentation
lorsque son bit de poids le plus faible vaut 0 ou lorsque l'un au moins des deux bits
suivants vaut 1, comme schématisé par la porte ou 37 sur la figure 4. Ainsi, le compteur
32 est décrémenté (d'une unité si V = 1 et de deux unités si V > 1) lorsque X = Y
et Z = 1 et V ≠ 0. Lorsque l'énergie du signal d'entrée est insuffisante, on a Z =
0 et le circuit de détermination 29 n'est pas activé car les portes ET 34, 35 empêchent
de modifier la valeur du compteur 32.
[0036] Le bit d'état Y ainsi déterminé est fourni à l'unité 8 de prédiction linéaire à court
terme pour choisir le mode de quantification des coefficients du filtre de synthèse
à court terme.
[0037] Dans l'exemple préféré illustré sur la figure 2, les paramètres utilisés pour représenter
les coefficients a
i du filtre de synthèse à court terme sont les fréquences de lignes spectrales (LSF),
ou paires de lignes spectrales (LSP). Ces paramètres sont connus comme ayant de bonnes
propriétés statistiques et comme assurant aisément la stabilité du filtre synthétisé
(voir N. Sugamura et F. Itakura : "Speech Analysis And Synthesis Method Developed
At ECL In NTT : From LPC to LSP", Speech Communication, North Holland, Vol. 5, N°
2, 1986, pp. 199-215). Les paramètres LSP sont obtenus à partir des polynômes Q(z)
et Q*(z) définis ci-dessous :


[0038] On démontre que les racines complexes de ces deux polynômes sont sur le cercle unité
et que, lorsqu'on parcourt le cercle unité, les racines de Q(z) alternent avec celles
de Q*(z). Les p racines autres que z = +1 et z = -1 s'écrivent e
2πjfi avec j² = -1, les p fréquences f
i étant définies comme les fréquences de lignes spectrales normalisées relativement
à la fréquence d'échantillonnage. Les fréquences normalisées f
i sont comprises entre 0 et 0,5 et sont ordonnées de façon que chaque paire de fréquences
consécutives comprenne une fréquence correspondant à une racine de Q(z) et une fréquence
correspondant à une racine de Q*(z). Dans cette modélisation, les lignes spectrales
d'une paire encadrent un formant du signal de parole, et leur distance est inversement
proportionnelle à l'amplitude de la résonance de ce formant.
[0039] Les paramètres LSP sont calculés par le bloc 42 à partir des coefficients de prédiction
a
i obtenus par le bloc 41 au moyen des polynômes de Chebyshev (voir P. Kabal et R.P.
Ramachandran :"The Computation Of Line Spectral Frequencies Using Chebyshev Polynomials",
IEEE Trans. ASSP, Vol. 34, N°6, 1986 pp. 1419-1426) . Ils peuvent également être obtenus
directement à partir des autocorrélations du signal, par l'algorithme de Levinson
éclaté (voir P. Delsarte et Y.Genin : "The Split Levinson Algorithm", IEEE Trans.
ASSP, Vol. 34, N°3, 1986).
[0040] Le bloc 43 effectue la quantification des fréquences LSF, ou plus précisément des
valeurs cos2πf
i, ci-après appelées paramètres LSP, comprises entre -1 et +1, ce qui simplifie les
problèmes de dynamique. La méthode de calcul des fréquences LSF permet de les obtenir
dans l'ordre des fréquences croissantes, c'est-à-dire des cosinus décroissants.
[0041] Il existe pour ces paramètres LSP deux grandes familles de méthodes de quantification
: la quantification scalaire où chaque paramètre est représenté séparément par la
valeur quantifiée la plus proche ; et la quantification vectorielle, qui s'effectue
sur un ou plusieurs groupes de paramètres, pour chacun desquels on cherche dans un
dictionnaire multidimensionnel le vecteur le plus approchant.
[0042] Dans le cas d'une quantification vectorielle pour une analyse LPC d'ordre p=10, on
effectue par exemple m = 3 quantifications vectorielles indépendantes, de dimensions
respectives 3, 3 et 4, définissant les groupes LSP I(1,2,3), II(4,5,6) et III(7,8,9,10).
Chaque groupe est quantifié en sélectionnant dans une table de quantification respective
préenregistrée le vecteur présentant la distance euclidienne minimale avec les paramètres
de ce groupe.
[0043] Pour le groupe I, on définit deux tables de quantification T
I,1 et T
I,2 disjointes de tailles respectives 2
n1 et 2
n2. Pour le groupe II, on définit deux tables de quantification T
II,1 et T
II,2 de tailles respectives 2
p1 et 2
p2 ayant une partie commune pour réduire l'espace mémoire nécessaire. Pour le groupe
III, on définit une table de quantification unique T
III de taille 2
q Les adresses AD
I, AD
II, AD
III des trois vecteurs issus de trois tables de quantification relatives aux trois groupes
constituent les valeurs de quantification q(a
i) des coefficients du filtre de synthèse à court terme, qui sont adressées au multiplexeur
21. Le bloc 43, qui opère la quantification des paramètres LSP, sélectionne les tables
T
I,1 et T
II,1 pour rechercher les vecteurs de quantification des groupes I et II lorsque Y = 0
(signal de type IRS). En conséquence, on construit les échantillons des tables T
I,1 et T
II,1 de façon que leurs statistiques soient optimisées pour la quantification d'un signal
de type de IRS. Lorsque Y = 1 (état linéaire), le bloc 43 sélectionne les tables T
I,2 et T
II,2, dont la statistique est établie pour être représentative d'un signal d'entrée de
type linéaire. Pour le groupe III, la table T
III est utilisée dans tous les cas, car la partie haute du spectre est moins sensible
aux différences entre les caractéristiques IRS et linéaire. Le bit d'état Y est également
fourni au multiplexeur 21.
[0044] Une unité 45 calcule les estimations â
i à partir des valeurs discrétisées des paramètres LSP données par les trois vecteurs
retenus. Les paramètres LSP cos2πf
i permettent aisément de déterminer les coefficients du filtre de synthèse à court
terme étant donné que


et

[0045] Les estimations â
i ainsi obtenues sont fournies par l'unité 45 aux filtres à court terme 9, 10 et 14
du codeur. Dans le décodeur, le même calcul est effectué par l'unité de restitution
50, les vecteurs de cosinus quantifiés étant retrouvés à partir des adresses de quantification
AD
I, AD
II et AD
III. Le décodeur contient les mêmes tables de quantification que le codeur, et leur sélection
s'effectue en fonction du bit d'état Y reçu.
[0046] Outre l'optimisation des performances du codeur, l'utilisation de deux familles de
tables de quantification sélectionnées suivant l'état spectral Y a l'avantage de procurer
une meilleure efficacité en termes de nombre de bits de codage requis. En effet, le
nombre total de bits utilisés, à performance égale, pour la quantification des paramètres
LSP dans chacun des cas est inférieur au nombre de bits nécessaires lorsqu'une seule
famille de tables est utilisée indépendamment d'une détection de l'état spectral.
Dans le cas typique où n1 = 8, n2 = 7, p1 = 9, p2 = 10 et q = 8, le nombre de bits
nécessaires au codage des paramètres LSP vaut n1 + p1 + q + 1 = 26 lorsque Y = 0,
et n2 + p2 + q + 1 = 26 lorsque Y = 1 (ce qui assure le même débit global), tandis
que, pour obtenir une statistique aussi riche sans faire appel à l'état Y, il faudrait
au moins n + p + q = 10 + 11 + 8 = 29 bits d'adressage.
[0047] En variante, le bloc 43 peut être agencé pour effectuer une quantification vectorielle
différentielle. Chaque groupe de paramètres I, II, III est alors quantifié différentiellement
par rapport à un vecteur moyenne. Pour le groupe I, on définit deux vecteurs moyenne
distincts V
I,1 et V
I,2 et une table de quantification des différences TD
I. Pour le groupe II, on définit deux vecteurs moyenne distincts V
II,1 et V
II,2 et une table de quantification des différences TD
II. Pour le groupe III, on définit un unique vecteur moyenne V
III et une table de quantification des différences TD
III. Les vecteurs moyenne V
I,1 et V
II,1 sont établis pour être représentatifs d'une statistique de signaux de type IRS, tandis
que les vecteurs moyenne V
I,2 et V
II,2 sont établis pour être représentatifs d'une statistique de signaux de type linéaire.
Le bloc 43 opère la quantification différentielle des groupes I et II par rapport
aux vecteurs V
I,1 et V
II,1 lorsque Y = 0 (état IRS) et par rapport aux vecteurs V
I,2 et V
II,2 lorsque Y = 1 (état linéaire). L'avantage de cette quantification différentielle
est qu'elle permet de ne stocker, dans le codeur et dans le décodeur, qu'une seule
table de quantification par groupe. Les valeurs de quantification q(a
i) sont les adresses des trois vecteurs-différence optimaux dans les trois tables,
auxquelles s'ajoute le bit Y déterminant quels sont les vecteurs moyenne à ajouter
à ces vecteurs-différence pour restituer les paramètres LSP quantifiés.
[0048] Lorsqu'on procède à une quantification scalaire, chaque paramètre est représenté
séparément par la valeur quantifiée la plus proche. On définit pour chaque paramètre
LSP cos2πf
i une borne supérieure M
i et une borne inférieure m
i, telles que, sur un grand nombre d'échantillons de parole, environ 90% des valeurs
rencontrées de cos2πf
i soient comprises entre m
i et M
i. L'intervalle de référence entre les deux bornes est divisé en 2
Ni segments égaux, où Ni est le nombre de bits de codage consacré à la quantification
du paramètre cos2πf
i. Après avoir quantifié le premier paramètre LSP cos2πf₁, on utilise la propriété
d'ordonnancement des fréquences f
i pour remplacer dans certains cas la borne supérieure M
i par la valeur quantifiée du cosinus précédent ĉos2πf
i-1. En d'autres termes, pour 1 < i ≦ p, on effectue la quantification de cos2πf
i en subdivisant en 2
Ni segments égaux l'intervalle de variation [m
i, min{M
i, ĉos2πf
i-1}]. La quantification d'un paramètre LSP cos2πf
i dans son intervalle de variation consiste à déterminer le nombre n
i de Ni bits tel que cos2πf
i soit dans le n
i-ième segment de l'intervalle de référence (si cos2πf
i < m
i, on prend n
i = 1).
[0049] La détection de l'état spectral du signal permet de définir deux familles d'intervalles
de référence [m
i,1,M
i,1] et [m
i,2,M
i,2] pour les r premiers paramètres (1 ≦ i ≦ r ≦ p). La famille [m
i,1,M
i,1] est établie statistiquement à partir d'échantillons de signaux de type IRS, et est
sélectionnée pour procéder à la quantification lorsque Y = 0 (état IRS). La famille
[m
i,2,M
i,2] est établie statistiquement à partir d'échantillons de signaux de type linéaire
et est sélectionnée pour procéder à la quantification lorsque Y = 1 (état linéaire).
Ces deux familles sont mémorisées à la fois dans le codeur et dans le décodeur.
[0050] Une autre possibilité, qui peut compléter ou remplacer la précédente, consiste à
définir pour certains des paramètres des nombres de bits de codage Ni différents suivant
que le signal est de type IRS ou linéaire. Pour un même nombre total de bits de codage,
on peut notamment prendre des nombres Ni plus faibles dans le cas IRS que dans le
cas linéaire pour les premiers paramètres LSP (les cosinus les plus grands), étant
donné que la dynamique des premiers paramètres LSP est réduite dans le cas IRS, la
diminution des premiers Ni étant compensée par une augmentation des Ni relatifs aux
derniers paramètres LSP, ce qui augmente la finesse de quantification de ces derniers
paramètres. Ces différentes allocations des bits de codage sont mémorisées à la fois
dans le codeur et dans le décodeur, les paramètres LSP pouvant ainsi être retrouvés
en examinant le bit d'état Y.
[0051] En remplacement ou en complément du dispositif 20, on peut se servir des paramètres
LSP calculés pour déterminer quel est l'état spectral Y du signal d'entrée. Ceci est
illustré par le bloc 44 sur la figure 2. En effet, les lignes spectrales de chaque
paire encadrent un formant du signal de parole, et leur distance est inversement proportionnelle
à l'amplitude de la résonance. On voit qu'ainsi les paramètres LSP peuvent donner
directement une idée assez précise de l'enveloppe spectrale du signal de parole. Dans
le cas d'un signal de type IRS, l'amplitude des résonances situées dans la partie
basse du spectre est plus faible que dans le cas linéaire. Ainsi, en analysant les
écarts entre les premières fréquences LSF consécutives, on peut déterminer si le signal
d'entrée est plutôt de type IRS (écarts grands) ou linéaire (écarts plus petits).
Cette détermination peut s'effectuer pour chaque trame de signal pour obtenir le bit
de condition X qu'on traite ensuite par un circuit de détermination d'état semblable
au circuit 29 de la figure 4 pour obtenir le bit d'état Y utilisé par le bloc de quantification
43.
1. Procédé de codage de parole à prédiction linéaire, dans lequel un signal de parole
(SI) numérisé en trames successives est soumis à une analyse par synthèse pour obtenir,
pour chaque trame, des valeurs de quantification de paramètres de synthèse (ai,b,T,k,G) permettant de reconstituer une estimation (Ŝ) du signal de parole, et on
émet lesdites valeurs de quantification, l'analyse par synthèse comprenant une prédiction
linéaire à court terme du signal de parole pour déterminer les valeurs de quantification
des coefficients d'un filtre de synthèse à court terme, caractérisé en ce qu'on détermine
un état spectral (Y) du signal de parole parmi des premier et second états (YA,YB) tels que le signal contienne proportionnellement moins d'énergie aux basses fréquences
dans le premier état que dans le second état, et on applique l'un ou l'autre de deux
modes de quantification pour obtenir les valeurs de quantification des coefficients
du filtre de synthèse à court terme suivant l'état spectral déterminé (Y) du signal
de parole.
2. Procédé selon la revendication 1, caractérisé en ce qu'on ne modifie pas l'état déterminé
(Y) du signal de parole lorsqu'il a une énergie inférieure à un seuil prédéterminé.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'on détecte trame par trame
si le signal est dans une première condition correspondant au premier état (YA) ou dans une seconde condition correspondant au second état (YB), et on détermine l'état (Y) du signal sur la base des conditions trame par trame
(X), en ne modifiant l'état déterminé qu'après que plusieurs trames successives montrent
une condition de signal différente de celle correspondant à l'état précédemment déterminé.
4. Procédé selon la revendication 3, caractérisé en ce qu'on incrémente une variable
de comptage (V) lorsque la condition (X) du signal sur une trame diffère de celle
correspondant à l'état déterminé (Y) du signal, en ce qu'on décrémente cette variable
de comptage (V) lorsque la condition du signal sur une trame est celle correspondant
à l'état déterminé du signal sauf si cette variable vaut zéro, et en ce que, lorsque
la variable de comptage (V) atteint un seuil prédéterminé, on la remet à zéro et on
détermine que le signal a changé d'état.
5. Procédé selon la revendication 3 ou 4, caractérisé en ce qu'on soumet le signal de
parole (SI) à un filtrage passe-haut, on compare l'énergie (E2) du signal filtré passe-haut
(SI') à celle (E1) du signal non filtré pour déterminer trame par trame si le signal
est dans la première condition, pour laquelle l'énergie du signal filtré passe-haut
est supérieure à une fraction prédéterminée de l'énergie du signal non filtré, ou
dans la seconde condition, pour laquelle l'énergie du signal filtré passe-haut est
inférieure à la fraction prédéterminée de l'énergie du signal non filtré.
6. Procédé selon la revendication 3 ou 4, caractérisé en ce que les coefficients (ai) du filtre de synthèse à court terme sont représentés par un ensemble de fréquences
de lignes spectrales (fi), et en ce qu'on analyse la distribution des fréquences de lignes spectrales dans
chaque trame du signal de parole (SI) pour détecter si le signal est dans la première ou la seconde condition.
7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que les
coefficients (ai) du filtre de synthèse à court terme sont représentés par un ensemble de p paramètres
fréquentiels de lignes spectrales ordonnés (cos2πfi), subdivisé en m groupes de paramètres fréquentiels consécutifs, p étant l'ordre
de la prédiction linéaire à court terme et m étant un nombre entier supérieur ou égal
à 1, et en ce qu'au moins le premier groupe est quantifié différentiellement par rapport
à un vecteur moyenne choisi parmi deux vecteurs distincts (VI,1,VI,2) suivant l'état spectral déterminé (Y) du signal de parole.
8. Procédé selon la revendication 7, caractérisé en ce que le nombre m est égal à 3,
et en ce que chacun des deux premiers groupes de paramètres fréquentiels consécutifs
est quantifié différentiellement par rapport à un vecteur moyenne respectif choisi
parmi deux vecteurs distincts respectifs suivant l'état spectral déterminé (Y) du
signal de parole.
9. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que les
coefficients (ai) du filtre de synthèse à court terme sont représentés par un ensemble de p paramètres
fréquentiels de lignes spectrales ordonnés (cos2πfi), subdivisé en m groupes de paramètres fréquentiels consécutifs, p étant l'ordre
de la prédiction linéaire à court terme et m étant un nombre entier supérieur ou égal
à 1, et en ce qu'au moins le premier groupe est quantifié en sélectionnant dans une
table de quantification un vecteur présentant une distance minimale avec les paramètres
fréquentiels dudit groupe, cette table de quantification étant choisie parmi deux
tables distinctes (TI,1, TI,2) suivant l'état spectral déterminé (Y) du signal de parole.
10. Procédé selon la revendication 9, caractérisé en ce que le nombre m est égal à 3,
et en ce que chacun des deux premiers groupes de paramètres fréquentiels consécutifs
est quantifié en sélectionnant dans une table de quantification respective un vecteur
présentant une distance minimale avec les paramètres fréquentiels dudit groupe, chacune
des deux tables de quantification relatives aux deux premiers groupes étant choisie
parmi deux tables distinctes respectives suivant l'état spectral déterminé (Y) du
signal de parole.
11. Procédé selon la revendication 10, caractérisé en ce que les deux tables de quantification
distinctes (TI,1, TI,2) relatives au premier groupe sont disjointes, et en ce que les deux tables de quantification
distinctes (TII,1, TII,2) relatives au second groupe présentent une partie commune.
12. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que les
coefficients (ai) du filtre de synthèse à court terme sont représentés par un ensemble de p paramètres
fréquentiels de lignes spectrales ordonnés (cos2πfi), p étant l'ordre de la prédiction linéaire à court terme, en ce qu'on quantifie
chacun de ces p paramètres en subdivisant un intervalle de variation ([mi,min{Mi,ĉos2πfi-1}]) inclus dans un intervalle de référence respectif ([mi,Mi]) en 2Ni segments, Ni étant le nombre de bits de codage consacré à la quantification de ce
paramètre, et en ce qu'on utilise, au moins pour les premiers paramètres ordonnés,
des intervalles de référence choisis chacun parmi deux intervalles distincts ([mi,1,Mi,1], [mi,₂,Mi,₂]) suivant l'état spectral déterminé (Y) du signal de parole.
13. Procédé selon l'une quelconque des revendications 1 à 6 ou la revendication 12, caractérisé
en ce que les coefficients (ai) du filtre de synthèse à court terme sont représentés par un ensemble de p paramètres
fréquentiels de lignes spectrales ordonnés (cos2πfi), p étant l'ordre de la prédiction linéaire à court terme, en ce qu'on quantifie
chacun de ces p paramètres en subdivisant un intervalle de variation ([mi,min{Mi, ĉos2πfi-1}]) inclus dans un intervalle de référence respectif ([mi,Mi]) en 2Ni segments, Ni étant le nombre de bits de codage consacré à la quantification de ce
paramètre, et en ce qu'on donne à certains au moins des nombres de bits de codage
Ni l'une ou l'autre de deux valeurs distinctes suivant l'état spectral déterminé (Y)
du signal de parole.