專利名稱:在實時控制協(xié)議(rtcp)消息中嵌入會話描述消息的制作方法
技術領域:
本發(fā)明涉及媒體流化和數據傳輸,尤其涉及在RTCP消息中嵌入一會話描述消息。
背景技術:
諸如音頻、視頻和/或文本流化這樣的內容流化日益變得普遍。術語“流化”一般用來表明表示內容是根據需要通過網絡被提供給客戶計算機、而不是在回放前被全部預先傳送的數據。因此,客戶計算機在從網絡服務器接收到流化內容時呈現流化內容,而不是等到傳送整個“文件”。
流化多媒體內容的廣泛使用使以前在互聯網或其它計算機網絡上不可用的多種信息內容成為可用。實況內容是這種內容的一個重要例子。通過使用流化多媒體,顯著事件的視頻、音頻或音頻/視覺覆蓋可以在事件展開時通過互聯網被廣播。類似地,電視和無線電站可以通過互聯網發(fā)送它們的實況內容。
會話描述協(xié)議(SDP)“網絡工作組請求注解Network Working Group Requestfor Comments(RFC)2327”是一基于文本的格式,該格式用來描述多媒體演示的屬性,稱為“會話”,以及演示內所包含的一個或多個媒體流的屬性。SDP已經被開發(fā)成為了會話通告、會話邀請以及其它形式的多媒體會話啟動的目的而描述多媒體會話的應用層協(xié)議。SDP可以根據其它協(xié)議來使用,比如實時流化協(xié)議(RTSP)或超文本傳輸協(xié)議(HTTP),用來描述和/或協(xié)商流化數據傳輸所用的多媒體會話的屬性。
然而,在許多情況下,難以把SDP信息從網絡服務器取得至客戶計算機。例如,網絡服務器可以把一系列多媒體演示流化到客戶計算機,比如播放列表中列出的演示。當網絡服務器從流化一個演示切換到下一個演示時,通常難以使下一個演示的SDP信息對于客戶計算機可用。因此,具有一種能使SDP信息對于客戶計算機可用的額外機制是有益的。
內容流化也可以是多播傳送。多播傳送流化內容的常規(guī)方法一般包括提供要被多播傳送到一服務器的內容,所述服務器接著通過一網絡來多播傳送所述內容(即無須從接收這些流的客戶機反饋)。服務器一般在具有不同格式(例如比特率、語言、編碼方案等)的幾個流中多播傳送所述內容。然后,附著于網絡的客戶機可以接收適用于其資源的流。為使客戶機能選擇要接收哪些流,一種多播傳送方法要求服務器提供一文件,該文件提供了使客戶機能打開內容流的“多播傳送信息”。維持和公布這一文件一般是手動的過程,具有相對高的管理成本。而且,如果沒有被正確維持和公布,客戶機可能遇到問題,這會導致用戶不滿。這個方法的另一個問題是客戶機必須使它們的“多播傳送信息”保持更新,使得它們能正確地存取內容。這一問題對于沒有適當返回信道來請求更新的客戶機尤其嚴重(例如具有單向衛(wèi)星鏈路的客戶機)。
發(fā)明內容
這里公開了在一實時控制協(xié)議(RTCP)消息中嵌入一會話描述消息。從媒體內容源發(fā)送到受信者的至少一些RTCP消息內嵌入了一會話描述消息,該會話描述消息描述了被流化到受信者的媒體演示。
按照特定的方面,嵌有會話描述消息的RTCP消息包括至少三個字段。第一字段包含把RTCP消息標識為嵌有會話描述消息的類型的數據。第二字段包含的數據是用于媒體演示的會話描述消息。第三字段包含了標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度和第三字段的長度相加而生成。
按照其它方面,RTCP消息在諸如服務器設備這樣的一個設備處創(chuàng)建。RTCP消息內嵌入的會話描述消息與一媒體內容播放列表內的多塊媒體內容之一相關聯,所述播放列表從所述設備被流化到受信者。
按照其它方面,多媒體演示使用包括演示描述信息的一個通告信道以及用于多個多媒體數據流的多個信道來進行多播傳送,以便適應具有不同多媒體資源的客戶機。客戶機可以使用通告信道來選擇適用于其多媒體資源的信道。
按照其它方面,以預定的方式(例如預先選擇的邏輯地址、預先選擇的IP地址部分等等)來創(chuàng)建這些信道,使得客戶機能在不加入通告信道的情況下(或與之并發(fā)地)立即加入一信道,以便減少啟動等待時間。
按照其它方面,可以創(chuàng)建一加速信道以“比實時快”的比特率(即以比多媒體流的比特率快的速率)提供數據塊,所述數據塊包含當前的多媒體演示單元以及預選數量的先前單元。這一特性使具有適當資源的客戶機能更快地緩沖足夠的數據來開始把多媒體數據向用戶演示?;蛘?,加速信道無須“比實時快”,因此客戶機同時加入加速信道以及多播傳送多媒體數據的另一信道,因此實際上客戶機以“比實時快”的速率接收多媒體數據。
本文中使用相同的數字來索引相同的組件和/或特征。
圖1說明了可以用這里所述RTCP消息內嵌入的會話描述消息對媒體進行流化的示例網絡環(huán)境。
圖2說明了可以用這里所述的RTCP消息內嵌入的會話描述消息對媒體內容進行流化的示例客戶機和服務器設備。
圖3說明了在多播傳送環(huán)境中可以用這里所述的RTCP消息內嵌入的會話描述消息對媒體內容進行流化的示例客戶機和服務器設備。
圖4說明了在服務器端的播放列表環(huán)境中可以用這里所述的RTCP消息內嵌入的會話描述消息對媒體內容進行流化的示例客戶機和服務器設備。
圖5說明了具有嵌入的會話描述消息的RTCP消息的示例格式。
圖6說明了一示例會話描述消息格式。
圖7是說明在使用播放列表時在RTCP消息中嵌入會話描述消息的示例過程的流程圖。
圖8是說明在使用播放列表時接收RTCP消息中的會話描述消息的示例過程的流程圖。
具體實施例方式
這里討論了在一實時控制協(xié)議(RTCP)消息中嵌入一會話描述消息。多媒體或單個媒體演示使用實時傳輸協(xié)議(RTP)分組從一媒體內容源(比如服務器設備)被流化到一受信者(比如客戶機設備)。與被流化的演示有關的控制信息也使用RTCP消息從媒體內容源被發(fā)送到受信者。至少一些RTCP消息內嵌入的是描述被流化的演示的會話描述消息。
在這里的討論中,參照從媒體內容源被流化到受信者的多媒體演示。媒體內容源可以是任一媒體內容源,例如服務器設備。受信者可以是任一媒體內容受信者,例如客戶機設備。此外應該理解,盡管這里的討論是指被流化的多媒體演示,但是單個媒體演示也可以以和這里關于多媒體演示討論的方式所相同的方式來流化。
圖1說明了可以使用這里所述的RTCP消息內嵌入的會話描述消息對媒體進行流化的示例網絡環(huán)境100。在環(huán)境100中,多個(a個)客戶計算設備102(1)、102(2)、…、102(a)通過網絡106耦合到多個(b個)服務器計算設備104(1)、104(2)、…、104(b)。網絡106用來表示多種常規(guī)網絡技術和類型的任一種(包括有線和/或無線網絡),采用了多種常規(guī)網絡協(xié)議的任一種(包括公共和/或私有協(xié)議)。網絡106可以包括例如互聯網以及可能一個或多個局域網(LAN)的至少一部分。
計算設備102和104可以分別是多種常規(guī)計算設備的任一種,包括臺式PC、工作站、大型計算機、互聯網設備、游戲控制臺、手持PC、蜂窩電話、個人數字助理(PDA)等等。設備102和104的一個或多個可以是相同類型的設備,或是不同類型的設備。
服務器設備104可以使多種數據的任一種可用于流化到客戶機102。術語“流化”是指表示媒體的數據通過網絡被提供給客戶機設備,且內容的回放會在內容被完全傳送以前開始(根據需要提供數據而不是在回放前預先傳送全部的數據)。數據可以是公眾可用的或是受限的(例如受限為僅僅特定的用戶、僅在付了適當費用后才可用等等)。數據可以是各種一類或多類內容的任一種,比如音頻、視頻、文本、動畫等等。此外,數據可以被預先記錄或者是“實況的”(例如在進行音樂會時捕獲音樂會的數字表示,并且僅在捕獲后一會兒就可用于流化)。
客戶機設備102可以從把流化媒體內容保存為一文件的服務器104接收流化媒體,或者從接收來自某一其它信源的流化媒體的服務器104接收流化媒體。例如,服務器104可以從把流化媒體內容保存為一文件的另一服務器接收流化媒體,或者可以從某一其它信源(例如對“實況”事件編碼的編碼器)接收流化媒體。
如這里所使用的,流化媒體是指把一個或多個媒體流從一個設備流化到另一個設備(例如從服務器設備104流化到客戶機設備102)。媒體流可以包括多類內容的任一類,比如音頻、視頻、文本等等的一個或多個。
圖2說明了可以用這里所述的RTCP消息內嵌入的會話描述消息對媒體內容進行流化的示例客戶機和服務器設備。一般在客戶機設備102和服務器設備104處遵循多個不同的協(xié)議,以便把媒體內容從服務器設備104流化到客戶機設備102。這些不同的協(xié)議可以負責流化過程的不同方面。盡管未在圖2中示出,一個或多個其它設備(例如防火墻、路由器、網關、網橋等等)也可以位于客戶機設備102和服務器設備104之間。
在圖2的例子中,應用層協(xié)議150、傳輸協(xié)議152以及一個或多個傳送信道協(xié)議154可以被用作流化過程的一部分。也可以采用圖2未示出的其它協(xié)議(例如在應用層協(xié)議150和傳輸協(xié)議152之間可能有其它協(xié)議)。應用層協(xié)議150是在應用層用于控制具有實時屬性的數據傳遞的協(xié)議。應用層協(xié)議150提供了一可任選擴展的框架,用于使能實時數據的受控、立即響應式傳送,比如流化音頻和視頻內容。應用層協(xié)議150是用來開始和引導來自媒體服務器的流化多媒體傳遞的控制協(xié)議。應用層協(xié)議150的例子包括實時流化協(xié)議(RTSP)以及超文本傳輸協(xié)議(HTTP),前一協(xié)議在1998年4月的“網絡工作組請求注解(RFC)2326”中描述,后一協(xié)議在1996年5月的“網絡工作組請求注解(RFC)1945”或者1997年1月的“網絡工作組請求注解(RFC)2068”中描述。
應用層協(xié)議150使用傳輸協(xié)議152來傳送實時數據,比如流化的音頻和視頻。傳輸協(xié)議152定義了媒體流的分組格式。傳輸協(xié)議152提供適合應用程序通過多播傳送或單播傳送網絡服務來發(fā)送諸如音頻、視頻或模擬數據等實時數據的端對端網絡傳輸功能。傳輸協(xié)議152的例子包括在2003年7月的“網絡工作組請求注解(RFC)3550”中描述的實時傳輸協(xié)議(RTP)和實時控制協(xié)議(RTCP)。也可以使用RTP和RTCP的其它版本,比如將來的草案或標準化的版本。RTP未解決地址資源保留,并且不保證實時服務的服務質量。數據傳輸由控制協(xié)議(RTCP)擴充以便能以可縮放為大多播傳送網絡的方式來監(jiān)視數據傳送,并且提供一些控制和標識功能。
RTCP協(xié)議把一個或多個控制消息組成一個單元,稱為RTCP分組。一個或多個RTCP分組內嵌有包括會話描述消息在內的控制消息。會話描述消息描述了從服務設備104被流化到客戶機設備102的多媒體演示的屬性。因此,從服務器設備104到客戶機設備102的流化媒體包括會話描述消息。
傳輸協(xié)議152使用傳送信道協(xié)議154進行傳輸連接。傳送信道協(xié)議154包括用于把數據分組從服務器設備104傳輸到客戶機設備102的一個或多個信道。每個信道一般用來為單個媒體流發(fā)送數據分組,然而在替代的實施例中,可以使用單個信道來為多個媒體流發(fā)送數據分組。傳送信道協(xié)議154的例子包括傳輸控制協(xié)議(TCP)分組和用戶數據報協(xié)議(UDP)分組。TCP確保數據分組的傳送,而UDP不確保數據分組的傳送。通常,和使用UDP傳送數據分組相比,使用TCP傳送數據分組更為可靠,但也更消耗時間。
圖3說明了在多播傳送環(huán)境中可以用這里所述的RTCP消息內嵌入的會話描述消息對媒體內容進行流化的示例客戶機和服務器設備。在特定的實施例中,圖2的協(xié)議150、152和154包括在圖3的客戶機和服務器設備中,但圖中未示出。而且,盡管圖3中未示出,一個或多個其它設備(例如防火墻、路由器、網關、網橋等等)也可以位于客戶機設備102和服務器設備104之間。
服務器設備104的流模塊182把同一多媒體演示流化成多個(x個)客戶機設備102(1)、102(2)、…、102(x)的每一個。每個客戶機設備103都有一個流媒體播放器184,該播放器接收流化的多媒體演示,并且在客戶機設備102處處理接收到的流,一般是在客戶機設備102處回放多媒體演示。相同的數據近乎同時被流化到每一個客戶機設備102,允許服務器設備104一次僅流化同一多媒體演示的一次出現,而監(jiān)聽這一呈現的各個客戶機設備102被流化。
流媒體186包括其中嵌有一個或多個會話描述消息的RTCP消息。相同的會話描述消息在多媒體演示流化期間可以被廣播多次,從而使新客戶機設備102在流化已經開始后監(jiān)聽流媒體,但仍舊接收描述多媒體演示的會話描述消息。通過在流媒體186的RTCP消息內嵌入會話描述消息,客戶機設備102無須監(jiān)聽可能來自服務器設備102以外的設備的單獨的流或廣播,以便接收會話描述消息。
第10/693430號美國待批申請描述了這一多播傳送環(huán)境的例子,該申請于2003年10月24日提交,題為“Methods and Systems for Self-DescribingMulticasting of Multimedia Presentations”,其通過引用被結合于此。
圖4說明了在服務器端播放列表環(huán)境中可以用這里所述的RTCP消息內嵌入的會話描述消息對媒體內容進行流化的示例客戶機和服務器設備。在特定的實施例中,圖2的協(xié)議150、152和154可以包括在圖4的客戶機和服務器設備中,但圖中未示出。而且,盡管圖3中未示出,但是一個或多個其它設備(例如防火墻、路由器、網關、網橋等)可以位于客戶機設備102和服務器設備104之間。
服務器設備104的流模塊202把一多媒體演示作為流媒體104流化到客戶機設備102的流媒體播放器206。流媒體播放器206接收流化的多媒體演示,并且在客戶機設備102處處理接收到的流,一般是在客戶機設備102處回放多媒體演示。
服務器設備104包括一播放列表208,播放列表208標識了多個(y個)媒體內容塊210(1)、210(2)、…、210(y)。在特定的實現中,播放列表208包括多個條目,每個條目都標識了多塊媒體內容210之一。或者,播放列表208可以標識一塊媒體內容,然而在這些情況下,一塊媒體內容僅由其自身來索引,而不是通過使用播放列表來索引??蛻魴C設備102能選擇一資源用于回放,該資源標識了播放列表208。流模塊202存取所標識的播放列表208,然后存取各塊媒體內容210,并把那些塊210流化到客戶機設備102。因此,客戶機設備102能存取一個資源,而且還有從服務器設備104流化的多塊不同的媒體內容。由于播放列表208由服務器設備104存取并索引以標識媒體內容塊,而不是由客戶機設備102存取和索引,因此播放列表208也可以被稱為服務器端的播放列表。
每一塊媒體內容210都包括一個或多個媒體流。不同的媒體內容塊210會包括不同數量的媒體流。每一塊媒體內容210一般是一多媒體演示。定義一“塊”內容的方式可以根據實現方式并基于媒體類型而變化。例如,對于音樂音頻和/或視頻內容,每首歌曲可以是一塊內容。內容可以根據自然邊界(例如不同的歌曲)被分成多個塊,或者以其它任意方式來劃分(例如每五分鐘的內容是一塊)。對于所保存的內容,不同的內容塊可以被保存為多個文件或者同一文件。
盡管圖3和4中示出兩個分開的圖,然而可以理解,由圖4所示的服務器端播放列表索引的媒體內容塊可以如圖3所示地被多播傳送。
參照圖2、3和4,在傳輸層,要從服務器設備104流化到客戶機設備102的數據嵌入在RTP分組內。與被流化的數據以及RTP分組有關的控制信息嵌入在RTCP分組內的一個或多個控制消息內。
一般而言,RTCP分組包括幾個不同類型的消息。RTCP分組內的第一消息是接收者報告或發(fā)送者報告。第二消息是一SDES(源描述)消息。SDES消息包含一個或多個文本的元數據項。SDES消息包含一CNAME(規(guī)范名)項。CNAME項是媒體內容源的永久傳輸層標識符,并且在RTP同步源(SSRC)數字和文本串之間提供了映射。SSRC是RTP(和RTCP)分組流的源。使用CNAME使得參與屬于同一演示的多個RTP會話的發(fā)送者或接收者可以在各個RTP會話中使用不同的SSRC值,但使CNAME值保持相同。
可以包括在RTCP分組內的另一類消息是其中嵌有會話描述消息的控制消息。會話描述消息描述了從服務器設備104被流化到客戶機設備102的多媒體演示的屬性??梢詾檫@種會話描述消息使用不同的媒體格式或協(xié)議。這一媒體格式的一個例子是會話描述協(xié)議(SDP),于1998年4月由“網絡工作組請求注解(RFC)2327”公布。在特定的實施例中,這里討論的會話描述消息是符合RFC2327所述的SDP格式的消息。
盡管可以使用不同的格式來描述多媒體演示的屬性,然而從服務器設備104向客戶機設備102發(fā)送包括屬性標識符在內的一個或多個會話描述消息。單個會話描述消息可由服務器設備104為一特定的多媒體演示而發(fā)送,或者可以發(fā)送多個會話描述消息。如果發(fā)送了多個會話描述消息,則多個消息可以包括相同的信息、不同的信息或者重疊的信息。
會話描述消息可以包括例如以下的一個或多個用于多播傳送多媒體演示的各個信道的標識;多媒體演示內可用的各個多媒體流的描述(例如表明流的類型(如視頻或音頻)、各個媒體流的比特率、流中所使用的語言等等);糾錯信息;安全/驗證信息;加密信息;或者數字權利管理(DRM)信息;等等。
應該注意到,在特定的情況下,會話描述消息可以在多個RTCP控制消息間分開或分段。這種情況會在會話描述消息非常大的時候產生。這些RTCP控制消息的每一個都包括在不同的RTCP分組內,每個都包含整個會話描述消息的一部分或一個分段。客戶機設備102在接收到全部的部分或分段時把它們組成在一起,以便重新創(chuàng)建會話描述消息。
圖5說明了嵌有一會話描述消息的RTCP控制消息250的示例格式。以下討論的RTCP消息250包括多個字段(也稱為部分),每個字段都保存各種數據。應該理解,這些字段可以以和下面討論且在圖5中示出的順序所不同的順序來排列。此外,盡管下面討論了這些字段的大小或長度(單位為比特),然而應該理解,這些僅僅是例子,字段也可以大于或小于這些示例的大小或長度。在特定的實施例中,RTCP消息250包括比圖5所示全部字段少的字段,或者可以包括圖5未示出的附加字段。
RCTP消息250的字段可以被視為組成三組報頭290、RTP狀態(tài)塊292以及會話描述消息284。報頭290包括與RTCP消息250有關的各個信息。RTP狀態(tài)塊292是任選的,在包括它時用來標識與會話描述消息中描述的多媒體演示流有關的RTP特定信息(例如用來指定會話描述消息內一個流的SSRC和初始RTP序列號)。一般而言,對于多媒體演示中的每個媒體流,一個RTP狀態(tài)塊292與RTCP消息250相關聯并包括在RTCP消息250中。會話描述消息284是嵌在RTCP消息250內的會話描述消息。
V(版本)字段252是標識了所使用的RTP版本的2位字段,這在RTCP分組中和在RTP分組中相同。例如,RFC 3550所定義的版本為2。
P(填充)字段254為一位,在設置時(例如設為值1)表明RTCP消息250在結尾處包含一些附加的填充,它不是控制信息的一部分。這一填充包括在長度字段262內,但或者應該被忽視。填充量包括在填充自身內。在特定的實現中,附加填充用八位組表示,填充的最后一個八位組是包括(包括其本身)并應忽略多少填充八位組的計數。
C(壓縮)字段256為一位,在設置時(例如具有值1)表明SDP數據字段284中的數據已經被壓縮。可以使用不同類型的壓縮,比如使用在“ZLIB壓縮數據格式規(guī)范版本3.3”中討論的Zlib壓縮,于1996年5月由“網絡工作組請求注解(RFC)”公布。
Res(保留)字段258是一4位保留字段。在特定的實現中,Res字段258應該被設為零。
PT(負載類型)報頭字段260是一7位字段,它被設為一值(例如141)以表明RTCP消息250嵌有一會話描述消息。
長度字段262是一16位字段,它標識了RTCP消息250的長度。這一長度可以通過把RTCP消息250內各個字段的長度相加而生成,包括任何報頭以及任何填充。在特定的實現中,長度用32位的量減一來標識。
SDPMsgHash(SDP消息散列)字段264是一16位字段,用來標識RTCP消息250內包括的會話描述消息以及發(fā)送者(例如服務器設備104)的地址(例如IP地址)。在特定的實現中,字段264中的標識符用會話描述消息和地址上的校驗和來計算,因此如果任一個發(fā)生變化,則字段264內標識符的值也變化。在特定的實現中,SDPMsgHash字段264的值以和“msg id散列”字段相同的方式計算,后一字段在“會話通告協(xié)議(SAP)”中描述,于2000年10月由“網絡工作組請求注解(RFC)2974”公布。如果會話描述消息在多個RTCP消息上分段,如下所述,則每一分段的SDPMsgHash字段264的值應該相同。
F(更多分段)字段266為1位,在設置時(例如具有值1)表明會話描述消息已經被分段成多個RTCP消息,且當前的RTCP消息不包含會話描述消息的最后一個分段。如果F字段266未設置(例如值為0),則會話描述消息未被分段(完整的會話描述消息包括在RTCP消息250內),或者會話描述消息已被分段且RTCP消息250包含會話描述消息的最后一個分段。
FragSeqNum(分段序列號)字段268是一15位字段,用來標識一會話描述消息的不同分段。會話描述消息的分段以對于服務器設備104和客戶機設備102均已知的方式分配到標識符。例如,標識符可以從值0開始順序分配,因此第一分段的值為0、第二字段值為1、第三字段值為2、依此類推。如果RTCP消息250不包含會話描述消息的一個分段(即RTCP消息250包含完整的會話描述消息),則FragSeqNum字段268應該被設為0。
NumRtpState(數字RTP狀態(tài))字段270是一16位字段,用來指定RTCP消息250內包含的RTP狀態(tài)塊的數目。每個RTP狀態(tài)塊的大小均為14字節(jié)。當不存在RTP狀態(tài)塊時,“NumRtpState”字段被設為0。在RTCP消息250的所示例子中,有一個RTP狀態(tài)塊292。如果有多個RTP狀態(tài)塊,則為多個RTP狀態(tài)塊的每一個包括字段272、274、276、278、280和282。如果一會話描述消息被分段成多個RTCP消息250,則只有包含會話描述消息第一分段的RTCP消息250才應該包含RTP狀態(tài)塊。
A字段272是1位字段,如果PT字段274包含有效的RTP負載類型數,則不設置這一字段(例如值為0)。如果未設置A字段272,則RTP狀態(tài)塊292內的信息僅用于PT字段274中標識的RTP負載類型數以及流ID字段276中標識的SDP流ID。如果設置了A字段272(例如值為1),則應該忽視PT字段274,且無論使用什么RTP負載類型,RTP狀態(tài)塊292都用于流ID字段276中標識的SDP流ID的全部RTP分組。
PT字段274是一7位字段,指定了RTP狀態(tài)塊292內信息的RTP負載類型數。如果設置了A字段272(例如值為1),則PT字段274不使用并且應該被設為0。
流ID字段276是一24位字段,它標識了RTP狀態(tài)塊292內信息所指的SDP流ID。每個媒體流都通過一不同的RTP會話來流化。這些RTP會話用“a=mid”屬性分配到一個數,該屬性在2002年12月公布的“會話描述協(xié)議(SDP)中媒體行組成,網絡工作組請求注解(RFC)3388”中描述。流ID字段276在會話描述消息中標識了一特定的“m=”條目,其值和“m=”項的“a=mid”屬性值相同(按照RFC 3388)。
SSRC(同步源)字段278是一32位字段,其指定了由流ID字段276所標識的媒體流所使用的RTP SSRC字段值。如果未設置A字段272(例如值為0),則SSRC字段278僅用于這一媒體流的RTP分組,這些RTP分組使用由PT字段274所賦予的RTP負載類型。
RtpTime(RTP時間)字段280是一32位字段,它指定了一RTP分組可能具有的RTP時標字段的值,加入該分組正好在流ID字段276所標識的媒體流的開始時被發(fā)送。例如,如果媒體演示的時間線從時刻T開始,則RtpTime字段280的值是可能正好在時刻T被發(fā)送的分組的RTP時標字段值,即使對于Rtp狀態(tài)塊292所標識的媒體流來說沒有這樣的RTP分組實際存在。
RtpSeq(RTP序列)字段282是一16位字段,它給為流ID字段276所標識的媒體流所發(fā)送的第一RTP分組的RTP序列號字段賦值。如果未設置A字段272(例如值為0),則RtpSep字段282僅用于這一媒體流的使用PT字段274所賦予的RTP負載類型的RTP分組。
SDP數據字段284是嵌入在RTCP消息250內的會話描述消息。在會話描述消息被分段的情況下,SDP數據字段284僅包含會話描述消息的一部分(例如會話描述消息的一個分段)。在特定的實現中,會話描述消息是格式為UTF-8的完整SDP描述。
圖6說明了一示例會話描述消息格式。盡管圖6示出一具體的例子,然而會話描述消息可能有字段或部分有不同順序的格式,或者在不同的消息上擴展。
會話描述消息320包括一會話層描述部分322以及零個或多個媒體層描述部分324。會話層描述部分322包括這樣的數據所述數據具有用于整個會話的一個或多個字段以及作為會話一部分的全部媒體流。另一方面,每個媒體層描述部分322都包括數據僅用于一個媒體流的一個或多個字段。
媒體層描述部分322中的數據字段描述了特定媒體流的屬性。這些屬性可以是除會話層描述部分322中所述屬性以外的屬性,或者代替會話層描述部分322中所述的屬性。例如,對于和特定媒體層描述部分322相關聯的特定媒體流,該特定媒體層描述部分322中的一個或多個屬性可能超過會話層描述部分322中標識的屬性。
會話描述消息320以及消息320的結構在下面特別參照SDP加以詳細討論。應該理解,這些具體結構僅僅是例子,會話描述消息可能有不同的形式。
會話層描述部分322從一特定字段開始,稱為協(xié)議版本字段。類似地,媒體層描述部分324每個都從一特定字段開始,稱為媒體名稱和傳輸地址字段。在特定的實施例中,同一類型的多個字段可以包括在一會話描述消息中(例如一個會話描述消息可能有兩個或多個屬性字段)。
下面的表I說明了可以包括在會話層描述部分322中的示例字段。表I包括各個示例字段的名稱、各個示例字段的縮寫或類型、以及各個示例字段的簡要討論。在特定的實施例中,需要協(xié)議版本字段、所有者/創(chuàng)建者和會話標識符字段、會話名稱字段以及時間描述字段,而表I中的所有其它字段都是任選的。
表I
下面的表II更詳細地說明了時間描述字段。表II包括時間描述字段內各個字段的名稱、時間描述字段內各個字段的縮寫或類型、以及時間描述字段內各個字段的簡要討論。要求會話為活動字段的時間,而零或多次重復時間字段是任選的。
表II
下面的表III說明了可以包括在媒體層描述部分324中的示例字段。表III包括各個示例字段的名稱、各個示例字段的縮寫或類型、以及各個示例字段的簡要討論。在特定的實施例中,要求媒體通告字段,而表III中的所有其它字段是任選的。
表III
圖7是說明在使用服務器端的播放列表時在RTCP消息中嵌入會話描述消息的示例過程350的流程圖。圖7示出由一媒體內容源執(zhí)行的動作,比如(圖1、2、3或4的)服務器設備104。
首先,標識播放列表中的下一塊媒體內容(動作352)。當媒體內容塊的回放開始時,下一塊就是播放列表中標識的第一塊。此外,每次達到一塊內容額結尾時(例如即使客戶機設備102處塊的回放還沒有完成,然而整塊內容都已被流化到客戶機設備102),則下一塊媒體內容就是在已達到其結尾的塊后面的一塊。應該注意到,這下一塊的順序可由播放列表定義,或者用戶可能能夠達到播放列表內的一個不同塊(例如用戶可能能請求跳過播放列表中一特定塊)。
然后獲取描述所標識的媒體內容塊的信息(動作354)。該信息可以以一種或多種不同的方式來獲取。獲取這一信息的一種方式是從一文件或記錄檢取。在特定的實施例中,至少一些信息被保存在和所標識的媒體內容塊相關聯的文件或記錄中。這一文件或記錄在動作354中被存取以檢取其中保存的信息。
獲取這一信息的另一種方式是從一用戶接收。在特定的實施例中,至少一些信息從用戶接收到。這些用戶輸入在動作354中被用作包括在會話描述消息中的至少一些信息。
獲取這一信息的另一種方式是自動檢測。在特定的實施例中,至少一些信息可由計算設備通過分析所標識的媒體內容塊的源或者所標識的媒體內容塊本身而自動獲得。這一自動檢測的信息在動作354中被用作包括在會話描述消息中的至少一些信息。
然后創(chuàng)建具有一會話描述消息的RTCP消息,其包括所獲取的信息(動作356)。在特定的實施例中,該RTCP消息的形式是上面討論的圖5的RTCP消息250。然后把所創(chuàng)建的RTCP消息發(fā)送到下一塊媒體內容的目標受信者(動作358)。下一塊媒體內容的目標受信者是媒體內容被流化到的設備(例如圖1、2、3或4的客戶機設備102)。所創(chuàng)建的RTCP消息被包括在一RTCP分組內,作為被流化到目標受信者的流媒體的一部分。
應該注意到,可能出現為一播放列表中的兩塊不同的媒體內容所流化的媒體流數目不相同的情況。例如,播放列表中標識的第一塊媒體內容可能有兩個流(例如音頻流和視頻流),而播放列表中標識的第二塊媒體內容可能有三個流(例如音頻流、視頻流和文本副標題流)。此外,當使用UDP來流化媒體時,每個媒體流一般使用一不同的UDP信道,所述UDP信道在不同的UDP端口被受信者接收。如果受信者僅為第一塊媒體內容打開兩個端口(例如一個端口用于音頻流、一個端口用于視頻流),則受信者將沒有端口來接收第二塊媒體內容的文本副標題流。
這種情況可以幾種方式來解決。在特定的實施例中,通過使用TCP在打開的HTTP連接上流化附加的數據流來解決這種情況。RTCP消息250中包括一指示(例如作為對每個附加媒體流的附加RTP狀態(tài)塊292),表明附加的媒體流以這種方式被流化。
在其它實施例中,通過讓受信者打開一個或多個額外的端口,通常稱為通配符端口來解決這些情況。這些通配符端口的每一個都可用來接收服務器設備發(fā)送到受信者的任何媒體流。RTCP消息250內包括一指示(例如作為每個附加媒體流的附加RTP狀態(tài)塊292),表明附加媒體流被流化到哪些通配符端口。
在其它實施例中,這種情況通過服務器設備把會話描述消息發(fā)送到受信者(例如在RTCP消息中)來解決,所述會話描述消息標識了第二塊媒體內容可用的全部媒體流。然后,服務器設備等待受信者選擇他所希望接收的媒體流。受信者會作出選擇(例如自動選擇或基于受信者處的用戶輸入而選擇),并且向服務器設備發(fā)送一指示,表明選擇了哪些媒體流以及所選的媒體流要被流化到哪些端口。
圖8是說明在使用服務器端的播放列表時流程圖。圖8示出由流媒體的受信者執(zhí)行的動作,所述受信者比如(圖1、2、3或4的)客戶機設備102。
首先,從媒體內容源接收到一RTCP消息(動作382)。媒體內容源是例如圖1、2、3或4的服務器設備104。
從RTCP消息中提取播放列表中下一塊媒體內容的會話描述消息(動作384)。當播放列表中媒體內容塊的流化剛剛開始時,這下一塊媒體內容是播放列表中的第一塊媒體內容。在至少一塊媒體內容的流化已經開始后,下一塊媒體內容是播放列表中所標識的下一塊。應該注意,這下一塊可以是播放列表所定義的順序,或者用戶可能能夠到達播放列表內的一個不同塊(例如用戶可能能請求跳過播放列表中的一特定塊)。還應該注意,下一塊媒體內容的會話描述消息一般在當前媒體內容塊的回放結束前接收到(使客戶機設備102能在當前媒體內容塊的回放結束時立即開始回放下一塊媒體內容)。
然后在處理下一塊媒體內容時使用所提取的會話描述消息(動作386)。該處理一般包括在客戶機設備102處回放下一塊媒體內容。
圖9說明了按照一實施例、用于多播傳送多媒體演示的系統(tǒng)500。在該實施例中,系統(tǒng)500包括內容源502、服務器504以及經由網絡508連到服務器504的客戶機5061-506X。網絡508可以是任一適當類型的有線(包括光纖)或無線(例如RF或自由空間光學)網絡。在一實施例中,網絡508是互聯網,但在其它實施例中,網絡508可以是局域網(LAN)、校園網等等。
在該實施例中,服務器504包括一通告生成器510。如下更詳細描述,通告生成器510的實施例生成包含與多媒體演示有關的信息在內的流,用于在網絡508上多播傳送。下面參照附圖10到圖12描述了在多播傳送多媒體演示時這一系統(tǒng)500實施例的操作。
圖10說明了按照一實施例、在多播傳送多媒體演示時圖9的系統(tǒng)500的服務器操作流程。參照圖9以及步驟502,服務器504如下操作以多播傳送—多媒體演示。
在方框524中,服務器504經由連接512接收一多媒體演示。在該實施例中,服務器504經由鏈路512從內容源502接收多媒體演示。特別是,內容源502提供多媒體內容以便在網絡508上多播傳送。多媒體內容可以以任一適當方式生成。例如,多媒體內容可以是接著被保存在數據庫(未示出)中的前面記錄的/生成的內容,或是被捕獲(例如用攝像機、麥克風等)或被編碼(編碼器未示出)的實況表演。
在一典型應用中,多媒體演示會包括多個流。例如,多媒體演示可以包括視頻流、音頻流、以較低比特率編碼的另一視頻流、以及以較低比特率編碼的另—音頻流。在其它應用中,多媒體演示可能有比這一示例應用中所述的流更多或更少的流。因此,在該實施例中,服務器504在方框524中接收多媒體演示,其形式為一個或多個流。
在方框526中,服務器504形成一通告流并且經由鏈路514在網絡508上多播傳送通告流。在該實施例中,服務器504的通告生成器510形成通告流。在一些實施例中,通告生成器510可由一管理員配置,而在其它實施例中,通告生成器510可以被配置成處理方框524中接收到的流,并且從這些流中提取信息以形成通告流。
在一些實施例中,服務器504在專用通告信道上多播傳送通告流(即沒有和其它多媒體演示有關的通告信息的信道)。如這一環(huán)境中所使用的,信道可以是一邏輯地址,比如多播傳送互聯網協(xié)議(IP)地址和端口。因此,客戶機可以通過監(jiān)聽和信道相關聯的邏輯地址和端口來加入該信道??蛻魴C會以任一適當方式獲悉邏輯地址,比如但不限于電子郵件、邀請、網站記錄以及常規(guī)的會話通告協(xié)議(SAP)多播傳送(例如題為“會話通告協(xié)議”的規(guī)范IETF RFC-2974中定義的)。在使用SAP多播傳送來通告一多媒體演示的實施例中,SAP多播傳送無須包括會在“串聯(in-line)”的通告流中提供的詳細演示描述信息(下面詳述)。
在一些實施例中,通告流與包含多媒體數據的流“串聯地”多播傳送。例如,多媒體數據流可以根據實時傳輸協(xié)議(RTP)用分組來多播傳送,而通告流可以根據實時傳輸控制協(xié)議(RTCP)用分組來多播傳送。在一實施例中,RTP在請求注解(RFC)3550中定義,于2003年7月的互聯網工程特別工作組(IETF)公布(也包括RTCP的規(guī)范)。該實施例中,RTP被擴展為支持RTCP分組形式的通告數據。在進一步的限制中,通告數據可以和多媒體數據在相同的RTP分組(或其它協(xié)議分組/數據報)中“串聯”地發(fā)送。在其它實施例中,通告信道可以在頻帶外(例如在通告信道用SAP多播傳送時)。
通告流包含描述多媒體演示的信息,例如用來多播傳送多媒體演示的各個信道的標識、每一個信道所傳輸的流的描述(例如指明了流的類型(如視頻或音頻)、流的比特率、流所使用的語言等等)、糾錯信息、安全/驗證信息、加密信息、數字權利管理(DRM)信息等等。在一實施例中,通告流在多媒體演示期間被重復地多播傳送,使得在不同時間加入的客戶機可能接收到多媒體演示描述信息。然后,經由通告流接收這一演示描述信息的客戶機可以基于其資源的角度來確定哪些信道適合加入。
在方框528,服務器504多播傳送從方框524接收到的多媒體演示的流中選擇的流。在一些情況下,服務器504多播傳送在方框524中接收到的全部流。在一些實施例中,管理員可以服務器504來多播傳送預先選擇的信道中的特定流。在一實施例中,服務器504至少支持通告信道、視頻信道和音頻信道。更為一般的是,服務器504也會支持具有不同比特率的視頻和音頻流的附加信道,以便適應具有不同資源來處理多媒體演示的客戶機。
例如,如圖11所示,服務器504可以被配置成支持一通告信道532、一加速信道534(下面結合圖15和16描述)、一高質量視頻信道536、一高質量音頻信道538、一應用信道540、可選的語言信道5421-542N、以及可選的比特率信道5441-544M(用于音頻和/或視頻流)。在一實施例中,應用信道540可用來多播傳送由預期在客戶機上本地運行的應用程序(例如媒體播放器或者要求插件來使用如Microsoft PowerPoint數據這樣的多播傳送的應用數據)所使用的數據。根據內容源502所提供的流以及服務器504所提供的配置、以及預先選擇的信道定義,服務器504可以把一個流僅映射到一個信道、多個信道或不映射到信道。例如,如果來自內容源502的多媒體演示包括一英語流和一西班牙語流,服務器504可以被配置成把西班牙語流映射到全部的信道5421-541N、或僅映射到信道5421、或根本不映射到任何信道。
在一些實施例中,信道的“布局(layout)”是預先選擇的。例如,在每個信道具有其自身的IP地址的實施例中,信道可以是在為多播傳送分配的IP地址范圍(即IP地址224.0.0.0到IP地址239.255.255.255的范圍)內的一組順序IP地址。因此,通告信道532可以被分配給IP地址231.0.0.1、加速信道534可以被分配給IP地址231.0.0.2、高質量視頻信道536可以被分配給IP地址231.0.0.3、依此類推。類似地,信道可以是一組IP地址的一組順序端口。因此,在基于RTP的實施例中,通告信道532可以被分配給端口231.0.0.15000、加速信道534可以被分配給端口231.0.0.15002、高質量視頻信道536可以被分配給端口231.0.0.15004、依此類推(因此可以為RTCP分組使用端口5001、5003和5005)。
上述系統(tǒng)500的實施例所使用的方法有幾個優(yōu)點。例如,由于通告流在專用信道上被多播傳送,因此客戶機能更快地獲取演示描述信息,從而有利地縮短啟動等待時間。相反,常規(guī)的SAP多播傳送方法一般有較大的啟動等待時間,因為SAP多播傳送一般通告了大量的多播傳送,趨于降低多播傳送一特定多媒體演示的通告的頻率(于是又會增加啟動等待時間)。
而且,系統(tǒng)500的這些實施例不要求客戶機具有到服務器504的返回信道,從而在把多媒體演示傳送給期望觀眾時提供了較大的靈活性。
此外,系統(tǒng)500的這些實施例不需要服務器提供在前面所述的常規(guī)系統(tǒng)中所需的“多播傳送信息”文件,因此,不需要維持和公布這一文件的成本。
更進一步,由于在信道組中被多播傳送的流在一些實施例中是“可預測的”,因此客戶機可能選擇加入特定的信道,而無須接收和處理來自通告信道532的多媒體演示描述信息。例如,主動的客戶機(一般是有相對大資源的客戶機)可能選擇在加入通告信道532的同時或取代加入通告信道532,而加入高質量音頻和高質量視頻信道536和538,從而如果客戶機實際上有足夠的資源來處理流而不丟失數據、則縮減了啟動等待時間。例如,具有大量資源的客戶機可以是其計算平臺上有高速CPU和大緩沖資源的客戶機,并且連到具有相對大量可用帶寬的高速計算機網絡。高速CPU和大緩沖資源顯著地減少了丟失數據的風險。
圖12說明了按照一實施例、在接收被服務器504(圖9)多播傳送的多媒體演示時、客戶機5061(圖9)的操作流程??蛻魴C5062-506X(圖9)可以以基本相同的方式操作。參照圖9、11和12,客戶機5061在接收多媒體演示時如下操作。
在方框562,客戶機5061在已經接收到一多媒體演示的通告信道的邏輯地址后,加入通告信道532。如前對于一實施例所述,服務器504重復地在專用通告信道上多播傳送演示描述信息。因此,客戶機5061和常規(guī)系統(tǒng)相比能相對快地接收到演示描述信息,常規(guī)系統(tǒng)一般多播傳送相對大量多媒體和/或其它演示類型的描述消息。
在方框564,客戶機5061接著加入提供多媒體數據流的一個或多個信道,所述多媒體數據流在接收到的通告流中描述。在一實施例中,客戶機5061可以確定要加入哪些信道以便在使用客戶機5061可用的資源時有最佳的體驗。然后,5061可以接收多媒體演示的所選流。
圖12A說明了按照另一實施例、在接收被服務器504(圖9)多播傳送的多媒體演示時、客戶機5061(圖9)的操作流程??蛻魴C5062-506X(圖9)可以以基本相同的方式操作。參照圖9、11和12A,客戶機5061在接收多媒體演示時如下操作。在該實施例中,客戶機5061基本同時執(zhí)行方框562(以加入上述的通告信道532)和方框570。
在方框570,除了通告信道532以外,客戶機5061還加入多媒體演示的一個或多個預先選擇的信道。如前對于一實施例所述,服務器504可以被配置成以預定方式在預先選擇的信道中多播傳送流。在該實施例中,客戶機5061可以利用預先選擇的信道分配的優(yōu)點來加入期望的信道,而無須從通告信道532接收演示描述信息。例如,在一種情況下,客戶機5061具有相對大的資源來接收和處理多媒體演示、能夠處理典型的高質量視頻和高質量音頻流。根據這些資源,客戶機5061可以被配置成立即加入信道536和538以接收高質量視頻和高質量音頻流,以便減少啟動等待時間,并且相對高地預期客戶機5061能正確處理這些流。
在判決框572,客戶機5061確定考慮到對于客戶機5061可用的資源、它是否能最優(yōu)地處理從它在方框570加入的信道所接收到的流。在一實施例中,客戶機5061使用從通告信道532接收到的演示描述信息來確定其資源是否能處理在這些信道上接收到的流。例如,在方框570加入的信道的流可能有過于大的比特率(在通告流中描述),使客戶機5061無法在不丟失數據的情況下進行處理(會導致起伏的音頻流的音頻回放或者一塊塊的視頻流的視頻回放)。如果客戶機5061在方框572中確定它能最優(yōu)地處理預先選擇的信道的流,客戶機5061就繼續(xù)從它在方框570中加入的信道接收流,直到多播傳送的多媒體演示終止為止。
然而,在該實施例中,如果客戶機5061在方框572中確定它不能最優(yōu)地處理預先選擇的信道的流,則操作流程前進到方框564(前面參照圖12描述)。在方框564中,通過使用在方框562中接收到的演示描述信息,客戶機5061加入帶有客戶機5061能最優(yōu)處理的多媒體數據流的一個或多個其它信道。在方框574中,該實施例中,客戶機5061可能退出在方框570中加入的預先選擇的信道??蛻魴C5061繼續(xù)從在方框564中加入的信道接收流,直到多播傳送的多媒體演示終止或者選擇離開該信道為止。
圖13說明了按照一實施例的服務器504(圖9)的一些組件。在該實施例中,除了通告生成器510以外(上面參照圖9所述),服務器504包括配置控制器582、可配置的流映射程序584、源接口586以及網絡接口588。在一些實施例中,這些元件是可由服務器504的計算環(huán)境執(zhí)行的軟件模塊或組件。
源接口586被配置成經由鏈路512從內容源502(圖9)接收一個或多個多媒體流。可配置的流映射程序582被配置成接收來自源接口586的流、來自通告生成器510的通告流、以及來自配置控制器582的控制信息。該實施例中,可配置的流映射程序584像開關一樣工作,用于把從源接口586接收到的一個或多個流映射或指引到多播傳送信道。網絡接口588通告網絡508(圖9)多播傳送所選的流。在一些實施例中,配置控制器582配置可配置的流映射程序584來把接收到的多媒體演示流映射到信道。此外,在一些實施例中,配置控制器582在生成通告時指引通告生成器510。下面參照圖13和14描述了配置控制器582一實施例的操作流程。
圖14說明了按照一實施例、在多播傳送一多媒體演示時的配置控制器582(圖13)的操作流程。參照圖13和14,配置控制器582的一個實施例用于如下所述地多播傳送一多媒體演示。
在方框602中,配置控制器582的這一實施例從一管理員接收配置信息。管理員能手動地把配置信息提供給服務器504的配置控制器582。這一配置信息可以用邏輯地址來定義每一個信道,并且包括演示描述信息(前面所述)。例如,演示信息可以包括要被多播傳送的多媒體演示的流的媒體類型、流的比特率;語言、糾錯信息;安全/驗證信息;加密信息;數字權利管理(DRM)信息等等。
在可選的實施例中,配置控制器586可以被配置成在經由源接口586從內容源502(圖9)被接收到之后,從流本身中提取演示描述信息(例如從流中包括的報頭或元數據信息中提取)。
在方框604,配置控制器582配置流映射程序584把來自通告生成器510的通告流以及來自源接口586的多媒體數據流映射到演示描述信息中所述的信道。該通告流由服務器504在多媒體演示的多播傳送期間在通告信道上重復地多播傳送。
在方框606,配置控制器582把流的演示描述消息提供給通告生成器510。如上所述,通告生成器510形成了包括演示描述信息的通告流。
如上所述,信道的“布局”可以預先選擇。例如,客戶機會被賦予用來加入多播傳送多媒體演示的邏輯地址(例如URL)。在一實施例中,該第一邏輯地址被預先選擇以傳送一實施例中的通告流。該例中,預先選擇下一個順序邏輯地址以傳送加速信道,而預先選擇下一個順序邏輯地址來傳送高質量視頻流,依此類推,如圖11的實施例中所示。配置控制器582配置流映射程序584根據預先選擇的信道布局來映射通告流和多媒體數據流。
圖15說明了按照另一實施例的服務器504(圖9)的一些組件。服務器504的這一可選實施例基本與圖13的實施例類似,除了該實施例包括加速流生成器702以外。在一實施例中,加速流生成器702被配置成形成這樣一個流其中被多播傳送的每一個多媒體數據單元都包含當前的多媒體數據子單元以及預先選擇的數量的數據的之前的子單元。例如,加速流可以被多播傳送,使得數據報包含多媒體演示的當前幀以及前面五秒的幀。該實施例中,加速流生成器702把加速流提供給可配置流映射程序584,以便映射到像加速信道534(圖11)這樣的專用加速信道。然而,在其它實施例中,加速信道數據報無須包括當前幀。
圖16說明了按照一實施例、具有加速流生成器702(圖15)的服務器504的操作流程。參照圖15和16,服務器504的這一實施例如下操作。
在方框802,加速流生成器702形成了用于在網絡508(圖9)上多播傳送的一多媒體數據單元。在該實施例中,加速流生成器702用當前的多媒體演示數據子單元以及前面Z個多媒體演示數據子單元來形成所述單元。如上所述,所述單元可以是數據報或分組,所述子單元可以是多媒體數據的幀。在一實施例中,選擇Z以確保該單元(即分組或數據報)會包含呈現或解碼多媒體數據所需的關鍵幀。在其它實施例中,選擇Z而不用考慮該單元是否會確保有關鍵幀。
在方框804中,在方框802中形成的多媒體數據單元通過網絡508(圖9)被多播傳送。在該實施例中,加速流生成器702把多媒體數據單元提供給可配置的流映射程序584,后者接著把該塊映射到加速信道。服務器504接著經由網絡接口588在網絡508(圖9)上多播傳送多媒體數據單元。在一實施例中,服務器504以“比實時快的”速率多播傳送所述單元(即以比基本多媒體數據的比特率快的比特率傳送)。這一方法有利地使具有相對大資源的客戶機能加入加速信道、并且在接收所述單元時快速填充其多媒體播放器的緩沖器,使得呈現或回放能更快地開始。這一特征在多播傳送的多媒體數據單元包括關鍵幀的實施例中增強?;蛘?,服務器504多播傳送單元的速率無須“比實時快”。這一方法可用在客戶機既加入加速信道又加入多播傳送多媒體數據的另一信道的應用中,因此實際上客戶機以“比實時快”的速率接收到多媒體數據。
如果還有多媒體數據要被多播傳送,則操作流程返回到方框802,如判決框806所示。因此,例如,通過使用上面以數據報為單位傳輸的多媒體幀的例子,下一個數據報會包括多媒體數據的下一個幀,加上在前一數據報中加入的幀、加上前面(Z-1)個幀。因此,在該實施例中,每個單元(例如數據報)都表示當前子單元(例如幀)和前面Z個幀的滑動窗,Z的選擇是足夠大以確保每個單元都有足夠的信息使客戶機的多媒體播放器開始呈現/回放多媒體演示所需的時間最少。如上所述,在一些實施例中,Z被選擇以確保每個單元都有一個關鍵幀。
在一實施例中,如果多媒體演示包括視頻和音頻流兩者,則視頻數據和音頻數據的單元在同一信道上以交替方式被多播傳送。在其它實施例中,可以為音頻和視頻流使用分開的加速信道。
在多媒體演示的一開始,加速流生成器的一個實施例等待,直到在方框802中形成一數據單元以前已經在非加速信道內多播傳送了至少Z個多媒體數據子單元。
圖17說明了按照一實施例、在接收加速流時的客戶機操作流程。在方框902,客戶機(例如圖9的客戶機5061-506X之一)加入加速信道。在一些情況下,加速信道是預先選擇的信道布局的一部分,客戶機能夠或者和加入通告信道的同時加入其中、或者不加入通告信道而加入其中。如上所述,加速信道可由一客戶機有利地使用,該客戶機具有相對大的資源來接收和處理多媒體演示,因此客戶機可以縮減啟動等待時間。
在方框904,客戶機從加速信道接收一個或多個多媒體數據單元。在一實施例中,每一個多媒體數據單元都如上結合圖6生成。然后,客戶機可以處理每一個多媒體數據單元以便相對快速地開始呈現或回放過程。在一種情況下,客戶機接收一視頻數據單元和一音頻數據單元,視頻數據包含一關鍵幀,使得客戶機可以盡可能快地開始呈現/回放過程。如上所述,在其它實施例中,一單元無須具有關鍵幀。
在方框906,客戶機于是能加入一非加速信道,比如高質量視頻信道536和高質量音頻信道538。在一實施例中,客戶機所加入的非加速信道用上述預先選擇的信道布局來預先選擇。在其它實施例中,客戶機基于通告流中所包含的演示描述信息來加入信道。在方框908,客戶機退出加速信道。在一實施例中,客戶機在接收到開始呈現/回放過程所需的多媒體數據單元后立即退出加速信道。
盡管所述的方框902到908是順序執(zhí)行的,然而在圖17的流程圖中(以及這里所述的其它流程圖),這些方框可以圖示以外的其它順序執(zhí)行,或者一些方框執(zhí)行了不止一次、或者一些方框同時執(zhí)行或執(zhí)行它們的組合。例如,在一些實施例中,方框902和906并行執(zhí)行,使得操作流程是客戶機同時加入加速和非加速信道。方框904在方框902后順序執(zhí)行,方框904和906在方框908之前。
圖17A說明了客戶機可能加入加速信道或一些預先選擇的信道、然后加入其它信道(例如基于從通告信道接收到的通告信息)的示例情況。在該例中,客戶機在加入一個或多個預先選擇的非加速信道(即方框906)的同時、加入加速信道(即方框902)。然后,客戶機接收來自加速信道的一個或多個多媒體數據單元(即方框904)、以及來自非加速信道的多媒體和通告數據。作為加入通告信道的結果,客戶機可能決定退出預先選擇的信道,并且加入其它非加速信道(即方框572、564和574)。
上述各種多播傳送實施例可以在服務器和客戶機的計算機環(huán)境中實現。下面參照圖18描述了適合用在服務器和客戶機中的一示例計算機環(huán)境。
圖18說明了一通用計算機環(huán)境1000,它可用來實現這里所述的技術。計算機環(huán)境1000僅僅是計算環(huán)境的一個例子,并且不限制計算機和網絡體系的使用范圍或功能。計算機環(huán)境1000也不應被視為和示例計算機環(huán)境1000中所示的任一個組件或組件組合有任何相關性或相關要求。
計算機環(huán)境1000包括形式為計算機1002的通用計算設備。計算機1002的組件可以包括但不限于一個或多個處理器或處理單元1004、系統(tǒng)內存1006以及把包括處理器1004在內的各個系統(tǒng)組件耦合到系統(tǒng)內存1006的系統(tǒng)總線1008。
系統(tǒng)總線121表示幾種類型總線結構的一種或多種,包括內存總線或內存控制器、外圍設備總線、加速圖形端口、及使用任一多種總線結構的本地總線。通過示例,這種結構包括工業(yè)標準結構(ISA)總線、微通道結構(MCA)總線、增強型ISA(EISA)總線、視頻電子標準聯盟(VESA)本地總線、外圍組件互連(PCI)總線(也稱為Mezzanine總線)、PCI快速總線、通用串行總線(USB)、安全數字(SD)總線或者IEEE 1394(即FireWire)總線。
計算機1002還包括其它可移動/不可移動、易失性/非易失性的計算機存儲介質。通過示例,圖10說明了用于對不可移動、非易失性磁性介質(未示出)進行讀寫的硬盤驅動器1016、用于對可移動、非易失性磁盤1020(例如“軟盤”)進行讀寫的磁盤驅動器1018、以及用于對可移動、非易失性光盤1024進行讀寫的光盤驅動器1022,譬如CD-ROM、DVD-ROM或其它光學介質。硬盤驅動器1016、磁盤驅動器1018和光盤驅動器1022分別通過一個或多個數據介質接口1025連到系統(tǒng)總線1008?;蛘?,硬盤驅動器1016、磁盤驅動器1018和光盤驅動器1022可以通過一個或多個接口(未示出)連到系統(tǒng)總線1008。
驅動器和它們的相關計算機存儲介質為計算機1002提供了計算機可讀指令、數據結構、程序模塊和其它數據的非易失性存儲。盡管該例說明了硬盤1016、可移動磁盤1020和可移動光盤1024,然而可以理解,其它類型的能存儲被計算機存取的數據的計算機可讀介質也可用來實現示例的計算系統(tǒng)和環(huán)境,比如磁性盒帶或其它磁性存儲設備、閃存卡、CD-ROM、數字化視頻光盤(DVD)或其它光學存儲器、隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)等等。
任何數量的程序模塊可以被保存在硬盤1016、磁盤1020、光盤1024、ROM1012和/或RAM 1010上,包括例如操作系統(tǒng)1026、一個或多個應用程序1028、其它程序模塊1030以及程序數據1032。這種操作系統(tǒng)1026、一個或多個應用程序1028、其它程序模塊1030以及程序數據1032的每一個(或它們的一些組合)都能實現支持分布式文件系統(tǒng)的常駐組件的全部或一部分。
用戶可以通過諸如鍵盤1034和指示設備1036(例如“鼠標”)這樣的輸入設備把命令和信息輸入到計算機1002中。其它輸入設備1038(未具體示出)可以包括麥克風、游戲桿、游戲板、衛(wèi)星式轉盤、串行端口、掃描儀等等。這些和其它輸入設備通過與系統(tǒng)總線1008耦合的輸入/輸出接口1040與處理單元1004相連,但也可以用其它接口和總線結構連接,譬如并行端口、游戲端口或通用串行總線(USB)。
監(jiān)視器1042或其它類型的顯示設備也通過諸如視頻適配器1044這樣的接口與系統(tǒng)總線1008相連。除了監(jiān)視器1042之外,其它輸出外部設備可以包括像揚聲器(未示出)和打印機1046這樣的組件,它們可以通過I/O接口1040連接到計算機1002。
計算機1002可以工作在聯網環(huán)境中,該環(huán)境使用與諸如遠程計算設備1048這樣的一個或多個遠程計算機之間的邏輯連接。例如,遠程計算設備1048可以是個人計算機、便攜式計算機、服務器、路由器、網絡計算機、對等設備或其它公共網絡節(jié)點等待。圖示的遠程計算設備1048是包括關于計算機1002所述的許多或全部元件和特征在內的便攜式計算機?;蛘撸嬎銠C1002也可以工作在不聯網的環(huán)境中。
計算機1002和遠程計算機1048之間的邏輯連接被描述為局域網(LAN)1050和通用廣域網(WAN)1052。這種聯網環(huán)境在辦公室、企業(yè)范圍的計算機網絡、內聯網和互聯網中是常見的。
當在LAN聯網環(huán)境中實現時,計算機1002通過網絡接口或適配器1054與局域網1050相連。當在WAN聯網環(huán)境中實現時,計算機1002一般包括用于在廣域網1052上建立通信的調制解調器1056或其它裝置。調制解調器1056可以在計算機1002內部或外部,它可以通過I/O接口1040或其它適當機制與系統(tǒng)總線1008相連??梢岳斫猓镜木W絡連接是例子,也可以采用在計算機1002和1048間建立至少一條通信鏈路的其它裝置。
在聯網環(huán)境中,比如在關于計算環(huán)境1000所示的環(huán)境中,關于計算機1002所述的程序模塊或其部分可以存儲在遠程內存存儲設備中。通過示例,遠程應用程序1058常駐在遠程計算機1048的內存設備上。為說明起見,這里把應用或程序以及諸如操作系統(tǒng)這樣的其它可執(zhí)行程序組件描述為離散塊,然而可以認識到,這種程序和組件在不同的時刻常駐在計算機設備1002的不同存儲組件中,并且由計算機的至少一個數據處理器所執(zhí)行。
各種模塊和技術在此可用計算機可執(zhí)行指令的上下文來描述,比如由一個或多個計算機或其它設備所執(zhí)行的程序模塊。一般而言,程序模塊包括用于執(zhí)行特定任務或實現特定抽象數據類型的例程、程序、對象、組件、數據結構等等。這些程序模塊等等可以作為本機碼執(zhí)行,或者被下載和執(zhí)行,比如在虛擬機或其它實時編輯執(zhí)行環(huán)境。一般而言,程序模塊的功能在各個實施例中可以根據期望進行組合或分布。
這些模塊和技術的實現可以被保存在某一形式的計算機可讀介質上或在其上被發(fā)送。計算機可讀介質可以是由計算機存取的任何可用介質。通過示例但非限制,計算機可讀介質可以包括“計算機存儲介質”和“通信介質”。
“計算機存儲介質”包括易失性和非易失性的、可移動和不可移動的介質,所述介質以用于存儲信息的任一方法或技術來實現,所述信息比如計算機可讀指令、數據結構、程序模塊或其它數據。計算機存儲介質包括、但不限于RAM、ROM、EEPROM、閃存或其它存儲器技術、CD-ROM、數字化視頻光盤(DVD)或其它光學存儲器、磁性盒帶、磁帶、磁盤存儲器或其它磁性存儲設備、或者可用來保存期望信息并且可由計算機存取的任何其它介質。
“通信介質”一般在已調數據信號中體現計算機可讀指令、數據結構、程序模塊或其它數據,所述已調數據信號比如載波或其它傳輸機制。通信介質還包括任何信息傳送介質。術語“已調數據信號”意味著其一個或多個特征是以對信號中信息編碼的方式設置或改變的信號。僅僅作為一個非限制性的例子,通信介質包括諸如有線網絡或直線連接這樣的有線介質,以及諸如聲學、RF、紅外及其它無線介質這樣的無線介質。上述的任一組合也包括在計算機可讀介質的范圍內。
該說明書中引用的“一個實施例”、“一實施例”或“一示例實施例”意指包括在本發(fā)明至少一個實施例中的特別描述的特征、結構或特性。因此,這些短語的使用是指不止一個實施例。而且,所述的特征、結構或特性可以在一個或多個實施例中以任何適當方式組合。
然而本領域的技術人員會認識到,本發(fā)明可以無須一個或多個具體細節(jié)而實現,或者以其它方法、資源、材料等等來實現。在其它情況下,沒有示出或詳細描述公知的結構、資源或操作,這僅僅是為了避免混淆本發(fā)明的各方面。
雖然已經示出并描述了示例實施例和應用,然而應該理解,本發(fā)明不限于上述精確的配置和資源。各種修正、改變和變化對于本領域技術人員都是顯而易見的,這些修改可以對本發(fā)明的方法和系統(tǒng)的布局、操作和細節(jié)作出,而不背離本發(fā)明的范圍。
盡管上述描述使用率對于結構特征和/或方法動作所特定的語言,然而應該理解,在所附權利要求中定義的發(fā)明不限于所述的具體特征或動作,而是這些具體特征和動作作為實現本發(fā)明的示例性形式而被公開。
權利要求
1.其上存儲有實時控制協(xié)議(RTCP)消息的一個或多個計算機可讀介質,包括第一字段,包含把RTCP消息標識為嵌有會話描述消息的類型的數據;第二字段,包含用于一媒體演示的會話描述消息的數據;以及第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度和第三字段的長度相加而生成。
2.如權利要求1所述的一個或多個計算機可讀介質,其特征在于,所述會話描述消息是一會話描述協(xié)議(SDP)會話描述消息。
3.如權利要求1所述的一個或多個計算機可讀介質,其特征在于,所述媒體演示包括一多媒體演示。
4.如權利要求1所述的一個或多個計算機可讀介質,其特征在于,還包括一個或多個RTP狀態(tài)塊,每個RTP狀態(tài)塊都標識了關于媒體演示的媒體流的RTP特定信息;以及所述第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度、第三字段的長度以及一個或多個RTP狀態(tài)塊的長度相加而生成。
5.如權利要求1所述的一個或多個計算機可讀介質,其特征在于,還包括第四字段,包含標識被用來流化媒體演示的RTP(實時傳輸協(xié)議)版本的數據;以及所述第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度、第三字段的長度和第四字段的長度相加而生成。
6.如權利要求1所述的一個或多個計算機可讀介質,其特征在于,還包括第四字段,包含標識RTCP消息中是否包括附加填充的數據;以及所述第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度、第三字段的長度和第四字段的長度相加而生成。
7.如權利要求1所述的一個或多個計算機可讀介質,其特征在于,還包括第四字段,包含標識第二字段中的數據是否已被壓縮的數據;以及所述第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度、第三字段的長度和第四字段的長度相加而生成。
8.如權利要求1所述的一個或多個計算機可讀介質,其特征在于,還包括第四字段,包含標識會話描述消息以及會話描述消息的發(fā)送者地址的數據;以及所述第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度、第三字段的長度和第四字段的長度相加而生成。
9.如權利要求8所述的一個或多個計算機可讀介質,其特征在于,標識會話描述消息以及會話描述消息的發(fā)送者地址的數據包括在會話描述消息以及會話描述消息的發(fā)送者地址上計算的校驗和。
10.如權利要求1所述的一個或多個計算機可讀介質,其特征在于,還包括第四字段,包含標識RTCP消息中包括的多個RTP狀態(tài)塊的數據;以及所述第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度、第三字段的長度和第四字段的長度相加而生成。
11.如權利要求10所述的一個或多個計算機可讀介質,其特征在于,所述第四字段包含一個零值以表明RTCP消息中不包含RTP狀態(tài)塊。
12.如權利要求1所述的一個或多個計算機可讀介質,其特征在于,還包括第四字段,包含標識RTCP消息的RTP狀態(tài)塊內的數據是應用于具有特定SDP流ID的全部RTP分組、還是僅應用于具有特定RTP負載類型號的RTP分組的數據;以及所述第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度、第三字段的長度和第四字段的長度相加而生成。
13.如權利要求1所述的一個或多個計算機可讀介質,其特征在于,還包括第四字段,包含為RTCP消息的RTP狀態(tài)塊標識RTP負載類型號的數據;以及所述第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度、第三字段的長度和第四字段的長度相加而生成。
14.如權利要求1所述的一個或多個計算機可讀介質,其特征在于,還包括第四字段,包含標識RTCP消息的RTP狀態(tài)塊所指的媒體演示的一媒體流的數據;以及所述第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度、第三字段的長度和第四字段的長度相加而生成。
15.如權利要求1所述的一個或多個計算機可讀介質,其特征在于,還包括第四字段,包含標識RTCP消息的RTP狀態(tài)塊所指的媒體演示的一媒體流信源的數據;以及所述第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度、第三字段的長度和第四字段的長度相加而生成。
16.如權利要求1所述的一個或多個計算機可讀介質,其特征在于,還包括第四字段,包含標識如果RTP分組是在媒體流的開始處發(fā)送的則媒體演示一媒體流的RTP分組將會具有的RTP Timestamp字段值的數據;以及所述第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度、第三字段的長度和第四字段的長度相加而生成。
17.如權利要求1所述的一個或多個計算機可讀介質,其特征在于,還包括第四字段,包含標識為媒體演示的媒體流發(fā)送的第一RTP分組的RTP序列號字段的值的數據;以及所述第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度、第三字段的長度和第四字段的長度相加而生成。
18.如權利要求1所述的一個或多個計算機可讀介質,其特征在于,還包括第四字段,包含表明RTCP消息包含會話描述消息的分段的數據;第五字段,包含標識所述分段的數據;以及所述第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度、第三字段的長度、第四字段的長度以及第五字段的長度相加而生成。
19.如權利要求1所述的一個或多個計算機可讀介質,其特征在于,還包括第四字段,包含標識被用來流化媒體演示的RTP(實時傳輸協(xié)議)版本的數據;第五字段,包含標識RTCP消息中是否包含附加填充的數據;以及所述第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度、第三字段的長度、第四字段的長度和第五字段的長度相加而生成。
20.如權利要求1所述的一個或多個計算機可讀介質,其特征在于,還包括第四字段,包含標識被用來流化媒體演示的RTP(實時傳輸協(xié)議)版本的數據;第五字段,包含標識RTCP消息中是否包含附加的填充八位組的數據;第六字段,包含標識第二字段內數據是否已被壓縮的數據;第七字段,包含標識了會話描述消息以及會話描述消息的發(fā)送者地址的數據;第八字段,包含標識RTCP消息內包含的多個RTP狀態(tài)塊的數據;第九字段,包含標識RTCP消息的RTP狀態(tài)塊內的數據是應用于具有特定SDP流ID的全部RTP分組、還是僅應用于具有特定RTP負載類型號的RTP分組的數據;第十字段,包含為RTCP消息的RTP狀態(tài)塊標識RTP負載類型號的數據;第十一字段,包含標識RTCP消息的RTP狀態(tài)塊所指的媒體演示的一媒體流的數據;第十二字段,包含標識RTCP消息的RTP狀態(tài)塊所指的媒體演示的一媒體流信源的數據;第十三字段,包含標識如果RTP分組是在媒體演示的開始處發(fā)送的則媒體演示的媒體流的RTP分組將會具有的RTP Timestamp字段值的數據;第十四字段,包含為媒體演示的媒體流發(fā)送的第一RTP分組的RTP序列號字段的值的數據;第十五字段,包含表明RTCP消息包含會話描述消息的一個分段的數據;第十六字段,包含標識所述分段的數據;以及所述第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度、第三字段的長度、第四字段的長度、第五字段的長度、第六字段的長度、第七字段的長度、第八字段的長度、第九字段的長度、第十字段的長度、第十一字段的長度、第十二字段的長度、第十三字段的長度、第十四字段的長度、第十五字段的長度和第十六字段的長度相加而生成。
21.一個或多個計算機可讀介質,其上存儲有多個指令,所述指令在由一設備的一個或多個處理器執(zhí)行時,使一個或多個處理器如下操作從一媒體內容源接收一實時控制協(xié)議(RTCP)消息;從RTCP消息中提取與一媒體內容播放列表中的多塊媒體內容之一相關聯的會話描述消息,所述媒體內容播放列表從媒體內容源被流化到所述設備;以及至少部份基于所述會話描述消息來處理所述多塊媒體內容之一。
22.如權利要求21所述的一個或多個計算機可讀介質,其特征在于,所述會話描述消息是一會話描述協(xié)議(SDP)會話描述消息。
23.如權利要求21所述的一個或多個計算機可讀介質,其特征在于,所述RTCP消息是RTCP分組的一部分。
24.如權利要求21所述的一個或多個計算機可讀介質,其特征在于,使一個或多個處理器至少部份基于會話描述消息來處理多塊媒體內容之一的指令使一個或多個處理器在所述設備處回放多塊媒體內容之一。
25.如權利要求21所述的一個或多個計算機可讀介質,其特征在于,所述指令還使一個或多個處理器為多塊媒體內容內的其它媒體內容塊的每一塊重復所述接收、提取和處理操作。
26.如權利要求21所述的一個或多個計算機可讀介質,其特征在于,所述RTCP消息包括第一字段,包含把RTCP消息標識為嵌有會話描述消息的類型的數據;第二字段,包含作為會話描述消息的數據;以及第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度和第三字段的長度相加而生成。
27.在一設備內實現的一種方法,所述方法包括創(chuàng)建包括一會話描述消息的實時控制協(xié)議(RTCP)消息,所述會話描述消息與一媒體內容播放列表內多塊媒體內容之一相關聯,所述媒體內容播放列表從所述設備被流化到一客戶機設備;以及把所述RTCP消息發(fā)送到所述客戶機設備。
28.如權利要求27所述的方法,其特征在于,還包括創(chuàng)建包括第二會話描述消息的第二RTCP消息,所述第二會話描述消息和播放列表中多塊媒體內容的另一塊相關聯;以及把所述第二RTCP消息發(fā)送到所述客戶機設備。
29.如權利要求27所述的方法,其特征在于,所述設備包括一服務器設備。
30.如權利要求27所述的方法,其特征在于,所述會話描述消息是一會話描述協(xié)議(SDP)會話描述消息。
31.如權利要求27所述的方法,其特征在于,所述RTCP消息是RTCP分組的一部分。
32.如權利要求27所述的方法,其特征在于,所述RTCP消息包括第一字段,包含把RTCP消息標識為嵌有會話描述消息的類型的數據;第二字段,包含作為會話描述消息的數據;以及第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度和第三字段的長度相加而生成。
33.一種系統(tǒng),包括服務器設備;客戶機設備;所述服務器設備被配置成創(chuàng)建包括會話描述消息的實時控制協(xié)議(RTCP)消息,所述會話描述消息與一媒體內容播放列表中的多塊媒體內容之一相關聯,所述媒體內容播放列表從服務器設備被流化到客戶機設備;以及把所述RTCP消息發(fā)送到客戶機設備;以及所述客戶機設備被配置成從服務器設備接收RTCP消息;從RTCP消息中提取會話描述消息;以及至少部分基于所述會話描述消息來處理所述多塊媒體內容之一。
34.如權利要求33所述的系統(tǒng),其特征在于,所述RTCP消息包括第一字段,包含把RTCP消息標識為嵌有會話描述消息的類型的數據;第二字段,包含作為會話描述消息的數據;以及第三字段,包含標識RTCP消息長度的數據,所述RTCP消息長度通過把第一字段的長度、第二字段的長度和第三字段的長度相加而生成。
35.一種方法,包括接收一多媒體演示的數據,其中所述數據包括第一組流;以及多播傳送第二組流,所述第二組流包括一專用通告流以及從第一組流中選擇的第一個流,其中所述通告流包括多媒體演示的演示描述信息。
36.如權利要求35所述的方法,其特征在于,所述第二組流在不同的信道上被多播傳送。
37.如權利要求36所述的方法,其特征在于,所述第二組流在預定的不同信道上被多播傳送。
38.如權利要求37所述的方法,其特征在于,所述預定的不同信道包括預定的邏輯地址。
39.如權利要求38所述的方法,其特征在于,所述預定的邏輯地址是有預定端口的預定互聯網協(xié)議(IP)地址。
40.如權利要求37所述的方法,其特征在于,所述預定的不同信道包括一邏輯地址的預定端口。
41.如權利要求35所述的方法,其特征在于,所述第二組流還包括第二個流,所述第二個流包括多個多媒體演示的數據單元,所述多個單元分別包括預先選擇的數量的多媒體演示數據的之前的子單元。
42.如權利要求41所述的方法,其特征在于,所述多個單元的每個單元都包括一關鍵幀。
43.如權利要求35所述的方法,其特征在于,所述第二組流還包括具有不同比特率的多個視頻數據流。
44.如權利要求35所述的方法,其特征在于,所述第二組流還包括具有不同比特率的多個音頻數據流。
45.如權利要求35所述的方法,其特征在于,所述第二組流還包括不同語言的多個多媒體數據流。
46.如權利要求35所述的方法,其特征在于,所述第二組流還包括要由在接收第二組流的客戶機上運行的一應用程序所使用的數據流。
47.如權利要求35所述的方法,其特征在于,所述通告流包括糾錯信息。
48.如權利要求35所述的方法,其特征在于,所述通告流包括安全信息。
49.如權利要求35所述的方法,其特征在于,所述通告流在頻帶外信道上被多播傳送。
50.如權利要求35所述的方法,其特征在于,所述通告流在頻帶內信道上被多播傳送。
51.如權利要求50所述的方法,其特征在于,所述通告流被多播傳送以符合實時傳輸控制協(xié)議(RTCP),所述通告流在頻帶內散布在被多播傳送以符合實時傳輸協(xié)議(RTP)的多媒體演示數據流內。
52.如權利要求50所述的方法,其特征在于,所述通告流被多播傳送,使通告流數據包括在包含多媒體演示數據的分組內。
53.一種計算機可存取的介質,具有計算機可執(zhí)行指令以執(zhí)行以下操作接收一多媒體演示的數據,其中所述數據包括第一組流;以及多播傳送第二組流,所述第二組流包括一專用通告流以及從第一組流中選擇的第一個流,其中所述通告流包括多媒體演示的演示描述信息。
54.如權利要求53所述的計算機可存取介質,其特征在于,所述第二組流在不同的信道上被多播傳送。
55.如權利要求54所述的計算機可存取介質,其特征在于,所述第二組流在預定的不同信道上被多播傳送。
56.如權利要求55所述的計算機可存取介質,其特征在于,所述預定的不同信道包括預定的邏輯地址。
57.如權利要求56所述的計算機可存取介質,其特征在于,所述預定的邏輯地址是有預定端口的預定互聯網協(xié)議(IP)地址。
58.如權利要求55所述的計算機可存取介質,其特征在于,所述預定的不同信道包括一邏輯地址的預定端口。
59.如權利要求53所述的計算機可存取介質,其特征在于,所述第二組流還包括第二個流,所述第二個流包括多個多媒體演示的數據單元,所述多個單元分別包括預先選擇的數量的多媒體演示數據的之前的子單元。
60.如權利要求59所述的計算機可存取介質,其特征在于,所述多個單元的每個單元都包括一關鍵幀。
61.如權利要求53所述的計算機可存取介質,其特征在于,所述第二組流還包括具有不同比特率的多個視頻數據流。
62.如權利要求53所述的計算機可存取介質,其特征在于,所述第二組流還包括具有不同比特率的多個音頻數據流。
63.如權利要求53所述的計算機可存取介質,其特征在于,所述第二組流還包括不同語言的多個多媒體數據流。
64.如權利要求53所述的計算機可存取介質,其特征在于,所述第二組流還包括要由在接收第二組流的客戶機上運行的一應用程序所使用的數據流。
65.如權利要求53所述的計算機可存取介質,其特征在于,所述通告流包括糾錯信息。
66.如權利要求53所述的計算機可存取介質,其特征在于,所述通告流包括安全信息。
67.一種計算機可存取的介質,具有計算機可執(zhí)行指令以執(zhí)行以下操作接收一多媒體演示的數據,其中所述數據包括第一組流;以及多播傳送第二組流,所述第二組流包括從第一組流中選擇的第一個流以及包括多個多媒體演示數據單元在內的第二個流,其中所述多個單元的每一個都包括預先選擇的數量的多媒體演示數據的之前的子單元。
68.如權利要求67所述的計算機可存取的介質,其特征在于,所述多個單元的每一個都包括一關鍵幀。
69.如權利要求67所述的計算機可存取的介質,其特征在于,第二個流的多個單元的每一個都包括足夠的數據,以減少多媒體播放器開始回放多媒體演示所需的時間量。
70.一種方法,包括接收一多媒體演示的數據,其中所述數據包括第一組流;以及多播傳送第二組流,所述第二組流包括從第一組流中選擇的第一個流以及包括多個多媒體演示數據單元在內的第二個流,其中所述多個單元的每一個都包括預先選擇的數量的多媒體演示數據的之前的子單元。
71.如權利要求70所述的方法,其特征在于,所述多個單元的每一個都包括一關鍵幀。
72.如權利要求70所述的方法,其特征在于,第二個流的多個單元的每一個都包括足夠的數據,以減少多媒體播放器開始回放多媒體演示所需的時間量。
73.一種方法,包括接收一多媒體演示的數據,其中所述數據包括第一組流;以及多播傳送第二組流,所述第二組流包括和第一組流內包含的信息有關的第一個和第二個流,其中所述第一個和第二個流在預先選擇的信道中被多播傳送。
74.如權利要求73所述的方法,其特征在于,所述預定的不同信道包括預定的邏輯地址。
75.如權利要求73所述的方法,其特征在于,所述預定的不同信道包括互聯網協(xié)議(IP)地址的預定端口。
76.如權利要求73所述的方法,其特征在于,所述第一個流是包含演示描述信息的通告流。
77.一種計算機可存取的介質,具有計算機可執(zhí)行指令以執(zhí)行以下操作接收一多媒體演示的數據,其中所述數據包括第一組流;以及多播傳送第二組流,所述第二組流包括和第一組流內包含的信息有關的第一個和第二個流,其中所述第一個和第二個流在預先選擇的信道中被多播傳送。
78.如權利要求77所述的計算機可存取的介質,其特征在于,所述預定的不同信道包括預定的邏輯地址。
79.如權利要求78所述的計算機可存取的介質,其特征在于,所述預定的邏輯地址是有預定端口的預定互聯網協(xié)議(IP)地址。
80.如權利要求77所述的計算機可存取的介質,其特征在于,所述預定的不同信道包括一邏輯地址的預定端口。
81.如權利要求78所述的計算機可存取的介質,其特征在于,所述第一個流是包含演示描述信息的通告流。
82.一種方法,包括從一預先選擇的第一信道接收第一個流,其中所述第一個流包括與被多播傳送的多媒體演示有關的演示描述信息;在預先選擇的第一信道上接收第一個流的同時,在第二個預先選擇的信道上接收第二個流,所述第二個流包括被多播傳送的多媒體演示數據的一多媒體數據流。
83.如權利要求82所述的方法,其特征在于,還包括終止第二個流的接收;以及響應于從第一個流接收到的演示描述信息,有選擇地在所選的第三信道上接收第三個流,其中第三個流包括被多播傳送的多媒體演示的另一個多媒體數據流。
84.如權利要求82所述的方法,其特征在于,還包括響應于從第一個流接收到的表示第二個流滿足預先選擇標準的演示描述信息,繼續(xù)接收第二個流。
85.一種計算機可存取的介質,具有計算機可執(zhí)行指令以執(zhí)行以下操作從一預先選擇的第一信道接收第一個流,其中所述第一個流包括與被多播傳送的多媒體演示有關的演示描述信息;在預先選擇的第一信道上接收第一個流的同時,在第二個預先選擇的信道上接收第二個流,所述第二個流包括被多播傳送的多媒體演示數據的一多媒體數據流。
86.如權利要求85所述的計算機可存取的介質,其特征在于,所述操作還包括終止第二個流的接收;以及響應于從第一個流接收到的演示描述信息,有選擇地在所選的第三信道上接收第三個流,其中第三個流包括被多播傳送的多媒體演示的另一個多媒體數據流。
87.如權利要求85所述的計算機可存取的介質,其特征在于,還包括響應于從第一個流接收到的表示第二個流滿足預先選擇標準的演示描述信息、繼續(xù)接收第二個流。
88.一種方法,包括從預先選擇的第一信道接收一數據單元,其中所述第一信道傳輸了被多播傳送的多媒體演示的多個數據單元,所述多個單元各自包括預先選擇的數量的被多播傳送的多媒體演示數據的之前的子單元;終止從第一個預先選擇的信道接收數據;以及在第二信道上接收第二個流,其中第二個流包括被多播傳送的多媒體演示數據的多媒體流。
89.如權利要求88所述的方法,其特征在于,響應于從一通告信道接收到的演示描述信息來選擇第二信道。
90.如權利要求88所述的方法,其特征在于,所述第二信道是預先選擇的。
91.一種計算機可存取的介質,具有計算機可執(zhí)行指令以執(zhí)行以下操作從預先選擇的第一信道接收一數據單元,其中所述第一信道傳輸了被多播傳送的多媒體演示的多個數據單元,所述多個單元各自包括預先選擇的數量的被多播傳送的多媒體演示數據的之前的數據子單元;終止從第一個預先選擇的信道接收數據;以及在第二信道上接收第二個流,所述第二個流包括被多播傳送的多媒體演示的多媒體流。
92.如權利要求91所述的計算機可存取的介質,其特征在于,響應于從一通告信道接收到的演示描述信息來選擇第二信道。
93.如權利要求91所述的計算機可存取的介質,其特征在于,所述第二信道是預先選擇的。
94.一種系統(tǒng),包括第一接口,用于接收多媒體演示的第一組流;通告生成器,用于提供包含與多媒體演示有關的演示描述信息的通告流;映射程序,用于把所述通告流和從第一組流中選擇的第一個流映射到多個信道;以及第二接口,用于在網絡上多播傳送第二組流,其中所述第二組流包括所映射的通告流和所映射的第一個流。
95.如權利要求94所述的系統(tǒng),其特征在于,所述第二組流在預定的不同信道上被多播傳送。
96.如權利要求95所述的系統(tǒng),其特征在于,所述預定的不同信道包括預定的邏輯地址。
97.如權利要求96所述的系統(tǒng),其特征在于,所述預定的邏輯地址各自包括一互聯網協(xié)議(IP)地址和一端口。
98.如權利要求95所述的系統(tǒng),其特征在于,所述預定的不同信道包括一邏輯地址的預定端口。
99.如權利要求95所述的系統(tǒng),其特征在于,所述第二組流還包括在被多播傳送時包括多媒體演示的多個數據單元的第二個流,所述多個單元各自包括預先選擇的數量的多媒體演示數據的之前的子單元。
100.如權利要求99所述的系統(tǒng),其特征在于,所述第二個流包括一關鍵幀。
101.如權利要求95所述的系統(tǒng),其特征在于,所述第二組流還包括具有從第一組流選擇的不同比特率的視頻數據流。
102.如權利要求95所述的系統(tǒng),其特征在于,所述第二組流還包括具有從第一組流選擇的不同比特率的多個音頻數據流。
103.如權利要求95所述的系統(tǒng),其特征在于,所述第二組流包括從第一組流選擇的不同語言的多個多媒體數據流。
104.如權利要求95所述的系統(tǒng),其特征在于,所述第二組流還包括要由在接收第二組流的客戶機上運行的應用程序所使用的數據流。
105.如權利要求95所述的系統(tǒng),其特征在于,所述通告流包括糾錯信息。
106.如權利要求95所述的系統(tǒng),其特征在于,所述通告流包括安全信息。
107.如權利要求95所述的系統(tǒng),其特征在于,所述通告流在頻帶外信道上被多播傳送。
108.如權利要求95所述的系統(tǒng),其特征在于,所述通告流在頻帶內信道上被多播傳送。
109.如權利要求108所述的系統(tǒng),其特征在于,所述通告流被多播傳送以符合實時傳輸控制協(xié)議(RTCP),所述通告流在頻帶內散布在被多播傳送以符合實時傳輸協(xié)議(RTP)的多媒體演示數據流內。
110.如權利要求108所述的系統(tǒng),其特征在于,所述通告流被多播傳送,使通告流數據包括在包含多媒體演示數據的分組內。
111.一種包含權利要求95所述組件的計算機可存取的介質。
112.一種系統(tǒng),包括用于接收一多媒體演示的第一組流的裝置;用于生成包含與多媒體演示有關的演示描述信息的通告流的裝置;用于把所述通告流和從第一組流中選擇的第一個流映射到多個信道的一個或多個信道的裝置;以及用于在網絡上多播傳送第二組流的裝置,其中第二組流包括所映射的通告流和第一個流。
113.如權利要求112所述的系統(tǒng),其特征在于,所述第二組流在預定的不同信道上被多播傳送。
114.如權利要求113所述的系統(tǒng),其特征在于,還包括用于把多媒體演示的多個數據單元提供給映射裝置的裝置,所述多個數據單元作為第二組流的一部分被多播傳送,所述多個單元在被多播傳送時各自包括預先選擇的數量的多媒體演示數據的之前的子單元。
115.一種包含權利要求112所述的組件的計算機可存取的介質。
全文摘要
在從媒體內容源發(fā)送到受信者的至少一些實時控制協(xié)議(RTCP)消息內嵌入有一會話描述消息(186),會話描述消息(186)描述了被流化到受信者(102)的一媒體演示(186)。會話描述消息(186)可以和例如一媒體內容(186)播放列表中的多塊媒體內容之一相關聯,所述播放列表從設備(104)被流化到受信者(102)。按照特定的方面,嵌有會話描述消息(186)的RTCP消息至少包括三個字段包含把RTCP消息標識為嵌有會話描述消息(186)的類型的第一字段;包含的數據是用于媒體演示的會話描述消息(186)的第二字段;以及包含標識了RTCP消息長度的數據的第三字段,所述RTCP消息長度通告把第一、第二和第三字段的長度相加而生成。
文檔編號H04L29/06GK1745382SQ200480003279
公開日2006年3月8日 申請日期2004年7月28日 優(yōu)先權日2003年10月24日
發(fā)明者A·E·克萊蒙茨, E·P·奧利維拉, J·M·阿科弗 申請人:微軟公司