codage prédictif du signal de parole à débit réduit: une présentation unifiée

17
pp. 223-239 223 Codage Nicolas MOREAU* pr6dictif du signal de parole & d6bit r6duit une pr6sentation unifi6e R~sum6 Plusieurs codeurs de parole d d~bit rdduit sont en cours de d~finition ou de normalisation actuellement. Ils sont bas~s sur le m~me principe d'analyse par synthdse : on rdalise une moddlisation paramdtrique du signal sous la formed' un signal d' excitation, gdndrale- ment issu d'un dictionnaire, passant au travers d'un ou plusieurs filtres. Le but de cet article est de prdsenter les diffdrentes mdthodes proposdes dans la littdrature ces dernidres anndes sous un formalisme unique et de chiffrer, approximativement, le cola des diffdrents algo- rithmes. On expose, d'abord, le principe de ces codeurs. On montre ensuite, qu'une description gdn~ralisde de l'excitation couvre plusieurs mdthodes classiques de co- dage. On about# ainsi d l'algorithme it~ratif standard sous sa forme la plus gdndrale. On cherche, enfin, d dvaluer la complexitd du traitement en terme essentiel- lement, de nombre de multiplications~accumulations par seconde et d analyser les diffdrentes simplifications pos- sibles. A titre de conclusion, on prdsente les choix rda- lisds pour les codeurs en cours de normalisation. Mots cl6s : Codage parole, Codage pr6dictif, Compression bande passante, Mod61isation, Etude comparative, Complexit6 algorithme, Codec. speech coders is described. It is shown that a genera- lized description of the excitation covers different clas- sical coding techniques and results in a most general iterative standard algorithm. The complexity of this al- gorithm is evaluated in terms of the number of multipli- cations~accumulations per second and different possible simplifications are analyzed. This article concludes with a presentation of the coders that are actually submitted for normalization. Key words : Speech coding, Predictive coding, Passband com- pression, Modeling, Comparative study, Algorithm complexity, Codec. Sommaire I. Introduction. II. Principe des codeurs CELP. III. Ddtermination du filtre et moddlisation de l'exci- tation dans un codeur CELP. IV. Evaluation et rdduction de la complexitd d'un codeur CELP V. Conclusion : quelques codeurs CELP rdcents Bibliographie (59 r~f ) Predictive speech coding at low bit rates : a unified approach Abstract At this moment different speech coders at low bit- rates are being defined and normalized. These speech coders are all based on an analysis by synthesis pro- cedure. Different methods have been proposed in recent litterature to construct the excitation signal. The goal of this article is to present in a unified formalism these different algorithms and to estimate their costs in terms of complexity. In a first step the basic principle of these I. INTRODUCTION R6duire le d6bit d'information, lorsque l'on transmet ou lorsque l'on m6morise du signal de parole, pr6sente un grand int6r~t ~ la condition que le signal ne soit pas d6grad6 par cette op6ration et que le coot du traitement reste raisonnable [Jayant 86] [Jayant 90]. Par exemple, pour un signal de parole dans la bande t616phonique (3,3 kHz) 6chantillonn6 h 8 kHz, il existe, depuis 1972, une norme internationale (G.711) pr6cisant un codage 5 modulation par impulsions et codage (MIC) 64 kbit/s : l'amplitude des 6chantillons est simple- ment quantifi6e sur 8 bits apr~s une compression de type * Telecom Paris - D6partement Signal, 46, rue Barrault F-75634 Paris Cedex 13 1/17 ANN. TI~LI~COMMUN., 46, n ~ 3-4, 1991

Upload: nicolas-moreau

Post on 25-Aug-2016

222 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Codage prédictif du signal de parole à débit réduit: une présentation unifiée

pp. 223-239 223

Codage

Nicolas MOREAU*

pr6dictif du signal de parole & d6bit r6duit �9 une pr6sentation unifi6e

R~sum6

Plusieurs codeurs de parole d d~bit rdduit sont en cours de d~finition ou de normalisation actuellement. Ils sont bas~s sur le m~me principe d'analyse par synthdse : on rdalise une moddlisation paramdtrique du signal sous la formed' un signal d' excitation, gdndrale- ment issu d'un dictionnaire, passant au travers d'un ou plusieurs filtres. Le but de cet article est de prdsenter les diffdrentes mdthodes proposdes dans la littdrature ces dernidres anndes sous un formalisme unique et de chiffrer, approximativement, le cola des diffdrents algo- rithmes. On expose, d'abord, le principe de ces codeurs. On montre ensuite, qu'une description gdn~ralisde de l'excitation couvre plusieurs mdthodes classiques de co- dage. On about# ainsi d l'algorithme it~ratif standard sous sa forme la plus gdndrale. On cherche, enfin, d dvaluer la complexitd du traitement en terme essentiel- lement, de nombre de multiplications~accumulations par seconde et d analyser les diffdrentes simplifications pos- sibles. A titre de conclusion, on prdsente les choix rda- lisds pour les codeurs en cours de normalisation.

Mots cl6s : Codage parole, Codage pr6dictif, Compression bande passante, Mod61isation, Etude comparative, Complexit6 algorithme, Codec.

speech coders is described. It is shown that a genera- lized description of the excitation covers different clas- sical coding techniques and results in a most general iterative standard algorithm. The complexity of this al- gorithm is evaluated in terms of the number of multipli- cations~accumulations per second and different possible simplifications are analyzed. This article concludes with a presentation of the coders that are actually submitted for normalization.

Key words : Speech coding, Predictive coding, Passband com- pression, Modeling, Comparative study, Algorithm complexity, Codec.

Sommaire

I. Introduction. II. Principe des codeurs CELP.

III. Ddtermination du filtre et moddlisation de l'exci- tation dans un codeur CELP.

IV. Evaluation et rdduction de la complexitd d'un codeur CELP

V. Conclusion : quelques codeurs CELP rdcents Bibliographie (59 r~f )

Predictive speech coding at low bit rates : a unified approach

Abstract

At this moment different speech coders at low bit- rates are being defined and normalized. These speech coders are all based on an analysis by synthesis pro- cedure. Different methods have been proposed in recent litterature to construct the excitation signal. The goal of this article is to present in a unified formalism these different algorithms and to estimate their costs in terms of complexity. In a first step the basic principle of these

I. INTRODUCTION

R6duire le d6bit d'information, lorsque l'on transmet ou lorsque l'on m6morise du signal de parole, pr6sente un grand int6r~t ~ la condition que le signal ne soit pas d6grad6 par cette op6ration et que le coot du traitement reste raisonnable [Jayant 86] [Jayant 90].

Par exemple, pour un signal de parole dans la bande t616phonique (3,3 kHz) 6chantillonn6 h 8 kHz, il existe, depuis 1972, une norme internationale (G.711) pr6cisant un codage 5 modulation par impulsions et codage (MIC)

64 kbit/s : l'amplitude des 6chantillons est simple- ment quantifi6e sur 8 bits apr~s une compression de type

* Telecom Paris - D6partement Signal, 46, rue Barrault F-75634 Paris Cedex 13

1/17 ANN. TI~LI~COMMUN., 46, n ~ 3-4, 1991

Page 2: Codage prédictif du signal de parole à débit réduit: une présentation unifiée

224 N MOREAU - CODAGE PRI~DICTIF DU SIGNAL DE PAROLE ,~ Dt~BIT RI~DUIT

non lin6aire. Cette norme a 6t6 recommand6e par le Co- mit6 consultatif international t616graphique et t616pho- nique (CCITT) pour le r6seau t616phonique public. Plus r6cemment, depuis 1984, une seconde norme interna- tionale (G.721) d6finit un codage MIC diff6rentiel adap- tatif (MICDA) ~ 32 kbit/s : on ne code plus directement l'amplitude de l'impulsion mais la diff6rence entre l'am- plitude et une valeur pr6dite d6termin6e par un filtrage adaptatif. Un codeur ~ 16 kbit/s est en cours de norma- lisation par le CCITT [Chen 90].

Les radiocommunications avec les mobiles sont en plein d6veloppement actuellement. Etant donn6 la nature du canal de transmission, une liaison radio, il est n6ces- saire d'6conomiser au maximum la largeur de bande du signal transmis. Depuis 1989, il existe une norme eu- rop6enne ~ 13 kbit/s (plus 9,8 kbit/s r6serv6s ~ la pro- tection) dite GSM (groupe sp6cial mobiles) [Vary 88]. Plusieurs 6tudes sont en cours pour d6finir une norme ~t d6bit moiti6. Une norme nord-am6ricaine h 8 kbit/s est en cours de d6finition [Gerson 90].

Dans d'autres applications, par exemple pour des communications s6curis6es entre organismes intergou- vernementaux, pour des applications militaires (norme OTAN), pour des communications avec des mobiles par satelli te (MSAT et Inmarsat), on r6clame un d6bit encore plus faible au prix d'une d6gradation plus importante du signal. Un codeur a 4,8 kbit/s (sans tenir compte des bits pour les codes correcteurs, pour la signalisation ...) com- mun ~ ces diff6rentes application est a l'6tude [Campbell 89]. Ce codeur doit remplacer le standard gouvernemen- tal am6ricain peu performant LCPI0 ~ 2,4 kbit/s [Tre- main 82].

On peut chercher, 6galement, a r6duire le d6bit pour du signal de parole ~ bande 61argie (7 kHz) 6chantil- lonn6 ~ 16 kHz. La norme G.722 correspond a un d6bit de 64 kbit/s : il s'agit de 2 codages MICDA distincts pour 2 sous-bandes. Diff6rentes variantes existent ~t 56 et 48 kbit/s. Un traitement du signal (non plus de parole mais musical) dans la bande HiFi (20 kHz) 6chantil- lonn6 ~t 44,1 kHz est envisageable. Le d6bit associ6 une voie enregistr6e sur un disque compact est d'envi- ron 700 kbit/s (sans code correcteur d'erreurs) puisque l'amplitude est quantifi6e sur 16 bits. De nombreuses applications appara~traient s'il 6tait possible de r6duire ce d6bit ~t 64 kbit/s sans d6gradation significative et en temps r6el sur un processeur ~ cofit r6duit.

Plusieurs codeurs de parole h d6bit r6duit sont donc en cours de d6finition ou de normalisation actuellement. Le futur codeur ~ 16 kbit/s pour le r6seau t616phonique public, les diff6rents codeurs pour communiquer avec les mobiles ~ des d6bits compris entre 6 et 8 kbit/s, le futur standard gouvememental am6ricain ~ 4,8 kbit/s sont bas6s sur le m~me principe d'analyse par synth~se : on r6alise une mod61isation param6trique du signal sous la forme d'un signal d'excitation, g6n6ralement issu d'un dictionnaire, passant au travers d'un ou plusieurs filtres. On parle de codeurs CELP (code excited linear prediction).

L'objectif de cet article est de pr6senter les diff6rentes m6thodes propos6es dans la litt6rature ces derni~res ann6es pour ces codeurs CELP sous un formalisme unique et de chiffrer, approximativement, le cofit des diff6rents algorithmes. On expose, d'abord, le principe de ces codeurs CELP. On montre, ensuite qu'une description g6n6ralis6e de l'excitation couvre plusieurs m6thodes classiques de codage. On aboutit ainsi ~ l'algorithme it6ratif standard sous sa forme la plus g6n6rale. Cette pr6sentation est fond6e sur des projections dans des sous- espaces, probl~me tr~s classique en traitement du signal. La minimisation au sens des moindres carr6s qui en r6sulte a, toutefois, un caract~re sp6cifique que l'on met en 6vidence. On cherche, enfin, ~ 6valuer la complexit6 du traitement en terme, essentiellement, de hombres de multiplications/accumulations par seconde et ~ analyser les diff6rentes simplifications possibles. On se trouve aiors confront6 au probl~me g6n6ral de l'ad6quation d'un algorithme et d'une architecture. A titre de conclusion, on pr6sente les choix r6alis6s pour les codeurs pr6c6dents en cours de normalisation.

II. PRINCIPE DES CODEURS CELP

Le trac6 de la figure 1 montre le signal de parole prononc6 par un locuteur f6minin.

i i q

q i i

i i

I I

i i i i i

i i i i

I I

v ' v v " v ! v ' , v , , . , ..r..

1 1 i i i i i

i ', I

FIG. 1. - D6but d'une phrase (<<Des gens ...>>) prononcee par un locuteur f&ninin.

Beginning of the sentence ("Des gens ...") utterred by a female speaker.

Ce signal n'est pas stationnaire. Ses propri6t6s sta- tistiques varient au cours du temps. Une approximation raisonnable consiste 5 le considErer comme localement stationnaire sur des intervalles de temps de l'ordre de 10 ~t 20 ms, le trac6 pr6c6dent repr6sentant 0,6 s de signal.

ANN. TI~LI~COMMUN., 46, n ~ 3-4, 1991 2/17

Page 3: Codage prédictif du signal de parole à débit réduit: une présentation unifiée

N. MOREAU - CODAGE PRI~D1CT1F DU SIGNAL DE PAROLE A Dt~BIT RI~DUIT 225

On est donc amenE ~ introduire des fenEtres d 'analyse de 80 ~ 160 Echantillons si l 'on choisit une frEquence d'Echantillonnage Egale ~ 8 kHz. On dispose alors de N Echantillons S o . . . SN-1 et on cherche ~ les utiliser au mieux globalement. Lorsque l 'on code de la parole par des techniques de modElisation de type global, les caractEristiques du module sont dEterminEes et codEes

l'Emetteur, transmises dans le canal de transmission, dEcodEes au rEcepteur tous les N Echantillons. Ces ca- ractEristiques reprEsentent des valeurs moyennes sur cet intervalle de temps. Le traitement rgalisE sur une fen~tre est rEpEtE indEfiniment.

Le principe de la modElisation est donne figure 2.

SO ' ' ' ~N-1

~ ~ EO " . . EN_ 1 ~ l rn in~ ' 2 ~I /7 En

FIG. 2. - Principe d 'une mod6lisation param6trique.

Principle of parametrical modelling.

On cherche ~ construire un signal synthEtique s '0. . . S'N-1 le plus ressemblant possible au signal de depart s o . . . s u - 1 sur l 'ensemble de la fen~tre d'ana- lyse. I1 faut donc dEfinir le mode de construction du signal synthEtique et prEciser le crit~re de ressemblance. Une r~gle de construction possible est le passage d'un signal ?0 . . . T'N-1 au travers d'un systEme. On choisit habituellement, pour des raisons de gEnEralitE, simpli- cite et efficacitE, des filtres linEaires, invariants (dans la fen~tre d'analyse) et causaux. Une fois la structure du modEle choisie, il faut determiner la valeur numEri- que des diffErents param~tres qui interviennent dans ce module. On minimise un crit~re de ressemblance entre le signal reel et le signal synthEtique. Pour des raisons de simplicitE, on choisit presque toujours un critEre qua- dratique de la forme :

N - 1 N - 1 2

]~ : Z(Sn--8"n)9 = Z s n = 0 n = 0

Ici, il faut determiner ~'0... ~'N-1 et les coefficients du filtre : on note que c'est un probl~me de dEconvolution. Actuellement on ne sait pas determiner simultangment une entree et les coefficients du filtre, tout au moins de faqon simple. En effet, on obtient un syst~me d'Equa- tions non linEaires trop complexe ~t rEsoudre. On choisit alors une solution sous-optimale consistant ~ dEtermi- ner d'abord les coefficients du filtre en faisant des hy- potheses tr~s simplificatrices au niveau de rentrEe puis on raffine le module de l'entrge.

Dans la premiere 6tape, il est donc nEcessaire d'&re le plus neutre possible au niveau de l'entrEe. On choisit une entree de type bruit blanc. Le signal s'n est alors un pro- cessus ,, autorEgressif ~ moyenne ajustEe << (ARMA). Dans la pratique, c'est encore trop compliqu6. On se limite un cas particulier : on choisit un filtre autorEgressif pur (AR) de fonction de transfert 1 / A ( z ) . Le fait de choisir un critEre quadratique conduit ~ un syst~me linEaire fa- cile h rEsoudre off intervient, gEnEralement, une estima- tion des coefficients de correlation du signal ~t coder. On aboutit ~t des algorithmes de prediction linr [Markel 76].

Une grande partie des propriEtEs statistiques du si- gnal se trouve concentrEe dans les coefficients du module mais il n'existe encore aucune correspondance exacte en- tre 6chantillons. Pour que le signal synthEtique ressem- ble temporellement au signal de depart, il est nEcessaire de se poser le problbme de la determination de l'entrEe. Une nouvelle fois, on cherche un module appropri6. La demarche est la suivante. On filtre le signal So �9 .. s u - 1 par le filtre de fonction de transfert A ( z ) filtre inverse du prEcEdent. Le signal filtrE ro . . . r N - 1 , appelE << signal rgsiduel>>, comporte donc rinformation restante. La vi- sualisation du signal filtr6 montre qu'il reste un signal qui ressemble ~t du bruit plus des 6vEnements particu- liers. Un modEle adapt6 pour ce signal semble &re quel- ques impulsions caractEris6es par leur position et leur amplitude. On parle alors de techniques multiimpulsion- nelles [Atal 82]. Cette information doit &re representable sur peu de bits. On ne peut donc accepter qu'un nombre faible d'impulsions par fen&re d'analyse. Une impulsion toutes les millisecondes en moyenne (tousles 8 6chan- tillons pour une frEquence d'gchantillonnage de 8 kHz) permet d'obtenir des rEsultats acceptables. On minimise une nouvelle fois un critbre quadratique o?a ron fait ap- paraltre explicitement les param6tres inconnus :

E = Z Sn - 93(k)6n,j(k) * hn n = 0 k = l

= 8n -- g j ( k ) h n - j ( k ) n:O

Dans cette formule, g~(k) repr6sente ramplitude de la k ~m~ impulsion, j ( k ) sa position, h,~ la rEponse impul- sionnelle (connue) du filtre 1 / A ( z ) et le symbole �9 le produit de convolution. Cette minimisation est encore difficile ~ rEaliser si l 'on cherche ~t determiner les K impulsions simultanEment. De nouvelles solutions sous- optimales sont nEcessaires.

Actuellement, des techniques plus performantes base de quantification vectorielle [Schroeder 85] sont employees. On compare le signal rEsiduel r o . . . r u - 1

un catalogue (dictionnaire ou codebook) de vecteurs prE-dEfinis c3o . . . tiN_ 1 connus en termes identiques aussi bien par l'Emetteur que par le rEcepteur, on choisit la forme la plus ressemblante en rEalisant une recherche exhaustive sur tousles vecteurs du catalogue, on cal- cule Egalement un gain, les vecteurs composant le ca-

3/17 ANN. TI~LI~COMMUN., 46, n ~ 3-4, 1991

Page 4: Codage prédictif du signal de parole à débit réduit: une présentation unifiée

226 N. MOREAU - CODAGE PRI~DICTIF DU SIGNAL DE PAROLE A DI~BIT RI~DUIT

talogue 6tant normalis6s, et on transmet ces informa- tions. Le gain en d6bit est important puisqu'il suffit d'envoyer le num6ro de la forme et non la forme elle- m~me. Pour avoir un ordre de grandeur, imaginons un catalogue de 256 vecteurs de 40 6chantillons (g6n6ra- lement on d6compose la fen6tre d'analyse en plusieurs sous-fen~tres, 4 par exemple, et on cherche, pour chaque sous-fen~tre, un vecteur dans un catalogue et un gain). I1 faut donc 8 bits pour coder le num6ro de la forme. Si on utilise 5 bits pour coder le gain, cela repr6sente (8 + 5)(8000/40) bit/s soit 2,6 kbit/s pour coder l'entr6e du filtre de synthOse. Le nombre des coefficients du filtre r6clamant, en premibre approximation, environ le m6me nombre de bits, on obtient un codeur ~i 5 ou 6 kbit/s.

Ces codeurs sont caract6ristiques d'une proc6dure de mod61isation dite d'analyse par la synth6se. A l'6metteur, le signal est analys6 par construction effective du signal qui est produit au r6cepteur, ~ la synth~se.

Les deux premi6res repr6sentations ont de mauvaises propri6t6s de codage. Les deux derni~res sont largement utilis6es.

I1 faut noter, ici, la possibilit6 de supprimer le besoin de coder les coefficients du flltre si on utilise une 6va- luation arriOre des coefficients [Jayant 84] [Fournier 90]. L'idEe est d'utiliser les 6chantillons du signal synth6tique correspondant ~ la fen6tre pr6c6dente pour caract6riser le filtre de la fen~tre courante. Ainsi, le calcul peut 6tre fait, de la m~me faqon, aussi bien h l'6metteur qu'au r6cep- teur. Mais cette m6thode pr6sente des inconv6nients : le filtre de synth~se est plus real adapts au signal dans une 6valuation arriOre que dans une 6valuation avant clas- sique sp6cialement lors des transitions entre phonbmes et le comportement de ce codeur en pr6sence d'erreurs de transmission est mauvais. Le codeur ~t 16 kbit/s en cours de normalisation pour le r6seau t616phonique pu- blic utilise cette technique h l'ordre 50 avec un taux de r6actualisation assez 61ev6 [Chen 90].

III. DI~TERMINATION DU FILTRE ET MODI~LISATION DE L'EXCITATION

DANS UN CODEUR CELP

III.1 Analyse LPC

Le premier traitement consiste h d6terminer puis co- der les coefficients du filtre utilis6 h la synthSse. Une mod61isation par pr6diction lin6aire est quasi syst6mati- quement utilis6e. Diff6rentes variantes existent [Markel 76][Kay 88]. On parle de m6thode de corr61ation (al- gorithmes de Levinson, de Schur), de m6thode de cova- riance (d6composition de Choleski, algorithme de Morf), de mdthode de Burg, d'algorithmes en treillis... Ce choix est difficile, donc g6n6ralement peu justifi6. I1 d6pend de nombreux facteurs, en particulier du choix de l'im- plantation mat6rielle. Suivant les cas, on privil6gie la minimisation du nombre de multiplications (algorithmes rapides), la rdgularitd (algorithmes parall~les) ou l'im- munit6 au bruit de calcul (algorithmes robustes).

Le choix de l'ordre de pr6diction P r6sulte d'un com- promis. I1 doit ~tre suffisamment 61ev6 pour reproduire correctement la structure formantique du signal de pa- role. Inversement, l'ordre doit ~tre le plus faible possible pour 6conomiser le d6bit.

Les coefficients du filtre doivent, en effet, ~tre cod6s. I1 existe de nombreuses possibilit~s ~tant donn~ l'6qui- valence entre les diff6rentes repr6sentations suivantes :

�9 les coefficients de corr61ation r 0 . . . rp, �9 les coefficients du filtre transversal al . . . a v, �9 les coefficients du filtre en treillis k l . . . kp, �9 les rapports d'aires ou <<log area ratio>> L a r l . . . Larp

avec :

l + k i Lari = log

1 - ki

spectrum pair>> Lsp l . . .L spp [Itakura * les <(line 75][Soong 90].

III.2 Modification du crit~re de minimisation : introduction d'un facteur perceptuel

Les fonctions de coot quadratiques se pr6tent bien aux calculs : elles poss~dent la bonne propri6t6 de fournir un syst~me lin6aire lorsque l'on d6rive ce crit~re par rap- port aux param~tres inconnus. Par contre, ce crit6re n'est pas forc6ment bien adapt6 h notre syst6me auditif. Une correction perceptive est tr~s largement utilis6e pour pal- lier cet inconv6nient [Atal 79]. On rajoute une fonction de pond6ration, sous la forme d'un filtre de fonction de transfert W(z), avant le crit6re de minimisation. L'id6e provient d'une transposition dans le domaine fr6quentiel de la remarque suivante : la diff6rence entre |e signal ori- ginal et le signal synth6tique est moins perceptible dans les zones ob le signal a beaucoup d'6nergie. On dit que le signal masque le bruit. On cherche donc une fonc- tion de pond6ration qui attribue moins d'importance aux zones fr6quentielles 6nerg6tiques c'est-h-dire aux zones formantiques. On montre que la fonction de transfert W(z) = A(z) /A(z/7) avec 0 < 7 < 1 joue ce r61e. En effet, si on note :

P

A ( z ) = 1 + al z -1 + . . . + apZ -~ = H ( 1 - p~z -1)

on remarque que :

A ( ~ ) = 1 +al~/Z -~ ~ - . . . W a p ' / P z -p

p

-_ 1 - I ( l _ . y p i z - 1 ) i=1

Le module de la r6ponse en frdquence du filtre 1/A(z/y) pr6sente des pics moins accentuds que celui du filtre 1/A(z) puisque les pSles du filtre 1/A(z/7) sont ra- men6s vers le centre du cercle unit6 par rapport h ceux du filtre 1/A(z). Le module de la r6ponse en fr6quence du filtre W(z) = A(z) /A(z/7) a donc la forme souhaitde.

ANN. TI~LI~COMMUN., 46, n ~ 3-4, 1991 4/17

Page 5: Codage prédictif du signal de parole à débit réduit: une présentation unifiée

N. MOREAU - CODAGE PRI~DICT1F DU SIGNAL DE PAROLE A DI~BIT RI~DUIT 227

Le trac6 de la figure 3 montre, pour trois fen~tres de si- gnal correspondant h une transition d 'un phoneme vois6 vers un phoneme non vois6, le module de la r6ponse en fr6quence des filtres 1/A(z) et W(z)

Le diagramme donnant le principe de la mod61isation devient celui de la figure 4.

Ce diagramme met clairement en 6vidence le fait que l 'on cherche h mod61iser le signal << perceptuel >> Po ...PN-1 par P 0 . . . f i N - 1 . On appelle par la suite filtre perceptuel, le filtre caract6ris6 par la fonction de transfert 1/A(z/7). Le choix de la valeur num6rique du

facteur perceptuel ~/ permet de moduler la fonction de pond6ration ~ sa convenance. Pour 3' = 1, tout se passe comme si on n'utilisait pas de fonction de pond6ration. On effectue une mod61isation du signal original. Pour "y : 0, on r6alise une mod61isation du signal original. On choisit g6n6ralement ~, voisin de 0,8.

III.3 Choix du module d'excitation

On a vu, pr6c6demment, qu 'on peut choisir comme module pour l 'excitation, quelques impulsions ou un vecteur issu d 'un dictionnaire. On ne pr6cise pas en- core le contenu de ce dictionnaire. On note simplement A l e nombre de vecteurs composant ce dictionnaire. Ces vecteurs sont, g6n6ralement, pr6-d6termin6s et l 'on rap- pelle qu'ils sont connus, en termes identiques, aussi bien par l '6metteur que par le r6cepteur. Le probl~me consiste donc h chercher un vecteur c j dans un dictionnaire d 'ex- citation et un gain gj (cf. Fig. 4) de faqon h ce que le vecteur ~ filtr6 par le filtre perceptuel 1/A(z/'y) donne le vecteur moddlis6 ff le plus ressemblant possible au vec- teur p. Notre premier modSle pour l 'excitation est donc simplement :

rn=gjCOn pour n = 0 . . . N - 1

mais rien ne s 'oppose h la g6n6ralisation suivante [Davidson, 88] :

K

k=l

pour n = 0 . . . N - 1

FIG. 3. - Spectre du signal et module de la r6ponse en fr6quence de

la fonction de pond6ration W(z) avec 3' ---- 0, 8 pour trois fen&res

de signal.

Signal spectrum and frequency response of the weighting function W(z) , with "y : 0.8, for three signal frames.

off K est l 'ordre de mod61isation de l 'excitation, c 'est- h-dire le nombre de formes d 'onde qui composent cette excitation.

$

+_~ W(z)= A(z) ~] min ~ E~ A(zlT) ~ n l---

t

rain ~ ~ I _ n

FIG. 4. - Introduction d 'un filtre perceptuel et d 'un dictionnaire

d 'excitation.

Introduction of a perceptual filter and an excitation codebook.

III.4 Influence des fen~tres d'analyse pr~c~dentes. Dictionnaire filtr~.

La forme du modSle de l 'entr6e 6tant fix6e, il faut, maintenant, ddterminer la valeur numdrique des pa- ram~tres. On minimise l ip - ~112 relativement aux in- dices j ( 1 ) . . . j ( K ) et aux gains 9j(a)...gj(K). I1 faut donc mettre en 6vidence dans le crit~re ce qui est connu, c'est-h-dire ce qui a pu ~tre calcul6 pr6c6demment, et ce qui d6pend explicitement des inconnus j(k) et g~(k). Le signal perceptuel mod61is6 a pour expression :

o o

P n = ~ h i F n - i pour n = 0 . . . N - 1 i = 0

off hn est la rdponse impulsionnelle du filtre perceptuel. L'expression pr6c6dente se ddcompose en deux termes :

Pn = hr162 + i = 0 ~=n+l

hiFn-i pour n = 0 . . . N - 1.

5/17 ANN. TI~LI~COMMUN., 46, n ~ 3-4, 1991

Page 6: Codage prédictif du signal de parole à débit réduit: une présentation unifiée

228 N. MOREAU - CODAGE PRI~DICTIF DU SIGNAL DE PAROLE .~ Dt~BIT Rt~DUIT

Le premier terme est a priori inconnu mais le deuxibme terme est connu puisqu'il fait intervenir ~'n pour n < 0 c'est-~t-dire l'excitation du filtre de synthSse d6termin6e dans la fenStre d'analyse pr6c6dente. Dans ce systbme de notations, n = 0 caract6rise le premier 6chantillon de la fen&re d'analyse courante. Finalement le signal perceptuel mod61is6 s'6crit :

X-" h c 3(k) Pn = gj(k) ~ ~ n-~ + h i r n - z kin1 z=0 z = n + l

pour n = 0 . . . N - 1 .

Adoptons une notation vectorielle (vecteurs colonnes). On appelle :

P : ~ 0 ' ' ":N--l] w a v e c ~ = hiF~-i z = n + l

la contribution dans la fenetre courante de l'excitation provenant des fenetres pr6c6dentes,

f J = [f03...f~v_l] T avec fr = ~ h i ~ , _ , ~.:0

pour j = I . . . A .

le r6sultat du filtrage des vecteurs Co J . . . C]v_ 1 par le filtre perceptuel partant de conditions initiales nulles,

~ k P = ~ 0 . . . ~N-1 ] T avec pC~ = gj(k) f~(k)

le vecteur issu du dictionnaire filtrd h l'indice j (k ) puis pond6r6 par le gain gj(k).

Le nouveau sch6ma de principe devient celui de la figure 5.

10o - ~o _ ~ p ~ =p_pO

%=o :1:1 ~ I ,,=

dictionnaire d'excitation dictionna~re filtr~,

FIG. 5. - Mod61isation du signal perceptuel par K vecteurs parmi /X

issus du dictionnaire filtr6 et K gains.

Modelling of the perceptual signal using K vectors of the filtered codebook and K corresponding gains.

On met en 6vidence le dictionnaire d'excitation et le dictionnaire filtr6, tous les deux compos6s des A vecteurs not6s respectivement c 3 et f J .

Remarque :Dans toutes les expressions pr6c6dentes, on a suppos6, implicitement, que les filtres mis en jeu 6talent invariants. En fait, ils sont simplement localement invariants. Le vecteur ~0 est donc la r6ponse libre du filtre dont les coefficients sont caract6ristiques de la fen6tre courante. On ne touche pas au vecteur d'6tat du filtre lorsque l'on passe d'une fen&re ~t l'autre.

III.5 Minimisat ion au sens des moindres carr4s

A partir de maintenant, on supprime l'indice n e t on ne s'int6resse plus qu'h des vecteurs ou h des matrices. D'autres part, pour simplifier les notations, on appelle p le vecteur perceptuel auquel on a enlev6 la contribu- tion des fenStres pr6c6dentes. Le probl~me de la d6ter- mination de l'excitation dans un codeur CELP peut &re exprim6 de la fa~on suivante :

Connaissant p et f l . . . f a , trouver les indices j(1) . . . j ( K ) et les gains g~(1)...gj(K) defa~on ~z mi- nimiser :

K

E : IIp- ll 2 avec ~ = ~-~g~(k) f j(k). k = l

En notations matricielles, ce problSme devient : Etant donnd une matrice F appartenant f R N•

compos6e des A vecteurs colonnes f J, et un vecteur p appartenant ~ R N, extraire de F une matrice A appartenant ~ R N x K, compos~e de K vecteurs colonnes parmi A, et trouver un vecteur g de dimension K de fa~'on ~ minimiser :

E : l i P - Agll 2 : liP-~11 =.

I1 s'agit d'un probl~me classique de minimisation au sens des moindres carr6s si l 'on suppose connu les indices j ( 1 ) . . , j ( K ) , c'est-h-dire la matrice A [Golub 83]. On d6termine g h partir du syst~me surdimensionn6 p = Ag. On 6crit que la meilleure approximation de p est la projection orthogonale de p dans le sous- espace engendr6 par les vecteurs colonnes de A ou que le vecteur p - ~ est orthogonal ~t tousles vecteurs engendrant ce sous-espace comme le montre la figure 6.

P

fK2)

~ fJ(1)

FIG. 6. - La meilleure approximation de p dans le sous-espace 0 r J(1) , f H 2)) est la projection orthogonale de p clans ce

sous-espace.

The best approximation of p in the sub-space ( f 3 (1) , f J(2)) is the orthogonal projection of p in this sub-space.

ANN. TI~LI~COMMUN., 46, n ~ 3-4, 1991 6/17

Page 7: Codage prédictif du signal de parole à débit réduit: une présentation unifiée

N. MOREAU - CODAGE PRI~DICTIF DU SIGNAL DE PAROLE A DI~BIT RI~DUIT 229

On obtient les dquations normales :

( f j ( k ) ) T ( p _ Ag) = 0 pour k = 1 . . . K

ou de fa~on matricielle :

AT Ag = ATp.

La matrice A est g6n6ralement de rang complet. La matrice ATA est donc d6finie positive. Cette r6solution se fait alors en utilisant la d6composition de Choleski, par exemple, ou par des algorithmes rapides si on impose une forrne Toeplitz ou proche de Toeplitz ~t cette matrice. Malheureusement les indices sont inconnus et doivent ~tre d6termin6s simultan6ment avec les gains.

I1 existe un algorithme optimal : il suffit de d6ter- miner toutes les matrices A correspondant h toutes les combinaisons de K vecteurs parmi A, de r6soudre pour chaque matrice A l e s 6quations normales, d'6valuer le crit~re et de s61ectionner la combinaison qui minimise

A~ ce crit~re. Sachant qu'il existe combinai-

Kr( X - K)! sons possibles et qu'un ordre de grandeur pour K et A est K = 3 et A = 256, on est amen6 5 r6soudre 256 • 255 x 254/6 c'est-h-dire prSs de 3 millions de syst~mes lin6aires d'ordre 3 toutes les 5 ms ! I1 est donc n6cessaire de se limiter 5 un algorithme sous-optimal.

Pr6cisons le probl~me. La minimisation de E consiste

�9 choisir une combinaison j ( 1 ) . . , j ( K ) , �9 r6soudre les 6quations normales ATAg = ATp, �9 s61ectionner la combinaison qui maximise gTA TAg

puisque la minimisation de l i P - Pll 2 est 6quivalente h la maximisation de I lPl 12.

Etant donn6 que :

g = (ATA)-IATp

le probl~me consiste finalement h s61ectionner j ( 1 ) . . . j (K) qui maximise :

I 12 = pTA(ATA) -1ATp

puis h calculer les gains en r6solvant, une seule fois, les 6quations normales correspondant h la combinaison choisie.

III.6 Algorithme it4ratif standard

La difficult6 provient essentiellement de l'inversion de la matrice ATA. I1 existe deux faqons (au moins) de simplifier le traitement :

�9 on se limite h la recherche d'un vecteur h la fois, l'expression ATA est alors un scalaire, le calcul des indices et des gains se fait de faqon it6rative,

�9 on impose des propri6t6s particuli~res h la matrice A, par exemple : ATA = I quelle que soit la combinai- son [Ofer 89].

La premiere m6thode est tout ~ fait standard. Elle a 6t6 propos6e par [Atal 82] pour une excitation multiim-

pulsionnelle. Elle est largement utilis6e dans la pratique mais elle est, malheureusement, sous-optimale. La se- conde m6thode conduit ~ un algorithme optimal mais elle impose h la matrice F d'etre compos6e de vecteurs orthogonaux.

On pr6sente, ici, l 'algorithme it6ratif standard. On note < x,y > le produit scalaire des deux vecteurs x et y. A la premiere it6ration, un seul vecteur fJ est s61ectionn6. On a :

A T A = < f J , f J > et A T p = < f J , p > .

On dolt choisir l 'index j(1) qui maximise :

<p,f j><fj , f j>-l<fj p>= <fjp>2 <fJ, f3 >

puis calculer le gain :

<fj(1),p> g j ( l ) : <fj(1),fj(1)>"

A la k i~me it6ration, la contribution des k - 1 premiers vecteursf j(i) est retir6e de p :

k--1

pk = p _ E gj(z)fj(i) i = l

et un nouvel index j(k) et un nouveau gain 9j(k) sont calcul6s v6rifiant :

< fj,pte>2 j(k) = arg max

<fJ , f J>

<fj(k),p> gj(k) = <f3(k) f j ( k ) > "

Etant donn6 que :

<fj,pk+l > =<f j ,pk > --gj(k) <fJ,fJ(k) >

< f 3 , p k + l > =<f j ,pk> <f j , f j (k )> <f j (k ) < f j (k ) , f j ( k ) > ,pk >

l'intercorr61ation <fj ,pk+l> n6cessaire ~ l'6tape k + 1 peut ~tre calcul6e ~ partir de l'intercorr61ation ~ l'6tape k.

On obtient l 'algorithme standard :

Pour j = 1 . . . A �9 a j = < f J , f J > et fl~ = < f J , p >

Pour k = 1 . . . K

k/ et gj(k) -- �9 j(k) = arg max a j

�9 P o u r j = l . . . A ( s i k < K ) <fj(k),fj>

* r(k, j) - aj(k )

, : -

zi( ) ozJ(k)

Cet algorithme est applicable quel que soit le contenu du dictionnaire d'excitation.

III.7 R6duction de la sous-optimalit6

Cet algorithme est sous-optimal pour plusieurs rai- sons. La premiere raison est que l 'on a d'abord calcul6

7/17 ANN. TI~LIECOMMUN., 46, n ~ 3-4, 1991

Page 8: Codage prédictif du signal de parole à débit réduit: une présentation unifiée

230 N. MOREAU - CODAGE PREDICTIF DU SIGNAL DE PAROLE ,h, DI~BIT RI~DUIT

les coefficients du filtre de synth~se en faisant des hy- potheses simplificatrices au niveau de l'excitation (c'est un bruit blanc) puis d6termin6 l'entr6e. On peut cher- cher i r6actualiser les coefficients du filtre une fois une premiere estimation de l'entr6e r6alis6e ou directement tenter une estimation conjointe. Ce probl~me est encore mal r6solu. La deuxi~me raison est que la proc6dure de d6termination de l'excitation est, elle aussi, it6rative. On peut corriger, en partie, cet inconv6nient en calcu- lant ~t l'6tape k non seulement 9j(k) mais aussi les gains pr6c6dents. Ceci a 6t6 propos6 par [Berouti 84] pour une excitation multiimpulsionnelle. La troisibme raison est la suivante. A l'6tape k, on cherche i mod61iser p par ses projections dans le sous-espace engendr6 par

f j ( a ) . . . f j ( k ) . Comme ces vecteurs ne sont pas ortho- gonaux, la somme des projections d6termin6es de faqon it6rative n'est pas forc6ment 6gale i la projection dans le sous-espace. Cette id6e est sugg6r6e dans [Kroon 84] et d6velopp6e par [Singhal 86], [Singhal 89] pour une excitation multiimpulsionnelle. Ceci est illustr6 par la figure 7.

j.,o%

"~ ~ . " ~ I(2)

nissent les amplitudes. En rajoutant des contraintes sur les positions, de la forme j ( k + 1) = j ( k ) + constante, le module de l'excitation propos6 au paragraphe III.3 per- met de d6crire l'excitation par impulsions rdgulidrement

espac~es [Deprettere 85] [Kroon 85] [Kroon 86] choisie pour le codeur GSM [Vary 88].

Dans le codeur CELP classique [Schroeder 85], on ini- tialise le dictionnaire d'excitation par des tirages d'une variable al6atoire gaussienne centr6e ou on le construit par apprentissage [Linde 80] [Gray 84] [Cuperman 85] [Makhoul 85] [Davidson 87].

Pour diminuer la charge de calcul, de nombreuses 6tudes ont montr6 l'int6r8t de dictionnaires lacunaires [Davidson 86] o~ la majorit6 des composantes des vec- teurs d'excitations sont nulles, de dictionnaires binaires [Le Guyader 86] o i les composantes prennent les va- leurs +1 ou -1 , de dictionnaires ternaires [Ireton 89] o?a les valeurs possibles sont les valeurs +1, - 1 et 0, de dictionnaires alg6briques [Le Guyader 86] [Adoul 87] [Lamblin 88].

Des combinaisons entre ces diff6rentes m6thodes sont possibles, par exemple on peut combiner une excitation par impulsions r6guli~rement espac6es avec une excita- tion de type binaire [Salami 89]...

III.9 Introduction d'un dictionnaire pr6dictif

On sait que, pour d6terminer les coefficients du filtre A ( z ) , on minimise l'6nergie de l'erreur de pr6diction :

FIG. 7 . - La projection de p darts le sous-espace ( f 3 ( 1 ) , f 3 ( 2 ) ) obtenue de fa~on it6rative n'est pas la projection optimale.

The iteratively obtained projection of p on the sub-space ( f j ( 1 ) , f . j ( 2 ) ) is not an optimal projection.

Il est possible de rem6dier i cet inconv6nient en or- tbogonalisant le dictionnaire filtr6 et d'obtenir des al- gorithmes localement optimaux [Moreau 89] [Dymarski 9O].

III.8 D~termination du dictionnaire d'excitation

De nombreuses 6tudes ont pennis de d6finir de bons

dictionnaires d'excitation. On se contente d'en donner une classification sch6matique.

Si on choisit C = I o~ C est la matrice compos6e des vecteurs colonnes c j e t I la matrice identit6 de di- mension N • N, on obtient une excitation multiimpul- sionnelle. Les indices s61ectionn6es j (k) caract6risent les positions des impulsions choisies et les gains 9j(k) d6fi-

par rapport aux P param6tres inconnus a,. On n'indique pas ici le domaine de variation de l'indice n car c'est essentiellement cette distinction qui diff6rencie les quel- ques algorithmes possibles. I1 s'agit d'une pr6diction ?a court terme puisque, pour pr6dire la valeur du signal l'indice n, on utilise les P 6chantillons pr6c6dents. Une fois le calcul r6alis6 par simple r6solution du syst~me lin6aire obtenu en d6rivant E1 par rapport aux P pa- ram~tres inconnus, on filtre le signal So �9 . . SU-a par le filtre de fonction de transfert A ( z ) d'ordre P. On obtient le signal r6siduel h court terme ro �9 �9 �9 r N - 1 . La visuali- sation de ce signal, sp6cialement pour des sons vois6s, montre que toute la redondance plac6e dans le signal de parole n'a pas 6t6 extraite. I1 reste une certaine p6rio- dicit6 d'une dizaine de millisecondes, c'est-h-dire d'une centaine de hertz, pour un locuteur masculin. Cette p6rio- dicit6 correspond, physiologiquement, h la p6riode de vi- bration des cordes vocales. On peut chercher i caract6ri- ser cette information en introduisant deux param6tres b et Q puis en minimisant l'6nergie d'une nouvelle erreur de pr6diction :

ANN. TI~LI~COMMUN., 46, n ~ 3-4, 1991 8/17

Page 9: Codage prédictif du signal de parole à débit réduit: une présentation unifiée

N. MOREAU - CODAGE PREDICTIF DU SIGNAL DE PAROLE ,~ Dt~BIT RI~DUIT 231

E2 = E ( r ~ - brn-Q) ~

par rapport h ces deux param6tres inconnus. On parle alors de pr6diction ~t long terme. Elle a 6t6 introduite dans les codeurs par blocs par [Singhal 84] [Galand 86] [Osawa 86]. Le diagramme fonctionnel est donn6 figure 8.

Sn + r, + o,

les notations). On a vu que le signal perceptuel mod61is6 avait pour expression �9

~ = h~?~_~ + h~?~_~ pour n = 0 . . . N - 1. ~=0 i = n + l

Mais ~'~ pour n >_ 0 a priori inconnu, se d6compose aussi en partie inconnue qui ne d6pend que de c j e t 9~ et une partie connue :

rn = g~ C3n + brn-Q

si on admet les hypotheses que les param~tres bet Q du pr6dicteur ~ long terme ont 6t6 d6termin6s et que :

n - Q < 0 quelquesoi t 0 < n < N - 1

c'est-tt-dire : FIG. 8. - Introduct ion d ' u n pr6dicteur a long terme.

Introduction of a long term predictor Q > N .

On introduit une nouvelle fonction de transfert :

B(z ) = 1 - bz -Q.

Supposons que cette minimisation soit faite. On ne pr6cise pas, maintenant, le mode de calcul de b e t Q. Remarquons, simplement, que cette minimisation ne peut &re r6alis6e comme la pr6c6dente puisque, pour El , P e s t fix6, alors que pour E2, Q est un param~tre h d6terminer. A la synth~se, on utilise les filtres inverses. Le filtre de fonction de transfert 1 /B(z ) doit donc ~tre plac6 en amont du filtre de fonction de transfert 1/A(z) . Le sch6ma de principe de mod61isation du signal perceptuel devient celui de la figure 9.

FIG. 9. - Mod61isation du signal perceptuel avec prddicteur h long

terme.

Modelling of the perceptual signal with long term prediction.

Reprenons le d6veloppement pr6sent6 dans le para- graphe Ill.4. On cherche un vecteur c 3 dans le diction- naire d'excitation et un gain gj de faqon tt ce que le vecteur 9~e j filtr~ par le filtre l i B ( z ) puis par le fil- tre perceptuel 1 / A ( z / 7 ) donne le vecteur mod61is6 ~ le plus ressemblant possible au vecteur p (on se limite h la recherche d'un seul vecteur et non K pour simplifier

La valeur du d6calage doit donc ~tre sup6rieure ou 6gale ~t la taille de la fen~tre d'analyse. Cette contrainte est trop forte dans la pratique. I1 est n6cessaire d'introduire un traitement par sous-fen~tre. En effet la fr6quence fon- damentale moyenne est de l'ordre de 100 Hz pour un locuteur masculin et de 250 Hz pour un locuteur f6mi- nin. Cela veut dire que les valeurs probables de Q sont respectivement 6gales h 80 et 32. Comme la valeur ha- bituellement choisie pour N e s t de 160, on divise la fenetre d'analyse en 4 sous-fenOres de N ~ = 40 6chan- tillons et on d6termine un module pour l'excitation pour chaque sous-fen~tre. La taille de la sous-fen~tre semble encore trop 61ev6e. On donne, en fin de paragraphe, une solution h ce probl~me.

Finalement le signal perceptuel mod61is6 s'6crit :

= + b +

i = 0 ~=0 i=n+l

pour n = O . . . N - 1 .

On appelle �9

= ~

^ 1 p : T

=

~ hi?n-i avec Pn = z = n + l

oG

avec pn ---- b h i ~ - i - Q i=n+ l

oo ~2

a v e c p~ gJ E ' j --= h~cn_ i z=n-F1

(pour simplifier les notations, on n'introduit pas encore le paramStre N') .

9/17 ANN. TI~LI~COMMUN., 46, n ~ 3-4, 1991

Page 10: Codage prédictif du signal de parole à débit réduit: une présentation unifiée

232 N. MOREAU - CODAGE PREDICTIF DU SIGNAL DE PAROLE A DI~BIT Rt~DUIT

On remarque q u e ~1 et ~2 ont exactement la m~me forme et s'interprStent de la m~me fa~on, comme le filtrage d'un vecteur connu par le filtre perceptuel partant de conditions initiales nulles et d'une pond6ration par un gain. Le nouveau sch6ma de principe est donn6 figure 10 off l 'on met en 6vidence le fait que l 'on minimise d'abord le crit~re :

On peut prolonger ce dictionnaire vers le haut en le construisant de la fa~on suivante [Kleijn 88] : la premiere fois, on utilise les N - 1 6chantillons dispo- nibles r ' - N + l . . . F - 1 et on les complete par F-N+1, la deuxi~me fois on utilise les N - 2 6chantillons ~'-N+2 �9 �9 �9 ~'-~ et on les complete par ~'-N+ff-2V+3, etc. On obtient

"~O=j(1)

l . ~ j~2~ rnin II P - d P - d ' - P ~ H 2 j - ~,~,

FIG. 10. - Mod61 i sa t i on du s igna l p e r c e p t u e l p a r d e u x vec t eu r s d o n t

le p r e m i e r a p p a r t i e n t ~ u n d i c t i o n n a i r e pr6dic t i f .

Modelling of the perceptual signal with two vectors of which the first is chosen from a predictive codebook.

[I(P _~o) _ ~1ii2

pour d6terminer Q et b puis le crit~re :

II(p _ :11

pour d6terminer j e t gj. On remarque que les deux pa- ram~tres du pr6dicteur h long terme Q et b peuvent &re calcul6s exactement de la m~me mani~re que les pa- ram~tres j et gj h la condition de construire un diction- naire prddictif comportant l'excitation pass6e [Rose 86] [Kleijn 88] [Rose 90] [Kleijn 90] :

T ' - N ~ - N + I " " T ' - I

~ - N - - 1 r ' - N " " r ' - 2 : : . . :

~ - 2 N + I " " T - - N

F - 2 N ' ' T ' - N - - 1 : : . . :

.~'_Q .... �9 �9 F_Q ..... + g - 1

: : : : : .

~ - - Qrlfin " " : : �9 . :

T ' - N + 2 " " ~ - - 1 T ' - - N + 2 T'-- N + 3

T - N + 1 " " r ' - i r ' - N + 1

~'-N �9 �9 ~'-1 : : : : : :

- ? - Q . . . . . �9 �9 F _ Q . . . . . + g - 1

On indique la p6riodisation ultime mais on s'arr~te, en fait, ~ l'indice Qmin. Ceci r6sout artificiellement le probl~me de la taille trop 61ev6e de la sous-fenfitre pour la p6riode fondamentale d'un locuteur f6minin. I1 suffit de choisir Qmin = 20, par exemple. On prend Qmax = Qmin + 127 si l 'on d6cide de coder l'indice sur 7 bits.

lII.lO Codeur h excitation mixte

Si l 'on consid~re le dictionnaire d'excitation comme compos6 de deux parties distinctes, un dictionnaire pr6dictif et un dictionnaire stochastique, et si l 'on im- pose la recherche des vecteurs d'excitation dans chacune de ces parties successivement, on retrouve les codeurs standards actuels off l 'on r6alise d'abord une pr6diction ~t long terme par un calcul dit en boucle fermde et off l 'on cherche ensuite un vecteur approximant le vecteur r6siduel dans un dictionnaire.

Le fait de rechercher d'abord un vecteur dans un dic- tionnaire pr6dictif puis un deuxi~me vecteur dans un au- tre dictionnaire n'est pas toujours obligatoire. On peut imaginer un dictionnaire d'excitation unique, compos6 de plusieurs parties distinctes et utiliser le dictionnaire globalement sans contraintes en laissant le codeur choi- sir. Le traitement est alors compl~tement homog~ne quel que soit le type de l'excitation [Moreau 89].

Ce dictionnaire poss~de deux propri6t6s int6ressantes.

�9 La matrice correspondante a une structure de Toe- plitz. On verra qu'il est possible de r6duire le nombre d'op6ration mises en jeu lorsque l 'on filtre ce diction- naire.

�9 Lorsque l 'on passe d'une fen6tre d'analyse h la suivante, l 'ensemble du dictionnaire n'est pas remis en cause. Uniquement N vecteurs doivent ~tre actualis6s. Les autres s 'en d6duisent par translation vers le bas.

III.11 Choix des param~tres

On ne cherche pas ~ ddfinir tr~s pr6cisgment, main- tenant, les caract6ristiques d'un codeur. I1 faut, d'abord, r6aliser une 6valuation de la complexit6 du traitement. On choisit simplement des valeurs r6alistes pour les diff6rents param~tres en s'inspirant du codeur GSM h 13 kbit/s [Vary 88] pour la d6termination du filtre A(z) et du futur standard f6d6ral am6ricain h 4,8 kbit/s [Rahikka 90] pour la partie excitation.

ANN. TI~Lt~COMMUN., 46, n ~ 3-4, 1991 10/17

Page 11: Codage prédictif du signal de parole à débit réduit: une présentation unifiée

N. MOREAU - CODAGE PRI~DICTIF DU SIGNAL DE PAROLE A Dt~BIT Rt~DUIT 233

On r6alise une analyse LPC d'ordre P = 8 sur des fen~tres de 20 ms (N = 160 6chantillons) par la m6thode d'autocorr61ation (algorithme de Schur). On

code les rapports d'aire (LAR) s u r 36 bits. On iffterpole ces coefficients lorsque l'on passe d'une fen~tre h la suivante. Le d6bit correspondant est de �9

8000 - - 36 = 1, 8 kbit/s.

N

t J I t t i

~ r i i t i i i r

i I t

FIG. 11. - Visualisation des signaux s, r, p, p, ~ et "s pour une A

mod61isation d'ordre trois (les signaux r et r ont 6t6 multipli6s par deux).

Visualization of the signals s, r, p, p, ~ and ~ for a third order modelling (signals r and~ have been multiplied by 2).

On choisit une excitation compos6e de K vecteurs par sous-fen~tre de 5 ms (N' = 40 6chantillons), le premier 6tant extrait d'un dictionnaire pr6dictif de 128 vecteurs et les K-1 suivants d'un dictionnaire stochastique de 128 vecteurs peupl6s de valeurs al6atoires gaussiennes. On code les gains sur 5 bits. Le d6bit correspondant est de :

8000 N' (7 + 5)K = 2, 4 kbit/s.

Le d6bit total est donc de 6,6 kbit/s lorsque K = 2 et de 9 kbit/s lorsque K = 3.

Une simulation r6alis6e sur une transition d'un phoneme vois6 vers un phoneme non vois6 prononc6 par un locuteur f6minin, fournit les trac6s des figures 11 et 12 correspondant h 5 fen~tres de 160 6chantillons. Sur le trac6 de la figure 11, on observe les signaux s, r, p, ff, F e t Z

Sur le trac6 de la figure 12, on voit, plus en d6tail, la r6alisation de la mod61isation du signal perceptuel en

visualisant p%, p% + p'i + . . . + / ~ . On remarque l'importance du pr6dicteur ~ long terme.

IV. I~VALUATION ET RI~DUCTION DE LA COMPLEXITI~ D'UN CODEUR CELP

FIG. 12. - D6tail de la mod61isation du signal perceptuel h l 'ordre ..--0 A1

trois. Visualisations de p, p , p e t p.

Detail of the third order modelized perceptual signal. Visualization of ~.0 ^1 and p. P,P ,P

I V . I I n t r o d u c t i o n

Pour des raisons de cofit, il est g6n6ralement n6ces- saire de pouvoir implanter un algorithme de codage dans un seul microprocesseur de traitement du signal (#PTS). I1 faut donc 6valuer la complexit6 du traitement. Si le nombre d'op6rations mises en jeu est trop 61ev6 pour le #PTS choisi, il faudra chercher h simplifier ce traite- merit au prix d'une d6gradation de la qualit6. Actuelle- ment, il existe des processeurs avec une arithm6tique en virgule flottante, par exemple le TMS320C30 de Texas Instruments. On 6valuera donc cette complexit6 en terme de Mflops (106 op6rafions en virgule flottante par se- conde). Pour avoir un ordre de grandeur de la com- plexit6, on compte uniquement le nombre de multipli- cations/accumulations, en n6gligeant les op6rations de chargement, d'incr6mentation de compteurs, de test. En traitement num6rique du signal, la charge de calcul est souvent essentiellement due au calcul de produits sca- laires.

Les valeurs num6riques des quelques param~tres n6cessaires pour cette 6valuation sont les suivantes :

11/17 ANN. TI~LI~COMMUN., 46, n ~ 3-4, 1991

Page 12: Codage prédictif du signal de parole à débit réduit: une présentation unifiée

234 N. MOREAU - CODAGE PRI~DICTIF DU SIGNAL DE PAROLE ,~ DI~BIT RI~DUIT

fr6quence d'6chantillonnage fe 8 kHz longueur de la fen~tre N 160

longueur de la sous-fen~tre N' 40 longueur rep. imp. du filtre perceptuel N h 20

ordre de mod61isation LPC P 8 dictionnaire pr6dictif : indice min Q m m 40 dictionnaire pr6dictif : indice max Q ~ l x Qmin + 127

iictionnaire pr6dictif :nombre de vecteurs 128 dictionnaire stochastique :

nombre de vecteurs A 2 128 ordre de mod61isation de l'excitation K 2 ou 3

IV.2 Traitement sans s implif ications

L'examen du sch6ma fonctionnel du codeur (cf Fig. 10) montre que le traitement se d6compose en 4 parties :

1. A partir du signal dans la fen&re courante, on r6alise une analyse LPC puis on calcule le signal per- ceptuel. Ce traitement r6clame le calcul d'une esti- mation de la fonction d'autocorr61ation du signal, la r6solution d'un syst~me lin6aire et deux filtrages. I1 doit ~tre r6alis6 toutes les fen~tres d'analyse. Le ill- trage d'un 6chantillon est effectu6 en utilisant une struc- ture transverse. Ce filtrage demande donc P multiplica- tions/accumulations par 6chantillon. Une structure treil- l i s a des propri6t6s num6riques int6ressantes mais elle est deux fois plus cofiteuse en nombre de multiplica- tions/accumulations. On obtient, en n6gligeant la r6solu- tion du syst~me lin6aire puisque la charge de ce calcul n'est pas proportionnel h N :

8000 N (P + I + 2 P ) N soit 0,2 Mflops.

2. Le filtrage du dictionnaire d'excitation doit ~tre r6alis6 chaque fois que les coefficients du filtre ou le contenu du dictionnaire d'excitation sont modifi6s. Les coefficients du filtre sont calcul6s toutes les fen~tres d'analyse; on filtre alors l'ensemble du dictionnaire. Le dictionnaire pr6dictif est actualis6 toutes les sous- fen~tres mais uniquement N ' vecteurs doivent ~tre alors filtr6s, les autres subissant simplement une translation. Le filtrage du dictionnaire r6clame donc :

I

000

N

soit 6,016 Mflops 3. Connaissant le dictionnaire filtr6 et le signal per-

ceptuel, on enl~ve d'abord h ce signal perceptuel la contribution provenant des sous-fenatres pr6c6dentes puis on choisit un vecteur et un gain dans le diction- naire pr6dictif et K-1 vecteurs et K-1 gains dans le dictionnaire stochastique. Ce traitement a lieu toutes les sous-fen~tres.

On rappelle l'algorithme standard "

Pour j = 1 . . . A (A 1 ou z~2)

�9 et = < f J , t ' >

Pour k = 1 . . . K

�9 j ( k ) = arg max "-~'(/~)2 et 9j(k) - o0

�9 Pour j = 1 . . . A 2 (si k < K)

< f 3 ( k ) , f j > i ' ~ - - \

* rue,3) - os

, ~J =/~3 _ r ( k , j ) ~ ( k ) . k+l k

aJ(k)

On remarque que ce traitement consiste essentielle- ment ~t 6valuer trois produits scalaires portant sur l'en- semble des vecteurs du ou des dictionnaires. Le calcul de l'6nergie a~ de tous les vecteurs des deux dictionnaires filtr6s doit, bien stir, ~tre fai th la m~me cadence que le filtrage des vecteurs. On r6alise ensuite une intercorr61a- tion /~ entre le signal perceptuel et tousles vecteurs du dictionnaire pr6dictif dans une premiere 6tape puis du dictionnaire stochastique dans une deuxi~me 6tape. On calcule enfin, K-2 fois, un troisi~me produit sca- laire portant uniquement sur les vecteurs du dictionnaire stochastique.

Le cofit associ6 h chacune de ces op6rations est le suivant :

�9 Calcul des 6nergies cd :

8000 [ A I + A2 + (NN---7 - 1) N'] N ' soit 0,752 Mflops. N

�9 Calcul des intercorr61ations initiales/3{ :

8000 N' (A1 + A2)N' soit 2,048 Mflops.

�9 Calcul des r ( k , j ) :

8000 N ' A 2 N ' ( K - 2) soit 1,024(K - 2) Mflops.

�9 Calcul des index j ( k ) et actualisation des/3J :

8000 I" 1 + A2)/ + 2(K- 2)]

N' soit 0,077 K - 0,051 Mflops.

�9 Actualisation du perceptuel mod6lis6 :

8000 N' (N' + Nh - I)PK soit 0,094 K Mflops.

4. A la synthSse, on actualise l'excitation puis on la filtre. On obtient :

8000 N~ S- N ' P soit 0,064 Mflops.

Le filtrage des deux dictionnaires et le calcul des 6ner- gies repr6sentent 6,77 Mflops, le calcul des intercorr61a- tions initiales n6cessite 2,05 Mflops, le calcul des r(k , j ) n'est pas n6cessaire si K = 2 et vaut 1,02 Mflops si K = 3 et le reste est ~gal ~ 0, 2 + 0, 2 K. L'ensemble du traitement r6alis6 sans pr6cautions r6clame donc :

K ---- 2 9,4 Mflops K 3 10,8 Mflops

ANN. TI~LI~COMMUN., 46, n ~ 3-4, 1991 12/17

Page 13: Codage prédictif du signal de parole à débit réduit: une présentation unifiée

N. MOREAU - CODAGE PRI~DICTIF DU SIGNAL DE PAROLE A Dt~BIT RI~DUIT 235

On se trouve confrontE, maintenant, au probl~me gEnEral de l'ad6quation d'un algorithme et d'une architecture. Pour des raisons Economiques (coOt du processeur, dis- ponibilitE, sEcuritE d'approvisionnement...), on peut &re amenE h choisir un processeur pas suffisamment perfor- mant. I1 faut alors rEduire la charge de calcul. L'idEal est de trouver de nouveaux algorithmes efficaces sans modifier le traitement�9 Sinon, on est amenE h simpli- fier te traitement au prix d'une baisse (Eventuelle) de la qualitE. Chaque simplification devra 8tre apprEciEe en terme de compromis qualitE/complexitE en rEalisant des simulations sur quelques phrases caractEristiques puis en comparant, auditivement, les rEsultats.

IV.3 Modification de l'algorithme de filtrage du dictionnaire d'excitation

L'Evaluation prEcEdente a EtE faite en supposant que l'opEration de filtrage a EtE rEalisEe en rEsoNant, pour chaque indice n, l'Equation r&urrente reliant la sortie h l'entrEe par l'interrnEdiaire des coefficients de la fonction de transfert 1/A(z /7 ) :

P

i=1

La seconde faqon de calculer la sortie d'un filtre en fonction de l'entrEe est d'utiliser l'expression du produit de convolution :

T~

z=0

Une reduction du coot total de calcul peut ~tre rEalisEe si on exploite la structure Toeplitz du dictionnaire d'exci- tation prEdictif [Lin 87] [Rose 87] [Kleijn 88]. En effet, supposons que le vecteur d'excitation et le vecteur filtrE correspondant aient pour composantes,

l'indice j :

^ ^ j J r - i r - i+ l . . . r - i+N, -1 et f~ f l . . . f JN ,_ l

~t l'indice j + 1 :

/'~-i+1T'-i+2 �9 T~_i+N , et c J + l c j + l r �9 " dO J1 " " " J N t - - 1 .

On obtient alors les relations :

f ~ = hoZ-i = ? - i

f ~ = f j+l n - l + h n ? - i pour n = l . . . N h - 1 .

On filtre donc normalement le vecteur du dictionnaire eorrespondant ~t l'indice le plus ElevE puis on applique sur les autres la r6currence pr6cEdente. Le filtrage du dictionnaire d'excitation prEdictif r&lame donc :

8000

N I N (m I _~_ ( N 1 ) ( N ! 1)) ~7 N ' P + - 1 - -

- 1)] soft 0,3 Mflops (Nh J

compares h �9

8000 A I + - 1 N' N ~ N ' P soit 3,96 Mflops.

Le gain est donc important puisqu'il a pour ordre de grandeur N'P/Nn = 16.

On peut, Egalement, rEduire le coot de calcul des Ener- gies pour les vecteurs du dictionnaire prEdictif puisque �9

N t - 1 Nh - 1 N' --1

E j+l = ( f J n - l + h n f ~ + Z 'Jn-l!(r n=0 n=l n=Nh

O~3 = o~J+l _ { c j + l ,~2 ~,JN'- I )

Z j+l + : d h 2 + 2 f n _ l h n �9

n=0 n=l

Le coot du calcul est donc :

8000 [ N Nt N [~7

compares h :

8000

(Nh + 3)] soit 0,29 Mflops

N A1 + ~ 7 - 1 N' N ' soit0,49Mflops.

Le gain en complexit6 de traitement est simplement de l'ordre de N' /Nh = 2. On remarque l'influence du param~tre Nh, la longueur de la r6ponse impulsionnelle du filtre perceptuel. Si Nh est sup&ieur ou 6gal h N', le filtrage r6alis6 suivant les deux m6thodes pr6c6dentes donne des r6sultats strictement identiques. En prenant Nh inf6rieur h N', on diminue la charge de calcul mais le traitement est a priori, d6grad6. Des simulations sont n6cessaires pour appr6cier les termes du compromis. Elles rnontrent que cette d6gradation reste n6gligeable tant que Nh reste sup6rieur ou 6gal h 20. On bEn6ficie, ici, d'une circonstance favorable�9 Le facteur perceptuel 7 a EtE choisi pour mettre en forme spectralement le bruit dO au codage. I1 a pour effet, Egalement, de rEduire la longueur utile de la rEponse impulsionnelle.

Le filtrage du dictionnaire stochastique et le calcul des Energies restent inchangEs :

8000 N A2N' (P + 1) soit 2,304 Mflops.

La reduction tr~s importante de la complexitE de trai- tement du dictionnaire d'excitation pr6dictif est due au caract6re Toeplitz de la matrice correspondante. II est trbs tentant d'imposer cette structure au dictionnaire sto-

13/17 ANN~ TIELt~COMMUN., 46, n ~ 3-4, 1991

Page 14: Codage prédictif du signal de parole à débit réduit: une présentation unifiée

236 N. MOREAU - CODAGE PRI~DICTIF DU SIGNAL DE PAROLE A DI~BIT RI~DUIT

chastique. Dans ce cas, le filtrage du dictionnaire sto- chastique rdclame :

8000 N [N'P + (A2 - 1)(Nh -- 1)] soit 0,136 Mflops

et le calcul des 6nergies :

8000 N [N' + (A2 - 1)Nh + 3)] soit 0,148 Mflops.

Ici aussi, il est n6cessaire d'appr4cier les termes du compromis. Des simulations montrent que la d6grada- tion apport6e ~ la qualit6 est raisonnable [Lin 87]. Plu- sieurs codeurs [Menez 89] [Campbell 89] imposent cette contrainte.

L'ensemble du traitement r6clame maintenant :

sans simplification avec simplification

K = 2 5,5 Mflops 3,5 Mttops K = 3 6,8 Mflops 4,8 Mflops

IV.4 Suppression du dictionnaire filtr4

De nombreux articles d6crivent des algorithmes qui ne mettent pas en oeuvre le dictionnaire filtr6. On peut citer, par exemple, [Lefevre 85] dans le cas d'une ex- citation de type multiimpulsionnelle, [Trancoso 86] [Le Guyader 86] [Adoul 87] [Trancoso 90] dans le cas d'un codeur CELP. En effet, on peut 6crire :

fJ ---- H d <fJ , fJ>= (cJ)WHWHc j = (d)WFc j

< p,fJ > = (HTp)Tc j : < q, c j >

< f f ,fJ > = (ci) 2 HW Hc j = (ci) WFc j

en introduisant la matrice H caract6risant le filtrage du dictionnaire d'excitation partant de conditions initiales nulles, la matrice de covariance F et un vecteur q. La matrice H est une matrice triangulaire inf6rieure et elle a une structure de Toeplitz.

L'dnergie a pour expression :

N t - 1

aJ = (cJ)TFc j = y ~ r (n ,n ) (dn ) 2 r t=0

Nh--1 N ~ - l - - k

+2 ~ ~ r(n,n + k)dndn+ k. k = l n = 0

La matrice F 6tant simplement une matrice bande sym~trique, on montre que le calcul de l'ensemble des ~nergies n~cessitent �9

[ 8000 A I + A 2 + - 1 N ' U ~

[Nh(2N' - Nh + 1) + 1] soit 22,9 Mflops.

Si on impose h la matrice F d'avoir une structure de Toeplitz, on r6duit fortement cette charge de calcul [Trancoso 86], [Trancoso 90]. En effet, on obtient :

avec :

Nh -- 1

k=t

Nh --1--k

rh(k) = E hnhn+k pour k = 0 . . . N h - 1 n:O

N l - - l - - k

4 § pour k=0. . .Nh-1 . n = 0

Le calcul des 6nergies demande :

000 )]

F 1 + Nh + 1 soit 11,86 Mflops.

On diminue encore fortement la charge de calcul en distinguant les deux cas suivants :

Si cJ appartient au dictionnaire stochastique, les auto- corr61ations r~ (k) peuvent ~tre pr6calcul~es [Adoul 87]. Le coot de la m6morisation est alors A2Nh c'est-h-dire 2560 mots mais la charge de calcul associ6e h ce dic- tionnaire est de :

8000 N A2(Nh + 1) soit 0,134 Mflops.

Si cJ appartient au dictionnaire pr6dictif, il faut utiliser les propri6t6s du dictionnaire d'excitation. Comme :

r~ (k) = r~ +~ (k) + ~-#'-~+k - r"-~+N,-kr"-~+N,

o n a :

gh --1 ]

ozJ = o~J+l + ~-i ~-irh(O) + 2 E ~-i+krh(k) ] k = l

- - r - i+N' ~-i+N'rh(O)Jr- 2 k=lE ~--i+N'--kTh(k)J

On filtre donc le vecteur d'excitation correspondant l'indice le plus 61ev6, on calcule son 6nergie puis on applique la relation de r6currence pr6c6dente. La charge de calcul associ6e au dictionnaire pr4dictif devient :

8000 [ ~ 7 ( 2 N ' - N h + I ) N Nh 2 + N h + l

+(AI - I + ( ~ 7 - 1 ) ( N ' - I))(2Nh + 2) ]

soit 0,512 Mflops.

I1 reste ~ calculer les intercorr41ations :

flJ =<p,fJ >= (HTp)Tc j : <q, d > .

ANN. TI~LI~COMMUN., 46, n ~ 3-4, 1991 14/17

Page 15: Codage prédictif du signal de parole à débit réduit: une présentation unifiée

N. MOREAU - CODAGE PRI~D1CT1F DU SIGNAL DE PAROLE A Dt~BIT RI~DUIT 237

Le calcul du vecteur q peut se faire soit directement :

min(N I --1--n,Nh --1)

qn = E hkpn+k pour n = O . . . N ' - I k=O

soit par filtrage inverse [Omnes-Chevalier 85] ou par back-filtering [Adoul 87] puisque :

J H J = H T avec J =

0 �9 �9 0 1

�9 " " 0

0 �9 �9 0

En effet, la pr6-multiplication de H par J revient r6aliser un effet de miroir sur les vecteurs colonnes de H et la postmultiplication un effet de miroir sur les vecteurs lignes. Donc :

HTp = JHp = J(H(Jp)).

Le calcul de q est effectu6 en r6alisant un effet de miroir sur les composantes du vecteur p, un filtrage puis un nouvel effet de miroir sur le r6sultat. Dans le 1 er cas, on obtient :

8000 N---- 7- N'Nh soit 0,16 Mflops.

Dans le 2 e cas, on obtient :

8000 N-- 7- N' P soit 0,064 Mfl0ps.

L'am61ioration ne parait pas significative. Le calcul des produits scalaires <q, d > r6clame :

8000 N ' (A1 + A2)N ~ soit 2,05 Mflops.

Si K est sup6rieur ~ 2, il est n6cessaire de r6actualiser ~ . On obtient :

8000 N' (Nh+A2)N' (K-2) soit 1,184 ( K - 2 ) Mflops.

IV.5 C o n c l u s i o n

algorithme 1 2 3

analyse LPC, perceptuel 0,2 0,2 0,2

filtrage dict. pr6dictif 0,3 0,3 0

6nergie a j dict. pr6dictif 0,29 0,29 0,01 + 0,51

filtrage dict. stochastique 2,05 O, 14 O, 13

6nergie a J dict. stochastique 0,25 0,15 0,13

intercor ~J 2,05 2,05 2,11

r ( k , j ) 1,02 ( K - 2) 1,02 ( K - 2) 1,18 ( K - 2)

j ( k ) et act. diverses 0,17 K - 0,05 0,17 K - 0,05 0,17 K - 0,05

synth~se 0,06 0,06 0,06

total pour K = 2 5,5 3,5 3,6

total pour K = 3 6,8 4,8 5,1

La comparaison entre plusieurs algorithmes, en terme de qualit6, est un probl~me difficile. Seules, les mesures provenant de tests d'6coute oO interviennent plusieurs auditeurs, sont significatives. Toutefois, comme les proc6dures habituelles d'6valuation subjective [Jayant 84] sont lourdes ~ mettre en place, on se contente, ici, d'une 6valuation objective. On a r6alis6 des simulations portant sur 24 s de signal de parole. Ce signal correspond

quatre doubles phrases phon6tiquement 6quilibr6es, prononc6es par deux locuteurs f6minins et deux locu- teurs masculins. On obtient, pour les trois algorithmes pr6c6dents et pour K = 3, les rapports signaux/bruits segmentaux suivants :

algorithme RSB en dB 1 10,46 2 10,06 3 10,34

La d6gradation apport6e aux rapports signauxforuits lorsque l 'on diminue la charge de calcul est faible. Une 6coute informelle montre que ces trois algorithmes donnent une qualit6 6quivalente.

Finalement, on compare trois algorithmes : 1) algorithme de base sans simplification, 2) on impose le caract&e Toeplitz au dictionnaire

d'excitation stochastique, 3) on supprime les dictionnaires filtr6s et on impose

le caract~re Toeplitz ~ la matrice HTH. Les charges de calcul, exprim6es en Mflops, sont les

suivantes :

V. CONCLUSION : QUELQUES CODEURS CELP Ri~CENTS

V.1 S t a n d a r d f6d6ral ~t 4,8 kbit / s

La structure du codeur 6tudi6 aux Bell Laboratories [Rahikka 90] est classique. Une analyse LCP ~ l'ordre 10

15/17 ANN. TF.LI~COMMUN., 46, n ~ 3-4, 1991

Page 16: Codage prédictif du signal de parole à débit réduit: une présentation unifiée

238 N. MOREAU - CODAGE PRI~D1CTIF DU SIGNAL DE PAROLE A DI~BIT Rt~DUIT

est r6alis6e sur des fen&res de 30 ms (240 6chantillons). Le codage des LSP r6clame 34 bits (1,13 kbit/s). L'ex- citation est compos6e de deux vecteurs par sous-fen&re de 7,5 ms (60 6chantillons), le premier 6tant extrait d'un dictionnaire pr6dictif de 256 vecteurs et le second d'un dictionnaire stochastique de 512 vecteurs peupl6s de va- leurs temaires ( - 1 , 0, +1) et poss6dant une structure presque Toeplitz (deux 6chantillons diff6rents au lieu d'un seul entre un vecteur du dictionnaire et son voi- sin imm6diat). Le codage des gains est sur 5 bits (1,6 kbit/s pour le pr6dicteur h long terme et 1,86 kbit/s pour le deuxi~me vecteur).

Le dictionnaire pr6dictif pr6sente une particularit6 int6ressante. En effet, il est compos6 de 128 vecteurs correspondant ~t des d61ais entiers et de 128 vecteurs cor- respondant ~ des d61ais fractionnaires. La signification de ces qualificatifs est la suivante. On extrait g6n6rale- ment un seul vecteur du dictionnaire pr6dictif. L'indice s61ectionn6 sp6cifie la valeur de la fr6quence fondamen- tale, il est exprim6 par un nombre entier. I1 est possible de rajouter h ce dictionnaire des vecteurs obtenus par interpolation des 6chantillons composant le dictionnaire [Marques 89] [Kroon 90]. On parle alors de pitch frac- tionnaire. La qualit6 du signal synth6tique est am61ior6e mais aux prix d'une augmentation importante de la com- plexit6 [Perrot 90].

V.2 Codeur VSELP (vector sum excited linear pre- diction) h 8 kbit/s

I1 est d6velopp6 par Motorola [Gerson 90]. I1 a, 6ga- lement, une structure conventionnelle. II utilise trois dic- tionnaires d'excitation distincts d'ofa sont extraits succes- sivement trois vecteurs mod61isant le signal perceptuel : un dictionnaire pr6dictif et deux dictionnaires stochas- tiques de 128 vecteurs chacun. L'id6e int6ressante est d'imposer une structure particuli6re aux dictionnaires d'excitation stochastique de faqon ?~ r6duire la com- plexit6 du traitement et ~ rendre le codeur robuste ?t des erreurs de transmission. On retrouve aussi cette id6e dans [Laflamme 90]. Les L vecteurs de chaque dictionnaire sont construits par une combinaison lin6aire de M vec- teurs de base, la matrice de transformation, de dimension M • L, poss6dant les propri6t6s suivantes : L = 2 M, elle est peupl6e uniquement de - 1 et + 1 correspondant ~t la d6composition en code de Gray d'un nombre en- tier compris entre 0 et L - 1 sur M bits. Cette structure diminue fortement la charge de calcul au prix d'une di- minution r6duite de la qualit6. Ce codeur est implantable dans un seul DSP56001 de Motorola et il a 6t6 choisi pour le futur radiot616phone num6rique nord-am6ricain.

V.3 Norme CCITT/~ 16 kbit/s

Un codeur h 16 kbit/s, propos6 par les Bell Labo- ratories, est en cours de normalisation par le CCITT. I1 porte le nora de LD-CELP ( l o w delay code-excited linear

prediction) [Chen 90]. Ce codeur a une structure conven- tionnelle mais il n'existe plus de pr6dicteur h long terme jug6 trop sensible aux erreurs de transmission. Le pr6dic- teur h court terme atteint l 'ordre 50 pour prendre en compte les corr61ations d'ordre 61ev6. II est alors n6ces- saire de r6soudre les probl~mes pos6s par le mauvais conditionnement de l'estimation de la matrice d'auto- corr61ation. Cette pr6diction est faite par une 6valuation arri6re. L'excitation est extraite d'un dictionnaire de 128 vecteurs de cinq 6chantillons ce qui entraine un d61ai inf6rieur ~ 2 ms. Le gain est cod6 de faqon particuli~re.

Cet algorithme LD-CELP est implantable sur le micro- processeur DSP 32C, un #PTS d6velopp6 par ATT. Cette implantation pose un probl~me int6ressant car il illus- tre bien le probl~me de l'ad6quation d'un algorithme et d'une architecture. En effet, l'algorithme initial r6cla- mait l'actualisation du filtre d'ordre 50 tous les qua- tre vecteurs de 5 6chantillons par une pond6ration par une fen~tre de Hamming, le calcul des coefficients de corr61ation et l'algorithme de Durbin. La charge de cal- cul 6tait alors essentiellement concentr6e sur le premier vecteur, d6passant les capacit6s du DSP 32C ou r6cla- mant une m6morisation des donn6es ayant pour effet d'augmenter le d61ai. Le r66quilibrage de la charge de calcul sur les quatre vecteurs a n6cessit6 une modifica- tion significative de l'algorithme (fen~tre de Hamming remplac6e par une fen~tre de pond6ration r6cursive, al- gorithme de Durbin s6par6 en 2). Actuellement, l ' im- plantation r6clame deux DSP 32C, le premier pour le codage (90% de la puissance de calcul du DSP 32C) et le second pour le d6codage (40%).

Manuscrit requ le 26 juillet 1990 accept~ le 30 novembre 1990

BIBLIOGRAPHIE

[1] ADOUL (J.E), MAB1LLEAU (P.), DELPRAT (M.), MORISETTE (S.). Fast CELP coding based on algebraic codes. Proc. Int. Conf. acoust., speech, signal processing (1987) pp. 1957-1960.

[2] ATAL (B.), SCHROEDER (M). Predictive coding of speech signals and subjective error criteria. 1EEL Trans. ASSP, (June 1979).

[3] ATAL (B.), REMDE (J.). A new model of LPC excitation for producing naturalsounding speech at low bit rates. Proc. int. conf. acoust., speech, signal processing, (1982) pp. 614-617.

[4] BEROUTI (M.), GARTEN (n.), KABAL (P.), MERMELSTEIN (P.). Efficient computation and encoding of the multi-pulse excitation for LPC. Proc. int. conf. acoust., speech, signal processing, (1984) pp. 10.1.1-10.1.4.

[5] CAMPBELL (J.) WELCH (V.), TREMAIN (Z.). An expandable error- protected 4800 bps CELP coder (U.S. federal standard 4800 bps voice coder). Proc. int. conf. acoust., speech, signal processing, (1989) pp. 735-738.

[6] CHEN (J.) High-quality 16 Kb/s speech coding with a one-way delay less than 2 ms. Proc. int. conf. acoust., speech, signal processing, (1990) pp. 453-456.

[7] CUPERMAN (V.), GERSHO (A.). Vector predictive coding of speech at 16 kb/s. IEEE Trans C, (July 1985).

[8] DAV1DSON (G.), GERSHO (A.). Complexity reduction methods for vector excitation coding. Proc. int, conf. acoust., speech, signal processing, (1986), pp. 3055-3058.

[9] DAVlDSON (G.), YONC; (M.), GERSHO (A.). Real-time vector ex- citation coding of speech at 4800 bps. Proc. int. conf. acoust., speech, signal processing, (1987) pp. 2189-2192.

ANN. TI~LI~COMMUN., 46, n ~ 3-4, 1991 16/17

Page 17: Codage prédictif du signal de parole à débit réduit: une présentation unifiée

N. MOREAU - CODAGE PRI~DICTIF DU SIGNAL DE PAROLE ,~ DI~BIT RI~DUIT 239

[10] DAVIDSON (G.), GERSHO (A.) Multiple-stage vector excitation coding of speech waveforms, Proc. int. conf. acoust., speech, signal processing, (1988) pp. 163-166.

[11] DEPRETrERE (E.), KROON (P.). Regular excitation reduction for effective and efficient LP-coding of speech. Proc. int. conf. acoust., speech, signal Processing, (1985) pp. 965-968.

[12] DYMARSKI (P.), MOREAU (N.), VIG1ER (A.). Optimal and sub- optimal algorithms for selecting the excitation in linear predictive coders. Proc int. conf. acoust., speech, signal processing, (1990) pp. 485-488.

[13] FOURNIER (N.), GREN1ER (Y.), A real-time vector excited adaptive predictive coder at 9,6 kbit/s. Proc. int. conf. acoust., speech, signal processing, (1990) pp. 173-176.

[14] GALAND (G.), LAN(~ON (E.), ROSSO (M.), MENEZ (J.) A new archi- tecture of multipulse excited linear predictive coder. EUSIPCO (1986)

[15] GERSON (I.), JASIUK (M.) Vector sum excited linear prediction (VSELP) speech coding at 8 Kbps. Proc int. conf. acoust., speech, signal processing, (1990) pp. 461-464.

[16] GOLUB (G.), VAN LOAN Matrix computations. Johns Hopkins University Press, 1983 (Second Edition 1989).

[t7] GRAY (R.) Vector quantization. IEEE acoust., speech, signal processing mag., (April 1984) pp. 4-29.

[18] IRETON (M.), XYDEAS (C.) On improving vector excitation coders through the use of spherical lattice codebooks. Proc. int. conf. acoust., speech, signal processing, (1989).

[19] ITAKURA (E) Line spectrum representation of linear predictive coefficients of speech signals. J. acoust, soc. am., 57 (1975).

[20] JAYANT (N.), NOLL (P.) Digital coding of waveforms. Prentice Hall, (1984)

[21] JAYANT (N.) Coding speech at low bit rates. IEEE Spectrum, (Aug 1986) pp. 58-63.

[22] JAYANT (N.). High-quality coding of telephone speech and wide- band audio. 1LEE communic, magazine, (Jan 1990) pp. 10-20.

[23] KAY (S.) Modem spectral estimation - theory and application. Prentice Hall, (1988).

[24] KLEIJN (W.), KRASINSK[ (D.), KETCHUM (R.). An efficient sto- chastically excited linear predictive coding algorithm for high quality low bit rate transmission of speech. Speech communica- tion, (1988) pp. 305-316.

[25] KLEUN (W.), KRASINSKI (D.), KETCHUM (R.). Fast methods for the CELP speech coding algorithm. IEEE Trans. ASSP (Aug. 90).

[26] KROON (P.) DEPRE'rTERE (E.) Experimental evaluation of different approaches to the multipulse coder. Proc int. conf. acoust., speech, signal processing, (1984).

[27] KROON (P.) Time-domain coding of (near) toll quality speech at rates below 16 Kb/s. Delft University, Ph.D. Dissertation, (March ! 985).

[28] KROON (P.), DEPRETTERE (E.), SLUYTER (R.) Regular-pulse exci- tation : A novel approach to effective and efficient multipulse coding of speech. IEEE Trans. ASSP, (Oct 1986).

[29] KROON (P.), ATAL (B.) Pitch predictors with high temporal resolution. Proc. int. conf. acoust., speech, signal processing, (1990) pp. 661-664.

[30] LAFLAMME (C.), ADOUL (J.P.), Su (H.Y.), MORISETI'E (S.) On reducing computational complexity of codebook search in coder through the use of algebraic codes. Proc. int. conf. acoust., speech, signal processing, (1990) pp. 177-180.

[31] LAMBLIN (C.) Quantification vectorielle alg6brique sphErique en codage de parole. Ph.D. Dissertation, Universitd de Sherbrooke, Canada, (avril 1988).

[32] LIN (D.) Speech coding using efficient pseudo-stochastic block codes. Proc. int conf. acoust., speech, signal processing, (1987) pp. 1354-1357.

[33] LINDE (Y.), Buzo (A.), GRAY (R.) An algorithm for vector quantized design. 1EEL Trans. Communications, (Jan 1980).

[34] LEFEVRE (J.P.), PASSIEN (O.) Efficient algorithms for obtaining multipulse excitation for LPC coders. Proc. int. conf. acoust., speech, signal processing, (1985) pp. 957-960.

[35] LE GUYADER (A.), COMBESCURE (P.), LAMBLIN (C.), MOULY (M.), ZURCHER (J.) A robust 16 Kb/s vector adaptive predictive coder for mobile communications. Proc. int. conf. acoust., speech, signal processing, (1986), pp. 857-860.

[36] MALHOUL (J.), ROUCOS (S.), GISH (H.) Vector quantization in speech coding. Proc. oflEEE, (nov. 1985).

[37] MARKEL (J.), GRAY (R.) Linear prediction of speech. Springer New-York, (1976).

[38] MARQUES (J.), TRIBOLET (J.), TRANCOSO (L), ALMEIDA (L.) Pitch prediction with fractional delays in CELP coding. Eurospeech (1989) pp. 509-512.

[39] MENEZ (J.), GALAND (C.), ROSSO (M.), BOTTAU (F.), Adaptive code excited linear predictive coder (ACELPC). Proc. int. conf. acoust., speech, signal proc., (1989)pp. 132-135.

[40] MOREAU (N.), DYMARSKI (P.) Mixed excitation CELP coder. Eurospeech, (1989) pp. 322-325.

[41] OFER (E.), MALAH (D.), DEMBO (A.) A unified framework for LPC excitation representation in residual speech coders. Proc. int. conf. acoust., speech, signal proc., (1989) pp. 41-44.

[42] OMNES-CHEVALIER (M.C.), GRENIER (Y.), CHOLLET (G.) Codage multiimpulsionnel pour la restitution de parole par modules 6volutifs. Dixidme colloque sur le traitement du signal et ses applications, Nice (1985).

[43] OZAWA (K.), ARASEKI (%) High quality multipulse speech coder with pitch prediction. Proc. int. conf. acoust., speech, signal proc. (1986) pp. 1689-1692.

[44] PERROT (V.) Codage de la parole ~t d6bit rdduit : Etude de l'utilisation de pitchs fractionnaires. Mdmoire de fin d'dtude Telecom Paris, (Juin 1990).

[45] RAHIKKA (D.) TREMAIN (Z.), WELCH (C.), CAMPBELL (J.) CELP coding for land mobile radio applications. Proc. int. conf. acoust., speech, signal proc. (1990) pp. 465-468.

[46] RAMACHANDRAN (R.), KABAL (P.) Pitch prediction filters in speech coding. IEEE Trans. ASSP, (April 1989)

[47] ROSE (R.), BARNWELL (T.) The self excited vocoder - An alternate approach to Toll quality at 4800 bps. Proc. int. conf. acoust., speech, signal proc. (1986) pp. 453-456.

[48] ROSE (R.), BARNWELL (T.) Quality comparison of Low com- plexity 4800 bps - self excited and code excited vocoders. Proc. int. conf. acoust., speech, signal proc. (1987) pp. 1637-1640.

[49] ROSE (R.), BARNWELL (T.) Design and performance of an analysis-by-synthesis class of predictive speech codes. IEEE Trans. ASSP, (sept. 90).

[50] SALAMI (R.), WONG (K.), STEELE (R.), APPLEBY (O.) Performance of error protected binary pulse excitation coders at 11.4 Kb/s over mobile radio channels. Proc. int. conf. acoust., speech, signal proc., (1990) pp. 473-476.

[51] SINGHAL (S.), ATAL (B.) Improving performance of multipulse LPC coders at lows bit rates. Proc. int. conf. acoust., speech, signal processing, (1984)pp. 1.3.1 h pp. 1.3.4.

[52] SINGHAL (S.) Reducing computation in optimal amplitude multi- pulse coders. Proc. int. conf. acoust., speech, signal proc., (1986) pp. 2363-2366.

[53] SINGHAL (S.), ATAL (B.) Amplitude optimization and pitch pre- diction in multipulse coders. IEEE Trans. ASSP, (March 1989).

[54] SOONG (F.), BIING-HWANG JUANG Optimal quantization of LSP parameters using delayed decisions. Proc. int. conf. acoust., speech, signal proc., (1990)pp. 185-188.

[55] SCHROEDER (M.), ATAL (B.) Code-excited linear prediction (CELP) : highquality speech at very low bites rates. Proc. int. conf. acoust., speech, signal proc., (1985) pp. 937-940.

[56] TRANCOSO (I.), ATAL (B.) Efficient procedures for finding the optimal innovation in stochactic coders. Proc. int. conf. acoust., speech, signal proc., (1986) pp. 2375-2378.

[57] TRANCOSO (I.), ATAL (B.) Efficient search procedures for selec- ting the optimum innovation in stochastic coders. IEEE Trans. ASSP, (March 1990).

[58] TREMA1NT (T.) The government standard linear predictive coding algorithm : LPC-10. Speech Technology, (April 1982) pp. 4-49.

[59] VARY (P.), HELLWIG (K.), HOFMANN (R.), SLUYTER (R.), GALAND (C.), Rosso (M.) Speech codec for the the european mobile radio system. Proc. int. conf. acoust., speech, signal processing, (1988) pp. 227-230.

BIOGRAPHIE

Nicolas MOREAU est ingEnieur de l'Institut national polytechnique de Grenoble (1969). I1 a obtenu un Master of science de l'Universit~ de Laval, Canada (1972). I1 est enseignant-chercheur h Telecom Paris. Ses centres d'intdrEt sont le traitement du signal, le dEve- loppement de circuits VLSI spEcialisEs en traitement du signal et, depuis 1986, le codage de la parole h debit rEduit.

17/17 ANN. TI~LI~COMMUN., 46, n ~ 3-4, 1991