TECHNOLOGIE ZAPISU GRAFIKI
Kompresja zmniejsza ilość miejsca na dysku potrzebnego do zachowania obrazu:
Kompresja bezstratna umiarkowanie zmniejsza rozmiar pliku bez utraty jakichkolwiek informacji: LZW (Lemple-Ziv-Welch) i RLE (run-length encoding) - kodowanie długości ciągów.
Kompresja stratna znacznie zmniejsza rozmiar pliku (do 1/40) kosztem straty części informacji, a tym samym kosztem pogorszenia jakości obrazu. (JPEG).
FORMAT GRAFICZNY JPG
Format JPG (DOS) lub JPEG (Unix) - Joint Photographic Expert Group - został zaprojektowany dla potrzeb zapisywania fotografii oraz ilustracji wielobarwnych, szczególnie tych, które charakteryzują się subtelnym przechodzeniem kolorów.
W pliku JPG obraz jest bardzo wydajnie zakodowany, ponieważ wykorzystywana jest do tego cała wiedza o właściwościach ludzkiego oka - dzięki temu pewne informacje o kolorach, które i tak nie będą zauważone, mogą zostać po prostu pominięte.
O ilości kolorów - czyli jak to wygląda w naturze
Plik JPG jest zapisywany w formacie RGB - tzw. “true color” lub “full color” (kolor rzeczywisty; kolor pełny, kompletny). Ilustracje w formacie RGB używają trzech grup kolorów po 8 bitów, do zapisu wartości każdej ze składowych: czerwonej, zielonej i niebieskiej (ang: red, green, blue - RGB). Daje to w sumie 24-bitowy piksel (8+8+8=24), przy czym każda ze składowych może przyjąc wartośc od 0-255. Mamy więc do dyspozycji 256 możliwych odcieni koloru czerwonego, 256 odcieni zielonego i 256 odcieni niebieskiego, co daje nam możliwość przedstawienia milionów kolorów (256*256*256 = 16,777,216 róznych kolorów).
Gdy zapisujemy plik JPG w skali szarości - głębia kolorów jest 8-bitowa, co daje nam 256 odcieni szrości.
Cechy formatu JPG
możemy zastosować pełną gamę kolorów
mamy możliwość ustalenia stopnia kompresji, a co za tym idzie jakości obrazu oraz rozmiarów pliku
plik może być zapisany jako progresywny - jest on wtedy pokazywany etapami w kilku przejściach
plik w formacie JPG ma niewielkie rozmiary
JPG dużo lepiej niż GIF nadaje się do zapisu ilustracji czarno-białych
pliki JPG nie mogą być przezroczyste
plik w formacie JPG niezbyt dobrze się prezentuje, gdy ilustracja zawiera duże obszary jednolitego koloru, mało kolorów, czy też ostre, wyraźne krawędzie linii (przykłady poniżej - rys.1-3)
JPG nie nadaje się do prostych obrazków, ikonek nawigacyjnych, miniaturek
Porównanie formatów JPG i GIF:
|
rys 1. - ilustracja zapisana w formacie JPG o małym stopniu kompresji. Widoczne są nieznaczne przekłamania kolorów. Plik ma dużą objętość. |
|
rys 2. - ilustracja zapisana w formacie JPG o znacznym stopniu kompresji. Widoczne są wyraźne przekłamania kolorów. |
|
rys 3. - ilustracja zapisana w formacie GIF - duże jednokolorowe płaszczyzny prezentują się idealnie, wielkość pliku jest trzy razy mniejsza niż pliku JPG o podobnej jakości |
|
rys.5 - obrazek JPG o słabej jakości prezentuje się zupełnie dobrze jako miniaturka, zajmuje jednak aż |
|
rys. 6 - ten sam obrazek zapisany w formacie GIF jest praktycznie takiej samej jakości, lecz zajmuje znacznie mniej: 6 762 KB |
Progresywny JPG W przypadku formatu JPG mamy możliwość wyświetlenia jego zawartości etapami, zamiast linia po linii. Mechanizm ten funkcjonuje w podobny sposób jak plik formatu GIF zapisany z przeplotem.
Dzięki temu możemy znacznie szybciej zobaczyć zarys ilustracji oraz zorientować się co ona przedstawia. Należy jednak pamiętać, że pliki zapisane jako progresywne ładują się wolniej.
Kompresja formatu JPG
Kompresja JPEG jest kompresją stratną, ponieważ ograniczenie wielkości pliku jest uzyskiwane poprzez usunięcie niektórych jego fragmentów. Pociąga to za sobą pogorszenie jakości obrazu. Mniejsza wartość procentowa stopnia kompresji (czyli większa kompresja) daje nam w rezultacie mniejszy rozmiar pliku, ale także gorszą jakość obrazu. Skala kompresowalności ma zakres od 1-100. Plik w formacie JPG, przy nieznacznej stracie jakości, może osiągnąć stopień kompresowalności nawet 50:1. Jeżeli jednak zastosujemy wartość niższą niż 55, straty jakości grafiki będą wyraźnie widoczne. Zasadniczo do dużych zdjęć należy stosować 50%, zaś do małych ilustracji 75%.
Technicznie rzecz biorąc, kompresja pliku JPG polega na podzieleniu ilustracji na określone strefy barw układanych w kwadratowe kształty. Oddzielane są również informacje o jaskrawości i odcieniach kolorów. W pliku zapisywane są raczej informacje o różnicach pomiędzy grupami pikseli, niż o samych pikselach. Taki sposób dzielenia jest wyraźnie widoczny w przypadku źle skompresowanej ilustracji. Pojawia się wtedy charakterystyczna `otoczka' wokół fragmentów ilustracji, szczególnie w przypadku gdy mamy do czynienia z intensywnym cieniowaniem. Dodatkowo, gdy odczytamy plik JPG, wprowadzimy w nim zmiany i ponowanie zapiszemy - spowoduje to kumulację zniekształceń.
Przykład kompresji plików JPG - zwróć uwagę na znaczną stratę jakości obrazu i charakterystyczny podział obszaru zdjęcia na kwadratowe fragmenty:
rys. 7 |
rys. 8 |
rys. 9 |
Powiększenie fragmentu rysunku 9 |
Należy pamiętać, że kompresja JPG jest kompresją stratną i ma charakter nieodwracalny, ponieważ informacje o pewnych fragmentach ilustracji są usuwane. Z tego powodu, gdy zapiszemy plik kompresując go, nigdy nie odzyskamy informacji, które zawierała oryginalna ilustracja. Warto jest zachować wyjściową ilustrację, a następnie eksperymentować z różnymi stopniami kompresji.
Czym jest JPEG ? |
|
Kodowanie kolorów |
True Color RGB 224 =16,7 mln. barw Zeskanowana fotografia jest kodowana przy użyciu przeciętnie 1 bitu na piksel. |
Kompresja |
Stratna. Próbkowane są bloki 8x8 pikseli: dokładnie zapamiętywana jest uśredniona wartość barwy, informacje o nagłych skokach jasności lub koloru pikseli zapamiętywane są mniej dokładnie lub usuwane. Im większy stopień kompresji, tym więcej pikseli w bloku będzie miało zbliżoną barwę. |
Zastosowanie |
Najpopularniejszy format tonalnych obrazów w skali szarości i pełnokolorowych dla: sieci Internet, programów prezentacyjnych i multimedialnych, wymagających małych plików. |
Uwagi: |
|
FORMAT GRAFICZNY GIF
FORMAT GIF (Graphic Interchange Format)
Format ten został stworzony przez firmę CompuServe w 1987 roku w USA. Pierwsza jego wersja miała numer 87a, pochodzący od dwóch ostatnich cyfr roku i litery oznaczającej kolejną wersję. Następna wersja, ukazała się dwa lata później i otrzymała numer 89a, a jej nowe cechy to przede wszystkim: możliwość animacji oraz zapisu przezroczystości.
Paleta kolorów (Color Palette)
Format GIF jest ograniczony do 8 bitów, czyli oferuje paletę 256 kolorów, co miało na celu maksymalne zmniejszenie jego objętości ze względu na wolną transmisję sieci. Plik GIF posiada globalną paletę kolorów, która może zawierać 2,4,8,16,32,64,128 lub 256 kolorów. Plik graficzny truecolor po konwersji do standardu GIF zmniejsza głębię barw z 24 bitów (16,7 milionów kolorów) do 8 bitów (256 kolorów). Redukcja barw powoduje utratę części informacji. Jeżeli jednak nie wpływa to na jakość grafiki, warto jest ten format zastosować ponieważ im mniej kolorów jest zadeklarowanych w palecie, tym szybciej obraz jest ładowany. Każdy kolor używany w obrazach musi pochodzić z palety kolorów, przy czym istnieje możliwość zadeklarowania lokalnej palety dla konkretnego obrazu.
Przeplot (Interlacing)
Format GIF pozwala wyświetlać na stronie grafikę warstwa po warstwie. W przypadku GIF'a mamy możliwość wyświetlić grafikę w czterech niezależnych od siebie fazach (interlace passes). Wyświetlane są kolejno linie: w pierwszej fazie - co ósma zaczynając od zerowej linii, w drugiej fazie - co ósma zaczynając od czwartej linii, w trzeciej fazie - co druga zaczynając od drugiej linii, a w czwartej - pozostałe. Sprawia to na początku wrażenie rozmazanego obrazka, który w trakcie ładowania nabiera ostrości. Dzięki temu prawie od początku ściągania grafiki wiemy co ona przedstawia. Możemy oczywiście zrezygnować z tej możliwości i wyświetlać grafikę linijka po linijce.
CECHY FORMATU GIF W WERSJI 89a
określenie przezroczystego koloru
animacja - możemy nawet określić po jakim czasie ma być wyświetlany następny obraz z dokładnością do 1/100 sekundy
oczekiwanie na reakcję użytkownika
załączenie komentarzy, które będą ignorowane przez dekoder grafiki
wyświetlanie tekstu jako grafiki
określenie sposobu usunięcia aktualnego obrazu
zamieszczenie rozszerzeń aplikacyjnych
STRUKTURA PLIKU GIF89a
Plik w formacie GIF składa się z bloków oraz rozszerzeń. Bloki można podzielić na trzy podstawowe grupy:
kontrolne (nagłówek, opis ekranu logicznego, kontrolne rozszerzenie grafiki i blok końcowy)
informacyjne (opis obrazu, rozszerzenie tekstowe)
specjalnego przeznaczenia (komentarze, rozszerzenia aplikacyjne)
Dostępne bloki:
Nagłówek (Header), w którym zawarte są informacje dla programu dekodującego dotyczące rodzaju pliku (czyli GIF) oraz numer wersji (87a, 89a) - razem 6 bajtów (GIF87a lub GIF89a)
Opis ekranu logicznego (Logical Screen Description Block): szerokość oraz wysokość ekranu, informacje o globalnej tablicy kolorów, indeks koloru tła, proporcje punktu.
Globalna tablica kolorów (Global Color Table) - blok ten występuje w większości plików GIF lecz nie jest obowiązkowy. Paleta kolorów w nim zdefiniowana jest stosowana do wszystkich obrazów zawartych w zbiorze nie posiadających tablic lokalnych oraz do rozszerzeń tekstowych.
Rozszerzenia aplikacyjne (Application Extension), czyli instrukcje dla konkretnych programów.
Blok rozszerzenia grafiki (Graphic Control Block) - opcjonalny blok z dodatkowymi danymi dla dekodera (m.in. kolor przezroczysty, informacja czy dany obraz posiada własną paletę kolorów, oczekiwanie na reakcję użytkownika, czas opóźnienia, sposób usunięcia aktualnego obrazu)
Opis obrazu (Image Descriptor) zawiera: tablicę danych obrazu (pogrupowane w sekwencyjnie bloki poszczególne punkty obrazu), opcjonalną lokalną tablicę kolorów (Local Color Table), rozmiary obrazu, pozycję obrazu na logicznym ekranie, informacje czy obraz ma być wyświetlany z przeplotem czy linia po linii. Blok ten zawiera etykietę ($2C), która umożliwia zamieszczenie w pliku GIF więcej niż jednego obrazu.
Rozszerzenie tekstowe (Plain Text Extension) - zawiera dane tekstowe oraz parametry konieczne do ich wyświetlenia jako grafiki.
Komentarze (Comment Block) - w pliku GIF można zamieścić dowolne komentarze (na przykład dane autora), które nie będą wyświetlane na ekranie. Najbezpieczniej jest zamieścić ten blok na końcu pliku, gdyż przyspieszy to ładowanie danych.
Blok końcowy (trailer) - znacznik końca pliku (etykieta: 0x3B).
KOMPRESJA FORMATU GIF
Format GIF łączy redukcję kolorów z kompresją. Format GIF korzysta z algorytmu kompresji LZW, którego nazwa pochodzi od inicjałów jego autorów: Lempel, Ziv i Welch. Od roku 1984, kiedy powstała, do dzisiejszego dnia uważana jest za jedną z najbardziej efektywnych metod kompresji. Działanie tego algorytmu polega na wyszukiwaniu w obrazie sekwencji pikseli, które stanowią powtarzający się schemat będący informacją nadmiarową (na przykład ciąg punktów o tym samym kolorze). Sekwencje te są zastępowane odpowiednimi kodami liczbowymi umieszczonymi w tablicy. Im wiecej takich powtarzających się sekwencji, tym lepszy uzyskujemy efekt kompresji, dzięki czemu rozmiar pliku jest mniejszy. LZW należy do bezstratnych metod kompresji (lossless compression mechanisms), które nie powodują utraty danych. Po dekompresji pliku spakowanego tą metodą uzyskamy obraz identyczny z oryginałem. Stopień kompresji LZW w połączeniu z redukcją kolorów wynosi od 20 do 80 procent, w zależności od rodzaju i wielkości grafiki.
Czym jest GIF ? |
|
Ilość kodowanych kolorów |
Maksymalnie 256 barw. Piksele są zapisywane przy użyciu najmniejszej koniecznej liczby bitów: 256 barw - 8 bitów, 2 barwy - 1 bit. |
Kompresja |
LZW - bezstratna |
Zastosowanie |
|
Uwagi: |
Obraz zawierający więcej niż 256 barw jest przybliżany zbiorem 256 barw przed kodowaniem GIF. |
FORMAT GRAFICZNY TIFF
TIFF - (Tagged Image Format - znacznikowy format pliku obrazowego)
Kodowany kolor |
Obraz 2-kolorowy, indeksowana paleta kolorów, pełnokolorowy RGB lub CMYK, YCbCr (model oparty na systemie telewizji kolorowej), CIE La*b* |
Kompresja |
Bez kompresji (mimo to format stosunkowo wydajny) lub bezstratna kompresja LZW. |
Zastosowanie |
Najpopularniejszy format obrazów skanowanych przeznaczonych do druku oraz do prac DTP (Desktop Publishing - skład i montaż komputerowy). |
Uwagi |
|
FORMAT GRAFICZNY PNG
PNG PNG - Portable Network Graphics został opracowany przez zespół IETF pod kierunkiem Toma Boutella w odpowiedzi na zaostrzenie zasad używania formatu GIF. W przeciwieństwie do GIFa nie używa zastrzeżonych algorytmów (do kompresji używa RLE zamiast LZW ), jego używanie jest (i będzie) wobec tego bezpłatne, a co ważniejsze wszyscy mają jednakowy dostęp do pełnej jego specyfikacji. Jest rastrowym (bitmapowym), bezstratnym formatem graficznym przeznaczonym do wykorzystania w sieci WWW. Pozwala na sekwencyjne wyświetlanie/zapisywanie. Posiada zmienną paletę kolorów: od 1 do 8 bitów w wypadku palety 256 kolorowej do 8 i 16 bitów na każdy z kanałów RGB (czyli 48 bitów --- Truecolor), lub 16 bitów szarości z możliwością maskowania kolorów (do ośmiu przeźroczystych --- GIF jeden).
Nadaje się tak do składowania i wyświetlania fotografii jak i prosty, jednokolorowych obrazów. (czyli będzie w stanie zastąpić tak JPEG jak i GIFa. Wadą jest brak pełnego wsparcia przez dostępne oprogramowanie (choć wersje 4.x.x. Navigatora i Internet Explorera już samodzielnie go obsługują) i nie ukończony proces standaryzacji.
PNG oferuje nieco większe możliwości niż GIF. Jest między innymi jedynym wieloplatformowym formatem bitmapowym, w którym istnieje możliwość zdefiniowania stopnia przezroczystości - tzw. kanału alpha (GIF pozwala na ustawienie przezroczystości dla jednego koloru obrazka). Zapewnia także lepszy stopień kompresji (pliki są od 10 do 30% mniejsze niż GIF-y). Nie pozwala jednak na przechowywanie wielu obrazków w pojedynczym pliku, stąd nie może służyć do tworzenia animacji.
MACROMEDIA FLASH
Macromedia Flash to technologia firmy Macromedia pozwalająca tworzyć interaktywne, multimedialne, bazujące na grafice wektorowej witryny WWW. Wprowadza własny format danych, do odczytania którego niezbędne jest wyposażenie przeglądarki we wtyczkę Flash. W przeciwieństwie do tradycyjnej grafiki opierającej się na zapamiętywaniu koloru i położenia pojedynczych pikseli, wykorzystana we Flashu grafika wektorowa używa do konstrukcji obrazów formuł matematycznych. Podstawowymi zaletami takiego opisu obiektów graficznych są:
stała jakość obrazu niezależnie od tego, w jakiej skali zostanie on wyświetlony
mniejsza w porównaniu ze standardowymi formatami (JPEG, GIF, BMP) wielkość plików (zarówno w przypadku statycznych obrazów jak animacji). Poważna prezentacja zajmuje kilkadziesiąt do kilkuset kilobajtów.
większa kontrola na wyglądem i położeniem obiektów rysunku
Za sprawą Flasha w oknie przeglądarki WWW można uzyskać efekty typowe dla multimedialnych prezentacji: pełną animację (ruch, skalowanie, morfing, zmiany kolorów), dźwięk oraz interaktywność. Obecnie dziedziny zastosowań Flasha obejmują interaktywne interfejsy użytkownika na stronach WWW oraz animacje. Z kolei prezentacje wymagające większego stopnia interakcji (np. gry lub złożone aplikacje) tworzone są w bliźniaczej technice Macromedia Shockwave. Wtyczka Flash stanowi standardowe wyposażenie przeglądarek Netscape Navigator oraz Internet Explorer w wersjach 4.0 i wyższych.
MACROMEDIA DIRECTOR
Macromedia Shockwave to także technologia firmy Macromedia pozwalająca tworzyć interaktywne, multimedialne, bazujące na grafice wektorowej witryny WWW oraz przede wszystkim prezentacje multimedialne. Integruje się ona
z przeglądarką w sposób niewidoczny dla użytkownika; gdy na stronie umieszczone jest odwołanie do pliku Shockwave, wtyczka generuje i wyświetla opisane w nim obiekty.
Obecnie najczęstszą dziedziną zastosowań Shockwave na stronach WWW są animowane i "udźwiękowione" interfejsy użytkownika. Sporadycznie można zetknąć się z pierwszymi interaktywnymi bannerami opartymi o Shockwave. Cała prezentacja nie musi być liniowa (jak zwykła animacja); kolejność scen można uzależnić od działań użytkownika. Obiekty oraz reakcje na działania użytkownika dają się w szerokim zakresie kontrolować za sprawą specjalnego języka programowania Lingo, jaki wbudowany jest w edytor Shockwave. Możliwe jest więc podejmowanie projektów wymagających większego stopnia interakcji - skomplikowanych gier lub złożonych aplikacji.
Do tworzenia zawartości Shockwave służy program Macromedia Director. Termin Shockwave odnosił się jednak początkowo do grupy wtyczek używanych do oglądania plików tworzonych w innych produktach firmy Macromedia (m.in. Freehand oraz Authorware). Natomiast sam Director przez długi czas służył do tworzenia prezentacji na płytach CD-ROM. W wersji 6.0 wprowadzona została do programu możliwość zachowywania plików w formacie Shockwave. Obecnie Shockwave pozwala na osadzanie w prezentacjach również zawartości stworzonej w bliźniaczej technice Flash (jednak Flash nie może przyjmować obiektów Shockwave). Nowe odtwarzacze Shockwave obsługują również mechanizm strumieniowego przesyłania danych, co oznacza, że użytkownicy nie będą już musieli oczekiwać na załadowanie całego pliku z prezentacją. Po pobraniu pierwszych kilobajtów danych na ekranie można będzie obserwować pierwsze efekty, podczas gdy reszta zawartości przyjmowana będzie w tle.