将虚拟空间中呈现的应用与物理显示器进行选择性配对转让专利

申请号 : CN201580069951.7

文献号 : CN107111365B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : C·比恩S·D·格林M·R·怀特黑德

申请人 : 国际商业机器公司

摘要 :

一种方法,该方法将来自虚拟空间中的特定区域的内容与用于物理显示器的图形驱动进行配对。增强现实设备定义虚拟空间,该虚拟空间由增强现实设备创建的空间边界限定,该空间边界仅对于增强现实设备的用户是可见的。一个或多个处理器将虚拟空间与来自多个图形驱动的图形驱动相关联。响应于用户做出选择虚拟空间的物理运动,由增强现实设备产生指示虚拟空间选择手势的信号,将该信号发送到视频适配器硬件卡。响应于接收到指示虚拟空间选择手势的信号,视频适配器硬件卡实现图形驱动以在物理显示器上显示与虚拟空间相关联的内容。

权利要求 :

1.一种用于将来自虚拟空间中的特定区域的内容与用于物理显示器的图形驱动配对的方法,所述方法包括:由增强现实设备定义第一虚拟空间,其中所述第一虚拟空间由所述增强现实设备创建的第一空间边界限定,并且其中所述第一空间边界仅对于所述增强现实设备的用户是可见的;

由一个或多个处理器将所述第一虚拟空间与来自多个图形驱动的第一图形驱动相关联,其中所述图形驱动生成物理显示器上的图像;

由视频适配器硬件卡接收来自所述增强现实设备的指示第一虚拟空间选择手势的第一信号,其中指示所述第一虚拟空间选择手势的所述第一信号是由所述增强现实设备响应于所述用户做出选择所述第一虚拟空间的第一物理运动而生成的;以及响应于所述视频适配器硬件卡接收到指示所述第一虚拟空间选择手势的所述第一信号,由实现所述第一图形驱动的所述视频适配器硬件卡在所述物理显示器上显示与所述第一虚拟空间相关联的内容。

2.根据权利要求1所述的方法,其中所述第一虚拟空间来自由所述增强现实设备定义的多个虚拟空间,并且其中所述多个虚拟空间仅对于所述增强现实设备的所述用户是可见的。

3.根据权利要求2所述的方法,其中在所述物理显示器上被显示的实时内容不被所述增强现实设备显示。

4.根据前述权利要求中的任一项所述的方法,其中所述增强现实设备的所述用户是所述增强现实设备的佩戴者。

5.根据权利要求1至3中的任一项所述的方法,其中所述增强现实设备是增强现实眼镜。

6.根据权利要求1至3中的任一项所述的方法,其中所述第一虚拟空间选择手势是所述用户通过所述第一虚拟空间的移动。

7.根据权利要求1至3中的任一项所述的方法,其中所述第一虚拟空间选择手势是将所述增强现实设备朝向所述第一虚拟空间瞄准的用户移动。

8.根据权利要求1至3中的任一项所述的方法,其中所述第一虚拟空间选择手势是所述用户将所述用户的视野指向所述第一虚拟空间。

9.根据权利要求1至3中的任一项所述的方法,还包括:

由一个或多个处理器使用来自所述增强现实设备的传感器读数、根据所述物理显示器的在实际物理空间中的偏差来调整所述第一虚拟空间的维度。

10.根据权利要求1至3中的任一项所述的方法,还包括:

由所述增强现实设备定义第二虚拟空间,其中所述第二虚拟空间由所述增强现实设备创建的第二空间边界限定,并且其中所述第二空间边界仅对于所述增强现实设备的所述用户是可见的;

由一个或多个处理器将所述第二虚拟空间与来自所述多个图形驱动的第二图形驱动相关联;

由所述视频适配器硬件卡接收来自所述增强现实设备的指示第二虚拟空间选择手势的第二信号,其中指示所述第二虚拟空间选择手势的所述第二信号是由所述增强现实设备响应于所述用户做出选择所述第二虚拟空间的第二物理运动而生成的;以及响应于所述视频适配器硬件卡接收到指示所述第二虚拟空间选择手势的所述第二信号,由所述视频适配器硬件卡通过将所述第一图形驱动替换为所述第二图形驱动,来在所述物理显示器上显示与所述第二虚拟空间相关联的内容,其中与所述第一虚拟空间相关联的内容从所述物理显示器被移除。

11.根据权利要求1至3中的任一项所述的方法,其中所述第一虚拟空间是二维的。

12.根据权利要求1至3中的任一项所述的方法,其中所述第一虚拟空间是三维的。

13.根据权利要求1至3中的任一项所述的方法,还包括:

由所述硬件图形卡在所述物理显示器上显示多个定位图标;

由一个或多个处理器基于所述物理显示器上的所述多个定位图标来确定所述物理显示器的感知大小;以及由所述增强现实设备调整所述第一虚拟空间的大小以匹配所述物理显示器的所述感知大小。

14.根据权利要求1至3中的任一项所述的方法,其中与所述第一虚拟空间相关联并被显示在所述物理显示器上的所述内容是应用程序。

15.一种用于将来自虚拟空间中的特定区域的内容与用于物理显示器的图形驱动配对的系统,所述系统包括:增强现实设备,其中所述增强现实设备定义第一虚拟空间,其中所述第一虚拟空间由所述增强现实设备创建的第一空间边界限定,并且其中所述第一空间边界仅对于所述增强现实设备的用户是可见的;

一个或多个处理器,所述一个或多个处理器将所述第一虚拟空间与来自多个图形驱动的第一图形驱动相关联,其中所述图形驱动生成在物理显示器上的图像,其中所述一个或多个处理器从所述增强现实设备接收指示第一虚拟空间选择手势的第一信号,指示所述第一虚拟空间选择手势的所述第一信号是由所述增强现实设备响应于所述用户做出选择所述第一虚拟空间的第一物理运动而生成的;以及视频适配器硬件卡,其中所述视频适配器硬件卡响应于接收到指示所述第一虚拟空间选择手势的所述第一信号,实现所述第一图形驱动以在所述物理显示器上显示与所述第一虚拟空间相关联的内容。

16.根据权利要求15所述的系统,其中所述第一虚拟空间来自由所述增强现实设备定义的多个虚拟空间,其中所述多个虚拟空间仅对于所述增强现实设备的所述用户是可见的,并且其中正被显示的实时内容在所述多个虚拟空间中是可见的,而不被显示在所述物理显示器上。

17.根据权利要求15或16所述的系统,其中所述一个或多个处理器通过使用来自所述增强现实设备的传感器读数,根据所述物理显示器的在实际物理空间中的偏差来调整所述第一虚拟空间的维度。

18.一种用于将来自虚拟空间中的特定区域的内容与用于物理显示器的图形驱动配对的计算机可读存储介质,所述计算机可读存储介质由处理电路可读取并存储用于由所述处理电路执行以用于执行根据权利要求1至14中的任一项所述的方法的指令。

说明书 :

将虚拟空间中呈现的应用与物理显示器进行选择性配对

技术领域

[0001] 本公开涉及计算机领域,以及具体涉及计算机显示。更具体地,本公开涉及用虚拟空间中的增强现实眼镜呈现的应用来填充物理计算机显示器。

背景技术

[0002] 扩展桌面计算环境中可用的虚拟区域可以通过多种方式完成:例如,1)添加更多物理监视器,2)创建虚拟桌面并在其间进行切换,3)在需要时将窗口最小化和将窗口最大化限度地利用它们,需要。
[0003] 然而,这些解决方案可以意味着用户必须不断地在窗口之间切换,或者必须添加大量的物理屏幕。
[0004] 因此,本领域需要解决上述问题。

发明内容

[0005] 从第一方面来看,本发明提供了一种用于将来自虚拟空间中的特定区域的内容与用于物理显示器的图形驱动配对的方法,所述方法包括:由增强现实设备定义第一虚拟空间,其中所述第一虚拟空间由所述增强现实设备创建的第一空间边界限定,并且其中所述第一空间边界仅对于所述增强现实设备的用户是可见的;由一个或多个处理器将所述第一虚拟空间与来自多个图形驱动的第一图形驱动相关联,其中所述图形驱动生成物理显示器上的图像;由视频适配器硬件卡接收来自所述增强现实设备的指示第一虚拟空间选择手势的第一信号,其中指示所述第一虚拟空间选择手势的所述第一信号是由所述增强现实设备响应于所述用户做出选择所述第一虚拟空间的第一物理运动而生成的;以及响应于所述视频适配器硬件卡接收到指示所述第一虚拟空间选择手势的所述第一信号,由实现所述第一图形驱动的所述视频适配器硬件卡在所述物理显示器上显示与所述第一虚拟空间相关联的内容。
[0006] 在本发明的实施例中,一种方法将来自虚拟空间中的特定区域的内容与用于物理显示器的图形驱动进行配对。增强现实设备定义虚拟空间,其中该虚拟空间由增强现实设备创建的空间边界限定,以及其中该空间边界仅对于增强现实设备的用户是可见的。一个或多个处理器将虚拟空间与来自多个图形驱动的图形驱动相关联,其中图形驱动生成物理显示器上的图像。从所述增强现实设备接收指示虚拟空间选择手势的信号,指示所述虚拟空间选择手势的所述信号是由所述增强现实设备响应于所述用户做出选择所述虚拟空间的物理运动而生成的。响应于接收到指示所述虚拟空间选择手势的所述信号,硬件图形卡实现所述图形驱动以在所述物理显示器上显示与所述虚拟空间相关联的内容。
[0007] 从另一方面来看,本发明提供了一种用于将来自虚拟空间中的特定区域的内容与用于物理显示器的图形驱动配对的系统,所述系统包括:增强现实设备,其中所述增强现实设备定义第一虚拟空间,其中所述第一虚拟空间由所述增强现实设备创建的第一空间边界限定,并且其中所述第一空间边界仅对于所述增强现实设备的用户是可见的;一个或多个处理器,所述一个或多个处理器将所述第一虚拟空间与来自多个图形驱动的第一图形驱动相关联,其中所述图形驱动生成在物理显示器上的图像,其中所述一个或多个处理器从所述增强现实设备接收指示第一虚拟空间选择手势的第一信号,指示所述第一虚拟空间选择手势的所述第一信号是由所述增强现实设备响应于所述用户做出选择所述第一虚拟空间的第一物理运动而生成的;以及视频适配器硬件卡,其中所述视频适配器硬件卡响应于接收到指示所述第一虚拟空间选择手势的所述第一信号,实现所述第一图形驱动以在所述物理显示器上显示与所述第一虚拟空间相关联的内容。
[0008] 在本发明的实施例中,系统将来自虚拟空间中的特定区域的内容与用于物理显示器的图形驱动程序进行配对。增强现实设备定义虚拟空间,其中该虚拟空间由增强现实设备创建的空间边界限定,以及其中该空间边界仅对于增强现实设备的用户是可见的。一个或多个处理器将虚拟空间与来自多个图形驱动的特定图形驱动相关联,其中图形驱动生成物理显示器上的图像,其中所述一个或者多个处理器从所述增强现实设备接收来自用户的指示虚拟空间选择手势的信号,以及其中指示所述虚拟空间选择手势的所述信号是由所述增强现实设备响应于所述用户做出选择所述虚拟空间的物理运动而生成的。响应于接收到指示所述虚拟空间选择手势的所述信号,硬件图形卡实现所述图形驱动以在所述物理显示器上显示与所述虚拟空间相关联的内容。
[0009] 从另一方面来看,本发明提供了一种用于将来自虚拟空间中的特定区域的内容与用于物理显示器的图形驱动配对的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,所述计算机可读存储介质由处理电路可读取并存储用于由所述处理电路执行以用于执行本发明的步骤的方法的指令。
[0010] 在本发明的实施例中,计算机程序产品将来自虚拟空间中的特定区域的内容与用于物理显示器的图形驱动进行配对。计算机程序产品包括具有体现于其中的程序代码的计算机可读存储介质,并且计算机可读存储介质本身不是暂态信号。程序代码由处理器可读取和可执行,以执行包括定义虚拟空间的方法,其中虚拟空间由增强现实设备创建的空间边界限定,并且空间边界仅对增强现实设备的用户是可见的。虚拟空间与来自多个图形驱动程序的特定图形驱动程序相关联,其中图形驱动生成物理显示器上的图像。指示虚拟空间选择手势的信号从增强现实设备被接收,其中指示所述虚拟空间选择手势的所述信号是由所述增强现实设备响应于所述用户做出选择所述虚拟空间的物理运动而生成的。响应于接收到指示虚拟空间选择手势的信号,实现特定图形驱动器的硬件图形卡在所述物理显示器上显示与所述第一虚拟空间相关联的内容。
[0011] 从另一方面来看,本发明提供一种存储在计算机可读介质上并可加载到数字计算机的内部存储器中的计算机程序,所述计算机程序包括软件代码部分,当所述程序在计算机上运行时用于执行本发明的步骤。

附图说明

[0012] 现在将仅通过示例的方式参考优选实施例来描述本发明,如以下附图所示:
[0013] 图1描绘了根据现有技术并且其中可以实现本发明的优选实施例的示例性系统和网络;
[0014] 图2示出了其中可以实现本发明的优选实施例的、用于在物理显示器上选择性地显示虚拟图像的增强现实设备;
[0015] 图3示出了其中可以实现本发明的优选实施例的图2所示的增强现实设备的附加细节;
[0016] 图4示出了其中可以实现本发明的优选实施例的、由如图2所示的增强现实设备的佩戴者所看到的虚拟图像包围的物理显示器的示例性视图,;
[0017] 图5描绘了其中可以实现本发明的优选实施例的、由如图2所示的增强现实设备的佩戴者所看到的虚拟图像包围的物理显示器的另一示例性视图;
[0018] 图6示出了其中可以实现本发明的优选实施例的、正在被调整尺寸以符合物理显示器的表观(apparent)维度的虚拟图像;和
[0019] 图7是其中本发明的优选实施例可以是实现的由一个或多个硬件设备执行的一个或多个操作的高级流程图,该流程图用于将来自虚拟空间中的特定区域的内容与用于物理显示器的图形驱动进行配对。

具体实施方式

[0020] 本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质(或媒介),其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
[0021] 计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0022] 这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0023] 用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。JAVA及其基于JAVA的商标或者标志是Oracle和/或其关联公司的商标或注册商标。Java和基于Java的商标和图标是Oracle和/或其附属公司的商标或注册商标。
[0024] 这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0025] 这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0026] 也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0027] 现在参考附图,特别是参考图1。其中示出了可以由本发明使用和/或实现本发明的示例性系统和网络的框图。注意,由软件部署服务器150和/或增强现实设备152可以使用一些或全部示例性架构,包括为计算机102显示的和在计算机102内示出的包括描绘的硬件和软件。
[0028] 示例性计算机102包括耦合到系统总线106的处理器104。处理器104可以利用一个或多个处理器,每个处理器具有一个或多个处理器核。驱动/支持显示器110的视频适配器108也耦合到系统总线106。在本发明的一个或多个实施例中,视频适配器108是硬件视频卡。系统总线106通过总线桥112耦合到输入/输出(I/O)总线114。I/O接口116耦合到I/O总线114。I/O接口116提供与各种I/O设备的通信,该I/O设备包括键盘118,鼠标120,介质盘
122(其可以包括诸如CD-ROM驱动器,多媒体接口等的存储设备),收发器124和外部USB端口
126。虽然连接到I/O接口116的端口的格式可以是计算机架构领域的技术人员已知的,但是在一个实施例中,这些端口中的一些或全部是通用串行总线(USB)端口。
[0029] 与视频适配器108相关联的(如果不是其一部分)是图形驱动109,在一个实施例中,作为操作系统138的一部分的图形驱动109是控制视频适配器108(例如,视频卡)如何在显示器110上生成文本和图像的软件。在本发明的实施例中,多个图形驱动109可以与视频适配器108相关联。在该实施例中,多个图形驱动109中的每一个与虚拟空间的特定区域和/或特定应用相关联,如下所述。
[0030] 如图所示,计算机102能够使用网络接口130与软件部署服务器150通信。网络接口130是硬件网络接口,诸如网络接口卡(NIC)等。网络128可以是诸如因特网的外部网络,或诸如以太网或虚拟专用网络(VPN)的内部网络。
[0031] 硬盘驱动器接口132还耦合到系统总线106。硬盘驱动器接口132与硬盘驱动器134接口。在一个实施例中,硬盘驱动器134填充系统存储器136,系统存储器136也耦合到系统总线106。系统存储器被定义为计算机102中最低级别的易失性存储器。该易失性存储器包括额外的较高级别的易失性存储器(未示出),包括但不限于高速缓冲存储器,寄存器和缓冲器。填充系统存储器136的数据包括计算机102的操作系统(OS)138和应用程序144。
[0032] OS 138包括壳140,用于提供对诸如应用程序144之类的资源的透明用户访问。通常,壳140是提供解释器和用户与操作系统之间的接口的程序。更具体地说,壳140执行命令,该命令被输入到命令行用户界面中或者从文件输入。因此,也称为命令处理器的壳140通常是操作系统软件层次结构的最高级别,并且用作命令解释器。壳提供系统提示,解释由键盘,鼠标或其他用户输入媒体输入的命令,并将解释的命令发送到操作系统的适当较低级别(例如内核142)进行处理。注意,虽然壳140是基于文本的面向行的用户界面,但是本发明将同样好地支持其他用户界面模式,诸如图形,语音,手势等。
[0033] 如图所示,OS 138还包括内核142,其包括用于OS 138的较低级别的功能,包括提供OS 138和应用程序144的其他部分所需的基本服务,包括存储器管理,进程和任务管理,磁盘管理,和鼠标和键盘管理。
[0034] 应用程序144包括以示例性方式作为浏览器146示出的呈现器。浏览器146包括支持万维网(WWW)客户端(即,计算机102)向因特网发送和接收网络消息的程序模块和指令,其使用超文本传输协议(HTTP)执行消息传递,从而支持与软件部署服务器150和其他计算机系统的通信。
[0035] 计算机102的系统存储器(以及软件部署服务器150的系统存储器)中的应用程序144还包括增强现实协调逻辑(ARCL)148。ARCL 148包括用于实现下面描述的处理的代码,包括图2至图7所描述的处理。在一个实施例中,计算机102能够从软件部署服务器150下载ARCL 148,其中包括在按需的基础上,ARCL 148中的代码直到执行需要才被下载。还要注意,在本发明的一个实施例中,软件部署服务器150执行与本发明相关联的所有功能(包括执行ARCL 148),从而使计算机102不必使用其自己的内部计算资源来执行ARCL 148。
[0036] 收发器124(和/或诸如USB端口126的任何输入/输出(I/O)接口)能够与增强现实设备152电子通信,该增强现实设备152诸如一对增强现实(AR)眼镜。AR眼镜是穿戴式电子设备,其允许佩戴者使用重叠的虚拟现实(例如,平视显示器)来观看物理现实。因此,穿戴者/使用者能够看到什么是真实的(即,在真实的物理空间中)以及什么是虚拟的(即,由计算机生成并显示在平视显示器上),从而利用计算机生成的图像(这是虚拟的)“增强”现实(这是真实的)。
[0037] 注意,计算机102中描绘的硬件元件并不是穷举的,而是代表着突出本发明所需的基本部件。例如,计算机102可以包括诸如磁带盒,数字通用盘(DVD),伯努利盒等的备用存储器存储设备。这些和其它变化旨在落在本发明的精神和范围内。
[0038] 现在参考图2,呈现了用于在物理显示器上选择性地显示虚拟图像的增强现实设备200。如图2所示,用户204(例如,增强现实设备200的佩戴者)能够“看到”两种类型的图像。
[0039] 由用户204看到的第一类型的图像是通过增强现实设备200的透明部分观看的真实对象。这种真实对象的示例是物理显示器210(类似于显示器110在图1中)和由计算机202(类似于图1中的计算机102)在物理显示器上呈现的内容(例如,应用,网页等)。
[0040] 由用户204看到的第二类型的图像是虚拟图像,其在增强现实设备200内的显示屏幕上向用户示出。如本文所述,虚拟图像可以覆盖在增强现实设备200的透明部分之上,用户204通过该增强现实设备看到真实世界。因此,这些重叠的虚拟图像“增强”现实。用户204可见的虚拟图像的示例包括但不限于虚拟应用显示,虚拟网页,虚拟视频剪辑等,所有这些都是由增强现实设备200生成的。
[0041] 如图2所示,在计算机202内是图形驱动209(类似于图1所示的图形驱动109)。图形驱动209被定义为生成物理显示器(例如物理显示器210)上的图像的软件单元。在本发明的一个实施例中,图形驱动209中的每一个与应用244中的一个且仅一个(诸如电子表格,视频应用,文字处理应用,浏览器等)相关联。此外,在本发明的一个实施例中,应用244及其相关联的图形驱动的完整版本对增强现实设备200是不可用的。相反,只有应用244的静态描述符图像显示在增强现实设备200上。然而,在本发明的另一个实施例中,应用244的完整版本及其相关联的图形驱动对于增强现实设备200是可用的,使得用于应用244的实时动态(可更改)内容可用于在增强现实设备200。
[0042] 现在参考图3,该图呈现了根据本发明的一个或多个实施例的图2所示的增强现实设备200的附加细节。如上所述,增强现实设备200包括透明观看玻璃(glass)302,增强现实设备200的佩戴者能够通过该透明观看玻璃302观看实际(物理)世界。然而,为了通过虚拟图像来增强真实世界的视图,叠加投影仪304能够将图像投影到透明观看玻璃302上,使得增强现实设备200的用户/观看者/佩戴者看到来自世界的真正的物理对象以及增强的虚拟图像。因此,如图2所示,用户204能够看到物理显示器210(以及来自其上生成的应用244的内容)以及诸如虚拟空间208中的虚拟图像的虚拟图像。
[0043] 虚拟空间208可以是二维的或三维的。例如,如图3所示,二维(2-D)空间边界306仅限定二维。因此,当用户通过空间移动他的手206(如图2所示)时,系统(例如,计算机202)会考虑由用户204所观看到的“2-D”空间边界306之后的真实空间中的任何区域,来作为由用户204选择的虚拟空间208的一部分。然而,当用户将他的手206移动通过由3D空间边界308定义的受限三维(3-D)空间时,则系统只执行与该受限3-D空间相关联的动作。该3-D特征允许各种虚拟空间占据用户204的相同视线,其中一个虚拟空间在另一个虚拟空间的前面(或之后)。
[0044] 因此,3-D空间边界308将特定体积的实际空间限定为虚拟空间。由于由叠加投影仪304投影到透明观看玻璃302上的图像产生的光学错觉,用户204“看到”3-D空间边界308“浮动”在实际空间中。当用户204移动他的手206(或任何其他物体,例如魔杖,手套,指针等)通过由3D空间边界308创建的虚拟空间208,则计算机202以与如下相关联的动作进行响应:1)特定虚拟空间208,和2)由用户的手206执行的手势/移动。
[0045] 回到图3,增强现实设备200的3-D位置需要澄清/识别:1)用户204正在查看的位置,并且因此2)用户204与哪个虚拟空间接合。
[0046] 在本发明的实施例中,增强现实设备200的3-D位置由检测增强现实设备200的3-D运动的3-D加速度计310建立。各种电子设备可以是用于检测一个或多个轴上的加速度运动,包括将机械运动转换为电信号的压电,压阻和电容分量。在一个实施例中,3-D加速度计310结合使用微机电系统(MEMS),其测量用已知质量进行平衡(counter-weighted)的微型杆的偏转。
[0047] 在本发明的一个实施例中,增强现实设备200的3-D位置由图3所示的肌电图(EMG)传感器312确定。EMG传感器312是检测图2所示的由用户204做出的肌肉运动的传感器。也就是说,每当增强现实设备200的穿戴者移动他/她的头部的肌肉时,电信号(即,离子诱导的神经膜上的电位变化)被向下传输到控制肌肉的轴突(神经纤维)。运动神经元(motor neuron)和它所支配的肌肉被统称为运动单元(motor unit)。当运动神经元导致运动单元的肌肉收缩时,这些肌肉中会激发电活动。来自运动神经元和运动单元中的肌肉的电活动的总和产生由EMG传感器312测量的运动单元动作电位(MUAP)。所测量的MUAP由处理逻辑(例如,如图3中所示的微处理器314)以识别肌肉运动的水平。也就是说,电信号具体足以识别正在移动肌肉的位置。每当佩戴者移动其头部时,就会出现独特的MUAP图案。因此,将由EMG传感器312实时检测到的MUAP图案与用于特定头部位置的已知/存储的MUAP读数进行比较。该比较导致确定增强现实设备200在3-D实际空间中的位置,并且因此确定生成的虚拟空间208位于何处。
[0048] 为了确定图2所示的用户的手206的位置,可以使用增强现实设备200内的各种设备。
[0049] 例如并且在本发明的一个实施例中,运动传感器316检测用户的手206的运动和用户的手206的位置。运动传感器316使用光学,微波,声学和/或红外传感器,其感测正在从用户的手206发送的信号。例如,佩戴在用户的手206上穿戴的手套(未示出)上的光或红外发射器可以被运动传感器316检测,以确定用户204正在哪里移动他的手。备选地,声信号可以从运动传感器316发送并反弹回运动传感器316。通过使用反弹声信号的方向和发送和接收声信号之间的持续时间,增强现实设备200能够确定用户的手206的3-D位置。类似地,电磁辐射(例如,红外光,可见光,射频信号等)可以从运动传感器316发送并反弹回运动传感器316。正如使用声信号,通过使用反弹电磁辐射的方向和发射和接收电磁辐射之间的持续时间,增强现实设备200能够确定用户的手的3-D位置206。
[0050] 在本发明的一个实施例中,用户的手206的3-D位置由被动红外(IR)传感器318检测。用户的手206由于正常的人体生理而产生热量。通过检测IR辐射的强度和方向,IR传感器318通过将IR传感器读数与已知的表/图表进行比较,来向微处理器314提供足够的信息/数据,以确定用户的手206的3-D位置。
[0051] 在本发明的一个实施例中,用户的手206的3-D位置由相机320检测。相机320捕获用户的手206的视频图像。通过比较被捕获图像的尺寸与用户的手206的已知尺寸,从增强现实设备200到用户的手206的距离由微处理器314确定。用户的手206相对于增强现实设备200的位置的方向可由增强现实设备200内的其他传感器(例如,3-D加速度计310)确定。
[0052] 图3还示出了输入/输出(I/O)卡322,其允许I/O卡322与由用户204持有的电子设备等(包括图2所示的计算机202)的其他设备交换数据/信息。
[0053] 现在参考图4,示出了通过透明观看玻璃302的示例性视图(如图2所示的增强现实设备200的佩戴者所看到的)。如图4所示,增强现实设备200的用户/佩戴者看到真实物体和虚拟物体。实际物体是物理显示器410(类似于图2所示的物理显示器210)。虚拟对象在所描绘的多个虚拟空间408a-408c(其中“c”是任何整数)中,其类似于图2所示的虚拟空间208。每个虚拟空间408a-408c由增强现实设备200生成的界线限定。在本发明的一个或多个实施例中,每个虚拟空间408a-408c与特定图形驱动(例如,来自图2中的图形驱动209)和/或特定应用(例如,来自图2中的应用244)。也就是说,在一个实施例中,图3中的叠加投影仪304将由应用244生成的图像投影到透明观看玻璃302上,从而在虚拟空间408a-408c内创建这些图像的外观。在一个实施例中,来自虚拟空间408a-408c的每个虚拟空间提供用于显示来自特定应用的内容的环境。在一个实施例中,该内容是应用创建的完整版本,而在另一实施例中,虚拟空间408a-408c仅为应用的图标提供环境。
[0054] 例如,假设虚拟空间408a与网页相关联。在一个实施例中,在实时活动模式中,该网页对于增强现实设备200的佩戴者(经由透明观看玻璃302)可见。也就是说,在虚拟空间408a中显示的虚拟图像上也将出现在真实监视器上出现的任何内容。然而,在另一个实施例中,虚拟空间408a中仅出现用于该网页的图标,快照或其他静态显示。
[0055] 在任一实施例中(无论动态网页还是仅仅是网页的图标性图像出现在虚拟空间408a中),本发明允许增强现实设备200的佩戴者从虚拟空间(例如,虚拟空间408a内)移动网页到实际空间(例如,到物理显示器410)。用户可以采取各种动作(例如,将他/她的手穿过虚拟空间408a朝向物理显示器410),这将导致网页被显示在物理显示器410上。从虚拟空间408a到物理显示器410的网页显示的移动还导致计算机202不仅控制物理显示器210/410上的网页的显示,而且还能够使用键盘或其他输入(例如,图1所示的键盘118或鼠标120)来控制/操纵网页及其显示。
[0056] 也就是说,本发明允许用户将与应用相关联的虚拟图像移动到物理显示器上,从而使得用户能够:1)在物理显示器上看到应用的内容,以及2)有能力来使用与支持物理显示器的计算机相关联的硬件来操纵应用及其内容。
[0057] 现在参考图5,假设图2所示的物理显示器210虚拟地四个虚拟空间包围,该四个虚拟空间被描述为虚拟图形设备1-4(虚拟图形设备501a-501d)。注意,虚拟图形设备501a-501d中每一个具有与物理显示器210本身相同的虚拟维度。也就是说,增强现实设备200的穿戴者在透明观看玻璃302上看到的对于每个虚拟图形设备501a-501d的维度已经被调整,以匹配通过透明观看玻璃302看到的物理显示器410的维度302。
[0058] 在本发明的一个实施例中,物理显示器210的表观维度是从在物理显示器210上找到的物理标记导出的。例如,考虑图5中的标记503,该标记503是位于物理显示器210的四个角中的每一个的四个标记(如三角形)之一。三角形/标记可以安装在物理显示器210的物理壳体上,或者它们可以电子地显示在物理显示器210的屏幕上。在任一实施例中,图3中的相机320将拍摄物理显示器210的照片,包括四个三角形/标记。微处理器314然后对所捕获的图像运行边缘检测算法以识别四个三角形/标记。四个三角形/标记的位置允许微处理器314确定物理显示器210对于用户视角的表观尺寸。一旦确定了物理显示器210的尺寸和位置,在虚拟现实中围绕物理显示器210的增强现实(AR)标记505表示物理显示器210的屏幕位置和朝向来作为基准/参考位置,虚拟图形设备501a-501d从该基准/参考位置进行定位。
[0059] 尽管图4和图5所示的示假设物理显示器210与增强现实设备200的佩戴者的视线相正交(即垂直于),有时物理显示器将朝向或远离用户/佩戴者而倾斜,特别是如果物理显示器210是平板计算机或其他可移动装置的一部分时。为了补偿这种倾斜,系统使用补偿程序。
[0060] 因此,在图6中,假设物理显示器210具有由虚线609所示的高度。然而,如果物理显示器210朝向观看者604倾斜,则由于物理显示器210现在沿着线610倾斜,沿着视线603看去的观看者604将感知到物理显示器210具有由线601所示的高度。(注意,线610的长度和线609的长度是相同的。)
[0061] 因此,线610和线609之间的感知到的高度差异仅仅是通过物理显示器210的倾斜引起的视觉(optical)错觉。
[0062] 为了计算朝向角,使用余弦定律,其中:
[0063]
[0064] 因此,A(角度607)的余弦等于直到线611的线609的长度除以线610的长度。相邻侧的长度与对于线601的长度相同,其由增强现实设备200中的相机320所拍摄的倾斜物理显示器210的照片所测量。斜边的长度是物理显示器210的实际高度,并且可以由相机320在垂直于视线603时对物理显示器210拍摄照片来导出,或者可以由从物理显示器发送的、包含物理显示器的维度的标识符(例如,通用唯一标识符,UUID)提供。因此,该信息指向角度A(角度607)的值,使得系统能够调整图5所示的虚拟图形设备501a-501d的尺寸。
[0065] 现在参考图7,其中呈现由一个或多个硬件设备执行的一个或多个操作的高级流程图,该流程用以将来自虚拟空间中的特定区域的内容与用于物理显示器的图形驱动配对。
[0066] 在启动器框702之后,增强现实设备(例如,图2中的增强现实设备200)定义第一虚拟空间(例如,图2中的虚拟空间208),如框704所述。第一虚拟空间由增强现实设备创建的第一空间边界(例如,图3中的3-D空间边界308)限定。第一空间边界仅对于增强现实设备的用户可见,因为它显示在图3中的透明观看玻璃302上。在备选实施例中,可以将空间边界及其相关联的虚拟图形设备发送到诸如第二视频显示器的第二设备,从而允许多个人看到增强的现实(由图3中的叠加投影仪304产生)和/或用户从真实物理世界(由图3中的相机320捕获)看到的内容。
[0067] 现在参考框706,然后一个或多个处理器(例如,图3中的微处理器314或图1中的处理器104)将第一虚拟空间与来自多个图形驱动的第一图形驱动相关联,其中图形驱动生成物理显示器上的图像。也就是说,处理器将特定虚拟空间(例如,虚拟空间208)指派有特定图形驱动(来自图2中的图形驱动209)。因此,每个虚拟空间是特定于特定应用/内容和支持该特定应用/内容的图形驱动。
[0068] 现在参考框708,视频适配器硬件卡(例如,图1中的视频适配器108)从增强现实设备接收指示第一虚拟空间选择手势的第一信号。指示第一虚拟空间选择手势的第一信号是由增强现实设备响应于用户进行第一物理运动而产生,所述第一物理运动选择第一虚拟空间,例如通过第一虚拟空间移动他/她的手(即,真实空间中的对用户“表现为”由虚拟界线所约束的区域)。
[0069] 如框710所述,响应于视频适配器硬件卡接收到指示第一虚拟空间选择手势的第一信号,视频适配器硬件卡通过实施第一图形驱动,来在物理显示器上显示与第一虚拟空间相关联的内容。也就是说,先前的仅通过虚拟增强设备可观看的内容不会被放置在物理设备上,从而可以由支持该物理设备的计算机直接操作。
[0070] 流程图在终止器框712处结束。
[0071] 在本发明的实施例中,第一虚拟空间来自由增强现实设备定义的多个虚拟空间,并且多个虚拟空间仅对增强现实设备的用户可见。也就是说,多个虚拟空间对于使用增强现实设备是可观看的(参见图4和图5)。
[0072] 在本发明的实施例中,在物理显示器上显示的实时内容不被显示在增强现实设备上。也就是说,在本实施例中,当内容在物理显示器上被显示时,其在由增强现实设备创建的虚拟空间中不再可见。而是,系统将删除之前专门用于现在正在物理显示器上显示的内容的任何虚拟空间。
[0073] 如本文所述,在本发明的一个实施例中,第一虚拟空间选择手势是用户通过第一虚拟空间的移动。例如,用户可以将他/她的手移动通过与正在增强现实设备上显示的第一虚拟空间相关的空间中的区域。然而,在另一个实施例中,仅将增强现实设备瞄准特定虚拟空间就足以选择正呈现在该虚拟空间中的内容,以用于在物理显示器上显示。因此,用户可以移动他/她的头部,使得特定虚拟空间位于在图3所示的透明观看玻璃302中的中央。通过采取一些次要行为(例如眨眼,或简单地将增强现实设备保持在固定位置超过某些预定时间量——例如三秒),则系统将选择虚拟空间及其相关的应用/驱动/内容以用于在物理显示器上显示。确定用户正在观看的位置和哪个虚拟空间正在被观看,这是由本文所述的特别是图3中的增强现实设备200的组件实现的。
[0074] 在本发明的实施例中,使用来自增强现实的传感器读数的一个或多个处理器根据如图6所示的物理显示器在实际物理空间中的偏差(deflection),来调整第一虚拟空间的维度。
[0075] 在本发明的实施例中,增强现实设备定义第二虚拟空间,其由增强现实设备创建的第二空间边界限定,并且其中第二空间边界仅对增强现实设备的用户可见。然后,一个或多个处理器将第二虚拟空间与来自多个图形驱动的第二图形驱动相关联。视频适配器硬件卡从增强现实设备接收指示第二虚拟空间选择手势的第二信号,其中第二信号指示由增强现实设备响应于用户进行第二物理运动来生成的第二虚拟空间选择手势,该第二物理运动选择第二个虚拟空间。响应于视频适配器硬件卡接收到指示第二虚拟空间选择手势的第二信号,视频适配器硬件卡用第二图形驱动替换第一图形驱动,使得与第二虚拟空间相关联的内容现在处于物理显示器上,并且最初与第一虚拟空间相关联并被移动到物理显示器的内容现在从物理显示器中被移除。也就是说,第二虚拟空间可以从物理显示器驱逐最初与第一虚拟空间相关联的内容。
[0076] 在本发明的实施例中,硬件图形卡在物理显示器上显示多个定位图标(参见图5中标记503和其他定位三角形)。如图5所示,一个或多个处理器能够基于物理显示器上的多个定位图标来计算物理显示器的感知大小。增强现实设备然后能够调整第一虚拟空间的大小以匹配物理显示器的感知大小。
[0077] 附图中的流程图和框图显示了根据本公开的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0078] 本文使用的术语仅用于描述特定实施例的目的,而不是旨在限制本发明。如本文所使用的,除非上下文另有明确指示,单数形式“一”,“一个”和“该”也旨在包括复数形式。将进一步理解,当在本说明书中使用时,术语“包括”和/或“包含”指定存在所声明的特征,整数,步骤,操作,元件和/或组件,但不排除存在或添加一个或多个其它特征,整数,步骤,操作,元件,组件和/或其组合。
[0079] 所附权利要求中的所有装置或步骤加上功能元件的相应结构,材料,动作和等同物旨在包括与特别要求保护的其它要求保护的元件结合来执行功能的任何结构,材料或动作。出于说明和描述但并不旨在以所公开的形式穷举或限制于本发明的目的,已经提出了本发明的各种实施例的描述。在不脱离本发明的范围和精神的情况下,许多修改和变化对于本领域普通技术人员是显而易见的。选择和描述实施例以便最好地解释本发明的原理和实际应用,并且使得本领域普通技术人员能够针对适合于可以预期的特定使用的各种修改的各种实施例来理解本发明。
[0080] 还要注意,本公开中描述的任何方法可以通过使用VHDL(VHSIC硬件描述语言)程序和VHDL芯片来实现。VHDL是现场可编程门阵列(FPGA),专用集成电路(ASIC)和其他类似电子设备的示例性设计入门语言。因此,本文描述的任何软件实现的方法可以由基于硬件的VHDL程序来仿真,然后VHDL程序被应用于诸如FPGA的VHDL芯片。
[0081] 已经详细描述了本申请的本发明的实施例并通过参考其示例性实施例,易见的是,在不脱离在所附权利要求中限定的本发明的范围的情况下,修改和变化是可行的。