You are on page 1of 88

Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 1

Spis treści

WSTĘP 02

1 PODSTAWOWE ZAGADNIENIA I PODZIAŁ GRAFIKI KOMPUTEROWEJ 04

1.1 SZEŚCIAN KOLORÓW RGB 04


1.2 GRAFIKA RASTROWA 06
1.3 GRAFIKA WEKTOROWA 09

2 ANALIZA FORMATÓW PLIKÓW GRAFICZNYCH 15

2.1 FORMATY PLIKÓW GRAFICZNYCH 15


2.2 ANALIZA PLIKÓW GRAFICZNYCH 26
2.2.1 ANALIZA POD WZGLĘDEM ZRÓZNICOWANIA PALETY BARW 26
2.2.2 ANALIZA POD WZGLĘDEM CHARAKTERYSTYKI OBIEKTU 52

3 ANALIZA SYSTEMOWA FORMATÓW PLIKÓW WIDEO

3.1 FORMATY PLIKÓW WIDEO 57


3.2 ANALIZA PLIKÓW WIDEO 66

4. BADANIE ALGORYTMÓW STRATNYCH KOMPRESJI 71

4.1 DYSKRETNA TRANSFORMATA KOSINUSOWA 71


4.2 ALGORYTM FALKI 73
4.3 FALKI HAARA 74
4.4 KOMPRESJA FRAKTALNA 75

5 PROJEKTOWANIE SYSTEMU WERYFIKACJI ALGORYTMÓW KOMPRESJI STRATNYCH 77

5.1 WYBÓR ODPOWIEDNICH NARZĘDZI PROGRAMOWANIA 77


5.2 PRAKTYCZNE ZASTOSOWANIE ALGORYTMÓW 78

PODSUMOWANIE 82

LITERATURA 83

SPIS TABEL I ILUSTRACJI 84

ZAŁĄCZNIKI 88
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 2

WSTĘP

Tematem pracy magisterskiej jest: „Badanie algorytmów stratnych


kompresji obrazów graficznych”. Jednak ażeby dokładniej zrozumieć samo
pojęcie kompresji i stosowania odpowiednich algorytmów należy zapoznać
się również z podstawowymi pojęciami z zakresu grafiki komputerowej i teorii
obrazu wideo.

Kompresja danych polega na zmianie formy zapisu informacji w sposób,


który pozwala zmniejszyć objętość danego zbioru. Gwarantując jednocześnie
zachowanie jego pierwotnej struktury i niezmienność zawartych w nim
informacji. Innymi słowy, chodzi o wyrażenie danego zestawu informacji,
lecz przy pomocy mniejszej liczby bitów.

Kompresję dzielimy na bezstratną, która z postaci skompresowanej


umożliwia odzyskanie informacji identycznej z pierwotną oraz stratną, w której
nie jest to możliwe, aczkolwiek przy jednoczesnym zachowaniu głównych
właściwości, w których nie występują widoczne różnice względem oryginału.
Mogą jednak pojawić się trudności powstałe na skutek modyfikacji, które
eliminują zbiór pod względem dalszego wykorzystania, przynajmniej w ściśle
określonych zadaniach.

Algorytmy kompresji dzielimy na algorytmy o zastosowaniu ogólnym oraz


z przeznaczeniem do konkretnego typu danych. Z definicji nie istnieją jednak
algorytmy zastosowania ogólnego. Dane różnego typu wymagają bowiem
zachowania innych właściwości i dla przykładu kompresja dźwięku używa
określonego modelu psychoakustycznego, którego zastosowanie w przypadku
obrazów graficznych nie miałoby najmniejszego sensu.

Większość algorytmów kompresji bezstratnej to algorytmy zastosowania


ogólnego, które dzięki drobnym modyfikacjom, potrafią działać dużo sprawniej
z określonym typem danych.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 3

Algorytmy kompresji stratnych bardzo często w ostatniej fazie używają


kompresji bezstratnej. Można więc stwierdzić, iż fazy poprzedzające nie tyle
odpowiedzialne są za samą kompresję a jedynie mają ten proces ostatecznie
ułatwić. Wykorzystują one wybrane modele prawdopodobieństwa a samo
ich działanie generalnie opiera się na dwóch systemach: modelach statycznych
oraz adaptywnych.

Modele statyczne, jeżeli z góry nie są znane, będą przesyłane zawsze


przed właściwymi danymi. Generując w ten sposób wysokie koszty przesłania
takiego modelu, co jednocześnie jest przyczyną zastosowania wyłącznie bardzo
prostych modeli. Jest to głównym powodem rzadkiego stosowania modeli
statycznych. Kompresory wykorzystywane w tych modelach są zwykle o wiele
bardziej złożone od dekompresorów.

Modele adaptywne tworzone są podczas przetwarzania danych.


Kompresory i dekompresory korzystają wówczas z tych samych algorytmów
do nanoszenia zmian na model w miarę napływu danych. Złożoność
kompresorów i dekompresorów w tym przypadku jest bardzo podobna.

W początkowej fazie działania modele adaptywne odbiegają nieco


od systemów optymalnych co można uznać za ich główną wadę. Jednak dzięki
możliwości zastosowania modeli o dowolnej złożoności oraz wykorzystaniu
różnych modeli w przypadku różnych obszarów kompresowanych danych,
czy też brak potrzeby przesyłania modelu sprawiają, że właściwie całkowicie
wyparły one modele statyczne. Niekiedy stosowane są również modele
pośrednie, jak na przykład w algorytmie PNG.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 4

1 PODSTAWOWE ZAGADNIENIA I PODZIAŁ GRAFIKI KOMPUTEROWEJ

1.1 SZEŚCIAN KOLORÓW RGB

Sześcian kolorów RGB jest jednym z modeli przestrzeni barw.


Opisywany przez współrzędne: R (red), G (green), B (blue), od których
pochodzi jego nazwa oraz z których się on składa. Budowa modelu wynika
z właściwości odbiorczych ludzkiego oka, dla którego postrzeganie dowolnej
barwy wywołane jest przez zmieszanie w określonych proporcjach trzech
wybranych wiązek światła o odpowiednio dobranej szerokości widma.

Rys. 1.1 Sześcian kolorów RGB

Model RGB dzięki połączeniu dowolnej kombinacji ilościowej barw


pozwala na uzyskanie bardzo szerokiego zakresu kolorów pochodnych.
Zjawisko to nosi nazwę syntezy addywnej i polega na mieszaniu barw przez
sumowanie promieniowań widzialnych o różnych długościach fal, np. poprzez
połączenie barwy czerwonej i zielonej otrzymamy barwę żółtą.

Rys. 1.2 Synteza addywna mieszania farb


Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 5

Model RGB jest jednak modelem teoretycznym a jego rzeczywiste


odwzorowanie jest zależne wyłącznie od urządzenia. Jest to jednoznaczne
z tym, że w każdym z urządzeń składowe RGB mogą przybierać odmienną
charakterystykę widmową a co za tym idzie, każde z nich może posiadać
własny zakres barw możliwych do uzyskania.

Pierwotnie model RGB znalazł zastosowanie w technice analogowej,


obecnie z powodzeniem stosuje się go również w technologii cyfrowej,
we wszelkiego rodzaju urządzeniach analizujących (skanery, aparaty cyfrowe) oraz
wyświetlających obraz (monitory komputerowe, telewizory, wyświetlacze LCD).

Szerokie zastosowanie model RGB znalazł również w informatyce,


poprzez wykorzystanie w różnego rodzaju programach graficznych
do określania palety barw lub też w plikach html gdzie kolory opisywane
są w systemie pochodnym - heksadecymalnym (system szesnastkowy).

#FFFFFF - kolor biały


#000000 - kolor czarny
#FF0000 - kolor czerwony

Najczęściej stosowany jest 24-bitowy system zapisu kolorów, gdzie


barwy opisywane są poprzez składowe przyjmujące wartości z przedziału
od 0 do 255. Kolor czarny w systemie RGB określany jest jako liczba 0,
natomiast końcowa wartość zakresu jaką jest 255 wyraża kolor biały.
Zdecydowanie rzadziej stosowane są modele, w których na każdą ze składowych
przypada po 12 lub 16 bitów, co pozwala na znacznie większe możliwości podczas
manipulowania kolorem.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 6

1.2 GRAFIKA RASTROWA

Grafika rastrowa jest obrazem w postaci zbioru poziomych i pionowych


linii tworzących siatkę pojedynczych punktów, nazywanych pikselami. Każdy
z pikseli definiowany jest osobno przy użyciu wybranej głębi kolorów.
W przypadku modelu RGB jeden piksel definiowany jest przez trzy bajty: 1 bajt
na kolor czerwony, 1 bajt na kolor zielony i 1 bajt na kolor niebieski.
W przypadku modelu CMYK na każdy piksel będą przypadały aż cztery bajty.

Zapisanie wartości każdego z punktów wymaga użycia dużej ilości danych.


Alternatywnym rozwiązaniem stało się stosowanie obrazów o ograniczonej palecie
barw (np. czarno-białe), które zawierają dużo mniej informacji na piksel lub
też użycie odpowiednich algorytmów stratnych kompresji obrazu.

Rys. 1.3 Głębia kolorów RGB (R 255, G 0, B 0) Rys. 1.4 Głębia kolorów RGB ( R 0, G 0, B 0)

Bitmapę charakteryzuje zbiór następujących właściwości:

ƒ szerokość (width) i wysokość (height) - określająca liczbę pikseli,


ƒ rozdzielczość (resolution) - liczba pikseli na cal,
ƒ model barw (color mode) - Bitmap, Grayscale, RGB, CMYK, Lab,
ƒ liczba bitów na piksel - opisuje liczbę możliwych do uzyskania kolorów.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 7

Rys. 1.5 Charakterystyka bitmapy (rozmiar, rozdzielczość, liczba bitów)

Grafika rastrowa charakteryzuje się tym, że na każdy piksel przypada


od jednego do ośmiu bitów dla danego koloru bazowego, aczkolwiek niektóre
zastosowania wymagają stosowania palety 16 lub 32-bitowej.

Jakość każdego z obrazów rastrowych określana jest poprzez jego


wielkość (całkowitą liczbę pikseli) oraz głębię kolorów (ilość przechowywanych
informacji). Przykładowo obraz zapisujący 16 bitów informacji o kolorze będzie
w stanie pokazać zdecydowanie łagodniejsze cieniowanie oraz przejścia
tonalne od obrazu stosującego zapis jedynie 8 bitów na każdy piksel.

Rys. 1.6 Bitmapa z paletą barwną 8-bitową Rys. 1.7 Bitmapa z paletą barwną 16-bitową

Podobnie grafika o wymiarach 100x100 pikseli (zawiera 10 tys. pikseli)


lub w rozdzielczości 72 ppi będzie wyglądała na nierówną, chropowatą, rozmytą
bądź pozbawioną szczegółów w porównaniu z obrazem o wymiarach 400x400
pikseli (zawiera 160 tys. pikseli) lub o rozdzielczości 300 ppi.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 8

Rys. 1.8 Bitmapa 8-bitowa w rozdzielczości 72 ppi Rys. 1.9 Bitmapa 8-bitowa w rozdzielczości 300 ppi

Tak ogromna ilość danych bez wątpienia zajmuje dużą powierzchnię,


dlatego bardzo często do zapisu grafiki stosuje się różnego rodzaju algorytmy
kompresji celem zmniejszenia zajmowanego miejsca. Bezstratną kompresję
danych umożliwiają np. pliki PNG, TIFF, JPEG 2000. Niektóre techniki polegają
na zmianach lub częściowym usunięciu informacji, ażeby w ten sposób uzyskać
jak najmniejszy rozmiar pliku. Mamy wówczas do czynienia ze stratną metodą
kompresji obrazów. Przykładem takiego zastosowania algorytmów jest format
JPEG a także stratne tryby kompresji TIFF, JPEG 2000, PDF.

Rozmiar grafiki rastrowej nie może być dowolnie zmieniany bez wpływu
na jego jakość, w przeciwieństwie do grafiki wektorowej, którą można dowolnie
skalować, dostosowując jej rozmiar do urządzenia, na którym wyświetlany jest
obraz. Grafika rastrowa w porównaniu do wektorowej jest bardziej użyteczna
pod względem obróbki i zapisu zdjęć czy też obrazów foto-realistycznych.
Grafika wektorowa natomiast dużo większe zastosowanie znalazła przy
tworzeniu obrazów składających się z figur geometrycznych oraz wszelkiego
rodzaju prezentacjach zawierających tekst, tabele, wykresy i wzory.

Obecnie większość monitorów komputerowych wyświetla obraz


w rozdzielczości od 72 do 130 ppi (pikseli na cal), podczas gdy urządzenia
drukujące są w stanie wykorzystywać materiały w dużo wyższej rozdzielczości,
nawet rzędu 4800 dpi (punktów na cal). Ustalenie zatem odpowiedniej
rozdzielczości drukarki względem monitora może być niezwykle trudne,
ze względu na fakt, iż drukowany dokument zawierał będzie większą liczbę detali
w porównaniu z tym, jaki zostanie wyświetlony na ekranie monitora. Grafikę
rastrową opatentowana firma Texas Instruments na początku lat 70-tych.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 9

1.3 GRAFIKA WEKTOROWA

Grafika wektorowa zwana również „obiektową” przedstawiana jest


za pomocą podstawowych elementów czyli prymitywów a także poprzez proste
figury geometryczne złożone z odcinków, krzywych, wielokątów czy okręgów.
Prymitywy zwane również elementami podstawowymi opisywane są przy
pomocy następujących parametrów: współrzędne końców odcinka, środka
i długości promienia okręgu, bądź długości i liczby boków lub ramion wielokąta.
Obiekty posiadają szereg określonych atrybutów takich jak: grubość i kolor linii,
rodzaj wypełnienia figury czy stopień użytej przezroczystości. Właściwości
atrybutów zależne są głównie od standardu stosowanego do opisu grafiki
wektorowej czyli również od programu stosowanego do jej tworzenia.

Rys. 1.10 Adobe Illustrator (grafika wektorowa) Rys. 1.11 Adobe Photoshop (grafika rastrowa)

Zmiana rozmiaru obrazów rastrowych wpływa w sposób widoczny na ich


jakość. Powiększanie grafiki wraz ze wzrostem nasilenia będzie powodowało
uwidocznienie zniekształceń, rozmycia krawędzi czy też pojawianie się pikseli.
Podczas gdy obraz wektorowy będzie w dalszym ciągu zachowywał swoje
wszystkie właściwości względem oryginału.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 10

Rys. 1.12 Grafika wektorowa (powiększenie obiektu) Rys. 1.13 Grafika rastrowa (powiększenie obiektu)

Grafika wektorowa w przeciwieństwie do rastrowej jest w pełni skalowalna.


Oznacza to, iż obiekty z których się ona składa mogą bez wpływu na utratę
jakości przyjmować dowolne rozmiary, kształty a także proporcje. Uzasadnieniem
w tym przypadku jest sposób matematycznego opisu elementów, przez co sam
obraz posiada zdolność wyświetlania w maksymalnej rozdzielczości dostępnej
dla ekranu monitora. Jakość samego obrazu jest uzależniona wyłącznie
od szczegółowego opisu danego obiektu przy pomocy prymitywów.

W przypadku zastosowania grafiki rastrowej zmiana właściwości położenia


danego obiektu względem jego środka w znacznym stopniu może go zniekształcić.
Tym bardziej jeśli wykonywany obrót nie jest wielokrotnością kąta prostego.
Większość edytorów grafiki wektorowej pozwala na wprowadzanie istotnych
zmian właściwości atrybutów i parametrów (przesunięcie, obrót, pochylenie,
rozciąganie, odbicie lustrzane ), nie tylko samych prymitywów ale również całych
obiektów. Wspomniane efekty można również zaobserwować podczas pracy
z niektórymi programami do obróbki grafiki rastrowej. Doskonałym przykładem
jest program Adobe Photoshop, który łączy zarówno elementy grafiki rastrowej
jak i obiektów wektorowych, korzystając z funkcji „pamięci” pierwotnego obrazu
i wykonywanych na nim operacji.

Rys. 1.14 Grafika wektorowa (obrót obiektu) Rys. 1.15 Grafika rastrowa (obrót obiektu)
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 11

Obrazy wektorowe w bardzo prosty sposób można przekształcać w ich


odpowiedniki o postaci rastrowej. W tym celu wystarczy przy zapisie podać kilka
podstawowych funkcji obrazu, takich jak: rozdzielczość, wybór palety barwnej
oraz format pliku. Większość urządzeń tak naprawdę korzysta wyłącznie stosując
grafikę rastrową, wyjątkiem może być jednak ploter tnący, dla którego nie istnieje
inny sposób przedstawienia informacji niż w postaci zapisu wektorowego.

Rys. 1.17 Corel Draw (eksport do bitmapy)

Rys. 1.16 Adobe Illustrator (eksport do bitmapy)

Rys. 1.18 Adobe Flash (eksport do bitmapy)

Konwersja w przeciwną stronę czyli tzw. wektoryzacja lub trasowanie jest


procesem bardzo trudnym i często zamierzony efekt nie jest współmierny
z oczekiwaniami. Proces ten polega przede wszystkim na wyszukiwaniu
krawędzi danego obiektu, na badaniu zmian podstawowych parametrów obrazu
(kontrast, barwa, nasycenie) a następnie zapisaniu go w postaci wektorowej.
Sposób działania tej metody opiera się na stosowaniu technik z dziedziny
sztucznej inteligencji. Wektoryzacja pozwala na pominięcie z obrazu elementów
zbędnych i bezużytecznych, co znalazło szerokie zastosowanie np. w grafice
ściśle wykorzystania technicznego.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 12

Rys. 1.19 Adobe Illustrator (trasowanie) Rys. 1.20 Corel Draw (trasowanie)

Rys. 1.21 Adobe Flash (trasowanie)

Zalety stosowania grafiki wektorowej:

ƒ skalowanie, uproszczony sposób opisu, możliwość dowolnej


modyfikacji parametrów i atrybutów obrazu,
ƒ niewielki rozmiar w porównaniu z grafiką rastrową,
ƒ trójwymiarowy opis przestrzeni oraz obiektów,
ƒ zgodność z urządzeniami stosującymi opisy wektorowe, np. ploter,
ƒ prosta konwersja do grafiki rastrowej.

Wady stosowania grafiki wektorowej:

ƒ duża złożoność pamięciowa w użyciu obiektami fotorealistycznymi,


ƒ nieopłacalność obliczeniowa podczas wektoryzacji skomplikowanych
obrazów rastrowych.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 13

Zastosowanie grafiki wektorowej ma sens wówczas gdy należy stworzyć


prostą grafikę zawierającą niewielką ilością szczegółów. Nie służy ona natomiast
do odzwierciedlania fotorealizmu, występującego w obrazach rastrowych.

Przykłady właściwego zastosowania grafiki wektorowej:

ƒ dokumentacje techniczne i naukowe


ƒ plany oraz mapy kartograficzne
ƒ logotypy, godła, herby, flagi, znaki drogowe
ƒ rodzaj twórczości artystycznej (komiksy)

Wykorzystanie grafiki wektorowej ma szersze zastosowanie, niż mogłoby


się powszechnie uważać. Jest ona wszechobecna w szeroko stosowanym
pojęciu informatyki oraz samej pracy z wykorzystaniem komputera. Stosowana
jest w fontach komputerowych do opisu czcionek. Znajduje również
zastosowanie w grach komputerowych oraz wideo, gdzie wykorzystywana jest
do opisu obiektów grafiki trójwymiarowej. Przestrzeń 3D wraz z opisami,
przekształceniami i geometrią opisywane są za pomocą grafiki wektorowej,
natomiast sam wygląd obiektów prezentowany jest za pomocą tekstur, czyli
z wykorzystaniem grafiki rastrowej.

Bardzo dużo programów posiada wewnętrzne formaty eksportu czy też


zapisu do postaci wektorowej. Brak jest jednak formatu szerszego
zastosowania, jak ma to miejsce w przypadku grafik rastrowych. W chwili
obecnej najbardziej popularne formaty to AI, EPS oraz PDF. Coraz większą
popularność zdobywa również format SVG oparty ma języku XML. Uważa się,
iż jest on przyszłościowy, dzięki wykorzystaniu opisu języka skryptowego. Jest
jednak formatem dość nowatorski i jeszcze nie znalazł wsparcia od strony
chociażby przeglądarek Internetowych, które wymagają póki co pobrania
specjalnych dodatków, które umożliwiają wyświetlanie obiektów SVG.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 14

Podobne właściwości prezentuje format SWF, który jest już dostępny


od wielu lat. Również wykorzystuje on w swym zapisie rodzaj języka skryptowego
zwanego ActionScript’em. Uważa się go jednak za format zamknięty środowiska
Adobe (wcześniej Macromedia).

Zależnie od stosowanego programu a także formatu zapisu grafiki


wektorowej można scharakteryzować różnice i podobieństwa występujące
pomiędzy nimi. Poniżej zamieszczone zostały główne cechy znane z wykorzy-
stania w tego typu programach:

ƒ występowanie figur elementarnych: okrąg, prostokąt, wielokąt foremny


i gwiaździsty, łuk, spirala, krzywe Béziera,
ƒ podstawowe atrybuty takie jak: grubość, styl i kolor linii/krawędzi
obiektu, rodzaj wypełnienia, zaokrąglenia rogów, konwersja figur
elementarnych na krzywe,
ƒ operacje boolowskie na obiektach (przycinanie, łączenie, część wspólna)
oraz grupowanie i scalanie obiektów,
ƒ import lub wstawianie obrazów rastrowych z możliwością dalszego
przekształcania całości,
ƒ import grafiki wektorowej oraz wektoryzacja obiektów rastrowych,
ƒ technologia podobna masek w grafice rastrowej,
ƒ linie pomocnicze (prowadnice) oraz siatka, pomagające w dokładnym
rozmieszczeniu obiektów,
ƒ podział i rozmieszczenie elementów obrazu na warstwach.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 15

2 ANALIZA FORMATÓW PLIKÓW GRAFICZNYCH

2.1 FORMATY PLIKÓW GRAFICZNYCH

Pliki graficzne dzielimy pod wyglądem rodzaju przechowywanych


informacji na grafikę rastrową oraz wektorową. W wyniku dalszej klasyfikacji
otrzymujemy podział na grafikę stosującą w swym zapisie algorytmy kompresji
stratnych, bezstratnych lub nie stosującą kompresji. Głównym jednak obiektem
moich badań, z uwagi na charakterystykę i temat pracy magisterskiej, będą pliki
graficzne, w których zapisie stosuje się rodzaj kompresji stratnej.

Formaty plików graficznych stosujące przy zapisie kompresję stratną:

ƒ Joint Photographic Experts Group (JPEG)


ƒ Joint Photographic Experts Group 2000 (JPEG 2000)
ƒ Tagged Image File Format (TIFF)
ƒ JPEG Network Graphics (JNG)
ƒ Multiple-Image Network Graphics (MNG)
ƒ Animated Portable Network Graphics (APNG)
ƒ Joint Bi-level Image experts Group (JBIG)
ƒ Windows Metafile Format (WMF)

ƒ Shockwave Flash (SWF)


ƒ Scalable Vector Graphics (SVG)
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 16

Joint Photographic Experts Group (JPEG)

Format pliku o rozszerzeniu "jpg" lub "jpeg". Wyznacza obecne standardy


kompresji obrazów statycznych. Głównym jego przeznaczeniem jest przetwarzanie
obrazów fotorealistycznych (zdjęcia satelitarne, portrety, pejzaże), które
charakteryzują się płynnymi przejściami tonacji barwnych oraz brakiem lub
niewielką ilością występowania ostrych krawędzi a także drobnych detali.

Motywacją do stworzenia standardu JPG była próba ujednolicenia


algorytmów kompresji zarówno obrazów kolorowych jak i monochromatycznych.
Tuż obok formatów: GIF i PNG jest to obecnie najczęściej występujący format
grafiki rastrowej na stronach WWW oraz szerszego ogólnego zastosowania.
W kwietniu 1983r. rozpoczęły się prace nad standardem JPG a niespełna trzy
lata później utworzono specjalny zespół o nazwie: Połączona Grupa Ekspertów
Fotograficznych (ang. Joint Photographic Experts Group) jednoczący wysiłki
różnych niezależnych grup badawczych.

W 1991 roku opublikowano nowy standard, który definiował podstawowy -


sekwencyjny tryb kompresji stratnej w oparciu o wykorzystanie DCT (dyskretna
transformata kosinusoidalna) wraz z jego rozszerzeniami:

ƒ tryb progresywny - swoje działanie opiera na DCT, wykorzystywany


jest głównie do wyświetlania grafiki w momencie przesyłania danych,
oferując efekt płynnego wyostrzenia obrazu, co szczególnie jest
widoczne podczas użycia szybkiego dekompresowa i wolnego
transferu przesyłanych informacji. Zyskał popularność wraz
z rozwojem Internetu.

ƒ tryb hierarchiczny - definiuje formę zapisu pliku obrazu jako sekwencję


kadrów o zmiennych rozdzielczościach. Kodowanie kolejnych kadrów
oparte jest na wzajemnych różnicach występujących pomiędzy nimi,
co eliminuje zapis oddzielnych obrazów i pozwala zmniejszyć rozmiar
docelowego pliku. Pozwala na użycie wielu metod kompresji.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 17

Opisane metody umożliwiają uzyskanie bardzo dużego stopnia


kompresji, nawet rzędu 20:1 co oczywiście jest jednoznaczne z pewną utratą
szczegółów, natomiast na ogół nie jest to niezauważalne. JPEG mimo iż był
standardem opublikowanym w dalszym ciągu nie wskazywał szczegółowych
implementacji algorytmów kompresji. Powstało w związku z tym wiele wersji
komercyjnie rozbudowanych, częściowo opatentowanych ale także i na innych
licencjach. Do najbardziej wyróżniających się zaliczmy:

ƒ Independent JPEG Group (IJG)


ƒ JPEG File Interchange Format (JFIF)
ƒ Still Picture Interchange File Format (SPIFF)

W 1995 roku opublikowano kolejną - trzecią część standardu, która


zawierała coraz to nowsze rozszerzenia, zadaniem których była przede
wszystkim poprawa jakości obrazu przy zachowaniu tego samego stopnia
kompresji. Nowe funkcje rozszerzono w następujący sposób:

ƒ zmienna kwantyzacja - rozpoznaje różne stopnie poziomów


szczegółowości danej części obrazu,
ƒ wybiórcza poprawa jakości - łączy działanie progresywnej metody
dekompresji wraz z możliwością podjęcia jej z kadru o wyższej
rozdzielczości, wyłącznie dla fragmentów obrazu przedstawiających
największą liczbę szczegółów,
ƒ podział na kafelki - pozwala na indywidualny dobór wszystkich
niezbędnych funkcji, jakie znajdują zastosowanie w obrazach
graficznych. Począwszy od podziału obrazu na dowolne kawałki
o różnorodnych rozmiarach, poprzez różny stopień rozdzielczości
bądź kompresji a na paletach barwnych skończywszy.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 18

W odpowiedzi na krytykę pod względem istotnych braków


w standardzie, dotyczących metod kompresji bezstratnej, rozpoczęto prace
nad kolejną fazą rozszerzeń. Mając na uwadze różnego rodzaju algorytmy
jako odpowiedni okazał się do tego zadania sekwencyjny algorytm LOCO-I
opracowany w 1996 roku przez firmę HP Labs. Nowy standard opublikowano
w 1999 roku z metodą kompresji o nazwie JPEG-LS. Umożliwia stopień
kompresji rzędu 2:1, co prawdopodobnie przyczyniło się to tego, iż standard
ten nie znalazł powszechnego zastosowania.

Format JPEG wykorzystuje do zapisu algorytmy kompresji stratnej,


co jest jednoznaczne z tym, iż w czasie wykonywania tej operacji bezpowrotnie
tracona jest część informacji. Algorytm przebiega w następujący sposób:

ƒ obraz poddany jest konwersji z kanałów RGB na luminancję (jasność)


oraz dwa kanały barwy zwane chrominancją, co wynika z chara-
kterystyki dokładniejszego postrzegania różnic jasności względem
zmian palety barwnej, co wymusza stosowanie różnych para-
metrów kompresji,
ƒ proces wstępnego odrzucenia części pikseli kanałów barwy, które
nie są dla ludzkiego oka, pod względem percepcji dostrzegania, tak
istotne jak właściwa jasność obiektu. Proces ten jest opcjonalny, gdyż
to użytkownik może zdecydować o stopniu redukcji na poziomie
2:1, 4:1 lub bez jej stosowania,
ƒ podział kanałów na bloki w proporcjach 8x8, co w przypadku
charakterystyki kanałów kolorów przekłada się na większe bloki
16x8 aktualnych danych,
ƒ wykonywanie DCT na blokach, przez co zamiast wartości chara-
kterystycznych dla pikseli możemy dostrzec średnią wartość oraz
częstotliwość zmian wewnątrz bloków, co wyrażone jest przez liczby
zmiennoprzecinkowe. Na tym etapie proces jest odwracalny.
ƒ poprawa współczynnika kompresji poprzez zastąpienie średnich
wartości bloków różnicami względem poprzednich wartości,
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 19

ƒ proces kwantyzacji (zastąpienia) danych zmiennoprzecinkowych przez


liczby całkowite. W tym procesie występują największe straty danych,
ƒ zygzakowate uporządkowanie współczynników DCT, co ma związek
z położeniem 0 w taki sposób ażeby leżały obok siebie,
ƒ kompresja współczynników niezerowych przez zastosowanie algorytmu
Huffmana gdzie dla ciągów zer stosowne są specjalne kody.

Transformata DCT może powodować efekty blokowe, które występują


w przypadku dużego stopnia kompresji. Algorytm JPEG był na swój sposób
innowacyjny, ponieważ jako jedyny oferował możliwość

Użyta transformata powoduje efekty blokowe w przypadku mocno


skompresowanych obrazków. Wielką innowacją zastosowania algorytmu JPEG
była kontrola stopnia kompresji podczas wykonywania pliku. Umożliwiało to wybór
stopnia kompresji obrazu przy jednoczesnej jego wizualizacji, która umożliwiała
ocenę jego jakości.

Joint Photographic Experts Group 2000 (JPEG 2000)

Format pliku o rozszerzeniu "jp2". Wywodzi się z formatu JPG i powstał


w procesie jego doskonalenia. W przeciwieństwie do swojego poprzednika
korzysta z transformaty DWT (dyskretna transformata Falkowa), która analizuje
obraz i dzieli go na wysokie lub niskie częstotliwości. Obszary występowania
niskich częstotliwości dzielone są dalej w taki sam sposób. Powstała w ten
sposób próbki dzielone są na bloki, które w następnym etapie są kwantowane i
kodowane niezależnie od siebie. Stopień kompresji regulowany jest przez
wybiórcze wysyłanie bloków bądź też przy użyciu zmiennej kwantyzacji.

Zaletą stosowania formatu JPEG 2000 jest znacznie lepsza jakość


w porównaniu do swojego poprzednika oraz możliwość zapisu z kompresją
bezstratną co sprawia, iż jest on formatem bardzo konkurencyjnym względem
chociażby dotychczasowego zapisu PNG. Kolejną zaletą jest skalowalność,
polegająca na stopniowej poprawie jakości w miarę pobierania danych pliku,
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 20

co często wykorzystywane jest w transmisjach Internetowych. Mimo znacznie


lepszych właściwości format JPEG 2000 nie zastąpił formatu JPG ze względu
na bardzo dużą złożoność obliczeniową jaką wykorzystuje

Deja Vu (DjVu)

Format pliku o rozszerzeniu "djvu" lub „djv”. Reprezentuje niezwykle


nowatorską i zarazem wysoce efektywną metodę kompresji obrazów,
opracowaną przez amerykański koncern AT&T z docelowym przeznaczeniem
do kompresji skanowanych dokumentów. Dalsze implementacje do projektu
wprowadzili naukowcy z firmy LizardTech Inc. tworząc program o nazwie
Document Express w wersji Profesjonal i Enterprise.

Założeniem twórców formatu DjVu było stworzenie pliku, który posiadałby


zdolnośc do przechowywania zeskanowanego teksu i grafiki w formie cyfrowej.
Kluczowym elementem rozwoju stała sie zależność pomiędzy koniecznością
uzyskania pliku o bardzo dobrej jakości przy jednoczesnym zachowaniu
niewielkich rozmiarów. Moduł generowania dokumentów w formie elektronicznej
czyni format DjVu jeszcze bardziej konkurencyjnym względem chociażby
wysłużonego już standardu PDF, który być może już niedługo będzie musiał
ustąpić swojemu następcy w tej dziedzinie.

Algorytm stosowany w DjVu opiera sie o najbardziej zaawansowaną


metodę segmentacji obrazu, która trzeba przypomnieć, iż cały czas jest
nieustannie rozwijana. Poszczególne fazy powstawania pliku DjVu
prezentowane są poniżej:

ƒ obraz dzielony jest na odrębne warstwy z zastosowaniem


optymalizacji w fazie pierwszej oraz kompresji w drugiej,
ƒ stosowane warstwy: tło obrazu (do 120 dpi), czarnobiała warstwa
tekstu (do 300 dpi), warstwa koloru nakłada na tekst (do 30 dpi),
informacyjna warstwa tekstu oparta o metodę OCR, która umożliwia
przeszukiwanie dokumentu, co ma bardzo duże znaczenie w tego
typu formatach.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 21

Zalety stosowania formatu DjVu:

ƒ progresywna metoda wyświetlania pliku, która znajduje szerokie


zastosowanie w transmisji Internetowej,
ƒ dobra jakość obrazu przy względnie niewielkim rozmiarze w porównaniu
do formatów: JPG (od 5 do 20 razy mniejszy), PDF (od 2 do 8 razy
mniejszy) oraz BMP lub TIFF (plik nawet 1000-krotnie mniejszy).

Tagged Image File Format (TIFF)

Format pliku o rozszerzeniu "tif" lub "tiff". Standard grafiki rastrowej


opracowany w 1986 roku przez kilka niezależnych firm (w tym również Hewlett-
Packard i Microsoft) pod ogólnym przewodnictwem Aldus Corporation.

Stosowany głównie do drukowania postscriptowego jako jeden


z podstawowych formatów DTP. Pomocniczo używany jest również w grafice
trójwymiarowej oraz obrazowaniu medycznym. Pozwala zapisywać obrazy
stworzone w trybie kreskowym, monochromatycznym lub kolorowym
o zróżnicowanej głębi bitowej. Posiada zdolność przechowywania ścieżek,
kanału alfa i profili kolorów wraz z tekstowymi komentarzami. Format TIFF
umożliwia zapis plików z użyciem kompresji bezstratnej LZW oraz stratnych
trybów: ZIP oraz JPEG.

JPEG Network Graphics (JNG)

Format pliku o rozszerzeniu "jng". Powstał jako połączenie dwóch


formatów: JPEG i PNG stosując przy zapisie właśnie takie algorytmy kompresji.
Przy zapisie fotografii stosowany jest algorytm JPEG, dzięki wysokiemu
współczynnikowi kompresji, do pozostałych (tekst, wykresy, schematy) używany
jest PNG. Kanał przezroczystości może bazować na obu algorytmach.

Standard JNG z pewnością mógłby znaleźć szerokie zastosowanie,


na stronach internetowych, jednak nie zyskał wsparcia ani od strony przeglą-
darek WWW, ani tym bardziej programów do edycji tego formatu.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 22

Multiple - Image Network Graphics (MNG)

Format pliku o rozszerzeniu "mng". Pochodzenia od standardu PNG,


umożliwiając dodatkowo zapis animacji poprzez umieszczenie w jednym pliku
sekwencji kilku obrazów. W przeciwieństwie jednak do formatu jakim jest GIF
umożliwia on zapis powyżej 256 kolorów.

Animated Portable Network Graphics (APNG)

Format pliku o rozszerzeniu "png" lub "apng". Posiada pełną zgodność


ze standardem PNG, który w tym przypadku został podobnie jak format MNG
uzupełniony o możliwość tworzenia animacji. Specyfikacja formatu APNG
powstała na początku 2004 roku, niedługo po tym zyskała wsparcie ze strony
przeglądarek Internetowych: Mozilla Firefox 3.0 oraz Opera 9.5. Dnia 20
kwietnia 2007 roku grupa ekspertów PNG oficjalnie odrzuciła projekt APNG jako
rozszerzenie standardu PNG.

Joint Bi-level Image experts Group (JBIG)

Format pliku o rozszerzeniu "jbg" lub "jbig". Standard kompresji danych


jednobitowych (dwukolorowych) ale także obrazów monochromatycznych
i kolorowych. Główną zaletą formatu są duże możliwości implementacyjne, co
pozwala na tworzenie aplikacji, które mogą wykorzystywać wspólną bazę
danych na następujących zasadach:

ƒ efektywne udostępnianie informacji graficznych na temat rozdzielczości


dostosowanej do możliwości danego urządzenia wyjściowego,
ƒ efektywne udostępnianie obrazów na potrzeby aplikacji przez
stosowanych przez łącza telekomunikacyjne o niskiej i średniej
przepustowości.

JBIG nie jest formatem, który zyskał popularność jednakże z jego


algorytmów korzystają również inne typy plików, również te zastosowania
ogólnego jak choćby DjVu czy LDF.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 23

Windows Metafile Format (WMF)

Format pliku o rozszerzeniu "wmf". Stosowany głównie w systemach


Windows. Zawiera instrukcje dla systemu operacyjnego na temat prawidłowego
wyświetlania zarówno grafiki wektorowej jak i rastrowej. Pliki WMF zajmują
zdecydowanie mniej miejsca niż ich odpowiedniki w formie bitmapy.

Shockwave Flash (SWF)

Format pliku o rozszerzeniu "swf". Zamknięty standard środowiska


Adobe (dawniej Macromedia), który powstał z myślą o tworzeniu niewielkich
animacji lub aplikacji interaktywnych o rozmiarach pozwalających na umie-
szczanie ich w Internecie.

Jest to obecnie dominujący format zapisu animacji wektorowych,


zdecydowanie przewyższający nawet otwarty standard W3C - SVG. Pliki SWF
są na tyle uniwersalne, że mogą zawierać nie tylko animacje i proste grafiki
wektorowe, to potężne narzędzie pozwalające na tworzenie całych stron
internetowych a także animacji wykorzystywanych na potrzeby filmów DVD.

W fazie początkowej format SWF ograniczał się jedynie do prostej


prezentacji obiektów wektorowych lub w formie obrazów. Znacznie później jego
możliwości uległy gruntownym ulepszeniom pozwalającym na dodawanie do
prezentacji dźwięków oraz filmów, czy też obiektów interaktywnych
w końcowym etapie z użytkownikiem. Rozwój formatu w dużej mierze
zawdzięczany jest językowi Action Spript, który ewoluował wraz z programem
Flash aż do obecnej wersji kodu poleceń, kryjącej się pod oznaczeniem 3.0.

Do poprawnego wyświetlania formatu SWF wymagane jest zainsta-


lowanie specjalnej wtyczki programu Adobe, która udostępniana jest za darmo.
Flash posiada możliwość eksportu nie tylko do filmów, animacji czy obrazów
graficznych, wszystkie podane typy plików można zapisać w formie
wykonywalnej "exe" nazywanej projektorami.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 24

Format Flash posiada kilka istotnych problemów natury użyteczności,


choć w mniejszym bądź większym stopniu zostały one naprawione poprzez
zastosowanie programów pomocniczych. Ponadto niektórzy mogliby akurat
uznać pewne ograniczenia wynikające ze stosowania tego formatu za swego
rodzaju przemyślany krok ze strony producenta programu.

Rozpatrując problem od strony wad należy wspomnieć o następujących


funkcjach programu, do których zaliczamy:

ƒ brak możliwości przeglądania dokumentu pod kątem wyszukiwania


dowolnej frazy tekstu, istnieje jedynie możliwość zapisania informacji
w trybie "dynamic text", bądź odszukania go bezpośrednio w kodzie
strony WWW (dotyczy wersji wspieranej przez kod AS),
ƒ brak jakiejkolwiek możliwości edycji czy podglądu właściwości formatu
pliku bez posiadania źródeł FLA
ƒ problem z indeksowaniem tekstu w plikach SWF przez wyszukiwarki,
jednakże problem poniekąd został częściowo rozwiązany między
innymi przez zastosowanie kodu AS oraz programy wspierające
Flasha właśnie pod tym kątem.

Scalable Vector Graphics (SVG)

Format pliku o rozszerzeniu "svg" lub "svgz". Uniwersalny format


wektorowej grafiki dwuwymiarowej, należący do rodziny XML, zarówno w jego
statycznej jak i dynamicznej postaci. Stworzony w 1999 roku przez firmę W3C,
uznawaną za lidera wśród organizacji zajmującymi się pojęciem standardów
w Internecie. Format powstał z myślą o wykorzystaniu jego właściwości
na stronach WWW. Ponadto jako format niezależny od platformy systemowej,
w połączeniu ze wsparciem języków programowania (np. XHTML) niewątpliwie
klasyfikuje go w czołówce formatów dalece przyszłościowych.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 25

SVG posiada wszystkie funkcje znane z innych programów wektorowych,


zarówno pod względem funkcjonalności jak i używanych obiektów. Zawiera
również kilka zaawansowanych właściwości, do których dostęp umożliwiają
wyłącznie zaawansowane aplikacjach do obróbki grafiki wektorowej
a są to między innymi: filtry, maski, efekty wypełnień, obiekty transparentne.
Format ten pozwala również na użycie języków programowania takich jak Java
Script, dodatkowo uzupełnionych o dodatkowe polecenia XML.

Pod względem funkcjonalności oraz ogólnej charakterystyki SVG


przypomina format SWF firmy Adobe. Nie ma jednak obawy przed tym, że zdoła
on wyprzeć swojego rywala, ze względu na brak wsparcia tego projektu
dla wszechobecnych już multimediów: audio, wideo, przesyłanie strumieniowe.
Istnieje jednak prawdopodobieństwo, iż w pewnych ściśle określonych zastoso-
waniach format SVG będzie w stanie go zastąpić.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 26

2.2 ANALIZA PLIKÓW GRAFICZNYCH

2.2.1 ANALIZA POD WZGLĘDEM ZRÓZNICOWANIA PALETY BARW

Kluczowym założeniem jakie należy poddać analizie niewątpliwie jest


wpływ oddziaływania określonego rodzaju barw, ich stopień nasycenia i przejść
tonalnych a także skala występowania w danym obiekcie. Wszystkie
wymienione czynniki są niezwykle istotne w procesie kompresji. Niezależnie od
rodzaju algorytmu jaki zastosujemy powinniśmy uzyskać stałą zależność
polegającą na ścisłemu przypisaniu konkretnej barwie określonych własności
pod względem rozmiaru oraz jakości obrazu. Celem zobrazowania przykładu
należy posłużyć się obiektem, którego właściwości zostały zmienione wyłącznie
pod względem jego barwy tonalnej w systemie RGB oraz Grayscale.

Rys. 2.1 Zastosowanie kanału R, G, B oraz Gray dla badanego obiektu

Zmiana kolorystyki obiektu była możliwa dzięki zastosowaniu


podstawowych funkcji programu Photoshop CS3, które wymieniono poniżej.
Plik wyjściowy o rozszerzeniu PSD jaki oferuje tego rodzaju oprogramowanie
jest bardzo dobrym wzorem odniesienia dla porównania zastosowania grafiki
wykorzystującej algorytmy kompresji stratnej oraz bezstratnej.

Funkcje zastosowane w programie Photoshop CS3:

ƒ Grayscale (Image/Mode/... zmiana palety barw na monochromatyczną)


ƒ Hue/Saturation (zmiana barwy i nasycenia koloru)
ƒ Curves (zastosowanie krzywych tonalnych)
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 27

Rys. 2.2 Zmiana palety barw na monochromatyczną)

Rys. 2.3 Zmiana barwy i nasycenia koloru

Rys. 2.4 Zastosowanie krzywych tonalnych

Chcąc porównać wyniki jakie można uzyskać przy zestawieniu


i charakterystyce poszczególnych obiektów różniących się głównie przedziałem
określonej tonacji barwnej warto użyć w tym celu, nie tylko danych, ale i modeli
ich wizualizacji dla lepszego zobrazowania różnic występujących pomiędzy nimi.

Kolejno zastosowano poszczególne fazy, określające rodzaj i stopień


kompresji przy zapisie do najczęściej stosowanych plików. W tym celu użyto
zarówno programów do grafiki wektorowej jak i rastrowej, ażeby tym bardziej
podkreślić różnice występujące pomiędzy nimi.
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 28
8

Adob
be Photos
shop CS3

Krok 1. Opis działania allgorytmu kompresji


k z zapisem
m pliku do formatu
JP
PG przy zastosowa
z niu trzech
h różnych stopni ko
ompresji: 3
30, 60 ora
az 90%
ja
akości. Wyyniki analizzy zostały porównan
ne z danym
mi jakie uzyskano stosując
s
po
ozostałe algorytmy
a kompresjii, przy jed
dnoczesnyym zachow
waniu wsz
zystkich
sttałych właśściwości.

Rys. 2.5 Wybór


W stopnia
a kompresji JP
PG w programie Photoshop CS3

Plik źródłowy PSD


P JPEG - 90% JPE
EG - 60% JPEG - 30%
Kanał Red 1300 kB 125
5 kB 4
47,0 kB 20,2 kB
Kanał Green 1330 kB 142
2 kB 5
55,5 kB 23,6 kB
Kanał Blue 1250 kB 140
0 kB 5
53,9 kB 23,3 kB
Kanał Gray 511,0 kB 71,2
2 kB 3
30,1 kB 15,0 kB

Tab. 2.1 Zastosowanie


e algorytmu JP
PG w program
mie Photoshop
p CS3

1400
0
1200
0
1000
0 Pliik źródłowy PSD
D
800
0 JP
PEG - 90%
600
0
400
0 JP
PEG - 60%
200
0 JP
PEG - 30%
0
Kanał Red
d Kanał Gree
en Kanał Blue
e Kanał Gray

Rys. 2.6 Wykres zasto


osowania algo
orytmu JPG w progranie Pho
otoshop CS3
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 29
9

Krok 2. Przedstawienie zależności


z pomiędzy formatami plików PD
DF oraz
TIFF, przy zapisie których stossowany jest algorytm
m kompresji JPG. Obydwa
O
fo
ormaty po
osiadają również zdolność do zap
pisu zaró
ówno w formie
niieskompressowanej jak i przyy zastosow
waniu alg
gorytmu ko
ompresji stratnej.
s
Sttopień kom
mpresji w tym
t przypa
adku przyjm
muje stałe wartości na poziom
mie: Low
(0
0-4) / Mediu
um (5-7) / High
H (8-9) / Maximum
m (10-12).

Ryys. 2.7 Wybór stopnia komprresji JPG przy zapisie do forrmatu PDF ora
az TIFF w prog
gramie Photoshop CS3

Plik źródłowy PSD


P PDF - High PDF
F - Medium PDF - Low
w
Kanał Red 1300 kB 951,0
0 kB 9
932,0 kB 924,0 kB
Kanał Green
G 1330 kB 994,0
0 kB 9
973,0 kB 965,0 kB
Kanał Blue 1250 kB 975,0
0 kB 9
954,0 kB 946,0 kB
Kanał Gray
G 511,0 kB 369,0
0 kB 3
356,0 kB 351,0 kB

Tab. 2.2 Zastosowanie


e algorytmu JP
PG przy zapisie do formatu PDF

140
00
120
00
100
00 Plik
k źródłowy PSD
D
80
00 PD
DF - High
60
00
40
00 PD
DF - Medium
20
00 PD
DF - Low
0
Kanał Re
ed Kanał Gree
en Kanał Blue
e Kanał Gray

Rys. 2.8 Wykres zasto


osowania algo
orytmu JPG prrzy zapisie do formatu PDF
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 30
0

Plik źródłowy PSD Format TIFF TIFF - High TIFF - M


Medium TIF
FF - Low
K
Kanał Red 1300
0 kB 1850 kB 736,0 kB 714,0
0 kB 70
07,0 kB
K
Kanał Green 1330
0 kB 1870 kB 755,0 kB 730,0
0 kB 72
22,0 kB
K
Kanał Blue 1250
0 kB 1830 kB 717,0 kB 691,0
0 kB 68
82,0 kB
K
Kanał Gray 511,0
0 kB 677,0 kB 302,0 kB 292,0
0 kB 29
97,0 kB

Ta
ab. 2.3 Tabela przedstawiają
ąca zastosowa
anie algorytmu
u JPG przy za
apisie do forma
atu TIFF

2000
1800
1600 Plik źródło
owy PSD
1400
1200 Format TIFF
1000
TIFF - Hig
gh
800
600 TIFF - Medium
400
200 TIFF - Low
w
0
Kanał Red Kanał Green Kanał Blu
ue Kanał Gray

Ryys. 2.9 Wykress zastosowania algorytmu JPG


J przy zapis
sie do formatu
u TIFF

Krok 3. Użyccie algoryytmów kompresji bezstratnej


b na przy
ykładzie
fo
ormatów plików: PNG
G, GIF orazz WBMP. Metoda
M ta pozwala o
ocenić i po
orównać
za
ależności pomiędzy wielkościią i jakoś
ścią plików
w, które m
mimo iż nie
n były
po
oddane dzziałaniom algorytmów
a w kompresjji stratnych
h, to w swyym zapisie stosują
pe
ewne ogrraniczenia wpływają ch późniejjszą formę i właśc
ące na ic ciwości,
ja
ak chociażb
by dla przzykładu forrmat GIF, który oferruje zapis z paletą barwną
w przedziale
e od 2 do 256
2 kolorów
w.

Ryys. 2.10 Zapiss formatów z kompresją


k bezzstratną: PNG,, GIF, WBMP w programie P
Photoshop CS
S3
Roman Janko
R owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 31

Plik
k źródłowy PSD Formatt PNG Form
mat GIF F
Format WBMP
P
Kanał Red 1300 kB 353,0
0 kB 131,0 kB 51,0 kB
Kanał Green 1330 kB 361,0
0 kB 137,0 kB 51,0 kB
Kanał Blue 1250 kB 366,0
0 kB 138,0 kB 51,0 kB
Kanał Gray 511,0 kB 164,0
0 kB 167,0 kB 51,0 kB

Tab. 2.4 Zapis formató


ów z kompres
sją bezstratną
ą: PNG, GIF, WBMP
W

140
00
120
00
100
00 Plik
k źródłowy PSD
D
80
00 Forrmat PNG
60
00
Forrmat GIF
40
00
20
00 Forrmat WBMP
0
Kanał Red Kanał Gree
en Kanał Blue
e Kanał Gray

Rys. 2.11
1 Wykres zapisu formatów z kompresją bezstratną:
b PN
NG, GIF, WBM
MP
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 32
2

Adob
be Illustrattor CS3

Krok 1. Opis działania allgorytmu kompresji


k z zapisem
m pliku do formatu
JP
PG przy zastosowa
z niu trzech
h różnych stopni ko
ompresji: 3
30, 60 ora
az 90%
ja
akości lub alternatyw
wnie na po
oziomie: Medium
M (3)) / High (6
6) / Maxim
mum (9)
w 10-cio sto
opniowej skkali.

Ryys. 2.12 Wybórr stopnia komprresji JPG w pro


ogramie Illustrattor CS3 (dla WEB
W po lewej lub
b alternatywnie
e eksport)

Plik źródłowy AI
A JPEG - 90% JPE
EG - 60% JPEG - 30%
Kanał Red 688 kB 126
6 kB 4
47,3 kB 20,2 kB
Kanał Green 715 kB 143
3 kB 5
55,7 kB 23,6 kB
Kanał Blue 710 kB 130
0 kB 5
51,5 kB 22,4 kB
Kanał Gray 266 kB 71,2
2 kB 3
30,1 kB 15,0 kB

Tab. 2.5 Zastosowanie


e algorytmu JPG w program
mie Photosho
op CS3

800
0
700
0
600
0 P źródłowy AI
Plik
500
0
400
0 J
JPEG - 90%
300
0 J
JPEG - 60%
200
0
100
0 J
JPEG - 30%
0
Kanał Red
d Kanał Gree
en Kanał Blue
e Kanał Gra
ay

Rys. 2.13
3 Wykres zasttosowania alg
gorytmu JPG w programie Photoshop
P CS3
3
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 33
3

Krok 2. Przedsttawienie zależności pomiędzy formatamii plików PD


DF oraz
mpresją strratną algo
TIFF z kom orytmu JPG
G oraz JP
PG 2000. Przy zap
pisie do
fo
ormatu TIF
FF nie było
o możliwośści zastosowania algorytmu kkompresji JPG
J ze
w
względu na
a ograniczenia progrramu Adobe Illustra
ator. Komp
presję do formatu
PDF zastossowano na poziomie:: Low / Me
edium / Hig
gh, wyłączzając dwie skrajne
op
pcje: Minim
mum oraz Maximum.
M

Ry
ys. 2.14 Wybór stopnia komp
presji JPG przy
y zapisie do fo
ormatu PDF orraz TIFF w pro
ogramie Illustra
ator CS3

Plik źródłowy AI
A PDF - High PDF
F - Medium PDF - Low
Kanał Red 688 kB 208 kB 190 kB 183 kB
Kanał Green 715 kB 215 kB 196 kB 188 kB
Kanał Blue 710 kB 218 kB 198 kB 190 kB
Kanał Gray 266 kB 279 kB 279 kB 279 kB

Tab. 2.6 Zastosowanie


e algorytmu JP
PG przy zapisie do formatu PDF

800
0
700
0
600
0 P źródłowy AI
Plik
500
0
400
0 P
PDF - High
300
0 P
PDF - Medium
200
0
100
0 P
PDF - Low
0
Kanał Red
d Kanał Gree
en Kanał Blue
e Kanał Gray

Rys. 2.15
5 Wykres zasttosowania alg
gorytmu JPG przy
p zapisie do
o formatu PDF
F
Roman Janko
R owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 34
4

Plik źródłowy AI
A PDF - High PDF
F - Medium PDF - Low
Kanał Red 688 kB 209 kB 197 kB 185 kB
Kanał Green 715 kB 210 kB 198 kB 187 kB
Kanał Blue 710 kB 216 kB 203 kB 190 kB
Kanał Gray 266 kB 279 kB 279 kB 279 kB

Tab. 2.7 Zastosowanie


e algorytmu JP
PG 2000 przy
y zapisie do fo
ormatu PDF

800
0
700
0
600
0 P źródłowy AI
Plik
500
0
400
0 P
PDF - High
300
0 P
PDF - Medium
200
0
100
0 P
PDF - Low
0
Kanał Red
d Kanał Gree
en Kanał Blue
e Kanał Gray
y

Rys. 2.16
6 Wykres zasttosowania alg
gorytmu JPG 2000
2 przy zapisie do formattu PDF

Pllik źródłowy AI
A TIFF
T
Kanał Red 688,0 kB 120
00 kB
Kanał Green 715,0 kB 120
00 kB
Kanał Blue 710,0 kB 120
00 kB
Kanał Gray 266,0 kB 120
00 kB

Tab. 2.8 Zapis do form


matu TIFF w prrogramie Illusttrator CS3

120
00
100
00
80
00
60
00 Plik źródłowy AI

40
00 TIFF
F
20
00
0
Kanał Red
d Kanał Green Kanał Blue Kanał Gray

Rys. 2.17
7 Wykres zasttosowania alg
gorytmu JPG przy
p zapisie do
o formatu TIFF
F
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 35
5

Krok 3. Użycie
e algorytmó
ów kompresji stratne
ej na przyykładzie fo
ormatów
pllików: WM
MF oraz PN
NG, które reprezentu
ują modele
e grafiki ra
astrowej. Program
P
Adobe Illustrator nie oferuje w tym przy
ypadku zaawansowa
anych opcj
cji także
na
ależy się ograniczyyć jedyn
nie do miinimum, co
c stanow
wi eksport plików
do
o właściwe
ego formatu.

Ryys. 2.18 Opcje


e eksportu do formatu WMF
F oraz PNG w programie Illu
ustrator CS3

Plik źródłow
wy AI Forrmat WMF Format PN
NG
Kana
ał Red 688,0 kB 2100
2 kB 365,0 kB
B
Kana
ał Green 715,0 kB 2100
2 kB 355,0 kB
B
Kana
ał Blue 710,0 kB 2100
2 kB 331,0 kB
B
Kana
ał Gray 266,0 kB 2100
2 kB 164,0 kB
B

Tab. 2.9 Zapis do forrmatu WMF oraz


o PNG w prrogramie Illus
strator CS3

2500
2

2000
2

1500
1 Plik
k źródłowy AI

1000
1 Forrmat WMF
Forrmat PNG
500

0
Kanał Red
R Kanał Gre
een Kanał Blue
e Kanał Gray

Rys. 2.19
2 Wykres zapisu
z do form
matu WMF oraz
z PNG w prog
gramie Illustrattor CS3
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 36
6

Krok 4. Opis dziiałania algo


orytmu kom
mpresji z za
apisem pliku
u do formatu SVG,
kttóry repreze
entuje grafikę wektoro
ową. Progra
am oferuje szeroki
s zakkres opcji eksportu,
e
tyypowy dla te
ego rodzaju
u plików, acczkolwiek stopień
s kom
mpresji usta
alony jest odgórnie.
O strony użżytkownika brak jest możliwości
Od m ingerencji w tym kierun
nku.

Ryys. 2.20 Zapiss do formatu SVG


S oraz SVG
GZ w programie Illustrator CS3

P źródłowy
Plik y AI Form
mat SVG Format SV
VGZ
Kana
ał Red 688,0 kB 55
59,0 kB 426,0 kB
B
Kana
ał Green 715,0 kB 54
40,0 kB 411,0 kB
B
Kana
ał Blue 710,0 kB 49
95,0 kB 376,0 kB
B
Kana
ał Gray 266,0 kB 23
30,0 kB 175,0 kB
B

Tab. 2.10 Zapis do fo


ormatu SVG oraz
o SVGZ w programie Illu
ustrator CS3

80
00
70
00
60
00
50
00 Plik źródłowy AI
40
00
Form
mat SVG
30
00
20
00 Form
mat SVGZ
10
00
0
Kanał Re
ed Kanał Gree
en Kanał Blue Kanał Gray

Rys. 2..21 Wykres za


apisu do forma
atu SVG oraz SVGZ w prog
gramie Illustrattor CS3
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 37
7

Krok 5. Zastoso
owanie alg
gorytmów kompresji
k s
stratnej, w tym równiież JPG
prrzy zapisie
e do formattu SWF, z użyciem trrzech różnyych stopni kompresji: 30, 60
orraz 90% ja
akości. Je
est to kole
ejny przyk
kład zapisu
u z zastosowaniem formatu
grrafiki wekto
orowej. Mo
ożna zaob ć tutaj szerreg funkcji przystosowanych
bserwować
do
ocelowo do użycia w program
mie Adobe Flash, któ
óry wykorzzystuje ten
n format
za
apisu i jedn
nocześnie jest wspie
erany przez
z Illustratorra.

Ryys. 2.22 Zapiss do formatu SWF


S w program
mie Illustrator CS3

Plik źród
dłowy AI Format SWF SWF - 90
0% SWF - 60% SW
WF - 30%
Kanał Red 688 kB 462 kB 131 kB
B 46,0
0 kB 25,0kB
Kanał Green 715 kB 476 kB 151 kB
B 55,0
0 kB 30
0,0 kB
Kanał Blue 710 kB 463 kB 147 kB
B 53,0
0 kB 29
9,0 kB
Kanał Gray 266 kB 199 kB 77,0 kB
B 31,0
0 kB 19
9,0 kB

Ta
ab. 2.11 Tabela
a przedstawiajjąca zastosow
wanie algorytm
mów stratnych przy zapisie d
do formatu SW
WF

800
700
600 Plik źródłowy AI
500 Format SWF
400
SWF - 90%
9
300
200 SWF - 60%
6
100 SWF - 30%
3
0
Kanał
K Red Kanał Green Kanał Blue Kana
ał Gray

Ryys. 2.23 Wykre


es zastosowaniia algorytmów stratnych przy
y zapisie do formatu SWF w p
programie Illusttrator CS3
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 38
8

Adob
be Fireworrks CS3

Krok 1. Opis działania allgorytmu kompresji


k z zapisem
m pliku do formatu
JP
PG przy zastosowa
z niu trzech
h różnych stopni kompresji: 3
30, 60 ora
az 90%.
Fo
ormatem wyjściowym
w m, który jed
dnocześnie stanowiłł tutaj punkkt odniesie
enia, był
pllik bezstra
atnej komp
presji PNG
G, który powstał
p z wcześniej
w opisywane
ego już
fo
ormatu PSD
D używane
ego w prog
gramie Pho
otoshop.

Rys. 2.24 Wybór


W stopnia kompresji JPG
G w programie Fireworks CS3
3

Plik źródłowy PNG


P JPEG - 90% JPE
EG - 60% JPEG - 30%
Kanał Red 988 kB 90,0
0 kB 4
40,0 kB 27,0 kB
Kanał Green 958 kB 98,0
0 kB 4
45,0 kB 27,0 kB
Kanał Blue 710 kB 105
5 kB 4
47,0 kB 28,0 kB
Kanał Gray 266 kB 66,0
0 kB 3
33,0 kB 26,0 kB

Tab. 2.12
2 Zastosowan
nie algorytmu JPG w progra
amie Fireworkss CS3

100
00

80
00
Plik
k źródłowy PNG
60
00
JPE
EG - 90%
40
00
JPE
EG - 60%
20
00 JPE
EG - 30%
0
Kanał Red
d Kanał Gree
en Kanał Blue Kanał Gray

Rys. 2.25
5 Wykres zasttosowania alg
gorytmu JPG w programie Fireworks
F CS3
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 39
9

Krok 2. Przedsstawienie formatu SWF,


S przy zapisie kttórego stosowany
je
est algoryttm komprresji stratn
nej JPG. Stopień kompresji został ustalony
u
na
a 30, 60 oraz
o 90% jakości. Brak jest możliwośści skorzysstania z bardziej
b
za
aawansow
wanych fun
nkcji. W po
orównaniu ze swoim
m poprzed
dnikiem, ja
akim był
prrogram Illu
ustrator CS
S3, w tym
m przypadk
ku nie mo
ożna mówić o jakim
mkolwiek
w
wsparciu dla
a grafiki we
ektorowej.

Ryys. 2.26 Wybórr stopnia kompresji JPG przy zapisie do form


matu SWF

Plik źródłowy PNG


P SWF - 90% SW
WF - 60% SWF - 30%
Kanał Red 988 kB 44,0
0 kB 2
20,0 kB 14,0 kB
Kanał Green 958 kB 47,0
0 kB 2
22,0 kB 15,0 kB
Kanał Blue 710 kB 51,0
0 kB 2
23,0 kB 16,0 kB
Kanał Gray 266 kB 37,0
0 kB 1
18,0 kB 13,0 kB

Tab. 2.13
3 Zastosowanie
e algorytmu JP
PG przy zapisie
e do formatu SW
WF w programie Fireworks CS
S3

100
00

80
00
Plik
k źródłowy PNG
60
00
SW
WF - 90%
40
00
SW
WF - 60%
20
00 SW
WF - 30%
0
Kanał Red
d Kanał Gree
en Kanał Blue Kanał Gray

Rys. 2.27 Wykres zastoso


owania algorytm
mu JPG przy zap
pisie do formatu SWF w program
mie Fireworks CS3
C
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 40
0

Krok 3. Użyccie algoryytmów ko


ompresji stratnej, lub z pewnymi
og
graniczenia
ami, na przykładzie
p e formatów
w plików: TIFF, GIF, WBMP
P, które
po
osłużyły we
e wcześnie
ejszej fazie
e jako przy
ykład analizzy plików g
graficznych
h.

Ryys. 2.28 Zapiss do formatów:: TIFF, GIF, WBMP


W w progra
amie Fireworkks CS3

Plik źródłowy PNG


P Forma
at TIFF Fo
ormat GIF F
Format WBMP
Kanał Red 988 kB 585
5 kB 1 kB
109 51,0 kB
Kanał Green 958 kB 649
9 kB 1 kB
101 51,0 kB
Kanał Blue 710 kB 620
0 kB 1 kB
121 51,0 kB
Kanał Gray 266 kB 296
6 kB 6
61,0 kB 51,0 kB

Tab. 2.14
4 Tabela przedsstawiająca zapiis do formatów: TIFF, GIF, WB
BMP w program
mie Fireworks CS3
C

100
00

80
00
Plik
k źródłowy PNG
60
00
Format TIFF
40
00
Format GIF
20
00 Format WBMP
0
Kanał Red
d Kanał Gree
en Kanał Blue Kanał Gray

Rys. 2.29 Wykres przedsstawiający zapiss do formatów: TIFF, GIF, WB


BMP w program
mie Fireworks CS3
C
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 41

Adobe Flash CS3

Krok 1. Opis działania algorytmu kompresji stratnej, oraz pozostałych,


z zapisem pliku do formatów: JPG, SWF, PNG, GIF. Zastosowano trzy różne
stopnie kompresji: 30, 60 oraz 90% jakości. Program Adobe Flash umożliwia
automatyczny zapis do wszystkich formatów, jakie zostały wybrane w opcjach
eksportu, co jest niezwykle przydatną funkcją w tego rodzaju analizie, jaka
została zastosowana w mojej pracy magisterskiej.

Rys. 2.30 Wybór stopnia kompresji i eksportu formatów plików w programie Adobe Flash CS3

Rys. 2.31 Szczegółowe opcje kompresji i eksportu formatów plików w programie Adobe Flash CS3
Roman Janko
R owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 42
2

Plik źródłowy FLA


F JPG - 90% JP
PG - 60% JPG - 30%
Kanał Red 540 kB 34,0
0 kB 2
20,0 kB 13,0 kB
Kanał Green 593 kB 50,0
0 kB 2
22,0 kB 14,0 kB
Kanał Blue 574 kB 53,0
0 kB 2
24,0 kB 15,0 kB
Kanał Gray 278 kB 38,0
0 kB 1
17,0 kB 11,0 kB

Tab. 2.15
5 Zastosowan
nie algorytmu kompresji
k stra
atnej JPG w prrogramie Adob
be Flash CS3

600
0
500
0
400
0 Plik
k źródłowy FLA

300
0 JPG - 90%
200
0 JPG - 60%
100
0 JPG - 30%
0
Kanał Red
d Kanał Green
n Kanał Blue Kanał Gray

Rys. 2.32
2 Wykres zasto
osowania algoryytmu kompresjii stratnej JPG w programie A
Adobe Flash CS3
C

Plik źródłowy FLA


F Forma
at SWF Forrmat PNG Format GIF
Kanał Red 540 kB 34,0
0 kB 3 kB
388 103 kB
Kanał Green 593 kB 36,0
0 kB 3 kB
399 100 kB
Kanał Blue 574 kB 40,0
0 kB 4 kB
400 97,0 kB
Kanał Gray 278 kB 29,0
0 kB 2 kB
201 39,0 kB

Tab. 2.16
6 Zapis do forrmatów: SWF, PNG, GIF w programie Adobe Flash CS
S3

600
0
500
0
400
0 Plik
k źródłowy FLA

300
0 Format SWF
200
0 Format PNG
100
0 Format GIF
0
Kanał Red
d Kanał Green
n Kanał Blue Kanał Gray

Rys. 2.33
3 Wykres przedsstawiający zapis do formatów: SWF, PNG, GIIF w programie Adobe Flash CS3
C
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 43
3

Core
el Draw X3
3

Krok 1. Opis działania allgorytmu kompresji


k z zapisem
m pliku do formatu
f
JP
PG przy zastosowa
z niu trzech
h różnych stopni kompresji: 3
30, 60 ora
az 90%.
W
Wyniki ana
alizy zosttały porów
wnane z danymi jakie uzyyskano stosując
po
ozostałe algorytmy
a kompresji, przy jed
dnoczesnyym zachow
waniu wsz
zystkich
sttałych właściwości.

Ryys. 2.34 Wybórr stopnia komprresji JPG

Plik źródłowy CDR


C JPEG - 90% JPE
EG - 60% JPEG - 30%
Kanał Red 460 kB 46,0
0 kB 2
20,0 kB 13,0 kB
Kanał Green 522 kB 49,0
0 kB 2
22,0 kB 14,0 kB
Kanał Blue 493 kB 53,0
0 kB 2
24,0 kB 15,0 kB
Kanał Gray 163 kB 38,0
0 kB 1
17,0 kB 11,0 kB

Tab. 2.17
7 Zastosowan
nie algorytmu JPG w progra
amie Corel Dra
aw X3

600
0
500
0
400
0 Plik
k źródłowy CDR

300
0 JPE
EG - 90%
200
0 JPE
EG - 60%
100
0 JPE
EG - 30%
0
Kanał Red Kanał Green
n Kanał Blue Kanał Gray

Rys. 2.35
5 Wykres zasttosowania alg
gorytmu JPG w programie Corel
C Draw X3
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 44
4

Krok 2. Preze
entacja dzziałania alg
gorytmu kompresji
k z zapisem
m pliku
do astosowaniu trzech różnych stopni kom
o formatu JPG 2000 przy za mpresji:
30
0, 60 oraz 90% jako
ości. Form
matem wyjś
ściowym, który
k jedno
ocześnie stanowił
s
tu
utaj punktt odniesie
enia, był plik bez
zstratnej kompresji
k PSD up
przednio
za
aimportowa
any do pro
ogramu Co
orel Draw.

Ryys. 2.36 Wybórr stopnia komprresji JPG 2000

Plik źródłłowy CDR J


JPEG 2000 - 90% JPEG 2000 - 60% JPEG 2000
0 - 30%
Kanał Red 460
0 kB 70,0 kB 4
44,0 kB 24,0 kB
k
Kanał Green 522
2 kB 79,0 kB 5
52,0 kB 28,0 kB
k
Kanał Blue 493
3 kB 90,0 kB 5
59,0 kB 32,0 kB
k
Kanał Gray 163
3 kB 30,0 kB 2
21,0 kB 12,0 kB
k

Ta
ab. 2.18 Zasto
osowanie algo
orytmu JPG 20
000 w program
mie Corel Draw
w X3

600
0
500
0
400
0 Plik
k źródłowy CDR

300
0 JPE
EG 2000 - 90%
200
0 JPE
EG 2000 - 60%
100
0 JPE
EG 2000 - 30%
0
Kanał Red Kanał Green
n Kanał Blue Kanał Gray

Rys. 2.37
7 Wykres zasttosowania alg
gorytmu JPG 2000
2 w progra
amie Corel Draw X3
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 45

Krok 3. Przedstawienie właściwości formatu PDF, który przy zapisie


stosuje algorytm stratnej kompresji JPG. Kompresję do formatu PDF
przeprowadzono w systemie trójfazowym ze współczynnikiem kompresji
na poziomie: 30, 60 oraz 90% jakości. Warto zwrócić uwagę na szereg funkcji
jakie program Corel udostępnia podczas eksportu tego formatu.

Rys. 2.38 Funkcje eksportu do pliku PDF oferowane przez program Corel Draw X3

Plik źródłowy CDR PDF - 90% PDF - 60% PDF - 30%


Kanał Red 460 kB 286 kB 124 kB 88,0 kB
Kanał Green 522 kB 304 kB 132 kB 94,0 kB
Kanał Blue 493 kB 327 kB 142 kB 99,0 kB
Kanał Gray 711 kB 711 kB 711 kB 711 kB

Tab. 2.19 Zastosowanie algorytmu JPG przy eksporcie do pliku PDF w programie Corel Draw X3
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 46
6

800
0
700
0
600
0 Plik
k źródłowy CDR
500
0
400
0 PDF
F - 90%
300
0 PDF
F - 60%
200
0
100
0 PDF
F - 30%
0
Kanał Red Kanał Green
n Kanał Blue Kanał Gray

Rys. 2.39 Wykres zastoso


owania algorytm
mu JPG przy eks
sporcie do pliku
u PDF w program
mie Corel Draw X3

Krok 4. Użycie
e algorytmó
ów kompre
esji stratne
ej na przyykładzie fo
ormatów
pllików: TIFF
F, WMF, PNG oraz GIF,
G które reprezentu
r ują modele
e grafiki ras
strowej.
Program Co
orel Draw pozwala na stosow
wanie ogra
aniczonych
h funkcji eksportu
e
tyych właśnie
e plików.

Ryys. 2.40 Funkcje zapisu dla pliku TIFF oraz GIF


G w programiie Corel Draw X3
X
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 47
7

Ryys. 2.41 Właściwości zapisu dla


d pliku WMF Rys. 2.42 Właściwości e
eksportu do form
matu PNG

Plik źródło
owy CDR Format TIFF Format WMF
W Forma
at PNG Forrmat GIF
Kanał Red 460 kB 1217 kB 21130 kB
k 426
6 kB 59,0kB
5
Kanał Green 522 kB 1217 kB 21130 kB
k 433
3 kB 65
5,0 kB
Kanał Blue 493 kB 1217 kB 21130 kB
k 436
6 kB 63
3,0 kB
Kanał Gray 711 kB 1217 kB 21130 kB
k 224
4 kB 25
5,0 kB

Ta
ab. 2.20 Tabela
a przedstawia
ająca zastosow
wanie algorytm
mów: TIFF, WMF, PNG oraz GIF

25000

20000 Plik źródło


owy CDR
15000 Format TIF
FF
Format WM
MF
10000
Format PN
NG
5000
Format GIF
0
Kanał Red Kanał Green
n Kanał Blue Kanał Gray

Ryys. 2.43 Wykre


es zastosowan
nie algorytmów
w: TIFF, WMF
F, PNG oraz GIF
G
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 48

Krok 5. Opis działania algorytmów kompresji z zapisem do formatów:


SVG, SVGZ oraz SWF, które reprezentują grafikę wektorową. Corel Draw
oferuje tutaj szeroki zakres opcji eksportu, typowy dla tego rodzaju plików.

Rys. 2.44 Właściwości eksportu do formatu SWF w programie Corel Draw X3

Rys. 2.45 Właściwości eksportu do formatu SVG w programie Corel Draw X3


R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 49
9

Plik źródło
owy CDR SW
WF - 90% SWF
S - 60% S
SWF - 30% SVG SVGZ
Kanał Red 460 kB
k 49 kB 21 kB 13 kB 1292 kB 981 kB
Kanał Green 522 kB
k 53 kB 23 kB 14 kB 1319 kB 1002
1 kB
Kanał Blue 493 kB
k 57 kB 25 kB 15 kB 1326 kB 1007
1 kB
Kanał Gray 711 kB
k 40 kB 18 kB 11 kB 658 kB 489 kB

Ta
ab. 2.20 Tabela
a przedstawia
ająca zastosow
wanie algorytm
mów: TIFF, WMF, PNG oraz GIF

1400
1200 Plik źródło
owy CDR
1000 SWF - 90%
%
800
SWF - 60%
%
600
SWF - 30%
%
400
SVG
200
SVGZ
0
Kanał Red Kanał Green Kanał Blu
ue Kanał Gray

Ryys. 2.46 Wykre


es zastosowan
nie algorytmów
w: TIFF, WMF
F, PNG oraz GIF
G
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 50
0

Core
el Photo Pa
aint X3

Krok 1. Opis działania allgorytmu kompresji


k z zapisem
m pliku do formatu
f
JP
PG przy zastosowa
z niu trzech
h różnych stopni kompresji: 3
30, 60 ora
az 90%.
W
Wyniki ana
alizy zosttały porów
wnane z danymi jakie uzyyskano stosując
po
ozostałe algorytmy
a kompresji, przy jed
dnoczesnyym zachow
waniu wsz
zystkich
sttałych właściwości.

Plik źródłowy CPT


C JPEG - 90% JPE
EG - 60% JPEG - 30%
Kanał Red 525 kB 46,0
0 kB 2
20,0 kB 13,0 kB
Kanał Green 533 kB 49,0
0 kB 2
22,0 kB 14,0 kB
Kanał Blue 545 kB 53,0
0 kB 2
24,0 kB 15,0 kB
Kanał Gray 218 kB 37,0
0 kB 1,0 kB 10,0 kB

Tab. 2.21 Zastosowan


nie algorytmu JPG w progra
amie Corel Pho
oto-Paint X3

600
0
500
0
400
0 Plik
k źródłowy CPT

300
0 JPE
EG - 90%
200
0 JPE
EG - 60%
100
0 JPE
EG - 30%
0
Kanał Red
d Kanał Green
n Kanał Blue Kanał Gray

Rys. 2.47
7 Wykres zasttosowania alg
gorytmu JPG w programie Corel
C Photo-Paiint X3

Krok 2. Preze
entacja dzziałania alg
gorytmu kompresji
k z zapisem
m pliku
do astosowaniu trzech różnych stopni kom
o formatu JPG 2000 przy za mpresji:
30
0, 60 oraz 90% jako
ości. Form
matem wyjś
ściowym, który
k jedno
ocześnie stanowił
s
tu
utaj punktt odniesie
enia, był plik bez
zstratnej kompresji
k PSD up
przednio
za
aimportowa
any do pro
ogramu Co
orel Draw.

Plik źródłłowy CPT J


JPEG 2000 - 90% JPEG 2000 - 60% JPEG 2000
0 - 30%
Kanał Red 525
5 kB 70,0 kB 4
44,0 kB 24,0 kB
k
Kanał Green 533
3 kB 79,0 kB 5
52,0 kB 28,0 kB
k
Kanał Blue 545
5 kB 90,0 kB 5
59,0 kB 32,0 kB
k
Kanał Gray 218
8 kB 30,0 kB 2
21,0 kB 13,0 kB
k

Ta
ab. 2.22 Zasto
osowanie algo
orytmu JPG 20
000 w program
mie Corel Photto-Paint X3
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 51

600
0
500
0
400
0 Plik
k źródłowy CPT

300
0 JPE
EG 2000 - 90%
200
0 JPE
EG 2000 - 60%
100
0 JPE
EG 2000 - 30%
0
Kanał Red
d Kanał Green
n Kanał Blue Kanał Gray

Rys. 2.48
8 Wykres zasttosowania alg
gorytmu JPG 2000
2 w progra
amie Corel Pho
oto-Paint X3

Krok 3. Przedstawienie właściwoś


ści formattu PDF, który przy zapisie
sttosuje alg
gorytm stratnej kompresji JPG.
J Kom
mpresję d
do formatu
u PDF
prrzeprowadzono w systemie trójfazow
wym ze współczynn
w nikiem ko
ompresji
na
a poziomie
e: 30, 60 orraz 90% ja
akości.

Plik źródłowy CPT


C PDF - 90% PD
DF - 60% PDF - 30%
Kanał Red 525 kB 58,0
0 kB 2
25,0 kB 18,0 kB
Kanał Green 533 kB 61,0
0 kB 2
27,0 kB 20,0 kB
Kanał Blue 545 kB 66,0
0 kB 2
29,0 kB 21,0 kB
Kanał Gray 218 kB 46,0
0 kB 2
21,0 kB 15,0 kB

Tab. 2.23 Zastosowanie algorytmu JPG


G przy eksporcie
e do pliku PDF w programie Co
orel Photo-Painx
x X3

800
0
700
0
600
0 Plik
k źródłowy CDR
500
0
400
0 PDF
F - 90%
300
0 PDF
F - 60%
200
0
100
0 PDF
F - 30%
0
Kanał Red Kanał Green
n Kanał Blue Kanał Gray

Rys. 2.49 Wykres


W zastosow
wania algorytmu JPG
J przy eksporrcie do pliku PDF
F w programie Co
orel Photo-Painx X3
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 52

Krok 4. Użycie algorytmów kompresji stratnej na przykładzie formatów


plików: TIFF, PNG oraz GIF, które reprezentują modele grafiki rastrowej.
Program Corel Photo-Paint X3 pozwala na stosowanie bogatych ustawień
funkcji eksportu tych właśnie plików.

Rys. 2.50 Właściwości eksportu do formatu GIF w programie Corel Photo-Paint X3


Roman Janko
R owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 53
3

Plik źródłowy CPT


C Forma
at TIFF Forrmat PNG Format GIF
Kanał Red 460 kB 1580
0 kB 4 kB
486 58,9 kB
Kanał Green 522 kB 1580
0 kB 4 kB
499 64,6 kB
Kanał Blue 493 kB 1580
0 kB 4 kB
498 62,7 kB
Kanał Gray 711 kB 811
1 kB 1 kB
179 167 kB

Tab. 2.24
4 Tabela przed
dstawiająca za
astosowanie algorytmów:
a TF
FF, PNG, GIF

160
00
140
00
120
00 Plik
k źródłowy CPT
100
00
80
00 Forrmat TIFF
60
00 Forrmat PNG
40
00
20
00 Forrmat GIF
0
Kanał Red Kanał Gree
en Kanał Blue Kanał Gray

Rys. 2.51 Wykres przed


dstawiający za
astosowanie algorytmów:
a TF
FF, PNG, GIF
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 54
4

Konw
wersja do formatu Dejavu
D

Dziękki stronie in
nternetowe
ej: http://any2djvu.djvu
uzone.org istnieje mo
ożliwość
ko
onwersji ścciśle określo
onych form
matów do sttandardu DJVU.
D Jest to duże uła
atwienie
ze
e względu na brak og
gólnie dosttępnych pro
ogramów z możliwośścią konwersji tego
w
właśnie form
matu. Dla celów pog
glądowych oferowane
e na stroniie tryby ko
ompresji
(H
Higher Com
mpression / Normal / Higher
H Qua
ality) okazały się w pełni wystarc
czające.

Tab. 2.52 Sc
creeny ze stron
ny: http://any2djvu.djvuzone
e.org

Plik źródłowy TIFF


T DJVU - High DJV
VU - Medum DJVU - Low
w
Kanał Red 1850 kB 37,0
0 kB 23,0 kB 19,0 kB
Kanał Green 1870 kB 42,0
0 kB 26,0 kB 21,0 kB
Kanał Blue 1830 kB 48,0
0 kB 30,0 kB 24,0 kB
Kanał Gray 677 kB 24,0
0 kB 16,0 kB 13,0 kB

Tab. 2.25
5 Zastosowanie
e algorytmu DJ
JVU

200
00

150
00 Plik
k źródłowy TIFF

100
00 DJV
VU - High
SW
WF - Medium
50
00
SW
WF - Low
0
Kanał Red
d Kanał Gree
en Kanał Blue Kanał Gray

Rys. 2.53 Wykres zastoso


owania algorytm
mu DJVU
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 55
5

2..2.2 ANALIZA POD


D WZGLĘD
DEM CHAR
RAKTERY
YSTYKI OB
BIEKTU

Mając
ąc do dysspozycji szereg
s na
arzędzi do
o obróbkii grafiki wykażę
za
ależność ja
aka zachod
dzi wówczzas gdy ba
adane obiekty różnią się od sie
ebie pod
w
względem o
ogólnej cha
arakterystyyki. Ostatn
nim badanym elementem była grafika
ra
astrowa symbolizują
s alistyczny. Nie spe
ąca obiekkt fotorea ełnia on jednak
w
wszystkich kryteriów pod jakimi należy wykonać
w an
nalizę wyb
branych ob
biektów.
R
Równie często bow
wiem jak w przypa
adku elem
mentów grraficznych mamy
do
o czynienia
a z różneg
go rodzaju formą tek
kstową dokkumentów,, nawet w pojęciu
grrafiki komp
puterowej.

Photosho
op Illustrato
or Firework
ks Flash
h Corel D. Corell P.
JPEG 56,0 kB 62,0 kB 66,0 kB 25,0 kB
B 24,0 kB
B 20,0 kB
JPEG 2000 249 kB
B 56,0 kB
PDF 137 kB 96,0 kB 12,0 kB
B
TIFF 346 kB 1200 kB 50,0 kB 1000 kB
B 56,0 kB
WMF 2200 kB 2,00 kB
B
SWF 13,0 kB 5,00 kB 3,00 kB
B 13,0 kB
B
SVG 5,00 kB 15,0 kB
B
SVGZ 2,00 kB 6,00 kB
B

Tab. 2.26 Zastosowanie


Z a
algorytmów strratnych do kom
mpresji tekstu

2500

2000
Photoshop
1500 Illustrato
or
Fireworkks
1000
Flash
Corel D.
500
Corel P.

0
JPG JP
PG  PDF TIFF W
WMF SWF SVG
20000

Rys. 2.54 Wykres


W zastosow
wania algorytmó
ów stratnych do
o kompresji tek
kstu
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 56
6

Kolejnyymi eleme
entami charakterystyc
cznymi dla
a określone
ej grupy infformacji

ą wykresy oraz obiiekty pom
mocnicze, ogólnego zastosow
wania w różnego
r
ro
odzaju pre
ezentacjach
h multimedialnych. Mogą byćć reprezen
ntowane zarówno
z
prrzy wykorzzystaniu technik wekktorowych jak
j i rastro
owych co w przypad
dku tych
drrugich czyyni je zwykkle dużo ciekawszym
c mi pod względem wiizualnym. Poniżej
za
aprezentow
wano przyykładowy schemat,
s który
k zapissano kolejjno we ws
szelkich
m
możliwych r
rodzajach f
form plików
w stosujący
ych algoryttmy komprresji stratny
ych.

Photosho
op Illustrato
or Firework
ks Flash
h Corel D. Corell P.
JPG 326 kB 197 kB 266 kB
B 68,0 kB
B 52,0 k
kB 48,0 kB
k
JPG 2000
0 605 k
kB 84,0 kB
k
PDF 497 kB 265 kB 26,0 k
kB
TIFF 736 kB 1950 kB
B 192 kB
B 1270 k
kB 69,0 kB
k
WMF 2860 kB
B 18,0 kB
B
SWF 60,0 kB
B 29,0 kB
B 21,0 kB
B 32,0 k
kB
SVG 32,0 kB
B 43,0 k
kB
SVGZ 14,0 kB
B 11,0 k
kB

Tab. 2.27 Zastosowanie


Z a
algorytmów strratnych do kom
mpresji obiektów
w i wykresów

3000

2500

2000 Photoshop
Illustrato
or
1500
Fireworkks

1000 Flash
Corel D.
500 Corel P.

0
JPG JPG
G  PDF T
TIFF WMF SWF SVG
G SVGZ
20000

Rys. 2.55 Wykres


W zastosow
wania algorytmó
ów stratnych do
o kompresji ob
biektów i wykre
esów
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 57

3 ANALIZA SYSTEMOWA FORMATÓW PLIKÓW WIDEO

3.1 FORMATY PLIKÓW WIDEO

Moving Picture Experts Group (MPEG)

W maju 1988 roku doszło do pierwszego spotkania grupy ekspertów


z dziedziny kodowania obrazu i dźwięku znanej od tamtej pory pod nazwą
MPEG. Celem spotkania jak i powstania grupy było opracowanie nowego
standardu formatu kompresji danych audiowizualnych. Poniekąd było to działanie
wymuszone ze względu na obecny wówczas format PAL składający się z 25 kl/s
o rozdzielczości 720x576px w 24-bitowej głębi kolorów. Po dokładnych
przeliczeniach łatwo stwierdzić, iż każda sekunda nieskompresowanego
materiału w formacie PAL zajmowała 30MB, co przy godzinnym materiale
dawało rząd wielkości przeszło 100GB, co w ówczesnych czasach było
niewątpliwie dużą barierą dla całego przemysłu medialnego. Stąd konieczność
opracowania nowego standardu zapisu danych.

MPEG-1 został opracowany w 1991 roku jako oficjalny standard kodowania


obrazu i dźwięku. Wyrażany jest wielkością obrazu o rozdzielczości 352x240px
i przepustowości 1,5Mb/s. Późniejsze udoskonalenia formatu pozwoliły na zwię-
kszenie tej wartości do 4Mb/s. na przestrzeni kilkunastu lat format MPEG-1 okazał
się bez wątpienia formatem w największym stopniu kompatybilnym ze wszelkiego
rodzaju urządzeniami odtwarzania danych. Jedyną wadą formatu MPEG-1
i zarazem powodem publikacji jego kolejnych wersji okazała się obsługa jedynie
progresywnego skanowania obrazu.

Algorytm MPEG-1 przebiega w następujący sposób:

ƒ synchronizacja oraz łączenie obrazu z dźwiękiem,


ƒ kompresja sygnału wideo bez przeplotu,
ƒ stratna kompresja sygnału audio.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 58

Przebieg kodowania audio standardu MPEG-1

ƒ MP1 / MPEG-1 Part 3 Layer 1 (MPEG-1 Audio Layer 1)


ƒ MP2 / MPEG-1 Part 3 Layer 2 (MPEG-1 Audio Layer 2)
ƒ MP3 / MPEG-1 Part 3 Layer 3 (MPEG-1 Audio Layer 3)
ƒ Procedury zgodności testów
ƒ Oprogramowanie referencyjne

Trzecia warstwa kodowania audio w standardzie MPEG-1 jest wykorzy-


stywana w popularnym formacie dźwięku MP3.

MPEG-2 stanowi kolejną grupę standardów kompresji opracowanych


w 1994 roku. Wyznacza jednocześnie standard kompresji sygnału dla telewizji
cyfrowej, która jakością przewyższała dotychczasowe systemy: NTSC, PAL,
SECAM. Podstawowy system kompresji znany w wcześniejszego formatu
MPEG-1 uzupełniony został o instrukcje kodowania ruchomych obiektów
względem statycznego tła. Określał ponadto w sposób szczegółowy przedziały
przesyłania sygnałów o określonych rozdzielczościach:

ƒ 352x288 px dla 1-2 Mb/s, LDTV (Low Definition TV),


ƒ 720x576 px dla 4-5 Mb/s, SDTV (Standard Definition TV).

Format MPEG-2 zaakceptowany został jako podstawowy system telewizji


cyfrowej a po wprowadzeniu drobnych modyfikacji uznano, iż jest standardem
odpowiednim dla wykorzystywania w dystrybucji filmów DVD.

MPEG-3 Standard został zaprojektowany z myślą o telewizji wysokiej


rozdzielczości HDTV o przepływności od 20 do 40 Mbit/s. Szybko okazało się że
podobne rezultaty można uzyskać modyfikując istniejący standard MPEG-2.
Wkrótce prace nad MPEG-3 zostały przerwane.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 59

MPEG-4 opracowano w celu wykorzystania w mediach strumieniowych


sieci WEB, dystrybucji płyt CD oraz telewizji i wideokonferencji. Został
wprowadzony pod koniec 1998 roku przejmując większość możliwości
standardów: MPEG-1, MPEG-2 oraz pokrewnych. Zastosowano również
wsparcie dla technologii VRML (renderowanie 3D) a także DRM i różnorakiej
formy interaktywności.

Na chwilę obecną nie istnieje kompletna implementacja całego zbioru


standardów, które składają się na format MPEG-4 pozostawiając tą decyzję
do indywidualnego rozstrzygnięcia dla każdego programisty.

W taki oto właśnie sposób jedna z implementacji MPEG-4 stworzona


przez Microsoft na użytek systemu Windows media (format WMV) została
skradziona przez hakerów i rozpowszechniona jako format DivX ;-), którą
bardzo szybko zaadaptowano w systemach: Windows, Linux, MacOS, BeOS.

Wkrótce po tym zdarzeniu pojawił się program DivX, który był odrębną
implementacją nie mającą żadnego związku z wykradzionym kodem. Format
ten został stworzony i opatentowany przez firmę DivX Networks, znaną
obecnie jako DivX Inc.

Ponieważ oprogramowanie DivX występowało jako zamknięty -


komercyjny produkt firmy DivX Networks szybko stworzono alternatywny kodek
o nazwie XviD, rozpowszechniany na licencji GNU GPL. Jak na ironię format
ten nie tylko był darmowy ale również pod względem kodowania i przetwarzania
danych wyprzedzał on swojego konkurenta.

Format DivX/XviD jakościowo niewiele ustępuje wersji DVD, oferując


przy tym dużo mniejszy rozmiar ok. 700MB co stanowi pojemność płyty CD.
Standard MPEG-4 znalazł szerokie zastosowanie w plikach formatu
WMA/WMV, oprogramowaniu multimedialnym Quick Time wykreowanym
przez firmę Apple, formacie Nero Digital a także urządzeniach przenośnych
zawierających wbudowane kamery wideo (telefony, aparaty fotograficzne).
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 60

Kodowanie obrazu MPEG-1/2/4

Algorytm kodowania MPEG opiera się na wykorzystaniu różnych metod


kompresji bazujących na analizie możliwości oraz ograniczeniach wynikających
z właściwości odbiorczych ludzkiego oka:

ƒ Podpróbkowanie chrominancji. Kolor każdego z punktów obrazu


cyfrowego kodowany jest przez trzy 8-bitowe wartości, zawierające
informacje na temat nasycenia danego obszaru kolorami standardu
RGB. Do definiowania obrazu wideo używa się natomiast parametrów
luminancji (jasności - Y) oraz chrominancji (kolorów - U, V) stanowiących
standard YUF, do którego konwertowane są wszystkie dane o kolorach
RGB. Badania wykazały, iż informacje o kolorach obrazu mają mniejsze
znaczenie dlatego stosowane jest podpróbkowanie, w którym na każde
2 punkty Y przypada po jednym punkcie U oraz V.

ƒ Kodowanie transformatowe. Każda klatka wideo dzielona jest na bloki


o ściśle ustalonym rozmiarze rzędu 8x8 punktów, następnie każdy z nich
poddawany jest transformacie DCT. Powstały wynik pozwala
na zapisanie informacji o wszystkich 64 blokach stosując zapis w postaci
zaledwie kilku liczb, co istotne - bez widocznej utraty jakości.

ƒ Kompensacja ruchu. Wykorzystywana jest w scenach dynamicznych


o statycznych właściwościach tła, co jest bardzo charakterystyczne
dla wywiadów czy scen rozmów. Zamiast podawać w każdej klatce
informacji o wszystkich pikselach, podaje się wyłącznie dane o tych
punktach, w których nastąpiły zmiany. W praktyce wygląda to mniej
więcej tak, że dla każdego bloku rozmiaru 16x16 punktów obliczany
jest wektor wskazujący na miejsce w poprzedniej klatce o największym
współczynniku podobieństwa. Informacje o wartościach wektora i różnicy
względem podobnego bloku wysyłane są do odbiornika. Metoda
ta charakteryzuje się bardzo dużą redukcją przesyłanych informacji,
względem pierwotnego materiału.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 61

ƒ Kodowanie Huffmana. Informacje przesyłane do odbiornika poddawane


są kodowaniu metodą Huffmana, w której wartości o dużym
współczynniku podobieństwa opisywane są przez krótkie ciągi znaków
zerojedynkowych a te o mniejszym podobieństwie reprezentowane
są przez dłuższe ciągi.

Podsumowując cały proces w pierwszej fazie następuje odtworzenie


danych w postaci binarnej dzięki kodowaniu metodą Huffmana. Kolejno
z przesłanych informacji o ruchu wektora tworzony jest obraz, jaki powstał
w wyniku przesunięcia bloków klatki odniesienia. Etap końcowy polega
na odtworzeniu bloków wraz z punktami obrazu, dzięki przesłanym
współczynnikom DCT.

MPEG-7 jest standardem opisu treści multimedialnej. Tym samym,


nie zawiera opisu samego sposobu kodowania a jedynie wykorzystuje format
XML do przechowywania meta danych, który może być dołączony do kodów
czasowych w celu sygnalizacji określonych zdarzeń lub np. synchronizacji
tekstu piosenki z muzyką.

Zaprojektowano go w celu standaryzacji:

ƒ zestawu schematów opisów i deskryptorów


ƒ języka opisującego te schematy, zwanego DDL (ang. Description
Definition Language)
ƒ schematu kodowania opisu

W zamierzeniu organizacji MPEG połączenie MPEG-4 i MPEG-7


(nazywane często MPEG-47) ma być idealnym rozwiązaniem dla efektywnego
przesyłu strumieniowego treści, jej zmiany i indeksowania.

MPEG-21 jest standardem przyszłościowym a jego celem jest dalsza


standaryzacja treści multimedialnych.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 62

Global Motion Compensation (GMC)

Kolejnym przykład zastosowania standardu MPEG-4, stanowiący


uzupełnienie istniejących kodeków DivX oraz XviD. Wykorzystuje się go celem
poprawy jakości kompresowanych scen związanych z występowaniem
gwałtownych ruchów postaci bądź obiektów.

Jego algorytm opiera się na analizie obrazu służącej wyodrębnieniu


odpowiednich fragmentów, nazywanych makro blokami, wspólnych dla ściśle
określonej sekwencji ramek. Ruch fragmentów kodowany jest dzięki wykorzystaniu
wektorów ruchu. Jeśli więc makro bloki pozostają przez określony czas
niezmienne, wówczas występuje kodowanie przy pomocy 1 bitu, bez konieczności
zapisywania zawartości całego bloku oraz wektora ruchu każdej ramki z osobna.

Format GMC wykorzystuje również kompresję całych fragmentów obrazów,


nawet w przypadku gdy wielkości obiektów pozostają niezmienne. Wówczas
mówimy o tzw. punktach zakrzywienia, które reprezentują wektory przesunięcia
jednego z czterech rogów badanego zakresu danych. Efekt ten pozwala
na znaczną redukcję opisów efektów typu: zoom oraz obrót. Punkty zakrzywienia
opisywane są w dodatkowej klatce typu S dodawanej do standardu klatek typu P.
Maksymalna dopuszczalna liczba stosowanych punktów zakrzywienia ma wartość
4, które ze względu na ogromną moc obliczeniową potrzebną do wykonania tego
procesu i tak w pełni nie są stosowane. Zwykle wystarczą dwa lub tylko jeden
punkt zakrzywienia, zależnie od kodeka, do konkretnego opisu sceny.

3IVX

Kodek obrazu stworzony przez organizację 3ivx Technologies. Służy


do tworzenia strumieni multimedialnych zgodnych ze standardem MPEG-4.
Został zaprojektowany pod kątem używania na słabszych urządzeniach
(np. przenośnych). Załączone wtyczki i filtry pozwalają na enkapsulację
w kontenerach multimedialnych Microsoftu (ASF i AVI) oraz Apple QuickTime.
Pozwala również na tworzenie prostych strumieni mp4 oraz AAC (Dolby Digital).
Inną ważną funkcją 3ivx jest zdolność nadawania strumieni w sieci.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 63

OGG (THEORA / TARKIN)

Format kontenera danych strumieniowych, popularyzowany głównie przez


organizację o nazwie Xiph.org. Powstał jako inicjatywa rozwoju wolnego
oprogramowania w dziedzinie dekodowania i kodowania multimediów.

Format Ogg znany jest z właściwości przechowywania multipleksowanych


strumieni dźwięków, obrazów oraz napisów. Wszystkie pliki zgodne ze specyfikacją
tego formatu powinny zawierać rozszerzenie „ogg” jednak bardzo często odnosi
się ono wyłącznie do muzyki, filmom natomiast przypisuje się rozszerzenie „ogm”.
Nie jest to zgodne ze standardem ale wybór należy wyłącznie do użytkownika.

Formatami pochodnymi od standardu Ogg są: Theora oraz Tarkin,


nad którymi jednak prace zostały szybko wstrzymane i nie doczekały się one
dalszych implementacji. Oba formaty zostały udostępnione na licencji
do ogólnego zastosowania. Warto również wspomnieć, iż Tarkin jako jeden
z nielicznych zamiast DCT stosuje trójwymiarową transformację falkową.

DIRAC

Eksperymentalny kodek obrazu utworzony i w dalszym stopniu rozwijany


przez telewizję BBC. Powstał on jako cyfrowy odpowiednik dotychczasowego
analogowego systemu PAL. W ten oto sposób telewizja BBC chce stać
się niezależną od istniejących standardów kodowania, które oczywiście są płatne.

Jakość standardu Dirac ma być porównywalna z najnowszymi kodekami


typu H.262 lub WMV9. Obecnie jest on jeszcze we wczesnej fazie rozwoju.
Językiem programowania w jakim powstaje jest C++, docelowo ma być natomiast
udostępniany na zasadach wolnej licencji GNU GPL.

Do najbardziej istotnych cech standardu Dirac zaliczamy obsługę


rozdzielczości od standardu QCIF - 180x144px do HDTV 1920x1080px. Trwają
również prace nad przystosowaniem go do standardów wysyłania strumieniowego
oraz zmniejszenia zapotrzebowania na pobór mocy procesorów w odbiornikach.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 64

ADVANCED VIDEO CODING (AVC)

Jeden z najnowszych standardów kodowania H.264/MPEG-4 o bardzo


małej przepływowości ale i znaczącej efektywności stopnia kompresji kodera
AVC. Ocenia się, iż w najbliższym czasie wyprze on dotychczasowe standardy,
nie tylko telewizji cyfrowej VOD ale także pod względem nowego zapisu
informacji na nośnikach optycznych.

Kodek H.264 powstał jako modyfikacja formatu H.263. W początkowej


fazie miał zawierać jedynie kilka istotnych poprawek względem swojego
poprzednika, w ramach jednak daleko idących modyfikacji powstał zupełnie
nowy format kodowania.

Obecnie jest on wykorzystywany w transmisji telewizji cyfrowej


o wysokiej rozdzielczości a także jako kodek stosowanych w oprogramowaniu
firmy Apple o nazwie Quick Time.

QPEL

Zbiór zawierający kilka metod kodowania i dekodowania obrazu,


w których wykorzystano algorytm przewidywania ruchu, celem ogólnej poprawy
jakości i zwiększenia stopnia kompresji.

Standardowo dla kodeka XviD precyzjapod względem rejestracji ruchu


wynosi pół piksela. Oznacza to, iż jest on w stanie zarejestrować ruch
z precyzją mniejszą niż wartość jednego piksela. Dla przykładu jeżeli obiekt
porusza się na ekranie z pozycji 000.100 do pozycji 000.101 zostanie on
zarejestrowany w ciągu następujących po sobie dwóch ramek, a jego wektor
ruchu opisze to zdarzenie jako polecenie: "przesuń obiekt o wartość jednego
piksela w prawo dla kolejnych dwóch ramek".

Zastosowanie algorytmu Qpel zwiększa opisaną precyzję aż dwukrotnie,


ponieważ potrafi on zarejestrować ruch już z dokładnością jednej czwartej piksela.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 65

Audio Video Interleave (AVI)

Format kodowania wprowadzony w 1992 roku przez Microsoft jako


odrębny element strategiczny, mający na celu przystosowanie systemu
Windows do wdrożenia multimediów, stanowiących część technologii pod
nazwą Video for Windows.

Jest on specjalną odmianą standardu RIFF, od którego zapożyczono


system zapisu informacji polegający na podziale obrazu na części. Każdemu
z kawałków przypisywany jest identyfikator FourCC. Technologię tą rozszerzono
dodając dwa bądź trzy kawałki o następującej charakterystyce:

ƒ HDRL - nagłówek pliku zawierający metadane określające rozmiar


obrazu a także liczbę klatek,
ƒ MOVI - zawiera właściwe dane obrazu i dźwięku,
ƒ IDXL - przechowuje informacje na temat położenia tzw. "części obrazu"
wewnątrz pliku AVI.

Technologia RIFF, którą wykorzystano w formacie AVI daje możliwość


kodowania danych nieskompresowanych lub poddanych kompresji. Do najczęściej
stosowanych w nim formatów kompresji obrazów zaliczamy: Real Time Video,
MPEG, MJPEG, DivX, XviD, QPEG, MPEG-4, Indeo, Cinepak, oraz inne.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 66

3.2 ANALIZA PLIKÓW WIDEO

Krok 1. Edycja filmów w programie VirtualDub pod kątem analizy obrazu.


W programie wyselekcjonowano fragmenty o długości 60 sekund każdy,
następnie zostały one zapisane jako pliki formatu AVI bez stosowania
jakiejkolwiek kompresji. Dalszy etap polegał na wysoce efektywnym kodowaniu,
przy użyciu wszelkich dostępnych na rynku algorytmów do kompresji wideo.

Rys. 3.1 Program VirtualDub do edycji obrazu wideo

Krok 2. Kodowanie wybranych fragmentów filmów, głównie przy użyciu


wspomnianego programu o nazwie VirtualDub, który wykorzystuje wtyczki
zainstalowanych w systemie operacyjnym kodeków. Do analizy wybrano 12
filmów, różniących się niemal pod każdym względem, ażeby szczegółowo
przedstawić różnice jakie dzięki temu mogą zaistnieć podczas przetwarzania
materiału. Każdy z filmów poddano trzystopniowej fazie kompresji, zgodnie
ze standardem na jaki pozwalał stosowany dekoder. Kompresja przybierała
we wszystkich przypadkach następujące wartości: 30, 60 oraz 90% jakości
kompresji lub w przypadku formatów o strumieniowym przetwarzaniu danych
używano kodowania na poziomie: 300, 600 lub 900kb/s. Pełna lista kodeków
została zamieszczona poniżej.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 67

Rys. 3.2 Przykładowe ustawieia kodowania obrazu kodeków DivX, H.264 oraz 3ivx

AVI 3IVX DIVX H.264 MJPEG MPEG-1 MPEG-2 THEORA XVID FLV

Rys. 3.3 Lista kodeków użytych do kompresji obrazów

Krok 3. W zależności od rodzaju plików używano różnych programów


kodowania, celem zapewnienia jak największej wydajności. Były to następujące
programy: Adobe Premiere, Flash Video Encoder, Pazera Video to Flash
Converter. Dzięki automatyce wprowadzanych zadań programy umożliwiały
samoczynne wykonywanie zaplanowanych poleceń.

Rys. 3.4 Kodowanie wyeksportowanych filmów do formatu FLV


Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 68

Rys. 3.5 Interface programu Adobe Premiere Rys. 3.6 Proces automatyzacji kodowania Flash V. E.

Krok 4. Analiza przekonwertowanego formatu pod kątem występowania


nieprawidłowości wynikających z błędów kodowania. W przypadku stwierdzenia
anomalii proces kodowania należy wykonać ponownie, aż do skutku.

Rys. 3.7 Przebieg procesu kodowania do formatu FLV


R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 69
9

Krok 5. Ocena wyeksporrtowanych plików. Mo


ożliwość p
porównania
a różnic

ądź podo
obieństw pomiędzy
p mi formattami a ta
wybranym akże właś
ściwości
w
wizualnych obrazu. Poniżej
P za
amieszczon
na została
a pełna do
okumentac
cję pod
w
względem w
wyboru od
dpowiednie
ego kodeka
a a także jego skute
eczności poprzez
p
po
orównanie nie tylko końcowego
k o rozmiaru pliku ale głównie
g jeg
go jakości.

AVII 3IVX DIVX H


H.264 MJPEG
G MPEG-1 MPEG-2 THEO
ORA XVID FLV
F
Film 01 17,82 MB 11,72 MB 04,60 MB 03,2
23 MB 19,48 MB
B 04,54 MB 0
04,82 MB 07,17
7 MB 04,50 MB 03,74 MB

F
Film 02 10,01 MB 12,37 MB 05,40 MB 04,3
35 MB 20,65 MB
B 05,54 MB 0
05,54 MB 05,95
5 MB 05,17 MB 03,29 MB

F
Film 03 08,72 MB 13,20 MB 05,60 MB 03,9
92 MB 21,36 MB
B 05,64 MB 0
05,63 MB 05,53
3 MB 04,51 MB 03,29 MB

F
Film 04 16,53 MB 12,70 MB 05,96 MB 04,8
80 MB 21,36 MB
B 05,88 MB 0
06,19 MB 06,94
4 MB 05,84 MB 03,51 MB
F
Film 05 10,25 MB 11,20 MB 03,84 MB 02,5
50 MB 19,48 MB
B 03,99 MB 0
04,11 MB 04,46
6 MB 03,53 MB 03,49 MB

F
Film 06 17,31 MB 13,63 MB 06,90 MB 05,4
42 MB 21,36 MB
B 06,82 MB 0
07,11 MB 08,10
0 MB 06,71 MB 03,71 MB

F
Film 07 09,17 MB 12,76 MB 05,66 MB 04,0
07 MB 21,36 MB
B 05,94 MB 0
05,95 MB 05,85
5 MB 04,75 MB 03,23 MB

F
Film 08 18,71 MB 13,60 MB 06,79 MB 05,0
01 MB 20,89 MB
B 06,45 MB 0
06,75 MB 07,52
2 MB 06,49 MB 03,80 MB

F
Film 09 15,56 MB 12,66 MB 05,83 MB 04,8
86 MB 21,36 MB
B 05,88 MB 0
06,14 MB 07,31 MB 05,91 MB 03,48 MB

F
Film 10 12,68 MB 12,43 MB 05,88 MB 04,3
34 MB 32,30 MB
B 05,76 MB 0
05,77 MB 06,09
9 MB 05,37 MB 03,99 MB
F
Film 11 17,42 MB 13,11 MB 06,26 MB 05,11 MB 21,36 MB
B 06,11 MB 0
06,47 MB 07,71 MB 06,25 MB 03,53 MB

F
Film 12 15,52 MB 13,36 MB 05,84 MB 04,6
63 MB 20,98 MB
B 05,64 MB 0
05,87 MB 06,92
2 MB 05,82 MB 03,81 MB

Tab. 3.1 Chara


akterystyka pod względem wybo
oru odpowiednie
ego kodeka a takkże jego skuteczzności (kompres
sja 30%)

35
A
AVI
30
3
3IVX
25 D
DIVX
20 H
H.264
M
MJPEG
15
M
MPEG‐1
10
M
MPEG‐2
5 T
THEORA
0 X
XVID
Film  Film  Film  Film  Film  Film  Film  Film  Film  Film 
F Film  Film 
F F
FLV
01 02 03 04 05 06 07 08 09 10 11 12

Ryys. 3.8 Wykress charakterysttyki kodeków przy


p zastosow
waniu kompressji 30%
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 70
0

AV
VI 3IVX DIVX H
H.264 MJPEG
G MPEG-1 MPEG-2 THEO
ORA XVID FLV

Film 01 24,52
2 MB 19,98 MB 05,91 MB 19,29 MB 37,48 MB 06,12 MB 0
06,12 MB 07,57 MB 05,86 MB 05,75 MB

Film 02 11,59
9 MB 20,86 MB 07,48 MB 11,34 MB 38,05 MB 07,69 MB 0
07,69 MB 07,34
4 MB 05,78 MB 05,28 MB

Film 03 09,70
0 MB 22,04 MB 07,81 MB 08,06 MB 39,36 MB 07,87 MB 0
07,87 MB 06,92 MB 04,84 MB 05,29 MB
Film 04 20,68
8 MB 21,27 MB 07,71 MB 17,82 MB 39,36 MB 07,75 MB 0
07,72 MB 07,87 MB 07,09 MB 05,50 MB

Film 05 12,67
7 MB 20,19 MB 05,93 MB 12,94 MB 37,48 MB 06,19 MB 0
06,19 MB 05,98 MB 04,05 MB 05,57 MB

Film 06 21,31
1 MB 22,09 MB 07,93 MB 19,67 MB 39,36 MB 08,14 MB 0
08,23 MB 08,80 MB 07,90 MB 05,43 MB

Film 07 10,59
9 MB 21,46 MB 07,81 MB 10,09 MB 39,36 MB 08,13 MB 0
08,14 MB 07,58 MB 05,17 MB 05,47 MB
Film 08 23,75
5 MB 20,98 MB 07,71 MB 18,81 MB 38,89 MB 07,62 MB 0
07,72 MB 08,35 MB 08,42 MB 05,55 MB

Film 09 18,65
5 MB 21,78 MB 07,77 MB 15,17 MB 39,36 MB 07,82 MB 0
07,85 MB 08,09 MB 06,86 MB 05,57 MB

Film 10 15,08
8 MB 18,59 MB 07,65 MB 09,57 MB 36,53 MB 07,77 MB 0
07,75 MB 07,49 MB 06,49 MB 06,53 MB
Film 11 21,63
3 MB 22,27 MB 07,73 MB 16,94 MB 39,36 MB 07,85 MB 0
07,86 MB 08,35 MB 07,51 MB 05,56 MB

Film 12 19,46
6 MB 22,25 MB 07,26 MB 14,02 MB 38,89 MB 07,49 MB 0
07,51 MB 07,75 MB 07,12 MB 05,84 MB

Ta
ab. 3.2 Charaktterystyka pod wzzględem wyboru
u odpowiedniego
o kodeka a także
e jego skuteczno
ości (kompresja 60%)

40
A
AVI
35
3
3IVX
30
D
DIVX
25
H
H.264
20
M
MJPEG
15 M
MPEG‐1
10 M
MPEG‐2
5 T
THEORA
0 X
XVID
Film  Film  Film  Film  Film  Film  Film  Film  Film  Film  Film  Film 
F F
FLV
01 02 03 04 05 06 07 08 09 10 11 12

Ryys. 3. 9 Wykres charakterystyyki kodeków przy


p zastosowa
aniu kompresjji 60%
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 71

4. BADANIE ALGORYTMÓW STRATNYCH KOMPRESJI

4.1 DYSKRETNA TRANSFORMATA KOSINUSOWA

Pojęcie dyskretnej transformaty kosinusowej (w skrócie DCT) pochodzi


od angielskiego zwrotu: "discrete cosine transform". Jest jedną z najbardziej
popularnych blokowych transformat danych jakie wykorzystywane są podczas
stratnych kompresji danych.

DCT przekształca skończony ciąg N liczb rzeczywistych lub zespolonych


g(0),…,g(N-1) w ciąg liczb (rzeczywistych lub zespolonych),...,G(N-1) zgodnie z
zależnościami:

N
1
G 0 g m
√N

N
2 πk 2m 1
G k g m cos
N 2N

dla k=1,2,...,N-1

G(k) są nazywane współczynnikami DCT. Definiuje się również odwrotną


dyskretną transformatę kosinusową (IDCT):

N
1 2 πk 2m 1
g m G 0 G k cos
√N N 2N

dla m=0,1,...,N-1
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 72

Zaletą transformaty DCT jest to, iż większość współczynników przeważnie


jest zwykle bliska zeru a po procesie kwantyzacji ostatecznie się wyzerują się,
co umożliwi lepszą kompresję danych. Mimo tego, że transformata DCT
ma charakter jednowymiarowy, w łatwy sposób można ją składać, dzięki czemu
może również działać na blokach dwu lub więcej wymiarowych.

Transformata DCT jest powszechnie używana w kompresji formatów:


JPEG oraz MPEG. Stosując algorytm podziału obrazu na charakterystyczne
bloki o stałych rozmiarach (np. 8x8), następnie trwa proces transformaty tych
bloków, kwantyzacja i w końcowym etapie kompresja bezstratna.

Głównym problemem kodowania transformatowego opartego na blokach


DCT są gwałtowne skoki wartości w granicznych obszarach zrekonstru-
owanych bloków, co nosi nazwę efektu blokowego. Jednym ze sposobów
minimalizacji tego zjawiska jest używanie większych bloków w przypadku
obrazków o większym stopniu kompresji. Dobrym przykładem jest tutaj format
JPG, dla którego stosuje się bloki o rozmiarach: 16x16 a także 32x32. Kolejnym
sposobem jest używanie zmodyfikowanej wersji DCT nazywanej
zmodyfikowaną dyskretną transformatą kosinusową (w skrócie MDCT). Metoda
ta używa nachodzących na siebie bloków lub transformat falkowych.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 73

4.2 ALGORYTM FALKI

Falki należą do rodziny funkcji zbioru liczb rzeczywistych, w których


każda z nich jest wyprowadzona z funkcji matki (tzw. macierzystej) za pomocą
przesunięcia i skalowania:

, t 2 t k

gdzie: j,k - liczby całkowite, – funkcja matka, , - falka o skali j i

przesunięciu k (zwana też funkcją falkową)

Funkcje te dążą do zera (lub są równe zero poza pewnym


przedziałem) dla argumentu dążącego do nieskończoności, zaś ich suma
ważona umożliwia przedstawienie z dowolną dokładnością dowolnej funkcji
ciągłej całkowalnej z kwadratem, podobnie jak funkcje cosinus o różnych
okresach i przesunięciach umożliwiają przedstawienie z dowolną dokładno-
ścią każdej całkowalnej funkcji okresowej.

2 , , , t L2 ,
,

Falki są używane w analizie i przetwarzaniu sygnałów cyfrowych,


w kompresji obrazu i dźwięku oraz w wielu innych dziedzinach. Najprostsze z
nich to falki Haara.
R
Roman Janko
owski - 14470 - Badanie algo
orytmów stratnych kompressji obrazów gra
aficznych 74
4

4..3 FALK
KI HAARA
A

a Haara jest pierwsszą znaną


Falka ą falką, która zosta
ała wprow
wadzona
w 1909 roku
u przez Alfréda
A Haa
ara. Jest to
t szczegó
ólnie prostta falka, o funkcji
m
macierzyste
ej określanej następu
ującym wzo
orem:

a ta ma zwa
Falka arty nośnikk (supp(H) =[0,1]),
= jedn
nak jej wad
dą jest niec
ciągłość,
a więc także
e nieróżnicczkowalnośść, co moż
że mieć isto
otne znaczzenie w nie
ektórych
astosowaniach. Falki te stosowa
za anie są w kompresji obrazu i dźw
więku.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 75

4.4 KOMPRESJA FRAKTALNA

Kompresja fraktalna stanowi system kompresji stratnej opierający swoje


działanie na wykorzystaniu fraktali do reprezentacji danych. Używany jest on
niemal wyłącznie do kompresji obrazów. Najbardziej popularnym zestawem
fraktali są systemy funkcji iterowanych IFS (ang. Iterated Functions System).

Dzięki kompresji fraktalnej można uzyskać bardzo dobre wyniki zarówno


stosując wysoki stopnień kompresji jak i wówczas gdy istotne jest dla nas
zachowanie wysokiej jakości obrazu, co akurat wiąże się w tym przypadku
z operacją bardzo czasochłonną. Ze względu na problemy patentowe i istnienie
znacznie lepszej metody falek kompresja fraktalna nigdy nie była szerzej
stosowana w praktyce.

Rys. 4.1 Sposób podziału obrazu na części Rys. 4.2 Rekonstrukcja - wygląd po pierwszej iteracji

Przebieg zastosowania kompresji fraktalnej:

ƒ podział obrazu na mniejsze - równe części


ƒ wyszukiwanie wzajemnych podobieństw pomiędzy blokami, a także
analiza pod kątem powtarzalności pomiędzy małymi i większymi obiektami
ƒ analiza wykazała, że części: 2 oraz 3 wyglądają identycznie jak cały
obraz w pomniejszeniu, część nr 1 jest koloru białego a nr 4 czarnego.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 76

Na podstawie wyżej zapisanych informacji będziemy w stanie


odtworzyć nasz obraz z postaci skompresowanej. W tym celu należy wykonać
następujące czynności:

ƒ wybieramy dowolny obraz (np. szare tło) po czym malujemy: część


pierwszą na kolor biały, czwartą zaś na czarno.
ƒ pomniejszamy obraz czterokrotnie umieszczając go następnie
w polach o numerach dwa oraz trzy.
ƒ Dzięki odpowiedniej liczbie powtórzeń powyższej operacji uzyskamy
obraz zbliżony do oryginału.

Użyte na przykładzie polecenia: "weź kawałek obrazu z miejsca x


pomniejsz i wklej w miejscu y" są właśnie tytułowymi funkcjami. Poza
zmniejszaniem mogą one również wykonywać inne operacje na obrazie
jak chociażby obroty czy zmiana jasności.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 77

5 PROJEKTOWANIE SYSTEMU WERYFIKACJI ALGORYTMÓW


KOMPRESJI STRATNYCH

5.1 WYBÓR ODPOWIEDNICH NARZĘDZI PROGRAMOWANIA

Niewątpliwie dla programisty najbardziej istotną sprawą jest wybór


właściwego oprogramowania, które nie tylko pozwoli na uwidocznienie
wszystkich istotnych funkcji ale przede wszystkim zapewni duże wsparcie
ze swojej strony. Powinno być rozwiązaniem bardzo prostym ale zarazem
na tyle nowatorski ażeby przykuło naszą uwagę.

Język programowania Action scripts w połączeniu z technologią Flash


i dynamicznym językiem XML stanowić powinien idealne rozwiązanie
dla systemu weryfikacji jaki należy w tym celu stworzyć.

Zawsze warto zastanowić się nad tym czy zależy nam na tworzeniu
danego systemu od podstaw czy jesteśmy w stanie skorzystać z istniejących
już funkcji, które wymagają jedynie modyfikacji, dzięki którym dostosujemy
wszystko do własnych potrzeb. W myśl poprzedniego stwierdzenia wybór
był oczywisty. System weryfikacji algorytmów będzie wspierany przez
rozwiązania z dziedziny multimediów, które jednocześnie sprawią, iż zyska
on jeszcze bardziej na swojej ocenie.

Komponenty składowe systemu zawierać będą przeglądarkę


dokumentów w formie elektronicznej oraz zmodyfikowany player
do odtwarzania filmów.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 78

5.2 PRAKTYCZNE ZASTOSOWANIE ALGORYTMÓW

SYSTEM PRZEGLĄDARKI NA STRONIE WWW

Rozwój Internetu niesie ze sobą niebywałe możliwości.. Jedną z nowinek


programistycznych stosowanych już od jakiegoś czasu jest system
przeglądania dokumentów elektronicznych na stronie WWW postaci książki
z przewracanymi kartami.

Rys.5.1 Screen przeglądarki na stronie WWW

Działanie skryptu tego komponentu jest niezwykle proste i opiera


się na kilku linijkach kodu, który wystarczy zinterpretować we właściwy sposób.
Poniżej zamieszczam fragment kodu XML, który odpowiedzialny jest za wygląd
przeglądarki a także poprawne ładowanie przeglądanych dokumentów.
Obsługiwane formaty dokumentów to między innymi : JPG, SWF, PDF.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 79

<content width="420" height="600" bgcolor="303030"


loadercolor="ffffff" panelcolor="800000" buttonco-
lor="5d5d61" textcolor="ffffff">
<page src="pages/01.jpg" />
<page src="pages/02.jpg" />
<page src="pages/03.jpg" />
<page src="pages/04.jpg" />
<page src="pages/05.jpg" />
<page src="pages/06.jpg" />
<page src="pages/07.jpg" />
<page src="pages/08.jpg" />
<page src="page/09.jpg" />
<page src="pages/10.jpg" /><page
src="pages/11.jpg" />
<page src="pages/12.jpg" />
<page src="pages/13.jpg" />
<page src="pages/14.jpg" />
<page src="pages/15.jpg" />
<page src="pages/16.jpg" />
<page src="pages/17.jpg" />
<page src="pages/18.jpg" />
<page src="pages/19.jpg" />
<page src="pages/20.jpg" />
</content>

Rys.5.1 Fragment kodu strony XML przeglądarki


Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 80

ODTWARZACZ FILMÓW TECHNOLOGI FLASH

Jest to kolejny przykład zastosowania komponentów z rodziny Adobe


Flash w połączeniu ze skryptowym językiem programowania. Zasada działania
samego playera jest poniekąd zbliżona do przeglądarki WWW posiada jednak
wiele ulepszeń pod kątem multimediów i strumieniowego przesyłania danych.

Rys.5.2 Podgląd funkcji playera w wersji z aktywnym wraz z ustawieniami

<?xml version="1.0" encoding="UTF-8"?>


<gallery>
<album id="ssp" lgPath="player/filmy/divx/" tnPath="player/filmy/divx_m/"
title="Kodek: DivX" description="Zastosowanie kodeka na przykładzie wybranych
filmów" tn="player/filmy/divx_m/preview.jpg">
<img src="bw_300_kbps.flv" title="" caption="" link="" target="_blank" pause=""
vidpreview="" />
<img src="bw_600_kbps.flv" title="" caption="" link="" target="_blank" pause=""
vidpreview="" />
<img src="bw_900_kbps.flv" title="" caption="" link="" target="_blank" pause=""
vidpreview="" />
</album>

<album id="ssp2" lgPath="player/filmy/xvid/" tnPath="player/filmy/xvid/"


title="Kodek: XviD" description="Zastosowanie kodeka na przykładzie wybranych

Rys.5.3 Fragment kodu strony XML przeglądarki


Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 81

Player posiada możliwość odtwarzania nie tylko obrazów i animacji


na stronie internetowej ale przede wszystkim filmów w formacie FLV co czyni
go aplikacją przyszłościową o bogatym zastosowaniu.

Obsługa playera opiera się o prostych instrukcjach kodu XML co sprzyja


szybkiemu rozwojowi tego języka w znacznie szerszym kręgu odbiorców. Player
jest edytowalny od strony języka Flash i pozwala na niewielkie modyfikacje
zarówno pod względem technicznym jak i wizualnym.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 82

PODSUMOWANIE

Tematem pracy magisterskiej jest: „Badanie algorytmów stratnych


kompresji obrazów graficznych”. Po dokładnym zapoznaniu się z elementami
grafiki rastrowej oraz wektorowej a także z szeroko pojętą teorią obrazu
wideo uważam, iż generalnie można podjąć próby określenia czy też
przypisania pewnej grupie kodeków ich docelowych odpowiedników, którym
najbardziej będą one odpowiadały pod wieloma technicznymi względami.

Samo jednak pojęcie słowa kompresji ma o tyle szerokie


zastosowanie, że jednoznacznie trudno jest znaleźć uniwersalny kodek
do każdego rodzaju zastosowania. Uważam, iż w pierwszej kolejności
należy kierować się w swych wyborach w oparciu o metody sprawdzone
i wyspecjalizowane w konkretnej dziedzinie.

Największe bowiem znaczenie ma to, czy algorytmy kompresji


stosujemy zgodnie z ich przeznaczeniem i rodzajem danych, dla których
zostały one napisane.
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 83

LITERATURA

T. Pavlidis, Grafika i przetwarzanie obrazów, Warszawa 1987


P. Wojtaszczyk, Teoria falek, Warszawa 2000
K. Sayood, Kompresja danych - wprowadzenie, RM 2002
D. Nasiłowski, Jakościowe Aspekty kompresji obrazu i dźwięku, Warszawa 2004
HELION, Adobe Photoshop CS3 Professional, Gliwice 2007
HELION, Adobe Flash CS3 Professional, Gliwice 2008

http://pl.wikipedia.org
http://slownik.komputerowy.pl
http://helionica.pl/
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 84

SPIS TABEL I ILUSTRACJI

SPIS TABEL
Tab. 2.01 Zastosowanie algorytmu JPG w programie Photoshop CS3
Tab. 2.02 Zastosowanie algorytmu JPG przy zapisie do formatu PDF
Tab. 2.03 Tabela przedstawiająca zastosowanie algorytmu JPG przy zapisie do formatu TIFF
Tab. 2.04 Zapis formatów z kompresją bezstratną: PNG, GIF, WBMP
Tab. 2.05 Zastosowanie algorytmu JPG w programie Photoshop CS3
Tab. 2.06 Zastosowanie algorytmu JPG przy zapisie do formatu PDF
Tab. 2.07 Zastosowanie algorytmu JPG 2000 przy zapisie do formatu PDF
Tab. 2.08 Zapis do formatu TIFF w programie Illustrator CS3
Tab. 2.09 Zapis do formatu WMF oraz PNG w programie Illustrator CS3
Tab. 2.10 Zapis do formatu SVG oraz SVGZ w programie Illustrator CS3
Tab. 2.11 Tabela przedstawiająca zastosowanie algorytmów stratnych przy zapisie do formatu SWF
Tab. 2.12 Zastosowanie algorytmu JPG w programie Fireworks CS3
Tab. 2.13 Zastosowanie algorytmu JPG przy zapisie do formatu SWF w programie Fireworks CS3
Tab. 2.14 Tabela przedstawiająca zapis do formatów: TIFF, GIF, WBMP w programie Fireworks CS3
Tab. 2.15 Zastosowanie algorytmu kompresji stratnej JPG w programie Adobe Flash CS3
Tab. 2.16 Zapis do formatów: SWF, PNG, GIF w programie Adobe Flash CS3
Tab. 2.17 Zastosowanie algorytmu JPG w programie Corel Draw X3
Tab. 2.18 Zastosowanie algorytmu JPG 2000 w programie Corel Draw X3
Tab. 2.19 Zastosowanie algorytmu JPG przy eksporcie do pliku PDF w programie Corel Draw X3
Tab. 2.20 Tabela przedstawiająca zastosowanie algorytmów: TIFF, WMF, PNG oraz GIF
Tab. 2.21 Zastosowanie algorytmu JPG w programie Corel Photo-Paint X3
Tab. 2.22 Zastosowanie algorytmu JPG 2000 w programie Corel Photo-Paint X3
Tab. 2.23 Zastosowanie algorytmu JPG przy eksporcie do pliku PDF w programie Corel Photo-Painx X3
Tab. 2.24 Tabela przedstawiająca zastosowanie algorytmów: TFF, PNG, GIF
Tab. 2.25 Zastosowanie algorytmu DJVU
Tab. 2.26 Zastosowanie algorytmów stratnych do kompresji tekstu
Tab. 2.27 Zastosowanie algorytmów stratnych do kompresji obiektów i wykresów

Tab. 3.01 Charakterystyka pod względem wyboru odpowiedniego kodeka a także jego skuteczności (kompresja 30%)
Tab. 3.02 Wykres charakterystyki kodeków (przy zastosowaniu kompresji kompresja 60%)
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 85

SPIS ILUSTRACJI

Rys. 1.01 Sześcian kolorów RGB


Rys. 1.02 Synteza addywna mieszania farb
Rys. 1.03 Głębia kolorów RGB (R 255, G 0, B 0)
Rys. 1.04 Głębia kolorów RGB ( R 0, G 0, B 0)
Rys. 1.05 Charakterystyka bitmapy (rozmiar, rozdzielczość, liczba bitów)
Rys. 1.06 Bitmapa z paletą barwną 8-bitową
Rys. 1.07 Bitmapa z paletą barwną 16-bitową
Rys. 1.08 Bitmapa 8-bitowa w rozdzielczości 72 ppi
Rys. 1.09 Bitmapa 8-bitowa w rozdzielczości 300 ppi
Rys. 1.10 Adobe Illustrator (grafika wektorowa)
Rys. 1.11 Adobe Photoshop (grafika rastrowa)
Rys. 1.12 Grafika wektorowa (powiększenie obiektu)
Rys. 1.13 Grafika rastrowa (powiększenie obiektu)
Rys. 1.14 Grafika wektorowa (obrót obiektu)
Rys. 1.15 Grafika rastrowa (obrót obiektu)
Rys. 1.16 Adobe Illustrator (eksport do bitmapy)
Rys. 1.17 Corel Draw (eksport do bitmapy)
Rys. 1.18 Adobe Flash (eksport do bitmapy)
Rys. 1.19 Adobe Illustrator (trasowanie)
Rys. 1.20 Corel Draw (trasowanie)
Rys. 1.21 Adobe Flash (trasowanie)

Rys. 2.01 Zastosowanie kanału R, G, B oraz Gray dla badanego obiektu


Rys. 2.02 Zmiana palety barw na monochromatyczną)
Rys. 2.03 Zmiana barwy i nasycenia koloru
Rys. 2.04 Zastosowanie krzywych tonalnych
Rys. 2.05 Wybór stopnia kompresji JPG w programie Photoshop CS3
Rys. 2.06 Wykres zastosowania algorytmu JPG w progranie Photoshop CS3
Rys. 2.07 Wybór stopnia kompresji JPG przy zapisie do formatu PDF oraz TIFF w programie Photoshop CS3
Rys. 2.08 Wykres zastosowania algorytmu JPG przy zapisie do formatu PDF
Rys. 2.09 Wykres zastosowania algorytmu JPG przy zapisie do formatu TIFF
Rys. 2.10 Zapis formatów z kompresją bezstratną: PNG, GIF, WBMP w programie Photoshop CS3
Rys. 2.11 Wykres zapisu formatów z kompresją bezstratną: PNG, GIF, WBMP
Rys. 2.12 Wybór stopnia kompresji JPG w programie Illustrator CS3 (dla WEB po lewej, alternatywnie eksport)
Rys. 2.13 Wykres zastosowania algorytmu JPG w programie Photoshop CS3
Rys. 2.14 Wybór stopnia kompresji JPG przy zapisie do formatu PDF oraz TIFF w programie Illustrator CS3
Rys. 2.15 Wykres zastosowania algorytmu JPG przy zapisie do formatu PDF
Rys. 2.16 Wykres zastosowania algorytmu JPG 2000 przy zapisie do formatu PDF
Rys. 2.17 Wykres zastosowania algorytmu JPG przy zapisie do formatu TIFF
Rys. 2.18 Opcje eksportu do formatu WMF oraz PNG w programie Illustrator CS3
Rys. 2.19 Wykres zapisu do formatu WMF oraz PNG w programie Illustrator CS3
Rys. 2.20 Zapis do formatu SVG oraz SVGZ w programie Illustrator CS3
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 86

Rys. 2.21 Wykres zapisu do formatu SVG oraz SVGZ w programie Illustrator CS3
Rys. 2.22 Zapis do formatu SWF w programie Illustrator CS3
Rys. 2.23 Wykres zastosowania algorytmów stratnych przy zapisie do formatu SWF w programie Illustrator CS3
Rys. 2.24 Wybór stopnia kompresji JPG w programie Fireworks CS3
Rys. 2.25 Wykres zastosowania algorytmu JPG w programie Fireworks CS3
Rys. 2.26 Wybór stopnia kompresji JPG przy zapisie do formatu SWF
Rys. 2.27 Wykres zastosowania algorytmu JPG przy zapisie do formatu SWF w programie Fireworks CS3
Rys. 2.28 Zapis do formatów: TIFF, GIF, WBMP w programie Fireworks CS3
Rys. 2.29 Wykres przedstawiający zapis do formatów: TIFF, GIF, WBMP w programie Fireworks CS3
Rys. 2.30 Wybór stopnia kompresji i eksportu formatów plików w programie Adobe Flash CS3
Rys. 2.31 Szczegółowe opcje kompresji i eksportu formatów plików w programie Adobe Flash CS3
Rys. 2.32 Wykres zastosowania algorytmu kompresji stratnej JPG w programie Adobe Flash CS3
Rys. 2.33 Wykres przedstawiający zapis do formatów: SWF, PNG, GIF w programie Adobe Flash CS3
Rys. 2.34 Wybór stopnia kompresji JPG
Rys. 2.35 Wykres zastosowania algorytmu JPG w programie Corel Draw X3
Rys. 2.36 Wybór stopnia kompresji JPG 2000
Rys. 2.37 Wykres zastosowania algorytmu JPG 2000 w programie Corel Draw X3
Rys. 2.38 Funkcje eksportu do pliku PDF oferowane przez program Corel Draw X3
Rys. 2.39 Wykres zastosowania algorytmu JPG przy eksporcie do pliku PDF w programie Corel Draw X3
Rys. 2.40 Funkcje zapisu dla pliku TIFF oraz GIF w programie Corel Draw X3
Rys. 2.41 Właściwości zapisu dla pliku WMF
Rys. 2.42 Właściwości eksportu do formatu PNG
Rys. 2.43 Wykres zastosowanie algorytmów: TIFF, WMF, PNG oraz GIF
Rys. 2.44 Właściwości eksportu do formatu SWF w programie Corel Draw X3
Rys. 2.45 Właściwości eksportu do formatu SVG w programie Corel Draw X3
Rys. 2.46 Wykres zastosowanie algorytmów: TIFF, WMF, PNG oraz GIF
Rys. 2.47 Wykres zastosowania algorytmu JPG w programie Corel Photo-Paint X3
Rys. 2.48 Wykres zastosowania algorytmu JPG 2000 w programie Corel Photo-Paint X3
Rys. 2.49 Wykres zastosowania algorytmu JPG przy eksporcie do pliku PDF w programie Corel Photo-Painx X3
Rys. 2.50 Właściwości eksportu do formatu GIF w programie Corel Photo-Paint X3
Rys. 2.51 Wykres przedstawiający zastosowanie algorytmów: TFF, PNG, GIF
Tab. 2.52 Screeny ze strony: http://any2djvu.djvuzone.org
Rys. 2.53 Wykres zastosowania algorytmu DJVU
Rys. 2.54 Wykres zastosowania algorytmów stratnych do kompresji tekstu
Rys. 2.55 Wykres zastosowania algorytmów stratnych do kompresji obiektów i wykresów
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 87

Rys. 3.01 Program VirtualDub do edycji obrazu wideo


Rys. 3.02 Przykładowe ustawieia kodowania obrazu kodeków DivX, H.264 oraz 3ivx
Rys. 3.03 Lista kodeków użytych do kompresji obrazów
Rys. 3.04 Kodowanie wyeksportowanych filmów do formatu FLV
Rys. 3.05 Interface programu Adobe Premiere
Rys. 3.06 Proces automatyzacji kodowania Flash V. E.
Rys. 3.07 Przebieg procesu kodowania do formatu FLV
Rys. 3.08 Wykres charakterystyki kodeków przy zastosowaniu kompresji 30%
Rys. 3.09 Wykres charakterystyki kodeków przy zastosowaniu kompresji 60%
Rys.4.01 Sposób podziału obrazu na części
Rys.4.02 Rekonstrukcja - wygląd po pierwszej iteracji

Rys.5.01 Fragment kodu strony XML przeglądarki


Rys.5.02 Podgląd funkcji playera w wersji z aktywnym wraz z ustawieniami
Rys.5.03 Fragment kodu strony XML przeglądarki
Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych 88

ZAŁĄCZNIKI

1 płyta CD zawierająca pracę magisterską w formacie DOC oraz DOCX.

You might also like