CN110850958A - 用于小凹模拟的系统和设备及计算机可读存储设备 - Google Patents
用于小凹模拟的系统和设备及计算机可读存储设备 Download PDFInfo
- Publication number
- CN110850958A CN110850958A CN201910661408.6A CN201910661408A CN110850958A CN 110850958 A CN110850958 A CN 110850958A CN 201910661408 A CN201910661408 A CN 201910661408A CN 110850958 A CN110850958 A CN 110850958A
- Authority
- CN
- China
- Prior art keywords
- virtual
- processor
- component
- simulation
- user
- 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
- 238000004088 simulation Methods 0.000 title claims abstract description 142
- 239000013598 vector Substances 0.000 claims abstract description 167
- 238000000034 method Methods 0.000 claims description 41
- 238000012545 processing Methods 0.000 claims description 14
- 238000009877 rendering Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 6
- 230000001815 facial effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 15
- 208000031963 Beta-mercaptolactate cysteine disulfiduria Diseases 0.000 description 13
- 230000000007 visual effect Effects 0.000 description 13
- 230000003190 augmentative effect Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 6
- 230000007717 exclusion Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 201000003152 motion sickness Diseases 0.000 description 2
- 210000001525 retina Anatomy 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/0093—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00 with means for monitoring data relating to the user, e.g. head-tracking, eye-tracking
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/017—Head mounted
-
- 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
- G06F3/013—Eye tracking input arrangements
-
- 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/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- 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/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/0227—Cooperation and interconnection of the input arrangement with other functional units of a computer
-
- 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/526—Mutual exclusion algorithms
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- 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
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/111—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation
- H04N13/117—Transformation of image signals corresponding to virtual viewpoints, e.g. spatial image interpolation the virtual viewpoint locations being selected by the viewers or determined by viewer tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/10—Processing, recording or transmission of stereoscopic or multi-view image signals
- H04N13/106—Processing image signals
- H04N13/122—Improving the 3D impression of stereoscopic images by modifying image signal contents, e.g. by filtering or adding monoscopic depth cues
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/366—Image reproducers using viewer tracking
- H04N13/383—Image reproducers using viewer tracking for tracking with gaze detection, i.e. detecting the lines of sight of the viewer's eyes
-
- G—PHYSICS
- G02—OPTICS
- G02B—OPTICAL ELEMENTS, SYSTEMS OR APPARATUS
- G02B27/00—Optical systems or apparatus not provided for by any of the groups G02B1/00 - G02B26/00, G02B30/00
- G02B27/01—Head-up displays
- G02B27/0179—Display position adjusting means not related to the information to be displayed
- G02B2027/0187—Display position adjusting means not related to the information to be displayed slaved to motion of at least a part of the body of the user, e.g. head, eye
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Optics & Photonics (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开用于小凹模拟的系统和设备及计算机可读存储设备。一种系统包括头戴式显示器(HMD)、处理器和存储器。HMD被配置为生成指示用户的注视向量和用户的位置的传感器数据。处理器被配置为与HMD通信。存储器耦接到处理器并且存储指令,这些指令当由处理器执行时使得处理器获得指示用户的注视向量和用户的位置的数据。这些指令还使得处理器基于用户的位置和虚拟部件的位置来确定虚拟现实模拟器的虚拟部件的部件向量。这些指令还使得处理器基于注视向量和部件向量来计算对准值,并且基于对准值来调整虚拟部件的模拟设置。
Description
技术领域
本公开总体上涉及用于虚拟现实应用和增强现实应用的小凹模拟(foveatedsimulation)。
背景技术
小凹渲染是一种基于固定点(诸如用户正在看的位置)改变图像的细节的技术。计算机可以使用小凹渲染来减少显示图像中包含的总体细节量,并且将更高的细节水平集中在用户视野的中心附近。然而,即使使用小凹渲染,当前的技术也无法以高保真度运行复杂的虚拟现实应用或增强现实应用。
发明内容
在特定实现方式中,一种系统包括头戴式显示器(HMD)、处理器和存储器。HMD被配置为生成指示用户的注视向量和用户的位置的传感器数据。处理器被配置为与HMD通信。存储器耦接到处理器并且存储指令,这些指令当由处理器执行时使得处理器获得指示用户的注视向量和用户的位置的数据。这些指令还使得处理器基于用户的位置和虚拟部件的位置来确定虚拟现实模拟器的虚拟部件的部件向量。这些指令还使得处理器基于注视向量和部件向量来计算对准值,并且基于对准值来调整虚拟部件的模拟设置。
在另一特定实现方式中,一种设备包括处理器和存储器。存储器耦接到处理器并且存储指令,这些指令当由处理器执行时使得处理器获得指示用户的注视向量和用户的位置的数据。这些指令还使得处理器基于用户的位置和虚拟部件的位置来确定虚拟现实模拟器的虚拟部件的部件向量。这些指令还使得处理器基于注视向量和部件向量来计算对准值,并且基于对准值来调整虚拟部件的模拟设置。
在又一特定实现方式中,计算机可读存储设备包括指令,这些指令在被执行时使得处理器进行包括获得指示用户的注视向量和用户的位置的数据的操作。这些指令还使得处理器进行包括基于用户的位置和虚拟部件的位置来确定虚拟现实模拟器的虚拟部件的部件向量的操作。这些指令还使得处理器进行包括基于注视向量和部件向量来计算对准值,并且基于对准值来调整虚拟部件的模拟设置的操作。
通过使用小凹模拟,系统消耗较少的处理和系统资源,并且在注视固定区域中提供类似水平的视觉质量和模拟保真度。额外资源可以用于增加视觉帧速率、降低晕动和/或改善视觉质量,从而改善用户在VR中的沉浸感。与使用相同计算硬件的非小凹模拟相比,小凹模拟能够以相对较高的视觉保真度进行模拟。
附图说明
图1是示出用于小凹模拟的系统的示例的框图;
图2是由图1的系统进行的小凹模拟的方法的示例的流程图;
图3是示出图1的VR应用的虚拟环境的示例的示图;
图4是示出图3的虚拟环境的另一示例的示图;
图5是示出图3的虚拟环境的另一示例的示图;
图6是示出图3的虚拟环境的另一示例的示图;
图7是示出图1的VR应用的虚拟环境的平面的示例的示图;
图8是小凹模拟的方法的示例的流程图;以及
图9是根据本公开的被配置为支持小凹模拟的计算环境的特定示例的框图。
具体实施方式
所公开的实施方式提供了用于小凹模拟的系统和方法。小凹模拟可以与虚拟现实应用和增强现实应用一起使用。小凹模拟减少了在用户的注视固定点之外的虚拟现实应用和增强现实应用的虚拟部件的计算资源。用户的注视固定点可以由位于头戴式显示器内的注视跟踪系统确定。
用于虚拟现实应用和增强现实应用的高保真度模拟需要在模拟和渲染视觉场景(例如,虚拟环境或增强环境)之间分配计算负荷。通过减少用于模拟和渲染这两者的在注视固定点之外的计算负荷,可以获得明显的计算性能益处。额外的计算资源可以用于增加视觉帧速率、降低晕动和/或改善视觉质量,这提高了用户在虚拟现实应用或增强现实应用中的沉浸感。
图1示出了用于小凹模拟的系统102的示例的框图100。系统102包括计算机112和头戴式显示器(HMD)114。计算机112包括处理器122和耦接到处理器122的存储器124。存储器124存储指令,当由处理器122执行时,这些指令使得处理器122执行各种操作以使用VR应用126来启用小凹模拟。处理器122基于用户正在看的位置(如由注视向量172所指示的)来进行小凹模拟。在一些实现方式中,处理器122基于处理器122、计算机112或两者的资源来进行选择性的小凹模拟,如本文中进一步描述的。
虚拟现实(VR)应用126被配置为提供虚拟环境(例如,图3至图7的虚拟环境302)和用于娱乐、游戏或培训目的的虚拟环境的模拟。如图1的示例系统102中所示,VR应用126是飞行模拟器应用。VR应用126包括对应于飞行器驾驶舱的实际部件的虚拟部件132,诸如,航空电子设备和控制系统。每个虚拟部件132是飞行器的实际硬件和/或软件部件的模拟版本或仿真版本,并且配置为模拟或仿真实际硬件和/或软件部件的操作。例如,VR应用126的虚拟部件132可以模拟(例如,近似)或仿真(例如,复制)由飞行器的硬件部件进行的操作以提供逼真的虚拟环境。如下所述,术语模拟和模拟化涵盖了模拟(即,至少近似地仿效)和仿真(即,通过复制来仿效)。为了说明,仿真是指复制被仿真的系统的内部过程,以在给定特定输入的情况下产生相同的输出。模拟是指在给定用于系统的特定输入的情况下生成相同的输出。然而,在模拟中,不必复制内部过程(即,内部过程可以被复制或可以被改变)。
VR应用126还包括模拟编程134、模拟设置136和模拟阈值138。处理器122基于模拟编程134,模拟设置136和模拟阈值138生成虚拟部件132(以模拟实际部件),如本文中进一步描述的。每个虚拟部件132可以具有关联的或对应的模拟编程134、模拟设置136和模拟阈值138。调整模拟编程134、模拟设置136和模拟阈值138中的一个或多个来调整VR应用126的模拟的保真度。例如,降低特定模拟编程134的准确度、降低特定模拟设置136和/或降低特定模拟阈值138降低了VR应用126的特定虚拟部件132对实际部件的模拟的保真度。通过降低VR应用126的模拟的保真度,VR应用126较少的消耗处理器122的处理资源(例如,中央处理单元(CPU)资源)和计算机112的计算资源(例如,随机存取存储器(RAM)、图形处理单元(GPU)资源等)。
计算机112还包括网络接口128和I/O接口130。网络接口128耦接到处理器122并且被配置为与一个或多个网络设备、HMD 114或其组合通信。网络接口128可以包括或对应于有线接口、无线接口或其组合。I/O接口130耦接到处理器122,并且被配置为向诸如HMD 114或一个或多个输入设备116的其他设备发送信号和/或数据和从诸如HMD 114或一个或多个输入设备116的其他设备接收信号和/或数据。在一些实现方式中,I/O接口130包括通用串行总线(USB)3.0接口、DisplayPort接口、高清晰度多媒体接口(HDMI)接口或其组合。
HMD 114包括显示器142、一个或多个传感器144和I/O接口130A。在一些实现方式中,HMD 114还包括处理器和存储器,类似于处理器122和存储器124。在其他实现方式中,计算机112集成在HMD 114内,并且系统102不包括单独的计算机112。另外,HMD 114可以包括被配置为与一个或多个网络设备、计算机112或其组合进行通信的网络接口,诸如,网络接口128A。
显示器142被配置为显示或输出视频。例如,显示器142被配置为显示由计算机112生成的图形用户界面(GUI)192。GUI 192包括或对应于描绘VR应用126的虚拟环境的场景或帧。
一个或多个传感器144被配置为生成传感器数据162,传感器数据162指示虚拟环境中用户(例如,虚拟环境中的用户的替身)的注视向量172和用户的位置174。注视向量172对应于用户在虚拟环境中的观看方向。注视向量172可以对应于头部的方向(例如,当由头部跟踪器确定时)或眼睛的方向(例如,当由眼睛跟踪器确定时)。在一些实现方式中,注视向量172是单位向量。一个或多个传感器144包括一个或多个陀螺仪152、加速度计154、眼睛跟踪器、红外传感器/发射器、电光传感器/发射器、惯性传感器或其组合。眼睛跟踪器包括配置为跟踪用户的视网膜(诸如,视网膜的中央凹)的相机或其他设备。
I/O接口130A被配置为向诸如计算机112或者一个或多个输入设备116的其他设备发送信号和/或数据和从诸如计算机112或者一个或多个输入设备116的其他设备接收信号和/或数据。例如,I/O接口130A将传感器数据162发送到计算机112和/或将注视向量172和位置174(即,指示注视向量172和位置174的数据)发送到计算机112。在HMD 114的I/O接口130A将指示注视向量172和位置174的数据发送到计算机112的实现方式中,HMD 114包括类似于处理器122的处理器,并且HMD 114的处理器处理传感器数据162以生成指示注视向量172和位置174的数据。可替代地,网络接口128A被配置为将传感器数据162发送到计算机112和/或将注视向量172和位置174(即,指示注视向量172和位置174的数据)发送到计算机112。
一个或多个输入设备116被配置为基于用户输入生成信号和/或数据,并且将信号和/或数据输出到计算机112、HMD 114或两者。在一些实现方式中,一个或多个输入设备116包括或对应于键盘和鼠标。在其他实现方式中,一个或多个输入设备116包括或对应于控制器,诸如游戏手柄或操纵杆。作为说明性的非限制性示例,当VR应用126是飞行模拟器应用时,一个或多个输入设备116包括或对应于飞行器的一个或多个仪表控制面板、飞行器的操纵器(inceptor)、控制轭、一个或多个舵踏板、集合体(a collective)、循环体或其组合。一个或多个输入设备116可以经由有线接口或无线接口耦接到计算机112、HMD 114或两者。
尽管在图1中描述了VR应用126,但是在其他实现方式中,系统102包括增强现实(AR)应用。例如,系统102(例如,其HMD 114)可以是便携式的,并且可以在物理环境上叠加虚拟物体的飞行器的实际驾驶舱内部操作,以生成增强环境。作为另一示例,系统102可以在飞行器的复制驾驶舱中操作,并且虚拟物体可以叠加在复制驾驶舱上。
在一些实现方式中,处理器122基于处理器122的资源和/或计算机112的资源采用选择性小凹模拟。例如,资源可以是已用资源或可用资源。为了说明,处理器122确定处理器122的可用资源是否大于选择性小凹阈值。响应于确定了处理器122的可用资源大于选择性小凹阈值,处理器122将虚拟部件132的模拟设置136调整为基值(例如,表示100%或高保真度模拟的默认值)。响应于确定了处理器122的可用资源小于或等于选择性小凹阈值,处理器122进行小凹模拟,诸如进行参考图2描述的一个或多个操作。
附加地或可替代地,处理器122基于用户输入采用选择性小凹模拟。例如,计算机112的用户可以设置VR应用126的小凹模拟设置以开启或关闭小凹模拟。
在一些实现方式中,图1的系统102可以进行小凹渲染以进一步降低处理资源和系统资源,并且能够实现复杂的VR应用126的高保真度模拟。参考图2来描述图1的系统102的操作。
图2是由图1的系统102进行的小凹模拟的示例的流程图200。由流程图200表示的方法可以由计算机112、HMD 114或其组合执行。
在202处,系统102获得指示用户的注视向量172和用户的位置174的数据。例如,处理器122经由I/O接口130从HMD 114接收传感器数据162。作为另一示例,处理器122经由网络接口128从HMD 114接收传感器数据162。处理器122基于接收到的传感器数据162生成(例如,计算)用户的注视向量172和用户的位置174。可替代地,处理器122经由I/O接口130或网络接口128接收指示用户的注视向量172和用户的位置174的数据。为了说明,HMD 114基于传感器数据162生成用户的注视向量172和位置174,并且处理器122接收用户的注视向量172和用户的位置174,即,指示用户的注视向量172和用户的位置174的数据。
在204处,系统102基于用户的位置174和虚拟部件132的位置来确定VR应用126的虚拟部件132(例如,模拟的硬件部件)的部件向量176。例如,处理器122基于用户的位置174和特定虚拟部件132的中心点(例如,图7的中心点762)来确定特定虚拟部件132的部件向量176。
在206处,系统102基于注视向量172和部件向量176来计算对准值178。例如,处理器122基于注视向量172和特定虚拟部件132的部件向量176的点积来计算特定虚拟部件132的对准值178。为了说明,处理器122将注视向量172和部件向量176转换(例如,标准化)为单位向量,并且基于注视向量172的单位向量(即,单位向量符号中的注视向量172)和特定虚拟部件132的部件向量176的单位向量(即,单位向量符号中的部件向量176)的点积来计算特定虚拟部件132的对准值178。可替代地,注视向量172和部件向量176中的一个或多个被预先确定或生成为单位向量,并且处理器122基于注视向量172和/或部件向量176的点积来计算对准值178。
在208处,系统102缩放对准值178以生成缩放的对准值278。例如,处理器122缩放原始对准值(例如,对准值178)以生成缩放的对准值278。可以线性地或非线性地缩放对准值178以生成缩放的对准值278。缩放对准值178使得系统102能够按比例调整(例如,减小)对远离用户的注视中心的部件的模拟,并且基于区域或区段可以提供比调整(例如,减小)更精细的控制。在特定实施例中,用于缩放对准值178的缩放因子或用于计算缩放的对准值278的方法是基于用户的视觉限制或边界。为了说明,缩放因子可以被确定为基于用户对用户视觉中心之外的物体的视觉清晰度的降低来缩放对准值178。
作为说明性的非限制性示例,当应用线性缩放时,对准值178可以被缩放为0到1(并且包括0和1)的范围内的值。当注视向量172和部件向量176是单位向量时,对准值178可以具有-1到1(并且包括-1和1)的范围。在该实施例中,可以计算缩放的对准值278(例如,线性缩放的对准值),例如,向对准值178加1并将得到的和除以2。
作为另一说明性的非限制性示例,当应用非线性缩放时,对准值178可以缩放为0到1(并且包括0和1)范围内的值。当注视向量172和部件向量176是单位向量时,对准值178可以具有-1到1(并且包括-1和1)的范围。如上所述,对准值178可以线性缩放为一个中间值,并且然后该中间值可以由对数方程(例如,底数为10、2、e、1/10或1/2等的对数)或指数方程非线性地缩放以生成缩放的对准值278(例如,非线性缩放的对准值)。应用这种非线性缩放更好地将缩放与得到的缩放的对准值278相关联,以匹配或近似用户如何在用户的注视中心之外感知物体(例如,物体的细节和亮度)。
在210处,系统102确定虚拟部件132是否具有面部平面282。例如,处理器122确定特定虚拟部件132是否具有面部平面282或是否与面部平面282相关联。如果特定虚拟部件132与面部平面282相关联,则识别或启用面部平面282的渲染的数据存储在存储器124或VR应用126中。附加地或可替代地,处理器122可以基于特定虚拟部件132的边界生成(例如,计算)面部平面282。例如,处理器122基于虚拟环境中的特定虚拟部件132的表面的角的坐标来生成面部平面282。
在212处,响应于确定虚拟部件132具有面部平面282,系统102基于注视向量和面部平面282的角来确定虚拟部件132的面部平面282的可视区域284。例如,处理器122基于将面部平面282投影到用户的注视平面上来计算特定虚拟部件132的面部平面282的可视区域284(关于用户/注视向量),如参考图7进一步描述的。
在214处,系统102基于面部平面282的可视区域284和对准值178计算节流值182。例如,处理器122基于缩放的对准值278(或对准值178)与可视区域284的乘积来计算节流值182。在特定实现方式中,处理器122通过将一常数或一函数应用于缩放的对准值278与可视区域284的乘积来进一步计算节流值182。将常数或函数应用于节流值182可以产生模拟水平值。基于模拟水平值来调整虚拟部件132的模拟设置136(即,模拟的保真度)。
在一些实现方式中,系统102基于节流值182使用进程间通信(IPC)的方法来将模拟值分配给(例如,调整或设置模拟编程134、模拟设置136或模拟阈值138的值)特定虚拟部件132。将模拟值分配给特定虚拟部件132调整了特定虚拟部件132的保真度。因此,调整了VR应用126的保真度并且调整了系统102使用的处理和计算资源(诸如计算机112的处理和计算资源)的量。
如图2所示,系统102在216处基于节流值182将临界区段互斥(互斥量)值292分配给虚拟部件132。例如,处理器122将临界区段互斥值292设置为节流值182的值,并且基于临界区互斥值292来调整特定虚拟部件132的模拟编程134、模拟设置136和模拟阈值138中的一个或多个。可以使用IPC的其他方法来分配模拟值,诸如:(1)使用消息队列将来自小凹模拟处理的消息发送(例如,传递)到模拟编程134;或者,(2)使用网络套接字接口(networksocket interface,网络插座接口)将TCP消息发送到模拟编程134。
可替代地,响应于确定虚拟部件132不具有面部平面282,系统102进行到步骤216并且使用IPC的方法将缩放的对准值278(或对准值178)分配给虚拟部件132。例如,处理器122将临界区段互斥值292设置为缩放的对准值278的值,并且基于临界区段互斥值292来调整特定虚拟部件132的模拟编程134、模拟设置136和模拟阈值138中的一个或多个。
当虚拟部件132是或包括虚拟显示器时,调整虚拟显示器的模拟包括降低虚拟显示器的分辨率、降低虚拟显示器对虚拟环境的刷新率、降低与虚拟显示器相关联的渲染帧速率(例如,帧每秒(FPS))、或其组合。
控制加载系统被配置为在飞行模拟器或训练设备中向用户(例如,飞行员)提供逼真的飞行控制力。控制加载系统接收来自VR应用126(例如,飞行模拟器)和用户的输入,并且向VR应用126(例如,飞行模拟器)和用户提供输出。输入包括施加力和飞行器状态,并且输出包括飞行控制位置和力。
当虚拟部件132是控制加载系统时,调整控制加载系统的模拟包括降低控制加载系统的模拟水平,诸如,通过使用编程快捷方式(例如,跳过步骤或例程)或通过使用近似(例如,使用备用代码来减少处理资源或计算机资源)。当虚拟部件132是操纵器(例如,引导和操纵飞行器的控制输入设备)时,调整操纵器的模拟包括降低与操纵器相关联的处理频率(例如,更新频率)。例如,确定操纵器位置的操纵器的传感器以更高或更低的频率更新。
可以针对VR应用126的每个虚拟部件132或针对VR应用126的选择虚拟部件132重复步骤204至216(如虚线框222中所示)。例如,处理器122可以选择用于小凹模拟的一个或多个特定部件类型,如参考图3和图4进一步描述的。
图3至图6是示出VR应用126的虚拟环境302的视觉渲染的特定示例的示图。视觉渲染可以由HMD 114的显示器142或耦接到计算机112的另一显示设备输出。
图3是示出图1的VR应用126的虚拟环境302的示例的示图300。在图3中,虚拟环境302包括多个虚拟部件132,诸如,虚拟部件312至332。虚拟部件132包括电子飞行仪表系统(EFIS)控制面板312、模式控制面板314、EFIS主要功能显示器(PFD)316、EFIS导航显示器318、待机飞行显示器(ISFD)320、无线电磁指示器(RMI)322、发动机多功能显示器(MFD)324、多功能控制显示单元(MCDU)326、第一仪表盘328、第二仪表盘330和第三仪表盘332。如图3中所示,虚拟环境302可以具有特定虚拟部件132的多个实例。例如,虚拟环境302具有第一(例如,左)EFIS控制面板312A和第二(例如,右)EFIS控制面板312B、第一(例如,左)EFISPFD 316A和第二(例如,右)EFIS PFD 316B、第一(例如,左)EFIS导航显示器318A和第二(例如,右)EFIS导航显示器318B、以及第一(例如,左)MCDU 326A和第二(例如,右)MCDU 326B。
虚拟部件312、314、328、330和332对应于控件,诸如虚拟控制面板、开关、操纵器等。虚拟部件316至326对应于显示器,即,虚拟显示器。
在一些实现方式中,图1的系统102基于虚拟部件类型来进行小凹模拟。例如,处理器122在可用资源小于第一阈值(例如,最高阈值)时首先对虚拟显示器进行小凹模拟,在可用资源小于第二阈值(例如,中间阈值)时对虚拟显示器和虚拟控件进行小凹模拟,并且在可用资源小于第三阈值(例如,最低阈值)时对虚拟显示器、虚拟控件和高敏锐度部件和/或关键部件进行小凹模拟。高敏锐度部件包括具有亮灯或闪烁灯的部件,而关键部件包括对时间敏感的部件(警报、警告、通知、互连部件等)。
在一些实现方式中,处理器122对VR应用126的虚拟环境302的区或区域进行小凹模拟,如参考图4至图6进一步描述的。
图4是示出图3的虚拟环境302的另一示例的示图400。图4描绘了在看向虚拟环境302的第一部分(诸如,虚拟环境302的中心部分)时的用户视野。例如,图4中所示的示例的注视向量172将指示用户正在看向与发动机MFD 324一致的方向。在一些实现方式中,图1的系统102基于注视向量172将虚拟环境302划分成多个区和/或生成一个或多个区域,诸如,第一区域412和第二区域414。如图4中所示,第一区域412是圆,并且第二区域414是椭圆。
系统102可以基于区和/或区域进行小凹模拟。例如,系统102可以为不同区域中的部件设置不同水平的模拟。为了说明,系统102将第一区域412内的虚拟部件132设置为第一模拟水平,将第二区域414内(以及第一区域412之外)的虚拟部件132设置为第二模拟水平,并且将第二区域414之外的虚拟部件设置为第三模拟水平。
作为非限制性示例,在图4中,发动机MFD 324具有100%的模拟设置136(例如,基值),第一EFIS导航显示器318A和第二EFIS导航显示器318B具有80%的模拟设置136,并且第一EFIS PFD 316A和第二EFIS PFD 316B具有20%的模拟设置136。在图4的示例中,第四模拟水平(例如,60%的模拟设置136)可以用于第一MCDU 326A和第二MCDU 326B,因为每个的小部分在第二区域414内。为了说明,虚拟部件132的对准值178(或缩放的对准值278或节流值182)在对应于特定模拟设置136的值的范围内。例如,第一EFIS导航显示器318A和第二EFIS导航显示器318B具有低于第一模拟阈值138并高于第二模拟阈值138的对准值178,并且第一EFIS PFD 316A和第二EFIS PFD 316B具有低于第二模拟阈值138并高于第三模拟阈值138的对准值178。
另外,虚拟环境302的特定虚拟部件132可以具有基于模拟阈值138或部件类型的模拟设置136。例如,由于与模式控制面板314相关联的设置,即使模式控制面板314在第二区域414之外,模式控制面板314也可以被设置为第二水平(例如,80%的模拟设置136)。为了说明,模式控制面板314具有对应于特定模拟水平或模拟值(例如,第二水平或80%)的模拟阈值138。尽管图4中没有示出ISFD 320和RMI 322的模拟设置136,但是ISFD 320和RMI322具有80%的模拟设置136,因为ISFD 320和RMI 322完全在第二区域414内,并且仅部分地在第一区域412内。
图5是示出图3的虚拟环境302的另一示例的示图500。图5描绘了在看向虚拟环境302的第二部分(诸如,虚拟环境302的左中部分)时的用户视野。系统102基于更新的用户注视位置调整(例如,降低或增加)虚拟部件132的模拟设置136。
在图5的非限制性示例中,第一EFIS导航显示器318A具有100%的模拟设置136(例如,基值),因为第一EFIS导航显示器318A在用户视野的中心区(例如,第一区域412)内。在该示例中,第一EFIS PFD 316A和发动机MFD 324具有80%的模拟设置136,因为它们在用户视野的中心区附近(例如,第二区域414)内,并且相对于其他虚拟部件132,对准值178(或缩放的对准值278)更高。在一些实现方式中,第一MCDU 326A还可以具有80%的模拟设置,因为其渲染区域的大约一半在用户视野的中心区附近内。第二EFIS导航显示器318B和第二MCDU 326B具有60%的模拟设置136,因为它们与中心区附近的一部分部分地重叠,并且相对于第一EFIS PFD 316A和发动机MFD 324,对准值178(或缩放的对准值278)更低。第二EFIS PFD 316B具有40%的模拟设置136,因为第二EFIS PFD 316B不与中心区附近重叠并且距离中心区最远。因此,在图5的示例中,发动机MFD 324的模拟设置136降低(相对于图4),并且第一EFIS导航显示器318A的模拟设置136基于用户视野的变化而增加(相对于图4)。
图6是示出图3的虚拟环境302的另一示例的示图600。图6描绘了在看向虚拟环境302的第三部分(诸如,虚拟环境302的右上部分)时的用户视野。系统102基于更新的用户注视位置调整(例如,降低或增加)虚拟部件132的模拟设置136。
在图6的非限制性示例中,模式控制面板314具有100%的模拟设置136(例如,基值),因为模式控制面板314在用户视野的中心区(例如,第一区域412)内。在该示例中,第二EFIS导航显示器318B和发动机MFD 324具有60%的模拟设置136,因为它们在用户视野的中心区附近(例如,在其下方),并且相对于第一EFIS PFD 316A、第二EFIS PFD 316B、第一EFIS导航显示器318A、第一MCDU 326A和第二MCDU 326B,对准值178(或缩放的对准值278)更高。第二EFIS PFD 316B和第一EFIS导航显示器318A具有40%的模拟设置136,因为它们在中心区附近的极端(例如,在其下方),并且相对于第二EFIS导航显示器318B和发动机MFD324,对准值178(或缩放的对准值278)更低。第一EFIS PFD 316A、第一MCDU 326A和第二MCDU 326B具有20%的模拟设置136,因为它们不与中心区附近重叠(例如,部分地包含在其内)并且离中心区最远。因此,第一EFIS PFD 316A、第一MCDU 326A和第二MCDU 326B具有最低对准值178(或缩放的对准值278)。在使用节流值182来调整模拟设置136时,较低的对准值178(或缩放的对准值278)将产生较低的节流值182。
在图6所示的实现方式中,未调整对应于控件(例如,第一EFIS控制面板312A和第二EFIS控制面板312B)的虚拟部件132。在其他实现方式中,调整对应于控件(例如,第一EFIS控制面板312A和第二EFIS控制面板312B)的虚拟部件132。例如,基于控制模拟水平(诸如,100%、50%、25%等)而不是显示模拟水平(诸如100、80、60等)来调整对应于控件的虚拟部件132。可替代地,可以基于对应于显示器的虚拟部件132的显示器模拟水平来调整对应于控件的虚拟部件132。为了说明,第一EFIS控制面板312A具有20%的模拟设置136,因为第一EFIS控制面板312A不与中心区附近重叠(例如,部分地包含在其内)并且离中心区最远,并且第二EFIS控制面板312B具有80%的模拟设置136,因为第二EFIS控制面板312B位于用户视野的中心区附近内。
因此,在图4至图6的示例中,基于用户视野的改变来调整虚拟部件132的模拟设置136。因此,当用户看向虚拟环境302的不同部分时,系统102可以降低和增加虚拟部件132的模拟设置136。
图7是示出图1的VR应用126的虚拟环境302的平面的示例的示图700。在图7中,虚拟环境302描绘了注视向量172和与注视向量172正交的两个向量,即,正交注视向量712、714。如图7中所示,正交注视向量712、714包括第一正交注视向量712(例如,向上的注视向量)和第二正交注视向量714(例如,向右的注视向量)。正交注视向量712、714限定注视平面722,并且注视向量172是注视平面722的法向向量,即,与注视平面722垂直的向量。
可以通过将面部平面282投影到注视平面722上来计算特定虚拟部件132的面部平面282的可视区域284,如图7中所示。可视区域284对应于用户可见的面部平面282的区域。为了投影面部平面282,面部平面282的多个角742至748被投影到注视平面722上。例如,基于正交注视向量712、714将角742、744、746和748中的每一个投影到注视平面722上以生成对应的角752、754、756和758。为了说明,处理器122基于第二正交注视向量714(例如,向右的注视向量)和第一角742(即,从虚拟环境的原点到角的向量)的点积来计算注视平面722上的第一对应角752的第一坐标(例如,x轴坐标),并且基于第一正交注视向量712(例如,向上的注视向量)和第一角742的点积来计算注视平面722上的第一对应角752的第二坐标(例如,y轴坐标)。类似的处理可以用于角754、756和758中的一个或多个。可以基于角752、754、756和758来计算可视区域284的面积。
在其他实现方式中,将少于面部平面282所有角的角投影到注视平面722上以计算可视区域284。例如,在投影方形面部平面282时,可以将三个角投影到注视平面722上,并且可以由这三个投影的角来确定第四个角。
图7进一步示出了面部平面282的中心点762。用户的位置174和中心点762可以用于确定部件向量176。在一些实现方式中,处理器122基于虚拟部件132的角742至748来确定中心点762。
图8示出了小凹模拟的方法800的特定示例。方法800可以由图1的系统102(诸如计算机112、HMD 114或其组合)执行。方法800包括在802处获得指示用户的注视向量和用户的位置的数据。例如,数据可以包括或对应于图1的传感器数据162、注视向量172或位置174。为了说明,处理器122获得用户的注视向量172和位置174,如参考图1所描述的。
在一些实现方式中,获得802包括接收812传感器数据并生成指示注视向量和位置的数据。为了说明,处理器122经由I/O接口130或网络接口128从HMD 114接收传感器数据162,并且处理器122基于传感器数据162生成注视向量172和位置174。
在其他实现方式中,获得802包括接收814指示注视向量和位置的数据。例如,HMD114处理传感器数据162以确定注视向量172和位置174,并且处理器122从HMD 114接收指示注视向量172和位置174的数据。
方法800还包括在804处基于用户的位置和虚拟部件的位置来确定虚拟现实模拟器的虚拟部件的部件向量。例如,部件向量可以包括或对应于图1的部件向量176。为了说明,处理器122基于用户的位置174和虚拟部件132的面部平面282的中心点762确定虚拟部件132的部件向量176。在一些实现方式中,部件向量176被确定为单位向量或被转换或归一化为单位向量。在特定实现方式中,处理器122基于虚拟部件132的多个角742至748来计算中心点762。
方法800包括在806处基于注视向量和部件向量来计算对准值。例如,对准值可以包括或对应于图1的对准值178或图2的缩放的对准值278。为了说明,处理器122基于注视向量172和部件向量176(诸如,注视向量172和部件向量176的点积)来计算对准值178。在一些实现方式中,处理器122缩放对准值178以产生缩放的对准值278,如参考图2所描述的。
方法800还包括在808处基于对准值来调整虚拟部件的模拟设置。例如,模拟设置可以包括或对应于图1的模拟设置136。为了说明,处理器122基于对准值178或缩放的对准值278(其本身是基于对准值178生成的)来调整虚拟部件132的模拟设置136。在一些实现方式中,处理器122基于对准值178或缩放的对准值278的值来调整虚拟部件132的模拟设置136。在其他实现方式中,处理器122基于对准值178或缩放的对准值278以及虚拟部件132的可视区域284来计算节流值182。在这样的实现方式中,处理器122基于节流值182来调整虚拟部件132的模拟设置136,如参考图2所描述的。
与使用对准值178或缩放的对准值278的值相比,使用节流值182的值来调整虚拟部件132的模拟设置136考虑了虚拟部件132的可视区域284。因此,与类似的对准值178或缩放的对准值278的较小虚拟部件132相比,在用户看起来较大的虚拟部件132在模拟中将具有较少的减少。然而,与使用对准值178或缩放的对准值278的值相比,使用节流值182的值来调整虚拟部件132的模拟设置136利用了更多的系统资源。
在一些实现方式中,方法800包括基于注视向量来限定虚拟现实模拟器的第一虚拟区域,以及基于注视向量来限定虚拟现实模拟器的第二虚拟区域。在特定实现方式中,第一虚拟区域是圆并且第二区域虚拟是椭圆,并且第二虚拟区域大于第一虚拟区域,如参考图4至图6所描述的。虚拟区域的这种布置更接近地反映用户的视觉如何感知细节。在这样的实现方式中,方法800还包括将第一模拟设置应用于位于第一虚拟区域内的第一虚拟部件,将第二模拟设置应用于位于第一虚拟区域之外并位于第二虚拟区域内的第二虚拟部件,以及将第三模拟设置应用于位于第一虚拟区域和第二虚拟区域之外的第三虚拟部件,如参考图4至图6所描述的。虚拟部件可以是第一虚拟部件、第二虚拟部件、第三虚拟部件的一部分,或者与第一虚拟部件、第二虚拟部件和第三虚拟部件分开。
在一些实现方式中,方法800包括确定处理器、计算机或两者的可用资源。方法800还包括确定处理器、计算机或两者的可用资源是否大于模拟阈值。方法800还包括,基于确定了处理器、计算机或两者的可用资源大于模拟阈值,将虚拟部件的模拟设置调整为基值。可替代地,方法800包括,基于确定了处理器、计算机或两者的可用资源小于或等于模拟阈值,基于节流值来调整虚拟部件的模拟设置。在一些实现方式中,方法800还包括参考图1描述的一个或多个操作、图2的流程图200或其组合。
图8的方法800可以由专用集成电路(ASIC)、处理单元(诸如,中央处理单元(CPU))、控制器、另一硬件设备、固件设备、现场可编程门阵列(FPGA)设备或其任何组合来启动或控制。作为示例,图8的方法800可以由一个或多个处理器(诸如,包括在控制系统中的一个或多个处理器)来启动或控制。在一些实现方式中,图8的方法800的一部分可以与图2的流程图200的一个或多个操作进行组合。另外,参考图8描述的一个或多个操作可以是可选的和/或可以以与所示出或描述的顺序不同的顺序执行。参考图8描述的两个或更多个操作至少可以部分地同时进行。
图9是包括通用计算设备910的计算环境900的框图的图示,该通用计算设备910被配置为支持根据本公开的计算机实现的方法和计算机可执行的程序指令(或代码)的实施方式。例如,计算设备910或其部分可以执行指令以执行系统102的功能或系统102的一部分(诸如,计算机112或HMD 114)的功能。控制系统102(或系统102的一部分,诸如,计算机112或HMD 114)的指令可以包括用于执行获得指示用户的注视向量和用户的位置的数据的操作的指令。控制系统102(或系统102的一部分)的指令还可以包括执行基于用户的位置和虚拟部件的位置确定虚拟现实模拟器的虚拟部件的部件向量的操作的指令。控制系统102(或系统102的一部分)的指令可以包括基于注视向量和部件向量来执行计算对准值的操作的指令。控制系统102(或系统102的一部分)的指令还可以包括基于对准值来执行调整虚拟部件的模拟设置的操作的指令。计算设备910或其部分还可以执行指令以进行根据本文描述的任何流程图和/或方法(诸如,图2的流程图200、图8的方法800或其组合)的操作。
计算设备910包括处理器920。处理器920与系统存储器930、一个或多个存储设备940、一个或多个输入/输出接口950、一个或多个通信接口960或其组合通信。在特定实施方式中,处理器920包括或对应于计算机112的处理器122或HMD 114的处理器。系统存储器930包括易失性存储器设备(例如,随机存取存储器(RAM)设备)、非易失性存储器设备(例如,只读存储器(ROM)设备、可编程只读存储器和闪存)或两者。系统存储器930包括操作系统932,该系统存储器930可以包括用于引导计算设备910的基本输入/输出系统以及使计算设备910能够与用户、其他程序和其他设备交互的完整操作系统。系统存储器930包括可由处理器920执行的一个或多个应用934。例如,一个或多个应用934包括可由处理器920执行以控制系统102进行小凹模拟的指令。为了说明,一个或多个应用934包括VR应用126。
处理器920还与一个或多个存储设备940(诸如图1的存储器124)通信。例如,一个或多个存储设备940可以包括非易失性存储设备,诸如,磁盘、光盘或闪存设备。存储设备940可以包括可移动和不可移动的存储设备。存储设备940可以配置为存储操作系统、操作系统的图像、应用和程序数据936(诸如,对准值178)。存储设备940还可以存储模拟编程134、模拟设置136和/或模拟阈值138。在特定实施方式中,系统存储器930、存储设备940或两者包括有形计算机可读介质。
处理器920与一个或多个输入/输出接口950通信,输入/输出接口950使得计算设备910能够与一个或多个输入/输出设备970(诸如,图1的输入设备116或显示器142)通信以便于用户交互。输入/输出接口950可以包括串行接口(例如,通用串行总线(USB)接口或电气和电子工程师协会(IEEE)1394接口)、并行接口、显示适配器、音频适配器和其他接口。输入/输出设备970可以包括键盘、指示设备、显示器、扬声器、麦克风、触摸屏和其他设备。处理器920基于经由输入/输出接口950接收的用户输入来检测交互事件。另外,处理器920经由输入/输出接口950将显示发送到显示设备(例如,显示器142)。
处理器920可以经由一个或多个通信接口960与HMD 114、一个或多个设备980或其组合通信。一个或多个通信接口960可以包括有线以太网接口、IEEE 802无线接口、其他无线通信接口或其他网络接口。一个或多个设备980可以包括主计算机、服务器、工作站和其他计算设备。
本文中描述的示例的说明旨在提供对各种实现方式的结构的一般理解。这些说明不旨在用作对利用本文中描述的结构或方法的装置和系统的所有元件和特征的完整描述。在阅读本公开之后,许多其他实现方式对本领域技术人员是显而易见的。其他实现方式可以被利用并从本公开中得出,使得可以在不背离本公开的范围的情况下做出结构和逻辑的替换和改变。例如,方法操作可以以与图中所示的顺序不同的顺序来执行,或者可以省略一个或多个方法操作。因此,本公开和附图应被视为说明性的而非限制性的。
此外,尽管本文中已经说明和描述了特定示例,但应理解的是,经设计以实现相同或类似结果的任何后续布置可替代所展示的特定实现方式。本公开旨在涵盖各种实现方式的任何和所有后续修改或变化。在阅读本说明书之后,上述实现方式的组合以及本文中未具体描述的其他实现方式对本领域技术人员将是显而易见的。
此外,本公开包括根据以下项的实施方式:
项1.一种系统(102),包括:
头戴式显示器(HMD)(114),被配置为生成指示用户的注视向量(172)和用户的位置(174)的传感器数据(162);
处理器(122),被配置为与HMD通信;以及
存储器(124),耦接到处理器,存储器存储指令,当指令由处理器执行时使得处理器:
获得指示用户的注视向量和用户的位置的数据;
基于用户的位置和虚拟部件的位置来确定虚拟现实模拟器(126)的虚拟部件(132)的部件向量(176);
基于注视向量和部件向量来计算对准值(178);并且
基于对准值来调整虚拟部件的模拟设置(134、136、138)。
项2.根据项1的系统,其中,HMD被配置为基于传感器数据生成指示用户的注视向量和位置的数据,并且其中,获得指示用户的注视向量和用户的位置的数据包括从HMD接收指示注视向量和位置的数据。
项3.根据项1或2的系统,其中,指令还使得处理器从HMD接收传感器数据,并且其中,获得指示用户的注视向量和用户的位置的数据包括基于传感器数据确定用户的注视向量和位置,并且生成指示用户的注视向量和用户的位置的数据。
项4.根据项1至3中任一项的系统,其中,指令还使得处理器:
确定虚拟部件是否具有面部平面(282);
响应于确定虚拟部件具有面部平面,基于注视向量和面部平面的角(742-748)来计算虚拟部件的面部平面的可视区域(284);并且
基于面部平面的可视区域和对准值来计算节流值(182),其中,基于节流值来调整虚拟部件的模拟设置。
项5.根据项1至4中任一项的系统,其中,计算虚拟部件的面部平面的可视区域包括:
对于面部平面的角中的每个角,基于第一正交注视向量(712)、第二正交注视向量(714)和面部平面的角来将对应的角(752-758)投影在与用户相关联的注视平面(722)上;以及
基于注视平面的角来计算虚拟部件的面部平面的可视区域。
项6.根据项1至5中任一项的系统,其中,计算节流值包括将常数或函数应用于对准值和可视区域的乘积以产生模拟水平值,并且其中,基于模拟水平值来调整虚拟部件的模拟设置。
项7.根据项1至6中任一项的系统,其中,指令还使得处理器使用进程间通信以基于节流值将临界区段互斥值(292)分配给虚拟部件。
项8.根据项1至7中任一项的系统,其中,对准值是原始对准值(178),并且其中,指令还使得处理器缩放原始对准值以生成缩放的对准值(278),并且其中,基于缩放的对准值来计算节流值。
项9.根据项1至8中任一项的系统,还包括:
第一输入/输出(I/O)接口(130),耦接到HMD;以及
第二(I/O)接口(130A),耦接到处理器,第二(I/O)接口被配置为从HMD接收传感器数据或者被配置为从HMD接收指示用户的注视向量和位置的数据。
项10.根据项1至9中任一项的系统,还包括耦接到处理器的一个或多个输入设备(116),一个或多个输入设备包括一个或多个操纵器、控制轭、舵踏板、一个或多个仪表面板、集合体、循环体或其组合。
项11.一种设备(112),包括:
处理器(122);以及
存储器(124),耦接到处理器,存储器存储指令,当指令由处理器执行时使得处理器:
获得指示用户的注视向量(172)和用户的位置(174)的数据;
基于用户的位置和虚拟部件的位置来确定虚拟现实模拟器(126)的虚拟部件(132)的部件向量(176);
基于注视向量和部件向量来计算对准值(178);并且
基于对准值来调整虚拟部件的模拟设置(134、136、138)。
项12.根据项11的设备,其中,指令还使得处理器基于第二对准值(178)来调整虚拟现实模拟器的第二虚拟部件(132)的模拟设置(136)。
项13.根据项11或12的设备,其中,指令还使得处理器将非线性缩放应用于对准值以生成非线性缩放的对准值(278),并且其中,基于非线性缩放的对准值来调整虚拟部件的模拟设置。
项14.根据项11至13中任一项的设备,其中,指令还使得处理器:
基于注视向量限定虚拟现实模拟器的第一虚拟区域(412);
基于注视向量限定虚拟现实模拟器的第二虚拟区域(414),其中,第一虚拟区域是圆,并且第二虚拟区域是椭圆,并且其中,第二虚拟区域大于第一虚拟区域;并且
将第一模拟设置(134、136、138)应用于位于第二虚拟区域内的第一虚拟部件(132、312至332),并且将第二模拟设置(134、136、138)应用于位于第一虚拟区域和第二虚拟区域之外的第二虚拟部件(132、312至332)。
项15.根据项11至14中任一项的设备,其中,虚拟部件是虚拟现实模拟器的虚拟显示器(316-238),并且其中,调整虚拟显示器的模拟包括降低虚拟显示器的分辨率、降低虚拟显示器的刷新率、降低与虚拟显示器相关联的渲染帧速率、或其组合。
项16.根据项11至15中任一项的设备,其中,虚拟现实模拟器是飞行模拟器,其中,虚拟部件是操纵器,并且其中,调整操纵器的模拟包括降低与操纵器相关联的处理频率。
项17.根据项11至16中任一项的设备,其中,虚拟部件是控制加载系统,并且其中,调整控制加载系统的模拟包括降低控制加载系统的模拟水平。
项18.一种包括指令的计算机可读存储设备,在指令被执行时使得处理器执行操作包括:
获得(802)指示用户的注视向量和用户的位置的数据;
基于用户的位置和虚拟部件的位置来确定(804)虚拟现实模拟器的虚拟部件的部件向量;
基于注视向量和部件向量来计算(806)对准值;以及
基于对准值来调整(808)虚拟部件的模拟设置。
项19.根据项18的计算机可读存储设备,其中,操作还包括:
确定处理器的可用资源;
确定处理器的可用资源是否大于模拟阈值(138);以及
基于确定处理器的可用资源大于模拟阈值,将虚拟部件的模拟设置调整为基值。
项20.根据项18或19的计算机可读存储设备,其中,注视向量和部件向量是单位向量,并且其中,基于注视向量和部件向量的点积计算对准值。
本公开的摘要用于进行理解而不是用于解释或者限制权利要求的范围或含义。此外,在上述具体实施方式中,为了使本公开合理化,各种特征可以被组合到一起或者在单个实现方式中描述。上述的示例是示意性的但并不限制本公开。应当理解,根据本公开的原理很多的变形和变化是可行的。如所附权利要求反映的,所要求保护的主题可以涉及少于公开的示例中的任一个的所有特征。因此,本公开的范围由所附权利要求及其等同物来限定。
Claims (15)
1.一种用于小凹模拟的系统(102),包括:
头戴式显示器(114),被配置为生成指示用户的注视向量(172)和所述用户的位置(174)的传感器数据(162);
处理器(122),被配置为与所述头戴式显示器通信;以及
存储器(124),耦接到所述处理器,所述存储器存储指令,当所述指令由所述处理器执行时使得所述处理器:
获得指示所述用户的所述注视向量和所述用户的所述位置的数据;
基于所述用户的所述位置和虚拟部件的位置来确定虚拟现实模拟器(126)的所述虚拟部件(132)的部件向量(176);
基于所述注视向量和所述部件向量来计算对准值(178);并且
基于所述对准值来调整所述虚拟部件的模拟设置(134、
136、138)。
2.根据权利要求1所述的系统,其中,所述指令还使得所述处理器:
确定所述虚拟部件是否具有面部平面(282);
响应于确定所述虚拟部件具有所述面部平面,基于所述注视向量和所述面部平面的角(742-748)来计算所述虚拟部件的所述面部平面的可视区域(284);并且
基于所述面部平面的所述可视区域和所述对准值来计算节流值(182),其中,基于所述节流值来调整所述虚拟部件的所述模拟设置。
3.根据权利要求2所述的系统,其中,计算所述虚拟部件的所述面部平面的所述可视区域包括:
对于所述面部平面的所述角中的每个角,基于第一正交注视向量(712)、第二正交注视向量(714)和所述面部平面的所述角来将对应的角(752-758)投影在与所述用户相关联的注视平面(722)上;以及
基于所述注视平面的所述角来计算所述虚拟部件的所述面部平面的所述可视区域。
4.根据权利要求2所述的系统,其中,计算所述节流值包括将常数或函数应用于所述对准值和所述可视区域的乘积以产生模拟水平值,其中,基于所述模拟水平值来调整所述虚拟部件的所述模拟设置,并且,其中,所述指令还使得所述处理器使用进程间通信以基于所述节流值将临界区段互斥值(292)分配给所述虚拟部件。
5.根据权利要求2或4所述的系统,其中,所述对准值是原始对准值(178),并且其中,所述指令还使得所述处理器缩放所述原始对准值以生成缩放的对准值(278),并且其中,所述节流值基于所述缩放的对准值来计算。
6.根据权利要求1所述的系统,还包括:
第一输入/输出接口(130),耦接到所述头戴式显示器;以及
第二输入/输出接口(130A),耦接到所述处理器,所述第二输入/输出接口被配置为从所述头戴式显示器接收所述传感器数据或者被配置为从所述头戴式显示器接收指示所述注视向量和所述用户的所述位置的所述数据。
7.一种用于小凹模拟的设备(112),包括:
处理器(122);以及
存储器(124),耦接到所述处理器,所述存储器存储指令,所述指令当由所述处理器执行时使得所述处理器:
获得指示用户的注视向量(172)和所述用户的位置(174)的数据;
基于所述用户的所述位置和虚拟部件的位置来确定虚拟现实模拟器(126)的所述虚拟部件(132)的部件向量(176);
基于所述注视向量和所述部件向量来计算对准值(178);并且
基于所述对准值来调整所述虚拟部件的模拟设置(134、
136、138)。
8.根据权利要求7所述的设备,其中,所述指令还使得所述处理器对所述对准值应用非线性缩放以生成非线性缩放的对准值(278),并且其中,基于所述非线性缩放的对准值来调整所述虚拟部件的所述模拟设置。
9.根据权利要求7或8所述的设备,其中,所述指令还使得所述处理器:
基于所述注视向量限定所述虚拟现实模拟器的第一虚拟区域(412);
基于所述注视向量限定所述虚拟现实模拟器的第二虚拟区域(414),其中,所述第一虚拟区域是圆,并且所述第二虚拟区域是椭圆,并且其中,所述第二虚拟区域大于所述第一虚拟区域;并且
将第一模拟设置(134、136、138)应用于位于所述第二虚拟区域内的第一虚拟部件(132、312-332),并且将第二模拟设置(134、136、138)应用于位于所述第一虚拟区域和所述第二虚拟区域之外的第二虚拟部件(132、312-332)。
10.根据权利要求7或8所述的设备,其中,所述虚拟部件是所述虚拟现实模拟器的虚拟显示器(316-238),并且其中,调整所述虚拟显示器的模拟包括降低所述虚拟显示器的分辨率、降低所述虚拟显示器的刷新率、降低与所述虚拟显示器相关联的渲染帧速率、或其组合。
11.根据权利要求7或8所述的设备,其中,所述虚拟现实模拟器是飞行模拟器,其中,所述虚拟部件是操纵器,并且其中,调整所述操纵器的模拟包括降低与所述操纵器相关联的处理频率。
12.根据权利要求7或8所述的设备,其中,所述虚拟部件是控制加载系统,并且其中,调整所述控制加载系统的模拟包括降低所述控制加载系统的模拟水平。
13.一种包括指令的计算机可读存储设备,所述指令在被执行时使得处理器执行操作包括:
获得(802)指示用户的注视向量和所述用户的位置的数据;
基于所述用户的所述位置和虚拟部件的位置来确定(804)虚拟现实模拟器的所述虚拟部件的部件向量;
基于所述注视向量和所述部件向量来计算(806)对准值;以及
基于所述对准值来调整(808)所述虚拟部件的模拟设置。
14.根据权利要求13所述的计算机可读存储设备,其中,所述操作还包括:
确定所述处理器的可用资源;
确定所述处理器的所述可用资源是否大于模拟阈值(138);以及
基于确定所述处理器的所述可用资源大于所述模拟阈值,将所述虚拟部件的所述模拟设置调整为基值。
15.根据权利要求13或14所述的计算机可读存储设备,其中,所述注视向量和所述部件向量是单位向量,并且其中,基于所述注视向量和所述部件向量的点积计算所述对准值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410710282.8A CN118519532A (zh) | 2018-08-21 | 2019-07-22 | 用于小凹模拟的系统和设备及计算机可读存储设备 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/107,946 | 2018-08-21 | ||
US16/107,946 US10616565B2 (en) | 2018-08-21 | 2018-08-21 | System and method for foveated simulation |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410710282.8A Division CN118519532A (zh) | 2018-08-21 | 2019-07-22 | 用于小凹模拟的系统和设备及计算机可读存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110850958A true CN110850958A (zh) | 2020-02-28 |
CN110850958B CN110850958B (zh) | 2024-06-21 |
Family
ID=67070634
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410710282.8A Pending CN118519532A (zh) | 2018-08-21 | 2019-07-22 | 用于小凹模拟的系统和设备及计算机可读存储设备 |
CN201910661408.6A Active CN110850958B (zh) | 2018-08-21 | 2019-07-22 | 用于小凹模拟的系统和设备及计算机可读存储设备 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410710282.8A Pending CN118519532A (zh) | 2018-08-21 | 2019-07-22 | 用于小凹模拟的系统和设备及计算机可读存储设备 |
Country Status (4)
Country | Link |
---|---|
US (2) | US10616565B2 (zh) |
EP (1) | EP3614235B1 (zh) |
JP (1) | JP7403249B2 (zh) |
CN (2) | CN118519532A (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110324601A (zh) * | 2018-03-27 | 2019-10-11 | 京东方科技集团股份有限公司 | 渲染方法、计算机产品及显示装置 |
CN111736708B (zh) * | 2020-08-25 | 2020-11-20 | 歌尔光学科技有限公司 | 头戴设备及其画面显示系统和方法、检测系统和方法 |
US11939085B2 (en) | 2021-06-16 | 2024-03-26 | Beta Air, Llc | Methods and systems for wrapping simulated intra-aircraft communication to a physical controller area network |
JP2023061262A (ja) | 2021-10-19 | 2023-05-01 | キヤノン株式会社 | 画像表示システム |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100001928A1 (en) * | 2008-06-30 | 2010-01-07 | Honeywell International Inc. | Head-mountable cockpit display system |
CN106575153A (zh) * | 2014-07-25 | 2017-04-19 | 微软技术许可有限责任公司 | 虚拟现实环境内基于注视的对象放置 |
CN106856009A (zh) * | 2015-12-09 | 2017-06-16 | 想象技术有限公司 | 视网膜凹式渲染 |
US20170287112A1 (en) * | 2016-03-31 | 2017-10-05 | Sony Computer Entertainment Inc. | Selective peripheral vision filtering in a foveated rendering system |
CN108289217A (zh) * | 2017-01-10 | 2018-07-17 | 三星电子株式会社 | 用于输出图像的方法和支持该方法的电子设备 |
US20180224935A1 (en) * | 2013-03-04 | 2018-08-09 | Tobii Ab | Gaze and saccade based graphical manipulation |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5400177A (en) * | 1993-11-23 | 1995-03-21 | Petitto; Tony | Technique for depth of field viewing of images with improved clarity and contrast |
US20030117397A1 (en) * | 2001-12-21 | 2003-06-26 | Hubrecht Alain Yves Nestor | Systems and methods for generating virtual reality (VR) file(s) for complex virtual environments |
KR100989555B1 (ko) * | 2010-06-24 | 2010-10-25 | 주식회사 바로텍시너지 | 조종력 재현장치용 액츄에이터 |
US9015706B2 (en) * | 2010-07-08 | 2015-04-21 | Symantec Corporation | Techniques for interaction with a guest virtual machine |
DE102010035825A1 (de) * | 2010-08-30 | 2012-03-01 | Liebherr-Aerospace Lindenberg Gmbh | Steuerorgansystem und Vorrichtung zur Erzeugung eines virtuellen Echtzeitmodells |
US20150277118A1 (en) * | 2014-03-28 | 2015-10-01 | Osterhout Group, Inc. | Sensor dependent content position in head worn computing |
US10239633B2 (en) * | 2014-11-26 | 2019-03-26 | Embraer S.A. | System and method to interchange flight control inceptors in an aircraft flight control system and cockpit |
EP3335096B1 (en) * | 2015-08-15 | 2022-10-05 | Google LLC | System and method for biomechanically-based eye signals for interacting with real and virtual objects |
EP3138607A1 (en) * | 2015-09-04 | 2017-03-08 | Airbus Group India Private Limited | Aviation mask |
WO2017085803A1 (ja) | 2015-11-18 | 2017-05-26 | 株式会社日立製作所 | 映像表示装置及び映像表示方法 |
US20170206707A1 (en) * | 2016-01-15 | 2017-07-20 | Anthony Guay | Virtual reality analytics platform |
JP2018006914A (ja) * | 2016-06-29 | 2018-01-11 | フォーブ インコーポレーテッド | 外部撮像システム、外部撮像方法、外部撮像プログラム |
US10152822B2 (en) * | 2017-04-01 | 2018-12-11 | Intel Corporation | Motion biased foveated renderer |
US10339692B2 (en) * | 2017-06-09 | 2019-07-02 | Sony Interactive Entertainment Inc. | Foveal adaptation of particles and simulation models in a foveated rendering system |
AU2018383539A1 (en) * | 2017-12-14 | 2020-06-18 | Magic Leap, Inc. | Contextual-based rendering of virtual avatars |
US10565799B2 (en) * | 2018-06-21 | 2020-02-18 | Lockheed Martin Corporation | Automatic cockpit identification and augmented image placement |
-
2018
- 2018-08-21 US US16/107,946 patent/US10616565B2/en active Active
-
2019
- 2019-06-25 EP EP19182294.9A patent/EP3614235B1/en active Active
- 2019-06-26 JP JP2019118516A patent/JP7403249B2/ja active Active
- 2019-07-22 CN CN202410710282.8A patent/CN118519532A/zh active Pending
- 2019-07-22 CN CN201910661408.6A patent/CN110850958B/zh active Active
-
2020
- 2020-03-20 US US16/825,320 patent/US11368668B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100001928A1 (en) * | 2008-06-30 | 2010-01-07 | Honeywell International Inc. | Head-mountable cockpit display system |
US20180224935A1 (en) * | 2013-03-04 | 2018-08-09 | Tobii Ab | Gaze and saccade based graphical manipulation |
CN106575153A (zh) * | 2014-07-25 | 2017-04-19 | 微软技术许可有限责任公司 | 虚拟现实环境内基于注视的对象放置 |
CN106856009A (zh) * | 2015-12-09 | 2017-06-16 | 想象技术有限公司 | 视网膜凹式渲染 |
US20170287112A1 (en) * | 2016-03-31 | 2017-10-05 | Sony Computer Entertainment Inc. | Selective peripheral vision filtering in a foveated rendering system |
CN108289217A (zh) * | 2017-01-10 | 2018-07-17 | 三星电子株式会社 | 用于输出图像的方法和支持该方法的电子设备 |
Also Published As
Publication number | Publication date |
---|---|
EP3614235A1 (en) | 2020-02-26 |
US10616565B2 (en) | 2020-04-07 |
US11368668B2 (en) | 2022-06-21 |
JP2020030805A (ja) | 2020-02-27 |
CN110850958B (zh) | 2024-06-21 |
CN118519532A (zh) | 2024-08-20 |
JP7403249B2 (ja) | 2023-12-22 |
US20200068190A1 (en) | 2020-02-27 |
EP3614235B1 (en) | 2024-08-14 |
US20200221071A1 (en) | 2020-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110850958B (zh) | 用于小凹模拟的系统和设备及计算机可读存储设备 | |
CN110300994B (zh) | 图像处理装置、图像处理方法以及图像系统 | |
US10962780B2 (en) | Remote rendering for virtual images | |
US10671238B2 (en) | Position-dependent modification of descriptive content in a virtual reality environment | |
CN106575153B (zh) | 虚拟现实环境内基于注视的对象放置 | |
EP2996017B1 (en) | Method, apparatus and computer program for displaying an image of a physical keyboard on a head mountable display | |
JP5914739B1 (ja) | ヘッドマウントディスプレイシステムを制御するプログラム | |
US20230333637A1 (en) | System and method for a blended reality user interface and gesture control system | |
CN110215685B (zh) | 游戏中的虚拟对象控制方法及装置、设备、存储介质 | |
EP3669252B1 (en) | Techniques for predictive prioritization of image portions in processing graphics | |
US20200334790A1 (en) | Image resolution processing method, system, and apparatus, storage medium, and device | |
CN114026603B (zh) | 渲染计算机生成现实文本 | |
CN111066081B (zh) | 用于补偿虚拟现实的图像显示中的可变显示设备等待时间的技术 | |
KR102521557B1 (ko) | 스크롤 입력에 기반하여 이미지 표시를 제어하는 전자 장치 및 방법 | |
JP2017045296A (ja) | ヘッドマウントディスプレイシステムを制御するプログラム | |
US20200241633A1 (en) | Display device and display device control method | |
US8659590B1 (en) | System, method, and computer program product for modifying signals of a three-dimensional graphics application program based on a tracking algorithm | |
US11288873B1 (en) | Blur prediction for head mounted devices | |
JP6121495B2 (ja) | ヘッドマウントディスプレイシステムを制御するプログラム | |
KR20200093748A (ko) | 시뮬레이터의 연산량 개선을 위한 시스템, 장치 및 그 방법 | |
US20240112303A1 (en) | Context-Based Selection of Perspective Correction Operations | |
KR101953567B1 (ko) | 가상현실 서비스를 위한 콘텐츠 후처리 방법 | |
CN118022307A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |