CA2182386C - Procede de codage de parole a prediction lineaire et excitation par codes algebriques - Google Patents

Procede de codage de parole a prediction lineaire et excitation par codes algebriques Download PDF

Info

Publication number
CA2182386C
CA2182386C CA002182386A CA2182386A CA2182386C CA 2182386 C CA2182386 C CA 2182386C CA 002182386 A CA002182386 A CA 002182386A CA 2182386 A CA2182386 A CA 2182386A CA 2182386 C CA2182386 C CA 2182386C
Authority
CA
Canada
Prior art keywords
directory
delta
posi
integer
group
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.)
Expired - Lifetime
Application number
CA002182386A
Other languages
English (en)
Other versions
CA2182386A1 (fr
Inventor
Claude Lamblin
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.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Publication of CA2182386A1 publication Critical patent/CA2182386A1/fr
Application granted granted Critical
Publication of CA2182386C publication Critical patent/CA2182386C/fr
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • G10L13/00Speech synthesis; Text to speech systems
    • 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/10Determination or coding of the excitation function; Determination or coding of the long-term prediction parameters the excitation function being a multipulse excitation
    • G10L19/107Sparse pulse excitation, e.g. by using algebraic codebook
    • 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/0013Codebook search algorithms
    • G10L2019/0014Selection criteria for distances

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Transmission Systems Not Characterized By The Medium Used For Transmission (AREA)

Abstract

Le procédé utilise la technique de codage CELP à répertoire algébrique. La recherche de l'excitation CELP comporte un calcul de certaines composantes de la matrice de covariance U = H T.H où H désigne une matrice triangulaire inférieure de Toeplitz formée à partir de la réponse impulsionnelle d'un filtre composé de filtres de synthè se et d'un filtre de pondération perceptuelle. Les composantes mémorisées de la matrice de covariance sont seulement celles de la forme U(p os i,p, pos i,p) et celles de la forme U(pos i,p, pos i~j,q,) pos i,p et pos j,q désignant respectivement la position i et la position j pour les impulsions p et q dans les codes du répertoire algébrique.

Description

WO96121221 2182386 ~ r L
PROCEDE DE CODAGE DE PAROLE A ~n~L~ r.TN~
ET EXCITATION PAR CODES AT ~ Tyu~D
La présente invention concerne un procédé de codage numérique, en particulier de signaux de parole.
Une des meilleures méthodes actuelles de compression des signaux pour réduire le débit tout en maintenant une bonne qualité est la technique de prédiction linéaire à
excitation par codes CELP (Code Excited l,inear Prediction).
Ce type de codage est largement utilisé, essentiellement dans des systèmes de transmission par voie terrestre ou satellite, ou dans des applications de stockage. q~outefois, la prenière génération de codeurs CELP qui utilisait des répertoires stochastiques était très complexe à mettre en oeuvre et nécessitait ae grandes capacités de mémoire. Une deuxième génération de codeurs CELP est alors apparue: les codeurs CELP à répertoire algébrique. Ils sont moins complexes à
mettre en oeuvre et nécessitent moins de mémoire, mais les gains sone encore insuffisants.
La technologie du codage CELP à répertoire algébrique a encore été améliorée par l ' introduction des codeurs ACELP
(Algebraic Coae Excited Linear Prediction) qui u~ilisent un répertoire algébrique associé à une recherche focalisée à
seuils adaptatifs permettant d~ a juster la complexlté du calcul. Cependant, la ~luantité de mémoire vive requise reste encore importante.
Les codeurs CELP appartiennent à la famille des codeurs ~ analyse par synthese, dans lesquels on utilise le 3 0 modèle de synthèse au codeur . Les signaux à coder peuvent être échantillonnés à la fréquence téléphonique (Fe=8kHz) ou une fréquence plus élevée, par exemple à 16 kHz pour le codage en bande élargie (bande passante de 0 à 7 kHz). Selon l ~ application et la qualité désiree, le taux de compression varie de 1 à 16: les codeurs CELP fonctionnent à des débits de 2 à 16 kbit/s en bande téléphonique, et à des débits de wo96nl22l 2182386~ ` P~llr ., 16 à 32 kbit/s en bande élargie.
Dans un codeur numérique de type CELP, le signal de parole est échantillonné et converti en une suite de trames de L éoh~nti 1 lnnq, Chaque trame est synthétisée en filtrant 5 une forme d'onde extraite d~un répertoire ~appelé aussi dictinnn~re~, multipliée par un gain, à travers deux filtres variant dans le temps . Le répertoire d' excitation est un ensemble de K codes ou formes d'ondes de L échantillons. Les formes d' ondes sont numérotées par un index entier k, 10 allant de 0 à K-l, K étant la taille du répertoire Le premier filtre est le filtre de prédiction à long terme. Une analyse "LTP" (10ng Term Prediction~ permet d' évaluer les p~ramè~res de ce prédicteur ~ long cerme et ainsi d~exploiter la périodicité des sons voisés (par exemple : les 15 voyelles); cette corrélation à long terme est due à la vibration des cordes vocales. Le second filtre est le filtre de prédiction à court terme. Les --S~hn-loq d' analyse par prédiction linéaire ''LPCU (Linear Prediction Coding~
permettent d' obtenir ces paramètres de prédiction à court 20 terme, représentatifs de la fonction de transfert du conduit vocal et caractéristiques du spectre du signal. Le procédé
utilisé pour détormi n~r la séquence d ' innovation est la méthode d' ar,alyse par synthèse: au codeur, toutes les séquences d' innovation du répertoire d' excitation sont
2~ filtrées par les deux filtres LTP et LPC, et la forme d~onde sélectionnée est celle proauisant le signal synthétique le plus proche du signal de parole original selon un critère de pondération perceptuelle.
Dans un codeur CELP, 1 ' excitation du modèle de 30 synthèse est donc constituée par des formes d~ondes extraites d~un répertoire. Selon le type de ce répertoire, on distingue deux sortes de codeurs CELP. Les répertoires des premiers codeurs CELP étaient constitués de formes d' ondes stochastiques. C~es répertoires sont obtenus aoit par 35 appronti~s~e soit par génération aléatoire. Leur inconvénient majeur est leur manque de structure qui ~ WO96/21221 218238B ~ r-~lr ll nécessiee de les stocker et entra~ne une complexité de mise en oeuvre élevée . Le répertoire d ' excitation du premier codeur CELP était un dictionnaire stochastique, composé d~un ensemble de 1024 formes d~ondes de 40 érh~ntillnnc gaussiens.
5 Ce codeur CELP ne fonctionnait pas en temps réel sur les calculateurs les plus puissants de 1 ' époque. D~ autres dictionnaires stochastiques permettant de ~limin~1~sr et la mémoire et le temps de calcul n~ qS~ires ont été
introduits; cependant, tant la complexité que la capacité
10 de mémoire requise restaient importantes.
Pour remédier à cet inconvénient, une autre catégorie de répertoires a été proposée: les répertoires algébriques fortement structurés cui n~ont pas besoin d~être stockés et dont la structure permet de développer des algorithmes 15 rapides pour leur mise en oeuvre. A. Gersho, dans son article "Advances in Speech ar,d Audio Compression ~ ( Proc . IEEE, Vol.82, N6, Juin 1994, pages 900-918), a présenté une bonne synthese des travaux en codage CELP et établit un inventaire des différents répertoires proposés dans la littérature. Un 20 des codeurs CELP utilisant un répertoire algébrique est le codeur ACELP.
Les codeurs ACELP (voir wO 91/13432) ont été proposés comme candidats à plusieurs normalisations: normalisation UIT
(Union Internationale des TélGcn~lnications) à 8kblt~s, 25 normalisation UIT pour la visiophonie RTC à 6, 8 kbit~s-5, 4 kbitJs . Les modules de prédiction à court terme, d' analyse LTP et de pondération perceptuelle sont similaires à ceux utilisés dans un codeur CELP classique. L~ originalité du codeur ACELP réside dans le module de recherche du signal 30 d~ excitation. Le codeur ACELP présente deux intérets majeurs: une grande flexibilité en débit et une complexité
de mise en oeuvre ajustable. La flexibilité en débit provient de la méthode de génération du répertoire. La possibilité de régler la complexité est due à la procédure de sélection de 35 la forme d' onde qui utilise une recherche focalisée à seuils adaptatif s .

Dans un codeur ACELP, le répertoire d'~Yrit~tion est un ensemble virtuel (dans le sens où il n'est pas stocké), généré algébriquement. Le générateur de codes algébriques produit en réponse à un index k, k variant de O a K-1, un 5 vecteur code de L échantillons ayant très peu de composantes non nulles. Solt N le nombre de cnmros~ntes non nu~les. Dans certaines applications, la ~;mPnsi nn des mots de code est étendue à L+N, et les N dernières composantes sont nulles.
On suppose ici, sans af ~ecter la généralité de 1 ' exposé, que 10 L est un mllltiple de N. Les mots de code ck sont donc composés de N impulsio~s. Les amplitudes des impulsions sont fixes Ipar exemple ~1~. Les positions autorisées pour 1 ' impulsion p sont de la ~orme Psi p = Ni ~ p ( 1 15 i allant de O à L '-1, où L '= L/N. Dans le cas où L '= lL~N) /N, la position peut être supérieure ou égale à L, et 1~ impulsion correspondante est alors simplement annulée. L~ index de la ~orme d~onde ck est obtenu de manière directe par la relation k = ~ (Ll)P.~ iNp et la taille du répertoire est de ~ L ~ ) N.
~ a sélection d'une forme dionde dans un répertoire CELP s ' ef ~ectue en recherchant celle qui minimise 1~ erreur 25 quadratique entre le sir,nal original pondéré et le signal synthétique pondéré. Ceci revient à maximiser la cauantité
Crk=Pk2/ak2~ où Pk=(D.ckT), et ak2=¦¦ck.~T¦¦2 =(ck.U.ckT), et ( . ) T désigne la transposition matricielle. D est un vecteur-cible qui dépend du signal d' entrée, du signal synthétique
3 0 passe et du f iltre composé des ~iltres de synthèse et de pondération perceptuelle. soit h le vecteur de la réponse implllcinnnPl1e de ce filtre composé:
h = (h(O) ,h(1~, . . . ,h~L-l~ ~
H est la matrice LxL triangulaire in~érieure de Toeplitz 35 formée a partir de cette reponse impt~l~tinnnplle. U = HT.H est WO !96/21221 218 2 3 ~ 6 P~ r jl /

la matrice de covariance de h. En notant U(i, j ) l ~élément de la matrice U à la ligne i et à la colonne j (Osi~ i<L), l ~ élément U ( i, j ) est égal à

U~i,;) = ~ h~n-i) .h~n-;) n=max(i, ~) Dans un codeur ACELP, si la forme d~onde Ck est composée de ~ impulsions; de positions Psi (q k) q et 10 d~amplitude Sq (0Cq<N), le produit scalaire Pk du vecteur-cible D avec une forme d' onde ck et l ' énergie ~k2 de la forme d'onde filtrée Ck ont pour expression:
N-l Pk S~.D(posi(~ k) q) ~0 et ~2 ~ ~ 5Z.U(P~p k~,P ,po8~(p,~),p) p~O
N-2 N-l 20 + 2. ~, ~, Sp.S .U(posi~ k ,Posi k p=O q=p+l 1;7 P ) ~P (qr ), 5~
Un des avantages du répertoire ACELP est qu' il donne lieu à une méthode SOus-optimale efficace de sélection de la meilleure forme d'onde. Cette recherche s~effec~ue en 25 imbriquant les boucles de recherche des impulsions. Pour une boucle d' ordre q, 1 ' indice iq= (Psi q-q) /N codant la position varie dans l ' ensemble [0, . . ., L ' -1] . On accélère l ' exploration en calculant avane d'entrer dans la procédure de recherche un seuil adaptatif pour chaque houcle. On n' en~re dans la 30 boucle de recherche de l ' impulsion q que si une quantité
partielle Crk(q-l), calculée à partir des impulsions 0 à q-1 précédemment détPrm;n~Pc dans les boucles supérieures, dépas-se un seuil calculé pour la boucle q-l. La quantite partielle peut être: Crk (q-l ) =pk2 (q-l ) /c~k2 ~q-l ) ou ~rk (q-l ) =Pk2 (q-l ), 35 où k2(g-1) est l'énergie de la ~orme d'onde comp~sée des WO96/21221 r~lr : ~ /
21 823~ 6 impulsions 0 à q-1 de ck filtrée, et Pk~q-1) est le produit scalaire du vecteur-cible D avec la forme d onde composée des impulsions 0 à q-1 de Ck.
Le calcul des critères partiels est simplifié par le 5 caractère récursif de Pk tq) et ak2 ~q) . En ef f et, les suites fPk(q) ~q=o, . . . ,N-l et {k (g) ~q=O, . . . ,~-1 sont calculées par récurrence de la manière suivante:
Pk()=So-D(Psi(o~k)~o) et Pk(q)=Pk~g~1)+Sg~D~pOsifq k) ql ak2 ~o)=sZo. ~ osi (O,k), o~ PSi (O,k), o) et ak2(q) = k (q-l)+ Sq-U(PSi(q k) q'PSi(q k) q) g-l ~ ~, Sp.Sq~U(pogi(p,k),p~Psi(q, kl, q) p-O
où Psi(p k~ p est la position de la p-ième impuls~on de ck et Sp son amplitude. L énerç~Le ak2 de la forme d~onde Ck filtrée et le produit scalaire Pk de ck avec le vecteur-cible D sont obtenus à 1 issue de la récurrence ~q=N-1~.
Le calcul des ~ suites fak2 (q) ~q=O ~-1~ pour k variant de 0 à X-1, nécessite de connaitre des élémen~s de la matrice U de covariance de la réponse impulsionnelle h du filtre composé. Dans le codeur ACELP antérieur, tous les élé-ments U~i, j) de la matrice U sont calculés et stockés. La matrice U possède les propriétés suivantes qui sont utilisées lors du calcul de ses L2 éléments:
- propriété de symétrie:
U(i,j) = U~j,i), pour 05i,j<L
- propriété de récurrence sur les diaç~onales:
U(i-l,j-1)=U(i,j)+h(L-i) .h(L-j), pour O<i,j L
et U(i,L-l)=U(L-l,i)=h(0) .h(L~ , pour 05i<L
Cependant, un calcul de la matrice U exploitant au maximum ces deux propriétés nécessite encore:
. L~L+1)~2 multiplications et L(L-1)~2 additions, WO9612122l 2 1 8 2 ~ ~ 6 ~ r~l/r . L2 chaly. ts en mémoire.
En conclusion, la technique ACELP nécessite un grand nombre de chargements en mémoire et une mémoire de taille importante. Il faut en e~fet stocker:
- le signal d~entrée (tYpiquement 80 à 360 mots de 16 bits), - la matrice de covariance (402 à 602 mots de 16 bits ), - les signaux intprm~ ires et leurs mémoires (typiquement 2 à 3~C mots de 16 bits), - le signal de sortie (typiquement 80 à 2~0 mots ou octets ) .
I1 apparaît clairement que la taille de la matrice de covariance occupe une place prépondérante. On note que, pour une application donnée, 1~ espace mémoire nécessaire pour les signaux int '~i~ireS est incompressible; si on veut réduire la taille memoire globale, il semble donc qu' il ne soit possible que de 30uer sur la taille de la mémoire néces-saire à la matrice de covariance. Or, jusqu ~ à présent, les experts savaient que cette matrice était symétrique par rapport à la diagonale principale et que certains termes n~ étaient pas utiles, mais ils pensaient que ces derniers étaient disposés dans la matrice sans un ordre déterminé.
Une première idée pour fii~ninll~r l~espace mémoire né-cessaire pour la matrice de covariance reposait sur 1~ exploi-tation de la propriété de symétrie de cette matrice. Mais, 1~ expérience a montré que le stockage de la demi-matrice entraîne des calculs d ' adresse plus compliqués lors de la recherche de 1~ excitation ACELP, module déjà très complexe (50% du temps CPU typiquement) . Le gain en mémoire perdait alors tout intérêt ~ace à 1~ augmentation de la complexité .
Un but principal de la presente invention est de proposer un procédé de codage de type ACELP qui réduise notablement la taille de la mémoire nécessaire au codeur.
L ~ invention propose ainsi un procédé de codage de parole à prédiction linéaire et excitation par codes (CELP), WO 96/21221 ; , . ~lr ;~
; ~. ,. .;;.
.; 1 2~3~6 dans le~uel on numérise un signal de parole en trames 5UC-cessives de L échantillons, on C~t~m; nP de manière adapta-tive d'une part des paramètres de synthèse d~5finiqs~nt des filtres de synthèse, et d'autre part des paramètres d~excita-S tion incluant pour chaque trame des positions d ~ impulsionsd' un code d ' excitation de L échantillons appartenant à un répertoire algébrique prédéterminé et un gain d' excitation associé, et on transmet des valeurs de ~uantification repré-sentatives des paramètres ~t~r~i n~ . Le répertoire algé-10 brique est défini à partir d'au moins un groupe de Nensembles de positions d' impulsion possibles dans des codes d'au moins L échantillons, un code du répertoire étant représenté par N positions d' impulsion appar~enant respectivement aux N ensembles d~un groupe. La détermination 15 des paramètres d~excitation relatifs à une trame comporte Ia sélection d~un code du répertoire qui maximise la` quantité
Pk2/ak2 dans laquelle Pk= D.CkT désigne le produit scalaire entre le code ck du répertoire et un vecteur cible D
dépendant du signal de parole de la trame et des pàramètres 20 de synthèse, et ak2 désigne l ~ énergie sur la trame du code Ck filtré par un filtre composé des filtres de synthèse et d~un filtre de pondération perceptuelle. Le calcul des énergies ak2 comporte un calcul et une mémorisation de composantes d'une matrice de covariance U = ~T.H où ~ désigne 25 une matrice triangulaire inférieure de l~oeplitz à L lignes et L colonnes formée à partir de la réponse impulsionnelle h~0), h(l~,..., h(L-l) dudit filtre composé. Les composantes mémorisées de la matrice de covariance sont seulement, pour au moins un groupe de N ensembles, celles de la forme:

U(posi p, PSi p) = ~ [h (n-posi p) ]
n--poSi p avec O~p<N et celles de la forme:

WO96/21221 2182386 r~lr ~o o., L-l U(posi p~pos~ h(n-posi p))~l~~pOsj~q) n=max(posi p~posi~q) 5 avec 05p<q<N, P05i p et posj q désignant respectivement les posltions d~ ordre i et j dans les ensembles dudit groupe contenant des positions possibles pour les impulsions p et q des codes du répertoire.
De cette ~açon, on ne stocke que les termes effecti-10 vement utilisés lors de la recherche de 1 ` excitation ACELP,ce qui permet de réduire considérablement la mémoire néces-saire. Par exemple, dans le cas où le répertoire algébrique a la structure (1) définie ci-dessus avec un seul groupe de N ensembles, le nombre d ' éléments de la matrice U à stocker 15 est de L+L2(N-1)/2N au lieu de L2 dans le cas du codeur ACELP
antérieur, de sorte que la réduction d~espace memoire est de [L2 ~N+l) /2N] -L mots de mémoire vive, soit plusieurs kilo-octets pour les valeurs habituelles de L et N.
De préférence, les composantes mémorisées de la ma-2 0 trice de covariance sont structurées, pour un groupe, sousla forme de N vecteurs de corrélations et N(N-1)/2 matrices de corrélations. Chaque vecteur de corrélations Rp p est associé à un numéro d~ impulsion p dans les codes du répertoire (O~p<N), et est de dimension Lp~ égale au cardinal 25 de l'ensemble dudit groupe contenant des positions possibles pour 1 ' impulsion p, avec des composantes i ~Osi<Lp~ ) de la forme Rp p(i) = U(posi p,Psi p) . Chaque matrice de corrélations Rp q est associée à deux numéros d~ impulsion différents p,q dans les codes du répertoire (Osp<q<N), et a 30 Lp' liçJnes et T,ql colonnes avec des composantes de la forme Rp q(i, j)=u(posi p,Psj q) à la ligne i et à la colonne j (OsicLpl et OSj<Lq' ) . Ce mode de rangement des composantes de la matrice de covariance facilite leur accès lors de la recherche de 1 ' excitation ACELP, de façon à réduire ou au 35 moins ne pas accro~tre la complexite de ce module.
Le procédé selon 1 ' invention est applicable à divers WO96/2~221 . P~l/r :. l/
2182386 ~: :` O

types de codeæ algébriques, c ' est-à-dire quelle que soit la structure de9 ensembles de positions possibles' pour les différentes impulsions des codes du répertoire. La procédure de calcul des vecteurs de corrélations et des matrices de corrélations peut être rendue relativement simple et efficace lorsque, dans un groupe de N ensembles, les enSembles de pOsitions possibles pour une impulsion des codes du répertoire ont tous le même cardinal L' et que la position d ' ordre i dans l ~ ensemble des positions possi~les pour l' impulsion p (05i<L', OSp<N~ est donnée par:
Posi p= ~. ~iN+p)+E
et F étant deux entiers tels que ~>0 et L20.
D~autres particularités et avantages de la présente invention apparaîtront dans la description ci-aprbs d' exemples de réalisation préférés, mais non limïtatifs, en réf érence aux dessins annexés, dans lesquels - les figures 1 et 2 sont des schémas synoptiques d~un décQdeur et d'un codeur CELP ~tilisAnt un répertoire algébrique conf~ ' t à l ` invention i - les figures 3 et 4 sont des organigra~mes illustrant le calcul des vecteurs de corrélations e~ des matrices de corrélations dans un premier mode de r~R~ =ri~n de l ' invention;
- les figures 5A et 5B, qui se placent, l~une au-dessus de l ' autre, montrent un organigramme de la procédure de recherche de l ' excitation dans le premier mode . de r~Al i sAtion;
- les figures 6 à 8 sont des organigrammes illustrant le calcul des vecteurs de_corrélations et des matrices de corrélations dans un second mode de réalisation de l ~ invent ion; et - la f igure 9 est un organigramme illustrant une procédure sous-optimale de recherche de l ' excitation dans le second mode de réalisation.
Le processus de synthèse de parole mis en oeuvre dans un codeur et un décodeur CELP est illustré sur l~ figure l.

WO 96/21221 218 2 3 8 ~ P_ ~lr ~ :. . /

Un générateur d' excitation 10 délivre un code d~ excitation Ck appartenant à un répertoire prédéterminé en réponse à un index k. Un amplificateur 12 multiplie ce code d~ excitation par un gain d' excitation ~, et le signal résultant est soumis 5 à un filtre 14 de synthèse à long terme. Le signal de sortie u du filtre 14 est à son tour soumis à un filtre 16 de synthèse à court terme, dont la sortie s constitue ce qu ~ on considère ici comme le signal de parole synthétisé. Bien entendu, d ' autres f iltres peuvent é~alement être mis en oeuvre au niveau du décodeur, par exemple des post-filtres, comme il est ~ien connu dans le domaine du codage de la parole .
Les signaux précités sont des signaux numériques représentés par exemple par des mots de 16 ~its à une cadence d~ échantillonnage Fe égale par exemple à 8 kHz. Les filtres de synthèse 14, 16 sont en général des filtres purement récursifs. Le filtre 14 de synthèse à long terme a typiquement une fonction de transfert de la forme l/B~z) avec B ( z ) =1-Gz T. Le retard T et le gain G constituent des paramètres de prédiction à long terme (LTP) qui sont déterminés d' une manière adaptative par le codeur . Les par~mètres LPC du filtre 16 de synthèse à court terme sont déterminés au codeur par une prédiction linéaire du signal de parole. La fonction de transfert du filtre 16 est ainsi de la forme 1/A(z) avec A(z) =1-~
i--1 30 dans le cas d' une prédiction linéaire d~ ordre P (P~10 typiquement), ai représentant le i-ième coefficient de prédiction linéaire.
La figure 2 montre le schéma d'un codeur CELP. Le signal de parole s (n) est un signal numérique, par exemple 35 fourni par un convertisseur analogique-numérique 20 traitant le signal de sortie amplifié et filtré d~un microphone 22.

W0 96/21221 , l ~ l /r ' l /
~ 8.~ --Le signal 5 ~n) est numérisé en trames successives de A
échantillons elles-mêmes divisées en sous-trames, ou trames d ' excitation, de L échantillons (par exemple A=240, L=40 ) .
Les paramètres LPC, LTP et EXC ( index k et gain d~ excitation ~ sont obtenus au niveau du codeur par trois modules d~analyse respectifs 24, 26, 28. Ces paramètres sont ensuite quanti~iés de façon connue en vue d~une transmission numérique efficace, puis soumis à un multiplexeur ~30 qui ~orme le signal de sortie du codeur. Ces paramètres sont également ournis à un module 32 de calcul d~ états initiaux de certains filtres du codeur. Ce module 32 ~ comprend essentiellement une chaîne de décodage telle que celle représentée sur la figure l Le module 32 permet de connaître au niveau du codeur les étatS antérieurs ~es filtres de synthèse 14, 16 du décodeur, déterminés en fonction des paramètres de synthèse et d'excitation antérieurs à la sous-trame considérée.
Dans une première étape du processus de codage, le module 24 d' analyse à court terme détermine les paramètres LPC (coefficients ai du filtre de synthèse à court terme) en analysant les corrélations à court terme du signal de parole s (n) . Cette détermination est effectuée par exemple une ~ois par trame de A échantillons, de manière =à 5 ' adapter à
1 ' évolution du contenu spectral du signal de parole. Les méthodes d~ analyse LPC sont bien connues dans la technique, et ne seront donc pas détaillées ici . On pourra par ~exemple se reporter à 1 ' ouvrage ~Digital Processing o~ speech Signals~ de L.R. Rabiner et ~.w. Sha~er, Prentice-~all Int., 19 7 8 .
L~étape suivante du codage consiste en la détermina-tion des paramètres LTP de synthèse à long terme. Ceux-ci sont par exemple déterminés une fois par sous-trame de L
échantillons. Un soustracteur 34 soustrait du sisnal de parole s(n) la réponse à un signal d~entrée nul du filtre de synthèse à court terme 16. Cette réponse est déterl;inée par WO 96/21221 ~ - ~
21823gf~

un filtre 36 de fonction de transfert l/A~z) dont les coeffi-cients sont donnés par les paramètres LPC qui ont été déter-minés par le module 24, et dont les états initiaux s sont fournis par le module 32 de façon à L'L`' ' t,:.~L..dre aux p der-S niers échantillons du signal synthétique. 1e signal de sortie du soustracteur 3~ est soumis ~ un filtre 38 de pondération perceptuelle. La fonction de trans~ert W(z) de ce filtre de pondération perceptuelle est déterminée à partir des paramè-tres LPC . Une pQs C i h i 1 i té es t de prendre W ( z ) =A ( z ) /A ( z / y), où
7~ est un coefficient de l~ordre de 0,8. Le rôle du filtre de pondération perceptuelle 38 est d~ accentuer les portions du spectre où les erreurs sont les plus perceptibles.
L~analyse LTP en boucle fermée effectuée par le module 2~ consiste, de façon classique, à sélectionner pour cha~ue sous-trame le retard T ~ui maximise la corrélation n~Al; cée:
[L~x/(n) ~y (n)] / [~ [y~(n)] ]
n~O n=O
où x' (n) désigne le signal de sortie du filtre 38 pendant la sous-trame considérée, et yT(n) désigne le produit de convo-lution u(n-T)~h' (n~ . Dans l~expression ci-dessus, h' ~"), h ~ ( 1 ), . . ., h ' ( L -1 ) dés igne la répons e impul s ionnel le du f i 1~ re de synthèse pondéré, de fonction de transfert w~z) /A~z~ .
Cette réponse impulsionnelle h~ est obtenue par un module ~0 de calcul de réponses impulsionnelles, en fonction des para-mètres LPC qui ont été déterminés pour la sous-~rame. Les échantillons u (n-T) sont les états antérieurs du filtre 14 de synthèse à long terme, fournis par le module 3~. Pour les retards T inférieurs à la longueur d' une sous-trame, les illons manquants u(n-T) sont obtenus par interpolation sur la base des échantillons antérieurs, ou à partir du signal de parole. Les retards T, entiers ou fractionnaires, 3S sont sélectionnés dans une fenêtre déterminée, allant par WO96121221 ~1~2~ P~

exemple de 20 à 143 échantillons. Pour réduire la plage de recherche en boucle fermée, et donc pour réduire le nombre de convolutions yT(n) à calculer, on peut d'abord déterminer un retard Tl en boucle ouverte par exemple une ;fois par trame, puis sélectionner les retards en boucle fermée pour chaque sous-trame dans un intervalle réduit autour de Tl. La recherche en boucle ouverte consiste plus simplement à déter-miner le retard Tl qui maximise 1 ' autocorrélation du signal de parole s ~n) éventuellement filtré par le filtre inverse de fonction de transfert A(z) . Une fois que le retard T a été
déterminé, le gain G de prédiction à long terme est obtenu par:
G [ ~ x (n) .yT(n)] / [ ~ [yT(n) ] ]
n=0 n=0 Pour rechercher l ' excitation CELP relatlve à une sous-trame, le signal GyT(n), qui a été calculé par le module 26 pour le retard optimal T, est d ~ abord soustrait du signal x' (n) par le soustracteur 42 Le signal résultant' x(n) est soumis à un filtre à rebours 44 qui fournit un sit~nal D(n) donné par:
L-l ~(n) =~ x(i) .h (i-n) l=~
où h(0), h(l),..., h(L-l) désigne la réponse impul-sionnelle du ~iltre composé des filtres de synthèse et du filtre de ponderation perceptuelle, calculée par 'le module 40. En d'autres termes, le filtre composé a pour fonction de 3 0 trans~ert W ~ z ) / [A ~ z ) . B ( z ) ] . En notation matricielle, on a donc:
D = ~D(0), D~l), . . ., D~L-l) ) = x.H
avec x = (x(0), x(l), . . ., x(L-l) ) ~ W096121221 21 ~23~8=6b , . r~llrl~9 f ~, ~to) o . . . o `
h~l) h(O) et ~=
h(L-2) . h(O) O
~h(r.-l) h(T.-2) . . h(l) h(O), Le vecteur D constitue un vecteur-cible pour le module 28 de recherche de l ' excitation. Ce module 28 détermine un mot de code du répertoire qui maximise la corrélation normalisée Pk2/~k2 dans laquelle:
5 Pk = D.ckT
k = Ck. HT, H. ckT = Ck. U CkT
L~ indice k optimal ayant été déterminé, le gain d~ excitation ~ est pris égal à ~ = Pk/~k2 Le répertoire algébrique des codes d~excitation pos-lO sible est défini à partir d'au moins un groupe de N ensemblesEo~ El...., EN_l de positions possibles pour des impulsions d~ordre 0,1, . . . ,N-l et d'amplitude S0, S1, . - , SN 1 dans des codes d' au moins L échantillons . Un code du répertoire est représenté par N posltions d ' impulsions appartenant respecti -15 vement aux ensembles Eo, E1, . . ., EN_1 d ' un même groupe de Nensembles. Dans le cas général, les cardinaux L~ 0, L~,. . . ..
L ' N- 1 des ensembles Eo, El, . . ., EN l peuvent être égaux ou différents, et ces ensembles peuvent être disjoints ou non.
Dans le premier mode de réalisation ci-après, on 20 supposera qu' il y a un seul groupe dont les N ensembles Eo, E1, . . ., EN_1 ont tous le même cardinal L~, et que la position d~ ordre i dans l ~ ensemble Ep des positions possi~les pour l~impulsion p (Osi<L~ OSp<N) est donnée par:
Psi p = ~. ~iN+p~+ (2) 25 ~ et E étant deux entiers tels que oSE<~i.
Après avoir calculé et mémorisé certains termes de la matrice de covariance U, le module 28 procède à la recherche du code d'P~~it~t;-~n pour la sous-trame courante.

WO 96/21221 ~ t.~ 6 ~
2~82386 Les composantes mémorisées de la matrice de covariance sont d ' une part celles de la f orme L-l U(pogi~p~ Posi,p) ~ [h(n~Psi p)]
n--POSi p structurées sous la forme de N vecteurs de corr~lA~innq Rp p 10 (O~p<N) à L' composantes, et d'autre part celles de la forrrle:
L-l U(po8i p,pos~ h(n-posi )h~n-pos.,çl) n=~ c (pos . , pos, l,p ~, g ~ Rp ~(1,~) structurées sous la forme de N~N-l) /2 matrices de corrélations Rp q ( OSp<cr<N) à L ' lis~nes et L ~ colonnes .
Le calcul des N vecteurs de corrélations Rp p est effectué par le module 28 de la manière illustrée sur la fi~ure 3. Ce calcul comprend une boucle indexée par un entier i décroissant de L ' -l à 0 . A 1 ' initialisation 5G: de cette boucle, la variable entière k est prise égale à L-~L~N-~ ~on suppose ici 1-~L'N-~ ~ 0), et la variable d' ~cl~ tion cor est prise é~ale a 0 . Dans l ~ itération i de la boucle; les composantes Rp p~i~ sont calculées successivement pour p dénrni qq~nt de N-l à G. La variable p est d'abord prise égale à N-l ~étape 52). Les instructions ~or = cor+h~k!.h~k) et k=k+l ~étape 54) sont effectuees ~ fois isi L-~L'N-~ < 0, les termes h~k) avec k<0 sont pris égaux à Ol. Ensuite létape 56), la composante Rp pli) est prise é~ale à la: variable d~accumulation cor, et l'entier p est décrémenté d'une unité.
Le test 58 est alors effectué sur la variable entière p. Si 35 p20, on revient à 1 ' étape 54 pour ~ ex~cu~ions des WO96121221 2182386 ~ /r I r f instructions correspondantes. Si le test 58 montre que pc0, la variable entière i est décrémentée d~une unité (étape 60), puis comparée à 0 au test 62. Si i20, on revient avant l'étape 52 pour effectuer l~itération suivante dans la boucle. Le calcul des N vecteurs de corrélations est terminé
lorsque le test 62 montre que i<0.
Ce calcul des N vecteurs de corrélations nécessite de 1 ' ordre de ~L ' N additions, ~L ' N multiplications et L ' N
chargements en mémoire. On remarquera que 1 ' initialisation 50 du calcul pourrait être différente. Par exemple, l'entier k peut é~alement être initialisé à L-~L~N à l'étape 50, chaque itération dans les boucles indexées par p décroissant de N-1 à 0 étant alors constituée par ~i- exécutions de l~étape 54, suivies par l~étape 5~ suivie par e~cl~ nq de 1 ' étape 54 . Le calcul reste correct parce qu ' au total étapes 54 sont effectuées entre deux mémorisations successives de termes Rp p~i).
Le calcul des N~N-1~2 matrices de corrélations Rp q peut être effectué par le module 28 de la manière illustrée sur la figure 4 . Pour chaque valeur de 1~ entier t comprise entre 1 et N-1 et de 1 ' entier d~ comprise entre 0 et L ~
ce calcul comprend une boucle Bt d' ~ indexée par un entier décroissant de L' -l-a~ à O . A 1~ initialisation 70 du calcul, l'entier t est pris eyal à 1. L~entier d~ est ensuite pris égal à 0 à 1 ' étape 72 . L ' étape 74 correspond à
1~ initialisation de Ia boucle indexée par 1~ entier i.
L~ entier i est initialisé à L ' -1-d', 1 ' entier j à L~ -1, l~entier d à ~. (t+d'N), l~entier k à L-~L~N-, et la variable d~ accumulation cor à 0 . Dans 1~ itération i de la boucle Bt d~, les composantes Rp p+t (i, i+d~ ) sont calculées successivement pour p décroissant de N-1-t à 0 puis, si i>0, les composantes Rq q+N-t (i+d' ,i-l) sont calculées successi-vement pour q décroissant de t-l à 0 . L ~ itération i commence par 1 ' initialisation 76 des variables entières q et p à N-l et N-l-t, respectivement . On exécute alors ~ fois 1 ' étape 78 WO 96/21221 rf ,i~ i r~
218238~

consistant à ajouter le terme h~k~.h~k+d) à la variable d ' accumulation cor et à incrémenter la variable k d ' une unité. ~ l'étape 80, la composante Rp q(i,j) est prise égale à la variable d' accumulation cor et les entiers p et q sont S chacun décrémentés d'une unité. On effectue ensu~te le test 82 sur l~entier p. Si p20, on retourne avant l'étape 78 qui sera de nouveau exécutée ~ fois. Si le test 82 montre que p<0, on effectue le test 84 sur l~entier i. Si i>0, on passe à l ~ étape 86 où 1 ' entier p ' est initialise a N~ entier 10 q resta~t égal à t-l . L' étape 86 est suivie par ~ exécutions successives de l ' é~ape 88 consistant, comme 1 ' étape 78, à
ajouter h(k~.h(k+d3 à la variabLe d~ m~ tion cor et à
incrémenter la variable entière k d' une unité. Ensuite, la composante Rq p, ~j,i-l) est prise égale à la variable 15 d~ accumulation cor et les entiers p ~ et q sont chacun décrémentés d~une unité, à l'étape 90. On effectue ensuite le test 92 sur la valeur de 1 ' entier q. Si q20, on revient avant 1 ' étape 88 qui sera de nouveau exécutée ~ fois . Si le test 92 montre que q<0, les entiers i et j sont chacun 20 décrémentés d' une unité à 1 ' étape 94, puis on revient avant 1~ étape 76 pour l ' exécution de 1~ itération suivan~e dans la boucle Bt d~ Cette boucle est terminée lorsque le test 84 montre que iS0. L'entier d~ est alors incr~menté d~une unité
(étape 96), puis comparé au nombre L~ (test 98) . Si d'<L', 25 on revient avant 1 ' étape 74 pour effectuer une autre boucle Bt d~ indexée par l~entier i. Si le test 98 montre que d~=L', l~entier t est incrémenté d'une unité (étape ~00), puis comparé au nom.bre N (test 102). Si t<N on revient avant 1 ' écape 72 pour calculer les composantes des matrices Rp p+t 30 et Rq q+N-t pour la nouvelle valeur de t . Le calcuL des N (N-l) ~2 matrices de corrélations est terminé lorsque ~e test 10Z
montre que t=N.
Ce calcul des N(N-l) /2 matrices de corrélations nécessite seulement de l'ordre de ~L~2N(N-1)/2 additions, 35 ~L'2N(N-1)/2 multiplications et L'2N(N-1)~2 chargements en WO 96121221 2 1 8 2 3 ;8 6 r~lr ~

mémoire .
La recherche du code d'excitation peut être effectuée par le module 28 conformément à 1 ' organigra~mme représenté
sur les fi~ures SA et 5B. A l'étape 120, on calcule d'abord N-1 seuils partiels T(0~, . . . , T(N-2), et on initialise le seuil T(N-1) à une valeur négative, par exemple -l. Les seuils partiels T(0),...,T(N-2) sont positifs et calculés en fonction du vecteur d' entrée D et du ..,...~, ~ ' s visé entre llefficacité de la recherche de l~excitation et la simplicité
10 de cette recherche. Des valeurs élevées des seuils partiels tendent à ~9;minl1r~r la o,uantité de calculs nécessaires à la recherche de l ~ excitation, tandis que des valeurs faibles des seuils partiels conduisent à une recherche plus exhaustive dans le répertoire ACELP.
La recherche du code d~ excitation comprend N boucles Bo, B1, ..., BN_1 imbriquées les unes dans les autres. A
l~initialisation 1220 de la boucle Bo~ l'index io est pris é~al à 0 . L' itération d' index io dans la boucle Bo comprend une étape 12~o de calcul de deux termes P(0) et ~2 2 0 selon P(O) = So.D~ioN+) ~2 (0) = 50 ~o 0 (io~
On effectue ensuite la comparaison 1260 entre les quantités p2(o) et T(0).c~2(0). Si p2(o)<T(o) o:2(o)~ alors on 25 passe à l'étape 1300 d'incrémentation de l'index io puis au test 1320 ou l ' index io est comparé au nombre L~ . Lorsque io devient é~al à L', la recherche de l ~ excitation est terminée.
Sinon, on revient avant l'étape 1240 pour procéder à l~itéra-tion suivante dans la boucle Bo. Si la comparaison 1260 3 0 montre que p2 ( o ) 2T ( 0 ), c~2 ( O ), alors la boucle Bl est - exécutée. Les boucles Bq, pour 0~q<N-l se composent d~ instructions identiques - une initialisation 122q, où on prend iq=0;
- pour l ' itération d~ index iq, le calcul 124q des deux quantités P(q) et c~2 (q) selon:

WO 96/2l221 ~ 1 ~ 2 3 8 ~ /r ; o P(q~ = P(q-l~+Sq.D[~(iqN+q~+F]
2(q) = a2(q-1)+52.~ (1 )+2.5~, ~, Sp.~p q(~lpliq) - pour l'itération d'index iq, une comparaison 126q entre les quantités p2 (q~ et T(q~ ,a2 (q~ ;
- si la comparaison 126g montre gue p2 (q~ 2T(q~ . a2 (q~, 5 passage à la boucle Bq+1; ' - si la comparaison 126q montre gue p2 (q) <T(q~ ,a2 (q), incrémentation 130q de 1' index iq, puis comparaison 132q en~re 1 ' lndex iq et le nombre L ~ ;
- si la comparaison 132q montre que iq<LI, retour avant 1 ' étape 124q pour 1 ' itération suivante; et - si la comparaison 132q montre que iq=L', passage à l'étape 130q_1 d'incrémentation de l'index iq_1 de la boucle supérieure.
La boucle BN_1 se compose des mêmes instructions que 15 les boucles précédentes. Toutefois, si la comparaison 126N_1 montre que p2 (N-1) 2T(N-1) ,~2 (N-1), alors on exécute une étape 128 avant de passer à 1 ' étape 130N 1 d ' incrémentation de l'in~lex iN_l. Cette étape 128 consiste d~une pare à me~tre à jour le seuil T(N-l) selon: T(N-l) = P2(N-1)/a2(N-l~, et 20 d~ autre p~rt à mémoriser les paramètres relati~s au code qui vient d' être testé., Ces paramètres comprennent le gain d~excitation ~ pris égal à P(N-1)/a2(N-1), et les N index io . i1, . . ., iN_l permettant de trouver les positions des N
impulsions du code . Les N index io ~ il , . . ., iN 1 peuvent être 25 compilés en un index global k donné par:
.
N-l k = ~ i . (Ll)P
p=O P
30 cet index k étant codé sur N.log2(L') bits.

WO96/21221 l~ r s.a~, 218238~

On constate que le rangement des composanees en matrices de corrélations permet, au cours de la recherche en boucles ilrbriquées, d'adresser les, os~ntes n~c~qs~;res de la matrice U pour une boucle par une simple incrémentation 5 des pointeurs iq d ' une unité, au lieu d ~ avoir à faire des calculs d' adresses plus compliqués comme dans le cas du codeur ACELP antérieur.
Il est possible d~ assigner plusieurs valeurs pour 1 ' amplitude d' une ou plusieurs impulsions des codes du 10 répertoire. Dans ce cas, on attribue de préférence les derniers numéros d ' ordre aux impulsions en question . S ' il y a nq valeurs d ' amplitude possibles pour 1 ' impulsion q, on exécute alors nq fois la boucle Bq de 1~ organigramme des figures 5A et 5B avec à chaque fois une valeur différente de 1 ' amplitude Sq, et on mémorise en outre à 1 ' étape 128 le nombre de fois que la boucle Bq a été exécutée avant de rencontrer une valeur sup~rieure à p2 ~N~ 2 (N-l) . Ce nombre sera également transmis au décodeur qui pourra donc retrouver 1 ' amplitude Sq à appliquer à 1 ' impulsion c:ULL_~y.J"~n~e du code d'excitation.
En référence à la figure 1, le décodeur ACELP
comprend un démultiplexeur 8 recevant le flux binaire issu du codeur. Les valeurs quantifiées des paramètres d~ excitation EXC et des paramètres de synthèse LTP et LPC
sont fournies au générateur 10, à 1 ' amplificateur 12 et aux filtres 14, 16 pour reconstituer le signal synthétique s, qui peut par exemple être converti en analogique par le convertisseur 18 avant d ' être amplifié puis appliqué à un haut-parleur 19 pour restituer la parole originale.
Dans un second mode de réalisation de 1 ' invention, on considère un répertoire algébrique constitué à partir de M groupes de N ensembles (Eo(m),~1(m),...,~-1 (m)~ ~05m<M) de positions possibles pour les impulsions 0,1,...,N-1 des 35 codes . Les MN ensembles ont tous le même cardinal L ', et la position d' ordre i dans 1 ' ensemble ~p (m) du groupe m W0 96/21221 ~ P~-lr :.'~ .1 `' O
contenant des positions possibles pour l'impulsion p(O5i<L', OSpCN, OSm~M) est donnée par:
Psi p(m) ~ iN+p)+(m) (2m~
et E(0) (m-1) étant des entiers tels que 5 OS~0)<., ,~(M 1)<~, Un code du répertoire est alors caracté-risé par un index de groupe m et par N index de position i.
Une procédure de codage optimale comparabl'e à celle précédemment décrite conduit au calcul de M groupes de N
vecteurs de corr~1~tinnc Rp p(m) (OSm<M, OSp<N):
R p(m) ~i) = U(posi p(m), posi p(m) ), et de M groupes de N~N-1)~2 matrices de corrélations Rp q(m) (OSm<M, OSp<q<N) :
Rp q(m) li,j) = U(Psi p(m), posj c~(m)) Pour calculer les composantes des M groupes de vecteurs de corrélations, on peut procéder conformément à
1~ organigramme de la figure 3 avec les modifications suivantes:
- la variable entière k est i nt i ;~1 i qée à L-OL ~ N à
1~ initialisation 50 de la boucle de calcul ; et I
- les ~ exécutions de 1~ étape 54 et 1 ' étape 56 sont remplacées par la séquence représentée sur la figure 6:
l~étape 54 est d~aoord exécutée ~_E(M-1) fois lavant de prendre Rp p~ 1) (i)=cor à l'étape 55~-1; ensuite, pour m décroissant de M-2 à 0, on exécute Im+l)_ (m) fQis l~étape 25 54 puis on prend Rp p(m) (i)=cor à l'étape 55m i enfin on exécute encore ~0) fois l~étape 54 avant de décrémenter 1 ' entier p à 1 ' étape 57 .
Pour calculer les composantes des M groupes de matrice de corrélations, on peut procéder conformément à
30 1 ' organigramme de la figure: 4 avec les modifications suivantes:
- la variable entière k est initialisée à L-~L~ N à
1 ' initialisation 74 d~une boucle Bt d~ ;
- les ~ exécutions de 1 ' e~tape 78 et 1 ' étape 80 sont ~ wo~6nl221 2 1 8 2 3 8 6 ~t, ,~ /r .; 1~ /

remplacées par la séquence représeneée sur la figure 7:
l'étape 78 est d'abord exécutée ~_E~M 1) fois avant de prendre Rp q~M 1) ~i,j)=cor à l~étape ~9~ 1 i ensuite, pour m décroissant de M-2 à 0, on exécute E(m+1) - E(m~ fois l ~ étape 78 puis on prend Rp q~m) fi,j)=cor à l~étape 79m; enfin on exécute encore E(0) fois l~étape 78 avant de décrémenter les entiers p et q à l ' étape 81; et - les ~ exécutions de l ' étape 88 et l ~ étape 90 sont remplacées par la séquence représentée sur la figure 8:
l~étape 88 est d~abord exécutée ~E(M 1) fois avant de pren-dre Rq p, ~M 1) (j,i-l)=cor à l~étape 89M l; ensuite, pour m décroissant de M-2 à 0, on exécute E~m+l)-E~m~ fois l~étape 88 puis on prend Rq , ~m) rj,i-l)=cor à 1 'étape ~9m; enfin on exécute encore ~() fois l~étape 88 avant de décrémenter les entiers p ' et q à l ' étape 91.
Une fois que les vecteurs de corrélations et les matrices de corrélations ont été calculés, la recherche de l'excitation peut être simplement effectuée en exécutant une fois pour chacun des M groupes la recherche en boucles imbriquées représentée sur les figures 5A et 5~. Il suf~it alors de mémoriser à l ~ étape 128 le nombre de fois que la recherche en boucles imbriquées a été entièrement exécu~ée avant la recherche courante pour obtenir l ' index m du groupe permettant de reconstituer le code d' excitation sélectionné.
On comprend donc que le second mode de réalisation généralise le premier qui correspond au cas particulier M=l.
Le second mode de réalisation avec M>1 permet cepen-dant de mettre en oeuvre une procédure de recherche sous-optimale qui procure encore d~importants gains en espace mé-moire. Cette procédure consiste à ne mémoriser les vec~eurs de corrélations Rp p (m) et les matrices de corrélations Rp qfm) que pour 11 des index de groupe m ~ls~l<M) Le gain suppl.' t~ire en espace mémoire est alors d~un facteur llJM.
Cette procédure revient à subdiviser la matrice de cova-WO96121221 ~ /r ~'l6'~
2l~2386 riance U en sous-bloCs aVeC l'approximation U(i, j ) nU(i-l, j-l~
au sein de chaque sous-bloc. Si le nombre d~impulsions N est important, on aura intérêt à ne pas prendre une valeur trop faible du rapport ll/M afin de ne pas trop l~5gr~A~1~r la ~ualité
S du codage. Un ajustement des nombres ~1 et M permet de déter-miner un compromis entre la qualité du codage et l~` espace mémoire nécessaire.
Lorsque cette procédure sous-optimale est mise en oeuvre, on shunte les étapes 55m~ 7gm et 89m ~figures 6 à 8) lO relatives à ceux des index m pour lesquels on ne mémorise pas les vecteurs de corrélations Rp p (m) et les matrices de corrélations Rp q~m)~
Si, pour simplifier l ~ exposé sans en a~fQcter la généralité, on considère le cas ~M=2, ~ dans lequel on ne lS mémorise que les ~ ~osAntes des vecteurs Rp p (b) et des matrices Rp q(), la recherche de l~excitation peut être effectuée conformement à l~organigramme des figures 5A et 5B
en modifiant les boucles Bq~ OSq<N) de la manière indiquée sur la figure 9. A l ' étape 124q, les termes P(q) et aZ (q) sont 20 calculés comme dans le cas des figures SA et 5B relativement au groupe m=0 . Si le test 126q montre que pZ (q) /a2 (q) est supérieur au seuil T~q), on exécute les boucles inférieures en ~ Ant par Bq+l ou, si q=N-l, on effectue'la mise à
jour 128 du seuil et des paramètres d~ excitation qui 25 comprennent en outre l~ index m alors pris égal à 0'. ~n passe ensuite ~à l ' étape 125q, qui est exécutée directement si le test 126q montre que P2(q)<T(q).a2(q). A l'étape 125q, on calcule le terme P ~q) relativement au groupe m=l . Le terme correspondant a2 (q) n ' est pas recalculé étant donné que, 30 dans l'approximation utilisee, on le considère égal au terme a2 (q) précédemment calculé pour m=0. l.e test 127q consiste ensuite à comparer PZ (g) et T(q) ,2 (q), Si PZ (q) !a2 (q) est supérieur au seuil ~(q), on exécute les boucles inférieures en ~ ~An~ par Bq+l ou, si q=N-1, on effectue la mise à

WO 96121221 218 2 3 ~ 6 I ~l/r ~
~ . ". `' .. . ~,, jour 128 du seuil et des paramètres d' excita~ion, qui .nent 1 ' index m alors pris égal à 1. On passe ensuite à l~in~:L~' t-qtion 130q de l~entier iql qui est exécutée directement si le test 127q montre que P2~g)<T(q).~2~q).

T'. xomr) 1 e Dans ce premier exemple mettant en oeuvre le premier mode de réalisation décrit ci-dessus, on utilise des trames de 30 ms (soit A=240 érh~nt;ll--ns à 8kHz~, subdivisées en sous-trames de 5ms ~L=40). Le répertoire ACELP comprend des codes de N=4 impulsions ayane chacune 1 ' =11 positions possibles données par la relation (2) avec ~=1 et E=O. Si une impulsion occupe la dernière position, qui est supérieure ou égale à L=40, son amplitude est annulée par le décodeur.
Un code d' excitation correspond à un code tronqué du répertoire ~échantillons 0 à L-1=39 seulement), et peut donc contenir 0, 1, 2, 3 ou 4 impulsions. La répartition des impulsions dans une sous-trame est présentée dans le tableau I . L ~ allocation du débit binaire par trame est présentée dans le tableau II. 204 bits par trame correspondent à un débit binaire de 6, 8 kbit/s.
p sp Ep = (Psi p}
0 +1 0 4 8 12 16 20 24 28 32 36 (40) 25 1 -1 1 5 9 13 17 21 25 29 33 37 (41) 2 +1 2 6 10 14 18 22 26 30 34 38 (42) 3 ll 3 7 11 15 19 23 27 31 35 39 (43) TART AU

WO 96/21221 2 1 8 2 3 8 ~ ." ~

Paramètres Sous-trames Sous-trames Total par 1 ee 4 2, 3, 5 et 6 trame LPC , 30 Retard LTP ~T) 8 5 36 impulsions 14+1 14+1 90 5signe de ,B 1 1 6 gains G et ~ 7 7 42 Total 2 0 4 TAT~T.F~IJ II
De façon connue, les coefficients LPC sont convertis sous forme de paramètres de raies spectrales (LSP) s~uanti~iés vectoriellement. Les retards LTP, qui peuvent prendre 256 valeurs entières ou fractionnaires entre l9~S e~ 143 sont quantifiés sur 8 bits. Ces 8 bits sont transmis dans les 15 sous-trames 1 et 4 et, pour les autres sous-trames, une valeur différentielle est codée sur 5 bits seulement. Le répertoire contient JC=(L' )N=14641 mots de code. 14 bits sont donc nécessaires pour coder les positions, pl'us un bit donnant le signe de l ~ impulsion p=3 .
Dans cet exemple 1, la mise en oeuvre de l ~ invention permet de diviser par 2, 5 la taille de la mémoire ~requise au codeur pour stocker les compos~ntes de la matrice de cova-riance, tout en obtenant des signaux de sortie identiques à
ceux que permettait d' obtenir le codeur ACELP antérieur. La mémoire vive nécessaire pour stocker les données et variables utile au codeur et les composantes de la ma~rice de cova-riance est ainsi réduite de 2264+1936=4200 mots de 16 bits à 2264+770=3034 mots de 16 bits, ce qui permet un adressage sur 12 bits compatible avec les mémoires RAM statiques et les processeurs de traitement numérique (DSP) couran~s.

WO 96/21221 2 1 8 2 3 8 6 ~ r~.,r~ 6 1, .

EXf~mn 1 e 2 Dans ce second exemple mettant en oeuvre le premier mode de réalisation décrit ci-dessus, on utilise des trames de 30 ms (A=240) subdivisées en sous-trames de 6ms tL=48).
Le répertoire ACELP comprend des codes de N=3 impulsiong ayant chacune L'=16 positions possibles données par la rela-tion (2~ avec ~=1 et =0 . Comme ~L'N=L, les mots de codes ne sont pas tronqués pour obtenir l ' excitation qui comporte toujours N=3 impulsions.
Les paramètres LPC et LTP sont déterminés de façon semblable à l'exemple 1. Le répertoire contient K=(L~ ~N=4og6 mots de code. 12 bits sont donc nécessaires pour coder les positions. Le débit binaire est alors de 158 bits par trame, soit 5,3 kbit/s.
Dans cet exemple 2, la mise en oeuvre de l ~ invention permet de diviser par 2, 8 la mémoire requise au codeur pour stocker les composantes de la matrice de covariance tout en obtenant des signaux de sortie identiques (gain de 1488 mots de 16 bits permettant un adressage sur 12 bits dans la mémoire vive).
T~xemn l e 3 Dans ce troisième exemple mettant en oeuvre le second mode de réalisation avec la procédure de recherche sous-optl-male (11=1), on utilise des trames de ~30ms (A=240) subdivi-sées en sous-trames de ~, S ms (L=60 ) . Le répertoire ACELP est construit à partir de M=2 groupes de N=4 ensembles de posi-tions de cardinal L' =8 . Les positions sont données par les relations (2m) avec ~=2, (0)=o et (1)=l. Les mots de code 30 du répertoiré-ont une longueur ~L~N=64 supérieure à la lon-gueur L d ' une sous-trame . Ils doivent donc etre tronqués (échantillons 0 à L-1=59 seulement) pour obtenir une excita-tion contenant 2, 3 ou 4 impulsions. La répartition des im-pulsions dans une sous-trame est présentée dans le tableau 3 5 III pour le groupe m=~ et dans le tableau IV pour le groupe m=1 .

WO96121221 21 8238 ~ . c~

p Sp Ep () = fPosi p () }
0+1 0 8 16 24 32 40 48 56 +1 2 10 18 26 34 42 50 58 2+1 4 12 20 28 36 44 52 (60) 5 3+1 6 14 22 30 38 46 54 (62) T~ ~T F~U I I I
P p Fp (1) = {posi p (1) ~
0+1 1 9 17 25 33 41 49 57 10 1 +1 3 11 19 27 35 43 51 59 2+1 5 13 21 29 37 45 53 (61) 3+1 7 15 23 31 39 47 55 (63) O 1 2 3 4 5 ,6 7 T~T F~U IV
Le répertoire contient K=~. (L~ )N=8192 mots de code.
13 bits sont donc nécessaires pour coder les positions, plus
4 bits donnant les si~nes des impulsions. Les paramètres de synthèse étant codés comme dans le cas des exempLes 1 et 2, 20 le codeur produit 153 bits par trame, ce qui représente un débit de 5,1 kbit/s.
Dans cet exemple, la mise en oeuvre de L~ invention permet de diviser par 9, 8 la taille de la mémoire 'reguise au codeur pour stocker les composantes de la matrice de cova-25 riance, la réduction de mémoire vive requise étant de 3680mots de 16 bits (416 composantes utiles de la matrice U au lieu de (~L'N) 2=4096) . Le second mode de réalisation de l ~ invention, appliqué sans la procédure sous-optimale, nécessiterait de stocker 832 composantes de la =trice U.

Claims (7)

REVENDICATIONS
1. Procédé de codage de parole à prédiction linéaire et excitation par codes (CELP), dans lequel on numérise un signal de parole en trames successives de L échantillons, on détermine de manière adaptative d'une part des paramètres de synthèse définissant des filtres de synthèse, et d'autre part des paramètres d'excitation incluant pour chaque trame des positions d'impulsions d'un code d'excitation de L
échantillons appartenant à un répertoire algébrique prédéterminé et un gain d'excitation associé, et on transmet des valeurs de quantification représentatives des paramètres déterminés, dans lequel le répertoire algébrique est défini à partir d'au moins un groupe de N ensembles (E0, E1, ....
EN-1) de positions d'impulsion possibles dans des codes d'au moins L échantillons, un code du répertoire étant représenté
par N positions d' impulsion appartenant respectivement aux N ensembles de positions d' un groupe, et dans lequel la détermination des paramètres d'excitation relatifs à une trame comporte la sélection d'un code du répertoire qui maximise la quantité Pk2/.alpha. kdans laquelle Pk = D. ckT
désigne le produit scalaire entre le code ck du répertoire et un vecteur cible D dépendant du signal de parole de la trame et des paramètres de synthèse, et .alpha.k désigne l'énergie sur la trame du code ck filtré par un filtre composé des filtres de synthèse et d'un filtre de pondération perceptuelle, le calcul des énergies .alpha.k comportant un calcul et une mémorisation de composantes d'une matrice de covariance U = HT.H où H désigne une matrice triangulaire inférieure de Toeplitz à L lignes et L colonnes formée à
partir de la réponse impulsionnelle h(0), (h1),..., h(L-1) dudit filtre composé, caractérisé en ce que les composantes mémorisées de la matrice de covariance sont seulement, pour au moins un groupe de N ensembles, celles de la forme:

avec 0p<N et celles de la forme :
avec 0p<q<N, posi,p et posj,q désignant respectivement les positions d'ordre i et j dans les ensembles (Ep, Eq) dudit groupe contenant des positions possibles pour les impulsions p et q des codes du répertoire.
2. Procédé selon la revendication 1, caractérisé en ce que, pour un groupe de N ensembles, lesdites composantes mémorisées de la matrice de covariance sont structurées sous la forme de N vecteurs de corrélations et N(N-1)/2 matrices de corrélations, chaque vecteur de corrélations Rp,p étant associé à un numéro d'impulsion p dans les codes du répertoire (0 p < N) et étant de dimension Lp égale au cardinal de l'ensemble (Ep) dudit groupe qui contient des positions possibles pour l'impulsion p, avec des composantes i (0i<Lp') de la forme Rp, p(i) =U(posi,p'posi,p), et chaque matrice de corrélations Rp,q étant associée à deux numéros d'impulsion différents p,q dans les codes du répertoire (0p<q<N) et ayant Lp' lignes et Lq' colonnes, avec des composantes de la forme Rp,q(i,j) = U(posi,p'posj,q) à la ligne i et à la colonne j (0i<Lp' et 0j<Lq').
3. Procédé selon la revendication 2, caractérisé en ce que les ensembles (E0, E1, . . ., EN-1 ) dudit groupe qui contiennent des positions possibles pour une impulsion des codes du répertoire ont tous le même cardinal L', la position d'ordre i dans l'ensemble (Ep) des positions possibles pour l'impulsion p (0i<L', 0Sp<N) étant donnée par :
posi,p= .delta..(iN+p) + .epsilon., .delta. et .epsilon. étant deux entiers tels que .delta. > 0 et .epsilon. 0.
4. Procédé selon la revendication 2, caractérisé en ce que le répertoire algébrique est défini à partir de M
groupes de N ensembles de L' positions possibles pour une impulsion d'un code du répertoire, avec M>1, la position d'ordre i dans l'ensemble (Ep(m)) du groupe m contenant des positions possibles pour l'impulsion p (Oi<L', Om<M, Op<N) étant donnée par:
posi,p(m)=.delta..(iN+p)+.epsilon.(m) .delta.,.epsilon.(0)......epsilon.(M-1) étant des entiers tels que 0 .epsilon.(0)<...
<.epsilon.(M-1)<.delta..
5. Procédé selon la revendication 4, caractérisé en ce que les vecteurs de corrélations (Rp,p(m)) et les matrices de corrélations (Rp,q(m)) sont mémorisés seulement pour µ des groupes, µ étant un entier tel que 1µ<M.
6. Procédé selon la revendication 3, 4 ou 5, carac-térisé en ce que le calcul des N vecteurs de corrélations relatifs à un groupe comprend une initialisation d'une variable entière k et d'une variable d'accumulation cor, et une boucle indexée par un entier i décroissant de L'-1 à 0, l'itération i dans ladite boucle comprenant les calculs successifs des composantes Rp,p(i) desdits vecteurs pour p décroissant de N-1 à 0, une composante Rp,p(i) étant prise égale à la variable d'accumulation cor après .delta.
incrémentations de la variable entière k et .delta. additions correspondantes des termes h(k).h(k) à la variable d'accumulation cor.
7. Procédé selon la revendication 3, 4 ou 5, caractérisé en ce que le calcul des N(N-1)/2 matrices de corrélations relatives à un groupe comprend, pour tout entier t dans l'intervalle [1, N-1] et tout entier d' dans l'intervalle [0,L'-1], une initialisation d'une variable entière k et d'une variable d'accumulation cor, et une boucle (Bt,d') indexée par un entier i décroissant de L'-1-d' à 0, l'itération i dans ladite boucle comprenant les calculs successifs des composantes Rp,p+t(i,i+d') desdites matrices pour p décroissant de N-1-t à 0 puis, si i > O, les calculs successifs des composantes Rq,q+N-t(i+d', i-1) desdites matrices pour q décroissant de t-1 à 0, une composante Rp,p+t(i,i+d') ou Rq,q+N-t(i+d',i-1) étant prise égale à la variable d'accumulation cor après .delta. incrémentations de la variable entière k et .delta. additions correspondantes des termes h(k).h(k+d) à la variable d'accumulation cor, avec d = .delta..(t+d'N) .
CA002182386A 1995-01-06 1996-01-04 Procede de codage de parole a prediction lineaire et excitation par codes algebriques Expired - Lifetime CA2182386C (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR9500133A FR2729245B1 (fr) 1995-01-06 1995-01-06 Procede de codage de parole a prediction lineaire et excitation par codes algebriques
FR95/00133 1995-01-06
PCT/FR1996/000017 WO1996021221A1 (fr) 1995-01-06 1996-01-04 Procede de codage de parole a prediction lineaire et excitation par codes algebriques

Publications (2)

Publication Number Publication Date
CA2182386A1 CA2182386A1 (fr) 1996-07-11
CA2182386C true CA2182386C (fr) 2003-09-09

Family

ID=9474930

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002182386A Expired - Lifetime CA2182386C (fr) 1995-01-06 1996-01-04 Procede de codage de parole a prediction lineaire et excitation par codes algebriques

Country Status (8)

Country Link
US (1) US5717825A (fr)
EP (1) EP0749626B1 (fr)
JP (1) JP3481251B2 (fr)
KR (1) KR100389693B1 (fr)
CA (1) CA2182386C (fr)
DE (1) DE69604729T2 (fr)
FR (1) FR2729245B1 (fr)
WO (1) WO1996021221A1 (fr)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2729247A1 (fr) * 1995-01-06 1996-07-12 Matra Communication Procede de codage de parole a analyse par synthese
FR2729246A1 (fr) * 1995-01-06 1996-07-12 Matra Communication Procede de codage de parole a analyse par synthese
US5646867A (en) * 1995-07-24 1997-07-08 Motorola Inc. Method and system for improved motion compensation
JP3094908B2 (ja) * 1996-04-17 2000-10-03 日本電気株式会社 音声符号化装置
JP3707154B2 (ja) * 1996-09-24 2005-10-19 ソニー株式会社 音声符号化方法及び装置
DE19641619C1 (de) * 1996-10-09 1997-06-26 Nokia Mobile Phones Ltd Verfahren zur Synthese eines Rahmens eines Sprachsignals
US5970444A (en) * 1997-03-13 1999-10-19 Nippon Telegraph And Telephone Corporation Speech coding method
US5924062A (en) * 1997-07-01 1999-07-13 Nokia Mobile Phones ACLEP codec with modified autocorrelation matrix storage and search
CA2254620A1 (fr) * 1998-01-13 1999-07-13 Lucent Technologies Inc. Vocodeur avec codage du vecteur d'excitation tolerant aux pannes
US6266412B1 (en) * 1998-06-15 2001-07-24 Lucent Technologies Inc. Encrypting speech coder
US6714907B2 (en) 1998-08-24 2004-03-30 Mindspeed Technologies, Inc. Codebook structure and search for speech coding
US6556966B1 (en) 1998-08-24 2003-04-29 Conexant Systems, Inc. Codebook structure for changeable pulse multimode speech coding
SE521225C2 (sv) * 1998-09-16 2003-10-14 Ericsson Telefon Ab L M Förfarande och anordning för CELP-kodning/avkodning
JP4005359B2 (ja) * 1999-09-14 2007-11-07 富士通株式会社 音声符号化及び音声復号化装置
EP1221162B1 (fr) 1999-09-30 2005-06-29 STMicroelectronics Asia Pacific Pte Ltd. Codeur audio g.723.1
JP3449339B2 (ja) * 2000-06-08 2003-09-22 日本電気株式会社 復号化装置および復号化方法
US7363219B2 (en) * 2000-09-22 2008-04-22 Texas Instruments Incorporated Hybrid speech coding and system
JP3449348B2 (ja) * 2000-09-29 2003-09-22 日本電気株式会社 相関行列学習方法および装置ならびに記憶媒体
JP3536921B2 (ja) * 2001-04-18 2004-06-14 日本電気株式会社 相関行列学習方法、装置及びプログラム
DE10140507A1 (de) * 2001-08-17 2003-02-27 Philips Corp Intellectual Pty Verfahren für die algebraische Codebook-Suche eines Sprachsignalkodierers
US7383283B2 (en) * 2001-10-16 2008-06-03 Joseph Carrabis Programable method and apparatus for real-time adaptation of presentations to individuals
US8195597B2 (en) * 2002-02-07 2012-06-05 Joseph Carrabis System and method for obtaining subtextual information regarding an interaction between an individual and a programmable device
US8655804B2 (en) 2002-02-07 2014-02-18 Next Stage Evolution, Llc System and method for determining a characteristic of an individual
JP4290917B2 (ja) * 2002-02-08 2009-07-08 株式会社エヌ・ティ・ティ・ドコモ 復号装置、符号化装置、復号方法、及び、符号化方法
US7003461B2 (en) * 2002-07-09 2006-02-21 Renesas Technology Corporation Method and apparatus for an adaptive codebook search in a speech processing system
EP1383109A1 (fr) * 2002-07-17 2004-01-21 STMicroelectronics N.V. Procédé et dispositif d'encodage de la parole à bande élargie
US7249014B2 (en) 2003-03-13 2007-07-24 Intel Corporation Apparatus, methods and articles incorporating a fast algebraic codebook search technique
GB0307752D0 (en) * 2003-04-03 2003-05-07 Seiko Epson Corp Apparatus for algebraic codebook search
FI118835B (fi) * 2004-02-23 2008-03-31 Nokia Corp Koodausmallin valinta
KR100668299B1 (ko) * 2004-05-12 2007-01-12 삼성전자주식회사 구간별 선형양자화를 이용한 디지털 신호 부호화/복호화방법 및 장치
SG123639A1 (en) 2004-12-31 2006-07-26 St Microelectronics Asia A system and method for supporting dual speech codecs
JP3981399B1 (ja) * 2006-03-10 2007-09-26 松下電器産業株式会社 固定符号帳探索装置および固定符号帳探索方法
KR101542069B1 (ko) * 2006-05-25 2015-08-06 삼성전자주식회사 고정 코드북 검색 방법 및 장치와 그를 이용한 음성 신호의부호화/복호화 방법 및 장치
EP2165328B1 (fr) 2007-06-11 2018-01-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codeur et décodeur d'un signal audio ayant une partie de type impulsion et une partie stationnaire
JP5264913B2 (ja) * 2007-09-11 2013-08-14 ヴォイスエイジ・コーポレーション 話声およびオーディオの符号化における、代数符号帳の高速検索のための方法および装置
ATE518224T1 (de) 2008-01-04 2011-08-15 Dolby Int Ab Audiokodierer und -dekodierer
CN101615394B (zh) 2008-12-31 2011-02-16 华为技术有限公司 分配子帧的方法和装置
US9324331B2 (en) * 2011-01-14 2016-04-26 Panasonic Intellectual Property Corporation Of America Coding device, communication processing device, and coding method
CN102623012B (zh) * 2011-01-26 2014-08-20 华为技术有限公司 矢量联合编解码方法及编解码器
TR201818834T4 (tr) * 2012-10-05 2019-01-21 Fraunhofer Ges Forschung Otokorelasyon alanında acelp kullanan bir konuşma sinyalinin şifrelenmesine ilişkin bir ekipman.
EP2919232A1 (fr) * 2014-03-14 2015-09-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Codeur, décodeur et procédé de codage et de décodage

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA1229681A (fr) * 1984-03-06 1987-11-24 Kazunori Ozawa Methode et appareil de codage de signaux dans la bande de frequences vocales
CA1255802A (fr) * 1984-07-05 1989-06-13 Kazunori Ozawa Codage et decodage de signaux a faible debit binaire utilisant un nombre restreint d'impulsions d'excitation
US4868867A (en) * 1987-04-06 1989-09-19 Voicecraft Inc. Vector excitation speech or audio coder for transmission or storage
US4899385A (en) * 1987-06-26 1990-02-06 American Telephone And Telegraph Company Code excited linear predictive vocoder
US4910781A (en) * 1987-06-26 1990-03-20 At&T Bell Laboratories Code excited linear predictive vocoder using virtual searching
CA2005115C (fr) * 1989-01-17 1997-04-22 Juin-Hwey Chen Codeur predictif lineaire excite par code a temps de retard bref pour les signaux vocaux ou audio
WO1990013112A1 (fr) * 1989-04-25 1990-11-01 Kabushiki Kaisha Toshiba Codeur vocal
CA2027705C (fr) * 1989-10-17 1994-02-15 Masami Akamine Systeme de codage de paroles utilisant un procede de calcul recursif afin d'ameliorer la vitesse de traitement
CA2010830C (fr) * 1990-02-23 1996-06-25 Jean-Pierre Adoul Regles de codage dynamique permettant un codage efficace des paroles au moyen de codes algebriques
US5195137A (en) * 1991-01-28 1993-03-16 At&T Bell Laboratories Method of and apparatus for generating auxiliary information for expediting sparse codebook search
US5495555A (en) * 1992-06-01 1996-02-27 Hughes Aircraft Company High quality low bit rate celp-based speech codec
FR2700632B1 (fr) * 1993-01-21 1995-03-24 France Telecom Système de codage-décodage prédictif d'un signal numérique de parole par transformée adaptative à codes imbriqués.

Also Published As

Publication number Publication date
FR2729245B1 (fr) 1997-04-11
JPH10502191A (ja) 1998-02-24
FR2729245A1 (fr) 1996-07-12
DE69604729D1 (de) 1999-11-25
KR970701901A (ko) 1997-04-12
DE69604729T2 (de) 2002-07-25
CA2182386A1 (fr) 1996-07-11
JP3481251B2 (ja) 2003-12-22
KR100389693B1 (ko) 2003-12-01
EP0749626B1 (fr) 1999-10-20
EP0749626A1 (fr) 1996-12-27
US5717825A (en) 1998-02-10
WO1996021221A1 (fr) 1996-07-11

Similar Documents

Publication Publication Date Title
CA2182386C (fr) Procede de codage de parole a prediction lineaire et excitation par codes algebriques
EP0608174B1 (fr) Systeme de codage-décodage prédictif d&#39;un signal numérique de parole par transformée adaptative à codes imbriqués
KR930010399B1 (ko) 특정 여기 코드 워드 선택 방법
FR2517452A1 (fr) Circuit de traitement numerique de la parole
EP1692689B1 (fr) Procede de codage multiple optimise
EP0801790B1 (fr) Procede de codage de parole a analyse par synthese
FR2731548A1 (fr) Recherche profondeur d&#39;abord dans un repertoire algebrique pour un encodage rapide de la paroie
FR2742568A1 (fr) Procede d&#39;analyse par prediction lineaire d&#39;un signal audiofrequence, et procedes de codage et de decodage d&#39;un signal audiofrequence en comportant application
EP0801789B1 (fr) Procede de codage de parole a analyse par synthese
EP0801788A1 (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
EP0195441B1 (fr) Procédé de codage à faible débit de la parole à signal multi-impulsionnel d&#39;excitation
FR2981781A1 (fr) Codage hierarchique perfectionne
FR2867648A1 (fr) Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques
JPH1063297A (ja) 音声符号化方法および装置
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.
WO2006075078A1 (fr) Procede et dispositif de codage optimise entre deux modeles de prediction a long terme
EP0796490B1 (fr) Methode et dispositif de prediction de signal pour un codeur de parole
EP0347307B1 (fr) Procédé de codage et codeur de parole à prédiction linéaire
WO2011144863A1 (fr) Codage avec mise en forme du bruit dans un codeur hierarchique
JP2000235399A (ja) 音声信号符号化方法、復号化方法
WO2002029786A1 (fr) Procede et dispositif de codage segmental d&#39;un signal audio
FR2709387A1 (fr) Système de communication radio.

Legal Events

Date Code Title Description
EEER Examination request
MKEX Expiry

Effective date: 20160104