77
Sažimanje podatka u multimediji

Multimedijski sustavi

Embed Size (px)

DESCRIPTION

FOI, PITUM - MULTIMEDIJSKI SUSTAVI 1

Citation preview

Page 1: Multimedijski sustavi

Sažimanje podatka u multimediji

Page 2: Multimedijski sustavi

Kompresija video i audio podataka

Kompresija koristi redundanciju u podacima Vremenska Prostorna Spektralna Psiho-vizualna

Page 3: Multimedijski sustavi

Klasifikacija algoritama

Kompresija s gubicima Kompresija bez gubitaka

Page 4: Multimedijski sustavi

Klasifikacija tehnika kodiranja

Page 5: Multimedijski sustavi

Algoritmi za kompresiju bez gubitaka

Page 6: Multimedijski sustavi

Spriječavanje jednostavnog ponavljanja

Niz:

89400000000000000000000000000000000

Kodira se kao:

894f32

Page 7: Multimedijski sustavi

Kodiranje duljine nizova

111122233333311112222 (1,4),(2,3),(3,6),(1,4),(2,4)

Page 8: Multimedijski sustavi

Nadomještavanje nizova

Broji pojavljivanje nizova Sortiraj u opadajućam nizu Dodijeli neke simbole najčešćim

nizovima

Page 9: Multimedijski sustavi

Temelji teorije informacija

Page 10: Multimedijski sustavi

Shanon-Fano algoritam

Symbol A B C D E

----------------------------------

Count 15 7 6 6 5

Page 11: Multimedijski sustavi

Shanon-Fano algoritam

Symbol Count log(1/p) Code Subtotal (# of bits) Symbol Count log(1/p) Code Subtotal (# of bits) ------ ----- -------- --------- -------------------- ------ ----- -------- --------- -------------------- A A 15 15 11.38 .38 00 00 30 30 B B 7 7 2.48 2.48 01 01 14 14 C C 6 6 2.70 2.70 10 10 12 12 D D 6 6 2.70 2.70 110 110 18 18 E E 5 5 2.96 2.96 111 111 1515 TOTAL (# of bits): 89 TOTAL (# of bits): 89

Page 12: Multimedijski sustavi

Huffmanovo kodiranje

Symbol Count log(1/p) Code Subtotal (# of bits) ------ ----- -------- --------- --------------------

A 15 1.38 0 15 B 7 2.48 100 21 C 6 2.70 101 18 D 6 2.70 110 18 E 5 2.96 111 15

TOTAL (# of bits): 87

Page 13: Multimedijski sustavi

Huffmanovo kodiranje slika

Razdijeli sliku na 8x8 blokove Svaki simbol se mora kodirati Izračunaj Huffmanove kodove za skup

blokova Kodiraj blokove u skladu s time

Page 14: Multimedijski sustavi

Adaptivno Huffmanovo kodiranje

ENCODER DECODER ------- ------- Initialize_model(); Initialize_model(); while ((c = getc (input)) != eof) while ((c = decode (input)) != eof) { { encode (c, output); putc (c, output); update_model (c); update_model (c); } } }

Page 15: Multimedijski sustavi

Adaptivno Huffmanovo kodiranje

Page 16: Multimedijski sustavi

Adaptivno Huffmanovo kodiranje

Page 17: Multimedijski sustavi

Adaptivno Huffmanovo kodiranje

Page 18: Multimedijski sustavi

Lempel-Ziv-Welch algoritam

w = NIL; while ( read a character k ) { if wk exists in the dictionary w = wk; else add wk to the dictionary; output the code for w; w = k; }

Page 19: Multimedijski sustavi

Sažetak kodiranja entropijom

Huffman . preslikava simbole fiksne dužine u kodove varijabilne dužine. Algoritam je optimalan ako su vjerojatnosti simbola potencije od 2.

Arithmetičko k. Preslikava čitavu poruku u niz realnih brojeva temeljenu na statistici. Optimalan je za duge poruke, ali to ovisi o modelu podataka. Može biti zahtjevan za vrijeme procesora i memoriju.

Lempel-Ziv-Welch je matoda kompresije temeljena na rječniku. Preslikava varijabilni broj simbola u kod fiksne dužine.

Adaptivni algoritmi ne traže apriornu prosudbu vjerojatnosti, oni su korisniji u stvarnim aplikacijama.

Page 20: Multimedijski sustavi

Tehnike kodiranja izvora

Kodiranje izvora se temelji na sadržaju originalnog signala (naziva se i semantički temeljeno kodiranje)

Može se ostvaraiti veliki omjer kompresije, ali na račun gubitka informacija. Dobra kompresija se može postići s dobrim kodiranjem izvora bez gubitka ili s malim gubitkom informacija.

Page 21: Multimedijski sustavi

Metode iz frekventne domene

Frekventna domena se dobiva preko transformacije neke domene (vremenske ili prostorne) u drugu (frekventnu) preko

Diskretne kosinusne transformacije (DCT)Fourireove transformacije

Page 22: Multimedijski sustavi

1D primjer

Page 23: Multimedijski sustavi

2D primjer

Slike su puno kompleksnije Sličnost svjetline po jednoj crti se može zapisivati kao skup

mjerenja na istim udaljenostima ili kao skup vrijednosti prostornih frekvencija.

Svaka od ovih frekvencija se naziva frekventna komponenta. Svaka slika je dvodimenzionalni niz mjerenja piksela na

jednolikoj mreži. Ove se informacije opisuju preko dvodimenzionalnih mreža

prostornih frekvencija. Bilo koja frekventna komponenta se može odrediti koji je

doprinos učinjen preko podataka koja se mijenjaju preko specificiranih frekvencija x i y smjerova.

Page 24: Multimedijski sustavi

2D primjer

Page 25: Multimedijski sustavi

2D primjer

Page 26: Multimedijski sustavi

Fourierova teorija

In order to fully comprehend the DCT will do a basic study of the Fourier theory and the Fourier transform first.

Whilst the DCT is ultimately used in multimedia compression it is easier to perhaps comprehend how such compression methods work by studying Fourier theory, from which the DCT is actually derived.

The tool which converts a spatial (real space) description of an image into one in terms of its frequency components is called the Fourier transform

The new version is usually referred to as the Fourier space description of the image.

The corresponding inverse transformation which turns a Fourier space description back into a real space one is called the inverse Fourier transform.

Page 27: Multimedijski sustavi

1D slučaj

Page 28: Multimedijski sustavi

1D slučaj

Page 29: Multimedijski sustavi

2D slučaj

Page 30: Multimedijski sustavi

Diskretna kosinusna transformacija (DCT)

Page 31: Multimedijski sustavi

Diskretna kosinusna transformacija (DCT)

Page 32: Multimedijski sustavi

Diskretna kosinusna transformacija (DCT)

Page 33: Multimedijski sustavi

Diskretna kosinusna transformacija (DCT)

Page 34: Multimedijski sustavi

Diferencijalno kodiranje

fpredict(ti) = factual(ti-1)

Page 35: Multimedijski sustavi

Vektorska kvantizacija

Tok podataka se dijeli na (1D ili 2D kvadratne) blokove - vektore

Tablica ili knjiga kodova se koristi za pronalaženje obrazaca za svaki blok.

Knjiga kodova se može dinamički konstruirati ili predefinirati.

Svaki uzorak za blok se kodira kao vrijednost u tablici Kompresija se postiže ako su podaci dobro podijeljeni

i kodirani na toj razini.

Page 36: Multimedijski sustavi

JPEG kompresija

"Joint Photographic Expert Group" – međunarodni standard iz1992.

Radi se kolor si c/b fotografijama. Puno primjena: sateliti, medicina, itd.

Page 37: Multimedijski sustavi

JPEG kompresija

Page 38: Multimedijski sustavi

Kvantizacija

Zašto nam je potrebna kvantizacija?•Da se odbace bitovi

•Primjer: •101101 = 45 (6 bitova). •Skraćivanje na 4 bita: 1011 = 11. •Skraćivanje na 3 bita: 101 = 5.

•Kvantizacijska greška je glavni izvor kompresije s gubicima.

Page 39: Multimedijski sustavi

Cik-cak kodiranje

Page 40: Multimedijski sustavi

DPCM – diferencijalno pulsno kodna modulacija

Pored DCT primjenjuje se i druga metoda: najmanje DPCM na DC komponenti.

Zašto se mijenja ova strategija? DC komponenta je velika i varira, ali je uvijek blizu

prijašnjoj vrijednosti (poput JPEG bez gubitaka). Kodira razliku od prijašnjih 8x8 blokova - DPCM

Page 41: Multimedijski sustavi

Kodiranje niza znakova

1x64 vektori imaju mnogo nula Kodira se kao (skip, value) parovi, gdje skip označuje

broj bitova s nulama a value je slijedeća ne-nula komponenta.

Poslati (0,0) kao vrijednost koja označuje kraj bloka.

Page 42: Multimedijski sustavi

Kodiranje entropije

DC i AC komponente se konačno moraju prikazati preko manjeg broja bitova.

Kategoriziraje DC vrijednosti u SSS (više bitova treba prikazati) i stvarne bitove.

-------------------- Value SSS

0 0 -1,1 1

-3,-2,2,3 2 -7..-4,4..7 3 ------------ --------

Page 43: Multimedijski sustavi

Kodiranje entropije

Primjer: Ako je DC komponenta 4, potrebna su 3 bita. Poslati SSS kao Huffman simbol, iza kojeg slijedi

stvarna 3 bita. Za AC komponente (skip, value), kodirajte kompozitni

simbol (skip,SSS) koristeći Huffmanovo kodiranje. Huffman tablice mogu biti definirane od korisnika

(šalju se u zaglavlju) ili unaprijed definirane.

Page 44: Multimedijski sustavi

Sažetak JPEG kodiranja

"Frame" je slika, "scan" je prilaz kroz piksele (npr. crvena komponenta), "segment" je grupa blokova, a "block" je 8x8 skupina piksela.

Zaglavlje okvira: preciznost uzorkovanja (width, height) slike s brojem komponenti koji se odnosi na ID (za svaku komponentu), horizontalno/vertikalni faktor uzorkovanja (za svaku komponentu), kvantizacijska tablica koja će se koristiti (za svaku komponentu)

Skenirajte zaglavlje za broj komponenata u njihovom ID-u (za svaku komponentu) Huffmanovu tablicu za svaku komponentu

Ostalo (može se pojaviti između zaglavlja). Kvantizacijska tablica, Huffmanova tablica, tablice za aritmetičko kodiranje, komentari, podaci aplikacije

Page 45: Multimedijski sustavi

Praktična JPEG kompresija

Osnovna/sekvencijalna – opisana je u prijašnjem tekstu

Bez gubitaka Progresivna Hijerarhijska "Motion JPEG" – temeljni JPEG primijenjen na svaku

sliku u videu.

Page 46: Multimedijski sustavi

Video kompresija

Potrebna je opseg od 1.5 Gb/s za HDTV signal (traži se kompresija bolja od 83:1)

Tehnike s gubicima se primijenjuju jer su tehnike bez gubitaka nedovoljne (npr. Huffman, aritmetika, LZW) za slike i video kompresiju, posebno kada je distribucija piksela relativno ravna.

Otklanjanje prostorne redudancije – kodiranje unutar slika (JPEG)

Otklanjanje prostorne i vremenske redundancije – kodiranje unutar i između vremova (H.261, MPEG)

Page 47: Multimedijski sustavi

H. 261 kompresija

H. 261 kompresija se razvila naročito za aplikacije kod videa i telekomunikacije:

Razvijeno je od CCITT od 1988-1990 Služi za video konferencije i videotelefon na ISDN

telefonskim linijama. Osnovni kapacitet jedne linije za ISDN je 64

kbits/sec, koji se zatim multilicira (px64)

Page 48: Multimedijski sustavi

Pregled H. 261 kompresije

Okviri su tipa CCIR 601 CIF (352x288) i QCIF (176x144), slike s 4:2:0 uzorkovanjem. Dva tipa okvira: intraframes (I-frames) i interframes (P-frames) I-okviri koriste osnovni JPEGP-okviri koriste pseudo-differences (pseudo razlike) od prijašnjih okvira (predviđanje), tako da okviri ovise jedan o drugome. •I-okvir na daje jednu točku za početni pristup.

Page 49: Multimedijski sustavi

Unutarokvirno kodiranje

Page 50: Multimedijski sustavi

Unutarokvirno kodiranje

Page 51: Multimedijski sustavi

Unutarokvirno kodiranje

Format makro blokovaFormat makro blokova Adresa makroblova -> Addr INTRA blok -> Type Vrijednost kvantizacije -> Quant Vektor kretanja -> vector Neki se blokovi dobro podudaraju, a ostali slabije. Bitmaska koja pokazuje koji je koji blok (Coded Block Pattern, or CBP)Šalji blokove (4 Y, 1 Cr, 1 Cb) kako kod JPEG-a.

Page 52: Multimedijski sustavi

Međuokvirno kodiranje

Page 53: Multimedijski sustavi

Međuokvirno kodiranje

Page 54: Multimedijski sustavi

Struktura H.261 niza bitova

Page 55: Multimedijski sustavi

Struktura H.261 strukture niza bitova

Page 56: Multimedijski sustavi

Greške u H.261

Postoji nekoliko velikih problema za H.261: Tražanje pokretnih vektora Širenje greške Kontrola brzine prijenosa bitova

Page 57: Multimedijski sustavi

MPEG kompresija

MPEG je akronim za Moving Picture Expert Group, koji su napravili specifikacije za ISO, International Organization for Standardization i IEC, the International Electrotechnical Commission.

"MPEG video" se sastoji od dva konačna standarda, MPEG-11 i MPEG-22, s trećim standardom, MPEG-4, koji je već završen u 1998. za Very Low Bitrate Audio-Visual Coding.

Page 58: Multimedijski sustavi

MPEG-1 kompresija

MPEG-1 je završen 1991. i originalno je optimiran za rad kod rezolucije od 352x240 piksela kod 30 okvira/s (NTSC) ili 352x288 piksela kod 25 okvira/s (PAL), općenito se naziva Source Input Format (SIF) video.

MPEG-1 resolution mogu biti izuzetno velike npr. 4095x4095 kod 60 okvira/s.

Brzina prijenosa je optimirana za aplikacije od oko 1.5 Mb/s, ali može biti korištena za mnogo veće brzine ako treba.

MPEG-1 se definira samo za progresivne okvire, i nema direktne dobiti za video aplikacije s ispreplitanjem (interlaced), kao televizija.

Page 59: Multimedijski sustavi

MPEG-2 kompresija

MPEG-2 je završen 1994. i odnosi se na probleme digitalne televizije, za egfikasno kodiranje videa s ispreplitanjem i skalarnosti. Brzina dostave je povećana na 4 do 9 Mb/s, što omogućuje vrlo veliku kvalitetu videa.

MPEG-2 se sastoji od profila i razina. Profil definira skalabilnost niza bitova i rezoluciju boja, dok razina definira rezoluciju slike i maksimalnu brzinu prijenosa po slici.

Najčešći je profil: Main Profile, Main Level (MP@ML) koji se odnosi na 720x480 rezoluciju kod 30 okvira/s, kod 15 Mb/s za NTSC video.

Postoji još HDTV rezolucija od 1920x1080 piksela kod 30 okvira/s, kod brzine bitove do 80 Mb/s - Main Profile, High Level (MP@HL).

Page 60: Multimedijski sustavi

MPEG video

MPEG dodaje treći okvir koji je bidirekcijski okvir ili B-okvir B-okviri traže makroblokove u prošlim i budućim okvirimaTipičan niz je: IBBPBBPBB IBBPBBPBB IBBPBBPBB

H.261H.261

MPEG-2MPEG-2

Page 61: Multimedijski sustavi

MPEG video slojevi

Page 62: Multimedijski sustavi

Prosudba kretanja

Page 63: Multimedijski sustavi

Prosudba kretanja

Page 64: Multimedijski sustavi

Prosudba kretanja

Page 65: Multimedijski sustavi

MPEG video tok bitova

Page 66: Multimedijski sustavi

Dekodiranje MPEG videa u softeru

------------------------- Function % Time Parsing Bitstream 17.4% IDCT 14.2% Reconstruction 31.5% Dithering 24.5% Misc. Arith. 9.9% Other 2.7% -------------------------

Page 67: Multimedijski sustavi

Standardi MPEG 2, 3 i 4

-------------------------------------------------------------------Level size Pixels/sec bit-rate Application (Mbits) --------------------------------------------------------------------Low 352 x 240 3 M 4 consumer tape equiv.Main 720 x 480 10 M 15 studio TV High 1440 1440 x 1152 47 M 60 consumer HDTV High 1920 x 1080 63 M 80 film production --------------------------------------------------------------------

Page 68: Multimedijski sustavi

Standardi MPEG 2, 3 i 4

Razlike MPEG-2 u odnosu na MPEG-1 Traži po područjima, a ne samo slikama. 4:2:2 i 4:4:4 makroblokovi Okviri su veličine do 16383 x 16383 Promjenjivi načini: temporelni, progresivni Nelinearni kvantizacijski faktori za makroblokove Popravci MPEG-3: originalno za HDTV (1920 x 1080), prešao je u

MPEG-2 MPEG-4: prvobitno za vrlo spore komunikacije (4.8 do

64 Kb/s). Sada se odnosi na video obradu.

Page 69: Multimedijski sustavi

Jednostavna kompresija zvuka

Tradicionalne metode bez kompresije (Huffman, LZW, itd.) ne rade dobro kod video kompresije

Neke metode s gubicima koje se koriste kod audio kompresije: Kompresija tišine - detekcija “tišine", što je slično kodiranju

ponavljanja (run-length coding) Adaptive Differential Pulse Code Modulation (ADPCM) Npr. kod CCITT G.721 - 16 or 32 Kbits/sec. a) Kodira razliku imeđu dva uzastopna signalab) Prilagođava se kod kvantizacije tako da se manje bitova koristi. Linear Predictive Coding (LPC) prilagođava signal prema modelu

govora (zvuči kao kompjuterski govor kodd 2.4 kb/s). Code Excited Linear Predictor (CELP) izvršava LPC, ali prenosi i

oznake o greškama – postiže se kvaliteta audio konferencija kod 4.8 kb/s.

Page 70: Multimedijski sustavi

Ljudski sluh i glas

Ljudski sluh i zvuk Raspon je od 20 Hz do 20 kHz, a najosjetljiviji kod 2

do 4 KHz. Dinamički opseg (najtiši do najglasnijeg) je oko 96 dB Normalni govor je od 500 Hz do 2 kHz Niske frekvencije su samoglasnici i basovi Visoke frekvencije su suglasnici

Page 71: Multimedijski sustavi

Ljudski sluh i glas

Page 72: Multimedijski sustavi

Činjenice

MPEG-1: 1.5 Mb/s za audio i video Oko 1.2 Mb/s za video, a 0.3 Mb/s za audio (Nekomprimirani CD audio je 44,100 uzoraka/s * 16 b/uzorku * 2 kanala > 1.4

Mb/s) Faktor kompresije je u rasponu od 2.7 do 24. S kompresijom od 6:1 (16 bitni stereo se uzorkuje kod 48 KHz se smanji na

256 kb/s) i optimalni uvjeti za slušanje, stručnjaci eksperti ne mogu napraviti razliku između kodiranog i originalnog audio odsječka.

MPEG audio podržava frekvencije uzorkovanja od 32, 44.1 i 48 KHz. Podržavamo jedan ili dva audio kanala u jednom od četiri moda: Monofoni – jedan audio kanal Dualni monofoni – dva neovisna kanala Stereo – za stereo kanale koji dijele bitove, ali ne koriste zajedničko stereo

kodiranje Zajednički stereo – koristi prednosti tkorelacije među kanalima

Page 73: Multimedijski sustavi

Koraci algoritma

Koristite spirale filtere da odijelite audio signale (tj. 48 kHz zvuk) u frekventne subopsege koji aproksimiraju 32 kritična opsega -> sub-band filtering.

Odredite količinu maskiranja za svak opseg uzrokovanog od susjednog opsega korištenjem psihoakustičkog modela (psychoacoustic model).

Ako je jačina signala u području manja od maskirnog praga, nemojte ga kodirati.

U obrnutom slučaju, odredite broj bitova potrebnih za prikaz koeficijenta tako da je šum uveden od kvantizacije manji od maskirnog efekta (sjetite se da 1 kvantizacije doprinosi sa 6 dB šuma).

Format niz bitova.

Page 74: Multimedijski sustavi

Primjer

----------------------------------------------------------------------Band 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Level (db) 0 8 12 10 6 2 10 60 35 20 15 2 3 5 3 1----------------------------------------------------------------------

If the level of the 8th band is 60dB, it gives a masking of 12 dB in the 7th band, 15dB in the 9th. Level in 7th band is 10 dB ( < 12 dB ), so ignore it. Level in 9th band is 35 dB ( > 15 dB ), so send it.

-> Can encode with up to 2 bits (= 12 dB) of quantization error.

Page 75: Multimedijski sustavi

MPEG slojevi

Sloj 1: filter DCT tipa s jednim okvirom i jednakim frekventnim rasponom po području (band). Psihoakustički model koristi samo frekventno maskiranje.

Sloj 2: Koristi tri okvira u filteru (prije, sada, slijedeći u ukupom od 1152 uzoraka). Ovo modelira vremensko maskiranje.

Sloj 3: Bolji kritički filter područja se koristi (njednake frekvencije), psihoakustički model uključuje učinke vremenskog maskiranja, uzimao u obzir stereo redunadanciju i koristi Huffmana

Page 76: Multimedijski sustavi

Slojevi

-------------------------------------------------------------------- Layer Target Ratio Quality @ Quality @ Theoretical bitrate 64 kbits 128 kbits Min. Delay--------------------------------------------------------------------Layer 1 192 kbit 4:1 --- --- 19 ms Layer 2 128 kbit 6:1 2.1 to 2.6 4+ 35 ms Layer 3 64 kbit 12:1 3.6 to 3.8 4+ 59 ms --------------------------------------------------------------------

5 = perfect, 4 = just noticeable, 3 = slightly annoying, 2 = annoying, 1 = very annoying

Real delay is about 3 times theoretical delay

Page 77: Multimedijski sustavi

Streaming audio i video

Streamed audioReal Audio Shockwave .wav files (not video obviously)