用于改善離線內(nèi)容播放的方法
【專利摘要】在一種用于離線內(nèi)容播放的方法和系統(tǒng)中,接收從內(nèi)容共享服務(wù)流送用于由媒體播放器呈現(xiàn)的內(nèi)容的第一多個部分。接收來自用戶的使所述內(nèi)容可用于離線播放的請求,并且響應(yīng)于所述請求,存儲從所述內(nèi)容共享服務(wù)流送用于由所述媒體播放器呈現(xiàn)的所述內(nèi)容的第二多個部分。從所述內(nèi)容共享服務(wù)請求并接收所述第一多個部分。存儲所接收的第一多個部分,使得所述第一多個部分和所述第二多個部分可用于離線播放。
【專利說明】
用于改善離線內(nèi)容播放的方法
技術(shù)領(lǐng)域
[0001] 本公開的方面涉及內(nèi)容呈現(xiàn)的領(lǐng)域,并且更具體地,涉及一種用于離線內(nèi)容播放 的方法。
【背景技術(shù)】
[0002] 在互聯(lián)網(wǎng)上,內(nèi)容托管網(wǎng)站或其他應(yīng)用(例如內(nèi)容共享服務(wù)器)允許用戶上傳、查 看和共享數(shù)字內(nèi)容。這樣的數(shù)字內(nèi)容可以包括音頻剪輯、電影剪輯、TV剪輯和音樂視頻以及 諸如視頻博客、短的原創(chuàng)視頻、圖片、照片等的業(yè)余的內(nèi)容。查看者則可以查看從內(nèi)容共享 服務(wù)器被流送到查看者設(shè)備用于播放的內(nèi)容,其中流內(nèi)容的質(zhì)量可以取決于查看者設(shè)備的 網(wǎng)絡(luò)連接而變化。例如,如果連接速度慢,則查看者設(shè)備可以請求較低質(zhì)量的內(nèi)容,以防止 會中斷內(nèi)容的播放的緩沖。
[0003] 然而,查看者可能希望使內(nèi)容可用于(例如,暫時可用于)離線查看,例如,在沒有 到互聯(lián)網(wǎng)或另一網(wǎng)絡(luò)的連接的情況下。例如,用戶可能在某些內(nèi)容的播放期間確定用戶想 之后在用戶不能訪問內(nèi)容共享服務(wù)器時再次播放內(nèi)容或與其他人共享內(nèi)容。進一步地,用 戶可能會希望具有可用于離線播放的最高質(zhì)量的內(nèi)容,因為當(dāng)內(nèi)容未被流送時網(wǎng)絡(luò)條件不 是問題。
【發(fā)明內(nèi)容】
[0004] 在一些實施方式中,提出了一種用于離線內(nèi)容播放的方法。所述方法包括:接收從 內(nèi)容共享服務(wù)流送用于由媒體播放器呈現(xiàn)的內(nèi)容的第一多個部分;以及接收來自用戶的使 所述內(nèi)容可用于離線播放的請求。響應(yīng)于所述請求,存儲從所述內(nèi)容共享服務(wù)流送用于由 所述媒體播放器呈現(xiàn)的所述內(nèi)容的第二多個部分。從所述內(nèi)容共享服務(wù)請求并接收所述第 一多個部分。存儲所接收的第一多個部分,使得所述第一多個部分和所述第二多個部分可 用于離線播放。
[0005] 在一些實施方式中,識別所述內(nèi)容的所述第一多個部分和所述內(nèi)容的所存儲的第 二多個部分中的較低質(zhì)量的部分;并且響應(yīng)于識別所述內(nèi)容中的所述較低質(zhì)量的部分,從 所述內(nèi)容共享服務(wù)請求具有較高質(zhì)量的替換部分。
[0006] 在一些實施方式中,接收并存儲具有所述較高質(zhì)量的所述替換部分,其中,所述替 換部分替換具有所述較低質(zhì)量的所述部分。然后利用所述替換部分使所述內(nèi)容可用于離線 播放??梢酝ㄟ^清單來識別所述較低質(zhì)量的部分。
[0007] 對所述第一多個部分的所述請求可以是響應(yīng)于所述第二多個部分的所述呈現(xiàn)的 完成。如果到所述內(nèi)容共享服務(wù)的連接在接收具有所述較高質(zhì)量的所述替換部分之前中 斷,則所述內(nèi)容利用所述較低質(zhì)量的部分保持可用于離線播放??梢栽谒龅谝欢鄠€部分 的所述呈現(xiàn)之后接收使所述內(nèi)容可用于離線播放的所述請求。
【附圖說明】
[0008] 提供下面給出的詳細(xì)描述并通過本公開的各種實施例的附圖將更充分地理解本 公開。
[0009] 圖1圖示了根據(jù)本公開的一個實施例的示例性系統(tǒng)架構(gòu)。
[0010] 圖2圖示了根據(jù)本公開的一個實施例的離線播放系統(tǒng)。
[0011] 圖3是圖示用于離線內(nèi)容播放的方法的一個實施例的流程圖。
[0012] 圖4是圖示用于離線內(nèi)容播放的另一個方法的一個實施例的流程圖。
[0013] 圖5是可以執(zhí)行本文所描述的操作中的一個或多個操作的示例性計算機系統(tǒng)的框 圖。
【具體實施方式】
[0014] 本公開的方面涉及一種當(dāng)用戶設(shè)備不經(jīng)由網(wǎng)絡(luò)被連接到內(nèi)容共享服務(wù)時用于離 線內(nèi)容播放的方法,諸如視頻或音頻的播放。在一些實施方式中,提供了一種方法,該方法 允許用戶使來自內(nèi)容共享服務(wù)的流內(nèi)容(諸如音頻或視頻內(nèi)容)可用于離線播放(例如,暫 時可用于離線播放),因此可以在以后沒有網(wǎng)絡(luò)或互聯(lián)網(wǎng)連接的情況下播放該內(nèi)容。在實施 例中,在該內(nèi)容正被從內(nèi)容共享服務(wù)向用戶的設(shè)備流送時,用戶可以請求使該內(nèi)容可用于 離線播放。一旦接收到用戶的請求,用戶的設(shè)備可以在用戶正在查看流內(nèi)容的同時下載和 存儲該內(nèi)容的部分。一旦該內(nèi)容的流送結(jié)束,設(shè)備可以請求在對該內(nèi)容的請求和作為結(jié)果 的存儲開始之前被流送的該內(nèi)容的部分。例如,設(shè)備可以在到內(nèi)容共享服務(wù)的連接可用時 請求這些部分。一旦設(shè)備接收到先前未被存儲在設(shè)備上的該內(nèi)容的這些部分,則可以使該 內(nèi)容可用于離線播放。
[0015] 在實施例中,在內(nèi)容的流送期間,可以利用諸如HTTP實時流媒體(HLS)或動態(tài)自適 應(yīng)HTTP流媒體(DASH)的自適應(yīng)比特率協(xié)議來流送內(nèi)容,其中可以取決于用戶設(shè)備的網(wǎng)絡(luò)連 接(諸如網(wǎng)絡(luò)速度)在中流改變流內(nèi)容的質(zhì)量(例如,改變針對不間斷播放需要較低的比特 率的較低的質(zhì)量)。自適應(yīng)比特率協(xié)議有助于防止在播放期間引起中斷的緩沖。例如,當(dāng)播 放HLS視頻時,用戶設(shè)備可以先下載HLS清單文件,該文件包括視頻的各種質(zhì)量的音頻和視 頻部分的URL的列表。這些部分可以包括視頻的小部分,例如每個10秒。然后,用戶設(shè)備可以 基于當(dāng)前網(wǎng)絡(luò)帶寬來選擇使用哪些質(zhì)量部分。例如,如果網(wǎng)絡(luò)條件級別降低(例如,由于從 WiFi斷開連接),則用戶設(shè)備可以選擇切換到較低質(zhì)量的流,以防止緩沖。隨后,如果網(wǎng)絡(luò)連 接改善(例如,由于重新連接到WiFi),則用戶設(shè)備可以選擇切換到高質(zhì)量部分的流。
[0016] 當(dāng)用戶期望擁有離線可用的內(nèi)容時,用戶一般會希望使該內(nèi)容的最高質(zhì)量的版本 可用。但是,如果當(dāng)正在提取用于離線可用性的內(nèi)容時用戶正在播放內(nèi)容,則最初提取到內(nèi) 容的質(zhì)量參差不齊的版本,其中一些內(nèi)容部分可能是低質(zhì)量的。
[0017] 用于改善可用于離線播放的內(nèi)容的質(zhì)量的一個示例解決方案是使用戶設(shè)備等待, 直到用戶完成觀看內(nèi)容,并且然后開始提取用于離線播放的高質(zhì)量的內(nèi)容部分。此解決方 案可能增加用戶為了能夠離線播放視頻而不得不等待的時間,并且其可能會導(dǎo)致提取相同 的內(nèi)容兩次。
[0018] 根據(jù)本公開的一些方面,為了改善可用于離線播放的內(nèi)容的質(zhì)量,用戶設(shè)備可以 識別不是最高質(zhì)量的內(nèi)容部分并且請求針對所識別的內(nèi)容部分的較高質(zhì)量的替換部分。用 戶設(shè)備可以在到內(nèi)容共享服務(wù)的連接可用時請求替換部分。換句話說,本公開的方面在內(nèi) 容被流送時動態(tài)存儲內(nèi)容,并且后來提取內(nèi)容的較高質(zhì)量的部分,以替換被存儲的低質(zhì)量 的部分。
[0019] 在一些實施方式中,在用戶設(shè)備上運行代理服務(wù)器。在用戶設(shè)備上呈現(xiàn)內(nèi)容的媒 體播放器可以通過代理服務(wù)器請求內(nèi)容部分,而不是直接從內(nèi)容共享服務(wù)請求,使得內(nèi)容 部分在到達媒體播放器之前先經(jīng)過了代理服務(wù)器。代理服務(wù)器可以在將這些內(nèi)容部分轉(zhuǎn)發(fā) 到媒體播放器之前在從內(nèi)容共享服務(wù)接收到這些部分時將所述內(nèi)容部分存儲在本地數(shù)據(jù) 存儲中。因此,所述部分可以被存儲在數(shù)據(jù)存儲中用于以后離線播放。
[0020] 一旦用戶停止播放內(nèi)容,則用戶設(shè)備上的離線播放組件可以開始提取在播放期間 沒有被代理服務(wù)器提取的部分。一旦已經(jīng)提取內(nèi)容的這些部分并且內(nèi)容可用于從本地數(shù)據(jù) 存儲離線播放,則離線播放組件可以識別低質(zhì)量的部分并且在必要時請求較高質(zhì)量的版 本。
[0021] 如果網(wǎng)絡(luò)連接在離線播放組件已經(jīng)完成對較高質(zhì)量的部分的請求和接收之前中 斷,則低質(zhì)量的部分仍然可用于離線播放。
[0022] 在其他實施方式中,媒體播放器本身存儲內(nèi)容部分(在不使用代理服務(wù)器的情況 下)。在又一些其他實施方式中,代替在為媒體播放器提取內(nèi)容部分時存儲所述內(nèi)容部分, 用戶設(shè)備可以使用單獨的較低優(yōu)先級的連接在后臺下載高質(zhì)量的內(nèi)容版本。經(jīng)由較低優(yōu)先 級的連接的下載致使高質(zhì)量的內(nèi)容版本可用于離線播放,而不會中斷內(nèi)容的原始查看。在 又一些其他實施方式中,可以預(yù)先存儲內(nèi)容的部分用于離線播放。例如,可以向用戶示出內(nèi) 容的列表,并且用戶設(shè)備可以存儲用戶從內(nèi)容的列表選擇的每一項的部分,以便減少內(nèi)容 顯示啟動時間并且減少使內(nèi)容可用于離線播放所需要的時間。
[0023] 本公開的方面提供了一種使得用戶能夠離線查看頂級質(zhì)量內(nèi)容的無縫離線播放 體驗,其中內(nèi)容的部分在它們被實時播放時被存儲并且低質(zhì)量的部分的較高質(zhì)量的版本稍 后在網(wǎng)絡(luò)條件允許時被提取。因此,避免了不必要地提取相同的內(nèi)容兩次的過程,并且減少 了用戶為了能夠離線播放內(nèi)容而不得不等待的時間。
[0024] 圖1圖示了根據(jù)本公開的一個實施例的示例性系統(tǒng)架構(gòu)100。系統(tǒng)100包括與內(nèi)容 共享服務(wù)110通信(例如,被耦合到內(nèi)容共享服務(wù)110)的用戶設(shè)備105,該設(shè)備具有數(shù)據(jù)存儲 130。網(wǎng)絡(luò)102可以是專用網(wǎng)絡(luò)(例如,局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、內(nèi)聯(lián)網(wǎng)等)、企業(yè)網(wǎng)絡(luò)(例 如,用于諸如公司的組織的專用網(wǎng)絡(luò))、廣播網(wǎng)絡(luò)、公共網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))、有線網(wǎng)絡(luò)(例 如,以太網(wǎng)網(wǎng)絡(luò))、無線網(wǎng)絡(luò)(例如,802.11網(wǎng)絡(luò))和/或蜂窩網(wǎng)絡(luò)(例如,長期演進(LTE)網(wǎng) 絡(luò))。
[0025]用戶設(shè)備105和內(nèi)容共享服務(wù)110可以是任何類型的計算設(shè)備,例如,包括處理器、 計算機可讀介質(zhì)和存儲器的設(shè)備。內(nèi)容共享服務(wù)Iio可以包括具有廣泛的處理能力的計算 設(shè)備,諸如個人計算機(PC)、服務(wù)器計算機、個人數(shù)字助理(PDA)、智能電話、膝上型計算機、 上網(wǎng)本計算機、平板設(shè)備和/或能夠執(zhí)行指定要由機器采取的動作的指令集(順序的或以其 他方式)的任何機器。本公開的實施例可以在單個服務(wù)器設(shè)備內(nèi)或在多個服務(wù)器設(shè)備上進 行操作。
[0026] 在一些實施例中,用戶設(shè)備105可以正在執(zhí)行被適配為通過互聯(lián)網(wǎng)相關(guān)的協(xié)議(例 如,TCP/IP和HTTP)進行通信和/或顯示用戶界面的瀏覽器應(yīng)用或其他應(yīng)用。
[0027]用戶設(shè)備105可以包括媒體播放器140。在一個實施方式中,媒體播放器140可以是 允許用戶查看內(nèi)容的應(yīng)用,所述內(nèi)容諸如圖像、視頻、網(wǎng)頁、文檔等。例如,媒體播放器140可 以是可以訪問、檢索、呈現(xiàn)和/或?qū)Ш接蓋eb服務(wù)器所提供的內(nèi)容(例如,諸如超文本標(biāo)記語 言(HTML)網(wǎng)頁的網(wǎng)頁、數(shù)字媒體項等)的web瀏覽器。媒體播放器140可以向用戶渲染、顯示 和/或呈現(xiàn)內(nèi)容。媒體播放器140也可以是被嵌入在網(wǎng)頁(例如,可以提供與在線商家所出售 的產(chǎn)品有關(guān)的信息的網(wǎng)頁)中的嵌入式媒體播放器(例如,F(xiàn)lash射番放器或HTML5播放器)。 在另一示例中,媒體播放器140可以是允許用戶查看數(shù)字媒體項(例如,數(shù)字視頻、數(shù)字圖 像、電子圖書等)的獨立的應(yīng)用。媒體播放器140可以由內(nèi)容共享服務(wù)器110提供給用戶設(shè)備 105。例如,媒體播放器140可以是嵌入在由內(nèi)容共享服務(wù)110所提供的網(wǎng)頁中的嵌入式媒體 播放器。在另一示例中,媒體播放器140可以是從另一個系統(tǒng)所下載的應(yīng)用。
[0028] 在一個實施例中,內(nèi)容共享服務(wù)110向用戶設(shè)備105提供包括媒體項(例如,數(shù)字視 頻、流視頻、圖像、數(shù)字音樂、流音樂、社交媒體信息、數(shù)字圖像、照片等)的內(nèi)容。例如,內(nèi)容 共享服務(wù)110可以經(jīng)由網(wǎng)絡(luò)102提供用戶所請求的用于在用戶設(shè)備105上播放的媒體項,諸 如流視頻。
[0029] 數(shù)據(jù)存儲130可以包括一個或多個可寫持久性存儲設(shè)備,諸如存儲器、磁帶或磁 盤。雖然用戶設(shè)備105和數(shù)據(jù)存儲130在圖1中被描繪為一起在單個設(shè)備中被實現(xiàn),但是這些 組件可以是單個的不相干的組件或以一起操作的多個不同設(shè)備的各種組合進行聯(lián)網(wǎng)。設(shè)備 的示例可以包括但不限于服務(wù)器、大型計算機、聯(lián)網(wǎng)的計算機、基于過程的設(shè)備以及類似類 型的系統(tǒng)和設(shè)備。
[0030] 用戶設(shè)備105可以包括離線播放系統(tǒng)135以促進內(nèi)容的離線播放。用戶設(shè)備105的 用戶可以在媒體播放器140上選擇查看來自內(nèi)容共享服務(wù)110的流內(nèi)容,諸如視頻內(nèi)容或音 頻內(nèi)容。當(dāng)用戶正在實時查看內(nèi)容時,用戶可以請求內(nèi)容可供用戶離線使用。例如,用戶想 內(nèi)容在以后的時間在不具有到內(nèi)容共享服務(wù)110的連接的情況下在用戶設(shè)備105上可用。在 實施例中,內(nèi)容僅暫時可用,例如,諸如24小時的預(yù)定的時間段。替選地,內(nèi)容可以保持長期 可供用戶在用戶設(shè)備135上使用,但用戶可以在任何時候從用戶設(shè)備移除內(nèi)容。存儲用于離 線播放的內(nèi)容的持續(xù)時間可以是預(yù)定義或可配置的并且可以是短期或長期的。
[0031] 響應(yīng)于使內(nèi)容可用于離線播放的請求,離線播放系統(tǒng)135開始緩存或存儲在該請 求之后所接收的內(nèi)容的部分。離線播放系統(tǒng)135可以將這些部分存儲在數(shù)據(jù)存儲130中,所 述數(shù)據(jù)存儲130可以是用戶設(shè)備105的本地數(shù)據(jù)存儲。離線播放系統(tǒng)135可以在所述部分被 流送到用戶設(shè)備105用于由媒體播放器140播放時繼續(xù)將內(nèi)容的部分的剩余部分存儲在數(shù) 據(jù)存儲器130中。
[0032] 在實施例中,一旦內(nèi)容的部分的流送完成,則離線播放系統(tǒng)135從內(nèi)容共享服務(wù) 110請求沒有被存儲在數(shù)據(jù)存儲器130中的內(nèi)容的部分。例如,離線播放系統(tǒng)135可以請求在 用戶的使內(nèi)容可用于離線播放的請求之前流送的內(nèi)容的部分,因為離線播放系統(tǒng)135在用 戶的請求之前并未存儲該內(nèi)容。離線播放系統(tǒng)135然后從內(nèi)容共享服務(wù)110接收這些所請求 的部分(即,缺少的部分)并且將這些所請求的部分存儲在數(shù)據(jù)存儲130中。一旦離線播放系 統(tǒng)135已經(jīng)連同在內(nèi)容的流送期間被存儲的內(nèi)容的部分一起存儲了內(nèi)容的所請求的部分, 則使得內(nèi)容可用于用戶離線播放內(nèi)容。
[0033] 在實施例中,離線播放系統(tǒng)135也可以識別在流送期間所存儲的內(nèi)容的低質(zhì)量的 部分。例如,內(nèi)容的部分中的一些部分可能已經(jīng)是低質(zhì)量的部分,因為在這些部分的流送期 間到內(nèi)容共享系統(tǒng)Iio的連接較差。內(nèi)容的其他部分可能已經(jīng)是高質(zhì)量的部分,因為在這些 部分的流送期間到內(nèi)容共享系統(tǒng)110的連接良好。對于低質(zhì)量的部分(例如,不是可用的最 高質(zhì)量的部分)中的每一個,播放系統(tǒng)135然后可以從內(nèi)容共享服務(wù)110請求較高質(zhì)量的部 分(例如,可用的最高質(zhì)量的部分)。
[0034] 一旦離線播放系統(tǒng)135已經(jīng)接收到這些所請求的部分,則離線播放系統(tǒng)135然后可 以用所接收的高質(zhì)量的部分來替換低質(zhì)量的部分。在離線播放系統(tǒng)135已經(jīng)用高質(zhì)量的部 分替換低質(zhì)量的部分之后,內(nèi)容的高質(zhì)量版本可用于由用戶離線播放。然而,如果網(wǎng)絡(luò)連接 不可用于離線播放系統(tǒng)以請求替換部分或低質(zhì)量的部分的替換尚未發(fā)生,則用戶仍然能夠 播放內(nèi)容的低質(zhì)量版本或具有較低質(zhì)量的部分的內(nèi)容的版本。
[0035]圖2圖示了根據(jù)本公開的一個實施例的離線播放系統(tǒng)210。離線播放系統(tǒng)210可以 包括內(nèi)容接收模塊201和內(nèi)容質(zhì)量模塊203。更多或更少的組件可被包括在離線播放系統(tǒng) 210中而不失一般性。在實施例中,離線播放系統(tǒng)210是圖1中所示的離線播放系統(tǒng)135并且 數(shù)據(jù)存儲250是圖1中所示的數(shù)據(jù)存儲130。
[0036] 在實施例中,響應(yīng)于使流內(nèi)容可用于在用戶設(shè)備上離線播放的用戶請求,內(nèi)容接 收模塊201存儲被隨后流送到數(shù)據(jù)存儲250中的內(nèi)容列表251的內(nèi)容的部分。例如,當(dāng)用戶選 擇使內(nèi)容可用于離線播放時正在用戶設(shè)備上向用戶呈現(xiàn)來自內(nèi)容共享服務(wù)的流內(nèi)容。內(nèi)容 接收模塊201接收該請求,并且存儲在該請求之后流送的部分,同時繼續(xù)向用戶呈現(xiàn)流內(nèi) 容。
[0037] 根據(jù)實施例,一旦內(nèi)容的流送完成,內(nèi)容接收模塊201請求內(nèi)容共享服務(wù)發(fā)送在該 請求之前流送的部分。例如,在該請求之前流送的內(nèi)容的部分未被存儲在內(nèi)容列表251中, 因為用戶還沒有請求使內(nèi)容可用于離線播放。一旦內(nèi)容接收模塊201接收所請求的部分 (即,缺少的部分),則內(nèi)容接收模塊201將這些所請求的部分存儲在數(shù)據(jù)存儲器250的內(nèi)容 列表251中。現(xiàn)在可以使內(nèi)容可用于用戶進行離線播放。數(shù)據(jù)存儲器250可以是數(shù)據(jù)庫或任 何其他存儲庫。替選地,可以使用內(nèi)容名作為文件名(或文件名的一部分)將內(nèi)容部分存儲 在文件系統(tǒng)上,并且可以使用內(nèi)容名進行查找。
[0038]內(nèi)容接收模塊210可以是上面所討論的代理服務(wù)器。替選地,內(nèi)容接收模塊210可 以是媒體播放器的一部分。
[0039] 在實施例中,在所述部分被存儲在內(nèi)容列表251中(例如,內(nèi)容的基本上所有或所 有部分)之后,內(nèi)容質(zhì)量模塊203可以識別所存儲的內(nèi)容的低質(zhì)量的部分。例如,內(nèi)容質(zhì)量模 塊203可以使用在內(nèi)容之前被下載到用戶設(shè)備的清單文件(例如,HLS清單文件)識別所存儲 的內(nèi)容的低質(zhì)量的部分。清單文件可以包括各種質(zhì)量的內(nèi)容部分的URL的列表。如果清單文 件包括相同的內(nèi)容部分的更高質(zhì)量的版本的URL,則內(nèi)容質(zhì)量模塊203可以確定部分是低質(zhì) 量的。
[0040] 對于每個低質(zhì)量的部分,內(nèi)容質(zhì)量模塊203從內(nèi)容共享服務(wù)請求高質(zhì)量的部分(例 如,使用來自清單文件的相應(yīng)URL)以替換低質(zhì)量的部分。一旦已接收到替換高質(zhì)量部分,則 內(nèi)容接收模塊201將這些部分存儲在內(nèi)容列表251中,其中用高質(zhì)量的部分替換低質(zhì)量的部 分。然而,如果高質(zhì)量部分中的部分或全部不可用(例如,由于不良連接),則內(nèi)容保持可用 于由用戶離線播放,但部分中的一些部分是低質(zhì)量的。
[0041 ]圖3是圖示用于離線內(nèi)容播放的方法300的實施例的流程圖。方法300可以由可以 包括硬件(例如,電路、專用邏輯、可編程邏輯、微碼等)、軟件(例如,在處理設(shè)備上運行以執(zhí) 行硬件仿真的指令)或它們的組合的處理邏輯來執(zhí)行。
[0042] 為了說明得簡化起見,本公開的方法被描繪和描述為一系列動作。然而,根據(jù)本公 開的動作可以按各種順序和/或同時以及與本文未呈現(xiàn)和描述的其他動作一起發(fā)生。此外, 并不是所有圖示的動作可能都需要來實現(xiàn)根據(jù)所公開的主題的方法。另外,本領(lǐng)域技術(shù)人 員將理解和明白,可以經(jīng)由狀態(tài)圖或事件將方法替選地表示為一系列相互關(guān)聯(lián)的狀態(tài)。另 外,應(yīng)該理解的是,在本說明書中所公開的方法能夠被存儲在制品上,以便將這樣的方法輸 送和傳送到計算設(shè)備。如本文所用,術(shù)語"制品"意在涵蓋從任何計算機可讀設(shè)備或存儲介 質(zhì)可訪問的計算機程序。在一個實施方式中,方法300由用戶設(shè)備(例如,圖1的用戶設(shè)備 105)執(zhí)行。
[0043] 在塊302處,處理邏輯從內(nèi)容共享服務(wù)接收內(nèi)容的第一多個部分用于由媒體播放 器實時播放。在塊304處,處理邏輯接收來自用戶的使內(nèi)容可用于離線播放的請求。例如,用 戶在流內(nèi)容正在用戶設(shè)備上被實時呈現(xiàn)時并且在內(nèi)容的一些部分已經(jīng)被呈現(xiàn)或播放之后 請求使內(nèi)容可用于離線播放。
[0044] 在塊306處,處理邏輯接收內(nèi)容的第二多個部分用于由媒體播放器實時播放。在塊 308處,處理邏輯本地存儲所述第二多個部分。例如,響應(yīng)于用戶的請求,也可以將在請求之 后所呈現(xiàn)的內(nèi)容的部分本地存儲在用戶設(shè)備上。
[0045]在塊310處,處理邏輯從內(nèi)容共享服務(wù)請求所述第一多個部分。在塊312處,處理邏 輯接收所請求的第一多個部分。在塊314處,處理邏輯存儲所接收的第一多個部分,使得包 括第一多個部分和第二多個部分的內(nèi)容可用于離線播放。例如,請求在用戶的請求之前流 送和顯示的內(nèi)容的部分并且然后在接收到時進行存儲,使得內(nèi)容可用于由用戶離線播放。 [0046]在實施例中,當(dāng)從內(nèi)容共享服務(wù)流送第一多個部分時存儲內(nèi)容的第一多個部分。 例如,可以在接收到使內(nèi)容可用于離線播放的請求時將第一多個部分存儲在隨機存取存儲 器中,并且然后在接收到使內(nèi)容可用于離線播放的請求之后復(fù)制到本地存儲器??梢栽谕?成了第二多個部分的呈現(xiàn)時從隨機存取存儲器丟棄第一多個部分。
[0047]圖4是圖示用于離線內(nèi)容播放的方法400的實施例的流程圖。方法400可以由可以 包括硬件(例如,電路、專用邏輯、可編程邏輯、微碼等)、軟件(例如,在處理設(shè)備上運行以執(zhí) 行硬件仿真的指令)或它們的組合的處理邏輯來執(zhí)行。在一個實施例中,方法300由用戶設(shè) 備(例如,圖1的用戶設(shè)備105)執(zhí)行。
[0048]在塊402處,處理邏輯識別內(nèi)容的所存儲的第一多個部分和第二多個部分中的較 低質(zhì)量的部分。在塊404處,響應(yīng)于識別內(nèi)容的較低質(zhì)量的部分,處理邏輯請求具有較高質(zhì) 量的替換部分。例如,由于正在被流送內(nèi)容的部分,因此由于到內(nèi)容共享服務(wù)的不良連接, 部分中的一些部分可能是較低質(zhì)量的。因此,針對任何較低質(zhì)量的部分請求較高質(zhì)量的替 代部分??梢栽谟脩粼O(shè)備和內(nèi)容共享服務(wù)之間的連接足夠良好時請求這些替換部分。
[0049]在塊406處,處理邏輯接收較高質(zhì)量的替換部分。在塊408處,處理邏輯存儲替換部 分,其中,替換部分替換具有較低質(zhì)量的部分。一旦接收到較高質(zhì)量的替換部分,則使用較 高質(zhì)量的替換部分來替換較低質(zhì)量的部分。
[0050]在塊410處,處理邏輯利用替換部分使內(nèi)容可用于離線播放。一旦較高質(zhì)量的替換 部分替換了較低質(zhì)量的部分時,則用戶然后可以離線播放內(nèi)容,其中內(nèi)容具有比被流送到 用戶設(shè)備的內(nèi)容的更高的質(zhì)量。
[0051]圖5圖示了計算機系統(tǒng)500的示例性形式的機器的圖示,在所述機器內(nèi),可以執(zhí)行 用于使所述機器執(zhí)行本文所論述的方法論中的任何一個或多個方法的指令集。在替選實施 例中,所述機器可以在LAN、內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng)或互聯(lián)網(wǎng)中被連接(例如,被聯(lián)網(wǎng))到其他機器。 所述機器可以作為客戶端-服務(wù)器網(wǎng)絡(luò)環(huán)境中的服務(wù)器或客戶端機器來操作或者操作為對 等(或分布式)網(wǎng)絡(luò)環(huán)境中的對等機器。所述機器可以是個人計算機(PC)、平板PC、機頂盒 (STB)、個人數(shù)字助理(PDA)、蜂窩電話、web電器、服務(wù)器、網(wǎng)絡(luò)路由器、交換機或橋或能夠執(zhí) 行指定要由機器采取的動作的指令集(順序的或以其他方式)的任何機器。此外,雖然僅圖 示了單個機器,但是術(shù)語"機器"也應(yīng)當(dāng)被解釋為包括個體地或聯(lián)合地執(zhí)行一組(或多組)指 令以執(zhí)行本文所論述的方法論中的任何一個或多個方法的機器的任何集合。
[0052] 示例性計算機系統(tǒng)500包括處理設(shè)備(處理器)502、主存儲器504(例如,只讀存儲 器(ROM)、閃速存儲器、諸如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等的動態(tài)隨機存取存 儲器(DRAM))、靜態(tài)存儲器506 (例如,閃速存儲器、靜態(tài)隨機存取存儲器(SRAM)等)和數(shù)據(jù)存 儲設(shè)備518,它們經(jīng)由總線530彼此通信。
[0053] 處理器502代表一個或多個通用處理設(shè)備,諸如微處理器、中央處理單元等。更具 體地說,處理器502可以是復(fù)雜指令集計算(CISC)微處理器、精簡指令集計算(RISC)微處理 器、超長指令字(VLIW)微處理器或者實現(xiàn)其他指令集的處理器或?qū)崿F(xiàn)指令集的組合的處理 器。處理器502也可以是一個或多個專用處理設(shè)備,諸如專用集成電路(ASIC)、現(xiàn)場可編程 門陣列(FPGA)、數(shù)字信號處理器(DSP)、網(wǎng)絡(luò)處理器等。處理器502被配置為執(zhí)行用于執(zhí)行本 文所討論的操作和步驟的指令526。
[0054]計算機系統(tǒng)500可以進一步包括網(wǎng)絡(luò)接口設(shè)備508。計算機系統(tǒng)500還可以包括視 頻顯示單元510(例如,液晶顯示器(IXD)或陰極射線管(CRT))、字母數(shù)字輸入設(shè)備512(例 如,鍵盤)、光標(biāo)控制設(shè)備514(例如,鼠標(biāo))以及信號生成設(shè)備516(例如,揚聲器)。
[0055] 數(shù)據(jù)存儲設(shè)備518可以包括其上存儲有實施本文所描述的方法論或功能中的任何 一個或多個方法或功能的一個或多個指令522集(例如,軟件)的機器可讀存儲介質(zhì)(或計算 機可讀存儲介質(zhì))528。指令522還可以在由計算機系統(tǒng)500執(zhí)行期間完全或至少部分地駐留 在主存儲器504和/或處理器502內(nèi),主存儲器504和處理器502也構(gòu)成計算機可讀存儲介質(zhì)。 可以進一步經(jīng)由網(wǎng)接口設(shè)備508通過網(wǎng)絡(luò)516傳送或接收指令522。
[0056] 在一個實施例中,指令522包括用于可以與圖1的離線播放系統(tǒng)135相對應(yīng)的離線 播放系統(tǒng)550的指令和/或用于離線播放的系統(tǒng)。雖然機器可讀存儲介質(zhì)528在示例性實施 例中被示出為單個介質(zhì),但是術(shù)語"機器可讀存儲介質(zhì)"應(yīng)被理解為包括存儲該一個或多個 指令集的單個介質(zhì)或多個介質(zhì)(例如,集中式或分布式數(shù)據(jù)庫和/或相關(guān)聯(lián)緩存和服務(wù)器)。 術(shù)語"機器可讀存儲介質(zhì)"也應(yīng)被理解為包括能夠存儲、編碼或攜帶用于由機器執(zhí)行并且使 機器執(zhí)行本公開的方法論中的任何一個或多個方法的指令集的任何介質(zhì)。術(shù)語"計算機可 讀存儲介質(zhì)"或"機器可讀存儲介質(zhì)"應(yīng)相應(yīng)地被理解為包括但不限于固態(tài)存儲器、光介質(zhì) 和磁介質(zhì)。
[0057] 在上述的描述中,闡述了許多細(xì)節(jié)。然而,受益于本公開的本領(lǐng)域技術(shù)人員將顯而 易見的是,可以在沒有這些具體細(xì)節(jié)的情況下實施本公開。在一些情況下,以框圖的形式而 非詳細(xì)示出公知的結(jié)構(gòu)和設(shè)備,以免模糊本公開。
[0058]已根據(jù)對計算機存儲器內(nèi)的數(shù)據(jù)比特的操作的算法和符號表示呈現(xiàn)了詳細(xì)描述 的一些部分。這些算法描述和表示是數(shù)據(jù)處理領(lǐng)域技術(shù)人員用來向本領(lǐng)域其他技術(shù)人員最 有效地傳達其工作的實質(zhì)的手段。算法在這里并且通常被認(rèn)為是導(dǎo)致期望的結(jié)果的步驟的 自一致序列。步驟需要對物理量的物理操縱。通常,盡管不是必須的,這些量采用能夠被存 儲、傳輸、組合、比較和以其他方式操縱的電或磁信號的形式。已經(jīng)證明有時主要為了通用 的原因?qū)⑦@些信號稱為比特、值、元素、符號、字符、項、數(shù)字等是方便的。
[0059]然而,應(yīng)牢記,所有這些和類似的術(shù)語都將與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián)并且僅僅是應(yīng) 用于這些量的方便的標(biāo)簽。除非另外特別聲明,否則從以下討論可知,可以明白,在整個描 述中,使用術(shù)語諸如"確定"、"計算(computing)"、"計算(calculating)"、"獲得"、"識別"、 "修改"等的討論是指計算機系統(tǒng)或類似電子計算設(shè)備的動作和過程,其將被表示為計算機 系統(tǒng)的寄存器和存儲器內(nèi)的物理(例如,電子)量的數(shù)據(jù)操縱和轉(zhuǎn)換成被類似地表示為計算 機系統(tǒng)存儲器或寄存器或其他這種信息存儲、傳輸或顯示設(shè)備內(nèi)的物理量的其他數(shù)據(jù)。
[0060] 本公開還涉及一種用于執(zhí)行本文中的操作的裝置。此裝置可以被特別地構(gòu)造用于 所需目的,或者它可以包括由存儲在計算機中的計算機程序選擇性地激活或重新配置的通 用計算機。這樣的計算機程序可以被存儲在計算機可讀存儲介質(zhì)上,諸如但不限于任何類 型的盤,包括軟盤、光盤、CD-ROM和磁光盤、只讀存儲器(R0M)、隨機存取存儲器(RAM)、 EPR0M、EEPR0M、磁卡或光卡、或適于存儲電子指令的任何類型的介質(zhì)。
[0061] 貫穿本說明書對"一個實施例"或"實施例"的引用意味著結(jié)合該實施例所描述的 特定特征、結(jié)構(gòu)或特性被包括在至少一個實施例中。因此,在本說明書的不同的地方出現(xiàn)的 短語"在一個實施例中"或"在實施例中"不一定全部指相同的實施例。另外,術(shù)語"或"旨在 表示包含性"或"而不是排他性"或"。
[0062] 應(yīng)該理解的是,上面的描述旨在是說明性的而不是限制性的。在閱讀和理解上述 的描述后,許多其他實施例對于本領(lǐng)域技術(shù)人員將是顯而易見的。因此應(yīng)當(dāng)參考所附權(quán)利 要求書連同屬于這些權(quán)利要求的等效物的全部范圍來確定本公開的范圍。
【主權(quán)項】
1. 一種由處理設(shè)備實現(xiàn)的方法,包括: 由所述處理設(shè)備接收從內(nèi)容共享服務(wù)流送用于由媒體播放器呈現(xiàn)的內(nèi)容的第一多個 部分; 由所述處理設(shè)備接收來自用戶的使所述內(nèi)容可用于離線播放的請求; 響應(yīng)于所述請求,在從所述內(nèi)容共享服務(wù)流送所述內(nèi)容的第二多個部分用于由所述媒 體播放器呈現(xiàn)時,由所述處理設(shè)備存儲所述第二多個部分; 由所述處理設(shè)備從所述內(nèi)容共享服務(wù)請求所述第一多個部分; 由所述處理設(shè)備接收所請求的第一多個部分;以及 由所述處理設(shè)備存儲所接收的第一多個部分,其中所述第一多個部分和所述第二多個 部分可用于離線播放。2. 如權(quán)利要求1所述的方法,進一步包括: 識別所述內(nèi)容的所述第一多個部分和所述內(nèi)容的所存儲的第二多個部分中的較低質(zhì) 量的部分;以及 響應(yīng)于識別所述內(nèi)容中的所述較低質(zhì)量的部分,從所述內(nèi)容共享服務(wù)請求較高質(zhì)量的 替換部分。3. 如權(quán)利要求2所述的方法,進一步包括: 接收具有所述較高質(zhì)量的所述替換部分; 存儲所述替換部分,其中所述替換部分替換具有所述較低質(zhì)量的所述部分;以及 利用所述替換部分使所述內(nèi)容可用于離線播放。4. 如權(quán)利要求2所述的方法,其中,基于所述內(nèi)容的清單文件來識別所述較低質(zhì)量的部 分。5. 如權(quán)利要求3所述的方法,其中,如果到所述內(nèi)容共享服務(wù)的連接在接收具有所述較 高質(zhì)量的所述替換部分之前中斷,則所述內(nèi)容利用所述較低質(zhì)量的部分保持可用于離線播 放。6. 如權(quán)利要求1所述的方法,其中,請求所述第一多個部分是響應(yīng)于所述第二多個部分 的所述呈現(xiàn)的完成。7. 如權(quán)利要求1所述的方法,其中,在所述第一多個部分的所述呈現(xiàn)之后接收使所述內(nèi) 容可用于離線播放的所述請求。8. -種具有指令的非暫時性計算機可讀存儲介質(zhì),所述指令在由處理設(shè)備執(zhí)行時使所 述處理設(shè)備執(zhí)行操作,所述操作包括: 接收從內(nèi)容共享服務(wù)器流送用于由媒體播放器呈現(xiàn)的內(nèi)容的第一多個部分; 在從所述內(nèi)容共享服務(wù)流送所述內(nèi)容的所述第一多個部分時存儲所述第一多個部分; 接收來自用戶的使所述內(nèi)容可用于離線播放的請求;以及 響應(yīng)于所述請求,在從所述內(nèi)容共享服務(wù)流送所述內(nèi)容的第二多個部分用于由所述媒 體播放器呈現(xiàn)時,存儲所述第二多個部分;其中,所述第一多個部分和所述第二多個部分可 用于離線播放。9. 如權(quán)利要求8所述的非暫時性計算機可讀存儲介質(zhì),其中,所述操作進一步包括: 識別所述內(nèi)容的所述第一多個部分和所述內(nèi)容的所存儲的第二多個部分中的較低質(zhì) 量的部分;以及 響應(yīng)于識別所述內(nèi)容中的所述較低質(zhì)量的部分,從所述內(nèi)容共享服務(wù)請求較高質(zhì)量的 替換部分。10. 如權(quán)利要求9所述的非暫時性計算機可讀存儲介質(zhì),其中,所述操作進一步包括: 接收具有所述較高質(zhì)量的所述替換部分; 存儲所述替換部分,其中,所述替換部分替換具有所述較低質(zhì)量的所述部分;以及 利用所述替換部分使所述內(nèi)容可用于離線播放。11. 如權(quán)利要求9所述的非暫時性計算機可讀存儲介質(zhì),其中,基于所述內(nèi)容的清單文 件來識別所述較低質(zhì)量的部分。12. 如權(quán)利要求9所述的非暫時性計算機可讀存儲介質(zhì),其中,如果到所述內(nèi)容共享服 務(wù)的連接在接收具有所述較高質(zhì)量的所述替換部分之前中斷,則所述內(nèi)容利用所述較低質(zhì) 量的部分保持可用于離線播放。13. 如權(quán)利要求8所述的非暫時性計算機可讀存儲介質(zhì),其中,當(dāng)接收到使所述內(nèi)容可 用于離線播放的所述請求時將所述第一多個部分存儲在隨機存取存儲器中,并且在接收到 使所述內(nèi)容可用于離線播放的所述請求之后將所述第一多個部分復(fù)制到本地存儲。14. 如權(quán)利要求13所述的非暫時性計算機可讀存儲介質(zhì),其中,所述操作進一步包括: 當(dāng)完成了所述第二多個部分的所述呈現(xiàn)時從所述隨機存取存儲器丟棄所述第一多個 部分。15. 如權(quán)利要求8所述的非暫時性計算機可讀存儲介質(zhì),其中,在所述第一多個部分的 所述呈現(xiàn)之后接收使所述內(nèi)容可用于離線播放的所述請求。16. -種計算設(shè)備,包括: 存儲器;以及 耦合到所述存儲器的處理設(shè)備,其中所述處理設(shè)備用于: 接收從內(nèi)容共享服務(wù)流送用于由媒體播放器呈現(xiàn)的內(nèi)容的第一多個部分; 接收來自用戶的使所述內(nèi)容可用于離線播放的請求; 響應(yīng)于所述請求,在從所述內(nèi)容共享服務(wù)流送所述內(nèi)容的第二多個部分用于由所述媒 體播放器呈現(xiàn)時,存儲所述第二多個部分; 從所述內(nèi)容共享服務(wù)請求所述第一多個部分; 接收所請求的第一多個部分;以及 存儲所接收的第一多個部分,其中所述第一多個部分和所述第二多個部分可用于離線 播放。17. 如權(quán)利要求16所述的計算設(shè)備,其中,所述處理設(shè)備進一步用于: 識別所述內(nèi)容的所述第一多個部分和所述內(nèi)容的所存儲的第二多個部分中的較低質(zhì) 量的部分;以及 響應(yīng)于識別所述內(nèi)容中的所述較低質(zhì)量的部分,從所述內(nèi)容共享服務(wù)請求較高質(zhì)量的 替換部分。18. 如權(quán)利要求17所述的計算設(shè)備,其中,所述處理設(shè)備進一步用于: 接收具有所述較高質(zhì)量的所述替換部分; 存儲所述替換部分,其中所述替換部分替換具有所述較低質(zhì)量的所述部分;以及 利用所述替換部分使所述內(nèi)容可用于離線播放。19. 如權(quán)利要求17所述的計算設(shè)備,其中,基于所述內(nèi)容的清單文件來識別所述較低質(zhì) 量的部分。20. 如權(quán)利要求17所述的計算設(shè)備,其中,如果到所述內(nèi)容共享服務(wù)的連接在接收具有 所述較高質(zhì)量的所述替換部分之前中斷,則所述內(nèi)容利用所述較低質(zhì)量的部分保持可用于 離線播放。21. 如權(quán)利要求16所述的計算設(shè)備,其中,請求所述第一多個部分是響應(yīng)于所述第二多 個部分的所述呈現(xiàn)的完成。
【文檔編號】G11B20/10GK105940452SQ201580006641
【公開日】2016年9月14日
【申請日】2015年1月28日
【發(fā)明人】凱文·格林, 羅伯特·克里斯托弗·岡特
【申請人】谷歌公司