Praca Magisterska Roman Jankowski
-
Upload
artstudiobiz -
Category
Documents
-
view
2.839 -
download
0
Transcript of Praca Magisterska Roman Jankowski
1 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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
2 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
3 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
4 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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
5 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
6 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
7 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
8 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
9 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
10 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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)
11 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
12 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
13 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
14 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
15 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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)
16 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
17 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
18 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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,
19 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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,
20 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
21 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
22 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
23 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
24 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
25 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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ć.
26 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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)
27 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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
JP
ja
po
st
Roman Janko
Adob
Krok
PG przy z
akości. Wy
ozostałe a
tałych właś
Kanał
Kanał
Kanał
Kanał
Tab. 2.1
Rys. 2.6
0200400600800
100012001400
owski - 14470
be Photos
1. Opis d
zastosowa
yniki analiz
algorytmy
ściwości.
Rys. 2.5 W
Pli
Red
Green
Blue
Gray
Zastosowanie
Wykres zasto
00000000
Kanał Red
- Badanie algo
shop CS3
ziałania al
niu trzech
zy zostały
kompresji
Wybór stopnia
k źródłowy P
1300 kB
1330 kB
1250 kB
511,0 kB
e algorytmu JP
osowania algo
d Kanał Gree
orytmów strat
lgorytmu k
h różnych
porównan
i, przy jed
a kompresji JP
PSD JPEG
125
142
140
71,2
PG w program
orytmu JPG w
en Kanał Blue
nych kompres
kompresji z
stopni ko
ne z danym
dnoczesny
PG w program
- 90% JPE
5 kB 4
2 kB 5
0 kB 5
2 kB 3
mie Photoshop
progranie Pho
e Kanał Gray
sji obrazów gra
z zapisem
ompresji: 3
mi jakie u
ym zachow
ie Photoshop
EG - 60%
47,0 kB
55,5 kB
53,9 kB
30,1 kB
p CS3
otoshop CS3
Pli
JP
JP
JP
aficznych
m pliku do
30, 60 ora
zyskano s
waniu wsz
CS3
JPEG - 30%
20,2 kB
23,6 kB
23,3 kB
15,0 kB
ik źródłowy PSD
PEG - 90%
PEG - 60%
PEG - 30%
28
formatu
az 90%
stosując
zystkich
D
8
R
T
fo
ni
St
(0
Ry
Roman Janko
Krok
IFF, przy
ormaty po
ieskompres
topień kom
0-4) / Mediu
ys. 2.7 Wybór
Kanał
Kanał G
Kanał
Kanał G
Tab. 2.2
Rys. 2.8
20406080
100120140
owski - 14470
2. Przeds
zapisie kt
osiadają
sowanej j
mpresji w t
um (5-7) / H
stopnia kompr
Pli
Red
Green
Blue
Gray
Zastosowanie
Wykres zasto
000000000000000
Kanał Re
- Badanie algo
tawienie z
órych stos
również
ak i przy
tym przypa
High (8-9)
resji JPG przy
k źródłowy P
1300 kB
1330 kB
1250 kB
511,0 kB
e algorytmu JP
osowania algo
ed Kanał Gree
orytmów strat
zależności
sowany je
zdolność
y zastosow
adku przyjm
/ Maximum
zapisie do for
PSD PDF -
951,0
994,0
975,0
369,0
PG przy zapis
orytmu JPG pr
en Kanał Blue
nych kompres
pomiędzy
st algorytm
do zap
waniu alg
muje stałe
m (10-12).
rmatu PDF ora
High PDF
0 kB 9
0 kB 9
0 kB 9
0 kB 3
ie do formatu
rzy zapisie do
e Kanał Gray
sji obrazów gra
formatami
m kompre
pisu zaró
gorytmu ko
wartości
az TIFF w prog
F - Medium
932,0 kB
973,0 kB
954,0 kB
356,0 kB
formatu PDF
Plik
PD
PD
PD
aficznych
plików PD
sji JPG. O
ówno w
ompresji s
na poziom
gramie Photos
PDF - Low
924,0 kB
965,0 kB
946,0 kB
351,0 kB
k źródłowy PSD
DF - High
DF - Medium
DF - Low
29
DF oraz
Obydwa
formie
stratnej.
mie: Low
hop CS3
w
D
9
R
K
K
K
K
Ta
Ry
fo
za
po
pe
ja
w
Ry
Roman Janko
Kanał Red
Kanał Green
Kanał Blue
Kanał Gray
ab. 2.3 Tabela
ys. 2.9 Wykres
Krok
ormatów pl
ależności
oddane dz
ewne ogr
ak chociażb
w przedziale
ys. 2.10 Zapis
0200400600800
100012001400160018002000
owski - 14470
Plik źródł
1300
1330
1250
511,0
przedstawiają
s zastosowan
3. Użyc
ików: PNG
pomiędzy
ziałaniom a
raniczenia
by dla prz
e od 2 do 2
s formatów z k
Kanał Red
- Badanie algo
owy PSD
0 kB
0 kB
0 kB
0 kB
ąca zastosowa
ia algorytmu J
cie algory
G, GIF oraz
wielkości
algorytmów
wpływają
zykładu for
256 kolorów
kompresją bez
Kanał Green
orytmów strat
Format TIFF
1850 kB
1870 kB
1830 kB
677,0 kB
anie algorytmu
JPG przy zapis
ytmów ko
z WBMP. M
ią i jakoś
w kompresj
ące na ic
rmat GIF,
w.
zstratną: PNG,
Kanał Blu
nych kompres
TIFF - Hig
736,0 kB
755,0 kB
717,0 kB
302,0 kB
u JPG przy za
sie do formatu
mpresji b
Metoda ta
ścią plików
ji stratnych
ch później
który ofer
, GIF, WBMP w
ue Kanał
sji obrazów gra
h TIFF - M
714,0
730,0
691,0
292,0
apisie do forma
u TIFF
bezstratnej
pozwala o
w, które m
h, to w swy
jszą form
ruje zapis
w programie P
Gray
aficznych
Medium TIF
0 kB 70
0 kB 72
0 kB 68
0 kB 29
atu TIFF
na przy
ocenić i po
mimo iż n
ym zapisie
ę i właśc
z paletą
Photoshop CS
Plik źródło
Format TI
TIFF - Hig
TIFF - Me
TIFF - Low
30
FF - Low
07,0 kB
22,0 kB
82,0 kB
97,0 kB
ykładzie
orównać
nie były
stosują
ciwości,
barwną
S3
owy PSD
FF
gh
dium
w
0
R
Roman Janko
Kanał
Kanał
Kanał
Kanał
Tab. 2.4
Rys. 2.11
20406080
100120140
owski - 14470
Plik
Red
Green
Blue
Gray
Zapis formató
1 Wykres zap
000000000000000
Kanał Re
- Badanie algo
k źródłowy P
1300 kB
1330 kB
1250 kB
511,0 kB
ów z kompres
isu formatów
d Kanał Gree
orytmów strat
SD Format
353,0
361,0
366,0
164,0
sją bezstratną
z kompresją b
en Kanał Blue
nych kompres
t PNG Form
0 kB 13
0 kB 13
0 kB 13
0 kB 16
ą: PNG, GIF, W
bezstratną: PN
e Kanał Gray
sji obrazów gra
mat GIF F
1,0 kB
7,0 kB
8,0 kB
7,0 kB
WBMP
NG, GIF, WBM
Plik
For
For
For
aficznych
Format WBMP
51,0 kB
51,0 kB
51,0 kB
51,0 kB
MP
k źródłowy PSD
rmat PNG
rmat GIF
rmat WBMP
3
P
D
1
R
JP
ja
w
Ry
Roman Janko
Adob
Krok
PG przy z
akości lub
w 10-cio sto
ys. 2.12 Wybór
Kanał
Kanał
Kanał
Kanał
Tab. 2.5
Rys. 2.13
0100200300400500600700800
owski - 14470
be Illustrat
1. Opis d
zastosowa
alternatyw
opniowej sk
r stopnia kompr
P
Red
Green
Blue
Gray
Zastosowanie
3 Wykres zast
000000000
Kanał Red
- Badanie algo
tor CS3
ziałania al
niu trzech
wnie na po
kali.
resji JPG w pro
lik źródłowy A
688 kB
715 kB
710 kB
266 kB
e algorytmu J
tosowania alg
d Kanał Gree
orytmów strat
lgorytmu k
h różnych
oziomie: M
ogramie Illustrat
AI JPEG
126
143
130
71,2
PG w program
gorytmu JPG w
en Kanał Blue
nych kompres
kompresji z
stopni ko
Medium (3)
tor CS3 (dla W
- 90% JPE
6 kB 4
3 kB 5
0 kB 5
2 kB 3
mie Photosho
w programie P
e Kanał Gra
sji obrazów gra
z zapisem
ompresji: 3
) / High (6
WEB po lewej lub
EG - 60%
47,3 kB
55,7 kB
51,5 kB
30,1 kB
op CS3
Photoshop CS3
ay
P
J
J
J
aficznych
m pliku do
30, 60 ora
6) / Maxim
b alternatywnie
JPEG - 30%
20,2 kB
23,6 kB
22,4 kB
15,0 kB
3
Plik źródłowy AI
JPEG - 90%
JPEG - 60%
JPEG - 30%
32
formatu
az 90%
mum (9)
e eksport)
2
R
T
fo
w
P
op
Ry
Roman Janko
Krok
IFF z kom
ormatu TIF
względu na
DF zastos
pcje: Minim
ys. 2.14 Wybó
Kanał
Kanał
Kanał
Kanał
Tab. 2.6
Rys. 2.15
0100200300400500600700800
owski - 14470
2. Przedst
mpresją str
FF nie było
a ogranicz
sowano na
mum oraz M
r stopnia komp
P
Red
Green
Blue
Gray
Zastosowanie
5 Wykres zast
000000000
Kanał Red
- Badanie algo
tawienie z
ratną algo
o możliwoś
enia progr
poziomie:
Maximum.
presji JPG przy
lik źródłowy A
688 kB
715 kB
710 kB
266 kB
e algorytmu JP
tosowania alg
d Kanał Gree
orytmów strat
ależności
orytmu JPG
ści zastos
ramu Ado
: Low / Me
y zapisie do fo
AI PDF -
208
215
218
279
PG przy zapis
gorytmu JPG p
en Kanał Blue
nych kompres
pomiędzy
G oraz JP
owania al
be Illustra
edium / Hig
ormatu PDF or
High PDF
kB
kB
kB
kB
ie do formatu
przy zapisie do
e Kanał Gra
sji obrazów gra
formatami
PG 2000.
gorytmu k
ator. Komp
gh, wyłącz
raz TIFF w pro
F - Medium
190 kB
196 kB
198 kB
279 kB
o formatu PDF
y
P
P
P
P
aficznych
i plików PD
Przy zap
kompresji J
presję do
zając dwie
ogramie Illustra
PDF - Low
183 kB
188 kB
190 kB
279 kB
F
Plik źródłowy AI
PDF - High
PDF - Medium
PDF - Low
33
DF oraz
pisie do
JPG ze
formatu
skrajne
ator CS3
3
R
Roman Janko
Kanał
Kanał
Kanał
Kanał
Tab. 2.7
Rys. 2.16
Kanał
Kanał
Kanał
Kanał
Tab. 2.8
Rys. 2.17
0100200300400500600700800
20
40
60
80
100
120
owski - 14470
P
Red
Green
Blue
Gray
Zastosowanie
6 Wykres zast
Pl
Red
Green
Blue
Gray
Zapis do form
7 Wykres zast
000000000
Kanał Red
0
00
00
00
00
00
00
Kanał Red
- Badanie algo
lik źródłowy A
688 kB
715 kB
710 kB
266 kB
e algorytmu JP
tosowania alg
lik źródłowy A
688,0 kB
715,0 kB
710,0 kB
266,0 kB
matu TIFF w pr
tosowania alg
d Kanał Gree
d Kanał Gree
orytmów strat
AI PDF -
209
210
216
279
PG 2000 przy
gorytmu JPG 2
AI T
120
120
120
120
rogramie Illust
gorytmu JPG p
en Kanał Blue
n Kanał Blue
nych kompres
High PDF
kB
kB
kB
kB
y zapisie do fo
2000 przy zap
TIFF
00 kB
00 kB
00 kB
00 kB
trator CS3
przy zapisie do
e Kanał Gray
Kanał Gray
sji obrazów gra
F - Medium
197 kB
198 kB
203 kB
279 kB
ormatu PDF
isie do format
o formatu TIFF
y
P
P
P
P
Plik
TIFF
aficznych
PDF - Low
185 kB
187 kB
190 kB
279 kB
tu PDF
F
Plik źródłowy AI
PDF - High
PDF - Medium
PDF - Low
źródłowy AI
F
34
4
R
pl
A
na
do
Ry
Roman Janko
Krok
lików: WM
dobe Illus
ależy się
o właściwe
ys. 2.18 Opcje
Kana
Kana
Kana
Kana
Tab. 2.
Rys. 2
1
1
2
2
owski - 14470
3. Użycie
MF oraz PN
trator nie
ograniczy
ego format
e eksportu do
ał Red
ał Green
ał Blue
ał Gray
9 Zapis do for
2.19 Wykres z
0
500
1000
1500
2000
2500
Kanał R
- Badanie algo
e algorytmó
NG, które
oferuje w
yć jedyn
u.
formatu WMF
Plik źródłow
688,0 kB
715,0 kB
710,0 kB
266,0 kB
rmatu WMF o
zapisu do form
Red Kanał Gre
orytmów strat
ów kompr
reprezentu
w tym przy
nie do mi
F oraz PNG w
wy AI For
2
2
2
2
oraz PNG w pr
matu WMF oraz
een Kanał Blue
nych kompres
esji stratne
ują modele
ypadku za
inimum, c
programie Illu
rmat WMF
2100 kB
2100 kB
2100 kB
2100 kB
rogramie Illus
z PNG w prog
e Kanał Gray
sji obrazów gra
ej na przy
e grafiki ra
awansowa
co stanow
ustrator CS3
Format PN
365,0 kB
355,0 kB
331,0 kB
164,0 kB
strator CS3
gramie Illustrat
Plik
For
For
aficznych
ykładzie fo
astrowej. P
anych opcj
wi eksport
NG
B
B
B
B
tor CS3
k źródłowy AI
rmat WMF
rmat PNG
35
ormatów
Program
cji także
plików
5
R
kt
ty
O
Ry
Roman Janko
Krok
tóry repreze
ypowy dla te
Od strony uż
ys. 2.20 Zapis
Kana
Kana
Kana
Kana
Tab. 2.
Rys. 2.
1020304050607080
owski - 14470
4. Opis dzi
entuje grafi
ego rodzaju
żytkownika
s do formatu S
P
ał Red
ał Green
ał Blue
ał Gray
10 Zapis do fo
.21 Wykres za
00000000000000000
Kanał Re
- Badanie algo
iałania algo
kę wektoro
u plików, ac
brak jest m
SVG oraz SVG
Plik źródłowy
688,0 kB
715,0 kB
710,0 kB
266,0 kB
ormatu SVG o
apisu do forma
ed Kanał Gree
orytmów strat
orytmu kom
ową. Progra
czkolwiek s
możliwości i
GZ w programi
y AI Form
55
54
49
23
oraz SVGZ w
atu SVG oraz
en Kanał Blue
nych kompres
mpresji z za
am oferuje s
stopień kom
ngerencji w
e Illustrator C
mat SVG
59,0 kB
40,0 kB
95,0 kB
30,0 kB
programie Illu
SVGZ w prog
Kanał Gray
sji obrazów gra
apisem pliku
szeroki zak
mpresji usta
w tym kierun
S3
Format SV
426,0 kB
411,0 kB
376,0 kB
175,0 kB
ustrator CS3
gramie Illustrat
Plik
Form
Form
aficznych
u do forma
kres opcji e
alony jest o
nku.
VGZ
B
B
B
B
tor CS3
źródłowy AI
mat SVG
mat SVGZ
36
tu SVG,
eksportu,
dgórnie.
6
R
pr
or
gr
do
za
Ry
Ta
Ry
Roman Janko
Krok
rzy zapisie
raz 90% ja
rafiki wekto
ocelowo d
apisu i jedn
ys. 2.22 Zapis
Kanał Red
Kanał Green
Kanał Blue
Kanał Gray
ab. 2.11 Tabela
ys. 2.23 Wykre
0100200300400500600700800
K
owski - 14470
5. Zastoso
e do format
akości. Je
orowej. Mo
o użycia w
nocześnie
s do formatu S
Plik źród
688
715
710
266
a przedstawiaj
es zastosowani
Kanał Red
- Badanie algo
owanie alg
tu SWF, z
est to kole
ożna zaob
w program
jest wspie
SWF w program
dłowy AI
kB
kB
kB
kB
jąca zastosow
ia algorytmów
Kanał Green
orytmów strat
gorytmów k
użyciem tr
ejny przyk
bserwować
mie Adobe
erany przez
mie Illustrator
Format SWF
462 kB
476 kB
463 kB
199 kB
wanie algorytm
stratnych przy
Kanał B
nych kompres
kompresji s
rzech różny
kład zapisu
ć tutaj szer
Flash, któ
z Illustrator
CS3
SWF - 90
131 kB
151 kB
147 kB
77,0 kB
mów stratnych
y zapisie do for
lue Kana
sji obrazów gra
stratnej, w
ych stopni
u z zastos
reg funkcji
óry wykorz
ra.
0% SWF
B 46,0
B 55,0
B 53,0
B 31,0
przy zapisie d
matu SWF w p
ał Gray
aficznych
tym równi
kompresji
owaniem
przystoso
zystuje ten
- 60% SW
0 kB 2
0 kB 30
0 kB 29
0 kB 19
do formatu SW
programie Illust
Plik źró
Format
SWF - 9
SWF - 6
SWF - 3
37
ież JPG
: 30, 60
formatu
wanych
n format
WF - 30%
5,0kB
0,0 kB
9,0 kB
9,0 kB
WF
trator CS3
dłowy AI
SWF
90%
60%
30%
7
R
JPFoplfo
Roman Janko
Adob
Krok PG przy zormatem wlik bezstraormatu PSD
Kanał
Kanał
Kanał
Kanał
Tab. 2.12
Rys. 2.25
20
40
60
80
100
owski - 14470
be Firewor
1. Opis dzastosowawyjściowymatnej kompD używane
Rys. 2.24 W
Pli
Red
Green
Blue
Gray
2 Zastosowan
5 Wykres zast
0
00
00
00
00
00
Kanał Red
- Badanie algo
rks CS3
ziałania alniu trzech
m, który jedpresji PNGego w prog
Wybór stopnia
k źródłowy P
988 kB
958 kB
710 kB
266 kB
nie algorytmu
tosowania alg
d Kanał Gree
orytmów strat
lgorytmu kh różnych dnocześni
G, który pgramie Pho
kompresji JPG
PNG JPEG
90,0
98,0
105
66,0
JPG w progra
gorytmu JPG w
en Kanał Blue
nych kompres
kompresji zstopni koe stanowił
powstał z wotoshop.
G w programie
- 90% JPE
0 kB 4
0 kB 4
5 kB 4
0 kB 3
amie Fireworks
w programie F
Kanał Gray
sji obrazów gra
z zapisemmpresji: 3ł tutaj punkwcześniej
Fireworks CS3
EG - 60%
40,0 kB
45,0 kB
47,0 kB
33,0 kB
s CS3
Fireworks CS3
Plik
JPE
JPE
JPE
aficznych
m pliku do 30, 60 orakt odniesieopisywane
3
JPEG - 30%
27,0 kB
27,0 kB
28,0 kB
26,0 kB
k źródłowy PNG
EG - 90%
EG - 60%
EG - 30%
38
formatu az 90%. enia, był ego już
8
R
je
na
za
pr
w
Roman Janko
Krok
est algoryt
a 30, 60 o
aawansow
rogram Illu
wsparciu dla
Kanał
Kanał
Kanał
Kanał
Tab. 2.13
Rys. 2.27
20
40
60
80
100
owski - 14470
2. Przeds
tm kompr
oraz 90%
wanych fun
ustrator CS
a grafiki we
Ry
Pli
Red
Green
Blue
Gray
3 Zastosowanie
Wykres zastoso
0
00
00
00
00
00
Kanał Red
- Badanie algo
stawienie
resji stratn
jakości.
nkcji. W po
S3, w tym
ektorowej.
ys. 2.26 Wybór
k źródłowy P
988 kB
958 kB
710 kB
266 kB
e algorytmu JP
owania algorytm
d Kanał Gree
orytmów strat
formatu S
nej JPG.
Brak jest
orównaniu
m przypadk
r stopnia komp
PNG SWF
44,0
47,0
51,0
37,0
PG przy zapisie
mu JPG przy zap
en Kanał Blue
nych kompres
SWF, przy
Stopień
możliwoś
ze swoim
ku nie mo
resji JPG przy
- 90% SW
0 kB 2
0 kB 2
0 kB 2
0 kB 1
e do formatu SW
pisie do formatu
Kanał Gray
sji obrazów gra
zapisie kt
kompresji
ści skorzys
m poprzed
ożna mów
zapisie do form
WF - 60%
20,0 kB
22,0 kB
23,0 kB
18,0 kB
WF w program
SWF w program
Plik
SW
SW
SW
aficznych
tórego sto
został u
stania z b
dnikiem, ja
ić o jakim
matu SWF
SWF - 30%
14,0 kB
15,0 kB
16,0 kB
13,0 kB
ie Fireworks CS
mie Fireworks C
k źródłowy PNG
WF - 90%
WF - 60%
WF - 30%
39
sowany
ustalony
bardziej
akim był
mkolwiek
S3
CS3
9
R
og
po
Ry
Roman Janko
Krok
graniczenia
osłużyły we
ys. 2.28 Zapis
Kanał
Kanał
Kanał
Kanał
Tab. 2.14
Rys. 2.29
20
40
60
80
100
owski - 14470
3. Użyc
ami, na p
e wcześnie
s do formatów:
Pli
Red
Green
Blue
Gray
4 Tabela przeds
Wykres przeds
0
00
00
00
00
00
Kanał Red
- Badanie algo
cie algory
przykładzie
ejszej fazie
: TIFF, GIF, W
k źródłowy P
988 kB
958 kB
710 kB
266 kB
stawiająca zapi
stawiający zapis
d Kanał Gree
orytmów strat
ytmów ko
e formatów
e jako przy
WBMP w progra
PNG Forma
585
649
620
296
is do formatów
s do formatów:
en Kanał Blue
nych kompres
ompresji
w plików:
ykład analiz
amie Firework
at TIFF Fo
5 kB 1
9 kB 1
0 kB 1
6 kB 6
: TIFF, GIF, WB
TIFF, GIF, WB
Kanał Gray
sji obrazów gra
stratnej,
TIFF, G
zy plików g
ks CS3
ormat GIF F
109 kB
101 kB
121 kB
61,0 kB
BMP w program
BMP w program
Plik
For
For
For
aficznych
lub z p
IF, WBMP
graficznych
Format WBM
51,0 kB
51,0 kB 51,0 kB 51,0 kB
mie Fireworks C
mie Fireworks C
k źródłowy PNG
mat TIFF
mat GIF
mat WBMP
40
ewnymi
P, które
h.
P
CS3
CS3
0
41 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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
R
Roman Janko
Kanał
Kanał
Kanał
Kanał
Tab. 2.15
Rys. 2.32
Kanał
Kanał
Kanał
Kanał
Tab. 2.16
Rys. 2.33
0
100
200
300
400
500
600
0
100
200
300
400
500
600
owski - 14470
Pli
Red
Green
Blue
Gray
5 Zastosowan
2 Wykres zasto
Pli
Red
Green
Blue
Gray
6 Zapis do for
3 Wykres przeds
0
0
0
0
0
0
0
Kanał Red
0
0
0
0
0
0
0
Kanał Red
- Badanie algo
k źródłowy F
540 kB
593 kB
574 kB
278 kB
nie algorytmu k
osowania algory
k źródłowy F
540 kB
593 kB
574 kB
278 kB
rmatów: SWF,
stawiający zapi
d Kanał Green
d Kanał Green
orytmów strat
FLA JPG
34,0
50,0
53,0
38,0
kompresji stra
ytmu kompresji
FLA Forma
34,0
36,0
40,0
29,0
PNG, GIF w
s do formatów:
n Kanał Blue
n Kanał Blue
nych kompres
- 90% JP
0 kB 2
0 kB 2
0 kB 2
0 kB 1
atnej JPG w pr
i stratnej JPG w
at SWF For
0 kB 3
0 kB 3
0 kB 4
0 kB 2
programie Ad
SWF, PNG, GI
Kanał Gray
Kanał Gray
sji obrazów gra
PG - 60%
20,0 kB
22,0 kB
24,0 kB
17,0 kB
rogramie Adob
w programie A
rmat PNG
388 kB
399 kB
400 kB
201 kB
obe Flash CS
IF w programie
Plik
JP
JP
JP
Plik
Fo
Fo
Fo
aficznych
JPG - 30%
13,0 kB
14,0 kB
15,0 kB
11,0 kB
be Flash CS3
Adobe Flash C
Format GIF
103 kB
100 kB
97,0 kB
39,0 kB
S3
Adobe Flash C
k źródłowy FLA
G - 90%
G - 60%
G - 30%
k źródłowy FLA
rmat SWF
rmat PNG
rmat GIF
42
CS3
CS3
2
R
JPWpost
Ry
Roman Janko
Core
Krok PG przy z
Wyniki anaozostałe atałych wła
ys. 2.34 Wybór
Kanał
Kanał
Kanał
Kanał
Tab. 2.17
Rys. 2.35
0
100
200
300
400
500
600
owski - 14470
el Draw X3
1. Opis dzastosowaalizy zostalgorytmy ściwości.
r stopnia kompr
Pli
Red
Green
Blue
Gray
7 Zastosowan
5 Wykres zast
0
0
0
0
0
0
0
Kanał Red
- Badanie algo
3
ziałania alniu trzechtały porówkompresj
resji JPG
k źródłowy C
460 kB
522 kB
493 kB
163 kB
nie algorytmu
tosowania alg
Kanał Green
orytmów strat
lgorytmu kh różnych wnane z i, przy jed
CDR JPEG
46,0
49,0
53,0
38,0
JPG w progra
gorytmu JPG w
n Kanał Blue
nych kompres
kompresji zstopni kodanymi
dnoczesny
- 90% JPE
0 kB 2
0 kB 2
0 kB 2
0 kB 1
amie Corel Dra
w programie C
Kanał Gray
sji obrazów gra
z zapisemmpresji: 3jakie uzy
ym zachow
EG - 60%
20,0 kB
22,0 kB
24,0 kB
17,0 kB
aw X3
Corel Draw X3
Plik
JPE
JPE
JPE
aficznych
m pliku do f30, 60 orayskano swaniu wsz
JPEG - 30%
13,0 kB
14,0 kB
15,0 kB
11,0 kB
k źródłowy CDR
EG - 90%
EG - 60%
EG - 30%
43
formatu az 90%. tosując
zystkich
3
R
do30tuza
Ry
Ta
Roman Janko
Krok o formatu 0, 60 orazutaj punktaimportowa
ys. 2.36 Wybór
Kanał Red
Kanał Green
Kanał Blue
Kanał Gray
ab. 2.18 Zasto
Rys. 2.37
0
100
200
300
400
500
600
owski - 14470
2. PrezeJPG 200 90% jakot odniesieany do pro
r stopnia kompr
Plik źródł
460
522
493
163
osowanie algo
7 Wykres zast
0
0
0
0
0
0
0
Kanał Red
- Badanie algo
entacja dz0 przy za
ości. Formenia, był ogramu Co
resji JPG 2000
łowy CDR J
0 kB
2 kB
3 kB
3 kB
orytmu JPG 20
tosowania alg
Kanał Green
orytmów strat
ziałania algastosowan
matem wyjśplik bez
orel Draw.
JPEG 2000 -
70,0 kB
79,0 kB
90,0 kB
30,0 kB
000 w program
gorytmu JPG 2
n Kanał Blue
nych kompres
gorytmu kiu trzech ściowym, kzstratnej k
90% JPEG
4
5
5
2
mie Corel Draw
2000 w progra
Kanał Gray
sji obrazów gra
kompresji różnych
który jednokompresji
2000 - 60%
44,0 kB
52,0 kB
59,0 kB
21,0 kB
w X3
amie Corel Dra
Plik
JPE
JPE
JPE
aficznych
z zapisemstopni komocześnie s
PSD up
JPEG 2000
24,0 k
28,0 k
32,0 k
12,0 k
w X3
k źródłowy CDR
EG 2000 - 90%
EG 2000 - 60%
EG 2000 - 30%
44
m pliku mpresji: stanowił przednio
0 - 30%
kB
kB
kB
kB
4
45 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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
pl
P
ty
Ry
Roman Janko
Rys. 2.39
Krok
lików: TIFF
rogram Co
ych właśnie
ys. 2.40 Funkcj
0100200300400500600700800
owski - 14470
Wykres zastoso
4. Użycie
F, WMF, P
orel Draw
e plików.
e zapisu dla pl
000000000
Kanał Red
- Badanie algo
owania algorytm
e algorytmó
NG oraz G
pozwala
iku TIFF oraz G
Kanał Green
orytmów strat
mu JPG przy eks
ów kompre
GIF, które r
na stosow
GIF w programi
n Kanał Blue
nych kompres
sporcie do pliku
esji stratne
reprezentu
wanie ogra
ie Corel Draw X
Kanał Gray
sji obrazów gra
u PDF w program
ej na przy
ują modele
aniczonych
X3
Plik
aficznych
mie Corel Draw
ykładzie fo
e grafiki ras
h funkcji e
k źródłowy CDR
F - 90%
F - 60%
F - 30%
46
X3
ormatów
strowej.
eksportu
6
R
Ry
Ta
Ry
Roman Janko
ys. 2.41 Właści
Kanał Red
Kanał Green
Kanał Blue
Kanał Gray
ab. 2.20 Tabela
ys. 2.43 Wykre
0
5000
10000
15000
20000
25000
owski - 14470
wości zapisu d
Plik źródło
460
522
493
711
a przedstawia
es zastosowan
Kanał Red
- Badanie algo
dla pliku WMF
owy CDR
kB
kB
kB
kB
ająca zastosow
nie algorytmów
Kanał Green
orytmów strat
Format TIFF
1217 kB
1217 kB
1217 kB
1217 kB
wanie algorytm
w: TIFF, WMF
n Kanał Bl
nych kompres
Rys. 2.42
Format W
21130 k
21130 k
21130 k
21130 k
mów: TIFF, W
F, PNG oraz G
ue Kanał
sji obrazów gra
Właściwości e
WMF Forma
kB 426
kB 433
kB 436
kB 224
MF, PNG ora
GIF
Gray
aficznych
eksportu do form
at PNG For
6 kB 5
3 kB 65
6 kB 63
4 kB 25
z GIF
Plik źródło
Format TIF
Format WM
Format PN
Format GI
47
matu PNG
rmat GIF
59,0kB
5,0 kB
3,0 kB
5,0 kB
owy CDR
FF
MF
NG
F
7
48 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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
Ta
Ry
Roman Janko
Kanał Red
Kanał Green
Kanał Blue
Kanał Gray
ab. 2.20 Tabela
ys. 2.46 Wykre
0
200400
600
800
10001200
1400
owski - 14470
Plik źródło
460 k
522 k
493 k
711 k
a przedstawia
es zastosowan
Kanał Red
- Badanie algo
owy CDR SW
kB
kB
kB
kB
ająca zastosow
nie algorytmów
Kanał Green
orytmów strat
WF - 90% S
49 kB
53 kB
57 kB
40 kB
wanie algorytm
w: TIFF, WMF
Kanał Blu
nych kompres
SWF - 60% S
21 kB
23 kB
25 kB
18 kB
mów: TIFF, W
F, PNG oraz G
ue Kanał
sji obrazów gra
SWF - 30%
13 kB
14 kB
15 kB
11 kB
MF, PNG ora
GIF
Gray
aficznych
SVG
1292 kB
1319 kB 1
1326 kB 1
658 kB
z GIF
Plik źródło
SWF - 90%
SWF - 60%
SWF - 30%
SVG
SVGZ
49
SVGZ
981 kB
1002 kB
1007 kB
489 kB
owy CDR
%
%
%
9
R
JPWpost
do30tuza
Ta
Roman Janko
Core
Krok PG przy z
Wyniki anaozostałe atałych wła
Kanał
Kanał
Kanał
Kanał
Tab. 2.2
Rys. 2.47
Krok o formatu 0, 60 orazutaj punktaimportowa
Kanał Red
Kanał Green
Kanał Blue
Kanał Gray
ab. 2.22 Zasto
0
100
200
300
400
500
600
owski - 14470
el Photo Pa
1. Opis dzastosowaalizy zostalgorytmy ściwości.
Pli
Red
Green
Blue
Gray
1 Zastosowan
7 Wykres zast
2. PrezeJPG 200 90% jakot odniesieany do pro
Plik źródł
525
533
545
218
osowanie algo
0
0
0
0
0
0
0
Kanał Red
- Badanie algo
aint X3
ziałania alniu trzechtały porówkompresj
k źródłowy C
525 kB
533 kB
545 kB
218 kB
nie algorytmu
tosowania alg
entacja dz0 przy za
ości. Formenia, był ogramu Co
łowy CPT J
5 kB
3 kB
5 kB
8 kB
orytmu JPG 20
d Kanał Green
orytmów strat
lgorytmu kh różnych wnane z i, przy jed
CPT JPEG
46,0
49,0
53,0
37,0
JPG w progra
gorytmu JPG w
ziałania algastosowan
matem wyjśplik bez
orel Draw.
JPEG 2000 -
70,0 kB
79,0 kB
90,0 kB
30,0 kB
000 w program
n Kanał Blue
nych kompres
kompresji zstopni kodanymi
dnoczesny
- 90% JPE
0 kB 2
0 kB 2
0 kB 2
0 kB
amie Corel Pho
w programie C
gorytmu kiu trzech ściowym, kzstratnej k
90% JPEG
4
5
5
2
mie Corel Phot
Kanał Gray
sji obrazów gra
z zapisemmpresji: 3jakie uzy
ym zachow
EG - 60%
20,0 kB
22,0 kB
24,0 kB
1,0 kB
oto-Paint X3
Corel Photo-Pai
kompresji różnych
który jednokompresji
2000 - 60%
44,0 kB
52,0 kB
59,0 kB
21,0 kB
to-Paint X3
Plik
JPE
JPE
JPE
aficznych
m pliku do f30, 60 orayskano swaniu wsz
JPEG - 30%
13,0 kB
14,0 kB
15,0 kB
10,0 kB
int X3
z zapisemstopni komocześnie s
PSD up
JPEG 2000
24,0 k
28,0 k
32,0 k
13,0 k
k źródłowy CPT
EG - 90%
EG - 60%
EG - 30%
50
formatu az 90%. tosując
zystkich
m pliku mpresji: stanowił przednio
0 - 30%
kB
kB
kB
kB
0
R
st
pr
na
Roman Janko
Rys. 2.48
Krok
tosuje alg
rzeprowad
a poziomie
Kanał
Kanał
Kanał
Kanał
Tab. 2.23
Rys. 2.49 W
0
100
200
300
400
500
600
0100200300400500600700800
owski - 14470
8 Wykres zast
3. Przed
gorytm st
zono w
e: 30, 60 or
Pli
Red
Green
Blue
Gray
Zastosowanie
Wykres zastosow
0
0
0
0
0
0
0
Kanał Red
000000000
Kanał Red
- Badanie algo
tosowania alg
stawienie
ratnej ko
systemie
raz 90% ja
k źródłowy C
525 kB
533 kB
545 kB
218 kB
algorytmu JPG
wania algorytmu J
d Kanał Green
Kanał Green
orytmów strat
gorytmu JPG 2
właściwoś
mpresji J
trójfazow
akości.
CPT PDF
58,0
61,0
66,0
46,0
G przy eksporcie
JPG przy ekspor
n Kanał Blue
n Kanał Blue
nych kompres
2000 w progra
ści format
JPG. Kom
wym ze w
- 90% PD
0 kB 2
0 kB 2
0 kB 2
0 kB 2
e do pliku PDF w
rcie do pliku PDF
Kanał Gray
Kanał Gray
sji obrazów gra
amie Corel Pho
tu PDF, k
mpresję d
współczynn
DF - 60%
25,0 kB
27,0 kB
29,0 kB
21,0 kB
w programie Co
F w programie Co
Plik
JPE
JPE
JPE
Plik
aficznych
oto-Paint X3
tóry przy
do formatu
nikiem ko
PDF - 30%
18,0 kB
20,0 kB
21,0 kB
15,0 kB
orel Photo-Painx
orel Photo-Painx
k źródłowy CPT
EG 2000 - 90%
EG 2000 - 60%
EG 2000 - 30%
k źródłowy CDR
F - 90%
F - 60%
F - 30%
5
zapisie
u PDF
ompresji
x X3
X3
1
52 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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
R
Roman Janko
Kanał
Kanał
Kanał
Kanał
Tab. 2.24
Rys. 2.51
20406080
100120140160
owski - 14470
Pli
Red
Green
Blue
Gray
4 Tabela przed
Wykres przed
00000000000000000
Kanał Re
- Badanie algo
k źródłowy C
460 kB
522 kB
493 kB
711 kB
dstawiająca za
dstawiający za
d Kanał Gree
orytmów strat
CPT Forma
1580
1580
1580
811
astosowanie a
astosowanie a
en Kanał Blue
nych kompres
at TIFF For
0 kB 4
0 kB 4
0 kB 4
1 kB 1
algorytmów: TF
algorytmów: TF
Kanał Gray
sji obrazów gra
rmat PNG
486 kB
499 kB
498 kB
179 kB
FF, PNG, GIF
FF, PNG, GIF
Plik
For
For
For
aficznych
Format GIF 58,9 kB
64,6 kB
62,7 kB
167 kB
k źródłowy CPT
rmat TIFF
rmat PNG
rmat GIF
53
3
R
kozew(H
Roman Janko
Konw
Dziękonwersji śce względu
właśnie formHigher Com
Kanał
Kanał
Kanał
Kanał
Tab. 2.25
Rys. 2.53
50
100
150
200
owski - 14470
wersja do
ki stronie inciśle określona brak og
matu. Dla mpression /
Tab. 2.52 Sc
Pli
Red
Green
Blue
Gray
5 Zastosowanie
Wykres zastoso
0
00
00
00
00
Kanał Red
- Badanie algo
formatu D
nternetoweonych formgólnie dostcelów pog
/ Normal / H
creeny ze stron
k źródłowy T
1850 kB
1870 kB
1830 kB
677 kB
e algorytmu DJ
owania algorytm
d Kanał Gree
orytmów strat
Dejavu
ej: http://anmatów do sttępnych proglądowych Higher Qua
ny: http://any2
TIFF DJVU
37,0
42,0
48,0
24,0
JVU
mu DJVU
en Kanał Blue
nych kompres
y2djvu.djvutandardu Dogramów zoferowane
ality) okaza
djvu.djvuzone
- High DJV
0 kB
0 kB
0 kB
0 kB
Kanał Gray
sji obrazów gra
uzone.org DJVU. Jest z możliwośe na stroniły się w pe
e.org
VU - Medum
23,0 kB
26,0 kB
30,0 kB
16,0 kB
Plik
DJV
SW
SW
aficznych
istnieje moto duże ułaścią konweie tryby kołni wystarc
DJVU - Low
19,0 kB
21,0 kB
24,0 kB
13,0 kB
k źródłowy TIFF
VU - High
WF - Medium
WF - Low
54
ożliwość atwienie rsji tego ompresji czające.
w
4
R
2.
za
w
ra
w
R
do
gr
Roman Janko
.2.2 ANA
Mając
ależność ja
względem o
astrowa s
wszystkich
Równie cz
o czynienia
rafiki komp
JPEG
JPEG 200
TIFF
WMF
SWF
SVG
SVGZ
Tab. 2.26 Z
Rys. 2.54 W
0
500
1000
1500
2000
2500
owski - 14470
LIZA POD
ąc do dys
aka zachod
ogólnej cha
symbolizują
kryteriów
ęsto bow
a z różneg
puterowej.
Photosho
56,0 kB
0
137 kB
346 kB
Zastosowanie a
Wykres zastosow
JPG JP20
- Badanie algo
D WZGLĘD
spozycji s
dzi wówcz
arakterysty
ąca obiek
pod jakim
wiem jak
go rodzaju
op Illustrato
62,0 kB
96,0 kB
1200 kB
2200 kB
13,0 kB
5,00 kB
2,00 kB
algorytmów str
wania algorytmó
PG 000
orytmów strat
DEM CHAR
szereg na
zas gdy ba
yki. Ostatn
kt fotorea
i należy w
w przypa
formą tek
or Firework
66,0 kB
50,0 kB
5,00 kB
ratnych do kom
ów stratnych do
TIFF W
nych kompres
RAKTERY
arzędzi do
adane obie
nim badan
alistyczny.
wykonać an
adku elem
kstową dok
ks Flash
25,0 kB
2,00 kB
3,00 kB
mpresji tekstu
o kompresji tek
WMF SWF
sji obrazów gra
YSTYKI OB
o obróbki
kty różnią
ym eleme
Nie spe
nalizę wyb
mentów gr
kumentów,
h Corel
B 24,0 kB
249 kB
12,0 kB
1000 kB
B
B 13,0 kB
15,0 kB
6,00 kB
kstu
SVG
aficznych
BIEKTU
i grafiki
się od sie
ntem była
ełnia on
branych ob
raficznych
, nawet w
D. Corel
B 20,0 k
B 56,0 k
B
B 56,0 k
B
B
B
Photosh
Illustrato
Firework
Flash
Corel D.
Corel P.
55
wykażę
ebie pod
grafika
jednak
biektów.
mamy
pojęciu
l P.
B
B
B
op
or
ks
5
R
są
ro
pr
dr
za
m
Roman Janko
Kolejny
ą wykresy
odzaju pre
rzy wykorz
rugich czy
aprezentow
możliwych r
JPG
JPG 2000
TIFF
WMF
SWF
SVG
SVGZ
Tab. 2.27 Z
Rys. 2.55 W
0
500
1000
1500
2000
2500
3000
owski - 14470
ymi eleme
oraz obi
ezentacjach
zystaniu te
yni je zwyk
wano przy
rodzajach f
Photosho
326 kB
0
497 kB
736 kB
Zastosowanie a
Wykres zastosow
JPG JPG200
- Badanie algo
entami cha
iekty pom
h multime
chnik wek
kle dużo c
ykładowy s
form plików
op Illustrato
197 kB
265 kB
1950 kB
2860 kB
60,0 kB
32,0 kB
14,0 kB
algorytmów str
wania algorytmó
G 00
PDF T
orytmów strat
rakterystyc
mocnicze,
dialnych.
ktorowych j
ciekawszym
schemat, k
w stosujący
or Firework
266 kB
B 192 kB
B
B 29,0 kB
B
B
ratnych do kom
ów stratnych do
TIFF WMF
nych kompres
cznymi dla
ogólnego
Mogą być
jak i rastro
mi pod wz
który zapis
ych algoryt
ks Flash
B 68,0 kB
B
18,0 kB
B 21,0 kB
mpresji obiektów
o kompresji ob
SWF SVG
sji obrazów gra
a określone
zastosow
ć reprezen
owych co w
ględem wi
sano kolej
tmy kompr
h Corel
B 52,0 k
605 k
26,0 k
1270 k
B
B 32,0 k
43,0 k
11,0 k
w i wykresów
biektów i wykre
G SVGZ
aficznych
ej grupy inf
wania w r
ntowane z
w przypad
izualnym.
jno we ws
resji stratny
D. Corel
kB 48,0 k
kB 84,0 k
kB
kB 69,0 k
kB
kB
kB
esów
Photosh
Illustrato
Firework
Flash
Corel D.
Corel P.
56
formacji
różnego
zarówno
dku tych
Poniżej
szelkich
ych.
l P.
kB
kB
kB
op
or
ks
6
57 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
58 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
59 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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).
60 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
61 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
62 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
63 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
64 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
65 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
66 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
67 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
Rys. 3.2 Przykładowe ustawieia kodowania obrazu kodeków DivX, H.264 oraz 3ivx
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
AVI 3IVX DIVX H.264 MJPEG MPEG-1 MPEG-2 THEORA XVID FLV
68 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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
bą
w
w
po
Ry
F
F
F
F
F
F
F
F
F
F
F
F
Roman Janko
Krok
ądź podo
wizualnych
względem w
orównanie
Tab. 3.1 Chara
ys. 3.8 Wykres
0
5
10
15
20
25
30
35
Film 01
AVI
Film 01 17,82
Film 02 10,01
Film 03 08,72
Film 04 16,53
Film 05 10,25
Film 06 17,31
Film 07 09,17
Film 08 18,71
Film 09 15,56
Film 10 12,68
Film 11 17,42
Film 12 15,52
owski - 14470
5. Ocena
obieństw p
obrazu. P
wyboru od
nie tylko k
akterystyka pod
s charakteryst
Film 02
Film 03
I 3IVX
MB 11,72 MB
MB 12,37 MB
MB 13,20 MB
MB 12,70 MB
MB 11,20 MB
MB 13,63 MB
MB 12,76 MB
MB 13,60 MB
MB 12,66 MB
MB 12,43 MB
MB 13,11 MB
MB 13,36 MB
- Badanie algo
wyekspor
pomiędzy
Poniżej za
dpowiednie
końcowego
względem wybo
tyki kodeków p
Film 04
Film 05
DIVX H
04,60 MB 03,2
05,40 MB 04,3
05,60 MB 03,9
05,96 MB 04,8
03,84 MB 02,5
06,90 MB 05,4
05,66 MB 04,0
06,79 MB 05,0
05,83 MB 04,8
05,88 MB 04,3
06,26 MB 05,
05,84 MB 04,6
orytmów strat
rtowanych
wybranym
amieszczon
ego kodeka
o rozmiaru
oru odpowiednie
przy zastosow
Film 06
Film 07
H.264 MJPEG
23 MB 19,48 MB
35 MB 20,65 MB
92 MB 21,36 MB
80 MB 21,36 MB
50 MB 19,48 MB
42 MB 21,36 MB
07 MB 21,36 MB
01 MB 20,89 MB
86 MB 21,36 MB
34 MB 32,30 MB
11 MB 21,36 MB
63 MB 20,98 MB
nych kompres
plików. Mo
mi format
na została
a a także
pliku ale g
ego kodeka a tak
waniu kompres
Film 08
Film 09
F
G MPEG-1
B 04,54 MB 0
B 05,54 MB 0
B 05,64 MB 0
B 05,88 MB 0
B 03,99 MB 0
B 06,82 MB 0
B 05,94 MB 0
B 06,45 MB 0
B 05,88 MB 0
B 05,76 MB 0
B 06,11 MB 0
B 05,64 MB 0
sji obrazów gra
ożliwość p
tami a ta
a pełna do
jego skute
głównie jeg
kże jego skutecz
sji 30%
Film 10
Film 11
F
MPEG-2 THEO
04,82 MB 07,17
05,54 MB 05,95
05,63 MB 05,53
06,19 MB 06,94
04,11 MB 04,46
07,11 MB 08,10
05,95 MB 05,85
06,75 MB 07,52
06,14 MB 07,31
05,77 MB 06,09
06,47 MB 07,71
05,87 MB 06,92
aficznych
porównania
akże właś
okumentac
eczności p
go jakości.
zności (kompres
Film 12
A
3
D
H
M
M
M
T
X
F
ORA XVID
7 MB 04,50 MB
5 MB 05,17 MB
3 MB 04,51 MB
4 MB 05,84 MB
6 MB 03,53 MB
0 MB 06,71 MB
5 MB 04,75 MB
2 MB 06,49 MB
MB 05,91 MB
9 MB 05,37 MB
MB 06,25 MB
2 MB 05,82 MB
69
a różnic
ściwości
cję pod
poprzez
sja 30%)
AVI
3IVX
DIVX
H.264
MJPEG
MPEG‐1
MPEG‐2
THEORA
XVID
FLV
FLV
03,74 MB
03,29 MB
03,29 MB
03,51 MB
03,49 MB
03,71 MB
03,23 MB
03,80 MB
03,48 MB
03,99 MB
03,53 MB
03,81 MB
9
R
Ta
Ry
Roman Janko
AV
Film 01 24,52
Film 02 11,59
Film 03 09,70
Film 04 20,68
Film 05 12,67
Film 06 21,31
Film 07 10,59
Film 08 23,75
Film 09 18,65
Film 10 15,08
Film 11 21,63
Film 12 19,46
ab. 3.2 Charakt
ys. 3. 9 Wykres
0
5
10
15
20
25
30
35
40
Film 01
owski - 14470
VI 3IVX
2 MB 19,98 MB
9 MB 20,86 MB
0 MB 22,04 MB
8 MB 21,27 MB
7 MB 20,19 MB
1 MB 22,09 MB
9 MB 21,46 MB
5 MB 20,98 MB
5 MB 21,78 MB
8 MB 18,59 MB
3 MB 22,27 MB
6 MB 22,25 MB
terystyka pod wz
charakterysty
Film 02
Film 03
- Badanie algo
DIVX H
05,91 MB 19
07,48 MB 11
07,81 MB 08
07,71 MB 17
05,93 MB 12
07,93 MB 19
07,81 MB 10
07,71 MB 18
07,77 MB 15
07,65 MB 09
07,73 MB 16
07,26 MB 14
zględem wyboru
yki kodeków p
Film 04
Film 05
orytmów strat
H.264 MJPEG
,29 MB 37,48 M
,34 MB 38,05 M
,06 MB 39,36 M
,82 MB 39,36 M
,94 MB 37,48 M
,67 MB 39,36 M
,09 MB 39,36 M
,81 MB 38,89 M
,17 MB 39,36 M
,57 MB 36,53 M
,94 MB 39,36 M
,02 MB 38,89 M
u odpowiedniego
przy zastosowa
Film 06
Film 07
nych kompres
G MPEG-1
B 06,12 MB 0
B 07,69 MB 0
B 07,87 MB 0
B 07,75 MB 0
B 06,19 MB 0
B 08,14 MB 0
B 08,13 MB 0
B 07,62 MB 0
B 07,82 MB 0
B 07,77 MB 0
B 07,85 MB 0
B 07,49 MB 0
o kodeka a także
aniu kompresj
Film 08
Film 09
sji obrazów gra
MPEG-2 THEO
06,12 MB 07,57
07,69 MB 07,34
07,87 MB 06,92
07,72 MB 07,87
06,19 MB 05,98
08,23 MB 08,80
08,14 MB 07,58
07,72 MB 08,35
07,85 MB 08,09
07,75 MB 07,49
07,86 MB 08,35
07,51 MB 07,75
e jego skuteczno
ji 60%
Film 10
Film 11
F
aficznych
ORA XVID
MB 05,86 MB
4 MB 05,78 MB
MB 04,84 MB
MB 07,09 MB
MB 04,05 MB
MB 07,90 MB
MB 05,17 MB
MB 08,42 MB
MB 06,86 MB
MB 06,49 MB
MB 07,51 MB
MB 07,12 MB
ości (kompresja
Film 12
A
3
D
H
M
M
M
T
X
F
70
FLV
05,75 MB
05,28 MB
05,29 MB
05,50 MB
05,57 MB
05,43 MB
05,47 MB
05,55 MB
05,57 MB
06,53 MB
05,56 MB
05,84 MB
60%)
AVI
3IVX
DIVX
H.264
MJPEG
MPEG‐1
MPEG‐2
THEORA
XVID
FLV
0
71 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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:
G 01
√Ng m
N
G k2N g m
N
cosπk 2m 1
2N
dla k=1,2,...,N-1
G(k) są nazywane współczynnikami DCT. Definiuje się również odwrotną
dyskretną transformatę kosinusową (IDCT):
g m1
√NG 0
2N G k cos
πk 2m 12N
N
dla m=0,1,...,N-1
72 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
73 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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
4.
w
m
a
za
Roman Janko
.3 FALK
Falka
w 1909 roku
macierzyste
Falka
więc także
astosowan
owski - 14470
KI HAARA
a Haara j
u przez A
ej określan
a ta ma zwa
e nieróżnic
iach. Falki
- Badanie algo
A
est pierws
Alfréda Haa
ej następu
arty nośnik
czkowalnoś
te stosowa
orytmów strat
szą znaną
ara. Jest t
ującym wzo
k (supp(H) =
ść, co moż
anie są w k
nych kompres
ą falką, k
to szczegó
orem:
=[0,1]), jedn
że mieć isto
ompresji o
sji obrazów gra
tóra zosta
ólnie prost
nak jej wad
otne znacz
brazu i dźw
aficznych
ała wprow
ta falka, o
dą jest niec
zenie w nie
więku.
74
wadzona
o funkcji
ciągłość,
ektórych
4
75 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
76 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
77 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
78 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
79 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
Rys.5.1 Fragment kodu strony XML przeglądarki
<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>
80 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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
Rys.5.3 Fragment kodu strony XML przeglądarki
<?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
81 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
82 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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.
83 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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/
84 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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%)
85 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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
86 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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
87 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
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
88 Roman Jankowski - 14470 - Badanie algorytmów stratnych kompresji obrazów graficznych
ZAŁĄCZNIKI
1 płyta CD zawierająca pracę magisterską w formacie DOC oraz DOCX.