MPEG-2システム
MPEG-2システム(MPEG-2 Systems)とは、MPEG-2を多重化し、伝送するための規格である。ISO/IEC 13818-1およびITU-T勧告H.222.0において標準化されている。MPEG-2システムのフォーマットとして、MPEG-2プログラムストリーム(MPEG-2 PS)とMPEG-2トランスポートストリーム(MPEG-2 TS)の2種類が用いられる。
エレメンタリストリームのパケット化
符号化された画像・音声のそれぞれを、エレメンタリストリーム (ES: Elementary Stream)と呼び、画像ES または 音声ES を適当な大きさに分割してパケット化したものを PES (Packetized Elementary Stream)と呼ぶ。MPEG-2 システム規格では ES の分割の単位について詳しく定義していないが、実際の運用においては、映像ならピクチャ単位、音声ならブロック単位などの意味のある単位ごとに分割することが多い。PES パケットヘッダは再生時刻の情報を含むことができ、これを用いて映像と音声を同期して再生することができる。
PES を多重化し伝送又は蓄積する形式について、プログラムストリーム (Program Stream; PS)と トランスポートストリーム (Transport Stream; TS)の 2 種類が定義されている。
PSとTSはデータ形式が異なるだけであり、相互に画像を無劣化で変換することが可能である。
プログラムストリーム
拡張子 | .mpg .m2p |
---|---|
開発者 | Moving Picture Experts Group |
種別 | 多重化フォーマット |
包含物 | 音声, 映像, テキスト |
国際標準 | ISO |
単一のプログラムを、蓄積メディア等エラーの可能性が低い環境で取り扱うことを想定した形式である。DVD 等の記録形式として使用されている。複数の PES パケットを連結し先頭に パックヘッダ (pack_header)を付与したものを パック (pack) と呼び、さらに複数のパックを連結したものがプログラムストリームとなる。
PS には、映像や音声のPES のほかに、Program Stream map とよばれる各 ES の詳細情報や、Program Stream directory とよばれる再生時刻とビットストリーム上のオフセット値を含む、ランダムアクセスのための情報を挿入することができる。
トランスポートストリーム
拡張子 | .ts .m2t .m2ts |
---|---|
開発者 | Moving Picture Experts Group |
種別 | 多重化フォーマット |
包含物 | 音声, 映像, テキスト |
国際標準 | ISO |
同時に1つ以上のプログラムを、エラーが発生しうる環境で取り扱うことを想定した形式である。日本の地上/BS デジタル放送をはじめとして、世界各国のデジタル放送規格の多くで採用されている。D-VHS や、MiniDV テープに HDTVビデオ映像を記録する HDV 規格や次世代DVD規格でもあるBlu-rayやHD DVD、ハイビジョンテレビ放送を録画するレコーダーなどにも採用されている。
TS においては、PESパケットを トランスポートパケット (Transport Packet; TS packetとも) と呼ばれる 188バイト固定長のパケットへ分割する。このトランスポートパケットの連続が、トランスポートストリームとなる。各TSパケットには パケット識別子 (PID) と呼ばれる13ビットの情報が含まれる。これは各トランスポートパケットのそれぞれが何を伝送しているものか示すためのものである。同一の画像、同一の音声はそれぞれ同じPIDを持つため、TSを受信した側はそれを用いて元のPES (ES) に戻すことが可能である。
TSパケットの先頭4バイトにタイムスタンプ情報を付加して合計192バイトのパケットにしたTSを特に「TTS(Timestamped TS)」と呼び、主に放送局で用いられている。
PSI/SI
TS では複数のプログラムを取り扱うことが可能であるが、そのTSにどのようなプログラムが存在し、TSに含まれる各ES がどのプログラムに属しているかを記した情報 をPSI (Program Specific Information)という。PSI は 動画や音声とは別の PIDを持つ TS パケットとして、TSに挿入される。PSIは、以下のようなものが存在する。特にPID=0のものはPATと呼ばれるほか、PMT,CATなどが存在する。
- PAT(Program Association Table)
- あるTS内に含まれるプログラム一覧を、PMTのPID一覧で格納したのがPATである。PATのPIDは必ず0と決まっている。
- PMT(Program Map Table)
- あるプログラムに含まれる画像や音声などの各PIDを格納したのがPMTである。PMTから画像や音声などのPIDを得ることが出来れば、それらPIDのついたTSパケットを抽出することでプログラムを再生できる。
- CAT(Conditional Access Table)
- 限定受信をサポートする情報が含まれる。CATのPIDは必ず1と決まっている。
MPEG-2 System 規格では PSI のみが記述されているが、MPEG-2 TS を採用する多くのデジタル放送規格では PSI を拡張し、番組情報などを含めた SI (Service Information) が規定されている。
SIはPSIの一部であると見なして、PSI/SI情報としてまとめて扱う場合が多い。また、SIにはEPGのほぼ全てが含まれるので、SI/EPGとまとめて扱う場合も多い。 ARIB がARIB STD-B10で規定する SI には、以下のようなものが存在する。
- NIT(Network Information Table)
- チャンネル番号や変調方式、ガードインターバルなど、送信するネットワークに関する情報が含まれる。NITのPIDは必ず0x10と決まっている。
- BIT(Broadcaster Information Table)
- 放送局識別情報(BSD)や系列情報(地上D)、各SIテーブルの再送周期、SIの掲載期間、ロゴ情報の伝送方法など、放送局のSI送信情報が含まれる。BITのPIDは必ず0x24と決まっている。
- SDT(Service Description Table)
- チャンネルの名称が含まれる。また、各チャンネル(サービス)で送出されるEITの種類、デジタルコピー制御情報も含まれる。SDTのPIDは必ず0x11と決まっている。
- EIT(Event Information Table)
- 番組の名称や放送日時、放送内容など、番組に関連する情報が含まれる。EPGは主にこの情報を用いて作成される。EITのPIDは必ず0x12と決まっている。
- EITはその示す内容により、自局の現在及び次の番組、他局の現在及び次の番組、自局のそれ以外を含む番組、他局のそれら以外を含む番組、の4種類に大別される。自局の現在及び次の番組に関する情報は必ず送出する必要があるが、その他の情報は送出が任意であり、また送出の頻度も重要性に応じて小さくすることができる。
- TOT(Time Offset Table)
- 現在の日付、時刻、およびサマータイムの情報が含まれる。TOTのPIDは0x14と決まっている。
- NBIT(Network Board Information Table)
- 案内等の掲示板情報が含まれる。
- LDT(Linked Description Table)
- 他のテーブルから参照するための情報を集約している。
- TDT(Time Date Table)
- 現在の日付、時刻に関する情報が含まれる。ただし、TOTにはTDTの全ての情報が含まれるため、送信されるのはTDTかTOTのいずれかのみ(PIDは双方とも0x14)と規定されており、実際のところTOTだけが送信されている。
番組より小さい単位(番組内イベント)の内容を記述するための、さらにいくつかの拡張が行われている。
- LIT(Local Event Information Table)
- 番組内イベントに関する情報が含まれる。
- ERT(Event Relation Table)
- 番組、および番組内イベントの関係に関する情報が含まれる。
- ITT(Index Transmission Table)
- 番組内イベントに関係する時刻情報が含まれる。時刻情報はLITにも含まれているが、放送ごとに異なる値が必要になるため、LITとは別に送出される。
ARIB STD-B1,B21では以下のような情報も規定されている。
- SDTT(Software Download Trigger Table)
- デジタル放送受信機の最新ソフトウェア(Engineering Stream Serviceで伝送される)の伝送スケジュールが記載される。本テーブルは、全放送局で全く同一の情報が伝送されている。実際のデータは、ARIB STD-B16で規定されるDCT(Download Control Table),DLT(Download Table)で伝送される。
- CDT(Common Data Table)(地上D)
- EPG画面等で表示される、各サービス毎に対応したロゴ情報が伝送される。ロゴ情報は1サービスあたり6種類(それぞれ大きさが異なるpngファイル)がセクション化され、伝送される。
トランスポートストリームのエラー検出
トランスポートパケットヘッダには、同じ PID 内において値が1ずつ増加する continuity_counter という 4 ビットのカウンタがあり、TS 受信側でこのカウンタの不連続を検出することで トランスポートパケットのロストを検出することができる。また、トランスポートパケットヘッダの先頭バイトは、必ず sync_byte という特定の値(0x47) となっており、伝送路上のエラーで受信側が一時的に パケットの先頭を見失ったとしても、188バイト毎のsync_byte を検出して同期しなおすことで比較的早期に同期を回復することができる。加えて、PSI は CRC チェックサムを必ず含み、PSIのエラーで受信機が混乱することを防いでいる。