Brevet FR2739736A1 — publié le 19970411

PROCEDE DE REDUCTION DES PRE-ECHOS OU POST-ECHOS AFFECTANT DES ENREGISTREMENTS AUDIO L'invention concerne le domaine de la restauration d'enregistrements audio bruités. On s'intéresse aux signaux ayant été enregistrés sur un support quelconque (bande magnétique, disque vinyle, cylindre) puis échantillonnés et stockés sur un support informatique. Les pré- et post-échos constituent un défaut couramment rencontré sur ce type de signal. Les pré- ou post- échos se rencontrent très fréquemment sur les enregistrements analogiques sur un support magnétique (bande, cassettes) mais aussi sur les disques, lorsqu'un passage o le signal est de faible niveau sonore précède ou suit un passage de fort niveau sonore. On appelle pré- écho la présence, quelques instants avant un signal de fort niveau, d'une copie très atténuée de ce signal, distinctement audible si le signal utile à cet instant est de faible niveau. De même, on appelle post-écho la présence quelques instants après un signal de fort niveau d'une copie très atténuée de ce signal, qui peut être audible si le signal utile est à cet instant de faible niveau. Les pré- et post-échos proviennent dans le cas des bandes magnétiques de l'aimantation, à travers le support de la bande, d'une spire par les spires jointives. Dans le cas des enregistrements sur disque vinyle, le phénomène provient de la modification plastique d'un sillon par la gravure des sillons adjacents. Dans toute la suite, le terme "écho" désignera indifféremment un pré-écho ou un post-écho qu'on souhaite éliminer d'un enregistrement audio. Dans le contexte des télécommunications, se pose le problème assez voisin de l'annulation d'écho, l'écho étant cette fois dû au temps aller-retour du trajet séparant le locuteur de son correspondant à travers le système de communication. Mais les techniques utilisées dans le contexte des communications ne permettent d'atténuer l'écho que si le canal de transmission peut être identifié en l'absence de signal utile, ce qui n'est pas le cas dans le contexte des enregistrements audio. En effet, pour appliquer les techniques utilisées en communication, il faudrait que l'écho puisse être entendu tout seul, c'est-à-dire en l'absence de tout signal utile. Dans le contexte des enregistrements audio, les échos sont gênants précisément lorsqu'ils sont entendus en présence d'un signal utile qu'il convient de ne pas altérer. La présente invention a pour but d'éliminer ou d'atténuer fortement les pré-échos et les post-échos affectant un enregistrement audio, en présence de signal utile ou non, et cela sans altérer ce dernier. L'invention propose ainsi un procédé pour éliminer, d'un premier segment d'un signal audio numérisé, une réplique atténuée d'une portion d'un second segment du signal audio numérisé, ladite portion du second segment présentant un décalage temporel par rapport à ladite réplique, ce procédé comprenant les étapes suivantes: - on détermine une valeur représentative d'un facteur d'atténuation entre ladite portion du second segment et ladite réplique pour différentes valeurs d'un index fréquentiel k; - pour différentes valeurs d'un entier p. on calcule respectivement des transformées de Fourier discrètes à court terme X(p,k) et X (p,k) du signal audio décalé de pR échantillons et du signal audio décalé de pR+t échantillons, R désignant un entier prédéterminé au plus égal à la longueur T desdites transformées de Fourier discrètes à court terme, et t désignant ledit décalage temporel exprimé en nombre d'échantillons, on calcule un signal corrigé dans le domaine fréquentiel par transformation non linéaire de la transformée de Fourier à court terme X(p,k) tenant compte, pour les différentes valeurs de l'index fréquentiel k, de la valeur représentative du facteur d'atténuation et de la transformée de Fourier à court terme Xt(p,k), et on calcule une composante à court terme d'un signal corrigé dans le domaine temporel par transformation de Fourier inverse à court terme du signal corrigé dans le domaine fréquentiel; et on forme le signal corrigé dans le domaine temporel par sommation pondérée de ses composantes à court terme. La transformation non linéaire utilisée pour calculer le signal corrigé dans le domaine fréquentiel Y(p,k) est par exemple de la forme: Y(p, k) = X(p,k). f (g(k) t(p,k)I (9 J(p, k) g(k) désignant la valeur représentative du facteur d'atténuation pour l'index fréquentiel k, f(.) désignant une fonction réelle décroissante, et I. I représentant le module d'un nombre complexe. Ce procédé utilise un modèle simple de production de l'écho: l'écho (préou post-) est simplement une version atténuée et décalée dans le temps du signal dont il est la réplique. La technique d'atténuation non linéaire basée sur l'utilisation de la transformée de Fourier présente notamment les avantages suivants: elle permet d'obtenir de très bons facteurs d'atténuation même en présence d'erreurs sur l'estimation du retard t; elle permet de surestimer le facteur d'atténuation et d'obtenir une diminution de l'écho plus importante encore; elle n'altère pas le signal utile. Lorsque le décalage temporel n'est pas connu précisément a priori, sa détermination préalable comporte avantageusement les étapes suivantes: on effectue une transformée de Fourier discrète, de longueur prédéterminée N. du premier segment du signal audio numérisé pour obtenir une première fonction du domaine fréquentiel; - on effectue une transformée de Fourier discrète de longueur N du second segment du signal audio numérisé pour obtenir une seconde fonction du domaine fréquentiel; - on calcule une fonction de corrélation tronquée entre le premier et le second segment par transformée de Fourier discrète inverse de longueur N d'une troisième fonction du domaine fréquentiel prenant la valeur U(m).Vf(m) pour chaque index fréquentiel m pour lequel IU(m) f de corrélation tronquée présente un maximum. On peut ainsi résoudre les problèmes posés par la présence de signal utile lors de l'étape d'estimation du décalage, grâce à une méthode d'estimation par filtrage/corrélation dans le domaine fréquentiel. La détermination de la valeur représentative du facteur d'atténuation comporte avantageusement les étapes suivantes: - obtention d'une estimation du facteur d'atténuation; et - accroissement d'une quantité prédéterminée de ladite estimation pour fournir ladite valeur représentative du facteur d'atténuation. L'estimation du facteur d'atténuation peut être dépendante ou indépendante de l'index fréquentiel k. L'obtention de cette estimation peut comporter les étapes suivantes: pour différentes valeurs d'un entier q, on calcule respectivement des transformées de Fourier discrètes à court terme de longueur T U(q,k) et V(q,k) du signal audio décalé de qR échantillons appartenant au premier segment et du signal audio décalé de qR+T échantillons appartenant au second segment; et - on calcule l'estimation du facteur d'atténuation par: Q-1 S |qO U(q' k) |'vqk * |(X, 1)| g(k) = V (1 Q-i x; IV(q,k)2 q=O ou, si l'estimation g est indépendante de l'index fréquentiel k, par: Q T-1 ?kEo IU(q,k) I. IV(q,k) (2 a = g Q-1 T-1 O k- IV(q,k) 12 q= ^O o Q=l+E[(nf-nd-T)/R] avec nf-nd désignant la longueur du premier segment, et E[.] représentant la partie entière. La détermination de l'atténuation prend ainsi en compte la méthode utilisée dans l'étape ultérieure d'élimination de l'écho. Le facteur d'atténuation est estimé par une méthode de minimisation de type moindres-carrés dans le domaine des fréquences. D'autres particularités et avantages de la présente invention apparaîtront dans la description ci-après d'un exemple de réalisation préféré mais non limitatif, en référence aux dessins annexés, dans lesquels: - les figures 1 et 2 sont des diagrammes temporels de signaux utilisés dans un exemple de mise en oeuvre du procédé selon l'invention, dans le cas d'un pré-écho sur la figure 1 et d'un post-écho sur la figure 2; - les figures 3 à 5 sont respectivement des organigrammes de procédures de détermination du décalage temporel, de détermination de la valeur représentative du facteur d'atténuation et d'élimination de l'écho utilisables pour la mise en oeuvre du procédé; et - la figure 6 est une représentation synoptique d'une partie de la procédure d'élimination de l'écho représentée sur la figure 5. Les figures 1 et 2 illustrent une section d'un signal audio x(n) obtenu par échantillonnage et numérisation d'un enregistrement affecté d'échos. La fréquence d'échantil- lonnage Fe est par exemple de 44,1 kHz. Le signal x(n) est disponible sous forme d'un fichier informatique accessible par un ordinateur programmé pour mettre en oeuvre le procédé selon l'invention. On suppose qu'un premier segment A contenant un écho Epre, Epost et un second segment B, dont une portion O est l'"original" dont cet écho est une réplique, ont déjà été localisés. Une telle localisation est aisée à effectuer auditivement. L'écho indésirable étant distinctement audible, l'opérateur peut pointer des instants (échantillons nd et nf) encadrant l'écho, qui constitueront le début et la fin du segment A. Ayant distingué l'écho, l'opérateur peut reconnaître et localiser l'original O de la même manière. On peut également effectuer une localisation automatique des segments o sont susceptibles de se trouver des échos et leurs originaux, par exemple en analysant les niveaux énergétiques du signal pour repérer les passages piano précédés ou suivis par des passages forte. La localisation des segments n'a pas besoin d'être précise pour que le procédé selon l'invention fonctionne. La localisation des segments A et B permet de disposer des données de départ suivantes: échantillons de début et de fin nd, nf du premier segment A, valeurs minimale et maximale tmint tmax du décalage temporel entre l'écho et l'original, exprimées en nombre d'échantillons. Les échan- tillons de début et de fin du second segment B correspondent à nd+tmin et nf+tmax. Le décalage effectif t est alors tel que 0 Tmin Lorsque le décalage T n'est pas connu a priori (cas d'un enregistrement sur bande magnétique par exemple), la première phase du procédé selon l'invention consiste à le déterminer. La figure 3 montre une procédure utilisable à cette fin. Les deux premières étapes 10, 11 consistent à transporter les signaux des premier et second segments A, B dans une fenêtre temporelle de longueur N échantillons sur laquelle leurs transformées de Fourier discrètes seront calculées à l'étape 12. Pour une implémentation optimale par transformée de Fourier rapide (TFR), il est commode de prendre la longueur N sous forme d'une puissance de 2, par exemple N=2a, avec a=l+E[log2(nf-nd+Tmax-Zmin)] o E[.] désigne la partie entière, de façon que N soit supérieure ou égale aux longueurs nf- nd et nf-nd+Tmax- min des segments A et B. On définit ainsi aux étapes 10 et 11 les signaux u et vf illustrés sur les figures 1 et 2: u(n)=x(n+nd) si 0On signal utile est d'énergie supérieure à celle de l'écho. Cette zone de fréquence n'est donc pas à prendre en compte pour l'estimation du décalage temporel puisqu'elle n'est pas nécessairement représentative du signal d'écho. L'opération réalisée à l'étape 13, qui est comparable à un filtrage temporel séparant l'écho du signal utile, est alors, pour O0m de l'ordre de -30 dB. A l'étape 14, on effectue la transformée de Fourier discrète inverse de la fonction W(m) du domaine fréquentiel pour obtenir une fonction de corrélation tronquée c(n) entre le premier et le second segment A, B. Cette fonction de corrélation est tronquée en ce sens que la fonction W(m) a été mise à zéro à l'étape 13 pour les zones de fréquences o l'on considère que le signal du premier segment est trop énergétique par rapport à celui du second segment pour être représentatif d'un écho. La transformée de Fourier discrète inverse de longueur N peut également être effectuée à l'étape 14 par un algorithme de TFR, de façon à obtenir, pour 0On le décalage X est simplement obtenu par t=nl+tmin. Ce mode d'estimation du décalage temporel t au moyen d'un calcul de corrélation faisant intervenir un filtrage dans le domaine fréquentiel permet une estimation fiable grâce à une utilisation de l'information disponible a priori sur la valeur maximale gmax du facteur d'atténuation. Lorsque le décalage temporel t est connu a priori, on peut se dispenser de la procédure d'estimation illustrée par la figure 3. C'est le cas par exemple pour un signal audiofréquence provenant d'un enregistrement sur disque vinyle à V tours par minute: le décalage t peut alors être obtenu de façon élémentaire par Z=E[Fe/(V/60)]. La seconde phase du procédé selon l'invention consiste à déterminer une valeur g représentative du facteur d'atténuation entre l'original O et son écho Epre ou Epost. On considère ci-après, en référence à la figure 4, le cas o l'on fait appel à une seule valeur g indépendante de la fréquence pour représenter le facteur d'atténuation. L'obtention de la valeur g comporte d'abord un calcul d'une estimation g du facteur d'atténuation (étapes 20 à 22), puis une étape 23 de surestimation du facteur d'atténuation estimé. A cette étape 23, on peut ainsi prendre g=g.g, le coefficient prédéterminé g correspondant par exemple à un gain de 3 ou 5 dB. Pour l'estimation 20-22 du facteur d'atténuation g, on utilise des transformées de Fourier à court terme de longueur T échantillons. On définit une fenêtre d'analyse de longueur L échantillons correspondant par exemple à une durée de l'ordre de 40 ms: L=Fex0,04. Cette durée peut être réglée selon le type de signal audio traité. La fenêtre d'analyse est classiquement associée à une fonction de fenêtrage h(n), par exemple une fonction rectangulaire ou encore une fonction de Hamming telle que: h(n)=[l-cos(2nn/L)]/2 pour 0On à T, par exemple R=T/4. La première étape 20 de l'estimation de l'atténuation consiste à aligner temporellement le premier segment A contenant l'écho Epre, Epost avec la portion correspondante du second segment B contenant l'original O. On définit ainsi un signal décalé v(n) par: v(n)=x(n+nd+t) pour 0On déterminée (t 0 pour un post-écho). On peut voir sur les figures 1 et 2 que, dans les signaux u(n) et v(n), l'écho et son original sont alignés temporellement. Les transformées de Fourier à court terme sont calculées à l'étape 21. Plus précisément, on calcule Q paires de transformées de Fourier à court terme, Q étant l'entier défini par Q=l+E[(nf-nd-T)/R]. Ainsi, pour chaque entier q tel que 0q court terme U(q,k) et V(q,k). Lorsqu'on choisit de modéliser l'écho par un facteur d'atténuation dépendant de la fréquence, l'organigramme de la figure 4 peut être simplement modifié en ce qui concerne les étapes 22 et 23. A l'étape 22 modifiée, on calcule selon la formule (1) T estimations du facteur d'atténuation g(k) dépendant de l'index fréquentiel k (0Ok dépendant de la fréquence). La dernière phase du procédé consiste en l'élimination proprement dite de l'écho, par exemple selon la procédure de soustraction spectrale non linéaire illustrée sur la figure 5. On définit d'abord la zone à traiter, qui peut être comme précédemment l'intervalle temporel ndSn et le décalage temporel ne changent pas au cours du temps). Cette zone est délimitée par les échantillons numérotés ns et ne. L'entier P est alors défini par P=l+E[(ne-ns-T)/R]. A l'étape 30, on calcule P paires de transformées de Fourier à court terme X(p,k), X,(p,k), de longueur T. Pour chaque entier p tel que 0Op transformation non linéaire tient compte, pour les diffé- rentes valeurs de l'index fréquentiel k, de la valeur g(k) ou g représentative du facteur d'atténuation et de la transformée de Fourier à court terme X (p,k). Plus préci- sément, le signal corrigé Y(p,k) s'exprime sous la forme: Y(p, k) =X(p, k) f(g). IX (p, k)) -I x(p, k) f étant une fonction réelle, positive et décroissante, introduisant la non-linéarité. Une telle transformation affecte le module mais non l'argument de X(p,k). L'étape 31 représentée sur la figure 5 correspond au cas o le facteur d'atténuation est choisi indépendant de la fréquence (g(k)=g=Cte) et au choix f(z)=max{0,1-z). On notera que diverses autres formes pourraient être retenues pour la fonction f. par exemple f(z)=(max(0,1-z2})1/2. A l'étape 32, on forme P composantes à court terme y(p,n) d'un signal corrigé dans le domaine temporel, par transformée de Fourier discrète inverse à court terme des signaux corrigés Y(p,k) dans le domaine fréquentiel. Pour 0p l'étape 32. A la dernière étape 33, on forme le signal corrigé dans le domaine temporel y(n) par sommation pondérée de ses composantes à court terme y(p,n). Il s'agit d'une somme à recouvrement (overlap-add) qui peut s'exprimer, pour T/2 n rectangulaire ou de Hamming. Le signal y(n+ns) est la version restaurée du signal x(n+ns), dans laquelle l'écho a été éliminé ou du moins sensiblement atténué. Cette procédure d'atténuation de l'écho par une technique de soustraction spectrale à court terme non linaire présente l'avantage de fonctionner même si le décalage X n'est estimé qu'approximativement, et même si le facteur d'atténuation est surestimé. Surestimer g (étape 23) permet d'améliorer encore l'atténuation. Dans certains cas rares, on peut observer des pré- échos ou post-échos multiples. C'est le cas par exemple si une spire de bande magnétique corrompt plusieurs spires voisines. Une telle situation peut être traitée en exécutant plusieurs fois de suite le processus correspondant aux figures 4 et 5, une fois pour chaque décalage individuel. Il est également possible de traiter une telle situation en une seule itération. Dans l'exemple o il y a deux décalages t et 2T, on peut obtenir deux valeurs (ou deux jeux de valeurs) gT et g2% aux étapes 22, 23, pourvu que les transformées de Fourier à court terme V' (q,k) du signal doublement décalé v' (n)=x(n+nd+2T) aient été calculées à l'issue des étapes 20 et 21. Le signal corrigé dans le domaine fréquentiel Y(p,k) est alors obtenu, à l'étape 31 modifiée, selon Y(p, k) =X(p, k) f' (gt IXz (p' k) | ' gr2 JX(p, k)) ix(p,k) Ir JX(p, k) I) avec T-1 X2 (pk) = E h(n).x(n+n.pR+2r).exp (-2jukn/ T) n=O obtenu à l'étape 30 modifiée, et, par exemple, f'(z, z')=max{0,1-z-z}. Dans le cas o le décalage temporel est constant (par exemple pour un disque 33 tours, mais pas pour une bande magnétique), et o le facteur d'atténuation est également considéré comme constant dans le temps, la totalité du signal peut être traitée sans dégradation du signal utile, c'est-à- dire que ns et ne peuvent correspondre au début et à la fin de l'enregistrement complet. REVENDICATIONS 1. Procédé pour éliminer, d'un premier segment (A) d'un signal audio numérisé, une réplique atténuée (Epre, Epost) d'une portion (O) d'un second segment (B) du signal audio numérisé, ladite portion du second segment présentant un décalage temporel (T) par rapport à ladite réplique, caractérisé en ce qu'il comprend les étapes suivantes: - on détermine une valeur (g(k)) représentative d'un facteur d'atténuation entre ladite portion du second segment et ladite réplique pour différentes valeurs d'un index fréquentiel k; - pour différentes valeurs d'un entier p. on calcule respectivement des transformées de Fourier discrètes à court terme X(p,k) et Xt(p,k) du signal audio décalé de pR échantillons et du signal audio décalé de pR+T échantillons, R désignant un entier prédéterminé au plus égal à la longueur T desdites transformées de Fourier discrètes à court terme, et T désignant ledit décalage temporel exprimé en nombre d'échantillons, on calcule un signal corrigé dans le domaine fréquentiel (Y(p,k)) par transformation non linéaire de la transformée de Fourier à court terme X(p,k) tenant compte, pour les différentes valeurs de l'index fréquentiel k, de la valeur (g(k)) représentative du facteur d'atténuation et de la transformée de Fourier à court terme XT(p,k), et on calcule une composante à court terme (y(p,n)) d'un signal corrigé dans le domaine temporel par transformation de Fourier inverse à court terme du signal corrigé dans le domaine fréquentiel; et - on forme le signal corrigé dans le domaine temporel par sommation pondérée de ses composantes à court terme. 2. Procédé selon la revendication 1, caractérisé en ce que ladite transformation non linéaire affecte essentiellement le module mais non l'argument de la transformée de Fourier à court terme X(p,k). 3. Procédé selon la revendication 2, caractérisé en ce que, pour chaque valeur de l'entier p. le signal corrigé dans le domaine fréquentiel Y(p, k) est calculé selon Y(p, k) = X(p, k). f (g(k) Kt (p, k) 1 (9 JX(p, k) g(k) désignant la valeur représentative du facteur d'atténuation pour l'index fréquentiel k, et f(.) désignant une fonction réelle décroissante. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce qu'il comporte une étape préalable de détermination du décalage temporel (T), au cours de laquelle: - on effectue une transformée de Fourier discrète, de longueur prédéterminée N. du premier segment (A) du signal audio numérisé pour obtenir une première fonction du domaine fréquentiel (U(m)); - on effectue une transformée de Fourier discrète de longueur N du second segment (B) du signal audio numérisé pour obtenir une seconde fonction du domaine fréquentiel (Vf(m)); - on calcule une fonction de corrélation tronquée (c(n)) entre le premier et le second segment par transformée de Fourier discrète inverse de longueur N d'une troisième fonction du domaine fréquentiel (W(m)) prenant la valeur U(m). Vf(m) pour chaque index fréquentiel m pour lequel IU(m) I fonction de corrélation tronquée (c(n)) présente un maximum. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que la détermination de la valeur (g(k)) représentative du facteur d'atténuation pour un index fréquentiel k comporte les étapes suivantes: - obtention d'une estimation (g(k)) du facteur d'atténuation; et - accroissement d'une quantité prédéterminée de A ladite estimation (g(k)) pour fournir ladite valeur représentative (g(k)) du facteur d'atténuation. 6. Procédé selon la revendication 5, caractérisé en ce que l'obtention des estimations (g(k)) du facteur d'atténuation pour les différentes valeurs de l'index fréquentiel k comporte les étapes suivantes: - pour différentes valeurs d'un entier q. on calcule respectivement des transformées de Fourier discrètes à court terme de longueur T U(q,k) et V(q,k) du signal audio décalé de qR échantillons appartenant au premier segment et du signal audio décalé de qR+T échantillons appartenant au second segment; et - on calcule l'estimation g(k) du facteur d'atténuation pour chaque index fréquentiel k par: Q-1 I U(q,k) IV(q,k) I g(k) = Q Q-i IV(q,k) 2 o Q=l+E[(nf-nd-T)/R] avec nf-nd désignant la longueur du premier segment et E[.] représentant la partie entière. 7. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'on adopte une même valeur (g) représentative du facteur d'atténuation pour chacune des valeurs de l'index fréquentiel k. 8. Procédé selon la revendication 7, caractérisé en ce que la détermination de la valeur (g) représentative du facteur d'atténuation comporte les étapes suivantes: - obtention d'une estimation (g) du facteur d'atténuation; et - accroissement d'une quantité prédéterminée de ladite estimation (g) pour fournir ladite valeur représentative (g) du facteur d'atténuation. 9. Procédé selon la revendication 8, caractérisé en ce que l'obtention de l'estimation (g) du facteur d'atténuation comporte les étapes suivantes: pour différentes valeurs d'un entier q. on calcule respectivement des transformées de Fourier discrètes à court terme de longueur T U(q,k) et V(q,k) du signal audio décalé de qR échantillons appartenant au premier segment et du signal audio décalé de qR+T échantillons appartenant au second segment; et - on calcule l'estimation g du facteur d'atténuation par: Qu1 T-1 4 1 IU(q,k) IV( premier segment et E[.] représentant la partie entière.