overzicht van MPEG-2-systemen

  • 05/31/2018
  • 2 minuten om te lezen
    • s
    • v
    • m

deze sectie geeft een algemeen, niet-technisch overzicht van de MPEG-2 Systeemlaag. MPEG-2 systemen is de standaard die bepaalt hoe audio en video streams worden gemultiplexed in MPEG-2.

elementaire Streams

MPEG-2 multiplexing begint met een of meer bytestreams, elementaire streams (sen) genaamd, die video, audio of andere gegevens bevatten. Bijvoorbeeld, een video ES bevat gecomprimeerde videoframes, Plus sequence headers, group-of-picture (GOP) headers, en alles wat de decoder nodig heeft om de stream te decoderen. De Systeemlaag definieert niet de inhoud van de ES byte-stream.

een elementaire stroom wordt opgedeeld in pakketten en vormt een verpakte elementaire stroom (PES). PES-pakketten hebben variabele lengte. De inhoud van het pakket wordt de payload genoemd. Elk PES-pakket bevat ook een header. De multiplexer kent een 1-byte stream-ID toe aan elke PES; individuele PES-pakketten worden geïdentificeerd door de stream-ID in de pakketheader. Voor audiostreams heeft de stream-ID de vorm 110xxxxx. Voor video heeft de stream-ID de vorm 1110yyyy.

de MPEG-2 standaard definieert twee manieren om packetized elementaire streams te leveren: programma streams en transport streams.

Programmastreams

Programmastreams zijn ontworpen voor omgevingen die relatief foutloos zijn, zoals lokale bestandsopslag. In een programmastream worden de PES-pakketten gemultiplexed en georganiseerd in eenheden die packs worden genoemd. Alle PES-streams in een programmastream worden gesynchroniseerd met dezelfde klok.

Transportstreams

Transportstreams (ts) zijn ontworpen voor onbetrouwbare of foutgevoelige omgevingen, zoals netwerkuitzendingen. Ook kunnen ze meerdere programma ‘ s bevatten die gesynchroniseerd zijn met verschillende klokken. Een transportstream voegt een tweede laag packetizing toe — de PES-streams worden verpakt in transportstreampakketten, die een vaste grootte hebben van 188 bytes per pakket. TS-pakketten kunnen ook programma-informatiestromen bevatten, die in de volgende paragraaf worden beschreven.

elk TS-pakket heeft een 4-byte-header, plus een optioneel adaptatieveld dat extra headerinformatie bevat. De multiplexer wijst EEN programma-ID (PID) toe aan elke PES-stream of programma-informatiestroom. De PID ’s worden gebruikt om de TS-pakketten te identificeren, vergelijkbaar met de manier waarop stream-ID’ s PES-pakketten identificeren. (Als een transportstream meerdere programma ’s bevat, zijn de stream-ID’ s misschien niet uniek, maar de PID-toewijzingen zijn uniek binnen de transportstream.)

programmaspecifieke informatie

omdat een transportstroom meerdere programma ’s kan bevatten, moet er een manier zijn om de verschillende PES-pakketten te associëren met de programma’ s waartoe ze behoren. Dit wordt bereikt met behulp van tabellen die de programmastreams identificeren. Gezamenlijk worden deze gegevens programmaspecifieke informatie (PSI) genoemd. De PSI-gegevens worden in ts-pakketten gedragen, net als de PES-gegevens. Er zijn verschillende soorten PSI-gegevens, waaronder:

  • programma associatie tabel (PAT). De PAT wordt altijd toegewezen aan PID 0x000. Elke regel in de PAT is een PID die de PMT pakketten voor dat programma identificeert (zie volgende item).

  • Programma Kaart tabel (PMT). Elke PMT definieert één programma. De PMT bevat een lijst met streams; elke tabel geeft de PID voor die stream, plus een code die het streamtype identificeert. ISO / IEC 13818-1 definieert enkele standaard stream types; een verkorte lijst wordt getoond in de volgende tabel.

    stream_type Beschrijving
    0x01 MPEG-1 video
    0x02 MPEG-2 video
    0x03 MPEG-1 audio
    0x04 MPEG-2 audio
    0x80 – 0xFF Gebruiker privé

    Andere normen die zijn gebaseerd op MPEG-2, zoals ATSC, kan het vaststellen van extra stroom typen in de “user eigen” bereik. ATSC definieert bijvoorbeeld 0x81 als Dolby AC – 3 audio.

  • voorwaardelijke-Toegangstabellen (CAT.)

  • Netwerkidentificatietabellen (NIT)

MPEG-2-ondersteuning in DirectShow