Title
Codec Control Messages with the RTP Audio-Visual Profile with Feedback (AVPF)
Author
S. Wenger, U. Chandra (Nokia)
M. Westerlund, B. Burman (Ericsson)
Date
February 2008
Category
Proposed Standard
3 3
標準の概要
RFC4585で定義されているAudio-Visual Profile with Feedback (AVPF)に、コーデック制御のため のメッセージを追加
Temporary Maximum Media Stream Bit Rate (Request/Notification)
Full Intra Request (FIR)
Temporal-Spatial Trade-off (Request/Notification)
ITU-T Rec. H.271 Video Back Channel Message (VBCM)
RTCPの送信タイミングについては、RFC4585に準拠
Immediate Feedback mode
Early RTCP mode
Regular RTCP mode (RFC3550)
本コーデック制御を利用する場合のSDP記述を定義
RFC4585に追加 (rtcp-fbの値として“ccm”を追加)
Offer/Answerの基本規則
本標準が想定しているRTPトポロジ
Point to Point
Point to Multipoint using Multicast
Point to Multipoint using the RFC3550 Translator
Point to Multipoint using the RFC3550 Mixer Model
4 4
フィードバックメッセージの種類
Request
応答を必要とするメッセージ
Command
受信側に何らかのアクションを取らせるメッセージ
Indication
現在の状況を報告するメッセージ
Notification
イベントが発生したことを通知するメッセージ
通常、Requestの応答メッセージ
5 5
追加されたフィードバックメッセージ
Transport layer Feedback Messages
・・・トランスポート層(RTP)に関連したフィードバックメッセージ
Temporary Maximum Media Stream Bit Rate Request (TMMBR)
メディアの送信側に最大メディアストリームビットレートを要求
Temporary Maximum Media Stream Bit Rate Notification (TMMBN)
TMMBRの応答として変更後の最大メディアストリームビットレートを通知
Payload-Specific Feedback Messages
・・・ペイロードに依存したフィードバックメッセージ
Full Intra Request (FIR)
メディアの送信側にIntraピクチャやIDRピクチャなどの送信を要求
Temporal-Spatial Trade-off Request (TSTR)
メディアの送信側に時間解像度と空間解像度のトレードオフ値の変更を要求
Temporal-Spatial Trade-off Notification (TSTN)
TSTRの応答として変更後の時間解像度と空間解像度のトレードオフ値を通知
H.271 Video Back Channel Message (VBCM)
ITU-T Rec. H.271で定義されたVideo Back Channelに対応するメッセージ
6 6
RFC4585に規定されているフィードバックモード(参考)
RTP session
参加者数
(Group Size)に応じてモードを切替
モード切替の閾値は、ネットワーク環境、伝送データによって変更
ACK feedback
V
:<- - - - NACK feedback - - - ->//
:
: Immediate ||
: Feedback mode ||Early RTCP mode Regular RTCP mode :<=============>||<=============>//<=================>
: ||
-+---||---//---> group size 2 ||
Application-specific FB Threshold
= f (data rate, packet loss, codec, ...)
7 7
RTCPフィードバックメッセージの共通フォーマット
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|V=2|P| FMT | PT | length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of packet sender | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC of media source | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Feedback Control Information (FCI) :
Feedback message type (FMT): 5 bits FBメッセージのタイプをセット。
Payload type (PT): 8 bits
RTCP packet typeをセット. 下記2種類はIANAよりに定義ずみ Name | Value | Brief Description
---+---+---RTPFB | 205 | Transport layer FB message
PSFB | 206 | Payload-specific FB message
8 8
RFC5104で新たに追加されたPTとFMTの値
PT FMT メッセージの種類 RFC
1 Generic NACK RFC4585
31 Reserved for future expansion of the identifier number space RFC4585
1 Picture Loss Indication (PLI) RFC4585
2 Slice Lost Indication (SLI) RFC4585
15 Application layer FB message RFC4585
7 Video Back Channel Message (VBCM) RFC5104
3 Reference Picture Selection Indication (RPSI) RFC4585
2 Reserved (*) RFC5104
3 Temporary Maximum Media Stream Bit Request (TMMBR) RFC5104
4 Temporary Maximum Media Stream Bit Notification (TMMBN) RFC5104
Full Intra Request (FIR) Command
Temporal-Spatial Trade-off Request (TSTR) Temporal-Spatial Trade-off Notification (TSTN)
Reserved for future expansion of the identifier number space 205 (RTPFB)
4 RFC5104
5 RFC5104
6 RFC5104
206 (PSFB)
31 RFC4585
(*)RFC4585の初期のバージョンでFMT=2が予約されていたが 最終版では削除された
9 9
Temporary Maximum Media Stream Bit Rate Request
Temporary Maximum Media Stream Bit Rate Request (TMMBR)
基本動作
受信可能な最大ビットレートの変更をメディア送信側へ要求
送信タイミング
最初のIMMBRはImmediate Feedback modeまたはEarly RTCP modeで送信 [MAY]
IMMBRが連続するときはRegular RTCP modeで送信[SHOULD]
Temporary Maximum Media Stream Bit Rate Notification (TMMBN)
基本動作
TMMBRの応答としてメディア送信側が使用する最大ビットレートを送信
送信タイミング
許されるタイミングの範囲で出来るだけ早く送信 [SHOULD]
Immediate Feedback modeまたはEarly RTCP mode [SHOULD]
10 10
FCIフォーマット: TMMBR
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MxTBR Exp | MxTBR Mantissa |Measured Overhead|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
SSRC: 32bits
メディア送信側のSSRC値 MxTBR Exp: 6bits
最大メディアビットレート値のための仮数の指数スケーリング MxTBR Mantissa: 17bits
最大メディアビットレート値の仮数 Measured Overhed: 9bits
平均パケットオーバヘッドの計測値
MxTBR = Mentissa * 2^Exp [bps]
avg_OH (new) = 15/16 * avg_OH(old) + 1/16 packet_OH
11 11
FCIフォーマット: TMMBN
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MxTBR Exp | MxTBR Mantissa |Measured Overhead|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
SSRC: 32bits
メディア受信側のSSRC値 MxTBR Exp: 6bits
最大メディアビットレート値のための仮数の指数スケーリング MxTBR Mantissa: 17bits
最大メディアビットレート値の仮数 Measured Overhed: 9bits
平均パケットオーバヘッドの計測値
12 12
Full Intra Request (FIR) Command
基本動作
メディア受信側がIntra PictureやIDR Pictureがなければメディアをデコードできないとき に送信
IntraピクチャやIDRピクチャがなければ画像が表示できないときのみ送信 [SHOULD]
Picture Lossなどエラーが発生した場合の動作としてFIRは送信禁止[SHALL NOT]
エラーなどはRFC4585で規定されているPLI (Picture Loss Indication)を送信 [RECOMMENDED]
送信タイミング
Immediate Feedback modeまたはEarly RTCP modeにて送信 [MAY]
Immediate Feedback modeの場合には、少なくてもRTT待ってから次のFIR Commandを送信 [SHOULD]
13 13
FCIフォーマット: FIR
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Seq nr. | Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
SSRC: 32bits
メディア送信側のSSRC値 Seq nr: 8bits
コマンドのシーケンス番号 Reserved: 24bits
0をセットする
14 14
Temporal-Spatial Trade-off Request
Temporal-Spatial Trade-off Request (TSTR)
基本動作
メディアの受信側がメディアの送信側に対して、画像の空間解像度と時間解像度のトレード オフのレベル(0~31の値)で提案するときに送信(0: 最も空間解像度が高い、 31: 最も 時間解像度が高い)
送信タイミング
Regular RTCP mode [SHOULD]
ただし、ユーザインタフェース的に迅速なフィードバックが必要な場合は、Immediate Feedback modeまたはEarly RTCP modeにて送信 [MAY]
Temporal-Spatial Trade-off Notification (TSTN)
基本動作
TSTRの応答としてメディア送信側が使用するレベルを送信
送信タイミング
Regular RTCP modeにて送信 [SHOULD]
15 15
FCIフォーマット: TSTR
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Seq nr. | Reserved | Index | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
SSRC: 32bits
メディア送信側のSSRC値 Seq nr: 8bits
要求のシーケンス番号 Reserved: 19bits
0をセットする Index: 5bits
要求されたトレードオフの値。0が空間解像度優先、31が時間解像度優先
16 16
FCIフォーマット: TSTN
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Seq nr. | Reserved | Index | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
SSRC: 32bits
メディア送信側のSSRC値 Seq nr: 8bits
要求のシーケンス番号 Reserved: 19bits
0をセットする Index: 5bits
メディア送信側が使っているトレードオフ値
17 17
Video Back Channel Messages
基本動作
メディア送信側にITU-T Rec. H.271 Video Back Channel Messageを送信したいと きに使用
送信タイミング
Sub-messageタイプによって異なる
H.271メッセージタイプとフィードバックメッセージの関係
H.271 msg type AVPF/CCM msg type multicast-safe
---0 (when used for
reference picture
selection) AVPF RPSI No (positive ACK of pictures) 1 picture loss AVPF PLI Yes
2 partial loss AVPF SLI Yes
3 one parameter CRC N/A Yes (no required sender action) 4 all parameter CRC N/A Yes (no required sender action) 5 refresh point CCM FIR Yes
18 18
FCIフォーマット: VBCM
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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| SSRC | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Seq nr. |0| Payload Type| Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| VBCM Octet String.... | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
SSRC: 32bits
メディア送信側のSSRC値 Seq nr: 8bits
コマンドのシーケンス番号 0 : 1bits
使用しない Payload Type: 7bits
VBCMビットストリームを解釈しなければならないRTPペイロードタイプ Length: 16bits
VBCM文字列の長さ VBCM Octet String: 可変長
フィードバックサブメッセージを運ぶためにデコーダによって生成された文字列 Padding: 可変長
パディング
19 19
SDP記述
rtcp-fb-val =/ "ccm" rtcp-fb-ccm-param
rtcp-fb-ccm-param = SP "fir" ; Full Intra Request
/ SP "tmmbr" [SP "smaxpr=" MaxPacketRateValue]
; Temporary max media bit rate / SP "tstr" ; Temporal-Spatial Trade-Off
/ SP "vbcm" *(SP subMessageType) ; H.271 VBCMs / SP token [SP byte-string]
; for future commands/indications subMessageType = 1*8DIGIT
byte-string = <as defined in section 4.2 of [RFC4585] >
MaxPacketRateValue = 1*15DIGIT
RFC4585 の SDP 記述に追加
20 20
SDPの記述例
v=0
o=alice 3203093520 3203093520 IN IP4 host.example.com s=Offer/Answer
c=IN IP4 192.0.2.124
m=audio 49170 RTP/AVP 0 a=rtpmap:0 PCMU/8000
m=video 51372 RTP/AVPF 98 a=rtpmap:98 H263-1998/90000
a=rtcp-fb:98 ccm tstra=rtcp-fb:98 ccm fir
a=rtcp-fb:* ccm tmmbr smaxpr=120
TSTR/TSTN、FIR、TMMBR/TMMBNを使用する場合
21 21