Reprezentacja obrazów dr inż. Izabela Szczęch Politechnika Poznańska Podstawy informatyki
Plan wykładu Grafika rastrowa Grafika wektorowa Skalowanie obrazu Kompresja danych Popularne formaty plików graficznych - przegląd 2
Informacja jako obraz cyfrowy Zastosowania informacji przenoszonej w formie obrazu cyfrowego: kamery cyfrowe na użytek domowy, fotografia cyfrowa, obrazy satelitarne wykorzystywane w meteorologii, kartografii czy urbanistyce, systemy obrazowania medycznego i biologicznego itd. Potrzebne są efektywne metody gromadzenia, indeksowania, przeglądania i wymiany tej informacji. 3
Jak przy pomocy bitów przekazywać informacje o obrazach? Sposoby kodowania informacji o obrazach: grafika rastrowa grafika wektorowa 4
Grafika rastrowa Obrazy tworzone są z położonych blisko siebie punktów pikseli o różnorodnym kolorze, które w efekcie stwarzają pozorny obraz ciągły. Piksel - najmniejszy punkt ekranu lub obrazu. Słowo powstałe jako zlepek angielskich picture oraz element. 5
Mapa bitowa Sposób zapamiętania obrazu rastrowego to bitmapadwuwymiarowa tablica pikseli. Bitmapę charakteryzują następujące właściwości: wysokość i szerokość bitmapy liczona jako liczba pikseli w pionie i w poziomie (rozdzielczość) Przykładowo rozdzielczość ekranu 800x640 oznacza, że można na nim wyświetlić maksymalnie 800 pikseli w jego szerokości i 640 w wysokości. np. 800x640 liczba bitów wykorzystywana do reprezentacji koloru danego piksela (głębia koloru) Większa głębia koloru oznacza szerszy zakres kolorów. 6
Rozdzielczość obrazu Gdy zmierzymy (na przykład zwykłą linijką) szerokość i wysokość użytkowego obszaru na ekranie i podzielimy takie wymiary przez rozdzielczość to otrzymamy wymiary piksela ekranowego. DPI, PPI, LPI Ilość pikseli (kropek, punktów, lini) na jednostkę długości (cal) dots/points/lines per inch. Określa ile punktów będzie miał obraz w swojej szerokości. Określenie stosowane głównie w przypadku urządzeń typu skaner, drukarka, ploter. 7
Głębia koloru obrazu Głębia n-bitowa daje możliwość reprezentowania 2n różnych barw. Im większa głębia tym dokładniejszy obraz, ale także tym więcej miejsca na dysku zajmie plik. Obrazy w modelu kolorów RGB często składają się z kolorowych pikseli zdefiniowanych przez trzy bajty-jeden bajt (8 bitów) na każdy kolor (czerwony, zielony i niebieski), czyli jest to głębia 24-bitowa. Liczba kolorów możliwych do wyświetlenia Głębia koloru 1-bitowa 21 2 (np. biały i czarny) 8-bitowa 28 256 24-bitowa 224 16 777 216 32-bitowa 232 4 294 967 296 8
Głębia obrazu a jego jakość głębia 8-bitowa (256 kolorów) głębia 4-bitowa (16 kolorów) głębia 1-bitowa (2 kolory) Przy jednakowej wielkości (rozdzielczości), obrazy o mniejszej głębi zawierają mniej informacji i ogląda się je z pewnym dyskomfortem. 9
Rozmiar pliku grafiki rastrowej Im dany obrazek ma wyższą rozdzielczość, tym większy jest jego rozmiar Na wielkość obrazka wpływ ma również ilość możliwych do zapamiętania kolorów. Im więcej kolorów tym większy rozmiar pliku 10
Grafika wektorowa zapis obrazu oparty jest na formułach matematycznych obraz opisany jest za pomocą tzw. obiektów, które zbudowane są z podstawowych elementów nazywanych prymitywami, czyli prostych figur geometrycznych takich jak odcinki, krzywe, okręgi, wielokąty każdy element obrazu jest opisany za pomocą pewnej liczby cech (położenie, barwa itp.), których wartości można zmieniać podczas edycji obraz przedstawiany na urządzeniu (monitor, drukarka) jest kreślony element po elemencie 11
Obraz rastrowy vs. wektorowy Zdjęcie Rysunek utworzony z 6254 obiektów 12
Skalowanie obrazu operacja zmiany rozmiaru Grafika rastrowa jest zależna od rozdzielczości wolne skalowanie; wiąże się z utratą jakości obrazu powiększanie: Grafika wektorowa nie zależy od rozdzielczości szybkie, bezpieczne skalowanie, bez straty jakości powiększanie: 13
Skalowanie obrazu rastrowego Raster ma stałą liczbę pikseli (rozdzielczość), przy powiększeniu mapy bitowej występuje efekt powiększenia piksela nie jest możliwe wielokrotne powiększenie bez utraty jakości gdyż w obrazie oryginalnym brak wystarczającej ilości detali, które pozwalałyby na zbliżenie tego rzędu. 14
Skalowanie obrazu wektorowego Odcinek jest zapamiętywany jako zbiór dwóch punktów (początkowy i końcowy) o określonych współrzędnych, dzięki temu obliczane są punkty pośrednie. Powiększenie/pomniejszenie odcinka w tym przypadku polega na obliczeniu nowych współrzędnych dla obu punków, a następnie na nowo, na obliczeniu punktów pośrednich i wyświetleniu ich na ekranie. (Elipsa jest zapamiętywana w postaci dwóch ognisk elipsy i dwóch średnic) 15
Skalowanie obrazu Grafika rastrowa -powiększanie Uwidocznione pojedyncze piksele Grafika wektorowa -powiększanie Bez strat 16
Skalowanie obrazu Grafika rastrowa -pomniejszanie Tracimy bardzo wiele szczegółów oryginalnego rysunku Grafika wektorowa -pomniejszanie Bez strat 17
Skalowanie obrazu Grafika rastrowa Grafika wektorowa 18
Grafika rastrowa zastosowania zapisywanie zdjęć i realistycznych obrazów (każdy punkt może mieć inną barwę i nasycenie) tworzenie obrazów o skomplikowanych kolorach, przejściach tonalnych, cieniach, gradacjach barw itp. składanie ilustracji obróbka zdjęć, np. retuszowanie zniszczonych tworzenie grafiki ekranowej dla aplikacji multimedialnych przygotowywanie statycznych efektów specjalnych w filmie kreowanie prostych animacji GIF 19
Grafika wektorowa zastosowania prezentacja tekstu zapis wektorowy jest odpowiedni dla gotowych dokumentów (również tekstów) nie przeznaczonych do dalszej edycji, a do rozpowszechniania w formie elektronicznej w zamkniętej postaci. wizytówki, emblematy, znaki firmowe, reklama fonty, komputerowe opisy czcionek prezentacja danych i modelowanie tworzenie wykresów 2D i 3D funkcji matematycznych, fizycznych i ekonomicznych; histogramów i wykresów kołowych; wykresów harmonogramowania zadań; wykresów wielkości zapasów i produkcji itd. kreślenie i projektowanie wspomagane komputerowo symulacja i animacja dla wizualizacji naukowej i rozrywki 20
Konwersja formatu zapisu obrazu Operacja przetworzenia obrazu wektorowego na jego odpowiednik rastrowy jest wykonywana przed jakimkolwiek obrazowaniem grafiki wektorowej na monitorze, czy drukarce. Istnieją jednakże urządzenia takie jak plotery, np. ploter tnący, dla których opis wektorowy jest naturalnym sposobem działania. Przed opublikowaniem w sieci grafiki wektorowe również często przekształca się w ich odpowiedniki rastrowe. Jest to podyktowane koniecznością zachowania możliwości wyświetlenia obiektów graficznych w różnych systemach. Wyjątkiem są tutaj np. prezentacje Flash i Shockwave, które dzięki istnieniu wtyczek (plug-ins) do przeglądarek są "rozumiane" przez większość komputerów. 21
Konwersja formatu zapisu obrazu Digitalizacja - przekształcenie obrazka wektorowego w rastrowy (łatwa operacja): Nałóż siatkę kwadratów na rysunek Zamaluj każdy kwadrat dominującym kolorem Wektoryzacja - przekształcenie obrazka rastrowego w wektorowy (trudna operacja): W układzie barwnych pikseli rozpoznaj przebiegające linie, okręgi, litery i inne znaki, obszary jednobarwne i ich brzegi Zapamiętaj ich parametry 22
Formaty plików graficznych Wszelkie obrazy graficzne w postaci cyfrowej mają pewne przyporządkowane formaty plików. Formaty plików graficznych różnią się między sobą pod następującymi względami: sposób reprezentacji danych obrazka (piksele lub wektory), techniki kompresji, obsługiwane funkcje programów graficznych. 23
Kompresja danych Polega na zmianie sposobu zapisu informacji w taki sposób, aby zmniejszyć redundancję i tym samym objętość zbioru, nie zmieniając przenoszonych informacji. Innymi słowy chodzi o wyrażenie tego samego zestawu informacji, lecz za pomocą mniejszej liczby bitów. /wikipedia.org/ Dane reprezentowane są w zwartej postaci w celu redukcji kosztów ich przechowywania i przesyłania. 24
Skąd możliwość kompresji? Redundancja (nadmiarowość) Różne sposoby reprezentacji Informacje w danych powtarzają się np. rastrowa i wektorowa reprezentacja grafiki.. Ograniczenia percepcji wzrokowej słuchowej 25
Co kompresujemy? Mowa (np. w telefonii komórkowej, internetowej, VoIP) Muzyka (np. utwory w formacie MP3) Dane video (np. filmy na DVD, w formacie DivX) Teksty (np. udostępniane w archiwach takich jak Project Gutenberg) Pliki wykonywalne (np. wersje instalacyjne oprogramowania) Bazy danych 26
Zalety stosowania kompresji Przesyłanie większej ilości danych w tym samym czasie (np. satelity telekomunikacyjne) Przesyłanie danych w krótszym czasie Praca większej liczby użytkowników na łączu o tej samej przepustowości (np. Internet) Zmniejszenie rozmiarów przechowywanych danych (rozmiary i koszty dysków twardych) Wygoda operowania plikami o mniejszych rozmiarach 27
Wady stosowania kompresji Konieczność wykonania dekompresji przed użyciem danych Czasami wymagana jest duża moc obliczeniowa, aby kompresja/dekompresja mogła być wykonywana w czasie rzeczywistym 28
Uniwersalne i dedykowane metody kompresji współczynnik kompresji to wyrażony w procentach stosunek rozmiaru danych (np. pliku) po kompresji do rozmiaru danych przed kompresją, np. 10% metody uniwersalne - możliwość stosowania jednego algorytmu do różnych typów danych z reguły gorszy współczynnik kompresji metody dedykowane stworzone do konkretnego zastosowania lepszy współczynnik kompresji potrzeba stworzenia wielu algorytmów dla konkretnych danych koszty opracowania algorytmu mogą przekraczać zyski z jego stosowania 29
Bezstratne i stratne metody kompresji metody bezstratne - z postaci skompresowanej można odzyskać identyczną postać pierwotną metody stratne - z postaci skompresowanej nie można odzyskać identycznej postaci pierwotnej, jednak główne właściwości zostają zachowane 30
Bezstratne i stratne metody kompresji Kompresja bezstratna jest odwracalna - pozwala odtworzyć oryginalną zawartość danych Szerokie spektrum zastosowań Gorszy współczynnik kompresji Kompresja stratna jest nieodwracalna - nie odzyskamy danych w oryginalnej postaci Lepszy współczynnik kompresji Ograniczone spektrum zastosowań 31
Przed kompresją (800kB) 32
Po kompresji stratnej (64kB) 33
Metody bezstratne zastosowania Teksty Bazy danych Obrazy medyczne (!) Programy komputerowe Archiwizacja danych 34
Metody stratne zastosowania Obrazy Utwory muzyczne Mowa Dane wideo 35
Popularne formaty plików graficznych - przegląd
Formaty grafiki rastrowej Używające kompresji stratnej: JPEG (Joint Photographic Experts Group) JPEG 2000 TIFF (Tagged Image File Format) - udostępniający wiele rodzajów kompresji (zarówno stratnej jak i bezstratnej) DjVu (Deja Vu) - format stworzony do przechowywania zeskanowanych dokumentów w formie elektronicznej 37
JPEG JPEG (Joint Photographic Experts Group Format) format 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 algorytm kompresji algorytmem stratnym możliwość kontroli stopnia kompresji w jej trakcie umożliwia dobranie stopnia do danego obrazka, w taki sposób, aby uzyskać jak najmniejszy plik, ale o zadowalającej jakości używany przez JPEG jest 38
Przykłady kompresji JPEG 20:1 50:1 39
Przykłady kompresji JPEG 100:1 200:1 40
JPEG wady i zalety Zalety: bardzo dobre współczynniki kompresji możliwość dobierania współczynnika kompresji bardzo duża popularność Wady: lepszy współczynnik kompresji oznacza pogorszenie jakości obrazu istnieją lepsze algorytmy 41
JPEG 2000 następca powszechnie stosowanego JPEG format ten zapewnia lepszą jakość obrazu i zapewnia kompresję wysokiego stopnia umożliwia zapisanie i odczytanie wszystkich ważnych składowych obrazu, redukując zniekształcenia lepiej niż format JPEG w odróżnieniu od JPEG, obraz może być również skompresowany bezstratnie, co czyni nowy standard konkurencyjnym dla formatu PNG algorytm JPEG 2000 jest wykorzystywany między innymi do kompresowania obrazu w kinach cyfrowych 42
Przykłady kompresji JPEG 2000 20:1 50:1 43
Przykłady kompresji JPEG 2000 100:1 200:1 44
JPEG 2000 wady i zalety Zalety: bardzo dobre współczynniki kompresji przy zadawalającej jakości obrazu Wady: duża złożoność obliczeniowa, w związku z tym nie przewiduje się zastąpienia nim standardu JPEG stosunkowo wolne działanie 45
TIFF TIFF (Tagged Image File Format) format ten pozwala na zapisywanie obrazów stworzonych w skali szarości oraz wielu głębiach bitowych koloru format z kompresją bezstratną, ale udostępniający także wiele rodzajów kompresji stratnej TIFF oparty jest na koncepcji znaczników (tagów). Znaczniki dostarczają informacji na temat obrazu; jeden z nich jest wskaźnikiem do całego obrazka, inne dotyczą typu kompresji, rozmiaru, kolejności bitów, oraz autora, daty i oprogramowania źródłowego TIFF jest standardem szeroko używanym jednak zawiera wiele różnych wersji i tagów, co często stanowi problem. 46
Porównanie formatów TIFF i JPEG Obraz TIF Obraz JPEG 918 KB 59,0 KB 47
Formaty grafiki rastrowej Używające kompresji bezstratnej GIF (Graphics Interchange Format) PNG (Portable Network Graphics) TIFF 48
GIF GIF (Graphics Interchange Format) format pliku graficznego z kompresją bezstratną GIF-y są często używane na stronach www, Wada: brak jest możliwości zapisu plików graficznych w formacie True Color. Zachowany w tym formacie obraz może być czarno-biały, w odcieniach szarości lub kolorowy (maksymalnie 256 barw na blok obrazu) Pliki w tym formacie mogą zawierać kilka obrazów, umożliwia to tworzenie dzięki nim animacji Może przechowywać informację o kanale alfa (przezroczystość) 49
Zalety i wady formatu GIF Zalety: umożliwia zapis w jednym pliku wielu obrazów GIF w celu późniejszego ich prezentacji w postaci animacji możliwość ustawienia dla każdego piksela przezroczystości (jedynie dwie wariancje - albo jest, albo nie jest przezroczysty) popularny Wady: nie obsługuje trybów o 24-bitowych kolorze 50
PNG PNG (Portable Network Graphics) format graficzny wykorzystujący kompresję bezstratną jest formatem pozbawionym ograniczeń narzucanych przez właściciela praw patentowych - stworzony przez internautów może być używany bez opłat jest wieloplatformowym formatem bitmapowym istnieje w nim możliwość zdefiniowania stopnia przeźroczystości - tzw. kanału alpha zapewnia lepszy stopień kompresji niż GIF (10-30%) nie może jednak służyć do tworzenia animacji, ponieważ nie pozwala na przechowywanie wielu obrazków w 51 pojedynczym pliku
Zalety i wady formatu PNG Zalety: umiejętność zapisu grafiki truecolor (aż do 48 bitów na piksel) oraz grafiki grayscale (aż do 16 bitów na piksel), uwzględnianie współczynnika przezroczystości (alpha channel) na każdy piksel, efektywna, bezstratna kompresja (o ok. 10-30 proc. bardziej wydajna niż stosowana w GIF-ie), Wady: efekt ziarnistości przy dużej kompresji 52
Porównanie formatów GIF, JPEG, PNG 53
Porównanie formatów GIF, JPEG, PNG Oryginalny obraz zawierał 25 kolorów 54
Porównanie formatów GIF, JPEG, PNG 55
Porównanie formatów GIF, JPEG, PNG 56
Formaty grafiki rastrowej Bez kompresji: BMP XCF (experimental Computing Facility) - mapa bitowa programu GIMP; może przechowywać wiele warstw XPM format zapisu plików przy pomocy znaków ASCII GIMP (GNU Image Manipulation Program) darmowy program do tworzenia i obróbki grafiki rastrowej. 57
BMP Obraz jest przechowywany jako bitmapa. Piksele są zapisywane bez żadnej kompresji z tego powodu rozmiary plików są bardzo duże Jeden z popularniejszych formatów przechowywania obrazu w pamięci komputera, format ten wylansowała firma Microsoft jako podstawowy format zapisu danych plików graficznych Zachowując pliki w tym formacie, można wybrać głębię pikseli - od 1 do 24 bitów. 58
Porównanie formatów BMP i JPEG Obraz bitowy Obraz JPEG 1,37 MB 36,0 KB 59
Formaty grafiki wektorowej SVG (Scalable Vector Graphics) - format oparty na języku XML; promowany jako standard grafiki wektorowej; umożliwia tworzenie animacji CDR (Corel Draw) - format opatentowany przez firmę Corel Corporation SWF (Adobe Flash) - format grafiki wektorowej popularny w internecie; umożliwia tworzenia animacji EPS (Encapsulated PostScript) format PostScript z ograniczeniami 60
Plik bez formatu Można przenosić między aplikacjami i platformami komputerowymi. Składa się ze strumienia bajtów opisujących informacje o kolorach. Każdy piksel jest opisany binarnie. Obrazek można zachować w formacie z przeplotem i bez przeplotu. W pierwszym przypadku wartości kolorów (na przykład czerwony, zielony i niebieski) są zapisywane sekwencyjnie. Wybór zależy od wymagań aplikacji docelowej, w której plik ma być otwierany. 61
Literatura: A. Przelaskowski, "Kompresja danych: podstawy, metody bezstratne, kodery obrazów", Wydawnictwo BTC, W-wa, 2005. A. Drozdek, Wprowadzenie do kompresji danych, WNT, Warszawa, 2007 Władysław Skarbek, Multimedia, algorytmy i standardy kompresji 62