H.264/AVC概要 / 4.プロファイルとレベル


H.264/AVC概要 / 4.プロファイルとレベル
2012-01-27 (金) 13:32:12更新
カテゴリ:規格?

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 ToolsBaselineMainExtendedx264Apple-H.264(QT7)
I and P SlicesXXXXX
CAVLCXXXX(nocabac)X
CABACXX?Bond氏によれば非対応
B SlicesXXXX(.mov書き出し時のみ。"フレーム並べ替え"にて)
Interlaced Coding (PicAFF, MBAFF)X非対応(宣言済)
Enh. Error Resil. (FMO, ASO, RS)XXX?( iChat, streamingタブ )
Further Enh. Error Resil (DP)XX?( iChat, streamingタブ )
SP and SI SlicesXX?( iChat, streamingタブ )

*参考:Video-iPod(初代)はBaselineとされる。

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

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 ToolsHighHigh 10High 4:2:2High 4:4:4x264
Main Profile ToolsXXXXX
4:2:0 Chroma FormatXXXXX?
8 Bit Sample Bit DepthXXXX
8x8 vs. 4x4 Transform AdaptivityXXXXX(8x8dct,i8x8)
Quantization Scaling MatricesXXXXX(cqm)
Separate Cb and Cr QP controlXXXXX(cqm4ic, cqm4iy,cqm4pc, cqm4py,cqm8iy, cqm8py)
Monochrome video formatXXXX
9 and 10 Bit Sample Bit DepthXXX
4:2:2 Chroma FormatXX
11 and 12 Bit Sample Bit DepthX
4:4:4 Chroma FormatX
Residual Color TransformX
Predictive(*予測*)Lossless CodingXqp_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による)。


4.3. レベル

 実装(*implementation*)の上ではプロセシング・パワーとメモリ・サイズの制約は重要だ。

 これらに影響する最大の要素は「ピクチャ・サイズ(*解像度*)」と「フレームレート」だ。

 Table 5で示すように、 H.264/AVC では主にピクチャ・サイズとフレームレートに基づいて、16 種類のLevelを定義している。

 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 ProfileBit Rate Multiplier
High1.25
High 103
High 4:2:24
High 4:4:44

Table 5: Levels in H.264/AVC

整数レベルは主に解像度による大分類。少数レベルは小分類。主に通信ネゴシエーションなどに関わる。

level_idc, x264cliの--level <integer>, ffmpegX0.0.9vのx264 H.264 optionsなどが相当する模様。

Level NumberTypical Picture SizeTypical frame rateMaximum compressed bit rate (for VCL) in Non-FRExt profilesMaximum number of reference frames for typical picture size備考
1QCIF1564 kbps4主にQCIF
1bQCIF15128 kbps4(FRExt以降)
1.1CIF or QCIF7.5 (CIF) / 30 (QCIF)192 kbps2 (CIF) / 9 (QCIF)
1.2CIF15384 kbps6
1.3CIF30768 kbps6↑iPod
2CIF302 Mbps6主にCIF
2.1HHR(480i or 576i)30 / 254 Mbps6カジュアル↓
2.2SD154 Mbps5
3SD30 / 2510 Mbps5主にSDTV
3.11280x720p3014 Mbps5
3.21280x720p6020 Mbps4
4HD Formats(720p or1080i)60p / 30i20 Mbps4主にHDTV
4.1HD Formats(720p or1080i)60p / 30i50 Mbps4
4.21920x1080p60p50 Mbps4
5kx1k72135 Mbps5将来のスーパーHDTVやデジタルシネマ用
5.12kx1k or 4kx2k120 / 30240 Mbps5

*参考;CIF=NTSC-PAL-secam間通信(TV会議・電話)用の中間解像度

QCIF176×14430fpsQuarter Common Intermediate Format
CIF352×28830fpsCommon Intermediate Format
4CIF704×57630fps
16CIF1408×115230fps
Sub-QCIF(SQCIF)128×9630fps

FrontPage
MPlayer
Manuals
Documents
カテゴリ

■GENERAL
MEMO
LINK
雑談所
最近の更新
popular

■Other Tools
ffmpeg
mkvmerge
mp4box
MPEG Streamclip
QTCoffee
x264cli

■About
About Wiki

edit


blog


本日1
昨日0
累積66101