2006年02月09日

AVC/h.264規格 オーバービュー 4. プロファイルとレベル

【原文】Introduction paper to H.264/MPEG-4 AVC including the Fidelity Range Extension. PDF
(ス ウェーデン、 Luleå University of Technology、Dr. Peter Parne氏の講義ガイダンスの模様。→参考 SMD151
 もくじへ

4. プロファイルとレベル

4.1. 1stバージョンにおけるBaseline, Main, Extended

H.264/AVC には多数の符号化ツールがあるが、全てのアプリケーションで全てのツールが必要とされている訳ではない。例えば、洗練されたエラー resilience toolは データのロスや破壊が非常に少ないネットワークでは重要ではない。全てのアプリケーションに全ツールのサポートを強制した場合、無意味に複雑なアプリケー ションが出て来てしまうだろう。このため、符号化ツールのサブセットが定義された。これをプロファイルと呼ぶ。 デコーダでサポートするサブセット(プロファイル)はどれか一つだけでも自由だし、複数、または全てサポートするのも自由だ。AVC/H.264最初の規 格では、以下の三つのプロファイルが定義され、最新版でもそのまま残っている。:
  • Baseline (BP)
  • Extended (XP)
  • Main (MP)
Table 2 にそれぞれがサポートする符号化ツールの概要をまとめた。
The Baseline profile
含まれる: I- slice, P- slice, some enhanced error resilience tools (FMO, ASO, RS), CAVLC。
含まれない:B- slice, SP- slice, SI-slices,interlace coding tools or CABAC entropy coding
The Extended profile:Baseline のスーパーセット。
追加分: B- slice, SP- slice, SI- slices, interlace coding tools。さらにfurther error resilience support in the form of data partitioning (DP)。
含まれない:CABAC
The Main profile
含まれる:I- slice, P- slice, B-slices, interlace coding tools, CAVLC and CABAC
含まれない:enhanced error resilience tools (FMO, ASO, RS, DP) or SP and SI-slices
 
本稿執筆時点(2004/08月)では、 Baseline Profile はビデオ会議のプライマリ・チョイスのようだ。
The Main profileは、エンターテインメント品質のコンシューマー・アプリケーションで大きな関心を集めてきたが、勢いはFRExtの新しいHigh profileの登場により弱まりつつある。

Table 2: Profiles in Original H.264/AVC Standard
Coding Tools Baseline Main Extended x264 Apple-H.264
I and P Slices X X X X X
CAVLC X X X X(nocabac) X
CABAC
X X ?
Bond氏によれば非対応
B Slices
X X X X
(.mov書き出し時のみ。
"フレーム並べ替え"にて)
Interlaced Coding (PicAFF, MBAFF)
X 非対応
(宣言済)
Enh. Error Resil. (FMO, ASO, RS) X
X X?
( iChat, streamingタブ )
Further Enh. Error Resil (DP) X X?
( iChat, streamingタブ )
SP and SI Slices X X?
( iChat, streamingタブ )
*参考:Video-iPod(初代)はBaselineとされる。
QT7.0.4。
MPEG-4 H.264書き出しオプション。
手許ではstreamingタブでチェックを入れても拡張はグレイアウトのまま。

4.2. FRExt改正で追加された新しいHigh Profile

* 提案はPHL(パナソニック・ハリウッド・ラボ)の模様。

FRExt 改正により、以下4のprofileが追加定義された:
  • High (HP)
  • High 10 (Hi10P)
  • High 4:2:2 (Hi422P)
  • High 4:4:4 (Hi444P)
全て前記Main profileのデザインの上に構築され、4つとも以下の符号化効率改善を含む。:
  • Adaptive macroblock-level switching between 8x8 and 4x4 transform block size
    • 「状況可変マクロブロック-レベル変更」とか?。 それをやる際のトランスフォームブロックサイズが増 える。8x8から4x4までに。
    • 恐らく、4x4,4x8,8x4,8x8の4種。 8x8dctを使わねばi8x8はenableにならないから。多分そんな漢字。
  • Encoder-specified perceptual-based quantization scaling matrices
    • カスタムquantizationマトリクスと思 われ。
  • Encoder-specified separate control of the quantization parameter for each chroma component
    • quantizationパラメータの色差信号毎 の個別制御と思われ。ってなんだ?
一般的な4:2:0 videoに加え、これらのプロファイル全てが、monochrome coded video sequencesもサポートする。
新プロファイル間の違いは主にサポートするサンプリングビット深度と色差信号(*chroma*)の フォーマットだ。
しかしながら、High 4:4:4 profile はさらに、residual(* 残りの*) color transform と predictive(*予測*) lossless coding の機能を持つ。これは他のプロファイルには存在しない。詳細は以下。

Table 3: New Profiles in the H.264/AVC FRExt Amendment
Coding Tools High High 10 High 4:2:2 High 4:4:4 x264
Main Profile Tools X X X X X
4:2:0 Chroma Format X X X X X?
8 Bit Sample Bit Depth X X X X
8x8 vs. 4x4 Transform Adaptivity X X X X X(8x8dct,i8x8)
Quantization Scaling Matrices X X X X X(cqm)
Separate Cb and Cr QP control X X X X X
(cqm4ic, cqm4iy,
cqm4pc, cqm4py,
cqm8iy, cqm8py)
Monochrome video format X X X X
9 and 10 Bit Sample Bit Depth X X X
4:2:2 Chroma Format X X
11 and 12 Bit Sample Bit Depth X
4:4:4 Chroma Format X
Residual Color Transform X
Predictive(*予測*)Lossless Coding X qp_constant?
表にあるとおり、高位のプロファイルの機能は下位プロファイルを包含する。
規格上も高位のプロファイルに対応するものは下位プロファイルのビットストリームは全てデコード可能である事を求めている。
本稿執筆時点(2004/08月)では、High profile は、放送などのエンターテインメント品質のアプリケーションで Main profileに取って代わりつつあり、High 4:2:2 はスタジオ環境での利用が進むと期待されている。
High profileが短期間に極めて大きな関心を集めている理由は、実装上の複雑さがMain profileに比べて非常に小さく(ほとんど無い)、その一方で圧縮能力は主観的(* 人間の感性*)にも客観的(*数値化できる特性*)に も向上(特にquantization scaling matrices とtransform block-size switching)し、エンコーダ制御の自由度も増すためだ(separate quantization parameters for the two chroma componentsによる)。 
  •  若しQTが、Doom9コデックコンテストの言う通 り、他のコデックでMain Profileで作ったものを受け付けないなら、"ISO MPEG-4 AVC Main Profile"を名乗る資格は無い事になる。一 方、AVIインフラ下でBフレームを使った際に生じる "Delay frame" が映像ストリームの中にも発生するのであれば、QTの動作が規格上、正しい。「世界中のカジュアル・エンコーダがHDに溜め込みつつあるファイル数」と言 う事なら、後者の方が多いかと。
  •  High profileについては、手許でcqm,8x8dctを使ったものはQT7で再生出来なくなる事を確認している。

4.3. レベル

 実装(*implementation*)の上で はプロセシング・パワーとメモリ・サイズの制約は重要だ。これらに影響する最大の要素はピクチャ・サイズ(*解像度*)とフレームレートだ。Table 5で示すように、H.264/AVC では主にピクチャ・サイズとフレームレートに基づいて 16 種類のLevelを定義している。Levelはまた、レファレンス・ピクチャ(* 参照フレーム*)数と、利用可能な最大ビットレートも規定する。
 "1b"のように示したLevelはFRExt改正で追加されたもので、主に3G wireless環境の要請に応えるためのものだ。
 FRExt profileはより忠実度の高いアプリケーションの為の定義なので、ビットレートの許容範囲もTable 4のように拡大した。ここで定義されたmultiplier(*乗数、乗算器 *)はTable 5の4番目の列で使われるものだ。
 
Note:規格上、Levelが規定する最大フレームサイズとは、pixel/frameの合計数だけだ。
水平・垂直それぞれの最大サイズは、Sqrt(maximum frame size * 8)以下でなければならない事を除けば規格には無い。

Horizontal and Vertical maximum sizes are not specified except for constraints that horizontal and vertical sizes can not
be more than Sqrt(maximum frame size * 8).

 もし、ある特定のレベルで、ピクチャ・サイズが表のサイズより小さく、これに対して、、、 以下不明

If, at a particular level, the picture size is less than the one in the table, then a correspondingly larger number of reference pictures (up to 16 frames) can be used for motion estimation and compensation.  Similarly, instead of specifying a maximum frame rate at each level, a maximum sample (pixel) rate, in terms of macroblocks per second, is specified.  Thus if the picture size is smaller than the typical pictures size in Table 5, then the frame rate can be higher than that in Table 5, all the way up to a maximum of 172 frames/sec.

従って、もしピクチャ・サイズがTable 5の一般的なサイズより小さい場合、フレームレートはTable 5にある値よりも大きくとり得る。最大は172fps。

Table 4: Compressed Bit Rate Multipliers for FRExt Profiles (see Table 5 column 4)
FRExt Profile Bit Rate Multiplier
High 1.25
High 10 3
High 4:2:2 4
High 4:4:4 4
Table 5: Levels in H.264/AVC
Level Number Typical Picture Size Typical frame rate Maximum compressed bit rate (for VCL) in Non-FRExt profiles Maximum number of reference frames for typical picture size
1 QCIF 15 64 kbps 4
1b QCIF 15 128 kbps 4
1.1 CIF or QCIF 7.5 (CIF) / 30 (QCIF) 192 kbps 2 (CIF) / 9 (QCIF)
1.2 CIF 15 384 kbps 6
1.3 CIF 30 768 kbps 6 ↑iPod
2 CIF 30 2 Mbps 6
2.1 HHR
(480i or 576i)
30 / 25 4 Mbps 6 カジュアル↓
2.2 SD 15 4 Mbps 5
3 SD 30 / 25 10 Mbps 5
3.1 1280x720p 30 14 Mbps 5
3.2 1280x720p 60 20 Mbps 4
4 HD Formats
(720p or1080i)
60p / 30i 20 Mbps 4
4.1 HD Formats
(720p or1080i)
60p / 30i 50 Mbps 4
4.2 1920x1080p 60p 50 Mbps 4
5 2 kx1k 72 135 Mbps 5
5.1 2kx1k or 4kx2k 120 / 30 240 Mbps 5
*CIFとか
QCIF 176×144 30fps Quarter Common Intermediate Format
CIF 352×288 30fps Common Intermediate Format
4CIF 704×576 30fps
16CIF 1408×1152 30fps
Sub-QCIF(SQCIF) 128×96 30fps
*恐らく、x264(MEncoder/CLI/ffmpeg)の天井は、High@lebel 5.1の120fps。 またはHigh 4:4:4@lebel 5.1yuv4:2:0を突っ込んだ、120fps、Predictive Lossless
posted by ばる at 01:53| Comment(0) | TrackBack(0) | MPEG-4全般 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス: [必須入力]

ホームページアドレス: [必須入力]

コメント: [必須入力]

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/12998975
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック