[0001] La présente invention concerne le traitement de signaux audionumériques, tels que
des signaux de parole en télécommunication, en particulier au décodage de tels signaux.
[0002] On rappelle rapidement qu'un signal de parole peut être prédit à partir de son passé
récent (par exemple de 8 à 12 échantillons à 8 kHz) au moyen de paramètres évalués
sur des fenêtres courtes (10 à 20 ms dans cet exemple). Ces paramètres de prédiction
à court terme, représentatifs de la fonction de transfert du conduit vocal (par exemple
pour prononcer des consonnes), sont obtenus par des méthodes d'analyse LPC (pour "
Linear Prediction Coding"). On met en oeuvre aussi une corrélation à plus long terme pour déterminer des périodicités
de sons voisés (par exemple les voyelles) dues à la vibration des cordes vocales.
Il s'agit donc de déterminer au moins la fréquence fondamentale du signal voisé qui
varie typiquement de 60 Hz (voix grave) à 600 Hz (voix aiguë) selon les locuteurs.
On détermine alors, par une analyse LTP (pour "
Long Term Prediction"), les paramètres LTP d'un prédicteur à long terme, et en particulier l'inverse de
la fréquence fondamentale, appelée souvent "
période de pitch". On définit alors le nombre d'échantillons dans une période de pitch par le rapport
F
e/F
0 (ou sa partie entière), où :
- Fe est la cadence d'échantillonnage, et
- F0 est la fréquence fondamentale.
[0003] On retiendra donc que les paramètres de prédiction à long terme LTP, dont la période
de pitch, représentent la vibration fondamentale du signal de parole (lorsqu'il est
voisé), tandis que les paramètres de prédiction à court terme LPC représentent l'enveloppe
spectrale de ce signal.
[0004] L'ensemble de ces paramètres LPC et LTP, résultant donc d'un codage de parole, est
transmis par blocs vers un décodeur homologue, via un ou plusieurs réseaux de télécommunication,
pour restituer ensuite le signal de parole initial.
[0005] Dans le cadre de la communication de tels signaux par blocs, la perte d'un ou de
plusieurs blocs consécutifs peut survenir. On entend par le terme "
bloc" une succession de données de signal qui peut être par exemple une trame en communication
radiomobile, ou encore un paquet par exemple en communication sur IP (pour "
Internet Protocol"), ou autres.
[0006] En communication radiomobile par exemple, la plupart des techniques de codage par
synthèse prédictive, et notamment le codage de type CELP (pour "
Code Excited Liner Predictive"), proposent des solutions pour récupérer des trames effacées. Le décodeur est informé
de l'occurrence d'une trame effacée, par exemple par la transmission d'une information
d'effacement de trame provenant du décodeur canal. La récupération de trames effacées
a pour objectif d'extrapoler les paramètres de la trame effacée à partir d'une ou
plusieurs trames précédentes considérées comme valides. Certains paramètres manipulés
ou codés par les codeurs prédictifs présentent une forte corrélation entre trames.
Il s'agit typiquement des paramètres de prédiction à long terme LTP, pour les sons
voisés par exemple, et des paramètres de prédiction à court terme LPC. Du fait de
cette corrélation, il est beaucoup plus avantageux de réutiliser les paramètres de
la dernière trame valide pour synthétiser la trame effacée, que d'utiliser des paramètres
aléatoires, voire erronés.
[0007] En génération d'excitation CELP, les paramètres de la trame effacée sont classiquement
obtenus comme suit.
[0008] Les paramètres LPC d'une trame à reconstruire sont obtenus à partir des paramètres
LPC de la dernière trame valide, par simple recopie des paramètres ou encore avec
introduction d'un certain amortissement (technique utilisée par exemple dans le codeur
normalisé G723.1). Ensuite, on détecte un voisement ou un non voisement dans le signal
de parole pour déterminer un degré d'harmonicité du signal au niveau de la trame effacée.
[0009] Si le signal est non voisé, un signal d'excitation peut être généré de manière aléatoire
(par tirage d'un mot de code de l'excitation passée, par léger amortissement du gain
de l'excitation passée, par sélection aléatoire dans l'excitation passée, ou en utilisant
encore des codes transmis qui peuvent être totalement erronés).
[0010] Si le signal est voisé, la période de pitch (appelée aussi "
délai LTP") est généralement celle calculée pour la trame précédente, éventuellement avec une
légère "gigue" (augmentation de la valeur du délai LTP pour les trames d'erreur consécutive,
le gain LTP étant pris très voisin de 1 ou égal à 1). Le signal d'excitation est donc
limité à la prédiction à long terme effectuée à partir d'une excitation passée.
[0011] Les moyens de dissimulation des trames effacées, au décodage, sont généralement fortement
liés à la structure du décodeur et peuvent être communs à des modules de ce décodeur,
comme par exemple le module de synthèse du signal. Ces moyens utilisent aussi des
signaux intermédiaires disponibles au sein du décodeur, comme par exemple le signal
d'excitation passé et mémorisé lors du traitement des trames valides précédant les
trames effacées.
[0012] Certaines techniques utilisées pour dissimuler les erreurs produites par des paquets
perdus lors du transport de données codées selon un codage de type temporel font souvent
appel à des techniques de substitution de formes d'ondes. De telles techniques visent
à reconstituer le signal en sélectionnant des portions du signal décodé avant la période
perdue et ne font pas appel à des modèles de synthèse. Des techniques de lissage sont
également mises en oeuvre pour éviter les artefacts produits par la concaténation
des différents signaux.
[0013] Pour les décodeurs opérant sur des signaux codés par codage par transformée, les
techniques de reconstruction des trames effacées s'appuient généralement sur la structure
de codage utilisée. Certaines techniques visent à régénérer les coefficients transformés
perdus à partir des valeurs prises par ces coefficients avant l'effacement.
[0014] D'autres techniques de dissimulation des trames effacées ont été développées conjointement
avec le codage canal. Elles se servent d'informations fournies par le décodeur canal,
par exemple d'informations concernant le degré de fiabilité des paramètres reçus.
On indique ici qu'au contraire, l'objet de la présente invention ne présuppose pas
l'existence d'un codeur canal.
[0015] On a proposé, dans le document Combescure et al. :
"A 16,24,32 kbit/s Wideband Speech Codec Based on ATCELP", P.Combescure, J.Schnitzler,
K.Ficher, R.Kirchherr, C.Lamblin, A.Le Guyader, D.Massaloux, C.Quinquis, J.Stegmann,
P.Vary, Proceedings Conference ICASSP (1998), l'usage d'une méthode de dissimulation des trames effacées équivalente à celle
utilisée dans les codeurs CELP pour un codeur par transformée.
[0016] Les inconvénients de cette méthode étaient l'introduction de distorsions spectrales
audibles (voix
"synthétique", résonances parasites, etc.). Ces inconvénients étaient dus notamment à l'usage
de filtres de synthèse à long terme mal contrôlés (composante harmonique unique en
sons voisés, usage de portions du signal résiduel passé en sons non voisés). En outre,
le contrôle d'énergie s'effectue ici au niveau du signal d'excitation et la cible
énergétique de ce signal est maintenue constante pendant toute la durée de l'effacement,
ce qui engendre également des artefacts audibles et gênants.
[0017] Dans le document
FR-2,813,722, on a proposé une technique de dissimulation des trames effacées, ne générant pas
plus de distorsion à des taux d'erreurs plus élevés et/ou pour des intervalles effacés
plus longs. Cette technique vise à éviter l'excès de périodicité pour les sons voisés
et à mieux contrôler la génération de l'excitation non voisée. Pour ce faire, on considère
le signal d'excitation (s'il est voisé) comme la somme de deux signaux :
- une composante fortement harmonique limitée en bande aux basses fréquences du spectre
total, et
- une autre composante moins harmonique et limitée aux plus hautes fréquences.
La composante fortement harmonique est obtenue par filtrage LTP. La seconde composante
est obtenue aussi par un filtrage LTP rendu non périodique par la modification aléatoire
de sa période fondamentale.
[0018] Le problème principal des techniques de dissimulation d'erreur utilisées jusque là
dans les codeurs CELP réside dans la génération de l'excitation voisée qui, lorsque
plusieurs trames consécutives ont été perdues, peuvent entraîner un effet de survoisement
dû à la répétition de la même période de pitch sur plusieurs trames. Il est ainsi
proposé dans
WO 2006/07 9348 de faire varier les échantillons dans les trames successives.
[0019] La présente invention telle que definie par les revendications 1, 7 et 8 vient améliorer
la situation.
[0020] Elle propose à cet effet un procédé de synthèse d'un signal audionumérique représenté
par des blocs consécutifs d'échantillons, dans lequel, à la réception d'un tel signal,
pour remplacer au moins un bloc invalide, on génère un bloc de remplacement à partir
des échantillons d'au moins un bloc valide, précédant le bloc invalide.
[0021] Le procédé selon l'invention comporte les étapes suivantes :
- a) sélectionner un nombre choisi d'échantillons formant une succession dans au moins
un dernier bloc valide précédant le bloc invalide,
- b) fragmenter la succession d'échantillons en groupes d'échantillons, et, dans au
moins une partie des groupes, inverser des échantillons selon des règles prédéterminées,
- c) re-concaténer les groupes dont les échantillons de certains au moins ont été inversés
à l'étape b), pour former une partie au moins du bloc de remplacement, et
- d) si ladite partie obtenue à l'étape c) ne remplit pas tout le bloc de remplacement,
recopier ladite partie dans le bloc de remplacement et appliquer à nouveau les étapes
a), b), c) à ladite partie recopiée.
[0022] Cette inversion d'échantillons, qui consiste donc en une manipulation d'échantillons
très simple et peu coûteuse en termes de calcul et de moyens de traitement, a pour
but de "casser" une sur-harmonicité qui aurait pu être présente si une simple recopie
de période de pitch avait été mise en oeuvre.
[0023] Ainsi, parmi les avantages qu'offre la présente invention, sa mise en oeuvre ne nécessite
qu'un très faible coût de calcul.
[0024] L'invention s'applique avantageusement au cas où le signal audionumérique est un
signal de parole voisé, et, plus particulièrement, faiblement voisé car la simple
recopie de période de pitch donne des résultats médiocres dans ce cas. Ainsi, selon
une caractéristique avantageuse, on détecte un degré de voisement dans le signal de
parole et on applique les étapes a) à d) si le signal est au moins faiblement voisé.
[0025] La présente invention s'appuie avantageusement sur la fréquence fondamentale du signal
audionumérique pour constituer les groupes à l'étape b). Ainsi, avantageusement, à
l'étape a) :
al) on détecte un ton dans le signal audionumérique, et
a2) ledit nombre choisi d'échantillons sélectionnés à l'étape a) correspond au nombre
d'échantillons que comporte une période correspondant à l'inverse d'une fréquence
fondamentale du ton détecté.
[0026] Bien entendu, dans le cas d'un signal de parole, l'opération a1) peut consister à
détecter un voisement et l'opération a2) viserait, si le signal de parole est voisé,
à sélectionner un nombre d'échantillons qui s'étend sur toute une période de pitch
(inverse d'une fréquence fondamentale d'un ton de voix). Néanmoins, on relèvera que
cette réalisation peut aussi viser un signal autre qu'un signal de parole, notamment
un signal musical, si une fréquence fondamentale propre à un ton global de musique
peut y être détectée.
[0027] Dans un mode de réalisation, la fragmentation de l'étape b) s'effectue par groupes
de deux échantillons, et on inverse les positions des échantillons d'un même groupe
l'une avec l'autre.
[0028] Toutefois, dans ce mode de réalisation, il convient de distinguer le cas où la période
de pitch (ou plus généralement la période inverse de la fréquence fondamentale) comporte
un nombre d'échantillons pair ou impair. En particulier, si le nombre d'échantillons
que comporte la période du ton détecté est un nombre pair, un nombre impair d'échantillons
(préférentiellement un seul échantillon) est avantageusement ajouté ou retranché aux
échantillons de ladite période pour former la sélection de l'étape a).
[0029] Il convient de préciser aussi ce que l'on entend par les "règles prédéterminées d'inversion".
Ces règles, qui peuvent être choisies selon les caractéristiques du signal reçu, imposent
notamment le nombre d'échantillons par groupes à l'étape b) et la manière d'inverser
les échantillons dans un groupe. Dans le mode de réalisation ci-avant, on prévoit
des groupes de deux échantillons et une simple inversion des positions respectives
de ces deux échantillons. Toutefois, d'autres configurations sont possibles (groupes
comportant plus de deux échantillons et permutation de tous les échantillons de tels
groupes). Par ailleurs, les règles d'inversion peuvent fixer aussi le nombre de groupes
dans lesquels l'inversion est effectuée. Une réalisation particulière consiste à rendre
aléatoires les occurrences d'inversion d'échantillons dans chaque groupe et fixer
un seuil de probabilité pour inverser ou non les échantillons d'un groupe. Ce seuil
de probabilité peut avoir une valeur fixe, ou encore une valeur variable et dépendre
avantageusement d'une fonction de corrélation portant sur la période de pitch. Dans
ce cas, la détermination formelle de la période de pitch, elle-même, n'est pas nécessaire.
D'ailleurs, plus généralement, le traitement au sens de l'invention peut être effectué
aussi si le signal valide reçu n'est simplement pas voisé, auquel cas il n'existe
pas réellement de période de pitch détectable. Dans ce cas, il peut être prévu de
fixer un nombre donné d'échantillons arbitraire (par exemple deux cents échantillons)
et réaliser le traitement au sens de l'invention sur ce nombre d'échantillons. Il
est aussi possible de prendre la valeur correspondant au maximum de la fonction de
corrélation en limitant la recherche dans un intervalle de valeur (par exemple entre
MAX_PITCH/2 et MAX_PITCH, où MAX_PITCH est la valeur maximale dans la recherche de
période de pitch).
[0030] La présente invention, proposant ainsi l'atténuation de survoisement, offre les avantages
suivants :
- la parole synthétisée lors d'une perte de bloc ne présente pratiquement plus de phénomène
de sur-harmonicité ou de survoisement, et
- la complexité nécessaire pour générer une excitation voisée est très faible, comme
on le verra dans l'exemple de réalisation décrit en détail ci-après.
[0031] D'ailleurs, d'autres avantages et caractéristiques de l'invention apparaîtront à
l'examen de la description détaillée, donnée à titre d'exemple ci-après, et des dessins
annexés sur lesquels :
- la figure 1 illustre le principe d'une génération d'excitation permettant d'atténuer
l'effet de survoisement, en intégrant une inversion aléatoire d'échantillons, sur
des blocs de deux échantillons et avec une probabilité de 50% dans l'exemple représenté,
sur toute une période de pitch,
- la figure 2 illustre le principe d'une génération d'excitation intégrant une inversion
d'échantillons, ici systématique, sur des blocs de deux échantillons dans l'exemple
représenté et sur toute une période de pitch,
- la figure 3a illustre l'application de l'inversion systématique de la figure 2 sur
un signal dont on a estimé une période de pitch comportant un nombre d'échantillons
impair,
- la figure 3b représente, à titre purement illustratif, l'application de l'inversion
systématique de la figure 2 sur un signal dont on a estimé une période de pitch comportant
un nombre d'échantillons pair,
- la figure 3c illustre l'application de l'inversion systématique de la figure 2, avec
ici une correction par ajout d'un échantillon à la durée correspondant à la période
de pitch, pour rendre cette durée impaire en termes de nombre d'échantillons qu'elle
comporte,
- la figure 4 illustre schématiquement les étapes principales d'un procédé au sens de
l'invention, au décodage,
- la figure 5 illustre très schématiquement la structure d'un appareil de réception
d'un signal audionumérique comportant un dispositif de synthèse pour la mise en oeuvre
du procédé au sens de l'invention.
[0032] On se réfère tout d'abord à la figure 4 pour illustrer le contexte de mise en oeuvre
de la présente invention. Sur réception d'un signal d'entrée Se au décodage, on détecte
(test 50) la perte d'un ou plusieurs blocs consécutifs. Si aucune perte de bloc n'est
constatée (flèche O en sortie du test 50), aucun problème ne se pose, bien entendu,
et le traitement de la figure 4 s'achève.
[0033] En revanche, si la perte d'un ou plusieurs blocs consécutifs est constatée (flèche
N en sortie du test 50), on détecte alors le degré de voisement (test 51) du signal.
[0034] Si le signal n'est pas voisé (flèche N en sortie du test 51), on remplace les blocs
perdus par exemple par un bruit blanc, audible, dit "
bruit de confort" 52, et on ajuste le gain 61 des échantillons des blocs ainsi reconstruits. On peut
réaliser par exemple un contrôle sur l'énergie du signal reconstruit Ss, avec adaptation
de la loi d'évolution, et/ou faire évoluer des paramètres du modèle vers un signal
de repos tel que le bruit de confort 52.
[0035] Dans une variante de la présente invention, on ne considère que deux classes de signaux,
les signaux voisés d'une part, et les signaux faiblement ou non voisés d'autre part.
L'avantage de cette variante est que la génération du signal non voisé sera identique
à la synthèse faiblement voisée. Comme indiqué précédemment, la "période de pitch"
utilisée pour les signaux non voisés est une valeur aléatoire, de préférence assez
grande (par exemple deux cents échantillons). Dans un bloc non voisé, le signal précédent
est non harmonique, en appliquant le traitement au sens de l'invention à une période
suffisamment grande, on garantit que le signal ainsi généré reste non harmonique.
La nature du signal sera avantageusement conservée, ce qui ne serait pas le cas en
utilisant un signal aléatoirement généré (par exemple un bruit blanc).
[0036] Si le signal est fortement voisé (flèche O en sortie du test 51), on remplace les
blocs perdus par recopie de la période de pitch
T. On détermine donc la période de pitch
T identifiée dans la dernière partie encore valide du signal reçu Se (par une technique
53 quelconque qui peut être connue en soi). On recopie ensuite les échantillons de
cette période de pitch
T dans les blocs perdus (référence 54). On applique ensuite un gain approprié 61 aux
échantillons ainsi replacés (pour effectuer par exemple une atténuation ou "fading").
[0037] Dans l'exemple décrit, si le signal est moyennement voisé (ou, dans une variante
moins sophistiquée mais plus générale, si le signal est simplement voisé), on applique
le procédé au sens de l'invention (flèche M en sortie du test 51 sur le degré de voisement).
[0038] En référence aux figures 1 et 2, le principe de l'invention consiste à rassembler
les échantillons des derniers blocs valides reçus, par groupes d'au moins deux échantillons.
Dans l'exemple des figures 1 et 2, on a regroupé effectivement ces échantillons par
deux. On pourrait néanmoins les regrouper par plus de deux échantillons, auquel cas
les règles d'inversion d'échantillons par groupe et de prise en compte de la parité
en nombre d'échantillons de la période de pitch
T, décrites en détail ci-après, seraient légèrement adaptées.
[0039] En se référant en particulier à la figure 2, les groupes A, B, C, D, de deux échantillons
dans les derniers blocs valides reçus sont recopiés et concaténés aux derniers échantillons
reçus. Toutefois, dans ces groupes recopiés, référencés A', B', C', D', on a inversé
les valeurs des deux échantillons dans chaque groupe (ou conservé leur valeur et inversé
leurs positions respectives). Ainsi, le groupe A devient le groupe A', avec ses deux
échantillons inversés par rapport au groupe A (conformément aux deux flèches du groupe
A' sur la figure 2). Le groupe B devient le groupe B', avec ses deux échantillons
inversés par rapport au groupe B, et ainsi de suite. La recopie et concaténation des
groupes A', B', C', D', s'effectue avantageusement en respectant la période de pitch
T. Ainsi, le groupe A', constitué des échantillons inversés du groupe A, est séparé
du groupe A d'un nombre d'échantillons correspondant à la durée de la période de pitch
T. De même, le groupe B' est séparé du groupe B par une durée correspondant à la période
de pitch
T, et ainsi de suite.
[0040] Sur la figure 2, l'inversion des échantillons par groupe est systématique. Dans une
variante telle que représentée sur la figure 1, on peut rendre aléatoire l'occurrence
de cette inversion. Il peut même être prévu de fixer un seuil p de probabilité pour
inverser ou non les échantillons d'un groupe. Dans l'exemple représenté sur la figure
1, le seuil p est fixé à 50% de sorte que seuls deux groupes B', C', sur quatre, ont
leurs échantillons inversés. Il peut être prévu aussi de rendre variable le seuil
p de probabilité, en particulier de le faire dépendre d'une fonction de corrélation
portant sur la période de pitch
T, comme on le verra plus loin.
[0041] En reprenant la description du mode de réalisation illustré sur la figure 2, où l'on
applique une inversion systématique des échantillons par groupe, on obtient, en référence
maintenant à la figure 3a, une nouvelle succession d'échantillons
T', de durée correspondant à la période de pitch
T, mais avec inversion des échantillons deux à deux. On a représenté sur la figure 3a
les derniers échantillons des derniers blocs valides reçus dans le signal Se et qui
ont été mémorisés dans un décodeur. Ici, comme l'inversion est systématique et non
pas aléatoire avec estimation d'une corrélation, on a déterminé la période de pitch
T du signal voisé (par un moyen connu en soi) et on a recueilli les derniers échantillons
10,11,...,22 du signal Se, qui s'étendent sur la durée de la période de pitch
T. Les deux premiers échantillons 10 et 11 sont inversés dans le signal à reconstruire,
noté Ss. Les troisième et quatrième échantillons 12 et 13 sont inversés aussi, et
ainsi de suite. On obtient alors une succession
T' d'échantillons 11, 10, 13, 12, ... qui s'étend sur une même durée que la période
de pitch. Si plusieurs blocs s'étendant sur plusieurs périodes de pitch manquent au
décodage, on continue la reconstruction du signal Ss en prenant la succession
T' et en recommençant l'inversion des échantillons deux à deux de la succession
T', pour obtenir une nouvelle succession
T", et ainsi de suite.
[0042] Dans le cas de la figure 3a, le nombre d'échantillons par périodes
T,
T',
T" est égal à un même nombre impair (treize échantillons dans l'exemple représenté),
ce qui permet d'obtenir un mélange progressif des échantillons au fur et à mesure
de la reconstruction du signal Ss, et de là, une atténuation efficace de la sur-harmonicité
(ou, autrement dit, du survoisement du signal reconstruit).
[0043] En revanche, dans le cas illustré sur la figure 3b où le nombre d'échantillons par
périodes
T,
T',
T" est un nombre pair (douze échantillons dans l'exemple représenté), en pratiquant
deux fois une inversion (de la période
T à la période
T', puis de la période
T' à la période
T") des échantillons, pris deux à deux, de la période de pitch
T, on retrouve exactement la même succession que la période de pitch
T dans la succession
T", ce qui génère alors une sur-harmonicité.
[0044] Ce problème peut être surmonté en modifiant le nombre d'échantillons à inverser par
groupe (et prendre par exemple un nombre impair d'échantillons par groupe).
[0045] On a toutefois illustré un autre mode de réalisation sur la figure 3c. Ce mode de
réalisation consiste simplement, lorsque la période de pitch comporte un nombre pair
d'échantillons et lorsque les inversions visent des nombres pairs d'échantillons par
groupe, à ajouter un nombre impair d'échantillons à la période de pitch du signal
à reconstruire. Sur la figure 3c, la dernière période de pitch détectée
T comporte douze échantillons 31, 32, ..., 42. On ajoute alors un échantillon à la
période de pitch et on obtient une période T+1 comportant un nombre impair d'échantillons.
Ainsi, dans l'exemple illustré sur la figure 3c, l'échantillon 30 devient le premier
échantillon de la mémoire à partir de laquelle on applique l'inversion d'échantillons
deux à deux comme illustré sur la figure 2 (ou la figure 3a). On obtient une période
T' du signal reconstruit Ss, comportant un nombre d'échantillons impair, à laquelle
on applique encore l'inversion d'échantillons deux à deux pour obtenir la période
T", comportant encore un nombre d'échantillons impair, et ainsi de suite. On notera
alors que la succession d'échantillons 33, 30, 35, 32, 34, ...de la période
T" est bien différente, cette fois, de la succession d'échantillons 30, 31, 32, 33,
... de la période de pitch initiale
T.
[0046] En référence à nouveau à la figure 4 mettant en oeuvre, dans l'exemple représenté,
le mode de réalisation illustré sur les figures 2, 3a et 3c, lorsque le signal Se
est moyennement voisé (flèche M en sortie du test 51), on détermine la période de
pitch
T sur les derniers échantillons du signal Se valablement reçus (par une technique 56
qui peut être connue en soi). On détecte si le nombre d'échantillons dans la période
de pitch
T est pair ou impair. Si ce nombre est impair (flèche N en sortie du test 57), on applique
directement l'inversion des échantillons deux à deux (étape 58) comme décrit ci-avant
en référence à la figure 3a. Si le nombre d'échantillons dans la période de pitch
T est pair (flèche O en sortie du test 57), on ajoute un échantillon à la période de
pitch
T (étape 59) et on applique ensuite l'inversion des échantillons deux à deux (étape
58), conformément au traitement décrit ci-avant en référence à la figure 3c. Ensuite,
on applique éventuellement un gain choisi 61 à la succession d'échantillons ainsi
obtenue pour former le signal finalement reconstruit Ss.
[0047] Comme indiqué ci-avant en référence à la figure 4, la période de pitch est tout d'abord
calculée à partir d'une ou de quelques trames précédentes. Ensuite, l'excitation à
harmonicité réduite est générée de la manière illustrée sur la figure 2, avec inversion
systématique. Toutefois, dans la variante illustrée sur la figure 1, elle peut être
générée avec inversion aléatoire. Cette inversion irrégulière des échantillons de
l'excitation voisée permet avantageusement d'atténuer la sur-harmonicité. On détaille
ci-après cette réalisation avantageuse.
[0048] Habituellement, en simple recopie de période de pitch, l'excitation voisée est calculée
selon une formule du type :

où
T la période de pitch estimée et
gltp est un gain LTP choisi.
[0049] Dans une forme de réalisation de l'invention, l'excitation voisée est calculée par
groupe de deux échantillons et avec inversion aléatoire selon le traitement ci-après.
[0050] Tout d'abord, on génère un nombre aléatoire x dans l'intervalle [0 ; 1]. Ensuite,
en fonction de la valeur de x :
- si x < p, s(n) et s(n+1) sont calculés à partir de l'équation (1)
- si x ≥ p, s(n) et s(n+1) sont calculés selon les équations (2) et (3) suivantes :

[0051] La valeur p représente la probabilité d'inverser les deux échantillons s(n) et s(n+1).
Par exemple, on peut fixer la valeur p telle que p = 50%.
[0052] Dans une variante avantageuse, on peut aussi choisir une probabilité variable, par
exemple de la forme :

où la variable corr correspond à la valeur maximum de la fonction de corrélation
sur la période de pitch, notée
Corr(
T). Pour une période de pitch
T, la fonction de corrélation
Corr(
T) est calculée en n'utilisant que 2*
Tm échantillons à la fin du signal mémorisé, et:

où
m0 ···
mLmem-1 sont les derniers échantillons du signal décodé précédemment, et sont encore disponibles
dans la mémoire du décodeur.
[0053] De cette formule, on comprendra que la longueur de cette mémoire
Lmem (en nombre d'échantillons stockés) doit être égale à au moins deux fois la valeur
maximale de la durée de période de pitch (en nombre d'échantillons). Pour tenir compte
des voix les plus graves (plus basse fréquence fondamentale de l'ordre de 50 Hz),
le nombre d'échantillons à stocker peut être de l'ordre de 300, pour un faible taux
d'échantillonnage en bande étroite, et de plus de 300 pour des taux d'échantillonnage
plus élevés.
[0054] La fonction de corrélation
corr(
T), donnée par la formule (5), atteint une valeur maximale lorsque la variable
T correspond à la période de pitch
T0 et cette valeur maximale donne une indication du degré de voisement. Typiquement,
si cette valeur maximale est très proche de 1, alors le signal est fortement voisé.
Si elle est proche de 0, le signal n'est pas voisé.
[0055] On comprendra ainsi que dans cette réalisation, la détermination préalable de la
période de pitch n'est pas nécessaire pour construire les groupes d'échantillons à
inverser. En particulier, la détermination de la période de pitch
T0 peut être effectuée conjointement avec la constitution des groupes au sens de l'invention,
par application de la formule (5) ci-avant.
[0056] Si le signal est très voisé, alors la probabilité p sera très grande, et le voisement
sera conservé conformément au calcul selon la formule (1). Si, en revanche, le voisement
du signal Se n'est pas trop marqué, la probabilité p sera plus faible et on utilisera
avantageusement les équations (2) et (3).
[0057] Bien entendu, d'autres calculs de corrélations peuvent aussi être utilisés.
[0058] Par exemple, il est aussi possible de calculer l'excitation harmonique en fonction
de classes prédéfinies. Pour les classes très voisées, l'équation (1) sera plutôt
utilisée. Pour les classes moyennement ou faiblement voisées, les équations (2) et
(3) seront plutôt utilisées. Pour les classes non voisées, aucune excitation harmonique
n'est générée et l'excitation peut alors être générée à partir d'un bruit blanc. Toutefois,
dans la variante décrite précédemment, les équations (2) et (3) seront aussi utilisées
avec une période de pitch arbitraire suffisamment grande.
[0059] De manière plus générale, la présente invention ne se limite pas aux formes de réalisation
décrites ci-avant à titre d'exemple ; elle s'étend à d'autres variantes.
[0060] Dans le contexte de réalisation de l'invention décrite en détail ci-avant, la génération
d'excitation en codage par synthèse prédictive CELP vise à éviter le survoisement
dans le contexte de la dissimulation d'erreurs de transmissions de trames. Il peut
être prévu néanmoins d'utiliser les principes de l'invention pour de l'extension de
bande. On peut alors utiliser la génération d'une excitation en bande élargie dans
un système d'extension de bande (avec ou sans transmission d'informations), basée
sur un modèle de type CELP (ou sous-bande CELP). L'excitation de la bande haute peut
être alors calculée comme décrit précédemment, ce qui permet de limiter alors la sur-harmonicité
de cette excitation.
[0061] Par ailleurs, la mise en oeuvre de l'invention est particulièrement adaptée à la
transmission de signaux sur réseaux par trames, ou encore par paquets, par exemple
des paquets de "
voix sur IP" (pour "
Internet Protocol"), de manière à fournir une qualité acceptable lors de la perte de tels paquets sur
IP, tout en garantissant néanmoins une complexité limitée.
[0062] Bien entendu, l'inversion des échantillons peut être menée sur des groupes d'échantillons
de taille supérieure à deux.
[0063] Par ailleurs, on a décrit ci-avant la génération d'un bloc de remplacement d'un bloc
invalide à partir des échantillons d'un bloc valide, précédant le bloc invalide. Dans
une variante, on peut s'appuyer plutôt sur un bloc valide succédant le bloc invalide
pour réaliser la synthèse du bloc invalide (synthèse a posteriori). Cette réalisation
peut être avantageuse notamment pour synthétiser plusieurs blocs invalides successifs
et, en particulier, pour synthétiser :
- des blocs invalides succédant immédiatement des blocs valides précédents, à partir
de ces blocs précédents,
- puis des blocs invalides précédant immédiatement des blocs valides suivants, à partir
de ces blocs suivants.
[0064] La présente invention vise aussi un programme d'ordinateur destiné à être stocké
en mémoire d'un dispositif de synthèse d'un signal audionumérique. Ce programme comporte
alors des instructions pour la mise en oeuvre du procédé au sens de l'invention, lorsqu'il
est exécuté par un processeur d'un tel dispositif de synthèse. D'ailleurs, la figure
4 décrite ci-avant peut illustrer un organigramme d'un tel programme d'ordinateur.
[0065] Par ailleurs, la présente invention vise aussi un dispositif de synthèse d'un signal
audionumérique constitué d'une succession de blocs. Ce dispositif pourrait comporter
d'ailleurs une mémoire stockant le programme d'ordinateur précité. En référence à
la figure 5, ce dispositif SYN, comporte :
- une entrée E pour recevoir des blocs du signal Se, précédant au moins un bloc courant
à synthétiser, et
- une sortie S pour délivrer le signal synthétisé Ss et comportant au moins ce bloc
courant à synthétiser.
[0066] Le dispositif de synthèse SYN au sens de l'invention comporte des moyens tels qu'une
mémoire de travail MEM (ou de stockage du programme d'ordinateur précité) et un processeur
PROC coopérant avec cette mémoire MEM, pour la mise en oeuvre du procédé au sens de
l'invention, et pour synthétiser ainsi le bloc courant à partir d'au moins un des
blocs précédents du signal Se.
[0067] La présente invention vise aussi un appareil de réception d'un signal audionumérique
constitué d'une succession de blocs, tel qu'un décodeur d'un tel signal par exemple.
En référence encore à la figure 5, cet appareil peut comporter avantageusement un
détecteur de blocs invalides DET, ainsi que le dispositif SYN au sens de l'invention
pour synthétiser des blocs invalides détectés par le détecteur DET.
1. Procédé de synthèse d'un signal audionumérique représenté par des blocs consécutifs
d'échantillons, dans lequel, à la réception d'un tel signal, pour remplacer au moins
un bloc invalide, on génère un bloc de remplacement à partir des échantillons d'au
moins un bloc valide précédant le bloc invalide,
caractérisé en ce qu'il comporte les étapes suivantes :
a) estimer une corrélation permettant de détecter une éventuelle période correspondant
à l'inverse d'une fréquence fondamentale d'un ton dans le signal audionumérique, et
sélectionner un nombre (T) d'échantillons qui est fonction de cette estimation, formant
une succession dans au moins un dernier bloc valide précédant le bloc invalide,
b) fragmenter la succession d'échantillons en groupes (A,B,C,D) de deux échantillons,
et, dans au moins une partie des groupes, inverser les deux échantillons ou non en
fonction de ladite estimation de corrélation,
c) re-concaténer les groupes (A',B',C',D') dont les échantillons de certains au moins
ont été inversés à l'étape b), pour former une partie (T') au moins du bloc de remplacement, et
d) si ladite partie obtenue à l'étape c) ne remplit pas tout le bloc de remplacement,
recopier ladite partie (T') dans le bloc de remplacement et appliquer à nouveau les étapes b) et c) à ladite
partie recopiée.
2. Procédé selon la revendication 1, dans lequel le signal audionumérique est un signal
de parole, caractérisé en ce que l'estimation de corrélation comporte la détection d'un degré de voisement (51) dans
le signal de parole et on applique les étapes b) à d) si le signal est faiblement
voisé ou non voisé.
3. Procédé selon l'une des revendications précédentes,
caractérisé en ce que, pour mener l'étape a) :
al) on recherche une corrélation pour détecter une éventuelle période correspondant
à l'inverse d'une fréquence fondamentale d'un ton dans le signal audionumérique (56),
et
a2) ledit nombre d'échantillons sélectionnés à l'étape a) correspond :
■ au nombre d'échantillons que comporte une période correspondant à l'inverse d'une
fréquence fondamentale du ton si la recherche de corrélation détecte ladite période,
et
■ à un nombre fixe d'échantillons, prédéterminé, sinon.
4. Procédé selon la revendication 3, caractérisé en ce que, si le nombre d'échantillons que comporte la période du ton détecté est un nombre
pair, un nombre impair d'échantillons (30) est ajouté ou retranché aux échantillons
de ladite période pour former la sélection de l'étape a), un échantillon de la succession
(T') ainsi formée à l'étape a) n'étant pas regroupé, à l'étape b), avec un autre échantillon
de ladite succession (T').
5. Procédé selon l'une des revendications précédentes, caractérisé en ce que lesdites règles prédéterminées imposent de rendre aléatoires les occurrences d'inversion
d'échantillons dans chaque groupe et fixent un seuil de probabilité (p) pour inverser
ou non les échantillons d'un groupe.
6. Procédé selon la revendication 5, caractérisé en ce que le seuil de probabilité (p) est variable et dépend de l'estimation de corrélation.
7. Programme d'ordinateur destiné à être stocké en mémoire d'un dispositif de synthèse
d'un signal audionumérique, caractérisé en ce qu'il comporte des instructions pour la mise en oeuvre du procédé selon l'une des revendications
1 à 6 lorsqu'il est exécuté par un processeur d'un tel dispositif de synthèse.
8. Dispositif de synthèse d'un signal audionumérique constitué d'une succession de blocs,
comportant :
- une entrée pour recevoir des blocs du signal (Se), précédant au moins un bloc courant
à synthétiser, et
- une sortie pour délivrer le signal synthétisé (Ss) et comportant au moins ledit
bloc courant,
caractérisé en ce qu'il comporte des moyens (MEM, PROC) adaptés pour la mise en oeuvre du procédé selon
l'une des revendications 1 à 6, pour synthétiser le bloc courant à partir d'au moins
un desdits blocs précédents.
9. Appareil de réception d'un signal audionumérique constitué d'une succession de blocs,
comportant un détecteur de blocs invalides (DET),
caractérisé en ce qu'il comporte en outre un dispositif (SYN) selon la revendication 8, pour synthétiser
des blocs de remplacement des blocs invalides.
1. Method for synthesizing a digital audio signal represented by consecutive blocks of
samples, in which, on receipt of such a signal, to replace at least one invalid block,
a replacement block is generated on the basis of the samples of at least one valid
block preceding the invalid block,
characterized in that it comprises the following steps:
a) estimating a correlation making it possible to detect a period, if any, corresponding
to the inverse of a fundamental frequency of a tone in the digital audio signal, and
selecting a number (T) of samples which is dependent on this estimation, forming a
succession in at least one last valid block preceding the invalid block,
b) fragmenting the succession of samples into groups (A,B,C,D) of two samples, and,
in at least some of the groups, inverting or not inverting the two samples as a function
of said estimation of correlation,
c) re-concatenating the groups (A',B',C',D') for which the samples of some at least
were inverted in step b), so as to form a part (T') at least of the replacement block,
and
d) if said part obtained in step c) does not fill the whole of the replacement block,
copying said part (T') into the replacement block and re-applying steps b) and c)
to said copied part.
2. Method according to Claim 1, in which the digital audio signal is a speech signal,
characterized in that the estimation of correlation comprises the detection of a degree of voicing (51)
in the speech signal and steps b) to d) are applied if the signal is weakly voiced
or unvoiced.
3. Method according to one of the preceding claims,
characterized in that, to conduct step a) :
al) a search is undertaken for a correlation so as to detect a period, if any, corresponding
to the inverse of a fundamental frequency of a tone in the digital audio signal (56),
and
a2) said number of samples selected in step a) corresponds:
• to the number of samples contained in a period corresponding to the inverse of a
fundamental frequency of the tone if the correlation search detects said period, and
• to a predetermined fixed number of samples, otherwise.
4. Method according to Claim 3, characterized in that, if the number of samples contained in the period of the detected tone is an even
number, an odd number of samples (30) is added to or deducted from the samples of
said period to form the selection of step a), a sample of the succession (T') thus
formed in step a) not being grouped together, in step b), with another sample of said
succession (T').
5. Method according to one of the preceding claims, characterized in that said predetermined rules make it necessary for the occurrences of inversion of samples
in each group to be rendered random and said rules fix a probability threshold (p)
for inverting or not inverting the samples of a group.
6. Method according to Claim 5, characterized in that the probability threshold (p) is variable and depends on the estimation of correlation.
7. Computer program intended to be stored in memory of a device for synthesizing a digital
audio signal, characterized in that it comprises instructions for the implementation of the method according to one of
Claims 1 to 6 when it is executed by a processor of such a synthesizing device.
8. Device for synthesizing a digital audio signal consisting of a succession of blocks,
comprising:
- an input for receiving blocks of the signal (Se), preceding at least one current
block to be synthesized,
and
- an output for delivering the synthesized signal (Ss) and comprising at least said
current block, characterized in that it comprises means (MEM, PROC) adapted for the implementation of the method according
to one of Claims 1 to 6, for synthesizing the current block on the basis of at least
one of said preceding blocks.
9. Apparatus for receiving a digital audio signal consisting of a succession of blocks,
comprising a detector of invalid blocks (DET),
characterized in that it furthermore comprises a device (SYN) according to Claim 8, for synthesizing replacement
blocks for the invalid blocks.
1. Verfahren zum Synthetisieren eines digitalen Schallsignals, das durch aufeinander
folgende Abtastwertblöcke repräsentiert wird, in dem bei Empfang eines solchen Signals,
um wenigstens einen ungültigen Block zu ersetzen, ein Ersatzblock aus Abtastwerten
wenigstens eines gültigen Blocks, der dem ungültigen Block vorhergeht, erzeugt wird,
dadurch gekennzeichnet, dass es die folgenden Schritte umfasst:
a) Schätzen einer Korrelation, die ermöglicht, eine eventuelle Periode, die dem Kehrwert
einer Grundfrequenz eines Tons in dem digitalen Schallsignal entspricht, zu detektieren
und als Funktion dieser Schätzung eine Anzahl (T) von Abtastwerten zu wählen, die
eine Folge in wenigstens einem letzten gültigen Block, der dem ungültigen Block vorhergeht,
bilden,
b) Aufteilen der Folge von Abtastwerten in Gruppen (A, B, C, D) aus je zwei Abtastwerten
und in wenigstens einem Teil der Gruppen Invertieren oder nicht der zwei Abtastwerte
als Funktion dieser Korrelationsschätzung,
c) erneutes Verketten der Gruppen (A', B', C', D'), wobei die Abtastwerte wenigstens
von Bestimmten von ihnen im Schritt b) invertiert worden sind, um wenigstens einen
Teil (T') des Ersatzblocks zu bilden,
d) falls der im Schritt c) erhaltene Teil nicht den ganzen Ersatzblock füllt, erneutes
Kopieren des Teils (T') in den Ersatzblock und erneutes Anwenden der Schritte b) und
c) auf den erneut kopierten Teil.
2. Verfahren nach Anspruch 1, wobei das digitale Schallsignal ein Sprachsignal ist, dadurch gekennzeichnet, dass die Korrelationsschätzung die Detektion eines Stimmhaftigkeitsgrades (51) in dem
Sprachsignal enthält und die Schritte b) bis d) angewendet werden, falls das Signal
kaum oder nicht stimmhaft ist.
3. Verfahren nach einem der vorhergehenden Ansprüche,
dadurch gekennzeichnet, dass für die Ausführung des Schrittes a)
al) eine Korrelation gesucht wird, um eine eventuelle Periode, die dem Kehrwert einer
Grundfrequenz eines Tons in dem digitalen Schallsignal (56) entspricht, zu detektieren,
und
a2) die Anzahl von im Schritt a) gewählten Abtastwerten:
◆ der Anzahl von Abtastwerten entspricht, die eine dem Kehrwert einer Grundfrequenz
des Tons entsprechende Periode enthält, falls die Suche der Korrelation die Periode
detektiert, und
◆ einer festen Anzahl von Abtastwerten, die vorgegeben ist oder nicht, entspricht.
4. Verfahren nach Anspruch 3, dadurch gekennzeichnet, dass dann, wenn die Anzahl von Abtastwerten, die die Periode des detektierten Tons enthält,
eine gerade Anzahl ist, eine ungerade Anzahl von Abtastwerten (30) hinzugefügt wird
oder von den Abtastwerten der Periode abgezogen wird, um die Wahl des Schrittes a)
zu bilden, wobei ein Abtastwert der somit im Schritt a) gebildeten Folge (T') im Schritt
b) nicht mit einem anderen Abtastwert dieser Folge (T') neu gruppiert wird.
5. Verfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass die vorgegebenen Regeln auferlegen, dass die Auftritte der Umkehrung der Abtastwerte
in jeder Gruppe zufällig sind, und einen Wahrscheinlichkeitsschwellenwert (p) für
die Umkehrung oder nicht der Abtastwerte einer Gruppe festlegen.
6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass der Wahrscheinlichkeitsschwellenwert (p) variabel ist und von der Schätzung der Korrelation
abhängt.
7. Computerprogramm, das dazu vorgesehen ist, im Speicher einer Vorrichtung für die Synthese
eines digitalen Schallsignals gespeichert zu werden, dadurch gekennzeichnet, dass es Befehle für die Ausführung des Verfahrens nach einem der Ansprüche 1 bis 6 enthält,
wenn es von einem Prozessor einer solchen Synthesevorrichtung ausgeführt wird.
8. Vorrichtung für die Synthese eines digitalen Schallsignals, das aus einer Folge von
Blöcken gebildet ist, die umfasst:
- einen Eingang, um die Blöcke des Signals (Se), die wenigstens einem zu synthetisierenden
momentanen Block vorhergehen, zu empfangen, und
- einen Ausgang, um das synthetisierte Signal (Ss), das wenigstens den momentanen
Block enthält, auszugeben,
dadurch gekennzeichnet, dass sie Mittel (MEM, PROC) umfasst, die dazu ausgelegt sind, das Verfahren nach einem
der Ansprüche 1 bis 6 auszuführen, um den momentanen Block anhand wenigstens eines
der folgenden Blöcke zu synthetisieren.
9. Empfangsgerät für ein digitales Schallsignal, das aus einer Folge von Blöcken gebildet
ist, das einen Detektor (DET) für ungültige Blöcke enthält,
dadurch gekennzeichnet, dass es außerdem eine Vorrichtung (SYN) nach Anspruch 8 enthält, um Ersatzblöcke für die
ungültigen Blöcke zu synthetisieren.