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 |
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
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) .
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 : |
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í, |
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. |
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 |
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ů. |
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.
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
|
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é
- MPEG přenos médií (MMT)
- Real-time Transport Protocol (RTP)
- Jednosměrné lehké zapouzdření (ULE)
Poznámky
Reference
externí odkazy
- ITU-T H.222.0 | Specifické dokumenty systémů ISO/IEC 13818-1
- Poslední bezplatná kopie specifikace, říjen 2014
- Časté dotazy k systémům MPEG-4
- TSDuck -bezplatný open-source nástroj pro manipulaci s transportními toky MPEG.