KOMPRESJA STRATNA OBRAZÓW. Paradygmat klasyczny. Kwantyzacja. Koncepcja podstawowa. PODSTAWY TECHNIK MULTIMEDIALNYCH A.Przelaskowski.



Podobne dokumenty
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.

dr inż. Piotr Odya Wprowadzenie

Kompresja sekwencji obrazów - algorytm MPEG-2

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

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

Klasyfikacja metod kompresji

Zastosowanie kompresji w kryptografii Piotr Piotrowski

Klasyfikacja metod kompresji

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

Progresywny internetowy kodek falkowy

Kompresja sekwencji obrazów

Kompresja video (MPEG)

Wybrane metody kompresji obrazów

Kompresja danych DKDA (7)

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

Fundamentals of Data Compression

Kompresja Kodowanie arytmetyczne. Dariusz Sobczuk

Kompresja falkowa na przykładzie JPEG2000

Kwantowanie sygnałów analogowych na przykładzie sygnału mowy

Kompresja dźwięku w standardzie MPEG-1

Kompresja obrazów w statycznych - algorytm JPEG

KOMPRESJA OBRAZÓW STATYCZNYCH - ALGORYTM JPEG

Transmisyjne zastosowanie progresywnego kodeka falkowego

Kwantyzacja wektorowa. Kodowanie różnicowe.

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

Transkodowanie strumieni wizyjnych. wykorzystujące zaawansowane. techniki kompresji

Odtwarzanie i kompresja wideo

Kompresja danych Streszczenie Studia Dzienne Wykład 10,

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

1. Wprowadzenie 1.1. Zdefiniowanie problemu badawczego

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

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

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

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

DTC-350. VISUALmpeg PRO Analizator Sygnałów MPEG

Nowoczesne metody emisji ucyfrowionego sygnału telewizyjnego

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

Przedstawiamy Państwu tekst będący

Rozdział. Propagacja samopodobieństwa w torze transmisji obrazu. 1. Wprowadzenie

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

Wstęp do techniki wideo

27 stycznia 2009

Teoria przetwarzania A/C i C/A.

Przetwarzanie i transmisja danych multimedialnych. Wykład 6 Metody predykcyjne. Przemysław Sękalski.

Joint Photographic Experts Group

Kody splotowe (konwolucyjne)

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

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

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

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

PRACA DYPLOMOWA STUDIA PIERWSZEGO STOPNIA. Łukasz Kutyła Numer albumu: 5199

Automatyczne rozpoznawanie mowy - wybrane zagadnienia / Ryszard Makowski. Wrocław, Spis treści

NOWOCZESNE METODY EMISJI UCYFROWIONEGO SYGNAŁU TELEWIZYJNEGO

TRANSFORMATA FALKOWA 2D. Oprogramowanie Systemów Obrazowania 2016/2017

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 12,

Wymiana i Składowanie Danych Multimedialnych Mateusz Moderhak, EA 106, Pon. 11:15-12:00, śr.

Kodowanie predykcyjne

Przedmowa Wykaz oznaczeń Wykaz skrótów 1. Sygnały i ich parametry Pojęcia podstawowe Klasyfikacja sygnałów

Kodowanie informacji

Kompresja sekwencji wideo w systemie Linux

Transformata Fouriera

Przetwarzanie i transmisja danych multimedialnych. Wykład 10 Kompresja obrazów ruchomych MPEG. Przemysław Sękalski.

Transkodowanie strumieni wizyjnych wykorzystujące zaawansowane techniki kompresji

Kompresja obrazu ruchomego

Podstawy kompresji danych

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

Transformaty. Kodowanie transformujace

Cyfrowe przetwarzanie i kompresja danych

TECHNIKI MULTIMEDIALNE

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

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

Eksperymentalna analiza częstotliwości wyboru trybów zaawansowanego kodowania wizyjnego.

Python: JPEG. Zadanie. 1. Wczytanie obrazka

Kody Tunstalla. Kodowanie arytmetyczne

Sieci neuronowe - projekt

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 335

High Efficiency Video Coding (HEVC) Nowe Oblicze Telewizji. Cezary Brzóska Technical Sales Support Ericsson Television Limited

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

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

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

RENDERING W CZASIE RZECZYWISTYM. Michał Radziszewski

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

Kodowanie podpasmowe

Kwantyzacja wektorowa. Plan 1. Zasada działania 2. Projektowanie. Algorytm LBG 3. Kwantyzatory strukturalne 4. Modyfikacje

Kodowanie i kompresja Streszczenie Studia dzienne Wykład 9,

Percepcyjne kodowanie dźwięku

(12) TŁUMACZENIE PATENTU EUROPEJSKIEGO (19) PL (11) PL/EP (96) Data i numer zgłoszenia patentu europejskiego:

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

Pomiary w technice studyjnej. TESTY PESQ i PEAQ

Kwantyzacja skalarna i wektorowa. Metody zaawansowane

Ćwiczenie nr 4: Kodowanie arytmetyczne, range coder

Standardy telewizji kolorowej (SD)

Zastosowania grafiki komputerowej

dr inż. Piotr Odya. Kontener

Elżbieta Wysocka Filmoteka Narodowa

Konfiguracja kodeka 3ivx 4.5.1

W11 Kody nadmiarowe, zastosowania w transmisji danych

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

Technika audio część 2

Transkrypt:

KOMPRESJA STRATNA OBRAZÓW Koncepcja podstawowa PODSTAWY TECHNIK MULTIMEDIALNYCH A.Przelaskowski Wprowadzenie Kwantyzacja Koncepcja kodowania transformacyjnego DCT JPEG Falki JPEG2000 Rodzina MPEG i inne standardy skompresowana reprezentacja danych selekcja informacji Paradygmat klasyczny Kwantyzacja Kwantyzacja to złożenie dwóch odwzorowań: wejściowy ciąg danych źródło Transformacja (dekorelacja, koncentracja energii sygnału) Kwantyzacja, selekcja, porządkowanie z ograniczeniem kod Kodowanie bezstratne bitowy ciąg wyjściowy archiwum, strumień, dokument Kodera (k.prosta): nieskończony (skończony duży) zbiór wartości rzeczywistych z określonego zakresu skończony (mały) zbiór wartości całkowitych (lub niekiedy słów kodowych, lub wartości o zdecydowanie mniejszej precyzji) indeksów przedziałów kwantyzacji dzielących zakres wartości wejściowych Dekodera (k.odwrotna): zbiór indeksów zbiór (mały) rzeczywistych wartości rekonstruowanych (reprezentantów przedziałów kwantyzacji) We: Wy: Kwantyzacja: z błędem: przy czym jeśli jest zbiorem punktów granicznych przedziałów kwantyzacji z punktami rekonstrukcji

Kwantyzacja równomierna Kwantyzacja sterowana estymatą funkcji gęstości prawdopodobieństwa Metoda Lloyda-Maxa (iteracyjna, zbieżna do lokalnego optimum, duży wpływ inicjalizacji, czasochłonna) Obowiązujące zasady centroidu i najbliższego sąsiada Stratna DPCM WYBRANE METODY KOMPRESJI STRATNEJ

Typowe zniekształcenia stratnej DPCM Blokowa kwantyzacja dwupoziomowa BTC Podział na bloki Segmentacja progowa, charakterystyka obszarów (w. średnie) Wyznaczenie map bitowych Rekonstrukcja Kwantyzacja wektorowa VQ (metoda kompresji) VQ bardziej obrazowo oryginalny zbiór danych Formowanie strumienia wektorów danych kompresja Poszukiwanie optymalnego wektora kodu dla kolejnych wektorów danych Książka kodów zakodowana reprezentacja (indeksy książki kodowej) Wejście: wektory danych...... Wyszukiwanie Indeksy 1 2 3 42......... Książka kodowa C M wektorów kodowych Wyjście: 3, 42,... Zbiór treningowy T zakodowana reprezentacja (indeksy) Odczytanie kolejnych wektorów kodu rekonstruowany zbiór danych M 8 32 11 N wymiarowe wektory K wektorów treningowych dekompresja Książka kodów

VQ - wyjaśnienia VQ - zagadnienia Książka kodów Wektory wejściowe Indeksy Wektory rekonstrukcji przykłady Budowa książki kodowej (kraty-nośniki, metoda LBG) Na bazie LBG: Inicjalizacja (losowa, grupowanie, rozdzielanie) Struktura książki kodowej (drzewa, adaptacja, klasyfikacja) Wykorzystanie książki kodowej do kompresji Formowanie, kodowanie indeksów Ograniczenia metody (złożoność, brak optymalnych metod wyznaczania książki, małe stopnie kompresji) Kwantyzacja skalarna Kwantyzacja wektorowa KK - drzewo Metody kodowania transformacyjnego Binarne Stożkowe Okrojone Uproszczenie kwantyzacji Dobór transformacji Metoda kwantyzacji z kodowaniem JPEG JPEG

Koncepcja kodowania: uproszczenie kwantyzacji Transformacja kwantyzacja skalarna kwantyzacja wektorowa Pożądane cechy: Dekorelacja danych (usuwanie zależności statystycznych), upakowanie energii wzdłuż wybranych kierunków (wokół elementów bazy) Dobrana baza transformacji (dopasowana lokalnie do sygnału, elastyczna, zupełna) Szybka implementacja obrót+kwantyzacja skalarna Transformacja DCT (2W) Paradygmat TRANSFORMACYJNEGO KODOWANIA prosta odwrotna Stosowana m,in, w JPEG

Selekcja próbek blok obrazu DCT strefowa selekcja próbek progowa selekcja próbek (próg=10) STANDARDY JPEG rekonstrukcje bloku Standard JPEG (szczególna realizacja paradygmatu TK) Podstawowy proces kodowania (ang. baseline process). Rozszerzony, bazujący na DCT proces kodowania (ang. extended DCT- based process). Bezstratny proces kodowania (ang. lossless process). Hierarchiczny proces kodowania (ang. hierarchical process). Progresja kodowania Właściwości kodeka JPEG sekwencyjnie z progresją Kodowanie hierarchiczne (z podpróbkowaniem)

Kwantyzacja i kodowanie w JPEG Efekty JPEGowe u składowa stała v Kwantyzacja/selekcja: dzielenie współczynników DCT k(u,v) przez element tablicy kwantyzacji o współrzędnych (u,v) i zaokrąglanie do liczby całkowitej percepcyjna tablica kwantyzacji Oryginał Kodowanie: przeglądanie zygzak, różnicowo składowa stała bloków (predykcja), kod Huffmana-RLE lub kod arytmetyczny 12:1 43:1 Efekty JPEGowe Ćwiczenie z JPEG http://www.sfu.ca/~cjenning/toybox/hjpeg/index.html

Paradygmat JPEG Opcje kodera: format danych: obrazy ze skalą szarości i obrazy binarne dzielenie na części (podobrazy, ang. tiling) kompresja stratna-bezstratna pozostałe jak w paradygmacie JPEG Paradygmat JPEG2000 skalowanie jakości Kompresja/Dekompresja skalowanie rozdzielczości odtworzenie wybranego komponentu progresja z wybranym ROI rekonstrukcja wybranego ROI kompresja bezstratna Opcje dekodera: rozdzielczość obrazu jakość obrazu ustalanie dokładnego rozmiaru reprezentacji bitowej dekodowanej informacji składniki (komponenty) regiony zainteresowań kompresja stratna-bezstratna Dodatkowe możliwości schematu kompresji: zwiększona odporność na zakłócenia adnotacje o prawach autorskich XML-owa struktura informacji dodatkowych osadzony strumień bitowy (progresywne dekodowanie i skalowalność SNR) reprezentacja wielorozdzielcza bezpośredni dostęp do kodowanego strumienia i przetwarzanie SPOSÓB: hierarchia skal, podpasma i lokalne upakowanie Dekompozycja falkowa Poziom 3 (N/8 N/8) Poziom 2 (N/4 N/4) Poziom 1 (N/2 N/2) Poziom 0 (N N) Obraz oryginalny/ rekonstruowany

Dekompozycja... Rekonstrukcja... Baza falkowa: dopasowana do cech sygnału (obrazu?) Realizacja dekompozycji falkowej Przykładowe falki: Baza falkowa: translacja skalowanie falka: meksykański kapelusz moduł trans. Fouriera tej falki Falkowy opis sygnału: ψ s, x (t ) = 1 t x ψ, s s s 0

Podstawy R-D: Operacyjna krzywa RD Lepiej, czyli porządkowanie informacji w JPEG2000 D Punkty Kwantyzacji krzywa ORD wypukła ORD krzywa RD Optymalizacja w sensie R-D, czyli progowanie z kontekstem kodowania t min D( p), przy R( p) R p K p p K p Optymalizacja z ograniczeniami: lub t min R( p), przy D( p) D a c b a c d d b Lepiej po niż po D koń { i PK : R R D D, j PK i j} ORD =, i j i j R t BR Średnia bitowa BR Testy Testy JPEG2000 JPEG JPEG2000 JPEG 0.25bpp

JPEG vs JPEG2000 JPEG vs JPEG2000 http://www.imagepower.com/technology/jpeg2000/compare/index.html F. Ebrahimi, M. Chamik, S. Winkler, JPEG vs. JPEG2000: An Objective Comparison of Image Encoding Quality, Proc. SPIE Applications of Digital Image Processing, 5558:300-308, 2004. JPEG vs JPEG2000 Testy

Zastosowania teleinformatyczne Zapotrzebowanie na kompresję Interaktywna transmisja (JPIP) Transmisja bezprzewodowa (JPWL) Kompresja sekwencji obrazów - kino domowe (Motion JPEG2000) Kompresja danych 3W (JP3D) Ochrona danych () Standard uniwersalny Interaktywna transmisja (JPIP)

JPIP JPIP (przykłady) wybrany ROI JPIP/SITP HTTP TCP UDP przykłady IP protokół 0.5% 2% 100% JPWL JP3D Tile Data X Y Z JPEG2000 Part 1 & 2 Lifting Coefficients Along Z (if applicable) Lifting Coefficients Along Y (if applicable) Lifting Coefficients Along X (if applicable)

tool ID Security Property Image Security Property Cryptographic data creator Registration Authority Cryptographic data manager node tool ID Cryptographic data stream decoder tool ID Image / Security output Granted resolution, quality, and/or region Master key Creator Key server Viewer Access key Plain image Protected image Accepted image (e.g. thumnail) Case A Image Case B Image JPEG-2000 Encoder JPEG-2000 or codestream Encoder & Creator JPEG-2000 codestream codestream Creator codestream Creator 1 Creator 2 Creator 3 * codestream codestream Consumer 1 Consumer 2 Consumer 3 Consumer Consumer & Decoder JPEG-2000 codestream wavelet transform Image JPEG-2000 Decoder JPEG-2000 or codestream Image quantizer Digital signature Watermarking Encryption, including scrambling Key generation and management Identification and registration selective scrambling PRNG seed arithmetic coder syntax encryption scrambled codestream encrypted seed Block Diagram for wavelet domain scrambling codestream Scrambling (szyfrowane kodowanie) Wspólny algorytm kodowania descrambling Różne systemy warunkowego dostępu (CA) z generacją słów kontrolnych

Estymacja ruchu Po wierszach Frame n-1 Frame n Obszar poszukiwań KODEKI WIDEO MV(0,0) MV(1,0) Hybrydowa metoda kompresji, blokowa (DCT) z kompensacją ruchu Przykład 1 wejściowy makro-blok Transformacja, Kwantyzacja, Kodowanie kodowane błędy predykcji (kanał) Ramka poprzednia Ramka bieżąca Pole wektorów ruchu predykcja z kompensacją ruchu Dekodowanie, Dekwantyzacja, Transformacja -1 Dekoder zdekodowany makro-blok (wyświetlanie) Przewidywany makro-blok Bufor ramek (z opóźnieniem) Estymacja Ruchu wektor ruchu i dane dodatkowe (kanał) Ramka różnicowa Ramka różnicowa po kompensacji ruchu

Przykład 2 Format ramek Ramka poprzednia Ramka bieżąca Pole wektorów ruchu CIF Common Intermediate Format 4:2:0 Y Cr Cb format, progresja (bez przeplotu) 352 x 288 dla ramek luminancji, 176 x 144 dla ramek chrominancji 8 8 Y Y granica bloku Y Y Cr Cb próbki luminancji próbki chrominancji Ramka różnicowa Ramka różnicowa po kompensacji ruchu Predykcja INTER (międzyobrazowa) Referencyjne ramki B GOP GOP I B B P B B P I 0 B 1 B 2 B 3 P 4 B 5 B 6 Time Porządek kodowania: I P B B P B B Porządek wyświetlania: I B B P B B P Playback order: I 0 B 1 B 2 B 3 P 4 B 5 B 6... Bitstream order: I 0 P 4 B 1 B 3 B 2 P 8 B 5...

Estymacja ruchu Standardy rodziny MPEG i pokrewne H.261 H.261 H.263 H.263+ H.263++ (Version 1) (Version 2) ITU-T Standard Joint ITU-T/MPEG Standards 15 15 MB H.262/MPEG-2 MPEG Standard H.264/MPEG-4 AVC MPEG-4 (Version 1) MPEG-1 MPEG-4 (Version 2) 15 1988 1990 1992 1994 1996 1998 2000 2002 2004 15 Makroblok 16x16 Struktura danych w MPEG Sequence GOP SH GOP Macroblock GOP SH GOP I B B P B B P B B B P slice Picture Slice SH slice MB MB MB MB MB MB. Y1 Y2 Y3 Y4 Cb Cr

Struktura kodeka h.264 Predykcja INTRA Wejściowe wideo Podział na makrobloki 16x16 pikseli - Intra/Inter Dekoder Sterowanie koderem Transform/ scal./kwant. Predycja INTRA Kompensacja ruchu Estymacja ruchu skalowanie & transform. odwr. Filtr redukcji ef. blok. Dane sterujące Skwantowane współcz. transf. Wyjściowe wideo Zapis ruchu Kodowanie entropijne Nowe cechy H.264 4 mody luminancji 16x16 9 modów luminancji 4x4 4 mody chrominancji 8x8 Znacząca złożoność kodowania 0 (vertical) 1 (horizontal) 2 (DC) 3 (diagonal down-left) 4 (diagonal down-right) M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I Mean J (A..D, K I..L) L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L M A B C D E F G H I J K L 5 (vertical-right) 6 (horizontal-down) 7 (vertical-left) 8 (horizontal-up) M A B C D E F G H I J K L Estymacja ruchu z nadpróbkowaniem Dokładność kompensacji ruchu A c C b B d D nadpróbkowanie piksele pół-piksele b = round[(a+b)/2] c = round[(a+c)/2] d = round[(a+b+c+d)/4] 16x16 8x16 16x8 8x8 split 8x8 4x8 8x4 4x4 różna wielkość bloków E A C aa bb K L M s N O P B D F G a b c H I J d e f g cc dd h i j k m ee ff n p q r b 1 =(E-5F+20G+20H-5I+J) h 1 =(A-5C+20G+20M-5R+T) b=(b 1 +16) >> 5 clipped to h=(h 1 +16) >> 5 0~255 ---------- j 1 =cc-5dd+20h 1 +20m 1-5ee+ff j = (j 1 +512) >>10 ---------- a=(g+b+1) >>1 clipped to 0~255 R gg S e=(b+h+1) >> 1 16x16 16x8 8x16 8x8 8x4 4x8 4x4 T hh U

Przykład podziału na makrobloki Kompensacja ruchu Wiele obrazów referencyjnych Dowolne wagi Kierunek ruchu nieistotny Klatki B mogą być referencyjne =4 =2 =1 Klatki już zdekodowane Kodowany obraz Estymacja ruchu Nieregularne siatki do modelowania obiektów w ruchu MPEG-2 / MPEG-4 Nowy rodzaj transformacji Wejściowe bloki 8x8 Transformacja DCT Przetransformowane bloki 8x8 MPEG-4 AVC Globalna estymacja ruchu MV MV 01 00 Wejściowe bloki 4x4 Transformacja całkowitoliczbowa Przetransformowane bloki 4x4 Estymacja dużych fragmentów obrazu z uwzględnieniem zmieniającej się perspektywy lub skali obiektów MV 10 MV 11

Transformacje w AVC Adaptacyjny filtr redukcji efektów blokowych Rozszerzona na 8x8 dla Chroma za pomocą transformacji Hadamarda 2x2 współczynników DC Rozszerzona na 16x16 dla Luma Intra16x16 za pomocą transformacji Hadamarda 4x4 współczynników DC Filtracja zależy od Intra/Inter, wektorów ruchu, różnic pomiędzy pikselami, QP Redukcja średniej bitowej o 6~9% Poprawa subiektywnej jakości oraz PSNR dekodowanych klatek Bez filtru Standardy multimedialne H.320 H.324 Z filtrem