欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于提供對硬件圖形層的透明接入的系統(tǒng)的制作方法

文檔序號:6639343閱讀:226來源:國知局
專利名稱:用于提供對硬件圖形層的透明接入的系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明通常涉及計(jì)算機(jī)圖形學(xué),更具體地涉及用于配置、控制和接入用來組成一個(gè)視頻顯示的多個(gè)硬件圖形層的方法和系統(tǒng)。
背景技術(shù)
視窗型操作系統(tǒng)允許用戶和開發(fā)者通過相容的圖形用戶接口(GUI)與軟件應(yīng)用程序進(jìn)行交互,同時(shí)為他們提供同時(shí)與多個(gè)軟件應(yīng)用程序相交互的能力。理想地,當(dāng)操作系統(tǒng)保持相容的應(yīng)用程序接口(API)時(shí),操作系統(tǒng)應(yīng)該提供盡可能多的到達(dá)底層圖形硬件功能的接入。操作系統(tǒng)API是組成操作系統(tǒng)與接入它的軟件應(yīng)用程序之間的接口的例程、協(xié)議、和工具的集合。軟件應(yīng)用程序與操作環(huán)境(即,視頻顯示器、硬盤驅(qū)動(dòng)器、鍵盤等等)之間的任何交互作用都是通過操作系統(tǒng)API完成的。
此外,操作系統(tǒng)應(yīng)該支持一定程度的特征透明度。也就是說,軟件應(yīng)用程序應(yīng)該能夠受益于系統(tǒng)特征,而不要求軟件應(yīng)用程序得知系統(tǒng)特征的每個(gè)細(xì)節(jié)。例如,在16位色彩深度顯示系統(tǒng)上設(shè)計(jì)的軟件應(yīng)用程序應(yīng)該如預(yù)期的那樣在32位色彩深度顯示系統(tǒng)上運(yùn)行。軟件應(yīng)用程序應(yīng)該不需知道它正在其上運(yùn)行的視頻顯示器所支持的色彩深度。操作系統(tǒng)提供的特征透明度程度越高,能夠在多種環(huán)境下運(yùn)行的軟件應(yīng)用程序的開發(fā)就越容易,并且可以在任何給定平臺上使用的軟件應(yīng)用程序的選擇也就越多。
視頻存儲(chǔ)器、視頻面和多層(layers)個(gè)人計(jì)算機(jī)和其它計(jì)算設(shè)備通常包括被稱為圖形卡、視頻卡或視頻板的電路板,它允許個(gè)人計(jì)算機(jī)驅(qū)動(dòng)物理顯示器,例如LCD(液晶顯示器)或CRT(陰極射線管)監(jiān)視器。這些圖形卡典型地包含它們自己的視頻存儲(chǔ)器,這樣就不需要計(jì)算機(jī)的RAM(隨機(jī)存取存儲(chǔ)器)來保存視頻顯示數(shù)據(jù)。很多圖形卡還有它們自己的板上微處理器,這樣呈現(xiàn)圖像所需的處理能夠被快速完成而不會(huì)成為計(jì)算機(jī)的主微處理器的負(fù)擔(dān)。
圖形卡典型地?fù)碛斜缺4鎲蝹€(gè)顯示屏的內(nèi)容所需要的多得多的視頻存儲(chǔ)空間。視頻存儲(chǔ)器的內(nèi)容被分為能夠被動(dòng)態(tài)地定義和重新定義的塊,每個(gè)塊有特定的寬度、高度和其它性質(zhì)。每個(gè)塊被稱做一個(gè)視頻“面”,這些視頻面之一被作為主顯示。對關(guān)于主顯示的視頻面進(jìn)行繪制將在物理顯示器上產(chǎn)生可視圖形。對除主顯示外的視頻面進(jìn)行繪制將是不可見的,除非那些面的內(nèi)容是“被位圖傳送(blitted)”到主顯示的視頻面。
“多層”硬件允許圖形卡把一個(gè)或多個(gè)視頻面作為主顯示的組成部分。結(jié)合和/或混合多個(gè)視頻面以創(chuàng)建主顯示的方式可以通過圖形卡上的多層硬件來配置。多層硬件將所有指向主顯示的面無破壞地結(jié)合起來。也就是說,這多個(gè)視頻面的內(nèi)容不受分層硬件的影響——只有顯示設(shè)備上看到的最后結(jié)果受到影響。這使得具有分層硬件的圖形卡成為對低性能平臺理想的圖形卡,低性能平臺需要例如自動(dòng)的遠(yuǎn)程信息處理系統(tǒng)(telematics)的精細(xì)圖形組成,其中,例如,可能期望顯示道路圖上的通風(fēng)系統(tǒng)的設(shè)置或者正在連續(xù)播放的視頻程序的設(shè)置。
“自動(dòng)的遠(yuǎn)程信息處理系統(tǒng)”指的是管理汽車?yán)锏沫h(huán)境和娛樂系統(tǒng)的計(jì)算機(jī)化控制系統(tǒng)的技術(shù)。這些系統(tǒng)還被稱作汽車“信息娛樂”或“信息電子(infotronic)”系統(tǒng),或者其它類似的名字。這種系統(tǒng)能管理的一些功能包括1.支持例如無線廣播、視頻游戲和播放電影的娛樂應(yīng)用??梢詫⑦@些娛樂應(yīng)用有選擇性地針對汽車中的不同顯示器、揚(yáng)聲器和頭戴受話器系統(tǒng);2.管理車輛氣候控制系統(tǒng);3.提供互聯(lián)網(wǎng)接入、電子郵件和即時(shí)消息服務(wù)(instant messagingservice);4.提供例如反盜竊和自動(dòng)撥號的安全系統(tǒng);5.與例如個(gè)人數(shù)字助理(PDA)、膝上型電腦和筆記本式機(jī)算機(jī)的便攜式計(jì)算設(shè)備的連接和同步;6.顯示電子道路圖,使用GPS(全球定位系統(tǒng))技術(shù)來選擇正確的地圖并識別車輛在地圖上的實(shí)際位置。這項(xiàng)技術(shù)還可以用于通知用戶附近的服務(wù)站、飯店和其它服務(wù),提供交通信息、導(dǎo)航建議和停車場利用率;以及7.與加油站的銷售點(diǎn)和相關(guān)的自動(dòng)化銀行服務(wù)進(jìn)行無線交互;例如,允許用戶購買汽油、洗車和下載電影,而不必非要與服務(wù)員進(jìn)行交互(參見例如,Sun Microsystems,Inc.在2001的“The eGasStationArchitecture-JavaTMTechnology Based Managed Services for RetailService Stations”(太陽微系統(tǒng)有限公司在2001年發(fā)表的“電子加油站構(gòu)架——用于零售服務(wù)站的基于JavaTM技術(shù)的受控服務(wù)”))。
這個(gè)列表只是汽車遠(yuǎn)程信息處理系統(tǒng)能被設(shè)計(jì)來支持的所有功能中的小部分示例。隨著時(shí)間的推移其它服務(wù)也必將得到遠(yuǎn)程信息處理系統(tǒng)的支持。
現(xiàn)有的視頻系統(tǒng)在本技術(shù)領(lǐng)域中有兩種視頻系統(tǒng)的通用配置。
在一種系統(tǒng)中,軟件應(yīng)用程序使用直接操作圖形卡的存儲(chǔ)器和寄存器的操作系統(tǒng)的API來繪制圖像、向量和字符來影響顯示。軟件應(yīng)用程序使用操作系統(tǒng)API,但是軟件應(yīng)用程序本身用作對硬件進(jìn)行直接操作的圖形驅(qū)動(dòng)程序。在這種系統(tǒng)中,由于硬件爭用問題一次只有一種軟件應(yīng)用程序可以接入圖形卡。
在其它系統(tǒng)中,軟件應(yīng)用程序使用打包并發(fā)送出繪制請求的操作系統(tǒng)的API進(jìn)行繪制。如果打包的繪制請求被傳送給正在使用操作系統(tǒng)的API來操作圖形卡的存儲(chǔ)器和寄存器以影響顯示的軟件應(yīng)用程序,則那些繪制請求被交給圖形卡并可能對可視顯示產(chǎn)生影響。在這種配置中,繪圖應(yīng)用程序和圖形驅(qū)動(dòng)程序是分離的允許多個(gè)應(yīng)用程序使用單個(gè)圖形卡繪圖的軟件進(jìn)程。用于傳送封裝的繪制請求的機(jī)構(gòu)在本領(lǐng)域內(nèi)已知的窗口系統(tǒng)范圍內(nèi)變化。
圖1示出了如現(xiàn)有技術(shù)已知的具有多層支持的圖形卡的典型配置框圖10。當(dāng)軟件應(yīng)用程序12希望在顯示屏14上繪制圖像、字符或者向量時(shí),它向操作系統(tǒng)18的API 16發(fā)出“繪制”請求。操作系統(tǒng)18處理該繪制請求并向圖形卡20發(fā)送合適的指令。這些指令是通過操作系統(tǒng)API 16和圖形卡20的API 22傳送的。因?yàn)椴僮飨到y(tǒng)18不知道圖形卡20中的硬件層24,所有的繪制請求僅僅會(huì)被傳給同一層,主層26。接著主層26中的視頻圖像被傳到顯示屏14上。
如果軟件應(yīng)用程序12對圖形卡20的API 22有特定的了解,并且系統(tǒng)的其余部分許可,則軟件應(yīng)用程序12能夠直接向圖形卡20傳遞消息或者從其傳出消息以操縱圖形卡20的存儲(chǔ)器和寄存器(這是上文所述的第一種方法)??商娲?,如果操作系統(tǒng)18具有對圖形卡20的API 22有特定的了解的圖形驅(qū)動(dòng)程序并且系統(tǒng)的其余部分許可,則操作系統(tǒng)18中的圖形驅(qū)動(dòng)程序可以操縱圖形卡20的多層性能(這是上文所述的第二種方法)。
用來接入和控制視頻硬件層的API首先是由生產(chǎn)多層支持的圖形卡的圖形卡制造商提供的。但是,這些早期的API至少存在兩個(gè)主要問題1.不同制造商的API彼此之間幾乎沒有共性,這意味著需要接入和控制圖形卡的多層特征的軟件應(yīng)用程序只能在一個(gè)制造商生產(chǎn)的圖形卡上工作;以及2.視窗型操作系統(tǒng)對視頻硬件層的存在一無所知,因此這些層不能通過操作系統(tǒng)API接入。
近期,可以使用一種操作系統(tǒng)API,其與硬件分層性能相容但是接口受限,盡管軟件應(yīng)用程序仍需要使用該特定的操作系統(tǒng)API才能夠傳到硬件所支持的層。這個(gè)限制導(dǎo)致不可能將第三方軟件集成到能夠分層的系統(tǒng)。換句話說,這個(gè)新操作系統(tǒng)API仍然需要第三方軟件應(yīng)用程序知道該新操作系統(tǒng)API接入了硬件層,并知道如何使用它。典型地,第三方軟件應(yīng)用程序不具有該知識,因此這不是“透明的”方案。
這種API是“DirectFB”——以有限的方式提供對視頻多層性能的一般接入的API。DirectFB被限制為只能使用面,具有以一定程度共享主顯示面的能力。
現(xiàn)有的允許軟件應(yīng)用程序直接接入圖形硬件層的操作系統(tǒng)API,由于硬件爭用問題通常會(huì)阻止該層被多個(gè)軟件應(yīng)用程序共享。
在汽車、醫(yī)療儀器、消費(fèi)品、及工業(yè)自動(dòng)化市場中,對允許使用第三方軟件應(yīng)用程序、傳統(tǒng)應(yīng)用程序、及指向多于一個(gè)對象的新軟件應(yīng)用程序以便能夠影響選定的圖形硬件的分層能力的圖形解決方案的要求增長。
因此需要一種集成的方案來配置、控制、并接入(傳送)解決上文列出的問題的圖形硬件層。選擇的方案必須考慮目標(biāo)市場的需要汽車適當(dāng)?shù)某叽绾托阅苊舾行?performance sensitive)消費(fèi)品適當(dāng)?shù)某叽绾托阅苊舾行葬t(yī)療適當(dāng)?shù)男阅苊舾行怨I(yè)自動(dòng)化適當(dāng)?shù)男阅苊舾行赃@種設(shè)計(jì)還必須考慮到執(zhí)行速度、可靠性、復(fù)雜度和可擴(kuò)展性。

發(fā)明內(nèi)容
因此,本發(fā)明的目標(biāo)是提供一種能排除或者減輕現(xiàn)有技術(shù)的至少一種缺點(diǎn)的計(jì)算機(jī)文件管理的新穎方法和系統(tǒng)。
本發(fā)明的一個(gè)方面被廣義地定義為,在包括軟件應(yīng)用程序和正在計(jì)算機(jī)上運(yùn)行的操作系統(tǒng)的計(jì)算機(jī)環(huán)境中,所述計(jì)算機(jī)包括圖形卡和視頻顯示器,所述圖形卡可操作用來將圖像傳給所述視頻顯示器,改進(jìn)包括所述操作系統(tǒng)包括支持圖形卡上的硬件層的通用的應(yīng)用程序接口(API);所述操作系統(tǒng)可操作用來通過所述通用的API接收繪制事件;確定所述圖形卡上的可用硬件層,及它們的參數(shù);以及通過將所述繪制請求有選擇地傳給在所述圖形卡上所述可用的硬件層中的任意一個(gè)來響應(yīng)來自所述軟件應(yīng)用程序的繪制請求;由此,所述計(jì)算機(jī)環(huán)境允許軟件應(yīng)用程序使用所述圖形卡上的可用硬件層。
在本發(fā)明的優(yōu)選實(shí)施方式中,提供了允許窗口環(huán)境和多層硬件被配置的機(jī)構(gòu),以使不了解視頻層的軟件應(yīng)用程序能夠在實(shí)際上傳送到多層。也就是說,軟件應(yīng)用程序根本不需使用視頻層API,也不需使用任何特定的繪制命令就能夠傳到多層。這個(gè)機(jī)構(gòu)允許在分層環(huán)境中使用未修改的傳統(tǒng)應(yīng)用程序。


本發(fā)明的這些和其它性質(zhì)將從參考附圖的下面的說明中變得更容易理解
圖1示出了本領(lǐng)域中已知的支持視頻層的計(jì)算機(jī)系統(tǒng)的框圖;圖2示出了本發(fā)明的一個(gè)實(shí)施方式中支持視頻層的計(jì)算機(jī)系統(tǒng)的框圖;圖3示出了本發(fā)明的一個(gè)實(shí)施方式中PhotoTM事件空間和QNXTM操作系統(tǒng)環(huán)境的符號可視化;圖4示出了本發(fā)明的一個(gè)實(shí)施方式中支持視頻硬件層管理的修改的Photon事件空間的符號可視化;圖5示出了在本發(fā)明的一個(gè)實(shí)施方式中的配置視頻層支持的方法的流程圖;圖6示出了在本發(fā)明的一個(gè)實(shí)施方式中的默認(rèn)的視窗管理程序控制臺的布置圖;以及圖7示出了本發(fā)明的一個(gè)實(shí)施方式中的處理繪制事件的方法的流程圖。
具體實(shí)施例方式
一般地說,本發(fā)明通過提供以下操作系統(tǒng)來解決本領(lǐng)域中的問題,該操作系統(tǒng)1.具有支持圖形卡上的硬件層的通用API;2.確定使用中的圖形卡上的可用層,和那些層的參數(shù);以及3.通過使用這些可用的視頻層對來自軟件應(yīng)用程序的繪制請求做出反應(yīng)。
該系統(tǒng)為傳送到圖形硬件層提供了特征透明度。本文中描述了本發(fā)明的多個(gè)實(shí)施方式,但是顯然本發(fā)明能夠以很多不同的方法來實(shí)現(xiàn)。圖2的框圖示出了使用本發(fā)明的典型系統(tǒng)的概況。
可以將圖2的框圖與圖1的框圖作對比。在圖2的情況中,當(dāng)軟件應(yīng)用程序32希望向顯示屏14上繪制圖像、字符或者向量時(shí),它可能了解也可能不了解可用的多層支持。因此,系統(tǒng)30支持兩種不同類型的發(fā)到操作系統(tǒng)36的API 34的繪制請求包括硬件層信息的請求38和不包括它的請求40。
本發(fā)明的操作系統(tǒng)36具有不僅支持將繪制請求指向視頻面(它能夠與多層聯(lián)系起來)(38),而且支持無指向的繪制API 34。為了支持傳統(tǒng)的第三方軟件應(yīng)用程序,操作系統(tǒng)36必須以傳統(tǒng)的方式處理無分層類型的請求40??商娲?,可以將繪圖API定義為兩類將提供無指向的從而不能分層的API的傳統(tǒng)的API,和能夠提供對視頻面從而對多層的直接接入的面或?qū)拥睦L圖API。
操作系統(tǒng)36還有確定圖形卡20上的可用的層的一些裝置。該知識可以以不同的方法從圖形卡20傳遞給操作系統(tǒng)36,例如在每次啟動(dòng)時(shí)、作為系統(tǒng)安裝的一部分、或者通過硬編碼(hard-coding)。操作系統(tǒng)36典型地被設(shè)計(jì)為包括特定用于例如圖形卡的輸出設(shè)備的軟件“驅(qū)動(dòng)器”。當(dāng)用戶安裝新的圖形卡時(shí),部分安裝進(jìn)程將包括將圖形卡驅(qū)動(dòng)程序下載到系統(tǒng)上。這些驅(qū)動(dòng)程序通常是特定用于具體的操作系統(tǒng),和具體的款號和型號的圖形卡。驅(qū)動(dòng)程序通常是在CD-Rom上分配給圖形卡,但通常也可以在線獲取。
注意本發(fā)明不要求對關(guān)于圖1所描述的圖形卡20和顯示器14作任何改變。如果軟件應(yīng)用程序32不了解可用的層也沒有能力請求使用特定的視頻硬件層,它也可以和軟件應(yīng)用程序12相同。
接收到繪制請求時(shí),操作系統(tǒng)36處理該請求并通過操作系統(tǒng)36的API 34和圖形卡20的API 22向圖形卡20發(fā)送適當(dāng)?shù)闹噶睢Ec圖1的系統(tǒng)中操作系統(tǒng)36不了解圖形卡20的硬件層24不同,本發(fā)明情況下操作系統(tǒng)36了解硬件層24,并在API 34內(nèi)具有對圖形卡20的驅(qū)動(dòng)程序進(jìn)行補(bǔ)充的驅(qū)動(dòng)程序。因此,繪制請求被送往操作系統(tǒng)36所確定的層——在有些情況下該視頻硬件層將是由希望繪制圖像、字符或向量的軟件應(yīng)用程序32確定的,但是在其它情況下將由操作系統(tǒng)36本身使用所發(fā)出的事件的幾何形狀、繪圖靈敏區(qū)域的幾何形狀和數(shù)據(jù)的優(yōu)先級做出該決定。這使得能夠控制哪些成分被定位地傳送到哪些區(qū)域。
例如,典型的示例將具有告警描繪,其在一個(gè)區(qū)域上定位地發(fā)生,該區(qū)域與具有比其它視頻面更高的優(yōu)先級的層有關(guān),保證該告警信號在組合顯示上示出的所有其它內(nèi)容、氣候數(shù)據(jù)或電影之上是可見的。
圖像的這些層都單獨(dú)地保存在圖形卡20上并被無破壞地結(jié)合成單個(gè)合成圖像。該合成的視頻圖像隨后被圖形卡20發(fā)送到顯示屏14用于放映。
本發(fā)明的系統(tǒng)允許圖形卡硬件層被任何第三方應(yīng)用程序軟件利用,不管它是否了解底層的硬件層。它還提供統(tǒng)一的接口,這樣軟件應(yīng)用程序并不需要知道具體圖形卡的細(xì)節(jié)。本發(fā)明的其它優(yōu)點(diǎn)將從隨后的本發(fā)明的更具體的說明中變得清楚。
雖然本發(fā)明實(shí)際上可以在任何操作系統(tǒng)上實(shí)現(xiàn),但是本發(fā)明的優(yōu)選實(shí)施方式將關(guān)于QNXTMRTOS(實(shí)時(shí)操作系統(tǒng))上運(yùn)行的PhotonTM窗口系統(tǒng)來描述。本領(lǐng)域技術(shù)人員從本文的詳細(xì)說明中將清楚為將本發(fā)明應(yīng)用于其它操作系統(tǒng)所需要的變化。
在本發(fā)明的一個(gè)實(shí)施方式中的Photon事件空間和QNX操作系統(tǒng)環(huán)境50的符號的可視化在圖3中示出。
QNX操作系統(tǒng)是“消息傳遞操作系統(tǒng)”。這意味著包括軟件應(yīng)用程序、操作系統(tǒng)本身和視窗型GUI(圖形用戶接口)軟件的所有的軟件,都在系統(tǒng)上作為分離的軟件進(jìn)程運(yùn)行。這些軟件進(jìn)程被表示為圖3的部分52中的模塊。消息傳遞是這些軟件進(jìn)程之間的進(jìn)程間通信(IPC)的基本手段。消息是從一個(gè)進(jìn)程傳遞到另一個(gè)進(jìn)程而沒有特定意義被附加到消息的內(nèi)容中的字節(jié)包。消息中的數(shù)據(jù)對消息的發(fā)送者和它的接收者有意義,但通常對其它設(shè)備沒有意義。
Photon環(huán)境50提供三維虛擬“事件空間”54,用戶60可以被想象為處于這個(gè)空間之外,正在向其中看。Photon環(huán)境50限定自己只管理應(yīng)用程序擁有的“區(qū)域”,并當(dāng)各種“事件”流過這個(gè)事件空間54中的區(qū)域時(shí)對它們執(zhí)行修剪和操縱。軟件應(yīng)用程序能夠?qū)^(qū)域放進(jìn)這個(gè)事件空間54中,它對可能經(jīng)過其的各種類型的事件是敏感的、不透明的、或兩者都有。
軟件應(yīng)用程序能夠通過相應(yīng)的軟件進(jìn)程自身擁有的這些矩形區(qū)域中的一個(gè)或多個(gè)在Photon環(huán)境50上施加影響。例如,一個(gè)Photon應(yīng)用程序56會(huì)產(chǎn)生區(qū)域58。區(qū)域也能夠發(fā)射和收集稱為事件的對象。這些事件能夠以兩種方向中的任一種穿過事件空間54(即,或者朝向或者背離用戶60的方向)。當(dāng)事件穿過事件空間54時(shí),它們與其它區(qū)域相互作用——這就是軟件應(yīng)用程序之間如何互相作用的。當(dāng)事件穿過事件空間54時(shí),區(qū)域是固定的。
當(dāng)事件流過事件空間54時(shí),它的矩形集合與其它軟件進(jìn)程放進(jìn)事件空間54內(nèi)的區(qū)域相交。當(dāng)這種情況發(fā)生時(shí),操作系統(tǒng)根據(jù)與該事件相交的區(qū)域的屬性來調(diào)整該事件的矩形集合。
各事件屬于不同的類別并具有不同的屬性。事件被根據(jù)始發(fā)區(qū)域、種類、方向、矩形的附表以及隨意地根據(jù)一些事件特定的數(shù)據(jù)來定義。事件被用來代表下列的按鍵、鍵盤狀態(tài)信息;鼠標(biāo)鍵的按下和釋放;指針運(yùn)動(dòng)(是否伴隨著鼠標(biāo)鍵被按下);區(qū)域邊界交叉;區(qū)域被暴露或覆蓋;拖動(dòng)操作;以及繪制功能。
圖形驅(qū)動(dòng)程序64的正常操作是在Photon的事件空間54內(nèi)以和物理顯示設(shè)備14相同的尺度和敏感度創(chuàng)建一個(gè)區(qū)域用來繪制事件。任何從圖形驅(qū)動(dòng)程序的區(qū)域的底層的區(qū)發(fā)出事件(例如,輸出事件66)的軟件應(yīng)用程序,將使得它的事件與圖形驅(qū)動(dòng)程序的區(qū)域相交,并且該事件的數(shù)據(jù)將被傳送給圖形驅(qū)動(dòng)程序。圖形驅(qū)動(dòng)程序64使用從繪制事件(Photon繪制流)得到的數(shù)據(jù)來將需要的圖形傳給視頻硬件20,并繼續(xù)傳到物理顯示設(shè)備14。
區(qū)域有兩種屬性,當(dāng)事件和一個(gè)區(qū)域相交時(shí)這兩種屬性控制這些事件將被如何處理敏感度和不透明性。如果區(qū)域?qū)μ囟愋偷氖录舾校瑒t該區(qū)域的所有者把與該區(qū)域相交的那種類型的任何事件收集一副本。敏感度屬性既不修改事件的矩形集合也不影響事件繼續(xù)流過事件空間的能力。對特定事件類型不透明的區(qū)域阻擋部分該類型的事件的矩形集合在事件空間中進(jìn)一步行進(jìn)。如果區(qū)域?qū)κ录愋褪遣煌该鞯?,任何與該區(qū)域相交的那種類型的事件都要調(diào)整其矩形集合,剪除該相交區(qū)。如果該事件由于與不透明區(qū)域的相交被完全剪除,該繪制事件將不再存在。
下表總結(jié)了區(qū)域的屬性如何影響與該區(qū)域相交的事件

通過將一塊區(qū)域放置穿過整個(gè)事件空間,進(jìn)程能夠攔截并修改任何穿過該區(qū)域的事件。如果區(qū)域是敏感的而且不透明的,它能夠選擇重新發(fā)射該事件修改過的版本。
被稱做根部區(qū)域62(root region)的特定區(qū)域總是離用戶60最遠(yuǎn)的區(qū)域。所有其它區(qū)域以某種方式從根部區(qū)域62延伸下來。一旦從用戶60出發(fā)的事件行進(jìn)到達(dá)根部區(qū)域62,它就不再存在。
本發(fā)明將這個(gè)概念擴(kuò)展為允許軟件應(yīng)用程序傳到在Photon的事件空間中沒有物理顯示的“屏幕外環(huán)境”或“視頻面”。為達(dá)到這個(gè)目的,圖形驅(qū)動(dòng)程序在視頻面被創(chuàng)建的時(shí)刻提供的標(biāo)識符被插入繪制流,它唯一地識別該視頻面。這樣圖形驅(qū)動(dòng)程序就能夠直接將繪制請求傳到被識別的視頻面內(nèi)。
換句話說,軟件應(yīng)用程序能夠發(fā)起在Photon事件空間54中發(fā)出輸出事件的軟件進(jìn)程。該輸出事件可包括表示輸出事件將要被送往哪個(gè)視頻層的標(biāo)志符。圖形驅(qū)動(dòng)程序通過生成被請求的視頻面,包括視頻面標(biāo)志符,來響應(yīng)標(biāo)志符的存在,以便于交付到該面內(nèi)。
包含將被指向特定的視頻面的繪制流的事件可以被直接發(fā)送到圖形驅(qū)動(dòng)程序的區(qū)域。換句話說,可以直接將指向特定視頻面的繪制流交給圖形驅(qū)動(dòng)程序而不需要穿過Photon事件空間54,消除了阻止一些或全部繪制事件矩形的區(qū)域的可能性。
為提供對硬件層的透明接入,將兩種觀點(diǎn)合并1.加入了用于圖形驅(qū)動(dòng)程序的設(shè)備,以在Photon的事件空間54內(nèi)創(chuàng)建驅(qū)動(dòng)程序區(qū)域,其將該區(qū)域上收集的任何繪制流傳給一個(gè)視頻面(即,驅(qū)動(dòng)程序區(qū)域作為收集者,與其敏感性相匹配的事件被傳送到圖形驅(qū)動(dòng)程序);以及
2.還加入了將屏幕外環(huán)境或者視頻面與圖形卡上的該層硬件相聯(lián)系的能力。
通過提供API和支持允許軟件應(yīng)用程序查詢可用的硬件層的數(shù)量的驅(qū)動(dòng)程序,確定每個(gè)硬件層支持的性能,創(chuàng)建與硬件層所強(qiáng)制的任何限制相匹配的屏幕外環(huán)境/視頻面,請求要被創(chuàng)建在Photon空間內(nèi)的驅(qū)動(dòng)程序區(qū)域指向該面,最后,將該面與分層硬件的平面聯(lián)系起來并配置該分層硬件的性能,不需要以任何方式修改該軟件應(yīng)用程序甚至也不需要軟件應(yīng)用程序知道視頻硬件層的存在,任何軟件應(yīng)用程序都能夠接入層。
配置應(yīng)用程序建立起視頻面、驅(qū)動(dòng)程序區(qū)域、面與層的關(guān)聯(lián)、以及多層屬性。一旦完成,位于配置應(yīng)用程序所請求的驅(qū)動(dòng)程序區(qū)域內(nèi)的任何軟件應(yīng)用程序,將傳給被該驅(qū)動(dòng)程序區(qū)域指向的面,接著通過分層硬件傳給主顯示。
圖4示出了這個(gè)概念的示例性的圖形表示。注意層將會(huì)把與其有關(guān)的視頻面的內(nèi)容合并為主顯示(當(dāng)層是圖形卡上的固件實(shí)體時(shí),視頻面是在系統(tǒng)的操作系統(tǒng)一側(cè)上被管理的軟件實(shí)體);視頻面可與層有關(guān)也可以無關(guān);軟件應(yīng)用程序能夠發(fā)射指向特定視頻面的繪制流或者不考慮多個(gè)視頻面的存在的繪制流;如果該繪制不被指向特定的視頻面,該事件流過Photon事件空間并將通過任何對與這些事件相交的繪制敏感的區(qū)域收集起來;以及如果繪制被指向特定的視頻面,繪制事件被直接傳送給由擁有被指向的視頻面的驅(qū)動(dòng)程序所創(chuàng)建的區(qū)域,繞過穿過在其中其它區(qū)域能夠阻止或修改繪制事件的Photon事件空間的正常事件傳播。
多個(gè)驅(qū)動(dòng)程序區(qū)域能夠被單一一個(gè)驅(qū)動(dòng)程序放進(jìn)Photon的事件空間,這個(gè)驅(qū)動(dòng)程序指向除了與主顯示相關(guān)的視頻面的視頻面。這實(shí)際上導(dǎo)致該區(qū)域下的任何軟件應(yīng)用程序傳到與該驅(qū)動(dòng)程序區(qū)域相關(guān)的視頻面,而不管該軟件應(yīng)用程序是否知道該繪制最終要到哪里去。
如果這樣一個(gè)區(qū)域正指向與層相關(guān)的視頻面,來自驅(qū)動(dòng)程序區(qū)域下的軟件應(yīng)用程序的繪制命令將被傳給該視頻面并被該層組合。
因此,軟件應(yīng)用程序不是明確地傳給層;它們或者穿過Photon空間傳到任何捕獲該繪制者,或者傳到特定的視頻面。視頻面已經(jīng)與層聯(lián)系起來的事實(shí)并不影響在繪制時(shí)軟件應(yīng)用程序所使用的命令/API。
在圖4中,軟件應(yīng)用程序APP1正在穿過Photon事件空間80進(jìn)行繪制。其繪制與指向同主顯示(圖形卡上的頂部硬件層)相關(guān)的視頻面84的驅(qū)動(dòng)程序區(qū)域82相交。也就是說,視頻驅(qū)動(dòng)程序94從區(qū)域82接收到的任何繪制事件都將被傳給面84。
軟件應(yīng)用程序APP2正在用與APP1同樣的方法進(jìn)行繪制,但是它的繪制與指向或者與視頻面88相關(guān)的驅(qū)動(dòng)程序區(qū)域86相交。這個(gè)視頻面88與圖形卡上的另一層相關(guān)。
軟件應(yīng)用程序APP3正在用與APP1和APP2同樣的方法進(jìn)行繪制,但是APP3有意地將其繪制目標(biāo)設(shè)置為視頻面90。使用的機(jī)構(gòu)將APP3的繪制流直接發(fā)送給主面區(qū)域。繪制流具有告知事件的收集者、圖形驅(qū)動(dòng)程序,繪制流在這種情況下應(yīng)該被傳給視頻面90的標(biāo)志符。在圖4中,視頻面90與第三層相關(guān)。
再次注意,軟件應(yīng)用程序正傳送給視頻面,而不是特定地傳給圖形卡上的層。視頻面88和90可能輕易不具有層關(guān)聯(lián)。對于在該情況下將要被看到的那些面的內(nèi)容,它們將不得不以位圖傳送到與視頻面84相關(guān)的層。
圖形卡上的層硬件92操縱視頻面84、88、90并將它們拖入圖形輸送管線以生成在圖形顯示設(shè)備14上看到的合成的顯示。如本領(lǐng)域中所已知的,視頻面84、88、90被簡單地定義為視頻硬件的視頻存儲(chǔ)器96內(nèi)的區(qū)域。
第三方軟件應(yīng)用程序的軟件進(jìn)程所生成的繪制指令由此可以位于這些視頻面84、88、90的任何一個(gè)之中并被相應(yīng)處理。
在本發(fā)明的優(yōu)選實(shí)施方式中,在圖4示出的Photon事件空間中的視頻層和圖形驅(qū)動(dòng)程序區(qū)域的配置是由稱為“配置應(yīng)用程序”的分離的軟件進(jìn)程生成的。該配置應(yīng)用程序能夠,例如,執(zhí)行如圖5所示的流程圖中呈現(xiàn)的步驟來建立這個(gè)環(huán)境。
在步驟100,配置應(yīng)用程序向圖形驅(qū)動(dòng)程序查詢特定的物理顯示設(shè)備14,查詢可用的硬件層的數(shù)量。圖形驅(qū)動(dòng)程序是專用于圖形卡20的,但是所有具有多層支持的Photon驅(qū)動(dòng)程序具有用于層硬件的查詢和控制的相同的接口。
配置應(yīng)用程序接下來在步驟102向圖像驅(qū)動(dòng)程序查詢每個(gè)視頻層的性能。該信息將包含例如每個(gè)視頻層的尺度、顏色的數(shù)量、維度、分辨率、比例因子、虛擬維度限制、色度鍵、阿爾法混合性能、及經(jīng)該特定環(huán)境的其它參數(shù)的參數(shù)。
裝備有來自圖形驅(qū)動(dòng)程序的這條信息,配置應(yīng)用程序接著在步驟104生成所需數(shù)量的視頻面(稱作Photon中的“屏幕外環(huán)境”),并在步驟106基于可用的硬件層的數(shù)目和能力配置相應(yīng)的層。
接下來在步驟108配置應(yīng)用程序隨意地將那些驅(qū)動(dòng)程序區(qū)域放入Photon事件空間80內(nèi)。這個(gè)步驟是隨意的,因?yàn)椴⒉黄谕麑⑺序?qū)動(dòng)程序區(qū)域放入Photon事件空間80內(nèi)(用于視頻面的Photon空間內(nèi)的驅(qū)動(dòng)程序區(qū)域的缺少防止了沒有特定意圖傳給該面的軟件應(yīng)用程序無意中這樣做)。如上文注明的,可能期望將一些繪制請求直接發(fā)送給特定的視頻層而不必穿過Photon事件空間80,避免某些繪制請求被其它區(qū)域修改或阻礙的可能性。
例如,可能需要配置一個(gè)層來向用戶顯示告警條件。該層可建立在Photon事件空間80之外以保證這些告警條件無論如何都將被顯示給用戶60。
在這一點(diǎn)上,該系統(tǒng)目前被配置以便利用圖形卡的硬件層性能。
隨后配置應(yīng)用程序能夠終止,Photon系統(tǒng)如上文來配置。任何被置于指向與層關(guān)聯(lián)的視頻面的圖形卡驅(qū)動(dòng)程序區(qū)域下的第三方軟件應(yīng)用程序都將實(shí)際地傳到該層。第三方軟件應(yīng)用程序甚至不必知道這些層不需要在多層系統(tǒng)中有任何改變即可存在。
在這一點(diǎn)上,從連接到與層關(guān)聯(lián)的視頻面的驅(qū)動(dòng)程序區(qū)域下作出的任何應(yīng)用程序?qū)鞯皆搶觾?nèi),并且硬件將基于對該層屬性的配置來組合產(chǎn)生最終顯示的結(jié)果。
應(yīng)該注意的是從連接到視頻面的驅(qū)動(dòng)程序區(qū)域內(nèi)傳來的任何軟件應(yīng)用程序都將交付到該視頻面內(nèi)。沒必要把該視頻面也連接到分層硬件。例如,屏幕保護(hù)程序可以請求在1024,768至2047,1535創(chuàng)建驅(qū)動(dòng)程序區(qū)域并將這塊區(qū)域與將在0,0操作和顯示的視頻面聯(lián)系起來。結(jié)果將是屏幕保護(hù)程序使用控制臺5上的軟件應(yīng)用程序的內(nèi)容,采取1024×768的分辨率,來生成其顯示內(nèi)容。
在Photon事件空間中的默認(rèn)的窗口管理布局如圖6所示。顯示框架是由“多個(gè)控制臺”組成的,其中,從控制臺1向右一個(gè),向下一個(gè),就是控制臺5。
系統(tǒng)一經(jīng)配置好,就可以用圖7中的流程圖所示的方式來處理繪制請求。這個(gè)流程圖已經(jīng)被簡化以便示范該處理流程,而不代表如何構(gòu)建實(shí)際的軟件代碼。例如,操作系統(tǒng)的真實(shí)實(shí)現(xiàn)通常不包括關(guān)于步驟120所示的“否”循環(huán)。操作系統(tǒng)一般對中斷的到達(dá)、功能調(diào)用的發(fā)布、或?qū)χ芷谛缘妮喸兊捻憫?yīng)作出響應(yīng),而不是在處理循環(huán)中停留來等待響應(yīng)。但是,本領(lǐng)域技術(shù)人員從本發(fā)明的說明書這種簡單化的方法中將會(huì)清楚本發(fā)明的實(shí)際軟件代碼的實(shí)現(xiàn)。
在步驟120,當(dāng)繪制事件被接收時(shí),或者簡單地,任何要將圖像、向量或字符傳給物理顯示器的請求被接收時(shí),控制傳到步驟122。在步驟122,該例程確定繪制請求是否被標(biāo)記為用于特定的視頻硬件層。如果它沒有被標(biāo)記,則經(jīng)步驟124繪制事件被發(fā)送穿過Photon事件空間80。在步驟125,這個(gè)事件接著被傳送到Photon事件空間80內(nèi)的各區(qū)域。繪制事件將被分派給哪個(gè)區(qū)域是由繪制事件源的幾何形狀決定的。如上文所記錄的,例如,可能期望向具有比視頻圖像更高優(yōu)先級的區(qū)域發(fā)送告警信號顯示。事實(shí)上,為了實(shí)現(xiàn)常規(guī)的分層接口,能夠控制繪制事件最終對哪些面/層產(chǎn)生影響是必要的。
如果在步驟122,繪制事件被識別以被送往特定的視頻面,則它被直接傳給圖形區(qū)域而不需要從發(fā)射器區(qū)域穿過Photon空間。如上文參考圖5的步驟108所述,可能需要將一些繪制請求直接傳給特定的硬件層,避免繪制請求被另一區(qū)域阻礙或者修改的可能性。如果打算將繪制請求用于Photon事件空間80,則控制進(jìn)行到步驟124,但是如果打算將繪制請求直接供給硬件層,控制進(jìn)行到步驟130。
在步驟132,整個(gè)Photon事件空間80參考圖3和4所述來被處理。這導(dǎo)致繪制事件在Photon事件空間80內(nèi)被處理并且可能被投射到一個(gè)或多個(gè)圖形驅(qū)動(dòng)程序區(qū)域。
這些圖形驅(qū)動(dòng)程序區(qū)域與特定的視頻硬件層相關(guān),因此在步驟134被交付給那些視頻硬件層。如果繪制事件已經(jīng)被送到步驟130,則它將繞過所有繪制源和驅(qū)動(dòng)程序區(qū)域之間的中間區(qū)域而且不考慮繪制源或接收驅(qū)動(dòng)程序區(qū)域的幾何形狀,而被簡單地直接發(fā)射給Photon事件空間80中的驅(qū)動(dòng)程序區(qū)域。該繪制接著被傳給期望的硬件層134。
在步驟136,接下來視頻硬件層被圖形卡處理并被呈現(xiàn)在物理顯示屏上??刂平酉聛砘氐讲襟E120,等待其它繪制事件的到來。
以這種方式布置的系統(tǒng)允許第三方軟件應(yīng)用程序利用圖形卡中的視頻硬件層支持,甚至不需知道這些硬件層的存在。這種系統(tǒng)可允許,例如,電視顯示器在pip(畫中畫)窗口中支持計(jì)算機(jī)顯示或者電子郵件。電子郵件特征可以是在一個(gè)分離的層上的電視機(jī)所顯示的標(biāo)準(zhǔn)電子郵件應(yīng)用,以便允許用戶對電子郵件應(yīng)用程序進(jìn)行可配置的透明控制(以求在運(yùn)動(dòng)事件期間不將分?jǐn)?shù)混淆得太嚴(yán)重)。類似地,獨(dú)立的繪圖應(yīng)用能夠被放在一個(gè)層之上,并且汽車信息(行車計(jì)算機(jī)(tripcomputer)信息、hvac(供暖、通風(fēng)和空氣調(diào)節(jié))設(shè)置等等)能夠被顯示在對系統(tǒng)的微處理器影響最小的圖上。
在展示并描述本發(fā)明的具體實(shí)施方式
時(shí),很明顯可以對這些實(shí)施方式進(jìn)行改變和修改而不會(huì)超出本發(fā)明的真實(shí)范圍和精神。
本發(fā)明的方法步驟可以以例如目標(biāo)代碼或者源代碼的多種格式存儲(chǔ)的可執(zhí)行機(jī)器代碼集合中實(shí)施。為了簡便,在本文中這種代碼通常被描述為編程代碼或者軟件代碼。很明顯,可執(zhí)行的機(jī)器代碼可以與其它程序的代碼相結(jié)合,作為子程序通過外部程序調(diào)用或者本領(lǐng)域已知的其它技術(shù)來執(zhí)行。
本發(fā)明的實(shí)施方式可以被計(jì)算機(jī)處理器或者可以用方法步驟的方式編程的類似的設(shè)備執(zhí)行,或者可以由被裝備來執(zhí)行這些步驟的裝置的電子系統(tǒng)來執(zhí)行。微處理器、數(shù)字信號處理器(DPS)、微控制器和專用集成電路(ASIC)是有這種執(zhí)行能力的設(shè)備的典型例子。類似地,電子存儲(chǔ)器介質(zhì),如計(jì)算機(jī)磁盤、CD-Rom、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)或者本領(lǐng)域中已知的類似的計(jì)算機(jī)軟件存儲(chǔ)介質(zhì),可被用于保存執(zhí)行本發(fā)明的方法所需的軟件代碼。同樣,表示這些方法步驟的電子信號也可以通過通信網(wǎng)絡(luò)傳送。
權(quán)利要求
1.一種在計(jì)算機(jī)系統(tǒng)中管理視頻顯示的方法,所述計(jì)算機(jī)系統(tǒng)包括圖形卡、視頻顯示器和操作系統(tǒng),所述計(jì)算機(jī)系統(tǒng)用于運(yùn)行軟件應(yīng)用程序,所述圖形卡用于將圖像傳給所述視頻顯示器,所述方法包括以下步驟通過所述操作系統(tǒng)的通用的應(yīng)用程序編程接口(API)從所述軟件應(yīng)用程序接收繪制事件,所述接口支持圖形卡上的硬件層;確定所述圖形卡上的可用硬件層,以及它們的參數(shù);所述操作系統(tǒng)將所述繪制請求選擇性地傳送給對應(yīng)所述圖形卡上的所述可用硬件層的特定的層的視頻層;以及所述圖形卡將所述視頻層上的數(shù)據(jù)映射到所述可用硬件層的特定的層上,用于在所述視頻顯示器上顯示;由此所述軟件應(yīng)用程序能夠利用所述圖形卡上的可用硬件層,而不需要知道它們的存在。
2.如權(quán)利要求1所述的方法,其中所述傳送步驟包括通過把所述繪制請求傳送給所述特定的視頻層來響應(yīng)包括特定的視頻層的識別的所述繪制請求的步驟。
3.如權(quán)利要求2所述的方法,其中所述傳送步驟包括通過確定所述繪制請求應(yīng)該被傳送給哪個(gè)視頻層并從而傳送所述繪制請求來響應(yīng)不識別特定的視頻層的所述繪制請求的步驟。
4.如權(quán)利要求3所述的方法,其中所述確定步驟包括根據(jù)所述繪制請求的幾何形狀和繪制敏感區(qū)域的幾何形狀來選擇所述繪制請求要被送往的視頻層。
5.如權(quán)利要求3所述的方法,其中所述圖形卡包括用于無破壞地保存視頻層數(shù)據(jù)的存儲(chǔ)器。
6.如權(quán)利要求5所述的方法,進(jìn)一步包括的步驟有構(gòu)造三維事件空間,定義用于管理繪制事件和軟件區(qū)域的坐標(biāo)系統(tǒng),每個(gè)所述軟件區(qū)域被定義為所述三維事件空間內(nèi)的平面區(qū)域并且每個(gè)所述繪制事件被定義為所述三維事件空間內(nèi)的向量,所述軟件區(qū)域被選擇性地配置為響應(yīng)穿過所述軟件區(qū)域的繪制事件。
7.如權(quán)利要求6所述的方法,其中所述繪制事件包括在所述視頻顯示器上顯示圖像、向量或字符的請求。
8.如權(quán)利要求7所述的方法,其中每個(gè)所述軟件區(qū)域都包括所述三維事件空間的尺度和位置參數(shù)。
9.如權(quán)利要求8所述的方法,其中所述圖形驅(qū)動(dòng)程序的尺度等于物理顯示器的尺度。
10.如權(quán)利要求8所述的方法,其中所述三維事件空間中的根部區(qū)域的尺度比所述視頻顯示器的尺度大,允許繪制請求被傳到屏幕外環(huán)境。
11.如權(quán)利要求8所述的方法,其中所述計(jì)算機(jī)系統(tǒng)上運(yùn)行的每個(gè)軟件應(yīng)用程序都與所述三維事件空間中的區(qū)域相關(guān)。
12.如權(quán)利要求11所述的方法,其中所述軟件區(qū)域中的至少一個(gè)是適合于所述圖形卡的圖形驅(qū)動(dòng)程序。
13.如權(quán)利要求12所述的方法,其中所述軟件區(qū)域中的兩個(gè)或多個(gè)是圖形驅(qū)動(dòng)程序,并且所述兩個(gè)或多個(gè)圖形驅(qū)動(dòng)程序在所述空間內(nèi)是不相重疊的,所述兩個(gè)或多個(gè)圖形驅(qū)動(dòng)程序是與分離的圖形硬件層相關(guān)的。
14.如權(quán)利要求5所述的方法,進(jìn)一步包括根據(jù)所述圖形卡上的相關(guān)的硬件層的參數(shù)生成驅(qū)動(dòng)程序區(qū)域的步驟。
15.如權(quán)利要求5所述的方法,進(jìn)一步包括步驟使用配置應(yīng)用程序來配置視頻面、驅(qū)動(dòng)程序區(qū)域、面與層的關(guān)聯(lián)、以及層屬性。
16.一種管理視頻顯示的方法,包括的步驟有使用配置應(yīng)用程序來配置視頻面、驅(qū)動(dòng)程序區(qū)域、面與層的關(guān)聯(lián)、以及層屬性,包括確定圖形卡上的可用硬件層,以及它們的參數(shù);通過以下步驟響應(yīng)于通過操作系統(tǒng)的通用API繪制事件的接收確定所述繪制請求是否被標(biāo)記用于特定的視頻層,并且如果被標(biāo)記了,將所述繪制請求傳給所述特定的視頻層,否則,在Photon事件空間內(nèi)處理所述繪制請求;所述Photon事件空間定義具有至少三個(gè)維度的事件空間并顯示所述多個(gè)程序的操作環(huán)境、所述事件空間在所述事件空間的第一端有根部平面,以及其中,每組特性包括尺度特性和位置特性,所述尺度特性表示所述事件空間中的平面區(qū)的一組尺度,所述位置特性表示所述事件空間中的所述平面區(qū)的位置并且相對于所述事件空間內(nèi)的至少一個(gè)第二平面區(qū);以及所述圖形卡將所述視頻層上的數(shù)據(jù)映射到所述可用硬件層之中的特定層上,用于在所述視頻顯示器上顯示。
17.如權(quán)利要求16所述的方法,其中所述配置步驟包括由配置應(yīng)用程序所執(zhí)行的步驟向圖形驅(qū)動(dòng)程序查詢特定的顯示和可用硬件層的數(shù)目;向所述圖形驅(qū)動(dòng)程序查詢每個(gè)視頻層的性能;生成所需視頻面的數(shù)量,以及基于所述可用硬件層的數(shù)量和性能配置相應(yīng)的層。
18.如權(quán)利要求17所述的方法,進(jìn)一步包括將視頻面定義為直接與特定的硬件層相關(guān)的步驟。
19.如權(quán)利要求18所述的方法,其中所述響應(yīng)步驟包括以下步驟響應(yīng)于從軟件應(yīng)用程序接收到的事件,所述第一事件信號具有事件類型和區(qū)性質(zhì),所述區(qū)性質(zhì)在所述事件空間內(nèi)定義事件區(qū);確定所述事件區(qū)是否與第一程序區(qū)相交,所述第一程序區(qū)被定義在所述事件空間內(nèi)并對應(yīng)于所述第一程序,如果為是,則執(zhí)行下列步驟通過測試所述事件類型來確定所述第一程序是否對所述第一事件信號敏感,如果為是,向所述第一程序發(fā)送輸出信號,所述輸出信號包括對應(yīng)所述第一事件信號的信息,以及通過測試所述事件類型來確定所述第一程序是否要修改所述第一事件信號,如果為是,通過從所述事件區(qū)將所述第一程序區(qū)剪除來修改所述區(qū)性質(zhì)。
20.一種計(jì)算機(jī)系統(tǒng),包括計(jì)算機(jī);安裝在所述計(jì)算機(jī)內(nèi)的圖形卡;電氣上連接到所述圖形卡的視頻顯示器;在所述計(jì)算機(jī)上運(yùn)行的軟件應(yīng)用程序;以及在所述計(jì)算機(jī)上運(yùn)行的操作系統(tǒng),所述操作系統(tǒng)包括支持所述圖形卡上的硬件層的通用應(yīng)用程序編程接口(API);所述操作系統(tǒng)可操作用來通過所述通用API接收繪制事件;確定所述圖形卡上的可用硬件層,以及所述硬件層的參數(shù);以及通過將繪制請求選擇性地傳送給所述圖形卡上所述可用硬件層之中的特定層響應(yīng)于來自所述軟件應(yīng)用程序的繪制請求;以及所述圖形卡用來將所述視頻層上的數(shù)據(jù)映射到所述可用硬件層之中的特定層上,用于在所述視頻顯示器上顯示;由此所述計(jì)算機(jī)環(huán)境允許軟件應(yīng)用程序利用所述圖形卡上的可用硬件層。
21.如權(quán)利要求20所述的計(jì)算機(jī)系統(tǒng),其中所述操作系統(tǒng)進(jìn)一步用于通過將所述繪制請求傳送給所述特定硬件層來響應(yīng)包括特定硬件層的識別的繪制請求。
22.如權(quán)利要求20所述的計(jì)算機(jī)系統(tǒng),其中所述操作系統(tǒng)進(jìn)一步用于構(gòu)建三維Photon事件空間,定義用于管理繪制事件和軟件區(qū)域的坐標(biāo)系統(tǒng);每個(gè)所述軟件區(qū)域都被定義為所述三維事件空間內(nèi)的平面區(qū)域;以及每個(gè)所述繪制事件被定義為所述三維事件空間內(nèi)的向量;所述軟件區(qū)域被選擇性地配置以響應(yīng)穿過所述軟件區(qū)域的繪制事件。
23.如權(quán)利要求20所述的計(jì)算機(jī)系統(tǒng),其中所述操作系統(tǒng)進(jìn)一步用來創(chuàng)建與所述圖形卡上的硬件層關(guān)聯(lián)的驅(qū)動(dòng)程序區(qū)域。
24.如權(quán)利要求22所述的計(jì)算機(jī)系統(tǒng),其中在所述系統(tǒng)上運(yùn)行的每個(gè)軟件應(yīng)用程序都與所述Photon事件空間內(nèi)的一個(gè)區(qū)域相聯(lián)系。
25.如權(quán)利要求20所述的計(jì)算機(jī)系統(tǒng),其中所述操作系統(tǒng)進(jìn)一步用于根據(jù)相關(guān)的硬件層的參數(shù)來定義驅(qū)動(dòng)程序區(qū)域。
全文摘要
本發(fā)明通常涉及計(jì)算機(jī)圖形學(xué),更具體地涉及用于配置、控制和接入用于組成一個(gè)視頻顯示的多個(gè)硬件圖形層的方法和系統(tǒng)。本發(fā)明一方面被廣義地如下定義在包括軟件應(yīng)用程序和在計(jì)算機(jī)上運(yùn)行的操作系統(tǒng)的計(jì)算機(jī)環(huán)境中,計(jì)算機(jī)包括圖形卡和視頻顯示器,圖形卡可操作用于將圖像傳給視頻顯示器,改進(jìn)包括所述操作系統(tǒng)包括支持圖形卡上的硬件層的通用應(yīng)用程序編程接口(API);操作系統(tǒng)可操作用于通過所述通用API接收繪制事件;確定所述圖形卡上的可用硬件層,以及它們的參數(shù);并通過將所述繪制請求選擇性地傳給任意的所述圖形卡上的可用硬件層來響應(yīng)來自軟件應(yīng)用程序的繪制請求;由此所述計(jì)算機(jī)環(huán)境允許軟件應(yīng)用程序利用所述圖形卡上的可用硬件層。
文檔編號G06F9/44GK1770129SQ20051009349
公開日2006年5月10日 申請日期2005年8月30日 優(yōu)先權(quán)日2004年8月30日
發(fā)明者D·弗里, A·林, D·多諾霍 申請人:Qnx軟件操作系統(tǒng)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
苏尼特左旗| 汽车| 祁门县| 洛阳市| 临湘市| 望江县| 德令哈市| 佳木斯市| 天峨县| 辽宁省| 台东市| 卓资县| 甘德县| 西吉县| 锡林郭勒盟| 唐山市| 体育| 凌海市| 台北市| 剑河县| 安国市| 宣武区| 景德镇市| 镶黄旗| 黄浦区| 永修县| 昌宁县| 电白县| 庆安县| 天镇县| 武乡县| 滦平县| 沂南县| 姚安县| 北辰区| 芷江| 化州市| 辽宁省| 休宁县| 西充县| 大化|