Title: Metody kompresji
1Metody kompresji
2Plan prezentacji
- Metody kompresji
- dzwieku
- elementy psychoakustyki
- wspólczesne standardy stratnej kompresji
- obrazu
- metody bezstratnej kompresji
- metody stratnej kompresji
- metody kompresji obrazu ruchomego
3Metody kompresji dzwieku
4Metody kompresji dzwieku
- Ze wzgledu na duza entropie informacji w sygnale
fonicznym, wspólczynnik kompresji dla dzwieku
jest stosunkowo niewielki przy zastosowaniu
bezstratnych algorytmów kompresji. -
- Dlatego tez opracowano stratne metody kodowania,
których dzialanie opiera sie na wykorzystaniu
wlasnosci psychofizycznych sluchu, dzieki czemu
mozliwe jest kilkukrotne zwiekszenie
wspólczynnika kompresji przy jednoczesnym
zachowaniu wysokiej jakosci sygnalu fonicznego.
5Elementy psychoakustyki
- System sluchowy czlowieka przetwarza dzwiek w
pewnych podpasmach, zwanych pasmami krytycznymi. - W kazdym z nich sygnal jest analizowany w sposób
niezalezny od dzwieku w pozostalych pasmach
krytycznych. - Kazdemu pasmu krytycznemu odpowiada pewien
odcinek na blonie podstawnej slimaka równy 1,3
mm. - Szerokosc tych pasm nie jest wielkoscia stala.
Mianowicie ponizej 500 Hz jest ona stala i wynosi
100 Hz, zas powyzej 500 Hz szerokosc kazdego
nastepnego pasma jest o 20 wieksza niz dla
poprzedniego pasma. - Perceptualna jednostka szerokosci pasma jest 1
Bark.
6Elementy psychoakustyki
- Maskowanie - zagluszanie skladowych sygnalu
fonicznego przez inne. - maskowanie jednoczesne (w dziedzinie
czestotliwosci) - maskowanie niejednoczesne (w dziedzinie czasu).
7Elementy psychoakustyki
- Maskowanie jednoczesne charakteryzuje sie tym, ze
pewne tony staja sie nieslyszalne w obecnosci
innych, tzw. maskerów.
8Elementy psychoakustyki
- Maskowanie niejednoczesne moze wystepowac jako
premaskowanie lub postmaskowanie.
9Wspólczesne standardy stratnej kompresji dzwieku
10SONY ATRAC
- System kodowania sygnalów fonicznych ATRAC (ang.
Adaptive Transform Acoustic Coding) jest
przeznaczony dla przenosnych rejestratorów
dzwieku wysokiej jakosci. Przeplywnosc binarna
kodeka ATRAC wynosi okolo 140 kbit/s, przy czym
ATRAC wykorzystuje - maskowanie jednoczesne w dziedzinie
czestotliwosci, - maskowanie w dziedzinie czasu,
- bank 3 zwierciadlanych filtrów kwadraturowych QMF
(ang. Quadrature Mirror Filters), dzielacych
zakres na podpasma 0-5.5 kHz, 5.5-11 kHz i
11-22 kHz, - zmodyfikowana dyskretna transformacje kosinusowa
MDCT (ang. Modified Discrete Cosine Transform), - zmienna rozdzielczosc czestotliwosciowa dla
róznych pasm czestotliwosci, - zmienna rozdzielczosc czasowa w zaleznosci od
parametrów statystycznych sygnalu.
11Dolby AC-3
- Standard ten opracowano w celu zastosowania w
systemie wielokanalowego naglosnienia kina
cyfrowego, nastepnie wybrano go dla potrzeb
kodowania dzwieku w HDTV. - Wykorzystuje
- maskowanie jednoczesne w dziedzinie
czestotliwosci - bank filtrów oparty na transformacie TDAC (Time
Domain Aliasing Cancelation) - zmienna rozdzielczosc czasowo-czestotliwosciowa.
- Koder wykorzystuje dodatkowe 16-bitowe slowo
synchronizacji oraz 2 slowa 16-bitowe w celu
kontroli bledu (CRC). - Przeplywnosc binarna kodeka AC-3 jest zawarta
miedzy 32 a 640 kb/s w sumie wszystkie kanaly. - Typowe calkowite opóznienie czasowe kodowania
ok.100ms.
12PASC
- Standard PASC (ang. Precission Adaptive Subband
Coding) zostal opracowany przez firme Philips
wraz z japonska firme Matsushita i zastosowany w
magnetofonie cyfrowym DCC (ang. Digital Compact
Casette). - Jego interfejs foniczny sklada sie z
przetworników A/C oraz C/A, przy czym dla wejscia
analogowego mozliwa jest jedna czestotliwosc
próbkowania (44.1 kHz), natomiast dla wejsc
cyfrowych mozliwe sa trzy wartosci czestotliwosci
próbkowania 32 kHz, 44.1 kHz oraz 48 kHz. - Analiza sygnalu szerokopasmowego odbywa sie przy
pomocy 32 filtrów NOI, pasmowo-przepustowych o
stalej szerokosci pasma (750 Hz). - Przeplywnosc binarna kodeka PASC wynosi 384
kbit/s dla sygnalu stereo przy kompaktowej
jakosci dzwieku.
13MUSICAM
- MUSICAM (ang. Masking-pattern Universal Subband
Integrated Coding And Multiplexing) zostal
opracowany dla potrzeb cyfrowej transmisji
radiowej DAB (ang. Digital Audio Broadcasting). - Cyfrowy sygnal foniczny w standardzie EBU/AES
(768 kbit/s) jest dzielony na 32 podpasma o
szerokosci 750 Hz przy pomocy wielofazowego banku
filtrów. - Zastosowano uklad realizujacy FFT, który oblicza
co 24 ms 1024 skladowych widma. - Kodek MUSICAM wykorzystuje maskowanie jednoczesne
w dziedzinie czestotliwosci i jest kompatybilny z
formatami ISO/MPEG (Layer I). - Przeplywnosc binarna kodeka MUSICAM wynosi 384
kbit/s dla sygnalów stereo przy kompaktowej
jakosci dzwieku.
14MPEG-1
- MPEG to skrót od Moving Pictures Experts Group
- umozliwia kodowanie sygnalów PCM dla
czestotliwosci próbkowania 32, 44.1, 48kHz - maskowanie jednoczesne w dziedzinie
czestotliwosci - maskowanie w dziedzinie czasu
- zastosowanie banku 32 filtrów wielofazowych
wytwarzajacych podpasma o stalej szerokosci 750Hz
15MPEG-1
- MPEG umozliwia prace z zadanym trybem
przeplywnosci - FBR - praca ze stala przeplywnoscia bitowa
- VBR - praca ze zmienna przeplywnoscia bitowa
- Wprowadzono mechanizm zabezpieczenia przed
bledami transmisji - Przeplywnosc binarna wynosi od 64 do 384kb/s -
kanal stereo
16MPEG-1
17MPEG-1
18MPEG-1
- Mozliwa jest praca w 3 warstwach 1, 2 i 3.
- Warstwa 1
- Uproszczona wersja schematu MUSICAM.
- Przeznaczona glównie do zastosowan takich, jak
cyfrowe nagrywanie w warunkach domowych na
kasetach, twardych dyskach i dyskach
magnetooptycznych. - Warstwa ta uzywa ramki o czasie trwania 8ms przy
czestotliwosci próbkowania 48kHz.
19MPEG-1
- Warstwa 2
- Wprowadza dalsze udoskonalenia w stosunku do
warstwy 1. - Podstawowa dlugosc ramki to 24ms przy 48kHz.
- Jest prawie identyczna ze schematem MUSICAM.
- Ma zastosowanie glównie w profesjonalnej technice
dzwiekowej, czyli wykorzystywana jest w
rozglosniach radiowych i telewizyjnych, studiach
nagran oraz w systemach multimedialnych.
20MPEG-1
- Warstwa 3
- kombinacja efektywnych modulów z kodera ASPEC i
MUSICAM. - Hybrydowy bank filtrów wprowadza dodatkowa
rozdzielczosc czestotliwosciowa. - Dlugosc ramki jest identyczna z warstwa 2.
- Uzywana jest tutaj niejednolita kwantyzacja,
adaptacyjna segmentacja i kodowanie entropijne
skwantowanych wartosci w celu zwiekszenia
wydajnosci kodowania. - Metoda ta jest najbardziej uzyteczna w
telekomunikacji, szczególnie w waskopasmowym
ISDN, laczach satelitarnych i wszystkich
przypadkach, gdzie wymagana jest wysoka jakosc
przy niskich przeplywnosciach.
21MPEG-2
- MPEG-2 BC - kompatybilny wstecz
- Obejmuje kompresje sygnalu fonicznego dla
czestotliwosci próbkowania 16, 22.05, 24kHz -
telekonferencje - Kompresja wielokanalowego sygnalu fonicznego typu
3/21 lub 5/21 - Oferuje obsluge wielokanalowych sciezek
dzwiekowych w wersjach wielojezycznych.
22MPEG-2
- Kanal L (lewy) i R (prawy) sa zastapione przez
zmatrycowane sygnaly Lc i Rc - Lc L a C b Ls
Rc R a C b Rs - i kodowane kodem MPEG-1.
- Dodatkowe kanaly C(centralny), Ls (lewy surround)
i Rs (prawy surround) sa przesylane w pomocniczym
polu MPEG-1
23Metody kompresji obrazu
24Metody kompresji bezstratnej
- Niewielki stopien kompresji (okolo 50).
- Prostota metody.
- Stosowane czesto tam, gdzie wprowadzanie
jakichkolwiek zaklócen jest niedopuszczalne (np.
obrazy uzyskiwane dla potrzeb medycznych). - Mozna je w ogólnosci podzielic na cztery grupy
- kody o zmiennej dlugosci slowa,
- metody arytmetyczne,
- metody slownikowe oraz
- metody wykorzystujace specyfike danych
graficznych.
25Kody o zmiennej dlugosci slowa
- Kod Huffmana
- Kazdemu poziomowi jasnosci przypisuje sie
czestosc wystepowania piksli o tej jasnosci. - Nastepnie wyszukuje sie dwa poziomy o
najmniejszej czestosci wystepowania i laczy je w
jeden, o czestosci wystepowania równej sumie
czestosci obu polaczonych poziomów. - W wyniku polaczenia liczba rozpatrywanych
poziomów maleje o jeden. - Czynnosc wyszukiwania i laczen powtarza sie tak
dlugo, az polaczeniu ulegna wszystkie poziomy. - Kolejnosc laczenia wyznacza drzewo.
- Jezeli dla kazdego rozgalezienia jedna z galezi
oznaczy sie 0, a druga 1, to poruszajac sie w
kierunku od korzenia do dowolnego wezla
terminalnego napotkane symbole wyznacza kod
Huffmana, odpowiadajacy temu wezlowi.
26Kody o zmiennej dlugosci slowa
- Kod Huffmana
- Kody róznych symboli charakteryzuja sie tym, ze
zaden z symboli nie jest poczatkiem innego
(dluzszego) symbolu.
27Metody arytmetyczne
- Srednia wartosc wspólczynnika bit/symbol jest
zblizona do wartosci entropii. - Symbole ulozone sa w kolejnosci rosnacych lub
malejacych prawdopodobienstw wystapienia wzdluz
odcinka od 0 do 1.
28Metody arytmetyczne
- Symbole sa nastepnie kodowane poprzez przypisanie
binarnej liczby zmiennoprzecinkowej
przedstawiajacej poczatek odpowiedniego fragmentu
odcinka. - Liczba bitów znaczacych po przecinku odpowiada
dlugosci odcinka (i równa jest log2(dlugosc
odcinka)). - Slowa kodowe dla róznych symboli maja nastepujace
wartosci
29Metody slownikowe
- Idea tego rozwiazania polega na kodowaniu ciagów
symboli (piksli) za pomoca odwolan do slownika
zawierajacego takie ciagi. - Im dluzszy ciag piksli uda sie zastapic indeksem
do slownika, tym wiekszy bedzie stopien
kompresji. - Najpopularniejszym algorytmem tego typu jest,
zaproponowany w 1984 roku, algorytm LZW. - Z algorytmu tego korzystaja dwa popularne formaty
graficzne GIF oraz TIFF.
30Metody wykorzystujace specyfikacje danych
graficznych
- Metody te wykorzystuja fakt, ze sasiadujace ze
soba piksle maja czesto takie same lub podobne
kolory. - Najpopularniejsza metoda w tej grupie jest RLE
(ang. Run Length Encoding). - W metodzie RLE obraz przegladany jest liniami
(np. poziomymi). Poniewaz w wiekszosci linii
powtarzaja sie podobne elementy, koduje sie
nastepujace pary liczba piksli i kolor. - Metode RLE wykorzystuja takie formaty graficzne,
jak PCX oraz TIFF.
31Metody wykorzystujace specyfikacje danych
graficznych
- Do tej grupy metod zaliczyc mozna metody
kodowania plam. - W metodach tych obraz rozbijany jest na
jednokolorowe plamy i kodowane sa pary ksztalt i
kolor. - W zaleznosci od sposobu opisywania ksztaltu plamy
mozna wyróznic kilka metod kodowania plam - metoda konturowa,
- metoda prostokatów,
- metoda drzewa czwórkowego.
32Metody kompresji stratnej
- Duzy stopien kompresji osiagany jest kosztem
utraty szczególów. - Metody stratnej kompresji obrazu mozna w
ogólnosci podzielic na trzy grupy - metody bezposrednie (w dziedzinie obrazu),
- metody fraktalne,
- metody transformat.
33Metody bezposrednie
- Metoda predykcyjna
- Wykorzystuje ona fakt, iz kolory sasiednich
piksli sa zblizone. - Mozna przewidziec kolor piksla.
- Znajomosc bledu estymacji, tzn. róznicy e koloru
rzeczywistego c i przewidywanego c, wystarcza do
wiernego odtworzenia obrazu. - Aby uzyskac lepszy stopien kompresji, mozna przed
zakodowaniem dokonac kwantyzacji bledu estymacji
e.
34Metody bezposrednie
- metoda binarnej kwantyzacji blokowej BTC(ang.
Block Truncation Compression) - Obraz dzielony jest na bloki nm piksli.
- Na kazdym z bloków dokonuje sie kwantyzacji
binarnej, tzn. kolory kolejnych piksli
zastepowane sa przez jeden z dwóch kolorów c1 lub
c2 wybieranych osobno dla kazdego bloku. - Zamiast pelnej liczby 2l kolorów (poziomów
szarosci) koduje sie jedynie dwa kolory w bloku
(1 bit/piksel w miejsce l bitów/piksel). - Dla kazdego bloku nalezy pamietac c1 i c2.
- Kompresja mozliwa do uzyskania w tej metodzie
jest rzedu 41.
35Metody fraktalne
- Do kompresji obrazów mozna wykorzystac teorie
fraktali. - Wiele obrazów cechuje sie znacznym stopniem
samopodobienstwa w jednym obrazie mozna
wyróznic cale fragmenty, moze inaczej polozone,
innej wielkosci czy jasnosci, ale o bardzo
zblizonym ksztalcie. - Najwazniejsza operacja, dokonywana podczas
kodowania fraktalnego, jest rozpoznawanie par
obiektów i znajdowanie przeksztalcen,
odwzorowujacych jeden obiekt w drugi, bedacych
zlozeniem obrotów, skalowania i przesuniec. Ta
klasa przeksztalcen nosi nazwe przeksztalcen
afinicznych.
36Metody fraktalne
- Stopien kompresji mozliwy do uzyskania ta metoda
wynosi typowo kilkadziesiat do jednego. - Wielka zaleta metody jest niezaleznosc
zakodowanego obrazu od rozdzielczosci, co
umozliwia latwe skalowanie obrazu wynikowego.
Zastosowanie kompresji fraktalnej
Powiekszenie obrazu
37Metody transformat
- Transformaty umozliwiaja rozlozenie funkcji
jasnosci, bedacej dyskretna funkcja dwóch
zmiennych, na superpozycje funkcji bazowych
transformaty. - Najczesciej wykorzystuje sie dyskretna
transformate cosinusowa (DCT). - Jesli f(i, j) oznacza wartosc piksla lezacego w
punkcie o wspólrzednych (i, j), a F(u, v)
reprezentuje dwuwymiarowy wspólczynnik
transformaty ze skladowa harmoniczna rzedu u
wzdluz osi U i skladowa harmoniczna rzedu v
wzdluz osi V (gdzie U i V odpowiadaja osiom I i
J), wówczas F(u, v) definiowane sa jako
38Metody transformat standard JPEG
- Najpopularniejszym standardem wykorzystujacym
dyskretna transformate cosinusowa (DCT) jest JPEG
(Joint Photographic Experts Group).
Ogólny schemat kodera JPEG
Ogólny schemat dekodera JPEG
39Metody transformat standard JPEG
- Zmiana modelu barw z RGB na YUV.
- Wyznaczenie, niezaleznie dla kazdego skladnika
barwy, dyskretnej transformaty cosinusowej. - Kwantyzowanie wspólczynników transformaty F(u, v)
otrzymanych z kodowania DCT przy pomocy macierzy
kwantyzacji. Polega to na dzieleniu kazdego ze
wspólczynników F(u, v) przez odpowiadajacy mu
element tablicy dwuwymiarowej Q(u, v) (gdzie Q
jest macierza kwantyzacji).
40Metody transformat standard JPEG
- Skladowe stale róznych bloków (wspólczynniki
F(0,0)) sa kodowane przy uzyciu metody DPCM.
Sygnaly róznicowe wygenerowane przez koder DPCM
sa nastepnie kodowane przy uzyciu kodera
Huffmana. - Pozostale wspólczynniki F(u, v) zawieraja
skladowe zmienne. Po skwantyzowaniu wiele z nich
zaokragla sie do zera.
- Skwantyzowana tablica dwuwymiarowa F(u, v)
przeksztalcana jest w tablice jednowymiarowa
(wektor) wedlug kolejnosci przedstawionej na
rysunku - Wspólczynnik kompresji dla metod opartych o
transformate cosinusowa wynosi okolo 301.
41Kompresja obrazów ruchomych
- Duzy stopien kompresji uzyskiwany jest dzieki
uwzglednieniu zaleznosci, jakie wystepuja miedzy
nastepujacymi po sobie obrazami. - Do najczesciej spotykanych standardów kompresji
obrazów ruchomych naleza - MPEG (Moving Picture Experts Group)
- SONY SX
- M-JPEG (Motion JPEG)
42MPEG
- MPEG oparty jest na dwóch podstawowych
technikach kompensacja ruchu pod katem
nadmiarowosci miedzyramkowej (nadmiarowosc
czasowa) oraz kompresja DCT do nadmiarowosci
wewnatrzramkowej (nadmiarowosc przestrzenna). - Schemat blokowy kodera i dekodera MPEG
Ramki ze skompensowanym ruchem
Wspólczynniki DCT
43MPEG
- Zakodowany ciag obrazów moze zawierac trzy
rodzaje ramek - Wewnetrzne ramki odniesienia I, które nie zaleza
od zadnych innych ramek. Sa one kodowane w sposób
podobny do tego, jaki wykorzystuje algorytm
kompresji obrazów statycznych. Umozliwiaja one
swobodny dostep do zakodowanego ciagu obrazów. - Ramki P, przedstawiajace obraz bedacy róznica
miedzy biezaca ramka a ramka odniesienia.
Poniewaz na sasiednich obrazach wiekszosc
obiektów nie ulega istotnym zmianom, tak
zmodyfikowany obraz zawiera znacznie mniej
informacji. - Ramki B, majace dwie ramki odniesienia jedna
wczesniejsza i jedna pózniejsza.
44MPEG
- Kolejnosc kodowania sekwencji obrazów MPEG
45SONY SX
- System kompresji SONY SX uzywa tylko ramek I
oraz B. - Sekwencja ramek w schemacie SONY SX
46M-JPEG (Motion JPEG)
- Cechy standardu M-JPEG
- jest rozszerzeniem metody JPEG i przeznaczony
jest do kompresji obrazów ruchomych, - dokonuje kompresji kazdej ramki w sekwencji
obrazu wizyjnego, - mozna uznac, ze jest bardzo uproszczona wersja
standardu MPEG (bez kompensacji ruchu), czyli bez
kodowania miedzyramkowego (wszystkie ramki sa
typu I), - czas kompresji (zlozonosc) M-JPEG jest mniejsza
niz dla MPEG, gdyz nie trzeba dokonywac predykcji
ramek typu P i B oraz dokonywac kosztownego
przeszukiwania ramek i dopasowania podczas
kompensacji ruchu,
47M-JPEG (Motion JPEG)
- Cechy standardu M-JPEG
- techniki edycyjne sygnalu wizyjnego (przesuwanie
w przód i w tyl, zatrzymywanie, itd.) dla
standardu M-JPEG sa mniej zlozone obliczeniowo
niz dla MPEG, a zatem szybsze podczas dzialania, - dostep swobodny do dowolnej ramki jest
natychmiastowy, - dekompresja ramek nastepuje w tej samej
kolejnosci, jak podczas kompresji, - M-JPEG wymaga mniej pamieci operacyjnej niz MPEG,
gdyz nie przeprowadza takich operacji buforowania
jak MPEG, - wspólczynnik kompresji w standardzie M-JPEG jest
taki sam jak dla JPEG i wynosi okolo 101, 151,
natomiast dla systemu MPEG wspólczynnik kompresji
wynosi okolo 301. Ponadto, MPEG moze byc takze
uzyteczny przy wspólczynnikach rzedu 1001.
48Zródlo
- J. Zabrodzki, Grafika komputerowa metody i
narzedzia, Wydawnictwo Naukowo-Techniczne,
Warszawa, 1994. - S. Anderson, S. Anger, Grafika PC bez tajemnic,
Interfoftland, Warszawa, 1995. - R. Królikowski, Wspólczesne standardy
perceptualnej kompresji dzwieku wysokiej
jakosci, Zeszyty Naukowe Wydzialu
Elektrotechniki i Automatyki Politechniki
Gdanskiej Nr 11, str. 81-88, Gdansk, 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. 4?21, 1997. - J. Lebiedz, Kompresja danych materialy do
wykladu, Politechnika Gdanska, Wydzial ETI,
Katedra Technik Programowania, Gdansk, 1996. - A. Wieczorkowska, Badanie metod kompresji
obrazu, Zeszyty Naukowe Wydzialu Elektrotechniki
i Automatyki Politechniki Gdanskiej Nr 10, str.
71-76, Gdansk, 1996. - W.S. Moscibrodzki, Badanie metod kompresji
obrazu ruchomego, Zeszyty Naukowe Wydzialu
Elektrotechniki i Automatyki Politechniki
Gdanskiej Nr 12, str. 113-120, Gdansk, 1998.