專利名稱:在應(yīng)用共享軟件中恢復(fù)被遮擋窗口的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及計算機(jī)領(lǐng)域,具體涉及應(yīng)用共享領(lǐng)域,更具體涉及一 種用于恢復(fù)應(yīng)用共享中被遮擋窗口的方法和裝置。
背景技術(shù):
在當(dāng)今的協(xié)作工作環(huán)境中,尤其是在存在一個虛擬團(tuán)隊并且團(tuán)隊成員 位于不同的地點的場合下,屏幕共享是一種很重要的工具。然而,由于安 全或隱私方面的考慮,人們很少選擇共享其整個屏幕,而是僅共享特定的 應(yīng)用。應(yīng)用共享4吏得兩個或更多個用戶能夠同時地和交互式地在同一個應(yīng) 用上工作。在這種應(yīng)用共享中,應(yīng)用被加載和運(yùn)行在一個計算機(jī)上,而應(yīng) 用共享軟件使得該應(yīng)用的窗口被顯示在遠(yuǎn)程計算機(jī)的屏幕上,并使得該應(yīng) 用能夠接收來自遠(yuǎn)程計算機(jī)(客戶端)用戶的操作。
不幸的是,經(jīng)常發(fā)生這樣的情況,即另一個非共享應(yīng)用的窗口部分地 覆蓋了正在共享的應(yīng)用的窗口,這樣,被覆蓋的應(yīng)用窗口的部分將不會被 發(fā)送到客戶端用戶,從而給客戶端用戶帶來不便。當(dāng)共享應(yīng)用具有動態(tài)視 圖時,情況會變成更糟??蛻舳擞脩魧⑹ス蚕響?yīng)用的大量詳細(xì)信息。圖
1示出了微軟NetMeeting應(yīng)用共享的一個示例,其中被覆蓋的部分在客戶 計算機(jī)上被顯示為馬賽克圖案。
現(xiàn)有技術(shù)中尚不存在對該問題的很好的解決方法。大多數(shù)目前的產(chǎn)品, 例如Microsoft NetMeeting、 IBM Lotus Web Conference只是簡單地不顯示所遮擋的部分。標(biāo)題為"Apparatus and method for application sharing in a graphic user interface"的美國專利5758110公開了實現(xiàn)應(yīng)用共享軟件的 方法,并且其中公開了檢測共享應(yīng)用窗口是否被非共享應(yīng)用窗口所遮擋, 然而其中也只是簡單地將被重疊部分置于陰影中。
標(biāo)題為 "Processing Occluded Windows During Application Sharing" 的美國專利7028266提出了對該問題的一種解決方法,其中,如果被遮擋 的共享窗口的部分小于30%,則從上一次顯示數(shù)據(jù)中獲取被遮擋部分的數(shù)
據(jù);如果被遮擋的共享窗口的部分大于30%,則在一段時間內(nèi)等待接收被 遮擋部分小于30%的新的窗口信息,如果在該段時間內(nèi)新的窗口仍然有大 于30%的部分被遮擋,則從最近一次被遮擋部分小于30%的窗口顯示數(shù)據(jù) 中構(gòu)建整個窗口。顯然,該方法是一種很不完善的近似方法,因為來自上 一次顯示數(shù)據(jù)的被遮擋部分很可能已發(fā)生變化,因而并不能正確地代表當(dāng) 前的纟皮遮擋部分。
標(biāo)題為"Application sharing in Frame"的美國專利6570590公開了 一種在可視窗口 (框架)中共享應(yīng)用的方法。該專利并不涉及窗口覆蓋, 任何進(jìn)入共享框架中的窗口都將被傳送給遠(yuǎn)程協(xié)作用戶。
顯然,本領(lǐng)域中需要一種能夠在應(yīng)用共享軟件中有效地恢復(fù)被遮擋窗 口的方法和裝置。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的一個方面,提供了 一種用于恢復(fù)應(yīng)用共享中被遮擋窗口 的方法,包括以下步驟檢測是否發(fā)生非共享窗口遮擋了共享窗口的部分 或全部;當(dāng)檢測到發(fā)生了非共享窗口遮擋了共享窗口的部分或全部時,通 過阿爾法混合操作將所述非共享窗口變?yōu)榘胪该?;改變所述阿爾法混合?作中的阿爾法系數(shù)值,從而得到兩幅阿爾法混合圖像;以及使用所述兩幅
7阿爾法混合圖像恢復(fù)所述被遮擋的共享窗口 。
根據(jù)本發(fā)明另 一個方面,提供了 一種用于恢復(fù)應(yīng)用共享中被遮擋窗口
的裝置,包括遮擋檢測模塊,用于檢測是否發(fā)生非共享窗口遮擋了共享 窗口的部分或全部;阿爾法混合操作執(zhí)行模塊,用于響應(yīng)于檢測到發(fā)生了 非共享窗口遮擋了共享窗口的部分或全部,通過阿爾法混合操作將所述非 共享窗口變?yōu)榘胪该?,其中該阿爾法混合?zhí)行模塊進(jìn)一步被配置為通過改 變所述阿爾法混合操作中的阿爾法系數(shù)值,得到兩幅阿爾法混合圖像;以 及共享窗口恢復(fù)模塊,用于使用所述兩幅阿爾法混合圖像恢復(fù)所述被遮擋
的共享窗口的裝置。
此外,本發(fā)明還提供了相應(yīng)的一種用于共享應(yīng)用的方法,以及一種應(yīng) 用共享系統(tǒng)。
本發(fā)明克服了現(xiàn)有的應(yīng)用共享系統(tǒng)中共享窗口的被遮擋部分無法被客 戶端用戶看到的缺點。當(dāng)發(fā)生遮擋時,客戶端共享用戶可以看到包含被遮 擋部分的完整的共享窗口,實際上,遠(yuǎn)端共享用戶將不知道已經(jīng)發(fā)生了遮 擋;同時,主機(jī)用戶可繼續(xù)使用非共享窗口進(jìn)行工作,而無需將非共享窗 口關(guān)閉或挪開。這樣,就使得團(tuán)隊尤其是虛擬團(tuán)隊成員之間的協(xié)作更為有 效和高效。此外,本發(fā)明只需要對現(xiàn)有的應(yīng)用共享系統(tǒng)的主機(jī)端進(jìn)行改變, 而不需要對現(xiàn)有的應(yīng)用共享系統(tǒng)的客戶端進(jìn)行任何改變,因而實現(xiàn)起來非 常方便。
所附權(quán)利要求中闡述了被認(rèn)為是本發(fā)明的特點的創(chuàng)造性特征。但是, 通過參照附圖閱讀下面對說明性實施例的詳細(xì)說明可更好地理解發(fā)明本身 以及其優(yōu)選使用模式、另外的目標(biāo)、特征以及優(yōu)點,在附圖中
圖1示出了孩i軟NetMeeting應(yīng)用共享的一個示例,其中祐覆蓋的部分 在客戶計算機(jī)上被顯示為馬賽克圖案;
圖2示出了本發(fā)明可在其中實現(xiàn)的應(yīng)用共享軟件的執(zhí)行環(huán)境;
圖3示出了根據(jù)本發(fā)明的實施例的用于恢復(fù)應(yīng)用共享中的被遮擋窗口的方法;
圖4示出了本發(fā)明的方法的執(zhí)行結(jié)果的示例;以及 圖5示出了根據(jù)本發(fā)明的實施例的用于恢復(fù)應(yīng)用共享中被遮擋窗口的 裝置500。
具體實施例方式
本發(fā)明提供了 一種當(dāng)發(fā)生非共享窗口對共享窗口的遮擋時使客戶端用 戶能夠看到完整的共享窗口,而主機(jī)端用戶仍能夠看到非共享窗口并在其 中工作的方法。該方法使用現(xiàn)有技術(shù)中已知的阿爾法混合算法來使上層的 非共享窗口變?yōu)榘胪该?。通過改變阿爾法系數(shù)值,主機(jī)端的應(yīng)用共享軟件
可獲得兩幅具有不同透明度的阿爾法混合圖像,并可使用 一恢復(fù)阿爾法混 合算法通過這兩幅阿爾法混合圖像計算出被遮擋的共享窗口。這樣,客戶 端用戶可正常使用共享應(yīng)用,而不知道已在主機(jī)端發(fā)生了共享應(yīng)用的窗口
被遮擋。
現(xiàn)參照附圖描述本發(fā)明的實施例。然而,應(yīng)當(dāng)理解的是,本發(fā)明并不 限于所介紹的特定實施例。相反,可以考慮用下面的特征和元素的任意組 合來實施和實踐本發(fā)明,而無論它們是否涉及不同的實施例。因此,下面 的方面、特征、實施例和優(yōu)點僅作說明之用而不應(yīng)被看作是所附權(quán)利要求 的要素或限定,除非權(quán)利要求中明確提出。
圖2示出了本發(fā)明可在其中實現(xiàn)的應(yīng)用共享軟件的示例性執(zhí)行環(huán)境。 如圖所示,應(yīng)用共享軟件包括主機(jī)端應(yīng)用共享軟件215和客戶端應(yīng)用共享 軟件225,主機(jī)端應(yīng)用共享軟件215位于主機(jī)計算機(jī)系統(tǒng)210上,客戶端 應(yīng)用共享軟件225位于客戶計算機(jī)系統(tǒng)220上。主機(jī)計算機(jī)系統(tǒng)210與客 戶計算機(jī)系統(tǒng)220通過網(wǎng)絡(luò)230連接。在本文中,主機(jī)計算機(jī)系統(tǒng)210是 指向網(wǎng)絡(luò)中的其他計算機(jī)系統(tǒng)提供應(yīng)用共享的計算機(jī)系統(tǒng),而客戶計算機(jī) 系統(tǒng)220是指接收網(wǎng)絡(luò)中的其他計算機(jī)系統(tǒng)所提供的應(yīng)用共享的計算機(jī)系 統(tǒng)。盡管圖中僅示出了一個主機(jī)計算機(jī)系統(tǒng)210和一個客戶計算機(jī)系統(tǒng) 220,但一個主機(jī)計算機(jī)系統(tǒng)可向網(wǎng)絡(luò)中的任意多個客戶計算機(jī)系統(tǒng)提供應(yīng)用共享。此外,主機(jī)計算機(jī)系統(tǒng)和客戶計算機(jī)系統(tǒng)的角色是可以互換的, 也就是說,在第 一應(yīng)用共享會話中的主機(jī)計算機(jī)系統(tǒng)在第二應(yīng)用共享M 中可以是客戶計算機(jī)系統(tǒng),而在第 一應(yīng)用共享M中的客戶計算機(jī)系統(tǒng)在 第二應(yīng)用共享會話中可以是主機(jī)計算機(jī)系統(tǒng)。所述主機(jī)端應(yīng)用共享軟件
215和所ii^戶端應(yīng)用共享軟件225兩者既可以相同,也可以不同。所述 網(wǎng)絡(luò)230可以是任何類型的網(wǎng)絡(luò),例如局域網(wǎng)、廣域網(wǎng)、城域網(wǎng)、因特網(wǎng) 以及任何其他有形的或無形的、固定的或臨時的計算機(jī)互連機(jī)制。而且, 所述網(wǎng)絡(luò)230既可以是單個網(wǎng)絡(luò),也可以由多個相同類型或不同類型的網(wǎng) 絡(luò)組成。
主機(jī)端應(yīng)用共享軟件215運(yùn)行在主機(jī)計算機(jī)系統(tǒng)210的操作系統(tǒng)211 上,并與操作系統(tǒng)211相交互。除主機(jī)端應(yīng)用共享軟件215外,在操作系 統(tǒng)211上還運(yùn)行有共享應(yīng)用216和非共享應(yīng)用217。盡管圖中僅示出了一 個共享應(yīng)用216和一個非共享應(yīng)用217,但在操作系統(tǒng)211上可以運(yùn)行多 個共享應(yīng)用216和多個非共享應(yīng)用217。類似地,客戶端應(yīng)用共享軟件225 運(yùn)行在客戶計算機(jī)系統(tǒng)220的操作系統(tǒng)221上,并與操作系統(tǒng)221相交互。 除客戶端應(yīng)用共享軟件215外,在操作系統(tǒng)221上還可以運(yùn)行有其他未示 出的應(yīng)用。所述操作系統(tǒng)221、 222可以是任何類型的操作系統(tǒng),例如 Window系列#:作系統(tǒng)、Mac系統(tǒng)操作系統(tǒng)、Unix系列操作系統(tǒng)、Linux 操作系統(tǒng)等等。
無論屬于何種類型,操作系統(tǒng)211、 212—般都包括圖形子系統(tǒng)212、 222,例如Windows操作系統(tǒng)中的GDI, Unix/Linux操作系統(tǒng)中的X Window等。所述圖形子系統(tǒng)212、 222由應(yīng)用調(diào)用以生成圖形對象,并將 其通過設(shè)備驅(qū)動器發(fā)送到顯示器、打印機(jī)等輸出設(shè)備。例如,當(dāng)應(yīng)用216、 217調(diào)用圖形子系統(tǒng)212以執(zhí)行繪圖^^作時,圖形子系統(tǒng)212轉(zhuǎn)而調(diào)用顯 示驅(qū)動器213以在顯示"i殳備214上執(zhí)行實際的繪圖,例如畫線,顯示文字、 圖像和窗口等。主機(jī)端應(yīng)用共享軟件(例如通過一置于圖形子系統(tǒng)212和 顯示驅(qū)動器213之間的攔截過濾器)215可檢測何時圖形子系統(tǒng)212調(diào)用 顯示驅(qū)動器213。并且每當(dāng)檢測到圖形子系統(tǒng)212調(diào)用顯示驅(qū)動器213時,截獲用于由顯示驅(qū)動器執(zhí)行繪圖操作所需要的所有信息,并將所述信息通
過網(wǎng)絡(luò)230發(fā)送給客戶端應(yīng)用共享軟件225。當(dāng)客戶端應(yīng)用共享軟件225 接收到來自主機(jī)端應(yīng)用共享軟件的用于由顯示驅(qū)動器執(zhí)行繪圖操作所需要 的信息后,客戶端應(yīng)用共享軟件225調(diào)用顯示驅(qū)動器223,顯示驅(qū)動器223 根據(jù)所述信息在顯示設(shè)備224上執(zhí)行繪圖操作,以在顯示設(shè)備224上顯示 共享應(yīng)用216的窗口,從而實現(xiàn)了應(yīng)用的顯示共享??蛇x地,客戶端應(yīng)用 共享軟件225可接收來自輸入設(shè)備(未示出)的對共享應(yīng)用窗口的用戶操 作,并將所述操作通過網(wǎng)絡(luò)230發(fā)送給主機(jī)端應(yīng)用共享軟件215。當(dāng)接收 到所述用戶操作后,主機(jī)端應(yīng)用共享軟件215調(diào)用操作系統(tǒng)211中的相應(yīng) 功能,以對在操作系統(tǒng)211上運(yùn)行的共享應(yīng)用216執(zhí)行所述用戶操作,從 而實現(xiàn)了應(yīng)用的操作共享。
應(yīng)指出的是,圖2及以上所述僅是對本發(fā)明可在其中實現(xiàn)的應(yīng)用共享 軟件的運(yùn)行環(huán)境以及應(yīng)用共享機(jī)制的示意性說明,而不是對其的嚴(yán)格限定。 實際的主機(jī)系統(tǒng)和客戶系統(tǒng)可以包括其他未示出的模塊,例如用戶輸入設(shè) 備、網(wǎng)絡(luò)連接設(shè)施等。所述主機(jī)端應(yīng)用共享軟件215、 225與所述主機(jī)系統(tǒng) 210、 220的各才莫塊之間可以具有與所圖示的不同的連接關(guān)系,例如,實際 上,所述應(yīng)用共享軟件215、 225是通過操作系統(tǒng)中的網(wǎng),口層以及網(wǎng)絡(luò) 接口卡與所述網(wǎng)絡(luò)230連接,等等。
圖3示出了根據(jù)本發(fā)明的實施例的用于恢復(fù)應(yīng)用共享中的被遮擋窗口 的方法。該方法優(yōu)選地是在圖2中的主機(jī)端應(yīng)用共享軟件215中實現(xiàn)的。圖3 的方法采用了阿爾法混合(Alpha Blending)技術(shù),它是計算機(jī)圖形處理 領(lǐng)域中使覆蓋圖像變?yōu)橥该鞯囊阎夹g(shù),用于產(chǎn)生比如透過水、玻璃等物 理看到的半透明的景象。該處理通過給顯示圖像賦予一透明參數(shù)alpha (0<alpha<l),而得到透明處理后的圖像,例如對于共享窗口遮擋這種應(yīng) 用,如果用newColor表示執(zhí)行阿爾法混合之后的一像素的顏色值(例如, 每一像素RGB值),backColor表示被該非共享窗口所遮擋的部分(例如, 共享窗口的部分)在該像素處的顏色值,overlayColor表示該非共享窗口 在該像素處的顏色值,alpha表示阿爾法系數(shù),其取值范圍為0〈alpha〈1,
ii則它們的關(guān)系為
newColor = backColor + (overlayColor - backColor) * alpha (1) 其中,所述阿爾法混合既可以在整個所述非共享窗口的范圍內(nèi)進(jìn)行, 也可以僅在非共享窗口與所述共享窗口重疊的范圍內(nèi)進(jìn)行。
在大多數(shù)GUI操作系統(tǒng)(例如,MS Windows, Mac操作系統(tǒng)、X Windows等)中都提供了阿爾法混合功能。例如,MS Windows操作系統(tǒng) 提供了根據(jù)窗口句柄來改變阿爾法通道的API。因此,可通過直接調(diào)用操 作系統(tǒng)中提供的阿爾法混合功能來執(zhí)行阿爾法混合和改變阿爾法混合圖像 的透明度。
在如圖3所示的用于恢復(fù)應(yīng)用共享中的被遮擋窗口的方法中,過程開 始后,在步驟301,檢測是否發(fā)生了非共享窗口對共享窗口的遮擋,這既 可以是完全遮擋了共享窗口,也可以部分遮擋了共享窗口。該檢測步驟可 使用本領(lǐng)域中已知的方法來進(jìn)行,例如通過調(diào)用相應(yīng)操作系統(tǒng)平臺中的窗 口函數(shù)來獲取每個窗口在屏幕上的位置、大小、Z-Order等,從而判斷是 否有非共享窗口遮擋了共享窗口。
如果該判斷的結(jié)果為否,則轉(zhuǎn)到步驟305,進(jìn)行正常的應(yīng)用共享處理。
如果該判斷的結(jié)果為是,則進(jìn)行到步驟302,對所述遮擋了共享窗口 的非共享窗口執(zhí)行阿爾法混合操作,從而使得該非共享窗口變?yōu)榘胪该鳌?所述阿爾法混合操作是使用7>式(1)進(jìn)行的。
所述已變?yōu)榘胪该鞯姆枪蚕泶翱趯@示在主機(jī)的顯示器上,這樣,主 機(jī)用戶既可以方便地看到非共享窗口或在其中執(zhí)行操作,也可以方便地看 到被遮擋的共享窗口。
接著,在步驟303,改變阿爾法系數(shù)alpha,從而獲得兩幅阿爾法混合 圖像,在所述兩幅阿爾法混合圖像中,所述非共享窗口將具有不同的透明 度。所述通過改變阿爾法系數(shù)獲得兩幅阿爾法混合圖4象的操作是使用如下 公式進(jìn)行
newColorl = backColor + (overlayColor — backColor) * alphal ( 2 ) newColor2 = backColor + (overlayColor- backColor) * alpha2 ( 3 )其中,backColor表示被遮擋的共享窗口中的一像素原來的顏色值, overlayColor表示該非共享窗口在該像素處原來的顏色值,newColorl表 示第一幅阿爾法混合圖像中的該像素的顏色值,newColor2表示第二幅阿 爾法混合圖像中的該像素的顏色值,alphal表示用于生成所述第一幅阿爾 法混合圖像的阿爾法系數(shù)值,alpha2表示用于生成所述第二幅阿爾法混合 圖像的阿爾法系數(shù)值。
接著,在步驟304,使用所獲得的兩幅阿爾法混合圖像恢復(fù)被遮擋的 共享窗口,即由所述兩幅阿爾法混合圖像來計算出被遮擋的共享窗口。在
本發(fā)明的實施例中,所述恢復(fù)是使用以下公式執(zhí)行的,其中該公式是通過 公式(2 )和(3 )分別乘以alpha2和alphal之后相減獲得的 backColor
=(newColorl*alpha2-newColor2*alphal)/(alpa2-alphal) ( 4 )
圖4示出了本發(fā)明的方法的執(zhí)行結(jié)果的示例。如圖所示,左邊部分是
使用不同的阿爾法系統(tǒng)值產(chǎn)生的兩幅阿爾法混合圖像,其中處于頂層的非 共享窗口在兩幅阿爾法混合圖像中具有不同的透明度。右邊部分是通過對
這兩幅阿爾法混合圖像執(zhí)行步驟304而產(chǎn)生的圖像,該圖像消除了頂層的 非共享窗口,恢復(fù)了被非共享窗口所遮擋的底層的共享窗口。
可選地,該方法還包括步驟305,其中進(jìn)行正常的應(yīng)用共享處理,例 如將所述被恢復(fù)的共享窗口發(fā)送給客戶端以便共享。
當(dāng)在步驟306判斷停止應(yīng)用共享(例如,接收到來自主機(jī)用戶的停止 應(yīng)用共享的命令)時,過程結(jié)束。否則返回到步驟301,重新執(zhí)行本發(fā)明 的用于恢復(fù)應(yīng)用共享中的4皮遮擋窗口的方法的各步驟。
應(yīng)指出的是,圖3以及以上對本發(fā)明的用于恢復(fù)應(yīng)用共享中的被遮擋 窗口中的方法的圖示和說明是例示性的,而不是限制性的。本發(fā)明的方法 可具有更多、更少或不同的步驟,上述一些步驟可,皮合并為更大的步驟, 也可以被分拆更小的步驟。例如,所述步驟302、 303可合并為一個用于使 用阿爾法混合獲得兩幅阿爾法混合圖像的步驟,等等。所有這些變化均處 于本發(fā)明的精神和范圍之內(nèi)。圖5示出了根據(jù)本發(fā)明的實施例的用于恢復(fù)應(yīng)用共享中被遮擋窗口的 裝置500。該裝置優(yōu)選地在圖2中的主機(jī)端應(yīng)用共享軟件215中實現(xiàn)。如 圖所示,該裝置500包括遮擋檢測模塊501、阿爾法混合操作執(zhí)行模塊502、 混合圖像獲W^塊503 、以及共享窗口恢復(fù)模塊504 。
其中,所述遮擋檢測模塊501用于檢測是否發(fā)生非共享窗口遮擋了共 享窗口的部分或全部。所述遮擋檢測模塊501可以是現(xiàn)有技術(shù)中的用于檢 測窗口之間的遮擋的模塊,也可以通過調(diào)用操作系統(tǒng)211中的有關(guān)窗口函 數(shù)來獲取每個窗口在屏幕上的位置、大小、Z-Order等,從而判斷是否有 非共享窗口遮擋了共享窗口的部分或全部。
所述阿爾法混合操作執(zhí)行模塊502用于響應(yīng)于遮擋檢測模塊501檢測 到發(fā)生了非共享窗口遮擋了共享窗口的部分或全部,使用阿爾法混合將所 述非共享窗口變?yōu)榘胪该?,其中該阿爾法混合?zhí)行才莫塊進(jìn)一步被配置為通 過改變所述阿爾法混合中的阿爾法系數(shù)值,來進(jìn)行兩次阿爾法混合。優(yōu)選 地,所述阿爾法混合操作執(zhí)行才莫塊502通過調(diào)用操作系統(tǒng)211中相應(yīng)的窗 口函數(shù)來執(zhí)行所述阿爾法混合。由所述阿爾法混合所產(chǎn)生的阿爾法混合圖 像將由操作系統(tǒng)211通過調(diào)用圖形子系統(tǒng)212、并轉(zhuǎn)而調(diào)用顯示驅(qū)動器214 而顯示在顯示器214上。這樣,主機(jī)用戶就可以同時在混合圖像中所顯示 的共享窗口和非共享窗口中工作。
所述混合圖像獲取漠塊503用于獲#所述兩次阿爾法混合操作得到 的兩幅阿爾法混合圖像。優(yōu)選地,所述混合圖像獲^#塊504通過由置于 圖形子系統(tǒng)212和顯示驅(qū)動器213之間的攔截過濾器截獲圖形子系統(tǒng)212 對顯示驅(qū)動器213的調(diào)用以及用于由顯示驅(qū)動器213執(zhí)行所述阿爾法混合 圖像的繪圖操作所需要的全部信息,來獲取從所述兩次阿爾法混合操作得 到的兩幅阿爾法混合圖像。優(yōu)選地,所述混合圖像獲Wi塊503是現(xiàn)有技 術(shù)中的應(yīng)用共享軟件中的圖像獲^^莫塊。
所述共享窗口恢復(fù)模塊504用于使用所述兩幅阿爾法混合圖像恢復(fù)所 述被遮擋的共享窗口。
在本發(fā)明的實施例中,所述共享窗口恢復(fù)模塊504使用公式(4)來恢
14復(fù)所述,皮遮擋的共享窗口。
可選地,本發(fā)明的裝置500還包括共享窗口發(fā)送模塊505,其用于將 所述被恢復(fù)的共享窗口發(fā)送給遠(yuǎn)程客戶以便由其共享。
應(yīng)指出的是,圖4以及以上對本發(fā)明的用于恢復(fù)應(yīng)用共享中的被遮擋 窗口中的裝置的圖示和說明是例示性的,而不是限制性的。本發(fā)明的裝置 可具有更多、更少或不同的模塊,上述一些模塊可被合并為更大的步驟, 也可以被分拆更小的步驟,各才莫塊之間的連接關(guān)系可以與所示的不同。例 如,所述模塊502、 503可以合并為一個用于通過阿爾法混合操作獲得兩幅 阿爾法混合圖像的模塊,等等。所有這些變化均處于本發(fā)明的精神和范圍 之內(nèi)。
在本發(fā)明的另一方面,還提供了一種用于共享應(yīng)用的方法,該方法包 括以下步驟檢測是否發(fā)生非共享窗口遮擋了共享窗口的部分或全部;當(dāng) 檢測到發(fā)生了非共享窗口遮擋了共享窗口的部分或全部時,使用阿爾法混 合將所述非共享窗口變?yōu)榘胪该?;改變所述阿爾法混合中的阿爾法系?shù)值, 從而得到兩幅阿爾法混合圖像;使用所述兩幅阿爾法混合圖像恢復(fù)所述被 遮擋的共享窗口 ;以及將所述被恢復(fù)的共享窗口以及其他共享窗口發(fā)送給
客戶端以便共享。對該方法中各步驟的詳細(xì)說明請參見以上對本發(fā)明的用 于恢復(fù)共享應(yīng)用中的被遮擋窗口的方法中相應(yīng)步驟的說明,在此不再贅述。 在本發(fā)明的又一方面,還提供了一種應(yīng)用共享系統(tǒng),該系統(tǒng)包括遮 擋檢測模塊,用于檢測是否發(fā)生非共享窗口遮擋了共享窗口的部分或全部; 阿爾法混合執(zhí)行模塊,用于響應(yīng)于檢測到發(fā)生了非共享窗口遮擋了共享窗 口的部分或全部,使用阿爾法混合將所述非共享窗口變?yōu)榘胪该鳎渲性?阿爾法混合執(zhí)行模塊進(jìn)一步被配置為通過改變所述阿爾法混合中的阿爾法 系數(shù)值,得到兩幅阿爾法混合圖像;共享窗口恢復(fù)才莫塊,用于使用所述兩 幅阿爾法混合圖像恢復(fù)所述被遮擋的共享窗口的裝置;以及共享窗口發(fā)送 裝置,用于將所述被恢復(fù)的共享窗口以及其他共享窗口發(fā)送給遠(yuǎn)程客戶以 便共享的裝置。對該系統(tǒng)中各才莫塊的詳細(xì)說明請參見以上對本發(fā)明的用于 恢復(fù)共享應(yīng)用中的被遮擋窗口的裝置中相應(yīng)模塊的說明,在此不再贅述。本發(fā)明可以石更件、軟件、或》更件與軟件的結(jié)合的方式實現(xiàn)。本發(fā)明可 以集中的方式在一個計算機(jī)系統(tǒng)中實現(xiàn),或以分布方式實現(xiàn),在這種分布 方式中,不同的部件分布在若干互連的計算機(jī)系統(tǒng)中。適于執(zhí)行本文中描
述的方法的任何計算^L系統(tǒng)或其它裝置都是合適的。優(yōu)選地,本發(fā)明以計 算機(jī)軟件和通用計算M件的組合的方式實現(xiàn),在這種實現(xiàn)方式中,當(dāng)該 計算機(jī)程序^^載和執(zhí)行時,控制該計算機(jī)系統(tǒng)而使其執(zhí)行本發(fā)明的方法, 并構(gòu)成本發(fā)明的裝置。
本發(fā)明也可體現(xiàn)在計算機(jī)程序產(chǎn)品中,該程序產(chǎn)品包含使能實現(xiàn)本文 中描述的方法的所有特征,并且當(dāng)其被加載到計算機(jī)系統(tǒng)中時,能夠執(zhí)行 所述方法。
盡管已參照優(yōu)選實施例具體示出和說明了本發(fā)明,但是本領(lǐng)域內(nèi)的那 些技術(shù)人員應(yīng)理解,可在形式和細(xì)節(jié)上對其進(jìn)行各種改變而不會背離本發(fā) 明的精神和范圍。
權(quán)利要求
1.一種用于恢復(fù)應(yīng)用共享中被遮擋窗口的方法,包括以下步驟檢測是否發(fā)生非共享窗口遮擋了共享窗口的部分或全部;當(dāng)檢測到發(fā)生了非共享窗口遮擋了共享窗口的部分或全部時,通過阿爾法混合操作將所述非共享窗口變?yōu)榘胪该?;改變所述阿爾法混合中的阿爾法系?shù)值,從而得到兩幅阿爾法混合圖像;以及使用所述兩幅阿爾法混合圖像恢復(fù)所述被遮擋的共享窗口。
2. 根據(jù)權(quán)利要求1的方法,其中所述使用兩幅阿爾法混合圖 像恢復(fù)所述被遮擋的共享窗口是使用以下公式執(zhí)行的backColor =(newColorl*alpha2-newColor2*alphal)/(alpa2-alphal)其中,backColor表示被遮擋的共享窗口中的像素的顏色值, newColorl表示第一幅阿爾法混合圖像中的該像素的顏色值, newColor2表示第二幅阿爾法混合圖像中的該像素的顏色值, alphal表示用于生成所述第一幅阿爾法混合圖像的阿爾法系數(shù) 值,alpha2表示用于生成所述第二幅阿爾法混合圖《象的阿爾法系 數(shù)值。
3. 根據(jù)權(quán)利要求l的方法,進(jìn)一步包括以下步驟 將所述被恢復(fù)的共享窗口發(fā)送給客戶端以便共享。
4. 一種用于共享應(yīng)用的方法,包括以下步驟 檢測是否發(fā)生非共享窗口遮擋了共享窗口的部分或全部; 當(dāng)檢測到發(fā)生了非共享窗口遮擋了共享窗口的部分或全部時,通過阿爾法混合操作將所述非共享窗口變?yōu)榘胪该?;改變所述阿爾法混合中的阿爾法系?shù)值,從而得到兩幅阿爾 法混合圖像;使用所述兩幅阿爾法混合圖像恢復(fù)所述被遮擋的共享窗口;以及將所述被恢復(fù)的共享窗口以及其他共享窗口發(fā)送給客戶端以 便共享。
5. 根據(jù)權(quán)利要求4的方法,其中所述使用兩幅阿爾法混合圖 像恢復(fù)所述被遮擋的共享窗口是使用以下公式執(zhí)行的backColor =(newColorl*alpha2-newColor2* alpha 1)/(alpa2-alphal)其中,backColor表示被遮擋的共享窗口中的像素的顏色值, newColorl表示第一幅阿爾法混合圖像中的該像素的顏色值, newColor2表示第二幅阿爾法混合圖像中的該像素的顏色值, alphal表示用于生成所述第一幅阿爾法混合圖像的阿爾法系數(shù) 值,alpha2表示用于生成所述第二幅阿爾法混合圖像的阿爾法系 數(shù)值。
6. —種用于恢復(fù)應(yīng)用共享中被遮擋窗口的裝置,包括 遮擋檢測模塊,用于檢測是否發(fā)生非共享窗口遮擋了共享窗口的部分或全部;阿爾法混合操作執(zhí)行模塊,用于響應(yīng)于檢測到發(fā)生了非共享 窗口遮擋了共享窗口的部分或全部,通過阿爾法混合操作將所述 非共享窗口變?yōu)榘胪该?,其中該阿爾法混合操作?zhí)行模塊進(jìn)一步被配置為通過改變所述阿爾法混合中的阿爾法系數(shù)值,來得到兩 幅阿爾法混合圖像;以及共享窗口恢復(fù)模塊,用于使用所述兩幅阿爾法混合圖像恢復(fù) 所述被遮擋的共享窗口的裝置。
7. 根據(jù)權(quán)利要求6的裝置,其中所述共享窗口恢復(fù)模塊進(jìn)一 步被配置為使用以下公式來恢復(fù)所述被遮擋的共享窗口 其中,backColor表示被遮擋的共享窗口中的像素的顏色值, newColorl表示第 一 幅阿爾法混合圖像中的該像素的顏色值, newColor2表示第二幅阿爾法混合圖^f象中的該4象素的顏色值, alphal表示用于生成所述第一幅阿爾法混合圖像的阿爾法系數(shù) 值,alpha2表示用于生成所述第二幅阿爾法混合圖像的阿爾法系 數(shù)值。
8. 根據(jù)權(quán)利要求6的裝置,還包括共享窗口發(fā)送模塊,用于 將所述被恢復(fù)的共享窗口發(fā)送給遠(yuǎn)程客戶以便由其共享。
9. 一種應(yīng)用共享系統(tǒng),包括遮擋檢測模塊,用于檢測是否發(fā)生非共享窗口遮擋了共享窗 口的部分或全部;阿爾法混合操作執(zhí)行模塊,用于響應(yīng)于檢測到發(fā)生了非共享 窗口遮擋了共享窗口的部分或全部,通過阿爾法混合操作將所述 非共享窗口變?yōu)榘胪该鳎渲性摪柗ɑ旌喜僮鲌?zhí)行模塊進(jìn)一步被配置為通過改變所述阿爾法混合中的阿爾法系數(shù)值,來得到兩 幅阿爾法混合圖像;共享窗口恢復(fù)模塊,用于使用所述兩幅阿爾法混合圖像恢復(fù)所述被遮擋的共享窗口的裝置;以及共享窗口發(fā)送裝置,用于將所述被恢復(fù)的共享窗口以及其他共享窗口發(fā)送給遠(yuǎn)程客戶以便共享的裝置。
10. 根據(jù)權(quán)利要求6的裝置,其中所述共享窗口恢復(fù)模塊進(jìn)一 步被配置為使用以下公式來恢復(fù)所述被遮擋的共享窗口 backColor =(newColorl*alpha2-newColor2* alpha 1)/(alpa2-alphal)其中,backColor表示被遮擋的共享窗口中的像素的顏色值, newColorl表示第 一 幅阿爾法混合圖像中的該像素的顏色值, newColor2表示第二幅阿爾法混合圖像中的該像素的顏色值, alphal表示用于生成所述第一幅阿爾法混合圖像的阿爾法系數(shù)值,alpha2表示用于生成所述第二幅阿爾法混合圖像的阿爾法系數(shù)值。
全文摘要
提供了一種用于恢復(fù)應(yīng)用共享中被遮擋窗口的方法和裝置,該方法包括以下步驟檢測是否發(fā)生非共享窗口遮擋了共享窗口的部分或全部;當(dāng)檢測到發(fā)生了非共享窗口遮擋了共享窗口的部分或全部時,使用阿爾法混合將所述非共享窗口變?yōu)榘胪该?;改變所述阿爾法混合中的阿爾法系?shù)值,從而得到兩幅阿爾法混合圖像;以及使用所述兩幅阿爾法混合圖像恢復(fù)所述被遮擋的共享窗口。本發(fā)明克服了現(xiàn)有的應(yīng)用共享系統(tǒng)中共享窗口的被遮擋部分無法被遠(yuǎn)端用戶看到的缺點,同時,主機(jī)用戶可繼續(xù)使用非共享窗口進(jìn)行工作,提高了團(tuán)隊協(xié)作的效率;此外,本發(fā)明只需要對現(xiàn)有的應(yīng)用共享系統(tǒng)的主機(jī)端進(jìn)行改變,因而實現(xiàn)起來方便。
文檔編號G06F9/44GK101539856SQ20081008544
公開日2009年9月23日 申請日期2008年3月17日 優(yōu)先權(quán)日2008年3月17日
發(fā)明者劉峻峰, 應(yīng)錦鑫 申請人:國際商業(yè)機(jī)器公司