本公開通常涉及上下文感知的媒體流式傳送技術(shù)。還描述了利用這樣的技術(shù)的設(shè)備、系統(tǒng)和方法。
背景技術(shù):
在最近幾年,通過互聯(lián)網(wǎng)和其它分布式網(wǎng)絡(luò)分布和消費(fèi)多媒體(例如,視聽)內(nèi)容在急劇增加。事實(shí)上,現(xiàn)在對消費(fèi)者而言利用多種電子設(shè)備訪問和消費(fèi)高質(zhì)量內(nèi)容(例如,音樂、電視劇、電影、無線電廣播等)是常見的,所述內(nèi)容經(jīng)由有線或無線通信傳輸給消費(fèi)者的設(shè)備。
人們對使用媒體流式傳送技術(shù)來將內(nèi)容傳輸?shù)诫娮釉O(shè)備用于消費(fèi)越來越感興趣。在許多實(shí)例中,這樣的技術(shù)利用客戶端服務(wù)器架構(gòu),其中客戶端包括媒體播放器,用戶通過該媒體播放器可以選擇在服務(wù)器上可用于流式傳送的內(nèi)容。響應(yīng)于所述選擇,客戶端可以針對選定的內(nèi)容向服務(wù)器發(fā)送請求。作為響應(yīng),服務(wù)器可以開始將與選定的內(nèi)容相關(guān)聯(lián)的內(nèi)容數(shù)據(jù)傳輸?shù)娇蛻舳恕?/p>
隨著內(nèi)容數(shù)據(jù)被接收,其可以被緩沖在(例如,媒體播放器的)一個(gè)或多個(gè)緩沖器中。一旦緩沖器滿或者包含閾值量的內(nèi)容數(shù)據(jù),則緩沖器中的至少一部分內(nèi)容數(shù)據(jù)可以被處理用于顯示。隨著緩沖器中的數(shù)據(jù)被解碼和/或顯示,該數(shù)據(jù)可以被丟棄并且使用從服務(wù)器接收到的新的內(nèi)容數(shù)據(jù)來替換。這樣,消費(fèi)者可以查看選定的內(nèi)容,而無需等待他的設(shè)備下載與選定的內(nèi)容相關(guān)聯(lián)的所有內(nèi)容數(shù)據(jù)。
早期的媒體流式傳送技術(shù)通常呈現(xiàn)挫敗的用戶體驗(yàn),尤其是在用戶的設(shè)備(客戶端)和服務(wù)器之間的網(wǎng)絡(luò)連接相對差時(shí)。在這樣的情況下,由媒體播放器使用的緩沖器內(nèi)的內(nèi)容數(shù)據(jù)通常比其被來自服務(wù)器的新的內(nèi)容數(shù)據(jù)替換更快地被處理用于消費(fèi)。在這樣的條件下,媒體播放器緩沖器會挨餓,迫使客戶端暫停播放選定的內(nèi)容,直到從服務(wù)器接收到足夠量的內(nèi)容數(shù)據(jù)并且進(jìn)行緩沖。這一問題在下列情況中尤其有問題:用戶或媒體播放器請求服務(wù)器以超過位于客戶端設(shè)備和服務(wù)器之間的網(wǎng)絡(luò)連接的能力的質(zhì)量水平提供內(nèi)容。
已經(jīng)開發(fā)出自適應(yīng)的流式傳送技術(shù)來解決上述問題。在許多情況下,這樣的技術(shù)利用包括媒體播放器的客戶端,所述媒體播放器采用自適應(yīng)邏輯,基于監(jiān)視的緩沖器水平和在客戶端和服務(wù)器之間的網(wǎng)絡(luò)連接的帶寬來調(diào)整內(nèi)容流的質(zhì)量。例如,考慮客戶端請求服務(wù)器提供相對高質(zhì)量的內(nèi)容流的場景,但是其中網(wǎng)絡(luò)連接的帶寬和服務(wù)器相對較小。在這樣的情況下,自適應(yīng)邏輯可以確定會發(fā)生緩沖器挨餓,并且會使媒體播放器請求服務(wù)器降級內(nèi)容流的質(zhì)量(例如,請求較低比特率流),以便維持內(nèi)容在客戶端設(shè)備上不間斷地重放(但是以降低的質(zhì)量)。
盡管現(xiàn)有的自適應(yīng)流式傳送技術(shù)是有用的,但是可以理解它們大部分依賴于由緩沖器水平反映的網(wǎng)絡(luò)帶寬狀態(tài),以驅(qū)動(dòng)流質(zhì)量(由視頻壓縮比特率反映)的選擇。結(jié)果,這樣的技術(shù)可能不提供最優(yōu)的用戶體驗(yàn),這可能受到其它上下文參數(shù)的影響。此外,現(xiàn)有的自適應(yīng)流式傳送技術(shù)不被理解為利用上下文參數(shù)來調(diào)整客戶端設(shè)備處理內(nèi)容流以用于消費(fèi)的方式。
附圖說明
圖1是客戶端-服務(wù)器架構(gòu)的高級圖。
圖2是自適應(yīng)流式傳送系統(tǒng)的框圖。
圖3是符合本公開的自適應(yīng)流式傳送系統(tǒng)的框圖。
圖4是符合本公開的自適應(yīng)流式傳送方法的示例性操作的流程圖。
圖5示出了根據(jù)符合本公開的自適應(yīng)流式傳送方法的一個(gè)例子的消息傳送流。
圖6示出了根據(jù)符合本公開的自適應(yīng)流式傳送方法的另一例子的消息傳送流。
具體實(shí)施方式
雖然參考特定應(yīng)用的說明性實(shí)施例在本文描述了本公開,但是應(yīng)該理解的是,這樣的實(shí)施例僅是示例性的,并且由所附權(quán)利要求限定的本發(fā)明并不限于此。事實(shí)上,出于說明的目的,本文描述的技術(shù)可以在其中識別一個(gè)或多個(gè)姿勢的一個(gè)或多個(gè)使用模型的上下文中進(jìn)行討論。這樣的討論僅是示例性的,并且應(yīng)該理解的是,本文描述的所有或一部分技術(shù)可以用于其它上下文中并具有其它姿勢。獲得本文提供的教導(dǎo)的相關(guān)領(lǐng)域的技術(shù)人員將認(rèn)識到在本公開范圍內(nèi)的額外的修改、應(yīng)用和實(shí)施例以及在其中本公開的實(shí)施例將具有實(shí)用性的額外的領(lǐng)域。
本文描述的技術(shù)可以利用一個(gè)或多個(gè)設(shè)備,例如在客戶端-服務(wù)器架構(gòu)中,實(shí)現(xiàn)。術(shù)語“設(shè)備”、“多個(gè)設(shè)備”、“電子設(shè)備”和“多個(gè)電子設(shè)備”在此可互換使用,以單獨(dú)或聯(lián)合指代可以用作符合本公開的客戶端和/或服務(wù)器的大量電子設(shè)備中的任一個(gè)。可以根據(jù)本公開使用的設(shè)備的非限制性例子包括任何種類的移動(dòng)設(shè)備和/或非移動(dòng)設(shè)備,例如攝像機(jī)、蜂窩電話、計(jì)算機(jī)終端、臺式計(jì)算機(jī)、電子閱讀器、傳真機(jī)、自助服務(wù)終端、上網(wǎng)本計(jì)算機(jī)、筆記本計(jì)算機(jī)、互聯(lián)網(wǎng)設(shè)備、支付終端、個(gè)人數(shù)字助理、媒體播放器和/或記錄器、服務(wù)器、機(jī)頂盒、智能電話、平板個(gè)人計(jì)算機(jī)、超級移動(dòng)個(gè)人計(jì)算機(jī)、有線電話、其組合等。這樣的設(shè)備可以是便攜式的或固定的。不進(jìn)行限制,本文描述的設(shè)備優(yōu)選的是如下形式:一個(gè)或多個(gè)蜂窩電話、臺式計(jì)算機(jī)、膝上型計(jì)算機(jī)、智能電話和平板個(gè)人計(jì)算機(jī)。
術(shù)語“客戶端”和“客戶端設(shè)備”在此可互換地使用以指代可以執(zhí)行符合本公開的客戶端功能的一個(gè)或多個(gè)電子設(shè)備。一般而言,術(shù)語“客戶端”和“客戶端設(shè)備”在此用于指代從服務(wù)器接收并處理流式傳送的內(nèi)容的設(shè)備。相反,術(shù)語“服務(wù)器”、“服務(wù)器設(shè)備”和“媒體服務(wù)器”在此可互換地使用以指代可以執(zhí)行符合本公開的服務(wù)器功能的一個(gè)或多個(gè)電子設(shè)備。更具體地,這樣的術(shù)語指代可以經(jīng)由有線或無線通信,例如根據(jù)一個(gè)或多個(gè)媒體流式傳送協(xié)議,將內(nèi)容傳送到一個(gè)或多個(gè)客戶端設(shè)備的一個(gè)或多個(gè)電子設(shè)備。
注意到,為了容易理解,說明書描述了并且附圖示出了根據(jù)本公開的示例性系統(tǒng)和方法實(shí)施例包括單個(gè)客戶端和單個(gè)服務(wù)器或利用單個(gè)客戶端和單個(gè)服務(wù)器執(zhí)行。這樣的說明出于示例的原因,并且應(yīng)該理解的是,可以使用任意數(shù)量的客戶端和服務(wù)器。事實(shí)上,本文描述的技術(shù)可以使用多個(gè)(例如,2、5、10、20、50、100或更多)客戶端和/或服務(wù)器設(shè)備實(shí)現(xiàn)。因此,盡管本公開可能以單數(shù)指代客戶端和/或服務(wù)器,但是這種表達(dá)應(yīng)該被解釋為也包括復(fù)數(shù)形式。類似地,將設(shè)備設(shè)計(jì)為客戶端或服務(wù)器是為了清晰起見,并且應(yīng)該理解的是,根據(jù)本公開,客戶端設(shè)備可以被配置為執(zhí)行服務(wù)器功能,并且所述服務(wù)器設(shè)備可以被配置為執(zhí)行客戶端功能。
術(shù)語“內(nèi)容”和“媒體”在此可互換地使用以指代數(shù)字信息,例如,音頻、視頻、圖像、文本、標(biāo)記、軟件、其組合等,其可以以數(shù)字形式(例如,作為內(nèi)容數(shù)據(jù))存儲于計(jì)算機(jī)可讀介質(zhì)上。
如在本文任何實(shí)施例中使用的,術(shù)語“模塊”可以指代軟件、固件、電路或其組合,其被配置為執(zhí)行符合本公開的一個(gè)或多個(gè)操作。軟件可以被實(shí)現(xiàn)為記錄在非瞬態(tài)計(jì)算機(jī)可讀存儲介質(zhì)上的軟件包、代碼、指令、指令集和/或數(shù)據(jù)。固件可以被實(shí)現(xiàn)為被硬編碼(例如,非易失性)在存儲器設(shè)備中的代碼、指令或指令集和/或數(shù)據(jù)。如在本文的任何實(shí)施例中使用的,“電路”可以包括例如單個(gè)或任意組合的硬連線電路、可編程電路(例如,包括一個(gè)或多個(gè)單獨(dú)指令處理核心的計(jì)算機(jī)處理器)、狀態(tài)機(jī)電路、存儲由可編程電路執(zhí)行的指令的軟件和/或固件。本文描述的模塊可以統(tǒng)一地或單獨(dú)地被實(shí)現(xiàn)為形成如前所定義的一個(gè)或多個(gè)設(shè)備的一部分的電路。類似地,在一些實(shí)施例中,本文描述的模塊可以是至少部分地被實(shí)現(xiàn)在硬件中以執(zhí)行符合本公開的一個(gè)或多個(gè)操作的邏輯的形式。
短語“近距離通信”在此用于指代在彼此相對靠近的設(shè)備之間,即,經(jīng)由近距離通信,發(fā)送/接收數(shù)據(jù)信號的技術(shù)。近距離通信例如包括在設(shè)備之間利用
通常,本公開涉及在客戶端平臺上利用上下文信息來改變從服務(wù)器提供到客戶端的內(nèi)容流的質(zhì)量或其它特性的技術(shù)。替代地或另外,本文描述的技術(shù)在一些實(shí)施例中利用上下文信息來改變客戶端設(shè)備處理接收到的內(nèi)容流以用于消費(fèi)(例如,用于顯示)的方式。更具體地且如下文詳細(xì)描述的,在一些實(shí)施例中,本文描述的技術(shù)使用上下文信息來設(shè)置或以其他方式確定被或?qū)⒈粡姆?wù)器提供到客戶端的內(nèi)容流的參數(shù)(以下將其稱為“流參數(shù)”)。替代地或另外,在一些實(shí)施例中,本文描述的技術(shù)使用上下文信息來設(shè)置或以其他方式確定一個(gè)或多個(gè)圖形參數(shù),該圖形參數(shù)指定例如如何通過客戶端的圖形管線來處理接收到的內(nèi)容流。這樣,本文描述的技術(shù)支持上下文感知的媒體應(yīng)用,其可以利用(例如,一個(gè)或多個(gè)傳感器的)多種上下文信息來增強(qiáng)用戶體驗(yàn)。
在詳細(xì)討論本公開的各方面之前,理解以下特定自適應(yīng)流式傳送技術(shù)的操作是有幫助的:所述技術(shù)不依賴于來自客戶端平臺的上下文信息和/或觸發(fā)來驅(qū)動(dòng)關(guān)于如何修改內(nèi)容流的參數(shù)的確定,和/或接收到的內(nèi)容流是否要被以特定方式處理的確定。本公開因此將初始描述不利用上下文信息和/或平臺觸發(fā)的自適應(yīng)流式傳送技術(shù)的一些例子的操作。將在下文描述本公開的各方面。
圖1描繪了可以用于支持內(nèi)容流式傳送的客戶端-服務(wù)器模型的一個(gè)例子。如圖所示,系統(tǒng)100包括可以直接或通過可選網(wǎng)絡(luò)102通信地彼此耦合的客戶端101和服務(wù)器103。客戶端101和服務(wù)器103可以是任意適當(dāng)?shù)脑O(shè)備,例如上述的客戶端和服務(wù)器設(shè)備。網(wǎng)絡(luò)102可以是任意適當(dāng)?shù)挠芯€或無線通信網(wǎng)絡(luò),其可以被配置為使能經(jīng)由短距離通信、長距離通信或其組合在客戶端101和服務(wù)器103之間的這樣的有線或無線通信。
通常,客戶端101的用戶可能希望消費(fèi)存儲于服務(wù)器103上的例如一個(gè)或多個(gè)數(shù)字媒體文件形式的內(nèi)容。為此,服務(wù)器103可以被配置為將存儲于其上的內(nèi)容(例如,經(jīng)由網(wǎng)絡(luò)102)流式傳送到客戶端101。接著,客戶端101可以被配置為處理進(jìn)來的(接收到的)內(nèi)容流用于例如在其顯示器上進(jìn)行消費(fèi)。當(dāng)然,圖1的系統(tǒng)的許多變型是可能的,并且應(yīng)該理解的是,圖示的系統(tǒng)僅是出于示例的目的。例如,本公開設(shè)想了其中客戶端101不直接與服務(wù)器103通信的實(shí)施例。
現(xiàn)在參考圖2,其是不利用上下文信息的自適應(yīng)流式傳送系統(tǒng)的一個(gè)例子的框圖。如圖所示,系統(tǒng)200包括客戶端201(與圖1的客戶端101相對應(yīng))、可選網(wǎng)絡(luò)102和服務(wù)器103??蛻舳?01包括設(shè)備平臺202,其可以是任意適當(dāng)?shù)脑O(shè)備平臺。在一些實(shí)施例中,設(shè)備平臺202與被用作客戶端設(shè)備201的電子設(shè)備的類型相關(guān)。因此,例如,在客戶端設(shè)備201是蜂窩電話、智能電話、安全終端或臺式計(jì)算機(jī)的形式的情況下,設(shè)備平臺202可以分別是蜂窩電話平臺、智能電話平臺、安全終端平臺或臺式計(jì)算機(jī)平臺。
還如圖所示,設(shè)備平臺202包括處理器203、存儲器204、媒體播放器模塊(mpm)206、通信接口(comms)260、視聽管線270和顯示器(d1)。這樣的部件可以經(jīng)由傳輸層接口(未標(biāo)記)與彼此進(jìn)行通信,所述傳輸層接口例如是一個(gè)或多個(gè)物理總線、點(diǎn)對點(diǎn)連接、互連等,其可以通過適當(dāng)?shù)臉蚪悠?、適配器或控制器進(jìn)行連接。注意,出于說明的目的,顯示器d1被示出為與設(shè)備平臺202集成。應(yīng)該理解的是,這只是出于示例的原因,并且顯示器d1可以與設(shè)備平臺202分離。
處理器203可以是任意適當(dāng)?shù)奶幚砥?,包括但不限于一個(gè)或多個(gè)中央處理單元(cpu)、圖形處理單元(gpu)和能夠執(zhí)行存儲于存儲器204中的軟件或固件的專用集成電路。因此,處理器203可以包括一個(gè)或多個(gè)可編程通用或?qū)S梦⑻幚砥?、?shù)字信號處理器(dsp)、可編程專用集成電路(asic)、可編程邏輯器件(pld)等或這樣的設(shè)備的組合。
存儲器204可以是任意適當(dāng)?shù)拇鎯ζ?,例如但不限于隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、閃存、磁存儲器、電阻存儲器、磁光存儲器、或這樣的存儲器的組合。在一些實(shí)施例中,存儲器204可以包含計(jì)算機(jī)可讀指令等,當(dāng)被處理器203執(zhí)行時(shí),所述指令使得客戶端設(shè)備201執(zhí)行操作以單獨(dú)或結(jié)合服務(wù)器103實(shí)現(xiàn)內(nèi)容流式傳送操作。
comms260通常被配置為使能在客戶端設(shè)備201和服務(wù)器103之間直接地或經(jīng)由網(wǎng)絡(luò)102的通信。為此,comms260可以被配置為使用利用一個(gè)或多個(gè)預(yù)定的有線或無線通信協(xié)議的通信,該通信協(xié)議例如但不限于互聯(lián)網(wǎng)協(xié)議、wi-fi協(xié)議、bluetooth協(xié)議、其組合等。comms260因此可以包括硬件(即,電路)、軟件、或允許客戶端設(shè)備201發(fā)送和接收數(shù)據(jù)信號到/自服務(wù)器103的硬件和軟件的組合。comms260因此可以包括一個(gè)或多個(gè)應(yīng)答器、天線、
mpm206通常用于促進(jìn)和管理內(nèi)容從服務(wù)器103到客戶端201的流式傳送。因此,例如,在一些實(shí)施例中,mpm206可以包括、處于以下形式、或被配置為執(zhí)行自適應(yīng)媒體流式傳送播放器,例如超文本標(biāo)記語言(html)或本地自適應(yīng)媒體流式傳送播放器。適當(dāng)?shù)拿襟w播放器的非限制性例子包括公共和私有媒體流式傳送播放器,例如,
此外,媒體播放器模塊(mpm)206可以被配置為實(shí)現(xiàn)一個(gè)或多個(gè)自適應(yīng)流式傳送協(xié)議,例如但不限于,http動(dòng)態(tài)自適應(yīng)流式傳送(dash)、http(超文本傳輸協(xié)議)現(xiàn)場流式傳送(hls)、平滑流式傳送、其組合等。在任何情況下,mpm206可以被配置為支持接收并顯示從服務(wù)器103以多種比特率流式傳送到客戶端201的內(nèi)容,即,在分段(例如,分組或另一適當(dāng)形式)中并且以覆蓋重放時(shí)間的相對短的對準(zhǔn)間隔的多種不同比特率來對內(nèi)容進(jìn)行編碼。隨著內(nèi)容的分段被播放,mpm206可以至少部分地基于網(wǎng)絡(luò)狀況(即,網(wǎng)絡(luò)的參數(shù)、在客戶端101和服務(wù)器103之間的連接)動(dòng)態(tài)地選擇在下一分段中要被下載和播放的內(nèi)容的比特率。在一些實(shí)例中,mpm206可以被配置為選擇具有可能的最高比特率的下一分段,其可以被及時(shí)下載用于重放而不會引起重放偽像(例如,故障、暫停)或需要重新緩沖。
對選擇內(nèi)容做出響應(yīng),mpm206或另一部件可以使得客戶端設(shè)備201向服務(wù)器103傳輸內(nèi)容請求消息。內(nèi)容請求消息可以包括內(nèi)容標(biāo)識符(例如,指定要被流式傳送的內(nèi)容)以及一個(gè)或多個(gè)流式傳送參數(shù)。不進(jìn)行限制,在一些實(shí)施例中,包含于內(nèi)容請求消息中的流式傳送參數(shù)指定或以其他方式控制要由服務(wù)器103提供的內(nèi)容流的質(zhì)量和/或其中提供的內(nèi)容的比特率。
例如,mpm206可以使得客戶端201傳輸包括一個(gè)或多個(gè)流式傳送參數(shù)的內(nèi)容請求,所述流式傳送參數(shù)使得服務(wù)器103以特定質(zhì)量水平(例如,以特定比特率,其中較高的比特率通常與較高的質(zhì)量內(nèi)容相關(guān))將內(nèi)容流式傳送到客戶端201。在一些實(shí)施例中,質(zhì)量水平可以與視頻分辨率(例如,480p、720p、1080p等)、音頻質(zhì)量水平、其組合等相關(guān)聯(lián)。在任何情況下,例如對用戶選擇做出響應(yīng)或根據(jù)預(yù)定的質(zhì)量參數(shù)(例如,可以由制造商或mpm206指定),內(nèi)容和/或流的質(zhì)量水平可以由mpm206中的一個(gè)或多個(gè)流式傳送參數(shù)進(jìn)行初始設(shè)置。
當(dāng)然,僅出于示例的目的枚舉了指定內(nèi)容流和/或其內(nèi)的內(nèi)容的質(zhì)量的流式傳送參數(shù)的使用,其它流式傳送參數(shù)也可以包含于由客戶端201發(fā)送的媒體請求消息中。事實(shí)上,本公開設(shè)想了其中內(nèi)容請求消息包括指定內(nèi)容分辨率、每秒幀、或其它參數(shù)的流式傳送參數(shù)的實(shí)施例。在任何情況下,例如,根據(jù)包含于內(nèi)容請求消息內(nèi)的流式傳送參數(shù),以及一個(gè)或多個(gè)預(yù)定的媒體流式傳送協(xié)議,內(nèi)容請求消息可以使得服務(wù)器103將內(nèi)容流傳輸?shù)娇蛻舳?01。
還如圖2所示,mpm206包括可以經(jīng)由總線(未標(biāo)記)或另一適當(dāng)?shù)膫鬏斀橘|(zhì)彼此進(jìn)行通信的自適應(yīng)邏輯模塊210、網(wǎng)絡(luò)堆棧(nws)220和緩沖器230。如前所述,可以通過從客戶端201向服務(wù)器103傳輸?shù)谝粌?nèi)容請求消息來發(fā)起內(nèi)容流。根據(jù)所述討論,第一內(nèi)容請求消息可以包括內(nèi)容標(biāo)識符和第一流參數(shù),所述第一流參數(shù)可以指定將由服務(wù)器103提供的內(nèi)容流的質(zhì)量和/或其它特性。
對第一內(nèi)容請求消息做出響應(yīng),服務(wù)器103可以開始例如經(jīng)由網(wǎng)絡(luò)102并根據(jù)第一流參數(shù)(例如,以由第一流參數(shù)設(shè)置的初始質(zhì)量/比特率)將內(nèi)容的分段傳輸?shù)娇蛻舳?01??梢越?jīng)由comms260接收內(nèi)容分段并(例如,經(jīng)由網(wǎng)絡(luò)堆棧220)將該內(nèi)容分段傳輸?shù)骄彌_器230。當(dāng)緩沖器230為滿或者達(dá)到閾值容量時(shí),緩沖器230中的內(nèi)容的一個(gè)或多個(gè)分段可以被從mpm206傳輸?shù)娇蛻舳?01的其它部件用于消費(fèi)。在圖示的例子中,由服務(wù)器103提供的內(nèi)容流包括圖形部件,并且因此圖2示出了緩沖器230中的內(nèi)容的分段被傳輸?shù)揭暵牴芫€270用于消費(fèi)。
視聽管線270包括圖形堆棧272和顯示堆棧274,其任一個(gè)可以對內(nèi)容分段執(zhí)行(或引起執(zhí)行)一個(gè)或多個(gè)處理操作。例如,圖形堆棧272可以對接收到的內(nèi)容流的一個(gè)或多個(gè)內(nèi)容分段執(zhí)行或引起執(zhí)行一個(gè)或多個(gè)編碼操作、解碼操作、轉(zhuǎn)碼操作、后處理操作(例如,色彩增強(qiáng)、對比度增強(qiáng)、邊緣增強(qiáng)、反鋸齒等)、其組合等。當(dāng)完成這樣的操作時(shí)(或者如果不要求這樣的操作),則可以將處理過的內(nèi)容分段傳輸給顯示堆棧274,其可以渲染處理過的內(nèi)容分段用于例如在顯示器d1上進(jìn)行消費(fèi)。除了圖形堆棧272和顯示堆棧274,視聽管線270還可以包括音頻堆棧(未示出),其可以負(fù)責(zé)處理在接收到的內(nèi)容流中的音頻信息用于消費(fèi)。
隨著內(nèi)容被從服務(wù)器103流式傳送到客戶端201,自適應(yīng)邏輯模塊210可以監(jiān)視緩沖器230的容量以及客戶端201與服務(wù)器103之間的網(wǎng)絡(luò)連接的狀況(在此也被稱作“實(shí)際網(wǎng)絡(luò)連接”)。例如,自適應(yīng)邏輯模塊210可以檢查緩沖器230的狀態(tài)(例如,使用查詢消息)以確定在流式傳送過程中任一點(diǎn)處的其容量。替代地或另外,自適應(yīng)邏輯模塊210可以向nws220發(fā)布查詢消息。查詢消息可以被配置為使得nws220向自適應(yīng)邏輯模塊210報(bào)告在客戶端201和服務(wù)器103之間的實(shí)際網(wǎng)絡(luò)連接的各種狀況??梢杂蒼ws220對來自mpm206的查詢做出響應(yīng)而報(bào)告的網(wǎng)絡(luò)狀況的非限制性例子包括在客戶端201和服務(wù)器103之間連接的延時(shí)、該連接的帶寬、丟棄的分組的數(shù)量、其組合等。
基于由nws220報(bào)告的網(wǎng)絡(luò)狀況和緩沖器230的狀態(tài),自適應(yīng)邏輯模塊210可以確定對由服務(wù)器103提供的內(nèi)容流的調(diào)整會是感興趣的。例如,在一些實(shí)例中,自適應(yīng)邏輯模塊210可以基于由nws220報(bào)告的網(wǎng)絡(luò)狀況來確定:如果內(nèi)容流被維持在當(dāng)前比特率,則緩沖器230可能會挨餓(例如,缺少足夠的內(nèi)容數(shù)據(jù)來維持重放)。在這樣的實(shí)例中,自適應(yīng)邏輯模塊210可以使得客戶端201將第二內(nèi)容請求消息傳送到服務(wù)器103。第二內(nèi)容請求消息可以指定與第一流參數(shù)不同的第二流參數(shù),并且所述第二流參數(shù)可以被設(shè)計(jì)為維持所述內(nèi)容流在客戶端201上的不間斷重放。例如,第二流參數(shù)可以指定將較低質(zhì)量的流/內(nèi)容(例如,傳輸較低比特率的內(nèi)容)傳輸?shù)娇蛻舳?01,以便防止緩沖器230挨餓,或者至少延長在緩沖器230挨餓之前將經(jīng)過的時(shí)間量。
替代地,在緩沖器230持續(xù)為滿且由nws220報(bào)告的網(wǎng)絡(luò)狀況表示在客戶端201和服務(wù)器103之間的連接很強(qiáng)(例如,高帶寬、低延時(shí)等)時(shí),自適應(yīng)邏輯模塊210可以確定可以支持較高質(zhì)量的內(nèi)容流。在這樣的實(shí)例中并且與先前情況類似,自適應(yīng)邏輯模塊210可以使得客戶端201將第二內(nèi)容請求消息傳輸?shù)椒?wù)器103,但是在該情況下,第二內(nèi)容請求可以包括流參數(shù),該流參數(shù)使得服務(wù)器103將較高質(zhì)量的內(nèi)容流(例如,包含較高的比特率內(nèi)容)傳輸?shù)娇蛻舳?01。
因此,例如圖2所示的并且上面描述的自適應(yīng)流式傳送系統(tǒng)使用實(shí)際的網(wǎng)絡(luò)和/或緩沖器狀況來調(diào)整內(nèi)容流的質(zhì)量或其它特性,以便提供不間斷的內(nèi)容重放。盡管這樣的系統(tǒng)是有用的,但是它們沒有考慮可能影響消費(fèi)內(nèi)容的用戶的體檢的各種上下文因素。例如,這樣的系統(tǒng)的自適應(yīng)邏輯沒有考慮用戶上下文因素、環(huán)境上下文因素、設(shè)備上下文因素、其組合等,這些的任意或全部會對用戶體驗(yàn)具有重要影響。相反,對內(nèi)容流的調(diào)整僅基于緩沖器狀態(tài)、實(shí)際網(wǎng)絡(luò)狀況/參數(shù)、或其組合。另外,對內(nèi)容流的調(diào)整可以由在客戶端上執(zhí)行的軟件管理,而不考慮能夠用于調(diào)整用戶體驗(yàn)的來自客戶端設(shè)備平臺的上下文信息和/或觸發(fā)。
考慮到以上這些,本公開的一個(gè)方面涉及上下文感知的媒體流式傳送系統(tǒng),其由客戶端設(shè)備平臺控制,并且更特別地,涉及在這樣的系統(tǒng)中的上下文感知的客戶端設(shè)備。為此,參考圖3,其是符合本公開的上下文感知的媒體流式傳送系統(tǒng)的一個(gè)例子的框圖。如圖所示,系統(tǒng)300包括可以直接或通過可選網(wǎng)絡(luò)102彼此通信的客戶端301和服務(wù)器103。不進(jìn)行限制,在一些實(shí)施例中,客戶端301和服務(wù)器103被配置為經(jīng)由有線或無線通信并且根據(jù)一個(gè)或多個(gè)預(yù)定的通信協(xié)議彼此進(jìn)行通信。服務(wù)器103和可選網(wǎng)絡(luò)102的本質(zhì)和功能在上文結(jié)合圖1和圖2進(jìn)行了描述,并因此為了簡潔而不再重復(fù)。
還如圖3所示,客戶端301包括客戶端平臺302(其類似于客戶端平臺202),該客戶端平臺302可以是任何適當(dāng)?shù)钠脚_。在一些實(shí)施例中,設(shè)備平臺302與用作客戶端設(shè)備301的電子設(shè)備的類型相關(guān)。因而例如,在客戶端設(shè)備301是蜂窩電話、智能電話、安全終端或臺式計(jì)算機(jī)的形式時(shí),設(shè)備平臺302可以分別是蜂窩電話平臺、智能電話平臺、安全終端平臺或臺式計(jì)算機(jī)平臺。
客戶端平臺302還包括處理器203、存儲器204、媒體播放器模塊(mpm)206、通信接口(comms)260、視聽管線270和顯示器(d1)。處理器203、存儲器204和comms260與前述結(jié)合圖2描述的相同。因此為了簡潔不再重復(fù)這些部件的詳細(xì)描述。
除了上述部件外,客戶端平臺302還包括上下文邏輯模塊(clm)310,其可以與一個(gè)或多個(gè)傳感器320有線或無線通信。如下文詳細(xì)描述的,clm310通常被配置為分析上下文信息,使這樣的上下文信息與期望的用戶體驗(yàn)相關(guān),并傳輸上下文控制消息。通常,上下文控制消息可以被配置為改變由服務(wù)器103提供的內(nèi)容流,和/或客戶端301處理內(nèi)容用于例如通過視聽管線270進(jìn)行消費(fèi)的方式。這樣,clm310可以利用上下文信息來改變流式傳送內(nèi)容接收和/或消費(fèi),例如以獲得期望的用戶體驗(yàn)。
由clm310使用的上下文信息的類型不受限,并且可以使用任何適當(dāng)?shù)纳舷挛男畔?。適當(dāng)?shù)纳舷挛男畔⒌姆窍拗菩岳影ㄓ脩羯舷挛囊蛩亍⒃O(shè)備上下文因素以及環(huán)境上下文因素。適當(dāng)?shù)挠脩羯舷挛囊蛩氐囊恍┓窍拗菩岳影ㄓ脩羯矸?、用?設(shè)備位置、用戶活動(dòng)(移動(dòng)、坐著、走動(dòng)、跑動(dòng)等)、屏幕焦點(diǎn)(即,用戶聚焦的顯示器區(qū)域)、用戶偏好(例如,在一個(gè)或多個(gè)用戶簡檔中指定的)等、其組合等。適當(dāng)?shù)沫h(huán)境上下文因素的一些非限制性例子包括環(huán)境噪聲級別、環(huán)境光級別、設(shè)備位置、安全級別、其組合等。適當(dāng)?shù)脑O(shè)備上下文因素的非限制性例子包括屏幕尺寸、顯示器分辨率、多個(gè)顯示器的使用、外部顯示器的使用、電池水平、應(yīng)用狀態(tài)、處理器工作負(fù)荷、其組合等。clm310還可以使用網(wǎng)絡(luò)上下文(例如,延時(shí)、帶寬、分組丟失等)。
clm310可以從任何適當(dāng)?shù)脑传@得和/或?qū)С錾舷挛男畔?,例如但不限于從傳感?20提供或獲得的數(shù)據(jù)。為此,傳感器320可以包括一個(gè)或多個(gè)物理或虛擬傳感器或者是一個(gè)或多個(gè)物理或虛擬傳感器的形式。適當(dāng)?shù)奈锢韨鞲衅鞯姆窍拗菩岳影铀俣扔?jì)、陀螺儀、磁力計(jì)、音頻/噪聲傳感器(例如,麥克風(fēng))、壓力傳感器、溫度傳感器、環(huán)境光傳感器、紅外接近度傳感器、無線設(shè)備(
替代地或除了傳感器320,clm310可以從其它源獲得或?qū)С錾舷挛男畔?,例如但不限于存儲于存儲?04中的數(shù)據(jù)。例如,存儲器204可以存儲與客戶端301的用戶相關(guān)聯(lián)的用戶簡檔。在這樣的實(shí)例中,用戶簡檔可以包含對于clm310有用的上下文信息,例如,在確定期望的用戶體驗(yàn)和/或生成一個(gè)或多個(gè)上下文控制消息時(shí)。例如,在一些實(shí)施例中,用戶簡檔可以包含用戶上下文,例如用戶身份、用戶偏好、用戶安全級別、用戶設(shè)置等,其任意或所有可以如下所述由clm310利用。當(dāng)然,其它上下文(例如,如上所述的設(shè)備和環(huán)境上下文)也可以包含于用戶簡檔中。替代地或除了用戶簡檔,存儲于存儲器204中的其它數(shù)據(jù)、應(yīng)用等可以向clm310提供在生成上下文控制消息時(shí)有用的上下文信息。當(dāng)然,clm310還可以從其它源獲得有用的上下文信息,例如但不限于用戶輸入、來自一個(gè)或多個(gè)遠(yuǎn)程設(shè)備(例如,服務(wù)器103或第三方設(shè)備)的通信、其組合等。
如上所述,clm310可以從多個(gè)源收集或以其他方式獲得上下文信息。隨著或者一旦上下文信息被獲取,clm310可以分析該上下文信息以確定上下文流式傳送和/或上下文消費(fèi)參數(shù),其可以用于影響內(nèi)容被流式傳送到客戶端301的方式,和/或處理接收到的內(nèi)容流中的內(nèi)容以供客戶端301消費(fèi)的方式。
如本文使用的,術(shù)語“流式傳送參數(shù)”指的是內(nèi)容流和/或在其中傳輸?shù)膬?nèi)容的特性。流式傳送參數(shù)的非限制性例子包括在討論中的內(nèi)容的比特率、內(nèi)容的分辨率、內(nèi)容的每秒幀、其組合等。上下文流式傳送參數(shù)是至少部分地基于上下文信息(例如,通過自適應(yīng)邏輯模塊210或clm310)確定的流式傳送參數(shù)。
在一些實(shí)施例中且如下文所描述的,可以至少部分地基于上下文網(wǎng)絡(luò)參數(shù)來設(shè)置或以其他方式確定上下文流式傳送參數(shù),所述上下文網(wǎng)絡(luò)參數(shù)可以被理解為至少部分地基于上下文信息(例如,通過clm310)確定的合成的或人工的網(wǎng)絡(luò)參數(shù)。相比而言,“實(shí)際網(wǎng)絡(luò)參數(shù)”可以被理解為指的是在客戶端和服務(wù)器(例如,客戶端301和服務(wù)器103)之間的實(shí)際網(wǎng)絡(luò)連接的網(wǎng)絡(luò)參數(shù)。
還應(yīng)注意,在本文使用術(shù)語“消費(fèi)參數(shù)”來指代影響客戶端設(shè)備如何處理在內(nèi)容流中接收到的內(nèi)容用于消費(fèi)的參數(shù)。消費(fèi)參數(shù)的非限制性例子包括各種圖形和音頻處理參數(shù)/操作,例如,對比度增強(qiáng)、色彩增強(qiáng)、亮度增強(qiáng)、邊緣增強(qiáng)、反鋸齒、音頻增強(qiáng)、媒體解碼、媒體編碼、媒體轉(zhuǎn)碼、其組合等。消費(fèi)參數(shù)的其它非限制性例子包括顯示參數(shù),例如,渲染參數(shù)、縮放/分辨率參數(shù)、其組合等。“上下文消費(fèi)參數(shù)”是至少部分地基于上下文信息(例如,通過clm301)而確定的消費(fèi)參數(shù)。
如前所述,clm310可以至少部分地工作以確定可以用于實(shí)現(xiàn)期望的用戶體驗(yàn)的上下文網(wǎng)絡(luò)參數(shù)、上下文流式傳送參數(shù)和/或上下文消費(fèi)參數(shù)。在這一上下文中,用戶體驗(yàn)指的是用戶關(guān)于在客戶端設(shè)備上接收和/或消費(fèi)內(nèi)容流的體驗(yàn)。因此,例如,clm310可以使用上下文因素來識別上下文網(wǎng)絡(luò)參數(shù),所述上下文網(wǎng)絡(luò)參數(shù)可以(例如,由自適應(yīng)邏輯模塊210)用于確定上下文流式傳送參數(shù),該上下文流式傳送參數(shù)接著用于調(diào)整內(nèi)容流或其中的內(nèi)容的特性(例如,比特率、分辨率等)。替代地或另外,clm310可以使用上下文因素來識別上下文消費(fèi)因素,該上下文消費(fèi)因素可以用于控制客戶端設(shè)備的視聽管線處理接收到的內(nèi)容流中的內(nèi)容的方式,例如以供用戶消費(fèi)。在任一情況下,clm310可以使用一個(gè)或多個(gè)機(jī)器學(xué)習(xí)算法、啟發(fā)法、用戶偏好、查找表、其組合等來確定上下文網(wǎng)絡(luò)參數(shù)、上下文流式傳送參數(shù)和/或上下文消費(fèi)參數(shù)。
參考上述,在一些實(shí)施例中,clm310可以被配置為至少部分地基于上下文信息來改變由自適應(yīng)邏輯模塊210利用的一個(gè)或多個(gè)輸入。在一些實(shí)施例中,改變的輸入例如是根據(jù)媒體播放器模塊206的正常操作由網(wǎng)絡(luò)堆棧220報(bào)告給自適應(yīng)邏輯模塊210的網(wǎng)絡(luò)狀況。更具體地,clm310可以制定上下文控制消息(包括上下文網(wǎng)絡(luò)參數(shù)),并且將該上下文控制消息傳輸給網(wǎng)絡(luò)堆棧220,如圖3所示并后續(xù)在圖5中描述。上下文控制消息可以被配置為使得網(wǎng)絡(luò)堆棧220例如對查詢做出響應(yīng)來向自適應(yīng)邏輯模塊210報(bào)告上下文網(wǎng)絡(luò)參數(shù)。
如可以意識到的,上下文網(wǎng)絡(luò)參數(shù)可以與在客戶端101和服務(wù)器103之間的實(shí)際網(wǎng)絡(luò)連接的參數(shù)(即,實(shí)際網(wǎng)絡(luò)參數(shù))不同。自適應(yīng)邏輯模塊210因此可以至少部分地基于改變的輸入(例如,上下文網(wǎng)絡(luò)參數(shù))來執(zhí)行其功能,這可能導(dǎo)致發(fā)布包括上下文流式傳送參數(shù)的媒體請求消息。如還可以意識到的,由自適應(yīng)邏輯模塊210基于上下文網(wǎng)絡(luò)參數(shù)確定的上下文流式傳送參數(shù)(例如,比特率)會與自適應(yīng)邏輯模塊210根據(jù)在客戶端301和服務(wù)器103之間的實(shí)際網(wǎng)絡(luò)連接的參數(shù)確定的流式傳送參數(shù)不同。
在一些實(shí)施例中,由clm310確定的上下文網(wǎng)絡(luò)參數(shù)(例如,延時(shí)、分組丟棄、帶寬等)可以至少部分地由例如上述的那些上下文因素進(jìn)行設(shè)置或以其他方式確定。例如,在一些實(shí)施例中,clm310可以基于以下中的一個(gè)或多個(gè)來確定上下文網(wǎng)絡(luò)參數(shù):客戶端101的電池壽命、輸出顯示器(例如,顯示器d1和/或d2)的分辨率、用戶偏好信息、用戶位置、運(yùn)動(dòng)信息、環(huán)境上下文、其組合等。在任何情況下,可以設(shè)計(jì)上下文網(wǎng)絡(luò)參數(shù)來使得自適應(yīng)邏輯以支持期望的用戶體驗(yàn)的方式來調(diào)整內(nèi)容流的流式傳送參數(shù)(例如,比特率)。
例如,在clm310確定上下文信息表明對于高分辨內(nèi)容(例如,高分辨率顯示器、多顯示器渲染等)的強(qiáng)烈偏好的情況下,可以使得上下文網(wǎng)絡(luò)參數(shù)被設(shè)置為向自適應(yīng)邏輯模塊210表示在客戶端301和服務(wù)器103之間存在強(qiáng)的(例如,低延時(shí)、高帶寬)網(wǎng)絡(luò)連接,而不管在這樣的設(shè)備之間的實(shí)際網(wǎng)絡(luò)連接的狀況如何。相反,在上下文信息向clm310表明對于低分辨率內(nèi)容(例如,低分辨率顯示器、低電池壽命、用戶/設(shè)備運(yùn)動(dòng)等)的偏好的情況下,其可以使得上下文網(wǎng)絡(luò)參數(shù)被設(shè)置以便向自適應(yīng)邏輯模塊210表示在客戶端101和服務(wù)器103之間存在弱的(例如,高延時(shí)、低帶寬)網(wǎng)絡(luò)連接,而不管在這樣的設(shè)備之間的實(shí)際網(wǎng)絡(luò)連接的狀況如何。
在任一情況下,自適應(yīng)邏輯模塊210可以按照其傳統(tǒng)方式執(zhí)行,除了其利用上下文網(wǎng)絡(luò)參數(shù)(代替在客戶端301和服務(wù)器103之間的實(shí)際網(wǎng)絡(luò)連接的參數(shù))來確定要由服務(wù)器103提供的內(nèi)容流的流式傳送參數(shù)。也就是說,自適應(yīng)邏輯模塊210可以操作以至少部分地基于從nws220接收的上下文網(wǎng)絡(luò)參數(shù)來確定上下文流式傳送參數(shù)。
更具體地,在一些實(shí)施例中,clm310可以在上下文控制消息(ccm)中將上下文網(wǎng)絡(luò)參數(shù)傳輸?shù)骄W(wǎng)絡(luò)堆棧220。如上所述,上下文控制消息可以被配置為使得網(wǎng)絡(luò)堆棧220將上下文網(wǎng)絡(luò)參數(shù)報(bào)告給自適應(yīng)邏輯模塊210,代替在客戶端301和服務(wù)器103之間的網(wǎng)絡(luò)連接的實(shí)際狀況。這樣的報(bào)告可以例如在自適應(yīng)邏輯模塊210的正常操作期間被觸發(fā)。也就是說,可以對從自適應(yīng)邏輯模塊210到網(wǎng)絡(luò)堆棧220的請求報(bào)告網(wǎng)絡(luò)狀態(tài)的查詢做出響應(yīng)來觸發(fā)這樣的報(bào)告。
對接收到上下文網(wǎng)絡(luò)參數(shù)做出響應(yīng),自適應(yīng)邏輯模塊210可以分析上下文網(wǎng)絡(luò)參數(shù)(以及可選的緩沖器230的狀態(tài)),并確定對由服務(wù)器103提供的(或?qū)⒁峁┑?內(nèi)容流的流式傳送參數(shù)的調(diào)整是否是必要的。如果是,則自適應(yīng)模塊210可以制定并傳輸媒體請求消息給服務(wù)器103。媒體請求消息可以包括上下文流式傳送參數(shù),其可以被理解為是由自適應(yīng)邏輯模塊210至少部分地基于上下文網(wǎng)絡(luò)參數(shù),而不是在客戶端101和服務(wù)器103之間的網(wǎng)絡(luò)連接的實(shí)際狀況,而確定的流式傳送參數(shù)。
利用上述方法,clm310可以用于從上下文明顯地調(diào)整自適應(yīng)媒體播放器的行為,即,在不修改媒體播放器的自適應(yīng)邏輯的情況下。例如,clm310可以制定上下文網(wǎng)絡(luò)參數(shù),該參數(shù)影響自適應(yīng)邏輯模塊210對比特率或其它流參數(shù)的下游確定,如上面通常描述的。
注意到,按照正常操作,mpm206可以將內(nèi)容(即,接收到的內(nèi)容流)的分段從緩沖器230轉(zhuǎn)發(fā)到視聽管線270用于處理和/或用戶消費(fèi)。在一些實(shí)例中,mpm206可以指示視聽管線270根據(jù)特定的消費(fèi)參數(shù)來處理接收到的內(nèi)容流的內(nèi)容,所述消費(fèi)參數(shù)可以例如通過內(nèi)容流中的元數(shù)據(jù)、通過媒體播放器模塊206的制造商等預(yù)先確定。作為響應(yīng),視聽管線(或更具體地,其圖形堆棧272、顯示堆棧274和/或音頻堆棧(未示出))可以根據(jù)這樣的消費(fèi)參數(shù)來處理接收到的內(nèi)容流的內(nèi)容。
參考以上,在一些實(shí)施例中,clm310可以被配置為至少部分地基于上下文信息來改變由視聽管線270處理接收到的內(nèi)容流的內(nèi)容的方式。在一些實(shí)施例中,clm310可以至少部分地通過將上下文控制消息(ccm)傳輸?shù)揭暵牴芫€270來完成,如圖3所示。上下文控制消息可以包括上下文消費(fèi)因素,clm310可以考慮相關(guān)的上下文因素以及可選的視聽管線270的能力來設(shè)置或以其他方式確定所述上下文消費(fèi)因素。在任一情況下,上下文控制消息可以被配置為使得視聽管線270根據(jù)上下文消費(fèi)參數(shù)來處理內(nèi)容,所述上下文消費(fèi)參數(shù)可以補(bǔ)充或覆寫由mpm206指定的用于處理接收到的內(nèi)容流的消費(fèi)參數(shù)。
參考以上,在一些實(shí)施例中,clm310可以被配置為至少部分地基于例如從傳感器320接收到的上下文信息來確定上下文消費(fèi)參數(shù)。如可以理解的,上下文消費(fèi)參數(shù)可以與由mpm206指定的消費(fèi)參數(shù)不同,并且因此可以使得視聽管線270或其部件以與對單獨(dú)從mpm206接收到的消費(fèi)參數(shù)做出響應(yīng)而執(zhí)行的處理不同的方式來處理內(nèi)容流。這樣,clm310可以用于從上下文控制客戶端101的視聽管線270處理內(nèi)容流用于消費(fèi)的方式。
為了示出前述概念,考慮其中clm310根據(jù)上下文信息確定在開始和/或接收內(nèi)容流時(shí)客戶端設(shè)備301處于微暗或明亮的照明環(huán)境的場景。在這樣的實(shí)例中,clm310可以被配置為使得視聽管線270處理內(nèi)容流,以便以指定的方式調(diào)整其中的內(nèi)容的亮度、對比度和/或色彩。clm310可以例如通過識別適當(dāng)?shù)纳舷挛南M(fèi)參數(shù)(例如,亮度水平、對比度水平等)并且在上下文控制消息中將這樣的參數(shù)傳輸?shù)揭暵牴芫€270(或其適當(dāng)?shù)牟考?來進(jìn)行實(shí)現(xiàn)。上下文控制消息可以使得視聽管線270(或者其一個(gè)或多個(gè)部件)對接收到的內(nèi)容流的內(nèi)容執(zhí)行后處理操作。如可以理解的,可以根據(jù)上下文消費(fèi)參數(shù)來表示或以其他方式配置后處理操作。
可替代地或另外,clm310可以根據(jù)上下文信息來確定設(shè)備101處于包含相對少量或大量環(huán)境噪聲的環(huán)境中。應(yīng)用啟發(fā)法或另一技術(shù),clm310可以確定對接收到的內(nèi)容流的音頻部件的音量的調(diào)整是期望的。為了實(shí)現(xiàn)這一調(diào)整,clm310可以生成包括音頻調(diào)整的上下文消費(fèi)參數(shù),并且在上下文控制消息中將這樣的參數(shù)傳輸?shù)揭暵牴芫€270(或者更具體地,傳輸?shù)狡湟纛l堆棧)。上下文控制消息可以被配置為使得視聽管線270(或者更具體地,其音頻堆棧)根據(jù)上下文消費(fèi)參數(shù)來調(diào)節(jié)內(nèi)容的音量。
當(dāng)然,前述例子僅示出了特定的非限制性實(shí)施例,并且clm310可以被實(shí)現(xiàn)為以多種方式從上下文調(diào)整流式傳送內(nèi)容的接收和/或消費(fèi)。例如,clm310可以被實(shí)現(xiàn)為從上下文調(diào)整視聽管線270對內(nèi)容流的內(nèi)容執(zhí)行編碼/解碼/轉(zhuǎn)碼操作的方式。類似地,clm310可以被實(shí)現(xiàn)為影響內(nèi)容流的內(nèi)容的視頻后處理和/或內(nèi)容流被處理用于顯示的方式。例如,在后一情況下,clm310可以產(chǎn)生上下文消費(fèi)參數(shù),其使得顯示堆棧274對內(nèi)容流的內(nèi)容執(zhí)行顯示操作。這樣的顯示操作的例子包括使得顯示堆棧274在一個(gè)或多個(gè)屏幕上渲染內(nèi)容用于消費(fèi),使得顯示堆棧調(diào)整內(nèi)容的分辨率(例如,匹配或考慮顯示器的分辨率)或其組合。
本公開的另一方面涉及用于執(zhí)行上下文感知的內(nèi)容流式傳送的方法。就此,參考圖4,其是符合本公開的上下文感知的內(nèi)容流式傳送方法的一個(gè)例子的高級示例性操作的流程圖,并且其利用如上所述的上下文邏輯模塊。如圖所示,方法400開始于框401。該方法然后進(jìn)行到框403,其中可以收集上下文信息。例如,在一些實(shí)施例中,可以通過上下文邏輯模塊例如根據(jù)從一個(gè)或多個(gè)傳感器或從另一源接收到的數(shù)據(jù)獲得或?qū)С錾舷挛男畔?,如上所述?/p>
在收集上下文信息之后或與此同時(shí)地,所述方法可以進(jìn)行到框405,其中上下文邏輯模塊可以監(jiān)視內(nèi)容流的接收和/或開始。上下文邏輯模塊可以例如通過監(jiān)視在客戶端101和服務(wù)器103之間的網(wǎng)絡(luò)連接的狀態(tài)和參數(shù)來執(zhí)行這一操作。替代地或另外,在檢測到媒體播放器模塊(例如,mpm206)的執(zhí)行時(shí),可以通過上下文邏輯模塊推測內(nèi)容流的檢測和/或開始。
在任一情況下,所述方法可以進(jìn)行到框407,其中確定是否檢測到內(nèi)容流。如果為否,則該方法可以循環(huán)回到框405,其中上下文邏輯模塊可以繼續(xù)監(jiān)視內(nèi)容流的開始和/或接收。然而,一旦檢測到內(nèi)容流的開始和/或接收,方法就可以進(jìn)行到框409。
依照框409,上下文邏輯模塊可以確定是否將應(yīng)用上下文修改。在這一上下文中,上下文修改指的是流參數(shù)和/或消費(fèi)參數(shù)的上下文修改,如上面通常描述的。如果不采用上下文修改,則所述方法可以從框409進(jìn)行到框411,其中可以在不進(jìn)行上下文修改的情況下執(zhí)行內(nèi)容流式傳送(即,根據(jù)媒體播放器模塊的正常操作)。
然而,如果要采用上下文修改,則方法可以從框409進(jìn)行到框413。依照框413,上下文邏輯模塊可以分析依照框403收集的上下文信息,并且例如利用啟發(fā)法、機(jī)器學(xué)習(xí)算法或本文前述的其它技術(shù)來確定上下文網(wǎng)絡(luò)參數(shù)(cnp)和/或上下文消費(fèi)參數(shù)(ccp)。在一些情況下,可以設(shè)置或以其他方式確定上下文網(wǎng)絡(luò)參數(shù)和/或上下文消費(fèi)參數(shù)來實(shí)現(xiàn)期望的用戶體驗(yàn)。
所述方法然后可以進(jìn)行到框415,其中上下文邏輯模塊可以將上下文控制消息(ccm)傳輸?shù)娇蛻舳嗽O(shè)備的媒體播放器的網(wǎng)絡(luò)堆棧和視聽管線中的一個(gè)或兩個(gè),如上面通常描述的。如前所述,上下文控制消息可以包括上下文網(wǎng)絡(luò)參數(shù)、上下文消費(fèi)參數(shù)或其組合。在ccm被傳輸?shù)骄W(wǎng)絡(luò)堆棧的情況下,其可以被配置為使得網(wǎng)絡(luò)堆棧向媒體播放器的自適應(yīng)邏輯報(bào)告上下文網(wǎng)絡(luò)參數(shù),代替實(shí)際的網(wǎng)絡(luò)狀況,從而影響自適應(yīng)邏輯的下游確定,如上所討論的。在ccm被傳輸?shù)娇蛻舳嗽O(shè)備的視聽管線的實(shí)例中,其可以包括上下文消費(fèi)參數(shù),并且可以被配置為指定一個(gè)或多個(gè)圖形或顯示處理操作用于對內(nèi)容流執(zhí)行,如上面通常描述的。此時(shí),所述方法可以進(jìn)行到框417并結(jié)束。替代地,所述方法可以循環(huán)回框403、405或407并且重復(fù),直到內(nèi)容流或方法終止。
為了進(jìn)一步解釋前述概念,參考圖5,其描繪了符合一個(gè)示例性實(shí)施例的上下文感知的內(nèi)容流式傳送系統(tǒng)的各種部件之間的消息傳送流的一個(gè)例子。如圖所示,流程500開始于點(diǎn)501,其中上下文邏輯模塊可以例如從一個(gè)或多個(gè)傳感器或另一源收集上下文信息。在這一實(shí)施例中,在點(diǎn)502處,自適應(yīng)媒體播放器邏輯(例如,自適應(yīng)邏輯模塊210),或者更一般的是客戶端設(shè)備(例如,301)的媒體播放器(例如,mpm206),可以將第一內(nèi)容請求消息(crm1)傳輸?shù)矫襟w服務(wù)器(例如,服務(wù)器103)。第一內(nèi)容請求的傳輸可以例如響應(yīng)于用戶選擇(例如,經(jīng)由圖形用戶接口)在媒體服務(wù)器上可用于流式傳送的內(nèi)容。
crm1可以例如包括內(nèi)容標(biāo)識符和第一流式傳送參數(shù),其中第一流式傳送參數(shù)向媒體服務(wù)器通知由媒體播放器請求的流的特性。第一流式傳送參數(shù)可以例如由媒體播放器自適應(yīng)邏輯設(shè)置,和/或它們可以是由討論中的媒體播放器的制造商指定的默認(rèn)值。替代地,在其中開始內(nèi)容流之前應(yīng)用上下文修改的實(shí)例中,可以由自適應(yīng)邏輯模塊至少部分地基于上下文網(wǎng)絡(luò)狀況來確定第一流參數(shù),如上面通常解釋的和在下文進(jìn)一步解釋的。
媒體服務(wù)器可以通過開始在其和客戶端設(shè)備之間的內(nèi)容流而對crm1做出響應(yīng),如圖5的點(diǎn)503所示。如圖5所示,在這一點(diǎn)處的內(nèi)容流可以具有在crm1中指定的第一流參數(shù)。
在點(diǎn)504處,上下文邏輯模塊可以檢測媒體服務(wù)器提供的內(nèi)容流,并且至少部分地基于依照點(diǎn)501獲得的上下文信息來確定上下文網(wǎng)絡(luò)參數(shù)(cnp)。已經(jīng)在前面描述了由上下文邏輯模塊確定cnp的方式,因此不再重復(fù)。
在點(diǎn)505處,上下文邏輯模塊可以將包括上下文網(wǎng)絡(luò)參數(shù)(cnp)的上下文控制消息(ccm)傳輸?shù)娇蛻舳嗽O(shè)備上的自適應(yīng)媒體播放器的網(wǎng)絡(luò)堆棧。如上所述,ccm可以被配置為使得自適應(yīng)媒體播放器的網(wǎng)絡(luò)堆棧向媒體播放器自適應(yīng)邏輯報(bào)告上下文網(wǎng)絡(luò)參數(shù)。這一概念由點(diǎn)506和507示出,其示出了媒體播放器自適應(yīng)邏輯可以針對網(wǎng)絡(luò)參數(shù)/狀況來查詢網(wǎng)絡(luò)堆棧,并且作為響應(yīng),網(wǎng)絡(luò)堆棧可以報(bào)告在上下文控制消息中提供的上下文網(wǎng)絡(luò)參數(shù)。
在點(diǎn)508處,媒體播放器自適應(yīng)邏輯可以評估上下文網(wǎng)絡(luò)參數(shù)(代替實(shí)際的網(wǎng)絡(luò)條件)并且可選地評估緩沖器的狀態(tài),并確定對由媒體服務(wù)器提供的內(nèi)容流的流參數(shù)的調(diào)整是否是期望的。在這一例子中,調(diào)整是期望的,并且因此點(diǎn)508描繪了其中媒體播放器自適應(yīng)邏輯使得第二內(nèi)容請求消息(crm2)傳輸?shù)矫襟w服務(wù)器的場景。符合前述討論,crm2可以包括通過媒體播放器自適應(yīng)邏輯對上下文網(wǎng)絡(luò)參數(shù)的操作而導(dǎo)出的上下文流參數(shù),而不是在客戶端和媒體服務(wù)器之間的實(shí)際網(wǎng)絡(luò)連接的參數(shù)。
如點(diǎn)509處所示,媒體服務(wù)器可以調(diào)整內(nèi)容流的流參數(shù),使得它們符合在crm2中接收到的上下文流參數(shù)。通過例子,上下文流參數(shù)可以使得媒體服務(wù)器對crm2做出響應(yīng)來改變內(nèi)容流的質(zhì)量(例如,比特率),使得所述流的質(zhì)量與對crm1做出響應(yīng)而提供的流的質(zhì)量不同。
注意到,圖5示出了消息傳送流程的一個(gè)例子,其中在開始內(nèi)容流之后將上下文控制消息提供給媒體播放器模塊的網(wǎng)絡(luò)堆棧。應(yīng)該理解的是,這一例子不是限制性的,并且可以在任何時(shí)候?qū)⒎媳竟_的上下文控制消息傳輸?shù)骄W(wǎng)絡(luò)堆棧,包括在從媒體服務(wù)器開始內(nèi)容流之前。
現(xiàn)在參考圖6,其描繪了符合另一示例性實(shí)施例的另一上下文感知的內(nèi)容流式傳送系統(tǒng)的各個(gè)部件之間的消息傳送流的一個(gè)例子。如圖所示,流600開始于點(diǎn)601,其中上下文邏輯模塊可以例如從一個(gè)或多個(gè)傳感器或另一源收集上下文信息。在這一實(shí)施例中,在點(diǎn)602處,自適應(yīng)媒體播放器邏輯(例如,自適應(yīng)邏輯模塊210)或,更通常的是客戶端設(shè)備(例如,301)的媒體播放器(例如,mpm206)可以將內(nèi)容請求消息傳輸?shù)矫襟w服務(wù)器(例如,服務(wù)器103)。內(nèi)容請求的傳輸可以是例如對用戶選擇(例如,經(jīng)由圖形用戶接口)在媒體服務(wù)器上可用于流式傳送的內(nèi)容做出的響應(yīng)。如圖所示在點(diǎn)603處,媒體服務(wù)器可以通過將內(nèi)容流傳輸?shù)娇蛻舳?01或更具體地傳輸?shù)狡涿襟w播放器模塊(或自適應(yīng)邏輯)來對所述內(nèi)容請求消息做出響應(yīng)。
在點(diǎn)604處,上下文邏輯模塊可以檢測來自媒體服務(wù)器的內(nèi)容流的開始和/或接收,并至少部分地基于依照點(diǎn)601獲得的上下文信息來確定上下文消費(fèi)參數(shù)(ccp)。已經(jīng)在前面描述了由上下文邏輯模塊確定ccp的方式,并且因此不再重復(fù)。
在點(diǎn)605處,上下文邏輯模塊可以將包括上下文消費(fèi)參數(shù)(ccp)的上下文控制消息(ccm)傳輸?shù)娇蛻舳嗽O(shè)備的視聽管線(或其部件)。如上所述,ccm可以被配置為配置視聽管線(或其部件)以根據(jù)其中指定的上下文消費(fèi)參數(shù)來處理在接收到的內(nèi)容流中的內(nèi)容。這一概念由點(diǎn)606和607示出,其中示出了媒體播放器模塊(或更具體地,其自適應(yīng)邏輯)可以使得內(nèi)容流的內(nèi)容傳輸?shù)娇蛻舳说囊暵牴芫€,之后視聽管線(或其部件)可以根據(jù)上下文消費(fèi)參數(shù)來處理該內(nèi)容。
例子
后續(xù)例子枚舉了符合本公開的額外示例性實(shí)施例。
例子1-根據(jù)這一例子,提供一種上下文感知的媒體流式傳送系統(tǒng),包括:客戶端設(shè)備,其包括處理器、存儲器、媒體播放器模塊、上下文邏輯模塊、以及一個(gè)或多個(gè)傳感器,所述媒體播放器模塊包括自適應(yīng)邏輯和網(wǎng)絡(luò)堆棧,其中:所述上下文邏輯模塊用于至少部分地從一個(gè)或多個(gè)傳感器收集上下文信息,至少部分地基于所述上下文信息來確定上下文網(wǎng)絡(luò)參數(shù),并且使得第一上下文控制消息傳輸?shù)骄W(wǎng)絡(luò)堆棧;所述第一上下文控制消息使得所述網(wǎng)絡(luò)堆棧向自適應(yīng)邏輯報(bào)告所述上下文網(wǎng)絡(luò)參數(shù);并且對接收到所述上下文網(wǎng)絡(luò)參數(shù)做出響應(yīng),所述自適應(yīng)邏輯至少部分地基于所述上下文網(wǎng)絡(luò)參數(shù)來確定針對將被從服務(wù)器提供的內(nèi)容流的上下文流式傳送參數(shù)。
例子2-這一例子包括例子1的任意或所有特征,其中,所述第一上下文控制消息使得所述網(wǎng)絡(luò)堆棧向自適應(yīng)邏輯報(bào)告上下文網(wǎng)絡(luò)因素,代替在客戶端設(shè)備和服務(wù)器之間的實(shí)際網(wǎng)絡(luò)連接的參數(shù)。
例子3-這一例子包括例子1的任意或所有特征,其中,對接收到所述上下文網(wǎng)絡(luò)參數(shù)做出響應(yīng),所述自適應(yīng)邏輯還使得客戶端設(shè)備將包括上下文流式傳送參數(shù)的媒體請求消息傳輸?shù)椒?wù)器,所述媒體請求消息被配置為使得所述服務(wù)器根據(jù)所述上下文流式傳送參數(shù)來將所述內(nèi)容流傳輸?shù)剿隹蛻舳恕?/p>
例子4-這一例子包括例子1-4中任一項(xiàng)的任意或所有特征,其中,所述上下文流式傳送參數(shù)指定所述內(nèi)容流中的內(nèi)容的比特率。
例子5-這一例子包括例子1-5中任一項(xiàng)的任意或所有特征,其中,所述上下文信息包括以下中的至少一個(gè):用戶身份、用戶偏好、客戶端設(shè)備的位置、客戶端設(shè)備的運(yùn)動(dòng)、生物信息、環(huán)境噪聲、環(huán)境光、處理器的工作負(fù)荷、客戶端設(shè)備的電池水平、客戶端設(shè)備的顯示類型、客戶端設(shè)備的顯示器的分辨率、或外部顯示器的分辨率。
例子6-這一例子包括例子1-6中任一項(xiàng)的任意或所有特征,其中,至少一個(gè)傳感器包括一個(gè)或多個(gè)物理傳感器、虛擬傳感器、或其組合。
例子7-這一例子包括例子6的任意或所有特征,其中,至少一個(gè)傳感器包括一個(gè)或多個(gè)物理傳感器,該物理傳感器從包括以下項(xiàng)目的組中選擇:攝像機(jī)、位置傳感器、光傳感器、麥克風(fēng)、生物掃描儀、運(yùn)動(dòng)傳感器、及其組合。
例子8-這一例子包括例子6的任意或所有特征,其中至少一個(gè)傳感器包括一個(gè)或多個(gè)虛擬傳感器,該虛擬傳感器從包括以下項(xiàng)目的組中選擇:電池水平傳感器、網(wǎng)絡(luò)狀態(tài)傳感器、處理器工作負(fù)荷傳感器、及其組合。
例子9-這一例子包括例子1-8中任一項(xiàng)的任意或所有特征,其中:對檢測到來自服務(wù)器的具有第一流式傳送參數(shù)的內(nèi)容流做出響應(yīng),所述上下文邏輯模塊使得第一上下文控制信號傳輸?shù)骄W(wǎng)絡(luò)堆棧,以便使得所述網(wǎng)絡(luò)堆棧向自適應(yīng)邏輯報(bào)告所述上下文網(wǎng)絡(luò)參數(shù);并且所述媒體請求消息被配置為使得所述服務(wù)器根據(jù)所述上下文流式傳送參數(shù)將所述內(nèi)容流傳輸?shù)娇蛻舳恕?/p>
例子10-這一例子包括例子9的任意或所有特征,其中,具有第一流式傳送參數(shù)的內(nèi)容流中的內(nèi)容的比特率與在根據(jù)上下文流式傳送參數(shù)傳輸?shù)膬?nèi)容流中的內(nèi)容的比特率不同。
例子11-這一例子包括例子1-10中任一項(xiàng)的任意或所有特征,其中,所述媒體播放器模塊還包括緩沖器,并且所述自適應(yīng)邏輯至少部分地基于所述上下文網(wǎng)絡(luò)參數(shù)和所述緩沖器的緩沖器水平來確定所述上下文流式傳送參數(shù)。
例子12-這一例子包括例子11的任意或所有特征,其中,所述上下文流式傳送參數(shù)包括在所述內(nèi)容流中的內(nèi)容的比特率,并且所述自適應(yīng)邏輯用于至少部分地基于所述上下文網(wǎng)絡(luò)參數(shù)和所述緩沖器水平來調(diào)整比特率。
例子13-這一例子包括例子12的任意或所有特征,其中:當(dāng)自適應(yīng)邏輯還至少部分地基于所述上下文網(wǎng)絡(luò)參數(shù)來確定緩沖器水平是否保持滿或所述緩沖器是否將挨餓時(shí),所述上下文流式傳送參數(shù)被配置為使得所述服務(wù)器傳輸在內(nèi)容流中相對低比特率的內(nèi)容;以及當(dāng)所述自適應(yīng)邏輯至少部分地基于所述上下文網(wǎng)絡(luò)參數(shù)來確定所述緩沖器可以保持滿時(shí),所述上下文流式傳送參數(shù)被配置為使得所述服務(wù)器傳輸在內(nèi)容流中相對高比特率的內(nèi)容。
例子14-這一例子包括例子1-13中任一項(xiàng)的任意或所有特征,還包括視聽管線,用于處理接收到的內(nèi)容流用于消費(fèi),其中:所述上下文邏輯模塊還至少部分地基于所述上下文信息來確定上下文消費(fèi)參數(shù),并使得第二上下文控制消息傳輸?shù)剿鲆暵牴芫€;以及對接收到所述第二上下文控制消息做出響應(yīng),所述視聽管線根據(jù)所述上下文消費(fèi)參數(shù)來處理所述接收到的內(nèi)容流的內(nèi)容。
例子15-這一例子包括例子14的任意或所有特征,其中,所述視聽管線包括圖形堆棧,并且所述上下文消費(fèi)參數(shù)被配置為使得所述圖形堆棧對接收到的內(nèi)容流的內(nèi)容執(zhí)行后處理操作。
例子16-這一例子包括例子15的任意或所有特征,其中,所述后處理操作包括以下中的至少一個(gè):亮度調(diào)整操作、對比度調(diào)整操作、以及色彩增強(qiáng)操作。
例子17-這一例子包括例子15的任意或所有特征,其中,所述上下文消費(fèi)參數(shù)被配置為使得所述視聽管線對接收到的內(nèi)容流的內(nèi)容執(zhí)行以下操作中的至少一個(gè):解碼操作、編碼操作、或轉(zhuǎn)碼操作。
例子18-這一例子包括例子14的任意或所有特征,其中,所述視聽管線包括顯示堆棧,并且所述上下文消費(fèi)參數(shù)被配置為使得所述顯示堆棧對接收到的內(nèi)容流的內(nèi)容執(zhí)行渲染操作和縮放操作中的至少一個(gè)。
例子19-這一例子包括例子14的任意或所有特征,其中:所述媒體播放器模塊將接收到的內(nèi)容流的內(nèi)容提供給視聽管線以根據(jù)第一消費(fèi)參數(shù)進(jìn)行處理;并且所述上下文消費(fèi)參數(shù)與所述第一消費(fèi)參數(shù)不同。
例子20-根據(jù)這一例子,提供一種用于執(zhí)行上下文感知的媒體流式傳送的方法,包括:至少部分地根據(jù)客戶端設(shè)備的至少一個(gè)傳感器的上下文信息來確定上下文網(wǎng)絡(luò)參數(shù);并且至少部分地基于所述上下文網(wǎng)絡(luò)參數(shù),確定內(nèi)容流的上下文流式傳送參數(shù),所述內(nèi)容流被從服務(wù)器提供到所述客戶端設(shè)備。
例子21-這一例子包括例子20的任意或所有特征,其中,所述方法還包括將第一上下文控制消息傳輸?shù)剿隹蛻舳嗽O(shè)備上的媒體播放器的網(wǎng)絡(luò)堆棧,其中:所述第一上下文控制消息使得所述網(wǎng)絡(luò)堆棧向所述媒體播放器的自適應(yīng)邏輯報(bào)告所述上下文網(wǎng)絡(luò)參數(shù),以便使得所述自適應(yīng)邏輯確定所述上下文流式傳送參數(shù)。
例子22-這一例子包括例子20和21中任一項(xiàng)的任意或所有特征,其中,所述上下文網(wǎng)絡(luò)參數(shù)與在客戶端設(shè)備和服務(wù)器之間的實(shí)際網(wǎng)絡(luò)連接的參數(shù)相同或不同。
例子23-這一例子包括例子20到22中任一項(xiàng)的任意或所有特征,其中,所述上下文網(wǎng)絡(luò)參數(shù)與實(shí)際網(wǎng)絡(luò)連接的參數(shù)不同。
例子24-這一例子包括例子21的任意或所有特征,還包括將媒體請求消息傳輸給服務(wù)器,所述媒體請求消息被配置為使得所述服務(wù)器根據(jù)上下文流式傳送參數(shù)來傳輸內(nèi)容流。
例子25-這一例子包括例子20到24中任一項(xiàng)的任意或所有特征,所述上下文流式傳送參數(shù)指定所述內(nèi)容流中的內(nèi)容的比特率。
例子26-這一例子包括例子20-25中任一項(xiàng)的任意或所有特征,其中,所述上下文信息包括以下中的至少一個(gè):用戶身份、用戶偏好、客戶端設(shè)備的位置、客戶端設(shè)備的運(yùn)動(dòng)、生物信息、環(huán)境噪聲、環(huán)境光、處理器的工作負(fù)荷、客戶端設(shè)備的電池水平、客戶端設(shè)備的顯示類型、客戶端設(shè)備的顯示器的分辨率、或外部顯示器的分辨率。
例子27-這一例子包括例子20-26中任一項(xiàng)的任意或所有特征,其中,至少一個(gè)傳感器包括一個(gè)或多個(gè)物理傳感器、虛擬傳感器、或其組合。
例子28-這一例子包括例子20-27中任一項(xiàng)的任意或所有特征,其中,至少一個(gè)傳感器包括一個(gè)或多個(gè)物理傳感器,該物理傳感器從包括以下項(xiàng)目的組中選擇:攝像機(jī)、位置傳感器、光傳感器、麥克風(fēng)、生物掃描儀、運(yùn)動(dòng)傳感器、及其組合。
例子29-這一例子包括例子20-28中任一項(xiàng)的任意或所有特征,其中至少一個(gè)傳感器包括一個(gè)或多個(gè)虛擬傳感器,該虛擬傳感器從包括以下項(xiàng)目的組中選擇:電池水平傳6感器、網(wǎng)絡(luò)狀態(tài)傳感器、處理器工作負(fù)荷傳感器、及其組合。
例子30-這一例子包括例子21的任意或所有特征,其中:對從服務(wù)器接收到具有第一流式傳送參數(shù)的內(nèi)容流做出相應(yīng),傳輸所述第一上下文控制消息。
例子31-這一例子包括例子30的任意或所有特征,其中,具有所述第一流式傳送參數(shù)的內(nèi)容流中的內(nèi)容的比特率與在根據(jù)所述上下文流式傳送參數(shù)的內(nèi)容流中的內(nèi)容的比特率不同。
例子32-這一例子包括例子21的任意或所有特征,其中,所述媒體播放器模塊包括緩沖器,并且至少部分地基于所述上下文網(wǎng)絡(luò)參數(shù)和所述緩沖器的緩沖器水平來確定所述上下文流式傳送參數(shù)。
例子33-這一例子包括例子32的任意或所有特征,其中,所述上下文流式傳送參數(shù)包括在所述內(nèi)容流中的內(nèi)容的比特率,并且所述方法還包括至少部分地基于所述上下文網(wǎng)絡(luò)參數(shù)和所述緩沖器水平來調(diào)整比特率。
例子34-這一例子包括例子33的任意或所有特征,其中,所述方法還包括:至少部分地基于所述上下文網(wǎng)絡(luò)參數(shù)來確定緩沖器水平是否將保持滿或這所述緩沖器是否將挨餓;當(dāng)確定所述緩沖器將挨餓時(shí),所述方法還包括配置所述上下文流式傳送參數(shù)以使得所述服務(wù)器傳輸在所述內(nèi)容流中相對低比特率的內(nèi)容;以及當(dāng)確定所述緩沖器水平將保持滿時(shí),所述方法還包括配置所述上下文流式傳送參數(shù)以使得所述服務(wù)器傳輸在所述內(nèi)容流中相對高比特率的內(nèi)容。
例子35-這一例子包括例子20-34中任一項(xiàng)的任意或所有特征,其中所述客戶端設(shè)備還包括視聽管線,用于處理接收到的內(nèi)容流用于消費(fèi),并且所述方法還包括:至少部分地基于所述上下文信息來確定上下文消費(fèi)參數(shù);并使得所述視聽管線根據(jù)所述上下文消費(fèi)參數(shù)來處理接收到的內(nèi)容流。
例子36-這一例子包括例子35的任意或所有特征,其中,使得所述視聽管線根據(jù)所述上下文消費(fèi)參數(shù)來處理接收到的內(nèi)容流包括:將第二上下文控制消息傳輸?shù)剿鲆暵牴芫€,其中所述第二上下文控制消息被配置為使得所述視聽管線根據(jù)所述上下文消費(fèi)參數(shù)來處理接收到的內(nèi)容流。
例子37-這一例子包括例子36的任意或所有特征,其中,所述視聽管線包括圖形堆棧,并且所述上下文消費(fèi)參數(shù)被配置為使得所述圖形堆棧對接收到的內(nèi)容流的內(nèi)容執(zhí)行后處理操作。
例子38-這一例子包括例子37的任意或所有特征,其中,所述后處理操作包括以下操作中的至少一個(gè):亮度調(diào)整操作、對比度調(diào)整操作、以及色彩增強(qiáng)操作。
例子39-這一例子包括例子37的任意或所有特征,其中,所述上下文消費(fèi)參數(shù)被配置為使得所述圖形堆棧對接收到的內(nèi)容流中的內(nèi)容執(zhí)行以下操作中的至少一個(gè):解碼操作、編碼操作、或轉(zhuǎn)碼操作。
例子40-這一例子包括例子36的任意或所有特征,其中,所述視聽管線包括顯示堆棧,并且所述上下文消費(fèi)參數(shù)被配置為使得所述顯示堆棧對接收到的內(nèi)容流的內(nèi)容執(zhí)行渲染操作和縮放操作中的至少一個(gè)。
例子41-這一例子包括例子37的任意或所有特征,其中:所述客戶端設(shè)備還包括媒體播放器,用于將接收到的內(nèi)容流的內(nèi)容提供給所述視聽管線以根據(jù)第一消費(fèi)參數(shù)進(jìn)行處理;并且所述上下文消費(fèi)參數(shù)與所述第一消費(fèi)參數(shù)不同。
例子42-根據(jù)這一例子,提供了至少一種計(jì)算機(jī)可讀介質(zhì),其包括用于執(zhí)行上下文感知的媒體流式傳送的指令,其中所述指令在被客戶端設(shè)備的處理器執(zhí)行時(shí)使得所述客戶端設(shè)備執(zhí)行包括以下的后續(xù)操作:至少部分地根據(jù)客戶端設(shè)備的至少一個(gè)傳感器的上下文信息來確定上下文網(wǎng)絡(luò)參數(shù);以及至少部分地基于所述上下文網(wǎng)絡(luò)參數(shù),確定內(nèi)容流的上下文流式傳送參數(shù),所述內(nèi)容流被從服務(wù)器提供到所述客戶端設(shè)備。
例子43-這一例子包括例子42的任意或所有特征,其中,所述指令在被執(zhí)行時(shí)還使得所述客戶端設(shè)備執(zhí)行包括以下的后續(xù)操作:將第一上下文控制消息傳輸?shù)剿隹蛻舳嗽O(shè)備上的媒體播放器的網(wǎng)絡(luò)堆棧,其中,所述第一上下文控制消息使得所述網(wǎng)絡(luò)堆棧向所述媒體播放器的自適應(yīng)邏輯報(bào)告所述上下文網(wǎng)絡(luò)參數(shù),以便使得所述自適應(yīng)邏輯確定所述上下文流式傳送參數(shù)。
例子44-這一例子包括例子42和43中任一項(xiàng)的任意或所有特征,其中,所述上下文網(wǎng)絡(luò)參數(shù)與在客戶端設(shè)備和服務(wù)器之間的實(shí)際網(wǎng)絡(luò)連接的參數(shù)相同或不同。
例子45-這一例子包括例子44的任意或所有特征,其中,所述上下文網(wǎng)絡(luò)參數(shù)與實(shí)際網(wǎng)絡(luò)連接的參數(shù)不同。
例子46-這一例子包括例子42-45中任一項(xiàng)的任意或所有特征,其中,所述指令在被執(zhí)行時(shí)還使得所述客戶端設(shè)備執(zhí)行包括以下的后續(xù)操作:將媒體請求消息傳輸給服務(wù)器,所述媒體請求消息被配置為使得所述服務(wù)器根據(jù)所述上下文流式傳送參數(shù)來傳輸內(nèi)容流。
例子47-這一例子包括例子42-46中任一項(xiàng)的任意或所有特征,其中,所述上下文流式傳送參數(shù)指定所述內(nèi)容流中的內(nèi)容的比特率。
例子48-這一例子包括例子42-47中任一項(xiàng)的任意或所有特征,其中,所述上下文信息包括以下中的至少一個(gè):用戶身份、用戶偏好、客戶端設(shè)備的位置、客戶端設(shè)備的運(yùn)動(dòng)、生物信息、環(huán)境噪聲、環(huán)境光、處理器的工作負(fù)荷、客戶端設(shè)備的電池水平、客戶端設(shè)備的顯示類型、客戶端設(shè)備的顯示器的分辨率、或外部顯示器的分辨率。
例子49-這一例子包括例子42-48中任一項(xiàng)的任意或所有特征,其中,至少一個(gè)傳感器包括一個(gè)或多個(gè)物理傳感器、虛擬傳感器、或其組合。
例子50-這一例子包括例子49的任意或所有特征,其中,至少一個(gè)傳感器包括一個(gè)或多個(gè)物理傳感器,該物理傳感器從包括以下項(xiàng)目的組中選擇:攝像機(jī)、位置傳感器、光傳感器、麥克風(fēng)、生物掃描儀、運(yùn)動(dòng)傳感器、及其組合。
例子51-這一例子包括例子49的任意或所有特征,其中,至少一個(gè)傳感器包括一個(gè)或多個(gè)虛擬傳感器,該虛擬傳感器從包括以下項(xiàng)目的組中選擇:電池水平傳感器、網(wǎng)絡(luò)狀態(tài)傳感器、處理器工作負(fù)荷傳感器、及其組合。
例子52-這一例子包括例子43的任意或所有特征,其中:對從服務(wù)器接收到具有第一流式傳送參數(shù)的內(nèi)容流做出響應(yīng),傳輸所述第一上下文控制消息。
例子53-這一例子包括例子52的任意或所有特征,其中,具有所述第一流式傳送參數(shù)的內(nèi)容流中的內(nèi)容的比特率與在根據(jù)上下文流式傳送參數(shù)的內(nèi)容流中的內(nèi)容的比特率不同。
例子54-這一例子包括例子43的任意或所有特征,其中,所述媒體播放器包括緩沖器,并且所述指令在被執(zhí)行時(shí)還使得所述客戶端設(shè)備執(zhí)行包括以下的后續(xù)操作:至少部分地基于所述上下文網(wǎng)絡(luò)參數(shù)和所述緩沖器的緩沖器水平來確定所述上下文流式傳送參數(shù)。
例子55-這一例子包括例子54的任意或所有特征,其中,所述上下文流式傳送參數(shù)包括在所述內(nèi)容流中的內(nèi)容的比特率,并且所述指令在被執(zhí)行時(shí)還使得所述客戶端設(shè)備執(zhí)行包括以下的后續(xù)操作:至少部分地基于所述上下文網(wǎng)絡(luò)參數(shù)和所述緩沖器水平來調(diào)整所述比特率。
例子56-這一例子包括例子54和55中任一項(xiàng)的任意或所有特征,其中,所述指令在被執(zhí)行時(shí)還使得所述客戶端設(shè)備執(zhí)行包括以下的后續(xù)操作:至少部分地基于所述上下文網(wǎng)絡(luò)參數(shù)來確定緩沖器水平是否將保持滿或者所述緩沖器是否將挨餓;當(dāng)確定所述緩沖器將挨餓時(shí),所述上下文流式傳送參數(shù)使得所述服務(wù)器傳輸在內(nèi)容流中相對低比特率的內(nèi)容;以及當(dāng)確定所述緩沖器水平將保持滿時(shí),所述上下文流式傳送參數(shù)使得所述服務(wù)器傳輸在內(nèi)容流中相對高比特率的內(nèi)容。
例子57-這一例子包括例子42-56中任一項(xiàng)的任意或所有特征,其中所述客戶端設(shè)備還包括視聽管線,用于處理接收到的內(nèi)容流用于消費(fèi),并且所述指令在被執(zhí)行時(shí)還使得所述客戶端設(shè)備執(zhí)行包括以下的后續(xù)操作:至少部分地基于所述上下文信息來確定上下文消費(fèi)參數(shù);并使得所述視聽管線根據(jù)所述上下文消費(fèi)參數(shù)來處理接收到的內(nèi)容流。
例子58-這一例子包括例子57的任意或所有特征,其中,使得所述視聽管線根據(jù)所述上下文消費(fèi)參數(shù)來處理接收到的內(nèi)容流包括:將第二上下文控制消息傳輸?shù)剿鲆暵牴芫€,其中,所述第二上下文控制消息被配置為使得所述視聽管線根據(jù)所述上下文消費(fèi)參數(shù)來處理接收到的內(nèi)容流。
例子59-這一例子包括例子58的任意或所有特征,其中,所述視聽管線包括圖形堆棧,并且所述上下文消費(fèi)參數(shù)被配置為使得所述圖形堆棧對接收到的內(nèi)容流的內(nèi)容執(zhí)行后處理操作。
例子60-這一例子包括例子59的任意或所有特征,其中,所述后處理操作包括以下操作中的至少一個(gè):亮度調(diào)整操作、對比度調(diào)整操作、以及色彩增強(qiáng)操作。
例子61-這一例子包括例子59的任意或所有特征,其中,所述上下文消費(fèi)參數(shù)被配置為使得所述圖形堆棧對接收到的內(nèi)容流的內(nèi)容執(zhí)行以下操作中的至少一個(gè):解碼操作、編碼操作、或轉(zhuǎn)碼操作。
例子62-這一例子包括例子58的任意或所有特征,其中,所述視聽管線包括顯示堆棧,并且所述上下文消費(fèi)參數(shù)被配置為使得所述顯示堆棧對接收到的內(nèi)容流的內(nèi)容執(zhí)行渲染操作和縮放操作中的至少一個(gè)。
例子63-這一例子包括例子59的任意或所有特征,其中:所述客戶端設(shè)備還包括媒體播放器,用于將接收到的內(nèi)容流的內(nèi)容提供給所述視聽管線以根據(jù)第一消費(fèi)參數(shù)進(jìn)行處理;并且所述上下文消費(fèi)參數(shù)與所述第一消費(fèi)參數(shù)不同。
例子64-根據(jù)這一例子,提供了至少一種包括指令的計(jì)算機(jī)可讀介質(zhì),當(dāng)被客戶端設(shè)備的處理器執(zhí)行時(shí),所述指令使得所述客戶端設(shè)備執(zhí)行例子20-41中任一項(xiàng)的方法。
本文采用的術(shù)語和表達(dá)用作描述的術(shù)語而非限制,并且在使用這樣的術(shù)語和表達(dá)時(shí)并不意在排除所示出和所描述的特征(或其部分)的任意等同物,并且可以認(rèn)識到在權(quán)利要求范圍內(nèi)的各種修改是能夠的。因此,權(quán)利要求意在覆蓋所有這樣的等同物。