yleiskatsaus MPEG-2-järjestelmiin

  • 05/31/2018
  • 2 luettavat minuutit
    • v
    • m

tässä jaksossa annetaan yleinen, ei-tekninen yleiskuva MPEG-2-järjestelmäkerroksesta. MPEG-2-järjestelmät on standardi, joka määrittelee, miten ääni-ja videovirrat kanavoidaan MPEG-2: ssa.

Alkeisvirta

MPEG-2-kanavointi alkaa yhdellä tai useammalla tavuvirrolla, joita kutsutaan alkeisvirroiksi (es), jotka sisältävät video -, ääni-tai muuta dataa. Esimerkiksi video ES sisältää pakattuja videonkehyksiä, sekä sekvenssin otsakkeita, kuvaryhmän (GOP) otsakkeita ja kaikkea muuta, mitä dekooderi tarvitsee purkaakseen virran. Järjestelmätaso ei määrittele ES-tavuvirran sisältöä.

alkeisvirta hajoaa paketeiksi, jolloin muodostuu paketoitu alkeisvirta (PES). PES-pakettien pituus vaihtelee. Paketin sisältöä kutsutaan hyötykuormaksi. Jokainen PES-paketti sisältää myös otsikon. Multiplexer määrittää 1-tavun stream ID jokaiselle PES; yksittäiset PES-paketit tunnistetaan stream ID paketin otsikko. Ääniraita, stream ID on lomake 110xxxxx. Videon kohdalla stream-tunnuksella on lomake 1110vyy.

MPEG-2-standardi määrittelee kaksi tapaa toimittaa paketoituja alkeisvirtoja: ohjelmavirtoja ja kuljetusvirtoja.

Ohjelmavirrat

Ohjelmavirrat on suunniteltu suhteellisen virheettömiin ympäristöihin, kuten paikalliseen tiedostotallennukseen. Ohjelmavirrassa PES-paketit multipleksoidaan ja järjestetään yksiköiksi, joita kutsutaan pakkauksissa. Kaikki ohjelmavirran PES-virrat synkronoidaan samaan kelloon.

liikennevirrat

liikennevirrat (ts) on suunniteltu epäluotettaviin tai virhealttiisiin ympäristöihin, kuten verkkolähetyksiin. Lisäksi ne voivat sisältää useita ohjelmia, jotka synkronoidaan eri kelloihin. Kuljetusvirta lisää toisen kerroksen pakkaamista — PES-virrat pakataan kuljetusvirtapakettien sisään, joiden kiinteä koko on 188 tavua pakettia kohti. TS-paketit voivat sisältää myös ohjelman tietovirtoja, jotka on kuvattu seuraavassa jaksossa.

jokaisessa TS-paketissa on 4-tavuinen otsikko sekä valinnainen mukautuskenttä, joka sisältää lisää otsikkotietoja. Multiplexer määrittää ohjelman ID (PID) jokaiselle PES stream tai ohjelman tiedot stream. PIDs: ää käytetään ts-pakettien tunnistamiseen samaan tapaan kuin striimaustunnuksia PES-pakettien tunnistamiseen. (Jos kuljetusvirrassa on useita ohjelmia, stream-tunnukset eivät välttämättä ole ainutlaatuisia, mutta PID-tehtävät ovat ainutlaatuisia kuljetusvirrassa.)

Ohjelmakohtaiset tiedot

koska kuljetusvirta voi kuljettaa useita ohjelmia, täytyy olla keino yhdistää eri PES-paketit niihin ohjelmiin, joihin ne kuuluvat. Tämä tapahtuu käyttämällä taulukoita, jotka tunnistavat ohjelmavirtoja. Näitä tietoja kutsutaan yhteisesti Ohjelmakohtaisiksi tiedoiksi (Program Specific Information, psi). Psi-tiedot kuljetetaan TS-paketeissa, aivan kuten PES-tiedot. On olemassa erilaisia PSI-tietoja, kuten:

  • Program Association Table (Pat). PAT on aina määrätty PID 0x000. Jokainen Pat: n merkintä on PID, joka tunnistaa kyseisen ohjelman PMT-paketit (KS.seuraava kohta).

  • Ohjelmakarttataulukko (PMT). Jokainen PMT määrittelee yhden ohjelman. PMT sisältää luettelon puroista; jokaisessa taulukossa annetaan kyseisen virran PID-arvo sekä koodi, joka yksilöi virran tyypin. ISO/IEC 13818-1 määrittelee joitakin standardivirtatyyppejä; lyhennetty luettelo on esitetty seuraavassa taulukossa.

    stream_type kuvaus
    0x01 MPEG-1-video
    0x02 MPEG-2-video
    0x03 MPEG-1 audio
    0x04 MPEG-2 audio
    0x80-0xff User private

    muut MPEG-2: een perustuvat standardit, kuten ATSC, voivat määritellä lisää striimityyppejä ”user private” – alueella. Esimerkiksi ATSC määrittelee 0x81: n Dolby AC-3-ääneksi.

  • ehdollisen pääsyn taulukot (CAT)

  • verkon Tunnistetaulukot (NIT)

MPEG-2-tuki DirectShow ’ ssa