Brevet FR3157646A1 — publié le 20250627

Il est proposé un procédé d'estimation d’un délai entre une expression d’un premier signal et une expression d’un deuxième signal, le premier signal et le deuxième signal étant décomposés temporellement en une pluralité de trames, le procédé comprenant, pour une trame courante du deuxième signal: une obtention d’un ensemble de scores d’attention non pondérés, où chaque score représente une probabilité de correspondance entre la trame courante considérée et une trame du premier signal, et une obtention d’un ensemble de poids, dérivé d’une combinaison de scores d’attention non pondérés obtenus pour un contexte temporel donné comprenant la trame courante et au moins une trame du deuxième signal temporellement voisine de la trame courante, une pondération (406) des scores d’attention avec les poids obtenus pour produire un ensemble de scores d’attention pondérés concentrés autour d'un délai spécifique correspondant à un délai global estimé entre l’expression du premier signal et celle du deuxième signal. Figure de l’abrégé : Figure 4 Mécanisme d’attention pour l’estimation d’un délai et l’alignement de deux signaux La présente divulgation se situe dans le domaine des technologies de l'information et des communications, et plus précisément dans le domaine du traitement du signal. Elle concerne un procédé et un système d'estimation d’un délai entre une expression d’un premier signal et une expression d’un deuxième signal, un programme d’ordinateur pour la mise en œuvre d’un tel procédé et un support d’enregistrement non transitoire lisible par un ordinateur sur lequel est enregistré un tel programme. L'estimation précise de délai entre deux signaux potentiellement couplés est une problématique commune à plusieurs domaines techniques. Les solutions actuelles sont souvent conçues pour des cas d'usage spécifiques. A titre d’exemple, les systèmes de communication vocale actuels, notamment ceux utilisés dans les environnements mains-libres, sont fréquemment confrontés au problème d'écho. Cet écho est principalement dû à des différences d'impédance dans les connexions filaires et aux couplages acoustiques ou solidiens entre les haut-parleurs et les microphones. Les techniques traditionnelles d'annulation d'écho impliquent l'usage de filtres adaptatifs mais aussi non-linéaires opérant dans le domaine fréquentiel. Bien que les méthodes actuelles, y compris celles utilisant des réseaux de neurones pour l'estimation des masques temps-fréquence, aient amélioré la performance de l'annulation d'écho, elles restent insuffisantes dans certains scénarios. En particulier, elles peinent à gérer efficacement les situations où l'écho est absent, présente des variations temporelles complexes, ou encore lorsqu'une interférence s'ajoute à l'écho. Il existe un besoin d'une méthode robuste capable d’estimer avec précision un délai entre deux signaux dans une variété de contextes, en particulier dans des environnements variables où l’interférence entre ces deux signaux peut être intermittente ou absente. Résumé L’invention vise à améliorer la situation. Il est proposé, selon un aspect, un procédé d'estimation d’un délai entre une expression d’un premier signal et une expression d’un deuxième signal, le premier signal et le deuxième signal étant décomposés temporellement en une pluralité de trames, le procédé comprenant, pour une trame courante du deuxième signal: une obtention d’un ensemble de scores d’attention non pondérés, où chaque score représente une probabilité de correspondance entre la trame courante considérée et une trame du premier signal, et une obtention d’un ensemble de poids, dérivé d’une combinaison de scores d’attention non pondérés obtenus pour un contexte temporel donné comprenant la trame courante et au moins une trame du deuxième signal temporellement voisine de la trame courante, une pondération des scores d’attention avec les poids obtenus pour produire un ensemble de scores d’attention pondérés concentrés autour d'un délai spécifique correspondant à un délai global estimé entre l’expression du premier signal et celle du deuxième signal. Il est proposé, selon un aspect, un système d'estimation d’un délai entre une expression d’un premier signal et une expression d’un deuxième signal, le premier signal et le deuxième signal étant décomposés temporellement en une pluralité de trames, le système comprenant les modules suivants appliqués à une trame courante du deuxième signal : un module d’obtention d’un ensemble de scores d’attention non pondérés, où chaque score représente une probabilité de correspondance entre la trame courante considérée et une trame du premier signal, un module d’obtention d’un ensemble de poids, dérivé d’une combinaison de scores d’attention non pondérés obtenus pour un contexte temporel donné comprenant la trame courante et au moins une trame du deuxième signal temporellement voisine de la trame courante, et un module de pondération des scores d’attention avec les poids obtenus par le module d’obtention d’un ensemble de poids pour produire un ensemble de scores d’attention pondérés concentrés autour d'un délai spécifique correspondant à un délai global estimé entre l’expression du premier signal et celle du deuxième signal. Un avantage technique du procédé et du système proposés réside dans leur capacité à fournir une estimation précise et fiable du délai global entre l'expression du premier signal et l’expression du deuxième signal. Cela est particulièrement bénéfique dans des contextes où le délai global entre les expressions du premier signal et du deuxième signal reste relativement constant d'une trame à l'autre. Dans de tels contextes, une constance ou une variation limitée des ensembles de scores d’attention pondérés de trame en trame indique une stabilité du délai global estimé. Dans un exemple, les expressions des deux signaux sont normalisées de sorte que leur norme vaille 1. Cela permet de rendre le système indépendant de la différence de facteur d’échelle entre les deux signaux. Dans un exemple, l’ensemble de scores d’attention pondérés obtenu est normalisé de manière à correspondre à un ensemble de probabilités. Cette normalisation permet de fournir une information cohérente au cours du temps, d’une trame à une autre, pour des modules de traitement situés en aval. Il est également proposé, selon un aspect, un procédé de détection d’une expression d’un premier signal dans un deuxième signal décomposés en une pluralité de trames, le procédé comprenant une estimation d’un délai entre l’expression du premier signal et celle du deuxième signal selon le procédé d’estimation proposé et comprenant en outre une détermination d’une probabilité de présence de l’expression du premier signal dans le deuxième signal sur la base d’un traitement des ensembles de scores d’attention pondérés. La détection de l'expression d'un premier signal au sein d'un deuxième signal est améliorée grâce au traitement des ensembles de scores d'attention pondérés, ce qui permet de réduire significativement les fausses détections, aboutissant à un alignement plus robuste. Dans un exemple, la détermination de la probabilité de présence comprend une mise en œuvre de couches convolutives unidimensionnelles agissant sur un axe de délais, chaque couche convolutive étant configurée pour effectuer un sous-échantillonnage de l’axe des délais. Cette mise en œuvre offre l'avantage d'une analyse fine et détaillée des signaux, permettant une localisation précise de l’expression du premier signal au sein du deuxième signal et une détection fiable même en présence de signaux complexes ou bruités. Dans un exemple, la combinaison des ensembles de scores d’attention pondérés comprend, après la mise en œuvre des couches convolutives, une mise en œuvre d’une couche de regroupement configurée pour rendre la probabilité de présence de l'expression du premier signal au sein du deuxième indépendante du nombre de trames formant le contexte temporel donné. Cela permet de changer la taille du contexte temporel considéré sans avoir à ré-entrainer le réseau de neurones. Il est également proposé, selon un aspect, un procédé d’annulation d’un écho représenté par une expression d’un premier signal au sein d’un deuxième signal, le procédé comprenant une estimation d’un délai entre l’expression du premier signal et une expression du deuxième signal selon le procédé d’estimation proposé ou une détection de l’expression du premier signal dans le deuxième signal selon le procédé de détection proposé. Une annulation d’écho efficace nécessite de disposer d’une estimation précise du délai entre l’expression du premier signal à annuler et l’expression d’un deuxième signal contenant un signal utile à conserver. Cette estimation précise est conférée par l’utilisation des scores d’attention pondérés. Par ailleurs, la mise en œuvre du procédé de détection proposé permet, grâce au traitement des ensembles de scores d’attention pondérés, de détecter efficacement la présence ou l’absence d’écho et, par conséquent, de préserver la qualité d’un signal utile en évitant de traiter un écho inexistant. Il est également proposé, selon un aspect, un procédé de détermination d’une origine d’un premier signal et d’un deuxième signal, le premier signal et le deuxième signal étant captés distinctement, sur la base d’un délai entre une expression du premier signal et une expression du deuxième signal, le procédé comprenant une estimation du délai selon le procédé d’estimation proposé ou une détection de l’expression du premier signal dans le deuxième signal selon le procédé de détection proposé. Ce procédé offre l'avantage de tracer avec exactitude la source des signaux en cas de multiplicité des voies de transmission ou de réflexions, ce qui est essentiel dans les applications telles que le diagnostic médical par ultrasons, la géolocalisation et le diagnostic structurel par les techniques de sismographie. Il est également proposé, selon un aspect, un procédé de synchronisation d’un premier signal et d’un deuxième signal, le procédé comprenant une estimation d’un délai entre une expression du premier signal et une expression du deuxième signal selon le procédé d’estimation proposé ou une détection de l’expression du premier signal dans le deuxième signal selon le procédé de détection proposé. Ce procédé propose comme avantage une coordination précise entre les signaux, indispensable dans les applications multimédias telles que la synchronisation labiale dans la vidéoconférence ou la synchronisation des pistes audio dans la post-production cinématographique, où un décalage temporel même minime peut être perceptible et gênant. Il est également proposé, selon un aspect, un programme d’ordinateur comprenant des instructions qui, lorsque le programme est mis en œuvre par un processeur, conduisent à mettre en œuvre l’un des procédés évoqués. Il est également proposé, selon un aspect, un support d’enregistrement non transitoire lisible par un ordinateur sur lequel est enregistré un programme pour la mise en œuvre de l’un des procédés évoqués lorsque ce programme est exécuté par un processeur. D’autres caractéristiques, détails et avantages apparaîtront à la lecture de la description détaillée ci-après, et à l’analyse des dessins annexés, sur lesquels : Fig. 1 FIG. 1 représente un algorithme d’annulation d’écho acoustique selon l’état de l’art. Fig. 2 FIG. 2 représente un modèle d’attention appliqué à l’annulation d’écho acoustique selon l’état de l’art. Fig. 3 FIG. 3 représente un modèle d’attention appliqué à l’annulation d’écho acoustique selon un exemple de réalisation. Fig. 4 FIG. 4 représente un module de filtrage de score d’attention et un détecteur de présence d’écho convenant pour le modèle d’attention de FIG. 3 . Fig. 5 FIG. 5 représente un exemple de résultat d’un alignement temporel de deux signaux en l’absence d’écho, l’alignement temporel utilisant un délai déterminé par application du modèle de FIG. 2 . Fig. 6 FIG. 6 représente un exemple de résultat d’un alignement temporel de deux signaux en l’absence d’écho, l’alignement temporel utilisant un délai déterminé par application du modèle de FIG. 3 . Fig. 7 FIG. 7 représente un exemple de résultat d’un alignement temporel de deux signaux en présence d’interférence et d’écho, l’alignement temporel utilisant un délai déterminé par application du modèle de FIG. 2 . Fig. 8 FIG. 8 représente un exemple de résultat d’un alignement temporel de deux signaux en présence d’interférence et d’écho, l’alignement temporel utilisant un délai déterminé par application du modèle de FIG. 3 . Fig. 9 FIG. 9 représente un exemple de dispositif d’estimation de délai entre un premier signal et un deuxième signal. Dans la description qui va suivre, des chiffres de référence identiques désignent des éléments identiques ou ayant des fonctions similaires. La description qui va suivre mentionne les références suivantes. [Indenbom2022] Evgenii Indenbom, Nicolae-Cătălin Ristea, Ando Saabas, Tanel Pärnamaa, and Jegor Gužvin, “Deep model with built-in self-attention alignment for acoustic echo cancellation,” Aug. 2022, arXiv:2208.11308 [cs, eess]. [LeRoux2019] J. L. Roux, S. Wisdom, H. Erdogan, and J. R. Hershey, “Sdr - half-baked or well done?” in IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP), 2019. [Fu2019] Szu-Wei Fu, Chien-Feng Liao, Yu Tsao, Shou-De Lin, “MetricGAN: Generative Adversarial Networks based Black-box Metric Scores Optimization for Speech Enhancement”, International Conference on Machine Learning, 2019. La description qui va suivre fait référence à des technologies connues dans le domaine du traitement de signal, en particulier des technologies d’intelligence artificielle connues. Une présentation d’un cas d’étude dans lequel de telles technologies sont utilisées pour l’annulation d’écho est à présent fournie afin de faciliter la compréhension de la technique proposée. Lors d’une communication vocale, notamment mains-libres, un phénomène d’écho peut apparaître. Plusieurs causes sont à l’origine de cet écho. Les connections hybrides filaires font apparaître des différences d’impédances, sources de réflexions audibles comme un écho avec un certain retard. Du côté du terminal, des couplages qui existent entre le haut-parleur et le microphone. Ces couplages peuvent être de nature acoustique, notamment dans le cas de communications mains-libres : la réverbération ou effet de salle, due aux parois, créent de multiples réflexions qui vont être captées par le microphone. Il existe également des couplages solidiens au sein du terminal du fait de la vibration de certaines pièces, vibrations captées par le microphone. Du fait de ces couplages, la voix de l’interlocuteur distant diffusée par le haut-parleur est captée par le microphone avec un certain délai et renvoyée au distant, créant un phénomène d’écho qui dégrade la communication et impacte l’intelligibilité de l’interlocuteur local. Aussi, les systèmes de téléphonie intègrent des annuleurs d’écho à différents endroits de la chaîne afin de supprimer cet artefact. FIG. 1 illustre un annuleur d’écho (102) configuré pour annuler, ou du moins atténuer, un écho représentant une expression d’un signal émis par un haut-parleur (104) au sein d’un signal capté par un microphone (106). Les notations suivantes sont introduites : d(t) désigne le signal émis par le haut-parleur, ϕ(.) désigne le couplage entre le haut-parleur et le microphone, e(t) désigne l’écho capté par le microphone, s(t) désigne le signal utile, et x(t) désigne le signal capté par le microphone. x(t) est donné par la relation additive suivante, notée [1]. x(t)=s(t)+e(t)=s(t)+ϕ(d(t)) Le couplage ϕ(.) entre le haut-parleur et le microphone se caractérise par : des transformations linéaires représentatives de la réponse en fréquence des transducteurs (haut-parleur/microphone) et de la réverbération de la salle, des transformations non linéaires, comme des saturations pouvant se manifester au niveau des transducteurs, et un retard global, noté τ, qui représente la somme du délai de la chaîne d’acquisition-restitution du terminal (buffers de gigue, conversions numérique-analogique) et du délai acoustique lié à la propagation du son dans l’air. Les techniques d’annulation d’écho utilisent classiquement une combinaison en série d’un filtre adaptatif cherchant à estimer la transformation linéaire et d’un filtre non-linéaire cherchant à supprimer l’écho résiduel en sortie du filtre adaptatif. Pour des raisons de calcul et de performance, les traitements sont généralement opérés dans le domaine fréquentiel : cela permet d’une part de concevoir des filtres adaptatifs plus robustes et rapides, et d’autre part d’élaborer des filtres non-linéaires sous la forme de masques temps-fréquence qui garantissent un meilleur compromis entre la suppression de l’écho résiduel et la qualité vocale. Ainsi, chaque signal noté z(t), où z(t) désigne l’un des signaux introduits précédemment, notamment d(t) et x(t), est décomposé en trames – adjacentes ou non – avant d’appliquer une transformée de Fourier à court-terme pour produire un vecteur fréquentiel noté Z (n) ∈ ℂ F , c’est à dire D (n) ou X (n) respectivement, où n est l’indice de la trame et F est le nombre de fréquences considérées. Au préalable, une fenêtre d’apodisation notée w ∈ ℝ N , où N est un entier naturel, est appliquée à chaque trame de signal afin de contrôler les effets du fenêtrage. La fenêtre d’apodisation peut par exemple être une fenêtre de Hann, de Hamming, ou de Blackman. L’application de la fenêtre d’apodisation peut être formalisée par l’équation suivante : Z (n) = ℱ( z (n)⊙ w ) où z (n) est un vecteur de taille N représentant la trame d’indice n du signal z(t), ℱ(.) désigne une transformée de Fourier à court-terme, et ⊙ désigne un produit de Hadamard, ou produit terme à terme, de deux vecteurs ou matrices. Le taux de superposition de deux trames successives, noté (N-P)/N, est fixé par le nombre P. P est un entier naturel compris entre 1 et N. Lorsque P=N, le taux de superposition est égal à zéro, indiquant que les trames sont adjacentes. Les termes du vecteur z (n) sont notés z (n) =[z(n*P) z(n*(P-1)) ... z(n*(P-N+1))]. Sous ce formalisme, le module non-linéaire a généralement pour fonctions de : calculer un masque temps-fréquence m (n) ∈ ℝ F appliquer ce masque au signal de sortie du filtre adaptatif pour estimer le signal utile dans le domaine temps-fréquence, noté Ŝ (n) et reconstruire la version temporelle du signal utile estimé, notée ŝ(t), par transformée de Fourier inverse et par application de méthodes connues de type « overlap-and-add » ou « overlap-and-save ». Ces dernières années, l’emploi de réseaux de neurones profonds pour estimer le masque m (n) a montré des performances très intéressantes [Indenbom2022], en tout cas très supérieures aux techniques de traitement du signal basées sur l’estimation de filtres de Wiener à partir de modèles de signaux (modèles probabilistes) et de la fonction de couplage ϕ(.). Les toutes dernières approches se montrent suffisamment robustes pour ne plus utiliser de filtre adaptatif. Ces approches prévoient d’appliquer le masque directement sur le signal microphonique. Cette application peut être formalisée par l’équation suivante, notée [2]. Ŝ (n)= m (n)⊙ X (n) Dans ce dernier cas, la transformée peut être apprise par le réseau de neurones. L’architecture du réseau de neurones comprend alors une étape d’encodage, notée Γ(.) mise en œuvre par une série de couches de neurones dont le rôle est d’extraire des caractéristiques du signal considéré, à savoir le signal émis par le haut-parleur et le signal capté par le microphone, respectivement. L’encodage opéré par le réseau de neurones peut être formalisé par l’équation suivante, considérant Q comme étant l’ensemble des indices de trames passées ou futures à fournir en entrée de l’encodeur : Z (n) = Γ({ z (n-q)} q ∈Q ) Dans la suite de la présente description, l’utilisation de la notation Z (n) se réfère à un vecteur fréquentiel issu, indifféremment, d’une transformée de Fourier à court-terme ou d’une étape d’encodage opérée par le réseau de neurones. Pour estimer le masque m (n) de la trame d’indice n, le réseau de neurones est alimenté avec les caractéristiques de X (n) et avec les caractéristiques de D (n-i). L’indice i délimite ici le contexte temporel pertinent, noté D , pour la trame d’indice n. Ce contexte temporel est défini par un ensemble de trames englobant à la fois des trames passées et futures par rapport à la trame d’indice n, exprimé sous la forme {,-n_futur ≤ i L’estimation du masque est formalisée par l’équation suivante notée [3]. m (n) = Ψ( X (n), D (n)) Ψ(.) est une fonction de génération du masque. Sa mise en œuvre peut prendre la forme d’un algorithme ou de tout ou partie d’un réseau de neurones. Classiquement, du fait du retard global τ, les systèmes d’annulation d’écho intègrent un module de réalignement temporel qui consiste à aligner le signal haut-parleur sur le signal microphonique en compensant ce retard, ce qui permet de mieux conditionner les différents estimateurs (filtre adaptatif et/ou suppresseur d’écho). Ainsi, l’entrée du système d’annulation d’écho devient d(t-τ), où τ est une estimation du retard τ, et toutes les caractéristiques du haut-parleur sont calculées à partir de ce signal remis en phase. Dans le cas des réseaux de neurones, plutôt que d’estimer explicitement le retard τ, le réseau intègre dans son architecture un module de réalignement qui exploite un ensemble, noté { D (n-i)} i ∈ D , des caractéristiques de D (n-i). Le réalignement par le module de réalignement est formalisé par l’équation suivante notée [4]. m (n) = Ψ( X (n),{ D (n-i)} i ∈ D ) Le contexte temporel D est à déterminer en fonction de différentes contraintes. Le passé maximal n_passé à prendre en compte dépend du retard global τ et de la durée de la réverbération de la salle. En pratique, n_passé peut prendre une valeur correspondant à plusieurs centaines de millisecondes. Quant à la valeur de n_futur qui fixe la quantité de futur que l’on s’autorise à prendre, elle dépend de la contrainte de causalité que l’on s’impose : si l’on désire un traitement sans retard, comme par exemple pour des applications de téléphonie, on pourra fixer n_futur = 0 ; dans d’autres situations où la contrainte de stricte causalité est relâchée, on pourra prendre s’autoriser à prendre une ou plusieurs trames du futur pour mieux estimer le masque m (n) de la trame courante d’indice n. Dans [Indenbom2022], les auteurs utilisent un mécanisme d’attention pour réaliser ce réalignement. Le principe du mécanisme d’attention appliqué à l’annulation d’écho consiste à combiner linéairement l’ensemble { D (n-i)} i ∈ D des caractéristiques de D (n-i) avec des poids notés a(n,i) de sorte à obtenir un estimateur des caractéristiques réalignées, notée D r (n), selon l’équation suivante notée [5]. D r (n)=∑ i ∈ D a(n,i). D (n-i) Les poids a(n,i), appelés scores d’attention et calculés à chaque trame d’indice n, sont obtenus à l’aide d’un modèle d’attention standard qui peut être formalisé selon l’équation suivante, notée [6]. a (n) = softmax((1/√b) X p (n) T [ D p (n+n_futur), … , D p (n-n_passé)]) Où a (n) est le vecteur contenant les a(n,i), X p (n) = W q T . X (n) et D p (n) = W q T . D (n) où W q ∈ ℝ cxb et W k ∈ ℝ vxb sont des matrices dites « query » et « key » avec c et v les dimensions de X (n) et D (n), respectivement, et b la taille de l’espace dans lequel sont projetés les expressions des signaux. Le mécanisme d’attention précité pouvant être mis en œuvre au sein d’un annuleur d’écho est illustré en FIG. 2 . Un premier opérateur de multiplication matricielle (202) effectue le produit du vecteur X (n) T et de la matrice « query » W q . Pour chaque vecteur D (n-i), un deuxième opérateur de multiplication matricielle correspondant (204a, 204b, 204c) effectue le produit de la matrice « key » W k T et du vecteur D (n-i) précité. Pour chaque vecteur D (n-i), un troisième opérateur de multiplication matricielle correspondant (206a, 206b, 206c) effectue le produit du vecteur en sortie W k T D (n-i) du deuxième opérateur correspondant et du vecteur en sortie X (n) T W q du premier opérateur. Un module d’attention (208) basé sur un réseau de neurones et comprenant une fonction d’activation de type softmax reçoit en entrée les sorties des troisièmes opérateurs et calcule en sortie un ensemble de scores d’attention a(n,i), c’est-à-dire un score d’attention pour chaque vecteur D (n-i). Pour chaque vecteur D (n-i), un opérateur de multiplication (210a, 210b, 210c) correspondant effectue le produit du score d’attention a(n,i) correspondant et de la vecteur D (n-i) précité. Un opérateur d’addition (212) effectue la somme des sorties des opérateurs de multiplication (210a, 210b, 210c) et obtient ainsi l’estimateur des caractéristiques réalignées selon l’équation [5]. Dans le cadre de l’alignement temporel, on s’attend à ce que a(n,i) soit maximum, c’est à dire proche de 1, autour de l’indice noté i τ correspondant au retard global τ, et prenne une valeur faible, c’est-à-dire proche de 0, ailleurs. L’indice i τ est calculé comme suit, comme étant la partie entière du quotient de τ par P : i τ =|τ/P| A la lumière du cas d’étude tel que fourni ci-avant, la technique proposée est maintenant présentée dans le contexte d’une application à l’annulation d’écho. La technique proposée est illustrée en FIG. 3 et FIG. 4 et est à mettre en regard avec FIG. 2 . Les résultats obtenus par l’application de la technique proposée à des scénarios test sont illustrés en FIG. 6 et en FIG. 8 , et peuvent être comparés aux résultats obtenus par l’application d’un mécanisme d’attention selon FIG. 2 , illustrés en FIG. 5 et en FIG. 7 . FIG. 5 , [Fig.. 6], FIG. 7 et FIG. 8 comportent, chacune, quatre représentations, à savoir : une représentation (502, 602, 702, 802) des caractéristiques du signal émis par le haut-parleur en fonction du temps, une représentation (504, 604, 704, 804) des caractéristiques du signal capté par le microphone en fonction du temps, une représentation (506, 606, 706, 806) des caractéristiques du signal émis par le haut-parleur synchronisé par le système avec le signal capté par le microphone en fonction du temps, et une représentation (802, 806) des scores d’attention en fonction du temps en FIG. 5 et FIG. 7 et une représentation (804, 808) des scores d’attention pondérés en fonction du temps en FIG. 6 et FIG. 8 . La technique proposée propose dans ce contexte une solution d’alignement temporel robuste aux interférences, et à la présence ou non d’écho dans le signal capté par le microphone. La technique proposée permet notamment d’obtenir, contrairement au comportement observé par un module classique d’attention, des scores qui reflètent des caractéristiques désirées pour un estimateur de délai entre le signal capté par un microphone et le signal émis par un haut-parleur et dont une expression est susceptible d’être présente dans le signal capté par le microphone. En particulier, selon la technique proposée, chaque trame d’indice n est associée à un ensemble de scores qui peut être représenté par un vecteur noté â (n) = [â(n,n_futur ), … , â(n,n_passé)]. Cet ensemble de scores possède des valeurs concentrées autour d’un retard particulier correspondant au retard global entre le haut-parleur et le microphone. En présence continue d’écho, l’ensemble de scores associé à chaque trame est stable au cours du temps, c’est-à-dire de trame en trame, y compris en présence de signal utile s(t) capté par le microphone. Par ailleurs, contrairement à un mécanisme d’attention standard, la technique proposée permet de modéliser efficacement des scénarios d’absence d’écho. En particulier, le vecteur â (n) peut être conçu pour être représentatif non seulement d’une estimation de délai, mais également d’une présence ou d’une absence de couplage entre le signal émis par le haut-parleur et le signal capté par le microphone. Par exemple, le vecteur â (n) peut être conçu pour avoir une norme variable en fonction de la présence ou de l’absence d’un tel couplage. Par exemple, le vecteur â (n) peut être conçu pour avoir une norme proche de zéro lorsque le couplage entre le signal du haut-parleur et le signal du microphone est nul (ϕ(.)=0). En effet, le modèle d’attention standard est conçu à l’origine pour une application au traitement de langage naturel et possède des propriétés qui ne s'adaptent pas idéalement à une application au réalignement temporel de signaux audio dans le contexte de l’annulation d’écho. Le modèle d'attention standard contraint les scores d'attention à se sommer à un, de par l’utilisation de la fonction softmax dans l’équation [6]. Cette contrainte est problématique car, dans le contexte de l’annulation d’écho, le couplage entre le signal émis par le haut-parleur et le signal capté par le microphone peut être nul, i.e. ϕ(.)=0. En l’absence d’écho, il n’est pas désirable que le modèle identifie une corrélation entre le microphone et le haut-parleur. En effet, la présence de valeurs non nulles a(n,i) revient à alimenter l’annuleur d’écho avec des caractéristiques issues du signal issu du haut-parleur, ce qui indique à l’annuleur d’écho la présence d’écho et mène en pratique à atténuer, et donc potentiellement dégrader, un signal de parole locale s(t)=x(t) alors qu'aucun écho n’est présent. Ce cas est illustré en FIG. 5 où le haut-parleur émet un signal qui n’est pas présent au niveau du microphone car le couplage est nul. On observe que le mécanisme d’attention standard, représenté en (508), identifie tout de même des liens entre X (n) et des caractéristiques de l’ensemble { D (n-i)} i ∈ D des caractéristiques de D (n-i). Dans ce cas, les liens identifiés ne reflètent pas une estimation de délai mais indiquent simplement à l’annuleur d’écho qu’il faut tout de même prendre en compte certaines caractéristiques D (n-i) pour calculer le masque m (n). Dans une application du modèle d’attention standard au traitement du langage naturel, le score d'attention peut varier fortement d'un instant à l'autre. Or, dans une application à l’annulation d’écho, le délai varie rarement et il est souhaitable que a(n,i). D (n-i) varie peu de trame en trame. Cependant, on constate en pratique qu’avec les modèles d’attention standard, si l’interférence, exprimée sous la forme d’un vecteur fréquentiel S (n) (à l’instar de X (n) et D (n)), domine dans X (n), des liens sont identifiés entre l’interférence S (n) et une combinaison des caractéristiques de l’ensemble { D (n-i)} i ∈ D . Ce phénomène est illustré en FIG. 7 où il existe un écho caractérisé par un retard global d’environ 100ms. Autour de 34,9 s, fenêtre où l’écho est seul, le module d’attention standard identifie bien ce délai global d’une 100aine de ms. Cependant, à l’apparition du signal utile s(t) autour de 35,25s, le modèle d’attention standard identifie des relations entre le microphone et des caractéristiques de D (n-i) plus éloignées dans le temps, alors que le délai global caractéristique de l’écho n’a pas évolué. De manière particulière, le mécanisme d’attention proposé en FIG. 2 est modifié de sorte à intégrer, notamment, un module de filtrage (309) de scores d’attention et un détecteur de présence d’écho. Le module de filtrage des scores d’attention reçoit en entrée des scores d’attention notés a(n,i) issus du module (208), identique en FIG. 2 et FIG. 3 . A la différence du mécanisme d’attention classique décrit en FIG. 2 et équation [6], les expressions des deux signaux sont normalisées, cf. blocs de normalisation (30a, 30b, 30c, 30d), après projection par les matrices W k et W q de sorte que || X p || = || D p || = 1. Cela permet de rendre le mécanisme d’attention insensible au facteur d’échelle, e.g. le niveau de l’écho dans le signal du microphone. Ces scores d’attention fournis en entrée du module de filtrage sont appelés « scores d’attention non pondérés » dans la suite de cette description. Un ensemble de scores d’attention non pondérés peut ainsi être obtenu pour chaque trame du deuxième signal. La suite de la description de l’exemple d’implémentation considéré se focalise sur le traitement, par le module de filtrage des scores d’attention, d’un ensemble de scores d’attention non pondérés a(n,i) obtenus pour une trame courante d’indice n issue de la décomposition ou de l’encodage du signal capté par le microphone. Ce traitement peut être répété pour chaque trame du deuxième signal. Le module de filtrage des scores d’attention s’appuie sur une pondération de l’ensemble de scores d’attention obtenu avec un ensemble de poids, notés h(n,i), dérivés d’une combinaison de scores d’attention non pondérés obtenus pour le contexte temporel D , obtenant ainsi des scores d’attention pondérés notés a(n,i). Le détecteur de présence d’un écho, c’est à dire de la présence d’une composante ϕ(d(n-i τ )) au sein du signal x(t) capté par le microphone, se base, directement ou indirectement, sur les scores d’attention pondérés. Il peut être par exemple composé d’un réseau de neurones profond dont l’architecture ne dépend pas de la taille du contexte temporel, notée card( D ), représentant le nombre de délais possibles considérés. Ce détecteur peut être utilisé, dans le contexte de l’annulation d’écho, par un pondérateur des caractéristiques D(n-i) configuré de sorte à transmettre ou pas d’information selon si de l‘écho est présent ou non dans le microphone ou non. Des détails d’une implémentation possible du module de filtrage des scores d’attention sont à présent fournis en référence à FIG. 4 . Dans une première étape, les scores d’attention non pondérés a(n,i) tels que ceux fournis par l’équation [6], sont pondérés par une série de poids h(n,i) où i ∈ D . Cette pondération a pour but de concentrer les scores d’attention pondérés a(n,i) sur un indice particulier i τ correspondant au retard global τ et ainsi éviter la dispersion des poids sur l’ensemble des retards possibles i dans le contexte temporel donné D . Le calcul des poids h(n,i) peut être réalisé à partir d’une combinaison des scores d’attention non pondérés a(n,i) de la manière suivante : pour chaque h(n,i), la combinaison fait intervenir tout ou partie des scores d’attention non pondérés a(n,i) où i ∈ D , ainsi que les scores de quelques trames adjacentes a(n±k,:) avec k ∈ N. La prise en compte de trames adjacentes permet à la fois d’effectuer un lissage pour éviter les variations rapides de l’estimateur de délai, et également de corriger les scores d’attention associés à la trame courante d’indice n si ceux-ci sont très bruités. Le nombre de trames adjacentes peut être déterminé expérimentalement. En général, un contexte temporel d’une ou deux trames autour de la trame d’indice n est suffisant, soit k ∈ {1,2}. D’un point de vue calculatoire, cette combinaison (402a, 402b) peut être réalisée par une série de couches convolutionnelles 2D pour obtenir des poids intermédiaires notés h(n,i) où i ∈ D . A la différence des couches de type « fully-connected », l’utilisation de couches convolutionnelles évite de nécessiter un a priori sur la dimension card( D ) du domaine des retards, ce qui évite de réentraîner le réseau si on utilise, lors de l’inférence, un contexte temporel D différent de celui de l’apprentissage. Une fonction d’activation (404) peut être appliquée par un module d’activation des poids afin de normaliser les poids en sortie. Dans l’application à l’annulation d’écho, il peut être intéressant de considérer les poids h(n,i) associés à la trame courante d’indice n comme une probabilité sur les indices i. Aussi, il est possible d’utiliser classiquement la fonction softmax, qui peut être formalisée selon l’équation suivante. h(n,i) = e h(n,i) / ∑ i ∈ D e h(n,i) Il est également possible d’utiliser une normalisation de type norme L1, qui peut être formalisée selon l’équation suivante. h(n,i) = |h(n,i)| / ∑ i ∈ D |h(n,i)| Grâce à la normalisation des poids, les poids h(n,i) respectent les relations 0 ≤ h(n,i) ≤ 1 et ∑ i ∈ D h(n,i) = 1 et peuvent être interprétés comme des probabilités. Après un apprentissage, ces poids h(n,i) peuvent être interprétés comme la probabilité, notée P(H(n,i)), que l’indice i corresponde au retard τ entre le signal issu du haut-parleur et le signal capté par le microphone. Ces probabilités peuvent être utilisées pour pondérer (406) les scores d’attention a(n,i) de la trame courante selon la relation suivante, mise en œuvre par un opérateur de pondération des scores d’attention. a(n,i) = h(n,i) a(n,i) Il peut être intéressant de ramener ces nouveaux scores à une probabilité notée ã(n,i). Pour cela, il est possible d’introduire une fonction d’activation de type normalisation, qui peut être la fonction softmax, ou de type L1, ou toute autre normalisation. Les équations suivantes correspondent respectivement à des fonctions d’activation softmax et L1, mises en œuvre par un module d’activation des scores pondérés (408). ã(n,i) = e a(n,i) / ∑ i ∈ D e a(n,i) ã(n,i) = |a(n,i)| / ∑ i ∈ D |a(n,i)| Durant le processus d'apprentissage dédié à l'annulation d'écho, cette méthode de pondération facilite la concentration de l'attention sur l'indice iτ et permet d'en éliminer les variations rapides de trame en trame, un phénomène souvent rencontré dans les modèles d'attention standard. En matière de réglage, les poids du réseau de neurones peuvent être réglés de n’importe quelle manière de sorte à approcher au mieux les fonctions respectives. Comme l’ensemble du réseau est dérivable par rapport aux paramètres à régler, toute méthode d’optimisation basée sur une descente de gradient par rapport à ces paramètres peut être employée. Les poids du module de filtrage des scores d’attention peuvent être appris de manière supervisée conjointement avec les autres éléments de l’annuleur d’écho. On peut par exemple constituer une base de données comportant des exemples de signaux x(t), leurs échos e(t) captés par un microphone après diffusion par un haut-parleur (échos réels enregistrés ou synthétisés par simulation acoustique) comportant différents retards globaux τ, des exemples de signaux utiles s(t). Les poids de l’ensemble de l’annuleur d’écho peuvent alors être appris de manière supervisée, en choisissant une fonction de coût L, comme l’erreur quadratique moyenne ℒ(s,ŝ) = 1/T ∑ t (s(t) – ŝ(t)) 2 , ou des fonctions plus adaptées à la perception de l’oreille humaine comme le SI-SDR (Scale-Invariant Signal-to-Distorsion-Rate) [LeRoux2019], ou toute autre fonction de coût utilisant la vérité terrain s(t). Il est aussi possible de l’entrainer de manière non-supervisée avec des méthodes de type MetricGAN par exemple [Fu2019]. La suite de la description de l’exemple d’implémentation considéré se focalise sur le traitement, par le détecteur de présence d’écho, des ensembles de scores d’attention pondérés a(n,i) ou ã(n,i) obtenus pour une pluralité de trames issues de la décomposition ou de l’encodage du signal capté par le microphone. Ce traitement prévoit, à partir des scores d’attention pondérés, de déduire une probabilité de présence d’écho, notée P(E(n)), au niveau du microphone. Le calcul de P(E(n)) consiste à combiner les scores ā(n±k,i) ou ã(n±k,i) où i ∈ D et où k est un entier naturel. D’un point de vue calculatoire, cette combinaison peut être réalisée par l’architecture présentée en FIG. 4 . De manière particulière, une première combinaison (410a, 410b peut être réalisée par une série de couches convolutives 1D) dans l’axe des retards i, avec, à chaque couche, un sous-échantillonnage de l’axe des retards. Le résidu de la dimension des retards peut être supprimé (412) pour rendre la suite du réseau de neurones indépendant de la taille de cette dimension. Pour cela, il est possible d’appliquer sur cette dimension une couche de regroupement qui peut être de type moyenne, médiane ou maximum, par exemple. Par nature, les périodes de présence ou d’absence d’écho sont stables sur des périodes relativement longues en regard de la durée d’une trame. Aussi, l’utilisation (414) d’un neurone récursif de type LSTM ou GRU, en lissant les prédictions issues des couches convolutives grâce à la prise en compte des contextes court et long-terme, permet d’éviter des variations trop rapides, peu représentatives des conditions réelles. Enfin, pour être analogue à une probabilité, il est possible de choisir une fonction d’activation de sortie du neurone récursif configurée pour fournir en sortie une valeur entre 0 et 1. Cette probabilité P(E(n)) peut être utilisée pour pondérer une nouvelle fois les scores d’attention pondérés a(n,i) ou ã(n,i) et ainsi produire l’estimation finale de délai global entre l’écho et le signal utile capté par le microphone. Cette dernière pondération (416) peut être formalisée, dans le cas où les scores d’attention pondérés sont les scores normalisés ã(n,i), par l’équation suivante mise en œuvre par un opérateur de pondération des scores d’attention pondérés. â(n,i) = P(E(n)) . ã(n,i) Contrairement à des scores d’attention standards, les scores â(n,i) ne se somment pas à 1 et peuvent être tous nuls. Cela permet, en l’absence d’écho où P(E(n) ≪ 1, d’indiquer à l’annuleur d’écho qu’il ne faut pas prendre en compte le signal haut-parleur lors du calcul du masque m (n) et ainsi d’éviter les dégradations du signal utile. En FIG. 6 et FIG. 8 sont illustrés les mêmes exemples qu’en FIG. 5 et FIG. 7 mais en utilisant un mécanisme d’attention modifié conformément à la technique proposée plutôt qu’un mécanisme d’attention standard. Tout d’abord, on remarque que lorsque ϕ(.)=0 alors le score d’attention est cette fois proche de zéro (608), c’est-à-dire qu’il n’y a rien à réaligner (606), se traduisant par D r (n) proche de zéro, là où le module d’attention classique cherchait à tout prix à réaligner le premier signal sur le deuxième, même s’ils n’ont rien en commun (506, 508). Ensuite, on observe en FIG. 8 que le score d’attention (808) est beaucoup plus stable au cours du temps, véhiculant essentiellement l’information de délai (autour de 100 ms) et de présence ou non de l’écho dans le microphone, comme attendu. La description qui précède présente un filtre de scores d’attention qui, associé à un mécanisme d’attention standard, forme un module d’attention modifiée, ainsi qu’un détecteur de présence d’écho acoustique. Le filtre de scores d’attention proposé ou le module d’attention modifiée intégrant un tel filtre peut être intégré à toute application nécessitant une remise en phase de signaux. Le détecteur de présence d’écho acoustique est un exemple particulier de détecteur pour une application particulière. De manière générale, le filtre de scores d’attention peut être associé à un module de détection d’une expression d’un premier signal dans un deuxième signal décomposés en une pluralité de trames. Dans le cas particulier où le module de détection est un détecteur de présence d’écho acoustique, le premier signal est le signal émis par le haut-parleur, le deuxième signal est le signal capté par le microphone et l’expression du premier signal et l’expression du premier signal dans le deuxième signal représente l’écho acoustique. Outre son application dans l'annulation d'écho acoustique, la technique proposée trouve également son utilité dans la détermination de l'origine de deux signaux captés séparément. Par exemple, le délai global estimé entre l'expression d'un premier signal et celle d'un deuxième signal peut servir de donnée d'entrée pour un mécanisme de triangulation, visant à localiser une origine spatiale et/ou temporelle commune aux deux signaux. Cette approche est particulièrement pertinente dans des domaines tels que le recalage de deux électrocardiogrammes obtenus via des capteurs placés sur différentes parties du corps, le diagnostic médical par ultrasons, la géolocalisation et le diagnostic structurel par techniques sismographiques. Une autre utilisation possible de la technique proposée concerne la synchronisation de signaux. Le délai global estimé peut être employé pour coordonner temporellement deux signaux, comme dans le recalage de deux vidéos d’une même scène capturées par des caméras distinctes. Dans ce cas, les dimensions des couches convolutives du module de recalage doivent être adaptées aux données bidimensionnelles. De plus, cette méthode trouve des applications pratiques dans le domaine multimédia, telles que la synchronisation labiale en vidéoconférence ou la synchronisation des pistes audio en post-production cinématographique, assurant ainsi une cohérence et une qualité accrues de l'expérience utilisateur. Bien que la technique proposée ait été décrite en détail avec référence à certaines formes de réalisation préférées, diverses modifications et variations peuvent être apportées sans s’écarter du domaine de l’invention tel que défini dans les revendications jointes. Par exemple, les procédures décrites peuvent être effectuées dans un ordre différent, des éléments peuvent être ajoutés ou supprimés, et des caractéristiques de différents modes de réalisation peuvent être combinées comme il convient. FIG. 9 représente un dispositif (900), ou un système, d’estimation de délai entre un premier signal et un deuxième signal. Il comporte notamment : un module de sortie (902), un module de réception (904), un processeur (906) ou unité de traitement de signal, et une mémoire (908) ou unité de stockage de données adaptée pour stocker des instructions d’un programme informatique qui, lorsque le programme est mis en œuvre par le processeur, conduisent à mettre en œuvre la technique proposée. Un tel dispositif ou système peut être embarqué dans un terminal équipé d’un haut-parleur configuré pour émettre le premier signal et d’un microphone configuré pour recevoir le deuxième signal. Dans un tel terminal, le haut-parleur est alors raccordé au module de sortie et le microphone est raccordé au module de réception pour permettre, par exemple, la mise en œuvre d’un mécanisme d’annulation d’écho selon un exemple de réalisation. Le dispositif ou système peut ne pas comporter de module de sortie et le module de réception (904) peut être configuré pour recevoir à la fois le premier signal et le deuxième signal. Le module de réception peut par exemple être raccordé à un premier capteur configuré pour recevoir le premier signal et à un deuxième capteur configuré pour recevoir le deuxième signal, le premier capteur et le deuxième capteur étant placés à des emplacements distincts. Une telle configuration peut permettre, par exemple, la mise en œuvre d’un mécanisme de détermination d’une origine du premier signal et du deuxième signal selon un exemple de réalisation. Alternativement, le module de réception peut être raccordé à au moins un capteur configuré pour recevoir le premier signal et le deuxième signal de manière distincte, par exemple à des instants distincts. Une telle configuration peut permettre, par exemple, la mise en œuvre d’un procédé de synchronisation du premier signal et du deuxième signal selon un exemple de réalisation. Procédé d'estimation d’un délai entre une expression d’un premier signal et une expression d’un deuxième signal, le premier signal et le deuxième signal étant décomposés temporellement en une pluralité de trames, le procédé comprenant, pour une trame courante du deuxième signal: une obtention d’un ensemble de scores d’attention non pondérés, où chaque score représente une probabilité de correspondance entre la trame courante considérée et une trame du premier signal, et une obtention d’un ensemble de poids, dérivé d’une combinaison de scores d’attention non pondérés obtenus pour un contexte temporel donné comprenant la trame courante et au moins une trame du deuxième signal temporellement voisine de la trame courante, une pondération (406) des scores d’attention avec les poids obtenus pour produire un ensemble de scores d’attention pondérés concentrés autour d'un délai spécifique correspondant à un délai global estimé entre l’expression du premier signal et celle du deuxième signal. Procédé selon la revendication 1, dans lequel les expressions des deux signaux sont normalisées de sorte que leur norme vaille 1. Procédé selon la revendication 1, dans lequel l’ensemble de scores d’attention pondérés obtenu est normalisé de manière à correspondre à un ensemble de probabilités. Procédé de détection d’une expression d’un premier signal dans un deuxième signal décomposés en une pluralité de trames, le procédé comprenant une estimation d’un délai entre l’expression du premier signal et celle du deuxième signal selon le procédé de l’une des revendications 1 à 3 et comprenant en outre une détermination d’une probabilité de présence de l’expression du premier signal dans le deuxième signal sur la base d’un traitement des ensembles de scores d’attention pondérés. Procédé selon la revendication 4, dans lequel la détermination de la probabilité de présence comprend une mise en œuvre de couches convolutives unidimensionnelles agissant sur un axe de délais, chaque couche convolutive étant configurée pour effectuer un sous-échantillonnage de l’axe des délais. Procédé selon la revendication 5, dans lequel la combinaison des ensembles de scores d’attention pondérés comprend, après la mise en œuvre des couches convolutives, une mise en œuvre d’une couche de regroupement configurée pour rendre la probabilité de présence de l'expression du premier signal au sein du deuxième indépendante du nombre de trames formant le contexte temporel donné Procédé d’annulation d’un écho représenté par une expression d’un premier signal au sein d’un deuxième signal, le procédé comprenant une estimation d’un délai entre l’expression du premier signal et une expression du deuxième signal selon le procédé de l’une des revendications 1 à 3 ou une détection de l’expression du premier signal dans le deuxième signal selon le procédé de l’une des revendications 4 à 6. Procédé de détermination d’une origine d’un premier signal et d’un deuxième signal, le premier signal et le deuxième signal étant captés distinctement, sur la base d’un délai entre une expression du premier signal et une expression du deuxième signal, le procédé comprenant une estimation du délai selon le procédé de l’une des revendications 1 à 3 ou une détection de l’expression du premier signal dans le deuxième signal selon le procédé de l’une des revendications 4 à 6. Procédé de synchronisation d’un premier signal et d’un deuxième signal, le procédé comprenant une estimation d’un délai entre une expression du premier signal et une expression du deuxième signal selon le procédé de l’une des revendications 1 à 3 ou une détection de l’expression du premier signal dans le deuxième signal selon le procédé de l’une des revendications 4 à 6. Système d'estimation d’un délai entre une expression d’un premier signal et une expression d’un deuxième signal, le premier signal et le deuxième signal étant décomposés temporellement en une pluralité de trames, le système comprenant les modules suivants appliqués à une trame courante du deuxième signal : un module d’obtention d’un ensemble de scores d’attention non pondérés, où chaque score représente une probabilité de correspondance entre la trame courante considérée et une trame du premier signal, un module d’obtention d’un ensemble de poids, dérivé d’une combinaison de scores d’attention non pondérés obtenus pour un contexte temporel donné comprenant la trame courante et au moins une trame du deuxième signal temporellement voisine de la trame courante, et un module de pondération (406) des scores d’attention avec les poids obtenus par le module d’obtention d’un ensemble de poids pour produire un ensemble de scores d’attention pondérés concentrés autour d'un délai spécifique correspondant à un délai global estimé entre l’expression du premier signal et celle du deuxième signal. Programme d’ordinateur comprenant des instructions qui, lorsque le programme est mis en œuvre par un processeur, conduisent à mettre en œuvre le procédé selon l’une des revendications 1 à 9.