Brevet FR2720849A1 — publié le 19951208

PROCEDE ET DISPOSITIF DE PRETRAITEMENT D'UN SIGNAL ACOUSTIQUE EN AMONT D'UN CODEUR DE PAROLE La présente invention concerne un procédé et un dispositif de prétraitement du signal acoustique fourni à un codeur de parole. Elle s'applique notamment, mais non exclusivement, pour améliorer les performances des codeurs de parole à bas débit. Les codeurs de parole à bas débit (typiquement 5 kbit/s pour une fréquence d'échantillonnage de 8 kHz) actuels donnent leur meilleure performance sur des signaux présentant un spectre "téléphonique, c'est-à- dire dans la bande 300-3400 Hz et avec une préaccentuation dans les fréquences élevées. Ces caractéristiques spectrales correspondent au gabarit IRS (Intermediate Reference System) défini par le CCITT dans la Recommandation P48. Ce gabarit a été défini pour les combinés téléphoniques, aussi bien en entrée (microphone) qu'en sortie (écouteurs). Cependant, il arrive de plus en plus fréquemment que le signal d'entrée d'un codeur de parole présente un spectre plus "plat', par exemple lorsqu'une installation mains libres est utilisée, employant un microphone à réponse en fréquence linéaire. Les vocodeurs habituels sont conçus pour être indépendants de l'entrée avec laquelle ils fonctionnent, et ils ne sont d'ailleurs pas informés des caractéristiques de cette entrée. Si des microphones de caractéristiques différentes sont susceptibles d'être raccordés au vocodeur, ou plus généralement si le vocodeur est susceptible de recevoir des signaux acoustiques présentant des caractéristiques spectrales différentes, il y a alors des cas o le vocodeur est utilisé de façon sous- optimale. Dans ce contexte, un but principal de la présente invention est d'améliorer les performances d'un vocodeur en les rendant moins dépendantes des caractéristiques spectrales du signal qui lui est destiné. Le procédé selon l'invention consiste à soumettre le signal acoustique d'entrée à un filtrage passe-haut, à comparer l'énergie du signal filtré passe-haut à celle du signal non filtré pour déterminer un état du signal parmi un premier état pour lequel l'énergie du signal filtré passe- haut est supérieure à une fraction prédéterminée de l'énergie du signal non filtré, et un second état pour lequel l'énergie du signal filtré passe-haut est inférieure à la fraction prédéterminée de l'énergie du signal non filtré, et à adresser à l'entrée du codeur le signal filtré passe-haut soumis à une préaccentuation des hautes fréquences lorsque le signal est dans son second état. Le filtre passe-haut utilisé est typiquement un filtre à coupure abrupte à 400 Hz, et la fraction énergétique prédéterminée est typiquement de 85 à 95%. Le premier état du signal correspond aux caractéristiques IRS, et le second état correspond à un spectre plus plat du signal acoustique d'entrée contenant proportionnellement plus d'énergie aux basses fréquences. Avec le procédé selon l'invention, un tel signal à spectre plat est prétraité (filtrage passe-haut et préaccentuation) pour rendre ses caractéristiques spectrales plus proches de celles du gabarit IRS. L'utilisation d'un filtrage passe-haut pour déterminer l'état du signal présente l'avantage, par rapport à un filtrage passe- bas, de permettre d'utiliser le signal filtré pour l'adresser (après préaccentuation) à l'entrée du vocodeur. De préférence, l'état déterminé du signal ne peut être modifié que lorsque le signal acoustique d'entrée, ou le signal filtré passe-haut, a une énergie supérieure à un seuil prédéterminé. En effet, dans le cas contraire (par exemple en zone de silence ou de faible bruit ambiant), l'énergie du signal est trop faible pour qu'on puisse évaluer de façon fiable ses caractéristiques spectrales. Lorsque le signal acoustique est numérisé en trames successives, on détecte si le signal inclus dans chaque trame est dans une première condition correspondant au premier état ou dans une seconde condition correspondant au second état, et on détermine l'état du signal sur la base des conditions trame par trame, en ne modifiant l'état déterminé qu'après que plusieurs trames successives montrent une condition de signal différente de celle correspondant à l'état précédemment déterminé. Ceci introduit une sorte d'hystérésis qui permet de prendre en compte les variations rapides de l'enveloppe spectrale du signal de parole, due au bruit ambiant ou à la parole elle-même (le timbre de la voix n'est pas constant). On réduit ainsi les risques de fausse détermination de l'état du signal, ce qui conduit à une meilleure qualité du signal codé et évite d'introduire des discontinuités de timbre qui pourraient être dues à des modifications intempestives de l'état déterminé. Le dispositif de prétraitement selon l'invention comprend un filtre passe-haut recevant le signal acoustique d'entrée, des moyens pour calculer les énergies contenues respectivement dans ledit signal acoustique et dans le signal de sortie du filtre passe-haut, des moyens de comparaison des énergies calculées, et un filtre de préaccentuation des hautes fréquences, dont l'entrée reçoit le signal de sortie du filtre passe-haut, et dont la sortie délivre le signal adressé à l'entrée du codeur lorsque les moyens de comparaison révèlent que le signal de sortie du filtre passe-haut contient moins qu'une fraction prédéterminée de l'énergie dudit signal acoustique. D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après d'un exemple de réalisation préféré mais non limitatif, en référence aux dessins annexés, dans lesquels: - la figure 1 est un diagramme illustrant les caractéristiques d'un signal acoustique de type IRS et d'un signal de type linéaire; - la figure 2 est un schéma synoptique d'un dispositif de prétraitement selon l'invention; - la figure 3 est un schéma plus détaillé des moyens de comparaison du dispositif de la figure 2; et - la figure 4 montre des chronogrammes illustrant le mode de détermination de l'état du signal par les moyens de la figure 3. Sur la figure 1, les deux lignes en traits pleins correspondent à l'encadrement du gabarit IRS défini pour des microphones dans la Recommandation P48 du CCITT. On voit qu'un signal de microphone de type IRS présente une forte atténuation dans la partie basse du spectre (entre 0 et 300 Hz) et une relative accentuation dans les hautes fréquences. En comparaison, un signal de type linéaire, fourni par exemple par le microphone d'une installation mains libres, présente un spectre plus plat, n'ayant notamment pas la forte atténuation aux basses fréquences (un exemple typique d'un tel signal de type linéaire est illustré par une ligne en tirets sur le diagramme de la figure 1). On tire parti de ces propriétés spectrales dans le dispositif de prétraitement 10 selon l'invention, schématisé sur la figure 2. Ce dispositif traite le signal d'entrée fourni par une source de signal acoustique pour l'adresser à un codeur de parole 12. Le codeur 12 est un codeur à bas débit optimisé pour un signal d'entrée de type IRS. Il peut être, entre autres, un codeur à prédiction linéaire à excitation par des vecteurs d'impulsions régulières (RP- CELP), tel que décrit dans le document EP-A-0 347 307. Le codeur 12 n'a pas de connaissance a priori de la source du signal acoustique qui lui est adressé. Sur le schéma de la figure 2, le signal acoustique d'entrée SI est le signal de sortie d'un microphone 13 qui a été amplifié et numérisé par un convertisseur analogique- numérique 14. Le signal est typiquement numérisé à une cadence d'échantillonnage de 8 kHz, et mis sous forme de trames successives de 30 ms contenant chacune 240 échantillons de 16 bits. Le dispositif de prétraitement 10 comprend un filtre passe-haut 16 recevant le signal acoustique d'entrée SI et délivrant un signal filtré SI'. Le filtre 16 est typiquement un filtre numérique de type bi- quad ayant une coupure abrup- te à 400 Hz. Les énergies El et E2 contenues dans chaque trame du signal acoustique d'entrée SI et du signal filtré SI' sont calculées par deux unités 17, 18 effectuant chacune la somme des carrés des échantillons de chaque trame qu'elle reçoit. Les énergies calculées El et E2 sont fournies à une unité de comparaison 20 qui détermine l'état du signal sous la forme d'un bit Y qui vaut 0 lorsqu'il est déterminé que le signal est de type IRS (état YA), et 1 lorsqu'il dé- terminé que le signal est plutôt de type linéaire (état Y8). La sortie du dispositif de prétraitement 10 reliée à l'entrée du codeur 12 est constituée par une borne d'un commutateur 21 dont l'autre borne est reliée soit à l'entrée du filtre passe-haut 16, soit à la sortie d'un filtre de préaccentuation 22, suivant la valeur du bit Y délivré par l'unité de comparaison 20. Lorsque Y = 0 (état YA), le commutateur 21 est dans la position représentée sur la figure 2, et le signal acoustique d'entrée SI est adressé à l'entrée du codeur 12. Dans l'autre position (Y = 1, état YB)' c'est la sortie du filtre de préaccentuation 22 qui est adressée à l'entrée du codeur 12. Le filtre de préaccen- tuation 22 reçoit le signal filtré passe-haut SI' et lui applique une fonction de transfert de la forme H(z) = 1-P/z, dans laquelle P désigne un coefficient de préaccentuation qui est typiquement de l'ordre de 0,4. Ainsi, lorsque le signal acoustique est de type linéaire, il est transformé par filtrage passe-haut (filtre 16) et préaccentuation (filtre 22) pour être adressé à l'entrée du codeur 12 avec des caractéristiques spectrales plus proches de celles du gabarit IRS. Etant donné que le filtre passe-haut 16 n'affecte que peu le signal d'entrée lorsque celui-ci a des caractéristiques IRS, il est également possible de fournir au codeur 12 le signal filtré passe-haut SI' lorsqu'on a déterminé que le signal est dans l'état YA correspondant aux caractéristiques IRS. Une variante du schéma de la figure 2 consiste alors à se dispenser du commutateur 21 en reliant directement la sortie du filtre de préaccentuation 22 à l'entrée du codeur 12, et à commander la valeur du coefficient 5 dans le filtre 22 en fonction de la valeur du bit d'état Y (par exemple 0 = 0 lorsque Y = 0 et J = 0,4 lorsque Y = 1). L'unité de comparaison 20 est par exemple conforme au schéma illustré sur la figure 3. L'énergie E1 de chaque trame du signal d'entrée SI est adressée à l'entrée d'un comparateur à seuil 25 qui délivre un bit Z de valeur 0 lorsque l'énergie El est inférieure à un seuil d'énergie prédéterminé, et de valeur 1 lorsque l'énergie E1 est supérieure au seuil. Le seuil d'énergie est typiquement de l'ordre de -38 dB par rapport à l'énergie de saturation du signal. Le comparateur 25 sert à inhiber la détermination de l'état du signal lorsque celui-ci contient trop peu d'énergie pour être représentatif des caractéristiques de la source. Dans ce cas, l'état déterminé du signal reste inchangé. Les énergies El et E2 sont adressées à un diviseur numérique 26 qui calcule le rapport E2/E1 pour chaque trame. Ce rapport E2/E1 est adressé à un autre comparateur à seuil 27 qui délivre un bit X de valeur 0 lorsque le rapport E2/E1 est supérieur à un seuil prédéterminé, et de valeur 1 lorsque le rapport E2/E1 est inférieur au seuil. Ce seuil sur le rapport E2/E1 est typiquement de l'ordre de 0,93. Le bit X est représentatif d'une condition du signal sur chaque trame. La condition X = 0 correspond aux caractéristiques IRS du signal d'entrée (état YA), et la condition X = 1 correspond aux caractéristiques linéaires (état YB). Pour éviter des changements d'état répétés et intempestifs à l'occasion des variations à court terme de l'excitation vocale, le bit d'état Y n'est pas pris directement égal au bit de condition X, mais il résulte d'un traitement des bits de condition successifs X par un circuit 29 de détermination d'état. Le fonctionnement du circuit 29 de détermination d'état est illustré sur la figure 4, o le chronogranmme su- périeur illustre un exemple d'évolution du bit X fourni par le comparateur 27. Le bit d'état Y (chronogramme inférieur) est initialisé à 0, car les caractéristiques IRS sont le plus fréquemment rencontrées. On calcule trame après trame une variable de comptage V initialement mise à 0. La varia- ble V est incrémentée d'une unité chaque fois que la condi- tion X du signal sur une trame diffère de celle correspon- dant à l'état déterminé Y (X = 1 et Y = 0, ou X = 0 et Y = 1). Dans le cas contraire (X = Y = 0 ou 1) la variable V est décrémentée de deux unités si elle est différente de 0 et de 1, décrémentée d'une unité si elle est égale à 1, et maintenue inchangée si elle est égale à 0. Dès que la variable V atteint un seuil prédéterminé (8 dans l'exemple considéré), on la remet à 0 et on change la valeur du bit Y, de sorte qu'on détermine que le signal a changé d'état. Ainsi, dans l'exemple représenté sur la figure 5, le signal est dans l'état YA jusqu'à la trame M, dans l'état YB entre les trames M et N (changement de la source de signal), puis de nouveau dans l'état YA à partir de la trame N. Bien entendu, d'autres modes d'incrémentation et de décrémen- tation et d'autres valeurs de seuil seraient utilisables. Le mode de comptage ci-dessus peut par exemple être obtenu par le circuit 29 représenté sur la figure 3. Ce circuit comprend un compteur 32 sur quatre bits, dont le bit de poids fort correspond au bit d'état Y, et dont les trois bits de poids faible représentent la variable de comptage V. Les bits X et Y sont fournis à l'entrée d'une porte OU EXCLUSIF 33 dont la sortie est adressée à l'entrée d'incrémentation du compteur 32 par l'intermédiaire d'une porte ET 34 dont l'autre entrée reçoit le bit Z fourni par le comparateur à seuil 25. Ainsi, la variable V est incrémentée lorsque X É Y et Z = 1. La sortie inversée de la porte 33 est fournie -à une entrée de décrémentation du compteur 32 par l'intermédiaire d'une autre porte ET 35 dont les deux autres entrées reçoivent respectivement le bit Z fourni par le comparateur 25, et la sortie d'une porte OU à trois entrées 36 recevant les trois bits de poids faible du compteur 32. Le compteur 32 est agencé pour dédoubler les impulsions reçues sur son entrée de décrémentation lorsque son bit de poids le plus faible vaut O ou lorsque l'un au moins des deux bits suivants vaut 1, comme schématisé par la porte OU 37 sur la figure 3. Ainsi, le compteur 32 est décrémenté (d'une unité si V = 1 et de deux unités si V > 1) lorsque X = Y et Z = 1 et V X O. Lorsque l'énergie du signal d'entrée est insuffisante, on a Z = O et le circuit de détermination 29 n'est pas activé car les portes ET 34, 35 empêchent de modifier la valeur du compteur 32. REVENDICATIONS 1. Procédé de prétraitement d'un signal acoustique en amont d'un codeur de parole (12), caractérisé en ce qu'on soumet le signal acoustique (SI) à un filtrage passe-haut, on compare l'énergie (E2) du signal filtré passe-haut (SI') à celle (El) du signal non filtré pour déterminer un état (Y) du signal parmi un premier état (YA) pour lequel l'énergie du signal filtré passe-haut est supérieure à une fraction prédéterminée de l'énergie du signal non filtré et un second état (YB) pour lequel l'énergie du signal filtré passe-haut est inférieure à la fraction prédéterminée de l'énergie du signal non filtré, et on adresse à l'entrée du codeur (12) le signal filtré passe-haut soumis à une préaccentuation des hautes fréquences lorsque le signal est dans son second état. 2. Procédé selon la revendication 1, caractérisé en ce qu'on ne modifie pas l'état déterminé du signal lorsque ledit signal acoustique ou le signal filtré passe-haut a une énergie inférieure à un seuil prédéterminé. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que le signal acoustique (SI) étant numérisé en trames successives, on détecte trame par trame si le signal est dans une première condition, correspondant au premier état (YA), pour laquelle l'énergie calculée (E2) de la trame du signal filtré passe-haut (SI') est supérieure à la fraction prédéterminée de l'énergie calculée (El) de la trame du signal non filtré (SI) ou dans une seconde condition, correspondant au second état (Y.), pour laquelle l'énergie calculée de la trame du signal filtré passe-haut est inférieure à la fraction prédéterminée de l'énergie calculée de la trame du signal non filtré, et on détermine l'état (Y) du signal sur la base des conditions trame par trame (X), en ne modifiant l'état déterminé qu'après que plusieurs trames successives montrent une condition de signal différente de celle correspondant à l'état précédemment déterminé. 4. Procédé selon la revendication 3, caractérisé en ce qu'on incrémente une variable de comptage (V) lorsque la condition (X) du signal sur une trame diffère de celle correspondant à l'état déterminé (Y) du signal, en ce qu'on décrémente cette variable de comptage (V) lorsque la condition du signal sur une trame est celle correspondant à l'état déterminé du signal sauf si cette variable vaut zéro et en ce que, lorsque la variable de comptage (V) atteint un seuil prédéterminé, on la remet à zéro et on détermine que le signal a changé d'état. 5. Dispositif (10) de prétraitement d'un signal acoustique en amont d'un codeur de parole (12), caractérisé en ce qu'il comprend un filtre passehaut (16) recevant ledit signal acoustique (SI), des moyens (17,18) pour calculer les énergies (El,E2) contenues respectivement dans ledit signal acoustique (SI) et dans le signal de sortie (S1') du filtre passe-haut, des moyens (20) de comparaison des énergies calculées, et un filtre (22) de préaccentuation des hautes fréquences, dont l'entrée reçoit le signal de sortie du filtre passe-haut, et dont la sortie délivre le signal adressé à l'entrée du codeur (12) lorsque les moyens de comparaison (20) révèlent que le signal de sortie du filtre passe-haut contient moins qu'une fraction prédéterminée de l'énergie dudit signal acoustique. 6. Dispositif selon la revendication 5, caractérisé en ce que, le signal acoustique étant numérisé en trames successives, les énergies (El,E2) sont calculées pour chaque trame par les moyens de calcul (17,18), et les moyens de comparaison (20) comprennent un comparateur (27) qui détecte trame par trame si le signal est dans une première ou une deuxième condition suivant que le rapport (E2/E1) entre l'énergie calculée du signal de sortie du filtre passe-haut (16) et l'énergie calculée dudit signal acoustique (SI) est supérieur ou, respectivement, inférieur à une valeur prédéterminée, et des moyens (29) pour déterminer un état ll (Y) du signal parmi des premier et second états (YA'YB) correspondant respectivement aux première et deuxième conditions du signal par trame, ces moyens (29) ne modifiant l'état déterminé du signal qu'après que le comparateur (27) indique pour plusieurs trames successives une condition de signal différente de celle correspondant à l'état précédemment déterminé, et le filtre de préaccentuation (22) n'étant utilisé pour filtrer le signal adressé à l'entrée du codeur (12) que lorsque les moyens (29) ont déterminé que le signal est dans son second état. 7. Dispositif selon la revendication 6, caractérisé en ce que les moyens (29) de détermination de l'état du signal comprennent un compteur (32) calculant après chaque trame une variable de comptage (V) en l'incrémentant lorsque le comparateur (27) indique une condition de signal différente de celle correspondant à l'état déterminé du signal, en la décrémentant, sauf si elle vaut zéro, lorsque le comparateur (27) unique une condition de signal identique à celle correspondant à l'état déterminé du signal, et en la remettant à zéro lorsqu'elle atteint un seuil prédéterminé, l'état déterminé (Y) du signal étant modifié à chaque remise à zéro de la variable de comptage (V). 8. Dispositif selon la revendication 6 ou 7, caractérisé en ce qu'il comprend un autre comparateur (25) qui compare l'énergie calculée dudit signal acoustique ou du signal filtré passe-haut à un seuil prédéterminé, pour n'activer les moyens (29) de détermination de l'état du signal que lorsque ledit seuil est dépassé.