專利名稱:用單一視頻電纜連接多個顯示器的顯示控制器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常針對計算機,更具體地說,本發(fā)明針對具有一個以上顯示器的計算機。
背景技術(shù):
計算機愛好者對多個顯示器的使用持續(xù)增長。通過使用一個以上的顯示器,用戶能夠展開他或她的桌面,以示出比在使用單一顯示器的情況下更多的程序。此外,可以在多個顯示器上展開單一程序,以便不用滾動就可以看見文檔(例如,電子表格)中的更多部分。也可以在幾頁上打開表現(xiàn)內(nèi)容,并可以跨越幾個不同的顯示器來對其進行拖曳。
由于生產(chǎn)大型顯示器的成本的原因,購買兩個顯示器可以提供相同的桌面空間數(shù)量,而價格比大型監(jiān)視器低。但是,除了監(jiān)視器本身的成本以外,對每個監(jiān)視器而言,常規(guī)多監(jiān)視器系統(tǒng)通常需要一個額外的電纜和采取視頻卡形式的顯示適配器?;蛘?,必須為計算機購買經(jīng)常被稱作“雙頭”或“多顯示卡”的特殊視頻卡。添加或改變視頻卡要求打開計算機機箱,并要求具備有關(guān)計算機的內(nèi)部結(jié)構(gòu)的某些知識。而且,用戶必須正確地配置這些電纜和視頻卡,以創(chuàng)建單一虛擬顯示表面。
使用多個監(jiān)視器的缺點是從一個監(jiān)視器看到另一個監(jiān)視器可能會有困難。當(dāng)用戶從一個監(jiān)視器看到另一個監(jiān)視器時,即使當(dāng)把這些監(jiān)視器盡可能接近地放在一起時,對于大多數(shù)監(jiān)視器而言,在顯示器周圍延伸的寬框架會打斷視線。
發(fā)明概述本發(fā)明所提供的顯示控制器允許由單一電纜和單一顯示適配器來驅(qū)動一個以上的顯示器。為了達到這個目的,顯示控制器將顯示適配器所提供的單一幀的信息分成對于多個顯示器的顯示信息。
本發(fā)明可以用于許多不同類型的顯示器的組合,包括(但不局限于)監(jiān)視器、LCD顯示器及其任何組合。此外,可以為單一外殼內(nèi)的多個顯示器利用本發(fā)明。例如,這多個顯示器可以是被安排在外殼內(nèi)的一些分開的屏面,以構(gòu)成鄰接的大顯示表面。
顯示控制器為它所連接的計算機提供有關(guān)(例如,經(jīng)由諸如自定義EDID的已知機制)的顯示器的信息。自定義EDID信息可以包括由所有顯示器所提供的單一虛擬顯示表面的信息,例如組合顯示器的尺寸、分辨率和刷新率。此外,EDID信息可以包括每個單獨的監(jiān)視器或顯示器的信息(包括這些單獨的顯示器在單一虛擬顯示表面中的位置、每個監(jiān)視器可得到的分辨率和刷新率)。單一虛擬顯示表面可以被計算機所利用,但這些計算機無法識別多顯示器系統(tǒng)的EDID。
如果計算機能夠識別多顯示器系統(tǒng)的EDID,則在計算機上運行的計算機操作系統(tǒng)和/或應(yīng)用程序可以理解和利用顯示表面的多種特性,并可以為用戶優(yōu)化顯示質(zhì)量和表現(xiàn)內(nèi)容。為了達到這個目的,可以提供向應(yīng)用程序揭示自身的應(yīng)用程序接口(API),以便這些應(yīng)用程序可以知道多個顯示器并改變它們的圖像,從而在特定的顯示器上或跨越多個顯示器示出一個或多個特定的窗格。
知道多顯示器系統(tǒng)的EDID的操作系統(tǒng)可以使用顯示部件(例如,視頻驅(qū)動器),以揭示與顯示控制器連接的每個顯示器的虛擬顯示表面。然后,應(yīng)用程序或操作系統(tǒng)可以為這些虛擬顯示表面提供圖像信息。
對這些虛擬顯示表面進行組合,以便在顯示適配器的幀緩沖器中建立單一幀。將該幀發(fā)送到顯示控制器,它(例如)使用行緩沖器或幀緩沖器來劃分圖像,然后將合適的顯示信息提供給分開的顯示器。關(guān)于本發(fā)明的某些實施,可以旋轉(zhuǎn)目標(biāo)顯示器顯示的數(shù)據(jù)幀,以便它與目標(biāo)顯示器的掃描方向相匹配。
通過以下詳細的描述并結(jié)合附圖,其他的優(yōu)點將會一目了然。在附圖中附圖簡述
圖1是框圖,表示了其中可加入本發(fā)明的計算機系統(tǒng);圖2是根據(jù)本發(fā)明的一個方面的,與多個顯示器連接的計算機的框圖;圖3是根據(jù)本發(fā)明的一個方面的,具有多個顯示屏面的監(jiān)視器的側(cè)面透視視圖;
圖4是表示EDID信息的框圖,該EDID信息可以由本發(fā)明的顯示控制器提供;圖5是框圖,展示了本發(fā)明可以與傳統(tǒng)和不知道的操作系統(tǒng)結(jié)合的一種方式;圖6是框圖,展示了用于根據(jù)本發(fā)明的一個方面將目標(biāo)圖像信息提供給多個顯示器的部件;圖7是流程圖,通常表示用于根據(jù)本發(fā)明的一個方面為圖2所示的計算機配置顯示部件的一些步驟;圖8是流程圖,通常表示用于根據(jù)本發(fā)明的一個方面為特定的顯示器指定顯示信息的一些步驟;圖9是由本發(fā)明的顯示部件所進行的虛擬幀數(shù)據(jù)存儲的表示法;圖10是由本發(fā)明的顯示部件所進行的數(shù)據(jù)存儲的二維表示法;以及,圖11是流程圖,通常表示用于根據(jù)本發(fā)明的一個方面將一個圖像幀映射到多個顯示器的一些步驟。
詳細描述示范操作環(huán)境圖1展示了其上可以執(zhí)行本發(fā)明的合適的計算系統(tǒng)環(huán)境110的一個例子。計算系統(tǒng)環(huán)境110只是合適的計算環(huán)境的一個例子,并不意在對本發(fā)明的使用或功能性的范圍加以任何限制。不應(yīng)該將計算環(huán)境110解釋為對于示范操作環(huán)境110中所展示的任何一個部件或部件組合的有任何依賴性或要求。
本發(fā)明可用于許多其他的通用或?qū)S糜嬎阆到y(tǒng)環(huán)境或配置??蛇m用于本發(fā)明的眾所周知的計算系統(tǒng)、環(huán)境和/或配置的例子包括(但不局限于)個人計算機、服務(wù)器計算機、手持設(shè)備或便攜式設(shè)備、多處理器系統(tǒng)、基于微控制器的系統(tǒng)、置頂盒、可編程的消費電子設(shè)備、網(wǎng)絡(luò)PCs、小型計算機、大型計算機、數(shù)字電視、模擬器系統(tǒng)、包括以上任何系統(tǒng)或設(shè)備的分布式計算環(huán)境,以及類似的環(huán)境。
可以在正由計算機執(zhí)行的計算機可執(zhí)行指令(例如,程序模塊)的一般上下文中描述本發(fā)明。通常,程序模塊包括執(zhí)行特殊任務(wù)或?qū)嵤┨厥獾某橄髷?shù)據(jù)類型的例行程序、程序、對象、部件、數(shù)據(jù)結(jié)構(gòu)等。本發(fā)明也可以在分布式計算環(huán)境中加以實踐,在這些環(huán)境中,由通過通信網(wǎng)絡(luò)被連接的各個遠程處理設(shè)備來執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可以位于包括記憶存儲設(shè)備的本地計算機存儲介質(zhì)和遠程計算機存儲介質(zhì)。
參照圖1,用于執(zhí)行本發(fā)明的示范系統(tǒng)包括采取計算機110的形式的通用計算設(shè)備。計算機110的部件可以包括(但不局限于)處理單元120、系統(tǒng)存儲器130,以及將包括該系統(tǒng)存儲器的各種系統(tǒng)部件耦合到處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是幾種類型的總線結(jié)構(gòu)(包括存儲總線或存儲控制器、外圍總線和使用各種總線構(gòu)造中的任何總線構(gòu)造的局域總線)中的任何總線結(jié)構(gòu)。舉例來講(不作限制),這類構(gòu)造包括“工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)”(ISA)總線、“微通道結(jié)構(gòu)”(MCA)總線、“增強ISA”(EISA)總線、“視頻電子標(biāo)準(zhǔn)協(xié)會”(VESA)局域總線和也被稱作“中層樓(Mezzanine)總線”的“外圍部件互連”(PCI)總線。
計算機110通常包括各種計算機可讀介質(zhì)。計算機可讀介質(zhì)可以是可由計算機110進行存取的任何可用介質(zhì),它可以包括易失和非易失介質(zhì)、可移動和不可移動介質(zhì)。舉例來講(不作限制),計算機可讀介質(zhì)可以包括計算機存儲介質(zhì)和通信介質(zhì)。計算機存儲介質(zhì)包括采用信息(例如,計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù))存儲的任何方法或技術(shù)來加以執(zhí)行的易失和非易失的,可移動和不可移動介質(zhì)。計算機存儲介質(zhì)包括(但不局限于)RAM、ROM、EEPROM、快閃存儲器或其他存儲技術(shù)、CD-ROM、CD-RW、數(shù)字通用磁盤(DVD)或其他光盤存儲器、盒式磁帶、磁帶、磁盤存儲器或其他磁性存儲設(shè)備、或可用來存儲所需信息并可以由計算機110進行存取的任何其他的介質(zhì)。通信介質(zhì)通常具體表現(xiàn)為計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或調(diào)制的數(shù)據(jù)信號(例如,載波或其他傳輸機制)中的其他數(shù)據(jù),并包括任何信息傳送介質(zhì)。術(shù)語“調(diào)制的數(shù)據(jù)信號”意味著一種信號,該信號具有一個或多個特征,以為該信號中的信息編碼的方式來加以設(shè)置或改變。舉例來講(不作限制),通信介質(zhì)包括有線介質(zhì)(例如,有線網(wǎng)絡(luò)或直線連接)和無線介質(zhì)(例如,聲音、RF、紅外線和其他無線介質(zhì))。以上任何內(nèi)容的組合也應(yīng)該被包括在計算機可讀介質(zhì)的范圍內(nèi)。
系統(tǒng)存儲器130包括采取易失和/或非易失存儲器(例如,只讀存儲器(ROM)131和隨機存取存儲器(RAM)132)的形式的計算機存儲介質(zhì)?;据斎?輸出系統(tǒng)133(BIOS)通常被存儲在ROM 131中,該基本輸入/輸出系統(tǒng)包含有助于在計算機110內(nèi)的各個元件之間傳送信息(例如,在啟動期間)的基本例行程序。RAM 132通常包含處理單元120可立即獲取并且/或者目前在處理單元120上進行操作的數(shù)據(jù)和/或程序模塊。舉例來講(不作限制),圖1展示了操作系統(tǒng)134、應(yīng)用程序135、其他程序模塊136和程序數(shù)據(jù)137。
計算機110也可以包括其他可移動/不可移動的易失/非易失計算機存儲介質(zhì)。僅僅舉例而言,圖1展示了從不可移動的非易失磁性介質(zhì)讀取或?qū)ζ鋵懭氲挠脖P驅(qū)動器140、從可移動的非易失磁盤152讀取或?qū)ζ鋵懭氲拇疟P驅(qū)動器151,以及從可移動的非易失光盤156(例如,CD ROM或其他光學(xué)介質(zhì)或可寫/可重寫的光學(xué)介質(zhì))讀取或?qū)ζ鋵懭氲墓獗P驅(qū)動器155??梢杂糜谑痉恫僮鳝h(huán)境中的其他可移動/不可移動的易失/非易失計算機存儲介質(zhì)包括(但不局限于)盒式磁帶、快閃存儲卡、數(shù)字通用磁盤、數(shù)字錄像磁帶、固態(tài)RAM、固態(tài)ROM和類似的介質(zhì)。硬盤驅(qū)動器141通常通過不可移動的存儲接口(例如,接口140)被連接到系統(tǒng)總線121,磁盤驅(qū)動器151和光盤驅(qū)動器155通常通過可移動的存儲接口(例如,接口150)被連接到系統(tǒng)總線121。
以上所討論的和圖1中所展示的各種驅(qū)動器及其有關(guān)的計算機存儲介質(zhì)為計算機110提供計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其他數(shù)據(jù)的存儲。例如,在圖1中,硬盤驅(qū)動器141被展示為存儲操作系統(tǒng)144、應(yīng)用程序145、其他程序模塊146和程序數(shù)據(jù)147。注意,這些部分可以等同于或不同于操作系統(tǒng)134、應(yīng)用程序135、其他程序模塊136和程序數(shù)據(jù)137。這里為操作系統(tǒng)144、應(yīng)用程序145、其他程序模塊146和程序數(shù)據(jù)147提供不同的號碼,以便表示至少它們是不同的副本。用戶可以通過輸入設(shè)備(例如,鍵盤162和定點設(shè)備161(一般指鼠標(biāo)、跟蹤球或觸墊))將命令和信息輸入計算機20。其他的輸入設(shè)備(未示出)可以包括話筒、操縱桿、游戲墊、圓盤式衛(wèi)星電視天線、掃描儀、手持PC的觸摸幕或其他書寫板、或類似的設(shè)備。這些和其他的輸入設(shè)備經(jīng)常通過與系統(tǒng)總線耦合的用戶輸入接口160被連接到處理單元120,但也可以由其他接口和總線結(jié)構(gòu)(例如,并行端口、游戲端口或通用串行總線(USB))來加以連接。監(jiān)視器191或其他類型的顯示設(shè)備也經(jīng)由接口(例如,顯示適配器接口190)被連接到系統(tǒng)總線121。除監(jiān)視器以外,計算機也可以包括可通過輸出外圍接口195而被連接的其他外圍輸出設(shè)備(例如,揚聲器197和打印機196)。
計算機110可以在使用與一臺或多臺遠程計算機(例如,遠程計算機180)邏輯連接的聯(lián)網(wǎng)環(huán)境中進行操作。遠程計算機180可以是個人計算機、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其他共同的網(wǎng)絡(luò)節(jié)點,它通常包括有關(guān)計算機110,以上所描述的許多或全部單元,盡管圖1中只展示了記憶存儲設(shè)備181。圖1中所描繪的邏輯連接包括局域網(wǎng)(LAN)171和廣域網(wǎng)(WAN)173,但也可以包括其他網(wǎng)絡(luò)。這類聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍的計算機網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中很普遍。
當(dāng)被用于LAN聯(lián)網(wǎng)環(huán)境中時,計算機110通過網(wǎng)絡(luò)接口或適配器170被連接到LAN 171。在聯(lián)網(wǎng)環(huán)境中,可以將關(guān)于計算機110所描繪的程序模塊或其各個部分存儲在遠程記憶存儲設(shè)備中。舉例來講(不作限制),圖1將遠程應(yīng)用程序185示作駐留在存儲設(shè)備181上。將會理解,所示的網(wǎng)絡(luò)連接起示例作用,可以使用在各臺計算機之間建立通信鏈路的其他裝置。
用單一圖形卡將多個顯示器連接到計算機圖2表示了框圖,其中,計算機200(例如,計算機1 10)被連接到多個顯示器2021、2022...202N。每個顯示器202包括其自己的屏面控制器2041、2042...204N。在所示的實施例中,屏面控制器204被連接到顯示控制器206。如以下進一步的描述,顯示控制器206將計算機200所提供的單一圖像幀分成多個圖像用于多個顯示器202。
雖然在圖2中,顯示成分開的部件,但是,顯示控制器206和屏面控制器204可以被組合在單一電路板中;或者,它們的功能可以分布在許多不同的部件上;或者,可以組合這些控制器中的兩個或多個控制器,以建立單一部件;或者,這些部件中的兩個或多個部件的功能可以分布在同一個電路板,多個電路板上的多個單元上;或者可以另外方式提供。同樣,除非這里另行說明,為方便說明,用來描述本發(fā)明的部件和元件作為分開的部件來加以描述,這些部件的功能可以由幾個不同的設(shè)備或模塊來提供,并且/或者,這些部件中的一個或多個部件可以與另外部件組合,以建立單一設(shè)備或模塊。
無論如何,監(jiān)視器信號接 210與顯示控制器206相連接。電纜214在監(jiān)視器信號接口210與主機信號接口212之間延伸,主機信號接口212與位于計算機200中的顯示適配器216連接或與其有關(guān)聯(lián)。
發(fā)送數(shù)字信號(例如,TMDS(DVI)或LVDS)的數(shù)字發(fā)送器DAC可以是本發(fā)明中的主機信號接口的一部分。同樣,作為選擇,監(jiān)視器信號接口也可以是數(shù)字接收器(例如,被配置成接收TMDS或LVDS)。
顯示適配器216可以是視頻圖形卡,可以是被并入的適配器,或者可以是使計算機能夠為顯示器202提供顯示信息的另一種合適的部件。顯示適配器216被連接到計算機200的操作系統(tǒng)134,并可以用于一個或多個應(yīng)用程序135。
每個顯示器202都可以是分開的監(jiān)視器,它們有自己的外殼,或者,兩個或多個顯示器共存于同一個外殼。這些顯示器中的一個或多個顯示器可以是陰極射線管(CRT’s)的、液晶顯示器(LCD),等離子顯示器或能夠顯示圖形和/或文本的另一種設(shè)備。
根據(jù)本發(fā)明的一個方面,顯示器202可以由具有分開的屏面的監(jiān)視器來提供,這些屏面彼此鄰近而排列,以形成單一的鄰接顯示表面。圖3中示出這種監(jiān)視器300的一個例子。監(jiān)視器300包括兩個屏面3011和3012,它們共同在單一監(jiān)視器外殼302內(nèi)形成單一的大顯示表面。在這種實施例中,如這里所使用的每個顯示器202將會是物理屏面301之一。尤其是,如果這些屏面具有LCD品種,則與提供相同尺寸的單一屏面監(jiān)視器相比,多屏面監(jiān)視器的這種實施的費用大大減少。特別是,多個較小的LCD屏面的費用可比單一的大屏面LCD低,因為與相同的合成尺寸的較大屏面相比,較小的LCD屏面的產(chǎn)量可以更好。
如果顯示器202是分開的監(jiān)視器或者需要或包括其自己的外部電纜,那么,例如,可以在機箱內(nèi)提供顯示控制器206,該機箱具有電纜214的單一輸入連接和分開的監(jiān)視器的電纜的多個輸出連接。可以提供其他的布置,例如,在一個主要監(jiān)視器上或在其中提供顯示控制器206處,將該主要監(jiān)視器直接連接到電纜214,并且將其他監(jiān)視器連接到該主要監(jiān)視器。
根據(jù)本發(fā)明的一個方面,顯示控制器206將自定義“擴展顯示標(biāo)識數(shù)據(jù)”(“EDID 208”,圖2和圖4)信息提供給有關(guān)顯示器202的計算機200。已知EDID是包含有關(guān)監(jiān)視器及其性能的基本信息(包括賣主信息、最大的圖像尺寸、顏色特征、工廠預(yù)置定時、頻率范圍限制,以及監(jiān)視器名稱和序號的字符串)的“視頻電子標(biāo)準(zhǔn)協(xié)會”(“VESA”)標(biāo)準(zhǔn)數(shù)據(jù)格式。通常,將EDID信息存儲在監(jiān)視器中,并且,當(dāng)監(jiān)視器與計算機連接時,將EDID信息提供給計算機。計算機可以為視頻配置目的使用EDID信息,所以,監(jiān)視器和系統(tǒng)可以更好地進行合作。
在本發(fā)明中,顯示控制器206提供EDID 208,它包括關(guān)于顯示器202的自定義信息。根據(jù)本發(fā)明,如圖4中用圖解法所示,EDID 208包括單一顯示信息402和多顯示信息404。單一顯示信息402包括有關(guān)由顯示器202所提供的全部組合顯示表面的信息。該信息可以包括組合顯示表面的可能的分辨率,以及刷新率和有關(guān)使用組合顯示表面的其他信息。舉例而言,組合表面可以包括分辨率為768×1024的兩個XGA顯示器,組合顯示表面分辨率是1536×1024。另一個例子是可以組合兩個XGA橫向顯示器(每個前景顯示器的分辨率是1024×768),以形成2048×768的組合顯示表面分辨率。此外,可以組合橫向顯示器和肖像顯示器(例如,分辨率為1280×1024的SXGA橫向顯示器和分辨率為768×1024的XGA肖像顯示器)。這些組合顯示器的分辨率將會是2048×1024。
組合顯示表面應(yīng)該是矩形的,以便最有效率地使用帶寬和緩沖器。但是,從以上這些例子中可見,可以利用許多不同的組合來提供矩形的組合顯示表面。
除了單一顯示信息402以外,EDID 208還包括多顯示信息404。多顯示信息404包括顯示器202的物理布局的特征,以及分辨率、刷新率和有關(guān)特定顯示器的其他信息。
單一顯示信息402和多顯示信息404允許顯示器202在傳統(tǒng)或不知道的操作系統(tǒng)以及能夠識別多顯示信息404的操作系統(tǒng)上運作。對于“不知道的”,我們的意思是操作系統(tǒng)不熟悉多顯示信息,并且不被配置成響應(yīng)于接收多顯示信息來修改其行為(例如,配置顯示適配器的驅(qū)動器)。同樣,“知道的”操作系統(tǒng)是熟悉多顯示信息的操作系統(tǒng),它被配置成可以響應(yīng)于接收多顯示信息來修改其行為。如圖5所示,傳統(tǒng)和不知道的操作系統(tǒng)500利用單一顯示信息402來配置操作系統(tǒng)134的顯示部件502(例如,視頻驅(qū)動器),以便將組合顯示處理成虛擬單一顯示圖像504。將單一顯示圖像504提供給顯示適配器506。顯示適配器506又在(例如)幀緩沖器(例如,幀緩沖器220)中創(chuàng)建幀508,通過電纜214將幀508發(fā)送到顯示控制器206。顯示控制器206將幀508分割成分開的圖像5101、5102...510N,每個圖像代表單一的組合顯示表面上的特定顯示器202的區(qū)域。
由于傳統(tǒng)或不知道的操作系統(tǒng)500不清楚各個顯示器202之間的實際邊界,因此,應(yīng)用程序135和操作系統(tǒng)134不可能利用多個顯示器的布局或性能的優(yōu)點,并且,可以在顯示器202中的任何一個顯示器上示出單獨的屏面、應(yīng)用程序或彈出窗口。但是,通過提供單一顯示信息402,顯示器202仍然可用于傳統(tǒng)和不知道的操作系統(tǒng)。
現(xiàn)在參照圖6,對于知道本發(fā)明的操作系統(tǒng)134而言,操作系統(tǒng)134的顯示部件222(也在圖2中示出)可以利用多顯示信息404來將圖像的窗格分割成代表顯示器202的位置和尺寸的分開的虛擬圖像。組合這些虛擬圖像6021、6022...602N,以便在與顯示適配器216有關(guān)聯(lián)的幀緩沖器220內(nèi)建立單一幀606。
圖7是流程圖,通常表示一些步驟,用于根據(jù)本發(fā)明的一個方面來配置顯示部件222,以便操作系統(tǒng)134和/或應(yīng)用程序135可以使顯示器202上的顯示質(zhì)量和表示內(nèi)容最優(yōu)化。從步驟700開始,由操作系統(tǒng)134來接收定制的EDID 208。
在步驟702中,如果操作系統(tǒng)134不熟悉分開的顯示信息404,則過程分支到步驟704,在那里,計算機200利用單一顯示信息402。也就是說,計算機200對操作系統(tǒng)134配置視頻驅(qū)動器或可用的顯示部件502,以揭示在單一顯示信息402中被定義的分辨率的單一監(jiān)視器。
如果操作系統(tǒng)134包括顯示部件222,那么,步驟702分支到步驟706,在那里,對多顯示信息404進行檢索。在步驟708中,將顯示部件222配置成揭示具有由多顯示信息404所定義的分辨率的顯示器202的數(shù)量。利用這種方式,可以為分開的物理窗格而適當(dāng)?shù)貙D像的布局進行最優(yōu)化。應(yīng)用程序(例如,應(yīng)用程序135)可以利用這個特點。為了達到這個目的,例如,顯示部件222可以揭示在圖像602映射時應(yīng)用程序135所需要的應(yīng)用程序接口224(圖2),以便這些應(yīng)用程序可以通過指引將在特定顯示器202中被演示的分開的物理窗格或窗口來優(yōu)化顯示質(zhì)量和表現(xiàn)內(nèi)容。
本發(fā)明的優(yōu)點之一是顯示控制器206和顯示部件222允許單一電纜214和只有一個電纜插頭的常規(guī)顯示適配器216被用于多個顯示器202。為了達到這個目的,圖8是流程圖,通常表示用于利用單一電纜2 14引導(dǎo)對特定顯示器202的顯示部件處的顯示信息的一些步驟。從步驟802開始,應(yīng)用程序135和/或操作系統(tǒng)134之一創(chuàng)建被引導(dǎo)到顯示器202中的一個或多個顯示器的單獨的圖像602。在步驟804中,在顯示適配器216中組合圖像602,以便在幀緩沖器220中建立幀606。常規(guī)顯示適配器能夠處理(譯者注原文這里是“handing”,懷疑應(yīng)該是“handling”)這類幀,這樣,要使用本發(fā)明,不必修改常規(guī)顯示適配器。以下參照圖9來進一步描述組合圖像的過程。
在步驟806中,在電纜214上傳輸幀606。這項操作對于VGA或DVI電纜而言又是正常的,這樣,不需要為將要發(fā)生的傳輸而修改電纜214。
在步驟808中,顯示控制器將幀606的區(qū)域映射到物理顯示器202。由于曾按顯示控制器206的指示(即,經(jīng)由EDID208)用圖像602來組成幀606,因此,這些區(qū)域正好與顯示器202對齊。利用這種方式,操作系統(tǒng)134和/或應(yīng)用程序135可以對顯示器202上的顯示質(zhì)量和表現(xiàn)內(nèi)容進行最優(yōu)化。以下參照圖11來進一步討論映射過程。
通過參照圖8,將會理解即使顯示適配器216能夠只傳輸單一圖像或幀,并且電纜214能夠在現(xiàn)有的VESA標(biāo)準(zhǔn)下只傳輸單一圖像或幀,操作系統(tǒng)134和應(yīng)用程序135也可以創(chuàng)建多個顯示器的視頻顯示信息。顯示控制器206知道如何安排幀606,因為它已經(jīng)經(jīng)由EDID 208指示操作系統(tǒng),如何將圖像數(shù)據(jù)提供給顯示適配器216。這樣,知道圖像數(shù)據(jù)在幀606內(nèi)的合適的位置,顯示控制器206就可以適當(dāng)?shù)貙⒔M合圖像映射到顯示器202。
顯示控制器206可以用許多不同的方法來分割幀606。舉例而言,顯示部件222可以在虛擬存儲器中物理上分開幀606或508,并可以為應(yīng)用程序或操作系統(tǒng)揭示存儲器的物理上分開的各個部分,以便將圖像寫入各自的顯示器202。然后,組合各個分開的部分,以便將信息提供給顯示適配器216,從而它可以建立幀606。雖然這種實施可行,但是,這個特殊的例子是使處理器和存儲器很忙的,另一個解決方案可以利用不同的顯示器202的信息交錯。參照圖9來描述這樣一個例子。
圖9表示了單一虛擬圖像900的記憶存儲的二維表示法。在該例中,單一虛擬圖像900被分成兩個虛擬圖像902和904。如以下進一步的描述,單一虛擬圖像900表示顯示表面的組合圖像數(shù)據(jù),并且可能(例如)類似于數(shù)據(jù)表示法,幀緩沖器220使用該數(shù)據(jù)表示法來創(chuàng)建一個幀的圖像數(shù)據(jù)信息,用于傳輸?shù)斤@示控制器206。分開的虛擬圖像902和904包括進行組合以便形成單一虛擬圖像900的兩組數(shù)據(jù)。在這個特殊的例子中,兩個虛擬圖像902和904被存儲在存儲器中,作為單一虛擬圖像900的交替段。如以下進一步的描述,虛擬圖像902和904中的每一個都可以被定義為分開的位圖,以便單獨的應(yīng)用程序可以對分開的虛擬圖像902和904進行寫入。這個特點允許將數(shù)據(jù)適當(dāng)?shù)卮鎯橐粋€圖像(即單一虛擬圖像900),但允許應(yīng)用程序?qū)︼@示器202寫入單獨的幀。
虛擬圖像902和904中的每一個包括指針906、908和一個對應(yīng)的增量(未示出,但在幀緩沖器和位圖的技術(shù)領(lǐng)域中已知)。已知存儲“設(shè)備無關(guān)位圖”(DIB)的一種常規(guī)方式是存儲位圖的存儲器中的開始位置的指針,以及表示位圖的下一個掃描行的開端的增量。該增量比位圖的寬度大,在位圖寬度的末端以外可能有額外的數(shù)據(jù)。
通過將第一增量定義為大得足以包圍其額外數(shù)據(jù)中的第二幀904的數(shù)據(jù),本發(fā)明可以利用這個優(yōu)點。同樣,第二增量足夠大,以便第一幀902的信息被包括在第二幀904的額外數(shù)據(jù)中。對于虛擬圖像902而言,指針906開始的位置等同于對于單一虛擬圖像900而言數(shù)據(jù)開始的位置。虛擬圖像902的增量比第一幀902和第二幀904的寬度大。同樣,對于第二幀904而言,指針908位于第二幀的開端,且那個幀的增量比第一和第二幀902、904的寬度大。
舉例而言,第一指針906可以指向位置“1”,第一虛擬圖像902可以具有100個像素的寬度和增量220。第二指針908可以指向位置“101”,第二虛擬圖像904可以具有l(wèi)l0個像素的寬度和增量220。在這個例子中,單一虛擬圖像900的數(shù)據(jù)的前100個像素將會位于第一個虛擬圖像內(nèi),其余120個位的信息(包括第二個虛擬圖像904的數(shù)據(jù)的前110個像素)將會被認(rèn)為是第一個虛擬圖像的額外數(shù)據(jù)。同樣,第一個虛擬圖像的數(shù)據(jù)將會被認(rèn)為是第二個虛擬圖像904的額外數(shù)據(jù)。對于單一虛擬圖像中的數(shù)據(jù)的每個對應(yīng)的行而言,這種模式繼續(xù)下去。
最終,存儲器中的數(shù)據(jù)的二維表示法看起來可能象圖10中所示的表示法1000,其中,數(shù)據(jù)L1A的第一行是第一幀902的像素信息(在以上的例子中是信息的位1至100),數(shù)據(jù)L2A的第二行是第二幀904的第一行的像素信息(在以上的例子中是信息的位101至210),數(shù)據(jù)L1B的第三行是第一幀902的第二行的像素信息(位221至320),數(shù)據(jù)L2B的第四行是第二幀904的第二行的像素信息(位321至430),等等??梢栽诘诙?04的各行的末端呈現(xiàn)不屬于幀902或904的一部分的額外數(shù)據(jù)(例如,位211至220和431至440)。
通過使用對應(yīng)的指針906或908及其增量,剛剛描述的隔行方案允許應(yīng)用程序135或操作系統(tǒng)134對虛擬圖像902、904中的一個虛擬圖像進行寫入。然后,如圖10所示,可以將數(shù)據(jù)提供給顯示適配器216,從而允許該顯示適配器有效率地寫入虛擬圖像220。這樣,即使這些顯示實際上是單一虛擬圖像900的各個部分,這個特點也會揭示兩個分開的“顯示”。
利用這種方式,可以引導(dǎo)應(yīng)用程序相信每個單獨的顯示器202都具備一個實際的幀。這樣,操作系統(tǒng)134或顯示部件222必須存儲的所有內(nèi)容是每個虛擬圖像的指針(例如,906或908)、虛擬圖像的寬度和每個顯示器202的增量信息。如圖10所示,由應(yīng)用程序135或操作系統(tǒng)134寫入的數(shù)據(jù)用圖10所示的表示法寫入,可以直接將該數(shù)據(jù)提供給顯示適配器216,以便它可以將單一幀606建立在幀緩沖器220內(nèi)。
圖11是流程圖,通常表示顯示控制器206所經(jīng)歷的一些步驟,以便根據(jù)本發(fā)明的一個方面將幀606或508映射到顯示器202。從步驟1102開始,顯示控制器206接收幀606或508。然后,在步驟1104中,顯示控制器206將行緩沖器或幀緩沖器插入幀606。行緩沖器或幀緩沖器將導(dǎo)向不同的顯示器的各個幀之間的圖像數(shù)據(jù)分開。已知緩沖器是臨時的存儲元件。在此情況下,緩沖器(行或幀)一個像素接一個像素地臨時存儲特定行或幀的視頻信息。
舉例而言,如果顯示器202包括沿邊緣連接的兩個或多個肖像對齊的屏面,則顯示控制器可以在第一個屏面結(jié)束、第二個屏面開始的位置插入行緩沖器。也就是說,在每個屏面的鄰近的各水平行像素之間插入行緩沖器。使用先前參照圖9所描述的例子,第一個行緩沖器可以是前100個位的圖像數(shù)據(jù),第二個行緩沖器可以是接下來的110個位的圖像數(shù)據(jù)。可以將這些行發(fā)送到各自的第一和第二顯示器,例如,可以通過將行221~320發(fā)送到第一顯示器、將行321~430發(fā)送到下一個顯示器等等,來繼續(xù)執(zhí)行該過程。
在步驟1108中,確定顯示器的掃描方向是否等同于幀606。如果等同,則步驟1108分支到步驟1110,在那里,顯示顯示器202的圖像(幀的“子幀”)。如果不等同,則步驟1108分支到步驟1112,在那里,旋轉(zhuǎn)那個顯示器的圖像的子幀。也就是說,改變有關(guān)像素的線性信息,以便按掃描順序進行讀取。例如,如果幀606中的像素曾經(jīng)用線性水平的方式來加以存儲,則存儲像素信息,以表示幀的各個水平行的方式存儲,較低的行跟在較高的行后面。如果對應(yīng)于幀的顯示器202在垂直的方向上進行掃描,則將會需要重新安排像素信息,以便對其進行存儲,以表示幀的各個垂直列。像素的重新排序?qū)?dǎo)致幀的“旋轉(zhuǎn)”。旋轉(zhuǎn)幀是允許在鄰近橫向?qū)R的顯示器的地方安裝肖像對齊的顯示器(例如,圖3所示的兩個屏面301)的一種方法。
在對幀進行旋轉(zhuǎn)之后,步驟1112分支到步驟1110,在那里,在合適的顯示器202中顯示幀。然后,對那個幀的過程結(jié)束。
本發(fā)明提供了一種獨特的解決方案,用于通過單一電纜214和只有一個電纜插頭的單一顯示適配器216來為多個顯示器傳送圖像信息。使用EDID 208來向操作系統(tǒng)134傳達顯示器202的布局和分辨率。然后,操作系統(tǒng)134和/或應(yīng)用程序135可以建立其圖像數(shù)據(jù),以便該圖像數(shù)據(jù)可以被導(dǎo)引到合適的顯示器或顯示器202。由于圖像數(shù)據(jù)結(jié)構(gòu)已由顯示控制器206傳達(即,經(jīng)由EDID),因此,顯示控制器206可以適當(dāng)?shù)貙?06從顯示適配器216映射到合適的顯示器202。
使用單一顯示適配器216可節(jié)省額外的顯示適配器的費用。此外,可以在單一監(jiān)視器中提供多個屏面,作為優(yōu)化對齊和使各個顯示器之間的接縫最小化的一種系統(tǒng),從而實現(xiàn)讓用戶產(chǎn)生身臨其境的視覺經(jīng)驗的默認(rèn)全景效果。
可以在本發(fā)明的精神以內(nèi)進行其他的變更。這樣,本發(fā)明可經(jīng)歷各種修改和選擇性構(gòu)造,同時,附圖中示出其某個特定的說明實施例,并且以上已對該實施例進行詳細的描述。但是,不言而喻,并不意在將本發(fā)明局限于所揭示的某個或某些特殊的形式,而正相反,意在包括不脫離本發(fā)明的精神和范圍的所有修改、選擇性構(gòu)造和同等物,本發(fā)明由所附權(quán)利要求書中所定義。
權(quán)利要求
1.一種計算機系統(tǒng),其特征在于包括一臺計算機;與該計算機有關(guān)聯(lián)的一個顯示適配器;多個顯示器;以及,一個顯示控制器,它與一些監(jiān)視器和該顯示適配器連接,并被配置成在多個顯示器中分割從顯示適配器接收的一個幀。
2.權(quán)利要求1的計算機系統(tǒng),其特征在于其中,顯示控制器通過單一電纜被連接到顯示適配器。
3.權(quán)利要求2的計算機系統(tǒng),其特征在于其中,電纜是視頻圖形陣列(VGA)或交互式數(shù)字視頻交互(DVI)電纜。
4.權(quán)利要求1的計算機系統(tǒng),其特征在于其中,顯示適配器包括一個單一視頻電纜插頭;其中,顯示控制器經(jīng)由該單一視頻插頭被連接到顯示適配器。
5.一種計算機可讀介質(zhì),它具有用于執(zhí)行一種方法的計算機可執(zhí)行指令,該方法的特征包括從與構(gòu)成組合顯示表面的多個顯示器相連接的顯示控制器接收信息,該信息包括多個顯示器中的每個顯示器在組合顯示表面中的位置;根據(jù)該信息來揭示表示這多個顯示器中的每個顯示器的存儲器的各個部分;接收對每部分存儲器的圖像數(shù)據(jù);以及,組合對每部分存儲器的圖像數(shù)據(jù),以建立一個幀的圖像數(shù)據(jù)。
6.權(quán)利要求5的計算機可讀介質(zhì),其特征在于其中,圖像數(shù)據(jù)在單一顯示適配器中被組合。
7.權(quán)利要求5的計算機可讀介質(zhì),其特征在于具有進一步的計算機可執(zhí)行指令,這些指令包括將該幀的圖像數(shù)據(jù)傳輸?shù)斤@示控制器。
8.權(quán)利要求7的計算機可讀介質(zhì),其特征在于其中,經(jīng)由單一電纜來傳輸單一幀的圖像數(shù)據(jù)。
9.權(quán)利要求8的計算機可讀介質(zhì),其特征在于其中,單一電纜是視頻圖形陣列(VGA)或交互式數(shù)字視頻交互(DVI)電纜。
10.權(quán)利要求7的計算機可讀介質(zhì),其特征在于其中,顯示適配器包括一個單一視頻電纜插頭;其中,經(jīng)由該單一視頻插頭來傳輸單一幀的圖像數(shù)據(jù)。
11.權(quán)利要求6的計算機可讀介質(zhì),其特征在于具有進一步的計算機可執(zhí)行指令,這些指令包括在顯示控制器中并根據(jù)信息,將單一幀分成多個幀,并且將這多個幀提供給各自的顯示器。
12.權(quán)利要求11的計算機可讀介質(zhì),其特征在于具有進一步的計算機可執(zhí)行指令,用于在提供幀之前旋轉(zhuǎn)這些幀中的至少一個幀。
13.一種具有計算機可執(zhí)行指令的計算機可讀介質(zhì),其特征在于包括將信息發(fā)送到與構(gòu)成組合顯示表面的多個顯示器相連接的計算機,該信息包括這多個顯示器中的每個顯示器在組合顯示表面中的位置;從計算機接收一個幀的圖像數(shù)據(jù),該幀的圖像數(shù)據(jù)根據(jù)信息來加以創(chuàng)建;在顯示控制器中并根據(jù)信息,將單一幀分成多個幀;以及,將這多個幀提供給各自的顯示器。
14.權(quán)利要求13的計算機可讀介質(zhì),其特征在于具有進一步的計算機可執(zhí)行指令,用于在提供幀之前旋轉(zhuǎn)這些幀中的至少一個幀。
15.一種其上存儲有數(shù)據(jù)結(jié)構(gòu)的計算機可讀介質(zhì),其特征在于包括第一個數(shù)據(jù)區(qū),它包含有關(guān)構(gòu)成組合顯示表面的多個顯示器的第一信息,第一信息包括有關(guān)這多個顯示器中的每個顯示器在組合顯示表面中的位置以及這多個顯示器中的每個顯示器的分辨率的信息;以及,第二個數(shù)據(jù)區(qū),它包含有關(guān)這多個顯示器的第二信息,第二信息包括組合顯示表面的分辨率。
16.權(quán)利要求15的計算機可讀介質(zhì),其特征在于其中,數(shù)據(jù)結(jié)構(gòu)包括這多個顯示器的“擴展顯示識別數(shù)據(jù)”(EDID)。
17.一種具有計算機可執(zhí)行指令的計算機可讀介質(zhì),其特征在于包括在與構(gòu)成組合顯示表面的多個顯示器相連接的計算機中,接收有關(guān)這多個顯示器的信息,包括有關(guān)這多個顯示器的第一信息,第一信息包括有關(guān)這多個顯示器中的每個顯示器在組合顯示表面中的位置以及這多個顯示器中的每個顯示器的分辨率的信息;以及,有關(guān)這多個顯示器的第二信息,第二信息包括組合顯示表面的分辨率;如果計算機知道第一信息,則根據(jù)第一信息將計算機的圖像存儲器配置成表示這多個顯示器中的每個顯示的存儲器的各個部分;以及,如果計算機不知道第一信息,則根據(jù)第二信息將計算機的圖像存儲器配置成揭示表示組合顯示表面的存儲器。
18.權(quán)利要求17的計算機可讀介質(zhì),其特征在于其中,根據(jù)第一信息來揭示表示這多個顯示器中的每個顯示的存儲器的各個部分,包括使存儲器的各個分開的部分交錯,以便存儲器的各個分開的部分表示一個虛擬幀的圖像數(shù)據(jù)。
19.一種監(jiān)視器,其特征在于包括第一屏面,其布置使第一屏面能夠進行水平掃描;以及,鄰接第一屏面的第二屏面,其布置使其能夠進行垂直掃描,第一屏面和第二屏面構(gòu)成組合顯示表面。
20.權(quán)利要求19的監(jiān)視器,其特征在于還包括一個顯示控制器,它與該監(jiān)視器連接,并被配置成將從顯示適配器接收的幀分裂割成分別對第一屏面和第二屏面的第一子幀和第二子幀。
21.權(quán)利要求19的監(jiān)視器,其特征在于其中,將顯示控制器配置成旋轉(zhuǎn)這些子幀中的一個子幀。
全文摘要
一種顯示控制器,它允許由單一電纜和單一顯示適配器來操作一個以上的顯示器。該顯示控制器為與其連接的計算機提供自定義EDID信息。自定義EDID信息可以包括有關(guān)由所有顯示器所提供的單一虛擬顯示表面的信息,并可以包括有關(guān)每個這些單獨的監(jiān)視器或顯示器的信息(包括這些單獨的顯示器在單一合成顯示表面中的位置)。無法識別多顯示器系統(tǒng)的EDID的計算機可以利用單一合成顯示表面。如果計算機能識別多顯示器系統(tǒng)的EDID,則在計算機上運行的計算機操作系統(tǒng)和/或應(yīng)用程序可以理解和利用顯示表面的多種特性,并可以為用戶優(yōu)化顯示質(zhì)量和表現(xiàn)內(nèi)容。
文檔編號G06F3/153GK1499355SQ20031010467
公開日2004年5月26日 申請日期2003年10月29日 優(yōu)先權(quán)日2002年10月29日
發(fā)明者C·L·馬根丹茲, W·J·韋斯特林恩, D·伊, W·C·鮑威爾三世, C L 馬根丹茲, 韋斯特林恩, 鮑威爾三世 申請人:微軟公司