FR2702590A1 - Dispositif de codage et de décodage numériques de la parole, procédé d'exploration d'un dictionnaire pseudo-logarithmique de délais LTP, et procédé d'analyse LTP. - Google Patents

Dispositif de codage et de décodage numériques de la parole, procédé d'exploration d'un dictionnaire pseudo-logarithmique de délais LTP, et procédé d'analyse LTP. Download PDF

Info

Publication number
FR2702590A1
FR2702590A1 FR9302881A FR9302881A FR2702590A1 FR 2702590 A1 FR2702590 A1 FR 2702590A1 FR 9302881 A FR9302881 A FR 9302881A FR 9302881 A FR9302881 A FR 9302881A FR 2702590 A1 FR2702590 A1 FR 2702590A1
Authority
FR
France
Prior art keywords
dictionary
delays
delay
ltp
segment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9302881A
Other languages
English (en)
Other versions
FR2702590B1 (fr
Inventor
Massaloux Dominique
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to FR9302881A priority Critical patent/FR2702590B1/fr
Priority to US08/205,570 priority patent/US5704002A/en
Priority to EP94400525A priority patent/EP0616315A1/fr
Publication of FR2702590A1 publication Critical patent/FR2702590A1/fr
Application granted granted Critical
Publication of FR2702590B1 publication Critical patent/FR2702590B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/06Determination or coding of the spectral characteristics, e.g. of the short-term prediction coefficients
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/08Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters
    • G10L19/12Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a code excitation, e.g. in code excited linear prediction [CELP] vocoders
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0007Codebook element generation
    • G10L2019/0008Algebraic codebooks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L2019/0001Codebooks
    • G10L2019/0011Long term prediction filters, i.e. pitch estimation

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

La présente invention concerne un dispositif de codage et décodage numériques de la parole comprenant, une prédiction à court terme (13), une prédiction à long terme (15) et une technique de codage de l'onde résiduelle utilisant une méthode d'analyse par synthèse (14). Le module d'analyse LTP utilise un dictionnaire de délais à structure pseudo-logarithmique dans lequel les délais sont rangés en ordre croissant; ce dictionnaire est constitué de segments, chacun d'une résolution donnée, les résolutions des segments successifs diminuant géométriquement dans un rapport k rationnel > 1, tandis que le nombre d'éléments de chaque segment reste constant. L'invention définit l'emploi des délais lambda éléments de ce dictionnaire en étendant les techniques d'analyse LTP à haute résolution temporelle. L'invention concerne également un procédé d'exploration rapide d'un tel dictionnaire pseudo-logarithmique de délais. Elle concerne également un procédé de mise en place d'un critère de sélection du délai en boucle fermée avec filtrage perceptuel.

Description

I
DESCRIPTION
Domaine technique La présente invention concerne un dispositif de codage et de décodage numériques de la parole, un procédé d'exploration d'un dictionnaire
pseudo-logarithmique de délais LTP, et un procédé d'analyse LTP.
Etat de la technique antérieure De manière connue, un dispositif de codage numérique de la parole consiste, après échantillonnage du signal analogique, à effectuer la compression des données binaires du signal de parole numérisé Le dispositif de décodage effectue l'opération inverse et restitue un signal analogique différent
du signal original, mais le plus voisin possible d'un point de vue perceptuel.
Un dispositif de codage-décodage numérique de la parole est caractérisé par le débit numérique des données à transmettre entre le codeur et le décodeur, la qualité du signal reconstitué au décodeur, et la complexité de la
technique de compression mise en oeuvre.
Les codeurs prédictifs sont utilisés pour des débits assez faibles (de 4 à 16 kbits/s pour une fréquence d'échantillonnage de 8 k Hz) et une bonne
qualité de codage.
Ils intègrent des propriétés du signal de parole liées à sa production et d'autres liées à sa perception par un auditeur humain: Stationnarité locale du signal de parole: le signal de parole peut être prédit à partir de son passé récent (de 8 à 12 échantillons à 8 k Hz) au moyen de paramètres évalués sur des fenêtres de 10 à 20 ms Ces paramètres de prédiction à court terme, représentatifs de la fonction de transfert du conduit vocal, sont obtenus par des méthodes d'analyse "LPC" (Linear Prediction Coding). Périodicité des sons voisés (par exemple: les voyelles): cette corrélation à plus long terme est due à la vibration des cordes vocales La cadence de vibration (fréquence fondamentale) varie de 60 à 400 Hz selon les locuteurs Une analyse "LTP" (Long Term Prediction) permet d'évaluer les
paramètres d'un prédicteur à long terme exploitant cette particularité.
Masquage du bruit par le signal: dans les fréquences voisines d'un maximum d'énergie du signal, l'oreille est moins sensible au bruit de codage. Cette propriété est exploitée par l'introduction d'un "filtre perceptuel" au codage de l'onde résiduelle issue des prédicteurs à court et long terme, et éventuellement à l'analyse LTP Ce filtre permet de redistribuer le bruit dans les
zones fréquentielles o il est masqué par le signal.
De manière classique, un codeur prédictif est composé d'un module de prédiction à court terme, un module de prédiction à long terme, puis un module effectuant le codage de l'onde résiduelle à l'aide d'une méthode d'analyse par synthèse, ainsi que décrit dans l'article de P Kroon et B S Atal intitulé "Predictive Coding of Speech Using Analysis by Synthesis Techniques" (Advances in Speech Signal Processing, Ed Furui S, Sondhi M M, pages
141-164, 1991).
Selon le type de codage de l'onde résiduelle, on distingue plusieurs familles de codeurs: codeurs APC, Multipulse-Excited, CELP,
comme décrit dans l'article de P Kroon et B S Atal.
Ce type de dispositif de codage est largement utilisé, essentiellement dans des systèmes de transmission par voie terrestre ou
satellite, ou dans des applications de stockage.
Différentes réalisations du module de prédiction à long terme ou
module LTP, connues de l'homme de l'art, vont être passées en revue à présent.
La forme générale d'un prédicteur à long terme d'ordre p est: p-1 P(Z)= 1 Xk)z(+k) k=O Le nombre p de coefficients de ce prédicteur varie généralement de 1 à 3 Si on considère le cas des prédicteurs du 1 er
ordre: P(Z) = 1 -,z-.
A l'analyse, les paramètres 6 et A sont déterminés par minimisation de l'énergie d'un signal d'erreur e(n) sur un bloc de N échantillons du signal x(n): N-i Min E(L) = Ee(n)2 avec e(n)=x(n)-, fl(n-À) ( 1) n=-O x(n) représente le signal d'entrée lui-même s(n) ou le résidu LPC r(n) Cette analyse dite "en boucle ouverte" est décrite dans l'article de B S Atal intitulé "Predictive Coding of Speech at Low Bit Rates" (IEEE Trans Commun, COM-30,
pages 600-614, avril 1982).
Ce type d'analyse peut être avantageusement remplacé par une analyse en boucle fermée, anticipant l'opération effectuée au décodeur pour
produire le signal de synthèse i(n).
A la synthèse on obtient: s(z) = 1 () P() u(z) (avec u(n) = signal d'excitation) A(z) P(Z) Si ê(z)= 1 u(z), alors e(n)=u(n)+,f 8 (n-) représente le signal résiduel P(z)
reconstruit, ou excitation de synthèse du filtre LPC 1/A(z).
La modélisation du résidu r(n) par le signal ê(n) s'améliore lorsque l'on remplace le signal d'erreur e(n) de l'équation ( 1) par: e(n) = r(n) -l/(n) ( 2) comme par exemple le codeur "RPELTP" décrit dans l'article de P Vary, K. Hellwig, C Galand, M Rosso, JP Petit, D Massaloux intitulé "Speech Codec for
the European Mobile Radio System" (Globecom, pages 1065-1069, 1986).
Le prédicteur à long terme décrit dans l'article de W B Kleijn, D J Krasinski et R H Ketchum intitulé "An Efficient Stochastically Excited Linear Predictive Coding Algorithm for High Quality Low Bit Rate Transmission of Speech" (Speech Commun, vol VII, pages 305-316, 1988) adopte une philosophie "CELP" pour une analyse LTP effectuée également en boucle fermée A chaque période est associée une forme d'onde u = (n A),n = O > N-1 dans un dictionnaire CELP Ce dictionnaire mis à jour à chaque analyse LTP, est appelé "dictionnaire adaptatif" L'analyse LTP est remplacée par la recherche du code optimal dans le dictionnaire adaptatif, résolue par les équations classiques du CELP, ce qui revient à remplacer e(n) dans l'équation ( 1) et l'équation ( 2) par: e(n) = hg(n)*(t(n) -fuz(n)), N = O -> N-1 avec hg(n) = r i du filtre perceptuel Hg(z)= A ((z)()
A 72 (Z)A(Z)
(lorsque l'on choisit y, = 1, r 2 = g, Hg I(z) = A) Ag(z) Le signal t(n) ("target") s'exprime à partir du résidu LPC r(n) et du signal e, (n) obtenu en prolongeant l'excitation passée î(n) par des échantillons nuls: t(n) = r(n) -ep(n) N = O -> N 1 avec e (n) = {e(n) n<O 0 O<n<N On obtient alors pour e(n) I'expression: e(n) = hg (n) * (r(n) ê (n) -f Nul (n)) ( 3) essentiellement différente de l'équation ( 2) par l'introduction du filtre perceptuel et
de sa mémoire.
D'autre part, les analyses en boucle fermée utilisent le signal ê(n) qui n'est connu, au début du bloc analysé, que pour N < 0, ce qui impose de restreindre l'analyse LTP aux valeurs,2 > N Cette restriction diminue l'efficacité d'un prédicteur à long terme sur les voix à fréquence fondamentale élevée (voix de femmes et d'enfants) On peut y remédier en extrapolant le signal e(n) pour N > 0 Dans l'article de W B Kleijn, D J Krasinski et R H Ketchum cité précédemment, on utilise la périodicité supposée du signal pour chaque période candidate X en remplaçant î(n), N > O par ê(n -2) si N < (ou a(n-k,)avec k =plus petit entier pour lequelin <k A) Cependant, pour chaque période A<<N, il faut compléter e avec N-2 valeurs, ce qui accroît la
complexité de l'analyse LTP.
Un certain nombre d'algorithmes rapides décrits dans l'article de W.B Kleijn, D J Krasinski et R H Ketchum intitulé "Fast Methods for the CELP Speech Coding Algorithm", (IEEE Trans on ASSP, vol 38, No 8, pages 1330-1341, Août 1990) ont été conçus pour accélérer les calculs dans le prédicteur à long terme, principalement dans le cadre de l'analyse par dictionnaire adaptatif, fondamentalement plus complexe Ces algorithmes sont
généralement perturbés par l'introduction d'éléments extrapolés de î(n).
Un dernier point concerne la précision du prédicteur à long terme: pour un prédicteur d'ordre 1 avec délais X entiers, la périodicité T recherchée est limitée aux multiples de la période d'échantillonnage T, Deux méthodes ont été proposées permettant d'améliorer la précision sur T: augmenter l'ordre du prédicteur, ce qui bien sûr augmente la complexité de l'analyse, mais augmente aussi le nombre des gains à coder; utiliser un prédicteur à "haute résolution temporelle", comme décrit dans l'article de P Kroon et B S Atal intitulé "Pitch Predictors with High Temporal Resolution" (Proc ICASSP, pages 661-664, avril 1990) Cette technique fait intervenir des délais fractionnaires du type,+ p+Il D avec 2 e N, = 0, 1,,D 1, par interpolation du signal passé analysé L'interpolation est effectuée par suréchantillonnage suivi d'un filtrage passe-bas Cette opération peut être efficacement mise en place au moyen d'une structure polyphasée, telle que décrite dans l'article de R E Crochiere et L R Rabiner intitulé "Interpolation and Decimation of Digital Signals: A Tutorial Review" ("Proc of the IEEE" vol.
69, No 3, mars 1981).
Le problème de la réunion des techniques d'extrapolation du signal,(n) et de prédiction à haute résolution temporelle est résolu par un processus récursif coûteux en complexité décrit dans la demande de brevet WO 91:03790 de l A Gerson, M A Jasiuk intitulée "Digital Speech Coder Having Improved Sub-Sample Resolution Long Term Predictor": pour chaque période fractionnaire +ço ID, les échantillons ê(n), nÄO inconnus sont remplacés récursivement par des échantillons issus d'une interpolation du signal passé
ê(n), N < 0.
L'invention a pour objet un dispositif numérique de codage et de décodage de la parole dans lequel on améliore le fonctionnement du module de prédiction à long terme tel que défini dans ces différents documents de l'art antérieur. Exposé de l'invention L'invention propose, à cet effet, un dispositif de codage et de décodage numériques de la parole comprenant, au codage: un module d'analyse LPC (prédiction à court terme), un module d'analyse LTP (prédiction à long terme), un module de codage de l'onde résiduelle utilisant une méthode d'analyse par synthèse; au décodage: un module de décodage de l'onde résiduelle, un module de synthèse LTP et un module de synthèse LPC; caractérisé en ce que le module d'analyse LTP utilise un dictionnaire de délais à structure pseudo-logarithmique dans lequel les délais sont rangés en ordre croissant; ce dictionnaire étant constitué de Q segments adjacents, chacun d'une résolution donnée, les résolutions des segments successifs diminuant géométriquement dans un rapport k rationnel tel que k > 1, tandis que le nombre
d'éléments L de chaque segment reste constant.
L'intérêt de ces précisions emboîtées est de maintenir à peu près constante la précision relative sur le délai, et de là l'erreur sur la périodicité du signal due à l'échantillonnage L'invention permet de plus d'obtenir un codage
simple et efficace du délai.
Les résolutions des délais dans les différents segments du dictionnaire pseudo-logarithmique sont des rationnels R = p / q, p e N, q E N (N:
ensemble des entiers naturels).
On a pour cela étendu les méthodes d'analyse à haute résolution temporelle évoquées (délais = À, I R avec , e N, R e N) au cas des résolutions fractionnaires (délais Z = RI x q/p Àt,q,p EN) Avantageusement dans une première variante, le dictionnaire des délais est découpé en Q segments adjacents S (i = O -* Q i) comprenant chacun L délais A chaque segment Si correspond une résolution /, les résolutions des segments successifs décroissant dans un rapport k rationnel donné (P = _, / k) Si l'on appelle y, le dernier délai du segment Si, ce segment est formé des L délais Aj=yi-j/I, j=L-1-O avec j R entiers La condition d'adjacence entre segments est assurée par ri-, = Y L I R, i = 1-> Q 1 Si l'on introduit A"" = dernier délai du dictionnaire et RQ_ = résolution du dernier segment, on montre qu'un tel dictionnaire est entièrement défini par la donnée des valeurs {Q,L,k,,, L,RQI} et la condition
RQ_ EN.
Dans une seconde variante, le dictionnaire des délais est
découpé en Q segments adjacents S,(i = O o > Q-i) comprenant chacun L délais.
A chaque segment 51 correspond une résolution R,, les résolutions des segments successifs décroissant dans un rapport k rationnel donné (Ri =R, -_ I k) Si l'on appelle,i le premier délai du segment Si, ce segment est formé des L délais:,j =,8 +j Il R,j=O->L-1 avec Aj R, entiers La condition d'adjacence entre segments est assurée par,8 =,/il + L R 1 _ i = 1 -> Q 1 Si l'on introduit,-,_, =ler délai du dernier segment et RQ_= résolution du dernier segment, on montre qu'un tel dictionnaire est entièrement défini par la donnée
des valeurs {Q,L,k,/Q_,RQ_,} et la condition RQP 1 _,SQ_ EN.
Avantageusement, le dispositif permet un codage du délai LTP simple et peu coûteux en stockage, du type, selon la première variante: code(,)= i + f', avec $i = {Xi = 7, jl /1, = L1 O} avec et j'=L-1-j selon la seconde variante: code () =L i+ j avec S,={t 2 =f,+j IR,j=O-L-I} Avantageusement, une réalisation particulière de dictionnaire pseudo-logarithmique de délais tel que définis ci-dessus est le dictionnaire D, formé de délais fractionnaires, de résolution R= p>l, ou entiers, que l'on peut décrire de la façon suivante: chaque segment S,,i = O > 3 de résolution R, = 23-i est formé des délais o (pl, ç = O -R,-1, les délais,o entiers formant un sousensemble S de Si comportant N = 2 '+ 3 éléments: Si O ={,110 j = gnu 1, uo +jj=-> ni (enposantn l= 0) j= O Avantageusement, une procédure sousoptimale efficace d'exploration d'un dictionnaire pseudo-logarithmique des délais tel que défini dans la première ou la second variante de l'invention, tirant parti de sa structure particulière, permet de réduire considérablement la complexité de la recherche du meilleur délai: dans une première passe, on sélectionne K(i) maxima locaux du critère à maximiser parmi un ensemble restreint de a(i) délais de chaque segment Si; dans une seconde passe, on explore le dictionnaire de
manière limitée au voisinage des valeurs sélectionnées dans la première passe.
Avantageusement la taille des segments L est un multiple de Ki L-', le choix pour a( 0) de Xk,, ou d'un sous-multiple de L/ki-l introduisant
un espacement régulier des délais explorés dans la première passe.
Avantageusement, on introduit une simplification supplémentaire à la recherche de la première passe en remplaçant la maximisation de E'(,) = N(G)2 / D(À), o N(,t) et D(,) représentent respectivement le numérateur et le dénominateur du gain optimal associé à chaque délai A, par celle de N( ): on calcule donc les maxima locaux de l'intercorrélation N(,t), pour tous les segments i = O> Q-1, dans la première passe. L'invention propose également un procédé d'analyse LTP en boucle fermée avec filtrage perceptuel de performances équivalentes à l'analyse LTP par dictionnaire adaptatif et de complexité moindre, reposant sur l'expression suivante du signal d'erreur dont on minimise l'énergie: e(n) = hg(n)*(r(n) -/&(n)) les points précédant le sous-bloc courant (tels que N <O si le sous-bloc courant commence à N = O) étant les points e(n A) ( 2 éventuellement fractionnaire, J éventuellement extrapolé), et non e(n), comme dans le cas du dictionnaire adaptatif. La présente invention permet ainsi de définir une structure sur l'ensemble des délais explorés dans le module de prédiction à long terme, l'ensemble de délais ainsi structuré étant dénommé dans l'invention "dictionnaire pseudo-logarithmique de délais LTP" Il est connu que maintenir une grande précision sur les délais LTP, lorsque ces délais augmentent, est inutile d'un point de vue perceptuel Le dictionnaire pseudo-logarithmique de l'invention exploite cette idée et permet de maintenir les performances de dictionnaires uniformes pour un débit moindre: à titre d'exemple, on a pu constater que les performances du dictionnaire D, composé de 256 éléments, étaient similaires à celles de l'ensemble des 960 délais obtenus en échantillonnant uniformément la même gamme de délais avec une précision de 1/8, ce qui représente un gain de plus de
% en débit.
La structure pseudo-logarithmique, outre qu'elle organise le concept précédemment énoncé, permet également d'établir une correspondance simple entre l'indice de chaque délai du dictionnaire pseudo- logarithmique et sa valeur, facilitant les opérations de codage et décodage du délai Aucun stockage
n'est nécessaire pour trouver les délais dans le dictionnaire.
Cette structure facilite de plus la conception d'un tel dictionnaire: un tel dictionnaire est en effet totalement défini par la donnée de quelques paramètres Pour une application donnée, le choix de ces paramètres est gouverné par les contraintes de l'application Il est alors simple de déterminer
le ou les dictionnaire(s) pseudo-logarithmique(s) convenant à cette application.
La présente invention décrit en outre un procédé très peu complexe permettant la mise en place d'un module d'exploration d'un tel dictionnaire Bien que sous optimale, une telle technique a montré des performances équivalentes à la recherche optimale La réduction de complexité obtenue avec ce procédé est importante Si l'on compare les temps de calcul dans un codeur de type CELP des deux techniques suivantes: technique de référence: analyse LTP par "codebook" adaptatif avec sélection du délai optimal par méthode d'autocorrélation comme définie dans l'article de messieurs Kleijn, Krasinski et Ketchum, intitulé "Fast Methods for the CELP Speech Coding Algorithm", cité plus haut; technique proposée dans l'invention: analyse LTP du type
présenté selon la procédure sous optimale.
Bien que ne produisant pas les mêmes résultats, ces deux
techniques ont été jugées d'une qualité subjective équivalente.
Sur un micro-ordinateur, le traitement du module LTP utilisant la technique proposée dans l'invention est trois fois plus rapide que celui du module utilisant une version optimisée de la technique de référence Cette version optimisée exploite au maximum les méthodes permettant de diminuer la complexité de la technique de référence: si l'on compare les temps de calcul de la version non optimisée de la technique de référence à ceux de la technique
proposée, on obtient un gain supérieur à 11.
Brève description des dessins
Les figures 1 A et 1 B représentent le dispositif de codage et le dispositif de décodage de la parole selon l'invention; la figure 2 représente une réalisation particulièrement intéressante du dispositif de codage représenté à la figure 1 A; la figure 3 illustre le fonctionnement d'un dictionnaire pseudo-logarithmique de délais; la figure 4 illustre la procédure de calcul du signal x(n -A), At rationnel intervenant dans le module LTP; la figure 5 montre, sur une séquence de parole réelle, l'évolution du critère E'() lorsque X parcourt le dictionnaire D; la figure 6 détaille le dictionnaire D; la figure 7 présente une procédure de codage et décodage des délais du dictionnaire D; la figure 8 décrit les modules de calcul du signal e Jn) intervenant dans la recherche du délai optimal de D; les figures 9 à 12 montrent le fonctionnement de cette
recherche du délai dans le cadre de la réalisation du module LTP.
il Exposé détaillé des modes de réalisation La présente invention concerne un dispositif numérique de codage de la parole de type codeur prédictif utilisant une prédiction à court terme du signal permettant la modélisation des formants, une prédiction à long terme destinée à restituer la structure fine du spectre, puis un codage de l'onde
résiduelle à l'aide d'une méthode d'analyse par synthèse; une description
générale de ce type de codeurs étant réalisée dans l'article de messieurs Kroon et Atal cité précédemment Les prédicteurs à court terme et à long terme sont calculés par des méthodes de prédiction linéaire connues sous le nom d'analyse LPC ("Linear Prediction Coding") et analyse LTP ("Long Term Prediction") Les figures l A et 1 B représentent un dispositif numérique de codage et un dispositif numérique de décodage de la parole faisant l'objet de la présente invention Le dispositif de codage comprend successivement: un capteur 10; un filtre 11; un convertisseur analogique/numérique 12; un module LPC 13; un module de codage de résidu ou CODRES 14; un module LTP 15 recevant en entrée le signal d'entrée ou le signal de sortie du module LPC 13: x(n) = s(n) ou r(n), et éventuellement le
signal î(n), résiduel reconstruit issu du module CODRES 14.
Ce dispositif de codage fonctionne de la manière suivante: Le signal analogique, après conversion en numérique, est segmenté en trames de No échantillons s(n) Ces échantillons sont analysés dans le module LPC 13 par une méthode classique de prédiction linéaire Ce module 13 produit en sortie des paramètres PLPC transmis au décodeur et No
échantillons de signal résiduel r(n).
Ensuite, le module LTP 15 accepte en entrée N échantillons d'un signal x(n) qui peut provenir d'une sous-segmentation du signal s(n) lui-même ou bien de r(n) Lorsque le module LTP 15 fonctionne en boucle fermée, il doit recevoir également en entrée des échantillons de résiduel reconstruit (ou "excitation de synthèse") issus par bouclage du module de codage de résidu 14 Le module LTP peut éventuellement utiliser aussi les paramètres PLPC (dictionnaire adaptatif, filtre perceptuel) Ce module 15 produit les paramètres de sortie PLTP (gain quantifié P et indice id du délai) et élabore un
signal de prédiction à long terme p(n).
Ensuite, le module de codage de résidu 14 effectue le codage de l'excitation résiduelle Les paramètres de codage de cette excitation sont transmis au décodeur Lorsque nécessaire, ce module 14 comprend un décodeur local permettant le calcul de l'excitation de synthèse (ou résiduel reconstruit) e (n) La figure 1 B présente le schéma du dispositif de décodage correspondant au dispositif de codage représenté sur la figure 1 A Ce dispositif de décodage comprend successivement: un module de démultiplexage 20; un module de décodage de résidu ou CODRES-1 21; un module de synthèse LTP (ou LTP-1) 22; un module de synthèse LPC (ou LPC-1) 23; un convertisseur numérique analogique 24; un filtre 25;
un haut-parleur 26.
Le module de décodage de résidu 21 effectue le décodage des paramètres PCODRES et calcule N échantillons d'un signal u(n) Ce signal entre dans le module 22 conjointement avec les paramètres PL Tp qui y seront
décodés Après filtrage de u(n) par 1/ P(z), on obtient i(n).
Ce signal entre alors dans le module 23 qui effectue le décodage des paramètres P Lp C et le filtrage de é(n) par l /A(z) Ce module 23 produit en sortie les No échantillons du signal de synthèse 9 (n), pour une trame,
qui sont convertis en analogique.
Diverses réalisations du dispositif de l'invention étant possibles, on va considérer à présent une réalisation particulièrement intéressante à titre
d'exemple.
Cette réalisation représentée à la figure 2, donnée à titre d'exemple, a les particularités suivantes: l'analyse LTP (module 13), qui sera décrite plus en détail ultérieurement, est une analyse en boucle fermée, utilisant les signaux r(n) et î(n) en entrée, avec un filtre perceptuel calculé à partir des paramètres PLPC fournis par le module LPC; codage de l'excitation résiduelle: les signaux r(n), p(n) et e(n) entrent dans un module 14 de type CELP qui utilise une procédure classique de recherche dans un dictionnaire CELP pour quantifier le signal résiduel tel que décrit dans l'article de B S Atal cité précédemment Un tel dictionnaire est formé par exemple de NF formes d'ondes aléatoires de statistiques gaussiennes Les paramètres PLPC entrant dans le module CELP
14 ' permettent de calculer le filtre perceptuel W(z) = A(z) / Ar(z), (y = 0 75).
Après sélection de la meilleure forme d'onde du dictionnaire, le module 14 ' produit les paramètres PCELP (gain quantifié et indice ic de la forme
d'onde), et le signal résiduel reconstruit i(n)= p(n)+ uic(n).
Pour une fréquence d'échantillonnage de 8 k Hz, la présente réalisation du dispositif effectue un codage du signal de parole au débit de 8 kbit/s, avec les caractéristiques suivantes: Trame LPC: 24 ms (N = 192) Sous trames: 4 ms (No = 32) Débit LPC: 42 bits/trame(ordre l O) Débit LTP 1 b 1 x 6 bits/Itrame fl: 3 bits J Excitation: facteur d'échelle: 6 bitsl trame indice CELP i: l Obits O gain y: 3 bits 13 x 6 bits/ trame
(NF = 1024) J
La présente invention se situe au niveau du module LTP dont le fonctionnement va être décrit à présent Le module d'analyse LTP de l'invention repose sur l'exploration
d'un dictionnaire de délais de type pseudo-logarithmique.
Un module d'analyse LTP d'ordre 1, quel que soit le type d'analyse, calcule le délai X du prédicteur P(z) qui minimise un certain critère d'erreur La présente invention regroupe l'ensemble des délais explorés en un dictionnaire présentant une structure pseudo-logarithmique Ces délais X sont
des nombres rationnels, rangés en ordre croissant dans le dictionnaire.
Le dictionnaire est découpé en Q segments adjacents si(i = O o-> Q i) comprenant chacun L délais A chaque segment Si correspond une résolution J?, et si on appelle ri le dernier délai du segment S,, le segment Si est formé de la façon suivante, comme représenté sur les figures 3 A et 3 B: Si ={j =ri-j/-,j=L-1-> O} ( 4) Le délai r, peut éventuellement être fractionnaire mais les délais A' doivent vérifier Àj R entier Vi, Vj, donc pour chaque segment S,, il
faut et il suffit que r, soit entier.
Les résolutions des segments successifs décroissent dans un rapport k rationnel donné: R = -,_I / k,i = 1 Q 1 ( 5) La condition d'adjacente entre segments (figure 3 B) est assurée par: r,_,=r,-L/R i= 1->Q-1 ( 6) Si l'on appelle À t le dernier délai du dictionnaire (' = Q-), on montre que la condition yr, EN est réalisée pour tout i = O à Q-1 si et seulement si:
E-I A"| N ( 7)
Le dictionnaire est alors totalement défini par la donnée des valeurs {Q=nombre de segments, L=taille des segments, k=facteur de décroissance des résolutions,,,, =demrnier délai du dictionnaire, RQ-i = résolution du dernier segment telle que l'équation ( 7) soit vérifiée} On peut alors calculer ,, (premier délai du dictionnaire) par la formule: -t l)k-1 Ro, et si on définit la longueur li des segments Si comme i = i y,-1, on a alors (figure 3 B): l, =k i_, iî= 1 -Q 1 ( 8) La structure pseudo-logarithmique en base k du dictionnaire de
délais apparaît dans les équations ( 5) et ( 8).
On peut construire un dictionnaire du même type en s'appuyant sur les premiers délais,fi de chaque segment: S, ={g=,, + j/-, j= O > L-}, ( 4 ') et en définissant la condition d'adjacence par (figure 3 C): pi = -,_, +L /R 1 ( 6 ') Il faut alors remplacer la donnée de A, par celle de /_-= premier délai du dernier segment, et la condition ( 7) par:
R-1,Q-1 E N ( 7 ')
Bien que légèrement différent, ce dictionnaire est totalement équivalent à celui décrit en figure 3 B. Ces dictionnaires pseudo-logarithmiques de délais permettent un codage du délai simple et peu coûteux en stockage, du type: code(Aj,)= L i+ j', avec(i = ri JIR,) e S, (voir équation( 4))etj'=L-1-j
pour un dictionnaire défini par les équations ( 4), ( 6) et ( 7).
Un codage du même type est réalisable pour un dictionnaire défini par les équations ( 4 '), ( 6 ') et ( 7 '). On va considérer ci-dessous un exemple donné de dictionnaire
qui sera repris dans la suite de la description Il constitue une réalisation
particulièrement intéressante de la présente invention.
D=dictionnaire à 256 délais ( 8 bits) tel que: Q= 4 L= 64 k= 2 |A, =,t 2 i+ 119 (avec 2, = plus petit délai entier)
R 3 = 1
Tous les types d'analyse LTP utilisent un critère à minimiser qui fait intervenir un signal x(n) pour un certain délai 2 et N = O à N 1 (en
boucle ouverte, x(n) représente s(n) ou r(n), et en boucle fermée,(n)).
On va tout d'abord définir ce signal x(n -2) dans le cas particulier o le délai A est un rationnel: En effet lorsque A appartient au dictionnaire défini précédemment, il est de la forme, = Ai/R tel que A, e N,R rationnel R (résolution du segment qui contient 2) est un rationnel a priori quelconque, du
type R = p/q, p EN et q EN.
On définit x(n 2), N = O -> N1 en étendant la technique décrite par P Kroon au cas d'une résolution R=p/q rationnelle On passe du signal x(n) au signal y(n) de résolution multipliée par x(plq) à l'aide de méthodes classiques d'interpolation de signal comme décrit dans l'article de messieurs
Crochière et Rabiner cité plus haut.
Comme montré à la figure 4, le signal x(n) est d'abord suréchantillonné d'un facteur p dans un suréchantillonneur 30, produisant un signal x'(n) qui entre dans un filtre H(z) passe-bas 31 dont la fréquence de coupure est inférieure à f, /Max(p,q)(f =fm, /2) Le signal x"(n) issu de ce filtrage est ensuite sous-échantillonné d'un facteur q, dans un
sous-échantillonneur 32 pour donner y(n).
i=l On a donc: y(n)=x"(nq) avec x"(n)= jh(i)x'(n-i) i=-I i=-I On peut aussi exprimer x" (n) par x" (n) =,h( jp + q))(k j) i=-llp i=-I Ip si k=E(n Ip),n-=qpl: (On considère la notation E(x)=partie entière de x) Pour un délai À,=, /Ravec AI e N, on définit x(n) par: x(n-,l) = y(n R -2 I) Vn { 0,1,,N-1} =y(np/q-21) si R=p/q Alors x(n) = x"(np2 lq) On voit qu'il est intéressant de calculer à partir de (,Iq) les valeurs 2, e N et q E{ 0, 1,p-1 } telles que Aq=A 20 p: El=-1-m,l+ l | (p I) mod( 21 q1,p) lLa notation q=mod (p,n) signifie q= reste de p modulo nl Alors: x(n-)= A) h(jp+ço)x(n-2 o-j),n=O->N-1 ( 9) 1 =-y; En pratique, on choisit par exemple pour H(z) un sinus cardinal fenêtré et échantillonné d'un facteur Max(p,q) Les p filtres {h,(j),j=-Ilp >Ilp}, = O o->p-1 sont les filtres polyphasés construits à
partir de H(z).
Lorsque p > q, on a alors ho défini par {ho( 0) = 1, et ho(j) = Osi j O} et donc pour les valeurs de, entières on trouve
pour x(n) le signal x(n) décalé de X points.
Pour q= 1, on retrouve l'expression donnée précédemment
dans le cadre de l'analyse LTP a haute résolution.
On décrit ci-dessous le procédé de recherche du délai optimum
dans le dictionnaire pseudo-logarithmique défini dans la présente invention.
Quel que soit le type d'analyse LTP, la recherche du délai optimal revient à minimiser un critère: N-I E( 4) =e(n) n=O Si l'on définit de façon générale e(n) comme: e(n)=v(n)-fl(n-4), v(n) étant un signal connu indépendant de X et x(n-4) défini pour chaque délai candidat, les expressions de ces deux signaux dépendant du type d'analyse utilisé, alors la minimisation de E( 4) revient à maximiser: Et {) = E v(n) E( ) no= O La recherche du délai optimum nécessite le calcul, pour chaque délai A, les deux quantités: N(À) = > v(n)x(n) H-Io N-I D,) = Z x(n) n=O N( 1) et D(I) représentent respectivement le numérateur et le dénominateur du gain optimum,8 associé à chaque délai A Ces deux quantités interviennent dans E'( 2) Par exemple,lorsque p n'est pas quantifié en boucle,
on a E'(t) = N( 2)2 / D(X).
Dans tous les cas, l'évaluation de E'() pour chaque délai-A, est un processus nécessitant de nombreux calculs, en particulier lorsque l'on utilise des délais non entiers, et dans le cas d'analyses en boucle fermée, dès
que l'on doit extrapoler le signal î(n).
Diverses méthodes ont été proposées pour réduire la complexité de cette recherche: Analyse LTP à haute résolution: calcul des critères E'( 2 o) tels que o e N et interpolation des critères comme décrit dans l'article de P Kroon et B.S Atal cité précédemment Cette méthode est une méthode approchée et
reste relativement complexe.
Dictionnaire adaptatif: prolongement de la sommation dans E'() pour utiliser une méthode d'autocorrélation telle que définie dans l'article de A Le Guyader, D Massaloux and J P Petit intitulé "Robust and Fast Code Excited Linear Predictive Coding of Speech Signals" (Proc ICASSP, pages 120-123, Mai 1989), "Backward Filtering" pour le calcul des numérateurs tel que défini dans l'article de I M Trancoso et B S Atal intitulé "Efficient Procedures for Finding the Optimum Innovation in Stochastic Coders" (Proc ICASSP, pages 2375-2378, avril 1986), récurrence dans le calcul des dénominateurs, comme décrit dans l'article de W B Kleijn, D J Krasinski et R H Ketchumrn intitulé "An Efficient Stochastically Excited Linear Predictive Coding Algorithm for High Quality Low Bit Rate Transmission of Speech" cité précédemment Ces procédures sont cependant perturbées par l'introduction de signaux e(n)
extrapolés et se compliquent avec l'usage de délais fractionnaires.
Il est donc intéressant de simplifier encore cette procédure de recherche, et dans le cadre du dictionnaire de délais de l'invention, de s'appuyer
pour cela sur sa structure particulière.
Si l'on étudie l'évolution du critère E'(t) pour A variant dans un dictionnaire de délais de l'invention tel que défini précédemment, on constate que la courbe E'n()avec E'( 2)=E'( 2)I/v(n)2 présente elle- même une structure pseudo-logarithmique et que ses maxima en sont relativement amortis: à titre d'exemple, la figure 5 montre l'évolution de E'( t) pour A e dictionnaire D, sur
une trame voisée d'un échantillon de parole.
Cette étude suggère le fractionnement de la recherche en deux passes: dans une première passe: dans chaque segment Si, calcul du
critère sur un nombre restreint a(i) de délais tel que Vi = 1 Q 1, a(i) = ka(i 1).
Sélection d'un certain nombre K(i) de maxima locaux pour chaque segment; dans une seconde passe: exploration limitée au voisinage des
extrema locaux sélectionnés dans la première passe, pour chaque segment.
Bien entendu, la progression a(i)= ka(i -1) est limitée par L si à partir de i L on a a(i)>L alors a(i)=L pour i>i L et la recherche sous- optimale en deux passes est remplacée par une recherche optimale (en
une seule passe) pour les segments i L à Q-1.
Un cas est plus particulièrement intéressant: lorsque L est un multiple de ki L-, Alors le choix pour a( 0) de L/K-' ou d'un sous-multiple de L/Ki introduit un espacement régulier des délais explorés dans la première passe On montre que ces délais forment alors f ki L -il l'ensemble: 7 ro-0 /+jxa,j=l k-a(o) j, le pas a étant égal à
L/(Roa(O)).
Dans le cas particulier du dictionnaire D introduit plus haut, cette technique d'exploration en deux passes s'introduit de la manière suivante: Pour ce dictionnaire L = 64, k Q-1 = 8, Ro = 8 Le choix a( 0) = 8 permet d'explorer dans la première passe un sous-ensemble DO de D constitué de délais régulièrement espacés de D avec un pas a= 1 On montre que = 2 + 7 et que DO est en fait formé des 120 délais entiers consécutifs { 20 = + j j = O 119} extraits du dictionnaire D. Il est possible d'introduire une simplification supplémentaire à la recherche de la première passe On remplace la maximisation de E'() = N(X)2 /D(A) par celle de N() La normalisation qu'apporte la division par D(A) s'avère généralement superflue dans cette première passe par essence plus grossière que la recherche complète On s'intéresse donc aux maxima locaux de l'intercorrélation N( ), pour tous les segments i = 0-> Q-1,
dans la première passe.
La deuxième passe utilise par contre le critère complet E'( 2) et doit être effectuée aussi sur tous les segments: même pour les segments i > i L tqa(i)>L, car il faut évaluer E'(X) sur les extrema locaux de N()
sélectionnés dans la première passe.
L'analyse LTP par dictionnaire adaptatif, très performante, est aussi très complexe, du fait de la présence de la boucle fermée d'une part, et du filtre perceptuel d'autre part Une variante de cette analyse, diminuant la complexité intrinsèque du processus sans en dégrader les performances subjectives est proposée ici: elle repose sur une modification de l'expression ( 3)
du signal d'erreur dont on minimise l'énergie (critère E(X) à minimiser).
On peut en effet conserver l'usage d'un filtre perceptuel sans souscrire entièrement à la philosophie "CELP" du dictionnaire adaptatif, en prenant: e(n) =hg (n)*(r(n)-/fi(n -)) ( 10) Dans cette expression, le signal î(n -2)( éventuellement fractionnaire, ê éventuellement extrapolé) est continu au niveau de la frontière du sous- bloc: les points précédant le sous-bloc courant (tq N = O -> N 1) sont les points (e(n -),n <o 0), et non (e(n),n <o 0), comme dans le cas du dictionnaire adaptatif. L'intérêt de cette variante réside dans la possibilité de "préfiltre'r" î(n): le filtre perceptuel variant à la fréquence trame LPC, plusieurs analyses LTP étant pratiquées dans une trame LPC, un même échantillon filtré
e,(n)=hg(n)*i(n) sert à plusieurs analyses LTP.
En ce qui concemrne les délais fractionnaires, on utilise la commutabilité des filtres linéaires et on applique le filtre d'interpolation aux échantillons préfiltrés g,,(n) (ceci n'est toutefois pas applicable aux échantillons
utilisant un signal ê(n) extrapolé).
On va à présent décrire un exemple de réalisation particulièrement intéressant de la présente invention: le dictionnaire D cité précédemment est d'abord présenté en détail L'exploration de ce dictionnaire est présentée avec la procédure accélérée décrite dans le cadre de l'analyse LTP
définie ci-dessus.
Le module LTP ainsi conçu est intégré à titre d'exemple au
dispositif de codage présenté plus haut.
Ce dictionnaire a été défini précédemment Les délais y sont du type fractionnaire, de résolution R =p>l 1, ou entiers On peut décrire D de la façon suivante (figure 6): chaque segment Si,i = O 3 de résolution = 23-' est formé des délais %o-I/Rq= 0-l, les délais A O entiers formant un sous-ensemble S de S, comportant ni = 2 f+ 3 éléments: ri-
Si O =j O =ui+jlyj=O- O ni vecpi=?_ o±j (en posant N = 0).
j=O Un seul filtre d'interpolation H(z) est nécessaire pour l'ensemble du dictionnaire On prend en pratique: h(i) = w(i) sin(izr/ 8) ( 8/ ir), i = -I -> I, w(i) étant une fonction de fenêtrage, et I étant un multiple de 8: I = 8 J On définit les filtres:
hç,(j)=h(-I+ 8 j+ 9),j= 0-> 2 J-1 et q= 1,2, 7.
Les algorithmes de codage et décodage des délais de ce dictionnaire D sont présentés à la figure 7 et implantés de façon simple à l'aide de décalages et opérateurs logiques, en utilisant la table des quatre valeurs,u (premier délai entier dans chaque segment) Le code décrit ici perturbe l'ordre naturel des délais dans le dictionnaire sans que cela change quoi que ce soit à la
description qui précède.
2 = O o-q I 8 ED O o N, q O, 1,7} o:Ao-p Z(iseg) On pose: avec iseg e{O, 1,2,3}=n segment ip' =e 12 'g On a alors: code 2 = liseg( 2 bits), 2 '0 ( 3 +iseg bits), 9 '( 3 iseg bits)l = 8 bits L'analyse LTP utilise le critère modifié calculé à partir de l'équation ( 10) et fait donc intervenir un signal w(n-A)=hg(n)*(n,),
n = O > N 1,, éventuellement fractionnaire.
On connaît les signaux i(n) et êj(n) pour N < 0.
Selon les valeurs de,; le calcul de i,(n-,t) fait intervenir l'un des quatre procédés suivants: Délai A = -o entier > N: module ETWO 40 (voir figure 8 A)
éw(n-20) est connu.
Délai A = Ao entier < N: module ETWI 41 (voir figure 8 B) sin< 2 o: gw(n<) estconnu si 2 o <n<N: extrapolation de î(n-2 o):J(n -k 2 o) avec k =plus petit entier avec N <k 2 o puis filtrage par Hg(z) Délai A=o O /8 fractionnaire, o>_N+J: module ETW 2 42 (voir figure 8 C) 2 J-1 w(n A) hg Y (j)ê w(n A + J- j)( 1 j=o Délai 2 = 2 o-9 18 fractionnaire, 20 <N+J: module ETW 3 43 (voir figure 8 D) n,,(n 2,t) est calculé par l'équation ( 11) sin<,t,- j: si o J<n <N: N est complété récursivement par: 2 J-1 e(O)=e(-,2)= Xh 9 (j),(- o +J-j) puis J(n)=e(n-X) pour n=l->(N-l-,o +J) j=o
(n x) est ensuite obtenu en filtrant,(n-) par Hg(z).
Dans ces modules ETW 0, ETW 1, ETW 2, ETW 3 représentés aux figures 8 A, 8 B, 8 C et 8 D, on a: Hg (z) = Thg(i) z-i filtre perceptuel H 9,(z) = hçd(i)z-' filtre polyphasé La recherche s'effectue en deux passes suivant le principe
décrit plus haut.
Ainsi que mentionné précédemment, le dictionnaire D a l'avantage de permettre (en choisissant a(O)= 8) la coincidence entre l'ensemble des délais explorés dans la première et l'ensemble des délais entiers de D
(c'est-à-dire U Si dans la description précédente).
i=O La première passe, effectuée uniquement sur les numérateurs
N(.o), est très rapide car elle ne fait intervenir aucune opération d'interpolation.
Le choix de = N 8 est particulièrement intéressant car il restreint au premier segment de D la nécessité d'extrapoler e(n) dans la première passe. Le module LTP donné ici à titre d'exemple s'intègre au dispositif présenté plus haut comme réalisation particulièrement intéressante de la
présente invention.
On prend: o?, =N-8 = 24 et J= 2:H(z) est un FIR (filtre à
réponse impulsionnelle finie) de longueur 33.
Le nombre K(i) de maxima locaux que l'on retient dans chaque segment S$ lors de la première passe de la recherche du délai est indiqué dans la table ci-dessous Ces valeurs résultent de l'observation sur un certain nombre d'échantillons de parole, du nombre de maxima de N( o) qu'il est nécessaire de
retenir pour s'assurer de la présence du délai optimal dans leur voisinage.
i /Si K(i)
0 1
1 1
2 2
3 1
La procédure complète de recherche du délai dans D sur le présent exemple est décrite dans la figure 9 Les signaux resw(n), iw(n) et e(n) entrent dans le module de recherche 45 On trouve en sortie de ce module 45 le délai A sélectionné et le critère E'(A) associé Sur cette figure 9 on a la notation suivante: A, E'(A): délai A cherché et critère associé
lA, E'(A)l*: A et E'(A) sont éventuellement mis à jour.
On rappelle 2 =N-8 Les modules P 1 Si,i = O à 3 référencés respectivement 46, 47, 48 et 49 effectuent la première passe de la recherche sur les segments Si Leur fonctionnement détaillé est illustré par la figure 10 Ces modules produisent en sortie K(i),i = O à 3 ( 1 ou 2) valeurs de délais entiers A, sélectionnés et les
valeurs d'intercorrélation N(A,) associées.
La deuxième passe de la recherche est décrite par les modules P 2 Si, i = O à 3 référencés respectivement 50, 51, 52 et 53 En entrée de ces modules, outre les signaux resw(n),e W(n) et e(n), on trouve les sorties des modules Pl Si correspondants Chaque module P 2 Si effectue la maximisation
du critère E'(A) et sort le délai A associé au critère maximum.
Les figures 12 A, 12 B, 12 C et 12 D montrent le fonctionnement des modules P 2 Si, qui utilisent les modules de sélection SE Lj, j = O à 3 décrits respectivement par les figures 11 A, 11 B,1 l C et 11 D: -SELO présente les calculs effectués pour un délai entier lorsqu'aucune extrapolation de ew(n) n'est nécessaire; SEL présente les calculs effectués pour un délai entier avec extrapolation de 'w(n); SEL 2 présente les calculs effectués pour un délai fractionnaire lorsqu'aucune extrapolation de Jw(n) n'est nécessaire; -SEL 3 présente les calculs effectués pour un délai
fractionnaire avec extrapolation de W,(n).
Les modules PS 55 calculent le produit scalaire N'-I ères o(n) e(n O n= O N-i
Les modules NORM 56 calculent l'énergie ge_(n-t)2.
n=O Les modules COMP 57 calculent E'(A) et sélectionnent A=A si e'() > E'(A) La valeur de délai A issue de la deuxième passe est le délai sélectionné par le module de recherche dans le dictionnaire D.

Claims (6)

REVENDICATIONS
1 Dispositif de codage et de décodage numériques de la parole comprenant, au codage: un module ( 13) d'analyse LPC (prédiction à court terme) un module ( 15) d'analyse LTP (prédiction à long terme), un module ( 14) de codage de l'onde résiduelle utilisant une méthode d'analyse par synthèse; au décodage: un module de décodage de l'onde résiduelle ( 21), un module de synthèse LTP ( 22) et un module de synthèse LPC ( 23); caractérisé en ce que le module d'analyse LTP utilise un dictionnaire de délais à structure pseudo-logarithmique dans lequel les délais sont rangés en ordre croissant; ce dictionnaire étant constitué de Q segments adjacents, chacun d'une résolution donnée, les résolutions des segments successifs diminuant géométriquement dans un rapport k rationnel tel que k > 1, tandis que le nombre d'éléments L de
chaque segment reste constant.
2 Dispositif selon la revendication 1, caractérisé en ce que le dictionnaire des délais est découpé en Q segments adjacents S, (i = O -> Q -1) comprenant chacun L délais; en ce qu'une résolution R, correspond à chaque segment Si, les résolutions des segments successifs décroissant dans un rapport k rationnel donné (k,-= R/ k); en ce qu'on appelle ryi le dernier délai du segment Si, ce segment étant formé des L délais ,%=y,-j/I I,j=L-l->O avec Aj J entiers; en ce que la condition d'adjacence entre segments est assurée par ri, = yr L / i = 1-> Q -1; en ce que 2, étant le dernier délai du dictionnaire et R _I la résolution du dernier segment, un tel dictionnaire est entièrement défini par la donnée des valeurs
{Q,L,k, =x,;,R&_i} et la condition RP _ =, EN.
3 Dispositif selon la revendication 1, caractérisé en ce que le dictionnaire des délais est découpé en Q segments adjacents S,(i= O o->QI) comprenant chacun L délais; en ce qu'une résolution k correspond à chaque segment S,, les résolutions des segments successifs décroissant dans un rapport k rationnel donné (R = R-_I /k); en ce qu'on appelle,8 le premier délai du segment Si, ce segment étant formé des L délais: Af.=/+j/ll J=O->L-l avec j R, entiers; en ce que la condition d'adjacence entre segments est assurée par,8 =,_i + L / Ré_ i = 1 -> Q -1; en ce que éQI étant le premier délai du dernier segment et RQ-_ la résolution du dernier segment, un tel dictionnaire est entièrement défini par la donnée des valeurs {Q,L,k,,Q_,RQ _} et la condition RQ_ p Q_, e N. 4 Dispositif selon la revendication 2, caractérisé en ce qu'il utilise le codage suivant du délai LTP: code(, )=L i+ +j', avec Si = { 1 j = yi j /,j = L-1 > O} et j'=L-1 j Dispositif selon la revendication 3, caractérisé en ce qu'il utilise le codage suivant du délai LTP: code( j)=L i+j avec Si ={ 2, =i +j l&, j=O L-} 6 Dispositif selon la revendication 2, caractérisé en ce que dans le dictionnaire pseudo-logarithmique de délais LTP, chaque segment S$,i=O-> 3 de résolution = 23-', est formé des délais -/ R,ç= O O -1, les délais A entiers formant un sous-ensemble Si de Si comportantni = 2 i+ 3 éléments: SO= =i i= i-,ae,=_ +nj (enposantn_,= 0) j=o 7 Procédé d'exploration d'un dictionnaire pseudo- logarithmique
de délais LTP selon l'une quelconque des revendications précédentes,
caractérisé en ce que dans une première passe, on sélectionne K(i) maxima locaux du critère à maximiser parmi un ensemble restreint de a(i) délais de chaque segment S; et dans une seconde passe, on explore le dictionnaire de
manière limitée au voisinage des valeurs sélectionnées dans la première passe.
8 Procédé selon la revendication 7, caractérisé en ce que la taille des segments L étant un multiple de K-l, on choisit pour a(O) la valeur i,-, ou d'un sous-multiple de /ki-, introduisant un espacement
régulier des délais explorés dans la première passe.
9 Procédé selon la revendication 7, caractérisé en ce que l'on remplace dans la première passe la maximisation de E'() = N( )2 / D(A), o N(A) et D(A) représentent respectivement le numérateur et le dénominateur du gain optimal associé à chaque délai A, par celle de N( ). Procédé d'exploration d'un dictionnaire pseudo-logarithmique de délais LTP selon la revendication 1, caractérisé en ce qu'on minimise l'énergie en considérant l'expression suivante du signal d'erreur e(n) = hg(n)*(r(n) -,/(n -,)) les points précédant le sous-bloc courant (tels que N <O O si le sous-bloc courant commence à n=O) étant les points î(n 2) (A éventuellement fractionnaire, ê
éventuellement extrapolé).
11 Procédé d'analyse LTP en boucle fermée avec filtrage perceptuel, caractérisé en ce qu'on minimise l'énergie en considérant l'expression suivante du signal d'erreur: e(n) = hg (n)*(r(n) -/O(n)) les points précédant le sous-bloc courant (tels N < O si le sous-bloc courant commence à n=O) étant les points e(n -2) (A éventuellement fractionnaire, i
éventuellement extrapolé).
FR9302881A 1993-03-12 1993-03-12 Dispositif de codage et de décodage numériques de la parole, procédé d'exploration d'un dictionnaire pseudo-logarithmique de délais LTP, et procédé d'analyse LTP. Expired - Fee Related FR2702590B1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR9302881A FR2702590B1 (fr) 1993-03-12 1993-03-12 Dispositif de codage et de décodage numériques de la parole, procédé d'exploration d'un dictionnaire pseudo-logarithmique de délais LTP, et procédé d'analyse LTP.
US08/205,570 US5704002A (en) 1993-03-12 1994-03-04 Process and device for minimizing an error in a speech signal using a residue signal and a synthesized excitation signal
EP94400525A EP0616315A1 (fr) 1993-03-12 1994-03-10 Dispositif de codage et de décodage numérique de la parole, procédé d'exploration d'un dictionnaire pseudo-logarithmique de délais LTP, et procédé d'analyse LTP

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9302881A FR2702590B1 (fr) 1993-03-12 1993-03-12 Dispositif de codage et de décodage numériques de la parole, procédé d'exploration d'un dictionnaire pseudo-logarithmique de délais LTP, et procédé d'analyse LTP.

Publications (2)

Publication Number Publication Date
FR2702590A1 true FR2702590A1 (fr) 1994-09-16
FR2702590B1 FR2702590B1 (fr) 1995-04-28

Family

ID=9444907

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9302881A Expired - Fee Related FR2702590B1 (fr) 1993-03-12 1993-03-12 Dispositif de codage et de décodage numériques de la parole, procédé d'exploration d'un dictionnaire pseudo-logarithmique de délais LTP, et procédé d'analyse LTP.

Country Status (3)

Country Link
US (1) US5704002A (fr)
EP (1) EP0616315A1 (fr)
FR (1) FR2702590B1 (fr)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2729246A1 (fr) * 1995-01-06 1996-07-12 Matra Communication Procede de codage de parole a analyse par synthese
JPH09127995A (ja) * 1995-10-26 1997-05-16 Sony Corp 信号復号化方法及び信号復号化装置
JP3707116B2 (ja) * 1995-10-26 2005-10-19 ソニー株式会社 音声復号化方法及び装置
EP0788091A3 (fr) * 1996-01-31 1999-02-24 Kabushiki Kaisha Toshiba Procédé et dispositif de codage et décodage de parole
US6219641B1 (en) * 1997-12-09 2001-04-17 Michael V. Socaciu System and method of transmitting speech at low line rates
US6104994A (en) * 1998-01-13 2000-08-15 Conexant Systems, Inc. Method for speech coding under background noise conditions
JP2001109489A (ja) * 1999-08-03 2001-04-20 Canon Inc 音声情報処理方法、装置および記憶媒体
US6760698B2 (en) * 2000-09-15 2004-07-06 Mindspeed Technologies Inc. System for coding speech information using an adaptive codebook with enhanced variable resolution scheme
CN112863539B (zh) * 2019-11-28 2024-04-16 科大讯飞股份有限公司 一种高采样率语音波形生成方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1991003790A1 (fr) * 1989-09-01 1991-03-21 Motorola, Inc. Codeur de parole numerique a prediseur a long terme ameliore
EP0523979A2 (fr) * 1991-07-19 1993-01-20 Motorola, Inc. Méthode et moyens pour le codage de la parole à faible débit

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61134000A (ja) * 1984-12-05 1986-06-21 株式会社日立製作所 音声分析合成方式
JP2903533B2 (ja) * 1989-03-22 1999-06-07 日本電気株式会社 音声符号化方式
GB2235354A (en) * 1989-08-16 1991-02-27 Philips Electronic Associated Speech coding/encoding using celp
EP0443548B1 (fr) * 1990-02-22 2003-07-23 Nec Corporation Codeur de parole
US5371853A (en) * 1991-10-28 1994-12-06 University Of Maryland At College Park Method and system for CELP speech coding and codebook for use therewith

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1991003790A1 (fr) * 1989-09-01 1991-03-21 Motorola, Inc. Codeur de parole numerique a prediseur a long terme ameliore
EP0523979A2 (fr) * 1991-07-19 1993-01-20 Motorola, Inc. Méthode et moyens pour le codage de la parole à faible débit

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
KEMP ET AL: "Multi-frame coding of LPC parameters at 600-800 bps", INTERNATIONAL CONFERENCE ON ACOUSTICS SPEECH AND SIGNAL PROCESSING, vol. 1, 14 May 1991 (1991-05-14), TORONTO CANADA, pages 609 - 612 *
KLEIJN W B ET AL: "Fast methods for the CELP speech coding algorithm", IEEE TRANS. ACOUST. SPEECH SIGNAL PROCESS. (USA), IEEE TRANSACTIONS ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING, AUG. 1990, USA, 38, 8, 1330 - 1342 *
KROON P ET AL: "Pitch predictors with high temporal resolution", ICASSP 90. 1990 INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING , ALBUQUERQUE, NM, USA, 3-6 APRIL 1990,P. 661 - 664 VOL.2 *
MARQUES J S ET AL: "Pitch prediction with fractional delays in CELP coding", EUROSPEECH 89. EUROPEAN CONFERENCE ON SPEECH COMMUNICATION AND TECHNOLOGY, PARIS, FRANCE, 26-28 SEPT. 1989, 509 - 512 VOL.2 *

Also Published As

Publication number Publication date
FR2702590B1 (fr) 1995-04-28
US5704002A (en) 1997-12-30
EP0616315A1 (fr) 1994-09-21

Similar Documents

Publication Publication Date Title
EP0782128B1 (fr) Procédé d&#39;analyse par prédiction linéaire d&#39;un signal audiofréquence, et procédés de codage et de décodage d&#39;un signal audiofréquence en comportant application
EP1692689B1 (fr) Procede de codage multiple optimise
EP0704088B1 (fr) Procede de codage de signaux de parole
EP0749626B1 (fr) Procede de codage de parole a prediction lineaire et excitation par codes algebriques
EP2254110B1 (fr) Dispositif de codage de signal stéréo, dispositif de décodage de signal stéréo et procédés associés
WO1996021220A1 (fr) Procede de codage de parole a analyse par synthese
EP0428445B1 (fr) Procédé et dispositif de codage de filtres prédicteurs de vocodeurs très bas débit
WO1996021218A1 (fr) Procede de codage de parole a analyse par synthese
FR2702590A1 (fr) Dispositif de codage et de décodage numériques de la parole, procédé d&#39;exploration d&#39;un dictionnaire pseudo-logarithmique de délais LTP, et procédé d&#39;analyse LTP.
CA2345373A1 (fr) Procede de quantification des parametres d&#39;un codeur de parole
FR2720850A1 (fr) Procédé de codage de parole à prédiction linéaire.
EP2005424A2 (fr) Procede de post-traitement d&#39;un signal dans un decodeur audio
FR2783651A1 (fr) Dispositif et procede de filtrage d&#39;un signal de parole, recepteur et systeme de communications telephonique
EP1383109A1 (fr) Procédé et dispositif d&#39;encodage de la parole à bande élargie
EP1192619B1 (fr) Codage et decodage audio par interpolation
EP0734013B1 (fr) Determination d&#39;un vecteur d&#39;excitation dans un codeur CELP
EP1192621B1 (fr) Codage audio avec composants harmoniques
EP1192618B1 (fr) Codage audio avec liftrage adaptif
WO2001003121A1 (fr) Codage et decodage audio avec composants harmoniques et phase minimale
EP0454552A2 (fr) ProcédÀ© et dispositif de codage bas débit de la parole
WO2001003119A1 (fr) Codage et decodage audio incluant des composantes non harmoniques du signal
WO2002029786A1 (fr) Procede et dispositif de codage segmental d&#39;un signal audio
EP1383110A1 (fr) Procédé et dispositif d&#39;encodage de la parole à bande élargie, permettant en particulier une amélioration de la qualité des trames de parole voisée
WO2001003116A1 (fr) Procedes et dispositifs d&#39;analyse et de synthese audio
EP1383111A2 (fr) Procédé et dispositif d&#39;encodage de la parole à bande élargie

Legal Events

Date Code Title Description
TP Transmission of property
ST Notification of lapse

Effective date: 20101130