FR 2792433 A1 20001020 FR 9904747 A 19990415 La présente invention concerne la transformation de signal numérique, tel que le filtrage numérique. De nombreux procédés et dispositifs de filtrage numérique sont connus. On envisage ici, à titre d'exemple, des filtrages d'analyse de signal numérique. Parmi ces filtrages, on envisagera plus particulièrement les transformations en ondelettes. Ces filtrages sont généralement des sous-ensembles intégrés dans les ensembles de codage et/ou de décodage. Ils nécessitent souvent une grande place en mémoire vive ou en mémoire tampon, pour stocker les données en cours de traitement. Par exemple, pour du traitement d'image, les solutions les plus classiques pour réaliser la transformée en ondelettes consistent à charger en mémoire toute l'image à traiter pour ensuite effectuer les différentes étapes de filtrage. La place mémoire est alors si importante que cela rend difficile la mise en oeuvre de tels filtrages dans des appareils tels que des appareils photographiques, des télécopieurs, des imprimantes ou des photocopieurs, par exemple. La présente invention fournit un procédé et un dispositif de transformation de signal numérique qui minimise l'occupation en mémoire tampon des données en cours de traitement. A cette fin, l'invention propose un procédé de transformation de signal numérique représentatif de grandeur physique, en des signaux de sous- bandes de fréquence répartis selon au moins deux bandes de fréquence différentes et selon au moins deux résolutions différentes, caractérisé en ce qu'il comporte des étapes de: - division du signal en premiers blocs comportant tous un même premier nombre prédéterminé d'échantillons, transformation de chacun des premiers blocs formés à l'étape précédente en une pluralité de seconds blocs, un second bloc considéré quelconque comportant un second nombre respectif d'échantillons qui dépend de la résolution du second bloc considéré, et contenant des échantillons sélectionnés selon leur fréquence, - groupement de seconds blocs issus de la transformation de différents premiers blocs pour former des troisièmes blocs comportant tous un même troisième nombre prédéterminé d'échantillons qui est au moins égal au plus grand des seconds nombres. Grâce à l'invention, l'occupation en mémoire tampon des données en cours de traitement est réduite par rapport à la technique antérieure. Ainsi, des filtrages puissants peuvent être intégrés dans de nombreux appareils, sans que ceux-ci ne nécessitent des mémoires très grandes. Selon une caractéristique préférée, la transformation est une transformation en ondelettes. Selon des caractéristiques préférées et alternatives, les premiers blocs se chevauchent deux à deux sur un quatrième nombre prédéterminé d'échantillons ou les premiers blocs sont adjacents. Le chevauchement entre blocs voisins, par exemple sur une ligne et/ou une colonne, améliore la qualité du signal reconstruit après traitement. Selon une caractéristique préférée, les premiers blocs sont traités selon un ordre prédéterminé, tel que le signal est transformé zone par zone, une zone du signal étant traitée à tous les niveaux de résolution avant de passer à une zone suivante. Ainsi, les besoins en mémoire sont minimisés. Selon une autre caractéristique préférée, le groupement des seconds blocs est réalisé en groupant ensemble des seconds blocs ayant le même nombre d'échantillons et des échantillons sélectionnés selon la même bande de fréquence. En effet, on regroupe ensemble des blocs ayant les échantillons de même nature, pour que leur traitement ultérieur soit optimisé. Selon une caractéristique préférée, le signal numérique est un signal d'image. L'invention s'applique avantageusement à un signal d'image, qui nécessite généralement une grande place mémoire. Cette place mémoire est réduite grâce à l'invention. L'invention concerne aussi un procédé de codage qui inclut les caractéristiques précédemment exposées et présente les mêmes avantages. Corrélativement, l'invention propose un dispositif de transformation de signal numérique représentatif de grandeur physique, en des signaux de sous-bandes de fréquence répartis selon au moins deux bandes de fréquence différentes et selon au moins deux résolutions différentes, caractérisé en ce qu'il comporte: - des moyens de division du signal en premiers blocs comportant tous un même premier nombre prédéterminé d'échantillons, - des moyens de transformation de chacun des premiers blocs en une pluralité de seconds blocs, un second bloc considéré quelconque comportant un second nombre respectif d'échantillons qui dépend de la résolution du second bloc considéré, et contenant des échantillons sélectionnés selon leur fréquence, - des moyens de groupement de seconds blocs issus de la transformation de différents premiers blocs pour former des troisièmes blocs comportant tous un même troisième nombre prédéterminé d'échantillons qui est au moins égal au plus grand des seconds nombres. Le dispositif comporte des moyens de mise en oeuvre des caractéristiques précédemment exposées. L'invention concerne aussi un dispositif de codage, un appareil numérique incluant le dispositif de transformation ou de codage ou des moyens de mise en oeuvre du procédé de transformation ou de codage. Cet appareil numérique est par exemple un appareil photographique numérique, un ordinateur, un télécopieur, un photocopieur, un scanner ou une imprimante. Les avantages du dispositif et de l'appareil numérique sont identiques à ceux précédemment exposés. Un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé de filtrage. Les caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture d'un mode préféré de réalisation illustré par les dessins ci-joints, dans lesquels: - la figure 1 représente de manière schématique un dispositif de traitement de données selon l'invention, - la figure 2 représente un mode de réalisation d'un dispositif de traitement de données selon l'invention, - la figure 3 représente un mode de réalisation d'un dispositif de traitement de données selon l'invention, la figure 4 représente un mode de réalisation d'un circuit de codage selon l'invention inclus dans le dispositif de la figure 2, - la figure 5 représente un module de mémoire inclus dans le circuit de codage de la figure 4, - la figure 6 représente une partie d'une image à coder selon l'invention, - la figure 7 représente un module de filtrage vertical inclus dans le circuit de codage de la figure 4, - la figure 8 représente un module de filtrage horizontal inclus dans le circuit de codage de la figure 4, - la figure 9 représente un module de mémoire tampon inclus dans le circuit de codage de la figure 4, - la figure 10 représente des données mémorisées dans le module de mémoire tampon de la figure 8, - la figure 11 représente un module de mémoire tampon inclus dans le circuit de codage de la figure 4, et - la figure 12 un algorithme de codage de données selon l'invention. Selon un mode de réalisation choisi et représenté à la figure 1, un dispositif de traitement de données selon l'invention est un dispositif 2 de codage de données qui comporte une entrée 21 à laquelle est reliée une source 1 de données non codées. La source 1 comporte par exemple un moyen de mémoire, telle que mémoire vive, disque dur, disquette, disque compact, pour mémoriser des données non codées, ce moyen de mémoire étant associé à un moyen de lecture approprié pour y lire les données. Un moyen pour enregistrer les données dans le moyen de mémoire peut également être prévu. On considérera plus particulièrement dans la suite que les données à coder sont une suite d'échantillons numériques représentant une image IM. La source 1 fournit un signal numérique d'image SI à l'entrée du circuit de codage 2. Le signal d'image SI est une suite de mots numériques, par exemple des octets. Chaque valeur d'octet représente un pixel de l'image IM, ici à 256 niveaux de gris, ou image noir et blanc. L'image peut être une image multispectrale, par exemple une image en couleur ayant des composantes dans trois bandes de fréquence, de type rouge-vert-bleu ou luminance et chrominance. Chaque bande est alors traitée de manière analogue à l'image monospectrale. Des moyens 3 utilisateurs de données codées sont reliés en sortie 22 du dispositif de codage 2. Les moyens utilisateurs 3 comportent par exemple des moyens de mémorisation de données codées, et/ou des moyens de transmission des données codées. Le dispositif de codage 2 comporte classiquement, à partir de l'entrée 21, un circuit de transformation 23, plus particulièrement concerné par la présente invention, et dont un exemple de réalisation sera détaillé dans la suite. Les transformations envisagées ici sont des décompositions en des signaux de sous-bandes de fréquence du signal de données, de manière à effectuer une analyse du signal. L'analyse est effectuée sur au moins deux niveaux de résolution, la résolution d'un signal étant de manière générale le nombre d'échantillons par unité de longueur qui sont utilisés pour représenter le signal. Le circuit de transformation 23 est relié à un circuit de quantification 24. Le circuit de quantification met en oeuvre une quantification connue en soi, par exemple une quantification scalaire, ou une quantification vectorielle, des coefficients, ou de groupes de coefficients, des signaux de sous-bandes de fréquence fournis par le circuit 23. Le circuit 24 est relié à un circuit 25 de codage entropique, qui effectue un codage entropique, par exemple un codage de Huffman, ou un codage arithmétique, des données quantifiées par le circuit 24. Le dispositif de codage peut être intégré dans un appareil numérique, tel qu'un ordinateur, une imprimante, un télécopieur, un scanner ou un appareil photographique numérique, par exemple. En référence à la figure 2, est décrit un exemple de dispositif 10 mettant en oeuvre l'invention. Le dispositif 10 est ici un micro-ordinateur comportant un bus de communication 101 auquel sont notamment reliés: - une unité centrale 100, - une mémoire morte 102, - une mémoire vive 103, - un circuit dédié 104 mettant en ceuvre l'invention, qui sera décrit dans la suite, - un circuit d'entrée/sortie 105. Le dispositif 10 peut comporter de manière classique un clavier, un lecteur de disquette adapté à recevoir une disquette, ou peut être adapté à communiquer avec un réseau de communication. Le dispositif 10 peut recevoir des données à coder depuis un dispositif périphérique, tel qu'un appareil photographique numérique, ou un scanner, ou tout autre moyen d'acquisition ou de stockage de données. Le dispositif 10 peut également recevoir des données à coder depuis un dispositif distant, via le réseau de communication, et transmettre des données codées vers un dispositif distant, toujours via le réseau de communication. Selon le mode de réalisation représenté, la mémoire vive 103 est une mémoire dynamique à accès direct, appelée DRAM d'après l'Anglais " Dynamic Random Access Memory ". Cette mémoire est utile dans le cadre de l'invention pour lire les échantillons de l'image selon un ordre particulier, comme exposé dans la suite. Le circuit 104 comporte en outre une mémoire vive statique appelée SRAM d'après l'Anglais " Static Random Access Memory ". De manière plus générale, les programmes selon la présente invention sont mémorisés dans un moyen de stockage. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD- ROM (disque compact à mémoire figée). En référence à la figure 3, est décrit un exemple de dispositif 300 mettant en oeuvre l'invention. Ce dispositif est adapté à coder et/ou décoder un signal numerique. Le dispositif 300 est ici un micro-ordinateur comportant un bus de communication 301 auquel sont reliés: - une unité centrale 305, - une mémoire morte 302, - une mémoire vive 303, - un écran 304, - un clavier 314, - un disque dur 308, - un lecteur de disquette 309 adapté à recevoir une disquette 310, - une interface 312 de communication avec un réseau de communication 313, - une carte d'entrée/sortie 306 reliée à un microphone 311. Le disque dur 308 mémorise les programmes mettant en oeuvre I'invention, et qui seront décrits dans la suite, ainsi que les données à coder et les données codées selon l'invention. Ces programmes peuvent aussi être lus sur la disquette 310, ou reçu via le réseau de communication 313, ou encore mémorisé en mémoire morte 302. De manière plus générale, les programmes selon la présente invention sont mémorisés dans un moyen de stockage. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD- ROM (disque compact à mémoire figée). Lors de la mise sous tension du dispositif, les programmes selon la présente invention sont transférés dans la mémoire vive 303 qui contient alors le code exécutable de l'invention et des registres contenant les variables nécessaires à la mise en oeuvre de l'invention Ces variables, qui seront détaillées dans la suite, sont notamment les variables i et L. La mémoire vive inclut une mémoire tampon. Le dispositif 300 peut recevoir des données à coder depuis un dispositif périphérique 307, tel qu'un appareil photographique numérique, ou un scanner, ou tout autre moyen d'acquisition ou de stockage de données. Le dispositif 300 peut également recevoir des données à coder depuis un dispositif distant, via le réseau de communication 313, et transmettre des données codées vers un dispositif distant, toujours via le réseau de communication 313. Le dispositif 300 peut aussi recevoir des données à coder depuis le microphone 311. Ces données sont alors un signal de son. L'écran 304 permet à un utilisateur notamment de visualiser les données à coder, et sert, avec le clavier 314, d'interface utilisateur. La figure 4 représente un mode de réalisation de circuit de codage 104 selon l'invention. Le circuit 104 comporte - un contrôleur 20 qui commande le fonctionnement des modules compris dans le circuit 104, - un module 21 de mémoire tampon de réorganisation, - un module 22 de filtrage vertical, - un module 23 de filtrage horizontal, - un premier module 24 de mémoire tampon, - un second module 25 de mémoire tampon, - un module 26 de quantification et codage entropique. Le module 21 a des entrées de données et des sorties d'adresse reliées à la mémoire vive 103. Le module 21 a également des sorties reliées au module de filtrage vertical 22. Le module 21 permet d'ordonner les échantillons à traiter selon un ordre spécifique et de les mémoriser avant leur traitement. Le module de filtrage vertical 22 effectue un filtrage dans la direction verticale de l'image et comporte des sorties reliées au module 23 de filtrage horizontal. Le module 23 de filtrage horizontal effectue un filtrage dans la direction horizontale de l'image et comporte des sorties reliées aux modules 24 et 25. Bien entendu, de manière équivalente, le module de filtrage horizontal peut être placé avant le module de filtrage vertical. Le module 24 a une sortie reliée au module de filtrage vertical 22. Le module 25 a des sorties reliées au module de quantification et codage entropique 26. La quantification et le codage entropique sont classiques et ne seront pas détaillés ici. Les modules 21, 22, 23, 24 et 25 sont détaillés dans la suite. Le fonctionnement du circuit 104 est globalement le suivant. Le filtrage est effectué par blocs d'échantillons. De manière générale, un bloc est un groupe d'échantillons sélectionnés dans l'image. Les blocs sont ici de forme rectangulaire, avec un chevauchement entre blocs voisins qui est nul ou de une ligne et/ou une colonne d'échantillons. Tous les blocs comportent le même nombre d'échantillons, de sorte qu'ils sont tous filtrés de manière identique. Pour cela, les échantillons de l'image à coder sont lus en mémoire 103 de manière ordonnée par le module 21, sous forme de blocs qui sont ensuite filtrés selon les deux directions verticale et horizontale par les modules 22 et 23. Chaque bloc est ainsi analysé selon ses fréquences de manière à être transformé en quatre sous-blocs par les modules 22 et 23. L'analyse est faite sur au moins deux niveaux de résolution, c'est-à- dire que les sous-blocs contenant des échantillons de basse fréquence selon les deux directions d'analyse, obtenus à au moins un premier niveau de résolution, sont filtrés à leur tour par les modules 22 et 23. Ce bouclage est effectué au moins une fois. Chaque bloc de l'image initiale est analysé selon tous les niveaux de résolution souhaités. Les sous-blocs ne contenant pas des échantillons de basse fréquence selon les deux directions d'analyse obtenus au premier niveau de résolution sont fournis au module 25 puis sont quantifiés et codés de manière entropique par le module 26. Ce dernier est adapté pour traiter des blocs de taille fixe et prédéterminée, choisie égale à celle des sous-blocs obtenus au premier niveau de résolution. Les blocs obtenus aux niveaux de résolutions inférieures ont des tailles inférieures à celle requise par le module 26. Ces blocs sont par conséquent groupés de manière à former des blocs ayant la taille requise. Les sous-blocs contenant des échantillons de basse fréquence selon les deux directions d'analyse sont fournis au module 24, pour effectuer le bouclage mentionné plus haut, sauf pour le dernier niveau de résolution de la décomposition, o ces sous-blocs sont fournis au module 25. La figure 5 représente le module 21 de mémoire tampon et de réorganisation des données dans celle-ci. Le circuit 21 permet de lire les données selon un ordre prédéterminé dans l'image d'origine. Par exemple, la figure 6 représente une partie de l'image à coder. Le filtrage de l'image est effectué par bloc. En conséquence l'image est divisée en blocs d'échantillons Bi, o i est un entier qui représente le rang du bloc. A titre d'exemple, on considère dans la suite des blocs carrés de taille 64x64 échantillons. En outre ces blocs peuvent se recouvrir entre blocs voisins sur un nombre prédéterminé de ligne et/ou sur un nombre prédéterminé de colonne. Dans la suite, on s'intéressera au cas o le recouvrement est de une ligne et une colonne, bien que des recouvrements plus grands soient possibles. Chaque bloc comporte alors (64(+1))x(64(+1)) échantillons. L'intérêt du recouvrement entre blocs voisins, ainsi que les questions de filtrage de bord sont exposés dans les demandes de brevet français n 99 02303 et n 99 02305. A l'intérieur d'un bloc, les échantillons sont lus selon un ordre prédéterminé, par exemple selon un balayage en zigzag depuis le coin haut gauche jusqu'au coin bas droit. Les blocs sont eux-mêmes traités de manière ordonnée, selon un ordre qui minimise l'occupation en mémoire des données en cours de traitement. Par exemple, pour une décomposition de l'image sur trois niveaux de résolution, on considère et on traite les blocs par groupes de quatre blocs adjacents, tels que les blocs B1, B2, B3 et B4. Les groupes de quatre blocs sont eux-mêmes considérés par sur- groupes de quatre groupes, dits macro-blocs. L'ordre de traitement des blocs pour une décomposition à trois niveaux de résolution est représenté à la figure 6 par une ligne continue. Les quatre blocs d'un groupe sont parcourus avant de passer au groupe suivant. De même, un macro-bloc est totalement parcouru avant de passer au macro-bloc suivant. Il est à noter qu'à l'intérieur d'un groupe de quatre blocs, I'ordre de traitement des blocs est quelconque. De même, à l'intérieur d'un macro-bloc, l'ordre de traitement des groupes est quelconque. Cet ordre de traitement permet de filtrer l'image par zones, à tous les niveaux de résolution. Ainsi, ne sont gardées en mémoire que les données de la zone courante, qui sont filtrées à tous les niveaux de résolution souhaités. Il est à noter que le nombre de blocs compris dans un macro-bloc dépend du nombre de niveaux de résolution. Ainsi, un macro-bloc comporte 16 blocs pour trois niveaux de résolution, 64 blocs pour quatre niveaux de résolution et 256 blocs pour cinq niveaux de résolution. En référence à nouveau à la figure 5, le module 21 comporte une mémoire vive 210 et un générateur d'adresse réordonnée 211. Le générateur d'adresse 211 est commandé par les signaux Hsync, Vsync et ACT fournis par le contrôleur 20. Le générateur d'adresse 211 fournit un signal d'adresse ADR sur sept bits à la mémoire vive 210 et contrôle l'écriture des données dans cette mémoire par le signal WE. Le générateur d'adresse 211 fournit un signal d'adresse ADR1 à la mémoire vive 103 ainsi que des signaux de contrôle D1 et D2. Les données sont lues dans la mémoire 103 par séries de 64(+1) octets. Les données sont écrites dans la mémoire 210 suivant un schéma de lecture-modification-écriture. La mémoire 210 comporte cinq entrées DlI à D15 et cinq sorties DO1 à DO5. L'entrée DlI reçoit huit bits depuis la mémoire 103. Les sorties DO1 à DO4 sont respectivement reliées aux entrées D12 à DI5. La mémoire 210 est ainsi un registre à décalage ayant une profondeur de cinq octets et une largeur de 64(+1) octets. La mémoire 210 fournit cinq octets à la fois au module de filtrage vertical 22. En référence à la figure 7, le module de filtrage vertical 22 comporte un multiplexeur 220 et un circuit de filtrage vertical 221. Une première entrée du multiplexeur 220 est reliée au module 21, tandis qu'une seconde entrée du multiplexeur 220 est reliée au module 24 qui sera décrit dans la suite. Une sortie du multiplexeur 220 est reliée à une entrée du circuit de filtrage 221. Le contrôleur 20 fournit un signal de commande NIV pour indiquer quel est le niveau de résolution des données à filtrer. Lorsque des données de l'image d'origine sont à filtrer, ce qui correspond au niveau de résolution le plus élevé, le multiplexeur sélectionne les données provenant du module 21. Dans ce cas, les cinq octets sont transformés en cinq mots de seize bits chacun, en mettant à zéro les bits inutilisés. Ainsi, le format des données à filtrer est compatible avec le fonctionnement du circuit 221. Lorsque des données d'un niveau de résolution inférieure sont à filtrer, les données sélectionnées sont celles provenant du module 24. Ces données sont reçues sous la forme de cinq mots de seize bits chacun. Le circuit 221 reçoit en entrée cinq mots de seize bits chacun et réalise un filtrage en ondelettes sous forme dite de " lifting ", tel que décrit par exemple dans la demande de brevet français n 98 08824. Le filtre utilisé ici est un filtre 5/3. D'autres modes de réalisation de filtrage en ondelettes sont possibles, par exemple par convolution. Le circuit 221 fournit au module 23 deux flux de seize bits chacun dont l'un comporte des échantillons de basse fréquence et l'autre des échantillons de haute fréquence. La figure 8 représente le module de filtrage horizontal 23 qui comporte deux registres à décalage 230 et 231 et deux circuits de filtrage 232 et 233. Le registre à décalage 230 reçoit les échantillons de haute fréquence depuis le module 22, forme cinq mots de 16 bits chacun et les applique au circuit de filtrage 232. Ce dernier, similaire au circuit de filtrage 221, travaille ici sur 80 bits en entrée et effectue un filtrage en ondelettes dans le sens horizontal et fournit en sortie deux flux de 16 bits chacun. L'un de ces flux comporte des échantillons de haute fréquence selon les deux directions d'analyse et l'autre des échantillons de haute fréquence selon la direction verticale et des échantillons de basse fréquence selon la direction horizontale. De manière similaire, le registre à décalage 231 reçoit les échantillons de basse fréquence depuis le module 22, forme cinq mots de 16 bits chacun et les applique au circuit de filtrage 233. Ce dernier, similaire au circuit de filtrage 232, travaille ici sur 80 bits en entrée et effectue un filtrage en ondelettes dans le sens horizontal et fournit en sortie deux flux de 16 bits chacun. L'un de ces flux comporte des échantillons de basse fréquence selon les deux directions d'analyse et l'autre des échantillons de basse fréquence selon la direction verticale et des échantillons de haute fréquence selon la direction horizontale. Le module 23 comporte ainsi quatre sorties reliées à quatre entrées du module de mémoire 25. La sortie fournissant le flux des échantillons de basse fréquence selon les deux directions d'analyse est également reliée au module de mémoire 24. Le filtrage d'un bloc Bi, de taille (64(+1))x(64(+1)) échantillons, a ainsi pour résultat, au premier niveau de décomposition, quatre blocs LLi,1, LHia, HLi,1 et HHi,1. Le bloc LLi,1 a une taille de (32(+ 1))x(32(+1)) échantillons, tandis que les blocs LH,1, HLi,l et HHi,l ont chacun une taille de 32x32 échantillons. Le bloc LLi,1 contient des échantillons de basse fréquence selon les deux directions d'analyse, le bloc LHi,1 contient des échantillons de haute fréquence selon une première direction d'analyse et de basse fréquence selon l'autre direction d'analyse, le bloc HL1 contient des échantillons de basse fréquence selon la première direction d'analyse et de haute fréquence selon l'autre direction d'analyse et le bloc HHi,1 contient des échantillons de haute fréquence selon les deux directions d'analyse. Lorsque le bloc LLi,l est à son tour filtré, cela donne quatre blocs LLi, 2, LH,2, HL,2 et HH,2 au deuxième niveau de résolution. Le bloc LLi,2 a une taille de (16(+1))x(16(+1)) échantillons et les blocs LHi,2, HLi,2 et HHi,2 ont chacun une taille de 16x16 échantillons. Le bloc LLi,2 peut être à son tour filtré, et ainsi de suite. Les blocs qui contiennent des échantillons de basse fréquence selon une direction d'analyse ont, à chaque niveau de décomposition, un recouvrement dans cette direction d'analyse qui est divisé par deux par rapport au niveau précédent, puis arrondi par valeur supérieure. Les blocs qui contiennent des échantillons de haute fréquence selon une direction d'analyse ont, à chaque niveau de décomposition, un recouvrement dans cette direction d'analyse qui est divisé par deux par rapport au niveau précédent, puis arrondi par valeur inférieure. Le recouvrement des blocs qui contiennent des échantillons de haute fréquence selon au moins une direction d'analyse est supprimé. Le recouvrement des blocs quicontiennent des échantillons de basse fréquence selon les deux directions d'analyse est supprimé seulement à l'issue du dernier niveau de décomposition. La figure 9 représente le module 24 de mémoire tampon qui comporte une mémoire tampon 240, un générateur d'adresse 241 et un registre à décalage circulaire 242. Le générateur d'adresse 241 reçoit des signaux de commande depuis le contrôleur 20. Le signal PBV indique que les données sur le bus d'entrée sont valides. Le signal PS indique quel niveau de résolution est en cours de traitement. Le générateur d'adresse 241 fournit un signal de commande d'écriture WE à la mémoire 240, ainsi qu'un signal d'adresse AD1. Les adresses sont ici exprimées sur neuf bits. La mémoire 240 reçoit les sous-bandes de basse fréquence résultant de la décomposition des blocs par les modules de filtrage 22 et 23, sauf pour le niveau de résolution le plus faible, puisque les données de ce dernier niveau de décomposition ne sont pas analysées. La figure 10 illustre l'organisation de la mémoire 240. Pour une décomposition à quatre niveaux d'un bloc Bi, la mémoire 240 contient trois zones pour mémoriser les sous-bandes de basse fréquence LLi,1, LLi, 2 et LLi,3 résultant de la décomposition des blocs par les modules de filtrage 22 et 23. La taille de la mémoire est donc liée au nombre de niveaux de décomposition. Ainsi, une première zone a la capacité de mémoriser le bloc LLi,l contenant les échantillons de basse fréquence au premier niveau de résolution, soit (32(+1))x(32(+1)) échantillons. Une seconde zone a la capacité de mémoriser le bloc LLi,2 contenant les échantillons de basse fréquence au deuxième niveau de résolution, soit (16(+1))x(16(+1)) échantillons. Enfin, une troisième zone a la capacité de mémoriser le bloc LL,,3 contenant les échantillons de basse fréquence au troisième niveau de résolution, soit (8(+1))x(8(+1)) échantillons. Tous les échantillons sont exprimés sur seize bits. Il n'est pas nécessaire de mémoriser en mémoire 240 le bloc contenant les échantillons de basse fréquence au quatrième et dernier niveau de résolution, puisque ce bloc est directement quantifié et codé de manière entropique. En variante, la mémoire 240 peut avoir une taille réduite. En effet, après le filtrage du bloc LL,j1 pour fournir le bloc LL,2, le bloc LLj n'est plus nécessaire. Le bloc LLi,2 peut donc être écrit à la place du bloc LLi,1. De même, après le filtrage du bloc LLi,2 pour fournir le bloc LLi,3, le bloc LLi,2 n'est plus nécessaire. Le bloc LLi,3 peut donc être écrit à la place du bloc LLi,2. Dans ce cas, la mémoire 240 a la capacité de mémoriser le plus grand des blocs LLi1, LLi,2 et LLi,3. La figure 11 représente le module 25 de mémoire tampon qui comporte un générateur d'adresse 251, un multiplexeur 252, une première mémoire tampon 253 et une seconde mémoire tampon 254. Le générateur d'adresse 251 reçoit des signaux de commande depuis le contrôleur 20. Le signal SBV commande le verrouillage des données dans les mémoires 253 et 254. Le signal SB indique quelle sous-bande est en cours de traitement. Le signal ENC commande la sortie des données de la mémoire 253 ou 254 pour la quantification et le codage entropique des données. Le signal LVL indique quel est le niveau de résolution en cours de traitement. Le générateur d'adresse 251 fournit un signal de commande d'écriture WE aux mémoires 253 et 254, ainsi que deux signaux d'adresse AD2 et AD3. Les adresses sont ici exprimées sur dix bits pour la mémoire 254 et sur douze bits pour la mémoire 253. La mémoire 253 reçoit les blocs LHi,L, HLiL et HHiL résultants de la décomposition du bloc courant Bi à tous les niveaux de décomposition et les mémorise. Les blocs sont regroupés selon leur orientation d'analyse, de manière à former des blocs de regroupement de taille 32x32, qui correspond à la taille des blocs qui peuvent être traités par le module 26. Pour cela, selon l'exemple choisi, la mémoire 253 a une capacité de mémoriser pour chaque niveau de décomposition trois blocs de regroupement comportant chacun 32x32 échantillons exprimés sur 16 bits. Pour le premier niveau de décomposition, l'un de ces blocs comporte un bloc LHi,1, un autre de ces blocs comporte un bloc HLi,1 et le dernier bloc comporte un bloc HHi,. Pour le deuxième niveau de décomposition, I'un de ces blocs comporte lui-même quatre blocs LHi,2, un autre de ces blocs comporte quatre blocs HLi,2 et le dernier bloc comporte quatre blocs HHi,2. Pour le troisième niveau de décomposition, l'un de ces blocs comporte lui-même seize blocs LH,3, un autre de ces blocs comporte seize blocs HLi,3 et le dernier bloc comporte seize blocs HHi,3. Enfin, pour le quatrième niveau de décomposition, I'un de ces blocs comporte lui-même soixante quatre blocs LH,4, un autre de ces blocs comporte soixante quatre blocs HLi,4 et le dernier bloc comporte soixante quatre blocs HH,4. La mémoire 254 reçoit le bloc LLO,4 résultant de la décomposition du bloc courant Bi au dernier niveau de décomposition et le mémorise. La mémoire 254 mémorise autant de blocs LLi,4 que nécessaire pour former un bloc ayant une taille compatible avec le fonctionnement du module 26. Pour cela, selon l'exemple choisi, la mémoire 254 a une capacité de mémoriser au moins un bloc comportant 32x32 échantillons exprimés sur 16 bits. En variante, la mémoire 254 peut mémoriser des blocs LLi4 pour former un bloc de taille inférieure à celle des blocs de regroupement des niveaux de résolution supérieurs. En sortie, le multiplexeur 252 reçoit un signal de commande depuis le générateur d'adresse 251 et sélectionne l'un des quatre blocs de taille 32x32 pour le transmettre au module 26. Ce dernier effectue une quantification et un codage entropique des données qu'il reçoit. La figure 12 représente un procédé de codage de signal numérique selon l'invention, qui est mis en oeuvre dans le dispositif représenté à la figure 4, précédemment décrite. Le procédé est représenté sous la forme d'un algorithme comportant des étapes E1 à E18. Ce procédé réalise le filtrage sur quatre niveaux de décomposition d'une image, ainsi que la quantification et le codage entropique des données filtrées. L'étape E1 est une initialisation à laquelle un paramètre de travail i est initialisé à un, pour considérer le premier bloc de l'image à traiter. Les blocs sont transformés selon un ordre prédéterminé. A l'étape suivante E2, un paramètre de travail L est initialisé à un, pour considérer le premier niveau de résolution de la décomposition. Le paramètre L représente le niveau de résolution courant. L'étape suivante E3 est un test pour déterminer si le niveau de résolution courant est le premier. Si la réponse est positive, alors l'étape E3 est suivie de l'étape E4, à laquelle le bloc Bi de rang i est lu dans la mémoire d'image 210, puis est filtré de manière à former quatre blocs de sous-bandes LLia, LHi,,, HLi,l et HHi,, au premier niveau de résolution. Les blocs LHi,1, HLi,1 et HHu, sont mémorisés en mémoire tampon 253 du module 25, et le bloc LLi,I est mémorisé en mémoire tampon 240 du module 24, comme précédemment expose. Si la réponse est négative à l'étape E3, alors cette étape est suivie de l'étape E5 qui est similaire à l'étape E4, mis à part le fait que le bloc est lu dans la mémoire tampon 240. Le bloc lu appartient au niveau de résolution immédiatement supérieur au niveau courant. Au dernier niveau de décomposition, le bloc LLi,4 est mémorisé en mémoire 254 du module 25. Les étapes E4 et E5 sont toutes les deux suivies de l'étape E7 à laquelle le paramètre L est incrémenté de une unité pour considérer le niveau de résolution suivant. L'étape E7 est suivie de l'étape E8 qui est un test pour déterminer si le paramètre L est strictement supérieur à quatre. Si la réponse est négative, alors l'étape E8 est suivie de l'étape E3. Ce bouclage permet de filtrer un bloc Bi à tous les niveaux de résolution souhaités, ici quatre niveaux. Si la réponse est positive à l'étape E8, alors cela signifie que le bloc courant a été décomposé à tous les niveaux de résolution. L'étape E8 est alors suivie de l'étape E9 à laquelle les blocs LHi,, HL," et HHi, obtenus au premier niveau de décomposition sont quantifiés puis codés de manière entropique. Ces blocs ont la taille requise par le module 26. Ces opérations sont classiques et ne seront pas décrites ici. L'étape E9 est suivie de l'étape E10 qui est un test pour déterminer si la mémoire 253 contient des blocs complets LH2, HL2 et HH2 de taille 32x32 contenant respectivement des blocs LHi,2, HLi,2, et HH,2 obtenus au deuxième niveau de résolution. Par bloc complet, on entend un bloc dont la taille est appropriée pour que ce bloc soit traité par le module 26. Si la réponse est négative, alors cette étape est suivie de l'étape E17 pour considérer un bloc suivant dans l'image d'origine. L'étape E17 est suivie de l'étape E2 précédemment décrite. Si la réponse est positive à l'étape E10, alors cette étape est suivie de l'étape El i à laquelle les blocs complets précédents sont quantifiés puis codés de manière entropique. L'étape El est suivie de l'étape E1 2 qui est un test pour déterminer si la mémoire 253 contient des blocs complets LH3, HL3 et HH3 de taille 32x32 contenant respectivement des blocs LHi,3, HLi,3, et HHi,3 obtenus au troisième niveau de résolution. Si la réponse est négative, alors cette étape est suivie de l'étape E17 pour considérer un bloc suivant dans l'image d'origine. L'étape E17 est suivie de l'étape E2 précédemment décrite. Si la réponse est positive à l'étape E12, alors cette étape est suivie de l'étape E13 à laquelle les blocs complets précédents sont quantifiés puis codés de manière entropique. L'étape E13 est suivie de l'étape E14 qui est un test pour déterminer si la mémoire 253 contient des blocs complets LH4, HL4 et HH4 de taille 32x32 contenant respectivement des blocs LH,4, HLi4, et HHi,4 obtenus au quatrième niveau de résolution et si la mémoire 254 contient un bloc complet LL4 de taille 32x32 contenant des blocs LLi,4, obtenus au quatrième niveau de résolution. Si la réponse est négative, alors cette étape est suivie de l'étape E17 pour considérer un bloc suivant dans l'image d'origine. L'étape E17 est suivie de l'étape E2 précédemment décrite. Si la réponse est positive à l'étape E14, alors cette étape est suivie de l'étape E15 à laquelle les blocs complets précédents sont quantifiés puis codés de manière entropique. Bien entendu, le nombre d'étapes telles que les étapes E10 à E15 dépend du nombre de niveaux de résolution choisi. L'étape E15 est suivie de l'étape E16 qui est un test pour déterminer si la totalité de l'image à coder a été traitée. Si la réponse est négative, alors cette étape est suive de l'étape E17 à laquelle le paramètre i est incrémenté de une unité pour considérer le bloc suivant dans l'image. L'étape E17 est suivie de l'étape E2 précédemment décrite. Lorsque la réponse est positive à l'étape E16, cette étape est suivie de l'étape E18 à laquelle les mémoires tampon sont vidées et les données qu'elles contiennent éventuellement sont quantifiées et codées. Le codage de I'image est ensuite terminé. Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits et représentés, mais englobe, bien au contraire, toute variante à la portée de l'homme du métier. REVENDICATIONS 1. Procédé de transformation de signal numérique représentatif de grandeur physique, en des signaux de sous-bandes de fréquence répartis selon au moins deux bandes de fréquence différentes et selon au moins deux résolutions différentes, caractérisé en ce qu'il comporte des étapes de: division (El, E18) du signal en premiers blocs (Bi) comportant tous un même premier nombre prédéterminé d'échantillons, - transformation (E4) de chacun des premiers blocs formés à l'étape précédente en une pluralité de seconds blocs, un second bloc considéré quelconque comportant un second nombre respectif d'échantillons qui dépend de la résolution du second bloc considéré, et contenant des échantillons sélectionnés selon leur fréquence, - groupement de seconds blocs issus de la transformation de différents premiers blocs pour former des troisièmes blocs comportant tous un même troisième nombre prédéterminé d'échantillons qui est au moins égal au plus grand des seconds nombres. 2. Procédé de transformation selon la revendication 1, caractérisé en ce que la transformation est une transformation en ondelettes. 3. Procédé de transformation selon la revendication 1 ou 2, caractérisé en ce que les premiers blocs (Bi) se chevauchent deux à deux sur un quatrième nombre prédéterminé d'échantillons. 4. Procédé de transformation selon la revendication 1 ou 2, caractérisé en ce que les premiers blocs (Bi) sont adjacents. 5. Procédé de transformation selon l'une quelconque des revendications 1 à 4, caractérisé en ce que les premiers blocs sont traités selon un ordre prédéterminé, tel que le signal est transformé zone par zone, une zone du signal étant traitée a tous les niveaux de résolution avant de passer à une zone suivante. 6. Procédé de transformation selon l'une quelconque des revendications 1 à 5, caractérisé en ce que le groupement des seconds blocs est réalisé en groupant ensemble des seconds blocs ayant le même nombre d'échantillons et des échantillons sélectionnés selon la même bande de fréquence. 7. Procédé de codage de signal numérique représentatif de grandeur physique, en des signaux de sous-bandes de fréquence répartis selon au moins deux bandes de fréquence différentes et selon au moins deux résolutions différentes, caractérisé en ce qu'il comporte des étapes de: division du signal en premiers blocs (B) comportant tous un même premier nombre prédéterminé d'échantillons, - transformation (E4) de chacun des premiers blocs formés à l'étape précédente en une pluralité de seconds blocs, un second bloc considéré quelconque comportant un second nombre respectif d'échantillons qui dépend de la résolution du second bloc considéré, et contenant des échantillons sélectionnés selon leur fréquence, - groupement de seconds blocs issus de la transformation de différents premiers blocs pour former des troisièmes blocs comportant tous un même troisième nombre prédéterminé d'échantillons qui est au moins égal au plus grand des seconds nombres. 8. Procédé de codage selon la revendication 7, caractérisé en ce que la transformation est une transformation en ondelettes. 9. Procédé de codage selon la revendication 7 ou 8, caractérisé en ce que les premiers blocs (Bi) se chevauchent deux à deux sur un quatrième nombre prédéterminé d'échantillons. 10. Procédé de codage selon la revendication 7 ou 8, caractérisé en ce que les premiers blocs (Bi) sont adjacents. 11. Procédé de codage selon l'une quelconque des revendications 7 à 10, caractérisé en ce que les premiers blocs (Bi) sont traités selon un ordre prédéterminé, tel que le signal est transformé zone par zone, une zone du signal étant traitée à tous les niveaux de résolution avant de passer à une zone suivante. 12. Procédé de codage selon l'une quelconque des revendications 7 à 11, caractérisé en ce que le groupement des seconds blocs est réalisé en groupant ensemble des seconds blocs ayant le même nombre d'échantillons et des échantillons sélectionnés selon la même bande de fréquence. 13. Procédé de codage selon l'une quelconque des revendications 7 à 12, caractérisé en ce qu'il comporte des étapes (E9, Ell, E13, E15, E18) de quantification et codage entropique du signal transformé. 14. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que le signal numérique est un signal d'image. 15. Dispositif de transformation de signal numérique représentatif de grandeur physique, en des signaux de sous-bandes de fréquence répartis selon au moins deux bandes de fréquence différentes et selon au moins deux résolutions différentes, caractérisé en ce qu'il comporte: - des moyens de division du signal en premiers blocs (Bi) comportant tous un même premier nombre prédéterminé d'échantillons, - des moyens de transformation (22, 23) de chacun des premiers blocs en une pluralité de seconds blocs, 24. un second bloc considéré quelconque comportant un second nombre respectif d'échantillons qui dépend de la résolution du second bloc considéré, et contenant des échantillons sélectionnés selon leur fréquence, - des moyens de groupement (25) de seconds blocs issus de la transformation de différents premiers blocs pour former des troisièmes blocs comportant tous un même troisième nombre prédéterminé d'échantillons qui est au moins égal au plus grand des seconds nombres. 16. Dispositif de transformation selon la revendication 15, caractérisé en ce que les moyens de transformation sont adaptés à mettre en oeuvre une transformation en ondelettes. 17. Dispositif de transformation selon la revendication 15 ou 16, caractérisé en ce que les moyens de division sont adaptés à former des premiers blocs qui se chevauchent deux à deux sur un quatrième nombre prédéterminé d'échantillons. 18. Dispositif de transformation selon la revendication 15 ou 16, caractérisé en ce que les moyens de division sont adaptés à former des premiers blocs qui sont adjacents. 19. Dispositif de transformation selon l'une quelconque des revendications 15 à 18, caractérisé en ce qu'il est adapté à traiter les premiers blocs selon un ordre prédéterminé, tel que le signal est transformé zone par zone, une zone du signal étant traitée à tous les niveaux de résolution avant de passer à une zone suivante. 20. Dispositif de transformation selon l'une quelconque des revendications 15 à 19, caractérisé en ce que les moyens de groupement sont adaptés à grouper ensemble des seconds blocs ayant le même nombre d'échantillons et des échantillons sélectionnés selon la même bande de fréquence. 21. Dispositif de codage de signal numérique représentatif de grandeur physique, en des signaux de sous-bandes de fréquence répartis selon au moins deux bandes de fréquence différentes et selon au moins deux résolutions différentes, caractérisé en ce qu'il comporte: - des moyens de division du signal en premiers blocs (Bi) comportant tous un même premier nombre prédéterminé d'échantillons, - des moyens de transformation (22, 23) de chacun des premiers blocs en une pluralité de seconds blocs, un second bloc considéré quelconque comportant un second nombre respectif d'échantillons qui dépend de la résolution du second bloc considéré, et contenant des échantillons sélectionnés selon leur fréquence, - des moyens de groupement (25) de seconds blocs issus de la transformation de différents premiers blocs pour former des troisièmes blocs comportant tous un même troisième nombre prédéterminé d'échantillons qui est au moins égal au plus grand des seconds nombres. 22. Dispositif de codage selon la revendication 21, caractérisé en ce que les moyens de transformation sont adaptés à mettre en oeuvre une transformation en ondelettes. 23. Dispositif de codage selon la revendication 21 ou 22, caractérisé en ce que les moyens de divisions sont adaptés à former des premiers blocs qui se chevauchent deux à deux sur un quatrième nombre prédéterminé d'échantillons. 24. Dispositif de codage selon la revendication 21 ou 22, caractérisé en ce que les moyens de divisions sont adaptés à former des premiers blocs qui sont adjacents. 25. Dispositif de codage selon l'une quelconque des revendications 21 à 24, caractérisé en ce qu'il est adapté à traiter les premiers blocs selon un ordre prédéterminé, tel que le signal est transformé zone par zone, une zone du signal étant traitée à tous les niveaux de résolution avant de passer à une zone suivante. 26. Dispositif de codage selon l'une quelconque des revendications 21 à 25, caractérisé en ce que les moyens de groupement sont adaptés à grouper ensemble des seconds blocs ayant le même nombre d'échantillons et des échantillons sélectionnés selon la même bande de fréquence. 27. Dispositif de codage selon l'une quelconque des revendications 21 à 26, caractérisé en ce qu'il comporte des moyens (26) de quantification et codage entropique du signal transformé. 28. Dispositif selon l'une quelconque des revendications 15 à 20, caractérisé en ce qu'il est adapté à traiter un signal numérique qui est un signal d'image. 29. Dispositif selon l'une quelconque des revendications 15 à 20, caractérisé en ce que les moyens de division, transformation et groupement sont incorporés dans: - un contrôleur (20), - une mémoire morte comportant un programme pour coder chacun des blocs de données, et - une mémoire vive comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution dudit programme. 30. Appareil numérique (10) incluant des moyens de mise en ceuvre du procédé de transformation selon l'une quelconque des revendications 1 à 6. 31. Appareil numérique (10) incluant le dispositif selon l'une quelconque des revendications 15 à 20. 32. Procédé selon l'une quelconque des revendications 7 à 13, caractérisé en ce que le signal numérique est un signal d'image. 33. Dispositif selon l'une quelconque des revendications 21 à 27, caractérisé en ce qu'il est adapté à traiter un signal numérique qui est un signal d'image. 34. Dispositif selon l'une quelconque des revendications 21 à 27, caractérisé en ce que les moyens de division, transformation et groupement sont incorporés dans: - un contrôleur (20), - une mémoire morte comportant un programme pour coder chacun des blocs de données, et - une mémoire vive comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution dudit programme. 35. Appareil numérique (10) incluant des moyens de mise en oeuvre du procédé de codage selon l'une quelconque des revendications 7 à 13. 36. Appareil numérique (10) incluant le dispositif selon l'une quelconque des revendications 21 à 27.