TWI344603B - System and method for a unified composition engine in a graphics processing system - Google Patents
System and method for a unified composition engine in a graphics processing system Download PDFInfo
- Publication number
- TWI344603B TWI344603B TW093121638A TW93121638A TWI344603B TW I344603 B TWI344603 B TW I344603B TW 093121638 A TW093121638 A TW 093121638A TW 93121638 A TW93121638 A TW 93121638A TW I344603 B TWI344603 B TW I344603B
- Authority
- TW
- Taiwan
- Prior art keywords
- resource
- integrated
- orchestration
- engine
- orchestration engine
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/16—Indexing scheme for image data processing or generation, in general involving adaptation to the client's capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/61—Scene description
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Geometry (AREA)
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
- Image Processing (AREA)
- Digital Computer Display Output (AREA)
- Stored Programmes (AREA)
Description
1344603 玖、發明說明: \ 【發明所屬之技術領域】 本發明係關於整合型編排引擎之系統及方法,其能 結合原先為個別的編排服務。 【先前技術】 在目前的電腦系統中,繪圖及視訊硬體的性能提昇 速度非常快。事實上,目前電腦系統内的繪圖系統在某種 程度上可被視為一種副處理器而不是單纯的繪圖子系統。 同時,不論是在觀看顯示器、電視或行動電話顯示螢幕等, 消費者對影像顯示品質的要求愈來愈高。 然而,記憶體和匯流排的速度尚無法趕上主處理器 及/或繪圖處理器的進展速度。因此,電腦系統上的傳統加 速繪圖之即時運算模式已接近其功能極限。在此同時,開 發人員與消費者均需要習知圖形視窗架構無法提供的新特 點及特殊功效。 雖然某些遊戲程式的設計已運用到繪圖硬體的優 點,但此類遊戲程式在運作上的需求與桌面應用程式或類 似程式之需求並不相同;特別是,此類遊戲程式與其它同 時執行中的程式無關。不同於遊戲程式,應用程式必須和 其它應用程式共用繪圖和其它系統資源。然而,在繪圖處 理工作方面,應用程式通常被撰寫成合作式泛機 (machine-wide)共享模式。 舉例而言,以桌面應用程式來執行動晝時,目前需 3 1344603 要專用的單獨目的程式碼,或利用另一種應用程式。縱使 是在此種情況,即使有可能可以在多重視窗化環境下達到 順暢的動畫效果,但並不容易得到此種效果。概括而言, 這是因為若要達到順暢且高速的動晝效果,必須在高畫面 格速率(frame rate)下進行動畫參數的更新並重新繪製佈 景(此時需要穿越及移動資料結構),而且最好以繪圖裝置 之硬體更新率進行。然而,更新動畫參數以及穿越並移動 定義出一個佈景的資料結構必須經過大量運算。需要製作 動畫效果的佈景愈大或愈多,則需要更多的運算量,如此 將會對順暢的佈景動畫之複雜度造成限制。 除上述問題之外,當繪圖硬體執行顯示更新時,動 晝的各個晝面格均需要經過運算、移動並預備妥當,以便 能夠顯示。若畫面格無法應硬體之要求而準備妥當,則畫 面格會丟失或造成延遲現象。若有過多的晝面格丟失,則 會出現動畫顯示呈現斷斷續續的現象。此外,畫面準備時 間若與晝面更新率不同步,則會發生吾人不希望見到的所 謂撕扯現象(tearing)。實際操作時,同時多工作業系統會 為系統上的眾多工作分配運算資源。然而,作業系統工作 排程器分配給畫面格處理的時間量鮮少能夠和繪圖硬體畫 面格速率匹配。因此,即使有足夠的運算資源,動晝系統 仍然會因為排程問題而丟失掉畫面格。舉例而言,動畫工 作的執行時間排程可能會來不及,或是在完成一個畫面格 之前就先被佔用排程時間,而且無法即時進行重新排程而 為下一個螢幕晝面的硬體更新提供下一個畫面格。若動畫 4 1344603 繪圖需要和視訊或其它非同步產生的畫面格加以編排,則 上述問題會變得更加複雜。 一般而言,習知用來備妥畫面格的模式(例如 WM_PAINT)需要大量的資料處理過程,以便趕上得到複雜 繪圖效果所需要的更新率。因此,當試圖以習知的模式來 獲得複雜的繪圖效果時,下一個畫面格的改變可能會併入 不同的畫面格,而不是藉著完成下一個畫面格來產生下一 個畫面格時間内的視覺效果,遂而導致可察覺到的不良視 覺效果。 上述美國專利申請案已載明一種用來控制繪圖輸出 的新模式。此種新模式為繪圖處理技術提供了若干重大的 改良。例如,美國專利申請案第1 0/1 84,795號已概括提供 多階繪圖處理之系統及方法,其中較高階的元件(例如作業 系統)係在相對較低的作業速率下執行大量運算來建構佈 景繪圖、更新動畫參數及轉置佈景繪圖之資料結構,藉以 將經過簡化的資料結構及/或繪圖指令傳給低階的桌面編 排元件。由於高階處理能夠大量簡化資料,使得低階元件 可以在較快的操作速率下(相對於高階元件而言)一例如相 當於繪圖子系統的畫面格更新率一為繪圖子系統處理資料 而獲得固定的輸出資料。儘管上述針對繪圖處理技術的改 良已提供許多優點,但仍有某些需要進一步改良之處。 【發明内容】 簡要而言,本發明提供整合型編排引擎之系統及方 5 1344603 法,其能結合原先為個別的編排服務。此種整合型編排引 擎能提供常駐的應用程式介面以及桌面編排器兩者所用的 編排服務。上述整合型編排引擎可結合兩種編排工作:編 排單一應用程式内容時所運用的常駐Αρι編排引擎:以及 編排所有視窗以產生最終顯示結果時所運用的桌面編排引 擎。桌面編排引擎與API編排引擎各扮演不同的角色,且 運用於不同的場合。桌面編排引擎是用來編排由其它處理 序(process)所建搆的内容、建構其本身最少的内容以實作 視窗格,以及利用繼承視窗管理程式(legacy window manager)(例如 User32)來作緊密的調整》API編排引擎是 用來控制編繪程序(rendering),以及編排單一應用程式的 所有内容,並提供有效率的遠端調用(remoting)機制。近來 對於API編排引擎與桌面編排引擎的使用需求改變,反映 在要求API編排引擎能夠主控來自於其它處理序和繼承子 視窗的内容,以及要求桌面編排引擎能夠對視窗格進行遠 端調用。若將上述兩種工作結合在一起,則可減少程式碼 重複的情形、擴大測試的範圍,並簡化諸如繼承視窗之交 互操作性、遠端調用和多重文件介面(Multiple Document Interfacing,MDI)等原本很複雜的啟用技術特點。 【實施方式】 本發明係概括關於整合型編排引擎(Unified Composition Engine, UCE)之系統及方法。本發明提供—種 編排應用程式和桌面兩種階層之輸出的方法,該方法能大 6 1344603 量減少程式碼重複的情形。 以下的說明分成三個部分。第一個部分說明實作本 發明的計算環境範例。第二個部分說明繪圖架構之範例。 第三個部分說明本發明之實施例。 計算環境範例 第1圖繪示適於實施本發明的計算系統環境1 0 0之 範例。計算系統環境1 0 0僅為一個範例,其並未有限定本 發明之應用範圍或功能性之意圖。計算環境1 0 0亦不應被 解讀為與作業系統環境1 〇 0之任何元件或其任何組合之間 存有任何關聯性或需求。 本發明可與其它多種一般或特殊用途計算系統環境 或架構一併實作。舉例而言,本發明所適用的習知計算系 統、環境及/或架構包括:個人電腦、電腦伺服器、掌上型 或膝上型裝置、平板裝置、多處理器系統、微處理器系統、 視訊轉換器、可程式化消費性電子裝置、網路個人電腦、 迷你電腦、大型主機電腦、包含任何上述系統或裝置的分 散式計算環境或類似裝置,但不以上述為限。 本發明可在以電腦可執行指令的一般背景下加以說 明,例如由電腦執行的程式模組。一般而言,程式模組包 含常式(routine)、程式、物件、組件、資料結構等。程式 模組可執行特定工作或抽象資料類型。本發明亦可在分散 式計算環境裡實施;在此種環境中,工作係由透過網路連 結的遠端處理裝置來執行。在分散式計算環境裡,程式模 7 1344603 組可存在於近端或遠端電腦儲存媒體’包括記憶體儲存裝 置。 請參照第1圖。可用來實施本發明的系統範例包含 一般用途計算裝置,此裝置在圖中為電腦110。電腦110 的元件包括處理單元1 2 0、系統記憶體1 3 0及系統匯流排 1 2 1,但不以上述為限;系統匯流排1 2 1可連接各種不同的 系統元件,其中包括將系統記憶體連接到處理單元120。 系統匯流排1 2 1可為任何一種匯流排結構,包括:記憶體 匯流排或記憶體控制器、週邊匯流排,以及使用各種不同 匯流排架構的本機匯流排。舉例而言,上述架構包括:工 業標準結構(ISA)匯流排、微通道趙系結構(MCA)匯流排、 擴展式標準結構(EISA)匯流排、符合視訊電子標準協會 (V E S A)的本機匯流排、加速影像處理埠(a G P)匯流排,以 及週邊裝置互連(pci)匯流排一亦稱作中層(Mezzanine)s 流排,但不以上述為限。 趙可為任何一種可供電腦110存取的媒體,其中包括揮發 性與非揮發性兩種媒體,以及移動式與非移動式媒體。例 如,電腦可讀媒體可包含電腦储存媒體和通訊媒體,但不 以上述為限。電腦儲存媒體包括揮發性與非揮發性媒體 移動式與非移動式媒體,並可以任何一種储存資訊的方法 或技術來實作;舉例而言’儲存的資訊包括電腦可讀指令' 資料結構、程式模組或其它資料。電腦儲存媒體包括. RAM、應、EEPR〇M、快閃記憶體或其它^體技^ CD-ROM、DVD或其它光碟 节保存體、磁卡匣、磁帶、磁碟 儲存體或其它磁性儲存步署 置’或疋其它任何一種可供電腦 1 1 0存取所需資訊的媒體 k不以上述為限。通訊媒體通 常可實作電腦可讀指令、資 叶,,'。構、程式模組或其它經過 訊號調變的資料一例如載,,虫七廿 y 戰'皮或其它傳輸機制,並且包括任 何一種資訊傳輸媒體6「調變 ^ ^ ^ y 跫貢抖訊唬」一詞意指一種具備 一個或數個特徵組的訊號, MM t 4知一種經過編碼處理而將資 訊編入的訊號。舉例而专,4 古达棚牧。通訊媒體可為有線媒體一例如 有線網路或直接網路連绫, ^ φ .. ( , 或疋無線媒體一例如聲波、無 線電波、紅外線或其它無 ^ Μ ^ ’媒體’但不以上述為限。電腦 可讀媒體亦包括上述任一 々里烯體之組合。 系統記憶體1 3 0具備椬 ^ t m 揮發性與/或非揮發性記憶體形 式的冤腩储存媒體,例 基 取記憶體(RAM)132。基太^記憶體(_)131及隨機存 在於ROM 13]裡,其內人〗入7輸出系統(BI0S)m通常存 -V r ^ t 、 3常式,例如在開機過程中,該常 式此協助電腦110内各 ^ ^ ^ 件之間的傳輪。RAM 1 32通常具 備#科和/或程式模組; ^ 和/¾程式, 早兀丨2〇可立即存取該等資料 ’ ’ 4往式模組,或供# ,田„。_ ! m ^ 、 早元12 〇在其上操作》例如,第 1圖緣不作業系統134、廊田和+ , 136 ία ίΐ 4· ^ 應用私式〖35以及其它程式模組 和程式資料137 不以上述為限。 電腦1 1 0亦可供廿 體,或是桠路… ’、它移動式/非移動式電腦儲存媒 圖㈣揮發性電腦儲存媒體。舉例而言,第1 碟機141可碟機151以及光碟機155;其中,硬 初式非揮發性的磁性媒體,磁碟機I 5】 9 可讀2 移動3 別種I 揮發*丨 位揮〗 似儲」 移動 121。; 介面 腦儲 程式 141 ; 及程 應用 相同 144、 目的 輸入 包括 指標 入裝 類似 入介 等移動式非揮發性的 “揮發性“… 機155則可讀寫 ^ 例如CD R〇M或其它光媒體》 取適用於作業環境範例 、 生電腦儲存媒體尚包括:動式揮發性/非 以匕栝.磁帶匣、快閃記憶體卡、數 /碟片、數位影㈣ '固態RAM、固態議及類 子媒體&不以上述為限。硬碟機⑷通常是透過非 式記憶體介面—如介面14〇 _連接到系統匯流排 链碟機⑴和光碟機155則通常是藉由移動式記憶趙 —例如介面150—連接到系統匯流排121。 以上說明並繪示於第丨圖的磁碟機及其所伴隨的電 存媒體能為電腦1 10儲存電腦可讀指令、資料結構、 模組及其它資料。舉例而言,第丨圖所繪示的硬碟機 丁儲存作業系統1 4 4、應用程式1 4 5 '其它程式模組1 4 6 式資料1 47。需注意的是,這些元件與作業系統丨34、 程式135、其它程式模組136及程式資料137可以是 或不同的元件。在此以不同代表符號來標示作業系統 應用程式145、其它程式模組146及程式資料147, 為表示這些元件是另一組類似元件。使用者可以透過 裝置而將指令及資訊輸入電腦2 0裡;輸入裝置的例子 :平板(電子數位化板)1 64、麥克風163、鍵盤162及 裝置1 6 1 ( —般稱作滑鼠)、轨跡球或觸控板。其它輸 置(未繪示)尚包括搖桿 '遊戲板、衛星碟、掃描器或 的輸入裝置。上述及其它輸入裝置經常透過使用者輸 面160而連接到處理單元12〇。使用者輸入介面160 10 1344603 連 接 系統匯流排, 但亦 可藉 由 別 種 介 面 及 匯 流 排 架 構 予 以 連 接 ,例如透過平 行埠 、遊 fi 或i i用序; Η | S ; 流排(USB)。 監 視 器1 9〗或別種顯 示裝 置 亦 經 由 介 面 — 例 如 視 訊 介 面 191 - -連接到系統匯流排1 2 1。 監 視 器 1< 亦 可 與 觸 控 螢 幕 面 板 193或類似裝 置整 合在 — 起 〇 觸 控 螢 幕 面 板 1! 93 可 提 供 數 位化輸入,例 如經 由一 個 介 面 — 如 控 螢 幕 介 面 1 92 — 將 手寫資料輸入 到電 腦系 統 1 10 0 需 注 意 的 是 t 監 視 器 和 /或觸控螢幕面板可以實體連接收納計算裝 11 0 的 箱 盒 1 例如板式個人 電腦 ,其 中 觸 控 螢 幕 面 板 11 93 實 質 上 是 做 為 平板1 6 4。此 外, 如計 算 裝 置 1 1 [0 的 電 腦 亦 可 納 入 其 它 週 邊輸出裝置, 例如 揚聲 器 1 95 及 印 表 機 ] 96 d 週 邊 輸 出 裝 置可經由輸出 週邊 介面 194 或 類 似 介 面 予 以: 連‘ 接 0 利用1一台或 數台 遠端 電 腦 (例如遠端電腦 180) 之 邏 輯 連 線即可在網路 化環 境中 操 作 電 腦 1 1 0 〇 遠 端 電 α«< 細 1 80 可 為 個人電腦、伺 服器 '路 由 器 網 路 個 人 電 腦 > 對 等 裝 置 (P eer device)或 其它 共用 網 路 即 點 0 雖 然 第 1 圓 僅 繪 示 對 個 記憶體儲存裝 置1 81, 但 遠 端 電 腦 1! ?0 通 常 具 備 以 上 於 電腦Π 0所描 述的 多種 或 所 有 元 件 0 第 1 圖 所 繪 示 的 邏輯連線包括區域網路(LAN)丨71與廣域網路(wan)173, 但不以此為限。此類網路環境經常出現在辦公室、企業電 腦網路、内部網路及網際網路》 當使用於LAN網路環境時,電腦n〇是透過網路介 面或轉接器170連接到LAN 171。當栋田认A A s 反 / 1 s便用於WAN網路環 立見時’電腦丨丨〇通常具備數據 吧Φ /、IW取佩愧i 2或其它可在WAN 1 7 3 11 1344603 上建立起通訊連線的裝置,例如網際網路。 經由使用者輸入介面丨6〇或其它適當的機制:據機172可 流排1 2】,其中數據機丨72可為内建式或夕接到系統匯 在網路化環境裡,電腦no所伴隨的裎式,式數據機β 儲存在遠端記憶體儲存裝置内。舉伽而,模魬或其部分可 的遠端應用程式185是位於記憶體裝置μ 圓所繪不 值得注意的是,圖式所示網路連線僅為說::不此為限。 本發明亦可使用其它能在各電腦之„ β 範例,根據 置。 間建立起通訊連結的裝 繪囷架構之範例 在一實施例中,本發明概括被 疊,其中應用程式、桌面系統^體整合層堆 到高階視訊系統,例如藉著直 式將各種資料提送 解譯為呼叫的標記Ckupm^視訊ΑΡΙ層呼叫,或將 是根據提送給它的資料來編續階::二1層。視訊系統 個綠製時間點釺對該佈景圖形進^佈景圖形,且在某-資料,並以非同步化的方式和堆:理而成為指令及其它 通,藉以將該等相令及其它資料^的編排器服務進行溝 料結構。低階蝙m ,理成為其本身保留的資 的通訊内容結合成I/子:?於多重視訊系統(用戶端 結合成動畫指入 、統把夠解讀的繪圖指令,並且 隔。低階編排器:L改保留繪圖資料某些部分的動畫間 新率的速率,將、統以相备於(正如或接近)繪圈硬體之更 將上述繪圖指令提供到繪圖子系統。 12 1344603 本發明之一技術態樣係概括關於一種接收及處理程 式碼啟始的續圖指令及其它資訊,藉以在系統顯示器上繪 製圖形輸出。為達此目的,本發明提供實作各種元件、資 料結構及通訊協定的系統及方法,該等元件、資料結構及 通訊協定能共同建構出一種高階編排引擎,例如在使用者 介面中的執行緒(t h r e a d)及編繪視訊系統所伴隨的執行 緒’藉以將資料提供到低階動畫及編排引擎或編排器。視 訊系統可將函式(例如應用程式介面API)提供給應用程式 及類似程式’讓該等程式能將資料結構、繪圖原始值(指令) 及其它與鳍圖有關的資料填入佈景圖畫。 第 2圖係概括繪示 API編排引擎之分層化架構 200。如第2圖所示,開發程式碼2〇2(例如應用程式、作 業系統元件或類似元件)即可以一種或數種不同方式輸出 繪圖資料。輸出繪圖資料時,可以透過攝像2 0 4、向量繪 圖單元206 ’以及/或透過對視訊應用程式介面(API)層21 2 直接呼叫函式/方法式。向量繪圖單元的運用已描述於上述 專利申請案,其發明名稱為"Markup Language and Object Model for Vector Graphics";與API層的直接互動則已描 述於上述共同審查中的專利申請案,其發明名稱為"Visual and Scene Graph Interfaces"。 概括而言,攝像機制 204可為程式碼提供一種載 入、編輯和影像存播的機制,例如點陣圖(b i t m a p)。這些 影像可供系統的其它部分運用,而且還有一種使用原始繪 圖碼來直接繪製影像的方式。向量繪圖單元206能提供另 13
種與視訊系統之物件模型相容的繪圖方式。向量繪圖單 元 2 0 6 可 tfa t μ I 田知^己语吕建立,單元/屬性系統208和呈現系統 2 1 〇的處理則可對視訊API層2 1 2作適當的呼叫。概括而 °向量綠圖單元206會被剖析成繪製佈景圖形的物件模 V4-_ y _ ’’、可經由單元階層或單元/屬性系統2〇8及呈現 系統1〇而提供給佈景圓形,或是以更有效率的方式在資 源階層提供。 在實施例中,繪圖層架構200具備視訊系統2 1 4。 視訊系統2 1 4具備或伴隨有佈景圖形2 1 6,其具備階層化 置的物件’並藉由直接或間接呼叫視訊API 212而建 構。概括而言’佈景圊形能塑造API呼叫所產生的結構性 特質及特定編繪資肖,並可提供一組供應用程式尋址的讀 取服務或特fi。概括而言’視訊^^層212為程式碼(及呈 現系統)提供佈景圖形216之介面,其中包括建立物件、開 啟及關閉物件以提供資料等能力。換言之,視訊系統川 能呈現整合型媒體API層212,開發人員可藉此整合型媒 體API層2 1 2來表達關於圖像和媒體的想法’以顯示圖像 資訊,並為潛在平台提供足夠的資訊,以便 Τ σ月b马程 式碼提供最佳化的硬體使用環境。例如,潛在 T 口將負責 處理快取、資源協商及媒體整合。 根據本發明之技術態樣,視訊系統214 1作為編排 器(低階編排及動畫引擎)218的用戶端,並 项畜的資料 傳送到編排器,以便編繪所想要的畫面格;以下會有 步的說明。概括而言,視訊系統2丨4具備使用八 ’"面元件。 14 1344603 22〇整合在一起,藉以提供陳述式(或别種)動畫控制(例如 動畫函式、時間間隔及其它參數)以及時序控制。需注意的 是,上述動畫系統能將動畫值傳遞到系統内幾乎所有的位 置,其中包括:例如在元件屬性層、視訊API層212之& β ^内 以及其它任何一種資源之内。時序系統疋出現在元件 訊層。 編排器2 18能管理佈景之編排、驅動及蝙繪,& 而1$ 再將佈景送到繪圖子系統222。在一實施例中,上诚、a 地規ti
系統具備使用者介面執行緒,其可與提供動畫及碥排功^ 的第二個執行緒(在同一個處理序内)協同運作。因此 —個視訊系統内均有一個編排元件’且與(不同處理序 執行來自於多個應用程式之佈景圖像編繪的蝙排元件、 開。在此需注意的是,有時在較高的階層執行編紛工作77 為有利,例如當多個應用程式發出較低階層的服務^ / 時,視訊系統就會在各個應用程式上啟用;藉此 ^ 4 ^ ’經由招 像機制而在較高的階層上執行耗時或特定應 .程式的雜 增·’並將點陣圖的參考值傳送到編排器2 I 8。
王锎卻窃引擎與呆囟塒排器弓丨擎兩者 的編排方式即是以上針對API編排引擎所描述的 式。將API編排引擎與桌面編排引擎兩者的低 • 1¾瑪排 結合在一起即能構成本發明之整合型編排引取 芊。整合 排弓丨擎能為API編排引擎與桌面編排引擎兩去 令设供資
理功能,並產生佈景以供顯示;以下將會藉A 曰w田貫施例 說明。 16 U44603 或以 式的 資铒 式的 236 ’ 可傳 理近 實施 構。 404 编排 用戶 階層 層則 擎之 型編 而當 420 用戶 如第3圖所示,除近端顯示的輸出以外,< 以選用 附加的方式讓編排器218(或類似元件)提供具通當格 编繪及動畫指令給低階列印碼2 3 0 ’以便將固定影像 傳送到印表機232或類似裝置,並且/或者將具適當格 编搶指令及簡易動畫間隔提供給低階終端傳輸词服器 進而傳送到遠端機台238。需注意的是,在網路上亦 遞更多的資訊’例如吾人可能希望讓遠端機台能夠處 端的滑鼠翻轉效果’而且不會有網路承載。 例 第4圓繪承運用本發明之整合型編排引擎的概略架 整合型編排弓丨擎之架構包含主要資源表402、視訊樹 •編排裝置介面4 0 6、變量佇列4 0 8、告知佇列4 1 0、 樹4 1 2,以及從屬資源表4 1 4。 整合型編排引擎之架構在邏輯上分為兩層:上層或 層40 1 (即視訊系統)及下層;上層包含視訊樹404(即 化資料結構)’其為整合型編排引擎之主要用戶端,下 為整合型編排引擎420。視訊樹404為整合型編排引 間的互動提供其主要用戶端’並提供與用戶端及整合 排引擎所維護的資源表(例如402、4 1 4)之間的互動。 根據本發明’桌面視窗管理程式可取代視訊樹404 作整合型編排引擎42〇之用戶端。當整合型編排引擎 用來做為桌面編排引擎時,桌面視窗管理程式即成為 端。當視訊樹4〇4及桌面視窗螫理程式是整合型編排 17 1344603 引擎420的用戶端時,相同的函式庫會執行相同的編排工 作。不同的處理程序會為應用程式的視訊樹和桌面管理程 式執行,而且各自處理不同的資料(即工作量不同),但整 合型編排引擎420所用的協定不變。在實施例中,桌面視 窗管理程式所用的協定包含應用程式是用戶端時所採用的 協定之功能性次集。 舉例而言,以下將以應用程式為用戶端的情況來說 明用戶層40 1與整合型編排引擎420之間以及與資源管理 之間的互動。視訊樹4 0 4代表將要呈現的應用程式或文件 佈景。此佈景可以是非常大的佈景,而且可能遠大於當時 可見的尺寸。編繪指令列表(即R e n d e r D a t a)和其所使用的 資源一例如幾何形狀、點、筆、刷子、影像等一能定義出 各圖像(如405)之内容。這些資源是由主要資源表402進 行管理,而主要資源表402包含各資源與裝置和解析度無 關的資料。在某些情況下,主要資源表402包含一組與資 源相關的格式。主要資源表402是負責管理資源的使用期 間(例如藉由參考計數)。 顯示視訊樹之後,才會將關於視訊樹(如404)或資源 的資訊傳送到整合型編排引擎420。當視訊樹(如404)與編 繪目標產生關聯時,視訊樹會將該樹之表述式連同適當的 資源傳送到整合型編排引擎4 2 0。通訊聯繫是經由編排裝 置介面406之變量佇列408,並以非同步的方式進行。只 有潛在可見的視訊樹404之次集一在此統稱為編排樹(即編 排器資料結構)一表示於整合型編排引擎420。當視訊樹連 18 1344603 接到一個已知解析度的編繪目標時即顯示出該視訊樹。因 此,用戶端能夠知道由物件完全轉換成編繪目標空間。 傳送到整合型編排引擎42 0的資源會直接由整合型 編排引擎予以實現’而不需要傳送回叫訊號(callback)或必 要的實現關係(realization)。諸如"Text”與“Images”此 類資源非常耗費(相對於處理使用量而言)而不易實作,因 而會在視訊樹404内被轉換成適當的「編繪備妥 (read-to-render)」格式。將資源轉換成容易編繪的格式, 將可節省整合型編排引擎420所進行之編排的經常性使用 量°若資源需要任何針對使用者碼的叫回訊號,則資源同 時也會在視訊樹404裡實作。若有需要,整合型編排引擎 420本身可以將其它諸如‘‘ Ge〇metry”等資源由整合型編 排引擎420進行高效率格形化(tessei丨ated)而成為正確的 格式。 整合型編排引擎420可管理從屬資源表414内的資 源。在實施例中’從屬資源表4 1 4不會執行任何形式的參 考-t數,因此可以提高效能。能夠達成此項功效的原因在 於從屬資源表414的資源可在編排裝置所進行的單獨編排 執行緒上取用。在實施例中’從屬資源表4丨4内的所有資 源亦存在於主要資源表4〇2。主要資源表4〇2能透過序列 化變量件列408之需求而明確地控制從屬資源表4 1 4的使 用期間。整合型編排引擎420藉由控制代碼(handle)來參 用資源。在實施例中,若資源尋址失敗,整合型編排引擎 420會在告知佇列4丨〇中登載一個訊息,並且略過要求該 19 1344603 項資源的處理序。整合型編排引擎4 2 0是以單獨執y %订緒的 方式執行,並在固定的編排迴圈内執行。 本發明之整合型編排架構的技術態樣是—藉缸此 對資 源架構之運用。一項資源可以定義為「在編繪要灰τ H文水不同解 析度及/或實體裝置之佈景實現關係所需要的任何物件.其 在編排樹内會被多次運用;或可透過如動畫而改m,# 叉並與 其使用者無關」。資源表述於整合型編排引擎420和用戶 厂 層4 0 1,而以列表(如主要資源表4 0 2)中的紀錄型態呈現 並藉由控制代碼加以參用。使用資源的物件即是用控制代 碼來達此目的。控制代碼可以在資源表(如主要資源表4〇2) 查詢得到,以取得指向實際物件的指標。資源能使其本身 序列化、實施更新’以及提供特定解析度和裝置之實現關 係。 資源概括可以區分為幾種類型,例如螬·圖資源、數 值資源和結構化資源。繪圖資源是指由編繪層所定義的物 件’並可由該層直接取用。繪圖資源的範例包括:
RenderData、Bitmap、Image、Glyphrun、Geometry 及 Brush 等。繪圖資源可以進一步區分為簡易與複雜兩類。 在編排過程中’利用裝置與解析度無關的原始資 料’可以直接實現具備非常低且固定編繪成本的繪囷資 源。Geometry是一種簡易繪圖資源,因為在整合型編排引 擎420之編排迴圈内’其可經過高效率的格形化處理而成 為最終所需的解析度。相較之下,複雜資源需要複雜的運 算、叫回使用者碼或透過輸入/輸出來產生實現關係。在實 20 1344603 施例中’複雜繪圖資源不是藉由整合型編排引擎 實現。相反地’複雜繪圖資源的適當實現關係是 排之前提供於用戶端層401。「Image」是複雜資 範例。Image是從磁碟讀出、經過解碼、以適當 進行取樣,並接受過濾處理。 數值資源代表一種供另一資源運用的簡易 畫值。數值資源的範例包括:Double、Point、
Transform。舉例而言,RenderData資源可以透過与 資源來繪出一條線段;在此當中的一個點可以藉 應用程式的指令加以改變。數值資源可以是靜態 源。若數值資源是動態資源,則該數值資源具備 值如何隨著時間改變的時間間隔資料。 結構資源是在編排過程中會用到的物件, 編繪處理的一部份。這些物件是以資源的形式實 透過變量佇列參與更新,並可利用Value資源來 間隔值。目前提到的結構資源包括Composition R e η d e r T a r g e t s 〇 一般而言,資源必須先經過實現才能夠被 現關係可以代表「一種資源表述式,其適於給定纪 並能備妥而供特定裝置運用」。舉例而言,實現關 一種為特定解析度和轉換進行格形化處理而成為 幾何結構’而且可能已經載入視訊卡上的頂, (vertex buffer)。實現關係可以經由整合型編排弓| 要求而被建立’或是在用戶端層401建立並傳送 420予以 在進行編 源的·—個 的解析度 可變或動 Color 及 ^ 用 Point 由動畫或 或動態資 定義出數 但不屬於 作,其可 更新時間 Node 與 運用。實 I解析度, 係可以是 三角形的 路緩衝區 擎420之 到整合型 21 1344603 編排引擎42 0。若無法找到或建立經過要求的資源實現關 係,則會透過告知佇列4 1 0而將一項告知訊息排入通往用 戶端層4 0 1的佇列中。此告知訊息會指出資源控制代碼、 轉換以及所需要的裝置,連同使用的實現關係之所有轉換。 關於如何管理資源本身的問題亦同等重要。資源存 在某些可能有相互矛盾的需求:有效率的使用期間管理, 使得資源能夠儘快被解除;記憶體可能很大,因此需要有 效率的記憶體儲存;多執行緒安全控制代碼處理;即使預 估使用的資源不存在,健全完整的程式碼仍能運作;以及 有效率的實現關係尋址,期能確保順暢的編排過程。如圖 所示的整合型編排引擎之架構可將上述需求分成兩組,其 中主要資源表402符合第一組需求,從屬資源表41 4則符 合第二組需求。 主要資源表402經過完整地參用計數而有可靠且有 效率的記憶體管理,並且經過同步化而獲致可靠的執行 緒。參用計數是指特定資源被運用的次數。相較之下,從 屬資源表4 1 4是在單獨的執行緒上執行,並使用一種無須 參用及鎖定樹的設計。 主要資源表402能管理在用戶端層401應用程式内 所運用的所有資源。主要資源表402負責提供控制代碼; 參用計數控制代碼紀錄、資源及實現關係;將資源傳送到 從屬資源表4 1 4並控制從屬資源表4 1 4之資源的使用期 間。主要資源表402可以管理數萬個物件。大部分的物件 在當時並未顯示;然而,一旦物件被運用於顯示時,視訊 22 1344603 樹404就會建立資源。當視訊樹404被顯示時,視訊樹404 會被執行,而且必須用到的資源會被傳送到整合型編排引 擎420 ;在此,上述資源是在從屬資源表4 1 4内接受管理。 當編排過程不再需要用到特定資源時,視訊樹404會聯繫 編排裝置(例如第2圖的2 1 8 )並刪除該項資源。若某一應 用程式經過多點傳送(multicast)而被傳送到數個檢視器 (viewer),則視訊樹404會將同樣的資訊傳送到數個編排 裝置。主要資源表402可追蹤哪一個編排裝置適用各項資 源之表述式。 根據本發明之技術態樣,用戶端層4 0 1與整合型編 排引擎420之間可以共享資源資料。當共享的資料符合下 列條件時,資源資料即可成為共享的資料:一經建立,共 享的資料即被歸類為「唯讀」性質;在「複製」到整合型 編排引擎420之前,共享資料是完整的資料;視訊樹404 控制共享資料的使用期間;以及整合型編排引擎420之物 件已先由視訊樹4 0 4的明確要求而被刪除。上述必要條件 能確保從屬資源表4 1 4内的資料處於和主要資源表402 — 致的狀態。 第5圖繪示單一應用程式領域所運用的本發明多重 整合型編排引擎(UCEs)之概略架構。此種架構具備位於用 戶端層的單一應用程式領域,但具備多個與該應用程式有 關的整合型編排引擎以供佈景之編排。邏輯編排裝置(例如 編排裝置 U C E C)能定義應用程式(即編排用戶端)與各個 整合型編排引擎之間的連結關係。舉例而言,當需要遠端
23 1344603 協助或有其它狀況時,就有需要用到上述架構。在此 況下,單一應用程式會顯示於網路上一個以上的機台 以配合單一應用程式領域來使用的整合型編排引擎的 並不限定於如圖所示的三個引擎,其數量是依照需求λ 第6圖繪示本發明之單一整合型編排引擎所運 多重應用程式領域之概略架構。此種架構具備位於用 層的多個應用程式領域,但具備單獨一個與多重應用 有關的整合型編排引擎以供佈景之編排。邏輯編排裝ΐ 如編排裝置 U C E C)能定義各個應用程式(即編排用/ 與整合型編排引擎之間的連結關係。舉例而言,當單 個計算裝置上的多個應用程式均需要用到其自己的 時,此時即可運用上述架構。可以配合單一整合型編 擎來使用應用程式領域的數量並不限定於如圖所示的 領域,其數量是依照需求而定。 以上的詳細說明、範例及資料係為提供關於製 使用本發明之編排系統及方法的完整說明。在本發明 神及範圍内有多種實施例,因此本發明界定於後附之 專利範圍。 【圖式簡單說明】 第1圖繪示計算裝置之實施例,該計算裝置適用於本 之實施例。 第2圖係概括繪示本發明之API編排引擎之分層化架 第3圖為可納入本發明的媒體整合層架構之方塊圖。 類情 〇 可 數量 i定。 用的 戶端 程式 t (例 5端) 獨一 領域 排引 三個 作及 之精 申請 發明 構。 24 1344603 第4@緣=用本發明之整合型編排引擎的概略架構。 第5圖燴7^應用程式領域(appHcati〇n d〇main)所運用 的本發明多重整合型編排弓丨擎之概略架構。 第6圈燴不本發明之單一整合型編排引擎所運用的多重應 用程式頜域之概略架構。 【主 要元件符號說明】 100 計算系統環境 110 120 處理單元 121 130 系統記憶體 13 1 132 隨機存取記憶體(ram) 134 133 基本輸入/輸出系統(Bios) 135 應用程式 136 137 程式資料 138 140 介面 141 144 作業系統 145 146 其它程式模組 147 150 介面 15 1 152 移動式非揮發性的磁碟 155 156 移動式非揮發性光碟 160 16 1 指標裝置 162 163 麥克風 164 170 網路介面 17 1 172 數據機 173 電腦 系統匯流排 唯讀記憶體(ROM) 作業系統 其它程式模組 程式資料 硬碟機 應用程式 程式資料 磁碟機 光碟機 使用者輸入介面 鍵盤 平板 區域網路 廣域網路 25 遠 端 電 腦 18 1 1己 憶 體 儲 存 裝 置 遠 端 應 用 程 式 視 訊 介 面 19 1 監 視 器 觸 控 螢 幕 介 面 193 螢 幕 面 板 輸 出 週 邊 介 面 195 揚 聲 器 印 表 機 200 編 排 引 擎 之 分 層化架構 程 式 碼 204 攝 像 機 制 向 量 繪 圖 單 元 208 單 元 /屬 性系 级 呈 現 系 統 212 視 訊 API 層 視 訊 系 統 216 佈 景 圖 形 編 排 器 220 時 序 及 動 畫 系 統 繪 圖 子 系 統 230 列 印 層 印 表 機 236 終 端 傳 m Ί司 服 器 遠 端 機 台 視 訊 系 統 402 主 要 資 源 表 視 訊 樹 405 圖 像 編 排 裝 置 介 面 408 變 量 佇 列 告 知 Ί9 列 4 12 編 排 樹 從 屬 資 源 表 420 整 合 型 編 排 引 擎 26
Claims (1)
1344603 縝hHb戎號專利案丨科:丨月修正 拾、申請專利範圍: 1. 一種在一計算環境中之系統,該系統包含: 一視訊系統(2 1 4、4 0 1 ),該視訊系統經配置成接收來 自於一程式與一視窗桌面管理程式兩者的呼叫,藉以建構 —階層化資料結構(404 ); 一整合型編排引擎(218、420),該整合型編排引擎接 收來自該視訊系統之指令,其中該整合型編排引擎建構一 編排器資料結構(4 I 2 ),藉以回應該等指令而提供繪圖輸 出,且其中當回應該視窗桌面管理程式時,該整合型編排 引擎所用之協定包含回應於該應用程式時該整合型編排引 擎所用之該等協定的一功能性次集; 一主要資源表(402),其包含於該視訊系統,其中該 主要資源表包含一第一資源列表,該第一資源列表係供該 應用程式與該視窗桌面管理程式使用;及 一從屬資源表(4 1 4 ),其包含於該整合型編排引擎, 其中該從屬資源表包括提供給該整合型編排引擎的一第二 資源列表,該從屬資源表係由該主要資源表控制該從屬資 源表(4 1 4 )的該使用期間而管理; 一告知佇列(410 ),其中若一資源查閱(lookup )失 敗,則該整合型編排引擎(2 1 8、420 )登載一訊息至該告 知佇列(4 1 0 );及 一變量佇列(408 ),其中該主要資源表(402 )透過序 列化的變量佇列之請求而明確地控制從屬資源表資源的該 27 1344603 使用期間。 2. 如申請專利範圍第1項所述之系統,其中該整合型编 引擎包含第一編排服務,該第一編排服務與一第二編排 務分隔,該第一編排服務被納入該視訊系統中,且經配 成提供資料至該第二編排服務。 3. 如申請專利範圍第1項所述之系統,其中當相較於該 一資源列表時,該第二資源列表係一涵蓋式資源列表, 為該從屬資源表(414)中的資源亦存在於該主要資源 (402 )中。 4. 如申請專利範圍第1項所述之系統,其中該主要資源 係負責提供控制代碼、參用計數控制代碼紀錄、資源及 現關係,而負責將資源傳送到該從屬資源表。 5. 如申請專利範圍第1項所述之系統,其中當該整合型 排引擎回應於該視窗桌面管理程式而運作,且當該整合 編排引擎回應於該應用程式而運作時,相同的程式庫執 相同的編排。 6.如申請專利範圍第1項所述之系統,其中該從屬資源 之資源係在一單獨的編排執行緒上存取。 排 服 置 第 因 表 表 實 編 型 行 表 28 1344603
7.如申請專利範圍第1項所述之系統,其中該整合型編排 引擎係以一單獨執行緒的方式運行,並在一固定的编排迴 圈内運行 8 ·如申請專利範圍第1項所述之系統,其更包含額外的視 訊系統,與該整合型編排傳訊,使該繪圖輸出對應至該等
9 ·如申請專利範圍第1項所述之系統,其更包含額外的整 合型編排引擎,與該視訊系統傳訊,以產生對應於該視訊 系統之多重繪圊輸出。
10.—種在一計算系統中之方法,該方法包含以下步驟: 接收來自一應用程式與一視窗桌面管理程式兩者的呼 叫,其中回應於該等呼叫而建構一階層化佈景結構(404 ); 將代表該階層化資料結構之變量的資訊傳送到一整合 型編排引擎( 420 ); 將一組資源傳送到該整合型編排引擎,其中該組資源 係對應於與該階層化資料結構(402 )相關的一主要資源表 (404 ); 根據該傳送的資訊來更新一編排器資料結構(412)内 的資訊; 29 1344603 厂me .-.......... ~~~-------------- 根據該組傳送的資源來更新一從屬資源表( 中該從屬資源表與該編排器資料結構相關,且由 源表管理; 透過一變量佇列之請求控制該從屬資源表的 間以回應該主要資源表; 處理該編排器資料結構,以輸出繪圖資訊; 若一資源查閱失敗,則從該整合型編排引擎 載一訊息至一告知佇列(4 1 0 ), 其中當回應該視窗桌面管理程式時,該整合型編 用之協定包含回應於該程式時該整合型編排引擎 等協定的一功能性次集。 11. 如申請專利範圍第10項所述之方法,其中建 化佈景結構的程序相較於處理該編排器資料結構 繪圖資訊的程序係不同步地實行》 12. 如申請專利範圍第10項所述之方法,其中該 表包含一資源列表,當相較於該主要資源表時, 表係一涵蓋式資源列表,因為該從屬資源表(4 P 源亦存在於該主要資源表(4 0 2 )中。 13. 如申請專利範圍第12項所述之方法,其更包 驟:在該整合型編排引擎回應於該視窗桌面管理 414),其 該主要資 該使用期 及 (420 )登
排引擎所 所用之該 立該階層 而產生該
從屬資源 該資源列 _ )中的資 含以下步 程式而運 30 1344603 __ _ J00. 1. ^ ] 年月曰修正朁換頁丨 作時,根據一第一程式庫運用該整合型編排引擎執行编 排,以及在該整合型編排引擎回應於一程式而運作時,根 據該第一程式庫運用該整合型編排引擎執行編排。 14. 如申請專利範圍第10項所述之方法,其更包含以下步 驟:在一單獨的編排執行緒上存取該從屬資源表之資源。 15. 如申請專利範圍第10項所述之方法,其更包含以下步 驟:以一單獨執行緒及在一固定的編排迴圈内的方式運行 該整合型編排引擎。 16. 如申請專利範圍第10項所述之方法,其更包含以下步 驟:將額外的資訊和額外的資源組傳送到該整合型编排引 擎,使該繪圖輸出資訊對應至額外的程式。 17. 如申請專利範圍第10項所述之方法,其更包含以下步 驟:將該等資訊和資源組傳送到多重整合型編排引擎,以 產生對應於該程式及該視窗桌面管理程式的多重繪圖輸出 資訊。 31
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/692,288 US7012606B2 (en) | 2003-10-23 | 2003-10-23 | System and method for a unified composition engine in a graphics processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200515187A TW200515187A (en) | 2005-05-01 |
TWI344603B true TWI344603B (en) | 2011-07-01 |
Family
ID=34522083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW093121638A TWI344603B (en) | 2003-10-23 | 2004-07-20 | System and method for a unified composition engine in a graphics processing system |
Country Status (14)
Country | Link |
---|---|
US (1) | US7012606B2 (zh) |
EP (1) | EP1676245A4 (zh) |
JP (2) | JP4764345B2 (zh) |
KR (1) | KR101087361B1 (zh) |
CN (1) | CN1860505B (zh) |
AU (1) | AU2004287140B2 (zh) |
BR (1) | BRPI0414431A (zh) |
CA (1) | CA2537138A1 (zh) |
MX (1) | MXPA06003282A (zh) |
MY (1) | MY137202A (zh) |
RU (1) | RU2355031C2 (zh) |
TW (1) | TWI344603B (zh) |
WO (1) | WO2005045580A2 (zh) |
ZA (1) | ZA200602390B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8964120B2 (en) | 2012-01-30 | 2015-02-24 | Mstar Semiconductor, Inc. | Television system and method for managing applications therein |
US9846597B2 (en) | 2013-03-13 | 2017-12-19 | Microsoft Technology Licensing, Llc | Durable program execution |
TWI614685B (zh) * | 2014-11-21 | 2018-02-11 | 英特爾公司 | 用於在虛擬執行環境中有效率地處理圖形的系統 |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7064766B2 (en) | 2001-10-18 | 2006-06-20 | Microsoft Corporation | Intelligent caching data structure for immediate mode graphics |
US6919891B2 (en) | 2001-10-18 | 2005-07-19 | Microsoft Corporation | Generic parameterization for a scene graph |
US7619633B2 (en) * | 2002-06-27 | 2009-11-17 | Microsoft Corporation | Intelligent caching data structure for immediate mode graphics |
US7443401B2 (en) * | 2001-10-18 | 2008-10-28 | Microsoft Corporation | Multiple-level graphics processing with animation interval generation |
US7161599B2 (en) * | 2001-10-18 | 2007-01-09 | Microsoft Corporation | Multiple-level graphics processing system and method |
US7486294B2 (en) * | 2003-03-27 | 2009-02-03 | Microsoft Corporation | Vector graphics element-based model, application programming interface, and markup language |
US7466315B2 (en) * | 2003-03-27 | 2008-12-16 | Microsoft Corporation | Visual and scene graph interfaces |
US7417645B2 (en) | 2003-03-27 | 2008-08-26 | Microsoft Corporation | Markup language and object model for vector graphics |
US7088374B2 (en) * | 2003-03-27 | 2006-08-08 | Microsoft Corporation | System and method for managing visual structure, timing, and animation in a graphics processing system |
US7511718B2 (en) * | 2003-10-23 | 2009-03-31 | Microsoft Corporation | Media integration layer |
US7603624B2 (en) * | 2004-10-21 | 2009-10-13 | Microsoft Corporation | System and method for styling content in a graphical user interface control |
US8631342B2 (en) * | 2004-12-22 | 2014-01-14 | Hewlett-Packard Development Company, L.P. | Computer display control system and method |
US20060168537A1 (en) * | 2004-12-22 | 2006-07-27 | Hochmuth Roland M | Computer display control system and method |
US8130226B2 (en) * | 2006-08-04 | 2012-03-06 | Apple Inc. | Framework for graphics animation and compositing operations |
US9019300B2 (en) | 2006-08-04 | 2015-04-28 | Apple Inc. | Framework for graphics animation and compositing operations |
US9219941B2 (en) | 2006-10-25 | 2015-12-22 | Telefonaktiebolaget L M Ericsson (Publ) | Rich media stream management |
US7996787B2 (en) * | 2007-02-06 | 2011-08-09 | Cptn Holdings Llc | Plug-in architecture for window management and desktop compositing effects |
US8108799B2 (en) * | 2007-03-30 | 2012-01-31 | Microsoft Corporation | Remoting of windows presentation framework based applications in a non-composed desktop |
US20080250424A1 (en) * | 2007-04-04 | 2008-10-09 | Ms1 - Microsoft Corporation | Seamless Window Implementation for Windows Presentation Foundation based Applications |
KR20080114496A (ko) * | 2007-06-26 | 2008-12-31 | 삼성전자주식회사 | 레이저 콘텐츠를 이용하여 장면을 구성하는 방법 및 장치 |
US9589381B2 (en) | 2008-06-12 | 2017-03-07 | Microsoft Technology Licensing, Llc | Copying of animation effects from a source object to at least one target object |
KR20100088049A (ko) * | 2009-01-29 | 2010-08-06 | 삼성전자주식회사 | 사용자 인터페이스 구성 객체들로 이루어진 콘텐츠의 사전 예측 불가능한 경로를 통하여 수신되는 정보들의 처리 방법 및 이를 위한 장치 |
US20100321382A1 (en) | 2009-06-18 | 2010-12-23 | Scalable Display Technologies, Inc. | System and method for injection of mapping functions |
US8771064B2 (en) | 2010-05-26 | 2014-07-08 | Aristocrat Technologies Australia Pty Limited | Gaming system and a method of gaming |
US20110298787A1 (en) * | 2010-06-02 | 2011-12-08 | Daniel Feies | Layer composition, rendering, and animation using multiple execution threads |
US9361715B2 (en) | 2011-06-02 | 2016-06-07 | Microsoft Technology Licensing, Llc | Global composition system |
US9563971B2 (en) | 2011-09-09 | 2017-02-07 | Microsoft Technology Licensing, Llc | Composition system thread |
US8793696B2 (en) * | 2011-10-13 | 2014-07-29 | Google, Inc. | Dynamic scheduling for frames representing views of a geographic information environment |
CA2792662C (en) | 2011-10-18 | 2017-11-14 | Research In Motion Limited | Method of rendering a user interface |
CA2792895C (en) * | 2011-10-18 | 2020-04-28 | Research In Motion Limited | Method of rendering a user interface |
US8547480B1 (en) * | 2012-06-25 | 2013-10-01 | Google Inc. | Coordinating distributed graphics rendering in a multi-window display |
US9069905B2 (en) * | 2012-07-16 | 2015-06-30 | Microsoft Technology Licensing, Llc | Tool-based testing for composited systems |
TWM471654U (zh) * | 2013-02-07 | 2014-02-01 | Asustek Comp Inc | 可攜式電子裝置 |
RU2580468C9 (ru) * | 2013-04-24 | 2017-03-24 | Общество С Ограниченной Ответственностью "Э-Студио" | Способ управления доступом к множеству вычислительных ресурсов |
US9542906B2 (en) * | 2013-05-10 | 2017-01-10 | Microsoft Technology Licensing, Llc | Shared compositional resources |
US20140344729A1 (en) * | 2013-05-15 | 2014-11-20 | Microsoft Corporation | Primitive-based composition |
US10147158B2 (en) | 2014-12-13 | 2018-12-04 | Microsoft Technology Licensing, Llc | Frame invalidation control with causality attribution |
US10348997B2 (en) | 2015-07-09 | 2019-07-09 | Genetec Inc. | Security video monitoring client |
CN113515317A (zh) * | 2020-03-25 | 2021-10-19 | 华为技术有限公司 | 数据恢复的方法、装置 |
TWI844216B (zh) * | 2022-12-30 | 2024-06-01 | 宏碁股份有限公司 | 視窗編排系統、視窗編排方法以及視窗編排程式產品 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7161599B2 (en) * | 2001-10-18 | 2007-01-09 | Microsoft Corporation | Multiple-level graphics processing system and method |
US6919891B2 (en) * | 2001-10-18 | 2005-07-19 | Microsoft Corporation | Generic parameterization for a scene graph |
US7088374B2 (en) * | 2003-03-27 | 2006-08-08 | Microsoft Corporation | System and method for managing visual structure, timing, and animation in a graphics processing system |
-
2003
- 2003-10-23 US US10/692,288 patent/US7012606B2/en not_active Expired - Lifetime
-
2004
- 2004-07-19 MY MYPI20042882A patent/MY137202A/en unknown
- 2004-07-20 TW TW093121638A patent/TWI344603B/zh not_active IP Right Cessation
- 2004-07-29 RU RU2006113596/09A patent/RU2355031C2/ru not_active IP Right Cessation
- 2004-07-29 MX MXPA06003282A patent/MXPA06003282A/es active IP Right Grant
- 2004-07-29 CN CN2004800279885A patent/CN1860505B/zh not_active Expired - Lifetime
- 2004-07-29 KR KR1020067004470A patent/KR101087361B1/ko active IP Right Grant
- 2004-07-29 WO PCT/US2004/024421 patent/WO2005045580A2/en active Application Filing
- 2004-07-29 AU AU2004287140A patent/AU2004287140B2/en not_active Expired
- 2004-07-29 BR BRPI0414431-7A patent/BRPI0414431A/pt not_active IP Right Cessation
- 2004-07-29 JP JP2006536585A patent/JP4764345B2/ja not_active Expired - Lifetime
- 2004-07-29 ZA ZA200602390A patent/ZA200602390B/en unknown
- 2004-07-29 CA CA002537138A patent/CA2537138A1/en not_active Abandoned
- 2004-07-29 EP EP04779468A patent/EP1676245A4/en not_active Ceased
-
2011
- 2011-02-25 JP JP2011040043A patent/JP5149411B2/ja not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8964120B2 (en) | 2012-01-30 | 2015-02-24 | Mstar Semiconductor, Inc. | Television system and method for managing applications therein |
US9846597B2 (en) | 2013-03-13 | 2017-12-19 | Microsoft Technology Licensing, Llc | Durable program execution |
TWI610241B (zh) * | 2013-03-13 | 2018-01-01 | 微軟技術授權有限責任公司 | 耐用性程式執行 |
US10303513B2 (en) | 2013-03-13 | 2019-05-28 | Microsoft Technology Licensing, Llc | Durable program execution |
TWI614685B (zh) * | 2014-11-21 | 2018-02-11 | 英特爾公司 | 用於在虛擬執行環境中有效率地處理圖形的系統 |
US9996892B2 (en) | 2014-11-21 | 2018-06-12 | Intel Corporation | Apparatus and method for efficient graphics processing in a virtual execution environment |
Also Published As
Publication number | Publication date |
---|---|
CN1860505A (zh) | 2006-11-08 |
TW200515187A (en) | 2005-05-01 |
AU2004287140B2 (en) | 2010-02-25 |
MXPA06003282A (es) | 2006-06-08 |
BRPI0414431A (pt) | 2006-11-14 |
ZA200602390B (en) | 2007-09-26 |
CA2537138A1 (en) | 2005-05-19 |
WO2005045580A2 (en) | 2005-05-19 |
WO2005045580A3 (en) | 2005-08-25 |
JP5149411B2 (ja) | 2013-02-20 |
EP1676245A2 (en) | 2006-07-05 |
US7012606B2 (en) | 2006-03-14 |
MY137202A (en) | 2009-01-30 |
JP4764345B2 (ja) | 2011-08-31 |
AU2004287140A1 (en) | 2005-05-19 |
EP1676245A4 (en) | 2008-10-29 |
US20050088436A1 (en) | 2005-04-28 |
CN1860505B (zh) | 2010-05-12 |
JP2007510976A (ja) | 2007-04-26 |
JP2011129153A (ja) | 2011-06-30 |
RU2006113596A (ru) | 2006-09-10 |
KR20060126435A (ko) | 2006-12-07 |
KR101087361B1 (ko) | 2011-11-25 |
RU2355031C2 (ru) | 2009-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI344603B (en) | System and method for a unified composition engine in a graphics processing system | |
JP5080554B2 (ja) | 代替的グラフィック・セットの効率的な符号化 | |
JP4901261B2 (ja) | 高品質なユーザーインターフェイスによる効率的な遠隔表示を行なうシステム | |
CN102736912B (zh) | 提供应用之间的动画图形转换的方法和计算设备 | |
CN101258478B (zh) | 高级图形流 | |
US9563971B2 (en) | Composition system thread | |
EP2997547B1 (en) | Primitive-based composition | |
CN109121000A (zh) | 一种视频处理方法及客户端 | |
US20140368512A1 (en) | Systems, methods, and devices for animation on tiled displays | |
CN114741081A (zh) | 一种基于异构缓存访问的跨运行环境显示输出共享方法 | |
CN108989872A (zh) | 一种安卓电视背景快速切换方法、框架、服务器及存储介质 | |
US7743387B2 (en) | Inheritance context for graphics primitives | |
CN109416828A (zh) | 将帧缓冲映射到逻辑显示器的装置及方法 | |
US9542906B2 (en) | Shared compositional resources | |
CN111949265A (zh) | 一种数据处理方法、装置和电子设备 | |
Ramanathan | Intel® Multi-Core Processors | |
CN109767827A (zh) | Dicom图像原始数据在内存中的共享方法和共享系统 | |
CN114764317A (zh) | 基于iOS系统的视频流获取方法、介质、设备及应用系统 | |
JP2006039707A (ja) | 画像合成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |