專利名稱:用于自適應流播放器的高速緩存控制的制作方法
用于自適應流播放器的高速緩存控制
背景技術:
在信息時代,數(shù)字視頻廣泛地分布,且可在諸如例如因特網等的多種數(shù)字通信網絡中獲得。數(shù)字視頻流的示例可以包括例如視頻流和音頻流。音頻流和其他數(shù)據(jù)(例如文本)可以伴隨著視頻流。流播放器接收流傳播內容,并將其呈現(xiàn)在客戶機的顯示器上。自適應流播放器監(jiān)視客戶機狀況并據(jù)此調整流。舉例來說,如果客戶機的處理器非常繁忙,且網絡帶寬被重度利用,則自適應流播放器可以向下調整流的品質以便減少與流相關聯(lián)的處理和網絡利用。在視頻流的情況中,如果播放器窗口是較小的尺寸,則自適應流播放器可以請求適用于較小窗口的較低分辨率的流。每一秒或每若干秒,自適應流播放器確定如何調整以適用于當狀況的流,并對流源做出適當?shù)恼埱?。流播放器常常在web瀏覽器中運行。瀏覽器常常具有高速緩存內容的能力,以便 更快速地響應對內容的將來客戶機請求。然而,高速緩存或不高速緩存內容的決策是在瀏覽器本機進行的,且不受自適應流播放器的控制。另外,在一些情況中,流播放器不在瀏覽器環(huán)境內運行,或者瀏覽器會禁用高速緩存。簡述在此描述的至少一種實施例涉及擁有對是否將檢索到的流高速緩存在與自適應流播放器相同的計算機上的本地流高速緩存中的控制的自適應流播放器。自適應流播放器監(jiān)視計算系統(tǒng)的狀況,并每次一部分地請求流。如果計算系統(tǒng)的狀況改變,則從一個所請求的部分到下一個所請求的部分,所請求的流部分的特性可以改變,由此引起流呈現(xiàn)自適應于本地狀況。對于至少一些流部分,在請求具有特定特性的流部分之前,高速緩存控制組件首先判斷是否有可接受版本的流部分存在于流高速緩存中。在一種實施例中,如果流高速緩存中存在可接受版本,則該版本被提供而不必請求網絡的流部分。在一種實施例中,對與在網絡上接收到的任何流部分,高速緩存控制組件決定是否高速緩存該流部分。因而,高速緩存控制組件允許自適應流播放器以離線場景工作,且也允許自適應流播放器具有使用已高速緩存內容的倒帶、暫停和其他控制。本概述不旨在標識所要求保護的本主題的關鍵特征或必要特征,也不預期用來輔助確定所要求保護的本主題的范圍。附圖
簡述為了描述可以獲得上面所敘述的和其他優(yōu)點和特征的方式,將通過引用附圖呈現(xiàn)各種實施例的更具體的描述。應理解,這些圖僅描繪樣本實施例,且因而不應被認為是限制本發(fā)明的范圍,將通過使用附圖借助于附加的特異性和細節(jié)描述和解釋各實施例,附圖中圖I闡釋可以用來采用在此描述的實施例的示例計算系統(tǒng);圖2闡釋其中客戶機計算系統(tǒng)出于獲得流的目的與服務器計算系統(tǒng)通信的網絡環(huán)境;以及圖3闡釋供自適應流播放器使用自適應流播放器在其上運行的計算系統(tǒng)呈現(xiàn)流的方法的流程圖。詳細描述根據(jù)在此描述的各實施例,自適應流播放器具有對是否將檢索到的流高速緩存在本地流高速緩存中的控制。對于播放器所請求的流部分中的至少一些,在網絡上出發(fā)之前,高速緩存控制組件首先判斷是否有可接受版本的流部分存在于流高速緩存中。如果流高速緩存中存在可接受版本,則該版本被提供而不必在網絡上請求該流部分。對于在網絡上接收到的流部分,高速緩存控制組件可以決定是否高速緩存該流部分。因而,高速緩存控制組件允許自適應流播放器以離線場景工作,且也允許自適應流播放器具有使用已高速緩存的內容的倒帶、暫停和其他控制。首先,將相對于圖I描述關于計算系統(tǒng)的一些介紹性討論。然后,將相對于圖2和圖3描述自適應流播放器高速緩存操作的實施例。首先,相對于圖I描述關于計算系統(tǒng)的介紹性討論。計算系統(tǒng)現(xiàn)在日益采用多種多樣的形式。計算系統(tǒng)可以是例如手持式設備、家用電器、膝上型計算機、臺式計算機、大型計算機、分布式計算系統(tǒng)或甚至是通常不被認為是計算系統(tǒng)的設備。在本描述中以及在權 利要求中,術語“計算系統(tǒng)”被寬泛地定義為包括至少一個處理器和其上具有可由處理器執(zhí)行的計算機可執(zhí)行指令的存儲器的任何設備或系統(tǒng)(或其組合)。存儲器可以采用任何形式且可以依賴于計算系統(tǒng)的本質和形式。計算系統(tǒng)可以在網絡環(huán)境上分布,且可以包括多個組成的計算系統(tǒng)。正如圖I中所闡釋的,在其最基本的配置中,計算系統(tǒng)100通常包括至少一個處理單元102和存儲器104。存儲器104可以是物理系統(tǒng)存儲器,它可以是易失性、非易失性或兩者的某種組合。術語“存儲器”在此也可以用來指示非易失性大容量存儲,例如物理存儲介質。如果計算系統(tǒng)是分布式的,則處理、存儲器和/或存儲能力也可以是分布式的。在此所使用的術語“模塊”或“組件”可以是指在計算系統(tǒng)上執(zhí)行的軟件對象或例程。在此描述的不同的組件、模塊、引擎和服務可以被實現(xiàn)為在計算系統(tǒng)上執(zhí)行的對象或進程(例如,被實現(xiàn)為分離的線程)。在下面的描述中,參考由一個或多個計算系統(tǒng)執(zhí)行的動作描述各實施例。如果這樣的動作被實現(xiàn)為軟件,則響應于已經執(zhí)行計算機可執(zhí)行指令,執(zhí)行該動作的關聯(lián)計算系統(tǒng)的一個或多個處理器指示計算系統(tǒng)的操作。這樣的操作的示例涉及數(shù)據(jù)的操縱。計算機可執(zhí)行指令(和所操縱的數(shù)據(jù))可以被存儲在計算系統(tǒng)100的存儲器104中。計算系統(tǒng)100也可以包括顯示器112,顯示器112可以被用來提供各種具體用戶界面,例如在此描述的那些。計算系統(tǒng)100也可以包含通信信道108,通信信道108允許計算系統(tǒng)100例如在網絡110上與其他消息處理器通信。本發(fā)明的各實施例可以包括或利用包括諸如例如一個或多個處理器和系統(tǒng)存儲器等的計算機硬件的專用或通用計算機,如下面更詳細地討論。在本發(fā)明的范圍內的實施例也包括用于攜帶或存儲計算機可執(zhí)行指令和/或數(shù)據(jù)結構的物理介質和其他計算機可讀介質。這樣的計算機可讀介質可以是可由通用或專用計算機系統(tǒng)訪問的任何可用的介質。存儲計算機可執(zhí)行指令的計算機可讀介質是物理存儲介質。攜帶計算機可執(zhí)行指令的計算機可讀介質是傳輸介質。因而,作為示例而非限制,本發(fā)明的各實施例可以包括至少兩個明顯地不同的種類的計算機可讀介質計算機存儲介質和傳輸介質。計算機存儲介質包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲、磁盤存儲或其他磁存儲設備、或可以被用來存儲以計算機可執(zhí)行指令或數(shù)據(jù)結構的形式的所期望的程序代碼裝置且可由通用或專用計算機訪問的任何其他介質?!熬W絡”被定義為允許在計算機系統(tǒng)和/或模塊和/或其他電子設備之間傳輸電子數(shù)據(jù)的一個或多個數(shù)據(jù)鏈路。當在網絡或另一通信連接(硬布線、無線、或硬布線或無線的組合)上將信息傳輸或提供給計算機時,計算機適當?shù)貙⒃撨B接看作是傳輸介質。傳輸介質可以包括可以被用來攜帶以計算機可執(zhí)行指令或數(shù)據(jù)結構的形式的所期望的程序代碼裝置且可由通用或專用計算機訪問的網絡和/或數(shù)據(jù)鏈路。以上的組合也應被包括在計算機可讀介質的范圍內。進一步,一旦到達各種計算機系統(tǒng)組件,可以自動地將以計算機可執(zhí)行指令或數(shù)據(jù)結構的形式的所期望的程序代碼裝置從傳輸介質傳輸?shù)接嬎銠C存儲介質(或反之亦然)。例如,在網絡或數(shù)據(jù)鏈路上接收的計算機可執(zhí)行指令或數(shù)據(jù)結構可以被高速緩存在網絡接口模塊(例如,“NIC”)內的RAM中,且然后,最終被傳輸?shù)接嬎銠C系統(tǒng)RAM和/或計算機系統(tǒng)中較不易失的計算機存儲介質。因而,應理解,計算機存儲介質可以被包括在也(或甚至主要地)利用傳輸介質的計算機系統(tǒng)組件中。計算機可執(zhí)行指令包括例如在處理器處執(zhí)行時引起通用計算機、專用計算機或專用處理設備執(zhí)行某些功能或一組功能的指令和數(shù)據(jù)。計算機可執(zhí)行指令可以是例如二進制文件、諸如匯編語言等的中間格式指令或甚至源代碼。盡管已經用對結構特征和/或方法論動作來說專用的語言描述了本主題,但應理解,在所附權利要求中界定的本主題并不必定限于以上所描述的所述特征或動作。相反,所描述的特征和動作是作為實現(xiàn)權利要求的示例形式而公開的。本領域中的技術人員將明白,本發(fā)明可以在具有包括個人計算機、臺式計算機、膝上型計算機、消息處理器、手持式設備、多處理器系統(tǒng)、基于微處理器的或可編程的消費性電子設備、網絡PC、小型計算機、大型計算機、移動電話、PDA、尋呼機、路由器、交換機等等的多種類型的計算機系統(tǒng)配置的網絡計算環(huán)境中實踐。本發(fā)明也可以在分布式系統(tǒng)環(huán)境中實踐,分布式系統(tǒng)環(huán)境中,通過網絡(由硬布線數(shù)據(jù)鏈路、無線數(shù)據(jù)鏈路或由硬布線和無線數(shù)據(jù)鏈路的組合)鏈接的本地計算機系統(tǒng)和遠程計算機系統(tǒng)兩者均執(zhí)行任務。在分布式系統(tǒng)環(huán)境中,程序模塊可以位于本地存儲器存儲設備和遠程存儲器存儲設備兩者。圖2闡釋其中客戶機計算系統(tǒng)210與服務器計算系統(tǒng)220通信的網絡環(huán)境200??蛻魴C計算系統(tǒng)210包括能夠在顯示器上呈現(xiàn)流的自適應流播放器211、流高速緩存212和高速緩存控制組件213。服務器計算系統(tǒng)220包括響應于來自自適應流播放器的請求可以將流部分提供給客戶機計算系統(tǒng)210的流源221。作為示例,自適應流可以是視頻流,在這種情況中,在視頻流內可能存在所提供的補充性信息,諸如例如同步音頻流以及諸如文本等的可能的數(shù)據(jù)。在這種情況中,自適應流播放器可以是例如自適應視頻播放器。在音頻流的情況中,流內可以存在補充性信息,諸如例如文本或圖像。然而,本發(fā)明的原理不限于流的類型,這是由于流可以是任何流,即使不是視頻流或音頻流??蛻魴C計算系統(tǒng)210和服務器計算系統(tǒng)220中的每一個都可以如以上圖I的計算 系統(tǒng)所述構造,但服務器計算系統(tǒng)220不必具有顯示器。計算系統(tǒng)210被稱為“客戶機”是由于它接收以流的形式的服務。然而,這不暗示計算系統(tǒng)210不能用來向其他計算系統(tǒng)提供服務。此外,計算系統(tǒng)220被稱為“服務器”是由于它提供流傳播服務。然而,這不暗示服務器計算系統(tǒng)220不能充當從其他計算系統(tǒng)接收服務的客戶機計算系統(tǒng)。因此,術語“客戶機”和“服務器”僅僅用來在流傳播服務的上下文中將一個計算系統(tǒng)與另一計算系統(tǒng)區(qū)分開來。自適應流播放器211將所接收的流呈現(xiàn)在顯示器(例如圖I的顯示器112)上。自適應流播放器也請求不是完整片段的流,而是每次一部分。舉例來說,也許自適應流播放器211以兩秒片段請求流,盡管更寬泛原理不限于片段在時間上的大小。流播放器211的“自適應”之處在于,取決于客戶機210上的當前狀況,它請求不同品質的流。舉例來說,播放器211可以監(jiān)視處理器利用率、網絡使用或可以影響自適應流播放器211訪問和呈現(xiàn)流的能力的任何其他資源的使用。在自適應視頻播放器的情況中,播放器211也可以監(jiān)視要在其中呈現(xiàn)流的窗口的尺寸。例如,假定網絡帶寬可用性低,但存在大量的可用處理器資源,則播放器211可以請求具有較低的品質和/或較高的壓縮率的視頻。這樣的視頻部分將較小,但解壓所需的處理可能較大。然而,這對具有對處理器資源的訪問但缺乏網絡帶寬的客戶機來說可能是合適的平衡。作為另一示例,假定視頻的顯示窗口非常小。在這種情況中,自適應視頻播放器可以請求低分辨率圖像,這是由于在窗口內的·像素分辨率不足以呈現(xiàn)與較高分辨率圖像相關聯(lián)的所有信息。如果用戶稍后將窗口擴大到也許是完全屏幕尺寸,那么,自適應視頻播放器可以感知到這一點,并相應地請求接下來的視頻部分為較高分辨率。因而,自適應流播放器更高效地使用可用資源,且具有降低的對不必要的資源利用的風險。自適應流播放器是本領域中已知的。然而,本領域中未知的是自適應流播放器對流高速緩存的任何控制。圖2中,客戶機計算系統(tǒng)210包括對自適應流播放器211來說是本機的流高速緩存212,且該流高速緩存212被配置為在高速緩存控制組件213的指示下有選擇地存儲流部分。高速緩存控制組件213受到自適應流播放器213的控制,以使得在自適應流播放器211作出對具有特定特性的流部分的請求之前,高速緩存控制213首先驗證是否有可接受版本的流部分存在于流高速緩存中。在圖2中,自適應流播放器211是響應于客戶機210處的當前狀況決定應請求流部分中的哪些可用版本的決策制定組件。然而,自適應流播放器可以更廣泛地被認為是包括決策制定組件211以及高速緩存控制組件213兩者。圖3闡釋供自適應流播放器在自適應流播放器運行在其上的計算系統(tǒng)上呈現(xiàn)流的方法300的流程圖。由于方法300可以在圖2的環(huán)境200中執(zhí)行,現(xiàn)在將頻繁參考圖2的環(huán)境200描述圖3。自適應流播放器監(jiān)視計算系統(tǒng)的狀況(動作301)。舉例來說,圖2的自適應流播放器211正在監(jiān)視客戶機210處的狀況。這樣的狀況的示例先前已提到,包括例如處理器利用率、網絡帶寬可用性和呈現(xiàn)限制(例如在視頻呈現(xiàn)的情況中的窗口尺寸)。這種監(jiān)視操作盡管被列出為分離的動作,但可以是在方法300的剩余部分被執(zhí)行的同時在后臺進行的相當連續(xù)的操作。如果還不是時候作出對新的流部分的請求(判定框302中的否),那么,處理繼續(xù),且自適應流播放器簡單地繼續(xù)監(jiān)視客戶機條件。如果是時候作出對流部分的請求(判定框302中的是),那么,自適應流播放器作出對具有特定特性的流的請求(動作303)。在一個示例中,自適應流播放器可以按照兩秒片段請求流部分。在這種情況中,自適應流播放器將大約每兩秒左右作出請求。而且,處理流將繼續(xù)周期性地作出請求(動作303)。然而,目前,單個請求的處理流將被描述,以及被描述為這單個請求可以對多個請求重復的原理。由于客戶機處的狀況的改變,從一個請求到下一請求,所請求的流部分的特性可以不同。舉例來說,假定用戶正在觀看表示用戶喜歡的情景喜劇的第13集的視頻?,F(xiàn)在假定用戶當前正在相對小的窗口中觀看從第13集的第8秒到第10秒的兩秒視頻部分。當自適應流播放器請求這一視頻部分時,自適應流播放器請求從第8秒到第10秒的低分辨率版本的視頻部分?,F(xiàn)在假定在第9秒,用戶將窗口尺寸增加到完全屏幕尺寸。自適應流播放器感知到這一點,并為從第10秒到第12秒的下一視頻部分請求較高分辨率。然而,在實際應用中,存儲器中可能存在若干秒的一些緩沖以便考慮流傳輸中的請求響應時間中的一些等待時間。因此,也許從第10秒到第12秒的部分已經在存儲器中。因此,在調整窗口時,在呈現(xiàn)較高分辨率視頻之前,用戶可能注意到一些延遲。對于所請求的流部分中的一些或全部,高速緩存控制組件驗證是否有可接受版本 的流部分存在于計算系統(tǒng)上的流高速緩存中(動作304)。在此使用的術語“可接受”版本至少包括具有由自適應流播放器請求的特定特性的流部分。然而,術語“可接受”版本也可以涵蓋仍然適用于自適應流播放器的替代特性。舉例來說,假定自適應視頻播放器已經判斷,接下來的視頻部分應具有垂直580和水平750的分辨率,已高速緩存的視頻部分可能不是完全相同的分辨率,但仍然可以是自適應視頻播放器可用和可接受的。例如,假定已高速緩存版本是垂直600和水平760。借助于某種調整,自適應視頻播放器可以確定已高速緩存版本仍然是可接受版本的視頻部分。如果可接受版本的流部分存在于流高速緩存中(判定框304中的是),那么,可接受版本的流部分被提供給自適應流播放器(動作305)。參見圖2,例如,箭頭231表示自適應流播放器211經由高速緩存控制組件213從流高速緩存212獲取可接受版本的流部分的過程。另一方面,如果可接受版本的流部分不存在于流高速緩存中(判定框304中的否),則在網絡上請求具有特定特性的流部分(動作306)。參見圖2,例如,箭頭232表示自適應流播放器211前往服務器計算系統(tǒng)220以從流源221請求具有特定特性的流部分的過程。然后,自適應流播放器將所獲得的流部分提供給高速緩存控制組件213,如箭頭233所表示的。在接收到所請求的流部分時(動作307),高速緩存控制組件判斷是否要在流高速緩存中高速緩存檢索到的流部分(判定框308)。如果自適應流播放器判斷不應高速緩存檢索到的流部分(判定框308中的否),則檢索到的流部分未經高速緩存就被呈現(xiàn)在顯示器上(動作309)。如果高速緩存控制組件判斷應該高速緩存檢索到的流部分(判定框308中的是),則檢索到的流部分除了被呈現(xiàn)(動作309)之外,還被高速緩存在流高速緩存中(動作310)。流高速緩存212可以已經至少部分地以這種方式通過為先前的流部分請求執(zhí)行動作309來填充。然而,流高速緩存212也可以包括以任何其他方式獲取的流,即使該流不是先前被自適應流播放器211請求的。在一種實施例中,高速緩存控制組件使用應用編程接口來與流高速緩存交互。同樣地,流播放器也可以使用應用編程接口來與高速緩存控制組件交互。舉例來說,可存在用于檢查流高速緩存中是否存在可接受版本的流部分的接口。也可存在用于判斷是否應該高速緩存檢索到的流部分的接口。因此,所描述的是用于從已高速緩存的流有選擇地滿足來自自適應流播放器的流請求以及用于在流部分被檢索到時有選擇地高速緩存流部分的高效機制。高速緩存操作受到自適應流播放器的控制。這些特征允許包括通過使用自適應流播放器離線訪問流內容的重要場景。舉例來說,使用在此描述的原理,可以購買或租賃電影,其中所購買或租賃的視頻中的一些或全部可以駐留在本地客戶機上。此外,可通過使用已高速緩存的存儲器啟用實況流導航(例如暫停、倒帶或快進到實況),以滿足流導航??梢栽诓黄x其精神或必要特性的前提下以其他特定形式具體化本發(fā)明。在所有 考慮中,所描述的實施例僅應被認為是說明性的而非限制性的。因此,本發(fā)明的范圍由所附權利要求而非由前述描述指示。出現(xiàn)在權利要求的等效物的含義和范圍內的所有改變都被包含在它們的范圍內。
權利要求
1.一種包括其上具有計算機可執(zhí)行指令的一個或多個計算機可讀介質的計算機程序產品,當所述計算機可執(zhí)行指令由計算系統(tǒng)的一個或多個處理器執(zhí)行時,引起計算系統(tǒng)在存儲器中具有以下 自適應流播放器,所述自適應流播放器被配置為監(jiān)視所述計算系統(tǒng)的狀況,且每次一部分地請求流,其中,如果所述計算系統(tǒng)的狀況改變,則從一個流部分到下一流部分,所述流部分的特性可以改變;以及 流高速緩存,所述流高速緩存存在于對所述自適應流播放器來說是本地的計算系統(tǒng)上,且被配置為存儲流部分;以及 高速緩存控制組件,所述高速緩存控制組件控制所述自適應流播放器,以使得在所述自適應流播放器作出對具有特定特性的流的部分的請求之前,所述高速緩存控制首先驗證是否有可接受版本的流部分存在于所述流高速緩存中。
2.如權利要求I所述的計算機程序產品,其特征在于, 如果所述高速緩存控制組件判斷所述可接受版本的流部分存在于所述流高速緩存中,則所述高速緩存控制組件將所述可接受版本的流部分提供給所述自適應流播放器,而不是所述自適應流播放器必須在網絡上獲取具有所述特定特性的所述流部分。
3.如權利要求2所述的計算機程序產品,其特征在于, 如果所述高速緩存控制判斷所述可接受版本的流部分不存在于所述流高速緩存中,則所述自適應流播放器在網絡上請求具有所述特定特性的所述流部分。
4.如權利要求3所述的計算機程序產品,其特征在于, 所述高速緩存控制組件判斷是否將檢索到的流部分高速緩存在所述流高速緩存中。
5.如權利要求4所述的計算機程序產品,其特征在于, 如果所述高速緩存控制組件判斷不應高速緩存檢索到的流部分,則檢索到的流部分未經高速緩存就被提供給所述自適應流播放器,以及 其中,如果所述高速緩存控制組件判斷應高速緩存檢索到的流部分,則將檢索到的流部分高速緩存在所述流高速緩存中。
6.如權利要求I所述的計算機程序產品,其特征在于, 所述可接受版本的流部分可以僅是具有所述特定特性的流部分。
7.如權利要求I所述的計算機程序產品,其特征在于,所述自適應流播放器經由應用編程接口與所述高速緩存控制組件交互并對其進行控制。
8.如權利要求I所述的計算機程序產品,其特征在于,所述流高速緩存包括不是先前由所述自適應流播放器請求的流。
9.一種供自適應流播放器將流呈現(xiàn)在計算系統(tǒng)的顯示器上的方法,所述自適應流播放器運行在所述計算系統(tǒng)上,所述方法包括 監(jiān)視所述計算系統(tǒng)的狀況的動作; 每次一部分地請求流的動作,其中,如果所述計算系統(tǒng)的狀況改變,則從一個流部分到下一流部分,所述流部分的特性可以改變;以及 對于對流部分的所述請求中的至少一些中的每一請求,驗證是否有可接受版本的所述流部分存在于所述計算系統(tǒng)上的流高速緩存中的動作。
10.如權利要求9所述的方法,其特征在于,如果所述可接受版本的流部分存在于所述流高速緩存中,所述方法還包括 將所述可接受版本的流部分提供給所述自適應流播放器而不是所述自適應流播放器必須在網絡上獲取具有所述特定特性的所述流部分的動作。
11.如權利要求10的方法,其特征在于,如果所述可接受版本的流部分不存在于所述流高速緩存中,所述方法還包括 在網絡上請求具有所述特定特性的所述流部分的動作。
12.如權利要求9所述的方法,其特征在于,如果所述可接受版本的流部分不存在于所述流高速緩存中,所述方法還包括 在網絡上請求具有所述特定特性的所述流部分的動作。
13.如權利要求12的方法,還包括以下 接收所請求的流部分的動作;以及 判斷是否要將檢索到的流部分高速緩存在所述流高速緩存中的動作。
14.如權利要求13所述的計算機程序產品,其特征在于, 如果所述自適應流播放器判斷不應高速緩存檢索到的流部分,則檢索到的流部分未經高速緩存就被呈現(xiàn)在所述顯示器上,且 其中,如果所述自適應流播放器判斷應高速緩存檢索到的流部分,則檢索到的流部分被高速緩存在所述流高速緩存中,并且檢索到的流部分還被呈現(xiàn)。
15.如權利要求9所述的方法,其特征在于, 所述可接受版本的流部分可以是不具有所述特定特性但具有可接受的替代特性的流。
全文摘要
自適應流播放器具有對是否將檢索到的流高速緩存在本地流高速緩存中的控制。對于播放器所請求的流部分中的至少一些,在網絡上出發(fā)之前,高速緩存控制組件首先判斷是否有可接受版本的流部分存在于流高速緩存中。如果流高速緩存中存在可接受版本,則該版本被提供而不必在網絡上請求該流部分。對于在網絡上接收到的流部分,高速緩存控制組件可以決定是否高速緩存該流部分。因而,高速緩存控制組件允許自適應流播放器以離線場景工作,且也允許自適應流播放器具有使用已高速緩存的內容的倒帶、暫停和其他控制。
文檔編號G11B20/10GK102918594SQ201180026270
公開日2013年2月6日 申請日期2011年5月11日 優(yōu)先權日2010年5月28日
發(fā)明者V·蘇德, R·程, H·S·派爾 申請人:微軟公司