Brevet FR2773926A1 — publié le 19990723

La présente invention concerne d'une manière générale le codage de signal numérique et propose à cette fin un dispositif et un procédé de codage d'un signal numérique par décomposition en sous-bandes de fréquence du signal et codage des coefficients issus de la décomposition en sous-bandes. Le codage a pour but de compresser le signal, ce qui permet de transmettre, respectivement mémoriser, le signal numérique en réduisant ie temps de transmission, ou le débit de transmission, respectivement en réduisant la place mémoire utilisée. L'invention se situe dans le domaine de la compression avec perte de signaux numériques. II est connu de décomposer un signal en sous-bandes de fréquence avant de le compresser. La décomposition consiste à créer, à partir du signal, un jeu de sous-bandes qui contiennent chacune une gamme limitée de fréquences. Les sous-bandes peuvent être de différentes résolutions, la résolution d'une sous-bande étant le nombre d'échantillons par unité de longueur utilisés pour représenter cette sous-bande. Dans le cas d'un signal numérique d'image, une sous-bande de fréquence de ce signal peut être ellemême considérée comme une image, c'est-à-dire un tableau bidimensionnel de valeurs numériques. II est à noter que la décomposition d'un signal en sous-bandes de fréquence ne crée aucune compression en elle-même, mais permet de décorréler le signal de façon à en éliminer la redondance préalablement à la compression proprement dite. Les sous-bandes sont ainsi codées de manière plus efficace que le signal d'origine. Un procédé connu de codage de signal numérique, en l'occurrence d'une image numérique, comporte trois étapes principales. L'image est tout d'abord décomposée par une transformation en sous-bandes de fréquence, puis une quantification scalaire des coefficients ainsi obtenus est réalisée. Les indices quantifiés sont enfin codés par un codage entropique sans perte. Ce procédé permet un taux de compression élevé du signal. Cependant, le rapport entre le taux de compression et l'erreur de codage est perfectible. La présente invention vise à remédier aux inconvénients de la technique antérieure, en fournissant un dispositif et un procédé de compression de signal numérique qui offre un rapport compression sur distorsion élevé. L'invention propose d'appliquer un prétraitement entre l'étape de décomposition en sous-bandes et l'étape de codage proprement dite. L'invention propose un procédé de codage de signal numérique, comportant l'analyse du signal pour séparer l'information pertinente et l'information non pertinente, puis le prétraitement de l'information non pertinente selon un premier mode de prétraitement, et prétraitement de l'information pertinente selon un second mode de prétraitement. Les modes de prétraitement sont déterminés pour faciliter le codage du signal prétraité. A cette fin, I'invention propose un procédé de codage de signal numérique comportant une étape d'analyse du signal numérique en une pluralité de sous-bandes de fréquence réparties selon au moins deux bandes de fréquence différentes, au moins une première sous-bande ayant une fréquence plus faible et au moins une seconde sous-bande ayant une fréquence plus élevée, caractérisé en ce qu'il comporte, pour chaque seconde sous-bande, les étapes de: - division de la seconde sous-bande en blocs, - sélection de premiers blocs et de seconds blocs, selon un critère de sélection, - prétraitement des premiers blocs par application d'un premier mode de prétraitement, - prétraitement des seconds blocs par application d'un second mode de prétraitement, - codage de la sous-bande comportant les blocs prétraités, par application d'un troisième mode de codage. Corrélativement, I'invention propose un dispositif de codage de signal numérique comportant des moyens d'analyse du signal numérique en une pluralité de sous-bandes de fréquence réparties selon au moins deux bandes de fréquence différentes, au moins une première sous-bande ayant une fréquence plus faible et au moins une seconde sous-bande ayant une fréquence plus élevée, caractérisé en ce qu'il comporte: - des moyens de division de chaque seconde sous-bande en blocs, - des moyens de sélection de premiers blocs et de seconds blocs, selon un critère de sélection, - des moyens de prétraitement des premiers blocs par application d'un premier mode de prétraitement, - des moyens de prétraitement des seconds blocs par application d'un second mode de prétraitement, - des moyens de codage de la sous-bande comportant les blocs prétraités, par application d'un troisième mode de codage. Le procédé et le dispositif selon l'invention permettent d'obtenir un rapport compression sur distorsion élevé. En effet, la sélection permet de séparer l'information pertinente ou utile, de l'information non pertinente, ou parasite, telle que le bruit de fond, par exemple. Le prétraitement permet ensuite de réduire l'influence de l'information non pertinente, grâce à quoi le codage est plus efficace. Globalement, le rapport compression sur distorsion obtenu est élevé. Selon une caractéristique préférée, pour chacun des blocs, L'étape de sélection comporte: - le codage du bloc par un premier mode de codage et par un deuxième mode de codage, - la comparaison des deux modes de codage selon le critère de sélection, et - la sélection des premiers et seconds blocs en fonction du résultat de la comparaison. La sélection est simple à mettre en oeuvre. Selon une autre caractéristique préférée, le critère de sélection minimise une somme pondérée du débit et de l'erreur de codage provoqués par le codage du bloc considéré. Ce critère permet de distinguer les blocs contenant de l'information pertinente et les blocs contenant de l'information parasite. Selon des caractéristiques préférées, le premier mode de codage est une mise à zéro des coefficients du bloc, et le deuxième mode de codage est une quantification scalaire des coefficients du bloc. Le second mode de codage peut encore être une quantification codée en treillis d'une suite de coefficients extraits du bloc, ou une quantification vectorielle du bloc. Ces modes de codages sont simples et rapides à mettre en oeuvre. Selon d'autres caractéristiques préférées, le premier mode de prétraitement est une mise à zéro des coefficients du bloc, et le second mode de prétraitement est l'identité. Ainsi, I'information parasite est remplacée par des blocs mis à zéro, tandis que l'information pertinente n'est pas modifiée. Selon une caractéristique préférée, le troisième mode de codage est identique au deuxième mode de codage, ce qui simplifie la mise en oeuvre de l'invention. Selon des caractéristiques préférées, le troisième mode de codage est une quantification codée en treillis d'une suite de coefficients extraits des blocs prétraités, ou une quantification scalaire de la sous-bande, ou encore une quantification vectorielle de la sous-bande. Selon une autre caractéristique préférée, ladite au moins une première sous-bande est codée selon un quatrième mode de codage. Le dispositif de codage comporte des moyens adaptés à mettre en oeuvre les caractéristiques précédentes. 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 est un bloc diagramme d'un mode de réalisation d'un dispositif de codage de signal numérique selon l'invention; - la figure 2 est un circuit de décomposition en sous-bandes de fréquence, inclus dans le dispositif de la figure 1; - la figure 3 est une image numérique à coder par le dispositif de codage selon l'invention; - la figure 4 est une image décomposée en sous-bandes par le circuit de la figure 2; - la figure 5 est une image décomposée en sous-bandes puis divisée en blocs; - la figure 6 représente un circuit de codage par quantification codée en treillis, inclus dans le dispositif de la figure 1; - la figure 7 est un bloc diagramme d'un mode de réalisation d'un dispositif de décodage selon l'invention; - la figure 8 est un algorithme de codage d'un signal numérique selon un mode de réalisation de l'invention; - la figure 9 est un algorithme de décodage d'un signal numérique selon un mode de réalisation de l'invention; Selon le mode de réalisation choisi et représenté à la figure 1, un dispositif de codage selon l'invention est destiné à coder un signal numérique dans le but de le compresser. Le dispositif de codage est intégré dans un appareil 100, qui est par exemple un appareil photographique numérique, ou un camescope numérique, ou un système de gestion de base de données, ou encore un ordinateur. Le signal numérique à compresser SI est dans ce mode particulier de réalisation une suite d'échantillons numériques représentant une image. Le dispositif comporte une source de signal 1, ici de signal d'image. De manière générale, la source de signal soit contient le signal numérique, et est par exemple une mémoire, un disque dur ou un CD-ROM, soit convertit un signal analogique en signal numérique, et est par exemple un camescope analogique associé à un convertisseur analogique-numérique. Une sortie li de la source de signal est reliée à un circuit d'analyse, ou de décomposition en sous-bandes 2. Le circuit 2 a une première sortie 21 reliée à un circuit de codage 3. Des secondes sorties 22 du circuit de décomposition 2 sont reliées à un circuit de division en blocs 4. Le circuit 4 a des premières sorties 41 reliées à un premier circuit de codage 5 et des secondes sorties 42 reliées à un second circuit de codage 6. Une sortie 51 du circuit 5 et une sortie 61 du circuit 6 sont reliées à un circuit de comparaison 7, dont une sortie 71 est reliée sélectivement à un premier circuit de prétraitement 8 et à un second circuit de prétraitement 9. Des sorties respectives 81 et 91 des circuits de prétraitement 8 et 9 sont reliées à un circuit de codage 10, dont une sortie loi est reliée à un circuit d'exploitation Il qui est par exemple un circuit de transmission, ou une mémoire. Une sortie 31 du circuit de codage 3 est également reliée au circuit d'exploitation 10. La source d'image 1 est un dispositif pour générer une suite d'échantillons numériques représentant une image IM. La source 1 comporte une mémoire d'image et fournit un signal numérique d'image SI à l'entrée du circuit de décomposition 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. Le circuit de décomposition en sous-bandes 2, ou circuit d'analyse, est, dans ce mode de réalisation, un ensemble classique de filtres, respectivement associés à des décimateurs par deux, qui filtrent le signal d'image selon deux directions, en sous-bandes de hautes et basses fréquences spatiales. Selon la figure 2, le circuit 2 comporte ici trois blocs successifs d'analyse pour décomposer l'image IM en des sous-bandes selon trois niveaux de résolution. II est à noter que l'invention n'implique pas nécessairement une décomposition selon plusieurs niveaux de résolution, mais seulement une décomposition du signal à coder en plusieurs sous-bandes. De manière générale, la résolution d'un signal est le nombre d'échantillons par unité de longueur utilisés pour représenter ce signal. Dans le cas d'un signal d'image, la résolution d'une sous-bande est liée au nombre d'échantillons par unité de longueur utilisés pour représenter cette sous-bande horizontalement et verticalement. La résolution dépend du nombre de décimations effectuées, du facteur de décimation et de la résolution de l'image initiale. Le premier bloc d'analyse reçoit le signal numérique d'image et l'applique à deux filtres numériques respectivement passe-bas et passe-haut 21 et 22 qui filtrent le signal d'image selon une première direction, par exemple horizontale dans le cas d'un signal d'image. Après passage par des décimateurs par deux 210 et 220, les signaux filtrés résultant sont respectivement appliqués à deux filtres passe-bas 23 et 25, et passe-haut 24 et 26, qui les filtrent selon une seconde direction, par exemple verticale dans le cas d'un signal d'image. Chaque signal filtré résultant passe par un décimateur par deux respectif 230, 240, 250 et 260. Le premier bloc délivre en sortie quatre sous-bandes LL1, LH1, HL1 et HH de résolution RES1 la plus élevée dans la décomposition. La sous-bande LL1 comporte les composantes, ou coefficients, de basse fréquence, selon les deux directions, du signal d'image. La sous-bande LH1 comporte les composantes de basse fréquence selon une première direction et de haute fréquence selon une seconde direction, du signal d'image. La sous-bande HL1 comporte les composantes de haute fréquence selon la première direction et les composantes de basse fréquence selon la seconde direction. Enfin, la sous-bande HH, comporte les composantes de haute fréquence selon les deux directions. Chaque sous-bande est un ensemble de coefficients réels construit à partir de l'image d'origine, qui contient de l'information correspondant à une orientation respectivement verticale, horizontale et diagonale des contours de l'image, dans une bande de fréquence donnée. Chaque sous-bande peut être assimilée à une image. La sous-bande LLr est analysée par un bloc d'analyse analogue au précédent pour fournir quatre sous-bandes LL2, LH2, HL2 et HH2 de niveau de résolution RES2 intermédiaire dans la décomposition. La sous-bande LL2 comporte les composantes de basse fréquence selon les deux directions d'analyse, et est à son tour analysée par le troisième bloc d'analyse analogue aux deux précédents. Le troisième bloc d'analyse fournit des sous-bandes LL3, LH3, HL3 et HH3, de résolution RES3 la plus faible dans la décomposition, résultant du découpage en sous-bandes de la sous-bande LL2. Chacune des sous-bandes de résolution RES2 et RES3 correspond également à une orientation dans l'image. La décomposition effectuée par le circuit 2 est telle qu'une sousbande d'une résolution donnée est découpée en quatre sous-bandes de résolution inférieure et a donc quatre fois plus de coefficients que chacune des sous-bandes de résolution inférieure. Une image numérique IM en sortie de la source d'image 1 est représentée de manière schématique à la figure 3, tandis que la figure 4 représente l'image IMD résultant de la décomposition de l'image IM, en dix sous-bandes selon trois niveaux de résolution, par le circuit 2. L'image IMD comporte autant d'information que l'image d'origine IM, mais l'information est fréquentiellement découpée selon trois niveaux de résolution. Le niveau de plus basse résolution RES3 comporte les sous-bandes LL3, HL3, LH3 et HH3, c'est-à-dire les sous-bandes de basse fréquence selon les deux directions d'analyse. Le second niveau de résolution RES2 comporte les sous-bandes HL2, LH2 et HH2 et le niveau de plus haute résolution RES, comporte les sous-bandes de plus haute fréquence HL1, LH1 et HH . La sous-bande LL3 de plus basse fréquence est une réduction de l'image d'origine. Les autres sous-bandes sont des sous-bandes de détail. Bien entendu, le nombre de niveaux de résolution, et par conséquent de sous-bandes, peut être choisi différemment, par exemple 13 sous-bandes et quatre niveaux de résolution, pour un signal bi-dimensionnel tel qu'une image. Le nombre de sous-bandes par niveau de résolution peut également être différent. Les circuits d'analyse et de synthèse sont adaptés à la dimension du signal traité. La sous-bande LL3, de plus basse résolution RES3 est appliquée au circuit de codage 3 qui la code en une sous-bande codée, ou compressée, LLc3. Le circuit de codage 3 effectue un codage DPCM (Differential Pulse Code Modulation, ou en Français, Modulation par impulsion et codage différentiel), qui est un codage par prédiction linéaire, avec perte. Chaque pixel de la sous-bande à coder LL3 est prédit en fonction de ses voisins, et cette prédiction est soustraite de la valeur du pixel considéré, dans le but de former une image différentielle qui présente moins de corrélation entre pixels que l'image originale. L'image différentielle est alors quantifiée et codée par un codage de Huffman pour former la sous-bande codée LLc3. Selon d'autres modes de réalisation, le circuit de codage 3 effectue un codage par transformation discrète en cosinus (DCT), ou par quantification vectorielle, ou encore par codage fractal, ou par tout autre procédé de codage d'image fixe. Dans tous les cas, le codage de la sous-bande basse doit présenter une bonne qualité de codage, puisque la sous-bande basse doit être codée avec le plus de précision possible pour obtenir une bonne restitution de l'image au décodage. Dans tous les cas, la sous-bande de plus basse fréquence est de préférence traitée à part. En effet, cette sous-bande contient une grande quantité d'information, et il est préférable de la coder avec le plus de précision possible, sans mise à zéro de bloc. Cependant, pour simplifier la mise en oeuvre, il est possible de coder la sous-bande de plus basse fréquence comme les sous-bandes de détail. Les sous-bandes LH3, HL3 et HH3, ainsi que les sous-bandes de résolution supérieure HL2, LH2, HH2, HLr, LH1 et HH1 sont fournies au circuit de division 4, selon un ordre de sous-bande a priori quelconque, mais prédéterminé. Comme représenté à la figure 5, le circuit de division 4 divise chaque sous-bande de détail en blocs. Selon le mode de réalisation choisi, toutes les sous-bandes fournies au circuit 4 sont divisées en un même nombre N de blocs B. où où l'indice i est un entier, ici entre 1 et 9, qui représente l'ordre de la sous-bande considérée et l'indice n, entre 1 et N, est un entier qui représente l'ordre du bloc dans la sous-bande considérée. Les blocs sont ici de forme carrée, mais peuvent être en variante de forme rectangulaire. De manière générale, un bloc est un ensemble de coefficients extraits de la sousbande pour former un vecteur. L'ordre des blocs est a priori quelconque, mais prédéterminé. Pour des raisons pratiques, les blocs sont ordonnés de la même manière dans toutes les sous-bandes, par exemple de gauche à droite et de haut en bas. En conséquence du mode de division en blocs, la surface des blocs est divisée par quatre en passant de la résolution RES1 à la résolution RES2, et de la résolution RES2 à la résolution RES3. Cette division est simple à mettre en oeuvre, puisque toutes les sous-bandes sont divisées en un même nombre de blocs. Cependant, pour la mise en oeuvre de l'invention, le nombre et le format des blocs peuvent être différents d'une résolution à l'autre. Le circuit de codage 5 code chaque bloc Bin fourni par le circuit 4 selon un premier mode de codage. Ce mode consiste à mettre tous les coefficients du bloc à une valeur prédéterminée, par exemple la valeur zéro. Il est à noter que les blocs codés par le circuit 5 ne sont pas mémorisés. Le circuit de codage 6 code chaque bloc B. fourni par le circuit 4 par un second mode de codage, ici par quantification scalaire uniforme de chacun des coefficients du bloc puis codage des indices issus de la quantification par un codage de Huffman. En variante, les blocs peuvent être codé selon une autre méthode de codage, par exemple par quantification vectorielle, ou encore par quantification codée en treillis, qui sera décrite dans la suite. La méthode de codage utilisé doit être susceptible de coder avec précision un bloc contenant une quantité importante d'information. Pour chacun des blocs, le circuit 7 compare les deux codages selon un critère pour sélectionner le codage le plus approprié, selon ce critère, pour chaque bloc considéré. A cette fin, le circuit 7 détermine les débits R1 i n et R2,j,n nécessaires pour transmettre le bloc codé par chacun des deux circuits 5 et 6, ainsi que les erreurs de codage, ou distorsion, D1,in et D2,i,n provoquées par le codage réalisé par chacun des deux circuits 5 et 6. Les erreurs D1,i,n et D2 jan mesurent respectivement l'erreur quadratique apportée dans l'image reconstruite par le codage du bloc considéré, selon le premier et le second mode de codage. Dans le cas où la décomposition en sous-bande est orthogonale, les erreurs D1,1,n et D2,i,n sont égales aux erreurs quadratiques entre le bloc original et le bloc reconstruit. Le circuit 7 compare ensuite, pour chacun des blocs, les sommes R1,j,n + B.D1,i,n et R2,i,n + B.D2,i,n, où X est un coefficient de réglage du rapport compression/distorsion. Le codage pour lequel la somme est la plus faible est sélectionné, pour chacun des blocs considérés. Un indicateur li,n est associé à chacun des blocs pour indiquer quel est le codage sélectionné par le circuit 7. A la figure 5, les valeurs des indicateurs lin ont été reportées dans chaque bloc. Dans l'exemple représenté, les indicateurs prennent la valeur zéro ou un en fonction du codage sélectionné. En fonction de la valeur de l'indicateur Ijtnw le circuit 7 fournit le bloc Bi,n au circuit de prétraitement 8 ou au circuit de prétraitement 9. Le circuit de prétraitement 8 effectue un premier prétraitement qui consiste à remplacer chaque bloc Bi,n qu'il reçoit par un bloc de même taille ayant tous ses coefficients nuls. Si l'indicateur li,n indique que le bloc Bi,n est codé par quantification scalaire, alors le bloc Bi,n est transmis au circuit de prétraitement 9, qui effectue un second prétraitement qui consiste à laisser inchangé le bloc B. n. Le prétraitement de l'image IM a pour résultat des sous-bandes ayant des blocs nuls et des blocs identiques à ceux formés par le circuit 4. Les circuits 8 et 9 fournissent les blocs prétraités de chaque sousbande au circuit de codage 10, qui effectue le codage proprement dit des sousbandes prétraitées selon un troisième mode de codage. II est à noter qu'aucune information supplémentaire n'est nécessaire pour indiquer quel prétraitement a été effectué sur chacun des blocs. En particulier, l'indicateur Ij n'est ni transmis ni mémorisé. Selon un premier mode de réalisation, plus particulièrement représenté à la figure 6, le circuit 10 est un circuit de codage par quantification codée en treillis, dit TCQ, d'après l'Anglais Trellis Coded Quantization. Le circuit 10 comporte un circuit 91 de codage selon l'algorithme de Viterbi, un registre à décalage 92, un circuit de sélection de dictionnaire 93 et des moyens de mémoire 94 pour mémoriser des dictionnaires de vecteurs de code. Le codage par quantification codée en treillis est décrit par exemple dans l'article intitulé "Trellis Coded Quantization of Memoryless and Gauss Markov Sources" de M.W. Marcellin et T.R. Fischer, paru dans IEEE Transactions on Communications, Vol. 38, n" 1, Janvier 1990, ainsi que dans l'article "Universal Trellis Coded Quantization de J.H. Kasner, M.W. Marcellin et B.R. Hunt, disponible par Internet à l'adresse http://vail.ece.arizona.edu/Publications.html. De manière générale, le circuit de codage 10 code une suite de symboles (Sk) pour fournir deux flux binaires i(k) et j(k), où i(k) représente une suite de transitions et j(k) représente une suite d'indices des dictionnaires de vecteurs de code. Dans le contexte de l'invention, les symboles sk sont les coefficients extraits des blocs B. éventuellement quantifiés, fournis par le circuit 4. Le fonctionnement du circuit 10 est celui d'une machine à états finis, le passage d'un état à un autre étant identifié par une transition. Dans un premier mode de réalisation, chaque état correspond à un dictionnaire et est identifié par les deux valeurs binaires i(k-2) et i(k-1). Chacun des dictionnaires contient des vecteurs de code qui sont chacun identifiés par un indice dans le dictionnaire concerné. Un vecteur de code est par conséquent complètement identifié par son indice et par l'état représentant le dictionnaire auquel il appartient. Les transitions possibles de la machine à états finis, pour la suite de symboles à coder, forment une structure régulière, ou treillis. Le circuit 91 met en oeuvre un algorithme de Viterbi pour déterminer un chemin optimal dans le treillis, c'est-à-dire un dictionnaire pour chacun des symboles sk de la suite à coder. Le chemin est optimal au sens d'un coût qui est minimisé sur tout le treillis, donc sur toute la suite à coder. Le coût d'une transition est l'erreur quadratique mesurée entre le symbole à coder et le vecteur de code sélectionné dans le dictionnaire identifié par l'état dans lequel aboutit la transition. Le coût d'un état du treillis est la somme des coûts des transitions aboutissant à cet état. L'algorithme de Viterbi calcule le coût minimal de chaque état pour déterminer le chemin optimal représenté par la suite de transitions i(k). En variante, le nombre d'états est supérieur au nombre de dictionnaires. Par exemple, quatre dictionnaires et huit états sont utilisés. Le registre à décalage mémorise alors trois valeurs binaires pour définir les huit états. Chaque état est associé à deux dictionnaires. Dans tous les cas, le circuit 10 fournit les deux flux binaires i(k) et j(k), éventuellement combinés et codés entropiquement, au circuit d'exploitation 11. Selon un second mode de réalisation, le circuit de codage 10 effectue une quantification scalaire de chacune des sous-bandes, suivie d'un codage entropique des indices de quantification obtenus. Selon un troisième mode de réalisation, le circuit de codage 10 effectue une quantification vectorielle de chacune des sous-bandes. En variante, le second mode de codage (circuit 6) et le troisième mode de codage (circuit 10) sont identiques, ce qui simplifie la structure du dispositif de codage selon l'invention. Dans tous les cas, le circuit d'exploitation Il reçoit l'image codée, par exemple pour la transmettre et/ou la mémoriser. En référence à la figure 7, le dispositif de décodage réalise globalement des opérations inverses de celles du dispositif de codage. Le dispositif de décodage est intégré dans un appareil 300, qui est par exemple un lecteur d'image numérique, ou de séquence vidéo numérique, ou un système de gestion de base de données, ou encore un ordinateur. Un même appareil peut comporter à la fois le dispositif de codage et le dispositif de décodage selon l'invention, de manière à effectuer des opérations de codage et de décodage. Le dispositif de décodage comporte une source de données codées 30 qui comporte par exemple un circuit de réception associé à une mémoire tampon. Une première sortie 301 du circuit 30 est reliée à un circuit de décodage 32. Le circuit de décodage 32 a une sortie 32, reliée à un circuit de reconstruction 33. Ce dernier a une sortie 331 reliée à un circuit 34 d'exploitation des données décodées, comportant par exemple des moyens de visualisation d'image. Le circuit 30 fournit des données codées au circuit 32, qui lit et décode les données de codage de chaque bloc pour former un bloc décodé. Le décodage dépend du codage qui a été préalablement effectué par le circuit 30. Le circuit 32 effectue globalement des opérations inverses de celles effectuées au codage. Selon le premier mode de réalisation (quantification codée en treillis), pour chaque symbole à décoder, la transition i(k) est lue pour déterminer un dictionnaire de vecteurs de code et l'indice j(k) est lu pour déterminer un vecteur de code dans ce dictionnaire. L'ensemble des symboles décodés forme un bloc décodé. Selon le second mode de réalisation, les données codées par codage de Huffman sont lues et décodées. Les indices de quantification correspondant aux coefficients du bloc en cours de décodage sont extraits. Les indices sont déquantifiés pour générer les coefficients du bloc décodé Bdj n. Selon le troisième mode de réalisation, le décodage de chaque bloc com blocs de données, et la mémoire vive comporte des registres adaptés à enregistrer des variables modifiées au cours de l'exécution du programme. De même, les circuits de décodage 32 et 35, de reconstruction 33, inclus dans le dispositif de décodage représenté à la figure 7, sont réalisés par un second microprocesseur associé à des mémoires vives et mortes. La mémoire morte comporte un programme pour décoder chacun des blocs de données, et la mémoire vive comporte des registres adaptés à enregistrer des variables modifiées au cours de l'exécution du programme. En référence à la figure 8, un procédé de codage selon l'invention d'une image IM, mis en oeuvre dans le dispositif de codage, comporte des étapes El à E16. L'étape El est la décomposition en sous-bandes de l'image IM, comme représenté à la figure 4. L'étape El a pour résultat les sous-bandes LL3, HL3, LH3 et HH3 de plus faible résolution RES3, les sous-bandes LH2, HL2, HH2 de résolution intermédiaire RES2, et les sous-bandes LH1, HL1 et HH1 de plus haute résolution RES1. La sous-bande LL3 est séparée des autres sous-bandes à l'étape suivante E2. L'étape E3 code la sous-bande LL3 selon un codage DPCM (Differential Pulse Code Modulation) et a pour résultat la sous-bande codée LLC3 qui est mémorisée et/ou transmise. L'étape E3 est suivie par l'étape E4 qui est la division des autres sous-bandes en blocs Bj n. comme représenté à la figure 5. L'étape suivante E5 est une initialisation pour considérer la première sous-bande. Les sous-bandes sont prises en compte selon un ordre a priori quelconque, tout en étant prédéterminé. L'étape suivante E6 est une initialisation pour considérer le premier bloc de la sous-bande courante. Les blocs dans la sous-bande courante sont pris en compte selon un ordre quelconque et prédéterminé. L'étape E6 est suivie par l'étape E7 qui est le codage par un premier mode de codage, dans ce mode de réalisation par mise à une valeur prédéterminée, ici zéro, des coefficients du bloc courant BjjnX L'étape suivante E8 est le codage par un second mode de codage, ici quantification scalaire, du bloc courant B1,. L'étape suivante E9 est la comparaison des deux modes de codage, pour le bloc courant, selon un critère prédéterminé. L'étape E9 a pour résultat d'affecter un indicateur l, au bloc courant Bj,n pour indiquer quel prétraitement est à effectuer pour ce bloc. L'indicateur li,n prend par exemple la valeur zéro si le codage par mise à zéro est choisi pour le bloc considéré, et la valeur un si la quantification scalaire est choisie pour le bloc considéré. A cette fin, les sommes R1,i,n + B.D1,i,n et R2,g,n + B.D2 i n sont calculées, où R1,1,n et R2 j,n sont les débits nécessaires pour transmettre le bloc courant codé par les deux modes, D1,i,n et D2 i n sont les distorsions provoquées dans le bloc courant par les deux modes de codage, et X est un coefficient de réglage du rapport compression/distorsion. Comme exposé plus haut, les erreurs D1,i,n et D2,i,n mesurent respectivement l'erreur quadratique apportée dans l'image reconstruite par le codage du bloc considéré, selon le premier et le second mode de codage. Le codage pour lequel la somme est la plus faible est sélectionné, pour le bloc courant. A l'étape suivante E10, un prétraitement est effectué sur le bloc courant Bj, en fonction de la valeur de son indicateur li,n. Un premier mode de prétraitement est une mise à zéro de tous les coefficients du bloc si le bloc contient de l'information non pertinente, c'est-à-dire si le codage par mise à zéro a été sélectionné à l'étape E9. Un second mode de prétraitement est l'identité si le bloc contient de l'information pertinente, c'est-à-dire si le second mode de codage a été sélectionné à l'étape E9. L'étape suivante El 1 est la mémorisation du bloc courant prétraité. Les étapes E12 et E15 sont des tests pour vérifier, respectivement si tous les blocs d'une sous-bande, et si toutes les sous-bandes ont été codées. S'il reste au moins un bloc à coder dans la sous-bande courante, l'étape E12 est suivie par l'étape E13 pour considérer le bloc suivant. L'étape E13 est suivie par l'étape E7 précédemment décrite. Lorsque tous les blocs d'une sous-bande ont été traités, l'étape E12 est suivie de l'étape E14 qui est le codage de la sous-bande considérée. Selon le premier mode de réalisation, l'étape E14 est le codage par quantification codée en treillis de la suite de blocs de la sous-bande considérée. Le codage est effectué comme précédemment exposé (figure 6), et peut être suivi d'un codage entropique des suites binaires obtenues. Selon le second mode de réalisation, l'étape E14 est un codage par quantification scalaire de la sous-bande considérée. Selon le troisième mode de réalisation, L'étape E14 est la quantification vectorielle de la sous-bande considérée. S'il reste au moins une sous-bande à coder, l'étape Ex 5 est suivie par l'étape E16 pour considérer la sous-bande suivante. L'étape E16 est suivie par l'étape E6 précédemment décrite. En référence à la figure 9, un procédé de décodage selon l'invention d'une image IM, mis en oeuvre dans le dispositif de décodage, comprend des étapes E20 à E30. L'étape E20 est le décodage de la sous-bande basse LLC3 pour former une sous-bande basse décodée LLd3 qui est mémorisée. L'étape suivante E21 est une initialisation pour considérer la première sous-bande de détail à décoder. Les sous-bandes sont décodées dans le même ordre qu'au codage, bien qu'un ordre différent soit possible. L'étape suivante E24 est le décodage de la sous-bande courante. Le décodage dépend du codage qui a été préalablement effectué (étape E14). Selon le premier mode de réalisation (quantification codée en treillis), pour chaque symbole à décoder, la transition i(k) est lue pour déterminer un dictionnaire de vecteurs de code et l'indice j(k) est lu pour déterminer un vecteur de code dans ce dictionnaire. L'ensemble des symboles décodés forme un bloc décodé. Selon le second mode de réalisation, les données codées par codage de Huffman sont lues et décodées. Les indices de quantification correspondant aux coefficients du bloc en cours de décodage sont extraits. Les indices sont déquantifiés pour générer les coefficients du bloc décodé Bdj n. Selon le troisième mode de réalisation, le décodage de chaque bloc comporte la lecture de l'indice du bloc pour retrouver le vecteur de code correspondant dans le dictionnaire de vecteurs de code. Le bloc décodé Bien est mémorisé à l'étape suivante E25. L'étape E28 est un test pour vérifier si toutes les sous-bandes ont été décodées. S'il reste au moins une sous-bande à décoder, l'étape E28 est suivie par l'étape E29 pour considérer la sous-bande suivante. L'étape E29 est suivie par l'étape E24 précédemment décrite. Lorsque toutes les sous-bandes ont été décodées, c'est-à-dire que la réponse est positive à l'étape E28, cette dernière étape est suivie de l'étape E30 de construction de l'image décodée. Cette dernière peut ensuite être visualisée, par exemple. 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. En particulier, l'invention peut aisément être appliquée à d'autres types de signaux. Ces signaux peuvent être des signaux mono-dimensionnels tel que des sons, ou des relevés sismiques, ou encore des électrocardiogrammes ; en fonction de leur nature, l'analyse des signaux est réalisée selon des fréquences temporelles ou spatiales. Ces signaux peuvent être tri-dimensionnels tels que des séquences vidéo représentées selon deux fréquences spatiales et une fréquence temporelle. On met alors en oeuvre une décomposition en sous-bandes de fréquence en dimension trois, et la décomposition du signal en vecteurs s'effectue également en dimension trois. Pour un signal ayant des composantes dans plusieurs bandes de fréquences, tel qu'un signal d'image en couleur ayant des composantes rouge, verte et bleue, l'invention s'applique dans chacune des bandes de fréquence. REVENDICATIONS 1. Procédé de codage de signal numérique comportant une étape d'analyse (El) du signal numérique (IM) en une pluralité de sous-bandes de fréquence réparties selon au moins deux bandes de fréquence différentes, au moins une première sous-bande ayant une fréquence plus faible et au moins une seconde sous-bande ayant une fréquence plus élevée, caractérisé en ce qu'il comporte, pour chaque seconde sous-bande, les étapes de: - division (E4) de la seconde sous-bande en blocs (Bi,n)' - sélection (E9) de premiers blocs et de seconds blocs, selon un critère de sélection, - prétraitement des premiers blocs par application d'un premier mode de prétraitement, - prétraitement des seconds blocs par application d'un second mode de prétraitement, - codage de la sous-bande comportant les blocs prétraités, par application d'un troisième mode de codage. 2. Procédé de codage selon la revendication 1, caractérisé en ce que, pour chacun des blocs, L'étape de sélection comporte: - le codage (E7) du bloc (Bj/n) par un premier mode de codage et par un deuxième mode de codage (E8), - la comparaison (E9) des deux modes de codage selon le critère de sélection, et - la sélection des premiers et seconds blocs en fonction du résultat de la comparaison. 3. Procédé de codage selon l'une quelconque des revendications 1 à 2, caractérisé en ce que le critère de sélection minimise une somme pondérée du débit et de l'erreur de codage provoqués par le codage du bloc considéré. 4. Procédé de codage selon la revendication 2 ou 3, caractérisé en ce que le premier mode de codage est une mise à zéro des coefficients du bloc (Bjn). 5. Procédé de codage selon l'une quelconque des revendications 2 à 4, caractérisé en ce que le deuxième mode de codage est une quantification scalaire des coefficients du bloc (B1,n). 6. Procédé de codage selon l'une quelconque des revendications 2 à 4, caractérisé en ce que le deuxième mode de codage est une quantification codée en treillis d'une suite de coefficients (Sk) extraits du bloc. 7. Procédé de codage selon l'une quelconque des revendications 2 à 4, caractérisé en ce que le deuxième mode de codage est une quantification vectorielle du bloc (Bi,n). 8. Procédé de codage selon l'une quelconque des revendications 1 à 7, caractérisé en ce que le premier mode de prétraitement est une mise à zéro des coefficients du bloc (Bj,n). 9. Procédé de codage selon l'une quelconque des revendications 1 à 8, caractérisé en ce que le second mode de prétraitement est l'identité. 10. Procédé de codage selon l'une quelconque des revendications 1 à 9, caractérisé en ce que le troisième mode de codage est identique au deuxième mode de codage. 11. Procédé de codage selon l'une quelconque des revendications 1 à 10, caractérisé en ce que le troisième mode de codage est une quantification codée en treillis d'une suite de coefficients (Sk) extraits des blocs prétraités. 12. Procédé de codage selon l'une quelconque des revendications 1 à 10, caractérisé en ce que le troisième mode de codage est une quantification scalaire de la sous-bande. 13. Procédé de codage selon l'une quelconque des revendications 1 à 10, caractérisé en ce que le troisième mode de codage est une quantification vectorielle de la sous-bande. 14. Procédé de codage selon l'une quelconque des revendications 1 à 13, caractérisé en ce que ladite au moins une première sous-bande est codée (E3) selon un quatrième mode de codage. 15. Dispositif de codage de signal numérique comportant des moyens d'analyse (El) du signal numérique (IM) en une pluralité de sousbandes de fréquence réparties selon au moins deux bandes de fréquence différentes, au moins une première sous-bande ayant une fréquence plus faible et au moins une seconde sous-bande ayant une fréquence plus élevée, caractérisé en ce qu'il comporte: - des moyens de division (4) de chaque seconde sous-bande en blocs (Bi.n)l - des moyens de sélection (5, 6, 7) de premiers blocs et de seconds blocs, selon un critère de sélection, - des moyens de prétraitement (8) des premiers blocs par application d'un premier mode de prétraitement, - des moyens de prétraitement (9) des seconds blocs par application d'un second mode de prétraitement, - des moyens de codage (10) de la sous-bande comportant les blocs prétraités, par application d'un troisième mode de codage. 16. Dispositif de codage selon la revendication 15, caractérisé en ce qu'il comporte: - des moyens de codage (5, 6) du bloc (Bj,n) par un premier mode de codage et par un deuxième mode de codages - des moyens de comparaison (7) des deux modes de codage selon le critère de sélection, et - des moyens de sélection (7) des premiers et seconds blocs en fonction du résultat de la comparaison. 17. Dispositif de codage selon l'une quelconque des revendications 15 à 16, caractérisé en ce qu'il est adapté à mettre en oeuvre un critère de sélection qui minimise une somme pondérée du débit et de l'erreur de codage provoqués par le codage du bloc considéré. 18. Dispositif de codage selon la revendication 16 ou 17, caractérisé en ce qu'il est adapté à mettre en oeuvre un premier mode de codage (5) qui est une mise à zéro des coefficients du bloc. 19. Dispositif de codage selon l'une quelconque des revendications 16 à 18, caractérisé en ce qu'il est adapté à mettre en oeuvre un deuxième mode de codage (6) qui est une quantification scalaire des coefficients du bloc (Bien) 20. Dispositif de codage selon l'une quelconque des revendications 16 à 18, caractérisé en ce qu'il est adapté à mettre en oeuvre un deuxième mode de codage (6) qui est une quantification codée en treillis d'une suite de coefficients (Sk) extraits du bloc. 21. Dispositif de codage selon l'une quelconque des revendications 16 à 18, caractérisé en ce qu'il est adapté à mettre en oeuvre un deuxième mode de codage (6) qui est une quantification vectorielle du bloc (Bj,n). 22. Dispositif de codage selon l'une quelconque des revendications 15 à 21, caractérisé en ce qu'il est adapté à mettre en oeuvre un premier mode de prétraitement (8) qui est une mise à zéro des coefficients du bloc. 23. Dispositif de codage selon l'une quelconque des revendications 15 à 22, caractérisé en ce qu'il est adapté à mettre en oeuvre un second mode de prétraitement (9) qui est l'identité. 24. Dispositif de codage selon l'une quelconque des revendications 15 à 23, caractérisé en ce qu'il est adapté à mettre en oeuvre un troisième mode de codage qui est identique au deuxième mode de codage. 25. Dispositif de codage selon l'une quelconque des revendications 15 à 24, caractérisé en ce qu'il est adapté à mettre en oeuvre un troisième mode de codage (10) qui est une quantification codée en treillis d'une suite de coefficients (Sk) extraits des blocs prétraités. 26. Dispositif de codage selon l'une quelconque des revendications 15 à 24, caractérisé en ce qu'il est adapté à mettre en oeuvre un troisième mode de codage (10) qui est une quantification scalaire de la sous-bande. 27. Dispositif de codage selon l'une quelconque des revendications 15 à 24, caractérisé en ce qu'il est adapté à mettre en oeuvre un troisième mode de codage (10) qui est une quantification vectorielle de la sous-bande. 28. Dispositif de codage selon l'une quelconque des revendications 15 à 27, caractérisé en ce qu'il est adapté à coder (3) ladite au moins une première sous-bande selon un quatrième mode de codage. 29. Dispositif de codage selon l'une quelconque des revendications 15 à 28, caractérisé en ce que les moyens de division (4), de sélection (5, 6, 7), de prétraitement (8, 9) et de codage (10) sont incorporés dans: - un micro-processeur, - une mémoire morte comportant un programme de codage, 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 (100) de traitement de signal numérique, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé de codage selon l'une quelconque des revendications 1 à 14. 31. Appareil (100) de traitement de signal numérique, caractérisé en ce qu'il comporte le dispositif de codage selon l'une quelconque des revendications 15 à 29.