媒體工作負(fù)荷調(diào)度器的制造方法
【專(zhuān)利摘要】本發(fā)明涉及媒體工作負(fù)荷調(diào)度器,公開(kāi)了用于調(diào)度媒體工作負(fù)荷的方法與系統(tǒng)。該方法包括建模媒體工作負(fù)荷的特征??纱_定媒體工作負(fù)荷的GPU利用率和存儲(chǔ)器帶寬。此外,通過(guò)修改媒體工作負(fù)荷的特征,從而調(diào)節(jié)GPU利用率和存儲(chǔ)器帶寬,可調(diào)度媒體工作負(fù)荷。
【專(zhuān)利說(shuō)明】媒體工作負(fù)荷調(diào)度器
【技術(shù)領(lǐng)域】
[0001]本發(fā)明一般地涉及調(diào)節(jié)工作負(fù)荷。更特定地,本發(fā)明涉及在圖形處理單元(GPU)上調(diào)節(jié)媒體工作負(fù)荷。
【背景技術(shù)】
[0002]媒體工作負(fù)荷可相對(duì)較大且可完全使用GPU時(shí)間和存儲(chǔ)器帶寬。媒體工作負(fù)荷包括由來(lái)自電子設(shè)備的媒體組件(諸如攝像頭或視頻播放器)的媒體應(yīng)用所獲得的一個(gè)或多個(gè)數(shù)據(jù)流。如此處所使用的,媒體是指由GPU處理的任何數(shù)據(jù)。例如,平板和智能電話可包含兩個(gè)或更多的攝像頭從而支持視頻捕捉,其中有至少一個(gè)前向和一個(gè)后向攝像頭??赏瑫r(shí)使用這些攝像頭。每一個(gè)攝像頭具有其自身的數(shù)據(jù)流,而每一個(gè)數(shù)據(jù)流的處理包括編碼和解碼這些數(shù)據(jù)流。在各示例中,計(jì)算設(shè)備可被用于有多個(gè)參與方參加的視頻會(huì)議,每一個(gè)參與方具有被編碼和解碼的自己的數(shù)據(jù)流。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0003]圖1是根據(jù)各實(shí)施例的,可被用于調(diào)度工作負(fù)荷的計(jì)算設(shè)備的框圖;
[0004]圖2是根據(jù)各實(shí)施例的,可被用于調(diào)度媒體工作負(fù)荷的系統(tǒng)的示意圖;
[0005]圖3是示出根據(jù)各實(shí)施例的,用于調(diào)度媒體工作負(fù)荷的方法的過(guò)程流程圖;
[0006]圖4A是示出根據(jù)各實(shí)施例的,用于調(diào)度媒體工作負(fù)荷的方法的過(guò)程流程圖;
[0007]圖4B是示出根據(jù)各實(shí)施例的,用于調(diào)節(jié)特征的方法的過(guò)程流程圖;
[0008]圖5是示出根據(jù)各實(shí)施例的,存儲(chǔ)了用于調(diào)度媒體工作負(fù)荷的代碼的有形的、非瞬態(tài)、計(jì)算機(jī)可讀介質(zhì)的框圖;
[0009]圖6是用于實(shí)現(xiàn)共享的物理存儲(chǔ)器的示例性系統(tǒng)的框圖;和
[0010]圖7是其中可實(shí)現(xiàn)圖6的系統(tǒng)的小形狀系數(shù)設(shè)備700的示意圖。
[0011]在整個(gè)公開(kāi)和附圖中使用相同的標(biāo)號(hào)來(lái)指示相似的組件和特征。100系列的標(biāo)號(hào)涉及在圖1中最初可見(jiàn)的特征,200系列的標(biāo)號(hào)涉及在圖2中最初可見(jiàn)的特征,以此類(lèi)推。
【具體實(shí)施方式】
[0012]GPU可被用于各種媒體功能,諸如媒體回放和3D應(yīng)用。GPU的很多用途包括編碼和解碼多個(gè)數(shù)據(jù)流。如此處所使用地,媒體是指包括各數(shù)據(jù)流的任何圖形化內(nèi)容,包括在線視頻廣播或視頻會(huì)議圖像。如上所述,GPU的媒體工作負(fù)荷可相對(duì)較大。當(dāng)媒體工作負(fù)荷超過(guò)特定閾值時(shí),可發(fā)生瓶頸。該閾值可包括GPU的最大吞吐量。瓶頸可引起GPU數(shù)據(jù)處理的中斷、導(dǎo)致劣化的媒體功能。例如,視頻的回放可被累及,且包括在視頻回放中的延遲、或者回放中的數(shù)次開(kāi)始和停止。因此,此處描述的各實(shí)施例涉及媒體工作負(fù)荷的調(diào)度??苫贕PU利用率和存儲(chǔ)器帶寬來(lái)自動(dòng)調(diào)節(jié)媒體工作負(fù)荷。
[0013]諸如由運(yùn)動(dòng)圖像專(zhuān)家組(MPEG)發(fā)布的那些視頻標(biāo)準(zhǔn)和H.264,通過(guò)逐幀處理流來(lái)壓縮視頻流。幀是視頻的靜態(tài)圖像,類(lèi)似于圖片。每一幀可被細(xì)分為宏塊,且宏塊可進(jìn)一步被分為片。宏塊一般是像素塊。例如,在H.264標(biāo)準(zhǔn)中,宏塊是大小為十六乘以十六的像素。片是幀中可被獨(dú)立地編碼或解碼的數(shù)據(jù)單元。因此,如果丟失了幀中的一片,幀的其他片仍可解碼。在各實(shí)施例中,可使用片來(lái)并行編碼和解碼,因?yàn)樗鼈儶?dú)立于圖片中的其他片。片報(bào)頭可包括幀中至少一部分片的尋址信息。尋址信息能標(biāo)識(shí)片的開(kāi)始位置。片報(bào)頭中可包括其他信息,包括與片關(guān)聯(lián)的任何過(guò)濾器信息,以及片的編碼類(lèi)型,諸如MPEG或H.264。
[0014]在以下描述和權(quán)利要求書(shū)中,可使用術(shù)語(yǔ)“耦合”和“連接”及其衍生詞。應(yīng)當(dāng)理解,這些術(shù)語(yǔ)并不旨在作為彼此的同義詞。相反,在特定實(shí)施例中,可使用“連接的”來(lái)指示兩個(gè)或更多元件彼此直接物理或電氣接觸?!榜詈稀笨杀硎緝蓚€(gè)或多個(gè)元件直接物理或電氣接觸。然而,“耦合”也可意味著兩個(gè)或更多個(gè)元件并未彼此直接接觸,但是仍然彼此協(xié)作、彼此相互作用。
[0015]一些實(shí)施例可在硬件、固件和軟件中的一者或組合中實(shí)現(xiàn)。一些實(shí)施例還可被實(shí)現(xiàn)為存儲(chǔ)在機(jī)器可讀介質(zhì)上的指令,其可由計(jì)算平臺(tái)讀取和執(zhí)行以執(zhí)行本文所述的操作。機(jī)器可讀介質(zhì)可包括用于存儲(chǔ)或傳送機(jī)器(例如,計(jì)算機(jī))可讀形式的信息的任何機(jī)制。例如,機(jī)器可讀介質(zhì)可包括只讀存儲(chǔ)器(ROM);隨機(jī)存取存儲(chǔ)器(RAM);磁盤(pán)存儲(chǔ)介質(zhì);光存儲(chǔ)介質(zhì);閃存設(shè)備;或電、光、聲或其它形式的傳播信號(hào)(例如,載波、紅外信號(hào)、數(shù)字信號(hào)、或發(fā)送和/或接收信號(hào)的接口等)等等。
[0016]實(shí)施例是實(shí)現(xiàn)或示例。說(shuō)明書(shū)中對(duì)“實(shí)施例”、“一個(gè)實(shí)施例”、“一些實(shí)施例”、“各種實(shí)施例”或“其它實(shí)施例”的引用表示結(jié)合這些實(shí)施例而描述的特定特征、結(jié)構(gòu)、或特性被包括在本發(fā)明的至少一些實(shí)施例中,而不一定在所有的實(shí)施例中。“實(shí)施例”、“ 一個(gè)實(shí)施例”、“一些實(shí)施例”的各自出現(xiàn)不一定都指代相同的實(shí)施例。一個(gè)實(shí)施例的元件或方面可與另一個(gè)實(shí)施例的元件或方面組合。
[0017]并非本文中描述和示出的所有組件、特征、結(jié)構(gòu)、特性等等都需要被包括在特定實(shí)施例或多個(gè)實(shí)施例中。例如,如果說(shuō)明書(shū)陳述“可”、“可能”、“能”、或“能夠”包括組件、特征、結(jié)構(gòu)、或特性,則不一定包括該特定組件、特征、結(jié)構(gòu)、或特性。如果說(shuō)明書(shū)或權(quán)利要求書(shū)提到“一”或“一個(gè)”元件,則這并不意味著僅有一個(gè)該元件。如果說(shuō)明書(shū)或權(quán)利要求書(shū)提及“附加”元件,這不排除有一個(gè)以上的附加元件。
[0018]要注意的是,雖然參考特定實(shí)現(xiàn)方式描述了一些實(shí)施例,但根據(jù)一些實(shí)施例,其他實(shí)現(xiàn)方式也是可能的。另外,附圖中所示的和/或本文描述的電路元件或其它特征的配置和/或順序不需要以所示和所描述的特定方式安排。根據(jù)某些實(shí)施例很多其它配置也是可能的。
[0019]在附圖中示出的每個(gè)系統(tǒng)中,在一些情況下的元件可分別具有相同附圖標(biāo)記或不同的附圖標(biāo)記,以暗示所表示的元件可能不同和/或相似。然而,元件是足夠靈活的以具有不同的實(shí)現(xiàn)并與本文所示或所描述的系統(tǒng)中的部分或全部一起操作。附圖中所示的各元件可以相同或不同。將哪個(gè)稱(chēng)為第一元件以及將哪個(gè)稱(chēng)為第二元件是任意的。
[0020]圖1是根據(jù)各實(shí)施例,可被用于調(diào)度工作負(fù)荷的計(jì)算設(shè)備100的框圖。該計(jì)算設(shè)備100可以是,例如,膝上型計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、平板計(jì)算機(jī)、移動(dòng)設(shè)備、服務(wù)器、或手機(jī),等等。計(jì)算設(shè)備100可包括中央處理單元(CPU) 102,被配置為執(zhí)行所存儲(chǔ)的指令,還有存儲(chǔ)器設(shè)備104,存儲(chǔ)可由CPU102執(zhí)行的指令。CPU102可以是單核處理器、多核處理器、計(jì)算簇、或者任意數(shù)量的其他配置。進(jìn)一步,計(jì)算設(shè)備100可包括多于一個(gè)的CPU102。可使用由CPU102執(zhí)行的指令來(lái)調(diào)度媒體工作負(fù)荷。
[0021]計(jì)算設(shè)備100還可包括圖形處理單元(GPU)104。如圖所示,CPU102可通過(guò)總線106連接至GPU104。然而,在一些實(shí)施例中,CPU102和GPU104位于同一管芯(die)上。GPU104可被配置為執(zhí)行計(jì)算設(shè)備100中的任意數(shù)量的圖形操作。例如,GPU104可被配置為呈現(xiàn)或操作圖形化圖像、圖形幀、視頻等,使其向計(jì)算設(shè)備100的用戶顯示。
[0022]GPU104還可包括采樣引擎108、3D引擎110、和媒體引擎112。引擎是GPU104組件,可被用于并行處理發(fā)送至GPU104的數(shù)據(jù)。盡管示出了三個(gè)GPU引擎,該GPU可包含任意數(shù)量的引擎。例如,該GPU104可包含著色引擎和多格式CODEC(MFX)弓丨擎。如圖所示,在計(jì)算設(shè)備100中,3D引擎110可與處理其他類(lèi)型媒體的媒體引擎114并行地來(lái)處理3D圖像數(shù)據(jù)。采樣引擎118可從GPU計(jì)數(shù)器114中收集數(shù)據(jù)。此外,在各實(shí)施例中,著色引擎可處理3D圖像數(shù)據(jù),同時(shí)MFX引擎解碼被發(fā)送至GPU104的數(shù)據(jù)。GPU計(jì)數(shù)器114可收集與GPU104相關(guān)的性能數(shù)據(jù)。特定地,GPU計(jì)數(shù)器114可測(cè)量GPU104的負(fù)荷與吞吐量。采樣引擎108可將GPU性能數(shù)據(jù)從GPU計(jì)數(shù)器114發(fā)送到內(nèi)核模式驅(qū)動(dòng)器(KMD) 116?;趤?lái)自GPU計(jì)數(shù)器114的數(shù)據(jù),KMDl 16可計(jì)算GPU利用率和存儲(chǔ)器帶寬。
[0023]計(jì)算設(shè)備100包括一個(gè)或多個(gè)攝像頭118。如上所述,手機(jī)可具有兩個(gè)前向攝像頭和一個(gè)后向攝像頭??墒褂眠@多個(gè)攝像頭來(lái)捕捉視頻。此外,計(jì)算設(shè)備100包括存儲(chǔ)器設(shè)備120。存儲(chǔ)器設(shè)備120可包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、閃存、或任何其他合適的存儲(chǔ)系統(tǒng)。例如,存儲(chǔ)器設(shè)備120可包括動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)。
[0024]存儲(chǔ)器設(shè)備120包括媒體特征建模數(shù)據(jù)庫(kù)122。根據(jù)各實(shí)施例,該媒體特征建模數(shù)據(jù)庫(kù)122包括可被修改從而調(diào)節(jié)GPU利用率和媒體工作負(fù)荷存儲(chǔ)器帶寬的一組特征。該媒體特征建模數(shù)據(jù)庫(kù)122可離線或?qū)崟r(shí)地建模。
[0025]在該媒體特征建模數(shù)據(jù)庫(kù)122中可包括數(shù)個(gè)特征。每一個(gè)特征可修改媒體工作負(fù)荷的某個(gè)方面,諸如解碼、視頻處理、編碼、或存儲(chǔ)器存取。在各實(shí)施例中,可使用CODEC來(lái)解碼或編碼媒體工作負(fù)荷。因此,可通過(guò)修改對(duì)應(yīng)的CODEC來(lái)修改解碼特征或編碼特征。
[0026]在各示例中,可通過(guò)禁用使用片報(bào)頭的內(nèi)循環(huán)去馬賽克(in-loop de-blocking)、或者通過(guò)在解碼過(guò)程中跳過(guò)雙向預(yù)測(cè)幀(B-幀)或預(yù)測(cè)幀(P-幀),來(lái)修改媒體工作負(fù)荷的解碼方面。內(nèi)循環(huán)去馬賽克是當(dāng)解碼媒體回放時(shí)施加至每一片的視頻過(guò)濾器,從而通過(guò)平滑當(dāng)使用塊編碼技術(shù)時(shí)在片之間可形成的尖銳邊緣,來(lái)改進(jìn)視頻的視覺(jué)質(zhì)量和預(yù)測(cè)性能。如上所述,片是每一幀內(nèi)被編碼或解碼的數(shù)據(jù)單元。每一片可包含報(bào)頭,具有與該片有關(guān)的信息,諸如片的編碼或解碼格式,等等??赏ㄟ^(guò)移除包含在每一片的報(bào)頭內(nèi)的去馬賽克過(guò)濾器信息來(lái)禁用內(nèi)循環(huán)去馬賽克。通過(guò)禁用這個(gè)特征,可減少被用于編碼的媒體工作負(fù)荷的部分。
[0027]通過(guò)在解碼媒體工作負(fù)荷的視頻的同時(shí)跳過(guò)B-幀或P-幀也可減少被用于解碼的媒體工作負(fù)荷的部分。如上所述,每一幀是與其他幀一起連續(xù)地播放來(lái)呈現(xiàn)整個(gè)視頻的靜態(tài)圖片??墒褂酶鞣N幀類(lèi)型從而壓縮整個(gè)視頻,包括預(yù)測(cè)圖片幀(P-幀)、和雙向預(yù)測(cè)圖片幀(B-幀)。P-幀對(duì)當(dāng)與前一幀相比時(shí)發(fā)生的圖像中的變換進(jìn)行編碼。因此,當(dāng)視頻是彈起越過(guò)靜態(tài)背景的球時(shí),編碼球的移動(dòng),而不編碼靜態(tài)背景。當(dāng)與編碼整個(gè)幀,包括靜態(tài)背景,相t匕,藉此減少了經(jīng)編碼的文件的大小。B-幀將當(dāng)前幀與前一幀進(jìn)行比較,并且編碼兩個(gè)幀之間的變化從而對(duì)于視頻信息編碼。因此,當(dāng)視頻是彈起越過(guò)靜態(tài)背景的球時(shí),編碼球的經(jīng)改變的位置,而不編碼靜態(tài)背景。當(dāng)使用P-幀或B-幀來(lái)編碼視頻時(shí),當(dāng)解碼視頻時(shí)可跳過(guò)一些P-幀或B-幀從而減少媒體工作負(fù)荷。在解碼視頻時(shí)跳過(guò)數(shù)個(gè)、非連續(xù)的P-幀或B-幀,可減少媒體工作負(fù)荷的GPU利用,且人眼一般檢測(cè)不到。
[0028]可在各種使用中發(fā)生解碼,包括但不限于高清晰度回放、WiDi回放、或在視頻會(huì)議過(guò)程中。進(jìn)一步,在各示例中,在解碼過(guò)程中跳過(guò)P-幀或B-幀之前就禁用內(nèi)循環(huán)去馬賽克。與解碼過(guò)程中當(dāng)跳過(guò)P-幀或B-幀時(shí)發(fā)生的視頻質(zhì)量的減少相比較而言,當(dāng)禁用內(nèi)循環(huán)去馬賽克時(shí)視頻質(zhì)量的減少時(shí)非常小的。因此,由于與解碼過(guò)程中當(dāng)跳過(guò)P-幀或B-幀時(shí)發(fā)生的視頻質(zhì)量的減少相比較而言,禁用內(nèi)循環(huán)去馬賽克對(duì)于視頻質(zhì)量影響更小,期望首先禁用內(nèi)循環(huán)去馬賽克。
[0029]還可修改諸如圖像穩(wěn)定、幀速率轉(zhuǎn)換、伽馬修正增強(qiáng)、皮膚色調(diào)增強(qiáng)、幀速率減少、和幀大小之類(lèi)的一個(gè)或多個(gè)視頻處理特征來(lái)調(diào)節(jié)媒體工作負(fù)荷。例如,通過(guò)減少數(shù)據(jù)的幀速率或幀尺寸,可減少GPU利用率,藉此能使GPU處理數(shù)據(jù)流而沒(méi)有用戶所感知的媒體回放劣化。視頻處理發(fā)生在各種使用過(guò)程中,包括但不限于高清晰度回放、WiDi回放、或在視頻會(huì)議過(guò)程中。在各示例中,當(dāng)視頻處理特征被修改時(shí),可在禁用其他視頻處理特征之前就禁用幀速率轉(zhuǎn)換。這是由于幀速率轉(zhuǎn)換一般是GPU管路中冗長(zhǎng)的步驟。在已經(jīng)禁用幀速率轉(zhuǎn)換后,可禁用圖像穩(wěn)定來(lái)進(jìn)一步減少媒體工作負(fù)荷。圖像穩(wěn)定也可占據(jù)大部分的GPU時(shí)間。在已經(jīng)禁用圖像穩(wěn)定后,可禁用伽馬修正增強(qiáng)和皮膚色調(diào)增強(qiáng)。最后,在各示例中,可禁用其他特征,諸如幀速率減少和幀大小。通過(guò)以如上所述的順序來(lái)禁用視頻處理特征,可以對(duì)圖像質(zhì)量具有最小影響、同時(shí)減少GPU利用率的方式來(lái)禁用這些特征。
[0030]可修改諸如比特率、動(dòng)作估算、和宏塊形狀之類(lèi)的編碼特征從而調(diào)節(jié)用于編碼視頻信號(hào)的媒體工作負(fù)荷的部分。特定地,可減少由編碼所處理的數(shù)據(jù)的諸如比特率之類(lèi)的特征,同時(shí)響應(yīng)于由于編碼引起的較高的GPU利用,來(lái)打開(kāi)或關(guān)閉諸如flash媒體編碼(FME)和分層運(yùn)動(dòng)估算(HME)之類(lèi)的運(yùn)動(dòng)估算技術(shù)。還可修改宏塊形狀。例如,宏塊可具有不同大小,諸如十六乘十六像素或八乘八像素。
[0031]在各示例中,在編碼過(guò)程中,在調(diào)節(jié)媒體工作負(fù)荷的其他特征前,可減少比特率。比特率可消耗大量GPU時(shí)間,且減少比特率可減少被用于編碼的GPU時(shí)間。在各示例中,在已經(jīng)減少比特率后,可降低運(yùn)動(dòng)估算復(fù)雜度,藉此減少被用于運(yùn)動(dòng)估算的GPU時(shí)間。最后,在各示例中,在已經(jīng)降低了運(yùn)動(dòng)估算復(fù)雜度后,可改變宏塊形狀從而修改媒體工作負(fù)荷。類(lèi)似于視頻處理特征,通過(guò)以如上所述的順序來(lái)禁用編碼特征,可以對(duì)圖像質(zhì)量具有最小影響、同時(shí)減少GPU利用率的方式來(lái)禁用這些特征。
[0032]通過(guò)修改媒體工作負(fù)荷的各特征還可減少存儲(chǔ)器帶寬。例如,一些工作負(fù)荷可使用大部分存儲(chǔ)器,而其他工作負(fù)荷使用較少的存儲(chǔ)器。通過(guò)數(shù)據(jù)從存儲(chǔ)器中檢索出時(shí)的可用存儲(chǔ)器帶寬,可限制工作負(fù)荷。因此,通過(guò)減少GPU上的執(zhí)行單元線程的數(shù)量,作為受限的存儲(chǔ)器帶寬的結(jié)果,可減少媒體工作負(fù)荷來(lái)避免GPU性能中的任何抖動(dòng)、延遲、或停滯。也可修改影響存儲(chǔ)器帶寬的其他特征。在各示例中,可以其中在其他特征前禁用使用最多的存儲(chǔ)器帶寬的特征的順序來(lái)修改影響存儲(chǔ)器帶寬的特征。
[0033]存儲(chǔ)器設(shè)備120還包括基于GPU和存儲(chǔ)器輸入來(lái)調(diào)節(jié)工作負(fù)荷的工作負(fù)荷調(diào)度器124。在各實(shí)施例中,工作負(fù)荷調(diào)度器124可與采樣引擎108和媒體特征建模數(shù)據(jù)庫(kù)122通信,從而確定實(shí)時(shí)修改媒體工作負(fù)荷的哪個(gè)特征。以此方式,獲得能在不累及用戶所感知的GPU性能的情況下實(shí)現(xiàn)GPU最大化使用的GPU利用率和存儲(chǔ)器帶寬。然后,工作負(fù)荷可從工作負(fù)荷調(diào)度器124發(fā)送出,以供如圖2中所示地處理,且然后發(fā)送至GPU104。
[0034]計(jì)算設(shè)備100可包括存儲(chǔ)器126。存儲(chǔ)器126是諸如硬盤(pán)驅(qū)動(dòng)器、光盤(pán)驅(qū)動(dòng)器、拇指驅(qū)動(dòng)器、驅(qū)動(dòng)器陣列、或其中任意組合之類(lèi)的物理存儲(chǔ)器。存儲(chǔ)器126還可包括遠(yuǎn)程存儲(chǔ)驅(qū)動(dòng)器。存儲(chǔ)器還可包括一個(gè)或多個(gè)媒體應(yīng)用128。
[0035]CPU102還可通過(guò)總線106連接至輸入/輸出(I/O)設(shè)備接口 130,該接口 130被配置為將計(jì)算設(shè)備100連接至一個(gè)或多個(gè)I/O設(shè)備132。I/O設(shè)備132可包括,例如,鍵盤(pán)和指向設(shè)備,其中指向設(shè)備可包括觸摸板或觸摸屏,等等。I/O設(shè)備132可以是計(jì)算設(shè)備100的內(nèi)置組件,或可以是從外部連接至計(jì)算設(shè)備100的設(shè)備。
[0036]CPU102還可通過(guò)總線106鏈接至顯示接口 134,該接口 134被配置為將計(jì)算設(shè)備100連接至顯示設(shè)備136。顯示設(shè)備136可包括顯示屏,其為計(jì)算設(shè)備100的內(nèi)置組件。顯示設(shè)備136還可包括從外部連接至計(jì)算設(shè)備100的計(jì)算機(jī)監(jiān)視器、電視機(jī)、或投影儀等等。網(wǎng)絡(luò)接口控制器(NIC) 138可被配置為通過(guò)總線106將計(jì)算設(shè)備100連接至網(wǎng)絡(luò)140。網(wǎng)絡(luò)140可以是有線網(wǎng)絡(luò)、無(wú)線網(wǎng)絡(luò)、或蜂窩網(wǎng)絡(luò)。網(wǎng)絡(luò)140可以是任何廣域網(wǎng)(WAN)、任何局域網(wǎng)(LAN)、或因特網(wǎng),等等。例如,網(wǎng)絡(luò)140可以是3GPP LTE網(wǎng)絡(luò)或WiFi網(wǎng)絡(luò)。
[0037]圖1的框圖并不意在表示,計(jì)算設(shè)備100必須包括圖1中所示的全部組件。進(jìn)一步,取決于特定實(shí)現(xiàn)的細(xì)節(jié),計(jì)算設(shè)備100可包括圖1中未示出的任意數(shù)量的附加組件。
[0038]圖2是根據(jù)各實(shí)施例的,可被用于調(diào)度媒體工作負(fù)荷的系統(tǒng)200的示意圖。類(lèi)似標(biāo)記的項(xiàng)如根據(jù)圖1所描述。系統(tǒng)200可包括媒體應(yīng)用126。該媒體應(yīng)用126可包括播放電影的應(yīng)用、視頻會(huì)議軟件、或照相機(jī)軟件,等等。來(lái)自媒體應(yīng)用126的工作負(fù)荷可被發(fā)送至調(diào)度組件202。調(diào)度組件202包括媒體特征建模數(shù)據(jù)庫(kù)122、采樣引擎108、工作負(fù)荷調(diào)度器124、和比較器204。如相對(duì)圖1所述地,工作負(fù)荷調(diào)度器124可與采樣引擎108和媒體特征建模數(shù)據(jù)庫(kù)122通信從而確定實(shí)時(shí)修改媒體工作負(fù)荷的哪個(gè)特征,從而調(diào)節(jié)GPU利用率和存儲(chǔ)器帶寬。如果GPU利用率或存儲(chǔ)器帶寬低于閾值,比較器204將發(fā)送消息給工作負(fù)荷調(diào)度器124,表示不需發(fā)生對(duì)于來(lái)自應(yīng)用128的媒體工作負(fù)荷的任何修改。當(dāng)GPU利用率或存儲(chǔ)器帶寬高于閾值時(shí),比較器204將發(fā)送消息給工作負(fù)荷調(diào)度器124,表示需修改該媒體工作負(fù)荷。例如,如果GPU利用率高于95%的閾值,則可修改媒體工作負(fù)荷。類(lèi)似地,當(dāng)超過(guò)存儲(chǔ)器帶寬的百分比時(shí),可使用帶寬作為閾值。因此,當(dāng)每秒五吉比特(gigabite)的閾值被超過(guò)時(shí),可修改媒體工作負(fù)荷。
[0039]可將工作負(fù)荷從調(diào)度組件202發(fā)送到C0DEC206。CODEC是計(jì)算設(shè)備的軟件或硬件組件,可將媒體工作負(fù)荷轉(zhuǎn)換為可由GPU處理的格式。然后經(jīng)轉(zhuǎn)換的工作負(fù)荷被發(fā)送到媒體驅(qū)動(dòng)器208。在各實(shí)施例中,媒體驅(qū)動(dòng)器208將經(jīng)轉(zhuǎn)換的工作負(fù)荷放在緩存中。AKMD116可被用于計(jì)算經(jīng)轉(zhuǎn)換的工作負(fù)荷的GPU利用率210和存儲(chǔ)器帶寬212。此外,硬件,諸如GPU104,可處理來(lái)自緩存的經(jīng)轉(zhuǎn)換的工作負(fù)荷。
[0040]KMDl 16還將經(jīng)計(jì)算的GPU利用率210和存儲(chǔ)器帶寬212作為反饋214發(fā)送到調(diào)度組件202。比較器204使用該反饋214來(lái)確定GPU利用率210或存儲(chǔ)器帶寬212是大于還是小于特定閾值。如上所述,工作負(fù)荷調(diào)度器可基于來(lái)自比較器204的結(jié)果來(lái)修改媒體工作負(fù)荷。
[0041]圖3是根據(jù)各實(shí)施例的,示出用于調(diào)度媒體工作負(fù)荷的方法300的過(guò)程流程圖。在各實(shí)施例中,可在諸如計(jì)算設(shè)備100之類(lèi)的計(jì)算設(shè)備上執(zhí)行該方法300。在其他實(shí)施例中,可使用諸如上述相對(duì)圖2討論的系統(tǒng)200之類(lèi)的系統(tǒng)來(lái)執(zhí)行該方法300。
[0042]通過(guò)建模媒體工作負(fù)荷的特征,在框302處,開(kāi)始該方法。在各實(shí)施例中,該特征是由GPU或任意的GPU引擎所處理的工作負(fù)荷的任意方面,其可被調(diào)節(jié)從而防止或解決GPU的數(shù)據(jù)處理瓶頸。當(dāng)GPU利用率高于閾值、或存儲(chǔ)器帶寬高于閾值時(shí),可發(fā)生數(shù)據(jù)處理瓶頸。進(jìn)一步,在各實(shí)施例中,特征可被存儲(chǔ)在媒體特征建模數(shù)據(jù)庫(kù)內(nèi)。
[0043]在框304處,可確定媒體工作負(fù)荷的GPU利用率和存儲(chǔ)器帶寬。如上所述,可使用內(nèi)核模式驅(qū)動(dòng)器來(lái)確定GPU利用率和存儲(chǔ)器帶寬。在框306,通過(guò)修改媒體工作負(fù)荷的特征來(lái)調(diào)度媒體工作負(fù)荷,從而調(diào)節(jié)GPU利用率和存儲(chǔ)器帶寬。在各實(shí)施例中,調(diào)節(jié)GPU利用率和存儲(chǔ)器帶寬包括提供對(duì)于媒體工作負(fù)荷的動(dòng)態(tài)控制、調(diào)節(jié)媒體的編碼和解碼、調(diào)節(jié)視頻回放、以及調(diào)節(jié)視頻會(huì)議、照相機(jī)功能、或無(wú)線播放功能的參數(shù)。此外,在各實(shí)施例中,可從媒體工作負(fù)荷中移除特征。
[0044]圖4A是示出根據(jù)各實(shí)施例的,用于調(diào)度媒體工作負(fù)荷的方法400的過(guò)程流程圖。在框402,媒體調(diào)度器將基于每一類(lèi)型的使用模型的默認(rèn)設(shè)置來(lái)調(diào)度工作負(fù)荷。使用模型代表了工作負(fù)荷執(zhí)行的操作的類(lèi)型。使用模型的默認(rèn)設(shè)置包括能進(jìn)行使用模型的操作的設(shè)置。例如,視頻回放操作是使用模型的一個(gè)類(lèi)型。視頻回放操作的默認(rèn)設(shè)置可包括,但不限于,啟用視頻處理特征、執(zhí)行圖像穩(wěn)定、和提供幀速率轉(zhuǎn)換。在框404,獲得來(lái)自GPU計(jì)數(shù)器的信息。在各實(shí)施例中,在一些工作負(fù)荷被發(fā)送到GPU之后,調(diào)度組件可收集來(lái)自GPU計(jì)數(shù)器的反饋,從而可計(jì)算GPU利用率和存儲(chǔ)器帶寬。進(jìn)一步,在各實(shí)施例中,可對(duì)于每一個(gè)GPU引擎而計(jì)算GPU利用率。在框406,該方法確定GPU或GPU引擎是否過(guò)載。如果任何GPU或GPU引擎過(guò)載,過(guò)程流程繼續(xù)到框408。如果沒(méi)有任何GPU或GPU引擎過(guò)載,過(guò)程流程繼續(xù)到框410。
[0045]在框408,修改媒體工作負(fù)荷的特征從而減少GPU利用率。例如,如果GPU的3D引擎過(guò)載,從而3D引擎的利用率高于預(yù)定閾值,則可修改減少3D引擎的利用率的特征。過(guò)程流程可然后返回至框402并調(diào)度工作負(fù)荷。圖4B進(jìn)一步示出根據(jù)各實(shí)施例的用于調(diào)節(jié)特征的方法。
[0046]在框412,確定存儲(chǔ)器是否帶寬受限。如果存儲(chǔ)器帶寬受限,過(guò)程流程繼續(xù)到框414。如果存儲(chǔ)器帶寬沒(méi)有受限,過(guò)程流程則可返回到框402并調(diào)度工作負(fù)荷。在框414,可修改特征從而減少存儲(chǔ)器帶寬。在各示例中,如果媒體弓I擎過(guò)載,從而超過(guò)最大存儲(chǔ)器帶寬,可修改減少存儲(chǔ)器帶寬的特征。然后過(guò)程流程返回框402來(lái)調(diào)度工作負(fù)荷。
[0047]圖4B是示出根據(jù)各實(shí)施例的,用于修改媒體工作負(fù)荷的特征的方法420的過(guò)程流程圖。在框422,確定著色引擎是否過(guò)載。在各示例中,著色引擎可以是GPU的渲染3D圖像的引擎。如果GPU的著色引擎過(guò)載,以致著色引擎的利用率大于預(yù)定閾值,則過(guò)程流程繼續(xù)到框424。
[0048]在框424,修改減少著色引擎的利用率的特征。在框426,確定MFX引擎是否過(guò)載。在各示例中,MFX引擎是GPU的解碼各種數(shù)據(jù)流的引擎。如果MFX引擎過(guò)載,過(guò)程流程可繼續(xù)到框428。
[0049]在框428,修改減少M(fèi)FX引擎的利用率的CODEC特征。如上所述,CODEC是計(jì)算設(shè)備的軟件或硬件組件,可將媒體工作負(fù)荷轉(zhuǎn)換為可由GPU處理的格式。在各實(shí)施例中,CODEC可以是C0DEC206 (圖2)。此外,在各實(shí)施例中,CODEC可以是CPU引擎的組件,諸如MFX引擎或媒體引擎114 (圖1)。CODEC的各方面可被修改從而減少M(fèi)FX引擎的利用率。過(guò)程流程可然后返回至框402并調(diào)度工作負(fù)荷。
[0050]圖3、4A、和4B的過(guò)程流程圖并不意在表示方法300和400的框要以任何特定順序執(zhí)行,或者在每一情況下都要包括所有框。進(jìn)一步,取決于特定實(shí)現(xiàn)的細(xì)節(jié),可在方法300和400中包括任何數(shù)量的附加框。
[0051]圖5是示出根據(jù)各實(shí)施例的,存儲(chǔ)了用于調(diào)度媒體工作負(fù)荷的代碼的一個(gè)或多個(gè)有形的、非瞬態(tài)、計(jì)算機(jī)可讀介質(zhì)500的框圖。因此,根據(jù)各實(shí)施例,一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)可存儲(chǔ)用于調(diào)度媒體工作負(fù)荷的代碼。一個(gè)或多個(gè)有形、非瞬態(tài)、計(jì)算機(jī)可讀介質(zhì)500可由處理器502在計(jì)算機(jī)總線504上訪問(wèn)。進(jìn)一步,該一個(gè)或多個(gè)有形、非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)500可包括配置為引導(dǎo)處理器502執(zhí)行此處所述的方法的代碼。
[0052]此處討論的各軟件組件可被存儲(chǔ)在如圖5中所示的有形、非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)500上。例如,建模模塊506可被配置為建模媒體工作負(fù)荷的特征。利用模塊508可被配置為確定媒體工作負(fù)荷的GPU利用率和存儲(chǔ)器帶寬。進(jìn)一步,調(diào)度模塊510可被配置為通過(guò)修改媒體工作負(fù)荷的特征來(lái)調(diào)度媒體工作負(fù)荷,從而調(diào)節(jié)GPU利用率和存儲(chǔ)器帶寬。
[0053]圖5的框圖并不意在表示,有形、非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)500必須包括圖5中所示的全部組件。進(jìn)一步,取決于特定實(shí)現(xiàn)的細(xì)節(jié),有形、非瞬態(tài)計(jì)算機(jī)可讀介質(zhì)500可包括圖5中未示出的任意數(shù)量的附加組件。
[0054]圖6是用于實(shí)現(xiàn)共享的物理存儲(chǔ)器的示例性系統(tǒng)600的框圖。類(lèi)似標(biāo)記的項(xiàng)如根據(jù)圖1和2所描述。在一些實(shí)施例中,系統(tǒng)600是媒體系統(tǒng)。此外,系統(tǒng)600可被結(jié)合在個(gè)人計(jì)算機(jī)(PC)、膝上型計(jì)算機(jī)、超膝上型計(jì)算機(jī)、平板、觸摸墊、便攜式計(jì)算機(jī)、手持式計(jì)算機(jī)、掌上型計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、蜂窩電話、組合蜂窩電話/PDA、電視機(jī)、智能設(shè)備(例如,智能電話、智能平板、或智能電視機(jī))、移動(dòng)因特網(wǎng)設(shè)備(MID)、消息收發(fā)設(shè)備、數(shù)據(jù)通信設(shè)備等等中。
[0055]在各種實(shí)施例中,系統(tǒng)600包括耦合至顯示器604的平臺(tái)602。平臺(tái)602可以從諸如內(nèi)容服務(wù)設(shè)備(多個(gè))606、或內(nèi)容分發(fā)設(shè)備608 (多個(gè))之類(lèi)的內(nèi)容設(shè)備或其他類(lèi)似的內(nèi)容源接收內(nèi)容。包括一個(gè)或多個(gè)導(dǎo)航特征的導(dǎo)航控制器610可以被用來(lái)與,例如,平臺(tái)602和/或顯示器604進(jìn)行交互。下文將更詳細(xì)地描述這些組件中的每一個(gè)。
[0056]平臺(tái)602可包括芯片組612、中央處理單元(CPU) 102、存儲(chǔ)器設(shè)備102、存儲(chǔ)設(shè)備126、圖形子系統(tǒng)614、應(yīng)用128、和無(wú)線電616的任意組合。芯片組612可以在CPU102、存儲(chǔ)器設(shè)備120、存儲(chǔ)設(shè)備126、圖形子系統(tǒng)614、應(yīng)用128、和無(wú)線電616之間提供相互通信。例如,芯片組612可包括能夠提供與存儲(chǔ)設(shè)備126的相互通信的存儲(chǔ)適配器(未示出)。
[0057]處理器102可以實(shí)現(xiàn)為復(fù)雜指令集計(jì)算機(jī)(CISC)或精簡(jiǎn)指令集計(jì)算機(jī)(RISC)處理器、x86指令集兼容處理器、多核,或任何其他微處理器或中央處理單元(CPU)。在一些實(shí)施例中,處理器102包括雙核處理器(多個(gè))、雙核移動(dòng)處理器(多個(gè))等等。
[0058]存儲(chǔ)器120可以實(shí)現(xiàn)為易失性存儲(chǔ)器設(shè)備,諸如,但不限于,隨機(jī)存取存儲(chǔ)器(RAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)或靜態(tài)RAM (SRAM)0存儲(chǔ)設(shè)備126可以實(shí)現(xiàn)為非易失性存儲(chǔ)設(shè)備,諸如,但不僅限于,磁盤(pán)驅(qū)動(dòng)器、光盤(pán)驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器、內(nèi)部存儲(chǔ)設(shè)備、附連的存儲(chǔ)設(shè)備、閃存、電池備份的SDRAM (同步DRAM),和/或網(wǎng)絡(luò)可訪問(wèn)的存儲(chǔ)設(shè)備。在各實(shí)施例中,存儲(chǔ)設(shè)備126包括例如當(dāng)包括多個(gè)硬盤(pán)驅(qū)動(dòng)器時(shí),用于提高存儲(chǔ)器性能或?qū)τ袃r(jià)值的數(shù)字媒體的增強(qiáng)保護(hù)的技術(shù)。
[0059]圖形子系統(tǒng)614可以對(duì)諸如靜止圖像或視頻之類(lèi)的圖像執(zhí)行處理,供顯示。圖形子系統(tǒng)614可以包括例如圖形處理單元(GPU),諸如GPU104(圖1)、或視覺(jué)處理單元(VPU)。模擬或數(shù)字接口可以被用來(lái)通信地耦合圖形子系統(tǒng)614和顯示器604。例如,接口可以是高清晰度多媒體接口、DisplayPort、無(wú)線HDMIjP /或符合無(wú)線HD的技術(shù)中的任何一個(gè)。圖形子系統(tǒng)614可以被集成到CPU102或芯片組612中。可選地,圖形子系統(tǒng)614可以是通信耦合到芯片組612的獨(dú)立卡。
[0060]此處所描述的圖形和/或視頻處理技術(shù)可以以各種硬件體系結(jié)構(gòu)來(lái)實(shí)現(xiàn)。例如,圖形和/或視頻功能可以集成在芯片組612內(nèi)。可選地,可以使用分立的圖形和/或視頻處理器。作為再一個(gè)實(shí)施例,圖形和/或視頻功能可以通過(guò)通用處理器(包括多核處理器)來(lái)實(shí)現(xiàn)。在又一實(shí)施例中,功能可以在消費(fèi)電子設(shè)備中實(shí)現(xiàn)。
[0061]無(wú)線電616可以包括能夠使用各種合適的無(wú)線通信技術(shù)傳輸和接收信號(hào)的一個(gè)或多個(gè)無(wú)線電。這樣的技術(shù)可以涉及跨一個(gè)或多個(gè)無(wú)線網(wǎng)絡(luò)的通信。示例性無(wú)線網(wǎng)絡(luò)包括無(wú)線局域網(wǎng)(WLAN)、無(wú)線個(gè)域網(wǎng)(WPAN)、無(wú)線城域網(wǎng)(WMAN)、蜂窩網(wǎng)絡(luò),以及衛(wèi)星網(wǎng)絡(luò)。在跨這樣的網(wǎng)絡(luò)的通信中,無(wú)線電616可以根據(jù)任何版本的一個(gè)或多個(gè)適用的標(biāo)準(zhǔn)來(lái)操作。
[0062]顯示器604可包括任何電視機(jī)類(lèi)型的監(jiān)視器或顯示器。例如,顯示器604可包括計(jì)算機(jī)顯示屏幕、觸摸屏幕顯示器、視頻監(jiān)視器、電視機(jī)等。顯示器604可以是數(shù)字和/或模擬的。在一些實(shí)施例中,顯示器604是全息顯示器。同樣,顯示器604可以是可以接收可視投影的透明表面。這樣的投影可以傳達(dá)各種形式的信息、圖像、和/或?qū)ο蟮?。例如,這樣的投影可以是對(duì)于移動(dòng)增強(qiáng)的現(xiàn)實(shí)(MAR)應(yīng)用的可視覆蓋。在一個(gè)或多個(gè)應(yīng)用128的控制下,平臺(tái)602可以在顯示器604上顯示用戶界面618。
[0063]內(nèi)容服務(wù)設(shè)備(多個(gè))606可以由任何國(guó)家的、國(guó)際的、和/或獨(dú)立的服務(wù)托管,且如此,可以由平臺(tái)602經(jīng)由例如因特網(wǎng)訪問(wèn)。內(nèi)容服務(wù)設(shè)備(多個(gè))606可以耦合到平臺(tái)602和/或顯示器604。平臺(tái)602和/或內(nèi)容服務(wù)設(shè)備606可以耦合到網(wǎng)絡(luò)140以往返于網(wǎng)絡(luò)140進(jìn)行通信(例如,發(fā)送和/或接收)媒體信息。內(nèi)容分發(fā)設(shè)備608還可以耦合到平臺(tái)602和/或顯不器604。
[0064]內(nèi)容服務(wù)設(shè)備(多個(gè))606可包括有線電視盒、個(gè)人計(jì)算機(jī)、網(wǎng)絡(luò)、電話、或能傳遞數(shù)字信息的啟用因特網(wǎng)的設(shè)備。此外,內(nèi)容服務(wù)設(shè)備(多個(gè))606可包括能在內(nèi)容提供者和平臺(tái)602或顯示器604之間經(jīng)由網(wǎng)絡(luò)140或直接單向或雙向地通信內(nèi)容的任何其他類(lèi)似設(shè)備??梢岳斫?,內(nèi)容可以通過(guò)網(wǎng)絡(luò)140往返于系統(tǒng)600中的組件中的任何一個(gè)和內(nèi)容提供商單向地和/或雙向地傳遞。內(nèi)容的示例可包括任何媒體信息,包括例如視頻、音樂(lè)、醫(yī)療和游戲信息等等。
[0065]內(nèi)容服務(wù)設(shè)備(多個(gè))606可接收內(nèi)容,諸如有線電視節(jié)目,包括媒體信息、數(shù)字信息和/或其他內(nèi)容。內(nèi)容提供商的示例可包括任何有線或衛(wèi)星電視或無(wú)線電或因特網(wǎng)內(nèi)容提供商等等。
[0066]在一些實(shí)施例中,平臺(tái)602從包括一個(gè)或多個(gè)導(dǎo)航特征的導(dǎo)航控制器610接收控制信號(hào)。導(dǎo)航控制器610的導(dǎo)航特征可以被用來(lái),例如,與用戶界面618進(jìn)行交互。導(dǎo)航控制器610可以是指向設(shè)備,該指向設(shè)備可以是允許用戶向計(jì)算機(jī)輸入空間數(shù)據(jù)(例如,連續(xù)和多維)的計(jì)算機(jī)硬件組件(具體而言,人類(lèi)接口設(shè)備)。許多系統(tǒng),如圖形用戶界面(GUI)以及電視機(jī)和監(jiān)視器,允許用戶使用身體姿勢(shì)來(lái)控制計(jì)算機(jī)或電視機(jī)并向計(jì)算機(jī)或電視機(jī)提供數(shù)據(jù)。物理姿勢(shì)包括但不限于臉部表情、面部動(dòng)作、各肢體的動(dòng)作、身體動(dòng)作、身體語(yǔ)言、或其中任意組合。這樣的物理姿勢(shì)可被識(shí)別并轉(zhuǎn)換為命令或指令。
[0067]導(dǎo)航控制器610的導(dǎo)航特征的移動(dòng)可以通過(guò)指針、光標(biāo)、焦點(diǎn)環(huán),或顯示在顯示器604上的其他可視指示器,反映在顯示器604上。例如,在應(yīng)用128的控制下,位于導(dǎo)航控制器610上的導(dǎo)航特征可以被映射為用戶界面618上顯示的虛擬導(dǎo)航特征。在一些實(shí)施例中,導(dǎo)航控制器610可以不是單獨(dú)的組件,而是被集成到平臺(tái)602和/或顯示器604中。
[0068]系統(tǒng)600可包括驅(qū)動(dòng)(未示出),其包括允許用戶在初始引導(dǎo)之后,按下按鈕來(lái)立即打開(kāi)和關(guān)閉平臺(tái)602的技術(shù)。程序邏輯可以允許平臺(tái)602當(dāng)平臺(tái)被“關(guān)閉”時(shí)向媒體適配器或其他內(nèi)容服務(wù)設(shè)備(多個(gè))606或內(nèi)容分發(fā)設(shè)備(多個(gè))608流式傳送內(nèi)容。另外,芯片集612可包括,例如,對(duì)于5.1環(huán)繞聲音頻和/或高清晰度7.1環(huán)繞聲音頻的硬件和/或軟件支持。驅(qū)動(dòng)可以包括集成的圖形平臺(tái)的圖形驅(qū)動(dòng)程序。在一些實(shí)施例中,圖形驅(qū)動(dòng)器包括外設(shè)組件互連高速(PCIe)圖形卡。
[0069]在各種實(shí)施例中,可以集成系統(tǒng)600中所示出的組件的任何一個(gè)或更多。例如,可集成平臺(tái)602和內(nèi)容服務(wù)設(shè)備(多個(gè))606 ;可集成平臺(tái)602和內(nèi)容分發(fā)設(shè)備(多個(gè))608 ;或者,例如,可集成平臺(tái)602、內(nèi)容服務(wù)設(shè)備(多個(gè))606,以及內(nèi)容分發(fā)設(shè)備(多個(gè))608。在一些實(shí)施例中,平臺(tái)602和顯示器604是集成的單元。例如,可以集成顯示器604和內(nèi)容服務(wù)設(shè)備(多個(gè))606,或者可集成顯示器604和內(nèi)容分發(fā)設(shè)備(多個(gè))608。
[0070]系統(tǒng)600可被實(shí)現(xiàn)為無(wú)線系統(tǒng)或有線系統(tǒng)。當(dāng)實(shí)現(xiàn)為無(wú)線系統(tǒng)時(shí),系統(tǒng)600可以包括適用于通過(guò)無(wú)線共享介質(zhì)進(jìn)行通信的組件和接口,諸如一個(gè)或多個(gè)天線、發(fā)射器、接收器、收發(fā)器、放大器、濾波器、控制邏輯等等。無(wú)線共享介質(zhì)的示例可以包括諸如RF頻譜之類(lèi)的無(wú)線頻譜的某些部分。當(dāng)被實(shí)現(xiàn)為有線系統(tǒng)時(shí),系統(tǒng)600可包括適合于在有線通信介質(zhì)上通信的組件和接口,諸如輸入/輸出(I/O)適配器、將I/O適配器與相應(yīng)的有線通信介質(zhì)連接的物理連接器、網(wǎng)絡(luò)接口卡(NIC)、盤(pán)控制器、視頻控制器、音頻控制器等等。有線通信介質(zhì)的示例可包括,線路、電纜、金屬導(dǎo)線、印刷電路板(PCB)、后面板、交換架構(gòu)、半導(dǎo)體材料、雙絞線、同軸電纜、光纖等等。
[0071]平臺(tái)602可以建立一個(gè)或多個(gè)邏輯或物理信道以傳遞信息。信息可以包括媒體信息和控制信息。媒體信息可指表示給用戶的內(nèi)容的任何數(shù)據(jù)。內(nèi)容的示例可以包括,例如,來(lái)自語(yǔ)音談話、視頻會(huì)議、流式視頻、電子郵件(email)消息、語(yǔ)音郵件消息、字母數(shù)字符號(hào)、圖形、圖像、視頻、文本等等的數(shù)據(jù)。來(lái)自語(yǔ)音談話的數(shù)據(jù)可以是,例如,語(yǔ)音信息、靜默時(shí)間長(zhǎng)度、背景噪聲、舒適噪聲、音調(diào)等等。控制信息可指表示用于自動(dòng)化系統(tǒng)的命令、指令或控制字的任何數(shù)據(jù)。例如,控制信息可以用來(lái)通過(guò)系統(tǒng)路由媒體信息,或指示節(jié)點(diǎn)以預(yù)先確定的方式處理媒體信息。然而,這些實(shí)施例并不限于這些元件或圖6中示出或描述的上下文。
[0072]圖7示出了其中可以實(shí)現(xiàn)圖6的系統(tǒng)600的小形狀系數(shù)設(shè)備900的示意圖。類(lèi)似標(biāo)記的項(xiàng)如根據(jù)圖6所描述。在一些實(shí)施例中,例如,設(shè)備700可被實(shí)現(xiàn)為具有無(wú)線功能的移動(dòng)計(jì)算設(shè)備。移動(dòng)計(jì)算設(shè)備可指具有處理系統(tǒng)和移動(dòng)電源(諸如,例如,一個(gè)或多個(gè)電池)的任何設(shè)備。
[0073]如上文所描述的,移動(dòng)計(jì)算設(shè)備的示例可以包括個(gè)人計(jì)算機(jī)(PC)、膝上型計(jì)算機(jī)、超膝上型計(jì)算機(jī)、平板電腦、觸摸板、便攜式計(jì)算機(jī)、手持式計(jì)算機(jī)、掌上電腦、個(gè)人數(shù)字助理(PDA)、蜂窩電話、蜂窩電話/PDA的組合、電視機(jī)、智能設(shè)備(例如,智能電話、智能平板電腦或智能電視機(jī))、移動(dòng)因特網(wǎng)設(shè)備(MID)、消息傳送設(shè)備、數(shù)據(jù)通信設(shè)備等等。
[0074]移動(dòng)計(jì)算設(shè)備的示例還可以包括被配置為由人佩戴的計(jì)算機(jī),諸如腕計(jì)算機(jī)、手指計(jì)算機(jī)、環(huán)計(jì)算機(jī)、眼鏡計(jì)算機(jī)、皮帶計(jì)算機(jī)、臂帶計(jì)算機(jī)、鞋計(jì)算機(jī)、衣服計(jì)算機(jī),及任何其他類(lèi)型的可佩戴計(jì)算機(jī)。例如,移動(dòng)計(jì)算設(shè)備可被實(shí)現(xiàn)為能夠執(zhí)行計(jì)算機(jī)應(yīng)用以及語(yǔ)音通信、和/或數(shù)據(jù)通信的智能電話。雖然可以利用作為示例實(shí)現(xiàn)為智能電話的移動(dòng)計(jì)算設(shè)備描述一些實(shí)施例,但是,可以理解,其他實(shí)施例也可以使用其他無(wú)線移動(dòng)計(jì)算設(shè)備來(lái)實(shí)現(xiàn)。
[0075]如圖7所示,設(shè)備700可包括外殼702、顯示器704、輸入/輸出(I/O)設(shè)備706、以及天線708。設(shè)備700還可包括導(dǎo)航特征710。顯示器704可以包括用于顯示適合于移動(dòng)計(jì)算設(shè)備的信息的任何合適的顯示單元。I/O設(shè)備706可以包括用于向移動(dòng)計(jì)算設(shè)備中輸入信息的任何合適的I/O設(shè)備。例如,I/O設(shè)備706可包括字母數(shù)字鍵盤(pán)、數(shù)字小鍵盤(pán)、觸摸板、輸入鍵、按鈕、開(kāi)關(guān)、往復(fù)式開(kāi)關(guān)、麥克風(fēng)、揚(yáng)聲器、語(yǔ)音識(shí)別設(shè)備、以及軟件等等。信息還可以通過(guò)麥克風(fēng)的方式輸入到設(shè)備700中。這樣的信息可以通過(guò)語(yǔ)音識(shí)別設(shè)備來(lái)數(shù)字化。
[0076]示例 I
[0077]此處描述了用于調(diào)度計(jì)算設(shè)備的媒體工作負(fù)荷的方法。該方法包括建模媒體工作負(fù)荷的特征??纱_定媒體工作負(fù)荷的GPU利用率和存儲(chǔ)器帶寬。該方法還包括通過(guò)修改媒體工作負(fù)荷的特征來(lái)調(diào)度媒體工作負(fù)荷,從而調(diào)節(jié)GPU利用率和存儲(chǔ)器帶寬。
[0078]可在媒體特征建模數(shù)據(jù)庫(kù)中建模媒體工作負(fù)荷的特征。使用CODEC,媒體工作負(fù)荷可被轉(zhuǎn)換為另一個(gè)格式。此外,可使用內(nèi)核模式驅(qū)動(dòng)器、GPU、和存儲(chǔ)器計(jì)數(shù)器來(lái)確定GPU利用率和存儲(chǔ)器帶寬。可對(duì)于GPU的每一個(gè)引擎確定GPU利用率。當(dāng)GPU利用率或存儲(chǔ)器帶寬高于閾值時(shí),可調(diào)度媒體工作負(fù)荷。調(diào)節(jié)GPU利用率和存儲(chǔ)器帶寬提供了媒體工作負(fù)荷的動(dòng)態(tài)控制、調(diào)節(jié)媒體的編碼和解碼、和調(diào)節(jié)視頻回放。
[0079]示例 2
[0080]此處描述了 一種計(jì)算設(shè)備。該計(jì)算設(shè)備包括被配置為執(zhí)行所存儲(chǔ)的指令的中央處理單元(CPU)和存儲(chǔ)這些指令的存儲(chǔ)設(shè)備。該存儲(chǔ)設(shè)備包括處理器可執(zhí)行代碼,當(dāng)由CPU執(zhí)行這些代碼時(shí),被配置為使用媒體特征建模數(shù)據(jù)庫(kù)來(lái)建模媒體工作負(fù)荷的特征??墒褂脠D形處理單元(GPU)計(jì)數(shù)器來(lái)確定媒體工作負(fù)荷的GPU利用率和存儲(chǔ)器帶寬。通過(guò)修改媒體工作負(fù)荷的特征來(lái)調(diào)度媒體工作負(fù)荷,從而調(diào)節(jié)GPU利用率和存儲(chǔ)器帶寬。
[0081]該計(jì)算設(shè)備可包括攝像頭、視頻聊天應(yīng)用、或視頻會(huì)議應(yīng)用。該處理器可執(zhí)行代碼可被配置為使用確定GPU利用率和存儲(chǔ)器帶寬是大于還是小于閾值的比較器來(lái)調(diào)度媒體工作負(fù)荷??蓪?duì)于GPU的每一個(gè)GPU引擎確定利用率。此外,可使用CODEC來(lái)將媒體工作負(fù)荷轉(zhuǎn)換為另一個(gè)格式,用于由CPU處理。此外,內(nèi)核模式驅(qū)動(dòng)器和具有GPU計(jì)數(shù)器的GPU可被用于確定GPU利用率和存儲(chǔ)器帶寬。調(diào)節(jié)GPU利用率和存儲(chǔ)器帶寬可包括從媒體工作負(fù)荷中移除特征。媒體工作負(fù)荷的特征可被建模到計(jì)算設(shè)備的媒體特征建模數(shù)據(jù)庫(kù)中。權(quán)利要求9的計(jì)算設(shè)備還可包括無(wú)線電和顯示器,且該無(wú)線電和顯示器可被通信地至少耦合至中央處理單元。
[0082]示例 3[0083]此處描述了其中存儲(chǔ)有指令的至少一個(gè)有形的機(jī)器可讀介質(zhì)。響應(yīng)于在計(jì)算設(shè)備上被執(zhí)行,該指令使得計(jì)算機(jī)設(shè)備建模媒體工作負(fù)荷的特征??纱_定媒體工作負(fù)荷的GPU利用率和存儲(chǔ)器帶寬。通過(guò)修改媒體工作負(fù)荷的特征,從而調(diào)節(jié)GPU利用率和存儲(chǔ)器帶寬,可調(diào)度媒體工作負(fù)荷。
[0084]當(dāng)GPU利用率或存儲(chǔ)器帶寬高于閾值時(shí),可調(diào)度媒體工作負(fù)荷。進(jìn)一步,使用CODEC,媒體工作負(fù)荷可被轉(zhuǎn)換為另一個(gè)格式??稍诿襟w特征建模數(shù)據(jù)庫(kù)中建模媒體工作負(fù)荷的特征。此外,可對(duì)于GPU的每一個(gè)引擎確定GPU利用率。
[0085]要理解的是,上述示例中的特定細(xì)節(jié)可被用在一個(gè)或多個(gè)實(shí)施例中的任何地方。例如,上述計(jì)算設(shè)備的所有任選特征也可相對(duì)于此處描述的方法或計(jì)算機(jī)可讀介質(zhì)而被實(shí)現(xiàn)。進(jìn)一步,盡管已經(jīng)在此處使用過(guò)程流程圖和/或狀態(tài)圖來(lái)描述各實(shí)施例,但本發(fā)明不限于此處的那些圖或相應(yīng)的描述。例如,流程不必經(jīng)過(guò)每個(gè)所示的框或狀態(tài)或以此處所示和所述的完全相同的順序進(jìn)行。
[0086]本發(fā)明不限于此處列出的特定細(xì)節(jié)。實(shí)際上,受益于本公開(kāi)的本領(lǐng)域的技術(shù)人員將理解,可在本發(fā)明的范圍內(nèi)進(jìn)行來(lái)自上述描述和附圖的很多其它變型。因此,由所附權(quán)利要求書(shū)(包括對(duì)其進(jìn)行的任何修改)定義本發(fā)明的范圍。
【權(quán)利要求】
1.一種用于調(diào)度媒體工作負(fù)荷的方法,包括: 建模所述媒體工作負(fù)荷的特征; 確定所述媒體工作負(fù)荷的GPU利用率和存儲(chǔ)器帶寬;和 通過(guò)修改所述媒體工作負(fù)荷的特征從而調(diào)節(jié)所述GPU利用率和所述存儲(chǔ)器帶寬,來(lái)調(diào)度所述媒體工作負(fù)荷。
2.如權(quán)利要求1所述的方法,其特征在于,當(dāng)所述GPU利用率或所述存儲(chǔ)器帶寬大于閾值時(shí),調(diào)度所述媒體工作負(fù)荷。
3.如權(quán)利要求1所述的方法,其特征在于,調(diào)節(jié)所述GPU利用率和所述存儲(chǔ)器帶寬包括提供對(duì)于所述媒體工作負(fù)荷的動(dòng)態(tài)控制、調(diào)節(jié)所述媒體的編碼和解碼、調(diào)節(jié)視頻回放、以及調(diào)節(jié)視頻會(huì)議、照相機(jī)功能、或無(wú)線播放功能的參數(shù)。
4.如權(quán)利要求1所述的方法,其特征在于,在媒體特征建模數(shù)據(jù)庫(kù)中建模所述媒體工作負(fù)荷的特征。
5.如權(quán)利要求1所述的方法,其特征在于,包括使用內(nèi)核控制驅(qū)動(dòng)器、GPU、和存儲(chǔ)器計(jì)數(shù)器來(lái)確定所述GPU利用率和所述存儲(chǔ)器帶寬。
6.如權(quán)利要求1所述的方法,其特征在于,包括確定所述GPU的每一個(gè)引擎的所述GPU利用率。
7.如權(quán)利要求1所述的方法,其特征在于,包括使用CODEC將所述媒體工作負(fù)荷轉(zhuǎn)換為另一個(gè)格式。
8.一種計(jì)算設(shè)備,包括: 被配置為執(zhí)行所存儲(chǔ)的指令的中央處理單元(CPU)和存儲(chǔ)指令的存儲(chǔ)設(shè)備,其中所述存儲(chǔ)設(shè)備包括當(dāng)由所述CPU執(zhí)行時(shí)被配置為進(jìn)行如下動(dòng)作的處理器可執(zhí)行指令: 通過(guò)使用媒體特征建模數(shù)據(jù)庫(kù)來(lái)建模所述媒體工作負(fù)荷的特征; 通過(guò)使用圖形處理單元(GPU)計(jì)數(shù)器來(lái)確定所述媒體工作負(fù)荷的GPU利用率和存儲(chǔ)器帶寬;和 通過(guò)修改所述媒體工作負(fù)荷的特征從而調(diào)節(jié)所述GPU利用率和所述存儲(chǔ)器帶寬,來(lái)調(diào)度所述媒體工作負(fù)荷。
9.如權(quán)利要求8所述的計(jì)算設(shè)備,其特征在于,使用確定所述GPU利用率和所述存儲(chǔ)器帶寬大于還是小于閾值的比較器來(lái)調(diào)度所述媒體工作負(fù)荷。
10.如權(quán)利要求8所述的計(jì)算設(shè)備,其特征在于,為了調(diào)節(jié)所述GPU利用率和所述存儲(chǔ)器帶寬,所述CPU將特征從所述媒體工作負(fù)荷移除。
11.如權(quán)利要求8所述的計(jì)算設(shè)備,其特征在于,所述CPU將在媒體特征建模數(shù)據(jù)庫(kù)中建模所述媒體工作負(fù)荷的特征。
12.如權(quán)利要求8所述的計(jì)算設(shè)備,其特征在于,包括內(nèi)核模式驅(qū)動(dòng)器和具有GPU計(jì)數(shù)器的GPU,所述GPU計(jì)數(shù)器來(lái)確定所述GPU利用率和所述存儲(chǔ)器帶寬。
13.如權(quán)利要求8所述的計(jì)算設(shè)備,其特征在于,所述CPU將確定GPU的每一個(gè)GPU引擎的利用率。
14.如權(quán)利要求8所述的計(jì)算設(shè)備,其特征在于,包括CODEC,所述CODEC用于將所述媒體工作負(fù)荷轉(zhuǎn)換為另一個(gè)格式以供GPU處理。
15.如權(quán)利要求8所述的計(jì)算設(shè)備,其特征在于,所述計(jì)算設(shè)備包括攝像頭、視頻聊天應(yīng)用、或視頻會(huì)議應(yīng)用。
16.如權(quán)利要求8所述的計(jì)算設(shè)備,其特征在于,還包括無(wú)線電和顯示器,所述無(wú)線電和顯示器通信地至少耦合至所述CPU。
17.至少一個(gè)機(jī)器可讀介質(zhì),具有存儲(chǔ)在其中的指令,所述指令響應(yīng)于在計(jì)算設(shè)備上被執(zhí)行而使得所述計(jì)算設(shè)備: 通過(guò)使用媒體特征建模數(shù)據(jù)庫(kù)來(lái)建模所述媒體工作負(fù)荷的特征; 確定所述媒體工作負(fù)荷的GPU利用率和存儲(chǔ)器帶寬;和 通過(guò)修改所述媒體工作負(fù)荷的特征從而調(diào)節(jié)所述GPU利用率和所述存儲(chǔ)器帶寬,來(lái)調(diào)度所述媒體工作負(fù)荷。
18.如權(quán)利要求17所述的至少一個(gè)機(jī)器可讀介質(zhì),其特征在于,當(dāng)所述GPU利用率或所述存儲(chǔ)器帶寬大于閾值時(shí)調(diào)度所述媒體工作負(fù)荷。
19.如權(quán)利要求17所述的至少一個(gè)機(jī)器可讀介質(zhì),其特征在于,在媒體特征建模數(shù)據(jù)庫(kù)中建模所述媒體工作負(fù)荷的特征。
20.如權(quán)利要求17所述的至少一個(gè)機(jī)器可讀介質(zhì),其特征在于,包括確定所述GPU的每一個(gè)引擎的所述GPU利用率。`
【文檔編號(hào)】H04N19/61GK103577269SQ201310335743
【公開(kāi)日】2014年2月12日 申請(qǐng)日期:2013年8月2日 優(yōu)先權(quán)日:2012年8月2日
【發(fā)明者】C·C·王, R·文卡塔拉曼 申請(qǐng)人:英特爾公司