Podatkovni višemedijski prijenos i računalne mreže Kodiranje i kompresija Kodiranje i kompresija Kodiranje i kompresija B. Ždrnja
Jan 16, 2016
Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Kodiranje i kompresijaKodiranje i kompresija
B. Ždrnja
2Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Kompresija zvukaKompresija zvuka
• ITU-TS serija shema kompresije zvuka, G.721, G.722, G.723, G.728
• G.721 preporučuje sažimanje 64 Kbps streama na 32 Kbps, ADPCM metodomRazlika je kodirana sa 4 bita, uzorkovanje na 8 kHz
• G.722 sub-band ADPCM metoda, uzorkovanje 16 kHz, amplituda 14 bita
3Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Kompresija zvukaKompresija zvuka
• G.723 malo korišten, lossy, 24 Kbps
• G.728 mali bit rate, 16 Kbps, bw 3.4 kHz, vektorska kvanzizacija LD-CELP
• GSM standard, telefonija. 13.2 Kbps, uzorkovanje 8 kHz, slaba kvaliteta
4Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
CELPCELP
• Code excited linear prediction
• Opća kompresija glasa, do 4.8 Kbps
• LPC, linear predictive coding, sve do 2.4 Kbps
• Koristi se code-book koji već postoji na oba kraja, prilikom kompresije i dekompresije
• Razlika uzorka se kompresira i šalje sa indeksom u code-booku
5Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
MPEG-AudioMPEG-Audio
• Vrlo visoka kvaliteta• Porodica od tri sheme kodiranja i
kompresije, Layer-1, Layer-2 i Layer-3• Kompleksnost algoritma• Hijerarhijska kompatibilnost• Koristi se kombinacija transformacijskog
kodiranja i pod-kanalnog dijeljenja (sub-band division)
6Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
MPEG audioMPEG audio
• Spektar se dijeli na 32 kanala
• Primjenjuje se brza Fourierova transformacija
• Psiho-akustički model se primjenjuje da bi se ustanovio nivo šuma
• Tri layera razlikuju se u konačnom koraku, kvantizaciji
7Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
MPEG audioMPEG audio
• Bit rateovi od 32 do 448 Kbps
• Uzorkovanje na 32, 44.1 ili 48 kHz
• Dva važna faktora, perceptualna kvaliteta zvuka i performanse kodera
• Lossy kompresija ali može djelovati perceptualno kao lossless!
8Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
MPEG audioMPEG audio
• Layer 1 je pojednostavljena verzija MUSICAM-a, jednostavni enkoderi za 192 - 256 Kbps po kanalu
• Layer 2 je istovjetan MUSICAM standardu, 96 do 128 Kbps po kanalu, stereo približno kvaliteta CD-a
• Layer 3 je kombinacija MUSICAM-a i ASPEC-a (kompresijska shema), 64 Kbps po kanalu, vrlo blizu CD kvaliteti
9Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
MPEG audioMPEG audio
Demonstracija
10Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Kompresija slikeKompresija slike
• Velik broj algoritama, koncentracija na dva “glavna”, JPEG za nepokretne i MPEG-Video za pokretne slike
11Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
JPEGJPEG
• Joint Photographic Expert Group
• Standard za crno-bijele slike sa sivim prijelazom ili slike u boji
• Koristi kombinaciju DCT, kvantizaciju, run-length i huffmanovog kodiranja
• Više načina rada, lossless i lossy kompresija
• Dvo-tonske slike i slike sa prijelazom boja
12Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Bitonal slikeBitonal slike
• Group 3 facsimile standard
• Prethodni Group 1 i Group 2
• Group 4 standard, bolja kvaliteta ali zahtijeva veći bit stream, 56 ili 64 Kbps
• JBIG - ISO standard sličan JPEG-u, više načina rada
13Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
JPEGJPEG
• Želi se pokriti što više kvaliteta slike, na ponašanje kodera moguće je utjecati parametrima
• Sekvencijalno kodiranje, single scan, lossy
• Progresivno kodiranje, višestruki scan, lossy
• Lossless kodiranje
• Hijerarhijsko kodiranje
14Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
JPEG, koraciJPEG, koraci
• Priprema blokova podataka
• Korak izvornog kodiranja• diskretna kosinusna transformacija• kvantizacija
• Korak entropijskog kodiranja• Run-length kodiranje• Huffman ili aritmetičko kodiranje
15Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
JPEG, koraciJPEG, koraci
16Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Priprema blokovaPriprema blokova
• Svaki pixel slike predstavljen je sa komponentama (RGB, YUV ...)
• JPEG radi sa do 255 komponenti (zbog nepoznate veličine slike i sub-samplinga)
• DCT se provodi samo na pojedinim blokovima, svaki se blok tretira pojedinačno.
• Matrice veličine 8 x 8
17Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Priprema blokovaPriprema blokova
18Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Priprema blokovaPriprema blokova
• Primjer: slika predstavljena sa tri komponente, Y, U, V
• Veličina slike neka je 640 x 480 pixela• Luminance je matrica 640 x 480, boje su
matrice 320 x 240 (4:1:1)• Priprema blokova će predati DCT-u 4800
blokova svjetline i dva puta 1200 blokova boje.• Non-interleaved, left->right, top->bottom
19Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Diskretna kosinusna Diskretna kosinusna transformacijatransformacija
• Transformacija svakog bloka
• Svaki blok ima 64 vrijednosti amplitude (ona je funkcija 2 koordinate), a = f(x,y)
• Nakon DCT c = g(Fx, Fy)
20Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Diskretna kosinusna Diskretna kosinusna transformacijatransformacija
21Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Disktretna kosinusna Disktretna kosinusna transformacijatransformacija
22Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Diskretna kosinusna Diskretna kosinusna transformacijatransformacija
• Primjer sa monokromatskom slikom
• 8 x 8 blokovi, signal je gotovo konstantan između pixela
• Nulta frekvencija je visoka, signal se ne mijenja u smjerovima
• Povučemo liniju
• U nekim blokovima visoka promjena
• Takve slike nisu za JPEG
23Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
KvantizacijaKvantizacija
• Do sada nije izgubljeno ništa informacije o slici
• Normalizacija svakog koeficijenta DCT dijeljenjem sa nekom vrijednošću
• Kvantizacijska tablica• Ovaj korak je moguće parametrizirati• Kvantizacijska tablica sa jedinicama ne
mijenja vrijednost koeficijenata
24Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
KvantizacijaKvantizacija
• Cilj je postići daljnju kompresiju predstavljenjem DCT koeficijenata određenom točnošću
• Tablica predstavlja parametre gubitaka slike
• Povećanje vrijednosti koeficijenata tablice povećava stupanj kompresije
25Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
KvantizacijaKvantizacija
26Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Run-length kodiranje Run-length kodiranje koeficijenatakoeficijenata
• Nakon kvantizacije samo pojedini koeficijenti su “preživjeli”
• Ne šalju se liniju po liniju, jer run-length kompresira sukcesivne vrijednosti
• Optimalni slijed je cik-cak sekvenca (zig-zag sequence) budući da su veće vrijednosti u gornjem lijevom kutu a manje u donjem desnom
27Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Run-length kodiranjeRun-length kodiranje
28Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Huffmanovo ili aritmetičko Huffmanovo ili aritmetičko kodiranjekodiranje
• Zadnji korak
• Zahtijeva tablicu kodova.
• Tehnika aritmetičkog kodiranja
29Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
JPEGJPEG
• Stupanj kompresije čak do 20:1 ili 25:1
• Koristi psihofizičke karakteristike ljudskog oka
• Nije za namijenu daljnje analize slika
30Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
JPEGJPEG
Demonstracija
31Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Kompresija pokretnih slikaKompresija pokretnih slika
• Eliminiranje ponavljanih informacija
• Prostorna redundancija, odnosi se na pojedine slike, obično se koristi tehnika JPEG-a
• Vremenska redundancija, odnosi se na redundanciju između frameova, obično se koristi DCPM tehnika
32Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Praktični tipovi kompresijaPraktični tipovi kompresija
• Implementacije koje koriste samo prostornu redundanciju, motion JPEGPrednost je da gubitak frame tijekom prijenosa ne utječe na ostatakSmanjeni compression delay (8 - 10 M)
• Implementacije koje koriste i prostorne i vremenske redundancijeViši stupnjevi kompresijePostoji compression delay
33Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Kompresija pokretnih slikaKompresija pokretnih slika
• Reference i intracoded frameovi
34Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Kompresija pokretnih slikaKompresija pokretnih slika
• Reference frame je frame iz kojega se konstruiraju drugi frameovi
• Intracoded frame je frame koji ne nastaje iz bilo kojeg drugog framea
35Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Vektor pokreta i makroblokoviVektor pokreta i makroblokovi
• Neki blok koji je postojao u F1 nalazi se također i u F2.
• U ovom slučaju efikasno je prenijeti samo vektor koji pokazuje prostorni pomak tog bloka
• Takvi blokovi nazivaju se matching blocks• U MPEG-1 16x16 blokovi za svjetlinu i
8x8 za boje (makroblok)
36Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Vektor pomaka (motion Vektor pomaka (motion vector)vector)
37Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Predicted i bidirectional Predicted i bidirectional frameoviframeovi
• Neka F3 ima makroblok zajednički sa F1. Ako je on konstruiran samo od F1 nazivamo ga predicted frameom (P)
• F2 ima zajedničke makroblokove sa F3 i F1. Da bi konstruilari F2, F1 i F3 moraju biti bufferirani. F2 se naziva bidirectional frameom (B) koji je konstruiran iz dva smjera
38Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Predicted i bidirectional Predicted i bidirectional frameoviframeovi
39Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Najsličniji makroblokNajsličniji makroblok
• Best matching macroblock algoritmi• Ako nije jednak, računa se aritmetička
razlika između stvarnog i najsličnijeg makrobloka
• Razlika se naziva error term• Pojedini makroblokovi nemaju
zadovoljavajućih i moraju se kodirati u I-frameove
40Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Intracoded i predicted Intracoded i predicted frameoviframeovi
41Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Intracoded, predicted i Intracoded, predicted i bidirectional frameovibidirectional frameovi
42Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Tipične sekvenceTipične sekvence
• IBBBPBBBI
• PAL: IBBPBBPBBI
• NTSC: IBBPBBPBBPBBI
43Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Kodiranje I-frameovaKodiranje I-frameova
• Slično lossy kodiranju JPEG-a
• Svjetlina i boje se dijele u blokove 8 x 8
• Svaki blok se transformira DCT
• Provođenje kvantizacije
• Cik-cak run-length kodiranje
• Huffman-like kodiranje
44Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Kodiranje I-frameovaKodiranje I-frameova
45Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Kodiranje P- i B-frameovaKodiranje P- i B-frameova
• Za svaki makroblok traži se najsličniji u referentnom frameu
• Računa se razlika, kao i motion vector
• Error term koji je matrica se DCT
• Provodi se kvantizacija, cik-cak run-length i Huffmanovo kodiranje
• Kvantizacijska tablica je različita od one kod JPEG-a
• Motion vector se kodira DPCM-om
46Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Kodiranje P- i B-frameovaKodiranje P- i B-frameova
47Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
Pregled MPEG standardaPregled MPEG standarda
• MPEG-Video
• MPEG-Audio
• MPEG-System - upotreba dva streama, sinkronizacija
• MPEG-conformance testing
• MPEG-software coding
48Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
MPEG-1MPEG-1
• Kodiranje pokretnih slika i zvuka do 1.5 Mbps
• Ako audio kanal troši 200-250 Kbps, na sliku ostaje 1.15 ili 1.2 Mbps
• Srednja kvaliteta, 352x240 za NTSC ili 352x288 za PAL
• 4:1:1 odnos (176x120 za boje NTSC ili 176x144 PAL)
49Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
MPEG-1MPEG-1
• Frame rateovi 30 NTSC, 25 PAL, isti stream
• Slike veličine do 4095x4095 pixela
50Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
MPEG-2MPEG-2
• Generičko kodiranje pokretne slike i zvuka
• Mogućnost više audio signala, stream do 10 Mbps
• Optimalno za veličine 720x480 (svjetlina) i 360x480 boja
• Može radiit u progresivnom ili interlaced scan modu
51Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
MPEG-3MPEG-3
• Napušten, namjena za HDTV• MPEG-2 uključuje namjenu HDTV• MPEG-2 predstavlja porodicu kompresijskih
shema koje su međusobno kompatibilne• Shemu razlikuje profil i nivo• Profil specificira korišteni algoritam• Nivo specificira parametre poput
uzorkovanja, veličine frame-a itd.
52Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
MPEG-2 nivoiMPEG-2 nivoi
• Niski: CIF, 352x288 uzoraka/frameu, odgovara VCR kvaliteti
• Glavni: 720x480, studijska kvaliteta
• Visoki-1440 nivo: 1440x1152, nazivan “potrošačkim HDTV”
• Visoki: 1920x1080
53Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
MPEG-4MPEG-4
• Drastično smanjenje bit ratea uz još uvijek prihvatljivu kvalitetu
• 4.8 do 64 Kbps
• QCIF veličina framea
• Namijenjen za video konferenciranje na vrlo niskim bit rateovima
54Pod
atko
vni v
išem
edi
jski
pri
jeno
s i r
aču
naln
e m
reže
K
odira
nje
i ko
mpr
esija
MPEG-VideoMPEG-Video
Demonstracija