本公開通常涉及數字媒體,并且更具體地,涉及用于回放的高碼率內容的預測性遞送的系統(tǒng)和方法。
技術實現要素:
本公開可以在一種方法中實施,其包括:從裝置接收用于傳輸媒介內容資產的請求,所述媒介內容資產包括以特定順序布置的多個段,所述多個段中的至少一個為高碼率段;將所述多個段以所述特定順序傳輸至所述裝置;檢測所述高碼率段;以及不按順序,在所述高碼率段之前的一個或更多個段中,將所述高碼率段的數據傳輸至所述裝置。
在本實施例的一個方面中,所述媒介內容資產可進一步包括清單文件。
在本實施例的另一個方面中,該方法可進一步包括檢測傳輸條件。在進一步的方面中,傳輸條件可用于確定高碼率段。
在又另一方面中,不按順序傳輸所述高碼率段的數據可進一步包括:與以所述特定順序較早出現的段同時,傳輸所述高碼率段的數據。
在另一實施例中,本公開可以在一種方法中實施,其包括:請求傳輸媒介內容資產,所述媒介內容資產包括以特定順序布置的多個固定或可變碼率段,所述多個段中的至少一個為高碼率段;接收所述媒介內容資產中即將到來的段的碼率信息;接收以所述特定順序的所述多個段;使用所述碼率信息檢測即將到來的高碼率段;不按順序,請求所述高碼率段的數據;以及不按順序接收請求的所述高碼率段的數據。
在本實施例的一個方面中,所述媒介內容資產可進一步包括與所述多個段中的一個或更多個段相關聯的多個頭,并且所述碼率信息可包含在所述多個頭內。在進一步的方面中,所述多個段中的每個段可包括頭。所述多個段中的每個段可包含針對預定數量的即將到來的段的碼率信息。
在另一方面中,所述媒介內容資產可進一步包括清單文件,并且所述碼率信息可包含在所述清單文件內。
在又另一方面中,不按順序請求所述高碼率段的數據可進一步包括:與以所述特定順序較早出現的段同時,請求所述高碼率段的數據。
本公開還可以在一種包括指令集的計算機可讀介質中實施,所述指令集被配置為命令計算裝置執(zhí)行本文所描述的方法。
附圖說明
附圖僅用于說明目的提供且僅描述典型或示例實施方式。提供這些附圖有助于讀者理解且不應當認為是對本公開的廣度、范圍或適用性的限制。為了清晰且容易說明,這些附圖不一定按比例繪制。
圖1示意性示出一種具有高碼率段的樣本媒介內容資產。
圖2示意性示出一種用于提供圖1的媒介內容資產至接收裝置的智能服務器布置。
圖3A和圖3B示意性示出一種用于提供圖1的媒介內容資產至接收裝置的傳輸過程。
圖4示意性示出一種用于提供圖1的媒介內容資產至接收裝置的智能客戶端布置。
圖5說明樣本計算模塊,其可用于實施本公開的某些特征和實施例。
具體實施方式
本文所提供的公開描述用于高碼率內容的預測性遞送的系統(tǒng)和方法。
現今,網絡遞送的媒介主要經由兩種方法進行遞送:本地下載是一種遞送媒介文件至媒介應用或裝置(即,接收裝置)用于本地存儲和回放的方法,而流式傳輸是一種在不需要長期本地存儲的情況下實時遞送并瀏覽媒介文件的方法。
流式傳輸法允許內容在遞送期間被計算裝置接收并由該計算裝置回放。換句話說,使用計算裝置的用戶可在內容完全被接收之前開始回放內容。例如,用戶可開始觀看一段視頻內容的開始部分或聽一段音頻內容的開始部分,同時仍然正在遞送該內容的中間部分和末尾部分。然而,流式傳輸遞送能夠容易受到網絡帶寬變化、傳輸延遲以及數據包丟失的影響,其能夠負面地影響回放并引發(fā)緩沖問題。
已經引入自適應碼率流式傳輸(ABS)系統(tǒng)來克服網絡遞送中的若干缺點。在ABS中,ABS系統(tǒng)實時檢測傳輸條件。此類傳輸條件可包括多種因素,如,可用帶寬、傳輸延遲、以及傳輸裝置和/或接收裝置的可用CPU和/或動力源?;趥鬏敆l件,流式傳輸多媒介內容的碼率可被相應調整。ABS系統(tǒng)利用以各種碼率的相同內容的多個版本,其對應于變化的質量水平。
通常使用若干ABS方法。在第一方法中,響應于具體傳輸標準,不同質量水平的可流式傳輸的媒介文件的多個版本是可用的,且接收裝置從一個媒介源“跳”到另一個。在第二方法中,基于類似的一組標準,媒介文件在不同質量水平下被編碼之前先被分成較短的段(如,3秒的內容),且然后接收裝置能夠請求在合適碼率下的后續(xù)部分。媒介文件“段”(如本文廣泛討論并理解的)還可稱為“塊”或“部分”。每種方法可進一步利用分層編碼,其中,當基于傳輸條件傳輸附加數據時,越來越高的質量下的漸進式重建是可能的。
在單個媒介內容文件內,可存在媒介內容的段,其請求比用于流式傳輸的其他段更大的碼率。例如,在回放流式傳輸的電影期間,電影回放可在繁重的動作序列(包括特技、爆炸和/或快速的攝影機運動)期間遭遇較低的可視質量。這是因為視頻內容可以利用目標和峰值碼率被轉碼,盡管其對于電影中的大多數場景是充分的,該目標和峰值碼率可能不足以適當地顯示高密度段而不出現塊效應。以下事實使此問題嚴重,即,這些繁重的動作場景中的許多是一段媒介內容內的最重要的場景中的一些,所以相比于在內容的較不重要的段期間的質量降級,在這些高密度場景期間的任何帶寬損失將對用戶觀看體驗產生更大的負面影響。
本公開提供用于高碼率內容的預測性遞送的系統(tǒng)和方法。所公開的系統(tǒng)和方法提供具有更穩(wěn)健信息的自適應碼率流式傳輸系統(tǒng),以允許媒介內容的更智能的預緩存。通過給ABS系統(tǒng)提供更多信息,所公開的系統(tǒng)能夠預見請求更多關注的更高的碼率段,并使用此類信息改善回放體驗。參考附圖公開若干示例性實施例。
圖1示意性示出樣本媒介內容資產20。雖然其他媒介內容資產類型可用且已知,但為了描述使用不連續(xù)示例的本系統(tǒng)和方法,媒介內容資產20將被視為視頻內容資產。媒介內容資產20具有十個段1-10。每個段1-10的垂直高度表示該特定段的碼率。這樣,段1-4、6-8、10具有相同的較低的碼率,而段5和9是高的碼率段。例如,較低的碼率段可以500千比特/秒(kb/sec)被轉碼,而段5可以1000kb/sec被轉碼且段9可以1250kb/sec被轉碼。由于包含在某些段中的高水平的移動和/或細節(jié)請求那些段的附加數據以被清楚地且最優(yōu)的詳細地呈現,那些段可以更高的碼率被轉碼。
應當理解,圖1中所示的段的碼率不是絕對的而是相對于其他段。例如,在ABS系統(tǒng)中,通常存在具有不同質量水平的單個媒介內容資產的多個版本。因此,使用如上所討論的碼率數字,可存在具有從250kb/sec至625kb/sec變化的碼率的低質量版本,和具有從500kb/sec至1250kb/sec變化的碼率的正常質量版本,以及具有從1000kb/sec至2500kb/sec變化的碼率的高質量版本。參考圖2至圖4公開的系統(tǒng)和方法允許用戶以高質量觀看媒介內容資產20的所有段,即使他們的接收裝置的傳輸條件不能適當接收常規(guī)流式傳輸布置中的高碼率段。
圖2示意性示出用于提供媒介內容資產20至接收裝置34的“智能服務器”系統(tǒng)30。圖2中所示的系統(tǒng)30包括內容服務器32和接收裝置34。內容服務器32存儲媒介內容資產20并通過網絡36(如,互聯網)將媒介內容資產20傳輸至接收裝置34,以在接收裝置34上回放。內容服務器32還存儲或以其他方式訪問清單文件38。清單文件38包含媒介內容資產20的碼率信息,其還可稱為“預見性”信息,因為它通知即將到來的段的碼率。包含在清單文件38中的碼率信息可以是用于每個段1-10的碼率信息,或其可包含僅用于“高碼率”段(如,段5和9)的信息或可以允許內容服務器32預測媒介內容資產20的即將到來的碼率要求的任何其他布置。
在圖2中所示的“智能服務器”系統(tǒng)30中,接收裝置34請求特定媒介內容資產20用于回放。內容服務器32接收該請求,并隨后提起所請求的媒介內容資產20和相關清單文件38。當內容服務器32開始將媒介內容資產20傳輸至接收裝置34時,其監(jiān)測至接收裝置34的傳輸條件以確定合適版本的媒介內容資產20以傳輸。例如,如果傳輸條件良好(如,高可用帶寬和計算資源),則高質量版本的資產20被傳輸,使得用戶得到最佳可用觀看體驗。相反,如果傳輸條件較糟(如,低可用帶寬和/或計算資源),則低質量版本的資產20被傳輸。這樣,盡管糟糕的傳輸條件,但用戶仍能夠流式傳輸傳輸條件將允許的最佳版本的媒介資產20。
內容服務器32還檢查清單文件38中的信息以確定是否存在將請求更大碼率的某些段以及是否存在可具有較低碼率使得它們將不請求待利用的所有可用資源的其他段。此過程的表示在圖3A至圖3B中示出。內容服務器32檢測傳輸條件,如可用帶寬40。段1、2、3、4足夠小使得它們將不利用整個可用帶寬40,但段5太大而不能在沒有一些質量退化的情況下被實時傳輸。具有此信息的內容服務器32能夠在段1至段4的傳輸期間利用可用的過量帶寬以傳輸段5的部分(5a、5b、5c),且僅一小部分段5(區(qū)段5d)被剩下以在段5的正常傳輸時間時被發(fā)送。這樣,當段5在接收裝置34上播放時,完整的高碼率段5將已經被充分傳輸且將以高質量播放。接收裝置34可將段5的頭三個部分(5a、5b、5c)存儲在存儲器中,且隨后結合或集成段5的所有部分(5a-5d)用于在段5的時隙期間回放。
示出段6至段9的類似過程,其中,段6至段8不請求完整可用的帶寬40,而段9太大不能被實時傳輸。因此,在傳輸段6、7、8期間內容服務器傳輸段9的部分(部分9a、9b、9c),使得最后剩余的部分9d能夠利用可用帶寬傳輸,且段9能夠被結合/集成并在接收裝置34上全面詳細且清楚地播放。
應當理解,請求順序混亂的預見性傳輸的“高碼率”段的確定可以是客觀考慮(如,具有預定數值以上的碼率的任何段),或其可基于變量,如傳輸條件(如,如果段的碼率接近或超過平均可用帶寬)。進一步地,哪些段被標記為請求附加關注的高碼率段的確定可不基于實際的段碼率,而基于可選擇的質量回放標準。例如,優(yōu)先級設定可用于每個段,使得相比于較不重要的段,更“重要的”段被給定優(yōu)先級用于更高質量的傳輸。在媒介內容資產20中,段1-5實際上可用相同碼率被編碼,而段1-4可以為使得質量的一些退化將不顯著影響觀看者的觀看體驗。相反,段5可請求高碼率以適當捕捉在段中所示的所有細節(jié)。既然如此,段5可以用更高的優(yōu)先級被編碼,使得內容服務器32將看到更高的優(yōu)先級值,并基于受限的可用帶寬將決定以較低碼率傳輸段1-4,使得段5能夠以更高碼率傳輸。這種優(yōu)先級值可由程序或軟件自動確定(如,如果在其中存在大量移動的場景被檢測,則相比于較慢移動的細節(jié)較少的場景,該場景將被賦予更高的優(yōu)先級)或可手動指定(如,通過媒介內容的制造者)。
參考“智能服務器”系統(tǒng)討論圖2、3A、3B中描述的系統(tǒng)和過程。在此類系統(tǒng)中,內容服務器32具有必要信息以決定如何傳輸媒介內容資產20,以便最大化用戶的觀看體驗。在一個替代實施例中,相同的系統(tǒng)和方法可用在“智能客戶端”布置中。在“智能客戶端”布置中,接收裝置34追蹤傳輸條件并利用包含在清單38中的預見性信息確定最優(yōu)傳輸順序。
在此“智能客戶端”布置中,接收裝置34請求內容服務器32以接收特定媒介內容資產用于流式傳輸。當請求媒介內容資產20時,接收裝置34可在本地具有清單文件38,或清單文件38可傳輸至接收裝置34。一旦接收裝置34獲得清單文件38的所有權,則其可基于其確定的最優(yōu)傳輸順序開始請求媒介內容資產20的段。如在圖3B和3C中所示的示例,接收裝置34將看到段1-4將不利用整個可用帶寬40,而段5將請求比可用帶寬更大的帶寬。這樣,接收裝置34將在請求段1的同時請求一部分段5(5a),且然后將在請求段2的同時請求段5的另一部分(5b),等等。該過程類似于參考“智能服務器”系統(tǒng)討論的過程,除了接收裝置34能夠決定最佳傳輸順序并隨后相應地請求某些段或段的部分之外。
圖4提供一種可替代的“智能客戶端”布置的示意性表示。在圖4所示的系統(tǒng)42中,內容服務器32再次存儲具有10個段(包括高碼率段5和9)的媒介內容資產20。然而,替代經由清單文件傳輸包含用于整個媒介內容資產20的預見性碼率信息的“預見性”信息,頭1a-10a包括有段1-10中的每個。這些頭1a-10a包含關于未來段的碼率要求的預見性信息。接收裝置34然后能夠使用在頭1a-10a中的預見性信息以決定傳輸的最佳順序并做出傳輸請求決定。
例如,接收裝置34可發(fā)送傳輸至請求媒介內容資產20的內容服務器32。內容服務器32接收到該請求后傳輸媒介內容資產20的段1,其還包括頭1a。頭1a包括媒介內容資產20中的未來段的碼率信息,使得接收裝置34能夠做出最佳傳輸請求決定。例如,頭1a可包括用于接下來“x”數量的段的碼率信息。如果頭1a包含用于接下來三(3)個段的碼率信息,則已知傳輸條件和可用帶寬40的接收裝置34將看到接下來三(3)個段2、3、4能夠被實時傳輸,并且不需要進行調節(jié)。然而,當段2連同頭2a被傳輸時,接收裝置34將看到段5請求多于可用帶寬,并將開始請求段5的部分早于段3和4被發(fā)送。相反,如果頭1a-10a包含用于接下來五(5)個段的碼率信息,則段1和頭1a一經傳輸接收裝置34就將看到段5的高碼率要求,并立刻開始請求段5的部分。
其他實施方式是可能的。例如,頭1a-10a可指示請求基本上比其他段更多帶寬的接下來的高碼率段。段1-4的頭可全部包含針對段5的碼率信息,使得接收裝置34意識到段5的即將到來的高碼率要求,且段6-8可包含段9的碼率信息等??商娲兀缟纤懻摰?,替代包含碼率信息,頭1a-10a可包含優(yōu)先級信息,使得質量確定能夠基于段優(yōu)先級做出。在此實施例中,段5和9可比其他段具有更高的優(yōu)先級確定,使得當存在過量可用帶寬時,段5和9的部分被較早傳輸。在又另一個實施方式中,頭可僅被間歇提供,而不是利用每個段提供。
應當理解,盡管附圖已經呈現本系統(tǒng)和方法的示例性實施例,但可在不偏離本公開范圍的情況下校正所公開的系統(tǒng)和方法。在更廣泛的意義上,通過為ABS系統(tǒng)提供關于被播放的媒介內容資產的預見性信息,本公開提供允許改善的用戶體驗的系統(tǒng)和方法。ABS系統(tǒng)能夠利用當前傳輸條件信息和/或預見性媒介內容信息確定最佳傳輸順序,使得具有更高碼率或請求最佳觀看的更高碼率的場景能夠被提前計劃并且在該過程中被較早傳輸。
在一個實施例中,其中所公開的系統(tǒng)和方法的組件或模塊通過使用軟件而被整體或部分實施,這些軟件元件能夠被實施以利用能夠執(zhí)行參考其描述的功能的計算或處理模塊操作。在閱讀此說明書之后,如何利用其它計算模塊或架構實施本公開對于本領域技術人員將變得明顯。
如本文所使用的,術語模塊可描述給定的功能單元,其能夠根據一個或更多個實施方式執(zhí)行。如本文所使用的,模塊可利用任何形式的硬件、軟件或其組合被實施。例如,一個或更多個處理器、控制器、ASIC、PLA、PAL、CPLD、FPGA、邏輯組件、軟件程序或其他機構可被實施以建立模塊。在實施中,本文所描述的各種模塊可被實施為離散模塊,或所描述的功能和特征能夠被部分或整體共享在一個或更多個模塊中。換句話說,正如將對閱讀此說明書之后的本領域技術人員明顯的,本文所描述的各種特征和功能可以在任何給定應用中實施,并且能夠以各種組合以及排列在一個或更多個單獨或共享的模塊中實施。即使功能的各種特征或元素可以被單獨描述或要求為單獨的模塊,但本領域技術人員將理解這些特征和功能能夠在一個或更多個公用軟件和硬件元件中共享,并且此類說明不要求或暗示單獨的硬件或軟件組件被用于實施此類特征或功能。
現在參考圖12,計算模塊500可視情況表示例如在臺式電腦、便攜電腦和筆記本電腦;手持式計算裝置(PDA、智能電話、手機、筆記本電腦、平板電腦等);或任何其他類型的專用或通用計算裝置中發(fā)現的計算或處理能力。計算模塊500還可表示給定裝置內實施的或以其他方式可用于給定裝置的計算能力。例如,計算模塊可發(fā)現在其他電子裝置中,如,例如,電視、家庭影院、藍光光盤播放機、DVD播放機、車載娛樂系統(tǒng)、視頻游戲機、視頻下載或流媒體設備、便攜式DVD播放器以及可包括一些形式的處理能力的其他電子裝置。
計算模塊500可包括例如一個或更多個處理器、控制器、控制模塊或其他處理裝置如處理器504??墒褂猛ㄓ没驅S锰幚硪?如,例如,微處理器、控制器或其他控制邏輯)實施處理器504。在所示示例中,處理器504連接到總線502,雖然任何通信媒介能夠用于促進與計算模塊500的其他組件交互或外部通信。
計算模塊500還可包括一個或更多個存儲器模塊,本文簡稱為主存儲器508。存儲器可包括任何非暫時存儲介質。例如,優(yōu)選地,隨機存取存儲器(RAM)或其他動態(tài)存儲器可用于存儲將被處理器504執(zhí)行的信息和指令。主存儲器508還可用于在執(zhí)行由處理器504執(zhí)行的指令期間存儲臨時變量或其他中間信息。計算模塊500同樣可包括只讀存儲器(“ROM”)或其他用于存儲處理器504的靜態(tài)信息和指令的耦合到總線502的靜態(tài)存儲裝置。計算模塊500還可包括一個或更多個各種形式的信息存儲機構510,其可包括例如磁帶驅動器、光盤驅動器、固態(tài)驅動器或任何其他非易失性存儲器。
計算模塊500還可包括通信接口520。通信接口520可用于允許軟件和數據在計算模塊500和外部裝置之間傳輸。通信接口520的示例可包括調制解調器或軟調制解調器、網絡接口(如,以太網、網絡接口卡、WiMedia、IEEE802.XX或其他接口)、通信端口(如,例如,USB端口、IR端口、RS232端口、藍牙接口、或其他端口)、或其他通信接口。經由通信接口520傳輸的軟件和數據通??稍谛盘柹线\載,其能夠為能夠由給定通信接口520交換的電子的、電磁的(包括光學的)或其他信號。這些信號可經由信道525被提供至通信接口520。該信道525可運載信號并可使用有線或無線通信介質被實施。信道的一些示例可包括電話線、蜂窩鏈路、RF鏈路、光鏈路、網絡接口、局域或廣域網、以及其他有線或無線通信信道。
計算模塊500還可包括一個或更多個用戶輸入530。用戶輸入允許用戶輸入命令至計算模塊500并與其交互。用戶輸入的示例可包括計算機鼠標、鍵盤、觸摸屏、觸筆、觸控板、操縱桿、加速計、陀螺儀、照相機、遙控器或任何其他用戶輸入機構。
計算模塊500還可包括一個或更多個用戶輸出接口540。用戶輸出接口540可用于通過呈現信息或感官輸出給用戶來與用戶交互。用戶輸出接口的示例可包括可視化輸出(如,顯示屏或監(jiān)視器)或音頻輸出(如,揚聲器或耳機輸出)。
在此文件中,術語“計算機可讀介質”和“計算機可用介質”通常用來指代媒介,如,例如,存儲器508、存儲單元510和信道525。計算機可讀介質和計算機可用介質的這些以及其他各種形式可涉及將一個或更多個指令的一個或更多個序列輸送到處理裝置以執(zhí)行。在媒介上包含的此類指令通常被稱為“計算機程序代碼”或“計算機程序產品”(其可以計算機程序或其他分類的形式分組)。當被執(zhí)行時,此類指令可使計算模塊500能夠執(zhí)行如本文所討論的本公開的特征和功能。
盡管已經如上描述本公開的各種實施例,但應當理解,它們僅通過示例而非限制的形式呈現。同樣,各種圖表可示出本公開的示例架構或其他配置,其旨在助于理解能夠被包括的特征和功能。本公開不限制于所說明的示例架構或配置,但能夠使用各種可替代的架構和配置實施期望的特征。的確,可替代的功能的、邏輯的或物理的分區(qū)和配置能夠被如何實施以實施期望的特征對本領域技術人員將是明顯的。此外,關于流程圖、操作說明和方法權利要求,本文呈現的步驟的順序不要求被實施的各種實施例以相同順序執(zhí)行所敘述的功能,除非上下文另有指示。因此,本公開的廣度和范圍不應當受任何上述示例性實施例限制。
除非另有明文規(guī)定,在本文件中使用的術語和短語以及其變體應當被理解為是開放式的而非限制性的。如前述示例:術語“包括”應當理解為意味“包括而不限于”等;術語“示例”用來提供所討論的項目的示例性事例,而非其詳盡的或限制列表;術語“一個(a或an)”應當理解為意味“至少一個”、“一個或更多個”等;以及形容詞,如“常規(guī)的”、“傳統(tǒng)的”、“正常的”、“標準的”、“已知的”以及類似意思的術語不應當理解為將所描述的項目限制到給定時間段或限制到可用于給定時間的項目,而是相反應當理解為包含可以為現在或者未來任何時間是可用的或已知的常規(guī)的、傳統(tǒng)的、正常的或標準的技術。同樣,其中,該文件指代對本領域技術人員將是明顯的或已知的技術,此類技術包含現在或者未來任何時間對本領域技術人員是明顯的或已知的技術。
雖然僅參考當前的優(yōu)選實施例呈現了本公開,但是本領域技術人員將了解到在不偏離本公開的情況下,能夠進行各種修改。這樣,僅通過隨附權利要求和所述的限制限定本公開。