Transportní proud MPEG

MPEG Transport Stream
Přípona souboru.ts, .tsv, .tsa, .m2t[1]
Typ internetového médiavideo/MP2T[2]
Uniform Type Identifierpublic.mpeg-2-transport-stream[3]
TvůrceMPEG
První verze10. července 1995[4]
Poslední verzeISO/IEC 13818-1:2022 (září 2022)
Kontejner proAudio, video, data
RozšířeníM2TS,TOD
Standard(y)ISO/IEC 13818-1, ITU-T Recommendation H.222.0[4]
Otevřený formátano

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

Několik MPEG proudů je zkombinováno, zakódováno a posláno na vysílací anténu. Přijímač analyzuje proud a dekóduje jeden z podproudů.

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]

Formát paketů dílčího transportního proudu
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]
'01' (0x40) = rezervováno pro budoucí použití
'10' (0x80) = šifrováno se sudým klíčem
'11' (0xC0) = šifrováno s lichým klíčem

Adaptation field control 2 0x30 01 – paket obsahuje pouze datové pole,

10 – paket obsahuje pouze adaptační pole,
11 – paket obsahuje adaptační i datové pole,
00 – rezervováno pro budoucí použití [12]

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.
Formát pole Adaptation field
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
Formát pole Adaptation extension
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ů.
Formát datového pole
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.

Používané packet identifiers
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]
  • 0x0010: NIT, ST
  • 0x0011: SDT, BAT, ST
  • 0x0012: EIT, ST, CIT
  • 0x0013: RST, ST
  • 0x0014: TDT, TOT, ST
  • 0x0015: síťová synchronizace
  • 0x0016: RNT
  • 0x0017-0x001B: rezervováno pro budoucí použití
  • 0x001C: inband signalizace
  • 0x001D: měření
  • 0x001E: DIT
  • 0x001F: SIT
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

Podrobnější informace naleznete v článku :en: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

  1. Blu-ray nevyžaduje CBR.
  2. 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.
  3. Pravděpodobně zkratka pro „Transport stream on disc“.
  4. 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.

  1. 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. 
  2. Šablona:Cite IETF
  3. mpeg2TransportStream [online]. Apple Inc. Dostupné online. 
  4. a b c ITU-T. Recommendation H.222.0 (10/14) [online]. October 2014. Dostupné online. 
  5. MPEG-2 Transport Stream [online]. [cit. 2010-06-08]. Dostupné online. 
  6. ATSC transmission [online]. 2005-06-20 [cit. 2012-05-17]. Dostupné online. 
  7. MPEG Systems FAQ [online]. [cit. 2012-05-17]. Dostupné online. 
  8. ATSC MPEG Transport Stream Monitor [online]. [cit. 2012-05-17]. Dostupné online. 
  9. TSReader [online]. 2008-04-07 [cit. 2012-05-17]. Dostupné v archivu pořízeném dne 2010-03-27. 
  10. Information technology – Generic coding of moving pictures and associated audio information: systems [online]. February 2000. Dostupné online. 
  11. Standards – DVB [online]. [cit. 2012-09-11]. Dostupné v archivu pořízeném dne 2011-03-13. 
  12. FAIRHURST, Gorry. MPEG-2 Transmission [online]. [cit. 2018-11-30]. Dostupné v archivu pořízeném dne 2017-08-13. 
  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. 
  14. A Guide to MPEG Fundamentals and Protocol Analysis. [s.l.]: Tektronix Dostupné online. S. 37. 
  15. 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. 
  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. 
  17. Steve Mullen, M2TS primer [online]. Dostupné online. 
  18. Working with JVC Everio MOD & TOD files [online]. Dostupné v archivu pořízeném z originálu dne 2008-10-23. 
  19. How MPEG-TS works [online]. [cit. 2012-05-17]. Dostupné online. Šablona:Self-published inline
  20. Afterdawn.com Glossary – BD-MV (Blu-ray Movie) and BDAV container Archivní kopie na Internet Archive., Retrieved on 26 July 2009
  21. a b Afterdawn.com Glossary – BDAV container, Retrieved on 26 July 2009
  22. Videohelp.com What is Blu-ray Disc and HD DVD? Archivní kopie na Internet Archive., Retrieved on 26 July 2009
  23. Blu-ray Disc Association (August 2004) Blu-ray Disc Format, White paper (PDF) Page 22, Retrieved on 28 July 2009

Související články

Externí odkazy

Šablona:MPEG