PROCEDE DE RESTAURATION DE PARTIELS D'UN SIGNAL SONORE
La présente invention se rapporte au domaine des télécommunications et en particulier au domaine du traitement numérique d'un signal sonore et à la représentation harmonique d'un tel signal. En modélisation harmonique des signaux audionumériques, le signal sonore est représenté par un ensemble d'oscillateurs dont les paramètres (fréquence, amplitude, phase) varient lentement au cours du temps. L'analyse harmonique comprend une analyse temps/fréquence à court terme qui permet de déterminer les valeurs de ces paramètres, suivie d'une extraction de pics puis d'un suivi de partiels. Le signal à modéliser est découpé en trames de t échantillons (typiquement £ = 1024). Un premier module d'analyse temps/fréquence à court terme (qui effectue typiquement une transformée de Fourier) permet de calculer le spectre du signal à court terme pour chaque trame. Un deuxième module d'extraction de pics permet de ne retenir que les pics les plus pertinents à priori, un critère étant par exemple de ne garder que les pics les plus énergétiques. Un troisième et dernier module cherche à lier les pics entre eux au cours du temps, c'est-à-dire d'une trame à l'autre pour former les partiels. Chaque partiel correspond pendant sa durée de vie à un oscillateur. Ce type d'analyse et de représentation peut être utilisé en particulier lors d'un codage à réduction de débit, lors d'un codage paramétrique (c'est-à-dire un codage qui traite le signal suivant trois aspects : transitoires, sinusoïdes, bruit), lors de la séparation et l'indexation de sources sonores et lors de la restauration de fichiers sonores. Il est couramment admis que la synthèse des partiels est de meilleure qualité en utilisant des techniques d'interpolation des phases proposées par Robert J.McAulay et Thomas F.Quatieri dans l'article "Speech Analysis/Synthesis Based on a Sinusoidal Représentation", IEEE Transaction on Acoustics, Speech and Signal Processing, PP 744-754, 1986 ou encore proposées par Laurent Girin, Sylvain Marchand, Joseph di Martino, axel Rδbel et Geoffroy Peeters dans l'article "Comparing the order of a Polynomial Phase Model for the Synthesis of Quasi-Harmonie Audio Signais", WASPAA, New Paltz, NY, USA, October 2003. Ces techniques permettent la synthèse d'un partiel d'un pic ( -, /;,<?,•) à un pic (AM,fi+ï ,φM) en calculant toutes les phases intermédiaires à l'aide de polynômes d'ordre 3 ou 5, les fréquences se déduisant
par dérivation. Une interpolation d'ordre 3 est utilisée quand seules sont connues les fréquences et les phases de départ et d'arrivée. Une interpolation d'ordre 5 est utilisée quand sont, en outre, connues les variations d'ordre 2 de la phase (équivalentes aux variations à l'ordre 1 de la fréquence puisque par définition la fréquence est la dérivée de la phase). La synthèse d'un partiel entre les pics P^A,,/^) et i?+1(4+ι»./ω» /+ι) consiste à calculer les valeurs p(n) du partiel entre les trames i et i+1 : Pi (n) = P(H + n) = Ai (ra)cos(#>(. (72)) , n = 0,... -1 G) A cette fin, il est connu de calculer toutes les phases intermédiaires par l'une des deux méthodes d'interpolation suivantes. Pour l'interpolation d'ordre 3 selon Mac Aulay et al, la phase est calculée au moyen de l'expression suivante : φi (n) = φ. + 2πfinTe + a (nie) + β (n Je) (2) Où Te est la période d'échantillonnage Les deux inconnues a et β se calculent par résolution d'un système d'équations mettant enjeu (fi,φt,fM,φM) • Les fréquences se déduisent par dérivation
2πf; (n) = 2πfι + 2anTe + 3β (nTef (3) Pour l'interpolation d'ordre 5 selon Girin et al, les variations δft et δfM à l'ordre 1 de la fréquence aux pics Pt et PM sont supposées connues. La phase est alors calculée au moyen de l'expression suivante : φ, (n) = φ, + 2πf,nTe +— (nTef + β (nTef + γ (nTef + δ (nTef
(4)
Les trois inconnues β, δ, γ se calculent par résolution d'un système d'équations mettant enjeu
- Les fréquences se déduisent par dérivation : 2πf( (n) = 2πft + δftnTe + 3β (nTef + 4γ(nTef + 5δ (nTef (5) Pour des raisons diverses, il peut arriver que certains partiels existants dans le signal soient absents, corrompus ou discontinus en sortie d'analyse et/ou en entrée de synthèse. Par exemple, ils peuvent être absents en entrée du décodeur dans une
application de diffusion de programmes sonores sur Internet en cas de perte de paquets, ils peuvent être corrompus en cas de perturbations du signal à analyser par un signal parasite (bruit, clic, autre signal, etc), ou ils peuvent être discontinus dans le cas où ils ont une énergie trop faible pour être détectés correctement de façon continue. Il s'avère alors nécessaire de mettre en œuvre des techniques de restauration des pics manquants pour pouvoir recréer un signal synthétisé le plus proche possible du signal original. Ceci nécessite de recréer des pics caractérisés chacun par une amplitude, une fréquence et une phase. Les techniques précédentes d'interpolation, connues de l'art antérieur, sont utilisées pour synthétiser les parties correspondant aux pics manquants et restaurer les partiels. Cependant ces techniques d'interpolation connues sont adaptées au court terme, c'est-à-dire pour une période inférieure à 10ms. Pour des durées plus longues, le signal re-synthétisé est souvent éloigné de l'original et des artefacts désagréables peuvent apparaître. En effet, ces techniques assurent une continuité de phase entre les pics existants et les pics restaurés, mais en contre partie elles ne permettent pas de contrôler les fréquences induites données par les équations (3) et (5). Cet effet est d'autant plus marqué que la distance d'interpolation est grande. Un but de l'invention est de proposer une solution alternative au problème de la restauration de la partie manquante et identifiée comme telle d'un partiel, notamment lorsque la partie manquante correspond à des temps longs (supérieurs à 10 ms) pour lesquels les techniques connues sont peu efficaces. Aussi, le problème technique à résoudre par l'objet de la présente invention est de proposer un procédé de restauration de parties manquantes des partiels d'un signal sonore, lors d'une analyse harmonique suivant laquelle le signal sonore est découpé en trames temporelles sur lesquelles est appliquée une analyse temps/fréquence qui fournit des spectres successifs à court terme représentés par des trames fréquentielles d'échantillons, l'analyse consistant en outre à extraire des pics spectraux dans les trames fréquentielles et à les lier entre eux au cours du temps pour former des partiels, ce procédé étant une alternative aux solutions connues. Une solution au problème technique posé consiste, selon la présente invention, en ce que ledit procédé de restauration d'un partiel entre un pic Pt et un pic Pi+N dont les fréquences ω et phases φ sont connues est tel qu'il comprend les étapes qui consistent :
- à estimer la fréquence ω de chacun des pics manquants PM à i +Λ de ce partiel, - à calculer la phase déroulée φ de pic en pic, depuis la phase du pic P. jusqu'à celle du pic Pi+N et pour toutes les fréquences ώ précédemment estimées, à calculer l'erreur de phase errφ entre la phase déroulée φ et la phase connue au même pic Pi+N , à corriger chaque phase déroulée φ d'une valeur fonction de l'erreur de phase errφ . Un procédé selon l'invention se différencie des méthodes connues en ce qu'il effectue un contrôle plus fin de la fréquence des pics manquants et un calcul après coup des phases correspondantes pour assurer la continuité avec les phases des pics existants. Ainsi, un procédé selon l'invention permet une re-synthèse sans artefacts des signaux correspondants aux morceaux de partiels manquants contrairement aux méthodes connues préalablement décrites. En outre, de manière avantageuse, un procédé selon l'invention permet une reconstruction du signal plus proche au sens de l'erreur de reconstruction du signal original que celle obtenue par les méthodes connues. Enfin, un procédé selon l'invention présente avantageusement un algorithme à faible complexité. L'invention a en outre pour objet un dispositif de synthèse d'un signal sonore pour la mise en œuvre d'un procédé de restauration d'un partiel entre un pic Pt et un pic Pi+N . Ce dispositif est par exemple un décodeur audio ou un codeur paramétrique adapté pour la mise en œuvre d'un procédé selon l'invention. L'invention a en outre pour objet un produit programme d'ordinateur chargeable directement dans la mémoire interne d'un dispositif précédent, ou d'un groupe de dispositifs. Ce produit programme d'ordinateur comprend des portions de code logiciel pour l'exécution des étapes d'un procédé selon l'invention lorsque le programme est exécuté sur le dispositif ou le groupe de dispositifs. L'invention a en outre pour objet un support utilisable dans un dispositif précédent ou un groupement de dispositifs et sur lequel est enregistré un produit programme d'ordinateur chargeable directement dans la mémoire interne du dispositif ou du groupe de dispositifs, comprenant des portions de code logiciel pour l'exécution des étapes d'un procédé selon l'invention, lorsque le programme est exécuté sur le dispositif ou le groupe de dispositifs.
D'autres caractéristiques et avantages de l'invention apparaîtront lors de la description qui suit faite en regard de figures annexées données à titre d'exemples non limitatifs. La figure 1 est un organigramme d'un exemple de déroulement d'un procédé selon l'invention. La figure 2 est un schéma d'un exemple d'utilisation d'un procédé selon l'invention. Un procédé selon l'invention se déroule de la façon suivante décrite en regard de l'organigramme de la figure 1. Le procédé 1 consiste à restaurer un partiel entre un pic Pi et un pic Pi+N dont les fréquences ω et phases φ sont connues. Dans une première étape 2, le procédé estime la fréquence ώ et l'amplitude A de chacun des pics manquants PM à Pi+N_x . Cette estimation est effectuée par exemple par interpolation ou prédiction linéaire selon des méthodes connues. Soit un partiel constitué d'une succession de pics Pi (Ai,ωi,φi) liés entre eux, connus à des instants iT et caractérisés par : 4- , l'amplitude du pic au temps iT ωi , la fréquence du pic au temps iT <Pj , la phase du pic au temps iT, donnée modulo 2π. L'estimation de la fréquence des pics manquants entre les pics P. et Pi+N est effectuée par exemple au moyen d'une interpolation linéaire entre ωi et ωl+N , ou au moyen d'une prédiction linéaire sur le passé ou sur le futur, décrite par exemple dans l'article "Enhanced Partial Tracking using linear Prédiction", de Mathieu Lagrange, Sylvain Marchand, martin Raspaud et Jean-Bernard Rault, Proceedings of the Digital Audio Effects (DAFx) Conférence, pp 141 -146, Queen Mary, University of London, UK, September 2003, ou encore au moyen d'une combinaison pondérée sur le passé ou sur le futur. L'estimation de l'amplitude A des pics manquants est effectuée par exemple au moyen d'une interpolation linéaire entre Ai et A+N > ou au moyen d'une prédiction linéaire sur le passé ou sur le futur ou encore au moyen d'une combinaison pondérée sur le passé ou sur le futur. Dans une deuxième étape 3, le procédé calcule la phase déroulée φ de pic en pic, depuis la phase du pic Pt jusqu'à celle du pic Pi+N . Ce calcul est effectué pour chacune des fréquences ω précédemment estimées.
Soient φt et ωt la phase et la fréquence de départ et {ώ.+1,...,ώI.+ΛM}une estimation des fréquences dans l'intervalle à reconstruire. Pour prolonger le partiel entre le lon l'expression suivante :
(6)
Pour ne pas engendrer de discontinuités nuisibles à la qualité de la re-synthèse, il faut obtenir à l'instant i+N une phase reconstruite φi+N égale à φi+N . Les données intervenant dans l'expression (6) précédente étant soient approximées, soient prédites, il est statistiquement impossible d'obtenir cette égalité. Par conséquent, le procédé répartit l'erreur de phase errφ calculée à l'instant i+N entre tous les pics manquants et préalablement reconstruits PM à Pi+N_x au moyen des étapes suivantes. Dans une troisième étape 4, le procédé calcule l'erreur de phase errφ entre la phase déroulée φi+N et la phase comme φi+N au même pic P!+N . Ce calcul peut être effectué selon le système d'équations suivant : errφ = φi+N - φi+N + 2π si \φi+N - φi+N + 2π\ < \φi+N - φi+N\ (7) errφ = φi+N - φi+N - 2π si \φi+N - φi+N - 2π\ < \φi+N -
(8) errφ = φi+N -φi+N sinon. (9) Dans une quatrième étape 5, le procédé corrige chaque phase déroulée φi+/! d'une valeur fonction de l'erreur de phase errφ . Typiquement l'erreur de phase calculée à l'instant i+N est répartie de manière uniforme sur chacune des phases déroulées selon l'expression suivante : φcorrigéel+n = mod f φ,i+n + errφ — n ,2π λ n = l,...,N-l N (10) La répartition peut ne pas être uniforme et suivre une loi non linéaire par exemple.
L'exemple d'utilisation illustré par la figure 2, consiste à restaurer les partiels au moyen d'un procédé 1 selon l'invention lors d'une analyse harmonique d'un signal sonore par exemple lors d'un codage paramétrique. Le signal sonore s(n) est représenté par un ensemble d'oscillateurs dont les paramètres (fréquence, amplitude) varient lentement au cours du temps. De manière classique, l'analyse harmonique comprend une analyse 6 temps/fréquence à court terme qui permet de déterminer les valeurs de ces paramètres, suivie d'une extraction 7 de pics puis d'un suivi 8 de partiels. Une détection 9 de trous dans les partiels précède la mise en œuvre d'un procédé 1 de restauration des partiels selon l'invention. Les pics reconstruits Pl+n ) lors
de la mise en œuvre du procédé 1, sont ensuite traités comme des pics issus de l'analyse harmonique et la synthèse 10 additive du signal correspondant au partiel restauré à partir de ces pics reconstruits peut se faire, par exemple, par une des méthodes connues d'interpolation des phases (ordre 3 ou ordre 5).