[0001] La présente invention concerne les procédés de codage et les codeurs de parole à
analyse par synthèse, à prédiction linéaire, qui utilisent un modèle de production
de la parole par passage d'un signal d'excitation, représentant la source vocale,
à travers un filtre prédicteur à long terme de fonction de transfert 1/B(z) où B(z)
= 1-bz
-T, où T est la période du fondamental de la parole et à travers un filtre prédicteur
à court terme de fonction de transfert 1/A(z) représentant la contribution du conduit
vocal et dont les caractéristiques spectrales varient lentement.
[0002] On connaît déjà de nombreux procédés et codeurs de ce type.
[0003] Un procédé qui s'est montré particulièrement satisfaisant consiste à générer le signal
d'excitation à partir d'une séquence d'impulsions multiples (procédé dit MPLPC) ou
d'un code choisi dans un dictionnaire (procédé dit CELP) et à utiliser un prédicteur
à long terme qui prend en compte l'autocorrélation à long terme du signal de parole
et qui est particulièrement efficace sur les sons voisés, car le signal est alors
presque périodique. On peut ainsi obtenir un signal synthétique dont la forme d'onde
se rapproche de celle de la parole à coder.
[0004] On trouvera une description de procédés de codage à prédiction linéaire CELP dans
de nombreux documents auxquels on pourra se reporter, notamment dans "An efficient
stochastically excited linear predictive coding algorithm for high quality low bit
rates transmission of speech", W.B. KLEIJN et autres, Proceedings ICASSP, avril 1988,
speech communication 7 (1988) 305-316, North Holland et dans "Synthesis filter optimization
and coding applications to CELP", P. KABAL et autres, CH 2561 9880000-0147, 1988,
IEEE. On connaît également (EP-A-0 347 307) un procédé de codage de parole, à prédiction
linéaire et excitation par séquence extraite d'un dictionnaire et constituée par un
vecteur d'excitation choisi dans le dictionnaire , permettant de coder des signaux
de parole mis sous forme d'échantillons numérisés répartis en trames, procédé suivant
lequel on représente chaque trame de signal de parole d'une part par des paramètres
de prédiction, d'autre part par des séquences d'excitation contenues dans un dictionnaire
et par des gains d'amplification de ces séquences, les séquences retenues étant déterminées
par recherche du minimum de l'énergie d'un signal d'erreur obtenu par comparaison
entre la trame de signal de parole d'origine et la trame synthètique reconstituée
par synthèse à partir des paramètres.
[0005] Les procédés de codage ci-dessus permettent une bonne reproduction de la parole avec
un débit relativement faible, de l'ordre de 8 kbits par seconde. Les paramètres sont
généralement transmis à intervalles correspondant chacun à une fenêtre pendant laquelle
on conserve les mêmes caractéristiques de prédiction à court terme et à plusieurs
trames. La durée des trames doit être suffisamment courte pour que les caractéristiques
spectrales du signal de parole évoluent peu pendant leur durée. Le nombre d'échantillons
par trame constitue un compromis. Il est souhaitable que la durée d'une trame soit
inférieure à la période minimum du fondamental de la parole (désignée par pitch lag
dans les articles en anglais). Mais une trame longue a l'avantage de se traduire par
de moindres variations de l'énergie moyenne du signal d'une trame à l'autre. Dans
la pratique, on choisit généralement une trame d'une quarantaine d'échantillons.
[0006] Si les procédés ci-dessus permettent de réduire très considérablement le débit requis
pour une reproduction satisfaisante de la parole, ils exigent en contrepartie un volume
de calcul en temps réel qui, dans les premières mises en oeuvre du procédé, était
inacceptable. Le procédé décrit dans le document EP-A-0 347 307 permet de réduire
notablement ce volume de calcul. La présente invention vise notamment à le réduire
encore de façon significative, permettant ainsi une simplification des moyens mis
en oeuvre, sans dégrader la restitution de la parole.
[0007] Dans ce but, l'invention propose notamment un procédé du type ci-dessus défini, caractérisé
en ce qu'un signal d'erreur est obtenu en soustrayant, de la trame du signal de parole
d'origine, deux termes, en ce que ladite trame de signal de parole est, avant soustraction,
soumise à un filtrage d'analyse à court terme
r prédéterminé et à un filtrage de synthèse pondéré perceptuel
H, le premier terme étant représentatif de la sortie du prédicteur à long terme avec
un décalage temporel
T égal à la période du fondamental, soumis au filtrage de synthèse avec un coefficient
de proportionnalité tandis que le second terme est représentatif de chacune des séquences
d'excitation à son tour, chaque séquence étant préalablement soumise à une amplification
G d'un même filtrage de synthèse pondéré que la trame du signal de parole, et en ce
que, au cours d'une même séquence et pour chaque trame, on détermine un optimum du
décalage
T par recherche d'un minimum d'erreur perceptuelle (par exemple d'erreur perceptuelle
quadratique) et on en déduit le coefficient
k, puis on calcule simultanément les valeurs optimales de
b et de
G pour les valeurs retenues de
T et de
k.
[0008] L'invention sera mieux comprise à la lecture de la description qui suit d'un mode
particulier de réalisation donné à titre d'exemple non limitatif, correspondant au
cas d'un codage à excitation vectorielle, et de la comparaison qui en est faite avec
des procédés antérieurs.
[0009] La description se réfère aux dessins qui l'accompagnent dans lesquels :
- la figure 1 est un schéma de principe montrant les opérations qui fournissent la parole
synthétique à partir des paramètres qui la représentent, dans les procédés de codage
à analyse par prédiction linéaire ;
- la figure 2 est un schéma synoptique de principe montrant une constitution possible
d'un codeur suivant l'invention.
[0010] En transmission et synthèse de parole, la parole synthétique est obtenue par la séquence
d'opérations schématisées en figure 1. Un signal d'excitation, c
n pour la trame d'ordre
n (signal constitué par un vecteur d'excitation dans le cas du procédé CELP), est soumis
à un filtrage prédicteur à long terme 10 et un filtrage prédicteur à court terme 12,
ayant respectivement des fonctions de transfert 1/B(z) et 1/A(z), en utilisant la
notation classique en
z. La sortie ŝ
n représente une synthèse d'estimation du signal de parole, c'est-à-dire une parole
synthétique.
[0011] Le filtre A(z) est généralement un filtre "tous zéros" de la forme :

et le filtre B(z) est généralement à un seul coefficient, donc a une fonction de
transfert de la forme :
B(z) = 1 - bz
-T.
[0012] Pour permettre de reconstituer, dans un décodeur, la parole synthétique il est nécessaire
de transmettre :
- les paramètres du signal d'excitation cn, c'est-à-dire l'identification du vecteur d'excitation et un coefficient d'amplification
G ;
- les paramètres caractéristiques du prédicteur à long terme, qui prend en compte la
corrélation à long terme du signal de parole, donc tient compte de la "mélodie" (ou
"pitch" suivant la terminologie anglo-saxonne), constitués par le décalage temporel
T et par le coefficient unique b ;
- les coefficients ai de la fonction de transfert du filtre à court terme, qui assurent la synthèse des
formants, liés aux résonances du conduit vocal.
[0013] Dans certaines réalisations, les coefficients du filtre à court terme sont mis à
jour à une cadence plus faible que celle du vecteur d'excitation et du filtre à long
terme c'est-à-dire à intervalles de plusieurs trames, correspondant à des "fenêtres"
: l'invention est applicable aussi bien à ce cas qu'à celui où le rafraîchissement
est effectué pour tous les paramètres à la cadence de répétition des trames.
[0014] Les paramètres ci-dessus définis sont déterminés dans le codeur pour chaque trame.
Le signal d'excitation est déterminé de façon à minimiser l'écart entre le signal
de parole original s
n et le signal synthétique ŝ
n, reconstitué dans le codeur lui-même à partir des paramètres, c'est-à-dire qu'on
met en oeuvre une analyse par synthèse. Pour cela, on calcule, pour chaque signal
d'excitation disponible, l'énergie du signal d'erreur. En règle générale, l'erreur
prise en compte n'est pas obtenue par comparaison directe entre le signal original
s
n et le signal synthétique ŝ
n, mais une erreur dite perceptuelle, tenant compte de ce que l'incidence du bruit
est plus faible dans les zones du spectre de fréquence où le niveau du signal est
élevé. On adopte en général un signal d'erreur (généralement un signal d'erreur quadratique)
fourni par un filtre dit de pondération perceptuelle (frequency weighted en terminologie
anglo-saxonne) de la forme :

où γ est un coefficient fixe, généralement d'environ 0,8.
[0015] Dans la pratique, la pondération peut être effectuée non pas sur le signal d'erreur,
mais sur le signal de parole et le signal synthétique avant de former la différence
entre ces signaux. Le signal d'origine est alors filtré par A(z), puis 1/A(z/y) avant
d'être comparé au signal d'excitation lui-même filtré par 1/B(z) puis 1/A(z/γ).
[0016] Les valeurs optimales b₀ et T₀ du prédicteur à long terme peuvent être calculées
avec le même critère d'erreur que les paramètres de l'excitation (constitués par exemple
par l'indice k d'un vecteur d'excitation dans un dictionnaire et un coefficient d'amplification
G). Cette méthode de prédiction à long terme est dite "en boucle fermée", car les
paramètres sont calculés dans la boucle d'analyse du codeur. Ce processus d'analyse
a l'inconvénient, même lorsqu'on met en oeuvre des procédés simplifiés tels que celui
décrit dans l'article de KLEIJN mentionnée ci-dessus, d'une grande complexité.
[0017] Comme on l'a indiqué plus haut, le procédé selon l'invention vise à obtenir une restitution
satisfaisante de la parole avec une charge de calcul réduite. Le premier résultat
est obtenu par un calcul qu'on peut qualifier de simultané de tous les paramètres
du fait qu'on ne fait pas d'hypothèse a priori sur le signal d'excitation pour calculer
les paramètres de filtrage à long terme. Le second résultat est atteint en effectuant
successivement
- le calcul de la valeur optimale T₀ du retard T, par une méthode de calcul rapide,
mais en boucle fermée pour avoir une bonne restitution,
- le calcul simultané du coefficient unique b du prédicteur à long terme (qui constitue
un gain) et des paramètres de l'excitation, par un calcul d'optimisation utilisant
des hypothèses simplificatrices que l'expérience a montré justifiées.
[0018] Il ne sera plus question du prédicteur à court terme,de fonction de transfert A(z)
dont les coefficients peuvent être calculés par l'un quelconque des procédés habituels.
[0019] Avant de décrire l'invention proprement dite, il est nécessaire de rappeler des modes
connus de calcul des valeurs optimales b₀ et T₀ des paramètres b et T en minimisant
l'erreur E de prédiction du prédicteur à long terme sur le signal résiduel r provenant
du prédicteur à court terme, qui constitue un codeur à prédiction linéaire, souvent
désigné par l'abréviation LPC.
[0020] Un procédé en boucle ouverte utilise le fait que l'erreur de prédiction E₁ du prédicteur
à long terme (PLT) peut s'écrire, pour la trame d'ordre n :

où l'indice n-T désigne r
n retardé de T.
[0021] Une première approche, dite "en boucle ouverte" utilise le fait que le minimum est
atteint lorsque la dérivée partielle de E₁ par rapport à b est nulle. En conséquence,
la recherche du minimum de E₁ revient à trouver le retard T₀ (retard de recopie du
signal passé) pour laquelle on obtient un maximum de Q(T) défini par :

[0022] Le procédé en
boucle ouverte est rapide mais dégrade la qualité, surtout dans le cas où les trames sont courtes
c'est-à-dire où les paramètres sont renouvelés souvent.
[0023] Comme on l'a indiqué plus haut, il est préférable de calculer les paramètres du prédicteur
à long terme en
boucle fermée et pour cela de rechercher les valeurs b₀ et T₀ qui minimisent l'énergie E du signal
d'erreur perceptuelle; jusqu'ici ce calcul était fait en supposant que le signal d'excitation
est nul (ou a une énergie donnée). Cela revient à déterminer séquentiellement les
paramètres du prédicteur à long terme et les paramètres d'excitation. Mais la procédure
est très complexe.
[0024] Elle sera rapidement exposée afin de donner les notations qui sont utilisées plus
loin pour décrire l'invention.
[0025] En supposant le signal d'excitation nul, c'est-à-dire dans le cas d'une détermination
séquentielle, le signal en sortie du prédicteur à long terme s'écrit :

ou

en notation vectorielle.
[0026] Le signal d'erreur perceptuelle est alors obtenu en comparant le signal original
filtré par A(z) (ce qui donne le signal résiduel r) puis par 1/A(z/γ), au signal eT
en sortie du PLT filtré par 1/A(z/γ). En supposant que le signal résiduel r prend
en compte la mémoire des deux filtrages par 1/A(z/γ), ces filtrages peuvent s'exprimer
simplement par un produit matriciel de la matrice H de la réponse impulsionnelle de
1/A(z/γ).
[0027] L'énergie du signal d'erreur est donc :

[0028] Les paramètres optimaux sont alors déterminés en deux étapes :
1°) On recherche T₀ qui maximalise :

2°) On calcule le gain correspondant :

[0029] Cette procédure est très complexe.
[0030] Toutes les séquences e
T possibles doivent être filtrées par 1/A(z/γ) pour calculer H.e
T qui intervient dans l'équation (8) et déterminer Q(T) pour chacune des valeurs possibles
de T (une centaine en général) dans un intervalle prédéterminé dont les limites inférieure
et supérieure sont généralement entre 25 et 40 et entre 100 et 150, respectivement,
pour un signal de parole échantillonné à 8 kHz.
[0031] Le calcul du
numérateur de Q(T) dans la formule (9) ne présente pas de difficulté et peut être effectué de
façon bien connue : en effet ce numérateur N(T) s'écrit :

[0032] Le facteur y = H
t.H.r peut être calculé une seule fois par trame, par multiplication matricielle de
la matrice H
t.H et du vecteur r (signal résiduel du filtrage par A(z)). Le calcul du numérateur
N(T) n'exige alors plus qu'un produit scalaire y
t.e
T pour chacune des valeurs possible de T.
[0033] Mais il subsiste le problème du calcul du
dénominateur de Q(T) de la formule (9). On a déjà proposé de considérer que ce dénominateur est
constant, ce qui revient à supposer que l'énergie du signal est constante ; cette
hypothèse est inacceptable pour des trames courtes car elle conduit à une dégradation
significative de la prédiction à long terme.
[0034] On pourrait penser qu'un compromis satisfaisant consiste à déterminer la valeur optimale
T₀ du retard T en "boucle ouverte" et à déterminer ensuite la valeur optimale b₀ de
b en "boucle fermée" conformément à l'équation (10°, en partant de l'hypothèse que
le prédicteur à long terme est essentiellement efficace pour les sons voisés et sur
ces zones de dignal le retard du PLT est fortement lié à la période du fondamental,
si bien que la méthode "boucle ouverte" conduira le plus souvent au même T₀ que la
méthode "boucle fermée". En fait, cette procédure "mixte" donne des résultats intermédiaires
entre les performances obtenues en boucle ouverte et en boucle fermée.
[0035] L'invention prend en considération cette constatation et écarte le calcul du T₀ en
boucle ouverte au profit d'un calcul en boucle fermée. Elle propose donc :
(1) d'utiliser, pour le calcul de T₀, une fonction d'autocorrélation semblable à Q(T)
de l'équation (9), normalisée pour tenir compte des variations de l'énergie de eT
avec T, et,
(2) pour simplifier les calculs, de faire l'hypothèse que ∥ H.eT∥² dans l'équation (9) varie sensiblement de la même façon que ∥ eT∥² c'est-à-dire que les variations des caractéristiques spectrales de la voix (répartition
de l'énergie dans le spectre) sont négligeales d'une séquence eT à la suivante.
[0036] Maximiser Q(T) pour déterminer T₀ revient alors à maximiser Q′(T) :

[0037] Une fois T₀ déterminé, b₀ peut être calculé par la formule (10).
[0038] Ce mode de calcul élimine la nécessité de faire le calcul de filtrage de toutes les
séquences e
T par 1/A (z/γ) et donne des performances pratiquement équivalentes à celle de la méthode
rigoureuse.
[0039] Pour simplifier le calcul, on peut utiliser la méthode d'autocorrélation, déjà envisagée
dans l'article de Kleijn mentionné plus haut. Dans ce cas la matrice R = H
t.H est une matrice de Toeplitz symétrique dont la i
ième diagonale contient le coefficient d'autocorrélation R
i₋₁ de la réponse impulsionnelle h (de la matrice H) de 1/A(z/γ). Alors y = R.r peut
être calculé efficacement sous forme du résultat d'une opération de filtrage particulière,
tout comme pour la détermination de la séquence d'innovation dans la technique RPCELP
décrite dans le docuent EP-A-0 347 307 déjà mentionné. En utilisant une pondération
perceptuelle appropriée, R peut même devenir indépendant du temps sans perte de qualité
subjective.
[0040] Le procédé suivant l'invention permet d'obtenir une qualité de parole synthétique
meilleure que celle résultant :
- du calcul des paramètre T₀, b₀ du prédicteur à long terme, puis
- de la sélection de la séquence d'innovation et du gain G, c'est-à-dire des paramètres
de l'excitation,
[0041] en optimisant conjointement tous les paramètres, T₀ étant seul calculé préalablement,
et ce sans la charge excessive de calcul à laquelle on pourrait s'attendre. Le terme
"conjointement" doit être compris comme indiquant qu'on ne fait pas d'hypothèse a
priori sur la valeur de b.e
T pour calculer G et K.
[0042] On supposera dans ce qui suit que la séquence d'innovation à multiplier par le gain
G est un vecteur C
k choisi dans un dictionnaire et identifié par l'indice k. Mais le procédé est également
applicable à une excitation multi-impulsionnelle car dans ce cas chaque impulsion
peut être calculée à partir d'un dictionnaire dont toutes les séquences sont constituées
de mono-impulsions dans toutes les positions possibles.
[0043] L'énergie E du signal d'erreur perceptuelle à minimiser est, puisque l'on tient compte
de l'excitation, donnée par la formule (12) qui se substitue à (8) :

[0044] En annulant les dérivées partielles de E par rapport à b et à G on obtient alors
deux équations :

et

avec

[0045] La valeur optimale T₀ du retard T et l'indice k de la séquence optimale sont alors
déterminées en cherchant à maximiser C (T,k) :

[0046] Pour réduire la complexité du calcul sans dégrader les résultats, on détermine d'abord
T₀, puis on cherche l'indice k qui maximise C(T₀,k) ce qui revient à faire le calcul
de (15) pour toutes les indices k possibles, et, simultanément, on calcule les valeurs
à retenir pour b et G.
[0047] Le retard T₀ est avantageusement calculé en boucle fermée, par l'algorithme rapide
de la formule (9bis).
[0048] Les algorithmes ci-dessus peuvent encore être simplifiés dans de nombreux cas. Par
exemple on peut éviter la division dans le calcul de Q′(T) en utilisant des produits
croisés pour comparer les valeurs successives. De plus, chaque terme d'énergie ∥e
T∥² peut être calculé efficacement à partir de la valeur précédente ∥e
T-1∥² en utilisant le fait que deux séquences successives e
T et e
T-1 ne diffèrent que par deux échantillons (le premier et le dernier). Le calcul a alors
une complexité très faible.
[0049] Une fois T₀ déterminé, R1 et E1 sont connus. Le calcul de R2 ne nécessite pas de
filtrage supplémentaire car r
t.R a déjà été calculé pour déterminer T₀ et b₀ : il suffit de le mémoriser à l'issue
de son calcul.
[0050] Le calcul de R3 = e
Tt.R.C
k nécessite uniquement un seul filtrage, puisque la valeur T₀ de T est connue. E2 n'est
calculé qu'une seule fois par trame, ou plus précisément chaque fois que H et la matrice
R changent.
[0051] Si par ailleurs on utilise des séquences d'excitation c
k binaires régulières (procédé RPCELP), telles que celles décrites dans le document
EP-A-0 347 307, le calcul de tous les produits scalaires de C
k des formules (15) est très simple. De plus E2 devient constant et il n'est plus nécessaire
de le calculer.
[0052] Il est souvent justifié de faire une hypothèse supplémentaire conduisant à simplifier
encore le calcul : si on néglige la corrélation entre les paramètres T et b du prédicteur
à long terme et l'excitation, c'est-à-dire si on admet que T₀ et b₀ sont indépendants
de G et k, R3 est nul. La formule (16) se simplifie et devient :

[0053] Il n'y a plus à proprement parler d'optimisation conjointe de T et de k ; mais l'utilisation
du mode de calcul représenté par la formule (9bis) conduit à un allègement de la charge
de calcul.
[0054] La figure 2 montre la constitution de principe d'un codeur permettant de mettre en
oeuvre le procédé qui vient d'être décrit. Le signal de parole échantillonné s
n est appliqué à l'entrée du module d'analyse 10 qui calcule, pour chaque trame, les
coefficients a
i de la fonction de filtrage A(z) de prédiction à court terme et les envoie au codeur
12. Le module 10 pouvant avoir une constitution classique, il n'est pas nécessaire
de le décrire. Le module 10 est également prévu pour fournir le résidu r de la prédiction
à court terme, constitué par s
n filtré par A(z) quantifié. Ce résidu est soumis à un filtrage par R = H
t.H en (14) ce qui fournit en sortie le signal y = R.r.
[0055] Le calcul des coefficients du filtrage à long terme est assuré par un bloc 16 qui
reçoit y et l'erreur de prédiction à long terme, mémorisée à partir de la trame précédente
et donc retardée de T, fournie par une mémoire 18 constituant un dictionnaire évolutif.
[0056] Les paramètres y et e
T sont appliqués à un multiplieur 20 qui fournit une sortie, portée au carré en 22
pour former N(T) donnée par la formule (11). Un second circuit 24, identique à 22,
forme ∥ e
T∥². Un diviseur 26 permet alors d'obtenir la grandeur Q′ à maximiser.
[0057] Le bloc 28 est constitué par un processeur permettant de calculer le retard T₀ pour
lequel Q′ est maximum, par comparaison entre les valeurs de Q′ pour les différentes
valeurs possibles de T. Le calcul peut s'effectuer soit par une logique câblée, soit
par programmation. L'optimum T₀ obtenu, sans hypothèse en ce qui concerne la séquence
d'excitation, est transmis à un processeur 30 de sélection de C
k parmi les séquences C fournies par un dictionnaire 32 et de calcul de b et G.
[0058] Le processeur 30 fournit les valeurs de k, b et G retenues, d'une part au codeur
12, pour transmission d'un jeu de paramètres a
i, T₀, b, k, et G pour chaque trame, d'autre part au générateur 34 de e
T, qui calcule les séquences e
T, les fournit en sortie et les transmet à la mémoire 18. Les a
i peuvent cependant n'être renouvelés qu'à intervalles correspondant à des fenêtres
de durée supérieure à la durée d'une trame et la transmission s'effectue alors à la
cadence des fenêtres.
[0059] Pour des raisons de simplicité, le filtre de pondération perceptuelle n'a pas été
représenté en détail sur la figure 2.
1. Procédé de codage à analyse par synthèse, à prédiction linéaire, utilisant un modèle
de production de la parole par passage d'un signal d'excitation Ck, représentant la source vocale et soumis à amplification G, à travers un filtre prédicteur
à long terme de fonction de transfert 1/B(z) où B(z) = 1 - bz-T, où T est la période du fondamental de la parole, et à travers un filtre prédicteur
à court terme de fonction de transfert 1/A(z) = Σaizi représentant la contribution du conduit vocal et dont les caractéristiques spectrales
varient lentement, suivant lequel on représente chaque trame par des valeurs des paramètres
Ck, G, ai, T et b, caractérisé en ce qu'on génère un signal d'erreur en soustrayant, de la
trame du signal de parole d'origine, deux termes, en ce que ladite trame de signal
de parole est, avant soustraction, soumise au filtrage d'analyse à court terme et
à un filtrage de synthèse pondéré perceptuel H, le premier terme étant représentatif de la sortie du prédicteur à long terme avec
le décalage temporel T, soumis au filtrage de synthèse, tandis que le second terme est représentatif de
chacun des signaux d'excitation à son tour, chaque signal étant préalablement soumis
à une amplification G et au même filtrage de synthèse pondéré que la trame du signal de parole, et en ce
que, au cours d'une même séquence et pour chaque trame, on détermine un optimum du
décalage T par recherche d'un minimum d'erreur perceptuelle et on en déduit le coefficient k, puis on calcule simultanément les valeurs optimales de b et de G pour les valeurs retenues de T et de k.
2. Procédé selon la revendication 1, caractérisé en ce que l'erreur minimisée est l'erreur
perceptuelle quadratique.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce que la valeur optimale T₀
du décalage T est calculée en boucle fermée par recherche de la valeur pour laquelle
:

est maximum, l'exposant t désignant l'opération de transposition, H étant la matrice
de la réponse impulsionnelle de 1/A(z/γ) où γ est un coefficient fixe, et e
T la sortie de la prédiction à long terme.
4. Procédé selon la revendication 3, caractérisé en ce que le coefficient b₀ optimum
de filtrage à long terme est calculé à partir de T₀ par la formule
5. Procédé selon la revendication 3 ou 4, caractérisé en ce que le signal d'excitation
optimal est sélectionné par minimisation de C(T₀,k) :

où

6. Procédé selon la revendication 5, caractérisé en ce qu'on calcule Ht.H.r par filtrage en assimilant Ht.H à une matrice de Toeplitz symétrique.
7. Procédé selon la revendication 6, caractérisé en qu'on détermine le gain par la formule
:
8. Procédé selon la revendication 5, caractérisé en ce qu'on néglige la corrélation enre
T₀ et b₀, G et k pour annuler le terme R3 et sélectionner k par minimisation de
9. Codeur permettant de mettre en oeuvre le procédé selon la revendication 1, caractérisé
en ce qu'il comprend un module d'analyse (10) destiné à recevoir le signal de parole
échantillonné et à calculer, pour chaque trame, les coefficients ai de la fonction de filtrage A(z) de prédiction à court terme et le résidu r de la
prédiction à court terme, un filtre recevant le résidu r et fournissant en sortie
un signal y = R.r., et un bloc (16) de calcul des coefficients du filtrage à long
terme qui reçoit y et l'erreur de prédiction à long terme, mémorisée à partir de la
trame précédente, fournie par une mémoire (18) constituant un dictionnaire évolutif,
un ensemble multiplieur (20)- un circuit de mise au carré (22) destiné à fournir le
numérateur d'un terme à maximiser, un second ensemble formant ∥eT∥², et un diviseur (26) permettant d'obtenir le terme à maximiser, appliqué à un processeur
(28) de calcul du retard T₀ optimum par comparaison entre les valeurs du terme pour
les différentes valeurs possibles de T.