Posts Tagged ‘compression’

Fourier et la compression d’images

mercredi, décembre 10th, 2014

Fourier et la compression d’images

(explication, comparaison, sans formule – à l’usage des littéraires)

Voici deux images, identiques, mais enregistrées sous un format différents :

a)  .bmp qui, à images de taille égale, ne compresse pas les images

b) .jpg qui intègre un compresseur d’images

Reve_01 Reve_01

 

 

 

 

Image1 « Je rêve.bmp » – 859 ko                                                                                             Image2 « Je rêve.jpg » – 49 ko

Nous constatons que l’image1 .bmp occupe 17 fois plus d’espace disque que l’image2 enregistrée sous le format .jpg. En effet, le format .bmp code chaque pixel sans analyse, selon le schéma :

                      Image  –> enregistrement pixel à pixel  -> Image1

or l’image proposée se compose de beaucoup de blanc, et, dans une moindre mesure, de bleu, de rouge, de vert, de noir. Le format .jpg, utilise la Transformation de Fourier (TF) pour tenir compte de cette particularité de l’image et regrouper les pixels identiques qui contribuent. Le schéma est le suivant :

                Image –> TF –>  enregistrement données ‘image.jpg’  –> TF-1   –> Image2

 La transformée de Fourier (TF) rassemble les données de l’image sous forme de fonctions trigonométriques ce qui minimise l’espace occupé sur le disque ; la transformée inverse (TF-1) restitue l’image à l’identique. Le principe en a déjà été exposé sur ici.

Tentons maintenant de ‘redimensionner’ l’image2 à l’aide de la fonction proposée par un logiciel de traitement de l’image. Le logiciel, à notre demande va omettre d’enregistrer un certain pourcentage des fonctions trigonométriques qui permettent de reconstituer l’image :

Image2 –> TF –> enregistrement données à 50%   –>  TF-1  –> Image3

Reve_03

L’essentiel est encore là avec une image enregistrée de 37 ko, soit un gain minime mais sensible d’espace disque.  Continuons à compresser de même :                        Image2  –> TF  –>  enregistrement données à 10%  –> TF-1  –> Image4

Reve_03_5

Cette fois la perte de qualité est sensible avec très peu de gain d’espace disque. Notons que l’espace disque est maintenant utilisé majoritairement pour stocker les données de format, incompressibles qui permettent de restituer l’image : 34 ko.

Poussons l’expérience encore un peu :          Image2 –> TF –> enregistrement données à 5%   –> TF-1 –> Image5

Reve_02_5

Formes et couleurs sont altérées, l’espace disque occupé reste de 30 ko.

Retour à la comparaison littéraire : Après l’exemple visuel, reprenons maintenant, la fable de La Fontaine qui nous a servi à illustrer de façon allégorique le principe d’un transformation réversible, et lui appliquons lui une compression à 50% en supprimant ‘mécaniquement’  les signes de ponctuation (23) et 59 mots que l’on ne rencontre qu’une fois :

Le Corbeau et le Renard

Maître Corbeau, sur un arbre perché,

Tenait en son bec un fromage.

Maître Renard, par l’odeur alléché,

Lui tint à peu près ce langage :

« Hé ! bonjour, Monsieur du Corbeau.

Que vous êtes joli ! que vous me semblez beau !

Sans mentir, si votre ramage

Se rapporte à votre plumage,

Vous êtes le Phénix des hôtes de ces bois. »

A ces mots le Corbeau ne se sent pas de joie ;

Et pour montrer sa belle voix,

Il ouvre un large bec, laisse tomber sa proie.

Le Renard s’en saisit, et dit : « Mon bon Monsieur,

Apprenez que tout flatteur

Vit aux dépens de celui qui l’écoute :

Cette leçon vaut bien un fromage, sans doute. »

Le Corbeau, honteux et confus,

Jura, mais un peu tard, qu’on ne l’y prendrait plus.

 

Compression à 50% (82 signes ou mots/164)

Le Corbeau et le Renard

Maître Corbeau .. un arbre ..

..  en ..  bec un fromage.

Maître Renard..  ..  alléché,

.. ..  à peu ..  ce ..

.. bonjour, Monsieur du Corbeau.

.. vous êtes .. que vous .. .. beau

.. .. .. votre ..

.. .. à votre ..

Vous êtes le .. des .. de ces bois

A ces .. le Corbeau ne .. .. .. de ..

.. .. .. sa belle ..

.. .. un .. bec .. .. sa ..

Le Renard .. en .. et dit .. bon Monsieur

Apprenez que .. ..

.. aux dépens de celui ..  l’..:

Cette .. vaut bien un fromage sans doute

Le Corbeau.. et confus

.. .. un peu .. .. ne l’.. .. ..

 Remarques à propos des codages :

L’informatique est grosse consommatrice de codages. Elle transforme in fine tout ce qu’elle traite en langage binaire, soit donc une succession de ‘0’ et de ‘1’. Nous nous sommes intéressés au codage des images nous a permis des illustrations éclairantes ; le codage de la musique serait plus difficile à illustrer de façon probante, mais on comprend que la suppression des harmoniques situées dans les ultra ou les infra-sons fait gagner de l’espace sans perte de qualité.

Nous aurions pu aussi parler du codage des lettres : historiquement c’est le premier auquel le informaticiens se sont intéressés. A une époque où la mémoire électronique était denrée rare, ils ont créé le code ASCII pour obtenir un rendement maximal. Ce code a évolué et suivi les progrès des composants (passage de 8 à 16 puis 32, 64 bits), il reste utilisé et très efficace : en utilisant un espace équivalent à une simple image, un logiciel de traitement de texte code facilement un volume de plusieurs centaines de pages. A l’occasion, les traitements de texte, utilisent aussi, en toute discrétion, la compression d’images : ainsi, l’image qui illustre cet article (obtenue par un logiciel de traitement d’image), seule pesait 859 ko, incorporée à un texte, elle a été allégée puisque « images + article » n’occupent plus que 283 ko après traitement par le logiciel.