CN101539856B - 在应用共享软件中恢复被遮挡窗口的方法和装置 - Google Patents

在应用共享软件中恢复被遮挡窗口的方法和装置 Download PDF

Info

Publication number
CN101539856B
CN101539856B CN2008100854444A CN200810085444A CN101539856B CN 101539856 B CN101539856 B CN 101539856B CN 2008100854444 A CN2008100854444 A CN 2008100854444A CN 200810085444 A CN200810085444 A CN 200810085444A CN 101539856 B CN101539856 B CN 101539856B
Authority
CN
China
Prior art keywords
window
alpha
cloth
blocked
width
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2008100854444A
Other languages
English (en)
Other versions
CN101539856A (zh
Inventor
刘峻峰
应锦鑫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN2008100854444A priority Critical patent/CN101539856B/zh
Priority to US12/404,496 priority patent/US8196049B2/en
Publication of CN101539856A publication Critical patent/CN101539856A/zh
Priority to US13/462,301 priority patent/US9015602B2/en
Application granted granted Critical
Publication of CN101539856B publication Critical patent/CN101539856B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation

Abstract

提供了一种用于恢复应用共享中被遮挡窗口的方法和装置,该方法包括以下步骤:检测是否发生非共享窗口遮挡了共享窗口的部分或全部;当检测到发生了非共享窗口遮挡了共享窗口的部分或全部时,使用阿尔法混合将所述非共享窗口变为半透明;改变所述阿尔法混合中的阿尔法系数值,从而得到两幅阿尔法混合图像;以及使用所述两幅阿尔法混合图像恢复所述被遮挡的共享窗口。本发明克服了现有的应用共享系统中共享窗口的被遮挡部分无法被远端用户看到的缺点,同时,主机用户可继续使用非共享窗口进行工作,提高了团队协作的效率;此外,本发明只需要对现有的应用共享系统的主机端进行改变,因而实现起来方便。

Description

在应用共享软件中恢复被遮挡窗口的方法和装置
技术领域
本发明一般涉及计算机领域,具体涉及应用共享领域,更具体涉及一种用于恢复应用共享中被遮挡窗口的方法和装置。
背景技术
在当今的协作工作环境中,尤其是在存在一个虚拟团队并且团队成员位于不同的地点的场合下,屏幕共享是一种很重要的工具。然而,由于安全或隐私方面的考虑,人们很少选择共享其整个屏幕,而是仅共享特定的应用。应用共享使得两个或更多个用户能够同时地和交互式地在同一个应用上工作。在这种应用共享中,应用被加载和运行在一个计算机上,而应用共享软件使得该应用的窗口被显示在远程计算机的屏幕上,并使得该应用能够接收来自远程计算机(客户端)用户的操作。
不幸的是,经常发生这样的情况,即另一个非共享应用的窗口部分地覆盖了正在共享的应用的窗口,这样,被覆盖的应用窗口的部分将不会被发送到客户端用户,从而给客户端用户带来不便。当共享应用具有动态视图时,情况会变成更糟。客户端用户将失去共享应用的大量详细信息。图1示出了微软NetMeeting应用共享的一个示例,其中被覆盖的部分在客户计算机上被显示为马赛克图案。
现有技术中尚不存在对该问题的很好的解决方法。大多数目前的产品,例如Microsoft NetMeeting、IBM Lotus Web Conference只是简单地不显示所遮挡的部分。标题为“Apparatus and method for application sharing ina graphic user interface”的美国专利5758110公开了实现应用共享软件的方法,并且其中公开了检测共享应用窗口是否被非共享应用窗口所遮挡,然而其中也只是简单地将被重叠部分置于阴影中。
标题为“Processing Occluded Windows During Application Sharing”的美国专利7028266提出了对该问题的一种解决方法,其中,如果被遮挡的共享窗口的部分小于30%,则从上一次显示数据中获取被遮挡部分的数据;如果被遮挡的共享窗口的部分大于30%,则在一段时间内等待接收被遮挡部分小于30%的新的窗口信息,如果在该段时间内新的窗口仍然有大于30%的部分被遮挡,则从最近一次被遮挡部分小于30%的窗口显示数据中构建整个窗口。显然,该方法是一种很不完善的近似方法,因为来自上一次显示数据的被遮挡部分很可能已发生变化,因而并不能正确地代表当前的被遮挡部分。
标题为“Application sharing in Frame”的美国专利6570590公开了一种在可视窗口(框架)中共享应用的方法。该专利并不涉及窗口覆盖,任何进入共享框架中的窗口都将被传送给远程协作用户。
显然,本领域中需要一种能够在应用共享软件中有效地恢复被遮挡窗口的方法和装置。
发明内容
根据本发明的一个方面,提供了一种用于恢复应用共享中被遮挡窗口的方法,包括以下步骤:检测是否发生非共享窗口遮挡了共享窗口的部分或全部;当检测到发生了非共享窗口遮挡了共享窗口的部分或全部时,通过阿尔法混合操作将所述非共享窗口变为半透明;改变所述阿尔法混合操作中的阿尔法系数值,从而得到两幅阿尔法混合图像;以及使用所述两幅阿尔法混合图像恢复所述被遮挡的共享窗口。
根据本发明另一个方面,提供了一种用于恢复应用共享中被遮挡窗口的装置,包括:遮挡检测模块,用于检测是否发生非共享窗口遮挡了共享窗口的部分或全部;阿尔法混合操作执行模块,用于响应于检测到发生了非共享窗口遮挡了共享窗口的部分或全部,通过阿尔法混合操作将所述非共享窗口变为半透明,其中该阿尔法混合执行模块进一步被配置为通过改变所述阿尔法混合操作中的阿尔法系数值,得到两幅阿尔法混合图像;以及共享窗口恢复模块,用于使用所述两幅阿尔法混合图像恢复所述被遮挡的共享窗口的装置。
此外,本发明还提供了相应的一种用于共享应用的方法,以及一种应用共享系统。
本发明克服了现有的应用共享系统中共享窗口的被遮挡部分无法被客户端用户看到的缺点。当发生遮挡时,客户端共享用户可以看到包含被遮挡部分的完整的共享窗口,实际上,远端共享用户将不知道已经发生了遮挡;同时,主机用户可继续使用非共享窗口进行工作,而无需将非共享窗口关闭或挪开。这样,就使得团队尤其是虚拟团队成员之间的协作更为有效和高效。此外,本发明只需要对现有的应用共享系统的主机端进行改变,而不需要对现有的应用共享系统的客户端进行任何改变,因而实现起来非常方便。
附图说明
所附权利要求中阐述了被认为是本发明的特点的创造性特征。但是,通过参照附图阅读下面对说明性实施例的详细说明可更好地理解发明本身以及其优选使用模式、另外的目标、特征以及优点,在附图中:
图1示出了微软NetMeeting应用共享的一个示例,其中被覆盖的部分在客户计算机上被显示为马赛克图案;
图2示出了本发明可在其中实现的应用共享软件的执行环境;
图3示出了根据本发明的实施例的用于恢复应用共享中的被遮挡窗口的方法;
图4示出了本发明的方法的执行结果的示例;以及
图5示出了根据本发明的实施例的用于恢复应用共享中被遮挡窗口的装置500。
具体实施方式
本发明提供了一种当发生非共享窗口对共享窗口的遮挡时使客户端用户能够看到完整的共享窗口,而主机端用户仍能够看到非共享窗口并在其中工作的方法。该方法使用现有技术中已知的阿尔法混合算法来使上层的非共享窗口变为半透明。通过改变阿尔法系数值,主机端的应用共享软件可获得两幅具有不同透明度的阿尔法混合图像,并可使用一恢复阿尔法混合算法通过这两幅阿尔法混合图像计算出被遮挡的共享窗口。这样,客户端用户可正常使用共享应用,而不知道已在主机端发生了共享应用的窗口被遮挡。
现参照附图描述本发明的实施例。然而,应当理解的是,本发明并不限于所介绍的特定实施例。相反,可以考虑用下面的特征和元素的任意组合来实施和实践本发明,而无论它们是否涉及不同的实施例。因此,下面的方面、特征、实施例和优点仅作说明之用而不应被看作是所附权利要求的要素或限定,除非权利要求中明确提出。
图2示出了本发明可在其中实现的应用共享软件的示例性执行环境。如图所示,应用共享软件包括主机端应用共享软件215和客户端应用共享软件225,主机端应用共享软件215位于主机计算机系统210上,客户端应用共享软件225位于客户计算机系统220上。主机计算机系统210与客户计算机系统220通过网络230连接。在本文中,主机计算机系统210是指向网络中的其他计算机系统提供应用共享的计算机系统,而客户计算机系统220是指接收网络中的其他计算机系统所提供的应用共享的计算机系统。尽管图中仅示出了一个主机计算机系统210和一个客户计算机系统220,但一个主机计算机系统可向网络中的任意多个客户计算机系统提供应用共享。此外,主机计算机系统和客户计算机系统的角色是可以互换的,也就是说,在第一应用共享会话中的主机计算机系统在第二应用共享会话中可以是客户计算机系统,而在第一应用共享会话中的客户计算机系统在第二应用共享会话中可以是主机计算机系统。所述主机端应用共享软件215和所述客户端应用共享软件225两者既可以相同,也可以不同。所述网络230可以是任何类型的网络,例如局域网、广域网、城域网、因特网以及任何其他有形的或无形的、固定的或临时的计算机互连机制。而且,所述网络230既可以是单个网络,也可以由多个相同类型或不同类型的网络组成。
主机端应用共享软件215运行在主机计算机系统210的操作系统211上,并与操作系统211相交互。除主机端应用共享软件215外,在操作系统211上还运行有共享应用216和非共享应用217。尽管图中仅示出了一个共享应用216和一个非共享应用217,但在操作系统211上可以运行多个共享应用216和多个非共享应用217。类似地,客户端应用共享软件225运行在客户计算机系统220的操作系统221上,并与操作系统221相交互。除客户端应用共享软件215外,在操作系统221上还可以运行有其他未示出的应用。所述操作系统221、222可以是任何类型的操作系统,例如Window系列操作系统、Mac系统操作系统、Unix系列操作系统、Linux操作系统等等。
无论属于何种类型,操作系统211、212一般都包括图形子系统212、222,例如Windows操作系统中的GDI,Unix/Linux操作系统中的XWindow等。所述图形子系统212、222由应用调用以生成图形对象,并将其通过设备驱动器发送到显示器、打印机等输出设备。例如,当应用216、217调用图形子系统212以执行绘图操作时,图形子系统212转而调用显示驱动器213以在显示设备214上执行实际的绘图,例如画线,显示文字、图像和窗口等。主机端应用共享软件(例如通过一置于图形子系统212和显示驱动器213之间的拦截过滤器)215可检测何时图形子系统212调用显示驱动器213。并且每当检测到图形子系统212调用显示驱动器213时,截获用于由显示驱动器执行绘图操作所需要的所有信息,并将所述信息通过网络230发送给客户端应用共享软件225。当客户端应用共享软件225接收到来自主机端应用共享软件的用于由显示驱动器执行绘图操作所需要的信息后,客户端应用共享软件225调用显示驱动器223,显示驱动器223根据所述信息在显示设备224上执行绘图操作,以在显示设备224上显示共享应用216的窗口,从而实现了应用的显示共享。可选地,客户端应用共享软件225可接收来自输入设备(未示出)的对共享应用窗口的用户操作,并将所述操作通过网络230发送给主机端应用共享软件215。当接收到所述用户操作后,主机端应用共享软件215调用操作系统211中的相应功能,以对在操作系统211上运行的共享应用216执行所述用户操作,从而实现了应用的操作共享。
应指出的是,图2及以上所述仅是对本发明可在其中实现的应用共享软件的运行环境以及应用共享机制的示意性说明,而不是对其的严格限定。实际的主机系统和客户系统可以包括其他未示出的模块,例如用户输入设备、网络连接设施等。所述主机端应用共享软件215、225与所述主机系统210、220的各模块之间可以具有与所图示的不同的连接关系,例如,实际上,所述应用共享软件215、225是通过操作系统中的网络接口层以及网络接口卡与所述网络230连接,等等。
图3示出了根据本发明的实施例的用于恢复应用共享中的被遮挡窗口的方法。该方法优选地是在图2中的主机端应用共享软件215中实现的。图3的方法采用了阿尔法混合(Alpha Blending)技术,它是计算机图形处理领域中使覆盖图像变为透明的已知技术,用于产生比如透过水、玻璃等物理看到的半透明的景象。该处理通过给显示图像赋予一透明参数alpha(0<alpha<1),而得到透明处理后的图像,例如对于共享窗口遮挡这种应用,如果用newColor表示执行阿尔法混合之后的一像素的颜色值(例如,每一像素RGB值),backColor表示被该非共享窗口所遮挡的部分(例如,共享窗口的部分)在该像素处的颜色值,overlayColor表示该非共享窗口在该像素处的颜色值,alpha表示阿尔法系数,其取值范围为0<alpha<1,则它们的关系为:
newColor=backColor+(overlayColor-backColor)*alpha  (1)
其中,所述阿尔法混合既可以在整个所述非共享窗口的范围内进行,也可以仅在非共享窗口与所述共享窗口重叠的范围内进行。
在大多数GUI操作系统(例如,MS Windows、Mac操作系统、XWindows等)中都提供了阿尔法混合功能。例如,MS Windows操作系统提供了根据窗口句柄来改变阿尔法通道的API。因此,可通过直接调用操作系统中提供的阿尔法混合功能来执行阿尔法混合和改变阿尔法混合图像的透明度。
在如图3所示的用于恢复应用共享中的被遮挡窗口的方法中,过程开始后,在步骤301,检测是否发生了非共享窗口对共享窗口的遮挡,这既可以是完全遮挡了共享窗口,也可以部分遮挡了共享窗口。该检测步骤可使用本领域中已知的方法来进行,例如通过调用相应操作系统平台中的窗口函数来获取每个窗口在屏幕上的位置、大小、Z-Order等,从而判断是否有非共享窗口遮挡了共享窗口。
如果该判断的结果为否,则转到步骤305,进行正常的应用共享处理。
如果该判断的结果为是,则进行到步骤302,对所述遮挡了共享窗口的非共享窗口执行阿尔法混合操作,从而使得该非共享窗口变为半透明。所述阿尔法混合操作是使用公式(1)进行的。
所述已变为半透明的非共享窗口将显示在主机的显示器上,这样,主机用户既可以方便地看到非共享窗口或在其中执行操作,也可以方便地看到被遮挡的共享窗口。
接着,在步骤303,改变阿尔法系数alpha,从而获得两幅阿尔法混合图像,在所述两幅阿尔法混合图像中,所述非共享窗口将具有不同的透明度。所述通过改变阿尔法系数获得两幅阿尔法混合图像的操作是使用如下公式进行:
newColor1=backColor+(overlayColor-backColor)*alpha1(2)
newColor2=backColor+(overlayColor-backColor)*alpha2(3)
其中,backColor表示被遮挡的共享窗口中的一像素原来的颜色值,overlayColor表示该非共享窗口在该像素处原来的颜色值,newColor1表示第一幅阿尔法混合图像中的该像素的颜色值,newColor2表示第二幅阿尔法混合图像中的该像素的颜色值,alpha1表示用于生成所述第一幅阿尔法混合图像的阿尔法系数值,alpha2表示用于生成所述第二幅阿尔法混合图像的阿尔法系数值。
接着,在步骤304,使用所获得的两幅阿尔法混合图像恢复被遮挡的共享窗口,即由所述两幅阿尔法混合图像来计算出被遮挡的共享窗口。在本发明的实施例中,所述恢复是使用以下公式执行的,其中该公式是通过公式(2)和(3)分别乘以alpha2和alpha1之后相减获得的:
backColor
=(newColor1*alpha2-newColor2*alpha1)/(alpa2-alpha1)(4)
图4示出了本发明的方法的执行结果的示例。如图所示,左边部分是使用不同的阿尔法系统值产生的两幅阿尔法混合图像,其中处于顶层的非共享窗口在两幅阿尔法混合图像中具有不同的透明度。右边部分是通过对这两幅阿尔法混合图像执行步骤304而产生的图像,该图像消除了顶层的非共享窗口,恢复了被非共享窗口所遮挡的底层的共享窗口。
可选地,该方法还包括步骤305,其中进行正常的应用共享处理,例如将所述被恢复的共享窗口发送给客户端以便共享。
当在步骤306判断停止应用共享(例如,接收到来自主机用户的停止应用共享的命令)时,过程结束。否则返回到步骤301,重新执行本发明的用于恢复应用共享中的被遮挡窗口的方法的各步骤。
应指出的是,图3以及以上对本发明的用于恢复应用共享中的被遮挡窗口中的方法的图示和说明是例示性的,而不是限制性的。本发明的方法可具有更多、更少或不同的步骤,上述一些步骤可被合并为更大的步骤,也可以被分拆更小的步骤。例如,所述步骤302、303可合并为一个用于使用阿尔法混合获得两幅阿尔法混合图像的步骤,等等。所有这些变化均处于本发明的精神和范围之内。
图5示出了根据本发明的实施例的用于恢复应用共享中被遮挡窗口的装置500。该装置优选地在图2中的主机端应用共享软件215中实现。如图所示,该装置500包括遮挡检测模块501、阿尔法混合操作执行模块502、混合图像获取模块503、以及共享窗口恢复模块504。
其中,所述遮挡检测模块501用于检测是否发生非共享窗口遮挡了共享窗口的部分或全部。所述遮挡检测模块501可以是现有技术中的用于检测窗口之间的遮挡的模块,也可以通过调用操作系统211中的有关窗口函数来获取每个窗口在屏幕上的位置、大小、Z-Order等,从而判断是否有非共享窗口遮挡了共享窗口的部分或全部。
所述阿尔法混合操作执行模块502用于响应于遮挡检测模块501检测到发生了非共享窗口遮挡了共享窗口的部分或全部,使用阿尔法混合将所述非共享窗口变为半透明,其中该阿尔法混合执行模块进一步被配置为通过改变所述阿尔法混合中的阿尔法系数值,来进行两次阿尔法混合。优选地,所述阿尔法混合操作执行模块502通过调用操作系统211中相应的窗口函数来执行所述阿尔法混合。由所述阿尔法混合所产生的阿尔法混合图像将由操作系统211通过调用图形子系统212、并转而调用显示驱动器214而显示在显示器214上。这样,主机用户就可以同时在混合图像中所显示的共享窗口和非共享窗口中工作。
所述混合图像获取模块503用于获取从所述两次阿尔法混合操作得到的两幅阿尔法混合图像。优选地,所述混合图像获取模块504通过由置于图形子系统212和显示驱动器213之间的拦截过滤器截获图形子系统212对显示驱动器213的调用以及用于由显示驱动器213执行所述阿尔法混合图像的绘图操作所需要的全部信息,来获取从所述两次阿尔法混合操作得到的两幅阿尔法混合图像。优选地,所述混合图像获取模块503是现有技术中的应用共享软件中的图像获取模块。
所述共享窗口恢复模块504用于使用所述两幅阿尔法混合图像恢复所述被遮挡的共享窗口。
在本发明的实施例中,所述共享窗口恢复模块504使用公式(4)来恢复所述被遮挡的共享窗口。
可选地,本发明的装置500还包括共享窗口发送模块505,其用于将所述被恢复的共享窗口发送给远程客户以便由其共享。
应指出的是,图4以及以上对本发明的用于恢复应用共享中的被遮挡窗口中的装置的图示和说明是例示性的,而不是限制性的。本发明的装置可具有更多、更少或不同的模块,上述一些模块可被合并为更大的步骤,也可以被分拆更小的步骤,各模块之间的连接关系可以与所示的不同。例如,所述模块502、503可以合并为一个用于通过阿尔法混合操作获得两幅阿尔法混合图像的模块,等等。所有这些变化均处于本发明的精神和范围之内。
在本发明的另一方面,还提供了一种用于共享应用的方法,该方法包括以下步骤:检测是否发生非共享窗口遮挡了共享窗口的部分或全部;当检测到发生了非共享窗口遮挡了共享窗口的部分或全部时,使用阿尔法混合将所述非共享窗口变为半透明;改变所述阿尔法混合中的阿尔法系数值,从而得到两幅阿尔法混合图像;使用所述两幅阿尔法混合图像恢复所述被遮挡的共享窗口;以及将所述被恢复的共享窗口以及其他共享窗口发送给客户端以便共享。对该方法中各步骤的详细说明请参见以上对本发明的用于恢复共享应用中的被遮挡窗口的方法中相应步骤的说明,在此不再赘述。
在本发明的又一方面,还提供了一种应用共享系统,该系统包括:遮挡检测模块,用于检测是否发生非共享窗口遮挡了共享窗口的部分或全部;阿尔法混合执行模块,用于响应于检测到发生了非共享窗口遮挡了共享窗口的部分或全部,使用阿尔法混合将所述非共享窗口变为半透明,其中该阿尔法混合执行模块进一步被配置为通过改变所述阿尔法混合中的阿尔法系数值,得到两幅阿尔法混合图像;共享窗口恢复模块,用于使用所述两幅阿尔法混合图像恢复所述被遮挡的共享窗口的装置;以及共享窗口发送装置,用于将所述被恢复的共享窗口以及其他共享窗口发送给远程客户以便共享的装置。对该系统中各模块的详细说明请参见以上对本发明的用于恢复共享应用中的被遮挡窗口的装置中相应模块的说明,在此不再赘述。
本发明可以硬件、软件、或硬件与软件的结合的方式实现。本发明可以集中的方式在一个计算机系统中实现,或以分布方式实现,在这种分布方式中,不同的部件分布在若干互连的计算机系统中。适于执行本文中描述的方法的任何计算机系统或其它装置都是合适的。优选地,本发明以计算机软件和通用计算机硬件的组合的方式实现,在这种实现方式中,当该计算机程序被加载和执行时,控制该计算机系统而使其执行本发明的方法,并构成本发明的装置。
本发明也可体现在计算机程序产品中,该程序产品包含使能实现本文中描述的方法的所有特征,并且当其被加载到计算机系统中时,能够执行所述方法。
尽管已参照优选实施例具体示出和说明了本发明,但是本领域内的那些技术人员应理解,可在形式和细节上对其进行各种改变而不会背离本发明的精神和范围。

Claims (6)

1.一种用于恢复应用共享中被遮挡窗口的方法,包括以下步骤:
检测是否发生非共享窗口遮挡了共享窗口的部分或全部;
当检测到发生了非共享窗口遮挡了共享窗口的部分或全部时,通过阿尔法混合操作将所述非共享窗口变为半透明;
改变所述阿尔法混合中的阿尔法系数值,从而得到两幅阿尔法混合图像;以及
使用所述两幅阿尔法混合图像恢复所述被遮挡的共享窗口;其中所述使用两幅阿尔法混合图像恢复所述被遮挡的共享窗口是使用以下公式执行的:
backColor=
(newColor1*alpha2-newColor2*alpha1)/(alpa2-alpha1)
其中,backColor表示被遮挡的共享窗口中的像素的颜色值,newColor1表示第一幅阿尔法混合图像中的该像素的颜色值,new Color2表示第二幅阿尔法混合图像中的该像素的颜色值,alpha1表示用于生成所述第一幅阿尔法混合图像的阿尔法系数值,alpha2表示用于生成所述第二幅阿尔法混合图像的阿尔法系数值。
2.根据权利要求1的方法,进一步包括以下步骤:
将所述被恢复的共享窗口发送给客户端以便共享。
3.一种用于共享应用的方法,包括以下步骤:
检测是否发生非共享窗口遮挡了共享窗口的部分或全部;
当检测到发生了非共享窗口遮挡了共享窗口的部分或全部时,通过阿尔法混合操作将所述非共享窗口变为半透明;
改变所述阿尔法混合中的阿尔法系数值,从而得到两幅阿尔法混合图像;
使用所述两幅阿尔法混合图像恢复所述被遮挡的共享窗口;以及
将所述被恢复的共享窗口以及其他共享窗口发送给客户端以便共享;
其中所述使用两幅阿尔法混合图像恢复所述被遮挡的共享窗口是使用以下公式执行的:
backColor=
(newColor1*alpha2-newColor2*alpha1)/(alpa2-alpha1)
其中,backColor表示被遮挡的共享窗口中的像素的颜色值,newColor1表示第一幅阿尔法混合图像中的该像素的颜色值,newColor2表示第二幅阿尔法混合图像中的该像素的颜色值,alpha1表示用于生成所述第一幅阿尔法混合图像的阿尔法系数值,alpha2表示用于生成所述第二幅阿尔法混合图像的阿尔法系数值。
4.一种用于恢复应用共享中被遮挡窗口的装置,包括:
遮挡检测模块,用于检测是否发生非共享窗口遮挡了共享窗口的部分或全部;
阿尔法混合操作执行模块,用于响应于检测到发生了非共享窗口遮挡了共享窗口的部分或全部,通过阿尔法混合操作将所述非共享窗口变为半透明,其中该阿尔法混合操作执行模块进一步被配置为通过改变所述阿尔法混合中的阿尔法系数值,来得到两幅阿尔法混合图像;以及
共享窗口恢复模块,用于使用所述两幅阿尔法混合图像恢复所述被遮挡的共享窗口的装置;
其中所述共享窗口恢复模块进一步被配置为使用以下公式来恢复所述被遮挡的共享窗口:
backColor=
(newColor1*alpha2-newColor2*alpha1)/(alpa2-alpha1)
其中,backColor表示被遮挡的共享窗口中的像素的颜色值,newColor1表示第一幅阿尔法混合图像中的该像素的颜色值,newColor2表示第二幅阿尔法混合图像中的该像素的颜色值,alpha1表示用于生成所述第一幅阿尔法混合图像的阿尔法系数值,alpha2表示用于生成所述第二幅阿尔法混合图像的阿尔法系数值。
5.根据权利要求4的装置,还包括共享窗口发送模块,用于将所述被恢复的共享窗口发送给远程客户以便由其共享。
6.一种应用共享系统,包括:
遮挡检测模块,用于检测是否发生非共享窗口遮挡了共享窗口的部分或全部;
阿尔法混合操作执行模块,用于响应于检测到发生了非共享窗口遮挡了共享窗口的部分或全部,通过阿尔法混合操作将所述非共享窗口变为半透明,其中该阿尔法混合操作执行模块进一步被配置为通过改变所述阿尔法混合中的阿尔法系数值,来得到两幅阿尔法混合图像;
共享窗口恢复模块,用于使用所述两幅阿尔法混合图像恢复所述被遮挡的共享窗口的装置;以及
共享窗口发送装置,用于将所述被恢复的共享窗口以及其他共享窗口发送给远程客户以便共享的装置;
其中所述共享窗口恢复模块进一步被配置为使用以下公式来恢复所述被遮挡的共享窗口:
backColor=
(newColor1*alpha2-newColor2*alpha1)/(alpa2-alpha1)
其中,backColor表示被遮挡的共享窗口中的像素的颜色值,newColor1表示第一幅阿尔法混合图像中的该像素的颜色值,newColor2表示第二幅阿尔法混合图像中的该像素的颜色值,alpha1表示用于生成所述第一幅阿尔法混合图像的阿尔法系数值,alpha2表示用于生成所述第二幅阿尔法混合图像的阿尔法系数值。
CN2008100854444A 2008-03-17 2008-03-17 在应用共享软件中恢复被遮挡窗口的方法和装置 Expired - Fee Related CN101539856B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN2008100854444A CN101539856B (zh) 2008-03-17 2008-03-17 在应用共享软件中恢复被遮挡窗口的方法和装置
US12/404,496 US8196049B2 (en) 2008-03-17 2009-03-16 Method and apparatus for restoring an occluded window in application sharing software
US13/462,301 US9015602B2 (en) 2008-03-17 2012-05-02 Restoring an occluded window in application sharing software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008100854444A CN101539856B (zh) 2008-03-17 2008-03-17 在应用共享软件中恢复被遮挡窗口的方法和装置

Publications (2)

Publication Number Publication Date
CN101539856A CN101539856A (zh) 2009-09-23
CN101539856B true CN101539856B (zh) 2013-01-16

Family

ID=41064351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008100854444A Expired - Fee Related CN101539856B (zh) 2008-03-17 2008-03-17 在应用共享软件中恢复被遮挡窗口的方法和装置

Country Status (2)

Country Link
US (2) US8196049B2 (zh)
CN (1) CN101539856B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8407605B2 (en) * 2009-04-03 2013-03-26 Social Communications Company Application sharing
US8397168B2 (en) 2008-04-05 2013-03-12 Social Communications Company Interfacing with a spatial virtual communication environment
US20100253697A1 (en) * 2009-04-06 2010-10-07 Juan Rivera Methods and systems for remotely displaying alpha blended images
US20110029915A1 (en) * 2009-08-02 2011-02-03 Harris Technology, Llc Layered desktop system
US20110314412A1 (en) * 2010-06-17 2011-12-22 Microsoft Corporation Compositing application content and system content for display
US8493404B2 (en) * 2010-08-24 2013-07-23 Qualcomm Incorporated Pixel rendering on display
CN102467370B (zh) * 2010-11-03 2016-04-20 北京普源精电科技有限公司 测量资源控制系统和测量资源控制方法
CN102143156B (zh) * 2010-12-31 2014-06-04 华为技术有限公司 桌面共享处理方法和设备
JP6069898B2 (ja) * 2011-11-25 2017-02-01 株式会社リコー 画像処理装置、画像処理システム、方法およびプログラム
US9087409B2 (en) 2012-03-01 2015-07-21 Qualcomm Incorporated Techniques for reducing memory access bandwidth in a graphics processing system based on destination alpha values
US9497380B1 (en) 2013-02-15 2016-11-15 Red.Com, Inc. Dense field imaging
CN103475850A (zh) * 2013-08-14 2013-12-25 深圳市华视瑞通信息技术有限公司 共享应用程序之窗口遮挡识别方法
CN112559110B (zh) * 2021-02-22 2021-05-25 全时云商务服务股份有限公司 一种基于windows系统的放大镜穿透窗口的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101002252A (zh) * 2003-10-23 2007-07-18 微软公司 合成桌面窗口管理器
CN101030363A (zh) * 2006-02-27 2007-09-05 三菱电机株式会社 图像合成装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69315969T2 (de) * 1992-12-15 1998-07-30 Sun Microsystems Inc Darstellung von Informationen in einem Anzeigesystem mit transparenten Fenstern
EP0766847B1 (en) * 1994-06-17 2001-10-31 Intel Corporation Apparatus and method for application sharing in a graphic user interface
US6570590B1 (en) * 1999-03-02 2003-05-27 Microsoft Corporation Application sharing in a frame
US7168048B1 (en) * 1999-03-24 2007-01-23 Microsoft Corporation Method and structure for implementing a layered object windows
US6429878B1 (en) * 1999-12-28 2002-08-06 Ge Medical Systems Global Technology Company, Llc Display of text on medical images
US7483042B1 (en) * 2000-01-13 2009-01-27 Ati International, Srl Video graphics module capable of blending multiple image layers
US20060161624A1 (en) * 2001-04-13 2006-07-20 Elaine Montgomery Methods and apparatuses for dynamically sharing a portion of a display for application based screen sampling
US6883138B2 (en) * 2001-08-08 2005-04-19 Xerox Corporation Methods and systems for generating enhanced thumbnails usable for document navigation
US7028266B2 (en) * 2002-04-05 2006-04-11 Microsoft Corporation Processing occluded windows during application sharing
US20060168533A1 (en) * 2005-01-27 2006-07-27 Microsoft Corporation System and method for providing an indication of what part of a screen is being shared
US20060190826A1 (en) * 2005-02-22 2006-08-24 Elaine Montgomery Methods and apparatuses for dynamically sharing a portion of a display during a collaboration session
GB0616907D0 (en) * 2006-08-25 2006-10-04 Univ Bath Image construction

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101002252A (zh) * 2003-10-23 2007-07-18 微软公司 合成桌面窗口管理器
CN101030363A (zh) * 2006-02-27 2007-09-05 三菱电机株式会社 图像合成装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
周中云.Alpha通道在多媒体课件作品开发中的应用.《现代教育技术》.2003,第13卷(第2期), *

Also Published As

Publication number Publication date
US8196049B2 (en) 2012-06-05
US20120212506A1 (en) 2012-08-23
US20090235180A1 (en) 2009-09-17
CN101539856A (zh) 2009-09-23
US9015602B2 (en) 2015-04-21

Similar Documents

Publication Publication Date Title
CN101539856B (zh) 在应用共享软件中恢复被遮挡窗口的方法和装置
EP2122546B1 (en) Remote workspace sharing
US7432934B2 (en) System and method for display sharing
US20080028321A1 (en) On-demand groupware computing
CN105094617A (zh) 一种截屏方法及装置
AU2013290566A1 (en) Integrating co-browsing with other forms of information sharing
CN101354639A (zh) 在终端之间操作对象的方法及终端
JP2003532223A (ja) インターネット上でインタラクティブなデザイン会議を実行するための方法とその装置
US20180113663A1 (en) Browser based display system for displaying image data
CN112417421A (zh) 扫描方法、装置、电子设备和可读存储介质
CN104349109A (zh) 一种信息处理方法及电子设备
CN104731546B (zh) 抓取高分辨率图像在大屏幕上显示的方法及系统
CN111813309B (zh) 显示方法、装置、电子设备和可读存储介质
CN102541624A (zh) 桌面虚拟化客户端与虚拟桌面间的虚拟桌面融合方法
CN107766024A (zh) 一种基于拼接墙的ppt放映控制方法和系统
CN102693089A (zh) 通过截图实现放大功能的方法及客户端
US20060136835A1 (en) Computer display control system and method
WO2009067889A1 (fr) Système d'affichage et procédé pour panneau d'affichage
CN108132727A (zh) 基于触控平台的笔迹调整方法及装置
Coldefy et al. DigiTable: an interactive multiuser table for collocated and remote collaboration enabling remote gesture visualization
JP2006164177A (ja) 電子会議システム
CN106201407A (zh) 一种数据显示方法及终端
CN110703957B (zh) 一种基于光影像的交互系统和交互方法
CA3234856A1 (en) Display system and display method
RU2566975C2 (ru) Система, способ и компьютерная программа для функционирования множества вычислительных устройств

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130116

Termination date: 20210317

CF01 Termination of patent right due to non-payment of annual fee