背景技術(shù):
對(duì)于計(jì)算設(shè)備的用戶(hù)可用的功能性日益增長(zhǎng)。這種增長(zhǎng)的一個(gè)示例是由設(shè)備消費(fèi)和輸出視頻的能力。為了支持視頻的傳輸和存儲(chǔ),視頻經(jīng)常被壓縮,這可以使用諸如h.264/avc和hevc/h.265之類(lèi)的各種不同的壓縮標(biāo)準(zhǔn)(例如,編解碼器)來(lái)執(zhí)行。已加密數(shù)據(jù)流的安全解碼可以由代表消費(fèi)應(yīng)用執(zhí)行解密的解碼器來(lái)完成。
一般地,解碼器可以為消費(fèi)應(yīng)用提供至少一些設(shè)立信息,所述信息使得消費(fèi)應(yīng)用能夠設(shè)立用于數(shù)據(jù)流和直接操作解碼器和/或圖形處理系統(tǒng)的處理流水線以便解碼數(shù)據(jù)流。設(shè)立信息可以以明文(intheclear)包括受保護(hù)內(nèi)容的已解碼部分。這產(chǎn)生個(gè)人和惡意應(yīng)用可以不當(dāng)使用設(shè)立信息機(jī)制來(lái)收集流的已解碼部分、重建數(shù)據(jù)流和分發(fā)盜版內(nèi)容的安全性風(fēng)險(xiǎn)。因此,常規(guī)解碼技術(shù)的使用可能具有明顯的安全性隱患。
技術(shù)實(shí)現(xiàn)要素:
本文中描述了有損數(shù)據(jù)流解碼器技術(shù)。在一個(gè)或多個(gè)實(shí)現(xiàn)方式中,已加密內(nèi)容的數(shù)據(jù)流可以在具有被設(shè)計(jì)成處理內(nèi)容解碼的安全解碼器的計(jì)算設(shè)備處被消費(fèi)。響應(yīng)于來(lái)自操作系統(tǒng)(os)或其他消費(fèi)應(yīng)用的對(duì)于已解碼內(nèi)容的請(qǐng)求,解碼器可以操作來(lái)解析對(duì)應(yīng)于請(qǐng)求的頭部以便驗(yàn)證頭部并確定包括在相關(guān)聯(lián)數(shù)據(jù)分組中的數(shù)據(jù)的類(lèi)型。數(shù)據(jù)的被認(rèn)為與請(qǐng)求有關(guān)的各部分基于所述解析而被標(biāo)識(shí),并且解碼器執(zhí)行有損提取以形成不完整數(shù)據(jù),不完整數(shù)據(jù)然后響應(yīng)于所述請(qǐng)求而被提供。
例如,有損提取可以提取和解碼對(duì)應(yīng)于有關(guān)部分的位,而不包括與無(wú)關(guān)部分相關(guān)聯(lián)的其他位。解碼器可以包括解析器,其執(zhí)行驗(yàn)證以使請(qǐng)求匹配于被認(rèn)為足以滿(mǎn)足請(qǐng)求的數(shù)據(jù)子集、配置響應(yīng)以提供該數(shù)據(jù)子集、以及保留其他數(shù)據(jù)。這樣,消費(fèi)應(yīng)用獲得足以執(zhí)行特定操作(諸如圖形處理設(shè)立)的數(shù)據(jù),并且同時(shí)減輕了盜版風(fēng)險(xiǎn),因?yàn)橄M(fèi)應(yīng)用不能以明文得到數(shù)據(jù)的完整版本。
本發(fā)明內(nèi)容被提供來(lái)以簡(jiǎn)化形式介紹下面在具體實(shí)施方式中進(jìn)一步描述的概念的選擇。本發(fā)明內(nèi)容不意圖標(biāo)識(shí)要求保護(hù)的主題的關(guān)鍵特征或必要特征,其也不意圖用于限制要求保護(hù)的主題的范圍。
附圖說(shuō)明
圖1圖示了依照一個(gè)或多個(gè)實(shí)現(xiàn)方式的示例操作環(huán)境。
圖2是描繪可以利用依照一個(gè)或多個(gè)實(shí)現(xiàn)方式的計(jì)算設(shè)備提供的解碼器的示例細(xì)節(jié)的圖。
圖3是描述依照一個(gè)或多個(gè)實(shí)現(xiàn)方式的用于處理數(shù)據(jù)流的示例過(guò)程的細(xì)節(jié)的流程圖。
圖4是描述依照一個(gè)或多個(gè)實(shí)現(xiàn)方式的用于向數(shù)據(jù)流應(yīng)用有損提取的示例過(guò)程的細(xì)節(jié)的流程圖。
圖5是依照一個(gè)或多個(gè)實(shí)現(xiàn)方式的可以用于有損數(shù)據(jù)流解碼的系統(tǒng)的框圖。
具體實(shí)施方式
綜述
常規(guī)解碼技術(shù)可能具有明顯的安全性隱患,因?yàn)樘峁┙o應(yīng)用的圖形處理設(shè)立、圖片管理和資源管理信息可以以明文包括受保護(hù)內(nèi)容的已解碼部分。個(gè)人和惡意應(yīng)用可以不當(dāng)使用設(shè)立信息來(lái)收集流的不同已解碼部分、重建完整的數(shù)據(jù)流以及分發(fā)盜版內(nèi)容。
本文中描述了有損數(shù)據(jù)流解碼器技術(shù)。在一個(gè)或多個(gè)實(shí)現(xiàn)方式中,已加密內(nèi)容的數(shù)據(jù)流可以在具有被設(shè)計(jì)成處理內(nèi)容解碼的安全解碼器的計(jì)算設(shè)備處被消費(fèi)。響應(yīng)于來(lái)自操作系統(tǒng)(os)或其他消費(fèi)應(yīng)用的對(duì)于已解碼內(nèi)容的請(qǐng)求,解碼器可以操作來(lái)解析對(duì)應(yīng)于請(qǐng)求的頭部以便驗(yàn)證頭部并確定包括在相關(guān)聯(lián)數(shù)據(jù)分組中的數(shù)據(jù)的類(lèi)型。數(shù)據(jù)的被認(rèn)為與請(qǐng)求有關(guān)的各部分基于所述解析而被標(biāo)識(shí),并且解碼器執(zhí)行有損提取以形成不完整數(shù)據(jù),不完整數(shù)據(jù)響應(yīng)于所述請(qǐng)求而被提供。
例如,有損提取可以提取和解碼對(duì)應(yīng)于有關(guān)部分的位,而不包括與無(wú)關(guān)部分相關(guān)聯(lián)的其他位。解碼器執(zhí)行驗(yàn)證以使請(qǐng)求匹配于被認(rèn)為足以滿(mǎn)足請(qǐng)求的數(shù)據(jù)子集、配置響應(yīng)以提供該數(shù)據(jù)子集、以及保留其他數(shù)據(jù)。這樣,消費(fèi)應(yīng)用獲得足以執(zhí)行特定操作(諸如圖形處理設(shè)立)的數(shù)據(jù),并且同時(shí)減輕了盜版風(fēng)險(xiǎn),因?yàn)橄M(fèi)應(yīng)用不能以明文得到數(shù)據(jù)的完整版本。
在后面的討論中,題為“操作環(huán)境”的小節(jié)被提供并描述了其中可以采用一個(gè)或多個(gè)實(shí)現(xiàn)方式的一個(gè)環(huán)境。此后,題為“有損數(shù)據(jù)流解碼器細(xì)節(jié)”的小節(jié)描述了依照一個(gè)或多個(gè)實(shí)現(xiàn)方式的示例細(xì)節(jié)和過(guò)程。最后,題為“示例系統(tǒng)”的小節(jié)描述了可以用來(lái)實(shí)現(xiàn)一個(gè)或多個(gè)實(shí)現(xiàn)方式的示例計(jì)算系統(tǒng)、組件和設(shè)備。
操作環(huán)境
圖1一般地在100處圖示了依照一個(gè)或多個(gè)實(shí)施例的操作環(huán)境。該環(huán)境100包括計(jì)算設(shè)備102,計(jì)算設(shè)備102具有帶有一個(gè)或多個(gè)處理器和器件(例如,cpu、gpu、微控制器、硬件元件、固定邏輯器件等)的處理系統(tǒng)104、一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)106、操作系統(tǒng)108以及駐留在計(jì)算機(jī)可讀介質(zhì)上且可由處理系統(tǒng)執(zhí)行的一個(gè)或多個(gè)應(yīng)用110。處理系統(tǒng)104可以取回和執(zhí)行來(lái)自應(yīng)用110的計(jì)算機(jī)程序指令以向計(jì)算設(shè)備102提供多種多樣的功能性,包括但不限于游戲、辦公室生產(chǎn)力、電子郵件、媒體管理、打印、聯(lián)網(wǎng)、web瀏覽等等。也可以包括與應(yīng)用110有關(guān)的各種數(shù)據(jù)和程序文件,其示例包括游戲文件、辦公室文檔、多媒體文件、電子郵件、數(shù)據(jù)文件、web頁(yè)面、用戶(hù)簡(jiǎn)檔和/或偏好數(shù)據(jù)等等。
計(jì)算設(shè)備102可以體現(xiàn)為任何合適的計(jì)算系統(tǒng)和/或設(shè)備,諸如以示例的方式而非限制:游戲系統(tǒng)、桌面型計(jì)算機(jī)、便攜式計(jì)算機(jī)、平板或板式計(jì)算機(jī)、諸如個(gè)人數(shù)字助理(pda)之類(lèi)的手持式計(jì)算機(jī)、蜂窩電話(huà)、機(jī)頂盒、可穿戴設(shè)備(例如,手表、帶、眼鏡等)等等。例如,如圖1中所示,計(jì)算設(shè)備102可以被實(shí)現(xiàn)為連接到用以顯示媒體內(nèi)容的顯示設(shè)備118的電視客戶(hù)端設(shè)備112、計(jì)算機(jī)114和/或游戲系統(tǒng)116??商鎿Q地,計(jì)算設(shè)備可以是包括集成顯示器122的任何類(lèi)型的便攜式計(jì)算機(jī)、移動(dòng)電話(huà)或便攜式設(shè)備120。這些計(jì)算設(shè)備中的任一個(gè)可以用各種組件(諸如一個(gè)或多個(gè)處理器和存儲(chǔ)器設(shè)備)以及用不同組件的任何組合來(lái)實(shí)現(xiàn)。下面關(guān)于圖5示出和描述可以表示包括計(jì)算設(shè)備102的各種系統(tǒng)和/或設(shè)備的計(jì)算系統(tǒng)的一個(gè)示例。
以示例的方式而非限制,計(jì)算機(jī)可讀介質(zhì)可以包括典型地與計(jì)算設(shè)備相關(guān)聯(lián)的所有形式的易失性和非易失性存儲(chǔ)器和/或存儲(chǔ)介質(zhì)。這樣的介質(zhì)可以包括rom、ram、閃存、硬盤(pán)、可移除介質(zhì)等等。計(jì)算機(jī)可讀介質(zhì)可以包括“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”和“通信介質(zhì)”二者,其示例可以在圖5的示例計(jì)算系統(tǒng)的討論中找到。
計(jì)算設(shè)備102也可以包括與處理系統(tǒng)相分離的圖形處理單元(gpu)124,其操作來(lái)執(zhí)行與由計(jì)算設(shè)備輸出以供在顯示設(shè)備118或集成顯示器122上顯示的圖形有關(guān)的各種處理??商鎿Q地,gpu可以被實(shí)現(xiàn)為處理系統(tǒng)的組件連同其他硬件(諸如cpu)。gpu124是計(jì)算設(shè)備的專(zhuān)用于圖形處理的硬件組件。由gpu124提供的功能性可以包括分辨率、像素著色操作、顏色深度、紋理映射、3d渲染以及與渲染用于應(yīng)用的用戶(hù)接口和圖像相關(guān)聯(lián)的其他任務(wù)的控制方面。這可以包括處理任務(wù),諸如多邊形繪制、位圖傳輸和繪畫(huà)、窗口重置大小和重新定位、線條繪制、字體縮放等等。gpu124可以能夠在硬件中以大于經(jīng)由cpu或處理系統(tǒng)104的其他處理設(shè)備執(zhí)行的軟件的速度處理這些處理任務(wù)。因而,gpu124的專(zhuān)用圖形處理能力可以加速圖形處理、減少處理系統(tǒng)104的工作負(fù)擔(dān)以及釋放系統(tǒng)資源用于其他任務(wù)。gpu124和其他處理硬件(例如,cpu)可以執(zhí)行用于幀、圖形和/或其他處理任務(wù)的渲染的各個(gè)不同時(shí)間線上的命令的單獨(dú)串行處理。
為了處理與已加密內(nèi)容有關(guān)的處理任務(wù),gpu124可以包括或以其他方式利用解碼器模塊126。解碼器模塊126可以表示被配置成提供用以代表操作系統(tǒng)108和消費(fèi)內(nèi)容的其他應(yīng)用110(例如,“消費(fèi)應(yīng)用”)處理、解碼、供應(yīng)和以其他方式管理已加密內(nèi)容的功能性的硬件、軟件、固件、固定器件邏輯及其組合。在所描繪的示例中,解碼器模塊126被圖示為單獨(dú)的軟件模塊或硬件組件,但是解碼器模塊126可以可替換地被提供為gpu的集成硬件組件、os或其他應(yīng)用的軟件組件、經(jīng)由解碼特定微處理器等等。在一個(gè)或多個(gè)實(shí)現(xiàn)方式中,解碼器模塊126被配置為安全解碼器,其被設(shè)計(jì)成限制以明文訪問(wèn)內(nèi)容。為此,解碼器模塊126可以代表消費(fèi)應(yīng)用執(zhí)行已加密內(nèi)容的解碼而不將內(nèi)容暴露于安全組件和圖形處理系統(tǒng)邊界之外。
解碼器模塊126可以被進(jìn)一步配置成實(shí)現(xiàn)如本文檔中描述的用于有損數(shù)據(jù)流解碼的各種操作和技術(shù)。為此,解碼器模塊126可以包括或利用如圖1中描繪的解析器模塊128和有損提取器130。解析器模塊128表示與解碼器模塊126相關(guān)聯(lián)的用以執(zhí)行用于驗(yàn)證數(shù)據(jù)流和使來(lái)自消費(fèi)應(yīng)用的請(qǐng)求匹配于來(lái)自數(shù)據(jù)流的被認(rèn)為與請(qǐng)求有關(guān)的數(shù)據(jù)的操作的功能性。解析器模塊128可以被配置成支持各種自我驗(yàn)證和交叉驗(yàn)證細(xì)節(jié),并且其示例稍后在本文檔中進(jìn)行討論。有損提取器表示與解碼器模塊126相關(guān)聯(lián)的用以基于對(duì)數(shù)據(jù)流的解析而執(zhí)行有損提取以提取來(lái)自數(shù)據(jù)流的有關(guān)的數(shù)據(jù)部分的功能性,如本文中詳述的。解碼器模塊126然后可以形成用于回送到消費(fèi)應(yīng)用的、包括足以滿(mǎn)足請(qǐng)求的有關(guān)數(shù)據(jù)的對(duì)于請(qǐng)求的響應(yīng),同時(shí)保留至少一些其他數(shù)據(jù)。這樣,完整的數(shù)據(jù)流不被以將使得能夠以明文重建已加密內(nèi)容的方式暴露于消費(fèi)應(yīng)用,從而創(chuàng)建對(duì)于盜版的堅(jiān)實(shí)屏障。關(guān)于解碼器模塊、數(shù)據(jù)流的驗(yàn)證和有損提取的這些和其他方面的細(xì)節(jié)關(guān)于下面的圖進(jìn)行討論。
環(huán)境100進(jìn)一步描繪了計(jì)算設(shè)備102可以經(jīng)由網(wǎng)絡(luò)132通信地耦合到服務(wù)提供商134,這使得計(jì)算設(shè)備102能夠訪問(wèn)由服務(wù)提供商134使得可用的各種資源136并與之交互。資源136可以包括典型地由一個(gè)或多個(gè)服務(wù)提供商使得通過(guò)網(wǎng)絡(luò)可用的內(nèi)容和/或服務(wù)的任何合適的組合。例如,內(nèi)容可以包括文本、視頻、廣告、音頻、多媒體流、動(dòng)畫(huà)、圖像、網(wǎng)頁(yè)等等的各種組合。服務(wù)的一些示例包括但不限于在線計(jì)算服務(wù)(例如,“云”計(jì)算)、認(rèn)證服務(wù)、基于web的應(yīng)用、文件存儲(chǔ)和協(xié)同服務(wù)、搜索服務(wù)、消息發(fā)送服務(wù)(諸如電子郵件和/或即時(shí)消息發(fā)送)以及社交聯(lián)網(wǎng)服務(wù)。
以示例的方式,計(jì)算設(shè)備102可以被導(dǎo)航以訪問(wèn)和下載來(lái)自服務(wù)提供商134的已加密內(nèi)容138。已加密內(nèi)容138可以包括使用某種形式的數(shù)字權(quán)利管理(drm)而受保護(hù)的視頻內(nèi)容、音樂(lè)或其他內(nèi)容。一般地,已加密內(nèi)容138由服務(wù)提供商側(cè)上的編碼器(例如,在分發(fā)到客戶(hù)端之前)使用合適的壓縮標(biāo)準(zhǔn)和/或加密格式進(jìn)行編碼。解碼然后可以經(jīng)由消費(fèi)側(cè)上的解碼器發(fā)生,所述解碼器被配置成識(shí)別、支持和處理被以一個(gè)或多個(gè)不同壓縮標(biāo)準(zhǔn)和/或加密格式進(jìn)行編碼的內(nèi)容的解碼。
用于內(nèi)容的數(shù)字權(quán)利管理的各種合適的壓縮標(biāo)準(zhǔn)和/或加密格式可以由編碼器和解碼器支持,其包括但不限于mpeg-1、mpeg-2、mpeg-4、vp8、smptevc-1、h.264/avc、h.264/mvc、h.264/svc、h.2645/hevc、hevc/h.265等等。因而,依照上面和下面描述的技術(shù),解碼器模塊126可以被配置成解碼使用多個(gè)壓縮標(biāo)準(zhǔn)(包括本文中列舉的示例標(biāo)準(zhǔn)中的一個(gè)或多個(gè))進(jìn)行編碼的已加密內(nèi)容138。
已經(jīng)描述了示例操作環(huán)境,現(xiàn)在考慮與有損數(shù)據(jù)流解析器的一個(gè)或多個(gè)實(shí)現(xiàn)方式相關(guān)聯(lián)的示例細(xì)節(jié)和技術(shù)。
有損數(shù)據(jù)流解碼器細(xì)節(jié)
圖2一般地在200處描繪了可以利用依照一個(gè)或多個(gè)實(shí)現(xiàn)方式的計(jì)算設(shè)備102提供的解碼器模塊126的示例細(xì)節(jié)。在該示例中,解碼器模塊126被圖示為實(shí)現(xiàn)為gpu124的組件。例如,解碼器模塊126可以被提供為與gpu124集成的專(zhuān)用和安全硬件解碼器。還構(gòu)想如之前提及的其他實(shí)現(xiàn)方式,諸如單獨(dú)的硬件解碼器或軟件、固件或固定邏輯器件中的實(shí)現(xiàn)方式,以及軟件、固件、固定邏輯器件和硬件的組合。
在該示例中,已加密內(nèi)容138的數(shù)據(jù)流201被表示為由計(jì)算設(shè)備102接收并且使用圖形處理單元124進(jìn)行處理。數(shù)據(jù)流201可以包括多個(gè)單獨(dú)的分組201(1),202(2),…,202(x),其每一個(gè)包含各自的頭部204(1),204(2),…,204(x)和數(shù)據(jù)206(1),206(2),…,206(x)。這些頭部被配置成傳達(dá)關(guān)于分組的信息,諸如分組類(lèi)型、排序數(shù)據(jù)、設(shè)立參數(shù)、格式信息、用于編碼的壓縮標(biāo)準(zhǔn)的指示、關(guān)于包含在分組中的數(shù)據(jù)的量和類(lèi)型的指示以及可能與用于解碼器和/或消費(fèi)應(yīng)用的操作性設(shè)定有關(guān)的其他元數(shù)據(jù)、字段和參數(shù)。分組的數(shù)據(jù)部分表示內(nèi)容負(fù)荷,諸如與視頻數(shù)據(jù)流相關(guān)聯(lián)的視頻數(shù)據(jù)的幀或“切片”或者與音頻流相關(guān)聯(lián)的音頻片段數(shù)據(jù)。
在操作中,解碼器模塊126可以被配置成處理與數(shù)據(jù)流201的處理有關(guān)的任務(wù)。這可以包括獲得和響應(yīng)來(lái)自消費(fèi)應(yīng)用的訪問(wèn)和利用內(nèi)容的各部分的請(qǐng)求。例如,消費(fèi)應(yīng)用可以請(qǐng)求訪問(wèn)用以促進(jìn)設(shè)立用于已加密內(nèi)容138的處理流水線以及控制渲染內(nèi)容的定時(shí)、排序和同步的頭部信息和/或特定種類(lèi)的分組。消費(fèi)應(yīng)用可以利用各種設(shè)立信息來(lái)指導(dǎo)gpu和/或解碼器的操作以解碼內(nèi)容。然而出于安全性起見(jiàn),解碼器代表os和消費(fèi)應(yīng)用處理解碼任務(wù)以使得內(nèi)容不以明文被不適當(dāng)?shù)乇┞恫⑶覝p輕了盜版風(fēng)險(xiǎn)。
為此,解碼器模塊126可以調(diào)用解析器模塊128來(lái)執(zhí)行用于驗(yàn)證數(shù)據(jù)流、分組、頭部和對(duì)應(yīng)數(shù)據(jù)并且依照驗(yàn)證使來(lái)自數(shù)據(jù)流的部分?jǐn)?shù)據(jù)匹配于請(qǐng)求的操作。此處,從驗(yàn)證搜集的關(guān)于數(shù)據(jù)流的結(jié)構(gòu)和內(nèi)容的信息可以用于確定請(qǐng)求是否合法,并且如果合法,則標(biāo)識(shí)與請(qǐng)求有關(guān)的數(shù)據(jù)的種類(lèi)。
有關(guān)的數(shù)據(jù)可以是足以執(zhí)行對(duì)應(yīng)于請(qǐng)求的操作的一個(gè)或多個(gè)分組或頭部的部分。其他數(shù)據(jù)可以被認(rèn)為是無(wú)關(guān)的。例如,頭部中的排序字段可以足以用于應(yīng)用設(shè)立幀序列,并且因而可以被識(shí)別為與排序請(qǐng)求有關(guān)。然而應(yīng)用可以不需要這些幀的底層內(nèi)容,并且因此可以認(rèn)為實(shí)際的幀數(shù)據(jù)與排序請(qǐng)求無(wú)關(guān)。還構(gòu)想各種其他示例。
解碼器模塊126然后可以調(diào)用如之前指出的有損提取器130以對(duì)數(shù)據(jù)流執(zhí)行有損提取。有損提取器操作來(lái)基于所述驗(yàn)證提取數(shù)據(jù)流的被認(rèn)為有關(guān)的各部分。所提取的部分然后可以被解碼和/或壓縮以形成已解碼內(nèi)容208,所述已解碼內(nèi)容208然后可以響應(yīng)于所述請(qǐng)求而被提供返回給消費(fèi)應(yīng)用。如圖2中表示的,已解碼內(nèi)容208被配置成包括用于數(shù)據(jù)流201的分組、頭部和對(duì)應(yīng)數(shù)據(jù)中的一個(gè)或多個(gè)的部分?jǐn)?shù)據(jù)210。關(guān)于用于驗(yàn)證和有損提取的一些示例技術(shù)的附加細(xì)節(jié)就在下面在對(duì)應(yīng)的標(biāo)題之下進(jìn)行討論。
驗(yàn)證
可以作為解碼過(guò)程的一部分而對(duì)數(shù)據(jù)流執(zhí)行驗(yàn)證。一般而言,驗(yàn)證包括解析數(shù)據(jù)流和針對(duì)所支持的標(biāo)準(zhǔn)、規(guī)范、約束和語(yǔ)法來(lái)檢驗(yàn)數(shù)據(jù)流的頭部數(shù)據(jù)、元數(shù)據(jù)、已解碼語(yǔ)法和其他內(nèi)容以確保數(shù)據(jù)是有效的。換言之,執(zhí)行檢查以確保數(shù)據(jù)符合解碼器被配置用來(lái)識(shí)別和處理的壓縮標(biāo)準(zhǔn)和格式。另外,驗(yàn)證使得解碼器能夠檢查一致性并且收集關(guān)于數(shù)據(jù)流的信息,諸如分組的類(lèi)型、包含在分組中的數(shù)據(jù)的類(lèi)型、由頭部規(guī)定的元數(shù)據(jù)和其他信息、已解碼語(yǔ)法等等?;谕ㄟ^(guò)數(shù)據(jù)流的解析而收集的信息,解碼器可以進(jìn)一步能夠進(jìn)行關(guān)于與特定請(qǐng)求和各種請(qǐng)求有關(guān)的分組、頭部和數(shù)據(jù)的各部分的評(píng)估。通過(guò)如此,解碼器能夠響應(yīng)于請(qǐng)求來(lái)標(biāo)識(shí)數(shù)據(jù)部分以供包括并且形成具有部分?jǐn)?shù)據(jù)的對(duì)應(yīng)響應(yīng)。另外或可替換地,解碼器可以識(shí)別可以被安全移除的數(shù)據(jù)部分并且指定這些部分以供從已解碼流中排除。
在一個(gè)特定示例中,解碼器可以支持h.264/avc壓縮標(biāo)準(zhǔn)。在該標(biāo)準(zhǔn)中,內(nèi)容可以被布置成被稱(chēng)為網(wǎng)絡(luò)抽象層單元(nalu)的單元(例如,分組)。至少一些nalu對(duì)應(yīng)于包含內(nèi)容各部分的切片分組,使得每個(gè)切片分組包含數(shù)據(jù)的“切片”(例如,用于圖像的像素?cái)?shù)據(jù))。每個(gè)切片可以被進(jìn)一步劃分成已知為宏塊的一組或多組像素,其攜帶像素顏色、位掩模和布局?jǐn)?shù)據(jù)。在該示例中,頭部可以被稱(chēng)為切片頭部。數(shù)據(jù)流也可以包括不同種類(lèi)的分組,諸如圖片參數(shù)集(pps)分組、序列參數(shù)集(sps)分組、切片分組等等。因而,驗(yàn)證可以包括解析切片分組的切片頭部以確定與h.264/avc壓縮標(biāo)準(zhǔn)的符合性。也可以針對(duì)h.264/avc壓縮標(biāo)準(zhǔn)驗(yàn)證與圖片參數(shù)集(pps)分組和序列參數(shù)集(sps)分組相關(guān)聯(lián)的頭部。另外,交叉驗(yàn)證可以發(fā)生以檢驗(yàn)包含在切片分組的切片頭部?jī)?nèi)的數(shù)據(jù)與包含在之前經(jīng)驗(yàn)證的圖片參數(shù)集(pps)和序列參數(shù)集(sps)分組內(nèi)的數(shù)據(jù)一致。進(jìn)一步地,驗(yàn)證也可以發(fā)生以確保包含在pps分組內(nèi)的數(shù)據(jù)與包含在之前經(jīng)驗(yàn)證的sps分組內(nèi)的數(shù)據(jù)一致。自然,也可以將相當(dāng)?shù)尿?yàn)證技術(shù)應(yīng)用于除h.264/avc之外的標(biāo)準(zhǔn),所述標(biāo)準(zhǔn)包括但不限于本文中列舉的示例標(biāo)準(zhǔn)。
特別地,解碼器126可以包括解析器模塊128或相當(dāng)?shù)墓δ苄?,其被配置成?shí)現(xiàn)包括自我驗(yàn)證和交叉驗(yàn)證二者在內(nèi)的各種各樣的驗(yàn)證檢查。自我驗(yàn)證是指諸如針對(duì)給定請(qǐng)求和對(duì)應(yīng)的一個(gè)或多個(gè)切片在特定樣本的上下文內(nèi)進(jìn)行的檢查。自我驗(yàn)證可以針對(duì)跨相同或類(lèi)似類(lèi)型的分組的一致性而發(fā)生,諸如通過(guò)將切片頭部彼此進(jìn)行比較。例如,可以針對(duì)以下中的一個(gè)或多個(gè)來(lái)驗(yàn)證用于對(duì)應(yīng)于請(qǐng)求的頭部的頭部語(yǔ)法:與用于內(nèi)容的壓縮標(biāo)準(zhǔn)相關(guān)聯(lián)的有效參數(shù)范圍、由解碼器/系統(tǒng)支持的參數(shù)范圍以及在頭部?jī)?nèi)或多個(gè)頭部之間的不同部分中的語(yǔ)法的一致性。
交叉驗(yàn)證是指在不同樣本之間和/或關(guān)于不同類(lèi)型的分組/頭部進(jìn)行的檢查。例如,可以針對(duì)圖片參數(shù)集(pps)分組、序列參數(shù)集(sps)分組和切片分組之間的一致性、約束、支持范圍和格式化進(jìn)行語(yǔ)法檢查。還構(gòu)想不同種類(lèi)的樣本和分組之間的其他樣本間和分組間檢查。也可以參照預(yù)期格式、有效請(qǐng)求和已知良好語(yǔ)法的歷史記錄來(lái)進(jìn)行交叉驗(yàn)證。因而,交叉驗(yàn)證可以針對(duì)基于之前的請(qǐng)求導(dǎo)出的預(yù)期格式驗(yàn)證對(duì)應(yīng)于請(qǐng)求的頭部和/或相關(guān)聯(lián)數(shù)據(jù)。
有損提取
可以基于驗(yàn)證而應(yīng)用有損提取以形成用于響應(yīng)的輸出數(shù)據(jù),其并不以明文暴露完整數(shù)據(jù)。例如,在處理切片頭部的示例中,完整的切片頭部位并不暴露于下游組件。相反,位子集被提取以生成部分切片頭部數(shù)據(jù)。特別地,可以提取該數(shù)據(jù)的被認(rèn)為與來(lái)自消費(fèi)應(yīng)用的請(qǐng)求有關(guān)的各部分。有損提取被通知關(guān)于在驗(yàn)證期間收集的數(shù)據(jù)流的知識(shí)以使得提取器適用于標(biāo)識(shí)和取回有關(guān)的部分。部分?jǐn)?shù)據(jù)被選擇以使得數(shù)據(jù)足以用于消費(fèi)應(yīng)用執(zhí)行操作,諸如流水線處理設(shè)立和資源管理。然而,如提及的,被提供的部分?jǐn)?shù)據(jù)不足以使得能夠以明文重建完整切片頭部或取得完整的數(shù)據(jù)流,這充當(dāng)對(duì)于盜版的安全性措施和遏制。
特別地,解碼器126可以被配置成實(shí)現(xiàn)有損提取器130,該有損提取器130被配置成執(zhí)行有損提取。有損提取器130可以應(yīng)用一個(gè)或多個(gè)提取算法來(lái)形成已解碼數(shù)據(jù)的流,其包含少于用于提取器對(duì)其操作的流、分組和/或頭部的完整數(shù)據(jù)??梢圆捎酶鞣N提取技術(shù)來(lái)保存足以執(zhí)行操作的數(shù)據(jù)(例如,有關(guān)的數(shù)據(jù))而保留數(shù)據(jù)的至少一些其他部分(例如,無(wú)關(guān)的數(shù)據(jù))。在一個(gè)方案中,通過(guò)驗(yàn)證而被標(biāo)識(shí)為有關(guān)的各部分被提取。然后,可以應(yīng)用隨機(jī)、偽隨機(jī)或非隨機(jī)提取函數(shù)來(lái)實(shí)現(xiàn)指定水平的損失。這可以包括保持一些無(wú)關(guān)數(shù)據(jù),但是丟棄至少一些無(wú)關(guān)數(shù)據(jù)以使得提取是有損的。例如,有損提取器130可以被配置成產(chǎn)生具有在大約百分之五十或更大的范圍內(nèi)的損失的已解碼數(shù)據(jù)。以示例的方式,六位切片頭部可以使用有損提取進(jìn)行解碼以創(chuàng)建供消費(fèi)應(yīng)用使用的僅具有兩個(gè)或三個(gè)位的已解碼輸出頭部。該部分切片頭部足以用于執(zhí)行消費(fèi)應(yīng)用使用已解碼頭部數(shù)據(jù)意圖執(zhí)行的操作,但是并不使得能夠重建完整的切片頭部。
示例過(guò)程
為了進(jìn)一步舉例說(shuō)明,考慮示例流程圖的以下討論,所述流程圖描繪了可以依照一個(gè)或多個(gè)實(shí)現(xiàn)方式實(shí)現(xiàn)的用于有損數(shù)據(jù)流解碼的過(guò)程。所描繪的(多個(gè))示例過(guò)程可以結(jié)合任何合適的硬件、軟件、固件或其組合來(lái)實(shí)現(xiàn)。在至少一些實(shí)施例中,這些方法可以通過(guò)適當(dāng)配置的計(jì)算設(shè)備(諸如圖1的示例計(jì)算設(shè)備102,其包括或以其他方式利用gpu124和/或解碼器模塊126)來(lái)實(shí)現(xiàn)。
在本文檔中描述的過(guò)程可以利用之前描述的環(huán)境、系統(tǒng)、設(shè)備和組件并且結(jié)合任何合適的硬件、軟件、固件或其組合來(lái)實(shí)現(xiàn)。這些過(guò)程可以被表示為一組塊,其規(guī)定由一個(gè)或多個(gè)實(shí)體執(zhí)行的操作并且不一定限于所示出的用于由各個(gè)塊執(zhí)行操作的順序。
一般地,關(guān)于上面的示例所描述的功能性、特征和概念可以用于在本小節(jié)中描述的示例過(guò)程的上下文中。進(jìn)一步地,關(guān)于本文檔中的不同圖和示例描述的功能性、特征和概念可以彼此互換并且不限于特定圖或過(guò)程的上下文中的實(shí)現(xiàn)方式。而且,與本文中不同代表性過(guò)程和對(duì)應(yīng)的圖相關(guān)聯(lián)的塊可以被一起應(yīng)用和/或以不同方式進(jìn)行組合。因而,本文中關(guān)于不同示例環(huán)境、設(shè)備、組件和過(guò)程描述的各個(gè)功能性、特征和概念可以以任何合適的組合被使用并且不限于由本說(shuō)明書(shū)中列舉的示例表示的特定組合。
圖3是描述依照一個(gè)或多個(gè)實(shí)現(xiàn)方式的用于處理數(shù)據(jù)流的示例過(guò)程300的細(xì)節(jié)的流程圖。已加密內(nèi)容的數(shù)據(jù)流被獲得(塊302)。例如,可以經(jīng)由計(jì)算設(shè)備102從在線提供商(諸如圖1的示例服務(wù)提供商134)訪問(wèn)內(nèi)容。也可以經(jīng)由數(shù)字媒體播放器、便攜式媒體(例如,dvd)、本地流送等等而獲得內(nèi)容。不管怎么被獲得,計(jì)算設(shè)備的圖形處理系統(tǒng)可以被配置成處理內(nèi)容的解碼和渲染。這可以通過(guò)計(jì)算設(shè)備的各種組件(諸如本文中描述的gpu124、解碼器126、解析器模塊128和/或有損提取器130)而發(fā)生。
從消費(fèi)應(yīng)用接收對(duì)于用以促進(jìn)用于數(shù)據(jù)流的圖形處理的設(shè)立的頭部信息的請(qǐng)求(塊304)。例如,操作系統(tǒng)108或其他應(yīng)用可以與圖形處理系統(tǒng)并且特別地解碼器126交互以協(xié)調(diào)與已加密內(nèi)容的輸出有關(guān)的任務(wù)。這可以包括諸如這樣的操作:處理流水線設(shè)立、協(xié)調(diào)渲染時(shí)間線、設(shè)備資源管理等等。請(qǐng)求可以從數(shù)據(jù)流搜索信息的各部分,諸如包含在切片頭部或其他分組的頭部中的元數(shù)據(jù)。相應(yīng)地,解碼器126可以響應(yīng)于請(qǐng)求而執(zhí)行頭部的處理以標(biāo)識(shí)和提取消費(fèi)應(yīng)用執(zhí)行特定任務(wù)可能要求的內(nèi)容部分。然而,為了避免使已加密數(shù)據(jù)的數(shù)據(jù)流暴露于偵聽(tīng)和盜版,應(yīng)用如本文中描述的有損數(shù)據(jù)流解碼技術(shù)。
特別地,解析對(duì)應(yīng)于請(qǐng)求的頭部以驗(yàn)證頭部并且確定與頭部相關(guān)聯(lián)的數(shù)據(jù)的類(lèi)型(塊306),并且基于所述解析標(biāo)識(shí)用以響應(yīng)于請(qǐng)求而提供給消費(fèi)應(yīng)用的頭部的各部分(塊308)??梢圆捎冒ū疚臋n中列舉的示例自我驗(yàn)證和交叉驗(yàn)證在內(nèi)的各種驗(yàn)證操作來(lái)確保頭部符合選定的標(biāo)準(zhǔn)并且獲得關(guān)于分組類(lèi)型、頭部、已解碼語(yǔ)法和包含在數(shù)據(jù)流中的相關(guān)聯(lián)數(shù)據(jù)的知識(shí)。為了執(zhí)行驗(yàn)證,解碼器模塊126可以調(diào)用如本文中討論的解析器模塊128或等同的功能性。通過(guò)經(jīng)由驗(yàn)證而理解分組的內(nèi)容,解碼器能夠使請(qǐng)求匹配于頭部中的信息的特定部分和/或數(shù)據(jù)負(fù)荷的相關(guān)聯(lián)部分,所述特定部分和/或相關(guān)聯(lián)部分足以執(zhí)行如請(qǐng)求所指示的各種任務(wù)。因此,解碼器可以提供有損數(shù)據(jù)而不必以明文返回可以潛在地用于使用目標(biāo)請(qǐng)求的序列重建數(shù)據(jù)流的成塊的已解碼數(shù)據(jù)。
相應(yīng)地,通過(guò)解碼和提取被標(biāo)識(shí)的部分而形成部分頭部(塊310),并且生成被配置成包括用于傳送給消費(fèi)應(yīng)用的部分頭部的對(duì)于請(qǐng)求的響應(yīng)(塊312)。這些部分頭部被提供來(lái)防止消費(fèi)應(yīng)用恢復(fù)已解碼形式的已加密內(nèi)容。為了執(zhí)行有損提取,解碼器模塊126可以調(diào)用如本文中討論的有損提取器130或等同的功能性。有損提取器130可以以之前討論的方式識(shí)別和保留頭部的被認(rèn)為有關(guān)的各部分。另外,有損提取器130可以識(shí)別和丟棄被認(rèn)為是無(wú)關(guān)且因此移除掉是安全的一些部分。這可以包括有目的地移除被識(shí)別為對(duì)于完成某些任務(wù)所不需要的選定類(lèi)型的語(yǔ)法、字段、分組或序列。驗(yàn)證可以有助于關(guān)于來(lái)自消費(fèi)應(yīng)用的不同請(qǐng)求和各種類(lèi)型的請(qǐng)求而識(shí)別有關(guān)數(shù)據(jù)和無(wú)關(guān)數(shù)據(jù)二者。
已經(jīng)標(biāo)識(shí)和提取了頭部的各部分,解碼器可以操作來(lái)生成對(duì)于請(qǐng)求的響應(yīng),其包括部分?jǐn)?shù)據(jù),諸如一個(gè)或多個(gè)部分頭部。該響應(yīng)然后被傳送給發(fā)出請(qǐng)求的應(yīng)用,其可以訪問(wèn)響應(yīng)中的已解碼數(shù)據(jù)以執(zhí)行對(duì)應(yīng)的任務(wù)。由于應(yīng)用接收部分頭部,所以不可能的是可以從暴露的已解碼數(shù)據(jù)重建數(shù)據(jù)流的有用完整版本。
圖4是描述依照一個(gè)或多個(gè)實(shí)現(xiàn)方式的用于向數(shù)據(jù)流應(yīng)用有損提取的示例過(guò)程400的細(xì)節(jié)的流程圖。響應(yīng)于來(lái)自消費(fèi)應(yīng)用的訪問(wèn)已加密數(shù)據(jù)流中的數(shù)據(jù)的請(qǐng)求而驗(yàn)證已加密數(shù)據(jù)流(塊402)。這可以包括其示例之前已描述過(guò)的各種自我驗(yàn)證(塊404)和交叉驗(yàn)證(塊406)。然后,基于所述驗(yàn)證標(biāo)識(shí)已加密數(shù)據(jù)流中的數(shù)據(jù)的與請(qǐng)求有關(guān)的一個(gè)或多個(gè)部分(塊408)。此處,可以使請(qǐng)求匹配于已知類(lèi)型的請(qǐng)求以確定什么種類(lèi)的數(shù)據(jù)與請(qǐng)求有關(guān)或無(wú)關(guān)。該匹配可以取決于對(duì)所請(qǐng)求的內(nèi)容部分的驗(yàn)證以確保那些部分具有預(yù)期的語(yǔ)法/格式。另外,可以將足以服務(wù)請(qǐng)求的一個(gè)或多個(gè)類(lèi)型的數(shù)據(jù)識(shí)別為與請(qǐng)求有關(guān)。
此后,執(zhí)行有損提取以解碼被標(biāo)識(shí)為與請(qǐng)求有關(guān)的數(shù)據(jù)部分(塊410)。作為提取的一部分,可以移除選定的語(yǔ)法(塊412)。所移除的語(yǔ)法可以對(duì)應(yīng)于被認(rèn)為是無(wú)關(guān)部分并且因此被識(shí)別為移除掉是安全的部分。另外或可替換地,可以隨機(jī)地移除各個(gè)部分以使用如之前指出的合適的提取算法實(shí)現(xiàn)指定水平的損失。當(dāng)然,也可以識(shí)別被認(rèn)為是有關(guān)的一個(gè)或多個(gè)部分,并且可以將這些部分保留在已解碼輸出流中。例如,可以提取與被標(biāo)識(shí)為足以服務(wù)請(qǐng)求的一個(gè)或多個(gè)類(lèi)型的數(shù)據(jù)相匹配的數(shù)據(jù),而可以保留其他數(shù)據(jù)或不是有關(guān)的類(lèi)型的數(shù)據(jù)。
解碼被標(biāo)識(shí)為有關(guān)的數(shù)據(jù)部分以供包括在對(duì)于請(qǐng)求的響應(yīng)中(塊414)。這樣,應(yīng)用有損提取以產(chǎn)生具有部分?jǐn)?shù)據(jù)的已解碼輸出流。傳送使用有損提取解碼的數(shù)據(jù)部分以供消費(fèi)應(yīng)用使用(塊416)。
已經(jīng)考慮了用于有損數(shù)據(jù)流解碼器的示例過(guò)程,考慮依照一個(gè)或多個(gè)實(shí)現(xiàn)方式的示例系統(tǒng)的討論。
示例系統(tǒng)
圖5圖示了示例系統(tǒng)500,其包括表示可以實(shí)現(xiàn)本文中描述的各種技術(shù)的一個(gè)或多個(gè)計(jì)算系統(tǒng)和/或設(shè)備的示例計(jì)算設(shè)備502。計(jì)算設(shè)備502可以為例如服務(wù)提供商的服務(wù)器、與客戶(hù)端相關(guān)聯(lián)的設(shè)備(例如,客戶(hù)端設(shè)備)、片上系統(tǒng)和/或任何其他合適的計(jì)算設(shè)備或計(jì)算系統(tǒng)。
如圖示的示例計(jì)算設(shè)備502包括彼此通信地耦合的處理系統(tǒng)504、一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)506以及一個(gè)或多個(gè)i/o接口508。盡管未示出,但是計(jì)算設(shè)備502可以進(jìn)一步包括將各個(gè)組件彼此耦合的系統(tǒng)總線或其他數(shù)據(jù)和命令傳輸系統(tǒng)。系統(tǒng)總線可以包括不同總線結(jié)構(gòu)中的任一個(gè)或組合,所述總線結(jié)構(gòu)諸如存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、通用串行總線和/或利用各種總線架構(gòu)中的任一個(gè)的處理器或本地總線。還構(gòu)想各種其他示例,諸如控制和數(shù)據(jù)線。
處理系統(tǒng)504表示用以使用硬件執(zhí)行一個(gè)或多個(gè)操作的功能性。相應(yīng)地,處理系統(tǒng)504被圖示為包括可以被配置為處理器、功能塊等等的硬件元件510。這可以包括硬件中的作為專(zhuān)用集成電路或使用一個(gè)或多個(gè)半導(dǎo)體形成的其他邏輯器件的實(shí)現(xiàn)方式。硬件元件510不受它們從其形成的材料或者其中采用的處理機(jī)制限制。例如,處理器可以包括(多個(gè))半導(dǎo)體和/或晶體管(例如,電子集成電路(ic))。在這樣的上下文中,處理器可執(zhí)行指令可以是電子可執(zhí)行指令。
計(jì)算機(jī)可讀介質(zhì)506被圖示為包括存儲(chǔ)器/儲(chǔ)存器512。存儲(chǔ)器/儲(chǔ)存器512表示與一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)相關(guān)聯(lián)的存儲(chǔ)器/儲(chǔ)存器容量。存儲(chǔ)器/儲(chǔ)存器512可以包括易失性介質(zhì)(諸如隨機(jī)存取存儲(chǔ)器(ram))和/或非易失性介質(zhì)(諸如只讀存儲(chǔ)器(rom)、閃存、光盤(pán)、磁盤(pán)等等)。存儲(chǔ)器/儲(chǔ)存器512可以包括固定介質(zhì)(例如,ram、rom、固定硬驅(qū)等等)以及可移除介質(zhì)(例如,閃存、可移除硬驅(qū)、光盤(pán)等等)。計(jì)算機(jī)可讀介質(zhì)506可以以如下面進(jìn)一步描述的各種其他方式進(jìn)行配置。
(多個(gè))輸入/輸出接口508表示允許用戶(hù)向計(jì)算設(shè)備502鍵入命令和信息并且還允許使用各種輸入/輸出設(shè)備向用戶(hù)和/或其他組件或設(shè)備呈現(xiàn)信息的功能性。輸入設(shè)備的示例包括鍵盤(pán)、光標(biāo)控制設(shè)備(例如,鼠標(biāo))、用于語(yǔ)音操作的麥克風(fēng)、掃描儀、觸摸功能性(例如,被配置成檢測(cè)物理觸摸的容性或其他傳感器)、相機(jī)(例如,其可以采用諸如紅外頻率之類(lèi)的可見(jiàn)或不可見(jiàn)波長(zhǎng)來(lái)檢測(cè)作為手勢(shì)的不包括觸摸的運(yùn)動(dòng))等等。輸出設(shè)備的示例包括顯示設(shè)備(例如,監(jiān)視器或投影儀)、揚(yáng)聲器、打印機(jī)、網(wǎng)卡、觸覺(jué)響應(yīng)設(shè)備等等。因而,計(jì)算設(shè)備502可以以如下面進(jìn)一步描述的各種方式進(jìn)行配置以支持用戶(hù)交互。
在本文中可以在軟件、硬件元件或程序模塊的一般上下文中描述各種技術(shù)。一般地,這樣的模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型的例程、程序、對(duì)象、元件、組件、數(shù)據(jù)結(jié)構(gòu)等等。如本文中使用的術(shù)語(yǔ)“模塊”、“功能性”和“組件”一般地表示軟件、固件、硬件或其組合。本文中描述的技術(shù)的特征是平臺(tái)無(wú)關(guān)的,意指這些技術(shù)可以被實(shí)現(xiàn)在具有各種處理器的各種商業(yè)計(jì)算平臺(tái)上。
所描述的模塊和技術(shù)的實(shí)現(xiàn)方式可以被存儲(chǔ)在某種形式的計(jì)算機(jī)可讀介質(zhì)上或者跨某種形式的計(jì)算機(jī)可讀介質(zhì)進(jìn)行傳輸。計(jì)算機(jī)可讀介質(zhì)可以包括可以由計(jì)算設(shè)備502存取的各種介質(zhì)。以示例的方式而非限制,計(jì)算機(jī)可讀介質(zhì)可以包括“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”和“通信介質(zhì)”。
“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”是指與僅僅信號(hào)傳輸、載波或信號(hào)本身形成對(duì)照使得能夠存儲(chǔ)信息的介質(zhì)和/或設(shè)備。因而,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)不包括信號(hào)承載介質(zhì)、瞬時(shí)信號(hào)或信號(hào)本身。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括諸如易失性和非易失性、可移除和不可移除介質(zhì)之類(lèi)的硬件和/或以適合于信息存儲(chǔ)的方法或技術(shù)實(shí)現(xiàn)的存儲(chǔ)設(shè)備,所述信息諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、邏輯元件/電路或其他數(shù)據(jù)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的示例可以包括但不限于ram、rom、eeprom、閃存或其他存儲(chǔ)器技術(shù)、cd-rom、數(shù)字多用盤(pán)(dvd)或其他光學(xué)儲(chǔ)存器、硬盤(pán)、盒式磁帶、磁帶、磁盤(pán)儲(chǔ)存器或其他磁存儲(chǔ)設(shè)備、或適合于存儲(chǔ)期望信息且可以由計(jì)算機(jī)存取的其他存儲(chǔ)設(shè)備、有形介質(zhì)或制品。
“通信介質(zhì)”可以是指被配置成諸如經(jīng)由網(wǎng)絡(luò)向計(jì)算設(shè)備502的硬件傳輸指令的信號(hào)承載介質(zhì)。通信介質(zhì)典型地可以體現(xiàn)諸如載波、數(shù)據(jù)信號(hào)或其他輸運(yùn)機(jī)制之類(lèi)的已調(diào)制數(shù)據(jù)信號(hào)中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)。通信介質(zhì)還包括任何信息遞送介質(zhì)。術(shù)語(yǔ)“已調(diào)制數(shù)據(jù)信號(hào)”意指這樣的信號(hào),其使得其特性中的一個(gè)或多個(gè)以將信息編碼在該信號(hào)中的這樣的方式被設(shè)置或改變。以示例的方式而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接連線連接之類(lèi)的有線介質(zhì)和諸如聲學(xué)、rf、紅外和其他無(wú)線介質(zhì)之類(lèi)的無(wú)線介質(zhì)。
如之前描述的,硬件元件510和計(jì)算機(jī)可讀介質(zhì)506表示以硬件形式實(shí)現(xiàn)的、在一些實(shí)施例中可以用來(lái)實(shí)現(xiàn)本文中描述的技術(shù)的至少一些方面的指令、模塊、可編程器件邏輯和/或固定器件邏輯。硬件元件可以包括以下各項(xiàng)的組件:集成電路或片上系統(tǒng)、專(zhuān)用集成電路(asic)、現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)、復(fù)雜可編程邏輯器件(cpld)和硅中的其他實(shí)現(xiàn)方式或其他硬件設(shè)備。在本上下文中,硬件元件可以操作為執(zhí)行由該硬件元件體現(xiàn)的指令、模塊和/或邏輯所定義的程序任務(wù)的處理設(shè)備以及用于存儲(chǔ)供執(zhí)行的指令的硬件設(shè)備(例如,之前描述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì))。
也可以采用前述內(nèi)容的組合來(lái)實(shí)現(xiàn)本文中描述的各種技術(shù)和模塊。相應(yīng)地,包括操作系統(tǒng)108、應(yīng)用110、解碼器模塊126、解析器模塊128、有損提取器130和其他程序模塊的軟件、硬件或程序模塊可以被實(shí)現(xiàn)為體現(xiàn)在某種形式的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上和/或由一個(gè)或多個(gè)硬件元件510體現(xiàn)的一個(gè)或多個(gè)指令和/或邏輯。計(jì)算設(shè)備502可以被配置成實(shí)現(xiàn)對(duì)應(yīng)于軟件和/或硬件模塊的特定指令和/或功能。相應(yīng)地,將作為可由計(jì)算設(shè)備502執(zhí)行的模塊的各模塊實(shí)現(xiàn)為軟件可以至少部分地在硬件中實(shí)現(xiàn),例如通過(guò)使用處理系統(tǒng)的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)和/或硬件元件510。指令和/或功能可以可由一個(gè)或多個(gè)制品(例如,一個(gè)或多個(gè)計(jì)算設(shè)備502和/或處理系統(tǒng)504)執(zhí)行/操作以實(shí)現(xiàn)本文中描述的技術(shù)、模塊和示例。
如圖5中進(jìn)一步圖示的,示例系統(tǒng)500使得能夠?qū)崿F(xiàn)當(dāng)在個(gè)人計(jì)算機(jī)(pc)、電視設(shè)備和/或移動(dòng)設(shè)備上運(yùn)行應(yīng)用時(shí)用于無(wú)縫用戶(hù)體驗(yàn)的無(wú)處不在的環(huán)境。服務(wù)和應(yīng)用在所有三個(gè)環(huán)境中基本上類(lèi)似地運(yùn)行以在利用應(yīng)用、播放視頻游戲、觀看視頻等等時(shí)從一個(gè)設(shè)備過(guò)渡到下一設(shè)備時(shí)得到共同的用戶(hù)體驗(yàn)。
在示例系統(tǒng)500中,多個(gè)設(shè)備通過(guò)中央計(jì)算設(shè)備進(jìn)行互連。中央計(jì)算設(shè)備對(duì)于多個(gè)設(shè)備而言可以是本地的或者可以距所述多個(gè)設(shè)備遠(yuǎn)程地定位。在一個(gè)實(shí)施例中,中央計(jì)算設(shè)備可以是通過(guò)網(wǎng)絡(luò)、因特網(wǎng)或其他數(shù)據(jù)通信鏈路連接到所述多個(gè)設(shè)備的一個(gè)或多個(gè)服務(wù)器計(jì)算機(jī)的云。
在一個(gè)實(shí)施例中,該互連架構(gòu)使得功能性能夠跨多個(gè)設(shè)備進(jìn)行遞送以向多個(gè)設(shè)備的用戶(hù)提供共同和無(wú)縫的體驗(yàn)。多個(gè)設(shè)備中的每個(gè)可以具有不同物理要求和能力,并且中央計(jì)算設(shè)備使用平臺(tái)來(lái)使得能夠?qū)⑨槍?duì)設(shè)備量身定制而又對(duì)于所有設(shè)備而言共同的體驗(yàn)遞送給設(shè)備。在一個(gè)實(shí)施例中,創(chuàng)建一類(lèi)目標(biāo)設(shè)備并且針對(duì)通用類(lèi)的設(shè)備量身定制體驗(yàn)。一類(lèi)設(shè)備可以通過(guò)設(shè)備的物理特征、使用類(lèi)型或其他共同特性來(lái)定義。
在各種實(shí)現(xiàn)方式中,計(jì)算設(shè)備502可以采取各種不同的配置,諸如供計(jì)算機(jī)514、移動(dòng)裝置516和電視518使用。這些配置中的每個(gè)包括可以一般地具有不同構(gòu)造和能力的設(shè)備,并且因而計(jì)算設(shè)備502可以根據(jù)不同設(shè)備類(lèi)中的一個(gè)或多個(gè)進(jìn)行配置。例如,計(jì)算設(shè)備502可以被實(shí)現(xiàn)為計(jì)算機(jī)514類(lèi)的設(shè)備,其包括個(gè)人計(jì)算機(jī)、桌面型計(jì)算機(jī)、多屏計(jì)算機(jī)、膝上型計(jì)算機(jī)、上網(wǎng)本等等。
計(jì)算設(shè)備502也可以被實(shí)現(xiàn)為移動(dòng)裝置516類(lèi)的設(shè)備,其包括移動(dòng)設(shè)備,諸如移動(dòng)電話(huà)、便攜式音樂(lè)播發(fā)器、便攜式游戲設(shè)備、平板計(jì)算機(jī)、多屏計(jì)算機(jī)等等。計(jì)算設(shè)備502還可以被實(shí)現(xiàn)為電視518類(lèi)的設(shè)備,其包括具有或連接到非正式觀看環(huán)境中的一般地較大屏幕的設(shè)備。這些設(shè)備包括電視、機(jī)頂盒、游戲控制臺(tái)等等。
本文中描述的技術(shù)可以由計(jì)算設(shè)備502的這些各種配置來(lái)支持并且不限于本文中描述的技術(shù)的特定示例。這通過(guò)包括計(jì)算設(shè)備502上的解碼器模塊126而進(jìn)行圖示。由解碼器模塊126和其他模塊/應(yīng)用表示的功能性也可以全部或部分地通過(guò)使用分布式系統(tǒng)(諸如經(jīng)由如下面描述的平臺(tái)522通過(guò)“云”520)來(lái)實(shí)現(xiàn)。
云520包括和/或表示用于資源524的平臺(tái)522。平臺(tái)522對(duì)硬件(例如,服務(wù)器)的底層功能性和云520的軟件資源進(jìn)行抽象。資源524可以包括當(dāng)計(jì)算機(jī)處理在距計(jì)算設(shè)備502遠(yuǎn)程的服務(wù)器上被執(zhí)行時(shí)可以利用的應(yīng)用和/或數(shù)據(jù)。資源524也可以包括通過(guò)因特網(wǎng)和/或通過(guò)諸如蜂窩或wi-fi網(wǎng)絡(luò)之類(lèi)的訂戶(hù)網(wǎng)絡(luò)提供的服務(wù)。
平臺(tái)522可以對(duì)資源和功能進(jìn)行抽象以將計(jì)算設(shè)備502與其他計(jì)算設(shè)備相連接。平臺(tái)522也可以用于對(duì)資源分級(jí)進(jìn)行抽象以向遇到的對(duì)于經(jīng)由平臺(tái)522實(shí)現(xiàn)的資源524的需求提供對(duì)應(yīng)水平的分級(jí)。相應(yīng)地,在互連設(shè)備實(shí)施例中,本文中描述的功能性的實(shí)現(xiàn)方式可以遍布系統(tǒng)500分布。例如,功能性可以至少部分地在計(jì)算設(shè)備502上實(shí)現(xiàn)以及經(jīng)由對(duì)云520的功能性進(jìn)行抽象的平臺(tái)522來(lái)實(shí)現(xiàn)。
結(jié)論
盡管已經(jīng)以特定于結(jié)構(gòu)特征和/或方法動(dòng)作的語(yǔ)言描述了主題,但是應(yīng)理解的是,所附權(quán)利要求中限定的主題不一定限于上面描述的特定特征或動(dòng)作。相反,上面描述的特定特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例形式而公開(kāi)的。