FR2927744A1 - Procede et dispositif de filtrage d'un signal numerique. - Google Patents

Procede et dispositif de filtrage d'un signal numerique. Download PDF

Info

Publication number
FR2927744A1
FR2927744A1 FR0851088A FR0851088A FR2927744A1 FR 2927744 A1 FR2927744 A1 FR 2927744A1 FR 0851088 A FR0851088 A FR 0851088A FR 0851088 A FR0851088 A FR 0851088A FR 2927744 A1 FR2927744 A1 FR 2927744A1
Authority
FR
France
Prior art keywords
sub
signal
sample
context
filtering
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
FR0851088A
Other languages
English (en)
Other versions
FR2927744B1 (fr
Inventor
Felix Henry
Isabelle Corouge
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 FR0851088A priority Critical patent/FR2927744B1/fr
Priority to US12/389,587 priority patent/US8588539B2/en
Publication of FR2927744A1 publication Critical patent/FR2927744A1/fr
Application granted granted Critical
Publication of FR2927744B1 publication Critical patent/FR2927744B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • 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
    • H04N19/117Filters, e.g. for pre-processing or post-processing
    • 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
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • 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
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Pour filtrer un signal numérique, dans lequel, pour chaque échantillon du signal, une pluralité de fonctions de contexte tiennent compte d'un nombre prédéterminé d'autres échantillons du signal : on calcule (302) la valeur d'une fonction de contexte parmi la pluralité de fonctions de contexte pour chaque échantillon à filtrer ; on divise (302, 304) le signal en un ensemble de sous-signaux correspondant respectivement aux différentes valeurs des fonctions de contexte ; et pour chaque sous-signal : on détermine un filtre optimal suivant un premier critère qui dépend des valeurs du sous-signal ; et on associe le filtre optimal à la fonction de contexte correspondant au sous-signal.

Description

1
La présente invention se rapporte à un procédé et à un dispositif de filtrage d'un signal numérique. Elle appartient au domaine général du codage et du décodage de signaux numériques représentant des grandeurs physiques. A titre d'exemples nullement limitatifs, les signaux concernés peuvent représenter des images fixes ou des vidéos ou, plus généralement, des données multimédia. Par exemple, une image numérique provenant d'un appareil photo numérique est constituée d'un ensemble de N x M unités élémentaires d'image ou pixels, où N est la hauteur de l'image et M sa largeur. Cette image est codée avant d'être stockée en mémoire. Les données initiales, c'est-à-dire l'information représentative des pixels de l'image, sont organisées en un tableau bidimensionnel accessible, par exemple, ligne à ligne. Une image numérique subit généralement une transformation préalablement à son codage. De même, lors du décodage d'une image numérique codée, l'image subit une transformation inverse. La transformation peut consister à appliquer un filtre à tout ou partie de l'image numérique. Un filtre peut être vu comme un produit de convolution entre le signal d'image et un vecteur prédéterminé permettant, pour chaque pixel de la région à laquelle il s'applique, de modifier sa valeur en fonction des valeurs des pixels avoisinants, affectées de coefficients. La technique de codage décrite dans le document de brevet FR-A-2 889 382 permet de filtrer le signal préalablement à une compression, en orientant le filtre le long de certaines directions, pour chaque pixel, en vue de réduire la dynamique du signal engendré et ainsi d'augmenter la compression du signal. On rappelle ci-dessous les principaux aspects de ce filtrage, qui est utilisé par la présente invention dans un mode particulier de réalisation. Il n'est cependant pas exclu que l'invention mette en oeuvre un autre type de transformation, en lieu et place d'un tel filtrage.
Ce filtrage, qui utilise une décomposition du signal en sous-bandes de fréquence, vise à réduire la quantité d'information présente dans les sous- 2
bandes, de façon à améliorer la compression du signal en vue de son stockage ou de sa transmission. Chaque échantillon filtré présente une valeur d'amplitude et une valeur d'orientation géométrique. Par "orientation", on entend ici une direction dans l'image (par exemple, ligne de pixels, ou colonne de pixels, ou diagonale de pixels). On applique un filtrage selon l'orientation qui aura été déterminée comme la plus appropriée, de façon à augmenter les performances du filtrage. Un tel procédé de filtrage permet de tenir compte des variations locales et notamment de l'orientation locale du flux du signal numérique tout en préservant la propriété de séparabilité du filtrage, c'est-à-dire que le filtrage peut être appliqué de façon indépendante sur les différentes dimensions du signal numérique traité, par exemple, successivement sur chacune de ses dimensions, comme, dans le cas d'un signal d'image, le long des lignes et le long des colonnes ou inversement. Pour faciliter l'opération de filtrage inverse effectuée au décodage, on peut associer lors du codage, à chaque échantillon filtré, une information représentative de l'orientation géométrique du filtre appliqué à cet échantillon. Le filtrage d'échantillons peut mettre en oeuvre un schéma de filtrage particulièrement avantageux pour la présente invention, appelé schéma de "lifting" (en anglais "lifting scheme"), avec par exemple au moins deux filtres, qui peuvent être appliqués chacun à des échantillons différents, ce qui est économe en termes d'espace mémoire, étant donné que les échantillons sont remplacés au cours de leur filtrage.
Le schéma de lifting est une mise en oeuvre particulière de la transformation en ondelettes qui effectue deux filtrages successifs, un premier filtrage passe-haut et un second filtrage passe-bas, chaque échantillon étant remplacé par le résultat de son filtrage. Par exemple, le schéma de lifting effectue un premier passage en sélectionnant les échantillons ayant une position paire, en vue de leur filtrage selon un filtre passe-haut et de leur remplacement. Ensuite, le schéma de lifting effectue un second passage en sélectionnant les échantillons ayant une 3
position impaire, en vue de leur filtrage selon un filtre passe-bas et de leur remplacement. Les coefficients passe-haut sont engendrés en utilisant uniquement des coefficients de rang pair, puis les coefficients passe-bas sont engendrés en utilisant uniquement des coefficients de rang impair et des coefficients engendrés lors de l'étape de filtrage passe-haut. Quant au décodage d'un signal numérique codé par une telle technique, il consiste principalement à obtenir une pluralité d'échantillons filtrés, puis à appliquer un filtrage inverse à des échantillons filtrés, ce filtrage inverse étant réalisé sur un échantillon filtré selon l'orientation géométrique du filtre qui a été utilisée pour le filtrage de cet échantillon lors de son codage conformément à l'invention. L'article de Paul G. HOWARD et Jeffrey Scott VITTER intitulé "Fast and Efficient Lossless Image Compression", publié dans Proceedings of the IEEE Computer Society/NASA/CESDIS Data Compression Conference, Snowbird, Utah, 30 mars -1er avril 1993, pages 351 à 360, décrit une technique de compression sans pertes d'images qui consiste notamment à déterminer une valeur dite de contexte d'un échantillon du signal d'image en fonction des échantillons précédents et à déterminer un paramètre d'un codeur entropique, le codeur de Rice-Golomb, en minimisant le débit de tous les échantillons précédents qui appartiennent à un même contexte. La présente invention a pour but d'améliorer le taux de compression du signal numérique sans modifier un paramètre d'un codeur entropique, mais en utilisant le paramètre de contexte de chaque échantillon du signal afin de déterminer l'orientation des filtres.
Dans ce but, la présente invention propose un procédé de filtrage d'un signal numérique, dans lequel, pour chaque échantillon du signal, une pluralité de fonctions de contexte tiennent compte d'un nombre prédéterminé d'autres échantillons du signal, ce procédé étant remarquable en ce qu'il comporte des étapes consistant à : - calculer la valeur d'une fonction de contexte parmi la pluralité de fonctions de contexte pour chaque échantillon à filtrer ; 4
- diviser le signal en un ensemble de sous-signaux correspondant respectivement aux différentes valeurs des fonctions de contexte ; et pour chaque sous-signal : - déterminer un filtre optimal suivant un premier critère qui dépend des valeurs du sous-signal ; et - associer le filtre optimal à la fonction de contexte correspondant à ce sous-signal. Ainsi, l'invention permet d'augmenter la performance de compression par l'amélioration de la qualité du filtrage.
Dans un mode particulier de réalisation, le procédé comporte en outre une étape consistant à sélectionner parmi la pluralité de fonctions de contexte une fonction de contexte optimale selon un second critère prédéterminé. Cela permet de faciliter la compression du signal.
Selon une caractéristique particulière, le nombre prédéterminé d'autres échantillons précité avoisine un échantillon ayant une position correspondant à la position de l'échantillon à filtrer, dans une sous-bande de fréquences de résolution immédiatement inférieure à la résolution de la sous-bande à laquelle appartient l'échantillon à filtrer.
Cela permet d'obtenir des données représentatives de la statistique dans le voisinage spatial de l'échantillon à coder, qui est la plus efficace en vue d'augmenter les performances de compression. Selon une caractéristique particulière, la fonction de contexte peut prendre trois valeurs 0, 1 et 2.
Cela représente un bon compromis entre l'efficacité de la fonction de contexte et la complexité de calcul. Dans un mode particulier de réalisation, le procédé met en oeuvre les fonctions de contexte suivantes : fi(X)=OsiA<B-T,1 si A ù BT,2siB<A-T; f2(X) = 0 si A<C-T, 1 si A ùCl T , 2 si C<A-T ; f3(X) = 0 si A<D-T, 1 si 1A D <_ T, 2 si D<A-T ; f4(X) = 0 si B<C-T, 1 si B ùCl T, 2 si C<B-T ; f5(X) = 0 si B<D-T, 1 si B ùDl T, 2 si D<B-T ; f6(X) = 0 si C<D-T, 1 si Cù D <_ T, 2 si D<C-T ; où : 5 • X est la valeur de l'échantillon en cours de filtrage, • A, B, C, D sont les valeurs d'échantillons avoisinant un échantillon ayant une position correspondant à la position de l'échantillon X et appartenant à la sous-bande de fréquences de résolution immédiatement inférieure à la résolution de la sous-bande à laquelle appartient l'échantillon X, et • T est une valeur de seuil prédéfinie. D'un point de vue expérimental, ces fonctions de contexte se révèlent particulièrement avantageuses. Dans un mode particulier de réalisation où le filtrage est effectué selon une pluralité d'orientations géométriques, pour chaque sous-signal, la détermination du filtre optimal consiste à sélectionner une orientation parmi la pluralité d'orientations. Ces filtres orientés présentent de bonnes propriétés psychovisuelles dans le cas où le signal considéré est un signal d'image, à savoir, ils minimisent l'impact visuel des dégradations dues à la compression du signal.
Selon une caractéristique particulière, le premier critère précité consiste à sélectionner l'orientation qui minimise la somme des amplitudes des échantillons de sortie des filtres suivant les diverses orientations appliqués au sous-signal. Selon une autre caractéristique particulière, le second critère précité consiste à sélectionner la fonction de contexte qui minimise le coût de codage de l'ensemble des sous-signaux. Cette façon de sélectionner l'orientation ainsi que la fonction de contexte permet d'optimiser le compromis entre la distorsion engendrée par la compression et le débit utilisé pour coder le signal.
Le signal numérique considéré peut être représentatif d'une image fixe. 6
Le signal numérique considéré peut également être représentatif d'une vidéo. Dans le même but que celui indiqué plus haut, la présente invention propose également un dispositif de filtrage d'un signal numérique, dans lequel, pour chaque échantillon du signal, une pluralité de fonctions de contexte tiennent compte d'un nombre prédéterminé d'autres échantillons du signal, ce dispositif étant remarquable en ce qu'il comporte : - un module pour calculer la valeur d'une fonction de contexte parmi la pluralité de fonctions de contexte pour chaque échantillon à filtrer ; - un module pour diviser le signal en un ensemble de sous-signaux correspondant respectivement aux différentes valeurs des fonctions de contexte ; - un module pour déterminer, pour chaque sous-signal, un filtre optimal suivant un premier critère qui dépend des valeurs du sous-signal ; et - un module pour associer, pour chaque sous-signal, le filtre optimal à la fonction de contexte correspondant à ce sous-signal. Toujours dans le même but, la présente invention vise aussi un système de télécommunications comprenant une pluralité de dispositifs terminaux reliés à travers un réseau de télécommunications, remarquable en ce qu'il comprend au moins un dispositif terminal équipé d'un dispositif de filtrage tel que succinctement décrit ci-dessus. Toujours dans le même but, la présente invention vise aussi un moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, remarquable en ce qu'il permet la mise en oeuvre d'un procédé de filtrage tel que succinctement décrit ci-dessus. Toujours dans le même but, la présente invention vise aussi un produit programme d'ordinateur pouvant être chargé dans un appareil programmable, remarquable en ce qu'il comporte des séquences d'instructions pour mettre en oeuvre un procédé de filtrage tel que succinctement décrit ci-dessus, lorsque ce programme est chargé et exécuté par l'appareil programmable. 7
Les caractéristiques particulières et les avantages du dispositif de filtrage, du système de télécommunications, du moyen de stockage d'informations et du produit programme d'ordinateur étant similaires à ceux du procédé de filtrage, ils ne sont pas répétés ici.
D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit de modes particuliers de réalisation, donnés à titre d'exemples non limitatifs. La description se réfère aux dessins qui l'accompagnent, dans lesquels : - la figure 1 montre de manière simplifiée un système de traitement 10 d'images numériques susceptible de mettre en oeuvre un procédé de filtrage conforme à la présente invention ; - la figure 2 représente de manière schématique un mode particulier de réalisation d'un appareil susceptible de mettre en oeuvre la présente invention ; 15 - la figure 3 est un organigramme illustrant, parmi les principales étapes d'un procédé de filtrage conforme à la présente invention, celles qui sont mises en oeuvre lors du codage d'un signal numérique ; - la figure 4 est un organigramme illustrant, parmi les principales étapes d'un procédé de filtrage conforme à la présente invention, celles qui sont 20 mises en oeuvre lors du décodage d'un signal numérique ; - la figure 5 donne des exemples de fonctions de contexte optimales et de tables d'orientation optimales pour une sous-bande d'un signal numérique d'image traité conformément à la présente invention, dans un mode particulier de réalisation ; 25 - la figure 6 illustre un exemple de filtrage selon huit orientations géométriques prédéfinies, susceptible d'être utilisé par le procédé de filtrage conforme à la présente invention, dans un mode particulier de réalisation ; - la figure 7 illustre un exemple de filtrage selon l'une des orientations prédéfinies représentées sur la figure 6 ; 30 - la figure 8 illustre un exemple de filtrage selon une autre des orientations prédéfinies représentées sur la figure 6 ; et 8
- la figure 9 illustre des échantillons appartenant au contexte d'un échantillon en cours de filtrage conformément à la présente invention, dans un mode particulier de réalisation. Le schéma-bloc de la figure 1 illustre un système de traitement d'images numériques notamment par codage et décodage impliquant un filtrage selon l'invention, ce système étant désigné par la référence générale notée 1. Le système comporte un dispositif 2 de codage, une unité 4 de transmission ou stockage et un dispositif 6 de décodage. L'invention trouve une application particulièrement intéressante dans un système de télécommunications comprenant une pluralité de dispositifs terminaux reliés à travers un réseau de télécommunications. Le procédé de codage selon l'invention peut être mis en oeuvre dans des dispositifs terminaux du système, de façon à autoriser une transmission de fichiers à travers le réseau de télécommunications et réduire ainsi le trafic et les temps de transmission. Une autre application particulièrement intéressante consiste à mettre en oeuvre le procédé de codage selon l'invention dans un dispositif de stockage d'entités multimédia, de façon à pouvoir stocker une grande quantité de données dans une unité de stockage.
Comme le montre la figure 1, le dispositif 2 de codage selon l'invention reçoit en entrée une image IO d'origine. L'image IO est traitée par le dispositif 2 de codage qui délivre en sortie un fichier codé contenant des données d'image comprimées, désigné par le signe de référence FC. Le traitement exécuté dans le dispositif 2 de codage consiste à effectuer des opérations de transformation, de quantification et de codage entropique, respectivement dans les unités 10, 12 et 14. L'opération de transformation effectuée dans l'unité 10 est celle qui met en oeuvre l'invention, tandis que les opérations de quantification et de codage entropique respectivement effectuées dans les unités 12 et 14 mettent en oeuvre des moyens classiques. 9
Le fichier codé FC est fourni à l'unité 4 de transmission ou stockage, pour être, par exemple, transmis à travers un réseau ou stocké dans une unité de stockage telle qu'un CD, un DVD ou un disque dur. Le dispositif 6 de décodage reçoit en entrée le fichier codé FC en provenance de l'unité 4 de transmission ou stockage et fournit en sortie une image décodée (ou décomprimée) ID, laquelle est sensiblement identique à l'image IO d'origine. Lors du décodage, l'image codée est successivement soumise à des opérations de décodage entropique, de déquantification et de transformation inverse, respectivement dans les unités 18, 20 et 22. L'opération de transformation inverse effectuée dans l'unité 22 est celle qui met en oeuvre l'invention, tandis que les étapes de décodage entropique et de déquantification respectivement effectuées dans les unités 18 et 20 mettent en oeuvre des moyens classiques.
Généralement, les données initiales correspondant à l'image IO d'origine sont organisées en un tableau bidimensionnel qui est accessible ligne à ligne. Le mode particulier de réalisation décrit ci-après présente le codage et le décodage d'une image numérique fixe, c'est-à-dire d'un signal bidimensionnel. Le principe est toutefois identique pour un signal présentant un nombre de dimensions supérieur, par exemple, pour une vidéo, qui se compose de trois dimensions. On décrit maintenant le codage, conformément au procédé de l'invention, d'une image numérique, ce codage comprenant notamment une phase de filtrage consistant à décomposer le signal numérique d'image en sous-bandes de fréquence. Dans le mode particulier de réalisation de l'invention décrit en détail ci-après, ce type de filtrage en sous-bandes est utilisé pour comprimer l'image numérique. Un tel filtrage peut être, par exemple, mis en oeuvre dans la norme JPEG2000, au cours d'une opération également appelée décomposition en ondelettes. 10
Pour plus de détails sur la norme JPEG2000, on se reportera utilement à l'adresse Internet suivante : www.jpeg.org. Toutefois, la présente invention diffère du filtrage tel qu'utilisé dans JPEG2000 car les filtres utilisés peuvent être orientés, comme décrit dans le 5 document de brevet FR-A-2 889 382. L'organigramme de la figure 3 illustre des étapes d'un procédé de filtrage conforme à la présente invention qui sont mises en oeuvre lors du codage d'un signal numérique, dans un mode particulier de réalisation où le signal considéré est un signal d'image. 10 La présente invention utilise une technique de division en sous-bandes de fréquences similaire à la transformation en ondelettes. Cette technique consiste à diviser l'image d'origine en plusieurs résolutions, chaque résolution contenant trois sous-bandes, à savoir, les hautes fréquences verticales, les hautes fréquences horizontales, et les deux, excepté pour le 15 niveau de résolution le plus bas, qui contient quatre sous-bandes, à savoir, les trois sous-bandes précitées ainsi qu'une sous-bande de basses fréquences. On décrit ci-après le déroulement du filtrage direct, du codage, du décodage et du filtrage inverse d'une seule sous-bande. Ainsi, la figure 3 se rapporte au codage d'une sous-bande et la figure 4 au décodage d'une sous- 20 bande. Comme le montre la figure 3, l'algorithme débute à l'étape 300, au cours de laquelle on divise en blocs une sous-bande de fréquences à filtrer. En variante, la sous-bande à décomposer peut être une sous-bande obtenue lors d'un filtrage précédent. 25 On notera que la première sous-bande à décomposer est en fait l'image d'origine. La taille des blocs est déterminée par les paramètres d'entrée. La sous-bande est divisée en N blocs carrés notés Bo, BI, ..., BN_1. Une taille de bloc particulièrement avantageuse a été déterminée expérimentalement comme 30 étant égale à 16x16 pixels. Puis les étapes 302 à 310 décrites ci-après sont effectuées pour chacun des blocs. 11
Différentes notions nécessaires à la compréhension de ces étapes sont introduites ci-dessous : le filtrage orienté, les fonctions de contexte et les tables d'orientation. Comme mentionné plus haut, le document FR-A-2 889 382 décrit une technique de filtrage dit orienté. En effet, le filtre passe-haut utilisé dans la première phase du filtrage selon le schéma de lifting peut être orienté suivant plusieurs directions prédéfinies. On peut par exemple utiliser un filtre entier 13/7 avec huit orientations prédéfinies, comme le montre la figure 6. Cette figure illustre le filtrage à une dimension de la ligne i, en supposant que la ligne numéro 0 est la ligne du bas de l'image. Le coefficient en cours de filtrage passe-haut est le jème coefficient de la ligne, en supposant que la colonne 0 est la plus à gauche dans l'image. On note x(i,j) ce coefficient.
Lorsqu'une transformation en ondelettes classique est appliquée, le filtre est appliqué au vecteur de coefficients [x(i,j-3),x(i,j-1),x(i,j),x(i,j+1),x(i,j+3)]. Cela est illustré par le segment numéroté O. Les segments 1 à 7 représentent les autres orientations possibles. Par exemple, le segment 2 représente le filtrage du vecteur [x(i-3,j-3),x(i-1,j-1),x(i,j),x(i+1,j+1),x(i+3,j+3)] illustré par le chiffre 2 en gras sur la figure 7. Il peut arriver qu'un segment n'intercepte pas directement un coefficient, comme c'est le cas pour le segment 1 illustré par le chiffre 1 en gras sur la figure 8. Dans ce cas, on utilise une interpolation entre les coefficients "accessibles", c'est-à-dire, dans le cas présent, qui appartiennent à une colonne impaire de coefficients. Ainsi, par exemple, le segment 1 représente le filtrage du vecteur : [(x(i-2,j-3)+x(i-1,j-3))/2,(x(i-1,j-1)+x(i,j-1))/2,x(i,j),(x(i,j+1)+x(i+1, j+1))/2,(x(i+1,j+3)+x(i+2,j+3))/2]. On présente maintenant la notion de fonction de contexte, en liaison avec la figure 9.
Conformément à la présente invention, dans le mode préféré de réalisation, l'orientation du filtre appliqué à un échantillon est déterminée par la valeur d'une fonction de contexte à la position de cet échantillon. La fonction de 12
contexte examine les valeurs de la sous-bande basse fréquence de résolution immédiatement inférieure à celle de la sous-bande en cours de filtrage, aux positions entourant l'échantillon de coordonnées (i/2,j/2), sachant qu'on note (i,j) les coordonnées de l'échantillon à filtrer. D'une façon générale, les coordonnées (i/2,j/2) sont prises égales à la partie entière inférieure à la valeur réelle de (i/2,j/2). La figure 9 montre la position des échantillons dits de contexte autour d'un échantillon X' situé dans la sous-bande basse fréquence de résolution immédiatement inférieure à celle de la sous-bande en cours de filtrage et correspondant à l'échantillon à filtrer. Ces échantillons sont nommés A, B, C, D. Les valeurs de ces échantillons appartiennent à la sous-bande de résolution immédiatement inférieure. Il est à noter qu'il ne s'agit pas des valeurs d'origine des échantillons, mais de leurs valeurs décodées et ce, dans le but d'éviter la propagation des erreurs. Les valeurs de A, B, C, D sont ainsi les mêmes au codage et au décodage. L'échantillon en cours de filtrage est appelé X. Dans un exemple préféré de mise en oeuvre de la présente invention, on utilise six fonctions de contexte possibles. Ces fonctions de contexte sont les suivantes : f1(X) = 0 si A<B-T, 1 si A ù B T , 2 si B<A-T ; f2(X) = 0 si A<C-T, 1 si A ùCl T, 2 si C<A-T ; f3(X) = 0 si A<D-T, 1 si 1A D T, 2 si D<A-T ; f4(X) = 0 si B<C-T, 1 si B ùCl T, 2 si C<B-T ; f5(X) = 0 si B<D-T, 1 si B ùDl T, 2 si D<B-T ; f6(X) = 0 si C<D-T, 1 si C T , 2 si D<C-T ; où T est un seuil prédéfini. Ainsi, chaque fonction de contexte peut prendre uniquement trois valeurs, 0, 1 et 2. Ces valeurs sont appelées valeurs de contexte. On explique maintenant la notion de table d'orientation. Une table d'orientation est une table de consultation (en anglais "look-up table" ou LUT) 13
qui associe une valeur d'orientation de filtre à une valeur de contexte. Sachant que les fonctions de contexte prennent seulement trois valeurs (0, 1 et 2), une table d'orientation est simplement une liste de trois orientations. La table d'orientation est utilisée pour déterminer l'orientation qui doit être appliquée à un échantillon. Par exemple, la notation [4,0,1] pour une table d'orientation signifie qu'un échantillon X doit être filtré avec l'orientation 4 si la fonction de contexte de cet échantillon prend la valeur 0 à la position de X, avec l'orientation 0 si la fonction de contexte prend la valeur 1 en X et avec l'orientation 1 si la fonction de contexte prend la valeur 2 en X.
En référence à la figure 3, pour chaque bloc de la sous-bande en cours de traitement, une étape 302 consiste à calculer un coût de codage et une table d'orientation pour chaque fonction de contexte. Il est nécessaire pour cela de procéder à la détermination de la table d'orientation optimale pour une fonction de contexte donnée f;.
A cette fin, on calcule tout d'abord la valeur de contexte pour chaque échantillon dans le bloc courant, en appliquant la fonction de contexte f; à chaque pixel du bloc et en mémorisant le résultat. Ensuite, on sépare les échantillons correspondant à chacune des valeurs de contexte 0, 1 et 2. Cela produit trois groupes d'échantillons, appelés sous-signaux, correspondant respectivement aux trois valeurs de contexte. Puis, pour chacun de ces trois groupes d'échantillons, on détermine l'orientation de filtrage optimale, en simulant le filtrage de tous les échantillons du groupe suivant toutes les orientations possibles, huit dans l'exemple non limitatif illustré sur les dessins, et en sélectionnant l'orientation qui minimise la somme de l'amplitude de la sortie des filtres sur le groupe considéré. L'orientation ainsi sélectionnée est considérée comme l'orientation optimale. C'est l'orientation qui minimise la quantité d'énergie produite dans le bloc, pour les échantillons du groupe considéré. En variante, pour déterminer l'orientation de filtrage optimale, on pourrait aussi minimiser la somme des carrés des amplitudes de sortie des filtres, ou encore minimiser la valeur absolue des amplitudes de sortie de ces filtres. 14
Ensuite, on construit la table d'orientation, qui consiste simplement en la liste des orientations optimales calculées au cours de l'étape précédente, ces orientations étant ordonnées selon les valeurs croissantes des valeurs de contexte.
La somme de l'amplitude de la sortie des filtres sur un groupe d'échantillons tel que défini ci-dessus représente le coût de codage de ce groupe. Par conséquent, la somme des coûts de codage des trois groupes (qui correspondent aux valeurs de contexte 0, 1 et 2) du bloc représente le coût de codage de la fonction de contexte f; sur le bloc courant.
Comme expliqué ci-dessus, on calcule donc le coût de codage de chaque fonction de contexte f2, ..., f6 et on mémorise la table d'orientation optimale et le coût de codage associés à chaque fonction de contexte. L'étape suivante 304 consiste à déterminer la meilleure fonction de contexte et la table d'orientation optimale qui lui correspond.
La meilleure fonction de contexte est définie comme celle qui présente le coût de codage le plus faible. Cette fonction de contexte et sa table d'orientation optimale correspondante sont associées au bloc courant de la sous-bande en cours de traitement. La figure 5 illustre une sous-bande de 80x80 échantillons, divisée en 25 blocs de 16x16 pixels. Pour chaque bloc, une fonction de contexte optimale f; et une table d'orientation optimale [X,Y,Z] sont calculées. Les fonctions de contexte sont ensuite rassemblées en un signal unique qui est comprimé par des moyens classiques. Les tables d'orientation sont groupées en sous-signaux correspondant respectivement aux différentes fonctions de contexte, puis chaque sous-signal est comprimé de façon indépendante. Ensuite, à l'étape 306, l'indice de la meilleure fonction de contexte est fourni en sortie sous la forme d'un signal qui contient toutes les meilleures fonctions de contexte, à savoir, une par bloc. L'étape suivante 312 consiste à comprimer le signal qui contient toutes les meilleures fonctions de contexte. Pour cela, on peut utiliser une simple compression sans pertes telle qu'un codage de Huffman ou un codage 15
arithmétique. A ce stade, les corrélations intrinsèques de ce signal n'ont pas encore été explorées. A l'étape 308, qui fait suite à l'étape 304, la table d'orientation optimale pour chaque bloc est fournie en sortie sous la forme d'un signal contenant toutes les tables d'orientation. L'étape suivante 314 consiste à séparer les tables d'orientation en sous-signaux, chaque sous-signal contenant uniquement les tables d'orientation correspondant à la même fonction de contexte. La figure 5 illustre un exemple de la construction de ces sous-signaux.
Puis une étape 318 consiste à comprimer de façon indépendante chaque sous-signal produit à l'étape 314, au moyen d'une compression sans pertes classique du type d'un codage arithmétique, par exemple. Les étapes 314 et 318 décrites ci-dessus constituent un mode de réalisation optimisé. En variante, les tables d'orientation peuvent être simplement codées sans être séparées en sous-signaux, mais en étant groupées en un signal unique, construit par exemple en rassemblant les tables d'orientation dans l'ordre classique des blocs dans l'image. A la suite de l'étape 304 est également effectuée une étape 310 consistant à filtrer chaque échantillon du bloc courant. Pour cela, on identifie tout d'abord la fonction de contexte et la table d'orientation du bloc courant. Puis, pour chaque échantillon de ce bloc, la valeur de la fonction de contexte est calculée (dans l'exemple donné ici, cette valeur peut être 0, 1 ou 2) et la table d'orientation est utilisée pour déterminer l'orientation géométrique (dans l'exemple donné ici, une valeur comprise entre 0 et 7) associée à la valeur de contexte qui vient d'être obtenue. Cette orientation est utilisée pour filtrer l'échantillon. A la suite de l'étape 310, une étape 316 consiste à comprimer tous les échantillons filtrés de la sous-bande en cours de traitement, par des moyens habituels, bien connus de l'homme du métier, tels que la quantification scalaire et le codage arithmétique. 16
On décrit maintenant les principales étapes du décodage du train binaire constituant une sous-bande, en liaison avec l'organigramme de la figure 4. Une étape 402 consiste à décomprimer le signal contenant les fonctions de contexte, en utilisant des moyens de décodage symétriques aux moyens utilisés lors du codage. Le signal des fonctions de contexte devient ainsi disponible et il devient possible de déterminer la fonction de contexte associée à chaque bloc. Par ailleurs, lors d'une étape 404, les sous-signaux contenant les 10 tables d'orientation associées à chaque fonction de contexte sont décodés de façon indépendante. D'autre part, lors d'une étape 406, tous les échantillons de la sous-bande sont décodés, par exemple par un décodage arithmétique et une déquantification scalaire, si on a utilisé un codage arithmétique et une 15 quantification scalaire au codage. Il convient ensuite, lors d'une étape 408, de procéder au filtrage inverse de chaque échantillon de la sous-bande avec la même orientation que celle utilisée pour le filtrage direct. A cette fin, on traite la sous-bande bloc par bloc et les traitements suivants sont appliqués à chaque bloc. 20 Tout d'abord, on lit dans le signal des fonctions de contexte décodé précédemment la fonction de contexte associée au bloc. Une fois qu'elle est identifiée, il devient possible de lire le signal d'orientation dans le sous-signal correspondant à la fonction de contexte qui vient d'être lue. Ensuite, pour chaque échantillon, on identifie l'orientation du filtre en 25 utilisant le même processus que celui utilisé au codage : on calcule la valeur de la fonction de contexte (qui, dans l'exemple donné ici, peut être 0, 1 ou 2) et on utilise la table d'orientation pour déterminer l'orientation (une valeur entre 0 et 7, dans l'exemple donné ici) associée à la valeur de contexte qui vient d'être obtenue. Cette orientation est utilisée pour réaliser le filtrage orienté inverse de 30 l'échantillon. Une fois ces traitements appliqués à tous les échantillons de la sous-bande, on obtient une sous-bande décodée. 17
La figure 2 montre un mode particulier de réalisation d'un dispositif de traitement d'information apte à fonctionner comme dispositif de filtrage d'un signal numérique conforme à la présente invention. Le dispositif illustré sur la figure 2 peut comporter tout ou partie des 5 moyens de mise en oeuvre d'un procédé de filtrage conforme à la présente invention. Selon le mode de réalisation choisi, ce dispositif peut être par exemple un micro-ordinateur ou une station de travail 600 connecté à différents périphériques, par exemple, une caméra numérique 601 (ou un scanner, ou 10 tout autre moyen d'acquisition ou de stockage d'images) reliée à une carte graphique (non représentée) et fournissant ainsi des informations à traiter selon l'invention. Le micro-ordinateur 600 comporte de préférence une interface de communication 602 reliée à un réseau 603 apte à transmettre des informations 15 numériques. Le micro-ordinateur 600 comporte également un moyen de stockage permanent 604, tel qu'un disque dur, ainsi qu'un lecteur de moyens de stockage temporaire tel qu'un lecteur de disquettes 605 pour coopérer avec une disquette 606. La disquette 606 et le disque dur 604 peuvent contenir des données 20 d'implantation logicielle de l'invention ainsi que le code du ou des programme(s) d'ordinateur dont l'exécution par le micro-ordinateur 600 met en oeuvre la présente invention, ce code étant par exemple mémorisé sur le disque dur 604 une fois qu'il a été lu par le micro-ordinateur 600. En variante, le ou les programme(s) permettant au dispositif 600 de 25 mettre en oeuvre l'invention sont stockés dans une mémoire morte (par exemple du type ROM) 607. Selon une autre variante, ce ou ces programme(s) sont reçus totalement ou partiellement à travers le réseau de communication 603 pour être stockés comme indiqué. 30 Le micro-ordinateur 600 comprend également un écran 609 pour visualiser les informations à traiter et/ou servir d'interface avec l'utilisateur, afin que l'utilisateur puisse par exemple paramétrer certains modes de traitement à 18
l'aide du clavier 610 ou de tout autre moyen approprié de pointage et/ou de saisie tel qu'une souris, un crayon optique, etc. Une unité de calcul ou unité centrale de traitement (CPU) 611 exécute les instructions relatives à la mise en oeuvre de l'invention, ces instructions étant stockées dans la mémoire morte ROM 607 ou dans les autres éléments de stockage décrits. Lors de la mise sous tension du dispositif 600, les programmes et méthodes de traitement stockés dans une des mémoires non-volatiles, par exemple la ROM 607, sont transférés dans une mémoire vive (par exemple du type RAM) 612, qui contient alors le code exécutable de l'invention ainsi que les variables nécessaires à la mise en oeuvre de l'invention. En variante, les méthodes de traitement du signal numérique peuvent être stockées dans différents emplacements de stockage. De façon générale, un moyen de stockage d'information lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, peut mémoriser un ou plusieurs programme(s) dont l'exécution met en oeuvre le procédé de filtrage décrit précédemment. On peut faire évoluer le mode particulier de réalisation choisi pour l'invention, par exemple en ajoutant des méthodes de traitement actualisées ou améliorées ; dans un tel cas, ces nouvelles méthodes peuvent être transmises au dispositif 600 par le réseau de communication 603, ou chargées dans le dispositif 600 par l'intermédiaire d'une ou de plusieurs disquettes 606. Bien entendu, les disquettes 606 peuvent être remplacées par tout support d'information jugé approprié (CD-ROM, carte mémoire, etc.).
Un bus de communication 613 permet la communication entre les différents éléments du micro-ordinateur 600 et les éléments reliés à celui-ci. On notera que la représentation du bus 613 n'est pas limitative. En effet, l'unité centrale CPU 611 est, par exemple, susceptible de communiquer des instructions à tout élément du micro-ordinateur 600, directement ou par l'intermédiaire d'un autre élément du micro-ordinateur 600.

Claims (23)

REVENDICATIONS
1. Procédé de filtrage d'un signal numérique, dans lequel, pour chaque échantillon du signal, une pluralité de fonctions de contexte tiennent compte d'un nombre prédéterminé d'autres échantillons du signal, ledit procédé étant caractérisé en ce qu'il comporte des étapes consistant à : -calculer (302) la valeur d'une fonction de contexte parmi ladite pluralité de fonctions de contexte pour chaque échantillon à filtrer ; - diviser (302, 304) le signal en un ensemble de sous-signaux 10 correspondant respectivement aux différentes valeurs desdites fonctions de contexte ; et pour chaque sous-signal : - déterminer un filtre optimal suivant un premier critère qui dépend des valeurs du sous-signal ; et 15 - associer ledit filtre optimal à la fonction de contexte correspondant audit sous-signal.
2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre une étape (304) consistant à sélectionner parmi ladite pluralité de fonctions de contexte une fonction de contexte optimale selon un second critère 20 prédéterminé.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce que ledit nombre prédéterminé d'autres échantillons (A, B, C, D) avoisine un échantillon ayant une position correspondant à la position de l'échantillon à filtrer (X), dans une sous-bande de fréquences de résolution immédiatement inférieure à la 25 résolution de la sous-bande à laquelle appartient l'échantillon à filtrer (X).
4. Procédé selon la revendication 1, 2 ou 3, caractérisé en ce que la fonction de contexte peut prendre trois valeurs 0, 1 et 2.
5. Procédé selon la revendication 4, caractérisé en ce qu'il met en oeuvre les fonctions de contexte suivantes : 30 f1(X) = 0 si A<B-T, 1 si A ù B T , 2 si B<A-T ; f2(X) = 0 si A<C-T, 1 si A ùCl <_ T, 2 si C<A-T ; 20 f3(X) = 0 si A<D-T, 1 si Aù D T, 2 si D<A-T ; f4(X) = 0 si B<C-T, 1 si B ùCl T, 2 si C<B-T ; f5(X) = 0 si B<D-T, 1 si B ùDl T, 2 si D<B-T ; f6(X) = 0 si C<D-T, 1 si Cù D <_ T, 2 si D<C-T ; où : • X est la valeur de l'échantillon en cours de filtrage, • A, B, C, D sont les valeurs d'échantillons avoisinant un échantillon ayant une position correspondant à la position de l'échantillon X et appartenant à la sous-bande de fréquences de résolution immédiatement inférieure à la résolution de la sous-bande à laquelle appartient l'échantillon X, et • T est une valeur de seuil prédéfinie.
6. Procédé selon l'une quelconque des revendications précédentes, dans lequel le filtrage est effectué selon une pluralité d'orientations géométriques, caractérisé en ce que pour chaque sous-signal, la détermination du filtre optimal consiste à sélectionner une orientation parmi ladite pluralité d'orientations.
7. Procédé selon la revendication 6, caractérisé en ce que ledit premier critère consiste à sélectionner l'orientation qui minimise la somme des amplitudes des échantillons de sortie des filtres suivant les diverses orientations appliqués au sous-signal.
8. Procédé selon l'une quelconque des revendications 2 à 7, caractérisé en ce que ledit second critère consiste à sélectionner la fonction de contexte qui minimise le coût de codage de l'ensemble desdits sous-signaux.
9. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que le signal numérique est représentatif d'une image fixe.
10. Procédé selon l'une quelconque des revendications 1 à 8, caractérisé en ce que le signal numérique est représentatif d'une vidéo.
11. Dispositif de filtrage d'un signal numérique, dans lequel, pour chaque échantillon du signal, une pluralité de fonctions de contexte tiennent compte d'un nombre prédéterminé d'autres échantillons du signal, ledit dispositif étant caractérisé en ce qu'il comporte : 21 - des moyens pour calculer la valeur d'une fonction de contexte parmi ladite pluralité de fonctions de contexte pour chaque échantillon à filtrer ; - des moyens pour diviser le signal en un ensemble de sous-signaux correspondant respectivement aux différentes valeurs desdites fonctions de contexte ; -des moyens pour déterminer, pour chaque sous-signal, un filtre optimal suivant un premier critère qui dépend des valeurs du sous-signal ; et - des moyens pour associer, pour chaque sous-signal, ledit filtre optimal à la fonction de contexte correspondant audit sous-signal.
12. Dispositif selon la revendication 11, caractérisé en ce qu'il comporte en outre des moyens pour sélectionner parmi ladite pluralité de fonctions de contexte une fonction de contexte optimale selon un second critère prédéterminé.
13. Dispositif selon la revendication 11 ou 12, caractérisé en ce que ledit nombre prédéterminé d'autres échantillons (A, B, C, D) avoisine un échantillon ayant une position correspondant à la position de l'échantillon à filtrer (X), dans une sous-bande de fréquences de résolution immédiatement inférieure à la résolution de la sous-bande à laquelle appartient l'échantillon à filtrer (X).
14. Dispositif selon la revendication 11, 12 ou 13, caractérisé en ce que la fonction de contexte peut prendre trois valeurs 0, 1 et 2.
15. Dispositif selon la revendication 14, caractérisé en ce qu'il met en oeuvre les fonctions de contexte suivantes : fi(X)=OsiA<B-T,1 si A ùBT,2siB<A-T; f2(X) = 0 si A<C-T, 1 si A ùCl T , 2 si C<A-T ; f3(X) = 0 si A<D-T, 1 si 1A D T, 2 si D<A-T ; f4(X) = 0 si B<C-T, 1 si B ùCl T, 2 si C<B-T ; f5(X) = 0 si B<D-T, 1 si B ùDl T, 2 si D<B-T ; f6(X) = 0 si C<D-T, 1 si Cù D <_ T, 2 si D<C-T ; où : 22 • X est la valeur de l'échantillon en cours de filtrage, • A, B, C, D sont les valeurs d'échantillons avoisinant un échantillon ayant une position correspondant à la position de l'échantillon X et appartenant à la sous-bande de fréquences de résolution immédiatement inférieure à la résolution de la sous-bande à laquelle appartient l'échantillon X, et • T est une valeur de seuil prédéfinie.
16. Dispositif selon l'une quelconque des revendications 11 à 15, dans lequel le filtrage est effectué selon une pluralité d'orientations géométriques, caractérisé en ce que pour chaque sous-signal, la détermination du filtre optimal consiste à sélectionner une orientation parmi ladite pluralité d'orientations.
17. Dispositif selon la revendication 16, caractérisé en ce que ledit premier critère consiste à sélectionner l'orientation qui minimise la somme des amplitudes des échantillons de sortie des filtres suivant les diverses orientations appliqués au sous-signal.
18. Dispositif selon l'une quelconque des revendications 12 à 17, caractérisé en ce que ledit second critère consiste à sélectionner la fonction de contexte qui minimise le coût de codage de l'ensemble desdits sous-signaux.
19. Dispositif selon l'une quelconque des revendications 11 à 18, caractérisé en ce que le signal numérique est représentatif d'une image fixe.
20. Dispositif selon l'une quelconque des revendications 11 à 18, caractérisé en ce que le signal numérique est représentatif d'une vidéo.
21. Système de télécommunications comprenant une pluralité de dispositifs terminaux reliés à travers un réseau de télécommunications, caractérisé en ce qu'il comprend au moins un dispositif terminal équipé d'un dispositif de filtrage selon l'une quelconque des revendications 11 à 20.
22. Moyen de stockage d'informations lisible par un ordinateur ou un microprocesseur conservant des instructions d'un programme informatique, caractérisé en ce qu'il permet la mise en oeuvre d'un procédé de filtrage selon l'une quelconque des revendications 1 à 10.
23. Produit programme d'ordinateur pouvant être chargé dans un appareil programmable, caractérisé en ce qu'il comporte des séquences23 d'instructions pour mettre en oeuvre un procédé de filtrage selon l'une quelconque des revendications 1 à 10, lorsque ce programme est chargé et exécuté par l'appareil programmable.
FR0851088A 2008-02-20 2008-02-20 Procede et dispositif de filtrage d'un signal numerique. Expired - Fee Related FR2927744B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0851088A FR2927744B1 (fr) 2008-02-20 2008-02-20 Procede et dispositif de filtrage d'un signal numerique.
US12/389,587 US8588539B2 (en) 2008-02-20 2009-02-20 Methods and devices for filtering and coding a digital signal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0851088A FR2927744B1 (fr) 2008-02-20 2008-02-20 Procede et dispositif de filtrage d'un signal numerique.

Publications (2)

Publication Number Publication Date
FR2927744A1 true FR2927744A1 (fr) 2009-08-21
FR2927744B1 FR2927744B1 (fr) 2012-09-21

Family

ID=39951528

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0851088A Expired - Fee Related FR2927744B1 (fr) 2008-02-20 2008-02-20 Procede et dispositif de filtrage d'un signal numerique.

Country Status (1)

Country Link
FR (1) FR2927744B1 (fr)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011030304A1 (fr) * 2009-09-09 2011-03-17 Canon Kabushiki Kaisha Procédé et dispositif de codage d'un signal numérique multidimensionnel
WO2011036653A1 (fr) 2009-09-28 2011-03-31 Canon Kabushiki Kaisha Procedes et dispositifs de filtrage et de codage d'un signal numerique
EP2398240A1 (fr) * 2010-06-16 2011-12-21 Canon Kabushiki Kaisha Procédé et dispositif pour le codage et le décodage d'un signal vidéo
FR2963865A1 (fr) * 2010-08-16 2012-02-17 Canon Kk Procede et dispositif de codage d'un signal numerique
WO2012037963A1 (fr) 2010-09-20 2012-03-29 Canon Kabushiki Kaisha Procédé et dispositif de codage et de décodage d'un signal d'image numérique

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1146748A2 (fr) * 2000-03-31 2001-10-17 Sharp Kabushiki Kaisha Méthode de filtrage directionnel pour le post-traitement de la vidéo comprimée
FR2889382A1 (fr) * 2005-07-29 2007-02-02 Canon Res Ct France Soc Par Ac Procede et dispositif de filtrage d'un signal numerique multidimensionnel et procedes et dispositifs de codage et decodage associes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1146748A2 (fr) * 2000-03-31 2001-10-17 Sharp Kabushiki Kaisha Méthode de filtrage directionnel pour le post-traitement de la vidéo comprimée
FR2889382A1 (fr) * 2005-07-29 2007-02-02 Canon Res Ct France Soc Par Ac Procede et dispositif de filtrage d'un signal numerique multidimensionnel et procedes et dispositifs de codage et decodage associes

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BAO P ET AL: "Multiscale LMMSE-Based Image Denoising With Optimal Wavelet Selection", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 15, no. 4, 1 April 2005 (2005-04-01), pages 469 - 481, XP011129356, ISSN: 1051-8215 *
CHRYSAFIS C ET AL: "Efficient context-based entropy coding for lossy wavelet image compression", DATA COMPRESSION CONFERENCE, 1997. DCC '97. PROCEEDINGS SNOWBIRD, UT, USA 25-27 MARCH 1997, LOS ALAMITOS, CA, USA,IEEE COMPUT. SOC, US, 25 March 1997 (1997-03-25), pages 241 - 250, XP010218738, ISBN: 978-0-8186-7761-8 *
YILONG LIU ET AL: "Low Bit-Rate Image Coding Based on Pyramidal Directional Filter Banks", ACOUSTICS, SPEECH AND SIGNAL PROCESSING, 2006. ICASSP 2006 PROCEEDINGS . 2006 IEEE INTERNATIONAL CONFERENCE ON TOULOUSE, FRANCE 14-19 MAY 2006, PISCATAWAY, NJ, USA,IEEE, 1 January 2006 (2006-01-01), pages II - II, XP031100633, ISBN: 978-1-4244-0469-8 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011030304A1 (fr) * 2009-09-09 2011-03-17 Canon Kabushiki Kaisha Procédé et dispositif de codage d'un signal numérique multidimensionnel
EP2299716A1 (fr) * 2009-09-09 2011-03-23 Canon Kabushiki Kaisha Procédé et dispositif pour le codage d'un signal numérique multidimensionnel
US8989278B2 (en) 2009-09-09 2015-03-24 Canon Kabushiki Kaisha Method and device for coding a multi dimensional digital signal comprising original samples to form coded stream
WO2011036653A1 (fr) 2009-09-28 2011-03-31 Canon Kabushiki Kaisha Procedes et dispositifs de filtrage et de codage d'un signal numerique
EP2398240A1 (fr) * 2010-06-16 2011-12-21 Canon Kabushiki Kaisha Procédé et dispositif pour le codage et le décodage d'un signal vidéo
US20110310975A1 (en) * 2010-06-16 2011-12-22 Canon Kabushiki Kaisha Method, Device and Computer-Readable Storage Medium for Encoding and Decoding a Video Signal and Recording Medium Storing a Compressed Bitstream
FR2963865A1 (fr) * 2010-08-16 2012-02-17 Canon Kk Procede et dispositif de codage d'un signal numerique
WO2012037963A1 (fr) 2010-09-20 2012-03-29 Canon Kabushiki Kaisha Procédé et dispositif de codage et de décodage d'un signal d'image numérique
US9674526B2 (en) 2010-09-20 2017-06-06 Canon Kabushiki Kaisha Method and device for encoding and decoding a digital image signal

Also Published As

Publication number Publication date
FR2927744B1 (fr) 2012-09-21

Similar Documents

Publication Publication Date Title
EP2777269B1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
FR2889382A1 (fr) Procede et dispositif de filtrage d&#39;un signal numerique multidimensionnel et procedes et dispositifs de codage et decodage associes
EP2446629B1 (fr) Procédés de codage et de décodage d&#39;images, dispositifs de codage et de décodage, et programme d&#39;ordinateur correspondants
EP3490258A1 (fr) Procédé et support d&#39;enregistrement mémorisant un flux de données d&#39;images codées
WO2015059400A1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
FR2906093A1 (fr) Procedes et dispositifs de codage et de decodage, systeme de telecommunication et programme d&#39;ordinateur les mettant en oeuvre
FR2927744A1 (fr) Procede et dispositif de filtrage d&#39;un signal numerique.
FR2787604A1 (fr) Procede d&#39;insertion d&#39;une marque secrete et d&#39;authentification d&#39;un signal numerique
CN112150400A (zh) 图像增强方法、装置和电子设备
FR2755818A1 (fr) Codage de signal numerique par decomposition en sous-bandes de frequence et quantification vectorielle a etats finis
EP3449631A1 (fr) Procede de decodage d&#39;une image numerique, procede de codage, dispositifs, et programmes d&#39;ordinateurs associes
FR2927745A1 (fr) Procede et dispositif de codage d&#39;un signal numerique.
FR3053555A1 (fr) Procede de codage d&#39;une image numerique, procede de decodage, dispositifs, terminal et programmes d&#39;ordinateurs associes
FR3071690A1 (fr) Procede de decodage d&#39;une image, procede de codage, dispositifs, equipement terminal et programmes d&#39;ordinateurs associes
FR3068556A1 (fr) Procede de decodage d&#39;une image, procede de codage, dispositifs, equipement terminal et programmes d&#39;ordinateurs associes
EP1812903A1 (fr) Procede de codage d&#39;images codees par ondelettes a controle de debit, dispositif de codage et programme d&#39;ordinateur correspondants
FR2929431A1 (fr) Procede et dispositif de classification des echantillons representatifs d&#39;un signal numerique d&#39;image
WO2020169781A1 (fr) Procédé permettant de dissimuler des données dans une image ou un flux vidéo à l&#39;intérieur d&#39;une chaîne de compression
FR2914467A1 (fr) Procedes et dispositifs de codage et de decodage de signaux numeriques multidimensionnels.
FR2913793A1 (fr) Procedes et dispositif de codage et de decodage de signaux numeriques multidimensionnels
FR2905539A1 (fr) Procede et dispositif de codage de signaux numeriques multidimensionnels
FR2914468A1 (fr) Procede et dispositif de determination de la presence de contours dans une image multiresolution
EP3259909A1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
WO2021123617A1 (fr) Procede d&#39;encodage d&#39;une image numerique en vue de sa compression
FR3143245A1 (fr) Procédé et dispositif de codage et décodage d’images.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20141031