用于虛擬顯示器的系統(tǒng)和方法
【技術(shù)領(lǐng)域】
[0001]本公開總體上涉及視頻顯示器的使用,更具體地,涉及顯示設(shè)備上的圖像的管理。
【背景技術(shù)】
[0002]在一些情況下,需要在物理地連接到計算機系統(tǒng)的多個顯示器上同時顯示多個圖像,其中每個顯示器顯示不同的圖像。例如,考慮具有計算設(shè)備的系統(tǒng),該計算設(shè)備具有內(nèi)部顯示器和與外部顯示器耦接的外部接口。可使用該系統(tǒng)進行呈現(xiàn)(例如,對一個大房間內(nèi)的觀眾進行軟件演示)。呈現(xiàn)者可能希望在設(shè)備的內(nèi)部顯示器上查看演示,而觀眾在外部顯示器上查看演示。呈現(xiàn)者可配置系統(tǒng)來以這種模式操作和/或選擇分辨率和/或其他參數(shù),以用于通過利用多個用戶界面機構(gòu)明確指定多個顯示選項來在內(nèi)部顯示器和/或外部顯示器上渲染圖像內(nèi)容。
[0003]在另一個實例中,可以由單個用戶使用具有帶內(nèi)部顯示器和外部顯示器耦接到的外部接口的計算設(shè)備的系統(tǒng),運行顯示大量信息的應(yīng)用。用戶可能希望在內(nèi)部顯示器和外部顯示器上都查看信息(例如,在擴展桌面模式中)。用戶可配置系統(tǒng)來以這種模式操作和/或選擇分辨率和/或其他參數(shù),以用于通過利用多個用戶界面機構(gòu)明確指定多個顯示選項來在內(nèi)部顯示器或外部顯示器上渲染圖像內(nèi)容的不同部分。這些實例都需要將顯示設(shè)備物理地連接到計算系統(tǒng)。
【發(fā)明內(nèi)容】
[0004]操作系統(tǒng)創(chuàng)建用于在應(yīng)用層和一個或多個虛擬顯示設(shè)備之間傳送顯示數(shù)據(jù)和用戶輸入事件的一個或多個虛擬顯示器接口。一個或多個虛擬顯示設(shè)備是未物理地連接到由操作系統(tǒng)管理的計算系統(tǒng)的顯示設(shè)備(其可以是物理顯示設(shè)備或僅僅在軟件中模擬的顯示設(shè)備)。在應(yīng)用層中執(zhí)行一個或多個應(yīng)用。一個或多個應(yīng)用中的至少一個應(yīng)用利用顯示器接口中的至少一個顯示器接口向一個或多個顯示設(shè)備中的至少一個顯示設(shè)備傳送顯示數(shù)據(jù)并從其接收用戶輸入事件。一個或多個應(yīng)用中的至少一個其他應(yīng)用利用一個或多個虛擬顯示器接口中的至少一個虛擬顯示器接口向一個或多個虛擬顯示設(shè)備中的至少一個虛擬顯示設(shè)備傳送顯示數(shù)據(jù)并從其接收用戶輸入事件。
【附圖說明】
[0005]圖1是示出了具有多個顯示器的計算機系統(tǒng)的一個實施例的框圖,多個顯示器都物理地附接和未物理地附接到計算機系統(tǒng)。
[0006]圖2是示出了針對包括物理顯示器和虛擬顯示器的計算機系統(tǒng)的一個實施例的軟件模塊的框圖。
[0007]圖3是示出了具有多個顯示器的計算機系統(tǒng)的一個實施例的框圖,多個顯示器都是物理附接和虛擬的。
[0008]圖4是示出了用于使用虛擬顯示器的方法的一個實施例的流程圖。
[0009]圖5是示出了將虛擬顯示器與數(shù)字版權(quán)管理一起使用的方法的一個實施例的流程圖。
[0010]圖6是示出了將虛擬顯示器與硬件加速一起使用的方法的一個實施例的流程圖。
[0011]圖7是示出了將虛擬顯示器與無線傳輸一起使用的方法的一個實施例的流程圖。
[0012]圖8是示出了將虛擬顯示器與網(wǎng)絡(luò)傳輸一起使用的方法的一個實施例的流程圖。
[0013]圖9是示出了將虛擬顯示器與物理設(shè)備上的顯示器一起使用的方法的一個實施例的流程圖。
[0014]圖10是示出了將虛擬顯示器與模擬一起使用的方法的一個實施例的流程圖。
[0015]圖11示出了根據(jù)各種實施例被配置為實施顯示器鏡像的實例計算機系統(tǒng)。
[0016]本說明書包括對“一個實施例”、“實施例”、“一種具體實施”或“具體實施”的引用。出現(xiàn)這些短語未必是指相同的實施例或具體實施??梢酝ㄟ^與本公開一致的任何適當(dāng)方式組合特定特征、結(jié)構(gòu)或特性。
[0017]此外,各種單元、電路或其他部件可被描述或聲稱為“被配置為”執(zhí)行一項或多項任務(wù)。在這樣的上下文中,使用“被配置為”通過指示單元/電路/部件包括在操作期間執(zhí)行那些任務(wù)的結(jié)構(gòu)(例如電路)來描述結(jié)構(gòu)。如此,單元/電路/部件可以說被配置為即使在指定的單元/電路/部件當(dāng)前未操作(例如未接通)時也執(zhí)行所述任務(wù)。結(jié)合表述“被配置為”使用的單元/電路/部件包括硬件一一例如電路、存儲可執(zhí)行以實施操作的程序指令的存儲器等。表述為單元/電路/部件“被配置為”執(zhí)行一項或多項任務(wù)明確地意在對于該單元/電路/部件不援引35U.S.C.§ 112第六款。
【具體實施方式】
[0018]如上所述,各種類型的計算設(shè)備可以包括或不包括內(nèi)部顯示器并可以物理地連接或未物理地連接到一個或多個外部顯示器。本公開的實施例允許配置計算設(shè)備以及一個或多個虛擬顯示器,使得內(nèi)容被渲染并被存儲在存儲器中,供以后使用。此類用法的實例包括但不限于通過射頻鏈路向物理顯示設(shè)備傳輸、通過網(wǎng)絡(luò)鏈路向物理顯示設(shè)備傳輸、在物理地連接到計算系統(tǒng)的顯示設(shè)備上顯示的查看窗口之內(nèi)模擬、創(chuàng)建和顯示模擬窗口。
[0019]在一些實施例中,操作系統(tǒng)創(chuàng)建一個或多個顯示器接口。該一個或多個顯示器接口是用于在應(yīng)用層和一個或多個顯示設(shè)備之間傳送顯示數(shù)據(jù)和用戶輸入事件的接口。一個或多個顯示設(shè)備中的每個顯示設(shè)備物理地連接到由操作系統(tǒng)管理的計算系統(tǒng)。操作系統(tǒng)創(chuàng)建用于在應(yīng)用層和一個或多個虛擬顯示設(shè)備之間傳送顯示數(shù)據(jù)和用戶輸入事件的一個或多個虛擬顯示器接口。一個或多個虛擬顯示設(shè)備未物理地連接到由操作系統(tǒng)管理的計算系統(tǒng),并且實施例包括其中虛擬顯示設(shè)備包括物理屏幕的實施例和其中顯示設(shè)備僅僅是模擬的顯示設(shè)備的實施例。一個或多個應(yīng)用在應(yīng)用層中執(zhí)行。一個或多個應(yīng)用中的至少一個應(yīng)用利用顯示器接口中的至少一個顯示器接口向一個或多個顯示設(shè)備中的至少一個顯示設(shè)備傳送顯示數(shù)據(jù)并從其接收用戶輸入事件。一個或多個應(yīng)用中的至少一個其他應(yīng)用利用一個或多個虛擬顯示器接口中的至少一個虛擬顯示器接口向一個或多個虛擬顯示設(shè)備中的至少一個虛擬顯示設(shè)備傳送顯示數(shù)據(jù)并從其接收用戶輸入事件。
[0020]在一些實施例中,在應(yīng)用層中執(zhí)行一個或多個應(yīng)用還包括生成至少一個其他應(yīng)用的向一個或多個虛擬顯示設(shè)備中的至少一個虛擬顯示設(shè)備傳送輸出,并利用由圖形處理單元提供的硬件加速從至少一個其他應(yīng)用的輸出來渲染用于在虛擬顯示設(shè)備上顯示的顯示數(shù)據(jù)。一些實施例還通過射頻連接從一個或多個應(yīng)用的至少一個其他應(yīng)用執(zhí)行向目標(biāo)顯示設(shè)備傳輸顯示數(shù)據(jù)。一些實施例還通過網(wǎng)絡(luò)連接從一個或多個應(yīng)用中的至少一個其他應(yīng)用向容納或連接到目標(biāo)或物理顯示設(shè)備的遠(yuǎn)程計算系統(tǒng)執(zhí)行傳輸顯示數(shù)據(jù)。
[0021]在一些實施例中,生成表示窗口屬性的輸出。在對虛擬顯示器的模擬中,窗口利用虛擬顯示器接口中的至少一個虛擬顯示器接口來在一個或多個虛擬顯示設(shè)備中的至少一個虛擬顯示設(shè)備上顯示圖形用戶界面的交互元素。利用由圖形處理單元提供的硬件加速來渲染用于在一個或多個虛擬顯示設(shè)備上顯示的輸出,并利用虛擬顯示器接口中的至少一個虛擬顯示器接口來在多個顯示設(shè)備中的至少一個顯示設(shè)備上顯示。在一些實施例中,生成表示窗口屬性的輸出。在對虛擬顯示器的模擬中,窗口利用虛擬顯示器接口中的至少一個虛擬顯示器接口來在一個或多個虛擬顯示設(shè)備中的至少一個虛擬顯示設(shè)備上顯示圖形用戶界面的交互元素。利用由圖形處理單元提供的硬件加速來渲染用于在一個或多個虛擬顯示設(shè)備上顯示的輸出,并與預(yù)期值進行比較來評估顯示器性能。
[0022]一些實施例還執(zhí)行驗證容納或連接到目標(biāo)顯示設(shè)備的遠(yuǎn)程計算系統(tǒng)對顯示該顯示數(shù)據(jù)的許可,并通過網(wǎng)絡(luò)連接向容納目標(biāo)顯示設(shè)備的遠(yuǎn)程計算系統(tǒng)傳輸顯示數(shù)據(jù)。
[0023]在一些實施例中,計算機可以檢測被指定從計算機接收輸出的虛擬顯示設(shè)備顯示器的特性,并可以生成符合這些特性的輸出,即使不存在這樣的物理顯示器也如此。
[0024]在一些實施例中,計算機可以確定優(yōu)選用哪些選項渲染圖像內(nèi)容,使得內(nèi)容在選定的虛擬顯示器上得到最好顯示(例如,通過選擇分辨率、高寬比和/或顏色配置文件,以與虛擬顯示器的特性相關(guān)聯(lián),或者其衍生項)。在一些實施例中,然后可以對渲染的內(nèi)容進行重新采樣、縮放和/或轉(zhuǎn)換其顏色配置文件,以用于在附接的顯示器上顯示(例如,無需重新渲染圖像內(nèi)容)。計算機可以記住針對特定虛擬顯示器和/或虛擬顯示器和物理顯示器組合的優(yōu)選顯示設(shè)置,并可以在接下來請求相同的虛擬顯示器或虛擬顯示器和物理顯示器組合時,重新使用那些設(shè)置。
[0025]實例配詈
[0026]圖1是示出了具有多個顯示器的計算機系統(tǒng)的一個實施例的框圖,多個顯示器都是物理地附接和未物理地附接的。計算機系統(tǒng)100包括計算設(shè)備110,其可以是任意適當(dāng)類型的計算設(shè)備。在一個實施例中,設(shè)備110是具有集成監(jiān)視器的計算設(shè)備,監(jiān)視器被標(biāo)記為顯示器120。在一些實施例中,顯示器120是計算設(shè)備110集成的或內(nèi)部的顯示設(shè)備。在本文描述的一些實例中,可以將這一顯示器稱為設(shè)備110的“主”顯示設(shè)備,并且物理地連接到計算設(shè)備110的其他部件。在一些實施例中,主顯示器120可通過外部接口物理地連接到設(shè)備110。可以利用圖1中的虛線表示顯示器120,以指示它可以位于設(shè)備110的內(nèi)部或外部。需注意,在本文描述的一些實例中,可以將主顯示設(shè)備(即計算設(shè)備110的主要或默認(rèn)顯示器)稱為“內(nèi)部”顯示器,無論其實際上是否集成于計算設(shè)備之內(nèi)或通過外部接口物理地連接到計算設(shè)備。如本文所用,術(shù)語“顯示器”可以指被配置為響應(yīng)于向顯示器提供的控制信號來呈現(xiàn)視覺圖像的任何設(shè)備。顯示器中可使用多種技術(shù),諸如陰極射線管(CRT)、薄膜晶體管(TFT)、液晶顯示器(IXD)、發(fā)光二極管(LED)、等離子體等。在一些實施例中,顯示器還可包括觸摸屏輸入功能性或投影能力。在一些情況下,顯示設(shè)備還可被稱為面板。
[0027]在圖1中例示的實例中,除了顯示器120之外,計算設(shè)備110還包括外部接口 130,該外部接口 130通過連接150物理地耦接到“外部”或“輔助”顯示器160。接口 130可以是任何類型的標(biāo)準(zhǔn)有線接口或?qū)S杏芯€接口??梢詫⒔o定接口 130理解為具有“數(shù)據(jù)寬度”(例如,管腳數(shù)量),其指示該接口能夠一次傳輸多少數(shù)據(jù)。在圖1中,連接150是設(shè)備110和輔助顯示器160之間連接的邏輯表示。在一些實施例中,連接150可以包括一個或多個居間的硬件部件。像主顯示器120那樣,輔助顯示器160可以是任何適當(dāng)類型的設(shè)備。例如,在一些實施例中,輔助顯示器160可以是高清晰度TV (HDTV)兼容的設(shè)備或投影設(shè)備。如本文中更詳細(xì)所述,內(nèi)部(或主)顯示器或外部(或輔助)顯示器可以在很多時候是計算設(shè)備100的“優(yōu)選”顯示器(即,用戶希望圖像內(nèi)容以對于該顯示器而言最好的顯示模式被顯示的設(shè)備)。
[0028]計算設(shè)備110可包括對許多計算設(shè)備常見的