5.3. NAL Unit Header Usage (NAL ユニットヘッダの使用)
5.3. NAL Unit Header Usage (NAL ユニットヘッダの使用)
NAL ユニットヘッダの構造と意味はセクション 1.3 で導入した。便宜のため, NAL ユニットヘッダの形式を以下に再掲する。
+---------------+
|0|1|2|3|4|5|6|7|
+-+-+-+-+-+-+-+-+
|F|NRI| Type |
+---------------+
本節では, 本仕様に従う F および NRI の意味を規定する。
F: 1 ビット
forbidden_zero_bit。値 0 は NAL ユニットタイプオクテットおよびペイロードにビットエラーやその他の構文違反が含まれないことを示す。値 1 はビットエラーやその他の構文違反が含まれ得ることを示す。
MANE (Media-Aware Network Element) は検出したビットエラーを示すために F ビットを設定すべきである (SHOULD)。H.264 仕様では F ビットは 0 でなければならない。F ビットがセットされている場合, デコーダはペイロードまたは NAL ユニットタイプオクテットにビットエラーや構文違反が存在し得ると解釈する。F ビットが 1 の NAL ユニットに対する最も単純なデコーダの反応は, 当該 NAL ユニットを破棄し, 破棄データをコンシールすることである。
NRI: 2 ビット
nal_ref_idc。値 00 と非ゼロの意味は H.264 仕様から変わらない。すなわち, 00 は当該 NAL ユニットの内容がフレーム間予測用参照ピクチャの再構成に用いられないことを示す。そのような NAL ユニットは参照ピクチャの完全性を損なうリスクなく破棄できる。00 より大きい値は, 参照ピクチャの完全性を保つために当該 NAL ユニットのデコードが必要であることを示す。
上記に加え, 本 RTP ペイロード仕様では NRI の値はエンコーダが決定した相対的な転送優先度を示す。MANE はこの情報を用いて, 重要度の低い NAL ユニットより重要なものをより良く保護できる。最高の転送優先度は 11, 次に 10, 次に 01, 最後に 00 が最低である。
参考注: NRI の任意の非ゼロ値は H.264 デコーダでは同一に扱われる。したがって, 受信者は NAL ユニットをデコーダに渡す際に NRI の値を操作する必要はない。
nal_unit_type が 1 から 12 まで (両端含む) のとき, H.264 エンコーダは H.264 仕様 (サブクラウズ 7.4.1) に従って NRI の値を設定しなければならない (MUST)。特に, nal_unit_type が 6, 9, 10, 11, 12 のすべての NAL ユニットについて NRI は 0 でなければならない (SHALL)。
nal_unit_type が 7 または 8 (それぞれシーケンスパラメータセットまたはピクチャパラメータセット) の NAL ユニットについて, H.264 エンコーダは NRI を 11 (2 進) に設定すべきである (SHOULD)。プライマリコーディングピクチャの nal_unit_type 5 (IDR ピクチャに属するコーディングスライス) のコーディングスライス NAL ユニットについても, H.264 エンコーダは NRI を 11 (2 進) に設定すべきである (SHOULD)。
残りの nal_unit_type から NRI へのマッピングとして, 以下の例を用いてもよい (MAY)。ある環境では効率的であることが示されている [14]。アプリケーションと使用する H.264 プロファイルに応じて, 他のマッピングも望ましい場合がある (MAY)。
参考注: データパーティションは Main や Baseline などのプロファイルでは利用できない。したがって, NAL ユニットタイプ 2, 3, 4 はデータパーティションが許可されるプロファイルに適合するビットストリームにのみ現れ, Main または Baseline に適合するストリームには現れない。
表 2. プライマリコーディング参照ピクチャのコーディングスライスおよびコーディングスライスデータパーティションの NRI 値の例
| NAL ユニットタイプ | NAL ユニットの内容 | NRI (2 進) |
|---|---|---|
| 1 | 非 IDR コーディングスライス | 10 |
| 2 | コーディングスライスデータパーティション A | 10 |
| 3 | コーディングスライスデータパーティション B | 01 |
| 4 | コーディングスライスデータパーティション C | 01 |
参考注: 前述のとおり, 非参照ピクチャの NRI 値は H.264 により 00 とされる。
冗長コーディング参照ピクチャのコーディングスライスおよびコーディングスライスデータパーティション NAL ユニットについて, H.264 エンコーダは NRI を 01 (2 進) に設定すべきである (SHOULD)。
NAL ユニットタイプ 24 から 29 まで (両端含む) の NRI の定義は本メモのセクション 5.7 および 5.8 に示す。
nal_unit_type が 13 から 23 まで (両端含む) の NAL ユニットについては ITU-T および ISO/IEC 用に予約されているため, NRI の値について推奨はない。nal_unit_type が 0 または 30 から 31 まで (両端含む) の NAL ユニットについても, 本メモで意味が規定されていないため NRI について推奨はない。