översikt över MPEG-2-System

  • 05/31/2018
  • 2 minuter att läsa
    • s
    • v
    • m

det här avsnittet ger en allmän, icke-teknisk översikt över MPEG-2-Systemlagret. MPEG-2-System är standarden som definierar hur ljud-och videoströmmar multiplexeras i MPEG-2.

elementära strömmar

MPEG-2 multiplexering börjar med en eller flera byte-strömmar, kallade elementära strömmar, som innehåller video, ljud eller annan data. Till exempel innehåller en video ES komprimerade videoramar, Plus sekvenshuvuden, grupp-av-bild (GOP) – rubriker och allt annat som avkodaren behöver för att avkoda strömmen. Systemskiktet definierar inte innehållet i ES byte-strömmen.

en elementär ström bryts upp i paket och bildar en packetiserad elementär ström (PES). PES-paket har variabel längd. Innehållet i paketet kallas nyttolasten. Varje PES-paket innehåller också en rubrik. Multiplexorn tilldelar ett 1-byte stream ID till varje PES; enskilda PES-paket identifieras av stream ID i pakethuvudet. För ljudströmmar har stream ID formen 110xxxxx. För video har stream ID formen 1110yyyy.

MPEG-2-standarden definierar två sätt att leverera packetiserade elementära strömmar: programströmmar och transportströmmar.

Programströmmar

programströmmar är utformade för miljöer som är relativt felfria, till exempel lokal fillagring. I en programström multiplexeras PES-paketen och organiseras i enheter som kallas paket. Alla PES-strömmar i en programström synkroniseras till samma klocka.

Transportströmmar

Transportströmmar (TS) är utformade för opålitliga eller felbenägna miljöer, till exempel nätverkssändningar. De kan också innehålla flera program som är synkroniserade med olika klockor. En transportström lägger till ett andra lager av packetizing-PES-strömmarna är förpackade i transportströmspaket, som har en fast storlek på 188 byte per paket. TS-paket kan också innehålla programinformationsströmmar, som beskrivs i följande avsnitt.

varje TS-paket har en 4-byte-rubrik, plus ett valfritt anpassningsfält som innehåller ytterligare rubrikinformation. Multiplexorn tilldelar ett program-ID (PID) till varje PES-ström eller programinformationsström. PID: erna används för att identifiera TS-paketen, på samma sätt som ström-ID: n identifierar PES-paket. (Om en transportström innehåller flera program kanske inte stream-id: N är unika, men PID-tilldelningarna är unika i transportströmmen.)

programspecifik Information

eftersom en transportström kan bära flera program måste det finnas ett sätt att associera de olika PES-paketen med de program de tillhör. Detta uppnås med hjälp av tabeller som identifierar programströmmarna. Sammantaget kallas dessa data programspecifik Information (Psi). PSI-data transporteras i TS-paket, precis som PES-data. Det finns olika typer av PSI-data, inklusive:

  • program Association Table (PAT). PAT tilldelas alltid PID 0x000. Varje post i PAT är en PID som identifierar PMT-paketen för det programmet (se nästa punkt).

  • Program karta tabell (PMT). Varje PMT definierar ett program. PMT innehåller en lista över strömmar; varje tabellpost ger PID för den strömmen, plus en kod som identifierar strömtypen. ISO / IEC 13818-1 definierar vissa standardströmtyper; en förkortad lista visas i följande tabell.

    stream_type beskrivning
    0x01 MPEG-1 video
    0x02 MPEG-2 video
    0X03 MPEG-1 ljud
    0X04 MPEG-2 ljud
    0x80-0xFF användare privat

    andra standarder som är baserade på MPEG-2, till exempel ATSC, kan definiera ytterligare strömtyper i intervallet ”användar privat”. Till exempel definierar ATSC 0x81 som Dolby AC-3-ljud.

  • villkorad åtkomst tabeller (CAT)

  • Nätverksidentifieringstabeller (NIT)

MPEG-2 stöd i DirectShow