?? rfc3016.txt
字號(hào):
組織:中國(guó)互動(dòng)出版網(wǎng)(http://www.china-pub.com/)
RFC文檔中文翻譯計(jì)劃(http://www.china-pub.com/compters/emook/aboutemook.htm)
E-mail:ouyang@china-pub.com
譯者: 李超(licc_li ,licc_li@sina.com)
譯文發(fā)布時(shí)間:2001-4-26
版權(quán):本中文翻譯文檔版權(quán)歸中國(guó)互動(dòng)出版網(wǎng)所有。可以用于非商業(yè)用途自由轉(zhuǎn)載,但必須
保留本文檔的翻譯及版權(quán)信息。
Network Working Group Y. Kikuchi
Request for Comments: 3016 Toshiba
Category: Standards Track T. Nomura
NEC
S. Fukunaga
Oki
Y. Matsui
Matsushita
H. Kimata
NTT
November 2000
用于MPEG-4視聽(tīng)流的RTP負(fù)載格式
(RRC3016 RTP Payload Format for MPEG-4 Audio/Visual Streams)
本備忘錄的狀態(tài)
本文檔講述了一種Internet社區(qū)的Internet標(biāo)準(zhǔn)跟蹤協(xié)議,它需要進(jìn)一步進(jìn)行討論和建議以
得到改進(jìn)。請(qǐng)參考最新版的“Internet正式協(xié)議標(biāo)準(zhǔn)” (STD1)來(lái)獲得本協(xié)議的標(biāo)準(zhǔn)化程度
和狀態(tài)。本備忘錄的發(fā)布不受任何限制。
版權(quán)聲明
Copyright (C) The Internet Society (2000). All Rights Reserved.
摘要
本文描述了在不使用MPEG-4系統(tǒng)的情況下攜帶MPEG-4音頻和視覺(jué)碼流的RTP負(fù)載格式。為了能
直接將MPEG-4音頻/視覺(jué)碼流映射到RTP包上,它提供了RTP包頭字段的使用規(guī)范和分片規(guī)則。同
時(shí)文檔中還規(guī)定了MIME類型注冊(cè)和會(huì)話描述協(xié)議(SDP)的使用。
目錄
本備忘錄的狀態(tài) 1
版權(quán)聲明 1
摘要 1
1. 介紹 2
1.1 MPEG-4視覺(jué)RTP負(fù)載格式 3
1.2 MPEG-4音頻RTP負(fù)載格式 3
2. 要求的術(shù)語(yǔ) 4
3. MPEG-4視覺(jué)碼流的RTP組包 4
3.1 MPEG-4視覺(jué)中RTP頭字段的使用 4
3.2 MPEG-4視覺(jué)碼流分片 5
3.3 MPEG-4視覺(jué)碼流組包示例 6
4. MPEG-4音頻碼流的RTP組包 7
4.1 RTP包格式 7
4.2 MPEG-4音頻中RTP頭字段的使用 8
4.3 MPEG-4音頻碼流分片 9
5. MPEG-4視聽(tīng)流MIME類型注冊(cè) 9
5.1 MPEG-4視覺(jué)MIME類型注冊(cè) 9
5.2 MPEG-4視覺(jué)中SDP的用法 10
5.3 MPEG-4音頻MIME類型登記 11
5.4 SDP usage of MPEG-4 Audio 12
6. 安全性考慮 13
7. 參考文獻(xiàn) 13
8. 作者地址 13
9. 版權(quán)聲明 14
致謝 14
1. 介紹
本文描述的RTP負(fù)載格式規(guī)定了如何對(duì)MPEG-4音頻流[3][5]和MPEG-4視覺(jué)流[2][4]進(jìn)行分
片并直接映射到RTP包中。
通過(guò)定義這些RTP負(fù)載格式,應(yīng)用在不使用MPEG-4系統(tǒng)同步和流管理功能的情況下也能直接
傳輸MPEG-4音頻/視覺(jué)流。本文的RTP負(fù)載格式可應(yīng)用于那些本身有流管理功能且不需要MPEG-4
系統(tǒng)中類似功能的系統(tǒng)。例如H.323終端,其MPEG-4音/視頻流的管理就不通過(guò)MPEG-4系統(tǒng)對(duì)象描
述符進(jìn)行管理,而是使用了H.245。流直接映射到RTP包中,并沒(méi)有使用MPEG-4系統(tǒng)同步層。其它
例子包括SIP和RTSP,它們使用了MIME和SDP。本文所述之RTP負(fù)載格式定義了MIME類型和SDP的用
法,直接規(guī)定了不使用MPEG-4系統(tǒng)時(shí)的音/視覺(jué)流屬性(如,媒體類型,打包格式和編碼配置)。
這樣做明顯的優(yōu)點(diǎn)在于可以象對(duì)付那些非MPEG-4編碼格式一樣,采用一種通用的方法來(lái)對(duì)這些
MPEG-4音頻/視覺(jué)RTP負(fù)載格式進(jìn)行處理。而缺點(diǎn)在于同基于MPEG-4系統(tǒng)環(huán)境的互操作可能會(huì)比較
困難,其它負(fù)載格式則更適用于這些應(yīng)用。
在此情況下,RTP包頭的語(yǔ)義必須定義的非常清晰,其中包括MPEG-4音/視頻數(shù)據(jù)元素的關(guān)
系。此外,為了增強(qiáng)錯(cuò)誤恢復(fù)能力,在MPEG-4視頻流內(nèi)部提供錯(cuò)誤恢復(fù)工具,最好能為MPEG-4
視頻流定義好RTP包的分片規(guī)則。
1.1 MPEG-4視覺(jué)RTP負(fù)載格式
MPEG-4視覺(jué)是一種視覺(jué)編碼標(biāo)準(zhǔn),它具有如下新特征:高編碼效率;高錯(cuò)誤恢復(fù)性;基于
多樣的,任意形的對(duì)象編碼;等等[2]。其速率范圍介于數(shù)Kbps到幾Mbps。并且它能適應(yīng)從無(wú)差
錯(cuò)網(wǎng)絡(luò)到高錯(cuò)誤率的移動(dòng)網(wǎng)絡(luò)等多種網(wǎng)絡(luò)類型。
針對(duì)本文中定義的MPEG-4視覺(jué)碼流的分片規(guī)則我們應(yīng)當(dāng)注意到,由于MPEG-4視覺(jué)將用于多
種網(wǎng)絡(luò)類型,因此在分片方面不應(yīng)有太多的限制。諸如“單個(gè)視頻包需映射到單個(gè)RTP包”這樣
的分片規(guī)則是不合理的。另一方面,大意,以及未知媒體分片也可能導(dǎo)致錯(cuò)誤恢復(fù)率和帶寬利用
率的下降。本文描述的分片規(guī)則十分靈活,但在應(yīng)用MPEG-4視覺(jué)錯(cuò)誤恢復(fù)功能時(shí)為了避免無(wú)意義
的分片也要定義一個(gè)最小的規(guī)則集。
分片規(guī)則建議不要在一個(gè)RTP包中映射多個(gè)VOP,這樣可以保證RTP時(shí)間戳能唯一地表示VOP
分幀時(shí)間。而相反地,由于MPEG-4視頻可以產(chǎn)生非常小的VOP,如一個(gè)只包含VOP頭的空VOP
(vop_coded=0)或者一個(gè)僅有少量碼塊的任意形VOP。為了減低開(kāi)銷,分片規(guī)則應(yīng)允許將多個(gè)VOP
連接到一個(gè)RTP包中。(參見(jiàn)3.2節(jié)分片規(guī)則(4)和3.1節(jié)標(biāo)志位和時(shí)間戳)
在H.261或MPEG-1/2等視頻編碼工具中往往通過(guò)所定義的額外媒體RTP包頭來(lái)幫助在包丟失
時(shí)恢復(fù)損壞的圖片包頭,而MPEG-4視覺(jué)已經(jīng)為此提供了錯(cuò)誤恢復(fù)功能,它們可用于RTP/IP網(wǎng)絡(luò),
也可用于其它網(wǎng)絡(luò)(H.223/Mobile,MPEG-2/TS等)。因此,無(wú)需在MPEG-4視覺(jué)RTP負(fù)載格式中定
義額外的RTP包頭。
1.2 MPEG-4音頻RTP負(fù)載格式
MPEG-4音頻是一種集成了多種類型音頻編碼工具的新型音頻標(biāo)準(zhǔn)。LATM(低負(fù)擔(dān)MPEG-4音頻傳
輸復(fù)用)通過(guò)相當(dāng)小的耗費(fèi)來(lái)管理音頻數(shù)據(jù)序列。對(duì)那些僅有音頻的應(yīng)用,不使用MPEG-4系統(tǒng)而
采用直接將基于LATM的MPEG-4音頻碼流映射到RTP包的方式是很值得的。
LATM有如下幾項(xiàng)復(fù)用特性:
- 在音頻數(shù)據(jù)中攜帶配置信息,
- 將多個(gè)音頻幀連接到一個(gè)音頻流中,
- 多對(duì)象(程序)復(fù)用
- 可伸縮層的復(fù)用,
在RTP傳輸中不需要最后兩項(xiàng)性質(zhì)。因此,基于本文規(guī)定的RTP組包原則的應(yīng)用程序不能使
用這兩個(gè)性質(zhì)。由于LATM是為自然音頻編碼工具所開(kāi)發(fā),而非為合成工具開(kāi)發(fā),要用其來(lái)傳輸結(jié)
傳輸SA數(shù)據(jù)和TTSI數(shù)據(jù)。
為了傳輸可伸縮流,每層的音頻數(shù)據(jù)都應(yīng)當(dāng)打包到不同的RTP包,如此才可保證在IP層對(duì)不
同層有不同的處理,比如通過(guò)一些區(qū)分服務(wù)。另一方面,可伸縮流的所有配置數(shù)據(jù)都包含于一個(gè)
LATM配置數(shù)據(jù)"SteamMuxConfig"中,并且每一層共享該 StreamMuxConfig。層與其配置數(shù)據(jù)的映
射是通過(guò)音頻數(shù)據(jù)附帶的LATM頭信息來(lái)完成的。為了表示可縮放流的依賴信息,還針對(duì)負(fù)載類型
(PT)值(見(jiàn)4.2節(jié))的動(dòng)態(tài)分配規(guī)則使用了一種限制措施。
對(duì)于MPEG-4音頻編碼工具而言,如果負(fù)載為單個(gè)音頻幀,則包的丟失不會(huì)影響鄰近包的解
碼。這同樣也適用于其它音頻編碼器。因此MPEG-4音頻不需要附加的用于錯(cuò)誤恢復(fù)的媒體特定頭。
可采用已經(jīng)存在的一些RTP保護(hù)機(jī)制來(lái)提高錯(cuò)誤恢復(fù)率,如通用前向糾錯(cuò)(RFC 2733)和冗余音頻
數(shù)據(jù)(RFC 2198)。
2. 要求的術(shù)語(yǔ)
本文中的關(guān)鍵字“必須”,“必須不”,“要求的”,“應(yīng)該”,“不應(yīng)該”,“會(huì)”,“不會(huì)”,
“建議”,“或許”,“可選的”在 RFC 2119 中解釋。
3. MPEG-4視覺(jué)碼流的RTP組包
本節(jié)規(guī)定了MPEG-4視覺(jué)內(nèi)容的RTP組包規(guī)則。一個(gè)MPEG-4視覺(jué)碼流可直接映射到RTP包而不
需要增加額外的頭字段或者刪除任何視覺(jué)語(yǔ)法元素。為了將基本流的配置信息在相同的RTP端口
上傳送,必須使用合并配置/基本流模式。(參見(jiàn)ISO/IEC 14496-2[2][9][4]中6.2.1"開(kāi)始編碼")
配置信息可以通過(guò)帶外方式規(guī)定。對(duì)于H.323終端,必須使用H.245碼
點(diǎn)"decoderConfigurationInformation"。如果系統(tǒng)使用MIME內(nèi)容類型和SDP參數(shù),如SIP和RTSP,
則必須用可選參數(shù)"config"來(lái)規(guī)定配置信息(參見(jiàn)5.1和5.2)。
當(dāng)使用了短視頻頭模式時(shí),應(yīng)該H.263的RTP負(fù)載格式(建議使用RFC2429定義的格式,但也
可使用RFC2190格式以實(shí)現(xiàn)同舊系統(tǒng)的兼容性)。
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|X| CC |M| PT | sequence number | RTP
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| timestamp | Header
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| synchronization source (SSRC) identifier |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| contributing source (CSRC) identifiers |
| .... |
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+
| | RTP
| MPEG-4 Visual stream (byte aligned) | Pay-
| | load
| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| :...OPTIONAL RTP padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1 – 一個(gè)MPEG-4視覺(jué)流的RTP包
3.1 MPEG-4視覺(jué)中RTP頭字段的使用
負(fù)載類型(PT): 為新的包格式分配RTP負(fù)載類型超出了本文的范疇,不在此贅述。特定類
型應(yīng)用程序的RTP框架應(yīng)該負(fù)責(zé)負(fù)載類型的分配,如若不能則應(yīng)該通過(guò)帶外信令協(xié)議(如,
H.245,SIP等)在動(dòng)態(tài)范圍內(nèi)選擇一個(gè)負(fù)載類型。
擴(kuò)展位(Extension-X bit): 由使用的RTP框架定義。
序列號(hào)(Sequence Number): 為了安全從一個(gè)隨機(jī)初始化值開(kāi)始,每發(fā)送一個(gè)RTP數(shù)據(jù)包加1。
標(biāo)志位(Marker-M) bit: 標(biāo)志位設(shè)為1標(biāo)志這是VOP的最后一個(gè)(或僅有一個(gè))RTP包。若一
個(gè)RTP包中攜帶有多個(gè)VOP則標(biāo)志位也設(shè)為1。
時(shí)間戳(Timestamp): 時(shí)間戳表示RTP包中的VOP采樣時(shí)間。為了安全,加上了一個(gè)隨機(jī)常數(shù)
偏移。
- 當(dāng)一個(gè)RTP包攜帶多個(gè)VOP時(shí),時(shí)間戳表示其中最早的一個(gè)VOP的時(shí)間。其它VOP的時(shí)間戳信
息通過(guò)VOP頭的時(shí)間戳字段可得(modulo_time_base和vop_time_increment)。
- 如果RTP包只含有配置信息或Group_of_VideoObjectPlane()字段,使用編碼隊(duì)列中下一個(gè)
VOP的時(shí)間戳。
- 如果RTP包僅含有visual_object_sequence_end_code信息,使用編碼隊(duì)列中前一個(gè)VOP
的時(shí)間戳。
除非由帶外方式規(guī)定,時(shí)間戳分辨率設(shè)為缺省值90KHz。
其它頭字段的使用見(jiàn)RFC 1889 [8]。
3.2 MPEG-4視覺(jué)碼流分片
使用合并配置/基本流模式,經(jīng)過(guò)分片的MPEG-4視覺(jué)碼流直接映射到RTP負(fù)載而不用增加任何
額外頭字段或者刪除視覺(jué)語(yǔ)法元素。分片時(shí)可應(yīng)用如下規(guī)則。
下文中,頭(Header)可能表示如下信息:
- 配置信息(視覺(jué)對(duì)象序列頭,視覺(jué)對(duì)象頭和視頻對(duì)象層頭)
- visual_object_sequence_end_code
- 基本流的進(jìn)入點(diǎn)函數(shù)頭(Group_of_VideoObjectPlane(),
video_plane_with_short_header(), MeshObject()或FaceObject())
- 視頻包頭 (video_packet_header(),next_resync_marker()除外)
- gob_layer()頭
配置信息和進(jìn)入點(diǎn)函數(shù)的定義參見(jiàn)ISO/IEC 14496-2 [2][9][4]的6.2.1 "開(kāi)始編碼"
(1) 配置信息和Group_of_VideoObjectPlane()字段應(yīng)位于RTP負(fù)載的開(kāi)始位置或在語(yǔ)法上的
上層函數(shù)頭之后。
(2) 如果RTP負(fù)載中存在一個(gè)或多個(gè)頭,則RTP負(fù)載應(yīng)從語(yǔ)法上的最高函數(shù)頭開(kāi)始。
注意: visual_object_sequence_end_code作為最低函數(shù)。
(3) 一個(gè)頭不應(yīng)分到多個(gè)RTP包中。
(4) 不同的VOP應(yīng)該分片為不同的RTP包,一個(gè)RTP包只包括與唯一VOP的時(shí)間相關(guān)的數(shù)據(jù)(在
RTP包頭的時(shí)間戳字段中指出)。例外情況是如果VOP很小,則單個(gè)RTP包攜帶多個(gè)按解碼順序連
續(xù)的VOP。
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -