550 likes | 816 Views
Kodiranje i kompresija. B. Ždrnja. Kompresija 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 metodom Razlika je kodirana sa 4 bita, uzorkovanje na 8 kHz
E N D
Kodiranje i kompresija B. Ždrnja
Kompresija 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
Kompresija 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
CELP • 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
MPEG-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)
MPEG 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
MPEG 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!
MPEG 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
MPEG audio Demonstracija
Kompresija slike • Velik broj algoritama, koncentracija na dva “glavna”, JPEG za nepokretne i MPEG-Video za pokretne slike
JPEG • 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
Bitonal 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
JPEG • Ž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
JPEG, koraci • Priprema blokova podataka • Korak izvornog kodiranja • diskretna kosinusna transformacija • kvantizacija • Korak entropijskog kodiranja • Run-length kodiranje • Huffman ili aritmetičko kodiranje
Priprema 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
Priprema 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
Diskretna kosinusna transformacija • Transformacija svakog bloka • Svaki blok ima 64 vrijednosti amplitude (ona je funkcija 2 koordinate), a = f(x,y) • Nakon DCT c = g(Fx, Fy)
Diskretna kosinusna transformacija • 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
Kvantizacija • 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
Kvantizacija • 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
Run-length kodiranje koeficijenata • 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
Huffmanovo ili aritmetičko kodiranje • Zadnji korak • Zahtijeva tablicu kodova. • Tehnika aritmetičkog kodiranja
JPEG • Stupanj kompresije čak do 20:1 ili 25:1 • Koristi psihofizičke karakteristike ljudskog oka • Nije za namijenu daljnje analize slika
JPEG Demonstracija
Kompresija 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
Praktič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
Kompresija pokretnih slika • Reference i intracoded frameovi
Kompresija pokretnih slika • Reference frame je frame iz kojega se konstruiraju drugi frameovi • Intracoded frame je frame koji ne nastaje iz bilo kojeg drugog framea
Vektor 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)
Predicted i bidirectional frameovi • 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
Najslič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
Tipične sekvence • IBBBPBBBI • PAL: IBBPBBPBBI • NTSC: IBBPBBPBBPBBI
Kodiranje 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
Kodiranje 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
Pregled MPEG standarda • MPEG-Video • MPEG-Audio • MPEG-System - upotreba dva streama, sinkronizacija • MPEG-conformance testing • MPEG-software coding
MPEG-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)
MPEG-1 • Frame rateovi 30 NTSC, 25 PAL, isti stream • Slike veličine do 4095x4095 pixela
MPEG-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