Přehled systémů MPEG-2
[Funkce přidružená k této stránce DirectShow je starší funkce. Byly nahrazeny MediaPlayer, IMFMediaEnginea Audio/Video Capture v rámci Media Foundation. Tyto funkce jsou optimalizované pro Windows 10 a Windows 11. Microsoft důrazně doporučuje, aby nový kód používal MediaPlayer, MMFMediaEngine a Audio/Video Capture v Media Foundation místo DirectShow, pokud je to možné. Microsoft navrhuje, aby se stávající kód, který používá starší rozhraní API, přepsal, aby se nová rozhraní API používala, pokud je to možné.]
Tato část poskytuje obecný, netechnický přehled vrstvy MPEG-2 Systems. MPEG-2 Systems je standard, který definuje, jak jsou zvukové a video streamy multiplexované v MPEG-2.
elementární toky
Multiplexing MPEG-2 začíná jedním nebo více bajtovými proudy, označovanými jako základní datové proudy (ES), které obsahují video, zvuk nebo jiná data. Například video ES obsahuje komprimované snímky videa a záhlaví sekvence, záhlaví skupin obrázků (GOP) a cokoli jiného potřebného dekódovačem k dekódování streamu. Vrstva Systems nedefinuje obsah datového proudu ES bajtů.
Základní datový proud je rozdělen na pakety, které tvoří paketizovaný elementární proud (PES). Pakety PES mají proměnlivou délku. Obsah balíčku se nazývá datová část . Každý paket PES obsahuje také hlavičku. Multiplexer přiřadí každému PES 1bajtové ID datového proudu; jednotlivé PES pakety jsou identifikovány ID datového proudu v hlavičce paketu. U zvukových datových proudů má ID datového proudu tvar 110xxxxx. Pro video má ID datového proudu ve tvaru 1110yyyy.
Standard MPEG-2 definuje dva způsoby doručování paketovaných základních datových proudů: programové proudy a přenosové proudy.
Programové streamy
Streamy programů jsou navržené pro prostředí, která jsou relativně bez chyb, jako je místní úložiště souborů. V datovém proudu programu jsou pakety PES multiplexované a uspořádané do jednotek označovaných jako balíčky. Všechny streamy PES v datovém proudu programu se synchronizují se stejným časováním.
Transportních datových proudů
Přenosové datové proudy (TS) jsou navržené pro nespolehlivé nebo náchylné k chybám, jako jsou síťová vysílání. Mohou také obsahovat více programů, které jsou synchronizovány s různými hodinami. Přenosový datový proud přidá druhou vrstvu paketování – datové proudy PES jsou zabaleny uvnitř paketů přenosového datového proudu, které mají pevnou velikost 188 bajtů na paket. Pakety TS můžou obsahovat také datové proudy informací o programu, které jsou popsány v následující části.
Každý paket TS má 4 bajtovou hlavičku a volitelné pole pro přizpůsobení, které obsahuje další informace o hlavičce. Multiplexer přiřadí ID programu (PID) ke každému datovému proudu PES nebo datovému proudu informací o programu. Identifikátory PID slouží k identifikaci paketů TS, podobně jako ID datových proudů identifikují pakety PES. (Pokud datový proud přenosu obsahuje více programů, nemusí být ID datových proudů jedinečná, ale přiřazení PID jsou v rámci přenosového datového proudu jedinečná.)
informace specifické pro program
Vzhledem k tomu, že přenosový datový proud může přenášet více programů, musí existovat způsob, jak přidružit různé pakety PES k programům, do nichž patří. Toho se dosahuje pomocí tabulek, které identifikují streamy programu. Souhrnně se tato data nazývají programově specifické informace (PSI). Data PSI se přenášejí v paketech TS, stejně jako data PES. Existují různé typy dat PSI, mezi které patří:
Tabulka přidružení programu (PAT). PAT je vždy přiřazen k PID 0x000. Každá položka v PAT je PID, který identifikuje pakety PMT pro daný program (viz další položka).
Tabulka map programů (PMT). Každé PMT definuje jeden program. PmT obsahuje seznam datových proudů; každá položka tabulky poskytuje PID pro tento datový proud a kód, který identifikuje typ datového proudu. ISO/IEC 13818-1 definuje některé standardní typy proudů; Zkrácený seznam je uveden v následující tabulce.
typ toku Popis 0x01 Video MPEG-1 0x02 Video MPEG-2 0x03 Zvuk MPEG-1 0x04 Zvuk MPEG-2 0x80 – 0xFF Soukromý uživatel Další standardy založené na MPEG-2, například ATSC, mohou definovat další typy datových proudů v rozsahu "user private". ATSC například definuje 0x81 jako zvuk Dolby AC-3.
Tabulky podmíněného přístupu (CAT)
Síťové identifikační tabulky (NIT)
Související témata
-
podpora MPEG-2 v DirectShow