Preh
ľ
ad základných kontajnerov na prenos AV signálov
„Životný cyklus“ audiovizuálneho príspevku
medzi jednotlivými etapami musia byť štandardné rozhrania na prenos všetkých údajov
Ak požadujeme formát multimediálnych prenositeľný medzi jednotlivými systémami tieto musia mať medzinárodne akceptovaný formát
V najjednoduchšom prípade - jednoduchý jednoúčelový dátový súbor, forma dát (napr. použitý kodek) je presne daná a prehrávač alebo iné zariadenie tento súbor rozpozná a dokáže s ním pracovať (mp3)
Pri vyšších nárokoch na štandardizáciu, možnosti podpory viacerých kodekov, rozšíreným spôsobom popisu údajov doplnkovými dátami alebo ochranným kódovaním používame techniku zapúzdrenia dát do štandardných kontajnerov Kontajner predstavuje unifikované zapúzdrenie audiovizuálneho obsahu, t.j. blokov audio video a
grafických signálov spolu s tzv. metadátami, ktoré
identifikujú prenášaný obsah
Prenášané audiovizuálne dáta môžu byť :
v nekomprimovanom tvare (kontajnery nesúce dáta určené najmä na výrobu snímku)
Metadáta:
povinné, nevyhnutné na identifikáciu formátu a parametrov audiovizuálnych dát nepovinné, nesúce doplnkové informácie o obsahu, autorovi, interpretovi a pod. Voľba typu kontajnera a prípadná kompresia dát sú na sebe závislé, každý typ
kontajnera je kompatibilný len s určitými typmi audiovizuálnych, prípadne zvukových alebo grafických dát:
Základné typy kontajnerov sú založené na všeobecnej štruktúre kontajnera typu RIFF (Resource Interchange File Format):
všetky údaje sú formátované do dátových blokov (Chunks), ktoré majú svoje záhlavia (Tags). Bloky majú svoju hierarchiu, podriadené môžu byť vnorené do nadriadených
Okrem povinných blokov môže byť kontajner doplnený nepovinnými blokmi podľa potrieb používateľa
Pevná organizácia kontajnera zabezpečuje, že nepovinné bloky nemusí cieľová aplikácia dekódovať a používať
Kontajnery na báze RIFF sa používajú pre všetky oblasti multimediálnych prenosov (WAV, AVI, vektorové grafické formáty *.cdr alebo grafický formát Google WebP)
Všeobecná štruktúra bloku kontajnera typu RIFF:
Textové informácie (Identifikátor, formát) sú kódované v ASCII, číselné informácie v šestnástkovej sústave s inverzným zápisom oktetov (tzv. “Little Endian“)
Veľkosť bloku „Dĺžka“ 4 oktety obmedzuje veľkosť kontajneru RIFF na 4 GB (reálne 2 GB)
Audio Video Interleaved, AVI (Microsoft)
Štandard pre kontajnerovanie audio a video signálov
Založený na formáte RIFF (Resource Interchange File format – viď WAV)
Dáta delené na bloky, identifikované cez FourCC kód. Nezávisí na type kodeku. Rozdelenie AVI súborov podľa adresovatelnej dĺžky:
Video for Windows: Obmedzená veľkosť súborov na 2 GB, 16 bit. adresa Direct show: 32 bitová adresa, 4 GB, „Active movie“
Open-DML, AVI 2: 64-bitová adresa FAT32, bez obmedzenia veľkosti a redukcia záhlavia. (XP, VISTA / NTFS)
DV AVI – prenos AV signálu komprimovaného DV kodekom cez AVI kontajner
DV AVI typ 1 – len multiplex V+A+M (nekompatibilné s VfW, tok identifikovaný ako „iavs“ – interleaved AV stream)
DV AVI typ 2 - multiplex V+A+M a prídavný audio súbor (fyzicky alebo logicky, video tok definovaný ako „vids“, audio tok ako „auds“)
DV Multiplexor/splitter – multiplex / rozdelenie A/V
AVI multiplexor/splitter – vkladanie/výber DV muxu do/z AVI kontajnera spolu s metadátami
Zloženie kontajnera AVI:
• záhlavie (FourCC 4 oktety, veľkosť, 4 oktety, musí byť presná)
• dátové pole s premenlivou dĺžkou, ktoré nesie zoznamy
• Zoznamy (Lists) so špecifickou štruktúrou
• Tok AV delený na segmenty (chunks)
Príklad záhlavia kontajnera AVI-1, interleaved audio a video:
00000000 RIFF (0FAE35D4) 'AVI ' 0000000C LIST (00000106) 'hdrl'
00000018 avih (00000038) AVIheader,glob.parametre toku
dwMicroSecPerFrame : 33367 dwMaxBytesPerSec : 3728000 dwPaddingGranularity : 0
dwFlags : 0x810 HASINDEX | TRUSTCKTYPE
dwTotalFrames : 2192 dwInitialFrames : 0 dwStreams : 1 dwSuggestedBufferSize : 120000 dwWidth : 720 dwHeight : 480 dwReserved : 0x0
00000058 LIST (0000006C) 'strl' Stream header
fccType : 'iavs' interleaved A/V fccHandler : 'dvsd' DV 25 dwFlags : 0x0 wPriority : 0 wLanguage : 0x0 undefined dwInitialFrames : 0 dwScale : 100 (29.970 Frames/Sec, NTSC) dwRate : 2997 NTSC dwStart : 0 dwLength : 2192 dwSuggestedBufferSize : 120000 dwQuality : 0 dwSampleSize : 0 rcFrame : 0,0,720,480
000000A4 strf (00000020) subStream – len pri AVI 2
dwDVAAuxSrc : 0x...
DV INFO: Detaily o video a audio toku - DVINFO pole, ktoré nasleduje za záhlavím toku (strh).
Štruktúra DVINFO obsahuje tieto hlavné bloky:
2 audio bloky a k nim príslušné pomocné (AAUX) a riadiace bloky Video pomocný zdrojový súbor (VAUX) a riadiaci súbor.
Príklady údajov v blokoch AAUX a VAUX:
AAUX Source (AS) Pack= - pomocný súbor pre audio
DV Standard DVCR (IEC 61834)
FOURCC dvsl dvsd
System 525-60 625-50 525-60 625-50
LF (1) 1 1 1 1 LOCK=0
Reserved (1) 1 1 1 1
AF SIZE (6) 00:1111 01:0000 00:1111 01:0000 Veľkosť rámca 1280 vzoriek/r SM (1) 0 0 0 0 Stereo=0 CHN (2) 01 01 01 01 Počet kanálov/Blok PA (1) 1 1 1 1 AUDIO MODE (4) Audio Block 1* 0000 0000 0000 0000 Audio Block 2* 0000 0000 1111 1111 Priradenie kanálov k stopám Reserved (1) 1 1 1 1 ML (1) 1 1 1 1 50/60 (1) 0 1 0 1 STYPE (5) 0:0001 0:0001 0:0000 0:0000 Systém 625-50
EF (1) 1 1 1 1 TC (1) 1 1 1 1 SMP (3) 010 010 010 010 Vzork.frekvencia QU (3) 001 001 001 001 LPCM/NLPCM AS Pack Audio Block 1* 0xD1C130CF 0xD1E130D 0 0xD1C030 CF 0xD1E030D0 Audio Block 2* 0x00000000 0x00000000 0xD1C03F CF 0xD1E03FD0
Podobne pre AAUX-CT sú definované parametre ako: Manažment kopírovania
Pôvod materiálu (originál/kópia)
Prehrávacia rýchlosť VTR (normálna/iná...) Štart/stop zvuku a pod.
VAUX Source (VS) Pack – informácie o videosúbore
DVCR Settings
DV Standard DVCR (IEC 61834)
FOURCC dvsl dvsd
System 525-60 625-50 525-60 625-50 TV CHANNEL (8) 1111:1111 1111:1111 1111:1111 1111:1111
B/W (1) 1 1 1 1 Farebný=1
EN (1) 1 1 1 1
CLF (2) 11 11 11 11
TV CHANNEL (4) 1111 1111 1111 1111
SOURCE CODE (2) 11 11 11 11 Zdroj signálu
50/60 (1) 0 1 0 1 snímky
STYPE (5) 0:0001 0:0001 0:0000 0:0000 Typ Signálu TUNER CATEGORY
(8) 1111:1111 1111:1111 1111:1111 1111:1111 VS Pack 0xFFC1FFFF 0xFFE1FFFF 0xFFC0FFFF 0xFFE0FFFF VAUX CS obsahuje:
Manažment kopírovania a príznak Originál/kópia Pomer strán (4:3/16:9)
Informácie o spôsobe šírenia mediálneho produktu....
000000CC LIST (0FADAC00) 'movi'
aktuálne AV dáta, typ kompresie /dc – komprimovaný, db – RGB)
0FADACD4 idx1 (00008900) index konca AVI súboru
Nasledujú nepovinné dáta, indexácia fyzických adries jednotlivých segmentov, 16 oktetov pre každý segment – pozícia a veľkosť segmentu, jeho identifikáciu FourCC, kĺúčové (I) snímky a pod.
Nevýhody AVI:
AVI neprenáša informáciu o tvare pixelu (problém pri 16:9) Nepodporuje B-snímky (hack...)
Relatívne určený čas snímky (vypočítateľný súčinom počtu snímok/s a indexu) – nepresnosť pri oddelenom spracovaní videa a audia
Nemožnosť streamovania po sieti Ostatné metadáta,
prenášané spolu s A/V: Parametre vytvoreného klipu: časový kód,
expozícia, vyváženie bielej,...
Špeciálne prehliadače, umožňujúce zobraziť tieto dáta, napr. DV Media
Player, zobrazujúci metadáta v DV toku:
Ostatné používané formáty kontajnerov VOB (Video Object)
Hlavný kontajner pre DVD-video. Obsahuje multiplex video a audio stopy, titulky a menu.
Plne kompatibilný s MPEG-2 s výnimkou podpory titulkov a pod. Analýza súboru *.VOB pomocou programu vStrip:
Found 0xBF = Private 2 [@LBA 0]
Found VOB-ID: 01/CELL-ID: 01 [@LBA 0]
Encountered encrypted sector, attempting key recovery [@LBA 1] Deduced key: 0xC00374C61C (2/2 vkey(s))
Found 0xE0 = Video 0 [PTS 0:00:00.290 @LBA 1] Hlavný tok s videom
Width = 720 Height = 480
Aspect-ratio = [3] 16:9 display
Frame-rate = [4] 29.97 (30000/1001) fps
Found 0xBD = Private 1, sub 0x80 [PTS 0:00:00.224 @LBA 99] audio1, ac3
Found 0xBD = Private 1, sub 0x81 [PTS 0:00:00.224 @LBA 100] audio2, ac3
Found 0xBD = Private 1, sub 0x82 [PTS 0:00:00.224 @LBA 101] audio3, ac3
Found 0xBD = Private 1, sub 0x83 [PTS 0:00:00.224 @LBA 102] audio4, ac3
Found 0xBE = Padding [@LBA 117]
Found 0xBD = Private 1, sub 0x20 [PTS 0:00:00.724 @LBA 169] subtok1, titulky
Found 0xBD = Private 1, sub 0x21 [PTS 0:00:00.724 @LBA 170]subtok2, titulky
Kontajner MPEG-4 part 14, MP4
Určený na streamovanie audio a video tokov, prednostne kódovaných v MPEG-4. Podpora aj H.264/AVC, MPEG1/2. Audio AAC, MP3, MPEG1 Layer2 a iné.
Súčasťou toku môžu byť titulky (hack)
FourCC (referencie na formáty grafiky, videa, kompresorov,....) – definovanie tokov, kodeku (dvsd – štandardné DV, DX50 DiviX5.0....
Protokolovo nezávislý, nezávislý na prenosovom prostredí (transport/program) Je možné ho prenášať pomocou dátového toku (streamable format)
DivX Media Format (DMF)
„Hacknutý“ Kodek MPEG-4 part 2, podpora prehrávačov závisí od ich výrobcu. DivX 6 zaviedol nový kontajner DMF zahŕňajúci:
Interaktívne menu
Viacjazyčné titulky (XSUB) Viacnásobné zvukové stopy
Viac video streamov (bonusy,...) Kapitoly
Ostatné metadáta (XTAG).
OGM (Ogg Media)
Otvorený kontajnerový formát, multiplex rôznych „open source“ video a audio tokov. Formát sa skladá z blokov, „Chunks“, nazývané „Ogg stránky“
Číslované záhlavia stránok, stránky skladané do setov, ktoré vytvárajú dátový tok Toky ďalej multiplexované
Podpora titulkov, kapitol, rôznych zvukových formátov (MP3, AC3, AAC, LPCM,...) Matroska
Otvorený štandard, zapúzdrenie dát podobné ako AVI alebo ASF. RealMedia
Typicky prenáša RealVideo / RealAudio ako toky kódované s CBR alebo VBR. Založený na formáte QuickTime (mov)
QUICKTIME (Apple) Integrácia videa, audia, textu, grafiky, animácií
Dátové údaje delené na „Atoms“ ktoré môžu byť hierarchicky usporiadané Obsah „Atoms“ je definovaný v hlavičke pomocou FourCC kódu
Zoznamy editačných bodov a priradených súborov v individuálnych zoznamoch (Edit List...)
Advanced Streaming Format ASF
Microsoft Media framework – firemný formát. Najčastejšie používaný na transport tokov Windows Media Video /Audio WMV/WMA.
• Nešpecifikuje aké kodeky sa použijú, len štruktúru toku (teoreticky, prakticky len *.wma/*.wmv),
• Tok tvorí postupnosť objektov oktetovo orientovaných a doplnených záhlavím (GUID Marker)
• Metadáta obsahujú autora, názov, album, žáner,...
• ASF podporuje Digital Right Management – ochranu autorských práv.
• Tok prednostne určený na streamovanie po IP sietí s použitím RTSP
Kontajnery používané na post processing – editáciu A/V súborov Výmena súborov v profesionálnych systémoch
AAF – Advanced Authoring Format
Formát určený na výmenu počas editácie, prednostne všetky údaje potrebné na výrobu, externé odkazy (off-line súbory a pod.
OMF – Open Media framework (Interchange)
Formát nezávislý na platforme, ukladanie všetky digitálne média (A, V, grafiku, animácie) spolu s popisom editácie do výslednej sekvencie. Je možné ho generovať
ako:
• komplexný – obsahuje aj média, alebo
• čiastočne podobný EDL – Electronic Decision List
AIFF – Audio Interchange File Format podobná forma pre zvuk MXF – Material eXchange Format
Kontajnerový formát určený na výmenu hotových médií medzi dátovými nosičmi (HDD, Mg. Streamer,....
AV dáta („Essence“) sú delené na bloky (Content Package), vkladané do kontajnerov Mapovanie blokov do kontajnera založené na:
Mapovaní na úrovni snímok (In frame based) – obsah jednotlivého snímku tvorí kontajner
Mapovanie na úrovni klipu (Clip based) – viac snímkov