MPEG-2 Systems

MPEG-2 Systems とは ?

MPEG-2

MPEG-2 は, MPEG-1 を改良し, 放送用として十分と言える程度の高画質を目指して規格化されました. MPEG-2 は, DVD やデジタル BS 放送などのデータ形式として, 幅広く利用されています.

MPEG-2 Systems

MPEG-2 を多重化して, 伝送するための規格です. 用途別に, MPEG-2 PS (Program Stream) と MPEG-2 TS (Transport Stream) に分類されます.

ES (Elementary Stream)

MPEG-2 システムでは, 符号化された画像や音声データを, ES (Elementary Stream) と呼びます.

PES (Packetized Elementary Stream)

ES を適切なサイズに分割してパケット化したものを PES (Packetized Elementary Stream) と呼びます. PES パケットのヘッダは再生時刻の情報を含むことができるので, これによって, 映像と音声を同期して再生することが可能になります.

PES

MPEG-2 PS

単一のプログラム (同期した映像や音声など)をエラーの可能性が低い環境 (光ディスクや HDD など) であつかうことを想定した形式です, 複数の PES パケットを連結して, 先頭にパックヘッダを付与したものを pack と呼び、さらに複数の pack を連結したものがプログラムストリームとなります.

MPEG-2 TS

同時に 1 つ以上のプログラムを, エラーが発生しうる環境 (放送や通信など) であつかうことを想定したデータ形式です. HLS や MPEG-DASH など, ストリーミングプロトコルで利用されています.

PES パケットを Transport Packet と呼ばれる 188 バイト固定長のパケットへ分割します (188 バイトの場合に, パフォーマンスが最大になるからです). この Transport Packet の連続が, トランスポートストリームとなります. それぞれの Transport Packet には, PID (Packet Identifier) と呼ばれる 13 ビット の情報が含まれます. これは, Transport Packet が何を伝送しているものか示すためのものです. 同一の画像・音声は, それぞれ同じ PID をもつので, Transport Stream を受信した側はそれを利用して, 元の PES(ES)に戻すことができます.

MPEG-2 TS は, エラーが発生しうる環境であつかうことを想定しているので, エラー検出が必要になります. Transport Packet ヘッダには同じ PID 内において値が 1 ずつ増加する continuity_counter という 4 ビットのカウンタがあり, 受信側でこのカウンタの不連続を検出することで, Transport Packet のロスを検出可能しています. また, Transport Packet のヘッダの先頭バイトは, 必ず 0x47 ( sync_byte) 値になっています. これによって, 伝送路上のエラーで受信側が一時的にパケットの先頭を見失ったとしても 188 バイトごとの sync_byte を検出して同期しなおすことで比較的早期に同期を回復することができます.

Transport Packet (TS packet)

リファレンス

Share Comments
comments powered by Disqus