Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR FILTERING DURING A CHANGE IN AN ARMA FILTER
Document Type and Number:
WIPO Patent Application WO/2012/123676
Kind Code:
A1
Abstract:
The present invention relates to a method and device (1) for filtering digital audio signals (x) using at least one ARMA filter (h1, h2), particularly during a filter change. The method according to the invention includes the following steps: a step of receiving a first request to change filtering to or from filtering by a first ARMA filter (h1); and, in response to said first request, a step of gradually switching, at each of a plurality of cascaded first filtering blocks (Bl 1, Bl), between digital-signal filtering by a first basic filtering cell and digital-signal filtering by another associated basic filtering cell (CFl PTl, CFl 2), said first basic filtering cells of the plurality of first filtering blocks (Bl 1, Bl) factorizing said first filter (h1).

Inventors:
GUERIN ALEXANDRE (FR)
FAURE JULIEN (FR)
MARRO CLAUDE (FR)
Application Number:
PCT/FR2012/050526
Publication Date:
September 20, 2012
Filing Date:
March 14, 2012
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
FRANCE TELECOM (FR)
GUERIN ALEXANDRE (FR)
FAURE JULIEN (FR)
MARRO CLAUDE (FR)
International Classes:
H03H17/02
Domestic Patent References:
WO1997039526A11997-10-23
Foreign References:
US4706291A1987-11-10
US5698807A1997-12-16
EP2144171A12010-01-13
Other References:
VERHELST W ET AL: "A modified-superposition speech synthesizer and its application", ICASSP 86 IEEE-IECEJ-ASJ INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING, TOKYO, JAPAN, 7 April 1986 (1986-04-07) - 11 April 1986 (1986-04-11), ICASSP 86 Proceedings. IEEE-IECEJ-ASJ International Conference on Acoustics, Speech and Signal Processing (Cat. No.86CH2243-4) IEEE New York, NY, USA, pages 2007 - 2010, XP002663970
ZETTERBERG L H ET AL: "Elimination of transients in adaptive filters with application to speech coding", SIGNAL PROCESSING, vol. 15, no. 4, 1 December 1988 (1988-12-01), ELSEVIER SCIENCE PUBLISHERS B.V. AMSTERDAM, NL, pages 419 - 428, XP026672203, ISSN: 0165-1684, [retrieved on 19881201], DOI: 10.1016/0165-1684(88)90060-6
"The Volterra and Wiener theories of nonlinear systems", 1989
ZETTERBERG, L.H.; Q. ZHANG, ELIMINATION OF TRANSIENTS IN ADAPTIVE FILTERS WITH APPLICATION TO SPEECH CODING, 1988
VERHELST, W.; P. NILENS, A MODIFIED- SUPERPOSITION SPEECH SYNTHESIZER AND ITS APPLICATIONS, 1986
Attorney, Agent or Firm:
FRANCE TELECOM R&D/PIV/BREVETS (FR)
Download PDF:
Claims:
REVENDICATIONS

1. Procédé de filtrage d'un signal numérique (x) à l'aide d'au moins un filtre ARMA (hi , h2, h3), comprenant une étape de réception d'une première demande de changement de filtrage vers ou depuis un filtrage par un premier filtre ARMA (h^, caractérisé en ce qu'il comprend, en réponse à ladite première demande, une étape de basculement progressif, au niveau de chacun d'une pluralité de premiers blocs filtrants { B[ , Bl ) mis en cascade, entre un filtrage de signal numérique { s. ~l (n) ) par une première cellule élémentaire de filtrage issue d'une factorisation du premier filtre (h^ et un filtrage de signal numérique par une autre cellule élémentaire de filtrage (PT1 , ) associée, et

dans lequel l'ensemble desdites premières cellules élémentaires de filtrage { h ) de la pluralité de premiers blocs filtrants ( B[ , Bl ) factorise ledit premier filtre ARMA (h^.

2. Procédé selon la revendication 1 , dans lequel le basculement progressif au niveau d'un premier bloc filtrant comprend la combinaison d'un signal filtré par la première cellule élémentaire de filtrage ( h ) avec un signal filtré par l'autre cellule élémentaire de filtrage (PT1 , h[ ) associée, de sorte à obtenir un signal de sortie mixée ( ? («) ) de bloc filtrant pendant le basculement progressif.

3. Procédé selon la revendication 2, dans lequel ledit basculement progressif met en œuvre des fondus dont les coefficients de fondu correspondants (Cf, C0) sont appliqués aux signaux filtrés par les premières cellules élémentaires de filtrage ( /¾' ) et par les autres cellules élémentaires de filtrage (PT1 , h[ ).

4. Procédé selon la revendication 2, dans lequel au sein de chaque premier bloc filtrant { B[ ), la dite autre cellule élémentaire de filtrage (PT1 ) est mise en parallèle de ladite première cellule élémentaire de filtrage ) à laquelle est appliqué un coefficient de basculement, et la dite autre cellule élémentaire de filtrage (PT1 ) met en œuvre un filtre identité (PT1 ) pondéré par un coefficient de basculement complémentaire ( 10'm , Cf, C0).

5. Procédé selon la revendication 4, dans lequel ladite pluralité de premiers blocs filtrants { B[ ) est mise en série d'une pluralité de deuxièmes blocs filtrants ( B2l ) en cascade comprenant, chacun, une deuxième cellule élémentaire de filtrage ( h2l ) issue d'une factorisation d'un deuxième filtre ARMA (h2) mise en parallèle d'une cellule filtre identité (PT2) et pondérée par un coefficient de basculement, l'ensemble desdites deuxièmes cellules élémentaires de filtrage

( h2l ) de la pluralité de deuxièmes blocs filtrants factorisant le deuxième filtre ARMA (h2), et le procédé comprend, au niveau des deuxièmes blocs filtrants ( B2l ), un basculement progressif d'un filtrage par les deuxièmes cellules élémentaires inverse du basculement progressif de filtrage par les premières cellules élémentaires au niveau des premiers blocs filtrants { B[ ), de sorte à contrôler un basculement progressif entre un filtrage par le premier filtre ARMA et un filtrage par le deuxième filtre ARMA (h2).

6. Procédé selon la revendication 2, dans lequel au sein desdits premiers blocs filtrants ( B l ), la dite autre cellule élémentaire de filtrage { h[ ) est mise en parallèle de ladite première cellule élémentaire de filtrage ( h[ ) et comprend une deuxième cellule élémentaire de filtrage ( h2l ) issue d'une factorisation d'un deuxième filtre ARMA (h2).

7. Procédé selon la revendication 6, dans lequel si l'une des factorisations des premier et deuxième filtres ARMA (Jn h2) comprend plus de cellules élémentaires de filtrage ( h. ) que l'autre, une cellule filtre de type filtre identité (PTi) est associée à chaque cellule élémentaire de filtrage surnuméraire pour former un dit bloc filtrant ( Bl ).

8. Procédé selon la revendication 1 , comprenant, en réponse à une deuxième demande de changement de filtrage inverse de la première demande et reçue lors du basculement progressif, une étape d'inversion dudit basculement de filtrage depuis l'état de basculement (Ο^ΤΊ ), 0ο(ΤΊ )) correspondant à l'instant (ΤΊ) de réception de ladite deuxième demande de changement.

9. Dispositif de filtrage (1 ) d'un signal numérique (x) à l'aide d'au moins un filtre ARMA (Jn h2, h3), comprenant:

- une pluralité de premiers blocs filtrants { B[ , Bl ) mis en cascade, comprenant chacun une première cellule élémentaire de filtrage ) et une autre cellule élémentaire de filtrage (PT1 , h[ ) associée, l'ensemble desdites premières cellules élémentaires de filtrage { h[ ) de la pluralité de premiers blocs filtrants ( B[ , Bl ) factorisant un premier filtre ARMA (h^ ;

- au moins un élément de contrôle ( 10Î , 10'm ) pour commander, au niveau de chaque premier bloc filtrant { B[ , Bl ), un changement de filtrage en réponse à une première demande de changement de filtrage vers ou depuis un filtrage par le premier filtre ARMA (h^,

- et chaque dit premier bloc filtrant est configuré pour opérer le changement de filtrage par basculement progressif entre un filtrage de signal numérique par la première cellule élémentaire de filtrage et un filtrage de signal numérique par la dite autre cellule élémentaire de filtrage associée (PT1 , h[ ).

10. Dispositif (1 ) selon la revendication 9, dans lequel chaque dit premier bloc filtrant comprend un additionneur pour combiner un signal filtré par la première cellule élémentaire de filtrage ) avec un signal filtré par la dite autre cellule élémentaire de filtrage (PT1 , h[ ) associée, de sorte à générer un signal de sortie mixée ( ? («) ) de bloc filtrant pendant le basculement progressif.

11. Dispositif (1 ) selon la revendication 10, dans lequel l'au moins un élément de contrôle comprend des moyens d'atténuation progressive ( 10Î , 10' ) par la première cellule élémentaire de filtrage { h[ ) et du signal filtré { cellule élémentaire de filtrage associée (PT1 , h2l ) avant combinaison, selon respectivement deux coefficients complémentaires de fondu (Cf, C0), l'un de fondu en fermeture et l'autre de fondu en ouverture.

12. Dispositif (1 ) selon la revendication 9, dans lequel au sein de chaque premier bloc filtrant { B[ ), la dite autre cellule élémentaire de filtrage (PT1 ) est mise en parallèle de ladite première cellule élémentaire de filtrage ) à laquelle est appliqué un coefficient de basculement et la dite autre cellule élémentaire de filtrage met en œuvre un filtre identité (PT1 ) pondéré par un coefficient de basculement complémentaire ( 10'm , Cf, C0).

13. Dispositif (1 ) selon la revendication 12, dans lequel ladite pluralité de premiers blocs filtrants { B[ ) est mise en série d'une pluralité de deuxièmes blocs filtrants ( B2l ) en cascade comprenant, chacun, une deuxième cellule élémentaire de filtrage ( h2l ) issue d'une factorisation d'un deuxième filtre ARMA (h2) mise en parallèle d'une cellule filtre identité (PT2) et pondérée par un coefficient de basculement, l'ensemble desdites deuxièmes cellules élémentaires de filtrage ( h2l ) de la pluralité de deuxièmes blocs filtrants factorisant le deuxième filtre ARMA (h2), et

le dispositif comprend, au niveau des deuxièmes blocs filtrants ( B2l ), des éléments de contrôle ( ΙΟ^ , ΙΟ^ ) d'un basculement progressif de filtrage par les deuxièmes cellules élémentaires inverse du basculement progressif de filtrage par les premières cellules élémentaires au niveau des premiers blocs filtrants { B[ ), de sorte à contrôler un basculement progressif entre un filtrage par le premier filtre ARMA (h^ et un filtrage par le deuxième filtre ARMA (h2).

14. Dispositif (1 ) selon la revendication 9, dans lequel au sein desdits premiers blocs filtrants ( B l ), la dite autre cellule élémentaire de filtrage ( h2l ) est mise en parallèle de ladite première cellule élémentaire de filtrage ( h[ ) et comprend une deuxième cellule élémentaire de filtrage ( h2l ) issue d'une factorisation d'un deuxième filtre ARMA (h2).

15. Produit programme d'ordinateur lisible par un microprocesseur, comprenant des instructions pour la mise en oeuvre du procédé de filtrage conforme à la revendication 1 , lorsque ce programme est chargé et exécuté par le microprocesseur.

Description:
Procédé et dispositif de filtrage lors d'un changement de filtre ARMA

La présente invention concerne un procédé de filtrage de signaux numériques à l'aide d'au moins un filtre autorégressif à moyenne ajustée, autrement connu sous l'appellation ARMA (Auto-Regressive Moving Averaged) et un dispositif correspondant.

Elle vise notamment le filtrage lors de la modification du filtre ARMA dans le temps (extinction ou activation par exemple) ou lors d'un changement de filtre ARMA.

Un domaine d'application principal est celui des signaux numériques audio.

De façon connue en soi, un filtre ARMA linéaire peut être représenté sous forme d'une fonction de transfert H(z), liant, dans un domaine de transformées en z, le signal d'entrée X(z) et le signal filtré de sortie Y(z) par:

Le polynôme B(z) définit la partie moyenne mobile (ou Moving Average MA) du filtre

ARMA, et le polynôme A(z) définit la partie autorégressive (AR) du filtre ARMA.

Les filtres à réponse impulsionnelle finie (RIF) correspondent au cas où le degré m du polynôme A est nul.

Les filtres à réponse impulsionnelle infinie (RM, ou IIR pour Infinité Impulse Response) correspondent au cas où le degré m du polynôme A est non nul.

Les filtres ARMA variant dans le temps, et en particulier les filtres RM, sont par exemple utilisés dans des logiciels d'édition audio pour changer d'effet dynamiquement (égaliseurs multi-bandes, effets audio, etc.), dans les solutions de synthèse (vocale et autre) ou encore dans les traitements à la prise ou à la restitution du son (réduction ou suppression de bruits dont les caractéristiques varient dans le temps).

La modification au cours du temps de filtres ARMA, et plus particulièrement de filtres RM, présente toutefois des inconvénients, résidant principalement dans l'apparition d'artefacts transitoires lors du changement de filtre. Ces artefacts se manifestent par exemple sous la forme de "clics" audio particulièrement désagréables à l'écoute, et sont par exemple liés à l'initialisation des mémoires internes d'un nouveau filtre RM à activer, au déphasage introduit par le filtre ARMA courant à éteindre, ainsi qu'à de potentielles différences de délai global (délai de groupe) des filtres précités.

Pour la suite, la description se concentrera principalement sur le cas des filtres de type RM, et en particulier linéaires. En effet, les filtres à réponse impulsionnelle infinie sont ceux pour lesquelles un changement de filtre génère classiquement le plus d'artefacts. Par ailleurs, les filtres linéaires s'avèrent être bien plus répandus et étudiés que les filtres non linéaires. Ainsi, les explications ci-après pourront être appliquées directement dans un large champ de situations classiques.

Néanmoins, il est entendu que l'invention peut s'appliquer à tout type de filtre ARMA, linéaire ou non, et notamment au cas des filtres de Volterra qui sont des filtres polynomiaux non linéaires. La théorie des filtres polynomiaux dits "de Volterra" est notamment documentée au travers de la publication "The Volterra and Wiener théories of nonlinear Systems" (Schetzen, 1989, Ed. Krieger).

Différentes solutions ont déjà pu être apportées dans les techniques de l'art antérieur pour tenter de limiter, voire de supprimer, les effets transitoires liés aux mémoires internes de ces filtres RM.

Une approche, illustrée par la publication "Elimination of transients in adaptive filters with application to speech coding" de Zetterberg, L.H. et Q. Zhang (1988), repose sur l'initialisation des variables d'état internes en mémoires internes du nouveau filtre RM à activer.

Pour procéder à une initialisation correcte, un nombre suffisant d'échantillons précédant le moment de changement de filtre RM est stocké, puis tous ces échantillons sont filtrés par le nouveau filtre RM. Une fois initialisé, le nouveau filtre RM est appliqué au signal.

Les auteurs de cette publication ont montré que, contrairement à la théorie, il est possible de se contenter d'un nombre réduit d'échantillons pour réaliser cette initialisation, malgré le caractère infini des réponses impulsionnelles de ces filtres. Ce nombre dépend directement de la "longueur de la réponse impulsionnelle" du nouveau filtre, notion définie par les LONG premiers échantillons comptant pour x % de l'énergie totale du filtre (le pourcentage x pouvant être déterminé de manière empirique et suivant les applications), dans le cas d'un filtre RM stable dont la queue de réponse impulsionnelle tend vers 0.

Cette approche souffre toutefois de complexité et/ou de latence.

En effet, l'initialisation des variables internes du nouveau filtre RM nécessite de filtrer un nombre d'échantillons N qui dépend de la longueur LONG de la réponse impulsionnelle du filtre: de manière générale, il est nécessaire que N > LONG pour éviter tout artefact audible.

Compte tenu de cette contrainte, deux options de mises en œuvre sont envisagées :

- soit les variables internes sont initialisées au moment du changement de filtre RM, ce qui nécessite de filtrer N+1 échantillons : les N échantillons précédents l'échantillon courant ainsi que l'échantillon courant. Cela engendre toutefois un pic de complexité très important à l'instant t du changement de filtre RM ;

- soit il est opéré un filtrage parallèle avec les deux filtres : le basculement entre les deux filtres est alors réalisé au bout de N échantillons. Cette option implique une latence de N échantillons avant l'application du nouveau filtre RM, signifiant que le nouveau filtre n'est appliqué qu'au bout de ces N échantillons. Il en résulte une gêne notable si l'on désire appliquer le plus rapidement possible le nouveau filtre RM au signal (par exemple pour supprimer un signal particulier) ou changer à nouveau de filtre RM avant la fin des N échantillons. Ces inconvénients existent également lorsqu'il s'agit d'une simple désactivation (extinction) du filtre RM courant (dans ce cas, le "nouveau filtre" peut être vu comme un "filtre identité" laissant tout passer), car le filtre RM courant introduit un déphasage dans le signal filtré, à l'origine de "clics" audio lors de l'extinction brutale du filtre.

Enfin, cette approche ne prémunit pas contre les différences de délai (group delay) entre les deux filtres RM : si les deux filtres ont un délai de groupe différent, cela se traduit inévitablement par un artefact audible (type 'clic') lié à la discontinuité du signal.

Un approche hybride a également été envisagée dans la publication "A modified- superposition speech synthesizer and its applications" de Verhelst, W. and P. Nilens (1986).

Cette approche met en œuvre un "technique d'évanouissement" consistant à instancier les deux filtres RM en parallèle au moment du basculement d'un filtre vers l'autre, avec la configuration suivante: le nouveau filtre RM, non initialisé, reçoit le signal à filtrer tandis que l'ancien filtre RM "s'éteint" (par évanouissement) en ne recevant aucune entrée.

La sortie filtrée est alors constituée de la somme des sorties de chacun des deux filtres RM, somme effectuée pendant une durée limitée N. En pratique, le temps "d'interpolation" N (la durée du mixage des sorties) nécessaire pour n'avoir aucun artefact auditif est supérieur aux longueurs LONG des réponses impulsionnelles des deux filtres RM.

Cette approche hybride s'apparente à la deuxième option de mise en œuvre évoquée ci-dessus pour l'approche avec initialisation des mémoires internes. En effet, il est également fait recours à deux filtres RM fonctionnant en parallèle.

La différence réside cependant dans la transition instantanée entre les deux filtres RM, rendue possible grâce au mixage des deux sorties (plutôt qu'en basculant instantanément d'une sortie d'un filtre à l'autre au bout d'un certain temps dans la deuxième option ci-dessus). Cela permet de limiter les artefacts liés aux différences de délai de groupe entre les filtres RM.

Toutefois, cette approche hybride souffre également des autres inconvénients mentionnés précédemment, et notamment d'une latence due à la durée d'interpolation qui doit rester plus grande que la longueur LONG effective de la réponse impulsionnelle des filtres RM.

Dans ce contexte, la présente invention vise à palier au moins un des inconvénients précités.

A cet effet, l'invention concerne notamment un procédé de filtrage d'un signal numérique à l'aide d'au moins un filtre ARMA, comprenant une étape de réception d'une première demande de changement de filtrage vers ou depuis un filtrage par un premier filtre RM, caractérisé en ce qu'il comprend, en réponse à ladite première demande, une étape de basculement progressif, au niveau de chacun d'une pluralité de premiers blocs filtrants mis en cascade, entre un filtrage de signal numérique par une première cellule élémentaire de filtrage issue d'une factorisation du premier filtre et un filtrage de signal numérique par une autre cellule élémentaire de filtrage associée, et

dans lequel l'ensemble desdites premières cellules élémentaires de filtrage de la pluralité de premiers blocs filtrants factorise ledit premier filtre ARMA. Notamment, le basculement progressif peut prévoir un pilotage inverse entre les premières cellules élémentaires et les autres cellules élémentaires de filtrage, afin par exemple de passer d'un filtrage uniquement par le premier filtre ARMA ou RM (c'est-à-dire par les premières cellules élémentaires) en un filtrage par les autres cellules élémentaires (mettant en œuvre ensemble par exemple un autre filtre ARMA ou RM ou un filtre identité représentatif de l'absence de filtrage).

La factorisation d'un filtre ARMA, et notamment RM, s'entend d'une décomposition du filtre en cellules élémentaires de filtrage dont l'ensemble des fonctions de transfert correspond à une factorisation de la fonction de transfert dudit filtre ARMA.

Le basculement progressif de filtrage s'entend d'un passage d'un filtrage à un autre, au cours duquel les deux filtrages sont mis en œuvre ensemble et combinés au moins temporairement, c'est-à-dire pendant un instant non nul (correspondant, en technique de traitement d'un signal numérique, à au moins un échantillon). En d'autres termes, pendant cette phase de basculement progressif, les deux filtrages contribuent en partie à la valeur de sortie du signal filtré par un bloc filtrant.

La présente invention offre des performances améliorées par rapport aux techniques de l'art antérieur, et notamment une latence réduite, due en particulier à un temps d'initialisation des variables internes ou un temps de mise en phase des filtres nettement réduit. En effet, dans le premier cas, la durée d'interpolation nécessaire pour éviter les artefacts auditifs est elle-même réduite.

Cette situation résulte de la mise en œuvre, selon l'invention, d'une factorisation du ou des filtres ARMA (ou RM) mis en œuvre en une pluralité de cellules élémentaires de filtrage au sein de blocs filtrants, et d'un contrôle, au niveau de chacun de ceux-ci, du basculement entre filtre(s).

En effet, en raison de la factorisation, les filtres MA et RA des cellules élémentaires de filtrage sont d'ordres inférieurs aux filtres MA et AR correspondants du filtre ARMA d'origine (c'est- à-dire que les polynômes A et B correspondants dans les fonctions de transfert sont de degrés inférieurs). Or le temps d'initialisation des variables internes de filtres d'ordre inférieur est nettement plus court que celui d'un filtre ARMA complet. Le temps d'initialisation réduit est alors obtenu par le basculement progressif de filtrage au niveau de chacune des cellules élémentaires de filtrage (d'ordre inférieur) lors de l'activation du filtre ARMA correspondant.

Il en est de même lors de la simple extinction du filtre ARMA courant.

La présente invention permet ainsi une réactivité accrue, par exemple lorsqu'un nouveau filtre doit être instancié rapidement en réponse à un événement acoustique imprévu. C'est notamment le cas lorsque l'on souhaite supprimer un signal qui apparaît soudainement (un son pur, un signal multifréquence à deux tonalités ou DTMF, etc.) et/ou dont les caractéristiques temporelles/spectrales varient rapidement dans le temps.

On notera qu'un basculement dynamique depuis ou vers un filtre ARMA peut ainsi être réalisé de manière instantanée en appliquant une opération de basculement sur la sortie de chaque cellule élémentaire de filtrage qui sert ensuite d'entrée de la cellule élémentaire suivante (en raison de la mise en cascade desdits premiers blocs filtrants).

Par ailleurs, en raison de l'initialisation plus rapide, un éventuel pic de complexité à l'instant du basculement lié à l'instanciation simultanée de deux filtres est nettement réduit.

Pendant le passage progressif de l'état dans lequel le signal numérique est filtré avant basculement (donc soit uniquement par les premières cellules élémentaires de filtrage factorisant le premier filtre ARMA, soit par les autres cellules élémentaires représentant un autre filtre, "identité" ou non) à l'état dans lequel le signal numérique est filtré après basculement (donc par les autres cellules élémentaires ou par les premières cellules élémentaires), le signal filtré de sortie de chaque bloc filtrant combine ainsi un signal filtré par la première cellule élémentaire et un signal filtré par l'autre cellule élémentaire associée. Par exemple, le basculement progressif au niveau d'un premier bloc filtrant comprend la combinaison, au moins temporaire, d'un signal filtré par la première cellule élémentaire de filtrage avec un signal filtré par l'autre cellule élémentaire de filtrage associée, de sorte à obtenir un signal de sortie mixée de bloc filtrant pendant le basculement progressif.

En d'autres termes, les signaux filtrés par une première cellule élémentaire et par la cellule élémentaires qui lui est associée sont mixés, c'est-à-dire combinés au sein d'un même signal filtré. Le mixage garantit un lissage de la transition entre les états de filtrage, et par conséquent contribue à l'atténuation, voire à la suppression, des artefacts audibles lors d'une telle transition.

Ainsi, un bloc filtrant peut mettre en œuvre un additionneur (ou mélangeur) venant additionner les contributions résultant des sorties de filtrage des deux cellules élémentaires du bloc. Comme on le verra par la suite, les moyens de contrôle du basculement peuvent être variés, par exemple en faisant varier les contributions de chaque cellule élémentaire par application d'un coefficient progressif de basculement à leur signal de sortie, ou en agissant directement sur le signal d'entrée de ces cellules élémentaires soit par application d'un coefficient de basculement similaire (par exemple dans le cas de cellules linéaires), soit par utilisation d'un interrupteur aiguillant le signal à filtrer vers l'une ou l'autre des cellules élémentaires du bloc. Dans le dernier cas notamment, la cellule élémentaire de filtrage qui est débranchée par l'interrupteur continue de fournir un signal de sortie du fait du temps de réponse impulsionnelle, assurant de la sorte un mixage des signaux de sortie des deux cellules élémentaires du bloc au niveau de l'additionneur. Le basculement progressif est ainsi mis en œuvre.

Dans un mode de réalisation, ledit basculement progressif peut mettre en œuvre des fondus dont les coefficients de fondu correspondants sont appliqués aux signaux filtrés par les premières cellules élémentaires de filtrage et par les autres cellules élémentaires de filtrage, typiquement des fondus inverses, l'un en fermeture et l'autre en ouverture, au sein d'un même premier bloc filtrant.

Le fondu en ouverture et le fondu en fermeture sont également connus sous les termes anglo-saxons "fade-in" et "fade-ouï', désignant une augmentation progressive et une diminution progressive de l'amplitude d'un signal. Ainsi, en appliquant le fondu en même temps à toutes les premières cellules élémentaires de filtrage, on éteint progressivement le premier filtre ARMA (fondu en fermeture de ces cellules élémentaires) ou on l'active progressivement (fondu en ouverture), tout en conservant l'approche par cellule élémentaire permettant une initialisation rapide des variables internes.

De même, le filtrage résultant de la mise en cascade de cellules élémentaires de filtrage associées dans les blocs filtrants (correspondant à un autre filtre ARMA ou un filtre "identité" par exemple) est également activé ou éteint progressivement, de façon inverse au premier filtre ARMA.

En variante, le basculement peut être immédiat, par exemple par application de la

"technique d'évanouissement" précitée. Le basculement progressif, type "fade-in / fade-ouf, limite cependant l'apparition d'artefacts audibles, et permet ainsi de basculer plus rapidement d'un filtre ARMA ou RM à l'autre, à artefact "constant".

Selon une caractéristique particulière, les fondus appliqués aux signaux filtrés par la première cellule élémentaire de filtrage et par l'autre cellule élémentaire de filtrage d'un même premier bloc filtrant sont des fondus inverses, l'un en ouverture et l'autre en fermeture, dont les coefficients de fondu correspondants varient dans le temps.

Les coefficients de fondu représentent un coefficient de mixage entre les deux signaux, représentatif du mélange selon la fonction "fade-in / fade-ouf. Cette disposition montre que le changement de filtre ARMA regroupe un ensemble de basculements au niveau de chaque bloc filtrant. On veillera de préférence à procéder à un basculement simultané, et éventuellement avec un même coefficient de mixage, pour l'ensemble des blocs filtrants. Toutefois, d'autres mises en œuvre peuvent être envisagées dans le cadre de la présente invention, telle que l'application de coefficients de fondu différents (dans la forme et/ou la durée) d'un bloc filtrant à l'autre, voire même dans un bloc filtrant donné, entre ladite première cellule élémentaire et la cellule élémentaire associée.

Selon une configuration de l'invention, au sein de chaque premier bloc filtrant, la dite autre cellule élémentaire de filtrage est mise en parallèle de ladite première cellule élémentaire de filtrage à laquelle est appliqué un coefficient de basculement, et la dite autre cellule élémentaire de filtrage met en œuvre un filtre identité pondéré par un coefficient de basculement complémentaire. Cette configuration permet de mettre en œuvre de façon simple un mécanisme de contrôle de la simple activation ou simple extinction dudit premier filtre ARMA. En effet dans ce cas, en l'absence d'activation de celui-ci (donc soit avant le basculement, soit après celui-ci), seules des cellules filtres identité sont mises en cascade, assurant l'obtention d'un filtre global identité, c'est-à-dire aucun filtrage modificateur.

Dans cette configuration, la première cellule élémentaire de filtrage et la cellule filtre "identité" en parallèle reçoivent le même signal numérique en entrée (celui de sortie d'un bloc filtrant précédent). Elles fournissent également un signal de sortie commun combiné à l'aide d'un coefficient de mixage (coefficients de fondu tels qu'évoqués précédemment par ailleurs) dont la composante affectée à la cellule filtre "identité" (le coefficient de basculement) est inverse ou complémentaire du coefficient (de fondu) affecté à la première cellule élémentaire de filtrage associée.

Cette complémentarité est à mettre en lien avec le coefficient de mixage évoqué qui vient préciser le degré de progressivité dans le basculement. Elle se rapporte aussi au fait que les contributions de la première cellule élémentaire de filtrage et de la cellule "identité" ne doivent, de préférence, pas introduire d'atténuation ou d'amplification inutile du signal numérique filtré. Dans ce cas, la somme des deux coefficients appliqués à la première cellule élémentaire et à la cellule filtre "identité" parallèle pourrait être égale à 100% (moyenne en amplitude), ou la somme de leurs carrés pourrait être égale à 100% (moyenne en énergie). Bien entendu, d'autres scénarii de complémentarité entre les coefficients appliqués peuvent être envisagés.

Dans un mode de réalisation particulier, deux filtres ARMA décomposés, chacun en blocs filtrants de cellules élémentaires décrits précédemment, peuvent être mis en série pour basculer de l'un à l'autre. Dans ce cas, ladite pluralité de premiers blocs filtrants est mise en série d'une pluralité de deuxièmes blocs filtrants en cascade comprenant, chacun, une deuxième cellule élémentaire de filtrage issue d'une factorisation d'un deuxième filtre ARMA mise en parallèle d'une cellule filtre identité et pondérée par un coefficient de basculement, l'ensemble des deuxièmes cellules élémentaires de filtrage de la pluralité de deuxièmes blocs filtrants factorisant le deuxième filtre ARMA, et

le procédé comprend, au niveau des deuxièmes blocs filtrants, un basculement progressif d'un filtrage par les deuxièmes cellules élémentaires inverse du basculement progressif de filtrage par les premières cellules élémentaires au niveau des premiers blocs filtrants, de sorte à contrôler un basculement progressif entre un filtrage par le premier filtre ARMA et un filtrage par le deuxième filtre ARMA.

Ainsi, la gestion d'un basculement entre deux filtres ARMA est gérée de façon modulaire, en mettant en série des blocs filtrants correspondants décomposant les filtres ARMA souhaités, et en les pilotant de façon inverse.

Selon une autre configuration de l'invention, les deux filtres RM décomposés en cellules élémentaires peuvent être instanciés en parallèle. Dans ce cas, au sein desdits premiers blocs filtrants, la dite autre cellule élémentaire de filtrage est mise en parallèle de ladite première cellule élémentaire de filtrage et comprend une deuxième cellule élémentaire de filtrage issue d'une factorisation d'un deuxième filtre ARMA.

Par cette mise en parallèle, les première et deuxième cellules élémentaires de filtrage d'un bloc filtrant reçoivent et filtrent le même signal numérique d'entrée du bloc filtrant (correspondant au signal de sortie du bloc filtrant amont), et leurs signaux filtrés peuvent alors être combinés en tenant compte du basculement de l'un à l'autre (c'est-à-dire en pratique en fonction d'un coefficient de mixage par exemple) pour générer le signal filtré de sortie du bloc filtrant considéré. En particulier, si l'une des factorisations des premier et deuxième filtres ARMA comprend plus de cellules élémentaires de filtrage que l'autre, une cellule filtre de type filtre identité est associée à chaque cellule élémentaire de filtrage surnuméraire pour former un dit bloc filtrant. Cette disposition permet de traiter efficacement le cas de filtres ARMA ne présentant pas le même ordre (pour la partie MA ou AR par exemple).

Comme le basculement est progressif, il n'est pas rare qu'une nouvelle demande de changement de filtre ARMA arrive alors que le basculement n'est pas fini, c'est-à-dire alors que les deux filtrages au sein d'un bloc filtrant contribuent chacun en partie au signal de sortie de celui-ci.

Ainsi, selon un mode de réalisation de l'invention, en réponse à une deuxième demande de changement de filtrage inverse de la première demande (c'est-à-dire retourner au filtrage tel qu'il était avant le début dudit basculement) et reçue lors du basculement progressif, il peut être prévu d'inverser ledit basculement de filtrage depuis l'état de basculement correspondant à l'instant de réception de ladite deuxième demande de changement. Cette inversion peut être réalisée par interversion des coefficients de fondu appliqués, ou par interversion entre augmentation et diminution des coefficients de fondu appliqués, depuis leurs valeurs respectives à l'instant de la réception de la nouvelle demande.

Cette disposition permet de maintenir inchangées les mémoires internes des filtres et ainsi d'éviter des discontinuités dans le signal audio (générant des artefacts désagréables) tout en ne retardant pas le traitement de la nouvelle demande. Elle est particulièrement utile pour certaines applications audio dans lesquelles un même filtre est régulièrement désactivé et réactivé (par exemple, cas de chocs acoustiques de faible volume où la décision d'activation peut être instable).

Dans un autre mode de réalisation de l'invention, le procédé comprend, en outre, en réponse à une troisième demande de changement de filtre ARMA vers un nouveau filtre ARMA reçue lors dudit basculement progressif, une étape de basculement progressif, au niveau de chaque premier bloc filtrant, entre le filtrage de signal numérique par ledit premier bloc filtrant dans l'état correspondant à l'instant de réception de ladite troisième demande et un filtrage de signal numérique par une nouvelle cellule élémentaire de filtrage issue d'une factorisation dudit nouveau filtre ARMA.

La combinaison progressive type "fade-in / fade-ouf peut ainsi être réalisée entre la sortie d'une cellule élémentaire du troisième filtre ARMA et la sortie d'un bloc filtrant dans l'état dans lequel il se trouvait lors de la réception de la nouvelle demande de changement de filtre ARMA. Il est ainsi aisé d'intégrer de façon modulaire et récursive un grand nombre de filtres ARMA au fur et à mesure qu'ils sont activés, alors même que la transition précédente (basculement précédent) n'est pas terminée.

Le filtrage ainsi obtenu est lissé malgré le nombre important de changement de filtres

ARMA.

Selon un mode de réalisation de l'invention, les première et deuxième cellules élémentaires de filtrage sont des filtres du premier ou second ordre. L'ordre d'un filtre, et donc des cellules élémentaires de filtrage, est notamment le plus grand des degrés des polynômes numérateur et dénominateur constituant leur fonction de transfert. Du coup, les initialisations des variables internes à chaque cellule élémentaire sont de durées très inférieures aux durées des techniques classiques pour un filtre ARMA complet. Par conséquent, cette disposition garantit une durée de basculement brève entre les deux filtres ARMA.

En particulier, les première et deuxième cellules élémentaires de filtrage sont des filtres du premier ou second ordre à coefficients réels. Cette disposition permet d'avoir des opérations de factorisation, c'est-à-dire de décomposition du filtre ARMA en cellules élémentaires de filtrage, qui mettent en œuvre des calculs peu complexes.

Selon une caractéristique particulière, les première et deuxième cellules élémentaires de filtrage sont des filtres du premier ordre résultant de la décomposition des premier et deuxième filtres ARMA en treillis. Le recours à des filtres du premier ordre assure un temps minimal d'initialisation des variables internes et donc du basculement entre filtres ARMA.

En variante, les première et deuxième cellules élémentaires de filtrage sont des filtres du second ordre. Cette disposition offre une complexité moindre (moins de cellules élémentaires à instancier) tout en conservant des temps d'initialisation très faibles.

Corrélativement, l'invention concerne un dispositif de filtrage d'un signal numérique à l'aide d'au moins un filtre ARMA, comprenant:

- une pluralité de premiers blocs filtrants mis en cascade, comprenant chacun une première cellule élémentaire de filtrage et une autre cellule élémentaire de filtrage associée, l'ensemble desdites premières cellules élémentaires de filtrage de la pluralité de premiers blocs filtrants factorisant un premier filtre ARMA;

- au moins un élément de contrôle pour commander, au niveau de chaque premier bloc filtrant, un changement de filtrage en réponse à une première demande de changement de filtrage vers ou depuis un filtrage par le premier filtre ARMA, et

- chaque dit premier bloc filtrant est configuré pour opérer le changement de filtrage par basculement progressif entre un filtrage de signal numérique par la première cellule élémentaire de filtrage et un filtrage de signal numérique par la dite autre cellule élémentaire de filtrage associée.

La mise en œuvre logicielle, matérielle ou hybride de filtres numériques est connue en soi. Le dispositif selon l'invention peut ainsi être mis en œuvre de façon logicielle, matérielle ou hybride.

Le dispositif selon l'invention présente des avantages similaires à ceux du procédé exposé ci-dessus, notamment celui de réduire la latence lors d'un changement de filtre ARMA.

De façon optionnelle, le dispositif peut comprendre des moyens se rapportant aux caractéristiques de procédé évoquées précédemment.

Dans un mode de réalisation, chaque dit premier bloc filtrant comprend un additionneur pour combiner au moins temporairement un signal filtré par la première cellule élémentaire de filtrage avec un signal filtré par la dite autre cellule élémentaire de filtrage associée, de sorte à générer un signal de sortie mixée de bloc filtrant pendant le basculement progressif. Dans un autre mode de réalisation, l'au moins un élément de contrôle comprend des moyens d'atténuation progressive du signal filtré par la première cellule élémentaire de filtrage et du signal filtré par la dite autre cellule élémentaire de filtrage associée avant combinaison, selon respectivement deux coefficients complémentaires de fondu, l'un de fondu en fermeture et l'autre de fondu en ouverture.

Selon une configuration de l'invention, au sein de chaque premier bloc filtrant, la dite autre cellule élémentaire de filtrage est mise en parallèle de ladite première cellule élémentaire de filtrage à laquelle est appliqué un coefficient de basculement et la dite autre cellule élémentaire de filtrage met en œuvre un filtre identité pondéré par un coefficient de basculement complémentaire.

En particulier, dans une mise en oeuvre "en série", ladite pluralité de premiers blocs filtrants est mise en série d'une pluralité de deuxième blocs filtrants en cascade comprenant, chacun, une deuxième cellule élémentaire de filtrage issue d'une factorisation d'un deuxième filtre ARMA mise en parallèle d'une cellule filtre identité et pondérée par un coefficient de basculement, l'ensemble desdites deuxièmes cellules élémentaires de filtrage de la pluralité de deuxièmes blocs filtrants factorisant le deuxième filtre ARMA, et

le dispositif comprend, au niveau des deuxièmes blocs filtrants, des éléments de contrôle d'un basculement progressif de filtrage par les deuxièmes cellules élémentaires inverse du basculement progressif de filtrage par les premières cellules élémentaires au niveau des premiers blocs filtrants, de sorte à contrôler un basculement progressif entre un filtrage par le premier filtre ARMA et un filtrage par le deuxième filtre ARMA.

Selon une configuration "parallèle", au sein desdits premiers blocs filtrants, la dite autre cellule élémentaire de filtrage est mise en parallèle de ladite première cellule élémentaire de filtrage et comprend une deuxième cellule élémentaire de filtrage issue d'une factorisation d'un deuxième filtre ARMA.

Notamment, si l'une des factorisations des premier et deuxième filtres ARMA comprend plus de cellules élémentaires de filtrage que l'autre, une cellule filtre de type filtre identité est associée à chaque cellule élémentaire de filtrage surnuméraire pour former un dit bloc filtrant.

L'invention concerne également un moyen de stockage d'informations comprenant des instructions pour un programme informatique adapté à mettre en œuvre le procédé de filtrage conforme à l'invention lorsque ce programme est chargé et exécuté par un système informatique.

L'invention concerne également un programme d'ordinateur lisible par un microprocesseur, comprenant des instructions pour la mise en oeuvre du procédé de filtrage conforme à l'invention, lorsque ce programme est chargé et exécuté par le microprocesseur.

Les moyens de stockage d'information et programme d'ordinateur présentent des caractéristiques et avantages analogues aux procédés qu'ils mettent en œuvre.

D'autres particularités et avantages de l'invention apparaîtront dans la description ci- après, illustrée par les dessins ci-joints, dans lesquels :

- la figure 1 illustre schématiquement un premier exemple de mise en œuvre de l'invention; - les figures 2, 2a et 2b représente des exemples de fonction de fade out mises en œuvre dans le changement progressif de filtres RM selon l'invention;

- la figure 3 illustre schématiquement un deuxième exemple de mise en œuvre de l'invention;

la figure 4 illustre schématiquement un autre exemple de mise en œuvre du dispositif de filtrage selon l'invention; et

- la figure 5 montre une configuration matérielle particulière d'un dispositif ou système apte à une mise en œuvre du procédé selon l'invention.

Considérons, pour la présente illustration, deux filtres numériques linéaires à réponse impulsionnelle infinie ou "filtres RM" ou "filtres récursifs", notés h 1 et h 2 , présentant tous deux un même ordre pair, noté L, pour leurs parties MA et AR respectives.

L'invention s'applique bien entendu à d'autre cas de filtres ARMA et RM,

Par exemple, elle s'applique à des filtres non linéaires (notamment les filtres de Volterra), à des filtres RI F, et également au cas où les deux filtres RM h 1 et h 2 présentent des ordres non pairs et/ou différents, ou au cas où, pour un même filtre RM h 1 ou h 2 , les parties MA et AR présentent également des ordres non pairs et/ou différents. L'homme de l'art sera à même d'ajuster les explications suivantes à ces divers cas envisagés en obtenant par exemple une cellule du premier ordre en complément de cellules du second ordre, ou en obtenant des cellules élémentaires de filtrage dont le dénominateur ou le numérateur est une constante alors que le numérateur ou le dénominateur associé est un polynôme de degré au moins égal à 1 . Notamment la publication susvisée " The Volterra and Wiener théories of nonlinear Systems" fournit des indications pour l'obtention d'une factorisation d'un système non linéaire en cellules élémentaires.

De façon connue en soi, les filtres RM linéaires h, (i=1 ou 2) sont définis par les transformées

où H,(z) est la transformée en z du filtre h G est le gain du filtre H,, et oc u et p u sont des coefficients complexes.

La fonction de transfert Η,(ζ) peut également se factoriser en cellules du second ordre comme suit: a,., et b u , sont

des coefficients réels.

Ces formules montrent comment un filtre RM h, peut être factorisé en cellules du premier ordre et/ou en cellules (1 = 0 ... L/2-1 ) du second ordre, c'est-à-dire que sa fonction de transfert est décomposée en un produit de cellules polynomiales du second degré. Le premier filtre RM h 1 est ainsi factorisé en une pluralité de premières cellules élémentaires de filtrage h[ et le deuxième filtre RM h 2 est factorisé en une pluralité de deuxièmes cellules élémentaires de filtrage

On voit ici que la généralisation évoqué précédemment à tout filtre RM de dimensions quelconques est immédiate, sachant que tout filtre peut se factoriser comme un ratio de produits de cellules du premier et du second ordre à coefficients réels (décomposition en treillis, en cellules du second ordre).

Selon l'invention, on peut également utiliser toute autre décomposition avec des cellules d'ordres supérieurs (au second ordre) si nécessaires. Toutefois, on favorisera la décomposition en cellules du premier et du second ordre réelles car les calculs correspondants moins complexes contribuent à une meilleure optimisation de l'invention.

Notons x(n) le signal numérique audio à filtrer (X(z) sa transformée en z) et y(n) le signal filtré résultant (Y(z) sa transformée), n étant l'indice d'échantillon.

La présente invention vise la gestion du filtrage lors d'un changement de filtre RM : par exemple l'activation d'un filtre RM en l'absence préalable de filtrage; l'extinction d'un filtre RM au profit d'une absence de filtrage; le passage d'un filtre RM à un nouveau filtre RM (cas décrit par la suite) ou à une version modifiée du même filtre courant.

Un tel changement peut être demandé par un opérateur au travers d'une interface utilisateur, ou par un autre système (par exemple un logiciel de réduction de bruits). Dans ces divers cas, une commande de changement de filtre RM est reçue.

Prenons l'exemple d'une désactivation d'un filtre RM h-, courant pour l'activation d'un deuxième filt 'autres termes, il s'agit du changement de filtre h 1 en h 2 à l'instant T:

Les autres cas évoqués découlent sans difficulté de cet exemple: par exemple en prenant des filtres "identité" (H(z)=z) pour h-, ou h 2 pour illustrer respectivement la simple activation de h 2 ou la simple extinction de h-,.

La figure 1 illustre schématiquement un premier exemple de mise en œuvre de l'invention pour gérer ce basculement à l'instant T du filtre h 1 au filtre h 2 . Les cellules élémentaires de filtrage montrées sur cette figure, ainsi que les éléments de contrôle associés peuvent être mis aisément en œuvre au travers de logiciels et/ou d'éléments matériels.

Ce premier exemple correspond à un dispositif de filtrage 1 mettant en œuvre "en série" les filtres h 1 et h 2 . Comme cela ressort de la figure, chaque filtre Λ, constitue un "bloc" qui est facilement manipulable pour être connecté en série à un autre "bloc" représentant un autre filtre RM. Ainsi, il est aisé de "connecter" en série ou substituer n'importe quel filtre à un autre filtre, aux fins de mise en œuvre de la présente invention. Dans cette configuration, chaque filtre h, est constitué de la mise en cascade des cellules élémentaires de filtrage qui le décomposent. / est un indice des cellules élémentaires de filtrage qui dépend de la décomposition effectuée. Par exemple, pour une décomposition en cellules élémentaires du premier ordre uniquement, on obtient L cellules et l'indice / varie de 0 à L-1. De même, pour une décomposition en cellules élémentaires du second ordre uniquement, on obtient L 2 cellules et l'indice / varie de 0 à L/2-1 .

A chaque cellule élémentaire de filtrage est associé, en sortie, un élément de contrôle 10· , par exemple un module potentiomètre permettant d'appliquer un facteur d'atténuation ou "coefficient de fondu" au signal filtré par . L'ensemble de ces deux éléments est nommé cellule filtre CE/ . A noter que dans une mise en œuvre logicielle, cet élément de contrôle peut consister en un coefficient de fondu appliqué directement au signal sortant de la cellule élémentaire de filtrage correspondante.

Comme il ressort de la suite des explications, une cellule filtre CE/ comprend une cellule élémentaire de filtrage et un élément de contrôle associé, permettant de filtrer un signal d'entrée. Selon différentes réalisations, l'élément de contrôle peut être placé après la cellule élémentaire ou avant la cellule élémentaire.

Dans le cas d'un placement après la cellule élémentaire (cas des figures 1 et 3 par exemple), cet élément de contrôle ne peut être un simple basculement instantané type interrupteur (ou switch), mais offre une transition progressive (type fondu notamment).

Dans le cas d'un placement avant la cellule élémentaire (cas de la figure 4 par exemple), cet élément de contrôle peut s'avérer être un simple interrupteur. En effet, le temps de réponse impulsionnelle des cellules élémentaires (ces cellules ont une "mémoire") garantit une contribution non nulle de ces cellules "débranchées" au niveau d'additionneurs correspondants, et donc un basculement progressif selon l'invention au niveau de chaque bloc filtrant. Avec un élément de contrôle de type progressif (coefficient de fondu par exemple), cette contribution due à la "mémoire" se trouve en outre modifiée par le coefficient de fondu appliqué par l'élément de contrôle.

Dans l'exemple de la figure 1 , l'élément de contrôle permet de mettre en œuvre une fonction fade in/fade out lors du basculement entre les deux filtres h 1 et h 2 .

Les éléments de contrôle 10[ contrôlant les premières cellules élémentaires de filtrage h[ sont de préférence identiques, appliquant simultanément un même coefficient C f de fondu en fermeture lors du basculement vers le filtre RM h 2 (par exemple progressivement depuis 100% jusqu'à 0%). Les éléments de contrôle 10' 2 contrôlant les deuxièmes cellules élémentaires de filtrage h[ sont de préférence identiques, appliquant simultanément un même coefficient C 0 de fondu en ouverture lors du même basculement (par exemple progressivement depuis 0% jusqu'à 100%). Notamment, le coefficient C 0 de fondu en ouverture peut être complémentaire du coefficient C f de fondu en fermeture, c'est-à-dire par exemple C 0 + C f = 100%. A noter que le ratio C 0 / C f est dénoté coefficient de mixage.

Par ailleurs, chaque cellule filtre CF. (c'est-à-dire une cellule élémentaire de filtrage et son élément de contrôle 10' associé) est mise en parallèle d'une cellule filtre "identité" p ri composée d'une cellule élémentaire de filtrage de type "identité" PTi (c'est-à-dire laissant tout passer, représenté symboliquement par un trait sur la figure) et d'un élément de contrôle associé 10^ du même type que les éléments de contrôle 10· . Cette mise en parallèle consiste à appliquer un même signal d'entrée aux deux cellules élémentaires et à obtenir un signal de sortie sommant les signaux de sortie respectifs de chaque cellule filtre CF. et CF^ .

Les deux cellules filtres CF. , CF^ reçoivent donc le même signal d'entrée s. ~l {n) et génèrent respectivement un signal filtré de sortie vers un additionneur ADD (ou mixeur). Ce dernier additionne les deux signaux filtrés obtenus de sorte à générer un signal filtré de sortie de bloc. Lors du basculement progressif, ce signal de sortie de bloc mixe ainsi les deux signaux filtrés, l'intensité de la contribution de chaque cellule élémentaire de filtrage , PTi étant fonction du coefficient de fondu appliqué par l'élément de contrôle associé 10' , 1θ' Ρ7ϊ .

On appelle ainsi "bloc filtrant" l'ensemble constitué des deux cellules filtres CF' , p ri et de l'additionneur ADD. Un bloc filtrant reçoit donc un signal d'entrée à filtrer et génère un signal filtré de sortie qui est le signal d'entrée filtré par l'une des deux cellules élémentaires de filtrage ou PTi en période de fonctionnement stabilisé (état permanent) ou qui est, pendant le basculement progressif (état transitoire), une combinaison (un mixage) du signal d'entrée filtré respectivement par chacune des deux cellules élémentaires de filtrage. Selon le positionnement de l'élément de contrôle dans les cellules filtres, le degré de contribution du filtrage de chacune des cellules élémentaires est fonction des coefficients de basculement appliqués et/ou de la "mémoire" (réponse impulsionnelle) de ces cellules élémentaires.

En détail, l'élément de contrôle 10' P7 , ; est complémentaire de l'élément de contrôle 10' : les éléments de contrôle 10' m mettent en œuvre le coefficient de fondu en ouverture C 0 , alors que les éléments de contrôle 10 pr2 mettent en œuvre le coefficient de fondu en fermeture C f . En d'autres termes, chaque branche PT1 se comporte, vis-à-vis du coefficient de fondu, comme une cellule filtre CE/ du deuxième filtre RM (vice et versa pour PT2 et les cellules filtres E ).

Dans le cas d'une décomposition des filtres RM en cellules élémentaires du second ordre, notons s' (n) e (signal filtré) de chaque cellule élémentaire de filtrag , c'est-à-dire le résultat du mixage en sortie du signal passant par la cellule filtre CE/ avec le signal passant par la cellule filtre CE ri

("identité") en parallèle.

Ces sorties s'écrivent alors de la façon suivante pour le filtre h-, :

2 2

s! {n) =∑b l l k .s -1 {n - k) +∑ a u%k .s[ {n - k)

k=0 k=l s{ (n) = ?/ 1 (n) * h[ n < T

s (n) C f (n - T).s[ + (l - C f (n - E)).?/ "1 (n) T≤ n < T + N

avec la convention ^ (w) = x{n) (signal d'entrée) et où le coefficient de fondu C f (n) est une fonction de fade out généralement décroissante et monotone (exemples représentés sur la figure 2) et C 0 = 1 - C f dans cet exemple.

N désigne la durée de basculement entre les deux filtres RM. Elle peut être déterminée de façon empirique ou par expérimentation et est choisie bien inférieure aux durées d'initialisation des techniques de l'art antérieur. N peut être choisi égal à une valeur LONG telle que définie précédemment mais calculée pour une desdites cellules élémentaires de filtrage, par exemple la plus grande longueur couvrant 80% de l'énergie d'une réponse impulsionnelle (infinie) parmi l'ensemble des cellules élémentaires de filtrage

De façon correspondante, les sorties concernant le filtre h 2 s'écrivent de la façon suivante, pour C 0 =1 -C f :

2 2

k=0 k=l

+ N

N

avec la convention s 2 1 (n) = ? 1 L 2 1 (n) de signal d'entrée A noter que si dans cet exemple on applique, à h 2 , le même coefficient de fondu C f (via C 0 = 1 - C f ) que pour le filtre h celui-ci peut être remplacé par un coefficient de fondu différent C f ' correspondant à une fonction similaire à C f mais dont le support temporel et la forme peuvent être différentes.

En outre, l'invention s'applique également si le deuxième filtre RM h 2 est placé avant le premier filtre h 1 (contrairement à la figure).

En régime permanent avant l'instant T, le signal d'entrée x(n) est filtré uniquement par le filtre RM h .

y(n) = s ' 2" » = = x(n) * h, .

Cela correspond à une configuration du dispositif 1 dans laquelle le coefficient

C f =100% et le coefficient C o =0%. En effet, le signal x(n) est alors successivement filtré par chacune des premières cellules élémentaires de filtrage h[ puis traverse la deuxième partie du dispositif par les branches "identité" PT2. Les contributions des branches PT1 et h 2 l ne sont pas prises en compte en raison du coefficient C o =0%.

A l'instant T, le basculement entre les deux filtres RM h 1 et h 2 débute, pour une durée

N.

Dans le présent mode de réalisation de l'invention, le principe est alors de progressivement éteindre le premier filtre RM h 1 en réduisant progressivement le coefficient C f (et en augmentant C 0 de façon complémentaire), de sorte que progressivement le signal d'entrée passe par les branches "identité" PT1 . Cette réduction progressive est réalisée par un fade oui

De même, le deuxième filtre RM h 2 est progressivement allumé en augmentant C 0 de façon complémentaire à C f (il s'agit donc par exemple d'un fade in), diminuant progressivement le signal passant par les branches PT2.

En d'autres termes, durant les N échantillons du basculement, le signal numérique est filtré par les deux filtres RM h 1 et h 2 , leurs contributions respectives variant selon C f .

Pour chaque paire ( h[ , h 2 l ), V / , le basculement au niveau des cellules élémentaires consiste à progressivement diminuer la contribution de la cellule élémentaire de filtrage provenant du premier filtre RM h u au profit de la contribution de l'autre cellule élémentaire de la paire (provenant du filtre RM h 2 ).

Dans chaque bloc filtrant , ce basculement consiste à progressivement diminuer la contribution des premières cellules élémentaires de filtrage h[ (resp. des cellules filtres "identité" CF^ 2 ) au profit de la contribution des cellules filtres "identité" associées CF P l Tl (resp. des deuxièmes cellules élémentaires de filtrage h 2 l ).

Selon l'invention, ce contrôle du basculement est réalisé au niveau de chaque bloc filtrant (et de chaque cellule élémentaire de filtrage) à l'aide d'un moyen approprié pilotant les coefficients C 0 et C f appliqués par les éléments de contrôle 10· et 10^ . Ainsi durant ces N échantillons, on calcule, comme signal filtré de sortie pour chaque bloc filtrant s , par exemple le barycentre du signal de sortie du bloc précédant (via la branche PTi) avec le résultat de ce signal filtré par la cellule élémentaire de filtrage , respectivement affectés d'un coefficient de fondu (C f pour les cellules élémentaires de h-, et C 0 =f(C f ) par exemple C 0 =1 -C f pour les cellules élémentaires de h 2 ) et du coefficient complémentaire. Ces coefficients favorisent les signaux filtrés par h-, au début du basculement (C f proche de 1 ), et favorisent les signaux filtrés par h 2 en fin de basculement (C f proche de 0).

En fin de basculement (n>T+N), le signal numérique x(n) est uniquement filtré par le filtre RM h 2 . En effet, C f =0 et donc:

y(n) = ï 2 LI 2~l («) = s 2 L ^ (n) = s 2 LI 2~2 (n) * = ^ („) * ¾ * ... *

= s^ l 2~l (n) * h 2 = ^ (n) * h 2 = x(n) * h 2

Le premier filtre RM h 1 n'est alors plus utilisé. Il peut être désactivé de telle sorte que seul le deuxième filtre RM h 2 est conservé pour la poursuite du traitement. Un nouveau basculement de ce dernier vers un autre filtre peut alors être effectuée en appliquant les enseignements de l'invention avec, à nouveau, en série la décomposition de cet autre filtre (dans ce cas le coefficient C 0 appliqué aux cellules élémentaires h[ devient un coefficient de fondu en fermeture C f ).

Il n'est pas rare que, pendant le basculement d'un filtre RM à un autre, une nouvelle demande de changement de filtre RM arrive alors que le basculement n'est pas fini. La nouvelle demande arrive par exemple à l'instant ΤΊ , avec Τ<ΤΊ<Τ+Ν.

Il peut s'agir d'une demande visant à rebasculer vers le premier filtre RM h

Dans ce cas, il peut être prévu qu'en réponse, le basculement de filtrage soit inversé depuis l'état de basculement au moment où cette nouvelle demande est reçue.

Par exemple, si à cet instant l on applique les coefficients C f (l^) au filtre h 1 et C 0 (Ji) au filtre h 2 , l'inversion de basculement consiste alors à appliquer un nouveau coefficient de fondu en fermeture C f au filtre h 2 et un nouveau coefficient de fondu en ouverture C 0 au filtre u prenant sensiblement la forme de la figure 2 (sur une durée N' qui peut être égale ou différente de N), mais avec des valeurs à l'origine égales, respectivement, à Ο, 0 ) et C f (Ji) (figure 2a).

Reprendre ces valeurs à l'origine garantit l'absence de discontinuité dans le signal filtré, et donc d'artefacts audibles.

Dans une variante réduisant le temps de retour à l'état de filtrage par h h on peut reparcourir en sens inverse le profil des coefficients de fondu alors appliqués. Dans le cas par exemple d'un profil symétrique, cela peut correspondre à se placer instantanément à l'instant ΤΊ et à appliquer la fin du profil de coefficient de la figure 2 tout en inversant C f (alors appliqué à 10' 2 et 10 p ) et C 0 (alors appliqué à 10j et PT2 ), avec C f (T' 1 )=C 0 (T 1 ) et C 0 (T' 1 )=C f (T 1 ) pour éviter toute discontinuité (figure 2b). Notamment avec C 0 =1 -C f , T'^N-fiyT), et la durée de transition pour retourner vers un filtrage par h 1 est N'^-T.

Il peut également s'agir d'une demande visant à choisir un nouveau (troisième) filtre RM h 3 . Une décomposition de celui-ci similaire à celles menées pour les filtres h 1 et h 2 est réalisée, pour obtenir des troisièmes cellules élémentaires de filtrage : H 3 (z) = Yf h 3 l (z) .

Dans ce cas, il peut être prévu qu'en réponse à la nouvelle demande, un nouveau basculement de filtrage soit réalisé depuis l'état de basculement au moment où cette nouvelle demande est reçue. Pour cela, on fige l'état de mixage de l'instant ΤΊ (c'est-à-dire les coefficients C f (J- \ ) et 0 ο (ΤΊ)) et on considère l'ensemble des premier et deuxième filtres RM h 1 et h 2 comme un filtre unique (noté h 12 ) ayant cet état figé, en série duquel on place le nouveau filtre h 3 (au sein par exemple de blocs filtrants mis en série des blocs filtrants composant h 12 ).

On applique alors les enseignements précédents aux filtres h 12 (filtre de départ) et h 3 (filtre d'arrivée), notamment la présence de cellules filtres "identité" associées en parallèle de chaque cellule élémentaire de h 12 et h 3 , ainsi que de nouveaux coefficients de fondu en fermeture C f ' (pour h 12 ) et en ouverture C 0 ' (égal à 1 - C f ' , pour h 3 ).

A noter que pour simplifier la mise en œuvre, le coefficient C 0 ' est appliqué à chaque cellule élémentaire de filtrage (au travers d'éléments de contrôle IO 3 ) et on applique aux éléments de contrôle 10) déjà existants pour les filtres h 1 et h 2 , le coefficient C f ' aux valeurs figées CfCT et C 0 (J,).

La figure 3 illustre schématiquement un deuxième exemple de mise en œuvre de l'invention pour gérer ce basculement à l'instant T du filtre h 1 au filtre h 2 . Les cellules élémentaires de filtrage montrées sur cette figure, ainsi que les éléments de contrôle associés peuvent être mis aisément en œuvre au travers de logiciels et/ou d'éléments matériels.

Ce deuxième exemple correspond à un dispositif de filtrage 1 dans lequel les filtres h 1 et h 2 sont directement instanciés "en parallèle". Chaque cellule élémentaire de filtrage h[ du premier filtre RM h 1 est ainsi associée à une cellule élémentaire de filtrage h 2 l du deuxième filtre RM h 2 au sein de blocs filtrants B L . De la sorte on évite la mise en œuvre des cellules élémentaires

"identité" PTi.

Chaque paire {hl , h 2 l ) accompagnée des éléments de contrôles respectifs présente les mêmes propriétés que la paire de blocs filtrant [B[ , de la figure 1. De ce fait, le basculement entre les deux filtres RM est réalisé de la même façon.

Dans cette configuration, L/2 paires, correspondantes à L/2 blocs filtrants B L , sont mises en cascade.

La sortie s 1 (n) d'un bloc filtrant B L s'écrit comme suit, pour C 0 =1 -C f : s l (n) N

avec e chaque cellule

élémentaire de filtrage h i et la convention ? (n) = x(n) .

Les enseignements fournis précédemment en lien avec le premier exemple sont également applicables à ce deuxième exemple de dispositif de filtrage 1 . C'est en particulier le cas pour la gestion d'une nouvelle demande de changement de filtre RM, pour la forme des fonctions C f et C 0 , ou encore l'ordre des cellules élémentaires de filtrage.

A noter que dans le cas où les deux filtres RM h 1 et h 2 ont des parties AR et/ou MA d'ordres différents, le nombre de cellules élémentaires de filtrage peut être différent entre eux. Dans ce cas, on crée une ou plusieurs cellules élémentaires de type "identité" (PTi) que l'on associe, en parallèle, à chaque cellule élémentaire de filtrage surnuméraire du filtre RM présentant un plus grand nombre de cellules élémentaires , pour former un bloc filtrant B l . Ainsi, chaque cellule élémentaire des deux filtres RM fait partie d'un bloc filtrant.

La figure 4 illustre schématiquement un exemple dégradé de mise en œuvre du dispositif de filtrage selon l'invention.

Dans cet exemple, les éléments de contrôle t l0 l PTi sont positionnés, au sein des cellules filtres, avant les cellules élémentaires de filtra et PTi. La figure 4 correspond au cas particulier où ces éléments de contrôle mettent en œuvre une transition instantanée (C f (n<T)=1 ; C f (n≥T)=0), représentés ici par un simple interrupteur 10' .

La progressivité du basculement résulte, dans ce cas, de la durée de réponse impulsionnelle des cellules élémentaires de filtrage, selon laquelle ces dernières continuent de générer un signal de sortie (signal d'extinction) même en l'absence de signal d'entrée. En effet, l'additionneur ADD combine alors ce signal d'extinction avec le signal filtré par l'autre cellule élémentaire "active", assurant de la sorte un basculement progressif.

On notera toutefois que la durée du basculement progressif est moins bien contrôlée ici que dans le cas des figures 1 et 3, où le profil du coefficient C f contrôle directement la durée N de basculement.

De retour à la figure 4, les éléments de contrôle 10' sont de simples commutateurs ou interrupteurs ne permettant pas d'appliquer un basculement progressif. Ils permettent cependant d'obtenir des durées d'initialisation des variables internes qui sont considérables réduites du fait de l'utilisation des cellules élémentaires de filtrage selon l'invention au niveau desquelles le basculement est commandé (commande 0/1 représentée sur la figure pour commander simultanément l'ensemble des interrupteurs 10' ).

Ce mode de réalisation dégradé peut se décliner aussi bien en version "série" de la figure 1 qu'en version "parallèle" de la figure 3.

L'invention telle que décrite ci-dessus permet donc de réduire la latence dans le changement de filtres RM, de manière d'autant plus importante que ces filtres RM sont décomposées en cellules élémentaires de filtrage présentant des ordres faibles.

Quelques tests ont montré une efficacité notable de l'invention au regard des techniques connues. Par exemple en appliquant l'invention pour contrôler le basculement entre des filtres RM d'ordre 4, factorisés en deux cellules élémentaires d'ordre 2, les inventeurs ont obtenu une réduction de moitié du temps de basculement par rapport à la méthode hybride rapportée précédemment, à énergie constante d'artefact (clic audio).

La présente invention présente diverses applications dans le domaine du traitement de signaux numériques, et notamment de signaux audio, car l'utilisation de filtres RM variant dans le temps est très répandue.

A titre illustratif, c'est le cas des codeurs à prédiction linéaire (LPC - codeur de parole).

Dans ce cas, le changement de filtre LPC d'une trame à l'autre est généralement fait par interpolation des coefficients. La mise en œuvre de la présente invention permet alors d'améliorer la stabilité du filtrage pendant le basculement, en ayant une latence et une complexité faibles.

C'est aussi le cas de modules suppresseurs de chocs acoustiques. Tout terminal téléphonique a vocation à intégrer des limiteurs sur le signal haut-parleur dont la tâche est de protéger l'utilisateur de potentiels chocs acoustiques (signaux forts, Larsen, etc.). Par exemple, on trouve ces limiteurs dans des boîtiers autonomes pour l'usage des téléconseillers, dans les clients

VoIP, dans les terminaux mobile.

Dans le cas de Larsen, le contenu fréquentiel varie généralement rapidement dans le temps. Si l'on suppose connues les fréquences qui composent le Larsen au cours du temps, la mise en œuvre de l'invention permet d'adapter quasi instantanément les filtres RM utilisés à ces fréquences et permet ainsi de filtrer l'effet Larsen.

Enfin, c'est également le cas de systèmes de réduction de bruit. De tels systèmes sont mis en œuvre dans tout terminal doté d'une prise de son, notamment de type mains-libres.

Dans ce cas, la mise en œuvre de filtres de réduction de bruit fait appel à des filtres qui varient dans le temps pour s'adapter au contenu spectral de la parole et/ou du bruit.

L'application des enseignements de l'invention à ces systèmes permet notamment d'améliorer ceux-ci eu égard à la latence.

La figure 5 montre schématiquement un dispositif ou système 50 pour la mise en œuvre de l'invention, notamment l'équipement doté des filtres RM et sur lequel est réalisé le basculement de filtre. Le système 50 comprend un bus de communication 51 auquel sont reliés une unité centrale de traitement ou "microprocesseur" 52, une mémoire vive 53, une mémoire morte 54, un dispositif d'affichage 55 pour afficher des interfaces utilisateur, un dispositif de pointage 56 et éventuellement d'autres périphériques 57 (interface de communication, lecteur de disquette ou disques, etc.).

La mémoire morte 54 comprend les programmes dont l'exécution permet la mise en œuvre du procédé selon l'invention, ainsi que par exemple des définitions logicielles de filtres RM, éventuellement déjà décomposés en cellules élémentaires de filtrage.

Lors de l'exécution de programmes, le code exécutable de ces programmes est chargé en mémoire vive 53, type RAM, et exécuté par le microprocesseur 52. Cette exécution permet l'instanciation des filtres RM et le contrôle de leur activation et de leur extinction, c'est-à-dire également du basculement d'un filtre RM à l'autre, comme représentés sur les figures 1 , 3 et 4 par exemple.

Le dispositif d'affichage 55, tel qu'un écran permet l'affichage d'interfaces graphiques utilisateurs permettant par exemple à un utilisateur de générer des commandes d'activation, extinction ou basculement de filtre RM.

Le dispositif de pointage 56 peut être intégré au dispositif d'affichage, notamment lorsqu'il s'agit d'un écran tactile, ou déporté, par exemple une souris, un touchpad ou encore une tablette graphique, pour permettre à l'utilisateur d'émettre ces commandes.

Le dispositif décrit ici et, particulièrement, l'unité centrale 52, sont susceptibles de mettre en oeuvre tout ou partie des traitements décrits en lien avec les figures 1 à 4, pour mettre en œuvre les procédés objets de la présente invention et constituer les dispositifs et systèmes objets de la présente invention.

Les exemples qui précèdent ne sont que des modes de réalisation de l'invention qui ne s'y limite pas.

Par exemple, l'invention peut mettre en œuvre uniquement le "bloc" h 1 de la figure 1 (partie de gauche), correspondant ainsi au cas de la figure 3 dans lequel le filtre h 2 est un filtre identité (les deuxièmes cellules élémentaires de filtrage sont alors également des cellules "identité"). Le basculement selon l'invention permet alors d'éteindre le filtre h 1 au profit d'une absence de filtrage, et cela sans artefact ou en les réduisant de manière significative.

De façon similaire, en mettant en œuvre uniquement le "bloc" h 2 de la figure 1 (partie de droite), le basculement selon l'invention permet d'activer le filtre h 2 alors qu'initialement aucun filtrage du signal numérique n'était réalisé, et cela sans artefact ou en les réduisant de manière significative.