Kompresja stratna obrazów

Slides:



Advertisements
Podobne prezentacje
Wykład 5: Dyskretna Transformata Fouriera, FFT i Algorytm Goertzela
Advertisements

Wykład 6: Dyskretna Transformata Fouriera, FFT i Algorytm Goertzela
Metody numeryczne część 1. Rozwiązywanie układów równań liniowych.
Metody kompresji.
Geometria obrazu Wykład 2
Popularne formaty grafiki
Rozdzielczość obrazu bitowego
Kompresja danych.
Formaty plików Dane cyfrowe.
Skalowalny algorytm estymacji ruchu dla systemów rozproszonych
dotyczące plików graficznych
Materiały pochodzą z Platformy Edukacyjnej Portalu
ATRAC Adaptive Transform Acoustic Coding PTMT MiniDisc - 1/5 pojemności standardowego CD - 74 min dźwięku ATRAC pasmo 22 kHz (cz ęstotliwość próbkowania.
Kodery audio operujące w dziedzinie częstotliwości
Stratna kompresja dźwięku
Bezstratna kompresja obrazów
Rozpoznawanie Twarzy i Systemy Biometryczne, 2005/2006
Przetwarzanie obrazów
Proces analizy i rozpoznawania
Budowa i własności oka Adler 1968, Judd, Wyszecki 1975, Durret 1987
Paweł Kramarski Seminarium Dyplomowe Magisterskie 2
Geometria obrazu Wykład 8
Geometria obrazu Wykład 8
Różnice pomiędzy formatem GIF a JPG
Transformata Fouriera
Rodzaje plików graficznych.
I Grafika wektorowa.
KOMPRESJA DANYCH Marek Dyoniziak.
KOMPRESJA DANYCH DAWID FREJ. Kompresja danych Kompresja danych - polega na zmianie sposobu zapisu informacji w taki sposób, aby zmniejszyć redundancję
Grafika wektorowa i bitmapa
Kompresja danych Autorzy: Pamela Sobczak i Natalia Buchcik Klasa IIIc
Podstawowe pojęcia i problemy związane z przetwarzaniem plików graficznych.
Komputerowe metody przetwarzania obrazów cyfrowych
Obserwatory zredukowane
Kierunek : Elektronika i Telekomunikacja
Wymiana informacji w sieciach komputerowych
GŁOSOWA ŁĄCZNOŚĆ Z KOMPUTEREM
Radosław Kaczyński Wrocław 2006
FOTOMOZAIKI Tomasz Szymanowski, 8 czerwca Wstęp Fotomozaika – obraz złożony z innych obrazów. Cel projektu – stworzenie programu generującego fotomozaiki.
Marcin Jaruszewicz Jacek Mańdziuk
Formaty zdjęć.
Grafika komputerowa Jest to dziedzina rozwijająca się niezwykle dynamicznie, a jednocześnie wymagająca znacznej mocy obliczeniowej. Łatwo możemy to zaobserwować,
Metody odszumiania sygnałów
Grafika i komunikacja człowieka z komputerem
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Grafika Komputerowa i wizualizacja
Analiza obrazu komputerowego wykład 5
Adam Łożyński IVi System plików NTFS listy kontroli dostępu (ACL)
RAR jako format kompresji bezstratnej.. RAR został stworzony przez Rosjanina Eugene Roshala. Do kompresji danych używa odmiany kompresji LZSS. Jest wolniejszym.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
DCT w kodowaniu obrazów
Informatyka +.
Geometria obrazu Wykład 3 Jak oszczędzać przestrzeń i czas ? 1.Przerzedzanie triangulacji – modelowanie terenu, – kompresja danych. 2.Kompresja stratna.
Zagadnienie własne Macierz wektorów własnych V=(v1,v2,...,vn) przekształca zatem macierz A do postaci diagonalnej: W większości zastosowań w chemii i fizyce.
Kompresja wideo.
Grafika rastrowa - parametry
Schemat układu ukrywającego znaki wodne
ABC JPG FORMATY GRAFICZNE.
Grafika na stronie internetowej
Grafika komputerowa – Grafika wektorowa i rastrowa
GRAFIKA RASTROWA DALEJ. Podział grafiki komputerowej ze względu na sposób powstawania obrazu: GRAFIKA WEKTOROWA GRAFIKA KOMPUTEROWA GRAFIKA RASTROWA.
MARCIN WOJNOWSKI KOMPRESJA I DEKOMPRESJA PLIKÓW. KOMPRESJA Kodowanie danych w taki sposób, aby zajmowały najmniej miejsca na dysku. Najbardziej znanymi.
1 Proces analizy i rozpoznawania. 2 Jak przygotować dwie klasy obiektów?
Odporne sterowanie napędami elektrycznymi z wykorzystaniem algorytmów niecałkowitego rzędu Krzysztof Oprzędkiewicz Wydział EAIiIB Katedra Automatyki i.
MODULACJE Z ROZPROSZONYM WIDMEM
Grafika rastrowa i wektorowa
Wiktoria Dobrowolska. Grafika komputerowa - dział informatyki zajmujący się wykorzystaniem komputerów do generowania obrazów oraz wizualizacją rzeczywistych.
Wstęp do Informatyki - Wykład 4
Opracował Tomasz Durawa
Kompresja danych.
Zapis prezentacji:

Kompresja stratna obrazów

Stratna kompresja obrazów Algorytm JPEG (stratny) Algorytm JPEG2000

Nowoczesne metody kompresji obrazów Algorytmy predykcyjne na podstawie modelu obrazu już przetworzonej części obrazu znanego otoczenia danego piksela spróbuj przewidzieć barwę piksela (predykcja) kompresuj błąd predykcji (różnicę między przewidzianą i rzeczywista barwą) Algorytmy transformacyjne, kodowanie podpasmowe obraz przekształć odpowiednią transformatą (DCT, DWT) kodowania predykcyjnego nie uznaje się za kodowanie transformacyjne kompresuj macierz współczynników transformaty stosowane głównie w algorytmach stratnych

Algorytm JPEG (stratny) Opracowany przez Komitet JPEG w 1992 r. Popularny do dziś transformacyjny algorytm kompresji stratnej obrazów barwnych oraz w stopniach szarości, oparty o całkowitoliczbową transformatę kosinusową DCT oraz koder Huffmana algorytm bazowy (baseline codec) rozszerzenia (extensions) Wallace, G. K.: The JPEG Still Picture Compression Standard. Communications of the ACM, April 1991, Vol 34(4), s. 30-44.

Algorytm bazowy JPEG ― zarys Kroki algorytmu Transformacja przestrzeni barw (opcjonalnie) Podpróbkowanie składowych chrominancji (opcjonalnie) Podział składowych na bloki 8x8 pikseli i zastosowanie transformaty DCT dla każdego bloku Kwantyzacja macierzy współczynników transformaty na podstawie tabeli kwantyzacji Kodowanie współczynników za pomocą kodów Huffmana lub arytmetycznie (rozszerzenie) Zapisanie zakodowanych danych w pliku o strukturze opisanej przez standard

Algorytm bazowy JPEG Transformacja przestrzeni barw (opcjonalnie) Przestrzenie zawierające oddzielne składowe luminancji i chrominancji, np. YCrCb, lub pominięcie transformacji i kompresja wprost obrazu multispektralnego (jak RGB, CMYK, do 255 składowych) Kilka celów dekorelacja składowych, które są kodowane niezależnie od siebie, zatem poprawa współczynników/jakości umożliwienie kodowania różnych składowych z różną jakością

Algorytm bazowy JPEG Podpróbkowanie składowych chrominancji (opcjonalnie) Oko ludzkie jest znacznie bardziej czułe na jasność obrazu niż na kolor zarówno pod względem rozdzielczości jak i głębi Skoro kompresujemy stratnie to można „straty” wprowadzić z uwzględnieniem czułości oka składowe chrominancji są podpróbkowane, ich rozdzielczość jest 2-krotnie mniejsza od składowej luminancji (BTW: obraz komputerowy to dane już po wstępnym próbkowaniu i kwantyzacji)

Algorytm bazowy JPEG Kodowanie składowej Podział składowych na bloki 8x8 pikseli Transformata DCT dla każdego bloku Kwantyzacja współczynników transformaty Kodowanie entropijne

Algorytm bazowy JPEG Transformata DCT dla bloku 8x8 pikseli DCT przeprowadzamy po sprowadzeniu nominalnego zakresu jasności pikseli do przedziału symetrycznego względem 0 [0 ... 2N – 1] → [–2N – 1 ... 2N – 1 – 1] Współczynniki transformaty niskich częstotliwości zgrupowane są blisko lewego górnego rogu macierzy Sam lewy górny róg to składowa stała jasności bloku

Algorytm bazowy JPEG Kwantyzacja macierzy współczynników transformaty na podstawie tabeli kwantyzacji (o rozmiarze 8x8) po DCT, dla składowej o głębi N bpp, współczynniki transformaty wymagają N+3 bitów czyli najpierw mamy ekspansję danych typowo większość współczynników AC ma małe wartości ... ... tym mniejsze im wyższej częstotliwości odpowiadają ... ... i małe znaczenie dla percepcji obrazu każdy z współczynników transformaty DCT dzielimy przez odpowiadający mu element tabeli kwantyzacji ... ... i zaokrąglamy do najbliższej liczby całkowitej

Algorytm bazowy JPEG Kwantyzacja macierzy współczynników transformaty na podstawie tabeli kwantyzacji (o rozmiarze 8x8) ― c.d. tabela kwantyzacji jest parametrem algorytmu komitet JPEG przygotował tabele standardowe dobrane na podstawie eksperymentów z rzeczywistymi obrazami oraz rzeczywistymi urządzeniami akwizycji inne dla luminancji (np. →) inne dla chrominancji dzieląc wszystkie współczynniki przez stałą wartość kontrolujemy współczynnik kompresji

Algorytm bazowy JPEG Kwantyzacja macierzy współczynników transformaty na podstawie tabeli kwantyzacji (o rozmiarze 8x8) po kwantyzacji układamy (linearyzujemy) macierz współczynników w kolejności Zig-Zag i kodujemy entropijnie

Algorytm bazowy JPEG Kodowanie współczynników za pomocą kodów prefiksowych Kodujemy odmiennie współczynniki DC i AC, oba rodzaje współczynników z użyciem kodów prefiksowych wygenerowanych algorytmem Huffmana (w dość złożony sposób ― szczegóły: patrz artykuł Wallace’a) Współczynniki DC kodujemy różnice współczynników DC kolejnych bloków Współczynniki AC ciąg współczynników AC bloku zwykle zawiera długie podciągi zer; sufiks ciągu zwykle jest długim ciągiem zer kodujemy wariantem algorytmu RLE połączonym z kodowaniem Huffmana

Algorytm bazowy JPEG Dlaczego JPEG jest stratny? przede wszystkim podpróbkowanie składowych chrominancji kwantyzacja również nie-odwracalne transformacja przestrzeni barw DCT

Algorytm JPEG ― rozszerzenia Rozszerzenia standardu tryb progresywny względem jakości tryb hierarchiczny (piramidowy) kodowanie arytmetyczne (QM-Coder zamiast algorytmu Huffmana) inne (praktycznie nie stosowane)

JPEG2000 Nowy standard komitetu JPEG dla stratnej i bezstratnej kompresji obrazów ITU-T; ISO/IEC: Information technology – JPEG 2000 image coding system: Core coding system. ITU-T Recommendation T.800 and ISO/IEC International Standard 15444-1, August 2002. Z roku 2000, następca algorytmu JPEG i Lossless JPEG, wyłoniony w drodze konkursu (ogłoszonego w 1997) oparty o algorytm CREW (Zandi, Allen, Schwartz, Boliek) Algorytm CREW był zgłoszony w odpowiedzi na konkurs, który miał wyłonić algorytm JPEG-LS. Jako podstawę JPEG-LS wybrano LOCO-I, lecz bogactwo dodakowych własności algorytmu CREW (innych niż stratna/bezstratna kompresja obrazu jako całości) skłoniło komitet do rozpoczęcia prac nad JPEG2000. Christopoulos, C.; Skodras, A.; Ebrahimi, T.: The JPEG2000 Still Image Coding System an Overview. IEEE Transactions on Consumer Electronics, November 2000, Vol. 46(4), pp. 1103-27.

JPEG2000 ― zarys Cechy algorytmu Algorytm stratnej/bezstratnej kompresji obrazów multispektralnych, barwnych oraz w stopniach szarości oparty o transformatę falkową Dla kompresji stratnej i bezstratnej, dostępne możliwości kodowanie progresywne, w tym progresja: stratne → bezstratne kodowanie piramidowe kodowanie progresywne względem ROI (region of interest) dostęp swobodny do fragmentów obrazu Dla stratnej lepsza jakość od JPEG przy tym samym współczynniku dla współczynników poniżej 0.25 bpp znacznie lepsza ROI w standardzie (w JPEG formalnie również było jako extension) niezła odporność na błędy transmisji poprawienie współczynnika (kosztem pogorszenia jakości) nie wymaga pełnego dekodowania

JPEG2000 ― zarys Kroki algorytmu Sprowadzenie nominalnego zakresu jasności pikseli do przedziału symetrycznego względem 0 (jak w JPEG) Transformacja przestrzeni barw (opcjonalnie) Podział składowej na kafelki (opcjonalnie) Transformata falkowa kafelka (opcjonalnie) dekompozycja/kodowanie podpasmowe (subband decomposition) reprezentacja wielorozdzielcza Kwantyzacja współczynników transformaty (właściwie również opcjonalnie) Kodowanie arytmetyczne skwantowanych współczynników po dekompozycji na składowe/kafle/warstwy/percints „obcinanie strumienia bitów” Zapisanie zakodowanych danych w pliku o strukturze opisanej przez standard struktura elastyczna, tzn. możliwość kodowania dla wybranej preferencji progresji

Transformacja przestrzeni barw ICT (Irreversible Color Transform) RGB → YCrCb Tylko do użycia z nie-odwracalną transformatą falkową (9-7) RCT (Reversible Color Transform) stałopozycyjna aproksymacja ICT dla C1 i C2 ekspansja alfabetu

Podział składowej na kafelki Realizowany przez nałożenie prostokątnej siatki na obraz, przy czym krawędzie siatki nie muszą pokrywać się z krawędziami obrazu można dopasować podział do treści obrazu oraz zasobów komputera cały obraz może być jednym kafelkiem rozmiar kafelka typowo jest rzędu 28 x 28 pikseli

Kodowanie podpasmowe

Transformata falkowa L H LL HL LH HH Transformata falkowa rzędu I obrazu 2D ... realizowana za pomocą jednowymiarowej transformaty falkowej zastosowanej najpierw do wierszy obrazu (otrzymujemy pasma L i H) a następnie do kolumn już przetransformowanego obrazu (otrzymujemy pasma LL, HL, LH, HH) L H LL HL LH HH

Transformata falkowa LL HL LH HH

Transformata falkowa LL HL LH HH Transformata falkowa wyższych rzędów do pasma LL zastosuj ponownie transformatę rzędu I (poniżej rzędy I i III) reprezentacja wielorozdzielcza: dla rzędu transformaty i mamy i + 1 poziomów rozdzielczości typowy rząd transformaty w JPEG2000: V LL HL LH HH

Transformata falkowa w JPEG2000 Transformata nie-odwracalna do zastosowania przy kompresji stratnej filtr 9-tap/7-tap Daubechies real-to-real Transformata odwracalna dla kompresji bezstratnej oraz stratnej filtr 5-tap/3-tap Daubechies integer-to-integer szczegóły na następnym slajdzie Realizowalne metodą liftingu (9-7 ― w 6 krokach, 5-3 ― w 2 krokach) (Ingrid Daubechies, Wim Sweldens „Factoring Wavelet Transforms into Lifting Steps”) Przed transformatą ekstrapolujemy wiersze: (wiersz rozszerzony wiersz) ... C B A A B C D E F G H H G F ... ... A B C C B A A B C C B A A B C C B A ...

Transformata falkowa 5-3 Transformata DWT, implementacja metodą liftingu (X ― piksele wiersza przed transformatą, Y ― po transformacie, 2 koki: najpierw nieparzyste Y) następnie parzyste Y to tworzą pasmo L, nieparzyste ― pasmo H przekształcenie jest odwracalne kosztem ekspansji alfabetu (o ile?) Transformata odwrotna L H

Kwantyzacja współczynników transformaty Dla kompresji bezstratnej z krokiem 1 Dla stratnej (U ― współczynniki przed kwantyzacją, V ― po kwantyzacji, Δ ― krok kwantyzacji) koder dobiera krok kwantyzacji tak, aby osiągnąć zadany współczynnik krok dobierany jest dla każdego podpasma z osobna jego wartość dołączana jest do zakodowanego obrazu koder może stosować różne strategie doboru kroku kwantyzacji kwantyzacja nie jest jedyną metodą kontroli współczynnika w JPEG2000

Kodowanie współczynników po kwantyzacji Etap 1. Podpasma kafelka są dzielone na bloki kodowe (przez nałożenie siatki prostokątnej na kafelek po kwantyzacji), typowy rozmiar bloku to 64x64. Blok kodowy dekomponowany jest na płaszczyzny bitowe (w kodowaniu płaszczyzn mniej znaczących bitów uwzględnia się te bardziej znaczące) Poszczególne bloki kodowe są kodowane niezależnie od siebie (MQ-Coder) Kodowanie każdej z płaszczyzn bitowych wykonywane jest w trzech przebiegach kodowania (Significance/Refinement/Cleanup). Wynikiem etapu 1 jest kolekcja ciągów bitów uzyskanych w przebiegach kodowania płaszczyzn bitowych bloków kodowych pasm komponentu po kwantyzacji i DCT Etap 1. pozwala na uwzględnienie preferencji kodowania (współczynnik kompresji vs. szybkość/ odporność na błędy; ROI)

Kodowanie współczynników po kwantyzacji Etap 2. Definiuje się warstwy jakości rekonstrukcji obrazu przypisując poszczególnym warstwom przebiegi kodowania warstwy mogą by warunkowo odrzucane Przebiegi kodowania bloków kodowych grupowane są w pakiety Podpasma kafelka dzielone są na prostokątne obszary ― precints ograniczenie: każdy z bloków kodowych podpasma musi w całości zawierać się w jednym z precints sposób podziału podpasm na obszary precints jest zależny od poziomu rozdzielczości odpowiadającego danemu podpasmu pakiet zawiera wszystkie przebiegi kodowania płaszczyzn bitowych należące do danej warstwy jakości danego precint Pakiet opisuje dane obrazowe związane z konkretnym obszarem kafelka składowej, konkretnym podpasmem (a więc poziomem rozdzielczości) i konkretną warstwą jakości. Grupowanie zakodowanych płaszczyzn bitowych bloków kodowych w pakiety a następnie określenie kolejności umieszczenia pakietów w strumieniu bitów umożliwia transmisję progresywną względem jakości albo rozdzielczości

to był tylko zarys podstawowego standardu ... JPEG2000 UWAGA: to był tylko zarys podstawowego standardu ... ... są również rozszerzenia standardu uogólniona transformata falkowa inna kwantyzacja transformacje przestrzeni barw inne ... (standard liczy 200 stron a rozszerzenia standardu ― ponad 300)

Algorytm bazowy JPEG2000 Dlaczego JPEG2000 jest stratny? przede wszystkim kwantyzacja odrzucanie pakietów wyższych warstw jakości (podpróbkowanie składowych chrominancji jak w JPEG można zrealizować za pomocą warstw jakości) również nie-odwracalne transformacja przestrzeni barw DWT

Inne metody stosowane w kompresji stratnej obrazów Kodowanie predykcyjne Kwantyzacja wektorowa Kompresja fraktalna