[0001] 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.
[0002] 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).
[0003] 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.
[0004] 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é.
[0005] 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.
[0006] 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.
[0007] 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.
[0008] 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é.
[0009] 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.
[0010] 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.
[0011] 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).
[0012] 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é.
[0013] Sur le schéma de la figure 2, le signal acoustique d'entrée S
I 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.
[0014] Le dispositif de prétraitement 10 comprend un filtre passe-haut 16 recevant le signal
acoustique d'entrée S
I et délivrant un signal filtré S
I′. Le filtre 16 est typiquement un filtre numérique de type bi-quad ayant une coupure
abrupte à 400 Hz. Les énergies E1 et E2 contenues dans chaque trame du signal acoustique
d'entrée S
I et du signal filtré S
I' 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 E1 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
Y
A), et 1 lorsqu'il déterminé que le signal est plutôt de type linéaire (état Y
B).
[0015] 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 Y
A), le commutateur 21 est dans la position représentée sur la figure 2, et le signal
acoustique d'entrée S
I est adressé à l'entrée du codeur 12. Dans l'autre position (Y = 1, état Y
B), c'est la sortie du filtre de préaccentuation 22 qui est adressée à l'entrée du
codeur 12. Le filtre de préaccentuation 22 reçoit le signal filtré passe-haut S
I' et lui applique une fonction de transfert de la forme H(z) = 1-β/z, dans laquelle
β 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.
[0016] 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 S
I' lorsqu'on a déterminé que le signal est dans l'état Y
A 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
β dans le filtre 22 en fonction de la valeur du bit d'état Y (par exemple β = 0 lorsque
Y = 0 et β = 0,4 lorsque Y = 1).
[0017] 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 S
I est adressée à l'entrée d'un comparateur à seuil 25 qui délivre un bit Z de valeur
0 lorsque l'énergie E1 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é.
[0018] Les énergies E1 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 Y
A), et la condition X = 1 correspond aux caractéristiques linéaires (état Y
B). 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.
[0019] Le fonctionnement du circuit 29 de détermination d'état est illustré sur la figure
4, où le chronogramme supé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 variable V est incrémentée
d'une unité chaque fois que la condition X du signal sur une trame diffère de celle
correspondant à 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 4, le signal est dans l'état Y
A jusqu'à la trame M, dans l'état Y
B entre les trames M et N (changement de la source de signal), puis de nouveau dans
l'état Y
A à partir de la trame N. Bien entendu, d'autres modes d'incrémentation et de décrémentation
et d'autres valeurs de seuil seraient utilisables.
[0020] 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 0 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 ≠ 0. Lorsque l'énergie du signal d'entrée est insuffisante, on a Z =
0 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.
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 (E1) 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 (E1) de la trame
du signal non filtré (SI) ou dans une seconde condition, correspondant au second état (YB), 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 passe-haut (16) recevant ledit signal
acoustique (SI), des moyens (17,18) pour calculer les énergies (E1,E2) contenues respectivement
dans ledit signal acoustique (SI) et dans le signal de sortie (SI') 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 (E1,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 (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) indique 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é.