Formy przechowywania cyfrowych obrazów
Skończyły się Święta z choinką, prezentami i pięknymi dekoracjami świetlnymi, a potem był Sylwester także z mnóstwem okazji do zrobienia pięknych i pamiątkowych zdjęć. Takie chwile przecież trzeba uwiecznić, zwłaszcza że dzisiejsza elektronika (w aparatach fotograficznych, ale także w smartfonach) pozwala robić zdjęcia szybko i łatwo.
Dwa lata temu w podobnej porze napisałem artykuł „O sposobach wytwarzania barwnych cyfrowych obrazów”, gdzie opisałem jak te wszystkie elektroniczne obrazy powstają. Jeśli kogoś to interesuje, to można zajrzeć, bo na stronie internetowej Gazety Myślenickiej są dostępne wszystkie moje wcześniejsze artykuły. Natomiast dzisiaj chcę Państwa zainteresować tym, jak urządzenia cyfrowe (smartfony, laptopy, tablety, aparaty fotograficzne, kamery filmowe itp.) przechowują obrazy.
Z wcześniejszych rozważań wiemy, że cyfrowy obraz powstaje w taki sposób, że płaszczyznę zdjęcia lub rysunku dzieli się na poziome linie i pionowe kolumny, tworzące tak zwany raster. Na przecięciu każdego wiersza i każdej kolumny określana jest barwa i jasność obrazu. Taka porcja informacji o jednym punkcie obrazu nazywana jest pikselem. Obraz można zapisać w pamięci smartfona lub komputera zapamiętując wartości wszystkich pikseli. Tak zapamiętany obraz nosi nazwę mapy bitowej (BMP) i ma dwie cechy – dobrą i złą. Dobre jest to, że nie ma tu żadnych strat informacji. To co skaner lub aparat fotograficzny zarejestrował – to wszystko pozostaje do dyspozycji użytkownika. Złą cechą jest jednak bardzo duża objętość takiego obrazu. Zajęta pamięć to iloczyn liczby pikseli i liczby bitów przeznaczonych do zapamiętania jednego piksela. Liczba pikseli może sięgać kilku milionów, a na zapamiętanie właściwości jednego piksela potrzebny jest przynajmniej jeden bajt (8 bitów), więc tak zapisane obrazy „pożerają” pamięć megabitami.
Drugą wadą jest brak możliwości zapisania w formacie BMP dodatkowych atrybutów obrazu (na przykład stopnia jego przezroczystości, co bywa przydatne przy montowaniu kilku obrazów metodą nakładania ich na siebie). Nie ma w nim także informacji o tym, kiedy, gdzie i przy użyciu jakiego sprzętu ten obraz pozyskano, a taka informacja bywa bardzo przydatna przy porządkowaniu dużej liczby zdjęć. Dlatego w codziennej praktyce użytkowania komputerów format bitmapy bywa najczęściej używany przy robieniu tak zwanego „zrzutu ekranu”. Klawisz PrtScn przenosi cały obraz ekranu komputera do schowka właśnie w formie bitmapy. Potem z tego schowka obraz można wkleić do tekstu lub do prezentacji. Format BMP jest także jednym z wielu sposobów zapisu obrazów w formacie TIFF, powszechnie używanym w poligrafii.
Programy komputerowe operujące na obrazach chętnie używają formatu BMP, bo tak zapisany obraz jest dostępny dla wszystkich operacji bez dodatkowego nakładu czasu na kodowanie i dekodowanie. Natomiast w przypadku gromadzenia obrazów w katalogu na komputerze albo na karcie aparatu fotograficznego, a także przy jego przesyłaniu przez telefon (wiadomości MMS) lub udostępnianiu w Internecie – używa się formatów, w których obraz poddawany jest kompresji, dzięki czemu zajmuje mniej miejsca i może być szybciej przesłany.
Kompresja obrazu może być stratna lub bezstratna. Kompresja bezstratna powoduje, że objętość obrazu zostaje zmniejszona przez użycie odpowiedniego programu pakującego, obraz w takiej „upakowanej” formie jest przechowywany i przesyłany, po czym – gdy jest potrzebny – odpowiedni program go „rozpakowuje” - i jest on dokładnie taki sam, jak przed kompresją. Przykładem popularnych formatów z kompresją bezstratną są GIF, PCX, PNG.
Kompresja bezstratna jest jednak mało skuteczna. Objętość obrazu po kompresji jest zmniejszona o około 20% (czasem więcej, a czasem mniej, bo to zależy od tego, jak wiele szczegółów jest na obrazie), ale ta redukcja nie zmienia zasadniczo faktu, że obraz to nadal bardzo duża struktura danych. Znacznie bardziej efektywne są metody stratne. W tych metodach obraz po kompresji może zmniejszyć swoją objętość nawet kilkukrotnie. Niestety za ten efekt płaci się jakością. Obraz po dekompresji (odtworzeniu) różni się od obrazu źródłowego, jest od niego po prostu gorszy. Cała sztuka polega na tym, żeby ten ubytek jakości był mało znaczący z punktu widzenia odbiorcy obrazu. Obecnie w powszechnym użyciu jest metoda JPEG, która tym się charakteryzuje, że obrazu podczas kompresji usuwane są głównie drobne szczegóły, praktycznie niezauważalne dla ludzkiego oka. W realizacji komputerowej wykorzystuje się dość wyrafinowane metody matematyczne (dyskretną transformacje kosinusową), ale na szczęście użytkownik nie musi się tym interesować – po prostu „wrzuca” obraz do odpowiedniego programu pakującego i odbiera go jako plik skompresowany z rozszerzeniem .jpg. Z kolei polecenie otwarcia takiego pliku powoduje uruchomienie programu dekompresji – i widzimy obraz. Zubożony w stosunku do oryginału, ale niezauważalnie.
Tak to operujemy w komputerach na obrazach. Coraz chętniej, coraz częściej, coraz łatwiej!