專利名稱::用于傳輸和/或接收媒體流的系統(tǒng)、方法和計(jì)算機(jī)編程產(chǎn)品的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明通常涉及流媒體,特別涉及發(fā)送的流媒體內(nèi)容是網(wǎng)頁(webpage)。
背景技術(shù):
:目前,許多網(wǎng)絡(luò)都采用緩存服務(wù)器(cachingserver)來降低從網(wǎng)絡(luò)外部的一個(gè)媒體源流入和流出的流量。例如,互聯(lián)網(wǎng)服務(wù)提供商(ISP)可以利用一個(gè)緩存服務(wù)器,其存儲(chǔ)由網(wǎng)絡(luò)用戶頻繁訪問的網(wǎng)頁。所以,ISP能夠降低從ISP網(wǎng)絡(luò)到網(wǎng)絡(luò)上的web服務(wù)器的流量。流媒體越來越受歡迎,特別是對實(shí)時(shí)節(jié)巨而言??墒橇髅襟w對帶寬要求很高,特別是音頻/視頻流。一個(gè)流行的流媒體客戶端軟件是QUICKTIME,其通過使用實(shí)時(shí)流協(xié)議(RTSP)能夠便于觀看預(yù)先錄制的和實(shí)時(shí)的節(jié)目??墒沁@種流不能使用當(dāng)前的緩存技術(shù)進(jìn)行緩存。特別是,不同的客戶端有不同的sessionID(會(huì)話ID),每個(gè)session有不同的sessionID。SessionID嵌入在從服務(wù)器到給定客戶的每個(gè)信息包里,并且,一個(gè)通用的web緩存服務(wù)器不能緩存內(nèi)容,因?yàn)檎埱笸涣鞯牧硪粋€(gè)客戶有一個(gè)不同的sessionID。從web緩存服務(wù)器的角度來看,這兩個(gè)客戶正要求不同的東西。因此,即使多個(gè)客戶可能消費(fèi)相同的內(nèi)容,內(nèi)容也是動(dòng)態(tài)的。目前,沒有一種技術(shù)允許使用傳統(tǒng)的web緩存技術(shù)來緩存媒體流。發(fā)明概述本發(fā)明涉及將媒體流轉(zhuǎn)換成可由普通緩存代理緩存的網(wǎng)頁文件的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。在一個(gè)例子里,服務(wù)器端的一個(gè)單元接收一個(gè)流,并將流分割成組塊,其中每個(gè)組塊是流的一部分。然后,每個(gè)組塊被打包封裝到一個(gè)超文本標(biāo)記語言(HTML)文件內(nèi),其包括標(biāo)頭、專用解碼器信息、和媒體信息包。此外,建立session(對話)索引文件,其指引HTML組塊文件。在實(shí)時(shí)流的情況下,當(dāng)流持續(xù)時(shí),產(chǎn)生新組塊文件和session索引文件,從而實(shí)時(shí)處理并封包實(shí)時(shí)數(shù)據(jù)。當(dāng)客戶請求流內(nèi)容時(shí),web內(nèi)容文件(包括組塊文件和session索引文件)被傳輸?shù)娇蛻???蛻艟W(wǎng)絡(luò)上的web緩存代理可以緩存內(nèi)容,因?yàn)槠淇梢允侨魏纹渌W(wǎng)頁。在客戶端,客戶接收并處理網(wǎng)頁內(nèi)容文件以恢復(fù)媒體信息包和元數(shù)據(jù)(metadata)。客戶發(fā)送媒體信息包到解碼器,其中媒體內(nèi)容被解碼并被再現(xiàn)給用戶。前述已經(jīng)相當(dāng)廣泛地概括了本發(fā)明的特征和技術(shù)優(yōu)勢,以便可以更好地理解以下本發(fā)明的詳細(xì)描述。本發(fā)明的其它特征和優(yōu)勢將以隨后進(jìn)行描述,其構(gòu)成本發(fā)明權(quán)利要求的主題。本領(lǐng)域技術(shù)人員應(yīng)該注意到,可以輕松地利用披露的概念和具體實(shí)施例作為一個(gè)基礎(chǔ),用來修改或設(shè)計(jì)能夠執(zhí)行本發(fā)明相同目的的其它結(jié)構(gòu)。本領(lǐng)域技術(shù)人員也應(yīng)該認(rèn)識(shí)到,這種等同構(gòu)造沒有偏移在附加權(quán)利要求內(nèi)闡述的本發(fā)明精神和范圍。被看作本發(fā)明特性的新穎性特征,有關(guān)其組織和運(yùn)作方法,與其它目的和優(yōu)勢一起,從以下結(jié)合附圖的描述可以更好地加以理解。但是,應(yīng)該深刻地認(rèn)識(shí)到,在此提供的每個(gè)附圖僅是用作描述和說明用途,并不是意在作為限制本發(fā)明的定義。為了更全面地理解本發(fā)明,現(xiàn)結(jié)合附圖參照以下的描述,其中;圖1描述一個(gè)可以實(shí)施本發(fā)明一個(gè)實(shí)施例的典型網(wǎng)絡(luò)配置;圖2描述本發(fā)明一個(gè)實(shí)施例的典型系統(tǒng);圖3描述本發(fā)明一個(gè)實(shí)施例的典型文件;圖4描述本發(fā)明一個(gè)實(shí)施例的典型方法;圖5描述本發(fā)明一個(gè)實(shí)施例的典型方法;和圖6描述本發(fā)明一個(gè)實(shí)施例的示范計(jì)算機(jī)系統(tǒng)。發(fā)明詳述圖1描述一個(gè)典型網(wǎng)絡(luò)配置100,其上可以實(shí)施本發(fā)明實(shí)施例。網(wǎng)絡(luò)配置100包括遠(yuǎn)程安置的計(jì)算機(jī)101、102、103和104,其通過同一互聯(lián)網(wǎng)服務(wù)提供商(ISP)網(wǎng)絡(luò)105訪問互聯(lián)網(wǎng)109和相關(guān)服務(wù)。通過使用撥號(hào)、數(shù)字用戶線(DSL)(通常是不對稱的DSL)、寬帶無線接入、電纜調(diào)制解調(diào)器(cablemodem)、ISDN和/或類似裝置,計(jì)算機(jī)101、102、103和104可以連接到ISP互聯(lián)網(wǎng)而訪問網(wǎng)絡(luò)105。ISP網(wǎng)絡(luò)105包括路由器106和代理服務(wù)器107,其提供服務(wù)以允許計(jì)算機(jī)101、102、103和104間接連接到互聯(lián)網(wǎng)109上的其它計(jì)算機(jī)或服務(wù)器(如服務(wù)器108)。代理服務(wù)器107也包括一個(gè)共享緩存給客戶計(jì)算機(jī)101、102、103和104。在此例子里,代理服務(wù)器107是一個(gè)網(wǎng)絡(luò)計(jì)算機(jī),其提供服務(wù)以允許網(wǎng)絡(luò)105上的其它計(jì)算機(jī)或設(shè)備(如計(jì)算機(jī)101、102、103和104)間接連接到另一個(gè)網(wǎng)絡(luò)上的計(jì)算機(jī)或服務(wù)器(如服務(wù)器108)。在一些實(shí)施例里,代理服務(wù)器和客戶計(jì)算機(jī)是在局域網(wǎng)(LAN)或互聯(lián)網(wǎng)接入網(wǎng)絡(luò)上,而其它計(jì)算機(jī)或服務(wù)器是在互聯(lián)網(wǎng)109上。網(wǎng)絡(luò)105上的計(jì)算機(jī)101、102、103和104發(fā)送一個(gè)請求到代理服務(wù)器107,請求服務(wù)器108上可用的資源,代理服務(wù)器107傳遞該請求到服務(wù)器108,或者從代理服務(wù)器107上的共享緩存取回資源,從而提供資源。在此例子里,使用由Cisco系統(tǒng)開發(fā)的Web緩存通信協(xié)議(WCCP),共享緩存是由連接路由器106的代理服務(wù)器107提供。但是,實(shí)施例也可以采用其它緩存配置和協(xié)議以緩存靜態(tài)網(wǎng)頁。與動(dòng)態(tài)網(wǎng)頁相比,更容易抓取靜態(tài)網(wǎng)頁。動(dòng)態(tài)網(wǎng)頁使用腳本(scripting)來提供內(nèi)容,這些內(nèi)容隨訪問者和session不同而不同。例如,一些網(wǎng)頁包括搜索項(xiàng)和/或其它類型的數(shù)據(jù)査詢,使得用戶交互上拉信息而不是簡單的鏈接。另一個(gè)動(dòng)態(tài)網(wǎng)頁的例子是一個(gè)顯示最新股票信息(stockticker)的頁面。相比較,靜態(tài)網(wǎng)頁通常在多個(gè)session提供相同內(nèi)容給多個(gè)用戶。典型的靜態(tài)頁面是通過鏈接而展示變化的內(nèi)容給用戶。各種網(wǎng)站(website)既提供靜態(tài)又提供動(dòng)態(tài)的頁面。圖l顯示的網(wǎng)絡(luò)配置是,遠(yuǎn)程計(jì)算機(jī)101、102、103和104直接通過ISP訪問互聯(lián)網(wǎng)109;但是,各種實(shí)施例并不受此限制。例如,一些實(shí)施例可以被應(yīng)用到任何網(wǎng)絡(luò),其將多個(gè)訪問遠(yuǎn)程數(shù)據(jù)資源的設(shè)備連接在一起,并且其有一個(gè)緩存服務(wù)器或共享緩存以臨時(shí)存儲(chǔ)請求的數(shù)據(jù)資源,從而降低網(wǎng)絡(luò)網(wǎng)關(guān)的帶寬要求,并加快客戶計(jì)算機(jī)的資源訪問時(shí)間。這種網(wǎng)絡(luò)可能包括一個(gè)公司的、機(jī)構(gòu)的或私有的LAN或廣域網(wǎng)(WAN),其中設(shè)備可以是在地理上非常接近或地理上完全不同和遠(yuǎn)距離的位置。特別地,一些實(shí)施例對于具有多個(gè)互聯(lián)區(qū)域網(wǎng)絡(luò)的全球機(jī)構(gòu)可能是非常有用的,其中一個(gè)區(qū)域網(wǎng)絡(luò)上的兩個(gè)或多個(gè)計(jì)算機(jī)訪問另一個(gè)區(qū)域網(wǎng)絡(luò)上的信息或數(shù)據(jù)資源。例如,在流視頻會(huì)議(videoconference)、電話會(huì)議或在各個(gè)遠(yuǎn)距離地理位置的辦公室的機(jī)構(gòu)雇員的臺(tái)式機(jī)上實(shí)時(shí)展示時(shí),一些實(shí)施例可以發(fā)現(xiàn)其應(yīng)用之處。此外,一些實(shí)施例也可以被實(shí)施在電視廣播應(yīng)用領(lǐng)域,其中客戶設(shè)備包括機(jī)頂盒,用來從其它網(wǎng)絡(luò)訪問流視頻資源,或被實(shí)施在移動(dòng)網(wǎng)絡(luò)應(yīng)用領(lǐng)域,其中客戶設(shè)備是移動(dòng)手機(jī)。依照典型實(shí)施例,服務(wù)器108提供流媒體內(nèi)容,其可以由計(jì)算機(jī)101、102、103和104訪問。在此例子里,流媒體內(nèi)容是由服務(wù)器108處理,從而其被分割成多個(gè)組塊(chunk),并被格式化為網(wǎng)頁內(nèi)容。流媒體內(nèi)容可能包括一個(gè)實(shí)時(shí)流,其被服務(wù)器108格式成一個(gè)靜態(tài)網(wǎng)頁。所以,流媒體內(nèi)容可以由代理服務(wù)器107緩存,在此例子里,其是一個(gè)傳統(tǒng)和典型的緩存代理,僅能夠緩存簡單項(xiàng)目(如靜態(tài)網(wǎng)頁)。圖2描述本發(fā)明一個(gè)實(shí)施例的典型系統(tǒng)200。圖2是一個(gè)實(shí)施例傳輸和接收媒體流的高級(jí)別概述。系統(tǒng)200被分成兩端-服務(wù)器端210和客戶端220。在服務(wù)器端210,一個(gè)流媒體應(yīng)用程序?qū)⒁纛l和視頻信號(hào)編碼成數(shù)據(jù)信息包。一個(gè)示范實(shí)施例是使用高級(jí)音頻編碼(AAC)以進(jìn)行音頻和H.264編碼;但是,其它實(shí)施例可以使用任何類型的編碼,如MP3等。實(shí)時(shí)流打包器(packetizer)211將音頻和視頻壓縮封包成HTML文件。在此示范實(shí)施例里,媒體流被分割成一系列的組塊文件,其中每個(gè)組塊文件包含一部分媒體流(如0.2秒的音頻和視頻)。另外,在此例子里,也建立起索引組塊文件的session索引文件。組塊文件和session索引文件將在以下詳細(xì)描述。實(shí)時(shí)流服務(wù)器212存儲(chǔ)HTML文件到web服務(wù)器文檔目錄213內(nèi),和/或傳輸HTML文件到請求客戶(如在客戶端220)。使用目錄213的web服務(wù)器可以是主機(jī),在同一機(jī)器上既作為流服務(wù)器212又作為流媒體打包器211,或在另一個(gè)機(jī)器上輸出流服務(wù)器212上的一個(gè)文檔目錄而寫下輸出HTML文件。實(shí)際上,服務(wù)器端210可以實(shí)施在一個(gè)或多個(gè)處理器型機(jī)器上。在客戶端220,實(shí)時(shí)流客戶端模塊221從web服務(wù)器212下載HTML文件。實(shí)時(shí)流解包器222從下載的HTML文件提取音頻和視頻信息包。提取的音頻和視頻信息包被送到一個(gè)解碼器內(nèi)(圖中未顯示),然后在一個(gè)或多個(gè)變換器(如視頻屏、揚(yáng)聲器等)上再現(xiàn)音頻和視頻數(shù)據(jù)。盡管未在圖2內(nèi)顯示,應(yīng)該理解,在許多情景下,客戶端220是在一個(gè)包括能夠執(zhí)行web緩存的代理服務(wù)器的網(wǎng)絡(luò)上。從而,HTML文件可以被緩存為網(wǎng)頁,并被發(fā)送到網(wǎng)絡(luò)上的一個(gè)或多個(gè)其它請求客戶。圖3描述本發(fā)明一個(gè)實(shí)施例的典型文件300。文件300是一個(gè)包括媒體內(nèi)容的HTML文件(如web網(wǎng)頁),其可以由圖2的流媒體打包器211生成。文件300是一個(gè)媒體負(fù)載類型的HTML文件(如一個(gè)組塊文件),且是由流媒體打包器211生成。文件300包含音頻和視頻信息包301,其可以從一個(gè)充當(dāng)編碼器的輸出緩沖器的數(shù)據(jù)緩沖器讀取。在此例子里的音頻和視頻信息包301包括活動(dòng)圖像專家組(MPEG)基本流(ES)信息包,其具有一些附加的屬性信息,如時(shí)戳(timestamp)。其它實(shí)施例可以使用其它類型的編碼和其它類型的數(shù)據(jù)信息包。文件300是可擴(kuò)展HTML(XHTML)格式,盡管也可以使用標(biāo)準(zhǔn)HTML格式。在文件300的文本內(nèi),組塊頭(header)303放在〈body〉單元的〈table〉部分,并列出文件300內(nèi)信息包組301里的各個(gè)媒體信息包的時(shí)戳和偏移(offset)。音頻和視頻信息包301放在〈body〉單元內(nèi),并且信息包內(nèi)的每個(gè)單獨(dú)信息包被標(biāo)記為一個(gè)〈p〉單元,并在組塊頭303內(nèi)指定一個(gè)相應(yīng)ID。眾所周知,HTML頭304包括專有HTML信息。如圖3所示,在音頻和視頻信息包301內(nèi),個(gè)別音頻信息包被交錯(cuò)插入到一系列視頻信息包內(nèi),使得一個(gè)音頻信息包,如果其時(shí)戳位于兩個(gè)視頻信息包的時(shí)戳之間,那么這個(gè)特定音頻信息包就封包在兩個(gè)視頻信息包之間。利用如圖3所示的配置,可以輕易地實(shí)現(xiàn)音頻/視頻同步,即使是在序列分析模式(sequentialparsingmode)。在一些實(shí)施例里,有一個(gè)預(yù)設(shè)的最大組塊尺寸,其足夠大到可以打包至少一個(gè)視頻信息包和相應(yīng)音頻信息包,并有利于代理緩存特性。但是,在一個(gè)特定實(shí)施例里,組塊大小和媒體負(fù)載信息包的數(shù)目可以被調(diào)配到期望的大小尺寸。在此例子里,有兩種組塊文件-主組塊文件和次組塊文件。每個(gè)主組塊文件可以被用作多媒體流的一個(gè)隨機(jī)接入點(diǎn)(RAP),并包含至少一個(gè)視頻幀,其可以單獨(dú)于其它視頻幀(I-幀)和相應(yīng)音頻信息包而進(jìn)行解碼。在兩個(gè)RAP之間,信息包被打包到次組塊文件內(nèi)??梢越⒍鄠€(gè)次組塊,主組塊對次組塊的比例通常受編碼器多久產(chǎn)生一個(gè)RAP和最大組塊文件尺寸的影響。文件300也包括專用解碼器信息302,在此例子里,其是序列參數(shù)集(SPS)和圖像參數(shù)集(PPS)信息。但是,其它實(shí)施例可以使用其它類型的編碼,并使用其它類型的專用解碼器信息。表格1顯示一個(gè)示范的主組塊文件的語法。___表格l_<table>tableseeoriginaldocumentpage11</column></row><table><htmlxmlns=〃http://www.w3.org/1999/xhtml〃〉<head〉<title〉<!-一SN—-〉</title></head〉<body〉<!-一elementspackedwithnospaceandnew—linesfromthispointuntilclosingbodytag--xtablewidth=〃9999999999〃><!--chunkheader--〉</column></row><table>〈pID=〃S00000G0〇00〃><!一一SPS/PPSinformation,onlyavailableinmainchunk一一x/pxpID=〃V000000〇〇01〃><!一一...一一></p><pID=〃A〇000000001〃><!—一...--></p〉<!----〉</p〉</body></html>參照表l,從組塊頭〈table〉標(biāo)記開始,在此例子里,在標(biāo)記單元之間沒有額外空間或新線,所以負(fù)載偏移可以在數(shù)據(jù)產(chǎn)生期間計(jì)算。組塊頭303是HTML〈body〉單元里的一個(gè)〈table〉單元塊。組塊頭303包含信息以便客戶分析組塊文件300里的塊狀的音頻/視頻負(fù)載。組塊頭303為相應(yīng)音頻/視頻負(fù)載的每個(gè)〈p〉單元定義了ID。表格2<table><trID=〃S00000000〃><tdCLASS=〃offset〃>0000001A</td〉<tdCLASS=〃size〃>0000000F</tci><tdCLASS=〃ts〃>0000000000000000</td〉</tr><trID=〃V00000001〃><tciCLASS=〃offset〃>0000008B</td〉<tciCLASS=〃size〃>0〇001FFF</td〉<tdCLASS=〃ts〃〉000000000000001A</td></tr〉<trID=〃A0,00〇l〃〉<tdCLASS二"offset〃>000020EC</td><tdCLASS-〃size〃>00000120</td〉<tdCLASS=〃ts〃>000000000000001A</td〉</tr><trID=〃A00000002〃〉<tdCLASS=〃offset〃〉0000226E</td><tdCLASS=〃size〃〉000000F2</td〉<tdCLASS=〃ts〃〉0000〇000000,52</td〉</tr〉</column></row><table>表格2顯示一個(gè)組塊文件的示例部分,其有專用解碼器信息和三個(gè)媒體信息包,并可以包含在組塊文件300內(nèi)。表2示例的HTML數(shù)據(jù)顯示組塊文件300在負(fù)載部分包含了四個(gè)信息包(如在音頻/視頻信息包301內(nèi)的四個(gè)媒體信息包)。具有IDSO的首個(gè)信息包是SPS/PPS信息。SPS/PPS信息顯示組塊是一個(gè)主組塊。有一個(gè)具有IDV00000001的視頻信息包,和兩個(gè)具有IDA00000001和A00000002的音頻信息包。Offset(偏移)顯示了距離〈table〉標(biāo)記開頭的負(fù)載位置。尺寸(size)是字節(jié)數(shù)目。ID和屬性是以十六進(jìn)制數(shù)值提供。每個(gè)流session被分配一個(gè)session名稱(SN),如一個(gè)廣播信道的名稱。一個(gè)主組塊文件被命名為SN,隨后是主組塊序列號(hào),其是一個(gè)32-比特的無符號(hào)整數(shù),從1開始到4294967295,然后再回到1。相比較,次組塊文件的名稱是SN,隨后是主組塊序列號(hào),然后是一個(gè)下劃線和次組塊序列號(hào),其也是一個(gè)32-比特的無符號(hào)整數(shù)。例如,SN=Superman;主組塊文件是supermanl.html,superman2.html等,而次組塊文件是supermanl_l.html、supermanl_2.html、superman2—1等。當(dāng)從媒體流建立網(wǎng)頁文件時(shí),流打包器211(圖2)也產(chǎn)生至少一種其它類型的文件,在此例子里是一個(gè)session索引文件。服務(wù)器(如果適用的話,是流服務(wù)器和緩存代理服務(wù)器)為每個(gè)流session保留一個(gè)session索引文件,其包含一個(gè)迄今為止已經(jīng)產(chǎn)生的主組塊的列表??蛻艨梢詮膕ession索引文件知道哪個(gè)文件可以下載。新加入的客戶也可以從session索引文件,知道哪個(gè)主組塊文件是最新的,以便以最小的時(shí)間延遲加入一個(gè)實(shí)時(shí)流。此外,如果適用的話,session索引文件也包含一些元數(shù)據(jù)以便再現(xiàn)多媒體流。元數(shù)據(jù)包含在一個(gè)<111>塊內(nèi),與屬性名稱和對應(yīng)數(shù)值一起列出。一個(gè)示例的session索引文件的語法如表格3所示。表格313<head〉</hesd〉<body〉<ul><liID=〃v_width〃>720</li〉<liID=〃v_height〃>576</li〉<liID=〃v_timescale〃〉90000</li>〈/ul〉<ol><liID='T〉0</li><liID=〃2〃>2000</li〉<liID=〃3〃>3600</li〉</〇l></b〇dy>表格3里的例子顯示session的SN是"superman"。目前有三個(gè)已經(jīng)建立的主組塊文件。主組塊文件是時(shí)戳0視頻RAP的"supermanl.html"、時(shí)戳2000視頻RAP的"superman2.html"、時(shí)戳3600視頻RAP的"superman3.html"。在此例子里的session索引文件是superman.html,組塊文件位于與session索引文件同一路徑上。表格4顯示一個(gè)普通session索引文件語法的例子。表格4<!D〇CTYPEhtmlPUBLIC"—//W3C//DTDXHTML1.0Transiti〇nal//EN""http://www.w3.org/TR/xhtmll/DTD/xhtml1-transitional.dtd"〉<htmlxmlns=〃http://www.w3.org/1999/xhtml〃〉<head><title〉<!一一SN-—〉</title></head><body〉<ul〉<!一一metadata-一〉<!--<liID=〃attr〃>valLie</li〉...一></ul><〇1><!—chunkindex—><!—<liID=〃seq〃>timestamp</li>...--〉〈/ol〉</body></html>圖4描述本發(fā)明一個(gè)實(shí)施例的典型方法400。例如,方法400也可以由一個(gè)或多個(gè)服務(wù)器端的處理器型機(jī)器執(zhí)行。在模塊401,接收流媒體內(nèi)容。在一個(gè)實(shí)施例里,流媒體內(nèi)容是從一個(gè)多媒體編碼器接收。現(xiàn)在已知的或以后開發(fā)的任何類型的編碼都可以用于不同實(shí)施例。此外,一個(gè)應(yīng)用程序可以在同一設(shè)備上運(yùn)行接收媒體內(nèi)容并在同一設(shè)備上進(jìn)行編碼媒體內(nèi)容。在模塊402,流媒體內(nèi)容被封包成網(wǎng)頁內(nèi)容,其中網(wǎng)頁內(nèi)容被格式成一個(gè)靜態(tài)網(wǎng)頁。在一個(gè)例子里,使用圖3和表1-4以上所示的組塊和文件格式。不同實(shí)施例可以使用不同的格式,只要媒體流被轉(zhuǎn)換成一個(gè)網(wǎng)頁文件,其可以由普通web緩存代理服務(wù)器使用緩存靜態(tài)網(wǎng)頁的技術(shù)進(jìn)行緩存。在模塊403,網(wǎng)頁內(nèi)容被傳輸?shù)娇蛻簟鬏斖ǔJ菫轫憫?yīng)客戶對媒體流的請求而執(zhí)行。在一些實(shí)施例里,一個(gè)代理緩存服務(wù)器位于提供網(wǎng)頁內(nèi)容的web服務(wù)器和請求網(wǎng)頁內(nèi)容的客戶之間。在這種情況下,代理緩存服務(wù)器緩存網(wǎng)頁內(nèi)容是可能的,因?yàn)槠涫菑膚eb服務(wù)器被發(fā)送到客戶。隨后,在代理緩存服務(wù)器網(wǎng)絡(luò)上的隨后請求客戶將從代理緩存服務(wù)器而不是從web服務(wù)器接收內(nèi)容。在模塊404,當(dāng)接收到實(shí)時(shí)流數(shù)據(jù)時(shí)更新網(wǎng)頁內(nèi)容。例如,周期性地,或者當(dāng)實(shí)時(shí)媒體流繼續(xù)時(shí),產(chǎn)生新的session索引文件。新的session索引文件可以重寫舊的session索引文件,或另外保存,提供索引給新建立的組塊文件。如以下圖5所述,客戶獲取更新的session索引文件。圖5描述本發(fā)明一個(gè)實(shí)施例的典型方法500。方法500可以由一個(gè)運(yùn)行應(yīng)用程序的客戶設(shè)備執(zhí)行,其接收、解碼和再現(xiàn)以網(wǎng)頁文件發(fā)送的媒體流。例如,客戶設(shè)備可以包括蜂窩電話、個(gè)人數(shù)字助理(PDA)、膝上型或臺(tái)式計(jì)算機(jī)等。在此例子里,在模塊501和502,假設(shè)客戶知道SN和合適的服務(wù)器URL以下載session索引文件。在獲得session索引文件之后,在模塊503和504,客戶解析session索引文件以確定要下載的首個(gè)主組塊[媒體數(shù)據(jù)的元數(shù)據(jù)是在301內(nèi),專有解碼器信息]。對一個(gè)實(shí)時(shí)流,將要下載的首個(gè)主組塊文件是目前可能獲得的最新(最近)主組塊文件。然后,在模塊505-510,客戶通過下載主組塊文件和相應(yīng)的次組塊文件來下載組塊文件。在此例子里,用來下載組塊文件的URL前綴與session索引文件相同,盡管在其它實(shí)施例里可以有不同方案??蛻魰?huì)記錄當(dāng)前的主組塊序列號(hào)和次組塊序列號(hào)。當(dāng)客戶完成下載一個(gè)主組塊文件時(shí),它會(huì)嘗試下載具有相同主組塊序列號(hào)和次組塊序列號(hào)的次組塊文件,如在模塊508內(nèi)所示。當(dāng)完成下載一個(gè)次組塊文件時(shí),客戶會(huì)嘗試下載具有向上遞增的次組塊序列號(hào)的下一個(gè)次組塊文件。在模塊505,當(dāng)在服務(wù)器上沒有發(fā)現(xiàn)次組塊文件時(shí),客戶假設(shè)流是在下一個(gè)RAP上,應(yīng)該下載下一個(gè)主組塊文件。在模塊507,如果下一個(gè)主組塊不在session索引文件上,或者客戶沒能下載到下一個(gè)主組塊,客戶會(huì)嘗試再次下載session索引文件,以防session索引文件已經(jīng)被更新(如在一次實(shí)時(shí)流session期間)。在此例子里,客戶依照session索引文件內(nèi)的主組塊序列號(hào)列表隨機(jī)訪問可能的主組塊文件。主組塊文件是RAP,從而客戶可以通過訪問提供特別竅門模式(trickmode)操作的主文件而實(shí)現(xiàn)竅門模式播放(如重繞、暫停、査找、快進(jìn)等)。各種實(shí)施例不限于圖4和5所示的范例,因?yàn)槠渌鼘?shí)施例可以在方法400和500里增加、刪除、重新編排和/或修改一個(gè)或多個(gè)動(dòng)作。例如,一些實(shí)施例持續(xù)反復(fù)執(zhí)行方法400,只要流仍在繼續(xù)。各種實(shí)施例提供優(yōu)于現(xiàn)有技術(shù)的優(yōu)勢。例如,以上范例提供一個(gè)媒體流作為靜態(tài)網(wǎng)頁的網(wǎng)頁內(nèi)容。所以,使用上述分解方案的流技術(shù)可以使用己經(jīng)在許多網(wǎng)絡(luò)內(nèi)采用的通用web緩存構(gòu)造。此夕卜,上述內(nèi)容分解技術(shù)(contentdisassemblingtechnique)是一種在服務(wù)器端的后處理步驟,在一些實(shí)施例里,其對現(xiàn)有的內(nèi)容建立過程和編碼是透明的。所以,內(nèi)容分解技術(shù)可以離線或?qū)崟r(shí)進(jìn)行。類似地,客戶端的內(nèi)容分解技術(shù)是一種預(yù)處理步驟,在一些實(shí)施例里,其對客戶使用的現(xiàn)有播放器/解碼器是透明的??蛻舳说膬?nèi)容分解可以離線或?qū)崟r(shí)進(jìn)行。當(dāng)實(shí)施計(jì)算機(jī)可執(zhí)行指令時(shí),本發(fā)明實(shí)施例的各個(gè)部件本質(zhì)上是定義此各個(gè)部件操作的軟件代碼??蓤?zhí)行指令或軟件代碼可以從可讀媒質(zhì)獲得(如硬盤媒質(zhì)、光媒質(zhì)、RAM、EPROM、EEPROM、磁帶媒質(zhì)、盒式磁帶媒質(zhì)、閃存、ROM、記憶棒等)。實(shí)際上,可讀媒質(zhì)可以包括能夠存儲(chǔ)信息的任何媒質(zhì)。圖6描述本發(fā)明一個(gè)實(shí)施例的一個(gè)示例計(jì)算機(jī)系統(tǒng)600。計(jì)算機(jī)系統(tǒng)600包含一個(gè)可以實(shí)施本發(fā)明實(shí)施例的示范系統(tǒng)(如一個(gè)執(zhí)行客戶應(yīng)甩程序的客戶端設(shè)備或一個(gè)將媒體流變換成網(wǎng)頁內(nèi)容的服務(wù)器計(jì)算機(jī))。中央處理單元(CPU)601被連接到系統(tǒng)總線602。CPU601可以是任何通用或?qū)S眯偷腃PU。但是,本發(fā)明不受CPU601結(jié)構(gòu)的限制,只要CPU601支持在此所述的本發(fā)明的運(yùn)作。依照本發(fā)明的實(shí)施例,CPU601可以執(zhí)行各種邏輯指令。例如,依照以上圖4和圖5所述的典型操作流程,一個(gè)或多個(gè)CPU,如CPU601可以執(zhí)行機(jī)器級(jí)指令。優(yōu)選地,計(jì)算機(jī)系統(tǒng)600也包括隨機(jī)訪問存儲(chǔ)器(RAM)603,其可以是SRAM、DRAM、SDRAM等。在此例子里,計(jì)算機(jī)系統(tǒng)600使用RAM603作為圖3的緩沖器302。優(yōu)選地,計(jì)算機(jī)系統(tǒng)600包括只讀存儲(chǔ)器(ROM)604,其可以是PROM、EPROM、EEPROM等。正如本領(lǐng)域技術(shù)人員所熟知的,RAM603和ROM604保留有用戶和系統(tǒng)的數(shù)據(jù)和程序。優(yōu)選地,計(jì)算機(jī)系統(tǒng)600也包括輸入/輸出(I/O)適配器605、通信適配器611、用戶接口適配器608和顯示適配器609。在某些實(shí)施例里,I/O適配器605、用戶接口適配器608和/或通信適配器611可以使用戶能夠與計(jì)算機(jī)系統(tǒng)600進(jìn)行交互以便輸入信息,如選擇媒體流。優(yōu)選地,1/O適配器605連接到存儲(chǔ)器設(shè)備606,如計(jì)算機(jī)系統(tǒng)600里的一個(gè)或多個(gè)硬盤、光盤(CD)驅(qū)動(dòng)器、軟盤驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器等。當(dāng)RAM603不足以滿足存儲(chǔ)媒體數(shù)據(jù)的存儲(chǔ)要求時(shí),可以使用存儲(chǔ)器設(shè)備。優(yōu)選地,通信適配器611被調(diào)配以連接計(jì)算機(jī)系統(tǒng)600到網(wǎng)絡(luò)612(如互聯(lián)網(wǎng)、局域網(wǎng)、蜂窩網(wǎng)絡(luò)等)。用戶接口適配器608連接用戶輸入設(shè)備,如鍵盤613、定點(diǎn)裝置607、和麥克風(fēng)614和/或輸出設(shè)備,如計(jì)算機(jī)系統(tǒng)600里的揚(yáng)聲器615。顯示適配器609是由CPU601驅(qū)動(dòng),以控制顯示設(shè)備610上的顯示,當(dāng)進(jìn)行播放時(shí)顯示媒體。盡管圖6顯示了一臺(tái)通用計(jì)算機(jī),應(yīng)該注意到,依照各種實(shí)施例,一部分系統(tǒng)的具體構(gòu)造可能稍有不同。例如,依照一個(gè)或多個(gè)實(shí)施例,設(shè)備可以是任何類型的處理器型設(shè)備,如蜂窩電話、PDA、專用設(shè)備(如單機(jī)P2P電視模塊、或香港應(yīng)用科技研究院有限公司提供的家庭媒體中心,其流式傳輸電視內(nèi)容)等。另外,依照一個(gè)或多個(gè)實(shí)施例,服務(wù)器(如流和封包服務(wù)器)可以是任何類型的能夠發(fā)送媒體流的處理器型設(shè)備,如個(gè)人計(jì)算機(jī)、服務(wù)器型計(jì)算機(jī)、家庭媒體中心等。而且,本發(fā)明實(shí)施例可以被實(shí)施在專用集成電路(ASIC)或超大型集成(VLSI)電路上。實(shí)際上,本領(lǐng)域技術(shù)人員可以使用任何數(shù)目的能夠依照本發(fā)明實(shí)施例執(zhí)行邏輯運(yùn)算的合適結(jié)構(gòu)。盡管已經(jīng)詳細(xì)說明了本發(fā)明及其優(yōu)越性,但應(yīng)理解,在不脫離所附權(quán)利要求定義的本發(fā)明的條件下可以做出各種改變,替換和變化。此外,本申請的范圍不限定到此處說明書中描述的處理方法,機(jī)器,制造,物質(zhì)構(gòu)成,手段,方法和步驟等的特定實(shí)施例。從說明書可以容易理解,可以利用實(shí)質(zhì)上執(zhí)行了與這里說明的相應(yīng)實(shí)施例相同功能或?qū)崿F(xiàn)了相同結(jié)果的目前已有的或者將來會(huì)開發(fā)出的處理方法,機(jī)器,制造,物質(zhì)構(gòu)成,手段,方法和步驟。因此,所附的權(quán)利要求書旨在包括這些處理方法,機(jī)器,制造,物質(zhì)構(gòu)成,手段,方法或步驟。權(quán)利要求1.一種具有計(jì)算機(jī)可讀媒質(zhì)的計(jì)算機(jī)程序產(chǎn)品,其上記錄有一個(gè)計(jì)算機(jī)編程邏輯,計(jì)算機(jī)程序產(chǎn)品包括用來接收流媒體內(nèi)容的代碼;用來將流媒體內(nèi)容封包成網(wǎng)頁內(nèi)容的代碼;和用來傳輸網(wǎng)頁內(nèi)容到客戶的代碼。2.根據(jù)權(quán)利要求l所述的計(jì)算機(jī)程序產(chǎn)品,其中網(wǎng)頁內(nèi)容包括多個(gè)多媒體內(nèi)容文件和一個(gè)包含多媒體內(nèi)容文件索弓I的session索引文件。3.根據(jù)權(quán)利要求l所述的計(jì)算機(jī)程序產(chǎn)品,其中網(wǎng)頁內(nèi)容包括一個(gè)超文本標(biāo)記語言(HTML)文件,包括被編碼的音頻和視頻數(shù)據(jù)。4.根據(jù)權(quán)利要求l所述的計(jì)算機(jī)程序產(chǎn)品,其中網(wǎng)頁內(nèi)容包括一個(gè)HTML文件,包括流媒體內(nèi)容的組塊索引。5.根據(jù)權(quán)利要求l所述的計(jì)算機(jī)程序產(chǎn)品,其中網(wǎng)頁內(nèi)容包括一個(gè)可擴(kuò)展HTML(XHTML)格式的HTML文件。6.根據(jù)權(quán)利要求l所述的計(jì)算機(jī)程序產(chǎn)品,其中用來封包流媒體內(nèi)容的代碼包括將流媒體內(nèi)容分割成多個(gè)臨時(shí)順序組塊的代碼,每個(gè)組塊被包含在相應(yīng)的網(wǎng)頁文件內(nèi);產(chǎn)生一個(gè)指引組塊的session索引文件的代碼。7.根據(jù)權(quán)利要求6所述的計(jì)算機(jī)程序產(chǎn)品,其中組塊包括多個(gè)主組塊,其充當(dāng)一個(gè)媒體流里的隨機(jī)接入點(diǎn);和多個(gè)次組塊,每個(gè)次組塊與一個(gè)主組塊相關(guān)。8.根據(jù)權(quán)利要求l所述的計(jì)算機(jī)程序產(chǎn)品,還包括當(dāng)接收到實(shí)時(shí)流數(shù)據(jù)時(shí),用來更新網(wǎng)頁內(nèi)容的代碼。9.根據(jù)權(quán)利要求8所述的計(jì)算機(jī)程序產(chǎn)品,其中用來更新網(wǎng)頁內(nèi)容的代碼包括當(dāng)接收到實(shí)時(shí)流數(shù)據(jù)時(shí),用來從實(shí)時(shí)流數(shù)據(jù)建立多媒體內(nèi)容文件的代碼;和用來產(chǎn)生指引多媒體內(nèi)容文件的更新的session索引數(shù)據(jù)的代碼。10.根據(jù)權(quán)利要求1所述的計(jì)算機(jī)程序產(chǎn)品,其中網(wǎng)頁內(nèi)容被格式成一個(gè)靜態(tài)網(wǎng)頁。11.一種具有計(jì)算機(jī)可讀媒質(zhì)的計(jì)算機(jī)程序產(chǎn)品,其上記錄有計(jì)算機(jī)編程邏輯,用來播放媒體流,計(jì)算機(jī)程序產(chǎn)品包括-用來接收網(wǎng)頁內(nèi)容的代碼,包括多個(gè)多媒體內(nèi)容文件和至少一個(gè)指引多媒體內(nèi)容文件的session索引文件,多媒體內(nèi)容文件包含媒體流的內(nèi)容;用來使用索引以確定媒體流上一個(gè)起始點(diǎn)的代碼;和用來解碼多媒體內(nèi)容文件并再現(xiàn)媒體流的代碼。12.根據(jù)權(quán)利要求ll所述的計(jì)算機(jī)程序產(chǎn)品,其中一個(gè)或多個(gè)多媒體內(nèi)容文件是可以單獨(dú)選擇的以在媒體流上提供一個(gè)或多個(gè)隨機(jī)接入點(diǎn)。13.根據(jù)權(quán)利要求12所述的計(jì)算機(jī)程序產(chǎn)品,其中用來再現(xiàn)多媒體內(nèi)容的代碼包括使用單獨(dú)選擇的多媒體內(nèi)容文件以提供一種或多種播放模式的代碼,播放模式是從以下列表挑選倒帶模式;跳讀模式;査找模式;和快進(jìn)模式。14.根據(jù)權(quán)利要求ll所述的計(jì)算機(jī)程序產(chǎn)品,其中接收到的網(wǎng)頁內(nèi)容被格式成一個(gè)靜態(tài)網(wǎng)頁。15.—種由網(wǎng)絡(luò)計(jì)算機(jī)執(zhí)行的方法,本方法包括接收被編碼的媒體內(nèi)容;通過將被編碼的媒體內(nèi)容分割成多個(gè)網(wǎng)頁文件,其被格式成一個(gè)靜態(tài)網(wǎng)頁,將被編碼的媒體內(nèi)容轉(zhuǎn)換成網(wǎng)頁內(nèi)容;和為響應(yīng)請求,在網(wǎng)絡(luò)上傳輸網(wǎng)頁內(nèi)容。16.根據(jù)權(quán)利要求15所述的方法,其中將被編碼的媒體內(nèi)容轉(zhuǎn)換成網(wǎng)頁內(nèi)容包括建立多個(gè)超文本標(biāo)記語言(HTML)文件,其包括被編碼的媒體內(nèi)容的信息包;和建立一個(gè)session索引文件,其列出至少一些HTML文件的標(biāo)識(shí)符。17.根據(jù)權(quán)利要求16所述的方法,其中至少一些所述HTML文件提供到被編碼的媒體內(nèi)容的隨機(jī)接入點(diǎn)。18.根據(jù)權(quán)利要求15所述的方法,其中被編碼的媒體內(nèi)容包括一個(gè)實(shí)時(shí)媒體流,本方法還包括當(dāng)實(shí)時(shí)媒體流持續(xù)時(shí),更新網(wǎng)頁內(nèi)容;和傳輸更新的網(wǎng)頁內(nèi)容。19.一種由網(wǎng)絡(luò)計(jì)算機(jī)執(zhí)行的方法,本方法包括請求網(wǎng)絡(luò)資源;接收網(wǎng)頁內(nèi)容作為請求的結(jié)果,網(wǎng)頁內(nèi)容被格式為靜態(tài)網(wǎng)頁內(nèi)容,并包括多個(gè)被編碼的媒體文件;和再現(xiàn)靜態(tài)網(wǎng)頁內(nèi)容作為一個(gè)媒體流。20.根據(jù)權(quán)利要求19所述的方法,其中再現(xiàn)包括解碼媒體文件內(nèi)的媒體內(nèi)容;在變換器上將被編碼的媒體內(nèi)容轉(zhuǎn)換成人類可感覺到的信號(hào)。21.根據(jù)權(quán)利要求19所述的方法,其中網(wǎng)頁內(nèi)容包括索引數(shù)據(jù),其列出至少一些所述被編碼的媒體文件的標(biāo)識(shí)符。22.根據(jù)權(quán)利要求19所述的方法,其中再現(xiàn)網(wǎng)頁內(nèi)容包括訪問在網(wǎng)頁內(nèi)容內(nèi)被編碼的媒體信息包;解碼被編碼的媒體信息包;和使用計(jì)算機(jī)的一個(gè)或多個(gè)變換器展示媒體流。全文摘要一種方法包括接收被編碼的媒體內(nèi)容,通過將被編碼的媒體內(nèi)容分割成多個(gè)網(wǎng)頁文件,其被格式為一個(gè)靜態(tài)網(wǎng)頁,將被編碼的媒體內(nèi)容轉(zhuǎn)換成網(wǎng)頁內(nèi)容,并在網(wǎng)絡(luò)上傳輸網(wǎng)頁內(nèi)容以響應(yīng)請求。文檔編號(hào)H04L29/06GK101465861SQ200910002458公開日2009年6月24日申請日期2009年1月16日優(yōu)先權(quán)日2009年1月16日發(fā)明者劉錦興,吳康恒,李家鈺,林德榮申請人:香港應(yīng)用科技研究院有限公司