專利名稱:一種多媒體腳本文件的處理方法和裝置的制作方法
技術領域:
本發(fā)明涉及多媒體技術,尤其涉及一種多媒體腳本文件(Script)的處理方法和裝置。
數(shù)字多媒體傳播技術在信息傳播中的應用越來越廣泛(如應用在遠程教育中),并逐漸向普及化方向發(fā)展。在數(shù)字多媒體傳播技術中,多媒體腳本文件用來控制各個多媒體元素(如各種格式的音視頻文件等)按照一定的時間關系和位置關系播放,以實現(xiàn)多媒體同步播放效果。
圖1是一個傳統(tǒng)的多媒體播放系統(tǒng)示意圖。如圖所示,網(wǎng)絡服務器110通過網(wǎng)絡120向多個用戶端130提供各種信息。網(wǎng)絡服務器110中存儲有主節(jié)目、輔助節(jié)目和多媒體腳本文件等。主節(jié)目可以是實時錄制的音視頻節(jié)目流,如遠程教育的教學錄像等,也可以是已存儲在網(wǎng)絡服務器中或其他地址的節(jié)目。輔助節(jié)目是主節(jié)目之外的節(jié)目,如和教學節(jié)目一同播放的圖片、說明文字、背景資料等,它們可以使播放的主節(jié)目更精彩生動。
多媒體腳本文件中列明了在節(jié)目播放進程中需要播放的節(jié)目,但對于實時節(jié)目來講,通常各節(jié)目之間的相對時間關系并沒有確定,而是需要節(jié)目編輯人員通過激活指令(如在主節(jié)目流中插入激活信號,媒體標識(media mark)等)在節(jié)目播放過程中確定。多媒體腳本文件中的一些功能模塊,可以根據(jù)收到的激活指令激活相對應的多媒體元素,使之在用戶端播放,如在教師講解第一章時激活與第一章相關的輔助節(jié)目,這些功能模塊在本文中被稱為響應軟件模塊。
在節(jié)目開始播放時,用戶端130通過網(wǎng)絡120鏈接網(wǎng)絡服務器110,并下載多媒體腳本文件。在該腳本文件的控制下,用戶端130播放節(jié)目。通常,在腳本文件的控制下,用戶端130可以邊下載邊實時播放音視頻主節(jié)目(即主節(jié)目流)。
在主節(jié)目播放過程中,如果需要某個輔助節(jié)目與主節(jié)目一起播放,節(jié)目編輯人員將在網(wǎng)絡服務器110的主節(jié)目流中插入對應于該輔助節(jié)目的激活指令。如在遠程教育中,教師講解第二章時,需要顯示一個方程式圖片,編輯人員可以插入一個對應于該圖片的激活指令。該激活指令將隨著主節(jié)目流被下載到用戶端。
用戶端130在播放下載的主節(jié)目過程中,如果監(jiān)測到主節(jié)目流中有激活指令,那么用戶端130的播放裝置將該激活指令傳輸給下載的腳本文件。下載的腳本文件中的相應的響應軟件模塊將響應該激活指令以激活相應的輔助節(jié)目(如方程式圖片),并使之在用戶端130播放。
然而,有些用戶端130是在節(jié)目開播之后才鏈接網(wǎng)絡服務器110并下載腳本文件的,盡管它們下載的腳本文件與其他用戶端130相同,但它們將因錯過一些激活指令而不能播放與這些激活指令相對應的多媒體元素。如在遠程教育中,一個教學輔助圖片需要激活指令m激活才能播放,但用戶端A鏈接網(wǎng)絡服務器110之前,激活指令m已經(jīng)發(fā)送,所以用戶端A不能接收到激活指令m,結果該教學圖片就不能在用戶端A播放,但其他用戶端,因為收到了激活指令m,卻可以播放該教學圖片,這樣就使得后到的學生們無法與先前來的學生們一樣在他們的顯示器上顯示出已經(jīng)被激活的且仍應在顯示的該教學圖片。
為了讓所有用戶端130在同一時間盡可能播放相同的內(nèi)容,一般的做法是編輯人員在主節(jié)目流中頻繁插入對應于某一多媒體元素的激活指令,以使用戶端130有更多接收激活指令的機會。
圖2是編輯人員在主節(jié)目流中頻繁插入激活指令的示意圖。如圖所示,方框210是主節(jié)目流,m1、m2、m3和m4是插入到主節(jié)目流中的激活指令,分別對應于不同的多媒體元素。節(jié)目編輯人員將激活指令頻繁插入網(wǎng)絡服務器的主節(jié)目流中,可以增加用戶端接收激活指令的機會。
圖2所示的做法存在這樣幾個問題。其一,激活指令必須重復頻繁的插入,不但使節(jié)目編輯人員工作繁瑣,而且系統(tǒng)要處理很多冗余信息。其二,即使激活指令頻繁插入節(jié)目流中,仍然不能避免有些用戶端無法顯示某些節(jié)目的情況。例如,如圖2所示,如果用戶端A在時間Tx鏈接網(wǎng)絡服務器110,它已經(jīng)錯過接收在時刻Tm1-7由網(wǎng)絡服務器110發(fā)送的激活指令m1,而且它還未等到在時間Tm1-8插入的激活指令m1,那么在從Tx到Tm1-8時間T內(nèi),該用戶端A將不能顯示與激活指令m1對應的多媒體元素。其三,多次插入相同的激活指令,會重復激活相應的多媒體元素,從而可能破壞該多媒體元素與其它多媒體元素之間的同步關系,因此必須在用戶端建立一個已被激活的多媒體元素表或已接收的激活指令表等文件,以防止相應的多媒體元素被重復激活。
因此,需要提供一種即能使用戶端顯示內(nèi)容不受鏈接網(wǎng)絡服務器的時間影響,又能減少多媒體播放系統(tǒng)冗余信息的方法和裝置。
發(fā)明內(nèi)容
本發(fā)明提供一種多媒體腳本文件的處理方法及裝置,可以克服現(xiàn)有技術中的不足。
本發(fā)明提供的一種處理多媒體腳本文件的方法,所述的腳本文件包括至少一個初始響應軟件模塊,該初始響應軟件模塊用于激活一個對應的多媒體元素,所述的處理方法包括步驟接收一個激活指令,該激活指令與所述的初始響應軟件模塊相對應;獲取所述的激活指令的特定參數(shù);和根據(jù)所述的特定參數(shù)更新所述的初始響應軟件模塊,使更新后的響應軟件模塊能夠基于所獲取的特定參數(shù)以激活所述的多媒體元素。
本發(fā)明還提供所述的腳本文件包括至少一個初始響應軟件模塊,該初始響應軟件模塊用于激活一個相應的多媒體元素,該裝置包括一個接收裝置,用于接收一個激活指令,所述的激活指令與所述初始響應軟件模塊相對應;一個獲取裝置,用于獲取所述的激活指令的特定參數(shù);和一個更新裝置,用于根據(jù)所述的特定參數(shù)更新所述的初始響應軟件模塊,使更新后的響應軟件模塊能夠基于所獲取的特定參數(shù)以激活所述的多媒體元素。
通過本發(fā)明提供的方法和裝置,與特定多媒體元素相對應的激活指令只需由節(jié)目編輯人員插入一次,就可以使用戶端顯示內(nèi)容不受鏈接網(wǎng)絡服務器的時間影響,減少了系統(tǒng)冗余信息。
通過下文中參照附圖對本發(fā)明所作的描述和權利要求,本發(fā)明的其他目的和成就將顯而易見,并可對本發(fā)明有全面的理解。
通過實施例,參照附圖對本發(fā)明作進一步詳盡解釋圖1是一個傳統(tǒng)的多媒體播放系統(tǒng)示意圖;圖2是編輯人員在網(wǎng)絡服務器端主節(jié)目流中頻繁插入激活指令的示意圖;圖3是根據(jù)本發(fā)明的一個實施例的網(wǎng)絡服務器處理多媒體腳本文件的方法流程圖;圖4是根據(jù)本發(fā)明的一個實施例的將激活指令插入節(jié)目流中的示意圖;圖5是根據(jù)本發(fā)明的一個處理腳本文件的實施例圖;和圖6是根據(jù)本發(fā)明的一個實施例的網(wǎng)絡服務器中的處理腳本文件的裝置600圖。
在所有的上述附圖中,相同的標號表示具有相同、相似或相應的特征或功能。
具體實施例方式
圖3是根據(jù)本發(fā)明的一個實施例的網(wǎng)絡服務器處理多媒體腳本文件的方法流程圖。網(wǎng)絡服務器中存儲有一個腳本文件,該腳本文件可以與傳統(tǒng)技術中的腳本文件相同,如基于XML的腳本文件(包括SMIL腳本文件等)。該腳本文件中包括至少一個初始響應軟件模塊。如果該腳本文件被下載到用戶端,該初始響應軟件模塊用來響應外來的激活指令來激活一個對應的待播放節(jié)目,使之在用戶端播放。
通過網(wǎng)絡服務器中的該腳本文件中的各初始響應軟件模塊,需要在節(jié)目播放進程中播放的節(jié)目因此確定,但各節(jié)目之間的播放時間關系并未確定,而是需要節(jié)目編輯人員在節(jié)目播放過程中通過激活指令來控制。在節(jié)目播放時,用戶端下載該腳本文件并通過該文件控制各節(jié)目的播放。
在多媒體節(jié)目播放過程中,網(wǎng)絡服務器收到節(jié)目編輯人員插入到主節(jié)目流中的一個激活指令(步驟S310),該激活指令對應于一個待播放節(jié)目。
然后,網(wǎng)絡服務器獲取該激活指令的特定參數(shù)(步驟S320),該特定參數(shù)包括以節(jié)目開始播放時間為參照時間點所接收到該激活指令的相對時間等時間參數(shù)。根據(jù)本發(fā)明,該激活指令有兩個作用一是它將會與主節(jié)目流一起被下載到此前已鏈接網(wǎng)絡服務器的用戶端,用于使該用戶端已下載的腳本文件中的對應的響應軟件裝置激活對應的待播放節(jié)目;二是該激活指令的特定參數(shù)將用于網(wǎng)絡服務器端的腳本文件的處理。
接著,網(wǎng)絡服務器根據(jù)所獲取的激活指令的特定參數(shù)(如收到該激活指令的相對時間等),更新腳本文件中的一個相應的初始響應軟件模塊(步驟S330),使其能夠基于所獲取的特定參數(shù)來激活相對應的多媒體元素。具體來說,腳本文件中的初始響應軟件模塊是對插入到主節(jié)目流中的激活指令做出響應,即用來啟動腳本文件中的初始響應軟件模塊的是外來的激活指令。而更新后的響應軟件模塊是基于一個特定時間(如收到激活指令的時間)做出響應,即用來啟動更新后的相應的響應軟件模塊的是基于一個特定時間。在該時間到來時或已經(jīng)超過該時間時,相應的多媒體元素將自動被激活。
在節(jié)目播放過程中,如果還有其他初始響應模塊(步驟S340),那么重復步驟S310到S330,更新腳本文件。
在腳本文件更新后,如果有新的用戶端鏈接網(wǎng)絡服務器,那么網(wǎng)絡服務器將向該用戶端提供最近更新的腳本文件,而該用戶端將在該最近更新的腳本文件控制下播放節(jié)目,包括播放主節(jié)目和基于特定時間被激活的輔助節(jié)目。這樣就可以使后續(xù)鏈接網(wǎng)絡服務器的用戶端可以自動顯示出在他們之前已被激活的多媒體元素。
根據(jù)本發(fā)明,節(jié)目編輯人員在插入一個激活指令后,一般不需要再插入重復的激活指令,但通常用于廣播節(jié)目的用戶數(shù)據(jù)報協(xié)議(UDP即User Datagram Protocol)并不保證信息可以準確的傳遞到用戶端,因此為確保用戶端能收到激活指令,可以將一個激活指令插入兩次。
圖4是根據(jù)本發(fā)明的一個實施例的將激活指令插入節(jié)目流中的示意圖。如圖所示,激活指令m1、m2、m3和m4分別插入兩次,與圖2相比,激活指令插入的次數(shù)大幅減少,因此,不但節(jié)目編輯人員工作減輕而且多媒體播放系統(tǒng)冗余信息減少。
根據(jù)本發(fā)明,如果就同一個多媒體元素,只插入一次對應的激活指令,那么就不需要在用戶端制作已被激活的多媒體元素表或已接收的激活指令表等文件。如果就同一個多媒體元素,插入兩次相同的對應的激活指令,那么因為用戶端下載的腳本文件中可能還有未被更新的初始響應軟件模塊,如果該用戶端收到兩次相同的激活指令,那么個多媒體元素之間的同步關系也可能會被破壞,因此該用戶端可以制作一個激活指令列表等文件。但該文件與傳統(tǒng)技術中的已被激活的多媒體元素表或已接收的激活指令表不同,不但在該文件中只列出第一次收到的激活指令,不執(zhí)行第二次收到同樣的激活指令,而且在第二次收到同樣的激活指令時將該第一次收到的激活指令記錄從該文件中刪除。因此,多媒體播放系統(tǒng)的冗余信息進一步減少。
圖5A與圖5B是根據(jù)本發(fā)明的一個在網(wǎng)絡服務器端處理腳本文件的實施例圖。更新前的腳本文件510存儲在網(wǎng)絡服務其中,如果用戶端下載使用的是更新前的腳本文件510,那么多媒體元素1.png可以根據(jù)收到的激活指令m1在用戶端被激活并播放。
當網(wǎng)絡服務器在2000年1月1日00:00:00時刻收到節(jié)目編輯人員插入的激活指令m1時,網(wǎng)絡服務器將根據(jù)收到的激活指令m1的時間,更新腳本文件中對應的初始響應軟件模塊。圖5A和圖5B中分別列出了用兩種不同的時間參數(shù)更新后的腳本文件520和530。
在圖5A中,收到激活指令m1的時間相對于主節(jié)目開始播放時間的相對時間是0秒(單位秒S),該相對時間0秒被用來更新在服務器端腳本文件510中對應的初始響應軟件模塊。在圖5B中,收到激活指令m1的絕對時間“wallclock(2000-01-01 T00:00:00)”被用來更新網(wǎng)絡服務器端對應的初始響應軟件模塊。
圖6是根據(jù)本發(fā)明的一個實施例的網(wǎng)絡服務器中的腳本文件處理裝置600圖。裝置600包括一個接收裝置610,用于接收節(jié)目編輯人員插入網(wǎng)絡服務器主節(jié)目流中的激活指令,該激活指令對應于特定的待播放多媒體元素。
該激活指令將與主節(jié)目流一起被下載到接收該激活指令之前已鏈接網(wǎng)絡服務器的用戶端,用于使該用戶端下載的腳本文件中的對應的初始響應軟件模塊激活對應的待播放多媒體元素;另一方面,該激活指令將被網(wǎng)絡服務器用來處理在網(wǎng)絡服務器端的腳本文件。
裝置600還包括一個獲取裝置620,用于獲取激活指令的特定參數(shù),如獲取收到該激活指令的相對時間等。收到該激活指令的時間可以反映與該激活指令對應的多媒體元素與其他多媒體元素(如主節(jié)目)之間的時間同步關系。
裝置600還包括一個更新裝置630,用于根據(jù)獲取裝置620獲取的激活指令的特定參數(shù),更新網(wǎng)絡服務器端的腳本文件中的對應的初始響應軟件模塊,使更新后的響應軟件模塊能夠基于特定時間激活相對應的多媒體元素。當用戶端從網(wǎng)絡服務器下載該經(jīng)過處理的腳本文件后,在該腳本文件的控制下,在該用戶端鏈接網(wǎng)絡服務器之前已被激活的且仍在顯示的多媒體元素將可以自動在該用戶端播放,而不必等待激活指令的激活。
通過本發(fā)明提供的方法和裝置,網(wǎng)絡服務器動態(tài)更新多媒體腳本,使多媒體播放系統(tǒng)的運行得以簡化,用戶端的播放效果得以保證。
以上雖然結合實施例描述了本發(fā)明,很明顯對于本領域的技術人員根據(jù)前面所描述的內(nèi)容作出多種替代、修改、和變化是顯而易見的,因此,所有這樣的替代、修改和變化都應該落入本發(fā)明的權利要求的精神和范圍之中。
權利要求
1.一種處理多媒體腳本文件的方法,所述的腳本文件包括至少一個初始響應軟件模塊,該初始響應軟件模塊用于激活一個對應的多媒體元素,所述的處理方法包括步驟(a)接收一個激活指令,該激活指令與所述的初始響應軟件模塊相對應;(b)獲取所述的激活指令的特定參數(shù);和(c)根據(jù)所述的特定參數(shù)更新所述的初始響應軟件模塊,使更新后的響應軟件模塊能夠基于所獲取的特定參數(shù)以激活所述的多媒體元素。
2.如權利要求1所述的方法,其中,所述的激活指令包括一個媒體標識。
3.如權利要求1所述的方法,其中,所述的特定參數(shù)包括特定時間參數(shù)。
4.如權利要求3所述的方法,其中,所述的特定時間參數(shù)包括收到所述的激活指令的時間。
5.如權利要求4所述的方法,其中,所述的收到所述的激活指令的時間包括收到所述的激活指令的相對時間。
6.如權利要求1所述的方法,其中,步驟(c)包括用響應所述的特定參數(shù)的相應的響應軟件模塊替換所述的初始響應軟件模塊。
7.如權利要求6所述的方法,其中,所述的特定參數(shù)包括收到所述的激活指令的時間。
8.如權利要求6所述的方法,其中,所述的特定參數(shù)包括收到所述的激活指令的相對時間。
9.一個處理多媒體腳本文件的裝置,所述的腳本文件包括至少一個初始響應軟件模塊,該初始響應軟件模塊用于激活一個相應的多媒體元素,該裝置包括一個接收裝置,用于接收一個激活指令,所述的激活指令與所述初始響應軟件模塊相對應;一個獲取裝置,用于獲取所述的激活指令的特定參數(shù);和一個更新裝置,用于根據(jù)所述的特定參數(shù)更新所述的初始響應軟件模塊,使更新后的響應軟件模塊能夠基于所獲取的特定參數(shù)以激活所述的多媒體元素。
10.如權利要求9所述的裝置,其中,所述的特定參數(shù)包括特定時間參數(shù)。
11.如權利要求10所述的裝置,其中,所述的特定時間參數(shù)包括收到所述的激活指令的時間。
12.如權利要求9所述的裝置,其中,所述的根據(jù)所述的特定參數(shù)更新所述的初始響應軟件模塊包括用響應所述的特定參數(shù)的相應的響應軟件模塊替換所述的初始響應軟件模塊。
13.一個服務器,該服務器中存儲有一個腳本文件,所述的腳本文件包括至少一個初始響應軟件模塊,該初始響應軟件模塊用于激活一個相應的多媒體元素,該服務器包括一個處理多媒體腳本文件的裝置,該裝置包括一個接收裝置,用于接收一個激活指令,所述的激活指令與所述的初始響應軟件模塊相對應;一個獲取裝置,用于獲取所述的激活指令的特定參數(shù);和一個更新裝置,用于根據(jù)所述的特定參數(shù)更新所述的初始響應軟件模塊,使更新后的響應軟件模塊能夠基于所獲取的特定參數(shù)以激活所述的多媒體元素;和一個信息傳輸裝置,用于向鏈接所述的服務器的用戶端傳輸激活指令和腳本文件。
14.如權利要求13所述的服務器,其中,所述的所述的特定參數(shù)包括特定時間參數(shù)。
15.如權利要求14所述的服務器,其中,所述的特定時間參數(shù)包括收到所述的激活指令的時間。
全文摘要
本發(fā)明提供了一種網(wǎng)絡服務器對多媒體腳本文件的動態(tài)更新處理方法和裝置。通過用基于時間的響應軟件模塊替換響應激活指令的響應軟件模塊,使特定多媒體元素的播放不再依賴于節(jié)目編輯人員頻繁插入的激活指令來激活,而是基于特定時間自動激活。本發(fā)明提供的方法和裝置減少了多媒體播放系統(tǒng)的冗余信息,避免了因為用戶端錯過接收激活指令而無法顯示相應多媒體元素的情況。
文檔編號H04L29/08GK1902878SQ200480039109
公開日2007年1月24日 申請日期2004年12月15日 優(yōu)先權日2003年12月25日
發(fā)明者陳寧江, 陳鑫, 曾勇勤 申請人:皇家飛利浦電子股份有限公司