專(zhuān)利名稱(chēng):具有qos保證的可縮放多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)。
背景技術(shù):
通常向在多媒體計(jì)算機(jī)系統(tǒng)上執(zhí)行的多媒體軟件應(yīng)用提供有關(guān)計(jì)算機(jī)系統(tǒng)的諸如硬件、固件或軟件組件之類(lèi)的計(jì)算資源的分配的某種服務(wù)質(zhì)量(QoS)保證。這對(duì)游戲尤其成立。例如,可存在可用于每一個(gè)游戲的所分配的存儲(chǔ)器分配大小。多媒體計(jì)算機(jī)系統(tǒng)也可確保諸如游戲之類(lèi)的應(yīng)用的先前版本仍將運(yùn)行,所以Qos保證可存在很多年。多媒體計(jì)算機(jī)系統(tǒng),尤其是游戲控制臺(tái),現(xiàn)在一般提供作為其平臺(tái)的服務(wù)的一部分的常見(jiàn)功能。平臺(tái)的示例是XBOX 、索尼的Playstation3 或任天堂的Wii 。常見(jiàn)功能是許多類(lèi)型的游戲或其他應(yīng)用使用的服務(wù),或與這些應(yīng)用相兼容的服務(wù)。常見(jiàn)的平臺(tái)功能的一些示例是顯示平面混合、顯示輸出記錄、視頻編解碼器編碼、用戶(hù)設(shè)備音樂(lè)解碼和混音、基于自動(dòng)相機(jī)的玩家標(biāo)識(shí)等。另外,平臺(tái)服務(wù)可包括獨(dú)立于多媒體應(yīng)用但與多媒體應(yīng)同時(shí)運(yùn)行的功能。由于許多游戲和其他多媒體應(yīng)用現(xiàn)在可通過(guò)因特網(wǎng)來(lái)進(jìn)行交互,因此平臺(tái)服務(wù)可處理因特網(wǎng)協(xié)議消息,可提供在線聊天、朋友邀請(qǐng)、電子郵件,并可支持社交聯(lián)網(wǎng)服務(wù)。平臺(tái)和應(yīng)用兩者可使用共有的資源來(lái)執(zhí)行它們相應(yīng)的功能。由于支持交互性游戲和其他多媒體內(nèi)容的網(wǎng)絡(luò)連接性的形式一直在進(jìn)步,并且應(yīng)用的某些處理方面變成標(biāo)準(zhǔn),因此隨著時(shí)間的推移,平臺(tái)為各種應(yīng)用提供了越來(lái)越多的服務(wù),而仍服從針對(duì)這些多媒體應(yīng)用的相同的Qos保證,由此增加了對(duì)共享資源的爭(zhēng)用。
發(fā)明內(nèi)容
本技術(shù)為多媒體應(yīng)用提供了滿足服務(wù)質(zhì)量(QoS)標(biāo)準(zhǔn)的多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu),同時(shí)允許平臺(tái)服務(wù)隨時(shí)間而縮放的各種實(shí)施例。隨時(shí)間而縮放可允許新的服務(wù)或增強(qiáng)的當(dāng)前服務(wù)。平臺(tái)服務(wù)也可隨著時(shí)間而縮小。在用于根據(jù)一個(gè)或多個(gè)服務(wù)質(zhì)量(QoS)保證來(lái)為正執(zhí)行的多媒體應(yīng)用提供一致的性能的多媒體計(jì)算機(jī)系統(tǒng)的一實(shí)施例中,該系統(tǒng)包括計(jì)算資源的平臺(tái)分區(qū)、計(jì)算資源的應(yīng)用分區(qū)和至少一個(gè)共享資源。平臺(tái)分區(qū)包括含平臺(tái)中央處理單元(CPU)和平臺(tái)圖形處理單元(GPU)的計(jì)算資源。應(yīng)用分區(qū)包括含應(yīng)用CPU和應(yīng)用GPU的計(jì)算資源。在一些實(shí)施例中,應(yīng)用處理單元執(zhí)行除平臺(tái)服務(wù)應(yīng)用的指令以外的處理。在一些實(shí)施例中,系統(tǒng)還包括可被平臺(tái)分區(qū)資源和應(yīng)用分區(qū)資源訪問(wèn)的共享資源。在多媒體計(jì)算機(jī)系統(tǒng)的一些實(shí)施例中,為了增強(qiáng)對(duì)資源的放大或縮小,平臺(tái)分區(qū)包括對(duì)一個(gè)或多個(gè)平臺(tái)服務(wù)應(yīng)用和多媒體應(yīng)用執(zhí)行處理的一個(gè)或多個(gè)資源,但是僅可多媒體應(yīng)用可通過(guò)軟件接口來(lái)訪問(wèn)該平臺(tái)分區(qū)。此外,一個(gè)或多個(gè)共享計(jì)算資源可包括可執(zhí)行平臺(tái)服務(wù)應(yīng)用或多媒體軟件應(yīng)用的指令的附加的CPU,以基于針對(duì)多媒體應(yīng)用的一個(gè)或多個(gè)QoS保證來(lái)提供多媒體應(yīng)用的一致性能。在一些實(shí)施例中,附加的CPU可執(zhí)行通用操作系統(tǒng)。還提供了具有軟件編碼在其上的一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)的實(shí)施例,該軟件在被處理器執(zhí)行時(shí),使得處理器執(zhí)行一種用于在與一個(gè)或多個(gè)平臺(tái)服務(wù)應(yīng)用同時(shí)執(zhí)行的多媒體應(yīng)用之間分配計(jì)算資源以基于一個(gè)或多個(gè)QoS保證來(lái)提供多媒體應(yīng)用的一致性能的方法。提供本發(fā)明內(nèi)容以便以簡(jiǎn)化的形式介紹將在以下具體實(shí)施方式
中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并非旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。
圖I示出了具有用戶(hù)參與到游戲中的目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)的示例實(shí)施例。圖2示出了與捕捉設(shè)備通信地耦合的控制臺(tái)計(jì)算系統(tǒng)的示例性實(shí)施例。圖3A是向QoS多媒體保證提供可縮放平臺(tái)服務(wù)的多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)的一實(shí)施例的框圖。圖3B是多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)的另一個(gè)實(shí)施例的框圖,該多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)如同圖3A中的多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)具有附加的共享CPU和GPU。圖3C是用于在多媒體模式和通用計(jì)算模式之間改變至少一個(gè)處理單元的操作模式的方法的一實(shí)施例的流程圖。圖4示出了諸如可以在控制臺(tái)中實(shí)現(xiàn)的多媒體計(jì)算系統(tǒng)的另一個(gè)示例實(shí)施例。圖5A是向Qos多媒體保證提供可縮放平臺(tái)服務(wù)的多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)的一實(shí)施例的框圖。圖5B是圖5A的提供QoS多媒體保證的多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)的實(shí)施例的另一個(gè)版本的框圖。圖6是描述了用于基于對(duì)多媒體應(yīng)用的一個(gè)或多個(gè)服務(wù)質(zhì)量(QoS)保證在多媒體應(yīng)用和平臺(tái)服務(wù)應(yīng)用之間分配計(jì)算資源的方法的一個(gè)實(shí)施例的流程圖。圖7是描述了實(shí)現(xiàn)優(yōu)先級(jí)的過(guò)程作為針對(duì)等待時(shí)間保證的QoS保證處理技術(shù)的一個(gè)實(shí)施例的流程圖。圖8是示出用于基于用于提供一致的實(shí)時(shí)性能的準(zhǔn)則來(lái)處理存儲(chǔ)器請(qǐng)求的QoS保證方法的示例的流程圖。
具體實(shí)施例方式多媒體內(nèi)容可以包括從諸如內(nèi)容提供方、寬帶、衛(wèi)星和有線電視公司、廣告代理、 因特網(wǎng)或來(lái)自web服務(wù)器的視頻流之類(lèi)的媒體內(nèi)容源接收的任何類(lèi)型的音頻、視頻和/或圖像媒體內(nèi)容。如此處所描述的那樣,多媒體內(nèi)容可包括錄制的視頻內(nèi)容、視頻點(diǎn)播內(nèi)容、 電視內(nèi)容、電視節(jié)目、公告、廣告片、音樂(lè)、電影、視頻剪輯,及其他點(diǎn)播媒體內(nèi)容。其他多媒體內(nèi)容可包括交互式游戲、基于網(wǎng)絡(luò)的應(yīng)用,以及任何其他內(nèi)容或數(shù)據(jù)(例如,包括節(jié)目指南應(yīng)用數(shù)據(jù)、用戶(hù)界面數(shù)據(jù)、廣告內(nèi)容、隱藏字幕、內(nèi)容元數(shù)據(jù)、搜索結(jié)果和/或推薦等等)。諸如在多媒體計(jì)算機(jī)系統(tǒng)上執(zhí)行的交互式游戲之類(lèi)的多媒體應(yīng)用通過(guò)高度復(fù)雜的現(xiàn)場(chǎng)顯示器的實(shí)時(shí)更新來(lái)向用戶(hù)體驗(yàn)提供響應(yīng)于用戶(hù)輸入的3D圖形。例如,游戲應(yīng)用需要實(shí)時(shí)地更新化身、其他動(dòng)畫(huà)角色和移動(dòng)對(duì)象的快速走動(dòng)的動(dòng)作。另外,還需要更新復(fù)雜的背景和視覺(jué)效果。在較早批次的多媒體控制臺(tái)(即,通過(guò)多媒體多維數(shù)據(jù)集和PS2的Atari 2600)中,多媒體應(yīng)用在具有較少或沒(méi)有任何遠(yuǎn)程連接性的游戲控制臺(tái)上執(zhí)行。通常,應(yīng)用本身具有用于執(zhí)行創(chuàng)建用戶(hù)體驗(yàn)所需的所有任務(wù)的代碼。計(jì)算資源的平臺(tái)提供了標(biāo)準(zhǔn)化構(gòu)架來(lái)供多媒體應(yīng)用開(kāi)發(fā)者進(jìn)行開(kāi)發(fā)。計(jì)算資源可以是硬件、固件、軟件、或這些中的兩個(gè)或多個(gè)的組合。由于為想要與多媒體應(yīng)用一起交互的遠(yuǎn)程用戶(hù)開(kāi)發(fā)了常規(guī)功能并開(kāi)發(fā)了連接性需求,像XBox 、XBOX360 、 Kinect 、 索尼的Playstation 3 或任天堂的Wii 等較近批次的多媒體控制臺(tái)提供平臺(tái)服務(wù)軟件和其他平臺(tái)服務(wù)應(yīng)用,平臺(tái)服務(wù)軟件提供在這些計(jì)算機(jī)系統(tǒng)上執(zhí)行的所有多媒體應(yīng)用的常規(guī)功能,而其他平臺(tái)服務(wù)應(yīng)用獨(dú)立于多媒體應(yīng)用地運(yùn)行服務(wù)。平臺(tái)服務(wù)和多媒體應(yīng)用常常同時(shí)執(zhí)行。各應(yīng)用之間的資源的爭(zhēng)用可引起削弱用戶(hù)體驗(yàn)的降低的性能。平臺(tái)服務(wù)應(yīng)用增強(qiáng)了用戶(hù)的多媒體體驗(yàn)。平臺(tái)服務(wù)應(yīng)用不是操作系統(tǒng)或系統(tǒng)管理程序的功能。如同多媒體應(yīng)用一樣,平臺(tái)服務(wù)應(yīng)用可與操作系統(tǒng)或系統(tǒng)管理程序或系統(tǒng)軟件一起工作。平臺(tái)服務(wù)的示例是用于基于因特網(wǎng)的功能(如,電子郵件、社交聯(lián)網(wǎng)、即時(shí)消息收發(fā)和聊天)和對(duì)這些功能的顯示(包括現(xiàn)場(chǎng)語(yǔ)音聊天和現(xiàn)場(chǎng)視頻共享)的因特網(wǎng)協(xié)議處理,諸如將數(shù)據(jù)打包在標(biāo)準(zhǔn)消息格式中。常規(guī)功能的其他示例是維護(hù)用戶(hù)簡(jiǎn)檔以及呈現(xiàn)獨(dú)立于特定多媒體應(yīng)用的菜單。將數(shù)據(jù)格式化成可被多媒體計(jì)算機(jī)系統(tǒng)所支持的所有應(yīng)用使用的格式。平臺(tái)提供標(biāo)準(zhǔn)化界面,多媒體開(kāi)發(fā)者通過(guò)該界面來(lái)編程他們的多媒體應(yīng)用。這種接口的一個(gè)示例是應(yīng)用編程接口(API)。為了確保多媒體應(yīng)用隨時(shí)間的生存能力并促進(jìn)各種系列的多媒體應(yīng)用,對(duì)多媒體應(yīng)用(尤其是對(duì)游戲控制臺(tái))的特征和性能的服務(wù)質(zhì)量(QoS)保證在多媒體計(jì)算機(jī)系統(tǒng)設(shè)計(jì)中實(shí)現(xiàn)。與如個(gè)人計(jì)算機(jī)和蜂窩電話等其他硬件設(shè)備相比,這是所定義的多媒體控制臺(tái)的高級(jí)特征中的一個(gè)。一般說(shuō)來(lái),確保在已裝的第一控制臺(tái)上運(yùn)行的多媒體應(yīng)用的代碼的相同版本能在以后用相同的用戶(hù)可辨別的性能在已裝的最后控制臺(tái)上運(yùn)行例如4-10年。QoS保證的一些示例涉及實(shí)時(shí)等待時(shí)間和帶寬需求。例如,可確保存儲(chǔ)器讀取在某一時(shí)窗內(nèi)完成。在另一示例中,可確保對(duì)總線帶寬的分配用于某些數(shù)據(jù)傳輸。隨著時(shí)間的推移,由于數(shù)據(jù)和處理工作的量的增加,多媒體應(yīng)用具有更多的存儲(chǔ)器和帶寬需求,以實(shí)時(shí)地提供越來(lái)越逼真的用戶(hù)體驗(yàn)。此外,平臺(tái)提供新服務(wù)來(lái)支持新形式的連接性和社交網(wǎng)絡(luò), 以增強(qiáng)用戶(hù)體驗(yàn),以及支持使用它們來(lái)進(jìn)行傳輸?shù)臄?shù)據(jù)的新帶寬和等待時(shí)間需求。平臺(tái)服務(wù)還提供新的常規(guī)功能或改進(jìn)當(dāng)前功能的性能,以在用戶(hù)體驗(yàn)中支持多媒體改進(jìn)。為了一般基于有關(guān)特征和性能(例如,帶寬和等待時(shí)間)的QoS保證提供多媒體應(yīng)用隨時(shí)間的一致性能,并允許平臺(tái)服務(wù)縮放,可使用可減少爭(zhēng)用并改進(jìn)性能的不同體系結(jié)構(gòu)技術(shù)。例如,專(zhuān)用硬件可被分開(kāi)地分配給硬件資源的平臺(tái)和應(yīng)用資源,而它們?cè)谙惹暗南到y(tǒng)中會(huì)經(jīng)歷非常高的并發(fā)利用率。在其他示例中,諸如為了帶寬和等待時(shí)間保證,某些硬件資源(如總線和存儲(chǔ)器)可能會(huì)被過(guò)度構(gòu)建,這意味著資源具有超過(guò)對(duì)該資源的期望和保證使用的容量。這個(gè)方法還為平臺(tái)服務(wù)的擴(kuò)展或保證中的改變提供了增長(zhǎng)的緩沖。在其他示例中,QoS軟件根據(jù)用于在一個(gè)或多個(gè)平臺(tái)服務(wù)應(yīng)用之間分配資源的方法來(lái)執(zhí)行,且多媒體應(yīng)用根據(jù)用于基于可應(yīng)用的QoS保證來(lái)提供多媒體應(yīng)用的一致性能的標(biāo)準(zhǔn)來(lái)執(zhí)行。圖I提供了當(dāng)前技術(shù)在其中可能有用的上下文示例。圖I示出了本技術(shù)的各實(shí)施例可在其中操作的、其中用戶(hù)正與正執(zhí)行的多媒體應(yīng)用進(jìn)行交互的目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)的示例實(shí)施例。在這個(gè)示例中,控制臺(tái)計(jì)算環(huán)境12被示出。其他類(lèi)型的多媒體計(jì)算機(jī)系統(tǒng)也可實(shí)現(xiàn)該技術(shù)??蓪?shí)現(xiàn)該技術(shù)的其他類(lèi)型的計(jì)算機(jī)系統(tǒng)的一些示例是機(jī)頂盒、個(gè)人計(jì)算機(jī)或如便攜式計(jì)算機(jī)或手持式計(jì)算機(jī)設(shè)備的移動(dòng)設(shè)備。目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)10 可用來(lái)識(shí)別、分析和/或跟蹤諸如用戶(hù)18等的人類(lèi)目標(biāo)。目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)10的各實(shí)施例包括用于執(zhí)行游戲或其他應(yīng)用的控制臺(tái)計(jì)算環(huán)境12,以及用于從游戲或其他應(yīng)用提供音頻和視覺(jué)表示的視聽(tīng)設(shè)備16。系統(tǒng)10還包括用于在三個(gè)維度(3D)中捕捉位置和用戶(hù)執(zhí)行的移動(dòng)的捕捉設(shè)備20,計(jì)算環(huán)境12接收、翻譯并使用這些位置和移動(dòng)來(lái)控制游戲或其他應(yīng)用??刂婆_(tái)計(jì)算環(huán)境12的實(shí)施例可以包括硬件的計(jì)算資源、軟件組件和/或固件組件,使得控制臺(tái)12可以用于執(zhí)行諸如游戲應(yīng)用和非游戲應(yīng)用之類(lèi)的應(yīng)用。在一個(gè)或多個(gè)實(shí)施例中,控制臺(tái)計(jì)算機(jī)系統(tǒng)12可包括可執(zhí)行存儲(chǔ)在處理器可讀存儲(chǔ)設(shè)備上的用于執(zhí)行此處描述的過(guò)程的指令的多個(gè)處理器,如標(biāo)準(zhǔn)化處理器、專(zhuān)用處理器、微處理器等。系統(tǒng)10還包括一個(gè)或多個(gè)捕捉設(shè)備20,用于捕捉與一個(gè)或多個(gè)用戶(hù)有關(guān)的圖像數(shù)據(jù)和/或由捕捉設(shè)備感測(cè)到的對(duì)象。在各實(shí)施例中,捕捉設(shè)備20可以用于捕捉與一個(gè)或多個(gè)用戶(hù)的移動(dòng)和姿勢(shì)相關(guān)的信息,所述信息被計(jì)算環(huán)境接收并且被用于呈現(xiàn)游戲或其他應(yīng)用程序的各方面、與所述各方面交互和/或控制所述各方面。下面更詳細(xì)地解釋控制臺(tái)計(jì)算環(huán)境12和捕捉設(shè)備20的示例。目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)10的實(shí)施例可以連接到具有顯示器14的音頻/視覺(jué)設(shè)備16。設(shè)備16例如可以是可向用戶(hù)提供游戲或應(yīng)用視覺(jué)和/或音頻的電視機(jī)、監(jiān)視器、 高清電視機(jī)(HDTV)等。例如,控制臺(tái)計(jì)算環(huán)境12可包括可提供與游戲或其他應(yīng)用相關(guān)聯(lián)的音頻/視覺(jué)信號(hào)的GPU和/或音頻處理硬件和固件或在通用GPU上運(yùn)行的音頻軟件。音頻/視覺(jué)設(shè)備16可以從控制臺(tái)計(jì)算環(huán)境12接收音頻/視覺(jué)信號(hào),并且然后可以向用戶(hù)18 輸出與該音頻/視覺(jué)信號(hào)相關(guān)聯(lián)的游戲或應(yīng)用視覺(jué)和/或音頻。根據(jù)一個(gè)實(shí)施例,音頻/ 視覺(jué)設(shè)備16可經(jīng)由例如S-視頻電纜、同軸電纜、HDMI電纜、DVI電纜、VGA電纜、分量視頻電纜、顯示端口兼容電纜等連接至控制臺(tái)計(jì)算環(huán)境12。在一示例實(shí)施例中,在控制臺(tái)計(jì)算環(huán)境12上執(zhí)行的應(yīng)用可以是具有實(shí)時(shí)交互的游戲,諸如用戶(hù)18可能正在玩的拳擊游戲。例如,控制臺(tái)計(jì)算環(huán)境12可使用視聽(tīng)設(shè)備16 來(lái)向用戶(hù)18提供拳擊對(duì)手22的視覺(jué)表示??刂婆_(tái)計(jì)算環(huán)境12還可使用視聽(tīng)設(shè)備16來(lái)提供用戶(hù)18可通過(guò)他的或她的移動(dòng)來(lái)控制的玩家化身24的視覺(jué)表示。例如,用戶(hù)18可在物理空間中揮拳猛擊,這使得玩家化身24在游戲空間中揮拳猛擊。由此,根據(jù)一示例實(shí)施例, 捕捉設(shè)備20使用此處描述的技術(shù)來(lái)捕捉物理空間中重拳的3D表示。捕捉設(shè)備20中的處理器(參見(jiàn)圖2A)和目標(biāo)識(shí)別、分析和跟蹤系統(tǒng)10的控制臺(tái)計(jì)算環(huán)境12可用于識(shí)別并分析用戶(hù)18在物理空間中的重拳,從而使得該重拳可被實(shí)時(shí)地翻譯成玩家化身24在游戲空間中的姿勢(shì)或游戲控制。多媒體控制臺(tái)12可通過(guò)將該系統(tǒng)簡(jiǎn)單地連接到電視機(jī)或其他顯示器而作為獨(dú)立系統(tǒng)來(lái)操作。在該獨(dú)立模式中,多媒體控制臺(tái)12允許一個(gè)或多個(gè)用戶(hù)與該系統(tǒng)交互、看電影、或聽(tīng)音樂(lè)。然而,隨著通過(guò)網(wǎng)絡(luò)接口或無(wú)線適配器可用的寬帶連接的集成,多媒體控制臺(tái)12還可作為較大網(wǎng)絡(luò)社區(qū)中的參與者來(lái)操作。
圖2示出了與捕捉設(shè)備通信地耦合的控制臺(tái)計(jì)算系統(tǒng)的示例性實(shí)施例。根據(jù)一示例性實(shí)施例,捕捉設(shè)備20可被配置為通過(guò)可包括例如飛行時(shí)間、結(jié)構(gòu)化光、立體圖像等在內(nèi)的任何合適的技術(shù)來(lái)捕捉包括深度圖像的帶有深度信息的視頻,該深度圖像可包括深度值。根據(jù)一實(shí)施例,捕捉設(shè)備20可將深度信息組織為“Z層”或者可與從深度相機(jī)沿其視線延伸的Z軸垂直的層。如圖2所示,捕捉設(shè)備20可以包括相機(jī)組件423。根據(jù)一示例性實(shí)施例,相機(jī)組件 423可以是或者可以包括可捕捉場(chǎng)景的深度圖像的深度相機(jī)。深度圖像可包括所捕捉的場(chǎng)景的二維(2-D)像素區(qū)域,其中2-D像素區(qū)域中的每個(gè)像素都可以表示深度值,比如所捕捉的場(chǎng)景中的物體與相機(jī)相距的例如以厘米、毫米等為單位的距離。相機(jī)組件423可以包括可用于捕捉場(chǎng)景的深度圖像的紅外(IR)光組件425、三維 (3D)相機(jī)426、以及RGB (視覺(jué)圖像)相機(jī)428。例如,在飛行時(shí)間分析中,捕捉設(shè)備20的IR 光組件425可以將紅外光發(fā)射到場(chǎng)景上,并且然后可以使用傳感器(在一些實(shí)施例中包括未示出的傳感器)、例如使用3-D相機(jī)326和/或RGB相機(jī)428來(lái)檢測(cè)從場(chǎng)景中的一個(gè)或多個(gè)目標(biāo)和物體的表面后向散射的光。在某些實(shí)施例中,可以使用脈沖紅外光,使得可以測(cè)量出射光脈沖和相應(yīng)的入射光脈沖之間的時(shí)間差或相移并將其用于確定從捕捉設(shè)備20到場(chǎng)景中的目標(biāo)或物體上的特定位置的物理距離。根據(jù)另一實(shí)施例,捕捉設(shè)備20可包括兩個(gè)或更多物理上分開(kāi)的相機(jī),這些相機(jī)可從不同角度查看場(chǎng)景以獲得視覺(jué)立體數(shù)據(jù),該視覺(jué)立體數(shù)據(jù)可被解析以生成深度信息。也可使用其他類(lèi)型的深度圖像傳感器來(lái)創(chuàng)建深度圖像。捕捉設(shè)備20還可以包括話筒430,所述話筒430包括可以接收聲音并將其轉(zhuǎn)換成電信號(hào)的換能器或傳感器。話筒430可用于接收也可提供給控制臺(tái)計(jì)算系統(tǒng)12的音頻信號(hào)。在一示例實(shí)施例中,捕捉設(shè)備20還可包括可與圖像相機(jī)組件423進(jìn)行通信的處理器432。處理器432可包括可執(zhí)行指令的標(biāo)準(zhǔn)處理器、專(zhuān)用處理器、微處理器等,這些指令例如包括用于接收深度圖像、生成合適的數(shù)據(jù)格式(例如,幀)以及將數(shù)據(jù)傳送給控制臺(tái)計(jì)算系統(tǒng)12的指令。 捕捉設(shè)備20還可包括存儲(chǔ)器434,該存儲(chǔ)器434可存儲(chǔ)由處理器432執(zhí)行的指令、 由3-D相機(jī)和/或RGB相機(jī)所捕捉的圖像或圖像幀、或任何其他合適的信息、圖像等等。根據(jù)一示例實(shí)施例,存儲(chǔ)器434可包括隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、高速緩存、 閃存、硬盤(pán)或任何其他合適的存儲(chǔ)組件。如圖2所示,在一個(gè)實(shí)施例中,存儲(chǔ)器434可以是與圖像捕捉組件423和處理器432進(jìn)行通信的單獨(dú)組件。根據(jù)另一實(shí)施例,存儲(chǔ)器組件434 可被集成到處理器432和/或圖像捕捉組件422中。捕捉設(shè)備20通過(guò)通信鏈路436與控制臺(tái)計(jì)算系統(tǒng)12通信。通信鏈路436可以是包括例如USB連接、火線連接、以太網(wǎng)電纜連接等的有線連接和/或諸如無(wú)線802. lib、 802. llg、802. Ila或802. Iln連接等的無(wú)線連接。根據(jù)一個(gè)實(shí)施例,控制臺(tái)計(jì)算系統(tǒng)12可以通過(guò)通信鏈路436向捕捉設(shè)備20提供可用于確定例如何時(shí)捕捉場(chǎng)景的時(shí)鐘。附加地,捕捉設(shè)備20經(jīng)由通信鏈路436將由例如3-D相機(jī)426和/或RGB相機(jī)428捕捉的深度信息和視覺(jué)(例如RGB)圖像提供給控制臺(tái)計(jì)算系統(tǒng)12。在一個(gè)實(shí)施例中,深度圖像和視覺(jué)圖像以每秒30幀的速率來(lái)傳送,但是可以使用其他幀速率??刂婆_(tái)計(jì)算系統(tǒng)12然后可以創(chuàng)建模型并使用模型、深度信息、以及所捕捉的圖像來(lái)例如控制諸如游戲或文字處理程序等的CN 102591418 A
書(shū)
明
說(shuō)
6/16 頁(yè)
應(yīng)用和/或使化身或屏上人物動(dòng)畫(huà)化??刂婆_(tái)計(jì)算系統(tǒng)12包括深度圖像處理和骨架跟蹤模塊450,該模塊使用深度圖像來(lái)跟蹤可被捕捉設(shè)備20的深度相機(jī)功能檢測(cè)到的一個(gè)或多個(gè)人。深度圖像處理和骨架跟蹤模塊450向應(yīng)用452提供跟蹤信息,該應(yīng)用可以是視頻游戲、生產(chǎn)性應(yīng)用、通信應(yīng)用或其他軟件應(yīng)用等。還可將音頻數(shù)據(jù)和視覺(jué)圖像數(shù)據(jù)提供給應(yīng)用452以及深度圖像處理和骨架跟蹤模塊450。應(yīng)用452將跟蹤信息、音頻數(shù)據(jù)和視覺(jué)圖像數(shù)據(jù)提供給識(shí)別器引擎454。在另一實(shí)施例中,識(shí)別器引擎454從深度圖像處理和骨架跟蹤模塊450直接接收跟蹤信息,并從捕捉設(shè)備20直接接收音頻數(shù)據(jù)和視覺(jué)圖像數(shù)據(jù)。在一些實(shí)施例中,深度圖像處理和骨架跟蹤模塊450可以被認(rèn)為是共享資源,且在其他實(shí)施例中它也可被認(rèn)為是執(zhí)行多媒體應(yīng)用的處理的平臺(tái)資源。識(shí)別器引擎454與過(guò)濾器460、462、464、……、466的集合相關(guān)聯(lián),每一過(guò)濾器包括關(guān)于可由捕捉設(shè)備20檢測(cè)的任何人或物體執(zhí)行的姿勢(shì)、動(dòng)作或狀況的信息。例如,來(lái)自捕捉設(shè)備20的數(shù)據(jù)可由過(guò)濾器460、462、464、……、466來(lái)處理,以便標(biāo)識(shí)一個(gè)用戶(hù)或一組用戶(hù)何時(shí)執(zhí)行了一個(gè)或多個(gè)姿勢(shì)或其他動(dòng)作。這些姿勢(shì)可與應(yīng)用452的各種控制、對(duì)象或狀況相關(guān)聯(lián)。因此,控制臺(tái)計(jì)算系統(tǒng)12可以將識(shí)別器引擎454和過(guò)濾器一起用于解釋和跟蹤對(duì)象(包括人)的移動(dòng)。捕捉設(shè)備20向控制臺(tái)計(jì)算系統(tǒng)12提供RGB圖像(或其他格式或色彩空間的視覺(jué)圖像)和深度圖像。深度圖像可以是多個(gè)觀測(cè)到的像素,其中每個(gè)觀測(cè)到的像素具有觀測(cè)到的深度值。例如,深度圖像可包括所捕捉的場(chǎng)景的二維(2-D)像素區(qū)域,其中該2-D像素區(qū)域中的每個(gè)像素都可具有深度值,諸如所捕捉的場(chǎng)景中的物體與捕捉設(shè)備相距的距離。 控制臺(tái)計(jì)算系統(tǒng)12將使用RGB圖像和深度圖像來(lái)跟蹤用戶(hù)或?qū)ο蟮囊苿?dòng)。例如,系統(tǒng)將使用深度圖像來(lái)跟蹤人的骨架。可以使用許多方法以通過(guò)使用深度圖像來(lái)跟蹤人的骨架。 使用深度圖像來(lái)跟蹤骨架的一個(gè)合適的示例在Craig等人2009年10月21日提交的美國(guó)專(zhuān)利申請(qǐng)12/603,437 “Pose Tracking Pipeline (姿態(tài)跟蹤流水線)”(以下稱(chēng)為’ 437申請(qǐng))中提供,該申請(qǐng)的全部?jī)?nèi)容通過(guò)引用結(jié)合于此?!?37申請(qǐng)的過(guò)程包括獲得深度圖像; 對(duì)數(shù)據(jù)進(jìn)行降采樣;移除和/或平滑化高方差噪聲數(shù)據(jù);標(biāo)識(shí)并移除背景;以及將前景像素中的每個(gè)分配給身體的不同部位?;谶@些步驟,系統(tǒng)將使一模型擬合到該數(shù)據(jù)并創(chuàng)建骨架。該骨架將包括一組關(guān)節(jié)和這些關(guān)節(jié)之間的連接。也可使用用于跟蹤的其他方法。在下列四個(gè)美國(guó)專(zhuān)利申請(qǐng)中還公開(kāi)了合適的跟蹤技術(shù),所述專(zhuān)利的全部?jī)?nèi)容都通過(guò)引用并入本文于2009年5月29日提交的美國(guó)專(zhuān)利申請(qǐng)12/475,308 “Device for Identifying and Tracking Multiple Humans Over Time (用于隨時(shí)間標(biāo)識(shí)和跟蹤多個(gè)人類(lèi)的設(shè)備)”;于 2010 年 I 月 29 日提交的美國(guó)專(zhuān)利申請(qǐng) 12/696,282“Visual Based Identity Tracking(基于視覺(jué)的身份跟蹤)”;于2009年12月18日提交的美國(guó)專(zhuān)利申請(qǐng)12/641,788 “Motion Detection Using Depth Images (使用深度圖像的運(yùn)動(dòng)檢測(cè))”;以及于2009年10月7日提交的美國(guó)專(zhuān)利申請(qǐng)12/575,388 “Human Tracking System(人類(lèi)跟蹤系統(tǒng))”。識(shí)別器引擎454包括多個(gè)過(guò)濾器460、462、464、......、466來(lái)確定姿勢(shì)或動(dòng)作。過(guò)
濾器包括定義姿勢(shì)、動(dòng)作或狀況以及該姿勢(shì)、動(dòng)作或狀況的參數(shù)或元數(shù)據(jù)的信息。例如,包括一只手從身體背后經(jīng)過(guò)身體前方的運(yùn)動(dòng)的投擲可被實(shí)現(xiàn)為包括表示用戶(hù)的一只手從身體背后經(jīng)過(guò)身體前方的運(yùn)動(dòng)的信息的姿勢(shì),因?yàn)樵撨\(yùn)動(dòng)將由深度相機(jī)來(lái)捕捉。然后可為該姿勢(shì)設(shè)定參數(shù)。當(dāng)姿勢(shì)是投擲時(shí),參數(shù)可以是該手必須達(dá)到的閾值速度、該手必須行進(jìn)的距離(絕對(duì)的,或相對(duì)于用戶(hù)的整體大小)、以及識(shí)別器引擎對(duì)發(fā)生了該姿勢(shì)的置信度評(píng)級(jí)。 用于姿勢(shì)的這些參數(shù)可以隨時(shí)間在各應(yīng)用之間、在單個(gè)應(yīng)用的各上下文之間、或在一個(gè)應(yīng)用的一個(gè)上下文內(nèi)變化。應(yīng)用452可使用識(shí)別器引擎454所提供的過(guò)濾器460、462、464、……、466,或者它可提供其自己的、插入到識(shí)別器引擎454中的過(guò)濾器。在一個(gè)實(shí)施例中,所有過(guò)濾器具有啟用該插入特性的通用接口。此外,所有過(guò)濾器可利用參數(shù),因此可使用以下單個(gè)姿勢(shì)工具來(lái)診斷并調(diào)節(jié)整個(gè)過(guò)濾器系統(tǒng)。關(guān)于識(shí)別器引擎454的更多信息可在2009年4月13日提交的美國(guó)專(zhuān)利申請(qǐng) 12/422, 661 “Gesture Recognizer System Architecture (姿勢(shì)識(shí)別器系統(tǒng)架構(gòu))”中找到,該申請(qǐng)的全部?jī)?nèi)容通過(guò)引用結(jié)合于此。關(guān)于識(shí)別姿勢(shì)的更多信息可在2009年2月23 日提交的美國(guó)專(zhuān)利申請(qǐng)12/391,150 “Standard Gestures (標(biāo)準(zhǔn)姿勢(shì))”;以及2009年5月 29日提交的美國(guó)專(zhuān)利申請(qǐng)12/474,655“Gesture Tool (姿勢(shì)工具)”中找到,這兩個(gè)申請(qǐng)的全部?jī)?nèi)容都通過(guò)引用結(jié)合于此。圖3A至圖5B公開(kāi)了提供多媒體應(yīng)用QoS保證同時(shí)允許計(jì)算資源支持平臺(tái)服務(wù)應(yīng)用隨時(shí)間進(jìn)行縮放的多媒體計(jì)算機(jī)體系結(jié)構(gòu)的實(shí)施例。在一些實(shí)施例中,QoS保證可以由軟件控制的硬件資源分配機(jī)制來(lái)實(shí)施。硬件機(jī)制在資源分配必須發(fā)生或者資源分配必須在非常精細(xì)粒度的時(shí)間基礎(chǔ)上(即,每一個(gè)時(shí)鐘周期到十個(gè)時(shí)鐘周期)更新以確保用戶(hù)感知到的性能的一致性時(shí)通常是必需的(與軟件機(jī)制相反)。除了通常由第三方開(kāi)發(fā)的針對(duì)多媒體應(yīng)用的QoS保證之外,還可存在例如與計(jì)算機(jī)系統(tǒng)上運(yùn)行的所有應(yīng)用(例如,平臺(tái)、多媒體或其他)或大多數(shù)應(yīng)用可用的等待時(shí)間和帶寬有關(guān)的系統(tǒng)標(biāo)準(zhǔn)。例如,即使單個(gè)平臺(tái)服務(wù)正在運(yùn)行,而沒(méi)有如游戲之類(lèi)的任何其他多媒體應(yīng)用在運(yùn)行,系統(tǒng)還可執(zhí)行與系統(tǒng)通信構(gòu)造(例如,總線或縱橫互連)的帶寬和等待時(shí)間有關(guān)的系統(tǒng)標(biāo)準(zhǔn)。如以下附圖所示,多媒體計(jì)算機(jī)系統(tǒng)的各所示實(shí)施例中的一些計(jì)算資源,尤其是硬件資源,被包括在平臺(tái)分區(qū)或應(yīng)用分區(qū)中。為了便于描述,平臺(tái)分區(qū)中的計(jì)算資源成為平臺(tái)資源,且應(yīng)用分區(qū)中的計(jì)算資源成為應(yīng)用資源。這些分區(qū)是邏輯分區(qū)。圖3A是向QoS多媒體應(yīng)用保證提供可縮放平臺(tái)服務(wù)的多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)的一實(shí)施例的框圖。平臺(tái)服務(wù)應(yīng)用327和多媒體應(yīng)用329中的每一個(gè)都依賴(lài)于主要用于處理它們的相應(yīng)功能的硬件。平臺(tái)分區(qū)包括諸如中央處理單元(CPU) 302和圖形處理單元 (GPU) 306之類(lèi)的資源以及其他平臺(tái)資源332。平臺(tái)CPU 302可以是單核處理器或多核處理器。平臺(tái)CPU302包括高速緩存305??梢詾閼?yīng)用CPU的高速緩存305和高速緩存303實(shí)現(xiàn)各種高速緩存設(shè)計(jì)。高速緩存臨時(shí)地存儲(chǔ)數(shù)據(jù),并因此減少了存儲(chǔ)器存取周期的數(shù)量,從而改進(jìn)了處理速度和吞吐量。平臺(tái)CPU 302還包括閃速ROM(只讀存儲(chǔ)器)340,該閃速ROM 340可存儲(chǔ)在多媒體計(jì)算機(jī)系統(tǒng)12通電時(shí)在引導(dǎo)進(jìn)程的初始階段期間加載的可執(zhí)行代碼。 GPU 306以及以下的應(yīng)用GPU 308可具有嵌入式存儲(chǔ)器來(lái)用于其數(shù)據(jù)處理。其他平臺(tái)資源332的一些示例在以下附圖中示出。這種平臺(tái)資源332可包括向輸入和輸出單元320提供輸入和輸出接口,平臺(tái)資源332的一些示例是用戶(hù)輸入設(shè)備(用戶(hù)移動(dòng)、游戲控制器、定點(diǎn)設(shè)備)、顯示器、如相機(jī)20圖之類(lèi)的像捕捉設(shè)備、可移動(dòng)介質(zhì)(例如,存儲(chǔ)棒、DVD、存儲(chǔ)器驅(qū)動(dòng)器)、打印機(jī)以及可經(jīng)由通用串行總線(USB)、路由器和以太網(wǎng)電纜來(lái)連接的其他設(shè)備。平臺(tái)資源332可提供的資源的一些示例包括諸如視聽(tīng)I(yíng)/O單元之類(lèi)的端口輸入和輸出硬件及驅(qū)動(dòng)器、USB端口控制器、以太網(wǎng)端口或其他因特網(wǎng)或網(wǎng)絡(luò)連接接口,諸如WiFi或其他無(wú)線協(xié)議。此外,平臺(tái)資源332可包括可移動(dòng)介質(zhì)的接口,諸如用于訪問(wèn)例如熱插拔的、高密度的大容量存儲(chǔ)閃存的串行高級(jí)技術(shù)附連SATA (ODD和HDD兩者) 接口。應(yīng)用分區(qū)包括CPU 304、GPU 308和其他應(yīng)用資源330。CPU 304還可包括一個(gè)或多個(gè)處理核,并可包括表示通常與一個(gè)或多個(gè)核的處理單元相關(guān)聯(lián)的一個(gè)或多個(gè)高速緩存等級(jí)的高速緩存303。在其較低成本的實(shí)施例中,可存在不同的應(yīng)用和平臺(tái)CPU,但可存在使其資源通過(guò)軟件和硬件機(jī)制來(lái)分配的共享GPU。應(yīng)用GPU 304還包括閃存ROM 304,該閃存ROM 304可存儲(chǔ)在多媒體控制臺(tái)12通電時(shí)在引導(dǎo)進(jìn)程的初始階段期間加載的可執(zhí)行代碼。應(yīng)用資源330可包括僅可被應(yīng)用處理單元訪問(wèn)的高速閃存。在一些實(shí)施例中,在一個(gè)或多個(gè)平臺(tái)服務(wù)應(yīng)用在所述平臺(tái)處理單元中的至少一個(gè)上以及所述多媒體應(yīng)用在所述應(yīng)用處理單元中的至少一個(gè)上的并發(fā)執(zhí)行期間,應(yīng)用處理單元并不執(zhí)行所述一個(gè)或多個(gè)平臺(tái)服務(wù)應(yīng)用。換言之,應(yīng)用處理單元執(zhí)行除平臺(tái)服務(wù)應(yīng)用的指令以外的處理。應(yīng)用處理單元將執(zhí)行操作系統(tǒng)、系統(tǒng)管理程序和如標(biāo)準(zhǔn)系統(tǒng)功能的代碼, 但它們被解除適用于CPU和GPU的先前系統(tǒng)的QoS保證,諸如并發(fā)的平臺(tái)服務(wù)應(yīng)用的執(zhí)行的處理時(shí)間的百分比。在為平臺(tái)服務(wù)和多媒體應(yīng)用提供分開(kāi)的處理單元的各實(shí)施例中,相應(yīng)處理單元的高速緩存和嵌入式RAM在相應(yīng)分區(qū)中是不被共享的;并且因此,它們不會(huì)因?yàn)樵谄脚_(tái)服務(wù)應(yīng)用和多媒體應(yīng)用之間切換的應(yīng)用而顛簸(thrash)。另外,通過(guò)分區(qū)計(jì)算機(jī)系統(tǒng)的資源,平臺(tái)資源可以獨(dú)立于QoS保證中的至少一些操作,或者可以隨著時(shí)間的推移而增長(zhǎng)以尤其在因硬件改進(jìn)而提供了更多的平臺(tái)服務(wù)時(shí)減少該保證的影響。例如,可用的對(duì)GPU處理的QoS保證可僅適用于應(yīng)用GPU 308但不適用于平臺(tái)GPU。一些實(shí)施例可能仍實(shí)施可使應(yīng)用處理單元的處理時(shí)間的某一百分比專(zhuān)用于針對(duì)一個(gè)或多個(gè)平臺(tái)服務(wù)應(yīng)用的處理的QoS保證。這一保證幫助保持多媒體應(yīng)用的操作隨時(shí)間的一致性。該保證可通過(guò)插入延遲線程以占據(jù)處理時(shí)間的百分比的方式來(lái)實(shí)施。平臺(tái)服務(wù)應(yīng)用優(yōu)選地被調(diào)度為在預(yù)定時(shí)間并以預(yù)定時(shí)間間隔在CPU 308上運(yùn)行,以便為該應(yīng)用提供一致的系統(tǒng)資源視圖。進(jìn)行調(diào)度是為了把由在控制臺(tái)上運(yùn)行的游戲應(yīng)用所引起的高速緩存中斷最小化。提供系統(tǒng)存儲(chǔ)器331來(lái)存儲(chǔ)在引導(dǎo)過(guò)程期間加載的軟件代碼和數(shù)據(jù)。在這個(gè)示例中,系統(tǒng)存儲(chǔ)器331存儲(chǔ)平臺(tái)服務(wù)應(yīng)用327的平臺(tái)處理單元302和306可加載的代碼。在這個(gè)實(shí)施例中,QoS保證軟件333及優(yōu)先級(jí)方案333也被存儲(chǔ)在系統(tǒng)存儲(chǔ)器中。QoS保證軟件可實(shí)現(xiàn)在對(duì)資源的請(qǐng)求的排定優(yōu)先級(jí)時(shí)可用的一個(gè)或多個(gè)優(yōu)先級(jí)方案。例如,可向資源執(zhí)行系統(tǒng)關(guān)鍵功能(如存儲(chǔ)器刷新)和影響用戶(hù)體驗(yàn)的具有實(shí)時(shí)要求的那些執(zhí)行功能分配優(yōu)先級(jí),并且可向如多媒體應(yīng)用和平臺(tái)服務(wù)應(yīng)用等不同的應(yīng)用分配較低的優(yōu)先級(jí)。影響用戶(hù)體驗(yàn)的具有實(shí)時(shí)要求的各功能的一些示例是使用帶寬和高等待時(shí)間來(lái)避免TV或監(jiān)視器處的含假信號(hào)的視頻或者來(lái)自話筒的可聽(tīng)流行樂(lè)曲的視頻輸出處理和其他實(shí)時(shí)的數(shù)據(jù)分發(fā)情況。
此外,QoS保證軟件333在執(zhí)行時(shí)可實(shí)現(xiàn)一種有關(guān)存儲(chǔ)器基于用于提供一致的實(shí)時(shí)性能或一致的用戶(hù)體驗(yàn)的標(biāo)準(zhǔn)來(lái)請(qǐng)求的QoS保證方法。這種標(biāo)準(zhǔn)的一些示例是每一個(gè)處理單元的執(zhí)行效率;以及存儲(chǔ)器通道效率。處理單元不會(huì)很好地忍受等待時(shí)間。未使用的時(shí)鐘周期代表CPU或GUP的低效的執(zhí)行效率。對(duì)存儲(chǔ)器通道的低效使用的一示例是一次激活太多的存儲(chǔ)器排(memory bank)。另一示例是使一個(gè)存儲(chǔ)器通道超載,同時(shí)另一個(gè)存儲(chǔ)器通道是空閑的。另外,由平臺(tái)處理單元302和306、在其他平臺(tái)資源332或共享資源312中的其他邏輯或控制單元從系統(tǒng)存儲(chǔ)器331執(zhí)行一個(gè)或多個(gè)軟件虛擬化接口 328(在這個(gè)示例中被實(shí)現(xiàn)為應(yīng)用編程接口(API))。在一些實(shí)施例中,虛擬化接口 328中的一個(gè)或多個(gè)也可對(duì)資源的處理請(qǐng)求中實(shí)現(xiàn)優(yōu)先級(jí)方案333。每一硬件資源具有伴隨來(lái)自相應(yīng)的硬件資源的請(qǐng)求的客戶(hù)機(jī)標(biāo)識(shí)(ID)。在一些實(shí)施例中,適用于請(qǐng)求的QoS保證或系統(tǒng)標(biāo)準(zhǔn)可由提出請(qǐng)求的硬件資源的客戶(hù)機(jī)ID來(lái)標(biāo)識(shí)出。在一些實(shí)施例中,平臺(tái)分區(qū)包括被虛擬化成正執(zhí)行的多媒體應(yīng)用的硬件設(shè)備。在一些情況下,多媒體應(yīng)用通過(guò)正在平臺(tái)處理單元或共享處理單元上執(zhí)行的軟件虛擬化接口來(lái)訪問(wèn)這一平臺(tái)硬件設(shè)備。因此,隨著實(shí)際硬件正實(shí)現(xiàn)所請(qǐng)求的處理或資源,并不需要考慮該應(yīng)用分區(qū),并且資源看見(jiàn)了平臺(tái)或共享設(shè)備的客戶(hù)機(jī)ID。此外,可適用于虛擬化資源的QoS保證(例如,顯示處理的速度)可為應(yīng)用而保持不變,而平臺(tái)分區(qū)中的視頻編碼器被升級(jí)成能處理更多技術(shù)的更快的視頻編碼器。系統(tǒng)存儲(chǔ)器331還包括分區(qū)分配軟件334。在一些實(shí)施例中,多媒體計(jì)算機(jī)系統(tǒng)可以是共享處理單元資源的較大計(jì)算機(jī)系統(tǒng)中的多個(gè)計(jì)算機(jī)中的一個(gè)。在一些實(shí)施例中, 多媒體計(jì)算機(jī)系統(tǒng)可包括比圖3A中示出的代表性處理單元更多的處理單元。由于這些分區(qū)是邏輯性的,分區(qū)分配軟件334在執(zhí)行時(shí)可在平臺(tái)和各應(yīng)用分區(qū)之間動(dòng)態(tài)地分配計(jì)算機(jī)資源。例如,在云計(jì)算示例中,由于更多的用戶(hù)加入在線交互游戲,分區(qū)分配軟件334可通過(guò)網(wǎng)絡(luò)從云中的另一個(gè)計(jì)算機(jī)處接收消息,以將其平臺(tái)CPU和GPU重新分配為應(yīng)用CPU和 GPU。在這一示例中,在應(yīng)用分區(qū)中指定比在平臺(tái)服務(wù)分區(qū)中多的處理單元可更為高效,使得存在更多的處理單元可用于多媒體應(yīng)用的不同執(zhí)行實(shí)例。系統(tǒng)管理控制器325提供涉及確保多媒體計(jì)算機(jī)系統(tǒng)12的可用性的各種服務(wù)功能。當(dāng)多媒體計(jì)算機(jī)系統(tǒng)12通電時(shí),可從系統(tǒng)存儲(chǔ)器331加載平臺(tái)應(yīng)用數(shù)據(jù)327以供平臺(tái)處理單元302、306執(zhí)行。平臺(tái)應(yīng)用可呈現(xiàn)用于在導(dǎo)航到多媒體計(jì)算機(jī)系統(tǒng)12上可用的不同媒體類(lèi)型時(shí)提供一致的用戶(hù)體驗(yàn)的圖形用戶(hù)界面。在操作中,可將多媒體應(yīng)用329從計(jì)算機(jī)系統(tǒng)內(nèi)置的非易失性存儲(chǔ)器322或從多媒體應(yīng)用329從其開(kāi)始和播放的外置的媒體驅(qū)動(dòng)器320處加載非易失性存儲(chǔ)器322。每一處理單元302、304、306和308與通信結(jié)構(gòu)310進(jìn)行交互。系統(tǒng)的通信結(jié)構(gòu) 310是可被任一分區(qū)的資源直接訪問(wèn)的共享計(jì)算資源312的一個(gè)示例。在通信結(jié)構(gòu)的一些示例是總線或互連結(jié)構(gòu)。在一些實(shí)施例中,通信結(jié)構(gòu)310可具有適應(yīng)多媒體應(yīng)用的一個(gè)或多個(gè)等待時(shí)間QoS保證,并在相同時(shí)間基于與該結(jié)構(gòu)的帶寬或等待時(shí)間有關(guān)的系統(tǒng)標(biāo)準(zhǔn)來(lái)滿足來(lái)自一個(gè)或多個(gè)平臺(tái)服務(wù)應(yīng)用的總線訪問(wèn)請(qǐng)求的額外帶寬容量。由于該帶寬超過(guò)了請(qǐng)求量,存在可以忽略的爭(zhēng)用。這確實(shí)允許其他平臺(tái)服務(wù)應(yīng)用隨著時(shí)間的推移而增加,這將減少額外的開(kāi)銷(xiāo)。在另一個(gè)實(shí)施例中,每一分區(qū)處理單元或至少每一分區(qū)CPU在縱橫方案中可具有虛擬的私有總線通道。在其他示例中,每一分區(qū)處理單元或一分區(qū)的處理單元可具有其自己的物理上分開(kāi)的總線。除了額外的容量方案以外,如果不能滿足同時(shí)發(fā)生的請(qǐng)求, 則至少部分地基于QoS保證的優(yōu)先級(jí)方案可用于定量配給(ration)訪問(wèn)。共享資源312還包括用于訪問(wèn)存儲(chǔ)器322的存儲(chǔ)器控制器314,存儲(chǔ)器322可包括應(yīng)用可訪問(wèn)的非易失性存儲(chǔ)器、易失性存儲(chǔ)器或兩者。在一個(gè)實(shí)施例中,存儲(chǔ)器322具有超過(guò)針對(duì)多媒體應(yīng)用的一個(gè)或多個(gè)QoS保證的需求的有效帶寬和等待時(shí)間性能,且一個(gè)或多個(gè)標(biāo)準(zhǔn)量限制在相同時(shí)間執(zhí)行的平臺(tái)服務(wù)的數(shù)目。這個(gè)有效帶寬和等待時(shí)間性能可以用額外的存儲(chǔ)器大小和用于訪問(wèn)存儲(chǔ)器的更多的通道來(lái)實(shí)現(xiàn)。例如,通常同時(shí)執(zhí)行的一組或多組平臺(tái)服務(wù)應(yīng)用的模型可基于不同的用戶(hù)使用場(chǎng)景來(lái)開(kāi)發(fā)。存儲(chǔ)器的有效帶寬和等待時(shí)間性能的量可以超過(guò)在該組平臺(tái)應(yīng)用的運(yùn)行時(shí)期間使用的有效帶寬和等待時(shí)間性能,因?yàn)樵谠摻M平臺(tái)應(yīng)用的運(yùn)行時(shí)期間要求存儲(chǔ)器的最多的有效帶寬和等待時(shí)間性能,并要求由針對(duì)多媒體應(yīng)用的QoS保證所需的有效性能,以便避免用戶(hù)可感知到的多媒體應(yīng)用的性能改變。在一個(gè)示例中,多媒體應(yīng)用可能存在所分配的量或百分比的有效存儲(chǔ)器性能,并且來(lái)自平臺(tái)或其他系統(tǒng)服務(wù)的請(qǐng)求滿足未被分配的帶寬和等待時(shí)間資源。在另一實(shí)例中,不同的操作場(chǎng)景、系統(tǒng)標(biāo)準(zhǔn)或QoS保證或這些的組合可用作用于對(duì)可在運(yùn)行時(shí)期間被分配的存儲(chǔ)器的有效帶寬和等待時(shí)間性能設(shè)定限制的準(zhǔn)則的基礎(chǔ),該準(zhǔn)則作為QoS保證或系統(tǒng)標(biāo)準(zhǔn)的一部分。存儲(chǔ)器控制器314可隨后利用存儲(chǔ)器322的未被分配的容量來(lái)滿足針對(duì)多媒體應(yīng)用的一個(gè)或多個(gè)QoS保證。圖3B是多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)的另一個(gè)實(shí)施例的框圖,該多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)如同圖3A中的多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)具有附加的共享CPU和GPU。在這個(gè)實(shí)施例中,存在由系統(tǒng)12提供的另一個(gè)CPU和GPU、共享的GPU 309和共享的CPU 307。在一示例中,這些系統(tǒng)處理單元307、309可執(zhí)行API 328,這些API 328與兩個(gè)分區(qū)的處理單元進(jìn)行交互來(lái)處理對(duì)位于平臺(tái)服務(wù)分區(qū)或共享資源312中的資源的請(qǐng)求。這允許平臺(tái)服務(wù)處理單元302、306不用對(duì)應(yīng)用單元的請(qǐng)求進(jìn)行處理。在另一個(gè)實(shí)施例中,共享的GPU 309 和共享的CPU可基于QoS保證為平臺(tái)服務(wù)應(yīng)用的執(zhí)行指令、多媒體應(yīng)用的指令或兩者提供附加的處理資源。在又一實(shí)施例中,共享的CPU 307、共享的GPU 309或兩者可執(zhí)行不同的通用操作系統(tǒng)(例如,Windows ),或提供由平臺(tái)服務(wù)或這多媒體應(yīng)用提供的功能之外的附加的功能。例如,這些處理單元307、309可運(yùn)行標(biāo)準(zhǔn)的個(gè)人計(jì)算機(jī)(PC)操作系統(tǒng)及其相關(guān)聯(lián)的圖形用戶(hù)界面,并可運(yùn)行該P(yáng)C OS提供的或與其兼容的應(yīng)用和服務(wù),諸如通過(guò)瀏覽器的因特網(wǎng)訪問(wèn)、文子處理、生產(chǎn)力、內(nèi)容生成和視聽(tīng)?wèi)?yīng)用。在圖3A中,系統(tǒng)存儲(chǔ)器還可存儲(chǔ)模式改變軟件335。這是針對(duì)不同的實(shí)施例的,其中代替具有用于以通用模式來(lái)執(zhí)行多媒體計(jì)算機(jī)系統(tǒng)的分開(kāi)的CPU和GPU,該軟件切換出各分區(qū)中的一個(gè)分區(qū)的CPU(如應(yīng)用CPU)來(lái)以通用計(jì)算機(jī)模式進(jìn)行執(zhí)行。分區(qū)的GPU也可以被切換出。為了便于描述,多媒體應(yīng)用(如游戲)對(duì)平臺(tái)服務(wù)執(zhí)行的模式是指定的多媒體模式,并且通用操作系統(tǒng)正執(zhí)行的操作模式稱(chēng)為通用計(jì)算機(jī)模式。用于可經(jīng)由輸入設(shè)備來(lái)提供指示他或她期望在各模式之間進(jìn)行切換的輸入。當(dāng)在模式之間進(jìn)行切換時(shí),處于當(dāng)前執(zhí)行模式中的系統(tǒng)的狀態(tài)被設(shè)為休眠。在一些示例中,CPU和GPU加載有指令,并且數(shù)據(jù)在被執(zhí)行其他模式所需要時(shí)被加載到運(yùn)行時(shí)存儲(chǔ)器中。(為了便于描述該討論僅說(shuō)明了在兩個(gè)模式之間進(jìn)行切換,但是可以在多于兩個(gè)模式之間改變模式。)在一些實(shí)施例中,如果被切換到的模式先前具有正在運(yùn)行的其他應(yīng)用,則這些應(yīng)用的狀態(tài)可被恢復(fù)成所切換的模式的點(diǎn)。圖3C是用于在多媒體模式和通用計(jì)算模式之間改變至少一個(gè)處理單元的操作模式的方法的一實(shí)施例的流程圖。在步驟402模式改變軟件335將至少一個(gè)處理單元的當(dāng)前模式執(zhí)行狀態(tài)數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器(例如,322)中,并在步驟404將正在至少一個(gè)處理單元上執(zhí)行的任何應(yīng)用的當(dāng)前運(yùn)行時(shí)存儲(chǔ)器內(nèi)容存儲(chǔ)在存儲(chǔ)器中。執(zhí)行狀態(tài)數(shù)據(jù)的一些示例是指令隊(duì)列的當(dāng)前內(nèi)容,和在處理單元本地的CPU或GPU寄存器、高速緩存、嵌入式RAM或任何其他存儲(chǔ)器的內(nèi)容,和操作系統(tǒng)、當(dāng)前模式的顯示以及其他系統(tǒng)功能的狀態(tài)數(shù)據(jù)。運(yùn)行時(shí)存儲(chǔ)器內(nèi)容的一些示例是處理信息,和任何正在執(zhí)行的應(yīng)用的由系統(tǒng)在該應(yīng)用的當(dāng)前執(zhí)行實(shí)例期間存儲(chǔ)在易失性或非易失性存儲(chǔ)器中的數(shù)據(jù)。在步驟406,模式改變軟件335為至少一個(gè)處理單元加載所請(qǐng)求的模式(即,被改變成的模式)的先前存儲(chǔ)的執(zhí)行狀態(tài)數(shù)據(jù),并在步驟408為先前以所請(qǐng)求的模式在至少一個(gè)處理單元上執(zhí)行的任何應(yīng)用加載先前存儲(chǔ)的運(yùn)行時(shí)存儲(chǔ)器內(nèi)容。圖4示出了向QoS多媒體保證提供可縮放的平臺(tái)服務(wù)的多媒體計(jì)算機(jī)系統(tǒng)的計(jì)算系統(tǒng)體系結(jié)構(gòu)的另一示例實(shí)施例。多媒體控制臺(tái)100具有平臺(tái)CPU 302和應(yīng)用CPU 304。 為了便于附圖中的連接,這些CPU在用一模塊中被示出;然而,它們是分開(kāi)的單元且并不共享任何高速緩存或ROM。平臺(tái)CPU 302可以是單核處理器或多核處理器。在這個(gè)示例中,平臺(tái)CPU 302具有一級(jí)(LI)高速緩存305 (I)和二級(jí)(L2)高速緩存305 (2)和閃速ROM(只讀存儲(chǔ)器)304。多媒體控制臺(tái)100還包括用于執(zhí)行多媒體應(yīng)用功能的應(yīng)用CPU 304。CPU304還可包括一個(gè)或多個(gè)處理核。在這個(gè)示例中,應(yīng)用CPU 304具有一級(jí)高速緩存303 (I)和二級(jí)高速緩存303 (2)和閃速ROM (只讀存儲(chǔ)器)342。多媒體控制臺(tái)100還包括平臺(tái)圖形處理單元(GPU) 306和應(yīng)用圖形處理單元 (GPU) 308 0為了便于附圖中的連接,這些CPU在用一模塊中被示出;然而,它們是分開(kāi)的單元且并不共享任何存儲(chǔ)器結(jié)構(gòu)。每一 GPU具有其自己的嵌入式RAM 311、313。多媒體控制臺(tái)100內(nèi)的CPU 302,CPU 304,GPU 306,GPU 308、存儲(chǔ)器控制器314、 和各個(gè)其他組件經(jīng)由一條或多條總線互連,這些總線包括串行和并行總線、存儲(chǔ)器總線、外圍總線、和使用各種總線架構(gòu)中任一種的處理器或局部總線。作為示例,這些體系結(jié)構(gòu)可包括用于到IO芯片的連接和/或作為將來(lái)的IO擴(kuò)展的連接器的外圍組件互聯(lián)(PCI)總線、 快速PCI總線等。通信結(jié)構(gòu)310代表各種總線或通信鏈路中的一個(gè)或多個(gè),該通信結(jié)構(gòu)310 也可如對(duì)圖3A中的通信結(jié)構(gòu)310所討論的具有額外容量。在這個(gè)實(shí)施例中,每一 GPU和視頻編碼器/視頻編解碼器(編碼器/解碼器)345 形成用于高速和高分辨率圖形處理的視頻處理流水線。來(lái)自GPU 306、308的嵌入式RAM 311、313的數(shù)據(jù)被存儲(chǔ)在存儲(chǔ)器322中。視頻編碼器/視頻編解碼器345經(jīng)由通信結(jié)構(gòu)310 來(lái)訪問(wèn)存儲(chǔ)器322中的數(shù)據(jù)。視頻處理流水線向A/V(音頻/視頻)端口 344輸出數(shù)據(jù),以便傳輸?shù)诫娨暀C(jī)或其他顯示器。由例如平臺(tái)聊天應(yīng)用之類(lèi)的應(yīng)用生成的輕量消息(例如,彈出框)是通過(guò)使用GPU 來(lái)調(diào)度用于將彈出框呈現(xiàn)在覆蓋視頻平面中的代碼來(lái)創(chuàng)建的。覆蓋平面所使用的存儲(chǔ)器量取決于覆蓋區(qū)域大小,并且該覆蓋圖較佳地與屏幕分辨率成比例縮放。在并發(fā)平臺(tái)服務(wù)應(yīng)用使用完整用戶(hù)界面的情況下,優(yōu)選使用獨(dú)立于應(yīng)用分辨率的分辨率。定標(biāo)器可用于設(shè)置該分辨率,從而消除了對(duì)改變頻率并弓I起τν重新同步的需求。存儲(chǔ)器控制器314促進(jìn)處理器訪問(wèn)各種類(lèi)型的存儲(chǔ)器322,諸如但不限于,一個(gè)或多個(gè)DRAM(動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)通道。多媒體控制臺(tái)100包括較佳地在模塊318上實(shí)現(xiàn)的I/O控制器348、系統(tǒng)管理控制器325、音頻處理單元323、網(wǎng)絡(luò)接口控制器324、第一 USB主控制器349、第二 USB控制器 351和前面板I/O子部件350。USB控制器349和351用作外圍控制器352 (I) -352 (2)、無(wú)線適配器358、和外置存儲(chǔ)器設(shè)備356 (例如閃存、外置⑶/DVD ROM驅(qū)動(dòng)器、記憶棒、可移動(dòng)介質(zhì)等)的主機(jī)。網(wǎng)絡(luò)接口 324和/或無(wú)線適配器358提供對(duì)網(wǎng)絡(luò)(例如,因特網(wǎng)、家庭網(wǎng)絡(luò)等)的訪問(wèn)并且可以是包括以太網(wǎng)設(shè)備、調(diào)制解調(diào)器、藍(lán)牙模塊、電纜調(diào)制解調(diào)器等的各種不同的有線或無(wú)線適配器組件中任何一種。提供系統(tǒng)存儲(chǔ)器331來(lái)存儲(chǔ)在引導(dǎo)過(guò)程期間加載的應(yīng)用數(shù)據(jù)。提供媒體驅(qū)動(dòng)器 360且其可包括DVD/⑶驅(qū)動(dòng)器、藍(lán)光驅(qū)動(dòng)器、硬盤(pán)驅(qū)動(dòng)器、或其它可移動(dòng)媒體驅(qū)動(dòng)器等。媒體驅(qū)動(dòng)器360可以?xún)?nèi)置或外置于多媒體控制臺(tái)100。應(yīng)用數(shù)據(jù)可經(jīng)由媒體驅(qū)動(dòng)器360訪問(wèn), 以由多媒體控制臺(tái)100執(zhí)行、回放等。媒體驅(qū)動(dòng)器360經(jīng)由諸如串行ATA總線或其他高速連接(例如IEEE 1394)等總線連接到I/O控制器348。系統(tǒng)管理控制器325提供涉及確保多媒體控制臺(tái)100的可用性的各種服務(wù)功能。 音頻處理單元323和音頻編解碼器346形成具有高保真度和立體聲處理的對(duì)應(yīng)的音頻處理流水線。音頻數(shù)據(jù)被存儲(chǔ)在存儲(chǔ)器322中,并被通過(guò)高保真立體聲和多通道音頻處理來(lái)形成相應(yīng)的音頻處理流水線的音頻處理單元323和音頻輸入/輸出單元346訪問(wèn)。當(dāng)并發(fā)平臺(tái)服務(wù)應(yīng)用需要音頻時(shí),則由于時(shí)間敏感性而將音頻處理異步地調(diào)度給游戲應(yīng)用。音頻處理流水線將數(shù)據(jù)輸出到A/V端口 344以供外部音頻用戶(hù)或具有音頻能力的設(shè)備再現(xiàn)。前面板I/O子部件350支持暴露在多媒體控制臺(tái)100的外表面上的電源按鈕351 和彈出按鈕353以及任何LED(發(fā)光二極管)或其他指示器的功能。系統(tǒng)供電模塊362向多媒體控制臺(tái)100的組件供電。風(fēng)扇364冷卻多媒體控制臺(tái)100內(nèi)的電路。多媒體控制臺(tái)100可通過(guò)將該系統(tǒng)簡(jiǎn)單地連接到電視機(jī)或其他顯示器而作為獨(dú)立系統(tǒng)來(lái)操作。在該獨(dú)立模式中,多媒體控制臺(tái)100允許一個(gè)或多個(gè)用戶(hù)與該系統(tǒng)交互、看電影、或聽(tīng)音樂(lè)。然而,隨著通過(guò)網(wǎng)絡(luò)接口 324或無(wú)線適配器358可用的寬帶連接的集成, 多媒體控制臺(tái)100還可作為較大網(wǎng)絡(luò)社區(qū)中的參與者來(lái)操作。在多媒體控制臺(tái)100引導(dǎo)且系統(tǒng)資源被保留之后,執(zhí)行并發(fā)平臺(tái)服務(wù)應(yīng)用來(lái)提供平臺(tái)功能。平臺(tái)功能被封裝在上述所保留的系統(tǒng)資源中執(zhí)行的一組平臺(tái)應(yīng)用中。操作系統(tǒng)內(nèi)核標(biāo)識(shí)是平臺(tái)服務(wù)應(yīng)用線程而非游戲應(yīng)用線程的線程。任選的輸入設(shè)備(例如,控制器352(1)和352(2))由游戲應(yīng)用和系統(tǒng)應(yīng)用共享。 輸入設(shè)備要在平臺(tái)應(yīng)用和游戲應(yīng)用之間切換,使得其各自具有設(shè)備的焦點(diǎn)。I/O管理器348 較佳地控制輸入流的切換,且驅(qū)動(dòng)程序維護(hù)關(guān)于焦點(diǎn)切換的狀態(tài)信息。捕捉設(shè)備20可以通過(guò)USB控制器349或其他接口來(lái)為控制臺(tái)100定義附加的輸入設(shè)備。圖5A是向QoS多媒體保證提供可縮放平臺(tái)服務(wù)的游戲控制臺(tái)計(jì)算機(jī)系統(tǒng)12體系結(jié)構(gòu)的一實(shí)施例的框圖。每一個(gè)樣本處理單元與共享資源通信結(jié)構(gòu)310的一實(shí)施例進(jìn)行交互,在本案中該共享資源通信結(jié)構(gòu)310是互連結(jié)構(gòu)310。結(jié)構(gòu)310可以是片上總線。存儲(chǔ)器控制器314控制用于經(jīng)由多個(gè)存儲(chǔ)器通道316中的一個(gè)或多個(gè)來(lái)訪問(wèn)共享存儲(chǔ)器(此處所示的示例為一種形式的DRAM)的存儲(chǔ)器總線315。在這個(gè)實(shí)施例中,存在三個(gè)CPU和兩個(gè)GPU。平臺(tái)GPU 306被示為具有嵌入式RAM 313。應(yīng)用GPU 308也被示為具有嵌入式RAM 311。如以上所提到的,在一些實(shí)施例中,GPU 可以不具有嵌入式存儲(chǔ)器。平臺(tái)CPU 302用高速緩存305作為一般用于指令和用于數(shù)據(jù)的一級(jí)高速緩存和二級(jí)高速緩存的一實(shí)施例來(lái)示出。應(yīng)用CPU 304用高速緩存306作為一般用于指令和用于數(shù)據(jù)的一級(jí)高速緩存、二級(jí)高速緩存和三級(jí)(L3)高速緩存的一實(shí)施例來(lái)示出。用高速緩存506作為一級(jí)和二級(jí)高速緩存的一實(shí)施例來(lái)將共享的CPU 307示為多核 CPU。模塊519示出了多個(gè)輸入和輸出控制器。音頻處理單元542和544說(shuō)明了專(zhuān)用硬件方法。應(yīng)用音頻處理器單元542在這個(gè)示例中是應(yīng)用硬件分區(qū)的一部分并且不必為平臺(tái)服務(wù)應(yīng)用執(zhí)行音頻處理。平臺(tái)音頻處理器544為一個(gè)或多個(gè)平臺(tái)服務(wù)應(yīng)用執(zhí)行音頻處理, 并為通過(guò)平臺(tái)服務(wù)軟件API 328來(lái)請(qǐng)求的一些多媒體應(yīng)用音頻任務(wù)執(zhí)行音頻處理。每一音頻處理器單元可包括用于編碼和解碼從平臺(tái)AV I/O控制器510接收或者向其輸出的音頻數(shù)據(jù)的硬件或數(shù)字信號(hào)處理器(DSP)或CPU執(zhí)行固件??稍诓煌耐ǖ郎喜⑿械剌斎牒洼敵霾煌囊纛l。例如,玩游戲的用戶(hù)可在一個(gè)通道上具有他們的音頻,而游戲的音頻正在其他通道上播放。所共享的專(zhuān)用處理器550可提供額外的計(jì)算資源。專(zhuān)用處理器550可支持的處理的一些示例是音頻和視頻處理、傳感器處理和圖像數(shù)據(jù)處理。除了共享專(zhuān)用處理器550以外,其他所示的I/O控制器是在平臺(tái)服務(wù)分區(qū)中多媒體應(yīng)用通過(guò)軟件虛擬化接口 328(例如,API)來(lái)進(jìn)行訪問(wèn)的資源的示例。這些資源中的一些用于具有較少性能影響的共享硬件設(shè)備,諸如用戶(hù)輸入和輸出設(shè)備(例如,游戲控制器、鍵盤(pán)、定點(diǎn)設(shè)備)。要么它們是較底的帶寬,要么當(dāng)前所需的等待時(shí)間(為了滿足用戶(hù)體驗(yàn)需求)非常長(zhǎng),或者它們具有固有的重試能力。這些類(lèi)型的硬件設(shè)備(它們并不是時(shí)間關(guān)鍵的)的其他示例包括但不限于以太網(wǎng)、WiFi、SATA (ODD和HDD)、高密度大容量存儲(chǔ)閃存、USB (用于許多設(shè)備類(lèi)型)等。存在將從游戲應(yīng)用分區(qū)的觀點(diǎn)來(lái)進(jìn)行虛擬化的另一種分類(lèi)的資源,并且平臺(tái)服務(wù)分區(qū)將充分地隱藏性能保證,即使存在實(shí)時(shí)等待時(shí)間和BW需求時(shí)也是這樣。這些資源的示例包括如平臺(tái)顯示控制器540視頻解碼器/編碼器(即,VC-I、H. 264、MPEG-2、MPEG-4等)、 視頻質(zhì)量框(即,運(yùn)動(dòng)自適應(yīng)解交織、光斑減少、抖動(dòng)減少等)、平臺(tái)I/O控制器348(例如, 快速PCI-e接口)和平臺(tái)視聽(tīng)(AV)輸入/輸出接口控制器510(例如,其接收相機(jī)輸入552) 的硬件資源。這些框與實(shí)時(shí)視頻直接相關(guān),其對(duì)用戶(hù)體驗(yàn)具有關(guān)鍵的實(shí)時(shí)需求。在這些情況中,軟件API328被游戲應(yīng)用329用來(lái)進(jìn)行訪問(wèn)。針對(duì)一致的實(shí)時(shí)性能的使用模塊用于避免由于作為整個(gè)總平臺(tái)中的下溢/溢出或其他低級(jí)QoS問(wèn)題而引起的退出或錯(cuò)誤。平臺(tái)視聽(tīng)控制器510控制與視聽(tīng)設(shè)備或分開(kāi)的顯示和音頻輸出設(shè)備的視聽(tīng)輸入/輸出接口。可使用的接口的示例包括某一版本的顯示端口(DP)、高清晰度多媒體接口(HDMI)和數(shù)字音頻信號(hào)的索尼/飛利浦?jǐn)?shù)字互連格式(S/PDIF)。圖5B是向QoS多媒體保證提供可縮放的平臺(tái)服務(wù)的多媒體控制臺(tái)體系結(jié)構(gòu)的另一實(shí)施例的框圖,該框圖類(lèi)似于圖5A,除了在這個(gè)實(shí)施例中應(yīng)用分區(qū)還包括高速、隨機(jī)存取閃速存儲(chǔ)器控制器572,該閃速存儲(chǔ)器控制器572用于控制在閃存接口 574的一個(gè)或多個(gè)通道518上的傳輸以訪問(wèn)高速、隨機(jī)存取閃存536。在這個(gè)示例中,分區(qū)分配軟件334已經(jīng)映射了應(yīng)用程序單元304、408以允許它們?cè)L問(wèn)高速隨機(jī)存取閃存536而非訪問(wèn)平臺(tái)處理單元 306,302ο圖2至圖5Β中示出的示例計(jì)算機(jī)系統(tǒng)包括計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的示例。這樣的介質(zhì)可包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括,但不限于,RAM、ROM、EEPR0M、高速緩存、閃存或其他存儲(chǔ)器技術(shù)、CD-ROM、數(shù)字多功能盤(pán)(DVD) 或其他光盤(pán)存儲(chǔ)、記憶棒或卡、磁帶盒、磁帶、媒體驅(qū)動(dòng)器、硬盤(pán)、磁盤(pán)存儲(chǔ)或其他磁性存儲(chǔ)設(shè)備、或能用于存儲(chǔ)所需信息且可以由計(jì)算機(jī)訪問(wèn)的任何其他介質(zhì)。圖6是描述了用于基于對(duì)多媒體應(yīng)用的一個(gè)或多個(gè)服務(wù)質(zhì)量(QoS)保證在多媒體應(yīng)用和平臺(tái)服務(wù)應(yīng)用之間分配計(jì)算資源的過(guò)程的一個(gè)實(shí)施例的流程圖。在步驟702軟件接口 API 328接收對(duì)處理的請(qǐng)求,并在步驟703確定該請(qǐng)求是否是對(duì)執(zhí)行影響用戶(hù)體驗(yàn)的關(guān)鍵實(shí)時(shí)處理的資源的請(qǐng)求。如果是,則在步驟705相對(duì)于其他實(shí)時(shí)關(guān)鍵請(qǐng)求來(lái)處理該請(qǐng)求。 例如,可根據(jù)對(duì)顯示器的視頻數(shù)據(jù)的存儲(chǔ)器讀取來(lái)排定DRAM刷新的優(yōu)先級(jí)。如果該請(qǐng)求不是對(duì)執(zhí)行關(guān)鍵實(shí)時(shí)用戶(hù)體驗(yàn)處理的資源的請(qǐng)求,則在步驟704軟件API 328確定該請(qǐng)求是否是對(duì)多媒體應(yīng)用的請(qǐng)求。在一個(gè)實(shí)施例中,客戶(hù)機(jī)ID可標(biāo)識(shí)來(lái)自應(yīng)用分區(qū)資源的請(qǐng)求。 在另一個(gè)示例中,該請(qǐng)求可來(lái)自平臺(tái)資源但包括指示它是對(duì)多媒體應(yīng)用執(zhí)行的請(qǐng)求的數(shù)據(jù)段。響應(yīng)于該請(qǐng)求是對(duì)除多媒體應(yīng)用329以外的應(yīng)用的請(qǐng)求,資源在步驟706基于在多媒體計(jì)算機(jī)系統(tǒng)12中的資源的當(dāng)前條件來(lái)處理該請(qǐng)求。當(dāng)前條件一般指計(jì)算機(jī)系統(tǒng)以及當(dāng)前正在執(zhí)行的特定資源的當(dāng)前操作狀態(tài)。例如,多媒體應(yīng)用可被加到運(yùn)行時(shí)存儲(chǔ)器中并執(zhí)行,但是由于用戶(hù)已切換到了平臺(tái)服務(wù)應(yīng)用的菜單屏或者已點(diǎn)擊了 “暫?!币虼怂幱凇皶和!睜顟B(tài)。這種操作狀態(tài)將可能降低對(duì)應(yīng)用的請(qǐng)求的優(yōu)先級(jí)。按照?qǐng)D3A中的所存儲(chǔ)的優(yōu)先級(jí)方案333,還可存在如DRAM刷新或高安全威脅之類(lèi)的并發(fā)系統(tǒng)功能,這些并發(fā)系統(tǒng)功能在優(yōu)先級(jí)上比對(duì)資源的應(yīng)用請(qǐng)求更高,因?yàn)樗鼈儠?huì)影響計(jì)算機(jī)本身的操作的完整性。還可存在因其關(guān)鍵的實(shí)時(shí)性能窗口而比多媒體應(yīng)用請(qǐng)求優(yōu)先處理的平臺(tái)服務(wù),這些關(guān)鍵的實(shí)時(shí)性能窗口會(huì)不利地影響用戶(hù)體驗(yàn)。一些示例將是音頻輸出處理和混音。另一示例是需要在微秒的時(shí)間段內(nèi)更新顯示的視頻顯示輸出, 否則顯示上的一些像素將因?yàn)轱@示數(shù)據(jù)未及時(shí)更新而是黑色區(qū)域。在一些實(shí)例中,自然用戶(hù)界面(NUI)系統(tǒng)的相機(jī)圖像數(shù)據(jù)可比來(lái)自應(yīng)用CPU 304的一種類(lèi)型的請(qǐng)求具有相對(duì)更高的優(yōu)先級(jí)。此外,諸如QoS保證軟件333之類(lèi)的軟件可基于優(yōu)先級(jí)方案333將請(qǐng)求的優(yōu)先級(jí)重新安排在不同資源的可編程隊(duì)列中。如果請(qǐng)求是對(duì)多媒體應(yīng)用的請(qǐng)求,則軟件接口 328在步驟708確定在請(qǐng)求資源的當(dāng)前條件下QoS保證參數(shù)是否被滿足。例如,視頻編碼器345在對(duì)多媒體應(yīng)用的請(qǐng)求先前可具有兩個(gè)請(qǐng)求,但每個(gè)請(qǐng)求都具有使對(duì)發(fā)送多媒體應(yīng)用的流傳輸視頻的QoS等待時(shí)間保證仍被滿足的數(shù)據(jù)大小。當(dāng)請(qǐng)求可在資源的當(dāng)前條件下被滿足時(shí),在步驟710資源基于當(dāng)前條件處理請(qǐng)求。如果可適用的QoS保證參數(shù)在當(dāng)前的資源條件下不能被滿足,則資源分配控制單元620在步驟712在處理請(qǐng)求時(shí)應(yīng)用QoS保證處理技術(shù)。圖7和圖8提供應(yīng)用圖6的過(guò)程的QoS保證處理技術(shù)的實(shí)現(xiàn)實(shí)例。
圖7是描述了實(shí)現(xiàn)優(yōu)先級(jí)的過(guò)程作為針對(duì)等待時(shí)間保證的QoS保證處理技術(shù)的一個(gè)實(shí)施例的流程圖。步驟702至706如以上對(duì)圖6所討論的那樣執(zhí)行。如果請(qǐng)求是對(duì)多媒體應(yīng)用的請(qǐng)求,則API在步驟808確定在資源當(dāng)前條件下針對(duì)處理的QoS保證的上限或最大限制是否可被滿足。上限的示例是用于處理存儲(chǔ)器存取請(qǐng)求的最大時(shí)間量。上限的另一示例是基于顯示刷新率的時(shí)間限制。例如,游戲應(yīng)用通常基于30Hz或60Hz的實(shí)際時(shí)間, 并且在每一幀時(shí)間內(nèi)存在許多性能關(guān)鍵部分,這在限制了 QoS在其上執(zhí)行的時(shí)間窗口的上限。如果請(qǐng)求在當(dāng)前條件下不能滿足QoS保證等待時(shí)間上限,則在步驟816中API 328分配可用于多媒體應(yīng)用請(qǐng)求的最高優(yōu)先級(jí)。例如,帶著滿足上限的目標(biāo),可在請(qǐng)求隊(duì)列中提升該請(qǐng)求。例如按照存儲(chǔ)在系統(tǒng)存儲(chǔ)器311中的優(yōu)先級(jí)方案333,優(yōu)先級(jí)值的范圍可能是可用于多媒體應(yīng)用的。如果在步驟808確定在當(dāng)前條件下針對(duì)處理的QoS等待時(shí)間保證的上限可被滿足,則在步驟810軟件API 328確定在當(dāng)前條件下可適用的等待時(shí)間QoS保證的下限是否可被滿足。對(duì)于一些資源,可存在下限,例如關(guān)于時(shí)間窗口的下限,以便在QoS實(shí)現(xiàn)中具有穩(wěn)定的行為。下限可防止或減少Q(mào)oS主動(dòng)干涉,以免其發(fā)生得過(guò)多,QoS主動(dòng)干涉將在整個(gè)計(jì)算機(jī)系統(tǒng)控制臺(tái)上削弱其他性能的增加。例如,如用戶(hù)輸入設(shè)備之類(lèi)的硬件設(shè)備由于它們較低的帶寬使用、與其他資源相比有較長(zhǎng)的等待時(shí)間保證或者它們具有固定的重試能力,因此它們具有較少的性能影響。如果在資源的當(dāng)前條件下也滿足下限或最小限制,則在步驟814資源基于當(dāng)前條件來(lái)處理請(qǐng)求。如果在當(dāng)前條件下不能滿足對(duì)針處理的QoS保證的下限,則軟件API 328在步驟812將延遲插入到處理中以滿足下限或最小限制要求。在一些實(shí)施例中,上等待時(shí)間或下等待時(shí)間可申請(qǐng)例如I/O設(shè)備或諸如因特網(wǎng)連接之類(lèi)的其他接口,其中輸入或數(shù)據(jù)即使在第一時(shí)間沒(méi)有被處理也可能會(huì)被再次發(fā)送。圖8是示出用于基于用于提供一致的實(shí)時(shí)性能的準(zhǔn)則來(lái)處理存儲(chǔ)器請(qǐng)求的QoS保證方法的示例的流程圖。在步驟922,存儲(chǔ)器的QoS保證軟件333或者存儲(chǔ)器的API 328接收存儲(chǔ)器存取請(qǐng)求。按照先前討論的步驟703和705,如果該請(qǐng)求是對(duì)執(zhí)行對(duì)用戶(hù)體驗(yàn)的實(shí)時(shí)處理的資源的請(qǐng)求,則相對(duì)于其他實(shí)時(shí)關(guān)鍵請(qǐng)求來(lái)處理該請(qǐng)求。在步驟704,存儲(chǔ)器的QoS保證軟件333或存儲(chǔ)器API 328確定請(qǐng)求是否來(lái)自執(zhí)行對(duì)正執(zhí)行的多媒體應(yīng)用的處理的資源。如果請(qǐng)求是對(duì)多媒體應(yīng)用的請(qǐng)求,則存儲(chǔ)器QoS保證軟件333、328在步驟926基于針對(duì)一致性能的準(zhǔn)則和當(dāng)前條件來(lái)確定由QoS所分配的存儲(chǔ)器資源處理該請(qǐng)求的時(shí)間。如對(duì)圖3A所討論地,針對(duì)一致性能的準(zhǔn)則的一些示例包括每一個(gè)處理單元的執(zhí)行效率和存儲(chǔ)器通道效率。按照當(dāng)前的條件,可存在來(lái)自執(zhí)行關(guān)鍵的實(shí)時(shí)處理的資源的請(qǐng)求,其為在對(duì)多媒體應(yīng)用的請(qǐng)求前面的那個(gè)事件提供一致的用戶(hù)體驗(yàn)和一致的計(jì)算機(jī)系統(tǒng)性能。另外,存儲(chǔ)器請(qǐng)求的系統(tǒng)標(biāo)準(zhǔn)可以是當(dāng)前條件的一部分。響應(yīng)于請(qǐng)求不是對(duì)多媒體應(yīng)用的請(qǐng)求,在步驟930QoS保證軟件333或者存儲(chǔ)器控制器API 328基于并非被分配用于針對(duì)多媒體應(yīng)用的QoS保證請(qǐng)求的存儲(chǔ)器資源的當(dāng)前條件來(lái)處理該請(qǐng)求。在一些實(shí)施例中,對(duì)用于QoS請(qǐng)求的存儲(chǔ)器資源的分配在執(zhí)行期間可以是完全動(dòng)態(tài)的或部分動(dòng)態(tài)的。在其他實(shí)施例中,當(dāng)多媒體應(yīng)用正在執(zhí)行時(shí),用于QoS請(qǐng)求的存儲(chǔ)器資源的分配可以是用于QoS保證請(qǐng)求的預(yù)留存儲(chǔ)器。盡管用結(jié)構(gòu)特征和/或方法動(dòng)作專(zhuān)用的語(yǔ)言描述了本主題,但可以理解,所附權(quán)利要求書(shū)中定義的主題不必限于上述具體特征或動(dòng)作。更確切而言,上述具體特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例形式公開(kāi)的。
權(quán)利要求
1.一種用于執(zhí)行服從針對(duì)多媒體軟件應(yīng)用的一個(gè)或多個(gè)服務(wù)質(zhì)量(QoS)保證的處理的多媒體計(jì)算機(jī)系統(tǒng),包括平臺(tái)計(jì)算資源分區(qū),它包括平臺(tái)中央處理單元(CPU)和平臺(tái)圖形處理單元(GPU);以及應(yīng)用計(jì)算資源分區(qū),它包括應(yīng)用CPU和應(yīng)用GPU ;以及可被平臺(tái)分區(qū)資源和應(yīng)用分區(qū)資源訪問(wèn)的共享資源。
2.如權(quán)利要求I所述的多媒體計(jì)算機(jī)系統(tǒng),其特征在于所述應(yīng)用CPU和所述平臺(tái)CPU是不具有任何共享的高速緩存存儲(chǔ)器的分開(kāi)的處理器。
3.如權(quán)利要求I所述的多媒體計(jì)算機(jī)系統(tǒng),其特征在于所述應(yīng)用GPU和所述平臺(tái)GPU是不具有任何共享的嵌入式RAM存儲(chǔ)器的分開(kāi)的處理器。
4.如權(quán)利要求I所述的多媒體計(jì)算機(jī)系統(tǒng),其特征在于,還包括具有被編碼在其上的指令一個(gè)或多個(gè)計(jì)算機(jī)存儲(chǔ)介質(zhì),所述指令用于使所述處理單元中的至少一個(gè)在平臺(tái)和應(yīng)用分區(qū)之間動(dòng)態(tài)地分配計(jì)算資源。
5.如權(quán)利要求I所述的多媒體計(jì)算機(jī)系統(tǒng),其特征在于在一個(gè)或多個(gè)平臺(tái)服務(wù)應(yīng)用在所述平臺(tái)處理單元中的至少一個(gè)上以及所述多媒體應(yīng)用在所述應(yīng)用處理單元中的至少一個(gè)上的并發(fā)執(zhí)行期間,所述應(yīng)用處理單元并不執(zhí)行所述一個(gè)或多個(gè)平臺(tái)服務(wù)應(yīng)用。
6.如權(quán)利要求I所述的多媒體計(jì)算機(jī)系統(tǒng),其特征在于所述共享資源是可被所述平臺(tái)CPU、所述平臺(tái)GPU、所述應(yīng)用CPU和所述應(yīng)用GPU訪問(wèn)的存儲(chǔ)器;并且所述系統(tǒng)還包括具有被編碼在其上的指令的一個(gè)或多個(gè)計(jì)算機(jī)存儲(chǔ)介質(zhì),所述指令用于使處理器基于以下準(zhǔn)則來(lái)相對(duì)于所述存儲(chǔ)器執(zhí)行基于針對(duì)所述多媒體應(yīng)用的一個(gè)或多個(gè)服務(wù)質(zhì)量(QoS) 保證的QoS保證方法,所述準(zhǔn)則包括所述處理單元中的每一個(gè)的執(zhí)行效率;以及存儲(chǔ)器通道效率。
7.如權(quán)利要求I所述的多媒體計(jì)算機(jī)系統(tǒng),其特征在于,還包括所述平臺(tái)分區(qū)包括對(duì)一個(gè)或多個(gè)平臺(tái)服務(wù)應(yīng)用和所述多媒體應(yīng)用執(zhí)行處理、但僅可被所述多媒體應(yīng)用經(jīng)由軟件接口來(lái)訪問(wèn)的一個(gè)或多個(gè)硬件資源。
8.如權(quán)利要求I所述的多媒體計(jì)算機(jī)系統(tǒng),其特征在于,還包括具有被編碼在其上的指令的一個(gè)或多個(gè)計(jì)算機(jī)存儲(chǔ)介質(zhì),所述指令用于使處理器執(zhí)行基于針對(duì)多媒體應(yīng)用的一個(gè)或多個(gè)服務(wù)質(zhì)量(QoS)保證的QoS等待時(shí)間保證功能,所述方法包括確定是否針對(duì)所述多媒體應(yīng)用的處理的QoS等待時(shí)間保證的上限不能被滿足;以及響應(yīng)于所述QoS等待時(shí)間保證的上限沒(méi)有被滿足,基于當(dāng)前條件來(lái)分配可用于所述處理的最聞優(yōu)先級(jí)。確定是否針對(duì)所述多媒體應(yīng)用的處理的QoS等待時(shí)間保證的下限不能被滿足;以及響應(yīng)于所述QoS等待時(shí)間保證的所述下限沒(méi)有被滿足,將延遲插入到所述處理中以滿足所述下等待時(shí)間限制。
9.一種用于執(zhí)行服從針對(duì)多媒體軟件應(yīng)用的一個(gè)或多個(gè)服務(wù)質(zhì)量(QoS)保證的處理的多媒體計(jì)算機(jī)系統(tǒng),包括平臺(tái)計(jì)算資源分區(qū),它包括平臺(tái)中央處理單元(CPU)和平臺(tái)圖形處理單元(GPU);應(yīng)用計(jì)算資源分區(qū),它包括應(yīng)用CPU和應(yīng)用GPU ;可被所述處理單元中的每一個(gè)訪問(wèn)的存儲(chǔ)器;以及具有被編碼在其上的指令的一個(gè)或多個(gè)計(jì)算機(jī)存儲(chǔ)介質(zhì),所述指令用于使所述處理單元中的至少一個(gè)執(zhí)行一種用于在多媒體模式和通用計(jì)算機(jī)模式之間將操作模式改變成至少一個(gè)處理單元的所請(qǐng)求的模式。
10.如權(quán)利要求9所述的多媒體計(jì)算機(jī)系統(tǒng),其特征在于,用于在多媒體模式和通用計(jì)算機(jī)模式之間改變所述至少一個(gè)處理單元的操作模式的方法包括將所述至少一個(gè)處理單元的當(dāng)前模式執(zhí)行狀態(tài)數(shù)據(jù)存儲(chǔ)在所述存儲(chǔ)器中;將在所述至少一個(gè)處理單元上執(zhí)行的任何應(yīng)用的當(dāng)前運(yùn)行時(shí)存儲(chǔ)器內(nèi)容存儲(chǔ)在所述存儲(chǔ)器中。為所述至少一個(gè)處理單元加載所請(qǐng)求的模式的先前存儲(chǔ)的執(zhí)行狀態(tài)數(shù)據(jù);以及為先前在所述至少一個(gè)處理單元上以所請(qǐng)求的模式執(zhí)行的任何應(yīng)用加載先前存儲(chǔ)的運(yùn)行時(shí)存儲(chǔ)器內(nèi)容。
全文摘要
本發(fā)明涉及具有QOS保證的可縮放多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)。描述了各種版本的多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu),這些多媒體計(jì)算機(jī)系統(tǒng)體系結(jié)構(gòu)滿足對(duì)諸如游戲應(yīng)用之類(lèi)的多媒體應(yīng)用的服務(wù)質(zhì)量(QoS)保證,同時(shí)允許平臺(tái)資源,尤其是硬件資源,隨時(shí)間放大或縮小。將計(jì)算機(jī)系統(tǒng)的計(jì)算資源劃分成平臺(tái)分區(qū)和應(yīng)用分區(qū),每一分區(qū)都包括其自己的中央處理單元(CPU)和可選的圖形處理單元(GPU)。為了改善資源的放大或縮小,平臺(tái)分區(qū)包括只能被多媒體應(yīng)用通過(guò)軟件接口訪問(wèn)的一個(gè)或多個(gè)硬件資源。另外,在這些分區(qū)的外面可存在被這些分區(qū)共享或者提供通用計(jì)算資源的其他資源。
文檔編號(hào)G06F1/16GK102591418SQ20111044011
公開(kāi)日2012年7月18日 申請(qǐng)日期2011年12月15日 優(yōu)先權(quán)日2010年12月16日
發(fā)明者J·V·塞爾, J·塔迪夫, J·安德魯斯, M·S·格羅斯曼, N·R·貝克, S·卡麗 申請(qǐng)人:微軟公司