Section courante

A propos

Section administrative du site

PackBits

La compression PackBits est un schéma de compression de longueur d'exécution simple orienté octet ayant été initialement développé pour être utilisé dans le format de fichier image MacPaint et est l'un des nombreux schémas pris en charge par le format TIFF. L'algorithme PackBits code un flux d'octets en une série de paquets consistant en un octet d'index suivi d'un certain nombre d'octets de données. La façon la plus simple d'expliquer l'algorithme est de décrire le processus de décodage. Voici son algorithme :

BOUCLE JUSQU'A nombre d'octets souhaité a été décodé
   N ← octet suivant de l'entrée
   SI N < 0 ALORS
      Lisez l'octet suivant de l'entrée et répétez-le 1 à N fois.
   SINON
      Lire les N + 1 octets suivants de l'entrée.
   FIN SI
FIN BOUCLE

Voici quelques notes et règles concernant l'algorithme :

Dans la plupart des schémas de compression basés sur le RLE (Run-Length), la logique requise pour effectuer le codage est plus complexe que la logique de décodage. Le PackBits est typique à cet égard. Cette situation résulte principalement du fait qu'un flux de données spécifié produit rarement une représentation codée unique, quel que soit l'algorithme, de sorte qu'une prise de décision accompagne invariablement le processus de codage. Par exemple, considérons la séquence d'octets AAB. Cela pourrait être codé par l'algorithme PackBits de plusieurs manières différentes. Une façon serait que deux cycles répétitifs, deux comme suit un B. Un autre serait une séquence non répétitive unique de trois octets, AAB. Il s'avère que les deux formes en génèrent une est souhaitable. Il est possible avec un effort suffisant de déterminer le codage optimal pour une chaîne de données spécifiée, mais les résultats justifient rarement l'effort.



Dernière mise à jour : Samedi, le 18 mai 2019