600 razy otwórz i zapisz JPG
Nie bez powodu sposób w jaki zapisywane są skompresowane dane w plikach JPG jest nazywany stratnym.
zlotychlopak z- #
- #
- #
- #
- #
- 17
Nie bez powodu sposób w jaki zapisywane są skompresowane dane w plikach JPG jest nazywany stratnym.
zlotychlopak z
Komentarze (17)
najlepsze
Kompresja jpeg polega na rozwinięciu funkcji obrazu w szereg zbieżny i a następnie zapamiętaniu tylko jego kilku początkowych wyrazów, za pierwszym razem strata jest bardzo duża ale jeśli na obrazie nie były wykonywane żadne operacje to przy kolejnych zapisach obraz będzie dążył do takiego który rozwija się w szereg skończony.
Każdy kwadracik 8x8 (lub 16x16, już nie pamiętam) zostaje przestawiony w postaci 256 (lub 1024) współczynników tak, by input[x][y]=suma po i,j-0..7(albo 15) output[i][j]cos(iC)cos(jC)
Kompresja polega na zaokrąglaniu współczynników macierzy output. Po iluś cyklach kompresji następuje stabilizacja.
http://en.wikipedia.org/wiki/JPEG#JPEG_codec_example
po 724 cyklach: http://img148.imageshack.us/img148/6483/bus724.jpg
oryginał
http://img.nopaste.pl/showpict.php?id=lena_std_49c7c228d5869.png
pierwszy jpeg
http://img.nopaste.pl/showpict.php?id=0001_49c7c26285273.jpg
tysięczny
http://img.nopaste.pl/showpict.php?id=1000_49c7c2763a799.jpg
Co więcej pragnę zauważyć, że
$ md5sum *.jpeg
36758df6016d130d379759294038dbd7 0000.jpeg
6014062b083547f9bb5c61ffaa1aed1b 0001.jpeg
224d85b2cb07e749e04f7a9d95c82d8a 0002.jpeg
ab7c2fa7544de420c939e59c58bf3c7a 0003.jpeg
99e4dfbf7a37268fc072d83027e4c9c7 0004.jpeg
469feab35976bf286264b39b0eacd825 0005.jpeg
3e7f7f1da307099630371ef5d9a0f6f8 0006.jpeg
143c6956de43a02b13e8d4a33bb9b170 0007.jpeg
ac2b244f8b1a223c487c9f30c198cf66 0008.jpeg
2f5ffa424b0961836f1976a69c1ea1da 0009.jpeg
2f5ffa424b0961836f1976a69c1ea1da 0010.jpeg
2f5ffa424b0961836f1976a69c1ea1da 0011.jpeg
2f5ffa424b0961836f1976a69c1ea1da 0012.jpeg
i dalesze już się nie zmieniają