Metody kompresji i przechowywania obrazów

Podobne dokumenty
Wybrane metody kompresji obrazów

Klasyfikacja metod kompresji

Klasyfikacja metod kompresji

Cyfrowe przetwarzanie i kompresja danych. dr inż.. Wojciech Zając

Kompresja Stratna i Bezstratna Przegląd Najważniejszych Formatów Graficznych

Joint Photographic Experts Group

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Założenia i obszar zastosowań. JPEG - algorytm kodowania obrazu. Geneza algorytmu KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

Grafika Komputerowa Wykład 1. Wstęp do grafiki komputerowej Obraz rastrowy i wektorowy. mgr inż. Michał Chwesiuk 1/22

Temat: Algorytm kompresji plików metodą Huffmana

Modulacja i kodowanie. Labolatorium. Kodowanie źródłowe Kod Huffman a

Algorytmy kodowania entropijnego

Kodowanie Huffmana. Platforma programistyczna.net; materiały do laboratorium 2014/15 Marcin Wilczewski

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne

Kodowanie Shannona-Fano

Rozszerzenia plików graficznych do publkacji internetowych- Kasia Ząbek kl. 2dT

Teoria informacji i kodowania Ćwiczenia

GRAFIKA RASTROWA. WYKŁAD 2 Oprogramowanie i formaty plików. Jacek Wiślicki Katedra Informatyki Stosowanej

Kompresja bezstratna. Entropia. Kod Huffmana

Kodowanie predykcyjne

Cała prawda o plikach grafiki rastrowej

Przetwarzanie obrazu cyfrowego

Technologie cyfrowe semestr letni 2018/2019

dr hab. inż. Lidia Jackowska-Strumiłło, prof. PŁ Instytut Informatyki Stosowanej, PŁ

Nierówność Krafta-McMillana, Kodowanie Huffmana

KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

AKD Metody słownikowe

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 4, strona 1. GOLOMBA I RICE'A

Podstawowe pojęcia. Teoria informacji

Micha Strzelecki Metody przetwarzania i analizy obrazów biomedycznych (2)

KODY SYMBOLI. Kod Shannona-Fano. Algorytm S-F. Przykład S-F

Przetwarzanie i transmisja danych multimedialnych. Wykład 5 Kodowanie słownikowe. Przemysław Sękalski.

Formaty plików graficznych

GRAFIKA. Formaty plików graficznych

Cechy formatu PNG Budowa bloku danych Bloki standardowe PNG Filtrowanie danych przed kompresją Wyświetlanie progresywne (Adam 7)

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

KODY SYMBOLI. Materiały KODA, A.Przelaskowski. Koncepcja przedziałów nieskończonego alfabetu

Wygra Polska czy Brazylia, czyli o tym jak zwięźle zapisywać informacje

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Elementy grafiki komputerowej

Obróbka grafiki cyfrowej

KOMPRESJA STRATNA I BEZSTRATNA

Kody Tunstalla. Kodowanie arytmetyczne

Niech x 1,..., x n będzie ciągiem zdarzeń. ---

Definicja. Jeśli. wtedy

Wstęp Statyczne kody Huffmana Dynamiczne kody Huffmana Praktyka. Kodowanie Huffmana. Dawid Duda. 4 marca 2004

teoria informacji Entropia, informacja, kodowanie Mariusz Różycki 24 sierpnia 2015

Kompresja danych kodowanie Huffmana. Dariusz Sobczuk

Kodowanie informacji

Kompresja obrazów i formaty plików graficznych

Teoria Informacji i Metody Kompresji Danych

dr inż. Piotr Odya Wprowadzenie

Przetwarzanie i transmisja danych multimedialnych. Wykład 3 Kodowanie Shannona Fano i Huffmana. Przemysław Sękalski.

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.

Podstawy kompresji danych

Wykład III: Kompresja danych. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Teoria Informacji - wykład. Kodowanie wiadomości

Algorytmy i struktury danych

Kompresja danych DKDA (7)

FORMATY GRAFICZNE. Dobra ilustracja przychodzi w małym pliku. David Siegel, Tworzenie stron WWW. 1. Rodzaje plików graficznych

Kompresja obrazów w statycznych - algorytm JPEG

LZ77 LZ78. Kompresja danych. Tomasz Jurdziński. Wykład 5: kodowanie słownikowe

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

pobieramy pierwszą literę komunikatu i wypełniamy nią (wszystkie pozycje tą samą literą) bufor słownikowy.

Formaty plików graficznych

Formaty plików graficznych

Kodowanie informacji

Progresywny internetowy kodek falkowy

Kodowanie i entropia

Kompresja danych i formaty plików graficznych

Granica kompresji Kodowanie Shannona Kodowanie Huffmana Kodowanie ciągów Kodowanie arytmetyczne. Kody. Marek Śmieja. Teoria informacji 1 / 35

Wprowadzenie Algorytm ByteRun ByteRun - przykład Algorytm RLE Przykład działania RLE Algorytm LZW Przykład kompresji LZW

dr inż. Piotr Odya dr inż. Piotr Suchomski

Wykład 5. Kompresja danych

Wykorzystanie grafiki wektorowej do tworzenia elementów graficznych stron i prezentacji

Zastosowania grafiki komputerowej

INFORMATYKA WSTĘP DO GRAFIKI RASTROWEJ

Fundamentals of Data Compression

Dane, informacja, programy. Kodowanie danych, kompresja stratna i bezstratna

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG

Podstawy użytkowania systemu Linux

POPRAWIANIE JAKOŚCI OBRAZU W DZIEDZINIE PRZESTRZENNEJ (spatial image enhancement)

Reprezentacja obrazów. dr inż. Izabela Szczęch Politechnika Poznańska Podstawy informatyki

FORMATY PLIKÓW GRAFICZNYCH

Algorytmy zachłanne. dr inż. Urszula Gałązka

MOŻLIWOŚĆ WYBRANYCH METOD KOMPRESJI OBRAZÓW W DIGITALIZACJI ZBIORÓW BIBLIOTECZNYCH

Algorytmy kodowania predykcyjnego

Krótki przegląd pierwszych standardów kompresji obrazów

NEURAL IMAGE DATA COMPRESSION IN THE PROCESS OF IDENTIFICATION OF SELECTED AGRICULTURAL OBJECTS

mgr inż. Grzegorz Kraszewski SYSTEMY MULTIMEDIALNE wykład 1, strona 1.

Podstawy informatyki. Izabela Szczęch. Politechnika Poznańska

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

ZESPÓŁ LABORATORIÓW TELEMATYKI TRANSPORTU ZAKŁAD TELEKOMUNIKACJI W TRANSPORCIE WYDZIAŁ TRANSPORTU POLITECHNIKI WARSZAWSKIEJ

Biocentrum Ochota infrastruktura informatyczna dla rozwoju strategicznych kierunków biologii i medycyny POIG /09

Podstawy kompresji treści multimedialnych. Opracował: dr inż. Piotr Suchomski

dr inż. Jacek Naruniec

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

Transkrypt:

Metody kompresji i przechowywania obrazów Obrazy ogromnymi zbiorami danych: Np. Fotografia 24mm x 36 mm 10 7 punktów; rozdzielczość 0.01 mm 256 poziomów; >10 MB Na komputerze 640 x 480 pikseli 900 kb 1280x1024 pikseli 3.84 MB Transmisja dla 9600 bps > 20 minut Dla obrazów animowanych około 30obrazów/sek M. Berndt-Schreiber 1

Sposoby zmniejszania wielkości plików graficznych: Zmniejszanie rozdzielczości Redukcja liczby kolorów Kompresja plików usuwanie redundantnej informacji z obrazu... niemożliwa przy braku zależności między pikselami! M. Berndt-Schreiber 2

Uwagi: Techniki kompresji obrazów częściowo wykorzystują metody kodowania i kompresji danych nieobrazowych, typu ciągów symboli Efektywność metod kompresji zależy od rodzaju obrazu (zawsze większa dla obrazów z regularnymi kształtami, jednolitymi powierzchniami, niż dla tych z nieregularnymi, zróżnicowanymi,...) M. Berndt-Schreiber 3

Problem zasadniczy: JAKA JEST MINIMALNA ILOŚĆ DANYCH NIEZBĘDNA DO ODTWORZENIA OBRAZU? M. Berndt-Schreiber 4

Ilościowe określenie efektywności kompresji: Współczynnik kompresji: C R = N1/N2, gdzie N1 liczba bitów dla oryginalnego obrazu N2 - dla skompresowanego Względna redundancja danych: R D = (N1-N2)/N1= 1 1/ C R M. Berndt-Schreiber 5

Dla obrazów istotne trzy podstawowe typy redundancji: REDUNDANCJA KODU usuwanie zmienna długość kodu REDUNDANCJA INTER-PIKSELOWA usuwanie odpowiednie transformacje REDUNDANCJA PSYCHOWIZUALNA usuwanie mapowanie ograniczające np. ilość kolorów M. Berndt-Schreiber 6

Ilustracja redundancji kodu dla obrazów : Niech zmienna losowa r k, w przedziale [0,1], reprezentuje poziomy kwantyzacji na obrazie i niech r k wstępuje z p-stwem p r (r k ) Z definicji histogramu dla obrazu: p r (r k )=n k /n k=1,2,...l-1, L jest ilością poziomów kwantyzacji n k oznacza liczbę poziomów k na obrazie n jest ilością wszystkich pikseli na obrazie M. Berndt-Schreiber 7

Ilustracja redundancji kodu dla obrazów : Jeśli liczba bitów, reprezentująca wartość r k, wynosi l(r k ) to średnia ilość bitów, reprezentująca każdy piksel wynosi: L-1 L śr =Σl(r k ) p r (r k ) k=0 Całkowita liczba bitów do zakodowania obrazu MxN wynosi więc: MNL śr M. Berndt-Schreiber 8

Ilustracja redundancji kodu dla obrazów : Przykład dwóch różnych kodów Code 1 (Lśr=3) oraz Code 2 (Lśr=2,7) dla obrazu o 8 poziomach szarości Tu: R D =0,099 M. Berndt-Schreiber 9

Ilustracja redundancji kodu dla obrazów : Graficzna analiza kompresji - ilustracja p r (r k ) oraz l 2 (r k )versusr k M. Berndt-Schreiber 10

Ilustracja redundancji interpikselowej dla obrazów: Przykład dwóch różnych obrazów o identycznych histogramach M. Berndt-Schreiber 11

Ilustracja redundancji interpikselowej dla obrazów : Histogramy oraz współczynniki znormalizowanych autokorelacji dla przykładowych obrazów wzdłuż wybranej linii Tu: Informacje o wartości danego piksela można przewidywać na podstawie analizy sąsiednich... M. Berndt-Schreiber 12

Ilustracja redundancji psychowizualnej dla obrazów : Przykładowe obrazy (a) 256 poziomów szarości, (b) 16 poziomów, (c) 16 poziomów + procedura wygładzania (a) (b) (c) M. Berndt-Schreiber 13

Ogólny model kompresji: f(x,y) źródło koder kanał kodera kanał transmisji KODER kanał dekodera źródło dekoder DEKODER fr(x,y) M. Berndt-Schreiber 14

Model kodera: f(x,y) mapowanie kwantyzacja kodowanie symboliczne ŹRÓDŁOWY KODER kanał transmisji M. Berndt-Schreiber 15

Model dekodera: kanał transmisji dekodowanie symboliczne mapowanie odwrotne ŹRÓDŁOWY DEKODER fr(x,y) M. Berndt-Schreiber 16

Metody kompresji: I. BEZ STRAT INFORMACJI (lossless) -bezstratne II. ZE STRATAMI INFORMACJI (lossy) - stratne, modyfikujące M. Berndt-Schreiber 17

Schemat bezstratnych kompresji: wejściowy strumień danych modelowanie pośrednia reprezentacja kodowanie binarne kod wyjściowy, nowa reprezentacja danych obrazowych M. Berndt-Schreiber 18

Schemat stratnych kompresji: oryginalne dane obrazowe dekompozycja (transformata) kwantyzacja Tu strata informacji kodowanie binarne skompresowana reprezentacja danych obrazowych M. Berndt-Schreiber 19

Ad. I. Metody bezstratne: I.1 KODOWANIE CIĄGÓW SYMBOLI run-lengh-encoding, konturowe I.2 METODY STATYSTYCZNE kodowanie Huffmana I.3 METODY SŁOWNIKOWE LZ, LZW M. Berndt-Schreiber 20

Ad. II. Metody stratne: II.1 ZMIANA MODELU KOLORÓW II.2 METODY FRAKTALNE II.3 METODY TRANFORMACYJNE M. Berndt-Schreiber 21

Ad I.1 Kodowanie ciągów i konturów: M. Berndt-Schreiber 22

Ad I.2. Kodowanie Huffmana - pierwsza optymalna,statystyczna metoda kompresji danych, zapewniająca redukcję średniej długości kodu dla liter alfabetu D. A. Huffman A Method for the Construction of Minimum Redundancy Codes Institute of Radio Engineers Proc. 40, 1098-1101 (1952) M. Berndt-Schreiber 23

Ad I.2. Kodowanie Huffmana Przykład drzewa 000 E 0,15 0 0 001 D 0,16 1 0,31 0 010 C 0,17 0 011 B 0,17 1 0,34 1 1,0 1 A 0,35 1 M. Berndt-Schreiber 24

Ad I.2 Algorytm Huffmana: dla każdej litery utwórz drzewo złożone tylko z korzenia i ustaw te drzewa w malejącym porządku prawdopodobieństwa użycia danej litery; while istnieją przynajmniej dwa drzewa t1 i t2 o najmniejszych p-stwach p1 i p2 utwórz drzewo zawierające w korzeniu p-stwo p1+p2 i mające t1 i t2 jako lewe i prawe poddrzewo; przypisz 0 każdej lewej krawędzi drzewa i 1 każdej prawej krawędzi; utwórz słowo kodu dla każdej litery przechodząc drzewo od korzenia do gałęzi zawierającej p-stwo stowarzyszone z tą literą i łącząc napotkane zera i jedynki; M. Berndt-Schreiber 25

Ad I.2. Kodowanie Huffmana Przykładowe etapy przypisywania kodów symbol p-stwo kod 1 2 3 4 M. Berndt-Schreiber 26

Uwagi: z techniką kodowania Huffmana związana też wcześniejsza metoda Shannona-Fano (prawie optymalna) C. E. Shannon,A Mathematical Theory of Communication, Bell System Technical Journal 27, 379-423,623-656 (1948) tzw. kanoniczne drzewo Huffmana (w formie kompaktowej) stosowane w większości archiwów (pkzip, lha, arj..) M. Berndt-Schreiber 27

Ad I.2 Algorytm Shannona-Fano: ustaw litery alfabetu źródłowego w ciąg S uporządkowany zgodnie z prawdopodobieństwem ich użycia; if S zawiera dwie litery dołącz 0 do słowa kodu jednej litery i 1 do słowa kodu drugiej litery; else if S zawiera więcej niż dwie litery podziel S na dwa podciągi S1 i S2 tak, by różnica między sumą prawdopodobieństw liter w podciągach była najmniejsza; dołącz 0 do słów kodu dla liter w S1 i 1 do słów kodu w S2; M. Berndt-Schreiber 28

Ad. I.3 Metody słownikowe: kodowanie ciągów symboli ( pikseli) za pomocą odwołań do słownika zawierającego już takie ciągi im dłuższy ciąg uda się zastąpić indeksem do słownika tym większy stopień kompresji w metodach adaptacyjnych tworzony słownik zmienia się w trakcie kodowania obrazu Abraham Lempel i Jakob Ziv and LZ77, LZ78 + Terry Welch LZW84 (gif zagrożony patentem 97...-png) M. Berndt-Schreiber 29

Ad. I.3 Algorytm kompresji LZW: wprowadź do słownika wszystkie symbole wejściowe ; ciąg c = pierwsza litera wejściowa; while kodowanie niezakończone wczytaj symbol s; if c+s jest w słowniku c=c+s; else zwróć słowo kodu odpowiadające ciągowi c; włącz słowo c+s do słownika; c=s; zwróć słowo kodu odpowiadające ciągowi c; M. Berndt-Schreiber 30

Ad. II. Metody stratne: II.1 ZMIANA MODELU KOLORÓW II.2 METODY FRAKTALNE II.3 METODY TRANFORMACYJNE M. Berndt-Schreiber 31

Ad. II.2 Metody fraktalne: Benoit Mandelbrot 1975, Fractals in Nature... John Hutchinson 1981, Iterated Function Theory. Michael Barnsley 1988, Fractals Everywhere... (Dowód dla Collage theorem - jakie warunki musi spełniać IFS, aby poprawnie reprezentować obraz... Iterated Functions Company 1991) M. Berndt-Schreiber 32

Ad. II.2 Metody fraktalne: p u b l i k a c j e e lata Liczba publikowanych prac nt. kompresji fraktalnych M. Berndt-Schreiber 33

Uwagi: Fraktalami w metodach fraktalnej kompresji są układy IFS (Iterated Function Systems) Kompresja (stratna!) jest bardzo wolna, dekompresja natomiast bardzo szybka Szczegóły technologii kompresji patentowane (owiane tajemnicą...) M. Berndt-Schreiber 34

Kompresja fraktalna Nadzieje związane z kompresją fraktalną związane głównie z następującymi obserwacjami: 1. Wiele naturalnych obiektów przyrody ma cechy samopodobieństwa... ( Benoit Mandelbrot 1975 self similarity, selfaffinity) 2. Można znaleźć układy IFS bardzo dobrze przybliżające obrazy świata przyrody ( liść paproci u Barnsley a przybliżany przy pomocy zaledwie 4 transformacji...) M. Berndt-Schreiber 35

Kompresja fraktalna Szukanie odpowiednich, dobrych IFS dla danego obrazu wymaga następujących procedur: 1. Podział obrazu na odpowiednie bloki/regiony 2. Wybór odpowiednich transformacji /przekształceń afinicznych M. Berndt-Schreiber 36

Kompresja fraktalna M. Berndt-Schreiber 37

Kompresja fraktalna Próby automatyzacji pewnych procedur -bez powodzenia! Wg Michaela Barnsley a (1988) "Complex color images require about 100 hours each to encode and 30 minutes to decode on the Masscomp [dual processor workstation]. That's 100 hours with a _person_ guiding the process... " Ale programy kompresji fraktalnych z Windows DLL można kupić...(!!!) M. Berndt-Schreiber 38

Kompresja fraktalna Próby rozwiązania problemu odwrotnego: tzn. dla danego obrazu znaleźć optymalne transformacje (tzw. transformacje fraktalne) podejmowane w wielu laboratoriach - od stosowania algorytmów genetycznych po...algorytm GSA...(!)...problem pozostaje nierozwiązany! M. Berndt-Schreiber 39

CO DALEJ??... Na dziś cała nadzieja(!) w transformacjach falkowych dla kompresji obrazów... (np. JPEG 2000) Generalnie, wciąż nierozwiązany problem jednolitych standardów dla plików graficznych... M. Berndt-Schreiber 40

Przykładowe formaty obrazów: bezstratne bmp bitmap tiff tagged interchange file format 1992 png portable network group 1997 pnp portable network phtographs 2002 stratne gif graphics interchange format 1987 jpeg joint photographic expert group 1995 M. Berndt-Schreiber 41