CN108139807A - 使用像素速度的电子显示稳定 - Google Patents

使用像素速度的电子显示稳定 Download PDF

Info

Publication number
CN108139807A
CN108139807A CN201680059892.XA CN201680059892A CN108139807A CN 108139807 A CN108139807 A CN 108139807A CN 201680059892 A CN201680059892 A CN 201680059892A CN 108139807 A CN108139807 A CN 108139807A
Authority
CN
China
Prior art keywords
texture
pixel
speed field
speed
hmd device
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
Application number
CN201680059892.XA
Other languages
English (en)
Other versions
CN108139807B (zh
Inventor
克雷格·多纳
保罗·阿尔伯特·拉隆德
埃文·哈德斯蒂·帕克
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.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN108139807A publication Critical patent/CN108139807A/zh
Application granted granted Critical
Publication of CN108139807B publication Critical patent/CN108139807B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/012Head tracking input arrangements
    • 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
    • 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
    • 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/0179Display position adjusting means not related to the information to be displayed
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • 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
    • G06T7/285Analysis of motion using a sequence of stereo image pairs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/332Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
    • H04N13/344Displays for viewing with the aid of special glasses or head-mounted displays [HMD] with head-mounted left-right displays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • H04N13/373Image reproducers using viewer tracking for tracking forward-backward translational head movements, i.e. longitudinal movements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • H04N13/376Image reproducers using viewer tracking for tracking left-right translational head movements, i.e. lateral movements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • H04N13/378Image reproducers using viewer tracking for tracking rotational head movements around an axis perpendicular to the screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/366Image reproducers using viewer tracking
    • H04N13/38Image reproducers using viewer tracking for tracking vertical translational head movements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/398Synchronisation thereof; Control thereof
    • 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
    • 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/014Head-up displays characterised by optical features comprising information/image processing systems
    • 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/0179Display position adjusting means not related to the information to be displayed
    • G02B2027/0187Display 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Signal Processing (AREA)
  • Optics & Photonics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)

Abstract

系统(100)包括头戴式显示器(HMD)设备(102),其包括至少一个显示器(112,114)和至少一个传感器(210),以提供HMD设备的姿势信息。系统进一步包括传感器集成器模块(304)和应用处理器(204),传感器集成器模块连接到至少一个传感器,用于基于姿势信息确定HMD设备的运动矢量,应用处理器用于基于根据姿势信息确定的HMD设备的姿势,渲染第一纹理(122,322)。系统进一步包括运动分析模块(302)和合成器(224),运动分析模块用于确定第一速度场(128,328),第一速度场具有用于第一纹理的像素的至少一个子集的像素速度,合成器用于基于第一纹理、第一速度场以及HMD的运动矢量,渲染第二纹理(140,334),并将第二纹理提供给HMD设备的显示器。

Description

使用像素速度的电子显示稳定
技术领域
本公开一般涉及头戴式显示器系统,尤其涉及头戴式显示器系统中的低延迟运动补偿和稳定。
背景技术
虚拟现实(VR)系统复制了模拟真实世界中很多地方的物理存在的环境,或使用完全由计算机生成的这个世界中的“场景”的三维(3D)图像的所想象的世界。类似地,增强现实(AR)系统通过计算机生成的3D图像“增强”真实世界中的物理存在,3D图像覆盖了同时捕捉的真实世界的图像。因此,VR和AR系统都试图在真实、增强或想象的世界中提供准确的“存在”感。通常,通过使用提供独立的左眼显示器和右眼显示器的头戴式显示器(HMD)设备来促进这种存在感。这些显示器一起呈现所表现的世界中的场景的立体或3D表示,其中所呈现的场景基于用户的当前姿势(也就是用户的头部相对于所述场景的参考坐标系的定位和定向)反映用户对场景的相对视角。
基于HMD的VR和AR系统将3D图像显示为一系列显示纹理(或“帧”),每个显示纹理基于对应的所检测的头部姿势来渲染并保持特定的时间段。但是,因为HMD设备通常允许用户自由移动,所以在开始渲染纹理与显示作为结果的被渲染纹理之间的时间内,用户的头部可能会可感知地移动。因此,在特定时间点在HMD设备处显示的图像可能滞后于用户的头部移动。此外,场景中的虚拟对象可能“处于运动中”,因此如果在正确的时间渲染帧,那么虚拟对象的渲染位置可能与对象应该出现的位置不同。在场景内用户的被感知定向以及在该场景内对象的被感知定向与场景的实际定向以及其中包含的对象之间的不协调会导致用户迷失定向或不适,或者是通常所谓的“虚拟现实病”。因此,为了减少或消除用户的不适并由此提供更好的呈现,基于HMD的VR和AR系统试图将运动-光子延迟最小化;也就是用户头部/眼睛移动与表示来自作为结果的新姿势的场景的光子击中用户眼睛的时间之间的延迟。
附图说明
通过参考附图,本领域技术人员可以更好地理解本公开,并且本公开的很多特征和优点对于本领域技术人员而言显而易见。在不同的附图中用相同的附图标记表示相似或相同的项。
图1是根据本公开至少一个实施例,示出实现基于像素速度的电子显示稳定(EDS)的基于头戴式显示器(HMD)的显示系统的示意图。
图2是根据本公开至少一个实施例,示出图1的基于HMD的显示系统的硬件配置的方框图。
图3是根据本公开至少一个实施例,更详细示出图2的基于HMD的显示系统的合成器的方框图。
图4是根据本公开至少一个实施例,示出示例性的基于像素速度的EDS过程的流程图。
具体实施方式
以下描述旨在通过提供涉及基于HMD的AR和VR显示系统的很多具体实施例和细节来传达对本公开的透彻理解。但是应当理解,本公开不限于这些仅仅作为示例的具体实施例和细节,并且本公开的范围因此旨在仅通过所附权利要求及其等同物来限制。还应当理解,根据已知的系统和方法,本领域技术人员将认识到,根据具体设计和其他需要,本公开为其预期目的的使用以及在任何数量的替代实施例中的好处。
图1根据本公开的至少一个实施例,示出用于提供真实世界或想象世界中的VR或AR存在的基于HMD的显示系统100。显示系统100包括HMD设备102,其耦合到用户头部104的移动。典型地,如同术语“安装”在“头戴式显示器”中所暗示的,HMD设备102包括捆绑或安装到用户头部104的设备,使得HMD设备102固定定位在用户的脸部附近并因此随着用户的移动而移动。但是在有些情况下,用户可将平板计算机或其他手持设备保持在用户的脸部并限制手持设备的移动,使得即使用户的头部104移动,手持设备对用户头部的定向也相对固定。在这种情况下,按照这种方式操作的手持设备也可视为HMD设备102的实施方式,即使它没有经由物理附件“安装”到用户的头部104。
HMD设备102包括外壳106、以及脸部衬垫109和绑带或系带的集合(为了清楚起见从图1省略),外壳106具有相对的表面108和另一个表面110,以将外壳106安装在用户的头部104,使得用户朝向外壳106的表面108。在所示实施例中,HMD设备102是双目HMD,并且因此具有设置在表面108的左眼显示器112和右眼显示器114。可将显示器112、114实现为单独的显示设备(也就是通过单独的显示驱动器硬件组件驱动的独立显示器阵列),或者可将显示器112、114实现为单个显示设备的逻辑分离区域(例如将单个显示器阵列在逻辑上分为左右两半)。在其他实施例中,可以实现单个显示器,或者可以实现两个以上显示器。外壳106还包括与左眼显示器112对准的目镜透镜116以及与右眼显示器114对准的目镜透镜118。或者,在一些实施例中,可将HMD设备102实现为单目HMD,其中或者通过左右目镜透镜116、118,或者直接在没有中介透镜(intervening lens)的情况下,将单个图像呈现给用户的双眼。
如下更详细所述,显示系统100还包括图像渲染系统,以生成用于在HMD设备102显示的图像。在一些实施例中,图像渲染系统的组件主要在HMD设备102本身内实现。例如,HMD设备102可包括执行VR/AR应用(其渲染作为结果的图像)的计算系统,并且HMD设备102可通过无线连接或有线连接来连接到本地或远程计算设备(其提供与VR/AR应用相关联的各种数据),这些数据描述要在场景中渲染的对象、在相同世界空间中操作的其他用户的参数(例如,定位)等等。在其他实施例中,在HMD设备102外部实现图像渲染系统的一部分或全部组件,并且可将表示用于显示的图像的数据经由有线连接或无线连接提供给HMD设备102。
在操作中,显示系统100执行VR或AR应用,其确定HMD设备102(以及因此用户的头部104)相对于参考坐标系(即“世界空间”)的当前姿势(即位置和旋转定向的其中一个或两个),然后根据与该姿势相关的视角(即“屏幕空间”)生成场景的图像。也就是说,显示系统100基于所确定的HMD设备102的姿势来生成并显示将世界空间映射到HMD设备102的屏幕空间的图像。所显示的图像可以完全是计算机生成的(即VR图像),或者图像可以是本地环境捕捉的图像(例如经由HMD设备102上安装的一个或多个图像传感器捕捉的图像)和被渲染为反映当前用户姿势的AR覆盖,或者图像可以是本地环境由其可见的透明“显示器”上的AR覆盖。如图1所示,在具有左侧显示器和右侧显示器两者的实施方式中,可以与在右眼显示器114中渲染和显示右眼专用图像同时地在左眼显示器112中渲染和显示左眼专用图像,从而实现通过所显示的图像表示的场景的立体3D显示。
当HMD设备102安装在用户头部104上或者被限制为与用户头部一致移动时,HMD设备102在操作期间经历显著的运动,该运动的形式是沿着一个或多个轴(例如所示的x、y和z轴)平移和/或沿着所述一个或多个轴(例如所示的翻滚、俯仰和偏航)旋转。此外,如上所述,所显示的图像可以包含“处于运动中”的对象(也就是相对于虚拟世界空间改变位置)。当与显示系统100的渲染和显示延迟相结合时,HMD设备102的运动,所显示的图像中对象的运动可导致实质性的用户迷失定向,除非另有缓解。为此,显示系统100使用电子显示稳定(EDS)过程120来补偿HMD设备102的临时运动以及所显示对象的临时运动。
图1进一步总结了根据至少一个实施例由显示系统100采用的EDS过程120。如图所示,显示系统100以特定速率每秒X帧(fps)为每个显示器112、114渲染输入纹理122(通常也称为“帧”或“图像”),例如以30fps、60fps、120fps等等的速率。在至少一个实施例中,显示系统100基于HMD设备102对于具有对应纹理122的时间点的姿势来渲染每个纹理122。两个以上纹理122的每个集合一起表示在对应时间点的3D场景的视图。为了说明起见,显示系统100例如可以以每秒30次更新或每33.33毫秒(ms)一次更新的速率来更新HMD设备102的姿势,而纹理122例如以120fps的速率渲染,因此每33.33ms产生的更新的HMD姿势用于呈现在相同时段中为每只眼睛生成的四个纹理122。
在渲染每个输入纹理122时,显示系统100执行运动分析过程124,以确定输入纹理122中每个像素的速度Vp。如下所述,在一些实施例中,该速度信息可通过渲染输入纹理122的应用来提供。也就是说,在图像中表示的对象的速度可以在渲染时预先识别或知晓,并且该信息可通过负责渲染输入纹理122的应用来提供。在其他实施例中,可通过像素运动估计技术来确定输入纹理122的像素速度,例如通过将光流分析应用于两个以上纹理122的序列126,包括所处理的当前纹理122以及一个或多个先前渲染的纹理122。
可将纹理122的像素的像素速度Vp组织或表示为像素速度场128,像素速度场128可以实现为条目阵列,每个条目存储纹理122内对应定位的对应像素的像素速度。此外,在一些实施例中,显示系统100可以实现深度缓冲器、深帧缓冲器、或者用于跟踪不同片段的深度的其他机构,并且因此纹理122的每个像素可以表示一个或多个片段,甚至可以表示丢弃的片段(因为它们可能由于像素/虚拟对象的运动而在将来变为去除障碍(disocclusion))。因此,运动分析过程124可包括确定可通过该像素表示的每个片段的像素的像素速度,并且因此,速度场128可以逐个像素存储多个片段的每个片段的像素速度。因此,表示像素速度场128的阵列的每个条目可以存储多个像素速度,每个像素速度用于与该条目相关联的像素所表示的每个片段。
与运动分析过程124并行地,显示系统100执行HMD运动转换过程130,由此显示系统100对于一个或多个基于运动的传感器(例如,陀螺仪、加速计、磁力计等等)执行采样,以相对于世界空间确定HMD设备102的当前运动矢量,记为“MVHMD”。在一些实施例中,这个当前运动矢量MVHMD可包括表示HMD设备102沿着x、y和z轴的一个或多个平移的速度或导数的三运动度(3DoF)矢量或者表示HMD设备102围绕x、y和z轴的一个或多个旋转(也就是翻滚、俯仰和偏航)的速度的3DoF矢量。在其它实施例中,当前运动矢量MVHMD包括表示HMD设备102的平移和旋转两者的导数的六自由度(6DoF)运动矢量。在一些实施例中,可以计算当前运动矢量MVHMD作为瞬时运动矢量,而在其他实施例中,可以计算当前运动矢量MVHMD作为预测运动矢量,也就是HMD设备102在将来时间的运动的预测(例如,在希望显示当前纹理122的将来时间点)。
在确定当前运动矢量MVHMD之后,HMD运动转换过程130将当前运动矢量MVHMD转换为屏幕空间中HMD设备102的运动的每像素速度表示,从而产生HMD速度场132,就像像素速度场128一样,HMD速度场132可以被实现为或表示为条目的阵列或矩阵,每个条目与对应的像素位置相关联并存储表示对应像素的速度的值,记为Vh。
然后,显示系统100执行速度组合过程134,由此将像素速度场128和HMD速度场132组合,以产生净速度场136。净速度场136表示同时考虑所渲染的图像中像素的速度以及HMD设备102的速度的时候每个像素的相对速度。因此,与速度场128、132一样,净速度场136可以被实现为条目的阵列或矩阵或通过条目的阵列或矩阵来表示,每个条目与对应的像素位置相关联并存储净像素速度Vnet,净像素速度Vnet表示该像素位置的像素速度Vp与该像素位置的HMD速度Vh之间的净速度(即Vnet=Vp+Vh)。在多个片段由该像素表示的情况下,该条目可以存储每个片段的净像素速度Vnet,所述Vnet使用该片段的像素速度Vp来计算。
利用这样计算的净每像素速度,显示系统100执行纹理平流输送过程138,由此基于净速度场136对当前输入纹理122的像素的色彩信息执行平流输送或修改,以生成对应的显示纹理140,对应的显示纹理140补偿运动矢量MVHMD所表示的用户头部的临时运动以及所显示的图像中虚拟对象的临时运动这两者。在每像素深度信息也包括在输入纹理122中或与输入纹理122相关联的情况下,按照相同的方式对深度信息执行平流输送。为了说明起见,例如假定当前输入纹理122包括由屏幕空间中的指示位置的一组像素构成的虚拟对象142,但是具有向右的微小速度。此外,假定用户头部并且因此HMD设备102的当前运动是向左和向下的轻微漂移。作为结果的虚拟对象142的净速度,也就是虚拟对象142相对于用户在世界空间中的视角的净运动,是向右和轻微的向上漂移。因此,作为使用净速度场136对当前输入纹理122执行平流输送的结果,表示虚拟对象142的像素在作为结果的显示纹理140中向右和向上移位,因此相对于如同在当前输入纹理122中发现的虚拟对象142的原始位置146,在屏幕空间中的运动补偿位置144处呈现虚拟对象142。然后,显示纹理140可以执行重新投影过程(相对于屏幕空间),以构建要在HMD设备102处显示的最终图像。
在具有独立右眼和左眼成像的实施方式中,对于为每只眼睛准备的一个或多个纹理并行执行EDS过程120,从而得到显示纹理140对或显示纹理140的其他集合,它们被同步扫描到HMD设备102中它们的相应显示器112、114。在具有单目显示器的实施方式中,EDS过程120生成单个显示纹理140,然后单个显示纹理140被扫描到HMD设备102的单个显示器。
假定对于至少一部分像素存在某些净速度,那么纹理平流输送过程138的结果是各个像素位置的移位,从而对于表示从一开始渲染输入纹理122直到将对应的显示纹理140扫描到对应的显示器的时间跨度,反映由于像素速度与HMD速度的组合所致的净变化。如上所述,可将输入纹理122表示为不同深度的多个片段,并且因此可以对于每个片段或深度水平执行纹理平流输送过程138。因此,像素位置的移位可导致先前被原始输入纹理122中的“更近”片段模糊的片段的去除障碍。在这种情况下,通过显示系统100实现的渲染过程可进一步包括去除障碍过程的实施方式,以去除可能由于纹理平流输送过程138所致的任何去除障碍错误。
如上所述,基于在渲染时采样的HMD设备102的姿势来渲染输入纹理122。但是,HMD设备102的附加运动可能在一开始渲染输入纹理122与扫描或显示通过纹理122表示的图像之间发生。因此,在显示输入纹理122时,不一定能准确地反映当时HMD设备102的实际定向,因此不一定能准确地反映用户对场景的当前视角。此外,输入纹理122可以表示处于运动中的虚拟对象,并且因此与在输入纹理122中表示的虚拟对象的实际位置相比,在显示输入纹理122时,用户可以期望虚拟对象相对于世界空间处于不同的位置。但是,通过计算每像素净速度,然后平流输送输入纹理122的像素的色彩信息,作为结果的显示纹理140更准确地反映在显示所述显示纹理140时用户的预期视角,以及更准确地反映在显示所述显示纹理140时处于运动中的虚拟对象的预期位置。
显示系统100可以结合试图补偿渲染时间与显示时间之间的临时运动的一个或多个显示稳定化过程采用EDS过程120。例如,显示系统100可以附加地采用2015年6月12日提交的名为“Electronic Display Stabilization for Head Mounted Display”的共同未决美国专利申请No.62/174,602(律师Docket NO.1500-G15012-PR)的EDS过程,其全部内容通过引用合并于此。
图2根据本公开的至少一个实施例,示出图1的显示系统100的示例性硬件配置200。硬件配置200包括这样的硬件,其旨在执行VR或AR应用(在此称为“VR/AR应用202”),从而渲染表示来自用户头部104或HMD设备102的当前姿势的场景的VR或AR内容,VR或AR内容包括用于每只眼睛的纹理序列。硬件配置200还包括EDS硬件,其旨在显示通过纹理序列表示的VR或AR内容,并且它实现EDS过程120,从而补偿所渲染的纹理之间的临时头部旋转以及通过所渲染的纹理表示的视频中呈现的处于运动中的虚拟对象的临时移动。
在所示的示例中,硬件配置200包括应用处理器204、系统存储器206、传感器集线器208(可以是单独的组件或通过应用处理器204实现的功能)以及惯性管理单元(IMU)210。在一些实施例中,为了视觉定位或视觉遥测的目的或者为了支持AR功能而实时显示捕捉的本地环境的图像,HMD设备102可以包括图像捕捉。在这种实施例中,硬件配置200例如还可包括一个或多个图像传感器212、214以及结构化光源或飞行时间(ToF)深度传感器216。
IMU 210包括一个或多个惯性传感器,其提供关于HMD设备102的姿势信息或者促进跟踪HMD设备102的姿势,例如包括陀螺仪218、磁力计220和加速度计222。来自BoschGmbh公司的Sensortec(TM)BMI160是IMU 210的商业可用实施方式的示例。传感器集线器208连接到IMU 210、成像传感器212、214和深度传感器216,并操作为管理应用处理器204与IMU 210、成像传感器212、214、深度传感器216以及显示系统100的其它传感器之间控制信令和数据的传输。来自Movidius有限公司的Myriad(TM)2视觉处理单元(VPU)是传感器集线器208的商业可用实施方式的示例。应用处理器204包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)、或一个或多个CPU与一个或多个GPU的组合。来自QualcommIncorporated公司的Snapdragon(TM)810MSM8994片上系统(SoC)是应用处理器204的商业可用实施方式的示例。
硬件配置200还包括合成器224、左眼显示器112和右眼显示器114。合成器224例如是可以实现为ASIC、可编程逻辑的设备,实现为执行软件的一个或多个GPU,或者实现为它们的组合,软件操纵一个或多个GPU提供所述功能。硬件配置200还包括用于驱动左眼显示器112的左显示器控制器228和用于驱动右眼显示器114的右显示器控制器230,它们被示出为合成器224的一部分。合成器224还可包括深帧缓冲器232,用于为左眼显示管线和右眼显示管线中的每一个存储一个或多个纹理以及与其相关联的深度场和速度场,如本文所述。
在操作中,应用处理器204执行VR/AR应用202(例如存储在系统存储器206中)以向用户提供VR/AR功能。作为该过程的一部分,VR/AR应用202操纵应用处理器204或关联处理器,以特定渲染速率渲染用于每只眼睛的纹理序列(例如图1的输入纹理122)。每个纹理包含可以完全由计算机生成的视觉内容,视觉内容是被捕捉图像(经由成像传感器212、214)与计算机生成的覆盖的组合,或者是通过透明显示面板或者进入本地环境的窗口显示的计算机生成的覆盖。每个纹理的视觉内容表示在纹理被确定时来自用户头部的对应姿势(或HMD设备102的姿势)的场景。因此,在准备渲染每个纹理时,应用处理器204从IMU210的陀螺仪218、磁力计220和加速度计222获得当前样本,并根据这些惯性传感器读数确定用户头部的当前姿势。作为使用IMU210来确定当前姿势和旋转的代替或者除了使用IMU210来确定当前姿势和旋转之外,应用处理器204还可以使用来自一个或多个成像传感器或深度传感器的信息,使用一个或多个视觉遥测或同时定位和映射(SLAM)技术来确定、验证或修改当前姿势和旋转。根据所确定的头部姿势,应用处理器204根据所确定的头部定向和旋转,渲染共同表示场景的立体视图的输入纹理对。然后,将被渲染的输入纹理对存储在深帧缓冲器232中,深帧缓冲器232可以是系统存储器206的一部分或单独的图像存储器。
并行地,合成器224操作为基于渲染的纹理生成显示纹理(例如图1的显示纹理140),并基于所生成的显示纹理来驱动显示器112、114。作为该过程的一部分,合成器224实现本文所述的EDS过程120,以根据输入纹理中呈现的每像素速度和HMD设备102的当前运动来确定每像素净速度,并修改输入纹理对,以反映这些每像素净速度,从而生成显示纹理对,该显示纹理对更紧密地对准在显示器112、114上显示所述显示纹理时用户头部104的运动与图像中表示的虚拟对象的移动之间的净运动。
图3根据本公开的至少一个实施例示出合成器224的示例性实施方式。在所示的示例中,合成器224包括深帧缓冲器232、运动分析模块302、传感器集成器模块304、变换模块306、速度场组合模块308、平流输送模块310和去除障碍模块312。可将每个模块302、304、306、308、310和312实现为ASIC或可编程逻辑的一部分,实现为执行对应软件的一个或多个处理器,或者实现为它们的组合。下面参照图4更详细地描述这些组件的操作。
图4示出在图1的HMD设备102以及图2和3的硬件配置200的背景下实现图1的EDS过程120的示例性方法400。在显示系统100一开始准备渲染和显示AR或VR内容之后,方法400通过VR/AR应用202基于HMD设备102的当前姿势或预期姿势触发输入纹理322(图3)的渲染,在块402启动。输入纹理322包括图片或帧的每个像素的色彩信息(色彩场323),并且在跟踪多个片段的情况下,包括与像素相关联的每个片段的色彩信息。输入纹理322还可包括深度场324(也称为“深度缓冲器”),其存储像素所表示的片段的一部分或全部的每个片段的深度值或深度顺序。
在块404,运动分析模块302基于从一个或多个先前输入纹理到当前输入纹理322的进展中表示的一个或多个对象的运动,分析输入纹理322以及一个或多个先前输入纹理(按照显示顺序),以确定每个像素的每像素速度Vp。可以使用各种运动分析过程的任何一种。例如,运动分析模块302可以采用各种光流算法的任何一种来确定每像素速度,例如基于Lucas-Kanade方法、Buxton-Buxton方法、Black–Jepson方法等等的一个或多个的光流算法。根据所采用的运动分析和可用信息,像素速度Vp可包括2D速度(例如构成屏幕空间的xy平面中的速度和方向)、3D速度(例如xyz世界空间中的速度和方向)、或者除了围绕三个位置轴的一个或多个的旋转速度之外还有的3D速度。
在块406,运动分析模块302将构成输入纹理322的像素的每像素速度Vp缓冲为与输入纹理322的色彩场323相关联的深帧缓冲器232中的像素速度场328(图1的像素速度场128的一个实施例)。如上所述,像素的一部分或全部可以与多个片段相关联,在这种情况下,对于每个片段重复块404和406的过程,导致像素速度VP存储在对应像素所表示的每个片段的像素速度场328中,并且给定像素的每个像素速度VP按照深度顺序存储在像素速度场328的对应条目中。
与通过块404和块406的一个或多个迭代表示的运动分析过程并行地,在块408,合成器224确定表示HMD设备102的瞬时运动或预测运动的一个或两个的HMD运动矢量MVHMD。为此,在一个实施例中,传感器集成器模块304连续从IMU 210的一个或多个传感器接收传感器样本331,并将传感器样本331缓存在滑动窗口缓冲器(未示出)中。传感器集成器模块304例如通过滑动窗口缓冲器中的传感器样本331的一部分或全部的正向积分,操作为确定变换矩阵、或四元数加法运动矢量对、或当前运动矢量MVHMD的其他表示。取决于可用的传感器信息和特定配置,该运动矢量MVHMD可表示这样一个运动矢量,该运动矢量表示HMD设备102沿一个或多个轴的线速度、HMD设备102沿一个或多个轴的旋转速度、或者线速度与旋转速度的组合(例如6DoF运动矢量)。
在块410,变换模块306将HMD运动矢量MVHMD变换为每像素速度表示Vh,并将作为结果的每像素HMD速度Vh存储在HMD速度场330中(图1的HMD速度场132的一个实施例)。在至少一个实施例中,变换模块306可以经由应用虚拟世界空间到屏幕空间的变换来实现这种转换,该变换将HMD运动矢量MVHMD从虚拟世界空间坐标系统转换到屏幕空间坐标系统。在一些实施例中,可将该变换实现为单应性变换,虽然这种方法只是假定场景处于统一深度的近似。更准确(并且计算上更昂贵的)的变换包括考虑每个片段的深度(基本上将每个片段视为3D点),并且从每个片段速度矢量中减去HMD姿势速度矢量(假定两者都处于虚拟世界空间)来获得HMD相对片段速度矢量,然后可将其变换为屏幕空间速度矢量。这种方法因此在虚拟世界空间中增加速度,然后变换到屏幕空间;在另一种方法中,可以先将速度变换到屏幕空间,然后在屏幕空间中添加速度。
使用为当前迭代确定的像素速度场328和HMD速度场330,在块412,速度场组合模块308将两个速度场328、330组合,以生成净速度场332(图1的净速度场136的一个实施例),其可以存储在深帧缓冲器232或其他存储组件中。在至少一个实施例中,这种组合包括:对于每个像素,将来自像素速度场328的像素速度Vp与来自HMD速度场330的相同像素位置的HMD速度Vh相加,以生成该像素位置的对应的净像素速度Vnet。在像素表示多个片段的情况下,对于每个片段计算不同的净像素速度Vnet(也就是说,对于像素位置P的片段F,Vnet[P,F]=Vp[P,F]+Vh[P])。
在块414,平流输送模块310执行纹理平流输送过程138的实施方式,以修改输入纹理322,在对应时间跨度上反映净速度场332中的每像素净速度Vnet。在一些实施例中,可通过两种方式的其中一种来实现平流输送过程138:单步平流输送过程415或多步平流输送过程417。单步平流输送过程415表示用不太准确但是计算不太复杂的方式来表示净运动。相比之下,多步平流输送过程表示更准确但是计算更复杂的过程。
通过块416来表示单步平流输送过程415,其中平流输送模块310使用各种公知的粒子/速度平流输送过程(例如基于拉格朗日-欧拉纹理平流输送方法或基于半拉格朗日方法的平流输送过程),使用净速度场332的净像素速度Vnet来平流输送输入纹理322的色彩信息(色彩场323)。在通过像素位置的一部分或全部来表示多个片段的情况下,对于每个深度/片段重复该平流输送过程。此外,在输入纹理322包括一个或多个片段的深度信息的情况下,同样可以基于净速度场332来平流输送深度信息,以维持像素与深度信息之间的相关性。对于该过程,在平流输送过程中表示的时间跨度或时间步可以是或者基于在输入纹理322的渲染与作为本文所述EDS过程的结果,从输入纹理322生成的对应显示纹理334(图1的显示纹理的一个实施例)的扫描输出或显示之间的预期持续时间。然后可以处理显示图像,以将纹理重新投影到屏幕空间,从而生成要经由对应的显示控制器显示的最终图像。
在块418,多步平流输送过程417通过确定要在多步平流输送过程的当前实例中实现的时间步数或迭代次数来开始。在至少一个实施例中,基于输入纹理的渲染速率X与净速度场332的计算速率Y的比率来确定时间步数。为了说明起见,如果渲染速率是60fps并且新的净速度场332被确定为每秒120次,那么多步平流输送过程将有效地具有每秒钟120个时间步。如果渲染速率是60fps并且新的净速度场332被确定为每秒240次,那么多步平流输送过程将具有每秒钟240个时间步。
在确定时间步数时,在块420开始该过程的第一次迭代,其中平流输送模块310通过净速度场332对当前输入纹理322的色彩场323执行平流输送,以生成用于当前迭代的显示纹理334(然后如下所述显示)。假定存在一次以上迭代,接下来在块422的第二次迭代中,平流输送模块310通过其本身对净速度场332执行平流输送(也就是自平流输送净速度场332),以生成修正的净速度场。对于下一个时间戳,在块404渲染下一个输入纹理322,而在块420的第二次迭代中,对流模块310随后通过修改的净速度场对该下一个输入纹理322执行平流输送,以生成第二显示纹理334。如果有第三时间戳,那么在块422的第二次迭代中自平流输送修改的净速度场,以生成两次修改的净速度场。然后,对于第三次迭代,在块420的第三次迭代中通过两次修改的净速度场对在块402的第三次迭代中渲染的下一个输入纹理322执行平流输送,以生成第三显示纹理334,等等。
因为输入纹理的一部分或全部像素可能表示多个片段,所以作为平流输送过程的结果的像素的重新定位可能会导致较低深度的先前被禁锢片段的去除障碍。如果希望降低计算复杂度,那么可以忽略这些去除障碍错误。但是在一些实施例中,在块424,去除障碍模块312可以使用在深度场324中表示的深度信息、关于多个片段的信息、以及各种公知的去除障碍过程的任一种来去除可能作为平流输送过程的结果出现的去除障碍错误。此外,在一些实施例中,去除障碍模块312或另一个模块可通过将显示纹理334与其从中生成的输入纹理322混合来产生运动模糊,以减少感知问题,并将作为结果的混合纹理用作显示纹理。然后,将通过块414的平流输送过程的迭代所产生的每个显示纹理334(并且可经由块424的迭代执行去除障碍和/或运动模糊)在块426重新投影到屏幕空间,以产生最终图像或显示图像,通过合成器224提供给对应的显示器控制器228、230,用于扫描到显示器112、114中的对应显示器。
上述很多创造性功能和创造性原理非常适合于通过集成电路(IC)(例如专用IC(ASIC))实现或者在其中实现。可以预期,本领域普通技术人员尽管可能花费大量精力,但是在通过本文公开的概念和原理引导时例如通过可用时间、当前技术和经济考虑激发的设计选择将能够容易地通过最少的实验产生这样的IC。因此,为了简洁和尽量减少模糊根据本公开的原理和概念的任何风险,对这些软件和IC的进一步讨论(如果有的话)将限于与优选实施例中的原理和概念有关的要素。
在一些实施例中,上述技术的某些方案可通过执行软件的处理系统的一个或多个处理器来实现。软件包括存储在非暂时性计算机可读存储介质上或者按照有形方式在非暂时性计算机可读存储介质上具体实施的一组或多组可执行指令。软件可包括指令和某些数据,在通过一个或多个处理器执行时,这些指令和数据操纵一个或多个处理器,以执行上述技术的一个或多个方案。非暂时性计算机可读存储介质例如可包括磁盘存储设备或光盘存储设备、固态存储设备(例如闪存、高速缓存、随机存取存储器(RAM))、或其他非易失性存储器设备或多个设备等等。非暂时性计算机可读存储介质上存储的可执行指令可以是源代码、汇编语言代码、目标代码、或者可通过一个或多个处理器解释或执行的其他指令格式。
在本文中,诸如第一和第二等等的关系术语可以仅用于将一个实体或动作与另一个实体或动作区分开,而不必要求或暗示这些实体或动作之间的任何实际的这种关系或顺序。术语“comprises”、“comprising”或者其任何其他变型的目的是覆盖非排他性包含,使得包括元素列表的过程、方法、物品或装置不仅包括这些元素,而且可包括没有明确列出的其他元素或者内含于这些过程、方法、物品或装置的其他元素。在没有更多限制的情况下,通过“comprises…a”修饰的元素不排除在包括该元素的过程、方法、物品或装置中存在附加的相同元素。如同本文使用的,将术语“另一个”定义为至少第二个或其他。将本文使用的术语“including”和/或“having”定义为“comprising”。如同本文使用的,参考电光技术将术语“coupled”定义为“connected”,虽然不一定是直接连接,也不一定是机械连接。如同本文使用的,将术语“program”定义为设计用于在计算机系统上执行的指令序列。“program”、“computer program”、“application”或“software”可包括子例程、函数、过程、对象方法、对象实施方式、可执行应用、小程序、小服务程序、源代码、目标代码、共享库/动态加载库、和/或设计用于在计算机系统上执行的其他指令序列。
说明书和附图应当仅视为示例,并且本公开的范围因此旨在仅由所附权利要求及其等同物来限制。注意,并非上述一般性描述中的所有活动或元素都需要,特定活动或设备的一部分不一定需要,可以执行一个或多个其他活动,除了所述之外可包括其他元素。此外,列出活动的顺序不一定是它们执行的顺序。除非另外指定,否则上述流程图的步骤可以采用任何顺序,并且根据实施方式可以消除、重复和/或添加步骤。此外,已经参考具体实施例描述了多个概念。但是,本领域技术人员应当理解,在不脱离以下权利要求书所述的本公开范围的情况下,可以执行各种修改和改变。因此,说明书和附图应当视为说明性而非限制性的,并且所有这样的修改都将包括在本公开的范围内。
上面关于具体实施例描述了益处、其他优点和问题的解决方案。但是,益处、优点和问题的解决方案以及可能导致任何益处、优点或解决方案发生或变得更明显的任何特征(多个)都不应视为权利要求任何一个或全部的关键、必需或基本特征。

Claims (20)

1.一种在具有头戴式显示器HMD设备(102)的系统(100)中的方法,包括:
渲染第一纹理(122,322);
确定第一速度场(128,328),所述第一速度场(128,328)具有所述第一纹理的像素的至少一个子集的像素速度;
确定所述HMD设备的运动矢量;
基于所述第一纹理、所述第一速度场以及所述HMD的所述运动矢量来渲染第二纹理(140,334);以及
提供所述第二纹理以供在所述HMD设备处显示。
2.根据权利要求1所述的方法,进一步包括:
确定第二速度场(132,330),所述第二速度场(132,330)包括所述HMD设备的所述运动矢量的每像素速度表示;
将所述第一速度场与所述第二速度场组合,以生成第三速度场(332);以及
其中,渲染所述第二纹理包括基于所述第一纹理和所述第三速度场来渲染所述第二纹理。
3.根据权利要求2所述的方法,其中,渲染所述第二纹理包括:
使用所述第三速度场平流输送所述第一纹理的像素的色彩信息(323),以生成所述第二纹理。
4.根据权利要求3所述的方法,其中,渲染所述第二纹理进一步包括:
使用所述第三速度场平流输送所述第一纹理的像素的深度信息(324),以生成所述第二纹理。
5.根据权利要求3所述的方法,进一步包括:
渲染第三纹理;
通过以下步骤渲染第四纹理:
自平流输送(422)所述第三速度场,以生成第四速度场;以及
使用所述第四速度场平流输送(420)所述第三纹理的像素的色彩信息,以生成所述第四纹理;以及
提供所述第四纹理以供在所述HMD设备处显示。
6.根据权利要求2所述的方法,其中,确定所述第二速度场包括:
将虚拟世界空间到屏幕空间变换应用于所述HMD设备的所述运动矢量,以生成所述第二速度场。
7.根据权利要求1所述的方法,其中:
所述第一纹理的像素的至少一个子集中的每个像素与至少两个片段(144,146)的对应集合相关联;以及
确定所述第一速度场包括对于至少所述子集中的每个像素确定所述至少两个片段的对应集合中的每个片段的像素的单独像素速度。
8.根据权利要求7所述的方法,进一步包括:
将所述第一纹理存储在深帧缓冲器(232)中,所述深帧缓冲器进一步包括所述第一速度场和所述第一纹理的像素的深度信息(324)。
9.根据权利要求8所述的方法,其中,渲染所述第二纹理进一步包括:
基于所述深度信息去除(424)所述第二纹理中的去除障碍错误。
10.根据权利要求1所述的方法,其中,确定所述第一速度场包括:
基于对包括所述第一纹理的纹理序列(126)的光流分析来确定所述第一速度场。
11.一种系统(100),包括:
头戴式显示器HMD设备(100),所述头戴式显示器HMD设备(100)包括至少一个显示器(112,114);
至少一个传感器(210),所述至少一个传感器(210)用于提供所述HMD设备的姿势信息;
传感器集成器模块(304),所述传感器集成器模块(304)连接到所述至少一个传感器,所述传感器集成器模块基于所述姿势信息来确定所述HMD设备的运动矢量;
应用处理器(204),所述应用处理器(204)用于基于从所述姿势信息确定的所述HMD设备的姿势来渲染第一纹理(122,322);
运动分析模块(302),所述运动分析模块(302)用于确定第一速度场(128,328),所述第一速度场具有所述第一纹理的像素的至少一个子集的像素速度;以及
合成器(224),所述合成器(224)用于基于所述第一纹理、所述第一速度场以及所述HMD的所述运动矢量来渲染第二纹理(140,334),并将所述第二纹理提供给所述HMD设备的所述显示器。
12.根据权利要求11所述的系统,进一步包括:
变换模块(306),所述变换模块(306)用于确定第二速度场(132,330),所述第二速度场包括所述HMD设备的所述运动矢量的每像素速度表示;
速度场组合模块(314),所述速度场组合模块(314)用于将所述第一速度场与所述第二速度场组合,以生成第三速度场(136,332);以及
其中,所述合成器用于通过基于所述第一纹理和所述第三速度场渲染所述第二纹理来渲染所述第二纹理。
13.根据权利要求12所述的系统,其中,所述合成器包括:
平流输送模块(310),所述平流输送模块(310)用于使用所述第三速度场平流输送所述第一纹理的像素的色彩信息(323),以生成所述第二纹理。
14.根据权利要求13所述的系统,其中:
所述平流输送模块进一步用于使用所述第三速度场平流输送所述第一纹理的像素的深度信息(324),以生成所述第二纹理。
15.根据权利要求13所述的系统,其中:
所述应用处理器进一步用于渲染第三纹理;以及
所述合成器进一步用于通过以下步骤渲染第四纹理:
自平流输送所述第三速度场,以生成第四速度场;以及
使用所述第四速度场平流输送所述第三纹理的像素的色彩信息,以生成所述第四纹理;以及
其中,所述合成器用于提供所述第四纹理以供在所述HMD设备处显示。
16.根据权利要求12所述的系统,其中:
所述变换模块用于通过将单应性变换应用于所述HMD设备的所述运动矢量以生成所述第二速度场来确定所述第二速度场。
17.根据权利要求11所述的系统,其中:
所述第一纹理的像素的至少一个子集中的每个像素与至少两个片段(144,146)的对应集合相关联;以及
所述运动分析模块用于通过对于至少所述子集中的每个像素确定所述至少两个片段的对应集合中的每个片段的像素的单独像素速度来确定所述第一速度场。
18.根据权利要求17所述的系统,进一步包括:
深帧缓冲器(232),所述深帧缓冲器(232)用于存储所述第一纹理、所述第一速度场以及所述第一纹理的像素的深度信息。
19.根据权利要求18所述的系统,进一步包括:
去除障碍模块(312),所述去除障碍模块(312)用于基于所述深度信息去除所述第二纹理中的去除障碍错误。
20.根据权利要求11所述的系统,其中:
所述运动分析模块用于基于包括所述第一纹理的纹理序列(126)的光流分析来确定所述第一速度场。
CN201680059892.XA 2015-11-20 2016-10-05 具有头戴式显示器hmd设备的系统及在该系统中的方法 Active CN108139807B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/946,983 2015-11-20
US14/946,983 US10026212B2 (en) 2015-11-20 2015-11-20 Electronic display stabilization using pixel velocities
PCT/US2016/055528 WO2017087083A1 (en) 2015-11-20 2016-10-05 Electronic display stabilization using pixel velocities

Publications (2)

Publication Number Publication Date
CN108139807A true CN108139807A (zh) 2018-06-08
CN108139807B CN108139807B (zh) 2021-03-23

Family

ID=57208364

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680059892.XA Active CN108139807B (zh) 2015-11-20 2016-10-05 具有头戴式显示器hmd设备的系统及在该系统中的方法

Country Status (10)

Country Link
US (1) US10026212B2 (zh)
EP (1) EP3377960B1 (zh)
JP (1) JP6514826B2 (zh)
KR (1) KR102135808B1 (zh)
CN (1) CN108139807B (zh)
AU (1) AU2016357105B2 (zh)
CA (1) CA2999182C (zh)
DE (1) DE112016005343T5 (zh)
GB (1) GB2557525B (zh)
WO (1) WO2017087083A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112156467A (zh) * 2020-10-15 2021-01-01 网易(杭州)网络有限公司 虚拟相机的控制方法、系统、存储介质与终端设备
CN113170136A (zh) * 2018-10-09 2021-07-23 威尔乌集团 重投影帧的运动平滑

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10838207B2 (en) 2015-03-05 2020-11-17 Magic Leap, Inc. Systems and methods for augmented reality
CN112764536A (zh) 2015-03-05 2021-05-07 奇跃公司 用于增强现实的系统和方法
US10962780B2 (en) * 2015-10-26 2021-03-30 Microsoft Technology Licensing, Llc Remote rendering for virtual images
CN108604383A (zh) 2015-12-04 2018-09-28 奇跃公司 重新定位系统和方法
CN105807915A (zh) * 2016-02-24 2016-07-27 北京小鸟看看科技有限公司 虚拟鼠标的控制方法、控制装置以及头戴显示设备
KR20190034321A (ko) 2016-08-02 2019-04-01 매직 립, 인코포레이티드 고정-거리 가상 및 증강 현실 시스템들 및 방법들
US20180203504A1 (en) * 2017-01-16 2018-07-19 Htc Corporation Movement tracking method and movement tracking system
US10812936B2 (en) 2017-01-23 2020-10-20 Magic Leap, Inc. Localization determination for mixed reality systems
KR102359978B1 (ko) 2017-03-17 2022-02-07 매직 립, 인코포레이티드 다중-소스 가상 콘텐츠 합성을 갖는 혼합 현실 시스템 및 이를 사용하여 가상 콘텐츠를 생성하는 방법
KR102594063B1 (ko) 2017-03-17 2023-10-24 매직 립, 인코포레이티드 컬러 가상 콘텐츠 워핑을 갖는 혼합 현실 시스템 및 이를 사용하여 가상 콘텐츠를 생성하는 방법
AU2018236457B2 (en) 2017-03-17 2021-04-29 Magic Leap, Inc. Mixed reality system with virtual content warping and method of generating virtual content using same
US20180329465A1 (en) * 2017-05-11 2018-11-15 Qualcomm Incorporated System and method for intelligent adjustment of an immersive multimedia workload in a portable computing device
US10914957B1 (en) 2017-05-30 2021-02-09 Apple Inc. Video compression methods and apparatus
WO2019012522A1 (en) 2017-07-11 2019-01-17 Elbit Systems Ltd. SYSTEM AND METHOD FOR CORRECTING A RUNNING DISPLAY EFFECT
IL253432A0 (en) 2017-07-11 2017-09-28 Elbit Systems Ltd System and method for correcting a rolling display effect
US10762691B2 (en) 2017-09-08 2020-09-01 Microsoft Technology Licensing, Llc Techniques for compensating variable display device latency in image display
CN109495733B (zh) * 2017-09-12 2020-11-06 宏达国际电子股份有限公司 三维影像重建方法、装置及其非暂态电脑可读取储存媒体
LU100596B1 (fr) * 2017-12-27 2019-06-28 Starbreeze Ip Lux Ii S A R L Procede et dispositif d'affichage a faible latence et haut taux de rafraichissement pour afficheurs de realite mixte a haute definition
CN108988974B (zh) * 2018-06-19 2020-04-07 远形时空科技(北京)有限公司 时间延时的测量方法、装置和对电子设备时间同步的系统
EP3827299A4 (en) 2018-07-23 2021-10-27 Magic Leap, Inc. SYSTEM OF MIXED REALITY WITH VIRTUAL CONTENT DISTORTION AND PROCESS FOR GENERATING VIRTUAL CONTENT WITH IT
JP7210180B2 (ja) * 2018-07-25 2023-01-23 キヤノン株式会社 画像処理装置、画像表示装置、画像処理方法、及びプログラム
US11308681B1 (en) 2018-11-02 2022-04-19 Facebook Technologies, Llc. Display engine for post-rendering processing
CN109859258B (zh) * 2019-02-02 2021-02-12 网易(杭州)网络有限公司 界面处理方法及装置、电子设备
US20210192681A1 (en) * 2019-12-18 2021-06-24 Ati Technologies Ulc Frame reprojection for virtual reality and augmented reality
US20230316583A1 (en) * 2020-07-13 2023-10-05 Samsung Electronics Co., Ltd. Method and device for performing rendering using latency compensatory pose prediction with respect to three-dimensional media data in communication system supporting mixed reality/augmented reality
US20230335024A1 (en) * 2020-09-23 2023-10-19 Sony Interactive Entertainment Inc. Position information acquisition device, head-mounted display, and position information acquisition method
CN115733938A (zh) * 2021-08-31 2023-03-03 北京字跳网络技术有限公司 视频处理方法、装置、设备及存储介质

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480615B1 (en) * 1999-06-15 2002-11-12 University Of Washington Motion estimation within a sequence of data frames using optical flow with adaptive gradients
US20060087509A1 (en) * 2004-06-30 2006-04-27 Ebert David S Computer modeling and animation of natural phenomena
CN102591449A (zh) * 2010-10-27 2012-07-18 微软公司 虚拟内容和现实内容的低等待时间的融合
CN102958009A (zh) * 2011-08-26 2013-03-06 中兴通讯股份有限公司 增强现实信息的传输方法和移动增强现实服务器
CN103810356A (zh) * 2012-11-05 2014-05-21 大连力天科技有限公司 基于增强现实技术及lbs功能的移动终端系统
US20140176591A1 (en) * 2012-12-26 2014-06-26 Georg Klein Low-latency fusing of color image data
CN104156998A (zh) * 2014-08-08 2014-11-19 深圳中科呼图信息技术有限公司 一种基于图片虚拟内容融合真实场景的实现方法及系统
CN104463191A (zh) * 2014-10-30 2015-03-25 华南理工大学 一种基于注意机制的机器人视觉处理方法
CN104571532A (zh) * 2015-02-04 2015-04-29 网易有道信息技术(北京)有限公司 一种实现增强现实或虚拟现实的方法及装置
US20150262336A1 (en) * 2014-03-11 2015-09-17 Adobe Systems Incorporated Video Denoising Using Optical Flow
US20150310665A1 (en) * 2014-04-29 2015-10-29 Ashraf Ayman Michail Stabilization plane determination based on gaze location

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5627905A (en) 1994-12-12 1997-05-06 Lockheed Martin Tactical Defense Systems Optical flow detection system
US20060244757A1 (en) 2004-07-26 2006-11-02 The Board Of Trustees Of The University Of Illinois Methods and systems for image modification
US7643034B2 (en) 2006-06-30 2010-01-05 Microsoft Corporation Synthesis of advecting texture using adaptive regeneration
US8773448B2 (en) 2010-04-09 2014-07-08 Intel Corporation List texture
US8823746B2 (en) 2010-10-19 2014-09-02 Apple Inc. System and method for motion blur using velocity vectors
US8860570B2 (en) 2011-02-03 2014-10-14 SenseTech, LLC Portable wireless personal head impact reporting system
US9076258B2 (en) 2013-03-14 2015-07-07 Pixar Stylizing animation by example
GB201310367D0 (en) * 2013-06-11 2013-07-24 Sony Comp Entertainment Europe Head-mountable apparatus and systems
JP6353214B2 (ja) 2013-11-11 2018-07-04 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置および画像生成方法
US9824498B2 (en) 2014-12-30 2017-11-21 Sony Interactive Entertainment Inc. Scanning display system in head-mounted display for virtual reality

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6480615B1 (en) * 1999-06-15 2002-11-12 University Of Washington Motion estimation within a sequence of data frames using optical flow with adaptive gradients
US20060087509A1 (en) * 2004-06-30 2006-04-27 Ebert David S Computer modeling and animation of natural phenomena
CN102591449A (zh) * 2010-10-27 2012-07-18 微软公司 虚拟内容和现实内容的低等待时间的融合
CN102958009A (zh) * 2011-08-26 2013-03-06 中兴通讯股份有限公司 增强现实信息的传输方法和移动增强现实服务器
CN103810356A (zh) * 2012-11-05 2014-05-21 大连力天科技有限公司 基于增强现实技术及lbs功能的移动终端系统
US20140176591A1 (en) * 2012-12-26 2014-06-26 Georg Klein Low-latency fusing of color image data
US20150262336A1 (en) * 2014-03-11 2015-09-17 Adobe Systems Incorporated Video Denoising Using Optical Flow
US20150310665A1 (en) * 2014-04-29 2015-10-29 Ashraf Ayman Michail Stabilization plane determination based on gaze location
CN104156998A (zh) * 2014-08-08 2014-11-19 深圳中科呼图信息技术有限公司 一种基于图片虚拟内容融合真实场景的实现方法及系统
CN104463191A (zh) * 2014-10-30 2015-03-25 华南理工大学 一种基于注意机制的机器人视觉处理方法
CN104571532A (zh) * 2015-02-04 2015-04-29 网易有道信息技术(北京)有限公司 一种实现增强现实或虚拟现实的方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113170136A (zh) * 2018-10-09 2021-07-23 威尔乌集团 重投影帧的运动平滑
CN113170136B (zh) * 2018-10-09 2024-04-23 威尔乌集团 重投影帧的运动平滑
CN112156467A (zh) * 2020-10-15 2021-01-01 网易(杭州)网络有限公司 虚拟相机的控制方法、系统、存储介质与终端设备

Also Published As

Publication number Publication date
JP2019506015A (ja) 2019-02-28
EP3377960B1 (en) 2019-10-02
CA2999182A1 (en) 2017-05-26
DE112016005343T5 (de) 2018-08-02
GB2557525B (en) 2021-06-09
US10026212B2 (en) 2018-07-17
AU2016357105A1 (en) 2018-04-19
WO2017087083A1 (en) 2017-05-26
GB201804600D0 (en) 2018-05-09
GB2557525A (en) 2018-06-20
KR102135808B1 (ko) 2020-07-20
EP3377960A1 (en) 2018-09-26
CN108139807B (zh) 2021-03-23
CA2999182C (en) 2020-09-22
KR20180051607A (ko) 2018-05-16
US20170148206A1 (en) 2017-05-25
AU2016357105B2 (en) 2019-02-21
JP6514826B2 (ja) 2019-05-15

Similar Documents

Publication Publication Date Title
CN108139807A (zh) 使用像素速度的电子显示稳定
CN109863538B (zh) 用于虚拟及增强现实显示的连续时间扭曲及双目时间扭曲系统和方法
JP6866297B2 (ja) ヘッドマウントディスプレイの電子ディスプレイ安定化
US11049476B2 (en) Minimal-latency tracking and display for matching real and virtual worlds in head-worn displays
Fuhrmann et al. Occlusion in collaborative augmented environments
US9898866B2 (en) Low latency stabilization for head-worn displays
US20170018121A1 (en) Predictive virtual reality display system with post rendering correction
US10739936B2 (en) Zero parallax drawing within a three dimensional display
CN110073313A (zh) 使用母设备和至少一个伴随设备与环境交互
CN108139801B (zh) 用于经由保留光场渲染来执行电子显示稳定的系统和方法
CN108292489A (zh) 信息处理装置和图像生成方法
US10321126B2 (en) User input device camera
WO2018064287A1 (en) Predictive virtual reality display system with post rendering correction
Zheng Spatio-temporal registration in augmented reality
CN105301789A (zh) 一种跟随人眼位置的立体显示装置
CN112969062B (zh) 一种三维模型二维视图与裸眼三维影像双屏联动显示方法
CN110928403A (zh) 相机模块及其相关系统
Yuan Creating virtual 3D See-Through experiences on large-size 2D displays
US11057614B1 (en) Motion blur compensation through display actuation
CN108388351B (zh) 一种混合现实体验系统
Rahmani reFrame: An Alternate Paradigm for Augmented Reality
Islam Design of a graphical user interface to augment a telerobotic stereo-vision system

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