FR2796506A1 - Procede et dispositif de filtrage de signal numerique - Google Patents

Procede et dispositif de filtrage de signal numerique Download PDF

Info

Publication number
FR2796506A1
FR2796506A1 FR9909093A FR9909093A FR2796506A1 FR 2796506 A1 FR2796506 A1 FR 2796506A1 FR 9909093 A FR9909093 A FR 9909093A FR 9909093 A FR9909093 A FR 9909093A FR 2796506 A1 FR2796506 A1 FR 2796506A1
Authority
FR
France
Prior art keywords
signal
filtering
samples
parameter
data
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
Application number
FR9909093A
Other languages
English (en)
Other versions
FR2796506B1 (fr
Inventor
Bertrand Berthelot
Patrice Onno
Eric Majani
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to FR9909093A priority Critical patent/FR2796506B1/fr
Publication of FR2796506A1 publication Critical patent/FR2796506A1/fr
Application granted granted Critical
Publication of FR2796506B1 publication Critical patent/FR2796506B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • H04N19/635Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by filter definition or implementation details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Image Processing (AREA)

Abstract

L'invention concerne un procédé de filtrage de signal numérique représentatif de grandeurs physiques, à au moins une dimension, ledit filtrage étant une décomposition du signal en sous bande de fréquence, utilisant une mémoire tampon pour stocker temporairement des échantillons du signal, caractérisé en ce qu'il comporte les étapes de :- détermination (E2) d'un nombre d'échantillons du signal qui peuvent être filtrés ensemble, en fonction de la taille de la mémoire tampon et d'un nombre d'échantillons du signal selon une dimension du signal, - sélection (E3) d'au moins un paramètre de filtrage dans un ensemble prédéterminé (TC), en fonction du nombre d'échantillons précédemment déterminé,- filtrage (E5) du signal selon l'au moins un paramètre sélectionné.

Description

La présente invention concerne la transformation de signal numérique, tel que le filtrage numérique.
De nombreux procédés et dispositifs de filtrage numérique sont connus. On envisage ici, à titre d'exemple, des filtrages d'analyse et des filtrages correspondants de synthèse de signal numérique.
Ces filtrages sont généralement des sous-ensembles intégrés dans les ensembles de codage et/ou de décodage. Le codage a pour but de compresser le signal, ce qui permet de transmettre, respectivement mémoriser, le signal numérique en réduisant le temps de transmission, ou le débit de transmission, respectivement en réduisant la place mémoire utilisée. Ces filtrages nécessitent cependant une grande place en mémoire vive ou en mémoire tampon, pour stocker les données en cours de traitement, ce qui limite leur utilisation dans des appareils tels qu'appareils photographiques numériques, par exemple.
On s'intéresse plus particulièrement au filtrage en sous bandes de fréquence, ou transformation en ondelettes.
Il est connu de décomposer un signal en sous-bandes de fréquence avant de le compresser. La décomposition consiste à créer, à partir du signal, un jeu de sous-bandes qui contiennent chacune une gamme limitée de fréquences. Les sous-bandes peuvent être de différentes résolutions, la résolution d'une sous-bande étant le nombre d'échantillons par unité de longueur utilisés pour représenter cette sous-bande. Dans le cas d'un signal numérique d'image, une sous-bande de fréquence de ce signal peut être elle- même considérée comme une image, c'est-à-dire un tableau bidimensionnel de valeurs numériques.
II est à noter que la décomposition d'un signal en sous-bandes de fréquence ne crée aucune compression en elle-même, mais permet de décorréler le signal de façon à en éliminer la redondance préalablement à la compression proprement dite. Les sous-bandes sont ainsi codées de manière plus efficace que le signal d'origine.
Pour un signal bi-dimensionnel, la décomposition en sous bande de fréquence comporte des opérations de filtrage selon une direction, par exemple sur les lignes d'une image, puis dans l'autre direction, par exemple les colonnes de l'image.
La demande de brevet n 98 08824 déposée au nom de la demanderesse propose un procédé pour minimiser le nombre de lignes de l'image simultanément nécessaires en mémoire pour pouvoir effectuer le filtrage sur les colonnes. Dans cette demande de brevet, les filtres et le nombre de niveaux de décomposition sont prédéterminés.
La présente invention vise à remédier aux inconvénients de la technique antérieure, en fournissant un procédé et un dispositif de filtrage dont des paramètres sont réglables en fonction des données à coder et des contraintes de mémoire.
A cette fin, l'invention propose un procédé de filtrage de signal numérique représentatif de grandeurs physiques, à au moins une dimension, ledit filtrage étant une décomposition du signal en sous bandes de fréquence, utilisant une mémoire tampon pour stocker temporairement des échantillons du signal, caractérisé en ce qu'il comporte les étapes de - détermination d'un nombre d'échantillons du signal qui peuvent être filtrés ensemble, en fonction de la taille de la mémoire tampon et d'un nombre d'échantillons du signal selon une dimension du signal, - sélection d'au moins un paramètre de filtrage dans un ensemble prédéterminé, en fonction du nombre d'échantillons précédemment déterminé, <B>-</B> filtrage du signal selon l'au moins un paramètre sélectionné. L'invention concerne aussi un procédé de codage de signal numérique qui intègre les étapes du procédé de filtrage précédemment citées ainsi qu'un codage du signal précédemment filtré.
Corrélativement, l'invention concerne un dispositif de filtrage de signal numérique représentatif de grandeurs physiques, à au moins une dimension, ledit filtrage étant une décomposition du signal en sous bandes de fréquence, comportant une mémoire tampon pour stocker temporairement des échantillons du signal, caractérisé en ce qu'il comporte - des moyens de détermination d'un nombre d'échantillons du signal qui peuvent être filtrés ensemble, en fonction de la taille de la mémoire tampon et d'un nombre d'échantillons du signal selon une dimension du signal, - des moyens de sélection d'au moins un paramètre de filtrage dans un ensemble prédéterminé, en fonction du nombre d'échantillons précédemment déterminé, - des moyens de filtrage du signal selon l'au moins un paramètre sélectionné.
L'invention concerne encore un dispositif de codage qui intègre le dispositif de filtrage précédemment exposé.
Grâce à l'invention, le filtrage est adapté aux données à coder et aux contraintes de mémoire, ce qui améliore globalement le codage.
Selon des caractéristiques préférées qui peuvent être combinées, le paramètre de filtrage comporte un nombre de niveaux de décomposition etlou des filtres à appliquer à chaque niveau de décomposition. Ce type de filtrage est fréquemment utilisé, notamment pour les images numériques.
Selon une caractéristique préférée, le signal est bi-dimensionnel et le nombre d'échantillons du signal qui peuvent être filtrés ensemble est exprimé en nombre de rangées d'échantillons selon une dimension. En effet, l'invention s'applique notamment à des images numériques.
Selon une caractéristique préférée, l'au moins un paramètre de filtrage est associé aux données filtrées. Ainsi, ce paramètre est utilisé lors du filtrage inverse des données.
Les dispositifs de filtrage et de codage comportent des moyens de mise en oeuvre des caractéristiques précédemment exposées. L'invention concerne aussi un procédé de filtrage inverse de données filtrées par le procédé précédemment exposé, caractérisé en ce qu'il comporte les étapes de - lecture de l'au moins un paramètre de filtrage associé aux données filtrées, - détermination d'au moins un paramètre de filtrage inverse en fonction du paramètre précédemment lu, - filtrage inverse des données filtrées en fonction du paramètre de filtrage inverse précédemment déterminé.
L'invention concerne encore un procédé de décodage de données codées qui intègre les caractéristiques du procédé de filtrage inverse précédemment exposé.
L'invention concerne aussi un dispositif de filtrage inverse, et un dispositif de décodage, qui comportent des moyens de mise en oeuvre des caractéristiques précédentes.
L'invention concerne aussi un appareil numérique incluant le dispositif tel que précédemment exposé ou des moyens de mise en aeuvre du procédé tel que précédemment exposé. Cet appareil numérique est par exemple un appareil photographique numérique, un ordinateur, un télécopieur, un photocopieur, un scanner ou une imprimante.
Les avantages du dispositif et de l'appareil numérique sont identiques à ceux précédemment exposés.
Un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé de filtrage.
Les caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture d'un mode préféré de réalisation illustré par les dessins ci-joints, dans lesquels - la figure 1 représente de manière schématique un dispositif de traitement de données selon l'invention, - la figure 2 représente de manière schématique un autre dispositif de traitement de données selon l'invention, <B>-</B>la figure 3 représente un mode de réalisation du dispositif de traitement de données selon l'invention, - la figure 4 est une image à coder selon l'invention, - la figure 5 est une image transformée selon l'invention, - la figure 6 est un treillis représentant le fonctionnement d'un circuit de transformation selon l'invention, - la figure 7 est un tableau résumant les opérations du circuit de transformation selon la figure 6, - la figure 8 est un schéma représentant le fonctionnement d'un circuit de transformation selon l'invention, - la figure 9 est un schéma représentant le fonctionnement d'un circuit de transformation selon l'invention, - la figure 10 est une table de codage selon l'invention, - la figure 11 est un schéma représentant le fonctionnement d'un circuit de transformation inverse selon l'invention, - la figure 12 est un algorithme de codage selon la présente invention, - la figure 13 est un algorithme de décodage selon la présente invention.
Selon un mode de réalisation choisi et représenté à la figure 1, un dispositif de traitement de données selon l'invention est un dispositif 2 de codage de données qui comporte une entrée 24 à laquelle est reliée une source 1 de données non codées.
La source 1 comporte par exemple un moyen de mémoire, telle que mémoire vive, disque dur, disquette, disque compact, pour mémoriser des données non codées, ce moyen de mémoire étant associé à un moyen de lecture approprié pour y lire les données. Un moyen pour enregistrer les données dans le moyen de mémoire peut également être prévu.
On considérera plus particulièrement dans la suite que les données à coder sont une suite d'échantillons numériques représentant une image IM.
La source 1 fournit un signal numérique d'image SI à l'entrée du circuit de codage 2. Le signal d'image SI est une suite de mots numériques, par exemple des octets. Chaque valeur d'octet représente un pixel de l'image IM, ici à 256 niveaux de gris, ou image noir et blanc. L'image peut être une image multispectrale, par exemple une image en couleur ayant des composantes dans trois bandes de fréquence, de type rouge-vert-bleu ou luminance et chrominance. Chaque bande est alors traitée de manière analogue à l'image monospectrale.
Des moyens 3 utilisateurs de données codées sont reliés en sortie 25 du dispositif de codage 2.
Les moyens utilisateurs 3 comportent par exemple des moyens de mémorisation de données codées, et/ou des moyens de transmission des données codées.
Le dispositif de codage 2 comporte classiquement, à partir de l'entrée 24, un circuit de transformation 21, plus particulièrement concerné par la présente invention, et dont plusieurs exemples de réalisation seront détaillés dans la suite. Les transformations envisagées ici sont des décompositions en des signaux de sous-bandes de fréquence du signal de données, de manière à effectuer une analyse du signal. Le circuit de transformation 21, ou circuit d'analyse, est un circuit de décomposition dyadique à deux niveaux. Le circuit 21 est, dans ce mode de réalisation; un ensemble classique de filtres, respectivement associés à des décimateurs par deux, qui filtrent le signal d'image selon deux directions, en des signaux de sous-bandes de hautes et basses fréquences spatiales. La relation entre un filtre passe-haut et un filtre passe-bas est déterminée par les conditions de reconstruction parfaite du signal.
Le circuit de transformation 21 est relié à un circuit de quantification 22. Le circuit de quantification met en oeuvre une quantification connue en soi, par exemple une quantification scalaire, ou une quantification vectorielle, des coefficients, ou de groupes de coefficients, des signaux de sous-bandes de fréquence fournis par le circuit 21.
Le circuit 22 est relié à un circuit 23 de codage entropique, qui effectue un codage entropique, par exemple un codage de Huffman, ou un codage arithmétique, des données quantifiées par le circuit 22.
La figure 2 représente un autre dispositif de traitement de données selon l'invention, sous la forme d'un dispositif 5 de décodage de données codées par le dispositif 2.
Des moyens 4 utilisateurs de données codées sont reliés en entrée 54 du dispositif de décodage 5. Les moyens 4 comportent par exemple des moyens de mémoire de données codées, et/ou des moyens de réception des données codées qui sont adaptés à recevoir les données codées transmises par les moyens de transmission 3.
Des moyens 6 utilisateurs de données décodées sont reliés en sortie 55 du dispositif de décodage 5. Les moyens utilisateurs 6 sont par exemple des moyens de visualisation d'images, ou des moyens de restitution de sons, en fonction de la nature des données traitées.
Le dispositif de décodage 5 effectue globalement des opérations inverses de celles du dispositif de codage 2. Le dispositif 5 comporte un circuit de décodage entropique 51, qui effectue un décodage entropique correspondant au codage du circuit 23. Le circuit 51 est relié à un circuit de déquantification 52, correspondant au circuit de quantification 22. Le circuit 52 est relié à un circuit de transformation inverse 53, correspondant au circuit de transformation 21. Le circuit de transformation inverse 53 est plus particulièrement concerné par la présente invention. Plusieurs exemples de réalisation seront détaillés dans la suite. Les transformations envisagées ici réalisent une synthèse du signal numérique, à partie de signaux de sous- bandes de fréquence.
Le dispositif de codage et/ou le dispositif de décodage peuvent être intégrés dans un appareil numérique, tel qu'un ordinateur, une imprimante, un télécopieur, un scanner ou un appareil photographique numérique, par exemple.
Le dispositif de codage et le dispositif de décodage peuvent être intégrés dans un même appareil numérique, par exemple un appareil photographique numérique. Dans ce cas, le dispositif de traitement de données réalise le codage et le décodage des données de manière combinée, comme exposé dans la suite.
En référence à la figure 3, est décrit un exemple de dispositif 10 mettant en oeuvre l'invention. Ce dispositif est adapté à transformer un signal numérique, et selon les exemples développés dans la suite, à l'analyser, ou â le synthétiser ou encore à l'analyser puis le synthétiser.
Le dispositif 10 est ici un micro-ordinateur comportant un bus de communication 101 auquel sont reliés - une unité centrale 100, - une mémoire morte 102, - une mémoire vive 103, - un écran 104, - un clavier 114, - un disque dur 108, - un lecteur de disquette 109 adapté à recevoir une disquette 110, - une interface 112 de communication avec un réseau de communication 113, - une carte d'entré/sortie 106 reliée à un microphone 111.
Le disque dur 108 mémorise les programmes mettant en oeuvre l'invention, et qui seront décrits dans la suite, ainsi que les données à coder et les données codées selon l'invention. Ces programmes peuvent aussi être lus sur la disquette 110, ou reçu via le réseau de communication 113, ou encore mémorisé en mémoire morte 102.
De manière plus générale, les programmes selon la présente invention sont mémorisés dans un moyen de stockage. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD-ROM (disque compact à mémoire figée).
Lors de la mise sous tension du dispositif, les programmes selon la présente invention sont transférés dans la mémoire vive 103 qui contient alors le code exécutable de l'invention et des registres contenant les variables nécessaires à la mise en oeuvre de l'invention. La mémoire vive inclut une mémoire tampon.
Le dispositif 10 peut recevoir des données à coder depuis un dispositif périphérique 107, tel qu'un appareil photographique numérique, ou un scanner, ou tout autre moyen d'acquisition ou de stockage de données.
Le dispositif 10 peut également recevoir des données à coder depuis un dispositif distant, via le réseau de communication 113, et transmettre des données codées vers un dispositif distant, toujours via le réseau de communication 113.
Le dispositif 10 peut aussi recevoir des données à coder depuis le microphone 111. Ces données sont alors un signal de son.
L'écran 104 permet à un utilisateur notamment de visualiser les données à coder, et sert, avec le clavier 114, d'interface utilisateur.
Une image numérique IM en sortie de la source d'image 1 est représentée de manière schématique à la figure 4, tandis que la figure 5 représente l'image IMD résultant de la décomposition dyadique de l'image IM, en dix sous-bandes HH1, LH1, HL1, HH2, LH2, HL2, HH3, LH3, HL3 et LL3 selon trois niveaux de résolution, par le circuit 21. L'image IMD comporte autant d'information que l'image d'origine IM, mais l'information est fréquentiellement découpée selon trois niveaux de résolution.
Bien entendu, le nombre de niveaux de résolution, et par conséquent de sous-bandes, peut être choisi différemment, par exemple sept sous-bandes sur deux niveaux de résolution, ou 13 sous-bandes sur quatre niveaux de résolution, pour un signal bi-dimensionnel tel qu'une image. Le nombre de sous-bandes par niveau de résolution peut également être différent. Les circuits d'analyse et de synthèse sont adaptés à la dimension du signal traité.
Le filtrage a été effectué selon deux directions d'analyse, verticale et horizontale. Le filtrage horizontal ne nécessite qu'une seule ligne de l'image en mémoire. Dans la suite, on s'intéresse plus particulièrement au filtrage vertical.
A la figure 5, les coefficients issus de la transformation sont rangés sous-bande par sous-bande. Cependant, l'image IMD peut être représentée de manière équivalente selon un mode dit entrelacé, dans lequel les coefficients des différents signaux de sous-bandes sont regroupés selon leur origine spatiale dans l'image. Cette représentation présente l'avantage que les coefficients de l'image transformée peuvent être calculés sur place. Dans la suite, on s'intéressera aux représentations entrelacées. Les circuits de transformation permettant d'obtenir une représentation entrelacée sont représentés sous forme de treillis.
La demande de brevet n 98 08824 déposée au nom de la demanderesse expose plusieurs mises en oeuvre de circuits de transformation en treillis.
La figure 6 est un treillis représentant le fonctionnement d'un circuit de transformation qui effectue une analyse de signal numérique sur un seul niveau de décomposition, en une dimension.
Le signal à transformer comporte ici dix-sept échantillons. II est à noter que chaque échantillon de signal à transformer peut-être un coefficient ou peut être une suite de coefficients. Selon un exemple qui sera plus particulièrement considéré dans la suite, chaque échantillon est une ligne d'une image numérique. Le filtrage réalisé par treillis est alors un filtrage vertical de l'image. En variante, de manière équivalente, les échantillons sont les colonnes de l'image et le filtrage est un filtrage horizontal de l'image.
Le circuit de transformation comporte deux filtres associés Ho et Hl, respectivement passe-bas et passe-haut. Les filtres choisis sont les filtres 5I3, aussi appelés filtres CDF(2,2), exposés dans le rapport WAILI : Wavelets with Integer Lifting , Katholieke Universiteit Leuven, Report TW262, juillet 1997. Les filtres 5I3 peuvent être représentés par leurs coefficients Ho = [ -1 2 6 2<B>-11/8</B> Hl = [ -1 2<B>-1</B>1/2 Selon la méthode dite de "lifting" de Sweldens, le filtre de basse fréquence Ho peut être exprimé en fonction du filtre de haute fréquence Hl, selon une relation de type Ho=[ 0 0 1 0 0 ]+a.[ 1 0 1)#Hl où a est un coefficient multiplicatif, égal à 0,25 pour un filtre 5/3, et représente l'opération de convolution.
En conséquence, les échantillons basse fréquence sont calculés à partir des échantillons haute fréquence.
Dans la suite, on note - xo, xl, x2, ....., X2i, x2i+l, ... les échantillons du signal à transformer, où i est un entier.
- Yo, Yl, y2, ..., y2i, y2;+l, ... les échantillons de premier niveau obtenus par transformation. Les échantillons d'indices pairs sont ici les échantillons basse fréquence de premier niveau, et les échantillons d'indices impairs sont les échantillons haute fréquence de premier niveau.
Les calculs effectués dans le circuit de transformation sont des calculs sur place, c'est-à-dire qu'un échantillon calculé, de rang donné, est mémorisé à la place d'un autre échantillon de même rang ayant servi à son calcul.
En outre, les échantillons du signal à transformer sont traités de manière ordonnée, par rang croissant.
La première ligne L1 du treillis comporte les échantillons du signal xo à x16. Ces échantillons sont mémorisés en mémoire tampon 103 au fur et à mesure de leur utilité dans le filtrage.
La deuxième ligne L2 de treillis comporte les échantillons haute fréquence de premier niveau {y2i+l}. L'échantillon haute fréquence de premier niveau y2i+l est obtenu par la formule y2i+l = X2i+l - 0,5 . (X2; + X2i+2).
Après son calcul, cet échantillon est mémorisé en mémoire tampon 103, à la place de l'échantillon de même rang dans le signal d'origine X2i+1.
La troisième ligne L3 de treillis comporte les échantillons basse fréquence de premier niveau {y2i). L'échantillon basse fréquence de premier niveau y2i est obtenu par la formule Y2i = X2i + 0,25 . (Y2i-1 + Y2i+1)- Après son calcul, cet échantillon est mémorisé en mémoire tampon 103, à la place de l'échantillon x2i de même rang dans le signal d'origine. La figure 7 résume pour chacune des opérations élémentaires du treillis de la figure 6, les échantillons à entrer en mémoire tampon, les échantillons présents en mémoire tampon, et les échantillons qui sortent de la mémoire tampon. Pour simplifier les notations, les échantillons ne sont représentés ici que par leur indice.
L'opération élémentaire numéro 1 nécessite les échantillons x0 et xl, l'opération élémentaire numéro 2 nécessite en outre l'échantillon x2, et ainsi de suite. Après l'opération numéro 3, l'échantillon y0 n'est plus utilisé à ce niveau de décomposition.
Pour un niveau de décomposition, il est nécessaire d'avoir au moins trois lignes de l'image en mémoire pour le filtre 5I3. De manière similaire, il est nécessaire d'avoir cinq lignes de l'image en mémoire pour un filtre<B>917</B> et deux lignes de l'image en mémoire pour un filtre 2I2, toujours pour un niveau de décomposition. Les références des filtres 9l7 et 2I2 sont données plus loin.
Pour minimiser le nombre d'échantillons en mémoire tampon, les calculs sont effectués niveau par niveau, et les échantillons de haute fréquence sont transmis au circuit de quantification 22 dés qu'ils sont calculés. Comme représenté à la figure 8, un premier nombre de lignes de l'image NL, est mémorisé en mémoire tampon et filtré verticalement au premier niveau de décomposition. II est à noter que le filtrage horizontal, non détaillé ici, peut être effectué avant ou après le filtrage vertical.
Les échantillons de haute fréquence dans au moins une direction d'analyse sont fournis au circuit de quantification 22.
Les échantillons de basse fréquence dans les deux directions d'analyse sont mémorisés. Lorsqu'un nombre suffisant NI-2 de lignes d'échantillons de basse fréquence dans les deux directions d'analyse au premier niveau de résolution pour effectuer le filtrage au deuxième niveau de décomposition est mémorisé, alors ces lignes sont filtrées.
Le même processus est répété pour tous les niveaux de décomposition, ici au nombre de quatre. Le nombre de lignes nécessaires à chaque niveau, respectivement NL1, NI-2, NI-3 et NI-4 pour les quatre niveaux considérés, dépend du filtre utilisé au niveau considéré.
La relation entre la taille T (exprimée en nombre de ligne d'image) de la mémoire tampon et le nombre de lignes nécessaires à chaque niveau est T=NLi+NL212+NL3/4+NL4/8 Ce qui donne T x L échantillons, si L représente le nombre d'échantillons d'une ligne de l'image.
La formule générale, pour N niveaux de décomposition, entre la taille T et le nombre de lignes nécessaires à chaque niveau est : T = E "l NL"/2""'.
La figure 9 schématise le fonctionnement du circuit de transformation inclus dans le dispositif de codage. On s'intéresse ici au filtrage vertical. L'image à coder IM comporte un nombre donné NP de pixels par ligne qui est fourni à la mémoire morte 102.
Le circuit 21 a une mémoire tampon 210 de taille T. La taille T est également fournie à la mémoire morte 102. La mémoire 102 peut être une zone de la mémoire vive 103.
La mémoire morte 102 mémorise le nombre de pixels NP et la taille de la mémoire T dans des registres respectifs RNP et RT. En outre, la mémoire morte 102 comporte un registre RTC pour mémoriser une table de codage TC qui donne des jeux de paramètres de filtrage vertical, ou paramètres de transformation, en fonction du nombre de pixels de l'image à coder qui peuvent être traités ensemble, c'est-à-dire mémorisés simultanément dans la mémoire tampon. Un jeu de paramètres de filtrage comporte un nombre de niveaux de décomposition et des filtres pour chaque niveau de décomposition. Les paramètres de filtrage sont utilisés pour filtrer l'image. Le résultat du filtrage est mémorisé en mémoire tampon 210. L'image ainsi transformée est ensuite quantifiée et codée selon un mode de codage connu en soi (circuits 22 et 23). Le résultat est mémorisé dans un fichier 211, dit fichier compressé.
Bien entendu, il est possible de fixer à l'avance le nombre de niveaux de décomposition, les paramètres de filtrage ne comportent alors que des filtres. II est également possible de fixer les filtres à l'avance et les paramètres de filtrage ne comportent que le nombre de niveaux de décomposition.
La figure 10 est un exemple de table de codage selon la présente invention. Le nombre de pixels de l'image à coder qui peuvent être mémorisés simultanément dans la mémoire tampon est exprimé en nombre de lignes de l'image IM qui peuvent être mémorisées simultanément dans la mémoire tampon. II est à noter que le nombre de lignes T peut être soit un nombre décimal (première colonne du tableau), soit un nombre entier (deuxième colonne du tableau), calculé par arrondi à la valeur supérieure.
A chaque nombre de lignes, correspond un nombre de niveaux de décomposition et un filtre pour chaque niveau de décomposition. Les filtres utilisés dans cet exemple sont le filtre 2l2, aussi appelé filtre CDF(1,1), exposé dans le rapport WAILI : Wavelets with Integer Lifting , Katholieke Universiteit Leuven, Report TW262, juillet 1997, le filtre 5I3, aussi appelé filtre CDF(2,2), exposé dans le même rapport, et le filtre 9I7 par exemple exposé dans l'article Ten lectures on wavelets , par Ingrid DAUBECHIES, CBMS-NSF regional conference series in applied mathematics vol.61 SIAM, Journal of Mathematics Anal. Philadelphia PA 1992.
Le nombre de niveaux de décomposition et les filtres pour la décomposition verticale à chaque niveau ont été déterminés de manière à utiliser au mieux la mémoire tampon disponible tout en obtenant une décorrélation la meilleure possible. La décorrélation est une fonction croissante de la largeur du filtre. II est à noter que dans le cas où l'on considère uniquement un nombre entier de lignes, la meilleure combinaison de filtres est celle qui est en premier pour chaque nombre de lignes. Cette combinaison a été déterminée expérimentalement.
Bien entendu, il est possible d'utiliser d'autres filtres.
Il est à noter qu'il est préférable d'utiliser les filtres à support plus large sur les niveaux de plus grande résolution, où la quantité d'information à décorréler est la plus grande.
Le jeu de paramètres de filtrage est écrit ultérieurement dans le fichier compressé contenant les données de codage de l'image. La figure 11 schématise le fonctionnement du circuit de transformation inverse inclus dans le dispositif de décodage.
Les données compressées contenues dans le fichier compressé sont tout d'abord décodées. Le résultat est un ensemble de sous bandes de fréquence.
Le fichier compressé contient également les paramètres de filtrage qui ont été utilisés lors du codage. Les paramètres de filtrage sont mémorisés en mémoire morte 102.
Les paramètres de filtrage permettent de connaître le nombre de niveaux de décomposition et les filtres utilisés à chaque niveau lors du codage. Des opérations de transformation inverse sont effectuées pour fournir une image décodée IMD.
En référence à la<B>figure 12,</B> un procédé de codage selon l'invention d'une image numérique, mis en oeuvre dans le dispositif de codage, comporte des étapes E1 à E7.
L'algorithme de codage peut être mémorisé en totalité ou en partie dans tout moyen de stockage d'information capable de coopérer avec le microprocesseur. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD-ROM (disque compact à mémoire figée).
L'étape E1 est la lecture et la mémorisation de la taille de l'image à coder. La taille de la mémoire tampon 210 peut également être lue et mémorisée à l'étape E1, ou elle est mémorisée une fois pour toutes.
L'étape suivante E2 est le calcul du nombre de lignes de l'image qui peuvent être mémorisées simultanément en mémoire tampon. Cette étape est suivie de l'extraction de paramètres de transformation, en fonction du résultat de l'étape précédente, depuis la table de codage TC.
A l'étape suivante E4, les paramètres de transformation sont écrits dans le fichier compressé.
La transformation de l'image est effectuée à l'étape suivante E5, sur le nombre de niveaux de décomposition et avec les filtres correspondant aux paramètres de transformation précédemment extraits.
L'étape suivante E6 est la quantification et le codage de l'image transformée. Le résultat est écrit dans le fichier compressé à l'étape suivante E7. Le fichier compressé comporte ainsi les données de codage de l'image et les paramètres de transformation.
La figure 13 représente l'algorithme de décodage mis en oeuvre dans le dispositif de décodage, et qui comporte des étapes E20 à E25. L'algorithme de décodage peut être mémorisé en totalité ou en partie dans tout moyen de stockage d'information capable de coopérer avec le microprocesseur. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD-ROM (disque compact à mémoire figée).
L'étape E20 est la lecture des données à décoder. L'étape suivante E21 est la déquantification et le décodage des données. Le mode de décodage dépend du mode de codage utilisé lors de la compression des données. Le résultat est un ensemble de sous bandes de fréquence décodées.
L'étape suivante E22 est l'extraction des paramètres de transformation depuis le fichier compressé.
L'étape suivante E23 est la détermination des paramètres de la transformation inverse, en fonction des paramètres lus à l'étape précédente. L'étape suivante E24 est la transformation inverse pour former une image décodée. Cette image est exploitée à l'étape E25, et est par exemple visualisée sur un écran de visualisation.
Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits et représentés, mais englobe, bien au contraire, toute variante à la portée de l'homme du métier.

Claims (20)

<U>REVENDICATIONS</U>
1. Procédé de filtrage d'un signal numérique représentatif de grandeurs physiques, à au moins une dimension, ledit filtrage étant une décomposition du signal en sous bandes de fréquence, utilisant une mémoire tampon pour stocker temporairement des échantillons du signal, caractérisé en ce qu'il comporte les étapes de - détermination (E2) d'un nombre d'échantillons du signal qui peuvent être filtrés ensemble, en fonction de la taille de la mémoire tampon et d'un nombre d'échantillons du signal selon une dimension du signal, - sélection (E3) d'au moins un paramètre de filtrage dans un ensemble prédéterminé (TC), en fonction du nombre d'échantillons précédemment déterminé, - filtrage (E5) du signal selon l'au moins un paramètre sélectionné.
2. Procédé de codage de signal numérique représentatif de grandeurs physiques, à au moins une dimension, utilisant une mémoire tampon pour stocker temporairement des échantillons du signal, caractérisé en ce qu'il comporte les étapes de - détermination (E2) d'un nombre d'échantillons du signal qui peuvent être filtrés ensemble, en fonction de la taille de la mémoire tampon et d'un nombre d'échantillons du signal selon une dimension du signal, - sélection (E3) d'au moins un paramètre de filtrage dans un ensemble prédéterminé, en fonction du nombre d'échantillons précédemment déterminé, - filtrage (E5) du signal selon l'au moins paramètre sélectionné, ledit filtrage étant une décomposition du signal en sous bandes de fréquence, - codage (E6) du signal précédemment filtré.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce que le paramètre de filtrage comporte un nombre de niveaux de décomposition.
4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que le paramètre de filtrage comporte des filtres à appliquer à chaque niveau de décomposition.
5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le signal est bi-dimensionnel et le nombre d'échantillons du signal qui peuvent être filtrés ensemble est exprimé en nombre de rangées d'échantillons selon une dimension.
6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que l'au moins un paramètre de filtrage est associé (E4) aux données filtrées.
7. Procédé de filtrage inverse de données filtrées par le procédé selon la revendication 6, caractérisé en ce qu'il comporte les étapes de - lecture (E22) de l'au moins un paramètre de filtrage associé aux données filtrées, - détermination (E23) d'au moins un paramètre de filtrage inverse en fonction du paramètre précédemment lu, - filtrage inverse (E24) des données filtrées en fonction du paramètre de filtrage inverse précédemment déterminé.
8. Procédé de décodage de données codées par le procédé selon les revendications 2 et 6, caractérisé en ce qu'il comporte les étapes de - décodage (E21) des données codées, pour fournir les données filtrées, - lecture (E22) de l'au moins un paramètre de filtrage associé aux données filtrées, - détermination (E23) d'au moins un paramètre de filtrage inverse en fonction du paramètre précédemment lu, - filtrage inverse (E24) des données filtrées en fonction du paramètre de filtrage inverse précédemment déterminé.
9. Dispositif (21) de filtrage de signal numérique représentatif de grandeurs physiques, à au moins une dimension, ledit filtrage étant une décomposition du signal en sous bandes de fréquence, comportant une mémoire tampon pour stocker temporairement des échantillons du signal, caractérisé en ce qu'il comporte (100, 102, 103) - des moyens de détermination d'un nombre d'échantillons du signal qui peuvent être filtrés ensemble, en fonction de la taille de la mémoire tampon et d'un nombre d'échantillons du signal selon une dimension du signal, - des moyens de sélection d'au moins un paramètre de filtrage dans un ensemble prédéterminé (TC), en fonction du nombre d'échantillons précédemment déterminé, - des moyens de filtrage du signal selon l'au moins un paramètre sélectionné.
10. Dispositif de codage (2) de signal numérique représentatif de grandeurs physiques, à au moins une dimension, comportant une mémoire tampon pour stocker temporairement des échantillons du signal, caractérisé en ce qu'il comporte - des moyens de détermination d'un nombre d'échantillons du signal qui peuvent être filtrés ensemble, en fonction de la taille de la mémoire tampon et d'un nombre d'échantillons du signal selon une dimension du signal, - des moyens de sélection d'au moins un paramètre de filtrage dans un ensemble prédéterminé (TC), en fonction du nombre d'échantillons précédemment déterminé, - des moyens de filtrage du signal selon l'au moins un paramètre sélectionné, ledit filtrage étant une décomposition du signal en sous bandes de fréquence, - des moyens de codage du signal précédemment filtré.
11. Dispositif selon la revendication 9 ou 10, caractérisé en ce que les moyens de filtrage sont adaptés à mettre en oeuvre un paramètre de filtrage qui est un nombre de niveaux de décomposition.
12. Dispositif selon l'une quelconque des revendications 9 à 11, caractérisé en ce que les moyens de filtrage sont adaptés à mettre en oeuvre un paramètre de filtrage qui comporte des filtres à appliquer à chaque niveau de décomposition.
13. Dispositif selon l'une quelconque des revendications 9 à 12, caractérisé en ce qu'il est adapté à traiter un signal (1M) qui est bi-dimensionnel et en ce que le nombre d'échantillons du signal qui peuvent être filtrés ensemble est exprimé en nombre de rangées d'échantillons selon une dimension.
14. Dispositif selon l'une quelconque des revendications 9 à 13, caractérisé en ce qu'il est adapté à associer l'au moins un paramètre de filtrage aux données filtrées.
15. Dispositif selon l'une quelconque des revendications 9 à 14, caractérisé en ce que les moyens de détermination, de sélection et de filtrage sont incorporés dans - un microprocesseur (100), - une mémoire morte (102) comportant un programme pour coder les données, et - une mémoire vive (103) comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution dudit programme.
16. Dispositif de filtrage (53) inverse de données filtrées par le dispositif selon la revendication 14, caractérisé en ce qu'il comporte - des moyens de lecture de l'au moins un paramètre de filtrage associé aux données filtrées, - des moyens de détermination d'au moins un paramètre de filtrage inverse en fonction du paramètre précédemment lu, - des moyens de filtrage inverse des données filtrées en fonction du paramètre de filtrage inverse précédemment déterminé.
17. Dispositif de décodage (5) de données codées par le procédé selon les revendications 10 et 14, caractérisé en ce qu'il comporte - des moyens de décodage des données codées, pour fournir les données filtrées, -des moyens de lecture de l'au moins un paramètre de filtrage associé aux données filtrées, - des moyens de détermination d'au moins un paramètre de filtrage inverse en fonction du paramètre précédemment lu, - des moyens de filtrage inverse des données filtrées en fonction du paramètre de filtrage inverse précédemment déterminé.
18. Dispositif selon la revendication 16 ou 17, caractérisé en ce que les moyens de lecture, de détermination, et de filtrage inverse sont incorporés dans <B>-</B>un microprocesseur (100), - une mémoire morte (102) comportant un programme pour décoder les données, et - une mémoire vive (103) comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution dudit programme.
19. Appareil (10) de traitement de signal numérique, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 8.
20. Appareil (10) de traitement de signal numérique, caractérisé en ce qu'il comporte le dispositif selon l'une quelconque des revendications 9 à 18.
FR9909093A 1999-07-13 1999-07-13 Procede et dispositif de filtrage de signal numerique Expired - Fee Related FR2796506B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9909093A FR2796506B1 (fr) 1999-07-13 1999-07-13 Procede et dispositif de filtrage de signal numerique

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9909093A FR2796506B1 (fr) 1999-07-13 1999-07-13 Procede et dispositif de filtrage de signal numerique

Publications (2)

Publication Number Publication Date
FR2796506A1 true FR2796506A1 (fr) 2001-01-19
FR2796506B1 FR2796506B1 (fr) 2001-10-05

Family

ID=9548060

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9909093A Expired - Fee Related FR2796506B1 (fr) 1999-07-13 1999-07-13 Procede et dispositif de filtrage de signal numerique

Country Status (1)

Country Link
FR (1) FR2796506B1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0595710A1 (fr) * 1992-10-29 1994-05-04 France Telecom Procédé et dispositif de segmentation en sous-bandes et de reconstruction d'un signal numérique, et dispositif correspondant
EP0664652A1 (fr) * 1994-01-21 1995-07-26 Thomson-Csf Procédé et dispositif d'analyse et de synthèse en sous bandes adaptatifs
EP0866426A1 (fr) * 1997-03-17 1998-09-23 Alcatel Sélection dynamique de l'algorithme de compression d'image

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0595710A1 (fr) * 1992-10-29 1994-05-04 France Telecom Procédé et dispositif de segmentation en sous-bandes et de reconstruction d'un signal numérique, et dispositif correspondant
EP0664652A1 (fr) * 1994-01-21 1995-07-26 Thomson-Csf Procédé et dispositif d'analyse et de synthèse en sous bandes adaptatifs
EP0866426A1 (fr) * 1997-03-17 1998-09-23 Alcatel Sélection dynamique de l'algorithme de compression d'image

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SAVA H ET AL: "PARALLEL PIPELINE IMPLEMENTATION OF WAVELET TRANSFORMS", IEE PROCEEDINGS: VISION, IMAGE AND SIGNAL PROCESSING,GB,INSTITUTION OF ELECTRICAL ENGINEERS, vol. 144, no. 6, 1 December 1997 (1997-12-01), pages 355 - 359, XP000734442, ISSN: 1350-245X *
SWELDENS W: "THE LIFTING SCHEME: A CUSTOM-DESIGN CONSTRUCTION OF BIORTHOGONAL WAVELETS", APPLIED AND COMPUTATIONAL HARMONIC ANALYSIS,US,ACADEMIC PRESS, SAN DIEGO, CA, vol. 3, no. 2, 1 April 1996 (1996-04-01), pages 186 - 200, XP000674880, ISSN: 1063-5203 *

Also Published As

Publication number Publication date
FR2796506B1 (fr) 2001-10-05

Similar Documents

Publication Publication Date Title
US6101279A (en) Image compression system using block transforms and tree-type coefficient truncation
FR2826823A1 (fr) Procede et dispositif de traitement d&#39;un signal numerique code
JP2007159154A (ja) タイル型ウェーブレット状変換及び希薄データコード化に基づく多解像度像データ管理システム及び方法
FR2842983A1 (fr) Transcodage de donnees
FR2790173A1 (fr) Dispositif et procede de transformation de signal numerique
FR2815748A1 (fr) Procede et dispositif de traitement et de decodage d&#39;un signal numerique code
US7346218B2 (en) Method and apparatus for encoding and decoding subband decompositions of signals
FR2906093A1 (fr) Procedes et dispositifs de codage et de decodage, systeme de telecommunication et programme d&#39;ordinateur les mettant en oeuvre
FR2849982A1 (fr) Decodage d&#39;une image numerique codee selon plusieurs niveaux de resolution
US7630568B2 (en) System and method for low-resolution signal rendering from a hierarchical transform representation
FR2763766A1 (fr) Procede et dispositif de mise en oeuvre d&#39;un systeme a ondelette noye reversible
US6934420B1 (en) Wave image compression
FR2792432A1 (fr) Dispositif et procede de transformation de signal numerique
FR2816138A1 (fr) Decodage de donnees numeriques
US20010019335A1 (en) Iamge coding-decoding method, image coding-decoding system, image coder, image decoder, and storage medium
US6523051B1 (en) Digital signal transformation device and method
FR2796506A1 (fr) Procede et dispositif de filtrage de signal numerique
FR2812506A1 (fr) Procede et dispositif d&#39;alerte lors du decodage progressif d&#39;une image numerique codee avec une region d&#39;interet
FR2927745A1 (fr) Procede et dispositif de codage d&#39;un signal numerique.
FR2832875A1 (fr) Codage et decodage de signal numerique
FR2831729A1 (fr) Codage et decodage de signal numerique
FR2790171A1 (fr) Dispositif et procede de transformation de signal numerique
FR2794262A1 (fr) Procede de transformation d&#39;un signal numerique
FR2790172A1 (fr) Dispositif et procede de transformation de signal numerique
FR2790168A1 (fr) Dispositif et procede de transformation de signal numerique

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140331