🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fr.comp.os.mac-os
Article #47

Re: JPEG destructeur

#47
From: Jean-Claude Ghislain
Date: Tue, 10 Apr 2001 11:32
100 lines
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-mail
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>

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