PROCEDE ET DISPOSITIF DE COMPRESSION DE PARTIES D'IMAGES
La présente invention concerne un procédé et un dispositif de compression de parties d'images.
Elle s'applique, en particulier à la compression de séquences d'images, par exemple vidéo, en vue de leur transmission sur un réseau informatique, par exemple Internet, ou de stockage sur un support d'informations numériques. Ce procédé et ce dispositif peuvent être intégrés à tout système permettant de compresser puis décompresser toute partie d'image sur toutes plate-formes matérielles.
Cela inclut, en particulier, la diffusion de film vidéo ou de films d'animation sur ordinateurs, consoles de jeux vidéo portable ou de salon, assistants personnels, téléphones mobiles, lecteurs de DVD de salon. Les standards connus de compression vidéo, tel que MPEG (acronyme de "Motion
Picture Expert Group" que l'on peut traduire en français par "groupe d'experts en images animées"), utilisent les deux groupes 100 et 110 d'étapes décrites en figure 1 pour compresser les images d'un flux vidéo en images non intra, c'est à dire images qui sont encodées par référence à d'autres images du flux vidéo : - l'estimation de mouvement 100 (en anglais "motion estimation") qui consiste à encoder chaque image à partir d'éléments présents dans d'autres images du flux vidéo (souvent l'image précédente, la dernière image intra ou la prochaine image intra). Les étapes effectuées sont les suivantes :
- étape 101 : découpage de l'image à encoder en blocs de taille fixe L x H pixels (souvent 16 x 16) ;
- étape 102 : pour chaque bloc de l'image, recherche dans l'image précédente (par exemple) de la zone flottante de L x H pixels la plus similaire au bloc ;
- étape 103 : stockage du vecteur de déplacement (en anglais "motion vector") qui indique le déplacement (en coordonnées spatiales) entre le bloc et la zone la plus similaire trouvée ;
- étape 105 : calcul du résidu, c'est à dire de la différence entre le bloc et la zone la plus similaire trouvée.
- la compensation de mouvement 110 (en anglais "motion compensation") qui consiste à compresser le résidu. Les étapes effectuées sont les suivantes :
- étape 111 : compression du résidu, le plus souvent grâce à une fonction mathématique, telle que la DCT (acronyme de "discrète cosine transform" ou, en français transformée en cosinus discret) ;
- étape 112 : stockage du résidu compressé et
- étape 113 : retour à l'étape 102 pour encoder le bloc suivant. La décompression de la vidéo se fait ensuite de la façon suivante :
- étape 121 : décompression d'une ou plusieurs images intra (images encodées sans référence à d'autres images du flux vidéo) ;
- groupe d'étapes 130 : reconstitution des images non intra en effectuant, pour chaque bloc :
- étape 131 : localisation, grâce au vecteur de déplacement, de la zone la plus similaire d'une autre image du flux vidéo ; - étape 132 : décompression du résidu et
- étape 133 : ajout du résidu à la zone la plus similaire pour obtenir le bloc final. Les algorithmes classiques d'encodage du résidu (étape 111) n'atteignent des taux de compression performants qu'à la condition d'encoder les valeurs de pixel au format « Luminance
Chrominance » (« YUV » en anglais). Pour une décompression sur un matériel dont le format de pixel est « Rouge Vert Bleu » (« RGB » en anglais), l'étape 133 doit donc comporter en outre une conversion d'espace de couleur YUV vers RGB.
Ces standards connus de compression vidéo sont très mal adaptés à l'affichage de vidéos sur les plate-formes peu puissantes, telles que les consoles de jeux portables ou les téléphones mobiles. La présente invention vise à remédier à cet inconvénient. A cet effet, la présente invention vise, selon un premier aspect, un procédé de compression d'un bloc de taille L x H d'une séquence d'images, caractérisé en ce qu'il comporte, de manière itérative, pour ledit bloc : - une étape de recherche, dans l'une des images de la séquence d'images, de la zone de L x H pixels la plus similaire audit bloc ;
- une étape de détermination si la ressemblance entre ladite zone et ledit bloc répond à des critères prédéterminés ;
- si ladite ressemblance répond auxdits critères, une étape de stockage du vecteur de déplacement qui indique la distance entre le bloc et la zone la plus similaire trouvée ; - si ladite ressemblance ne répond pas auxdits critères, et si le bloc n'a pas une taille minimale prédéterminée, une étape de découpage dudit bloc en sous blocs et une itération supplémentaire, pour chacun desdits sous blocs et
- si ladite ressemblance ne répond pas auxdits critères, et si le bloc a une taille minimale prédéterminée, une étape de stockage du bloc au cours de laquelle on compresse le bloc sans référence à une image de référence.
On observe que la taille L x H est généralement de 16 x 16 pixels et que la taille minimale prédéterminée est préférentiellement de 1 x 1 pixel ou de 2 x 2 pixels, ce qui permet de nombreuses itérations. De plus, lorsque la ressemblance ne répond pas aux critères prédéterminés et que le bloc a une taille minimale prédéterminée, ce n'est pas le résidu qui est stocké mais le bloc lui-même.
Grâce à ces dispositions, la présente invention rend possible la compression et la décompression (et donc l'affichage) de séquences d'images :
- de qualité équivalente aux codeurs-décodeurs ("codées") classiques,
- sur des plate-formes matérielles ne possédant pas une puissance machine suffisante pour une décompression classique, ou bien sur des plate-formes matérielles puissantes, mais dont on veut conserver une partie de la puissance pour un autre usage,
- avec un taux de compression élevé.
Le procédé mis au point par les inventeurs permet d'améliorer considérablement l'efficacité de l'étape d'estimation de mouvement, rendant ainsi inutile l'étape de compensation de mouvement, étape la plus coûteuse lors de la décompression.
On observe qu'en éliminant l'étape de compensation de mouvement, la présente invention élimine également l'étape de conversion d'espace de couleur, nécessaire sur certains matériels avec les algorithmes classiques. Sur ces matériels, la vitesse de décompression en est donc encore améliorée par rapport à l'état de l'art. Selon des caractéristiques particulières :
- au cours de l'étape de recherche, on détermine conjointement une transformation et une zone qui fournissent la zone transformée la plus similaire audit bloc,
- au cours de l'étape de détermination, on détermine si la ressemblance entre ladite zone transformée et ledit bloc répond à des critères prédéterminés et
- au cours de l'étape de stockage de vecteur, si ladite zone après ladite transformation est la plus ressemblante, on stocke des données représentatives de ladite transformation.
Grâce à ces dispositions, le taux de compression est augmenté.
Selon des caractéristiques particulières, au cours de l'étape de stockage du bloc de taille minimale, on compresse le bloc sans référence à une image de référence.
Grâce à ces dispositions, le taux de décompression et la qualité de compression sont augmentés.
Selon des caractéristiques particulières, au cours de l'étape de recherche, on recherche dans une pluralité d'images de la séquence d'images, la zone de L x H pixels la plus similaire audit bloc et au cours de l'étape de stockage du vecteur, on stocke des données représentative de l'image qui comporte ladite zone.
Grâce à ces dispositions, le choix entre les zones candidates est plus large, ce qui permet d'augmenter le taux de compression.
Selon des caractéristiques particulières, au cours de l'étape de recherche, on recherche seulement dans la précédente image de la séquence d'images, la zone de L x H pixels la plus similaire audit bloc.
Grâce à ces dispositions, le taux de compression est amélioré puisqu'il n'est pas nécessaire de stocker des données représentatives de l'image qui comporte ladite zone.
Selon des caractéristiques particulières, au cours de l'étape de découpage, on découpe ledit bloc en deux sous blocs de mêmes dimensions.
Grâce à ces dispositions, le nombre de sous blocs à traiter est réduit, ce qui augmente la vitesse de compression.
Selon des caractéristiques particulières, au cours de chaque étape de découpage, on découpe le bloc ou le sous-bloc, d'une part, verticalement et, d'autre part, horizontalement et, au cours d'une étape de sélection, on sélectionne le découpage qui optimise la ressemblance globale des sous blocs générés par chacun desdits découpages avec des zones desdites images de la séquence d'images.
Grâce à ces dispositions, la qualité de la compression est améliorée.
Selon des caractéristiques particulières, les critères prédéterminés dépendent des dimensions du bloc considéré.
La présente invention vise, selon un deuxième aspect, un dispositif de compression d'un bloc de taille L x H d'une séquence d'images, caractérisé en ce qu'il comporte un moyen de traitement adapté à commander, de manière itérative pour ledit bloc :
- un moyen de recherche qui recherche, dans l'une des images de la séquence d'images, de la zone de L x H pixels la plus similaire audit bloc ;
- un moyen de détermination qui détermine si la ressemblance entre ladite zone et ledit bloc répond à des critères prédéterminés ; - si ladite ressemblance répond auxdits critères, un moyen de stockage qui stocke le vecteur de déplacement qui indique la distance entre le bloc et la zone la plus similaire trouvée ;
- si ladite ressemblance ne répond pas auxdits critères, et si le bloc n'a pas une taille minimale prédéterminée, un moyen de découpage qui découpe ledit bloc en sous blocs, une itération supplémentaire étant effectuée pour chacun desdits sous blocs et - si ladite ressemblance ne répond pas auxdits critères, et si le bloc a une taille minimale prédéterminée, un moyen de stockage qui compresse le bloc sans référence à une image de référence et stocke le bloc compressé.
La présente invention vise, selon un troisième aspect, un procédé de décompression d'un bloc d'image, caractérisé en ce qu'il comporte, de manière itérative : - une étape de lecture d'informations représentatives du bloc ;
- une étape de détermination si ledit bloc est encodé sous la forme de plusieurs sous blocs ;
- si ledit bloc n'est pas encodé sous la forme de plusieurs sous blocs, une étape de détermination si le bloc possède une taille minimale prédéterminée ; - si ledit bloc n'est pas encodé sous la forme de plusieurs sous blocs et ne possède pas une taille minimale prédéterminée, une étape de décompression dudit bloc par lecture d'un vecteur de déplacement et simple copie du bloc de mêmes dimensions correspondant audit vecteur de déplacement, dans une image de référence,
- si ledit bloc n'est pas encodé sous la forme de plusieurs sous blocs et possède une taille minimale prédéterminée, une étape de décompression dudit bloc selon une méthode de décompression ne faisant pas référence à une image de référence et
- si ledit bloc est encodé sous la forme de plusieurs sous blocs, un retour aux étapes de détermination pour chacun desdits sous blocs.
La présente invention vise, selon un quatrième aspect, un dispositif de décompression d'un bloc d'image, caractérisé en ce qu'il comporte un moyen de traitement (410) adapté à commander, de manière itérative :
- un moyen de lecture qui lit des informations représentatives du bloc ;
- un moyen de détermination qui détermine si ledit bloc est encodé sous la forme de plusieurs sous blocs ;
- si ledit bloc n'est pas encodé sous la forme de plusieurs sous blocs, un moyen de détermination qui détermine si le bloc possède une taille minimale prédéterminée ;
- si ledit bloc n'est pas encodé sous la forme de plusieurs sous blocs et ne possède pas une taille minimale prédéterminée, un moyen de décompression qui décompresse ledit bloc par lecture d'un vecteur de déplacement et simple copie du bloc de mêmes dimensions correspondant audit vecteur de déplacement, dans une image de référence,
- si ledit bloc n'est pas encodé sous la forme de plusieurs sous blocs et possède une taille minimale prédéterminée, un moyen de décompression qui décompresse ledit bloc selon une méthode de décompression ne faisant pas référence à une image de référence et - si ledit bloc est encodé sous la forme de plusieurs sous blocs, une nouvelle itération pour chacun desdits sous blocs.
Les avantages, buts et caractéristiques des procédés et du dispositif visés par les deuxième, troisième et quatrième aspect de la présente invention étant similaires à ceux du procédé de compression tel que succinctement exposé ci-dessus, ils ne sont pas rappelés ici. D'autres avantages, buts et caractéristiques de la présente invention ressortiront de la description qui va suivre, faite en regard des dessins annexés dans lesquels :
- la figure 1 représente, sous la forme d'un logigramme, un procédé conforme à l'art antérieur exposé dans le préambule,
- la figure 2 représente, sous la forme d'un logigramme, un mode de réalisation particulier du procédé objet de la présente invention,
- la figure 3 représente des blocs d'image en cours de traitement,
- la figure 4 représente, schématiquement, un mode de réalisation particulier du dispositif objet de la présente invention et
- la figure 5 représente, sous la forme d'un logigramme, un mode de réalisation particulier d'une décompression d'images comprimées avec le procédé objet de la présente invention.
On observe, en figure 2, une étape 200 d'initialisation du dispositif de compression de séquences d'images puis une étape 205 de chargement d'une première image d'une séquence d'images. Une valeur H est préférentiellement une puissance de 2 qui divise le nombre de lignes de l'image considérée (par exemple 16 pour une image de 512 lignes) et L est une puissance de 2 qui divise le nombre de colonnes de l'image considérée (par exemple 16 pour une image de 768 colonnes). La liste des blocs sélectionnés est vide.
Au cours d'une étape 210, la première image est comprimée de manière connue, par exemple dans les standards MPEG.
Au cours d'une étape 220, l'image suivante dans la séquence d'images est sélectionnée. Au cours d'une étape 225, l'image considérée est découpée en blocs de H pixels de hauteur et de L pixels de largeur.
Au cours d'une étape 230, le premier bloc de l'image considérée est ajouté à la liste des blocs sélectionnés.
Au cours d'une étape 235, on regarde si la liste des blocs sélectionnés est vide. Si oui, au cours d'une étape 236, on détermine s'il existe une image à traiter dans la séquence d'images. Si oui, on retourne à l'étape 220. Si non on a fini le traitement.
Si le résultat de l'étape 235 est négatif, c'est-à-dire s'il y a des blocs dans la liste des blocs sélectionnés, au cours d'une étape 240, on retire de la liste le premier bloc et on le compare aux blocs flottants de mêmes dimensions des images précédentes, appelés "zones" dans la suite de la description, et la zone de l'une des images précédentes la plus similaire au bloc considéré est déterminée ainsi que, éventuellement, la transformation (par exemple, symétries horizontales et verticales, augmentation/diminution de luminances, rotations et combinaisons de toutes ces transformations) qui augmente au mieux la similarité entre la zone déterminée et le bloc considéré.
On observe que les critères de comparaison possibles sont très nombreux pour déterminer la meilleure similarité entre un bloc et une zone. A titre d'indication, le standard MPEG ne spécifie pas quelle méthode doit être utilisée pour comparer 2 blocs. Chaque homme du métier choisit donc sa solution. Les 2 fonctions les plus utilisées sont "Mean Square Différence" (en français moyenne des carrés des différences) ou "MSD" et "Mean Absolute Différence" (en français moyenne des valeurs absolues des différences) ou "MAD".
On observe aussi que, théoriquement, un procédé de compression pourrait parcourir de très nombreuses images pour trouver la zone la plus similaire, éventuellement après transformation, afin de trouver le bloc le plus similaire ou ressemblant possible. En pratique, la recherche est préférentiellement limitée en utilisant une des stratégies suivantes :
- recherche dans l'image précédente,
- recherche dans la dernière image intra,
- recherche dans la dernière image intra et la prochaine image intra. Au cours d'une étape 245, il est déterminé si la zone la plus similaire, éventuellement transformée, répond à des critères de ressemblance prédéterminé avec le bloc considéré.
Préférentiellement, les critères prédéterminés dépendent de la dimension des blocs considérés (cette dimension varie au cours des itérations).
Si le résultat de l'étape 245 est positif, au cours d'une étape 250, on détermine le vecteur déplacement faisant passer des coordonnées spatiales du bloc considéré aux coordonnées spatiales de la zone la plus similaire. Au cours d'une étape de stockage de vecteur 255, on stocke en mémoire des données représentatives : - du fait que les données qui vont suivre sont relatives à un bloc décrit par un vecteur de déplacement,
- de la transformation déterminée au cours de l'étape 240,
- de l'image à laquelle appartient la zone la plus similaire et
- du vecteur déplacement déterminé au cours de l'étape 250. On observe que les données stockées sont compressées en utilisant des techniques standard de compression, avec ou sans perte et, préférentiellement des techniques standard de compression sans perte.
En variante, seule l'image précédente est considérée et on ne stocke pas de données représentatives de l'image précédente. Au cours d'une étape 256, on ajoute le bloc suivant de l'image considérée, s'il y en a un, à la liste des blocs sélectionnés, puis on retourne à l'étape 235.
Si le résultat de l'étape 245 est négatif, au cours d'une étape 260, on détermine si le bloc a une taille minimale prédéterminée (par exemple 1 x 1 ou 1 x 2 pixels) en déterminant si sa hauteur et sa largeur sont égales à des valeur minimales prédéterminées (par exemple 1 et 1, ou 1 et 2).
Si oui, au cours d'une étape 265 on compresse le bloc de taille minimale considéré de manière connue sans référence à une image de référence. et, au cours d'une étape de stockage de bloc 266, on stocke en mémoire :
- une information indiquant que les données qui vont suivre sont relatives à un bloc minimal et
- le résultat de la compression.
Puis, au cours d'une étape 270, on ajoute le bloc suivant de l'image considérée, s'il y en a un, à la liste des blocs sélectionnés, puis on retourne à l'étape 235.
Si le résultat de l'étape 260 est négatif, c'est-à-dire si le bloc n'a pas une taille minimale prédéterminée, au cours d'une étape 280, on divise le bloc considéré en deux sous blocs égaux selon une division verticale en deux parties droites et gauches de dimensions égales (voir figure 3) et on simule une étape 240 pour tester chacun des sous blocs ainsi considérés. Au cours d'une étape 281, on divise le bloc considéré en deux sous blocs égaux selon une division horizontale en deux parties haut et bas de dimensions égales et on simule une étape 240 pour
tester chacun des sous blocs ainsi considérés. Ainsi, les deux types de divisions créent des sous blocs pour lesquels on a déterminé la similarité puis, au cours d'une étape 282, on sélectionne la division (verticale ou horizontale) qui fournit la meilleure similarité globale, c'est-à- dire qui optimise, selon des critères prédéterminés (par exemple la somme des valeurs absolues des différences des blocs avec les meilleurs zones, éventuellement transformées), la ressemblance globale des sous blocs générés, par chacun des découpages verticaux et horizontaux, avec des zones desdites images de la séquence d'images.
En variante, on choisit arbitrairement l'une des divisions (par exemple, seulement la division verticale lors de la première étape de division, puis la division horizontale, puis la division verticale...). Cela rend la compression plus rapide, mais au prix d'une moins bonne compression.
Au cours d'une étape de stockage d'information de division 283, on stocke en mémoire :
- une information indiquant que les données qui vont suivre sont relatives à une division de bloc en deux sous bloc. - une information qui indique si on a divisé le bloc horizontalement ou verticalement.
Au cours d'une étape 285, on ajoute à la liste des blocs sélectionnés les deux sous blocs issus de la division verticale ou horizontale du bloc, puis on retourne à l'étape 235.
On observe que la subdivision récursive exposée ci-dessus permet d'isoler de manière performante les blocs dits "de changement", statistiquement peu nombreux pour lesquelles aucune zone de l'image précédente n'est suffisamment similaire. Le reste de l'image, la plus grande partie, est encodée seulement par l'estimation de mouvement, permettant un fort taux de compression et une grande vitesse de décompression.
En variante, les étapes 240 et 245 sont interverties, l'étape 245 au cours de laquelle il est déterminé si la zone la plus similaire répond à des critères de ressemblance prédéterminé avec le bloc considéré étant effectuée sur le bloc avant une éventuelle transformation.
En variante, l'étape 240 est éliminée, l'étape 245 au cours de laquelle il est déterminé si le zone la plus similaire répond à des critères de ressemblance prédéterminé avec le bloc considéré étant effectuée sur le bloc sans transformation.
On observe, en figure 3, un bloc carré 310, par exemple de 32 x 32 pixels provenant d'un premier découpage d'une image 305 en blocs. Si une étape 280 est effectuée sur le bloc 310, au cours de cette étape 280, on divise ce bloc en deux sous blocs 320 et 330, constitués, par exemple, des parties égales, droite et gauche du bloc 310. La hauteur des sous blocs 320 et 330 est de 32 pixels et leur largeur est de 16 pixels. Si une étape 281 est effectuée sur le bloc 320, au cours de cette étape 281, on divise ce bloc en deux sous blocs 340 et 350, par
exemple, constitués des parties égales, haute et basse, du bloc 320. La hauteur des sous blocs 340 et 350 est de 8 pixels et leur largeur est de 8 pixels. Si des étapes de division supplémentaires sont effectuées, les divisions successives divisent le sous bloc en deux parties égales. On observe, en figure 4, un dispositif 400 comportant un processeur 410 et une mémoire
420 adaptée à conserver :
- des instructions de logiciel permettant la mise en oeuvre du procédé de compression exposé ci-dessus en regard des figures 2 et 3 et/ou du procédé de décompression exposé ci- dessous en regard de la figure 5, - des données d'images d'une séquence d'images, en format non intra et en format compressé et/ou en format décompressé.
Le processeur 410 est adapté à exécuter les instructions du logiciel conservé en mémoire 420 et à transmettre ou recevoir des données d'images comprimées ou non. Par exemple, le processeur est du type Intel Pentium 4 (marque déposée). La mémoire 420 peut comporter au moins un composant électronique, par exemple circuit intégré, une disquette, un disque dur et/ou un disque optique, par exemple disque compact, réinscriptible ou non.
Le processeur ou moyen de traitement 410 comporte et est adapté à commander, de manière itérative pour ledit bloc : - un moyen de recherche qui recherche, dans l'une des images de la séquence d'images, de la zone de L x H pixels la plus similaire audit bloc ;
- un moyen de détermination qui détermine si la ressemblance entre ladite zone et ledit bloc répond à des critères prédéterminés ;
- si ladite ressemblance répond auxdits critères, un moyen de stockage qui stocke le vecteur de déplacement qui indique la distance entre le bloc et la zone la plus similaire trouvée ;
- si ladite ressemblance ne répond pas auxdits critères, et si le bloc n'a pas une taille minimale prédéterminée, un moyen de découpage qui découpe ledit bloc en sous blocs, une itération supplémentaire étant effectuée pour chacun desdits sous blocs et
- si ladite ressemblance ne répond pas auxdits critères, et si le bloc a une taille minimale prédéterminée, un moyen de stockage qui compresse le bloc sans référence à une image de référence et le stock le bloc compressé.
Le processeur ou moyen de traitement 410 comporte et est adapté à commander, de manière itérative :
- un moyen de lecture qui lit des informations représentatives du bloc ;
- un moyen de détermination qui détermine si ledit bloc est encodé sous la forme de plusieurs sous blocs ;
- si ledit bloc n'est pas encodé sous la forme de plusieurs sous blocs, un moyen de détermination qui détermine si le bloc possède une taille minimale prédéterminée ; - si ledit bloc n'est pas encodé sous la forme de plusieurs sous blocs et ne possède pas une taille minimale prédéterminée, un moyen de décompression qui lit un vecteur de déplacement et copie du bloc de même dimension correspondant audit vecteur de déplacement dans une image de référence,
- si ledit bloc n'est pas encodé sous la forme de plusieurs sous blocs et possède une taille minimale prédéterminée, un moyen de décompression qui décompresse ledit bloc selon une méthode de décompression ne faisant pas référence à une image de référence et
- si ledit bloc est encodé sous la forme de plusieurs sous blocs, une nouvelle itération pour chacun desdits sous blocs.
On observe, en figure 5, sous la forme d'un logigramme, un procédé de décompression d'images comprimées avec le procédé objet de la présente invention.
Au cours d'une étape 500, on effectue une décompression d'une ou plusieurs images intra (images encodées sans référence à d'autres images du flux vidéo).
Puis, au cours d'une étape 505, on lit l'informations stockées concernant un bloc décrivant le type des données qui vont suivre et on détermine la nature de l'information stockée représentative dudit bloc. S'il s'agit d'un vecteur déplacement relatif à une zone de l'image précédente, on effectue le groupe d'étapes 510. S'il s'agit d'un bloc de taille minimale on effectue le groupe d'étapes 520. S'il s'agit d'une division du bloc en deux sous blocs on effectue le groupe d'étapes 530.
Il est à noter qu'on connaît en permanence la taille du bloc en cours de décompression : elle est de 16 x 16 pixels si on n'a jamais effectué d'étape 530, de 8 x 16 ou 16 x 8 pixels si on a effectué une seule étape 530, etc.
- le groupe d'étape 510 permet de décompresser un bloc décrit par un vecteur de déplacement :
- au cours d'une étape 511, on lit le vecteur déplacement déterminé au cours de l'étape 250, et, grâce audit vecteur, on localise la zone la plus similaire d'une autre image du flux vidéo.
- au cours d'une étape 512, on applique l'éventuelle transformation déterminée au cours de l'étape 235 et
- au cours d'une étape 513, on recopie la zone la plus similaire (éventuellement transformée) pour obtenir le bloc décompressé ;
- le groupe d'étapes 520 permet de décompresser un bloc de taille minimale stocké au cours de l'étape 266 : - au cours d'une étape 521 , on lit le bloc compressé et
- au cours d'une étape 522, on décompresse, selon des techniques connues, le bloc lu pour obtenir le bloc décompressé ;
- le groupe d'étape 530 permet de décompresser un bloc décrit par une division en deux sous blocs : - au cours d'une étape 531, on lit l'information, déterminée au cours de l'étape 282, qui détermine si le bloc a été divisé horizontalement ou verticalement.
- au cours d'une étape 532, on retourne successivement à l'étape 505 pour les deux sous blocs ainsi déterminés. A la suite de l'une ou l'autre des étapes 513 ou 522, on retourne à l'étape 505 pour lire les informations stockées concernant le prochain bloc tant qu'il reste un bloc ou une image à traiter.
On observe que le procédé de découpage des blocs en sous blocs rectangulaires de taille multiple de puissances de 2 est n'est qu'un exemple de réalisation. L'invention ne se limite pas à cet exemple et peut, au contraire, effectuer des divisions en trois sous blocs ou plus, de formes arbitraires.
La présente invention ne se limite pas à la compression d'un bloc au sein d'une image d'une séquence d'images mais s'étend aux codées qui utilisent plusieurs méthodes (en fonction de certain critères) pour encoder les différents blocs d'une même image ainsi qu'aux codées qui utilisent le procédé succinctement exposé ci-dessus pour encoder une image découpées en blocs de tailles variables et aux codées qui utilisent ce procédé pour encoder seulement certaines parties de chaque image.