MPEG-2システムの概要
- 05/31/2018
- 2 読むべき分
-
- s
- v
- m
このセクションでは、MPEG-2システム層の一般的な、非技術的な概要を説明します。 MPEG-2システムは、MPEG-2でオーディオストリームとビデオストリームをどのように多重化するかを定義する標準です。
Elementary Streams
MPEG-2多重化は、ビデオ、オーディオ、またはその他のデータを含むelementary streams(ES)と呼ばれる1つ以上のバイトストリームで始まります。 たとえば、ビデオESには、圧縮されたビデオフレーム、シーケンスヘッダー、group-of-picture(GOP)ヘッダー、およびストリームをデコードするためにデコーダが必要とする他のものが含まれています。 システム層では、ESバイトストリームの内容は定義されません。
elementary streamはパケットに分割され、packetized elementary stream(PES)を形成します。 PESパケットは可変長を持ちます。 パケットの内容はペイロードと呼ばれます。 各PESパケットには、ヘッダも含まれます。 マルチプレクサはすべてのPESに1バイトのストリームIDを割り当て、個々のPESパケットはパケットヘッダー内のストリームIDによって識別されます。 オーディオストリームの場合、ストリームIDの形式は110xxxxxです。 ビデオの場合、ストリームIDの形式は1110yyyyです。
MPEG-2規格は、パケット化されたエレメンタリーストリームを配信する2つの方法を定義しています。
プログラムストリーム
プログラムストリームは、ローカルファイルストレージなど、比較的エラーのない環境向けに設計されています。 プログラムストリームでは、PESパケットは多重化され、パックと呼ばれる単位に編成されます。 プログラムストリーム内のすべてのPESストリームは、同じクロックに同期されます。
トランスポートストリーム
トランスポートストリーム(TS)は、ネットワークブロードキャストなどの信頼性の低い環境やエラーが発生しやすい環境 また、異なるクロックに同期された複数のプログラムを含めることもできます。 Pesストリームは、パケットあたり188バイトの固定サイズを持つトランスポートストリームパケット内にパッケージ化されます。 TSパケットには、次のセクションで説明するプログラム情報ストリームを含めることもできます。
各TSパケットには、4バイトのヘッダーと、追加のヘッダー情報を含むオプションのadaptationフィールドがあります。 マルチプレクサは、各PESストリームまたはプログラム情報ストリームにプログラムID(PID)を割り当てる。 Pidは、ストリームIdがPESパケットを識別する方法と同様に、TSパケットを識別するために使用されます。 (トランスポートストリームに複数のプログラムが含まれている場合、ストリームIdは一意ではない可能性がありますが、PIDの割り当てはトランスポー)
プログラム固有情報
トランスポートストリームは複数のプログラムを運ぶことができるため、さまざまなPESパケットを所属するプログラムに関連付ける これは、プログラムストリームを識別するテーブルを使用して実行されます。 総称して、このデータは、プログラム固有情報(PSI)と呼ばれます。 PSIデータは、PESデータと同じようにTSパケットで運ばれます。 PSIデータには、次のようなさまざまなタイプがあります:
-
プログラム関連テーブル(PAT)。 PATは常にPID0x000に割り当てられます。 PATの各エントリは、そのプログラムのPMTパケットを識別するPIDです(次の項目を参照)。
-
プログラム地図のテーブル(PMT)。 各PMTは一つのプログラムを定義します。 各テーブルエントリには、そのストリームのPIDと、ストリームの種類を識別するコードが表示されます。 ISO/IEC13818-1では、いくつかの標準ストリームタイプが定義されています。
stream_type 説明 0x01 MPEG-1ビデオ 0x02 MPEG-2ビデオ 0x03 MPEG-1オーディオ 0x04 MPEG-2オーディオ 0x80-0xff ユーザープライベート ATSCのようなMPEG−2に基づく他の規格は、「ユーザプライベート」範囲内の追加のストリームタイプを定義することができる。 たとえば、ATSCは0x81をDolby AC-3オーディオとして定義します。
-
条件付きアクセステーブル(CAT)
-
ネットワーク識別テーブル(NIT)
DirectShowでのMPEG-2サポート