專利名稱:一種支持多種混合媒體層次性協(xié)商的sdp二維拓展方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種互聯(lián)網(wǎng)流媒體傳輸協(xié)議領(lǐng)域,特別是涉及一種支持多種混合 媒體層次性協(xié)商的SDP 二維拓展方法。
背景技術(shù):
隨著近年來網(wǎng)絡(luò)技術(shù)的飛快發(fā)展,互聯(lián)網(wǎng)多媒體已成為其中極其重要的一個 組成部分。該技術(shù)使得各種媒體數(shù)據(jù)得以在基于IP協(xié)議的互聯(lián)網(wǎng)上方便地進(jìn)行傳 輸和使用。
發(fā)起多媒體視頻會議,撥打IP網(wǎng)絡(luò)電話,或觀看流媒體視頻等時,都需要將 媒體數(shù)據(jù)、傳輸?shù)刂芬约捌渌脑磾?shù)據(jù)等信息傳送給參與者,以便能夠讓參與者 加入進(jìn)來。其中,會話描述協(xié)議SDP (Session Despription Protocol)為這種會 話通知、會話邀請和其它形式的多媒體會話初始化等提供了會話描述。會話目錄 用于協(xié)助多媒體會議的通告,并為會話參與者傳送相關(guān)設(shè)置信息,SDP即用于將 這種信息傳輸?shù)浇邮斩?。SDP完全是一種會話描述格式,它不屬于傳輸協(xié)議,只 使用不同的適當(dāng)傳輸協(xié)議,包括會話通知協(xié)議(SAP)、會話初始協(xié)議(SIP)、實 時流協(xié)議(RTSP)、 MIME擴(kuò)展協(xié)議的電子郵件以及超文本傳輸協(xié)議(HTTP)。
由于SDP協(xié)議簡單實用,許多網(wǎng)絡(luò)應(yīng)用服務(wù)均使用該協(xié)議提供會話描述服務(wù), 如用于語音視頻分組網(wǎng)絡(luò)中的SIP(會話初始協(xié)議)的消息體部分采用SDP進(jìn)行描 述,視頻直播、點(diǎn)播的傳播協(xié)議RTSP/RTP等也采用SDP協(xié)議提供服務(wù),另外在SAP (會話通告協(xié)議)數(shù)據(jù)包的凈載字段中一般情況下填充的就是SDP數(shù)據(jù),它描述 了建立會話所必要的基本信息。但是會話描述協(xié)議(SDP)只能提供對媒體作一維 的、橫向的媒體描述,將各種媒體描述統(tǒng)一對待。
隨著多媒體技術(shù)與網(wǎng)絡(luò)技術(shù)的發(fā)展,各種多媒體服務(wù)之間由原來的絕對獨(dú)立 性,轉(zhuǎn)變?yōu)橄鄬Φ莫?dú)立性,通常表現(xiàn)為以某一項服務(wù)為主,而其他的服務(wù)為輔。 例如在一個提供視頻播放的服務(wù)中,服務(wù)商可能需要提供第三方的增值服務(wù),如 在視頻圖像的某一位置、某一時間播放廣告視頻。在以音視頻(主媒體流)為主 的多媒體應(yīng)用中,務(wù)必讓其他的數(shù)據(jù)流(副媒體流)以主媒體流為參照,即在不 影響主媒體流的正常工作下,盡可能地提供副媒體流的服務(wù)。
如圖1所示,是傳統(tǒng)的解決方法,是對主媒體流和副媒體流這兩種媒體服務(wù), 分別搭建服務(wù)系統(tǒng)。各種媒體流各自獨(dú)立地架構(gòu)系統(tǒng)來提供服務(wù),每一個服務(wù)均
產(chǎn)生獨(dú)立的SDP會話消息體,用于進(jìn)行媒體間的協(xié)商。雖然這樣能夠提供多個媒 體會話服務(wù),但媒體之間的相關(guān)性無法體現(xiàn)出來,而只能通過外在的控制來完成 相關(guān)性的功能,從而使得系統(tǒng)更加復(fù)雜化,也很難取得很好的效果。例如,主媒 體流服務(wù)的優(yōu)先性不能內(nèi)在地表現(xiàn)出來,也不能使相關(guān)控制在系統(tǒng)內(nèi)部加以實現(xiàn)。
另一種解決方法,利用會話描述協(xié)議SDP具有橫向定義多種媒體的功能(即 可以在同一個會話中描述多種媒體流),從而可以實現(xiàn)媒體會話的協(xié)商。如圖2所 示,將多種媒體流(這里指主媒體流和副媒體流)的SDP會話消息體在進(jìn)行會話協(xié) 商之前先簡單合并為一個整體,然后在接收端再將其分解為若干個SDP消息體, 從而得到協(xié)商的目的。這種方法已經(jīng)在本質(zhì)上改變了 SDP標(biāo)準(zhǔn)協(xié)議規(guī)范,所以很 難做到向前的兼容性,不能做到經(jīng)濟(jì)性和方便性;同時,這種方法仍然沒有體現(xiàn) 主媒體流和副媒體流之間的關(guān)系,而是統(tǒng)一對待這兩種媒體流。
從上可知,現(xiàn)有的技術(shù)只能在某一程度上,或者在該種應(yīng)用類型的某一方面 解決了部分問題。在這種主媒體流和副媒體流混合應(yīng)用中,實際情況可能會變得 非常復(fù)雜而難以用上述方法加以解決。譬如在實時流媒體(如網(wǎng)絡(luò)電視)為主的 網(wǎng)絡(luò)服務(wù)中,綜合提供非實時副媒體流的服務(wù)。如果要求保證實時服務(wù)的情況下, 還可以提供非實時的服務(wù),那么這兩者在某種程度上是相沖突的。本專利申請?zhí)?出一種支持多種混合媒體層次性協(xié)商的SDP 二維拓展方法,能夠滿足這一需求。
發(fā)明內(nèi)容
針對上述問題,本發(fā)明的目的是提供一種支持多種混合媒體層次性協(xié)商的SDP 協(xié)議的二維拓展方法。
為實現(xiàn)上述目的,本發(fā)明采取以下技術(shù)方案 一種支持多種混合媒體層次性 協(xié)商的SDP 二維拓展方法,包括步驟如下(1)對各個媒體流進(jìn)行處理,以生成
相應(yīng)的SDP會話消息體;(2)使用拓展方法拓展SDP消息體;(3)將拓展后的SDP 二維消息體作為媒體協(xié)商會話,通過發(fā)送模塊發(fā)送至客戶端;(4)客戶端接收到 拓展后的SDP消息體后,對其進(jìn)行處理。
在所述步驟(1)中對所述各個媒體流進(jìn)行處理,是以主要媒體服務(wù)的SDP消 息體,即主媒體流,作為主媒體流SDP消息體;以其它媒體服務(wù)的SDP消息體, 作為副媒體流SDP消息體。
在所述步驟(2)中,對所述SDP消息體的拓展方法是,主媒體流和副媒體流 使用同一個會話及會話描述;以主媒體流SDP消息體作為擴(kuò)展后的二維拓展框架, 然后將根據(jù)主媒體流SDP消息體信息生成相應(yīng)的副媒體流的SDP消息體作為輸入, 去除會話名以及其他與主媒體流SDP重復(fù)的部分,將其作為屬性添加到主媒體流
SDP消息體中,屬性表示方法是"a=x—"。
所述步驟(4)中所述客戶端對SDP消息體的處理包括分解SDP中的主、副
媒體流的SDP消息體;使用主媒體流SDP初始化解碼器;根據(jù)實際情況選擇副媒 體流的SDP初始化解碼器;解碼顯示媒體流。
所述客戶端由三部分組成接收模塊,解析模塊,發(fā)送模塊;所述接收模塊 用來向流媒體服務(wù)器或其他客戶端網(wǎng)絡(luò)實體請求媒體協(xié)商會話SDP消息體;所述
解析模塊分解SDP 二維拓展消息體,生成主媒體流SDP消息體和副媒體消息體; 所述發(fā)送模塊將主媒體SDP消息體和副媒體消息體發(fā)送至解碼器端,用于初始化
解碼器。
所述客戶端分解主、副媒體流的方法為(a)若客戶端不支持SDP協(xié)議的二維 拓展方法,則按常規(guī)處理,其中拓展部分為無效屬性;(b)若客戶端支持該方法, 則(i)主媒體SDP消息體或者將整個消息體作為主媒體消息體,類似(a);或者 將去除擴(kuò)展部分后的消息體作為主媒體消息體;(ii)副媒體SDP消息體將(a) 中去除的縱向擴(kuò)展部分作為輸入;去掉標(biāo)識"a=x= ",再附加上主媒體流的若 干全局會話部分,但不包括媒體信息部分。
本發(fā)明由于采取以上技術(shù)方案,其具有以下優(yōu)點(diǎn)1、本發(fā)明由于將副媒體流 SDP消息體以屬性的方式添加到主媒體流中,能夠?qū)⒍喾N媒體的應(yīng)用統(tǒng)一處理,簡 化系統(tǒng),并提供層次性的處理方法以區(qū)分多個媒體流間的關(guān)系,增加了系統(tǒng)的靈 活性。2、本發(fā)明由于能夠在同一個客戶端框架內(nèi)作統(tǒng)一處理,因此不必使用多個 客戶端分別進(jìn)行相應(yīng)的會話,保持了向后兼容性。3、本發(fā)明由于采用了層次性的 處理方法,使系統(tǒng)能夠更加適應(yīng)網(wǎng)絡(luò)的變化,從而更加實用。
圖1是傳統(tǒng)的提供多種媒體流交換服務(wù)的系統(tǒng)結(jié)構(gòu)示意圖 圖2是使用已有SDP進(jìn)行描述的多種媒體流交互服務(wù)的系統(tǒng)結(jié)構(gòu)示意圖 圖3是本發(fā)明SDP 二維拓展方法的發(fā)送端和接收端處理示意圖
具體實施例方式
下面結(jié)合附圖和實施例,對本發(fā)明進(jìn)行詳細(xì)的描述。
如圖2所示,是使用已有的SDP協(xié)議進(jìn)行描述的多種媒體流交互服務(wù)的系統(tǒng) 結(jié)構(gòu)示意圖。常規(guī)SDP文本信息包括會話名稱和意圖;會話持續(xù)時間;構(gòu)成會 話的媒體;有關(guān)接收媒體的信息(地址等)。
SDP協(xié)議結(jié)構(gòu)
由于SDP信息是文本信息,因此采用UTF-8編碼中的ISO-10646字符集。SDP
會話描述如下(標(biāo)注*符號的表示可選字段) V =(協(xié)議版本)
0 =(所有者/創(chuàng)建者和會話標(biāo)識符) S =(會話名稱)
1 = * (會話信息)
u 二 * (URI描述) e = * (Email地址) P 二 * (電話號碼)
c = * (連接信息 一 如果包含在所有媒體中,則不需要該字段)
b = * (帶寬信息) 一個或更多時間描述
z = * (時間區(qū)域調(diào)整)
k = * (加密密鑰)
a = * (0個或多個會話屬性行) 0個或多個媒體描述(如下所示)
t =(會話活動時間)
r = * (0或多次重復(fù)次數(shù)) 媒體描述
m =(媒體名稱和傳輸?shù)刂?
i = * (媒體標(biāo)題)
c = * (連接信息 一 如果包含在會話層則該字段可選)
b = * (帶寬信息)
k = * (加密密鑰)
a = * (0個或多個會話屬性行)
圖3表示的是本發(fā)明SDP 二維拓展方法的發(fā)送端和接收端處理示意圖。本例
將以音視頻的實時媒體流為主(主媒體流),其它流(如文本信息流,Hash廣告流)
等為輔(副媒體流),下面以O(shè)ther—Media標(biāo)識輔媒體類型(包括音視頻,消息等。
(l)按照SDP協(xié)議對每一種媒體流(主媒體流和副媒體流)均產(chǎn)生相應(yīng)的SDP
會話描述消息體。具體如下
(a)主媒體流SDP消息體,例如 v=0
o二jdoe 2890844526 2890842807 IN IP4 10.47. 16. 5 s=SDP Seminarli二A Seminar on the session description protocol
u=http://www. example, com/seminars/sdp. pdf
e=j. doe@example. com (Jane Doe)
c=IN IP4 224.2.17.12/127
t=2873397496 2873404696
iFaudio 49170 RTP/AVP 0
m二video 51372 RTP/AVP 99
a=cliprect:0, 0, 352, 240
a=rtpmap:99 h263-1998/90000
(b)副媒體流SDP消息體(可以有多個),例如 v=0
o二jdoe 2890844128 2890842457頂IP4 10. 47.16.5 s=SDP Seminar2
i=A Seminar on the session description protocol
u=http://www. example, com/seminars/sdp. pdf
e=j. doe@example. com (Jane Doe)
c=IN IP4 224. 2. 17. 12/127
t=287400000 2873402222
m=0ther—Media 0 RTP/AVP 0
a二rtpmap:…
a=cliprect:300, 0, 352, 240
(2)要確保核心部分與主媒體流SDP—致,這包括每一個協(xié)商會話只有一 個,話名。i每副媒體的SDP消l^體,以屬性的方法添加到主媒體流中,以"^f…" 來標(biāo)識這是副媒體流,如下所示
a=x=t=287400000 2873402222
a=x=mOther—Media 0 RTP/AVP 0
an二rtpm叩…
a=x=a=cliprect:300, 0, 352, 240
這里主媒體流和副媒體流使用同一個會話及會話描述,但會話對應(yīng)主、副媒 體流的存活時間不同,以便讓播放器端根據(jù)該參數(shù)適時播放。最后得到的SDP二維 拓展消息體如下所示
v二O
o=jdoe 2890844526 2890842807 IN IP4 10.47.16.5 s二SDP Seminarl
i=A Seminar on the session description protocol u=http://www. example.com/seminars/sdp. pdf e=j. doe@example. com (Jane Doe) c二IN IP4 224,2.17. 12/127 t=2873397496 2873404696 ra=audio 49170 RTP/AVP 0 ra=video 51372 RTP/AVP 99 a=cliprect:0, 0, 352, 240
<formula>formula see original document page 9</formula>
(3) 生成主媒體流SDP消息體。
當(dāng)接收端通過會話協(xié)商獲取到SDP 二維拓展消息體后,有兩種方法獲取主媒 體流SDP消息體
(a) 將SDP二維拓展消息體不作任何處理,作為主媒體消息體用來初始化解 碼器,其中的縱向擴(kuò)展的信息將被視作無效數(shù)據(jù);
(b) 去除SDP二維拓展消息體中的縱向描述部分后,將剩余信息作為主媒體 流消息體用于初始化解碼器,這部分信息為原始主媒體流SDP消息體。
若客戶端不支持該二維拓展,則按照方式(a)處理即可,這時只需初始化主
媒體流的客戶播放端。
(4) 生成副媒體流SDP消息體。
若客戶端支持本發(fā)明的SDP 二維拓展方法,則在產(chǎn)生主媒體流的SDP消息體 之后,根據(jù)"a=x〕-"標(biāo)識抽取出副媒體的信息;同時去掉所有"a二x—"標(biāo)識, 并與主媒體流SDP描述信息的會話部分組合,生成副媒體流SDP會話消息體。除 不必再次進(jìn)行客戶端與服務(wù)器端的全局交互部分之外,其他處理同常規(guī)SDP的處 理方式一致,其中規(guī)則如下
(a) 下面所有屬性均同主媒體流SDP會話消息體一致, v= (SPD版本號)
0=(所有者/創(chuàng)建者和會話描述符) s=(會話名稱)
(b) 下面的屬性可以使用在副媒體流SDP消息體中,即是加在"a=x= "標(biāo) 識之后
t=(副媒體流會話活動時間)
r=* (O或重復(fù)次數(shù))
i=* (會話信息)
u=* (URI描述)
e=* (Email地址)
P=* (電話號碼)
c=* (連接信息)
b=* (帶寬信息) Z=* (時間區(qū)域)
k=* (加密密鑰)
m=(媒體名稱和傳輸?shù)刂?
a=* (O個或多個會話屬性行) (c)、當(dāng)縱向定義中屬性與主媒體流重復(fù)時,將以縱向定義屬性作為副媒體 流SDP消息體的屬性。
現(xiàn)在,客戶端可以使用同一個SDP進(jìn)行媒體會話協(xié)商,不用作任何處理,即 可按照原SDP處理方式進(jìn)行,然后再根據(jù)實際需求分解出其他副媒體流SDP;其中 副媒體流的SDP生成按照以上提到的方法即可。主、副媒體流SDP之間的處理可 以在同一個程序中作統(tǒng)一處理,這樣能極好地提高主媒體流和副媒體流之間的交 互性和可控性。
權(quán)利要求
1、一種支持多種混合媒體層次性協(xié)商的SDP二維拓展方法,包括步驟如下(1)對各個媒體流進(jìn)行處理,以生成相應(yīng)的SDP會話消息體;(2)使用拓展方法拓展SDP消息體;(3)將拓展后的SDP二維消息體作為媒體協(xié)商會話,通過發(fā)送模塊發(fā)送至客戶端;(4)客戶端接收到拓展后的SDP消息體后,對其進(jìn)行處理。
2、 如權(quán)利要求1所述的一種SDP協(xié)議的二維拓展方法,其特征在于在所述 步驟(1)中對所述各個媒體流進(jìn)行處理,是以主要媒體服務(wù)的SDP消息體,即主 媒體流,作為主媒體流SDP消息體;以其它媒體服務(wù)的SDP消息體,作為副媒體 流SDP消息體。
3、如權(quán)利要求1所述的一種SDP協(xié)議的二維拓展方法,其特征在于在所 述步驟(2)中,對所述SDP消息體的拓展方法是,主媒體流和副媒體流使用同一 個會話及會話描述;以主媒體流SDP消息體作為擴(kuò)展后的二維拓展框架,然后將 根據(jù)主媒體流SDP消息體信息生成相應(yīng)的副媒體流的SDP消息體作為輸入,去除 會話名以及其他與主媒體流SDP重復(fù)的部分,將其作為屬性添加到主媒體流SDP 消息體中,屬性表示方法是"a=x〕""。
4、 如權(quán)利要求2所述的一種SDP協(xié)議的二維拓展方法,其特征在于在所述 步驟(2)中,對所述SDP消息體的拓展方法是,主媒體流和副媒體流使用同一個 會話及會話描述;以主媒體流SDP消息體作為擴(kuò)展后的二維拓展框架,然后將根 據(jù)主媒體流SDP消息體信息生成相應(yīng)的副媒體流的SDP消息體作為輸入,去除會 話名以及其他與主媒體流SDP重復(fù)的部分,將其作為屬性添加到主媒體流SDP消 息體中,屬性表示方法是"a=x〕-"。
5、 如權(quán)利要求1或2或3或4中所述的一種SDP協(xié)議的二維拓展方法,其特 征在于所述步驟(4)中所述客戶端對SDP消息體的處理包括分解SDP中的主、 副媒體流的SDP消息體;使用主媒體流SDP初始化解碼器;根據(jù)實際情況選擇副 媒體流的SDP初始化解碼器;解碼顯示媒體流。
6、 如權(quán)利要求1所述的一種SDP協(xié)議的二維拓展方法,其特征在于所述客 戶端由三部分組成接收模塊,解析模塊,發(fā)送模塊;所述接收模塊用來向流媒體服務(wù)器或其他客戶端網(wǎng)絡(luò)實體請求媒體協(xié)商會話SDP消息體; 所述解析模塊分解SDP 二維拓展消息體,生成主媒體流SDP消息體和副媒體消 息體;所述發(fā)送模塊將主媒體SDP消息體和副媒體消息體發(fā)送至解碼器端,用于初始 化解碼器。
7、 如權(quán)利要求1或2或3或4或6所述的一種SDP協(xié)議的二維拓展方法,其特征在于所述客戶端分解主、副媒體流的方法為(a) 若客戶端不支持SDP協(xié)議的二維拓展方法,則按常規(guī)處理,其中拓展部分為無效屬性;(b) 若客戶端支持該方法,則(i) 主媒體SDP消息體或者將整個消息體作為主媒體消息體,類似(a);或 者將去除擴(kuò)展部分后的消息體作為主媒體消息體;(ii) 副媒體SDP消息體將(a)中去除的縱向擴(kuò)展部分作為輸入;去掉標(biāo)識 "a二x二…",再附加上主媒體流的若干全局會話部分,但不包括媒體信息部分。
8、 如權(quán)利要求5所述的一種SDP協(xié)議的二維拓展方法,其特征在于所述客戶端分解主、副媒體流的方法為(a) 若客戶端不支持SDP協(xié)議的二維拓展方法,則按常規(guī)處理,其中拓展部分為無效屬性;(b) 若客戶端支持該方法,則(i) 主媒體SDP消息體或者將整個消息體作為主媒體消息體,類似(a);或 者將去除擴(kuò)展部分后的消息體作為主媒體消息體;(ii) 副媒體SDP消息體將(a)中去除的縱向擴(kuò)展部分作為輸入;去掉標(biāo)識 "a=x—*",再附加上主媒體流的若干全局會話部分,但不包括媒體信息部分。
全文摘要
本發(fā)明涉及一種支持多種混合媒體層次性協(xié)商的SDP二維拓展方法步驟如下(1)對各個媒體流進(jìn)行處理,以生成相應(yīng)的SDP會話消息體;(2)使用拓展方法拓展SDP消息體;(3)將拓展后的SDP二維消息體作為媒體協(xié)商會話,通過發(fā)送模塊發(fā)送至客戶端;(4)客戶端接收到拓展后的SDP消息體后,對其進(jìn)行處理。本發(fā)明由于將副媒體流SDP消息體以屬性的方式添加到主媒體流中,能夠?qū)⒍喾N媒體的應(yīng)用統(tǒng)一處理,簡化系統(tǒng),并提供層次性的處理方法以區(qū)分多個媒體流間的關(guān)系,增加了系統(tǒng)的靈活性。由于能夠在同一個客戶端框架內(nèi)作統(tǒng)一處理,因此不必使用多個客戶端分別進(jìn)行相應(yīng)的會話,保持了向后兼容性。由于采用了層次性的處理方法,使系統(tǒng)能夠更加適應(yīng)網(wǎng)絡(luò)的變化,從而更加實用。
文檔編號H04L29/06GK101170565SQ20071017886
公開日2008年4月30日 申請日期2007年12月6日 優(yōu)先權(quán)日2007年12月6日
發(fā)明者強(qiáng) 付, 周曉聰, 徐永澤, 霍龍社, 文 高 申請人:北京廣視通達(dá)網(wǎng)絡(luò)技術(shù)有限公司;北京大學(xué)