新四季網

用於硬體資源的動態配置的框架的製作方法

2023-05-29 05:57:51

專利名稱:用於硬體資源的動態配置的框架的製作方法
技術領域:
本申請涉及配置和管理硬體資源。
背景技術:
應用可以通過向顯示系統(例如,計算設備或系統)中的可用硬體資源明確提供 指令來呈現(render)諸如圖像、圖形、視頻等等之類的顯示數據。為了與特定的硬體資源 相接口,應用可以使用由系統為該應用提供的專門針對該硬體資源編碼的定製應用編程接 口(API)。利用這些API,應用可以通過識別具體硬體資源以呈現特定圖形工作量(顯示數 據)來劃分呈現過程。例如,應用可以規定3D呈現流水線應當通過使用3D呈現API (例 如,開放GL API)來呈現圖形或圖像數據。為了規定視頻解碼流水線應當呈現電影數據,應 用可以規定使用電影重放API。因為可用的硬體資源對於不同的設備可能是不同的,所以應用可能不能夠完全利 用各種可用的硬體資源。此外,當硬體資源中的一個或多個被改變/替換時,為了與新的硬 件相接口可能需要新的API。

發明內容
在一個方面中,管理硬體資源的示例性過程包括接收對呈現顯示數據的請求,該 請求包括描述顯示數據的規範。基於規範和顯示數據,動態地選擇或配置硬體。利用所選 擇或配置的硬體來呈現顯示數據。實現方式可以可選地包括以下特徵中的一個或多個。所接收的請求可包括描述顯 示數據的層次組織的層樹。可通過利用所配置或選擇的硬體合成顯示數據來呈現顯示數 據。為了動態地選擇或配置硬體,可識別一個或多個媒體對象中每一個的媒體類型。此外, 可基於所識別出的媒體類型來選擇或配置硬體以用於呈現每個媒體對象。動態地選擇或配 置硬體可包括設定所選擇或配置的硬體的操作模式。此外,可識別可用硬體的列表,當檢測 到可用硬體的列表的變化時,可更新列表。另外,呈現顯示數據可包括與每個所配置或選 擇的硬體獨立地接口。另外,動態地選擇或配置硬體可包括設定一個或多個應用編程接口 (API)的一個或多個參數。在另一方面中,管理硬體資源的示例性過程可實現為一種電腦程式產品,其被 包含在計算機可讀介質上,可操作來使得數據處理裝置執行操作。例如,電腦程式產品被 設計為使得數據處理裝置接收對呈現顯示數據的請求,該請求包括描述顯示數據的規範。 電腦程式產品被設計為使得數據處理裝置基於顯示數據和規範來動態地選擇或配置硬 件。另外,電腦程式產品被設計為使得數據處理裝置利用所選擇或配置的硬體來呈現顯 示數據。電腦程式產品的實現方式可以可選地包括以下特徵中的一個或多個。計算機程 序產品可被設計為使得數據處理裝置接收包括描述顯示數據的層次組織的層樹的請求。另 外,電腦程式產品可被設計為使得數據處理裝置呈現顯示數據,其中包括利用所配置或選擇的硬體來合成顯示數據。電腦程式產品還可被設計為使得數據處理裝置動態地選擇 或配置硬體。動態地選擇或配置硬體可包括識別一個或多個媒體對象中每一個的媒體類 型,並且基於所識別出的媒體類型來選擇或配置硬體。另外,電腦程式產品可被設計為使 得數據處理裝置通過設定一個或多個硬體資源的操作模式來配置或選擇硬體。另外,計算 機程序產品可被設計為使得數據處理裝置識別可用硬體的列表,並且當檢測到可用硬體的 列表的變化時,更新列表。另外,電腦程式產品可被設計為使得數據處理裝置通過與每個 所選擇或配置的硬體獨立地接口來呈現顯示數據。此外,電腦程式產品可被設計為使得 數據處理裝置選擇或配置硬體,其中包括設定一個或多個應用編程接口(API)的一個或多 個參數。在另一方面中,一種用於管理硬體資源的系統可包括被設計為生成對呈現顯示數 據的請求的一個或多個應用,該請求包括描述顯示數據的規範。該系統還包括與所述一個 或多個應用相分離並連接到所述一個或多個應用的判決邏輯(decision logic)。該判決邏 輯被設計為從所述一個或多個應用接收所生成的請求。另外,該判決邏輯被設計為基於顯 示數據和規範來動態地選擇或配置硬體。另外,該判決邏輯被設計為利用所選擇或配置的 硬體來呈現顯示數據。系統的實現方式可以可選地包括以下特徵中的一個或多個。應用可被設計為生 成包括描述顯示數據的層次組織的層樹的請求。判決邏輯可被設計為呈現顯示數據,其中 包括利用所配置的一個或多個硬體資源來合成顯示數據。另外,判決邏輯可被設計為動態 地選擇或配置硬體。動態地選擇或配置硬體包括識別一個或多個媒體對象中每一個的媒體 類型,並且基於所識別出的媒體類型來選擇硬體。另外,判決邏輯可被設計為選擇或配置硬 件,其中包括設定硬體的操作模式。判決邏輯可被設計為識別可用硬體的列表,並且當檢測 到可用硬體的列表的變化時,更新列表。另外,判決邏輯可被設計為呈現顯示數據,其中包 括與每個所配置或選擇的硬體獨立地接口。另外,判決邏輯可被設計為配置或選擇硬體,其 中包括設定一個或多個應用編程接口(API)的一個或多個參數。在另一方面中,一種用於管理硬體資源的裝置包括被設計為生成對呈現顯示數據 的請求的一個或多個應用。該請求包括描述顯示數據的規範。該裝置包括與所述一個或多 個應用相分離並連接到所述一個或多個應用的判決邏輯。該判決邏輯被設計為從所述一個 或多個應用接收所生成的請求。該判決邏輯被設計為基於顯示數據和規範來動態地選擇或 配置硬體。另外,該判決邏輯被設計為利用所選擇或配置的硬體來呈現顯示數據。另外,該 系統包括被配置為顯示所呈現的顯示數據的顯示單元。本說明書中描述的主題可能能夠提供以下優點中的一個或多個。在框架層中提供 了用於判定圖形處理路徑的判決邏輯,從而可以動態分配和配置可用硬體資源來呈現由一 個或多個應用描述的特定顯示數據,而不需要這些應用選擇呈現硬體(通過選擇特定的呈 現API)。應用開發者描述顯示數據,然後框架層中的判決邏輯判定使用哪個硬體,如何配置 所選硬體,等等。因為判決邏輯包括關於可用硬體資源的具體知識,所以判決邏輯可以做出 關於如何最佳地呈現顯示數據的動態判決。另外,判決邏輯在做出動態判決時可以利用每 個硬體資源的具體功能和操作模式。另外,判決邏輯可以配置硬體資源以平衡各種性能折 發。本說明書中描述的主題可實現為一種方法或實現為一種系統或者利用電腦程式產品來實現,所述電腦程式產品有形地包含在諸如⑶-ROM、DVD-ROM、半導體存儲器和 硬碟之類的信息載體中。這種電腦程式產品可使得數據處理裝置執行本說明書中描述的 一個或多個操作。此外,本說明書中描述的主題也可實現為包括處理器和耦合到處理器的存儲器的 系統。該存儲器可編碼有一個或多個程序,這些程序使得處理器執行本說明書中描述的方 法動作中的一個或多個。另外,本說明書中描述的主題可利用各種數據處理機器來實現。


圖1A、1B、1C和ID圖示了可在屏幕上一起呈現的各種顯示數據的示例性顯示層。圖2是用於在動態呈現各種顯示數據時配置硬體資源的示例性系統的框圖。圖3是用於動態呈現顯示數據的示例性過程的流程圖。圖4是圖示出用於在動態呈現各種顯示數據時配置硬體資源的系統的各種實現 方式的框圖。圖5是可用於實現參考圖1-4描述的特徵和操作的計算設備和系統的框圖。
具體實施例方式圖1A、1B、1C和ID圖示了可在屏幕(例如,液晶顯示器(IXD))上一起呈現的各種 顯示數據的示例性顯示層100和104。顯示數據可包括各種媒體對象,例如視頻、圖像、圖形 對象等等。圖IA示出了說話的頭部的視頻數據102的示例性視頻層100。圖IB示出了包 括各種UI元件的示例性用戶界面(UI)層104。例如,UI層104可包括菜單對象110、視頻 框對象106以及視頻控制對象108。圖IC示出了視頻層100和UI層104的合成112。圖ID示出了與合成顯示數據112相關聯的示例性層樹116。可基於所生成的描述 各種層和媒體對象之間的關係的層樹116來將合成顯示數據112呈現到屏幕上。層樹116 是一種分層次的數據結構,其描述了各種媒體對象(例如,層、圖形對象等等)之間的層次 關係。例如,合成顯示數據112可被表示為層樹116的根節點118。位於根節點118之下 的是分別表示視頻層100和UI層104的父節點120、122。每個父節點120、122可包括各 種子節點。例如,表示視頻層100的父節點122包括表示說話頭部視頻數據102的子節點 124。表示UI層104的父節點120包括各種子節點126、128、130。子節點126、128、130中 的每一個表示與UI層相關聯的特定媒體對象。例如,子節點126表示顯示框對象106。子 節點128表示顯示控制對象108。子節點130表示菜單對象110。圖2圖示了用於在呈現各種顯示數據時配置硬體資源的示例性系統200。系統200 包括識別要被合成並呈現在屏幕上的各種顯示數據的一個或多個應用(例如,202)。例如, 應用202生成層樹116,以描述所識別的要被合成和呈現的顯示數據。應用202不是直接與 可用硬體資源206相接口,而是與層框架204相接口。層框架204可以是一軟體框架,該軟 件框架被表達為一組抽象類和描述這些類的實例將如何合作以執行任務的方法。框架204 可包括支持程序、代碼庫、腳本語言或者其他軟體,以幫助開發並聚合應用202的不同組成 部分。層框架204的各種部分可通過應用編程接口(API)而被暴露給應用202。在所示出 的示例中,層框架204包括判決邏輯205,用於就如何呈現層樹116中描述的顯示數據做出 判決。期望的呈現過程由層樹116描述。層框架204 (利用判決邏輯205)基於顯示數據和層樹(其定義了期望的呈現)來選擇並配置用於期望的呈現的硬體資源206。從而,層樹 116描述了應當呈現什麼(圖形工作量或顯示數據),而不需要描述應當如何呈現顯示數據 (即,哪個硬體或API應當被用於呈現或合成)。層框架中的判決邏輯處理/判定應當如何 呈現顯示數據。在一些實現方式中,層框架204是一軟體棧的一部分,並且位於應用202 (即應用 層)與包括可用硬體資源206的物理層之間。具體地,層框架204接收表示所接收的層樹 116的數據結構,並且層框架204中的判決邏輯205判決如何最佳地呈現層樹116中描述的 顯示數據。可用硬體資源206包括可用於合成和呈現期望的顯示數據的各種硬體子系統。例 如,硬體資源可包括一個或多個中央處理單元(CPU) 208、一個或多個圖像處理(轉換)和 傳送設備210 (例如,相機)、一個或多個圖形處理單元(GPU) 212以及一個或多個輸出設備 214 (例如,諸如IXD之類的顯示設備)。圖像轉換/傳送硬體210可包括圖像傳送硬體、圖 像轉換硬體等等。GPU 212可包括2D呈現硬體、3D呈現硬體等等。顯示硬體也可包括視頻 覆蓋單元、RGB覆蓋單元等等。層框架204利用一個或多個API與各種硬體資源相接口。例如,圖像轉換/傳送 API可用於與圖像轉換/傳送硬體210相接口。2D呈現API和3D呈現API可分別用於與 GPU 212的2D呈現硬體和3D呈現硬體相接口。另外,顯示API可用於與顯示硬體214的視 頻覆蓋單元和RGB覆蓋單元相接口。判決邏輯205判定在層樹116中描述的顯示數據將如何被呈現。例如,判決邏輯 205評估可用硬體資源206,並且動態地識別特定的硬體資源(在一些情況下是多個硬體資 源)來呈現層樹116中描述的顯示數據的每個組成部分(例如,每個層、媒體對象等等)。 此外,判決邏輯205可識別所識別出的硬體資源的特定操作模式。因為層框架204的判決邏輯205可以動態地判定使用哪個(或哪些)硬體資源來 呈現特定的顯示數據,所以若干個可能的處理路徑220、222、224和226中的一個或多個可 被選擇。每個處理路徑220、222、224和226表示層框架204與硬體資源206中的至少一個 之間的通信路徑。在一個方面中,判決邏輯205生成對各種呈現層應當如何被排序的抽象 描述並且將該抽象描述分派給一些下層的硬體資源。從而,處理路徑220、222、224、226表 示對可用於以判決邏輯205判定的順序執行呈現的下層硬體資源的選擇。取決於在這些層 中表達的事物的需求,判決邏輯205經過一算法試探來選擇可用路徑220、222、224和226 中的一個或多個,以呈現顯示數據的每個組成部分(例如,層、媒體對象等等)。例如,判決 邏輯205可以選擇使用2D呈現引擎、3D引擎、全幾何變換流水線、覆蓋定標器、可進行格式 轉換的傳送硬體(例如DMA引擎)等等。因為判決邏輯205位於層框架204中(並且與應用相分離),所以應用202不需要 判決如何呈現顯示數據。從而,應用202可以簡單地描述顯示數據的外觀(例如,顯示數據 在被呈現時看起來應當是什麼樣的),而無需直接規定如何呈現顯示數據。此外,應用202 不需要執行任何呈現過程本身。圖3圖示了用於動態呈現顯示數據的示例性過程300的過程流程圖。層框架202 從應用202接收(302)要呈現的顯示數據的一個或多個規範。例如,應用202可以生成一 提供了顯示數據的不同層的層次組織的層樹116。各種媒體對象可與層樹116的每一層相關聯。例如,與UI層104相關聯的各種媒體對象可包括菜單對象、視頻框對象、視頻控制對 象等等。基於要在屏幕上呈現什麼,層框架204判定如何呈現以及以何種層順序呈現顯示 數據,並且這種判定可以提供效率和屏幕上的最優外觀(例如,顯示數據在屏幕上看起來 是什麼樣的)。此外,應用202不是編碼出關於如何呈現層樹116中描述的顯示數據的指令,而是 簡單地描述顯示數據的外觀。例如,應用202不需要描述出應當利用GPU來將一 3D盒子旋 轉30度。取而代之,應用202隻是簡單地描述顯示數據是被旋轉30度的3D盒子。根據對 顯示數據的這種描述(而不是實際的呈現指令),層框架204判定如何最佳地呈現顯示數 據。類似地,應用202不需要明確地規定應當利用顯示硬體來呈現電影數據100,以及應當 利用GPU來呈現UI層104。取而代之,應用202隻是簡單地規定顯示數據包括電影數據100 和UI層104。再一次,由層框架204判定如何最佳地呈現顯示數據。因為判決邏輯205不位於應用202內,所以應用202不需要實際執行呈現過程本 身。例如,應用202不需要劃分呈現工作並且(利用代碼指令)規定如何呈現顯示數據的 每個組成部分。從而,應用202不需要規定開放GL或一些3D呈現流水線應當被用於呈現 UI層104,或者規定利用電影重放API來在屏幕上播放視頻數據。一旦從應用202接收到了規範,層框架204就判定(304)用於實現所接收的(一 個或多個)規範(例如,層樹116)的可用硬體資源206。判定304可由位於層框架204內 的判決邏輯205來執行。判決邏輯205與可用硬體資源相接口,並從而擁有關於可用資源 的知識。例如,判決邏輯205知道存在具有一定時鐘速率、體系結構等的兩個CPU;—個或 多個GPU、一個或多個顯示單元;等等。因為判決邏輯205知道哪些硬體資源可用(以及這 些硬體資源的規範),所以判決邏輯205能夠通過選擇以特定模式配置的(一個或多個)特 定硬體資源206來高效地做出關於如何呈現在規範(例如,層樹116)中描述的顯示數據的 判決。一旦層框架204判定並識別了可用硬體資源206,層框架204就執行判決邏輯205 以判定如何利用可用硬體資源206來最佳地呈現顯示數據。關於如何最佳地呈現顯示數據 的判決可以基於各種折衷平衡考慮。例如,假定顯示數據包括一序列的圖像幀,其中每個幀 具有多個圖像對象層要呈現。應用202可使用3D圖形硬體來將這些圖像幀拷貝到幀緩衝器 中。隨後可利用應用202規定的硬體資源來呈現幀緩衝器的內容。然而,這涉及多個(存 儲器)拷貝操作,並且這種拷貝操作可能是資源耗費型的(就CPU或GPU使用而言)。除了 是資源耗費型之外,每個GPU呈現操作還可能花費額外的功耗。此外,由於應用202可能沒 有關於可用硬體資源206的細節的知識,因此該應用可能不會以最高效的方式利用硬體資 源206。與之不同,層框架204擁有關於可用硬體資源206的具體知識,並從而能夠就使用 哪個(或哪些)硬體資源以及如何使用它們來呈現特定顯示數據做出高效且動態的判決。因為判決邏輯205擁有關於可用硬體資源的細節的知識,所以判決邏輯205可以 利用硬體資源的能力。例如,通過不取得顯示數據的實際比特並將其拷貝到單獨的專用幀 緩衝存儲器中,可以避免資源耗費型數據拷貝。取而代之,顯示硬體可直接讀取顯示數據。 例如,顯示硬體可能能夠掃描出多個幀緩衝器並且合成它們,而不是掃描出單個幀緩衝器。從功能上來說,GPU是存儲器到存儲器型設備。例如,顯示控制器可以只從存儲器 讀取並隨後將讀取的存儲器數據直接發送到外部顯示硬體設備(比如LCD單元),在此過程中可能執行也可能不執行圖像合成。根據本說明書的技術和系統使得顯示硬體能夠直接讀 取顯示數據(而不由GPU執行數據拷貝)並執行圖像合成功能。從而,一個要考慮的問題 是顯示硬體執行圖像合成功能所花費的周期。此外,因為判決邏輯205直接位於層框架204內,所以應用202不需要通過GPU發 送任何顯示數據,從而避免了必須執行任何合成本身。取而代之,應用202隻是簡單地規定 視頻數據100應當與UI層104合成。例如,顯示數據可包括電影,其具有說話的頭部的電影內容。顯示數據還可包括 (例如經由覆蓋)位於該電影之上的UI層。UI層可包括菜單對象、狀態條等等。呈現顯示 數據的一種方式是利用3D硬體資源來將UI層和電影結合到存儲器的一個緩衝器中。然 後,UI層的各種媒體對象可被拷貝到幀緩衝器中。幀緩衝器的內容隨後被合成並發送到顯 示硬體以被顯示。這可以是在應用202必須以靜態方式自己執行判決做出過程的情況下使 用的方法。或者,層樹116可被分解成不同的部分(例如,一個用於視頻,一個用於UI層)。 樹的包括視頻的部分可被發送到能夠最佳顯示視頻的特定硬體資源。層樹116的包括UI 層(例如,覆蓋對象)的部分可被合成並發送到最佳顯示UI層的特定硬體。顯示硬體可將 不同部分合成到一起。這免除了 GPU進行的資源耗費型拷貝操作。另外,可以利用硬體資 源206的各種規範。例如,不同的硬體可以支持視頻的不同定標,以得到更好的縮放,等等。 判定可以更好地呈現每個部分的特定硬體。位於層框架204中的判決邏輯205而不是應用 202執行上述判決。一旦層框架204中的判決邏輯205判定了如何最佳地呈現顯示數據(例如,通過 選擇使用哪個(或哪些)硬體資源以及以何種模式使用),所選擇的(一個或多個)硬體資 源就基於硬體約束和(一個或多個)規範而被配置(306)。例如,可根據判決邏輯205的判 決來選擇和設定各種硬體API中的各種參數。基於所配置的(一個或多個)硬體資源,利 用從應用202接收的(一個或多個)規範來呈現(308)顯示數據。層框架204解釋從應用202接收的(一個或多個)規範,以判定將顯示數據送到 顯示硬體上的最佳方式。例如,層框架204基於層樹上的不同節點的屬性,來判決呈現顯示 數據的最佳方式。在該過程中,層框架204做出關於所有可用硬體資源206的判決。這些 判決做出過程是在從應用202接收顯示數據時動態執行的。
0040]因為判決過程(判決邏輯205)集中到層框架204,所以應用202不再負責為每個 硬體資源(例如,處理器)編寫定製API。從而,當存在一個不同的硬體資源時,應用202不 需要為新的硬體編寫新的定製API,因為已從應用202去除了判決做出過程。這樣,只有層 框架204需要被更新,而不是更新每個應用202。另外,層框架獨立地與每個硬體資源通信 (獨立於每個硬體資源並且獨立於應用202)。不是讓應用202使用發出對硬體的調用的 各種API,而是層框架204與硬體資源相接口。因此應用202隻簡單地將規範(例如,層樹 116)傳遞給層框架204,而層框架就如何最佳地呈現顯示數據來解釋層樹。所生成的顯示輸出(例如,將視頻數據與UI層合成)被顯示在輸出硬體(例如, 諸如IXD屏幕之類的顯示器)上。另外,所生成的輸出可被提供給應用202。圖4是圖示出用於在呈現各種顯示數據時配置硬體資源的系統200的各種實現方 式的框圖。系統200被設計為在諸如膝上型計算機412、桌面型計算機414 (包括伺服器計算機)、行動電話416 (包括智慧型電話)、個人數字助(PDA) 418等等之類的數據處理設備410 中工作。例如,當系統200被實現在智慧型電話412中時,層框架204擁有關於智慧型電話416 中可用的硬體資源206的知識。可以基於智慧型電話416中的可用硬體資源206來針對智能 電話416專門設計層框架204。還可以基於例如智慧型電話416的具體型號來進一步定製層 框架204。類似地,可以針對其他類型的設備410來專門設計層框架204。層框架204可被硬編碼到設備410中。或者,層框架204可以作為軟體添加/升 級而被加載到設備中。在兩種情況下,層框架204都可在任何可用硬體資源被去除或者任 何新硬體資源被添加時被更新。在設備410上執行的一個或多個應用202可包括涉及各種顯示數據的呈現的各種 應用。例如,應用202可包括多媒體播放器420、媒體編輯器422、視頻遊戲424、視頻會議 應用426等等。多媒體播放器420包括能夠重放視頻和/或音頻數據的應用。多媒體播放 器420的示例可包括Quicktime 播放器(Cupertino,CA的蘋果公司)和Windows 媒 體播放器(Redmond,WA的微軟公司)。媒體編輯器422的示例可包括iLife (Cupertino, CA 的蘋果公司)和Adobe Photoshop (San Jose, CA 的 Adobe 系統公司)。如本說明書中所述,層框架204去除了(關於如何最佳地呈現顯示數據的)判決 做出過程,這些應用202不需要自己執行任何呈現過程。此外,應用202可被設計為獨立於 特定設備、平臺等等地工作,因為單獨位於設備中的層框架204將判定如何最佳地呈現應 用所請求的顯示數據。圖5是可用於例如實現硬體資源的動態配置的計算設備和系統的框圖。計算設備 500意欲表示各種形式的數字計算機,比如膝上型計算機、桌面型計算機、工作站、個人數字 助理、伺服器、刀片伺服器、大型機以及其他適當的計算機。這裡示出的組件、它們的連接和 關係以及它們的功能只意圖為示例性的,而不意圖限制在本文檔中描述和/或要求保護的 發明的實現方式。計算設備500包括處理器510、存儲器520、存儲設備530、連接到存儲器520的高 速接口 550。計算設備還可包括高速擴展埠(未示出),以及連接到低速總線(未示出) 和存儲設備530的低速接口(未示出)。組件510、520、530、550和560中的每一個是利用 各種總線來互連的,並且可被安裝在共同的主板上或者以其他適當方式來安裝。處理器510 可處理用於在計算設備500內執行的指令,其中包括存儲在存儲器520中或存儲設備530 上的用於在外部輸入/輸出設備(例如耦合到輸入/輸出接口 560的顯示器540)上顯示 GUI的圖形信息的指令。在其他實現方式中,在適當時可以使用多個處理器和/或多條總 線,以及多個存儲器和多類存儲器。另外,可以連接多個計算設備500,其中每個設備提供必 要操作的一部分(例如,作為伺服器組、一群刀片伺服器或者多處理器系統)。存儲器520存儲計算設備500內的信息。在一種實現方式中,存儲器520是計算 機可讀介質。在一種實現方式中,存儲器520是一個或多個易失性存儲器單元。在另一種 實現方式中,存儲器520是一個或多個非易失性存儲器單元。存儲設備530能夠為計算設備500提供大容量存儲。在一種實現方式中,存儲設 備530是計算機可讀介質。在各種不同的實現方式中,存儲設備530可以是軟盤設備、硬碟 設備、光碟設備、或者磁帶設備、快閃記憶體或其他類似的固態存儲器設備、或者設備陣列,包括存 儲區域網絡中的設備或其他配置的設備。在一種實現方式中,電腦程式產品被有形地包
10含在信息載體中。電腦程式產品包含在被執行時執行諸如以上所述的一個或多個方法的 指令。信息載體是計算機或機器可讀的介質,例如存儲器520、存儲設備530、處理器510上 的存儲器或者傳播的信號。高速控制器550管理計算設備500的帶寬密集型操作,而低速控制器管理較低帶 寬密集型操作。這種任務的分配只是示例性的。在一種實現方式中,高速控制器550耦合 到存儲器520、顯示器540 (例如通過圖形處理器或加速器)以及高速擴展埠(未示出), 所述埠能夠接受各種擴展卡(未示出)。在該實現方式中,低速控制器(未示出)耦合 到存儲設備530和低速擴展埠(未示出)。可包括各種通信埠(例如,USB、藍牙、以太 網、無線乙太網)的低速擴展埠可耦合到一個或多個輸入/輸出設備,例如鍵盤、點選設 備、掃描儀、或者諸如交換機或路由器之類的聯網設備(例如通過網絡適配器)。計算設備500可以以若干種不同的形式來實現,如圖所示。例如,它可以實現為標 準伺服器565,或者在一群這種伺服器中實現多次。它也可實現為機架式伺服器系統570的 一部分。此外,它可以實現為個人計算機,例如膝上型計算機580。本說明書中描述的主題和功能操作的實施例可以用數字電子電路來實現,或者用 計算機軟體、固件或硬體來實現(包括本說明書中公開的結構及其結構等同物),或者以其 中的一個或多個的組合的形式實現。本說明書中描述的主題的實施例可實現為一個或多個 電腦程式產品,即被編碼在有形程序載體上以供數據處理裝置執行或控制數據處理裝置 的操作的電腦程式指令的一個或多個模塊。有形程序載體可以是傳播的信號或者計算機 可讀介質。傳播的信號可以是人工生成的信號,例如機器生成的電信號、光信號或電磁信 號,該信號被生成來編碼信息以傳送到適當的接收機裝置供計算機執行。計算機可讀介質 可以是機器可讀存儲設備、機器可讀存儲基板、存儲器設備、實現機器可讀傳播信號的事物 合成、或者其中的一個或多個的組合。術語「數據處理裝置」涵蓋了用於處理數據的所有裝置、設備和機器,例如包括可 編程處理器、計算機或多個處理器或計算機。該裝置除了硬體外還可包括為所關注的計算 機程序創建執行環境的代碼,例如構成處理器固件、協議棧、資料庫管理系統、作業系統或 其中一個或多個的組合的代碼。電腦程式(也稱為程序、軟體、軟體應用、腳本或代碼)可以用任何形式的編程 語言來編寫,所述語言包括被彙編或解釋的語言或者聲明式或過程式語言,並且它可被以 任何形式部署,包括部署為獨立的程序或者部署為模塊、組件、子例程或適合用於計算環境 中的其他單元。電腦程式不一定對應於文件系統中的文件。程序可被存儲在保存其他程 序或數據的文件(例如,存儲在標記語言文檔中的一個或多個腳本)的一部分中,存儲在 專用於所關注的程序的單個文件中,或者存儲在多個協作的文件(例如存儲一個或多個模 塊、子程序或代碼部分的文件)中。電腦程式可被部署為在一個計算機上或者在位於一 個地點或分布在多個地點並通過通信網絡互連的多個計算機上執行。本說明書中描述的過程和邏輯流可通過一個或多個可編程處理器執行一個或多 個電腦程式以通過對輸入數據進行操作並生成輸出來執行功能,從而來執行。這些過程 和邏輯流也可通過一種裝置來執行,該裝置也可實現為專用邏輯電路,例如FPGA(現場可 編程門陣列)或ASIC(專用集成電路)。適用於執行電腦程式的處理器例如包括通用微處理器和專用微處理器,以及任何種類的數字計算機的任何一個或多個處理器。一般地,處理器將從只讀存儲器或隨機訪 問存儲器或者這兩者接收指令和數據。計算機的基本元件是用於執行指令的處理器和用於 存儲指令和數據的一個或多個存儲器設備。一般地,計算機還將包括一個或多個用於存儲 數據的大容量存儲設備(例如磁碟、磁光碟或光碟),或者可操作地耦合到這些大容量存儲 設備以從其接收數據或向其傳送數據,或者這兩者。然而,計算機不一定要具有這種設備。 另外,計算機可被嵌入在另一設備中。適用於存儲電腦程式指令和數據的計算機可讀介質包括所有形式的非易失性 存儲器、介質和存儲器設備,例如包括半導體存儲器設備,例如EPROM、EEPROM和快閃記憶體設 備;磁碟,例如內部硬碟或可移除盤;磁光碟;以及⑶ROM和DVD-ROM盤。處理器和存儲器 可被專用邏輯電路所補充或者被結合在專用邏輯電路中。為了提供與用戶的交互,本說明書中描述的主題的實施例可在具有諸如CRT(陰 極射線管)或LCD(液晶顯示器)監視器之類的用於向用戶顯示信息的顯示設備以及諸如 滑鼠或軌跡球之類的用戶可用來向計算機提供輸入的鍵盤和點選設備的計算機上實現。其 他種類的設備也可用於提供與用戶的交互;例如,來自用戶的輸入可以任何形式被接收,包 括聲音、語音或觸覺輸入。本說明書中描述的主題的實施例可實現在包括後端組件(例如作為數據伺服器) 或者包括中間件組件(例如應用伺服器)或者包括前端組件(例如具有圖形用戶界面或 web瀏覽器的客戶端計算機,通過它用戶可與本說明書中描述的主題的實現方式相交互) 的計算系統或者一個或多個這種後端、中間件或前端組件的任何組合中。系統的組件可 通過任何形式的數字數據通信介質(例如通信網絡)互連。通信網絡的示例包括區域網 (「LAN」)和廣域網(「WAN」),例如網際網路。計算系統可包括客戶端和伺服器。客戶端和伺服器一般彼此遠離並且通常通過通 信網絡來交互。客戶端和伺服器的關係源自於在各個計算機上運行並且彼此之間具有客戶 端_伺服器關係的電腦程式。雖然本說明書包含許多細節,但是這些細節不應當被解釋為對任何發明的範圍或 者可能要求保護的範圍的限制,而是對可能是特定發明的特定實施例所特有的特徵的描 述。本說明書中在分開的實施例的上下文中描述的某些特徵也可在單個實施例中組合實 現。相反,在單個實施例的上下文中描述的各種特徵也可在多個實施例中分開實現,或者按 任何適當的子組合來實現。另外,雖然在上文中可能將特徵描述為按特定的組合來動作,或 者甚至在初始的權利要求中也這樣記載,但來自所要求保護的組合的一個或多個特徵在一 些情況下可脫離該組合,並且所要求保護的組合可以針對一子組或子組合的變體。類似地,雖然在附圖中按特定的順序示出了操作,但這不應當被理解為要求這種 操作按所示出的特定順序或者按前後順序來執行,或者所有所示出的操作都要被執行來實 現期望的結果。在某些情況下,多任務和並行處理可能是有利的。另外,在上述實施例中各 種系統組件的分離不應當被理解為在所有實施例中都要求這種分離,而應當被理解為所描 述的程序組件和系統一般可被集成在單個軟體產品中或被封裝到多個軟體產品中。只描述了少數實現方式和示例,基於本申請中描述和圖示出的內容,可以做出其 他實現方式、增強和變體。
權利要求
一種方法,包括接收對呈現顯示數據的請求,該請求包括描述所述顯示數據的規範;基於所述規範和所述顯示數據來動態地選擇或配置硬體;以及利用所選擇或配置的硬體來呈現所述顯示數據。
2.如權利要求1所述的方法,其中,接收請求包括接收描述所述顯示數據的層次組織 的層樹。
3.如權利要求1所述的方法,其中,呈現所述顯示數據包括利用所配置或選擇的硬體 來合成所述顯示數據。
4.如權利要求1所述的方法,其中,動態地選擇或配置硬體包括 識別一個或多個媒體對象中每一個的媒體類型;以及基於所識別出的媒體類型來選擇或配置所述硬體以用於呈現每個媒體對象。
5.如權利要求1所述的方法,其中,動態地選擇或配置硬體包括設定所選擇或配置的 硬體的操作模式。
6.如權利要求1所述的方法,還包括 識別可用硬體的列表;以及當檢測到所述可用硬體的列表的變化時,更新所述列表。
7.如權利要求1所述的方法,其中,呈現所述顯示數據包括與每個所配置或選擇的硬 件獨立地接口。
8.如權利要求1所述的方法,其中,動態地選擇或配置硬體包括設定一個或多個應用 編程接口(API)的一個或多個參數。
9.一種電腦程式產品,被包含在計算機可讀介質上,可操作來使得數據處理裝置執 行操作,所述操作包括接收對呈現顯示數據的請求,該請求包括描述所述顯示數據的規範; 基於所述顯示數據和所述規範來動態地選擇或配置硬體;以及 利用所選擇或配置的硬體來呈現所述顯示數據。
10.如權利要求1所述的電腦程式產品,還可操作來使得所述數據處理裝置接收包 括描述所述顯示數據的層次組織的層樹的請求。
11.如權利要求1所述的電腦程式產品,還可操作來使得所述數據處理裝置呈現所 述顯示數據,其中包括利用所配置或選擇的硬體來合成所述顯示數據。
12.如權利要求1所述的電腦程式產品,還可操作來使得所述數據處理裝置動態地 選擇或配置硬體,其中包括識別一個或多個媒體對象中每一個的媒體類型;以及 基於所識別出的媒體類型來選擇或配置所述硬體。
13.如權利要求1所述的電腦程式產品,還可操作來使得所述數據處理裝置配置或 選擇硬體,其中包括設定一個或多個硬體資源的操作模式。
14.如權利要求1所述的電腦程式產品,還可操作來使得所述數據處理裝置執行包 括以下操作在內的操作識別可用硬體的列表;以及當檢測到所述可用硬體的列表的變化時,更新所述列表。
15.如權利要求1所述的電腦程式產品,還可操作來使得所述數據處理裝置呈現所 述顯示數據,其中包括與每個所選擇或配置的硬體獨立地接口。
16.如權利要求1所述的電腦程式產品,還可操作來使得所述數據處理裝置選擇或 配置硬體,其中包括設定一個或多個應用編程接口(API)的一個或多個參數。
17.一種系統,包括一個或多個應用,被配置為生成對呈現顯示數據的請求,該請求包括描述所述顯示數 據的規範;以及判決邏輯,與所述一個或多個應用相分離,連接到所述一個或多個應用,該判決邏輯可 操作來從所述一個或多個應用接收所生成的請求,基於所述顯示數據和所述規範來動態地選擇或配置硬體,以及利用所選擇或配置的硬體來呈現所述顯示數據。
18.如權利要求1所述的系統,其中,所述應用可操作來生成包括描述所述顯示數據的 層次組織的層樹的請求。
19.如權利要求1所述的系統,其中,所述判決邏輯可操作來呈現所述顯示數據,其中 包括利用所配置的一個或多個硬體資源來合成所述顯示數據。
20.如權利要求1所述的系統,其中,所述判決邏輯可操作來動態地選擇或配置硬體, 其中包括識別一個或多個媒體對象中每一個的媒體類型;以及 基於所識別出的媒體類型來選擇所述硬體。
21.如權利要求1所述的系統,其中,所述判決邏輯可操作來配置或選擇硬體,其中包 括設定所述硬體的操作模式。
22.如權利要求1所述的系統,所述判決邏輯還可操作來 識別可用硬體的列表;以及當檢測到所述可用硬體的列表的變化時,更新所述列表。
23.如權利要求1所述的系統,其中,所述判決邏輯可操作來呈現所述顯示數據,其中 包括與每個所配置或選擇的硬體獨立地接口。
24.如權利要求1所述的系統,其中,所述判決邏輯可操作來配置或選擇硬體,其中包 括設定一個或多個應用編程接口(API)的一個或多個參數。
25.一種裝置,包括一個或多個應用,被配置為生成對呈現顯示數據的請求,該請求包括描述所述顯示數 據的規範;判決邏輯,與所述一個或多個應用相分離,連接到所述一個或多個應用,該判決邏輯可 操作來從所述一個或多個應用接收所生成的請求, 基於所述顯示數據和所述規範來動態地選擇或配置硬體,以及 利用所選擇或配置的硬體來呈現所述顯示數據;以及 顯示單元,被配置為顯示所呈現的顯示數據。
全文摘要
動態地選擇或配置一個或多個硬體資源以用於呈現特定顯示數據包括獲得對呈現顯示數據的請求,等等。該請求包括描述期望的呈現過程的規範。基於規範和顯示數據,選擇或配置硬體。利用所選擇或配置的硬體來呈現顯示數據。
文檔編號G06T15/00GK101896940SQ200880120023
公開日2010年11月24日 申請日期2008年10月9日 優先權日2007年10月10日
發明者傑瑞米·陶德·桑德梅爾, 約翰·斯圖爾特·哈勃, 肯尼斯·克裡斯坦·戴克 申請人:蘋果公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀