Brevet FR2842981A1 — publié le 20040130

DESCRIPTION Domaine technique de l'invention La présente invention concerne un dispositif de filtrage de données numériques apte à mettre en oeuvre les étapes de calcul d'une transformation discrète d'un ensemble de 8 données d'origine, et calcul d'une transformation discrète inverse de l'ensemble de données transformées ainsi obtenu, ledit circuit étant apte à filtrer au moins une donnée parmi l'ensemble de données transformées. Elle trouve notamment son application dans les décodeurs vidéo, dans les appareils portables incluant de tels décodeurs et dans les récepteurs de télévision. Dans ces dispositifs, la correction d'images numériques précédemment codées puis décodées selon une technique de codage par blocs, la norme MPEG (de l'anglais 'Moving Pictures Expert Group) par exemple, est nécessaire pour atténuer les artefacts visuels causés par ladite technique de codage par blocs. Etat de la technique antérieure Les algorithmes de compression vidéo utilisant des techniques de codage par blocs conduisent parfois à une dégradation de la qualité des images codées puis décodées. Un des artefacts visuels le plus couramment observé avec ces techniques de codage est appelé artefact de bloc. L'article intitulé "A projection-based post-processing technique to reduce blocking artifacts using a priori information on DCT coefficients of adjacent blocks", et publié par Hoon Paek et Sang-Uk Lee, dans "Proceedings of 3rd IEEE International Conference on Image Processing, vol 2, Lausanne, Switzerland, 16-19 Sept 1996, p 53-56" décrit une méthode de filtrage de données contenues dans une image numérique. Cette méthode de filtrage de données a pour but de corriger, dans le domaine fréquentiel, les coefficients qui correspondent à ces artefacts de blocs. Elle est basée sur le principe suivant. Soient deux segments adjacents u et v, tels qu'illustrés à la Fig. 1, appartenant respectivement à deux blocs Bu et Bv de pixels, et disposés de part et d'autre d'une frontière de blocs EDG. Si un artefact de blocs est présent entre les segments u et v, le segment w correspondant à la concaténation des premier et second segments inclut des hautes fréquences spatiales qui vont au-delà de celles des segments u et v. Afin de trouver et de supprimer les fréquences associées aux artefacts de blocs, la méthode de filtrage de données de l'état de la technique antérieure, illustrée à la Fig. 2, comprend les étapes suivantes de: calcul d'une transformation en cosinus discrète DCTN (21) du segment u de N pixels avec N = 8 dans l'exemple suivant: U = DCTN[u] = {U(0), U(1),..., U(N-1)}, avec U(k)= a(k)Zu(n)cos,((2n + 1)kl o k est la fréquence de la donnée transformée U, k E [0,N-1]; - calcul d'une transformation en cosinus discrète DCTN (22) du segment v adjacent au segment u: V=DCTN(v) ={V(0), V(1),..., V(N-1)}, soit V(k) = a(k) v(n)cos[ (2n1)k'); n=o 2N calcul d'une transformation en cosinus discrète DCT2N (23) du segment w de 2N soit 16 pixels correspondant à la concaténation CON (20) des segments u et v: W=DCT(w)={W(O), W(1),..., W(2N-1)}, soit 2 kN-1V(n _________)k W(k) = L a(k) E v(n) cost(2n +1) k) _2n= 4N - calcul PRED (24) d'une fréquence maximale prédite kwpred en fonction des fréquences maximales kumax et kvmax de U et V, comme suit: kwpred = 2.max( kumax, kvmax) + 2 avec kumax = max( kE{0,...,N-1} / U(k) X 0), kvmax = max( kE{0, .,N-1} / V(k) É 0), et max est la fonction qui donne le maximum de k parmi un ensemble de valeurs déterminées; - correction par mise à zéro ZER (25) des données transformées impaires W issues de la transformation discrète globale dont la fréquence est supérieure à la fréquence maximale..DTD: prédite, fournissant des données transformées corrigées Wc. - calcul d'une transformation en cosinus discrète inverse IDCT2N (26) des données corrigées, fournissant des données filtrées wf qui sont ensuite destinées à être affichées sur un écran. Exposé de l'invention La présente invention a pour but de proposer un circuit de filtrage de données permettant de mettre en oeuvre simplement la méthode de filtrage de données de l'état de la technique antérieure. En effet, la mise en oeuvre d'une telle méthode peut s'avérer complexe en nombre d'opérations, notamment en ce qui concerne la séquence comprenant la transformation en cosinus discrète DCT2N, suivie de la correction des données transformées impaires et de la transformation en cosinus discrète inverse IDCT2N. La Fig. 3 illustre ce que serait une implémentation conventionnelle d'une telle séquence dans le cas o 2N = 8. Les transformations en cosinus discrète directe DCT2N et inverse IDCT2N traitent les 2N données concaténées w(O) à w(7) en utilisant l'algorithme de Lee. Les points noirs représentent des additions, une ligne horizontale en pointillés précédant un point noir correspondant à une donnée à soustraire. Les points blancs correspondent à des multiplications. Les multiplications et les divisions par une puissance de 2 n'ont pas été représentées sur le schéma de la Fig. 3 et des figures suivantes car elles ont peu d'influence sur la complexité de l'implémentation. L'implémentation de la transformation en cosinus discrète globale DCT2N comprend 4 étages successifs séparés sur la Fig. 3 par des lignes verticales en pointillés, à savoir: - un premier étage STI comportant 8 additionneurs effectuant des additions ou des soustractions à partir des données concaténées w(O) à w(7), - un deuxième étage ST2 comportant 4 additionneurs et 2 unités de rotation CI et C3 de données, une unité de rotation comprenant 2 additionneurs et 4 multiplieurs selon un principe connu de l'homme du métier, - un troisième étage ST3 comportant 6 additionneurs et une unité de rotation V2C1, et - un quatrième étage ST4 comportant 2 additionneurs et 2 multiplieurs, et fournissant les données transformées impaires W(1), W(3), W(5) et W(7), les données transformées paires W(O), W(2), W(4) et W(6) résultant des données traitées par le troisième étage et non-traitées dans le quatrième étage. L'mplémentation de la correction par mise à zéro des données transformées impaires issues de la transformation discrète DCT2N dont la fréquence est supérieure à la fréquence maximale prédite, non-représentée sur la Fig. 3, est réalisée à l'aide de circuits logiques réalisant la fonction 'ET' entre une donnée transformée W(i) et une sortie d'un circuit de contrôle apte à délivrer un niveau '1' ou un niveau 'O' selon la valeur de la fréquence maximale prédite. L'implémentation de la transformation en cosinus discrète inverse IDCT2N comprend 4 étages successifs: - un cinquième étage ST5 comportant 2 additionneurs et 2 multiplieurs aptes à traiter les données transformées impaires corrigées, - un sixième étage ST6 comportant 6 additionneurs et une unité rotation 42C1, - un septième étage ST7 comportant 4 additionneurs et de 2 unités de rotation Cl et C3, et - un huitième et dernier étage ST8 comportant 8 additionneurs, et fournissant les données filtrées wf(O) à wf(7). Le circuit de filtrage de données résultant de cette implémentation conventionnelle conduirait donc à une solution complexe comprenant deux transformations DCTN, une transformation DCT2N et une transformation IDCT2N, nécessitant un total de 36 multiplications et 68 additions. Afin de remédier à cet inconvénient, le circuit de filtrage selon l'invention est remarquable en ce qu'il comprend: - un premier module de filtrage destiné à filtrer la ou les 3 données transformées impaires de plus hautes fréquences de l'ensemble de données transformées, - un second module de filtrage connecté au premier module de filtrage et destiné à filtrer les 2 données transformées impaires de plus hautes fréquences de l'ensemble de données transformées. Avec un circuit de filtrage de données possédant une telle structure modulaire, le nombre de multiplieurs et d'additionneurs est réduit car chaque module a pu être optimisé en tenant compte de sa destination, ainsi que nous le verrons plus en détails dans la suite de la description. L'implémentation de la séquence de traitement de données comprenant les deux transformations DCTN puis en séries la transformation DCT2N, la correction des données transformées et la transformation inverse IDCT2N se trouve ainsi simplifiée. En outre, la structure modulaire du circuit de filtrage permet de désactiver les modules qui ne sont pas opérationnels dans le circuit à un instant donné et d'avoir une structure optimisée dans la partie qui est active, résultant en un circuit de filtrage à la fois moins coteux et à plus faible consommation. Brève description des dessins Ces aspects de l'invention ainsi que d'autres aspects plus détaillés apparaîtront plus clairement grâce à la description suivante de plusieurs modes de réalisation de l'invention, donnés à titre d'exemples non limitatifs et en regard des dessins annexés parmi lesquels: - la Fig. 1 illustre deux segments adjacents disposés de part et d'autre d'une frontière de blocs, - la Fig. 2 représente la méthode de traitement de données de l'état de la technique antérieure, la Fig. 3 illustre un circuit mettant en oeuvre de façon conventionnelle la méthode de traitement de données de l'état de la technique antérieure, - la Fig. 4a et la Fig. 4b représentent deux ensembles de pixels pouvant être traités par le circuit de filtrage selon l'invention, - la Fig. Sa illustre une implémentation conventionnelle d'une rotation tandis que la Fig. 5b illustre une implémentation simplifiée de ladite rotation selon l'invention, - la Fig. 6 est un schéma représentant un premier filtre destiné à filtrer des données transformées impaires, - la Fig. 7 un schéma représentant un deuxième filtre destiné à filtrer des données transformées impaires, - la Fig. 8 est un schéma représentant un troisième filtre destiné à filtrer des données transformées impaires, - la Fig. 9 représente schématiquement un circuit destiné à réaliser une transformation DCTN, - la Fig. 10 est un schéma représentant un quatrième filtre destiné à filtrer des données transformées paires, - la Fig. 11 représente de façon schématique le circuit de filtrage selon l'invention. Exposé détaillé d'au moins un mode de réalisation de l'invention La présente invention concerne un circuit de filtrage de données numériques permettant de corriger les artefacts de blocs dans le domaine fréquentie. Dans la description qui suit, la transformation discrète est une transformation en cosinus discrète DCT ou IDCT. Il apparaîtra cependant à l'homme du métier que la présente invention s'applique à toute transformation discrète linéaire. Dans l'exemple décrit ci-dessous pour des données codées puis décodées selon la norme MPEG, les ensembles de données u et v contiennent chacun les valeurs de luminance associées à N = 4 pixels consécutifs. Dans le cas de la norme MPEG, la séquence de traitement comprenant les transformations DCTN, DCT2N et IDCT2N est appliquée sur un ensemble de 16 données, la méthode utilisée étant appelée DFD-16 et fournissant une excellente qualité d'image en sortie. Afin d'économiser les ressources de calcul, il est plus avantageux d'appliquer la séquence de traitement sur un ensemble de 8 données selon le principe de la Fig. 4a, avec des segments u et v de 4 pixels consécutifs répartis immédiatement de part et d'autre d'une frontière de bloc. Cette solution appelée DFD-8 a pour mérite de réduire la complexité de la méthode de filtrage au détriment cependant de son efficacité et donc de la qualité dimage obtenue en sortie du filtrage. C'est pourquoi, dans le mode de réalisation préféré, les ensembles de données u et v sont respectivement subdivisés en deux sous-ensembles u', u" d'une part et v', v" d'autre part, les sous-ensembles u', v' contenant les données de rang impair et les sous-ensembles u" et y" contenant les données de rang pair. Les ensembles u', v' et w' sont représentés sur la Fig. 4b. Les étapes de calcul des transformations DCTN et DCT2N sont appliquées aux sousensembles u', v' d'une part et u", v" d'autre part fournissant respectivement les données transformées U', V, W' d'une part et U", V", W" d'autre part. L'étape de détermination PRED fournit en parallèle les fréquences maximales prédites kw'pred et kw"pred calculée de la façon suivante kw'pred = 2.max( ku'max, kv'max) + 2 avec ku'max = max( kE{O,...,N-1} / abs(U'(k)) > Th ou Tv) kv'max = max( kE{0,...,N-1} / abs(V'(k)) > Th ou Tv) kw"pred = 2.max( ku"max, kv"max) + 2 avec ku"max = max( ke{0,...,N-1} / abs(U"(k)) > Th ou Tv) kv"max = max( kE{0,...,N-1} / abs(V"(k)) > Th ou Tv) o, par exemple, Th = 10 et Tv = 5 dans le cas d'une trame d'une image entrelacée au format standard. L'étape de correction ZER est alors appliquée indépendamment aux données transformées W' et W" avec: - une sous-étape de détection de contours naturels telle que, par exemple |u'-v' > 25, ku'max 25, ku"max prédite kw'pred ou kw"pred. Ce mode de réalisation appelée DFD-8eo permet d'avoir une complexité égale à la méthode DFD-8 en nombre de portes mais avec une fréquence double, tout en conservant une bonne qualité d'image en sortie du filtrage. Enfin, dans le cas de données codées puis décodées selon la norme H.26L, la méthode de filtrage est appliquée directement à des segments de données u et v qui contiennent chacun les valeurs de luminance associées à N = 4 pixels consécutifs, les blocs de codage selon cette norme étant de 4 x 4 pixels. La méthode de filtrage de données précédemment décrite est mise en oeuvre dans la présente invention en faisant certaines simplifications. Une première simplification peut être effectuée au niveau de la mise en oeuvre des rotations. Si XO et Xi sont les entrées d'une rotation et YO et Yi les sorties, ces variables sont liées par les équations suivantes YO =a * XO + b * Xi Yi= -b * X0 + a * X1 La Fig. 5a illustre une implémentation conventionnelle de la rotation qui comporte alors 4 multiplications et 2 additions. Les équations précédentes peuvent être réécrites sous la forme suivante: YO= (b -a)* X1+ a* (XO + Xl) =A* Xl +a* (XO+ Xl) Y1= -(a+b)* XO+ a *(XO + Xl) =1B * XO +a* (XO+ XI) La Fig. 5b illustre la nouvelle implémentation de la rotation qui ne comporte alors plus que 3 multiplications et 3 additions, une multiplication ayant été remplacée par une addition ce qui réduit la complexité du circuit de traitement, un additionneur étant de structure plus simple qu'un multiplieur. Une deuxième simplification consiste à calculer les données transformées W(k) paires issues de la transformation DCT2N directement à partir des données transformées U(k/2) et V(k/2) issues de la transformation DCTN selon l'équation suivante: W(k) = Uk) + (_ 1)V(k) avec k = 0,2,4,6. La Fig. 6 représente un premier filtre FILol destiné à filtrer les données transformées impaires W(3), W(5) et W(7). Une implémentation conventionnelle comme représentée à gauche de la Fig. 6 consiste à supprimer les fils correspondant aux données transformées mises à zéro. Comme une rotation conventionnelle comporte 2 additions et 4 multiplications, l'implémentation conventionnelle consiste en 11 additions et 16 multiplications. Or, si Q et S sont les entrées d'une rotation Cl ou C3 située du côté de la transformation DCT2N et suivie d'un additionneur, on a: (a * Q + b * s) + (- b * Q + a * s) = Q(a - b) + S(a + b), a et b étant des coefficients multiplicatifs aisément déterminés par l'homme du métier selon le type de transformation discrète utilisée. L'invention se propose donc de remplacer dans ce cas une rotation par deux multiplieurs ayant pour coefficients multiplicatifs respectifs (a-b) et (a+b). De plus, les entrées d'une rotation CI ou C3 située du côté de la transformation inverse IDCT2N sont identiques et égales à W(1). Les sorties d'une rotation sont alors W(1)(c - d) et W(l)(c + d). c et d étant des coefficients multiplicatifs aisément déterminés par l'homme du métier selon le type de transformation discrète utilisée. L'invention se propose donc de remplacer dans ce cas une rotation par deux multiplieurs ayant pour coefficients multiplicatifs respectifs (c-d) et (c+d). Par conséquent, chaque rotation ayant été remplacée par deux multiplieurs comme représenté à droite de la Fig. 6, l'implémentation de ce premier filtre ne comporte donc plus que 3 additionneurs et 8 multiplieurs. La Fig. 7 représente un deuxième filtre destiné à filtrer les données transformées W(5) et W(7). Une implémentation conventionnelle comme représentée à gauche de la Fig. 7 consiste à supprimer les fils correspondant aux données transformées mises à zéro. Comme une rotation conventionnelle comporte 2 additions et 4 multiplications, l'implémentation conventionnelle consiste en 14 additions et 18 multiplications. Les 2 multiplications par +12 peuvent être supprimées, une multiplication par 2 revenant à un décalage facile à implémenter. La donnée transformée n'est alors plus W(3) mais Wm(3) égal à W(3)/V2 avant décalage et 512W(3) après. En utilisant les propriétés linéaires de la multiplication, il est possible de décomposer le filtre selon la contribution de W(1) et celle de Wm(3). On peut alors s'inspirer des modifications effectuées pour le filtre FILol pour simplifier la structure autour de Wm(3) et aboutir à la représentation figurant à droite de la Fig. 7 comprenant, comme le filtre FILol, 3 additionneurs et 8 multiplieurs, les sorties des 4 derniers multiplieurs étant ensuite additionnées aux sorties du filtre FILol. La partie du deuxième filtre extérieure au filtre FILol est appelée filtre FILo2. La structure finale du deuxième filtre, bien que ne comportant que 10 additionneurs et 16 multiplieurs, soit moins que l'implémentation conventionnelle, n'est pas optimale. Cependant, elle a le mérite de réutiliser le filtre FILol, ce qui fait que la contribution du nouveau filtre en terme d'opérateurs n'est en fait que de 7 additionneurs et 8 multiplieurs. La Fig. 8 représente un troisième filtre destiné à filtrer uniquement le coefficient W(7). Il tire profit de la linéarité des transformations en cosinus discrète directe DCT et inverse IDCT. Pour cela, les données transformées W peuvent être divisées en 2 sousensembles: - un premier sous-ensemble WZ correspondant aux fréquences pour lesquelles les données transformées doivent être mises à zéro; - un second sous-ensemble WNZ correspondant aux fréquences pour lesquelles les données transformées ne doivent pas être mises à zéro. Les données transformées W correspondent ainsi à la concaténation de ces deux sous30 ensembles, soit: W = WZ l WNZ. Les données filtrées wf sont obtenues en appliquant une transformation en cosinus discrète inverse sur les données transformées corrigées qui sont soit égales à WNZ, soit égales à 0, autrement dit: wf = IDCT(WNZ l 0). En utilisant la linéarité de la transformation en cosinus discrète inverse, on obtient wf = IDCr(WNZ | WZ) - IDCT(0 I WZ), soit encore wf = w - IDCT(O l WZ). En appelant Dw les données différentielles qui correspondent à la différence entre les données d'origine w et les données filtrées wf, on a alors Dw = IDCT(O} WZ) et wf = w - Dw. On obtient ainsi un filtre qui fonctionne en mode différentiel et dont une implémentation particulièrement économique est illustrée à la Fig. 8. Le circuit de filtrage de données selon ce mode de fonctionnement comprend: un étage comporte 4 additionneurs effectuant, pour les lignes 4 à 7, chacun une soustraction d'une donnée d'origine wU) de ligne j à une donnée d'origine w(7-j) de ligne (7-j), et délivrant des données transformées intermédiaires impaires; - le circuit FILol précédemment décrit; - un étage comportant 8 additionneurs effectuant chacun - pour les lignes j=O à 3, une soustraction d'une donnée filtrée intermédiaire de ligne (7-j) issue du circuit FILol à la donnée d'origine w(j) de ligne j, - pour les lignes j=4 à 7, une addition d'une donnée filtrée intermédiaire de ligne j issue du circuit FILol et de la donnée d'origine w(j) de même ligne. La structure du troisième filtre réutilise de ce fait le filtre FILol, ce qui fait que sa contribution en terme d'opérateurs est nulle. La Fig. 9 représente le circuit mettant en oeuvre une transformation DCTN soit ici une DCT4. Une telle transformation comporte 6 additions et une rotation, soit finalement 9 additions et 3 multiplications. Cette transformation est effectuée deux fois, une fois pour le segment de données u et une fois pour le segment de données v, nécessitant au total 18 additions et 6 multiplications. Dans un mode de réalisation particulièrement avantageux, il est possible de filtrer également les données transformées paires. C'est notamment le cas lorsque le pas de quantification est supérieur à une valeur prédéterminée Qth, par exemple égale à 10 dans le cas d'une implémentation selon la norme MPEG-4. Cette valeur prédéterminée correspond à un seuil au delà duquel la qualité d'image est fortement altérée, une correction de données transformées paires permettant de palier cette altération. La Fig. 10 représente le filtre FILe apte à filtrer la donnée transformée W(6) et le cas échéant la donnée transformée W(4). Les données transformées paires W(i) sont déduites des données transformées U(i) et V(i) de la façon suivante: W(O) = iY (U(o) + V(O)) W(2) = Y (U(î) - V(1)) W(4) = X (U(2)+ V(2)) Si la donnée transformée W(4) doit être filtrée, un multiplexeur permet de remplacer sa valeur par zéro. Après simplification, le quatrième filtre comporte donc 9 additionneurs et 2 multiplieurs, le huitième étage ST8 n'ayant pas été pris en compte. La Fig. 11 représente le circuit de filtrage selon l'invention. Le circuit comprend un module de transformation DCT4 comprenant 2 circuits selon la Fig. 9 ou un seul fonctionnant à une fréquence double et destiné à calculer la transformation discrète des segments de données u et v. Il comprend un circuit de contrôle CTRL destiné à calculer le coefficient kwpred à partir des données transformées U et V et à déterminer le ou les modules de filtrage à utiliser à partir de kwpred et du pas de quantification Q. Selon les valeurs de kwpred et de Q, les fréquences des données transformées W devant être filtrées par le filtre pair FILe ou le filtre impair FILo sont données dans le tableau suivant Q 10 kwpred FILe FILo FILe FILo 2 3,5,7 4,6 3,5,7 4 5,7 6 5,7 6 7 7 8 = - Le circuit de filtrage selon l'invention comprend deux modules 4ADD de 4 additionneurs chacun, destinés à effectuer les additions des données d'origine w(0) à w(7) conformément au premier étage ST1 de la Fig. 3. Il comprend également des registres REG aptes à stocker d'une part les résultats du premier module additionneur correspondant aux 4 additions supérieures du premier étage ST1 de la Fig. 3, et d'autre part, les données d'origine w(0), w(1), w(2) et w(3). Le circuit de filtrage comprend un premier module de filtrage FILol destiné à filtrer la dernière donnée transformée impaire W(7) ou les 3 dernières données transformées impaires W(3), W(S) et W(7), et un second module de filtrage (FILo2) destiné à filtrer les 2 dernières données transformées impaires W(5) et W(7). Ces modules de filtrages reçoivent en entrée les sorties du second module additionneur correspondant aux 4 additions inférieures du premier étage ST1 de la Fig. 3 et délivrent chacun 4 données filtrées intermédiaires, le second module de filtrage FILo2 utilisant les sorties du premier module de filtrage FILol. Le circuit de filtrage comprend enfin un troisième module de filtrage FILe destiné à filtrer la dernière donnée transformée paire W(6) ou les 2 dernières données transformées paires W(4) et W(6) à partir des 6 données transformées U(O), V(0), U(1), V(1), U(2), V(2). Le circuit de contrôle CTRL commande alors deux multiplexeurs MUX, le premier multiplexeur permettant de choisir entre les 4 sorties du filtre FILe et les données stockées dans registres REG égales soit aux 4 sorties du premier module additionneur, soit aux données d'origine w(O), w(1), w(2) et w(3). Le second multiplexeur permet de choisir entre les sorties du module de filtrage FILol et celles du module de filtrage FILo2. Les sorties des deux multiplexeurs sont ensuite envoyées à l'entrée d'un module 8ADD de 8 additionneurs destiné à effectuer les additions conformément au huitième étage ST8 de la Fig. 3 ou de la Fig. 8 dans le cas du filtrage de la donnée transformée W(7) seule, résultant en des données filtrées wf(0) à wf(7). Si la valeurs de kwpred est telle qu'aucun filtrage n'est nécessaire, la sortie du circuit de filtrage est constituée par les données d'origine w(0) à w(7), le circuit de contrôle CTRL commandant, par exemple, un multiplexeur non-représenté sur le schéma et permettant de choisir entre les données filtrées wf et les données d'origine w. La complexité de ladite méthode est donnée dans le tableau suivant pour les différentes configurations possibles de filtrage et pour la mise en oeuvre conventionnelle de la méthode de filtrage: Configuration Données Additions Multiplications filtrées Conventionelle 76 32 Pas de filtrage 18 6 A 7 33 14 B 5, 7 44 22 C 3,5,7 37 14 D 5, 6, 7 49 24 E 3, 4, 5, 6,7 42 16 Le circuit de filtrage selon l'invention effectue au maximum 49 additions et 24 multiplications d'o une réduction appréciable de la complexité par rapport à une mise en oeuvre conventionnelle. Le circuit de filtrage est en outre adaptatif au contenu de l'image matérialisé par les coefficients kwpred et Q ce qui permet de réduire le nombre d'additionneurs et de multiplexeurs utilisés selon le type de filtrage déterminé par le circuit de contrôle CTRL. La diminution du nombre des opérations effectuées par le circuit de filtrage permet ainsi d'économiser les ressources de calcul ou d'accélérer le temps de traitement des données d'origine. Une première application de l'invention est constituée par un décodeur vidéo apte à fournir des images numériques décodées et comprenant un circuit de filtrage selon l'invention, apte à filtrer les images numériques décodées de manière à fournir des images numériques filtrées. Ce décodeur vidéo peut être intégré dans un appareil portable afin d'afficher les images numériques filtrées sur un écran dudit appareil. Cet appareil portable est, par exemple, un téléphone mobile ou un assistant numérique personnel comprenant un décodeur vidéo MPEG-4. Une autre application de l'invention est constituée par un récepteur de télévision comprenant un circuit de filtrage selon l'invention, apte à filtrer les images numériques reçues par ledit récepteur de manière à afficher des images numériques filtrées sur un écran dudit récepteur. La présente invention a été décrite dans le cas d'un dispositif de filtrage apte à filtrer un ensemble de 8 données numériques. Un principesimilaire, basé sur une structure modulaire utilisant les simplifications décrites ci-dessus, peut s'appliquer à des dispositifs de filtrage de données numériques aptes à mettre en oeuvre les étapes de calcul d'une transformation discrète linéaire d'un ensemble de 2P données d'origine, p étant un entier supérieur à 3, et calcul d'une transformation discrète inverse linéaire de l'ensemble de données transformées ainsi obtenu. Aucun signe de référence entre parenthèses dans le présent texte ne doit être interprété de façon limitative. Le verbe "comprendre" et ses conjugaisons n'exclut pas la présence d'autres éléments ou étapes que ceux listés dans une phrase. Le mot "un" ou "une" précédant un élément ou une étape n'exclut pas la présence d'une pluralité de ces éléments ou de ces étapes. REVENDICATIONS 1. Circuit de filtrage de données numériques apte à mettre en ceuvre les étapes de: - calcul d'une transformation discrète (DCT2N) d'un ensemble de 8 données d'origine (w), - calcul d'une transformation discrète inverse (IDCT2N) de l'ensemble de données transformées (W) ainsi obtenu, ledit circuit étant apte à filtrer au moins une donnée parmi l'ensemble de données transformées (W), et étant caractérisé en ce qu'il comprend: - un premier module de filtrage (FILol) destiné à filtrer la ou les 3 données transformées impaires de plus hautes fréquences de l'ensemble de données transformées (W), - un second module de filtrage (FILo2) connecté au premier module de filtrage et destiné à filtrer les 2 données transformées impaires de plus hautes fréquences de l'ensemble de données transformées (W). 2. Circuit de filtrage selon la revendication 1, comprenant des moyens de transformation discrète (DCTN) destinés à transformer successivement une première moitié (u) de l'ensemble de données d'origine et une deuxième moitié (v) de l'ensemble de données d'origine, ledit circuit comprenant en outre un troisième module de filtrage (FILe) destiné à filtrer la ou les 2 données transformées paires de plus hautes fréquences de l'ensemble de données transformées (W) à partir d'une partie des première et deuxième moitiés de données transformées (U,V). 3. Circuit de filtrage selon la revendication 1 ou 2, o l'ensemble de données d'origine comprend pour moitié des données de rang pair ou impair d'un segment d'un premier bloc de codage et pour moitié des données de même parité que le segment précédent d'un segment correspondant d'un second bloc de codage adjacent au premier bloc de codage. 4. Circuit de filtrage selon la revendication 1 ou 2, o l'ensemble de données d'origine comprend pour moitié 4 données de rangs les plus élevés d'un segment d'un premier bloc de codage et pour moitié 4 données de rangs les moins élevés d'un segment correspondant d'un second bloc de codage adjacent au premier bloc de codage. 5. Décodeur vidéo apte à fournir des images numériques décodées et comprenant un circuit de filtrage selon l'une des revendications 1 à 4, apte à filtrer les images numériques décodées de manière à fournir des images numériques filtrées. 6. Appareil portable comprenant un décodeur vidéo selon la revendication 5, apte à afficher les images numériques traitées sur un écran dudit appareil. 7. Récepteur de télévision comprenant un circuit de filtrage selon l'une des revendications 1 à 4, apte à filtrer des images numériques reçues par ledit récepteur de manière à afficher des images numériques filtrées sur un écran dudit récepteur.