<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ep-patent-document PUBLIC "-//EPO//EP PATENT DOCUMENT 1.1//EN" "ep-patent-document-v1-1.dtd">
<ep-patent-document id="EP91402153B1" file="EP91402153NWB1.xml" lang="fr" country="EP" doc-number="0469997" kind="B1" date-publ="19960911" status="n" dtd-version="ep-patent-document-v1-1">
<SDOBI lang="fr"><B000><eptags><B001EP>..BECHDEDKES..GB..ITLI..NLSE......................</B001EP><B005EP>J</B005EP></eptags></B000><B100><B110>0469997</B110><B120><B121>FASCICULE DE BREVET EUROPEEN</B121></B120><B130>B1</B130><B140><date>19960911</date></B140><B190>EP</B190></B100><B200><B210>91402153.0</B210><B220><date>19910731</date></B220><B240><B241><date>19920515</date></B241><B242><date>19941129</date></B242></B240><B250>fr</B250><B251EP>fr</B251EP><B260>fr</B260></B200><B300><B310>9009905</B310><B320><date>19900802</date></B320><B330><ctry>FR</ctry></B330></B300><B400><B405><date>19960911</date><bnum>199637</bnum></B405><B430><date>19920205</date><bnum>199206</bnum></B430><B450><date>19960911</date><bnum>199637</bnum></B450><B451EP><date>19950919</date></B451EP></B400><B500><B510><B516>6</B516><B511> 6G 10L   9/14   A</B511></B510><B540><B541>de</B541><B542>Kodierungsverfahren und Sprachkodierer unter Anwendung von Analyse durch lineare Prädiktion</B542><B541>en</B541><B542>Coding method and speech coder using linear prediction analysis</B542><B541>fr</B541><B542>Procédé de codage et codeur de parole à analyse par prédiction linéaire</B542></B540><B560><B561><text>EP-A- 0 296 763</text></B561><B562><text>ICASSP'90, 1990 INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, Albuquerque, New Mexico, 3-6 avril 1990, vol. 1, pages 469-472, IEEE, New York, US; I. TRANCOSO et al.: "Celp: a candidate for GSM half-rate coding"</text></B562><B562><text>FREQUENZ, vol. 43, no. 9, septembre 1989, pages 242-252, Berlin, DE; J.-M. MÜLLER et al.: "Ein Beitrag zur Sprachcodierung für Bitraten unter 8 kbit/s"</text></B562><B562><text>SIGNAL PROCESSING IV: THEORIES AND APPLICATIONS, (EUSIPCO-88, FOURTH EUROPEAN SIGNAL PROCESSING CONFERENCE, 5-8 septembre 1988, Grenoble, FR), vol. II, pages 871-874, North Holland Publishing Co., Amsterdam, NL; F. BOTTAU et al.: "On different vector predictive coding schemes and their application to low bit rates speech coding"</text></B562><B565EP><date>19911122</date></B565EP></B560><B590><B598>2</B598></B590></B500><B700><B720><B721><snm>Delprat, Marc</snm><adr><str>160 Reu de Versailles</str><city>F-78150 Le Chesnais</city><ctry>FR</ctry></adr></B721><B721><snm>Gruet, Christophe,
Résidence les Grandes Coudraies</snm><adr><str>Bâtiment C</str><city>F-91190 Gif sur Yvette</city><ctry>FR</ctry></adr></B721></B720><B730><B731><snm>MATRA COMMUNICATION</snm><iid>00706151</iid><adr><str>50, rue du Président Sadate
Creac'h Gwenn</str><city>F-29101 Quimper</city><ctry>FR</ctry></adr></B731></B730><B740><B741><snm>Fort, Jacques</snm><iid>00015661</iid><adr><str>CABINET PLASSERAUD
84, rue d'Amsterdam</str><city>75009 Paris</city><ctry>FR</ctry></adr></B741></B740></B700><B800><B840><ctry>BE</ctry><ctry>CH</ctry><ctry>DE</ctry><ctry>DK</ctry><ctry>ES</ctry><ctry>GB</ctry><ctry>IT</ctry><ctry>LI</ctry><ctry>NL</ctry><ctry>SE</ctry></B840><B880><date>19920205</date><bnum>199206</bnum></B880></B800></SDOBI><!-- EPO <DP n="1"> -->
<description id="desc" lang="fr">
<p id="p0001" num="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<sup>-T</sup>, 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.</p>
<p id="p0002" num="0002">On connaît déjà de nombreux procédés et codeurs de ce type.</p>
<p id="p0003" num="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.</p>
<p id="p0004" num="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<!-- EPO <DP n="2"> --> 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. Un autre procédé de codage pertinent est décrit dans SIGNAL PROCESSING IV: THEORIES AND APPLICATIONS, (EUSIPCO-88, FOURTH EUROPEAN SIGNAL PROCESSING CONFERENCE, 5-8 septembre 1988, Grenoble, FR), vol. II, pages 871-874, North Holland Publishing Co., Amsterdam, NL; F. BOTTAU et al.: "On different vector predictive coding schemes and their application to low bit rates speech coding".</p>
<p id="p0005" num="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.</p>
<p id="p0006" num="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<!-- EPO <DP n="3"> --> 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.</p>
<p id="p0007" num="0007">Dans ce but, l'invention telle que définie par les revendications 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 <u>r</u> prédéterminé et à un filtrage de synthèse pondéré perceptuel <u>H</u>, le premier terme étant représentatif de la sortie du prédicteur à long terme avec un décalage temporel <u>T</u> é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 <u>G</u> 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 <u>T</u> par recherche d'un minimum d'erreur perceptuelle (par exemple d'erreur perceptuelle quadratique) et on en déduit le coefficient <u>k</u>, puis on calcule simultanément les valeurs optimales de <u>b</u> et de <u>G</u> pour les valeurs retenues de <u>T</u> et de <u>k</u>.</p>
<p id="p0008" num="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.</p>
<p id="p0009" num="0009">La description se réfère aux dessins qui l'accompagnent dans lesquels :
<ul id="ul0001" list-style="dash" compact="compact">
<li>la figure 1 est un schéma de principe montrant<!-- EPO <DP n="4"> --> 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 ;</li>
<li>la figure 2 est un schéma synoptique de principe montrant une constitution possible d'un codeur suivant l'invention.</li>
</ul></p>
<p id="p0010" num="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<sub>n</sub> pour la trame d'ordre <u>n</u> (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 <u>z</u>. La sortie ŝ<sub>n</sub>représente une synthèse d'estimation du signal de parole, c'est-à-dire une parole synthétique.</p>
<p id="p0011" num="0011">Le filtre A(z) est généralement un filtre "tous zéros" de la forme :<maths id="math0001" num="(1)"><math display="block"><mrow><msub><mrow><mtext>A(z) = Σa</mtext></mrow><mrow><mtext>i</mtext></mrow></msub><msup><mrow><mtext>z</mtext></mrow><mrow><mtext>-i</mtext></mrow></msup><msub><mrow><mtext> , i = 0,...,M avec a</mtext></mrow><mrow><mtext>0</mtext></mrow></msub><mtext> = 1</mtext></mrow></math><img id="ib0001" file="imgb0001.tif" wi="72" he="7" img-content="math" img-format="tif"/></maths> et le filtre B(z) est généralement à un seul coefficient, donc a une fonction de transfert de la forme :<maths id="math0002" num="(2)"><math display="block"><mrow><msup><mrow><mtext>B(z) = 1 - bz</mtext></mrow><mrow><mtext>-T</mtext></mrow></msup><mtext>.</mtext></mrow></math><img id="ib0002" file="imgb0002.tif" wi="30" he="6" img-content="math" img-format="tif"/></maths></p>
<p id="p0012" num="0012">Pour permettre de reconstituer, dans un décodeur, la parole synthétique il est nécessaire de transmettre :
<ul id="ul0002" list-style="dash" compact="compact">
<li>les paramètres du signal d'excitation c<sub>n</sub>, c'est-à-dire l'identification du vecteur d'excitation et un coefficient d'amplification <u>G</u> ;</li>
<li>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<!-- EPO <DP n="5"> --> par le décalage temporel <u>T</u> et par le coefficient unique <u>b</u> ;</li>
<li>les coefficients a<sub>i</sub> de la fonction de transfert du filtre à court terme, qui assurent la synthèse des formants, liés aux résonances du conduit vocal.</li>
</ul></p>
<p id="p0013" num="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.</p>
<p id="p0014" num="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<sub>n</sub> et le signal synthétique ŝ<sub>n</sub>, 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<sub>n</sub> et le signal synthétique ŝ<sub>n</sub>, 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 :<maths id="math0003" num="(3)"><math display="block"><mrow><mtext>W(z) = A(z) / A(z/γ)</mtext></mrow></math><img id="ib0003" file="imgb0003.tif" wi="39" he="5" img-content="math" img-format="tif"/></maths> où γ est un coefficient fixe, généralement d'environ 0,8.</p>
<p id="p0015" num="0015">Dans la pratique, la pondération peut être effectuée non pas sur le signal d'erreur, mais sur le signal de<!-- EPO <DP n="6"> --> 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/γ) avant d'être comparé au signal d'excitation lui-même filtré par 1/B(z) puis 1/A(z/γ).</p>
<p id="p0016" num="0016">Les valeurs optimales b<sub>0</sub> et T<sub>0</sub> 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é.</p>
<p id="p0017" num="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
<ul id="ul0003" list-style="dash" compact="compact">
<li>le calcul de la valeur optimale T<sub>0</sub> du retard T, par une méthode de calcul rapide, mais en boucle fermée pour avoir une bonne restitution,</li>
<li>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.</li>
</ul></p>
<p id="p0018" num="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.</p>
<p id="p0019" num="0019">Avant de décrire l'invention proprement dite, il<!-- EPO <DP n="7"> --> est nécessaire de rappeler des modes connus de calcul des valeurs optimales b<sub>0</sub> et T<sub>0</sub> 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.</p>
<p id="p0020" num="0020">Un procédé en boucle ouverte utilise le fait que l'erreur de prédiction E<sub>1</sub> du prédicteur à long terme (PLT) peut s'écrire, pour la trame d'ordre n :<maths id="math0004" num="(4)"><math display="block"><mrow><msub><mrow><mtext>E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext> = Σ (r</mtext></mrow><mrow><mtext>n</mtext></mrow></msub><msub><mrow><mtext> - b.r</mtext></mrow><mrow><mtext>n-T</mtext></mrow></msub><msup><mrow><mtext>)</mtext></mrow><mrow><mtext>2</mtext></mrow></msup><mtext>,</mtext></mrow></math><img id="ib0004" file="imgb0004.tif" wi="39" he="7" img-content="math" img-format="tif"/></maths> où l'indice n-T désigne r<sub>n</sub> retardé de T.</p>
<p id="p0021" num="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<sub>1</sub> par rapport à b est nulle. En conséquence, la recherche du minimum de E<sub>1</sub> revient à trouver le retard T<sub>0</sub> (retard de recopie du signal passé) pour laquelle on obtient un maximum de Q(T) défini par :<maths id="math0005" num="(5)"><math display="block"><mrow><msup><mrow><mtext>Q (T) = (r</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.r</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext>)</mtext></mrow><mrow><mtext>2</mtext></mrow></msup><msub><mrow><mtext> /∥r</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext>∥</mtext></mrow><mrow><mtext>2</mtext></mrow></msup></mrow></math><img id="ib0005" file="imgb0005.tif" wi="41" he="6" img-content="math" img-format="tif"/></maths></p>
<p id="p0022" num="0022">Le procédé en <u>boucle ouverte</u> 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.</p>
<p id="p0023" num="0023">Comme on l'a indiqué plus haut, il est préférable de calculer les paramètres du prédicteur à long terme en <u>boucle fermée</u> et pour cela de rechercher les valeurs b<sub>0</sub> et T<sub>0</sub> 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.</p>
<p id="p0024" num="0024">Elle sera rapidement exposée afin de donner les notations qui sont utilisées plus loin pour décrire l'invention.<!-- EPO <DP n="8"> --></p>
<p id="p0025" num="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 :<maths id="math0006" num="(6)"><math display="block"><mrow><msub><mrow><mtext>e</mtext></mrow><mrow><mtext>n</mtext></mrow></msub><msub><mrow><mtext> = b.e</mtext></mrow><mrow><mtext>n-T</mtext></mrow></msub></mrow></math><img id="ib0006" file="imgb0006.tif" wi="21" he="5" img-content="math" img-format="tif"/></maths> ou<maths id="math0007" num="(7)"><math display="block"><mrow><mover accent="true"><mrow><mtext>e</mtext></mrow><mo>→</mo></mover><mtext> = b.</mtext><mover accent="true"><mrow><msub><mrow><mtext>e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub></mrow><mo>→</mo></mover></mrow></math><img id="ib0007" file="imgb0007.tif" wi="16" he="5" img-content="math" img-format="tif"/></maths> en notation vectorielle.</p>
<p id="p0026" num="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 e<sub>T</sub> 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/γ).</p>
<p id="p0027" num="0027">L'énergie du signal d'erreur est donc :<maths id="math0008" num="(8)"><math display="block"><mrow><msub><mrow><mtext>E = (H.r - b.H.e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext>)</mtext></mrow><mrow><mtext>2</mtext></mrow></msup></mrow></math><img id="ib0008" file="imgb0008.tif" wi="37" he="7" img-content="math" img-format="tif"/></maths></p>
<p id="p0028" num="0028">Les paramètres optimaux sont alors déterminés en deux étapes :
<ul id="ul0004" list-style="none">
<li>1°) On recherche T<sub>0</sub> qui maximalise :<maths id="math0009" num="(9)"><math display="block"><mrow><msup><mrow><mtext>Q(T) = ( r</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msup><mrow><mtext>.H</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.H.e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext>)</mtext></mrow><mrow><mtext>2</mtext></mrow></msup><msub><mrow><mtext> / ∥H.e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext>∥</mtext></mrow><mrow><mtext>2</mtext></mrow></msup></mrow></math><img id="ib0009" file="imgb0009.tif" wi="59" he="6" img-content="math" img-format="tif"/></maths></li>
<li>2°) On calcule le gain correspondant :<maths id="math0010" num="(10)"><math display="block"><mrow><msub><mrow><mtext>b</mtext></mrow><mrow><mtext>0</mtext></mrow></msub><msup><mrow><mtext> = (r</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msup><mrow><mtext>.H</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.H.e</mtext></mrow><mrow><mtext>T0</mtext></mrow></msub><msub><mrow><mtext>) / ∥H.e</mtext></mrow><mrow><mtext>T0</mtext></mrow></msub><msup><mrow><mtext>∥</mtext></mrow><mrow><mtext>2</mtext></mrow></msup></mrow></math><img id="ib0010" file="imgb0010.tif" wi="54" he="7" img-content="math" img-format="tif"/></maths></li>
</ul></p>
<p id="p0029" num="0029">Cette procédure est très complexe.</p>
<p id="p0030" num="0030">Toutes les séquences e<sub>T</sub> possibles doivent être filtrées par 1/A(z/γ) pour calculer H.e<sub>T</sub> 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<!-- EPO <DP n="9"> --> supérieure sont généralement entre 25 et 40 et entre 100 et 150, respectivement, pour un signal de parole échantillonné à 8 kHz.</p>
<p id="p0031" num="0031">Le calcul du <u>numérateur</u> 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 :<maths id="math0011" num="(11)"><math display="block"><mrow><msup><mrow><mtext>N(T) = (r</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msup><mrow><mtext>.H</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.He</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext>)</mtext></mrow><mrow><mtext>2</mtext></mrow></msup><msup><mrow><mtext> = ([H</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msup><mrow><mtext>.H.r]</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext>)</mtext></mrow><mrow><mtext>2</mtext></mrow></msup></mrow></math><img id="ib0011" file="imgb0011.tif" wi="67" he="6" img-content="math" img-format="tif"/></maths></p>
<p id="p0032" num="0032">Le facteur y = H<sup>t</sup>.H.r peut être calculé une seule fois par trame, par multiplication matricielle de la matrice H<sup>t</sup>.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<sup>t</sup>.e<sub>T</sub> pour chacune des valeurs possible de T.</p>
<p id="p0033" num="0033">Mais il subsiste le problème du calcul du <u>dénominateur</u> 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.</p>
<p id="p0034" num="0034">On pourrait penser qu'un compromis satisfaisant consiste à déterminer la valeur optimale T<sub>0</sub> du retard T en "boucle ouverte" et à déterminer ensuite la valeur optimale b<sub>0</sub> 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<sub>0</sub> 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.</p>
<p id="p0035" num="0035">L'invention prend en considération cette constatation et écarte le calcul du T<sub>0</sub> en boucle ouverte au profit<!-- EPO <DP n="10"> --> d'un calcul en boucle fermée. Elle propose donc :
<ul id="ul0005" list-style="none">
<li>(1) d'utiliser, pour le calcul de T<sub>0</sub>, une fonction d'autocorrélation semblable à Q(T) de l'équation (9), normalisée pour tenir compte des variations de l'énergie de e<sub>T</sub> avec T, et,</li>
<li>(2) pour simplifier les calculs, de faire l'hypothèse que ∥H.e<sub>T</sub>∥<sup>2</sup> dans l'équation (9) varie sensiblement de la même façon que ∥e<sub>T</sub>∥<sup>2</sup> 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 e<sub>T</sub> à la suivante.</li>
</ul></p>
<p id="p0036" num="0036">Maximiser Q(T) pour déterminer T<sub>0</sub> revient alors à maximiser Q'(T) :<maths id="math0012" num="(9bis)"><math display="block"><mrow><msub><mrow><mtext>Q'(T) = N(T) / ∥e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext>∥</mtext></mrow><mrow><mtext>2</mtext></mrow></msup></mrow></math><img id="ib0012" file="imgb0012.tif" wi="40" he="7" img-content="math" img-format="tif"/></maths></p>
<p id="p0037" num="0037">Une fois T<sub>0</sub> déterminé, b<sub>0</sub> peut être calculé par la formule (10).</p>
<p id="p0038" num="0038">Ce mode de calcul élimine la nécessité de faire le calcul de filtrage de toutes les séquences e<sub>T</sub> par 1/A (z/γ) et donne des performances pratiquement équivalentes à celle de la méthode rigoureuse.</p>
<p id="p0039" num="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<sup>t</sup>.H est une matrice de Toeplitz symétrique dont la i<sup>ième</sup> diagonale contient le coefficient d'autocorrélation R<sub>i-1</sub> 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<!-- EPO <DP n="11"> --> sans perte de qualité subjective.</p>
<p id="p0040" num="0040">Le procédé suivant l'invention permet d'obtenir une qualité de parole synthétique meilleure que celle résultant :
<ul id="ul0006" list-style="dash" compact="compact">
<li>du calcul des paramètre T<sub>0</sub>, b<sub>0</sub> du prédicteur à long terme, puis</li>
<li>de la sélection de la séquence d'innovation et du gain G, c'est-à-dire des paramètres de l'excitation,</li>
</ul>    en optimisant conjointement tous les paramètres, T<sub>0</sub> é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<sub>T</sub> pour calculer G et K.</p>
<p id="p0041" num="0041">On supposera dans ce qui suit que la séquence d'innovation à multiplier par le gain G est un vecteur C<sub>k</sub> 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.</p>
<p id="p0042" num="0042">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) :<maths id="math0013" num="(12)"><math display="block"><mrow><msub><mrow><mtext>E = (H.r - b.H.e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msub><mrow><mtext> - G.H.C</mtext></mrow><mrow><mtext>k</mtext></mrow></msub><msup><mrow><mtext>)</mtext></mrow><mrow><mtext>2</mtext></mrow></msup></mrow></math><img id="ib0013" file="imgb0013.tif" wi="55" he="7" img-content="math" img-format="tif"/></maths></p>
<p id="p0043" num="0043">En annulant les dérivées partielles de E par rapport à b et à G on obtient alors deux équations :<maths id="math0014" num="(13)"><math display="block"><mrow><msub><mrow><mtext>b = (R</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>.E</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext>-R</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext>.R</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msub><mrow><mtext>) / (E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>.E</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext>-R</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>2</mtext></mrow></msup><mtext>)</mtext></mrow></math><img id="ib0014" file="imgb0014.tif" wi="60" he="7" img-content="math" img-format="tif"/></maths> et<maths id="math0015" num="(14)"><math display="block"><mrow><msub><mrow><mtext>G = (R</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext>.E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>-R</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>.R</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msub><mrow><mtext>) / (E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>.E</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext>-R</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>2</mtext></mrow></msup><mtext>)</mtext></mrow></math><img id="ib0015" file="imgb0015.tif" wi="60" he="7" img-content="math" img-format="tif"/></maths><!-- EPO <DP n="12"> --> avec<maths id="math0016" num=""><img id="ib0016" file="imgb0016.tif" wi="162" he="23" img-content="math" img-format="tif"/></maths></p>
<p id="p0044" num="0044">La valeur optimale T<sub>0</sub> du retard T et l'indice k de la séquence optimale sont alors déterminées en cherchant à maximiser C (T,k) :<maths id="math0017" num="(16)"><math display="block"><mrow><msub><mrow><mtext>C(T,k) = (R</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>2</mtext></mrow></msup><msub><mrow><mtext>.E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext> + R</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>2</mtext></mrow></msup><msub><mrow><mtext> - 2R</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>.R</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext>.R</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msub><mrow><mtext>) / (E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>.E</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext>-R</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>2</mtext></mrow></msup><mtext>)</mtext></mrow></math><img id="ib0017" file="imgb0017.tif" wi="96" he="7" img-content="math" img-format="tif"/></maths></p>
<p id="p0045" num="0045">Pour réduire la complexité du calcul sans dégrader les résultats, on détermine d'abord T<sub>0</sub>, puis on cherche l'indice k qui maximise C(T<sub>0</sub>,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.</p>
<p id="p0046" num="0046">Le retard T<sub>0</sub> est avantageusement calculé en boucle fermée, par l'algorithme rapide de la formule (9bis).</p>
<p id="p0047" num="0047">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<sub>T</sub>∥<sup>2</sup> peut être calculé efficacement à partir de la valeur précédente ∥e<sub>T-1</sub>∥<sup>2</sup> en utilisant le fait que deux séquences successives e<sub>T</sub> et e<sub>T-1</sub> ne diffèrent que par deux échantillons (le premier et le dernier). Le calcul a alors une complexité très faible.</p>
<p id="p0048" num="0048">Une fois T<sub>0</sub> déterminé, R1 et E1 sont connus. Le calcul de R2 ne nécessite pas de filtrage supplémentaire car r<sup>t</sup>.R a déjà été calculé pour déterminer T<sub>0</sub> et b<sub>0</sub> : il suffit de le mémoriser à l'issue de son calcul.</p>
<p id="p0049" num="0049">Le calcul de R3 = e<sub>T</sub> <sup>t</sup>.R.C<sub>k</sub> nécessite uniquement un seul filtrage, puisque la valeur T<sub>0</sub> 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.<!-- EPO <DP n="13"> --></p>
<p id="p0050" num="0050">Si par ailleurs on utilise des séquences d'excitation c<sub>k</sub> 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<sub>k</sub> des formules (15) est très simple. De plus E2 devient constant et il n'est plus nécessaire de le calculer.</p>
<p id="p0051" num="0051">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<sub>0</sub> et b<sub>0</sub> sont indépendants de G et k, R3 est nul. La formule (16) se simplifie et devient :<maths id="math0018" num="(16bis)"><math display="block"><mrow><msubsup><mrow><mtext>C(T,k) = R</mtext></mrow><mrow><mtext>2</mtext></mrow><mrow><mtext>2</mtext></mrow></msubsup><msub><mrow><mtext> /E</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msubsup><mrow><mtext> + R</mtext></mrow><mrow><mtext>1</mtext></mrow><mrow><mtext>2</mtext></mrow></msubsup><mtext> /E1</mtext></mrow></math><img id="ib0018" file="imgb0018.tif" wi="49" he="7" img-content="math" img-format="tif"/></maths></p>
<p id="p0052" num="0052">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.</p>
<p id="p0053" num="0053">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<sub>n</sub> est appliqué à l'entrée du module d'analyse 10 qui calcule, pour chaque trame, les coefficients a<sub>i</sub> 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<sub>n</sub> filtré par A(z) quantifié. Ce résidu est soumis à un filtrage par R = H<sup>t</sup>.H en (14) ce qui fournit en sortie le signal y = R.r.</p>
<p id="p0054" num="0054">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.<!-- EPO <DP n="14"> --></p>
<p id="p0055" num="0055">Les paramètres y et e<sub>T</sub> 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<sub>T</sub>∥<sup>2</sup>. Un diviseur 26 permet alors d'obtenir la grandeur Q′ à maximiser.</p>
<p id="p0056" num="0056">Le bloc 28 est constitué par un processeur permettant de calculer le retard T<sub>0</sub> 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<sub>0</sub> obtenu, sans hypothèse en ce qui concerne la séquence d'excitation, est transmis à un processeur 30 de sélection de C<sub>k</sub> parmi les séquences C fournies par un dictionnaire 32 et de calcul de b et G.</p>
<p id="p0057" num="0057">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<sub>i</sub>, T<sub>0</sub>, b, k, et G pour chaque trame, d'autre part au générateur 34 de e<sub>T</sub>, qui calcule les séquences e<sub>T</sub>, les fournit en sortie et les transmet à la mémoire 18. Les a<sub>i</sub> 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.</p>
<p id="p0058" num="0058">Pour des raisons de simplicité, le filtre de pondération perceptuelle n'a pas été représenté en détail sur la figure 2.</p>
</description><!-- EPO <DP n="15"> -->
<claims id="claims01" lang="fr">
<claim id="c-fr-01-0001" num="0001">
<claim-text>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 C d'indice k parmi plusieurs signaux mémorisés, 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<sup>-T</sup>, 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) = Σa<sub>i</sub>z<sup>i</sup> représentant la contribution du conduit vocal et dont les caractéristiques spectrales varient lentement, en représentant chaque trame par des valeurs des paramètres C<sub>k</sub>, G, a<sub>i</sub>, T et b, suivant lequel : on soumet la trame de signal de parole d'origine au filtrage d'analyse à court terme et à un filtrage de synthèse pondéré perceptuel H ; on génère un signal d'erreur en soustrayant, de la trame du signal de parole ainsi filtrée, un premier terme représentatif de la sortie du prédicteur à long terme avec le décalage temporel T, soumis au filtrage de synthèse, et un second terme 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, au cours d'une même séquence et pour chaque trame, on détermine d'abord un optimum du décalage T par recherche d'un minimum d'erreur perceptuelle et on en déduit l'indice k, puis on calcule simultanément les valeurs optimales de b et de G pour les valeurs retenues de T et de k, la valeur optimale T<sub>o</sub> du décalage T étant calculée en boucle fermée par recherche de la valeur pour laquelle :<maths id="math0019" num=""><math display="block"><mrow><msup><mrow><mtext>(r</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msup><mrow><mtext>.H</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.He</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext>)</mtext></mrow><mrow><mtext>2</mtext></mrow></msup><msub><mrow><mtext> / ∥e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext>∥</mtext></mrow><mrow><mtext>2</mtext></mrow></msup></mrow></math><img id="ib0019" file="imgb0019.tif" wi="36" he="6" img-content="math" img-format="tif"/></maths> est maximum, l'exposant t désignant l'opération de transposition,<!-- EPO <DP n="16"> --> H étant la matrice de la réponse impulsionnelle de 1/A(z/γ) où γ est un coefficient fixe, et e<sub>T</sub> la sortie de la prédiction à long terme.</claim-text></claim>
<claim id="c-fr-01-0002" num="0002">
<claim-text>Procédé selon la revendication 1, caractérisé en ce que l'erreur minimisée est l'erreur perceptuelle quadratique.</claim-text></claim>
<claim id="c-fr-01-0003" num="0003">
<claim-text>Procédé selon la revendication 1, caractérisé en ce que le coefficient b<sub>0</sub> optimum de filtrage à long terme est calculé à partir de T<sub>0</sub> par la formule<maths id="math0020" num=""><math display="block"><mrow><msub><mrow><mtext>b</mtext></mrow><mrow><mtext>0</mtext></mrow></msub><msup><mrow><mtext> = (r</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msup><mrow><mtext>.H</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.H.e</mtext></mrow><mrow><mtext>T0</mtext></mrow></msub><msub><mrow><mtext>) / ∥H.e</mtext></mrow><mrow><mtext>T0</mtext></mrow></msub><msup><mrow><mtext>∥</mtext></mrow><mrow><mtext>2</mtext></mrow></msup></mrow></math><img id="ib0020" file="imgb0020.tif" wi="54" he="7" img-content="math" img-format="tif"/></maths></claim-text></claim>
<claim id="c-fr-01-0004" num="0004">
<claim-text>Procédé selon la revendication 1, 2 ou 3, caractérisé en ce que le signal d'excitation optimal est sélectionné par minimisation de C(T<sub>0</sub>,k) :<maths id="math0021" num=""><math display="block"><mrow><msub><mrow><mtext>C(T,k) = (R</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>2</mtext></mrow></msup><msub><mrow><mtext>.E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext> + R</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>2</mtext></mrow></msup><msub><mrow><mtext> - 2R</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>.R</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext>.R</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msub><mrow><mtext>) / (E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>.E</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext>-R</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>2</mtext></mrow></msup><mtext>)</mtext></mrow></math><img id="ib0021" file="imgb0021.tif" wi="96" he="7" img-content="math" img-format="tif"/></maths> où :<maths id="math0022" num=""><math display="block"><mrow><msub><mrow><mtext>R</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msup><mrow><mtext> = r</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.R.e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msub><mrow><mtext>, R</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msup><mrow><mtext> = r</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.R.c</mtext></mrow><mrow><mtext>k</mtext></mrow></msub><msub><mrow><mtext> , R</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msub><mrow><mtext> = e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.R.c</mtext></mrow><mrow><mtext>k</mtext></mrow></msub></mrow></math><img id="ib0022" file="imgb0022.tif" wi="79" he="6" img-content="math" img-format="tif"/></maths><maths id="math0023" num=""><math display="block"><mrow><msub><mrow><mtext>E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext> = e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.R.e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msub><mrow><mtext>, E</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext> = c</mtext></mrow><mrow><mtext>k</mtext></mrow></msub><msub><mrow><mtext>.R.c</mtext></mrow><mrow><mtext>k</mtext></mrow></msub><msup><mrow><mtext>, R = H</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><mtext>.H</mtext></mrow></math><img id="ib0023" file="imgb0023.tif" wi="74" he="6" img-content="math" img-format="tif"/></maths></claim-text></claim>
<claim id="c-fr-01-0005" num="0005">
<claim-text>Procédé selon la revendication 4, caractérisé en ce qu'on calcule H<sup>t</sup>.H.r par filtrage en assimilant H<sup>t</sup>.H à une matrice de Toeplitz symétrique.</claim-text></claim>
<claim id="c-fr-01-0006" num="0006">
<claim-text>Procédé selon la revendication 5, caractérisé en qu'on détermine le gain par la formule :<maths id="math0024" num=""><math display="block"><mrow><msub><mrow><mtext>G = (R</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext>.E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>-R</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>.R</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msub><mrow><mtext>) / (E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>.E</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext>-R</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>2</mtext></mrow></msup><mtext>)</mtext></mrow></math><img id="ib0024" file="imgb0024.tif" wi="60" he="7" img-content="math" img-format="tif"/></maths></claim-text></claim>
<claim id="c-fr-01-0007" num="0007">
<claim-text>Procédé selon la revendication 4, caractérisé en ce qu'on néglige la corrélation enre T<sub>0</sub> et b<sub>0</sub>, G et k pour annuler le terme R3 et sélectionner k par minimisation de<maths id="math0025" num=""><math display="block"><mrow><msub><mrow><mtext>C(T</mtext></mrow><mrow><mtext>0</mtext></mrow></msub><msubsup><mrow><mtext>,k) = R</mtext></mrow><mrow><mtext>2</mtext></mrow><mrow><mtext>2</mtext></mrow></msubsup><msub><mrow><mtext> /E</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msubsup><mrow><mtext> + R</mtext></mrow><mrow><mtext>1</mtext></mrow><mrow><mtext>2</mtext></mrow></msubsup><msub><mrow><mtext> /E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>E</mtext></mrow><mrow><mtext>2</mtext></mrow></msub></mrow></math><img id="ib0025" file="imgb0025.tif" wi="55" he="7" img-content="math" img-format="tif"/></maths><!-- EPO <DP n="17"> --></claim-text></claim>
<claim id="c-fr-01-0008" num="0008">
<claim-text>Codeur mettant 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 a<sub>i</sub> 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<sub>λ</sub> où R = H<sup>T</sup>.H, et un bloc (16) de calcul des coefficients du filtrage à long terme qui reçoit y et l'erreur de prédiction à long terme, obtenue à partir de la trame précédente et stockée dans une mémoire (18), un ensemble multiplieur (20), un circuit de mise au carré (22) destiné à fournir le numérateur d'un terme à maximiser, un second ensemble formant ∥e<sub>T</sub>∥<sup>2</sup>, et un diviseur (26) permettant d'obtenir le terme à maximiser, appliqué à un processeur (28) de calcul de la valeur optimum, par comparaison entre les valeurs du dit terme pour les différentes valeurs possibles de T.</claim-text></claim>
</claims><!-- EPO <DP n="18"> -->
<claims id="claims02" lang="de">
<claim id="c-de-01-0001" num="0001">
<claim-text>Codierungsverfahren mit Analyse durch Synthese mit linearer Prediktion, bei welchem ein Modell zur Erzeugung der Sprache durch den Durchtritt eines Anregungssignals C eines Index k unter einer Mehrzahl von gespeicherten Signalen verwendet wird, welches die Sprachquelle bildet und einer Verstärkung G unterzogen wird, quer durch einen Prediktionsfilter mit einem langen Übertragungsfunktionsterm 1/B(z), wobei B(z) = 1 - bz<sup>-T</sup> ist, wobei T die Grundperiode der Sprache ist, quer durch einen Prediktionsfilter mit einem kurzen Übertragungsfunktionsterm 1/A(z) = Σa<sub>i</sub>z<sup>i</sup>, welcher die Verteilung der Sprachleitung repräsentiert und dessen spektrale Charakteristiken langsam variieren, wobei jedes Raster durch Werte von Parametern C<sub>k</sub>, G, a<sub>i</sub>, T und b dargestellt wird, gemäß welchem man das Raster des Signals der ursprünglichen Sprache einer Analysenfilterung mit einem kurzen Term und mit einer ausgeglichenen wahrnehmbaren Synthesefilterung H unterzieht, man ein Fehlersignal erzeugt, indem man von dem so gefilterten Raster des Sprachsignals einen ersten Term, der repräsentativ für den Ausgang des Prediktors mit langem Term mit einer zeitlichen Abweichung T ist und einer Synthesefilterung<!-- EPO <DP n="19"> --> unterzogen wird, und einen zweiten Term zuliefert, der repräsentativ für jedes der Anregungssignale auf ihrem Umlauf ist, wobei jedes Signal vorhergehend einer Verstärkung G und derselben ausgeglichenen Synthesefilterung wie das Raster des Sprachsignals unterzogen wird, und man im Laufe einer selben Sequenz und für jedes Raster zuerst ein Optimum der Abweichung T durch Suchen eines wahrnehmbaren Fehlerminimums bestimmt und man daraus den Index k ableitet und man dann gleichzeitig die optimalen Werte von b und G für die erhaltenen Werte von T und k berechnet, wobei der optimale Wert T<sub>0</sub> der Abweichung T in einer geschlossenen Schleife durch Suche des Wertes bestimmt, für den<maths id="math0026" num=""><math display="block"><mrow><msup><mrow><mtext>(r</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msup><mrow><mtext>.H</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.He</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext>)</mtext></mrow><mrow><mtext>2</mtext></mrow></msup><mtext> / </mtext><msup><mrow><mfenced open="|" close="|"><mrow><mtext>e</mtext><msub><mrow><mtext>​</mtext></mrow><mrow><mtext>T</mtext></mrow></msub></mrow></mfenced></mrow><mrow><mtext>2</mtext></mrow></msup></mrow></math><img id="ib0026" file="imgb0026.tif" wi="34" he="6" img-content="math" img-format="tif"/></maths> maximal ist, wobei der Exponent t die Transponierungsoperation bezeichnet, H die impulsartige Antwortmatrix von 1/A(z/γ) ist, wobei γ ein fester Koeffizient ist und e<sub>T</sub> der Ausgang des Prediktors mit langem Term ist.</claim-text></claim>
<claim id="c-de-01-0002" num="0002">
<claim-text>Verfahren nach Anspruch 1,<br/>
dadurch gekennzeichnet,<br/>
daß der minimalisierter Fehler der wahrnehmbare quadratische Fehler ist.<!-- EPO <DP n="20"> --></claim-text></claim>
<claim id="c-de-01-0003" num="0003">
<claim-text>Verfahren nach Anspruch 1,<br/>
dadurch gekennzeichnet,<br/>
daß der Koeffizient b<sub>0</sub> des Optimums der Filterung mit langem Term ausgehend von T<sub>0</sub> durch die Formel<maths id="math0027" num=""><math display="block"><mrow><msub><mrow><mtext>b</mtext></mrow><mrow><mtext>0</mtext></mrow></msub><msup><mrow><mtext> = r</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msup><mrow><mtext>.H</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.H.e</mtext></mrow><mrow><mtext>T0</mtext></mrow></msub><mtext>) / </mtext><msup><mrow><mfenced open="|" close="|"><mrow><mtext>H.e</mtext><msub><mrow><mtext>​</mtext></mrow><mrow><mtext>T0</mtext></mrow></msub></mrow></mfenced></mrow><mrow><mtext>2</mtext></mrow></msup></mrow></math><img id="ib0027" file="imgb0027.tif" wi="50" he="6" img-content="math" img-format="tif"/></maths> berechnet wird.</claim-text></claim>
<claim id="c-de-01-0004" num="0004">
<claim-text>Verfahren nach Anspruch 1, 2 oder 3,<br/>
dadurch gekennzeichnet,<br/>
daß das optimale Anregungssignal durch Minimalisierung von C(T<sub>0</sub>,k) ausgewählt wird:<maths id="math0028" num=""><math display="block"><mrow><msub><mrow><mtext>C(T,k) = (R</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>2</mtext></mrow></msup><msub><mrow><mtext>.E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext> + R</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>2</mtext></mrow></msup><msub><mrow><mtext> - 2R</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>.R</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext>.R</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msub><mrow><mtext>) / (E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>.E</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext>-R</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>2</mtext></mrow></msup><mtext>),</mtext></mrow></math><img id="ib0028" file="imgb0028.tif" wi="97" he="7" img-content="math" img-format="tif"/></maths> wobei:<maths id="math0029" num=""><math display="block"><mrow><msub><mrow><mtext>R</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msup><mrow><mtext> = r</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.R.e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msub><mrow><mtext>, R</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msup><mrow><mtext> = r</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.R.c</mtext></mrow><mrow><mtext>k</mtext></mrow></msub><msub><mrow><mtext>, R</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msub><mrow><mtext> = e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.R.c</mtext></mrow><mrow><mtext>k</mtext></mrow></msub></mrow></math><img id="ib0029" file="imgb0029.tif" wi="77" he="6" img-content="math" img-format="tif"/></maths><maths id="math0030" num=""><math display="block"><mrow><msub><mrow><mtext>E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext> = e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.R.e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msub><mrow><mtext>, E</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext> = c</mtext></mrow><mrow><mtext>k</mtext></mrow></msub><msub><mrow><mtext>,R.c</mtext></mrow><mrow><mtext>k</mtext></mrow></msub><msup><mrow><mtext>, R = H</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><mtext>.H .</mtext></mrow></math><img id="ib0030" file="imgb0030.tif" wi="77" he="6" img-content="math" img-format="tif"/></maths></claim-text></claim>
<claim id="c-de-01-0005" num="0005">
<claim-text>Verfahren nach Anspruch 4,<br/>
dadurch gekennzeichnet,<br/>
daß man H<sup>t</sup>.H.r durch Filterung berechnet, indem man H<sup>t</sup>.H mit einer symmetrischen Toeplitz-Matrix vergleicht.<!-- EPO <DP n="21"> --></claim-text></claim>
<claim id="c-de-01-0006" num="0006">
<claim-text>Verfahren nach Anspruch 5,<br/>
dadurch gekennzeichnet,<br/>
daß man die Verstärkung durch folgende Formel berechnet:<maths id="math0031" num=""><math display="block"><mrow><msub><mrow><mtext>G = (R</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext>.E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>-R</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>.R</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msub><mrow><mtext>) / (E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>.E</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msub><mrow><mtext>-R</mtext></mrow><mrow><mtext>3</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>2</mtext></mrow></msup><mtext>).</mtext></mrow></math><img id="ib0031" file="imgb0031.tif" wi="61" he="7" img-content="math" img-format="tif"/></maths></claim-text></claim>
<claim id="c-de-01-0007" num="0007">
<claim-text>Verfahren nach Anspruch 4,<br/>
dadurch gekennzeichnet,<br/>
daß man die Korrelation zwischen T<sub>0</sub> und b<sub>0</sub>, G und k vernachlässigt, um den Term R3 zu annullieren und k durch Minimalisierung von<maths id="math0032" num=""><math display="block"><mrow><msub><mrow><mtext>C(T</mtext></mrow><mrow><mtext>0</mtext></mrow></msub><msubsup><mrow><mtext>,k) = R</mtext></mrow><mrow><mtext>2</mtext></mrow><mrow><mtext>2</mtext></mrow></msubsup><msub><mrow><mtext> /E</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><msubsup><mrow><mtext> + R</mtext></mrow><mrow><mtext>2</mtext></mrow><mrow><mtext>2</mtext></mrow></msubsup><msub><mrow><mtext> /E</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><msub><mrow><mtext>.E</mtext></mrow><mrow><mtext>2</mtext></mrow></msub></mrow></math><img id="ib0032" file="imgb0032.tif" wi="56" he="7" img-content="math" img-format="tif"/></maths> auszuwählen.</claim-text></claim>
<claim id="c-de-01-0008" num="0008">
<claim-text>Codierer zur Durchführung des Verfahrens nach Anspruch 1,<br/>
dadurch gekennzeichnet,<br/>
daß er ein Analysemodul (10) zum Empfangen des ausgewählten Sprachsignals und zum Berechnen, für jedes Raster, der Koeffizienten a<sub>i</sub> der Filterfunktion A(z) zur Prediktion mit einem kurzen Term und des Rückstandes r der Prediktion mit kurzem Term, einen Filter, der den Rückstand r empfängt und am Ausgang ein Signal y = R.r<sub>λ</sub> liefert, wobei R = H<sup>T</sup>.H ist, und einen Block (16) zur Berechnung der<!-- EPO <DP n="22"> --> Filterkoeffizienten mit langem Term aufweist, der dort empfängt und den Fehler der Prediktion mit langem Term, der ausgehend vom vorhergehenden Raster erhalten und in einem Speicher (18) gespeichert worden ist, sowie einen Gesamtmultiplizierer (20), eine Kreuzschaltung (22) zur Lieferung eines Zählers eines zu maximierenden Termes, eine zweite Gesamtheit zur Bildung von |e<sub>T</sub>|<sup>2</sup> und einen Divisor (26), der es erlaubt, den zu maximierenden Term zu erhalten, welcher auf einen Rechenprozessor (28) für den Optimalwert angewendet wird durch Vergleich zwischen den Werten dieses Termes für die verschiedenen möglichen Werte von T.</claim-text></claim>
</claims><!-- EPO <DP n="23"> -->
<claims id="claims03" lang="en">
<claim id="c-en-01-0001" num="0001">
<claim-text>A synthesis analysis type linear predictive coding process, using a production model of the speech by passing an excitation signal C, with index k, through several stored signals, representing the speech source and subjected to amplification G, via a long-term predictive filter with transfer function 1/B(z), where B(z) = 1 - bz<sup>-T</sup>, and T is the period of the fundamental of the speech, and via a short-term predictive filter with transfer function 1/A(z) = Σa<sub>i</sub>z<sup>i</sup> representing the contribution of the speech channel and whose spectral characteristics slowly change, by representing each frame by the values of parameters C<sub>k</sub>, G, a<sub>i</sub>, T and b, according to which: the frame of the original speech signal undergoes short-term analysis filtering and undergoes weighted perceptual synthesis filtering H; an error signal is generated by subtracting from the frame of the speech signal thus filtered a first representative term from the output of the long-term predictor with the time lag T, subjected to synthesis filtering, and a second representative term of each of the excitation signals in turn, each signal having previously undergone amplification G and the same weighted synthesis filtering as the frame of the speech signal; and, during an identical sequence and for each frame, an optimum of the time lag T is first determined by searching for a minimum perceptual error and deducting the index k, then simultaneously calculating the optimum values of b and G for the values of T and k retained, the optimum value T<sub>o</sub> of the time lag T being calculated in a closed loop by searching for the value for which:<maths id="math0033" num=""><math display="block"><mrow><msup><mrow><mtext>(r</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msup><mrow><mtext>.H</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.He</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext>)</mtext></mrow><mrow><mtext>2</mtext></mrow></msup><mtext> / </mtext><msup><mrow><mfenced open="|" close="|"><mrow><mtext>e</mtext><msub><mrow><mtext>​</mtext></mrow><mrow><mtext>T</mtext></mrow></msub></mrow></mfenced></mrow><mrow><mtext>2</mtext></mrow></msup></mrow></math><img id="ib0033" file="imgb0033.tif" wi="34" he="6" img-content="math" img-format="tif"/></maths> is maximum, the exponent t designating the transposition operation, H being the matrix of the pulse response of 1/A(z/γ), where γ is a fixed coefficient and e<sub>T</sub> the output of the long-term prediction.<!-- EPO <DP n="24"> --></claim-text></claim>
<claim id="c-en-01-0002" num="0002">
<claim-text>Process according to Claim 1, characterised in that the minimised error is the quadratic perceptual error.</claim-text></claim>
<claim id="c-en-01-0003" num="0003">
<claim-text>Process according to Claim 1, characterised in that the optimum coefficient b<sub>0</sub> of long-term filtering is calculated from T<sub>0</sub> by the formula:<maths id="math0034" num=""><math display="block"><mrow><msub><mrow><mtext>b</mtext></mrow><mrow><mtext>0</mtext></mrow></msub><msup><mrow><mtext> = (r</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msup><mrow><mtext>.H</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.H.e</mtext></mrow><mrow><mtext>T0</mtext></mrow></msub><msub><mrow><mtext>) / ∥H.e</mtext></mrow><mrow><mtext>T0</mtext></mrow></msub><msup><mrow><mtext>∥</mtext></mrow><mrow><mtext>2</mtext></mrow></msup></mrow></math><img id="ib0034" file="imgb0034.tif" wi="54" he="7" img-content="math" img-format="tif"/></maths></claim-text></claim>
<claim id="c-en-01-0004" num="0004">
<claim-text>Process according to Claim 1, 2 or 3, characterised in that the optimum excitation signal is selected by minimisation of C(T<sub>0</sub>,k) :<maths id="math0035" num=""><math display="block"><mrow><msup><mrow><mtext>C(T, k) = (R2</mtext></mrow><mrow><mtext>2</mtext></mrow></msup><msup><mrow><mtext>.E1 + R1</mtext></mrow><mrow><mtext>2</mtext></mrow></msup><msup><mrow><mtext> - 2R1.R2.R3) / E1.E2-R3</mtext></mrow><mrow><mtext>2</mtext></mrow></msup><mtext>)</mtext></mrow></math><img id="ib0035" file="imgb0035.tif" wi="98" he="6" img-content="math" img-format="tif"/></maths> where:<maths id="math0036" num=""><math display="block"><mrow><msup><mrow><mtext>R1 = r</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.R.e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext>, R2 = r</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.R.C</mtext></mrow><mrow><mtext>k</mtext></mrow></msub><msub><mrow><mtext>, R3 = e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.R.C</mtext></mrow><mrow><mtext>k</mtext></mrow></msub></mrow></math><img id="ib0036" file="imgb0036.tif" wi="80" he="6" img-content="math" img-format="tif"/></maths><maths id="math0037" num=""><math display="block"><mrow><msub><mrow><mtext>E1 = e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msup><mrow><mtext> </mtext></mrow><mrow><mtext>t</mtext></mrow></msup><msub><mrow><mtext>.R.e</mtext></mrow><mrow><mtext>T</mtext></mrow></msub><msub><mrow><mtext>, E2 = C</mtext></mrow><mrow><mtext>k</mtext></mrow></msub><msub><mrow><mtext>.R.C</mtext></mrow><mrow><mtext>k</mtext></mrow></msub><msup><mrow><mtext>, R = H</mtext></mrow><mrow><mtext>t</mtext></mrow></msup><mtext>.H</mtext></mrow></math><img id="ib0037" file="imgb0037.tif" wi="76" he="6" img-content="math" img-format="tif"/></maths></claim-text></claim>
<claim id="c-en-01-0005" num="0005">
<claim-text>Process according to Claim 4, characterised in that H<sup>t</sup>.H.r is calculated by filtering and comparing H<sup>t</sup>.H to a symmetrical Toeplitz matrix.</claim-text></claim>
<claim id="c-en-01-0006" num="0006">
<claim-text>Process according to Claim 5, characterised in that the gain is determined by means of the formula:<maths id="math0038" num=""><math display="block"><mrow><msup><mrow><mtext>G = (R2.E1-R1.R3) / (E1.E2-R3</mtext></mrow><mrow><mtext>2</mtext></mrow></msup><mtext>)</mtext></mrow></math><img id="ib0038" file="imgb0038.tif" wi="62" he="6" img-content="math" img-format="tif"/></maths></claim-text></claim>
<claim id="c-en-01-0007" num="0007">
<claim-text>Process according to Claim 4, characterised in that the correlation between T<sub>0</sub> and b<sub>0</sub>, G and k is ignored in order to cancel the term R3 and to select k by minimisation of C(T<sub>0</sub>,k) = R2<sup>2</sup>/E2 + R1<sup>2</sup>/E1E2</claim-text></claim>
<claim id="c-en-01-0008" num="0008">
<claim-text>Encoder implementing the process according to Claim 1, characterised in that it comprises an analysis module (10) intended to receive the sampled speech signal and to calculate for each frame the coefficients a<sub>i</sub> of the short-term predictive filtering function A(z) and the remainder r of the short-term prediction, a filter receiving the remainder r and delivering at its output a signal y = R.r<sub>i</sub>, where R = H<sup>T</sup>.H, and a block (16) for calculating<!-- EPO <DP n="25"> --> long-term filtering coefficients, which receives y and the long-term prediction error obtained from the preceding frame and stored in a memory (18), a multiplier unit (20), a squaring circuit (22) intended to supply the numerator of a term to be maximised, a second unit forming |e<sub>T</sub>|<sup>2</sup>, and a divider (26) enabling the term to be maximised to be obtained, applied to a processor (28) for calculating the optimum value by comparison between the values of said term for the various possible values of T.</claim-text></claim>
</claims><!-- EPO <DP n="26"> -->
<drawings id="draw" lang="fr">
<figure id="f0001" num=""><img id="if0001" file="imgf0001.tif" wi="174" he="212" img-content="drawing" img-format="tif"/></figure>
</drawings>
</ep-patent-document>
