專利名稱::會話描述消息擴(kuò)展的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及流媒體和數(shù)據(jù)傳輸,尤其涉及會話描述消息擴(kuò)展。發(fā)明背景諸如音頻、視頻和/或文本的流傳送等內(nèi)容流傳送正變得越來越流行。術(shù)語"流傳送"通常用于指示表示媒體的數(shù)據(jù)通過網(wǎng)絡(luò)在按需的基礎(chǔ)上提供給客戶機計算機而非在回放之前預(yù)傳送其整體。由此,客戶機計算機在從網(wǎng)絡(luò)服務(wù)器上接收到時就呈現(xiàn)流內(nèi)容,而非等待傳送整個"文件"。流多媒體內(nèi)容的廣泛可用性使得先前不能通過因特網(wǎng)或其它計算機網(wǎng)絡(luò)獲得的各種信息內(nèi)容變得可能。實況內(nèi)容是這類內(nèi)容的一個重要示例。使用流多媒體,可在事件發(fā)展時通過因特網(wǎng)廣播值得注意的事件的音頻、視頻或音頻/可視報道。類似地,電視臺和廣播電臺可通過因特網(wǎng)發(fā)送其實況內(nèi)容。1998年4月的網(wǎng)絡(luò)工作小組因特網(wǎng)標(biāo)準(zhǔn)草案(RFC)2327中的會話描述協(xié)議(SDP)是一種用于描述被稱為"會話"的多媒體演示的屬性以及包含在該演示內(nèi)的一個或多個媒體流的屬性的基于文本的格式。開發(fā)了SDP作為一種應(yīng)用層協(xié)議,用于為會話宣告、會話邀請和其它形式的多媒體會話發(fā)起目的而描述多媒體會話。SDP可依照諸如實時流傳送協(xié)議(RTSP)或超文本傳輸協(xié)議(HTTP)等其它協(xié)議來使用,以描述和/或協(xié)商用于傳送流數(shù)據(jù)的多媒體會話的屬性。然而,SDP在可描述的多媒體演示的屬性方面受到限制。對這一限制的一種解決方案是將諸如ASF(高級流傳送格式或高級系統(tǒng)格式)文件頭部等不同的文件頭部嵌入到SDP消息中。這一解決方案在例如名為"SystemandMethodforEmbeddingaStreamingMediaFormatHeaderWithinaSessionDescriptionMessage(用于將流媒體格式頭部嵌入在會話描述消息中的系統(tǒng)和方法)"的美國專利申請第2003/0236912號中有描述。然而,嵌入這一文件頭部會引起問題,諸如要求這一SDP消息的接收者能夠語法分析并理解不同的文件頭部,并增加了包括不同文件頭部的SDP消息的大小。由此,具有一種克服SDP的這些限制,而不會要求接收者能夠語法分析和理解嵌入的不同文件頭部(諸如ASF)的方法將是有益的。發(fā)明概述此處描述了會話描述消息擴(kuò)展。這些擴(kuò)展擴(kuò)展了可包括在用于流傳送媒體的會話描述消息中的信息。依照某些方面,會話描述消息擴(kuò)展包括以下的一個或多個指定多媒體(或單媒體)演示的多個媒體流中的哪些是互斥的互斥性擴(kuò)展、指定對多媒體演示的索引的標(biāo)記擴(kuò)展、指定要在多媒體演示的回放過程中演示的數(shù)據(jù)的腳本命令擴(kuò)展、指定當(dāng)以特定比特率播放多媒體演示時要緩沖該多媒體的多少數(shù)據(jù)的漏桶擴(kuò)展、指定關(guān)于多媒體演示的高速緩存的信息的高速緩存信息擴(kuò)展、指定用于多個不同編解碼器的一個或多個的編解碼器參數(shù)的封裝擴(kuò)展、指定多媒體演示中共享帶寬的媒體流的帶寬共享擴(kuò)展、或指定多媒體演示的哪些媒體流應(yīng)當(dāng)具有高于多媒體演示的哪些其它媒體流的優(yōu)先級的流優(yōu)先級擴(kuò)展。附圖簡述貫穿整篇文檔,相同的標(biāo)號用于指相同的組件和/或特征。圖1示出了可用于使用此處所描述的會話描述消息擴(kuò)展來流傳送媒體的一個示例網(wǎng)絡(luò)環(huán)境。圖2示出了可使用此處所描述的會話描述消息擴(kuò)展來流傳送媒體內(nèi)容的示例客戶機和服務(wù)器設(shè)備。圖3示出了示例會話描述消息格式。.圖4是示出用于擴(kuò)展用于多媒體演示的會話描述消息的示例過程的流程圖。圖5示出了可用于實現(xiàn)此處所描述的技術(shù)的通用計算機環(huán)境。較佳實施例的詳細(xì)描述此處描述了會話描述消息擴(kuò)展。會話描述消息包括描述多媒體演示或單媒體演示的信息。會話描述消息通常是從服務(wù)器設(shè)備發(fā)送到客戶機設(shè)備的,向該客戶機設(shè)備流傳送多媒體演示。此處描述了擴(kuò)展可包括在會話描述消息中的信息的若干擴(kuò)展。圖1示出了可用于使用此處所描述的會話描述消息來流傳送媒體的示例網(wǎng)絡(luò)環(huán)境100。在環(huán)境100中,多個(a)客戶機計算設(shè)備102(1)、102(2)、、102(a)通過網(wǎng)絡(luò)106被耦合到多個(b)服務(wù)器計算設(shè)備104(1)、104(2)、、104(b)。網(wǎng)絡(luò)106用于表示采用各種常規(guī)網(wǎng)絡(luò)協(xié)議(包括公共和/或?qū)S袇f(xié)議)的各種常規(guī)網(wǎng)絡(luò)拓?fù)浜皖愋?包括有線和/或無線網(wǎng)絡(luò))中的任一種。網(wǎng)絡(luò)106可包括例如因特網(wǎng)以及可能一個或多個局域網(wǎng)(LAN)的至少一部分。計算設(shè)備102和104的每一個可以是各種常規(guī)計算設(shè)備中的任一種,包括臺式PC、工作站、大型計算機、因特網(wǎng)設(shè)備、游戲控制臺、手持式PC、蜂窩電話、個人數(shù)字助理(PDA)等等。設(shè)備102和104的一個或多個可以是同一類型的設(shè)備,或者可以是不同類型的設(shè)備。服務(wù)器設(shè)備104可使得各種數(shù)據(jù)中的任一種可用于向客戶機102流傳送。術(shù)語"流傳送"用于指示表示媒體的數(shù)據(jù)是通過網(wǎng)絡(luò)提供給客戶機設(shè)備的,且該內(nèi)容的回放可在內(nèi)容被全部傳送之前開始(例如,在按需的基礎(chǔ)上提供數(shù)據(jù)而非在回放之前預(yù)傳送全部數(shù)據(jù))。數(shù)據(jù)可以是公共可用的,或者可以是受限制的(例如,僅現(xiàn)有某些用戶、僅當(dāng)支付了適當(dāng)?shù)馁M用時可用等等)。數(shù)據(jù)可以是各種一種或多種類型的內(nèi)容中的任一種,諸如音頻、視頻、文本、動畫等等。另外,數(shù)據(jù)可以是預(yù)錄制的或者可以是"實況的"(例如,執(zhí)行作為音樂會捕捉的音樂會的數(shù)字表示,并使其可用于在捕捉之后不久進(jìn)行流傳送)??蛻魴C設(shè)備102可從將流媒體內(nèi)容儲存為文件的服務(wù)器104處接收流媒體,或者可從接收來自某一其它來源的流媒體的服務(wù)器104處接收流媒體。例如,服務(wù)器104可從將流媒體內(nèi)容儲存為文件的'另一服務(wù)器處接收流媒體,或可從某一其它來源(例如,對"實況"內(nèi)容進(jìn)行編碼的編碼器)接收流媒體。如此處所使用的,流傳送媒體指將一個或多個媒體流從一個設(shè)備流傳送到另一個(例如,從服務(wù)器設(shè)備104流傳送到客戶機設(shè)備102)。媒體流可包括各種類型的內(nèi)容中的任一種,諸如音頻、視頻、文本等中的一個或多個。圖2示出了可使用此處所描述的會話描述消息擴(kuò)展來流傳送媒體內(nèi)容的示例客戶機和服務(wù)器設(shè)備。客戶機設(shè)備102包括被配置成訪問服務(wù)器設(shè)備104的流傳送模塊144的流媒體播放器142。包括會話描述消息146的媒體內(nèi)容從流傳送模塊144流傳送到流媒體播放器142,在流媒體播放器142中,流媒體可被呈現(xiàn)給客戶機設(shè)備102的用戶。流媒體146可依照諸如實時流傳送協(xié)議(RTSP)或超文本傳輸協(xié)議(HTTP)等不同的協(xié)議來流傳送。盡管未在圖2中示出,一個或多個其它設(shè)備(例如,防火墻、路由器、網(wǎng)關(guān)、網(wǎng)橋等)可位于客戶機設(shè)備102和服務(wù)器設(shè)備104之間。一個或多個會話描述消息用于描述作為流媒體146流傳送的多媒體演示的屬性。不同的媒體格式或協(xié)議可用于這類會話描述消息。這一媒體格式的一個示例是1998年4月的網(wǎng)絡(luò)工作小組因特網(wǎng)標(biāo)準(zhǔn)草案(RFC)2327中的會話描述協(xié)議(SDP)。在某些實施例中,此處所討論的會話描述協(xié)議是依照RFC2327中所描述的SDP格式的消息。盡管可使用不同的格式來描述多媒體演示的屬性,然而可將包括屬性標(biāo)識符的一個或多個會話描述消息從流傳送模塊144發(fā)送到流媒體播放器142。單個會話描述消息可由流傳送模塊144對特定的多媒體演示發(fā)送,或者可發(fā)送多個會話描述消息。如果發(fā)送多個會話描述消息,則多個消息可包括相同的信息、不同的信息或重疊的信息。會話描述消息包括,例如以下的一個或多個多媒體演示中可用的每一媒體流的描述(例如,指示流的類型(例如,視頻或視頻)、每一媒體流的比特率、流中使用的語言等等);糾錯信息;安全/認(rèn)證信息;加密信息;或數(shù)字權(quán)限管理(DRM)信息;等等。圖3示出了一個示例會話描述消息格式。盡管在圖3中被示出為一個特定示例,然而會話描述消息可具有帶有不同順序的字段或部分的格式,或者可在不同的消息之間散布。會話描述消息180包括會話級描述部分182和零個或多個媒體級描述部分184。會話級描述部分182包括具有應(yīng)用于整個會話以及作為會話的一部分的所有媒體流的數(shù)據(jù)的一個或多個字段。另一方面,每一媒體級描述部分182包括具有僅應(yīng)用于單媒體流的數(shù)據(jù)的一個或多個字段。媒體級描述部分182中的數(shù)據(jù)字段描述了用于特定媒體流的屬性。這些屬性可以是除會話級描述部分182中描述的屬性之外的屬性,或者替代會話級描述部分182中描述的屬性。例如,對于與一個特定媒體級描述部分182相關(guān)聯(lián)的特定媒體流,該特定媒體級描述部分182中的一個或多個屬性可覆蓋會話級描述部分182中標(biāo)識的屬性。會話描述消息180以及消息180的結(jié)構(gòu)在下文具體參考SDP來詳細(xì)討論??梢岳斫?,這些結(jié)構(gòu)僅僅是示例,并且會話描述消息可采用不同的形式。會話級描述部分182以被稱為協(xié)議版本字段的特定字段開始。類似地,媒體級描述部分183的每一個以被稱為媒體名稱和傳輸?shù)刂纷侄蔚奶囟ㄗ侄伍_始。在某些實施例中,相同類型的媒體字段可包括在會話描述消息中(例如,單個會話描述消息可具有兩個或多個屬性字段)。以下表I示出了可包括在會話級描述部分182中的示例字段。表I包括每一示例字段的名稱、每一示例字段的縮寫或類型、以及每一示例字段的簡要描述。在某些實施例中,需要協(xié)議版本字段、所有者/創(chuàng)建者和會話標(biāo)識符字段、會話名稱字段、以及時間描述字段,而表I中的所有其它字段都是可任選的。<table>tableseeoriginaldocumentpage14</column></row><table>以下表II更詳細(xì)地示出了時間描述字段。表II包括時間描述字段中的每一字段的名稱、時間描述字段中的每一字段的縮寫或類型、以及時間描述字段中的每一字段的簡要描述。會話有效的時間字段是必須的,而零個或多個重復(fù)時間字段是可任選的。表II<table>tableseeoriginaldocumentpage14</column></row><table><table>tableseeoriginaldocumentpage15</column></row><table>以下表in示出了可包括在媒體級描述部分184中的示例字段。表in包括每示例字段的名稱、每一示例字段的縮寫或類型、以及每一示例字段的簡要描述。在某些實施例中,媒體宣告字段是必須的,而表m中的所有其它字段是可任選的。<table>tableseeoriginaldocumentpage15</column></row><table>在某些實施例中,此處所討論的會話描述消息擴(kuò)展作為屬性字段包括在會話級描述182和/或一個或多個媒體級描述184中。圖4是用于擴(kuò)展用于多媒體演示的會話描述消息的示例過程200。過程200可以用軟件、固件、硬件或其組合來^l行。過程200通常是由多媒體演示的源(例如,生成該多媒體演示的編碼器設(shè)備)來執(zhí)行的。對于儲存的多媒體演示,包括在會話描述消息擴(kuò)展中的信息通常也連同多媒體演示一起儲存或儲存在別處。當(dāng)要檢索多媒體演示并流傳送到客戶機時,可檢索所儲存的信息,并生成帶有擴(kuò)展的會話描述消息。對于實況多媒體演示,包括在會話描述消息中的信息在多媒體演示的開始和/或在多媒體演示期間被添加(例如,由人類用戶或由計算設(shè)備自動添加)到會話描述消息中(例如,當(dāng)實況多媒體演示改變時,信息可被添加到會話描述消息中或在其中改變)。最初,標(biāo)識要包括在會話描述消息中的信息(動作202)。該信息可用一種或多種不同的方式來標(biāo)識。標(biāo)識該信息的一種方式是從文件或記錄中檢索。在某些實施例中,至少某些信息被儲存在與該會話描述消息要描述的多媒體演示相關(guān)聯(lián)的文件或記錄中。在動作202訪問該文件或記錄以檢索其中儲存的信息。可標(biāo)識該信息的另一種方式是從人類用戶接收。在某些實施例中,至少某些信息是從人類用戶接收的。這些用戶輸入在動作202用作要包括在會話描述消息中的至少某些信息??蓸?biāo)識該信息的另一種方式是自動檢測。在某些實施例中,至少某些信息可由計算設(shè)備通過分析多媒體演示的來源或多媒體演示本身來自動標(biāo)識。該自動檢測的信息在動作202用作要包括在會話描述消息中的至少某些信息。然后標(biāo)識要添加到會話描述消息中以包括所有標(biāo)識的信息的擴(kuò)展(動作204)。這些擴(kuò)展可用不同的方式來標(biāo)識??蓸?biāo)識這些擴(kuò)展的一種方式是自動基于所標(biāo)識的信息。以此方式,給定所標(biāo)識的信息,自動標(biāo)識要用于將該信息包括在會話描述消息中的特定擴(kuò)展。例如,可訪問映射信息至擴(kuò)展的表格或記錄,執(zhí)行自動配置的設(shè)備可用特定信息的適當(dāng)擴(kuò)展來配置或編程,等等??蓸?biāo)識這些擴(kuò)展的另一種方式是用信息本身來標(biāo)識擴(kuò)展信息。例如,當(dāng)在動作202標(biāo)識了信息,該信息可包括對使用哪一擴(kuò)展來將該信息包括在會話描述消息中的標(biāo)識。然后生成包括在動作204所標(biāo)識的擴(kuò)展和在動作202所標(biāo)識的信息的會話描述消息(動作206)。一旦生成,該會話描述消息可被發(fā)送到客戶機設(shè)備以向客戶機設(shè)備通知描述與該會話描述消息相關(guān)聯(lián)的多媒體演示的信息。各種各樣的信息可包括在會話描述消息擴(kuò)展中。在某些實施例中,這些擴(kuò)展包括也可被包括在與多媒體演示相關(guān)聯(lián)的ASF文件頭部中的信息。通過使用會話描述消息擴(kuò)展來包括這類信息,將不需要ASF文件頭部來傳遞到客戶機設(shè)備。這減輕了對客戶機設(shè)備能夠理解ASF文件頭部的需求,可通過不將整個ASF文件頭部嵌入在會話描述消息中來減少會話描述消息的大小,并可消除在尚未生成ASF文件頭部的情況下生成ASF文件頭部的需求。應(yīng)當(dāng)注意,此處所討論的會話描述消息是與ASF文件頭部分離的。這些會話描述消息擴(kuò)展被定義為與任何ASF文件頭部分離(即,這些會話描述消息擴(kuò)展不簡單地是嵌入在會話描述消息中的ASF文件頭部的一部分)。這些會話描述消息擴(kuò)展也可在沒有與多媒體演示相關(guān)聯(lián)的ASF文件頭部的情況下使用。以下表IV示出了可包括在會話描述消息中的若干擴(kuò)展的總結(jié)。在某些實施例中,這些擴(kuò)展的每一個是使用會話描述的屬性字段來添加的。在表IV之后對這些擴(kuò)展的討論指示這些擴(kuò)展是否通常能在會話級描述182或媒體級描述184中找到,盡管可替換地,這些擴(kuò)展可位于會話級描述182或媒體級描述184的任一個中。名稱描述互斥性指定媒體流是否是互斥的標(biāo)記對媒體流的用戶友好索引腳本命令指定在媒體流的回放期間的特定時刻要顯示的文本(或其它數(shù)據(jù))或應(yīng)當(dāng)顯示的網(wǎng)頁標(biāo)識符漏桶當(dāng)以恒定的比特率回放可變比特率的內(nèi)容時,指定客戶機應(yīng)當(dāng)緩沖媒體流的多少數(shù)據(jù)高速緩存信息指定關(guān)于媒體流的高速緩存的信息,諸如是否高速緩存流、流被認(rèn)為是最新的有多久、等等RTP封裝指定一般在用于通過RTP發(fā)送的數(shù)據(jù)的各種各樣編解碼器上的編解碼器初始化參數(shù)帶寬共享指定共享帶寬的流,使得該組指定的流的最大帶寬少于個別流的最大帶寬的總和流優(yōu)先級指定哪些流應(yīng)當(dāng)具有高于哪些其他流的優(yōu)先級(例如,在網(wǎng)絡(luò)擁塞的情況下應(yīng)當(dāng)或不應(yīng)當(dāng)丟棄哪些流)包括在表IV的總結(jié)中的每一擴(kuò)展在下文中更詳細(xì)地描述。下文中對各種擴(kuò)展討論了特種示例句法??梢岳斫?,這些僅是示例,也可替換地使用其它句法。例如,可改變參數(shù)或參數(shù)的順序。又如,可改變特走屬性的名稱(例如,下文中討論的互斥性的名稱可被改為除"a=group"之外的某一其它名稱)。應(yīng)當(dāng)注意,此處參考特定媒體流的標(biāo)識。這些標(biāo)識可在不同的時刻做出。在某些實施例中,媒體流的標(biāo)識是在編碼媒體時(例如,對于實況廣播)或在儲存媒體流時(例如,作為ASF文件)由作者或設(shè)計者(或者自動地)創(chuàng)建的。在其它實施例中,當(dāng)多媒體演示(或單媒體演示)的流傳送是從服務(wù)器設(shè)備處開始時,創(chuàng)建媒體流的標(biāo)識符。標(biāo)識符本身可以用各種方式中的任一種來生成。在某些實施例中,標(biāo)識符是RTP會話的標(biāo)識符。在這些實施例中,使用如在2003年7月的網(wǎng)絡(luò)工作小組因特網(wǎng)標(biāo)準(zhǔn)草案(RFC)3550中描述的實施傳輸協(xié)議(RTP)將各個媒體流從服務(wù)器設(shè)備流傳送到客戶機設(shè)備。RTP提供了適用于通過組播或單播網(wǎng)絡(luò)服務(wù)發(fā)送諸如音頻、視頻或模擬數(shù)據(jù)的應(yīng)用程序的端對端網(wǎng)絡(luò)傳輸功能。每一媒體流通過不同的RTP會話流傳送??捎貌煌姆绞较蜻@些RTP會話分配號碼,諸如通過使用如2002年12月的會話描述協(xié)議(SDP)中的媒體線分組因特網(wǎng)標(biāo)準(zhǔn)草案(RFC)3388中所描述的"a=mid:"屬性。在其它實施例中,可用不同的方式向RTP會話分配號碼,諸如通過使用"a-stream:"或某一其它屬性?;蛘撸珊唵蔚赝ㄟ^使用如在ASF頭部中分配的與ASF流ID相同的標(biāo)識符來生成標(biāo)識符。互斥性互斥性擴(kuò)展指定了媒體流是否是互斥的。在某些實現(xiàn)中,流基于比特率和語言是互斥的。例如,多媒體演示可具有同一內(nèi)容的以不同比特率編碼的多個流(例如,音頻或視頻)。每次僅這些流中具有期望比特率的那一個應(yīng)當(dāng)被選中用于流傳送到客戶機設(shè)備。又如,多媒體演示可具有同一內(nèi)容的不同語言的多個流(例如,音頻)。每次僅這些流中期望語言的那一個應(yīng)當(dāng)被選中用于流傳送到客戶機設(shè)備。在某些實施例中,互斥性擴(kuò)展的參數(shù)是通過訪問與多媒體演示相關(guān)聯(lián)的ASF文件頭部中的比特率互斥對象或高級互斥對象來獲得的。檢索ASF文件頭部中標(biāo)識的參數(shù),并用作互斥性擴(kuò)展的參數(shù)。如果在ASF文件頭部中有多個比特率互斥對象和/或高級互斥對象,則對這多個比特率互斥對象和/或高級互斥對象中的每一個在會話描述消息中包括一個單獨的互斥性擴(kuò)展。互斥性擴(kuò)展使用"a=groUp"屬性而被包括在會話級描述中。"a-group"屬性的句法定義如下a-group:Exc/ws/ow7^peiS/reamA^m6ers£xC/^/0"7>/^(排斥類型)參數(shù)可被設(shè)為不同的值以指示互斥性的類型。例如,j&cc/M/o7>;7e參數(shù)可被設(shè)為"MBR"以指示該流是基于比特率而互斥的,但是設(shè)為"LANG"則指示該流是基于語言而互斥的。在某些實施例中,當(dāng)將互斥性擴(kuò)展基于ASF文件頭部中的信息時,如果ASF文件頭部的比特率互斥對象或高級互斥對象中的"排斥類型"GUID的值是ASF—Mutex—Language,則五;cc/,'o"7)^參數(shù)被設(shè)為"LANG",如果ASF文件頭部的比特率互斥對象或高級互斥對象中的"排斥類型"GUID的值是ASF—Mutex—Bitrate,貝U五xc/w/o"7);;e參數(shù)被設(shè)為"固R,,。^eamA^w6w(流號碼)參數(shù)包含互斥性所應(yīng)用的流的列表。這些流例如按其RTP會話來標(biāo)識。在某些實施例中,當(dāng)將互斥性擴(kuò)展基于ASF文件頭部中的信息時,對ASF文件的比特率互斥對象或高級互斥對象的"流號碼"字段中的每一流,將分配給對應(yīng)的RTP會話的號碼添加到^r^mM/m6e^參數(shù)中的流的列表。標(biāo)記標(biāo)記擴(kuò)展指定了對媒體流的用戶友好索引。這些用戶友好索引預(yù)期能由人類讀者容易地理解。標(biāo)記擴(kuò)展使用"a=marker"屬性被包括在會話級描述中。在某些實施例中,標(biāo)記擴(kuò)展的參數(shù)是通過訪問與多媒體演示相關(guān)聯(lián)的ASF文件中的標(biāo)記對象來獲得的。檢索ASF文件頭部中標(biāo)識的參數(shù),并用作標(biāo)記擴(kuò)展的參數(shù)。如果ASF文件頭部中有多個標(biāo)記,則可使用單個標(biāo)記擴(kuò)展來標(biāo)識所有的這多個標(biāo)記?;蛘?,可對這多個標(biāo)記中的每一個在會話描述消息中包括單獨的標(biāo)記擴(kuò)展。"a-marker"屬性的句法定義如下加me(名稱)參數(shù)指定了由標(biāo)記擴(kuò)展指定的標(biāo)記的名稱。在某些實施例中,當(dāng)將標(biāo)記擴(kuò)展基于ASF文件頭部中的信息時,ASF文件頭部的標(biāo)記對象中的"名稱"的值是UTF-8編碼的,并用作標(biāo)記擴(kuò)展中參數(shù)的值。"me(時間)參數(shù)指定了標(biāo)記的演示時間。在某些實施例中,當(dāng)將標(biāo)記擴(kuò)展基于ASF文件頭部中的信息時,ASF文件的標(biāo)記對象中的"演示時間"的值被用作標(biāo)記擴(kuò)展中的"A^參數(shù)的值。在某些實施例中,如果ASF文件頭部指定了在開始播放多媒體演示之間要緩沖數(shù)據(jù)的時間量(例如,在字段屬性對象的"預(yù)巻(preroll)"字段中),則從ASF文件頭部的標(biāo)記對象中的"演示時間"的值中減去指定的時間量,并將所得的差用作標(biāo)記擴(kuò)展中"/^參數(shù)的值。(描述)參數(shù)指定了要呈現(xiàn)給用戶作為標(biāo)記的用戶友好索引。在某些實施例中,當(dāng)將標(biāo)記擴(kuò)展基于ASF文件頭部中的信息時,ASF文件頭部的標(biāo)記對象中的"標(biāo)記描述"的值是UTF-8編碼的,并被用作標(biāo)記擴(kuò)展中的^^參數(shù)的值。"a=marker"屬性對于多個標(biāo)記可任選地包括Wme和cfesc參數(shù),每一參數(shù)對與前一參數(shù)對相隔一個空白字符(或者相隔某一(些)其它字符,諸如逗號、冒號、句號等)。腳本命令腳本命令擴(kuò)展指定了在媒體流的回放期間要在特定的時刻顯示的文本(或其它數(shù)據(jù)),或指定了在媒體流的回放期間應(yīng)當(dāng)在特定的時刻顯示(例如,在web瀏覽器內(nèi))的網(wǎng)頁的標(biāo)識符。腳本命令擴(kuò)展使用"a=Script"屬性包括在會話級描述中。在某些實施例中,腳本命令擴(kuò)展的參數(shù)是通過訪問與多媒體演示相關(guān)聯(lián)的ASF文件頭部中的腳本命令對象來獲得的。檢索ASF文件頭部中標(biāo)識的參數(shù),并用作腳本命令擴(kuò)展的參數(shù)。如果ASF文件頭部中有多個命令,則可使用單個腳本命令擴(kuò)展來標(biāo)識所有這多個命令。或者,可對這多個命令中的每一個在會話描述消息中包括單獨的腳本命令擴(kuò)展。"a=script"屬性的句法定義如下(^e(類型)參數(shù)指定了由腳本命令擴(kuò)展指定的命令的類型的名稱。在某些實施例中,當(dāng)將腳本命令擴(kuò)展基于ASF文件頭部中的信息時,ASF文件頭部的腳本命令對象中的"命令類型名稱"的值是UFT-8編碼的,并用作腳本命令擴(kuò)展中^pe參數(shù)的值。如果ASF文件頭部中的腳本命令對象可包含多個"命令類型字段",則對每一這樣的字段使用單獨的腳本命令擴(kuò)展。"me(時間)參數(shù)指定了命令的演示時間。在某些實施例中,當(dāng)將腳本命令擴(kuò)展基于ASF文件頭部中的信息時,ASF文件頭部的腳本命令對象中的"演示時間"的值被用作腳本命令擴(kuò)展中/^e參數(shù)的值。在某些實施例中,如果ASF文件頭部指定了在開始播放多媒體演示之前要緩沖數(shù)據(jù)的時間量(例如,文件屬性對象的"預(yù)巻"字段中),則從ASF文件頭部的腳本命令對象中的"演示時間"的值中減去該時間量,并將所得的差用作腳本命令擴(kuò)展中的"me參數(shù)的值。commas/(命令)參數(shù)指定了要顯示的文本(或其它數(shù)據(jù))或應(yīng)當(dāng)顯示(例如,在web瀏覽器內(nèi))的網(wǎng)頁的標(biāo)識符。在某些實施例中,當(dāng)將腳本命令擴(kuò)展基于ASF文件頭部中的信息時,ASF文件頭部的腳本命令對象中的"命令名稱"的值是UTF-8編碼的,并用作腳本命令擴(kuò)展中comma"t/參數(shù)的值。"a=script"屬性對多個腳本命令可任選地包括"me和comw朋c/參數(shù)。每一參數(shù)對與前一參數(shù)對相隔一個空白字符(或者相隔某一(些)其它字符,諸如逗號、冒號、句號等)。漏桶漏桶擴(kuò)展字段指定當(dāng)以恒定的比特率播放可變比特率的內(nèi)容時客戶機應(yīng)當(dāng)緩沖媒體流的多少數(shù)據(jù)。漏桶指的是以恒定的正滲濾速率排空的緩沖區(qū),其中可在不規(guī)則的時刻并以不規(guī)則的量轉(zhuǎn)儲比特。漏桶是由其滲漏速率(例如,以比特每秒為單位)及其大小或容量(例如,以比特為單位)來指定的。漏桶擴(kuò)展使用"a-bucketinfo"屬性被包括在會話級描述內(nèi)。在某些實施例中,漏桶擴(kuò)展的參數(shù)是通過訪問與多媒體演示相關(guān)聯(lián)的ASF文件頭部中的擴(kuò)展內(nèi)容描述對象來獲得的。擴(kuò)展內(nèi)容描述對象包括名為"ASFLeakyBucketPairs"(ASF漏桶對)的名稱一值對。"ASFLeadyBucketPairs"名稱一值對的值是漏桶信息,用作漏桶擴(kuò)展的參數(shù)。或者,漏桶擴(kuò)展的參數(shù)可來自ASF文件頭部中的別處,諸如擴(kuò)展流描述對象。如果在ASF文件頭部中有多個這樣的具有"ASFLeakyBucketPairs"名稱—值對的擴(kuò)展內(nèi)容描述對象(和/或擴(kuò)展內(nèi)容描述對象中多個這樣的"ASFLeakyBucketPairs"名稱一值對),則可使用單個漏桶擴(kuò)展來標(biāo)識所有這多個"ASFLeakyBucketPairs"名稱一值對?;蛘撸蓪@多個擴(kuò)展內(nèi)容描述對象或多個"ASFLeakyBucketPairs"名稱一值對的每一個在會話描述消息中包括單獨的漏桶擴(kuò)展。"a-bucketinfo"屬性的句法定義如下a:bucketinfo:i7;B/i二52i7參數(shù)指定了第一漏桶的比特率(滲濾速率),57參數(shù)指定了第一漏桶的大小(例如,以毫秒為單位)。72參數(shù)指定了第二漏桶的比特率(滲漏速率),52參數(shù)指定了第二漏桶的大小。盡管在句法定義中僅示出了兩個漏桶,然而"a=bucketinfo"屬性可對無限數(shù)量(x)的漏桶提供參數(shù)對h;5;c。每一參數(shù)對與前一參數(shù)對相隔一個空白字符(或者相隔某一其它字符,諸如逗號、冒號、句號等)。在某些實施例中,當(dāng)將漏桶擴(kuò)展基于ASF文件頭部中的信息時,ASF頭部文件的擴(kuò)展內(nèi)容描述對象中的"ASFLeadyBucketPairs"名稱—值對的值用作漏桶擴(kuò)展中/和5參數(shù)的值。"描述值"的第一部分(例如,前四個字節(jié))指定了該存儲桶的比特率(7參數(shù)),而"描述值"的第二部分(例如,第二四個字節(jié))指定了該存儲桶的大小(S參數(shù))。高速緩存信息高速緩存信息擴(kuò)展指定了關(guān)于媒體流的高速緩存的信息,諸如是否要高速緩存流、流被認(rèn)為是最新的有多久、等等。在某些實施例中,高速緩存信息是基于由服務(wù)器設(shè)備(例如,服務(wù)器設(shè)備104)實現(xiàn)的高速緩存策略來確定的。高速緩存信息擴(kuò)展使用"『cachectrl"屬性被包括在會話級描述中。"a=cachectrl"屬性的句法如下a-cachectrl:i妙fe"g/^(權(quán)限)參數(shù)是由空白字符(或者某些其它字符,諸如逗號、句號、分號、冒號等)分隔的一個或多個偽指令。偽指令可以是名稱一值對,其中名稱和值由"="字符(或者某一其它字符)分隔,或者偽指令可以是單個"名稱",而沒有"值"??稍趇^;^參數(shù)中包括不同的偽指令。在某些實施例中,這些偽指令包括no-cache(不可高速緩存)偽指令、no-splitting(不可分割)偽指令以及expiration(過期)偽指令。no-cache偽指令被定義為"不可高速緩存",并向客戶機設(shè)備以及服務(wù)器和客戶機設(shè)備之間的任何中間設(shè)備指示不允許該設(shè)備高速緩存媒體流以在稍后的時間回放。no-splitting偽指令被定義為"不可分割",并向客戶機設(shè)備以及服務(wù)器和客戶機設(shè)備之間的任何中間設(shè)備指示不允許該設(shè)備重新廣播或重新分發(fā)該內(nèi)容。流媒體內(nèi)容的分割指將同一內(nèi)容傳遞到多個客戶機。不分割偽指令指示這樣的分割是不允許的。"^cachectrel"屬性也包括expiration偽指令,它是被定義如下的名稱一值對expiration-r/meoW77meoW參數(shù)指定了高速緩存的媒體流的副本何時被認(rèn)為是陳舊的(不再最新)。T7weo^參數(shù)可指定高速緩存的副本被認(rèn)為陳舊之前的一時間段(例如,若千秒、分、日等等),或者可指定當(dāng)高速緩存的副本變得陳舊的一特定日期和/或時間(例如,2004年4月15日下午3:00)。在某些實施例中,不允許具有高速緩存的副本的設(shè)備使用陳舊的媒體流。在其它實施例中,設(shè)備可使用媒體流的陳舊的高速緩存副本,但是設(shè)備應(yīng)當(dāng)試圖確定該媒體流的較新的版本是否可用,并在可能時使用該較新的副本作為替代。如果未包括expiration偽指令,則媒體流不會變得陳舊。如果未包括"a-cachectrl"屬性,則允許媒體流的高速緩存和分割,并且高速緩存的內(nèi)容不會變得陳舊。RTP封裝RTP封裝擴(kuò)展指定了一般在通過RTP發(fā)送的數(shù)據(jù)的各種各樣編解碼器上的編解碼器初始化參數(shù)??蓪TP使用各種各樣不同的編解碼器,并且這些不同的編解碼器通常具有其自己的封裝方案及其自己的初始化參數(shù)。RTP封裝擴(kuò)展允許同一句法(是RTP封裝擴(kuò)展)來描述各種各樣不同編解碼器的屬性,由此減輕了對許多不同的句法描述許多不同的代碼的需求。RTP封裝擴(kuò)展使用"a-fmtp"屬性被包括在媒體級描述內(nèi)。^參數(shù)是RTP有效載荷類型號,它標(biāo)識了RTP有效載荷的格式或類型。在某些實現(xiàn)中,0和127之間的任何數(shù)字都是有效的。^T/M五參數(shù)是在媒體流中使用的編解碼器的標(biāo)識符。在某些實施例中,M/M£參數(shù)是依照1998年6月的網(wǎng)絡(luò)工作小組因特網(wǎng)標(biāo)準(zhǔn)草案(RFC)2361的"WAVE和AVI編解碼器注冊"中的規(guī)則來形成的。在其它實施例中,Affl^五參數(shù)可采用以下形式application/vnd.asf;codec=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx其中,參數(shù)xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx由編解碼器的標(biāo)識符來替代。在某些實施例中,該標(biāo)識符是來自ASF文件的編解碼器GUID。該標(biāo)識符可被儲存在ASF文件中,例如來自ASF文件中的流屬性對象的媒體類型GUID,或ASF文件中的流屬性對象的類型專用數(shù)據(jù)段。co"/g=co^/^-//o參數(shù)標(biāo)識了編解碼器初始化數(shù)據(jù),其中,co"yg-/"/o由一系列子參數(shù)來替代。在某些實施例中,子參數(shù)是Bast64編碼的。這些子參數(shù)由"/"字符或者其它字符(例如,句號、逗號、冒號、分號等)來分隔。C^力g-^/o的句法如下matDataMq/or7)^e(主要類型)子參數(shù)是標(biāo)識媒體流的類型的標(biāo)識符(例如,GUID(全局唯一ID))。在某些實現(xiàn)中,有效的值包括用于音頻流的"73647561-0000-0010-8000-00AA00389B71",以及用于視頻流的"73646976-0000-0010-8000-00AA00389B71"。于主機計算機108可以請求其內(nèi)容的日志文件中。DAT系統(tǒng)100提供單個虛擬環(huán)境,該環(huán)境4吏線程能夠位于不同平臺上并且仍無縫3^目互通信。DAT系統(tǒng)100視嵌入式計算機104、主機計算機108和存儲于通信數(shù)據(jù)庫124中的通信接口的機器特征而定,通過自動地轉(zhuǎn)換數(shù)據(jù)來提供在兩個平臺之間的通信可互用性。DAT系統(tǒng)100提供對設(shè)計到嵌入式計算機的軟件應(yīng)用中的基于消息的和遠(yuǎn)程的函數(shù)函數(shù)調(diào)用接口的自動和無縫訪問。DAT系統(tǒng)100自動地提取接口信息并且構(gòu)建消息接發(fā)和遠(yuǎn)程函數(shù)調(diào)用信息的數(shù)據(jù)庫。使用工作室模塊128,用戶具有對M式應(yīng)用接口的完全可視性和控制而無需解決如下問題(i)更新桌面工具以適應(yīng)新消息;(ii)更新^式軟件以支持桌面工具的新功能;(iii)使用什么目標(biāo)編譯器;(iv)使用什么RTOS;以及(iv)—個或者多個線程在什么平臺上執(zhí)行。DAT系統(tǒng)100允許經(jīng)由腳本語言或者任何服從COM的應(yīng)用對存儲于通信數(shù)據(jù)庫124中的接口的無縫訪問。盡管以上具體描述已經(jīng)示出、說明和指出了如應(yīng)用于各種實施例的本發(fā)明的新穎特征,但是應(yīng)當(dāng)理解在不脫離本發(fā)明的精神的情況下,本領(lǐng)域技術(shù)人員可以做出在所示設(shè)備或者過程的形式和細(xì)節(jié)上的各種省略、替換和變化。本發(fā)明的范圍通過所附權(quán)利要求而不是通過以上描述來指明。落入權(quán)利要求等同含義和范圍內(nèi)的所有變化將被嚢括于權(quán)利要求的范圍內(nèi)。Wfln'"g7)^e參數(shù)可被設(shè)置成不同的值以指示共享的類型。例如,幼w/"g7)^e參數(shù)可被設(shè)為"PART"以指示在任何給定時刻任意數(shù)量的指定流可以流傳送數(shù)據(jù),但是如果在任何給定時刻只有指定的流中的一個可以流傳送數(shù)據(jù),則應(yīng)被設(shè)為"EXCL"。在某些實施例中,當(dāng)將帶寬共享擴(kuò)展基于ASF文件頭部中的信息時,如果ASF文件頭部的帶寬共享對象中的"共享類型"GUID的值是ASF—Bandwidth—Sharing—Partial,則5T2an'"g/^e參數(shù)被設(shè)為"PART",如果ASF文件頭部的帶寬共享對象中的"共享類型"GUID的值為ASF—Bandwidth—Sharing—Exclusive,則5Tw〃'"g7)^e參數(shù)被設(shè)為"EXCL"。i參數(shù)指定了包含所有流的數(shù)據(jù)部分的漏桶在沒有溢出的情況下的滲漏速率(例如,以比特每秒為單位)。漏桶的大小被指定為S參數(shù)。在某些實施例中,當(dāng)將帶寬共享擴(kuò)展基于ASF文件頭部中的信息時,i參數(shù)是ASF文件頭部中的"數(shù)據(jù)比特率"字段的值,被表達(dá)為十進(jìn)制數(shù)字。S參數(shù)指定了漏桶的大小(例如,以毫秒為單位)。在某些實施例中,當(dāng)將帶寬共享擴(kuò)展基于ASF文件頭部中的信息時,5參數(shù)是ASF文件頭部中的"緩沖區(qū)大小"字段的值,被表達(dá)為十進(jìn)制數(shù)字。&5^>"丄/^參數(shù)由一個或多個十進(jìn)制數(shù)字構(gòu)成,由空白字符分隔。每一數(shù)字標(biāo)識了由該"a-bwshare"屬性表達(dá)的帶寬共享關(guān)系覆蓋的指定的流之一。流按照其RTP會話號來標(biāo)識。流優(yōu)先級流優(yōu)先級擴(kuò)展指定了多媒體演示中的哪些流應(yīng)當(dāng)具有高于哪些其它流的優(yōu)先級。例如,優(yōu)先級可用于標(biāo)識在網(wǎng)絡(luò)擁塞的情況下應(yīng)當(dāng)或不應(yīng)當(dāng)丟棄哪些流。流優(yōu)先級使用"a=prio"屬性被包括在會話級描述中。"a=prio"按優(yōu)先級順序列出了每一RTP會話,最高優(yōu)先級的RTP會話最先列出。"a=prio"屬性包括一參數(shù)列表,它們是RTP會話的標(biāo)識符。某些RTP會話可被標(biāo)識為強制的,這指示那些會話不應(yīng)響應(yīng)于網(wǎng)絡(luò)擁塞而被丟棄。強制RTP會話在"a=pri0"屬性中通過在RTP會話號之后追加字符"m"來指示。以下示例示出了"a=prio"屬性的句法。a=prio:lm2m3在此示例中,RTP會話1和2是強制的。RTP會話3具有比其它會話低的優(yōu)先級,并且可在網(wǎng)絡(luò)擁塞的情況下被丟棄。在某些實施例中,流優(yōu)先級是通過訪問與多媒體演示相關(guān)聯(lián)的ASF文件頭部中的流優(yōu)先級對象來獲得的。ASF文件頭部中標(biāo)識的流對應(yīng)于RTP會話,且ASF文件頭部中標(biāo)識的流優(yōu)先級用作對應(yīng)的RTP會話的優(yōu)先級。如果對特定的ASF流設(shè)置了"強制標(biāo)志",則對應(yīng)的RTP會話也被認(rèn)為是強制的?,F(xiàn)在參考圖5,圖5示出了可用于實現(xiàn)此處所描述的技術(shù)的通用計算機環(huán)境300。計算系統(tǒng)環(huán)境300僅為計算環(huán)境的一個示例,并非對計算機和網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)的使用范圍或功能提出任何局限。也不應(yīng)將計算環(huán)境300解釋為對示例性計算機環(huán)境300中示出的任一組件或其組合具有任何依賴或需求。計算機環(huán)境300包括計算機302形式的通用計算設(shè)備。計算機302可以是,例如圖1和2的客戶機設(shè)備102或服務(wù)器設(shè)備104。計算機302也可以是作為多媒體演示的源的編碼器設(shè)備。計算機302的組件可包括但不限于,一個或多個處理器或處理單元304、系統(tǒng)存儲器306以及將包括處理器304的各類系統(tǒng)組件耦合至系統(tǒng)存儲器306的系統(tǒng)總線308。系統(tǒng)總線308表示若干種總線結(jié)構(gòu)類型的一種或多種,包括存儲器總線或存儲器控制器、外圍總線、加速圖形端口、以及使用各類總線體系結(jié)構(gòu)的處理器或局部總線。作為示例,這類體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強ISA(EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(VESA)局部總線以及外圍部件互連(PCI)總線,也稱為Mezzanine總線。計算機302通常包括各種計算機可讀介質(zhì)。這類計算機可讀介質(zhì)可以是可由計算機302訪問的任一可用介質(zhì),包括易失性和非易失性介質(zhì)、可移動和不可移動介質(zhì)。系統(tǒng)存儲器306包括諸如隨機存取存儲器(RAM)310等易失性存儲器,和/或諸如只讀存儲器(ROM)312等非易失性存儲器形式的計算機存儲介質(zhì)?;据斎?輸出系統(tǒng)(BIOS)314包括如在啟動時幫助在計算機302內(nèi)的元件之間傳輸信息的基本例程,通常儲存在ROM312中。RAM310通常包含處理單元304立即可訪問或者當(dāng)前正在操作的數(shù)據(jù)和/或程序模塊。計算機302也可包括其它可移動/不可移動、易失性/非易失性計算機存儲介質(zhì)。作為示例,圖5示出了對不可移動、非易失性磁介質(zhì)(未示出)進(jìn)行讀寫的硬盤驅(qū)動器316、對可移動、非易失性磁盤320(如,"軟盤")進(jìn)行讀寫的磁盤驅(qū)動器318以及對可移動、非易失性光盤324,如CD-ROM、DVD-ROM或其它光介質(zhì)進(jìn)行讀寫的光盤驅(qū)動器322。硬盤驅(qū)動器316、磁盤驅(qū)動器318和光盤驅(qū)動器322的每一個通過一個或多個數(shù)據(jù)介質(zhì)接口325連接到系統(tǒng)總線308?;蛘?,硬盤驅(qū)動器316、磁盤驅(qū)動器318和光盤驅(qū)動器322可通過一個或多個接口(未示出)連接到系統(tǒng)總線308。盤驅(qū)動器及其相關(guān)聯(lián)的計算機可讀介質(zhì)為計算機302提供了計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的非易失性存儲。盡管示例示出了硬盤316、可移動磁盤320和可移動光盤324,然而可以理解,可儲存可由計算機訪問的數(shù)據(jù)的其它類型的計算機可讀介質(zhì),如磁帶盒或其它磁存儲設(shè)備、閃存卡、CD-ROM、數(shù)字多功能盤(DVD)或其它光存儲、隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)等,也可用于實現(xiàn)示例性計算系統(tǒng)和環(huán)境。多個程序模塊可儲存在硬盤316、磁盤320、光盤324、ROM312和/或RAM310中,作為示例,包括操作系統(tǒng)326、一個或多個應(yīng)用程序328、其它程序模塊330以及程序數(shù)據(jù)332。這些操作系統(tǒng)326、一個或多個應(yīng)用程序328、其它程序模塊330和程序數(shù)據(jù)332(或其組合)的每一個可實現(xiàn)支持分布式文件系統(tǒng)的常駐組件的所有或部分。用戶可以通過諸如鍵盤334和定位設(shè)備336(如,"鼠標(biāo)")等輸入設(shè)備向計算機302輸入命令和信息。其它輸入設(shè)備338(未具體示出)可包括麥克風(fēng)、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀和/或其類似物。這些和其它輸入設(shè)備通常通過耦合至系統(tǒng)總線308的輸入/輸出接口340連接到處理單元304,但也可以通過其它接口和總線結(jié)構(gòu)連接,如并行端口、游戲端口或通用串行總線(USB)。監(jiān)視器342或其它類型的顯示設(shè)備也通過接口,如視頻適配器344連接到系統(tǒng)總線308。除監(jiān)視器342之外,其它輸出外圍設(shè)備可包括諸如揚聲器(未示出)和打印機346等組件,它們可通過輸入/輸出接口340連接到計算機302。計算機302可以在使用到一個或多個遠(yuǎn)程計算機,如遠(yuǎn)程計算設(shè)備348的邏輯連接的網(wǎng)絡(luò)化環(huán)境中操作。作為示例,遠(yuǎn)程計算設(shè)備可以是個人計算機、服務(wù)器、路由器、網(wǎng)絡(luò)計算機、對等設(shè)備或其它普通網(wǎng)絡(luò)節(jié)點等等。遠(yuǎn)程計算設(shè)備348被示出為可包括此處相對于計算機302所描述的許多或所有元件和特征的便攜式計算機。計算機302和遠(yuǎn)程計算機348之間的邏輯連接被描述為局域網(wǎng)(LAN)350和通用廣域網(wǎng)(WAN)352。這類網(wǎng)絡(luò)環(huán)境常見于辦公室、企業(yè)范圍計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)以及因特網(wǎng)。當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中實現(xiàn)時,計算機302通過網(wǎng)絡(luò)接口或適配器354連接至局域網(wǎng)350。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時,計算機302通常包括調(diào)制解調(diào)器356或用于通過廣域網(wǎng)352建立通信的其它裝置。調(diào)制解調(diào)器356可以對計算機302是內(nèi)置或外置的,通過輸入/輸出接口340或其它適當(dāng)?shù)臋C制連接至系統(tǒng)總線308。可以理解,示出的網(wǎng)絡(luò)連接是示例性的,也可以使用在計算機302和348建立通信鏈路的其它裝置。在諸如用計算環(huán)境300示出的網(wǎng)絡(luò)化環(huán)境中,相對于計算機302描述的程序模塊或其部分可儲存在遠(yuǎn)程存儲器存儲設(shè)備中。作為示例,遠(yuǎn)程應(yīng)用程序358駐留在遠(yuǎn)程計算機348的存儲器設(shè)備中。為說明目的,應(yīng)用程序和諸如操作系統(tǒng)等其它可執(zhí)行程序組件在此處被示出為離散的框,盡管可以認(rèn)識到,這些程序和組件在不同的時刻駐留在計算設(shè)備302的不同存儲組件中,并由計算機的數(shù)據(jù)處理器執(zhí)行。各種模塊和技術(shù)可在諸如由一個或多個計算機或其它設(shè)備執(zhí)行的程序模塊等計算機可執(zhí)行指令的一般上下文環(huán)境中描述。一般而言,程序模塊包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等,它們執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。通常,程序模塊的功能可如各實施例中所需的組合或分布。這些模塊和技術(shù)的實現(xiàn)可被儲存在某一形式的計算機可讀介質(zhì)上,或通過其傳輸。計算機可讀介質(zhì)可以是可由計算機訪問的任一可用介質(zhì)。作為示例而非局限,計算機可讀介質(zhì)包括"計算機存儲介質(zhì)"和"通信介質(zhì)"。"計算機存儲介質(zhì)"包括以用于儲存諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任一方法或技術(shù)實現(xiàn)的易失性和非易失性,可移動和不可移動介質(zhì)。計算機存儲介質(zhì)包括但不限于,RAM、ROM、EEPROM、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、磁帶盒、磁帶、磁盤存儲或其它磁存儲設(shè)備、或可以用來儲存所期望的信息并可由計算機訪問的任一其它介質(zhì)。"通信介質(zhì)"通常具體化為諸如載波或其它傳輸機制等已調(diào)制數(shù)據(jù)信號中的計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任一信息傳送介質(zhì)。術(shù)語"已調(diào)制數(shù)據(jù)信號"指以對信號中的信息進(jìn)行編碼的方式設(shè)置或改變其一個或多個特征的信號。作為示例而非局限,通信介質(zhì)包括有線介質(zhì),如有線網(wǎng)絡(luò)或直接連線連接,以及無線介質(zhì),如聲學(xué)、RF、紅外和其它無線介質(zhì)。上述任一的組合也應(yīng)當(dāng)包括在計算機可讀介質(zhì)的范圍之內(nèi)。盡管以上描述使用了對結(jié)構(gòu)特征和/或方法動作專用的語言,但是可以理解,所附權(quán)利要求書中所定義的本發(fā)明不限于所描述的具體特征或動作。相反,揭示了具體特征和動作作為實現(xiàn)本發(fā)明的示例性形式。權(quán)利要求1.一種方法,包括生成描述要流傳送到客戶機設(shè)備的多媒體演示的屬性的會話描述消息,所述多媒體演示具有多個媒體流,并且所述會話描述消息具有互斥性擴(kuò)展,它與ASF文件頭部分離,并指定了所述多個媒體流中的哪一些是互斥的;標(biāo)記擴(kuò)展,它與ASF文件頭部分離,并指定了對所述多媒體演示的索引;腳本命令擴(kuò)展,它與ASF文件頭部分離,并指定了要在所述多媒體演示的回放期間呈現(xiàn)的數(shù)據(jù);漏桶擴(kuò)展,它與ASF文件頭部分離,并指定了當(dāng)以特定的比特率播放所述多媒體演示時要緩沖所述多媒體演示的多少數(shù)據(jù);高速緩存信息擴(kuò)展,它與ASF文件頭部分離,并指定了關(guān)于所述多媒體演示的高速緩存的信息;封裝擴(kuò)展,它與ASF文件頭部分離,并指定了多個不同編解碼器的一個或多個的編解碼器參數(shù);帶寬共享擴(kuò)展,它與ASF文件分離,并指定了多個媒體流中共享帶寬的媒體流;流優(yōu)先級擴(kuò)展,它與ASF文件分離,并指定了所述多個媒體流中的哪一些應(yīng)當(dāng)具有高于所述多個媒體流中的哪些其它媒體流的優(yōu)先級;以及包括所述會話描述消息作為流傳送到所述客戶機設(shè)備的數(shù)據(jù)的一部分。2.—個或多個其上儲存多個指令的計算機可讀介質(zhì),所述指令用于生成描述要流傳送到客戶機設(shè)備的多媒體演示的屬性的會話描述消息,當(dāng)由一個或多個處理器執(zhí)行時,所述多個指令使所述一個或多個處理器訪問所述多媒體演示的ASF文件頭部;標(biāo)識所述ASF文件頭部的多個對象的一個子集;對所述多個對象的子集中的每一對象,生成用于所述會話描述的多個擴(kuò)展中的不同的一個;以及對于所述多個對象的子集中的每一對象從所述對象中檢索一個或多個參數(shù);以及使用所檢索的參數(shù)作為所述多個擴(kuò)展之一的參數(shù)。3.如權(quán)利要求2所述的一個或多個計算機可讀介質(zhì),其特征在于,所述多個擴(kuò)展中的一個包括互斥性擴(kuò)展,它指定了所述多媒體演示中多個媒體流中的哪一些是互斥的。4.如權(quán)利要求2所述的一個或多個計算機可讀介質(zhì),其特征在于,所述多個擴(kuò)展中的一個包括標(biāo)記擴(kuò)展,它指定了對所述多媒體演示的索弓I。5.如權(quán)利要求2所述的一個或多個計算機可讀介質(zhì),其特征在于,所述多個擴(kuò)展中的一個包括腳本命令擴(kuò)展,它指定了要在所述多媒體演示的回放期間呈現(xiàn)的數(shù)據(jù)。6.如權(quán)利要求2所述的一個或多個計算機可讀介質(zhì),其特征在于,所述多個擴(kuò)展中的一個包括漏桶擴(kuò)展,它指定了當(dāng)以特定的比特率播放所述多媒體演示時要緩沖所述多媒體演示的多少數(shù)據(jù)。7.如權(quán)利要求2所述的一個或多個計算機可讀介質(zhì),其特征在于,所述多個擴(kuò)展中的一個包括高速緩存信息擴(kuò)展,它指定了關(guān)于所述多媒體演示的高速緩存的信息o8.如權(quán)利要求2所述的一個或多個計算機可讀介質(zhì),其特征在于,所述多個擴(kuò)展中的一個包括封裝擴(kuò)展,它指定了多個不同的編解碼器的一個或多個的編解碼器參數(shù)。9.如權(quán)利要求2所述的一個或多個計算機可讀介質(zhì),其特征在于,所述多個擴(kuò)展中的一個包括帶寬共享擴(kuò)展,它指定了多媒體演示的多個媒體流中共享帶寬的媒體流。10.如權(quán)利要求2所述的一個或多個計算機可讀介質(zhì),其特征在于,所述多個擴(kuò)展中的一個包括流優(yōu)先級擴(kuò)展,它指定了所述多媒體演示中多個媒體流的哪一些應(yīng)當(dāng)具有高于所述多個媒體流的哪些其它媒體流的優(yōu)先級。11.一個或多個其上儲存多個指令的計算機可讀介質(zhì),當(dāng)所述指令由一個或多個處理器執(zhí)行時,使所述一個或多個處理器生成描述要流傳送到客戶機設(shè)備的多媒體演示的屬性的會話描述消息,所述多媒體演示具有多個媒體流,并且所述會話描述消息具有互斥性擴(kuò)展,所述互斥性擴(kuò)展與ASF文件頭部分離,并指定了所述多個媒體流中的哪一些是互斥的;以及包括所述會話描述消息作為流傳送到客戶機的數(shù)據(jù)的一部分。12.如權(quán)利要求ll所述的一個或多個計算機可讀介質(zhì),其特征在于,所述會話描述消息是會話描述協(xié)議(SDP)消息。13.如權(quán)利要求ll所述的一個或多個計算機可讀介質(zhì),其特征在于,使所述一個或多個處理器生成所述會話描述消息的所述指令還使所述一個或多個處理器標(biāo)識所述多媒體演示的ASF文件的對象;從所述對象中檢索一個或多個參數(shù);以及分析所檢索的一個或多個參數(shù),以確定所述互斥性擴(kuò)展的參數(shù)。14.如權(quán)利要求11所述的一個或多個計算機可讀介質(zhì),其特征在于,值ExclusionType表示互斥性的類型,值StreamNumbers表示互斥的流媒體,并且所述互斥性擴(kuò)展包括a=group:ExclusionTypeStreamNumbers。15.如權(quán)利要求ll所述的一個或多個計算機可讀介質(zhì),其特征在于,所述多個媒體流是基于比特率而互斥的。16.如權(quán)利要求ll所述的一個或多個計算機可讀介質(zhì),其特征在于,所述多個媒體流是基于語言而互斥的。17.—個或多個其上儲存多個指令的計算機可讀介質(zhì),當(dāng)所述指令由一個或多個處理器執(zhí)行時,使所述一個或多個處理器生成描述要流傳送到客戶機設(shè)備的多媒體演示的屬性的會話描述消息,所述多媒體演示具有多個媒體流,并且所述會話描述消息具有標(biāo)記擴(kuò)展,所述標(biāo)記擴(kuò)展與ASF文件頭部分離,并指定了對所述多媒體演示的索引;以及包括所述會話描述消息作為流傳送到客戶機設(shè)備的數(shù)據(jù)的一部分。18.如權(quán)利要求17所述的一個或多個計算機可讀介質(zhì),.其特征在于,所述會話描迷消息是會話描述協(xié)議(SDP)消息。19.如權(quán)利要求17所述的一個或多個計算機可讀介質(zhì),其特征在于,使所述一個或多個處理器生成所述會話描述消息的所述指令還使所述一個或多個處理器標(biāo)識所述多媒體演示的ASF文件頭部的對象;從所述對象中檢索一個或多個參數(shù);以及分析所檢索的一個或多個參數(shù)以確定所述標(biāo)記擴(kuò)展的參數(shù)。20.如權(quán)利要求17所述的一個或多個計算機可讀介質(zhì),其特征在于,值name表示標(biāo)記的名稱,值time表示標(biāo)記的演示時間,值desc表示索引,并且所述標(biāo)記擴(kuò)展包括a=marker:nametime;desc。21.—個或多個其上儲存多個指令的計算機可讀介質(zhì),當(dāng)所述指令由一個或多個處理器執(zhí)行時,使所述一個或多個處理器生成描述要流傳送到客戶機設(shè)備的多媒體演示的屬性的會話描述消息,所述多媒體演示具有多個媒體流,并且所述會話描述消息具有腳本命令擴(kuò)展,它與ASF文件頭部分離,并指定了要在所述多媒體演示的回放期間呈現(xiàn)的數(shù)據(jù);以及包括所述會話描述消息作為流傳送到客戶機設(shè)備的流數(shù)據(jù)的一部分。22.如權(quán)利要求21所述的一個或多個計算機可讀介質(zhì),其特征在于,所述會話描述消息是會話描述協(xié)議(SDP)消息。23.如權(quán)利要求21所述的一個或多個計算機可讀介質(zhì),其特征在于,使所述一個或多個處理器生成所述會話描述消息的所述指令還使所述一個或多個處理器標(biāo)識所述多媒體演示的ASF文件頭部的對象;從所述對象中檢索一個或多個參數(shù);以及分析所檢索的一個或多個參數(shù)以確定所述腳本命令擴(kuò)展的參數(shù)。24.如權(quán)利要求21所述的一個或多個計算機可讀介質(zhì),其特征在于,所述腳本命令擴(kuò)展通過包括具有數(shù)據(jù)的網(wǎng)頁的標(biāo)識符指定了所述數(shù)據(jù)。25.如權(quán)利要求21所述的一個或多個計算機可讀介質(zhì),其特征在于,值type表示命令的類型,值time表示呈現(xiàn)所述數(shù)據(jù)的所述多媒體演示的演示時間,值command表示要在演示時間顯示的數(shù)據(jù),并且所述腳本命令擴(kuò)展包括a=script:typetime;command。26.—個或多個其上儲存多個指令的計算機可讀介質(zhì),當(dāng)所述指令由一個或多個處理器執(zhí)行時,使所述一個或多個處理器生成描述要流傳送到客戶機設(shè)備的多媒體演示的屬性的會話描述消息,所述多媒體演示具有多個媒體流,并且所述會話描述消息具有漏桶擴(kuò)展,它與ASF文件頭部分離,并指定了當(dāng)以特定比特率播放所述多媒體演示時要緩沖所述多媒體演示的多少數(shù)據(jù);以及包括所述會話描述消息作為流傳送到客戶機設(shè)備的數(shù)據(jù)的一部分。27.如權(quán)利要求26所述的一個或多個計算機可讀介質(zhì),其特征在于,所述會話描述消息是會話描述協(xié)議(SDP)消息。28.如權(quán)利要求26所述的一個或多個計算機可讀介質(zhì),其特征在于,使所述一個或多個處理器生成所述會話描述消息的所述指令還使所述一個或多個處理器標(biāo)識所述多媒體演示的ASF文件頭部的對象;從所述對象中檢索一個或多個參數(shù);以及分析所檢索的一個或多個參數(shù)以確定所述漏桶擴(kuò)展的參數(shù)。29.如權(quán)利要求26所述的一個或多個計算機可讀介質(zhì),其特征在于,值Rx表示漏桶x的滲漏速率,值Bx表示漏桶x的大小,并且所述漏桶擴(kuò)展包括a=bucketinfo:Rx;Bx。30.—個或多個其上儲存多個指令的計算機可讀介質(zhì),當(dāng)所述指令由一個或多個處理器執(zhí)行時,使所述一個或多個處理器生成描述要流傳送到客戶機設(shè)備的多媒體演示的屬性的會話描述消息,所述多媒體演示具有多個媒體流,并且所述會話描述消息具有高速緩存信息擴(kuò)展,它與ASF文件頭部分離,并指定了關(guān)于所述多媒體演示的高速緩存的信息;以及包括所述會話描述消息作為流傳送到客戶機設(shè)備的數(shù)據(jù)的一部分。31.如權(quán)利要求30所述的一個或多個計算機可讀介質(zhì),其特征在于,所述會話描述消息是會話描述協(xié)議(SDP)消息。32.如權(quán)利要求30所述的一個或多個計算機可讀介質(zhì),其特征在于,使所述一個或多個處理器生成所述會話描述消息的所述指令還使所述一個或多個處理器標(biāo)識所述多媒體演示的ASF文件頭部的對象;從所述對象中檢索一個或多個參數(shù);以及分析所檢索的一個或多個參數(shù)以確定所述高速緩存信息擴(kuò)展的參數(shù)。33.如權(quán)利要求30所述的一個或多個計算機可讀介質(zhì),其特征在于,關(guān)于所述多媒體演示的高速緩存的信息包括指定是否允許客戶機設(shè)備高速緩存所述多媒體演示的信息。34.如權(quán)利要求30所述的一個或多個計算機可讀介質(zhì),其特征在于,關(guān)于所述多媒體演示的高速緩存的信息包括指定是否允許客戶機設(shè)備重新廣播所述多媒體演示的信息。35.如權(quán)利要求30所述的一個或多個計算機可讀介質(zhì),其特征在于,值rights表示關(guān)于所述多媒體演示的高速緩存的信息,并且所述高速緩存信息擴(kuò)展包括a=cachectrl:Rights。36.—個或多個其上儲存多個指令的計算機可讀介質(zhì),當(dāng)所述指令由一個或多個處理器執(zhí)行時,使所述一個或多個處理器生成描述要流傳送到客戶機設(shè)備的多媒體演示的屬性的會話描述消息,所述多媒體演示具有多個媒體流,并且所述會話描述消息具有封裝擴(kuò)展,它與ASF文件頭部分離,并指定了多個不同的編解碼器的一個或多個的編解碼器參數(shù);以及包括所述會話描述消息作為流傳送到客戶機設(shè)備的數(shù)據(jù)的一部分。37.如權(quán)利要求36所述的一個或多個計算機可讀介質(zhì),其特征在于,所述會話描述消息包括多個封裝擴(kuò)展,所述多個封裝擴(kuò)展的每一個具有相同的句法,但用于所述多個不同編解碼器的不同的一個。38.如權(quán)利要求36所述的一個或多個計算機可讀介質(zhì),其特征在于,所述會話描述消息是會話描述協(xié)議(SDP)消息。39.如權(quán)利要求36所述的一個或多個計算機可讀介質(zhì),其特征在于,使所述一個或多個處理器生成所述會話描述消息的所述指令還使所述一個或多個處理器標(biāo)識所述多媒體演示的ASF文件頭部的對象;從所述對象中檢索一個或多個參數(shù);以及分析所檢索的一個或多個參數(shù)以確定所述封裝擴(kuò)展的參數(shù)。40.如權(quán)利要求36所述的一個或多個計算機可讀介質(zhì),其特征在于,值pt表示有效載荷類型號,值MIME表示所述多個不同編解碼器中的一個,值config-info表示所述多個不同編解碼器中的一個的初始化數(shù)據(jù),并且所述封裝擴(kuò)展包括a-fmtp:ptMIMEconfig=congif-info。41.如權(quán)利要求36所述的一個或多個計算機可讀介質(zhì),其特征在于,所述編解碼器參數(shù)包括要由所述一個或多個編解碼器解碼的多媒體演示的媒體流的類型的標(biāo)識符。42.如權(quán)利要求36所述的一個或多個計算機可讀介質(zhì),其特征在于,所述編解碼器參數(shù)包括對所述一個或多個編解碼器是否使用固定大小分組的指示。43.如權(quán)利要求42所述的一個或多個計算機可讀介質(zhì),其特征在于,所述編解碼器參數(shù)包括所述固定大小分組的大小的指示。^44.如權(quán)利要求36所述的一個或多個計算機可讀介質(zhì),其特征在于,所述編解碼器參數(shù)包括對要由所述一個或多個編解碼器解碼的多媒體演示的媒體流是否使用時間壓縮的指示。45.如權(quán)利要求36所述的一個或多個計算機可讀介質(zhì),其特征在于,所述編解碼器參數(shù)包括所述一個或多個編解碼器的初始化數(shù)據(jù)。46.如權(quán)利要求45所述的一個或多個計算機可讀介質(zhì),其特征在于,所述編解碼器參數(shù)包括所述會話描述消息中的初始化數(shù)據(jù)的格式。47.—個或多個其上儲存多個指令的計算機可讀介質(zhì),當(dāng)所述指令由一個或多個處理器執(zhí)行時,使所述一個或多個處理器生成描述要流傳送到客戶機設(shè)備的多媒體演示的屬性的會話描述消息,所述多媒體演示具有多個媒體流,并且所述會話描述消息具有帶寬共享擴(kuò)展,它與ASF文件頭部分離,并指定了所述多個媒體流中共享帶寬的媒體流;以及包括所述會話描述消息作為流傳送到客戶機設(shè)備的數(shù)據(jù)的一部分。48.如權(quán)利要求47所述的一個或多個計算機可讀介質(zhì),其特征在于,所述會話描述消息是會話描述協(xié)議(SDP)消息。49.如權(quán)利要求47所述的一個或多個計算機可讀介質(zhì),其特征在于,使所述一個或多個處理器生成所述會話描述消息的所述指令還使所述一個或多個處理器標(biāo)識所述多媒體演示的ASF文件頭部的對象;從所述對象中檢索一個或多個參數(shù);以及分析所檢索的一個或多個參數(shù)以確定所述帶寬共享擴(kuò)展的參數(shù)。50.如權(quán)利要求47所述的一個或多個計算機可讀介質(zhì),其特征在于,值SharingType表示帶寬共享的類型,值R表示包含所有指定的媒體流的漏桶的滲漏速率,值B表示所述漏桶的大小,值SessionList表示所指定的媒體流,并且所述帶寬共享擴(kuò)展包括a=bwshare:SharingTypeRBSessionList。51.—個或多個其上儲存多個指令的計算機可讀介質(zhì),當(dāng)所述指令由一個或多個處理器執(zhí)行時,使所述一個或多個處理器生成描述要流傳送到客戶機設(shè)備的多媒體演示的屬性的會話描述消息,所述多媒體演示具有多個媒體流,并且所述會話描述消息具有流優(yōu)先級擴(kuò)展,它與ASF文件頭部分離,并指定了所述多媒體流中的哪一些應(yīng)當(dāng)具有高于所述多媒體流中的哪些其它媒體流的優(yōu)先級;以及包括所述會話描述消息作為流傳送到客戶機設(shè)備的數(shù)據(jù)的一部分。52.如權(quán)利要求51所述的一個或多個計算機可讀介質(zhì),其特征在于,所述會話描述消息是會話描述協(xié)議(SDP)消息。53.如權(quán)利要求51所述的一個或多個計算機可讀介質(zhì),其特征在于,使所述一個或多個處理器生成所述會話描述消息的所述指令還使所述一個或多個處理器標(biāo)識所述多媒體演示的ASF文件頭部的對象;從所述對象中檢索一個或多個參數(shù);以及分析所檢索的一個或多個參數(shù)以確定所述流優(yōu)先級擴(kuò)展的參數(shù)。54.如權(quán)利要求51所述的一個或多個計算機可讀介質(zhì),其特征在于,所述流優(yōu)先級擴(kuò)展包括a-prio及其后的按優(yōu)先級順序的媒體流列表。全文摘要會話描述消息擴(kuò)展包括描述多媒體演示或單媒體演示的信息。會話描述消息通常從一個設(shè)備(104)發(fā)送到要向其流傳送(146)多媒體或單媒體演示的另一設(shè)備(102)。描述了擴(kuò)展可包括在會話描述消息中的信息的若干擴(kuò)展。文檔編號H04N7/173GK101120331SQ200480011994公開日2008年2月6日申請日期2004年7月22日優(yōu)先權(quán)日2004年4月30日發(fā)明者A·E·克萊蒙茨申請人:微軟公司