220 likes | 368 Views
Standardizacija in kakovost informacijskih sistemov. Multimedijski standardi. “Vsebovalniki” ( containers ). Vsebujejo prepletene podatke v več formatih - zvok, slika (video), podnapisi, meta-podatki Način kodiranja vsebine (“kodek”) ni nujno določen z izbiro vsebovalnika
E N D
Standardizacija in kakovost informacijskih sistemov Multimedijski standardi
“Vsebovalniki” (containers) • Vsebujejo prepletene podatke v več formatih - zvok, slika (video), podnapisi, meta-podatki • Način kodiranja vsebine (“kodek”) ni nujno določen z izbiro vsebovalnika • Audio Video Interleave (.avi) • zastarel Microsoftov format iz 1992 • veliko “overheada” pri popularnih kodekih (dveurni AVI je 10MB daljši od Matroške) • težave z B-framei, zvokom z VBR • v osnovi ne podpira podnapisov • ni primeren za točenje (streaming) • vendar: najbolj razširjen, podpirajo ga vsi samostojni predvajalniki • .divx • le nekoliko izboljšan .avi, brez posebnih prednosti
“Vsebovalniki” (containers) • Advanced Systems Format (.asf) • Microsoftov format podoben .aviju, primeren za točenje • Načelno vsebuje poljuben kodek, pogosto wmv/wma • Patentiran; patent uporabljen proti VirtualDub • Podpira Digital Rights Management (juhej!) • Povzetek: format, ki se ga je izogibati • QuickTime (.mov) • Appleov format, podoben AVIju • prva različica 1991 • format se še razvija • danes podpira različne kodeke, B-frame, podnapise, efekte... • osnova za MPEG-4
“Vsebovalniki” (containers) • Matroška (.mkv) • odprt standard • poljubni kodeki • točenje • podnapisi, poglavja... • OGG (.ogg) • odprt • kodek poljuben, vendar navadno Vorbis (zvok) in Theora (video) • omogoča podnapise
“Vsebovalniki” (containers) • vsebovalnik MPEG-4 (.mp4) • Video • MPEG-4 Part 10 (H.264, AVC) • MPEG-4 Part 2 (XViD, DivX... ...) • MPEG-2, MPEG-1 (DVD, satelitska TV) • AAC, MP3, MP2 • .mpg • načelno: MPEG-1 za sliko, MP1-MP3 za zvok • Transport Stream (.ts) • Eden ali več tokov (torej: več filmov) v MPEG-2 • več tokov uporabljajo za satelitsko TV in TV prek interneta • en sam tok se uporablja pri točenju posnetka s spleta • tok je razdeljen na paketke (Packetized Elementary Stream, PES), ki vsebujejo meta-informacije: čas (potreben za sinhronizacijo), program, dodatne informacije (EPG...) • format za prenos po nezanesljivih zvezah • gledati lahko začnemo kadarkoli (ne potrebujemo “headerja” z začetka datoteke) • po prekinitvi (zaradi napak ali izpada zveze) se prenos nadaljuje
MPEG-2 Elementary Encoder Video Source Packetizer MPEG encoded stream Systems Layer MUX Transport Stream MPEG-2 Elementary Encoder Audio Source Packetizer Data Source Packetizer “Vsebovalniki” (containers) Transport Stream (.ts)
Vsebovalniki (“Containers”) • DVD Video-object (.vob) • Določeni kodeki: • Video: MPEG-2 • Zvok: AC3, MPA (MP2), PCM • Podnapisi: .sup (subpicture) • Če ga preimenujemo v .mpg, dobimo .mpg :-) (V bistvu gre za MPEG-2 Program Stream.)
Stiskanje zvoka • Principi stiskanja z izgubo: psihoakustični model • rezanje visokih frekvenc • rezanje tišjih/preglasnih zvokov • časovno maskiranje (tišji zvoki tik pred/po glasnejšem) • maskiranje istočasnih bližnjih frekvenc • Tako delujejo MP3, Ogg, AAC, AC3, ... • MP3 (alias MPEG-1 Layer 3): • kodirnik pobira po 576 ali 192 časovnih vzorcev in glede na stopnjo stiskanje (bit-rate) izbere, katere frekvence bo kodiral in kaj zanemaril • standard opisuje samo dekoder, ne pa kodirnika • kvaliteta zvoka je pri enakih nastavitvah odvisna od kvalitete kodirnika (Lame, Fraunhofer...) (več na: http://www.oreilly.com/catalog/mp3/chapter/ch02.html) • AAC je podoben, vendar 1024 ali 128 vzorcev, več kanalov... • AC3 (Dolby Digital) je nekje vmes
Kodeki – MPEG-1 – MPEG-3 • MPEG-1 (1992) • uporabljen v Video CDjih in Super Video CDjih • samo neprepleten (non-interlaced) video (progressive scan) • prvotno 1.5 Mbit/s, kasneje do 4 Mbit/s • v glavnem ga je zamenjal MPEG-2 • ima tri nivoje zvočne kompresije: • znani “mp3” je pravzaprav “MPEG-1 Audio Layer 3” • mp2 je mp3, ki ne zna izkoriščati redundance med kanali in deli na manj frekvenčnih pasov, zato je potratnejši, a zvestejši • MPEG-2 (ali H.262, 1994) • uporabljen v DVD, satelitski in internetni televiziji • dovolj preprost, da omogoča kvalitetno sprotno kodiranje • podpira prepletanje (interlace) • poljubno hiter (npr. 300 Mbit/s); boljši od MPEG-1 nad 3 Mbit/s • pokrit s 640 patenti 20 podjetij • MPEG-3 • opuščen, ko so ugotovili, da je mogoče učinek izboljšav doseči z malo modifikacijo MPEG-2
Kodeki: MPEG-4 • Zbirka standardov (Behemot!) • Part 1: sinhronizacija in multipleksiranje • Part 2: video (najpomembnejša: Simple Profile, Advanced Simple Profile) • Part 3: avdio • ... • Part 10: video (Advanced Video Coding) • Part 14: vsebovalnik • ... • Part 22: Open Format Font Specification • Ker je tega preveč (vsak del ima kup možnosti), so uvedli “profile”; če predvajalnik podpira Simple Profile, mora imeti te in te funkcije • Patenti: nočna mora MPEG-4 • patenti 26 podjetij, predvsem Applea • obstaja posredniško podjetje, kjer lahko plačaš vse patente vsem podjetjem hkrati... • patenti so glavna cokla pri prodoru MPEG-4 • Večina običajno uporabljanih kodekov (Div 3, DivX, XVid...) je v okviru MPEG-4
Delovanje kodekov MPEG-4 • Slika se obravnava v prostoru YCbCr (osvetljenost/modra/rdeča) – ta barvni prostor sicer izvira iz začetkov barvne televizije, ki je morala biti združljiva s črno belo • Slika je razdeljena na makrobloke velikosti 16x16 točk za barve in 8x8 za svetlobo(profil 4:2:0 – za osvetljenost uporabimo dvakrat toliko bitov kot za barvno informacijo) • Na teh makroblokih se potem izvaja matematika (diskretna fourierova transformacija, kvantizacija, Huffmanovo kodiranje) • Trije tipi okvirov (frameov), I, P in B: • I (intraframe): cela slika, stisnjena (z izgubnim algoritmom) • P (forward predictive): slika samo pove, kaj se je spremenilo od prejšnje slike (denimo 10% velikosti I) • B (bi-directional predictive): pove spremembe v primerjavi s prejšnjo in/ali naslednjo sliko (npr. 1 %) • I odstranjuje prostorsko redundanco (redundanco znotraj slike, intraframe),P in B pa časovno redundanco (redundanco med slikame, interframe) • GOP (Group of Pictures), npr. IBBPBBPBBPBBPBB (tipični DVD) • Framei morajo biti shranjeni v datoteko v takem vrstnem redu, da so framei, na katerih temelji B-frame, pred B frameom • I framei so koristni, ker tam lahko začnemo gledati (oz. je pri montaži tam lahko začetek sekvence) • na B frameu pri montaži ne moremo končati sekvence (ne da bi na novo kodirali) Vse to izvira že iz H.261, ki je osnova MPEG-1
Dodatni triki MPEG-4 • Motion Compensation: pogosto se nek del slike ne spremeni, temveč premakne (skrajni primer: napisi na koncu filma). “Motion Compensation” priredi vsakemu bloku vektor premika • Global Motion Compensation (GMC): upošteva premike kamere • Quarter-Pixel (QPel): kompenzacija premikov se računa z natančnostjo ¼ točke • Običajno samostojni predvajalniki (DVD-predvajalniki, ki znajo brati “DivX/XVix”) ne podpirajo GMC in QPel – bolj ali manj vsi temeljijo na istem Sigminem chipsetu • Vse našteto je del kodiranja H.263 (ali MPEG-4 ASP) • H.263 je v osnovi standard za video prek telefona • H.263 v bistvu opisuje dekompresijo, ne pa kompresije • DivX3, DivX, XviD, 3ivx, navi, angelpotion..., ..., naredijo datoteko, stisnjeno po H.263, razlikujejo pa se v postopku stiskanja • Zato je mogoče film, stisnjen z DivX, načelno gledati z XviD in obratno • Samostojni predvajalniki v resnici ne podpirajo XviD, DivX ipd, temveč samo H.263
Zgodovina DivXa • DivX 3.11alpha je Microsoftov kodek, namenjen samo .asf • Jerome Rota “popravi” to napako; Microsoft je hud • Taisti Rota ustanovi DivXNetworks, začne tržiti DivX4.0 in pozabi omeniti, da je bil to odprtokodni projekt z mnogimi avtorji;ostali sodelavci so hudi • “Užaloščeni ostali” sestavijo XVid • Rotov DivX (takrat že 5.0) se dokončno zagabi z AdWareom (in to najhujšim: Gator) • Danes: • DivX je v verziji 6.0 in nima več SpyWarea (pa tudi uporabnikov ne) • XVid je odprtokodni in da pri isti dolžini datoteke boljšo kvaliteto slike
H.264 in VC-1 • H.264 (ali AVC) je izboljšani H.263 • dovoli, da kodek pri stiskanju razbija 16x16-bloke na še manjše bloke, do 4x4 • cena: • približno dvakrat počasnejše kodiranje • samostojni predvajalniki tega standarda (še) ne podpirajo • tudi Pentium < 1 GHz ima lahko težave pri predvajanju • H.264 je del standardov HD DVD in BluRay ter HDTV,torej se bodo kmalu pojavili in pocenili predvajalniki • VC-1 (Windows Media Video 9) • Alternativa H.264 • Microsoftov kodek (v sodelovanju s 15 drugimi, ki si bodo delili zaslužek od patentov) • Tudi VC-1 je (poleg H.264 in Mpeg-2) kodek v BluRay in HD DVD
DV • Kodek iz 1996, ki ga uporabljajo digitalne video kamere • Precej podoben MPEG-2 s samimi I-framei: • podvzorčevanje barv 4:1:1 • vsaka slika je stisnjena z diskretno Fourierovo transformacijo • ni odpravljanja časovnih redundanc • cca 36 MB/s • v računalnik navadno prenesemo s FireWire in shranimo kot AVI (preden kodiramo naprej)
Original DivX
Original XviD
Original Ateme (AVC)
Original XviD AVC
Original x.264
ASP XviD DivX LMP4 NeroDigital ASP HDX4 AVC 1-2. Ateme, x264 3. Elecard 4-5. XviD AVC, VP7 Primerjava kodekov (po kvaliteti slike) http://www.doom9.org/index.html?/codecs-main-105-1.htm