FR2556902A1 - Procede et dispositif de filtrage de rang determine d'un signal numerique et application au filtrage median bidimensionnel separable - Google Patents

Procede et dispositif de filtrage de rang determine d'un signal numerique et application au filtrage median bidimensionnel separable Download PDF

Info

Publication number
FR2556902A1
FR2556902A1 FR8320195A FR8320195A FR2556902A1 FR 2556902 A1 FR2556902 A1 FR 2556902A1 FR 8320195 A FR8320195 A FR 8320195A FR 8320195 A FR8320195 A FR 8320195A FR 2556902 A1 FR2556902 A1 FR 2556902A1
Authority
FR
France
Prior art keywords
values
input
equal
sep
signal
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.)
Withdrawn
Application number
FR8320195A
Other languages
English (en)
Inventor
Jean-Jacques Bardyn
Siv-Cheng Tan
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thomson CSF SA
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Thomson CSF SA filed Critical Thomson CSF SA
Priority to FR8320195A priority Critical patent/FR2556902A1/fr
Publication of FR2556902A1 publication Critical patent/FR2556902A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03HIMPEDANCE NETWORKS, e.g. RESONANT CIRCUITS; RESONATORS
    • H03H17/00Networks using digital techniques
    • H03H17/02Frequency selective networks
    • H03H17/0248Filters characterised by a particular frequency response or filtering method
    • H03H17/0261Non linear filters
    • H03H17/0263Rank order filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration using local operators

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Nonlinear Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)

Abstract

LE PROCEDE COMPREND DES OPERATIONS DE TRI ITERATIVES DANS UN ENSEMBLE DE VALEURS QUE PREND LE SIGNAL A FILTRER DE DIMENSION LIMITEE OU ORDRE DE FILTRAGE K, ET SELECTION A CHAQUE PAS D'ITERATION DE LA VALEUR D'UN RANG DONNE, LA VALEUR MEDIANE ETANT UN CAS PARTICULIER. SELON L'INVENTION, CHAQUE OPERATION DE TRI COMPREND UNE PREMIERE PHASE PENDANT LAQUELLE LA VALEUR (FILTRAGE UNIDIMENSIONNEL) LA PLUS ANCIENNE OU K VALEURS LES PLUS ANCIENNES (FILTRAGE BIDIMENSIONNEL) SONT EXTRAITES DUDIT ENSEMBLE; ET UNE SECONDE PHASE PENDANT LAQUELLE UN MEME NOMBRE DE NOUVELLES VALEURS SONT REINTRODUITES DE FACON ORDONNEE. LE DISPOSITIF COMPREND UNE PREMIERE MEMOIRE M, UN MULTIPLEXEUR M ET UN OPERATEUR DE TRI OT COMPOSE DE CELLULES C A C CONNECTEES EN CASCADE ORDONNEE, TOUTES IDENTIQUES: K CELLULES POUR LE FILTRAGE UNIDIRECTIONNEL ET K CELLULES POUR LE FILTRAGE BIDIMENSIONNEL CLASSIQUE ET 2K CELLULES POUR LE FILTRAGE BIDIMENSIONNEL SEPARABLE.

Description

PROCEDE ET DISPOSITIF DE FILTRAGE DE RANG DETERMINE
D'UN SIGNAL NUMERIQUE ET APPLICATION AU FILTRAGE MEDIAN
BIDIMENSIONNEL SEPARABLE.
La présente invention concerne un procédé de filtrage de rang déterminé, notamment de filtrage médian, d'un signal numérique et un dispositif de mise en oeuvre de ce procédé.
Le filtrage de rang déterminé, référencé arbitrairement r dans ce qui suit, est une technique non linéaire de traitement de signal. Il consiste à trier un nombre de valeurs définies parmi toutes les valeurs successivement prises par un signal évolutif.
Dans le cas d'un signal unidimensionnel le filtrage de rang r d'ordre
K = 2h + 1, où K, h et r sont des nombres entiers, avec K b r peut être défini mathématiquement comme suit:
Si (ai) désigne la valeur échantillonnée d'un signal, i étant un indice arbitraire, on considère An = raz-h > "' > an+h3 s avec n indice arbitraire, et on a défini le filtrage de rang (r), noté F, par: F ((an = (bn) où (bn) est la valeur de rang (r) dans l'ensemble ordonné des valeurs An
Dans le cas où r = h + 1, le filtrage correspondant est dit "médian".
Dans ce qui suit, pour fixer les idées, les cas particuliers décrits correspondent au filtrage médian.
Cette dernière technique, appliquée en premier lieu au traitement de signaux unidimensionnels, a été également appliquée au traitement de signaux bidimensionnels et, en particulier, elle est largement utilisée dans le traitement de signaux d'images, par exemple des signaux de type vidéo.
A la différence des méthodes de filtrage de type linéaire, le filtrage médian a la propriété intéressante de "lisser" les signaux de bruit entachant l'image sans pour autant rendre flous les contours de type "escalier".
De façon conventionnelle pour le traitement de signaux d'images, celles-ci sont divisées en lignes et colonnes et à chaque intersection des pels : P.. sont définis ; i et j représentant les rangs des lignes et colonnes.
li
Les valeurs associées à ces pels Pij peuvent, par exemple, représenter des intensités lumineuses.
De façon conventionnelle également, en traitement bidimensionnel de signaux d'images, une "fenêtre" carrée de K x K valeurs est utilisée pour le filtrage médian d'ordre K. L'image filtrée est obtenue en considérant pour chaque pel P-. les valeurs médianes des intensités des pels de l'image
li initiale, c'est-à-dire avant filtrage, contenus dans le voisinage carré (K x K) centré sur le pel Pij.
Le plus souvent le filtrage du type qui vient d'être rappelé est effectué en ayant recours à des calculateurs et les tris et sélections impliqués par ce filtrage sont réalisés par la mise en oeuvre de programmes spécialisés. De façon plus spécifique, des calculateurs d'architectures de type parallèle ou cellulaire sont particulièrement adaptés pour ce type de traitement.
Cette solution présente cependant l'inconvénient de toute solution de type logiciel pur, c'est-à#dire une certaine lenteur même si cet inconvénient peut être atténué par le recours à des traitements de type parallèle.
Il a été également proposé de "traduire" les suites d'opérations effectuées par un calculateur sous la forme d'une solution cablée, c'est-àdire en recourant à des réseaux de modules élémentaires spécialisés de traitement de signaux.
Cette solution suppose que l'accès aux données à filtrer s'effectue en parallèle.
Il existe cependant des programmes de traitement de données effec luant un filtrage médian de type série, cependant l'expérience a montré qu'ils n'étaient pas optimisés pour le filtrage médian et leur "traduction" sous forme cablée conduit à une redondance dans le matériel utilisé.
L'invention se fixe pour but de pallier aux dlficultés et inconvénients de l'art connu.
L'invention propose un procédé de filtrage médian autorisant l'utilisation de circuits de traitement de signaux simples, modulaires et cascadables, réalisables sous la forme de circuits semiconducteurs intégrés à haute densité et ne présentant pas de redondance de matériel. En outre l'accroissement de l'ordre de filtrage K unidimensionnel ne se traduit pas par une augmentation du temps de traitement.
Enfin, ce procédé est comptatible avec le filtrage médian de type unidimensionnel et le filtrage de type bidimensionnel, ainsi qu'avec un filtrage médian de type bidimensionnel simplifié qui sera détaillé ultérieurement.
L'invention a donc pour objet un procédé de filtrage de rang déterminé d'un signal numérique constitué d'une suite de valeurs pondérées à filtrer se présentant selon une séquence temporelle comprenant, de façon itérative, la sélection d'un premier nombre déterminé de valeurs de la séquence, le tri de ces valeurs de manière à obtenir une suite de valeurs ordonnées selon leurs poids et la sélection de la valeur de rang déterminé des valeurs ainsi triées, caractérisé en ce qu'il comprend, pour chaque itération, dans l'ordre, une première phase pendant laquelle des valeurs les plus- anciennes, en nombre égal à un second nombre déterminé inférieur au premier, sont extraites de la sélection de valeurs ordonnées, les valeurs restantes étant conservées ordonnées selon leur poids et une seconde phase pendant laquelle de nouvelles valeurs à filtrer sont introduites parmi les valeurs restantes, selon les ordres respectifs des poids des nouvelles valeurs et des valeurs restantes, en nombre égal audit second nombre prédéterminé, de manière à obtenir une nouvelle suite de valeurs ordonnées en nombre égal audit premier nombre déterminé; et en ce que une nouvelle valeur de rang déterminé du signal numérique à filtrer est obtenu en sélectionnant, à l'issue de la seconde phase, la valeur de ce rang déterminé de la nouvelle suite de valeurs ordonnées.
L'invention a encore pour objet un dispositif de mise en oeuvre d'un tel procédé.
L'invention a enfin pour objet un appareil de filtrage médian de type bidimensionnel séparable utilisant de tel disposition.
L'invention sera mieux comprise et d'autres particularités et avantages apparaitront à la lecture de la description qui suit et des figures annexées et parmi lesquelles:
- les figures 1 et 2 représentent un exemple de modules de traitrement de signaux utilisés dans des circuits de filtrage médian selon l'Art Connu;
- les figures 3 et 4 représentent schématiquement un opérateur de tri utilisé dans le dispositif selon l'invention ;
- la figure 5 représente schématiquement un dispositif complet de filtrage médian de signaux unidimensionnel selon l'invention,
- la figure 6 représente l'architecture détaillée d'une des cellules de l'opérateur de tri représenté sur les figures 3 et 4 ;
- la figure 7 est un tableau illustrant un point particulier du procédé de l'invention dans le cadre du filtrage médian de signaux bidimensionnels;;
- la figure 8 illustre schématiquement un dispositif de réalisation un tel filtrage
- la figure 9 illustre schématiquement un dispositif de filtrage médian modifié de signaux bidimensionnels.
La figure l représente un module élémentaire de tri pouvant être utilisé dans un circuit de filtrage médian selon l'Art Connu.
Le module M comporte deux entrées auxquelles sont transmis deux signaux al et a2 à trier. Le critère de tri est la valeur, c'estadire le poids binaire de chaque signal.
Le module M comporte également deux sorties, une sortie Sl sur laquelle est disponible un signal awl représentant le signal d'entrée de plus faible poids et une sortie S2 sur laquelle est disponible un signal a'2 représentant le signal d'entrée de plus fort poids.
On peut constater aisément que si le nombre de valeurs à trier croit, la complexité de la structure du circuit effectuant ce tri ne croit pas linéairement, mais de manière plus rapide.
A titre d'exemple, la figure 2 illustre un circuit de tri de quatre valeurs de signaux a1, à a4. Le nombre de modules, repérés M1 à M5 mais identiques au module M de la figure 1, est égal à cinq alors que le nombre de valeurs à trier n'est que le double de celles à trier par le dispositif de la figure 1.
Les entrées E11 à E22 des modules Ml et M2 reçoivent les signaux à trier al à a4. Les sorties Sll et 522 sont reliées aux entrées E13 et E24 des modules M3 et M4. Les liaisons entre les sorties S21 et 512 des modules M1 et M2, et les entrées E23 et E14, des modules M3 et M4 sont croisées.
Un module supplémentaire M5 trie les signaux des sorties S23 (module
M3) et S14 (module M4). Les signaux a'l à a'4 disponibles sur les sorties S13 (module M3), S15 et S25 (module M5), et S24 (module M5) représentent les valeurs ordonnées a'l -à a'4 suivant un poids croissant des signaux d'entrée al, à a4.
La structure qui vient d'être rappelée est du type décrit dans l'article de BATCHER paru dans "AFIPS Proc. Spring Joint Computer Conference", volume 32, avril 1968, page 307-314.
Le procédé de l'invention qui va maintenant être décrit permet la mise en oeuvre de circuits, ne présentant pas ces inconvénients. En outre, il permet d'optimiser les opérations de tri.
En effet, si l'on considère un filtrage médian d'ordre K = (2h + 1), avec
K et h des nombres entiers, comme il a été rappelé; le signal filtré b n est la valeur médiane des valeurs de signaux à filtrer présentés séquentiellement d'un ensemble de valeurs de dimension K: An =
On peut constater que si An est trié, c'est à dire ordonné pour trouver une valeur bn, il suffit de retirer de cet ensemble la valeur la plus ancienne et h et d'insérer dans un nouvel ensemble de valeurs An+l, de dimension K a n-h également, une nouvelle valeur à trier an+h+l, dans le bon ordre, pour obtenir une nouvelle valeur de signal filtré bn+l. Une récuparation au moins partielle, du travail de tri effectué antérieurement est donc possible.
Le procédé selon l'invention tire partie de cette constation.
Le procédé selon l'invention va maintenant être explicité à partir de la description d'un opérateur de tri OT, illustré schématiquement par la figure 3, opérateur de tri constituant un des éléments essentiels du dispositif de filtrage médian selon l'invention.
Cet opérateur comprend essentiellement des cellules, C1 à CK, toutes identiques, disposées en cascade de façon linéaire et en nombre égal au nombre K précédemment défini, ou ordre du filtrage médian. La structure de ces cellules sera décrite de façon détaillée ultérieurement en relation avec la figure 6.
Toutes les cellules sont connectées à une liaison d'entrée de type bus
BE. S'agissant de signaux numériques, il est bien entendu que ce bus BE comprend un nombre de liaisons égal au nombre d'éléments binaires ou bits des signaux véhiculés par celui-ci. Le nombre de bits dépend de la précision souhaitée dans le traitement de signal. Typiquement, le nombre de bits est 8 ou 12.
Les signaux véhiculés par le bus d'entrée BE sont distribués en parallèle à toutes les cellules Cl à CK.
Ces cellules sont également connectées à un bus de sortie BS.
Cependant, comme il sera décrit ultérieurement, ce bus servant à extraire la valeur médiane, il est prévu un moyen de sélection de l'une des cellules, à savoir la cellule de rang (h + 1), K étant égal à 2h + 1.
Enfin, toutes les cellules sont reliées entre elles par des bus locaux de liaison bidirectionnelles BL1,2 à BLK,K+l. En outre deux bus supplémentaires Bu0,1, d'une part, et BL, d'autre part, assurent des liaisons avec l'extérieur, en entrée et en sortie.
Cette architecture, très régulière, est parfaitement adaptée à une réalisation modulaire sous la forme de circuits semiconducteurs à haute densité d'intégration ou "VLSI" selon la terminologie anglo-saxonne.
Le fonctionnement de chacune des cellules va être explicité à l'aide de la figure 4 qui illustre de façon schématique leurs structure.
Chaque cellule Ci, i, étant le rang de la cellule, comprend essentiellement un registre RCi destiné à emmagasiner une des valeurs à trier parmi K et un comparateur K.. Chaque cellule fonctionne selon deux modes qui correspondent à deux phases différentes dans le processus de tri.
Plus précisément, les cellules ont un fonctionnement de type synchrone et reçoivent à cet effet un signal d'horloge de type impulsionnel SHI véhiculé par une liaison commune Hl.
Pendant un premier cycle du signal d'horloge, les cellules sont positionnées dans un premier mode de fonctionnement et au cycle suivant elles sont positionnées dans un second mode de fonctionnement. Pour ce faire, un signal SMOD de commande de mode est transmis à toutes les cellules par une liaison MOD. Les deux cycles se répètent ensuite régulièrement.
On admet par convention que les indices associés aux cellules sont ordonnés dans un ordre croissant, ctest-àZire que la cellule C. 1 à un rang plus élevé que celui de la cellule Ci.
En outre les signaux après tri, en régime établi, sont enregistrés par ordre décroissant de poids dans les registres RCI à RCK des cellules Cl à CK.
Dans le premier mode de fonctionnement, une valeur de signal à trier transmise en parallèle à toutes les cellules par le bus d'entrée, BE, et en particulier à la cellule C. de rang i, est comparée avec la valeur de signal précédemment enregistrée dans le registre RCi de cette cellule Ci.
Si le signal présent sur le bus d'entrée BE a un poids plus grand ou égal à celui du signal enregistré dans le registre RCi, le signal enregistré dans la cellule de rang immédiatement plus élevé Ci + l est décalé d'une position vers les cellules de rangs inférieurs, c'est-à-dire, par le bus BLi,i+î# vers la cellule Ci et enregistré dans le registre RCi de cette cellule.
D'après la convention adoptée, et en partant de l'hypothèse du fonctionnement en régime établi pour lequel les signaux enregistrés ont été triés et ordonnés de manière décroissante si le signal présent sur le bus d'entrée
BE est de poids plus fort ou égal à celui du signal enregistré dans le registre
RCi, cela signifie que cette clause est également vraie pour tous les signaux enregistrés dans les cellules de rang supérieur à celui de la cellule Ciç Il s'ensuit que toutes les valeurs de signal mémorisées dans ces registres RCi à
RCK vont subir également un décalage d'une position. Le décalage a lieu, de façon pratique lors d'une transition déterminée du signal d'horloge SHI de manière à ce que les décalages soient réalisés avant le début du cycle d'horloge suivant pendant lequel les cellules fonctionnent selon un second mode.
Dans le cas contraire, pour lequel le signal enregistré dans le registre
RCi a un poids plus fort que celui transmis par le bus d'entrée BE, il n'y a pas de décalage. La valeur de signal enregistrée dans le registre RCi reste donc mémorisée dans ce registre.
Dans le second mode de fonctionnement, la même comparaison est effectuée. Si le signal véhiculé par le bus d'entrée BE présente un poids plus fort ou égal à celui du signal enregistré, une comparaison supplémentaire est effectuée entre le signal enregistrée dans le registre RCi 1 de la cellule Ci l de rang immédiatement inférieur, transmis par le bus local BLi#i,i et le signal transmis par le bus d'entrée BE. La valeur de plus faible poids est sélectionné et enregistré dans le registre RCi. Il y a donc, soit un décalage d'une position, vers la droite sur la figure 4, c'est à dire vers la cellule Ci de rang immédiatement plus élevée, pour la valeur de signal dans le registre RCi 1' soit une substitution à la valeur du signal précédemment mémorisée dans le registre RCi
Dans le cas contraire, il n'y a aucun transfert ni substitution.
Comme dans le premier mode, il y a en réalité un décalage général de tous les signaux de poids inférieur à celui du signal présent sur le bus d'entrée BE mais en sens inverse; ce décalage ayant lieu également lors d'une transition déterminée du signal d'horloge.
A la suite de cette opération, la valeur du signal présente sur le bus d'entrée se trouve donc insérée parmi les (K-l) autres signaux à une place convenable en fonction de son poids, c'est à dire selon un rang attribué aux cellules.
A la fin du cycle pendant lequel la cellule est positionnée au second mode de fonctionnement, il suffit de sélectionner et de lire le contenu de la cellule de rang (h+ 1) pour obtenir la nouvelle valeur médiane bn+l des valeurs de signaux à filtrer mémorisées dans les registres RCI à RCK en nombre égale à K.
Le dispositif de filtrage médian fonctionnant selon le procédé de l'invention comprend donc comme élément essentiel l'opérateur de tri OT composé de cellules Cl à CK à deux modes de fonctionnement comme il vient d'être décrit.
La figure 5 illustre schématiquement la structure du dispositif complet de filtrage médian DFM selon l'invention.
Outre l'opérateur de tri OT, pour lequel il n'a été représenté, pour des raisons de simplification, que trois cellules Cl à C3, le dispositif comporte également un multiplexeur MX à deux entrées, un premier organe de mémoire M1 comprenant trois positions de mémoires constituée chacune par un registre R1 à R3 et un second organe de mémoire M2 à une position de mémoire : registre Ra
Il doit être bien entendu, comme il a été indiqué, qu'une position de mémoire correspond à un mot binaire généralement composé de plusieurs bits, huit bits par exemple qui se décalent en parallèle d'un registre à l'autre.
Les registres Ra, R1 à R3, et de façon plus générale R1à RK, sont connectés en cascade et fonctionnent comme une mémoire à décalage. A cette fin, les mémoires M1 et M2 sont reliées à une liaison H2 véhiculant un signal d'horloge SH, de fréquence moitiée de celle du signal d'horloge SH1, les deux signaux étant synchronisés l'un sur l'autre. Un moyen simple d'obtenir un tel signal est d'utiliser un diviseur de fréquence DF, diviseur par deux de la fréquence du signal SH, transmis par la liaison Hl. Ce dernier signal est généré par tout moyen approprié de l'art connu.
Le dispositif de filtrage médian reçoit sur une entrée E reliée à l'entrée de la seconde mémoire M2, de façon séquentielle, les valeurs de signaux à filtrer et les enregistre une à une dans le registre Ra à chaque cycle du signal d'horloge 3H2 La sortie de la mémoire M2 est connectée, d'une part, à l'entrée de la mémoire Ml, c'est à dire à l'entrée du registre
R1, et, d'autre part, à l'une des deux entrées du multiplexeur MX. L'autre entrée de ce multiplexeur MX est connectée à la sortie de la mémoire M1 et sa sortie est connectée au bus d'entrée BE de l'opérateur de tri OT.
Enfin, le bus local de liaison bidimensionnelles BL01 est relié à cette même sortie, de façon à pouvoir transmettre le signal présent sur le bus d'entrée au registre RC1 et le bus local de liaisons bidirectionnelles BL34 est relié à un potentiel correspondant à un zéro logique, c'est à dire généralement au potentiel zéro. De façon conventionnelle, ce potentiel zéro représente un poids nul destiné à représenter une valeur zéro du signal enregistré dans le registre RC3, lors des décalages réalisées lorsque les cellules sont positionnées dans leur premier mode de fonctionnement des cellules C1 à C3.
Le fonctionnement du dispositif complet selon le procédé de l'invention va maintenant être explicité.
On note an une nouvelle valeur de rang arbitraire que prend un signal unidimensionnel, valeur du signal transmis à l'entrée E du dispositif DFM et enregistrée dans le registre Ra de la mémoire M2 a un instant arbitraire.
On suppose que le dispositif fonctionne en régime établi. Les registres
RC1 à RC3 mémorisent, ordonnées par ordre décroissant, trois valeurs de signaux à filtrer: an~1, an~2 et an~3 qui avaient été précédemment transmises au dispositif DFM t an 3 étant la plus ancienne et an1 la récente de ces valeurs.
Ces trois valeurs ont également été transmises pendant des périodes de temps précédentes, et par ordre d'arrivée, à la mémoire Ml. La configuration logique des valeurs de signaux enregistrés dans les registres
R1 à R3 représente donc l'image de cet ordre d'arrivée des différentes valeurs an 3 an 2' an 1; valeurs enregistrées respectivement dans les registres R3, R2 et R1.
La caractéristique de base du procédé de l'invention est d'enregistrer, triées par ordre décroissant les (K = 2h+l) valeurs à filtrer, an 3 à an l dans l'exemple illustré. Pour obtenir la valeur médiane, il suffit alors de sélectionner, comme il a été rappelé le registre d'ordre (h+l) et d'en lire le contenu pour obtenir la valeur médiane, bn, c'est à dire le registre RC2 dans l'exemple illustré.
Selon une autre caractéristique importante, une partie du travail de tri précédemment effectué est conservé à chaque cycle. Pour ce faire, on extrait la plus ancienne des valeurs enregistrées, c'est à dire an 3 dans l'exemple illustré, et on la remplace par une nouvelle valeur, an, présente dans le registre Ra, qui doit être insérée à une place convenable en accord avec son poids et le poids des autres valeurs enregistrées. A la suite de ces deux opérations, la nouvelle valeur médiane est de nouveau lue en sélectionnant le registre de rang (h+l) comme précédemment. A chaque cycle de tri (K-l) valeurs triées et ordonnées sont donc conservées.
L'opération de retrait est simplement effectuée en positionnant les cellules dans leur premier mode de fonctionnement.
On ne connait pas la place de la valeur de signal la plus ancienne an 3' Ccxf elle a été triée et ordonnée selon son poids. Cependant les comparaisons et décalages simultanés effectués pendant le cycle de fonctionnement dans le premier mode permettent l'élimination automatique du signal enregistré dont le poids est égal à celui du signal présent sur le bus d'entrée.Il suffit donc de transmettre sur le bus d'entrée BE le signal le plus ancien, an 3 dans l'exemple illustré, valeur du signal présente dans le registre R3 de la mémoire Ml. Lorsque les cellules C1 à C3 sont positionnées dans leur premier mode de fonctionnement, le multiplexeur Mx qui reçoit les signaux d'horloge SH1 par la liaison H de fréquence double de celle des signaux reçus par les mémoires à décalage, M1 et M2, lit et transmet sur sa sortie, pendant cette phase de fonctionnement, la valeur du signal mémorisée dans le registre R3, c'est à dire an 3 qui se trouve donc éliminé, par le jeu des décalages-enregistrements, du registre RCi dans lequel elle était mémori sée; i étant compris entre 1 et 3 dans l'exemple illustré et de façon plus
générale entre 1 et K, bornes comprises. Pendant cette période, la dernière
cellule, C3, enregistre la valeur zéro. Au cycle d'horloge suivant, les cellules
Cl à C3 sont positionnées dans leur second mode de fonctionnement. Les
valeurs de signaux mémorisées dans les registres Ra et R1 à R n restent
inchangées, ces registres recevant des signaux d'horloge SH2 de fréquence
moitié par la liaison H2.
Il s'ensuit que le multiplexeur MX, transmet au bus d'entrée BE,
pendant ce cycle, le contenu du registre Ra, c'est à dire la nouvelle valeur
an à filtrer.
Par le jeu des décalages qui ont été précédemment décrits en relation
avec la figure 4, cette nouvelle valeur an est précisémment insérée et
enregistrée à la place correspondant à son poids.
Il suffit donc pour obtenir la nouvelle valeur médiane bn+l de l'ensemble An+î = tan, an+l, a an+2} de sélectionner à nouveau la cellule
C2, et de façon plus générale la cellule de rang (h+l) pour un filtrage médian
d'ordre K = 2h+1.
Un organe RS effectue cette sélection, c'est à dire l'adressage de la
cellule de rang (h+l), et transmet sur la sortie générale S du dispositif DFM,
la nouvelle valeur médiane bon+1.
Le tableau I disposé en fin de la présente description illustre de façon !us concrète, à titre d'exemple, la marche des opérations pour un filtrage
médian d'ordre 3 de la séquence arbitraire des valeurs suivantes, par ordre
d'arrivée: 5, 10, 7, 8, 3, 1.
Les conventions suivantes ont été adoptées:
.NS :abréviation de non significatif car le régime permanent n'est pas
établi ; il est nécessaire de laisser s'écouler 2K cycles d'horloge
les chiffres dans la colonne H représentent les cycles d'horloges à
partir de l'instant "0" instant d'initialisation notamment des organes mé
moires à la valeur "0" logique.
dans les autres colonnes et lignes, sont portées les valeurs présentes
dans les registres, sur les bus ou sur la sortie S tels que référencés sur la
figure 5.
des flèches indiquent les différents décalages de données entre registres.
Un exemple de réalisation concrète d'une cellule Ci utilisable dans le dispositif de filtrage médian selon l'invention va maintenant être décrit de façon détaillée en relation avec la figure 6.
Selon une variante préférée, le traitement des signaux et la mémorisation de ceuxci s'effectuent en parallèle, mais un traitement série est également envisageable quoique plus lent. En conséquence, les liaisons internes ou intercellules s'effectuent, dans l'exemple décrit, à l'aide de bus de liaisons multiconducteurs, un conducteur par bit des mots binaires représentant les valeurs des signaux à filtrer.
Chaque cellule Ci comprend un registre RCi muni d'une sortie de type parallèle connectée à un bus de sortie interne BSi, d'une entrée de type parallèle et d'une entrée d'horloge recevant par une liaison série HRi des signaux d'horloge conditionnés, signaux destinés à autoriser le chargement et la mémorisation des signaux présents en entrée du registre. Les signaux de sortie sont disponibles en permanence sur la sortie pour lecture.
Un multiplexeur MXi à trois entrées de type parallèle et à sortie de type également parallèle connectée, par un bus interne BXi, à l'entrée du registre RCi, reçoit sur sa première entrée, via un premier bus interne d'entrée BEil, les signaux enregistrés dans la cellule de rang (i-l), c'est à dire la cellule amont; sur sa deuxième entrée, via un deuxième bus interne d'entrée BEi2, les signaux enregistrés dans la cellule de rang (i+l), c'est à dire la cellule aval; et sur sa troisième entrée, via un troisième bus interne d'entrée BEi3, les signaux véhiculés par le bus d'entrée BE de l'opérateur de tri (figure 5: OT), bus commun à toutes les cellules.Une entrée de commande reçoit des signaux de commande véhiculés par un bus interne de commande SCi. Ces signaux, à trois états distincts, déterminent une liaison sélective parmi trois possible entre le bus de sortie BXi et les trois bus d'entrée BEil à BEi3.
Les réunions des bus BSi, BEil et BEi2 forment les bus locaux de liaisons bidirectionnelles BLî4,i et BLi,i+î respectivement. Chaque cellule
C. comprend également un comparateur K. qui, en réalité, est redoublé en un premier élément Kil, à deux entrées de type parallèle, effectuant des comparaisons entre les mots binaires présents sur le bus BE, d'une part, et le bus interne BSi, d'autre part, c'est à dire le mot enregistré dans le registre RCi ~ et un second élément Ksi2, également à deux entrées de type parallèle, effectuant des comparaisons entre les mots binaires présents sur le bus d'entrée BE et le premier bus interne d'entrée BEil~ Des bus internes d'entrée BEi4 et BEi5 relient le bus d'entrée à des premières entrée des éléments comparateurs Kil et Ki2, les secondes entrées étant reliées aux bus
BSi et BEil, respectivement.
Chaque élément comparateur génère un signal binaire dont un état logique, par exemple l'état "1", indique que les valeurs des signaux présents sur les premières entrées sont plus grandes ou égales à celles des signaux présents sur les secondes entrées, ou comparaison "positive"; et l'autre état logique, par exemple l'état "0", la condition contraire ou comparaison "négative".
Ces deux sorties sont reliées par des liaisons simples, LKil et Lui2, à deux entrées d'un circuit logique de sélection LSi. Ce circuit reçoit, véhiculé par une liaison simple MODi un signal de commande de mode SMOD véhiculé par la liaison commune MOD à toutes les cellules.
Ce signal prend deux états logiques un premier état logique, par exemple l'état "1", indique que la cellule C. doit fonctionner selon son premier mode et le second état logique, état "0", qu'elle doit fonctionner selon le second mode.
Dans le premier mode de fonctionnement, seul le signal de sortie de l'élément comparateur Kil doit être pris en compte.
Le circuit logique de sélection LSi est relié au bus SC. et génère sur celui-ci des signaux de commande du multiplexeur tels qu'une connexion est établie entre les bus BX. et BE.
i i2
En outre un signal binaire de commande supplémentaire est généré et transmis par ce même bus de commande SCi à une première entrée d'une porte logique ETi de type "ET" à deux entrées. La seconde entrée reçoit, via une liaison interne simple Hi les signaux d'horloge SH1 véhiculés par la liaison H1 commune à toutes les cellules. La sortie de la porte ETi est reliée à l'entrée d'horloge du registre RCi par la liaison HRi.
En fonction du résultat de la comparaison, c'est à dire du signal binaire supplémentaire, les signaux d'horloge sont transmis ou non par la porte ETi au registre RCi.
Si la comparaison est négative, le signal de commande supplémentaire prend la valeur "0 logique" et le mot binaire présent sur la sortie du multiplexeur MXi n'est pas chargé dans le registre RCi à la place du mot précédemment mémorisé.
Dans le cas contraire, le signal de commande supplémentaire prend la valeur "l logique"; les signaux d'horloge sont transmis au registre RCi et le mot binaire en sortie du multiplexeur MX. charge dans le registre RC. . Vue
I I la liaison établie à l'intérieur du multiplexeur, il s'agit dans le premier mode de fonctionnement du mot mémorisé dans le registre de la cellule aval de rang (i+l).
Dans le second mode de fonctionnement, l'état des deux signaux de sortie générés par les éléments comparateurs Kil et Ki2 résultats des comparaisons doivent être pris en compte.
Trois cas sont à considérer.
Le premier cas est une comparaison "négative" indiquée par ltélément comparater Kil, c'est à dire que la condition: "valeur du signal présent sur le bus BE plus grande que celle du signal mémorisé dans le registre RCi" n'est pas réalisée. Dans ce cas, comme pour le premier mode, le signal de commande supplémentaire est à l'état "0 logique". Les signaux d'horloge ne sont pas transmis au registre RCi et le mot binaire mémorisé dans ce registre est conservé.
Les deuxième et troisième cas correspondent à une comparaison "positive" indiquée par le signal de sortie du premier comparateurt Kil
Il faut alors déterminer qu'elle est la plus petite des valeurs prises par les signaux présents sur le bus d'entrée BE, d'une part, et le bus interne d'entrée BEi, d'autre part.
Les deux états logiques "0" et "1" que prend le signal de sortie du second éléments comparateur K12 correspondent à ces deux derniers cas.
Un premier état logique, état "1" par exemple, indique que le signal présent sur le bus BE est plus grand que le signal présent sur le bus BEil, c'est à dire le signal mémorisé dans la cellule amont de rang (i-l).
Dans ce cas, le signal de commande transmis au multiplexeur MXi par le bus SCi est tel qu'une liaison entre les bus BEil et BX. est établie. En outre le signal de commande supplémentaire est à l'état "1 logique" de sorte que les signaux d'horloge sont transmis au registre RC. et le mot transmis par le multiplexeur MXi chargé dans celui-ci, c'est à dire le mot mémorisé dans la cellule amont de rang (C-l).
Le troisième cas correspond à une comparaison "négative" indiquée par le second élément comparateur Ksi2: signal de sortie au "zéro logique'. Les signaux de commande transmis par le bus SCi positionne le multiplexeur MX.
pour établir une liaison entre les bus BEi3 et BXi Le signal de commande supplémentaire est à l'état "1 logique" comme précédemment. Le mot présent sur le bus BEi3, c'est à dire sur le bus d'entrée BE, est chargé dans le registre RCi
Il peut donc être constaté que les diverses opérations des premier et second modes de fonctionnement des cellules peuvent être effectuées simplement par la structure qui vient d'être décrite.
Pour transmettre vers l'extérieur l'information enregistrée, il convient de relier le bus interne de sortie BSi au bus de sortie BS commun aux cellules à l'aide d'un organe d'interface Ai, en général du type amplificat#ur.
En réalité, le bus de sortie comprend un bus unidirectionnel BSD de transmission de données relié à la sortie de l'organe d'interface Ai et un bus unidirectionnel de sélection BSA adressant une seule cellule, c?est-àZire celle de rang (h+l), selon la convention adoptée, de manière à transférer à c:,qde deux cycles d'horloge la nouvelle valeur médiane.
Si la configuration de l'opérateur de filtrage OT (fiv.5) est figée, c'està-dire l'ordre K du filtrage médian fixe, le bus d'adresse se réduit à une liaison simple transmettant un signal de commande, via une liaison interne
SELi, à une entrée d'autorisation de transfert ou de sélection dont doit être muni l'organe d'interface Ai.
Dans le cas contraire, s'il y a possibilité de reconfiguration du dispositif donc de l'opérateur de tri, celui est muni d'un circuit de décodage d'adresse recevant un mot d'adresse, chaque cellule étant associée à une adresse particulière parmi K adresses possibles. li faut également pouvoir modifier, par des circuits non représentés, la capacité de l'organe de mémoire Ml pour l'adapter à un nouvel ordre K de filtrage.
On peut également prévoir un conducteur de sélection par cellule, la liaison interne SELi représentée sur la figure 6 constituant la partie terminale de ce conducteur.
Dans tous les cas, les signaux de sélection d'une cellule particulière sont générés par l'organe RS (fig.5) qui assure également l'interface entre le bus de sortie BS et le milieu extérieur, cette dernière fonction peut être réalisée à l'aide d'amplificateurs.
Pour opérer une sélection de la cellule de rang médian en temps approprié, une synchronisation sur les signaux d'horloge sera en général nécessaire. Il en est de même pour les signaux de mode SMOD.
Les éléments constitutifs des cellules registres RCi, multiplexeurs
MXi, comparateur Kil et Ki2 et porte logique ETi peuvent être de tous types appropriés de l'Art Connu.
Il en est de même des circuits logiques de sélection LSi qui, bien que spécifiques au dispositif de l'invention, peuvent être réalisés en faisant appel à des portes logiques conventionnelles connectées entre elles pour fournir des signaux de commande du multiplexeur MXi à trois états dinstincts et un signal de commande supplémentaire à deux états transmis à la porte ETi, ce en fonction de l'état logique de trois signaux: signal de mode de fonctionnement et signaux de sortie des deux comparateurs Kil et Ksi2. Les fonctions logiques à réaliser ont été précédemment explicitées.
Si les cellules sont réalisées à base d'éléments discrets, ces éléments peuvent être d'ailleurs des circuits intégrés ou parties de circuits intégrés disponibles du commerce. Cependant, comme il a été rappelé, et conformément à un aspect avantageux de l'invention, les structures régulières, et des cellules et de l'opérateur de tri comprenant un nombre K de ces cellules, sont particulièrement adaptées à une intégration à grande échelle sur un substrat unique.
Pour fixer les idées, en utilisant des technologies rapides, par exemple une technologie à base de transistors de type "MOS" rapide, on peut obtenir des temps de traitement, c1est-àdire des temps correspondant à deux cycles d'horloge, de l'ordre de 100 ns.
Comme il a été précédemment rappelé, le procédé selon l'invention se prête également parfaitement à la réalisation d'un filtrage médian bidimensionnel.
Le filtrage s'effectue alors sur une "fenêtre" carrée de K x K valeurs de signaux à trier. Pour ce faire, on utilise dans l'opérateur de tri K x K cellules, soit K2 cellules, au lieu de K cellules pour un filtrage médian unidirectionnel, ces cellules étant cependant reliées en cascade comme précédemment.
Le déroulement des opérations est analogue à celui des opérations de tri dans le cadre d'un filtrage unidirectionnel. Le tri s'effectue comme précédemment en deux étapes. La différence majeure est que K nouvelles valeurs au lieu d'une sont à prendre en compte, c'est à dire à ordonner et à mémoriser pendant que les K valeurs les plus anciennes sont éliminées.
Il s'en suit naturellement que le dispositif est, tous autres paramètres restant constants, K fois plus lent qu'un dispositif de filtrage médian unidirectionnel.
Des signaux de type bidimensionnel présentent des valeurs dépendant de deux paramètres et pouvant être réparties en lignes et colonnes d'un tableau matriciel à deux dimensions, précisément en fonction de ces deux paramètres. C'est le cas notamment de signaux représentant une image, image que l'on peut subdiviser en zones toutes de surfaces égales, réparties en lignes et colonnes, auxquelles on associera dans ce qui suit les indices respectifs arbitraires i et j.
Si ai j sont les valeurs des signaux à trier et bi j les valeurs médianes après filtrage, le diagramme de la figure 7 représente les "fenêtres" K x K (avec K = 3 pour fixer les idées) de valeurs enregistrées dans l'opérateur de tri d'un dispositif bidimensionnel pendant deux cycles successifs d'horloges correspondant aux fenctionnements des cellules selon les premier et second modes de fonctionnement.
Dans l'exemple illustré (K = 3), les neufs valeurs présentes pendant le premier cycle d'horloge ont pour indices arbitraires i-l, i et i+l pour le paramètre i ; et j-l, j et j + 1 pour le paramètre j.
Pendant le second cycle d'horloge, les valeurs les plus anciennes ai 19 ai j l et aí+; j l sont à éliminer alors que trois nouvelles valeurs ai j+2 et a j+2 vont être introduites et insérées parmi les six valeurs restantes, selon leurs poids.
Un exemple de réalisation de dispositif de filtrage médian bidimensionnel DFM2D est illustré par la figure 8.
La structure générale du dispositif illustré est identique à celle du dispositif illustré par la figure 5 deux organes mémoires M2 et Ml, un multiplexeur MX', un diviseur de fréquence DF' et un opérateur de tri OT'.
Les différences essentielles résident dans le nombre de registres des mémoires, leurs interconnexions et le nombre de cellules de l'opérateur de tri, étant bien entendu que chaque cellule est identique à celles utilisées dans un opérateur de tri undimensionnel. Dans une variante préférée chaque cellule présente la structure qui vient d'être décrite en relation avec la figure 6.
La mémoire M2 comprend comme précédemment une seule position mémoire, à savoir un registre tampon, Ra recevant séquentiellement des mots binaires représentant chacun une valeur prise par les signaux à trier.
La structure de la mémoire M1 doit être telle qu'elle permet une répartition dans le bon ordre des valeurs à trier de la fenêtre de dimension
K x K. Pour ce faire, dans le cas illustré d'un filtrage médian d'ordre 3 x 3, trois registres de trois positions mémoires chacun sont prévus: R11 à R13, R21 à R23 et R31 à R33, formant chacun un registre à décalage au rythme de signaux d'horloge SH'2 véhiculés par une liaison H2 reliée à la sortie d'un diviseur de fréquence DF'. Ce diviseur DF' est un diviseur par six de la fréquence des signaux d'horloge SH1 transmis au multiplexeur MX' et à l'opérateur de tri OT'. Dans le cas général le facteur de division est égal à 2 x K et le nombre de registres est égal à K, chaque registre ayant K positions.
Comme précédemment, les signaux en entrée et sortie des registres à décalages sont transmis à un multiplexeur: MX', multiplexeur à six entrées dans l'exemple illustré et plus généralement 2 x K entrées.
A chaque période d'horloge, la sortie est reliée à une des entrées; ces entrées étant balayées cycliquement, modulo 2 x K.
Dans l'exemple illustré, un cycle complet de balayage relie la sortie, c'est à dire le bus commun d'entrée BE, successivement à la sortie du registre R11 - R13, à son entrée, à la sortie du registre R21 - R23, à son entrée, à la sortie du registre R31 - R33 et à son entrée, avant que le cycle se répète.
Selon un autre aspect spécifique au dispositif de filtrage médian bidimensionnel DFM2D illustré par la figure 8, les entrées des registres sont reliées entre-elles par l'intermédiaire de dispositifs à retard, tous identiques, D1 et D2 dans l'exemple illustré. Ces dispositifs transmettent sur leur sortie un signal présent sur leur entrée après un intervalle de temps égal au temps total nécessaire pour introduire dans le dispositif toutes les valeurs de signaux composant une ligne.Ces dispositifs peuvent être constitués par des lignes à retards ou, de façon préférentielle, vue la nature synchrone des dispositifs, par des registres à décalage dont le nombre de positions mémoires correspond au nombre de valeurs à trier d'une ligne
Toutes ces dispositions sont prises de manière à ce que, pendant le cycle I illustré sur la figure 7, les valeurs à filtrer comprennent une valeur a. . ou valeur centrale d'une fenêtre arbitraire de dimensions K ç K ainsi que toutes les valeurs contenues dans le voisinage carré centré sur cette valeur.
Pendant le cycle Il, trois nouvelles valeurs sont introduites et les trois plus anciennes éliminées, comme il a été rappelé, de manière à obtenir une nouvelle valeur centrale centrée sur a. . La "fenêtre" se déplace ainsi de proche en proche selon un balayage lignescolonnes de manière à ce que chaque valeur ai je quelque soit i et j devienne, à tour de roles la valeur centrale de la fenêtre de filtrage K x K.
Si l'on désigne par (K x K) = Y2 (2h'+l) le nombre de cellules de l'opérateur de tri OT', la valeur médiane est générée, comme dans le cas du filtrage médian unidirectionnel en sélectionnant la cellule de rang h' + l et en lisant son contenu.
Dans l'exemple illustré K2 = 9, on sélectionne donc la cellule de rang 5 à l'aide de l'organe RS, pour y lire une nouvelle valeur médiane chaque deux cycles d'horloge H2.
Le filtrage médian bidimensionnel qui vient d'être décrit est un filtrage bidimensionnel vrai.
Dans une variante simplifiée, en modifiant le processus, il est possible d'obtenir un filtrage médian pseudo-bidimensionnel du type qui sera appelé dans ce qui suit "filtrage médian bidimensionnel séparable d'ordre K".
Ce type de filtrage a été proposé dans l'Art Connu dans un but de réduction de la complexité des dispositifs utilisés. Les images étant divisées, comme il a été rappelé, en lignes et colonnes, la caractéristique principale de ce type de filtrage est d'opérer en deux étapes: un filtrage médian unidirectionnel d'ordre K le long des lignes suivi d'un filtrage unidirectionnel d'ordre K le long des colonnes, l'ordre de ces deux étapes étant naturellement purement arbitraire.
Bien que théoriquement différent du filtrage médian bidimensionnel classique, l'expérience a montré que le filtrage bidimensionnel séparable donne des résultats suffisamment précis pour pouvoir être utilisé dans de nombreuses applications.
Le procédé selon l'invention et les dispositifs de mise en oeuvre de ce procédé sont également compatibles avec ce type de filtrage bidimensionnel modifié.
La figure 9 illustre un appareil permettant le filtrage médian bidimensionnel séparable.
Il comporte essentiellement deux dispositifs de filtrage médian unidimensionnel d'ordre K.
Un premier dispositif, DFML, correspond au filtrage unidimensionnel d'ordre K le long des lignes d'une image à filtrer et fournit les valeurs médianes correspondantes selon le processus décrit en relation avec les figures 3 à 5.
Un second dispositif DFMC fonctionne comme un opérateur de tri classique et fournit en sortie la valeur médiane des K valeurs médianes intermédiaires résultant du traitement effectué par le premier dispositif
DFML.
Les deux dispositifs DFML et DFMC sont identiques aux dispositifs
DFM illustré par la figure 5.
Ces deux dispositifs sont connectés entre eux à l'aide de circuits retardateurs et d'un multiplexeur MXLC. La sortie du premier dispositif
DFML est reliée à l'entrée d'une suite de circuits retardateurs présentant tous un délai identique égal à une ligne. Le nombre de ces circuits est égal à (K-1).
La sortie de ces circuits retardateurs ainsi que la sortie du premier dispositif sont transmises aux entrées d'un multiplexeur, entrées en nombre égal au nombre K.
Un diviseur de fréquence DF" divise la fréquence par K des signaux d'horloge SH1 appliqués au second dispositif DFMC et au multiplexeur
MXLC. Les signaux d'horloge SH"2 en sortie du diviseur DF" sont transmis par une liaison H"2 au premier dispositif DFML.
On constate que la structure globale de l'appareil de filtrage médian
DFM2DS est moins complexe que celle du dispositif illustré par la figure 8 puisqu'il n'y a plus que 2 K cellules au lieu des K2 cellules utilisées pour le tri bidimensionnel classique.
En résumé, l'invention présente les avantages suivants:
- une grande modularité et une grande régularité d'architecture qui permettent une implantation aisée en circuits semiconducteurs à intégration poussée;
- une modularité dont la complexité augmente de façon linéaire contrairement aux architectures de l'Art Connu;
- une utilisation simple de la même architecture de base pour implémenter trois fonctions distinctes: le filtrage médian unidimensionnel, le filtrage médian bidimensionnel classique et le filtrage bidimensionnel séparable ;
- enfin le temps de traitement est indépendant de l'ordre K pour le filtrage médian unidirectionnel et seulement proportionnel à K pour le filtrage médian bidimensionnel.
L'invention n'est pas limitée aux seuls exemples d'architecture explicitement décrits pour illustrer l'invention; toutes variantes de réalisation à la portée de l'Homme, de Métier entrent dans le cadre de l'invention.
TABLEAU I
Figure img00220001
<tb> <SEP> H <SEP> R <SEP> R1 <SEP> R, <SEP> R, <SEP> BE <SEP> RCI <SEP> RC2 <SEP> RC3~ <SEP> BL3B <SEP> S
<tb> <SEP> O <SEP> O <SEP> O <SEP> O <SEP> O <SEP> O <SEP> O <SEP> ,0 <SEP> ,0 <SEP> ,0 <SEP> O
<tb> <SEP> 0 <SEP> 0 <SEP> 0 <SEP> 0 <SEP> 0 <SEP> 0 <SEP> 0 <SEP> #0 <SEP> /0,0 <SEP> 0
<tb> <SEP> 1 <SEP> 5 <SEP> O <SEP> O <SEP> O <SEP> O <SEP> Ou <SEP> oL <SEP> o <SEP> O <SEP> NS
<tb> <SEP> 1 <SEP> 5 <SEP> 0 <SEP> 0 <SEP> 0 <SEP> 0 <SEP> 0\ <SEP> #o <SEP> LO <SEP> NS
<tb> 3 <SEP> 10 <SEP> 5 <SEP> O <SEP> O <SEP> O <SEP> S <SEP> s <SEP> Oo <SEP> O <SEP> O <SEP> NS
<tb> 4 <SEP> 10 <SEP> 5 <SEP> O <SEP> O <SEP> 10 <SEP> 10 <SEP> 5 <SEP> O <SEP> <SEP> O <SEP> NS
<tb> S <SEP> 7 <SEP> 10 <SEP> 5 <SEP> O <SEP> O <SEP> 10 <SEP> S <SEP> > <SEP> O <SEP> O <SEP> NS
<tb> 6 <SEP> 7 <SEP> 10 <SEP> S <SEP> O <SEP> 7 <SEP> 10 <SEP> 7 <SEP> 5 <SEP> O <SEP> NS
<tb> 7 <SEP> 8 <SEP> 7 <SEP> 10 <SEP> 5 <SEP> 5 <SEP> 10 <SEP> 7 <SEP> o <SEP> O <SEP> 7
<tb> 8 <SEP> 8 <SEP> 7 <SEP> 10 <SEP> 5 <SEP> 8 <SEP> 10 <SEP> S <SEP> 7 <SEP> O <SEP> 7
<tb> 3 <SEP> 8 <SEP> S <SEP> 7 <SEP> 10 <SEP> 10 <SEP> 8Lg <SEP> 7 <SEP> T <SEP> O <SEP> 8
<tb> 10 <SEP> 3 <SEP> 8 <SEP> 7 <SEP> 10 <SEP> 3 <SEP> 8 <SEP> 7 <SEP> O <SEP> ,0 <SEP> 8
<tb> 11 <SEP> 1 <SEP> 3 <SEP> 8 <SEP> u- <SEP> ot <SEP> 7
<tb> 12 <SEP> 1 <SEP> 3 <SEP> 8 <SEP> 7 <SEP> 1 <SEP> 8 <SEP> 3 <SEP> 1 <SEP> O <SEP> 7
<tb> 13 <SEP> 3
<tb>

Claims (12)

REVENDICATIONS
1. Procédé de filtrage de rang déterminé d'un signal numérique constitué d'une suite de valeurs pondérées à filtrer se présentant selon une séquence temporelle, comprenant de façon itérative la sélection d'un premier nombre déterminé de valeurs de la séquence, le tri de ces valeurs de manière à obtenir une suite de valeurs ordonnées selon leurs poids et la sélection de la valeur de rang déterminé des valeurs ainsi triées, caractérisé en ce qu'il comprend, pour chaque itération, dans 1'ordre, une première phase pendant laquelle des valeurs les plus anciennes, en nombre égal à un second nombre déterminé inférieur au premier, sont extraites de la sélection de valeurs ordonnées, les valeurs restantes étant conservées ordonnées selon leur poids, et une seconde phase pendant laquelle des nouvelles valeurs à filtrer sont introduites parmi les valeurs restantes, selon les ordres respec tifs des poids des nouvelles valeurs et des valeurs restantes, en nombre égal audit second nombre déterminé de manière à obtenir une nouvelle suite de valeurs ordonnées en nombre égal audit premier nombre déterminé ; et en ce que une nouvelle valeur de rang déterminé du signal numérique à filtrer est obtenu en sélectionnant à l'issue de la seconde phase, la valeur de ce rang déterminé de la nouvelle suite de valeurs ordonnées.
2. Procédé selon la revendication 1, caractérisé en ce que la valeur de rang déterminée est la valeur médiane.
3. Procédé selon la revendication 2, caractérisé en ce qu'il comprend la mémorisation par ordre de poids décroissant de la suite ordonnée de valeurs représentant ladite sélection en nombre égal au premier nombre déterminé par ordre décroissant de poids et la mémorisation de la me me suite selon leurs positions dans ladite séquence temporelle;
en ce que la première phase comprend les opérations successives de sélection dans la suite de valeurs mémorisées selon leur position dans ladite séquence temporelle des valeurs les plus anciennes en nombre égal audit second nombre déterminé; de comparaison de ces valeurs à toutes les valeurs de la suite mémorisée par ordre décroissant de poids, d'élimination des plus anciennes valeurs de cette suite par décalage d'une position vers les poids croissants et de nouvelle mémorisation par ordre de poids décroissants de toutes valeurs de cette suite de poids inférieurs aux poids des valeurs à comparer;;
et en ce que la seconde phase comprend les opérations successives de mémorisation selon une séquence temporelle de nouvelles valeurs à trier en nombre égal audit second nombre déterminé pour former une nouvelle suite de valeurs mémorisées suivant leur position dans ladite séquence temporelle, de comparaison de ces nouvelles valeurs à toutes les valeurs de la suite de valeurs mémorisées par ordre de poids décroissants pendant la première phase de décalage d'une position vers les poids décroissants et de nouvelle mémorisation par ordre de poids décroissants de toutes les valeurs de cette suite inférieures en poids auxdits nouvelles valeurs dans la suite de valeurs ordonnées par poids décroissants à des positions laissées vacantes par le décalage, de manière à obtenir une nouvelle suite de valeurs ordonnées par ordre décroissant de poids et de sélection de la valeur médiane de cette nouvelle suite de valeur ordonnées.
4. Procédé selon l'une quelconque des revendications 2 ou 3, caractérise en ce que le signal à filtrer présentant des variations fonction d'un seul paramètre, ledit premier nombre déterminé est égal à un nombre entier K impair, le second nombre déterminé égal à l'unité et en ce que ladite sélection de valeurs à trier en nombre égal audit premier nombre déterminé se présente sous la forme d'une suite unidimensionnelle de valeurs successives de ladite séquence temporelle.
5. Procédé selon l'une quelconque des revendications 2 ou 3, caractérise en ce que le signal à filtrer présentant des variations fonctions de deux paramètres indépendants les valeurs prises par ce signal peuvent être réparties dans un tableau à deux dimensions selon des lignes et des colonnes, ledit premier nombre déterminé est égal à la puissance deux (K2) d'un nombre entier impair K, le second nombre déterminé est égal à ce nombre entier impair K; et en ce que la sélection de valeurs à trier en nombre égal audit premier nombre déterminé (K2) se présente sous la forme d'un tableau bidimensionnel de valeurs réparties selon des lignes et colonnes successives de manière à former une fenêtre carrée de dimensions (K x K) égales audit nombre entier impair.
6. Dispositif de filtrage de rang déterminé pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 5 caractérisé en ce qu'il comprend des moyens de mémorisation (M1), suivant leur position dans ladite séquence temporelle, d'une suite de valeurs égales en nombre audit premier nombre déterminé (K), recevant en entrées la séquence des valeurs à filtrer et générant en sorties, séquentiellement dans l'ordre d'arrivée les valeurs mémorisées, un multiplexeur (MX) comprend un nombre pair d'entrées et une sortie, les entrées du multiplexeur (MX) étant reliées alternativement, aux entrées et sorties des moyens de mémorisation (M1) et une entrée de commande destinée à recevoir des signaux (SH1) d'horloge périodiques commandant la connexion sélective de la sortie avec l'une des entrées selon un cycle régulier d'une période à la suivante de ces signaux d'horloge, un opérateur de tri (OT) constitué de cellules en nombre égal audit premier nombre déterminé (K) toutes identiques et disposées en cascade, communiquant entre-elles par des bus (BL0,1 1 à BLK,K+1) de liaisons bidirectionnelles, d'un bus d'entrée (BE) connecté à la sortie du multiplexeur, d'une part, et, en parallèle, à toutes les cellules (C1 à CK), d'autre part, un bus de sortie (BS) et un organe de sélection (RS) reliant sélectivement le bus de sortie (BS) à l'une des cellules, des moyens pour générer ledit signal (SH1) d'horloge périodique d'une première fréquence transmis à toutes les cellules et au multiplexeur et un second signal d'horloge périodique (SH2), d'une seconde fréquence (H2) sous-multiple entière de la première fréquence (H1), transmis aux moyens de mémorisation (M1) de manière à commander la génération sur leurs sorties des valeurs mémorisées au rythme de ce second signal d'horloge, des moyens pour générer un signal (SMOD) à deux états positionnant les cellules dans des premier et second modes de fonctionnement; ;
et en ce que, les cellules étant associées à un rang compris entre l'unité et ledit premier nombre déterminé (K) et ordonnées en cascade suivant ce rang, chaque cellule comprend des moyens de mémorisation (RCi) d'une des valeurs à trier, ces valeurs étant mémorisées par ordre de poids décroissants par rapport aux rangs des cellules de ladite cascade, des premiers moyens de comparaison (Kil) de cette valeur avec les valeurs véhiculées par le bus d'entrée (BE), des seconds moyens de comparaison (K12) de la valeur mémorisée dans la cellule de rang immédiatement inférieur (Ci 1) transmise par le bus de liaisons (BLi i) bidirectionnelles
i-l,i avec cette cellule, chaque comparateur générant en sortie des signaux à deux états logiques, le premier état logique indiquant, respectivement, que la valeur mémorisée est inférieure à celle transmise par le bus d'entrée (BE) et que la valeur véhiculée par le bus d'entrée (BE) est inférieure à la valeur mémorisée dans la cellule de rang inférieur (C. 1)' et le second état logique les conditions inverses; des moyens (MXi, ETI) de transmissions sélectives et conditionnelles aux moyens de mémorisation de la valeur mémorisée dans la cellule de rang immédiatement inférieur ou sur le bus d'entrée pour la cellule de rang égal à l'unité, la valeur véhiculée par le bus d'entrée ou la valeur mémorisée dans la cellule (C. de de rang immédiatement supérieur ou la valeur zéro pour la cellule de rang égal au premier nombre déterminé (K); des moyens logiques (LSi) de sélection fonctionnant selon le premier mode pendant ladite première phase et selon le second mode pendant ladite seconde phase, sous la commande des signaux (SMOD) de mode de fonctionnement, générant, dans le premier mode, des signaux de commande positionnant les moyens (ET., MXi) de transmissions sélectives et conditionnelles, de manière à enregistrer dans les moyens de mémorisation (RCi) la valeur mémorisée dans la cellule de rang immédiatement supérieur (Ci+l) lorsque le signal généré par les premiers moyens de comparaison (Kil) est au premier état logique et, dans le second mode de fonctionnement, des signaux de commande positionnant les moyens (ET1, MXi) de transmissions sélectives et conditionnelles de manière à enregistrer dans les moyens de mémorisations (RCi) la valeur véhiculée par le bus d'entrée (BE) lorsque les signaux générés par les premiers (Kil) et second (Ki2) moyens de comparaison sont simultanément au premier état logique; et la valeur mémorisée dans la cellule de rang immédiatement inférieur (C. -1) > lorsque, simultanément le signal généré par les premiers moyens de comparaison tKi 1) est au premier état logique et le signal généré par les seconds moyens de comparaison (K 2) au second état logique; et des moyens d'interface de sortie (Ai) connectant conditionnellement les moyens de mémorisation au bus de sortie.
7. Dispositif selon la revendication 5, caractérisé en ce que les moyens
(RCi) de mémorisation de chaque cellule (Ci) sont constitués chacun par un
registre comportant une entrée de chargement de données, une sortie de
lecture de données et une entrée d'horloge destinée à recevoir des signaux
d'autorisation du changement des données dans le registre (RCi).
8. Dispositif selon la revendication 5, caractérisé en ce que les moyens
de transmissions sélectives et conditionnelles de chaque cellules (Ci) com
prennent un multiplexeur (MXi) à une sortie connectée aux moyens de
mémorisation (RCi) et à trois entrées, une première entrée recevant par un bus de liaison (BEil) la valeur mémorisée par la cellule de rang immédiatement inférieure (Ci 1)' un deuxième entrée connectée par un bus de liaison (BEi2# BLi 1 i) au bus d'entrée (BE) commun à toutes les cellules (C1 à CK) et une troisième entrée recevant par un bus de liaison (BEi2, BLi,i+î) la valeur mémorisée par la cellule de rang immédiatement supérieur (C#+î);; ~ et à une entrée de commande connectée par un bus de liaison (SCi) aux moyens logiques d.e sélection (LSi), destinée à recevoir un signal à trois états distinctes commandant l'établissement de liaisons sélectives entre la sortie et l'une des trois entrées de donnée et une porte logique de type "ET" à deux entrées, une première entrée étant connectée par une liaison simple (Hi) à la liaison commune (H1) véhiculant le premier signal d'horloge (su1) t une seconde entrée recevant un signal de commande supplémentaire à deux états logiques des moyens logique de sélection (LSi) autorisant, dans un premier état logique ("1"), la transmission dudit signal d'horloge, et une sortie connectée par une liaison simple (HRi) à une entrée d'horloge des moyens de mémorisation (RCi) autorisant un chargement de donnée et la mémorisation dans ce registre.
9. Dispositif selon la revendication 5, dans lequel les signaux à filtrer sont des signaux de type unidimensionnel ne dépendant que d'un seul paramètre, caractérisé en ce que les premiers moyens de mémorisation (M1) sont constitués par un seul registre à décalage comprenant en série, un nombre de positions mémoires (R1 à RK) égal audit premier nombre déterminé (K);
et en ce qu'il comprend un diviseur de fréquence (DF) connecté en entrée à la liaison (H1) véhiculant ledit premier signal d'horloge périodique (SH1) et en divisant sa fréquence par deux, et en sortie à entrée d'horloge du registre à décalage (R1 à RK) de manière à obtenir une décalage d'une position mémoire chaque deux période du premier signal d'horloge (SH1).
10. Dispositif selon la revendication 5, dans lequel les signaux à filtrer (ait) sont du type bidimensionnel, dépendant de deux paramètres (i,j) distincts, et les valeurs que prennent ces signaux étant rangées selon des lignes et des colonne d'un tableau, caractérisé en ce que les premiers moyens de mémorisations comprennent des registres à décalages (R11 à
R13, R21 à R22, R31 à R33) en nombre égal audit premier nombre déterminé (K), chaque registre comprenant, en série, des positions de mémoires en nombre égal à ce premier nombre déterminé (K); un premier registre recevant séquentiellement en entrée directement les valeurs à filtrer, et les entrées des autres registres étant toutes connectées, en cascade, aux entrées du registre précédant par l'intermédiaire d'un organe de transmission (D1, D2) présentant un délai de transmission égal à l'intervalle de temps nécessaire pour transmettre au dispositif de filtrage médian toutes les valeurs d'une desdites lignes;;
et en ce qu'il comprend un diviseur de fréquence (DF') connecté en entrée à la livraison (H1) véhiculant ledit premier signal d'horloge périodique (SH1) et en divisant sa fréquence dans un rapport égal à deux fois ledit premier nombre déterminé (2 x K), et en sortie à une entrée d'horloge de chacun des registres à décalage (R11 à R13, R21 à R23, R31 à R33) de manière à obtenir un décalage d'une position de mémoire lorsque des périodes du premier signal périodique d'horloge (si1) en nombre égal à deux fois ledit premier nombre déterminé (2K) sont écoulées.
11. Dispositif selon la revendication 9 caractérisé en ce que l'organe de transmission à délai (D1, D2) est un registre à décalage muni d'un nombre de positions mémoires en série égal au nombre de valeurs d'une desdites lignes.
12. Appareil de filtrage médian bidimensionnel séparable, filtrant des signaux de type bidimensionnel dépendant de deux paramètres distinctes (i,j), les valeurs que prennent ces signaux étant rangées suivant des lignes et des colonnes d'un tableau, caractérisé en ce qu'il comprend un premier dispositif (DFML) selon l'une quelconques des revendications 5 à 8 pour le filtrage médian, ligne par ligne, des valeurs à filtrer, et générant des valeurs médianes intermédiaires, un second dispositif de filtrage (DFMC) selon l'une quelconque des revendications 5 à 8 pour le filtrage médian des valeurs médianes intermédiaires générées par le premier dispositif (DFML);;
et en ce qu'il comprend, en outre, un dispositif de connexion des deux dispositifs de filtrage médian comprenant un multiplexeur (MXLC) comportant un nombre d'entrées égal audit premier nombre prédéterminé (K) et une sortie connectée au bus d'entrée (BE) du second dispositif de filtrage médian (DFMC); une première entrée de multiplexeur (MXLC) étant reliée directement à la sortie du premier dispositif de filtrage médian (DFML) et recevant séquentiellement lesdites valeurs médianes intermédiaires et les autres entrées étant connectées en cascade à une entrée précédente par l'intermé- diaire d'un organe de transmission (DL1 à DLK#î) présentant un délai de transmission égal à l'intervalle de temps nécessaire pour transmettre à l'appareil de filtrage médian toutes les valeurs d'une desdites (H1) lignes; et un diviseur de fréquence (DF") connecté en entrée à la liaison (H1) véhiculant ledit premier signal d'horloge périodique (SH1) et en divisant la fréquence par un coefficient égal audit premier nombre déterminé (K) et le transmet tant à la liaison (H"2) de signal d'horloge périodique du premier dispositif de filtrage médian (DFML); le premier signal d'horloge périodique (SH1) étant en outre transmis à une entrée d'horloge du multiplexeur (MXLC) de manière à relier cycliquement la sortie du multiplexeur à l'une de ses entrées au rythme des variations du premier signal d'horloge (si,).
FR8320195A 1983-12-16 1983-12-16 Procede et dispositif de filtrage de rang determine d'un signal numerique et application au filtrage median bidimensionnel separable Withdrawn FR2556902A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR8320195A FR2556902A1 (fr) 1983-12-16 1983-12-16 Procede et dispositif de filtrage de rang determine d'un signal numerique et application au filtrage median bidimensionnel separable

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR8320195A FR2556902A1 (fr) 1983-12-16 1983-12-16 Procede et dispositif de filtrage de rang determine d'un signal numerique et application au filtrage median bidimensionnel separable

Publications (1)

Publication Number Publication Date
FR2556902A1 true FR2556902A1 (fr) 1985-06-21

Family

ID=9295260

Family Applications (1)

Application Number Title Priority Date Filing Date
FR8320195A Withdrawn FR2556902A1 (fr) 1983-12-16 1983-12-16 Procede et dispositif de filtrage de rang determine d'un signal numerique et application au filtrage median bidimensionnel separable

Country Status (1)

Country Link
FR (1) FR2556902A1 (fr)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0235822A2 (fr) * 1986-03-06 1987-09-09 Hewlett-Packard Company Appareil de formation d'images de traçage d'un écoulement utilisant des filtres spatiaux à deux dimensions
US4928231A (en) * 1986-03-06 1990-05-22 Hewlett-Packard Company Apparatus for forming flow-map images using two-dimensional spatial filters
WO2003090847A2 (fr) * 2002-04-23 2003-11-06 Medtronic, Inc. Dispositif medical implantable a filtre median rapide
US6898461B2 (en) 2002-04-23 2005-05-24 Medtronic, Inc. Implantable medical device stream processor

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ELECTRONICS LETTERS, vol. 15, no. 1, 4 janvier 1979, pages 24-25, Londres (GB); *
IEEE TRANSACTIONS ON ACOUSTICS, SPEECH, AND SIGNAL PROCESSING, vol. ASSP-28, no. 4, août 1980, pages 415-421, New York (USA); *
PROCEEDINGS OF THE CONFERENCE ON PATTERN RECOGNITION AND IMAGE PROCESSING, Chicago, 31 mai - 2 juin 1978, pages 128-131, Long Beach (USA); *
PROCEEDINGS OF THE CONFERENCE ON PATTERN RECOGNITION AND IMAGE PROCESSING, Chicago, 31 mai - 2 juin 1978, pages 137-141, Long Beach (USA); *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0235822A2 (fr) * 1986-03-06 1987-09-09 Hewlett-Packard Company Appareil de formation d'images de traçage d'un écoulement utilisant des filtres spatiaux à deux dimensions
EP0235822A3 (en) * 1986-03-06 1988-01-20 Hewlett-Packard Company Apparatus for forming flow-map images using two-dimensional spatial filters
US4928231A (en) * 1986-03-06 1990-05-22 Hewlett-Packard Company Apparatus for forming flow-map images using two-dimensional spatial filters
WO2003090847A2 (fr) * 2002-04-23 2003-11-06 Medtronic, Inc. Dispositif medical implantable a filtre median rapide
WO2003090847A3 (fr) * 2002-04-23 2004-07-22 Medtronic Inc Dispositif medical implantable a filtre median rapide
US6898461B2 (en) 2002-04-23 2005-05-24 Medtronic, Inc. Implantable medical device stream processor
US6941332B2 (en) 2002-04-23 2005-09-06 Medtronic, Inc. Implantable medical device fast median filter

Similar Documents

Publication Publication Date Title
FR2936626A1 (fr) Dispositif de traitement en parallele d&#39;un flux de donnees
EP0558125B1 (fr) Processeur neuronal à cellules synaptiques reparties
EP0597028A1 (fr) Architecture de systeme en tableau de processeurs a structure parallele.
EP0298002B1 (fr) Mémoire de transposition pour circuit de traitement de données
FR2549258A1 (fr) Procede de commande pour transfert de donnees
FR2900294A1 (fr) Chargement de la memoire d&#39;entree d&#39;un decodeur ldpc avec des donnees a decoder
FR2658971A1 (fr) Procede de traitement des donnees numeriques de controle associees a un signal video de type hd-mac et dispositif pour la mise en óoeuvre du procede.
FR2556902A1 (fr) Procede et dispositif de filtrage de rang determine d&#39;un signal numerique et application au filtrage median bidimensionnel separable
FR2871976A1 (fr) Decodeur ldpc
CH662668A5 (fr) Procede et appareil pour convertir des donnees digitales.
FR2589302A1 (fr) Systeme de thermographie infrarouge a sensibilite amelioree par accumulation progressive des lignes de l&#39;image
EP1803061A1 (fr) Systeme de processeur parallele reconfigurable, modulaire et hierarchique
EP0762659A2 (fr) Décodeur convolutif utilisant l&#39;algorithme de Viterbi
WO2017108398A1 (fr) Circuit electronique, notamment apte a l&#39;implementation de reseaux de neurones a plusieurs niveaux de precision
FR2475250A1 (fr) Multiplieur rapide
EP0319421A1 (fr) Comparateur binaire et opérateur de tri de nombres binaires
FR2742560A1 (fr) Architecture de systeme en tableau de processeurs a structures paralleles multiples
FR2474722A1 (fr) Dispositif de determination numerique de correlation d&#39;images
EP0183610A1 (fr) Mémoire vive et circuit d&#39;interpolation linéaire en comportant application
EP0123573A1 (fr) Procédé de codage adaptatif, et de décodage, d&#39;une image de télévision, et dispositifs pour la mise en oeuvre de ce procédé
EP3716523A1 (fr) Procédé de synchronisation de données numériques envoyées en série
FR2538647A1 (fr) Circuit de demultiplexage d&#39;un signal numerique en trames et a haut debit
FR2617302A1 (fr) Circuit pour memoriser des etats de disponibilite de ressources logiques, telles que cellules de memoire, et etablir des adresses de ressources libres
FR2462835A1 (fr) Reseau de connexion pour autocommutateur a transmission en multiplexage dans le temps
FR2986679A1 (fr) Generateur de nombres aleatoires vrais

Legal Events

Date Code Title Description
ST Notification of lapse