FR2655792A1 - Filtre recursif numerique temporel. - Google Patents
Filtre recursif numerique temporel. Download PDFInfo
- Publication number
- FR2655792A1 FR2655792A1 FR8916297A FR8916297A FR2655792A1 FR 2655792 A1 FR2655792 A1 FR 2655792A1 FR 8916297 A FR8916297 A FR 8916297A FR 8916297 A FR8916297 A FR 8916297A FR 2655792 A1 FR2655792 A1 FR 2655792A1
- Authority
- FR
- France
- Prior art keywords
- signal
- filter
- input
- output
- adder
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 claims description 20
- 230000009467 reduction Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 18
- 238000001914 filtration Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 4
- 238000009499 grossing Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 210000000056 organ Anatomy 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 1
- 238000002583 angiography Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 239000000243 solution Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 230000002792 vascular Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/04—Recursive filters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03H—IMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
- H03H17/00—Networks using digital techniques
- H03H17/02—Frequency selective networks
- H03H17/0248—Filters characterised by a particular frequency response or filtering method
- H03H17/0261—Non linear filters
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Nonlinear Science (AREA)
- Image Processing (AREA)
Abstract
On résout les problèmes de coût, de rapidité, et de réduction de bruit de troncature dans un filtre récursif temporel, en multipliant (20) le résultat (Xn - Yn - 1) de la différence entre le signal d'entrée du filtre et le signal de sortie du filtre par des puissances n de deux et en ajoutant (17) le produit de cette multiplication au signal de sortie du filtre. On montre que l'utilisation des puissances de deux permet d'une part de simplifier grandement la multiplication en la remplaçant par des registres à décalage binaire et d'autre part permet de réduire les bruits.
Description
La présente invention a pour objet un filtre récursif numérique temporel utilisable pour traiter des signaux électriques en temps réel. Dans ce but, il est plus particulièrement utilisé dans le traitement d'images dans le domaine médical mais il pourrait être aussi utilisé dans d'autres domaines. En particulier il pourrait être utilisé en traitement de signal radar.
L'intérêt de l'invention se situe dans le caractère rapide et bon marché du dispositif inventé. Le fait que le coût du circuit soit peu élevé est essentiellement lié à la réduction du nombre de bits du signal numérique à traiter, tout en conservant cependant pour la réponse une même précision et une même immunité aux bruits.
On connaît les filtres temporels de signaux électriques. Ceux-ci comportent un sous-ensemble électronique qui introduit un lissage temporel d'un signal traité dans une chaîne de traitement. Le lissage temporel permet de remplacer, à chaque instant, un signal présent par une moyenne pondérée de ce même signal à des instants précédents. Le filtrage temporel s'applique aussi bien à un signal analogique continu ou échantillonné qu'à une suite d'images. Dans le cas où il s'applique à une suite d'images, un élément d'image, ou pixel, de cette image est traité comme un signal échantillonné, indépendant du pixel voisin. Ainsi le traitement d'une séquence d'images, comportant chacune
N X N pixels revient à filtrer N X N signaux indépendants. Dans ce cas, un signal attribué à chaque pixel dans une image est combiné aux signaux attribués à ce même pixel dans les images précédentes.Dans une autre application cependant, en particulier lorsqu'on veut faire un filtrage basse fréquence d'un signal d'images (dans le but de ne faire ressortir que les grosses structures de cette image tout en gommant les détails de cette image), on utilisera le signal vidéo lui-même comme signal à traiter. Les signaux relatifs à un pixel dans une image sont combinés aux signaux relatifs à des pixels précédents dans la même image.
N X N pixels revient à filtrer N X N signaux indépendants. Dans ce cas, un signal attribué à chaque pixel dans une image est combiné aux signaux attribués à ce même pixel dans les images précédentes.Dans une autre application cependant, en particulier lorsqu'on veut faire un filtrage basse fréquence d'un signal d'images (dans le but de ne faire ressortir que les grosses structures de cette image tout en gommant les détails de cette image), on utilisera le signal vidéo lui-même comme signal à traiter. Les signaux relatifs à un pixel dans une image sont combinés aux signaux relatifs à des pixels précédents dans la même image.
Le filtrage temporel est utilisé le plus couramment en télévision pour améliorer la qualité d'une transmission parasitée, et aussi en cas d'arrêt sur image. Le filtre temporel le plus général fournit pour une suite d'échantillons Xi, une réponse
La suite des fonctions Fk caractérise le comportement du filtre. Le filtre est linéaire si les fonctions Fk se réduisent à une multiplication. Dans ce cas, on peut écrire Fk (X) = Fk.X.
Une réalisation simple d'un filtre temporel consiste à prendre comme nouveau signal une somme pondérée du signal d'entrée et du signal de sortie précédent. Le principe d'un tel filtre est représenté sur la figure 1. Un additionneur 1 reçoit sur une première entrée 2 le signal Xn pondéré par une fonction f1. Le signal Yn délivré en correspondance par le filtre est introduit dans un circuit de mémorisation 3 pour y être restitué, à la sortie 4 de ce circuit 3, une période plus tard. La sortie 4 du circuit de mémorisation 3 est reliée à une deuxième entrée 5 de l'additionneur 1 par l'intermédiaire d'un circuit mettant en oeuvre une fonction de pondération f2. Ci schéma de principe s'applique également à une image.
Dans le cas d'une image, la mémoire 3 devra contenir une image complète afin que pour chaque pixel d'une image temps réel, les valeurs de niveau de gris Xn (ou de luminosité et/ou de chrominance) soient filtrés par combinaison avec des niveaux de gris filtrés correspondant à une image temps réel filtrée précédente
Yn-l
Un tel filtre est dit récursif et dans ce cas sa fonction de transfert est de type exponentiel. Il est linéaire si les fonctions de pondération (fol et f 2) se réduisent à des coefficients k1 et k2 multiplicatifs.
Yn-l
Un tel filtre est dit récursif et dans ce cas sa fonction de transfert est de type exponentiel. Il est linéaire si les fonctions de pondération (fol et f 2) se réduisent à des coefficients k1 et k2 multiplicatifs.
Si les fonctions sont telles que f1 (X) + f2 (X) = on conserve un gain unitaire au filtre. On a découvert dans l'invention que la réponse de ce filtre reste exponentielle, mais dans ce cas, sa constante de temps dépend du niveau X du signal à filtrer. Ceci signifie, par exemple, que plus le signal X est fort, moins le gain de la boucle de réaction sera fort. L'idée dans ce cas est de permettre l'intégration des signaux d'image en radiologie.
En effet, en radiologie on surveille l'évolution d'un organe chez un patient au cours du temps en soumettant cet organe à un rayonnement X permanent.
Afin de ne pas trop irradier ce patient, le rayonnement
X est de très faible intensité. Il en résulte que le signal détecté par un détecteur est faible. Dans le but d'obtenir suffisamment de sensibilité, on intègre les images acquises par une caméra vidéo les unes sur les autres. Dans le but de comprimer la dynamique des grands signaux et d'amplifier par contre la dynamique des faibles signaux on traite alors ces images au moment de l'intégration par un tel filtre non linéaire.
X est de très faible intensité. Il en résulte que le signal détecté par un détecteur est faible. Dans le but d'obtenir suffisamment de sensibilité, on intègre les images acquises par une caméra vidéo les unes sur les autres. Dans le but de comprimer la dynamique des grands signaux et d'amplifier par contre la dynamique des faibles signaux on traite alors ces images au moment de l'intégration par un tel filtre non linéaire.
Le filtrage temporel d'une suite d'images améliore la netteté des structures fixes, ou en mouvements très lents dans l'image. Mais elle entraîne une déformation et un trainage des structures en mouvements rapides. Ce défaut est normalement avantageusement réduit en incluant dans le filtre une fonction de test sur la variation du niveau de gris attribué à chaque pixel dans l'image. Ce test permet, selon que le signal affecté à un pixel, d'une image à l'autre, a beaucoup ou peu varié, de considérer que l'on est respectivement en présence d'un mouvement du corps ou d'un bruit. Dans le cas où on a affaire à un mouvement, on décide, pour ce pixel, de ne pas appliquer le filtrage récursif. Par contre, si la variation (faible) est due au bruit, on effectue le filtrage permettant alors le lissage évoqué ci-dessus.
Les solutions ainsi présentées de filtre récursif présentent des inconvénients En effet, les circuits de pondération f1 et f2 doivent comporter une troncature.
En simplifiant on peut admettre que, si un signal est connu jusqu'à la nième décimale (un signal défini sur N bits) et que, si on multiplie ce signal par un coefficient lui-même défini à la m ième décimale (défini avec M bits), on obtiendra un signal résultant artificiellement défini jusqu'à la (n + m) ième décimale (avec N + M bits). Normalement cette précision est injustifiée et on effectue une troncature. Cette troncature revient à négliger les décimales de poids faible (les bits de poids faible). Cette troncature est assimilable à une source de bruit.
Sur la figure 1, en appelant A et B les sorties des circuits de pondération par fl et f2 respectivement, on peut calculer la puissance de bruit produite par une telle troncature en ces points. Ces puissances de bruit se composent avec la puissance dex bruit à l'entrée E, inhérente au signal X lui-même, pour produire une puissance S de bruit en sortie.Dans le cas linéaire, où f1 = a et où f2 = I - a, et en admettant que les bruits sont à chaque fois des bruits blancs gaussiens d'écart type a (respectivement va, ab, ae et as), on peut écrire que la puissance de bruit en sortie est égale à
Il as2 t.aE2 + (aA2 + aB2)/a } / (2La)
Dans le cas non linéaire, la formule II est toujours valable en remplaçant a par la dérivée de f1 au point considéré.
Il as2 t.aE2 + (aA2 + aB2)/a } / (2La)
Dans le cas non linéaire, la formule II est toujours valable en remplaçant a par la dérivée de f1 au point considéré.
Cette expression indique premièrement que les bruits en A et B s'ajoutent pour former le bruit de boucle. On constate que l'influence de ces bruits est d'autant plus importante que le coefficient a est petit. Ainsi, dans l'exemple évoqué, si on veut intégrer 16 images de suite, le coefficient a sera de l'ordre de 1/16e avec pour conséquence que les bruits en A et B seront 16 fois plus influants que le bruit E du signal d'entrée. Pour éviter une influence trop grande de ces bruits de troncature, on est contraint de traiter dans l'additionneur 1 beaucoup de bits d'une part et de prévoir des multiplicateurs par a, ou 1/a, délivrant beaucoup de bits.
En pratique, pour réaliser les fonctions f1 et 2, on n'utilise pas des opérateurs, mais plutôt des tables de résultats de fonction. Une table peut alors être paramétrée par un coefficient a. Elle comporte des cases mémoires dont le contenu est représentatif du résultat de l'application de la fonction à une variable égale à l'adresse de cette case mémoire. Pour obtenir le résultat, il suffit alors d'adresser la mémoire par le signal X lui-même, et de lire, par le contenu de las cellule mémoire adressée, le résultat de la fonction.
Cette technique permet un traitement très rapide. Mais elle présente l'inconvénient, d'une part que les mémoires sont d'autant plus volumineuses que le nombre de bits qu'elles doivent indiquer dans leurs résultats de sortie est grand : c'est-à-dire quand on veut éviter l'influence des bruits de troncature. D'autre part, le circuit représenté nécessite la présence de deux mémoires de ce type : une pour effectuer la pondération par f1, l'autre pour effectuer la pondération par f2.
Une variante du circuit de la Figure 1 est représentée dans le circuit de la Figure 2 dans lequel l'additionneur et les coefficients a et 1 - a, ou respectivement les fonctions f1 et f2 complémentaire de f1, sont remplacés par un soustrayeur et deux multiplicateurs par a, ou respectivement par deux pondérateurs par une même fonction f1. On peut montrer, avec un calcul du même ordre que précédemment, que dans ce cas, la puissance de bruit en sortie, est la suivante
III aS2 = { a (aE2 + aC2) + (aA2 + aB2)/a } / (2-a)
Elle n'est pas fondamentalement changée. Le bruit en C a le même poids que le bruit d'entrée. Les bits supplémentaires sont encore une fois indispensables aux points A et B.Par ailleurs, ici toute troncature dans la boucle principale, c'est-à-dire dans le circuit mémoire 3, est prohibée. En effet, elle se reporterait avec un poids unitaire en sortie compte tenu de la présence de l'additionneur 1 relié directement à la sortie 4 du circuit de mémoire 3. De toute façon, dans ce cas aussi on remarque la présence nécessaire de deux multiplicateurs, même si ces deux multiplicateurs sont identiques l'un à l'autre.
III aS2 = { a (aE2 + aC2) + (aA2 + aB2)/a } / (2-a)
Elle n'est pas fondamentalement changée. Le bruit en C a le même poids que le bruit d'entrée. Les bits supplémentaires sont encore une fois indispensables aux points A et B.Par ailleurs, ici toute troncature dans la boucle principale, c'est-à-dire dans le circuit mémoire 3, est prohibée. En effet, elle se reporterait avec un poids unitaire en sortie compte tenu de la présence de l'additionneur 1 relié directement à la sortie 4 du circuit de mémoire 3. De toute façon, dans ce cas aussi on remarque la présence nécessaire de deux multiplicateurs, même si ces deux multiplicateurs sont identiques l'un à l'autre.
L'invention a pour objet de remédier à ces inconvénients en proposant un circuit dans lequel le bruit de sortie ne sera pas augmenté bien que le nombre de bits traité soit inférieur, et en n'utilisant de plus qu'une seule table de multiplication. Cette table de multiplication sera adressée par une autre table cette autre table étant nettement moins volumineuse que les tables de multiplication évoquées précédemment.
Dans un perfectionnement, la table de multiplication elle-même est remplacée par un simple circuit de décalage et n'opère plus alors, en comptage binaire, que des multiplications par des puissances de deux. On montre alors que cette approximation grossière des multiplications est sans retentissement néfaste sur le bruit en sortie. Dans ces conditions, on est capable de réaliser un filtre récursif bon marché et plus rapide.
La présente invention a donc pour objet un filtre récursif numérique temporel comportant -une entrée pour recevoir un premier signal, ce premier signal étant le signal d'entrée du filtre, et une sortie pour délivrer un deuxième signal, ce deuxième signal étant le signal de sortie du filtre, -un soustrayeur pour retrancher un troisième signal introduit sur une première entrée de ce soustrayeur, ce troisième signal correspondant au deuxième signal, d'un quatrième signal, introduit sur une deuxième entrée de ce soustrayeur, ce quatrième signal correspondant au premier signal, et pour délivrer un cinquième signal, et -un additionneur pour additionner un sixième signal, introduit sur une première entrée de cet additionneur, ce sixième signal correspondant au cinquième signal, au troisième signal introduit sur une deuxième entrée de cet additionneur, et pour délivrer le deuxième signal.
caractérisé en ce qu'il comporte -une table de valeurs de multiplication, adressable par le premier signal et par un septième signal correspondant au cinquième signal, et -un multiplicateur pour multiplier le cinquième signal par une valeur de la table, et pour délivrer le sixième signal, -afin que le filtre puisse être un filtre non linéaire.
L'invention sera mieux comprise à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent. Celles-ci ne sont données qu'à titre indicatif et nullement limitatif de l'invention. Les figures montrent
- Figures 1 et 2 : les exemples déjà évoqués de réalisation de filtre récursif selon l'état de la technique ;
- Figure 3 : la représentation d'un filtre récursif selon l'invention.
- Figures 1 et 2 : les exemples déjà évoqués de réalisation de filtre récursif selon l'état de la technique ;
- Figure 3 : la représentation d'un filtre récursif selon l'invention.
La Figure 3 montre un filtre récursif selon l'invention. Celui-ci comporte une entrée 10 pour recevoir un premier signal Xn, le premier signal étant le signal d'entrée du filtre. Il comporte une sortie 11 pour délivrer un deuxième signal qui est le signal Yn de sortie du filtre. Il comporte un soustrayeur 12 muni d'une première entrée 13 et d'une deuxième entrée 14.
Le signal introduit sur la première entrée 13 est retranchée du signal introduit sur la deuxième entrée 14. Le signal introduit sur la deuxième entrée 14 est un signal correspondant au signal d'entrée du filtre.
Dans la pratique, il peut être ce premier signal Xn lui-même, à moins que le filtre ne comporte, en amont, un autre circuit de transformation : amplification, écrêtage. Le signal introduit sur la première entrée 13 du soustrayeur 12 est un quatrième signal n-î correspondant au deuxième signal Yn délivré par le filtre. La correspondance dont il est question est celle qui est imposée par la présence d'un circuit de mémorisation 15 placé en série entre la sortie 11 du filtre et entrée 13 du soustrayeur 12. Comme indiqué précédemment, la mémoire 15 n'effectue aucune troncature. Le circuit de mémorisation 15 a pour fonction de retarder le signal, c'est-à-dire de présenter le quatrième signal, Yin~1 en retard par rapport à l'élaboration du deuxième signal Yn.
Le soustrayeur 12 comporte une sortie 16 délivrant un cinquième signal : ici Xn - Yn~1. Le filtre comporte également un additionneur 17 muni d'une première entrée 18 et d'une deuxième entrée 19. La première entrée 18 reçoit un sixième signal correspondant au cinquième signal. Le sixième signal est le résultat de la transformation du cinquième signal par son passage au travers d'un multiplicateur 20. La deuxième entrée 19 reçoit le troisième signal délivré par la mémoire 15.
L'additionneur 17 comporte une sortie 21 qui constitue la sortie 11 du filtre.
Ce qui caractérise l'invention est la présence dans ce filtre d'une table 22 de valeur de multiplication, et le caractère paramétrable de la multiplication, dans le multiplicateur 20, par une valeur délivrée par la table 22. La table 22 est adressable de deux façons simultanément : d'une part, par le signal d'entrée du filtre, le premier signal Xn, et d'autre part, par un septième signal correspondant au cinquième signal (Xn - n-î) La table 22 comporte à cet effet respectivement deux entrées d'adresse respectivement 23 et 24. Le cinquième signal Xn - Yin~1 est transformé en septième signal après passage dans un comparateur 25. Le comparateur 25 compare la.
différence, l'évolution du signal Xn par rapport à sa valeur filtrée Yin~1 précédente, à un seuil introduit par ailleurs par un générateur de seuil 26. En pratique, le générateur de seuil peut être intégré au comparateur 25, notamment dans le cas du traitement binaire. Le fait d'adresser la table par les valeurs du signal d'entrée permet de rendre le filtre proposé non linéaire. Ceci permet la compression de dynamique des forts signaux au profit de la dilatation de la dynamique des faibles signaux.
En appelant D la sortie du multiplicateur 20, on peut donner, d'une manière comparable aux résultats précédents, la puissance S de bruit en sortie du filtre de l'invention. Dans l'expression suivante
IV as2 = { a (aE2 + ac2) + aD2)/a } / (2-a) a présente le coefficient de multiplication du multiplicateur 20. On constate dans cette expression que la puissance de bruit, pour une même valeur de a, est réduite par rapport au cas précédent, essentiellement du fait qu'on a déjà réduit le nombre de multiplicateurs.
IV as2 = { a (aE2 + ac2) + aD2)/a } / (2-a) a présente le coefficient de multiplication du multiplicateur 20. On constate dans cette expression que la puissance de bruit, pour une même valeur de a, est réduite par rapport au cas précédent, essentiellement du fait qu'on a déjà réduit le nombre de multiplicateurs.
Dans un exemple de réalisation, le signal Xn est codé sur 8 bits, le signal n, en sortie, étant codé sur 12 bits. La mémoire 15 stocke alors des mots mémoire de 12 bits et les présente comme tels à l'entrée 19 de l'additionneur 17. Par contre, pour l'entrée 13 du soustrayeur 12, seulement 8 bits sont utiles, compte tenu de ce que le signal d'entrée est lui-même donné sur 8 bits. On effectue dans ce cas une troncature du signal mémorisé en éliminant les bits de poids faible. Le soustrayeur 12 délivre à sa sortie 16 un résultat codé sur 9 bits. Après passage dans le multiplicateur 20, le signal est codé sur 12 bits, il est de même longueur binaire que le signal introduit sur l'autre entrée 19 de l'additionneur 17. Pour des raisons que l'on évoquera plus loin, l'additionneur 17 délivre aussi un résultat sur 12 bits, et non pas sur 13 bits.
Le septième signal qui doit être introduit sur l'entrée 24 d'adresse de la table 22 n'a pas besoin d'être connu avec une très grande précision. En effet, ce signal ne sert qu'à déterminer si la variation Xn Yin~1 est faible (elle est alors due à un bruit qu'il faut filtrer), ou si elle est forte (auquel cas elle est due à un mouvement dans l'image, et dans ce cas, il ne faut plus filtrer mais provoquer au contraire le passage direct de la valeur Xn en sortie). Compte tenu du caractère relatif de la variation, positive ou négative, le comparateur 25 possède donc deux seuils au-delà desquels on pourra considérer que la variation n'est plus due à un bruit mais à un mouvement dans l'image. Il est même possible de régler les deux seuils différemment, pour favoriser des effets de noircissement ou, au contraire, d'éclairement de l'image.Pour simplifier on peut admettre que ces seuils sont égaux en valeur absolue.
Dans la réalisation préférée, le signal délivré par le comparateur 25 est un signal sur 1 bit : il peut valoir 0 ou 1. On pourrait cependant particulariser plus finement et utiliser un plus grand nombre de bits.
Si la variation du signal est trop forte, si elle est due à un mouvement, le comparateur à seuil délivrera un signal, par exemple 1, indiquant que cette variation sort de la plage autorisée. Dans ce cas, à toutes les adresses correspondant à un bit 1 entré sur l'entrée 24 d'adresse de la table 22, la table 22 produira un valeur telle que le multiplicateur 20 multiplie par 1 (multiplication unitaire) le signal disponible à la sortie 16 du soustrayeur 12. Dans ce cas, l'additionneur 17 additionnera Xn - Yn - 1 à Yn - 1.
Il en résultera que Yn sera égal à Xn. Le signal n'aura pas été filtré et sera transmis tel quel. On évitera de ce fait les trainages dans les représentations des structures en mouvement rapide. Dans ce cas, le comparateur 25 joue une fonction de sélection de l'option de filtrage du filtre.
Plutôt que d'avoir un générateur de seuil 26, et, dans une conception numérique binaire, le comparateur 25 pourra comporter un ensemble de portes logiques OU et ET organisées de telle façon qu'elles produisent un résultat 1 lorsque la différence Xn - Yn - 1 est trop grande. Ces portes OU et ET traiteraient d'une manière intégrée des bits de poids fort choisis du signal délivré par la sortie 16.
La table 22 produit le coefficient a mis en oeuvre dans la multiplication par le multiplicateur 20. On a découvert dans l'invention que la valeur de a n'a pas besoin d'être définie avec précision. On a même essayé de voir l'évolution du signal Y par rapport à sa moyenne M lorsque le coefficient a de multiplication subit une discontinuité, passant par exemple d'une valeur a1 à une valeur a2. Le filtre de la Figure 3 de l'invention effectue une opération non linéaire, car a varie avec le niveau d'entrée. En effet, on peut écrire en remplaçant a par a (Xn)
V Yn = Yn - 1 + (Xn - Yn - 1).a (Xn)
En présence de bruit sur le signal d'entrée X, les bruits, de part et d'autre de la moyenne, n'interviennent pas avec le même poids du fait que le filtre n'est pas linéaire. On doit donc s'attendre normalement à un effet de déviation de la moyenne.Dans l'invention, on a évalué cet effet pour une fonction a discontinue. Le bruit sur X est donné par une fonction de répartition P (X). Une valeur stationnaire de Y est telle que
V Yn = Yn - 1 + (Xn - Yn - 1).a (Xn)
En présence de bruit sur le signal d'entrée X, les bruits, de part et d'autre de la moyenne, n'interviennent pas avec le même poids du fait que le filtre n'est pas linéaire. On doit donc s'attendre normalement à un effet de déviation de la moyenne.Dans l'invention, on a évalué cet effet pour une fonction a discontinue. Le bruit sur X est donné par une fonction de répartition P (X). Une valeur stationnaire de Y est telle que
Dans cette expression P (X) est une loi normale de valeur moyenne M et d'écart type unité. La résolution de cette équation pour a (X) = al lorsque X est inférieur à Xg et pour a (X) = a2 pour X supérieur à Xg donne le résultat suivant
Dans cette expression e (X) représente l'intégrale de P(X) de 0 à X. Cette formule montre que la déviation
Y - M ne dépend que de l'importance relative de la discontinuité sur a. En pratique, le deuxième membre du dénominateur est compris entre - 1/2 et + 1/2. Pour avoir des discontinuités faibles sur a, il faut prendre par exemple des rapports entre al et a2 de l'ordre de 10 t. Dans ce cas, le premier membre du dénominateur est égal à 10, le dénominateur lui-même étant égal environ à 10. On a alors tenté de prendre des discontinuités sur a plus importantes. En particulier, on a adopté pour a une loi géométrique. Cette loi géométrique se justifie pour deux raisons. La première est donnée par l'effet visuel sur les images. Les modifications de l'image en bruit et constante de temps varient comme le logarithme de a. Donc, l'effet visuel varie comme le logarithme de a : il varie lentement avec a. La seconde raison provient de ce que la discontinuité ne produit qu'une faible distorsion de l'image.En effet, si on prend a2 = 2al (progression géométrique par deux), le dénominateur devient alors égal à 2. Par rapport au cas où a varie faiblement, où les discontinuités sont faibles, la variation par rapport à la moyenne est donc cinq fois plus grande.
Y - M ne dépend que de l'importance relative de la discontinuité sur a. En pratique, le deuxième membre du dénominateur est compris entre - 1/2 et + 1/2. Pour avoir des discontinuités faibles sur a, il faut prendre par exemple des rapports entre al et a2 de l'ordre de 10 t. Dans ce cas, le premier membre du dénominateur est égal à 10, le dénominateur lui-même étant égal environ à 10. On a alors tenté de prendre des discontinuités sur a plus importantes. En particulier, on a adopté pour a une loi géométrique. Cette loi géométrique se justifie pour deux raisons. La première est donnée par l'effet visuel sur les images. Les modifications de l'image en bruit et constante de temps varient comme le logarithme de a. Donc, l'effet visuel varie comme le logarithme de a : il varie lentement avec a. La seconde raison provient de ce que la discontinuité ne produit qu'une faible distorsion de l'image.En effet, si on prend a2 = 2al (progression géométrique par deux), le dénominateur devient alors égal à 2. Par rapport au cas où a varie faiblement, où les discontinuités sont faibles, la variation par rapport à la moyenne est donc cinq fois plus grande.
L'expérience a montré que l'écart avec la moyenne, même s'il est cinq fois plus grand, reste insensible à l'oeil.
Par contre, le choix d'une variation de a selon des puissances de deux est tout à fait intéressant, car il permet de simplifier notablement le filtre. En effet, dans ces conditions, le multiplicateur 20 peut, en calcul binaire, être simplement représenté par n décalages, à droite ou à gauche, selon la puissance de 2 impliquée. Un décalage à droite d'un bit revient à une division par 2 (ou à une multiplication par 1/2) et ainsi de suite. De tels décalages peuvent être effectués en temps réel à un rythme très rapide, même plus rapide que le temps nécessaire pour lire une mémoire multiplicative. Dans un exemple préféré, on a prévu douze décalages possibles, le registre à décalage du "multiplicateur 20 comportant en sortie 12 bits.
Quand on effectue jusqu'à douze décalages, on ne retient alors que les bits de poids forts du signal à décaler. Il suffit alors pour déterminer la valeur n, au signe près, dans cet exemple préféré, de disposer de 4 bits en sortie de la table 22.
Compte tenu des sauts autorisés sur la valeur de a, des sauts géométriques par multiplication par 2, il n'est pas nécessaire d'entrer sur l'entrée d'adresse 23 de la table 22 un mot d'adresse très precis. Erk pratique, on peut se satisfaire de seulement 6 bits pour ce mot d'adresse. En effet, on doit définir environ une dizaine de seuil Xg en-deçà desquels a vaut 2-n et au-delà desquels il vaut 2-(n+1). Compte tenu de l'approximation sur a la détermination de ces seuils n'est pas critique. Il en résulte que la table 22, qui peut être adressée par les 6 bits de poids fort en provenance de Xn et par un bit délivré par le comparateur 25, et qui délivre un signal sur 4 bits, est une mémoire de taille réduite. Elle comporte 2 K (K = 1024) cellules.Elle doit être adressée par un décodeur de 7 bits, 6 bits pour Xn et 1 bit provenant du comparateur 25.
En utilisant une table 22 plus importante, dont la taille est multiple de la table de base ainsi décrite, il est même possible de paramétrer à la demande, depuis l'extérieur, par une entrée de commande 26, un autre choix d'un ensemble de seuil Xg pour lesquels on décide que doivent s'effectuer les sauts de multiplication a1 en a2. Donc, non seulement le filtre de l'invention est non linéaire, mais en plus, il est paramétrable : on peut choisir entre différents types de non-linéarité.
D'une manière déjà évoquée, on peut aussi vouloir utiliser le comparateur 25 pour modifier la fonction récursive suivant que le mouvement dans l'image est plus ou moins rapide. Dans ce cas, le comparateur 25 comporte plusieurs jeux de double seuil au-delà desquels, à la manière de la commmande de paramétrisation extérieure 26, on choisit dans une table 22 multiple une option de non-linéarité parmi d'autres.
Le comparateur 25 peut enfin également être utilisé pour effectuer une recherche pixel par pixel du minimum ou du maximum de signal dans une suite d'images. Cette opération est particulièrement intéressante en angiographie, au moment de l'injection du produit de contraste, où on cherche à représenter des images avec un contraste maximum, alors que le produit de contraste se déplace progressivement au cours de l'expérience dans les différentes régions du réseau vasculaire du patient examiné. On peut d'une manière simple considérer que ce déplacement du produit de contraste est assimilable à un mouvement. On peut alors ne retenir que des parties d'image correspondant ainsi à un tel "mouvement" là où le signal est maximum, et ne montrer ensuite que ces parties d'image concernant ce maximum. Dans ce cas, on est capable de recréer une image composite d'une manière connue.
Pour effectuer ce traitement avec l'invention, les seuils de décalage prévus dans le comparateur 25 sont choisis en fonction du but à atteindre. Par exemple, un seuil nul, avec mise en activité du filtrage lorsque la différence Xn - Yin~1 est négative, permet de rechercher un maximum du signal. La mise en activité inverse est choisie si on veut rechercher le minimum. Dans le premier cas, tant que la différence est positive, on laisse passer le signal Xn en multipliant dans le multiplicateur 22 la différence Xn - Yin~1 par un. La nouvelle valeur mémorisée est alors la valeur Xn : on continue à l'enregistrer dans la mémoire 15. Dès que cette différence Xn - Yn - 1 devient négative (lorsqu'on a atteint le maximum), on filtre, on multiplie la différence Xn - Yin~1 par 0, et la mémoire 15 retient, pour le pixel considéré, la maximum Yn-1 préalablement atteint. Dans cette utilisation la table 22 possède donc deux coefficients : un qui multiplie par un (pas de décalage), l'autre qui multiplie par zéro (douze décalages). Ce mode de filtrage peut être choisi par un ordre envoyé sur la commande 26.
Claims (7)
1-Filtre récursif numérique temporel comportant -une entrée (10) pour recevoir un premier signal (Xn), ce premier signal étant le signal d'entrée du filtre, et une sortie (11) pour délivrer un deuxième signal (Yn), ce deuxième signal étant le signal de sortie du filtre, -un soustrayeur (12) pour retrancher un troisième signal (yen~1) introduit sur une première entrée (13) de ce soustrayeur, ce troisième signal correspondant au deuxième signal, d'un quatrième signal (Xn), introduit sur une deuxième entrée (14) de ce soustrayeur, ce quatrième signal correspondant au premier signal, et pour délivrer un cinquième signal(Xn - Yn - 1), et -un additionneur (17) pour additionner un sixième signal, introduit sur une première entrée (18) de cet additionneur, ce sixième signal correspondant au cinquième signal, au troisième signal introduit sur une deuxième entrée (19) de cet additionneur, et pour délivrer le deuxième signal.
caractérisé en ce qu'il comporte -une table (22) de valeurs (n) de multiplication, adressable (23, 24) par le premier signal et par un septième signal correspondant au cinquième signal, et -un multiplicateur (20) pour multiplier le cinquième signal par une valeur de la table, et pour délivrer le sixième signal, -afin que le filtre puisse être un filtre non linéaire.
2-Filtre selon la revendication 1, caractérisé en ce que le multiplicateur comprend -un circuit de décalage binaire pour correspondre à des multiplications par des puissances de deux.
3-Filtre selon l'une quelconque des revendications 1 à 2, caractérisé en ce qu'il comporte -un comparateur (25) à seuil pour recevoir le cinquième signal et pour délivrer le septième signal d'adressage de la table.
4-Filtre selon la revendication 3, caractérisé en ce que le comparateur comporte des moyens pour comparer le'cinquième signal à deux seuils de valeur positive ou négative différentes en valeur absolue.
5-Filtre selon l'une quelconque des revendications 1 à 4, caractérisé en ce que la table comporte une valeur unitaire pour que, par multiplication unitaire, le sixième signal puisse être identique au cinquième signal.
6-Filtre selon l'une quelconque des revendications 1 à 5, caractérisé en ce que la table supporte une valeur nulle pour que, par multiplication par zéro, on puisse mémoriser des signaux minimum et/ou maximum dans un circuit mémoire (15).
7-Filtre selon l'une quelconque des revendications 1 à 6, caractérisé en ce qu'il comporte -un circuit mémoire (15) relié par son entrée à la sortie de l'additionneur et par sa sortie à la deuxième entrée de l'additionneur pour délivrer le troisième signal.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR8916297A FR2655792B1 (fr) | 1989-12-08 | 1989-12-08 | Filtre recursif numerique temporel. |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR8916297A FR2655792B1 (fr) | 1989-12-08 | 1989-12-08 | Filtre recursif numerique temporel. |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| FR2655792A1 true FR2655792A1 (fr) | 1991-06-14 |
| FR2655792B1 FR2655792B1 (fr) | 1995-08-11 |
Family
ID=9388321
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| FR8916297A Expired - Lifetime FR2655792B1 (fr) | 1989-12-08 | 1989-12-08 | Filtre recursif numerique temporel. |
Country Status (1)
| Country | Link |
|---|---|
| FR (1) | FR2655792B1 (fr) |
Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2023365A (en) * | 1978-06-19 | 1979-12-28 | Cbs Inc | Method and apparatus for eliminating deadband in digital recursive filters |
-
1989
- 1989-12-08 FR FR8916297A patent/FR2655792B1/fr not_active Expired - Lifetime
Patent Citations (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2023365A (en) * | 1978-06-19 | 1979-12-28 | Cbs Inc | Method and apparatus for eliminating deadband in digital recursive filters |
Non-Patent Citations (2)
| Title |
|---|
| MEDICAL PHYSICS, vol. 14, no. 3, mai/juin 1987, pages 330-334, Am. Assoc. Phys. Med., New York, US; S. NAIMUDDIN et al.: "Scatter-glare correction using a convolution algorithm with variable weighting" * |
| PROCEEDINGS OF THE I.E.E.-G, vol. 127, no. 2, avril 1980, pages 52-56, Stevenage, GB; T.J. DENNIS: "Nonlinear temporal filter for television picture noise reduction" * |
Also Published As
| Publication number | Publication date |
|---|---|
| FR2655792B1 (fr) | 1995-08-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0142439B1 (fr) | Procédé de compression d'une succession d'informations numériques, et dispositif mettant en oeuvre ce procédé | |
| EP0751483B1 (fr) | Procédé de filtrage temporel du bruit dans une image d'une séquence d'images numériques et dispositif mettant en oeuvre ce procédé | |
| FR2528691A1 (fr) | Procede et dispositif pour le traitement d'images radioscopiques | |
| EP0204603A1 (fr) | Circuit de calcul rapide de la transformée en cosinus, directe ou inverse, d'un signal discret | |
| EP0014151A1 (fr) | Procédé de traitement des échantillons successifs de signaux et filtre numérique pour la mise en oeuvre du procédé | |
| EP0511095A1 (fr) | Procédé et dispositif de codage-décodage d'un signal numérique | |
| EP0847626B1 (fr) | Dispositif de traitement numerique d'un signal analogique devant etre restitue sous forme analogique | |
| EP0350121A1 (fr) | Circuit intégré et dispositif de traitement d'images | |
| EP0055655A2 (fr) | Dispositif et procédé pour visualiser un corps éclairé par une source de radiations réglable | |
| EP0147305B1 (fr) | Dispositif de discrimination d'échos radar | |
| FR2655792A1 (fr) | Filtre recursif numerique temporel. | |
| FR2485297A1 (fr) | Dispositif de codage a interpolation | |
| FR2613559A1 (fr) | Appareil de modulation par impulsions codees differentielle et son procede de fonctionnement | |
| FR2747528A1 (fr) | Structure de dispositif de banc de filtres numeriques et son procede de fonctionnement | |
| EP0585434B1 (fr) | Procede et dispositif de filtrage pour la reduction des preechos d'un signal audio-numerique | |
| FR2474722A1 (fr) | Dispositif de determination numerique de correlation d'images | |
| EP0242258A1 (fr) | Dispositif de mise en oeuvre d'un algorithme dit de LEROUX- GUEGUEN,pour le codage d'un signal par prédiction linéaire | |
| EP2135220B1 (fr) | Procede de correction de bruit spatial de capteur d'image par bornage des luminances | |
| FR2686471A1 (fr) | Procede d'elaboration d'une image matricielle avec filtrage de valeurs moyennes de lignes de pixels. | |
| EP0615374B1 (fr) | Procédé et dispositif de traitement d'écho entre deux voies de transmission présentant entre elles un couplage | |
| FR2485298A1 (fr) | Convertisseur analogique-numerique a interpolation | |
| EP0734013B1 (fr) | Determination d'un vecteur d'excitation dans un codeur CELP | |
| FR2751776A1 (fr) | Procede d'extraction de la frequence fondamentale d'un signal de parole | |
| FR2919145A1 (fr) | Procede et dispositif de detection de mouvement a double filtrage adaptatif | |
| FR2633415A1 (fr) | Dispositif de traitement de signal adaptatif et non lineaire |


