Kompresja obrazów
Transkrypt
Kompresja obrazów
Kompresja obrazów 10/8/2005 Grafika rastrowa Kompresja obrazów ! Grafika rastrowa Kompresja GIF Kompresja JPG Oszustwa… Obrazy z różnorodnych urządzeń cyfrowych w postaci „surowej”, przed kompresją, przechowywane są w postaci mapy piksel po pikselu ! ! ! ! Kompresja GIF ! GIF to skrót terminu Graphic Interchange Format – format opracowany w CompuServe ! ! ! ! ! Standard JPG został opracowany przez Joint Photographics Expert Group Jest to znakomity sposób reprezentacji kolorowych zdjęć ! ! Zaleta przezroczystości ! GIF ogranicza liczbę kolorów do 256, przy czym jeden z nich ma przypisana dodatkowa cechę przezroczystości Jeśli nasza wyjściowa paleta ma mniej niż 256 kolorów kompresja jest bezstratna Jeśli w oryginalnym obrazie mamy >256 kolorów straty nastąpią na etapie zmiany palety Kompresja JPG Został on w pełni zaadaptowany przez producentów aparatów cyfrowych („cyfraków”) Jego uniwersalność sprowadza się do tego, że łączy on w sobie wiele metod reprezentacji obrazów (C)2005 R.Robert 'RoG@j' Gajewski Liczba bajtów potrzebnych do zapamiętania informacji o pikselu świadczy o liczbie kolorów 1 bajt to 256 kolorów 2 bajty to… 3 bajty to… Przeźroczystość tła oraz mechanizm kodowania względnego stanowią podstawę do tworzenia animowanych GIF’ow ! ! Są one istotnym elementem wielu witryn WWW i gier komputerowych Animowane GIF’y to także znakomite narzędzie do animacji działania oprogramowania Bezstratny JPG ! Jeśli zależy nam na wysokiej jakości kompresujemy zdjęcie bez strat ! ! ! Oszczędność uzyskuje się dzięki przecowywaniu informacji o konkretnej barwie (odcieniu) informacje o różnicach odcieni między kolejnymi pikselami Jest ona najczęściej niewielka i do jej przechowywania można używać krótszych ciagów bajtów Dodatkowo potem stosuje się kod o zmiennej długości 1 Kompresja obrazów Stratny JPG ! Każdy piksel reprezentowany jest za pomoca trzech wartości ! ! ! Dwa składniki barwne Składnik jasności Dokładnie kodujemy składowa jasności Składowe koloru uśredniamy w obrębie czterech sąsiednich pikseli i zapamiętujemy jedynie średnie ! ! ! Wynikowa reprezentacja zachowuje nagłe zmiany jasności, ale nie kolorów Zysk jest o połowę! Na 4 pikselach zamiast 12 bajtów mamy 6 (4 jasności, dwie barwy) Zysk całkowity ! ! ! Oko ludzkie jest bardziej wrażliwe na zmianę jasności niż na zmianę barw Poniższy przykład pokazuje, że o wiele lepiej „dostrzegamy” jasną kropkę! Składowa jasności reprezentuje jedynie jasnośc poszczególnych pikseli Następstwa „oszustwa” ! Oszukiwanie oka Gdyby brać pod uwagę jedynie jasność mielibyśmy obraz czarno-biały ! ! 10/8/2005 W podstawowym standardzie JPG można reprezentować obrazy z rozsądną jakością operując plikami o 20-krotnie mniejszej długości niż surowa bitmapa (format BMP) Kolejny zysk ! ! ! ! Jest to następstwo wiedzy, że zapamiętanie różnic wymaga mniejszej liczby bitów niż zapamiętanie pełnych wartości! W rzeczywistości bloki są 8x8 i dodatkowo stosowana jest dyskretna transformacja kosinusowa Dodatkowo „nakłada” się na to zmienna długość kodu Porównanie, podsumowanie ! ! ! (C)2005 R.Robert 'RoG@j' Gajewski Zamiast zapamiętywać wartości możemy zapamiętywać ich różnice (przyrosty) Powstaje pytanie, co kiedy stosować… GIF należy stosować do kompresji obrazów złożonych z jednokolorowych bloków o ostrych krawędziach (JPG wtedy „rozmazuje” obraz!!!) JPG jest najlepszy do fotografii!!! 2