CN116382461A - 用于虚拟现实的装置和方法 - Google Patents

用于虚拟现实的装置和方法 Download PDF

Info

Publication number
CN116382461A
CN116382461A CN202211722697.4A CN202211722697A CN116382461A CN 116382461 A CN116382461 A CN 116382461A CN 202211722697 A CN202211722697 A CN 202211722697A CN 116382461 A CN116382461 A CN 116382461A
Authority
CN
China
Prior art keywords
image
image frame
data
hmd
frame
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
CN202211722697.4A
Other languages
English (en)
Inventor
S.W.拉格霍巴达加尔
J.卢比奥
S.塔特索尔
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.)
Sony Interactive Entertainment Europe Ltd
Original Assignee
Sony Interactive Entertainment Europe Ltd
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 Sony Interactive Entertainment Europe Ltd filed Critical Sony Interactive Entertainment Europe Ltd
Publication of CN116382461A publication Critical patent/CN116382461A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/254Analysis of motion involving subtraction of images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/013Eye tracking input arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • G06T7/248Analysis of motion using feature-based methods, e.g. the tracking of corners or segments involving reference images or patches
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/193Preprocessing; Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/18Eye characteristics, e.g. of the iris
    • G06V40/197Matching; Classification
    • 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/0101Head-up displays characterised by optical features
    • G02B2027/0132Head-up displays characterised by optical features comprising binocular systems
    • G02B2027/0134Head-up displays characterised by optical features comprising binocular systems of stereoscopic type
    • 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/0093Optical 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
    • 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
    • G02B27/0172Head mounted characterised by optical features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Ophthalmology & Optometry (AREA)
  • Software Systems (AREA)
  • Optics & Photonics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Processing Or Creating Images (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Stereoscopic And Panoramic Photography (AREA)

Abstract

一种数据处理装置,包括:接收电路,用于接收指示头戴式显示器(HMD)的追踪的位置和朝向中的至少一个的追踪数据;图像处理电路,用于根据所述追踪数据生成用于显示的图像帧序列;检测电路,用于检测第一图像帧中的图像特征以及检测第二图像帧中的对应图像特征;以及相关电路,用于:计算所述第一图像帧中的图像特征和所述第二图像帧中的对应图像特征之间的差异;根据所述第一图像帧中的图像特征和所述第二图像帧中的对应图像特征之间的差异生成指示所述第一图像帧的视点和所述第二图像帧的视点之间的差异的差异数据;以及根据所述差异数据和与所述第一图像帧和所述第二图像帧相关联的所述追踪数据之间的差异生成输出数据。

Description

用于虚拟现实的装置和方法
技术领域
本公开涉及用于虚拟现实的装置和方法。特别地,本公开涉及用于评估追踪数据以及使用这种追踪数据生成用于显示的图像帧的数据处理装置和方法。
背景技术
本文中提供的“背景”描述是为了总体地呈现本公开的上下文。在本背景部分以及在申请时不能反之作为现有技术的说明书的方面中描述的范围内,都不显式地或隐含地承认目前称为的发明人的工作为相对于本发明的现有技术。
头戴式显示器(HMD)是用于在虚拟现实系统使用的头戴式装置的一个示例,在虚拟现实系统中,HMD佩戴者观看虚拟环境。在HMD中,提供了图像或视频显示设备,该显示设备可以戴在头上或作为头盔的一部分。一只眼睛或两只眼睛设置了小型电子显示设备。
尽管HMD和虚拟现实的原始开发可能是由这些设备的军事和专业应用驱动的,但是HMD在例如计算机游戏或家庭计算应用中由休闲用户的使用正变得越来越流行。
将要讨论的技术适用于单个三维图像或包括连续三维图像的视频信号。因此,以下的讨论中对“图像”的引述应被视为包含相同的技术在视频信号方面的使用。
前述段落是以总体介绍的方式提供的,并不旨在限制以下权利要求的范围。参照以下结合附图的详细描述,将最好地理解所描述的实施例和进一步的优点。
发明内容
将理解的是,前述的总体描述和以下的详细描述都是本发明的示范性的,但非限制性的。
本发明的各个方面和特征在所附的权利要求书中和所附描述的文本内定义。
附图说明
将参考附图中所例示的本技术的实施例仅通过举例的方式进一步描述本技术,在附图中:
图1示意性地例示了由用户佩戴的HMD;
图2是HMD的示意性平面视图;
图3示意性地例示了通过HMD的虚拟图像的形成;
图4示意性地例示了用于在HMD中使用的另一类型的显示器;
图5示意性地例示了立体图像对;
图6示意性地例示了HMD的用户的视野的改变;
图7a和图7b示意性地例示了具有运动感测的HMD;
图8示意性地例示了基于光流检测的位置传感器;
图9示意性地例示了响应于HMD位置或运动检测的图像的生成;
图10示意性地例示了相机对图像的捕获;
图11示意性地例示了HMD图像显示器的延迟问题;
图12示意性地例示了数据处理装置;
图13a和图13b示意性地例示了时序图;
图14示意性地例示了显示立体图像的HMD显示单元;
图15示意性地例示了另一数据处理装置;以及
图16是例示数据处理方法的示意性流程图。
具体实施方式
在以下描述中,呈现了一些具体的细节,以提供对本发明的实施例的全面理解。然而,对于本领域技术人员将显而易见的是,不需要采用这些具体细节来实践本发明。反之,为了清楚起见,酌情省略本领域技术人员已知的具体细节。
现在参考附图,其中类似的附图标记在几个视图中始终标示相同或对应部分,在图1中,用户10在用户的头部30上佩戴了HMD 20。HMD包括框架40以及显示部分50,框架40在本示例中由后带和顶带形成。
图1的HMD完全遮挡用户对周围环境的视野。用户所能看到的只是在HMD内显示的图像对。
HMD具有可容纳在用户的左耳和右耳70内的相关联的耳机听筒60。听筒60重放由外部源提供的音频信号,该外部源可以与向用户的眼睛提供用于显示的视频信号的视频信号源相同。
在运行中,视频信号被提供用于由HMD显示。视频信号可以由诸如视频游戏机或数据处理设备(诸如个人计算机)的外部视频信号源80提供,在这种情况下,信号可以通过有线或无线连接发射到HMD。合适的无线连接的示例包括
Figure BDA0004028807010000031
连接。用于听筒60的音频信号可以通过相同的连接来传输。类似地,从HMD传递到视频(音频)信号源的任何控制信号可以通过相同的连接来传输。
因此,图1的布置提供了头戴式显示系统的示例,该头戴式显示系统包括安装在观察者头上的框架,框架定义了在使用中位于观察者的相应眼睛前面的一个或两个眼睛显示位置,以及相对于每个眼睛显示位置安装的显示元件,显示元件向观察者的那只眼睛提供来自视频信号源的视频信号的视频显示的虚拟图像。
图1仅示出了HMD的一个示例。其他形式是可能的:例如,HMD可以使用与传统眼镜相关联的框架更相似的框架,即从显示部分向后延伸到用户的耳朵的背部上方、可能在耳朵后向下卷曲的基本水平的腿。在其他示例中,用户对外部环境的视野事实上可能没有完全被遮挡;显示的图像可以被布置成(从用户的视点来看)被叠加在外部环境上。将在下面参照图4描述这样的布置的示例。
在图1的示例中,为用户的眼睛中的每个提供单独的相应显示。如图2提供了这如何实现的示意性平面视图,图2例示了用户眼睛的位置100和用户鼻子的相对位置110。示意图形式的显示部分50包括用于掩盖用户眼睛中的环境光的外部护罩120,以及防止一只眼睛看到用于另一只眼睛的显示的内部护罩130。用户的面部、外部护罩120和内部护罩130的组合形成两个隔室140,每只眼睛一个。在每个隔室中,设置了显示元件150以及一个或多个光学元件160。将参照图3来描述显示元件和光学元件协同向用户提供显示的方式。
参照图3,显示元件150生成显示的图像,该图像(在本示例中)由光学元件160(示意性地示出为凸透镜,但是可以包括复合透镜或其他元件)折射,以生成在用户看来比显示元件150生成的真实图像更大并且远地多的虚拟图像170。作为示例,虚拟图像可以具有超过1米的表观图像尺寸(图像对角线),并且可以被放置在离用户的眼睛(或离HMD的框架)超过1米的距离处。一般来说,根据HMD的用途,期望将虚拟图像放置在离用户相当远的距离用于观看电影等,那么期望用户的眼睛在这样的观看期间是放松的,这要求(与虚拟图像)至少数米的距离。在图3中,实线(诸如线180)被用来表示真实的光学射线,而断线(诸如线190)被用来表示虚拟射线。
图4中示出了替代的布置。在期望用户对外部环境的视野没有完全被遮挡的情况下可以使用此布置。然而,它也适用于用户的外部视野完全被遮挡的HMD。在图4的布置中,显示元件150和光学元件200协同提供被投射到镜子210上的图像,镜子210使图像向用户的眼睛位置220偏转。用户感知虚拟图像位于用户前面且离用户合适的距离的位置230。
在用户对外部环境的视野完全被遮挡的HMD的情况下,镜子210可以是基本上100%反射的镜子。然后,图4的布置具有的优点是,显示元件和光学元件可以更靠近用户的头部的重心和用户的眼睛的一侧安置,这可以生产出不太笨重的HMD供用户佩戴。替代地,如果HMD被设计成没有完全遮挡用户对外部环境的视野,镜子210可以被制成部分反射的,以便用户通过镜子210看到外部环境,虚拟图像被叠加在真实的外部环境上。
在为用户的每只眼睛提供单独的相应显示的情况下,可以显示立体图像。图5中示出了用于向左眼和右眼显示的立体图像对的示例。这些图像表现出相对于彼此的横向位移,图像特征的位移取决于捕获图像的相机的(真实的或模拟的)横向间距、相机的角度收敛以及每个图像特征与相机位置的(真实的或模拟的)距离。
注意,图5中的横向位移(以及下面将描述的图15中的横向位移)实际上可以反过来,也就是说,所绘制的左眼图像实际上可以是右眼图像,并且所绘制的右眼图像实际上可以是左眼图像。这是因为一些立体显示器倾向于在右眼图像中把对象移到右边并且在左眼图像中把对象移到左边,以模拟用户正通过立体窗口看向外面的场景的想法。然而,一些HMD使用图5中示出的布置,因为这给用户留下了用户正在通过一对双筒望远镜观看场景的印象。这两种布置的选择是由系统设计者决定的。
在一些情况下,HMD可以被仅仅用来观看电影等。在此情况下,当用户转动用户的头部(例如从一侧到另一侧)时,不需要改变显示的图像的表观视点。然而,在其他用途(诸如与虚拟现实(VR)或增强现实(AR)系统相关联的用途)中,用户的视点需要追踪与用户所在的真实或虚拟空间有关的移动。
这种追踪是通过检测HMD的运动并且使显示的图像的表观视点变化以便表观视点追踪运动来进行的。在稍后更详细地讨论这一点。
图6示意性地例示了VR或AR系统中的用户头部移动的效果。
参照图6,虚拟环境由围绕用户的(虚拟)球壳250表示。由于需要在二维纸画上表示这种布置,壳由与用户的距离相当于显示的虚拟图像与用户的间距的圆的一部分表示。用户最初处于第一位置260,并且朝向虚拟环境的一部分270。在用户的HMD的显示元件150上显示的图像中表示出来的正是这个部分270。
考虑用户随后将他的头部移动到新的位置和/或朝向280的情况。为了保持虚拟现实或增强现实显示的正确感觉,虚拟环境的显示部分也移动,以便在移动的结束由HMD显示新的部分290。
因此,在这种布置下,虚拟环境内的表观视点随着头部移动而移动。如果头部向右侧旋转,例如,如图6所示,表观视点也从用户的视点向右移动。如果从显示对象(诸如显示对象300)的方面考虑情况,则这将有效地以与头部移动相反的方向移动。因此,如果头部移动向右,则表观视点向右移动,但是在虚拟环境中静止的对象(诸如显示对象300)将向显示图像的左边移动并且最终将从显示图像的左手侧消失,原因很简单,虚拟环境的显示部分已经向右移动,而显示对象300在虚拟环境中没有移动。类似的考虑适用于任何运动的上下分量。
图7a和图7b示意性地例示了具有运动感测的HMD。这两幅图的格式与图2中示出的格式相似。也就是说,这些图是HMD的示意性平面视图,其中显示元件150和光学元件160由简单的盒子形状表示。为了使图的清楚,没有示出图2的许多特征。两幅图都示出了具有运动检测器的HMD的示例,运动检测器用于检测HMD的运动并且生成HMD的对应追踪数据。
在图7a中,在HMD的前面设置前向摄像头320。这不一定向用户提供用于显示的图像(尽管它在增强现实的布置中可以这样做)。相反,前向摄像头320在本实施例中的主要目的是允许运动感测。下面将结合图8描述使用由相机320捕获的图像进行运动感测的技术。在这些布置中,运动检测器包括相机,其安装成随着框架移动;以及图像比较器,其可操作以比较由相机捕获的连续图像来检测图像间运动。
图7b利用硬件运动检测器330用于生成追踪数据。它可以安装在HMD内或HMD上的任何地方。合适的硬件运动检测器的示例是压电加速度计或光纤陀螺仪。当然,将认识到,硬件运动检测和基于相机的运动检测二者可以被用在同一个设备中,在这种情况下,一个感测布置可以被用作当另一个感测布置不可用时的备份,或者一个感测布置(诸如相机)可以提供用于改变显示图像的表观视点的数据,而另一个感测布置(诸如加速度计)可以提供用于图像稳定的数据。
图8示意性地例示了使用图7a的相机320的运动检测的一个示例。
相机320是视频相机,以例如每秒25张图像的图像捕获速率捕获图像。当每个图像被捕获时,它被传递到图像存储器400进行存储,并且还由图像比较器410与从图像存储器中检索到的前一图像进行比较。该比较使用已知的块匹配技术(所谓的“光流”检测)来证实由相机320捕获的整个图像自前一图像被捕获时以来是否大体地移动了。局部运动可能指示在相机320视场内移动对象,但是基本上整个图像的全局运动将倾向于指示相机而不是捕获的场景中的单个特征的运动,并且在目前的情况下,由于相机被安装在HMD上,相机的运动对应于HMD的运动并且转而对应于用户的头部的运动。
如由图像比较器410检测到的一个图像和下一个图像之间的位移被运动检测器420转换为指示运动的信号。如果需要,则运动信号被积分器430转换为位置信号。
如上所述,作为通过检测由与HMD相关联的视频相机所捕获的图像之间的图像间运动来检测运动的替代或补充,HMD可以使用机械或固态检测器330(诸如加速度计)来检测头部运动。鉴于基于视频的系统的响应时间充其量是图像捕获速率的倒数,这实际上可以在运动的指示方面给出更快的响应。因此,在一些实例中,检测器330可以更好地适用于高频率运动检测。然而,在其他实例中,例如,如果使用高成像率相机(诸如,200Hz捕获速率相机),则基于相机的系统可能更合适。就图8而言,检测器330可以取代相机320、图像存储器400和比较器410,以直接向运动检测器420提供输入。或者检测器330也可以取代运动检测器420,直接提供指示物理运动的输出信号。
其他位置或运动检测技术当然也是可能的。例如,可以使用通过其HMD被可移动的缩放仪(pantograph)臂连接到固定点(例如,在数据处理设备上或在一件家具上)的机械布置,其中位置和朝向传感器检测缩放仪臂的偏转变化。在其他实施例中,可以使用安装在HMD和固定点上的一个或多个发射器和接收器的系统,以允许通过三角测量技术检测HMD的位置和朝向。例如,HMD可以承载一个或多个定向发射器,并且与已知或固定点相关联的接收器阵列可以检测来自一个或多个发射器的相对信号。或者发射器可以是固定的并且接收器可以在HMD上。发射器和接收器的示例包括红外换能器、超声波换能器和射频换能器。射频换能器可以有双重用途,因为它们也可以形成去往和/或来自HMD的射频数据链路的一部分,诸如
Figure BDA0004028807010000071
链路。
图9示意性地例示了响应于HMD的检测到的位置或位置的改变而进行的图像处理。
如上文结合图6所述,在一些应用(诸如虚拟现实和增强现实布置)中,响应于HMD和用户的头部的实际位置或朝向的改变而改变正在向HMD的用户显示的视频的表观视角。
参照图9,这是通过向所需的图像位置检测器460提供指示运动和/或当前位置的数据(追踪数据)的运动传感器450(诸如图8的布置和/或图7b的运动检测器330)来实现的,图像位置检测器460将HMD的实际位置转换为定义用于显示的所需的图像的数据。如果需要,图像生成器480访问存储在图像存储器470中的图像数据,并从适当的视点生成所需的图像以供HMD显示。外部视频信号源可以提供图像生成器480的功能,并且充当控制器以通过改变显示图像的视点来补偿观察者的头部的运动的低频分量,从而将显示的图像向与检测到的运动方向相反的方向移动,从而在检测到的运动方向上改变观察者的表观视点。
图像生成器480可以在元数据(诸如所谓的视图矩阵数据)的基础上,以将在下面所描述的方式行动。
为了示意性地例示与本技术相关联的一些一般概念,图10示意性地例示了相机对图像的捕获。
参照图10,相机500捕获了真实世界场景的一部分510的图像。相机500的视场被示意性地示出为大致三角形形状520,使得相机位于大致三角形形状的一个顶点处,与相机相邻的边示意性地指示视场的左端和右端,并且与相机相对的边示意性地例示场景的被捕获的部分。注意,相机500可以是静物相机或捕获以时间间隔分隔的一连串图像的视频相机。注意,图像不一定是相机捕获的图像。这些技术都同样适用于机器生成的图像,诸如由计算机游戏机生成的作为玩计算机游戏的过程的一部分用于向用户显示的图像。
图11示意性地例示了HMD图像显示的延迟问题。如上所述,可以使用HMD的位置和/或朝向,例如如参照图9所讨论的,以便根据HMD的检测的位置和/或朝向生成用于显示的图像。在观看更宽的捕获图像的一部分或生成所需图像作为计算机游戏的一部分的情况下,参照图9讨论的布置涉及检测HMD的当前位置和/或朝向以及生成用于显示的适当的图像数据。
然而,此过程中涉及的延迟可能导致生成不正确的图像。
参照图11,考虑在HMD中使用的图像显示的图像重复周期(例如,1/25秒)的量级的时间间隔的进程内用户的视点从第一视点600旋转(以如图11中示意性例示的顺时针方向)到第二视点610的情况。注意,图11中的两个表示是并排显示的,但这是为了绘图的目的,而不一定指示用户视点的平移(尽管两个视点之间可能涉及一些平移)。
为了留出时间生成下一个输出图像,当HMD处于视点600时,检测HMD的位置和/或朝向。然后,生成用于显示的下一个图像,但是到实际显示该图像时,视点已经被旋转到视点610。结果是显示的图像对于显示该图像时的用户的视点610是不正确的。这可能为用户提供主观上较差的体验,并且可能导致用户迷失方向甚至恶心。
下面将讨论的技术涉及评估追踪数据和使用追踪数据生成的用于显示的图像帧,以检测差异。如上所述,在一些虚拟现实和增强现实布置中,响应于HMD和用户的头部的实际位置和/或朝向的改变,生成的用于显示的图像帧的视点从一个图像帧改变到另一个图像帧,从而图像看起来追踪HMD和用户的头部的移动。HMD的追踪的位置和/或朝向与生成的图像帧的视点的位置和/或朝向之间的差异会导致观看用户损失沉浸感并可能诱发运动疾病。因此,需要检测HMD的追踪和使用追踪数据生成的用于显示的图像之间的差异。
现在参考图12,在本公开的实施例中,数据处理装置1200包括:接收电路1210,用于接收指示头戴式显示器(HMD)的追踪的位置和朝向中的至少一个的追踪数据;图像处理电路1220,用于根据追踪数据生成用于显示的图像帧序列;检测电路1230,用于检测第一图像帧中的图像特征并且检测第二图像帧中的对应图像特征;以及相关电路1240,用于:计算第一图像帧中的图像特征和第二图像帧中的对应图像特征之间的差异;根据第一图像帧中的图像特征和第二图像帧中的对应图像特征之间的差异,生成指示第一图像帧的视点和第二图像帧的视点之间的差异的差异数据;以及根据差异数据和与第一和第二图像帧相关联的追踪数据之间的差异,生成输出数据。
数据处理装置1200可以例如设置为通用计算设备(诸如个人计算机)的一部分,以便接收电路1210通过与HMD的有线和无线通信(例如,
Figure BDA0004028807010000093
或/>
Figure BDA0004028807010000092
)中的至少一个接收HMD的追踪数据。数据处理装置1200在一些情况下可以设置为可操作以生成用于显示视频游戏或其他适当内容的图像的游戏控制台(诸如/>
Figure BDA0004028807010000091
)或HMD的一部分。替代地,在一些情况下可以使用可操作以生成用于由HMD显示的图像的游戏控制台和HMD的组合以分布式方式实施数据处理装置1200。
接收电路1210被配置为接收指示HMD的追踪的位置和/或朝向的追踪数据。接收电路1210可以根据与HMD的有线或无线通信来接收追踪数据。替代地或附加地,安装成捕获包括HMD的图像的外部相机可以被用来使用所谓的外向内追踪生成用于HMD的追踪数据,并且追踪数据可以由接收电路1210从包括一个或多个此类相机的外部追踪器接收。更一般地,追踪数据指示HMD相对于真实世界环境的追踪的位置和/或朝向,并且可以使用设置为HMD的一部分和/或外部地提供在HMD外部设置的图像传感器和/或硬件运动传感器(如先前关于图8和图9讨论的)的组合来获得。追踪数据可以通过来自一个或多个图像传感器和一个或多个硬件运动传感器的传感器数据的融合来获得。
在一些情况下,接收电路1210在由HMD持续显示图像序列期间接收追踪数据。因此,在一些示例中,接收电路1210在显示由图像处理电路1220生成的用于显示的图像序列期间接收追踪数据,并且接收到的追踪数据被用来生成将由HMD显示的进一步的图像帧。可以使用基于图像的追踪和/或惯性传感器数据(如先前关于图8和图9讨论的)和由接收电路1210接收的对应追踪数据来检测在由HMD显示图像期间导致HMD的位置和/或朝向的改变的用户的头部的移动。然而,在一些情况下,通过在先前的游戏会话期间追踪HMD而先前生成的追踪数据可以例如被游戏控制台和/或HMD存储,并且接收电路1210可以被配置为从存储器接收存储的追踪数据。在这种情况下,存储的追踪数据可以被数据处理装置1200接收并用来生成图像帧序列,以进行用于检测HMD的追踪数据和由图像处理电路1220使用存储的追踪数据生成的用于显示的图像之间的差异的离线评估。
追踪数据指示在一段时期内HMD的位置和/或朝向,并且HMD的物理位置和/或朝向的改变因此被反映在追踪数据中。例如,接收电路1210可以接收包括HMD的3D位置和朝向并且相关联的时间戳的追踪数据,并且可以以取决于用于追踪的传感器技术的速率周期性地接收此类数据。HMD的具有给定时间戳的位置和朝向可以指示HMD相对于真实世界环境中的参考点的位置和朝向,或者在一些情况下,HMD的具有给定时间戳的位置和朝向可以指示HMD的位置和朝向相对于前一个时间戳的位置和朝向的改变。
图像处理电路1220被配置为根据由接收电路1210接收的追踪数据生成用于显示的图像帧序列。图像处理电路1220包括可操作以执行用于生成用于显示的图像数据的图像处理操作的GPU和CPU中的至少一个,。图像处理操作通常包括处理模型数据或其他预定义的图形数据,以获得图像帧中图像像素的像素值。除非另有说明,本文中对图像帧的引用指包括左图像和右图像的立体图像帧,或者是将由用户的两只眼睛观看的单一图像帧。图像处理电路1220生成包括多个连续的图像帧的图像帧序列,使得图像帧的视点根据由追踪数据指示的HMD的位置和/或朝向的改变而改变。图像帧序列可以在视觉上表示诸如虚拟现实内容或增强现实内容的内容。因此,用户可以移动他们的头部,从而改变HMD的位置和/或朝向,并且相应地生成用于显示的图像帧,以便图像帧的视点以与用户的头部移动相对应的方式移动。
因此,追踪数据指示HMD在第一时间点(T1)的第一位置和/或朝向并且指示HMD在第二时间点(T2)的第二位置和/或朝向,其中T2在T1之后。图像处理电路1220根据第一时间点的追踪数据生成用于显示的给定图像帧,从而生成具有依赖于HMD的第一位置和/或朝向的视点的给定图像帧,并且随后根据第二时间点的追踪数据生成用于显示的另一图像帧,从而生成具有依赖于HMD的第二位置和/或朝向的视点的后续图像帧。以这种方式,相应图像帧的视点根据HMD的位置和/或朝向的改变而改变。特别地,图像处理电路1210根据追踪数据计算视点(或视点相对于先前计算的视点的改变)并且根据计算的视点生成用于显示的图像帧,其中响应于最近接收到的追踪数据更新计算的视点。
图像处理电路1220被配置为以任何合适的帧速率生成图像帧序列。例如,许多HMD使用60、90或120Hz的帧速率,并且图像处理电路1220可操作来以这种帧速率生成用于显示的图像。因此,图像处理电路1220根据追踪数据的改变生成用于显示的图像帧序列,其中图像帧具有根据由追踪数据指示的最近的位置和/或朝向推导的视点。
检测电路1230被配置为通过检测包括在在具有第一视点的第一时间生成的用于显示的第一图像帧中的至少一个图像特征和包括在在具有不同于第一视点的第二视点的第二时间生成的用于显示的第二图像帧中的对应图像特征来检测由图像处理电路1220生成的图像帧序列中的图像特征。
可由检测电路1230检测的图像特征包括包括在图像帧内的点、边缘和虚拟对象。图形处理操作由图像处理电路1220作为应用程序(诸如计算机游戏)的执行的一部分执行,并且可以包括根据图形处理管道处理模型数据或其他预定义的图形数据,以生成用于渲染作为图像帧用于显示的数据的图像数据。因此,图像处理电路1220可以通过使用各种虚拟对象的输入数据结构执行图形处理操作来生成包括一个或多个虚拟对象的图像帧。因此,在一些情况下,检测电路1230被配置为检测第一图像帧中的虚拟对象的图像,并且检测另一图像帧中的对应虚拟对象的图像。例如,可以检测一个图像帧中的虚拟树的图像和具有不同视点的另一图像帧中的同一虚拟树的对应图像,并且因此同一虚拟树从两个不同的视点被观看并且由于不同的视点在两个图像帧中将具有不同的外观。已知的计算机视觉技术可以被用来以这种方式检测虚拟对象。
检测电路1230可以使用特征点匹配技术。可以使用已知的计算机视觉技术在图像帧中检测图像特征的特征点集。例如,角点检测算法(诸如FAST(基于加速分割测试的特征))可以被用来提取对应于图像中一个或多个元素的角点的特征点,诸如椅子的角点或墙壁的角点。图像帧之间的特征点匹配可以被用来检测一个图像帧中的图像特征和另一图像帧中的相同的图像特征。
因此,检测电路1230可以检测给定图像帧中的特征点,并且生成包括给定图像帧的多个检测到的特征点的数据集,其中每个检测到的特征点与指示该检测到的特征点的图像属性的图像信息相关联。与检测到的特征点相关联的图像属性可以与另一图像帧(诸如序列中的下一图像帧或另一较后图像帧)中的图像属性进行比较,以检测何时检测到的特征点被包括在具有另一视点的另一图像帧中。在一些示例中,图像信息可以包括从图像帧中提取的图像片,使得图像片包括图像数据的可以被用作用于检测何时检测到的特征点被包括在另一图像中的参考的小区域(相对于整个图像帧的大小较小)(例如,像素数据的小区域)。因此,图像信息指示检测到的特征点的图像属性,以便在稍后识别在另一图像中的同一特征点的后续检测时,可以使用关于如在所捕获的图像中观看的视觉外观的信息作为参考。
因此,更一般地,可以在第一图像帧中检测给定图像特征,并且可以在另一图像帧中检测相同的给定图像特征(也被称为对应图像特征)。两个图像帧具有不同的视点,但是都包括对两者来说是共有的并且从两个不同的视点观看的至少一个图像特征。基于这两个图像帧共有的至少一个图像特征之间的几何差异,计算这两个图像帧的视点之间的差异。此外,在一些示例中,相同的图像特征可以在图像帧序列中的多个图像帧中被检测到,其中每个图像帧具有不同的相关联的视点,从而图像特征相对于图像帧具有不同的位置和/或朝向。因此,虽然下面的讨论提到了第一图像帧和第二图像帧以及计算两个图像帧的视点之间的差异,但是这些技术可以被应用于任何数量的图像帧来计算相应图像帧的视点之间的差异。
在图像特征对应于虚拟环境的静态的部分情况下,图像特征应该在用户看来在虚拟环境中具有固定的位置。因此,导致用户相对于虚拟环境的视点的改变的用户的头部的移动得到生成的用于显示的图像帧,其中图像帧内的图像特征的位置和/或朝向随时间变化,使得图像特征看上去相对于虚拟环境静止。如上文参照图6所解释的,在虚拟环境中静止的图像特征看起来在图像帧序列内移动,并且因此图像特征在图像帧序列中的几何布置由于不同的视点而变化。
相关电路1240被配置为计算在第一图像帧中检测到的图像特征和在第二图像帧中检测到的对应图像特征之间的差异。在两个或更多个相应图像帧中检测到的两个对应图像特征之间的任何几何差异可以由相关电路1240计算,用于计算两个或更多个图像帧的视点之间的差异。例如,对应于虚拟环境的背景部分中的建筑物的角点或山的边缘的图像特征点集可以在相应图像帧中被检测到,并且被相互匹配为表示只是从不同的视点观看的相同的图像特征,并且可以计算图像特征点集的几何布置的差异,从而计算视点之间的差异。
如上所述,检测到的图像特征中的一个或多个可以是例如由图像处理电路1220生成的用于显示的虚拟对象。虚拟对象(诸如虚拟树)可以以第一图像帧内的第一位置和朝向被包括在第一图像帧中,并且可以以第二图像帧内的第二位置和朝向被包括在第二图像帧中。图像特征在图像帧内的位置和朝向取决于图像帧的视点,使得对于具有不同视点的图像帧,相同的图像特征在图像帧内将具有不同的位置和/或朝向。可以执行特征匹配以匹配相应图像帧中的虚拟对象,并且可以计算两个图像帧之间的位置和/或朝向的差异。此外,在一些情况下,第一图像帧可以包括多个虚拟对象,并且多个虚拟对象中的至少一些也可以被包括在第二图像帧中,在这种情况下,可以执行特征匹配以在图像帧之间匹配虚拟对象,并且可以计算多个对象在两个图像帧之间的位置和朝向的差异,以用于计算图像帧的视点之间的差异。
相关电路1240因此计算第一图像帧中的至少一个图像特征和第二图像帧中的对应图像特征之间的差异,并且根据第一图像帧中的图像特征和第二图像帧中的对应图像特征之间的差异生成差异数据。差异数据指示第一图像帧的视点的位置和/或朝向与第二图像帧的视角的位置和/或朝向的差异。如上所述,差异数据可以基于在具有不同视点的两个相应图像帧中检测到的图像特征和对应图像特征来生成,和/或可以基于在两个相应图像帧中检测到的多个图像特征和多个对应图像特征来生成。
相关电路1240被配置为根据为第一和第二图像帧生成的差异数据和与第一和第二图像帧相关联的追踪数据之间的差异来生成输出数据。如上所述,根据第一时间点(T1)的追踪数据生成第一图像帧以用于显示,并且根据第二时间点(T2)的追踪数据生成第二图像帧以用于显示(注意,与用于生成用于显示的图像帧的处理相关联的延迟是这样的,当图像帧随后输出用于显示时,HMD在输出图像时的视点与先前用于生成图像帧的视点不同,如上面参考图11所描述的)。在理想的场景中,HMD在给定方向上的N米(例如,N=1米)的位置改变在理想的情况下被反映在追踪数据中,使得追踪数据在第二个时间点指示HMD的位置与HMD在第一个时间点的位置相比具有N米的改变。类似地,由相关电路1240基于第一图像帧中的图像特征和第二图像帧中的对应图像特征之间的几何差异而生成的差异数据在理想的情况下应该指示第一图像帧的视点和第二图像帧的视点之间的N米(例如,1米)的差异。为便于解释,上述讨论提到了单一轴上的移动的示例,并且将理解,可以类似地追踪3D空间内的位置和/或朝向的改变。然而,与生成用于显示的图像帧相关联的处理误差可能导致HMD的位置和/或朝向的改变与生成的图像帧的视点的位置和/或朝向的改变不匹配。特别地,图形处理管道的一个或多个阶段的误差会导致生成的图像帧的几何属性与HMD的位置对于图像帧的改变之间的差异,使得用户感知显示的图像没有准确地追踪用户的头部移动。
因此,相关电路1240被配置为首先计算两个相应图像帧中的两个对应图像特征之间的几何差异,根据计算的几何差异生成指示第一图像帧的视点和第二图像帧的视点之间的差异的差异数据,将差异数据与第一图像帧的追踪数据和第二图像帧的追踪数据进行比较,以计算HMD的位置和/或朝向的改变与第一和第二图像帧的视点的位置和/或朝向的改变之间的差异,并且根据HMD的位置和/或朝向的改变与第一和第二图像帧的视点的位置和/或朝向的改变之间的差异生成输出数据。以这种方式,生成的输出数据提供HMD视点的改变与图像帧的视点的改变之间的不匹配量(如果存在)的指示。更一般地来说,在HMD视点相对于真实世界环境的改变的情况下,可以使用两个或更多个连续图像帧中的图像特征检测来计算相对于虚拟环境的虚拟视点的相关联的改变,并且将真实世界视点的改变与虚拟视点的改变进行比较,并且生成输出数据以指示真实世界视点的改变和虚拟视点的改变之间的任何几何差异(位置和/或朝向的差异)。
因此,输出数据指示虚拟视点相对于由追踪数据所指示的HMD视点的位置偏移和朝向偏移中的至少一个。
图13a例示了HMD的追踪的位置的改变和根据指示HMD的追踪的位置的追踪数据生成的针对图像帧计算的视点的位置的改变。图13a示意性地例示了时序图,其中沿横轴从左到右表示增加时间,并且沿纵轴表示相对于三维坐标系的给定轴的位置(为了简单解释,示出了单一轴,并且将理解,可以相对于使用三轴坐标系的三维空间追踪HMD的位置和朝向)。在示出的示例中,增加纵轴上的位置表示相对于参考点的距离的增加。数据点1310表示由追踪数据指示的HMD的位置的改变,从而表示由用户的头部移动引起的HMD视点相对于真实世界环境的位置的改变。数据点1320表示为生成的图像帧计算的(基于图像特征之间的差异计算的)视点的位置的改变,从而表示虚拟视点的位置的改变。在图13a的示例中,可以看出,真实世界视点的给定改变被反映在虚拟视点的对应改变量中,使得系统以理想的方式运行,并且由相关电路1240计算的虚拟视点的位置由于与生成用于显示的图像帧相关联的延迟而滞后于由追踪数据指示的真实世界视点的位置由箭头1305指示的量。因此,图13a示意性地例示了以理想方式运行的系统,其中与图像帧生成相关联的延迟导致两个数据点集之间的偏移。
图13b示意性地例示了另一个图,其中再次示出了数据点1310和1320用于参考。在图13b的情况下,数据点1330表示生成的图像帧的视点的位置的改变,从而表示虚拟视点的位置的改变。可以看出,由追踪数据指示的HMD的位置的改变和由相关电路1240基于生成的图像帧中的图像特征的几何属性计算的视点的位置的改变之间存在差异。特别地,在所示出的示例中,可以看出,由相关电路1240计算的虚拟视点的位置的改变与HMD位置的改变不同。因此,在这种情况下,由相关电路1240生成的差异数据和由追踪数据指示的HMD的位置之间存在改变,并且相关电路1240因此生成指示差异数据与追踪数据之间的差异的输出数据。特别地,在这个示例中,输出数据指示HMD位置与针对在t1、t2和t3的图像帧计算的视点的位置之间的差异。将理解,为了解释的目的,图13a和图13b中示出了坐标系的单一轴,并且可以使用三个轴,并且朝向的差异可以类似地由生成的输出数据指示。
因此,更一般地,相关电路1240被配置为生成指示图像帧序列的虚拟视点的姿态(其根据不同图像帧中的对应图像特征之间的几何差异来计算)和由追踪数据指示的HMD的姿态之间的差异的输出数据。因此,输出数据可以指示以下中的至少一个:虚拟视点的位置和HMD的位置之间的位置差异;以及虚拟视点的朝向和HMD的朝向之间的朝向差异。
输出数据可以指示图像帧的虚拟视点的姿态和由用于生成图像帧的追踪数据所指示的HMD的姿态之间的差异。因此,对于完美的系统,预计这两个姿态应该相互匹配,并且由输出数据指示姿态之间的任何差异。
可选地,输出数据可以指示虚拟视点相对于HMD视点的延迟。如图13a所示,由于与生成用于显示的图像帧相关联的延迟,由相关电路1240针对给定图像帧计算的虚拟视点的位置滞后于由追踪数据指示的真实世界视点的位置由箭头1305指示的量。指示在第一时间点的HMD姿态的追踪数据被用来生成用于显示的图像帧。图像帧随后被输出和分析,以计算图像帧的视点(或两个图像帧之间的视点的差异),使得到图像帧被输出和分析时,追踪数据现在指示与为图像帧计算的视点的姿态不同的HMD的更新姿态。因此,输出数据可以包括指示真实世界视点的姿态和基于图像特征分析计算的虚拟视点的姿态之间的时序偏移的时序数据或偏移数据。
因此,数据处理装置1200接收HMD的追踪数据,根据追踪数据生成用于显示的图像帧,并且对图像帧中的图像特征执行图像特征分析,从而计算与图像帧相关联的虚拟视点的姿态并且输出指示虚拟视点的理想预期姿态(其应匹配追踪数据)和虚拟视点的计算出的姿态之间的任何几何差异的输出数据。因此,输出数据指示导致实际虚拟视点与预期虚拟视点的偏差的图形处理管道中的处理误差和不兼容性的存在,并且可以被用来协助调试。
在本公开的一些实施例中,检测电路1220被配置为检测第一图像帧中的图像特征的位置和朝向,并且检测第二图像帧中的对应图像特征的位置和朝向。通过检测电路1220检测第一图像帧中的图像特征的姿态(位置和朝向)以及第二图像帧中的图像特征的姿态。包括在第一图像帧中的图像特征的姿态取决于第一图像帧的视点,并且类似地,包括在第二图像帧中的图像特征的姿态取决于第二图像帧的视点。在上述讨论中,图像特征是相对于虚拟环境是静止的静止图像特征。相关电路1240可以被配置为将视点平移和视点旋转中的至少一个应用到图像帧之一,以调整图像帧的视点,以便图像特征的姿态被调整为对应于另一图像帧中的图像特征的姿态。特别地,对于由位置(x,y,z)以及由偏航、俯仰和滚动(α,β,γ)给出的朝向表示的特定视点,可以通过调整上述任何参数以对图像帧应用图像扭曲来将该视点变换到新的视点,该图像扭曲导致图像特征的姿态匹配另一图像帧中的对应图像特征的姿态。例如,几何视觉技术(诸如“Finding the exact rotation between twoimages independently of the translation,L.Kneip et al.,LNCS,Vol.7577”中公开的那些几何视觉技术)可以被用于建立图像帧之间的视点旋转和平移,其内容通过引用纳入本文。
因此,更一般地,用来平移和/或旋转视点以匹配图像特征的姿态的变换因此指示两个图像帧的视点的相应姿态之间的差异。相关电路1240因此根据变换计算两个视点之间的差异,并且相应地生成差异数据。虽然上述讨论涉及相应图像帧中的两个对应图像特征的姿态,但是将理解,在一个给定的图像帧中可以检测到多个图像特征,并且可以对多个图像特征应用扭曲,这可以提高可靠性。因此,更一般地,在本公开的一些实施例中,相关电路1240被配置为根据第一图像帧中的图像特征与第二图像帧中的对应图像特征之间的差异,计算第一图像帧的视点与第二图像帧的视点之间的变换。
在本公开的一些实施例中,检测电路1220被配置为基于特征匹配来检测第一图像帧中的图像特征和第二图像帧中的对应图像特征。多个可能的特征匹配算子/算法可以由检测电路执行,包括来自由以下组成的列表的一个或多个:哈里斯角点检测器;尺度不变特征变换;加速的鲁棒特征检测器;以及基于加速分割测试的特征。更一般地,相应图像帧中的图像特征被检测出来,并且与包括与图像特征相关联的图像数据的描述符(descriptor)相关联。通过比较描述符来识别不同图像帧中的图像特征之间的对应以识别匹配图像特征,并且计算图像帧中的匹配特征的几何布置之间的差异,以用于计算视点在图像帧之间的平移和/或旋转。
在本公开的一些实施例中,图像帧序列包括立体图像序列,每个立体图像包括左图像和右图像。图像处理电路1220可以被配置为生成包括要分别地向左眼和右眼显示的左图像和右图像(例如,参见图5)的立体图像帧。
在本公开的一些实施例中,相关电路1240被配置为分别地计算第一立体图像帧的左图像或右图像中的图像特征与第二(后续)立体图像帧的左图像或右图像中的对应图像特征之间的差异。因此,在立体图像序列的情况下,可以在第一立体图像帧的左图像(或右图像)中检测到图像特征,并且可以在另一立体图像帧的左图像(或右图像)中检测到对应图像特征,并且可以计算这两个图像特征之间的差异,从而计算第一和第二立体图像帧的视点之间的差异。因此,在本公开的一些实施例中,可以基于对立体图像序列中的左图像或右图像中包括的图像特征的特征匹配来执行用于生成指示虚拟环境中的虚拟视点的姿态与真实世界环境中的HMD视点的姿态之间的差异的输出数据的技术。
通过生成用于显示的立体图像,佩戴HMD的观看者根据用户的相应眼睛观察到的左图像与右图像之间的视差被赋予深度的错觉。立体图像可以被显示在HMD的显示单元上,如图2中示意性地示出的,并且基于给定图像特征的视差,可以将由用户观察的立体图像中的给定图像特征(例如,虚拟对象)的深度控制到在HMD的显示单元的前方、后方或基本相同的深度。通常地,如果要在显示屏幕的前方观察虚拟对象,则以所谓的反方向的视差来显示左图像和右图像。如果要在与显示屏幕相同的深度观察虚拟对象,则通常在虚拟对象的左图像和右图像中没有视差。如果要在显示屏幕的后方观察虚拟对象,则左图像和右图像通常被显示具有虚拟对象的视差。
图14示意性地例示了显示包括具有视线聚合(vergence)距离的左图像和右图像的立体图像的显示单元540,使得虚拟对象500在显示屏幕的位置的后方被观察到(也就是说,比显示屏幕位置离观察者更远)。在虚拟对象是虚拟环境中的静止特征的情况下,由用户相对于HMD视点观察到的虚拟对象的深度应该随着HMD视点相对于深度方向的改变而相应变化。例如,当用户观察到虚拟对象定位在深度方向(例如,Z轴的方向)上距离用户Z米并且HMD随后在深度方向上向虚拟对象移动时,虚拟对象应该随后被用户在更接近HMD的不同深度处观察到。
在本公开的一些实施例中,相关电路1240被配置为根据第一图像帧的左图像和右图像中的图像特征来计算图像特征的第一视线聚合距离。检测电路1220可以通过检测第一图像帧的左图像和右图像中的图像特征来检测第一图像帧中的图像特征。因此,可以检测左图像中的图像特征的位置和右图像中的图像特征的位置。基于图像特征与用户的眼睛的位置(这是预先为HMD设置的相对于显示单元的位置的预定位置)之间的横向分隔,可以计算两只眼睛的视线对图像特征相交的视线聚合距离。因此,视线聚合距离表示图像特征要被用户观察到的距用户的眼睛到距离。
在本公开的一些实施例中,检测电路1220被配置为根据第二图像帧的左图像和右图像二者中的图像特征来计算图像特征的第二视线聚合距离。因此,除了计算第一视线聚合距离(对于第一图像帧图像特征被观察到的第一深度),还可以计算第二视线聚合距离(对于另一稍后的图像帧图像特征被观察到的第二深度)。由于HMD的移动,第一图像帧应该导致图像特征在与第二图像帧中观察到图像特征时的不同深度被观察到。例如,在使用指示位置(0,0,0)的追踪数据生成第一图像帧并且使用指示位置(0,0,Z2)的追踪数据生成第二图像帧使得HMD在Z轴的方向上向观察到的图像特征移动距离Z2的情况下,与第一图像帧相关联的第一视线聚合距离应该大于与第二图像帧相关联的第二视线聚合距离。相反地,在使用指示位置(0,0,0)的追踪数据生成第一图像帧并且使用指示位置(0,0,-Z2)的追踪数据生成第二图像帧使得HMD在Z轴的方向上远离观察到的图像特征移动距离Z2的情况下,与第一图像帧相关联的第一视线聚合距离应该小于与第二图像帧相关联的第二视线聚合距离。因此,相关电路1240可操作以计算第一视线聚合距离和第二视线聚合距离,计算两个视线聚合距离之间的差异,并且将计算的差异和与第一和第二图像帧相关联的追踪数据进行比较,以确定两个视线聚合距离之间的差异是否匹配HMD相对于图像特征的深度方向的分隔距离的改变。在理想的系统中,两个视线聚合距离之间的差异应该对应于如由用于第一图像帧的追踪数据和用于第二图像帧的追踪数据的差异所指示的HMD相对于图像特征的深度方向的分隔距离的改变。然而,图形处理管道的一个或多个阶段中的误差可能导致生成的图像帧的几何属性与HMD的位置对于图像帧的改变之间的差异,使得用户可以感知显示的图像没有准确地追踪用户的头部移动。因此,相关电路1240进一步可操作以根据两个视线聚合距离之间的差异和由用于第一和第二图像帧的追踪数据所指示的HMD的位置在深度方向上的改变来生成输出数据,从而识别几何误差。因此,输出数据指示导致视线聚合距离与预期视线聚合距离的偏差的在图形处理管道中的处理误差的存在,并且可以被用来协助调试。
因此,更一般地,在本公开的一些实施例中,检测电路1220被配置为通过检测第二图像帧的左图像和右图像二者中的图像特征来检测第二图像帧中的图像特征,并且其中相关电路1240被配置为:根据第二图像帧的左图像和右图像二者中的图像特征,计算图像特征的第二视线聚合距离;生成指示第一视线聚合距离和第二视线聚合距离之间的差异的视线聚合距离差异数据;并且根据视线聚合距离差异数据和与第一和第二图像帧相关联的追踪数据之间的差异,生成输出数据。
现在参考图15,在本公开的一些实施例中,数据处理装置1200包括被配置为生成测试追踪数据的测试电路1250,其中图像处理电路1220被配置为根据测试追踪数据生成用于显示的至少一个图像帧。测试电路1250被配置为生成指示HMD的位置和/或朝向的测试追踪数据。测试追踪数据例如可以指示使用三维坐标系的三维位置和/或相对于三维坐标系的朝向。例如,可以相对于参考点(原点)指示3D位置和/或朝向,该参考点与由接收电路1210接收到的追踪数据相关联的参考点相同。替代地,测试追踪数据可以指示三维位置和/或朝向的相对改变,而不是指示相对于参考点的位置和/或朝向。
图像处理电路1220被配置为根据由接收电路1210接收到的追踪数据来生成图像帧序列,并且根据测试追踪数据来生成图像帧序列中的至少一个图像帧。因此,图像帧序列包括多个连续的图像帧,每个图像帧都具有相关联的视点,并且图像帧序列中的至少一个图像帧是用根据测试追踪数据的视点生成的。
至少一个图像帧可以通过仅使用测试追踪数据来确定该至少一个图像帧的视点而生成。例如,接收电路1210可以接收以周期性时间间隔提供指示HMD位置和/或朝向的追踪数据流,并且对于给定的图像帧,图像处理电路1220可以被配置为使用测试追踪数据用于生成给定的图像帧,而不是使用接收到的追踪数据。
替代地,与其使用测试追踪数据来代替追踪数据用于生成给定图像帧,测试追踪数据可以被用来修改追踪数据。因此,在一些情况下,图像处理电路1220被配置为根据接收到的追踪数据和测试追踪数据二者来生成给定的图像帧。例如,接收到的追踪数据可以指示3D位置(x,y,z),并且测试追踪数据可以指示3D位置的改变(诸如(x1,y1,z1)),使得在给定的时间戳的接收到的追踪数据和测试追踪数据的组合指示(x+x1,y+y1,z+z1)的3D位置。类似地,测试追踪数据可以指示相对于任何的x、y或z轴的负改变。
因此,更一般地,测试追踪数据可以与接收到的追踪数据组合,以修改接收到的追踪数据,从而获得修改的追踪数据,并且图像处理电路1220可以被配置为根据修改的追踪数据生成至少一个图像帧。替代地,如上所述,可以直接用测试追踪数据替换接收到的追踪数据。
这样,图像处理电路1220生成用于显示的图像帧序列,其中至少一个图像帧根据测试追踪数据被生成用于显示。因此,测试电路1250可以被用来提供测试HMD姿态数据(测试追踪数据),所述数据被提供给图像处理电路1220,允许所谓的“假HMD姿态”被注入到图形处理管道。因此,测试HMD姿态数据可以在受控的时间点作为输入提供,并且测试HMD姿态数据随后将被反映在与生成的图像帧相关联的视点的改变中。特别地,通过输入已知的时间点的测试HMD姿态数据并且使用上面讨论的技术来检测图像帧中的图像特征并且生成指示两个图像帧之间的视点差异的差异数据,在由图像处理电路1220生成的特定图像帧处,可以识别由于测试HMD姿态数据导致的视点的突然改变。例如,测试HMD姿态数据可以是有效地将固定的量添加(或减去)到接收到的追踪数据(例如,通过引入相对于3D坐标系的至少一个轴的位置的偏移量)的阶跃输入,在这种情况下,差异数据突然指示在图像帧序列中的给定图像帧处的视点转移。因此,可以计算出输入测试HMD姿态数据之间的时间和输出反映与测试HMD姿态数据相关联的视点姿态改变的图像帧之间的时间。
因此,在本公开的一些实施例中,相关电路1240被配置为生成差异数据,并且根据测试追踪数据和差异数据计算通过图像处理电路1220的图像帧生成处理的延迟。
虽然上述讨论涉及使用测试追踪数据作为对图像处理电路1220的受控输入,以允许用于生成用于显示的图像帧的延迟的快速和可靠计算,但是相关电路1240可以可选地被配置为不使用测试电路1250来计算延迟。如先前参照图13a和图13b所解释的,相关电路1240被配置为生成指示图像帧序列的虚拟视点的姿态(其根据不同图像帧中的对应图像特征之间的几何差异来计算)与由追踪数据指示的HMD的姿态之间的差异的输出数据。如图13a所示,由于与生成用于显示的图像帧相关联的延迟,由相关电路1240计算的虚拟视点的位置滞后于由追踪数据指示的真实世界视点的位置由箭头1305指示的量。因此,在本公开的一些实施例中,相关电路1240被配置为根据接收到的追踪数据和差异数据来计算通过图像处理电路的图像帧生成处理的延迟,并且生成包括指示图像帧生成处理的延迟的时序数据的输出数据。
在本公开的一些实施例中,测试电路1250被配置为根据由接收电路1210接收的追踪数据来预测HMD的姿态,并且生成包括HMD的至少一个预测姿态的测试追踪数据。测试电路1250可以被配置为基于HMD的追踪数据来预测HMD的未来位置和/或朝向。一个或多个合适的预测性追踪算法可以用于此目的。在一些示例中,测试电路1250包括机器学习模型,该机器学习模型被配置为根据由接收电路1210接收的追踪数据来生成测试追踪数据。机器学习模型使用HMD追踪数据的先前实例来训练。响应于接收包括多个HMD姿态的输入,机器学习模型生成指示用于输入的预测HMD姿态的输出。
因此,测试电路1250可以被配置为根据接收到的追踪数据来预测未来的HMD姿态。例如,响应于接收指示HMD的移动轨迹的追踪数据流,测试电路1250可以生成指示轨迹的一个或多个预测的HMD姿态的输出。因此,测试电路1250可以被配置为生成包括至少一个预测的HMD姿态的测试追踪数据,并且图像处理电路1220根据测试追踪数据生成一个或多个用于显示的图像帧。因此,使用计算的延迟的知识(例如,图13中示出的时间段1305),测试追踪数据可以由测试电路1250生成用于输入到在受控时间的图像处理电路1220,以便在相对于指示这样的HMD姿态的(通过追踪HMD获得的)接收到的追踪数据被输入时之前的时间输入预测的HMD姿态,并且可以根据测试追踪数据生成一个或多个用于显示的图像帧,从而去除或至少减少虚拟视点滞后于HMD的真实世界视点的延迟量。换言之,通过生成包括至少一个预测的HMD姿态的测试追踪数据,HMD的追踪的姿态和反映在输出用于显示的图像帧的视点中的追踪的姿态之间的时序差异(由箭头1305所示)被减小,并且在一些情况下可以基本上被减小到完全去除滞后的存在。
在本公开的一些实施例中,图像处理电路1220被配置为通过根据HMD的至少一个光学元件应用图像变形来生成用于显示的每个图像帧。图像处理电路1220可以通过对图像帧应用图像变形以校正与HMD的光学元件相关联的畸变来生成用于显示的图像帧。当光被包括一个或多个透镜和/或一个或多个镜子的光学元件引导(例如,汇聚或发散)时,可能发生光的变形。例如,透镜的几何形状可能意味着入射到透镜上的光可能被透镜的不同部分不同地折射,并且因此光可能取决于透镜的哪个部分负责引导光而被不同地引导。因此,图像处理电路1220可以应用和与光学元件相关联的变形相反的逆变形来抵消光学元件的变形。因此,可以通过渲染图像帧并且在后处理效果中扭曲图像帧来应用逆图像变形。特别地,为了抵消与HMD的光学元件相关联的枕形变形,图像处理电路1220可以应用桶形变形,以基本上抵消变形,以便使观看的用户观察到基本上不变形的图像。因此,检测电路1230可以被配置为检测具有应用于其的图像变形的图像帧中的图像特征,并且检测图像帧中的图像特征之间的差异。替代地,检测电路1230可以被配置为通过检测在图像变形被应用到图像帧之前的图像帧中的一个或多个图像特征来检测图像帧中的图像特征。
现在参考图16,在本公开的实施例中,一种数据处理方法包括:
接收(在步骤1610)指示头戴式显示器(HMD)的追踪的姿态的追踪数据;
根据追踪数据,生成(在步骤1620)用于显示的图像帧序列;
检测(在步骤1630)第一图像帧中的图像特征和第二图像帧中的对应图像特征;
计算(在步骤1640)第一图像帧中的图像特征与第二图像帧中的对应图像特征之间的差异;
根据第一图像帧中的图像特征和第二图像帧中的对应图像特征之间的差异,生成(在步骤1650)指示第一图像帧的视点和第二图像帧的视点之间的差异的差异数据;以及
根据差异数据和与第一和第二图像帧相关联的追踪数据之间的差异,生成(在步骤1660)输出数据。
将理解的是,示例实施例可以通过在通用目的计算系统(诸如,游戏机)上运行的计算机软件来实施。在这些示例中,计算机软件在由计算机执行时使计算机执行上面讨论的被认为是本公开的实施例的任一方法。类似地,本公开的实施例是由存储这种计算机软件的非暂时性、机器可读存储介质提供的。
同样显而易见的是,根据上述教导,本公开的许多修改和变体是可能的。因此,将理解,在所附权利要求的范围内,本公开可以以本文中具体描述的方式以外的方式实践。

Claims (15)

1.一种数据处理装置,包括:
接收电路,用于接收指示头戴式显示器(HMD)的追踪的位置和朝向中的至少一个的追踪数据;
图像处理电路,用于根据所述追踪数据生成用于显示的图像帧序列;
检测电路,用于检测第一图像帧中的图像特征以及检测第二图像帧中的对应图像特征;以及
相关电路,用于:
计算所述第一图像帧中的所述图像特征和所述第二图像帧中的所述对应图像特征之间的差异;
根据所述第一图像帧中的所述图像特征和所述第二图像帧中的所述对应图像特征之间的差异生成指示所述第一图像帧的视点和所述第二图像帧的视点之间的差异的差异数据;以及
根据所述差异数据和与所述第一图像帧和所述第二图像帧相关联的所述追踪数据之间的差异生成输出数据。
2.根据权利要求1所述的数据处理装置,其中所述检测电路被配置为检测所述第一图像帧中的所述图像特征的位置和朝向以及检测所述第二图像帧中的所述对应图像特征的位置和朝向。
3.根据任一前述权利要求所述的数据处理装置,其中所述相关电路被配置为根据所述图像特征和所述对应图像特征之间的差异计算所述第一图像帧的视点和所述第二图像帧的视点之间的变换。
4.根据任一前述权利要求所述的数据处理装置,其中所述图像帧序列包括立体图像序列,每个立体图像包括左图像和右图像。
5.根据权利要求4所述的数据处理装置,其中所述相关电路被配置为分别计算所述第一图像帧的左图像或右图像中的图像特征和所述第二图像帧的左图像或右图像中的对应图像特征之间的差异。
6.根据权利要求4或权利要求5所述的数据处理装置,其中所述检测电路被配置为通过检测所述第一图像帧的左图像和右图像二者中的图像特征来检测所述第一图像帧中的图像特征。
7.根据权利要求6所述的数据处理装置,其中所述相关电路被配置为根据所述第一图像帧的左图像和右图像中的图像特征来计算所述图像特征的第一视线聚合距离。
8.根据权利要求7所述的数据处理装置,其中所述检测电路被配置为通过检测所述第二图像帧的左图像和右图像二者中的图像特征来检测所述第二图像帧中的图像特征,并且其中所述相关电路被配置为:
根据所述第二图像帧的左图像和右图像二者中的图像特征计算所述图像特征的第二视线聚合距离;
生成指示所述第一视线聚合距离和所述第二视线聚合距离之间的差异的视线聚合距离差异数据;以及
根据所述视线聚合距离差异数据和与所述第一图像帧和所述第二图像帧相关联的所述追踪数据之间的差异生成所述输出数据。
9.根据任一前述权利要求所述的数据处理装置,包括测试电路,所述测试电路被配置为生成测试追踪数据,其中所述图像处理电路被配置为根据所述测试追踪数据生成用于显示的至少一个图像帧。
10.根据权利要求9所述的数据处理装置,其中所述测试电路被配置为根据所述追踪数据来预测所述HMD的姿态并且生成包括所述HMD的至少一个预测的姿态的所述测试追踪数据。
11.根据任一前述权利要求所述的数据处理装置,其中所述相关电路被配置为计算通过所述图像处理电路的图像帧生成处理的延迟。
12.根据任一前述权利要求所述的数据处理装置,其中所述图像处理电路被配置为通过根据所述HMD的至少一个光学元件应用图像变形来生成用于显示的每个图像帧。
13.根据任一前述权利要求所述的数据处理装置,其中根据捕获的图像和/或所述HMD的一个或多个惯性传感器生成所述追踪数据。
14.一种数据处理方法,包括:
接收指示头戴式显示器(HMD)的追踪的姿态的追踪数据;
根据所述追踪数据生成用于显示的图像帧序列;
检测第一图像帧中的图像特征和第二图像帧中的对应图像特征;
计算所述第一图像帧中的图像特征和所述第二图像帧中的对应图像特征之间的差异;
根据所述第一图像帧中的图像特征和所述第二图像帧中的对应图像特征之间的差异生成指示所述第一图像帧的视点和所述第二图像帧的视点之间的差异的差异数据;以及
根据所述差异数据和与所述第一图像帧和所述第二图像帧相关联的所述追踪数据之间的差异生成输出数据。
15.计算机软件,所述计算机软件在由计算机执行时使得所述计算机执行权利要求14所述的方法。
CN202211722697.4A 2021-12-31 2022-12-30 用于虚拟现实的装置和方法 Pending CN116382461A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB2119134.1 2021-12-31
GB2119134.1A GB2614326A (en) 2021-12-31 2021-12-31 Apparatus and method for virtual reality

Publications (1)

Publication Number Publication Date
CN116382461A true CN116382461A (zh) 2023-07-04

Family

ID=80220035

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211722697.4A Pending CN116382461A (zh) 2021-12-31 2022-12-30 用于虚拟现实的装置和方法

Country Status (5)

Country Link
US (1) US20230215023A1 (zh)
EP (1) EP4207067A1 (zh)
JP (1) JP2023099494A (zh)
CN (1) CN116382461A (zh)
GB (1) GB2614326A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4261071A1 (en) * 2022-04-14 2023-10-18 Airbus Defence and Space GmbH Display arrangement for video workstation in a vehicle

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9111351B2 (en) * 2011-12-15 2015-08-18 Sony Corporation Minimizing drift using depth camera images
JP6345627B2 (ja) * 2015-05-20 2018-06-20 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置および情報処理方法
US10607413B1 (en) * 2015-09-08 2020-03-31 Ultrahaptics IP Two Limited Systems and methods of rerendering image hands to create a realistic grab experience in virtual reality/augmented reality environments
KR102501752B1 (ko) * 2015-09-21 2023-02-20 삼성전자주식회사 헤드 마운트 디스플레이의 움직임을 보상하는 방법 및 이를 위한 장치
US11017712B2 (en) * 2016-08-12 2021-05-25 Intel Corporation Optimized display image rendering
US10042421B2 (en) * 2016-08-24 2018-08-07 Disney Enterprises, Inc. System and method of latency-aware rendering of a focal area of an animation
CN117453038A (zh) * 2016-08-26 2024-01-26 奇跃公司 用于虚拟及增强现实显示的连续时间扭曲及双目时间扭曲系统和方法
KR102374404B1 (ko) * 2017-07-25 2022-03-15 삼성전자주식회사 콘텐트를 제공하기 위한 디바이스 및 방법
US11182962B2 (en) * 2018-03-20 2021-11-23 Logitech Europe S.A. Method and system for object segmentation in a mixed reality environment
EP3830674A4 (en) * 2018-08-03 2022-04-20 Magic Leap, Inc. DEPTH PLANE SELECTION OF MULTI-DEPTH PLAN DISPLAY SYSTEMS BY USER CATEGORIZATION
JP7423659B2 (ja) * 2019-05-20 2024-01-29 マジック リープ, インコーポレイテッド 眼姿勢を推定するためのシステムおよび技法
US11099641B2 (en) * 2019-06-27 2021-08-24 Disney Enterprises, Inc. Calibration, customization, and improved user experience for bionic lenses
US11150470B2 (en) * 2020-01-07 2021-10-19 Microsoft Technology Licensing, Llc Inertial measurement unit signal based image reprojection
US11113894B1 (en) * 2020-09-11 2021-09-07 Microsoft Technology Licensing, Llc Systems and methods for GPS-based and sensor-based relocalization

Also Published As

Publication number Publication date
US20230215023A1 (en) 2023-07-06
JP2023099494A (ja) 2023-07-13
GB202119134D0 (en) 2022-02-16
GB2614326A (en) 2023-07-05
EP4207067A1 (en) 2023-07-05

Similar Documents

Publication Publication Date Title
EP3051525B1 (en) Display
US10257492B2 (en) Image encoding and display
US10054796B2 (en) Display
US10306202B2 (en) Image encoding and display
EP3070513B1 (en) Head-mountable display system
US20130293447A1 (en) Head-mountable display system
CN108921050B (zh) 一种基于移动端的虚拟现实图像处理系统
CN112655202B (zh) 用于头戴式显示器的鱼眼镜头的减小带宽立体失真校正
GB2523554A (en) Head-mountable apparatus and systems
EP4207067A1 (en) Apparatus and method for virtual reality
US11187895B2 (en) Content generation apparatus and method
CN117452637A (zh) 头戴式显示器和图像显示方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication