* * *
Divers : Compression
* * *

Bonjour à tous, je suis un p'tit nouveau dans l'équipe de Falk'Mag, je suis un accro de l'Atari en général et du Falcon en particulier. Je suis un allumé de l'image de synthèse et côté musique j'écoute de la Techno-Trance-Goa-Hardcore..., je n'écoute que cela et ce, du soir au matin (avec un poil de New Wave: je suis fan de Depeche Mode, mais j'aime bien Front 242, OMD, New Order...), je hais le rock (beeurk !!!!). Mon pseudo est Falcon Lolo (et Bonzai Lolo quand j'écrirai des articles sur la Techno...), vous trouverez mes coordonnées complètes en fin d'article.

Tout ce que vous avez voulu savoir sur la compression sans jamais avoir osé le demander...


 Cet article portera sur la compression de données, rassurez vous, je ne suis pas programmeur, donc je ne vais pas vous parler des algorithmes de Lempel et Ziv ou de Hufman non, non, pas de codes assembleurs avec moi ! Si vous avez un Falcon (et même si vous avez d'autres modèles Atari...) vous avez tous été un jour confronté au problème de la compression des données. La question est simple : pourquoi compresser ? la réponse est encore plus simple : pour gagner de la place !!! Un peu plus sérieusement, il existe d'autres avantages à la compression que le simple gain de place. On peut compresser les données pour :


 Commençons par le gain de place : c'est le but même de la compression, je sèche une larme pour les pauvres possesseurs de PC, chez qui la moindre merde prend 30 Mo sur un disque dur qui doit au minimum être de 1,2 Go, et tout ça pour quoi ? pour faire de la bureautique ! ah ! les pauvres (oui, pauvres, car ils ont dépensé plus de 10000 francs pour acheter un c:\ (un PC quoi !) qu'il leur faudra des semaines à configurer, bon je ne vais pas m'appesantir sur les c:\ (il est trop facile d'écraser une merde...)). Bon revenons à notre article (façon de parler, c'est mon article !), bref compresser fait gagner de la place (voir stats plus loin...), si votre disque dur commence à saturer, à ployer sous la taille des images, des animations (fli, avi, mov, mpeg...) grandes consommatrices de Mo, il est urgent de penser à la compression. Vous compresserez en priorité : les fichiers que vous n'utilisez pas ou alors les images et autres fichiers qui encombrent votre disque dur et sur lesquels vous jetez un oeil tous les deux ou trois ans en moyenne (et encore je suis bon...), soyons sérieux, on a tous sur nos disques durs, des programmes, fichiers divers que l'on garde "au cas où" et dont l'on se sert jamais, ou que l'on a même jamais utilisé !

 Oui d'accord Falcon Lolo, on compresse (je devrais plutôt m'appeler Docteur Lolo sur cet article, ben oui, z'êtes pas finauds les gars : docteur, compresse, ah la la ! faut tout vous expliquer...) oui mais avec quoi ? J'ai testé les logiciels suivants : ST Zip 2.6, Lha 3.1, Zoo 2.14, Ice Packer 2.4, Atomic Packer 3.5 version Falcon et Atomic Packer 3.6. Bon, réglons un petit détail tout de suite, les versions 3.5 Falcon et 3.6 du logiciel Atomic Packer sont identiques quant aux résultats obtenus : même taux de compression, même temps de compression, donc je ne ferai pas de distinction entre les deux versions.

 On peut utiliser la compression pour archiver, ou pour stocker les données. Par exemple, si vous faites des copies de sauvegardes de certains logiciels ou de certaines données autant les compacter cela vous fera gagner quelques disquettes ou quelques Mo sur votre disque dur. De plus, vous pouvez compacter les fichiers que vous utilisez rarement ou bien les fichiers dont vous êtes sûr de ne plus vous servir pour le moment mais que vous tenez à conserver... Deuxième motif d'utilisation donc, un motif de précaution.

 On peut utiliser la compression pour le transfert des données. En effet, cela permet de faire tenir certains fichiers très gros sur une disquette (on peut même le découper si le fichier est vraiment très gros, et ainsi le faire tenir sur plusieurs disquettes...) et ainsi vous pouvez le transporter vers votre autre ordinateur, et quelle que soit la marque de celui-ci car certains logiciels sont des standards : ST Zip et Winzip sur PC sont compatibles à 100%, j'en parle en connaissance de cause puisque j'en ai fait l'expérience, j'ai ainsi pu récupérer des fichiers compactés sur PC avec Winzip et j'ai pu les lire avec ST Zip. D'autres logiciels sont des standards comme Lharc, Zoo, Arc et fonctionnent même sur station Unix (il faut dire quand même, que beaucoup de ces logiciels ont été créés originellement sur station Unix... ), vous voyez que cela peut être utile de compresser les fichiers... De même, l'échange des données est plus rapide, car les fichiers sont plus petits et prennent moins de temps à charger, ce qui est un fait non négligeable pour les échanges ou quand on travaille avec des disquettes. Troisième motif pour compresser, l'échange, la compatibilité.

 Enfin, on peut compresser des données parce que certains logiciels permettent l'utilisation de données compressées : l'exemple des fichiers MOD ou S3M que certains logiciels peuvent lire même si ils ont été compressés c'est ainsi le cas de Megatracker, Another Crude Player, Ultimate Tracker... mais attention, pour les fichiers MOD et S3M, seuls certains logiciels de compression sont reconnus, en général les plus courants sont, soit Ice Packer 2.4 ou bien Atomic Packer 3.5 ou 3.6. Alors veillez bien à lire la documentation du player que vous utilisez. Attention également au fait que tous les logiciels ne reconnaissent pas les MOD compressés... On peut également évoquer la compression des fichiers lib en lic pour le traitement de texte le Rédacteur, ou les pi1,pi2,pi3 transformées en pc1,pc2,pc3... mais attention ne compressez que les fichiers qui ne sont pas destinés à être manipulés avec d'autres logiciels car il pourrait y avoir incompatibilité.

 Vous avez un Falcon, donc vous disposez de SAM, ce programme permet d'écouter entre autres le format de fichier musical wav et si vous utilisez l'option sauver vous pouvez sauver votre fichier wav en... wav mais compressé si vous le souhaitez. Le gain est très intéressant : en général il est de 50% (c'est à dire que le fichier compressé aura une taille de moitié inférieure au fichier original). Il y a néanmoins quelques problèmes : tous les logiciels ne reconnaissent pas le format wav compressé, le temps de compression est très très très très long (plusieurs minutes voire dizaines de minutes pour les fichiers dépassant les 500 Ko), de même SAM devra décompresser le fichier pour le lire ce qui prendra encore un peu de temps (rassurez vous seulement quelques secondes).

 Autre type de compression, la compression des images, ou plutôt la transformation de format d'image tout d'abord. Vous connaissez tous le format Gif, qui est très intéressant car le format Gif est un format d'image avec compression sans perte, et certains logiciels vous permettent de transformer beaucoup de formats d'images (exemple de Gemview) par exemple vous récupérez des BMP, PCX, IMG et vous les convertissez en Gif cela vous fera gagner jusque près de 50% de la taille originelle. De plus, le format Gif est particulièrement intéressant sur Falcon, car certains programmes tirent parti des capacités de notre rapace favori. Ainsi un viewer TTP d'Apex vous permet de voir les Gif à une vitesse ahurissante et ce avec une palette de 16,7 millions de couleurs sur Falcon, oui, vous avez bien lu, en 24 bits ! d'autre part des logiciels de manipulation d'images tels que Speed Of Light magnifient un tel format de fichier. Il existe des viewers de Gif très performants sur Falcon (comme Turbo Gif par exemple), en plus en les installants comme application avec le format de fichier Gif, chaque fois que vous double cliquerez sur une image Gif vous la verrez tout de suite à l'écran sans avoir à passer par un logiciel particulier, c'est très pratique... j'ai ainsi installé des programmes qui me permettent de voir les images Bmp, Gif, TGA (en 16 millions de couleurs), les fli, flc, avi, mpeg, mov dès que je clique sur le fichier en question.

 Le format d'image jpeg est un format un peu particulier, car c'est un format qui permet la compression des images avec perte. Le format jpeg tend à supprimer ou à modifier certains aspects de l'image. Le système de compression jpeg va découper l'image en blocs de 8 points sur 8, il analyse ensuite les variations de couleurs au sein de cette zone, par un calcul complexe, il réduit le nombre des couleurs sans altérer la qualité de l'image. Le format Mpeg est destiné aux images animées. La compression s'effectue sur une séquence de 25 images par seconde. La première étape reprend le principe de la compression jpeg, dans la deuxième étape, l'ordinateur repère les objets en mouvement dans l'image, l'image de fond est gelée. Ainsi un fichier mov de 792 Ko fera 528 Ko en mpeg et sur un CD-Rom de 400 Mo on pourra mettre 57 minutes de vidéos contre 35 minutes pour le format avi ou mov. Le niveau de compression, et donc de perte est paramétrable. Les taux de compression compris entre 70 et 80% semblent donner le meilleur résultat en terme de qualité/taille de fichier. Plus le taux de compression est proche de 100, moins le fichier est compressé et donc plus il prend de place. Les utilitaires de compression jpeg sont légions sur ST comme sur Falcon, citons par exemple le CPX d'Apex : le Jpeg translator qui permet de compresser les formats Gif, TGA, ppm en jpeg avec contrôle du taux de compression et permet d'activer diverses options (mémoire maximale utilisable pour décompresser l'image lors de la lecture, niveaux de gris, adoucissement...) il permet également de transformer les jpeg en tga, Gif ou ppm. Il existe d'autres logiciels dédiés à la compression jpeg ou à l'opération inverse, sans parler des logiciels de graphisme qui offrent une telle option. Le principal défaut de ce type de fichier est la lenteur de compression et de décompression. Côté Mpeg, il existe des ttp adaptés à votre configuration 68030, DSP, 68030+68882, 68000, il existe également un excellent programme : Mpeg Fever.


Le futur de la compression d'image ?

Après avoir parlé des formats de compression, pour finir voici les résultats de quelques tests que j'ai réalisé pour vous.
L'échantillon de travail comportait différents types de fichiers :

Format Type Nombre Taille totale
BMPImage2616556
DOCTexte9232380
GIFImage3112354
IMGImage2100710
MODMusique3548136
TGAImage2384036
TIFImage198188

 Voici donc les résultats :

FormatAtomic Packer 3.5F/3.6ICE Packer 2.4
BMP381944407929
DOC92706102528
GIF112354112384
IMG4369845129
MOD415112435632
TGA4756055111
TIF9818898188

 Pour compresser ces fichiers, il a fallu 16 minutes et 26 secondes à Atomic Packer, et ICE Packer a mis 8 minutes 07 secondes. Si vous préférez gagner du temps mais en acceptant une taille un peu plus importante pour vos archives, vous opterez pour ICE Packer. Néanmoins, l'utilisation de fichiers mod compactés est plus avantageuse avec Atomic Packer, enfin, dernière remarque, les résultats bruts donnés par ICE Packer peuvent sembler décevants (sans tenir compte de sa très grande rapidité), ceci peut s'expliquer par le fait que la version 2.4 date du 14 août 1991 alors que la version 3.6 d'Atomic Packer plus "récente" date du 23 février 1993...

 Passons maintenant à ST Zip, LZH et à ZOO. (le temps est exprimé en minutes et secondes)
FormatLZH+tempsST ZipZOO
BMP350030 1'36351116 1'46350209 3'33
DOC84651 36"81415 24"85054 1'15
GIF112444 14"112520 7"112485 35"
IMG40230 16"40570 13"40360 33"
MOD403682 1'19"396810 58"403854 2'57"
TGA43886 52"43160 58"44018 1'42"
TIF95094 14"95383 8"95189 32"

Au final :
Taille originale de l'échantillon : 2 092 360 pour 22 fichiers
LogicielTailleTemps de compression
ST Zip 2.61 120 9744mn34
Lzh 3.11 130 0175mn07
Zoo 2.41 131 16911mn07
Atomic 3.61 191 56216mn26
ICE 2.41 256 9018mn07

 Quelques commentaires : il semble au vu de ces tests que ST Zip sorte grand vainqueur de ces essais, néanmoins quand vous voulez compresser un grand volume de données essayer toujours plusieurs de ces compacteurs avant de vous décider, car, comme vous le voyez, les résultats peuvent varier du tout au tout selon le type de fichier qui doit être compressé. Sur certains types de fichiers, les compacteurs zip, zoo et lzh sont vraiment très proches au niveau résultat de compression (les fichiers bmp, img, tif) alors que pour certains fichiers comme les fichiers textes, zip montre sa supériorité autant en termes de taux de compression qu'en temps de compression. Le gros défaut de Zoo malgré un bon résultat au niveau du taux de compression est qu'il est assez lent.

Les tests ont été réalisés sur Falcon 030 avec 4 Mo de RAM et en résolution 640x480 et 16 couleurs.

J'espère que avec cet article vous en savez un peu plus sur la compression des données sur Atari. Certes, l'article n'est pas exhaustif, beaucoup de logiciels n'ont pas été testés (ARC, ainsi que d'autres packers) néanmoins j'ai essayé de privilégier les logiciels les plus facilement disponibles pour le Falcon ainsi que les logiciels les plus "standard" (c'est à dire que l'on trouve sur un maximum d'autres plates-formes).

Falcon Lolo