On Thu, May 30, 2002 at 06:05:45PM +0200, Matthieu Moy wrote:
> Yves Rutschle <[EMAIL PROTECTED]> writes:
> 
> > C'est la base de tous les compresseurs (pkzip, gzip, mpeg etc).
> 
> Pour mpeg, c'est  un peu diff�rent. C'est un  algorithme avec perde de
> qualit�,  qui est  surtout  bas� sur  des transformations  analytiques
> (transform�es de fourrier & cie) que sur la r�p�tition.
> 
> > j'ai une photo en jpeg, je change la couleur des yeux d'une personne
> > (change quelques pixels), y'a toute  les chances pour que le nouveau
> > jpg soit compl�tement diff�rent.) 
> 
> Pas tout � fait vrai non  plus : le jpeg commence par d�couper l'image
> en carr�s de  8 par 8 (�a  se voit d'ailleurs quand on  zoome), et les
> carr�s sont compress�s individuellement, donc,  il y a au contraire de
> fortes chances pour que ton image change peu. 

Mpeg et Jpeg marchent de la m�me fa�on au niveau de l'image:
couper en macro-blocks (8x8 pixels), faire une transform�e
en cosinus bi-dimentionelle (DCT: Discrete Cosine
Transform), prendre les bits des fr�quences basses (donc on
perd les fr�quences hautes: c'est pour �a que Jpeg donne des
r�sultats horribles pour les dessins).

De l�, Mpeg cherche les macro-blocks dans l'image pr�c�dente
(et suivante, si on est en Mpeg4 et le bon profil) pour voir
si il peut les retrouver au m�me endroit ou "dans les
environ", c'est l'estimation de mouvement. (Pour info,
Mpeg2, H261 et H263 sont tous bas�s sur le m�me principe.)

Enfin, Mpeg et Jpeg passent tout �a dans un "VLE" (Variable
Length Encoder) qui est un codage de Huffman avec une table
fixe, donc finalement exactement ce que je disais, mais en
retirant 2 paragraphes, parce que sinon c'�tait hors sujet.

C'est toujours Hors Sujet, d'ailleurs :-)

Donc: si je change des yeux, il y a de bonnes chances que la 
DCT donne un nombre de bits differents, donc d�cale
l'ensemble du bitstream; ensuite, il y a aussi pas mal de
chance que le VLE donne un r�sultat diff�rent.

Au final, �a revient au m�me: la plupart des compressions
sont bas�es sur des flux de bits (bitstreams), pas sur des
octets, donc d�s qu'un morceau change de taille, tous les
autres octets sont �galement affect�s.

Tiens, peut-�tre qu'une fa�on d'am�liorer rsync serait
pr�cis�ment de consid�rer le fichier comme une suite de bits
au lieu d'une suite d'octet.

/Y


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Répondre à