FR 2596893 A1 19871009 FR 8604800 A 19860403 Dispositif de mise en oeuvre d'un algorithme dit de LEROUX-GUEGUEN, pour le codage d'un signal par prédiction linéaire. La présente invention concerne un dispositif de mise en oeuvre d'un algorithme dit de LEROUX-GUEGUEN, pour le codage d'un signal par prédiction linéaire. L'invention s'applique aux traitements de 5 signaux très variés (signaux sismiques, biologiques, de parole, radars, téléphoniques,...). Dans la transmission d'un signal téléphonique par exemple, à faible débit, il est souhaitable de représenter le signal de parole sous une forme très 10 condensée qui permette néanmoins de conserver une bonne intelligibilité de la parole à la réception de ce signal condensé. Pour cela, on cherche à créer un signal synthétique le plus ressemblant possible au signal original, grâce à une technique de modélisa15 tion dite de codage par prédiction linéaire. Ce codage est effectué de la manière suivante: le signal est échantillonné à une fréquence constante. A partir des échantillons pris sur une durée pour laquelle on suppose que les caractéristiques statisti20 ques du signal restent constantes, on calcule des coefficients Ri de corrélation du signal échantillonné. i est un nombre entier variant de O à 10 par exemple. Ces coefficients permettent d'obtenir une condensation importante des informations caractéristiques du signal. 25 Ces coefficients de corrélation donnent un bon modèle de représentation du signal original. Les coefficients de corrélation Ri, ainsi que leur obtention sont décrits dans l'article "Single Chip LPC Vocoder" de Stephen P.Pope et aI paru dans IEEE International Solid State 30 Circuits Conference - pages 118 et 119 22 Février 1984. On sait également ces coefficients de corrélation saire d'effectuer une transi de ces coefficients vers d' dits "coefficients de corréLatig dent de meilleures propriétés de fication, de codage,... etc. aussi appelés coefficients PARCO La transformation no 10 d'obtenir les coefficients de à partir des coefficients de cc tuée gràce à un algorithme coi rithme de LEROUX-GUEGUEN. L'aLgorithme de LER 15 dans un article intitulé "A of partial correlation coeffi C.GUEGUEN paru dans la revue ASSP - June 1977. Les dispositifs con 20 mettre en oeuvre L'aLgorithme obtenir les coefficients de à partir des coefficients de i utilisent généralement des i des mémoires ainsi que muLtiptieurs,... etc. Ces une architecture compliquée; programmes de traitements coefficients de corrélation pa ne peuvent en aucun cas const 30 unique et de faibLe dimens dispositifs occupent une sur composants qui Les constituent cartes. L'invention a pour bu 35 vénients des dispositifs ex qu'après avoir caLcuLé, iL est ensuite nécesformation non Linéaire autres coefficients Ki on partiels", qui possèsensibiLité, de classiCes coefficients sont)R. )n Linéaire qui permet corrélation partieLs Ki orrélation Ri est effecnnu sous Le nom d'aLgoOUX-GUEGUEN est décrit fixed point computation cients" de J.LEROUX et IEEE Transactions on nus qui permettent de de LEROUXGUEGUEN pour corrélation partiels, corrélation d'un signal, processeurs associés à des additionneurs, dispositifs présentent ils nécessitent des pour L'obtention des irtieLs. Ces dispositifs ituer un circuit intégré ion. Généralement, ces face importante et Les peuvent occuper plusieurs t de remédier aux inconistants, permettant de mettre en oeuvre l'algorithme de LEROUX-GUEGEN, pour le codage d'un signal par prédiction linéaire. L'invention permet notamment d'obtenir un dispositif qui peut être constitué sous forme d'un circuit intégré 5 unique (ou partie de circuit), de faible surface, peu coûteux, ne nécessitant aucun programme de traitement. Dans la suite de la description, les coefficients de corrélation partiels seront appelés, de façon connue, coefficients PARCOR. L'invention a pour objet un dispositif de mise en oeuvre d'un algorithme dit de LEROUX-GUEGUEN pour le codage d'un signal par prédiction linéaire, ce dispositif recevant sur une entrée, des coefficients Ri de corrélation du signal échantillonné, 15 et fournissant sur une sortie des coefficients Ki de corrélation partiels, dits PARCOR, i étant un entier variant de 1 à un nombre p prédéterminé de coefficients, caractérisé en ce qu'il comporte 2p registres à décalage, reliés selon un anneau, de sorte qu'une sortie 20 d'un registre de rang i + 1 soit reliée à l'entrée d'un registre de rang i, une entrée du registre de rang 2p étant reliée à une sortie du registre de rang 1, un premier multiplexeur dont une entrée et une sortie relient la sortie du registre de rang 1 à l'en25 trée du registre de rang 2p, une autre entrée de ce premier multiplexeur constituant l'entrée du dispositif recevant des coefficients de corrélation Ri, un deuxième multiplexeur dont une entrée et une sortie relient la sortie du registre de rang 2p à l'entrée du registre 30 de rang 2p-1, un diviseur dont une entrée est reliée à la sortie du premier multiplexeur et dont une autre entrée est reliée à la sortie du deuxième multiplexeur, une sortie de ce diviseur constituant la sortie du dispositif fournissant les coefficients Ki PARCOR, 35 un premier multiplieur dont une entree est reliée à une sortie du registre de rang 3 et dont une autre entrée est reliée à la sortie du diviseur, un premier additionneur dont une entrée est reliée à une sortie du premier multiplieur et dont une autre entrée est 5 reliée à la sortie du registre de rang 3, une sortie de ce premier additionneur étant reliée à une entrée du premier multiplexeur, un deuxième multiplieur dont une entrée est reliée à la sortie du registre de rang 2 et dont une autre entrée est reliée à la sortie 10 du diviseur, un deuxième additionneur dont une entrée est reliée à une sortie du deuxième multiplieur et dont une autre entrée est reliée à la sortie du registre de rang 2p, une sortie de l'additionneur étant reliée à une entrée du deuxième multiplexeur, et des moyens 15 de séquencement ayant des sorties de commande reliées à des entrées de commande des premier et deuxième multiplieurs et, des premier et deuxième multiplexeurs et du diviseur, pour commander l'initialisation du dispositif par chargement des coefficients de modélisa20 tion Ri dans les registres sous forme de premières variables intermédiaires o = Ro, Il = R - Ip1 = Rp1 et o0. = Rp1 El = R1, E2 = R2..-.. Ep1 = Rp, puis pour commander le diviseur pour le calcul du EOl premier coefficient de corrélation partiel K1 = I, puis pour commander les multiplieurs pour calculer les nouvelles valeurs i O O 1 et0 Io = io + KEl........., Ip_1 = Ip-1 + KiEp et o I o o El = E2 + K1I1........, Ep = Ep+1 + Kjlp des nouvelles variables intermédiaires qui sont chargées dans les registres pour calculer le second coefficient de corrélation partiel K2 = E, et ainsi de suite jusqu'au calcul du coeffio cient de corrélation partiel Ki = --- de rang i = p. il o Les caractéristiques et avantages de L'invention ressortiront mieux de la description qui va suivre 5 donnée en référence à la figure annexée qui représente schématiquement un dispositif de mise en oeuvre d'un algorithme de LEROUX-GUEGUEN, conforme à l'invention. Cette description est donnée en exemple pour une architecture de registre série-série. Une 10 architecture parallèle n'entraînerait que quelques modifications mineures. Le dispositif reçoit sur une entrée 1 des coefficients Ri de corrélation ou de modélisation d'un signal échantillonné. Il fournit sur une sortie 2, 15 des coefficients Ki de corrélation partiels encore appelés coefficients PARCOR. L'indice i est un nombre entier variant de 1 à un nombre p prédéterminé de coefficients. Le dispositif comporte 2p registres à déca20 lage, à entrée et à sortie série. Dans l'exemple de réalisation représenté sur cette figure p = 4 et le dispositif comprend 2 x 4 = 8 registres à décalage représentés en Xl, X2, X3, X4, X5, X6, X7, X8. Ces registres sont reliés en série selon un anneau, de 25 sorte que la sortie du registre de rang i + 1 soit reliée à l'entrée du registre de rang i. Par exemple, sur cette figure, la sortie du registre de rang i + 1 = 5 est reliée à l'entrée du registre de rang i = 4. L'entrée du registre de rang 2p est reliée 30 à la sortie du registre de rang 1. Dans l'exemple représenté sur cette figure, l'entrée du registre de rang 8 est reliée à la sortie du registre de rang 1. Le dispositif comprend aussi un premier multiplexeur MUX1 dont une entrée 3 et une sortie 4 relient la 259689] sortie du registre X1 de rang 1, à L'entrée du registre X8 de ranr 2p = 8, aans L'exemple représenté sur cette figure. Un. autre entrée 5 de ce premier multiplexeur constitue l'entrée du dispositif recevant les i coefficients de corrélation Ri. Le dispositif comprend aussi un deuxième multiplexeur MUX2 dont une entrée 6 et une sortie 7 relient la sortie du registre de rang 2p (registre X8 dans l'exemple considéré), à l'entrée du registre 10 de rang 2p - 1 (registre X7 sur la figure). Les sorties 4, 7 des premier et deuxième multiplexeurs sont respectivement reliées aux entrées d'un diviseur série D. La sortie 10 de ce diviseur constitue la sortie du dispositif, qui fournit le 15 coefficient Ki PARCOR. Le dispositif comprend aussi un premier multiplieur M1 dont une entree 11 est reliée à une sortie 12 du registre X3 de rang i = 3. Une autre entrée 13 de ce premier multiplieur est reliée à la 20 sortie 10 du diviseur D. Une sortie 14 du premier multiplieur M1 est reliée à une entree 15 d'un premier additionneur A1, dont une autre entrée 16 est reliée à la sortie T2 du registre X3 de rang i = 3. Une sortie 17 du premier 25 additionneur A1 est reliée à une entrée 18 du premier multiplexeur MUX1. Le dispositif comprend aussi un deuxième multiplieur M2 dont une entree 19 est reliée à la sortie 20 du registre X2 de rang i = 2. Une autre 30 entrée 21 du deuxième multiplieur M2, est reliée à la sortie 10 du diviseur D. Une sortie 22 du deuxième multiplieur est reliée à une entrée 23 d'un deuxième additionneur A2. Une autre entrée 24 de ce deuxième additionneur est reliée à la sortie 25 du registre de rang 2p (registre X8 dans l'exemple considéré). Une sortie 26 du deuxième additionneur A2 est reliée à une entrée 27 du deuxième multiplexeur MUX2. Enfin, le dispositif comprend des moyens 5 de séquencement S ayant des sorties de commande reliées respectivement à des entrées de commande 28, 29, 30, 31, 32, des premier et deuxième multiplieurs M1, M2 et des premier et deuxième multiplexeurs MUX1 et MUX2 et du diviseur D. Le fonctionnement du dispositif 10 et le rôle des moyens de séquencement S seront décrits plus loin en détail. Les registres, multiplexeurs, additionneurs, ainsi que le diviseur, ne sont pas représentés de manière détaillée sur la figure puisque ces composants sont bien connus dans l'état de la 15 technique. Les multiplieurs M1, M2 peuvent être d'un type décrit dans l'article intitulé "Circuits for Digital Signal Processing" de H.BARRAL et N.MOREAU - ICASSP84, San Diego - Mars 1984. Le fonctionnement du dispositif et notamment 20 la mise en oeuvre de l'algorithme de LEROUX-GUEGUEN vont maintenant être décrits de manière plus détaillée. Le traitement des coefficients Ri de corrélation, appliqués à l'entrée du dispositif, et permettant d'obtenir des coefficients PARCOR Ki, met en 25 oeuvre l'algorithme de LEROUX-GUEGUEN dans lequel interviennent des variables intermédiaires. Les valeurs successives i sont, comme indiqué plus h jt comprises entre 1 et un nombre p qui est égal à 4 dans l'exemple de réalisation considéré. Les variables intermédiaires I, E utilisées dans l'algorithme de LEROUXGUEGUEN sont obtenues par traitement des coefficients de corrélation Ri, par itérations successives effectuées par le dispositif, comme le montre le tableau 1. 15 20 30 35 La partie A de ce tableau permet de mieux comprendre l'initialisation du dispositif à partir des valeurs Ri allant de Ro à Rp, (c'est-à-dire de R0 à R4 dans l'exemple de réalisation considéré). A l'initialisation, les premières variables intermédiaio o res 10... Ip correspondent respectivement aux coefficients de corrélation Ro... Rp_1. Les premières variabtes intermédiaires E1... Ep correspondent respectivement aux coefficients de corrélation R1... Rp. L'initialisation du dispositif consiste donc à charger dans les registres correspondants, ces premières variables intermédiaires. Cette opération est effectuée en appliquant les valeurs successives Ro...Rp sur l'entrée I du dispositif et en appliquant sur les entrées de commande 30, 31 des multiplexeurs MUX1, MUX2 des signaux de commande provenant des moyens de séquencement S. Ce séquencement ainsi que le chargement des registres correspondants apparaÂt dans le tableau 2. Selon le mode de réalisation représenté sur la figure, le dispositif qui comporte huit registres permet d'obtenir quatre coefficients PARCOR K1, K2,... K4, à partir de cinq coefficients de corrélation R0...R4. L'initialisation s'effectue entre les instants TO et T7 déterminés par les moyens de séquencement S. A l'instant TO, le registre X8 de rang 2p = 8 est chargé par les éléments binaires représentatifs du premier coefficient de corrélation RO. A l'instant Tl on applique à nouveau des valeurs binaires représentatives du premier coefficient de corrélation R0 sur l'entrée I du multiplexeur MUX1. Ces éléments binaires sont appliqués sur l'entrée série du registre X8 qui transfère son contenu (RO) dans le registre X7. Bien entendu, à l'instant T1 des signaux de commande sont appliqués sur les entrées de commande 31, 32 des multi- plexeurs MUX1, MUX2 par les moyens de séquencement S. Il en résulte qu'à l'instant T1, les registres X8 et X7 sont chargés respectivement par des éléments binaires correspondant au premier coefficient de corré5 lation R0. Ainsi, par des doubles répétitions des valeurs correspondant respectivement aux coefficients de corrélation RO, R1, R2, R3 appliqués aux entrées du registre X8 entre les instants To et T7 et par des décalages 10 successifs de ces valeurs à l'intérieur des registres, les registres X1 et X8 sont à l'instant T7 chargés par les coefficients de corrélation R0... R3 tels qu'indiqués dans la colonne T7 du tableau 2. A l'instant T8 les valeurs correspondant au coefficient de corréla15 tion R4 sont appliquées sur l'entrée du registre X8 opérant ainsi un décalage supplémentaire du contenu des registres. A l'instant T8, les coefficients de corrélation dont les valeurs sont chargées à l'intérieur des registres, sont indiqués dans la colonne 20 T8 du tableau 2. Ces contenus des registres X1, X8 corespondent aux première valeurs intermédiaires I et E utilisées dans l'algorithme de LEROUX-GUEGUEN. Ces valeurs intermédiaires Io...Ip_1, E...Ep sont, dans l'exemple de réalisation considéré, telles qu'indiquées 25 dans la colonne T8 du tableau 2: Io...1, E... E. A partir de l'instant T2, il est possible de calculer le premier coefficient PARCOR E1O K1 = - I défini dans l'algorithme de LEROUX-GUEGUEN. En effet, à l'instant T2, les valeurs correspondant 30 aux coefficients de corrélation R1 et R0 sont disponibles respectivement sur l'entrée et sur la sortie du registre X8, qui sont respectivement reliées aux entrées du diviseur D. Ce diviseur reçoit sur son entrée 32 un signal de commande fourni par les moyens de 35 séquencement S. Toute cette phase d'initiaLisation est décrite dans La partie A du tableau 1. A L'instant T9 commence La première itération qui va permettre de caLcuLer Le deuxième coefficient E1 PARCOR K2 = - défini dans L'algorithme de LEROUX-GUEGUEN. Cette première itération est décrite dans La partie B du tableau 1. Elle permet une réactuaLisation des variables I, E. A L'instant T9 o on applique La valeur Io correspondant au coefficient 10 de corrélation R0 sur l'entrée du registre X8, par L'intermédiaire du muLtiplexeur MUX1 commandé par Les moyens de séquencement S. Il en résuLte que le contenu de chaque registre de rang i est transféré dans Le registre de rang i-1. C'est ainsi par exempLe 15 que Le contenu E4 du registre X8 est transféré dans o Le registre X7, que Le contenu I3 du registre X7 est transféré dans le registre X6,... etc. Les vaLeurs des coefficients contenues dans les différents registres à L'instant T9 sont indiquées dans la colonne 20 correspondante du tableau 2. Selon l'algorithme de LEROUX-GUEGUEN, les nouveLLes variables intermédiaires Io...I1p- et El...Ep sont obtenues en effectuant les opérations de multipLication et d'addition indiquées dans la partie B du '25 tabLeau 1. Le calcul des nouvelles variables intermé1 I diaires I et E1 est effectué de la manière suivante. A l'instant T8, la variable intermédiaire El est disponible selon la sortie du registre X2. La variable 30 intermédiaire 18 est disponible sur La sortie du registre X8 à l'instant T9. IL est donc possible de calculer grâce aux multiplieurs M2 à l'additionneur A2 la nou1 o o velle variable intermédiaire Io = Io + KIE1 qui est appliquée par la sortie 26 de l'additionneur A2 sur l'entrée 27 du multiplexeur MUX2. Cette nouvelle valeur I1 est chargée dans le registre X7 à l'instant T10. De la même manière et par suite des décalages, la valeur Il est disponible sur la sortie du registre X3 à l'instant T8 et la valeur E2 est disponible sur la sortie de ce registre à l'instant T9. Le multiplieur M1 et l'additionneur A1 calculent alors la nouvelle 1 o o variable intermédiaire E1 = E2 + K11l. Cette nouvelle variable intermédiaire est fournie sur la sortie 17 10 de l'additionneur A1; elle est appliquée au multiplexeur MUX1 pour être transférée dans le registre X8 à l'instant T10. A l'instant T9, des décalages se sont opérés dans les contenus des registres, de sorte que le contenu 15 du registre X2 est transféré dans le registre Xl, le contenu du registre X3 est transféré dans le registre X2..., le contenu du registre X8 étant transféré dans le registre X7. A partir de l'instant T10, le diviseur D 20 relié aux entrées des registres X7 et X8 calcule le deuxième coefficient PARCOR K2 = E1 à partir des contenus des registres X8 et X7. Les mêmes opérations de décalage et de calcul sont ensuite effectuées pour calculer les nouvelles variables intermédiaires I1E2 à l'instant T12, les 1 2 i nouvelles variables intermédiaires I12, 13 à l'instant T14... etc. On a effectué ainsi, grâce à cette itéra30 tion, une réactualisation des variables intermédiaires I, E. Comme le montre la partie C du tableau, une deuxième itération analogue à la première itération qui vient d'être décrite, permet d'obtenir de nouvelles 35 variables intermédiaires, et de calculer ainsi le troisième coefficient PARCOR E1 K3 =- 1 Des itérations successives permettent ainsi d'arriver au calcul du dernier coefficient PARCOR Ki = E1 Ki = -i de rang i = p. Dans l'exemple de réalisation Ji 3 o El considéré ce coefficient est le coefficient K4 = - ' Le tableau 3 donne un calcul intermédiaire 10 que doivent effectuer les additionneurs, les multiplieurs, ainsi que le diviseur, pour calculer les coefficients PARCOR K1, K2, K3, K4 dans l'exemple de réalisation considéré. p TABLEAU 1 A PREMIERE ITERATION B c Réactualisation des variables I et E I o oi O =o o1 +l K= E 2 + KI1 =0 E0 21=E + K E E E0 O l p- p-1 p p+ + KIp i E1 calcul de K2 = 2 i DEUXIEME ITERATION Réactualisation des variables I et E Io =10 + K2E1 E1 E 2+ K2 1 :2 1 i *2 i calcul de K3 K o o E1 2 I._I IN SC IV2 INTERACTIONS SUCCESSIVES JUSQU'A Kp [ [ D 0% Co O% in q- z nv318v1 1 1 1 1 1 1, 1 cI -J = F- Yw I N _|N o NN+ NNII mi. -I-O N t rj- b '1 + + +i* W N YI IV 3 I I I II - O.- tu N N ,., t-4 t- k-I1 W-1 + + + + I t- t- t- N t- t- tr,-J l Y YI I II II Il n 0 Nt- NtM r O -4 O N OLl III 0 0 0 ' - C 0 Wl 0 Wi Y ll ll ll ll bl1 w O,-I.o O + + + + + + O.- O Nl 0mi 0Ot- 0 N 0 1 II II II II II 1 tc- O t- - t- %N,c- - t-- N' t- 1 O - O N" mi,,-I i t.- N Il Il Il 01m O O N b-4 W W I I Cr Mi o r> W j It il 0 -t W 1 0 :: 03 REVENDICATION Dispositif de mise en oeuvre d'un algorithme dit de LEROUX-GUEGUEN pour le codage d'un signal par prédiction linéaire, ce dispositif recevant sur une entrée (1) des coefficients Ri de corrélation du signal échantillonné, et fournissant sur une sortie (2) des coefficients Ki de corrélation partiels dits PARCOR, i étant un entier variant de 1 à un nombre p prédéterminé de coefficients, caractérisé en ce qu'il comporte 2p registres (X1...X8...X2p) à décalage, reliés selon un anneau, de sorte qu'une sortie d'un registre de rang i + 1 soit reliée à une entrée du registre de rang i, une entrée du registre de rang 2p étant reliée à une sortie du registre de rang 1, un premier multipLexeur (MUX1) dont une entree et une sortie relient une sortie du registre (X1) de rang I à une entree du registre (X8) de rang 2p, une autre entrée (5) de ce premier multiplexeur constituant l'entrée (1) du dispositif qui reçoit les coefficients de correlation Ri, un deuxième multiplexeur (MUX2) dont une entrée et une sortie relient une sortie du registre (X8) de rang 2p à une entrée du registre (X7) de rang 2p-1, un diviseur (D) dont une entrée est reliée à une sortie du premier multiplexeur (MUX1)et dont une autre entrée est reliée à une sortie du deuxième multiplexeur (MUX2), une sortie (10) de ce diviseur constituant la sortie (2) du dispositif fournissant les coefficients Ki PARCOR, un premier multiplieur (M1) dont une entrée est reliée à une sortie du registre (X3) de rang 3 et dont une autre entrée est reliée à la sortie du diviseur, un premier additionneur (A1)dont une entrée est reliée à une sortie du premier multiplieur (M1) et dont une autre entrée est reliée à une sortie du registre de rang 3, une sortie de ce premier additionneur étant reliée à une entrée du premier multiplexeur (MUX1), un deuxième multiplieur (M2) dont une entrée est reliée à une sortie du registre de rang 2 et dont une autre entrée est reliée à la sortie du diviseur (D), un deuxième additionneur (A2) dont une entrée 5 est reliée à une sortie du deuxième multiplieur (M2) et dont une autre entree est reliée à la sortie du registre (X8) de rang 2p, une sortie du deuxième additionneur (A2) étant reliée à une entrée du deuxième multiplexeur (MUX2), et des moyens de séquencement 10 (S) ayant des sorties de commande reliées à des entrées de commande des premier et deuxième multiplieurs (M1, M2), des premier et deuxième multiplexeurs (MUX1, MUX2), pour commander l'initialisation du dispositif par chargement des coefficients de corrélation Ri dans les registres, sous forme de premières variables intermédiaires Io= O I = Ro I = R1........ Ipo-1 = Rp_1 et o o E1 = R1, E2 = R2........E = Rp, puis pour commander le diviseur pour le calculo du E1 premier coefficient de corrélation partiel K1 = i8 puis pour commander les multiplieurs pour calculer les nouvelles valeurs i o o Il - - o Io = o + K1E1.., Ip-1 = Ip-1 + KIEp et I = i o + 1.... Ei o o i o 1 I o E1 = E2 + KI......... Ep = Ep+ + K1Ip des variables intermédiaires qui sont chargées dans les registres pour calculer le second coefficient de corrélation partiel K2 = I et ainsi de suite jusqu'au calcul du coefficient de corrélation partiel E1 Ki = - de rang i = p. i& Ir