Bezstratna kompresja obraz - PowerPoint PPT Presentation

About This Presentation
Title:

Bezstratna kompresja obraz

Description:

Title: Slajd 1 Author: DataUr Last modified by: Starosolski Created Date: 2/10/2006 9:59:25 AM Document presentation format: Pokaz na ekranie Company – PowerPoint PPT presentation

Number of Views:85
Avg rating:3.0/5.0
Slides: 45
Provided by: Dat111
Category:

less

Transcript and Presenter's Notes

Title: Bezstratna kompresja obraz


1
Bezstratna kompresja obrazów
2
Bezstratna kompresja obrazów
  • Przeglad pojec i metod
  • Proste algorytmy kompresji obrazów
  • Algorytm Lossless JPEG
  • Algorytm JPEG-LS
  • Inne popularne algorytmy (JBIG, JBIG II, GIF,
    PNG)

3
Obraz cyfrowy
  • Obraz cyfrowy jest dyskretna reprezentacja
    naturalnego obrazu otrzymana w wyniku procesu
    akwizycji badz wygenerowana w sposób sztuczny.
    Obraz najczesciej jest reprezentowany komputerowo
    jest jako prostokatna tablica pikseli
  • Piksel, jako element obrazu cyfrowego,
    reprezentuje odpowiadajacy mu fragment
    powierzchni obrazu rzeczywistego. Praktycznie
    piksel to wektor dyskretnych wartosci
    skladowych barwy fragmentu powierzchni obrazu
  • Ze wzgledu na liczbe skladowych piksela oraz
    sposób ich reprezentacji i interpretacji obrazy
    cyfrowe dzielimy na kilka klas obrazów

4
Klasy obrazów cyfrowych
binarny w stopniach szarosci barwny
5
Klasy obrazów cyfrowych
  • Obrazy binarne piksel to bit
  • 0 czarny, 1 bialy
  • Obrazy w stopniach szarosci piksel jest
    nieujemna liczba calkowita
  • Zakres wartosci piksela (liczba stopni szarosci,
    liczba poziomów jasnosci) na ogól nie przekracza
    216
  • Przez obraz o glebi jasnosci N bitów na piksel
    rozumiec bedziemy obraz o liczbie stopni szarosci
    2N
  • Zwykle 0 czarny, 2N 1 bialy

6
Klasy obrazów cyfrowych
  • Obrazy barwne piksel to 3-elementowy lub
    4-elementowy wektor skladowch obrazu w danej
    przestrzeni barw
  • RGB
  • YCrCb
  • HSV
  • ... i inne
  • Obrazy k-spektralne (lub multispektralne)
  • piksel to k-elementowy wektor, jego poszczególne
    skladowe opisuja jasnosc obrazu w róznych
    zakresach spektrum elektromagnetycznego (np.
    podczerwien, zakresy widzialne)
  • obrazy satelitarne moga miec kilkadziesiat
    skladowych
  • obraz RGB jest obrazem multispektralnym
  • obrazy YCrCb, HSV nie sa obrazami
    multispektralnymi

7
Klasy obrazów cyfrowych
  • Obrazy z paleta barw piksel to pojedyncza
    nieujemna liczba calkowita interpretowana jako
    numer barwy z pewnej palety barw.
  • W odróznieniu od pozostalych klas, dla obrazów z
    paleta barw przyjmuje sie, iz nie ma
    bezposredniego zwiazku pomiedzy wartoscia piksela
    a jasnoscia, nasyceniem ani barwa elementu obrazu
  • Obrazy binarne i obrazy z paleta barw czesto
    pozyskiwane sa jako odpowiednio obrazy w
    stopniach szarosci oraz barwne, a nastepnie
    przeksztalcane
  • dithering
  • progowanie

8
Cechy obrazów cyfrowych
  • Obraz jest 2D
  • Naturalne obrazy zawieraja szum
  • Rozmiar alfabetu zródla jest duzy (dla stopni
    szarosci typowo 256 do 65536, dla obrazów
    barwnych 16777216 do 281474976710656 )
  • kosztowne staje sie stosowanie zwyklych modeli
    danych (tym bardziej dla wyzszych rzedów modelu)
  • problemy z adaptacja modelu
  • Barwa wiekszosci pikseli typowego obrazu jest
    zblizona do barwy pikseli go otaczajacych

9
Kompresja obrazów cyfrowych
  • Dla obrazów konstruujemy specjalizowane algorytmy
    kompresji
  • algorytmy uniwersalne nie sprawdzaja sie
  • nie wykorzystuja cech charakterystycznych obrazów
  • stosujemy je, lecz jako element bardziej
    zlozonego algorytmu
  • kompresja stratna obrazów (za tydzien)
  • wykorzystuje cechy charakterystyczne obrazów i
    zmyslu wzroku czlowieka
  • wizualnie bezstratne
  • diagnostycznie bezstratne
  • dlaczego i kiedy stosujemy?
  • dlaczego (i kiedy) nie?

10
Kompresja obrazów cyfrowych
  • Dla obrazów konstruujemy specjalizowane algorytmy
    kompresji
  • dodatkowe przydatne cechy algorytmów
  • (podstawowe to byly wspólczynnik i zlozonosci)
  • kodowanie progresywne/hierarchiczne
  • podzial obrazu na poziomy rozdzielczosci,
    kodowane od najmniejszej
  • kodowanie piramidowe gdy rozdzielczosc poziomów
    rosnie w obu kierunkach
  • algorytmy LPL (lossy plus lossless)
  • kodowanie obszarów zainteresowania
  • dostep swobodny do wybranego fragmentu
    obrazu(czyli dekodowanie czesci obrazu bez
    dekodowania calosci)

11
Proste algorytmy kompresji obrazów (starsze)
  • Kodowanie dlugosci sekwencji
  • Kodowanie konturowe
  • Kodowanie drzewiaste

12
Kodowanie dlugosci sekwencji
  • obraz przegladamy w kolejnosci rastrowej (lub
    innej), tzw. linearyzacja
  • ciag pikseli kodujemy algorytmem RLE
  • stosowany w formacie .TIFF






13
Kodowanie konturowe
  • obraz dzielimy na tzw. kontury, czyli spójne
    obszary skladajace sie z jednakowych pikseli,
    kodujemy zbiór opisów konturów
  • opis danego konturu zawiera informacje o barwie
    pikseli konturu, polozeniu konturu w obrazie oraz
    ksztalcie konturu, zadanym przez krawedz konturu
    opisana tzw. kodem lancuchowymPPDDDLLLGPGGPraw
    o Prawo Dól ...



P P D
G D
P G D
G L L L


14
Kodowanie drzewiaste
  • Obraz reprezentowany jest przez drzewo czwórkowe
  • Korzen drzewa to caly obraz
  • Dany wezel odpowiada prostokatnemu fragmentowi
    obrazu
  • Jezeli wszystkie piksele tego fragmentu sa
    identyczne, to wezel jest lisciem, w którym
    pamieta sie barwe pikseli
  • W przeciwnym przypadku wezel ma 4 synów, kazdy z
    nich opisuje dokladnie jedna cwiartke obrazu
    odpowiadajacego temu wezlowi









15
Proste algorytmy kompresji obrazów (starsze)
  • Kodowanie dlugosci sekwencji
  • Kodowanie konturowe
  • Kodowanie drzewiaste
  • Inne ...
  • Stosowane przede wszystkim dla rysunków i
    prostych obrazów o malej liczbie barw, obrazów
    binarnych
  • Ciag symboli opisujacy obraz zakodowany z uzyciem
    tych metod zwykle nadaje sie do dalszej kompresji
    za pomoca algorytmów statystycznych badz
    slownikowych

16
Nowoczesne metody kompresji obrazów
  • Algorytmy predykcyjne
  • na podstawie
  • modelu obrazu
  • juz przetworzonej czesci obrazu
  • znanego otoczenia danego piksela
  • spróbuj przewidziec barwe piksela (predykcja)
  • kompresuj blad predykcji (róznice miedzy
    przewidziana i rzeczywista barwa)
  • Algorytmy transformacyjne, kodowanie podpasmowe
  • obraz przeksztalc odpowiednia transformata (DCT,
    DWT)
  • kodowania predykcyjnego nie uznaje sie za
    kodowanie transformacyjne
  • kompresuj macierz wspólczynników transformaty
  • stosowane glównie w algorytmach stratnych

17
Predykcja
  • Rozklad prawdopodobienstwa jasnosci pikseli
    typowego obrazu jest mniej-wiecej równomierny
  • Po predykcji typowo otrzymujemy ciag symboli
    (zwany residuum) o rozkladzie Laplacea
    (symetryczny rozklad wykladniczy)
  • latwiej kodowac (Golomb, Golomb-Rice)
  • latwiej modelowac(nawet dla duzego alfabetu)
  • lepsze wspólczynniki

18
Algorytm Lossless JPEG
  • Komitet JPEG
  • powolany w 1986 z inicjatywy organizacji ISO,
    CCITT oraz IEC aby opracowac standardowy algorytm
    kompresji obrazów, po kilku latach opracowano 2
    standardy
  • tzw JPEG ? popularny do dzis transformacyjny
    algorytm kompresji stratnej
  • Lossless JPEG ? adaptacyjny algorytm bezstratny,
    przeznaczony do kompresji obrazów w stopniach
    szarosci o glebiach jasnosci 2-16 bitów na piksel
    (Lossless JPEG to zaadaptowany algorytm Sunset,
    opracowany w latach 80. przez Langdona, Rissanena
    Todda)Langdon, G. Gulati, A. Seiler, E. On
    the JPEG model for lossless image compression.
    Proceedings DCC'92, 1992, pp. 172-80

19
Algorytm Lossless JPEG ? predykcja
  • Obraz przegladamy w kolejnosci rastrowej
  • Dokonujemy predykcji jednym z 8 predyktorów
    zdefiniowanych w standardzie
  • uzyj ten sam predyktor dla calego obrazu
  • mozna wypróbowac wszystkie predyktory i wybrac
    najlepszy

20
Algorytm Lossless JPEG ? modelowanie
  • Kontekstem dla PX Pred(X) ? bledu predykcji
    piksela X sa bledy predykcji sasiadów górnego PB
    i lewego PA
  • Konteksty zgrupowano w kubelki
  • metoda zastosowana pierwszy raz w algorytmie
    sunset
  • ograniczenie zlozonosci pamieciowej (w Lossless
    JPEG 25 kubelków)
  • lepsza adaptacjaproblem rozmycia kontekstu
    (context dilution)

21
Algorytm Lossless JPEG ? kodowanie
  • Do wyboru
  • arytmetyczny koder entropijny (QM-coder) z
    kontekstowym modelem danych
  • koder Huffmana z modelem bezpamieciowym
  • predefiniowana rodzina kodów

22
Algorytm JPEG-LS
  • Nowy standard komitetu JPEG dla bezstratnej
    kompresji obrazów
  • ITU-T ISO/IEC Information technology Lossless
    and near-lossless compression of continuous-tone
    still images Baseline. ITU-T Recommendation
    T.87 and ISO/IEC International Standard 14495-1,
    June 1999.
  • Z roku 1999, nastepca algorytmu Lossless JPEG,
    wyloniony w drodze konkursu (ogloszonego w 1996)
    oparty o algorytm LOCO-I (Weinberger, Seroussi,
    Sapiro, 1996)
  • Weinberger, M. J. Seroussi G. Sapiro G.
    LOCO-I A low complexity, context-based, lossless
    image compression algorithm. Proceedings DCC'96,
    IEEE Comput. Soc. Press, Los Alamitos,
    California, 1996, pp. 140-9.
  • Weinberger M. J., Seroussi G., Sapiro G. The
    LOCO-I lossless image compression algorithm
    Principles and standardization into JPEG-LS. IEEE
    Trans. Image Processing, August 2000, Vol. 9(8),
    pp. 1309-24.

23
Algorytm JPEG-LS ? predykcja
  • Predyktor nieliniowy
  • wykrywanie krawedzi poziomych i pionowych
  • predyktor prosty lecz skuteczny
  • PredMED(X) median(A, B, A B C)
  • if C max(A B)
  • PredMED(X) min(A B)
  • else if C min(A B)
  • PredMED(X) max(A B)
  • else
  • PredMED(X) A B - C

24
Algorytm JPEG-LS ? kodowanie
  • Dla obrazu o glebi N bitów
  • jasnosc piksela X jest w zakresie 0, 2N 1
  • blad predykcji Rp XPred(X) jest w zakresie
    2N 1, 2N 1
  • ale dla danej wartosci predyktora mozliwych jest
    tylko 2N wartosci bledu predykcji
  • mozna zatem wykonywac obliczenia w arytmetyce
    modulo 2N
  • kodowanie Rm ( XPred(X) ) mod 2N
  • dekodowanie X ( RmPred(X) ) mod 2N
  • w JPEG-LS obliczenia modulo w przedziale
    2N1, 2N1 1
  • operacja zaburza rozklad po dekorelacji
  • ale zaburza dla typowych obrazów nieznacznie
  • unikamy ekspansji alfabetu

25
Algorytm JPEG-LS ? kodowanie
  • Do kodowania zastosowano zmodyfikowana rodzine
    kodów Ricea, przeznaczona dla rozkladu
    wykladniczego (a nie rozkladu Laplacea)
  • Konieczne jest mapowanie bledów predykcji
  • kolejnosc 0, 1, 1, 2, 2, 3, 3 ...

26
Algorytm JPEG-LS ? kodowanie
  • Zastosowano zmodyfikowana rodzine kodów Ricea
  • dlugosc kodu ograniczona (do 32 dla glebi obrazu
    8 bitów)
  • (przyklad /nastepny slajd/ dla glebi 4
    ograniczenie do 8 bitów)
  • dlaczego ograniczamy dlugosci slów kodowych?

27
Algorytm JPEG-LS ? kodowanie
28
Algorytm JPEG-LS ? modelowanie
  • Kontekst wyznaczony na podstawie trzech tzw.
    gradientów
  • ?1 D B, ?2 B C, ?3 C A
  • Konteksty zgrupowano w 365 kubelków

29
Algorytm JPEG-LS ? modelowanie
  • Model dedykowany dla rodziny kodów Ricea
  • Aby wyznaczyc parametr k kodu Ricea dla kazdego
    z kontekstów wystarczy pamietac liczbe bledów
    predykcji S oraz sume bledów predykcji A,
    nastepnie
  • k min k 2k S A
  • for ( k0 (Sltltk)ltA k )
  • Okresowe dzielenie liczników

30
Algorytm JPEG-LS ? udoskonalenia
  • Korekta wartosci sredniej bledu predykcji
  • Dla calego obrazu bledy predykcji maja rozklad
    Laplacea o wartosci sredniej 0
  • Ale lokalnie dla poszczególnych kontekstów
    wartosc srednia jest jedynie bliska 0
  • Dla kazdego kubelka adaptacyjnie szacuje sie ?X,
    czyli wartosc srednia bledu predykcji i przed
    kodowaniem przeprowadza korekte kodujemy X
    PredMED(X) ?X

31
Algorytm JPEG-LS ? udoskonalenia
  • Obszary o stalej jasnosci
  • W obrazach, zwlaszcza nie-naturalnych, wystepuja
    obszary o stalej jasnosci
  • Dla takich obszarów
  • modele projektowane dla typowych obrazów nie
    sprawdzaja sie dobrze
  • kody przedrostkowe sa nieefektywne(nie
    osiagniemy wspólczynnika lepszego niz 1 bit na
    piksel)
  • Mozna wykrywac takie obszary i kodowac je
    odmiennie niz reszte obrazu, w JPEG-LS
  • gdy ?1 ?2 ?3 0 to przechodzimy do
    odmiennego trybu kodowania, tzw. run mode
  • ... i kodujemy pojedynczym slowem kodowym liczbe
    kolejnych pikseli o takiej samej jasnosci

32
Algorytm JPEG-LS
  • Cechy
  • predykcyjny
  • dosc prosty/szybki
  • wspólczynniki kompresji zblizone do najlepszych
  • jest wariant prawie bezstratny (nearly
    lossless)
  • jest wiele rozszerzen, w tym rozszerzenie o
    wiekszej zlozonosci i lepszych wspólczynnikach
    oparte na kodowaniu arytmetycznym

33
Inne algorytmy ? obrazy binarne
  • CCITT Group 3 (1985)
  • standard dla faksów, nadal stosowany
  • kodowanie dlugosci sekwencji bialych i czarnych
    pikseli obrazu przegladanego w porzadku rastrowym
  • dlugosc sekwencji kodowana za pomoca
    predefiniowanych kodów przedrostkowych
  • CCITT Group 4
  • uwzgledniamy poprzedni wiersz, kodujemy róznice
  • wystepuje niebezpieczenstwo propagacji bledu,
    gdyztransmisja faksowa odbywa sie przez kanal z
    szumem
  • co kilka wierszy kodujemy wiersz algorytmem CCITT
    Group 3

34
Inne algorytmy ? obrazy binarne
  • JBIG
  • adaptacyjny koder arytmetyczny (QM-Coder)
  • kontekst zbudowany z 10-12 juz przetworzonych
    pikseli (zatem mamy 1024-4096 kontekstów)
  • tryb progresywny piramidowy
  • obraz w nizszej rozdzielczosci tworzony jest
    przez usrednienie bloków 2x2 piksele obrazu
    wyzszej rozdzielczosci
  • konieczne bylo zdefiniowanie sposobu usredniania
    bloków zawierajacych po 2 piksele biale i czarne
  • przy kodowaniu obrazu w wyzszej rozdzielczosci
    kontekst zawiera równiez piksele obrazu nizszej
    rozdzielczosci

35
Inne algorytmy ? obrazy binarne
  • JBIG2
  • znacznie rozszerzony algorytm JBIG
  • kilka trybów kodowania
  • algorytmy ze specyfikacji CCITT 3 i 4
  • kodowanie arytmetyczne z JBIG
  • kodowanie slownikowe (slownik symboli-bitmap)
    dla kompresji tekstów i póltonów
  • rózne fragmenty obrazu moga byc kodowane róznymi
    metodami
  • standard definiuje dekompresor (tylko
    dekompresor)
  • dopuszcza sie kompresje stratna
  • koder wybiera jak i które metody zastosowac

36
Inne algorytmy ? obrazy w stopniach szarosci
  • Algorytmy JBIG stosuje sie równiez do obrazów w
    stopniach szarosci po rozbiciu tych obrazów na
    plaszczyzny bitowedla naturalnego kodu binarnego
    lub dla kodu Graya
  • 000
  • 001
  • 011
  • 010
  • 110
  • 111
  • 101
  • 100
  • unsigned gray binary (binary gtgt 1) //
    to xor
  • slowa kodowe kolejnych liczb róznia sie
    dokladnie jednym bitem odleglosc Hamminga dla
    dwóch kolejnych slów wynosi 1

37
Inne algorytmy ? obrazy w stopniach szarosci
  • CALIC (X. Wu i N. Memon 1996)
  • algorytm predykcyjny, w którym po linearyzacji w
    kolejnosci rastrowej, ciag bledów predykcji
    kompresuje sie arytmetyczne lub koderem Huffmana
  • algorytm uzyskuje wysokie wspólczynniki
    kompresji, jest uznawany za nieoficjalny standard
    pod tym wzgledem
  • istnieja algorytmy lepsze, dla typowych obrazów
    uzyskuja o kilka procent lepsze wspólczynniki i
    kilka (lub nawet kilkaset) razy mniejsza predkosc
  • w porównaniu do JPEG-LS, CALIC uzyskuje o kilka
    procent lepsze wspólczynniki i 2-5 razy mniejsza
    predkosc

38
Inne algorytmy ? obrazy w stopniach szarosci
39
Inne algorytmy ? obrazy barwne
  • W obrazach RGB poszczególne skladowe obrazu sa na
    ogól silnie skorelowane. Wiekszosc algorytmów
    radzi sobie z tym nastepujaco
  • przeprowadza transformacje obrazu do innego
    modelu barw, uzyskujac nowy, mniej nadmiarowy
    zbiór skladowych piksela,
  • YCrCb
  • YC1C2
  • KLT/PCA
  • koduje poszczególne skladowe (np. predykcyjnie)
  • niezaleznie od pozostalych skladowych
  • lub uzywajac juz zakodowanych skladowych do
    polepszenia modelowania dla kodowanej skladowej

40
Inne algorytmy ? obrazy barwne
  • Transformacja przestrzeni barw obrazu do innego
    modelu, uzyta w algorytmie bezstratnym musi byc
    odwracalna
  • skladowe po transformacji zaokraglamy do liczb
    calkowitych
  • Odwracalna transformacja YC1C2 (z JPEG2000)
  • jest tez wersja bez ekspansji alfabetu w
    arytmetyce modulo z rozszerzonego standardu
    JPEG-LS

41
Inne algorytmy ? obrazy z paleta
  • GIF
  • poczatkowo wewnetrzny standard opracowanym przez
    siec CompuServe
  • do kompresji obrazów z paleta do 256 barw, oparty
    o LZW
  • opatentowany
  • dodatkowe elementy
  • seria obrazów (animacja)
  • progresywny schemat kompresji obrazu, który
    polega na linearyzacji obrazu w porzadku z
    przeplotem (najpierw co 8 wiersz obrazu
    poczynajac od wiersza 0, po czym co 8 wiersz
    poczynajac od wiersza 4, nastepnie co 4 wiersz
    poczynajac od 2 wiersza i ostatecznie co 2 wiersz
    poczynajac od wiersza 1)

42
Inne algorytmy ? obrazy z paleta
  • PNG
  • algorytm predykcyjny (4 predyktory do wyboru)
    oparty o kodowanie slownikowe LZ77 i kody
    Huffmana (z ograniczona dlugoscia slowa kodowego
    lub predefiniowane)
  • wolny od patentów standard WWW Consortium,
    przeznaczony dla
  • obrazów z paleta barw
  • obrazów barwnych i obrazów w stopniach szarosci o
    glebi jasnosci do 16 bitów na piksel (jednak
    tutaj nie dorównuje JPEG-LS ani pod wzgledem
    wspólczynnika ani szybkosci)
  • tryb progresywny doskonalszy niz w algorytmie GIF

43
Ciekawostka
  • Obrazy o rzadkich histogramach
  • tu PNG moze by lepszy od JPEG-LS i CALIC

44
Ciekawostka
  • Pakowanie histogramów (histogram packing)
  • wymaga zakodowania oryginalnego histogramu
  • moze poprawic wspólczynnik o kilkadziesiat procent
Write a Comment
User Comments (0)
About PowerShow.com