Transportní proud MPEG
Přípona souboru | .ts, .tsv, .tsa, .m2t[1] |
---|---|
Typ internetového média | video/MP2T[2] |
Uniform Type Identifier | public.mpeg-2-transport-stream[3] |
Tvůrce | MPEG |
První verze | 10. července 1995[4] |
Poslední verze | ISO/IEC 13818-1:2022 (září 2022) |
Kontejner pro | Audio, video, data |
Rozšíření | M2TS,TOD |
Standard(y) | ISO/IEC 13818-1, ITU-T Recommendation H.222.0[4] |
Otevřený formát | ano |
Transportní proud MPEG (anglicky MPEG transport stream, MPEG-TS, MTS) nebo jednoduše transportní proud (TS) je standardní datový kontejner pro přenos a ukládání zvuku, videa a dat Program and System Information Protocol (PSIP).[5] Používá se v systémech digitálního vysílání, jako je např. DVB, ATSC a IPTV.
Transportní proud definuje formát kontejneru pro zapouzdřování packetized elementary streamu využívajícího samoopravné kódy a synchronizační vzorky pro udržování integrity přenosu kanálem se sníženou kvalitou.
Transportní proudy se od podobně pojmenovaných programových proudů MPEG liší dvěma významnými vlastnostmi: programové proudy jsou navrženy pro velmi spolehlivá media, jako jsou DVD disky, zatímco transportní proudy jsou navrženy pro méně spolehlivé způsoby přenosu, především pro pozemní a satelitní vysílání televize. Transportní proud také může přenášet více programů.
Transportní proud je specifikován ve standardu (příp. doporučení) MPEG-2 Part 1, Systems, formally known as ISO/IEC standard 13818-1 or ITU-T Rec. H.222.0.[4]
Úvod

Transportní proud zapouzdřuje několik obvykle packetized elementary stream (PES) dílčích proudů, které pomocí MPEG kodeku nebo různých ne-MPEG kodeků (např. AC3 nebo DTS audio a MJPEG nebo JPEG 2000 video) naopak zabalují hlavní datový proud, titulky ve formě textu nebo obrázků, tabulky identifikující proudy a dalších informace jako je např. Electronic Program Guide (EPG). Obvykle se kombinuje více proudů, které odpovídají různým televizním kanálům nebo různým pohledům filmu.
Každý proud je rozsekán na části, které jsou umístěny do paketů pevné délky 188 bajtů, které mohou být prokládány s pakety z jiných proudů. Krátké pakety umožňují prokládání proudů s menší latencí a větší odolností proti chybám než u programových proudů a jiných běžných kontejnerů, jako je např. AVI, MOV/MP4 nebo MKV, které zpravidla balí do paketu celý rámec. To je výhodné pro videokonference, kde by velké rámce mohly způsobovat nepřijatelné zpoždění zvuku.
Transportní proudy se obvykle vysílají s konstantní bitovou rychlostí (CBR) s výplňkovými bajty, když není k dispozici dostatek dat.[pozn. 1]
Struktura TS
Paket
Základní datovou jednotkou v transportním proudu je paket; transportní proud je tvořen posloupností paketů. Každý paket začíná synchronizačním bajtem a hlavičkou, za kterou mohou následovat nepovinné hlavičky; zbytek paketu je datové pole. Všechna pole hlavičky používají pořadí big endian. Pakety mají délku 188 bajtů, ale komunikační médium může přidávat další informace.[pozn. 2] Délka 188 bajtů byla zvolena pro kompatibilitu se systémy ATM.[7][8]
Pole | Počet bitů | Bitová maska (big endian) | Popis |
---|---|---|---|
čtyřbajtová hlavička Transport Stream Header | |||
Synchronizační bajt | 8 | 0xff000000
|
Hodnota 0x47 (ASCII znak 'G') |
Transport error indicator (TEI) | 1 | 0x800000
|
Nastaven, pokud demodulátor nebyl schopen pomocí samoopravného kódu opravit chyby; to znamená, že data v paketu jsou poškozena.[9] |
Payload unit start indicator (PUSI) | 1 | 0x400000
|
Nastaveno, pokud tento paket obsahuje první bajt nového datového pole. Pro paketová data PSI první bajt datového pole indikuje, kde toto nové datové pole začíná. V případě paketových dat PES bude nový PES paket začínat na začátku datového pole.[10]
Toto pole umožňuje přijímači, který začal číst uprostřed paketu, najít začátek paketu. |
Transport priority | 1 | 0x200000
|
Nastaven, pokud aktuální paket má vyšší prioritu než jiné pakety se stejným PID. |
PID | 13 | 0x1fff00
|
Packet Identifier, rozlišuje typ datového pole. |
Transport scrambling control (TSC) | 2 | 0xc0
|
Indikace kódovaného (šifrovaného) obsahu: '00' = nešifrováno.
Pro DVB-CSA a ATSC DES:[11] |
Adaptation field control | 2 | 0x30
|
01 – paket obsahuje pouze datové pole, 10 – paket obsahuje pouze adaptační pole, |
Continuity counter | 4 | 0xf
|
Čtyřbitový čítač paketů s datovým polem (0x00 až 0x0F) v rámci proudu (kromě PID 8191) zvyšovaný o jedničku, pokud je nastaven příznak datového pole. |
Nepovinná pole | |||
Adaptation field | proměnná | Přítomné, pokud adaptation field control je 10 nebo 11. Formát je popsán níže. | |
Datové pole (payload data) | proměnná | Přítomné, pokud adaptation field control je 01 nebo 11. Datové pole může obsahovat PES pakety, informace specifické pro program (viz níže) nebo jiná data. |
Pole | Počet bitů | Bitová maska | Popis |
---|---|---|---|
Adaptation field length | 8 | Délka (v bajtech) pole Adaptation field za tímto bajtem | |
Discontinuity indicator | 1 | 0x80
|
Nastaven, pokud je aktuální TS paket ve stavu diskontinuity buď kvůli čítači continuity counter nebo kvůli program clock reference |
Random access indicator | 1 | 0x40
|
Nastaven, pokud lze proud bezchybně dekódovat od tohoto paketu |
Elementary stream priority indicator | 1 | 0x20
|
Nastaven pro proud s „vysokou prioritou“ |
PCR flag | 1 | 0x10
|
Udává přítomnost pole PCR |
OPCR flag | 1 | 0x08
|
Udává přítomnost pole OPCR |
Splicing point flag | 1 | 0x04
|
Udává přítomnost pole splice countdown |
Transport private data flag | 1 | 0x02
|
Nastaven, jsou-li přítomná Transport private data |
Adaptation field extension flag | 1 | 0x01
|
Udává přítomnost rozšíření adaptation extension data |
Nepovinná pole | |||
Program clock reference (PCR) | 48 | Časová reference uložená jako 33bitová báze, 6 rezervovaných bitů a 9 bitů rozšíření. Hodnota je báze * 300 + rozšíření. | |
Original Program clock reference (OPCR) | 48 | Původní PCR. Používá se, je-li jeden TS zkopírován do jiného | |
Splice countdown | 8 | Celé číslo se znaménkem (dvojkový doplněk) udávající, kolik TS paketů je vzdálené místo slepení | |
Transport private data length | 8 | Délka následujícího pole | |
Transport private data | proměnný | Soukromá data | |
Adaptation extension | proměnný | Viz níže | |
Výplňkové bajty | proměnný | Vždy 0xFF
|
Jméno | Počet bitů | Bitová maska | Popis |
---|---|---|---|
Délka pole Adaptation extension | 8 | 0xff00
|
Délka hlavičky |
Legal time window (LTW) flag | 1 | 0x0080
|
|
Piecewise rate flag | 1 | 0x0040
|
|
Seamless splice flag | 1 | 0x0020
|
|
Rezervováno | 5 | 0x001f
|
|
Nepovinná pole | |||
LTW flag set (2 bajty) | |||
LTW valid flag | 1 | 0x8000
|
|
LTW offset | 15 | 0x7fff
|
Zvláštní informace pro určení stavu bufferů při opakovaném vysílání, když mohou chybět některé pakety. |
Piecewise flag set (3 bajty) | |||
Rezervováno | 2 | 0xc00000
|
|
Piecewise rate | 22 | 0x3fffff
|
Bitový tok proudu měřený ve 188bajtových paketech pro určení času konce LTW. |
Seamless splice flag set (5 bajtů) | |||
Splice typ | 4 | 0xf000000000
|
Udává parametry H.262 splice. |
DTS next access unit | 36 | 0x0efffefffe
|
PES DTS místa slepení. Je složen z několika polí: 1 marker bit (0x1), 15 bitů, 1 marker bit, 15 bitů, a 1 marker bit, celkem 33 datových bitů. |
Jméno | Počet bitů | Bitová maska | Popis |
---|---|---|---|
Payload Pointer (nepovinný) | 8 | 0xff | Přítomen pouze, pokud je nastaven příznak Payload Unit Start Indicator (PUSI), a datový typ paketu je PSI (ne PES).
Udává index po tomto bajtu, kde začíná nové datové pole. Bajty před indexem patří do předchozího datového pole. |
Actual Payload | proměnná | Obsah datového pole. |
Paket identificator (PID)
Každá tabulka nebo elementární proud v transportním proudu je identifikován 13bitovou hodnotou Packet identificator (PID). Demultiplexor extrahuje elementární proudy z transportního proudu částečně hledáním paketů identifikovaných stejným PID. Ve většině aplikací se při rozhodování o tom, jak často se určitý PID objeví v transportním toku, použije časový multiplex.
Desítkově | Šestnáctkově | Popis |
---|---|---|
0 | 0x0000 | Program association table (PAT) obsahuje seznam všech tabulek |
1 | 0x0001 | Tabulka pro systém podmíněného přístupu (CAT) obsahuje seznam všech entitlement management message streams podle ITU-T Rec. H.222 používaných v tabulkách program map tables |
2 | 0x0002 | Transport stream description table (TSDT) obsahuje deskriptory pro celý transportní proud |
3 | 0x0003 | IPMP control information table obsahuje seznam všech řídicích proudů ISO/IEC 14496-13 používaných v program map tabulkách |
4–15 | 0x0004-0x000F | Rezervováno pro budoucí použití |
16–31 | 0x0010-0x001F | Používané pro metadata pro DVB[13]
|
32-8186 | 0x0020-0x1FFA | Může být podle potřeby přiřazeno tabulkám program map tables, elementary streams a dalším datovým tabulkám |
8187 | 0x1FFB | Pro MGT metadata v DigiCipher 2/ATSC |
8188–8190 | 0x1FFC-0x1FFE | Může být přiřazeno podle potřeby pro tabulky program map tables, elementary streams a další datové tabulky |
8191 | 0x1FFF | Výplňkový paket (používán vyplnění času pro dosažení pevné bitové rychlosti) |
Programy
Transportní proud používá koncept programů. Každý program je popsán tabulkou program map table (PMT). Elementární proudy daného programu mají hodnoty PID uvedeny v PMT. Další PID je spojen se samotnou tabulkou PMT. Například transportní proud používaný v digitální televizi může obsahovat tři programy, které odpovídají třem televizním kanálům. Kanál je obvykle tvořen jedním video proudem, jedním nebo dvěma audio proudy a metadaty. Přijímač digitální televize, který má dekódovat pouze jeden ze tří kanálů, musí dekódovat obsah všech PID tabulek daného kanálu. Obsah všech jiných PID tabulek může zahazovat. Transportní proud s více než jedním programem se nazývá multi-program transport stream (MPTS). Transportní proud s jedním programem se nazývá single-program transport stream (SPTS).
Program-specific information
Existují 4 tabulky s informacemi pro určitý program (PSI):
- Program Association Table (PAT)
- Program Map Table (PMT)
- Conditional Access Table (CAT)
- Network Information Table (NIT)
Norma MPEG-2 nepopisuje formát tabulek CAT a NIT.
PCR
Pro synchronizaci jednotlivých proudů (aby nedocházelo k posunům mezi audio a video stopou) je v poli adaptation field paketů transportního proudu MPEG-2 nejméně jednou za 100 ms přenášena časová značka program clock reference (PCR). PID s PCR pro MPEG-2 program je identifikován hodnotou pcr_pid v příslušné tabulce PMT. Hodnotu PCR lze použít pro generování systémových hodin (anglicky system_timing_clock) v dekodéru. Dekodér STC poskytuje vysoce přesnou časovou základnu, které se používá pro synchronizaci elementárních proudů se zvukem a videem. Časování v MPEG-2 se odkazuje na tyto hodiny. Například presentation time stamp (PTS) je založen na PCR. Prvních 33 bitů používá hodiny s frekvencí 90 kHz. Posledních 9 bitů používá hodiny s frekvencí 27 MHz. Maximální rozptyl periody (anglicky jitter) pro PCR je ns.
Výplňkové pakety
Některá přenosová schémata, např. v ATSC a DVB, vyžadují konstantní bitovou rychlost transportního proudu. Pro udržení konstantní bitové rychlosti může multiplexor vkládat výplňkové pakety s PID 0x1FFF. Datové pole výplňkových paketů obsahuje bajty s hodnotou 0xFF. Přijímač obsah těchto paketů ignoruje.[14]
Použití v digitálních videokamerách
Transportní proud byl původně navržen pro digitální televizní vysílání (DVB). Pro použití v digitálních videokamerách, rekordérech a přehrávačích byl upraven přidáním čtyřbajtového pole timecode (TC) před standardní 188bajtový paket, takže výsledkem je 192bajtový paket.[15][16] Tento formát neformálně nazývaný M2TS se obvykle používá ve videokamerách High Definition Video (HDV). Blu-ray Disc Association jej nazývá „BDAV MPEG-2 transportní proud“.[15] JVC v HDD kamkordérech jako GZ-HD7 jej nazývá TOD[pozn. 3].[17][18] Časové značky umožňují rychlý přístup k jakékoli části proudu v multimediálním přehrávači nebo v systému pro nelineární editaci videa.[19] Používá se také při vytváření filmů z několika kamer pro synchronizaci video proudů z různých kamer.
Použití v Blu-ray
Videa na Blu-ray Disc s podporou menu jsou ve formátu Blu-ray Disc Film (BDMV) a obsahují zvuk, video a další proudy v kontejneru BDAV, který je založen na formátu transportního proudu MPEG-2.[20][21] Blu-ray videodisky používají tuto modifikaci transportních proudů MPEG-2, které v porovnání s programovými proudy na DVD nemají zvláštní transportní režii.
Existuje alternativa BDMV formátu určená pro vytváření filmů ve formátu BDAV (Blu-ray Disc Audio/Visual) spotřebiteli. BDAV formát se používá na Blu-ray Disc recordable pro záznam audia a videa.[21][pozn. 4] Blu-ray Disc používají metodu záznamu transportního proudu MPEG-2. Ta umožňuje záznam transportních proudů BDAV jak jsou s minimální modifikací paketů.[16] Umožňuje také jednoduchou editaci digitálního vysílání převedeného do formátu BDAV ve stylu střihu proudu, který je zaznamenán tak, jak je, a kdy lze data upravovat pouhým vynecháním nežádoucích paketů z proudu. I když je to zcela přirozené, je zabudována funkce pro rychlé a snadno použitelné vyhledávání.[16][23]
Odkazy
Poznámky
- ↑ Blu-ray nevyžaduje CBR.
- ↑ ISDB a DVB přidává 16bajtový samoopravný kód, ATSC 20bajtový,[6] zatímco formát M2TS přidává před paket čtyřbajtový tag s informací o autorských právech a časovou značkou.
- ↑ Pravděpodobně zkratka pro „Transport stream on disc“.
- ↑ Přípona jména souboru
.m2ts
se používá pro Blu-ray Disc videosoubory, které obsahují nekompatibilní BDAV MPEG-2 Transport Stream s přidanými 4 bajty před každý paket.[15][22]
Reference
V tomto článku byl použit překlad textu z článku MPEG transport stream na anglické Wikipedii.
- ↑ TVNT.net - Le forum de la TNT • [Topic Unique] Akira DHB-B31HDR - Double tuner enregistreur TNT HD - MKV - DIVX - DTS : Les adaptateurs pour recevoir la TNT gratuite en SD ou HD [online]. Dostupné online.
- ↑ Šablona:Cite IETF
- ↑ mpeg2TransportStream [online]. Apple Inc. Dostupné online.
- ↑ a b c ITU-T. Recommendation H.222.0 (10/14) [online]. October 2014. Dostupné online.
- ↑ MPEG-2 Transport Stream [online]. [cit. 2010-06-08]. Dostupné online.
- ↑ ATSC transmission [online]. 2005-06-20 [cit. 2012-05-17]. Dostupné online.
- ↑ MPEG Systems FAQ [online]. [cit. 2012-05-17]. Dostupné online.
- ↑ ATSC MPEG Transport Stream Monitor [online]. [cit. 2012-05-17]. Dostupné online.
- ↑ TSReader [online]. 2008-04-07 [cit. 2012-05-17]. Dostupné v archivu pořízeném dne 2010-03-27.
- ↑ Information technology – Generic coding of moving pictures and associated audio information: systems [online]. February 2000. Dostupné online.
- ↑ Standards – DVB [online]. [cit. 2012-09-11]. Dostupné v archivu pořízeném dne 2011-03-13.
- ↑ FAIRHURST, Gorry. MPEG-2 Transmission [online]. [cit. 2018-11-30]. Dostupné v archivu pořízeném dne 2017-08-13.
- ↑ , 2012. Digital Video Broadcasting (DVB); Specification for Service Information (SI) in DVB systems. v1.13.1. vyd. [s.l.]: [s.n.]. (EN). Dostupné online. S. 20.
- ↑ A Guide to MPEG Fundamentals and Protocol Analysis. [s.l.]: Tektronix Dostupné online. S. 37.
- ↑ a b c BD ROM – Audio Visual Application Format Specifications. [s.l.]: Blu-ray Disc Association, March 2005. Dostupné v archivu pořízeném dne 3 Nov 2020. S. 15–16.
- ↑ a b c BD-RE – Audiovisual Application Format Specification for BD-RE 2.1. [s.l.]: Blu-ray Disc Association, March 2008. Dostupné v archivu pořízeném dne 2009-02-06.
- ↑ Steve Mullen, M2TS primer [online]. Dostupné online.
- ↑ Working with JVC Everio MOD & TOD files [online]. Dostupné v archivu pořízeném z originálu dne 2008-10-23.
- ↑ How MPEG-TS works [online]. [cit. 2012-05-17]. Dostupné online.Šablona:Self-published inline
- ↑ Afterdawn.com Glossary – BD-MV (Blu-ray Movie) and BDAV container Archivní kopie na Internet Archive., Retrieved on 26 July 2009
- ↑ a b Afterdawn.com Glossary – BDAV container, Retrieved on 26 July 2009
- ↑ Videohelp.com What is Blu-ray Disc and HD DVD? Archivní kopie na Internet Archive., Retrieved on 26 July 2009
- ↑ Blu-ray Disc Association (August 2004) Blu-ray Disc Format, White paper (PDF) Page 22, Retrieved on 28 July 2009
Související články
- MPEG media transport (MMT)
- Real-time Transport Protocol (RTP)
- Unidirectional Lightweight Encapsulation (ULE)
Externí odkazy
- ITU-T H.222.0 | ISO/IEC 13818-1 Systems Spec Documents
- Poslední volně dostupná kopie specifikace ze srpna 2018
- MPEG-4 Systems FAQ
- TSDuck – Nástroj s otevřeným zdrojovým textem pro manipulaci s transportními proudy MPEG.
Šablona:MPEG