FR2830970A1 - Procede et dispositif de synthese de trames de substitution, dans une succession de trames representant un signal de parole - Google Patents

Procede et dispositif de synthese de trames de substitution, dans une succession de trames representant un signal de parole Download PDF

Info

Publication number
FR2830970A1
FR2830970A1 FR0113181A FR0113181A FR2830970A1 FR 2830970 A1 FR2830970 A1 FR 2830970A1 FR 0113181 A FR0113181 A FR 0113181A FR 0113181 A FR0113181 A FR 0113181A FR 2830970 A1 FR2830970 A1 FR 2830970A1
Authority
FR
France
Prior art keywords
frame
samples
frames
synthesis
speech signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0113181A
Other languages
English (en)
Other versions
FR2830970B1 (fr
Inventor
Franck Bouteille
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
France Telecom SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by France Telecom SA filed Critical France Telecom SA
Priority to FR0113181A priority Critical patent/FR2830970B1/fr
Publication of FR2830970A1 publication Critical patent/FR2830970A1/fr
Application granted granted Critical
Publication of FR2830970B1 publication Critical patent/FR2830970B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/005Correction of errors induced by the transmission channel, if related to the coding algorithm

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

L'invention concerne la synthèse de trames erronées dans un signal de parole reçu par trames. Selon l'invention, on détermine des périodes fondamentales du signal de parole (P0, P1) dans les trames valides ((t-1), (t+1)) encadrant une trame erronée et l'on forme des blocs de synthèse de durée (TBL) estimée en fonction de ces périodes (P0, P1) pour construire la trame de synthèse (tr).

Description

<Desc/Clms Page number 1>
Procédé et dispositif de synthèse de trames de substitution, dans une succession de trames représentant un signal de parole L'invention concerne le domaine du traitement de signaux de parole reçus par échantillons.
Le codage d'un signal de parole donne lieu à un train binaire qui est acheminé par un canal de transmission. A l'autre extrémité du canal, un décodeur restitue le signal de parole sous la forme d'une succession de trames d'échantillons, pour son exploitation.
Figure img00010001
On distingue plusieurs types de codeurs, parmi lesquels : des codeurs dits temporels , effectuent la compression des échantillons de signal numérisé, tels que les codeurs MIC ou MICDA décrits notamment dans : W. R. Daumer, P. Mermelstein, X. Maitre et I. Tokizawa.
"Overview of the ADPCM coding algorithm". Proc. of GLOBECOM 1984, PP. 23.1. 1 23.1. 4, et X. Maitre. 117 kHz audio coding within 64 kbit/s". IEEE Journal on Selected Areas on Communications, Vol. 6-2, février 1988, PP. 283-298, - et des codeurs paramétriques qui analysent des trames successives d'échantillons du signal à coder pour extraire, à chacune de ces trames, un certain nombre de paramètres qui sont ensuite codés et transmis.
Dans cette catégorie, on connaît : - des vocodeurs, décrits notamment dans :
<Desc/Clms Page number 2>
T. E. Tremain."The government standard linear predictive coding algorithm : LPC 10". Speech technology, avril 1982, PP. 40-49, - des codeurs IMBE, décrits notamment dans : J. C. Hardwick et J. S. Lim."The application of the IMBE speech coder to mobile communications". Proc. of ICASSP conference, 1991, PP. 249-252, - ou encore des codeurs dits par transformée , décrits notamment dans : K. H. Brandenburg et M. Bossi."Overview of MPEG audio : current and future standards for low-bit-rate audio coding". Journal of Audio Eng. Soc., Vol. 45-1/2, janvier/février 1997, PP. 4-21.
On connaît aussi des codeurs qui complètent le codage des paramètres représentatifs des codeurs paramétriques par le codage d'une forme d'onde temporelle résiduelle.
Dans cette catégorie, on trouve les codeurs prédictifs et notamment la famille des codeurs à analyse par synthèse tels que : - le codeur RPE-LTP, décrit notamment dans : K. Hellwig, P. Vary, D. Massaloux, J. P. Petit, C. Goland et M. Rosso,"Speech codec for the European mobile radio system", GLOBECOM conference, 1989, PP. 1065-1069,
Figure img00020001

- et le codeur CELP, décrit notamment dans : M. R. Schroeder et B. S. Atal,"Code-Excited Linear Prediction (CELP) : High-Quality Speech at Very Low Bit Rates", Proceedings of the IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), vol. 3, PP. 937-940, mars 1985.
<Desc/Clms Page number 3>
Figure img00030001

Pour tous ces codeurs, les valeurs codées sont ensuite transformées en un train binaire qui sera transmis sur un canal de transmission. Selon la qualité de ce canal et le type de transport, des perturbations peuvent affecter le signal transmis et produire des erreurs sur le train binaire reçu par le décodeur. Des erreurs peuvent intervenir de manière isolée dans le train binaire ou encore se produire par rafales. Dans ce dernier cas, un paquet de données binaires, correspondant à une portion complète du signal, présente des erreurs ou n'est pas reçu. De tels problèmes se rencontrent par exemple pour les transmissions par trames sur les réseaux mobiles. Ils se rencontrent aussi dans les transmissions sur les réseaux par paquets et en particulier sur les réseaux de type interne.
On désignera alors par les termes trame erronée , une trame ou un paquet qui présente des erreurs à la réception, qui n'est pas reçu, ou encore dont la réception est trop tardive pour être traité.
Lorsque le système de transmission ou des modules chargés de la réception permettent d'identifier des trames erronées en détectant que les données reçues présentent des erreurs (par exemple sur les réseaux mobiles) ou qu'un bloc de données n'a pas été reçu (cas de systèmes à transmission par paquets par exemple), des procédures de dissimulation des erreurs sont alors mises en oeuvre. Ces procédures permettent d'extrapoler au décodeur les échantillons du signal manquant à partir des signaux et
<Desc/Clms Page number 4>
données disponibles issus des trames précédant les zones effacées.
De telles techniques ont été mises en oeuvre principalement dans le cas des codeurs paramétriques, avec des techniques de synthèse des trames effacées. Elles permettent de limiter fortement la dégradation subjective du signal perçue au décodeur en présence de trames effacées. La plupart des traitements développés reposent sur la technique utilisée pour le codeur et le décodeur, et constituent en fait une extension du décodeur.
La plupart des algorithmes de codage de type prédictif proposent des techniques de récupération de trames effacées, décrites notamment dans : - la recommandation GSM 06. 11,"Substitution and muting of lost frames for full rate speech traffic channels".
ETSI/TC SMG, ver. : 3.0. 1., février 1992, - ITU T Annex A to recommendation G. 723. 1"Silence compression scheme for dual rate speech coder for multimedia communications transmitting at 5.3 & 6.3 kbit/s", - R. Salami, C. Laflamme, J. P. Adoul, A. Kataoka, S.
Hayashi, T. Moriya, C. Lamblin, D. Massaloux, S. Proust, P. Kroon et Y. Shoham,"Design and description of CSACELP : a toll quality 8 kb/s speech coder". IEEE Trans. on Speech and Audio Processing, Vol. 6-2, mars 1998, PP. 116- 130,
T. Honkanen, J. Vainio, P. Kapanen, P. Haavisto, R.
Salami, C. Laflamme et J. P. Adoul,"GSM enhanced full
<Desc/Clms Page number 5>
rate speech codée", Proc. of ICASSP conference, 1997, PP. 771-774, - R. V. Cox,"An improved frame erasure concealment method for ITU-T Rec. G728", Delayed contribution D. 107 (WP 3/16), ITU-T, janvier 1998, - les brevets US-5574825, US-5550543, US-5615298, US- 5717822 et la demande publiée EP0673015, et - C. R. Watkins, J. H. Chen."Improving 16 kb/s G. 728 LDCELP Speech Coder for Frame Erasure Channels", Proc. of ICASSP conference, 1995, PP. 241-244.
Le décodeur est informé de l'occurrence d'une trame effacée (ou erronée), par exemple dans le cas des systèmes radio-mobiles par la transmission de l'information d'effacement de trame provenant du décodeur canal. Les dispositifs de récupération par synthèse de trames effacées ont pour objectif d'extrapoler les paramètres de la trame effacée à partir de la dernière trame précédente, au moins, considérée comme valide. Certains paramètres manipulés ou codés par les codeurs prédictifs présentent une forte corrélation inter-trames (cas des paramètres LPC qui représentent l'enveloppe spectrale, et des paramètres de prédiction à long terme pour les sons voisés, par exemple). 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 erronés ou aléatoires.
Pour l'algorithme de codage CELP, les paramètres de la trame effacée sont généralement obtenus de la manière qui suit.
<Desc/Clms Page number 6>
Figure img00060001
Le filtre LPC est obtenu à partir des paramètres LPC de la dernière trame valide soit par recopie des paramètres ou avec introduction d'un certain amortissement (cas du codeur G723. 1, tel que décrit dans : ITU T Annex A to recommendation G. 723. 1"Silence compression scheme for dual rate speech coder for multimedia communications transmitting at 5. 3 & 6. 3 kbit/sl1).
On détecte aussi le voisement pour déterminer le degré d'harmonicité du signal au niveau de la trame effacée, comme décrit notamment dans : R. Salami, C. Laflamme, J. P. Adoul, A. Kataoka, S.
Hayashi, T. Moriya, C. Lamblin, D. Massaloux, S. Proust, P. Kroon et Y. Shoham,"Design and description of CSACELP : a toll quality 8 kb/s speech coder", IEEE Trans. on Speech and Audio Processing, Vol. 6-2, mars 1998, PP. 116- 130.
Ainsi, dans le cas d'un signal non voisé, un signal d'excitation est généré de manière aléatoire. Dans la technique décrite dans la référence précédente, on tire aléatoirement un mot de code, avec un gain de l'excitation passée légèrement amorti. Une autre technique selon laquelle on effectue une sélection aléatoire dans l'excitation passée est décrite dans : J. H. Chen, R. V. Cox, Y. C. Lin, N. Jayant et M. J. Melchner,"A low-delay CELP coder for the CCITT 16 kb/s speech coding standard", IEEE Journal on Selected Areas on Communications, Vol. 10-5, juin 1992, PP. 830-849.
<Desc/Clms Page number 7>
D'autres techniques font usage des codes transmis, même s'ils sont totalement erronés, comme dans : T. Honkanen, J. Vainio, P. Kapanen, P. Haavisto, R.
Salami, C. Laflamme et J. P. Adoul."GSM enhanced full rate speech codée", Proc. of ICASSP conference, 1997, PP. 771-774.
Dans le cas d'un signal voisé, le délai LTP est généralement le délai calculé à la trame précédente, éventuellement avec une légère"gigue" (comme dans R.
Salami, C. Laflamme, J. P. Adoul, A. Kataoka, S. Hayashi, T. Moriya, C. Lamblin, D. Massaloux, S. Proust, P. Kroon et Y. Shoham,"Design and description of CS-ACELP : a toll quality 8 kb/s speech coder", IEEE Trans. on Speech and Audio Processing, Vol. 6-2, mars 1998, PP. 116-130). Le gain LTP est pris très voisin de 1 ou égal à 1. Le signal d'excitation est limité à la prédiction à long terme effectuée sur l'excitation passée. Cependant, ces techniques utilisant une modélisation du signal précédant la perte ne permettent généralement pas de faire évoluer le modèle sur une ou plusieurs trames perdues consécutives, jusqu'à une trame valide suivante.
Dans tous les exemples cités précédemment, les procédés de récupération des trames effacées sont fortement liées au décodeur et utilisent des modules de ce décodeur, comme le module de synthèse du signal. Ils utilisent aussi des signaux intermédiaires disponibles au sein de ce décodeur, comme le signal d'excitation passé et mémorisé lors du
<Desc/Clms Page number 8>
traitement des trames valides précédant les trames effacées.
Les procédés utilisés pour dissimuler les erreurs produites par des paquets perdus lors du transport de données codées par des codeurs de type temporel font généralement appel à des techniques de substitution de formes d'ondes telles celles présentées notamment dans : - D. J. Goodman, G. B. Lockhart, O. J. Wasem, W. C. Wong, "Waveform Substitution Techniques for Recovering Missing Speech Segments in Packet Voice Communications", IEEE Trans. on Acoustics, Speech and Signal Processing, Vol.
ASSP-34, décembre 1986, PP. 1440-1448, -N. Erdöl, C. Castelluccia, A. Zilouchian,"Recovery of Missing Speech Packets Using the ShortTime Energy and Zero-Crossing Measurements"IEEE Trans. on Speech and Audio Processing, Vol. 1-3, juillet 1993, PP. 295-303, et - AT & T (D. A. Kapilow, R. V. Cox)"A high quality lowcomplexity algorithm for frame erasure concealment (FEC) with G. 711", Delayed Contribution D. 249 (WP 3/16), ITU, mai 1999.
Ces techniques reconstituent le signal en sélectionnant des portions du signal décodé avant la portion 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.
D'autres techniques utilisent la connaissance de la trame suivant la trame perdue, ce qui permet d'avoir une
<Desc/Clms Page number 9>
connaissance a priori (trame précédente) et une connaissance a posteriori (trame suivante) du signal. Il est donc possible d'utiliser ces informations pour reconstruire la portion de signal manquante, comme la technique DSPM ("Double Side Pattern Matching") décrite notamment dans : D. J. Goodman, G. B. Lockhart, O. J. Wasem, W. C. Wong, "Waveform Substitution Techniques for Recovering Missing Speech Segments in Packet Voice Communications", IEEE Trans. on Acoustics, Speech and Signal Processing, Vol.
ASSP-34, décembre 1986, PP. 1440-1448.
C'est également le cas des techniques"DSPS" (Double Side Periodic Substitution) qui mettent en oeuvre une recopie de périodes fondamentales du signal de parole ( pitch replication ). La période fondamentale du signal de parole correspond à l'inverse de sa fréquence fondamentale et constitue un paramètre important puisqu'elle représente une hauteur tonale de la voix.
De telles techniques sont décrites notamment dans : - J. TANG, F. ITAKURA,"Double Side Periodic Substitution (DSPS) Method for Recovering Missing Speech", ISSPA, pp.
544-549, août 1987, et J. TANG,"Evaluation of Double Sided Periodic Substitution (DSPS) Method for Recovering Missing Speech in Packet Voice Communications", IEEE Computers and Communications, pp. 454-458,1991.
Cependant, le nombre d'échantillons que doit comprendre la trame à synthétiser ne correspond pas, en principe, à un
<Desc/Clms Page number 10>
multiple du nombre d'échantillons dans un segment représentant une période de Pitch, ce qui se traduit généralement par la présence d'artefacts audibles dans le signal reconstitué. De plus, ces techniques de"Pitch replication"ne s'appliquent que lorsque le signal perdu est localisé dans une zone voisée. Dans les autres cas (zone non voisée), la trame précédente est simplement recopiée.
Pour les codeurs par transformée, les techniques de reconstruction des trames effacées s'appuient également sur la structure de codage utilisée. Certaines techniques visent à régénérer les coefficients de transformée perdus, à partir des valeurs prises par ces coefficients avant l'effacement. Une technique de ce type est décrite notamment dans : - PictureTel Corporation,"Detailed Description of the PTC
Figure img00100001

(PictureTel Transform Coder)", Contribution ITU-T, SG15/WP2/Q6, 8-9 Octobre 1996 Baltimore meeting, TD7. Une autre technique est basée sur la construction d'un modèle sinusoïdal de signal décodé, lequel sert à régénérer la partie du signal perdue. Elle est décrite notamment dans : V. N. Parikh, J. H. Chen, G. Aguilar,"Frame Erasure Concealment Using Sinusoidal Analysis Synthesis and its Application to MDCT-Based Codecs", Proc. of ICASSP conference, 2000.
Certaines techniques de dissimulation par synthèse des trames erronées ont été développées conjointement avec le
<Desc/Clms Page number 11>
codage canal. Ces techniques se servent d'informations fournies par le décodeur canal, par exemple d'informations concernant le degré de fiabilité des paramètres reçus.
Cependant, il s'agit là d'approches qui diffèrent sensiblement de celle de la présente invention qui ne présuppose pas l'existence d'un codeur canal, comme on le verra plus loin. Un exemple de ce type de techniques est décrit notamment dans : T. Fingscheidt, P. Vary,"Robust speech decoding : a universal approach to bit error concealment", Proc. of ICASSP conference, 1997, pp. 1667-1670.
Les techniques utilisées pour dissimuler les trames effacées dans les codeurs de type CELP ont montré leur efficacité, en particulier sur les signaux de parole. D'autres types de codeurs comme les codeurs par transformée, qui utilisent des techniques d'extrapolation liées à leur représentation du signal, donnent généralement de moins bons résultats sur les signaux de parole.
Il apparaît en outre que les techniques dites de"Pitch replication"décrites ci-avant (qui utilisent une recopie modulée en amplitude d'une période fondamentale du signal de parole), ainsi que les techniques basées sur l'utilisation d'une modélisation du signal (LPC, LTP, ou autre), sont celles qui donnent les résultats les plus prometteurs.
<Desc/Clms Page number 12>
Cependant, avec les techniques de modélisation du signal précédant la perte, il est difficile de faire évoluer le modèle sur une ou plusieurs trames perdues consécutives.
Quant aux techniques de"Pitch replication", elles introduisent généralement des artefacts qui se traduisent par un saut de fréquence audible, un contraste d'énergie et/ou des effets de bords dus au recollage des segments représentant les périodes fondamentales (ou périodes de Pitch ).
La présente invention vient améliorer la situation.
Elle propose à cet effet un procédé de synthèse d'un signal de parole représenté par des trames successives d'échantillons, dans lequel : a) on identifie au moins une trame erronée, ainsi qu'au moins une première trame valide précédant la trame erronée et une seconde trame valide succédant la trame erronée, b) on forme une succession de blocs synthétisés en fonction des trames valides précédant et succédant la trame erronée, chaque bloc comportant un nombre d'échantillons calculé en fonction d'une période fondamentale du signal de parole dans l'une au moins des trames valides, et c) on construit une trame de synthèse en utilisant une partie au moins des échantillons des blocs.
Selon l'un des avantages que procure la présente invention, le traitement au sens de la présente invention
<Desc/Clms Page number 13>
ne dépend pas du type de codage numérique effectué initialement sur le signal de la parole.
Selon un autre avantage que procure la présente invention, le signal valide, à la fois avant et après la trame erronée, est utilisé pour construire la trame de synthèse.
Selon un avantage qui découle de la présente invention, il est possible de faire évoluer, de la trame valide précédente jusqu'à la trame valide suivante, des modèles associés aux blocs de synthèse, les durées respectives de ces blocs correspondant à au moins une période fondamentale du signal de parole dans la trame de synthèse.
Selon un avantage qui découle de la présente invention, il est possible de synthétiser plus d'une trame de substitution, en connaissant le signal avant et après la ou les trames erronées.
Dans une réalisation préférée, les blocs formés sont des blocs de synthèse de signaux de parole.
Selon une caractéristique avantageuse de l'invention, on prévoit : - l'obtention de valeurs de premiers et seconds paramètres d'un modèle appliqué à des première et seconde portions respectivement de la première trame et de la seconde trame, et
<Desc/Clms Page number 14>
- la formation des échantillons d'un bloc en appliquant à ce bloc le modèle précité, avec des paramètres intermédiaires entre les premiers et seconds paramètres.
Selon une autre caractéristique avantageuse de l'invention, on prévoit l'obtention d'informations respectives d'un degré de voisement du signal de parole dans la première trame et dans la seconde trame. Dans cette réalisation, on tient avantageusement compte du fait que les trames précédente et suivante sont sensiblement voisées ou non pour former les échantillons des blocs de synthèse.
Avantageusement, on ajoute ou supprime des échantillons dans les blocs de manière à obtenir un nombre d'échantillons total dans les blocs qui correspond sensiblement au nombre d'échantillons à prévoir dans la trame de synthèse.
De préférence, on pondère les valeurs binaires des échantillons précédant et succédant un échantillon supprimé en fonction de celles de l'échantillon supprimé, et/ou les valeurs binaires d'un échantillon ajouté en fonction de celles des échantillons précédant et succédant l'échantillon ajouté.
Préférentiellement, on effectue un lissage : entre les valeurs binaires respectives du dernier échantillon au moins d'un bloc et du premier échantillon au moins du bloc suivant, et/ou
<Desc/Clms Page number 15>
entre les valeurs binaires respectives du dernier échantillon au moins d'une trame valide précédant la trame erronée et du premier échantillon au moins de la trame de synthèse, et/ou entre les valeurs binaires respectives du dernier échantillon au moins de la trame de synthèse et du premier échantillon au moins d'une trame valide succédant la trame erronée.
La présente invention vise aussi un dispositif synthétiseur d'un signal de parole représenté par des trames successives d'échantillons, qui comporte des moyens pour mettre en oeuvre le procédé ci-avant.
Dans une réalisation particulière, le dispositif comporte en outre des moyens de connexion destinés à être reliés à un décodeur d'un flux de données codées de signaux de parole, de sorte que le dispositif reçoit des trames successives décodées.
En variante, le dispositif comporte des moyens de réception d'un flux de données codées de signaux de parole, ainsi que des moyens de décodage au moins partiel de ce flux.
D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ciaprès, et des dessins annexés sur lesquels : - la figure 1 illustre un système de transmission d'un signal de parole, via un canal de transmission ;
<Desc/Clms Page number 16>
Figure img00160001

- la figure 2 représente schématiquement des modules d'un dispositif synthétiseur au sens de la présente invention ; - la figure 3 illustre les étapes d'un procédé d'identification d'une trame valide précédant une ou plusieurs trames erronées et d'une trame valide succédant une ou plusieurs trames erronées ; - la figure 4A représente schématiquement un signal de parole échantillonné et comportant une trame erronée Te ; - la figure 4B représente une succession de blocs de synthèse, dont une partie au moins des échantillons est destinée à être utilisée pour remplacer la trame erronée Te ; - la figure 4C représente le signal de parole synthétisé, comportant une trame reconstruite tr, en remplacement de la trame erronée Te ; - la figure 5 illustre les étapes d'un procédé d'estimation de période fondamentale du signal de parole pour une trame reconstruite tr, en fonction du degré de voisement des trames valides précédentes et suivantes ; - la figure 6 représente les étapes d'un procédé de synthèse des blocs, suivies d'un lissage des premiers et derniers échantillons de ces blocs ; - la figure 7 représente schématiquement des parties du signal destinées à être lissées, en particulier au début et à la fin de la trame reconstruite tr ; - la figure 8A représente un signal de parole, dont une trame centrale a été reconstruite, avec une trame voisée précédant la partie reconstruite et une trame voisée succédant la trame reconstruite ; - la figure 8B représente le signal de parole d'origine, qui correspond à la figure 8A ;
<Desc/Clms Page number 17>
- la figure 9A représente un signal de parole, dont une trame centrale a été reconstruite, avec une trame voisée précédant la partie reconstruite et une trame non voisée succédant la trame reconstruite ; - la figure 9B représente le signal de parole d'origine, qui correspond à la figure 9A ; - la figure 10A représente un signal de parole, dont deux trames centrales ont été reconstruites, avec une trame non voisée précédant la partie reconstruite et une trame non voisée succédant la partie reconstruite ; et - la figure 10B représente le signal de parole d'origine, qui correspond à la figure 10A.
Les dessins et la description ci-après contiennent, pour l'essentiel, des éléments de caractère certain. Ils pourront donc non seulement servir à mieux faire comprendre l'invention, mais aussi contribuer à sa définition, le cas échéant.
On se réfère tout d'abord à la figure 1 sur laquelle un signal numérique de parole S est, dans un premier temps, codé par un codeur CO qui transforme le signal de parole S en un flux binaire de données codées FC. Ce flux binaire FC est transporté ensuite par un canal de transmission CL.
Il peut aussi bien s'agir d'un réseau de type GSM, auquel cas le signal de parole est représenté par une succession de trames consécutives, ou encore d'un réseau de type Internet, auquel cas le signal S est représenté par une succession de paquets de bits. Par la suite, on désignera par le terme"trame"une trame transmise par réseau GSM,
<Desc/Clms Page number 18>
ou un paquet transmis par réseau Internet, ou encore d'autres types de quanta d'échantillons.
On décrit ci-après un bloc de réception et de décodage d'un flux binaire FC'issu du canal de transmission CL. Le flux binaire FC'n'est pas toujours identique au flux binaire FC, puisque certaines trames ou paquets ont pu être erronés lors de la transmission via le canal CL, ou ont pu être perdus, ou encore reçus trop tardivement pour pouvoir être utilisés.
Dans ce qui suit, on entend par les termes"trame erronée", une trame ou un paquet erroné, ou reçu tardivement, ou encore qui a été perdu pendant la transmission.
A titre d'exemple non limitatif, le bloc de réception et de décodage de la figure 1 correspond à un terminal d'audioconférence sur IP (Protocole Internet) de codage/décodage numérique de type G711, équipé cependant d'un dispositif synthétiseur 1 au sens de la présente invention. Le G711 est un codeur en bande téléphonique (300-3400 Hz) de fréquence d'échantillonnage de 8 kHz, à 64 kbits/s. Dans l'exemple, les trames codées ont une durée de 30 millisecondes (ce qui correspond à 240 échantillons, avec la fréquence d'échantillonnage de 8 kHz).
A la réception, un module 3 de détection de données erronées reçoit le flux binaire FC'issu du canal de transmission CL. En particulier, le module 3 détecte les
<Desc/Clms Page number 19>
trames erronées Te et transmet un signal d'indication de trame erronée ITE à un dispositif synthétiseur 1, pour une dissimulation des erreurs. Les trames valides Tv (trames non erronées) sont transmises à un dispositif 2 de décodage. Le dispositif synthétiseur 1 reçoit en outre des portions au moins de signal décodé SD, issues du dispositif de décodage 2 et utilise ces portions de signal pour synthétiser un signal de reconstruction SR. Le signal de reconstruction SR est, le cas échéant, additionné au signal décodé (en sortie du dispositif de décodage 2), de manière à délivrer un signal de parole S'prêt à être utilisé. Il est à noter que le signal S'n'est pas toujours identique au signal S, puisque des portions du signal S'ont pu être synthétisées.
En se référant à la figure 2, le dispositif synthétiseur 1 comprend une mémoire 10 destinée à stocker un nombre choisi de trames valides issues du décodeur 2. Cette mémoire 10 coopère avec un synthétiseur de blocs 11 qui reçoit le signal d'indication de trame erronée ITE, pour démarrer la synthèse des blocs BL. Le dispositif synthétiseur 1 comprend en outre un module 12 de lissage des échantillons de synthèse produits en remplacement des échantillons de la trame erronée. Le dispositif synthétiseur 1 fournit, en sortie du module 12, le signal reconstruit SR.
Ainsi, après décodage des données valides, on stocke dans la mémoire 10 des échantillons décodés en nombre suffisant pour synthétiser des trames effacées ou erronées, par la suite. Préférentiellement, la mémoire 10 stocke deux
<Desc/Clms Page number 20>
Figure img00200001

trames valides précédant la trame à reconstruire (soit 60 millisecondes de signal avant la trame synthétisée à jouer à l'instant t), ainsi qu'une trame valide qui succède la trame à synthétiser (soit 30 millisecondes du signal après la trame synthétisée à jouer à l'instant t). Le contenu temporaire de la mémoire 10 comprend donc 960 échantillons (480 échantillons avant l'instant t et 240 échantillons après l'instant t pour une fréquence d'échantillonnage de 8 kHz). Dans ce mode de réalisation, il est pris une trame de retard, soit donc 30 millisecondes, pour avoir des informations a posteriori sur le signal futur. Les échantillons de la dernière trame reçue sont placés en fin du contenu temporaire de la mémoire 10 et les échantillons des trames les plus anciennes sont décalés, selon le fonctionnement classique d'une mémoire à registre de décalage.
Ainsi, en se référant à la figure 2, le dispositif synthétiseur 1 reçoit ainsi deux informations : - la première information correspond aux échantillons des trames reçues précédemment, et - la seconde information correspond au nombre de trames successives perdues ou erronées, à synthétiser.
Dans l'exemple décrit, le nombre de trames successives que le dispositif est capable de synthétiser est limité à deux trames erronées successives. Bien entendu, en choisissant une mémoire 10 dotée de capacités de stockage suffisantes, il est possible de synthétiser plus de deux trames erronées successives, selon la qualité souhaitée du signal restitué.
<Desc/Clms Page number 21>
Figure img00210001
En se référant à la figure 3, le dispositif synthétiseur 1 reçoit une indication de trame erronée relative à la trame Ti, à l'étape 30. A la suite des tests 31 et 33, si les deux trames suivantes sont aussi erronées, les trois trames consécutives Ti, Ti+l, Ti+2 sont remplacées préférentiellement par un bruit de confort BCO, à l'étape 35. En revanche, si, à la suite du test 31, il s'avère que la trame suivante Ti+i est valide, on désigne la trame précédente Tir et la trame suivante Ti+l comme trames valides qui serviront de base, à l'étape 32, pour reconstruire la trame erronée Ti. Par ailleurs, si les deux trames consécutives Ti et Ti+l sont erronées, alors que la trame suivante Ti+2 est valide, cette dernière trame Ti+2 et la trame Ti-l qui précède la première trame erronée Ti, sont choisies à l'étape 34 en tant que trames valides de base pour la reconstruction des deux trames erronées Ti et Ti+l.
En variante du remplacement des trois trames successives erronées Ti, Ti+l et Ti+2 par un bruit de confort BCO, il est prévu une réinitialisation du contenu temporaire de la mémoire 10 (mise à zéro des valeurs binaires des échantillons). Cependant, le remplacement de trames erronées de longue durée, par un bruit de confort, peut être mieux perçu en terme de qualité de la communication par le destinataire du signal de parole.
On décrit ci-après une réalisation particulière dans laquelle le nombre d'échantillons qui est affecté à chaque
<Desc/Clms Page number 22>
bloc de synthèse est sensiblement constant d'un bloc de synthèse à l'autre.
Dans l'exemple de la figure 5, on calcule une première estimation d'une période fondamentale P du signal de parole dans la trame à synthétiser, en fonction des trames valides précédant (t-1) et succédant (t+1) la trame erronée. Comme on le verra plus loin, le nombre d'échantillons par bloc dépend de cette première estimation P.
Dans une réalisation préférée, la première estimation de la période fondamentale P s'effectue en fonction du voisement des trames valides précédant (t-1) et succédant (t+1) la trame erronée.
Le traitement démarre par une détection 50 des sons voisés VO ou non voisés NV dans les dernières données mémorisées dans la mémoire 10. Pour effectuer cette détection, il est avantageux d'utiliser une corrélation normalisée, par exemple du type décrit dans : W. B. KLEIJN, K. K. PALIWAL,"Speech Coding and Synthesis", ELSEVIER, 1995.
Préférentiellement, la technique de détection de voisement dans les trames et de détermination de leur période fondamentale (ou"Ptchs"PO et PI) qui est ici utilisée est celle décrite dans la référence : H. Kobayashi, T. Shimamura,"A weighted autocorrelation method for pitch extraction of noisy speech", Proc ; of ICASSP conference, 2000,
<Desc/Clms Page number 23>
qui met en oeuvre l'utilisation conjointe de la fonction d'auto-corrélation normalisée et de la fonction de différence moyenne en valeur absolue (AMDF, de l'anglais "Average Magnitude Difference Functiort"), afin d'améliorer l'estimation du pitch en présence de signaux de parole bruités. De préférence, l'estimation des pitchs PO et PI est contrainte à des valeurs maximales et minimales qui correspondent respectivement à une fréquence fondamentale du signal de parole de 400 Hz (20 échantillons pour une fréquence d'échantillonnage de 8 kHz) et de 66 Hz (120 échantillons pour une fréquence d'échantillonnage de 8 kHz).
Bien entendu, toute autre technique permettant d'obtenir la période de voisement dans une trame de signal de parole peut être utilisée ici.
Suivant le degré de voisement des trames (t-l) et (t+l), des décisions (qui suivent les tests 51,52 et 55) sont prises quant à la technique de synthèse de trames à utiliser. Dans l'exemple décrit, quatre cas sont distingués : - si les trames (t-l) et (t+l) sont voisées (sortie 0 du test 52), on calcule (étape 53) une première estimation de la période fondamentale P du signal de parole dans la trame à synthétiser, en fonction des périodes fondamentales PO de la trame valide précédant la trame erronée et PI de la trame valide succédant la trame erronée. La fonction permettant d'obtenir la période P peut être la moyenne entre les pitchs respectifs PO et PI,
<Desc/Clms Page number 24>
ou le maximum entre ces deux pitchs, ou le minimum entre ces deux pitchs, ou encore toute combinaison de PO et PI ; - si la trame (t-1) est voisée, alors que la trame (t+1) est non voisée (sortie N du test 52), la trame à synthétiser correspond vraisemblablement à une fin de mot (transition parole/bruit) et l'estimation de P correspond, de préférence, à la période PO de la trame valide voisée (étape 54) ; si la trame (t-1) est non voisée, alors que la trame (t+1) est voisée (sortie 0 du test 55), la trame à synthétiser correspond vraisemblablement à un début de mot (transition bruit/parole) et l'estimation de P correspond, de préférence, au pitch PI de la trame valide voisée (étape 57) ; et - si les trames (t-1) et (t+1) sont non voisées (sortie N du test 55), la trame à synthétiser correspond vraisemblablement à une période de bruit et, de préférence, la synthèse de cette trame se fait par une recopie de la trame précédente (t-1) (étape 56). En variante, la synthèse de la trame erronée peut se faire par recopie de la trame suivante (t+1).
Dans ce qui suit, on décrit un mode de réalisation préféré pour estimer le nombre NBL de blocs à synthétiser, ainsi que le nombre TBL d'échantillons à prévoir dans chaque bloc, supposé ici constant d'un bloc à l'autre.
En se référant à la figure 6, après la détection et l'estimation, à l'étape 60, des périodes PO et/ou PI des trames valides encadrant la trame erronée, on calcule une première estimation de la période P dans la trame de
<Desc/Clms Page number 25>
Figure img00250001

synthèse, en fonction des périodes PO et/ou PI comme décrit ci-avant.
Le nombre de blocs NBL à synthétiser est fonction de cette première estimation de la période P et du nombre NTR d'échantillons perdus dans la trame erronée (obtenu à l'étape 62).
Le nombre de blocs NBL est estimé à l'étape 61, en fonction du rapport :
Figure img00250002

Cependant, les périodes PO et PI (si les trames valides sont toutes deux voisées) ne sont pas forcément identiques et il faut définir un nombre d'échantillons par bloc TBL qui soit adapté. Avantageusement, la valeur du nombre de blocs NBL, en relation avec le nombre d'échantillons par bloc TBL comme on le verra plus loin, est optimisée par minimisation de la valeur absolue de la quantité suivante :
Figure img00250003

En fonction de cette valeur minimum de AN calculée à l'étape 72 et prise pour la valeur i, on incrémente le nombre de blocs NBL de cette valeur de i (NBL = NBL+i à l'étape 74). Finalement, la valeur de NBL correspond à l'entier le plus proche du rapport NTR/P. La valeur AN
<Desc/Clms Page number 26>
ainsi estimée correspond au nombre d'échantillons à ajouter aux blocs pour former la trame de synthèse (si la différence AN précitée est positive), ou encore à supprimer pour former la trame de synthèse (si la différence AN est négative).
A l'étape 63 de la figure 6, on estime ensuite le nombre d'échantillons par bloc TBL à synthétiser. Ce nombre est donné par le rapport :
Figure img00260001

dont la valeur est arrondie à l'entier le plus proche.
Finalement, la durée des blocs TBL (donnée par le rapport du nombre d'échantillons par bloc TBL ainsi estimé sur la fréquence d'échantillonnage) est représentative d'une période fondamentale du signal de parole dans la trame de synthèse tr.
Dans ce qui suit, on décrit, dans un mode de réalisation préféré, la synthèse des blocs, dont le nombre NBL et le nombre d'échantillons par bloc TBL ont été calculés au préalable.
Dans l'exemple représenté sur la figure 4A, le signal de parole reçu et décodé présente une trame erronée Te,
Figure img00260002

précédée d'une trame (t-l) valide et voisée, de pitch PO, et succédée d'une trame (t+l) valide et voisée, de pitch PI. Après avoir détecté et estimé les pitchs PO et PI, les échantillons d'un segment SEG (PO) de durée correspondant à
<Desc/Clms Page number 27>
la période PO dans la trame (t-1), ainsi que les échantillons d'un segment SEG (P1) de durée correspondant à la période PI dans la trame (t+1), sont enregistrés en mémoire 10, en tant que vecteurs Xo et Xi.
Préférentiellement, ces segments SEG (PO) et SEG (P1) comportent respectivement les derniers échantillons et premiers échantillons des trames valides précédente (t-1) et suivante (t+1). Une modélisation de ces éléments de signal est ensuite effectuée, par exemple en utilisant une transformée spectrale (transformée de Fourier, transformée en cosinus discrète, transformée en sinus discrète, ou autre), ou encore en appliquant une modélisation LPC (du type utilisé dans le codage CELP). Les modèles qui résultent de cette modélisation sont notés ci-après Mod (PO) et Mod (pal).
Plus particulièrement, en se référant à nouveau à la figure 5, on distingue préférentiellement trois cas :
Figure img00270001

- si les deux trames valides précédente et suivante sont voisées, on sélectionne à l'étape 53 un segment dans la trame valide précédente, dont la durée correspond à une période PO de la trame valide précédente, ainsi qu'un segment dans la trame valide suivante, dont la durée correspond à la période PI dans la trame valide suivante ; - si seule la trame précédente est voisée, on sélectionne, à l'étape 54, un segment dans la trame valide précédente dont la durée correspond à la période PO de la trame valide précédente, ainsi qu'un segment dans la trame valide suivante (non voisée) dont la durée correspond à la période PO de la trame valide précédente (voisée) ;
<Desc/Clms Page number 28>
Figure img00280001

- de même, si seule la trame valide suivante est voisée, on sélectionne, à l'étape 57, un segment comprenant les derniers échantillons de la trame valide précédente (non voisée) dont la durée correspond à la période PI dans la trame suivante (voisée), ainsi qu'un segment comportant les premiers échantillons de la trame valide suivante et dont la durée correspond à la période PI de la trame valide suivante.
On applique ensuite à ces segments la modélisation décrite ci-avant. Les modèles résultants sont notés Mod (PO) et Mod (Pl), respectivement pour les segments de la trame précédente (t-1) et de la trame suivante (t+1).
Dans une réalisation préférentielle, la modélisation appliquée correspond à une transformée spectrale en cosinus discrète (DCT). On calcule alors 120 coefficients respectifs résultant de la transformée spectrale des vecteurs Xo et Xi. Ces 120 coefficients sont respectivement mémorisés en tant que vecteurs Mod (PO) et Mod (Pl).
Dans l'exemple représenté sur la figure 4B, la première estimation de la période P de la trame de synthèse correspond à la moyenne des périodes PO de la trame valide précédente et PI de la trame valide suivante. Le critère d'optimisation de la valeur AN impose le nombre de blocs NBL (six blocs dans l'exemple représenté sur la figure 4B), ainsi que le nombre d'échantillons par bloc TBL (cinq échantillons par bloc dans l'exemple représenté sur la figure 4B, ce qui correspond à la moyenne entre le nombre
<Desc/Clms Page number 29>
d'échantillons dans une période PO et le nombre d'échantillons dans une période PI).
Bien entendu, les figures 4A à 4C n'illustrent les signaux qu'à titre de schémas explicatifs. Les segments SEG (PO) et SEG (Pl) comprennent sept et cinq échantillons. En pratique, ils devraient comprendre au moins vingt échantillons, ce qui correspond à la fréquence fondamentale 400 Hz, la plus élevée dans un signal de parole.
On décrit ci-après une réalisation préférée pour former les échantillons des blocs de synthèse.
En se référant à nouveau à la figure 6, après avoir obtenu à l'étape 66 les paramètres des modèles Mod (PO) et Mod (Pl) à partir des segments SEG (PO) et SEG (Pl) (étapes 64 et 65), on attribue, dans la succession de blocs NBL, un indice n (0 < n NBL-1) à chaque bloc. A l'étape 67, on synthétise les paramètres S (n) k d'un bloc en fonction des modèles Mod (PO) et Mod (Pl), de l'indice n de ce bloc et du nombre de blocs à synthétiser NBL. Dans une réalisation avantageuse, la fonction S (n) correspond à une interpolation des paramètres des modèles Mod (PO) et Mod (Pl), comme décrit ci-après.
Pour un bloc d'indice n, on estime, par une interpolation préférentiellement linéaire, des paramètres intermédiaires Mod (S (n) ) qui devraient être attribués à ce bloc, en fonction des modèles Mod (PO) et Mod (Pl).
<Desc/Clms Page number 30>
Ainsi, pour tout ke [0, TBL-l],
Figure img00300001

Si, pour estimer les modèles Mod (PO) et Mod (Pl), il a été utilisé préalablement une transformée spectrale, telle qu'une transformée en cosinus discrète, on procède, après l'estimation des paramètres intermédiaires Mod [S (n)] à une transformée spectrale inverse (telle qu'une transformée en cosinus discrète inverse IDCT) pour obtenir les valeurs binaires des échantillons S (n) k que doit comprendre chaque bloc de synthèse.
Figure img00300002
Ainsi, pour tout k < = [0, TBL-l], S (n) k=IDTC (Mod [S (n) k D.
Lorsque tous les blocs sont synthétisés (NBL blocs en tout), il faut supprimer ou ajouter le nombre d'échantillons défini par le critère d'optimisation AN. La position des échantillons à ajouter ou à supprimer est, ici, choisie de façon aléatoire sur l'ensemble du nombre d'échantillons déjà synthétisés. Pour l'ajout d'un échantillon, les valeurs binaires de celui-ci correspondent à une pondération (préférentiellement à la moyenne) des valeurs binaires des échantillons qui l'encadrent. Pour une suppression d'un échantillon, l'échantillon suivant dans la trame à synthétiser est préférentiellement affecté des valeurs binaires qui correspondent à une pondération (préférentiellement à la moyenne) des valeurs binaires de l'échantillon supprimé et de ses propres valeurs binaires avant la suppression.
<Desc/Clms Page number 31>
Figure img00310001
Dans ce qui suit, on décrit, dans un mode de réalisation préféré, un lissage des valeurs binaires des échantillons de début et de fin de bloc, appliqué pour recoller chacun des blocs.
Afin qu'aucun artefact ne vienne dégrader la qualité du signal reconstitué, on effectue un lissage entre les valeurs binaires des derniers échantillons d'un bloc et les valeurs binaires des premiers échantillons d'un bloc suivant. Préférentiellement, le lissage effectué est un lissage de type dit"à facteur d'oubli variable". En se référant à la figure 6, l'étape 68 prévoit le remplacement des valeurs binaires des échantillons S (n) i par les valeurs lissées SI (n) i, en particulier pour les échantillons de début et de fin de bloc. Préférentiellement, ce lissage s'effectue selon des équations suivantes :
Figure img00310002

Pour tout ne [l, NBL-l],
Figure img00310003
Figure img00310004

Dans ces équations, NLIS correspond au nombre d'échantillons sur lequel chaque lissage entre deux blocs est effectué. Il s'agit d'un entier inférieur à la taille de chaque bloc TBL. Le terme a (i) correspond au facteur d'oubli du lissage effectué. Avantageusement, de bons
<Desc/Clms Page number 32>
Figure img00320001

résultats sont obtenus pour un lissage faisant intervenir cinq échantillons (NLIS=5).
Il est à noter que le premier bloc de synthèse (n=0) ne subit pas de lissage en début de bloc. En effet, un lissage du même type est réalisé entre les trames précédant et suivant la trame erronée, comme représenté sur la figure 7.
En se référant à la figure 6, l'étape 69 prévoit l'utilisation des derniers échantillons de la trame précédente (t-1) à l'étape 70, ainsi que l'utilisation des premiers échantillons de la trame suivante (t+1) à l'étape 71, pour lisser la transition avec les valeurs des premiers échantillons et des derniers échantillons de la trame de synthèse. A l'étape 69, on calcule alors le facteur d'oubli a (i), ainsi que les valeurs lissées SR' (k) i qui remplacent les anciennes valeurs de ces échantillons SR (k) i.
Comme le lissage entre blocs, le lissage entre trames reconstruites et trames valides s'effectue selon les équations suivantes, données à titre d'exemple :
Figure img00320002
<Desc/Clms Page number 33>
Le nombre d'échantillons à lisser NLIS est strictement inférieur au nombre d'échantillons par trame NTR. Dans les équations qui précèdent, on remarque que ce sont les premiers points de la trame valide suivante (t+l) qui sont lissés. En variante, il peut, bien entendu, être prévu de lisser plutôt les derniers échantillons de la trame de synthèse tr.
Avantageusement, si le lissage entre trames est effectué sur les valeurs de cinq échantillons (NLIS=5), aucun artefact ne dégrade la qualité du signal reconstitué SR, obtenu finalement à l'étape 73 de la figure 6. Le lissage à facteur d'oubli variable appliqué pour recoller la trame de synthèse tr aux trames qui l'encadrent, comme représenté sur la figure 7, permet donc d'obtenir un résultat satisfaisant.
Dans l'exemple représenté sur la figure 4C, la trame de synthèse tr a été construite à partir des TBL échantillons dans les NBL blocs de la figure 4B, en particulier en sélectionnant une partie seulement de ces échantillons (en supprimant deux échantillons dans l'exemple représenté).
Les valeurs des échantillons intermédiaires entre les trames valides et la trame de synthèse ont été lissées, comme décrit précédemment.
On se réfère maintenant à la figure 8A qui représente un signal de parole féminine reconstruit, à comparer avec le même signal de parole, sans reconstruction (figure 8B).
Dans l'exemple représenté, la trame reconstituée est
<Desc/Clms Page number 34>
précédée et succédée de trames valides voisées. En se référant à la figure 8A, il a fallu synthétiser sept blocs successifs pour reconstruire la trame tr. En comparant les figures 8A et 8B, on remarque une régularité satisfaisante du signal de parole et aucune non-linéarité. En particulier, très peu de différences dans la forme des signaux sont remarquables entre la trame de synthèse et la trame du signal original sans perte.
Dans l'exemple représenté sur la figure 9A, la trame reconstruite succède une trame valide voisée et précède une trame valide non voisée. Il s'agit donc d'une perte de trame lors d'une transition parole/bruit (fin de mot).
Ici, le signal de parole est masculin. En se référant à la figure 9A, la transition s'effectue de façon régulière sur les quatre blocs de synthèse. La modification du signal voisé vers le signal non voisé est réalisée sans aucune non-linéarité. Néanmoins, une différence dans le prolongement du voisement de la trame de synthèse est à remarquer sur la figure 9A. En effet, alors que le signal original est voisé sur une plus longue période, le voisement est progressivement atténué dans la trame de synthèse.
Ci-avant, on a décrit de façon détaillée un exemple de synthèse d'une seule trame de substitution tr. Si deux trames reçues successivement sont erronées, le nombre d'échantillons perdus en tout correspond à deux tailles de trame (2*NTR) et la synthèse des blocs s'effectue comme décrit ci-avant, en utilisant la première trame valide
<Desc/Clms Page number 35>
précédente (t-1) et la première trame valide suivante (t+2), comme représenté à l'étape 34 de la figure 3.
Les figures 10A et 10B représentent le cas d'une perte de deux trames successives, encadrées par une trame non voisée et une trame voisée. Il s'agit donc d'une transition bruit/parole (début de mot). Ici, le signal de parole est masculin. En se référant à la figure 10A, on constate que la transition entre le signal non voisé et le signal voisé est régulière sur la durée des deux trames reconstruites. Cependant, le voisement de la trame de synthèse commence dès le second bloc (échantillon 300) dans la première trame de synthèse, alors que, dans le signal original, le voisement ne commence qu'à l'échantillon 500 (correspondant au cinquième bloc de synthèse). Toutefois, l'évolution du signal semble satisfaisante lors de l'écoute.
Ainsi, de façon plus générale, la présente invention offre une excellente qualité de synthèse entre deux trames voisées. Elle offre en outre une synthèse satisfaisante d'un signal de transition entre une zone voisée et une zone non voisée. Selon un autre avantage que procure la présente invention, il est possible de générer plusieurs trames de synthèse (deux trames successives comme représenté sur la figure 10A, ou plus).
Bien entendu, la présente invention ne se limite pas à la forme de réalisation décrite ci-avant à titre d'exemple elle s'étend à d'autres variantes.
<Desc/Clms Page number 36>
Ainsi, on comprendra que le dispositif synthétiseur au sens de la présente invention peut aussi bien être séparé du décodeur, comme représenté sur la figure 1, ou encore faire partie intégrante d'un décodeur, en tant que module synthétiseur de trames manquantes ou erronées.
Dans ce qui précède, le dispositif synthétiseur opère sur la base de trames décodées. En variante, notamment lorsque le codage CELP est utilisé, le dispositif synthétiseur peut opérer sur des données partiellement codées, notamment entre deux étapes intermédiaires de décodage. Par exemple, le dispositif synthétiseur peut obtenir les périodes fondamentales dans les trames valides précédente et suivante (pitchs PO et PI), ainsi que des paramètres LPC (Mod (PO) et Mod (Pl) ) associés à ces périodes ou à des segments de durées multiples de ces périodes, ces informations étant en général disponibles dans le flux binaire codé par un codage de type CELP (par exemple de type G 723.1). La synthèse peut donc s'effectuer en estimant des tailles de blocs adéquates en fonction des périodes de pitch PO et PI qui sont données dans le flux binaire codé, la synthèse des blocs s'effectuant ensuite par une interpolation de Mod (PO) à Mod (Pl).
La présente invention trouve avantageusement une application à tout autre type de codage. Elle trouve par exemple une application intéressante, sans toutefois s'y limiter, à la synthèse de trames codées initialement par des codeurs temporels dont la structure se prête moins bien a priori à la dissimulation des paquets d'erreurs.
<Desc/Clms Page number 37>
On a décrit ci-avant une réalisation particulière dans laquelle le nombre d'échantillons qui est affecté à chaque bloc de synthèse est sensiblement constant d'un bloc de synthèse à l'autre. Dans une variante, le premier bloc de synthèse et le dernier bloc de synthèse comportent un nombre d'échantillons correspondant respectivement à une première période PO (si la trame valide précédente est voisée) et à une seconde période PI (si la trame valide suivante est voisée), tandis que le nombre d'échantillons par bloc varie, de préférence de façon continue, dans la succession de blocs. Cette réalisation trouve une application avantageuse au codage IMBE.
Dans l'exemple décrit ci-avant, le choix des échantillons à ajouter ou supprimer pour obtenir un nombre d'échantillons dans la trame de synthèse correspondant au nombre d'échantillons perdus de la trame erronée, s'effectue de manière aléatoire. Dans une variante plus sophistiquée, la détection des trames valides voisées ou non voisées est utilisée comme suit : - si les deux trames valides précédentes et suivantes sont voisées, la suppression ou l'ajout de points s'effectue de manière aléatoire ; - si l'une des trames seulement est voisée (début de mot ou fin de mot), la suppression ou l'ajout d'échantillons s'effectue préférentiellement dans une partie de la trame de synthèse qui est adjacente à la trame valide non voisée. Néanmoins, on conserve un caractère avantageusement aléatoire pour l'ajout ou la suppression d'échantillons. De préférence, l'ajout ou la suppression des échantillons ne s'effectue pas à des intervalles
<Desc/Clms Page number 38>
réguliers du signal, ce qui pourrait entraîner une surpériodicité audible.
Dans l'exemple décrit ci-avant, une interpolation linéaire entre Mod (PO) et Mod (Pl), pour synthétiser les blocs, donne des résultats satisfaisants à l'écoute lorsque les trames valides sont voisées de part et d'autre de la trame erronée. Néanmoins, en particulier si l'une des trames est non voisée, la synthèse des blocs peut être basée sur un modèle différent d'une interpolation linéaire. En effet, en cas de fin de mot (ou de début de mot), il n'est pas nécessaire de poursuivre trop longtemps (ou de commencer trop tôt) le voisement lors de la synthèse de la trame de substitution. Ainsi, dans une variante plus sophistiquée, on tient compte, dans l'attribution des paramètres Mod [S (n)] pour synthétiser les blocs, du degré de voisement des trames valides précédente et suivante.
Typiquement, si l'une des trames est non voisée, les coefficients de son modèle seront prépondérants pour l'estimation des paramètres associés aux blocs.
La présente invention trouve une application intéressante, mais non limitative, au traitement de signaux de parole transmis par téléphonie.

Claims (29)

  1. Revendications 1. Procédé de synthèse d'un signal de parole représenté par des trames successives d'échantillons, dans lequel : a) on identifie au moins une trame erronée (Te), ainsi qu'au moins une première trame valide (t-1) précédant la trame erronée et une seconde trame valide succédant la trame erronée (t+1), b) on forme une succession de blocs synthétisés (NBL) en fonction des trames valides précédant (t-1) et succédant (t+1) la trame erronée, chaque bloc comportant un nombre d'échantillons (TBL) calculé en fonction d'une période fondamentale du signal de parole dans l'une au moins des trames valides (PO, PI), et c) on construit une trame de synthèse (tr) en utilisant une partie au moins des échantillons des blocs.
  2. 2. Procédé selon la revendication 1, dans lequel les blocs formés sont des blocs de synthèse de signaux de parole.
  3. 3. Procédé selon l'une des revendications 1 et 2, dans lequel : - on obtient des valeurs de premiers (ModPO) et seconds paramètres (ModPl) d'un modèle appliqué à des première et seconde portions (SEG (PO), SEG (P1)) respectivement de la première trame et de la seconde trame, et - on forme les échantillons d'un bloc (S (n) ) en appliquant à ce bloc ledit modèle avec des paramètres intermédiaires (Mod [S (n)]) entre les premiers et seconds paramètres.
    <Desc/Clms Page number 40>
  4. 4. Procédé selon la revendication 3, dans lequel chaque bloc de la succession est identifiable par un indice de bloc (n), et dans lequel les paramètres intermédiaires d'un bloc sont estimés en fonction de l'indice du bloc (n), du nombre total de blocs dans la succession (NBL) et desdits premiers et seconds paramètres (ModPO, ModPl).
  5. 5. Procédé selon la revendication 4, dans lequel on estime les paramètres intermédiaires d'un bloc en faisant intervenir une interpolation entre lesdits premiers et seconds paramètres.
  6. 6. Procédé selon l'une des revendications 3 à 5, dans lequel ledit modèle comprend l'attribution de paramètres spectraux (DCT) associés à une portion de signal de parole.
  7. 7. Procédé selon l'une des revendications 3 à 6, dans lequel on obtient des valeurs binaires des échantillons d'un bloc en faisant intervenir une transformée spectrale inverse (IDCT) appliquée aux paramètres intermédiaires de ce bloc.
  8. 8. Procédé selon l'une des revendications précédentes, dans lequel on obtient des informations respectives de degré de voisement (VO/NV) du signal de parole dans la première trame et dans la seconde trame.
  9. 9. Procédé selon la revendication 8, dans lequel, si les signaux de parole sont sensiblement non voisés dans les première et seconde trames, la trame de synthèse
    <Desc/Clms Page number 41>
    correspond sensiblement à l'une des première ou seconde trame valide (56).
  10. 10. Procédé selon l'une des revendications précédentes, dans lequel le nombre d'échantillons par bloc (TBL) est sensiblement constant dans ladite succession de blocs, et dans lequel on calcule une estimation (P) d'une période fondamentale du signal de parole dans la trame de synthèse en fonction d'une période fondamentale du signal de parole dans l'une au moins des trames valides (PO, PI).
  11. 11. Procédé selon la revendication 10, prise en combinaison avec l'une des revendications 8 et 9, dans lequel, si le signal de parole est sensiblement voisé dans l'une seulement des première et seconde trames valides, l'estimation de la période (P) dans la trame de synthèse correspond sensiblement à une valeur de période du signal de parole dans la trame valide qui est voisée (54 ; 57).
  12. 12. Procédé selon l'une des revendications 8 à 11, prises en combinaison avec l'une des revendications 3 à 7, dans lequel, si le signal de parole est sensiblement voisé dans l'une seulement des première et seconde trames valides, les première et seconde portions sont de durées correspondant à ladite période du signal de parole dans la trame valide voisée (54 ; 57).
  13. 13. Procédé selon la revendication 10, prise en combinaison avec l'une des revendications 8,9, 11 et 12, dans lequel, si le signal de parole est sensiblement voisé dans les première et seconde trames, avec une première
    <Desc/Clms Page number 42>
    période fondamentale (PO) dans la première trame (t-1) et une seconde période fondamentale (PI) dans la seconde trame (t+1), l'estimation de la période (P) dans la trame de synthèse correspond sensiblement à une valeur choisie parmi un ensemble comprenant la moyenne des première et seconde périodes, le maximum entre les première et seconde périodes et le minimum entre les première et seconde périodes (53).
    Figure img00420001
  14. 14. Procédé selon l'une des revendications 8 à 13, prises en combinaison avec l'une des revendications 3 à 7, dans lequel les première et seconde portions sont de durées respectives correspondant aux première et seconde périodes (53).
  15. 15. Procédé selon l'une des revendications 10 à 14, dans lequel on détermine un nombre de blocs (NBL) à former correspondant à l'entier le plus proche d'une fraction du nombre d'échantillons à prévoir dans la trame de synthèse (NTR) sur le nombre d'échantillons dans la période estimée (P) de la trame de synthèse (tr).
  16. 16. Procédé selon la revendication 15, dans lequel le nombre d'échantillons prévu par bloc (TBL) correspond à l'arrondi à l'entier le plus proche de la fraction du nombre d'échantillons à prévoir dans la trame de synthèse (NTR) sur le nombre de blocs à former (NBL).
  17. 17. Procédé selon l'une des revendications précédentes, dans lequel on ajoute ou on supprime des échantillons dans les blocs de manière à obtenir un nombre d'échantillons
    <Desc/Clms Page number 43>
    total dans les blocs correspondant sensiblement au nombre d'échantillons (NTR) à prévoir dans la trame de synthèse.
  18. 18. Procédé selon la revendication 17, prise en combinaison avec l'une des revendications 15 et 16, dans lequel on estime une différence (AN) entre le nombre d'échantillons à prévoir dans la trame de synthèse (NTR) et le nombre de blocs à former (NBL) multiplié par le nombre d'échantillons dans la période estimée (P) pour la trame de synthèse, et dans lequel : - on conserve une partie seulement des échantillons dans les blocs pour construire la trame de synthèse si ladite différence (AN) est négative, ou - on conserve tous les échantillons des blocs, auxquels on ajoute des échantillons supplémentaires, pour construire la trame de synthèse, si ladite différence (AN) est positive.
  19. 19. Procédé selon l'une des revendications 17 et 18, dans lequel les échantillons à ajouter ou à supprimer sont choisis sensiblement aléatoirement.
  20. 20. Procédé selon l'une des revendications 17 à 19, dans lequel chaque échantillon supplémentaire est affecté de valeurs binaires correspondant à une pondération des valeurs binaires respectives d'échantillons précédant et succédant l'échantillon supplémentaire dans la trame de synthèse.
  21. 21. Procédé selon l'une des revendications 17 à 20, dans lequel des échantillons voisins, précédant et/ou succédant
    <Desc/Clms Page number 44>
    des échantillons supprimés, sont affectés de valeurs binaires correspondant à une pondération des valeurs binaires des échantillons voisins avant suppression et des valeurs binaires de l'échantillon supprimé.
  22. 22. Procédé selon l'une des revendications précédentes, dans lequel on effectue un lissage au moins entre les valeurs binaires respectives du dernier échantillon d'un bloc et du premier échantillon du bloc suivant.
  23. 23. Procédé selon l'une des revendications précédentes, dans lequel on effectue un lissage : entre les valeurs binaires respectives du dernier échantillon au moins d'une trame valide (t-l) précédant la trame erronée et du premier échantillon au moins de la trame de synthèse (tr), et/ou entre les valeurs binaires respectives du dernier échantillon au moins de la trame de synthèse (tr) et du premier échantillon au moins d'une trame valide succédant la trame erronée (t+l).
  24. 24. Procédé selon l'une des revendications 22 et 23, dans lequel on effectue un lissage à facteur d'oubli variable.
  25. 25. Procédé selon l'une des revendications 22 à 24, dans lequel les valeurs binaires lissées d'un échantillon sont calculées en fonction d'une pondération (a (i)) avec les valeurs binaires d'au moins un échantillon précédent.
  26. 26. Dispositif synthétiseur d'un signal de parole représenté par des trames successives d'échantillons,
    <Desc/Clms Page number 45>
    caractérisé en ce qu'il comporte des moyens pour mettre en oeuvre le procédé selon l'une des revendications 1 à 25.
  27. 27. Dispositif selon la revendication 26, caractérisé en ce qu'il comporte en outre des moyens de connexion (SD) destinés à être reliés à un décodeur (2) d'un flux de données codées de signaux de parole (FC'), et en ce que lesdits moyens de connexion sont propres à recevoir une succession de trames décodées.
  28. 28. Dispositif selon la revendication 26, caractérisé en ce qu'il comporte en outre des moyens de réception d'un flux de données codées de signaux de parole (FC'), ainsi que des moyens de décodage (DCO) au moins partiel de ce flux.
  29. 29. Dispositif selon l'une des revendications 26 à 28, caractérisé en ce qu'il comporte une mémoire capable (10) de stocker au moins trois trames, ce qui permet de synthétiser au moins deux trames erronées successives.
FR0113181A 2001-10-12 2001-10-12 Procede et dispositif de synthese de trames de substitution, dans une succession de trames representant un signal de parole Expired - Fee Related FR2830970B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0113181A FR2830970B1 (fr) 2001-10-12 2001-10-12 Procede et dispositif de synthese de trames de substitution, dans une succession de trames representant un signal de parole

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0113181A FR2830970B1 (fr) 2001-10-12 2001-10-12 Procede et dispositif de synthese de trames de substitution, dans une succession de trames representant un signal de parole

Publications (2)

Publication Number Publication Date
FR2830970A1 true FR2830970A1 (fr) 2003-04-18
FR2830970B1 FR2830970B1 (fr) 2004-01-30

Family

ID=8868231

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0113181A Expired - Fee Related FR2830970B1 (fr) 2001-10-12 2001-10-12 Procede et dispositif de synthese de trames de substitution, dans une succession de trames representant un signal de parole

Country Status (1)

Country Link
FR (1) FR2830970B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100576318C (zh) * 2003-05-14 2009-12-30 冲电气工业株式会社 用于隐藏被擦除的周期信号数据的装置与方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0459358A2 (fr) * 1990-05-28 1991-12-04 Nec Corporation Décodeur de voix
US5717822A (en) * 1994-03-14 1998-02-10 Lucent Technologies Inc. Computational complexity reduction during frame erasure of packet loss
FR2774827A1 (fr) * 1998-02-06 1999-08-13 France Telecom Procede de decodage d'un flux binaire representatif d'un signal audio
WO1999066494A1 (fr) * 1998-06-19 1999-12-23 Comsat Corporation Techniques ameliorees de recuperation de trames perdues pour systemes parametriques a codage predictif de la parole
GB2343777A (en) * 1998-11-13 2000-05-17 Motorola Ltd Mitigating errors in a distributed speech recognition process
WO2000063881A1 (fr) * 1999-04-19 2000-10-26 At & T Corp. Procede et appareil permettant de realiser un masquage de perte de paquets ou d'effacement de trame
WO2001054116A1 (fr) * 2000-01-24 2001-07-26 Nokia Inc. Systeme de recuperation de paquets perdus dans le transport de la voix sur ip centre sur une interpolation de domaine temporel

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0459358A2 (fr) * 1990-05-28 1991-12-04 Nec Corporation Décodeur de voix
US5717822A (en) * 1994-03-14 1998-02-10 Lucent Technologies Inc. Computational complexity reduction during frame erasure of packet loss
FR2774827A1 (fr) * 1998-02-06 1999-08-13 France Telecom Procede de decodage d'un flux binaire representatif d'un signal audio
WO1999066494A1 (fr) * 1998-06-19 1999-12-23 Comsat Corporation Techniques ameliorees de recuperation de trames perdues pour systemes parametriques a codage predictif de la parole
GB2343777A (en) * 1998-11-13 2000-05-17 Motorola Ltd Mitigating errors in a distributed speech recognition process
WO2000063881A1 (fr) * 1999-04-19 2000-10-26 At & T Corp. Procede et appareil permettant de realiser un masquage de perte de paquets ou d'effacement de trame
WO2001054116A1 (fr) * 2000-01-24 2001-07-26 Nokia Inc. Systeme de recuperation de paquets perdus dans le transport de la voix sur ip centre sur une interpolation de domaine temporel

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100576318C (zh) * 2003-05-14 2009-12-30 冲电气工业株式会社 用于隐藏被擦除的周期信号数据的装置与方法

Also Published As

Publication number Publication date
FR2830970B1 (fr) 2004-01-30

Similar Documents

Publication Publication Date Title
EP2277172B1 (fr) Dissimulation d&#39;erreur de transmission dans un signal audionumerique dans une structure de decodage hierarchique
EP1316087B1 (fr) Dissimulation d&#39;erreurs de transmission dans un signal audio
EP1372289B1 (fr) Création d&#39;une trame de description de silence pour engendrer un bruit de confort
EP1051703B1 (fr) Procede decodage d&#39;un signal audio avec correction des erreurs de transmission
EP2080195A1 (fr) Synthèse de blocs perdus d&#39;un signal audionumérique, avec correction de période de pitch
EP1692687B1 (fr) Transcodage entre indices de dictionnaires multi-impulsionnels utilises en codage en compression de signaux numeriques
EP0906613B1 (fr) Procede et dispositif de codage d&#39;un signal audiofrequence par analyse lpc &#34;avant&#34; et &#34;arriere&#34;
EP1356455B1 (fr) Methode et dispositif de traitement d&#39;une pluralite de flux binaires audio
EP2080194B1 (fr) Attenuation du survoisement, notamment pour la generation d&#39;une excitation aupres d&#39;un decodeur, en absence d&#39;information
WO2016016567A1 (fr) Gestion de la perte de trame dans un contexte de transition fd/lpd
EP3175443B1 (fr) Détermination d&#39;un budget de codage d&#39;une trame de transition lpd/fd
EP1875465A1 (fr) Procede d&#39;adaptation pour une interoperabilite entre modeles de correlation a cout terme de signaux numeriques
EP1037196A1 (fr) Procédé de codage, de décodage et de transcodage audio
EP2203915B1 (fr) Dissimulation d&#39;erreur de transmission dans un signal numerique avec repartition de la complexite
EP1665234B1 (fr) Procede de transmission d un flux d information par insertion a l&#39;interieur d&#39;un flux de donnees de parole, et codec parametrique pour sa mise en oeuvre
FR2830970A1 (fr) Procede et dispositif de synthese de trames de substitution, dans une succession de trames representant un signal de parole
WO2007006958A2 (fr) Procédé et dispositif d&#39;atténuation des échos d&#39;un signal audionumérioue issu d&#39;un codeur multicouches
EP2232833A2 (fr) Traitement d&#39;erreurs binaires dans une trame binaire audionumerique

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20120629