專利名稱:向設(shè)備傳輸數(shù)字媒體流的制作方法
技術(shù)領(lǐng)域:
本說明書涉及數(shù)字媒體的流傳輸。
背景技術(shù):
數(shù)字媒體的流傳輸使得能夠在發(fā)布者遞送媒體內(nèi)容的同時(shí)連續(xù) 地將內(nèi)容顯示給用戶。可以進(jìn)行流傳輸?shù)臄?shù)字媒體的類型包括視頻 傳輸、音頻傳輸?shù)取0l(fā)布者可以通過使用視頻壓縮軟件,例如諸如
On2科技(美國,紐約州,Clifton Park市)提供的On2、國際電信 聯(lián)盟電信標(biāo)準(zhǔn)化委員會(huì)(ITU-T)提供的H.263、屏幕共享視頻等之 類的編解碼器對視頻畫面進(jìn)行編碼來創(chuàng)建數(shù)字視頻流。流媒體服務(wù) 器,例如Adobe系統(tǒng)公司(美國,加利福尼亞州,圣何塞市)提供 的Flash Media服務(wù)器,可以將壓縮的視頻流傳輸?shù)浇邮赵O(shè)備,該接 收設(shè)備可以包括被配置為對視頻流進(jìn)行解壓縮并在顯示設(shè)備上顯示 視頻流的媒體播放器。視頻流可以例如在實(shí)時(shí)流中持續(xù)傳輸。希望 接收視頻流的用戶可以在傳輸開始時(shí)或者在傳輸期間的任何時(shí)間加
入該傳豐lr。
發(fā)明內(nèi)容
本公開描述了關(guān)于將數(shù)字媒體流傳輸?shù)皆O(shè)備的技術(shù)。 一般地,在此說明書中描述的主題的一方面可以以計(jì)算機(jī)執(zhí)行 的方法來具體實(shí)現(xiàn),該方法包括識別并傳輸數(shù)字視頻傳輸中的幀 序列,該幀序列包4舌初始幀和對應(yīng)于該初始幀的后續(xù)幀,該后續(xù)幀 包括增量式地更新該初始幀的數(shù)據(jù);以及在之前發(fā)送了該數(shù)字傳輸 中后續(xù)幀中的一個(gè)之后,發(fā)起該幀序列到新設(shè)備的新傳輸,該發(fā)起 包括生成信息以引起該新設(shè)備抑制展示該新傳輸,直到該初始幀和那個(gè)后續(xù)幀以及二者之間的幀已經(jīng)由該新設(shè)備接收為止,并且將該 信息和該初始幀和那個(gè)后續(xù)幀以及二者之間的幀傳輸5 'J該新設(shè)備。 此方面的其他實(shí)現(xiàn)包括相應(yīng)的系統(tǒng)、裝置和計(jì)算機(jī)程序產(chǎn)品。
這些和其他實(shí)現(xiàn)可選地可以包括一個(gè)或多個(gè)下述特征。對信息
和幀的傳輸可以包括發(fā)送第一消息到該新設(shè)備以抑制展示,將該 初始幀和那個(gè)后續(xù)幀以及二者之間的幀發(fā)送到該新設(shè)備,以及發(fā)送 第二消息到該新設(shè)備以恢復(fù)展示。該方法可以進(jìn)一步包括在接收 到指示接收到該初始幀和那個(gè)后續(xù)幀以及二者之間的幀的消息后, 發(fā)送該第二消息到該新設(shè)備以恢復(fù)展示。識別并傳輸序列可以包括 從存儲(chǔ)介質(zhì)取回幀并將幀傳輸至客戶端。識別并傳輸序列可以包括 從發(fā)布者接收幀并將幀傳輸至客戶端。該方法可以進(jìn)一步包括響 應(yīng)于請求而發(fā)起該新傳輸。該請求可以乂人新"i殳備接收。
在此說明書中描述的主題的具體實(shí)現(xiàn)可以被執(zhí)行以實(shí)現(xiàn)一個(gè)或 多個(gè)下述益處。在幀序列的所有幀都被接收之前,抑制對包括關(guān)鍵 幀和對應(yīng)的中間幀的視頻流的展示可以增強(qiáng)用戶的觀看體驗(yàn)。當(dāng)傳 輸視頻流的流媒體服務(wù)器接收新的傳輸請求時(shí),服務(wù)器不需要在響 應(yīng)新請求而開始傳輸之前等待接收新的關(guān)鍵幀。另外,客戶端可以 利用當(dāng)前正在傳輸?shù)膸蛄衼碚故荆皇潜仨毜却?,直到新序?的關(guān)鍵幀可用為止。進(jìn)一步地,如果請求是中途接收到的,則服務(wù) 器不需要為了傳輸視頻流而生成新的關(guān)鍵幀。在序列中的所有幀對 于客戶端而言都可用并且已經(jīng)由客戶端處理完之前都抑制展示視頻
流,可以減小服務(wù)器上的操作負(fù)荷。這種服務(wù)器上的減小的負(fù)荷可 以產(chǎn)生改進(jìn)的縮放性。由于減少的代碼執(zhí)行,服務(wù)器穩(wěn)定性也可以 增大。幾種類型的編解碼器可以被配置以支持抑制,從而改進(jìn)編解 碼器的靈活性。
一種或多種實(shí)現(xiàn)的細(xì)節(jié)在附圖和下述描述中給出。其他特征和 優(yōu)勢將從描述和附圖以及權(quán)利要求中變得顯而易見。
圖1示出了用于對數(shù)字媒體進(jìn)行流傳輸?shù)氖纠韵到y(tǒng)。
圖2A示出了用于對數(shù)字媒體進(jìn)行流傳輸?shù)牧硪皇纠韵到y(tǒng)。
圖2B示出了視頻流中兩個(gè)幀序列的示例。
圖3示出了用于將幀序列傳輸?shù)娇蛻舳说氖纠蕴幚怼?br>
在各附圖中,相同的附圖標(biāo)記表示相同的元件。
具體實(shí)施例方式
圖1描繪了用于對數(shù)字媒體進(jìn)行流傳輸?shù)氖纠韵到y(tǒng)100的示 意圖。系統(tǒng)100可以包括流媒體引擎(SME) 105,其被配置以從發(fā) 布者110接收數(shù)字媒體并將所接收的數(shù)字媒體傳輸?shù)嚼缈蛻舳?115。發(fā)布者110和客戶端115可以操作地通過有線或無線信道耦合 至SME 105。在某些實(shí)現(xiàn)中,數(shù)字媒體傳輸可以是數(shù)字視頻流,其 中視頻流被編碼以包括兩種幀,即關(guān)4定幀和中間幀。經(jīng)過編碼的視 頻流可以包括 一 個(gè)或多個(gè)幀序列,其中每個(gè)幀序列都包括關(guān)鍵幀和 對應(yīng)于該關(guān)鍵幀的一個(gè)或多個(gè)中間幀??蛻舳?15,例如視頻播放設(shè) 備,可以包括解壓縮器,其被配置以接收經(jīng)過編碼的流并對該流進(jìn) 行解碼以便播放。在視頻流顯示在顯示設(shè)備上的實(shí)現(xiàn)中,關(guān)鍵幀包
括解壓縮器更新顯示設(shè)備的屏幕所需的信息,以及中間幀包括可以 應(yīng)用到對應(yīng)關(guān)鍵幀上面的附加信息,例如,對用于該序列的屏幕的 漸進(jìn)更新。例如,幀序列可以描述兩個(gè)人物,他們扮演與對序列中 所有幀而言都是公共的背景相對的部分。關(guān)鍵幀可以包含與背景相 關(guān)的信息,而中間幀可以包含與這兩個(gè)人物的活動(dòng)相關(guān)的信息。這 樣,盡管關(guān)鍵幀可以對序列中所有幀的顯示產(chǎn)生影響,但是對序列
的漸進(jìn)更新可以由對應(yīng)于關(guān)鍵幀的中間幀來提供。因此,可以僅當(dāng) 關(guān)鍵幀和序列中在第j個(gè)中間幀之前的每個(gè)中間幀都可用于顯示時(shí), 才顯示幀序列中的第j個(gè)中間幀??蛇x地,SME 105可以是配置為對 媒體進(jìn)行流傳輸?shù)娜魏畏?wù)器。發(fā)布者110可以包括含有視頻流并 能夠?qū)⒁曨l流傳輸?shù)絊ME 105的任何設(shè)備??蛻舳?15可以包括能 夠從SME 105接收視頻流并且包括例如Flash播放器的流媒體播放器的任何設(shè)備。
在某些實(shí)現(xiàn)中,SME 105可以廣播視頻流或者將視頻流傳輸?shù)?一個(gè)或多個(gè)客戶端115。 SME 105可以從視頻流中第一幀序列的第一 個(gè)關(guān)鍵幀開始將視頻流傳輸?shù)娇蛻舳?15??蛇x地,SME105可以中 途發(fā)起視頻流到新客戶端115的新傳輸。在某些實(shí)現(xiàn)中,在到其他 客戶端的一見頻流傳輸已經(jīng)開始后,SME 105可以響應(yīng)于從新客戶端 115接收的針對視頻流的請求而發(fā)起到新客戶端115的新傳輸。可選 地,或者附加地,SME 105可以被配置以在預(yù)定時(shí)間發(fā)起^L頻流到 新客戶端115的新傳輸。如果到其他客戶端115的傳輸或者視頻流 的廣播在預(yù)定時(shí)間之前已經(jīng)開始,則新客戶端115可以中途接收視 頻流。
圖2A是用于將視頻流傳輸?shù)娇蛻舳?15的示例性系統(tǒng)100的示 意圖。在某些實(shí)現(xiàn)中,SME 105可以廣播視頻流,例如輸出傳輸205, 無論該傳輸205是否被例如客戶端的接收設(shè)備收到。SME 105可以 從發(fā)布者IIO接收視頻流??蛇x地,發(fā)布者IIO可以將視頻流傳輸 到第三方,第三方隨后可以將該視頻流重新傳輸?shù)絊ME 105。在某 些實(shí)現(xiàn)中,SME 105可以包括幀儲(chǔ)存庫210,其纟皮配置以接收并存儲(chǔ) 視頻流中的所有幀。在其他實(shí)現(xiàn)中,SME 105可以在接收幀的時(shí)候 持續(xù)地傳輸視頻流中的幀,例如在實(shí)時(shí)流中就是這種情況。SME105 可以包括諸如On2科技(美國,紐約州,Clifton Park市)提供的 On2、國際電信聯(lián)盟電信標(biāo)準(zhǔn)化委員會(huì)(ITU-T)提供的H.263、屏 幕共享視頻等之類的編解碼器,以對從發(fā)布者110接收的視頻流進(jìn) 行壓縮??蛇x地,SME 105可以接收已經(jīng)由發(fā)布者110或第三方壓 縮的視頻流。SME 105可以通過一個(gè)接口接收視頻流并可以經(jīng)由另 一接口傳輸視頻流。視頻流傳輸205包括一個(gè)或多個(gè)幀序列,其中 每個(gè)序列的傳輸開始于序列的關(guān)鍵幀的傳輸,然后跟隨對應(yīng)于該關(guān) 一睫幀的中間幀。在某些實(shí)現(xiàn)中,SME 105可以以預(yù)定傳輸速率傳輸 序列中的每個(gè)幀。傳輸速率可以取決于以下因素,包括客戶端115 的能力、SME 105和客戶端U5之間網(wǎng)絡(luò)連接的帶寬等。SME IO5可以在開始傳輸205之后,發(fā)起幀序列到客戶端215的新傳輸。
圖2B描繪了兩個(gè)幀序列示例的示意圖。在某些實(shí)現(xiàn)中,SME 105 可以在發(fā)送完前一序列的最后一個(gè)中間幀后,發(fā)起幀序列到客戶端 215的新傳輸。在這種實(shí)現(xiàn)中,新客戶端215可以首先接收序列的關(guān) 鍵幀。由于關(guān)鍵幀可以包括顯示屏幕所需的所有信息,所以客戶端 215可以處理并顯示該序列。在其他實(shí)現(xiàn)中,SME 105可以在傳輸 205中發(fā)送完中間幀中的一個(gè)后,發(fā)起幀序列到客戶端215的新傳 輸。例如,如圖2B所示,視頻流可以包括兩個(gè)幀序列,其中每個(gè)序 列包含關(guān)鍵幀(Kl、 K2)和對應(yīng)于每個(gè)關(guān)鍵幀的中間幀(il[l]-i5[1] 對應(yīng)于Kl, i1[2]-i5[2]對應(yīng)于K2) 。 SME 105可以在傳輸完中間 幀i4[l]之后,發(fā)起到客戶端215的新傳輸。SME105可以響應(yīng)于來 自客戶端215的請求發(fā)起新傳輸。這樣,將由客戶端215顯示的第 一幀可以是中間幀i5[1]。但是,由于中間幀僅包含對關(guān)鍵幀Kl增 量式地更新的信息,所以客戶端215不能播放該中間幀i5[1]。為了 播放該中間幀i5[1],客戶端需要序列中在i5[l]之前的所有幀,即幀 Kl-i4[1〗。
為了使客戶端215能夠從中間幀i5[l]開始顯示視頻流,SME 105 可以傳輸序列中的一組幀,這組幀包括關(guān)鍵幀K1、中間幀i5[l]及它 們之間的幀,即幀K1、 il[l]、 i2[1]、 i3[1]、 i4[l]和i5[1〗。在某些實(shí) 現(xiàn)中,SME 105可以在傳輸205期間和/或在廣播期間存儲(chǔ)^L頻流中 的幀的副本。這樣,SME 105可以取回幀Kl-i5[1],并將該取回的幀 傳輸至客戶端215。在其他實(shí)現(xiàn)中,SME 105可以將序列中的所有 幀存儲(chǔ)到緩沖器中,從關(guān)鍵幀開始,直到序列的最后一幀被傳輸。 然后,SME 105可以清空緩沖器并存儲(chǔ)下一幀序列。這樣,SME105 可以存儲(chǔ)幀Kl-i5[1],并將存儲(chǔ)的幀傳輸至客戶端215。在其他實(shí)現(xiàn) 中,SME 105可以存儲(chǔ)視頻流的所有幀,并且從所存儲(chǔ)的幀中取回 幀K-i5[1],用于傳輸?shù)娇蛻舳?15。
客戶端215處理接收的那組幀Kl - i5[l]的速度可以取決于以下 因素,包括客戶端215的處理速度、SME 105和客戶端215之間
9的連接的帶寬等。例如, 一旦客戶端215接收到一組幀Kl - i5[1], 客戶端215便可以利用中間幀il[l]-i4[l]增量式地更新關(guān)鍵幀Kl, 隨后用中間幀i5[l]更新那組幀,并從中間幀i5[l]顯示視頻流。對那 組幀Kl -i5[l]進(jìn)行的立即處理可能在客戶端215側(cè)產(chǎn)生不良影響, 例如快進(jìn)效果。
在將那組幀傳輸?shù)娇蛻舳?15之前,SME 105可以生成信息以 引起客戶端215抑制展示視頻流的傳輸,直到幀Kl -i4[l]已經(jīng)由客 戶端215接收并處理。例如,在SME 105已經(jīng)傳輸完中間幀i4[l]后, SME 105可能接收到來自客戶端215的請求。SME 105可以識別 已經(jīng)在中途獲得來自客戶端215的請求、那組幀Kl-i4[l]要被發(fā)送 到客戶端215,以及要給客戶端215時(shí)間來處理那組幀Kl-i4[l]。SME 105可以生成信息以引起客戶端215抑制展示新傳輸,其中該信息可 以包括抑制展示的第一消息(消息1)以及恢復(fù)展示的第二消息(消 息2)。在某些實(shí)現(xiàn)中,SME 105可以在發(fā)起到客戶端的新傳輸后將 第一消息發(fā)送到客戶端215,然后將那組幀K1 -i4[l]發(fā)送到客戶端 215,并隨后將第二消息發(fā)送到客戶端215以恢復(fù)展示。在其他實(shí)現(xiàn) 中,SME 105可以同時(shí)將那組幀和指令發(fā)送到客戶端215,以處理那 組幀并抑制展示幀,直到此處理完成??蛻舳?15可以在接收到第 一消息和接收到第二消息之間處理幀K1-i4[1],在這期間在客戶端 215處的展示被抑制。在某些實(shí)現(xiàn)中,SME 105可以在從客戶端215 收到指示客戶端215已經(jīng)成功地處理了所接收的那組幀的消息后發(fā) 送第二消息。在其他實(shí)現(xiàn)中,SME 105可以被配置以監(jiān)控客戶端215, 直到發(fā)送給客戶端215的那組幀中的所有幀都已經(jīng)被處理,并且隨 后發(fā)送第二消息。通過引起客戶端215抑制展示視頻流,SME 105 可以避免當(dāng)客戶端215中途加入視頻流傳輸后同時(shí)處理所接收的那 組幀時(shí),在客戶端215側(cè)發(fā)生任何不良影響。
圖3描繪了用于將幀序列傳輸?shù)娇蛻舳说氖纠赃^程的流程圖。 數(shù)字視頻傳輸中的幀序列可以被識別3 0 5 。幀序列可以包括初始幀和 對應(yīng)于該初始幀的后續(xù)幀。后續(xù)幀可以包括增量式地更新初始幀的數(shù)據(jù)。初始幀可以是關(guān)鍵幀,而后續(xù)幀可以是對應(yīng)于該關(guān)鍵幀的中 間幀。僅當(dāng)初始幀和后續(xù)幀之間的所有幀都已經(jīng)由接收設(shè)備處理之 后,后續(xù)幀才可以由接收設(shè)備進(jìn)行顯示。幀序列可能被識別為從源 (例如幀的發(fā)布者)接收的序列。例如,序列可以是實(shí)時(shí)傳輸?shù)囊?部分??蛇x地,幀序列可以是從存儲(chǔ)序列的儲(chǔ)存庫中取回。例如, 序列可以是已記錄的視頻傳輸?shù)囊徊糠帧?br>
幀序列可以被傳輸310。幀序列可以傳輸至一個(gè)或多個(gè)接收設(shè) 備,包括可能將幀序列廣播到任何接收設(shè)備。幀序列到新設(shè)備的新 傳輸可以被發(fā)起315。新設(shè)備可以是包括視頻播放器的客戶端,視頻 播放器用于播放數(shù)字視頻傳輸。在某些實(shí)現(xiàn)中,新傳輸可以響應(yīng)于 從新設(shè)備接收到要接收幀序列的請求而發(fā)起。在其他實(shí)現(xiàn)中,到新 設(shè)備的新傳輸可以在預(yù)定時(shí)間發(fā)起。新傳輸?shù)牡?一 幀可以被檢查 320。如果第一幀是序列的初始幀,則初始幀和對應(yīng)的后續(xù)幀可以傳 輸?shù)叫略O(shè)備325。
如果第 一 幀是后續(xù)幀,則初始幀和該后續(xù)幀以及二者之間的所
有幀可以在新設(shè)備展示該數(shù)字視頻傳輸之前發(fā)送到新設(shè)備。在這種 實(shí)現(xiàn)中,發(fā)起到新設(shè)備的新傳輸可以包括生成信息以引起該新設(shè)備 抑制展示新傳輸,直到初始幀和該后續(xù)幀以及二者之間的幀都已經(jīng) 被新設(shè)備收到為止。生成的信息可以包括給新設(shè)備的用以抑制展示 幀的第一消息,以及給新設(shè)備的用以恢復(fù)展示幀的第二消息。將信 息傳輸?shù)叫略O(shè)備可以包括發(fā)送第一消息以抑制展示幀330、發(fā)送初始 幀和在新傳輸中發(fā)送的該后續(xù)幀以及二者之間的幀335,以及將第二 消息發(fā)送到新設(shè)備以恢復(fù)展示340。然后,可以傳輸序列中任何剩余 的后續(xù)幀345。在該后續(xù)幀是序列中的最后一幀的實(shí)現(xiàn)中,新的幀序 列的傳輸可以在將第二消息發(fā)送到新設(shè)備后開始。
例如,發(fā)送第一消息可以禁用流在該新設(shè)備上的顯示。當(dāng)在初 始幀和后續(xù)幀以及二者之間的所有幀由新設(shè)備處理之后發(fā)送了第二 消息時(shí),流的顯示可以被重新啟用。包括初始幀和在新傳輸中發(fā)送 的后續(xù)幀以及二者之間的所有幀的那組幀可以通過為該組幀中的所有幀指派公共時(shí)間戳(例如,時(shí)間戳0)來創(chuàng)建。初始幀,例如關(guān)鍵
幀,可以由具有以下消息類型的消息加標(biāo)簽
#defme FRAME—TYPE—KEY 0x10 〃關(guān)4建幀
后續(xù)幀,例如中間幀,可以由具有以下結(jié)構(gòu)的消息加標(biāo)簽
#define FRAME—TYPE—I 0x20 〃中間幀
一見頻流可以包括其他幀,諸如可任意使用的幀(例如,Sorenson可
任意使用的幀),其由以下消息類型加標(biāo)簽
#defme FRAME—TYPE—D 0x30 〃可任意使用的幀
可以添加新消息以表示新 一見頻信息消息來支持流傳輸。新消息可以
如下表示
#define FRAME—TYPE—INFO 0x50 〃幀類型信息 在某些實(shí)現(xiàn)中,新消息可以攜帶在視頻消息的第一個(gè)字節(jié)中。如果 視頻消息是FRAME—TYPE—INFO類型,則第二字節(jié)可以具有以下消 息
#define VIDEO—INFO—SEEK—START 0 〃客戶端側(cè)尋找視頻幀序列開 始
以及
弁define VIDEO—INFO—SEEK—END 1 〃客戶端側(cè)尋找一見頻幀序列結(jié)束 上述消息可以表示發(fā)送到新設(shè)備的第 一 和第二消息,以分別引起抑 制或恢復(fù)展示。在這種實(shí)現(xiàn)中,消息中的任何附加數(shù)據(jù)或者其他第 二字節(jié)值可以被新設(shè)備忽略。
在此說明書中描述的主題以及功能操作的實(shí)現(xiàn)可以以數(shù)字電 路,或計(jì)算機(jī)軟件、固件,或包括在此說明書中公開的結(jié)構(gòu)以及它 們在結(jié)構(gòu)上的等同物的硬件,或者它們中一種或多種的組合來實(shí)現(xiàn)。 在此說明書中描述的主題的實(shí)現(xiàn)可以實(shí)現(xiàn)為 一 個(gè)或多個(gè)計(jì)算機(jī)程序產(chǎn)品,即,在計(jì)算機(jī)可讀介質(zhì)上編碼的供數(shù)據(jù)處理裝置執(zhí)行或者用 于控制數(shù)據(jù)處理控制裝置的操作的計(jì)算機(jī)程序指令的 一 個(gè)或多個(gè)模 塊。計(jì)算機(jī)可讀介質(zhì)可以是機(jī)器可讀存儲(chǔ)設(shè)備、機(jī)器可讀存儲(chǔ)載體、 存儲(chǔ)器設(shè)備、實(shí)現(xiàn)機(jī)器可讀傳播信號的物的組合,或者它們的一種 或多種組合。術(shù)語"數(shù)據(jù)處理裝置"包括用于處理數(shù)據(jù)的所有裝置、 設(shè)備和機(jī)器,作為示例,包括可編程處理器、計(jì)算機(jī)或者多個(gè)處理 器或計(jì)算機(jī)。除了硬件以外,該裝置還可以包括為所討論的計(jì)算機(jī) 程序創(chuàng)建運(yùn)行環(huán)境的代碼,例如構(gòu)成處理器固件、協(xié)議棧、數(shù)據(jù)庫 管理系統(tǒng)、操作系統(tǒng)或者它們中的一種或多種組合的代碼。傳播信 號是人工生成的信號,例如機(jī)器產(chǎn)生的電的、光的或者電磁的信號, 該信號被產(chǎn)生以對信息進(jìn)行編碼,以便傳輸?shù)胶线m的接收器裝置。
計(jì)算機(jī)程序(也公知為程序、軟件、軟件應(yīng)用、腳本或者代碼) 可以以任何編程語言形式編寫,包括經(jīng)過編譯或者解釋的語言,并 且其可以以任何形式布置,其中任何形式包括作為單獨(dú)程序或者作 為模塊、組件、子例程或者適于在計(jì)算環(huán)境中使用的其他單元。計(jì) 算機(jī)程序并不必須對應(yīng)于文件系統(tǒng)中的文件。程序可以存儲(chǔ)在保有 其他程序或數(shù)據(jù)(例如,存儲(chǔ)在標(biāo)記語言文檔中的一個(gè)或多個(gè)腳本) 的文件的一部分中,專用于所討論的程序的單個(gè)文件,或者多個(gè)協(xié) 同文件中(例如,存儲(chǔ)一個(gè)或多個(gè)模塊、子程序或代碼部分的文件)。 計(jì)算機(jī)程序可以被部署以在位于一個(gè)站點(diǎn)的一個(gè)或多個(gè)計(jì)算機(jī)或者 分布在多個(gè)站點(diǎn)并且由通信網(wǎng)絡(luò)互連的多個(gè)計(jì)算機(jī)上執(zhí)行。
在此說明書中描述的處理和邏輯流程可以由一個(gè)或多個(gè)可編程 處理器執(zhí)行,其中可編程處理器通過操作輸入數(shù)據(jù)并產(chǎn)生輸出來執(zhí) 行一個(gè)或多個(gè)計(jì)算機(jī)程序,以便執(zhí)行功能。處理和邏輯流程還可以
由專用邏輯電路,例如FPGA(現(xiàn)場可編程門陣歹'J)或者ASIC (專用 集成電路)來執(zhí)行,并且裝置也可以實(shí)現(xiàn)成專用邏輯電路,例如 FPGA(現(xiàn)場可編程門陣列)或者ASIC (專用集成電路)。
作為示例,適合于執(zhí)行計(jì)算機(jī)程序的處理器包括通用微處理器 和專用微處理器,以及任何數(shù)字計(jì)算機(jī)的任何一個(gè)或多個(gè)處理器。通常,處理器將從只讀存儲(chǔ)器或隨機(jī)訪問存儲(chǔ)器或者二者接收指令 和數(shù)據(jù)。計(jì)算機(jī)的基本元件是用于執(zhí)行指令的處理器和用于存儲(chǔ)指 令和數(shù)據(jù)的一個(gè)或多個(gè)存儲(chǔ)設(shè)備。通常,計(jì)算機(jī)還包括或者可操作 地耦合至一個(gè)或多個(gè)用于存儲(chǔ)數(shù)據(jù)的海量存儲(chǔ)設(shè)備,例如磁盤、磁 光盤或者光盤,以從其接收數(shù)據(jù)或向其傳輸數(shù)據(jù),或者既從其接收 數(shù)據(jù)又向其傳輸數(shù)據(jù)。但是,計(jì)算機(jī)不一定需要這樣的設(shè)備。而且, 計(jì)算機(jī)可以內(nèi)置在其他設(shè)備中,例如,移動(dòng)電話、個(gè)人數(shù)字助理
(PDA)、移動(dòng)音頻播放器、全球定位系統(tǒng)(GPS)接收器,這里僅 僅提了少數(shù)幾種作為例子。適合于存儲(chǔ)計(jì)算機(jī)程序指令和數(shù)據(jù)的計(jì) 算機(jī)可讀介質(zhì)包括所有形式的非易失性存儲(chǔ)器、介質(zhì)和存儲(chǔ)器設(shè)備, 作為示例,包括半導(dǎo)體存儲(chǔ)器設(shè)備,例如EPROM、 EEPROM和閃存 設(shè)備;磁盤,例如內(nèi)置硬盤或者移動(dòng)硬盤;》茲光盤;以及CD-ROM 和DVD-ROM盤。處理器和存儲(chǔ)器可以由專用邏輯電路補(bǔ)充或者并 入專用邏輯電路。
為了提供與用戶的交互,在此說明書中描述的主題的實(shí)現(xiàn)可以 在這樣的計(jì)算機(jī)上實(shí)現(xiàn),該計(jì)算機(jī)具有例如CRT (陰極射線管)或 LCD (液晶顯示器)顯示器的顯示設(shè)備,用于將信息顯示給用戶; 具有鍵盤和指點(diǎn)設(shè)備,例如鼠標(biāo)或跟蹤球,用戶通過它們可以向計(jì) 算機(jī)提供輸入。其他種類的設(shè)備也可以用于提供與用戶的交互;例 如,提供給用戶的反饋可以是任何形式的感官反饋,例如,視覺上
的反饋、聽覺上的反饋,或者觸覺上的反饋;并且來自用戶的輸入
可以以任何形式接收,任何形式包括聲音輸入、語音輸入或觸摸輸入。
在此說明書中描述的主題的實(shí)現(xiàn)可以實(shí)現(xiàn)在計(jì)算機(jī)系統(tǒng)中,該
系統(tǒng)包括后端組件,例如數(shù)據(jù)服務(wù)器;或者該系統(tǒng)包括中間件,例
如應(yīng)用服務(wù)器;或者該系統(tǒng)包括前端組件,例如具有圖形用戶界面 或Web瀏覽器的客戶端計(jì)算機(jī),用戶利用其可以與此說明書中描述 的主題的實(shí)現(xiàn)相交互;或者一個(gè)或多個(gè)這樣的后端、中間、或前端 組件的任何組合。系統(tǒng)的組件可以以任何形式或者數(shù)字?jǐn)?shù)據(jù)通信的介質(zhì)(例如,通信網(wǎng)絡(luò))互連。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)("LAN") 和廣域網(wǎng)("WAN"),例如互聯(lián)網(wǎng)。
計(jì)算系統(tǒng)可以包括客戶端和服務(wù)器??蛻舳撕头?wù)器通常彼此 遠(yuǎn)離,并且典型地通過通信網(wǎng)絡(luò)交互??蛻舳撕头?wù)器的關(guān)系借助 于運(yùn)行在各個(gè)計(jì)算機(jī)上并且彼此具有客戶端-服務(wù)器關(guān)系的計(jì)算機(jī)程 序建立。
盡管此說明書包含很多細(xì)節(jié),但是這些細(xì)節(jié)并不應(yīng)解釋為對所 公開內(nèi)容或者權(quán)利要求的范圍的限制,而是對特定于本公開的具體 實(shí)現(xiàn)的特征的描述。在此說明書中在獨(dú)立的實(shí)現(xiàn)的上下文中描述的 某些特征還可以組合起來在單個(gè)實(shí)現(xiàn)中實(shí)現(xiàn)。相反地,在單個(gè)實(shí)現(xiàn) 的上下文中描述的各種特征還可以在分離的多個(gè)實(shí)現(xiàn)或者任何合適 的子組合中實(shí)現(xiàn)。而且,盡管特征可以如上所述描述為在某些組合 進(jìn)行動(dòng)作并且甚至最初這樣要求保護(hù),但是來自所要求保護(hù)的組合 中的 一個(gè)或多個(gè)特征可以在某些情況中從組合中刪除,并且所要求 保護(hù)的組合可以指向子組合或者子組合的變體。
類似地,盡管附圖中以具體順序描繪了操作,但是這不應(yīng)該理
解為為了達(dá)到預(yù)期的效果而要求這種操作以所示的具體順序或者以
順序方式執(zhí)行,或者要求執(zhí)行所示出的所有操作。在某些情況中, 多任務(wù)和并行處理具有優(yōu)勢。而且,在上述描述的實(shí)現(xiàn)中的各種系
統(tǒng)組件的分離不應(yīng)當(dāng)理解為在所有實(shí)現(xiàn)中要求這種分離,并且應(yīng)當(dāng) 理解,所描述的程序組件和系統(tǒng)通常可以集成在單個(gè)軟件產(chǎn)品中或
者打包成為多個(gè)軟件產(chǎn)品。
已經(jīng)描述了多種實(shí)現(xiàn)。然而,應(yīng)當(dāng)理解,在不脫離本公開的精 神和范圍的前提下,可以做出各種修改。例如,在某些實(shí)現(xiàn)中,SME 105可以在傳輸完中間幀i4[l]之后,發(fā)起到客戶端215的新傳輸。 為了使客戶端215能夠從中間幀i5[l]開始顯示視頻流,SME 105可 以將幀Kl - i4[l]作為一組幀傳輸?shù)娇蛻舳?15。 SME 105可以向客 戶端發(fā)送第一消息以抑制展示,發(fā)送一組幀Kl-i4[l]到客戶端,隨 后跟隨發(fā)送第二消息到客戶端215以恢復(fù)展示。客戶端215可以在接收第一和第二消息之間的期間處理該組幀Kl-i4[l]。接著,SME 105可以將中間幀i5[l]發(fā)送到客戶端215用于顯示。以此方式,發(fā) 送到客戶端用于處理的一組幀不需要包括在其之前發(fā)起新傳輸?shù)哪?個(gè)中間幀。
在其他實(shí)現(xiàn)中,在到新設(shè)備的新傳輸中發(fā)送的包括初始幀和后 續(xù)幀以及二者之間的幀的那組幀可以具有同 一 時(shí)間戳,例如時(shí)間戳
戳,例如時(shí)間戳l、 2等。新設(shè)備可以被配置以在處理具有同一時(shí)間 戳的所有幀時(shí)抑制展示,并且在接收到具有不同時(shí)間戳的幀時(shí)恢復(fù) 展示。在其他實(shí)現(xiàn)中,引起新設(shè)備抑制展示的信息可以包括抑制展 示的第一消息、指示將傳輸?shù)叫略O(shè)備的組的大小(例如幀數(shù)量、文 件大小(兆字節(jié))等)的第二消息,隨后跟隨那組幀??蛻舳丝梢?基于組的大小來確定處理那組幀所需的時(shí)間,以及在所確定的時(shí)間 過去后繼續(xù)展示。在某些實(shí)現(xiàn)中,幀序列可以涉及音頻流、數(shù)據(jù)流、 圖像流等。視頻流可以包括任意數(shù)量的幀序列,其中每個(gè)序列中的 幀數(shù)量可以彼此相等或不等。因此,其他實(shí)現(xiàn)落入所附權(quán)利要求的 范圍內(nèi)。
權(quán)利要求
1.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括識別并傳輸數(shù)字視頻傳輸中的幀序列,所述幀序列包括初始幀和對應(yīng)于所述初始幀的后續(xù)幀,所述后續(xù)幀包括增量式地更新所述初始幀的數(shù)據(jù);以及在之前發(fā)送了所述數(shù)字媒體傳輸中所述后續(xù)幀中的一個(gè)之后,發(fā)起所述幀序列到新設(shè)備的新傳輸,所述發(fā)起包括生成信息以引起所述新設(shè)備抑制展示所述新傳輸,直到所述初始幀和所述那個(gè)后續(xù)幀以及二者之間的幀已經(jīng)由所述新設(shè)備接收為止,并且將此信息和所述初始幀和所述那個(gè)后續(xù)幀以及二者之間的幀傳輸?shù)剿鲂略O(shè)備。
2. 如權(quán)利要求l的方法,其中傳輸所述信息和所述幀包括 發(fā)送第 一 消息到所述新設(shè)備以抑制展示;將所述初始幀和所述那個(gè)后續(xù)幀以及二者之間的幀發(fā)送到所述 新設(shè)備;以及發(fā)送第二消息到所述新設(shè)備以恢復(fù)展示。
3. 如權(quán)利要求2的方法,進(jìn)一步包括在接收到指示接收到所 述初始幀和所述那個(gè)后續(xù)幀以及二者之間的幀的消息后,發(fā)送所述 第二消息到所述新設(shè)備以恢復(fù)展示。
4. 如權(quán)利要求1的方法,其中所述識別并傳輸序列包括從存儲(chǔ) 介質(zhì)取回幀并將所述幀傳輸至客戶端。
5. 如權(quán)利要求1的方法,其中所述識別并傳輸序列包括從發(fā)布 者接收幀并將所述幀傳輸至客戶端。
6. 如權(quán)利要求5的方法,進(jìn)一步包括響應(yīng)于請求而發(fā)起所述 新傳輸。
7. 如權(quán)利要求6的方法,其中所述請求是從所述新設(shè)備接收的。
8. —種計(jì)算機(jī)程序產(chǎn)品,編碼在計(jì)算機(jī)可讀介質(zhì)上,可操作以 引起數(shù)據(jù)處理裝置執(zhí)行包括下述的操作識別并傳輸數(shù)字^f見頻傳輸中的幀序列,所述幀序列包括初始幀和 對應(yīng)于所述初始幀的后續(xù)幀,所述后續(xù)幀包括增量式地更新所述初始幀的數(shù)據(jù);以及在之前發(fā)送了所述數(shù)字媒體傳輸中所述后續(xù)幀中的 一 個(gè)之后,發(fā) 起所述幀序列到新設(shè)備的新傳輸,所述發(fā)起包括生成信息以引起所 述新設(shè)備抑制展示所述新傳輸,直到所述初始幀和所述那個(gè)后續(xù)幀 以及二者之間的幀已經(jīng)由所述新設(shè)備接收為止,并且將此信息和所 述初始幀和所述那個(gè)后續(xù)幀以及二者之間的幀傳輸?shù)剿鲂略O(shè)備。
9. 如權(quán)利要求8的計(jì)算機(jī)程序產(chǎn)品,其中傳輸所述信息和所述 幀包括發(fā)送第 一 消息到所述新設(shè)備以抑制展示;將所述初始幀和所述那個(gè)后續(xù)幀以及二者之間的幀發(fā)送到所述 新設(shè)備;以及發(fā)送第二消息到所述新設(shè)備以恢復(fù)展示。
10. 如權(quán)利要求9的計(jì)算機(jī)程序產(chǎn)品,所述操作進(jìn)一步包括在 接收到指示接收到所述初始幀和所述那個(gè)后續(xù)幀以及二者之間的幀 的消息后,發(fā)送所述第二消息到所述新設(shè)備以恢復(fù)展示。
11. 如權(quán)利要求8的計(jì)算機(jī)程序產(chǎn)品,其中所述識別并傳輸序列 包括從存儲(chǔ)介質(zhì)取回幀并將所述幀傳輸至客戶端。
12. 如權(quán)利要求8的計(jì)算機(jī)程序產(chǎn)品,其中所述識別并傳輸序列 包括從發(fā)布者接收幀并將所述幀傳輸至客戶端。
13. 如權(quán)利要求12的計(jì)算機(jī)程序產(chǎn)品,所述操作進(jìn)一步包括響應(yīng)于請求而發(fā)起所述新傳輸。
14. 如權(quán)利要求13的計(jì)算機(jī)程序產(chǎn)品,其中所述請求是從所述新設(shè)備接收的。
15. —種系統(tǒng)包4舌發(fā)布者,其被配置以發(fā)布數(shù)字視頻傳輸;以及 流媒體引擎,其被配置以識別并傳輸數(shù)字視頻傳輸中的幀序列,所述幀序列包括初始幀和對應(yīng)于所述初始幀的后續(xù)幀,所述后續(xù)幀包括增量式地更新所述初始幀的數(shù)據(jù);以及在發(fā)送了所述數(shù)字媒體傳輸中所述后續(xù)幀中的一個(gè)之后,發(fā) 起所述幀序列到新設(shè)備的新傳輸,其中所述被配置以發(fā)起所述新傳 輸?shù)囊孢€被配置以生成信息以引起所述新設(shè)備抑制展示所述新傳 輸,直到所述初始幀和所述那個(gè)后續(xù)幀以及二者之間的幀已經(jīng)由所 述新設(shè)備接收為止,并且將此信息和所述初始幀和所述那個(gè)后續(xù)幀 以及二者之間的幀傳輸至lj所述新設(shè)備。
16. 如權(quán)利要求15的系統(tǒng),其中所述被配置以傳輸所述信息和 所述幀的流媒體服務(wù)器被進(jìn) 一 步配置以發(fā)送第 一 消息到所述新設(shè)備以抑制展示;將所述初始幀和所述那個(gè)后續(xù)幀以及二者之間的幀發(fā)送到所述 新設(shè)備;以及發(fā)送第二消息到所述新設(shè)備以恢復(fù)展示。
17. 如權(quán)利要求16的系統(tǒng),所述流媒體引擎進(jìn)一步被配置以在 接收到指示接收到所述初始幀和所述那個(gè)后續(xù)幀以及二者之間的幀 的消息后,發(fā)送所述第二消息到所述新設(shè)備以恢復(fù)展示。
18. 如權(quán)利要求15的系統(tǒng),其中所述進(jìn)一步被配置以識別和傳 輸序列的流媒體引擎被進(jìn)一步配置以從存儲(chǔ)介質(zhì)取回幀,并將所述 幀傳輸至客戶端。
19. 如權(quán)利要求15的系統(tǒng),其中所述進(jìn)一步被配置以識別和傳 輸序列的流媒體引擎被進(jìn) 一 步配置以從發(fā)布者接收幀,并將所述幀 傳輸至客戶端。
20. 如權(quán)利要求19的系統(tǒng),所述流媒體服務(wù)器被進(jìn)一步配置以 響應(yīng)于請求而發(fā)起所述新傳輸。
21. 如權(quán)利要求20的系統(tǒng),其中所述請求是從所述新設(shè)備接收的。
22. 如權(quán)利要求15的系統(tǒng),其中所述發(fā)布者與所述流媒體引擎 集成在一起。
全文摘要
本發(fā)明涉及向設(shè)備傳輸數(shù)字媒體流。用于傳輸數(shù)字媒體流的方法、系統(tǒng)和裝置,包括在介質(zhì)上編碼的計(jì)算機(jī)程序產(chǎn)品。在一個(gè)方面,一種計(jì)算機(jī)實(shí)現(xiàn)的方法包括識別并傳輸數(shù)字視頻傳輸中的幀序列,該幀序列包括初始幀和對應(yīng)于該初始幀的后續(xù)幀,該后續(xù)幀包括增量式地更新該初始幀的數(shù)據(jù),并且在發(fā)送了數(shù)字媒體傳輸中后續(xù)幀中的一個(gè)之后,發(fā)起幀序列到新設(shè)備的新傳輸,該發(fā)起包括生成信息以引起該新設(shè)備抑制展示新傳輸,直到該初始幀和那個(gè)后續(xù)幀以及二者之間的幀已經(jīng)由該新設(shè)備接收為止,并且將該信息和初始幀和那個(gè)后續(xù)幀以及二者之間的幀傳輸?shù)皆撔略O(shè)備。
文檔編號H04N7/173GK101316358SQ20081010980
公開日2008年12月3日 申請日期2008年5月30日 優(yōu)先權(quán)日2007年5月30日
發(fā)明者D·西蒙斯, S·瑪納普拉加達(dá), S·程 申請人:奧多比公司