專利名稱:面向目標(biāo)的視頻結(jié)構(gòu)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及具有輸出設(shè)備的計(jì)算機(jī)系統(tǒng),尤其涉及可連接到不同類型和數(shù)量的顯示設(shè)備以獲取兼容性并改進(jìn)性能的一致性和用戶方便性的計(jì)算機(jī)系統(tǒng)。
顯示設(shè)備長期以來是計(jì)算機(jī)和各種交互數(shù)據(jù)處理系統(tǒng)以及與用戶交互的數(shù)據(jù)處理系統(tǒng)的最佳輸出設(shè)備,顯示可快速改變并能向用戶展示大量信息,這些信息可能與數(shù)據(jù)處理系統(tǒng)的操作和運(yùn)行于其中的應(yīng)用程序以及由用戶輸入和處理的數(shù)據(jù)操作有關(guān)。
為使用戶易于理解這類信息,高分辨率的彩色顯示器被廣泛使用并由許多廠家生產(chǎn)。雖然工業(yè)界對此有一些標(biāo)準(zhǔn),但性能的一致性或在數(shù)據(jù)處理器、運(yùn)行于其中的應(yīng)用程序和與其相連的輸出設(shè)備之間的兼容性相對不同輸出設(shè)備而言是不夠的。例如,為獲取打印機(jī)的兼容性和性能一致性,軟件開發(fā)商和供應(yīng)商要為不同的打印機(jī)提供驅(qū)動(dòng)程序以便控制由應(yīng)用程序處理的文件的內(nèi)容。但是,可以理解在打印機(jī)之間獲取一致性的程度比顯示設(shè)備而言要直接的多,其原因在于許多打印機(jī)是單色的而且包括其自己的常駐標(biāo)準(zhǔn)字型。進(jìn)而,打印機(jī)幾乎沒有在應(yīng)用程序和分辨率或可被顯示的單獨(dú)圖象點(diǎn)的圖案之間的交互。反之,在顯示中,應(yīng)用程序通常必須控制圖象生成以便適當(dāng)準(zhǔn)確地與用戶進(jìn)行信息通訊。還有,很少有兩個(gè)以上的計(jì)算機(jī)被用來生成一個(gè)文件且期望其有絕對一致的性能。
與之相比,在目前使用的工作站和其他數(shù)據(jù)處理器系統(tǒng)中普遍同時(shí)使用多個(gè)顯示器。極為普遍的另一情況是隨意用一種顯示設(shè)備取代另一顯示設(shè)備以更新系統(tǒng)從而運(yùn)行某些程序。對監(jiān)視器進(jìn)行修理的要求可能導(dǎo)致用戶用另一監(jiān)視器將之取代。顯示還包括比打印機(jī)要多得多的變化,例如,顯示屏的高寬比可以變化,例如在不同電視信號格式中的數(shù)據(jù),或所謂“風(fēng)景攝影(長的水平軸)”或“肖象(長的垂直軸)”顯示,后者通常最好是顯示文件圖象,高寬比也可以在這些顯示類型中的后一情況下進(jìn)行微妙變化,其取決于顯示尺寸。在水平和垂直方向上的分辨率可以改變,就象在每個(gè)坐標(biāo)方向上可尋址的象素一樣,兩者都是顯示和應(yīng)用程序或甚至操作系統(tǒng)一個(gè)事件。
進(jìn)而,彩色再現(xiàn)很難準(zhǔn)確的一致,既使在同一廠家生產(chǎn)的同型號顯示器之間也如此。同時(shí),現(xiàn)在的趨勢是用大的色域,其中,應(yīng)用程序可使用更多的色彩。因此,色彩,色調(diào)、強(qiáng)度和對比度的準(zhǔn)確再現(xiàn)越來越重要,尤其是在用戶與應(yīng)用程序的交互過程中。
就象在打印機(jī)中一樣,通常至少部分地以軟件形式來作為顯示驅(qū)動(dòng)器以便易于控制和調(diào)整,硬件顯示驅(qū)動(dòng)器不大用于簡單設(shè)備中。這樣便遇到三種問題。
第一種即最關(guān)鍵的問題來自于先有技術(shù)采用顯示來展示錯(cuò)誤消息和系統(tǒng)操作指令。在顯示驅(qū)動(dòng)卡與特定軟件一起使用時(shí),可以在該卡的軟件被安裝前安裝該卡并進(jìn)行系統(tǒng)引導(dǎo)。在引導(dǎo)過程中。處理器或總線管理程序?qū)ふ乙曨l卡并尋找相應(yīng)的軟件文檔以示例顯示驅(qū)動(dòng)程序和視頻卡目標(biāo)。若這些文檔(即庫文檔)找不到,則系統(tǒng)無法啟動(dòng)顯示器以便既使提供所要求文檔的快速安裝,從而運(yùn)行該顯示卡。由于打印機(jī)無需被表示成為輸出設(shè)備,所以所有可做之事便是導(dǎo)致生成某些聲音,這些聲音對簡單對話指示具有足夠的語法內(nèi)容。對這一情況的唯一合理變化即為提供底級交替顯示或該卡的仿真,例如在VGA卡上所做的(其增加成本),提供包括視頻驅(qū)動(dòng)程序(也存在成本問題)的可引導(dǎo)硬盤,或通過文件迫使用戶在安裝板子之前就要裝該軟件。但是,只要當(dāng)這一問題出現(xiàn),即可對用戶的自信心產(chǎn)生不利影響。
第二類問題相對系統(tǒng)操作而言不是很關(guān)鍵,但對由顯示表示的用戶界面卻極為重要,尤其是在同時(shí)運(yùn)行兩個(gè)以上的程序或者多個(gè)顯示設(shè)備與系統(tǒng)相連之時(shí)。在任意給定時(shí)刻只運(yùn)行一個(gè)程序的情況下,顯示表示在確保適當(dāng)色彩和形成足夠色彩或灰度級差以便于用戶識別和區(qū)別方面是重要的。準(zhǔn)確的色彩對于圖形應(yīng)用程序而言更為重要,但只要用戶可以識別被處理的圖形的色彩的情況下,有些色彩變化要是可以容忍的。進(jìn)而,在這種情況下,操作員可以指定顯示的假色以便區(qū)分類似的色調(diào),類似地,在尋址的象素?cái)?shù)和圖象的高寬比方面的某些變化要可容忍。
但是,當(dāng)在不同視窗中由多個(gè)應(yīng)用程序生成多個(gè)顯示時(shí),更為重要的是一致均勻地表示彩色并在應(yīng)用程序之間以應(yīng)用程序與顯示驅(qū)動(dòng)程序交至的方式進(jìn)行配色。因此,若不同應(yīng)用程序提供其自己的界面給顯示,則可提供某些機(jī)制以使它們協(xié)調(diào)。當(dāng)多個(gè)顯示被提供并生成用于可在顯示之間任意移動(dòng)或甚至在監(jiān)視器之間劃分(即在分別可尋址的多個(gè)設(shè)備上形成的相鄰顯示區(qū)域,例如通常在液晶顯示或光纖屏CRT中提供的)的視窗的規(guī)則時(shí),問題會趨于復(fù)雜化,在這種情況下,每個(gè)應(yīng)用程序都必須有能力訪問每個(gè)顯示的設(shè)備驅(qū)動(dòng)程序并在其之間同步顯示生成。
第三個(gè)問題可看作為第二個(gè)問題的特殊情況。如上所述,通常是在引導(dǎo)操作期間對系統(tǒng)進(jìn)行配置并在同時(shí)識別所有可用的顯示。但是在提供多個(gè)顯示的情況下,系統(tǒng)的配置可改變,例如當(dāng)一特定監(jiān)視器被接通或斷開的情況,或一個(gè)監(jiān)視器由另一處理器或用戶程序占用的情況。后一種情況可能發(fā)生于由一個(gè)以上用戶使用具有多個(gè)顯示設(shè)備的工作站而且某些顯示設(shè)備可以共用或唯一地分配給一個(gè)特定用戶的情況下。在任何這類情況下,必須制訂不僅用于在操作過程中的系統(tǒng)重新配置而且可用于所有用戶顯示保存(例如在可用于這些顯示的多個(gè)顯示設(shè)備可能突然變化時(shí)分配給一個(gè)用戶的視窗)的規(guī)則。
雖然以上問題的其中一些可由特殊的例行程序或在改變發(fā)生時(shí)調(diào)用的目標(biāo)所處理,但沒有可以同時(shí)解決這些問題的方法。
因此,本發(fā)明的一個(gè)目的是提供一種視頻結(jié)構(gòu)體系(Video framework architecture),它用于安裝,配置和利用提供繪圖,動(dòng)畫,和視頻配置服務(wù)的視頻設(shè)備。
本發(fā)明的另一目的是提供一種通用結(jié)構(gòu),它用于應(yīng)用程序和顯示驅(qū)動(dòng)程序相接口以便獲取正確和一致的顯示表達(dá)控制,該顯示表達(dá)與機(jī)器和顯示設(shè)備無關(guān)。
本發(fā)明的另一目的是提供視頻結(jié)構(gòu)(Videoframework),尤其是用于應(yīng)用程序開發(fā)的視頻結(jié)構(gòu),它以一致和系統(tǒng)化方式提供顯示特性的易調(diào)節(jié)性和靈活性。
本發(fā)明的再一目的是提供一種視頻結(jié)構(gòu),當(dāng)為滿足用戶要求而增加系統(tǒng)靈活性時(shí),對顯示的要求的變化也隨之存在,上述視頻結(jié)構(gòu)將能滿足數(shù)據(jù)處理系統(tǒng)的動(dòng)態(tài)再配置。
為達(dá)到本發(fā)明的目的,所提供的視頻結(jié)構(gòu)包括具有至少一個(gè)子類別的視頻設(shè)備驅(qū)動(dòng)程序類別,一個(gè)由視頻設(shè)備驅(qū)動(dòng)程序的類別的目標(biāo)包括的視頻設(shè)備處理類別,該視頻設(shè)備處理類別具有由其衍生的子類別,它與視頻設(shè)備驅(qū)動(dòng)程序和從驅(qū)動(dòng)設(shè)備驅(qū)動(dòng)程序的類別衍生的每個(gè)子類別的各個(gè)目標(biāo)包含的每個(gè)子類別相對應(yīng);該視頻結(jié)構(gòu)還包括一個(gè)數(shù)據(jù)封裝程序的類別,該封裝程序具有至少一個(gè)由其衍生并包括在視頻設(shè)備處理的類別衍生出來的子類別的目標(biāo)中的視頻設(shè)備數(shù)據(jù)封裝程序子類別。
根據(jù)本發(fā)明的另一方面,一種視頻結(jié)構(gòu)方法包括根據(jù)一個(gè)配置訪問管理程序目標(biāo)生成一個(gè)視頻設(shè)備驅(qū)動(dòng)程序目標(biāo)的步驟;根據(jù)視頻設(shè)備驅(qū)動(dòng)程序目標(biāo)生成視頻設(shè)備處理目標(biāo)的步驟;根據(jù)視頻設(shè)備處理目標(biāo)生成視頻設(shè)備數(shù)據(jù)封裝程序目標(biāo)的步驟;把視頻設(shè)備處理目標(biāo)送到層級服務(wù)器;把視頻設(shè)備數(shù)據(jù)封裝程序目標(biāo)的參數(shù)送到硬件配置服務(wù)器的步驟。
根據(jù)本發(fā)明的另一個(gè)方面,用于操作一個(gè)至少連有一個(gè)顯示設(shè)備的數(shù)據(jù)處理系統(tǒng)的方法包括以下步驟響應(yīng)至少一個(gè)配置變化的檢測和數(shù)據(jù)處理系統(tǒng)配置變化的請求生成一個(gè)視頻設(shè)備數(shù)據(jù)封裝程序目標(biāo),把配置變化的一個(gè)參數(shù)送到包含視頻設(shè)備數(shù)據(jù)封裝程序目標(biāo)的一個(gè)視頻設(shè)備處理目標(biāo),響應(yīng)由視頻設(shè)備處理目標(biāo)生成的信號在一個(gè)顯示設(shè)備上鎖定繪圖任務(wù),通過修改或生成一個(gè)視頻設(shè)備處理來改變數(shù)據(jù)處理設(shè)備的配置,向視頻設(shè)備處理發(fā)出一個(gè)命令以重新生成或請求重新生成與鎖定的繪圖任務(wù)對應(yīng)的顯示,并且釋放鎖定的繪圖任務(wù)。
圖1是一個(gè)Booch圖,用于示出根據(jù)本發(fā)明的目標(biāo)的類別構(gòu)成;圖2是一個(gè)Booch圖,示出了圖1中各個(gè)類別中的目標(biāo)的合作和生成;圖3和圖4是采用NuBus的數(shù)據(jù)處理器來實(shí)現(xiàn)本發(fā)明的示圖;圖5是將本發(fā)明用于減少指令集(RISC)計(jì)算機(jī)的示圖;圖6是將本發(fā)明用于小型計(jì)算機(jī)接口系統(tǒng)(SCSI)視頻控制器的示圖;圖7是根據(jù)本發(fā)明由若干目標(biāo)的類別生成圖形設(shè)備的示圖;圖8是根據(jù)本發(fā)明的視頻結(jié)構(gòu)的從屬關(guān)系;圖9是根據(jù)本發(fā)明的視窗服務(wù)器的最佳行為。
參見附圖,尤其圖1,其示出了根據(jù)本發(fā)明的最佳實(shí)施例的基本構(gòu)成的Booch圖。正如在這類圖中所規(guī)定的,“云彩”由虛線形成并用于指示目標(biāo)的類別或子類別(按面向目標(biāo)的編程術(shù)語)并用箭頭展示其中的層級關(guān)系;每個(gè)箭頭都指向該級的下一個(gè)更高層級,并且表示一個(gè)“is a”的關(guān)系(可以理解虛線通常用于從單個(gè)目標(biāo)中區(qū)分目標(biāo)的類別并且沒有含義說如此描述的類別是常規(guī)的。例如,實(shí)線框可由Booch圖的云彩所取代以形成實(shí)質(zhì)上具有同樣內(nèi)容的圖形)。與云彩相連的雙線表示在類別和子類別之間“has a”或包含關(guān)系。與雙線端是相鄰的數(shù)字指示多個(gè)類別之間的對應(yīng)性或它們的對應(yīng)性的“重要性”。這一關(guān)系亦稱為“使用”關(guān)系而且在雙線端部的點(diǎn)指示使用發(fā)生的方式,雙線端處的實(shí)點(diǎn)指出該類別是所指示的另一類別的內(nèi)部實(shí)施,且無需用于該原因的界面。反之,一個(gè)開端點(diǎn)指出最好提供一個(gè)界面。Booch圖的其他原理級在其后遇到的符號處予以解釋。但是,可參見“Object Oriented Design-With Applications”一書,該書作者為Grady Booch,由Benjamin/Cummings Pub-lishing Company,lnc.在1991年出版。
最好要理解本發(fā)明的實(shí)施例是由根據(jù)從所謂面向目標(biāo)編程發(fā)展而成的目標(biāo)技術(shù)所實(shí)施的。面向目標(biāo)的編程已變得越來越重要,其原因在于數(shù)字處理技術(shù)已為許多不同任務(wù)的并行處理提供了更多的支持。在目標(biāo)技術(shù)中,由編程的通用計(jì)算機(jī)仿真但可被看作或?qū)嶋H作為特定目的的數(shù)據(jù)處理器的目標(biāo)被提供以執(zhí)行所需的各種功能。所需要由每個(gè)目標(biāo)執(zhí)行的少量方法或過程的數(shù)據(jù)與目標(biāo)本身密切相關(guān),方法被封裝或相對其他目標(biāo)而言被隱藏起來,這些其他目標(biāo)可調(diào)用由該目標(biāo)執(zhí)行的一個(gè)特定方法。
進(jìn)而,可根據(jù)類似特性而將目標(biāo)歸類或分成子類別,而且可由一個(gè)子類別繼承一個(gè)類別(數(shù)據(jù)或方法)的特性而無需再做其它指定。此外,繼承的特性可由在一子類別中的目標(biāo)所置換,從而導(dǎo)致一個(gè)稱為多形性(有時(shí)亦稱為運(yùn)行時(shí)間配連,因?yàn)橹脫Q是由正在執(zhí)行的方法調(diào)用的)的屬性。
因此,在本發(fā)明最佳實(shí)施例的實(shí)施過程中,目標(biāo)和其類別是整個(gè)系統(tǒng)最基本的功能元件。在這些元件之間的功能關(guān)系由責(zé)任(即包括但不限于生成其他目標(biāo)的方法或操作)定義和與目標(biāo)和目標(biāo)的類別相關(guān)的層級相關(guān)性所定義。定義目標(biāo)的層級和繼承的行為稱為“子分類”。因此,本發(fā)明的最佳實(shí)施例及根據(jù)一般技術(shù)人員所理解的類別和子類別的組成的責(zé)任關(guān)系和從屬關(guān)系進(jìn)行敘述。
實(shí)際上,任何數(shù)據(jù)處理系統(tǒng)將包括至少一個(gè)顯示設(shè)備或一個(gè)顯示設(shè)備驅(qū)動(dòng)。當(dāng)系統(tǒng)被引導(dǎo)時(shí),內(nèi)部碼將訪問在(或聯(lián)接到)系統(tǒng)中的各種設(shè)備,包括顯示設(shè)備或驅(qū)動(dòng)器,并在每個(gè)設(shè)備和中央處理器之間通過內(nèi)部系統(tǒng)總線提供通信。廣義而言,根據(jù)本發(fā)明一個(gè)最佳實(shí)施例的視頻結(jié)構(gòu)在此時(shí)被啟動(dòng)而且由至少一個(gè)配置訪問管理程序響應(yīng)總線的連續(xù)或周期遍歷(或移動(dòng))以例示或刪除顯示設(shè)備和驅(qū)動(dòng)器,并修改顯示表達(dá)的控制以反映系統(tǒng)的當(dāng)前狀態(tài)。
重要的是對本發(fā)明最佳實(shí)施例的性質(zhì)進(jìn)行了解以理解“結(jié)構(gòu)(framework)”的概念以及對于“目標(biāo)”的結(jié)構(gòu)和“面向目標(biāo)的編程”的關(guān)系,由Kurt A·Schmucker所著且由Byte雜志于1986年8月期刊登的題為“MACAPP∷An Appli-cation Framework”一文是較早敘述結(jié)構(gòu)和目標(biāo)概念的文章,該文被引用于此以為參照。目標(biāo)的一個(gè)重要屬性在于它們封裝其導(dǎo)致的數(shù)據(jù)和方法的能力。即一個(gè)類屬命令可以發(fā)布給一個(gè)目標(biāo)而不須任何其他目標(biāo)了解該目標(biāo)如何執(zhí)行該命令的細(xì)節(jié)。由同樣道理,無需要命令,數(shù)據(jù),文件名等有全局兼容性而且目標(biāo)可以隨意與其他目標(biāo)相關(guān)聯(lián),目標(biāo)亦可作為類別與層級中的子類別關(guān)聯(lián)并繼承從該層級衍生的目標(biāo)的屬性。在目標(biāo)執(zhí)行任務(wù)時(shí)可置換繼承的屬性,從而提供稱之為“多形性(Polymorphism)”的特性。
實(shí)質(zhì)上,結(jié)構(gòu)是一個(gè)一般應(yīng)用程序,它包括在必要時(shí)把目標(biāo)的類別與其他可以關(guān)聯(lián)的目標(biāo)關(guān)聯(lián)起來,以形成更為特殊的應(yīng)用。作為與定義的目標(biāo)的類別之間的功能間的相互關(guān)系相關(guān)聯(lián)的目標(biāo)類別的結(jié)構(gòu)而提供了任意需要的通用和特定功能級,該結(jié)構(gòu)要亦將提供可與該結(jié)構(gòu)關(guān)聯(lián)的其他目標(biāo)的正確功能性。
一個(gè)結(jié)構(gòu)因此可被稱為是一個(gè)系統(tǒng),它提供目標(biāo)之間隱含的響應(yīng)性網(wǎng)絡(luò)。該系統(tǒng)還提供目標(biāo)的類別之間的繼承(目標(biāo)類別的更高層級的主類別的數(shù)據(jù)和方法)以及響應(yīng)于事件對庫的調(diào)用。構(gòu)成結(jié)構(gòu)的系統(tǒng)亦可由執(zhí)行更具體功能且可置換由結(jié)構(gòu)提供的功能的其他目標(biāo)所定制。在結(jié)構(gòu)的不同類別和子類別中針對機(jī)器和針對設(shè)備的目標(biāo)允許結(jié)構(gòu)本身是機(jī)器和設(shè)備無關(guān)的并具備通用的應(yīng)用性。進(jìn)而,一個(gè)特定結(jié)構(gòu)的特征在于根據(jù)所獲取的功能性,繼承性和責(zé)任性劃分而在目標(biāo)和目標(biāo)的類別之間建立的內(nèi)部關(guān)系。一個(gè)結(jié)構(gòu)的本身也用作樣板以供開發(fā)特定的應(yīng)用程序,其中,定制和功能置換作為特定目標(biāo)而被提供。
具體參見圖1,本發(fā)明最佳實(shí)施例的基本配置100提供了設(shè)備/驅(qū)動(dòng)器的類別和子類別層級110′,根據(jù)衍生順序,最好包括視頻設(shè)備/視頻設(shè)備驅(qū)動(dòng)程序(它們被并行分類)110,幀緩沖器視頻設(shè)備驅(qū)動(dòng)器120和色彩查尋表(CLUT)幀緩沖器視頻設(shè)備驅(qū)動(dòng)器130。還提供了處理的并行層級140′,它最好包括(以衍生順序)視頻設(shè)備處理目標(biāo)140的類別,幀緩沖器視頻設(shè)備處理目標(biāo)150的子類別以及CLUT幀緩沖視頻設(shè)備處理目標(biāo)160的子類別。在處理層級中的每個(gè)類別包括了多個(gè)目標(biāo)類型類別,它們作為驅(qū)動(dòng)器層級110′的各個(gè)類別和子類別中的相應(yīng)驅(qū)動(dòng)器目標(biāo)的替代。處理層級的多個(gè)級允許客戶(應(yīng)用程序)以多個(gè)不同的繼承級訪問驅(qū)動(dòng)器。對每個(gè)驅(qū)動(dòng)器類別和子類別規(guī)定的多個(gè)處理類別和子類別提供了多個(gè)針對客戶的目標(biāo),這些目標(biāo)被提供用于對驅(qū)動(dòng)器層級的任何級進(jìn)行訪問。
圖1所示類別表達(dá)了抽象的不同級別。根據(jù)本發(fā)明的最佳實(shí)施例的關(guān)鍵抽象是視頻設(shè)備處理,視頻設(shè)備驅(qū)動(dòng)器以及視頻設(shè)備數(shù)據(jù)封裝程序(該程序?qū)Χ鄠€(gè)層級進(jìn)行進(jìn)一步分類)。
為客戶訪問之緣故,視頻設(shè)備處理類別140表示(或被替代)視頻設(shè)備或用于操縱視頻設(shè)備硬件的視頻設(shè)備驅(qū)動(dòng)器的部分。視頻設(shè)備處理的特定設(shè)備相關(guān)子類別用于配置硬件設(shè)備并根據(jù)當(dāng)前的配置報(bào)告視頻定時(shí),中斷狀態(tài)和視頻信號的其他方面。該抽象因此明白一個(gè)硬件的視頻設(shè)備的定時(shí)特性并可根據(jù)經(jīng)驗(yàn)測量一個(gè)小精靈的位級傳送矩形的繪制時(shí)間以回答隨后的詢問,從而調(diào)度繪圖,正如其下以小精靈為例進(jìn)行的討論所述。
視頻設(shè)備驅(qū)動(dòng)器類別110包括直接操縱視頻設(shè)備硬件并由相應(yīng)的處理類別和子類別表達(dá)的目標(biāo)。如上所述,視頻設(shè)備與其相應(yīng)的視頻設(shè)備驅(qū)動(dòng)器子類型并行地分類,視頻設(shè)備不包括特定的硬件實(shí)施或由視頻驅(qū)動(dòng)器目標(biāo)包括的接口。但是,特定的硬件實(shí)施或接口可以在系統(tǒng)中以硬件或軟件提供,而且單獨(dú)的標(biāo)準(zhǔn)視頻顯示設(shè)備功能的子類別不是必要的。如果不需要視頻顯示設(shè)備的非標(biāo)準(zhǔn)行為的話。在視頻設(shè)備驅(qū)動(dòng)器類別110和幀緩沖設(shè)備驅(qū)動(dòng)器類別120,以及CLUT幀緩沖視頻設(shè)備驅(qū)動(dòng)器類別130中的目標(biāo)最好在根據(jù)本發(fā)明最佳實(shí)施例的視頻結(jié)構(gòu)中提供所有標(biāo)準(zhǔn)的視頻顯示設(shè)備行為。
幀緩沖視頻設(shè)備和CLUT幀緩沖頻設(shè)備是視頻結(jié)構(gòu)中的抽象的更為具體的子類別級別。CLUT幀緩沖視頻設(shè)備驅(qū)動(dòng)器的進(jìn)一步抽象是伽馬控制器131和色彩表132(在本發(fā)明的上下文中,“伽馬”指為了從任意圖象參數(shù)的特定設(shè)備獲得或多或少的線性可視響應(yīng)的偏置的表,可能包括但不限于對比度,其取決于于設(shè)備的色空間(即RGB,CYMK等)的視覺響應(yīng)坐標(biāo)系統(tǒng)或由顯示再現(xiàn)的色域)。這使得色彩表和對比控制可用于整個(gè)結(jié)構(gòu)。CLUT結(jié)構(gòu)緩沖也有(或包括)至少一個(gè)中斷處理器類別133作為一個(gè)內(nèi)部實(shí)施以便在必要或需要時(shí)加入特殊的非標(biāo)準(zhǔn)視頻設(shè)備處理行為。
視頻設(shè)備數(shù)據(jù)封裝器類別170(其中之一對應(yīng)于幀緩沖視頻設(shè)備處理150的每個(gè)類別),設(shè)備數(shù)據(jù)封裝器180和數(shù)據(jù)封裝器類別190對實(shí)施本發(fā)明的最佳實(shí)施例并不重要。由于目標(biāo)本身就提供封裝,因此只需提供目標(biāo)的一個(gè)類別以便作為幀視頻設(shè)備處理類別150中的內(nèi)部實(shí)施以達(dá)到該目標(biāo)。如此,任何表示一個(gè)顯示設(shè)備的可能或潛在功能性的目標(biāo),最好是以配置的形式通過視頻設(shè)備處理提供該功能性的表示。
如此,通過一個(gè)應(yīng)用程序或另一目標(biāo),操作員可調(diào)用一個(gè)特定顯示設(shè)備的再配置(即例如由一個(gè)鼠標(biāo)器選擇一個(gè)顯示的數(shù)據(jù)封裝器圖符)而且數(shù)據(jù)可以基于硬件的選項(xiàng)屏或圖象(即由按鍵控制位深度或映射到CLUT的色彩)的作為控制對一特定顯示設(shè)備的特定信號的響應(yīng)的圖形用戶界面而返回。同理,由任何應(yīng)用程序進(jìn)行的顯示圖象的任意控制可作為導(dǎo)致在顯示控制下的顯示設(shè)備的潛在功能性的表達(dá)返回而被感測。替換之,可提供目標(biāo)來報(bào)告變化時(shí)在數(shù)據(jù)封裝層級中的數(shù)據(jù)的任何變化,相對于每個(gè)在處理層級的適當(dāng)級別中的顯示設(shè)備的目標(biāo)中變化的每個(gè)顯示設(shè)備的潛在功能性,以及響應(yīng)于其所解決的沖室突。因此,一個(gè)顯示設(shè)備的功能性中的變化(它可由一用戶或系統(tǒng)中的其他行為實(shí)現(xiàn),例如斷開顯示設(shè)備或由其他處理由應(yīng)用程序或用戶占用顯示設(shè)備)可被立即感測而且適當(dāng)?shù)娘@示控制改變可響應(yīng)于其而予實(shí)現(xiàn),如下所詳述。
參見圖2,它是圖1所示多個(gè)類別中的特定目標(biāo)的Booch圖(由實(shí)線“云彩”來表示目標(biāo))。當(dāng)系統(tǒng)引導(dǎo)時(shí),與系統(tǒng)連接的設(shè)備由配置訪問管理程序210所發(fā)現(xiàn),假設(shè)發(fā)現(xiàn)一個(gè)顯示設(shè)備,則生成一個(gè)視頻設(shè)備驅(qū)動(dòng)器220。為此目的,在通用形式中的至少一個(gè)系統(tǒng)預(yù)置顯示驅(qū)動(dòng)器(即通用于多個(gè)顯示設(shè)備類型之一)最好包括在可由視頻結(jié)構(gòu)訪問的系統(tǒng)庫中。依次,視頻設(shè)備驅(qū)動(dòng)器目標(biāo)220通過復(fù)制在視頻設(shè)備處理目標(biāo)的區(qū)域(由包括指示區(qū)域的字母“F”的方塊指示的)中的方法調(diào)用來生成視頻設(shè)備處理目標(biāo)230,而且其后可被客戶程序作為視備處理230的內(nèi)部實(shí)施(由全黑填充塊指示)而被訪問和使用。一旦已經(jīng)生成了視頻設(shè)備處理230,它便將其本身標(biāo)識到在客戶應(yīng)用程序控制下對實(shí)際顯示圖象的組合進(jìn)行控制的層服務(wù)器240。視頻設(shè)備處理也生成視頻設(shè)備數(shù)據(jù)封裝器250,其方法是根據(jù)配置訪問管理器210的初始報(bào)告并通過圖2所示的其他目標(biāo)向前進(jìn)行而形成包含有與顯示設(shè)備的功能性有關(guān)的信息的一個(gè)文檔,該功能性亦被報(bào)告給一個(gè)硬件配置服務(wù)器260以確認(rèn)在設(shè)備的功能性和其當(dāng)前配置之間的對應(yīng)性。
再來看圖1,一旦圖2的目標(biāo)已被生成,一個(gè)用戶應(yīng)用程序即可訪問視頻設(shè)備處理230并要求顯示設(shè)備或系統(tǒng)的配置的變化。這一調(diào)用將修改存儲于視頻設(shè)備數(shù)據(jù)封裝器250的文檔中的功能性數(shù)據(jù),封裝器250依次把變化送到硬件配置服務(wù)器260以進(jìn)行配置改變。反之,根據(jù)一個(gè)用戶動(dòng)作(例如關(guān)斷一個(gè)顯示設(shè)備)而產(chǎn)生的顯示設(shè)備狀態(tài)的變化由系統(tǒng)檢測而且該VideoDevice Handle被因此更新。該狀態(tài)變化然后通過視頻設(shè)備處理230報(bào)告給層級服務(wù)器240,它將為視頻處理類別和/或子類別的其他成員提供一個(gè)系統(tǒng)預(yù)置或其他行為,以便在其他顯示設(shè)備上重新繪制顯示并在其間分配顯示信息。一旦其被完成,把一個(gè)通知返回到特定的視頻設(shè)備處理目標(biāo)230以“釋放”視頻設(shè)備處理230以及相應(yīng)的視頻設(shè)備數(shù)據(jù)封裝器250以及視頻設(shè)備驅(qū)動(dòng)器,或依次修改它們以反映系統(tǒng)配置中的被迫改變(即當(dāng)顯示設(shè)備由另一應(yīng)用程序或處理器是用時(shí))。
如此,總而言之,任何客戶或應(yīng)用程序可通過從目標(biāo)的處理層級的級別之一中對目標(biāo)進(jìn)行選擇而調(diào)用任意特定顯示的控制。根據(jù)本發(fā)明的最佳實(shí)施例的視頻結(jié)構(gòu)所提供的系統(tǒng)是完全通用的。因?yàn)槿魏伪匾奶囟ㄔO(shè)備目標(biāo)都可以放在驅(qū)動(dòng)器層級的適當(dāng)級別中,而且由該層級中的繼承確保了執(zhí)行的效率。類似地,用于取得理想顯示設(shè)備行為的任意特定系統(tǒng)或特定應(yīng)用程序目標(biāo)可放在處理層級的適當(dāng)級別中。通過在處理類別或子類別中的目標(biāo)對顯示圖象進(jìn)行控制亦成為一個(gè)事件,它可用來觸發(fā)系統(tǒng)再配置和相應(yīng)的顯示控制,從而在以理想方式生成顯示的設(shè)備之間分配顯示。以這種方式,顯示功能性的系統(tǒng)預(yù)置級總可把顯示設(shè)備作為視頻結(jié)構(gòu)的一個(gè)部件而進(jìn)行維護(hù),而無需單獨(dú)提供每個(gè)卡或顯示設(shè)備。同樣的結(jié)構(gòu)體系也同時(shí)提供自動(dòng)系統(tǒng)再配置并支持顯示再定向以便在任何給定時(shí)間與存在的系統(tǒng)配置相對應(yīng)。
根據(jù)以上對本發(fā)明最佳實(shí)施例的總體結(jié)構(gòu)和基本體系的綜述,以下將討論幾個(gè)實(shí)例。無論是在通用情況下還是在特定實(shí)施中,例如利用目標(biāo)陣列(稱為NuBus,由蘋果計(jì)算機(jī)公司實(shí)施的32位總線,其與IBM實(shí)施的MicroChannel和EISA總線相對照),都有一些對系統(tǒng)和設(shè)備配置信息的訪問控制。因此,在一般情況下,足以實(shí)施本發(fā)明的最佳實(shí)施的以便響應(yīng)于在應(yīng)用程序或?qū)ο到y(tǒng)和設(shè)備配置的訪問進(jìn)行控制的目標(biāo)中的特定事件而在上述圖2中討論的目標(biāo)之間提供連接(即責(zé)任和從屬)生成。
參見圖3,在采用NuBus的系統(tǒng)上,最好提供配置訪問管理程序目標(biāo)210或類別330,目標(biāo)的NuBus類別310是定義NuBus功能性的主類別,它包括NuBus結(jié)構(gòu),其內(nèi)部細(xì)節(jié)由于被封裝而對理解本發(fā)明的實(shí)施的并不重要,本領(lǐng)域的一般技術(shù)人員足以實(shí)施它。為理解本發(fā)明最佳實(shí)施例的視頻結(jié)構(gòu),目標(biāo)的NuBus類別至少包括查找與NuBus連接的卡并標(biāo)識該卡的協(xié)議。實(shí)質(zhì)上,目標(biāo)的NuBus類別通過調(diào)用配置訪問管理程序目標(biāo)(即圖2的210)而提供周期性地或連續(xù)地行走總線(Walking the bus),以監(jiān)測配置的變化。從功能上說,這些目標(biāo)的責(zé)任是分別提供對于配置訪問管理程序目標(biāo)210或目標(biāo)320的類別(如圖2和圖3所示)的訪問地址。NuBus類別的例子還包括示例特定NuBus卡目標(biāo)340,例如NuBus視頻卡350的方法,該示例可通過把一個(gè)板識別碼送給NuBus卡目標(biāo)的方式而實(shí)現(xiàn)。
此外,如圖3所示,目標(biāo)360的一個(gè)NuBus配置只讀存儲器(ROM)類別具有一個(gè)與NuBus卡目標(biāo)340的類別一對一的基數(shù),該存儲器類別包括與內(nèi)部操作有關(guān)的信息以及可與系統(tǒng)相連以控制生成更多特定目標(biāo)(例如NuBus視頻卡目標(biāo)530)的任何硬件卡的功能性。該NuBus配置ROM目標(biāo)因此表示了NuBus卡ROM,它包括強(qiáng)制信息區(qū),例如格式標(biāo)題塊以及插接板資源表。NuBus配置ROM類別也可再分類以提供用于卡的唯一特性或功能性的選擇程序,正如具有與NuBus視頻卡類別350一對一的基數(shù)的視頻NuBus配置ROM類別370所示的那樣。
參見圖4(它可看作是圖3右部的連續(xù)),NuBus實(shí)施被看作是包括驅(qū)動(dòng)器類別和子類別的層級,這些類別和子類別包括視頻設(shè)備驅(qū)動(dòng)器類別330(對應(yīng)圖1的類別110),NuBus視頻設(shè)備驅(qū)動(dòng)器類別120′和NuBusCLUT視頻設(shè)備驅(qū)動(dòng)器子類別130。最好能獲得由視頻設(shè)備處理類別表達(dá)的顯示設(shè)備功能性信息,以便用于設(shè)備配置的圖形可視顯示以協(xié)助用戶進(jìn)行設(shè)備再配置。為此原因,視頻設(shè)備驅(qū)動(dòng)器類別330以一對一的基數(shù)直接包括(作為內(nèi)部實(shí)施)視頻設(shè)備數(shù)據(jù)封裝器410,和視頻設(shè)備處理類別140(由延伸通過視頻設(shè)備處理類別140的點(diǎn)劃線表示)。
如此,數(shù)據(jù)封裝器的一個(gè)類別的一種選擇允許視頻設(shè)備處理目標(biāo)得以表示一個(gè)設(shè)備的可能的功能性的適當(dāng)表達(dá)以及用戶控制選擇,例如使用的CLUT對32位彩色的使用,伽馬(即可見響應(yīng)非線性改正或補(bǔ)償)表選擇,以及視頻設(shè)備處理目標(biāo)的類似用戶可配置方面(據(jù)此,可由一個(gè)應(yīng)用程序訪問一個(gè)顯示設(shè)備)。在該實(shí)施中,NuBus視頻驅(qū)動(dòng)器類別120還包括中斷處理器類別133′。
用于減少的指令集計(jì)算機(jī)(RISC)的彩色液晶顯示(LCD)將作為本發(fā)明最佳實(shí)施利的另一例子而參見圖5予以敘述。在該實(shí)施中,一個(gè)關(guān)鍵抽象是一個(gè)與圖1所示的同樣類別對應(yīng)的視頻設(shè)備處理140的類別。假設(shè)LCD顯示,則“處理”層級的其他將包括一個(gè)彩色LCD視頻設(shè)備處理類別520以及一個(gè)RISC彩色LCD視頻設(shè)備處理類別530(它順序地被分類于視頻設(shè)備處理類別140之下)。另一關(guān)鍵抽象是由RISC彩色LCD視頻設(shè)備處理類別530所包括的RISC主機(jī)板目標(biāo)510的類別。在這一情況中,RISC主機(jī)板類別提供協(xié)議以查找可訪問的顯示設(shè)備以及控制配置訪問管理程序以便“在總線上行走”,如先前所述。當(dāng)一個(gè)顯示設(shè)備被發(fā)現(xiàn)時(shí),示例一個(gè)RISC彩色LCD視頻設(shè)備處理目標(biāo)。這一目標(biāo)然后可以進(jìn)一步利用RISC主機(jī)板目標(biāo)的功能性來確定其本身各方面的位置,例如它使用的存儲器映射位置和其他可能是針對主機(jī)板的細(xì)節(jié),如此,可保持本發(fā)明最佳實(shí)施例實(shí)施的通用性。
參見圖6,現(xiàn)在討論包括一個(gè)SCSI(小計(jì)算機(jī)系統(tǒng)接口)視頻控制器的本發(fā)明最佳實(shí)施例的實(shí)現(xiàn)。在該實(shí)施例中,驅(qū)動(dòng)器層級包括一個(gè)視頻設(shè)備驅(qū)動(dòng)器類別110和位于其下被進(jìn)一步分類的幀緩沖視頻設(shè)備驅(qū)動(dòng)器類別120,如圖1所示,以及一個(gè)在幀緩沖視頻設(shè)備驅(qū)動(dòng)器類別120之下被再分類的SCSI幀緩沖設(shè)備驅(qū)動(dòng)器130。在SCSI幀緩沖視頻設(shè)備驅(qū)動(dòng)器類別130中的目標(biāo)包括用于生成SCSI視頻設(shè)備目標(biāo)(它然后被平化至送至層級服務(wù)器(圖2的240))的信息和過程該SCSI幀緩沖視頻設(shè)備驅(qū)動(dòng)器最好也包括SCSI能力作為一個(gè)區(qū)或所謂“混合(mixin)”以使用SCSI總線協(xié)議以詢問SCSI設(shè)備硬件并接收信息以正確地標(biāo)識它。在面向目標(biāo)的技術(shù)中,混合是一個(gè)類別,它指采用多個(gè)繼承來強(qiáng)化一個(gè)衍生類別的屬性和行為從而實(shí)施衍生類別從其基本主類別繼承的特性的類別,混合是一個(gè)多繼承性的并加入其他功能性的類別,而mixin則是一個(gè)標(biāo)準(zhǔn)的OOP術(shù)語。SCSI幀緩沖視頻設(shè)備驅(qū)動(dòng)器目標(biāo)最好是SCSI意識以便有能力分解SCSI操作并因此最好包括SCSI訪問管理程序和用于視頻設(shè)備本身的SCSI中斷處理(如圖1的133)。
應(yīng)該了解,上述包括SCSI視頻控制器的示例說明按照本發(fā)明最佳實(shí)施例的視頻結(jié)構(gòu)是如何支持幀緩沖和伽馬控制行為的而且本發(fā)明的最佳實(shí)施例的視頻結(jié)構(gòu)是如何能夠使用和控制傳送與系統(tǒng)的其余部分無關(guān)的協(xié)議的。視頻結(jié)構(gòu)功能性與系統(tǒng)總線和界面體系是分開的。從以上示例可以了解本發(fā)明的任意或所有變形可通過把特定目標(biāo)加至圖1所示的視頻結(jié)構(gòu)體系的不同點(diǎn)的方式而予實(shí)現(xiàn)。例如,圖5的實(shí)施可通過把彩色LCD視頻設(shè)備處理和RISC彩色LCD視頻設(shè)備處理(包括RISC主機(jī)板類別510)類別520和530從視頻設(shè)備處理類別140中進(jìn)行分類而實(shí)現(xiàn)。該分類與NuBus實(shí)施和SCSI視頻控制器實(shí)施無關(guān)而且因此可結(jié)合所有這些實(shí)施或其中之一而予實(shí)現(xiàn)。但是,可預(yù)見大部分加到本發(fā)明的視頻結(jié)構(gòu)的目標(biāo)將包括目標(biāo)的子類別(即提供其他不同的目標(biāo)),這些子類別較之視頻設(shè)備驅(qū)動(dòng)器和視頻設(shè)備處理類別110和140而言處于較底的層級,并可能包括最好在視頻結(jié)構(gòu)的層級中提供的目標(biāo)的置換以便提供特定的設(shè)備功能性。從視頻結(jié)構(gòu)的層級中,實(shí)成了子分類。
可以根據(jù)本發(fā)明的最佳實(shí)施例繼續(xù)加入具有或沒有進(jìn)一步分類目標(biāo)的目標(biāo)直到理想情況達(dá)到。例如,在引導(dǎo)過程和誤差處理過程中,最好提供在某些顯示設(shè)備的屏幕上顯示某些信息的能力,即使缺乏大部分包括視頻結(jié)構(gòu)的目標(biāo),它們按需要以圖2所述方式生成。當(dāng)然,一個(gè)增強(qiáng)且獨(dú)立的圖形系統(tǒng)只好犧牲其靈活性,尤其是在更新和加入硬件顯示設(shè)備、加速器、協(xié)同處理器等的時(shí)候,其原因在于這種增加會需要所有可能需要的目標(biāo)繼續(xù)可用(例如在ROM中),就現(xiàn)實(shí)而言,最好把某些目標(biāo)作為圖形類別提供,其任何應(yīng)用程序或處理器本身(即通過一個(gè)引導(dǎo)導(dǎo)體目標(biāo))可以是一個(gè)客戶,它有最小但仍然完全敘述的從屬類別或服務(wù)器集。
因此,如圖7所示,任意或所有多個(gè)視頻設(shè)備處理目標(biāo)(即710)有一處理器,用于生成一個(gè)圖形設(shè)備目標(biāo)720作為文檔,它總體包括在共同存儲器中的圖形設(shè)備系統(tǒng)。每個(gè)圖形設(shè)備720最好是圖形屏幕圖象的形式,它支持一個(gè)最小的圖形功能集,例如顯示文本,在屏幕上繪制四方形并復(fù)制圖象。它最好還支持彩色或灰度級的某些多個(gè)象素體深度位,即使某些客戶(例如引導(dǎo)導(dǎo)體730和應(yīng)急錯(cuò)誤處理器740)上可要求單色顯示。這些圖形設(shè)備720的生成意味著至少用于主處理器的配置訪問管理程序從視頻結(jié)構(gòu)本身而言可用。
一旦生成之后,圖形設(shè)備系統(tǒng)是一個(gè)小的無狀態(tài)自滿足系統(tǒng),它無需系統(tǒng)中的其他服務(wù),而且是可用的而無論是否丟失(即損壞或仍未開始)了象令牌服務(wù)器,層級服務(wù)器,號志服務(wù)器之類的目標(biāo)。在生成圖形設(shè)備720之后的設(shè)備配置或系統(tǒng)的每一變化都由視頻設(shè)備處理710延遲到適當(dāng)?shù)膱D形設(shè)備,以致圖形設(shè)備目標(biāo)將具備屏幕狀態(tài)的當(dāng)前指示,例如象素位類型以便使用適當(dāng)?shù)睦L圖方法。
應(yīng)該了解到在視頻系統(tǒng)體系其他部分中的特定目標(biāo)通常都用于根據(jù)多種可以運(yùn)行的應(yīng)用程序的屏幕顯示。圖形設(shè)備目標(biāo)720的類別最好可通過把對視頻結(jié)構(gòu)的其他部分的依賴性減至最小的有效方式來包括這些目標(biāo)的子集。以這種方式,限制了與用戶進(jìn)行交互時(shí)的干擾而且用戶可以在需要的時(shí)候由與恰當(dāng)?shù)膽?yīng)用程序類似的圖形設(shè)備立即采取補(bǔ)救行為。
圖1的視頻結(jié)構(gòu)100的主要系統(tǒng)從屬性示于圖8中。尤其是,視頻結(jié)構(gòu)100必須有效地與層級服務(wù)器交互以提供一個(gè)完整特性的繪圖環(huán)境。該圖形系統(tǒng)必須由適當(dāng)?shù)娘@示同步820支持隨意分割的圖形項(xiàng)的繪制。系統(tǒng)圖形設(shè)備830包括圖形設(shè)備720,并在大部分情況下由視頻結(jié)構(gòu)的幀緩沖子類型目標(biāo)的目標(biāo)所支持。這些系統(tǒng)從屬性將依次討論以解釋本發(fā)明的最佳實(shí)施例。
圖9所示情況指出了層級服務(wù)器的最佳行為。圖9的目標(biāo)(即視頻設(shè)備驅(qū)動(dòng)器目標(biāo)920)可以但不必是上述的相同目標(biāo)(即視頻設(shè)備驅(qū)動(dòng)器目標(biāo)220)而且新的標(biāo)號因此被給出。如圖2所簡述的,一個(gè)引導(dǎo)過程包括一個(gè)系統(tǒng)起始順序,它包括沿系統(tǒng)總線尋找系統(tǒng)各部分(包括顯示設(shè)備)的配置訪問管理程序910。當(dāng)發(fā)現(xiàn)一個(gè)視頻顯示設(shè)備時(shí),起動(dòng)或示例相應(yīng)的視頻設(shè)備驅(qū)動(dòng)器目標(biāo)920。然后視頻設(shè)備驅(qū)動(dòng)器920生成一個(gè)視頻設(shè)備數(shù)據(jù)封裝目標(biāo)930并把相關(guān)的參數(shù)送到硬件配置服務(wù)器940。視頻設(shè)驅(qū)動(dòng)器920還生成一個(gè)視頻設(shè)備處理目標(biāo)(例如960a或960b)并將其送至層級服務(wù)器950。這些視頻設(shè)備處理目標(biāo)稍后將在配置變化時(shí)修改層級服務(wù)器。層級服務(wù)器依次修改配置變化時(shí)的視圖系統(tǒng)970,與之響應(yīng),視圖系統(tǒng)970鎖定當(dāng)前的繪圖任務(wù)980直到層級服務(wù)器950可根據(jù)新的系統(tǒng)配置調(diào)用重新生成顯示。一旦重新生成,新的顯示通過視圖系統(tǒng)的正常方式再次生成。當(dāng)顯示被任何方式切斷或改變時(shí),視頻結(jié)構(gòu)提供顯示生成的自動(dòng)改變。改變的顯示生成將防止由于顯示布局和配置中的變化導(dǎo)致的視窗信息或存儲圖象的丟失。
本發(fā)明的最佳實(shí)施例最好也支持動(dòng)畫。動(dòng)畫包括但不限于實(shí)況視頻,它由生成一個(gè)特定小精靈的視頻信息的同步位級傳送(BLT或Blit)所實(shí)現(xiàn),BLT和該生成與顯示設(shè)備同步以避免產(chǎn)生的精靈的圖象分裂。因此,該視頻結(jié)構(gòu)必須明白顯示硬件的特性而該信息最好由響應(yīng)此后回答詢問的視頻設(shè)備處理進(jìn)行的精靈的BLT矩形的繪制時(shí)間經(jīng)驗(yàn)測定所得到。
由于本發(fā)明最佳實(shí)施例的動(dòng)畫小精靈的繪制的良好特性,一個(gè)動(dòng)畫中斷處理器最好被用于不使用顯示定位計(jì)數(shù)器(如光束位置計(jì)數(shù)器)的硬件顯示設(shè)備。若一特定顯示設(shè)備使用該計(jì)數(shù)器,則可從該計(jì)算器直接獲得同步。但是,在使用諸如垂直消隱(VBL)中斷之類的中斷的設(shè)備中,可根據(jù)本發(fā)明在視頻結(jié)構(gòu)中放入一個(gè)單獨(dú)的動(dòng)畫中斷處理器。在這種情況下,該動(dòng)畫中斷處理器會接收來自視頻設(shè)備的中斷并標(biāo)記該中斷的實(shí)際時(shí)鐘時(shí)間。該精靈目標(biāo)然后可以根據(jù)最后一個(gè)標(biāo)志時(shí)間計(jì)算在提供下一個(gè)動(dòng)畫幀的BLT后繪制該小精靈的下一時(shí)間。
根據(jù)上述,可清楚知道本發(fā)明的視頻結(jié)構(gòu)以設(shè)備無關(guān)和機(jī)器無關(guān)的方式提供了數(shù)據(jù)處理系統(tǒng)的動(dòng)態(tài)識別。該方式在系統(tǒng)配置改變或不能訪問用于設(shè)備相關(guān)的顯示驅(qū)動(dòng)器的操作的庫文檔時(shí)可將顯示的干擾減小最小。
權(quán)利要求
1. 一種用于處理圖形信息的視頻結(jié)構(gòu),其特征在于包括(a)一個(gè)處理器;(b)一個(gè)存儲器;(c)一組視頻設(shè)備驅(qū)動(dòng)器,它包括至少一個(gè)由存儲器中對視頻設(shè)備驅(qū)動(dòng)器進(jìn)行分類而得到的子類別;(d)一組視頻設(shè)備處理目標(biāo),包括對該組視頻設(shè)備處理目標(biāo)進(jìn)行分類得到的一個(gè)子類別,相對應(yīng)于從存儲器中存儲的一組視頻設(shè)備驅(qū)動(dòng)器分類得到的每個(gè)類別;以及(e)一組數(shù)據(jù)封裝器,它有至少一個(gè)由數(shù)據(jù)封裝器分類得到的視頻設(shè)備數(shù)據(jù)封裝器子類別,該視頻設(shè)備數(shù)據(jù)封裝器子類別由處理圖形信息的處理器所使用的存儲器中的該組視頻設(shè)備處理器分類得到的子類別的目標(biāo)所包含。
2. 權(quán)利要求1所述視頻結(jié)構(gòu),包括(a)由視頻設(shè)備驅(qū)動(dòng)器類別包含的配置訪問管理器類別;以及(b)由配置訪問管理器類別包括的一組總線訪問目標(biāo)。
3. 權(quán)利要求2所述視頻結(jié)構(gòu),還包括由該組總線訪問目標(biāo)包括的一組目標(biāo),用于表示可與該組總線訪問目標(biāo)的目標(biāo)訪問的總線相連的顯示設(shè)備。
4. 權(quán)利要求1所述視頻結(jié)構(gòu),還包括用于把視頻設(shè)備處理標(biāo)識到處理器的裝置。
5. 權(quán)利要求1所述視頻結(jié)構(gòu),還包括用于記錄狀態(tài)信息的裝置。
6. 權(quán)利要求1所述視頻結(jié)構(gòu),還包括把狀態(tài)改變報(bào)告給處理器的裝置。
7. 權(quán)利要求1所述視頻結(jié)構(gòu),還包括由處理器管理多個(gè)視頻結(jié)構(gòu)的裝置。
8. 權(quán)利要求7所述視頻結(jié)構(gòu),還包括激勵(lì)視頻結(jié)構(gòu)的 裝置。
9. 權(quán)利要求7所述視頻結(jié)構(gòu),還包括去激勵(lì)視頻結(jié)構(gòu)的裝置。
10. 用于對一個(gè)處理器的存儲器中的圖形信息進(jìn)行處理的方法,其特征在于包括以下步驟(a)在處理器的控制下在存儲器中從一個(gè)配置訪問管理器目標(biāo)生成一個(gè)視頻設(shè)備驅(qū)動(dòng)目標(biāo);(b)在處理器控制下在存儲器中從視頻設(shè)備驅(qū)動(dòng)目標(biāo)生成一個(gè)視頻設(shè)備處理目標(biāo);(c)從存儲器的視頻設(shè)備處理目標(biāo)生成一個(gè)視頻設(shè)備數(shù)據(jù)封裝器目標(biāo);(d)在處理器控制下在存儲器中把視頻設(shè)備處理目標(biāo)的參數(shù)送到一個(gè)層級服務(wù)器。
11. 權(quán)利要求10所述方法還包括把視頻設(shè)備數(shù)據(jù)封裝器目標(biāo)的參數(shù)送到一個(gè)硬件配置服務(wù)器的步驟。
12. 權(quán)利要求10所述方法還包括向處理器標(biāo)識視頻設(shè)備處理的步驟。
13. 權(quán)利要求10所述方法還包括把狀態(tài)信息記錄到存儲器的步驟。
14. 權(quán)利要求10所述方法還包括向處理器報(bào)告狀態(tài)改變的步驟。
15. 權(quán)利要求10所述方法還包括由處理器管理多個(gè)視頻結(jié)構(gòu)的步驟。
16. 權(quán)利要求15所述方法還包括激勵(lì)視頻結(jié)構(gòu)的步驟。
17. 權(quán)利要求15所述方法還包括對視頻結(jié)構(gòu)去激勵(lì)的步驟。
18. 在處理器的存儲器中處理圖形信息的方法,其特征在于包括以下步驟(a)響應(yīng)于至少一個(gè)配置變化的檢測而生成視頻設(shè)備數(shù)據(jù)封裝器目標(biāo),以及用于處理器的配置變化的請求;(b)將配置變化的參數(shù)送至包括視頻設(shè)備數(shù)據(jù)封裝器目標(biāo)的視頻設(shè)備處理目標(biāo);(c)響應(yīng)由視頻設(shè)備處理目標(biāo)生成的信號在至少一個(gè)顯示設(shè)備上鎖定繪制任務(wù);(d)通過改變或生成視頻設(shè)備處理而改變處理器配置;(e)對視頻設(shè)備處理發(fā)布一個(gè)命令以重新生成或請示重新生成一個(gè)顯示,該顯示對應(yīng)于鎖定的繪制任務(wù)并釋放鎖定的繪制任務(wù)。
全文摘要
用于數(shù)據(jù)處理系統(tǒng)的視頻結(jié)構(gòu)提供了并行層級的視頻設(shè)備驅(qū)動(dòng)器和視頻設(shè)備處理,它們由視頻設(shè)備驅(qū)動(dòng)器目標(biāo)生成,該視頻結(jié)構(gòu)還提供了由視頻設(shè)備處理層級的子類別包括數(shù)據(jù)封裝器層級,以便封裝描述與數(shù)據(jù)處理系統(tǒng)相連的顯示設(shè)備的功能性的配置信息。應(yīng)用程序通過視頻設(shè)備處理之一在視頻設(shè)備處理層的不同級訪問視頻設(shè)備驅(qū)動(dòng)器。
文檔編號G09G5/00GK1116008SQ94190867
公開日1996年1月31日 申請日期1994年1月5日 優(yōu)先權(quán)日1993年7月27日
發(fā)明者杰夫·A·齊亞斯 申請人:塔里根特公司