亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

視頻顯現(xiàn)網(wǎng)絡(luò)管理的制作方法

文檔序號:6635026閱讀:188來源:國知局
專利名稱:視頻顯現(xiàn)網(wǎng)絡(luò)管理的制作方法
技術(shù)領(lǐng)域
本技術(shù)領(lǐng)域涉及視頻顯示適配器(例如計算機顯示卡)的配置。
背景技術(shù)
使用多個監(jiān)視器的計算機系統(tǒng)正在普及。例如,現(xiàn)在對于一個計算機來說,驅(qū)動一個LCD顯示控制板和一個投影機裝置是很普通的。此外,現(xiàn)在計算機使用者常規(guī)地使用他們的計算機觀看視頻圖像(例如DVD)。在這種情況下,該計算機可能驅(qū)動一個傳統(tǒng)的監(jiān)視器和一個電視機。
為適應(yīng)需要,現(xiàn)在視頻適配器硬件制造者使視頻適配器上包括多個輸出。這樣,一個使用者可以更加容易地使用一個計算機以便驅(qū)動希望的裝置,而不必切換用于單獨輸出的電纜以及重新調(diào)整輸出。
雖然這樣的多監(jiān)視器視頻適配器具有多種功能,但是可利用的配置通常有限。因此,需要改進與配置多監(jiān)視器計算機系統(tǒng)相關(guān)的功能。

發(fā)明內(nèi)容
由于可能的配置的絕對數(shù)量以及在資源之中的配置相關(guān)性,配置一個具有多個輸出的視頻顯現(xiàn)網(wǎng)絡(luò)是有挑戰(zhàn)性的。
在此描述的多種技術(shù)可以用于一個具有多個輸出的視頻顯現(xiàn)網(wǎng)絡(luò)的配置資源。例如,臨時的配置可被支持。輸入的配置可與輸出的配置分開實現(xiàn)。網(wǎng)絡(luò)資源之間的相關(guān)性可被認為將所提供的選項限制到那些與臨時配置共同起作用的選項。一個客戶可以使用一個服務(wù)所提供的一組功能以便橫越配置解決方案空間。橫越可能的配置解決方案可以包括反饋。例如,當一個選擇的配置選項使另一個希望的配置選項無效時,可以使用反饋。臨時的配置功能可以支持相互影響配置方法,并且資源可以被單獨地配置。基于網(wǎng)絡(luò)資源之間的相關(guān)性,一個枚舉功能可以僅提供那些與臨時配置共同起作用的選項。枚舉的選項的有效性在固定之后可被保證。
該功能可被組合到包括枚舉配置(例如那些與臨時配置共同起作用的配置)的調(diào)用和固定資源的接口中??梢蕴峁┢渌恼{(diào)用以便建立一個配置和提交該配置。該功能可以支持一個相互影響配置方法。
根據(jù)相關(guān)性可以得到最符合配置目的的拓撲。例如,可以找到一種通過可利用的編解碼器布置目標到源以便最大程度上支持源模式組的最好方式,假設(shè)目標必須支持與它們連接的顯示裝置上的較佳模式。其它的目的可被支持。優(yōu)先化排序也可被支持。在一個較符合該目的的拓撲的實行期間可以使用枚舉和固定功能。
臨時配置可以借助于配置不同資源(例如一個用于一個視頻輸出的調(diào)用以及另一個用于一個視頻輸入的調(diào)用)的分離的裝置驅(qū)動器接口調(diào)用支持增加的配置。在調(diào)用之間,枚舉可以表示用于保持未固定的(例如還沒有臨時地配置的)資源共同起作用的資源。
考慮相關(guān)性的責(zé)任可被委托給(例如由其實現(xiàn))一個視頻驅(qū)動器,諸如一個視頻小端口。一個客戶可以使用多種方法以便得到一個希望的配置。該希望的配置可被作為一個NP-完全圖表問題的解決方法對待。
從下列參照附圖進行的公開的實施例的詳細描述,上述的和其它的特征和優(yōu)勢將變得更加明顯。
附圖簡述

圖1是一個示范性的可配置的視頻顯現(xiàn)網(wǎng)絡(luò)的方框圖。
圖2是另一示范性的可配置的視頻顯現(xiàn)網(wǎng)絡(luò)的方框圖。
圖3是一個視頻顯現(xiàn)網(wǎng)絡(luò)配置的組合的方框圖。
圖4是用于配置諸如在圖1中示出的可配置的視頻顯現(xiàn)網(wǎng)絡(luò)的方法的流程圖。
圖5是諸如在圖1中示出的視頻顯現(xiàn)網(wǎng)絡(luò)的示范性的臨時配置的圖表。
圖6是實現(xiàn)諸如在圖1中示出的視頻顯現(xiàn)網(wǎng)絡(luò)的配置的示范性的相互影響方法的方框圖。
圖7是借助于相互影響方法實現(xiàn)配置的示范性方法的流程圖。
圖8A是在諸如圖1中示出的視頻顯現(xiàn)網(wǎng)絡(luò)的臨時配置期間用于反饋的示范性的源的方框圖。
圖8B是與圖8A相似的用于反饋但是有多個資源的反饋的示范性的源的方框圖。
圖9A、9B和9C是在固定期間用于多個資源的示范性的共同起作用的選項的方框圖。
圖10A、10B和10C是在固定期間用于多個資源的另一示范性的共同起作用的選項的方框圖。
圖11是用于獲得諸如在圖1中示出的視頻顯現(xiàn)網(wǎng)絡(luò)的配置的一個示范性的具有反饋的相互影響方法的方框圖。
圖12是用于從服務(wù)器觀點借助于具有反饋的相互影響方法實現(xiàn)配置的一個示范性方法的流程圖。
圖13是用于從客戶觀點借助于具有反饋的相互影響方法實現(xiàn)配置的一個示范性方法的流程圖。
圖14是其中可以實現(xiàn)臨時配置的示范性結(jié)構(gòu)的方框圖。
圖15是配置一個視頻顯現(xiàn)網(wǎng)絡(luò)的示范性方法的流程圖。
圖16是通過系統(tǒng)地橫越解空間從而會聚在希望的配置上來得到一個希望的配置的示范性方法的流程圖。
圖17A-B是通過系統(tǒng)地橫越解空間從而會聚在希望的配置上來得到一個希望的配置的第一示范性詳細方法的流程圖。
圖18A-C是通過系統(tǒng)地橫越解空間從而會聚在希望的配置上來得到一個希望的配置的第二示范性詳細方法的流程圖。
圖19是確定視頻顯現(xiàn)網(wǎng)絡(luò)的拓撲的示范性方法的流程圖。
圖20是在客戶和服務(wù)器之間調(diào)用以得出用于視頻顯現(xiàn)網(wǎng)絡(luò)的配置的方框圖。
圖21是將技術(shù)的實施整合到具有多個視頻顯示裝置的計算機系統(tǒng)中的方框圖。
圖22是優(yōu)先考慮確定希望的視頻配置的客戶-服務(wù)器系統(tǒng)的方框圖。
圖23是在諸如圖22的客戶-服務(wù)器中確定希望的視頻配置的示范性方法的流程圖。
圖24是通過系統(tǒng)地橫越解空間的來得到希望的配置的示范性方法的流程圖,其中在該方法的執(zhí)行中可以改變該拓撲。
圖25是示范性的多監(jiān)視器/多視圖系統(tǒng)的方框圖。
圖26是描述組成用于實現(xiàn)所公開的技術(shù)的一個示范性系統(tǒng)的通用計算裝置的示意圖。
具體實施例方式
實施例1-示范性的視頻顯現(xiàn)網(wǎng)絡(luò)圖1示出可配置的視頻顯現(xiàn)網(wǎng)絡(luò)100。在本文中在任一實施例中描述的技術(shù)可以用于配置該視頻顯現(xiàn)網(wǎng)絡(luò)100。
以在此描述的技術(shù)的方式使用的視頻顯現(xiàn)網(wǎng)絡(luò)100可以具有一個或多個輸入110A-110N(例如總共∑個輸入,σ)、兩個或多個輸出120A-120N(例如總共T個輸出,τ)以及一個或多個數(shù)字-視頻-輸入-表示-成-視頻-輸出-信號轉(zhuǎn)換器130A-130N(例如總共K個轉(zhuǎn)換器,κ)。
輸入110A-110N有時稱為“源”或“表面”。輸出120A-120N有時稱為“目標”。數(shù)字-視頻-輸入-表示-成-視頻-輸出-信號轉(zhuǎn)換器有時稱為“轉(zhuǎn)換器”。
除輸入、轉(zhuǎn)換器和輸出之外,該視頻顯現(xiàn)網(wǎng)絡(luò)可以包括其它的資源140(例如視頻存儲器、帶寬、存儲容量等等)。其它的資源140可以被輸入、轉(zhuǎn)換器和輸出使用以便獲得視頻顯現(xiàn)功能。
視頻顯現(xiàn)網(wǎng)絡(luò)100可以硬件形式諸如一個視頻顯示適配器(例如顯示卡)實現(xiàn)。有時,一些資源可以位于該適配器外部。
一個示范性的計算機系統(tǒng)可以包括一個或多個數(shù)字形式的視頻視圖(例如通過該計算機系統(tǒng)的應(yīng)用被寫入的),通過輸入110A-110N使用這些視頻視圖。來自多個輸出120A-120N的得到的信號可以用于驅(qū)動多個視頻顯示裝置。
實施例2-示范性的可替代的視頻顯現(xiàn)網(wǎng)絡(luò)圖2示出另一可配置的視頻顯現(xiàn)網(wǎng)絡(luò)200。在本文的任一實施例中描述的技術(shù)都可以用于配置該視頻顯現(xiàn)網(wǎng)絡(luò)200。
在該實施例中,多個輸入可被用于一個單獨的數(shù)字-視頻-輸入-表示-成-視頻-輸出-信號轉(zhuǎn)換器(例如輸入210B和210N都用作轉(zhuǎn)換器230N的輸入)。這樣的配置在通過使用具有兩個輸入的視頻輸出編解碼器在另一個視頻信號上部重疊一個視頻信號中是有用的,其中該第一輸入是主要內(nèi)容并且該第二輸入是重疊內(nèi)容。在這樣的情況下,重疊的位置和尺寸可被規(guī)定為用于表示重疊內(nèi)容的視頻顯現(xiàn)網(wǎng)絡(luò)源的視頻顯現(xiàn)源模式的一部分。
視頻顯現(xiàn)網(wǎng)絡(luò)可以采用許多其它的形式,具有任意數(shù)量的輸入、轉(zhuǎn)換器以及多個輸出。
實施例3-示范性的視頻顯現(xiàn)網(wǎng)絡(luò)資源在本文中的任一實施例中,一個資源可以包括視頻顯現(xiàn)網(wǎng)絡(luò)輸入(例如源或表面)、視頻顯現(xiàn)網(wǎng)絡(luò)輸出(例如目標)、轉(zhuǎn)換器、視頻存儲器、帶寬、存儲容量等等。
一個視頻顯現(xiàn)網(wǎng)絡(luò)的拓撲有時也稱為一個資源。例如,配置一個資源可以包括僅僅選擇一個拓撲,而不考慮選擇用于包括在該拓撲中的單個資源的配置選項。
實施例4-在一個視頻顯現(xiàn)網(wǎng)絡(luò)中的示范性的視頻路徑一個視頻顯現(xiàn)網(wǎng)絡(luò)100可以具有多個視頻路徑。例如,如圖1中所示,一個路徑可以從輸入110A,經(jīng)過轉(zhuǎn)換器130A,到達輸出120A。另一路徑可以從輸入110A經(jīng)過轉(zhuǎn)換器130A到達輸出120B,等等。
視頻顯現(xiàn)網(wǎng)絡(luò)100的拓撲可以被配置以便根據(jù)該配置存在不同的路徑。例如,代替發(fā)送轉(zhuǎn)換器130N的輸出到視頻輸出120N,通過改變配置設(shè)置可以布置到不同的視頻輸出(例如120B)。
實施例5-示范性的視頻顯現(xiàn)網(wǎng)絡(luò)輸入在此描述的任一實施例中,視頻輸入(或“源”)可以采取各種形式,諸如那些提供數(shù)字表面的輸入。實際上,輸入可以配置成使用各種源模式。這樣的模式可以包括參數(shù),諸如寬度、高度、單元格式、光柵化的圖像濾波技術(shù)、主表面鏈接長度等等,或者一些它們的組合。
實施例6-示范性的視頻顯現(xiàn)網(wǎng)絡(luò)輸出在此描述的任一實施例中,視頻輸出(或“目標”)可以采取各種形式,諸如那些提供輸出信號的輸出。一個描述符可以與輸出相聯(lián)系。該描述符可以表示一個格式(例如DVI、HDMI、HD-15、BNC、S-視頻、RF、RCA等等)和HPD感知。輸出也可以與視頻編碼類型相聯(lián)系。此外,一個輸出可以配置成與另一輸出同步。
實際上,輸出可以配置成使用各種目標模式。這樣的模式可以包括參數(shù),諸如有源區(qū)域(例如寬度和高度)、總區(qū)域(例如寬度和高度)、有源區(qū)域位移、像素編碼格式、垂直回掃頻率、水平回掃頻率、像素時鐘頻率、內(nèi)容排序、彩色原色、白點參照、彩色空間轉(zhuǎn)換矩陣等等,或者它們的一些組合。
實施例7-示范性的轉(zhuǎn)換器在本文的任一實施例中,一個數(shù)字-視頻-輸入-表示-成-視頻-輸出-信號轉(zhuǎn)換器可以采取一個視頻編解碼器、一個數(shù)字-到-模擬轉(zhuǎn)換器等等的形式。一些轉(zhuǎn)換器是可分享的。例如,在一個復(fù)制(例如鏡象)模式中,一個編解碼器可以發(fā)送信號到兩個輸出。
實施例8-示范性的資源的相關(guān)性雖然理論上任何數(shù)量的視頻顯現(xiàn)網(wǎng)絡(luò)100的配置都是可能的,但是只有有限數(shù)量的理論的配置是起作用的配置。實際上,視頻顯現(xiàn)網(wǎng)絡(luò)100的資源是以配置相關(guān)性為條件的。
例如,配置視頻輸入110A成為一個特定的類型可以消耗大量視頻存儲器。在這種情況下,沒有足夠的剩余的存儲器用于使另一視頻輸入(例如110N)成為同樣的類型。例如,它只能配置成消耗較少存儲器的類型。
存在許多種其他的相關(guān)性。例如,轉(zhuǎn)換器可以只接收特定的視頻輸入類型或者只產(chǎn)生特定的視頻輸出類型。因此,一個特定輸入與一個特定轉(zhuǎn)換器結(jié)合可能不起作用,諸如此類。
因此,實際上,實現(xiàn)希望的配置的障礙在于它可能是不起作用的。此外,不容易從視頻顯現(xiàn)網(wǎng)絡(luò)的無數(shù)的理論上可能的視頻顯現(xiàn)網(wǎng)絡(luò)組合當中確定哪個組合是起作用的,其中視頻顯現(xiàn)網(wǎng)絡(luò)具有多個視頻輸入、多個轉(zhuǎn)換器以及多個視頻輸出(其可以各種方式互連)。
圖3是用于一個視頻顯現(xiàn)網(wǎng)絡(luò)的可配置的資源的組合的方框圖。在該實施例中,該理論上可能的配置300可通過將一個或多個配置的第一資源302(例如一個視頻顯現(xiàn)網(wǎng)絡(luò)輸入)與一個或多個配置的第二資源304(例如一個視頻顯現(xiàn)網(wǎng)絡(luò)轉(zhuǎn)換器)相連接,其中該第二資源304與一個或多個配置的第三資源306(例如一個視頻顯現(xiàn)網(wǎng)絡(luò)輸出)相連接。該得到的理論上可能的配置310的組作為可能配置的大量的集合示出,依賴于其中資源的配置,這些可能配置中的一些是起作用的,并且另一些是不起作用的。
在這樣的大量的解決方法空間中得到用于最佳配置的解決方法是一個三分裂的圖表匹配問題,其是一個NP-完全問題。因此,當用于資源的可能的配置的數(shù)量超過一個合理的數(shù)量時,使用窮舉法可能是有問題的。
實施例9-示范性的配置在此描述的任一實施例中,資源的配置可以采取多種形式,包括選擇用于一組視頻顯現(xiàn)網(wǎng)絡(luò)的資源的拓撲或者選擇用于網(wǎng)絡(luò)(例如無論網(wǎng)絡(luò)是否互相連接)中一個或多個資源的配置選項(例如模式)。
實施例10-示范性的配置方法圖4示出可用于在此描述的任何視頻顯現(xiàn)網(wǎng)絡(luò)以便獲得配置的示范性的配置方法400。該方法和任何在此描述的其它方法可以通過在一個或多個計算機可讀介質(zhì)上的計算機可執(zhí)行指令實現(xiàn)。
在410,接收視頻顯現(xiàn)網(wǎng)絡(luò)的第一資源的配置的指示。例如,可以接收用于視頻顯現(xiàn)網(wǎng)絡(luò)的一個特定視頻輸入的配置。
在420,與該第一資源的配置的指示分離地接收該視頻顯現(xiàn)網(wǎng)絡(luò)的第二資源的配置的指示。例如,可以接收用于視頻顯現(xiàn)網(wǎng)絡(luò)的多個輸出的一個特定視頻輸出的配置。
接著,在430,根據(jù)配置的指示配置該視頻顯現(xiàn)網(wǎng)絡(luò)。
實際上,用于視頻顯現(xiàn)網(wǎng)絡(luò)的任何資源(例如,用于兩個不同的輸入、兩個不同的輸出、兩個不同的轉(zhuǎn)換器、一個轉(zhuǎn)換器和一個輸出等等)的另外的配置的指示可以單獨地接收。
單獨地接收的指示可以包括通過使用兩個不同的調(diào)用所接收的那些指示,諸如到編程接口的那些調(diào)用(例如裝置驅(qū)動器接口調(diào)用)。例如,可以使用兩個不同的裝置驅(qū)動器的調(diào)用。或者,在同一調(diào)用中可以使用兩個不同的參數(shù)?;蛘撸梢允褂脝为毜闹当硎举Y源的一個或多個數(shù)據(jù)結(jié)構(gòu)。這樣的調(diào)用可以來自一個客戶,諸如一個操作系統(tǒng)。
用這樣一種方法,視頻顯現(xiàn)網(wǎng)絡(luò)的資源可以被獨立配置。這樣的配置還可以表示用于視頻顯現(xiàn)網(wǎng)絡(luò)的拓撲(例如資源是怎樣互相連接的)。
實施例11-示范性的臨時的配置使用一個臨時配置方法可以促進各種功能,包括在無數(shù)可能的功能配置中得到一個希望的配置。圖5示出了表示諸如在圖1中示出的視頻顯現(xiàn)網(wǎng)絡(luò)的資源的臨時配置的圖表500。
在該實施例中,資源σ1已經(jīng)被臨時配置了(例如,用于視頻顯現(xiàn)網(wǎng)絡(luò)的資源的配置參數(shù)被存儲,但是該配置不需要是完全起作用的)。這樣的一個臨時配置可以是以部分配置(例如來自視頻顯現(xiàn)網(wǎng)絡(luò)資源的一個資源的配置或者該視頻顯現(xiàn)網(wǎng)絡(luò)的拓撲的指示)的接收為基礎(chǔ)的。對于一個臨時配置不需要接收所有資源的配置。因為沒有全組配置參數(shù)的配置通常仍然不起作用,所以一個臨時配置有時稱為“半-功能的”。提供用于一個資源的部分配置有時稱為“固定”該資源。如果需要,該部分配置可被移除(或忽略)。移除該部分配置有時稱為“未固定”。
實施例12-示范性的相互影響配置獲得一個視頻顯現(xiàn)網(wǎng)絡(luò)的配置的相互影響方法可以是以所描述的臨時配置為基礎(chǔ)的。圖6示出用于借助于一個相互影響方法獲得視頻顯現(xiàn)網(wǎng)絡(luò)630(例如在圖1中示出的視頻顯現(xiàn)網(wǎng)絡(luò))的配置的示范性的設(shè)置600。
在該實施例設(shè)置600中,一個客戶610可以發(fā)送用于視頻顯現(xiàn)網(wǎng)絡(luò)的部分配置信息到服務(wù)器620。依據(jù)接收到一個提交,然后服務(wù)器620可以根據(jù)部分配置的指示配置視頻顯現(xiàn)網(wǎng)絡(luò)630。
圖7示出用于借助于相互影響方法執(zhí)行配置的示范性的方法700。在710,接收到一系列用于視頻顯現(xiàn)網(wǎng)絡(luò)的部分配置(例如通過一個服務(wù)器從一個客戶接收)。該部分配置可以用于建立一個臨時起作用的配置。
在720,該臨時起作用的配置被提交。該提交可以在視頻顯現(xiàn)網(wǎng)絡(luò)(例如網(wǎng)絡(luò)630)中實現(xiàn)臨時起作用的配置。
一個臨時起作用的配置在沒有被實現(xiàn)的情況下可以被存儲。例如,該配置可以在沒有配置視頻顯現(xiàn)網(wǎng)絡(luò)的資源的情況下被存儲視頻顯現(xiàn)(例如直到提交的配置指示被處理)。
實施例13-示范性的共同起作用的配置選項的確定由于視頻顯現(xiàn)網(wǎng)絡(luò)的資源之間的相關(guān)性,考慮到已經(jīng)裝配的一個臨時起作用的配置,一些理論上可能的配置選項也許是不起作用的。例如,假定資源σ1已經(jīng)被臨時配置了(例如,如圖5中所示),對于視頻顯現(xiàn)網(wǎng)絡(luò)的另一資源(例如σ∑)可利用的配置選項可能被限制。
圖8A示出考慮到另一資源σ1已經(jīng)被臨時配置時用于一個資源σ∑的示范性的配置選項組850,從該選項中只有一個子組860配置選項是可利用的(例如將產(chǎn)生一個起作用的配置)。在這樣的設(shè)置中,該可利用的配置選項有時描述為與另一個配置選項(例如該臨時起作用的配置的選項)“共同起作用的”或者“未使無效”臨時配置。
用于一個資源的共同起作用的配置選項組860在一個處理的臨時配置期間有時稱為“枚舉”可被作為反饋提供。然后這樣的反饋可以用于作出關(guān)于進一步的配置的決定(例如用于進一步的建立臨時起作用的配置或者用于反饋到一個較早的臨時起作用的配置)。
有時,可能希望從該臨時起作用的配置移除一部分配置。例如,可能發(fā)現(xiàn)該臨時起作用的配置不允許一個至今未配置的資源以希望的方式配置。因此,在此描述的任一配置方法可以包括接收一個指示以便從該臨時起作用的配置移除一部分配置并且響應(yīng)于接收指示來移除該部分配置(或者,僅僅一個新的部分配置來覆蓋舊的部分配置)。因此,一個方法可以反饋(例如未固定一個資源)到一個較早的臨時起作用的配置(例如在提交該臨時起作用的配置之前)。
實施例14-用于多個資源的共同起作用的配置選項的示范性的確定實際上,可能希望立刻確定用于多個資源的共同起作用的配置選項。例如,在一個給定的拓撲作為一個部分配置的一部分被選擇后,可能希望枚舉用于視頻顯現(xiàn)網(wǎng)絡(luò)資源的配置選項,該配置選項是與所選的拓撲共同起作用的。
圖8B示出其中示出用于各個資源(例如σ1、σ2和σ3)的共同起作用的配置選項880A、880B和880C的設(shè)置,其中示出同時用于超過一個資源的配置選項。該示出的共同起作用的配置選項相對于所選擇的拓撲是共同起作用的。該選項相對于彼此可能不是共同起作用的。例如,為第一資源選擇共同起作用的選項中的一個可能使另一資源的另一個共同起作用的選項無效(例如,與另一資源的另一共同起作用的選項不是共同起作用的)。
在該實施例中,考慮到所選擇的拓撲,至少一些原始選項(例如870A、870B和870C)不再是可利用的(例如不是共同起作用的)。當為其它資源(例如目標)枚舉選項時,一個類似的設(shè)置是可能的。
這樣的選項可以通過軟件(例如一個視頻驅(qū)動器)枚舉。在此描述的任一實施例中,如果為一個資源選擇了任一枚舉的選項,則可能希望保證這樣的選擇與用于任何其它資源的至少一個(例如不會使所有的無效)選項是共同起作用的。
實施例15-示范性的在固定期間共同起所用的選項的無效實際上,在已經(jīng)枚舉了用于多個資源的與一個拓撲共同起作用的配置選項(例如,對于多個資源)之后,這樣的配置選項可被包括在一個部分、臨時配置中。然而,固定(例如臨時選擇)用于第一資源的一個配置選項可能使用于另一資源的另一選項無效(例如,與另一選項不是共同起作用的)。
圖9A-C示出選擇用于一個資源的配置選項使用于另一資源的配置選項無效的例子。一個拓撲可被選擇。圖9A示出在選擇了一個拓撲后枚舉的共同起作用的選項920A、920B和920C(例如分別是理論上可能的選項910A、910B和910C的子組)。接著,圖9B示出對于第一資源已經(jīng)選擇(例如固定)了一個特定選項921。因此,用于另一個資源的一些配置選項可能不再是可利用的(例如它們是無效的)。在該實施例中,一個選項不再出現(xiàn)在920B’中。有時,其它選項是無效的?;蛘?,也許沒有選項是無效的。
圖9C示出對于另一個資源已經(jīng)選擇了(例如固定的)一個特定選項922。因此,用于剩余的資源的一些配置選項可能不再是可利用的。在該實施例中,一個選項不再出現(xiàn)在920C”中。有時,用于第一資源的一些選項也可能是無效的(例如,產(chǎn)生一組920A’,未示出)。然而,實際上,在一個資源被固定后(例如對于該資源已經(jīng)選擇了一個配置選項),該固定的配置選項不會由于選擇另一個枚舉的配置選項而無效。
由于在圖9A-9C中示出的現(xiàn)象,當對于多個資源枚舉時,在固定一個資源后有必要檢查無效的選項。這可以通過重新枚舉來執(zhí)行。
實施例16-在另一固定情況期間示范性的共同起作用的選項的無效圖10A-C示出其中選擇用于一個資源的的配置選項使用于另一資源的配置選項無效的另一例子。一個拓撲可被選擇。圖10A示出在選擇了一個拓撲后枚舉的共同起作用的選項1020A、1020B和1020C(例如,分別是理論上可能的選項1010A、1010B和1010C的子組)。接著,圖10B示出對于第一資源已經(jīng)選擇了(例如固定的)一個特定選項1021。因此,用于另一資源的一些配置選項可能不再是可利用的(例如,它們是無效的)。在該實施例中,一個選項不再出現(xiàn)在1020B’中。有時,其它選項是無效的?;蛘撸苍S沒有選項是無效的。
圖10C示出對于另一資源已經(jīng)選擇了(例如固定的)一個特定選項1022。因此,用于剩余資源的一些配置選項可能不再是可利用的。在該實施例中,一個選項不再出現(xiàn)在1020C”中。有時,用于第一資源的一些選項也可能是無效的(例如產(chǎn)生一組1020A’,未示出)。然而,實際上,在固定了一個資源后(例如對于該資源已經(jīng)選擇了一個配置選項),該固定的配置選項不會由于選擇另一個枚舉的配置選項被無效。許多其它的情況是可能的。
實施例17-示范性的具有反饋的相互影響方法圖11示出用于借助于一個具有反饋的相互影響方法獲得視頻顯現(xiàn)網(wǎng)絡(luò)1130(例如圖1中示出的視頻顯現(xiàn)網(wǎng)絡(luò))的配置的示范性的設(shè)置1100。
在該示例設(shè)置1100中,一個客戶1110可以發(fā)送用于視頻顯現(xiàn)網(wǎng)絡(luò)的部分配置信息到服務(wù)器1120。該部分配置信息可以用于視頻顯現(xiàn)網(wǎng)絡(luò)的任一資源。該部分配置可以表示該視頻顯現(xiàn)網(wǎng)絡(luò)的一個拓撲。
在接收到該配置信息(例如一個部分配置,諸如用于第一資源)后,共同起作用的配置選項(例如用于第二資源)可以被提供。該共同起作用的配置選項可以用于不同于該部分配置的資源,用于在不同路徑中的資源等等。該共同起作用的選項基于該配置信息可以被限制(例如至少一個非共同起作用選項被移除)。如在此描述的,該選項可以通過枚舉被提供,并且可以同時對多個資源作出枚舉。
用于另一資源的共同起作用的配置選項可以是以視頻顯現(xiàn)網(wǎng)絡(luò)的資源之間的相關(guān)性為基礎(chǔ)的。該客戶可以從共同起作用的配置選項之間選擇,并且繼續(xù)建立一個臨時起作用的配置。
依據(jù)接收到一個提交,該服務(wù)器1120可以根據(jù)部分配置的指示接著配置該視頻顯現(xiàn)網(wǎng)絡(luò)1130。
圖12示出用于從服務(wù)器觀點執(zhí)行具有反饋的配置的示范性方法1200。該方法可以借助于在圖11中示出的設(shè)置操作。在1210,一個部分視頻顯現(xiàn)網(wǎng)絡(luò)配置的指示被接收。例如,該部分配置可以表示用于該視頻顯現(xiàn)網(wǎng)絡(luò)的第一資源的一個配置。
在1220,共同起作用的配置選項被表示(例如,如以上對于圖11A或11B所描述的)??商娲?,除一個或多個非共同起作用的配置選項之外,所有的配置選項可以被表示,在該選項被表示之前,非共同起作用的選項將從被表示的選項中移除。該方法也可以包括一個提交(未示出),通過該提交該配置可以被提交到視頻顯現(xiàn)網(wǎng)絡(luò)。
圖13示出用于從客戶觀點執(zhí)行具有反饋的配置的示范性的方法1300。該方法可以借助于在圖11中示出的設(shè)置操作。在1310,一個部分視頻顯現(xiàn)網(wǎng)絡(luò)配置的指示被發(fā)送。例如,該部分配置可以表示用于視頻顯現(xiàn)網(wǎng)絡(luò)的第一資源的配置。
在1320,一組共同起作用的配置選項(例如,如以上對于圖11A或11B所描述的)被表示。此外,該方法也可以包括一個提交(未示出),通過該提交該配置被提交到視頻顯現(xiàn)網(wǎng)絡(luò)。
實施例18-在視頻驅(qū)動器中的示范性的服務(wù)器實施確定共同起作用的配置選項可以委托給一個視頻驅(qū)動器。在此描述的任一實施例中,由服務(wù)器執(zhí)行的動作可以被一個視頻驅(qū)動器(例如一個視頻小端口)執(zhí)行。
圖14示出其中具有反饋的臨時配置可被實現(xiàn)的示范性結(jié)構(gòu)1400。該實施例包括一個客戶1410(例如一個操作系統(tǒng),諸如圖形子系統(tǒng),一個應(yīng)用,等等)、一個具有相關(guān)性邏輯1425的驅(qū)動器1420(例如以內(nèi)核模式操作的裝置-特定的視頻驅(qū)動器)以及一個視頻適配器1430,該視頻適配器提供視頻輸出到多個顯示裝置1440A-1440N。
在此描述的任何實施例中,該視頻驅(qū)動器1420可以用作一個服務(wù)器。該相關(guān)性邏輯1425可以包括用于接收部分配置、枚舉共同起作用的配置選項、以及提交一個配置的功能。
因此,一個顯示適配器的硬件廠家可以開發(fā)一個結(jié)合適當?shù)南嚓P(guān)性邏輯1425的合適的驅(qū)動器1420以便幫助確定一個希望的視頻顯現(xiàn)網(wǎng)絡(luò)配置。
實施例19-示范性的優(yōu)勢在一個視頻驅(qū)動器中實現(xiàn)相關(guān)性邏輯,如在實施例18中所討論的,通過減少具有某組限制的給定硬件實施的范圍可以簡化確定一個合適的配置。如果該邏輯改為在該操作系統(tǒng)中,該任務(wù)可能是更加復(fù)雜的(例如,需要是完全的通配的并且支持每個可能的相關(guān)性)。
實施例20-視頻顯現(xiàn)網(wǎng)絡(luò)的示范性的配置圖15示出借助于部分配置用于視頻顯現(xiàn)網(wǎng)絡(luò)的配置的示范性方法1500。在1504,用于該視頻顯現(xiàn)網(wǎng)絡(luò)的拓撲被選擇。在1506,用于資源的配置選項被枚舉并固定。在1508,用于目標的配置選項被枚舉并固定。一個提交(未示出)可被用于實現(xiàn)該配置。
在本文的任一實施例中,雖然有時示出的資源是在目標之前被固定的,但是不必是這樣的情況。例如,目標可以在資源之前被固定。
實施例21-示范性的橫越解空間集中在起作用的配置圖16示出橫越可能起作用的多個視頻輸出配置組合的圖表的示范性方法1600的流程圖。這樣的方法可被與一個服務(wù)器(例如視頻驅(qū)動器1420)相互作用的客戶(例如客戶1410)使用。該實施例示出一個視頻小端口,但是另一個視頻驅(qū)動器(例如視頻驅(qū)動器1420)可被使用。
該實施例還包括一個固定的拓撲有作用的視頻顯現(xiàn)網(wǎng)絡(luò)配置搜索,但是其它實施例可以包括在該搜索期間改變該拓撲的選項。例如,在一個視頻顯現(xiàn)源模式在視頻顯現(xiàn)網(wǎng)絡(luò)源上固定使得用于另一視頻顯現(xiàn)網(wǎng)絡(luò)源的至少一個其它視頻顯現(xiàn)源模式無效后,可能希望改變一個拓撲。
在1602,一個希望的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲已經(jīng)被選擇。
在1604,已知該希望的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲,對于一個視頻顯現(xiàn)網(wǎng)絡(luò)配置(例如拓撲)查詢一個視頻小端口,該視頻顯現(xiàn)網(wǎng)絡(luò)配置支持在至少一個視頻顯現(xiàn)網(wǎng)絡(luò)目標(例如所有的目標)上的至少一個支持監(jiān)視器的視頻信號模式(例如所有的模式)。
在1606,枚舉在所獲得的視頻顯現(xiàn)網(wǎng)絡(luò)配置(例如拓撲)中的至少一個視頻顯現(xiàn)源(例如所有的源)上的該可利用的視頻顯現(xiàn)源模式的組。
在1608,一個視頻顯現(xiàn)源模式被固定在至少一個視頻顯現(xiàn)網(wǎng)絡(luò)源(例如所有的源)上。
在1610,確定是否還存在視頻顯現(xiàn)網(wǎng)絡(luò)源,一個視頻顯現(xiàn)源模式將要固定在這些網(wǎng)絡(luò)源上。如果存在另一將要固定的視頻顯現(xiàn)網(wǎng)絡(luò)源,該處理前進到1612。否則,該處理前進到1614。
在1612,確定是否任何以前枚舉的視頻顯現(xiàn)源模式已經(jīng)是無效的。如果是,該處理回到1606。如果不是,該處理回到1608。在該實施例中,基于另一視頻顯現(xiàn)源模式的選擇,可使至少一個以前枚舉的視頻顯現(xiàn)源模式無效,但是通過這樣的選擇,不能使所有的視頻顯現(xiàn)源模式無效。
在1614,枚舉在所獲得的視頻顯現(xiàn)網(wǎng)絡(luò)配置中的至少一個視頻顯現(xiàn)目標(例如所有的目標)上的該可利用的視頻顯現(xiàn)目標模式的組。
在1616,一個視頻顯現(xiàn)目標模式被固定在至少一個視頻顯現(xiàn)網(wǎng)絡(luò)目標(例如所有的目標)上。
在1618,確定是否還存在視頻顯現(xiàn)網(wǎng)絡(luò)目標,一個視頻顯現(xiàn)目標模式將要固定在這些網(wǎng)絡(luò)目標上。如果存在另一將要固定的視頻顯現(xiàn)網(wǎng)絡(luò)目標,該處理前進到1620。否則,該處理前進到1622。
在1620,確定是否任何以前枚舉的視頻顯現(xiàn)目標模式已經(jīng)被無效。如果是,該處理回到1614。如果不是,該處理回到1616。
在1622,一個最后所得到的起作用的視頻顯現(xiàn)網(wǎng)絡(luò)配置組合被提交。
實施例22-第一示范性具體橫越解空間集中在起作用的配置上的例子圖17A-B示出橫越可能的起作用的多個視頻輸出配置組合的圖表的第一示范性具體方法1700的流程圖。這樣的方法可被與一個服務(wù)器(例如視頻驅(qū)動器1420)相互作用的一個客戶(例如客戶1410)使用。該實施例示出一個視頻小端口,但是另一視頻驅(qū)動器(例如視頻驅(qū)動器1420)可被使用。
在1702,已經(jīng)提供了一個初始的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲。
在1704,已知該初始的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲,對于一個視頻顯現(xiàn)網(wǎng)絡(luò)配置(例如拓撲)查詢一個視頻小端口,該視頻顯現(xiàn)網(wǎng)絡(luò)配置支持在至少一個視頻顯現(xiàn)網(wǎng)絡(luò)目標(例如所有的目標)上的至少一個支持監(jiān)視器視頻信號模式(例如所有的模式)。
在1706,作出由1704的查詢所規(guī)定的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲是否被支持的確定。如果所規(guī)定的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲被支持,接著該處理前進到1708。否則,該處理前進到1710。
在1708,作出當前視頻顯現(xiàn)網(wǎng)絡(luò)拓撲是否是最希望的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲的確定。如果是,然后該處理前進到1712。否則,該處理前進到1714。
在1710,作出至少一個其它初始視頻顯現(xiàn)網(wǎng)絡(luò)拓撲是否存在的確定。如果是,然后該處理回到1704。否則,由于不集中到具有希望的搜索參數(shù)的起作用的配置組合,該處理在1790終止。
在1712,枚舉在所獲得的視頻顯現(xiàn)網(wǎng)絡(luò)配置中的至少一個視頻顯現(xiàn)網(wǎng)絡(luò)源(例如所有的源)上的可利用的視頻顯現(xiàn)源模式組。然后該處理前進到1722。
在1714,通過增加或者移除視頻顯現(xiàn)路徑(例如多路徑),該視頻顯現(xiàn)網(wǎng)絡(luò)拓撲可被調(diào)整到一個新的有效的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲。接著該處理前進到1716,其中作出該新的有效的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲是否被支持的確定。如果是,然后該處理回到1708。否則,該處理前進到1718。
在1718,作出是否存在至少一個其它的希望的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲的確定,其中該視頻顯現(xiàn)網(wǎng)絡(luò)拓撲可以通過經(jīng)由有效的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲的增加改變來獲得。如果是,該處理前進到1720。否則,該處理在1790終止。
在1720,作出僅通過無效拓撲(例如該拓撲不能被進一步調(diào)整)另一希望的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲是否是可獲得的確定。如果是,該處理回到1704。否則,該處理回到1714。
在1722,作出任何枚舉的視頻顯現(xiàn)源模式是否遺漏了相應(yīng)視頻顯現(xiàn)網(wǎng)絡(luò)源所希望的一個模式的確定。如果是,該處理前進到1724。否則,該處理前進到1732。
在1724,作出任何視頻顯現(xiàn)網(wǎng)絡(luò)源是否具有一個固定的視頻顯現(xiàn)源模式的確定。如果是,該處理前進到1728,其中一個固定的視頻顯現(xiàn)源模式被解除固定,并且然后該處理回到1712。否則,該處理前進到1730。在1728解除固定的該視頻顯現(xiàn)源模式可以根據(jù)視頻顯現(xiàn)網(wǎng)絡(luò)源重要性進行排序(例如該源模式可以按重要性從大到小來區(qū)分優(yōu)先次序)。
在1730,作出是否存在對于視頻顯現(xiàn)網(wǎng)絡(luò)源可利用的至少一個其它視頻顯現(xiàn)源模式的確定。如果是,該處理回到1732,其中一個視頻顯現(xiàn)源模式固定在至少一個視頻顯現(xiàn)網(wǎng)絡(luò)源(例如對于所有的源)上,并且然后該處理前進到1734。否則,該處理在1790終止。在1732固定的該視頻顯現(xiàn)源模式可以根據(jù)視頻顯現(xiàn)網(wǎng)絡(luò)源重要性進行排序(例如,該源模式可以按重要性從大到小來區(qū)分優(yōu)先次序)。
在1734,確定是否還存在視頻顯現(xiàn)網(wǎng)絡(luò)源,該該視頻顯現(xiàn)網(wǎng)絡(luò)源上一個視頻顯現(xiàn)源模式將要被固定。如果存在另一將要固定的視頻顯現(xiàn)網(wǎng)絡(luò)源,該處理前進到1736。否則,該處理前進到1738。
在1736,確定是否任何以前枚舉的視頻顯現(xiàn)源模式已經(jīng)被無效。如果是,該處理回到1712。如果不是,該處理回到1732。
在1738,枚舉在所獲得的視頻顯現(xiàn)網(wǎng)絡(luò)配置中的至少一個視頻顯現(xiàn)網(wǎng)絡(luò)目標(例如所有的目標)上的可利用的視頻顯現(xiàn)目標模式組。
在1742,作出是否任何枚舉的視頻顯現(xiàn)目標模式遺漏了相應(yīng)視頻顯現(xiàn)網(wǎng)絡(luò)目標所希望的一個模式的確定。如果是,該處理前進到1744。否則,該處理前進到1752。
在1744,作出是否任何視頻顯現(xiàn)網(wǎng)絡(luò)目標具有固定在其上的視頻顯現(xiàn)目標模式的確定。如果是,該處理前進到1748,其中一個固定的視頻顯現(xiàn)目標模式被解除固定,并且然后該處理回到1738。否則,該處理前進到1750。在1748解除固定的該視頻顯現(xiàn)目標模式可以根據(jù)視頻顯現(xiàn)網(wǎng)絡(luò)目標重要性排序(例如該目標模式可以按重要性從大到小來區(qū)分優(yōu)先次序)。
在1750,作出是否存在對于視頻顯現(xiàn)網(wǎng)絡(luò)目標可利用的至少一個其它的視頻顯現(xiàn)目標模式的確定。如果是,該處理回到1752,其中一個視頻顯現(xiàn)目標模式固定在至少一個視頻顯現(xiàn)網(wǎng)絡(luò)目標(例如對于所有的目標)上,并且然后該處理到1754。否則,該處理在1790終止。在1752固定的視頻顯現(xiàn)目標模式可以根據(jù)視頻顯現(xiàn)網(wǎng)絡(luò)目標重要性排序(例如該目標模式可以按重要性從大到小來區(qū)分優(yōu)先次序)。
在1754,確定是否還存在視頻顯現(xiàn)網(wǎng)絡(luò)目標,在該視頻顯現(xiàn)網(wǎng)絡(luò)目標上一個視頻顯現(xiàn)目標模式將要被固定。如果存在另一將要固定的視頻顯現(xiàn)網(wǎng)絡(luò)目標,該處理前進到1756。否則,該處理前進到1780。
在1756,確定是否任何以前枚舉的視頻顯現(xiàn)目標模式已經(jīng)被無效。如果是,該處理回到1738。如果不是,該處理回到1752。
在1780,一個最后得到的起作用的視頻顯現(xiàn)網(wǎng)絡(luò)配置組合被提交。
實施例23-第二示范性的橫越具體的解空間的集中在起作用的配置上的例子圖18A-C示出橫越可能的起作用的多個視頻輸出配置組合的圖表的第二示范性具體方法1800的流程圖。這樣的方法可以被與一個服務(wù)器(例如視頻驅(qū)動器1420)相互作用的一個客戶(例如客戶1410)使用。該實施例示出一個視頻小端口,但是另一視頻驅(qū)動器(例如視頻驅(qū)動器1420)可被使用。
在1802,已經(jīng)提供了一個初始視頻顯現(xiàn)網(wǎng)絡(luò)拓撲。
在1804,已知該初始視頻顯現(xiàn)網(wǎng)絡(luò)拓撲,對于一個視頻顯現(xiàn)網(wǎng)絡(luò)配置(例如拓撲)查詢一個視頻小端口,該視頻顯現(xiàn)網(wǎng)絡(luò)配置支持在至少一個視頻顯現(xiàn)網(wǎng)絡(luò)目標(例如所有的目標)上的至少一個支持監(jiān)視器的視頻信號模式(例如所有的模式)。
在1806,作出由1804的查詢規(guī)定的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲是否被支持的確定。如果該規(guī)定的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲被支持,然后該處理前進到1808。否則,該處理前進到1810。
在1808,作出當前視頻顯現(xiàn)網(wǎng)絡(luò)拓撲是否是最希望的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲的確定。如果它是,接著該處理前進到1812。否則,該處理前進到1814。
在1810,作出是否存在至少一個其它的初始視頻顯現(xiàn)網(wǎng)絡(luò)拓撲的確定。如果存在,接著該處理回到1804。否則,由于不集中在具有希望的搜索參數(shù)的起作用的配置組合,該處理在1890終止。
在1812,枚舉在所獲得的視頻顯現(xiàn)網(wǎng)絡(luò)配置中的至少一個視頻顯現(xiàn)網(wǎng)絡(luò)源(例如所有的源)上的可利用的視頻顯現(xiàn)源模式組。接著該處理前進到1822。
在1814,通過增加或者移除視頻顯現(xiàn)路徑(例如多路徑),該視頻顯現(xiàn)網(wǎng)絡(luò)拓撲可被調(diào)整到一個新的有效的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲。接著該處理前進到1816,其中作出該新的有效的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲是否被支持的確定。如果是,然后該處理回到1808。否則,該處理前進到1818。
在1818,作出是否存在至少一個其它的希望的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲的確定,其中該視頻顯現(xiàn)網(wǎng)絡(luò)拓撲可以通過經(jīng)由有效的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲的增加改變來獲得。如果是,該處理前進到1820。否則,該處理端在1890。
在1820,作出僅通過無效拓撲(例如該拓撲不能被進一步調(diào)整)另一希望的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲是否是可獲得的確定。如果是,該處理回到1804。否則,該處理回到1814。
在1822,作出任何枚舉的視頻顯現(xiàn)源模式是否遺漏了相應(yīng)視頻顯現(xiàn)網(wǎng)絡(luò)源所希望的一個模式的確定。如果是,該處理前進到1824。否則,該處理前進到1832。
在1824,作出任何視頻顯現(xiàn)網(wǎng)絡(luò)源是否具有一個固定的視頻顯現(xiàn)源模式的確定。如果是,該處理前進到1828,其中一個固定的視頻顯現(xiàn)源模式被解除固定,并且然后該處理回到1812。否則,該處理前進到1830。在1828解除固定的該視頻顯現(xiàn)源模式可以根據(jù)視頻顯現(xiàn)網(wǎng)絡(luò)源重要性進行排序(例如該源模式可以按重要性從大到小來區(qū)分優(yōu)先次序)。
在1830,作出是否存在對于視頻顯現(xiàn)網(wǎng)絡(luò)源可利用的至少一個其它視頻顯現(xiàn)源模式的確定。如果是,該處理回到1832,其中一個視頻顯現(xiàn)源模式固定在至少一個視頻顯現(xiàn)網(wǎng)絡(luò)源(例如對于所有的源)上,并且然后該處理到1834。否則,該處理前進到1831。在1832固定的該視頻顯現(xiàn)源模式可以根據(jù)視頻顯現(xiàn)網(wǎng)絡(luò)源重要性進行排序(例如,該源模式可以按重要性從大到小來區(qū)分優(yōu)先次序)。
在1831,作出已知任何其它希望的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲、是否存在對于視頻顯現(xiàn)網(wǎng)絡(luò)源可利用的至少一個其它視頻顯現(xiàn)源模式的確定。如果是,該處理回到1818。否則,該處理端在1890。
在1834,確定是否還存在視頻顯現(xiàn)網(wǎng)絡(luò)源,在該視頻顯現(xiàn)網(wǎng)絡(luò)源上一個視頻顯現(xiàn)源模式將要被固定。如果存在另一將要固定的視頻顯現(xiàn)網(wǎng)絡(luò)源,該處理前進到1836。否則,該處理前進到1838。
在1836,確定是否任何以前枚舉的視頻顯現(xiàn)源模式已經(jīng)被無效。如果是,該處理回到1812。如果不是,該處理回到1832。
在1838,枚舉在所獲得的視頻顯現(xiàn)網(wǎng)絡(luò)配置中的至少一個視頻顯現(xiàn)網(wǎng)絡(luò)目標(例如所有的目標)上的可利用的視頻顯現(xiàn)目標模式組。
在1842,作出是否任何枚舉的視頻顯現(xiàn)目標模式遺漏了相應(yīng)視頻顯現(xiàn)網(wǎng)絡(luò)目標所希望的一個模式的確定。如果是,該處理前進到1844。否則,該處理前進到1852。
在1844,作出是否任何視頻顯現(xiàn)網(wǎng)絡(luò)目標具有固定在其上的視頻顯現(xiàn)目標模式的確定。如果是,該處理前進到1848,其中一個固定的視頻顯現(xiàn)目標模式被解除固定,并且然后該處理回到1838。否則,該處理前進到1850。在1848解除固定的該視頻顯現(xiàn)目標模式可以根據(jù)視頻顯現(xiàn)網(wǎng)絡(luò)目標重要性排序(例如該目標模式可以按重要性從大到小來區(qū)分優(yōu)先次序)。
在1850,作出已知當前的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲并且固定在視頻顯現(xiàn)網(wǎng)絡(luò)源上的視頻顯現(xiàn)源模式、是否存在對于視頻顯現(xiàn)網(wǎng)絡(luò)目標可利用的至少一個其它的視頻顯現(xiàn)目標模式的確定。如果是,該處理回到1852,其中一個視頻顯現(xiàn)目標模式固定在至少一個視頻顯現(xiàn)網(wǎng)絡(luò)目標(例如對于所有的目標)上,并且然后該處理到1854。否則,該處理前進到1856。在1852固定的視頻顯現(xiàn)目標模式可以根據(jù)視頻顯現(xiàn)網(wǎng)絡(luò)目標重要性排序(例如該目標模式可以按重要性從大到小來區(qū)分優(yōu)先次序)。
在1854,確定是否還存在視頻顯現(xiàn)網(wǎng)絡(luò)目標,在該視頻顯現(xiàn)網(wǎng)絡(luò)目標上一個視頻顯現(xiàn)目標模式將要被固定。如果存在另一將要固定的視頻顯現(xiàn)網(wǎng)絡(luò)目標,該處理前進到1868。否則,該處理前進到1880。
在1856,作出以下內(nèi)容哪個是更重要的確定當前的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲或者當前固定在視頻顯現(xiàn)網(wǎng)絡(luò)源上的視頻顯現(xiàn)源模式。如果當前固定在視頻顯現(xiàn)網(wǎng)絡(luò)源上的該視頻顯現(xiàn)源模式被認為是更重要的,該處理前進到1862。如果當前視頻顯現(xiàn)網(wǎng)絡(luò)拓撲被認為是更重要的,該處理前進到1864。
在1862,確定是否存在至少一個其它的希望的視頻顯現(xiàn)網(wǎng)絡(luò)拓撲。如果是,該處理回到1818。如果不是,該處理前進到1866。
在1864,作出已知當前視頻顯現(xiàn)網(wǎng)絡(luò)拓撲、是否存在至少一個其它的希望的視頻顯現(xiàn)源模式的確定。如果是,該處理回到1828。否則,該處理前進到1862。
在1866,作出是否存在在至少一個視頻顯現(xiàn)網(wǎng)絡(luò)源上可利用的至少一個其它的希望的視頻顯現(xiàn)源模式的確定。如果是,該處理前進到1864。否則,該處理在1890終止。
在1868,確定是否任何以前枚舉的視頻顯現(xiàn)目標模式已經(jīng)被無效。如果是,該處理回到1838。如果不是,該處理回到1852。
在1880,一個最后得到的起作用的視頻顯現(xiàn)網(wǎng)絡(luò)配置組合被提交。
實施例24-獲得目標配置的示范性的方法圖19示出考慮到目標(例如根據(jù)被監(jiān)視器支持的視頻模式所描述的)確定用于一個視頻顯現(xiàn)網(wǎng)絡(luò)的拓撲的示范性方法1900的流程圖。
在1902,該處理從一個初始拓撲開始。在1906,該初始拓撲被修改以便更好地滿足該目標(例如通過產(chǎn)生更好地滿足該目標的一個臨時起作用的配置)。這樣的修改可以考慮在視頻顯現(xiàn)網(wǎng)絡(luò)的資源之間的相關(guān)性。
可能的目標可以與視頻模式或者其它的配置選項有關(guān)。例如,一個目標可以是通過該可利用的視頻輸出編解碼器將視頻顯現(xiàn)網(wǎng)絡(luò)目標布置到視頻顯現(xiàn)網(wǎng)絡(luò)中的視頻顯現(xiàn)網(wǎng)絡(luò)源、以便最大化地支持在它的視頻顯現(xiàn)網(wǎng)絡(luò)源上的圖形視頻顯現(xiàn)網(wǎng)絡(luò)源模式設(shè)置的最好的方法,假定在該視頻顯現(xiàn)網(wǎng)絡(luò)目標上的視頻模式設(shè)置必須支持在與它們連接的所有監(jiān)視器上的較佳模式?;蛘?,如果這樣的一個目標不能被獲得,該目標可以是通過該可利用的視頻輸出編解碼器將視頻顯現(xiàn)網(wǎng)絡(luò)目標布置到視頻顯現(xiàn)網(wǎng)絡(luò)中的視頻顯現(xiàn)網(wǎng)絡(luò)源、以便最大化地支持在它的視頻顯現(xiàn)網(wǎng)絡(luò)源上的圖形視頻顯現(xiàn)網(wǎng)絡(luò)源模式設(shè)置的最好的方法,假定在該視頻顯現(xiàn)網(wǎng)絡(luò)目標上的視頻模式設(shè)置必須支持在與它們連接的監(jiān)視器上的以規(guī)定的優(yōu)先次序排序的較佳模式?;蛘撸绻@樣的目標不能被獲得,該目標可以是通過該可利用的視頻輸出編解碼器將視頻顯現(xiàn)網(wǎng)絡(luò)目標布置到視頻顯現(xiàn)網(wǎng)絡(luò)中的視頻顯現(xiàn)網(wǎng)絡(luò)源、以便最大化地支持在它的視頻顯現(xiàn)網(wǎng)絡(luò)源上的圖形視頻顯現(xiàn)網(wǎng)絡(luò)源模式設(shè)置的最好的方法,假定在該視頻顯現(xiàn)網(wǎng)絡(luò)目標上的視頻模式設(shè)置必須支持由與它們連接的監(jiān)視器所支持的至少一個視頻模式。
如果需要,第一目標可以被嘗試。然后,如果第一目標不能實現(xiàn),第二目標可以被嘗試,諸如此類。一個目標有時被描述為一個“最佳”配置。
實施例25-示范性的附加目標除上述的目標之外,其它的配置目標可能被期望并且通過在此描述的技術(shù)可被促進。例如,獲得下列單獨的項或者組合的項可能是有意義的1.最大化在再現(xiàn)目標上的特定分辨率2.最大化在再現(xiàn)目標上的彩色分辨率3.最大化在再現(xiàn)目標之一(例如對于醫(yī)學(xué)成像應(yīng)用、計算機輔助設(shè)計等等)上的空間和彩色分辨率。
4.匹配顯示一個圖像的監(jiān)視器上的更新率以便避免視頻流同步問題,該圖像包含一個實時電視廣播圖像。這樣的同步問題可以自我表現(xiàn)為失真、失落幀(例如假信號)或者上述兩者。
5.通過以增強3D性能可接受的最低再現(xiàn)模式驅(qū)動圖像來盡可能多地保存視頻存儲器帶寬,假定一個或多個GPU爭用相同的視頻存儲器總線。
因為這樣的目標是在簡單的視頻驅(qū)動器的范圍之外的,因此這樣的目標可以通過在該視頻驅(qū)動器外邊(例如,在該操作系統(tǒng)的上層中,諸如在外殼、圖像子系統(tǒng)、DX運行時間等等中)放置決策性能來實現(xiàn)。
由于可能的再現(xiàn)模式的絕對數(shù)量,一個驅(qū)動器不能簡單地枚舉它們。一個查詢或者橫越方法(例如,諸如在這里的該實施例中所描述的)可以用于實現(xiàn)配置目標。
還有其它目標可以如下分類1.在用于圖像質(zhì)量的最佳的模式中,一個人最關(guān)心以可能的最好程度顯示圖像。
2.在用于性能的最佳模式中,一個人最關(guān)心不使視頻存儲器總線超載(例如每個編解碼器必須從視頻存儲器中讀取,并且因此消耗視頻存儲器帶寬)。
3.在用于能量消耗的最佳模式中,一個人可能想選擇消耗最低能量的編解碼器,即使關(guān)閉所有其它的編解碼器,它不能在兩個監(jiān)視器中的任一個中驅(qū)動較佳的模式。
典型地,在任何配置中一個隱含的目標在于該視頻輸出支持由相應(yīng)監(jiān)視器所支持的至少一個模式。除非被性能或者能量管理考慮壓倒,通常一個進一步的目標是視頻輸出盡力支持它們的各自監(jiān)視器的較佳模式,其中該監(jiān)視器的重要性被客戶(例如操作系統(tǒng))作為配置要求的一部分列入優(yōu)先地位。
例如,在多個圖像(例如復(fù)制圖像)上提供同樣的再現(xiàn)目標,該視頻驅(qū)動器應(yīng)該企圖具有同樣數(shù)量的以它們的較佳模式運行的監(jiān)視器,當作不是這樣即意味著要求的輸出之一不能被驅(qū)動時,只共享編解碼器。
例如,在包含三個視頻輸出的情況中,但是只有兩個編解碼器,當被要求支持所有的三個輸出時共用一個編解碼器是可接受的,即使至少一個監(jiān)視可能沒有以其較佳模式運行。然而,當被要求只支持兩個輸出時,如果通過不共用一個編解碼器可以在兩個監(jiān)視器上獲得較佳模式,那么一個編解碼器不能被共用。
實施例26-與能量消耗有關(guān)的示范性目標在一些情況中,可能希望指定關(guān)于能量消耗目標。例如,具有較小的能量消耗的配置對于節(jié)省能量情況可能是較佳的,并且當在全能量情況時,性能和/或圖像質(zhì)量可能是較佳的。在這里的任一實施例中,這樣的目標可以被實現(xiàn)。
實施例27-示范性的裝置驅(qū)動器接口實施例45列出一組功能(例如,EnumerateAvailVidPNTargets、ConstrainNodesOnVidPNTargets等等)和它們的目的。這樣的功能可以包括在視頻裝置驅(qū)動器(例如一個視頻小端口)支持的裝置驅(qū)動器接口中。該功能可以被客戶使用以便采用各種算法(例如搜索算法)以增加的方式建立一個視頻顯現(xiàn)網(wǎng)絡(luò)。
實施例28-用于配置管理的示范性功能實施例45詳述用于配置管理的一組功能。例如,一個功能(例如GetActiveVidPNTopology)識別一個視頻顯現(xiàn)網(wǎng)絡(luò)配置(例如一個拓撲)。另一功能(例如CommitVidPNImpl)提交一個視頻顯現(xiàn)網(wǎng)絡(luò)配置。另一功能(例如EnumCurrentlyAvailVidPNSourceModeSets)枚舉已知希望的視頻顯現(xiàn)網(wǎng)絡(luò)配置時可利用的視頻顯現(xiàn)源模式。另一功能(例如EnumCurrentlyAvailVidPNTargetModeSets)枚舉已知一個希望的視頻顯現(xiàn)網(wǎng)絡(luò)配置時可利用的視頻顯現(xiàn)目標模式。另一功能(例如PinModeOnVidPNSource)在一個視頻顯現(xiàn)網(wǎng)絡(luò)源上固定一個視頻顯現(xiàn)源模式。另一功能(例如PinModeOnVidPNTarget)在一個視頻顯現(xiàn)網(wǎng)絡(luò)目標上固定一個視頻顯現(xiàn)目標模式。另一功能(例如UnpinModeOnVidPNSource)在一個視頻顯現(xiàn)網(wǎng)絡(luò)源上解除一個視頻顯現(xiàn)源模式的固定。另一功能(例如UnpinModeOnVidPNTarget)在一個視頻顯現(xiàn)網(wǎng)絡(luò)目標上解除一個視頻顯現(xiàn)目標模式的固定。另一功能(例如CreateVidPNImpl)建立一個視頻顯現(xiàn)網(wǎng)絡(luò)配置。該功能的任何組合可以作為編程接口(例如一個裝置驅(qū)動器接口)的一部分實現(xiàn)。這樣的一個接口可以提供對作為一項服務(wù)(例如用于客戶程序)的功能的訪問。
實施例29-示范性的調(diào)用得出配置圖20示出示范性的調(diào)用得出配置的方框圖。這樣的調(diào)用可以作為裝置驅(qū)動器接口(DDI)的一部分實現(xiàn)。
系統(tǒng)2000包括在驅(qū)動器2002(例如視頻小端口)和圖形核心子系統(tǒng)2004之間通信。已知一個規(guī)定的視頻顯現(xiàn)網(wǎng)絡(luò)配置EnumAvailVidPNTargets可被調(diào)用枚舉由一個已知的顯示卡所支持的可利用的視頻顯現(xiàn)網(wǎng)絡(luò)目標。EnumAvailVidPNSources可被調(diào)用枚舉由已知的顯示卡所支持的可利用的視頻顯現(xiàn)網(wǎng)絡(luò)源。這兩個調(diào)用可作為系統(tǒng)初始化的一部分??商娲?,這兩個調(diào)用可作為視頻適配器到達事件(例如PCI表示或者底座式熱插拔)的一部分。在一些情況中,一個無效視頻顯現(xiàn)網(wǎng)絡(luò)配置形式可被支持,表示所有可利用的視頻顯現(xiàn)目標和源應(yīng)該被報告(例如,當對于初始化是合適的)。
IsMonitorConnected可被用于確定哪個枚舉的視頻顯現(xiàn)目標具有連接到它們的監(jiān)視器。GetMonitorDescriptor可被調(diào)用每個連接的監(jiān)視器以便獲得每個監(jiān)視器的描述符。ConstrainModesOnVidPNTargets可被調(diào)用根據(jù)從監(jiān)視器描述符所獲得的監(jiān)視器性能在每個枚舉的視頻顯現(xiàn)目標上設(shè)置視頻模式約束條件。
在視頻顯現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)中,GetInitialVidPNImpl可被隨意地調(diào)用以便獲得由視頻小端口推薦的視頻顯現(xiàn)網(wǎng)絡(luò)臨時配置。CreateVidPNImpl可被調(diào)用基于來自視頻小端口的任選的推薦來建立一個視頻顯現(xiàn)網(wǎng)絡(luò)臨時配置??商娲兀珻reateVidPNImpl可以建立一個視頻顯現(xiàn)網(wǎng)絡(luò)臨時配置,而不管來自小端口的任選的推薦。
EnumCurrentlyAvailVidPNSourceModeSets、PinModeOnVidPNSource和UnpinModeOnVidPNSource可被調(diào)用直到視頻顯現(xiàn)源模式固定在視頻顯現(xiàn)網(wǎng)絡(luò)源上,作為建立一個部分-起作用的視頻顯現(xiàn)網(wǎng)絡(luò)的一部分。如果將要固定的視頻顯現(xiàn)源模式已知是為視頻顯現(xiàn)網(wǎng)絡(luò)源而工作,PinModeOnEachVidPNSource可被調(diào)用立刻在所有的視頻顯現(xiàn)網(wǎng)絡(luò)源上固定視頻顯現(xiàn)源模式。
EnumCurrentlyAvailVidPNTargetModeSets、PinModeOnVidPNTarget和UnpinModeOnVidPNTarget可被調(diào)用直到視頻顯現(xiàn)目標模式固定在視頻顯現(xiàn)網(wǎng)絡(luò)目標上,作為實現(xiàn)一個起作用的視頻顯現(xiàn)網(wǎng)絡(luò)的一部分。如果將要固定的視頻顯現(xiàn)目標模式已知是為視頻顯現(xiàn)網(wǎng)絡(luò)目標而工作的,PinModeOnEachVidPNTarget可被調(diào)用立刻在所有的視頻顯現(xiàn)網(wǎng)絡(luò)目標上固定視頻顯現(xiàn)目標模式。
為了提交一個視頻顯現(xiàn)網(wǎng)絡(luò)臨時配置,CommitVidPNImpl可被調(diào)用。在對于視頻顯現(xiàn)網(wǎng)絡(luò)中的每個源設(shè)置了主表面鏈接之后,一個起作用的視頻顯現(xiàn)網(wǎng)絡(luò)臨時配置可被提交。可能需要作為在視頻顯現(xiàn)網(wǎng)絡(luò)拓撲和視頻顯現(xiàn)源和目標(例如主表面鏈接)外邊輸入其它的OS擁有的資源的CommitVidPNImpl。
實施例30-視頻輸出和再現(xiàn)目標的示范性分離一個視頻再現(xiàn)裝置驅(qū)動器暴露的接口(例如到一個操作系統(tǒng),并且因此間接地到運行在該操作系統(tǒng)上的應(yīng)用程序)不必將一個視頻輸出和一個再現(xiàn)目標的概念區(qū)分為兩個分離的、獨立的實體,其中在該視頻輸出上該視頻再現(xiàn)裝置正物理上驅(qū)動該顯示的圖像,并且該應(yīng)用正在將它希望呈現(xiàn)的內(nèi)容邏輯上再現(xiàn)到該再現(xiàn)目標。該再現(xiàn)目標可以隱含地和靜態(tài)地與視頻再現(xiàn)裝置上的每個視頻輸出聯(lián)系在一起。然而,這樣的一個方法可以是限制的。
在本文中描述的任一實施例中,再現(xiàn)目標的一個明確的概念通過再現(xiàn)模式的概念可被支持。一個顯示模式可有兩種描述一個視頻模式,其是輸出形式描述符(用于一個輸出或目標,諸如在圖1或圖25中所示出的那些);以及一個再現(xiàn)模式,其是輸入形式描述符(用于一個輸入或源,諸如在圖1或圖25中所示出的那些),其中該顯示模式是操作系統(tǒng)中的任何裝置的基本操作形式描述符。這樣的一個方法在具有多個視頻輸出的系統(tǒng)中特別有用。作為視頻驅(qū)動器的接口(例如DDI)可以允許視頻模式和再現(xiàn)模式的分開的規(guī)定。
因此,邏輯再現(xiàn)目標可被與物理視頻輸出相分離地動態(tài)管理。該目標可被映射到在運行時間選擇的視頻輸出,需要時使它們從輸出到輸出地重定向,或者甚至同時將單個再現(xiàn)目標映射到多個輸出。
實施例31-用于監(jiān)視器達到/離開的示范性管理在本文中描述的任何技術(shù)可適用于當系統(tǒng)正運行時將監(jiān)視器加入到系統(tǒng)中或從系統(tǒng)移除的情況。例如,當監(jiān)視器到達或離開系統(tǒng)時,事件(例如HPD事件)可被系統(tǒng)檢測,并且一個配置可因此被選擇。并且,可實現(xiàn)將視頻流重定向到不同的輸出(例如,用于復(fù)制圖像、延伸的桌面管理等等)的變化。對于這樣的動態(tài)配置改變的穩(wěn)定的支持可通過在此描述的與物理視頻輸出相分離地管理邏輯再現(xiàn)目標來完成。
實施例32-技術(shù)的示范性綜合利用在本文中描述的任一實施例中,視頻顯示裝置可以采取各種形式,例如,圖21示出到一個具有多個視頻顯示裝置的計算機系統(tǒng)中的示范性的技術(shù)綜合利用。
圖21是多個視頻輸出裝置系統(tǒng)2100的示范性的高級結(jié)構(gòu)的方框圖。一個桌面2110、一個顯示特性小程序2112和一個全屏圖形應(yīng)用2114與一個圖形子系統(tǒng)2120通信。圖形子系統(tǒng)2120驅(qū)動一個視頻驅(qū)動器2130和另一個視頻驅(qū)動器2132。兩個視頻驅(qū)動器(例如視頻小端口)通過一個到視頻適配器2150和2152的硬件抽象層(HAL)2140通信,視頻適配器2150和2152發(fā)送輸出的信號到多個視頻輸出裝置的任何組合。這樣的視頻輸出裝置可以包括一個CRT監(jiān)視器2160、一個平面監(jiān)視器2162、一個數(shù)字投影機2164、一個LCD監(jiān)視器2166、一對虛擬現(xiàn)實護目鏡2168等等。除了示出的那些的組合外,其它組合也是可能的。
實施例33-集中到希望的配置的解空間的示范性橫越圖22示出一個客戶服務(wù)系統(tǒng)2200,其中一個視頻配置基于優(yōu)先次序確定。一個客戶2202與一個服務(wù)器2204通信??蛻?202包含說明優(yōu)先化信息的優(yōu)先次序2206。
這樣的優(yōu)先化信息可以包括一個或多個希望的拓撲的列表、用于相應(yīng)源的希望的模式的列表、用于各個目標的希望的模式的列表等等,或者其中的一些組合。優(yōu)先化信息還可以包括是否某個源模式是比拓撲選擇更重要的。另外,希望的源模式和希望的目標模式可被列入優(yōu)先位置(例如從重要性最大的到重要性最小的)。
這樣的優(yōu)先次序可以優(yōu)先化列表的形式。然而,優(yōu)先次序也可以通過并入邏輯實現(xiàn)(例如在客戶2202中if-then表達式)。
圖23示出用于基于諸如在上述圖22中示出的系統(tǒng)中的希望的視頻配置選項的優(yōu)先化列表來確定視頻配置的示范性方法2300。
在2302,用于至少第一資源的一個部分視頻配置被提交。
在2304,與該部分視頻配置共同起作用的配置選項的列表被接收。
在2306,作出在優(yōu)先化列表中的一個希望的選項是否顯示在與該部分視頻配置共同起作用的配置選項的列表中的確定。
在2308,響應(yīng)該希望的選項沒有被顯示的確定,對于第一資源重新提交一個修改的部分配置。實際上,優(yōu)先次序之間的折中可能是可取的。
具體實例包含在本申請中(例如在圖5和6的附件A)。
實施例34-集中到拓撲可改變的希望的配置上的解空間的示范性橫越圖24示出橫越可能的起作用的多個視頻輸出配置組合的圖表的另一示范性方法2400的流程圖。然而,該實施例包括在希望的起作用的視頻顯現(xiàn)網(wǎng)絡(luò)臨時配置的確定期間改變拓撲的可能性。
在2402,一個特定拓撲被選擇。
在2404,一個視頻顯現(xiàn)源模式被選擇并固定在視頻顯現(xiàn)源上。
在2406,確定是否任何視頻顯現(xiàn)目標模式是可利用的(例如借助于枚舉)。如果是,該處理繼續(xù)到2408。如果不是,該處理前進到2410。
在2408,一個視頻顯現(xiàn)目標模式被選擇并且固定在視頻顯現(xiàn)目標上。接著該方法可以結(jié)束(例如在一個提交之后)。
在2410,確定具有以前選擇的拓撲是否比具有選擇的視頻顯現(xiàn)源模式更重要。如果答案是肯定的,那么在2412一個不同的視頻顯現(xiàn)源模式被選擇并固定在視頻顯現(xiàn)源上,并且處理回到2406。否則,在2414選擇一個不同的拓撲并且處理回到2404。
雖然該實施例示出源模式和拓撲之間的折中方案,其它的資源之間的折中方案也是可能的。此外,如在一些其它的實施例中所示出的,希望的選項可被列入優(yōu)先位置。
在該實施例中執(zhí)行的和在圖24中說明的邏輯可改變?yōu)檫m應(yīng)多個視頻顯現(xiàn)源和/或多個視頻顯現(xiàn)目標,類似于上面說明的和在圖16中說明的。例如,在圖24中的2410-2414執(zhí)行的邏輯可插入在圖16中的1608和1610之間和/或1616和1618之間。
在該實施例中,搜索從一個初始拓撲開始,如在圖24中的2402所做的。為了拓撲中的視頻顯現(xiàn)路徑,在一個視頻顯現(xiàn)目標模式可被固定在視頻顯現(xiàn)路徑的視頻顯現(xiàn)網(wǎng)絡(luò)目標上之前,一個視頻顯現(xiàn)源模式可固定在該視頻顯現(xiàn)路徑的視頻顯現(xiàn)網(wǎng)絡(luò)源上。例如,一個搜索可以從一個單獨的源圖像視頻顯現(xiàn)路徑開始,在源和目標上都固定模式,并且接著通過將另一視頻顯現(xiàn)路徑增加到拓撲來發(fā)展拓撲??商娲?,當只有視頻顯現(xiàn)源模式被固定時該拓撲可被改變。
實施例35-配置服務(wù)地示范性使用配置服務(wù)的示范性執(zhí)行可著手配置一個視頻顯現(xiàn)網(wǎng)絡(luò)。該實施例假定一個視頻顯現(xiàn)網(wǎng)絡(luò)在它的拓撲中具有三個源的視頻顯現(xiàn)并且下面為三個源中的每一個列出視頻顯現(xiàn)源模式組1.(1,{1,640×480),(2,800×600),(3,1024×768),(4,1280×1024)})2.(2,{1,640×480),(2,800×600),(3,1024×768),(4,1280×1024),(5,1600×1200),(6,2000×1500)})3.(3,{1,640×480),(2,800×600),(3,1024×768)})假定客戶對在每個視頻顯現(xiàn)網(wǎng)絡(luò)源上得到最高可能的空間分辨率感興趣,該第一視頻顯現(xiàn)網(wǎng)絡(luò)源是最重要的,第二視頻顯現(xiàn)網(wǎng)絡(luò)源是第二重要的,并且第三和最后的視頻顯現(xiàn)網(wǎng)絡(luò)源是重要性最低的,應(yīng)該著手在第一視頻顯現(xiàn)網(wǎng)絡(luò)源上固定最高模式,其是(4,1280×1024)。
然而,通過這樣做,客戶使第二視頻顯現(xiàn)網(wǎng)絡(luò)源上的模式(4,1280×1024)、(5,1600×1200)和(6,2000×1500)無效。由于客戶仍然沒有意識到這些,它將盡力并且將以前枚舉的最高模式(例如(6,2000×1500))固定在第二視頻顯現(xiàn)網(wǎng)絡(luò)源上,這將失敗,這個失敗是利用一個狀態(tài)碼來表示,該狀態(tài)碼表明規(guī)定的視頻顯現(xiàn)源模式已經(jīng)被無效。
在這一點上,客戶將重新枚舉所有的視頻顯現(xiàn)網(wǎng)絡(luò)源的可利用的視頻顯現(xiàn)源模式,獲得下列三組1.(1,{1,640×480),(2,800×600),(3,1024×768),(4,1280×1024)})2.(2,{1,640×480),(2,800×600),(3,1024×768)})3.(3,{1,640×480),(2,800×600),(3,1024×768)})客戶接著將最高可利用的視頻顯現(xiàn)源模式固定在第二視頻顯現(xiàn)網(wǎng)絡(luò)源上(例如(3,1024×768))。為了支持該增加的模式,然而,該顯示卡可以不再支持第三視頻顯現(xiàn)網(wǎng)絡(luò)源上的(2,800×600)和(3,1024×768)。
此外,沒有意識到這一事實,客戶將為那個視頻顯現(xiàn)源盡力固定以前枚舉的最高模式(例如(3,1024×768))。努力失敗了,客戶將重新枚舉所有的源的可利用的模式,得到1.(1,{1,640×480),(2,800×600),(3,1024×768),(4,1280×1024)})2.(2,{1,640×480),(2,800×600),(3,1024×768)})3.(3,{1,640×480)})對于第三和最后的視頻顯現(xiàn)網(wǎng)絡(luò)源只留下一個模式選擇。
在這一點上,客戶也可以接受該源模式分布并且著手固定目標模式以便得出一個起作用的視頻顯現(xiàn)網(wǎng)絡(luò),或者它可以決定640×480空間分辨率不夠高并且退回去找到更適合的解決方案(例如,在第一視頻顯現(xiàn)網(wǎng)絡(luò)源上不包含設(shè)置1280×1024空間分辨率的方案,或者可替代地,在它的拓撲中只有兩個視頻顯現(xiàn)網(wǎng)絡(luò)源的方案)。
下面標出的模式列表概括了整個處理,在每組中具有黑體和下劃線的模式表示固定的模式,加單刪除線的模式表示當在第一視頻顯現(xiàn)網(wǎng)絡(luò)目標上的模式被固定時該模式無效,并且加雙刪除線的模式表示當在第二視頻顯現(xiàn)網(wǎng)絡(luò)目標上的模式被固定時該模式無效1.(1,{1,640×480),(2,800×600),(3,1024×768),(4,1280×1024)})2.(2,{1,640×480),(2,800×600),(3,1024×768)})3.(3,{1,640×480)})應(yīng)注意,上述算法使用用于再現(xiàn)多模式集中的過分簡單化的渴望的方法,并且它不采用退回。一個更復(fù)雜的搜索(例如深度第一的搜索)可被客戶代替使用以便得到一個更適合的再現(xiàn)多模式。還應(yīng)注意,上述算法假定通過集中處理固定一個希望的拓撲,諸如在圖16中的示范性方法1600。
實施例36-示范性多監(jiān)視器/多圖像系統(tǒng)圖25是示范性多監(jiān)視器/多圖像系統(tǒng)2500的示意圖,其可以使用下列形式描述。有時術(shù)語“VidPN”代替“video presenting network(視頻顯現(xiàn)網(wǎng)絡(luò))”使用,并且“video present(視頻顯現(xiàn))”代替“video presenting(視頻顯現(xiàn))”使用。而且,術(shù)語“implementation(實現(xiàn))”有時指的是一個臨時配置。系統(tǒng)2500可以在本文中描述的任何實施例的方式使用。
1.M是一組監(jiān)視器2510m=(δM),其中a.監(jiān)視器m是視頻顯現(xiàn)裝置,其監(jiān)控視頻再現(xiàn)裝置的輸出,并且b.δM∈{EDID v 1.0,EDID v 1.1,EDID v 1.2,EDID v 1.3,具有DIEXT的EDID v 1.3}是一個監(jiān)視器描述符。
2.T是一個視頻再現(xiàn)裝置的一組視頻顯現(xiàn)目標2520t=(δT),其中a.δT∈{(格式[δT],HPD-感知[δT])}是視頻顯現(xiàn)目標描述符,其中i.格式[δT]∈VC≡{DVI、HDMI、HDMI-2、HD-15、BNC、4-引腳S-視頻、7-引腳S-視頻、RF、RCA復(fù)合、3成分RCA、其它}是視頻輸出格式類型,ii.HPD-感知[δT]∈HPD≡{可中斷的、非破壞的輪詢、破壞的輪詢、無}是視頻輸出HPD-感知,其中視頻輸出具有1.可中斷的HPD-感知,當且僅當視頻小端口可異步地通知OS關(guān)于監(jiān)視器到達/離開。
2.非破壞的輪詢HPD-感知,當且僅當視頻小端口可以只通過周期地輪詢下面的h/w將監(jiān)視器到達/離開報告到OS,而沒有引起視覺失真。
3.破壞的輪詢HPD-感知,當且僅當視頻小端口只可以只通過不時地輪詢優(yōu)先地h/w將監(jiān)視器到達/離開報告到OS,在每個輪詢上引起視覺失真。
4.無HPD-感知,當且僅當視頻小端口沒有感知到監(jiān)視器到達/離開并且因此不能向OS異步地通知或者同步地報告這樣的事件。
b.編碼∈(VE)VC是視頻編碼類型,其中i.VE≡{數(shù)字_YcbCr,數(shù)字_RGB,模擬_YPbPr,模擬_RGB,模擬_YC,模擬_復(fù)合,其它}是視頻編碼類型,并且視頻輸出連接器映射到各個視頻輸出編碼,如在下面示出的表1中規(guī)定的(注意DDC支持的出現(xiàn)暗示獲得監(jiān)視器描述符δM的可能性)表1-視頻輸出連接器到輸出編碼的映射

c.同步的

是視頻輸出同步判定,其中已知兩個輸出,確定它們是否彼此同步。
3.K是一組視頻顯現(xiàn)編解碼器2530κ=(δK),其中a.δK是視頻編解碼器描述符。
4.∑是一組視頻顯現(xiàn)源2550σ=(δ∑),其中a.δ∑∈{線性,其它}是視頻顯現(xiàn)源描述符,并且b.顯現(xiàn)在監(jiān)視器上的每個視頻顯現(xiàn)網(wǎng)絡(luò)輸入的內(nèi)容被稱為圖像。
5.V是一組圖像2560v=(δV),其中a.δV∈{(重要性[δV],方向[δV])}是圖像描述符,其中i.重要性[δV]∈{初始的,第二的,其它}ii.方向[δV]∈{左,右,中心,其它}6.S=Z232≡{0..0×ffffffff}]]>是一組32比特空間坐標。
7.Θ是一組顯示模式θ=(wΘ,hΘ,rΘ,fΘ),其中a.wΘ∈S\{0}是顯示模式寬度。
b.hΘ∈S\{0}是顯示模式高度。
c.rΘ∈RΘ是顯示模式幀速率,其中i.RΘ≡{a.b|a,b∈{1..0×FFFF}}是一組顯示模式幀速率,單位是Hz。
d.fΘ∈FΘ是顯示模式單元格式,(也就是監(jiān)視器的有效彩色分辨率-是監(jiān)視器技術(shù)的功能的物理參數(shù)),其中i.F∑≡{1比特,5比特,6比特,8比特,10比特,12比特,16比特,18比特,32比持,TBD}是一組顯示模式彩色分辨率。
e.gΘ∈[1.0,+∞)∪{SD-601,HD-709}監(jiān)視器傳輸功能(也就是監(jiān)視器灰度系數(shù)),其是監(jiān)視器技術(shù)的強度響應(yīng)功能。
8.B是一組視頻顯現(xiàn)目標模式,β=(AB,TB,Δ(ABTB),fB,vrB,hrB,crB,oB,cpB,gB,TB,YUV→RGB,bpoB,wpoB,pmB),也被稱為顯現(xiàn)目標模式,其中a.AB∈{(寬度[AB],高度[AB])}是視頻顯現(xiàn)目標模式有源區(qū)域,其中i.寬度[AB]是視頻顯現(xiàn)模式有源區(qū)域?qū)挾取?br> ii.高度[AB]是視頻顯現(xiàn)模式有源區(qū)域高度。
b.TB∈{(寬度[TB],高度[TB])}是視頻顯現(xiàn)目標模式總區(qū)域,其中i.寬度[TB]是視頻顯現(xiàn)模式總區(qū)域?qū)挾取?br> ii.高度[TB]是視頻顯現(xiàn)模式總區(qū)域高度。
c.Δ(ABTB)∈{偏移水平[AB,TB],偏移垂直[AB,TB])}是視頻顯現(xiàn)目標模式的有源區(qū)域位移,其中i.偏移水平[AB,TB]是視頻顯現(xiàn)模式的水平有源區(qū)域位移。
ii.偏移垂直[AB,TB]是視頻顯現(xiàn)模式的垂直有源區(qū)域位移。
d.fB∈FB=FB,模擬∪FB,數(shù)字是視頻模式像素編碼格式,其中
i.FB,數(shù)字≡{Y10Cb10Cr10,Y8Cb8Cr8,sR10G10B10,sR8G8B8}是一組數(shù)字視頻模式像素編碼格式。
ii.FB,模擬≡{YPbPr,模擬_YC,模擬_復(fù)合,RGB}是一組模擬視頻模式像素編碼格式。
e.vrB∈VRB是垂直更新速率,也被稱為Vsync速率,或者垂直回掃頻率,其中i.VRB≡{a.b|a,b∈{1..0×FFFFFFFF}}是一組有理數(shù)垂直更新速率,單位是Hz,通常在范圍50到200Hz中。
f.hrB∈HRB是水平更新速率,也被稱為Hsync速率、行速率或者水平回掃頻率,其中i.HRB≡{a.b|a,b∈{1..0×FFFFFFFF}}是一組分數(shù)水平更新速率,單位是Hz,通常在范圍10到200KHz中。
g.crB∈CRB是像素時鐘速率,其中i.CRB≡{a|a∈{1..0×FFFFFFFF}}是一組像素時鐘速率,單位是Hz,通常在范圍1到500MHz中。
h.oB∈OB是內(nèi)容排序,其中i.OB≡{逐行的,隔行的_上面場優(yōu)先,隔行的_下面場優(yōu)先}是一組內(nèi)容排序類型,其中對于逐行的內(nèi)容排序場速率=Vsync速率,并且對于隔行的內(nèi)容排序場速率=2×Vsync速率。
i.cpB∈CPB是彩色原色。(在(x,y)的三原色,其中x=X/(X+Y+Z)并且y=Y(jié)/(X+Y+Z),其是與一些專用的有關(guān)的)。
j.wprB∈CPB是白點參考(也就是參考白色)。
k.gB∈[1.0,+∞)∪{SD-601,HD-709}是傳輸功能的指數(shù)(也就是灰度系數(shù))。
1.TB.YUV→RGB是從Y’U’V’到R’G’B’的彩色空間轉(zhuǎn)換矩陣。
m.bpoB∈R+]]>是黑點偏移(也就是啟動電壓)。
n.wpoB∈R+]]>是白點偏移。
o.pmB∈Z28≡{0..0×ff}]]>是視頻顯現(xiàn)目標模式優(yōu)先次序,其中模式優(yōu)先借助于{0×01..0×ff}范圍來表示,其中0×01表示最優(yōu)先的并且0×ff表示優(yōu)先權(quán)最小的模式或者不相干的模式優(yōu)先。0×00是為未知的/未初始化的保留的。
某個視頻模式通過一個工業(yè)廣泛使用的標準化(實際的和形式的)來限定。這些模式可以包括下面在表2中列出的那些,以及下列由VESA通用定時公式(GTF)限定的連續(xù)的模式組βGTF≡βGTF,VR∪βGTF,HR∪βGTF,CR其中■βGTF,VR≡{(vrB,GTFVRB→HRB(vrB,oB,wB,hB),GTFVRB→CRB(vrB,oB,wB,hB))|]]>vrB∈VRB}]]>■βGTF,HR≡{(GTFHRB→VRB(hrB,oB,wB,hB),hrB,GTFHRB→CRB(hrB,oB,wB,hB))|]]>hrB∈HRB}]]>■βGTF,CR≡{(GTFCRB→HRB(crB,oB,wB,hB),GTFCRB→VRB(vrB,oB,wB,hB)crB)|]]>crB∈CRB}]]>表2-模式





9.Γ是一組視頻顯現(xiàn)源模式,γ=(wΓ,hΓ,fΓ,Γ,nΓ,pmΓ),也被稱為顯現(xiàn)源模式,其中a.w?!蔛\{0}是視頻顯現(xiàn)源模式寬度。
b.h?!蔛\{0}是視頻顯現(xiàn)源模式高度。
C.f?!蔉Γ是視頻顯現(xiàn)源模式單元格式,其中i.FΓ是一組視頻顯現(xiàn)源模式單元格式,其可被分為兩種主要子類1.圖形視頻顯現(xiàn)源模式單元格式,由最近的DirectX發(fā)行中的D3DFORMAT可枚舉類型限定。
2.文本視頻顯現(xiàn)源模式單元格式,由TBD限定的。
d.?!师爪J枪鈻呕膱D形濾波技術(shù),其在再現(xiàn)期間使用,其中i.ψΓ是一組光柵化的圖形濾波技術(shù),由最近DirectX發(fā)行中的D3DDDIMULTISAMPLE_TYPE可枚舉類型限定。
e.n?!蔔是主表面鏈接長度(也就是主表面鏈接中的表面數(shù)量)。
f.pmΓ∈Z28≡{0..0×ff}]]>是視頻顯現(xiàn)源模式優(yōu)先次序,其中模式優(yōu)先借助于{0×01..0×ff}范圍表示,其中0×01表示最優(yōu)先的并且0×ff表示優(yōu)先權(quán)最小的模式或者不相干的模式優(yōu)先。0×00是為未知的/未初始化的保留的。
10.ρMT∈TM是監(jiān)視器連通性拓撲-也就是從監(jiān)視器映射到它們所連接的視頻顯現(xiàn)目標。
11.ρTK∈KT是視頻顯現(xiàn)目標-到-編解碼器拓撲-也就是從視頻顯現(xiàn)目標映射到驅(qū)動它們的視頻顯現(xiàn)編解碼器-由在顯示卡上的可編程交叉線限定。
12.ρK∑∈∑K是視頻顯現(xiàn)編碼器-到-源拓撲-也就是從視頻顯現(xiàn)編解碼器映射到視頻顯現(xiàn)源,從該視頻顯現(xiàn)源該編解碼器是流視覺內(nèi)容。
13.ρT∑∈∑T是視頻顯現(xiàn)目標-到-源拓撲2540-也就是從視頻顯現(xiàn)源映射到視頻顯現(xiàn)目標,從視頻顯現(xiàn)源的下面的視頻輸出編解碼器到視頻顯現(xiàn)目標的是流視覺內(nèi)容,視頻顯現(xiàn)內(nèi)容是流到視頻顯現(xiàn)目標的。
14.PTK∑≡{ρTK∑|(ρTK∑≡ρTKορK∑)∧支持的(ρTK)∧支持的(ρK∑)∧ρTK∑實現(xiàn)ρT∑} 是一組支持的VidPN拓撲-也就是從一對包括一組視頻顯現(xiàn)目標和一組視頻顯現(xiàn)源的 到用于這對的相應(yīng)的支持的VidPN實施組,其中每個實施明確地規(guī)定其中視頻顯現(xiàn)源經(jīng)過視頻輸出編解碼器被布置到它們驅(qū)動的視頻顯現(xiàn)目標的方式。 被稱為VidPN實施,其中a. 是一組VidPN視頻顯現(xiàn)目標。
b. 是一組VidPN視頻顯現(xiàn)源。
c.ρTγΣγ∈ΣT]]>是VidPN拓撲。
16.ρ∑V∈V∑和ρV∑∈∑V在圖像和下面的視頻顯現(xiàn)源之間是1∶1對應(yīng)-也就是ρ∑V和ρV∑在∑和V之間是同形性。
17. 是多-編解碼器視頻顯現(xiàn)目標模式組矢量-也就是從視頻輸出編解碼器映射到它們支持的視頻顯現(xiàn)目標模式組。
18. 是多-目標視頻顯現(xiàn)目標模式組矢量-也就是從視頻顯現(xiàn)目標映射到它們支持的視頻顯現(xiàn)目標模式組。
19. 是多-監(jiān)視器視頻監(jiān)視器源模式組矢量-也就是從監(jiān)視器映射到它們支持的視頻監(jiān)視器源模式組。
20. 是多-源視頻顯現(xiàn)源模式組矢量-也就是從視頻顯現(xiàn)源映射到它們支持的視頻顯現(xiàn)源模式組。
21.β→K∈BK]]>是多-編解碼器視頻顯現(xiàn)目標模式矢量-也就是從視頻輸出編解碼器映射到視頻顯現(xiàn)目標模式,其中這些編解碼器對與它們連接的視頻顯現(xiàn)目標的視頻輸出進行驅(qū)動。
22. 是多-輸出視頻顯現(xiàn)目標模式矢量-也就是從視頻顯現(xiàn)目標映射到視頻顯現(xiàn)目標模式,該視頻顯現(xiàn)目標模式的視頻顯現(xiàn)目標正被與它們連接的視頻輸出編解碼器視頻顯現(xiàn)驅(qū)動。
23. 是多-監(jiān)視器視頻顯現(xiàn)目標模式矢量-也就是從監(jiān)視器映射到視頻顯現(xiàn)目標模式,該視頻顯現(xiàn)目標模式被與它們連接的視頻顯現(xiàn)目標視頻顯現(xiàn)目標驅(qū)動。
24.θ→M×B∈ΘM×B]]>是多-監(jiān)視器顯示模式矢量-從監(jiān)視器映射到作為下面的視頻顯現(xiàn)目標模式在監(jiān)視器的輸入上被驅(qū)動的結(jié)果而在監(jiān)視器上顯示的顯示模式。
25.γ→Σ∈ΓΣ]]>是多-源視頻顯現(xiàn)源矢量-也就是從視頻顯現(xiàn)源映射到這些源設(shè)置的視頻顯現(xiàn)源模式。
26.一個VidPN實施被報告當且僅當已經(jīng)在所有的它的視頻顯現(xiàn)源上成功地選擇了視頻顯現(xiàn)源模式時是部分起作用的。
27.一個VidPN實施被報告當且僅當它是部分起作用的并且在所有的它的視頻顯現(xiàn)目標上已經(jīng)成功地選擇了視頻顯現(xiàn)目標模式時是起作用的。
實施例37-示范性的定義假定涉及一組復(fù)雜的相關(guān)性,多個形式的定義可以用于一些實施。某一(圖像,輸出)對可以因子分解到視頻顯現(xiàn)源中,視頻顯現(xiàn)源可以顯示輸出到視頻輸出編解碼器中(例如CRTC DAC,TMDS)和視頻顯現(xiàn)目標,視頻顯現(xiàn)目標可以顯示視頻輸出到顯示卡上(例如HD-15、DVI、S-視頻)。
一個顯示模式可以因子分解到一個視頻顯現(xiàn)源模式中,視頻顯現(xiàn)源模式可以借助于圖形棧數(shù)據(jù)正提供將要顯示給用戶的再現(xiàn)內(nèi)容來規(guī)定主表面格式,并且視頻顯現(xiàn)目標模式可以規(guī)定在各個視頻輸出上被驅(qū)動的視頻信號格式。
多-輸出顯示卡的視頻顯現(xiàn)能力借助于視頻顯現(xiàn)網(wǎng)絡(luò)(VidPN)的概念被模擬,視頻顯現(xiàn)網(wǎng)絡(luò)借助于一個VidPN拓撲可以使一組視頻顯現(xiàn)源與一組視頻顯現(xiàn)目標聯(lián)系起來。當且僅當視頻顯現(xiàn)源模式固定在每個它的視頻顯現(xiàn)源上時,一個VidPN可被認為是部分起作用的。當且僅當它是部分起作用的并且視頻顯現(xiàn)目標模式固定在每個它的視頻顯現(xiàn)目標上時,一個VidPN可被認為是起作用的。
在一個單獨的視頻顯現(xiàn)源和一個單獨的視頻顯現(xiàn)目標之間的關(guān)聯(lián)可被稱為一個視頻顯現(xiàn)路徑。在一個單獨的視頻顯現(xiàn)源和多個視頻顯現(xiàn)目標之間的關(guān)聯(lián)可被稱為一個視頻顯現(xiàn)多路徑。
具有上述的適當?shù)亩x,在顯示模式管理的環(huán)境中的視頻小端口的工作可被描述為管理一個有效VidPN,該有效VidPN在它正驅(qū)動的各個顯示卡上顯示視頻顯現(xiàn)配置的狀態(tài),以及以在于增加建立起作用的每個均可被設(shè)置為有效的VidPN為目的的客戶請求服務(wù)。
實施例38-示范性的多視頻輸出顯示模式解決方案改變依附于多輸出顯示卡的監(jiān)視器上的顯示模式可以不再遭受該領(lǐng)域的“單-輸出操作”限制,其中視頻小端口開發(fā)者必須在某個視頻驅(qū)動器棧之間實施復(fù)雜的同步,該視頻驅(qū)動器棧正驅(qū)動相同的下面的物理裝置,并且上述改變可以被由一個單獨視頻驅(qū)動器棧服務(wù)的已知顯示卡上的起作用的VidPN實施的明確的以交換為基礎(chǔ)的提交代替。
多個輸出視頻顯示模式解決方案可以取決于多個標準諸如(a)硬件限制(例如由連接到各個視頻顯現(xiàn)目標的監(jiān)視器支持的視頻模式設(shè)置);(b)操作的模式考慮(例如由連接到各個視頻顯現(xiàn)目標的監(jiān)視器推薦的特定視頻模式);(c)性能考慮(例如通過視頻輸出編解碼器減少視頻存儲器總線的連接而獲得的再現(xiàn)性能改進);(d)能量管理考慮(例如通過禁止未利用的視頻輸出編解碼器而獲得的顯示卡的能量消耗的減少,并且減小它的功率);(e)熱損耗考慮(例如,通過在多個單元之間持續(xù)交換開關(guān)而獲得的顯示卡的操作的溫度的降低,其中一個單元當另一單元操作時被給出一個機會冷卻,并且反之亦然,因此從不會增加由某個希望的上邊界之外的顯示卡輻射的J/sec數(shù)量);以及(f)可用性考慮(例如,在一個用戶的初始監(jiān)視器上驅(qū)動監(jiān)視器的較佳模式比在第二監(jiān)視器上驅(qū)動它更重要,假定所有的監(jiān)視器不能以較佳模式驅(qū)動,其中哪個監(jiān)視器是初始的確定是用戶特定的操作模式的功能)。例如,已知DVILCD、S-視頻HDTV以及HD-15 CRT/3D眼鏡,一個用戶可能更喜歡在具有最好的透明度的DVILCD上工作/讀取/瀏覽,在具有最大有效像素區(qū)域的S-視頻HDTV上看電影,并且在支持最高更新速率和最好的博弈經(jīng)驗的HD-15 CRT/3D上玩游戲。
實施例39-示范性的解空間一個包含所有可能的VidPN實施的解空間對于一個簡單的窮舉法枚舉可能是難處理的,該解空間具有所有可能的在它的目標上可利用的視頻顯現(xiàn)目標模式設(shè)置和所有的各種分配可利用的視頻顯現(xiàn)源模式通過它的輸入的方式,每個視頻顯現(xiàn)源模式的可利用性是將要在各個輸出上驅(qū)動的視頻模式的功能(基于例如在下面的視頻編解碼器中存在硬件縮放這樣的因素)。一個用于T視頻顯現(xiàn)目標、K編解碼器和∑視頻顯現(xiàn)源的通用情況的非窮舉法可以類似于典型的三分裂的圖表匹配問題,其通稱為NPC(例如,不存在以多項式時間運行并且得到一個理想的或者全局最佳的解決方案的已知算法)。確定一個盡可能接近理想解決方案的合適的解決方案是可取的。
實施例40-示范性的復(fù)雜性確定哪個配置是起作用的可能是一項復(fù)雜的工作。例如,對于一個已知的配置,需要考慮以下方面1.哪個視頻輸出編解碼器可用于驅(qū)動哪個視頻輸出2.哪個視頻編解碼器可用于將哪個再現(xiàn)目標的主表面轉(zhuǎn)換成一個視頻信號3.通過視頻輸出的可能的視頻模式設(shè)置分配是什么4.每個視頻編解碼器可以驅(qū)動的可能的視頻模式是什么5.通過再現(xiàn)目標的可能的圖形再現(xiàn)模式分配是什么這些問題中的一些使得搜索復(fù)雜在于編解碼器是稀少資源,并且通常存在編解碼器少于輸出,因此對于復(fù)制圖像,只要有可能,通過多個輸出共用一個編解碼器是有利的。這樣的一個方法中將同樣的視頻模式強制在兩個也許不工作的監(jiān)視器上的情況有下降趨勢,如果監(jiān)視器不具有兩個都支持的公共的視頻模式(例如一個CRT可以上到1280×1024并且一個LCD只可以支持1600×1200)。即使它們共用一個視頻模式,這可能不是驅(qū)動監(jiān)視器的理想的方式,因為該視頻模式可能不是它們的較佳模式。例如,一個投影機支持640×480、800×600、1024×768(本地的)和1280×1024。該LCD支持640×480、800×600、1024×768、1280×1024和1400×1050(本地的)。在這兩個裝置之間共用一個編解碼器只有一個驅(qū)動器可以在它的較佳視頻模式被驅(qū)動。
或者,一個LCD可以支持1024×768、1280×1024、1600×1200(較佳的)。并且一個投影機可以支持640×480、800×600(較佳的)以及1024×768。共用裝置兩個監(jiān)視器都不能在它的較佳模式被驅(qū)動。
另外,不是所有的編解碼器都是相等的制造的。有時一個顯示卡具有不同的編解碼器,其中一個編解碼器能夠工作在更多的模式或者實現(xiàn)比其他模式更好的某些模式。當在某個編解碼器上具有可利用的某種模式時這種情況可能變得更加復(fù)雜(例如,一個編解碼器可以只支持16比特,并且另一編解碼器可以只支持32比特模式)。
最后,當交叉線可用于重定編解碼器到不同輸出的路徑,具有該視頻輸出的拓撲的編解碼器的限制和不兼容性可導(dǎo)致某種編解碼器被限制到某種輸出子集(例如CRTC不能驅(qū)動DVI,并且TMDS不能驅(qū)動S-視頻的HD-15)。
為了避免枚舉所有可能的實施的窮舉方法,一個集中方法可代替使用。
實施例41-將確定委托給視頻驅(qū)動器的示范性優(yōu)勢在此描述的任一實施例中,確定一個特定的臨時配置是否對于視頻適配器是起作用的可以由(例如委托給)裝置驅(qū)動器來完成。一個可能的替代方案是構(gòu)造一個可以通過一組視頻適配器(例如所有已知的視頻適配器)處理確定的通用情況的一般解決方法。然而,這樣的一個解決方法需要用于處理大量情況的邏輯電路。
代替的,通過將確定委托給裝置驅(qū)動器,該裝置驅(qū)動器可以更加輕便并且不需要解決一般的情況。例如,該裝置驅(qū)動器不必包含用于處理相應(yīng)的視頻適配器不能實現(xiàn)(例如在硬件中不存在)的情況。因此,該裝置驅(qū)動器的尺寸可以被減小并且它的性能(例如速度)可以增加(例如與一般的解決方法相比)。
實施例42-在拓撲和源/目標之間的示范性比較一個拓撲可被作為一個可配置的資源對待,其中選項(例如視頻顯現(xiàn)路徑)可并行地配置。與那些其中只有單個選項(例如源/目標模式)可被立刻配置的視頻顯現(xiàn)源/目標相比。在一個已知的模式組中的模式可能相互排斥,然而顯現(xiàn)路徑不是必定相互排斥,但是可能是。
實施例43-示范性方法兩個可能的方法包括一個基于查詢的方法和一個基于橫越的方法。一個基于查詢的方法可以包含查詢一個用于滿足OS提供的一組要求的解決方法的顯示器微端口。一個基于橫越的方法可以包含通過增加地建立一個起作用的VidPN實施來穿過解空間,該起作用的VidPN實施具有分別對于它的目標和源而選擇的希望的視頻顯現(xiàn)目標和源模式。確定一個VidPN的接近最佳的實施可以留給視頻小端口來完成。
可替代地,一個OS可以為視頻小端口提供(1)對于具有連接到它的一個監(jiān)視器的每個VidPN目標所需要的視頻顯現(xiàn)目標模式組(例如一個顯示卡不能暴露依附的監(jiān)視器不支持的視頻信號模式),符合DDI方的模式可以在視頻顯現(xiàn)目標模式枚舉期間被OS確認;以及(2)基于一個提供的優(yōu)先化方案支持監(jiān)視器的較佳的監(jiān)視器源模式的視頻顯現(xiàn)目標模式組方針,其中通過該方針顯示器微端口可以找到一個VidPN實施,在該實施中一個較佳的監(jiān)視器源模式首先在一個更可取的監(jiān)視器上被支持,該方針由于該較佳的監(jiān)視器源模式在連接到該系統(tǒng)的每個監(jiān)視器上被支持因而是理想的解決方法。
查找在VidPN源上被支持的圖形視頻顯現(xiàn)源模式的接近最佳的分配可以留給圖像子系統(tǒng)的客戶(例如外殼)來完成,其中通過在規(guī)定的操作狀態(tài)下API報告顯示卡的性能,一個驅(qū)動器僅僅暴露橫越各個視頻顯現(xiàn)源模式組分配解空間的性能。可以采用象渴望的一樣簡單的或者象以圖表為基礎(chǔ)的搜索一樣復(fù)雜的方法。
實施例44一示范性的計算環(huán)境圖26和下列討論企圖提供一個可實現(xiàn)所公開的技術(shù)的示范性計算環(huán)境的簡短的、概括的說明。雖然不需要,所公開的技術(shù)將在可由一個個人計算機(PC)執(zhí)行的計算機可執(zhí)行的指令的一般環(huán)境諸如程序模塊中描述。通常地,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例行程序、程序、目標、元件、數(shù)據(jù)結(jié)構(gòu)等等。此外,所公開的技術(shù)可以利用其它的計算機系統(tǒng)配置來實施,其它的計算機系統(tǒng)配置包括手持裝置、多處理器系統(tǒng)、基于微處理器的或者可編程的消費者電子設(shè)備、網(wǎng)絡(luò)PC、微型計算機、大型機計算機等等。所公開的技術(shù)也可能在分布式的計算環(huán)境中實踐,其中通過經(jīng)一個通信網(wǎng)絡(luò)連接的遠程處理裝置執(zhí)行任務(wù)。在一個分布式的計算環(huán)境中,程序模塊可以設(shè)置在本地和遠程存儲器存儲裝置中。
參照圖26,一個用于實現(xiàn)所公開的技術(shù)的示范性系統(tǒng)包括一個以傳統(tǒng)的PC2600的形式的通用的計算裝置,其包括一個處理單元2602、一個系統(tǒng)存儲器2604以及一個將包括系統(tǒng)存儲器2604耦合到處理單元2602的各種系統(tǒng)部件的系統(tǒng)總線2606。該系統(tǒng)總線2606可以是以下幾種總線結(jié)構(gòu)中的任一種存儲器總線或存儲器控制器、外圍總線以及使用各種總線結(jié)構(gòu)中任一種的本地總線。該系統(tǒng)存儲器2604包括只讀存儲器(ROM)2608和隨機存取存儲器(RAM)2610。一個基本輸入/輸出系統(tǒng)(BIOS)2612包含幫忙信息在PC2600中的元件之間傳輸?shù)幕境R?guī)程序,被存儲在ROM2608中。
該PC 2600還包括一個用于從硬盤(未示出)讀和寫到硬盤的硬盤驅(qū)動器2614、一個用于從可移動磁盤2617讀和寫到該磁盤的磁盤驅(qū)動器2616以及一個用于從可移動光盤2619(諸如CD-ROM或其它的光介質(zhì))讀并寫到該光盤的光盤驅(qū)動器2618。該硬盤驅(qū)動器2614、磁盤驅(qū)動器2616和光盤驅(qū)動器2618分別通過硬盤驅(qū)動器接口2620、磁盤驅(qū)動器接口2622和光驅(qū)動器接口2624連接到系統(tǒng)總線2606。該驅(qū)動器和它們的相關(guān)的計算機可讀介質(zhì)提供用于PC2600的計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的非易失性存儲??梢源鎯C可存取的數(shù)據(jù)的其它類型的計算機可讀介質(zhì),諸如磁帶、閃存卡、數(shù)字視頻盤、CD、DVD、RAM、ROM等等也可用在該示范性操作環(huán)境中。
多個程序模塊可存儲在硬盤、磁盤2617、光盤2619、ROM 2608或者RAM2610上,其包括一個操作系統(tǒng)2630、一個或多個應(yīng)用程序2632、其它程序模塊2634以及程序數(shù)據(jù)2636。一個用戶可以通過輸入裝置(未示出)諸如鍵盤2640和指示裝置2642(諸如一個鼠標)輸入命令和信息到PC 2600中。其它輸入裝置(未示出)可以包括一個數(shù)字相機、麥克風(fēng)、操縱桿、游戲墊、衛(wèi)星反射器、掃描儀等等。這些和其它的輸入裝置總是通過一個串行端口接口2644連接到處理單元2602,串行端口接口2644耦合到系統(tǒng)總線2606,但是也可以通過其它接口諸如并行端口、游戲端口或者通用串行總線(USB)被連接。一個監(jiān)視器2646或者其它類型的顯示裝置也通過一個接口諸如視頻適配器2648連接到系統(tǒng)總線2606。可包括其它外圍輸出裝置諸如揚聲器和打印機(未示出)。
該PC 2600可以在一個使用邏輯連接到一個或多個遠程計算機諸如遠程計算機2650的網(wǎng)絡(luò)環(huán)境中操作。該遠程計算機2650可以是另一個PC、一個服務(wù)器、一個路由器、一個網(wǎng)絡(luò)PC或者一個同等裝置或者其它的公共網(wǎng)絡(luò)節(jié)點,并且通常包括上述的與PC 2600有關(guān)的許多或所有元件,雖然在圖26中只示出一個存儲器存儲裝置2652。在圖26中描述的邏輯連接包括一個局域網(wǎng)(LAN)2654和一個廣域網(wǎng)(WAN)2656。這樣的網(wǎng)絡(luò)環(huán)境在辦公室、企業(yè)范圍的計算機網(wǎng)絡(luò)、企業(yè)內(nèi)部互聯(lián)網(wǎng)和因特網(wǎng)中是普遍現(xiàn)象。
當用于LAN網(wǎng)絡(luò)環(huán)境中時,PC 2600通過一個網(wǎng)絡(luò)接口2658連接到LAN2654。當用于WAN網(wǎng)絡(luò)環(huán)境中時,PC 2600通常包括一個調(diào)制解調(diào)器2660或者其它的用于通過WAN 2656諸如因特網(wǎng)建立通信的裝置。該調(diào)制解調(diào)器2660經(jīng)過串行端口接口2644連接到系統(tǒng)總線2606,該調(diào)制解調(diào)器可以是內(nèi)置的或外置的。在一個網(wǎng)絡(luò)環(huán)境中,與個人計算機2600有關(guān)的描述的程序模塊或其部分可以存儲在遠程存儲器存儲裝置中。該示出的網(wǎng)絡(luò)連接是示范性的,并且可以使用在計算機之間建立通信鏈接的其它裝置。
實施例45-示范性的說明下面是用于實現(xiàn)一個支持在此描述的各種技術(shù)的視頻顯現(xiàn)網(wǎng)絡(luò)的示范性說明。在該實施例中,一個視頻顯現(xiàn)網(wǎng)絡(luò)有時稱為一個“視頻顯現(xiàn)網(wǎng)絡(luò)”或“VidPN”。一個用于視頻顯現(xiàn)網(wǎng)絡(luò)的特定的配置有時稱為一個“VidPN實施”。
所描述的功能可被組成編程接口,諸如API或DDI。這樣的一個接口可以通過一個用于通過客戶諸如一個操作系統(tǒng)存取的裝置驅(qū)動器來實現(xiàn)。
表3-功能EnumAvailVidPNTargets


表4-功能ConstrainModesOnVidPNTargets


表5-功能EnumAvailVidPNSources



表6-功能CreateVidPNImpl


表7-功能GetActiveVidPNImpl


表8-功能GetActiveVidPNTopology

表9-功能DisposeOfVidPNImpl

表10-功能CommitVidPNImpl


表11-功能AddVideoPresentPathToVidPNTopology


表12-功能RemovePresentTargetFromVidPNTopology

表13-功能RemovePresentSourceFromVidPNTopology

表14-功能EnumCurrentlyAvailVidPNTargetModeSets


表15-功能PinModeOnVidPNTarget


表16-功能UnpinModeOnVidPNTarget


表17-功能PinModeOnEachVidPNTarget


表18-功能EnumCurrentlyAvailVidPNSourceModeSets



表19-功能PinModeOnVidPNSource


表20-功能UnpinModeOnVidPNSource


表21-功能PinModeOnEachVidPNSource


表22-功能EnumCurrentlyAvailFilteringTechniqueSets


表23-功能PinFilteringTechniqueOnVidPNSource



表24-功能UnpinFilteringTechniqueOnVidPNSource


表25-功能PinFilteringTechniqueOnEachVidPNSource


表26-功能Filtering_Techniques_Set


表27-功能Filtering_Technique

表28-功能Video_Present_Target

表29-功能Video_Output_Technology

表30-功能Video_Output_HPD_Awareness


表31-功能Video_Present_Source

表32-功能Video_Present_Source_Content_Layout


表33-功能Video_Present_Path

表34-功能VidPN_Topology

表35-功能VidPN_Impl

表36-功能Video_Present_Target_Mode_Set

表37-功能Video_Present_Target_Mode



表38-功能Video_Signal_Standard



表39-功能Video_Signal_Scanline_Ordering

表40-功能Fractional_Frequency


表41-功能Video_Present_Source_Mode_Set

表42-功能Video_Present_Source_Mode

表43-功能Video_Present_Source_Mode_Type


表44-功能Graphics_Rendering_Format

表45-功能Pixel_Format


表46-功能Color_Access_Mode

表47-功能Color_Basis


表48-功能Text_Rendering_Format

表49-功能Filtering_Technique

實例46-監(jiān)視器的示例性相對重要性在這里的任一實例中,可以要求操作多個監(jiān)視器(例如視頻微端口)的視頻驅(qū)動器提供一個推薦功能配置。在這種情況中,監(jiān)視器的相對重要性可以被規(guī)定。例如,監(jiān)視器可以被排序(例如最重要到最不重要)。然后,驅(qū)動器可以根據(jù)所規(guī)定的相對重要性提供一個配置。
實例47-示例性無狀態(tài)實施在此描述的某些技術(shù)是在利用一種方法的情況下描述的,在這種方法中視頻驅(qū)動器保持臨時配置狀態(tài)(例如其被固定和去固定)。然而,也可以采用無狀態(tài)方法。在這種方法中,視頻驅(qū)動器不需要跟蹤狀態(tài)(例如臨時配置的狀態(tài))并且可以制造得更輕和更簡單。如果需要,客戶軟件可以在所需配置的確定過程中跟蹤一個狀態(tài)。
在這樣一種方法中,編程接口(例如,DDI)可以被用于傳遞與臨時配置的狀態(tài)相關(guān)的信息。例如,數(shù)據(jù)結(jié)構(gòu)可以用于容納配置的細節(jié)并通過該接口傳遞。
實例48-示例性無狀態(tài)驅(qū)動器接口下面是一個示例性內(nèi)核模式驅(qū)動器接口(例如一個DDI),包括一個用于實施一個視頻顯現(xiàn)網(wǎng)絡(luò)的無狀態(tài)視頻表現(xiàn)網(wǎng)絡(luò)管理微端口接口,其中該視頻顯現(xiàn)網(wǎng)絡(luò)支持在此描述的各種技術(shù)。在這個實例中,一個視頻顯現(xiàn)網(wǎng)絡(luò)有時被稱為一個“視頻顯現(xiàn)網(wǎng)絡(luò)”或“VidPN”。用于視頻顯現(xiàn)網(wǎng)絡(luò)的一個具體配置有時被稱為一個“VidPN實施”。并且,在這個實例中,使用了措辭“微端口”,但是在此描述的技術(shù)可以被應(yīng)用到任何顯示適配器或視頻驅(qū)動器。
一個示例性內(nèi)核模式驅(qū)動器可以是一個視頻微端口的一部分。每一個物理GPU可以作為其自己的適配器來處理,其中該適配器可以用下面取回的HANDLE hAdapter來表示。如果單個GPU具有多個輸出(例如頭),它仍然可以被當作單個適配器來處理。
一個微端口的HwVidQueryInterface功能可以利用下面的QUERY_INTERFACE結(jié)構(gòu)調(diào)用,以便取回驅(qū)動器的進入點QUERY_INTERFACE queryinterface;queryinterface.InterfaceType =GUID_DEVINTERFACE_D3DDDI;queryinterface.Size =sizeof(D3DKMDDI_INTERFACE);queryinterface.Version=D3DDDI_INTERFACE_VERSION;queryinterface.Interface =&pD3DKMDDIInterface;queryinterface.InterfaceSpecificData =&pD3DKMDDIInterfaceSpecificData;如果接口被成功取回,那么這個HwVidQueryInterface調(diào)用返回NO_ERROR,否則它將返回適當?shù)腻e誤代碼。驅(qū)動器的進入點可以在下面的D3DKMDDI_INTERFACE結(jié)構(gòu)中返回。查詢該接口可以隱含地引用它。因此,如果在該接口已被查詢之后驅(qū)動器的初始化失敗,那么可以在驅(qū)動器未找到顯式引用的情況下調(diào)用接口去引用功能。
typedef struct_D3DKMDDI_INTERFACE{USHORT Size;USHORT Version;HANDLE hAdapter;VOID*pInterfaceReference;VOID*pInterfaceDereference;//Exemplary adapter methodsPFND3DKMDDI_QUERYADAPTERINFO pfnQueryAdapterInfo;PFND3DKMDDI_CREATEDEVICE pfnCreateDevice;
PFND3DKMDDI_CREATEALLOCATION pfnCreateAllocation;PFND3DKMDDI_DESTROYALLOCATION pfnDestroyAllocation;PFND3DKMDDI_ACQUIREAPERTUREpfnAcquireAperture;PFND3DKMDDI_RELEASEAPERTUREpfnReleaseAperture;PFND3DKMDDI_MAPAPERTURESEGMENT pfnMapApertureSegment;PFND3DKMDDI_UNMAPAPERTURESEGMENT pfnUnmapApertureSegment;PFND3DKMDDI_PATCH pfnPatch;PFND3DKMDDI_SUBMITCOMMAND pfnSubmitCommand;PFND3DKMDDI_PREEMPTCOMMAND pfnPreemptCommand;PFND3DKMDDI_SETPOINTERSHAPEpfnSetPointerShape;PFND3DKMDDI_SETPOINTERPOSITION pfnSetPointerPosition;PFND3DKMDDI_BUILDPAGINGBUFFER pfnBuildPagingBuffer;PFND3DKMDDI_ESCAPE pfnEscape;PFND3DKMDDI_QUERYCURRENTFENCE pfnQueryCurrentFence;PFND3DKMDDI_SETMODEpfnSetMode;PFND3DKMDDI_SETOUTPUTSTATE pfnSetOutputState;//示例性適配器VidPN管理方法PFND3DKMDDI_ENUMVIDEOPRESENTSOURCESET pfnEnumVideoPresentSourceSet;PFND3DKMDDI_ENUMVIDEOPRESENTTARGETSET pfnEnumVideoPresentTargetSet;PFND3DKMDDI_ISSUPPORTEDVIDPN pfnIsSupportedVidPN;PFND3DKMDDI_ENUMCOFUNCVIDPNSOURCEIDSET pfnEnumCofuncVidPNSourceIDSet;PFND3DKMDDI_ENUMCOFUNCVIDPNTARGETIDSET pfnEnumCofuncVidPNTargetIDSet;PFND3DKMDDI_ENUMVIDPNCOFUNCMODALITYpfnEnumVidPNCofuncModality;PFND3DKMDDI_RECOMMENDFUNCTIONALVIDPN pfnRecommendFunctionalVidPN;//示例性裝置方法PFND3DKMDDI_DESTROYDEVICE pfnDestroyDevice;PFND3DKMDDI_OPENALLOCATION pfnOpenAllocation;PFND3DKMDDI_CLOSEALLOCATIONpfnCloseAllocation;PFND3DKMDDI_RENDER pfnRender;PFND3DKMDDI_PRESENT pfnPresent;}D3DKMDDI_INTERFACE;typedef NTSTATUS(APIENTRY*PFND3DKMDDI_QUERYADAPTERINFO)(HANDLE hAdapter,CONSTD3DKMDDIARG_QUERYADAPTERINFO*);typedeef NTSTATUS(APIENTRY*PFND3DKMDDI_CREATEDEVICE)(HANDLE hAdapter,D3DKMDDIARG_GREATEDEVICE*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_CREATEALLOCATION)(HANDLE hAdapter,D3DKMDDIARG_CREATEALLOCATION*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_DESTROYALLOCATION)(HANDLE hAdapter,CONSTD3DKMDDIARG_DESTROYALLOCATION*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_ACQUIREAPERTURE)(HANDLE hAdapter,D3DKMDDIARG_ACQUIREAPERTURE*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_RELEASEAPERTURE)(HANDLE hAdapter,CONSTD3DKMDDIARG_RELEASEAPERTURE*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_MAPAPERTURESEGMENT)(HANDLE hAdapter,CONSTD3DKMDDIARG_MAPAPERTURESEGMENT*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_UNMAPAPERTURESEGMENT)(HANDLE hAdapter,CONSTD3DKMDDIARG_UNMAPAPERTURESEGMENT*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_PATCH)(HANDLE hAdapter,CONST D3DKMDDIARG_PATCH*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_SUBMITCOMMAND)(HANDLE hAdapter,CONSTD3DKMDDIARG_SUBMITCOMMAND*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_PREEMPTCOMMAND)(HANDLE hAdapter,CONSTD3DKMDDIARG_PREEMPTCOMMAND*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_SETPOINTERSHAPE)(HANDLE hAdapter,CONSTD3DKMDDIARG_SETPOINTERSHAPE*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_SETPOINTERPOSITION)(HANDLE hAdapter,CONSTD3DKMDDIARG_SETPOINTERPOSITION*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_BUILDPAGINGBUFFER)(VOID*,D3DKMDDIARG_BUILDPAGINGBUFFER*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_ESCAPE)(HANDLE hAdapter,D3DKMDDIARG_ESCAPE*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_QUERYCURRENTFENCE)(HANDLE hAdapter,ULARGE_INTEGER*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_SETMODE)(HANDLE hAdapter,D3DKMDDIARG_SETMODE*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_SETOUTPUTSTATE)(HANDLE hAdapter,D3DKMDDIARG_SETOUTPUTSTATE*);
//示例性VidPN管理方法typedef NTSTATUS(APIENTRY*PFND3DKMDDI_ENUMVIDEOPRESENTSOURCESET)(HANDLE hAdapter,D3DKMDDIARG_ENUMVIDEOPRESENTSOURCESET*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_ENUMVIDEOPRESENTTARGETSET)(HANDLE hAdapter,D3DKMDDIARG_ENUMVIDEOPRESENTTARGETSET*);typcdef NTSTATUS(APIENTRY*PFND3DKMDDI_ISSUPPORTEDVIDPN)(HANDLE hAdapter,D3DKMDDIARG_ISSUPPORTEDVIDPN*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_ENUMCOFUNCVIDPNSOURCEIDSET)(HANDLE hAdapter,D3DKMDDIARG_ENUMCOFUNCVIDPNSOURCEIDSET*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_ENUMCOFUNCVIDPNTARGETIDSET)(HANDLE hAdapter,D3DKMDDIARG_ENUMCOFUNCVIDPNTARGETIDSET*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_ENUMVIDPNCOFUNCMODALITY)(HANDLE hAdapter,D3DKMDDIARG_ENUMVIDPNCOFUNCMODALITY*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_RECOMMENDFUNCTIONALVIDPN)(HANDLE hAdapter,D3DKMDDIARG_RECOMMENDFUNCTIONALVIDPN*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_DESTROYDEVICE)(HANDLE hDevice);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_OPENALLOCATION)(HANDLE hDevice,CONSTD3DKMDDIARG_OPENALLOCATION*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_CLOSEALLOCATION)(HANDLE hDevice,CONSTD3DKMDDIARG_CLOSEALLOCATION*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_RENDER)(HANDLE hDevice,D3DKMDDIARG_RENDER*);typedef NTSTATUS(APIENTRY*PFND3DKMDDI_PRESENT)(HANDLE hDevice,D3DKMDDIARG_PRESENT*);在D3DKMDDI_INTERFACE結(jié)構(gòu)中被返回的hAdapter可以作為pInterfaceReference以及pInterfaceDereference的上下文來傳遞。并且其還可以以適配器起作用的hAdaper參數(shù)在接口中傳遞。
typdef struct_D3DKMDDI_INTERFACESPECIFICDATA{HANDLEhAdapter;//示例性D3DKMDDI接口回調(diào)功能PFND3DKMDDI_GETHANDLEDATACB pfnGetHandleDataCb;PFND3DKMDDI_GETHANDLEPARENTCB pfnGetHandleParentCb;PFND3DKMDDI_ENUMHANDLECHILDRENCBpfnEnumHandleChildrenCb;PFND3DKMDDI_NOTIFY_DMAINTERRUPTCB pfnNotifyDmaInterruptCb;PFND3DKMDDI_NOTIFY_DMADPCCB pfnNotifyDmaDpcCb;PFND3DKMDDI_ALLOCSYSMEMFOROUTPARAMCBpfnAllocSysMemForOutParamCb;PFND3DKMDDI_FREESYSMEMFOROUTPARAMCB pfnFreeSysMemForOutParamCb;}D3DKMDDI_INTERFACESPECIFICDATA;
typedef HANDLE(APIENTRY CALLBACK*PFND3DKMDDI_GETHANDLEPARENTCB)(HANDLE hDevice,D3DKMT_HANDLE);typedef VOID*(APIENTRY CALLBACK*PFND3DKMDDI_GETHANDLEDATACB)(HANDLE hDevice,CONSTD3DKMDDIARGCB_GETHANDLEDATA*);typedef HANDLE(APIENTRY CALLBACK*PFND3DKMDDI_ENUMHANDLECHILDRENCB)(HANDLE hDevice,CONST D3DKMDDIARGCB_ENUMHANDLECHILDREN*);typedef NTSTATUS(APIENTRY CALLBACK*PFND3DKMDDI_NOTIFY_DMAINTERRUPTCB)(HANDLE hAdapter,CONST D3DKMDDIARG_NOTIFY_DMAINTERRUPT_DATA*);typedef NTSTATUS(APIENTRY CALLBACK*PFND3DKMDDI_NOTIFY_DMADPCCB)(HANDLE hAdapter,CONSTD3DKMDDIARG_NOTIFY_DMADPC_DATA*);typedef VOID*(APIENTRY CALLBACK*PFND3DKMDDI_ALLOCSYSMEMFOROUTPARAMCB)(IN POOL_TYPE,IN SIZE_T);typedef VOID(APIENTRY CALLBACK*PFND3DKMDDI_FREESYSMEMFOROUTPARAMCB)(VOID*);接口特定數(shù)據(jù)可以包含指示器以便在驅(qū)動器可以調(diào)用的運行時間中回調(diào)功能。hAdaper可以是運行時間的適配器處理,并且可以被傳遞給請求一個適配器處理的回調(diào)。
除上述接口外,也可以使用下面?zhèn)鹘y(tǒng)的IOCTLIOCTL_VIDEO_RESET_DEVICEIOCTL_VIDEO_SET_COLOR_REGISTERSIOCTL_VIDEO_QUERY_POINTER_CAPABILITIESIOCTL_VIDEO_QUERY_COLOR_CAPABILITIESIOCTL_VIDEO_QUERY_NUM_AVAIL_MODESIOCTL_VIDEO_QUERY_AVAIL_MODES表50-功能EnumVideoPresentSourceSet

EnumVideoPresentSourceSet可以通過VidPN管理器被系統(tǒng)中每一個顯示適配器調(diào)用,其中VidPN管理器正驅(qū)動相應(yīng)顯示適配器的后再現(xiàn)視頻表象能力,以便獲得一個規(guī)定顯示適配器具有的視頻顯現(xiàn)源的列表。
微端口可以經(jīng)過INTERFACESPECIFICDATA接口,利用通過操作系統(tǒng)提供給它的AllocSysMemForOutParamCb回調(diào)在系統(tǒng)存儲器中分配一個足夠大的緩存器,以便包含用于規(guī)定顯示適配器的被請求的視頻顯現(xiàn)源組。所分配的尺寸應(yīng)為(D3DKMDDI_VIDEO_PRESENT_SOURCE_SET)的尺寸+(D3DKMDDI_VIDEO_PRESENT_SOURCE)的尺寸*(視頻顯現(xiàn)源的#-1)。
一旦用于輸出參數(shù)的存儲器已分配,那么微端口可以根據(jù)下列的定義對其進行填充typedef struct_D3DKMDDI_VIDEO_PRESENT_SOURCE_SET{SIZE_T NumOfVideoPresentSources;D3DKMDDI_VIDEO_PRESENT_SOURCE VideoPresentSourees[1];}D3DKMDDI_VIDEO_PRESENT_SOURCE_SET;其中·NumOfVideoPresentSources-在VideoPresentSources中列出的視頻顯現(xiàn)源的數(shù)量。
·VideoPresentSources-在該組中的視頻顯現(xiàn)源描述符的陣列的地址。在NumOfVideoPresentSources規(guī)定元素的實際數(shù)量。
視頻顯現(xiàn)源描述符被定義為如下typedef struct_D3DKMDDI_VIDEO_PRESENT_SOURCE{D3DKMDDI_VIDEO_PRESENT_SOURCE_IDVideoPresentSourceID;DWORD dwReserved;}D3DKMDDI_VIDEO_PRESENT_SOURCE;其中·VideoPresentSourceID-用來通過微端口以及操作系統(tǒng)引用相應(yīng)的視頻顯現(xiàn)源的唯一的ID。
·dwReserved-在這里起作用的其它視頻顯現(xiàn)源描述符特性。視頻顯現(xiàn)源ID被定義為typedefUINT D3DKMDDI_VIDEO_PRESENT_SOURCE_ID;在從這個功能成功返回的基礎(chǔ)上,操作系統(tǒng)可以取得以輸出參數(shù)形式返回的數(shù)據(jù)的使用期的所有權(quán),并且在完成時可以釋放被它的支持分配所占用的存儲器。
返回代碼STATUS_SUCCESS表示驅(qū)動器成功地執(zhí)行調(diào)用。
表51-功能EnumVideoPresentTargetSet

可以通過VidPN管理器為系統(tǒng)中每一個顯示適配器調(diào)用EnumVideoPresentTargetSet,管理器正驅(qū)動相應(yīng)顯示適配器的后再現(xiàn)視頻顯現(xiàn)能力以便獲得規(guī)定顯示適配器所具有的視頻顯現(xiàn)目標列表。
微端口可以經(jīng)過INTERFACESPECIFICDATA接口,利用通過操作系統(tǒng)提供給它的AllocSysMemForOutParamCb回調(diào)在系統(tǒng)存儲器中分配一個足夠大的緩存器,以便包含用于被規(guī)定的顯示適配器的所請求的視頻顯現(xiàn)源組。所分配的尺寸應(yīng)為(D3DKMDDI_VIDEO_PRESENT_TARGET_SET)的尺寸+(D3DKMDDI_VIDEO_PRESENT_TARGET)的尺寸*(視頻顯現(xiàn)目標的#-1)。
一旦用于輸出參數(shù)的存儲器已分配,微端口就可以基于下面的定義對其進行填充typedef struct_D3DKMDDI_VIDEO_PRESENT_TARGET_SET{SIZE-TNumOfVideoPresentTargets;D3DKMDDI_VIDEO_PRESENT_SOURCE VideoPresentTargets[1];}D3DKMDDI_VIDEO_RESENT_TARGET_SET;其中·NumOfVideoPresentTargets-在VideoPresentSources中列舉的視頻顯現(xiàn)目標的數(shù)量。
·VideoPresentSources-在該組中的視頻顯現(xiàn)目標描述符的陣列的地址。在NumOfVideoPresentTargets中規(guī)定元素的實際數(shù)量。
視頻顯現(xiàn)目標描述符被定義為如下typedef struct_D3DKMDDI_VIDEO_PRESENT_TARGET{D3DKMDDI_VIDEO_PRESENT_TARGET_ID VideoPresentTargetID;D3DKMDDI_VIDEO_OUTPUT_TECHNOLOGY VideoOutputTechnology;D3DKMDDI_VIDEO_OUTPUT_HPD_AWARENESS VideoOutputHPDAwareness;D3DKMDDI_MONITOR_ORIENTATION_AWARENESSMonitorOrientationAwareness;}D3DKMDDI_VIDEO_PRESENT_TARGET;其中·VideoPresentTargetID-用來通過微端口以及操作系統(tǒng)引用相應(yīng)的視頻顯現(xiàn)目標的唯一的ID。
·VideoOutputTechnology-視頻輸出技術(shù)的類型。
·VideoOutputHPDAwareness-視頻輸出的HPD的感知類型。
·MonitorOrientationAwareness-監(jiān)視器定位感知。
視頻顯現(xiàn)目標ID被定義為typedefUINT D3DKMDDI_VIDEO_PRESENT_TARGET_ID;視頻輸出技術(shù)類型描述符可以被定義為typedef enum_D3DKMDDI_VIDEO_OUTPUT_TECHNOLOGY
{D3DKMDDI_VOT_UNINITIALIZED =0,D3DKMDDI_VOT_HD15 =1,D3DKMDDI_VOT_DVI =2,D3DKMDDI_VOT_HDMI =3,D3DKMDDI_VOT_HDMI2 =4,D3DKMDDI_VOT_SVIDEO_4PIN =5,D3DKMDDI_VOT_SVIDEO_7PIN =6,D3DKMDDI_VOT_RCA_COMPOSITE =7,D3DKMDDI_VOT_RCA_3COMPONENT=8,D3DKMDDI_VOT_BNC =9,D3DKMDDI_VOT_RF=10,D3DKMDDI_VOT_OTHER =255}D3DKMDDI_VIDEO_OUTPUT_TECHNOLOGY;視頻輸出HPD感知描述符類型可以被定義為typedef enum_D3DKMDDI_VIDEO_OUTPUT_HPD_AWARENESS{D3DKMDDI_VOHPDA_UNINITIALIZED =0,D3DKMDDI_VOHPDA_NONE =1,D3DKMDDI_VOHPDA_DESTRUCTIVELYPOLLED=2,D3DKMDDI_VOHPDA_NONDESTRUCTIVELYPOLLED =3,D3DKMDDI_VOHPDA_INTERRUPTIBLE =4}D3DKMDDI_VIDEO_OUTPUT_HPD_AWARENESS;視頻輸出HPD感知可以被用來表示由顯示適配器在監(jiān)視器的視頻輸出上感應(yīng)的監(jiān)視器連通性的等級,并可利用如下四種類型1.可中斷的HPD-當并且僅當微端口可以異步地將監(jiān)視器的到達/離開通知操作系統(tǒng)時感知。
2.非破壞性輪詢HPD-當并且僅當微端口不能異步地將監(jiān)視器的到達/離開通知操作系統(tǒng)時感知,但是操作系統(tǒng)可以在不引起可視失真的情況下周期地輪詢監(jiān)視器的存在。
3.破壞性輪詢HPD-當并且僅當微端口不能異步地將監(jiān)視器的到達/離開通知操作系統(tǒng)時感知,但是操作系統(tǒng)可以偶發(fā)性地輪詢監(jiān)視器的存在,在每一個輪詢上引起可視失真。
4.無HPD-當并且僅當微端口通過中斷或輪詢感知不到監(jiān)視器到達/離開時感知。
監(jiān)視器定位感知可以被定義為typedef enum_D3DKMDDI_MONITOR_ORIENTATION_AWARENESS{D3DKMDDI_MOA_UNINITIALIZED=0,D3DKMDDI_MOA_NONE =1,D3DKMDDI_MPA_POLLED =2,D3DKMDDI_MOA_INTERRUPTIBLE=3}D3DKMDDI_MONITOR_ORIENTATION_AWARENESS;在從這個功能成功返回的基礎(chǔ)上,操作系統(tǒng)可以取得以輸出參數(shù)的形式返回的數(shù)據(jù)的使用期的所有權(quán),并且在完成時可以釋放被它的支持分配所占用的存儲器。
返回代碼STATUS_SUCCESS表示驅(qū)動器成功執(zhí)行調(diào)用。
表52-功能IsSupportedVidPN

IsSupportedVidPN可以允許操作系統(tǒng)查詢微端口是否所提供的VidPN配置被支持(例如可以被擴展到功能性VidPN)。第一個參數(shù)(argument)hAdapter可以規(guī)定顯示適配器,在該適配器上VidPN支持正被討論。實際的VidPN可以被規(guī)定在第二參數(shù)的第一字段上,pIsSupportedVidPN->pDesiredVidPN,其中VidPN描述符可以被定義為
typedef struct_D3DKMDDI_VIDPN{D3DKMDDI_VIDPN_TOPOLOGYVidPNTopology;DWORD dwReserved;}D3DKMDDI_VIDPN;VidPN拓撲描述符可以被定義為typedef struct_D3DKMDDI_VIDPN_TOPOLOGY{D3DKMDDI_VIDPN_PRESENT_PATH_SET VidPNPresentPathSet;}D3DKMDDI_VIDPN_TOPOLOGY;VidPNPresentPathSet可以表示構(gòu)成VidPN的拓撲的視頻顯現(xiàn)路徑組,其中typedef struct_D3DKMDDI_VIDPN_PRESENT_PATH_SET}SIZE_T NumOfVidPNPresentPaths;D3DKMDDI_VIDPN_PRESENT_PATHVidPNPresentPaths[1];}D3DKMDDI_VIDPN_PRESENT_PATH_SET;具有1.NumOfVidPNPresentPaths包含在VidPNPresentPaths中的視頻顯現(xiàn)路徑的數(shù)量,并且2.VidPNPresentPaths包含構(gòu)成VidPNP的拓撲的視頻顯現(xiàn)路徑的陣列。
VidPNP顯現(xiàn)路徑描述符可以被定義為typedef struct_D3DKMDDI_VIDPN_PRESENT_PATH{D3DKMDDI_VIDPN_SOURCE VidPNSource;D3DKMDDI_VIDPN_TARGET VidPNTarget;D3DKMDDI_VIDPN_PRESENT_PATH_TRANSFORMATION VidPNPresentPathTransformation;D3DKMDDI_VIDPN_PRESENT_PATH;D3DKMDDI_VIDPN_PRESENT_PATH是視頻顯現(xiàn)路徑描述符,其可以被用于顯現(xiàn)VidPN拓撲中從單個視頻顯現(xiàn)目標至單個視頻顯現(xiàn)源的映射,其中·VidPNSource是視頻顯現(xiàn)路徑的源描述符。
·VidPNTarget是視頻顯現(xiàn)路徑的目標描述符。
·VidPNPresentPathTransformation是視頻顯現(xiàn)路徑的內(nèi)容轉(zhuǎn)換描述符。
其中VidPN源描述符可以被定義為typedef struct_D3DKMDDI_VIDPN_SOURCE{D3DKMDDI_VIDEO_PRESENT_SOURCE_IDVidPNSourceID;SIZE_T PinnedModeIndex;D3DKMDDI_VIDPN_SOURCE_MODESET*pCofuncVidPNSourceModeSet;}D3DKMDDI_VIDPN_SOURCE;其中·VidPNSourceID是用于通過微端口和操作系統(tǒng)引用相應(yīng)的視頻顯現(xiàn)源的唯一的ID。這個值來自EnumVideoPresentSourceSet調(diào)用。
·PinnedModeIndex是視頻顯現(xiàn)源模式索引,其被固定在給定的當前VidPN配置的這個視頻顯現(xiàn)源上的可利用的共同作用模式組中,或者當沒有模式被固定到這個源上時,其被固定到D3DKMDDI_NO_PINNED_MODE。
·pCofuncVidPNSourceModeSet是與當前(部分或臨時)的VidPN共同作用的VidPN源模式,這個源是其中一員。
VidPN源模式組描述符可以被定義為typedef struct_D3DKMDDI_VIDPN_SOURCE_MODESET{SIZE_TNumOfVidPNSourceModes;D3DKMDDI_VIDPN_SOURCE_MODEVidPNSourceModes[1];}D3DKMDDI_VIDPN_SOURCE_MODESET;其中·NumOfVidPNSourceModes規(guī)定列舉在VidPNSourceModes中的視頻顯現(xiàn)源模式的數(shù)量。
·VidPNSourceModes包含組中的視頻顯現(xiàn)源模式的陣列。
VidPN源模式描述符可以被定義為
typedef struct_D3DKMDDI_VIDPN_SOURCE_MODE{D3DKMDDI_VIDPN_SOURCE_MODE_TYPE Type;union{D3DKMDDI_GRAPHICS_RENDERING_FORMAT grfxFormat;D3DKMDDI_TEXT_RENDERING_FORMAT textFormat;};}D3DKMDDI_VIDPN_SOURCE_MODE;其中Type包含VidPN源模式類型描述符,被定義為typedef enum_D3DKMDDI_VIDPN_SOURCE_MODE_TYPE{D3DKMDDI_RMT_UNINITIALIZED =0,D3DKMDDI_RMT_GRAPHICS =1,D3DKMDDI_RMT_TEXT =2}D3DKMDDI_VIDPN_SOURCE_MODE_TYPE;如果Type等于D3DKMDDI_RMT_GRAPHICS,那么源模式描述符包含一個圖形再現(xiàn)格式描述符grfxFormat,其被定義為typedef struct_D3DKMDDI_GRAPHICS_RENDERING_FORMAT{SIZE sizePrimSurf;SIZE sizeVisible;DWORD dwStride;D3DKMDDI_PIXEL_FORMAT PixelFormat;D3DKMDDI_COLOR_ACCESS_MODEPixelValueAccessMode;}D3DKMDDI_GRAPHICS_RENDERING_FORMAT;其中,·sizePrimSurf規(guī)定這個VidPN源模式要求的主表面的尺寸。
·sizeVisible規(guī)定用來固定包括縮放模式的模式的主表面的可視部分的尺寸。
·dwStride規(guī)定一個掃描行的開始和下一掃描行之間的字節(jié)數(shù)量。
·PixelFormat規(guī)定像素的格式。
·PixelValueAccessMode為像素值信息規(guī)定訪問模式。
否則,如果Type等于D3DKMDDI_RMT_TEXT,那么源模式描述符包含一個文本再現(xiàn)格式描述符textFormat,其被定義為typedef enum_D3DKMDDI_TEXT_RENDERING_FORMAT}D3DKMDDI_TRF_UNINITIALIZED=0}D3DKMDDI_TEXT_RENDERING_FORMAT;另外,VidPN目標描述符可以被定義為typedef struct_D3DKMDDI_VIDPN_TARGET{D3DKMDDI_VIDEO_PRESENT_TARGET_IDVidPNTargetID;SIZE_T PinnedModeIndex;D3DKMDDI_VIDPN_TARGET_MODESET*pCofuncVidPNTargetModeSet;}D3DKMDDI_VIDPN_TARGET;其中·VidPNTargetID是用來通過微端口和操作系統(tǒng)引用相應(yīng)視頻顯現(xiàn)目標的唯一的ID。這個值來自EnumVideoPresentTargetSet調(diào)用。
·PinnedModeIndex是視頻顯現(xiàn)目標模式索引,其被固定在給定的當前VidPN配置的這個視頻顯現(xiàn)目標上可利用的共同作用模式組中,或者當沒有模式被固定到這個目標上時,其被固定到D3DKMDDI_NO_PINNED_MODE。
·pCofuncVidPNSourceModeSet是與當前(部分)的VidPN共同作用的VidPN目標模式,這個目標是其中一員。
VidPN目標模式組描述符可以被定義為typedef struct_D3DKMDDI_VIDPN_TARGET_MODESET}SIZE_TNumOfVidPNTargetModes;D3DKMDDI_VIDPN_TARGET_MODEVidPNTargetModes[1];}D3DKMDDI_VIDPN_TARGET_MODESET;其中
·NumOfVidPNTargetModes規(guī)定列舉在VidPNTargetModes中的視頻顯現(xiàn)目標模式的數(shù)量。
·VidPNTargetModes包含組中的視頻顯現(xiàn)目標模式的陣列。
其中,VidPN目標模式描述符可以被定義為如表53所示表53-VidPN目標模式描述符




其中·vidStandard規(guī)定視頻模式標準,通過這個標準限定這個模式(如果需要)。
·sizeTotal規(guī)定像素中視頻信號的尺寸(例如HTotal和VTotal)。
·sizeActive規(guī)定在有源像素中顯現(xiàn)圖形的尺寸(例如HActive和VActive)。
·sizeActiveOffset規(guī)定有源像素相對于全部像素的位置。
·sizeTLDeltaVisibleFromActive從視頻信號的有源像素右下角規(guī)定可視像素的左上角監(jiān)視器屏幕的增量(delta)。
·sizeBRDeltaVisibleFromActive從視頻信號的有源像素右下角規(guī)定可視像素的右下角監(jiān)視器屏幕的增量。
·frqVSync規(guī)定這個模式的垂直刷新頻率(以Hz為單位)。
·frqHSync規(guī)定這個模式的水平刷新頻率(以KHz為單位)。
·sztPixelRate規(guī)定這個模式的像素時鐘速率。
·ScanLineOrdering規(guī)定這個模式的掃描行排序(例如逐行、隔行)。
·IsGTFCompliant規(guī)定這個模式的VSync、HSync以及時鐘速率是否遵守由VESA廣義的定時公式強加的約束。
·ModePreference通過連接到相應(yīng)的視頻輸出的監(jiān)視器規(guī)定這個模式是否是優(yōu)選的。
視頻信號標準enum可以被用來在合適時簡化視頻模式比較。
分頻描述符可以被定義為typedef struct_D3DKMDDI_FRACTIONAL_FREQUENCY{SIZE_T Numerator;SIZE_T sztDenominator;}D3DKMDDI_FRACTIONAL_FREQUENCY;其中·Numerator規(guī)定分頻分子。
·Denominator規(guī)定分頻分母。
垂直頻率可以以Hz為單位存儲,并且水平頻率可以以KHz為單位存儲。這個編碼格式的動態(tài)范圍,假定10^-7分辨率(在32比特系統(tǒng))是{0..(2^32-1)/10^7},其譯為垂直頻率是{0..428.4967296}[Hz],譯為水平頻率是{0..428.4967296}[KHz]。這個子微秒精度范圍將可以被接受,即使用于在專業(yè)視頻應(yīng)用中(對于視頻信號同步誤差在一微秒中將意味著一個具有10^7/(60*60*24)=115.741天的周期的時間漂移)。
視頻信號掃描行排序描述符可以被定義為typedef enum_D3DKMDDI_VIDEO_SIGNAL_SCANLINE_ORDERING{D3DKMDDI_VSSLO_UNINITIALIZED =0,D3DKMDDI_VSSLO_PROGRESSIVE =1,D3DKMDDI_VSSLO_INTERLACED_UPPERFIELDFIRST =2,D3DKMDDI_VSSLO_INTERLACED_LOWERFIELDFIRST =3,D3DKMDDI_VSSLO_OTHER =255}D3DKMDDI_VIDEO_SIGNAL_SCANLINE_ORDERING;并且可以被用來規(guī)定每一個字段是否包含一個幀的全部內(nèi)容或者僅包含它的一半(例如,奇/偶行可交替地)。利用一個enum明確規(guī)定這個特征既可以使客戶不用必須包含基于模式的查找表,并還可以延伸到未在D3DKMDDI_VIDEO_SIGNAL_STANDARD enum中列舉的將來的標準模式。
存儲用于可視/有源像素映射的增量而不是可視像素的尺寸和偏移,這具有理想/默認狀態(tài)為零的增加的好處。
VidPN顯現(xiàn)路徑轉(zhuǎn)換描述符可以被定義為typedef enum_D3DKMDDI_VIDPN_PRESENT_PATH_TRANSFORMATION{D3DKMDDI_VPPT_IDENTITY =1,D3DKMDDI_VPPT_CENTERED =2}D3DKMDDI_VIDPN_PRESENT_PATH_TRANSFORMATION其中·D3DKMDDI_VPPT_IDENTITY表示按現(xiàn)狀呈現(xiàn)的源內(nèi)容。注意,這個轉(zhuǎn)換當且僅當視頻顯現(xiàn)源和目標模式的空間分辨率匹配時才有效。
·D3DKMDDI_VPPT_CENTERED表示未按比例呈現(xiàn)的源內(nèi)容,相對于目標模式的空間分辨率來聚集。
一個規(guī)定VidPN應(yīng)至少規(guī)定一個有效的拓撲,但是還可以具有用分別地固定的模式配置的一些或全部的它的目標/源。
返回代碼STATUS_SUCCESS表示驅(qū)動器成功執(zhí)行調(diào)用。
STATUS_GRAPHICS_INVALID_VIDPN_TOPOLOGY表示規(guī)定的VidPN拓撲是無效的。
表54-功能EnumCofuncVidPNSourceIDSet

EnumCofuncVidPNSourceIDSet枚舉一個與規(guī)定VidPN實施共同作用的VidPN源ID組。VidPN源當且僅當其可以通過至少一個視頻顯現(xiàn)路徑被加入到它的拓撲,而不表現(xiàn)出VidPN無效或不被支持時,可以與給定VidPN實施共同作用。微端口可以分配一個足夠大的緩存器,以便通過pEnumCofuncVidPNSourceIDSetArg利用D3DKMDDI_INTERFACESPECIFICDATA.pfnAllocSysMemForOutParamCb容納整個枚舉結(jié)果。分配的尺寸應(yīng)為(D3DKMDDI_VIDEO_PRESENT_SOURCE_ID_SET)的尺寸+(D3DKMDDI_VIDEO_PRESENT_SOURCE_ID)的尺寸*(共同作用的視頻顯現(xiàn)源的#-1)。
一旦用于輸出參數(shù)的存儲器已分配,微端口可以基于下列的定義對其進行填充typedef struct_D3DKMDDI_VIDEO_PRESENT_SOURCE_ID_SET{SIZE_T NumOfVidPNSourceIDs;D3DKMDDI_VIDEO_PRESENT_SOURCE_IDVideoPresentSourceIDs[1];}D3DKMDDI_VIDEO_PRESENT_SOURCE_ID_SET;·NumOFVidPNSourceIDs規(guī)定列舉在VideoPresentSourceIDs中的視頻顯現(xiàn)源的ID的數(shù)量。
·VideoPresentSourceIDs表示該組中視頻顯現(xiàn)源的ID陣列。
在從這個功能成功返回的基礎(chǔ)上,操作系統(tǒng)可以取得以輸出參數(shù)的形式返回的數(shù)據(jù)的使用期的所有權(quán),并且在完成時可以釋放被它的支持分配所占用的存儲器。
返回代碼STATUS_SUCCESS表示驅(qū)動器成功地執(zhí)行調(diào)用。
STATUS_GRAPHICS_INVAILID_VIDPN_TOPOLOGY表示被規(guī)定的VidPN拓撲是無效的。STATUS_NO_MEMORY表示微端口不能分配一個適合所請求的枚舉的緩沖器。
表55-功能EnumCofuncVidPNTargetIDSet

EnumCofuncVidPNTargetIDSet枚舉一組與規(guī)定VidPN實施共同作用的VidPN目標ID。VidPN目標當且僅當其可以通過至少一個視頻顯現(xiàn)路徑被加入到它的拓撲,而不表現(xiàn)出VidPN無效或不被支持時,可以與給定VidPN實施共同作用。微端口可以分配一個足夠大的緩存器,以便通過pEnumCofuncVidPNTargetIDSetArg利用D3DKMDDI_INTERFACESPECIFICDATA.pfnAllocSysMemForOutParamCb容納整個枚舉結(jié)果。分配的尺寸應(yīng)為(D3DKMDDI_VIDEO_PRESENT_TARGET_ID_SET)的尺寸+(D3DKMDDI_VIDEO_PRESENT_TARGET_ID)的尺寸*(共同作用的視頻顯現(xiàn)目標的#-1)。
一旦用于輸入?yún)?shù)的存儲器已分配,微端口可以基于下列的定義對其進行填充typedef struct_D3DKMDDI_VIDEO_PRESENT_TARGET_ID SET{SIZE_T NumOfVidPNTargetIDs;D3DKMDDI_VIDEO_PRESENT_TARGET_IDVideoPresentTargetIDs[1];}D3DKMDDI_VIDEO_PRESENT_TARGET_ID_SET;其中·NumOfVidPNTargetIDs規(guī)定列舉在VideoPresentTargetIDs中的視頻顯現(xiàn)目標的ID的數(shù)量。
·VideoPresentSourceIDs表示該組中視頻顯現(xiàn)目標的ID陣列。
在從這個功能成功返回的基礎(chǔ)上,操作系統(tǒng)可以取得以輸出參數(shù)的形式返回的數(shù)據(jù)的使用期的所有權(quán),并且在完成時可以釋放被它的支持分配所占用的存儲器。
返回代碼STATUS_SUCCESS表示驅(qū)動器成功地執(zhí)行調(diào)用。
STATUS_GRAPHICS_INVAILID_VIDPN_TOPOLOGY表示被規(guī)定的VidPN拓撲是無效的。
STATUS_NO_MEMORY表示微端口不能分配一個適合所請求的枚舉的緩沖器。
表56-功能EnumVidPNCofuncModality

EnumVidPNCofuncModality使得操作系統(tǒng)在規(guī)定VidPN中的每一個視頻顯現(xiàn)路徑上枚舉共同作用的視頻顯現(xiàn)和目標模式組,其中
·PConstrainingVidPN是相對于其VidPN目標和源上的共同作用的模式組正被搜索的VidPN。
·pVidPNPresentPathSetWithCofuncModeSets是VidPN顯現(xiàn)路徑組,其中每一個源/目標被與約束的VidPN共同作用的模式組填充。如果約束的VidPN的任何源/目標具有固定到它們上的模式,那么它們的索引將在結(jié)果組中的相應(yīng)VidPN源/目標描述符中被正確地更新。
微端口應(yīng)該填充pVidPresentPath->VideoPresentSource.pCofuncVidPNSourceModeSet->VidPNSourceModes[1..n]以及pVidPresentPath->VideoPresentTarget.pCofuncVidPNTargetModeSet->VidPNTargetModes[1..m]其中D3DKMDDI_VIDPN_PRESENT_PATH*pVidPresentPath=(*o_ppVidPNPresentPathSetWithCofuncModeSets)->arr_VidPresentPaths[1..k];在從這個功能成功返回的基礎(chǔ)上,操作系統(tǒng)可以取得以輸出參數(shù)的形式返回的數(shù)據(jù)的使用期的所有權(quán),并且在完成時可以釋放被它的支持分配所占用的存儲器。
返回代碼STATUS_SUCCESS表示驅(qū)動器成功地執(zhí)行調(diào)用。
STATUS_NO_MEMORY表示微端口不能分配一個適合所請求的枚舉的緩沖器。
表57-功能RecommendFunctionalVidPN

假定h/w的當前狀態(tài),RecommendFunctionalVidPN使得操作系統(tǒng)查詢由微端口推薦的VidPN。它可以被操作系統(tǒng)在其遇到?jīng)]有規(guī)定用戶優(yōu)選項(例如最后使用形態(tài))的配置時使用。作為這個請求的一部分,操作系統(tǒng)向微端口規(guī)定VidPN目標ID矢量pVidPNTargetPrioritizationVector,矢量按最重要優(yōu)先來排序,其表示連接到它們上的監(jiān)視器的相對重要性。微端口將按順序地分配充足的存儲器填充起作用的VidPN、填充相應(yīng)的字段并將它的地址分配給pRecommendedFunctionalVidPN,其中起作用的VidPN希望推薦給操作系統(tǒng)以用于h/w的當前狀態(tài)。在從這個功能成功返回的基礎(chǔ)上,操作系統(tǒng)可以取得以輸出參數(shù)的形式返回的數(shù)據(jù)的使用期的所有權(quán),并且在完成時可以釋放被它的支持分配所占用的存儲器。
返回代碼STATUS_SUCCESS表示驅(qū)動器成功地執(zhí)行調(diào)用。
STATUS_GRAPHICS_NO_RECOMMENDED_VIDPN表示微端口不具有推薦給顯示適配器當前配置的VidPN。
STATUS_NO_MEMORY表示微端口不能分配一個適合所請求的枚舉的緩沖器。
實例49-示例性視頻再現(xiàn)裝置驅(qū)動器的裝置特定部分在此所述的任何技術(shù)都可以在一個視頻再現(xiàn)裝置驅(qū)動器的裝置特定部分中實施。驅(qū)動器的可再次使用的部分可以經(jīng)過視頻再現(xiàn)裝置驅(qū)動器共享。
例如,在MICROSOFTWINDOWS操作系統(tǒng)中執(zhí)行的實施中,視頻端口可以作為驅(qū)動器的可再次使用的部分,并且視頻微端口可以作為視頻再現(xiàn)裝置驅(qū)動器的裝置特定部分。
示例性優(yōu)勢多監(jiān)視器顯示模式管理是一個復(fù)雜的問題,其涉及視頻再現(xiàn)/呈現(xiàn)裝置(例如顯示卡也被稱為圖形適配器)以及視頻監(jiān)視裝置(例如監(jiān)視器)的性能。導(dǎo)致顯示模式管理復(fù)雜的主要問題是圖形顯示裝置對象(例如MICROSOFTWINDOWSGDI對象)的性能之間的固有的相關(guān)性,其中每一個代表一個映射在單個多輸出顯示卡上的單獨(視圖,輸出)映射,這是傳統(tǒng)顯示模式管理結(jié)構(gòu)不能很好地處理的。
這些相關(guān)性主要由如下方面產(chǎn)生(1)系統(tǒng)中視頻輸出編解碼器具有的視頻輸出端比編解碼器能驅(qū)動的輸出端多而可能出現(xiàn)爭用;(2)用大量的方法來滿足一個在給定顯示卡中建立任何給定的多輸出視頻呈現(xiàn)配置的請求,很大程度上是由于(a)顯示卡中視頻輸出編解碼器的性能的差異;(b)顯示卡的通過利用交叉線來利用具有各種視頻輸出的視頻輸出編解碼器的能力,該交叉線可以將任何視頻輸出編解碼器布置到任何兼容的視頻輸出端;(c)在視頻輸出編解碼器是缺乏的資源時(例如小于將要被驅(qū)動的視頻輸出的數(shù)量時),顯示卡為多視頻輸出共享視頻輸出編解碼器的能力;(d)在不允許對視頻流中的一個進行竄改的情況下或在視頻流上需要覆蓋的第二信號為模擬格式,并且僅為了加入一個數(shù)字覆蓋而對其解碼然后再調(diào)制是浪費的情況下,顯示卡將多視頻輸出編解碼器或單個多輸入視頻輸出編解碼器用于單個視頻輸出(例如覆蓋)的能力;(3)由于利用視頻輸出編解碼器而產(chǎn)生的視頻存儲器總線帶寬的爭用,其中,每一個編解碼器負責(zé)在相應(yīng)的視頻輸出接口上將與主表面(或多個表面)有關(guān)的內(nèi)容轉(zhuǎn)換成視頻信號,這基本上減小了對視頻存儲器的定期讀??;或者(4)由于主表面需要支持給定的視頻顯現(xiàn)路徑(例如從被再現(xiàn)的數(shù)字內(nèi)容到物理視頻接口輸出的邏輯路徑)而引起的視頻存儲器容量的爭用。
因而,上述的多個可利用的顯示模式組(視圖,輸出)對之間的相關(guān)性比僅基于一個(視圖,輸出)對的復(fù)雜。特別地,選擇視圖上使用一個給定的主表面格式可以影響哪個視頻信號可在相應(yīng)輸出上顯示。并且,當考慮到單個視圖被顯示在多個輸出上的情況時,可利用的視頻信號組基于如何利用視頻輸出編解碼器和利用哪一個視頻輸出編解碼器實現(xiàn)最終的呈現(xiàn)配置來變化。最后,當考慮到在單個視頻卡上應(yīng)用多個視圖(每一個可能被送到多個輸出)的情況時,可利用的視頻信號基于各種視圖和輸出之間的關(guān)系變化。即,顯示卡在其輸出端上可以驅(qū)動的視頻信號是要求呈現(xiàn)的主表面的類型以及它們被呈現(xiàn)(例如,呈現(xiàn)到那些輸出端)應(yīng)采取的形式的功能。
此外,設(shè)計時可以不考慮現(xiàn)代顯示卡的縮放能力,其能對給定主表面內(nèi)容增加或減小取樣來得到不同的空間分辨率,以便被相應(yīng)的視頻輸出驅(qū)動。同樣,可對多輸出顯示卡作出的兩個主要提取是(1)包括顯示卡和監(jiān)視器的多功能顯示裝置提取的簡化視圖,被以統(tǒng)一的“顯示模式”描述符形態(tài)表現(xiàn),該視圖中包含兩種不同的物理裝置的狀態(tài);以及(2)單個輸出模式枚舉至多輸出的擴展,這個擴展可以通過對獨立的視頻驅(qū)動器棧以及相應(yīng)圖形裝置進行每個(視圖,輸出)復(fù)制一個來獲得。這些提取不足以正確地驅(qū)動這樣的裝置,并且可以用下述的代替(1)視圖和輸出的區(qū)別形態(tài)描述符;(2)每個顯示卡一個視頻驅(qū)動器棧,視頻驅(qū)動器管理一個暴露一個有平衡能力的DDI的視頻微端口,該DDI使得一個客戶固定這些其需要的模式,并且重新枚舉一個已更新的可利用的模式組,最后以一系列的反復(fù)(例如圖形搜索)會聚在一個功能性解決方案上;以及(3)增加一個實施,以便支持顯示模式相關(guān)性,最后可利用的模式組無效,并且模式改變失敗。
替換實施例任何實例中的技術(shù)可以與任一個或更多個其他實施中顯現(xiàn)的技術(shù)組合??紤]到也可以應(yīng)用本發(fā)明原理的許多可能的實施例,應(yīng)認識到所示實施例是本發(fā)明的示例,并且不應(yīng)作為本發(fā)明范圍的限制。相反,本發(fā)明的范圍包括下面權(quán)利要求所覆蓋的范圍。因此,我們要求在這些權(quán)利要求的范圍和精神內(nèi)的所有的發(fā)明作為我們的發(fā)明。
權(quán)利要求
1.一個或多個具有用于實施編程接口的計算機可執(zhí)行指令的計算機可讀介質(zhì),該接口提供對下述服務(wù)的訪問接收用于視頻顯現(xiàn)網(wǎng)絡(luò)臨時配置的指示;以及枚舉與該臨時配置共同作用的配置選項。
2.如權(quán)利要求1所述的一個或多個計算機可讀介質(zhì),其特征在于,該枚舉包括枚舉與該臨時配置共同作用的多個視頻顯現(xiàn)網(wǎng)絡(luò)源。
3.如權(quán)利要求1所述的一個或多個計算機可讀介質(zhì),其特征在于,該枚舉包括枚舉與該臨時配置共同作用的多個視頻顯現(xiàn)源模式。
4.如權(quán)利要求1所述的一個或多個計算機可讀介質(zhì),其特征在于,該枚舉包括枚舉與該臨時配置共同作用的多個視頻顯現(xiàn)網(wǎng)絡(luò)目標。
5.如權(quán)利要求1所述的一個或多個計算機可讀介質(zhì),其特征在于,該枚舉包括枚舉與該臨時配置共同作用的多個視頻顯現(xiàn)目標模式。
6.如權(quán)利要求3所述的一個或多個計算機可讀介質(zhì),其特征在于,該接口進一步提供對下面服務(wù)的訪問將所述的多個視頻顯現(xiàn)源模式中的一個固定到至少一個視頻顯現(xiàn)網(wǎng)絡(luò)源上。
7.如權(quán)利要求6所述的一個或多個計算機可讀介質(zhì),其特征在于,該接口進一步提供對下面服務(wù)的訪問在固定所述的多個視頻顯現(xiàn)源模式中的一個之后,枚舉與該臨時配置共同作用的多個視頻顯現(xiàn)目標模式。
8.如權(quán)利要求6所述的一個或多個計算機可讀介質(zhì),其特征在于,該接口進一步提供對下面服務(wù)的訪問對所述多個視頻顯現(xiàn)源模式中的一個進行解除固定。
9.如權(quán)利要求8所述的一個或多個計算機可讀介質(zhì),其特征在于,該接口進一步提供對下面服務(wù)的訪問在對所述多個視頻顯現(xiàn)源模式中的一個進行解除固定后,枚舉與該臨時配置共同作用的多個視頻顯現(xiàn)源模式。
10.如權(quán)利要求5所述的一個或多個計算機可讀介質(zhì),其特征在于,該接口進一步提供對下面服務(wù)的訪問將所述多個視頻顯現(xiàn)目標模式中的一個固定到至少一個視頻顯現(xiàn)網(wǎng)絡(luò)目標上。
11.如權(quán)利要求10所述的一個或多個計算機可讀介質(zhì),其特征在于,該接口進一步提供對下面服務(wù)的訪問在對所述多個視頻顯現(xiàn)目標模式中的一個進行固定后,枚舉與該臨時配置共同作用的多個視頻顯現(xiàn)目標模式。
12.如權(quán)利要求10所述的一個或多個計算機可讀介質(zhì),其特征在于,該接口進一步提供對下面服務(wù)的訪問對所述多個視頻顯現(xiàn)目標模式中的一個進行解除固定。
13.如權(quán)利要求12所述的一個或多個計算機可讀介質(zhì),其特征在于,該接口進一步提供對下面服務(wù)的訪問在對所述多個視頻顯現(xiàn)目標模式中的一個進行解除固定后,枚舉與該臨時配置共同作用的多個視頻顯現(xiàn)目標模式。
14.如權(quán)利要求1所述的一個或多個計算機可讀介質(zhì),其特征在于,該接口進一步提供對下面服務(wù)的訪問提交起作用的視頻顯現(xiàn)網(wǎng)絡(luò)配置。
15.一個或多個具有用于訪問編程接口的計算機可執(zhí)行指令的計算機可讀介質(zhì),該接口提供對下面服務(wù)的訪問接收用于視頻顯現(xiàn)網(wǎng)絡(luò)的臨時配置的指示;以及枚舉與該臨時配置共同作用的配置選項。
16.如權(quán)利要求15所述的一個或多個計算機可讀介質(zhì),其特征在于,該枚舉包括枚舉與該臨時配置共同作用的多個視頻顯現(xiàn)目標模式。
17.如權(quán)利要求16所述的一個或多個計算機可讀介質(zhì),其特征在于,該接口進一步提供對下面服務(wù)的訪問將所述多個視頻顯現(xiàn)目標模式中的一個固定到至少一個視頻顯現(xiàn)網(wǎng)絡(luò)目標上。
18.一種得到包括多個視頻目標的可配置視頻顯現(xiàn)網(wǎng)絡(luò)的配置的方法,該方法包括接收一系列用于該視頻顯現(xiàn)網(wǎng)絡(luò)的部分配置,以便建立一個臨時功能配置;以及提交該臨時功能配置,其中所述提交在該視頻顯現(xiàn)網(wǎng)絡(luò)中實施該臨時功能配置。
19.如權(quán)利要求18所述的方法,其特征在于,進一步包括在該提交之前,接收從該臨時功能配置中去除至少一個部分配置的指示。
20.一個或多個具有用于執(zhí)行權(quán)利要求18所述的方法的計算機可執(zhí)行指令的計算機可讀介質(zhì)。
21.一種配置包含多個資源和包含多個輸出的視頻顯現(xiàn)網(wǎng)絡(luò)的方法,該方法包括接收該視頻顯現(xiàn)網(wǎng)絡(luò)的部分配置的指示,其中該部分配置包括用于所述視頻顯現(xiàn)網(wǎng)絡(luò)的所述多個資源中的第一資源的配置的指示;基于所述視頻顯現(xiàn)網(wǎng)絡(luò)的所述多個資源之間的相關(guān)性,為該視頻顯現(xiàn)網(wǎng)絡(luò)的所述資源中的第二資源確定一個或多個配置選項,所述配置選項與該視頻顯現(xiàn)網(wǎng)絡(luò)的部分配置的指示共同作用;以及為該第二資源指示該共同作用的配置選項。
22.如權(quán)利要求21所述的方法,其特征在于所述接收由視頻驅(qū)動器執(zhí)行;所述確定由該視頻驅(qū)動器執(zhí)行;并且所述指示由該視頻驅(qū)動器執(zhí)行。
23.如權(quán)利要求22所述的方法,其特征在于該視頻驅(qū)動器包括視頻微端口;所述接收由該視頻微端口執(zhí)行;所述確定由該視頻微端口執(zhí)行;并且所述指示由該視頻微端口執(zhí)行。
24.如權(quán)利要求21所述的方法,其特征在于響應(yīng)于對設(shè)備驅(qū)動器接口的枚舉功能的編程調(diào)用來執(zhí)行該指示。
25.如權(quán)利要求21所述的方法,其特征在于該指示為該視頻顯現(xiàn)網(wǎng)絡(luò)的所述多個資源指示共同作用的配置選項。
26.如權(quán)利要求21所述的方法,其特征在于該第一資源位于該視頻顯現(xiàn)網(wǎng)絡(luò)的第一視頻路徑中;并且該第二資源位于該視頻顯現(xiàn)網(wǎng)絡(luò)的第二視頻路徑中。
27.如權(quán)利要求21所述的方法,其特征在于所述視頻顯現(xiàn)網(wǎng)絡(luò)的該部分配置為該視頻顯現(xiàn)網(wǎng)絡(luò)的多個視頻輸入中的一個指示配置。
28.如權(quán)利要求21所述的方法,其特征在于所述視頻顯現(xiàn)網(wǎng)絡(luò)的該部分配置為該視頻顯現(xiàn)網(wǎng)絡(luò)的多個視頻輸出中的一個指示配置。
29.如權(quán)利要求21所述的方法,其特征在于該視頻顯現(xiàn)網(wǎng)絡(luò)的該部分配置為該視頻顯現(xiàn)網(wǎng)絡(luò)的多個數(shù)字-視頻-輸入-顯現(xiàn)-至-視頻-輸出-信號轉(zhuǎn)換器中的一個指示配置。
30.如權(quán)利要求29所述的方法,其特征在于該數(shù)字-視頻-輸入-顯現(xiàn)-至-視頻-輸出-信號轉(zhuǎn)換器包括視頻編解碼器。
31.如權(quán)利要求29所述的方法,其特征在于該數(shù)字-視頻-輸入-顯現(xiàn)-至-視頻-輸出-信號轉(zhuǎn)換器包括數(shù)模轉(zhuǎn)換器。
32.如權(quán)利要求21所述的方法,其特征在于該第一資源包括該視頻顯現(xiàn)網(wǎng)絡(luò)的輸入;并且該第二資源包括該視頻顯現(xiàn)網(wǎng)絡(luò)的輸出。
33.如權(quán)利要求21所述的方法,其特征在于該視頻顯現(xiàn)網(wǎng)絡(luò)的該部分配置為該視頻顯現(xiàn)網(wǎng)絡(luò)指示拓撲。
34.如權(quán)利要求21所述的方法,其特征在于該視頻顯現(xiàn)網(wǎng)絡(luò)的該部分配置指示從視頻適配器輸出至視頻設(shè)備的映射。
35.一個或多個具有用于執(zhí)行權(quán)利要求21的方法的計算機可執(zhí)行指令的計算機可讀介質(zhì)。
36.一種配置包括視頻源和視頻目標的視頻顯現(xiàn)網(wǎng)絡(luò)的方法,該方法包括為該視頻顯現(xiàn)網(wǎng)絡(luò)選擇拓撲;為所述視頻源枚舉共同作用的選項;從用于所述視頻源的所述共同作用的選項中固定用于所述視頻源的選項;為所述視頻目標枚舉共同作用的選項;以及從用于所述視頻目標的所述共同作用的選項中固定用于所述視頻目標的選項。
37.如權(quán)利要求36所述的方法,其特征在于用于所述視頻源的所述共同作用的選項相對于該拓撲是共同作用的;并且用于所述視頻目標的所述共同作用選項相對于該拓撲是共同作用的,并且相對于用于所述視頻源的被固定的選項是共同作用的。
38.如權(quán)利要求36所述的方法,其特征在于,固定用于所述視頻源的選項包括固定用于第一視頻源的選項,其中該固定使得用于第二視頻源的一配置選項無效;確定用于該第二視頻源的該配置選項已無效;以及響應(yīng)于確定用于該第二視頻源的該配置選項已無效,對用于該第一視頻源的選項解除固定。
39.如權(quán)利要求36所述的方法,其特征在于,進一步包括響應(yīng)于確定所希望的選項不是用于所述視頻源的共同作用的選項,選出一個不同的拓撲。
40.如權(quán)利要求36所述的方法,其特征在于,進一步包括響應(yīng)于確定所希望的選項不是用于所述視頻目標的共同作用的選項,選出一個不同的拓撲。
41.如權(quán)利要求36所述的方法,其特征在于,進一步包括響應(yīng)于確定所希望的選項不是用于所述視頻目標的共同作用的選項,為至少一個所述視頻源選出一個不同的選項。
42.一個或多個具有用于執(zhí)行權(quán)利要求36所述方法的計算機可執(zhí)行指令的計算機可讀介質(zhì)。
43.一個或多個具有在其上編碼的計算機可執(zhí)行指令的計算機可讀介質(zhì),其中所述指令用于實現(xiàn)視頻驅(qū)動器,該視頻驅(qū)動器可用來配置包括多個具有多個輸出的資源的視頻顯現(xiàn)網(wǎng)絡(luò),該視頻驅(qū)動器包括可用來接收該視頻顯現(xiàn)網(wǎng)絡(luò)的部分配置的指示的邏輯,其中該部分配置包括用于該視頻顯現(xiàn)網(wǎng)絡(luò)的所述多個資源中的第一資源的配置的指示;可用來基于該視頻顯現(xiàn)網(wǎng)絡(luò)的所述多個資源之間的相關(guān)性來為該視頻顯現(xiàn)網(wǎng)絡(luò)的所述多個資源中的第二資源確定一個或多個配置選項的邏輯,其中這些配置選項與該視頻顯現(xiàn)網(wǎng)絡(luò)的該部分配置的指示共同作用;以及可用來為該第二資源指示該共同作用的配置選項的邏輯。
44.一個或多個具有用于執(zhí)行為視頻顯現(xiàn)網(wǎng)絡(luò)確定拓撲的方法的計算機可執(zhí)行指令的計算機可讀介質(zhì),該方法包括從初始拓撲開始;以及基于根據(jù)監(jiān)視器所支持的視頻模式規(guī)定的目標,對該初始拓撲進行修改以更好地滿足該目標。
45.如權(quán)利要求44所述的一個或多個計算機可讀介質(zhì),其特征在于,所述修改包括產(chǎn)生更好地滿足該目標的臨時功能配置。
46.如權(quán)利要求44所述的一個或多個計算機可讀介質(zhì),其特征在于,所述修改解決該視頻顯現(xiàn)網(wǎng)絡(luò)資源之間的相關(guān)性。
47.如權(quán)利要求44所述的一個或多個計算機可讀介質(zhì),其特征在于,假定該視頻顯現(xiàn)目標上的視頻模式組必須支持連接到它們上的視頻顯示設(shè)備上的優(yōu)選模式,該目標包括在該視頻顯現(xiàn)網(wǎng)絡(luò)中通過可利用的視頻輸出編解碼器將視頻顯現(xiàn)目標路由至視頻顯現(xiàn)源的最好方法,以便使視頻顯現(xiàn)源上的支持的圖形視頻顯現(xiàn)源模式組最大化。
48.如權(quán)利要求44所述的一個或多個計算機可讀介質(zhì),其特征在于,假定該視頻顯現(xiàn)目標上的視頻模式組必須支持以規(guī)定的優(yōu)先化排序的方式連接到它們的視頻顯示設(shè)備上的優(yōu)選模式,該目標包括在該視頻顯現(xiàn)網(wǎng)絡(luò)中通過可利用的視頻輸出編解碼器將視頻顯現(xiàn)目標路由至視頻顯現(xiàn)源的最好方法,以便使視頻顯現(xiàn)源上的支持的圖形視頻顯現(xiàn)源模式組最大化。
49.如權(quán)利要求44所述的一個或多個計算機可讀介質(zhì),其特征在于,假定該視頻顯現(xiàn)目標上的視頻模式組必須支持由連接到它們上的視頻顯示設(shè)備支持的至少一個視頻模式,該目標包括在該視頻顯現(xiàn)網(wǎng)絡(luò)中通過可利用的視頻輸出編解碼器將視頻顯現(xiàn)目標路由至視頻顯現(xiàn)源的最好方法,以便使視頻顯現(xiàn)源上的支持的圖形視頻顯現(xiàn)源模式組最大化。
50.如權(quán)利要求44所述的一個或多個計算機可讀介質(zhì),其特征在于,修改該初始拓撲包括枚舉多個視頻輸出可利用的視頻模式。
51.如權(quán)利要求50所述的一個或多個計算機可讀介質(zhì),其特征在于,修改該初始拓撲進一步包括將所述多個視頻模式中的至少一個固定到所述多個視頻輸出中的至少一個上。
52.如權(quán)利要求51所述的一個或多個計算機可讀介質(zhì),其特征在于,修改該初始拓撲進一步包括枚舉多個再現(xiàn)目標可利用的再現(xiàn)模式。
53.如權(quán)利要求52所述的一個或多個計算機可讀介質(zhì),其特征在于,修改該初始拓撲進一步包括將所述多個再現(xiàn)模式中的至少一個固定到所述多個再現(xiàn)目標中的一個上。
54.如權(quán)利要求53所述的一個或多個計算機可讀介質(zhì),其特征在于,修改該初始拓撲進一步包括將固定到所述多個再現(xiàn)目標中的一個上的所述多個再現(xiàn)模式中的至少一個進行解除固定。
55.如權(quán)利要求54所述的一個或多個計算機可讀介質(zhì),其特征在于,修改該初始拓撲進一步包括將所述多個再現(xiàn)模式中的另一個固定到所述多個再現(xiàn)目標中的所述一個上。
56.一種確定滿足所要求的視頻配置選項的優(yōu)先化的列表的視頻配置的方法,該方法包括基于該優(yōu)先化的列表,提交用于至少第一資源的部分視頻配置;接收與該部分視頻配置共同作用的配置選項列表;確定該優(yōu)先化的列表中的所要求的選項是否存在于與該部分視頻配置共同作用的配置選項列表中;以及響應(yīng)于確定所要求的選項不存在,為該第一資源重新提交經(jīng)修改后的部分配置。
57.如權(quán)利要求56所述的方法,其特征在于,該視頻配置指示視頻顯現(xiàn)網(wǎng)絡(luò)的配置。
58.如權(quán)利要求57所述的方法,其特征在于,該列表指示出用于該視頻顯現(xiàn)網(wǎng)絡(luò)的所要求的配置選項。
59.一個或多個具有用于執(zhí)行權(quán)利要求56所述的方法的計算機可執(zhí)行指令的計算機可讀介質(zhì)。
60.在一個或多個計算機可讀介質(zhì)中,一種視頻再現(xiàn)設(shè)備驅(qū)動器包括用于獲得第一視頻顯現(xiàn)網(wǎng)絡(luò)配置臨時配置的裝置,其中該臨時配置具有多個視頻輸出、多個再現(xiàn)目標以及至少一個用以再現(xiàn)目標聯(lián)合的視頻輸出;以及用第二視頻顯現(xiàn)網(wǎng)絡(luò)配置臨時配置替換該第一視頻顯現(xiàn)網(wǎng)絡(luò)配置臨時配置的裝置。
61.如權(quán)利要求60所述的視頻再現(xiàn)裝置驅(qū)動器,其特征在于,進一步包括用于布置該第一視頻顯現(xiàn)網(wǎng)絡(luò)配置臨時配置的裝置。
62.如權(quán)利要求60所述的視頻再現(xiàn)裝置驅(qū)動器,其特征在于,用來替換該第一視頻顯現(xiàn)網(wǎng)絡(luò)配置臨時配置的裝置包括用來在多個被枚舉的視頻輸出的每一個上設(shè)定視頻模式約束的裝置。
63.如權(quán)利要求60所述的視頻再現(xiàn)裝置驅(qū)動器,其特征在于,用來替換該第一視頻顯現(xiàn)網(wǎng)絡(luò)配置臨時配置的裝置包括用來產(chǎn)生該第二視頻顯現(xiàn)網(wǎng)絡(luò)配置臨時配置的裝置。
64.一種方法,包括向視頻驅(qū)動器查詢視頻輸出配置,該驅(qū)動器支持該視頻輸出配置中的至少一個視頻輸出上的多個視頻模式;臨時地配置該視頻輸出配置中至少一個視頻輸出上的所述多個視頻模式中的一個;以及臨時地配置該視頻輸出配置中至少一個再現(xiàn)目標上的多個再現(xiàn)模式中的一個。
65.如權(quán)利要求64所述的方法,其特征在于,臨時地配置所述多個視頻模式中的一個包括枚舉所述的至少一個視頻輸出上的多個可利用的視頻模式。
66.如權(quán)利要求65所述的方法,其特征在于,臨時地配置所述多個視頻模式中的一個進一步包括選擇第一視頻模式以及選擇第二視頻模式,以便該第一視頻模式在選擇該第二視頻模式之前和之后有效。
67.如權(quán)利要求64所述的方法,其特征在于,臨時地配置所述多個再現(xiàn)模式中的一個包括在所述至少一個再現(xiàn)目標上枚舉多個可利用的再現(xiàn)模式。
68.如權(quán)利要求67所述的方法,其特征在于,臨時配置所述多個再現(xiàn)模式中的一個進一步包括選擇第一再現(xiàn)模式以及選擇第二再現(xiàn)模式,以便該第一再現(xiàn)模式在選擇該第二再現(xiàn)模式之前和之后有效。
69.如權(quán)利要求64所述的方法,其特征在于,進一步包括提出該視頻輸出配置。
70.一個或多個具有用來執(zhí)行權(quán)利要求64所述的方法的計算機可執(zhí)行指令的計算機可讀介質(zhì)。
71.一種配置包括多個視頻輸出的可配置視頻顯現(xiàn)網(wǎng)絡(luò)的方法,該方法包括接收該視頻顯現(xiàn)網(wǎng)絡(luò)的視頻輸入的配置的指示;與接收該視頻輸入的配置的指示相分離地接收所述多個視頻輸出中的一個視頻輸出的配置的指示;以及根據(jù)該視頻輸出的配置的指示以及該視頻輸入的配置的指示配置該視頻顯現(xiàn)網(wǎng)絡(luò)。
72.如權(quán)利要求71所述的方法,其特征在于,進一步包括與接收該視頻輸入的該配置的該指示相分離地、以及與接收該視頻輸出的該配置的該指示相分離地接收該視頻顯現(xiàn)網(wǎng)絡(luò)的視頻-輸入-至-輸出-轉(zhuǎn)換器的配置的指示。
73.如權(quán)利要求71所述的方法,其特征在于在第一設(shè)備驅(qū)動器接口調(diào)用中接收該視頻輸出的該配置的該指示;以及在第二設(shè)備驅(qū)動器接口調(diào)用中接收該視頻輸入的該配置的該指示。
74.如權(quán)利要求71所述的方法,其特征在于在對設(shè)備驅(qū)動器的第一調(diào)用中接收該視頻輸出的該配置的該指示;以及在對該設(shè)備驅(qū)動器的第二調(diào)用中接收該視頻輸入的該配置的該指示。
75.如權(quán)利要求71所述的方法,其特征在于該視頻輸出的該配置的該指示是由操作系統(tǒng)發(fā)送的;以及該視頻輸入的該配置的該指示是由該操作系統(tǒng)發(fā)送的。
76.如權(quán)利要求71所述的方法,其特征在于,進一步包括響應(yīng)于接收該視頻顯現(xiàn)網(wǎng)絡(luò)的該視頻輸入的該配置的該指示,為該視頻顯現(xiàn)網(wǎng)絡(luò)指示一組附加的可能配置選項,其中所述附加的可能配置選項被限制到那些與該視頻顯現(xiàn)網(wǎng)絡(luò)的該視頻輸入的該配置的該指示共同作用的配置選項。
77.如權(quán)利要求76所述的方法,其特征在于一設(shè)備驅(qū)動器確定哪些選項與該視頻顯現(xiàn)網(wǎng)絡(luò)的該視頻輸入的該配置的該指示共同作用。
78.如權(quán)利要求76所述的方法,其特征在于該視頻顯現(xiàn)網(wǎng)絡(luò)的至少一個配置選項不與該視頻顯現(xiàn)網(wǎng)絡(luò)的該視頻輸入的該配置的該指示共同作用。
79.一個或多個具有用于執(zhí)行權(quán)利要求71所述的方法的計算機可執(zhí)行指令的計算機可讀介質(zhì)。
80.一種管理包括多個視頻路徑的可配置視頻顯現(xiàn)網(wǎng)絡(luò)的配置的方法,,該方法包括發(fā)送部分視頻顯現(xiàn)網(wǎng)絡(luò)配置的指示,其中該部分視頻顯現(xiàn)網(wǎng)絡(luò)配置至少指示用于在該視頻顯現(xiàn)網(wǎng)絡(luò)的第一視頻路徑中的資源的配置;以及響應(yīng)于發(fā)送該部分視頻顯現(xiàn)網(wǎng)絡(luò)配置的該指示,接收用于該視頻顯現(xiàn)網(wǎng)絡(luò)的第二視頻路徑中的資源的一組可能配置,其中,根據(jù)該部分視頻顯現(xiàn)網(wǎng)絡(luò)的該指示將該資源的該配置選項限制在當被選擇時不會使該部分視頻顯現(xiàn)網(wǎng)絡(luò)配置無效的選項上;以及發(fā)送至少一個可能配置選項的指示。
81.如權(quán)利要求80所述的方法,其特征在于,進一步包括提交至少一個可能配置選項。
82.如權(quán)利要求80所述的方法,其特征在于,進一步包括改變所述至少一個可能配置選項的指示。
83.一個或多個具有用于實現(xiàn)權(quán)利要求80所述的方法的計算機可執(zhí)行指令的計算機可讀介質(zhì)。
全文摘要
本發(fā)明涉及一種具有多個輸出的視頻顯現(xiàn)網(wǎng)絡(luò)的資源,該資源可以被配置??梢灾С忠粋€臨時配置。輸入配置可以與輸出配置分開完成。網(wǎng)絡(luò)資源之間的相關(guān)性可以被考慮為將所提供的選項限制為那些與一個臨時配置共同作用的選項??蛻艨梢岳靡唤M由服務(wù)器經(jīng)過配置解空間提供的功能。這些功能可以支持一個相互影響的配置方式??梢詫⒖紤]相關(guān)性的責(zé)任交給一個視頻驅(qū)動器,例如一個視頻微端口??蛻艨梢岳枚喾N方法找出所要求的配置。這個要求的配置可以被作為NP-完全圖形問題的一個解決方法??紤]到相關(guān)性可以獲得多種配置目標(例如最佳配置)。
文檔編號G06F9/44GK1716194SQ20051008968
公開日2006年1月4日 申請日期2005年4月30日 優(yōu)先權(quán)日2004年4月30日
發(fā)明者B·L·蘭雷, M·J·安德魯斯, M·米利魯?shù)?申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1