

[技術資料室] [フォーマット辞典]
[ネットワーク編]
[ハード部屋] [Linuxメモ]
[Javaメモ]
[Dev news]
[映像編] [JPEG]
[DV] [Blu-ray Disc] [XML] [QRコード]
[文字コード] 
フォーマット辞典 MPEG編
Last update
MPEGフォーマット
MPEGとはISO/IEC JTC1/SC29/WG11の通称、そこで作られたのがMPEGフォーマット
MPEG1/MPEG2/MPEG4/MPEG7等がある。
MPEG3はMPEG2の高ビットレート対応のためMPEG2へ統合された
MPEG1はVideo CD、MPEG2は DVD Video、デジタル放送で使われているのが有名。
デコード方式だけが決められていて、圧縮方式は、デコード可能なら自由にしていいらしい?
MPEG-1は、H.261をベースに標準化された。
MPEGの基本は、JPEGである。
MPEG1の音声はLayer I、Layer II、Layer IIIなどがあり、MP3はMPEG1 Layer IIIのことである。
MPEG4の音声はAACだったり、NTTの開発したTwinVQなども採用されている。
データ構造は、C MAGAZINEで解説されているので、ここでもまとめていきたい。
データは、階層構造を取る。 メディアに記録される上のほうのフォーマットだけ見てみようか。
MPEG1
VideoCD用の規格として日本の技術者を中心に作られた。最大768×576 ? プログレッシブのみ。
音声はLayer Ⅰ/Layer Ⅱ/ Layer Ⅲがある。
MPEG2
DVD-Videoや日本などのデジタル放送で使われている。
インターレース形式もサポートしているのだとか。DVDではどっち?
基準周波数 STC、SCR、PCR: 27MHz
MPEG4 Video (Part 2)
MPEG-4には、Part 2のVideo を使ったものとPart 10のAVCを使ったものがあって、Part 10の方が今後の主流なのかな? Part
2のものはほとんど使われていない。
MPEG4 Advanced Video Codec / H.264
Part 10 Advanced Video Codec (AVC)は AVC ITU-T H.264 としても規格化されているのでMPEG-4 AVC
よりも H.264と呼ばれることの方が主流か。
用途別にProfile が数種類あり、一度大きく拡張されていたりする。携帯電話、ワンセグ放送などの転送帯域の狭いものを想定して作られたが、後にアルゴリズムが改良され、テレビ解像度でもMPEG2に比べ圧縮率や画質が大幅に改善された。
Blu-ray DiscではAVC/H.264のMain Profile、High Profile が使われる。
枠的なフォーマット
MPEG2には、MPEG2-TS、MPEG2-PS、MPEG2-ESの各ストリームやSystem 、PESなどの階層があったりなかったり。これらは MPEG-2
Systems の仕様です。
- MPEG2-TS(Transport Stream)
188byte固定長パケット エラー訂正を含め204byteのものもある 複数ストリーム(Program)を収納できる放送に適した形式。Blu-rayもこちら
- MPEG2-PS(Program Stream)
MPEG2ファイル、DVD等々はこの形式?
- MPEG2-PES(Packetized Elementally Stream)
64KBまで
データの各種単位
- 基本的な素の映像または音のデータがES
- 分割してタイム情報などのヘッダつけたのがPES
- で、それを細かくしたのがTS
- 複数まとめたりするのがPSかな。PEもあり?
MPEG2-PESはPESヘッダとPESペイロードにわかれる。TSもTSヘッダとTSペイロードに。 PESをまとめてパック、 パックをまとめてPS。
- ES [生のデータ]
- PES [[ヘッダ][ESを分割したデータ]]
- パック [[PESを区切ったもの]]
- TSペイロード [PESを固定サイズで区切ったもの]
- TS [[TSヘッダ][TSペイロード]]
- PS [[PSヘッダ][パック]]の繰り返し
でいいのかな?
階層
- TS
- PS
- PSヘッダ(パケットヘッダ?) H.222.0 Table 2-33
- システムヘッダ(ストリーム中に1回あればいい?)
- パック
- PESを適当に?区切ったもの
DVDなどは区切らない? ようには見えない
似ていますが、PESの分割方法が固定サイズと意味のあるサイズで違ったりです。どちらもPESを取り出せれば成功ですかね。
頭は 0x000001xx がスタートコードになり、各要素は0x000001ではじまる。データ中には0x000001は出てこないようになっている。
MPEG1 (Video?)の場合
JIS X 4321の2.4.3付近を見てみよう
ISO/IEC 11172レイヤは複数の外包レイヤとISO_11172_end_codeでできている。
- Systems
- 0x000001BA 外包レイヤ
- 0x000001BB 同期多重ヘッダ
- Video
- 0x000001B3 シーケンス層 SHC
- 0x000001B8 GOP層 複数のフレームをまとめて記録
- 0x00000100 ピクチャ層
- 0x00000101 ~
0x000001AF スライス層
で、構造(MPEG1-Video内)
- シーケンス層 [[シーケンスヘッダ][GOP層]]
- GOP層 [[Iピクチャ]または[Gピクチャ]、[Pピクチャ]]
- ピクチャ
- スライス
- マクロブロック
- ブロック
MPEG2の場合
基本的にMPEG1と同じ。GOP層が省略可
以下は合っているかどうか不明
- Systems ? TS ?
- 0x000001B9 Program End Code
- 0x000001BA Packet Start Code
- 0x000001BB system_header_start_code
- Stream id なものたち
- 0x000001BC program_stream_map
- 0x000001BD private_stream_1
- 0x000001BE padding_stream
- 0x000001BF private_stream_2 ? DVDのVOFなどにある
- 0x000001C0 PES Streams (Audio) C0~DF
- ISO/IEC 13818-3(MPEG2 Audio)
- ISO/IEC 11172-3(MPEG1Audio)
- ISO/IEC 13818-7(MPEG2 AAC)
- ISO/IEC 14496-3(MPEG4 Audio)
- 0x000001E0 PES Streams (Video) E0~EF
- ITU-T Rec. H.262 | ISO/IEC 13818-2(MPEG2 Video)
- ISO/IEC 11172-2(MPEG1 Video)
- ISO/IEC 14496-2(MPEG4 Visual)
- 0x000001F0 ECM_stream
- 0x000001F1 EMM_stream
- などなど
- Video
?
- 0x000001B2 User Data Start Code ユーザデータ
- 0x000001B3 シーケンス層
- 0x000001B5 EXT_START_CODE 拡張データ
- 0x000001B8 GOP層
- 0x00000100 ピクチャ層
- 0x00000101 ~
0x000001AF スライス層
H.222.0 Table 2-18
extension_start_code
MPEG2 PSヘッダな構造(単位:ビット)
パケットヘッダ(0x000001BA)
- Packet Start Code(32)
- MPEG2のしるし 01(2)
- SCR(3+1+15+1+15+1)
- SCR ex (9+1)
- 多重化レート(22+2)
- 予約(5)
- スタッフィング長(3)
- スタッフィング・バイト(可変)
- システムヘッダ(あれば)
システムヘッダ(0x000001BB)
- system header start code(32)
- システムヘッダサイズ(16) 残りのサイズ
- (1)
- rate_bound(22)
- (1)
- オーディオチャンネル数(6)
- フラグいろいろ(5)
- ビデオチャンネル数(5)
- 予約(8)
- while (stream_idの頭ビットが1のとき)
予定外に出てきそうなstream_idの一覧?
- stream_id(8)
- '11'(2)
- P-STD_buffer_bound_scale(1) オーディオが0でビデオが1、その他はどっちか?
- P-STD_buffer_size_bound(13)
H.222.0 Table 2-17 はPESの構造
TMPEGEnc 3.0 XPressの出力データ(.mpg)を眺めてみると、2KBごとのPacket Start Code (000001BA)が見られる。
映像のみ出力したもの(.m2v)を見てみると、シーケンス層(000001B3)からはじまっている。
シーケンス層 (MPEG1の場合)
- Sequence Start Code (32bit)
- 画像サイズ 横 (12bit)
- 画像サイズ 縦 (12bit)
- アスペクト比 (テーブル参照) (4bit)
- ピクチャレート (テーブル参照) (4bit)
- ビットレート (18bit)
- Marker Bit 常に1 (1bit)
- 仮想復号器のバッファサイズ (10bit)
- 3ビットいろいろ
- 拡張等いろいろ
エンコード的なこと
I B P Dフレームがある。 I B Pフィールドなんかもある。
Iピクチャ / Iフィールド (Intra-coded Picture)
他のフレーム/フィールドの情報を含まず、単体でデコード可能なフレーム/フィールド
Pピクチャ / Pフィールド
前方のフレームからの予測で作られる。
Bピクチャ / Bフィールド
前方、後方双方からの予測で作られる。
参考
- MPEG1
- ISO/IEC 11172-1:1993 International Standard MPEG-1 Systems (1993)
- ISO/IEC 11172-2:1993
International Standard MPEG-1 Video
- ISO/IEC 11172-3:1993 International
Standard MPEG-1 Audio
- JIS X 4323:1996 MPEG1 音響
- [MP3]
- ISO/IEC 11172-4:1995 適合性試験
- ISC/IEC TR 11172-5:1998 ソフトウェア
- C MAGAZINE 1999年10月号(ソフトバンク出版)
- C
MAGAZINE 2002年11月号
- MPEG2
- ISO/IEC 13818-1:1996 International Standard
MPEG-2 Systems (Nov. 1994)
- ITU-T H.222.0 System (同じもの)
- JIS X 4325:1998 (ISO/IEC 13818-1 を引用しているだけ)
- ISO/IEC 13818-2:1996 International Standard
MPEG-2 Video (Nov. 1994)
- ITU-T H.262 Video (同じもの)
- JIS X 4326:1998
- ISO/IEC 13818-3:1998 International Standard
MPEG-2 Audio (Nov. 1994)
- JIS X 4327:1998 13818-3:1995の引用
- ISO/IEC 13818-4:1998 適合性試験
- ISO/IEC TR 13818-5:1997 ソフトウェア
- ISO/IEC 13818-6:1998 DSM-CC(システム用の拡張規格)
- ISO/IEC 13818-7:1997 International Standard
MPEG-2 Advanced Audio Coding (AAC) (Dec. 1997)
- ISO/IEC 13818-9:1996
MPEG-2 RTI(システム用の拡張規格)
- ISO/IEC 13818-10:1999 MPEG-2 DSM-CC用適合性試験
- C Magazine 2002年12月号
- MPEG4
- JIS X 4332-x 作成中?
- ISO/IEC 14496-1:2001 MPEG-4 システム
- ISO/IEC 14496-2:1999 MPEG-4 ビジュアル
- ISO/IEC 14496-3:1999 MPEG-4 オーディオ
- ISO/IEC 14496-4 MPEG-4 適合性試験
- ISO/IEC 14496-5 MPEG-4 ソフトウェア
- ISO/IEC 14496-6:1999 MPEG-4 DMIF
- ISO/IEC 14496-10 MPEG-4 Advanced Video Coding
- C MAGAZINE 2004年1月号
- 各種
- *IS
*TR 技術報告書
*DTR
*DIS 国際規格原案 Draft International Standard
*FDIS 最終国際規格原案
http://home.catv.ne.jp/dd/pub/book/mpeg.html (必読?)
特許第1869940号 特許2510456号など
ISO/IEC JTC1
MPEG Home
Page
PIONEER
R&D 技術解説
- JIS検索 (JISC/日本工業標準調査会)
- ITU BOOKSHOP でITU仕様が年間3本無料でダウンロードできる 英語
- ITU-T勧告 和訳本 H.222.0, H.262 とか(財団法人・日本ITU協会/ITU-AJ)
- TTCドキュメントデータベース (TTC/社団法人情報通信技術委員会) H.264とかがある。翻訳版らしい


[しいしせねっと]