Metody kompresji
Plan prezentacji Metody kompresji: dźwięku obrazu elementy psychoakustyki współczesne standardy stratnej kompresji obrazu metody bezstratnej kompresji metody stratnej kompresji metody kompresji obrazu ruchomego
Metody kompresji dźwięku
Metody kompresji dźwięku Ze względu na dużą entropię informacji w sygnale fonicznym, współczynnik kompresji dla dźwięku jest stosunkowo niewielki przy zastosowaniu bezstratnych algorytmów kompresji. Dlatego też opracowano stratne metody kodowania, których działanie opiera się na wykorzystaniu własności psychofizycznych słuchu, dzięki czemu możliwe jest kilkukrotne zwiększenie współczynnika kompresji przy jednoczesnym zachowaniu wysokiej jakości sygnału fonicznego.
Elementy psychoakustyki System słuchowy człowieka przetwarza dźwięk w pewnych podpasmach, zwanych pasmami krytycznymi. W każdym z nich sygnał jest analizowany w sposób niezależny od dźwięku w pozostałych pasmach krytycznych. Każdemu pasmu krytycznemu odpowiada pewien odcinek na błonie podstawnej ślimaka równy 1,3 mm. Szerokość tych pasm nie jest wielkością stałą. Mianowicie poniżej 500 Hz jest ona stała i wynosi 100 Hz, zaś powyżej 500 Hz szerokość każdego następnego pasma jest o 20% większa niż dla poprzedniego pasma. Perceptualną jednostką szerokości pasma jest 1 Bark.
Elementy psychoakustyki Maskowanie - zagłuszanie składowych sygnału fonicznego przez inne. maskowanie jednoczesne (w dziedzinie częstotliwości) maskowanie niejednoczesne (w dziedzinie czasu).
Elementy psychoakustyki Maskowanie jednoczesne charakteryzuje się tym, że pewne tony stają się niesłyszalne w obecności innych, tzw. maskerów.
Elementy psychoakustyki Maskowanie niejednoczesne może występować jako premaskowanie lub postmaskowanie.
Współczesne standardy stratnej kompresji dźwięku
SONY ATRAC System kodowania sygnałów fonicznych ATRAC (ang. Adaptive Transform Acoustic Coding) jest przeznaczony dla przenośnych rejestratorów dźwięku wysokiej jakości. Przepływność binarna kodeka ATRAC wynosi około 140 kbit/s, przy czym ATRAC wykorzystuje: maskowanie jednoczesne w dziedzinie częstotliwości, maskowanie w dziedzinie czasu, bank 3 zwierciadlanych filtrów kwadraturowych QMF (ang. Quadrature Mirror Filters), dzielących zakres na podpasma: 0-5.5 kHz, 5.5-11 kHz i 11-22 kHz, zmodyfikowaną dyskretną transformację kosinusową MDCT (ang. Modified Discrete Cosine Transform), zmienną rozdzielczość częstotliwościową dla różnych pasm częstotliwości, zmienną rozdzielczość czasową w zależności od parametrów statystycznych sygnału.
Dolby AC-3 Standard ten opracowano w celu zastosowania w systemie wielokanałowego nagłośnienia kina cyfrowego, następnie wybrano go dla potrzeb kodowania dźwięku w HDTV. Wykorzystuje: maskowanie jednoczesne w dziedzinie częstotliwości bank filtrów oparty na transformacie TDAC (Time Domain Aliasing Cancelation) zmienną rozdzielczość czasowo-częstotliwościową. Koder wykorzystuje dodatkowe 16-bitowe słowo synchronizacji oraz 2 słowa 16-bitowe w celu kontroli błędu (CRC). Przepływność binarna kodeka AC-3 jest zawarta między 32 a 640 kb/s w sumie wszystkie kanały. Typowe całkowite opóźnienie czasowe kodowania ok.100ms.
PASC Standard PASC (ang. Precission Adaptive Subband Coding) został opracowany przez firmę Philips wraz z japońską firmę Matsushita i zastosowany w magnetofonie cyfrowym DCC (ang. Digital Compact Casette). Jego interfejs foniczny składa się z przetworników A/C oraz C/A, przy czym dla wejścia analogowego możliwa jest jedna częstotliwość próbkowania (44.1 kHz), natomiast dla wejść cyfrowych możliwe są trzy wartości częstotliwości próbkowania: 32 kHz, 44.1 kHz oraz 48 kHz. Analiza sygnału szerokopasmowego odbywa się przy pomocy 32 filtrów NOI, pasmowo-przepustowych o stałej szerokości pasma (750 Hz). Przepływność binarna kodeka PASC wynosi 384 kbit/s dla sygnału stereo przy kompaktowej jakości dźwięku.
MUSICAM MUSICAM (ang. Masking-pattern Universal Subband Integrated Coding And Multiplexing) został opracowany dla potrzeb cyfrowej transmisji radiowej DAB (ang. Digital Audio Broadcasting). Cyfrowy sygnał foniczny w standardzie EBU/AES (768 kbit/s) jest dzielony na 32 podpasma o szerokości 750 Hz przy pomocy wielofazowego banku filtrów. Zastosowano układ realizujący FFT, który oblicza co 24 ms 1024 składowych widma. Kodek MUSICAM wykorzystuje maskowanie jednoczesne w dziedzinie częstotliwości i jest kompatybilny z formatami ISO/MPEG (Layer I). Przepływność binarna kodeka MUSICAM wynosi 384 kbit/s dla sygnałów stereo przy kompaktowej jakości dźwięku.
MPEG-1 MPEG to skrót od Moving Pictures Experts Group umożliwia kodowanie sygnałów PCM dla częstotliwości próbkowania: 32, 44.1, 48kHz maskowanie jednoczesne w dziedzinie częstotliwości maskowanie w dziedzinie czasu zastosowanie banku 32 filtrów wielofazowych wytwarzających podpasma o stałej szerokości 750Hz
MPEG-1 MPEG umożliwia pracę z zadanym trybem przepływności: FBR - praca ze stałą przepływnością bitową VBR - praca ze zmienną przepływnością bitową Wprowadzono mechanizm zabezpieczenia przed błędami transmisji Przepływność binarna wynosi od 64 do 384kb/s - kanał stereo
MPEG-1 Schemat kodera MPEG zakodowany sygnał (2*32 kbit/s) ... 2*192 kbit/s sygnał akustyczny (2*768 kbit/s) ... Podpasmo 31 Bank filtrów dla 32 pasm Kwantyzacja liniowa Formatowanie sygnału skomprymowanego Kodowanie informacji dodatkowej Dane pomocnicze FFT Model psychoakustyczny Kontrola zewnętrzna
MPEG-1 Schemat dekodera MPEG 31 ... Podpasmo sygnał akustyczny (2*768 kbit/s) zakodowany sygnał (2*32 kbit/s) ... 2*192 kbit/s Demultiplekser i test CRC Dekwantyzacja liniowa Bank odwrotnych filtrów dla 32 pasm Dekodowanie informacji dodatkowej
MPEG-1 Możliwa jest praca w 3 warstwach: 1, 2 i 3. Warstwa 1: Uproszczona wersja schematu MUSICAM. Przeznaczona głównie do zastosowań takich, jak: cyfrowe nagrywanie w warunkach domowych na kasetach, twardych dyskach i dyskach magnetooptycznych. Warstwa ta używa ramki o czasie trwania 8ms przy częstotliwości próbkowania 48kHz.
MPEG-1 Warstwa 2: Wprowadza dalsze udoskonalenia w stosunku do warstwy 1. Podstawowa długość ramki to 24ms przy 48kHz. Jest prawie identyczna ze schematem MUSICAM. Ma zastosowanie głównie w profesjonalnej technice dźwiękowej, czyli wykorzystywana jest w rozgłośniach radiowych i telewizyjnych, studiach nagrań oraz w systemach multimedialnych.
MPEG-1 Warstwa 3: kombinacja efektywnych modułów z kodera ASPEC i MUSICAM. Hybrydowy bank filtrów wprowadza dodatkową rozdzielczość częstotliwościową. Długość ramki jest identyczna z warstwą 2. Używana jest tutaj niejednolita kwantyzacja, adaptacyjna segmentacja i kodowanie entropijne skwantowanych wartości w celu zwiększenia wydajności kodowania. Metoda ta jest najbardziej użyteczna w telekomunikacji, szczególnie w wąskopasmowym ISDN, łączach satelitarnych i wszystkich przypadkach, gdzie wymagana jest wysoka jakość przy niskich przepływnościach.
MPEG-2 MPEG-2 BC - kompatybilny wstecz Obejmuje kompresję sygnału fonicznego dla częstotliwości próbkowania: 16, 22.05, 24kHz - telekonferencje Kompresja wielokanałowego sygnału fonicznego typu 3/2+1 lub 5/2+1 Oferuje obsługę wielokanałowych ścieżek dźwiękowych w wersjach wielojęzycznych.
MPEG-2 Kanał L (lewy) i R (prawy) są zastąpione przez zmatrycowane sygnały Lc i Rc: Lc = L + a * C + b * Ls Rc = R + a * C + b * Rs i kodowane kodem MPEG-1. Dodatkowe kanały C(centralny), Ls (lewy surround) i Rs (prawy surround) są przesyłane w pomocniczym polu MPEG-1
Metody kompresji obrazu
Metody kompresji bezstratnej Niewielki stopień kompresji (około 50%). Prostota metody. Stosowane często tam, gdzie wprowadzanie jakichkolwiek zakłóceń jest niedopuszczalne (np. obrazy uzyskiwane dla potrzeb medycznych). Można je w ogólności podzielić na cztery grupy: kody o zmiennej długości słowa, metody arytmetyczne, metody słownikowe oraz metody wykorzystujące specyfikę danych graficznych.
Kody o zmiennej długości słowa Kod Huffmana Każdemu poziomowi jasności przypisuje się częstość występowania piksli o tej jasności. Następnie wyszukuje się dwa poziomy o najmniejszej częstości występowania i łączy je w jeden, o częstości występowania równej sumie częstości obu połączonych poziomów. W wyniku połączenia liczba rozpatrywanych poziomów maleje o jeden. Czynność wyszukiwania i łączeń powtarza się tak długo, aż połączeniu ulegną wszystkie poziomy. Kolejność łączenia wyznacza drzewo. Jeżeli dla każdego rozgałęzienia jedną z gałęzi oznaczy się 0, a drugą 1, to poruszając się w kierunku od korzenia do dowolnego węzła terminalnego napotkane symbole wyznaczą kod Huffmana, odpowiadający temu węzłowi.
Kody o zmiennej długości słowa Kod Huffmana Kody różnych symboli charakteryzują się tym, że żaden z symboli nie jest początkiem innego (dłuższego) symbolu. 40% 31% 15% 8% 6% 14% 29% 60% 100% 1 Częstość Kod Huffmana 10 110 1110 1111
Metody arytmetyczne Średnia wartość współczynnika bit/symbol jest zbliżona do wartości entropii. Symbole ułożone są w kolejności rosnących lub malejących prawdopodobieństw wystąpienia wzdłuż odcinka od 0 do 1.
Bity znaczące (-log2(długość)) Metody arytmetyczne Symbole są następnie kodowane poprzez przypisanie binarnej liczby zmiennoprzecinkowej przedstawiającej początek odpowiedniego fragmentu odcinka. Liczba bitów znaczących po przecinku odpowiada długości odcinka (i równa jest log2(długość odcinka)). Słowa kodowe dla różnych symboli mają następujące wartości: S0 0.0 .03 6 .000000 S1 .3 .2 3 .010 S2 .1 4 .0011 S3 .5 1 S4 .000001 S5 .05 5 .00011 S6 .06 .04 .00001 S7 .15 .00100 Symbol Położenie Długość Bity znaczące (-log2(długość)) Słowo kodowe
Metody słownikowe Idea tego rozwiązania polega na kodowaniu ciągów symboli (piksli) za pomocą odwołań do słownika zawierającego takie ciągi. Im dłuższy ciąg piksli uda się zastąpić indeksem do słownika, tym większy będzie stopień kompresji. Najpopularniejszym algorytmem tego typu jest, zaproponowany w 1984 roku, algorytm LZW. Z algorytmu tego korzystają dwa popularne formaty graficzne: GIF oraz TIFF.
Metody wykorzystujące specyfikację danych graficznych Metody te wykorzystują fakt, że sąsiadujące ze sobą piksle mają często takie same lub podobne kolory. Najpopularniejszą metodą w tej grupie jest RLE (ang. Run Length Encoding). W metodzie RLE obraz przeglądany jest liniami (np. poziomymi). Ponieważ w większości linii powtarzają się podobne elementy, koduje się następujące pary: liczba piksli i kolor. Metodę RLE wykorzystują takie formaty graficzne, jak PCX oraz TIFF.
Metody wykorzystujące specyfikację danych graficznych Do tej grupy metod zaliczyć można metody kodowania plam. W metodach tych obraz rozbijany jest na jednokolorowe plamy i kodowane są pary: kształt i kolor. W zależności od sposobu opisywania kształtu plamy można wyróżnić kilka metod kodowania plam: metoda konturowa, metoda prostokątów, metoda drzewa czwórkowego.
Metody kompresji stratnej Duży stopień kompresji osiągany jest kosztem utraty szczegółów. Metody stratnej kompresji obrazu można w ogólności podzielić na trzy grupy: metody bezpośrednie (w dziedzinie obrazu), metody fraktalne, metody transformat.
Metody bezpośrednie Metoda predykcyjna Wykorzystuje ona fakt, iż kolory sąsiednich piksli są zbliżone. Można przewidzieć kolor piksla. Znajomość błędu estymacji, tzn. różnicy e koloru rzeczywistego c i przewidywanego c’, wystarcza do wiernego odtworzenia obrazu. Aby uzyskać lepszy stopień kompresji, można przed zakodowaniem dokonać kwantyzacji błędu estymacji e.
Metody bezpośrednie metoda binarnej kwantyzacji blokowej BTC (ang. Block Truncation Compression) Obraz dzielony jest na bloki n*m piksli. Na każdym z bloków dokonuje się kwantyzacji binarnej, tzn. kolory kolejnych piksli zastępowane są przez jeden z dwóch kolorów c1 lub c2 wybieranych osobno dla każdego bloku. Zamiast pełnej liczby 2l kolorów (poziomów szarości) koduje się jedynie dwa kolory w bloku (1 bit/piksel w miejsce l bitów/piksel). Dla każdego bloku należy pamiętać c1 i c2. Kompresja możliwa do uzyskania w tej metodzie jest rzędu 4:1.
Metody fraktalne Do kompresji obrazów można wykorzystać teorię fraktali. Wiele obrazów cechuje się znacznym stopniem samopodobieństwa – w jednym obrazie można wyróżnić całe fragmenty, może inaczej położone, innej wielkości czy jasności, ale o bardzo zbliżonym kształcie. Najważniejszą operacją, dokonywaną podczas kodowania fraktalnego, jest rozpoznawanie par obiektów i znajdowanie przekształceń, odwzorowujących jeden obiekt w drugi, będących złożeniem obrotów, skalowania i przesunięć. Ta klasa przekształceń nosi nazwę przekształceń afinicznych.
Metody fraktalne Stopień kompresji możliwy do uzyskania tą metodą wynosi typowo kilkadziesiąt do jednego. Wielką zaletą metody jest niezależność zakodowanego obrazu od rozdzielczości, co umożliwia łatwe skalowanie obrazu wynikowego. Zastosowanie kompresji fraktalnej Powiększenie obrazu
Metody transformat Transformaty umożliwiają rozłożenie funkcji jasności, będącej dyskretną funkcją dwóch zmiennych, na superpozycję funkcji bazowych transformaty. Najczęściej wykorzystuje się dyskretną transformatę cosinusową (DCT). Jeśli f(i, j) oznacza wartość piksla leżącego w punkcie o współrzędnych (i, j), a F(u, v) reprezentuje dwuwymiarowy współczynnik transformaty ze składową harmoniczną rzędu u wzdłuż osi U i składową harmoniczną rzędu v wzdłuż osi V (gdzie U i V odpowiadają osiom I i J), wówczas F(u, v) definiowane są jako:
Metody transformat – standard JPEG Najpopularniejszym standardem wykorzystującym dyskretną transformatę cosinusową (DCT) jest JPEG (Joint Photographic Experts Group). Ogólny schemat kodera JPEG RGB YUV DCT Kwantowanie Kodowanie Ogólny schemat dekodera JPEG YUV RGB DCT -1 Dekwantowanie Odkodowanie
Metody transformat – standard JPEG Zmiana modelu barw z RGB na YUV. Wyznaczenie, niezależnie dla każdego składnika barwy, dyskretnej transformaty cosinusowej. Kwantyzowanie współczynników transformaty F(u, v) otrzymanych z kodowania DCT przy pomocy macierzy kwantyzacji. Polega to na dzieleniu każdego ze współczynników F(u, v) przez odpowiadający mu element tablicy dwuwymiarowej Q(u, v) (gdzie Q jest macierzą kwantyzacji).
Metody transformat – standard JPEG Składowe stałe różnych bloków (współczynniki F(0,0)) są kodowane przy użyciu metody DPCM. Sygnały różnicowe wygenerowane przez koder DPCM są następnie kodowane przy użyciu kodera Huffmana. Pozostałe współczynniki F(u, v) zawierają składowe zmienne. Po skwantyzowaniu wiele z nich zaokrągla się do zera. Skwantyzowana tablica dwuwymiarowa F(u, v) przekształcana jest w tablicę jednowymiarową (wektor) według kolejności przedstawionej na rysunku: Współczynnik kompresji dla metod opartych o transformatę cosinusową wynosi około 30:1.
Kompresja obrazów ruchomych Duży stopień kompresji uzyskiwany jest dzięki uwzględnieniu zależności, jakie występują między następującymi po sobie obrazami. Do najczęściej spotykanych standardów kompresji obrazów ruchomych należą: MPEG (Moving Picture Experts Group) SONY SX M-JPEG (Motion JPEG)
MPEG MPEG oparty jest na dwóch podstawowych technikach: kompensacja ruchu pod kątem nadmiarowości międzyramkowej (nadmiarowość czasowa) oraz kompresja DCT do nadmiarowości wewnątrzramkowej (nadmiarowość przestrzenna). Schemat blokowy kodera i dekodera MPEG: Sekwencja obrazów Koder kompensacji ruchu Koder na bazie DCT Koder entropii Dekoder kompensacji ruchu Dekoder na Dekoder Ramki ze skompensowanym ruchem Współczynniki DCT Skompresowana sekwencja obrazów Odwrotna sekwencja obrazów Ramki ze skompensowanym ruchem Współczynniki DCT
MPEG Zakodowany ciąg obrazów może zawierać trzy rodzaje ramek: Wewnętrzne ramki odniesienia I, które nie zależą od żadnych innych ramek. Są one kodowane w sposób podobny do tego, jaki wykorzystuje algorytm kompresji obrazów statycznych. Umożliwiają one swobodny dostęp do zakodowanego ciągu obrazów. Ramki P, przedstawiające obraz będący różnicą między bieżącą ramką a ramką odniesienia. Ponieważ na sąsiednich obrazach większość obiektów nie ulega istotnym zmianom, tak zmodyfikowany obraz zawiera znacznie mniej informacji. Ramki B, mające dwie ramki odniesienia: jedną wcześniejszą i jedną późniejszą.
MPEG Kolejność kodowania sekwencji obrazów MPEG:
SONY SX System kompresji SONY SX używa tylko ramek I oraz B. Sekwencja ramek w schemacie SONY SX:
M-JPEG (Motion JPEG) Cechy standardu M-JPEG: jest rozszerzeniem metody JPEG i przeznaczony jest do kompresji obrazów ruchomych, dokonuje kompresji każdej ramki w sekwencji obrazu wizyjnego, można uznać, że jest bardzo uproszczoną wersją standardu MPEG (bez kompensacji ruchu), czyli bez kodowania międzyramkowego (wszystkie ramki są typu I), czas kompresji (złożoność) M-JPEG jest mniejsza niż dla MPEG, gdyż nie trzeba dokonywać predykcji ramek typu P i B oraz dokonywać kosztownego przeszukiwania ramek i dopasowania podczas kompensacji ruchu,
M-JPEG (Motion JPEG) Cechy standardu M-JPEG: techniki edycyjne sygnału wizyjnego (przesuwanie w przód i w tył, zatrzymywanie, itd.) dla standardu M-JPEG są mniej złożone obliczeniowo niż dla MPEG, a zatem szybsze podczas działania, dostęp swobodny do dowolnej ramki jest natychmiastowy, dekompresja ramek następuje w tej samej kolejności, jak podczas kompresji, M-JPEG wymaga mniej pamięci operacyjnej niż MPEG, gdyż nie przeprowadza takich operacji buforowania jak MPEG, współczynnik kompresji w standardzie M-JPEG jest taki sam jak dla JPEG i wynosi około 10:1, 15:1, natomiast dla systemu MPEG współczynnik kompresji wynosi około 30:1. Ponadto, MPEG może być także użyteczny przy współczynnikach rzędu 100:1.
Źródło: J. Zabrodzki, „Grafika komputerowa – metody i narzędzia”, Wydawnictwo Naukowo-Techniczne, Warszawa, 1994. S. Anderson, S. Anger, „Grafika PC bez tajemnic”, Interfoftland, Warszawa, 1995. R. Królikowski, „Współczesne standardy perceptualnej kompresji dźwięku wysokiej jakości”, Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki Politechniki Gdańskiej Nr 11, str. 81-88, Gdańsk, 1997. K. Brandenburg, M. Bosi, „Overview of MPEG Audio: Current and Future Standards for Low-Bit-Rate Audio Coding”, J. Audio Eng. Soc., Vol. 45, No. 1/2, pp. 421, 1997. J. Lebiedź, „Kompresja danych” – materiały do wykładu, Politechnika Gdańska, Wydział ETI, Katedra Technik Programowania, Gdańsk, 1996. A. Wieczorkowska, „Badanie metod kompresji obrazu”, Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki Politechniki Gdańskiej Nr 10, str. 71-76, Gdańsk, 1996. W.S. Mościbrodzki, „Badanie metod kompresji obrazu ruchomego”, Zeszyty Naukowe Wydziału Elektrotechniki i Automatyki Politechniki Gdańskiej Nr 12, str. 113-120, Gdańsk, 1998.