国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      使用可伸縮編碼的增強型塊請求流送的制作方法

      文檔序號:7913722閱讀:173來源:國知局
      專利名稱:使用可伸縮編碼的增強型塊請求流送的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及改善的媒體流送系統(tǒng)和方法,尤其涉及自適應(yīng)于網(wǎng)絡(luò)和緩沖條件以使流送媒體的呈現(xiàn)最優(yōu)化并允許對流送媒體數(shù)據(jù)進行高效的并發(fā)或時間分布式投遞的系統(tǒng)和方法。
      背景技術(shù)
      流送媒體投遞可能變得日益重要,因為在諸如因特網(wǎng)、蜂窩和無線網(wǎng)絡(luò)、輸電線網(wǎng)絡(luò)、以及其他類型的網(wǎng)絡(luò)之類的基于分組的網(wǎng)絡(luò)上投遞高質(zhì)量音頻和視頻變得越來越常見。所投遞的流送媒體能被呈現(xiàn)出的質(zhì)量可取決于數(shù)種因素,包括原始內(nèi)容的分辨率(或其他屬性)、原始內(nèi)容的編碼質(zhì)量、接收設(shè)備解碼和呈現(xiàn)媒體的能力、在接收機處接收到的信號的及時性和質(zhì)量等。為了產(chǎn)生感知到的良好的流送媒體體驗,在接收機處接收到的信號的傳輸和及時性可能尤其重要。良好的傳輸可以提供在接收機處接收到的流相對于發(fā)送方發(fā)送的流的保真度,而及時性可以代表接收機在初始請求內(nèi)容之后多快就能開始播出該內(nèi)容。媒體投遞系統(tǒng)可表征為具有媒體源、媒體目的地、以及將源和目的地分開的(時間和/或空間上的)信道的系統(tǒng)。典型地,源包括能訪問可電子地管理的形式的媒體的發(fā)射機、以及有能力電子地控制對媒體(或其近似物)的接收并將其提供給媒體消費者(例如,具有以某種方式耦合到該接收機、存儲設(shè)備或元件、另一信道等的顯示設(shè)備的用戶)的接收機。雖然有許多變型是可能的,但在常見的示例中,媒體投遞系統(tǒng)具有能訪問電子形式的媒體內(nèi)容的一個或更多個服務(wù)器,并且一個或更多個客戶端系統(tǒng)或設(shè)備向服務(wù)器作出對媒體的請求,而服務(wù)器使用作為該服務(wù)器的一部分的向客戶端處的接收機進行傳送的發(fā)射機來輸送該媒體,從而收到的媒體能由該客戶端以某種方式消費。在簡單的示例中,對于給定的請求和響應(yīng)而言有一個服務(wù)器和一個客戶端,但并非必需如此。按傳統(tǒng),媒體投遞系統(tǒng)可表征為“下載”模型或“流送”模型?!跋螺d”模型可由媒體數(shù)據(jù)的投遞與該媒體向用戶或接收方設(shè)備的播出之間的時基獨立性來表征。作為示例,媒體在被需要或?qū)⒈皇褂弥氨幌螺d得足夠多,并且在該媒體被使用時,在接收方處已有所需那么多的媒體可用。在下載的上下文中的投遞往往是使用諸如 HTTP、FTP或單向傳輸上的文件投遞(FLUTE)之類的文件傳輸協(xié)議來執(zhí)行的,且投遞速率可由下層的流量和/或擁塞控制協(xié)議(諸如TCP/IP)來決定。該流量或擁塞控制協(xié)議的操作可獨立于媒體向用戶或目的地設(shè)備的播出,而播出可與下載并發(fā)地發(fā)生或在其他某個時間發(fā)生。“流送”模式可由媒體數(shù)據(jù)的投遞與該媒體向用戶或接收方設(shè)備的播出的時基之間的緊耦合來表征。在該上下文中的投遞往往是使用流送協(xié)議來執(zhí)行的,諸如用于控制的實時流送協(xié)議(RTSP)和用于媒體數(shù)據(jù)的實時傳輸協(xié)議(RTP)。投遞速率可由流送服務(wù)器決定,通常與數(shù)據(jù)的播出速率匹配?!跋螺d”模型的一些缺點可能在于,由于投遞與播出之間的時基獨立性,要么在需要媒體數(shù)據(jù)供播出時該媒體數(shù)據(jù)可能不可用(例如,由于可用帶寬小于媒體數(shù)據(jù)率),導致播出暫時停止(“停滯”),而這造成不良的用戶體驗;要么可能要求提前在播出之前很久就下載媒體數(shù)據(jù)(例如,由于可用帶寬大于媒體數(shù)據(jù)率),從而消費掉接收設(shè)備上可能稀缺的存儲資源,并且消費寶貴的網(wǎng)絡(luò)資源進行投遞,而這在內(nèi)容最終沒有被播出或以其他方式使用的情況下會被浪費掉?!跋螺d”模型的優(yōu)點可在于執(zhí)行此類下載所需的技術(shù)(例如,HTTP)非常成熟、被廣泛部署且全面適用于很廣范圍的應(yīng)用。用于實現(xiàn)此類文件下載的大規(guī)??缮炜s性的下載服務(wù)器和解決方案(例如,HTTP Web服務(wù)器和內(nèi)容投遞網(wǎng)絡(luò))可能是現(xiàn)成可用的,從而使得基于該技術(shù)的服務(wù)部署簡單且成本低廉。“流送”模型的一些缺點可能在于,一般而言,媒體數(shù)據(jù)的投遞速率并不適配于從服務(wù)器到客戶端的連接上的可用帶寬,且需要提供帶寬和延遲擔保的專門的流送服務(wù)器或更復雜的網(wǎng)絡(luò)架構(gòu)。盡管存在支持根據(jù)可用帶寬來變化投遞數(shù)據(jù)率的流送系統(tǒng)(例如, Adobe Flash自適應(yīng)流送),但是這些系統(tǒng)在利用所有可用帶寬方面一般不如諸如TCP之類的下載傳輸流量控制協(xié)議那么高效。最近,已開發(fā)和部署了基于“流送”和“下載”模型的組合的新型媒體投遞系統(tǒng)。此類模型的示例在本文中被稱為“塊請求流送”模型,其中媒體客戶端使用諸如HTTP之類的下載協(xié)議來向服務(wù)基礎(chǔ)設(shè)施請求媒體數(shù)據(jù)塊。此類系統(tǒng)中的關(guān)注點可能是開始播出流的能力,例如使用個人計算機來解碼和渲染收到的音頻和視頻流并在計算機屏幕上顯示該視頻以及通過內(nèi)置揚聲器來播放該音頻,或者作為另一示例,使用機頂盒來解碼和渲染收到的音頻和視頻流并在電視顯示設(shè)備上顯示該視頻以及通過立體聲系統(tǒng)來播放該音頻。諸如能夠足夠快地解碼源塊以跟上源流送速率、使解碼等待時間最小化以及減少對可用CPU資源的使用之類的其他關(guān)注點也是問題所在。另一關(guān)注點是提供穩(wěn)健和可伸縮的流送投遞解決方案,其允許系統(tǒng)的組件發(fā)生故障而不會不利地影響投遞給接收機的流的質(zhì)量?;谠诔尸F(xiàn)正被分發(fā)時關(guān)于該呈現(xiàn)的快速改變的信息,可能發(fā)生其他問題。因此,希望具有改善的過程和裝置。發(fā)明簡要概述一種塊請求流送系統(tǒng)典型地使用攝取系統(tǒng)來提供此類系統(tǒng)的用戶體驗和帶寬效率的改善,該攝取系統(tǒng)生成將由常規(guī)文件服務(wù)器(例如,HTTP、FTP或類似服務(wù)器)供應(yīng)的形式的數(shù)據(jù),其中該攝取系統(tǒng)攝入內(nèi)容并將其制備為將由可包括或可不包括高速緩存的該文件服務(wù)器來供應(yīng)的文件或數(shù)據(jù)元素??蛻舳嗽O(shè)備可適配成利用攝取過程并且包括促成獨立于該攝取過程的更好呈現(xiàn)的改進。文件或數(shù)據(jù)元素被組織成作為單位傳送和解碼的塊, 并且該系統(tǒng)被配置成提供和消費可伸縮塊以使得呈現(xiàn)的質(zhì)量隨著該塊中有更多部分被下載而提高。在一些實施例中,提供了對用于編碼和解碼具有多個獨立可縮放性層的塊的方法的新穎改進。以下詳細描述連同附圖將提供對本發(fā)明的本質(zhì)和優(yōu)點的更好理解。附圖簡述

      圖1描繪了根據(jù)本發(fā)明的實施例的塊請求流送系統(tǒng)的元素。圖2解說圖1的塊請求流送系統(tǒng),示出了耦合到塊供應(yīng)基礎(chǔ)設(shè)施(“BSI”)以接收由內(nèi)容攝取系統(tǒng)處理的數(shù)據(jù)的客戶端系統(tǒng)的元素中的更多細節(jié)。圖3解說了攝取系統(tǒng)的硬件/軟件實現(xiàn)。圖4解說了客戶端系統(tǒng)的硬件/軟件實現(xiàn)。圖5解說了圖1中所示的內(nèi)容存儲的可能結(jié)構(gòu),包括段和媒體呈現(xiàn)描述符(“MPD”) 文件,以及MPD文件內(nèi)的段分解、時基和其他結(jié)構(gòu)。圖6解說了如可存儲在圖1和5中解說的內(nèi)容存儲中的典型源段的細節(jié)。圖7a和7b解說了文件內(nèi)的簡單索引和階層式索引。圖8 (a)解說了在媒體流的多個版本上具有對準的查找點的可變塊大小控制。圖8(b)解說了在媒體流的多個版本上具有非對準的查找點的可變塊大小控制。圖9 (a)解說了元數(shù)據(jù)表。圖9 (b)解說了從服務(wù)器向客戶端傳輸塊和元數(shù)據(jù)表。
      圖10解說了獨立于RAP邊界的塊。圖11解說了跨段的連續(xù)時基和不連續(xù)時基。圖12是示出可伸縮塊的一方面的圖。圖13描繪了塊請求流送系統(tǒng)內(nèi)的某些變量隨時間演進的圖形表示。圖14描繪了塊請求流送系統(tǒng)內(nèi)的某些變量隨時間演進的另一圖形表示。圖15描述了作為閾值的函數(shù)的狀態(tài)的單元柵格。圖16是可在接收機中執(zhí)行的每請求能請求單個塊以及多個塊的過程的流程圖。圖17是靈活管線過程的流程圖。圖18解說了在某個時間的一組候選請求、其優(yōu)先級、以及在哪些連接上能發(fā)出這些請求的示例。圖19解說了已隨時間變遷而演進的一組候選請求、其優(yōu)先級、以及在哪些連接上能發(fā)出這些請求的示例。圖20是基于文件標識符的一致性高速緩存服務(wù)器代理選擇的流程圖。圖21解說了對合適的表達式語言的句法定義。圖22解說了合適的散列函數(shù)的示例。圖23解說了文件標識符構(gòu)造規(guī)則的示例。圖M(a)_(e)解說了 TCP連接的帶寬波動。圖25解說了對源數(shù)據(jù)和修復數(shù)據(jù)的多個HTTP請求。圖沈解說了帶FEC和不帶FEC的示例頻道換臺時間。圖27解說了作為圖1中所示的攝取系統(tǒng)一部分的從源段和控制參數(shù)生成修復段的修復段生成器的詳情。圖觀解說了源塊與修復塊之間的關(guān)系。圖四解說了在客戶端處不同時間的實況服務(wù)的規(guī)程。在附圖中,相似的項目用相似的標號來引述且在括號中提供副標以指示相似或相同項目的多個實例。除非另行指出,否則最后的副標(例如,“N”或“M”)并非意在限定于任何特定值,且一個項目的實例數(shù)目可與另一項目的實例數(shù)目不同,即使在解說了相同的標號且重復使用了副標時亦然。發(fā)明詳細描述如本文中所描述的,流送系統(tǒng)的目標是將媒體從其存儲位置(或正生成該媒體的位置)移到正消費該媒體的位置,即呈現(xiàn)給用戶或以其他方式被人類或電子消費者“用盡”。理想情況下,流送系統(tǒng)可在接收端提供不間斷的回放(或更一般而言,不間斷的“消費”),且在用戶請求了流或流集合之后不久就能開始播放這個或這些流。出于效率原因,還希望每個流在一旦用戶指示不再需要該流時,諸如當用戶正從一個流切換到另一個流或者其服從例如“字幕”流之類的流的呈現(xiàn)時就被停下。若諸如視頻之類的媒體分量繼續(xù)被呈現(xiàn),但選擇了不同的流來呈現(xiàn)該媒體分量,則往往優(yōu)選令新的流占用有限的帶寬并停止舊的流。根據(jù)本文中描述的實施例的塊請求流送系統(tǒng)提供許多益處。應(yīng)理解,可行的系統(tǒng)無需包括本文中描述的所有特征,因為一些應(yīng)用可用不足本文中描述的特征全體的特征來提供令人滿意程度適宜的體驗。
      HTTP 流送HTTP流送是一種具體的流送類型。在HTTP流送下,源可以是標準web服務(wù)器和內(nèi)容投遞網(wǎng)絡(luò)(CDN)并且可使用標準HTTP。該技術(shù)可涉及流分段以及使用多個流,所有這些皆落在標準化HTTP請求的上下文中。諸如視頻之類的媒體可以用多個比特率來編碼以構(gòu)成不同的版本或表示。術(shù)語“版本”和“表示”在本文中同義地使用。每個版本或表示可被分解成較小的片以構(gòu)成段,片可能在幾秒的量級。每個段隨后可作為單獨的文件被存儲在 web服務(wù)器或⑶N上。在客戶端一側(cè),隨后可使用HTTP作出對個體段的請求,這些個體段由客戶端無縫地拼接在一起。客戶端可基于可用帶寬切換到不同的數(shù)據(jù)率??蛻舳诉€可請求多個表示, 每個表示呈現(xiàn)不同的媒體分量,并且可聯(lián)合且同步地呈現(xiàn)這些表示中的媒體。切換的觸發(fā)可包括例如緩沖器占用率和網(wǎng)絡(luò)測量。當在穩(wěn)態(tài)下操作時,客戶端可調(diào)整向服務(wù)器請求的步調(diào)以維持目標緩沖器占用率。HTTP流送的優(yōu)點可包括比特率自適應(yīng)、快速啟動和查找、以及最小程度的不必要投遞。這些優(yōu)點源于將投遞控制成僅比播出提前很短時間、對可用帶寬作出最大程度的使用(通過可變比特率媒體)、以及優(yōu)化流分段和智能客戶端規(guī)程。媒體呈現(xiàn)描述可被提供給HTTP流送客戶端,以使得客戶端能使用文件(例如以 3GPP規(guī)定的格式,在本文中稱為3gp段)的集合來向用戶提供流送服務(wù)。媒體呈現(xiàn)描述以及可能還有該媒體呈現(xiàn)描述的更新描述了實為結(jié)構(gòu)化的段集合的媒體呈現(xiàn),每個段包含媒體分量以使得客戶端能以同步方式呈現(xiàn)所包括的媒體并且能提供高級特征,諸如查找、切換比特率、以及聯(lián)合呈現(xiàn)不同表示中的媒體分量??蛻舳丝砂床煌绞绞褂妹襟w呈現(xiàn)描述信息來得到服務(wù)的供給。具體而言,根據(jù)媒體呈現(xiàn)描述,HTTP流送客戶端可確定能訪問該集合中的哪些段,從而流送服務(wù)內(nèi)的數(shù)據(jù)對于客戶端能力以及用戶而言是有用的。在一些實施例中,媒體呈現(xiàn)描述可以是靜態(tài)的,但段可以是動態(tài)地創(chuàng)建的。媒體呈現(xiàn)描述可以盡可能緊湊以使該服務(wù)的訪問和下載時間最小化。其他專用服務(wù)器連通性可被最小化,例如客戶端與服務(wù)器之間常規(guī)或頻繁的時基同步??梢詫⒚襟w呈現(xiàn)構(gòu)造成允許被具有不同能力——諸如接入不同的接入網(wǎng)類型、不同的當前網(wǎng)絡(luò)條件、顯示器大小、訪問比特率和編解碼器支持——的終端訪問??蛻舳穗S后可提取恰適的信息以向用戶提供流送服務(wù)。媒體呈現(xiàn)描述還可根據(jù)要求允許部署靈活性以及緊湊性。在最簡單的情形中,每個替換表示可被存儲在單個3GP文件中,即遵照如3GPP TS26. 244中的定義的文件、或遵照如IS0/IEC 14496-12或衍生規(guī)范中定義的ISO基媒體文件格式(諸如3GPP技術(shù)規(guī)范26. 244中描述的3GP文件格式)的任何其他文件。在本文檔的其余部分中,在引述3GP文件時,應(yīng)理解IS0/IEC 14496-12和衍生規(guī)范可將所有所描述的特征映射到如IS0/IEC14496-12或任何衍生規(guī)范中定義的更一般性的ISO基媒體文件格式。客戶端隨后可請求文件的初始部分以獲悉媒體元數(shù)據(jù)(其典型地被存儲在也被稱為 “moov”包的電影頭部包中)連同電影片斷時間和字節(jié)偏移量??蛻舳穗S后可發(fā)出HTTP部分獲取請求以獲得所要求的電影片斷。在一些實施例中,可能希望將每個表示拆分成若干段,其中這些段。在段格式基于 3GP文件格式的情形中,則段包含電影片斷的非交迭時間片,稱為“按時間拆分”。這些段中
      7的每一個可包含多個電影片斷且每個段本身可以是有效3GP文件。在另一實施例中,表示被拆分成包含元數(shù)據(jù)的初始段(典型情況下為電影頭部“moov”包)以及一組媒體段,每個媒體段包含媒體數(shù)據(jù),并且初始段與任何媒體段的級聯(lián)構(gòu)成有效的3GP文件,而且一個表示的初始段和所有媒體段的級聯(lián)也構(gòu)成有效的3GP文件。通過依次播出每個段、根據(jù)每個表示的起始時間將文件內(nèi)的局部時戳映射到全局呈現(xiàn)時間便可構(gòu)成整個呈現(xiàn)。應(yīng)注意,貫穿本說明書對“段”的引述應(yīng)被理解為包括作為文件下載協(xié)議請求(包括例如HTTP請求)的結(jié)果完全或部分地從存儲介質(zhì)構(gòu)造或讀取或者以其他方式獲得的任何數(shù)據(jù)對象。例如,在HTTP的情形中,數(shù)據(jù)對象可被存儲在駐留于連接到HTTP服務(wù)器或構(gòu)成HTTP服務(wù)器一部分的盤或其他存儲介質(zhì)上的實際文件中,或者數(shù)據(jù)對象可由響應(yīng)于 HTTP請求而執(zhí)行的CGI腳本或其他動態(tài)地執(zhí)行的程序來構(gòu)造。除非另行指出,否則術(shù)語“文件”和“段”在本文中同義地使用。在HTTP的情形中,段可被視為HTTP請求響應(yīng)的實體主體。術(shù)語“呈現(xiàn)”和“內(nèi)容項”在本文中同義地使用。在許多示例中,呈現(xiàn)是具有定義的“播出”時間的音頻、視頻或其他媒體呈現(xiàn),但其他變型也是可能的。除非另行指出,否則術(shù)語“塊”和“片斷”在本文中同義地使用且一般指代有索引的最小的數(shù)據(jù)聚集?;诳捎玫乃饕ǎ蛻舳丝稍诓煌腍TTP請求中請求片斷的不同部分,或者可在一個HTTP請求中請求一個或更多個連貫片斷或片斷部分。在其中使用基于 ISO基媒體文件格式的段或基于3GP文件格式的段的情形中,片斷典型地指代定義為電影片斷頭部(‘moof’ )包和媒體數(shù)據(jù)(‘mdat’ )包的組合的電影片斷。在本文中,為了簡化本文中的描述而假定攜帶數(shù)據(jù)的網(wǎng)絡(luò)是基于分組的,在閱讀本公開之后應(yīng)認識到,本領(lǐng)域技術(shù)人員能將本文中描述的本發(fā)明的實施例應(yīng)用于其他類型的傳輸網(wǎng)絡(luò),諸如連續(xù)比特流網(wǎng)絡(luò)。在本文中,為了簡化本文中的描述而假定由FEC碼提供對抗數(shù)據(jù)投遞時間長且可變這一問題的保護,在閱讀本公開之后應(yīng)認識到,本領(lǐng)域技術(shù)人員能將本發(fā)明的實施例應(yīng)用于其他類型的數(shù)據(jù)傳輸問題,諸如數(shù)據(jù)的比特翻轉(zhuǎn)訛誤。例如,在沒有FEC的情況下,若所請求片斷的最后部分比該片斷的先前部分晚到很久或者其抵達時間有很大變動,則內(nèi)容換臺時間可能是長且可變的,而在使用FEC和并行請求的情況下,僅需要針對片斷所請求的數(shù)據(jù)的大半抵達后就能恢復該片斷,藉此減少了內(nèi)容換臺時間以及內(nèi)容換臺時間上的可變性。在本描述中,可假定待編碼數(shù)據(jù)(即,源數(shù)據(jù))已被分解成可以具有有任何長度(小至單個比特)的等長“碼元”,但對于數(shù)據(jù)的不同部分而言,碼元可以具有不同長度,例如, 可對不同的數(shù)據(jù)塊使用不同的碼元大小。在本描述中,為了簡化本文中的描述,假定每次向數(shù)據(jù)“塊”或“片斷”應(yīng)用FEC,即 “塊”是用于FEC編碼和解碼目的的“源塊”??蛻舳嗽O(shè)備可使用本文中描述的段索引法來幫助確定段的源塊結(jié)構(gòu)。本領(lǐng)域技術(shù)人員可將本發(fā)明的實施例應(yīng)用于其他類型的源塊結(jié)構(gòu), 例如源塊可以是片斷的一部分,或者可涵蓋一個或更多個片斷或片斷部分。考慮與塊請求流送聯(lián)用的FEC碼典型情況下是系統(tǒng)FEC碼,即源塊的源碼元可作為該源塊的編碼的一部分被包括,并且因此源碼元被傳送。如本領(lǐng)域技術(shù)人員將認識到的, 本文中描述的實施例也等同地適用于非系統(tǒng)的FEC碼。系統(tǒng)FEC編碼器從由源碼元構(gòu)成的源塊生成一定數(shù)目的修復碼元,且源碼元和修復碼元中的至少一些的組合便是在信道上發(fā)送的表示源塊的經(jīng)編碼碼元。一些FEC碼對于高效地生成如所需的那么多的修復碼元而言可能是有用的,諸如“信息加性碼”或“噴泉碼”,且這些碼的示例包括“鏈式反應(yīng)碼”和“多級鏈式反應(yīng)碼”。諸如Reed-Solomon碼之類的其他FEC碼可能實際上僅為每個源塊生成有限數(shù)目的修復碼元。在這些示例中的許多示例中假定客戶端耦合到媒體服務(wù)器或多個媒體服務(wù)器,且客戶端在信道或多個信道上向該媒體服務(wù)器或該多個媒體服務(wù)器請求流送媒體。然而,更復雜的安排也是可能的。益處示例通過塊請求流送,媒體客戶端維護這些塊請求的時基與向用戶進行媒體播出的時基之間的耦合。該模型可留存以上描述的“下載”模型的優(yōu)點,同時避免源于媒體播出與媒體投遞之間通常為解耦的一些缺點。該塊請求流送模型利用諸如TCP之類的傳輸協(xié)議中可用的速率和擁塞控制機制來確保最大可用帶寬被用于媒體數(shù)據(jù)。另外,將媒體呈現(xiàn)分成塊允許從一組多種可用編碼中選擇每個經(jīng)編碼媒體數(shù)據(jù)塊。該選擇可基于任何數(shù)目個準則,包括媒體數(shù)據(jù)率與可用帶寬的匹配——即使在可用帶寬隨時間改變時亦然,媒體分辨率或解碼復雜性與客戶端能力或配置的匹配,或者與諸如語言之類的用戶偏好的匹配。該選擇還可包括對輔助分量的下載和呈現(xiàn),諸如可訪問性分量、隱藏字幕、字幕、手語視頻等。使用塊請求流送模型的現(xiàn)有系統(tǒng)的示例包括移動網(wǎng)絡(luò)(Move Network )、微軟流暢流送(Microsoft Smooth Streaming)以及蘋果 iPhone 流送協(xié)議。通常,每個媒體數(shù)據(jù)塊可作為個體文件存儲在服務(wù)器上,且隨后使用諸如HTTP之類的協(xié)議協(xié)同在服務(wù)器上執(zhí)行的HTTP服務(wù)器軟件將該文件作為單位來請求。典型地,向客戶端提供元數(shù)據(jù)文件,元數(shù)據(jù)文件例如可以為可擴展標記語言(XML)格式或播放列表文本格式或二進制格式,元數(shù)據(jù)文件描述了在本文檔中通常稱為“表示”的媒體呈現(xiàn)的特征, 諸如可用編碼(例如,要求的帶寬、分辨率、編碼參數(shù)、媒體類型、語言),以及將編碼劃分成塊的方式。例如,元數(shù)據(jù)可包括每個塊的統(tǒng)一資源定位符(URL)。URL本身可提供諸如以串“http://”來前綴以指示將用于訪問此記載的資源的協(xié)議是HTTP的方案。另一示例是 “ftp://”以指示將使用的協(xié)議是FTP。在其他系統(tǒng)中,例如可由服務(wù)器響應(yīng)于來自客戶端的以時間指示媒體呈現(xiàn)中被請求的部分的請求“在運行中”構(gòu)造媒體塊。例如,在使用方案“http://”的HTTP情形中,對該URL的請求的執(zhí)行提供請求響應(yīng),在該請求響應(yīng)的實體主體中包含一些特定數(shù)據(jù)。在網(wǎng)絡(luò)中關(guān)于如何生成該請求響應(yīng)的實現(xiàn)可能是十分不同的,這取決于服務(wù)此類請求的服務(wù)器的實現(xiàn)。典型地,每個塊可以是能獨立解碼的。例如,在視頻媒體的情形中,每個塊可始于 “查找點”。在一些編碼方案中,查找點被稱為“隨機訪問點”或即“RAP”,盡管并非所有RAP 都會被指定為查找點。類似地,在其他編碼方案中,查找點在H. 264視頻編碼的情形中始于 “獨立數(shù)據(jù)刷新”巾貞或即“IDR”,盡管并非所有IDR都會被指定為查找點。查找點是視頻(或其他)媒體中解碼器不需要關(guān)于先前幀或數(shù)據(jù)或樣本的任何數(shù)據(jù)就能開始解碼的位置,而正被解碼的幀或樣本不是以自立方式而是例如作為當前幀與先前幀之間的差異來編碼的情形可能就是需要關(guān)于先前幀或數(shù)據(jù)或樣本的數(shù)據(jù)的情形。
      此類系統(tǒng)中的關(guān)注點可能是開始播出流的能力,例如使用個人計算機來解碼和渲染收到的音頻和視頻流并在計算機屏幕上顯示該視頻以及通過內(nèi)置揚聲器播放該音頻,或者作為另一示例,使用機頂盒來解碼和渲染收到的音頻和視頻流并在電視顯示設(shè)備上顯示該視頻以及通過立體聲系統(tǒng)播放該音頻。主要關(guān)注點可能是使在用戶決定觀看作為流來投遞的新內(nèi)容并采取表達該決定的行動(例如,用戶點擊瀏覽器窗口內(nèi)的鏈接或遙控設(shè)備上的播放按鈕)的時間與內(nèi)容開始在用戶的屏幕上播放的時間之間的延遲(下文中稱為“內(nèi)容換臺時間”)最小化。這些關(guān)注點中的每一個均可由本文中描述的增強型系統(tǒng)的元素來解決。內(nèi)容換臺的示例是用戶正觀看經(jīng)由第一流來投遞的第一內(nèi)容,并且隨后該用戶決定觀看經(jīng)由第二流來投遞的第二內(nèi)容并發(fā)起開始觀看第二內(nèi)容的行動。第二流可以是從與第一流相同或不同的一組服務(wù)器發(fā)送的。內(nèi)容換臺的另一示例是用戶正訪問網(wǎng)站并通過點擊瀏覽器窗口內(nèi)的鏈接來決定開始觀看經(jīng)由第一流投遞的第一內(nèi)容。以類似方式,用戶可能決定并非從頭,而是從流內(nèi)的某個時間開始播放內(nèi)容。用戶指示其客戶端設(shè)備查找時間位置并且用戶可能期望所選擇的時間被立刻渲染。使內(nèi)容換臺時間最小化對于視頻觀看而言是重要的,其允許用戶在搜索和取樣很廣范圍的可用內(nèi)容時獲得高質(zhì)量的快速內(nèi)容沖浪體驗。近期,考慮使用前向糾錯(FEC)碼在傳輸期間保護流送媒體已成為慣例。當在分組網(wǎng)絡(luò)(其示例包括因特網(wǎng)和諸如由諸如3GPP、3GPP2和DVB之類的群體標準化的那些無線網(wǎng)絡(luò))上發(fā)送時,源流在被生成或變?yōu)榭捎脮r被放入分組中,且因此這些分組可用來將源或內(nèi)容流按其被生成或變?yōu)榭捎玫拇涡驍y至接收機。在向這些類型的場景應(yīng)用FEC碼的典型情形中,編碼器可使用FEC碼來創(chuàng)建修復分組,隨后將這些修復分組作為包含源流的原始源分組的補充來發(fā)送。修復分組具有以下性質(zhì)當發(fā)生源分組丟失時,可使用接收到的修復分組來恢復丟失的源分組中包含的數(shù)據(jù)。 修復分組可被用來恢復完全丟失的丟失源分組的內(nèi)容,但也可被用來從部分分組丟失中恢復,這些恢復或者是從完全接收到的修復分組或者甚至是從部分接收到的修復分組來進行的。因此,可以使用整體或部分接收到的修復分組來恢復整體或部分丟失的源分組。在其他示例中,所發(fā)送的數(shù)據(jù)可能發(fā)生其他類型的訛誤,例如比特值可能翻轉(zhuǎn),并且因此修復分組可被用來糾正此類訛誤并提供對源分組盡可能準確的恢復。在其他示例中,源流不一定以分立的分組來發(fā)送,而是可代之以例如作為連續(xù)比特流來發(fā)送。存在可用于提供對源流的保護的FEC碼的許多示例。Reed-Solomon碼是公知的用于在通信系統(tǒng)中進行差錯和擦除糾正的碼。對于例如分組數(shù)據(jù)網(wǎng)絡(luò)上的擦除糾正, Reed-Solomon 碼的公知高效實現(xiàn)使用如在 L. Rizzo 的 “Effective Erasure Codes for Reliable Computer Communication Protocols (用于可靠的計算機通信協(xié)議的有效擦除碼)”,計算機通信評論27 O):對-36(1997年4月)(下文稱為“Rizzo”)以及Bloemer等人的“An XOR-Based Erasure-Resilient Coding Scheme (基于異或的擦除回彈編碼方案)”, 技術(shù)報告TR-95-48,國際計算機科學協(xié)會,加利福尼亞州伯克利市(1995年)(下文稱為 "XOR-Reed-Solomon")中或別處描述的柯西(Cauchy)或范德蒙(Vandermonde)矩陣。FEC碼的其他示例包括LDPC碼、諸如Luby I中描述的那些之類的鏈式反應(yīng)碼、以及諸如Siokrollahi I中的多級鏈式反應(yīng)碼。
      用于Reed-Solomon碼的變體的FEC解碼過程的示例在Rizzo和 XOR-Reed-Solomon中描述。在那些示例中,解碼可在已接收到充分的源數(shù)據(jù)分組和修復數(shù)據(jù)分組之后應(yīng)用。解碼過程可能是計算密集的,且取決于可用的CPU資源,解碼過程可能要花費與塊中的媒體所跨越的時間長度成比例的相當多的時間來完成。接收機在演算開始接收媒體流與播出該媒體之間所需的延遲時可以計及解碼所需的該時間長度。由于解碼造成的該延遲被用戶感知為其對特定媒體流的請求與開始回放之間的延遲。因此希望使該延遲最小化。在許多應(yīng)用中,分組可被進一步細分成對其應(yīng)用FEC過程的碼元。分組可包含一個或更多個碼元(或者不足一個碼元,但通常碼元不會被跨分組群拆分,除非已知分組群之間的差錯條件是高度相關(guān)的)。碼元可具有任何大小,但碼元的大小往往至多等于分組的大小。源碼元是編碼要傳送的數(shù)據(jù)的那些碼元。修復碼元是直接或間接地從源碼元生成的作為源碼元的補充的碼元(即,若全部源碼元都可用且沒有任何修復碼元可用,也能完全恢復出要傳送的數(shù)據(jù))。一些FEC碼可以是基于塊的,因為編碼操作取決于塊中的碼元并且可獨立于不在該塊中的碼元。通過基于塊的編碼,F(xiàn)EC編碼器可從塊中的源碼元生成該塊的修復碼元,隨后繼續(xù)前往下一個塊且無需參考除了正被編碼的當前塊的源碼元以外的其他源碼元。在傳輸中,包括源碼元的源塊可由包括經(jīng)編碼碼元(其可以是一些源碼元、一些修復碼元或兩者)的經(jīng)編碼塊來表示。在存在修復碼元的情況下,在每個經(jīng)編碼塊中,并非所有源碼元都是需要的。對于一些FEC碼,特別是Reed-Solomon碼,編碼和解碼時間可能會隨著每源塊的經(jīng)編碼碼元數(shù)目的增長而增長到不切實際的地步。因此,在實踐中,每源塊能生成的經(jīng)編碼碼元總數(shù)往往存在切合實際的上限0 是一些應(yīng)用的大致的切合實際的上限),尤其是在由定制硬件執(zhí)行Reed-Solomon編碼或解碼過程的典型情形中,例如,使用作為DVB-H標準的一部分被包括的Reed-Solomon碼來保護流以對抗分組丟失的MPE-FEC過程是在蜂窩電話內(nèi)的專門硬件中實現(xiàn)的,其限于每源塊總共有255個Reed-Solomon經(jīng)編碼碼元。由于往往要求將碼元放入分開的分組有效載荷中,因此這對正被編碼的源塊的最大長度設(shè)置了切合實際的上限。例如,若分組有效載荷限于IOM字節(jié)或更少且每個分組攜帶一個經(jīng)編碼碼元,則經(jīng)編碼源塊可至多為255千字節(jié),并且這對于源塊本身的大小當然也是上限。諸如能夠足夠快地解碼源塊以跟上源流送速率、使由FEC解碼引入的解碼等待時間最小化、以及在FEC解碼期間的任何時間點僅使用接收設(shè)備上可用CPU的一小部分等其他關(guān)注點由本文中描述的元素來解決和應(yīng)付。需要提供穩(wěn)健和可伸縮的流送投遞解決方案,其允許系統(tǒng)的組件發(fā)生故障而不會不利地影響投遞給接收機的流的質(zhì)量。塊請求流送系統(tǒng)需要支持對呈現(xiàn)的結(jié)構(gòu)或元數(shù)據(jù)的改變,例如對可用媒體編碼的數(shù)目的改變或是對媒體編碼的參數(shù)(諸如比特率、分辨率、縱橫比、音頻或視頻編解碼器或編解碼參數(shù))的改變,或是對諸如URL之類的與內(nèi)容文件相關(guān)聯(lián)的其他元數(shù)據(jù)的改變。此類改變可能是出于多個原因而必需的,包括將較大呈現(xiàn)的諸如廣告或不同段之類的來自不同源的內(nèi)容編輯在一起,作為例如由于配置改變、裝備故障或從裝備故障恢復或其他原因造成的服務(wù)基礎(chǔ)設(shè)施改變的結(jié)果而變得必要的對URL或其他參數(shù)的修改。
      存在可由持續(xù)更新的播放列表文件來控制呈現(xiàn)的方法。由于該文件被持續(xù)更新, 因此以上描述的至少一些改變能在這些更新中作出。常規(guī)方法的缺點在于客戶端設(shè)備必須不斷地檢索(也稱為“輪詢”)播放列表文件,從而對服務(wù)基礎(chǔ)設(shè)施造成負荷,并且該文件可能沒有被高速緩存得比更新間隔更久,從而使得服務(wù)基礎(chǔ)設(shè)施的任務(wù)困難得多。這由本文中的元素來解決,從而在無需由客戶端對元數(shù)據(jù)文件進行不斷輪詢的情況下提供以上描述的這種的更新。典型地從廣播分發(fā)中知曉的尤其存在于實況服務(wù)中的另一問題是缺乏供用戶觀看在比用戶加入節(jié)目的時間早時廣播的內(nèi)容的能力。典型地,本地個人錄制消耗不必要的本地存儲,或者在客戶端沒有調(diào)諧到該節(jié)目或受到內(nèi)容保護條例禁止時不可能進行本地個人錄制。網(wǎng)絡(luò)錄制和時移觀看是優(yōu)選的,但要求用戶與服務(wù)器的個體連接以及與實況服務(wù)分開的投遞協(xié)議和基礎(chǔ)設(shè)施,從而造成重復的基礎(chǔ)設(shè)施和顯著的服務(wù)器成本。這也由本文中描述的元素來解決。系統(tǒng)概覽參照圖1描述本發(fā)明的一個實施例,圖1示出了實施本發(fā)明的塊請求流送系統(tǒng)的簡化圖。在圖1中,解說了塊流送系統(tǒng)100,其包括塊供應(yīng)基礎(chǔ)設(shè)施(“BSI”)101,BSI 101 又包括攝取系統(tǒng)103,其用于攝取內(nèi)容102、制備該內(nèi)容并將其打包以通過將其存儲在攝取系統(tǒng)103和HTTP流送服務(wù)器104兩者均可訪問的內(nèi)容存儲110中來由HTTP流送服務(wù)器 104供應(yīng)。如圖所示,系統(tǒng)100還可包括HTTP高速緩存106。在操作中,諸如HTTP流送客戶端之類的客戶端108向HTTP流送服務(wù)器104發(fā)送請求112并從HTTP流送服務(wù)器104或 HTTP高速緩存106接收響應(yīng)114。在每種情形中,圖1中所示的元素可至少部分地在軟件中實現(xiàn),其中包括在處理器或其他電子器件上執(zhí)行的程序代碼。內(nèi)容可包括電影、音頻、2D平面視頻、3D視頻、其他類型的視頻、圖像、定時文本、 定時元數(shù)據(jù)或類似物。一些內(nèi)容可涉及要以定時方式呈現(xiàn)或消費的數(shù)據(jù),諸如用于隨正被播出的其他媒體一起呈現(xiàn)輔助信息(臺標識、廣告、股價、FlashTM序列等)的數(shù)據(jù)。也可以使用組合其他媒體和/或超越僅音頻和視頻的其他混合呈現(xiàn)。如圖2中所示,媒體塊可被存儲在塊供應(yīng)基礎(chǔ)設(shè)施101 (1)內(nèi),其可以是例如HTTP 服務(wù)器、內(nèi)容投遞網(wǎng)絡(luò)設(shè)備、HTTP代理、FTP代理或服務(wù)器、或其他某種媒體服務(wù)器或系統(tǒng)。 塊供應(yīng)基礎(chǔ)設(shè)施101 (1)連接到網(wǎng)絡(luò)122,網(wǎng)絡(luò)122可以是例如諸如因特網(wǎng)之類的網(wǎng)際協(xié)議 (“IP”)網(wǎng)絡(luò)。塊請求流送系統(tǒng)客戶端被示為具有6個功能組件,即塊選擇器123,其被提供以上描述的元數(shù)據(jù)并執(zhí)行從由該元數(shù)據(jù)指示的多個可用塊之中選擇要請求的塊或部分塊的功能;塊請求器124,其接收來自塊選擇器123的請求指令并執(zhí)行在網(wǎng)絡(luò)122上向塊供應(yīng)基礎(chǔ)設(shè)施101(1)發(fā)送對指定塊、塊的部分、或多個塊的請求以及接收包括該塊的數(shù)據(jù)作為回復所必要的操作;以及塊緩沖器125 ;緩沖監(jiān)視器126 ;媒體解碼器127 ;以及促成媒體消費的一個或更多個媒體換能器128。由塊請求器IM接收到的塊數(shù)據(jù)被傳遞到存儲媒體數(shù)據(jù)的塊緩沖器125進行臨時存儲。替換地,接收到的塊數(shù)據(jù)可如圖1中所示地被直接存儲到塊緩沖器125中。媒體解碼器127由塊緩沖器125來提供媒體數(shù)據(jù)并對該數(shù)據(jù)執(zhí)行向媒體換能器1 提供合適的輸入所必要的變換,媒體換能器128以適合用戶或其他消費的形式來渲染該媒體。媒體換能器的示例包括諸如存在于移動電話、計算機系統(tǒng)或電視中的那些之類的視覺顯示設(shè)備,并且還可包括諸如揚聲器或頭戴式送受話器之類的音頻渲染設(shè)備。媒體解碼器的示例可以是將在H. 264視頻編碼標準中描述的格式的數(shù)據(jù)變換成視頻幀的模擬或數(shù)字表示(諸如每一幀或樣本有相關(guān)聯(lián)的呈現(xiàn)時戳的YUV格式像素映射) 的功能。緩沖監(jiān)視器1 接收關(guān)于塊緩沖器125的內(nèi)容的信息,并且基于該信息以及可能還有其他信息向塊選擇器123提供輸入,該輸入被用來確定對要請求的塊的選擇,如本文中所描述的。在本文中使用的術(shù)語中,每個塊具有“播出時間”或“歷時”,其表示接收機以正常速度播放該塊中所包括的媒體要花的時間量。在一些情形中,塊內(nèi)的媒體的播出可能依賴于已接收到來自先前塊的數(shù)據(jù)。在罕見的情形中,塊中的一些媒體的播出可能依賴于后續(xù)塊,在這種情形中,塊的播出時間是參照該塊內(nèi)不參照后續(xù)塊就能播出的媒體來定義的,且后續(xù)塊的播出時間增大該塊內(nèi)只能在已接收到該后續(xù)塊之后才能播出的媒體的播出時間。 由于在塊中包括依賴于后續(xù)塊的媒體是罕見的情形,因此在本公開的其余部分中,假定一個塊中的媒體不依賴于后續(xù)塊,但是應(yīng)注意,本領(lǐng)域技術(shù)人員將認識到這種變形可被輕易地添加到以下描述的實施例。接收機可具有諸如“暫停”、“快進”、“倒退”等控制,這些控制可導致塊通過以不同速率播放來被消費,但是若接收機能獲得并解碼每個連貫的塊序列的集總時間等于或少于排除該序列中的最末塊情況下的集總播放時間,則接收機能不停滯地向用戶呈現(xiàn)該媒體。 在本文中的一些描述中,媒體流中的特定位置被稱為該媒體中的特定“時間”,其對應(yīng)于媒體播出的開始與到達視頻流中的該特定位置的時間之間會流逝的時間。媒體流中的時間或位置是常規(guī)概念。例如,在視頻流包括M幀每秒的場合,第一幀可以被稱為具有t = 0. 0 秒的位置或時間,且第241幀可被稱為具有t= 10.0秒的位置或時間。自然,在基于幀的視頻流中,位置或時間無需是連續(xù)的,因為該流中從第241幀的第一比特直至第242幀的第一比特之前的每個比特可以全都具有相同的時間值。采用以上術(shù)語,塊請求流送系統(tǒng)(BRSQ包括向一個或更多個內(nèi)容服務(wù)器(例如, HTTP服務(wù)器、FTP服務(wù)器等)作出請求的一個或更多個客戶端。攝取系統(tǒng)包括一個或更多個攝取處理器,其中攝取處理器(實時地或非實時地)接收內(nèi)容,處理該內(nèi)容以供BRSS使用并將該內(nèi)容以及可能還連同由攝取處理器生成的元數(shù)據(jù)一起存儲在內(nèi)容服務(wù)器可訪問的存儲中。BRSS還可包含與內(nèi)容服務(wù)器協(xié)作的內(nèi)容高速緩存。內(nèi)容服務(wù)器和內(nèi)容高速緩存可以是常規(guī)的HTTP服務(wù)器和HTTP高速緩存,它們接收包括URL的HTTP請求形式的對文件或段的請求,并且這些請求還可包括字節(jié)范圍以請求不足由該URL指示的文件或段的全部。 客戶端可包括常規(guī)的HTTP客戶端,其作出對HTTP服務(wù)器的請求并且處置對這些請求的響應(yīng),其中HTTP客戶端由編制請求、將它們傳遞給HTTP客戶端、獲取來自HTTP客戶端的響應(yīng)并處理這些響應(yīng)(或存儲、變換等)以將它們提供給呈現(xiàn)播放器供客戶端設(shè)備播出的新穎客戶端系統(tǒng)驅(qū)動。典型地,客戶端系統(tǒng)事先并不知道將需要什么媒體(因為該需要可能取決于用戶輸入、用戶輸入的改變等),因此其被稱為“流送”系統(tǒng),因為媒體是一旦被接收到或此后不久就被“消費”的。結(jié)果,響應(yīng)延遲和帶寬約束可能導致呈現(xiàn)的延遲,諸如當流追趕用戶正消費該呈現(xiàn)時所在之處時造成呈現(xiàn)的暫停。為了提供被感知為有良好質(zhì)量的呈現(xiàn),可在BRSS中在客戶端或在攝取端或在這兩者處實現(xiàn)多個細節(jié)。在一些情形中,所實現(xiàn)的細節(jié)是考慮并為應(yīng)對網(wǎng)絡(luò)上的客戶端-服務(wù)器接口來進行的。在一些實施例中,客戶端系統(tǒng)和攝取系統(tǒng)兩者皆知曉該增強,而在其他實施例中,僅一側(cè)知曉該增強。在此類實施例中,即使一側(cè)并不知曉該增強,整個系統(tǒng)也會受益于該增強,而在其他實施例中,該效益僅在兩側(cè)皆知曉該增強的情況下才發(fā)生,但在一側(cè)不知曉時,其仍無故障地操作。如圖3中解說的,根據(jù)各種實施例,攝取系統(tǒng)可實現(xiàn)為硬件與軟件組件的組合。攝取系統(tǒng)可包括可被執(zhí)行以導致系統(tǒng)執(zhí)行本文中討論的任何一種或更多種方法的指令集。該系統(tǒng)可實現(xiàn)為計算機形式的專門機器。該系統(tǒng)可以是服務(wù)器計算機、個人計算機(PC)、或能夠執(zhí)行指定要由該系統(tǒng)采取的行動的指令集(順序或以其他方式)的任何系統(tǒng)。此外,雖然僅示出了單個系統(tǒng),但是術(shù)語“系統(tǒng)”還應(yīng)被視為包括任何系統(tǒng)集合,這些系統(tǒng)個體地或聯(lián)合地執(zhí)行指令集(或多個指令集)以執(zhí)行本文中所討論的任何一種或更多種方法。攝取系統(tǒng)可包括攝取處理器302(例如,中央處理單元(CPU))、可存儲執(zhí)行期間的程序代碼的存儲器304、以及盤存儲306,所有這些均經(jīng)由總線300彼此通信。該系統(tǒng)可進一步包括視頻顯示單元308(例如,液晶顯示器(LCD)或陰極射線管(CRT))。該系統(tǒng)還可包括字母數(shù)字輸入設(shè)備310(例如,鍵盤)、以及用于接收內(nèi)容源并投遞內(nèi)容存儲的網(wǎng)絡(luò)接口設(shè)備312。盤存儲單元306可包括其上可存儲實施本文中所描述的任何一個或更多個方法或功能的一個或更多個指令集(例如,軟件)的機器可讀介質(zhì)。這些指令在其被系統(tǒng)執(zhí)行期間還可完全或至少部分地駐留在存儲器304內(nèi)和/或攝取處理器302內(nèi),其中存儲器304 和攝取處理器302也構(gòu)成機器可讀介質(zhì)。如圖4中解說的,根據(jù)各種實施例,客戶端系統(tǒng)可實現(xiàn)為硬件與軟件組件的組合。 客戶端系統(tǒng)可包括能被執(zhí)行以導致系統(tǒng)執(zhí)行本文中討論的任何一種或更多種方法的指令集。該系統(tǒng)可實現(xiàn)為計算機形式的專門機器。該系統(tǒng)可以是服務(wù)器計算機、個人計算機 (PC)、或能夠執(zhí)行指定要由該系統(tǒng)采取的行動的指令集(順序或以其他方式)的任何系統(tǒng)。 此外,雖然僅示出了單個系統(tǒng),但是術(shù)語“系統(tǒng)”還應(yīng)被視為包括任何系統(tǒng)集合,這些系統(tǒng)個體地或聯(lián)合地執(zhí)行指令集(或多個指令集)以執(zhí)行本文中所討論的任何一種或更多種方法。客戶端系統(tǒng)可包括客戶端處理器402(例如,中央處理單元(CPU))、可存儲執(zhí)行期間的程序代碼的存儲器404、以及盤存儲406,所有這些均經(jīng)由總線400彼此通信。該系統(tǒng)可進一步包括視頻顯示單元408(例如,液晶顯示器(LCD)或陰極射線管(CRT))。該系統(tǒng)還可包括字母數(shù)字輸入設(shè)備410 (例如,鍵盤)、以及用于發(fā)送請求并接收響應(yīng)的網(wǎng)絡(luò)接口設(shè)備 412。盤存儲單元406可包括其上可存儲實施本文中所描述的任何一個或更多個方法或功能的一個或更多個指令集(例如,軟件)的機器可讀介質(zhì)。這些指令在其被系統(tǒng)執(zhí)行期間還可完全或至少部分地駐留在存儲器404內(nèi)和/或客戶端處理器402內(nèi),其中存儲器 404和客戶端處理器402也構(gòu)成機器可讀介質(zhì)。3GPP文件格式的使用
      3GPP文件格式或基于ISO基媒體文件格式(諸如MP4文件格式或3GPP2文件格式)的任何其他文件可被用作具有以下特征的用于HTTP流送的容器格式。每個段中可包括段索引以信令通知時間偏移量和字節(jié)范圍,以使得客戶端能下載如所需的恰適文件片或媒體段。整個媒體呈現(xiàn)的全局呈現(xiàn)時基和每個3GP文件或媒體段內(nèi)的局部時基可準確地對準。一個3GP文件或媒體段內(nèi)的各個軌跡可被準確地對準。跨各個表示的各個軌跡也可通過將它們之中的每個指派到全局時間線來對準,以使得跨表示的切換可以是無縫的,并且不同表示中的媒體分量的聯(lián)合呈現(xiàn)可以同步。文件格式可包含具有以下性質(zhì)的用于自適應(yīng)流送的簡檔。所有電影數(shù)據(jù)可被包含在電影片斷中——“moov”包可以不包含任何樣本信息。音頻和視頻樣本數(shù)據(jù)可以按與如 TS26. 244中規(guī)定的對漸進式下載簡檔的要求類似的要求來被交織?!癿oov”包可被放在文件開頭處,繼之以也被稱為段索引的片斷偏移量數(shù)據(jù),其包含該包容段中的每個片斷或者至少片斷子集的時間偏移量信息以及字節(jié)范圍。還有可能使媒體呈現(xiàn)描述引用跟隨在存在的漸進式下載簡檔之后的文件。在這種情形中,客戶端可使用媒體呈現(xiàn)描述簡單地從多個可用版本之中選擇恰適的替換版本??蛻舳艘部蓪槕?yīng)于漸進式下載簡檔的文件使用HTTP部分獲取請求以請求每個替換版本的子集并藉此實現(xiàn)效率略低的形式的自適應(yīng)流送。在這種情形中,包含漸進式下載簡檔中的媒體的不同表示仍可遵守共同的全局時間線以使得能夠進行跨表示的無縫切換。高級方法概覽在以下小節(jié)中,描述了用于改進的塊請求流送系統(tǒng)的方法。應(yīng)理解,這些改進中的一些改進可在有或沒有這些改進中的其他改進的情況下使用,這取決于應(yīng)用的需要。在一般操作中,接收機向服務(wù)器或其他發(fā)射機作出對特定數(shù)據(jù)塊或數(shù)據(jù)塊部分的請求。也被稱為段的文件可包含多個塊并且與媒體呈現(xiàn)的一個表示相關(guān)聯(lián)。優(yōu)選地,生成也被稱為“段索引”或“段映射”的索引信息,其提供從播出或解碼時間至段內(nèi)相應(yīng)的塊或片斷的字節(jié)偏移量的映射。該段索引可被包括在段內(nèi),典型地在段開頭處(至少一些段映射在開頭處)且往往很小。段索引也可被設(shè)在單獨的索引段或文件中。尤其是在段索引被包含在該段中的情形中,接收機可迅速下載此段映射的一些或全部, 并隨后將其用來確定時間偏移量與文件內(nèi)同這些時間偏移量相關(guān)聯(lián)的片斷的相應(yīng)字節(jié)位置之間的映射。接收機可使用字節(jié)偏移量來請求來自與特定時間偏移量相關(guān)聯(lián)的片斷的數(shù)據(jù),而不必下載與同感興趣的時間偏移量無關(guān)聯(lián)的其他片斷相關(guān)聯(lián)的全部數(shù)據(jù)。以此方式,段映射或段索引能極大地增進接收機直接訪問段中與感興趣的當前時間偏移量有關(guān)的部分的能力,其效益包括改善的內(nèi)容換臺時間、在網(wǎng)絡(luò)條件變化時從一個表示迅速換到另一表示的能力、以及減少浪費網(wǎng)絡(luò)資源來下載沒有在接收機處播出的媒體。在考慮從一個表示(本文中稱為“切換自,,的表示)切換到另一表示(本文中稱為“切換到”的表示)的情形中,還可使用段索引來標識“切換到”的表示中的隨機訪問點的開始時間,從而標識在“切換自,,的表示中要請求以確保無縫切換的數(shù)據(jù)量,此無縫切換的意義是指“切換自”的表示中的媒體被下載到直至使得對“切換到”的表示的播出能從該隨機訪問點無縫地開始的呈現(xiàn)時間。這些塊代表請求方接收機為了生成給該接收機的用戶的輸出所需要的視頻媒體或其他媒體的段。媒體的接收機可以是客戶端設(shè)備,諸如當接收機從傳送內(nèi)容的服務(wù)器接收內(nèi)容時。示例包括機頂盒、計算機、游戲機、特殊裝備的電視、手持設(shè)備、特殊裝備的移動電話、或其他客戶端接收機。本文中描述了許多高級的緩沖管理方法。例如,緩沖管理方法使得客戶端能請求可及時接收以連續(xù)播出的具有最高媒體質(zhì)量的塊。可變塊大小特征提高了壓縮效率。具有多個連接以用于向請求方設(shè)備傳送塊而同時限制請求頻度的能力提供了改善的傳輸性能。 部分收到的數(shù)據(jù)塊可被用來繼續(xù)媒體呈現(xiàn)??梢詾槎鄠€塊重用連接而不必在一開始就承諾由該連接負責特定的一組塊。改善了由多個客戶端從多個可能的服務(wù)器之中選擇服務(wù)器的一致性,這減少了近旁服務(wù)器中內(nèi)容重復的頻度并且提高了服務(wù)器包含整個文件的概率。 客戶端可基于嵌入在關(guān)于包含媒體塊的文件的URL中的元數(shù)據(jù)(諸如可用媒體編碼)來請求這些媒體塊。系統(tǒng)可提供對在能開始內(nèi)容播而不會在媒體播出中招致后續(xù)暫停之前所需的緩沖時間量的演算和最小化。可以在多個媒體塊之間共享可用帶寬,隨著每個塊的播出時間逼近而進行調(diào)節(jié),從而在必要的情況下較大份額的可用帶寬可有傾向性地被分配給具有最接近播出時間的塊。HTTP流送可采用元數(shù)據(jù)。呈現(xiàn)級元數(shù)據(jù)包括例如流歷時、可用編碼(比特率、編解碼器、空間分辨率、幀率、語言、媒體類型)、指向每種編碼的流元數(shù)據(jù)的指針、以及內(nèi)容保護 (數(shù)字版權(quán)管理(DRM)信息)。流元數(shù)據(jù)可以是關(guān)于段文件的URL。段元數(shù)據(jù)可包括字節(jié)范圍對時間信息以用于段內(nèi)請求以及標識隨機訪問點(RAP) 或其他查找點,其中該信息中的一些或全部可以是段索引或段映射的一部分。流可包括對相同內(nèi)容的多種編碼。每種包括隨后可被分解成段,其中每一段對應(yīng)于存儲單位或文件。在HTTP的情形中,段典型地是能由URL引用的資源,并且對此類URL的請求導致返回該段作為請求響應(yīng)消息的實體主體。段可包括多個畫面群(GoP)。每個GoP 可進一步包括多個片斷,其中段索引提供關(guān)于每個片斷的時間/字節(jié)偏移量信息,即索引的單位是片斷??赏ㄟ^并行的TCP連接來請求片斷或片斷部分以提高吞吐量。這可以緩解在共享瓶頸鏈路上的連接時或者在連接由于擁塞而丟失時產(chǎn)生的問題,由此提高投遞的總體速度和可靠性,這能明顯改善內(nèi)容換臺時間的速度和可靠性。可以藉由過度請求用帶寬換等待時間,但是應(yīng)注意避免作出對太遠的將來的請求,這會增加匱乏風險。對相同服務(wù)器上的段的多個請求可被管線化(在當前請求完成之前作出下一請求)以避免反復的TCP啟動延遲。對連貫片斷的請求可被聚集成一個請求。一些CDN偏好大文件并且可在首次看到范圍請求時觸發(fā)從原始服務(wù)器來后臺取回整個文件。然而,絕大多數(shù)CDN將從高速緩存來服務(wù)范圍請求——若數(shù)據(jù)可用。因此,使客戶端請求的某個部分針對整個段文件可能是有利的。若有必要,這些請求可在以后被取消。有效切換點可以是目標流中的查找點,具體而言例如是RAP。不同的實現(xiàn)是可能的,諸如固定GoP結(jié)構(gòu)或跨流的RAP對準(基于媒體的開頭或基于GoP)。在一個實施例中,段和GoP可跨不同速率的流對準。在該實施例中,GoP可具有可變大小并且可包含多個片斷,但片斷在這些不同速率的流之間并不對準。在一些實施例中,可有利地采用文件冗余性。在這些實施例中,對每個片斷應(yīng)用擦除碼以生成該數(shù)據(jù)的冗余版本。優(yōu)選地,源格式化不因使用FEC而改變,且可作為攝取系統(tǒng)中的附加步驟生成包含F(xiàn)EC修復數(shù)據(jù)的例如作為源表示的從屬表示的附加修復段并使其可用。僅使用片斷的源數(shù)據(jù)就能夠重構(gòu)該片斷的客戶端可僅向服務(wù)器請求該段內(nèi)的該片斷的源數(shù)據(jù)。若服務(wù)器不可用或者與服務(wù)器的連接較慢——這可能是在請求源數(shù)據(jù)之前或之后確定的,則可請求來自修復段的關(guān)于該片斷的附加修復數(shù)據(jù),這減少了用于可靠地投遞足以恢復該片斷的數(shù)據(jù)的時間,從而有可能使用FEC解碼以使用收到的源數(shù)據(jù)和修復數(shù)據(jù)的組合來恢復該片斷的源數(shù)據(jù)。此外,若片斷變得緊急,即其播出時間變得迫近,則可以請求附加修復數(shù)據(jù)以允許恢復該片斷,這增加了鏈路上用于該片斷的數(shù)據(jù)份額,但比關(guān)掉該鏈路上的其他連接以釋放帶寬更高效。這還可以緩解由于使用并行連接造成的匱乏風險。片斷格式可以是存儲著的具有通過實時傳輸控制協(xié)議RTCP達成的音頻/視頻同步的實時傳輸協(xié)議(RTP)分組流。段格式也可以是存儲著的具有通過MPEG-2TS內(nèi)部時基達成的音頻/視頻同步的 MPEG-2TS分組流。在塊請求流送系統(tǒng)中可以使用或不使用數(shù)種特征以提供改善的性能。性能可涉及不停滯地播出呈現(xiàn)、在帶寬約束內(nèi)獲得媒體數(shù)據(jù)、和/或在客戶端、服務(wù)器和/或攝取系統(tǒng)處有限的處理器資源內(nèi)這樣做的能力?,F(xiàn)在將描述這些特征中的一些。段內(nèi)的索引為了編制對電影片斷的部分獲取請求,可向客戶端告知文件或段內(nèi)的片斷中所包含的所有媒體分量在解碼或呈現(xiàn)時間的字節(jié)偏移量和開始時間、以及還有哪些片斷始于或包含隨機訪問點(且因此適合用作替換表示之間的切換點),其中該信息往往被稱為段索引或段映射。在解碼或呈現(xiàn)時間的開始時間可直接表達或者可表達為相對于參考時間的 Δ。該時間和字節(jié)偏移量索引信息可能每電影片斷需要至少8字節(jié)數(shù)據(jù)。作為示例, 對于具有500ms電影片斷的單個文件內(nèi)所包含的2小時電影,這將會是總共約112千字節(jié)數(shù)據(jù)。在開始呈現(xiàn)時下載該數(shù)據(jù)的全部可能導致顯著的附加啟動延遲。然而,該時間和字節(jié)偏移量數(shù)據(jù)可被階層式編碼,從而客戶端能迅速找到與呈現(xiàn)中希望開始的點有關(guān)的小時間塊和偏移量數(shù)據(jù)。該信息也可分布在段內(nèi),以使得對段索引的某種細化可與媒體數(shù)據(jù)交織地放置。注意,若表示是按時間分段成多個段的,則使用該階層式編碼可能是不必要的,因為每個段的完整的時間和偏移量數(shù)據(jù)可能已經(jīng)十分小。例如,若段是一分鐘而非以上示例中的2小時,則時間-字節(jié)偏移量索引信息約為1千字節(jié)數(shù)據(jù),其通常可裝進單個TCP/IP 分組內(nèi)。有不同選項可能用于向3GPP文件添加片斷時間和字節(jié)偏移量數(shù)據(jù)首先,可出于此目的使用電影片斷隨機訪問包(“MFRA”)。MFRA提供表,其可輔助讀者使用電影片斷來尋找文件中的隨機訪問點。為支持該功能,MFRA順帶地包含帶有隨機訪問點的MFRA包的字節(jié)偏移量。MFRA可被放在文件末尾處或附近,但并非必需如此。通過從文件末尾掃描電影片斷隨機訪問偏移量包并使用其中的大小信息,就能夠定位到電影片斷隨機訪問包的開頭。然而,將MFRA放在末尾來進行HTTP流送典型地需要至少3到4個
      17HTTP請求來訪問合意數(shù)據(jù)至少一個用于從文件末尾請求MFRA,一個用于獲得MFRA并且最后一個用于獲得該文件中的合意片斷。因此,放在開頭可能是可取的,因為這樣就可在單個請求中與第一媒體數(shù)據(jù)一起下載mfra。另外,對HTTP流送使用MFRA可能是效率不高的,因為“MFRA”中除了時間和moof_偏移量以外的其他任何信息都是不需要的,且指定偏移量而非長度可能需要更多比特。其次,可以使用項定位包(ILOC)?!癐L0C”通過定位元數(shù)據(jù)資源的包容文件、它們在該文件內(nèi)的偏移量及其長度來提供該文件或其他文件中的元數(shù)據(jù)資源的目錄。例如,系統(tǒng)可將所有被外部引用的元數(shù)據(jù)資源整合到一個文件中,相應(yīng)地重新調(diào)整文件偏移量和文件引用。然而,“IL0C”旨在給出元數(shù)據(jù)的位置,因此可能很難使其與真正的元數(shù)據(jù)共存。最后且可能最適合的是規(guī)定稱為時間索引包(“TIDX”)的新包,其專用于以高效方式提供確切的片斷時間或歷時以及字節(jié)偏移量。這在下節(jié)中更詳細地描述。具有相同功能性的替換包可以是段索引包(“SIDX”)。在本文中,除非另行指出,否則這兩者可以是可互換的,因為兩種包皆提供了以高效方式提供確切的片斷時間或歷時以及字節(jié)偏移量的能力。以下提供TIDX與SIDX之間的差異。如何互換TIDX包和SIDX包應(yīng)當是明顯的,因為這兩種包均實現(xiàn)段索引。段索引段具有標識出的開始時間和標識出的字節(jié)數(shù)。多個片斷可被級聯(lián)成單個段,且客戶端可發(fā)出標識該段內(nèi)與所請求的片斷或片斷子集相對應(yīng)的具體字節(jié)范圍的請求。例如, 在使用HTTP作為請求協(xié)議時,HTTP范圍頭部可用于此目的。該辦法要求客戶端能訪問該段的“段索引”,其指定不同片斷在該段內(nèi)的位置。該“段索引”可作為元數(shù)據(jù)的一部分來提供。該辦法具有以下結(jié)果與在每個塊被保持在單獨的文件中的辦法相比,需要創(chuàng)建和管理的文件少得多。對創(chuàng)建、傳遞和存儲非常大量的文件(比如說對于1小時呈現(xiàn),其可延伸到好幾千個文件)的管理可能是復雜的且容易出錯,因此減少文件數(shù)量代表著優(yōu)點。若客戶端僅知曉段的較小部分的合意開始時間,則它可請求整個文件,隨后從頭至尾讀取該文件以確定恰適的播出起始位置。為了提高帶寬利用率,段可包括索引文件作為元數(shù)據(jù),其中索引文件映射個體塊的字節(jié)范圍與這些塊所對應(yīng)的時間范圍,稱為段索引或段映射。該元數(shù)據(jù)可被格式化為XML數(shù)據(jù)或者它們可以是二進制的,例如遵循3GPP文件格式的原子和包結(jié)構(gòu)。索引可以是簡單的,其中每個塊的時間和字節(jié)范圍相對于文件的開始是絕對的,或者它們可以是階層式的,其中一些塊被編組成父塊(且這些父塊被編組成祖父塊,等等)且給定塊的時間和字節(jié)范圍是相對于該塊的父塊的時間和/或字節(jié)范圍來表達的。示例索引映射結(jié)構(gòu)在一個實施例中,媒體流的一個表示的原始源數(shù)據(jù)可被包含在一個或更多個在本文中被稱為“媒體段”的媒體文件中,其中每個媒體段包含用于回放該媒體的連續(xù)時間段的媒體數(shù)據(jù),例如5分鐘的媒體回放。圖6示出了媒體段的示例整體結(jié)構(gòu)。在每個段內(nèi),在源段開頭或遍布整個源段,還可存在包括時間/字節(jié)偏移量段映射的索引信息。一個實施例中的時間/字節(jié)偏移量段映
      射可以是時間/字節(jié)偏移量對的列表(T (0),B(O)), (T(l),B(I)).....(T⑴,B⑴).....
      (T(n),B(n)),其中T(i-l)代表該段內(nèi)相對于該媒體在所有媒體段中的初始開始時間用于回放第i個媒體片斷的開始時間,T(i)代表第i個片斷的結(jié)束時間(且因此代表下一片斷的開始時間),并且字節(jié)偏移量B(i-l)是該源段內(nèi)相對于該源段開頭第i個媒體片斷開始之處的數(shù)據(jù)的開頭的相應(yīng)字節(jié)索引,且B(i)是第i個片斷的相應(yīng)結(jié)束字節(jié)索引(且因此是下一片斷的首個字節(jié)的索引)。若段包含多個媒體分量,則可以絕對方式為該段中的每個分量提供T(i)和B (i),或者它們可相對于用作參考媒體分量的另一媒體分量來表達。在該實施例中,源段中的片斷數(shù)目為n,其中η在段與段之間可有所不同。在另一實施例中,段索引中關(guān)于每個片斷的時間偏移量可以用第一片斷的絕對開始時間以及每個片斷的歷時來確定。在這種情形中,段索引可以記載第一片斷的開始時間以及該段中所包括的所有片斷的歷時。段索引還可以僅記載片斷子集。在該情形中,段索引記載被定義為一個或更多個連貫片斷的子段的歷時,該子段在包容段的末尾或在下一子段的開頭處結(jié)束。對于每個片斷,還可以有指示該片斷是否始于或包含查找點的值,即在某點處,該點之后的媒體皆不依賴于該點之前的任何媒體,且因此自該片斷前行的媒體能獨立于先前片斷地播出。查找點一般而言是媒體中能獨立于所有先前的媒體地開始播出之處的點。圖 6還示出了源段的可能段索引的簡單示例。在該示例中,時間偏移量值以毫秒為單位,且因此該源段的首個片斷自該媒體開頭20秒處開始,且首個片斷具有485毫秒的播出時間。 首個片斷的開始的字節(jié)偏移量為0,且首個片斷的末尾/第二片斷的開始的字節(jié)偏移量為 50,245,且因此首個片斷的大小為50,245字節(jié)。若片斷或子段并非始于隨機訪問點,但該片斷或子段中包含隨機訪問點,則可以給出開始時間與實際RAP時間之間的解碼時間或呈現(xiàn)時間差。這使得在切換到該媒體段的情形中客戶端能準確地知曉“切換自”的表示需要一直被呈現(xiàn)到的時間。補充地或代替地,可以使用簡單的或階層式的索引、雛菊鏈索引和/或混合索引。由于不同軌跡的樣本歷時可能不是相同的(例如,視頻樣本可能播放33ms,而音頻樣本可能持續(xù)80ms),因此電影片斷中的不同軌跡可能不是在正好相同的時間開始和結(jié)束的,即,音頻可能比視頻略早或略遲開始,而在前一片斷中可能正好是相反情形以作為補償。為避免多義性,在時間和字節(jié)偏移量數(shù)據(jù)中指定的時戳可相對于特定軌跡來指定,且此軌跡對于每個表示可以是相同的軌跡。通常這將是視頻軌跡。這允許客戶端在切換表示時能確切地標識下一視頻幀。盡管有上述問題,但在呈現(xiàn)期間可注意維持軌跡時標與呈現(xiàn)時間之間的嚴格關(guān)系,以確保流暢播出以及維持音頻/視頻同步。圖7解說了一些示例,諸如簡單索引700和階層式索引702。以下提供包含段映射的包的兩個具體示例,一個稱為時間索引包(‘TIDX’’)且一個稱為(‘SIDX’’)。該定義遵循根據(jù)ISO基媒體文件格式的包結(jié)構(gòu)。用于此類包以定義類似句法且具有相同語義和功能性的其他設(shè)計對于讀者應(yīng)當是明顯的。時間索引包定義包類型‘tidx,容器文件強制性的否
      數(shù)量任何數(shù)目0或1時間索引包可提供將文件的某些區(qū)域與呈現(xiàn)的某些時間區(qū)間相關(guān)聯(lián)的一組時間和字節(jié)偏移量索引。時間索引包可包括目標類型(targettype)字段,其指示所引用的數(shù)據(jù)的類型。例如,具有目標類型“moof”的時間索引包提供在時間和字節(jié)偏移量兩者意義上對文件中所包含的媒體片斷的索引。具有目標類型“時間索引包(Time Index Box) ”的時間索引包可被用來構(gòu)造階層式時間索引,從而允許文件的用戶迅速導航至該索引的所需部分。段索引可例如包含以下句法
      aligned(8) class TimeIndexBox extends FullB ox('frai') { unsigned int(32) targettype; unsigned int(32) time—reference—track_ID; unsigned int(32) number_of_elements; unsigned int(64) first一element—offset; unsigned int(64) first_element_time;
      for(i=l; i <= number_of—elements; i++) {
      bit (1) random_access_flag; unsigned int(31) length; unsigned int(32) deltaT;語義targettype (目標類型)為該時間索引包引用的包數(shù)據(jù)的類型。它可以是電影片斷頭部("moof")或時間索引包(“tidx”)。time-reference_track_id(時間參考軌跡id)指示指定該索引中的時間偏移量時參照的軌跡。number_0f_elementS (元素數(shù)目)由該時間索引包索引的元素的數(shù)目。firstjiementjffset (首個元素偏移量)首個被索引的元素自該文件的開始起的字節(jié)偏移量。firSt_element_time (首個元素時間)首個被索引的元素的開始時間,使用由 “時間參考軌跡id”標識的軌跡的媒體頭部包中指定的時標。random_access_flag(隨機訪問標志)若元素的開始時間是隨機訪問點則為1。 否則為0。length(長度)被索引的元素以字節(jié)計的長度。
      deltaT(AT)該元素的開始時間與下一元素的開始時間之間的差量,該時間差是由“時間參考軌跡id”標識的軌跡的媒體頭部包中指定的時標的形式。段索引包段索引包(‘sidx’)提供對段中的電影片斷和其他段索引包的緊湊索引。段索引包中有兩個循環(huán)結(jié)構(gòu)。第一循環(huán)記載子段的第一樣本,即由第二循環(huán)引用的第一電影片斷中的樣本。第二循環(huán)提供該子段的索引。‘sidx’包的容器是該文件或直接是段。句法
      aligned(8) class SegmentIndexBox extends FullBox('sidx', version, 0) { unsigned int(32) reference track ID ; unsigned int(16) track count; unsigned int(16) reference_count;
      for (i=l; i<= track count; i++) {
      unsigned int(32) track ID;
      if (version===。) {
      unsigned int(32) decoding—time; } else
      {
      unsigned int(64) decoding_time;語義:
      for(i=l; i <= reference—count; i++)
      bit(l)
      unsigned int(31) unsigned int(32) bit(l)
      unsigned int(31)
      reference_type; reference—offset; subsegment—duration; contains—RAP; RAP delta time;
      reference_track_ID(參考軌跡ID)提供參考軌跡的軌跡ID。traCk_COimt (軌跡計數(shù))接下來的循環(huán)中被索引的軌跡的數(shù)目(1或更大);reference_c0imt (參考計數(shù))由第二循環(huán)索引的元素的數(shù)目(1或更大);track_ID(軌跡ID)其軌跡片斷被包括在由該索引標識的首個電影片斷中的那個軌跡的ID ;該循環(huán)中有恰好一個“軌跡ID”等于“參考軌跡ID”。decodingjime (解碼時間)由第二循環(huán)中的第一項引用的電影片斷中由“軌跡 ID”標識的軌跡中的首個樣本的解碼時間,以該軌跡的時標來表達(如在該軌跡的媒體頭部包的時標字段中記載的);referencejype (引用類型)在設(shè)為0時指示該引用是對電影片斷(‘moof’)包的引用;在設(shè)為1時指示該引用是對段索引(‘sidx’ )包的引用;referendoffset (引用偏移量)從繼包容段索引包之后的首個字節(jié)至被引用包的首個字節(jié)的以字節(jié)計的距離;subsegmentduration (子段歷時)當引用是對段索引包的引用時,該字段攜帶該包的第二循環(huán)中的“子段歷時”字段的總和;當引用是對電影片斷的引用時,該字段攜帶參考軌跡中、所指示的電影片斷以及直至該循環(huán)中的下一條目記載的首個電影片斷或該子段末尾(取較早者)的后續(xù)電影片斷中的樣本的樣本歷時總和;該歷時以該軌跡的時標來表達(如在該軌跡的媒體頭部包的時標字段中記載的);COntainS_RAP(包含RAP):當引用是對電影片斷的引用時,則若該電影片斷內(nèi)“軌跡ID”等于“參考軌跡ID”的那個軌跡的的軌跡片斷包含至少一個隨機訪問點,那么該比特可為1,否則該比特設(shè)為0;當引用是對段索引的引用時,則僅在該段索引中的任何引用的該比特被設(shè)為1時該比特才被設(shè)為1,否則設(shè)為0 ;RAP_delta_time (RAP Δ時間)若“包含RAP”為1,則提供隨機訪問點(RAP)的呈現(xiàn)(合成)時間,;若“包含RAP”為0則保留值0。該時間表達為在由該條目記載的子段的首個樣本的解碼時間與“軌跡ID”等于“參考軌跡ID”的軌跡中隨機訪問點的呈現(xiàn)(合成) 時間之間的差量。TIDX與SIDX之間的差異SIDX和SIDX就索引而言提供相同的功能性。SIDX的第一循環(huán)作為補充還提供首個電影片斷的全局時基,但該全局時基也可被包含在該電影片斷自身中,其或者是絕對的或者是相對于參考軌跡的。SIDX的第二循環(huán)實現(xiàn)TIDX的功能性。具體地,SIDX準許具有由“引用類型”所指的每個索引的引用的目標的混合,而TIDX僅僅是要么只引用IDX要么只引用MOOF。TIDX中的“元素數(shù)目”對應(yīng)于SIDX中的“引用計數(shù)”,TIDX中的“時間參考軌跡ID”對應(yīng)于SIDX中的“參考軌跡ID”,TIDX中的“首個元素偏移量”對應(yīng)于第二循環(huán)的首個條目中的“引用偏移量”,TIDX中的“首個元素時間”對應(yīng)于第一循環(huán)中的“參考軌跡”的“解碼時間”,TIDX中的 “隨機訪問標志”對應(yīng)于SIDX中的“包含RAP”,后者還具有額外的自由——在SIDX中,RAP 可以不一定要放在片斷開始處,且因此需要“RAP Δ時間”,TIDX中的“長度”對應(yīng)于SIDX 中的“引用偏移量”,并且最后TIDX中的ΔΤ對應(yīng)于SIDX中的“子段歷時”。因此,這兩個包的功能性是等效的??勺儔K大小控制和子GoP塊
      對于視頻媒體而言,視頻編碼結(jié)構(gòu)與供請求的塊結(jié)構(gòu)之間的關(guān)系可能是重要的。 例如,若每個塊始于諸如隨機訪問點(“RAP”)之類的查找點且每個塊代表相等的視頻時間段,則視頻媒體中的至少一些查找點的定位是固定的且查找點在視頻編碼內(nèi)將以有規(guī)律的間隔出現(xiàn)。如視頻編碼領(lǐng)域中的技術(shù)人員公知的,若查找點是根據(jù)視頻幀之間的關(guān)系來放置的,并且具體而言若它們被放置在與先前幀幾乎沒有多少共性的幀處,則壓縮效率可得以提高。由此要各塊代表等量時間的要求對視頻編碼構(gòu)成了約束,從而使得壓縮可能是未臻最優(yōu)的。希望允許視頻呈現(xiàn)內(nèi)的查找點的位置由視頻編碼系統(tǒng)來選取,而非要求查找點位于固定位置。允許視頻編碼系統(tǒng)選取查找點得到改善的視頻壓縮,并且因此使用給定的可用帶寬能提供更高的視頻媒體質(zhì)量,從而得到改善的用戶體驗。當前的塊請求流送系統(tǒng)可能要求所有塊具有相同的歷時(以視頻時間計),且每個塊必須始于查找點且這因此是現(xiàn)有系統(tǒng)的缺點。現(xiàn)在描述提供勝于上述系統(tǒng)的優(yōu)點的新穎的塊請求流送系統(tǒng)。在一個實施例中, 視頻分量的第一版本的視頻編碼過程可被配置成選取查找點的位置以力圖優(yōu)化壓縮效率, 但要求對查找點之間的歷時有最大限度。后一個要求的確限制了編碼過程對查找點的選取且因此降低了壓縮效率。然而,倘若查找點之間的歷時的最大限度不是太小(例如,大于約 1秒),則壓縮效率的降低與假如查找點要求有規(guī)律的固定位置所招致的壓縮效率降低相比是微小的。此外,若對查找點之間的歷時的最大限度是幾秒,則該壓縮效率的降低與查找點的完全自由定位相比一般是微乎其微的。在包括本實施例的許多實施例中,可能有一些RAP不是查找點,即可能有幀是兩個連貫查找點之間的沒有被選取為查找點的RAP,例如由于該RAP在時間上太接近周圍的查找點,或者由于該RAP之前或之后的查找點與該RAP之間的媒體數(shù)據(jù)量太少。媒體呈現(xiàn)的所有其他版本內(nèi)的查找點的位置可被約束成與第一(例如,最高媒體數(shù)據(jù)率)版本中的查找點相同。與允許編碼器自由選取查找點相比,這的確降低了這些其他版本的壓縮效率。使用查找點典型地要求幀是能獨立解碼的,這一般導致該幀的低壓縮效率。不被要求能獨立解碼的幀可參考其他幀中的數(shù)據(jù)來編碼,這一般而言將使該幀的壓縮效率提高達取決于待編碼幀與參考幀之間的共性量的量。對查找點定位的高效選取優(yōu)先選取與先前幀具有低共性的幀作為查找點幀,并藉此使得由于以能獨立解碼的方式編碼該幀招致的壓縮效率懲罰最小化。然而,幀與潛在可能的參考幀之間的共性的程度是跨該內(nèi)容的不同表示而高度相關(guān)的,因為原始內(nèi)容是相同的。因此,令其他變體中的查找點與第一變體中的查找點具有相同位置的約束對于壓縮效率而言并沒有帶來很大差別。查找點結(jié)構(gòu)優(yōu)選被用來決定塊結(jié)構(gòu)。優(yōu)選地,每個查找點決定塊的開始,且可能存在涵蓋兩個連貫查找點之間的數(shù)據(jù)的一個或更多個塊。由于為以良好壓縮進行編碼的目的使得查找點之間的歷時不是固定的,因此不要求所有塊都具有相同的播出歷時。在一些實施例中,塊在內(nèi)容的各版本之間是對準的——即,若在內(nèi)容的一個版本中有跨越特定幀群的塊,則在該內(nèi)容的另一版本中也有跨越相同的幀群的塊。內(nèi)容的給定版本的各塊不交迭, 且內(nèi)容的每個幀被包含在每個版本的恰好一個塊內(nèi)。
      使得能允許高效利用查找點之間的可變歷時以及因此的可變歷時GoP的特征是可被包括在段中或通過其他手段提供給客戶端的段索引或段映射,即,這是可被提供的與該表示中的此段相關(guān)聯(lián)的包括該呈現(xiàn)的每個塊的開始時間和歷時的元數(shù)據(jù)。當用戶已請求該呈現(xiàn)在段內(nèi)的特定點開始時,客戶端可在確定要在哪個塊開始該呈現(xiàn)時使用該段索引數(shù)據(jù)。若沒有提供此類元數(shù)據(jù),則呈現(xiàn)僅能在內(nèi)容開頭或在接近合意點的隨機或近似點開始 (例如,通過將所請求的起始點(以時間計)除以平均塊歷時以給出起始塊的索引來選取起始塊)。在一個實施例中,每個塊可作為單獨的文件來提供。在另一個實施例中,多個連貫塊可被聚集成單個文件以構(gòu)成段。在該第二實施例中,可以提供每個版本的元數(shù)據(jù),其包括每個塊的開始時間和歷時以及該塊在此文件內(nèi)開始處的字節(jié)偏移量。該元數(shù)據(jù)可響應(yīng)于初始協(xié)議請求而提供,即可與段或文件分開地獲得,或者可被包含在與塊本身相同的文件或段內(nèi),例如位于文件開頭處。如對于本領(lǐng)域技術(shù)人員將清楚的,該元數(shù)據(jù)可以諸如gzip或 Δ編碼之類的壓縮形式或以二進制形式來編碼,以減少向客戶端傳輸該元數(shù)據(jù)所需的網(wǎng)絡(luò)資源。圖6示出了段索引的示例,其中塊具有可變大小,且其中塊的范疇是部分GoPdP 一個RAP與下一個RAP之間的媒體數(shù)據(jù)的部分量。在該示例中,查找點由RAP指示符來指示,其中RAP指示符值1指示該塊始于或包含RAP或查找點,并且其中RAP指示符O指示該塊不包含RAP或查找點。在該示例中,頭三個塊即字節(jié)O到157,033構(gòu)成第一 GoP,其具有 1. 623秒的呈現(xiàn)歷時,其呈現(xiàn)時間從進入內(nèi)容中的20秒走到21. 623秒。在該示例中,頭三個塊中的第一塊包括0. 485秒的呈現(xiàn)時間,且包括該段中的媒體數(shù)據(jù)的頭50,245字節(jié)。在該示例中,塊4、5和6構(gòu)成第二 GoP,塊7和8構(gòu)成第三GoP,并且塊9、10和11構(gòu)成第四 GoP0注意,媒體數(shù)據(jù)中可能存在沒有被指定為查找點、且因此在段映射中沒有作為RAP被信令的其他RAP。再次參照圖6,若客戶端或接收機想要訪問始于進入媒體呈現(xiàn)中約22秒的時間偏移量處的內(nèi)容,則客戶端可首先使用諸如以下更詳細地描述的MPD之類的其他信息來首先確定該相關(guān)媒體數(shù)據(jù)的確在該段內(nèi)。客戶端可例如使用HTTP字節(jié)范圍請求來下載該段的第一部分以獲得段索引,其在本例中只有幾個字節(jié)。使用該段索引,客戶端可確定自己應(yīng)當下載的第一塊是時間偏移量至多為22秒且始于RAP、即實為查找點的首個塊。在該示例中, 盡管塊5具有小于22秒的時間偏移量,即其時間偏移量為21. 965秒,但段索引指示塊5并非始于RAP,且由此基于段索引,客戶端改為選擇下載塊4,因為其開始時間至多為22秒,即其時間偏移量為21. 623秒,且其始于RAP。因此,基于段索引,客戶端將作出始于字節(jié)偏移量157,034的HTTP范圍請求。假使段索引不可用,則客戶端可能不得不在下載該數(shù)據(jù)之前先下載所有之前的 157,034字節(jié)的數(shù)據(jù),導致啟動時間或頻道換臺時間長得多,以及浪費地下載了無用的數(shù)據(jù)。替換地,假使段索引不可用,則客戶端可近似出合意數(shù)據(jù)在該段內(nèi)的開始之處,但該近似可能是不良的并且它可能錯過恰適的時間且隨后需要后退,這再次增加了啟動延遲。一般而言,每個塊涵蓋媒體數(shù)據(jù)的一部分,該部分連同先前各塊一起可由媒體播放器播出。因此,這種成塊結(jié)構(gòu)以及向客戶端信令通知段索引成塊結(jié)構(gòu)(無論包含在段內(nèi)還是通過其他手段提供給客戶端)的機制能顯著改善客戶端提供快速頻道換臺、以及在面臨網(wǎng)絡(luò)變動和中斷時的無縫播出的能力。如由段索引實現(xiàn)的對可變歷時塊以及僅涵蓋GoP 的部分的塊的支持能顯著改善流送體驗。例如,再次參照圖6以及以上描述的其中客戶端想要在進入呈現(xiàn)中約22秒處開始播出的示例,客戶端可通過一個或更多個請求來請求塊 4內(nèi)的數(shù)據(jù)并隨后一旦該塊可用就將其饋送給媒體播放器以開始回放。因此,在該示例中, 一旦在客戶端處接收到塊4的42,011字節(jié),播出就開始,由此實現(xiàn)快速的頻道換臺時間。 若相反在播放將要起動之前需要客戶端先請求整個GoP,則頻道換臺時間將較長,因為有 144,211字節(jié)的數(shù)據(jù)。在其他實施例中,RAP或查找點也可出現(xiàn)在塊當中,且段索引中可以有指示該RAP 或查找點在塊或片斷內(nèi)何處的數(shù)據(jù)。在其他實施例中,時間偏移量可以是塊內(nèi)的第一幀的解碼時間,而非塊內(nèi)的第一幀的呈現(xiàn)時間。圖8(a)和8 (b)解說了對跨多個版本或表示對準的查找點結(jié)構(gòu)的可變塊大小控制的示例;圖8(a)解說了在媒體流的多個版本上有對準的查找點的可變塊大小控制,而圖 8(b)解說了在媒體流的多個版本上有非對準的查找點的可變塊大小控制。跨頂部以秒示出時間,且這兩個表示的兩個段的塊和查找點以其相對于該時間線的時基的形式從左到右示出,并且因此所示的每個塊的長度與其播出時間成比例而不是與塊中的字節(jié)數(shù)目成比例。在該示例中,這兩個表示的兩個段的段索引對于查找點將具有相同的時間偏移量,但查找點之間具有潛在不同數(shù)目的塊或片斷,且由于每個塊中的媒體數(shù)據(jù)量不同,因此塊有不同的字節(jié)偏移量。在該示例中,若客戶端想要在約23秒的呈現(xiàn)時間處從表示1切換到表示2,則客戶端可請求直至表示1的段中的塊1. 2,并自塊2. 2起開始請求表示2的段,且因此切換將發(fā)生在與表示1中的查找點1. 2重合的呈現(xiàn)處,其與表示2 中的查找點2. 2位于相同的時間。如從前述內(nèi)容應(yīng)當清楚的,所描述的塊請求流送系統(tǒng)并不約束視頻編碼要將查找點放置在內(nèi)容內(nèi)的特定位置處,并且這緩解了現(xiàn)有系統(tǒng)的問題之一。在以上描述的實施例中,組織成使得相同內(nèi)容呈現(xiàn)的各種表示的查找點被對準。 然而,在許多情形中,優(yōu)選放寬該對準要求。例如,有時是這種情形已使用編碼工具生成不具有生成查找點對準的表示的能力的表示。作為另一示例,內(nèi)容呈現(xiàn)可被獨立地編碼成不同的表示,而不同的表示之間沒有查找點對準。作為另一示例,表示在其具有低速率且更普遍需要切換或者在其包含切換點以支持諸如快進或倒帶或快速查找之類的特技模式時可包含較多查找點。因此,希望提供使得塊請求流送系統(tǒng)能高效且無縫地應(yīng)對跨內(nèi)容呈現(xiàn)的各種表示非對準的查找點的方法。在該實施例中,跨表示的查找點的位置可能并不對準。塊被構(gòu)造成使得新塊始于每個查找點,且因此在呈現(xiàn)的不同版本的塊之間可能沒有對準。此類不同表示之間非對準的查找點結(jié)構(gòu)的示例在圖8(b)中示出??珥敳恳悦胧境鰰r間,且這兩個表示的兩個段的塊和查找點以其相對于該時間線的時基的形式從左到右示出,且因此所示的每個塊的長度與其播出時間成比例而不是與塊中的字節(jié)數(shù)目成比例。在該示例中,這兩個表示的兩個段的段索引對于查找點將具有潛在不同的時間偏移量,并且查找點之間也具有潛在不同數(shù)目的塊或片斷,且由于每個塊中的媒體數(shù)據(jù)量不同,因此塊有不同的字節(jié)偏移量。在該示例中, 若客戶端想要在約25秒的呈現(xiàn)時間處從表示1切換到表示2,則客戶端可請求直至表示1 的段中的塊1. 3,并自塊2. 3起開始請求表示2的段,且因此切換將發(fā)生在與表示2中的查找點2. 3重合的呈現(xiàn)處,其位于表示1中塊1. 3的播出當中,且因此塊1. 2的媒體中的一些將不被播出(盡管塊1. 3的沒被播出的幀的媒體數(shù)據(jù)可能已被加載到接收機緩沖器中以用于塊1. 3的其他被播出的幀的解碼)。在該實施例中,塊選擇器123的操作可被修改以使得每當它被要求從不同于先前所選版本的表示選擇塊時,其第一幀不晚于上次所選塊的最末幀之后的幀的最晚塊被選取。該最近描述的實施例可消除約束除第一版本以外的其他版本內(nèi)的查找點位置的要求,且因此提高了這些版本的壓縮效率,從而對于給定的可用帶寬得到更高質(zhì)量的呈現(xiàn)并且這是改善的用戶體驗。進一步的考慮是執(zhí)行跨內(nèi)容的多個編碼(版本)的查找點對準功能的視頻編碼工具可能并非普遍可用,因此該最近描述的實施例的優(yōu)點在于可以使用目前可用的視頻編碼工具。另一優(yōu)點在于內(nèi)容的不同版本的編碼可并行進行而完全無需不同版本的編碼過程之間的協(xié)調(diào)。另一優(yōu)點在于內(nèi)容的附加版本可在稍后的時間被編碼并被添加到呈現(xiàn),而不必向編碼工具提供具體查找點位置的列表。一般而言,在畫面被編碼為畫面群(GoP)的場合,序列中的第一畫面可以是查找點,但并非總是必需如此。最優(yōu)塊劃分塊請求流送系統(tǒng)中的一個關(guān)注問題是例如視頻媒體之類的經(jīng)編碼媒體的結(jié)構(gòu)與用于塊請求的塊結(jié)構(gòu)之間的交互。如視頻編碼領(lǐng)域中的技術(shù)人員將知曉的,往往是這種情形每個視頻幀的經(jīng)編碼表示所需的比特數(shù)目有時實際上逐幀變化。因此,收到數(shù)據(jù)量與由該數(shù)據(jù)編碼的媒體歷時之間的關(guān)系可能不是直截了當?shù)摹4送?,在塊請求流送系統(tǒng)內(nèi)將媒體數(shù)據(jù)分成塊增加了進一維的復雜性。具體而言,在一些系統(tǒng)中,塊的媒體數(shù)據(jù)可能在整個塊被接收到之前不會被播出,例如,使用擦除碼的塊內(nèi)的媒體數(shù)據(jù)布局或者塊內(nèi)的媒體樣本之間的依存性就可能導致這種性質(zhì)。由于塊大小與塊歷時之間的這些復雜交互以及可能需要在開始播出之前接收整個塊,因此客戶端系統(tǒng)通常采納保守辦法,其中在播出開始之前緩沖媒體數(shù)據(jù)。此類緩沖導致頻道換臺時間很長并且因此用戶體驗不良。I^kzad描述了“塊劃分方法”,這些方法是基于數(shù)據(jù)流的底層結(jié)構(gòu)來決定如何將數(shù)據(jù)流劃分成毗連塊的新穎且高效的方法,且I^akzad進一步描述了這些方法在流送系統(tǒng)的上下文中的若干優(yōu)點?,F(xiàn)在描述本發(fā)明將I^akzad的塊劃分方法應(yīng)用于塊請求流送系統(tǒng)的進一步實施例。該方法可包括將待呈現(xiàn)媒體數(shù)據(jù)安排成大致的呈現(xiàn)時間次序,以使得媒體數(shù)據(jù)的任何給定元素(例如,視頻幀或音頻樣本)的播出時間與任何毗鄰媒體數(shù)據(jù)元素的播出時間相差小于所設(shè)閾值。如此排序的媒體數(shù)據(jù)按I^akzad的話來說可被視為數(shù)據(jù)流,且應(yīng)用于該數(shù)據(jù)流的任何I^akzad方法標識該數(shù)據(jù)流的塊邊界。任一對毗鄰塊邊界之間的數(shù)據(jù)按本公開的話來說被視為“塊”,且本公開的方法被應(yīng)用以提供該媒體數(shù)據(jù)在塊請求流送系統(tǒng)內(nèi)的呈現(xiàn)。如本領(lǐng)域技術(shù)人員在閱讀本公開之際將清楚的,Pakzad中公開的方法的若干優(yōu)點由此可在塊請求流送系統(tǒng)的上下文中實現(xiàn)。如I^akzad中描述的,對段的塊結(jié)構(gòu)(包括涵蓋部分GoP或涵蓋一個以上GoP的部分的塊)的確定會影響客戶端實現(xiàn)快速頻道換臺時間的能力。在I^kzad中,提供了在給出目標啟動時間的情況下將提供塊結(jié)構(gòu)和目標下載速率的方法,該塊結(jié)構(gòu)和目標下載速率將確保若客戶端在任何查找點開始下載表示并在該目標啟動時間已流逝之后開始播出,則只要在每個時間點該客戶端已下載的數(shù)據(jù)量至少為目標下載速率乘以自下載開始以來流逝的時間,那么播出就將無縫地繼續(xù)。有利的是使客戶端能訪問目標啟動時間和目標下載速率,因為這向客戶端提供了確定何時開始在最早的時間點播出該表示的手段,并且只要下載滿足上述條件就允許客戶端繼續(xù)播出該表示。因此,稍后描述的方法提供了用于在媒體呈現(xiàn)描述內(nèi)包括目標啟動時間和目標下載速率的手段,從而其可被用于上述目的。媒體旱.現(xiàn)數(shù)據(jù)樽型圖5解說了圖1中所示的內(nèi)容存儲的可能結(jié)構(gòu),包括段和媒體呈現(xiàn)描述(“MPD”) 文件,以及MPD文件內(nèi)的段分解、時基和其他結(jié)構(gòu)?,F(xiàn)在將描述MPD結(jié)構(gòu)或文件的可能實現(xiàn)的細節(jié)。在許多示例中,MPD被描述為文件,但也可以使用非文件結(jié)構(gòu)。如其中解說的,內(nèi)容存儲110裝有多個源段510、MPD 500和修復段512。MPD可包括時段記錄501,時段記錄501又可包括表示記錄502,表示記錄502包含諸如對初始化段 504和媒體段505的引用之類的段信息503。圖9 (a)解說了示例元數(shù)據(jù)表900,而圖9 (b)解說了 HTTP流送客戶端902如何在與HTTP流送服務(wù)器906的連接上獲得元數(shù)據(jù)表900和媒體塊904的示例。在本文中描述的方法中,提供包括關(guān)于客戶端可用的媒體呈現(xiàn)的表示的信息的 “媒體呈現(xiàn)描述”。表示可以是替換性的,替換性的意義是指客戶端選出不同替換項之一,或者它們可以是互補性的,互補性的意義是指客戶端選擇其中若干個表示、每個表示可能也來自一組替換項,并且聯(lián)合地呈現(xiàn)這些表示。表示可有利地被指派到群,其中客戶端被編程或配置成理解對于一群中的表示,它們各自是彼此的替換項,而來自不同群的表示使得能聯(lián)合地呈現(xiàn)一個以上表示。換言之,若群中有一個以上表示,則客戶端從該群挑選一個表示,從下一群挑選一個表示等等以構(gòu)成呈現(xiàn)。描述表示的信息可有利地包括所應(yīng)用的媒體編解碼器的詳情,包括解碼該表示所需的那些編解碼器的簡檔和等級、視頻幀率、視頻分辨率以及數(shù)據(jù)率。接收媒體呈現(xiàn)描述的客戶端可使用該信息來事先確定表示是否適合解碼或呈現(xiàn)。這代表了優(yōu)點,因為若區(qū)別信息將僅被包含在表示的二進制數(shù)據(jù)中,則將必需請求來自所有表示的二進制數(shù)據(jù)并解析和提取相關(guān)信息才能發(fā)現(xiàn)關(guān)于其適用性的信息。這多個請求以及對數(shù)據(jù)的解析并附提取可能要花一些時間,這會導致啟動時間很長并且因此用戶體驗不良。此外,媒體呈現(xiàn)描述可包括基于時辰來限制客戶端請求的信息。例如對于實況服務(wù),客戶端可被限于請求呈現(xiàn)中接近“當前廣播時間”的部分。這代表了優(yōu)點,因為對于實況廣播,可能希望從服務(wù)基礎(chǔ)設(shè)施中清空比當前廣播時間早所設(shè)閾值以上廣播的內(nèi)容的數(shù)據(jù)。這對于服務(wù)基礎(chǔ)設(shè)施內(nèi)的存儲資源的重復使用而言是可取的。這還可能取決于所提供的服務(wù)類型而變?yōu)榭扇〉模?,在一些情形中,由于接收客戶端設(shè)備的某個訂閱模型,可使得呈現(xiàn)僅有實況可用,而可使得其他媒體呈現(xiàn)有實況和點播可用,并可使得其他呈現(xiàn)對于第一類客戶端設(shè)備僅有實況可用,對于第二類客戶端設(shè)備僅有點播可用,以及對于第三類客戶端設(shè)備有實況或點播的組合可用。(下文)“媒體呈現(xiàn)數(shù)據(jù)模型”小節(jié)中描述的方法允許向客戶端通知此類策略,從而客戶端對于服務(wù)基礎(chǔ)設(shè)施中可能不可用的數(shù)據(jù)可避免作出請求并調(diào)節(jié)對用戶的供應(yīng)。作為替換方案,例如,客戶端可向用戶呈現(xiàn)該數(shù)據(jù)不可用的通知。在本發(fā)明的進一步實施例中,媒體段可順應(yīng)于IS0/IEC 14496-12或衍生規(guī)范中描述的ISO基媒體文件格式(諸如3GPP技術(shù)規(guī)范26. 244中描述的3GP文件格式)。(上文)“3GPP文件格式的使用”這一小節(jié)描述了對ISO基媒體文件格式的新穎增強,從而準許在塊請求流送系統(tǒng)內(nèi)高效地使用該文件格式的數(shù)據(jù)結(jié)構(gòu)。如該參考文獻中描述的,可在文件內(nèi)提供信息從而準許媒體呈現(xiàn)的時間段與文件內(nèi)的字節(jié)范圍之間快速且高效的映射。 媒體數(shù)據(jù)本身可根據(jù)IS0/IEC14496-12中定義的電影片斷構(gòu)造來結(jié)構(gòu)化。提供時間和字節(jié)偏移量的該信息可被階層式地結(jié)構(gòu)化或被結(jié)構(gòu)化為單個信息塊。該信息可在文件開始處提供。使用如“3GPP文件格式的使用”這一小節(jié)中描述的高效編碼來提供該信息導致客戶端能迅速檢索該信息,例如在塊請求流送系統(tǒng)使用的文件下載協(xié)議是HTTP的情形中使用 HTTP部分獲取請求來迅速檢索該信息,這導致很短的啟動、查找或流切換時間且因此導致改善的用戶體驗。媒體呈現(xiàn)中的表示是同步在全局時間線上的,以確??绫硎?典型地為替換項) 的無縫切換,并且確保兩個或更多個表示的同步呈現(xiàn)。因此,自適應(yīng)HTTP流送媒體呈現(xiàn)內(nèi)的各表示中所包含的媒體的樣本時基可跨多個段與連續(xù)的全局時間線相關(guān)。包含多種類型的媒體(例如,音頻和視頻)的經(jīng)編碼媒體塊對于不同類型的媒體可具有不同的呈現(xiàn)結(jié)束時間。在塊請求流送系統(tǒng)中,此類媒體塊可按使每種媒體類型被連續(xù)地播放的方式來連貫播出,且因此來自一個塊的一種類型的媒體樣本可能在前一塊的另一類型的媒體樣本之前播出,這在本文中被稱為“連續(xù)塊拼接”。作為替換,此類媒體塊可按以下方式播放一個塊的任何類型的最早樣本在前一塊的任何類型的最晚樣本之后播放, 這在本文中被稱為“非連續(xù)塊拼接”。當這兩個塊包含來自相同內(nèi)容項和相同表示的按順序編碼的媒體時或在其他情形中,連續(xù)塊拼接可能是恰適的。典型地,在一個表示內(nèi),在拼接兩個塊時可以應(yīng)用連續(xù)塊拼接。這是有利的,因為可以應(yīng)用現(xiàn)有編碼,且可以在無需使媒體軌跡在塊邊界處對準的情況下進行分段。這在圖10中解說,其中視頻流1000包括塊1202 和其他塊,帶有諸如RAP 1204之類的RAP。媒體呈現(xiàn)描述媒體呈現(xiàn)可被視為HTTP流送服務(wù)器上的結(jié)構(gòu)化的文件集合。HTTP流送客戶端可下載充分的信息以向用戶呈現(xiàn)流送服務(wù)。替換表示可包括一個或更多個3GP文件或3GP文件的部分,其中這些3GP文件遵循3GPP文件格式或至少遵照一組定義明確的能容易地轉(zhuǎn)換自或轉(zhuǎn)換成3GP文件的數(shù)據(jù)結(jié)構(gòu)。媒體呈現(xiàn)可由媒體呈現(xiàn)描述來描述。媒體呈現(xiàn)描述(MPD)可包含元數(shù)據(jù),客戶端能使用該元數(shù)據(jù)來構(gòu)造恰適的文件請求,例如HTTP獲取請求,以在恰適的時間訪問處該數(shù)據(jù)并向用戶提供流送服務(wù)。媒體呈現(xiàn)描述可提供充分的信息以供HTTP流送客戶端選擇恰適的3GPP文件和文件片。信令通知客戶端可訪問的單位被稱為段。媒體呈現(xiàn)描述尤其可包含如下元素和屬性等。媒體呈現(xiàn)描述(MediaPresentationDescription)元素封裝供HTTP流送客戶端用來向最終用戶提供流送服務(wù)的元數(shù)據(jù)的元素?!懊襟w呈現(xiàn)描述”元素可包含以下屬性和元素中的一個或更多個。版本協(xié)議的版本號以確??蓴U展性。呈現(xiàn)標識符(PresentationIdentifier)使得該呈現(xiàn)可在其他呈現(xiàn)之中被唯一性地標識出來的信息。也可包含私有字段或名稱。
      更新頻率(UpdateFrequency):媒體呈現(xiàn)描述的更新頻率,即客戶端可多頻繁地重新加載實際的媒體呈現(xiàn)描述。若該元素不出現(xiàn),則媒體呈現(xiàn)可以是靜態(tài)的。更新媒體呈現(xiàn)可意味著媒體呈現(xiàn)不能被高速緩存。媒體呈現(xiàn)描述URI (MediaPresentationDescriptionURL)用于約定媒體呈現(xiàn)描述的URI。流(Stream)描述流或媒體呈現(xiàn)的類型視頻、音頻或文本。視頻流類型可包含音頻并且可包含文本。服務(wù)(Service)描述具有附加屬性的服務(wù)類型。服務(wù)類型可以是實況或點播。這可以用來通知客戶端超出某個當前時間的查找和訪問是不被準許的。最大客戶端預緩沖時間(MaximumClientPreBufferTime)客戶端可預緩沖媒體流的最大時間量。該時基可將流送與客戶端被限于下載超出該最大預緩沖時間的漸進式下載區(qū)別開。該值可以不出現(xiàn),指示沒有預緩沖意義上的限制可應(yīng)用。安全保護區(qū)間實況服務(wù)(&ifetyGuardIntervalLiveService)關(guān)于服務(wù)器上的實況服務(wù)的最大周轉(zhuǎn)時間的信息。向客戶端提供了在當前時間有哪些信息已可訪問的指示。若預期客戶端和服務(wù)器按UTC時間操作且不提供緊密的時間同步,則該信息可能是必需的。時移緩沖器深度(TimeShiftBufferD印th)關(guān)于客戶端在實況服務(wù)中kel相對于當前時間回移多遠的信息。藉由該深度的擴展,無需在服務(wù)供應(yīng)中作出特定改變也可準許時移觀看和追看服務(wù)。準許本地高速緩存(LocalCachingPermitted)該標志指示HTTP客戶端在已播放所下載的數(shù)據(jù)之后是否能本地高速緩存該數(shù)據(jù)。實況呈現(xiàn)區(qū)間(LivePresentationlnverval)通過指定開始時間(MartTimes) 和結(jié)束時間(EndTimes)來包含其間呈現(xiàn)可用的時間區(qū)間?!伴_始時間”指示服務(wù)的開始時間而“結(jié)束時間”指示服務(wù)的結(jié)束時間。若沒有指定結(jié)束時間,則結(jié)束時間在當前時間是未知的,且“更新頻率”可確保客戶端能在服務(wù)的實際結(jié)束時間之前訪問到結(jié)束時間。點播可用性區(qū)間(OnDemandAvailabilityInterval)該呈現(xiàn)區(qū)間指示該服務(wù)在網(wǎng)絡(luò)上的可用性??梢蕴峁┒鄠€呈現(xiàn)區(qū)間。HTTP客戶端在任何指定時間窗以外可能不能訪問該服務(wù)。通過提供“點播區(qū)間”,可指定額外的時移觀看。對于實況服務(wù),該屬性也可出現(xiàn)。倘若對于實況服務(wù)該屬性出現(xiàn),則服務(wù)器可確保在所有所提供的可用性區(qū)間期間,客戶端能以點播服務(wù)的形式來訪問該服務(wù)。因此,“實況呈現(xiàn)區(qū)間”不可與任何“點播可用性區(qū)間”交迭。MPD文件信息動態(tài)(MPDFiIeInfoDynamic)描述媒體呈現(xiàn)中的文件的默認動態(tài)構(gòu)造。更多細節(jié)在下文中提供。若對若干或所有替換表示使用相同規(guī)則,則在MPD等級上的默認指定可以節(jié)省不必要的重復。MPD編解碼器描述(MPDCodecDescription)描述媒體呈現(xiàn)中的主默認編解碼器。 更多細節(jié)在下文中提供。若對若干或所有表示使用相同的編解碼器,則在MPD等級上的默認指定可以節(jié)省不必要的重復。MPD 移動包頭部大小不變(MPDMoveBoxHeaderSizeDoexNotChange)指示移動包頭部的大小在整個媒體呈現(xiàn)內(nèi)各個體文件之間是否改變的標志。該標志可用來優(yōu)化下載并且可以僅在特定段格式(尤其是其段包含moov頭部的那些段格式)的情形中才出現(xiàn)。FileURI模式(FileURII^attern)客戶端用來生成對媒體呈現(xiàn)內(nèi)的文件的請求消息的模式。不同屬性準許為媒體呈現(xiàn)內(nèi)的每個文件生成唯一性的URI?;鵘RI可以是HTTP URI。替換表示描述表示列表。(AlternativeRepresentation) “ jt^.封裝一個表示的所有元數(shù)據(jù)的XML元素。“替換表示”元素可包含以下屬性和元
      ο表示ID(ItepresentationID)媒體呈現(xiàn)內(nèi)該特定替換表示的唯一性ID。靜態(tài)文件信息(Fileshfc^tatic)提供一個替換呈現(xiàn)的所有文件的起始時間和 URI的顯式列表。文件列表的該靜態(tài)提供可提供對媒體呈現(xiàn)有確切時基描述的優(yōu)點,但可能不夠緊湊,尤其是如果替換表示包含許多文件。另外,這些文件名稱可具有任意的名稱。動態(tài)文件信息(FilesInfoDynamic)提供構(gòu)造一個替換呈現(xiàn)的起始時間和URI的列表的隱式方式。該文件列表的動態(tài)提供可提供具有更緊湊表示的優(yōu)點。若僅提供了起始時間序列,則此處時基優(yōu)點也成立,但文件名稱將基于文件模式URI(FileI^tternURI)來動態(tài)地構(gòu)造。若僅提供每個段的歷時,則表示是緊湊的并且可適合用在實況服務(wù)內(nèi),但文件的生成可由全局時基來掌管。AP移動包頭部大小不變(APMoveBoxHeaderSizeDoesNotChange)指示移動包頭部的大小在替換描述內(nèi)各個體文件之間是否改變的標志。該標志可用來優(yōu)化下載并且可以僅在特定段格式(尤其是其段包含moov頭部的那些段格式)的情形中才出現(xiàn)。AP編解碼器描述(APCodecDescription)描述替換呈現(xiàn)中的文件的主編解碼器。媒體描述元素媒體描述(MediaDescription)可封裝該表示中所包含的媒體的所有元數(shù)據(jù)的元素。具體而言,它可包含關(guān)于該替換呈現(xiàn)中的軌跡以及推薦的軌跡編組(若適用)的信息。“媒體描述”屬性包含以下屬性軌跡描述(TrackDescription)封裝該表示中所包含的媒體的所有元數(shù)據(jù)的XML 屬性?!败壽E描述”屬性包含以下屬性軌跡ID(TrackID)替換表示內(nèi)的軌跡的唯一性ID。這可以用在軌跡是編組描述的一部分的情形中。比特率(Bitrate)軌跡的比特率。軌跡編解碼器描述(TrackCodecDescription)包含關(guān)于該軌跡中使用的編解碼器的所有屬性的XML屬性?!败壽E編解碼器描述”屬性包含以下屬性媒體名稱(MediaName)定義媒體類型的屬性。媒體類型包括“音頻”、“視頻”、“文本”、“應(yīng)用”和“消息”。編解碼器(Codec):包括簡檔和等級的編解碼器類型。語言標記(LanguageiTag)語言標記(若適用)。最大寬度(MaxWidth)、最大高度(MaxHeight)對于視頻而言,是指被包含的視頻以像素計的高度和寬度。采樣率(SamplingRate)對于音頻而言的采樣率。
      群描述(GroupDescription)基于不同參數(shù)向客戶端提供對恰適編組的推薦的屬性。群類型(GroupType)基于該類型,客戶端可決定如何編組軌跡。媒體呈現(xiàn)描述中的信息有利地被HTTP流送客戶端用來在恰適的時間執(zhí)行對文件 /段或其部分的請求,以選擇來自例如在接入帶寬、顯示能力、編解碼器能力等等以及諸如語言等用戶偏好的意義上匹配其能力的勝任表示的段。此外,由于“媒體呈現(xiàn)描述”描述了時間對準且被映射到全局時間線的表示,因此客戶端在正在進行的媒體呈現(xiàn)期間還可以使用MPD中的信息來發(fā)起恰適的行動以跨表示進行切換、聯(lián)合地呈現(xiàn)各表示、或在媒體呈現(xiàn)內(nèi)進行查找。信令通知段開始時間表示可按時間被拆分成多個段。一個段的最后片斷與下一段的下一片斷之間存在軌跡間時基問題。此外,在使用有恒定歷時的段的情形中,存在另一個時基問題。對每個段使用相同歷時可具有MPD既緊湊又呈靜態(tài)的優(yōu)點。然而,每個段可能仍始于隨機訪問點。因此,要么可將視頻編碼約束成在這些特定點提供隨機訪問點,要么實際的段歷時可能沒有像在MPD中指定的那樣精確??赡芟M魉拖到y(tǒng)對視頻編碼過程不施加不必要的限制,且因此第二選項可能是優(yōu)選的。具體而言,若在MPD中將文件歷時指定為d秒,則第η個文件可始于時間(n-l)d 處或緊隨其后的隨機訪問點。在該辦法中,每個文件可包括關(guān)于該段的在全局呈現(xiàn)時間意義上的確切開始時間的信息。信令通知這一點的三種可能方式包括(1)第一,將每個段的開始時間限制成如在MPD中指定的確切時基。但由此媒體編碼器對于IDR幀的放置可能不具有任何靈活性且文件流送可能要求特殊編碼。(2)第二,為每個段向MPD添加確切開始時間。對于點播情形,MPD的緊湊性可能降低。對于實況情形,這可能要求對MPD的定期更新,這會降低可伸縮性。(3)第三,在MPD中向段添加全局時間或相對于該表示的宣稱開始時間或該段的宣稱開始時間的確切開始時間,向段添加的意義是指段包含該信息。它可被添加至專用于自適應(yīng)流送的新包。該包還可包括如由“TIDX”或“SIDX”包所提供的信息。該第三辦法的結(jié)果是在查找這些段之一的開頭附近的特定位置時,客戶端可以基于MPD來選取包含所請求的查找點的那個段的后續(xù)段。該情形中的簡單反應(yīng)可以是將查找點前向移至檢索到的段的開始(即,移至查找點之后的下一個隨機訪問點)。通常,至少每幾秒就提供隨機訪問點 (且使得它們更不頻繁往往幾乎獲得不到多少編碼增益)且因此在最差情形中,查找點可被移到比指定處晚幾秒。替換地,客戶端在檢索該段的頭部信息時可確定所請求查找點實際上是在前一段中并改為請求該段。這可能導致不時地增加執(zhí)行查找操作所需的時間??稍L問段的列表媒體呈現(xiàn)包括一組表示,每個表示提供對原始媒體內(nèi)容的某個不同版本的編碼。 這些表示本身有利地包含關(guān)于該表示相比于其他參數(shù)的區(qū)別參數(shù)的信息。它們還顯式地或隱式地包含可訪問段的列表。段可被區(qū)別為僅包含元數(shù)據(jù)的不受時間影響的段和主要包含媒體數(shù)據(jù)的媒體段。 媒體呈現(xiàn)描述(“MPD”)有利地標識每個段并向每個段指派不同的屬性,要么隱式地要么顯式地進行。有利地指派給每個段的屬性包括期間段可訪問的時段、藉以可訪問段的資源和協(xié)議。此外,媒體段被有利地指派諸如該段在媒體呈現(xiàn)中的開始時間、以及該段在媒體呈現(xiàn)中的歷時之類的屬性。在媒體呈現(xiàn)如有利地由媒體呈現(xiàn)描述中的屬性(諸如點播可用性區(qū)間)指示的那樣為“點播”類型的場合,則媒體呈現(xiàn)描述典型地描述整個段并且還提供這些段何時可訪問以及這些段何時不可訪問的指示。段的開始時間有利地相對于媒體呈現(xiàn)的開始來表達,以使得在不同時間開始回放相同媒體呈現(xiàn)的兩個客戶端能使用相同的媒體呈現(xiàn)描述以及相同的媒體段。這有利地提高了高速緩存這些段的能力。在媒體呈現(xiàn)如有利地由媒體呈現(xiàn)描述中的屬性(諸如“服務(wù)”屬性)指示的那樣為“實況”類型的場合,則包括媒體呈現(xiàn)的超出實際時辰的部分的段一般不被生成或者至少不可訪問,盡管這些段在MPD中作了完整描述。然而,有了媒體呈現(xiàn)服務(wù)為“實況”類型的指示,客戶端可基于MPD中包含的信息以及MPD的下載時間來產(chǎn)生對以壁鐘時間計的客戶端內(nèi)部時間“現(xiàn)在”而言可訪問的段連同時基屬性的列表。服務(wù)器有利地在使得資源可訪問從而在壁鐘時間“現(xiàn)在”用MPD的實例操作的參考客戶端能訪問該資源的意義上操作。具體地,參考客戶端基于MPD中包含的信息以及MPD的下載時間產(chǎn)生對以壁鐘時間計的客戶端內(nèi)部時間“現(xiàn)在”而言可訪問的段連同時基屬性的列表。隨著時間前進,客戶端將使用相同的MPD并且將創(chuàng)建能用來連續(xù)地播出該媒體呈現(xiàn)的新的可訪問段列表。因此,服務(wù)器可在段實際上能訪問之前在MPD中宣告這些段。這是有利的,因為其減少了對 MPD的頻繁更新和下載。假定通過諸如“靜態(tài)文件信息”之類的元素中的播放列表顯式地描述了或者通過使用諸如“動態(tài)文件信息”之類的元素隱式地描述了各自具有開始時間tS的段的列表。以下描述使用“動態(tài)文件信息”來生成段列表的有利方法?;谠摌?gòu)造規(guī)則,客戶端能訪問每個表示r的URI的列表(在本文中稱為FileURI (r,i))以及索引為i的每個段的開始時間
      tS(r, i) ο使用MPD中的信息來創(chuàng)建段的可訪問時間窗可使用以下規(guī)則來執(zhí)行。對于如有利地由諸如“服務(wù)”之類的屬性指示的那樣類型為“點播”的服務(wù),若在客戶端處的當前壁鐘時間“現(xiàn)在”落在如有利地由諸如“點播可用性區(qū)間”之類的MPD元素表達的任何可用性范圍內(nèi),則該點播呈現(xiàn)的所有被描述的段皆是可訪問的。若在客戶端處的當前壁鐘時間“現(xiàn)在”落在任何可用性范圍之外,則該點播呈現(xiàn)的被描述段皆是不可訪問的。對于如有利地由諸如“服務(wù)”之類的屬性指示的那樣類型為“實況”的服務(wù),開始時間tS(r,i)有利地以壁鐘時間來表達可用性時間。可用性開始時間可推導為是事件的實況服務(wù)時間與服務(wù)器處用于捕捉、編碼和發(fā)布的一些周轉(zhuǎn)時間的組合。該過程的時間可例如在MPD中指定,例如使用在MPD中指定為“安全保護區(qū)間實況服務(wù)”的安全保護區(qū)間tG來指定。這將提供UTC時間與HTTP流送服務(wù)器上的數(shù)據(jù)可用性之間的最小差異。在另一實施例中,MPD顯式地指定MPD中的段的可用性時間而不提供作為事件實況時間與周轉(zhuǎn)時間之差的周轉(zhuǎn)時間。在以下描述中,假定任何全局時間被指定為可用性時間。實況媒體廣播領(lǐng)域中的普通技術(shù)人員在閱讀本描述之后可從媒體呈現(xiàn)描述中的合適信息推導出該信息。若在客戶端處的當前壁鐘時間“現(xiàn)在”落在有利地由諸如“實況呈現(xiàn)區(qū)間”之類的MPD元素表達的實況呈現(xiàn)區(qū)間的任何范圍之外,則該實況呈現(xiàn)的被描述的段皆是不可訪問的,若在客戶端處的當前壁鐘時間“現(xiàn)在”落在實況呈現(xiàn)區(qū)間內(nèi),則該實況呈現(xiàn)的被描述的段中的至少某些段可能是可訪問的。對可訪問段的限制由以下值來掌管壁鐘時間“現(xiàn)在”(如客戶端可用的)。例如在媒體呈現(xiàn)描述中指定為“時移緩沖器深度”的所準許的時移緩沖器深度 tTSBo客戶端在相對事件時間tl可能僅被允許請求開始時間tS(r,i)落在(現(xiàn)在-tTSB)至“現(xiàn)在”的區(qū)間中或者落在使得歷時為d的段的結(jié)束時間也被包括(從而得到區(qū)間(現(xiàn)在-tTSB-d)至“現(xiàn)在”)的區(qū)間中的段。更新 MPD在一些實施例中,服務(wù)器事先并不知道段的文件或段定位符以及開始時間,因為例如服務(wù)器位置將改變,或者媒體呈現(xiàn)包括來自不同服務(wù)器的一些廣告,或者媒體呈現(xiàn)的歷時是未知的,或者服務(wù)器想要混淆后繼段的定位符。在此類實施例中,服務(wù)器可能僅描述已經(jīng)可訪問或者在發(fā)布了 MPD的該實例之后不久便可訪問的段。此外,在一些實施例中,客戶端有利地消費接近MPD中描述的媒體的那些媒體,以使得用戶體驗到所包含的與媒體內(nèi)容的生成盡可能接近的媒體節(jié)目。一旦客戶端預計自己到達MPD中所描述的媒體段的末尾,它就有利地在服務(wù)器已發(fā)布描述新媒體段的新MPD的預期下請求MPD的新實例以繼續(xù)連續(xù)播出。服務(wù)器有利地生成MPD的新實例并更新MPD以使得客戶端能依賴該規(guī)程進行連續(xù)更新。服務(wù)器可使自己的MPD更新規(guī)程連同段生成和發(fā)布適配于其行為舉止如普通客戶端可能的行為舉止的參考客戶端的規(guī)程。若MPD的新實例僅描述很短的時間提前量,則客戶端需要頻繁地請求MPD的新實例。這可能由于不必要的頻繁請求而導致可伸縮性問題以及不必要的上行鏈路和下行鏈路話務(wù)。因此,有關(guān)系的是,一方面要描述盡可能遠地進入將來的段而不必使它們已可訪問,另一方面要使MPD中未預見的更新能表達新服務(wù)器位置、準許插入諸如廣告之類的新內(nèi)容或提供編解碼器參數(shù)的改變。此外,在一些實施例中,媒體段的歷時可能很小,諸如在幾秒的范圍中。媒體段的歷時有利地是靈活的,以便調(diào)節(jié)到可針對投遞或高速緩存性質(zhì)來優(yōu)化的合適段大小、補償實況服務(wù)中的端對端延遲或應(yīng)對段存儲或投遞的其他方面、或出于其他原因。尤其是在段與媒體呈現(xiàn)歷時相比很小的情形中,則需要在媒體呈現(xiàn)描述中描述顯著量的媒體段資源和開始時間。結(jié)果,媒體呈現(xiàn)描述的大小可能很大,這會不利地影響媒體呈現(xiàn)描述的下載時間且因此影響媒體呈現(xiàn)的啟動延遲以及還有接入鏈路上的帶寬使用。因此,有利的是不僅準許使用播放列表來描述媒體段列表,且還準許通過使用模板或URL構(gòu)造規(guī)則來進行描述。 模板和URL規(guī)則規(guī)則在本描述中同義地使用。此外,模板可有利地被用來在實況情形中描述超出當前時間的段定位符。在此類情形中,對MPD的更新本身不是必需的,因為定位符以及段列表是由模板描述的。然而,可能仍會發(fā)生未預見的事件,這要求對表示或段的描述進行改變。當來自多個不同源的內(nèi)容被拼接在一起時,例如在插入了廣告時,可能需要自適應(yīng)HTTP流送媒體呈現(xiàn)描述上的改變。來自不同源的內(nèi)容可能在各種方面有所不同。實況呈現(xiàn)期間的另一個原因在于可能有必要改變用于內(nèi)容文件的URL以提供從一個實況發(fā)源服務(wù)器故障轉(zhuǎn)移到另一個。
      在一些實施例中,有利的是若MPD被更新,則對MPD的更新被執(zhí)行以使得經(jīng)更新的 MPD與先前MPD兼容,兼容的意義是指對于直至先前MPD的有效時間為止的任何時間,參考客戶端以及因此任何所實現(xiàn)的客戶端從經(jīng)更新的MPD生成的可訪問段列表與其從MPD的該先前實例會生成的可訪問段列表等同地起效。該要求確保了(a)客戶端可立即開始使用新MPD而無需與舊MPD同步,因為新MPD在更新時間之前就與舊MPD兼容;以及(b)更新時間無需與對MPD的實際改變發(fā)生的時間同步。換言之,對MPD的更新可事先被廣告,并且一旦有新信息可用,服務(wù)器就能替換掉MPD的舊實例而不必維護MPD的不同版本。對跨用于一組表示或所有表示的MPD更新的媒體時基可存在兩種可能性。(a)現(xiàn)有全局時間線跨該MPD更新而延續(xù)(在本文中被稱為“連續(xù)MPD更新”),或(b)當前時間線結(jié)束并且新時間線從繼該改變之后的段開始(在本文中被稱為“非連續(xù)MPD更新”)。在考慮到媒體片斷的軌跡以及因此段的軌跡由于跨各軌跡的樣本粒度有所不同故而一般并不在相同的時間開始和結(jié)束的情況下,這些選項之間的差異可能是明顯的。在正常呈現(xiàn)期間,片斷的一個軌跡的樣本可能在先前片斷的另一軌跡的一些樣本之前被渲染,即片斷之間可能存在某種交迭,盡管單個軌跡內(nèi)可能沒有交迭。(a)與(b)之間的差異在于是否可允許跨MPD更新實現(xiàn)此類交迭。當MPD更新是由于完全分開的內(nèi)容的拼接時,此類交迭一般是難以達成的,因為新內(nèi)容需要新編碼才能與先前內(nèi)容拼接。因此有利的是提供通過為某些段重啟時間線來非連續(xù)地更新媒體呈現(xiàn)、 以及有可能還在更新之后定義一組新的表示的能力。而且,若內(nèi)容已被獨立地編碼和分段, 則還避免要將時戳調(diào)節(jié)成擬合在先前內(nèi)容片的全局時間線內(nèi)。在更新是出于次要原因,諸如僅僅是向所描述媒體段的列表添加新媒體段時,或者若URL的位置被改變,則交迭和連續(xù)更新可被允許。在非連續(xù)MPD更新的情形中,先前表示的最末段的時間線在該段中任何樣本的最晚呈現(xiàn)結(jié)束時間處結(jié)束。下一表示的時間線(或更準確而言,媒體呈現(xiàn)的新部分的第一個媒體段的首次呈現(xiàn)時間,也被稱為新時段)典型地且有利地始于與上一時段的呈現(xiàn)的結(jié)束相同的該時刻,以確保無縫和連續(xù)播出。這兩種情形在圖11中解說。優(yōu)選且有利的是將MPD更新限制于段邊界。將此類改變或更新限制于段邊界的基本原理如下。首先,對每個表示的二進制元數(shù)據(jù)(典型情況下為電影頭部)的改變至少可在段邊界處發(fā)生。其次,媒體呈現(xiàn)描述可包含指向段的指針(URL)。在某種意義上,MPD是將與媒體呈現(xiàn)相關(guān)聯(lián)的所有段文件編組在一起的“傘”數(shù)據(jù)結(jié)構(gòu)。為了維護該包容關(guān)系,每個段可被單個MPD引用,且當該MPD被更新時,有利的是僅在段邊界處更新該MPD。一般不要求段邊界對準,然而對于從不同源拼接的內(nèi)容的情形以及普遍對于非連續(xù)MPD更新,使段邊界對準是有意義的(具體而言,每個表示的最末段可在相同的視頻幀結(jié)束并且不可包含呈現(xiàn)開始時間晚于該幀的呈現(xiàn)時間的音頻樣本)。非連續(xù)更新隨后可在共同的時刻(稱為時段)開始一組新的表示。該組新的表示的有效性的開始時間例如由時段開始時間來提供。每個表示的相對開始時間被復位為0且該時段的開始時間將該新時段中的該組表示放在全局媒體呈現(xiàn)時間線中。
      對于連續(xù)MPD更新,不要求段邊界對準。每個替換表示的每個段可由單個媒體呈現(xiàn)描述來掌管,且因此對該媒體呈現(xiàn)描述的新實例的更新請求(其一般因預計沒有更多的媒體段在此工作MPD中被描述而被觸發(fā))取決于所消費的這一組表示可發(fā)生在不同時間, 其中該組表示包括預計要消非的這組表示。為了支持更一般化情形中MPD元素和屬性的更新,不僅是表示或一組表示,而是可將任何元素與有效性時間相關(guān)聯(lián)。因此,若MDP的某些元素需要更新,例如在表示的數(shù)目改變了或URL構(gòu)造規(guī)則改變了的場合,則通過為元素的多個副本提供不相交的有效性時間,這些元素各自可在指定時間被分別更新。有效性有利地與全局媒體時間相關(guān)聯(lián),以使得與有效性時間相關(guān)聯(lián)的被描述元素在媒體呈現(xiàn)的全局時間線的時段里有效。如以上所討論的,在一個實施例中,有效性時間僅被添加到全組表示。每個全組則構(gòu)成時段。有效性時間隨后構(gòu)成該時段的開始時間。換言之,在使用有效性元素的具體情形中,全組表示可在由一組表示的全局有效性時間指示的時間段里有效。一組表示的有效性時間被稱為時段。在新時段的開始,前一組表示的有效性過期且新一組表示有效。再次注意,有效性時間段優(yōu)選是不相交的。如上所述,對媒體呈現(xiàn)描述的改變發(fā)生在段邊界處,且因此對于每個表示,元素改變實際上發(fā)生在下一段邊界處。客戶端隨后可構(gòu)成有效MPD,其包括媒體的呈現(xiàn)時間內(nèi)的每個時刻的段列表。在其中塊包含來自不同表示或來自不同內(nèi)容(例如,來自內(nèi)容段和廣告)的媒體數(shù)據(jù)的情形中或在其他情形中,非連續(xù)塊拼接可能是恰適的。在塊請求流送系統(tǒng)中可能要求對呈現(xiàn)元數(shù)據(jù)的改變僅發(fā)生在塊邊界處。這出于實現(xiàn)原因可能是有利的,因為在塊內(nèi)更新媒體解碼器參數(shù)可能比僅在塊之間更新這些參數(shù)更加復雜。在該情形中,可有利地指定如上所描述的有效性區(qū)間可被解釋成近似的,以使得元素被視為從不早于所指定的有效性區(qū)間的開始的第一個塊邊界至不早于所指定的有效性區(qū)間的末尾的第一個塊邊界是有效的。以上描述的對塊請求流送系統(tǒng)的新穎增強的示例實施例在稍后給出的為“對媒體呈現(xiàn)的改變”的小節(jié)中描述。段歷時信令非連續(xù)更新有效地將呈現(xiàn)分成一系列不相交的稱為時段的區(qū)間。每個時段具有其自己的時間線用于媒體樣本時基。時段內(nèi)的表示的媒體時基可有利地通過指定每個時段或時段中的每個表示的段歷時的單獨的緊湊列表來指示。與MPD內(nèi)的元素相關(guān)聯(lián)的例如稱為時段開始時間之類的屬性可指定媒體呈現(xiàn)時間內(nèi)的某些元素的有效性時間。該屬性可被添加到MPD的任何元素(可對元素換上可被指派有效性的屬性)。對于非連續(xù)MPD更新,所有表示的段可在非連續(xù)點結(jié)束。這一般至少意味著該非連續(xù)點之前的最末段與先前各段具有不同歷時。信令通知段歷時可涉及指示所有段具有相同的歷時或者為每個段指示單獨的歷時??赡芟M哂嘘P(guān)于段歷時列表的緊湊表示,這在有許多段具有相同歷時的情形中是高效的。一個表示或一組表示中的每個段的歷時可有利地用單個串來實現(xiàn),該串指定了從非連續(xù)更新的開始(即該時段的開始)直至MPD中描述的最末媒體段為止的單個區(qū)間的所有段歷時。在一個實施例中,該元素的格式是與包含段歷時條目列表的產(chǎn)生式相符的文本串,其中每個條目包含歷時屬性dur以及該屬性的可任選的乘數(shù)mult,該乘數(shù)指示該表示包含第一條目的<mult>個其歷時為第一條目的<dur>的段,隨后是第二條目的<mult>個其歷時為第二條目的<dur>的段,依此類推。每個歷時條目指定一個或更多個段的歷時。若<dur>值后面跟有“*”字符和數(shù)字, 則該數(shù)字指定具有該歷時(以秒計)的連貫段的數(shù)目。若不存在乘數(shù)符號“*”,則段數(shù)目為 1。若存在“*”而沒有后繼數(shù)字,則所有后續(xù)段具有所指定的歷時且該列表中可能沒有進一步的條目。例如,串“30*”意味著所有段具有30秒的歷時。串“30*12 10.5”指示有12個歷時30秒的段,繼以一個歷時為10. 5秒的段。若針對每個替換表示分開地指定段歷時,則每個區(qū)間內(nèi)的段歷時的總和對于每個表示而言可以是相同的。在視頻軌跡的情形中,該區(qū)間在每個替換表示中可結(jié)束于相同的幀。本領(lǐng)域普通技術(shù)人員在閱讀本公開之際可發(fā)現(xiàn)以緊湊方式來表達段歷時的類似和等效途徑。在另一實施例中,由信號“歷時屬性 < 歷時 >”來信令通知除了最后一個段以外,對于該表示中的所有段而言段的歷時是恒定的。非連續(xù)更新之前的最末段的歷時可以較短, 只要提供了下一非連續(xù)更新的開始點或新時段的開始即可,而這則意味著最末段的歷時延及下一時段的開始。對表示元數(shù)據(jù)的改變和更新指示諸如電影頭部“moov”改變之類的經(jīng)二進制編碼的表示元數(shù)據(jù)的改變可按不同方式來完成(a)在MPD中引用的單獨文件中可以對所有表示有一個moov包,(b)在每個替換表示中引用的單獨文件中可以對每個替換表示有一個moov包,(c)每個段可包含moov 包且因此是自含式的,(d)在與MPD—起的一個3GP文件中可以有用于所有表示的moov包。注意在(a)和(b)的情形中,可有利地將單個“moov”與來自上文的有效性概念相組合,組合的意義是指在MPD中可以引用更多的“moov”包,只要其有效性不相交即可。例如,有了時段邊界的定義,舊時段中的‘moov’的有效性可隨著新時段的開始而過期。在選項(a)的情形中,對單個moov包的引用可被指派有效性元素??稍试S多個呈現(xiàn)頭部,但每個時間僅可有一個呈現(xiàn)頭部有效。在另一實施例中,如以上定義的時段中的整組表示或整個時段的有效性時間可被用作該表示元數(shù)據(jù)的有效性時間,典型地作為moov 頭部來提供。在選項(b)的情形中,對每個表示的moov包的引用可被指派有效性元素。可允許多個表示頭部,但每個時間僅可有一個表示頭部有效。在另一實施例中,如以上定義的整個表示或整個時段的有效性時間可被用作該表示元數(shù)據(jù)的有效性時間,典型地作為moov頭部來提供。在選項(c)的情形中,可以不在MPD中添加信令,但可在媒體流中添加附加信令以指示moov包對于任何即將到來的段是否將改變。這在下文“信令通知段元數(shù)據(jù)內(nèi)的更新” 這一小節(jié)的上下文中進一步解釋。信令通知段元數(shù)據(jù)內(nèi)的更新
      為了避免頻繁更新媒體呈現(xiàn)描述以獲得關(guān)于潛在更新的知識,有利的是連同媒體段一起信令通知任何此類更新。在媒體段本身內(nèi)可提供附加的一個或多個元素,其可指示有經(jīng)更新的元數(shù)據(jù)(諸如媒體呈現(xiàn)描述)可用并且必須在某個時間量內(nèi)被訪問才能成功地繼續(xù)創(chuàng)建可訪問段列表。此外,對于經(jīng)更新的元數(shù)據(jù)文件,此類元素可提供文件標識符(諸如URL)或可用來構(gòu)造文件標識符的信息。經(jīng)更新元數(shù)據(jù)文件可包括等于將與該呈現(xiàn)的原始元數(shù)據(jù)文件中提供的元數(shù)據(jù)修改成指示有效性區(qū)間的元數(shù)據(jù)、連同也伴隨著有效性區(qū)間的附加元數(shù)據(jù)。此類指示可在媒體呈現(xiàn)的所有可用表示的媒體段中提供。訪問塊請求流送系統(tǒng)的客戶端在檢測到媒體塊內(nèi)的此類指示之際可使用文件下載協(xié)議或其他手段來檢索經(jīng)更新元數(shù)據(jù)文件。藉此為客戶端提供了關(guān)于媒體呈現(xiàn)描述中的改變以及這些改變將發(fā)生或已發(fā)生的時間的信息。有利地,每個客戶端僅在此類改變發(fā)生時請求經(jīng)更新媒體呈現(xiàn)描述一次,而非“輪詢”并接收該文件許多次以獲得可能的更新或改變。改變的示例包括表示的添加或移除,對一個或更多個表示的改變,諸如比特率、分辨率、縱橫比、所包括的軌跡或編解碼器參數(shù)的改變,以及對URL構(gòu)造規(guī)則的改變,例如用于廣告的不同發(fā)源服務(wù)器。一些改變可能僅影響與表示相關(guān)聯(lián)的初始化段,諸如電影頭部 ("moov")原子,而其他改變可能影響媒體呈現(xiàn)描述(MPD)。在點播內(nèi)容的情形中,這些改變及其時基可以事先知曉且可在媒體呈現(xiàn)描述中信令通知。對于實況內(nèi)容,改變可能在它們發(fā)生的時間點之前是未知的。一個解決方案是允許在特定URL處可用的媒體呈現(xiàn)描述被動態(tài)地更新并且要求客戶端定期地請求該MPD以便檢測改變。該解決方案在可伸縮性(發(fā)源服務(wù)器負荷以及高速緩存效率)意義上有缺點。 在具有大量觀眾的場景中,高速緩存可能在MPD的先前版本已從高速緩存過期之后并在新版本被接收到之前接收到許多對MPD的請求,且所有這些請求可能被轉(zhuǎn)發(fā)給發(fā)源服務(wù)器。 發(fā)源服務(wù)器可能需要不斷地處理來自高速緩存的對MPD的每個經(jīng)更新版本的請求。而且, 這些更新可能不容易與媒體呈現(xiàn)中的改變在時間上對準。由于HTTP流送的優(yōu)點之一在于利用標準web基礎(chǔ)設(shè)施和服務(wù)以獲得可伸縮性的能力,因此優(yōu)選的解決方案可僅涉及“靜態(tài)”(即,可高速緩存的)文件而不依賴于客戶端 “輪詢”文件以查看它們是否已改變。討論并提議了用于解決包括媒體呈現(xiàn)描述和二進制表示元數(shù)據(jù)(諸如自適應(yīng) HTTP流送媒體呈現(xiàn)中的“moov”原子)的元數(shù)據(jù)的更新的解決方案。對于實況內(nèi)容的情形,在構(gòu)造MPD時可能不知道MPD或“moov”可能發(fā)生改變的時間點。由于出于帶寬和可伸縮性原因一般應(yīng)當避免頻繁“輪詢IPD以檢查更新,因此對MPD 的更新可在段文件自身中“帶內(nèi)”地指示,即每個媒體段可具有指示更新的選項。取決于上文的段格式(a)到(c),可信令通知不同的更新。一般而言,可有利地在段內(nèi)的信號中提供以下指示MPD可能在請求該表示內(nèi)的下一段或其開始時間大于當前段的開始時間的任何下一段之前被更新的指示符。更新可事先被宣告,以指示該更新只需要在晚于該下一段的任何段發(fā)生。在媒體段的定位符改變了的情形中,該MPD更新還可用來更新二進制表示元數(shù)據(jù),諸如電影頭部。另一信號可指示在該段完成時,不應(yīng)再請求更多將時間提前的段。在段是根據(jù)段格式(C)來格式化,即每個媒體段可包含諸如電影頭部之類的自初始化元數(shù)據(jù)的情形中,則可添加另一信號,以指示后續(xù)段包含經(jīng)更新的電影頭部(moov)。這有利地允許將電影頭部包括在段中,但該電影頭部僅在若先前段指示電影頭部更新的情況下或在當切換表示時進行查找或隨機訪問的情形中才需要被客戶端請求。在其他情形中, 客戶端可發(fā)出對段的字節(jié)范圍請求,其排除電影頭部的下載,因此有利地節(jié)省了帶寬。在另一實施例中,若信令通知了 MPD更新指示,則該信號還可包含關(guān)于經(jīng)更新的媒體呈現(xiàn)描述的諸如URL之類的定位符。在非連續(xù)更新的情形中,經(jīng)更新的MPD可使用諸如新時段和舊時段之類的有效性屬性來描述更新前后的呈現(xiàn)。這可以有利地被用來準許如以下進一步描述的時移觀看,但還有利地允許MPD更新在其所包含的改變生效之前任何時間被信令通知??蛻舳丝闪⒓聪螺d新MPD并將其應(yīng)用于正在進行的呈現(xiàn)。在具體實現(xiàn)中,對媒體呈現(xiàn)描述、moov頭部或呈現(xiàn)結(jié)束的任何改變的信令通知可被包含在遵循使用ISO基媒體文件格式的包結(jié)構(gòu)的段格式的規(guī)則來格式化的流送信息包中。該包可為任何不同更新提供專門信號。流送信息包定義包類型‘sinf,容器無強制性的否數(shù)量0或 1。流送信息包包含關(guān)于文件是哪個流送呈現(xiàn)的一部分的信息。句法
      aligned(8) class StreamingInformationBox extends FullBox('sinf) { unsigned int(32) streaming—information—flags;
      m以下是可任選字段
      string mpd—location }SXstreaming_information_flags (流送信息標志)包含以下各項中的O個或更多個的邏輯或0x00000001后續(xù)有電影頭部更新0x00000002呈現(xiàn)描述更新0x00000004 呈現(xiàn)結(jié)束當且僅當呈現(xiàn)描述更新(!Presentation Description update)標志被置位時mpd_ location (mpd位置)出現(xiàn),并且其提供關(guān)于新的媒體呈現(xiàn)描述的統(tǒng)一資源定位符。實況服各的MPD更新的示例使用情形假設(shè)服務(wù)提供方想要使用本文中描述的增強型塊請求流送來提供實況足球比賽。 或許幾百萬用戶可能想要訪問該比賽的呈現(xiàn)。該實況事件被請求暫停時的休息或該行動中的其他間歇偶發(fā)地打斷,在此期間可加插廣告。典型情況下,對于休息的確切時基完全或幾乎沒有事先通知。服務(wù)提供方可能需要提供冗余的基礎(chǔ)設(shè)施(例如,編碼器和服務(wù)器)以在實況比賽期間有任何組件故障情形中能進行無縫轉(zhuǎn)切。假設(shè)用戶Arma在公交車上用她的移動設(shè)備訪問該服務(wù)并且該服務(wù)立即可用。她旁邊坐著另一用戶Paul,Paul在他的膝上型設(shè)備上觀看該比賽。進了球且兩個人在相同的時間慶祝該事件。Paul告訴Anna該比賽中的第一個球甚至更激動人心并且Anna使用該服務(wù)從而她能回看30分鐘前的比賽。在看了該進球之后,她回到實況比賽。為了解決該使用情形,服務(wù)提供方應(yīng)當能夠更新MPD,向客戶端信令通知有經(jīng)更新的MPD可用,并準許客戶端訪問流送服務(wù)以使得其能接近實時地呈現(xiàn)該數(shù)據(jù)。按與段投遞異步的方式對MPD進行更新是可行的,如本文中別處所解釋的。服務(wù)器可向接收機提供MPD在一定時間里不更新的擔保。服務(wù)器可依賴于當前MPD。然而,當 MPD在某個最小更新期之前就被更新時無需任何顯式信令。完全同步的播出是幾乎難以達成的,因為客戶端可能在對不同的MPD更新實例進行操作因此客戶端可能有漂移。使用MPD更新,服務(wù)器可傳達改變并且客戶端可被提醒有改變,即使在呈現(xiàn)期間亦然。逐段基礎(chǔ)上的帶內(nèi)信令可被用來指示MPD的更新,因此更新可能被限于段邊界,但在絕大多數(shù)應(yīng)用中這應(yīng)當是可接受的??梢蕴砑尤缦碌腗PD元素,其提供MPD的以壁鐘時間計的發(fā)布時間以及添加在段開頭以信令通知要求MPD更新的可任選MPD更新包。該更新可如同MPD那樣階層式地進行。MPD “發(fā)布時間”提供MPD的唯一性標識符以及MPD何時發(fā)出。它還提供用于更新規(guī)程的錨。MPD更新包可存在于MPD中的“styp”包之后,并且由包類型="mupe"定義,不需要容器、不是強制性的且具有數(shù)量0或1。MPD更新包包含關(guān)于段是哪個媒體呈現(xiàn)的一部分的信息。示例句法如下
      aligned(8) class MPDUpdateBox extends FullBox('mupe') { unsigned int(3) mpd information flags; unsigned int(l) new location flag; unsigned int(28) latest mpd update time; ///以下是可任選字段
      string mpd location }MPDUpdateBox (MPD更新包)類的各種對象的語義可如下mpd_information_flags(mpd信息標志)以下各項中的O個或更多個的邏輯或0x00現(xiàn)在的媒體呈現(xiàn)描述更新
      0x01將來的媒體呈現(xiàn)描述更新0x02呈現(xiàn)結(jié)束0x03 0x07 保留new_location_flag (新位置標志)若置為 1,則在 mpd_location (mpd 位置)中指定的新位置處有新的媒體呈現(xiàn)描述可用。latest_mpd_update time (最新mpd更新時間)指定相對于最新MPD的MPD發(fā)出時間最晚必需進行MPD更新的時間(以ms計)??蛻舳丝蛇x擇在其與現(xiàn)在之間的任何時間更新MPD。mpd_location(mpd位置)當且僅當“新位置標志”被置位時出現(xiàn),且若如此,則 “mpd位置”提供關(guān)于新的媒體呈現(xiàn)描述的統(tǒng)一資源定位符。若更新所使用的帶寬成問題,則服務(wù)器可供應(yīng)針對某些設(shè)備能力的MPD以使得只有這些部分被更新。時移觀看和網(wǎng)絡(luò)PVR在時移觀看得到支持時,可能在該會話的壽命時間里碰巧有兩個或更多個MPD或電影頭部是有效的。在這種情形中,通過在必要時更新MPD,但添加有效性機制或時段概念, 便可對整個時間窗都有有效的MPD存在。這意味著服務(wù)器可確保任何MPD和電影頭部在落在用于時移觀看的有效時間窗內(nèi)的任何時間段上都是被宣告的。由客戶端來確保其當前呈現(xiàn)時間的可用MPD和元數(shù)據(jù)是有效的。還可支持僅使用少量的MPD更新來將實況會話遷移到網(wǎng)絡(luò)PVR會話。特殊媒體段當在塊請求流送系統(tǒng)內(nèi)使用IS0/IEC 14496-12的文件格式時的問題在于,如上文描述的,將呈現(xiàn)的單個版本的媒體數(shù)據(jù)存儲在按連貫時間段安排的多個文件中可能是有利的。此外,將每個文件安排成始于隨機訪問點可能是有利的。此外,可能有利的是在視頻編碼過程期間選取查找點的位置并基于在編碼過程期間作出的對查找點的選取來將呈現(xiàn)分段成各自始于查找點的多個文件,其中每個隨機訪問點可以置于文件開頭也可以不置于文件開頭,但其中每個文件始于隨機訪問點。在具有上述性質(zhì)的一個實施例中,呈現(xiàn)元數(shù)據(jù)或媒體呈現(xiàn)描述可包含每個文件的確切歷時,其中歷時例如被認為表示文件的視頻媒體的開始時間與下一文件的視頻媒體的開始時間之差?;诔尸F(xiàn)元數(shù)據(jù)中的該信息,客戶端能夠構(gòu)造媒體呈現(xiàn)的全局時間線與每個文件內(nèi)的媒體的局部時間線之間的映射。在另一實施例中,通過改為指定每個文件或段具有相同歷時可有利地減小呈現(xiàn)元數(shù)據(jù)的大小。然而,在這種情形中并且在根據(jù)上述方法來構(gòu)造媒體文件的場合,每個文件的歷時可能并不嚴格等于在媒體呈現(xiàn)描述中指定的歷時,因為在自該文件開始起恰好過了該指定歷時的點處可能并無隨機訪問點存在?,F(xiàn)在描述本發(fā)明的又一實施例,用于在即使有以上提及的矛盾的情況下也能實現(xiàn)塊請求流送系統(tǒng)的正確操作。在該方法中,可在每個文件內(nèi)提供如下的元素,該元素指定該文件內(nèi)的媒體的局部時間線(其指根據(jù)IS0/IEC 14496-12的從時戳0開始的、可供對照著來指定該文件中的媒體樣本的解碼和合成時戳的時間線)向全局呈現(xiàn)時間線的映射。該映射信息可包括全局呈現(xiàn)時間中的與局部文件時間線中的0時戳相對應(yīng)的單個時戳。該映射信息可替換地包括偏移值,其根據(jù)呈現(xiàn)元數(shù)據(jù)中提供的信息來指定與局部文件時間線中的0時戳相對應(yīng)的全局呈現(xiàn)時間與同文件開始相對應(yīng)的全局呈現(xiàn)時間之間的差量。此類包的示例可例如是軌跡片斷解碼時間(‘tfdt’ )包或軌跡片斷調(diào)整包 (Hfad')連同軌跡片斷媒體調(diào)整(‘tfma’ )包。包括段列表牛成的示例客戶端現(xiàn)在將描述示例客戶端。它可被用作服務(wù)器用來確保MPD的恰當生成和更新的參考客戶端。HTTP流送客戶端由MPD中提供的信息來指導。假定客戶端能訪問其在時間T(即它能成功接收MPD的時間)接收到的MPD。確定成功接收可包括客戶端獲得經(jīng)更新的MPD 或客戶端驗證出該MPD自先前的成功接收以來尚未被更新過。以下介紹示例客戶端行為。為了向用戶提供連續(xù)流送服務(wù),客戶端首先解析MPD 并且在計及如以下詳述的可能使用播放列表或使用URL構(gòu)造規(guī)則的段列表生成規(guī)程的情況下為每個表示創(chuàng)建在當前系統(tǒng)時間的客戶端本地時間可訪問的段的列表。隨后,客戶端基于表示屬性中的信息以及其他信息(例如可用帶寬和客戶端能力)選擇一個或多個表示。取決于編組,表示可自立呈現(xiàn)或與其他表示聯(lián)合呈現(xiàn)。對于每個表示,客戶端獲取諸如該表示的“moov”頭部之類的二進制元數(shù)據(jù)(若有)、以及所選表示的媒體段。客戶端通過可能使用段列表之類以請求段或段的字節(jié)范圍來訪問媒體內(nèi)容??蛻舳丝稍陂_始該呈現(xiàn)之前初始地緩沖媒體,并且一旦該呈現(xiàn)已開始,客戶端就通過在計及MPD更新規(guī)程的情況下不斷請求段或段部分來繼續(xù)消費該媒體內(nèi)容??蛻舳丝稍谟嫾敖?jīng)更新的MPD信息和/或來自其環(huán)境的經(jīng)更新信息(例如,可用帶寬的改變)的情況下切換表示。以對包含隨機訪問點的媒體段的任何請求,客戶端就可切換到不同的表示。在前移,即當前系統(tǒng)時間(稱為“現(xiàn)在時間”,用于表示相對于呈現(xiàn)的時間)前進時,客戶端消費可訪問的段。隨著“現(xiàn)在時間”中的每次前進,客戶端有可能根據(jù)本文中指定的規(guī)程擴展每個表示的可訪問段的列表。若尚未到達媒體呈現(xiàn)結(jié)束且若當前回放時間落在客戶端預計會用盡任何正在消費或?qū)⒁M的表示的MPD中所描述的媒體中的媒體的閾值以內(nèi),則客戶端可請求MPD的更新,其帶有新的取回時間“接收時間T”。一旦接收到,客戶端隨后計及有可能經(jīng)更新的 MPD和新時間T來生成可訪問段列表。圖四解說了在客戶端處不同時間的實況服務(wù)的規(guī)程??稍L問段列表生成假定HTTP流送客戶端能訪問MPD并且可能想要生成對于壁鐘時間“現(xiàn)在”而言可訪問的段的列表??蛻舳艘阅硞€精度同步到全局時間基準,但有利地不要求直接同步到 HTTP流送服務(wù)器。每個表示的可訪問段列表優(yōu)選定義為段開始時間和段定位符的列表對,其中不失一般性,段開始時間可定義為是相對于表示的開始而言的。表示的開始可與時段的開始對準(若應(yīng)用該概念)。否則,表示開始可在媒體呈現(xiàn)的開始處。客戶端使用例如本文中進一步定義的URL構(gòu)造規(guī)則和時基。一旦獲得了所描述段的列表,該列表被進一步限于可訪問的段,它們可以是完整媒體呈現(xiàn)的段的子集。該構(gòu)造由時鐘在客戶端“現(xiàn)在”時間的當前值來掌管。一般而言,段僅在一組可用性時間以內(nèi)的任何 “現(xiàn)在”時間可用。對于落在該窗口以外的“現(xiàn)在”時間,則沒有段可用。此外,對于實況服務(wù),假定某個時間“檢查時間(checktime) ”提供關(guān)于將此媒體描述到進入將來多遠的信息。 “檢查時間”是在MPD記載的媒體時間軸上定義的;當客戶端的回放時間到達檢查時間時, 其有利地請求新MPD。;當客戶端的回放時間到達檢查時間時,其有利地請求新MPD。隨后,段列表由檢查時間連同MPD屬性TimeSiiftBufferD^th (時移緩沖器深度) 進一步限制,以使得可用媒體段僅有媒體段的開始時間與表示開始時間之和落入“現(xiàn)在”減去時移緩沖器深度減去上個被描述的段的歷時與檢查時間或“現(xiàn)在”中的較小值之間的區(qū)間的那些段??缮炜s塊有時,可用帶寬下降得如此之低,從而接收機處當前正在接收的一個或多個塊變得不大可能被及時完全接收以供不暫停呈現(xiàn)地播出。接收機可能事先檢測到此類情形。例如,接收機可確定自己正在接收每6單位的時間編碼5單位的媒體的塊,并且具有4單位的媒體的緩沖器,因此接收機可能預期不得不將該呈現(xiàn)停滯或暫停到大約M單位的時間以后。在充分注意到此點的情況下,接收機可通過例如放棄當前的塊流之類來對此類情形作出反應(yīng)并開始請求來自該內(nèi)容的不同表示(諸如每單位播出時間使用較少帶寬的表示)的一個或多個塊。例如,若接收機切換到其中對于相同大小的塊而言,塊所編碼的視頻時間至少多了 20%的表示,則接收機可能能夠消除停滯直至帶寬情形得到改善的需要。然而,使接收機完全丟棄已從被放棄的表示接收到的數(shù)據(jù)可能是浪費的。在本文中描述的塊流送系統(tǒng)的實施例中,每個塊內(nèi)的數(shù)據(jù)可按以下方式來編碼和安排塊內(nèi)的數(shù)據(jù)的某些前綴可被用來在尚未接收到該塊的其余部分的情況下繼續(xù)該呈現(xiàn)。例如,可使用可伸縮視頻編碼的公知技術(shù)。此類視頻編碼方法的示例包括H. 264可伸縮視頻編碼(SVC) 或H. 264高級視頻編碼(AVC)的時間可伸縮性。有利地,該方法允許呈現(xiàn)基于塊中已接收到的部分來繼續(xù)進行,即使對一個或多個塊的接收例如由于可用帶寬的改變而可能被放棄。 另一優(yōu)點在于單個數(shù)據(jù)文件可被用作該內(nèi)容的多個不同表示的源。這是可能的,例如通過利用選擇塊中與所要求的表示相對應(yīng)的子集的HTTP部分獲取請求來實現(xiàn)。本文中詳述的一種改進是增強型段可伸縮段映射。該可伸縮段映射包含段中不同層的位置,以使得客戶端能相應(yīng)地訪問這些段的各部分并提取各層。在另一實施例中,段中的媒體數(shù)據(jù)被排序,以使得在從段開頭逐漸下載數(shù)據(jù)的同時段的質(zhì)量也在提高。在另一實施例中,質(zhì)量的逐漸提高被應(yīng)用于段中包含的每個塊或片斷,以使得能進行片斷請求來解決可伸縮辦法。圖12是示出可伸縮塊的一方面的圖。在該圖中,發(fā)射機1200輸出元數(shù)據(jù)1202、 可伸縮層1 (1204)、可伸縮層2 (1206)、以及可伸縮層3 (1208),其中后者被延誤了。接收機1210隨后可使用元數(shù)據(jù)1202、可伸縮層1(1204)和可伸縮層2(1206)來呈現(xiàn)媒體呈現(xiàn) 1212。獨立可伸縮性層如以上所解釋的,不希望塊請求流送系統(tǒng)在接收機不能及時接收到媒體數(shù)據(jù)的特定表示的所請求塊供其播出時不得不停滯,因為這往往造成不良用戶體驗。通過將所選取的表示的數(shù)據(jù)率限制成比可用帶寬小得多以使該呈現(xiàn)不太可能有任何給定部分不會被及時接收到,就能夠避免、減少或緩解停滯,但該策略具有媒體質(zhì)量必然比可用帶寬原則上能支持的媒體質(zhì)量低得多。比可能達到的質(zhì)量低的呈現(xiàn)也可能被解釋為不良用戶體驗。因此, 塊請求流送系統(tǒng)的設(shè)計者在設(shè)計客戶端規(guī)程、客戶端編程或硬件配置時面臨著以下選擇 要么請求具有比可用帶寬低得多的數(shù)據(jù)率的內(nèi)容版本,在這種情形中用戶可能遭受不良媒體質(zhì)量;要么請求具有接近可用帶寬的數(shù)據(jù)率的內(nèi)容版本,在這種情形中用戶在呈現(xiàn)期間隨著可用帶寬改變有高概率會遭受暫停。為了處置此類情形,本文中描述的塊流送系統(tǒng)可被配置成獨立地處置多個可伸縮性層,以使得接收機能作出分層請求并且發(fā)射機能響應(yīng)于分層請求。在此類實施例中,每個塊的經(jīng)編碼媒體數(shù)據(jù)可被劃分成多個不相交的片(在本文中被稱為“層”),以使得層組合構(gòu)成塊的整個媒體數(shù)據(jù)并且使得已接收到這些層的某些子集的客戶端可執(zhí)行對該內(nèi)容的表示的解碼和呈現(xiàn)。在該辦法中,流中的數(shù)據(jù)的排序使得毗連范圍在質(zhì)量上呈遞增且元數(shù)據(jù)反映這一點??捎脕砩删哂猩鲜鲂再|(zhì)的層的技術(shù)的示例是例如ITU-T標準H. ^4/SVC中描述的可伸縮視頻編碼技術(shù)??捎脕砩删哂猩鲜鲂再|(zhì)的層的技術(shù)的另一示例是如ITU-T標準 H. 264/AVC中提供的時間可伸縮性層技術(shù)。在這些實施例中,元數(shù)據(jù)可在MPD中或在段自身中提供,從而使得能構(gòu)造對任何給定塊的個體層和/或?qū)咏M合和/或多個塊的給定層和/或多個塊的層組合的請求。例如,構(gòu)成塊的層可被存儲在單個文件內(nèi)且可提供指定該文件內(nèi)與個體層相對應(yīng)的字節(jié)范圍的元數(shù)據(jù)。能夠指定字節(jié)范圍的文件下載協(xié)議(例如HTTP 1. 1)可被用來請求個體層或多個層。此外,如本領(lǐng)域技術(shù)人員在查閱本公開之際將清楚的,以上描述的涉及可變大小的塊及可變的塊組合的構(gòu)造、請求和下載的技術(shù)也可應(yīng)用于本上下文。MA現(xiàn)在描述數(shù)個實施例,它們可有利地由塊請求流送客戶端采用以通過使用如以上描述地劃分成層的媒體數(shù)據(jù)來達成相比于現(xiàn)有技術(shù)在用戶體驗上的改善和/或在服務(wù)基礎(chǔ)設(shè)施容量要求上的減少。在第一實施例中,可應(yīng)用塊請求流送系統(tǒng)的已知技術(shù),其修改在于內(nèi)容的不同版本在一些情形中層的不同組合所取代。這就是說在現(xiàn)有系統(tǒng)可提供內(nèi)容的兩種相異表示的場合,此處描述的增強型系統(tǒng)便可提供兩個層,其中現(xiàn)有系統(tǒng)中內(nèi)容的一個表示在比特率、 質(zhì)量以及可能還有其他度量方面類似于增強型系統(tǒng)中的第一層,而現(xiàn)有系統(tǒng)中內(nèi)容的第二表示在比特率、質(zhì)量以及可能還有其他度量方面類似于增強型系統(tǒng)中這兩個層的組合。因此,該增強型系統(tǒng)內(nèi)要求的存儲容量相比于現(xiàn)有系統(tǒng)中要求的存儲容量得以減小。此外,現(xiàn)有系統(tǒng)的客戶端可發(fā)出對一個表示或另一表示的塊的請求,而該增強型系統(tǒng)的客戶端可發(fā)出對塊的第一層或兩層的請求。因此,這兩個系統(tǒng)中的用戶體驗是相似的。此外,提供了改善的高速緩存,因為即使是對于不同的質(zhì)量,使用的也是共用的段,由此段被高速緩存的似然性更高。在第二實施例中,采用現(xiàn)在描述的層方法的增強型塊請求流送系統(tǒng)中的客戶端可為媒體編碼的若干層中的每一層維護分開的數(shù)據(jù)緩沖器。如對于客戶端設(shè)備內(nèi)的數(shù)據(jù)管理的領(lǐng)域中的技術(shù)人員而言將清楚的,這些“分開的”緩沖器可通過為這些分開的緩沖器分配物理上或邏輯上分開的存儲器區(qū)域或通過其他技術(shù)來實現(xiàn),其中所緩沖的數(shù)據(jù)被存儲在單個或多個存儲器區(qū)域中且來自不同層的數(shù)據(jù)的分開是通過使用包含對來自分開的層的數(shù)據(jù)的存儲位置的引用的數(shù)據(jù)結(jié)構(gòu)來邏輯地達成的,且因此在下文中,術(shù)語“分開的緩沖器” 應(yīng)當被理解為包括其中相異層的數(shù)據(jù)可被分開標識的任何方法??蛻舳嘶诿總€緩沖器的占用率發(fā)出對每個塊的個體層的請求,例如這些層可按優(yōu)先級次序排序以使得對來自一個層的數(shù)據(jù)的請求在優(yōu)先級次序上較低的層的任何緩沖器的占用率低于該較低層的閾值的情況下不會被發(fā)出。在該方法中,對接收來自優(yōu)先級次序上較低的層的數(shù)據(jù)給予優(yōu)先,以使得若可用帶寬降至比還接收優(yōu)先級次序上較高的層所要求的帶寬低,則僅請求這些較低層。此外,與不同層相關(guān)聯(lián)的閾值可以不同,以使得例如較低層具有較高閾值。在可用帶寬改變以使得較高層的數(shù)據(jù)不能在塊的播出時間之前被接收到的情形中,那么較低層的數(shù)據(jù)將必然已被接收到且因此呈現(xiàn)能單單用這些較低層來繼續(xù)進行。緩沖器占用率的閾值可按數(shù)據(jù)字節(jié)、緩沖器中包含的數(shù)據(jù)的播出歷時、塊數(shù)目或任何其他合適的度量的形式來定義。在第三實施例中,第一和第二實施例的方法可被組合以使得提供多個媒體表示, 每個媒體表示包括層的子集(如同第一實施例中一樣)并且第二實施例被應(yīng)用于表示內(nèi)的層的子集。在第四實施例中,第一、第二和/或第三實施例的方法可與其中提供內(nèi)容的多個獨立表示的實施例相組合,以使得例如這些獨立表示中的至少一個獨立表示包括應(yīng)用第一、第二和/或第三實施例的技術(shù)的多個層。高級緩沖管理器與緩沖監(jiān)視器1 (參見圖幻相組合,可使用高級緩沖管理器來優(yōu)化客戶端方的緩沖器。塊請求流送系統(tǒng)想要確保媒體播出能迅速開始并平滑地繼續(xù),與此同時向用戶或目的地設(shè)備提供最大程度的媒體質(zhì)量。這可能要求客戶端請求具有最高媒體質(zhì)量、但也能迅速開始并在此后被及時接收以便在不會迫使呈現(xiàn)中發(fā)生暫停的情況下播出的塊。在使用高級緩沖管理器的實施例中,該管理器決定要請求媒體數(shù)據(jù)的哪些塊以及何時作出這些請求。可例如向高級緩沖管理器提供要呈現(xiàn)的內(nèi)容的元數(shù)據(jù)集,該元數(shù)據(jù)包括內(nèi)容可用的表示列表以及每個表示的元數(shù)據(jù)。表示的元數(shù)據(jù)可包括關(guān)于表示的數(shù)據(jù)率以及其他參數(shù)的信息,諸如視頻、音頻或其他編解碼器和編解碼參數(shù)、視頻分辨率、解碼復雜性、音頻語言以及會影響客戶端處對表示的選取的任何其他參數(shù)。表示的元數(shù)據(jù)還可包括該表示已被分段成的塊的標識符,這些標識符提供客戶端請求塊所需的信息。例如,在請求協(xié)議是HTTP的場合,該標識符可以是HTTP URL可能還連同附加信息,該附加信息標識由該URL所標識的文件內(nèi)的字節(jié)范圍或時間跨度,該字節(jié)范圍或時間跨度標識由該URL所標識的文件內(nèi)的特定塊。在具體實現(xiàn)中,高級緩沖管理器決定接收機何時作出對新塊的請求并且其自身可能處置該請求的發(fā)送。在新穎的方面,高級緩沖管理器根據(jù)在使用過多帶寬與流送播出期間用盡媒體之間進行平衡的平衡比的值來對新塊作出請求。緩沖監(jiān)視器1 從塊緩沖器125接收到的信息可包括對何時接收到媒體數(shù)據(jù)、已接收到多少、對媒體數(shù)據(jù)的播出何時已開始或停止、以及媒體播出的速度等的每個事件的指示。基于該信息,緩沖監(jiān)視器126可演算代表當前緩沖器大小的變量Bsti。在這些示例中,Bsti代表客戶端或其他一個或多個設(shè)備緩沖器中包含的媒體量并且可以時間單位來度量,從而Bsti代表假使不再接收更多的塊或部分塊那么播出該一個或多個緩沖器中所存儲的塊或部分塊所表示的所有媒體將花費的時間量。因此,Bsti代表客戶端處可用但尚未播放的媒體數(shù)據(jù)按正常播出速度的“播出歷時”。隨著時間流逝,Bsti的值將隨著媒體被播出而減小并且會在每次接收到塊的新數(shù)據(jù)時增大。注意,出于本解釋的目的,假定塊是在該塊的全部數(shù)據(jù)在塊請求器IM處可用時被接收的,但也可以改為使用其他措施以例如計及部分塊的接收。在實踐中,對塊的接收可發(fā)生在時段上。圖13解說了在媒體被播出并且塊被接收時Bsti的值隨時間的變化。如圖13中所示,對于小于、的時間,B 的值為0,指示尚未接收到數(shù)據(jù)。在、,第一塊被接收并且B ati 的值增大到等于所接收的塊的播放歷時。此時,播出尚未開始且因此Bsti的值保持恒定直至時間t1;此時第二塊抵達并且B增大該第二塊的大小。此時,播出開始并且B的值開始線性減小直至時間t2,此時第三塊抵達。Bsti的累進以此“鋸齒”方式繼續(xù),每次接收到塊時階躍地增大(在時間t2、t3、t4、 、和、)并在其間隨著數(shù)據(jù)被播出而平滑地減小。注意,在該示例中,播出是以該內(nèi)容的正常播出速率來進行的,并且因此塊接收之間的曲線斜率恰好為-1,意味著對于流逝的每一秒真正時間,有一秒的媒體數(shù)據(jù)被播放。在基于幀的媒體以給定幀數(shù)每秒(例如M幀每秒)播出時,斜率-1將由指示每個個體數(shù)據(jù)幀的播出的小階躍函數(shù)來近似,例如每幀播出時-1Λ4秒的步長。圖14示出了 Bsti隨時間演進的另一個示例。在該示例中,第一塊在、抵達并且播出立即開始。塊抵達和播出繼續(xù)直至時間t3,此時Bsti的值到達0。在這種情況發(fā)生時, 沒有更多媒體數(shù)據(jù)可供播出,從而迫使媒體呈現(xiàn)暫停。在時間t4,第四塊被接收并且播放可恢復。該示例因此示出了其中對第四塊的接收晚于所需從而導致播出暫停以及因此導致不良用戶體驗的情形。因此,高級緩沖管理器及其他特征的目標是降低該事件的概率,與此同時維持高媒體質(zhì)量。緩沖監(jiān)視器1 還可演算另一度量Btw (t),其為給定時間段中接收到的媒體與該時間段的長度之比。更具體而言,Btw (t)等于Tfts/(Ta4_t),其中Tfts是在自t直至當前時間1 4的該時間段中接收到的媒體量(以其播出時間來度量),t是比的當前時間早的某個時間。Btw (t)可用于衡量Bati的變化率。B比率(t) =0是其中自時間t起尚未接收到數(shù)據(jù)的情形;假定媒體正在播出,則B·自該時間起將減少了(Titt-t)。B_(t) = 1是其中對于時間(Ta4_t)而言接收到的媒體的量與正在播出的量相同的情形;Bsti在時間Ta 4將具有與時間t時相同的值。Btw (t) > 1是其中對于時間(Ta4-t)而言接收到的數(shù)據(jù)比播出所需的多的情形;Bsti從時間t到時間Ta4將有所增大。緩沖監(jiān)視器1 進一步演算“Mate (狀態(tài))”值,其可取離散數(shù)目個值。緩沖監(jiān)視器1 進一步裝備有函數(shù)NewState (B·,B比率),在給定B當前的當前值和B比率對于t < T現(xiàn) 4的值的情況下該函數(shù)提供新“狀態(tài)”值作為輸出。每當Bsti和Btw導致該函數(shù)返回不同于 “狀態(tài)”的當前值的值時,該新值就被指派給“狀態(tài)”并且向塊選擇器123指示該新狀態(tài)值。函數(shù)NewMate (新狀態(tài))可參照(B當前,B比率(Ta4-Tx))對的所有可能值的空間來求值,其中Tx可以是固定(配置)值,或者可例如由從Bsti的值映射到Tx的值的配置表從Bsti推導出,或者可取決于“狀態(tài)”的先前值。向緩沖監(jiān)視器1 供應(yīng)該空間的一個或更多個劃分,其中每個劃分包括不相交區(qū)域的集合,每個區(qū)域用“狀態(tài)”值來標注。對函數(shù) “NewState”的求值由此包括標識劃分并確定(Bati,Btw (Tim-Tj)對所落在的區(qū)域的操作。返回值由此是與該區(qū)域相關(guān)聯(lián)的標注。在簡單情形中,只提供一個劃分。在更復雜的情形中,劃分可取決于前一次對NewState函數(shù)求值時的(BstJ,Btw (Ta在-Tx))對或取決于其他因素。在具體實施例中,以上描述的劃分可基于包含Bsti的數(shù)個閾值以及Btw的數(shù)個閾
      值的配置表。具體而言,令Bati的閾值為^ (0) =0、B“1).....B_ (nl)、B_ (ηι+1) =°ο,
      其中Ii1是B當前的非零閾值的數(shù)目。令B比率的閾值為B比率閾(0) = 0、B比率閾⑴.....B比率閾
      (η2)、Β比率w(n2+l) =^ ,其中1!2是8比率的閾值的數(shù)目。這些閾值定義了包括(nl+1)χ(n2+l) 的單元柵格的劃分,其中第j行的第i個單元對應(yīng)于其中Bw (i-1) < = Bati< Bw⑴且B
      (j-1) <=8比率<8比率 (」)的區(qū)域。以上描述的柵格的每個單元格諸如通過與存儲在存儲器中的特定值相關(guān)聯(lián)之類而被標注以狀態(tài)值,并且函數(shù)NewState隨后返回與由值B 當前和B比率(Ta4-Tx)指示的單元格相關(guān)聯(lián)的狀態(tài)值。在另一實施例中,可令遲滯值與每個閾值相關(guān)聯(lián)。在該增強型方法中,對函數(shù) NewState的求值可基于使用一組臨時修改的閾值如下構(gòu)造的臨時劃分。對于小于與在對 NewState的上次求值時所選取的單元格相對應(yīng)的B 范圍的每個B 閾值,通過減去與該閾值相關(guān)聯(lián)的遲滯值來減小該閾值。對于大于與在對NewState的上次求值時所選取的單元格相對應(yīng)的B·范圍的每個B·閾值,通過加上與該閾值相關(guān)聯(lián)的遲滯值來增大該閾值。 對于小于與在對NewState的上次求值時所選取的單元格相對應(yīng)的B tw范圍的每個B tt率閾值,通過減去與該閾值相關(guān)聯(lián)的遲滯值來減小該閾值。對于大于與在對NewState的上次求值時所選取的單元格相對應(yīng)的Btw范圍的每個Btw閾值,通過加上與該閾值相關(guān)聯(lián)的遲滯值來增大該閾值。經(jīng)修改的閾值被用來對NewState的值進行求值并且隨后這些閾值返回其原始值。在閱讀本公開之際,定義空間的劃分的其他方式對于本領(lǐng)域技術(shù)人員將變得明顯。例如,劃分可通過使用基于Btw和Bsti的線性組合的不等式,例如α0、α1和α 2為實數(shù)值的al*Btw + a2*Bsti彡a 0形式的線性不等式閾值來定義,以定義整個空間內(nèi)的半空間以及將每個不相交集合定義為數(shù)個此類半空間的交集。以上描述是為了解說基本過程。如實時編程領(lǐng)域的技術(shù)人員在閱讀本公開之際將清楚的,高效實現(xiàn)是可能的。例如,每次將新信息提供給緩沖監(jiān)視器126時,就有可能演算若例如不接收塊的進一步的數(shù)據(jù)則NewState將轉(zhuǎn)移到新值的將來時間。隨后為該時間設(shè)置定時器并且在沒有進一步的輸入的情況下,該定時器的期滿將導致新的狀態(tài)值被發(fā)送給塊選擇器123。因此,只需要在有新信息被提供給緩沖監(jiān)視器1 時或者在定時器期滿時執(zhí)行計算,而無需連續(xù)地執(zhí)行。狀態(tài)的合適值可為“低”、“穩(wěn)定”和“滿”。合適的閾值集合和所得單元柵格的示例在圖15中示出。在圖15中,Bsti閾值以毫秒在橫軸上示出,遲滯值在其下方以“+/_值”形式示出。 B 閾值以千分率(即,乘以1000)在縱軸上示出,遲滯值在其下方以“+/_值”形式示出。 “低”、“穩(wěn)定”和“滿”狀態(tài)值分別在柵格單元中被標注為“L”、“S”和“F”。每當有機會請求新塊時,塊選擇器123就接收到來自塊請求器124的通知。如以上所描述的,向塊選擇器123提供關(guān)于可用的這多個塊的信息以及這些塊的元數(shù)據(jù),包括例如關(guān)于每個塊的媒體數(shù)據(jù)率的信息。關(guān)于塊的媒體數(shù)據(jù)率的信息可包括該特定塊的實際媒體數(shù)據(jù)率(S卩,以字節(jié)計的塊大小除以以秒計的播出時間)、塊所屬的表示的平均媒體數(shù)據(jù)率、或為了不暫停地播出該塊所屬的表示在維系的基礎(chǔ)上需要的可用帶寬的度量、或以上的組合。塊選擇器123基于緩沖監(jiān)視器1 最新指示的狀態(tài)值來選擇塊。在該狀態(tài)值為 “穩(wěn)定”時,塊選擇器123從與先前所選塊相同的表示選擇塊。所選擇的塊是包含該呈現(xiàn)中先前未曾請求過其媒體數(shù)據(jù)的時段的媒體數(shù)據(jù)的第一塊(按播出次序)。在該狀態(tài)值為“低”時,塊選擇器123從具有比先前所選塊的媒體數(shù)據(jù)率低的媒體數(shù)據(jù)率的表示選擇塊。數(shù)個因素會影響該情形中對表示的確切選取。例如,塊選擇器123 可被提供對傳入數(shù)據(jù)的聚集速率的指示并且可選取具有小于該值的媒體數(shù)據(jù)率的表示。在該狀態(tài)值為“滿”時,塊選擇器123從具有比先前所選塊的媒體數(shù)據(jù)率高的媒體數(shù)據(jù)率的表示選擇塊。數(shù)個因素會影響該情形中對表示的確切選取。例如,塊選擇器123 可被提供對傳入數(shù)據(jù)的聚集速率的指示并且可選取具有不高于該值的媒體數(shù)據(jù)率的表示。數(shù)個附加因素可能進一步影響塊選擇器123的操作。具體而言,可限制增大所選塊的媒體數(shù)據(jù)率的頻度,即使緩沖監(jiān)視器126持續(xù)指示“滿”狀態(tài)亦然。此外,塊選擇器123 有可能接收到“滿”狀態(tài)指示但沒有更高媒體數(shù)據(jù)率的塊可用(例如,由于上次所選的塊已經(jīng)對應(yīng)最高可用媒體數(shù)據(jù)率)。在這種情形中,塊選擇器123可將下一塊的選擇延遲某個時間,該時間被選取為使得在塊緩沖器125中緩沖的媒體數(shù)據(jù)總量是上有界的。附加因素可能影響在選擇過程期間考慮的塊集合。例如,可用塊可被限于來自其編碼分辨率落在提供給塊選擇器123的特定范圍以內(nèi)的那些表示的塊。塊選擇器123還可接收來自監(jiān)視系統(tǒng)的其他方面的其他組件的輸入,所監(jiān)視的方面諸如是用于媒體解碼的計算資源的可用性。若此類資源變得稀缺,則塊選擇器123可在元數(shù)據(jù)內(nèi)指示其解碼的計算復雜性較低的塊(例如,具有較低分辨率或幀率的表示一般具有較低解碼復雜性)。以上描述的實施例帶來的實質(zhì)優(yōu)點在于,在緩沖監(jiān)視器126內(nèi)對NewState函數(shù)求值時使用值Btw與僅考慮Bsti的方法相比允許在呈現(xiàn)開始時質(zhì)量更快地上升。在不考慮B
      的情況下,可能在累積了大量緩沖的數(shù)據(jù)后系統(tǒng)才能選擇具有更高媒體數(shù)據(jù)率以及因此具有更高質(zhì)量的塊。然而,當Btw值很大時,這指示可用帶寬遠高于先前接收到的塊的媒體數(shù)據(jù)率且即使緩沖的數(shù)據(jù)相對較少(即,Bsti的值很低),請求有更高媒體數(shù)據(jù)率以及因此有更高質(zhì)量的塊仍是安全的。同樣地,若Btw值很低(例如< 1),這指示可用帶寬已降至先前所請求的塊的媒體數(shù)據(jù)率之下且因此即使B 很高,系統(tǒng)仍將切換到較低的媒體數(shù)據(jù)率以及因此較低的質(zhì)量,以例如避免到達B·= 0且媒體的播出停滯的點。這種改善的行為在其中網(wǎng)絡(luò)條件以及因此投遞速度可能快速且動態(tài)地變化(例如用戶向移動設(shè)備流送) 的環(huán)境中可能尤其重要。使用配置數(shù)據(jù)來指定(Β·,Β_)的值空間的劃分帶來了另一優(yōu)點。此類配置數(shù)據(jù)可作為呈現(xiàn)元數(shù)據(jù)的一部分或通過其他動態(tài)手段被提供給緩沖監(jiān)視器126。在實踐部署中,由于用戶網(wǎng)絡(luò)連接的行為在各用戶之間以及對于單個用戶而言隨時間推移而可能高度可變,因此可能很難預測對于所有用戶都將工作良好的劃分。動態(tài)地向用戶提供此類配置信息的可能性允許隨時間推移根據(jù)累積的經(jīng)驗來開發(fā)良好的配置設(shè)置??勺冋埱蟠笮】刂迫裘總€請求針對單個塊且若每個塊編碼短媒體段,則可能需要高頻度的請求。若媒體塊很短,則視頻播出迅速地在塊間移動,這為接收機提供了更頻繁的通過改變表示來調(diào)整或改變其所選數(shù)據(jù)率的機會,從而提高了播出能不停滯地繼續(xù)的可能性。然而,高頻度的請求的不利方面在于它們在其中客戶端至服務(wù)器網(wǎng)絡(luò)中的可用帶寬受約束的某些網(wǎng)絡(luò)上可能是不能維系的,例如在諸如3G和4G無線WAN之類的無線WAN網(wǎng)絡(luò)中,其中從客戶端至網(wǎng)絡(luò)的數(shù)據(jù)鏈路的容量是受限制的或者會由于無線電條件的改變而變?yōu)樵诨蚨袒蜷L的時間段上受限制。高頻度的請求還意味著服務(wù)基礎(chǔ)設(shè)施的高負荷,這帶來容量要求方面的關(guān)聯(lián)成本。因此,將希望有高頻度請求的一些效益而沒有所有這些缺點。在塊流送系統(tǒng)的一些實施例中,將高請求頻度的靈活性與低頻度請求相組合。在該實施例中,塊可以如上所描述地構(gòu)造并且同樣如以上所描述地被聚集成包含多個塊的段。在呈現(xiàn)的開頭,應(yīng)用以上所描述的其中每個請求引用單個塊或者作出多個并發(fā)請求以請求塊的各部分的過程以確保在呈現(xiàn)的開始有快速的頻道換臺時間并且因此有良好的用戶體驗。隨后,當滿足將在以下描述的某個條件時,客戶端可發(fā)出在單個請求中涵蓋多個塊的請求。這是可能的,因為這些塊已被聚集成較大文件或段并且可使用字節(jié)或時間范圍來請求。連貫的字節(jié)或時間范圍可被聚集成單個較大的字節(jié)或時間范圍,從而導致單個請求針對多個塊,并且甚至能在一個請求中請求非連續(xù)的塊。可由決定是請求單個塊(或部分塊)還是請求多個連貫塊來驅(qū)使的一個基本配置是使該決定基于所請求塊是否很可能被播出。例如,若很可能不久將需要換到另一表示,則客戶端最好作出針對單個塊即少量媒體數(shù)據(jù)的請求。此舉的一個原因在于,若在可能即將要切換至另一表示時作出針對多個塊的請求,那么該切換可能在該請求的最后幾個塊被播出之前作出。因此,對這最后幾個塊的下載可能延遲了對所切換到的表示的媒體數(shù)據(jù)的投遞,這可能導致媒體播出停滯。然而,針對單個塊的請求的確導致更高頻度的請求。另一方面,若不大可能不久將需要換到另一表示,則可能優(yōu)選作出針對多個塊的請求,因為所有這些塊很可能將被播出, 并且這導致較低頻度的請求,從而可以大量上降低請求開銷,典型地在表示中沒有即將來臨的改變的情況下尤其如此。在常規(guī)的塊聚集系統(tǒng)中,每個請求中所請求的量不是動態(tài)地調(diào)整的,即典型地每個請求針對整個文件,或者每個請求針對與表示的文件大致相同的量(有時以時間度量, 有時以字節(jié)度量)。因此,若所有請求都較小,則請求開銷較高,而若所有請求都較大,則這增加了媒體停滯事件的機會和/或在選取了較低質(zhì)量表示以避免不得不隨著網(wǎng)絡(luò)條件變化而迅速改變表示的情況下增加了提供較低質(zhì)量媒體播出的機會。在被滿足時可導致后續(xù)請求引用多個塊的條件的示例是對緩沖器大小Bsti的閾值。若Bsti低于該閾值,則發(fā)出的每個請求引用單個塊。若Bsti大于或等于該閾值,則發(fā)出的每個請求引用多個塊。若發(fā)出引用多個塊的請求,則每單個請求中所請求的塊數(shù)目可按若干種可能方式之一來決定。例如,該數(shù)目可以是常數(shù),例如2。替換地,單個請求中所請求的塊數(shù)目可取決于緩沖器狀態(tài)并且尤其是取決于Bsti。例如,可以設(shè)置數(shù)個閾值,其中單個
      48請求中所請求的塊數(shù)目是從小于B·的多個閾值中的最高閾值來推導的。在被滿足時可導致請求引用多個塊的條件的另一示例是以上描述的“狀態(tài)”值變量。例如,當狀態(tài)為“穩(wěn)定”或“滿”時,則可發(fā)出針對多個塊的請求,但當狀態(tài)為“低”時,則所有請求可針對一個塊。另一實施例在圖16中示出。在該實施例中,當將發(fā)出下一請求時(在步驟1300中決定),使用當前狀態(tài)值和Bsti來決定下一請求的大小。若當前狀態(tài)值為“低”、或當前狀態(tài)值為“滿”且當前表示不是最高可用的表示(在步驟1310中確定,答案為“是”),則下一請求被選取為短請求,例如僅針對下一塊(在步驟1320中確定塊并作出請求)。此舉背后的基本原理在于,這些條件是其中很可能很快將有表示改變的條件。若當前狀態(tài)值為“穩(wěn)定”、 或當前狀態(tài)值為“滿”且當前表示是最高可用的表示(在步驟1310中確定,答案為“否”), 則下一請求中所請求的連貫塊的歷時對于某個固定的α <1被選取為與Bsti的α分數(shù)成比例(在步驟1330中確定塊,在步驟1340中作出請求),例如對于α =0.4,若Bsti= 5 秒,則下一請求可針對約2秒的塊,而若Bsti= 10秒,則下一請求可針對約4秒的塊。此舉背后的一個基本原理在于在這些條件下,在與Bsti成比例的時間量里將不大可能作出向新表示的切換。靈活管線仆,塊流送系統(tǒng)可使用具有例如TCP/IP之類的特定底層傳輸協(xié)議的文件請求協(xié)議。 在TCP/IP或其他傳輸協(xié)議連接的開頭,可能要花某個相當長的時間來達成對全部可用帶寬的利用。這可能導致在每次開始新連接時都有“連接啟動懲罰”。例如,在TCP/IP的情形中,連接啟動懲罰由于初始TCP握手建立連接所花的時間以及擁塞控制協(xié)議達成對可用帶寬的完全利用所花的時間兩者而發(fā)生。在該情形中,可能希望使用單個連接來發(fā)出多個請求,以降低招致連接啟動懲罰的頻度。然而,例如HTTP之類的一些文件傳輸協(xié)議不提供并非將傳輸層連接完全關(guān)閉而是取消請求的機制,并且因此在建立新連接來代替舊連接時招致連接啟動懲罰。若確定可用帶寬已改變并且改為要求不同的媒體數(shù)據(jù)率,即決定切換到不同的表示,則發(fā)出的請求可能需要被取消。取消發(fā)出的請求的另一原因可能是用戶已請求結(jié)束媒體呈現(xiàn)并且開始新呈現(xiàn)(或許是在該呈現(xiàn)的不同點的相同內(nèi)容項、或者或許是新內(nèi)容項)。如已知的,可通過保持連接打開并對后續(xù)請求重用相同的連接來避免連接啟動懲罰,并且如同樣已知的,若在相同的連接上同時發(fā)出多個請求(在HTTP的上下文中被稱為 “管線化”的技術(shù)),則連接可保持充分利用。然而,同時地或者更一般地以使得連接上有多個請求在先前請求完成之前發(fā)出的方式發(fā)出多個請求的缺點可能在于,該連接隨后要負責攜帶對這些請求的響應(yīng)并且因此若希望改變應(yīng)當發(fā)出的請求,則該連接可能會被關(guān)閉—— 若需要取消已發(fā)出但不再想要的請求。所發(fā)出的請求需要被取消的概率可部分地取決于發(fā)出該請求與所請求塊的播出時間之間的時間區(qū)間的歷時,部分取決于的意義是指當該時間區(qū)間大時,所發(fā)出的請求需要被取消的概率也高(因為在該區(qū)間期間可用帶寬很可能改變了)。如已知的,一些文件下載協(xié)議具有單個底層傳輸層連接可有利地被用于多個下載請求的性質(zhì)。例如,HTTP具有該性質(zhì),因為將單個連接重用于多個請求對于除第一個請求以外的其他請求避免了以上描述的“連接啟動懲罰”。然而,該辦法的缺點在于該連接要負責傳輸每個所發(fā)出請求中所請求的數(shù)據(jù),且因此若一個或多個請求需要被取消,則要么該連接可能被關(guān)閉,從而在建立取代連接時招致連接啟動懲罰,要么客戶端可能等待接收不再需要的數(shù)據(jù),從而在接收后續(xù)數(shù)據(jù)時招致延遲。現(xiàn)在描述留存連接重用的優(yōu)點而不招致該缺點并且還附加地提高連接能被重用的頻度的實施例。本文中描述的塊流送系統(tǒng)的實施例被配置成對多個請求重用連接而不必一開始就承諾由該連接負責特定的一組請求。實質(zhì)上,在現(xiàn)有連接上的已發(fā)出的請求尚未完成但接近完成時在該連接上發(fā)出新請求。不等待直至現(xiàn)有請求完成的一個原因在于,若先前的請求完成則連接速度可能降級,即,底層TCP會話可能進入空閑狀態(tài)或者TCP cwnd變量可能被顯著地減小,藉此顯著降低該連接上發(fā)出的新請求的初始下載速度。在發(fā)出額外請求之前等待直至接近完成的一個原因在于,因為若新請求是在先前請求完成之前很久就發(fā)出的,則新發(fā)出的請求可能甚至在某個很長時間段內(nèi)不開動,并且有可能在新發(fā)出的請求開動之前的該時間段期間,作出新請求的決定不再有效,例如由于決定切換表示而導致上述情形。因此,實現(xiàn)該技術(shù)的客戶端的實施例將在不減慢連接的下載能力的情況下盡可能晚地在該連接上發(fā)出新請求。該方法包括監(jiān)視響應(yīng)于在連接上發(fā)出的最晚請求在該連接上接收到的字節(jié)數(shù)目并對該數(shù)目應(yīng)用測試。這可以通過使接收機(或發(fā)射機,若適用)配置成進行監(jiān)視和測試來進行。若測試通過,則可在該連接上發(fā)出另一請求。合適的測試的一個示例是接收到的字節(jié)數(shù)目是否大于所請求數(shù)據(jù)的大小的固定分數(shù)。例如,該分數(shù)可以為80%。合適的測試的另一示例基于以下演算,如圖17中所解說的。在該演算中,令R為對該連接的數(shù)據(jù)率的估計,T為對往返行程時間(“RTT”)的估計,并且X為例如可以是設(shè)為0. 5與2之間的值的常數(shù)的數(shù)值因子,其中對R和T的估計在定期的基礎(chǔ)上更新(在步驟1410中更新)。令 S為最晚請求中所請求的數(shù)據(jù)的大小,B為所請求的數(shù)據(jù)中接收到的字節(jié)數(shù)目(在步驟1420 中演算)。合適的測試將是使接收機(或發(fā)射機,若適用)執(zhí)行評估不等式(S-B) <X-R-T 的例程(在步驟1430中測試),并且若“是”則采取行動。例如,可作出測試以查看是否有另一個請求準備好要在該連接上發(fā)出(在步驟1440中測試),并且若“是”則向該連接發(fā)出該請求(步驟1450)并且若“否”則本過程返回步驟1410以繼續(xù)更新和測試。若步驟1430 中的測試的結(jié)果是“否”,則本過程返回步驟1410以繼續(xù)更新和測試。步驟1430中的不等式測試(例如由恰適地編程的元件來執(zhí)行)導致在待接收的剩余數(shù)據(jù)量等于X乘以在一個RTT內(nèi)以當前估計的接收速率能接收的數(shù)據(jù)量時發(fā)出每個后續(xù)請求。數(shù)種在步驟1410中估計數(shù)據(jù)率R的方法是本領(lǐng)域已知的。例如,數(shù)據(jù)率可估計為 Dt/t,其中Dt是在之前t秒中接收到的比特數(shù)目并且其中t可以是例如1秒或0. 5秒或其他某個區(qū)間。另一種方法是對傳入數(shù)據(jù)率的指數(shù)加權(quán)平均或一階無限沖激響應(yīng)(IIR)濾波。數(shù)種在步驟1410中估計RTT “T”的方法是本領(lǐng)域已知的。步驟1430中的測試可應(yīng)用于接口上所有活躍連接的聚集,如以下更詳細地解釋的。該方法進一步包括構(gòu)造候選請求列表,將每個候選請求與可向其作出該請求的一組合適服務(wù)器相關(guān)聯(lián),并且按優(yōu)先級次序排序該候選請求列表。候選請求列表中的一些條目可具有相同的優(yōu)先級。與每個候選請求相關(guān)聯(lián)的合適服務(wù)器列表中的服務(wù)器由主機名來標識。每個主機名對應(yīng)于可從域名系統(tǒng)獲得的一組網(wǎng)際協(xié)議地址,這是公知的。因此,候選請求列表上的每個可能的請求與一組網(wǎng)際協(xié)議地址相關(guān)聯(lián),具體而言是與該候選請求的關(guān)聯(lián)服務(wù)器的關(guān)聯(lián)主機名的關(guān)聯(lián)的各組網(wǎng)際協(xié)議地址的并集相關(guān)聯(lián)。每當連接滿足步驟1430 中描述的測試并且該連接上尚未發(fā)出新請求時,就選取候選請求列表上與該連接的目的地的網(wǎng)際協(xié)議地址相關(guān)聯(lián)的最高優(yōu)先級請求,并且在該連接上發(fā)出該請求。還將該請求從候選請求列表中移除。候選請求可從候選請求列表移除(取消),具有高于候選列表上的已有請求的優(yōu)先級的新請求可被添加到候選列表,并且候選列表上的現(xiàn)有請求的優(yōu)先級可改變。有哪些請求在候選請求列表上這一動態(tài)本質(zhì)以及其在候選列表上的優(yōu)先級這一動態(tài)本質(zhì)可取決于何時滿足步驟1430中描述的類型的測試而更改接下來可發(fā)出哪些請求。例如,有可能若在某個時間t對步驟1430中描述的測試的回答為“是”,則發(fā)出的下一請求將為請求A,而若對步驟1430中描述的測試的回答并非為“是”直至某個時間t' > t,則發(fā)出的下一請求將改為是請求B,因為請求A在時間t與t'之間從候選請求列表被移除,或者由于在時間t與t ‘之間優(yōu)先級比請求A高的請求B被添加到候選請求列表,或者由于請求B在時間t時已在該候選列表上但優(yōu)先級比請求A低,并且在時間t與t'之間,請求B的優(yōu)先級被改為高于請求A的優(yōu)先級。圖18解說了候選請求列表上的請求列表的示例。在該示例中,有三個連接,并且候選列表上有6個請求,標示為A、B、C、D、E和F。候選列表上的每個請求可在如所指示的連接子集上發(fā)出,例如請求A可在連接1上發(fā)出,而請求F可在連接2或連接3上發(fā)出。每個請求的優(yōu)先級也在圖18中標示,并且較低的優(yōu)先級值指示請求有較高優(yōu)先級。因此,具有優(yōu)先級0的請求A和B是最高優(yōu)先級請求,而具有優(yōu)先級值3的請求F是候選列表上的請求中的最低優(yōu)先級。若在該時間點t,連接1通過了步驟1430中描述的測試,則在連接1上發(fā)出請求A 或請求B。若改為是連接3在該時間t通過了步驟1430中描述的測試,則在連接3上發(fā)出請求D,因為請求D是能在連接3上發(fā)出的具有最高優(yōu)先級的請求。假設(shè)對于所有連接,從時間t到某個稍后的時間t'對步驟1430中描述的測試的答案皆為“否”,并且在時間t與t'之間,請求A的優(yōu)先級從0改變?yōu)?,請求B從候選列表被移除,并且具有優(yōu)先級0的新請求G被添加到該候選列表。隨后,在時間t',新候選列表可如圖19中所示。若在時間t'連接1通過了步驟1430中描述的測試,則在連接1上發(fā)出優(yōu)先級為 4的請求C,因為它是候選列表上在該時間點能在連接1上發(fā)出的的最高優(yōu)先級請求。假設(shè)在該相同的情形中改為在時間t在連接1上本來發(fā)出了請求A(其為如圖18 中所示的在時間t對連接1而言兩個最高優(yōu)先級選擇之一)。由于從時間t到某個稍后的時間t'對于所有連接而言步驟1430中描述的測試的答案皆為“否”,因此連接1仍為在時間t之前發(fā)出的請求投遞數(shù)據(jù)直到至少時間t',且因此請求A在至少時間t'之前將不會開動。在時間t'發(fā)出請求C是比本來在時間t發(fā)出請求A更好的決定,因為請求C在t' 之后與請求A本來將開動的時間相同的時間開動,并且因為截至該時間,請求C比請求A具有更高優(yōu)先級。作為另一替換方案,若步驟1430中描述的類型的測試應(yīng)用于活躍連接的聚集,則可選取其目的地的網(wǎng)際協(xié)議地址與候選請求列表上的第一個請求或同所述第一個請求具有相同優(yōu)先級的另一請求相關(guān)聯(lián)的連接。有數(shù)種方法可用于構(gòu)造候選請求列表。例如,候選列表可包含代表對呈現(xiàn)的當前表示按時間順序次序的接下來η個數(shù)據(jù)部分的請求的η個請求,其中對最早數(shù)據(jù)部分的請求具有最高優(yōu)先級而對最晚數(shù)據(jù)部分的請求具有最低優(yōu)先級。在一些情形中,η可以為1。 η的值可取決于緩沖器大小Bsti,或狀態(tài)變量或客戶端緩沖器占用率的狀態(tài)的其他度量。例如,可為B 設(shè)置數(shù)個閾,并且有值與每個閾相關(guān)聯(lián),隨后將η的值取為與小于B 的最高閾相關(guān)聯(lián)的值。以上描述的實施例確保了靈活地將請求分配給連接,從而確保向重用現(xiàn)有連接給予優(yōu)待,即使最高優(yōu)先級請求不適合該連接(因為該連接的目的地IP地址不是分配給與該請求相關(guān)聯(lián)的任何主機名的那一 IP地址)亦然。η對Bsti或客戶端緩沖器占用率的狀態(tài)或其他度量的依存性確保了在客戶端亟需發(fā)出和完成與按時間順序要播出的下一數(shù)據(jù)部分相關(guān)聯(lián)的請求時,此類“脫離優(yōu)先級次序”的請求不被發(fā)出。這些方法可有利地與協(xié)作式HTTP和FEC相組合。一致件的服各器詵擇如公知的,將使用文件下載協(xié)議來下載的文件通常由包括主機名和文件名的標識符來標識。例如,HTTP協(xié)議就是這種情形,在該情形中,標識符是統(tǒng)一資源標識符(URI)。 主機名可對應(yīng)于由各網(wǎng)際協(xié)議地址標識的多個主機。例如,這是跨多個物理機器分攤來自多個客戶端的請求負荷的常見方法。具體而言,該辦法常被內(nèi)容投遞網(wǎng)絡(luò)(CDN)采用。在這種情形中,在連接上向任何物理主機發(fā)出的請求預期將成功。已知有多種可供客戶端用來從與主機名相關(guān)聯(lián)的各網(wǎng)際協(xié)議地址中進行選擇的方法。例如,這些地址通常經(jīng)由域名系統(tǒng)提供給客戶端并按優(yōu)先級次序提供??蛻舳穗S后可選取最高優(yōu)先級(第一)網(wǎng)際協(xié)議地址。然而,一般而言,客戶端之間就如何作出該選取并沒有協(xié)調(diào),因此不同客戶端可能向不同服務(wù)器請求相同的文件。這可能導致相同的文件被存儲在近旁多個服務(wù)器的高速緩存中,這降低了高速緩存基礎(chǔ)設(shè)施的效率。這可以由有利地增加請求相同塊的兩個客戶端將向相同服務(wù)器請求該塊的概率的系統(tǒng)來處置。此處描述的新穎方法包括以由要請求的文件的標識符來決定的方式并以使得被呈示了相同或相似的網(wǎng)際協(xié)議地址和文件標識符選擇的不同客戶端將作出相同選取的方式從可用網(wǎng)際協(xié)議地址中進行選擇。參考圖20來描述該方法的第一實施例。客戶端首先獲得一組網(wǎng)際協(xié)議地址IPp
      IP2.....IPn,如步驟1710中所示。若如步驟1720中確定的有要針對其發(fā)出請求的文件,
      則客戶端決定用哪個網(wǎng)際協(xié)議地址來發(fā)出對該文件的請求,如步驟1730-1770中所決定的。給定一組網(wǎng)際協(xié)議地址和要請求的文件的標識符,該方法包括以由該文件標識符所決定的方式排序這些網(wǎng)際協(xié)議地址。例如,對于每個網(wǎng)際協(xié)議地址,構(gòu)造出包括該網(wǎng)際協(xié)議地址與該文件標識符的級聯(lián)的字節(jié)串,如步驟1730中所示。向該字節(jié)串應(yīng)用散列函數(shù),如步驟1740中所示,并且根據(jù)固定排序,例如數(shù)值升序,來排列所得的散列值,如步驟1750中所示,從而引起網(wǎng)際協(xié)議地址的排序。相同散列函數(shù)可被所有客戶端使用,因此保證對于所有客戶端的給定輸入,該散列函數(shù)產(chǎn)生相同的結(jié)果。該散列函數(shù)可被靜態(tài)地配置到客戶端集合中的所有客戶端中,或者客戶端集合中的所有客戶端可在這些客戶端獲得網(wǎng)際協(xié)議地址列表時獲得該散列函數(shù)的部分或完整描述,或者客戶端集合中的所有客戶端可在這些客戶端獲得文件標識符時獲得該散列函數(shù)的部分或完整描述,或者該散列函數(shù)可由其他手段確定。該排序中的首個網(wǎng)際協(xié)議地址被選取并且該地址隨后被用來建立連接并發(fā)出對該文件的全部或部分的請求,如步驟1760和1770中所示。以上方法可在建立新連接以請求文件時應(yīng)用。它還可在有多個建成的連接可用時應(yīng)用,并且這些連接中的一個可被選取來發(fā)出新請求。此外,當有建成的連接可用并且可從具有相等優(yōu)先級的候選請求的集合中選取請求時,例如通過以上描述的相同的散列值方法引起對候選請求的排序,并且該排序中首個出現(xiàn)的候選請求被選取。這些方法可被組合以從一組連接和具有相等優(yōu)先級的請求中同樣通過計算連接與請求的每個組合的散列、根據(jù)固定排序?qū)@些散列值進行排序、并選取對請求與連接的組合的集合引起的排序中首個出現(xiàn)的組合來選擇連接和候選請求兩者。該方法出于以下原因具有優(yōu)點諸如圖1 (BSI 101)或圖2 (BSI 101)中所示的塊供應(yīng)基礎(chǔ)設(shè)施采取的典型辦法、尤其是CDN通常采取的辦法是提供多個接收客戶端請求的高速緩存代理服務(wù)器。高速緩存代理服務(wù)器可能并未裝有給定請求中所請求的文件并且在這種情形中,此類服務(wù)器典型地將該請求轉(zhuǎn)發(fā)給另一服務(wù)器,接收來自該服務(wù)器的響應(yīng) (典型地包括所請求的文件),并將該響應(yīng)轉(zhuǎn)發(fā)給客戶端。高速緩存代理服務(wù)器也可存儲 (高速緩存)所請求的文件,從而它能立即響應(yīng)對該文件的后續(xù)請求。以上描述的常用辦法具有以下性質(zhì)存儲在給定高速緩存代理服務(wù)器上的文件集很大程度上是由該高速緩存代理服務(wù)器已接收到的請求集合來決定的。以上描述的方法具有以下優(yōu)點。若客戶端集合中的所有客戶端被提供相同的網(wǎng)際協(xié)議地址列表,則這些客戶端將對針對相同文件發(fā)出的所有請求使用相同的網(wǎng)際協(xié)議地址。若存在兩個不同的網(wǎng)際協(xié)議地址列表并且每個客戶端被提供這兩個列表之一,則客戶端對針對相同文件發(fā)出的所有請求將使用至多兩個不同的網(wǎng)際協(xié)議地址。一般而言,若提供給客戶端的網(wǎng)際協(xié)議地址列表是相似的,則這些客戶端將對針對相同文件發(fā)出的所有請求使用所提供的網(wǎng)際協(xié)議地址的小集合。由于近程的客戶端傾向于被提供相似的網(wǎng)際協(xié)議地址列表,因此很可能近程客戶端會向這些客戶端可用的高速緩存代理服務(wù)器的僅小部分發(fā)出對文件的請求。因此,將只有很小分數(shù)的高速緩存代理服務(wù)器高速緩存該文件,這有利地使用于高速緩存該文件的高速緩存資源量最小化。優(yōu)選地,散列函數(shù)具有以下性質(zhì)很小分數(shù)的不同輸入被映射到相同的輸出,且不同輸入被映射到本質(zhì)上隨機的輸出,以確保對于給定的網(wǎng)際協(xié)議地址集合,使網(wǎng)際協(xié)議地址中給定的一個地址在由步驟1750產(chǎn)生的經(jīng)分序列表中為首個地址的文件比例對于該列表中的所有網(wǎng)際協(xié)議地址大致相同。另一方面,重要的是該散列函數(shù)是確定性的,確定性的意義是指對于給定輸入,該散列函數(shù)的輸出對于所有客戶端都相同。以上描述的方法的另一優(yōu)點如下。假設(shè)客戶端集合中的所有客戶端被提供相同的網(wǎng)際協(xié)議地址列表。由于該散列函數(shù)的剛才描述的這些性質(zhì),很可能來自這些客戶端的對不同文件的請求將均勻地跨該組網(wǎng)際協(xié)議地址分攤,這進而意味著這些請求將跨高速緩存代理服務(wù)器均勻分攤。因此,用于存儲這些文件的高速緩存資源跨高速緩存代理服務(wù)器均勻分攤,且對文件的請求跨這些高速緩存代理服務(wù)器均勻分攤。因此,該方法提供跨高速緩存基礎(chǔ)設(shè)施的存儲平衡和負荷平衡兩者。以上描述的辦法的多種變形為本領(lǐng)域技術(shù)人員所知的,并且在許多情形中,這些變形留存了存儲在給定代理上的文件集是至少部分地由該高速緩存代理服務(wù)器已接收到的請求集合決定這一性質(zhì)。在其中給定主機名解析到多個物理高速緩存代理服務(wù)器的常見情形中,所有這些服務(wù)器將最終存儲任何被頻繁請求的給定文件的副本將會是很常見的。 此類重復可能是不可取的,因為高速緩存代理服務(wù)器上的存儲資源是有限的,且因此文件有時可能會從高速緩存被移除(清空)。此處描述的新穎方法確保了對給定文件的請求以減少這種重復的方式被定向到高速緩存代理服務(wù)器,藉此減少從高速緩存移除文件的需要并且藉此增大任何給定文件存在于該代理高速緩存中(即,尚未從其清空)的可能性。當文件存在于代理高速緩存中時,向客戶端發(fā)送的響應(yīng)更快,這具有減少所請求的文件晚到的概率的優(yōu)點,所請求文件晚到會導致媒體播出的暫停并且因此導致不良的用戶體驗。此外,當文件不存在于代理高速緩存中時,該請求可被發(fā)送給另一服務(wù)器,從而既造成服務(wù)基礎(chǔ)設(shè)施上又造成服務(wù)器之間的網(wǎng)絡(luò)連接上的額外負荷。在許多情形中,請求所發(fā)往的服務(wù)器可能位于遙遠位置并且從該服務(wù)器向高速緩存代理服務(wù)器回傳該文件可能招致傳輸成本。因此,此處描述的新穎方法使得這些傳輸成本能得以減少。概率件全文件請求將HTTP協(xié)議與范圍請求聯(lián)用的情形中特別的關(guān)注點是通常用來提供服務(wù)基礎(chǔ)設(shè)施中的可伸縮性的高速緩存服務(wù)器的行為。雖然HTTP高速緩存服務(wù)器支持HTTP范圍頭部可能是常見的,但不同HTTP高速緩存服務(wù)器的確切行為因?qū)崿F(xiàn)而變化。大多數(shù)高速緩存服務(wù)器實現(xiàn)在文件在高速緩存中可用的情形中從該高速緩存來服務(wù)范圍請求。HTTP高速緩存服務(wù)器的常用實現(xiàn)總是將包含范圍頭部的下游HTTP請求轉(zhuǎn)發(fā)給上游節(jié)點,除非該高速緩存服務(wù)器具有該文件的副本(高速緩存服務(wù)器或原始服務(wù)器)。在一些實現(xiàn)中,對該范圍請求的上游響應(yīng)是整個文件,并且該整個文件被高速緩存且從該文件提取對下游范圍請求的響應(yīng)并發(fā)送該響應(yīng)。然而,在至少一種實現(xiàn)中,對范圍請求的上游響應(yīng)只是范圍請求本身中的數(shù)據(jù)字節(jié),且這些數(shù)據(jù)字節(jié)不被高速緩存而是只作為對下游范圍請求的響應(yīng)被發(fā)送。因此,客戶端使用范圍頭部可能的后果是文件本身從不被放入高速緩存且網(wǎng)絡(luò)的可取的可伸縮性性質(zhì)將會丟失。在上述內(nèi)容中,描述了高速緩存代理服務(wù)器的操作,并且還描述了從作為多個塊的聚集的文件來請求塊的方法。例如,這可以通過使用HTTP范圍請求頭部來達成。此類請求在下文被稱為“部分請求”?,F(xiàn)在描述另一實施例,其在塊供應(yīng)基礎(chǔ)設(shè)施101不提供對 HTTP范圍頭部的完全支持的情形中具有優(yōu)點。通常,塊供應(yīng)基礎(chǔ)設(shè)施內(nèi)的服務(wù)器例如內(nèi)容投遞網(wǎng)絡(luò)支持部分請求,但可能不在本地存儲(高速緩存)中存儲對部分請求的響應(yīng)。此類服務(wù)器可通過將請求轉(zhuǎn)發(fā)給另一服務(wù)器來履行部分請求,除非完整文件被存儲在本地存儲中,在后一種情形中可在不將請求轉(zhuǎn)發(fā)給另一服務(wù)器的情況下發(fā)送響應(yīng)。利用以上描述的對塊聚集的新穎增強的塊請求流送系統(tǒng)在塊供應(yīng)基礎(chǔ)設(shè)施顯現(xiàn)該行為的情況下可能性能不良,因為實為部分請求的所有請求將被轉(zhuǎn)發(fā)給另一服務(wù)器并且沒有任何請求將由高速緩存代理服務(wù)器來服務(wù),這首先就使提供高速緩存代理服務(wù)器所為的目的落空。在如上描述的塊請求流送過程期間,客戶端可能在某個時刻請求處在文件開頭的塊。根據(jù)此處描述的新穎方法,每當滿足某個條件時,便可將此類請求從對文件中的首個塊的請求轉(zhuǎn)換成對整個文件的請求。當高速緩存代理服務(wù)器接收到對整個文件的請求時,該代理服務(wù)器通常存儲響應(yīng)。因此,這些請求的使用使得文件被放入本地高速緩存代理服務(wù)器的高速緩存中,以使得后續(xù)請求無論是針對全文件的還是部分請求均可直接由該高速緩存代理服務(wù)器來服務(wù)。該條件可以是使得在與給定文件相關(guān)聯(lián)的請求集合(例如由觀看所議的內(nèi)容項的一組客戶端生成的請求的集合)中,該條件至少對于這些請求中的規(guī)定的分數(shù)而言將是滿足的。合適條件的示例是隨機選取的數(shù)字高于所規(guī)定的閾值。該閾值可被設(shè)置成使得將單塊請求轉(zhuǎn)換成全文件請求的這種轉(zhuǎn)換平均而言對這些請求中規(guī)定的分數(shù)發(fā)生,例如10 個請求里面發(fā)生一次(在這種情形中,可從區(qū)間
      選取該隨機數(shù)并且閾值可為0. 9)。合適條件的另一示例是對與塊相關(guān)聯(lián)的一些信息以及與客戶端相關(guān)聯(lián)的一些信息演算出的散列函數(shù)取所規(guī)定的值集合中的一個值。該方法具有以下優(yōu)點對于被頻繁請求的文件,該文件將被放入本地高速緩存代理服務(wù)器的高速緩存中,然而塊請求流送系統(tǒng)的操作與其中每個請求針對單個塊的標準操作相比沒有明顯更改。在許多情形中,在發(fā)生將請求從單塊請求轉(zhuǎn)換成全文件請求的場合,客戶端規(guī)程本將接著請求該文件內(nèi)的其他塊。如果是這種情形,則此類請求可被抑制,因為所議的塊無論如何都將作為全文件請求的結(jié)果被接收到。URL構(gòu)造以及段列表牛成和杳找段列表生成應(yīng)對客戶端在特定的客戶端本地時間“現(xiàn)在”如何從MPD來為始于某個開始時間“starttime”的特定表示生成段列表的問題,其中該開始時間“starttime”對于點播情形而言是相對于媒體呈現(xiàn)的開始而言的,或者是以壁鐘時間來表達的。段列表可包括定位符,例如指向可任選的初始表示元數(shù)據(jù)的URL,以及媒體段列表。每個媒體段可能已被指派開始時間、歷時和定位符。開始時間典型地表達段中所包含媒體的媒體時間的近似,但不一定是樣本準確時間。開始時間被HTTP流送客戶端用來在恰適的時間發(fā)出下載請求。段列表(包括每個段的開始時間)的生成可按不同方式進行。URL可作為播放列表提供,或者URL構(gòu)造規(guī)則可被有利地用于段列表的緊湊表示??衫鐖?zhí)行基于URL的段列表構(gòu)造——若MPD通過諸如文件動態(tài)信息 (FileDynamicInfo)或等效信號之類的特定屬性或元素來信令通知這一點。以下在“URL構(gòu)造概覽”小節(jié)中提供從URL構(gòu)造創(chuàng)建段列表的普適方式?;诓シ帕斜淼臉?gòu)造可例如由不同信號來信令通知。本上下文中還有利地實現(xiàn)在段列表中查找以及到達準確的媒體時間的功能。URL構(gòu)造器概覽如先前描述的,在本發(fā)明的一個實施例中,可提供包含URL構(gòu)造規(guī)則的元數(shù)據(jù)文件,這些URL構(gòu)造規(guī)則允許客戶端設(shè)備構(gòu)造呈現(xiàn)的塊的文件標識符?,F(xiàn)在描述對塊請求流送系統(tǒng)的進一步新穎增強,其提供元數(shù)據(jù)文件的改變,包括URL構(gòu)造規(guī)則的改變、可用編碼的數(shù)目的改變、與可用編碼相關(guān)聯(lián)的元數(shù)據(jù)諸如比特率、縱橫比、分辨率、音頻或視頻編解碼器或編解碼參數(shù)或其他參數(shù)的改變。在該新穎增強中,可提供與元數(shù)據(jù)文件的每個元素相關(guān)聯(lián)的指示在整個呈現(xiàn)內(nèi)的時間區(qū)間的附加數(shù)據(jù)。在該時間區(qū)間內(nèi),該元素可被視為有效,而除該時間區(qū)間以外,該元素可被忽略。此外,可增強元數(shù)據(jù)的句法,以使得先前允許出現(xiàn)僅一次或至多一次的元素可出現(xiàn)多次。在這種情形中可應(yīng)用附加限制,其規(guī)定對于此類元素,指定的時間區(qū)間必須不相交。在任何給定時刻,僅考慮其時間區(qū)間包含此給定時刻的元素就將得到與原始元數(shù)據(jù)句法相一致的元數(shù)據(jù)文件。將此類時間區(qū)間稱為有效性區(qū)間。該方法因此提供了在單個元數(shù)據(jù)文件內(nèi)信令通知上述種類的改變的手段。有利地,此類方法可用來提供在呈現(xiàn)內(nèi)的指定點支持所描述的種類的改變的媒體呈現(xiàn)。URL構(gòu)造器如本文中所描述的,塊請求流送系統(tǒng)的常見特征是需要向客戶端提供“元數(shù)據(jù)”, 元數(shù)據(jù)標識可用媒體編碼并提供客戶端請求來自這些編碼的塊所需的信息。例如,在HTTP 的情形中,該信息可包括包含媒體塊的文件的URL??商峁┎シ帕斜砦募淞谐鼋o定編碼的塊的URL。提供多個播放列表文件,每個文件針對一種編碼,連同列出與不同編碼相對應(yīng)的播放列表的“關(guān)于播放列表的主播放列表”。該系統(tǒng)的缺點在于元數(shù)據(jù)可能變得相當大, 且因此在客戶端開始流時要花一定時間來請求元數(shù)據(jù)。該系統(tǒng)的另一缺點在實況內(nèi)容的情形中是明顯的,此時與媒體數(shù)據(jù)塊相對應(yīng)的文件是從正被實時地(實況)捕捉的媒體流 (例如實況體育比賽或新聞節(jié)目)“在運行中”生成的。在這種情形中,可在每次有新塊可用時(例如,每幾秒)更新播放列表文件。客戶端設(shè)備可重復地取回該播放列表文件以確定是否有新塊可用并獲得其URL。這可能對服務(wù)基礎(chǔ)設(shè)施造成顯著負荷,并且尤其意味著元數(shù)據(jù)文件不能被高速緩存比更新間隔更久的時間,更新間隔等于通常為幾秒的量級的塊大小。塊請求流送系統(tǒng)的一個重要方面是用于向客戶端通知應(yīng)當與文件下載協(xié)議一起用來請求塊的文件標識符(例如URL)的方法。例如,其中對于呈現(xiàn)的每個表示都提供播放列表文件的方法,該播放列表文件列出包含媒體數(shù)據(jù)塊的文件的URL。該方法的缺點在于播放列表文件本身的至少一些需要被下載后播出才能開始,這增加了頻道換臺時間并且因此導致不良用戶體驗。對于具有若干或許多表示的長媒體呈現(xiàn),文件URL的列表可能很大,并且因此播放列表文件可能很大,這進一步增加了頻道換臺時間。該方法的另一缺點發(fā)生在實況內(nèi)容的情形中。在這種情形中,不會事先就有完整的URL列表可用,且播放列表文件隨著有新塊變?yōu)榭捎枚恢芷谛缘馗?,并且客戶端周期性地請求該播放列表文件以接收?jīng)更新版本。由于該文件被頻繁更新,因此其不能被長時間存儲在高速緩存代理服務(wù)器內(nèi)。這意味著對該文件的很多請求將被轉(zhuǎn)發(fā)給其他服務(wù)器并最終轉(zhuǎn)發(fā)給生成該文件的服務(wù)器。在受歡迎的媒體呈現(xiàn)的情形中,這可能對該服務(wù)器以及網(wǎng)絡(luò)造成高負荷,進而可能導致響應(yīng)時間很慢并因此導致頻道換臺時間很長且用戶體驗不良。在最差情形中,服務(wù)器變得過載,并且這導致一些用戶不能觀看該呈現(xiàn)。在塊請求流送系統(tǒng)的設(shè)計中希望避免對可使用的文件標識符的形式加以限制。這是由于多種考慮可能激發(fā)使用特定形式的標識符的動機。例如,在塊供應(yīng)基礎(chǔ)設(shè)施是內(nèi)容投遞網(wǎng)絡(luò)的情形中,可能存在與跨網(wǎng)絡(luò)分布存儲或服務(wù)負荷的愿望或其他要求相關(guān)的文件命名或存儲慣例,這導致在系統(tǒng)設(shè)計時不能預測的特定形式的文件標識符?,F(xiàn)在描述另一實施例,其緩解了上述缺點而同時留存選取恰適文件標識慣例的靈活性。在該方法中,可為媒體呈現(xiàn)的每個表示提供包括文件標識符構(gòu)造規(guī)則的元數(shù)據(jù)。文件標識符構(gòu)造規(guī)則可例如包括文本串。為了確定呈現(xiàn)的給定塊的文件標識符,可提供解讀文件標識符構(gòu)造規(guī)則的方法,該方法包括確定輸入?yún)?shù)以及將文件標識構(gòu)造規(guī)則連同這些輸入?yún)?shù)一起求值。輸入?yún)?shù)可例如包括要標識的文件的索引,其中第一文件具有索引0, 第二文件具有索引1,第三文件具有索引2,依此類推。例如,在每個文件跨越相同時間歷時 (或大致相同的時間歷時)的情形中,則與呈現(xiàn)內(nèi)任何給定時間相關(guān)聯(lián)的文件的索引可容易地確定。替換地,呈現(xiàn)內(nèi)由每個文件跨越的時間可在呈現(xiàn)或版本元數(shù)據(jù)內(nèi)提供。在一個實施例中,文件標識符構(gòu)造規(guī)則可包括文本串,該文本串可包含與輸入?yún)?shù)相對應(yīng)的某些特殊標識符。文件標識符構(gòu)造規(guī)則的求值方法包括確定這些特殊標識符在該文本串內(nèi)的位置,以及用相應(yīng)的輸入?yún)?shù)的值的串表示來取代每個此類特殊標識符。在另一實施例中,文件標識符構(gòu)造規(guī)則可包括遵循表達語言的文本串。表達語言包括該語言的表達可遵循的句法的定義以及用于對遵循該句法的串求值的規(guī)則集?,F(xiàn)在將參照圖21及下列等等來描述具體示例。圖21中示出對以增廣巴科斯-諾爾范式(Augmented Backus Naur Form)定義的合適表達式語言的句法定義的示例。用于對遵循圖21中的 < 表達式 > 產(chǎn)生式的串的規(guī)則求值的示例包括如下將遵循 < 表達式 > 產(chǎn)生式的串(< 表達式 >)遞歸地變換成遵循 < 字面 > 產(chǎn)生式的串遵循 < 字面 > 產(chǎn)生式的 < 表達式 > 不變。遵循 < 變量 > 產(chǎn)生式的 < 表達式 > 用由該〈變量〉產(chǎn)生式的 < 令牌 > 串標識的變量的值來替代。遵循 < 函數(shù) > 產(chǎn)生式的 < 表達式 > 通過如下描述地根據(jù)這些規(guī)則來對其每個自變量求值并向這些自變量應(yīng)用取決于 < 函數(shù) > 產(chǎn)生式的 < 令牌 > 元素的變換來求值。遵循 < 表達式 > 產(chǎn)生式的最后選項的 < 表達式 > 通過如下描述地對這兩個 < 表達式 > 元素求值并向這些自變量應(yīng)用取決于 < 表達式 > 產(chǎn)生式的此最后選項的 < 運算符 > 元素的運算來求值。在以上描述的方法中,假定求值發(fā)生在其中可定義多個變量的上下文中。變量是 (名稱,值)對,其中“名稱”是遵循〈令牌〉產(chǎn)生式的串,而“值”是遵循〈字面〉產(chǎn)生式的串。一些變量可在求值開始前在求值過程外部定義。其他變量可在求值過程本身內(nèi)部定義。 所有變量都是“全局”的,“全局”的意義是指對于每個可能的“名稱”僅存在一個變量。函數(shù)的示例是“printf”函數(shù)。該函數(shù)接受一個或更多個自變量。第一自變量可遵循〈串〉產(chǎn)生式(下文稱為“串”)。printf函數(shù)求值得到其第一自變量的經(jīng)變換版本。 所應(yīng)用的變換與C標準庫的“printf ”函數(shù)相同,其中〈函數(shù)〉產(chǎn)生式中包括的附加自變量供應(yīng)C標準庫printf函數(shù)預期的附加自變量。函數(shù)的另一示例是“hash (散列)”函數(shù)。該函數(shù)接受兩個自變量,其中第一個自變量可以是串,而第二個自變量可遵循〈數(shù)字〉產(chǎn)生式(下文稱為“數(shù)字”)?!癶ash”函數(shù)向第一自變量應(yīng)用散列算法并返回為小于第二自變量的非負整數(shù)結(jié)果。合適散列函數(shù)的示例在圖22中所示的C函數(shù)中給出,其自變量為輸入串(排除包封的引號)以及數(shù)值輸入值。 散列函數(shù)的其他示例對本領(lǐng)域技術(shù)人員是公知的。函數(shù)的另一示例是取一個、兩個或三個串自變量的“Subst”函數(shù)。在供應(yīng)一個自變量的情形中,“Subst”函數(shù)的結(jié)果是第一自變量。在供應(yīng)兩個自變量的情形中,則“Subst” 函數(shù)的結(jié)果通過在第一自變量內(nèi)擦除第二自變量(排除包封的引號)的任何出現(xiàn)并返回經(jīng)如此修改的第一自變量來計算。在供應(yīng)三個自變量的情形中,則“Subst”函數(shù)的結(jié)果通過在第一自變量內(nèi)用第三自變量(排除包封的引號)來替代第二自變量(排除包封的引號) 的任何出現(xiàn)并返回經(jīng)如此修改的第一自變量來計算。運算符的一些示例是加、減、除、乘和模運算符,分別由〈運算符〉產(chǎn)生式‘ + ’、‘_’、 ‘/’、‘*’、‘ % ’標識。這些運算符要求 < 運算符 > 產(chǎn)生式任一側(cè)的 < 表達式 > 產(chǎn)生式求值均得到數(shù)字。運算符的求值包括以常規(guī)方式向這兩個數(shù)字應(yīng)用恰適的算術(shù)運算(分別為加、 減、除、乘和模)并返回遵循〈數(shù)字〉產(chǎn)生式的形式的結(jié)果。運算符的另一示例是賦值運算符,由 < 運算符 > 產(chǎn)生式‘=’標識。該運算符要求左邊的自變量求值得到串,其內(nèi)容遵循〈令牌〉產(chǎn)生式。串的內(nèi)容被定義為包封的引號內(nèi)的字符串。等于運算符導致其名稱為等于左邊自變量的內(nèi)容的〈令牌〉的變量被賦于等于對右邊自變量求值的結(jié)果的值。該值也是對該運算符表達式求值的結(jié)果。運算符的另一示例是順序運算符,由 < 運算符 > 產(chǎn)生式‘;,標識。對該運算符求值的結(jié)果是右邊的自變量。注意,與所有運算符一樣,兩個自變量均被求值并且左邊的自變量先被求值。在本發(fā)明的一個實施例中,文件的標識符可通過根據(jù)以上規(guī)則用標識所要求的文件的特定的一組輸入變量對文件標識符構(gòu)造規(guī)則求值來獲得。輸入變量的示例是名稱為 “index(索引)”且值等于該文件在呈現(xiàn)內(nèi)的數(shù)值索引的變量。輸入變量的另一示例是名稱為“bitrate (比特率),,且值等于呈現(xiàn)的所要求版本的平均比特率的變量。圖23解說了文件標識符構(gòu)造規(guī)則的一些示例,其中輸入變量是給出想要的呈現(xiàn)的表示的標識符的“id”以及給出文件的序列號的“seq”。如本領(lǐng)域技術(shù)人員在閱讀本公開之際將清楚的,以上方法的許多變形是可能的。 例如,可以并非提供以上描述的函數(shù)和運算符的全部,或者可提供外加的函數(shù)或運算符。URL構(gòu)造規(guī)則和時基本節(jié)提供基本URI構(gòu)造規(guī)則,以指派文件或段URI以及每個段在表示和媒體呈現(xiàn)內(nèi)的開始時間。對于本條,假定客戶端處有媒體呈現(xiàn)描述可用。假定HTTP流送客戶端正在播出在媒體呈現(xiàn)內(nèi)下載的媒體。HTTP客戶端的實際呈現(xiàn)時間可用呈現(xiàn)時間相對于呈現(xiàn)開始在何處來定義。在初始化時,可假定呈現(xiàn)時間t = 0。在任何點t,HTTP客戶端可下載播放時間tP (也是相對于呈現(xiàn)的開始而言的)比實際呈現(xiàn)時間t提前至多“MaximumClientfreBufferTime (最大客戶端預緩沖時間)”的任何數(shù)據(jù)、以及由于用戶交互(例如,查找、快進等)而需要的任何數(shù)據(jù)。在一些實施例中, “最大客戶端預緩沖時間”甚至可以不被指定,不被指定的意義是指客戶端能無限制地下載比當前播放時間提前(tP)的數(shù)據(jù)。HTTP客戶端可避免下載不必要的數(shù)據(jù),例如,來自預期不會播出的表示的任何段可能典型地不被下載。提供流送服務(wù)的基本過程可以是通過生成下載整個文件/段或文件/段子集的恰適請求,例如通過使用HTTP獲取請求或HTTP部分獲取請求來下載數(shù)據(jù)。本描述解決了如何訪問特定播出時間tP的數(shù)據(jù),但一般而言,客戶端可下載更大時間范圍的播放時間的數(shù)據(jù)以避免低效率請求。HTTP客戶端可使得在提供流送服務(wù)時的HTTP請求的數(shù)目/頻度最小化。
      58
      為了訪問特定表示中在播放時間tP或至少接近播放時間tP的媒體數(shù)據(jù),客戶端確定指向包含該播放時間的文件的URL并且另外確定該文件中用于訪問該播放時間的字節(jié)范圍。媒體呈現(xiàn)描述可例如通過使用R印resentationID (表示ID)屬性向每個表示指派表示id “r”。換言之,MPD的該內(nèi)容在由攝取系統(tǒng)寫時或在被客戶端讀時將被解讀成存在指派。為了下載id為r的特定表示的特定播放時間tP的數(shù)據(jù),客戶端可構(gòu)造針對文件的恰適URI。媒體呈現(xiàn)描述可向每個表示r的每個文件或段指派以下屬性(a)表示r內(nèi)的文件的序號i,其中i = 1,2,...,Nr,(b)表示id為r且文件索引為i的文件相對于呈現(xiàn)時間而言的相對開始時間,定義為ts(r,i),(c)表示id為r且文件索引為i的文件/段的文件URI,記為FileURI (r, i)。在一個實施例中,可顯式地為表示提供文件的開始時間和文件URI。在另一實施例中,可顯式地提供文件URI列表,其中每個文件URI根據(jù)在該列表中的位置被固有地指派索引i,并且段的開始時間是作為從1到i_l的段的所有段歷時之和來推導的。每個段的歷時可根據(jù)以上討論的任何規(guī)則來提供。例如,懂基礎(chǔ)數(shù)學的任何人員可使用其他方法來推導用于從單個元素或?qū)傩砸约拔募RI在表示中的位置/索引來容易地推導開始時間的方法。若MPD中提供動態(tài)URI構(gòu)造規(guī)則,則每個文件的開始時間以及每個文件URI可通過使用構(gòu)造規(guī)則、所請求的文件的索引、以及潛在可能還使用在媒體呈現(xiàn)描述中提供的一些附加參數(shù)來動態(tài)地構(gòu)造。該信息例如可在諸如文件URI模式(FileURII^attern)和動態(tài)文件信息(FilelnfoDynamic)等MPD屬性及元素中提供。文件URI模式提供關(guān)于如何基于文件索引序號i和表示ID r來構(gòu)造URI的信息。文件URI格式(FileURIi^rmat)構(gòu)造為文件URI 格式=sprintf ( "% s% s% s% s% s. % s,,,基 URI,基文件名稱,表示ID格式,分隔符格式,文件序列ID格式,文件擴展名);并且FileURI (r, i)構(gòu)造為FileURI (r,i) = sprintf (文件 URI 格式,r,i);每個文件/段的相對開始時間ts(r,i)可由MPD中包含的描述該表示中的段的歷時的某個屬性來推導,例如“動態(tài)文件信息”屬性。MPD還可包含對媒體呈現(xiàn)中的所有表示或以如上指定的相同方式至少在時段中對所有表示而言為全局的“動態(tài)文件信息”屬性序列。若表示r中的特定播放時間tP的媒體數(shù)據(jù)被請求,則相應(yīng)的索引i(r,tP)可被推導為 i(r, tp),以使得該索引的播放時間落在開始時間ts(r,i(r, tP))與ts(r,i (r, tP)+l)的區(qū)間中。段訪問可進一步被以上情形限制,例如段是不可訪問的?!┇@得相應(yīng)段的索引和URI,訪問確切的播放時間tP就取決于實際段格式。在該示例中,不失一般性,假定媒體段具有始于0的局部時間線。為了訪問和呈現(xiàn)播放時間tP 的數(shù)據(jù),客戶端可從能通過其中i = i(r,tp)的URIFileURI (r,i)訪問的文件/段下載與局部時間相對應(yīng)的數(shù)據(jù)。一般而言,客戶端可下載整個文件并且隨后可訪問播放時間tP。然而,不一定3GP 文件的所有信息都需要被下載,因為3GP文件提供將局部時基映射到字節(jié)范圍的結(jié)構(gòu)。因此,只要有充分的隨機訪問信息可用,僅訪問播放時間tP的特定字節(jié)范圍就足以播放媒體。同樣,在段的初始部分中可例如使用段索引之類來提供關(guān)于媒體段的字節(jié)范圍和局部時基的結(jié)構(gòu)和映射的充分信息。通過能訪問段的初始的例如1200個字節(jié),客戶端就可具有充分的信息以直接訪問播放時間tP所需的字節(jié)范圍。在另一示例中,假定段索引(可能在下文指定為“tidx”包)可被用于標識所要求的一個或多個片斷的字節(jié)偏移量??舍槍λ蟮囊粋€或多個片斷形成部分獲取請求。還存在其他替換方案,例如,客戶端可發(fā)出對文件的標準請求并在已接收到第一個“tidx”包時取消該請求。^^客戶端可嘗試查找到表示中的特定呈現(xiàn)時間tp?;贛PD,客戶端能訪問表示中的每個段的媒體段開始時間和媒體段URL??蛻舳丝色@取開始時間tS(r,i)小于或等于呈現(xiàn)時間tp的最大段索引i作為最有可能包含呈現(xiàn)時間tp的媒體樣本的段的段索引 segment_index,即段索引=max{i |tS(r,i) <=tp}。獲得段 URL 為 FileURI (r,i)。注意,由于與隨機訪問點的放置、媒體軌跡的對準以及媒體時基漂移有關(guān)的問題, MPD中的時基信息可能是近似的。因此,由以上規(guī)程所標識出的段可能始于比tp稍晚的時間,并且呈現(xiàn)時間tp的媒體數(shù)據(jù)可能位于先前媒體段中。在查找的情形中,可將查找時間更新成等于檢索到的文件的首個樣本時間,或者可代之以檢索前一文件。然而應(yīng)注意,在連續(xù)播出期間,包括在替換表示/版本之間切換的情形中,tp與檢索到的段的開始之間的時間的媒體數(shù)據(jù)仍是可用的。為了準確地查找到呈現(xiàn)時間tp,HTTP流送客戶端需要訪問隨機訪問點(RAP)。 為了在3GPP自適應(yīng)HTTP流送的情形中確定媒體段中的隨機訪問點,客戶端可例如使用 ‘tidx’或‘sidx’包(若存在)中的信息來定位媒體呈現(xiàn)中的隨機訪問點以及相應(yīng)的呈現(xiàn)時間。在段為3GPP電影片斷的情形中,也可能由客戶端使用‘moof’和‘mdat’包內(nèi)的信息來例如定位RAP并從電影片斷中的信息和從MPD推導出的段開始時間來獲得必需的呈現(xiàn)時間。若沒有呈現(xiàn)時間在所請求的呈現(xiàn)時間tp之前的RAP可用,則客戶端可訪問先前段或者可僅僅使用首個隨機訪問點作為查找結(jié)果。當媒體段始于RAP時,這些規(guī)程是簡單的。同樣應(yīng)注意,媒體段的所有信息未必都需要被下載才能訪問呈現(xiàn)時間tp??蛻舳丝梢岳缡紫仁褂米止?jié)范圍請求從媒體段的開頭請求‘tidx’或‘sidx’包。通過使用 ‘tidx’或‘sidx’包,段時基可被映射到段的字節(jié)范圍。通過連續(xù)使用部分HTTP請求,僅媒體段中有關(guān)系的部分需要被訪問,從而得到改善的用戶體驗以及低啟動延遲。段列表生成如本文中所描述的,如何實現(xiàn)使用由MPD提供的信息來為具有信令通知的大致段歷時dur的表示創(chuàng)建段列表的簡單直接的HTTP流送客戶端應(yīng)當是明了的。在一些實施例中,客戶端可向表示內(nèi)的媒體段指派連貫索引i = 1,2,3,...,即第一個媒體段被指派索引 i = 1,第二個媒體段被指派索引i = 2,依此類推。那么,具有段索引i的媒體段的列表被指派startTime[i](開始時間[i]),并且例如如下生成URL[i]。首先,將索引i設(shè)為1。獲得第一個媒體段的開始時間為0,即startTime[l] = 0。獲得媒體段i的URL即URL[i]為 FileURI (r,i)。該過程針對具有索引i的所有被描述的媒體段繼續(xù),并且獲得媒體段i的 startTime [i]為(i_l) *dur,并且獲得 URL[i]為 FileURI (r,i)。
      并發(fā)HTTP/TCP 請求塊請求流送系統(tǒng)中一關(guān)注點是希望總是請求能被及時地完整接收以供播出的最高質(zhì)量塊。然而,數(shù)據(jù)抵達率可能不是事先已知的,且因此可能碰巧所請求的塊沒有及時抵達以供播出。這導致需要暫停媒體播出,從而導致不良用戶體驗。該問題可通過對要請求的塊的選擇采取保守辦法的客戶端算法來緩解,此保守辦法請求更有可能即便在塊的接收期間數(shù)據(jù)抵達率下降亦能被及時接收到的較低質(zhì)量(因此有較小大小)的塊。然而,該保守辦法具有可能向用戶或目的地設(shè)備投遞較低質(zhì)量播出這一缺點,這也是不良用戶體驗。當同時使用多個HTTP連接來下載不同塊時該問題可能放大,如以下所描述的,因為可用網(wǎng)絡(luò)資源跨連接被共享,且因此被同時用于具有不同播出時間的塊??蛻舳瞬l(fā)地發(fā)出對多個塊的請求可能是有利的,其中在本上下文中,“并發(fā)地” 表示對請求的響應(yīng)發(fā)生在交迭的時間區(qū)間中,且這些請求不一定是在精確或甚至大致相同的時間作出的。在HTTP協(xié)議的情形中,該辦法由于TCP協(xié)議的行為(這是公知的)故而可改善對可用帶寬的利用率。這對于改善內(nèi)容換臺時間可能是尤為重要的,因為在新內(nèi)容首次被請求時,藉以請求這些塊的數(shù)據(jù)的相應(yīng)HTTP/TCP連接可能起動很慢,并且因此在此時使用若干HTTP/TCP連接能極大地加速第一批塊的數(shù)據(jù)投遞時間。然而,在不同HTTP/TCP 連接上請求不同塊或片斷也可能導致性能降級,因為對將要先播出的塊的請求正在與對后續(xù)塊的請求競爭,競爭的各HTTP/TCP下載在其投遞速度方面大為不同,并且因此該請求的完成時間可能高度可變,且一般不可能控制哪些HTTP/TCP連接將迅速完成而哪些將較慢, 因此很有可能至少一些時候頭幾個塊的HTTP/TCP下載將最后完成,因此導致很大且可變的頻道換臺時間。假設(shè)段的每個塊或片斷是在單獨的HTTP/TCP連接上下載的,并且并行連接的數(shù)量為η且每個塊的播出歷時為t秒,并且與該段相關(guān)聯(lián)的內(nèi)容的流送率為S。當客戶端最初開始流送該內(nèi)容時,可發(fā)出對頭η個塊的請求,這代表n*t秒的媒體數(shù)據(jù)。如本領(lǐng)域技術(shù)人員已知的,TCP連接的數(shù)據(jù)率有很大變動。然而,為了簡化本討論, 假設(shè)理想情況下所有連接都并行地進行,從而第一個塊將在與其他n-1個請求的塊大約相同的時間被完全接收。為了進一步簡化本討論,假設(shè)這η個下載連接所利用的聚集帶寬在該下載的整個歷時期間固定為值B,并且流送率S在整個表示期間是恒定的。進一步假設(shè)媒體數(shù)據(jù)結(jié)構(gòu)使得塊的播出在整個塊在客戶端處可用時才能進行,即塊的播出只能在接收到整個塊之后開始,例如由于底層視頻編碼的結(jié)構(gòu)或者由于采用了加密來單獨加密每個片斷或塊,且因此整個片斷或塊需要先被接收到才能被解密。因此,為了簡化以下的討論,假定在塊的任何部分能被播出之前,需要接收到整個塊。那么,在第一個塊抵達并且能被播出之前所需的時間約為n*t*S/B。由于希望使內(nèi)容換臺時間最小化,因此使n*t*S/B最小化是可取的。t的值可由諸如底層視頻編碼結(jié)構(gòu)以及如何利用攝取方法等因素決定,且因此t可以適度地小,但非常小的t值導致過度復雜的段映射,并且可能與高效視頻編碼和解密(若使用)不兼容。η 的值也可能影響B(tài)的值,即B對于較大的連接數(shù)量η可能較大,且因此減少連接數(shù)量η具有潛在地減少所利用的可用帶寬量B的負面效應(yīng),因此對于達成減少內(nèi)容換臺時間的目標可能不是有效的。S的值取決于選取下載和播出哪個表示,且理想情況下S應(yīng)當盡可能接近B 以使給定網(wǎng)絡(luò)條件下媒體的播出質(zhì)量最大化。因此,為了簡化本討論,假定S約等于B。那么,頻道換臺時間與n*t成比例。因此,若各連接利用的聚集帶寬與連接數(shù)量呈亞線性比例 (通常就是這種情形),則利用較多連接來下載不同片斷會使頻道換臺時間降級。作為示例,假設(shè)t = 1秒,且n= 1時B的值= 500Kbps,n = 2時B的值= 700Kbps, 且η = 3時B的值=800Kbps。假設(shè)選取了 S = 700Kbps的表示。那么,在η = 1時,第一塊的下載時間為1*700/500 = 1. 4秒,在η = 2時,第一塊的下載時間為2*700/700 = 2秒, 在η = 3時,第一塊的下載時間為3*700/800 = 2. 625秒,此外,隨著連接數(shù)量增加,各連接的個體下載速度的可變性很可能增加(盡管即使在一個連接的情況下,也很可能有某個明顯的可變性)。因此,在該示例中,頻道換臺時間和頻道換臺時間可變性隨連接數(shù)量的增加而增加。直觀上,正被投遞的塊具有不同優(yōu)先級,即第一個塊具有最早投遞期限,第二個塊具有次最早期限等等,而正藉以投遞這些塊的各下載連接正在投遞期間競爭網(wǎng)絡(luò)資源, 且因此具有最早期限的塊隨著有越來越多的競爭塊被請求而越加延遲。另一方面,即使在該情形中,最終使用一個以上下載連接也允許支持可維系的較高流送率,例如在三個連接的情況下,在該示例中能支持最高達800Kbps的流送率,而在一個連接的情況下僅能支持 500Kbps 的流。在實踐中,如上所述,連接的數(shù)據(jù)率在相同連接內(nèi)隨著時間推移以及在不同連接之間都可能高度可變,并且因此,η個所請求的塊一般不在同時完成,且事實上通??赡苁且粋€塊可能在另一塊的一半時間里就完成了。該效應(yīng)導致不可預測的行為,因為在一些情形中,第一個塊可能比其他塊完成得快得多,而在其他情形中,第一個塊可能比其他塊完成得晚得多,且因此播出的開始在一些情形中可能相對迅速地發(fā)生而在其他情形中可能發(fā)生得很慢。這種不可預測的行為對于用戶來說可能是令人沮喪的,并且因此可能被視為不良用戶體驗。因此,需要能利用多個TCP連接來改善頻道換臺時間和頻道換臺時間可變性而同時支持可能的良好質(zhì)量流送率的方法。還需要允許隨著塊的播出時間的逼近調(diào)節(jié)分配給每個塊的可用帶寬的份額、從而在必要的情況下較大份額的可用帶寬能有傾向性地被分配給具有最迫近的播放時間的塊的方法。協(xié)作式HTTP/TCP請求現(xiàn)在描述以協(xié)作式方式使用并發(fā)HTTP/TCP請求的方法。接收機可采用多個并發(fā)的協(xié)作式HTTP/TCP請求,例如使用多個HTTP字節(jié)范圍請求,其中每個此類請求針對源段中的片斷的一部分、或源段的片斷的全部、或修復段的一部分或修復片斷、或針對修復段的修復片段的全部。協(xié)作式HTTP/TCP請求連同使用FEC修復數(shù)據(jù)的優(yōu)點對于提供一貫快速的頻道換臺時間可能尤為重要。例如,在頻道換臺時間,TCP連接很可能剛剛起動或者已空閑了一段時間,在這種情形中擁塞窗Cwnd對于這些連接位于其最小值,且因此這些TCP連接的投遞速度將花若干往返行程時間(RTT)來斜坡上升,且在該斜坡上升時間期間不同TCP連接上的投遞速度將具有高度可變性?,F(xiàn)在描述無FEC方法的概覽,無FEC方法是協(xié)作式HTTP/TCP請求方法,其中使用多個并發(fā)HTTP/TCP連接來僅請求源塊的媒體數(shù)據(jù),即不請求FEC修復數(shù)據(jù)。通過該無FEC 方法,在不同連接上請求相同片斷的各部分,例如使用針對該片斷的各部分的HTTP字節(jié)范圍請求,且因此例如每個HTTP字節(jié)范圍請求針對該片斷的段映射中指示的字節(jié)范圍的一部分??赡苁沁@種情形個體HTTP/TCP的投遞速度在若干RTT (往返行程時間)上斜坡上升以完全利用可用帶寬,且因此在相對長的時間段里投遞速度小于可用帶寬,因此若使用單個HTTP/TCP連接來下載例如要播出的內(nèi)容的第一個片斷,則頻道換臺時間可能很大。使用無FEC方法,在不同HTTP/TCP連接上下載相同片斷的不同部分就能顯著減小頻道換臺時間?,F(xiàn)在描述FEC方法的概覽,F(xiàn)EC方法是協(xié)作式HTTP/TCP請求方法,其中使用多個并發(fā)HTTP/TCP連接來請求源段的媒體數(shù)據(jù)以及從該媒體數(shù)據(jù)生成的FEC修復數(shù)據(jù)。通過該FEC方法,使用針對片斷的各部分的HTTP字節(jié)范圍請求在不同連接上請求相同片斷的各部分以及從該片斷生成的FEC修復數(shù)據(jù),且因此例如每個HTTP字節(jié)范圍請求針對該片斷的段映射中指示的字節(jié)范圍的一部分??赡苁沁@種情形個體HTTP/TCP請求的投遞速度在若干RTT(往返行程時間)上斜坡上升以完全利用可用帶寬,因此在相對長的時間段里投遞速度小于可用帶寬,因此若使用單個HTTP/TCP連接來下載例如要播出的內(nèi)容的第一個片斷, 則頻道換臺時間可能很大。使用FEC方法具有與無FEC方法相同的優(yōu)點,且具有并非所有所請求數(shù)據(jù)都需要在能恢復該片斷之前抵達的額外優(yōu)點,因此進一步減小了頻道換臺時間以及頻道換臺時間可變性。通過在不同TCP連接上作出請求、以及在其中至少一條連接上還請求FEC修復數(shù)據(jù)的溢額請求,投遞例如足以恢復使得媒體播出能開始的第一個所請求片斷的數(shù)據(jù)量要花的時間量可被極大地減少,并能使之比不使用協(xié)作式TCP連接和FEC修復數(shù)據(jù)的情況下更加一致。圖M(a)_(e)示出在從仿真的演進數(shù)據(jù)優(yōu)化(EVDO)網(wǎng)絡(luò)上的相同HTTPweb服務(wù)器至相同客戶端的相同鏈路上運行的5個TCP連接的投遞率波動的示例。在圖M(a)_(e) 中,X軸示出以秒計的時間,并且Y軸示出客戶端處在這5個TCP連接中的每一個連接上接收比特的速率,每個連接上的速率是針在1秒的區(qū)間上測量的。在該特定仿真中,在該鏈路上總共有12個TCP連接在運行,且因此網(wǎng)絡(luò)在所示時間期間是相對有負荷的,這在有一個以上客戶端正在移動網(wǎng)絡(luò)的相同蜂窩小區(qū)內(nèi)進行流送時是典型的。注意,盡管投遞率隨著時間推移來看在一定程度上是相關(guān)的,但這5個連接的投遞率在許多時間點是有巨大差異的。圖25示出針對大小為250,000比特(約為31. 25千字節(jié))的片斷的可能請求結(jié)構(gòu),其中對該片斷的不同部分并行地作出4個HTTP字節(jié)范圍請求,即第一 HTTP連接請求頭50,000比特,第二 HTTP連接請求接下來的50,000比特,第三HTTP連接請求接下來的 50,000比特,而第四HTTP連接請求接下來的50,000比特。若不使用FEC,即無FEC方法, 則在該示例中對該片斷只有4個請求。若使用FEC,即FEC方法,則在該示例中,有一個附加的HTTP請求,用于請求從該片斷生成的修復段的額外50,000比特FEC修復數(shù)據(jù)。圖沈是圖M (a)-(e)中所示的5個TCP連接的頭幾秒的放大,其中在圖沈中,X 軸以100毫秒的間隔示出時間,并且Y軸示出客戶端處在這5個TCP連接中的每一個連接上接收比特的速率,該速率是在100毫秒?yún)^(qū)間上測量的。一條線示出在客戶端處已從頭4 個HTTP連接(排除藉以請求FEC數(shù)據(jù)的那個HTTP連接)為該片斷接收到的聚集比特量, 即,使用無FEC方法抵達的聚集比特量。另一條線示出在客戶端出已從所有這5個HTTP連接(包括藉以請求FEC數(shù)據(jù)的那個HTTP連接)為該片斷接收到的聚集比特量,即,使用FEC 方法抵達的聚集比特量。對于FEC方法,假定該片斷從接收到250,000個所請求比特中的任何200,000比特時起能被FEC解碼,這在例如使用Reed-Solomon FEC碼的情況下就能實現(xiàn),且在例如使用Luby IV中描述的RaptorQ碼的情況下則本質(zhì)上能實現(xiàn)。對于該示例中的FEC方法,在1秒后接收到足以使用FEC解碼來恢復該片斷的數(shù)據(jù),從而允許1秒的頻道換臺時間(假定在第一個片斷被完全播出之前能請求并接收后續(xù)片斷的數(shù)據(jù))。對于該示例中的無FEC方法,在能恢復該片斷之前不得不接收這4個請求的所有數(shù)據(jù),這在1. 7秒之后發(fā)生,從而得到1. 7秒的頻道換臺時間。因此,在圖沈中所示的示例中,無FEC方法在頻道換臺時間的意義上比FEC方法差70%。該示例中的FEC方法表現(xiàn)出的優(yōu)點的一個原因在于,對于FEC方法,接收到所請求的數(shù)據(jù)中的任何80%就允許恢復該片斷,而對于無FEC 方法,要求接收到所請求的數(shù)據(jù)的100%。因此,無FEC方法不得不等待最慢的TCP連接完成投遞,且由于TCP投遞率的自然變動,最慢TCP連接的投遞速度與平均TCP連接相比可能動輒有很大方差。在該示例中的FEC方法下,一個慢TCP連接不會決定該片斷何時能恢復。 相反,對于FEC方法,足夠數(shù)據(jù)的投遞更多地取決于平均TCP投遞率而非最差情形TCP投遞率。存在以上描述的無FEC方法和FEC方法的許多變形。例如,協(xié)作式HTTP/TCP請求可被用于發(fā)生頻道換臺后的僅頭幾個片斷,且此后僅使用單個HTTP/TCP請求來下載進一步的片斷、多個片斷或整個段。作為另一示例,所使用的協(xié)作式HTTP/TCP連接的數(shù)量可以是正在請求的片斷的緊急性(即,這些片斷的播出時間有多迫切)以及當前網(wǎng)絡(luò)條件的函數(shù)。在一些變形中,可使用多個HTTP連接來請求來自修復段的修復數(shù)據(jù)。在其他變形中,可在不同的HTTP連接上請求不同的數(shù)據(jù)量,例如取決于媒體緩沖器的當前大小以及客戶端處的數(shù)據(jù)接收速率。在另一變形中,各源表示彼此并不獨立,而是代表分層媒體編碼, 其中例如增強型源表示可取決于基源表示。在這種情形中,可以有與基源表示相對應(yīng)的修復表示、以及與基和增強源表示的組合相對應(yīng)的另一修復表示。附加的全部元件增進了可由以上公開的方法實現(xiàn)的優(yōu)點。例如,所使用的HTTP 連接的數(shù)量可取決于媒體緩沖器中的當前媒體量、和/或向媒體緩沖器中接收的速率而變化。在媒體緩沖器相對較空時可進取性地使用利用FEC的協(xié)作式HTTP請求,即以上描述的FEC方法及該方法的變形,例如對第一片斷的不同部分并行地作出較多的協(xié)作式HTTP請求,請求源片斷的全部以及來自相應(yīng)的修復片段的相對大分數(shù)的修復數(shù)據(jù),并隨后隨著媒體緩沖器增長,轉(zhuǎn)換到數(shù)量減少的并發(fā)HTTP請求,每請求皆請求更大部分的媒體數(shù)據(jù),以及請求較小分數(shù)的修復數(shù)據(jù),例如,轉(zhuǎn)換到1、2或3個并發(fā)HTTP請求,轉(zhuǎn)換到每請求對滿量的片斷或多個連貫片斷作出請求,以及轉(zhuǎn)換到不請求修復數(shù)據(jù)。作為另一示例,F(xiàn)EC修復數(shù)據(jù)的量可作為媒體緩沖器大小的函數(shù)而變化,即,當媒體緩沖器小時,則可請求較多FEC修復數(shù)據(jù),并且隨著媒體緩沖器增長,則可逐漸減少所請求的FEC修復數(shù)據(jù)的量,以及在媒體緩沖器充分大時的某個時間點,可以不請求FEC修復數(shù)據(jù),僅請求來自源表示的源段的數(shù)據(jù)。此類增強型方法的益處在于它們可允許更快和更一致的頻道換臺時間、以及更強的抗?jié)撛诿襟w不流暢或停滯的回彈性,同時通過減少請求消息話務(wù)和FEC修復數(shù)據(jù)兩者使所使用的超過只投遞源段中的媒體本應(yīng)消費的量的額外帶寬量最小化,同時又使得能支持給定網(wǎng)絡(luò)條件下最高的可能媒體速率。使用并發(fā)HTTP連接時的附加增強
      若滿足合適的條件則可放棄HTTP/TCP請求并且可作出另一 HTTP/TCP請求以下載可替代在被放棄的請求中所請求的數(shù)據(jù)的數(shù)據(jù),其中第二 HTTP/TCP請求可請求與原始請求中完全相同的數(shù)據(jù),例如源數(shù)據(jù);或交迭數(shù)據(jù),例如相同源數(shù)據(jù)和修復數(shù)據(jù)中在第一請求中尚未請求的一些;或者完全不相交的數(shù)據(jù),例如第一請求中尚未請求的修復數(shù)據(jù)。合適條件的示例是請求因在所規(guī)定時間內(nèi)沒有來自塊服務(wù)器基礎(chǔ)設(shè)施(BSI)的響應(yīng)、或者在建立與BSI的傳輸連接時發(fā)生故障、或接收到來自服務(wù)器的顯式故障消息、或其他故障條件而失敗。合適條件的另一示例是根據(jù)將連接速度的度量(響應(yīng)于所議請求的數(shù)據(jù)抵達率) 與預期連接速度、或與在響應(yīng)中包含的媒體數(shù)據(jù)的播出時間或取決于該時間的其他時間之前接收該響應(yīng)所需的連接速度的估計作比較,數(shù)據(jù)的接收進行得異常慢。該辦法在BSI有時顯現(xiàn)故障或不良性能的情形中具有優(yōu)點。在這種情形中,上述辦法提高了即使BSI內(nèi)有故障或不良性能該客戶端仍能繼續(xù)可靠地播出媒體數(shù)據(jù)的概率。 注意,在一些情形中,以BSI有時的確顯現(xiàn)出此類故障或不良性能的方式來設(shè)計BSI可能存在優(yōu)點,例如此類設(shè)計可具有比不顯現(xiàn)出此類故障或不良性能或不那么頻繁地顯現(xiàn)出此類故障或不良性能的替換設(shè)計低的成本。在這種情形中,本文中描述的方法具有進一步優(yōu)點, 因為其允許對BSI利用此類較低成本設(shè)計而不會導致用戶體驗降級的后果。在另一實施例中,對與給定塊相對應(yīng)的數(shù)據(jù)發(fā)出的請求的數(shù)目可取決于是否滿足關(guān)于該塊的合適條件。若不滿足該條件,則假使對該塊的所有目前未完成的數(shù)據(jù)請求的成功完成將允許以高概率恢復出該塊,客戶端可被禁止對該塊作出進一步請求。若滿足該條件,則可發(fā)出對該塊的更大量請求,即,以上的禁止不適用。合適條件的示例是截至該塊的調(diào)度播出時間為止的時間或取決于該時間的其他時間落在所規(guī)定的閾值之下。該方法具有優(yōu)點,這是由于對塊的數(shù)據(jù)的附加請求是在對塊的接收因包括該塊的媒體數(shù)據(jù)的播出時間迫近而變得更急迫之后發(fā)出的。在諸如HTTP/TCP之類的常見傳輸協(xié)議的情形中,這些附加請求具有增加專用于對所議塊的接收有貢獻的數(shù)據(jù)的可用帶寬的份額的效應(yīng)。這減少了完成足以恢復該塊的數(shù)據(jù)的接收所需的時間,并因此減少該塊不能在包括該塊的媒體數(shù)據(jù)的調(diào)度播出時間之前被恢復的概率。如以上所描述的,若該塊不能在包括該塊的媒體數(shù)據(jù)的調(diào)度播出時間之前被恢復,則播出會暫停,從而導致不良用戶體驗,因此這里描述的方法有利地減少了這種不良用戶體驗的概率。應(yīng)理解,貫穿本說明書對塊的調(diào)度播出時間的引述是指包括該塊的經(jīng)編碼媒體數(shù)據(jù)最初可在客戶端處可用以達成該呈現(xiàn)的無暫停播出的時間。如對于媒體呈現(xiàn)系統(tǒng)領(lǐng)域的技術(shù)人員將清楚的,該時間實際上比包括該塊的媒體出現(xiàn)在用于播出的物理換能器(屏幕、揚聲器等)處的實際時間稍早,因為可能需要對包括該塊的媒體數(shù)據(jù)應(yīng)用若干變換功能以實現(xiàn)對該塊的實際播出并且這些功能可能要花一定量的時間來完成。例如,媒體數(shù)據(jù)一般是以壓縮形式傳輸?shù)牟⑶铱蓱?yīng)用解壓變換。用于生成支持協(xié)作式HTTP/FEC方法的文件結(jié)構(gòu)的方法現(xiàn)在描述用于生成可有利地被采用協(xié)作式HTTP/FEC方法的客戶端使用的文件結(jié)構(gòu)的實施例。在該實施例中,對于每個源段,存在如下生成的相應(yīng)修復段。參數(shù)R指示對于源段中的源數(shù)據(jù)而言平均生成多少FEC修復數(shù)據(jù)。例如,R = 0. 33指示若源段包含1,000 千字節(jié)的數(shù)據(jù),則相應(yīng)的修復段包含約330千字節(jié)的修復數(shù)據(jù)。參數(shù)S指示用于FEC編碼和解碼的以字節(jié)計的碼元大小。例如,S = 64指示源數(shù)據(jù)和修復數(shù)據(jù)包括各自用于FEC編碼和解碼目的的大小為64字節(jié)的碼元??扇缦聻樵炊紊尚迯投?。源段的每個片斷被視為用于FEC編碼目的的源塊,且因此每個片斷被當作據(jù)以生成修復碼元的源塊的源碼元序列。為頭i個片斷生成的修復碼元總數(shù)演算為TNRS(i) = ceiling(R*B(i)/S),其中ceilingOO是用于輸出值至少為χ的最小整數(shù)的函數(shù)。因此,為片斷i生成的修復碼元數(shù)目為NRS (i) = TNRS (i)-TNRS (i-1)。修復段包括關(guān)于這些片斷的修復碼元的級聯(lián),其中修復段內(nèi)的修復碼元的次序按據(jù)以生成這些修復碼元的片斷的次序,且在片斷內(nèi),修復碼元按其編碼碼元標識符(ESI) 的次序。與源段結(jié)構(gòu)相對應(yīng)的修復段結(jié)構(gòu)在圖27中示出,包括修復段生成器2700。注意,通過如上所述地定義關(guān)于片斷的修復碼元數(shù)目,關(guān)于所有先前片斷的修復碼元總數(shù)以及因此修復段的字節(jié)索引僅取決于R、S、B(i-l)和B(i),而不取決于源段內(nèi)的片斷的任何先前或后續(xù)結(jié)構(gòu)。這是有利的,因為其允許客戶端僅使用關(guān)于據(jù)以生成修復塊的源段的相應(yīng)片斷的結(jié)構(gòu)的局部信息來迅速計算修復段內(nèi)的修復塊開始的位置,并且還迅速計算該修復塊內(nèi)的修復碼元數(shù)目。因此,若客戶端決定從源段中間開始下載和播出片斷, 則它還能從相應(yīng)的修復段內(nèi)迅速生成和訪問相應(yīng)的修復塊。與片斷i相對應(yīng)的源塊中的源碼元數(shù)目演算為NSS(i)= ceiling((B(i)-B(i-l))/S)0若B(i)_B(i_l)不是S的倍數(shù),則最后的源碼元出于FEC編碼和解碼目的被填充“0”字節(jié),即,最后的源碼元被填充“0”字節(jié)從而其大小為S字節(jié)以用于FEC編碼和解碼目的,但這些“0”填充字節(jié)不被存儲為源段的一部分。在該實施例中,源碼元的 ESI 為 0、1、· · ·、NSS(i)-l,并且修復碼元的 ESI 為 NSS⑴、· · ·、NSS(i)+NRS(i)_l。在該實施例中,可通過簡單地向源段的URL添加后綴“.r印air”來從相應(yīng)的源段的URL生成修復段的URL。修復段的修復索引信息和FEC信息由相應(yīng)的源段的索引信息以及從R和S 的值隱式地定義,如本文中所描述的。時間偏移量和包括修復段的片斷結(jié)構(gòu)由相應(yīng)的源段的時間偏移量和結(jié)構(gòu)決定。至與片斷i相對應(yīng)的修復段中的修復碼元末尾的字節(jié)偏移量可被演算為RB(i) = S*Ceiling(R*B(i)/S)。與片斷i相對應(yīng)的修復段中的字節(jié)數(shù)目則為RB(i)-RB(i-l),且因此與片斷i相對應(yīng)的修復碼元數(shù)目被演算為NRS⑴=(RB⑴-RB(i-1))/S。與片斷i相對應(yīng)的源碼元數(shù)目可演算為NSS(i)= ceiling((B(i)-B(i-1))/S)。因此,在該實施例中,修復段內(nèi)的修復塊的修復索引信息和相應(yīng)的FEC信息可從R、S以及相應(yīng)源段的相應(yīng)片斷的索引信息隱式地推導出。作為示例,考慮圖觀中所示的示例,其示出始于字節(jié)偏移量B(I) =6,410并止于字節(jié)偏移量B (2) = 6,770的片斷2。在該示例中,碼元大小為S = 64字節(jié),且虛豎線示出源段內(nèi)與S的倍數(shù)相對應(yīng)的字節(jié)偏移量。作為源段大小的分數(shù)的總修復段大小在該示例中被設(shè)為R = 0. 5。片斷2的源塊中的源碼元數(shù)目演算為NSS (2) =ceiling( (6,770-6,410) /64)
      = ceil (5. 625) = 6,且這6個源碼元分別具有ESI 0.....5,其中第一個源碼元為片斷2的
      始于該源段內(nèi)的字節(jié)索引6,410處的頭64個字節(jié),第二個源碼元為片斷2的始于源段內(nèi)的字節(jié)索引6,474處的接下來64個字節(jié),等等。與片斷2相對應(yīng)的修復塊的末尾字節(jié)偏移量演算為 RB(2) = 64*ceiling(0. 5*6,770/64) = 64*ceiling(52. 89. . .) = 64*53 = 3,392, 且與片斷2相對應(yīng)的修復塊的開始字節(jié)偏移量演算為RB(I) =64*ceiling(0. 5*6,410/64)=64*ceiling(50. 07. . .) = 64*51 = 3,264,因此在該示例中,在與片斷2相對應(yīng)的修復塊中具有ESI分別為6和7的兩個修復碼元,始于修復段內(nèi)字節(jié)偏移量3,264處并止于字節(jié)偏移量3,392。注意,在圖28中所示的示例中,盡管R = 0. 5且存在與片斷2相對應(yīng)的6個源碼元,修復碼元的數(shù)目也不是如簡單地使用源碼元數(shù)目來演算修復碼元數(shù)目的情況下可預期的3個,而是根據(jù)本文中所描述的方法解出其為2。與簡單地使用片斷的源碼元數(shù)目來確定修復碼元數(shù)目不同,以上描述的實施例使得能夠單單從與相應(yīng)源段的相應(yīng)源塊相關(guān)聯(lián)的索引信息來演算修復段內(nèi)的修復塊的定位。此外,隨著源塊中源碼元數(shù)目K增長,相應(yīng)修復塊的修復碼元數(shù)目KR緊密近似為K*R,因為一般而言KR至多為ceil (K*R)且KR至少為 floor ((K-I) *R),其中floor (χ)是最多為χ的最大整數(shù)。
      存在以上用于生成可有利地被采用協(xié)作式HTTP/FEC方法的客戶端使用的文件結(jié)構(gòu)的實施例的許多變形,如本領(lǐng)域技術(shù)人員將認識到的。作為替換實施例的示例,表示的原始段可被劃分成N > 1個并行段,其中對于i = 1,...,N,原始段的指定分數(shù)Fi被包含在第 i個并行段中,且其中i = 1,. . .,N的Fi之和等于1。在該實施例中,可存在被用于推導所有并行段的段映射的一個主段映射,類似于在以上描述的實施例中如何從源段映射推導出修復段映射。例如,若并非所有源媒體數(shù)據(jù)都被劃分成并行段而是改為被包含在一個原始段中,則主段映射可指示片斷結(jié)構(gòu),并且隨后第i個并行段的段映射可如下從主段映射推導出演算若原始段的片斷的第一前綴中的媒體數(shù)據(jù)量為L字節(jié),則頭i個并行段中該前綴聚集的字節(jié)總數(shù)為ceil (UGi),其中Gi為!^在j = 1,. . .,i上的和。作為替換實施例的另一示例,段可包括每個段的原始源媒體數(shù)據(jù)其后緊隨著該片斷的修復數(shù)據(jù)的組合,從而得到包含源媒體數(shù)據(jù)與使用FEC碼從該源媒體數(shù)據(jù)生成的修復數(shù)據(jù)的混合的段。作為替換實施例的另一示例,包含源媒體數(shù)據(jù)和修復數(shù)據(jù)的混合的段可被劃分成多個包含源媒體數(shù)據(jù)和修復數(shù)據(jù)的混合的并行段。本領(lǐng)域普通技術(shù)人員在閱讀本公開之后可以預見其他實施例。在其他實施例中, 可有利地作出以上所公開的發(fā)明的組合或子組合。組件的示例安排是出于解說目的示出的,應(yīng)理解,在本發(fā)明的替換實施例中構(gòu)想了組合、添加、重新安排、及類似方案。因此,盡管本發(fā)明是參照示例性實施例描述的,但是本領(lǐng)域技術(shù)人員將意識到許多修改是可能的。例如,本文中描述的過程可使用硬件組件、軟件組件和/或其任何組合來實現(xiàn)。在這些情形中,軟件組件可在有形的非瞬態(tài)介質(zhì)上提供以在設(shè)有該介質(zhì)或與該介質(zhì)分開的硬件上執(zhí)行。因此,本說明書和附圖被認為是解說性的而非限制性的。然而,顯然可對其作出各種修改和變更而不會脫離所附權(quán)利要求中所闡述的本發(fā)明的更寬泛的精神和范圍,且本發(fā)明旨在涵蓋落在所附權(quán)利要求的范圍內(nèi)的所有修改和等效技術(shù)方案。
      權(quán)利要求
      1.一種在其中客戶端設(shè)備向媒體攝取系統(tǒng)請求媒體數(shù)據(jù)塊的通信系統(tǒng)中的方法,包括在所述客戶端設(shè)備處接收媒體數(shù)據(jù)的部分塊,其中所述媒體數(shù)據(jù)是使用可伸縮視頻編碼技術(shù)來編碼的;以及從所述部分塊構(gòu)造媒體呈現(xiàn)。
      2.一種在其中客戶端設(shè)備向媒體攝取系統(tǒng)請求媒體文件的通信系統(tǒng)中的方法,包括 在所述媒體攝取系統(tǒng)處在所述媒體文件內(nèi)提供多個媒體數(shù)據(jù)層,其中從所述多個層的子集能構(gòu)造媒體內(nèi)容版本;以及提供元數(shù)據(jù)以使得能構(gòu)造對所述媒體數(shù)據(jù)層的請求。
      全文摘要
      一種塊請求流送系統(tǒng)典型地使用攝取系統(tǒng)來提供此類系統(tǒng)的用戶體驗和帶寬效率的改善,該攝取系統(tǒng)生成將由常規(guī)文件服務(wù)器(例如,HTTP、FTP或類似服務(wù)器)供應(yīng)的形式的數(shù)據(jù),其中該攝取系統(tǒng)攝入內(nèi)容并將其制備為要由該文件服務(wù)器供應(yīng)的文件或數(shù)據(jù)元素??蛻舳嗽O(shè)備可適配成利用攝取過程并且包括促成獨立于該攝取過程的更好呈現(xiàn)的改進。文件或數(shù)據(jù)元素被組織成作為單位傳送和解碼的塊,并且該系統(tǒng)被配置成提供和消費可伸縮塊以使得呈現(xiàn)的質(zhì)量隨著該塊中有更多部分被下載而提高。也可進行具有多個獨立可伸縮性層的塊的編碼和解碼。
      文檔編號H04L29/06GK102577308SQ201080042954
      公開日2012年7月11日 申請日期2010年9月22日 優(yōu)先權(quán)日2009年9月22日
      發(fā)明者M·G·路比, T·斯托克漢姆, Y·陳 申請人:高通股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1