CN110663032A - 加强对增强现实(ar)应用的测试的支持 - Google Patents
加强对增强现实(ar)应用的测试的支持 Download PDFInfo
- Publication number
- CN110663032A CN110663032A CN201880034333.2A CN201880034333A CN110663032A CN 110663032 A CN110663032 A CN 110663032A CN 201880034333 A CN201880034333 A CN 201880034333A CN 110663032 A CN110663032 A CN 110663032A
- Authority
- CN
- China
- Prior art keywords
- computer
- application
- physical model
- testing
- device simulator
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
- H04W4/027—Services making use of location information using location based information parameters using movement velocity, acceleration information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Computer Graphics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
描述测试增强现实(AR)应用的示例方法。在示例实施方案中,所述方法包括发起目标用于测试的AR应用。所述示例方法进一步包括控制物理模型,以对模拟装置在模拟现实世界空间中的移动进行模拟。所述物理模型的模拟移动生成用于测试所述AR应用的数据。在一些实施方案中,所述方法可以进一步包括发起所述AR应用以在装置模拟器上运行;以及使用虚拟环境。
Description
相关申请的交叉引用
本申请是2018年12月19日提交的第16/226,157号美国申请的继续申请且要求2018年12月19日提交的第16/226,157号美国申请的优先权,并且要求2017年12月21日提交的第62/608,782号美国临时申请的权益,这些申请的公开内容通过引用整体并入本文。
背景技术
增强现实(AR)体验高度依赖于使用AR的场境。因此,AR应用的开发需要访问表示开发人员正面向的环境的测试环境。这可能需要开发人员在测试环境中物理地四处移动,这样不仅减慢开发过程,而且还限制测试范围。
发明内容
描述用于测试增强现实(AR)应用的示例方法、设备和计算机可读存储介质。在示例实施方案中,示例方法包括发起目标用于测试的AR应用。所述示例方法还包括控制物理模型,以对模拟装置在模拟现实世界空间中的移动进行模拟。所述物理模型的模拟移动生成用于测试所述AR应用的数据。在一些实施方案中,所述方法还可以包括发起AR应用以在装置模拟器上运行;以及使用虚拟环境。
附图说明
图1图示根据本文所描述的实施方案的具有用于开发/测试AR应用的装置模拟器的计算装置的实例的框图。
图2图示根据本文所描述的实施方案的用于开发/测试AR应用的示例装置模拟器的框图。
图3是根据本文所描述的实施方案的使用装置模拟器测试AR应用的方法的流程图。
图4示出可以用于实施本文所描述的技术的计算装置和移动计算机装置的示例。
具体实施方式
增强现实(AR)***不支持测试AR应用。AR应用的测试可以定义为评估AR应用的功能以查明AR应用是否满足指定要求和/或确保AR应用无缺陷的过程(例如,评估AR应用的功能、鲁棒性、质量等)。所提出的此技术问题的解决方案包括使用在AR***上运行的装置模拟器来测试AR应用。在示例实施方案中,装置模拟器可以被配置成在配置有AR***的计算装置上运行。可以创建在装置模拟器上运行的物理模型并且由用户控制物理模型的移动。当由用户驱动时的物理模型生成数据,所生成的数据类似于通过真实装置的真实移动生成的数据。将生成的数据转发到AR***的追踪框架,所述追踪框架可以显示给用户,使得用户可以验证AR应用的性能。使用上述模拟装置来测试AR应用的技术优点包括在各种虚拟环境和不同装置配置下,坐在舒适的办公桌前测试AR应用的灵活性。这样有效地利用时间和资源,并节省成本且提高AR应用的质量。
图1图示根据至少一个示例实施方案的包括装置模拟器150的计算装置100的框图。在一些示例实施方案中,装置模拟器150可以用于测试AR应用,例如,本文所描述的AR应用190。
计算装置100包括处理器112、存储器114、AR框架120、应用编程接口(API)130,和/或装置模拟器150。装置模拟器150经由用户输入162例如从用户接收输入,并且计算装置100例如经由向用户的显示140将图形输出到显示器。
AR框架120包括AR跟踪***122,以通过将虚拟内容与如使用API 130通过装置的相机所看到的现实世界集成来支持AR体验。例如,在一些实施方案中,AR跟踪***122可以通过运动跟踪、环境理解、光估计等来支持AR体验。运动跟踪可以允许装置理解并跟踪装置相对于字的位置。环境理解可以允许装置检测所有类型的表面,例如水平表面、竖直表面和成角表面等的尺寸和位置。光估计可以允许装置估计环境的光照条件。
当装置在现实世界(空间)中移动并建立其自身对现实世界的理解时,AR追踪***122追踪装置(例如,移动装置)的位置。AR跟踪***122使用装置中的传感器(例如,相机、加速计、陀螺仪、惯性测量单元(IMU)、全局定位***(GPS)等)来识别兴趣点(例如,关键点、特征等),并且跟踪这些点如何随时间移动。基于这些点的移动以及从装置传感器的读数的组合,AR跟踪***122可以在装置穿过现实世界时确定装置的位置、方向等。
除了识别兴趣点之外,AR跟踪***122可以检测到平坦表面(例如,桌子、地板等),并且还可以估计周围区域(或环境)中的平均光照。AR跟踪***122的这些能力可以组合,以使AR框架122能够建立其自身对周围现实世界的理解。此外,对现实世界的理解使用户将对象、注释或其它信息放置成与现实世界无缝集成。例如,用户可以将例如午睡的小猫等对象放置在咖啡桌的拐角处,用关于艺术家的传记信息来注释油画等。AR跟踪***122的运动跟踪功能允许用户四处移动并且从任何角度查看这些对象。例如,如果用户转身离开房间并且稍后返回,则对象(例如,咖啡桌的拐角处的午睡的小猫,或油画上的注释)将处于用户将它们所放置的位置。
AR框架120可以包括抽象层124(例如,硬件抽象层)。抽象层124表示计算装置100的操作***(OS,未示出)与装置模拟器150之间的接口。也就是说,抽象层124提供使计算装置100的OS对低级驱动器实施方案不可知的接口。在示例实施方案中,抽象层124可以支持将在装置模拟器150中实现的功能,而不会影响或修改高层***(例如,AR框架120和/或AR跟踪***122)。也就是说,抽象层124允许由计算装置110(或计算装置110的OS)提供的API130假设OS正与真实装置(不是模拟装置,例如模拟装置150)交互。由计算装置110的OS提供的API 124可以包括图形API、传感器API、相机API等。
装置模拟器150在计算装置100(例如,台式计算机)上模拟移动装置(例如,移动电话、平板计算机等)。在示例实施方案中,装置模拟器150可以是在计算装置100上运行的应用。装置模拟器150可以提供真实移动装置的大部分功能,和/或可以具有不同装置或装置类型的预定义的/预配置的配置。在一些实施方案中,例如,用户还可以配置装置模拟器150,以模拟例如装置的位置、网络速度、旋转,传感器(例如,相机、加速计、陀螺仪、IMU、GPS等)等。
在一些实施方案中,装置模拟器150的每个实例可以使用虚拟装置配置来配置尺寸、形状因子、OS版本,以及其它所需硬件特征,并且可以用作具有其自身的私有存储装置的独立装置。例如,装置模拟器150可以将与虚拟装置相关联的用户数据、SD卡数据和/或缓存存储在专用于所述虚拟装置的目录中。当用户启动装置模拟器150时,装置模拟器150从相关联的虚拟装置目录中加载用户数据、SD卡数据和/或缓存。在一些实施方案中,装置模拟器150还可以包括例如,用户控件160、模拟传感器170,和/或物理模型180。装置模拟器150的一些或全部部件(例如,150、160、170和180)可以一起或组合地存储在存储器112中,和/或通过由处理器112执行的机器可读指令来实现。
在一些实施方案中,物理模型180可以用于模拟真实装置的移动。也就是说,物理模型可以是在装置模拟器150上运行的应用,所述装置模拟器模拟对象通过环境的惯性运动。例如,用户可以使用用户输入162并且通过用户控件160控制物理模型180在空间中的移动(例如,行为)。通过经由用户输入162将指令发送到用户控件160,用户可以控制物理模型180的行为。在示例实施方案中,可以通过用户输入162控制用户控件160,所述用户输入162可以包括例如,WASD键、鼠标控件、箭头键、操纵杆、触控板、游戏控制器等。当用户例如使用键盘中的W键接合用户控件160,以向前移动物理模型180时,物理模型180以模拟真实装置在空间中的移动的方式向前移动。例如,物理模型180的移动可以表示真实装置在空间中惯性地移动(例如,具有特定加速度和速度,没有跳跃等)。换句话说,物理模型180可以以下述方式模拟在空间中移动的真实装置的移动:物理模型180的位置在二阶导数(例如,加速度)连续,并且物理模型180的旋转在一阶导数(例如,角速度)连续。
当AR跟踪***122假设被跟踪的装置(例如,装置模拟器150)是移动穿过现实世界的物理装置,对物理模型180的移动进行建模以模拟真实的物理移动。可以管理此物理移动的模拟并且通过物理模型180将此物理移动的模拟暴露于其它部件。在一些实施方案中,物理模型180可以平滑地内插描述***的当前状态的物理参数,并且将控制***的方式暴露于其它部件,以允许这些部件驱动物理模型180的移动(例如,指示物理模型180平滑地移动到特定位置和旋转),使得物理模型180的位置、速度、加速度、旋转、角速度等都连续。
例如,如果用户通过用户控件160指示物理模型180以1米/秒的速度移动,则真实装置无法突然以1m/s的速度移动(从0m/s的速度开始),而是花费一些时间以1m/s的速度移动。在一些实施方案中,物理模型180可以被视为主控制器,因为物理模型180可以计算其自身的位置、速度、加速度、旋转速度等。物理模型180以这些信息本质上是真实的方式来计算此信息(例如,平滑/连续,无跳跃等)。在一些实施方案中,物理模型180可以被视为充当用户控件160与装置模拟器150的其它部件(例如,模拟传感器170)之间的中介。例如,在通过用户输入162接收指令(例如,以模拟移动)之后,物理模型180可以生成其自身的数据和/或与模拟传感器170交互以校正所生成数据(例如,反馈机制),以确保由物理模型180生成的数据表示真实装置的真实移动。
模拟传感器170可以包括任何类型的模拟传感器,例如,虚拟相机、加速计、IMU等。在一些实施方案中,例如,来自虚拟相机的馈送可以支持相机API,所述相机API以某种方式构建,使得基于由物理模型180报告的实时位置设定相机馈送的视点矩阵(例如,位置、定向等)。这可以确保呈现具有足够复杂度的高度真实场景,以将特征提供给AR跟踪***122。另外,在一些实施方案中,模拟传感器170以高频且基于物理模型180的实时状态通过API 130(例如,IMU API)118报告模拟IMU数据。用户控件160可以实时地驱动物理模型180,使得用户可以轻松且舒适地在整个世界范围内移动相机。
在一些实施方案中,为了计算模拟IMU读数(例如,加速计、陀螺仪测量值),必须立即计算装置的参考帧中的加速度和角速度。在一个方面,可以实现具有足够高阶次的多项式插值(例如,在用于位置的3D空间中;在用于旋转的4D空间中),使得加速度和角速度连续,并且可以实现在固定时间段内对用户控制的设定目标位置和旋转的插值。这样,所有导数始终可用于IMU计算。
另外,为了正常地进行跟踪,不可以将传感器(例如,虚拟相机)旋转到一个点。而是,可以偏移旋转中心放置虚拟相机。例如,虚拟相机的位置可以与虚拟装置的位置具有较小偏移,使得用户可以使用装置模拟器150的用户接口控制和旋转。也就是说,为了使跟踪机制122正常地工作,可以根据AR框架120的装置要求来计算或运算物理模型180和模拟传感器170。在示例实施方案中,这可能需要虚拟相机与模拟传感器位置之间的特定偏移。在另一示例中,物理模型180可以模拟IMU的装置上的不同传感器相对于装置的布局,例如位置、旋转等。
在一些实施方案中,用户可以使用户控件160参与驱动物理模型180向前,以使用装置模拟器150测试AR应用。当物理模型180向前移动时,物理模型180可以生成与例如物理模型180的位置、速度、加速度、旋转等相关的数据。由物理模型180生成的数据可以与模拟传感器170共享。模拟传感器170通过抽象层124向AR跟踪***122报告所生成数据。换句话说,用户可以使用用户控件160控制物理模型180(通过用户输入162)。在从用户控件160接收输入之后,物理模型180可以生成物理模型180的数据(例如,位置、速度、加速度、旋转等)。由物理模型180生成的数据通过抽象层124与模拟传感器170共享,以转发给AR跟踪***122。这允许AR跟踪***122假设从真实装置接收数据(例如,位置、速度、加速度、旋转等)。这允许用户坐在自己的舒适办公桌上使用装置模拟器150方便地/有效地测试AR应用。
在一些实施方案中,例如,装置模拟器150可以用于在由物理模型180生成的数据中引入错误/缺陷,以模拟/再现错误/故障场景,例如,传感器噪声和错误、相机限制(例如,镜头变形、运动模糊、如低光度条件下对比度降低等),以及在运行AR应用时会在真实装置上遇到的相机与传感器数据之间的错误校准和未对准。这将有助于模拟AR跟踪***故障情况,例如,跟踪的丢失(例如,当沿着黑暗的走廊行走时)、跟踪的位置与物理位置之间的漂移(物体似乎在滑动)等。
图1的示例处理器112可以呈以下形式:被编程或配置成执行存储于存储器114中的机器可读指令的微控制器、中央处理单元(CPU)、ASIC、数字信号处理器(DSP)、FPGA、图形处理单元(GPU)等。所述指令在执行时可以使处理器112和/或上述部件等控制用于模拟真实装置的装置模拟器150,以及用于模拟移动装置在现实世界中的真实移动的物理模型180。在一些示例中,计算装置100中可以包括多于一个处理器112或多于一个存储器114。
图2图示根据至少一个示例实施方案的装置模拟器150的框图。如图2中所示,模拟传感器170可以包括各种类型的传感器,例如,相机172、加速计174、IMU 176等。如上所述,模拟传感器为物理模型180提供支持,使得物理模型180可以校正由模拟传感器生成的数据。在一些示例实施方案中,物理模型180可以使用来自模拟传感器170的数据来校正漂移。
图3是根据本文所描述的示例实施方案的使用装置模拟器测试AR应用的方法的流程图300。
在框310处,用户发起目标用于在计算装置上进行测试的AR应用。例如,用户可以在计算装置100上发起(例如,启动、开始等)AR应用190。用户可以选择AR应用190在装置模拟150上运行,使得用户可以使用装置模拟器150测试AR应用190。如上所述,这允许用户有效地测试AR应用。
在发起AR应用190期间,用户可以选择用于测试AR应用的要加载的虚拟场景(例如,虚拟环境、模拟现实世界场景等)。取决于测试要求,这支持使用各种虚拟室内/室外环境对AR应用进行测试。在一些实施方案中,虚拟场景可以在计算机装置100上可用,以供模拟装置150使用。虚拟场景提供在各种虚拟环境中测试AR应用190的能力,以提高AR应用和/或用户体验的质量。
在一些实施方案中,用户可以基于例如可用的虚拟装置配置而选择装置模拟器150的配置。虚拟装置配置允许装置模拟器150配置装置模拟器150的尺寸、形状因子、OS版本、内存大小,以及其它所需硬件特征。这为用户提供使用各种装置配置来测试AR应用的灵活性。
在框320处,用户可以控制物理模型,以对模拟装置在模拟现实世界空间中的移动进行模拟。例如,用户可以控制物理模型180,以模拟装置模拟器150在模拟现实世界空间中的移动。响应于用户控件移动物理模型180,物理模型180生成数据,所述数据表示(或类似于)由真实装置在空间中的真实移动生成的数据。由物理模型180生成的数据通过抽象层124与AR跟踪***122共享,用于测试AR应用。
例如,用户可以使用用户控件160来控制生成数据的物理模型180,所述数据表示真实装置例如在虚拟环境中的真实移动。例如,用户发起装置模拟器150上的AR应用190并且加载起居室的虚拟场景。用户可以使用用户控件160来模拟物理模型180的移动,并且生成转发给AR跟踪***122的数据,所述AR跟踪***处理数据并且通过API 130显示给用户。用户使用显示器(例如,向用户的显示140)通过相机API查看AR应用190的性能,以确定AR应用190是否按预期工作或执行。
通过以用户想要的配置来配置装置模拟器150,上文定义的能力允许用户坐在舒适的办公桌上并且用任何装置配置在任何虚拟环境中(取决于虚拟环境的可用性)测试AR应用。这种功能不仅提供测试AR应用的能力,而且还有效地测试AR应用。
图4示出可以用于本文所描述的技术的计算装置400和移动计算机装置450的示例。
例如,计算装置400可以是模拟器140被配置成在其上运行的装置,并且/或者移动计算机装置450可以是在其上运行应用的移动装置。计算装置400旨在表示各种形式的数字计算机,例如,膝上型计算机、台式计算机、平板计算机、工作站、个人数字助理、电视机、服务器、刀片服务器、大型机和其它合适的计算装置。计算装置450旨在表示各种形式的移动装置,例如,个人数字助理、蜂窝电话、智能电话,以及其它类似的计算装置。此处所示的部件、部件的连接和关系,以及部件的功能意味着仅仅是示例性的,并且并不意味着限制本文档中描述和/或要求保护的发明的实施方案。
计算装置400包括处理器402、存储器404、存储装置406、连接到存储器404以及高速扩展端口410的高速接口408,以及连接到低速总线414和存储装置406的低速接口412。处理器402可以是基于半导体的处理器。存储器404可以是基于半导体的存储器。部件402、404、406、408、410和412中的每一个使用各种总线互连,并且可以安装在通用主板上或视情况以其它方式安装。处理器402可以处理用于在计算装置400内执行的指令,包括存储于存储器404中或存储装置406上以将GUI的图形信息显示在外部输入/输出装置,例如耦合到高速接口408的显示器416上的指令。在其它实施方案中,多个处理器和/或多个总线可以视情况与多个存储器以及多种类型的存储器一起使用。而且,可以连接多个计算装置400,其中每个装置提供必要操作的部分(例如,作为服务器组、刀片服务器群组,或多处理器***)。
存储器404将信息存储在计算装置400内。在一个实施方案中,存储器404是一个或多个易失性存储器单元。在另一实施方案中,存储器404是一个或多个非易失性存储器单元。存储器404还可以是另一形式的计算机可读介质,例如,磁盘或光盘。
存储装置406能够为计算装置400提供大容量存储。在一个实施方案中,存储装置406可以是或可以包含计算机可读介质,例如,软盘装置、硬盘装置、光盘装置,或磁带装置、闪存存储器或其它类似的固态存储器装置,或装置的阵列,包括存储区域网络或其它配置中的装置。计算机程序产品可以有形地体现在信息载体中。计算机程序产品还可以包含指令,所述指令在执行时执行一个或多个方法,例如,上述那些方法。信息载体是计算机或机器可读介质,例如,存储器404、存储装置406,或处理器402上的存储器。
高速控制器408管理计算装置400的带宽密集操作,而低速控制器412管理较低带宽密集操作。这种功能分配仅仅是示例性的。在一个实施方案中,高速控制器408耦合到存储器404、显示器416(例如,通过图形处理器或加速计),以及可以接受各种扩展卡(未示出)的高速扩展端口410。在实施方案中,低速控制器412耦合到存储装置406和低速扩展端口414。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口可以例如通过网络适配器耦合到一个或多个输入/输出装置,例如,键盘、指向装置、扫描仪,或例如交换机或路由器的联网装置。
如图所示,计算装置400可以以多种不同形式实施。例如,所述计算装置可以实施为标准服务器420,或多次实施于此类服务器的群组中。所述计算装置还可以实施为机架式服务器***424的一部分。另外,所述计算装置可以实施于例如膝上型计算机422的个人计算机中。可替代地,来自计算装置400的部件可以与例如装置450的移动装置(未示出)中的其它部件组合。此类装置中的每一个可以包含计算装置400、450中的一个或多个,并且整个***可以由彼此通信的多个计算装置400、450组成。
计算装置450包括处理器452、存储器464、例如显示器454的输入/输出装置、通信接口466和收发器468,以及其它部件。装置450还可以设置有例如微驱动器或其它装置的存储装置,以提供另外的存储。部件450、452、464、454、466和468中的每一个使用各种总线互连,并且若干部件可以安装在通用主板上或视情况以其它方式安装。
处理器452可以执行计算装置450内的指令,包括存储于存储器464中的指令。处理器可以实施为包括单独处理器以及多个模拟和数字处理器的芯片的芯片组。例如,处理器可以提供装置450的其它部件的协调,例如,用户界面、装置450运行的应用,以及装置450进行的无线通信的控制。
处理器452可以通过控制接口458和耦合到显示器454的显示器接口456与用户通信。例如,显示器454可以是TFT LCD(薄膜晶体管液晶显示器),或OLED(有机发光二极管)显示器,或其它合适的显示器技术。显示器接口456可以包括用于驱动显示器454向用户呈现图形和其它信息的合适电路。控制接口458可以从用户接收命令并且转换所述命令以提交给处理器452。另外,可以提供与处理器452通信的外部接口462,以便实现装置450与其它装置进行近距离通信。例如,外部接口462可以在一些实施方案中提供用于有线通信,或在其它实施方案中提供用于无线通信,并且还可以使用多个接口。
存储器464将信息存储在计算装置450内。存储器464可以实施为一个或多个计算机可读介质、一个或多个易失性存储器单元,或一个或多个非易失性存储器单元中的一个或多个。还可以提供扩展存储器474,并且扩展存储器通过扩展接口472连接到装置450,所述扩展接口可以包括例如,SIMM(单列直插式存储器模块)卡接口。此种扩展存储器474可以为装置450提供额外存储空间,或者还可以为装置450存储应用或其它信息。具体来说,扩展存储器474可以包括用于执行或补充上述过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器474可以提供为装置450的安全模块,并且可以用允许安全地使用装置450的指令来编程。另外,可以通过SIMM卡与附加信息一起提供安全应用,例如,以不可侵入的方式将识别信息置于SIMM卡上。
如下所述,存储器可以例如包括闪存存储器和/或NVRAM存储器。在一个实施方案中,计算机程序产品有形地体现在信息载体中。计算机程序产品包含指令,所述指令在执行时执行一个或多个方法,例如,上述那些方法。信息载体是可以计算机或机器可读介质,例如,存储器464、扩展存储器474,或处理器452上的存储器,其可以通过收发器468或外部接口462来接收信息。
装置450可以通过通信接口466无线地通信,所述通信接口在必要时可以包括数字信号处理电路。通信接口466可以提供各种模式或协议下的通信,例如,GSM语音呼叫、SMS、EMS,或MMS消息传递、CDMA、TDMA、PDC、WCDMA、CDMA2000或GPRS等等。例如,这种通信可以通过射频收发器468进行。另外,短程通信可以例如使用蓝牙、Wi-Fi,或其它此种收发器(未示出)进行。另外,GPS(全球定位***)接收器模块470可以向装置450提供与导航和位置相关的附加无线数据,所述无线数据视情况可以由装置450上运行的应用使用。
装置450还可以使用音频编解码器460以听觉方式进行通信,所述音频编解码器可以从用户接收语音信息并且将所述语音信息转换成可用的数字信息。音频编解码器460同样可以例如通过扬声器在例如装置450的听筒中为用户生成可听声音。这种声音可以包括来自语音电话的声音,可以包括录制的声音(例如,语音消息、音乐文件等),并且还可以包括在装置450上运行的应用所生成的声音。
如图所示,计算装置450可以以多种不同形式实施。例如,所述计算装置可以实施为蜂窝电话440。所述计算装置还可以实施为智能电话432、个人数字助理,或其它类似移动装置的一部分。
本文描述的***和技术的各种实施方案可以在数字电子电路、集成电路、专门设计的ASIC(专用集成电路)、计算机硬件、固件、软件,和/或其组合中实现。这些各种实施方案可以包括一个或多个计算机程序中的实施方案,所述计算机程序可以在包括至少一个可编程处理器的可编程***上执行和/或解释,所述可编程处理器可以用于专用或通用目的,且耦合为从存储***、至少一个输入装置和至少一个输出装置接收数据和指令,并将数据和指令传输到存储***、至少一个输入装置和至少一个输出装置。
这些计算机程序(还称为程序、软件、软件应用、软件模块、软件组件或代码)包括用于可编程处理器的机器指令,并且可以用高级程序化和/或面向对象的编程语言,和/或用汇编/机器语言实施。如本文所使用,术语“机器可读介质”、“计算机可读介质”指代用于将机器指令和/或数据提供到可编程处理器的任何计算机程序产品、设备和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语“机器可读信号”指代用于将机器指令和/或数据提供到可编程处理器的任何信号。
为了提供与用户的交互,本文描述的***和技术可以在具有显示装置(例如,CRT(阴极射线管)或LCD(液晶显示器)监视器)的计算机上实施,以将信息显示给用户以及键盘和指向装置(例如,鼠标或轨迹球),用户可以通过所述键盘和所述指向装置将输入提供到计算机。其它种类的装置也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈(例如,视觉反馈、听觉反馈,或触觉反馈);以及来自用户的输入可以通过任何形式接收,包括声音、语音或触觉输入。
本文描述的***和技术可以在计算***中实施,所述计算***包括后端部件(例如,作为数据服务器),或包括中间件部件(例如,应用程序服务器),或包括前端部件(例如,具有图形用户界面或网络浏览器的客户端计算机,用户可以通过所述图形用户界面或网络浏览器与本文描述的***和技术的实施方案交互),或此后端、中间件或前端部件的任何组合。***的部件可以通过数字数据通信(例如,通信网络)的任何形式或介质互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)和因特网。
计算***可以包括客户端和服务器。客户端和服务器通常远离彼此并且通常通过通信网络交互。客户端和服务器的关系借助于在相应计算机上运行以及彼此具有客户端-服务器关系的计算机程序产生。
已描述多个实施例。然而,应理解,在不脱离本发明的精神和范围的情况下可以进行各种修改。
另外,附图中描绘的逻辑流程不一定需要按所示的特定次序或按顺序次序实现所需要的结果。另外,可以提供其它步骤,或可以从所描述的流程中去除步骤,并且其它部件可以添加到所描述***,或从所描述***移除。因此,其它实施例处在所附权利要求书的范围内。
本文所描述的各种技术的实施方案可以在数字电子电路中,或计算机硬件、固件、软件中,或其组合中实施。实施方案可以实施为计算机程序产品,即,有形地体现在信息载体中,例如机器可读存储装置(计算机可读介质)中的计算机程序,以供例如可编程处理器、一个计算机或多个计算机的数据处理设备处理,或控制所述数据处理设备的操作。因此,计算机可读存储介质可以被配置成存储指令,所述指令在执行时使处理器(例如,主机装置处的处理器、客户端装置处的处理器)执行过程。
例如上述计算机程序的计算机程序可以用任何形式的编程语言编写,包括编译或解释语言,并且所述计算机程序可以以任何形式部署,包括作为独立程序或作为模块、组件、子例程或适用于计算环境中的其它单元。计算机程序可以被部署为在一个计算机上或在多个计算机上处理,所述多个计算机位于一个位置处或跨越多个位置分布并且通过通信网络互连。
方法步骤可以通过执行计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并生成输出来执行功能。方法步骤还可以通过专用逻辑电路,例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)执行,并且设备可以实施为所述专用逻辑电路。
举例来说,适用于处理计算机程序的处理器包括通用微处理器和专用微处理器两者,以及任何种类的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的元件可以包括用于执行指令的至少一个处理器,以及用于存储指令和数据的一个或多个存储器装置。通常,计算机还可以包括用于存储数据的一个或多个大容量存储装置,或可操作地耦合以从所述一个或多个大容量存储装置接收数据或将数据传递到所述一个或多个大容量存储装置,或从所述一个或多个大容量存储装置接收数据且将数据传递到所述一个或多个大容量存储装置,所述一个或多个大容量存储装置例如,磁盘、磁光盘或光盘。适用于体现计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,包括例如,半导体存储器装置,例如,EPROM、EEPROM和闪存存储器装置;磁盘,例如,内部硬盘或可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
为了提供与用户的交互,实施方案可以在具有显示装置,例如阴极射线管(CRT)、发光二极管(LED),或液晶显示器(LCD)监视器的计算机上实施,以将信息显示给用户以及键盘和指向装置,例如鼠标或轨迹球,用户可以通过所述键盘和所述指向装置将输入提供到计算机。其它种类的装置也可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如,视觉反馈、听觉反馈或触觉反馈;以及从用户产生的输入可以用任何形式接收,包括声音、语音或触觉输入。
实施方案可以在计算***中实施,所述计算***包括后端部件,例如作为数据服务器;或包括中间件部件,例如应用程序服务器;或包括前端部件,例如具有图形用户界面或网络浏览器的客户端计算机,用户可以通过所述图形用户界面或网络浏览器与实施方案交互;或此后端、中间件或前端部件的任何组合。部件可以通过数字数据通信,例如通信网络的任何形式或介质互连。通信网络的示例包括局域网(LAN)和广域网(WAN),例如,因特网。
Claims (22)
1.一种计算机实现的方法,包括:
在计算装置上发起目标用于测试的增强现实AR应用;以及
控制物理模型以对模拟装置在模拟现实世界空间中的移动进行模拟,所述物理模型的模拟移动生成用于测试所述AR应用的数据。
2.根据权利要求1所述的计算机实现的方法,其中,所述发起包括:
发起所述AR应用以在装置模拟器上运行,所述装置模拟器在所述计算装置上运行。
3.根据权利要求2所述的计算机实现的方法,其中,使用虚拟环境发起所述AR应用。
4.根据权利要求2所述的计算机实现的方法,其中,使用虚拟装置配置信息来发起所述装置模拟器。
5.根据权利要求2所述的计算机实现的方法,进一步包括:
将错误引入正被生成的所述数据中以模拟故障场景。
6.根据权利要求1所述的计算机实现的方法,其中,所述控制包括:
使用用户控件来控制所述物理模型,所述用户控件驱动所述物理模型以模拟所述模拟装置的移动。
7.根据权利要求1所述的计算机实现的方法,其中,生成的所述数据与所述物理模型的位置、速度、加速度或旋转中的一个或多个相关联。
8.根据权利要求1所述的计算机实现的方法,其中,所述AR应用的测试进一步包括:
使用虚拟环境来发起所述AR应用以在装置模拟器上运行。
9.一种其上存储有计算机可执行程序代码的非暂时性计算机可读存储介质,所述计算机可执行程序代码在计算机***上执行时使所述计算机***执行操作,包括:
发起目标用于测试的增强现实AR应用;以及
控制物理模型以对模拟装置在模拟现实世界空间中的移动进行模拟,所述物理模型的模拟移动生成用于测试所述AR应用的数据。
10.根据权利要求9所述的计算机可读存储介质,进一步包括用于发起所述AR应用以在装置模拟器上运行的代码。
11.根据权利要求10所述的计算机可读存储介质,其中,使用虚拟环境来发起所述AR应用。
12.根据权利要求10所述的计算机可读存储介质,其中,使用虚拟装置配置信息来发起所述装置模拟器。
13.根据权利要求10所述的计算机可读存储介质,进一步包括:
将错误引入正被生成的所述数据中以模拟故障场景。
14.根据权利要求9所述的计算机可读存储介质,进一步包括用于使用用户控件来控制所述物理模型的代码,所述用户控件驱动所述物理模型以模拟所述模拟装置的移动。
15.根据权利要求9所述的计算机可读存储介质,其中,生成的所述数据与所述物理模型的位置、速度、加速度或旋转中的一个或多个相关联。
16.根据权利要求9所述的计算机可读存储介质,其中,所述AR应用的测试进一步包括用于以下的代码:
使用虚拟环境来发起所述AR应用以在装置模拟器上运行。
17.一种装置模拟器,包括:
物理模型;
模拟传感器;以及
用户控件,
所述装置模拟器被配置成发起目标用于测试的增强现实AR应用,
所述物理模型被配置成对模拟装置在模拟现实世界空间中的移动进行模拟,所述物理模型的模拟移动生成用于测试所述AR应用的数据,以及
所述模拟传感器从所述物理模型接收所生成的数据并且与AR跟踪***共享。
18.根据权利要求17所述的装置模拟器,其中,使用虚拟环境来发起所述AR应用。
19.根据权利要求18所述的装置模拟器,其中,使用虚拟装置配置信息来发起所述装置模拟器。
20.根据权利要求17所述的装置模拟器,其中,所述用户控件被配置成驱动所述物理模型以模拟所述模拟装置的移动。
21.根据权利要求17所述的装置模拟器,其中,生成的所述数据与所述物理模型的位置、速度、加速度或旋转中的一个或多个相关联。
22.根据权利要求17所述的装置模拟器,其中,所述装置模拟器进一步被配置成使用虚拟环境来发起所述AR应用。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762608782P | 2017-12-21 | 2017-12-21 | |
US62/608,782 | 2017-12-21 | ||
US16/226,157 | 2018-12-19 | ||
US16/226,157 US10846205B2 (en) | 2017-12-21 | 2018-12-19 | Enhancements to support testing of augmented reality (AR) applications |
PCT/US2018/066977 WO2019126598A1 (en) | 2017-12-21 | 2018-12-20 | Enhancements to support testing of augmented reality (ar) applications |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110663032A true CN110663032A (zh) | 2020-01-07 |
CN110663032B CN110663032B (zh) | 2023-06-30 |
Family
ID=66951165
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880034333.2A Active CN110663032B (zh) | 2017-12-21 | 2018-12-20 | 加强对增强现实(ar)应用的测试的支持 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10846205B2 (zh) |
EP (1) | EP3729274A1 (zh) |
CN (1) | CN110663032B (zh) |
WO (1) | WO2019126598A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113260430A (zh) * | 2021-03-31 | 2021-08-13 | 华为技术有限公司 | 一种场景处理方法、装置、***及相关设备 |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11354459B2 (en) * | 2018-05-08 | 2022-06-07 | Microsoft Technology Licensing, Llc | Computer vision and speech algorithm design service |
US11087176B2 (en) * | 2018-05-08 | 2021-08-10 | Microsoft Technology Licensing, Llc | Spatial localization design service |
US11687427B2 (en) * | 2020-04-03 | 2023-06-27 | T-Mobile Usa, Inc. | Multiple XR extended reality application validation process and testing |
US11144440B1 (en) * | 2020-08-21 | 2021-10-12 | T-Mobile Usa, Inc. | Implementing device-specific libraries for validation testing |
US11823344B2 (en) * | 2021-05-07 | 2023-11-21 | Msg Entertainment Group, Llc | Mobile device tracking module within a VR simulation |
US20220358027A1 (en) * | 2021-05-07 | 2022-11-10 | Msg Entertainment Group, Llc | Tool for mobile app development and testing using a physical mobile device |
US11928047B2 (en) * | 2021-09-28 | 2024-03-12 | International Business Machines Corporation | Contextual data generation for application testing in mixed reality simulations |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106471505A (zh) * | 2014-06-30 | 2017-03-01 | 微软技术许可有限责任公司 | 使用物理引擎控制物理玩具 |
CN107250891A (zh) * | 2015-02-13 | 2017-10-13 | Otoy公司 | 头戴式显示器与真实世界对象之间的相互通信 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9880553B1 (en) * | 2015-04-28 | 2018-01-30 | Hrl Laboratories, Llc | System and method for robot supervisory control with an augmented reality user interface |
US10748339B2 (en) * | 2016-06-03 | 2020-08-18 | A Big Chunk Of Mud Llc | System and method for implementing computer-simulated reality interactions between users and publications |
US10782668B2 (en) * | 2017-03-16 | 2020-09-22 | Siemens Aktiengesellschaft | Development of control applications in augmented reality environment |
-
2018
- 2018-12-19 US US16/226,157 patent/US10846205B2/en active Active
- 2018-12-20 WO PCT/US2018/066977 patent/WO2019126598A1/en unknown
- 2018-12-20 EP EP18834242.2A patent/EP3729274A1/en active Pending
- 2018-12-20 CN CN201880034333.2A patent/CN110663032B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106471505A (zh) * | 2014-06-30 | 2017-03-01 | 微软技术许可有限责任公司 | 使用物理引擎控制物理玩具 |
CN107250891A (zh) * | 2015-02-13 | 2017-10-13 | Otoy公司 | 头戴式显示器与真实世界对象之间的相互通信 |
Non-Patent Citations (1)
Title |
---|
JULIAN HORSEY: "Microsoft HoloLens Emulator Lets Developers Create And Test Apps Without Headset Hardware", 《HTTPS://WWW.GEEKY-GADGETS.COM/MICROSOFT-HOLOLENS-EMULATOR-31-03-2016/?NOWPROCKET=1》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113260430A (zh) * | 2021-03-31 | 2021-08-13 | 华为技术有限公司 | 一种场景处理方法、装置、***及相关设备 |
WO2022205102A1 (zh) * | 2021-03-31 | 2022-10-06 | 华为技术有限公司 | 一种场景处理方法、装置、***及相关设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110663032B (zh) | 2023-06-30 |
US10846205B2 (en) | 2020-11-24 |
US20190196940A1 (en) | 2019-06-27 |
EP3729274A1 (en) | 2020-10-28 |
WO2019126598A1 (en) | 2019-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110663032B (zh) | 加强对增强现实(ar)应用的测试的支持 | |
CA3042322C (en) | Object display method, terminal device, and computer storage medium | |
CN102681958B (zh) | 使用物理姿势传输数据 | |
US11887258B2 (en) | Dynamic integration of a virtual environment with a physical environment | |
JP7008730B2 (ja) | 画像に挿入される画像コンテンツについての影生成 | |
CN109923509B (zh) | 虚拟现实中的对象的协同操纵 | |
US20200342669A1 (en) | Managing content in augmented reality | |
US20120242664A1 (en) | Accelerometer-based lighting and effects for mobile devices | |
CN111771180A (zh) | 增强现实环境中对象的混合放置 | |
US20190340317A1 (en) | Computer vision through simulated hardware optimization | |
US11986729B2 (en) | Method and system for retargeting a human component of a camera motion | |
Cavallo et al. | Cave-AR: a VR authoring system to interactively design, simulate, and debug multi-user AR experiences | |
CN107492144B (zh) | 光影处理方法及电子设备 | |
US20220058823A1 (en) | Method and system for displaying a large 3d model on a remote device | |
US11003812B2 (en) | Experience driven development of mixed reality devices with immersive feedback | |
US20210264673A1 (en) | Electronic device for location-based ar linking of object-based augmentation contents and operating method thereof | |
Rose et al. | Augmented Reality: A Review of available Augmented Reality packages and evaluation of their potential use in an educational context | |
US11380073B2 (en) | Method and system for aligning a digital model of a structure with a video stream | |
Olmedo et al. | Towards the commodification of augmented reality: Tools and platforms | |
CN113614794B (zh) | 管理增强现实中的内容 | |
JP2020509439A (ja) | 仮想現実における保持オブジェクトの安定化 | |
Halnum | Low-latency head-tracking for AR | |
KR20230112946A (ko) | 경로 손실 정보를 획득하는 전자 장치의 동작 방법 및 이를 지원하는 전자 장치 | |
Roche | Hardware Comparison | |
KR20120136965A (ko) | 비주얼 객체를 이용한 사용자정보 제공 방법, 시스템 및 이를 위한 단말기 |
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 |