CN114341777A - 用于共享交互环境的系统和方法 - Google Patents

用于共享交互环境的系统和方法 Download PDF

Info

Publication number
CN114341777A
CN114341777A CN202080061026.0A CN202080061026A CN114341777A CN 114341777 A CN114341777 A CN 114341777A CN 202080061026 A CN202080061026 A CN 202080061026A CN 114341777 A CN114341777 A CN 114341777A
Authority
CN
China
Prior art keywords
user
input
environment
input device
server
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.)
Pending
Application number
CN202080061026.0A
Other languages
English (en)
Inventor
闫程远
霍科
A·哈卡里·阿鲁纳恰拉
林承源
A·莫汉
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.)
Meta Platforms Technologies LLC
Original Assignee
Facebook Technologies 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 Facebook Technologies LLC filed Critical Facebook Technologies LLC
Publication of CN114341777A publication Critical patent/CN114341777A/zh
Pending legal-status Critical Current

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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B27/00Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
    • G02B27/01Head-up displays
    • G02B27/017Head mounted
    • 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8082Virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Optics & Photonics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

用于维护共享交互环境的系统和方法包括:由服务器接收将第一用户的第一输入设备和第二用户的第二输入设备注册到共享交互环境的请求。第一输入设备可以用于第一模态,第一模态涉及增强现实(AR)环境的用户输入,并且第二输入设备可以用于第二模态,第二模态涉及基于个人计算机(PC)的虚拟环境或虚拟现实(VR)环境的用户输入。服务器可以将第一输入设备和第二输入设备注册到共享交互环境。服务器可以从用于第一模态的第一适配器和从用于第二模态的第二适配器接收输入。输入可以供第一用户和第二用户使用共享交互环境。

Description

用于共享交互环境的系统和方法
技术领域
本发明一般涉及交互环境,包括但不限于针对多个设备维护共享交互环境。
背景技术
诸如虚拟现实(VR)、增强现实(AR)或混合现实(MR)的人工现实向用户提供了沉浸式体验。在一个示例中,穿戴头戴式显示器(HMD)的用户可以旋转他的头部,并且可以在HMD上显示与HMD的位置和用户的注视方向相对应的虚拟对象的图像,以允许用户感觉好像用户正在人工现实的空间(例如,VR空间、AR空间或MR空间)内移动。
例如,可以经由用户的相应用户设备,使作为游戏一部分的人工现实内容对用户可用。然而,一些人工现实内容可能与不同的设备不兼容。这种内容可能无法跨多个不同设备可用。
发明内容
在一个方面,本发明涉及一种针对多个设备维护共享交互环境的方法。方法可以包括:由服务器接收向共享交互环境注册第一用户的第一输入设备的第一请求和注册第二用户的第二输入设备的第二请求。第一输入设备可以用于第一模态,第一模态涉及用于增强现实(AR)环境的用户输入,并且第二输入设备用于第二模态,第二模态涉及用于基于个人计算机(PC)的虚拟环境或虚拟现实(VR)环境的用户输入。方法可以包括:由服务器将第一输入设备和第二输入设备注册到共享交互环境。方法可以包括:由服务器从用于第一模态的第一适配器接收第一输入以供第一用户使用共享交互环境,并且从用于第二模态的第二适配器接收第二输入以供第二用户使用共享交互环境。
第二输入设备可以包括用于基于PC的虚拟环境的移动设备、平板设备、游戏系统、膝上型计算机或台式计算机中的至少一者。第一输入设备可以被配置为通过以下方式来将共享交互环境映射到第一用户的物理环境:扫描物理环境中的标记,并且将共享交互环境的标记与物理环境中的标记对准。第一输入可以是由第一适配器使用由第一输入设备从第一用户接收的输入而生成的第一标准化输入,并且第二输入是由第二适配器使用由第二输入设备从第二用户接收的输入而生成的第二标准化输入。方法还可以包括:由服务器从第一适配器接收第一标准化输入。方法还可以包括:由服务器根据第一标准化输入来更新共享交互环境。方法还可以包括:由服务器传送与经更新的共享交互环境相对应的数据,以用于呈现给第一用户和第二用户。
方法还可以包括:由服务器接收将第三用户的第三输入设备注册到共享交互环境的第三请求。第三输入设备可以用于第三模态,第三模态涉及用于VR环境的用户输入,并且第二模态涉及用于基于PC的虚拟环境的用户输入。方法可以包括:由服务器将第三输入设备注册到共享交互环境。第二模态可以涉及用于VR环境的用户输入。方法还可以包括:由服务器从第一适配器接收第一用户的空间配准数据,以及从第二适配器接收第二用户的空间配准数据。方法还可以包括:由服务器使用第一用户的空间配准数据和第二用户的空间配准数据,来更新共享交互环境的表示。方法还可以包括:由服务器传送共享交互环境的经更新的表示以呈现给第一用户和第二用户。
方法还可以包括:由服务器从用于第一模态的第一适配器接收用于第一用户的第三输入。方法还可以包括:由服务器使用第三输入来更新共享交互环境的经更新的表示。第一用户和第二用户在物理上可以共同定位,并且第一用户的表示和第二用户的表示被对应地呈现和共同定位在共享交互环境内。第一适配器可以是服务器和第一输入设备的中介,并且第二适配器是服务器和第二输入设备的中介。
在另一方面,本发明涉及一种针对多个设备维护共享交互环境的系统。系统包括与第一适配器和第二适配器通信的服务器。服务器可以被配置为:接收向共享交互环境注册第一用户的第一输入设备的第一请求和注册第二用户的第二输入设备的第二请求。第一输入设备可以用于第一模态,第一模态涉及用于增强现实(AR)环境的用户输入,并且第二输入设备可以用于第二模态,第二模态涉及用于基于个人计算机(PC)的虚拟环境或虚拟现实(VR)环境的用户输入。服务器可以被配置为:将第一输入设备和第二输入设备注册到共享交互环境。服务器可以被配置为:从用于第一模态的第一适配器接收第一输入以供第一用户使用共享环境,并且从用于第二模态的第二适配器接收第二输入以供第二用户使用共享环境。
第二输入设备可以包括用于基于PC的虚拟环境的移动设备、平板设备、游戏系统、膝上型计算机或台式计算机中的至少一者。第一输入设备可以被配置为通过以下方式来将共享交互环境映射到第一用户的物理环境:扫描物理环境中的标记,并且将共享交互环境的标记与物理环境中的标记对准。第一输入可以是由第一适配器使用由第一输入设备从第一用户接收的输入而生成的第一标准化输入,并且第二输入是由第二适配器使用由第二输入设备从第二用户接收的输入而生成的第二标准化输入。
服务器可以被配置为:从第一适配器接收第一标准化输入。服务器可以被配置为:基于第一标准化输入来更新共享交互环境。服务器可以被配置为:传送与经更新的共享交互环境相对应的数据,以用于呈现给第一用户和第二用户。服务器可以被配置为:接收将第三用户的第三输入设备注册到共享交互环境的第三请求。第三输入设备可以用于第三模态,第三模态涉及用于VR环境的用户输入,并且第二模态涉及用于基于PC的虚拟环境的用户输入。服务器可以被配置为:将第三输入设备注册到共享交互环境。
在一些实施例中,第二模态涉及用于VR环境的用户输入。服务器可以被配置为:从第一适配器接收第一用户的空间配准数据,以及从第二适配器接收第二用户的空间配准数据。服务器可以被配置为:使用第一用户的空间配准数据和第二用户的空间配准数据,来更新共享交互环境的表示。服务器可以被配置为:传送共享交互环境的经更新的表示,以用于呈现给第一用户和第二用户。服务器可以被配置为:从被配置为用于第一模态的第一适配器接收用于第一用户的第三输入。服务器可以被配置为:使用第三输入来更新共享交互环境的经更新的表示。第一用户和第二用户在物理上可以共同定位,并且第一用户的表示和第二用户的表示被对应地呈现和共同定位在共享交互环境内。第一适配器可以是服务器和第一输入设备的中介,第二适配器是服务器和第二输入设备的中介。
应当理解,被讨论为适于包括在本文描述的任何方面中的任何特征,也将适于以任何组合包括在任何其他方面中。
附图说明
附图不旨在按比例绘制。不同附图中相同的附图标记和名称指示相同的元件。为了清楚起见,并非每个组件都可以在每个图中被标记。
图1是根据本发明的一个示例实施方式的用于维护共享交互环境的系统的图。
图2是根据本发明的一个示例实施方式的用于图1的系统的适配器的图。
图3是根据本发明的一个示例实施方式的图示维护共享交互环境的过程的流程图。
图4是根据本发明的一个示例实施方式的计算环境的框图。
具体实施方式
在转向详细图示某些实施例的附图之前,应当理解,本发明在所附权利要求中被限定并且不限于描述中阐述或附图中图示的细节或方法。还应当理解,本文使用的术语仅用于描述的目的,并且不应当被视为限制。
本文公开了用于维护共享交互环境的系统和方法。在一个方面,服务器接收将用户的输入设备注册到共享交互环境的请求。一些输入设备可以用于涉及用于增强现实(AR)环境的用户输入的模态、涉及用于基于个人计算机(PC)的虚拟环境的用户输入的模态、涉及用于虚拟现实(VR)环境的用户输入的模态,等等。服务器可以将输入设备注册到共享交互环境。服务器可以从用于相应模态的适配器接收输入,以使用共享交互环境。通过从对应于模态的适配器接收输入,共享交互环境可以与多个不同模态兼容。如此,共享交互环境可以具有来自广泛用户的更广泛的跨平台参与。此外,通过支持共享交互环境,用于涉及基于PC的虚拟环境的模态的用户设备的用户,可以与用于涉及AR环境或VR环境的模态的用户设备的用户进行交互。
图1是根据一个说明性实施例的用于维护共享交互环境的系统100的框图。系统100被示为包括服务器102、多个输入设备104和/或布置在服务器102和输入设备104中间的多个适配器106。输入设备104可以被配置为用于相应模态,相应模态涉及用于对应环境的用户输入(例如,第一输入设备104a被配置为用于涉及增强现实(AR)环境108的用户输入的模态,第二输入设备104b被配置为用于涉及虚拟现实(VR)环境110的用户输入的模态,第三输入设备104c被配置为用于涉及基于个人计算机(PC)的虚拟环境112的用户输入的模态,等)。如下面更详细描述的,服务器102可以被配置为:接收将第一用户的第一输入设备104和第二用户的第二输入设备104注册到共享交互环境114的请求。服务器102可以被配置为:将第一输入设备和第二输入设备104注册到共享交互环境。服务器102可以从适配器104接收输入以使用户使用共享交互环境。
系统100的各种组件和元件可以被实现在图4中所示并且后续描述的计算环境的组件或元件上,或可以使用该计算环境的组件或元件。此外,系统100的各种组件可以被修改或实施在不同的组件上。例如,适配器106可以包括实施在对应输入设备104上或实施在服务器108上的插件、扩展或软件和/或硬件的其他形式或组合。因此,本发明不限于图1中所示的特定布置。
系统100被示为包括多个输入设备104。系统100可以包括第一输入设备104a、第二输入设备104b和第三输入设备104c。系统100可以包括另外的输入设备104、更少的输入设备104等。输入设备104可以包括移动设备、平板设备、游戏系统、膝上型或台式计算机、可穿戴设备等。每个输入设备104可以被配置为用于特定模态。如本文所使用的,模态可以是指用户体验、交互、导航和/或控制环境(例如,对应输入设备104的环境)的模式或方式。输入设备104可以被配置为用于相应的模态。例如,第一输入设备104a可以被配置为用于对应于AR环境108的模态,第二输入设备104b可以被配置为用于对应于VR环境110的模态,第三输入设备104c可以被配置为用于对应于基于PC的虚拟环境的模态,等等。第一输入设备104a的用户可以提供输入(例如,经由第一输入设备104a)以在AR环境108中进行交互(例如,体验、导航、操纵、使用和/或控制),第二输入设备104b的用户可以提供输入(例如,经由第二输入设备104b)以在VR环境110中进行交互,并且第三输入设备104c的用户可以提供输入(例如,经由第三输入设备104c)以在基于PC的虚拟环境112中进行交互。这种输入对于输入设备104和对应环境来说均可以是唯一的,如下面更详细描述的。
第一输入设备104a可以被配置有用于与AR环境108交互的模态。在一些实施例中,第一输入设备104a可以在一些方面类似于在图4中所示并且后续描述的设备。用户可以提供输入,以用于与AR环境中的虚拟角色(例如,化身)交互或控制该虚拟角色。第一输入设备104a可以是可穿戴设备(例如,包括头戴式显示器)。第一输入设备104a可以包括可通信地耦合到输入设备104a的输入设备。用户可以一起操作输入设备和第一输入设备104a,以提供用于控制虚拟角色在AR环境108内的行动的输入。用户可以通过各种人机接口组件和能力(例如,在第一输入设备104a和/或另一输入设备104b、104c上的接口组件和能力),来控制虚拟角色的行动。在一些实施方式中,输入设备可以是操纵杆(物理或虚拟)、控制器、键盘、鼠标、触摸板或包括多个按钮的其他设备。用户可以向输入设备提供输入以控制虚拟角色的行动。
在一些实施例中,第一输入设备104a可以支持用于控制虚拟角色的行动的备选形式的输入。例如,第一输入设备104a可以支持二维(2D)手势(例如,在诸如触摸屏的2D表面上的滑动、轻击、绘图等)。作为另一示例,第一输入设备104a可以支持三维(3D)手势。第一输入设备104a可以包括各种传感器(例如,惯性测量单元(IMU)、全球定位系统(GPS)等),各种传感器被设计或实现成跟踪第一输入设备104a的运动、移动、轨迹、路径等。用户可以通过执行各种3D手势(例如,以特定方式移动第一输入设备104a)来向第一输入设备104a提供输入。
用户可以提供输入以控制虚拟玩家在虚拟环境(例如,共享交互环境)中的移动。在一些实施方式中,用户可以提供输入(例如,经由操纵杆、控制器、键盘、鼠标等)以控制虚拟玩家的运动。如此,第一输入设备104a可以支持非自我跟踪(例如,其中虚拟角色的移动独立于用户在物理环境116中的物理移动)。第一输入设备104a可以支持自我跟踪。第一输入设备104a可以包括跟踪第一输入设备104a(以及对应地,第一用户)的运动和移动性的各种传感器(例如,在容纳显示器的头部单元内、在输入设备内等)。第一输入设备104a可以可通信地耦合到被布置在第一输入设备104a的物理环境116中的一个或多个外部传感器。外部传感器可以被配置为跟踪第一输入设备104a的用户在物理环境116中的运动。结合起来,第一输入设备104a可以被配置为跟踪用户在物理环境116中的物理运动。第一输入设备104a可以使用跟踪的用户物理运动,作为在AR环境108中进行交互的输入。在一些实施方式中,自我跟踪可以是本地化的(例如,跟踪用户在小范围内的运动,以更新虚拟角色在小范围内的位置)。在一些实施方式中,自我跟踪可以是长距离的(例如,将虚拟角色的位置传送到不同位置,在该不同位置处,用户可以控制虚拟角色的位置)。
第二输入设备104b和第三输入设备104c可以类似地被配置为接收用户输入,以控制在它们相应环境中的虚拟角色。通过实现不同的模态,第二输入设备104b和第三输入设备104c可以支持不同类型的输入。第二输入设备104b(例如,其支持VR环境110)可以支持传统输入和3D手势,以控制虚拟角色行动,可以支持自我跟踪,以控制虚拟角色移动等。在一些实施例中,第二输入设备104b可以具有多个自由度,在多个自由度中,第二输入设备104b接收输入。例如,第二输入设备104b可以是或包括PC VR设备(例如,基于PC的VR系统)、移动三自由度(DoF)VR设备、移动六自由度VR设备等。这些设备中的每个设备可以具有不同的能力来接收输入,以控制虚拟角色行动和/或移动性。作为一个示例,移动三DoF VR设备可以具有有限的接收3D手势的能力,而移动六DoF VR设备和PC VR设备可以具有接收3D手势的全部能力。第三输入设备104c(例如,其支持基于PC的虚拟环境112)可以仅支持传统(或可选地,2D手势)输入,以控制虚拟角色行动和运动。换句话说,用于对应环境的每个模态可以支持用于在环境中交互的不同输入。此外,输入可以具有不同程度的沉浸感。如下面更详细描述的,服务器102可以被配置为托管、维护或以其他方式提供共享虚拟环境或混合现实环境(有时被称为共享交互环境),其中输入设备104中的每个输入设备能够交互,尽管有不同的沉浸程度和不同的输入来控制虚拟角色。
服务器102可以被配置为:从输入设备104接收用于将输入设备104注册到共享交互环境114的请求。共享交互环境114可以包括虚拟和/或混合现实环境,其中支持不同类型的环境和模态(例如,与VR、AR、PC相关联)的设备被配置为进行交互。每个请求可以包括与相应输入设备104和对应用户相对应的各种信息。例如,请求可以包括对应于用户的标识信息(例如,用户ID或用户名和密码、用户标签或昵称)。请求还可以包括对应于输入设备104的信息(例如,设备标识符,诸如因特网协议(IP)地址、设备类型的标识、输入设备104支持的模态的标识等)。服务器102可以被配置为从输入设备104接收请求。在一些实施方式中,服务器102可以被配置为:通过或经由对应适配器106从输入设备104接收请求。服务器102可以被配置为:基于服务器102从哪个适配器106接收到请求,来标识输入设备104支持的模态。
服务器102可以被配置为:分析、解析或以其他方式评估用于注册对应输入设备104的请求。服务器102可以解析请求以标识对应于请求的用户。服务器102可以基于对应于用户的标识信息,标识用于在共享交互环境114中表示用户的虚拟角色。用户可以建立(例如,在他们相应的输入设备104上或在不同的设备上)他们的虚拟角色,该虚拟角色可以被服务器102保存和访问。服务器102可以基于用户的身份,检索对应于用户的虚拟角色。服务器102可以将输入设备104和虚拟角色注册到共享虚拟环境114。每个输入设备104可以被配置为:提供、传送或以其他方式发起用于注册到共享交互环境114的请求。服务器102可以被配置为:处理来自每个相应输入设备104的请求以将这种设备注册到共享交互环境114。
在一些实施例中,两个以上输入设备104可以被定位在共同的地理位置中(例如,两个设备在物理上可以共同定位)。如图1中所示,第一输入设备104a和第二输入设备104b在物理上可以共同定位在相同的物理环境116中。然而,第三输入设备104c可以被定位在与第一输入设备104a和第二输入设备104b不同的位置。如下面更详细描述的,第一输入设备104a和第二输入设备104b可以被配置为:将共享交互环境114映射到物理环境116。换句话说,第一输入设备104a和第二输入设备104b在物理上可以定位在基本相同的环境中,并且共享交互环境114可以被映射到相同的环境。用于第一输入设备104a的用户和第二输入设备104b的用户的虚拟角色可以被呈现和共同定位在共享交互环境114内(例如,因为输入设备104a、104b对应地共同定位)。
在输入设备104向共享交互环境114注册之后,输入设备104可以被配置为提供输入,以用于控制共享交互环境114内的虚拟角色。如下面更详细描述的,每个输入设备104可以向它们对应的适配器106提供输入。适配器106可以被配置为:将来自相应输入设备104的输入转换、映射、翻译、修改或以其他方式标准化为标准化输入(例如,根据跨源或输入设备之间可比较的共同或共享的格式、指标、表示等),标准化输入又从适配器106被传送到服务器102。服务器102可以被配置为基于输入(例如,来自适配器106)更新共享虚拟环境114,并且将与经更新的共享虚拟环境114相对应的数据传送到输入设备104。
现在参考图2,根据一个说明性实施例的示例适配器106被示出。如图1和图2中所示,每个适配器106可以特定于特定模态。在一些实施方式中,每个输入设备104可以具有专用适配器106,专用适配器106支持用于对应输入设备104的模态。在一些实施方式中,实现共同模态的输入设备104可以共享共同适配器106。换句话说,适配器106可以支持实现共同模态的多个输入设备104。适配器106可以包括移动性映射引擎200、输入映射引擎202和空间配准引擎204。在一些情况下,这些引擎200-204中的一些引擎可以被组合。此外,一些引擎200-204可以在特定适配器106中被放弃或不存在。例如,不支持自我跟踪的第三输入设备104c可以不包括空间配准引擎204(因为第三输入设备104a不跟踪用户的移动/移动性,用户的移动/移动性用于更新虚拟角色在共享交互环境114中的移动/行动)。引擎200-204中的每个引擎通常可以被配置为:将从对应输入设备104接收的输入转换、变换或以其他方式翻译成用于服务器102的标准化输入。
适配器106被示为包括移动性映射引擎200。移动性映射引擎200可以包括任何设备、组件、元件、过程、库、脚本或硬件和软件的组合,移动性映射引擎200被设计或实现为基于来自用户的输入来控制虚拟角色的移动。移动性映射引擎200可以被设计或实现为翻译输入,以控制虚拟角色的运动(例如,在共享交互环境114中)。各种移动输入可以包括例如向前走、向后走、左右移动、左右旋转等。移动性映射引擎200可以被配置为从输入设备104接收输入。如图2中所示的输入可以是特定于设备的。移动性映射引擎200可以被设计或实现为解析从输入设备104接收的输入,以将设备特定输入翻译成标准化输入。
在一些实施方式中,移动性映射引擎202可以包括、维护或以其他方式访问数据库或其他数据结构。数据结构可以是或包括表格、映射或分类帐,数据结构包括多个设备特定输入和对应的标准化输入。每个移动性映射引擎200可以访问与用于输入设备104的模态相关联的表格、映射或分类帐。例如,用于第一输入设备104a的适配器106a的移动性映射引擎200,可以访问用于对应于AR环境108的模态的表格或分类帐,用于第二输入设备104b的适配器106b的移动性映射引擎200,可以访问用于对应于VR环境110的模态的表格或分类帐,并且用于第三输入设备104c的适配器106c的移动性映射引擎200,可以访问用于对应于基于PC的虚拟环境112的模态的表格或分类帐。
每个表格、映射或分类帐可以包括用于控制虚拟角色的移动性的设备特定输入,并且可以包括用于控制虚拟角色的移动性的对应标准化输入。例如,表格、映射或分类帐可以包括对应于传统运动控制的设备特定输入(例如,非自我跟踪输入,诸如通常经由键盘、鼠标、物理或虚拟操纵杆等提供的那些输入)。表格、映射或分类帐可以对应地包括标准化输入,该标准化输入与用于传统运动控制的设备特定输入相对应。类似地,表格、映射或分类帐可以包括对应于自我跟踪运动控制(例如,本地化或长距离自我跟踪)的设备特定输入。表格或分类帐可以包括标准化输入,该标准化输入与用于自我跟踪运动控制的设备特定输入相对应。
用于特定适配器106的移动性映射引擎200可以访问特定于模态的表格、映射或分类帐。例如,第一适配器106a的移动性映射引擎200可以访问特定于AR环境的模态的表格或分类帐。对应于第一适配器106a的表格、映射或分类帐可以包括对应于传统运动控制和自我跟踪运动控制的设备特定输入。用于第三适配器106c的移动性映射引擎200可以访问特定于基于PC的虚拟环境的模态的表格、映射或分类帐。对应于第三适配器106c的表格、映射或分类帐可以包括对应于传统运动控制的设备特定输入。换句话说,对应于特定适配器106的表格、映射或分类帐可以不同(例如,取决于对应设备的能力)。
移动性映射引擎200可以被配置为:访问特定于模态的表格、映射或分类帐,以将设备特定输入翻译成标准化输入。例如,每个特定于模态的表格可以包括设备特定输入和与设备特定输入相对应的标准化输入。移动性映射引擎200可以被配置为:使用特定于模态的表格中的设备特定输入来执行查找功能,以标识对应于设备特定输入的标准化输入。移动性映射引擎200可以被配置为:对从相应输入设备104接收的设备特定输入中的每个设备特定输入执行查找。移动性映射引擎200可以被配置为:生成标准化输入作为输出,该标准化输入对应于所接收的设备特定输入。如此,移动性映射引擎200可以通过将来自设备的设备特定输入转换成用于服务器102的标准化输入,来充当用于输入设备104的“翻译器”。移动性映射引擎200可以被配置为:向服务器102提供标准化输入,以更新共享虚拟环境114(例如,控制虚拟角色在共享虚拟环境114中的移动)。
适配器106被示为包括输入映射引擎202。输入映射引擎202可以包括任何设备、组件、元件、过程、库、脚本或硬件和软件的组合,输入映射引擎202被设计或实现为基于来自用户的输入来控制虚拟角色的行动。输入映射引擎202可以被设计或实现为翻译输入以控制虚拟角色的行动(例如,在共享交互环境114中的行动)。虚拟角色可以执行的一些行动包括射击、反射、阻挡、闪避、躺下、冲刺、跳跃等。这种行动可以独立于移动输入(或与移动输入一起工作)。输入映射引擎202可以被配置为接收来自输入设备104的输入。类似于用于控制虚拟角色运动的设备特定输入,如图2中所示的用于控制虚拟角色行动的输入可以是特定于设备的。输入映射引擎202可以被设计或实现为解析从输入设备104接收的输入,以将设备特定输入翻译成标准化输入。
在一些实施方式中,输入映射引擎202可以包括、维护或以其他方式访问数据库或其他数据结构。数据结构可以是或包括表格、映射或分类帐,数据结构包括多个设备特定输入和对应的标准化输入。每个输入映射引擎202可以访问与用于输入设备104的模态相关联的表格、映射或分类帐。例如,用于第一输入设备104a的适配器106a的输入映射引擎202,可以访问用于对应于AR环境108的模态的表格或分类帐,用于第二输入设备104b的适配器106b的输入映射引擎202,可以访问用于对应于VR环境110的模态的表格或分类帐,并且用于第三输入设备104c的适配器106c的输入映射引擎202,可以访问用于对应于基于PC的虚拟环境112的模态的表格或分类帐。
每个表格、映射或分类帐可以包括用于控制虚拟角色的行动的设备特定输入,并且可以包括用于控制虚拟角色的行动的对应标准化输入。例如,表格、映射或分类帐可以包括对应于传统行动控制的设备特定输入(例如,经由按钮或其他接口元件提供的输入,诸如通常经由键盘、鼠标、物理或虚拟操纵杆等提供的那些输入)。表格、映射或分类帐可以对应地包括标准化输入,该标准化输入与用于传统行动控制的设备特定输入相对应。类似地,表格、映射或分类帐可以包括对应于2D手势(例如,在物理表面上滑动或轻击或双击)、3D手势(例如,来自IMU、GPS的数据或其他运动/轨迹跟踪信息)的设备特定输入。表格、映射或分类帐可以包括标准化输入,该标准化输入对应于用于2D手势或3D手势的设备特定输入。
用于特定适配器106的输入映射引擎202可以访问特定于模态的表格、映射或分类帐。例如,第一适配器106a的输入映射引擎202可以访问特定于AR环境的模态的表格或分类帐。对应于第一适配器106a的表格或分类帐可以包括对应于传统行动控制、2D手势和3D手势的设备特定输入。用于第二适配器106b的移动性映射引擎200可以访问特定于基于PC的虚拟环境的模态的表格或分类帐。对应于第二适配器106b的表格或分类帐可以包括对应于传统行动控制和3D手势的设备特定输入(例如,取决于输入设备104b的类型和自由度)。用于第三适配器106c的移动性映射引擎200可以访问特定于VR环境的模态的表格或分类帐。对应于第三适配器106c的表格或分类帐可以包括对应于传统行动控制的设备特定输入。换句话说,对应于特定适配器106的表格、映射或分类帐可以不同(例如,取决于对应设备的能力)。
类似于移动性映射引擎200,输入映射引擎202可以被配置为:访问特定于模态的表格、映射或分类帐,以将用于控制虚拟角色的行动的设备特定输入翻译成用于控制虚拟角色的行动的标准化输入。每个特定于模态的表格可以包括设备特定输入和与设备特定输入相对应的标准化输入。输入映射引擎202可以被配置为:使用特定于模态的表格中的设备特定输入来执行查找功能,以标识对应于设备特定输入的标准化输入。输入映射引擎202可以被配置为:对从相应输入设备104接收的设备特定输入中的每个设备特定输入执行查找。输入映射引擎202可以被配置为:生成标准化输入作为输出,该标准化输入对应于所接收的设备特定输入。如此,输入映射引擎202可以通过将来自输入设备104的、用于控制虚拟角色的行动的设备特定输入转换成用于服务器102的标准化输入,来充当用于输入设备104的“翻译器”。移动性映射引擎200可以被配置为:向服务器102提供标准化输入,以更新共享虚拟环境114(例如,控制虚拟角色在共享虚拟环境114中的行动)。
适配器106被示为包括空间配准引擎204。空间配准引擎204可以是任何设备、组件、元件、过程、库、脚本或硬件和软件的组合,空间配准引擎204被设计或实现为将设备的物理环境116与共享虚拟环境114对准、配准、关联或映射。空间配准引擎204可以被适配器106包括、维护、提供或以其他方式可访问,适配器106对应于输入设备104,输入设备104具有支持VR环境110或AR环境108的模态。在一些实施例中,空间配准引擎204可以由对应于具有六DoF的设备的适配器106访问。空间配准引擎204可以被配置为:支持设备-空间对准和场景对准。空间配准引擎204可以支持设备-空间对准和场景对准,以便向对应设备的用户提供更加沉浸的体验。
空间配准引擎204可以被配置为:帮助将虚拟角色的位置(例如,在共享虚拟环境114中的位置)与用户在物理环境116中的位置对准。用户可以捕捉被定位在物理环境中的标记的图像(例如,使用他们相应的输入设备104)。标记可以被定位在物理环境116内的各种表面和对象上。输入设备104可以被配置为将图像传送到对应的适配器106。适配器106可以被配置为处理图像以检测标记。空间配准引擎204可以被配置为标识物理环境116中的标记。空间配准引擎204可以被配置为:基于用户与标记的相对位置,推断、检测、标识或以其他方式确定用户的位姿(例如,位置、定向等)。空间配准204可以被配置为:基于所确定的用户在物理环境中的位姿,来修改、改变、更新或以其他方式调整虚拟角色的位姿。
空间配准引擎204可以被配置为:帮助将共享虚拟环境114中的虚拟对象与物理环境116中的对象对准。共享虚拟环境114可以包括具有预先确定数目的虚拟对象的预构建场景。空间配准引擎204可以被设计或实现为基于物理环境116内检测到的对象位置,来更新、修改、改变或以其他方式移动共享虚拟环境114内的虚拟对象。如上面参考虚拟角色的位姿描述的,标记可以被定位在物理环境116中的对象上。输入设备104可以捕捉物理环境116的图像,包括对象上的标记。空间配准引擎204可以被配置为从输入设备104接收图像。空间配准引擎204可以被配置为解析图像以检测图像中标记的位置。空间配准引擎204可以被配置为:基于物理环境116的图像中的标记的检测位姿、位置、大小和/或定向,来调整共享交互环境114中的对象的位姿、位置、大小和/或定向。
共享交互环境114可以在经由不同模态交互的多个用户中间被共享。例如,第一输入设备104a的用户、第二输入设备104b的用户和/或第三输入设备104c的用户,可以一起在相同的共享交互环境中相互交互。在一些情况下,第一输入设备104a和第二输入设备104b可以共同定位在相同的物理环境116中(如图1中所示)。如此,对应于第一输入设备104a和第二输入设备104b的虚拟角色可以共同定位在共享虚拟环境中。用户可以提供输入(例如,经由他们相应的输入设备104),以用于在共享交互环境114中进行交互。这种输入可以从输入设备104被传送到适配器106(例如,用于将设备特定输入翻译成标准化输入)。适配器106可以被配置为将标准化输入传送到服务器102,以更新共享交互环境114。
在一些实施例中,服务器102被配置为从对应于多个输入设备104的多个适配器106接收输入。例如,服务器102可以被配置为:接收由第一适配器106a使用由第一输入设备104a从第一用户接收的输入而生成的第一标准化输入,由第二适配器106b使用由第二输入设备104b从第二用户接收的输入而生成的第二标准化输入,由第三适配器106c使用由第三输入设备104c从第三用户接收的输入而生成的第三标准化输入,等等。服务器102可以被配置为:基于由服务器102从适配器104接收的输入,来更新共享交互环境114。服务器102可以被配置为:基于由服务器102接收的标准化输入,来更新共享交互环境114(例如,共享交互环境114的表示或透视图、共享交互环境114中虚拟角色的行动、共享交互环境114中其他虚拟角色的反应、对虚拟环境的改变等)。服务器102可以被配置为传送与经更新的共享交互环境114相对应的数据,以用于呈现给用户。数据可以包括共享交互环境114的经更新的表示、从共享交互环境114的先前版本的改变等。
服务器102可以被配置为:基于由输入设备104捕捉的数据,从空间配准引擎204接收空间配准数据。服务器102可以被配置为解析空间配准数据,以标识对应于物理环境内的用户(或对象)的定向、位置、位置、大小、比例或其他位姿信息。服务器102可以被配置为更新共享交互环境114的表示(例如,从用户中的一个用户的视角更新共享交互环境114的视角或视场,更新共享交互环境114中的虚拟对象的定向、位置、地点、大小或位姿等)。服务器102可以被配置为传送共享交互环境的经更新的表示,以用于呈现给用户。
在这些和其他实施例中,服务器102可以被配置为将对应于共享交互环境114的数据传送、发送或以其他方式提供给输入设备104,以用于呈现给用户。服务器102可以直接或通过适配器106将数据提供给输入设备104。在任一实施方式中,输入设备104可以被配置为接收与经更新的共享交互环境114相对应的数据,以用于呈现给用户。数据可以是共享交互环境114的经更新的表示、从共享交互环境114的先前表示的修改(例如,增量)等等。输入设备104可以将共享交互环境114呈现给用户。用户可以对应地提供另外的输入(例如,经由相应的输入设备104),该另外的输入通过适配器106被路由到服务器102。服务器102可以使用那些另外的输入,来更新共享交互环境114。因此,用户可以提供输入,以与共享交互环境114交互。
现在参考图3,所描绘的是示出根据一个说明性实施例的维护共享交互环境的过程300的流程图。方法300的步骤可以由上面参考图1-图2描述的组件和元件(诸如服务器102、输入设备104和/或适配器106)来实现。简而言之,在步骤302处,服务器接收注册输入设备的请求。在步骤304处,服务器将输入设备注册到共享交互环境。在步骤306处,服务器接收用于使用共享交互环境的输入。
在步骤302处,并且在一些实施例中,服务器接收注册输入设备的请求。在一些实施例中,服务器接收注册第一用户的第一输入设备的第一请求,并且接收注册第二用户的第二输入设备的第二请求。请求可以是将输入设备注册到共享交互环境的请求。共享交互环境可以被托管在服务器上、由服务器维护或以其他方式与服务器相关联。共享交互环境可以是一种环境,其中支持针对环境的不同模态的多个不同设备可以交互。例如,第一输入设备可以被配置为用于第一模态,第一模态涉及用于AR环境的用户输入,并且第二输入设备可以被配置为用于第二模态,第二模态涉及用于基于PC的虚拟环境或VR环境的用户输入。当用户在用户设备上选择用于启动共享交互环境的选项或特征时,服务器可以接收注册输入设备的请求。请求可以包括与用户设备相对应的信息、与用户相对应的信息等。服务器可以直接从用户输入设备接收请求。在一些情况下,服务器可以从布置在输入设备和服务器中间的适配器接收请求。
在一些实施例中,第一输入设备可以包括头戴式显示器。当头戴式显示器被穿戴在用户的头上时,头戴式显示器可以面对用户的眼睛。第一输入设备可以提供一种模态,该模态涉及用于AR环境的用户输入。因此,第一输入设备可以支持由用户进行的AR输入,以在AR环境中交互。第二设备可以提供一种模态,该模态涉及用于VR或基于PC的虚拟环境的用户输入。在一些实施例中,第二输入设备可以包括用于基于PC的虚拟环境的移动设备、平板设备、游戏系统、膝上型计算机或台式计算机。
在一些实施例中,服务器可以接收用于将另外的输入设备注册到共享交互环境的附加请求。例如,服务器可以接收将第三用户的第三输入设备注册到共享交互环境的第三请求。在该实施例中,第三输入设备可以用于第三模态,第三模态涉及用于VR环境的用户输入,并且第二模态可以涉及用于基于PC的虚拟环境的用户输入(或反之)。如此,服务器可以从支持宽模态范围的设备接收请求,该模态涉及多个不同环境(例如,AR环境、VR环境、基于PC的虚拟环境等)中的输入。
在步骤304处,并且在一些实施例中,服务器将输入设备注册到共享交互环境。服务器可以将第一输入设备和第二输入设备注册到共享交互环境。服务器可以解析请求(例如,在步骤302处接收的请求)以标识对应于相应输入设备的用户。请求可以包括用户标识信息(例如,用户名和密码、pin,或唯一标识用户的其他类型或形式的信息)。服务器可以使用用户标识信息,来标识、分配或选择对应于用户的虚拟角色。服务器可以解析请求,以标识传送了请求的用户设备。请求可以包括设备标识信息(例如,设备的IP地址、设备类型、设备名称或昵称,或唯一标识输入设备的其他类型或形式的信息)。服务器可以使用设备标识信息,来确定对应于请求的模态。在服务器接收到另外的请求(例如,第三请求和另外的请求)时,服务器可以解析用于将输入设备注册到共享交互环境的请求。
在一些实施例中,输入设备被配置为将共享交互环境映射到物理环境。例如,支持对应于AR和VR环境的模态的设备可以将共享交互环境映射到那些对应设备的物理环境。第一输入设备可以将共享交互环境映射到第一用户的物理环境。共享交互环境可以包括定位在其中的标记。类似地,物理环境可以包括定位在其中的标记。第一输入设备可以扫描位于物理环境中的(多个)标记。第一输入设备可以通过将共享交互环境的(多个)标记与物理环境中的(多个)标记对准来将共享交互环境映射到第一用户的物理环境。
在步骤306处,并且在一些实施例中,服务器接收输入,以使用共享交互环境。在一些实施例中,服务器从用于相应模态的适配器接收输入,以使用共享交互环境。例如,服务器可以从用于第一模态的第一适配器接收第一输入以供第一用户使用共享交互环境,从用于第二模态的第二适配器接收第二输入以供第二用户使用共享交互环境,等等。如上所述,适配器可以是服务器和输入设备的中介。服务器可以从适配器接收标准化输入。适配器可以根据输入设备从用户接收的输入来生成标准化输入。例如,第一输入(例如,由服务器接收)可以是由第一适配器使用由第一输入设备从第一用户接收的输入而生成的第一标准化输入。第一适配器可以使用从第一输入设备接收的输入,在表格或分类帐中执行查找功能,以标识对应的标准化输入。第一适配器可以将标准化输入传送到服务器。类似地,第二输入(例如,由服务器接收)可以是由第二适配器使用由第二输入设备从第二用户接收的输入而生成的第二标准化输入。第二适配器可以使用从第二输入设备接收的输入,在表格或分类帐中执行查找功能,以标识对应的标准化输入。第二适配器可以将标准化输入传送到服务器。
服务器可以根据接收的标准化输入来更新共享交互环境。服务器可以基于由用户提供给它们的相应用户设备的对应输入,从适配器接收标准化输入。在一些实施例中,服务器可以从对应适配器接收用于用户的空间配准数据。服务器可以从在VR或AR环境中提供输入的用户接收空间配准数据。服务器可以基于来自用户的空间配准数据来更新共享交互环境。服务器可以基于由服务器接收的标准化输入,来更新共享交互环境的表示,更新共享交互环境中的虚拟角色的位姿,更新共享交互环境中的对象的位姿等。服务器可以将与经更新的共享交互环境相对应的数据传送到设备,以用于呈现给用户。在一些实施例中,服务器可以传送共享交互环境的经更新的表示、从共享交互环境的先前表示的改变等。服务器可以将与经更新的共享交互环境相对应的数据直接传送到输入设备,通过对应的适配器将数据路由到输入设备等。在这些和其他实施例中,输入设备可以接收与经更新的共享交互环境相对应的数据。输入设备可以将经更新的共享交互环境呈现给用户,并且用户可以提供另外的输入/空间识别数据以进一步与共享交互环境交互。
本文描述的各种操作可以被实现在计算系统上。图4示出了可用于实现本发明的代表性计算系统414的框图。在一些实施例中,图1的服务器102、客户端设备104、适配器106或每个由计算系统414实现。计算系统414可以被实现为例如消费设备,诸如智能手机、其他移动电话、平板计算机、可穿戴计算设备(例如,智能手表格、眼镜、头戴式显示器)、台式计算机、膝上型计算机,或者用分布式计算设备来实现。计算系统414可以被实现为提供VR、AR、MR体验。在一些实施例中,计算系统414可以包括常规的计算机组件,诸如处理器416、存储设备418、网络接口420、用户输入设备422和用户输出设备424。
网络接口420可以提供到广域网(例如,因特网)的连接,远程服务器系统的WAN接口也连接到广域网。网络接口420可以包括有线接口(例如以太网)和/或无线接口,用于实现各种射频数据通信标准,诸如Wi-Fi、蓝牙或蜂窝数据网络标准(例如3G、4G、5G、60GHz、LTE等)。
用户输入设备422可以包括用户可以经由其向计算系统414提供信号的任何设备(或多个设备);计算系统414可以将信号解释为特定用户请求或信息的指示。用户输入设备422可以包括键盘、触摸板、触摸屏、鼠标或其他定点设备、滚轮、点击轮(click wheel)、拨号盘、按钮、开关、小键盘、麦克风、传感器(例如,运动传感器、眼睛跟踪传感器等)中的任何一个或全部,等等。
用户输出设备424可以包括计算系统414可以经由其向用户提供信息的任何设备。例如,用户输出设备424可以包括显示器,以显示由计算系统414生成或传送到计算系统414的图像。显示器可以结合各种图像生成技术,例如液晶显示器(LCD)、包括有机发光二极管(OLED)的发光二极管(LED)、投影系统、阴极射线管(CRT)等,以及支持电子器件(例如数模或模数转换器、信号处理器等)。可以使用既用作输入设备又用作输出设备的诸如触摸屏的设备。作为显示器的补充或替代,可以提供输出设备424。示例包括指示灯、扬声器、触觉“显示”设备、打印机等。
一些实施方式包括电子组件,诸如将计算机程序指令存储在计算机可读存储介质中的存储器、存储设备和微处理器。本说明书中描述的许多特征可以被实现为被指定为编码在计算机可读存储介质上的程序指令集合的过程。当这些程序指令由一个或多个处理器执行时,它们使处理器执行程序指令中指示的各种操作。程序指令或计算机代码的示例包括诸如由编译器产生的机器代码,并且包括由计算机、电子组件或使用解释器的微处理器执行的高级代码的文件。通过适当的编程,处理器416可以为计算系统414提供各种功能,包括本文描述的由服务器或客户端执行的任何功能,或者与消息管理服务相关联的其他功能。
应当理解,计算系统414是说明性的,并且变化和修改是可能的。结合本发明使用的计算机系统可以具有本文没有具体描述的其他能力。此外,虽然计算系统414是参考特定的块来描述的,但是应当理解,这些块是为了描述方便而定义的,并不意味着组成部分的特定物理布置。例如,不同的块可以位于相同设施、相同服务器机架或相同主板上。此外,这些块不需要对应于物理上不同的组件。块可以被配置为例如通过对处理器编程或提供适当的控制电路装置来执行各种操作,并且根据如何获得初始配置,各种块可以是或可以不是可重新配置的。本公开的实施方式可以在各种装置(包括使用电路装置和软件的任意组合实现的电子设备)中被实现。
现在已经描述了一些说明性的实施方式,显然前述是说明性的而不是限制性的,已经通过示例的方式给出。具体而言,尽管本文呈现的许多示例涉及方法动作或系统元素的特定组合,但是那些动作和那些元素可以以其他方式组合来实现相同的目标。结合一个实施方式讨论的动作、元素和特征不旨在被排除在其他实施方式或实施方式中的类似角色之外。
用于实现结合本文公开的实施例描述的各种过程、操作、说明性逻辑、逻辑块、模块和电路的硬件和数据处理组件可以用通用单芯片或多芯片处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件或其设计用于执行本文描述的功能的任何组合来实现或执行。通用处理器可以是微处理器,或者任何常规的处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,诸如,DSP和微处理器的组合、多个微处理器、与DSP内核结合的一个或多个微处理器,或者任何其他这种配置。在一些实施例中,特定的过程和方法可以由特定于给定功能的电路装置来执行。存储器(例如,存储器、存储器单元、存储设备等)可以包括用于存储数据和/或计算机代码的一个或多个设备(例如,RAM、ROM、闪存、硬盘存储等),以完成或促进本公开中描述的各种过程、层和模块。存储器可以是或包括易失性存储器或非易失性存储器,并且可以包括数据库组件、目标代码组件、脚本组件或用于支持本公开中描述的各种活动和信息结构的任何其他类型的信息结构。根据示例性实施例,存储器经由处理电路可通信地连接到处理器,并且包括用于(例如,通过处理电路和/或处理器)执行本文描述的一个或多个过程的计算机代码。
本公开预期了用于完成各个操作的方法、系统和在任何机器可读介质上的程序产品。可以使用现有计算机处理器,或通过为此目的或其他目的所引入的恰当系统的专用计算机处理器或通过硬接线的系统,来实现本发明的实施例。本发明的范围之内的实施例包括程序产品,程序产品包括用于携带或具有存储于其上的机器可执行指令或数据结构的机器可读介质。这种机器可读介质可以是任意可用介质,其可通过通用或专用计算机或具有处理器的其他机器访问。举例来讲,这种机器可读介质可包括RAM、ROM、EPROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备,或可用于携带或存储以机器可执行指令或数据结构形式的所需程序代码的且可以通过通用或专用计算机或具有处理器的其他机器访问的任何其他介质。上面的组合也被包括在机器可读介质的范围内。机器可执行指令包括例如使得通用计算机、专用计算机或专用处理机器执行某一功能或一组功能的指令和数据。
本文所使用的措辞和术语是为了描述的目的,并且不应当被视为是限制性的。本文使用的“包括(including)”、“包含(comprising)”、“具有”、“包含(containing)”、“涉及”、“以...为特征”、“特征在于”及其变型意味着包含其后列出的项目、其等同物和附加项目,以及仅由其后列出的项目组成的备选实施方式。在一个实施方式中,本文描述的系统和方法由一个、多于一个的每个组合或者所有描述的元件、动作或组件组成。
本文以单数形式提及的系统和方法的实施方式或元件或动作的任何引用也可以包括包含多个这些元件的实施方式,并且本文以复数形式提及的任何实施方式或元素或动作也可以包括仅包含单个元素的实施方式。单数或复数形式的引用不旨在将当前公开的系统或方法、它们的组件、动作或元素限制为单个或更多个配置。对基于任何信息、动作或元素的任何动作或元素的引用可以包括其中动作或元素至少部分基于任何信息、动作或元素的实施方式。
本文公开的任何实施方式可以与任何其他实施方式或实施例组合,并且对“实施方式”、“一些实施方式”、“一个实施方式”等的引用不一定是互斥的,并且旨在指示结合该实施方式描述的特定特征、结构或特性可以被包括在至少一个实施方式或实施例中。本文使用的这种术语不一定都指相同实施方式。任何实施方式都可以以与这里公开的方面和实施方式相一致的任何方式(包括性地或排他性地)与任何其他实施方式相结合。
在附图、详细描述或任何权利要求中的技术特征后面带有附图标记的地方,已经包括附图标记以增加附图、详细描述和权利要求的可理解性。因此,附图标记及其缺失都不意欲对任何权利要求元素的范围有任何限制影响。
在不脱离其特征的情况下,本文描述的系统和方法可以以其他特定形式实施。除非另有明确说明,对“大约(approximately)”、“约(about)”、“基本上”或其他程度术语的提及包括给定测量值、单位或范围的+/-10%的变化。耦合元件可以彼此直接电耦合、机械耦合或物理耦合,或者利用中间元件电耦合、机械耦合或物理耦合。因此,本文描述的系统和方法的范围由所附权利要求而不是前面的描述来指示,并且落入权利要求的等同物的含义和范围内的变化包含在其中。
术语“耦合”及其变型包括两个构件直接或间接彼此连接。这种连接可以是静止的(例如,永久的或固定的)或可移动的(例如,可移除的或可释放的)。这种连接可以通过两个构件直接连接或相互连接来实现,也可以通过两个构件使用单独的中间构件和任何附加的中间构件相互连接来实现,或者通过两个构件使用与两个构件中的一个构件一体形成为单一单元体的中间构件相互连接来实现。如果“耦合”或其变型由附加术语(例如,直接耦合)来修饰,则上面提供的“耦合”的一般定义由附加术语的简单语言含义来修饰(例如,“直接耦合”是指两个构件的连接而没有任何单独的中间构件),导致比上面提供的“耦合”的一般定义更窄的定义。这种耦合可以是机械的、电的或流体的。
对“或”的提及可被解释为包含性的,因此,使用“或”描述的任何术语可以表示单个、一个以上和所有所述术语中的任何一个。对“‘A’和‘B’中的至少一个”的提及可以只包括‘A’,只包括‘B’,以及包括‘A’和‘B’两者。这种与“包括”或其他开放术语一起使用的引用可以包括附加项目。
在本质上不脱离本文公开的主题的教导和优点的情况下,可以对所描述的元件和动作进行修改,诸如各种元件的尺寸、大小、结构、形状和比例、参数值、安装布置、材料使用、颜色、取向的变化。例如,显示为整体形成的元件可以由多个部分或元件构成,元件的位置可以颠倒或以其他方式改变,并且离散元件的性质或数量或位置可以改变或变化。在不脱离如所附权利要求中限定的本发明的范围的情况下,还可以在所公开的元件和操作的设计、操作条件和布置中进行其他替换、修改、改变和省略。
本文提到的元件位置(例如,“顶部”、“底部”、“上方”、“下方”)仅用于描述附图中各种元件的取向。根据其他示例性实施例,各种元件的取向可以不同,并且这种变化旨在被如所附权利要求中限定的本发明所涵盖。

Claims (15)

1.一种针对多个设备维护共享交互环境的方法,包括:
由服务器接收向共享交互环境注册第一用户的第一输入设备的第一请求和注册第二用户的第二输入设备的第二请求,其中所述第一输入设备用于第一模态,所述第一模态涉及用于增强现实(AR)环境的用户输入,并且所述第二输入设备用于第二模态,所述第二模态涉及用于基于个人计算机(PC)的虚拟环境或虚拟现实(VR)环境的用户输入;
由所述服务器将所述第一输入设备和所述第二输入设备注册到所述共享交互环境;以及
由所述服务器从用于所述第一模态的第一适配器接收第一输入以供所述第一用户使用所述共享交互环境,并且从用于所述第二模态的第二适配器接收第二输入以供所述第二用户使用所述共享交互环境。
2.根据权利要求1所述的方法,其中所述第二输入设备包括用于所述基于PC的虚拟环境的移动设备、平板设备、游戏系统、膝上型计算机或台式计算机中的至少一者。
3.根据权利要求1或2所述的方法,其中所述第一输入设备被配置为通过以下方式来将所述共享交互环境映射到所述第一用户的物理环境:扫描所述物理环境中的标记,并且将所述共享交互环境的标记与所述物理环境中的所述标记对准。
4.根据前述权利要求中任一项所述的方法,其中所述第一输入是由所述第一适配器使用由所述第一输入设备从所述第一用户接收的输入而生成的第一标准化输入,并且所述第二输入是由所述第二适配器使用由所述第二输入设备从所述第二用户接收的输入而生成的第二标准化输入;
可选地,还包括:
由所述服务器从所述第一适配器接收所述第一标准化输入;
由所述服务器根据所述第一标准化输入,更新所述共享交互环境;以及
由所述服务器传送与经更新的所述共享交互环境相对应的数据,以用于呈现给所述第一用户和所述第二用户。
5.根据前述权利要求中任一项所述的方法,还包括:
由所述服务器接收将第三用户的第三输入设备注册到所述共享交互环境的第三请求,其中所述第三输入设备用于第三模态,所述第三模态涉及用于VR环境的用户输入,并且所述第二模态涉及用于基于PC的虚拟环境的用户输入;以及
由所述服务器将所述第三输入设备注册到所述共享交互环境。
6.根据前述权利要求中任一项所述的方法,其中所述第二模态涉及用于VR环境的用户输入,所述方法还包括:
由所述服务器从所述第一适配器接收所述第一用户的空间配准数据,并且从所述第二适配器接收所述第二用户的空间配准数据;
由所述服务器使用所述第一用户的所述空间配准数据和所述第二用户的所述空间配准数据,来更新所述共享交互环境的表示;以及
由所述服务器传送所述共享交互环境的经更新的所述表示,以呈现给所述第一用户和所述第二用户;
可选地,还包括:
由所述服务器从用于所述第一模态的所述第一适配器接收用于所述第一用户的第三输入;以及
由所述服务器使用所述第三输入,来更新所述共享交互环境的经更新的所述表示。
7.根据前述权利要求中任一项所述的方法,其中所述第一用户和所述第二用户在物理上共同定位,并且所述第一用户的表示和所述第二用户的表示被对应地呈现和共同定位在所述共享交互环境内。
8.根据前述权利要求中任一项所述的方法,其中所述第一适配器是所述服务器和所述第一输入设备的中介,并且所述第二适配器是所述服务器和所述第二输入设备的中介。
9.一种系统,包括:
服务器,与第一适配器和第二适配器通信,被配置为:
接收向共享交互环境注册第一用户的第一输入设备的第一请求和注册第二用户的第二输入设备的第二请求,所述第一输入设备用于第一模态,所述第一模态涉及用于增强现实(AR)环境的用户输入,并且所述第二输入设备用于第二模态,所述第二模态涉及用于基于个人计算机(PC)的虚拟环境或虚拟现实(VR)环境的用户输入;
将所述第一输入设备和所述第二输入设备注册到所述共享交互环境;以及
从用于所述第一模态的所述第一适配器接收第一输入以供所述第一用户使用所述共享环境,并且从用于所述第二模态的所述第二适配器接收第二输入以供所述第二用户使用所述共享环境。
10.根据权利要求9所述的系统,其中所述第二输入设备包括用于所述基于PC的虚拟环境的移动设备、平板设备、游戏系统、膝上型计算机或台式计算机中的至少一者。
11.根据权利要求9或10所述的系统,其中所述第一输入设备被配置为通过以下方式来将所述共享交互环境映射到所述第一用户的物理环境:扫描所述物理环境中的标记,并且将所述共享交互环境的标记与所述物理环境中的所述标记对准。
12.根据权利要求9至11中任一项所述的系统,其中所述第一输入是由所述第一适配器使用由所述第一输入设备从所述第一用户接收的输入而生成的第一标准化输入,并且所述第二输入是由所述第二适配器使用由所述第二输入设备从所述第二用户接收的输入而生成的第二标准化输入;
可选地,其中所述服务器还被配置为:
从所述第一适配器接收所述第一标准化输入;
基于所述第一标准化输入,更新所述共享交互环境;以及
传送与经更新的所述共享交互环境相对应的数据,以用于呈现给所述第一用户和所述第二用户。
13.根据权利要求9至12中任一项所述的系统,其中所述服务器还被配置为:
接收将第三用户的第三输入设备注册到所述共享交互环境的第三请求,其中所述第三输入设备用于第三模态,所述第三模态涉及用于VR环境的用户输入,并且所述第二模态涉及用于基于PC的虚拟环境的用户输入;以及
将所述第三输入设备注册到所述共享交互环境。
14.根据权利要求9至13中任一项所述的系统,其中所述第二模态涉及用于VR环境的用户输入,所述服务器还被配置为:
从所述第一适配器接收所述第一用户的空间配准数据,并且从所述第二适配器接收所述第二用户的空间配准数据;
使用所述第一用户的所述空间配准数据和所述第二用户的所述空间配准数据,来更新所述共享交互环境的表示;以及
传送所述共享交互环境的经更新的所述表示,以用于呈现给所述第一用户和所述第二用户;
可选地,所述服务器还被配置为:
从被配置为用于所述第一模态的所述第一适配器接收用于所述第一用户的第三输入;以及
使用所述第三输入,来更新所述共享交互环境的经更新的所述表示。
15.根据权利要求9至14中任一项所述的系统,具有以下中的一项或多项:
其中所述第一用户和所述第二用户在物理上共同定位,并且所述第一用户的表示和所述第二用户的表示被对应地呈现和共同定位在所述共享交互环境内;
其中所述第一适配器是所述服务器和所述第一输入设备的中介,并且所述第二适配器是所述服务器和所述第二输入设备的中介。
CN202080061026.0A 2019-10-10 2020-09-07 用于共享交互环境的系统和方法 Pending CN114341777A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/598,104 US11521356B2 (en) 2019-10-10 2019-10-10 Systems and methods for a shared interactive environment
US16/598,104 2019-10-10
PCT/US2020/049613 WO2021071613A1 (en) 2019-10-10 2020-09-07 Systems and methods for a shared interactive environment

Publications (1)

Publication Number Publication Date
CN114341777A true CN114341777A (zh) 2022-04-12

Family

ID=72644886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080061026.0A Pending CN114341777A (zh) 2019-10-10 2020-09-07 用于共享交互环境的系统和方法

Country Status (6)

Country Link
US (1) US11521356B2 (zh)
EP (1) EP4042260A1 (zh)
JP (1) JP2022553475A (zh)
KR (1) KR20220074896A (zh)
CN (1) CN114341777A (zh)
WO (1) WO2021071613A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024027671A1 (zh) * 2022-08-04 2024-02-08 华为技术有限公司 一种设备的输入方法、输入设备及系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11757997B2 (en) * 2021-01-19 2023-09-12 Seek Xr, Inc. Systems and methods for facilitating shared extended reality experiences
US20230147561A1 (en) * 2021-11-08 2023-05-11 Niantic, Inc. Metaverse Content Modality Mapping
KR102616084B1 (ko) * 2022-08-22 2023-12-20 주식회사 브이알크루 비주얼 로컬라이제이션을 이용하여 전술 훈련을 지원하기 위한 방법 및 장치

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198389A1 (en) * 2003-12-31 2005-09-08 Microsoft Corporation Transport agnostic pull mode messaging service
US20120249416A1 (en) * 2011-03-29 2012-10-04 Giuliano Maciocci Modular mobile connected pico projectors for a local multi-user collaboration
US20140298229A1 (en) * 2013-03-28 2014-10-02 David Michael Priest Pattern-based design system
CN106716306A (zh) * 2014-09-30 2017-05-24 索尼互动娱乐股份有限公司 将多个头戴式显示器同步到统一空间并且使统一空间中的对象移动关联
CN106791699A (zh) * 2017-01-18 2017-05-31 北京爱情说科技有限公司 一种远程头戴交互式视频共享系统
US20180005429A1 (en) * 2016-06-30 2018-01-04 Sony Interactive Entertainment Inc. Dynamic Entering and Leaving of Virtual-Reality Environments Navigated by Different HMD Users
CN107667331A (zh) * 2015-05-28 2018-02-06 微软技术许可有限责任公司 共享空间多人沉浸式虚拟现实中的共享触觉交互和用户安全
US20180136815A1 (en) * 2016-11-14 2018-05-17 Taqtile Cross-platform multi-modal virtual collaboration and holographic maps
CN108430032A (zh) * 2017-12-08 2018-08-21 深圳新易乘科技有限公司 一种实现vr/ar设备位置共享的方法及设备
CN108885521A (zh) * 2016-03-29 2018-11-23 微软技术许可有限责任公司 跨环境共享
US20180357780A1 (en) * 2017-06-09 2018-12-13 Sony Interactive Entertainment Inc. Optimized shadows in a foveated rendering system
WO2019143572A1 (en) * 2018-01-17 2019-07-25 Pcms Holdings, Inc. Method and system for ar and vr collaboration in shared spaces
CN110199321A (zh) * 2017-01-23 2019-09-03 奇跃公司 用于混合现实系统的定位确定

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10838574B2 (en) * 2018-04-09 2020-11-17 Spatial Systems Inc. Augmented reality computing environments—workspace save and load
US11086474B2 (en) * 2018-04-09 2021-08-10 Spatial Systems Inc. Augmented reality computing environments—mobile device join and load
WO2019217437A2 (en) * 2018-05-07 2019-11-14 Eolianvr, Incorporated Device and content agnostic, interactive, collaborative, synchronized mixed reality system and method
US11527171B2 (en) * 2019-04-22 2022-12-13 The Commons XR LLC Virtual, augmented and extended reality system

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050198389A1 (en) * 2003-12-31 2005-09-08 Microsoft Corporation Transport agnostic pull mode messaging service
US20120249416A1 (en) * 2011-03-29 2012-10-04 Giuliano Maciocci Modular mobile connected pico projectors for a local multi-user collaboration
US20140298229A1 (en) * 2013-03-28 2014-10-02 David Michael Priest Pattern-based design system
CN106716306A (zh) * 2014-09-30 2017-05-24 索尼互动娱乐股份有限公司 将多个头戴式显示器同步到统一空间并且使统一空间中的对象移动关联
CN107667331A (zh) * 2015-05-28 2018-02-06 微软技术许可有限责任公司 共享空间多人沉浸式虚拟现实中的共享触觉交互和用户安全
CN108885521A (zh) * 2016-03-29 2018-11-23 微软技术许可有限责任公司 跨环境共享
US20180005429A1 (en) * 2016-06-30 2018-01-04 Sony Interactive Entertainment Inc. Dynamic Entering and Leaving of Virtual-Reality Environments Navigated by Different HMD Users
US20180136815A1 (en) * 2016-11-14 2018-05-17 Taqtile Cross-platform multi-modal virtual collaboration and holographic maps
CN106791699A (zh) * 2017-01-18 2017-05-31 北京爱情说科技有限公司 一种远程头戴交互式视频共享系统
CN110199321A (zh) * 2017-01-23 2019-09-03 奇跃公司 用于混合现实系统的定位确定
US20180357780A1 (en) * 2017-06-09 2018-12-13 Sony Interactive Entertainment Inc. Optimized shadows in a foveated rendering system
CN108430032A (zh) * 2017-12-08 2018-08-21 深圳新易乘科技有限公司 一种实现vr/ar设备位置共享的方法及设备
WO2019143572A1 (en) * 2018-01-17 2019-07-25 Pcms Holdings, Inc. Method and system for ar and vr collaboration in shared spaces

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024027671A1 (zh) * 2022-08-04 2024-02-08 华为技术有限公司 一种设备的输入方法、输入设备及系统

Also Published As

Publication number Publication date
US20210110609A1 (en) 2021-04-15
JP2022553475A (ja) 2022-12-23
WO2021071613A1 (en) 2021-04-15
US11521356B2 (en) 2022-12-06
EP4042260A1 (en) 2022-08-17
KR20220074896A (ko) 2022-06-03

Similar Documents

Publication Publication Date Title
US11521356B2 (en) Systems and methods for a shared interactive environment
CN110603515B (zh) 利用共享锚点显示的虚拟内容
Arth et al. The history of mobile augmented reality
US11144115B2 (en) Porting physical object into virtual reality
US20210011556A1 (en) Virtual user interface using a peripheral device in artificial reality environments
US11132827B2 (en) Artificial reality system architecture for concurrent application execution and collaborative 3D scene rendering
US9852546B2 (en) Method and system for receiving gesture input via virtual control objects
JP5776201B2 (ja) 情報処理装置、情報共有方法、プログラム及び端末装置
US20200387214A1 (en) Artificial reality system having a self-haptic virtual keyboard
US20140313228A1 (en) Image processing device, and computer program product
US20140152869A1 (en) Methods and Systems for Social Overlay Visualization
US9268410B2 (en) Image processing device, image processing method, and program
US10955929B2 (en) Artificial reality system having a digit-mapped self-haptic input method
US10976804B1 (en) Pointer-based interaction with a virtual surface using a peripheral device in artificial reality environments
US11412050B2 (en) Artificial reality system with virtual wireless channels
US20240089695A1 (en) Locating Content In An Environment
US11670082B1 (en) Systems and methods for maintaining virtual spaces
Grimm et al. VR/AR input devices and tracking
US11533580B2 (en) Locating content in an environment
CN114373016A (zh) 一种在扩展现实技术场景中实现点的定位方法
JP2023546797A (ja) ピクセル強度のデジタル制御およびアナログ制御を含む人工現実システム
US11875465B2 (en) Virtual reality data-processing device, system and method
US20240127006A1 (en) Sign language interpretation with collaborative agents
CN117687500A (zh) 远程控制系统、远程控制器以及远程控制方法
CN117991967A (zh) 虚拟键盘交互方法、装置、设备、存储介质和程序产品

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: California, USA

Applicant after: Yuan Platform Technology Co.,Ltd.

Address before: California, USA

Applicant before: Facebook Technologies, LLC