MPEG transport stream - MPEG transport stream

MPEG Transport Stream
Přípona názvu souboru
.ts, .tsv, .tsa, .m2t
Typ internetového média
video/MP2T
Vyvinuto MPEG
První vydání 1995 ( 1995 )
Typ formátu Mediální kontejner
Kontejner pro Audio, video, data
Rozšířeno na M2TS , TOD
Standard ISO/IEC 13818-1, doporučení ITU-T H.222.0

MPEG transport stream ( MPEG-TS , MTS ) nebo jednoduše transport stream ( TS ) je standardní formát digitálního kontejneru pro přenos a ukládání zvukových , obrazových a programových a systémových informačních protokolů (PSIP). Používá se ve vysílacích systémech jako DVB , ATSC a IPTV .

Transportní tok určuje formát kontejneru zapouzdřující paketové elementární toky s funkcemi pro opravu chyb a synchronizační vzor pro udržení integrity přenosu, když je komunikační kanál nesoucí proud degradován .

Transportní toky se liší od podobně pojmenovaného programového toku MPEG několika důležitými způsoby: toky programů jsou navrženy pro přiměřeně spolehlivá média, jako jsou disky (jako DVD ), zatímco přenosové toky jsou navrženy pro méně spolehlivý přenos, konkrétně pozemní nebo satelitní vysílání . Transportní tok může dále nést více programů.

Transportní tok je specifikován v MPEG-2 část 1, Systémy , formálně známý jako norma ISO/IEC 13818-1 nebo ITU-T Rec. H.222.0 .

Přehled

Více programů MPEG je spojeno a poté odesláno do vysílací antény. Přijímač analyzuje a dekóduje jeden ze streamů.

Transportní tok zapouzdřuje řadu dalších dílčích toků , často paketových elementárních toků (PES), které zase zabalí hlavní datový tok pomocí kodeku MPEG nebo libovolného počtu kodeků jiných než MPEG (například audio AC3 nebo DTS a MJPEG nebo JPEG 2000 video), text a obrázky s titulky, tabulky identifikující streamy a dokonce i informace specifické pro provozovatele vysílání, například elektronický programový průvodce . Mnoho streamů je často smícháno dohromady, například několik různých televizních kanálů nebo více úhlů filmu.

Každý proud je rozdělen na (nejvýše) 188bajtové sekce a prokládány dohromady; kvůli malé velikosti paketu lze proudy prokládat s menší latencí a větší odolností vůči chybám ve srovnání s toky programů a jinými běžnými kontejnery, jako jsou AVI , MOV / MP4 a MKV , které obecně zabalí každý rámec do jednoho paketu. To je zvláště důležité pro videokonference, kde velké snímky mohou způsobit nepřijatelné zpoždění zvuku.

Transportní streamy bývají vysílány jako konstantní datový tok (CBR) a jsou vyplněny výplňovými bajty, pokud neexistuje dostatek dat.

Elementy

Balíček

Síťový paket je základní jednotkou dat v transportním toku a transportní tok je pouze sekvence paketů. Každý paket začíná synchronizačním bajtem a záhlavím , za kterým mohou následovat volitelná další záhlaví; zbytek paketu se skládá z užitečného zatížení . Všechna pole záhlaví se čtou jako big-endian . Pakety mají délku 188 bajtů, ale komunikační médium může přidat další informace. Velikost 188bajtového paketu byla původně zvolena pro kompatibilitu se systémy Asynchronous Transfer Mode (ATM) .

Částečný formát paketu přenosového proudu
název Počet bitů Bitmask ( big-endian ) Popis
4bajtové záhlaví transportního streamu
Synchronizační bajt 8 0xff000000 Bitový vzor 0x47 (ASCII char 'G')
Indikátor chyby přepravy (TEI) 1 0x800000 Nastavit, když demodulátor nemůže opravit chyby z dat FEC; indikující poškození paketu.
Indikátor spuštění jednotky užitečného zatížení (PUSI) 1 0x400000 Nastavte, když tento paket obsahuje první bajt nové jednotky užitečného zatížení. První bajt užitečného zatížení udává, kde začíná tato nová jednotka užitečného zatížení.

Toto pole umožňuje přijímači, který začal číst střední přenos, vědět, kdy může začít extrahovat data.

Priorita dopravy 1 0x200000 Nastavte, když má aktuální paket vyšší prioritu než ostatní pakety se stejným PID.
PID 13 0x1fff00 Packet Identifier, popisující data užitečného zatížení.
Transport scrambling control (TSC) 2 0xc0 '00' = Nezamíchaný.

Pouze pro DVB-CSA a ATSC DES :
'01' (0x40) = Vyhrazeno pro budoucí použití
'10' (0x80) = Míchané sudým klíčem
'11' (0xC0) = Míchané lichým klíčem

Ovládání adaptačního pole 2 0x30 01 - žádné adaptační pole, pouze užitečné zatížení,

10 - pouze adaptační pole, žádné užitečné zatížení,
11 - adaptační pole následované užitečným zatížením,
00 - REZERVOVÁNO pro budoucí použití

Počitadlo spojitosti 4 0xf Pořadový počet paketů užitečného zatížení (0x00 až 0x0F) v každém proudu (kromě PID 8191)
přírůstkově za PID, pouze pokud je nastaven příznak užitečného zatížení.
Volitelná pole
Adaptační pole proměnná Je -li řízení adaptačního pole 10 nebo 11. Přítomen, viz formát níže.
Data užitečného zatížení proměnná Je -li řízení adaptačního pole přítomno, je 01 nebo 11. Užitečným zatížením mohou být pakety PES, informace specifické pro program (níže) nebo jiná data.
Formát adaptačního pole
název Počet bitů Bitová maska Popis
Délka adaptačního pole 8 Počet bajtů v adaptačním poli bezprostředně za tímto bajtem
Indikátor nespojitosti 1 0x80 Nastavte, zda je aktuální TS paket ve stavu diskontinuity s ohledem buď na čítač kontinuity, nebo na referenci hodin programu
Indikátor náhodného přístupu 1 0x40 Nastavte, kdy lze stream od tohoto bodu dekódovat bez chyb
Indikátor priority elementárního proudu 1 0x20 Nastavit, kdy má být tento stream považován za „vysokou prioritu“
Příznak PCR 1 0x10 Nastavte, když je přítomno pole PCR
Vlajka OPCR 1 0x08 Nastavte, když je přítomno pole OPCR
Vlajka spojovacího bodu 1 0x04 Nastavte, když je k dispozici pole odpočítávání spoje
Transportní příznak soukromých dat 1 0x02 Nastavit, když je k dispozici přenos soukromých dat
Příznak rozšíření adaptačního pole 1 0x01 Nastavit, když jsou k dispozici data rozšíření adaptace
Volitelná pole
PCR 48 Odkaz na hodiny programu, uložený jako základna 33 bitů, 6 bitů vyhrazeno, 9 bitů rozšíření.
Hodnota se vypočítá jako základ * 300 + rozšíření.
OPCR 48 Původní odkaz na hodiny programu. Pomáhá při kopírování jednoho TS do druhého
Odpočítávání spoje 8 Udává, kolik TS paketů z tohoto bodu sestřihu nastane ( dvojkový doplněk podepsán; může být záporný)
Transportujte délku soukromých dat 8 Délka následujícího pole
Přenášejte soukromá data proměnná Soukromá data
Adaptační rozšíření proměnná Viz. níže
Plnění bytů proměnná Vždy 0xFF
Formát rozšíření adaptace
název Počet bitů Bitová maska Popis
Délka prodloužení adaptace 8 0xff00 Délka hlavičky
Příznak legálního časového okna (LTW) 1 0x0080
Příznak sazby po částech 1 0x0040
Bezproblémová spojovací vlajka 1 0x0020
Rezervováno 5 0x001f
Volitelná pole
Sada příznaků LTW (2 bajty)
Platný příznak LTW 1 0x8000
Ofset LTW 15 0x7fff Extra informace pro rebroadcastery k určení stavu vyrovnávacích pamětí, když pakety mohou chybět.
Sada příznaků po částech (3 bajty)
Rezervováno 2 0xc00000
Sazba po částech 22 0x3fffff Rychlost toku měřená v 188bajtových paketech k definování koncového času LTW.
Sada příznaků bezproblémového spoje (5 bajtů)
Typ spoje 4 0xf000000000 Udává parametry spoje H.262.
Přístupová jednotka DTS 36 0x0efffefffe PES DTS spojovacího bodu. Rozděleno jako více polí, 1 značkovací bit (0x1), 15 bitů, 1 značkovací bit, 15 bitů a 1 značkovací bit, celkem 33 datových bitů.
Formát užitečného zatížení
název Počet bitů Bitová maska Popis
Ukazatel užitečného zatížení (volitelně) 8 0xff Je k dispozici pouze v případě, že je nastaven příznak PUSI (Payload Unit Start Indicator).

Udává index po tomto bajtu, ve kterém začíná nová jednotka užitečného zatížení. Jakýkoli bajt užitečného zatížení před indexem je součástí předchozí jednotky užitečného zatížení.

Skutečné užitečné zatížení proměnná Obsah užitečného zatížení.

Identifikátor paketu (PID)

Každá tabulka nebo elementární tok v transportním proudu je identifikován 13bitovým identifikátorem paketu (PID). Demultiplexer výtažky základních toků z transportního toku částečně tím, že hledá pakety označené stejným PID. Ve většině aplikací bude multiplexování s časovým dělením používáno k rozhodování o tom, jak často se konkrétní PID objeví v přenosovém proudu.

Používají se identifikátory paketů
Desetinný Hexadecimální Popis
0 0x0000 Programová asociační tabulka (PAT) obsahuje seznam adresářů všech tabulek map programu
1 0x0001 Tabulka podmíněného přístupu (CAT) obsahuje seznam adresářů všech ITU-T Rec. Toky zpráv správy oprávnění H.222 používané tabulkami map programů
2 0x0002 Tabulka popisu transportního toku (TSDT) obsahuje deskriptory týkající se celkového transportního toku
3 0x0003 Informační tabulka řízení IPMP obsahuje seznam adresářů všech řídicích toků ISO/IEC 14496-13 používaných tabulkami map programů
4–15 0x0004-0x000F Vyhrazeno pro budoucí použití
16–31 0x0010-0x001F Používá metadata DVB
  • 0x0010: NIT, ST
  • 0x0011: SDT , BAT, ST
  • 0x0012: EIT, ST, CIT
  • 0x0013: RST, ST
  • 0x0014: TDT, TOT, ST
  • 0x0015: synchronizace sítě
  • 0x0016: RNT
  • 0x0017-0x001B: vyhrazeno pro budoucí použití
  • 0x001C: signalizace v pásmu
  • 0x001D: měření
  • 0x001E: DIT
  • 0x001F: SIT
32-8186 0x0020-0x1FFA Může být přiřazeno podle potřeby k programování mapových tabulek, elementárních toků a dalších datových tabulek
8187 0x1FFB Používá metadata DigiCipher 2 / ATSC MGT
8188–8190 0x1FFC-0x1FFE Může být přiřazeno podle potřeby k programování mapových tabulek, elementárních toků a dalších datových tabulek
8191 0x1FFF Nulový paket (používá se pro vycpávky s pevnou šířkou pásma)

Programy

Transport stream má koncept programů . Každý program je popsán tabulkou programových map (PMT). Elementární toky spojené s tímto programem mají PID uvedené v PMT. Další PID je spojen se samotným PMT. Například přenosový proud používaný v digitální televizi může obsahovat tři programy, které představují tři televizní kanály. Předpokládejme, že každý kanál se skládá z jednoho video streamu, jednoho nebo dvou audio streamů a všech nezbytných metadat. Přijímač , který si přeje, aby dekódování jednoho ze tří kanálů, pouze musí dekódovat užitečná zatížení každého PID spojené s jeho programu. Může zahodit obsah všech ostatních PID. Transportní proud s více než jedním programem se označuje jako víceprogramový přenosový proud (MPTS). Jeden programový přenosový proud se označuje jako jednoprogramový přenosový proud (SPTS).

Informace specifické pro program

K dispozici jsou 4 tabulky informací o programu (PSI): asociace programu (PAT), mapa programu (PMT), podmíněný přístup (CAT) a informace o síti (NIT). Specifikace MPEG-2 neurčuje formát CAT a NIT.

PCR

Aby dekodér umožnil prezentovat synchronizovaný obsah, jako jsou zvukové stopy odpovídající přidruženému videu, alespoň jednou za každých 100 ms je v adaptačním poli paketu transportního toku MPEG-2 přenášena reference programových hodin (PCR). PID s PCR pro program MPEG-2 je identifikován hodnotou pcr_pid v přidruženém PMT. Hodnota PCR, je -li správně použita, je použita ke generování časování_časování systému v dekodéru. Pokud je dekodér systémových hodin (STC) správně implementován, poskytuje vysoce přesnou časovou základnu, která se používá k synchronizaci elementárních toků zvuku a videa. Časování v MPEG-2 odkazuje na tyto hodiny. Například časové razítko prezentace (PTS) má být relativní k PCR. Prvních 33 bitů je založeno na taktu 90 kHz. Posledních 9 bitů je založeno na taktu 27 MHz. Maximální jitter povolený pro PCR je +/- 500 ns .

Nulové pakety

Některá přenosová schémata, například v ATSC a DVB , ukládají přísné požadavky na konstantní datový tok v přenosovém proudu. Aby se zajistilo, že stream udržuje konstantní datový tok, může multiplexer potřebovat vložit nějaké další pakety. Pro tento účel je vyhrazen PID 0x1FFF. Užitečné zatížení null paketů jsou všechny nuly a od přijímače se očekává, že bude jeho obsah ignorovat.

Použití v digitálních videokamerách

Transport Stream byl původně určen pro vysílání. Později byl upraven pro použití s ​​digitálními kamerami, rekordéry a přehrávači přidáním pole 4bajtového časového kódu (TC) ke standardním 188bajtovým paketům, což mělo za následek 192bajtový paket. Tomu se neformálně říká stream M2TS . Blu-ray Disc Association ji nazývá " BDAV MPEG-2 transport stream ". JVC to nazývalo TOD, když se používalo ve videokamerách s pevným diskem, jako je GZ-HD7 . Časový kód umožňuje rychlý přístup k jakékoli části streamu buď z přehrávače médií, nebo z nelineárního systému pro úpravu videa. Používá se také k synchronizaci video streamů z několika kamer v nastavení více kamer .

Použití v Blu-ray

Názvy videa na discích Blu-ray Disc s podporou nabídky jsou ve formátu Blu-ray Disc Movie (BDMV) a obsahují audio, video a další streamy v kontejneru BDAV, který je založen na formátu transportního streamu MPEG-2. Video ve formátu Blu-ray Disc používá tyto upravené přenosové toky MPEG-2 ve srovnání s datovými proudy DVD, které nemají dodatečnou režii přenosu.

Existuje také formát BDAV (Blu-ray Disc Audio/Visual), alternativa orientovaná na spotřebitele k formátu BDMV používanému pro filmová vydání. Formát BDAV se používá na discích Blu-ray Disc, které lze nahrávat pro záznam zvuku/videa. Disk Blu-ray využívá metodu záznamu přenosového proudu MPEG-2. To umožňuje, aby přenosové toky digitálního vysílání převedeného na BDAV byly zaznamenávány tak, jak jsou, s minimálními změnami paketů. Umožňuje také jednoduchou úpravu stylu střihu toku digitálního vysílání převedeného na BDAV, které je zaznamenáno tak, jak je, a kde lze data upravovat pouhým vyřazením nežádoucích paketů ze streamu. Ačkoli je to zcela přirozené, je integrována funkce pro vysokorychlostní a snadno použitelné načítání.

Viz také

Poznámky

Reference

externí odkazy