Article View: fr.comp.os.mac-os
Article #47Re: JPEG destructeur
From: Jean-Claude Ghislain
Date: Tue, 10 Apr 2001 11:32
Date: Tue, 10 Apr 2001 11:32
100 lines
5133 bytes
5133 bytes
"METIS" a �crit : > ===> Regarde ma r�ponse � Patrick Stadelmann... Pour faire avancer le Smilili, le Ssmblili, le Schmilllilbli, le... enfin le truc, je reposte un message de Gerard Guenin sur fr.rec.photo.numerique : J'explique le peu que je sais (et ne me demandez pas de d�tails math�matiques, j'y suis allergique) - La compression JPEG travaille sur des blocs de 8 x 8 pixels RVB. (en fait, le travail s'effectue plut�t sur des blocs Y,Cb,Cr plut�t que RVB qui permettent d�j� une diminution des infos de couleur pratiquement invisible) Phase 1: - Les 3 x 64 �l�ments subissent une transformation math�matique (cosinus discret) qui produit 3 x 64 coefficients. Phase 2: - Les 3 x 64 coefficients subissent alors une op�ration de seuillage + quantification. C'est � ce stade que s'effectue la d�gradation de l'image. Le but de l'op�ration est d'obtenir un maximum de coefficients �gaux � 0. L'image est donc d�grad�e mais occupe encore LA MEME place que les blocs RVB d'origine ! Si, � partir de ces 3*64 coefficients ont applique la transformation inverse, on retrouve les 64 pixels, mais d�grad�s. Les phases de seuillage et quantification n'ont pas pour but de compresser quoi que ce soit, mais de pr�parer la futur compression en faisant appara�tre un maximum de coefficients nuls. Lorqu'on choisit un taux de compression dans son logiciel de retouche, ce sont en fait la valeur du seuil et la pr�cision de la quantification que l'on choisit. Phase 3: - Suit alors une COMPRESSION de type RLC et un codage de Huffman. Ces deux derni�res op�rations sont COMPLETEMENT r�versibles donc NON destructrices. La compression RLC fonctionne un peu comme �a : origine : 120 34 18 0 0 0 0 0 0 0 0 0 0 0 0 3 4 0 0 0 0 0 0 0 compress�e : 252 120 34 18 12 253 3 4 7 D�compression : 252 octet de contr�le : 255-252 : lire directement les 3 octets suivant 12 : mettre 12 z�ro 253 octet de contr�le : 255-253 : lire les 2 octets suivants 7 : mettre 7 z�ro De 24 octets ont est pass� � 9 sans perte. (C'est un exemple, je ne connais pas le type exact du codage RLC retenu pour le JPEG.) Le codage de huffman sert � am�liorer la compression. C'est un codage probabiliste � longueur variable. En gros on code sur un petit nombre de bits les valeurs dont la probabilit� d'apparition est importante et sur un grand nombre de bits celles dont la probabilit� d'apparition est la plus faible. (un peu comme le morse qui code le E avec un seul point et le Q avec une suite trait, trait, point, trait) Conclusion : La rotation JPEG sans perte s'explique alors tr�s bien. On remonte jusqu'aux 3 * 64 coefficients quantifi�s (fin de phase 2), on d�place les blocs, et chaque bloc est "tourn�" . Ensuite recompression RLC. Le paradoxe de tout �a est que l'algorithme de compression utilis�e dans le JPEG est non destructeur, alors que l'ensemble du processus l'est. Fin de citation. > > Lors d'une pr�c�dente discussion sur le sujet et pour me convaincre > > du bien fond� de la th�orie, j'ai r�alis� un petit script qui a > > recharg� et resauv� 400 fois la m�me image (en JPEG Q "presque" > > Max) et ben, la derni�re est toujours tr�s semblable � la > > premi�re... > > ===> Refis-le en compression maximale en sauvant � chaque fois si tu > peux, pour comparer l'�volution du mal... (si tu veux bien, hein...) D'accord, je repars en "exp�rimentation" > <|[:o|| saute... bin saute... aller, saute... ??? quand tu arraches > > les pattes d'une puce, elle devient sourde ! Tortionnaire... En fait, j'aime pas les puces... Vas-y renouvelle l'exp�rience ! Je l'ai pas dit, je l'ai pas dit, youpiiie, je suis gu�ri ! Aspirine. Merde... -- Jean-Claude Ghislain www.grimart.com
Technical Details
Message-ID:
<3ad2ef3a$0$192$456d72a3@news.skynet.be>Path:
arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!cyclone-sjo1.usenetserver.com!news-out-sjo.usenetserver.com!news.tele.dk!195.158.233.21!news1.ebone.net!news.ebone.net!skynet.be!louie!not-for-mailReferences:
<1erm0to.1uky4pqp1gqd4N%grouy@nordnet.fr> <9at3m2$pqm$1@front4.grolier.fr> <9auapm$h0b$1@s1.read.news.oleane.net> <3ad2de88$0$187$456d72a3@news.skynet.be> <9auoqp$qem$2@s1.read.news.oleane.net>Show Full Headers
Complete Article Headers
X-Google-Language: FRENCH,ASCII X-Google-Thread: 1162e1,a66a4ea6efbb241 X-Google-Attributes: gid1162e1,public X-Google-Thread: fc16a,a66a4ea6efbb241 X-Google-Attributes: gidfc16a,public X-Google-ArrivalTime: 2001-04-10 04:36:02 PST Path: arc1-ca.pugleaf.net!supernews.google.com!sn-xit-03!supernews.com!cyclone-sjo1.usenetserver.com!news-out-sjo.usenetserver.com!news.tele.dk!195.158.233.21!news1.ebone.net!news.ebone.net!skynet.be!louie!not-for-mail From: "Jean-Claude Ghislain" <jean.claude.ghislain@skynet.be> Newsgroups: fr.comp.os.mac-os,fr.comp.graphisme.pao References: <1erm0to.1uky4pqp1gqd4N%grouy@nordnet.fr> <9at3m2$pqm$1@front4.grolier.fr> <9auapm$h0b$1@s1.read.news.oleane.net> <3ad2de88$0$187$456d72a3@news.skynet.be> <9auoqp$qem$2@s1.read.news.oleane.net> Subject: Re: JPEG destructeur Date: Tue, 10 Apr 2001 13:32:30 +0200 X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 5.50.4133.2400 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Lines: 112 Message-ID: <3ad2ef3a$0$192$456d72a3@news.skynet.be> Organization: -= Skynet Usenet Service =- NNTP-Posting-Host: 194.78.239.8 X-Trace: 986902331 reader0.news.skynet.be 192 194.78.239.8 X-Complaints-To: abuse@skynet.be