Brevet FR2788641A1 — publié le 20000721

La présente invention concerne de manière générale le codage et le décodage de signal numérique, par exemple d'image numérique. Pour coder une image numérique, il est connu de la diviser en blocs, puis de coder chacun des blocs. Pour obtenir une bonne qualité de codage, les blocs formés doivent être de petite taille, et donc en grand nombre. Inversement, si l'on souhaite limiter le débit des données de codage, les blocs ne doivent pas être trop nombreux, et par conséquent ils doivent être relativement grands. Pour concilier ces deux contraintes, I'image peut être divisée en blocs de différentes tailles. La découpe particulière d'une image peut être adaptée à son contenu sémantique, en utilisant une découpe avec arbre quaternaire. Les zones de l'image contenant beaucoup de détails sont découpées en petits blocs, tandis que les zones plus uniformes sont découpées en blocs plus grands. Dans ce cas, I'image codée est représentée par une information spatiale, qui définit la partition de l'image considérée, c'est-à-dire la position et la taille des blocs à coder, et par une information de codage des blocs. D'autre part, lorsque l'image codée est transmise, il est intéressant de disposer d'une partie des données de codage qui permet de reconstruire l'essentiel de l'image, c'est-à-dire une version dégradée de l'image. En effet, cela permet par exemple de reconstruire cette version de l'image avant d'avoir reçu toutes les données de codage de celle-ci. En outre, pour protéger l'image codée contre les erreurs de transmission, il est nécessaire d'utiliser des codes correcteurs d'erreur, qui introduisent des redondances dans le signal codé, et donc augmentent le volume des données de codage. Si l'on souhaite conserver un débit limité, seule une partie des données de codage de l'image est protégée contre les erreurs. Pour cela, on choisit la partie des données de codage qui permet de reconstruire l'essentiel de l'image. Or, dans le cas d'une image codée par une information spatiale et par une information de codage de blocs, il est nécessaire d'avoir l'information spatiale, et au moins une partie de l'information de codage, pour pouvoir reconstruire l'essentiel de l'image. La présente invention vise à organiser le train binaire contenant l'information spatiale et l'information de codage relatives à un ensemble de données codées par blocs de différentes tailles, de manière à ce qu'une partie du train binaire contienne suffisamment d'information pour permettre de reconstruire une version dégradée de l'ensemble, les autres parties du train binaire contenant les informations de détail. A cette fin, I'invention propose un procédé de codage d'un ensemble de données représentatives de grandeurs physiques, comportant les étapes de: - division de l'ensemble en blocs de différentes tailles, au moins une première taille étant inférieure à au moins une seconde taille, chaque bloc de la première taille étant associé à un bloc de la seconde taille, codage des blocs selon au moins un mode de codage, de manière à former un train binaire contenant les données de codage relatives à chacun des blocs, caractérisé en ce qu'il comporte, pour les blocs de la première taille qui sont associés à un même bloc de seconde taille, les étapes de: - sélection de l'un des blocs de la première taille, - association des données de codage du bloc sélectionné au bloc de seconde taille, les étapes de sélection et d'association étant répétées pour tous les blocs de première taille et pour toutes les premières tailles. Corrélativement, I'invention propose un dispositif de codage d'un ensemble de données représentatives de grandeurs physiques, comportant: - des moyens de division de l'ensemble en blocs de différentes tailles, au moins une première taille étant inférieure à au moins une seconde taille, chaque bloc de la première taille étant associé à un bloc de la seconde taille, des moyens de codage des blocs selon au moins un mode de codage, de manière à former un train binaire contenant les données de codage relatives à chacun des blocs, caractérisé en ce qu'il comporte: - des moyens de sélection, parmi les blocs de la première taille qui sont associés à un même bloc de seconde taille, de l'un des blocs de la première taille, - des moyens d'association des données de codage du bloc sélectionné au bloc de seconde taille, tous les blocs de première taille et toutes les premières tailles étant traités par les moyens de sélection et d'association. Grâce à l'invention, le train binaire est réorganisé de sorte qu'une information suffisante pour reconstruire une version dégradée de l'ensemble, par exemple l'image, soit contenue dans une partie du train binaire. Ainsi, si le reste des informations est perdu, par exemple au cours d'une transmission, la version dégradée de l'image peut tout de même être reconstruite. Les autres parties du train binaire contiennent les informations de détail qui permettent de reconstruire l'image avec tous ses détails. Selon une caractéristique préférée, les données de codage relatives aux blocs de seconde taille sont en outre codées contre les erreurs. Plusieurs niveaux de protection contre les erreurs peuvent être appliqués, les blocs de plus grande taille étant les mieux protégés. Ainsi, l'information la plus importante est protégée, sans que le volume des données n'augmente trop. Selon une caractéristique préférée, un indicateur est associé aux blocs de seconde taille auxquels des données de codage de bloc de première taille sont associées, pour indiquer quel est le bloc de première taille sélectionné. Cet indicateur est utilisé lors du décodage des données. La présence d'indicateurs dans le train binaire augmente peu le volume des données. Selon une autre caractéristique préférée, I'ensemble est divisé selon un arbre quaternaire. Cette technique s'applique bien au cas des images numériques. L'invention concerne aussi un procédé de décodage d'un ensemble de données représentatives de grandeurs physiques, ledit ensemble étant codé par le procédé précédent, caractérisé en ce qu'il comporte les étapes de: - décodage des blocs de seconde taille, et, si des données de codage d'un bloc de première taille ont été associées à un bloc de seconde taille lors du codage, - association des données de codage au bloc de première taille, les étapes de décodage et d'association étant répétées pour toutes les secondes tailles, puis - décodage des blocs de première taille. L'invention concerne aussi un dispositif de décodage comportant des moyens de mise en oeuvre des caractéristiques précédentes. L'invention vise aussi un appareil de traitement de données, tel qu'un ordinateur comportant des moyens de mise en oeuvre du procédé de codage, ou du procédé de décodage, ou encore comportant le dispositif de codage, ou le dispositif de décodage, tels qu'exposés ci-dessus. Les avantages du dispositif de codage, des dispositif et procédé de décodage, de cet appareil numérique, sont identiques à ceux du procédé de codage précédemment exposés. Un moyen d'enregistrement, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé de codage, respectivement de décodage. 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 codage de données selon l'invention, - la figure 2 représente de manière schématique un dispositif de décodage de données selon l'invention, - la figure 3 représente un mode de réalisation du dispositif de codage de données selon l'invention, - la figure 4 représente un mode de réalisation du dispositif de décodage de données selon l'invention, - la figure 5 représente un mode de réalisation d'un dispositif selon l'invention, - la figure 6 est un algorithme de codage qui utilise la présente invention, - la figure 7 représente une portion d'image divisée en blocs, - la figure 8 représente un arbre quaternaire associé à la portion d'image de la figure 7, - la figure 9 représente le train binaire contenant les données de la portion d'image de la figure 7, - la figure 10 représente des sous-trains binaires contenant les données de la portion d'image de la figure 7, - la figure 11 est un algorithme de codage selon l'invention, - la figure 12 représente les sous-trains binaires contenant les données de la portion d'image de la figure 7, traités selon l'invention, - la figure 13 est un algorithme de décodage selon l'invention. Selon un mode de réalisation choisi et représenté à la figure 1, un dispositif 2 de codage de données selon l'invention comporte une entrée 22 à 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. La source 1 peut être par exemple une caméra vidéo qui délivre un signal d'image. Le dispositif de codage 2 peut être intégré dans un appareil de traitement de données TD1, tel qu'un ordinateur par exemple. Des moyens 3 utilisateurs de données codées sont reliés en sortie 27 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. La figure 2 représente un dispositif 5 de décodage de données codées par le dispositif 2. Des moyens 4 utilisateurs de données codées sont reliés en entrée 52 du dispositif de décodage 5. Les moyens 4 comportent par exemple des moyens de mémoire de données codées, et/ou des moyens de réception des données codées qui sont adaptés à recevoir les données codées transmises par les moyens de transmission 3. Le dispositif de décodage 5 peut être intégré dans un appareil de traitement de données TD2, tel qu'un ordinateur par exemple. Des moyens 6 utilisateurs de données décodées sont reliés en sortie 57 du dispositif de décodage 5. Les moyens utilisateurs 6 sont par exemple des moyens de visualisation d'images. Le dispositif de codage et le dispositif de décodage peuvent être intégrés dans un même appareil numérique, par exemple une caméra numérique munie d'un écran de visualisation. Un mode de réalisation de dispositif de codage de données 2 est représenté à la figure 3. Le fonctionnement détaillé du dispositif de codage sera exposé dans la suite. La source 1 fournit au dispositif 2 une séquence d'images numériques Si à SM, o M est un entier. Le dispositif de codage 2 comporte un circuit 21 de division en blocs de chacune des images qu'il reçoit. Le circuit 21 est relié à un circuit 22 de codage des blocs, qui possède une première sortie reliée au circuit 21, qui permet à ce dernier de former des blocs de différentes tailles, choisies selon la qualité de codage des blocs. Le circuit 22 possède une seconde sortie reliée à un circuit 23 de sélection. Le circuit 22 délivre un train binaire qui sera détaillé dans la suite. Le circuit 23 de sélection est relié à un circuit d'association 24. Le circuit 24 insère des indicateurs dans le train binaire pour indiquer' les transformations effectuées. En outre, le circuit 24, ou un circuit supplémentaire, peut coder le train binaire contre les erreurs. Le fonctionnement des circuits de sélection et d'association sera exposé dans la suite à l'aide d'un organigramme de codage. Un mode de réalisation de dispositif de décodage de données 5 est représenté à la figure 4. Le fonctionnement détaillé du dispositif de décodage sera exposé dans la suite. Le récepteur 4 fournit une séquence d'images numériques codées Sc1 à SCM, o M est un entier. Le circuit 5 comporte un circuit 51 de lecture du train binaire. Le circuit 51 est relié à un circuit 52 de décodage qui forme des blocs décodés. Le circuit 52 a une première sortie reliée à un circuit de mémorisation 53 qui mémorise certaines des données lues par le circuit 51 et utilisées par le circuit 52. Le circuit 53 a une sortie reliée au circuit 52 pour lui fournir les données mémorisées. Le fonctionnement des circuits 52 et 53 sera détaillé dans la suite à l'aide d'un organigramme de décodage. Le circuit 52 a une seconde sortie relié aux moyens utilisateurs 6. En référence à la figure 5, est décrit un exemple de dispositif 10 mettant en oeuvre l'invention. Ce dispositif est adapté à coder une séquence d'images numériques et/ou décoder une séquence d'images numériques codées, selon les exemples développés dans la suite. Le dispositif 10 est ici un micro-ordinateur comportant un bus de communication 101 auquel sont reliés: - une unité centrale 100, - une mémoire morte 102, - une mémoire vive 103, - un écran 104, - un clavier 114, - un disque dur 108, - un lecteur de disquette 109 adapté à recevoir une disquette 110, - une interface 112 de communication avec un réseau de communication 113, - une carte d'entrée-sortie 106 reliée à un microphone 111. Le disque dur 108 mémorise les programmes mettant en oeuvre l'invention, ainsi que les données traitées selon l'invention. Ces programmes peuvent aussi être lus sur la disquette 110, ou reçus via le réseau de communication 113, ou encore mémorisés en mémoire morte 102. De manière plus générale, les programmes selon la présente invention sont mémorisés dans un moyen de stockage. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD- ROM (disque compact à mémoire figée). Lors de la mise sous tension du dispositif, les programmes selon la présente invention sont transférés dans la mémoire vive 103 qui contient alors le code exécutable de l'invention et les variables nécessaires à la mise en oeuvre de l'invention. Le dispositif 10 peut recevoir des données à coder depuis un dispositif périphérique 107, tel qu'un camescope numérique, ou tout autre moyen d'acquisition ou de stockage de données. Le dispositif 10 peut également recevoir des données à coder depuis un dispositif distant, via le réseau de communication 113, et transmettre des données codées vers un dispositif distant, toujours via le réseau de communication 113. Le dispositif 10 peut aussi recevoir des données à coder depuis le microphone 111. Ces données sont alors un signal de son. L'écran 104 permet à un utilisateur notamment de visualiser les données à coder, et sert, avec le clavier 114, d'interface utilisateur. Le fonctionnement des dispositifs de codage et de décodage selon l'invention va maintenant être décrit au moyen d'algorithmes. Un mode de réalisation du procédé de codage selon l'invention est représenté aux figures 6, 7 et 8 sous la forme d'un algorithme comportant des étapes E1 à E15 mémorisées en mémoire 103 (figure 3). Chaque image est divisée en blocs de pixels, puis chacun des blocs est codé. Un bloc de pixels est un groupe de pixels sélectionnés dans l'image. Dans la suite, on considère le cas particulier o les blocs sont carrés et adjacents. Pour obtenir une bonne qualité d'image décodée, il est intéressant de travailler avec des blocs de petite taille, tandis que pour limiter le volume des données codées, il est intéressant d'avoir un nombre limité de blocs. Pour réaliser un compromis entre ces deux contraintes, la partition de l'image à coder est adaptée à son contenu sémantique. Pour cela, on utilise la méthode de partition par arbre quaternaire. Un arbre quaternaire comporte deux types d'informations - une information spatiale qui définit la partition de l'image considérée, c'est-à-dire la position et la taille des blocs à coder, - I'information de codage des blocs. Dans le mode de réalisation considéré, un bloc est codé par l'un de quatre modes de codage. L'étape E1 est une initialisation pour considérer tout d'abord la première image S1 de la séquence. L'étape suivante E2 est la division de l'image courante Sm en un nombre prédéterminé de blocs de taille initiale. Dans la suite, on considérera un bloc de taille initiale B0 de l'image Sm. Tous les blocs de taille initiale sont traités de manière identique. Chacun des blocs de taille initiale est codé indépendamment des autres blocs de taille initiale. Pour cela, un bloc de taille initiale peut être divisé en blocs de taille inférieure, et un arbre quaternaire est associé a chacun des blocs de taille initiale. En variante, un unique arbre quaternaire peut être utilisé pour l'image Sm. Le bloc de taille initiale B0, représenté à la figure 7, est associé à un noeud racine de l'arbre quaternaire représenté à la figure 8. Un marqueur Mo associé au noeud racine est initialisé à la valeur zéro. Le marqueur d'un bloc quelconque peut prendre deux valeurs, zéro ou un, pour indiquer si le bloc associé est divisé ou non. Si un bloc est divisé, le marqueur qui lui est associé est mis à la valeur un et quatre sous-blocs sont générés, chacun d'eux ayant leur marqueur à la valeur zéro. L'étape suivante E3 une initialisation pour considérer le premier bloc dans l'image en cours de codage. Les blocs sont considérés selon un ordre prédéterminé, a priori quelconque. L'étape suivante E4 est une initialisation pour considérer le premier mode de codage parmi un ensemble prédéterminé de modes de codage. Dans ce mode de réalisation, on considère quatre modes de codage qui sont les suivants: - un bloc est codé par une transformation multilinéaire calculée à partir de blocs source d'une image de référence. - un bloc est codé par prédiction temporelle, c'est-à-dire par recopie du bloc situé au même emplacement, dans l'image de référence, que le bloc considéré dans l'image en cours de codage. - un bloc est codé par estimation et compensation de mouvement, c'est-àdire qu'un bloc de correspondance est recherché dans l'image de référence, de manière à minimiser une erreur de prédiction entre le bloc à coder et le bloc de correspondance. - un bloc est codé par quantification vectorielle. En variante, d'autres modes de codage peuvent être utilisés, ou un seul mode de codage est utilisé. L'étape suivante E5 est le codage du bloc considéré par le mode de codage courant. L'étape E5 est suivie de l'étape E6 à laquelle il est testé si tous les modes de codage ont été utilisés pour le bloc courant. Si ce n'est pas le cas, alors l'étape E6 est suivie de l'étape E7 pour considérer le mode de codage suivant. L'étape E7 est suivie de l'étape E5. Lorsque tous les modes de codage ont été utilisés pour le bloc considéré, alors l'étape E6 est suivie de l'étape E8 qui est un test de sélection de l'un des modes de codage, pour le bloc considéré. A cet effet, la distance, au sens d'une norme, entre le bloc à coder et le bloc reconstruit avec chacun des modes de codage précédent, est calculée. Si la plus faible de ces distances est inférieure à un seuil prédéterminé, alors le mode de codage associé est sélectionné pour le bloc considéré. L'étape E8 est alors suivie de l'étape El à laquelle le mode de codage sélectionné et les données de codage correspondantes sont mémorisées pour le bloc considéré. Le marqueur associé au bloc considéré reste à la valeur zéro, pour indiquer que le bloc considéré n'est pas divisé. Si à l'étape E8, aucune des distances n'est inférieure au seuil prédéterminé, alors le bloc considéré va être divisé en blocs de taille inférieure. L'étape E8 est alors suivie de l'étape E9 qui est un test pour vérifier si la taille du bloc courant a atteint une valeur minimale. En effet, la division de l'image est limitée, par exemple à trois niveaux de division. Si la taille minimale a été atteinte, alors l'étape E9 est suivie de I'étape El à laquelle le mode de codage et les données correspondantes, fournissant la distance la plus petite, sont mémorisés. Si la taille minimale n'a pas été atteinte, alors l'étape E9 est suivie de l'étape E10 à laquelle le bloc courant est divisé en quatre sous- blocs. Le marqueur du bloc divisé est mis à la valeur un. L'étape E10 est suivie de l'étape E3, pour que les sous-blocs soient codés comme précédemment décrit. L'étape El1 est suivie de l'étape E12 à laquelle il est testé si le bloc qui vient d'être traité est le dernier de l'image en cours de codage. Si ce n'est pas le cas, I'étape E12 est suivie de l'étape E13 pour considérer un autre bloc de l'image Sm. L'étape E13 est suivie de l'étape E4 précédemment décrite. Lorsque tous les blocs de l'image Sm ont été codés, l'étape E12 est suivie de l'étape E14 à laquelle il est testé si toutes les images de la séquence ont été traitées. S'il reste au moins une image à coder, l'étape E14 est suivie de l'étape E15 pour considérer une autre image de la séquence. L'étape E15 est suivie de l'étape E2. Les figures 7 et 8 montrent un exemple de division du bloc de taille initiale B0 de l'image. A la figure 7, le bloc B0 a été divisé en treize blocs B1, B211, B212, B213, B214, B22, B23, B24, B31, B32, B33, B34 et B4. A chacun de ces blocs est affecté l'un des quatre modes de codage. L'arbre quaternaire correspondant à cette décomposition du bloc B0 est représenté à la figure 8. Le premier noeud de l'arbre, dit noeud racine, correspond au bloc Bo. Les noeuds terminaux, dits feuilles, correspondent aux blocs représentés à la figure 7. Ils ont des données de codage associées et leur marqueur respectif est à la valeur zéro. Les autres noeuds B2, B3 et B21, dits blocs pères, ont été décomposés en sous-blocs, dits blocs fils, et leur marqueur respectif est à la valeur un. Ils n'ont pas de données de codage associées. La figure 9 représente le train binaire contenant les données résultant du codage de bloc B0 de l'image Sm. L'arbre quaternaire est parcouru en profondeur ce qui ordonne les blocs de l'image. Pour chaque bloc Bi, o i est un entier représentant l'indice du bloc, le train binaire comporte le marqueur Mi, et les données de codage Di, si ces dernières existent. Les données de codage incluent l'indication du mode de codage utilisé et les données de codage proprement dites. Les blocs de niveau le plus faible dans la décomposition, ici les blocs B211, B212, B213 et B214 dans l'exemple choisi, ont nécessairement leur marqueur à la valeur zéro, puisque ces blocs ont la taille minimale définie a priori et qu'ils sont codés par l'un des modes de codage. Dans ces conditions, les marqueurs des blocs du niveau le plus faible dans la décomposition sont omis du train binaire. Le train binaire est tout d'abord réorganisé pour parcourir l'arbre quaternaire en largeur. Le résultat est un ensemble de sous-trains binaires qui comporte autant d'informations que le train binaire original. Cette réorganisation dépend de la manière dont est formé le train binaire original. Elle a pour but de faciliter le traitement qui sera exposé dans la suite. Les sous-trains binaires TR0 à TR3 correspondants au train binaire de la figure 9 sont représentés à la figure 10. La figure 11 représente le mode de codage selon l'invention d'un signal numérique, qui est ici une image numérique, sous la forme d'un algorithme comportant des étapes E20 à E33. L'algorithme de codage peut être mémorisé en totalité ou en partie dans tout moyen de stockage d'information capable de coopérer avec le microprocesseur. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD-ROM (disque compact à mémoire figée). Le procédé comporte globalement le parcours de l'arbre binaire depuis les blocs les plus petits jusqu'aux blocs les plus grands, à sélectionner des blocs fils et à associer leurs données de codage à leur bloc père respectif. L'étape E20 est une initialisation à laquelle un paramètre entier n est mis à la valeur N-1, o N représente le nombre de niveaux de décomposition. On considère alors les blocs de niveaux N-1, c'est-à-dire le sous-train binaire TRN-1. L'étape suivante E21 est une initialisation pour considérer le premier des blocs de niveau n. L'étape suivante E22 est la lecture dans le sous-train binaire TRn du marqueur Mi du bloc courant Bi, o i est l'indice du bloc courant. L'étape suivante E23 est un test pour déterminer si le marqueur Mi lu à l'étape précédente est égal à un. Si la réponse est positive, cela signifie que le bloc courant Bi est décomposé en sous-blocs, ou blocs fils. L'étape E23 est alors suivie de l'étape E24 à laquelle les données de codage de chacun des blocs fils du bloc courant Bi sont lues dans le sous-train binaire TRn+, 1. A l'étape suivante E25, le bloc courant est reconstruit en utilisant successivement chacun des modes de codage associés à leur données de codage respectives, qui ont été lus à l'étape précédente. A l'étape suivante E26, chacun des blocs reconstruits à l'étape précédente est comparé avec le bloc père courant Bi, par exemple en calculant l'erreur quadratique moyenne entre les valeurs des pixels de chacun des blocs reconstruits et les valeurs des pixels du bloc courant Bi. L'étape suivante E27 est la sélection du mode de codage et des données de codage associées du bloc fils pour lequel le bloc reconstruit est le plus semblable au bloc père courant, c'est-à-dire pour lequel l'erreur quadratique est la plus faible. L'étape suivante E28 est la modification des sous-trains binaires TRn et TRn+1, pour d'une part, associer les données de codage du bloc fils sélectionné au bloc père, dans le train binaire TRn, et d'autre part supprimer les données de codage du bloc fils sélectionné, dans le soustrain TRn_1. Il est à noter que le marqueur du bloc fil sélectionné n'est pas affecté. En outre, un indicateur INi est inséré dans le train binaire TRn pour indiquer ces modifications. L'indicateur INi est un mot, ici de deux bits, pour indiquer lequel des quatre blocs fils a été sélectionné. Cet indicateur est inséré après le marqueur Mi du bloc père courant Bi. L'étape E28 est suivie de l'étape E29. De même, l'étape E23 est suivie de l'étape E29 en cas de réponse négative, c'est-à-dire si le bloc courant Bi n'a pas de bloc fils. L'étape E29 est un test pour déterminer s'il reste au moins un autre bloc de niveau n à traiter. Si la réponse est positive, alors l'étape E29 estsuivie de l'étape E30 à laquelle le paramètre i est incrémenté de une unité pour considérer le bloc de niveau n suivant. L'étape E30 est suivie de l'étape E22 précédemment décrite. Lorsque tous les blocs de niveaux n ont été traités, alors l'étape E29 est suivie de l'étape E31 à laquelle le paramètre n est décrémenté de une unité pour considérer le niveau suivant. L'étape E31 est suivie de l'étape E32 qui est un test pour vérifier si le paramètre n est strictement inférieur à zéro. Si la réponse est négative, alors cette étape est suivie de l'étape E21 précédemment décrite. Lorsque la réponse est positive, alors tous les blocs de l'arbre quaternaire ont été traités. L'étape E32 est suivie de l'étape E33 à laquelle les sous-trains binaires sont codés pour les protéger contre les erreurs de transmission. Les modes de codage possibles sont classiques, par exemple un algorithme de type VITERBI, approprié lorsque les erreurs ne sont pas groupées, ou un algorithme de type REED-SOLOMON, approprié dans le cas d'erreurs en paquet. Grâce à l'invention, il est possible de choisir une protection forte pour les blocs de grande taille, puis plus faible pour les blocs de plus petite taille. En d'autres termes, la protection est maximale pour le sous-train TR'0, puis diminue progressivement jusqu'au sous-train TR'3. Lorsque les données de codage de l'image sont transmises, la probabilité pour que les sous-trains soient correctement reçus est maximale pour le sous-train TR'0, puis diminue progressivement jusqu'au sous- train TR'3. Ainsi, au décodage, les blocs de grande taille pourront être reconstruits à partir des données qui leur sont associées, soit leurs propres données de codage, soit des données de codage de l'un de leurs blocs fils. Les blocs de plus petite taille seront ensuite reconstruits, à partir de leurs données de codage si elles ont été correctement reçues, ou à partir des données de codage qui avaient été associées à leurs pères. S'il n'est pas possible de reconstruire certains des blocs fils, parce que les erreurs de transmission sont trop nombreuses, leurs blocs pères décodés fournissent une version légèrement dégradée de la zone correspondante de l'image. La figure 12 représente les sous-trains binaires modifiés selon I'invention. Chacun des blocs pères a reçu les données de codage de l'un de ses blocs fils. En conséquence, certains blocs fils ont perdu leurs données de codage, tandis que les autres blocs fils n'ont pas été affectés par le traitement selon l'invention. Il est à noter que par exemple les données de codage D212 du bloc B212 sont maintenant associées au bloc B2. Comme déjà précisé, les marqueurs ne sont pas affectés par le traitement selon l'invention, et des indicateurs ont été insérés après les marqueurs des blocs pères ayant reçu des données de codage. Comme exposé dans la suite, les indicateurs sont utilisés pour décoder le train binaire. En référence à la figure 13, I'algorithme de décodage d'un bloc de taille initiale d'une image numérique codée selon l'invention comporte des étapes E40 à E48. Ces étapes sont répétées pour tous les blocs de taille initiale de l'image, et pour toutes les images à décoder. L'étape E40 est une initialisation à laquelle le paramètre n est initialisé à zéro, pour traiter le premier sous-train binaire TR'0. L'étape suivante E41 est l'initialisation du paramètre i à 1, pour considérer le premier bloc à reconstruire. Les blocs sont de préférence traités dans le même ordre qu'à la compression, ce qui évite d'avoir à mémoriser et à traiter un indice, ou des coordonnées, pour repérer les blocs. L'étape suivante E42 est la lecture du marqueur Mi, de l'indicateur INi s'il existe et des données de codage Di si elles existent. Les données de codage peuvent être les données du bloc courant, ou les données de l'un de ses blocs fils. A l'étape suivante E43, si les données de codage Di existent, elles sont utilisées pour former un bloc décodé Bdi. Le décodage dépend du mode de codage sélectionné et mémorisé aux étapes E8 et El 1 précédemment décrites. Le décodage peut ainsi consister en l'application d'une transformation multilinéaire à des blocs source d'une image de référence, ou en la recopie d'un bloc d'une image de référence, ou en la copie d'un bloc issu d'un dictionnaire, par exemple. A l'étape suivante E44, si l'indicateur INi existe, les données de codage précédemment lues sont mémorisées pour être affectées au bloc fils indiqué par l'indicateur INi, dans le train binaire suivant. Ces données de codage seront alors utilisées pour former un bloc fils décodé, lors du passage par l'étape E43 pour ce bloc fils. L'étape suivante E45 est un test pour déterminer si le bloc qui vient d'être décodé est le dernier du sous-train en cours de traitement. Si ce n'est pas le cas, l'étape E45 est suivie de l'étape E46 à laquelle le paramètre i est incrémenté de une unité pour considérer le bloc suivant. L'étape E46 est suivie de l'étape E42 précédemment décrite. Lorsque tous les blocs du sous-train en cours de traitement ont été décodés, l'étape E45 est suivie de l'étape E47 à laquelle il est testé s'il reste au moins un sous-train à traiter. Si la réponse est positive, alors l'étape E47 est suivie de l'étape E48 à laquelle le paramètre n est incrémenté de un pour considérer le soustrain binaire suivant. L'étape E48 est suivie de l'étape E41 précédemment décrite. 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 codage d'un ensemble de données représentatives de grandeurs physiques, comportant les étapes de: - division (E2, E10) de l'ensemble en blocs de différentes tailles, au moins une première taille étant inférieure à au moins une seconde taille, chaque bloc de la première taille étant associé à un bloc de la seconde taille, - codage (E5) des blocs selon au moins un mode de codage, de manière à former un train binaire contenant les données de codage relatives à chacun des blocs, caractérisé en ce qu'il comporte, pour les blocs de la première taille qui sont associés à un même bloc de seconde taille, les étapes de: - sélection (E27) de l'un des blocs de la première taille, - association (E28) des données de codage du bloc sélectionné au bloc de seconde taille, les étapes de sélection et d'association étant répétées pour tous les blocs de première taille et pour toutes les premières tailles. 2. Procédé selon la revendication 1, caractérisé en ce qu'il comporte en outre une étape de codage (E33) contre les erreurs des données de codage relatives aux blocs de seconde taille. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'un indicateur (INi) est associé aux blocs de seconde taille auxquels des données de codage de bloc de première taille sont associées, pour indiquer quel est le bloc de première taille sélectionné. 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que l'ensemble est divisé selon un arbre quaternaire. 5. Procédé de décodage d'un ensemble de données représentatives de grandeurs physiques, ledit ensemble étant codé par le procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce qu'il comporte les étapes de: - décodage (E43) des blocs de seconde taille, et, si des données de codage d'un bloc de première taille ont été associées à un bloc de seconde taille lors du codage, - association (E44) des données de codage au bloc de première taille, les étapes de décodage et d'association étant répétées pour toutes les secondes tailles, puis - décodage (E44) des blocs de première taille. 6. Dispositif de codage d'un ensemble de données représentatives de grandeurs physiques, comportant: - des moyens de division (21) de l'ensemble en blocs de différentes tailles, au moins une première taille étant inférieure à au moins une seconde taille, chaque bloc de la première taille étant associé à un bloc de la seconde taille, - des moyens de codage (22) des blocs selon au moins un mode de codage, de manière à former un train binaire contenant les données de codage relatives à chacun des blocs, caractérisé en ce qu'il comporte: - des moyens de sélection (23), parmi les blocs de la première taille qui sont associés à un même bloc de seconde taille, de l'un des blocs de la première taille, - des moyens d'association (24) des données de codage du bloc sélectionné au bloc de seconde taille, tous les blocs de première taille et toutes les premières tailles étant traités par les moyens de sélection et d'association. 7. Dispositif selon la revendication 6, caractérisé en ce qu'il comporte en outre des moyens de codage contre les erreurs des données de codage relatives aux blocs de seconde taille. 8. Dispositif selon la revendication 6 ou 7, caractérisé en ce qu'il comporte des moyens pour associer un indicateur aux blocs de seconde taille auxquels des données de codage de bloc de première taille sont associées, pour indiquer quel est le bloc de première taille sélectionné. 9. Dispositif selon l'une quelconque des revendications 6 à 8, caractérisé en ce qu'il comporte des moyens pour diviser l'ensemble selon un arbre quatemrnaire. 10. Dispositif de codage conforme à l'une des revendications 6 à 9, caractérisé en ce que les moyens de sélection et d'association sont incorporés dans: - un microprocesseur (100); - une mémoire morte (102) comportant un programme pour décoder; et - une mémoire vive (103) comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution du programme. 11il. Dispositif de décodage d'un ensemble de données représentatives de grandeurs physiques, ledit ensemble étant codé par le dispositif selon l'une quelconque des revendications 6 à 10, caractérisé en ce qu'il comporte: - des moyens de décodage (52) des blocs de seconde taille, - des moyens d'association (53) des données de codage au bloc de première taille, si des données de codage d'un bloc de première taille ont été associées à un bloc de seconde taille lors du codage, toutes les secondes tailles étant traitées par les moyens de décodage et d'association, et - des moyens de décodage (52) des blocs de première taille. 12. Dispositif de décodage conforme à la revendication 11, caractérisé en ce que les moyens de décodage et d'association sont incorporés dans: - un microprocesseur (100); - une mémoire morte (102) comportant un programme pour décoder; et - une mémoire vive (103) comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution du programme. 13. Appareil de traitement de données, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé de codage conforme à l'une des revendications 1 à 4. 14. Appareil de traitement de données, caractérisé en ce qu'il comporte un dispositif de codage conforme à l'une des revendications 6 à 10. 15. Appareil de traitement de données, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé de décodage conforme à la revendication 5. 16. Appareil de traitement de données, caractérisé en ce qu'il comporte un dispositif de décodage conforme à l'une des revendications 11 et 12.