CN106796453B - 驱动投影仪以生成共享空间增强现实体验 - Google Patents

驱动投影仪以生成共享空间增强现实体验 Download PDF

Info

Publication number
CN106796453B
CN106796453B CN201580054827.3A CN201580054827A CN106796453B CN 106796453 B CN106796453 B CN 106796453B CN 201580054827 A CN201580054827 A CN 201580054827A CN 106796453 B CN106796453 B CN 106796453B
Authority
CN
China
Prior art keywords
user
virtual object
view
room
projector
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.)
Active
Application number
CN201580054827.3A
Other languages
English (en)
Other versions
CN106796453A (zh
Inventor
A·D·威尔森
H·本科
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN106796453A publication Critical patent/CN106796453A/zh
Application granted granted Critical
Publication of CN106796453B publication Critical patent/CN106796453B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3141Constructional details thereof
    • H04N9/3147Multi-projection systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3179Video signal processing therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/12Picture reproducers
    • H04N9/31Projection devices for colour picture display, e.g. using electronic spatial light modulators [ESLM]
    • H04N9/3179Video signal processing therefor
    • H04N9/3185Geometric adjustment, e.g. keystone or convergence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/024Multi-user, collaborative environment

Abstract

描述了关于共享空间增强现实(SSAR)的各种技术。房间中的传感器单元输出指示房间中的两个或更多个用户的位置以及两个或更多个用户的注视方向的传感器信号。对于两个或更多个用户中的每个用户,分别地计算至少一个虚拟对象的视图,并且投影仪在房间中投影这样的视图。所投影的视图使得两个或更多用户同时感觉到空间中的虚拟对象。

Description

驱动投影仪以生成共享空间增强现实体验
技术领域
本公开的实施例涉及计算机技术领域。
背景技术
空间增强现实(SAR)技术通过利用投影的光改变物理环境的外观来创建增强现实体验。鉴于许多增强现实方法涉及在手持式设备或头戴式设备上馈送的实时视频上绘制图形,SAR在物理对象上直接放置图形,因此不会使用户从现实世界转移注意力。“透视”头戴式显示器可以实现类似的效果;然而,传统的头戴式显示器支持的视场有限,并且在某种程度上是笨重的,由此潜在地妨碍用户之间的面对面的交互。
在正确的情况下,SAR系统能够改变对象的表面的外观,以使得这样的表面看起来似乎是由特定材料制成的。例如,SAR系统可以使得铺了地毯地板让用户看起来像长苔藓的沼泽。为了实现该效果,需要物理环境的精确的几何模型。使用几何模型来改变所投影的图形,以考虑由现实世界表面几何形状的变化所引起的投影图像的失真。然而,SAR的用途在当前是有限的,这是由于传统的SAR系统支持针对单个视图的增强图形,因此传统的SAR系统支持单个用户。
发明内容
下面是本文比较详细地描述的主题的简要总结。该总结并不旨在限制权利要求的范围。
在此描述了一种计算系统,其中该计算系统包括至少一个处理器和存储器,存储器包括由至少一个处理器执行的多个组件,多个组件包括跟踪器组件,跟踪器组件被配置为计算房间中的第一用户的第一位置和第二用户的第二位置,跟踪器组件基于由至少一个传感器设备生成的至少一个信号来计算第一位置和第二位置。组件还包括绘制组件,绘制组件被配置为:1)基于第一用户的第一位置来计算第一视图,第一视图要被呈现给第一用户,第一视图包括虚拟对象;以及2)基于第二用户的第二位置来计算第二视图,第二视图要被呈现给第二用户,第二视图包括虚拟对象;以及3)将至少一个帧传输到至少一个投影仪,至少一个帧使得至少一个投影仪将图像投影到房间中的投影表面,图像包括以下各项中的至少一项:第一视图的至少一部分;或第二视图的至少一部分,使得第一用户和第二用户两者感觉到第一用户和第二用户之间的空间中的虚拟对象。
附图说明
图1示出了包括被配置为实现共享空间增强现实(SSAR)的设备的示例性房间。
图2是被配置为使得投影仪投影实现SSAR的图像的示例性系统的功能框图。
图3示出了投影仪将图像投影到其中的投影表面上的房间,使得房间中的彼此面对的两个用户感觉到在这样的用户之间的空间中的虚拟对象。
图4示出了投影仪将图像投影到其中的投影表面上的房间,使得房间中的彼此面对的两个用户感觉到在这样的用户之间的空间中移动的虚拟对象。
图5示出了带有高架投影仪的示例性房间,高架投影仪将图像投影到房间的投影表面上,使得彼此面对的两个用户感觉到在用户之间的空间中的虚拟对象。
图6示出了示例性房间,其中投影仪基于两个用户同时查看投影表面,将图像投影到投影表面上。
图7示出了示例性房间,其中投影仪将图像投影到彼此面对的移动用户上,使得用户充当投影表面。
图8是示出了用于将图像投影到房间中的投影表面使得两个用户感觉到两个用户之间的空间中的虚拟对象的示例性方法的流程图。
图9是示出了用于基于检测到的手势来将图像投影到房间中的投影表面的示例性方法的流程图,其中图像使得两个用户感觉到在用户之间的空间中移动的虚拟对象。
图10是示出了用于基于由房间中的至少两个用户中的一个发出的经识别的语音命令来将图像投影到房间中的投影表面上的示例性方法的流程图。
图11是示出了用于驱动房间中的至少两个投影仪使得由两个投影仪投影到房间的投影表面上的图像使得彼此面对的两个用户感觉到两个用户之间的空间中的虚拟对象的示例性方法的流程图。
图12是示例性计算系统。
具体实施方式
现在将参考附图来描述关于共享空间增强现实(SSAR)的各种技术,其中在所有附图中都使用相同的参考数字来指代相同的元素。在以下描述中,为解释起见,阐明了众多具体细节以提供对一个或多个方面的全面理解。然而,很明显,这样的(一个或多个)方面可以在没有这些具体细节的情况下被实施。在其他情况下,以框图形式示出了各个已知的结构和设备以便于描述一个或多个方面。进一步地,应当理解,被描述为由某些系统组件实现的功能可以由多个组件执行。类似地,例如,一个组件可以被配置为执行被描述为由多个组件实现的功能。
此外,术语“或”意指包括性的“或”而非互斥性的“或”。也就是说,除非另有指定或从上下文可以清楚得知,否则短语“X使用A或B”意指任何自然的包括性排列。也即,短语“X使用A或B”被以下情况中的任何一种满足:X使用A;X使用B;或X使用A和B两者。此外,本申请中和所附权利要求书所使用的冠词“一”和“一种”通常应解释为“一个或多个”,除非另有指定或从上下文将清楚是指单数形式。
进一步地,如在此所使用的,术语“组件”和“系统”旨在包含被配置有计算机可执行指令的计算机可读取的数据存储库,该计算机可执行指令当被处理器执行时使得某些功能被执行。计算机可执行指令可包括例程、函数等。还应理解,组件或系统可以位于单个设备上或跨多个设备被分布。进一步地,如本文所使用的,术语“示例性”旨在作为某种东西的图示或示例,并不旨在表示优选。
在此描述了关于SSAR的各种技术,其中被投影到房间中的投影表面上的图像使得房间中的两个或更多用户同时感觉到两个用户之间的空间中的虚拟对象。也就是说,两个用户都同时感觉到虚拟对象位于两个用户之间的空间中(好像一个实际对象位于两个用户之间的空间中)。进一步地,在此所描述的技术可以使得两个用户同时感觉到虚拟对象在空间中的移动,使得例如,第一用户可以感觉到虚拟对象正在移动得越来越近,而第二用户可以感觉到虚拟对象正在移动得越来越远。可以通过使得至少一个投影仪将图像投影到房间的投影表面上来实现SSAR,其中第一用户和第二用户两者都不需要佩戴增强现实(AR)头戴设备。
现在参考图1,示出了房间100,其中房间配备有投影仪和传感器。如本文所描述的,投影仪被配置为基于由传感器输出的数据,将图像投影到房间100的投影表面上,其中投影的图像为房间100中的至少两个用户实现SSAR。房间100被第一墙102、与第一墙102正交的第二墙104、平行于第一墙102的第三墙106、以及地板108包围。尽管第一墙102被示为平行于第三墙106并正交于第二墙104,但是,房间100不一定是方形或矩形的。在一个示例中,墙102-106和地板108充当投影表面。房间100还包括天花板和第四墙(未示出)。进一步地,房间100还可包括家具、家电、小块地毯、大地毯,等等,它们也可以充当投影表面。
第一用户110和第二用户112位于房间100中并且彼此面对。例如,第一用户110可以在第一墙102的附近,而第二用户112可以在第三墙106的附近。第一用户110,当面对第二用户112时,看到第二墙104及地板108的一部分(在第一用户110的视场的周边)以及第三墙106。同样,第二用户112,当面对第一用户110时,看到第二墙104及地板108的一部分(在第二用户112的视场的周边)以及第一墙102。
房间100具有第一投影仪114、第二投影仪116、以及第三投影仪118。第一投影仪114被安装在第一墙102上,其在第一用户110的头上方。第一投影仪114被配置为将图像投影到房间100的右手边的投影表面上,诸如第三墙106、第二人112、第二墙104的右侧部分、地板108的右侧部分,等等。第三投影仪118被安装在第三墙106上,其在第二用户112的头上方。第三投影仪118被配置为将图像投影到房间100左手边的投影表面上,诸如第一墙102、第二墙104的左侧部分、第一用户110以及地板108的左侧部分。第二投影仪116被安装在第二墙104上,并被配置为将图像投影到房间中100的投影表面上,来“填充”由第一投影仪114和第三投影仪118投影的图像中的“间隔”。例如,可能存在地板108的、第一投影仪114和第三投影仪118两者都不能投影图像的部分。第二投影仪116可以被配置为将图像投影到地板108的这样的部分,以及在房间100的其他部分提供重叠图像。
尽管三个投影仪都被示为位于房间100中,但是应当理解,更多或更少的投影仪可以被包括在房间中。例如,如下面的实施例所示出的,房间100可包括单个投影仪(例如,定位在或附接到天花板上),其被配置为同时将图像投影到第一墙102、第二墙104、第三墙106、以及地板108上。在另一示例中,在房间100中可以只有第一投影仪114和第三投影仪118。在再一个示例中,在房间100中可以放置三个以上的投影仪。
如下文下面更详细地描述的,投影仪114-118将图像投影到房间100(包括墙和用户110和112)中的投影表面上,使得实现SSAR。更具体而言,由投影仪114-118投影的图像使得第一用户110和第二用户112两者同时感觉到第一用户110和第二用户112之间的空间中的至少一个虚拟对象120。虚拟对象120可以是三维对象,诸如球、地球仪、建筑物,等等。在另一示例中,虚拟对象120可以是平面对象,诸如地图。
为了计算由投影仪114-118投影的图像,将生成并实时更新房间100的三维几何模型,并确定和实时更新用户110和112的视图。每个用户的视图都是房间100中的每个用户的位置(例如,每个用户的头的位置)和每个用户的注视方向的函数。在房间中可以包括多个传感器单元122-126,其中每个传感器单元122-126都被配置为生成至少一个信号,该至少一个信号指示对象在传感器的视场中距离传感器的深度,并进一步表示对象的类型。例如,传感器单元122-126中的每一个都可包括彼此校准的红-绿-蓝(RGB)摄像机以及深度传感器(摄像机),由每个传感器输出的至少一个信号可以是彩色视频馈送和深度馈送(视频帧和深度帧)。
更详细地,房间100被示为包括位于第一投影仪114附近的第一传感器单元122、位于第二投影仪116附近的第二传感器单元124、以及位于第三投影仪118附近的第三传感器单元126。如上文所指出的,传感器单元122-126可包括RGB摄像机和/或深度摄像机。深度摄像机可以基于任何合适的深度感应技术(诸如结构光技术、飞行时间技术等)来生成深度帧。随着时间的推移,由传感器单元122-126所生成的信号指示房间100中的用户110和112的移动。如下文所描述的,基于由传感器单元122-126所生成的信号,可以针对投影仪114-118中的每一个实时计算图像,并且投影仪114-118可以输出图像,使得用户110和112中每一个都被提供虚拟对象120的在空间上正确的视图,其中虚拟对象120作为用户110-112中的至少一个用户的检测到的移动的函数,被定位在空间中。例如,虚拟对象120可以是三维地球仪,第一用户110可以朝着地球伸出她的手并作出手势。第三传感器单元126可以生成捕捉手势的信号(例如,颜色帧和深度帧),并基于信号检测手势。响应于检测到手势,计算要由投影仪114-118投影的图像,其中图像当被投影时,使得第一用户110和第二用户112感觉到地球正在旋转。在另一示例中,虚拟对象120可以是球,第二用户112可以作出手势,好像她正在朝着第一用户110抛球。第一传感器单元122可以生成指示这样的手势的传感器信号,并且可以使得投影仪114-118将图像投影到房间100中的投影表面上,其中这样的投影的图像使得第一用户110和第二用户112感觉到球正在从第二用户112朝着第一用户110的方向行进。更简单些,可以给第一用户110和第二用户112提供这样的感觉,他们彼此正在玩接球游戏,两者都感觉到球在第一用户110和第二用户112之间行进,即使球是虚拟的,体验是由投影的图像导致的。
现在参考图2,示出了示例性计算设备200,示例性计算设备200被配置为基于由传感器单元122-126生成的传感器信号,计算要由投影仪114-118投影的图像。尽管计算设备200被示为单个计算设备,但是应当理解,计算设备200可以是彼此进行通信并彼此之间同步地操作的多个计算设备。进一步地,计算设备200可以位于房间100中的投影仪114-118和传感器单元122-126的附近。在另一示例中,计算设备200可以位于数据中心,并可以通过合适的高速网络连接来与投影仪114-118和传感器单元122-126进行通信。进一步地,计算设备200可以是能够处理由传感器单元122-126生成的传感器信号并且计算用于由投影仪114-118进行投影的图像的任何合适的计算设备。因此,计算设备200可以是服务器计算设备、台式计算设备、膝上型计算设备、平板计算设备、移动电话、可穿戴计算设备,等等。
计算设备200包括处理器202和存储器204,存储器204包括可以对处理器202可访问的数据以及指令。更详细地,存储器204包括由处理器202执行的多个组件,其中组件当由处理器202执行时,执行某些功能。多个组件包括被配置为基于由位于房间周围的传感器单元122-126输出的信号来生成房间100的三维几何模型207的校准器组件206。如前面所指出的,传感器单元122-126可包括RGB摄像机以及深度摄像机。校准器组件206可以校准传感器单元122-126,以确定全局坐标系,并可以在全局坐标系中生成房间100的三维几何模型207。
在非限制性示例中,校准器组件206可以被配置为确定每个投影仪和传感器单元的姿态、焦距、以及光心。例如,校准器组件206可以在离线过程中恢复这样的信息,其中每个投影仪依次显示一系列格雷码图案,传感器单元122-126的RGB摄像机捕捉房间100的投影表面上的格雷码(Gray code)图案的图像。校准器组件206可以标识由传感器单元122-126输出的图像中的格雷码图案的位置,并可以确定从传感器单元122-126中的一个或多个传感器单元的彩色摄像机的坐标系中的三维点到投影仪的图像中的对应点的映射。
在投影仪和传感器单元成对地共同定位的示例中,校准器组件206可以通过驱动传感器单元的所有RBG摄像机来确定每个投影仪-传感器单元对的相对姿态,以观察其他投影仪的格雷码图案,记下由其他投影仪输出的图像与RBG摄像机的投影仪重叠的区域,并计算使重叠区域的对应的3D点对齐的变换。此过程能够确定所有投影仪和传感器单元的全局坐标系。动态投影映射还要求房间100的精确的表面几何形状。如上文所指出的,每个传感器单元都可包括深度摄像机,其中由深度摄像机输出的深度数据的精度可以在由深度摄像机报告的深度范围内大致恒定。通过使用全局坐标系和由传感器单元122-126的深度摄像机输出的深度数据,可以生成房间100的3D几何模型207。
存储器204进一步包括跟踪器组件208,该跟踪器组件208被配置为接收由传感器单元122-126输出的传感器数据209和房间100的3d几何模型207,并进一步被配置为基于传感器数据209和房间100的3D几何模型207来计算位置数据210。位置数据210可包括第一用户110和第二用户112在房间100中的位置、第一用户110和第二用户112的在房间100中的估计的注视方向、以及用户110-112的估计的视场(其中视场包括房间的(一个或多个)投影表面的(一个或多个)部分在用户110-112的视场内的标识)。
对于注视方向,跟踪器组件208例如可以基于每个用户的头在房间100中的3D位置和每个用户的头在房间100中的俯仰角,估计每一个用户的注视方向。更进一步,跟踪器组件208可以基于传感器数据209,标识每个用户的每个眼睛的位置,并可以基于该用户的每个眼睛的位置,估计每个用户的注视方向。另外,跟踪器组件208还可以执行骨架跟踪,以计算用户110-112的肢端的移动,包括臂部移动、手部移动、头部移动、手指移动,等等。
跟踪器组件208可以基于用户110和112的估计的注视方向,估计用户110和112中的每一个的视场。更详细地,基于房间100的3D几何模型207和用户110和112的注视方向,在给定用户110-112在房间100中的当前位置以及他们的当前注视方向的情况下,跟踪器组件208可以标识将被用户110-112看见的(一个或多个)投影表面的(一个或多个)部分。
存储器204还包括绘制组件212,该绘制组件212针对房间100中的投影仪114-118,生成要被投影仪114-118投影的帧214,其中帧214基于要被用户110-112感觉到的虚拟对象120、用户110-112将感觉虚拟对象120的空间中的位置、由跟踪器组件208计算出的位置数据210、以及投影仪的覆盖范围。
更详细地,绘制组件212计算针对第一用户110的第一视图和计算针对第二用户112的第二视图,其中第一用户110将感觉到第一视图,第二用户112将感觉到第二视图。如上文所指出的,绘制组件212基于由跟踪器组件208输出的位置数据210以及房间100的3D几何模型207(实时更新,以反映用户110和112在房间100中的位置)来计算视图。可以通过投影仪114-118来抽象这些计算出的视图。针对第一用户110的第一视图指示图像将被投影在房间100中的何处,以使得第一用户110感觉到虚拟对象120位于房间100中的空间中的特定位置处,而针对第二用户112的第二视图指示图像将被投影在房间中的何处,以使得第二用户112感觉到虚拟对象120位于房间100中的空间中的特定位置处。基于在校准过程中确定的投影仪114-118的已知覆盖范围和计算出的视图,绘制组件212可以生成针对相应的投影仪114-118的帧214,并将帧214传输到投影仪114-118。投影仪114-118响应于接收到帧214,投影相应的帧214,投影的图像使得用户110-112两者都感觉到房间100中的空间中的虚拟对象120。
进一步地,由于第一和第二用户110和112本身可以是投影表面,因此,绘制组件212可以基于第二用户112在房间100中的位置,计算针对第一用户110的第一视图。同样,绘制组件212可以基于第一用户110在房间中的位置,计算针对第二用户112的第二视图,其中用户110和112在房间100中的位置是由跟踪器组件208计算出的。如前面所指出的,跟踪器组件208和绘制组件212可以实时分别计算位置数据210和帧214,使得当用户110和/或用户112改变在房间100中的位置和/或注视方向时,更新由投影仪114-118投影的图像。
现在参考图3,示出了房间100的另一示例性描绘。在图3中所描绘的房间100中,其中包括第一投影仪114、第一传感器单元122、第三投影仪118、以及第三传感器单元126。第一投影仪114被配置为在房间的第三墙106上投影图像,而第三投影仪118被配置为在房间100的第一墙102上投影图像。
基于由第三传感器单元126输出的信号以及房间100的3D几何模型207,跟踪器组件208可以计算针对第一用户110的第一视场,如参考数字302所描绘的。类似地,基于由第一传感器单元122输出的传感器信号以及房间100的3D几何模型207,跟踪器组件208可以计算针对第二用户112的第二视场,如参考数字304所描绘的。
绘制组件212分别基于视场302和304以及用户110和112将感觉虚拟对象120的空间中的位置,计算针对第一用户110的第一视图和针对第二用户112的第二视图。例如,绘制组件212可以接收虚拟对象120将由第一用户110和第二用户112感觉为位于第一用户110和第二用户112之间的空间中的特定位置的指示。然后,绘制组件212计算使得用户110和112同时将虚拟对象120感觉为位于空间中的该位置的针对用户110和112中的每一个的视图。因此,虚拟对象120被呈现两次:一次针对第一用户110、一次针对第二用户112。由于第一用户110和第二用户112正在看向相反的方向,因此,第一用户110不太可能看见意图用于第二用户112的图形,反之亦然,这是因为意图用于第二用户112的图像例如将出现在第一墙102上的、第一用户110的背后(或在第一用户110的身体上)。由于绘制组件212知道第一用户110将感觉虚拟对象120的房间100中的所期望的空间位置,因此绘制组件212可以生成将要由第一投影仪114投影的帧,该帧当由第一投影仪114投影到第三墙106上时,包括具有合适的大小和方向的虚拟对象120的绘制,以使得第一用户110感觉到虚拟对象120位于房间100中的所期望的空间位置。
类似地,由于绘制组件212知道虚拟对象120在房间100中的期望的空间位置,因此,绘制组件212可以生成帧,该帧当由第三投影仪118投影在第一墙102上时,包括具有合适的大小和方向的虚拟对象120的绘制,以使得第二用户112感觉到虚拟对象120位于房间100中的所期望的空间位置。如图3所示,第一投影仪114可以以合适的位置和方向将虚拟对象120的第一绘制306投影到第三墙106上,使得第一用户110在期望的空间位置感觉到虚拟对象120。类似地并且同时地,第三投影仪118将虚拟对象120的第二绘制308投影到第一墙102上,其使得第二用户112在期望的空间位置(例如,在第一用户110和第二用户112之间)感觉到虚拟对象120。
现在参考图4,示出了房间100的另一示例性描绘。在图3中,虚拟对象120被示为位于空间中的与第一用户110和第二用户112的距离大致相等的位置。在图4中,虚拟对象120被示为在空间上与第二用户112相比更靠近第一用户110。如前面所描述,基于由第一传感器单元122和第三传感器单元126输出的信号,跟踪器组件208可以计算位置数据210,该位置数据210包括第一用户110和第二用户112在房间100中的位置和用户110和112的视场。
绘制组件212可以基于用户110和112的视场,并进一步基于虚拟对象120和房间100中的虚拟对象120将被用户110和112感觉的空间位置,计算针对第一用户110的第一视图和针对第二用户112的第二视图。由于在第一用户110看起来虚拟对象120将更接近第一用户,因此,由绘制组件212计算出的第一视图可以包括要被投影到第三墙106上的虚拟对象120的第一绘制402。虚拟对象120的第一绘制402在第三墙106上相对较大,向第一用户110提供虚拟对象120与第一用户110相对靠近的感觉。相比之下,由绘制组件212针对第二用户112计算出的第二视图可以包括被投影到第一墙102上的虚拟对象120的第二绘制404,其中虚拟对象120的第二绘制404相对较小,因而向第二用户112提供虚拟对象120位于空间中的相对于第二用户112的较远的距离处的感觉。如前面所指出的,跟踪器组件208和绘制组件212可以实时地操作,使得随着虚拟对象120的位置改变、随着第一用户110的位置改变和/或随着第二用户112的位置改变、随着第一用户110或者第二用户112的注视方向改变等等,实时地针对第一用户110和第二用户112计算视图,并且更新对虚拟对象120的绘制。
图5是房间100的另一描绘。在此示例中,在房间中包括单个投影仪502,投影仪502被附接到房间100的天花板或被嵌入在房间100的天花板中。投影仪502可以是广角投影仪,使得投影仪502可以同时将图像投影到至少第一墙102和第三墙106上。如上文所描述的,绘制组件212计算针对第一用户110的第一视图和针对第二用户112的第二视图;然而,投影仪502将投影两个视图。也即,由绘制组件212生成的帧214代表第一视图和第二视图两者。
现在参考图6,提供了房间100的另一示例性描绘。在此描绘中,由绘制组件分别针对第一用户110和第二用户112计算出的第一和第二视图重叠在投影表面上。换言之,第一用户110将感觉到期望用于第二用户112的虚拟对象120的绘制(以及期望用于第一用户110的虚拟对象120的绘制),而第二用户112将感觉到期望用于第一用户110的虚拟对象120的绘制(以及期望用于第二用户112的虚拟对象的绘制)。
当绘制组件212检测到此情况时,绘制组件212可以执行各种技术中的任何一种。在第一示例中,绘制组件212可以混合用户110和112的视图,使得针对第一用户110的第一视图和针对第二用户112的第二视图在房间100中被同时投影。换言之,用户110和112两者都可以感觉到地板108上的虚拟对象120的两个视图。当虚拟对象120将被感觉到在地板上时,针对两个用户110和112的两个视图将重叠。在另一示例中,绘制组件212可以绘制将要被用户110和112两者都感觉到的单个视图(例如,在虚拟对象120的绘制被置于虚拟对象120的两个绘制之间的情况下,该两个绘制在其他情况下被呈现给用户110和112)。在又一个示例中,两个用户110或112中的一个用户可以是占主导地位的用户,使得当绘制组件检测到视图重叠时,绘制组件212基于占主导地位的视图来生成帧,使得虚拟对象120的绘制被显示,以使得占主导地位的用户将虚拟对象120感觉为位于空间中的合适的位置。
现在参考图7,提供了房间100的另一示例性描绘。在此示例中,用户110和112本身充当投影表面。也即,绘制组件212基于用户110和112在房间100中的位置以及用户110和112的形状,计算针对用户的视图。在这里所示出的示例中,绘制组件212计算针对第一用户110的第一视图,使得虚拟对象120的第一绘制702至少部分地被投影到第二用户112上。绘制组件212同时计算针对第二用户112的第二视图,使得虚拟对象120的第二绘制704至少部分地被投影到第一用户110上。
当计算视图时,除了考虑位置数据210之外,绘制组件212还可以考虑房间100中的投影表面的纹理、图案、和/或反射性质。例如,第一用户110可能穿着反射性强的、浅色的衬衫,同时穿着反射性不太强的、深色的裤子。绘制组件212可以基于由房间100中的第三传感器单元126输出的图像,确定这样的信息。然后,绘制组件212可以计算视图,并构建帧214,使得第三投影仪118向第一用户110投影图像,该图像考虑到了不同的纹理、反射性、图案等。进一步地,绘制组件212可以基于房间中的投影表面的颜色特性(诸如但不限于色调、纹理等),计算视图并构建帧214。
尽管图1和3-7示出了在房间中的投影仪和传感器的示例性布局,但是应当理解,其他布局和扩展也是可能的。例如,不是将投影仪和传感器单元固定到房间的墙上,而是可以以由用户110–112佩戴的头戴设备实现投影仪和/或传感器单元。投影仪可以具有与其相关联的惯性传感器,使得可以基于检测到的头戴设备中的投影仪的位置,确定房间100中的用户110-112的视场。绘制组件212可以基于检测到的投影仪的位置,生成用户110-112的视图。在另一示例中,绘制组件212可以针对每个用户计算两个视图:每个用户的每个眼睛一个视图。在这样的情况下,房间100可包括立体地排列的投影仪,第一投影仪投影针对一个眼睛的一个视图,第二投影仪投影针对另一眼睛的一个视图。在这样的情况下,用户中的每一个都可以佩带快门式眼镜。
另外,从前面的内容可以确定,其中用户110和112可以与用户110和112之间的空间中的一个或多个虚拟对象进行交互的许多SSAR应用是可以预期的。例如,触摸虚拟对象可以通过以下方式实现:将跟踪的手的位置或者从用户的深度图获取的点与虚拟对象120的几何形状相交互。
在另一示例中,绘制组件212可以使得投影仪114-118投影图像,使得用户110或112感觉到这样的用户中的一个用户正在将虚拟对象120握在手中。在又一个示例中,虚拟对象120可以被脚本化,以当手在三维空间中由传感器122-126中的一个或多个跟踪时,跟随在手上方调整的点。绘制组件212,如上文所描述的,生成虚拟对象120的两个绘制:每个用户一个绘制。例如,当第一用户110将她的手放在她的身体前面时,她的视图将包括房间100的远的表面上的可能超过第二用户112的身体范围的大投影。同时,第二用户112的视图将包括可能在第一用户110的躯干上方的对象的小投影。
在又一个示例中,握住的对象可以在满足松开的一些条件下被掉落或抛掷。例如,如果手的速度或加速度超出某个阈值,可以抛掷握住的球。在松手瞬间,球可以取得正在抛掷的手的速度。接住或捡起可以通过简单地测试对象何时充分靠近被跟踪的手来实现。
在其他示例中,可以检测虚拟对象与房间的表面或用户的碰撞,导致真实的碰撞响应。可以使用房间的静态部分的预先计算出的碰撞几何形状,并可以估计移动对象的形状。尽管利用绘制流水线向房间的静态部分施加纹理相对来说简单,但是,向诸如用户之类的移动对象施加纹理需要对投影表面的实时跟踪。诸如光流之类的低级别的运动特征可以用于这样的实时跟踪。可以根据来自红外线(IR)传感器的红外线(IR)视频来计算实时光流。可以通过确定纹理的初始布局,然后利用通过光流的运动估计跟随许多帧中的表面,将纹理应用于移动对象。
如前面所指出的,虚拟对象120可以是任何合适的虚拟对象,诸如三维模型、球等。进一步地,绘制组件212可以同时呈现多个虚拟对象,使得用户110和112两者都感觉到用户110和112之间的空间中的多个虚拟对象。在又一个示例中,可以在两个用户110和112之间的空间中绘制文本。例如,第一用户110和第二用户112可能使用不同的语言。在此所描述的多个方面可以允许检测用户110和112中的任一个用户的语音,并在第一用户110和第二用户112两者之间显示语音气泡,其中每个用户都将以合适的朝向看到他们分别能够理解的语言的语音。
在游戏、医疗保健等领域,还有本文所描述的特征可以特别适合的许多应用。例如,本文所描述的特征可以允许医生观察病人对接近的对象的反应,而不要求医生实际使用该对象。因此,医生可以观察用户是否能够接住球,而不实际必须向用户抛球。本文所描述的特征也可以适合于物理疗法应用,其中两个病人可以具有SSAR体验,而不要求使用物理对象。例如,两个病人可以玩接球游戏,而不要求使用球,可以玩虚拟网球的游戏,这是因为本文所描述的系统可以绘制从两个用户都正确地感觉到的网球拍和网球等。也能够预期其它的应用。
图8-11示出了关于及SSAR的示例性方法。尽管方法被示为并描述为是按序列执行的一系列动作,但是应当理解,方法不受序列的顺序的限制。例如,一些动作可以以本文所描述的顺序不同的顺序进行。另外,动作还可以与另一动作同时地进行。进一步地,在某些情况下,并非所有的动作都是实现本文所描述的方法所必需的。
此外,本文所描述的动作可以是可以由一个或多个处理器实现的和/或存储在计算机可读取的介质上的计算机可执行指令。计算机可执行指令可包括例程、子例程、程序、执行的线程、和/或其它。更进一步,方法的动作的结果可以被存储在计算机可读取的介质中、被显示在显示设备上、和/或其它。
现在参考图8,示出了用于实现SSAR的示例性方法800。方法800处在802开始,在804处,检测环境(房间)中的彼此面对的两个用户的视场。如前面所指出的,可以基于指示环境中的两个用户的位置、环境中用户的头的俯仰角等的传感器信号来检测视场。在806处,将至少一个信号传输到至少一个投影仪,该至少一个信号使得至少一个投影仪在投影表面上投影图像,其中图像当被投影到投影表面中时,使得两个用户感觉到两个用户之间的空间中的虚拟对象。尽管方法800被示为在808处结束,但是应当理解,方法800可以重复,使得图像随着视场和/或虚拟对象的空间位置改变而实时地更新。
现在参考图9,示出了用于在环境中投影图像的示例性方法900。方法900在902处开始,并在904处,检测由第一用户执行的手势,第一用户在房间中面对第二用户。可以基于由传感器单元输出的信号(诸如由深度摄像机输出的深度图像、由RGB摄像机输出的彩色图像等)来检测手势。在906处,基于手势,将至少一个信号传输到至少一个投影仪,该至少一个信号使得至少一个投影仪在投影表面上投影图像,其中图像使得两个用户感觉到正在两个用户之间的空间中移动的虚拟对象。例如,检测到的手势可以是投掷动作,图像可以使得两个用户感觉到从一个用户向另一用户移动的球。在另一示例中,手势可以是挥动,由投影仪投影的图像可以使得两个用户感觉到在两个用户之间的空间中旋转的地球仪。方法900在908处结束。
现在参考图10,示出了促进在房间中投影使得两个用户感觉到两个用户之间的空间中的虚拟对象的图像的另一示例性方法1000。方法1000在1002处开始,并在1004处,检测由第一用户口头发出的单词或短语,此时第一用户面对房间中的第二用户。例如,麦克风可以捕捉由第一用户说出的话语,基于由麦克风输出的信号,可以检测话语中的至少一个单词。在1006处,基于检测到的单词或短语,将至少一个信号传输到至少一个投影仪,该至少一个信号使得至少一个投影仪在房间中投影图像,其中图像使得两个用户感觉到两个用户之间的空间中的虚拟对象。在另一示例中,基于检测到的单词或短语,被传输到至少一个投影仪的至少一个信号可以使得虚拟对象改变外观或位置。方法1000在1008处结束。
现在参考图11,示出了用于同时为两个单独的用户在一个环境中投影两个视图的示例性方法1100,其中视图使得两个用户具有SSAR体验。方法1100在1102处开始,并在1104处,接收由第一传感器设备输出的第一信号。第一信号可以是例如深度图像、彩色图像或指示第一用户在房间中的位置的其他信号。在1106处,处理第一信号以计算第一用户的注视方向。例如,第一信号可以是或包括房间中的第一用户的彩色图像和深度图像,并可以基于这些图像来确定第一用户的头俯仰角和眼睛的大致位置,从而允许估计第一用户的注视方向(并估计第一用户的视场)。
在1108处,接收由第二传感器单元输出的第二信号。例如,第二传感器单元可以指向第二用户,并类似于第一传感器信号,第二信号可以是或包括深度图像、彩色图像等。在1110处,处理第二信号,以更新第一用户的注视方向的第一用户的计算机实现的环境模型。例如,第二传感器信号可以指示第二用户在房间中的位置、形状、以及移动,其中第二用户可以针对图像的投影表面。
在1112处,基于第一用户的注视方向、计算机实现的环境模型,以及虚拟对象将被第一用户感觉到的空间中的位置,计算针对第一用户的视图。在1114处,将第一命令传输到第一投影仪,其中第一命令使得第一投影仪投影针对环境中的第一用户的视图。相应地,第一用户将虚拟对象感觉为位于环境中的空间中的合适的位置。
在1116处,处理接收到的1108由第二传感器单元输出的第二信号,以计算第二用户的注视方向。在1118处,处理第一信号,以更新第二用户的注视方向的计算机实现的环境模型。在1120处,基于以下各项,计算环境中的第二用户的视图:1)第二用户的注视方向;2)计算机实现的环境模型;以及3)虚拟对象将被第二用户感觉到的空间中的所期望的位置。在1122处,将第二命令传输到第二投影仪,其中第二命令使得第二投影仪投影针对环境中的第二用户的视图。然后,方法1100返回到1104。多个动作确保同时被执行,以便给第一用户和第二用户提供共享体验。
现在阐述涉及本文所描述的许多方面的各种示例。
示例1:一种计算系统,包括:至少一个处理器;以及存储器,其包括由至少一个处理器执行的多个组件,多个组件包括:跟踪器组件,跟踪器组件被配置计算房间中的第一用户的第一位置以及第二用户的第二位置,跟踪器组件基于由至少一个传感器设备所生成的至少一个信号,来计算第一位置和第二位置;以及,绘制组件,其被配置为执行以下操作:基于第一用户的第一位置,计算第一视图,第一视图要被呈现给第一用户,第一视图包括虚拟对象;基于第二用户的第二位置,计算第二视图,第二视图要被呈现给第二用户,第二视图包括虚拟对象;以及,将至少一个帧传输到至少一个投影仪,至少一个帧使得至少一个投影仪将图像投影到房间中的投影表面上,图像包括以下各项中的至少一项:第一视图的至少一部分、或第二视图的至少一部分,使得第一用户和第二用户两者都感觉到第一用户和第二用户之间的空间中的虚拟对象。
示例2:根据示例1的计算系统,跟踪器组件进一步被配置为基于由传感器设备生成的至少一个信号,计算第一用户的第一注视方向和第二用户的第二注视方向,绘制组件进一步被配置为基于第一注视方向来计算第一视图,并基于第二注视方向来计算第二视图。
示例3:根据示例1-2中的任一个的计算系统,存储器进一步包括房间的计算机实现的三维几何模型,绘制组件进一步被配置为基于房间的计算机实现的三维几何模型,计算第一视图和第二视图。
示例4:根据示例3的计算系统,绘制组件进一步被配置为基于由至少一个传感器设备生成的至少一个信号,实时更新计算机实现的三维几何模型。
示例5:根据示例1-4中的任一个的计算系统,至少一个帧包括第一帧和第二帧,至少一个投影仪包括第一投影仪和第二投影仪,绘制组件被配置为将第一帧传输到第一投影仪,并将第二帧传输到第二投影仪,第一帧使得第一投影仪投影第一视图,第二帧使得第二投影仪投影第二视图。
示例6:根据示例5的计算系统,至少一个帧进一步包括第三帧,至少一个投影仪进一步包括第三投影仪,绘制组件被配置为将第三帧传输到第三投影仪,第三帧使得第三投影仪投影第一视图的一部分以及第二视图的一部分。
示例7:根据示例1-6中的任一个的计算系统,跟踪器组件被配置为检测由第一用户相对于虚拟对象执行的手势,而绘制组件进一步被配置为基于由跟踪器组件检测到的手势,计算第一视图和第二视图。
示例8:根据示例1-7中的任一个的计算系统,跟踪器组件被配置为接收由第一用户说出的单词,而绘制组件进一步被配置为基于由跟踪器组件接收到的单词,计算第一视图和第二视图。
示例9:根据示例1-8中的任一个的计算系统,虚拟对象是三维对象。
示例10:根据示例1-9中的任一个的计算系统,至少一个信号包括RGB图像或深度图像中的至少一个。
示例11:一种方法,包括:基于由至少一个传感器单元生成的至少一个传感器信号,计算房间中的第一用户的第一注视方向;基于由至少一个传感器单元生成的至少一个传感器信号,计算房间中的第二用户的第二注视方向;以及,基于第一用户的第一注视方向和第二用户的第二注视方向,将至少一个帧传输到房间中的至少一个投影仪,至少一个帧使得至少一个投影仪将图像投影到房间中的表面上,使得第一用户和第二用户感觉到在第一用户和第二用户之间的空间中的虚拟对象。
示例12:根据示例11的方法,进一步包括:基于第一用户的第一注视方向和房间的计算机实现的几何模型,计算针对第一用户的第一视图;基于第二用户的第二注视方向和房间的计算机实现的几何模型,计算针对第二用户的第二视图;以及基于针对第一用户的第一视图以及针对第二用户的第二视图,生成至少一个帧。
示例13:根据示例12的方法,进一步包括:基于由至少一个传感器单元生成的至少一个传感器信号,实时更新几何模型。
示例14:根据示例13的方法,实时更新几何模型包括基于检测到的房间中的第一用户以及第二用户的位置,更新几何模型。
示例15:根据示例11-14中的任一个的方法,进一步包括:估计以下各项中的至少一项:基于由至少一个传感器单元生成的至少一个传感器信号来估计的房间中的表面的反射率;或基于由至少一个传感器单元生成的至少一个传感器信号来估计的房间中的表面的颜色特性;以及基于表面的反射率或表面的颜色特性中的至少一项,生成至少一个帧。
示例16:根据示例11-15中的任一个的方法,进一步包括:检测由第一用户或第二用户中的一个用户关于虚拟对象执行的手势;以及基于手势生成帧。
示例17:根据示例16的方法,图像使得第一用户和第二用户感觉到虚拟对象正在第一用户和第二用户之间的空间中移动。
示例18:根据示例11-17中的任一个的方法,至少一个帧包括第一帧和第二帧,其中传输至少一个帧包括:将第一帧传输到第一投影仪,第一帧使得第一投影仪投影针对第一用户的第一眼睛的图像;以及将第二帧传输到第二投影仪,第二帧使得第二投影仪投影针对第一用户的第二眼睛的图像。
示例19:根据示例11-18中的任一个的方法,进一步包括连续地执行以下动作:计算第一注视方向,计算第二注视方向,以及将至少一个帧传输到房间中的至少一个投影仪,使得图像根据第一注视方向或第二注视方向的至少一个的变化的函数实时地更新。
示例20:一种计算机可读的存储介质,其包括指令,指令在由处理器执行时使处理器执行动作,动作包括:检测第一用户或第二用户中的至少一个用户在房间中的运动,第一用户和第二用户在房间中面向彼此;基于房间的计算机实现的几何模型和第一用户或第二用户中的至少一个用户在房间中的运动,计算针对第一用户的第一视图,第一视图包括虚拟对象;基于房间的计算机实现的几何模型和第一用户或第二用户中的至少一个用户在房间中的运动,计算针对第二用户的第二视图,第二视图包括虚拟对象;以及将至少一个帧传输到至少一个投影仪,至少一个帧使得至少一个投影仪投影以下各项中的至少一项:房间中的第一视图的至少一部分、或房间中的第二视图的至少一部分,使得第一用户和第二用户两者都感觉到虚拟对象正在第一用户和第二用户之间的空间中移动。
示例21:一种计算系统,包括:用于基于由至少一个传感器单元生成的至少一个传感器信号来计算房间中的第一用户的第一注视方向的装置;用于基于由至少一个传感器单元生成的至少一个传感器信号来计算房间中的第二用户的第二注视方向的装置;以及用于基于第一用户的第一注视方向和第二用户的第二注视方向将至少一个帧传输到房间中的至少一个投影仪的装置,至少一个帧使得至少一个投影仪将图像投影到房间中的表面上,使得第一用户和第二用户感觉到第一用户和第二用户之间的空间中的虚拟对象。
现在参考图12,示出了可以与本文所公开的系统和方法一起使用的示例性计算设备1200的高级图示。例如,计算设备1200可以用于被配置为估计房间中的用户的视场的系统中。作为另一示例,计算设备1200可以用于被配置为生成要被投影仪投影的投影帧的系统中。计算设备1200包括执行被存储在存储器1204中的指令的至少一个处理器1202。指令可以例如是用于实现被描述为由上文所讨论的一个或多个组件实现的功能的指令,或用于实现上文所描述的方法中的一个或多个的指令。处理器1202可以通过系统总线1206访问存储器1204。除存储可执行指令之外,存储器1204也可以存储图像、深度数据,等等。
计算设备1200另外还包括可由处理器1202通过系统总线1206访问的数据存储装置1208。数据存储装置1208可包括可执行指令、图像等。计算设备1200还包括允许外部设备与计算设备1200进行通信的输入接口1210。例如,输入接口1210可以被用来从外部计算机设备、从用户等接收指令。计算设备1200还包括将计算设备1200与一个或多个外部设备对接的输出接口1212。例如,计算设备1200可以通过输出接口1212显示文本、图像等。
可以设想,通过输入接口1210和输出接口1212与计算设备1200进行通信的外部设备可以被包括在提供用户可以与其交互的基本上任何类型的用户接口的环境中。用户接口类型的示例包括图形用户接口、自然的用户接口,等等。例如,图形用户接口可以接受来自使用诸如键盘、鼠标、遥控器等之类的(一个或多个)输入设备的用户的输入,并在诸如显示器之类的输出设备上提供输出。进一步地,自然的用户接口可以允许用户以没有诸如键盘、鼠标、遥控器等之类的输入设备强制的约束的方式与计算设备1200进行交互。相反,自然的用户接口可以依赖于语音识别、触摸和指示笔识别、屏幕上的以及与屏幕附近的手势识别、悬浮手势,头部和眼睛跟踪、语音和话音、视觉、触摸,手势、以及机器智能,等等。
另外,尽管被示为单个系统,但是应当理解,计算设备1200可以是分布式系统。如此,例如,几个设备可以通过网络连接进行通信,并可以共同地执行被描述为由计算设备1200执行的任务。
本文所描述的各种功能可以以硬件、软件,或其任何组合来实现。如果以软件实现,则功能可以作为一个或多个指令或代码被存储在计算机可读取的介质上或通过计算机可读取的介质传输。计算机可读取的介质包括计算机可读取的存储介质。计算机可读取的存储介质可以是能够被计算机访问的任何可用的存储介质。作为示例而非限制,这样的计算机可读存储介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、或可用于存储指令或数据结构形式的所需程序代码的并且可以被计算机访问的任何其他介质。如本文所使用的盘包括压缩光盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘,以及蓝光盘(BD),其中磁盘通常以磁性方式再现数据,而光盘通常利用激光以光学方式再现数据。进一步,传播信号不被包括在计算机可读取的存储介质的范围内。计算机可读取的介质还包括通信介质,包括促进计算机程序从一地到另一地的传输的任何介质。连接例如可以是通信介质。例如,如果使用同轴电缆、光缆、双绞线、数字用户线(DSL),或诸如红外线、无线电,以及微波之类的无线技术,从网站、服务器,或其他远端源传输软件,那么同轴电缆、光缆、双绞线、DSL,或诸如红外线、无线电和微波之类的无线技术都被包括在通信介质的定义内。上述的组合也应被包括在计算机可读介质的范围内。
可选地或附加地,本文所描述的功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如,并且但不仅限于,可以使用的硬件逻辑组件的说明性类型包括现场可编程门阵列(FPGA)、程序特定的集成电路(ASIC)、程序特定的标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD),等等。
示例
示例1:原型系统
构建一种原型系统,包括三个高清晰度视频投影仪,每个高清晰度视频投影仪都与包括RGB摄像机和深度摄像机的深度单元配对。投影仪和传感器单元被安装在一些位置,以在一个大房间彼此面对面的两个用户周围进行显示和感应。投影仪和摄像机对中的两对安装在天花板上,大约在两个用户中的每一个用户的头顶上方两英尺。这些设备被定向以使得它们大致彼此面对,覆盖相对的墙以及地板的一部分。一般而言,每个用户的视图都由他们上方的投影仪绘制。用户的视图的动态投影映射的表面几何形状是由传感器单元以及它们上方的投影仪一起提供的。同时,对该用户的身体的跟踪由相对面对的传感器单元支持。投影仪以及摄像机的此对称布局遵循二元交互的对称属性。第三投影仪和摄像机对面朝下地安装在天花板上,覆盖由前两个投影仪覆盖的区域之间的区域。
单个计算设备托管系统的软件,其中计算设备驱动所有三个投影仪。使用可用的三维游戏创建框架,将所有深度数据合并到单个场景,该框架提供房间中的所有感应的几何形状和虚拟对象的概览,并可被用来脚本化新的交互式应用程序。进一步地,框架包括各种表面着色器,诸如照明、阴影和过程纹理化方法,它们帮助使虚拟对象显得更真实。
示例2:校准和场景建模
校准被执行以确定用于动态投影映射的每个投影仪和传感器单元的姿态、焦距以及光心。此信息在离线自动过程中被恢复,其中每个投影仪依次显示一系列格雷码图案。由成对的传感器单元的彩色摄像机观察这些图案。在给定对应于传感器单元的可用的坐标映射函数的情况下,此格雷码图案被用来建立从传感器单元的坐标系中的三维点到投影仪的图像中的对应点的精确映射。
通过使得传感器单元的彩色摄像机另外观察所有其他投影仪的格雷码图案,记下其他投影仪与摄像机的自身配对的投影仪重叠的区域,并计算使重叠区域的对应的3D点对齐的变换,来建立每一投影仪-传感器单元对的相对姿态。此过程得到了对于所有投影仪和摄像机的世界坐标系。
通过使用传感器单元中的飞行时间深度摄像机,获得物理环境的表面几何形状。深度摄像机的深度数据的精度在深度范围内(0.5m-4.5m)大致是恒定的。物理环境的表面几何形状被用于动态投影映射。
环境中的移动对象,例如用户的身体,与房间的静态几何形状分开地被处理。这样处理主要由于两个原因:1)首先,系统可以投影到房间中的可能被移动对象遮蔽的区域;2)静态几何形状支持难以对动态几何形状执行的各种离线分析和优化过程。
示例3:动态投影映射
在给定所有投影仪和深度摄像机的参数以及房间的几何形状的情况下,可以绘制改变房间中的物理对象的表面外观的图形。这可被实现为单个顶点着色器,顶点着色器使用由校准计算得到的从3D世界坐标点到投影仪的图像中的2D点的映射。
绘制虚拟3D对象,使得它从给定用户的视点看起来正确显示是比较复杂的,并被实现为多步骤的绘制过程,其中虚拟对象和真实的物理几何形状从所期望的视点来看绘制在画面以外。然后,将画面外的绘制与表面几何形状以及在标准投影纹理化过程中的投影仪参数相结合,该过程只绘制物理几何形状。用户的视点被设置为跟随由身体跟踪确定的头部位置。
示例4:支持多个视图
两个相对的投影仪的布局被选择为使得每个投影仪主要显示对应于站在它下方的用户的视图。放置在地面上方几英尺以及在用户之间的虚拟对象将被例如绘制两次,为每个用户绘制一次。由于用户正在看向相反的方向,因此,一个用户不太可能看见期望用于另一用户的图形,这是因为图形出现在他们背后的墙上,或他们自己的身体上。
当虚拟对象被放置在用户之间的更靠近地面时,另一用户会看见期望用于一个用户的对象的视图。在原型中,每个用户的视图都被建模为标准透视图形摄像机。在由每个视图针对的物理表面重叠的情况下,绘制被混合,以便两者最终都可见。例如,同一对象的两个视图出现在地板上。在对象被放置在地面上的情况下,对象的两个绘制地面上重叠并汇合。
示例5:交互
除了看见正确地绘制的虚拟3D对象之外,用户还以各种方式与它们进行交互。研究了由身体跟踪技术支持的多个交互以及源自深度和红外图像的低级别特征。例如,“触摸”虚拟对象可以通过将跟踪的手的位置或者从用户的深度图获取的点与虚拟对象的几何形状相交互。
开发了允许用户将虚拟对象握在她手中的交互式应用。虚拟对象可以被脚本化,以当手在3D空间中由传感器单元跟踪时,跟随在手上方的点。以上所描述的多视图绘制针对每个用户视图绘制对象一次。当用户将她的手放在她的身体前面时,她的视图将包括房间的远的表面上的、超过另一用户的身体范围的大投影。同时,第二用户的视图将包括可能在第一用户的躯干上方的对象的小投影。
在交互式应用中,握住的对象可以在满足松手的一些条件下被掉落或抛掷。例如,当检测到的手的速度和/或加速度超出阈值时,可以抛掷握住的球。在松手时,球取得手的投掷速度。接球或“拾起”可以通过测试对象何时充分靠近被跟踪的手来实现。
开发了另一交互式应用,该应用检测虚拟对象与房间或用户的碰撞,导致真实的碰撞响应。原型使用预先计算出的房间的静态部分的碰撞几何形状,并估计具有一些球碰撞物的移动对象(诸如用户)的形状。尽管利用原型的绘制流水线向房间的静态部分施加纹理,但是,向诸如用户之类的移动对象施加纹理需要对投影表面的实时跟踪。使用诸如光流之类的低级别的运动特征来向移动对象施加纹理。根据由传感器单元的深度摄像机输出的红外线视频,来计算实时光流。可以通过确定纹理的初始布局,然后利用通过光流的运动估计跟随许多帧中的表面,来将纹理应用于移动对象。
示例6:绘制虚拟对象
作为动态投影映射的初始演示,在房间中间的咖啡桌上方放置了一些静态模型。这些静态模型包括飞机、赛车、以及地球仪。尽管两个用户获得了飞机的好的感觉,地球仪更具有挑战性,这是因为每个用户都看到地球仪的不同的侧面。编码了通过“触摸”或与地球仪相交来旋转地球仪的能力。
示例7:火球游戏
为准确地测试握住虚拟对象并抛掷它的能力,创建格斗风格的游戏,其中玩家通过举起他们的手来召唤火球。火球看起来好像在手上方几英寸盘旋。玩家可以快速地向对面的玩家抛掷火球。如果它击中墙,则会在碰撞的点暂时绘制损坏。如果它击中用户,则向用户施加纹理,表示受伤。此视觉效果使用如上文所描述的光流,跟踪玩家的投影表面,攻击一方的玩家得一分。通过握火球的手的速度超过阈值,而触发火球的释放。通过计算从被跟踪的头部位置到手的光线,确定方向。稍微练习一下,玩家就能够准确地控制火球。
示例8:接球
编码原型以允许两个用户利用虚拟网球玩接球游戏。此体验通过添加了接球装置来扩展了前一示例:如果球与手充分接近,则它被视为“被接住”,并放在手中。然后,玩家可以将它抛掷回另一玩家。如果玩家不能接球,则它会与用户或房间中的其他对象碰撞。在此情况下,球弹起,并以在物理上似乎真实的方式滚动。玩家接球的能力直接取决于他们的感觉空间中的虚拟对象的能力。
试验数据
为评估二元投影的SAR系统的有效性,进行了专注于以下各项的两个用户试验:1)用户是否正确地感知虚拟对象;以及2)用户理解他们的合作者与虚拟对象的交互。试验表明,用户感觉到所期望的SSAR效果。
第一试验专注于检查单个用户单视场透视视图以传达虚拟对象的空间存在的感知的有效性。具体而言,第一试验分析参与者是否可以将投影的虚拟对象感觉为空间的,而不是只出现在投影表面上。另外,还分析影响它们的完美的因素。第二试验量化当在面对面情况下讨论他们之间的虚拟对象时,两个合作者理解彼此的指示参考有多好。
试验1:对象存在性
作为虚拟对象存在性的度量,参与者被要求评定到投影的虚拟对象的距离以及投影的虚拟对象的大小。投影的测试对象是三个不同大小的绿色方块(小=10cm,中=15cm,大=20cm边长),虚拟地位于距离参与者的三个不同的距离处(近=1.5m,中=2.5m,远=3.5m)。从参与者的视点来看,虚拟对象的图像始终被投影到房间的后墙上(大致相距用户3.75m)。
值得注意的是,对象的大小跨越被测试的距离是(故意)非常容易混淆的。事实上,当被投影在最近的位置时,最小的对象与最远距离处的最大的对象对应大致相同的视角。
除了可变的大小和距离之外,还引入了执行此任务的两个不同的条件:带有物理标记物和没有物理标记物。“带有标记物”条件包括准确地放置在虚拟对象可能出现的位置的三个黑杆,而“没有标记物”条件去除了那些杆。如果被正确地观察,虚拟对象看起来好像坐落在物理标记物上。目标不是告诉参与者在哪里对象和物理标记物在一起,而是通过给予他们能够与虚拟对象相比较的真实世界的物理锚来帮助他们。参与者仍需要确定虚拟对象被附接到三个标记物中的哪一个。除了假设参与者能够正确地理解投影的虚拟对象(H1)的空间布置之外,还假设使得物理对象标记虚拟对象的可能的位置将使评定任务更简单(H2)。这是通过投影在合作者的手上的虚拟对象始终似乎比纯粹放置在半空的对象看起来更具有空间性和真实性的观察而激发的。试验中的物理标记物充当用户的手的受控制的代理。
最后,假设参与者在评定与投影表面更接近的对象(H3)时更准确,例如,远离参与者的对象。因为在这样的情况下,真实世界和虚拟对象的位置是比较一致的。这与真实世界的行为相反,在真实世界中,人类会更好地评定较近的对象,因为在远处的对象会形成较小的视角,因此难以看见。
首先,给予每个参与者对系统的简介,然后,他们被要求面对房间的侧面站着,侧面将示出他们的透视的投影的视图。在他们前面是一个矮的咖啡桌,在咖啡桌上面,放置了三个方块的物理模型。三个物理方块准确地匹配投影的虚拟方块的尺度。虚拟对象将出现的三个可能的位置在地板上用数字标记(1-近,2-中,3-远)。
参与者被要求口头地评定每一对象的大小(指出“小”、“中”,或“大”),以及距离(指出对应于被标记的地板位置的“1”、“2”,或“3”)。协调员记录他们的评定,并前进到下一试验。为了确保跨所有参与者的相同量的刺激,对象被投影刚好5秒,之后消失。指示参与者一旦他们确信就给出他们的评定,并且记录他们的响应时间,作为从对象的出现到协调员的输入的时间。为了评估简单起见,试验被按条件分组,这是因为物理标记物的设置需要时间,其会使得大量数据集的收集变得困难。大小和距离试验的呈现在每一条件块内是随机化的,条件的顺序在用户之间是平衡的,以减少顺序的影响。在每一条件之前,参与者被给予练习期,向他们显示每一大小和距离组合的每一对象(没有5秒限制)并且研究协调员给予他们对他们的评定的反馈。
参与者被初始定位,使得对象出现在后墙上的相同物理位置。他们被明确告知如果有助于他们作出决定可以来回移动,但是要求他们在大致在与地板上标记的初始位置相距一步的范围内移动。尽管投影是单视场的,但是,参与者可以使用其他深度暗示,包括遮光、透视、阴影、大小,以及运动视差。
总的说来,参与者在评定“距离”(88.8%)方面比虚拟对象的“大小”(70.7%)更准确。当考虑“距离”和“大小”两者时,他们在66.5%的试验中提供正确的评定,比偶然几率明显好得多(9个组合中的1个)。这些发现支持用户会并且确实将虚拟对象感觉为在透视SAR情况下具有空间存在性的H1假设。
在792个全部的试验中,只有9个评定在大小或者距离方面远离真实值超过一个选项(例如,将“小”误认为“大”),那些可以被视为异常值。考虑到在每一类别中只有三个可能的选项,这不令人惊讶,但是,这事实上意味着,参与者或者正中靶心(“正确”)或者脱靶(“不正确”)。
参与者的响应被编码为针对大小、距离、以及大小和距离的组合中的每一个的评定二进制变量(“正确”或“不正确”),考虑到这样的二进制响应,标准线性回归模型或方差分析(ANOVA)是不合适的,这是因为它们假设从正态分布中提取标量响应。对于用户的评定的正确性的合适的统计分析方法是“重复度量逻辑回归”。在此情况下,逻辑回归计算变化的因素(例如,不同的大小、距离、或条件)与二进制结果(“正确”或“不正确”)的关联性。逻辑回归的意义指标是Wald卡平方(χ2)。
在包括以下因素的模型上进行分析:条件、大小、以及距离。当分析总体正确性时(例如,大小和距离两者正确),发现“距离”的明显的影响(χ2=11.746,df=2,p=.003;ap-value<=0.05示出了统计上显著的影响),但不是针对“大小”或“条件”。距离对带有“远”距离(3.5m以外)的评定具有强烈的影响,具有比“近”和“中”显著的多的准确性。此结果与真实世界的行为相反,在真实世界中,较近的对象倾向于更加容易评定。但是,它确认了H3假设:与投影表面靠的较近的投影3D对象使得用户能够更加容易地正确感觉该虚拟对象的空间特征。在试验中,“远”距离是远离对象正在被投影到的后墙仅25cm远。
尽管参与者在带有物理标记物的条件下相比无标记物的条件下正确率更高(67.4%对65.6%),没有发现该“条件”具有统计上显著的影响。此结果未能确认假设H2。进一步分析结果,以理解为什么假设H2未能成立。当对象远离投影表面时(在“近”和“中”距离)时,标记物的存在将参与者的评定平均改善6%,但是,实际上又损害了标记物的在“远”距离中的表现。这可以通过这样的事实说明:在“远”位置时,参与者具有大的物理参照物,即投影墙本身,来帮助他们目测距离,参与者可能会被投影的对象前面的多个杆的存在分散注意力。因此,当虚拟对象远离投影表面时,物理标记物的存在可能是有益的。
进一步地,大小*距离的交互具有高度显著的影响(χ2=47.482,df=4,p<.001)。这不令人惊讶,这是因为某些组合是可轻松地标识的(例如,位于远距离处的小方块是最小的被投影的对象),而一些是高度易混淆的(例如,位于“近”位置处的中等方块容易与中等位置处的大方块相混淆)。
响应时间包括协调员记录结果并推进试验的时间(大致1秒)。平均响应时间是6.47s(标准偏差=2.27s)。对响应时间执行重复的测量ANOVA,发现它与评定分析紧密关联:参与者在对条件作出响应时快得多,还发现他们更为准确。这表明,结果不落入许多瞄准试验常见的速度-精确度折衷。
试验2:理解二分体中的合作者的空间参考
设计了这样的任务:参与者观察他们的伙伴将一个短杆抬到他们的视平线高度,并指向出现在参与者和协调员之间的16个球中的一个。参与者口头指出他们认为他们的伙伴指向哪一个球。球被排列在4x4网格中,并被清楚地编号。在此配置中,网格中的球的一部分被投影在空间中的人身体上,一部分被投影在他们背后的墙上。
网格中的每个球都是10cm直径,球之间相隔11cm(球心到球心)。网格在地板上方1.5米处浮动。在第一试验中(参见上文),目标的该特定布局足够密因而潜在地容易混淆,而同时提供了足够的空间分辨率以模仿许多现实世界中的面对面的任务的要求(例如,两个人讨论他们之间的建筑物模型)。尽管利用类似于步枪瞄准的姿势来指向并不是自然的指向风格,但是选择此姿态以避免个人的指向风格的不明确性。
并非为了比较多个条件之间的指向表现,此试验被设计以量化参与者理解他们的伙伴的参考的总精确度。相应地,他们的估计中的误差(以米为单位)被度量为从他们指出的球到实际目标球的距离。
来自第一试验的相同参与者组参与了此试验。每个参与者都与在第一试验中站在相同位置。他们的合作者站在房间的另一侧(大致2.5m以外)。在试验开始时,系统无声地提示合作者指向网格中的特定编号的球。然后,参与者口头指出他们认为他们的合作者指向哪一个球。试验是不限时间的,但是指示参与者一旦他们确信他们的评定,就作出响应。其中一个研究协调员输入他们的响应以完成试验。合作者在每次试验中间,返回到中性姿态(非指向状态)。在进行试验之前,每个参与者都被给予一组15练习试验,在练习过程中,他们被给予有关他们的表现的反馈。目标球的呈现顺序是随机化的,每一参与者都给出每个球状况的两个评定,总共32个评定。
参与者在全部的352次试验的54.5%中标识了正确的目标。这比偶然几率好得多(16个中的1个),当考虑选定的目标和真实目标之间的距离时,是令人印象深刻的。所有试验的平均空间性误差是0.056m(标准偏差=0.063m)。这么低的值表明,当参与者选定了不正确的目标时,他们压倒性地指出了最近邻的目标中的一个(目标本身在0.11m以外)。错误不是均匀分布的。例如,与右上角的目标相比,右下方目标表现出了超过两倍的误差。
指向两个相邻目标球的角度差大致是4.5°。参与者能够分辨12cm半径以内的目标参考是令人印象深刻的,这提供了原型系统能够在两个没有阻碍的用户之间以实现相互空间理解的方式呈现虚拟信息的证据。
上文所描述的内容包括一个或多个实施例的示例。当然,出于描述如前所述的各方面的目的而描述上述设备或方法的每一个的可以想到的修改和变型是不可能的,但是本领域内的普通技术人员可以认识到,各方面的许多进一步的修改和排列都是可能的。因此,所描述的各方面旨在包含在所附权利要求书的精神和范围内的所有这样的更改、修改和变化。此外,就在说明书或者权利要求书中使用的术语“包括”而言,这一术语旨在是包含性的,其与术语“包含”在用作权利要求书中的过渡词时所理解的方式相似。

Claims (20)

1.一种计算系统,包括:
至少一个处理器;以及
存储器,其存储指令,所述指令当由所述至少一个处理器执行时使得所述至少一个处理器执行动作,所述动作包括:
计算房间中的第一用户的第一位置和第二用户的第二位置,所述第一位置和所述第二位置基于由至少一个传感器设备生成的至少一个信号而被计算;
基于所述第一用户的所述第一位置来计算虚拟对象的第一视图,所述虚拟对象的所述第一视图要被呈现给所述第一用户,所述虚拟对象的所述第一视图要被投影到所述第二用户上以用于由所述第一用户查看;
基于所述第二用户的所述第二位置来计算所述虚拟对象的第二视图,所述虚拟对象的所述第二视图不同于所述虚拟对象的所述第一视图,所述虚拟对象的所述第二视图要被投影到所述第一用户上以用于由所述第二用户查看;以及
向至少一个投影仪传输至少一个帧,所述至少一个帧使得所述至少一个投影仪同时将所述虚拟对象的所述第一视图投影到所述房间中的所述第二用户上并且将所述虚拟对象的所述第二视图投影到所述房间中的所述第一用户上,由于所述虚拟对象的所述第一视图和所述虚拟对象的所述第二视图被同时分别投影到所述第二用户和所述第一用户上,所述虚拟对象对于所述第一用户和所述第二用户看起来在所述第一用户与所述第二用户之间的空间中。
2.根据权利要求1所述的计算系统,所述动作还包括基于由所述传感器设备生成的所述至少一个信号来计算所述第一用户的第一注视方向和所述第二用户的第二注视方向,其中所述虚拟对象的所述第一视图基于所述第一注视方向而被计算,并且所述虚拟对象的所述第二视图基于所述第二注视方向而被计算。
3.根据权利要求1所述的计算系统,所述存储器还包括所述房间的计算机实现的三维几何模型,所述虚拟对象的所述第一视图和所述虚拟对象的所述第二视图基于所述房间的所述计算机实现的三维几何模型而被计算。
4.根据权利要求3所述的计算系统,所述动作还包括基于由所述至少一个传感器设备生成的所述至少一个信号来实时更新所述计算机实现的三维几何模型。
5.根据权利要求1所述的计算系统,所述至少一个帧包括第一帧和第二帧,所述至少一个投影仪包括第一投影仪和第二投影仪,所述动作还包括:
向所述第一投影仪传输所述第一帧;以及
向所述第二投影仪传输将所述第二帧,所述第一帧使得所述第一投影仪投影所述虚拟对象的所述第一视图,所述第二帧使得所述第二投影仪投影所述虚拟对象的所述第二视图。
6.根据权利要求5所述的计算系统,所述至少一个帧还包括第三帧,所述至少一个投影仪还包括第三投影仪,所述动作还包括将所述第三帧传输到所述第三投影仪,所述第三帧使得所述第三投影仪投影所述虚拟对象的所述第一视图的一部分以及所述虚拟对象的所述第二视图的一部分。
7.根据权利要求1所述的计算系统,所述动作还包括:
检测由所述第一用户关于所述虚拟对象执行的手势;以及
基于检测到的所述手势,计算所述虚拟对象的所述第一视图和所述虚拟对象的所述第二视图。
8.根据权利要求1所述的计算系统,所述动作还包括:
接收由所述第一用户说出的单词;以及
基于接收到的所述单词,计算所述虚拟对象的所述第一视图和所述虚拟对象的所述第二视图。
9.根据权利要求1所述的计算系统,所述虚拟对象是三维对象。
10.根据权利要求1所述的计算系统,所述至少一个信号包括红绿蓝图像或深度图像中的至少一个。
11.根据权利要求1所述的计算系统,还包括:基于所述房间的计算机实现的几何形状被更新,所述虚拟对象的所述第一视图和所述虚拟对象的所述第二视图被实时计算,并且进一步其中随着所述第一用户和所述第二用户在所述房间中走动,所述房间的所述计算机实现的几何形状被实时更新。
12.一种计算机实现的方法,包括:
基于由至少一个传感器单元生成的至少一个传感器信号,计算房间中的第一用户的第一注视方向;
基于由所述至少一个传感器单元生成的所述至少一个传感器信号,计算所述房间中的第二用户的第二注视方向;
基于所述第一用户的所述第一注视方向和所述房间的计算机实现的几何模型,计算虚拟对象的第一视图以用于由所述第一用户查看;
基于所述第二用户的所述第二注视方向和所述房间的所述计算机实现的几何模型,计算针对所述第二用户的所述虚拟对象的第二视图,其中所述虚拟对象的所述第一视图和所述虚拟对象的所述第二视图是不同的;
基于针对所述第一用户的所述虚拟对象的所述第一视图和针对所述第二用户的所述虚拟对象的所述第二视图,向所述房间中的至少一个投影仪传输至少一个帧,所述至少一个帧使得所述至少一个投影仪将所述虚拟对象的所述第一视图投影到所述房间中的所述第二用户上使得所述虚拟对象的所述第一视图被呈现给所述第一用户,并且将所述虚拟对象的所述第二视图投影到所述房间中的所述第一用户上使得所述虚拟对象的所述第二视图被呈现给所述第二用户,并且进一步其中所述虚拟对象的所述第一视图对所述第一用户和所述虚拟对象的所述第二视图对所述第二用户的同时呈现使得所述虚拟对象对于所述第一用户和所述第二用户看起来在所述第一用户与所述第二用户之间的空间中。
13.根据权利要求12所述的方法,还包括:
基于由所述至少一个传感器单元生成的所述至少一个传感器信号,实时更新所述几何模型。
14.根据权利要求13所述的方法,其中实时更新所述几何模型包括:基于所述房间中的所述第一用户和所述第二用户的检测到的位置,更新所述几何模型。
15.根据权利要求12所述的方法,还包括:
估计以下各项中的至少一项:
基于由所述至少一个传感器单元生成的所述至少一个传感器信号,估计所述房间中的表面的反射率;或
基于由所述至少一个传感器单元生成的所述至少一个传感器信号,估计所述房间中的所述表面的颜色特性;以及
基于所述表面的所述反射率或所述表面的所述颜色特性中的至少一项,生成所述至少一个帧。
16.根据权利要求12所述的方法,还包括:
检测由所述第一用户或所述第二用户中的一个用户关于所述虚拟对象执行的手势;以及
基于所述手势,生成所述至少一个帧。
17.根据权利要求16所述的方法,其中所述虚拟对象的所述第一视图对所述第一用户和所述虚拟对象的所述第二视图对所述第二用户的同时呈现使得所述第一用户和所述第二用户感觉到所述虚拟对象正在所述第一用户与所述第二用户之间的所述空间中移动。
18.根据权利要求12所述的方法,所述至少一个帧包括第一帧和第二帧,并且其中传输所述至少一个帧包括:
向第一投影仪传输使得所述第一投影仪投影针对所述第一用户的所述虚拟对象的所述第一视图的所述第一帧;以及
向第二投影仪传输使得所述第二投影仪投影针对所述第二用户的所述虚拟对象的所述第二视图的所述第二帧。
19.根据权利要求12所述的方法,还包括连续地执行以下动作:计算所述第一注视方向,计算所述第二注视方向,计算所述虚拟对象的所述第一视图,计算所述虚拟对象的所述第二视图,以及向所述房间中的所述至少一个投影仪传输所述至少一个帧,使得所述虚拟对象的所述第一视图或者所述虚拟对象的所述第二视图中的至少一个视图根据所述第一注视方向或者所述第二注视方向中的至少一个的更改而被实时更新。
20.一种计算系统,包括:
处理器;以及
存储器,其存储指令,所述指令在由处理器执行时使所述处理器执行动作,所述动作包括:
检测在房间中的第一用户或第二用户中的至少一个用户的运动,所述第一用户和所述第二用户在所述房间中彼此面对;
基于所述房间中的所述第一用户或所述第二用户中的所述至少一个用户的检测到的所述运动,更新所述房间的计算机实现的几何模型;
响应于更新所述房间的所述计算机实现的几何模型,计算虚拟对象的第一视图以用于呈现给所述第一用户,所述虚拟对象的所述第一视图基于所述房间的所述计算机实现的几何模型而被计算;
响应于更新所述房间的所述计算机实现的几何模型,计算虚拟对象的第二视图以用于呈现给所述第二用户,所述虚拟对象的所述第二视图基于所述房间的所述计算机实现的几何模型而被计算;以及
向至少一个投影仪传输至少一个帧,所述至少一个帧使得所述至少一个投影仪同时将所述房间中的所述虚拟对象的所述第一视图的一部分投影在所述第二用户上,并且将所述房间中的所述虚拟对象的所述第二视图的至少一部分投影在所述第一用户上,其中所述虚拟对象对于所述第一用户和所述第二用户看起来正在所述第一用户与所述第二用户之间的空间中移动。
CN201580054827.3A 2014-10-07 2015-10-06 驱动投影仪以生成共享空间增强现实体验 Active CN106796453B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462060901P 2014-10-07 2014-10-07
US62/060,901 2014-10-07
US14/682,546 US10297082B2 (en) 2014-10-07 2015-04-09 Driving a projector to generate a shared spatial augmented reality experience
US14/682,546 2015-04-09
PCT/US2015/054100 WO2016057433A1 (en) 2014-10-07 2015-10-06 Driving a projector to generate a shared spatial augmented reality experience

Publications (2)

Publication Number Publication Date
CN106796453A CN106796453A (zh) 2017-05-31
CN106796453B true CN106796453B (zh) 2020-06-05

Family

ID=55633153

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580054827.3A Active CN106796453B (zh) 2014-10-07 2015-10-06 驱动投影仪以生成共享空间增强现实体验

Country Status (6)

Country Link
US (1) US10297082B2 (zh)
EP (1) EP3204838A1 (zh)
JP (1) JP2017538990A (zh)
KR (1) KR102527529B1 (zh)
CN (1) CN106796453B (zh)
WO (1) WO2016057433A1 (zh)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10055892B2 (en) 2014-11-16 2018-08-21 Eonite Perception Inc. Active region determination for head mounted displays
JP6362631B2 (ja) * 2016-01-15 2018-07-25 株式会社meleap 画像表示システム、画像表示システムの制御方法、画像配信システムおよびヘッドマウントディスプレイ
JP6249248B2 (ja) * 2016-03-10 2017-12-20 パナソニックIpマネジメント株式会社 投影装置
JP6780315B2 (ja) * 2016-06-22 2020-11-04 カシオ計算機株式会社 投影装置、投影システム、投影方法及びプログラム
US20180007328A1 (en) * 2016-07-01 2018-01-04 Intel Corporation Viewpoint adaptive image projection system
JP6757004B2 (ja) * 2016-08-02 2020-09-16 大学共同利用機関法人情報・システム研究機構 画像処理装置及び方法、画像処理プログラム、並びに投影装置
US11017712B2 (en) 2016-08-12 2021-05-25 Intel Corporation Optimized display image rendering
US10262464B2 (en) * 2016-12-30 2019-04-16 Intel Corporation Dynamic, local augmented reality landmarks
US10499997B2 (en) 2017-01-03 2019-12-10 Mako Surgical Corp. Systems and methods for surgical navigation
CN106933022A (zh) * 2017-04-01 2017-07-07 深圳优立全息科技有限公司 一种虚拟现实互动体验装置
CN110996097B (zh) 2017-05-08 2021-10-01 华为技术有限公司 Vr多媒体的体验质量确定方法及装置
CN107193372B (zh) * 2017-05-15 2020-06-19 杭州一隅千象科技有限公司 从多个任意位置矩形平面到可变投影中心的投影方法
CN110036359B (zh) * 2017-06-23 2022-08-26 杰创科虚拟现实有限公司 第一人称角色扮演互动式增强现实
JP6509955B2 (ja) * 2017-06-28 2019-05-08 株式会社コロプラ 情報処理方法、プログラム及び情報処理装置
US20190057180A1 (en) * 2017-08-18 2019-02-21 International Business Machines Corporation System and method for design optimization using augmented reality
JP6989366B2 (ja) * 2017-12-05 2022-01-05 司 志賀 冠婚葬祭用映像表示装置及び冠婚葬祭用建物
CN108255292A (zh) * 2017-12-06 2018-07-06 上海永微信息科技有限公司 空气成像互动系统、方法、控制设备及存储介质
FR3075426B1 (fr) * 2017-12-14 2021-10-08 SOCIéTé BIC Procede et systeme de projection d'un motif en realite mixte
KR101910516B1 (ko) * 2018-04-18 2018-10-22 (주)브로틴 Non hmd 기반의 3차원 vr 컨텐츠 제공 시스템
KR102049235B1 (ko) * 2018-05-18 2019-11-28 (주)씨소 공간 공유 서비스 장치
US10786033B2 (en) * 2018-10-29 2020-09-29 Robotarmy Corp. Racing helmet with visual and audible information exchange
CN109545003B (zh) * 2018-12-24 2022-05-03 北京卡路里信息技术有限公司 一种显示方法、装置、终端设备及存储介质
US10921878B2 (en) * 2018-12-27 2021-02-16 Facebook, Inc. Virtual spaces, mixed reality spaces, and combined mixed reality spaces for improved interaction and collaboration
KR102653252B1 (ko) * 2019-02-21 2024-04-01 삼성전자 주식회사 외부 객체의 정보에 기반하여 시각화된 인공 지능 서비스를 제공하는 전자 장치 및 전자 장치의 동작 방법
EP3987489A4 (en) * 2019-06-24 2023-06-28 Touchmagix Media Pvt. Ltd. Interactive reality activity augmentation
US11533468B2 (en) 2019-06-27 2022-12-20 Samsung Electronics Co., Ltd. System and method for generating a mixed reality experience
JP7164047B2 (ja) * 2019-07-10 2022-11-01 日本電気株式会社 注視点検出装置及び注視点検出方法
CN110568931A (zh) * 2019-09-11 2019-12-13 百度在线网络技术(北京)有限公司 交互方法、设备、系统、电子设备及存储介质
JP7400531B2 (ja) * 2020-02-26 2023-12-19 株式会社リコー 情報処理システム、情報処理装置、プログラム、情報処理方法及び部屋
JP7424121B2 (ja) * 2020-03-10 2024-01-30 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
CN113313836B (zh) * 2021-04-26 2022-11-25 广景视睿科技(深圳)有限公司 一种控制虚拟宠物的方法及智能投影设备
CN113689756A (zh) * 2021-08-23 2021-11-23 天津津航计算技术研究所 基于增强现实的座舱重构系统及实现方法
WO2023023778A1 (en) * 2021-08-25 2023-03-02 Lifesize Plans Ip Pty Ltd A room or area visualisation system
US11586284B1 (en) * 2022-01-14 2023-02-21 Sony Interactive Entertainment Inc. Using gaze tracking to effect player choices in multi player interactive narratives

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103106665A (zh) * 2011-11-11 2013-05-15 周建龙 一种空间增强现实系统中自动跟踪移动物体的方法
CN103140879A (zh) * 2010-09-30 2013-06-05 富士胶片株式会社 信息呈现装置、数字照相机、头戴式显示器、投影仪、信息呈现方法和信息呈现程序
WO2014032089A1 (en) * 2012-08-28 2014-03-06 University Of South Australia Spatial augmented reality (sar) application development system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2001275308A1 (en) 2000-06-06 2001-12-17 Frauenhofer Institut Fuer Graphische Datenverarbeitung The extended virtual table: an optical extension for table-like projection systems
US7574070B2 (en) * 2003-09-30 2009-08-11 Canon Kabushiki Kaisha Correction of subject area detection information, and image combining apparatus and method using the correction
US8730309B2 (en) 2010-02-23 2014-05-20 Microsoft Corporation Projectors and depth cameras for deviceless augmented reality and interaction
US20120120103A1 (en) * 2010-02-28 2012-05-17 Osterhout Group, Inc. Alignment control in an augmented reality headpiece
US20110316845A1 (en) 2010-06-25 2011-12-29 Palo Alto Research Center Incorporated Spatial association between virtual and augmented reality
CN102959616B (zh) 2010-07-20 2015-06-10 苹果公司 自然交互的交互真实性增强
US20120113223A1 (en) 2010-11-05 2012-05-10 Microsoft Corporation User Interaction in Augmented Reality
US20120188148A1 (en) * 2011-01-24 2012-07-26 Microvision, Inc. Head Mounted Meta-Display System
US9255813B2 (en) * 2011-10-14 2016-02-09 Microsoft Technology Licensing, Llc User controlled real object disappearance in a mixed reality display
KR20130053466A (ko) 2011-11-14 2013-05-24 한국전자통신연구원 인터랙티브 증강공간 제공을 위한 콘텐츠 재생 장치 및 방법
CN104641399B (zh) * 2012-02-23 2018-11-23 查尔斯·D·休斯顿 用于创建环境并用于共享环境中基于位置的体验的系统和方法
US20130326364A1 (en) * 2012-05-31 2013-12-05 Stephen G. Latta Position relative hologram interactions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103140879A (zh) * 2010-09-30 2013-06-05 富士胶片株式会社 信息呈现装置、数字照相机、头戴式显示器、投影仪、信息呈现方法和信息呈现程序
CN103106665A (zh) * 2011-11-11 2013-05-15 周建龙 一种空间增强现实系统中自动跟踪移动物体的方法
WO2014032089A1 (en) * 2012-08-28 2014-03-06 University Of South Australia Spatial augmented reality (sar) application development system

Also Published As

Publication number Publication date
WO2016057433A1 (en) 2016-04-14
US10297082B2 (en) 2019-05-21
JP2017538990A (ja) 2017-12-28
KR102527529B1 (ko) 2023-04-28
US20160098862A1 (en) 2016-04-07
EP3204838A1 (en) 2017-08-16
KR20170062533A (ko) 2017-06-07
CN106796453A (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN106796453B (zh) 驱动投影仪以生成共享空间增强现实体验
Benko et al. Dyadic projected spatial augmented reality
CA2825563C (en) Virtual reality display system
CN106462233B (zh) 用于显示设备观看者视线吸引的方法和设备
JP2020102239A (ja) ヘッドマウントディスプレイ追跡
US10972680B2 (en) Theme-based augmentation of photorepresentative view
CN104471511B (zh) 识别指点手势的装置、用户接口和方法
US20130141419A1 (en) Augmented reality with realistic occlusion
EP3106963B1 (en) Mediated reality
CN106537261A (zh) 全息键盘显示
JP2022535325A (ja) 人工現実システムのための腕注視駆動のユーザインターフェース要素ゲーティング
WO2009136207A1 (en) Display of 3-dimensional objects
US20180286259A1 (en) Three dimensional multiple object tracking system with environmental cues
JP2022535182A (ja) ユーザインターフェース要素をゲーティングするパーソナルアシスタント要素を備えた人工現実システム
JP2024054137A (ja) 画像表示システム
CN115335894A (zh) 用于虚拟和增强现实的系统和方法
Khattak et al. A real-time reconstructed 3D environment augmented with virtual objects rendered with correct occlusion
US20220147138A1 (en) Image generation apparatus and information presentation method
US20210081051A1 (en) Methods, apparatus, systems, computer programs for enabling mediated reality
JP2023517954A (ja) マルチユーザ仮想および拡張現実のためのシステムおよび方法
JP6695997B2 (ja) 情報処理装置
Li Development of immersive and interactive virtual reality environment for two-player table tennis
Pal et al. The benefits of rotational head tracking
JP6613099B2 (ja) 仮想現実空間を立体的に表示するためのプログラム、コンピュータ及びヘッドマウントディスプレイシステム
Fetzer et al. 3D interaction design: Increasing the stimulus-response correspondence by using stereoscopic vision

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant