Formaty plików oraz algorytmy kompresji

Post on 12-Jan-2015

8.214 views 0 download

description

Prezentacja przygotowana przez studenta 1. roku matematyki.

Transcript of Formaty plików oraz algorytmy kompresji

Pliki graficzne

Michał Rusinek

Kraków 2005 r.

Rodzaje rozszerzeń plików graficznych

• JPEG• GIF• PNG• JNG• MNG• PCX• BMP• TIFF• JPG 2000

GIF

• GIF (ang. Graphics Interchange Format) to format pliku graficznego z kompresją bezstratną. Pliki tego typu są bardzo często używane na stronach WWW.

• Plik w formacie GIF może zawierać kilka obrazów, co umożliwia tworzenie animacji

GIF

• Wadą formatu GIF jest brak możliwości zapisu plików graficznych w formacie TrueColor

MNG

• MNG (ang. Multiple-Image Network Graphics) to format plików graficznych pochodzący od PNG.

• Format ten pozwala na zapisanie animacji, przez umieszczenie wielu obrazków w jednym pliku. W przeciwieństwie do formatu GIF umożliwia zapisywanie animacji powyżej 256 kolorów.

JNG

• JNG (ang. JPEG Network Graphics) to format plików graficznych pochodzący od PNG.

• JNG łączy ze sobą cechy formatów PNG i JPEG dlatego najczęściej wykorzystywany jest do zapisu zdjęć.

• W odróżnieniu od JPEG ten format graficzny umożliwia zapis z przezroczystością.

JPEG

• pochodzi od (Joint Photographic Experts Group").

• • jest formatem plików stworzonym do

przechowywania obrazów, które wymagają "pełnego koloru", ale nie mają zbyt wielu ostrych krawędzi i małych detali - a więc zdjęć pejzaży, portretów i innych "naturalnych" obiektów

JPEG

• Format JPEG, obok formatów GIF i PNG, jest najczęściej stosowanym formatem grafiki na stronach WWW.

• Algorytm kompresji używany przez JPEG jest algorytmem stratnym

JPEG

• tzn. w czasie jego wykonywania tracona jest bezpowrotnie część pierwotnej informacji

Słabe strony algorytmu JPEG

                                      

Obrazek podstawowy, przed skompresowaniem zajmuje 196662b.

Obrazek potraktowany silną kompresją. Wg. programu kompresującego po DCT dane zostają upakowane do poziomu ok. 25%. Rozmiar po kompresji: 4070b. Efekt pocięcia raczej niewidoczny, ale widać przekłamania w kolorach.

Obrazek potraktowany bardzo silną kompresją. Wg. programu kompresującego po DCT dane zostają upakowane do poziomu ok.5% Rozmiar po kompresji: 1741b. Widoczne silne "pocięcie" obrazka na kwadraty oraz dużo przekłamań w kolorach.

Nieskompresowany napis nie ujawni żadnych błędów. Rozmiar 196662b, po kompresji, ale bez kwantyfikacji danych (czyli przy ustawieniu, że dane mają być przycięte do 100% dokładności, czyli nie mają być przycięte) zajmuje 5094b.

Na pierwszy rzut oka nie widać przekłamań w kolorach itp. Po powiększeniu ujawniają się "przebarwienia" wynikające z usunięcia pewnej części danych (kompresja 75%, usunięto ok.25%). Rozmiar: 3116b.

Zauważalne bez powiększania przebarwienia, po powiększeniu widać ich więcej. Wychodzą na jaw niedostatki jeśli chodzi o uproszczenia. (kompresja 25%, usunięto ok.75% danych) Rozmiar: 2040b.

Bez powiększania widać przebarwienia i rozmazanie tekstu, jednakże widać także pewną cechę naszego oka, a mianowicie pewne uproszczenia itp. które pozwalają nam odczytać co tu jest napisane. (Kompresja 5%, usunięto ok.95%) Rozmiar: 1253b.

KOMPRESJA BEZSTRATNA

• ogólna nazwa takich metod upakowywania informacji do postaci zawierającej zmniejszoną liczbę bitów tak, aby całą informację dało się z tej postaci odtworzyć do identycznej postaci pierwotnej.

GIFPCXTIFF

PNG

• został opracowany jako następca GIF w 1995 roku

• Format PNG zapisuje tylko pojedyncze pliki graficzne (nie ma animacji).

PNG

• Kompresja polega na dokonaniu jednej z transformacji każdej z linii obrazu, po czym wynik jest kompresowany za pomocą algorytmu deflate. Numer transformacji jest zapisywany przed linią.

TRANSFORMACJE

• mają na celu przystosowanie danych do łatwiejszej kompresji

• Zapisują one różnicę między wartością rzeczywistą piksela a wartością obliczoną na podstawie funkcji przewidującej, działającej w oparciu o bity już odkodowane. Zwykle różnica ta jest niewielka.

FUNKCJE PRZEWIDUJĄCE

• Funkcje przewidujące to m.in.:

1. tyle samo co piksel po lewej

2. tyle samo co średnia wartości pikseli po lewej i na górze

3. tyle samo co suma wartości pikseli po lewej i na górze minus piksel po lewej górnej przekątnej

PCX

• to format przechowywania i kompresji obrazków, używający algorytmu kompresji bezstratnej

• był oryginalnie formatem przeznaczonym do indeksowanych palet kolorów, choć został też przystosowany do koloru 24-bitowego

PCX

• PCX był dość popularny we wczesnych latach DOS i Windows, lecz współcześnie jest już rzadki, zastąpiony przez formaty oferujące lepszą kompresje i dodatkowe możliwości - GIF, JPEG i PNG.

PCX

• Dekompresja jest bardzo prosta - każdy bajt z przedziału 0x00 do 0xc0 koduje pojedynczy piksel o danej wartości.

• Bajty z przedziału 0xc1 do 0xff oznaczają że kolejne odpowiednio 1 do 63 pikseli ma ten sam kolor, którego wartość jest zawarta w następnym bajcie.

• Kolory 0xc1 do 0xff są kodowane jako 0xc1 KOLOR.

PCX

• Algorytm kompresji jest bardzo szybki i zabiera bardzo mało pamięci, jednak jest mało wydajny, w szczególności na obrazkach innych niż wygenerowane komputerowo

BMP

• Format przechowywania grafiki rastrowej

• Został zastosowany jako podstawowy format plików graficznych w Windows

• mogą zawierać obrazy o głębi kolorów do 24 bitów, a więc ok. 16,7 milionów kolorów. Możliwa jest również ich kompresja.

TIFF

• jeden z najbardziej rozpowszechnionych i uniwersalnych formatów plików graficznych

• Służy do zapisywania grafiki bitmapowej • Format pozwala na zapisywanie obrazów

stworzonych w trybie kreskowym, skali szarości oraz w wielu trybach koloru i wielu głębiach bitowych koloru

• umożliwia stosowanie kompresji bezstratnej

TIFF

• Może zawierać :

1. prewkę (podgląd w niskiej rozdzielczości),

2. ścieżki i kanały alfa,

3. profile koloru,

4. komentarze tekstowe.

TIFF

• Używany jest obecnie w :

1. grafice trójwymiarowej (pomocniczo) 2. w obrazowaniu medycznym itd. 3. Umożliwia także zapisywanie dokumentów

wielostronicowych, co jest wykorzystywane np. w faxach. Otwieranie wielostronicowych tifów możliwe jest tylko w niektórych programach graficznych.

JPEG 2000

• W kompresji JPEG 2000 dyskretna transformata kosinusowa została zastąpiona dyskretną transformatą falkową

• Wykorzystanie funkcji falek jako funkcji bazy pozwoliło na zwiększenie stopnia kompresji przy jednoczesnym poprawieniu jakości obrazów.

DYSKRETNA TRANSFORMACJA

KOSINUSOWA

• to jedna z najpopularniejszych blokowych transformat danych. Jest szczególnie popularna w stratnej kompresji danych.

DYS.TRANS. KOSINUSOWA

• przekształca skończony ciąg N liczb rzeczywistych lub zespolonych g(0),...,g(N-1) w ciąg liczb (rzeczywistych lub zespolonych) G(0),...,G(N-1) zgodnie z zależnościami:

• Zaletą transformaty jest to, że większość współczynników jest zwykle bliska 0 – po kwantyzacji wyzerują się, co umożliwi lepszą kompresję danych.

FALKI to rodziny funkcji zbioru liczb rzeczywistych w zbiór liczb rzeczywistych, z których każda jest wyprowadzona z funkcji-matki za pomocą przesunięcia i skalowania:

gdzie: j,k - liczby całkowite, ψ - funkcja-matka, ψj,k -

falka o skali j i przesunięciu k,

Funkcje te dążą do zera (lub po prostu wynoszą 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, podobnie jak funkcje cosinus o różnych okresach i przesunięciach umożliwiają przedstawienie z dowolną dokładnością każdej funkcji okresowej.

GREFIKA RASTROWA

• Często zwana grafiką bitmapową• Obraz grafiki rastrowej jest plikiem

reprezentującym pionowo-poziomą siatkę odpowiednio kolorowanych pikseli na monitorze komputera, drukarce lub innym urządzeniu wyjściowym.

• Kolor każdego piksela jest definiowany osobno

GRAFIKA RASTROWA

• Obrazki z głębią kolorów RGB często składają się z kolorowych pikseli zdefiniowanych przez trzy bajty :

1. jeden bajt na kolor czerwony, 2. jeden na zielony 3. jeden na kolor niebieski

• Mniej kolorowe obrazki potrzebują mniej informacji na piskel, np. obrazek w kolorach czarnym i białym wymaga tylko jednego bitu na każdy piksel

GRAFIKA WEKTOROWA

• Grafikę wektorową nazywa się również grafiką obiektową, gdyż obraz w tej grafice składa się ze stosu elementów ułożonych w odpowiedniej kolejności.

• W grafice wektorowej wszelkie obrazy tworzone są za pomocą figur geometrycznych

• Jest to grafika generowana w całości komputerowo i nie ma ona bezpośredniego przełożenia na obrazowanie obiektów z natury.

GRAFIKA WEKTOROWA

• U podstawy grafiki wektorowej leży linia.• Linia ta może być tak krótka, że stanowić będzie

tylko punkt, lub może mieć określoną długość. Może ona być prostym odcinkiem lub zdefiniowaną matematycznie linią krzywą (krzywe Beziera).

• Wszelkie linie mogą być łączone, a zamykane nimi obszary (lub przynajmniej częściowo nimi otoczone) mogą mieć nadawane atrybuty koloru lub maski (czyli "otworu", przez który widać elementy leżące pod spodem..

GRAFIKA WEKTOROWA

• Obszary ograniczone liniami mogą mieć:1. jednolity kolor, 2. posiadać wypełnienie gradientowe,3. mogą być wypełnione paternami (czyli

mozaiką powtarzających się regularnie wzorów),

4. mogą wreszcie posiadać częściową przezroczystość

RGB

• jeden z modeli przestrzeni barw, opisujący ją za pomocą zestawu trzech barw podstawowych będących barwami prostymi.

• Jego nazwa powstała ze złożenia pierwszych liter angielskich nazw barw: R – red (czerwonej), G – green (zielonej) i B – blue (niebieskiej), z których model ten się składa.

GRADIENT

• obszar pokryty płynnym przejściem tonalnym pomiędzy co najmniej dwoma kolorami.

KONIEC