メインコンテンツまでスキップ

5.7.2. Multi-Time Aggregation Packets (MTAPs) (複数時刻集約パケット)

5.7.2. Multi-Time Aggregation Packets (MTAPs) (複数時刻集約パケット)

MTAP の NAL ユニットペイロードは, ネットワークバイト順の 16 ビット符号なしデコード順序番号基底 (DONB) と 1 つ以上の複数時刻集約ユニットからなり, 図 9 に示す。DONB には, MTAP に含まれる NAL ユニットのうち NAL ユニットデコード順序で最初の NAL ユニットの DON の値を含めなければならない (MUST)。

参考注: NAL ユニットデコード順序における最初の NAL ユニットが, MTAP 内でカプセル化される順序の最初の NAL ユニットであるとは限らない。

 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: decoding order number base | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| |
| multi-time aggregation units |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

図 9. MTAP の NAL ユニットペイロード形式

本仕様では 2 種類の複数時刻集約ユニットを定義する。いずれも, 後続 NAL ユニットの (ネットワークバイト順の) 16 ビット符号なしサイズ情報, 8 ビット符号なしデコード順序番号差 (DOND), および当該 NAL ユニットの (ネットワークバイト順の) n ビットのタイムスタンプオフセット (TS offset) からなり, n は 16 または 24 とできる。MTAP16 と MTAP24 の選択はアプリケーション依存であり, タイムスタンプオフセットが大きいほど MTAP の柔軟性は高まるが, オーバーヘッドも大きくなる。

MTAP16 および MTAP24 用の複数時刻集約ユニットの構造を, それぞれ図 10 および図 11 に示す。パケット内の集約ユニットの開始または終了位置は, 32 ビットワード境界上にある必要はない。複数時刻集約ユニットに含まれる NAL ユニットの DON は (DONB + DOND) % 65536 と等しい。% はモジュロ演算を表す。本メモは MTAP 内の NAL ユニットの並びを規定しないが, 多くの場合 NAL ユニットデコード順序を用いるべきである (SHOULD)。

タイムスタンプオフセットフィールドは, 次式の値と等しく設定しなければならない (MUST): NALU-time がパケットの RTP タイムスタンプ以上なら, オフセットは (当該 NAL ユニットの NALU-time - パケットの RTP タイムスタンプ) とする。NALU-time がパケットの RTP タイムスタンプより小さいなら, オフセットは NALU-time + (2^32 - パケットの RTP タイムスタンプ) とする。

 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: NAL unit size | DOND | TS offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TS offset | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ NAL unit |
| |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

図 10. MTAP16 用の複数時刻集約ユニット

 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: NAL unit size | DOND | TS offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TS offset | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
| NAL unit |
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

図 11. MTAP24 用の複数時刻集約ユニット

MTAP 内の「最も早い」複数時刻集約ユニットについて, タイムスタンプオフセットは 0 でなければならない (MUST)。したがって, MTAP 自身の RTP タイムスタンプは, 最も早い NALU-time と同一である。

参考注: 「最も早い」複数時刻集約ユニットとは, 各集約ユニット内の NAL ユニットを単一 NAL ユニットパケットにカプセル化した場合に, MTAP の全集約ユニットのうち拡張 RTP タイムスタンプが最小となるものである。拡張タイムスタンプは 32 ビットを超え, タイムスタンプフィールドのラップアラウンドを数えられるため, ラップ時にも最小値を判定できる。この「最も早い」集約ユニットが, MTAP 内でのカプセル化順の最初とは限らない。「最も早い」NAL ユニットが, NAL ユニットデコード順序の最初と一致する必要もない。

図 12 は, タイプ MTAP16 の複数時刻集約パケットを含む RTP パケットの例で, 2 つの複数時刻集約ユニット (図中 1 および 2) を含む。

 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RTP Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|MTAP16 NAL HDR | decoding order number base | NALU 1 Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NALU 1 Size | NALU 1 DOND | NALU 1 TS offset |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NALU 1 HDR | NALU 1 DATA |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
: :
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | NALU 2 SIZE | NALU 2 DOND |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NALU 2 TS offset | NALU 2 HDR | NALU 2 DATA |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |
: :
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :...OPTIONAL RTP padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

図 12. 2 つの複数時刻集約ユニットを含むタイプ MTAP16 の複数時刻集約パケットを含む RTP パケット

図 13 は, タイプ MTAP24 の複数時刻集約パケットを含む RTP パケットの例で, 2 つの複数時刻集約ユニット (1 および 2) を含む。

 0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RTP Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|MTAP24 NAL HDR | decoding order number base | NALU 1 Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NALU 1 Size | NALU 1 DOND | NALU 1 TS offs |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|NALU 1 TS offs | NALU 1 HDR | NALU 1 DATA |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
: :
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | NALU 2 SIZE | NALU 2 DOND |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NALU 2 TS offset | NALU 2 HDR |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| NALU 2 DATA |
: :
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :...OPTIONAL RTP padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

図 13. 2 つの複数時刻集約ユニットを含むタイプ MTAP24 の複数時刻集約パケットを含む RTP パケット