Kompresja obrazów w statycznych - algorytm JPEG

Podobne dokumenty
KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

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

Inżynieria obrazów cyfrowych. Ćwiczenie 5. Kompresja JPEG

Kompresja sekwencji obrazów - algorytm MPEG-2

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

Kompresja sekwencji obrazów

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

Joint Photographic Experts Group

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

Wybrane metody kompresji obrazów

Przetwarzanie obrazu cyfrowego

Klasyfikacja metod kompresji

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

Klasyfikacja metod kompresji

Przedmowa 11 Ważniejsze oznaczenia 14 Spis skrótów i akronimów 15 Wstęp 21 W.1. Obraz naturalny i cyfrowe przetwarzanie obrazów 21 W.2.

Kodowanie transformujace. Kompresja danych. Tomasz Jurdziński. Wykład 11: Transformaty i JPEG

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

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

Kodowanie podpasmowe. Plan 1. Zasada 2. Filtry cyfrowe 3. Podstawowy algorytm 4. Zastosowania

dr inż. Piotr Odya Wprowadzenie

Kompresja danych DKDA (7)

Kompresja video (MPEG)

Python: JPEG. Zadanie. 1. Wczytanie obrazka

Temat: Algorytm kompresji plików metodą Huffmana

Przetwarzanie i transmisja danych multimedialnych. Wykład 8 Transformaty i kodowanie cz. 2. Przemysław Sękalski.

Obraz jako funkcja Przekształcenia geometryczne

Zastosowanie kompresji w kryptografii Piotr Piotrowski

FFT i dyskretny splot. Aplikacje w DSP

Transformaty. Kodowanie transformujace

Program wykładu. 1. Systemy rejestracji obrazów technologie CCD, CMOS

Kodowanie i kompresja Streszczenie Studia Wieczorowe Wykład 10, 2007

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

Zastosowania grafiki komputerowej

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Kody Tunstalla. Kodowanie arytmetyczne

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

Akwizycja obrazów. Zagadnienia wstępne

Poradnik Kompresja JPEG r sekwencyjnej kompresji bazowej JPEG YCbCr RLE Baseline Optimized

Sygnał a informacja. Nośnikiem informacji mogą być: liczby, słowa, dźwięki, obrazy, zapachy, prąd itp. czyli różnorakie sygnały.

Cyfrowe Przetwarzanie Obrazów. Karol Czapnik

Wykład II. Reprezentacja danych w technice cyfrowej. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Instrukcja do pracowni specjalistycznej

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat

Sieci neuronowe - projekt

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

Transformata Fouriera

Dane obrazowe. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

Podstawy transmisji multimedialnych podstawy kodowania dźwięku i obrazu Autor Wojciech Gumiński

Kodowanie źródeł sygnały video. Sygnał video definicja i podstawowe parametry

Kompresja dźwięku w standardzie MPEG-1

Kompresja Danych. Streszczenie Studia Dzienne Wykład 13, f(t) = c n e inω0t, T f(t)e inω 0t dt.

Fundamentals of Data Compression

POSZUKIWANIE MIAR OCENY DEGRADACJI OBRAZÓW WSKUTEK KOMPRESJI METODĄ JPEG *

dr inż. Jacek Naruniec

Kwantyzacja wektorowa. Kodowanie różnicowe.

Kompresja JPG obrazu sonarowego z uwzględnieniem założonego poziomu błędu

Inżynieria obrazów cyfrowych. Ćwiczenie 3. Wybrane modele kolorów i ich zastosowania

Grafika komputerowa. Oko posiada pręciki (100 mln) dla detekcji składowych luminancji i 3 rodzaje czopków (9 mln) do detekcji koloru Żółty

Bogusław Jackowski GRAFIKA DYSKRETNA BACHOTEK 1998

Przetwarzanie i transmisja danych multimedialnych. Wykład 7 Transformaty i kodowanie. Przemysław Sękalski.

Podstawowe pojęcia. Teoria informacji

Nowoczesne metody emisji ucyfrowionego sygnału telewizyjnego

Kompresja bezstratna. Entropia. Kod Huffmana

Teoria Informacji i Metody Kompresji Danych

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT.

Podstawy kompresji danych

W11 Kody nadmiarowe, zastosowania w transmisji danych

TECHNIKI MULTIMEDIALNE

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

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

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

Temat 7. Dekodery, enkodery

Przedstawiamy Państwu tekst będący

2. Próbkowanie Sygnały okresowe (16). Trygonometryczny szereg Fouriera (17). Częstotliwość Nyquista (20).

Techniki wizualizacji. Ćwiczenie 2. Obraz cyfrowy w komputerze

Percepcyjne kodowanie dźwięku

Wstęp do techniki wideo

Grafika Komputerowa Wykład 2. Przetwarzanie obrazów. mgr inż. Michał Chwesiuk 1/38

Laboratorium ochrony danych

NOWOCZESNE METODY EMISJI UCYFROWIONEGO SYGNAŁU TELEWIZYJNEGO

Entropia Kodowanie. Podstawy kompresji. Algorytmy kompresji danych. Sebastian Deorowicz

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

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

Kompresja falkowa na przykładzie JPEG2000

Politechnika Świętokrzyska. Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 6. Transformata cosinusowa. Krótkookresowa transformata Fouriera.

Definicja. Jeśli. wtedy

Nierówność Krafta-McMillana, Kodowanie Huffmana

teoria informacji Kanały komunikacyjne, kody korygujące Mariusz Różycki 25 sierpnia 2015

Odtwarzanie i kompresja wideo

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

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

Formaty plików graficznych

NIEOPTYMALNA TECHNIKA DEKORELACJI W CYFROWYM PRZETWARZANIU OBRAZU

Technologie cyfrowe semestr letni 2018/2019

Detekcja i korekcja błędów w transmisji cyfrowej

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 12,

Kodowanie informacji

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

Transkrypt:

Kompresja obrazów w statycznych - algorytm JPEG Joint Photographic Expert Group - 986 ISO - International Standard Organisation CCITT - Comité Consultatif International de Téléphonie et Télégraphie Standard ISO - Zastosowanie algorytmu - kompresja cyfrowych obrazów fotograficznych Założenia: obraz monochromatyczny tablica liczb całkowitych opisujących jasność punktów w obrazu obraz barwny tablice liczb całkowitych (zazwyczaj trzy) opisujące obraz w języku j przyjętego modelu barw n.p. modelu RGB trzy tablice określaj lające zawartości trzech barw podstawowych Algorytm kodowania obrazu. Konwersja obrazu do modelu YIQ (obrazy barwne). Podział obrazu na bloki. Obliczenie transformaty kosinusowej bloków. Kwantyzacja współczynnik czynników w transformaty 5. Konwersja tablicy współczynnik czynników w do postaci wektora 6. Kodowanie wektora współczynnik czynników. Konwersja obrazu do modelu YIQ Przykładowo, modelu RGB obraz opisany jest przy pomocy trzech tablic [ r ], G = [ g ], B [ b ] R = = Konwersja polega na opisaniu obrazu przy pomocy trzech nowych tablic Y, I, Q, których elementy oblicza się według zależno ności y.9 = i.68 q..58.5.58. r. g. b

Po wykonaniu konwersji obraz jest opisany przy pomocy trzech nowych tablic. Podział obrazu na bloki [ y ], I = [ i ], Q [ q ] Y = = Tablica Y określa tak zwaną chrominancję. luminancję,, natomiast I i Q Y, I i Q po przeskalowaniu tak, że e ich elementy stają się liczbami całkowitymi dzieli się na bloki (mniejsze tablice) o rozmiarze 8x8, opisane funkcją.. Obliczanie transformaty kosinusowej (DCT) bloków F( u,v ) f ( x, y ) C(u)C(v ) = = u= v= x= y= f ( x, y )cos x + y + up cos vp 6 6 x + y + C(u)C(v )F(u,v )cos up cos vp 6 6 f ( x, y ) x =,,, y =,,, gdzie C ( u ) / = u = u i C ( v / ) = v = v 5 6 Fragment obrazu płaszczyzna Fragment obrazu szachownica Blok obrazu wejściowego Blok obrazu wejściowego Blok jako funkcja Transformata DCT funkcji Blok jako funkcja Transformata DCT funkcji 8

Fragment obrazu fotograficznego Funkcja i transformata obrazu fotograficznego Blok obrazu wejściowego = 86 98 9 8 8 9 9 8 8 6 5 8 88 8 8 8 66 9 6 5 69 9 9 9 9 8 5 5 6 5 89 9 9 8 9 96 9 6 8 8 9 Blok jako funkcja Transformata DCT funkcji 9 =.. -. -.6..88...65 -.58.9. -. -. -.5 -. -.8..9 -.6 -.65.9.6..69 -.8 -.6..6 -. -.6 -.6 -.5 -.66.5 -.9 -.5..69 -..8.69 -. -.5.6.86 -.65...5 -.66. -.6 -.5.9. -.5.5.6 -.66.8.5 -.9 -.5 *.e+. Kwantyzacja współczynnik czynników transformaty 6 = Q( u,v ) 8 5 9 6 9 F Q ( u,v ) = Integer 6 5 6 9 6 58 6 56 6 5 69 56 9 5 8 8 6 56 68 9 55 6 8 9 8 8 95 98 luminancji Y lub obrazów w szarych F Q (u,v) F(u,v ) Round Q( u,v ) 8 8 6 = Q( u,v ) 5 6 6 66 6 58 6 56 56 chrominancji I i Q Funkcja i skwantowana transformata obrazu fotograficznego = F Q (u,v) = 86 98 9 8 8 9 9 8 8 6 5 8 88 8 8 8 66 9 6 5 69 9 9 9 9 8 5 5 6 5 89 9 9 8 9 96 9 6 8 8 9 5 - - 8 5 - - - - -

Odwrócenie wykonanych operacji (dekodowanie) Kodowanie i dekodowanie (przykłady) Dla obrazu fotograficznego Integer Round (DCT - ( F Q (u,v)*q(u,v) )) f * (x,y) Dla obrazu fotograficznego przed kompresją po kompresji i dekompresji f * (x,y) = 86 98 9 8 8 9 9 8 8 6 5 8 88 8 8 8 66 9 6 5 69 9 9 9 9 8 5 5 6 5 89 9 9 8 9 96 9 6 8 8 9 f*(x,y)= 8 86 8 8 6 8 88 98 8 88 96 9 8 69 68 69 8 5 6 8 5 8 68 86 9 6 6 5 9 5 6 6 5 6 8 6 8 5 6 9 95 5 5 8 85 68 5 9 58 Dla obrazu szachownica przed kompresją po kompresji i dekompresji f * (x,y) 5. Konwersja tablicy współczynnik czynników do postaci wektora F Q (u,v) Algorytm zig-zag zag (A. G. Tescher 98) F Q (u,v) = [DC, AC, AC,, AC 6 5 - - 8 5 - - - - - [DC, AC,,AC 6 ] = [5,, 8, -, 5, -, -,,,, -,,,,,,, -, -, -,,,,, ] 5 6 ] 6. Kodowanie wektora współczynnik czynników wektor - [DC, AC, AC,, AC 6 kodowanie DC bloków w obrazu (tablicy bloków) kodowanie AC, AC,, AC 6 bloku Kodowanie entropne - długość słowa kodowego odpowiadającego kodowanemu elementowi (symbolowi) jest różna r różnych r elementów. Elementy, które statystycznie występuj pują częś ęściej mają krótsze słowa s kodowe. 6 ] 6

6.. Kodowanie DC (składowej stałej) Obraz został podzielony na bloki 8x8. DC DC DC blok blok blok DC k DC k+ blok k blok k+ DC k blok k DC i - składowa stała a bloku i, i =,,, m m - liczba bloków w obrazu Do kodowania składowej stałej stosuje się algorytm DPCM. Algorytm kodowania składowej stałej DC Buduje się wektor DC = [DC, DC, DC,, DC k, DC k+,, DC m ]. Wylicza się wektor Δ = [Δ[, Δ,, Δ i,, Δ m ] ze wzoru Δ = DC Δ i = DC i - DC i- i =,,,m Elementy wektora Δ = [Δ[, Δ,, Δ i,, Δ m ] koduje się przy pomocy tabeli kodu Huffmana 8 6.. Kodowanie [AC, AC,,AC 6 Przykładowa postać wektora: [ AC,,AC 6 ] = [, 8, -, 5, -, -,,,, -,,,,,,, -, -, -,,,,, ] Wektor zawiera elementy niezerowe, przedzielone niekiedy ciągami zer. 6 ] [, AC i-,,,, AC i,,,, AC i+,, ] Ciąg g elementów w koduje się przy pomocy następuj pującej struktury. Symbol- Symbol- Symbol- Symbol- 9 AC i = Symbol- Symbol- Symbol- Symbol- = (Runlength( Runlength, Size) = (Amplitude) Runlength liczba zer pomiędzy AC i i poprzednim niezerowym AC i- (kodowana jako liczba binarna) Size liczba określaj lająca zakres AC i Amplitude liczba wyrażajaca ajaca wartość AC i Do kodowania AC i używa się kodu Huffmana. 5

Algorytm kodowania AC i :. Obliczana jest liczba S przy pomocy wzoru S = Integer Round [log ( abs(ac i ) ) +]. Dla liczby S znajdowane jest słowo s kodu Huffmana określaj lające kod Size np.. według następuj pującej tabeli: Następnie wyliczany jest kod Amplitude zgodnie z kolejną tabelą: s współczynnik AC i -, -, -,, Kod Amplitude ---,,,, S 5 kod Size S 6 8 9 Kod Size - -,,-,,, -5,,-8, 8,,5 itd.,,,,,,,,,,,,, itd. Przykład: AC i = to: S =, Size =, Amplitude =,, czyli razem kod AC i =. Podsumowanie Koder JPEG (uproszczony) Dekoder JPEG (uproszczony) Bloki 8x8 danych źródłowych DCT Koder bitowy Deko-der bitowy Kwanty- zator Dane skompreso- wane Dane skompreso- wane Dekwan- tyzator DCT - Bloki 8x8 danych odtworzonych kwantyzacji kodu Huffmana kodu Huffmana kwantyzacji 6