CN107430786A - 用于头戴式显示器的电子显示稳定 - Google Patents

用于头戴式显示器的电子显示稳定 Download PDF

Info

Publication number
CN107430786A
CN107430786A CN201680019764.2A CN201680019764A CN107430786A CN 107430786 A CN107430786 A CN 107430786A CN 201680019764 A CN201680019764 A CN 201680019764A CN 107430786 A CN107430786 A CN 107430786A
Authority
CN
China
Prior art keywords
rotation
texture
synthesizer
time
end rotation
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
CN201680019764.2A
Other languages
English (en)
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 CN107430786A publication Critical patent/CN107430786A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/20Perspective computation
    • G06T15/205Image-based rendering
    • 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
    • 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
    • G06T3/18
    • 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

Abstract

一种方法包括在第一时间,使用第一惯性传感器样本流,确定头戴式显示器(HMD)(102)的第一头部旋转的表示,并且在应用处理器(204)处基于第一头部旋转渲染纹理(132)。该方法进一步包括使用高于第一惯性传感器样本流的采样速率的第二惯性传感器样本流,在第一时间之后的第二时间,确定HMD的第二头部旋转的表示;以及在合成器(224)处,基于第一头部旋转和第二头部旋转之间的差,生成纹理(134)的旋转表示。

Description

用于头戴式显示器的电子显示稳定
技术领域
本公开通常涉及头戴式显示系统,更具体地说,涉及头戴式显示系统的减少延迟的运动补偿和稳定化。
背景技术
虚拟现实(VR)系统使用全部计算机生成的现实世界或想象世界内的“场景”、的三维(3D)图像来复制模拟现实世界或想象世界中的场所中的物理存在的环境。类似地,增强现实(AR)系统通过计算机生成的、叠加同时捕获的现实世界的图像的3D图像,增强现实世界中的物理存在。因此,VR和AR系统都力求在现实、增强或想象的世界中提供准确的“存在”感。通常,通过使用提供单独的左眼和右眼显示器的头戴式显示器(HMD)来促进这种存在感。显示器共同呈现在所表示的世界中的场景的立体或3D表示,其中,呈现的场景基于用户的当前姿势(即,用户头部相对于所描绘的场景的参考坐标系的位置和方位)来反映该场景的用户的相对视角。
基于HMD的VR和AR系统将3D图像显示为显示帧序列,每个显示帧基于相应的所检测的头部姿势被渲染并且持续特定的一段时间。然而,由于HMD通常允许用户自由走动,因此在帧渲染初始与结果的渲染帧的显示之间的时间内,用户的头可能会明显转动。同样地,在特定时间点在HMD处显示的图像可能落后于用户的头部移动。场景内用户感知的方位与在HMD上呈现的场景的视角的方位之间的这种不和谐会导致用户迷失方向,或者通常被称为“虚拟现实病”。因此,为了减少或消除用户迷失方向从而提供改善的存在,基于HMD的VR和AR系统寻求最小化运动光子延迟,即,用户头部/眼睛的移动和表示来自于最终新姿势的场景的光子击中用户的眼睛时之间的延迟。
附图说明
通过参考附图,可以更好地理解本公开,及其许多特征和优点对本领域技术人员来说是显而易见的。在不同附图中使用相同的参考符号表示相似或相同的项。
图1是示出根据本公开的至少一个实施例的实现电子显示稳定(EDS)的头戴式显示器(HMD)系统的图。
图2是示出根据本公开的至少一个实施例的图1的HMD系统的硬件构造的框图。
图3是更详细地示出根据本公开的至少一个实施例的图2的HMD系统的合成器(compositor)的框图。
图4是示出根据本公开的至少一个实施例的示例性EDS过程的流程图。
图5是示出根据本公开的至少一个实施例的另一示例性EDS过程的流程图。
具体实施方式
以下描述旨在通过提供涉及基于HMD的AR和VR显示系统的多个具体实施例和细节,传达本公开的全面理解。然而,应理解到,本公开不限于仅为示例的这些具体实施例和细节,本公开的范围旨在仅由所附权利要求及其等同物限制。还应理解到,本领域普通技术人员根据已知的系统和方法,将意识到多个替代实施例中,取决于具体的设计和其它需要,将本公开应用于其预期目的及优点。
图1示出了根据本公开的至少一个实施例,用于提供现实世界或想象世界的VR或AR存在的基于HMD的显示系统100。显示系统100包括耦合到用户的头部104的移动的HMD102。通常,如“头戴式显示器”中的术语“戴”所意指的,HMD 102包括绑到或以其他方式戴在用户的头部104上的装置,使得HMD 102固定地位于用户的脸附近并且随着用户的移动而移动。然而,在一些情况下,用户可能将平板电脑或者其他手持设备保持到用户的脸部并且限制手持设备移动,以便即使当用户的头部104移动时,手持设备相对于用户的头部的方位也相对固定。在这些实例中,以这种方式操作的手持设备也可以被认为是实现HMD 102,尽管它不是经由物理附接“戴”到用户的头部104。
HMD 102包括外壳106,其具有与另一表面110相对的一个表面108、以及面部垫片109以及用于将外壳106戴在用户的头部104上使得用户面向外壳106的表面108的带或线束(为清楚起见,从图1省去)。在所述的实施例中,HMD 102是双目HMD,由此具有设置在表面108处的左眼显示器112和右眼显示器114。显示器112,114可以实现为单独的显示设备(即由单独的显示器驱动硬件组件驱动的独立显示器阵列)或显示器112,114可以实现为单个显示设备的逻辑分离区(例如,逻辑地分成左右“半部分”的单个显示器阵列)。外壳106进一步包括对准左眼显示器112的目镜116以及对准右眼显示器114的目镜118。替选地,在一些实施例中,HMD 102可以实现为单眼HMD,其中单个图像通过左和右目镜116,118,或直接无需干预镜头,被呈现给用户的双眼。
如下文更详细所述,显示系统100进一步包括用于生成图像以在HMD 102处显示的图像渲染系统。在一些实施例中,图像渲染系统的组件主要在HMD 102本身内实现。例如,HMD 102可以包括执行VR/AR应用并且渲染合成图像的计算系统,以及HMD 102可以通过无线或有线连接而连接到提供与VR/AR应用相关联的各种数据的本地或远程计算设备,这些数据描述将在场景中渲染的对象、在同一世界空间中操作的其他用户的参数(例如位置)等。在其他实施例中,图像渲染系统的一些或全部组件可以在HMD 102外部实现,以及可以将表示用于显示的图像的数据经由有线或无线连接而提供给HMD 102。
在操作中,显示系统100执行VR或AR应用,其确定HMD 102(由此用户的头部104)相对于参考坐标系的当前姿势(即,位置和旋转方位),然后从与那一姿势相关联的视角生成场景的图像。所显示的图像可以完全是计算机生成的(即,VR图像),或图像可以是捕获的本地环境的图像(例如经由安装在HMD 102上的一个或多个图像传感器捕获的图像)和被渲染以便反映当前的用户姿势的AR叠加层(overlay)的组合。如图1所示,在具有左侧显示器和右侧显示器两者的实现中,与右眼显示器114中的右眼特定图像的渲染和显示同时地,左眼特定图像可以被渲染并且显示在左眼显示器112中,由此实现由所显示的图像所表示的场景的立体3D显示。
当HMD 102戴在用户的头部104上,或以其他方式限制以便和用户的头部一致移动时,使HMD 102在操作期间经受绕一个或多个轴(例如,所示的x,y和z轴)的相当大的旋转。如上所述,该旋转当与显示系统100的渲染和显示延迟结合时,会导致实质性的用户迷失方向,除非另有缓解。为此,显示系统100利用电子显示稳定(EDS)处理来在其显示前扭曲(wrap)图像以便补偿由于初始渲染图像而发生的用户头部旋转,由此当通过HMD 102的透镜查看时稳定图像。在至少一个实施例中,EDS过程基于对用来渲染原始纹理的应用处理器和其他硬件(本文称为“应用硬件122”)和用来扭曲纹理并且显示合成的扭曲显示帧的硬件(本文称为“EDS显示硬件124”)的解耦。此外,通过由EDS显示硬件124使用与由应用硬件122使用的陀螺仪或其他惯性传感器独立的陀螺仪或其他惯性传感器,或通过以用于EDS显示硬件124和应用硬件122的每一个的不同速率的同一陀螺仪的采样,进一步提供该解耦。
图1的图130概述根据至少一个实施例,由EDS显示硬件124采用的EDS过程。如由块131所示,应用硬件122采样其惯性传感器来确定初始头部姿势和初始头部旋转,并且基于所确定的初始头部姿势和旋转,对显示器112,114的每一个渲染各个纹理132(也统称为“帧”或“图像”)。产生的一对纹理132一起表示在相应的时间点的3D场景的视图。应用硬件122向EDS显示硬件124提供渲染的一对纹理132、所确定的初始头部旋转的表示,以及表示确定头部旋转的时间点的时间戳(例如,当接收到被用来确定初始头部旋转的最后一个传感器样本时)。以本文表示为“渲染速率X”的纹理渲染速率,执行该渲染过程。
独立地,EDS显示硬件124操作以生成和扫描输出一个或多个显示帧以基于相应的渲染纹理132以本文表示为“显示帧率Y”的显示速率,在显示器112,114的每一个处显示。然而,因为在准备纹理132以显示时在渲染纹理132和纹理132的其他处理中的延迟,很可能用户的头部104显然地从由应用硬件122使用的姿势旋转以渲染纹理132。即,到纹理132已被渲染并准备就绪时,它可能“失效”,因为其代表的头部方位不再是用户的头部104的当前方位。由此,如由框133所示,在准备扫描输出下一显示帧(例如,垂直同步(vsync)信号的断言)中,EDS显示硬件124访问EDS惯性传感器以确定表示最新头部旋转的更新的头部旋转,并且从该更新的头部旋转确定过渡(interim)头部旋转,即,由于应用硬件122启动渲染纹理132而发生的头部旋转。然后,EDS显示硬件124基于该过渡头部旋转,扭曲每一纹理132,以生成补偿过渡旋转的扭曲纹理134,其可被扫描输出到相应的显示器112,114,作为显示图像或帧。
在至少一个实施例中,由EDS显示硬件124采用的扭曲过程包括基于过渡头部旋转,从如由应用硬件122确定的初始头部旋转和如由EDS显示硬件124确定的更新头部旋转,确定单应性旋转,并且将该单应性旋转(以线性变换的形式)应用于纹理132以生成扭曲或修改的纹理134。此外,由于当通过目镜折射时分离的不同波长的光,目镜116,118会引入光学失真以及色差或分色,由此由EDS显示硬件124采用的扭曲过程会补偿光学失真、色差、朝向镜头边缘变暗、来自其他源的复合纹理等中的一个或多个。如下文更详细所述,通过将单应性旋转应用于可由失真/色差校正过程利用的查找表(LUT)值以引入补偿失真(或“预失真”),然后将产生的修改的LUT值应用于纹理132以便同时实现单应性旋转和其他校正/补偿过程,实现由单应性旋转提供的过渡扭曲。
应用硬件122和EDS显示硬件124使用单独的陀螺仪或其他惯性传感器,或将相同惯性传感器的不同采样速率用于应用硬件122和EDS显示硬件124允许应用硬件122和EDS显示硬件124基本上独立地操作,同时降低鉴于实质性头部旋转的运动光子延迟。该独立性反过来允许应用硬件122以小于EDS显示硬件124的显示帧率Y的渲染速率X(即,X<Y)渲染纹理132。同样地,应用硬件122可以在低性能状态操作,由此降低显示系统100的功耗和发热,或EDS显示硬件124可以以比应用硬件122能渲染纹理的速率大的速率来显示帧。为了示例,假定应用硬件122以一性能状态操作,由此,以60帧/秒(或60赫兹)(即,渲染速率X=60Hz)的速率渲染纹理。以该速率,每隔16.67毫秒(ms)渲染纹理。然而,以例如100度/秒的头部旋转速率,用户的头部在16ms的过渡期间旋转1.6度,由此,由渲染的纹理表示的场景中的手臂长度的对象从基于用户的当前头部姿势用户以其他方式感知它的位置显著地“偏移”约2.8厘米,或约拇指的宽度。然而,假定EDS显示系统124以120帧/秒的速率(即,显示帧速率Y=120Hz)显示帧,则可以由相同纹理生成两个显示帧,其中,一个显示帧基于从渲染该纹理的时刻起8ms处检测的过渡头部旋转扭曲,而第二显示帧基于此后8ms检测的后续过渡头部旋转扭曲。再次假定头部旋转速率为100度/秒,则“未计数的”头部旋转最多仅为0.8度,由此导致在显示帧中表示的手臂长度处的对象的位置与基于用户的头部104的当前姿势用户以其他方式感知到它的位置之间最多仅1.4厘米的可能偏移。
除允许应用硬件122和EDS显示硬件124以不同速率操作外,应用硬件和EDS显示硬件的解耦还允许显示系统100更易于从由应用硬件122丢弃的帧恢复。这是因为EDS显示硬件124能通过基于从EDS惯性传感器确定的头部旋转更新而扭曲用于新显示帧的在前纹理132来补偿丢弃纹理132。
在许多实施方式中,显示器112,114包括以光栅扫描为基础操作的显示设备。即,以通常被称为“光栅扫描顺序”扫描并顺序地显示像素数据的行。在大多数光栅扫描显示器中,扫描输出通常从最上行像素开始,然后向下扫描到最后一行像素。与纹理的渲染和用于显示的纹理的后续处理一样,该光栅扫描过程也引入负面地影响运动光子延迟的延迟。为了示例,以例如60Hz的显示速率,在最坏的情况下,显示系统花费16ms来完成显示帧的扫描输出,在最上行后约16ms扫描输出最后一行。由此,该扫描输出延迟会对用户,特别是对朝向帧底部的行中表示的对象引入位置不一致。在合并有如下一种设备的HMD 102的实施方式中,该效果特别明显,该设备通常在纵向方向操作并且通过将该设备重新定向到横向(例如,通过重新使用诸如在Google Cardboard VR头戴装置中找到的、在其一侧接通的计算使能的移动电话)该设备被合并进去用于HMD 102。在这些情况下,光栅扫描顺序然后水平地运行,这也是最大头部旋转可能发生的方向,从而加剧了运动光子延迟效应。
由此,为补偿使用光栅扫描显示器的HMD 102的实现中的扫描输出延迟,在至少一些实施例中,可以在每一切片的基础上执行上述EDS过程,其中,每一切片表示显示帧的一个或多个扫描线的子集。即,当按显示顺序处理每一切片时,EDS显示硬件124可以确定用于该切片的更新的头部旋转,基于用于该切片的更新的头部旋转来确定新的单应性旋转,并且将新的单应性旋转应用于该切片以扭曲由该切片表示的显示帧的部分。以这种方式,通过更紧密地对准该切片被显示给用户的实际时间点的过渡头部旋转来扭曲每一切片,可以减轻由于头部旋转的影响和由于光栅扫描输出顺序的延迟。
因为EDS显示硬件124以比应用硬件122确定头部旋转更高的频率确定更新头部旋转,所以在至少一个实施例中,EDS显示硬件124实现具有远大于由应用硬件122使用的陀螺仪(或惯性传感器)的采样频率(例如100-400Hz)的采样频率(例如1kHz或更大)的陀螺仪(或其他惯性传感器),由此为EDS显示硬件124提供当用来旋转扭曲渲染纹理以显示时更精细地确定HMD 102的最新头部旋转所需的提高的旋转分辨率。替选地,可以实现单个陀螺仪,由此,以速率X采样该陀螺仪的传感器状态以生成用于应用硬件122的第一样本流,并且进一步以速率Y(Y>X)采样以生成用于EDS显示硬件124的第二样本流。由此,参考两个单独的陀螺仪或其他惯性传感器还可以是参考来自同一陀螺仪或其他惯性传感器但具有不同采样速率的两个样本流。
图2示出根据本公开的至少一个实施例,图1的显示系统100的图像渲染和显示系统的示例性硬件构造200。如上所述,硬件构造200包括用来执行VR或AR应用(本文称为“VR/AR应用202”以便渲染表示来自用户的头部104或HMD 102的当前姿势的场景的VR或AR内容的应用硬件122,该VR或AR内容由用于每一眼睛的纹理序列组成。硬件构造200进一步包括EDS显示硬件124,用来显示由纹理序列表示的VR或AR内容,其中,EDS显示硬件124实现EDS过程以便补偿渲染纹理之间的过渡头部旋转。
在所示的示例中,硬件构造200包括应用处理器204、系统存储器206、传感器集线器208和惯性管理单元210。在一些实施例中,HMD102可以结合图像捕获用于视觉定位或视觉遥测,或用于实时显示捕获的本地环境的图像以支持AR功能。在这些实施例中,硬件构造200进一步包括例如一个或多个图像传感器212,214以及结构化光或飞行时间(ToF)深度传感器216。
应用IMU 210包括便于跟踪HMD 102的姿势的一个或多个惯性传感器,包括例如陀螺仪218、磁强计220和加速计222。来自Bosch公司的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的组合。来自Qualcomm Incorporated的Snapdragon(TM)810MSM8994芯片上系统(SoC)是应用处理器204的商业可获得实现的示例。
在所示的示例中,EDS显示硬件124包括合成器224、左眼显示器112、右眼显示器114和EDS IMU 226。合成器224是可以实现为例如ASIC、可编程逻辑或其组合的硬件设备,并且包括用于驱动左眼显示器112的左显示控制器228和用于驱动右眼显示器114的右显示控制器230。EDS IMU 226包括用于跟踪用于EDS显示硬件124的HMD102的头部旋转的一个或多个惯性传感器,诸如陀螺仪232。如上所述,不是实现为两个单独的陀螺仪218,232,可以以不同的采样速率采样单个陀螺仪以生成两个不同样本流,一个用作陀螺仪218,以及一个用作陀螺仪232,在该情况下,参考陀螺仪218是参考由该单个陀螺仪生成的第一样本流,而参考陀螺仪232是参考也是由该单个陀螺仪生成但是以更高的采样速率生成的第二样本流。
在操作中,应用处理器204执行VR/AR应用202(存储在例如系统存储器206中)以为用户提供VR/AR功能性。作为该过程的一部分,VR/AR应用202操作应用处理器204来以渲染速率X渲染用于每一眼睛的纹理序列(例如图1的纹理132)。每一纹理包含视觉内容,该视觉内容为完全由计算机生成的视觉内容或是(经由图像传感器212,214)捕获的图像与计算机生成的叠加层的组合的视觉内容。每一纹理的视觉内容表示来自在确定该纹理时,用户的头部的相应姿势(或HMD102的姿势)的场景。由此,在准备渲染每一纹理时,应用处理器204从IMU 210的陀螺仪218、磁强计220和加速计222获得当前样本并且由这些惯性传感器读数确定用户的头部的当前姿势和旋转。代替或除了将IMU 210用于确定当前姿势和旋转外,应用处理器204可以使用来自一个或多个成像传感器或深度传感器的信息来使用一个或多个视觉遥测或同时定位和映射(SLAM)技术来确定、校验或修正当前姿势和旋转。从所确定的头部姿势,应用处理器204由所确定的头部方位和旋转,渲染共同表示场景的立体视图的一对纹理。然后,将该对渲染纹理存储在显示存储器234中实现的帧缓冲器中,该显示存储器234可以是系统存储器206的一部分或是单独的图形存储器。
同时,合成器224用来基于渲染纹理生成显示帧并且基于所生成的显示帧驱动显示器112,114。作为该过程的一部分,合成器224实现EDS过程以确定过渡头部旋转并且基于该过渡头部旋转来扭曲该对纹理,以便生成一对显示帧,其更紧密地对准在显示器112,114处显示该显示帧时的实际头部姿势。
如下文参考图3-5更详细所述,在一些实施例中,合成器224基于由应用处理器204从来自陀螺仪218的样本确定的初始头部旋转与由合成器224从来自陀螺仪232的样本确定的更新头部旋转之间的差,确定过渡头部旋转。同样地,在一些实施例中,精确地校准陀螺仪218和陀螺仪232,使得它们对HMD 102的指定旋转移动,记录类似的旋转。此外,为帮助确使陀螺仪218,232精确同步,且由此能时间上关联它们各自的传感器样本,在至少一个实施例中,硬件构造200包括以例如时钟参考236的形式的同步机构,该时钟参考236在应用硬件122和EDS显示硬件124的组件之间分配公共时钟信号(表示为“CLK”)。
图3示出根据本公开的至少一个实施例,EDS显示硬件124的示例性实现。在所示的示例中,EDS显示硬件124的合成器224包括配置存储器302、积分器组件304和显示控制器306(其表示图2的显示控制器228,230中的任一个)。显示控制器306包括过渡旋转变换组件308和纹理扭曲组件310。过渡旋转变换组件308包括过渡旋转计算组件312和单应性旋转组件314。在下文中,更详细地描述这些组件的操作。
图4和5示出在图2和3的硬件构造200的上下文中,EDS过程的示例性实现。具体地,图4的EDS过程400示出示例性EDS过程,其中基于所确定的过渡头部旋转,旋转该纹理,然后将光学和色差失真应用于产生的旋转纹理,而在图5的EDS过程500中,在渲染过程期间,纹理被光学地失真,然后,所产生的失真纹理被“不失真”地旋转变换,然后“再失真”。如下文进一步解释,与EDS过程400相比,通过使应用处理器204预失真该纹理,EDS过程500减少应用处理器204和合成器224之间的带宽需求,由此消除对纹理中的显示分辨率以上的任何余量的需求,但由于额外的采样步骤,以额外计算、更多存储器存取和质量损失为代价。
现在参考图4,在准备渲染和显示AR或VR内容时,EDS过程400从启动显示系统100开始。如上所述,因为应用硬件122和EDS显示硬件124可以使用单独的陀螺仪,初始化过程能在块402处包括传感器集线器208或显示系统的其他组件,其单独地以及相对于彼此校准陀螺仪218,232。在相同陀螺仪被用来生成不同采样速率的两个不同样本流用于实现为陀螺仪218,232的情况下,初始化过程可以包括例如配置用于这些相应样本流中的每一个样本流的采样速率。进一步地,在块404,显示系统100初始化在显示帧生成过程期间由合成器224利用的各个参数,并且将这些参数存储到合成器224的配置存储器302。
为了示例,如上所述,HMD 102的目镜116,118将光学和色差失真引入显示的图像,这些图像在显示前通过校正失真来抵消。通常,这些校正过程是非线性失真过程,因此不能易于经由应用变换矩阵来实现。相反,可以经由例如表示失真变换的离散化的2D查找表(LUT)来实现从纹理空间到失真的屏幕空间的变换,其中,每个眼睛被分配单独的2D LUT,诸如分别用于左眼和右眼的2D LUT 316,318(图3)。每一LUT条目包含三对纹理坐标(一个用于一种颜色,以便实现色差校正)。为了减少存储需求,可以以相对于显示器分辨率的相对低的分辨率来实现每一2D LUT。例如,每个2D LUT可以具有显示器112,114的分辨率的1/10,由此,对1440×1440的显示分辨率,2D LUT 316,318分别具有144×144个LUT条目。在这种情况下,在给定像素位置周围的LUT条目之间的线性内插被用于失真变换。
在块404,初始化并且存储在配置存储器302中的参数还包括一对投影矩阵320,322(图3),每个分别用于左眼和右眼,并且投影矩阵表示用于相应眼睛的眼睛到纹理的变换。在本文所述的示例中,每一投影矩阵320,322被实现为相应的4×4矩阵。初始化并且存储在配置存储器302中的参数还可以包括其他配置设置323,诸如屈光度设置或瞳孔间距离(IPD)设置。在至少一个实施例中,响应于可能极大地影响2D LUT 316,318或投影参数矩阵320,322的配置的HMD 102或显示系统100的任何光学参数变化,重复块404的初始化过程。
在初始化完成之后,然后,EDS过程400分成并行操作的两个子过程406,408,即由应用硬件122执行的子过程406和由EDS显示硬件124执行的子过程408。子过程406表示渲染代表从用户的头部104/HMD 102的当前姿势的角度呈现3D场景的一对纹理的过程。因此,子过程406的迭代在块410处开始,应用处理器204访问应用IMU 210的惯性传感器以确定当前头部姿势和旋转。这通常包括从陀螺仪218获得一个或多个传感器样本以确定当前头部旋转。在块412,应用处理器204基于在块410确定的头部姿态和旋转来将(如由VR/AR应用202指定的)3D场景渲染成一对纹理324,325(图3),每个用于一只眼睛。在至少一个实施例中,应用处理器204使用在块410确定的头部旋转,并且预测从与头部相关联的时间到未来的一些特定时间点的头部旋转的变化。如上所述,应用处理器204渲染纹理以存储在显示存储器234中。在EDS过程400中,渲染的纹理324,325是不失真的(即,尚未对于光学和色差校正已经校正地预失真),由此,渲染的纹理324,325的大小是显示器112,114的分辨率和各种光学参数(其可以在运行时变化,诸如当用户执行屈光度调整或调整IPD时变化)的函数并且略大于显示器112,114的分辨率。为了示例,对1440×1440像素的显示分辨率,适当的是在每一维度中包括例如540个像素的边缘,并由此渲染具有2000x2000的像素分辨率的不失真的纹理324,325。
在块414,应用处理器204向合成器224发送在块410处确定的头部旋转的表示,以及与被用于确定该头部旋转的最后一个陀螺仪传感器样本相关联的时间戳的表示。在至少一个实施例中,头部旋转的表示包括四元数(表示为“q1”)。特别地,四元数q1可以表示从最后一个陀螺仪传感器样本检测的旋转到未来的一些时间点的预测头部旋转的旋转增量(delta)。在其他实施例中,头部旋转(或预测旋转增量)可以被表示为例如正交矩阵。提供四元数q1和时间戳用来向EDS显示硬件124发信号告知由应用处理器204用来渲染该对纹理324,325的头部旋转和确定或以其他方式获得该头部旋转的时间点。在该对纹理324,325被渲染和头部旋转相应时间戳被信号告知的情况下,流程返回到块410和子过程406的下一次迭代。如上所述,以X纹理渲染/秒的速率执行纹理渲染过程,由此以X迭代/秒的速率执行子过程406的迭代。
与子过程406的纹理渲染操作同时,EDS显示硬件124执行子过程408的迭代,以生成和显示来自最近渲染的一对纹理324,325的图像帧。因此,通过子过程406的迭代渲染新的一对纹理324,325触发子过程408的相应迭代。首先,在块416,EDS显示硬件124表示生成最新一对纹理324,325并且过渡旋转计算组件312从应用处理器204接收表示相应头部旋转的四元数q1。
如上所述,显示系统100可以在逐个切片的基础上采用EDS处理,由此每个切片表示显示帧的一个或多个扫描线/像素行。切片由此可以是显示帧的扫描线的子集,或者在一些情况下,显示帧可以被认为构成大的单个切片。因此,为了便于描述下述过程,术语“切片”可以是指以这种方式实现切片的实现中,显示帧的扫描线的子集,或者“切片”可以是指在逐个帧的基础上执行EDS过程的实现中的整个显示帧。
在基于最新纹理准备显示帧的切片以显示时,在块418处,过渡旋转计算模块312获得更新头部旋转(即,用户或HMD 102的头部旋转的当前度量)。在至少一个实施例中,更新头部旋转由耦合到EDS IMU 226的陀螺仪232的积分器组件304提供。积分器组件304包括滑动窗口缓冲器328(图3),用于存储来自陀螺仪232的k个最新陀螺仪传感器样本328(图3)和与接收或生成相应陀螺仪样本328的时间相关联的时间戳,该时间戳与时钟参考CLK同步。因此,为了获得更新头部旋转,过渡旋转计算组件312在块414将与由应用处理器204提供的四元数q1相关联的时间戳提供给积分器组件304,并且积分器组件304用来向前积分在滑动窗口缓冲器326中被识别为具有等于由应用处理器204提供的时间戳或在其之后的时间戳的陀螺仪样本325以便获得从如由陀螺仪232测量的特定时间点的头部旋转的四元数(在图3和4中,表示为“q2”)或其他表示。由积分器组件304提供的四元数q2可以包括从该时间戳所表示的时间点到当前时间点的旋转增量的表示。在这种实例下,将意识到,由应用处理器204提供的四元数q1表示将在时间A和时间I之间发生的预测的旋转变化,并且四元数q2表示在时间A和时间J之间发生的估计或测量的旋转变化,其中,I和J可以是不同的时间点。
在块420,单应性旋转组件314确定在由应用处理器204确定的初始头部旋转和在块418确定的更新头部旋转之间的单应性旋转。即,单应性旋转组件314确定表示由应用处理器204用来渲染相应纹理的头部旋转与由积分器组件304测量的最近头部旋转之间的过渡头部旋转的单应性旋转变换。更具体地,如上所述,由应用处理器204提供的四元数q1可以包括从由所提供的时间戳表示的时间A到未来时间I的旋转增量的预测,而由积分器组件304提供的四元数q2可以包括从时间A到当前时间J的旋转增量的表示。由于I和J可以为不同时间点,用于用作渲染一对纹理324,325的基础的预测头部旋转可以不与直到目前时间点真正发生的头部旋转一致,由此,由单应性旋转组件314确定的单应性旋转被用来校正或以其他方式补偿该过渡头部旋转(即,用来渲染纹理的头部旋转与直到当前时间点发生的实际头部旋转之间的差异)。
因此,在至少一个实施例中,过渡旋转计算组件312确定表示自由应用处理器204启动一对纹理的渲染以来的期间发生的头部旋转的四元数(表示为“Δq”),即,四元数Δq被确定为四元数q1和q2之间的差(Δq=q1-q2),或由应用处理器204确定的旋转量与由合成器224确定的旋转量之间的差。然后,单应性旋转组件314访问投影参数矩阵318,320,并且使用四元数Δq和用于相应眼睛的投影参数矩阵(例如,基于4×4矩阵318,320的4×4矩阵),计算一对单应性旋转变换,一个分别用于每一眼睛。为了示例,该计算可以由以下伪代码表示:
texture_old_from_texture_new_matrix=
texture_from_eye_matrix*
eye_old_from_eye_new_matrix*
eye_from_texture_matrix
其中“texture_old_from_texture_new_matrix”是从新纹理空间向旧纹理空间变换的单应性旋转矩阵,“texture_from_eye_matrix”是投影矩阵,“eye_old_from_eye_new_matrix”是通过将四元数Δq转换为4×4矩阵而获得的旋转矩阵,以及“eye_from_texture_matrix”是投影矩阵的逆矩阵。
在块422,合成器224将在块420处确定的一对单应性旋转变换中的每一个应用于相应纹理的选定切片,以便考虑到过渡头部旋转来旋转切片,并且在块424,合成器224将光学失真校正和色差校正中的一个或两个应用于旋转切片。当单应性旋转为线性变换时,能将单应性旋转应用于用于光学/色差校正处理的2D LUT,然后将所产生的修改的2D LUT应用于相应的切片。即,可以旋转用于补偿镜头引入的光学和色差失真本身而增加的补偿失真,然后,将该旋转补偿失真应用于纹理,以便同时旋转纹理并且同时应用适当的校正失真。
因此,在图4所示的实施例中,通过单应性旋转组件314在块423从配置存储器302访问2D LUT 316,318t和将用于左眼的单应性旋转变换应用于对应于当前切片的2D LUT316的部分以产生扭曲的2D LUT部分330(图3)并且将用于右眼的单应性旋转变换应用于对应于当前切片的2D LUT 318的部分以产生扭曲2D LUT部分332(图3),块422和424的处理可以被实现。此后,纹理扭曲组件310在块425,将扭曲的2D LUT部分330,332分别应用于与当前切片相关联的纹理324,325的部分,以便对左眼和右眼显示帧中的每一个,产生各自的旋转扭曲和失真的切片。如上所述,用于光学/色差校正处理的2D LUT可以具有比对应的显示帧更低的分辨率,由此,纹理扭曲组件310在相应扭曲2D LUT的纹理坐标(LUT条目)之间双线性内插并且通过双线性滤波三次采样相应的纹理(每次用于一种颜色),以计算最终像素颜色,然后将其扫描输出到相应的显示屏,以用于点亮显示器的相应像素位置。
如上所述,在一些实施例中,合成器224以逐个切片为基础处理每一纹理,其中,每一切片基于用于该切片的更新头部旋转四元数被旋转扭曲。然而,在一些实现中,该过程可能在切片内引入剪切伪像。因此,在一些实施例中,合成器224可以采用剪切校正过程,由此,合成器224预测显示切片的前缘(即,切片中的第一线)时的头部旋转四元数和显示切片的尾缘(即切片的最后一行)时的头部旋转四元数,以及在跨切片的线的两个预测旋转之间的线性内插头部旋转。即,基于两个估计的头部旋转之间的该线性内插,通过对在前行的头部旋转的增量调整,旋转扭曲每一连续线。这具有平滑每一切片内的头部旋转扭曲的效果。顺序地处理纹理的每一切片还会在连续切片之间引入撕裂伪像。因此,在一些实施例中,合成器224还可以采用撕裂校正处理,由此,合成器224将对先前切片(如上所述)的尾缘估计的头部旋转四元数用作用于下一切片的前缘的头部旋转四元数(同时继续采用该头部旋转四元数与对下一切片的尾缘估计的头部旋转四元数之间的线性内插),从而平滑切片之间的旋转转换。
在其他实施例中,单应性旋转组件314将一对单应性旋转变换提供给纹理扭曲组件310,其首先将单应性旋转变换应用于原始纹理以产生旋转扭曲纹理,然后使用原始2DLUT 316,318执行单独的光学/色差校正处理来产生用于左眼显示帧和右眼显示帧中的每一个的相应的失真旋转扭曲切片。在任一方法中,在块426处,将所产生的旋转扭曲失真切片的每一个扫描输出到显示器112,114中的相应一个,并且显示给用户的相应眼睛。尽管图4示出了在用于切片的旋转/失真处理完成后发生的块426的扫描输出过程,但在一些实现中,用于切片的旋转扭曲和失真处理以及扫描输出处理可以同时发生。在该方法中,在完成切片的扫描线的旋转扭曲/失真处理完成后,可以将扫描线扫描输出到相应的显示器,同时开始下一行的旋转扭曲/失真处理。
在对该切片完成旋转扭曲和光学/色差校正处理的情况下,子过程408返回到块418,并且对显示帧(或者如果在前切片是显示帧的最后一个切片,则为下一显示帧)的下一个切片启动另一迭代。如上所述,EDS显示硬件124用来以帧率Y扫描输出显示帧,其中Y显著大于应用硬件122的纹理渲染速率X。由此,通过子过程408的迭代,EDS显示硬件124可以对由应用硬件122渲染的每一纹理对,产生和显示多个显示帧。然而,当如此产生的每一显示帧基于相应的更新头部旋转从由该纹理对表示的原始角度旋转时,每一显示帧呈现更紧密地遵从用户感知的角度的场景的角度,由此用来减轻用户迷失方向。此外,因为产生显示帧的过程与纹理渲染处理有些分离,所以显示系统100对应用硬件122的丢帧更有复原力。
现在参考图5的EDS过程500,该过程从启动显示系统100以准备渲染和显示AR或VR内容开始,其包括在块502处,陀螺仪218,232的校准和同步,以及由在块505处,由合成器224利用的参数的初始化,与上文参考EDS过程400的块402和404所述类似。然而,除了初始化LUT 316,318和一对投影参数矩阵320,322外,块502的初始化过程进一步包括用于使得失真纹理“不失真”的2D LUT(未示出)的初始化,如下文更详细所述。然而,该不失真LUT被仅用来使得光学失真的纹理不失真,由此,与用于LUT 316,318的每一LUT条目的三个纹理坐标相比,不失真LUT的每一LUT条目仅具有一个纹理坐标。
在初始化后,EDS过程500分成两个并行操作的子过程506,508,子程序506由应用硬件122执行,子过程508由EDS显示硬件124执行。子过程506对应于EDS过程400的子过程406,由此表示渲染代表来自用户头部104/HMD 102的当前姿态和旋转的角度的3D场景的一对纹理的过程。因此,迭代子程序506在块510处启动,其中应用处理器204确定当前头部姿态和旋转,并且在块512处,基于当前头部姿态和旋转来渲染一对纹理,如上参考块410,412类似所述。然而,在EDS过程500中,子过程506包括将光学失真校正处理应用于块512处渲染的纹理对以产生一对纹理324,325的附加过程。因此,在图5的实施例中,使得纹理324,325预失真,以补偿由目镜116,118后续引入的光学像差。当由应用处理器预失真纹理324,325时,可以以显示器112,114的分辨率渲染失真的纹理,并且不需要余量。为了示例,如上文示例中所述,对于1440×1440像素的显示分辨率,不失真地渲染的纹理324,325要求2000×2000或4,000,000像素的像素分辨率。然而,由于如果使得纹理预失真,则不要求余量,对相同的显示分辨率,用失真渲染的纹理324,325将仅要求1440×1440或2,073,600像素的像素分辨率。同样地,在块513处,预失真纹理324,325的处理产生一对纹理,与EDS过程400的不失真纹理方法相比,其要求40%以上的更少存储空间。子过程506进一步包括在块514处,如上文参考块414类似所述,将表示头部旋转(或头部旋转增量)的四元数q1和相应时间戳发送到合成器224的过程。然后,以纹理渲染速率X,对下一对纹理执行处理子过程506的下一迭代。
与子过程506的纹理渲染操作同时,EDS显示硬件124执行子过程508的迭代,以由最新渲染的一对纹理324,325产生和显示图像帧。因此,通过子过程506的迭代渲染新的一对纹理324,325触发子过程508的相应迭代。首先,在块516,EDS显示硬件124表示产生最新一对纹理324,325,以及过渡旋转计算组件312从应用处理器204接收表示相应头部旋转的四元数q1。
因为在块513处预失真纹理324,325,所以在旋转扭曲前,应当“不失真”纹理324,325。因此,子过程508包括在块512处,不失真该失真纹理324,325的附加过程。因此,纹理扭曲组件310可以访问在块504处初始化的一对不失真的LUT,并且将每一不失真的LUT应用于相应的失真纹理以产生不失真纹理。因此,虽然与EDS过程400的不失真纹理324,325相比,由应用处理器204预失真纹理324,325可以减小用来存储失真纹理的帧缓冲器的大小,但是预失真然后未失真的过程要求应用处理器204和合成器224两者的额外的存储器访问和计算。
通过使纹理324,325返回到其不失真形式,EDS过程500从旋转扭曲每一切片的过程开始,执行光学和色差校正过程,并且扫描输出所产生的失真的、扭曲的切片,如上参考EDS过程400所述的块418,420,422,424和426所述。
上文所述的许多发明功能和许多发明原理非常适用于具有或以诸如专用IC(ASIC)之类的集成电路(IC)的实现。预期的是,当由本文中公开的概念和原理引导时,普通技术人员(尽管由例如可用时间、当前技术和经济上的考虑激励的可能显著的努力和许多设计选择)将容易地能够以最少的实验生成这样的IC。因此,为了简洁和最小化模糊根据本公开的原理和概念的任何风险,对这样的软件和IC的进一步讨论(如果有的话)将限于关于优选实施例内的原理和概念的基本要点。
在本文档中,诸如第一和第二等之类的关系术语可以仅用于区分一个实体或动作与另一实体或动作,而不一定要求或暗指在这样的实体或动作之间的任何实际的这样的关系或顺序。术语“包括”、“包含”或其任何其它变型旨在于涵盖非排他性包含,使得包括元件列表的过程、方法、物品或装置不只包括那些元件,而是可以包括未明确列出或这样的过程、方法、物品或装置所固有的其它元件。在没有更多约束的情况下,在“包括…”后的元件不排除在包括该元件的过程、方法、物品或装置中存在附加的完全相同的元件。如本文中使用的术语“另一”被定义为至少第二或更多。如本文中使用的术语“包含”和/或“具有”被定义为包括。如本文中参考电光技术所使用的术语“耦合”被定义为连接,虽然不一定直接地,并且不一定机械地。如本文中使用的术语“程序”被定义为设计用于在计算机系统上执行的指令序列。“程序”或“计算机程序”可以包括子例程、函数、过程、对象方法、对象实现、可执行应用、小应用程序、小服务程序、源代码、目标代码、共享库/动态加载库和/或设计用于在计算机系统上执行的其它指令序列。
本说明书和附图应当被视为仅仅是示例,并且据此本公开的范围旨在于仅由所附权利要求及其等同物来限定。注意,并不要求上面在一般性描述中所描述的所有活动或元件,可以不要求特定活动或设备的一部分,并且除了所描述的那些,可以执行一个或多个其它活动,或者可以包括一个或多个其它元件。再进一步地,列出活动的顺序不一定是它们执行的顺序。除非另有规定,上面所描绘的流程图的步骤可以按任何顺序,并且根据实现,可以省略、重复和/或添加步骤。还有,已经参考具体实施例描述了概念。然而,本领域普通技术人员理解,可以做出各种修改和改变,而不脱离如所附权利要求中所阐述的本公开的范围。据此,说明书和附图要在说明性而非限制性的意义上来看待,并且所有这样的修改旨在于包括在本公开的范围内。
上面已经关于具体实施例描述了益处、其它优点和问题的解决方案。然而,益处、优点、问题的解决方案、以及其可以使得任何益处、优点或解决方案发生或变得更为显著的任何(多个)特征不应被解释为任何或所有权利要求的关键的、必需的或基本的特征。

Claims (20)

1.在具有头戴式显示器(HMD)(102)的系统(100)中,一种方法包括:
在第一时间,使用第一惯性传感器样本流,确定所述HMD的第一头部旋转的表示;
在所述系统的应用处理器(204)处,基于所述第一头部旋转渲染纹理(132);
在所述第一时间之后的第二时间,使用第二惯性传感器样本流,确定所述HMD的第二头部旋转的表示,所述第二惯性传感器样本流不同于所述第一惯性传感器样本流;以及
在所述系统的合成器(224)处,基于所述第一头部旋转和所述第二头部旋转之间的差,生成所述纹理的旋转表示(134)。
2.如权利要求1所述的方法,其中:
确定第一头部旋转的表示包括:基于所述第一惯性传感器样本流,确定代表所述第一时间和后续时间之间的预测旋转变化的第一四元数;
确定第二头部旋转的表示包括:基于所述第二惯性传感器样本流,确定代表所述第一时间和所述第二时间之间的测量旋转变化的第二四元数;以及
生成纹理的旋转表示包括:基于所述预测旋转变化与所述测量旋转变化之间的差,生成所述旋转表示。
3.如权利要求2所述的方法,其中,生成纹理的旋转表示包括:
基于所述预测旋转变化与所述测量旋转变化之间的差,确定单应性旋转变换(316,318);以及
将所述单应性旋转变换应用于所述纹理以产生扭曲纹理(134)。
4.如权利要求2所述的方法,其中,生成纹理的旋转表示包括:
基于所述预测旋转变化与所述测量旋转变化之间的差,确定单应性旋转变换(316,318);
将所述单应性旋转变换应用于表示非线性失真变换的查找表(LUT)(330,332)以生成扭曲LUT;以及
将所述扭曲LUT应用于所述纹理以生成扭曲纹理。
5.如权利要求2所述的方法,其中:
确定代表由第二惯性传感器测量的所述第一时间和所述第二时间之间的测量旋转变化的第二四元数包括:
在所述合成器处,将来自所述第二惯性传感器样本流的传感器样本(328)缓存在滑动窗口缓冲器(326)中,每个缓存的传感器样本具有相关的时间戳;
在所述合成器处,接收与所述第一时间相关联的时间戳;
识别一个或多个缓存的传感器样本,所述缓存的传感器样本的时间戳等于所接收的时间戳或在所接收的时间戳之后;以及
向前积分所识别的一个或多个缓存的传感器样本以确定所述第一时间和所述第二时间之间的测量旋转变化。
6.如权利要求1所述的方法,其中:
所述第一惯性传感器样本流包括通过以第一采样频率采样陀螺仪(218)生成的样本流;且
所述第二惯性传感器样本流包括通过以第二采样频率采样所述陀螺仪生成的样本流,所述第二采样频率大于所述第一采样频率。
7.一种系统,包括:
头戴式显示器(HMD)(102);
至少一个惯性传感器(218,220,222,232);
应用处理器(204),所述应用处理器(204)耦合到所述至少一个惯性传感器,所述应用处理器用来以第一速率渲染纹理(132,324,326),其中,对于每一纹理,所述应用处理器将从来自所述至少一个惯性传感器的第一样本流确定所述HMD的相应头部旋转,并且基于所述相应头部旋转来渲染所述纹理;以及
合成器(224),所述合成器(224)耦合到所述至少一个惯性传感器和所述应用处理器,所述合成器用来以至少与所述第一速率相等的第二速率生成显示帧(134),其中,对于每一显示帧,所述合成器将从来自所述至少一个惯性传感器的第二样本流确定更新头部旋转,并且基于所述纹理的相应头部旋转和所述更新头部旋转之间的差,将所述显示帧生成为相应纹理的旋转表示。
8.如权利要求7所述的系统,其中:
所述应用处理器用来基于所述第一样本流,将所述相应头部旋转确定为代表第一时间和后续时间之间的预测旋转变化的第一四元数;
所述合成器用来基于所述第二样本流,将所述更新头部旋转确定为代表所述第一时间和与所述显示帧相关联的后续时间之间的测量旋转变化的第二四元数;且
所述合成器用来基于所述预测旋转变化和所述测量旋转变化之间的差,生成所述纹理的旋转表示。
9.如权利要求8所述的系统,其中,所述合成器包括:
单应性旋转组件(314),用于基于所述预测旋转变化和所述测量旋转变化之间的差,确定单应性旋转变换(316,318);以及
纹理扭曲组件(310),用于将所述单应性旋转变换应用于所述纹理以生成扭曲纹理。
10.如权利要求8所述的系统,其中,所述合成器包括:
配置存储器(302),用于存储表示非线性失真变换的查找表(LUT)(320,322);
单应性旋转组件(314),用来基于所述预测旋转变化和所述测量旋转变化之间的差确定单应性旋转变换(316,318),并且将所述单应性旋转变换应用于所述LUT以生成扭曲LUT(330,332);以及
纹理扭曲组件(310),用于将所述扭曲LUT应用于所述纹理以生成扭曲纹理。
11.如权利要求8所述的系统,其中,所述合成器包括:
积分器组件(304),用于接收所述第二样本流并且具有滑动窗口缓冲器(326),所述滑动窗口缓冲器(326)缓存来自所述第二样本流的传感器样本和相关时间戳,所述积分器组件用来识别一个或多个缓存的传感器样本(328),所述缓存的传感器样本的时间戳等于与所述第一时间相关联的第一样本流的传感器样本相关联的时间戳或在其之后,并且所述积分器组件用来向前积分所识别的一个或多个缓存的传感器样本以确定所述第一时间和与所述显示帧相关联的后续时间之间的测量旋转变化。
12.如权利要求7所述的系统,其中:
第一样本流包括由具有第一采样频率的第一陀螺仪(218)生成的样本流;以及
第二样本流包括从具有第二采样频率的第二陀螺仪(232)生成的样本流,所述第二采样频率大于所述第一采样频率。
13.在具有头戴式显示器(HMD)(102)的系统(100)中,一种方法包括:
在应用处理器(204)处,基于从惯性传感器(218)确定的HMD的初始头部旋转,渲染纹理(132,324,326);以及
对于表示显示帧的切片序列中的每个切片:
在合成器(224)处,由惯性传感器(218,232)确定相应的更新头部旋转;
在所述合成器处,基于所述初始头部旋转和所述相应更新头部旋转之间的差,确定用于所述切片的单应性旋转变换(316,318);以及
在所述合成器处,将所述单应性旋转变换应用于对应于所述切片的所述纹理的一部分以生成扭曲切片;以及
扫描输出所述扭曲切片以在所述HMD处显示。
14.如权利要求13所述的方法,其中:
确定所述初始头部旋转包括:确定代表第一时间和后续时间之间的预测旋转变化的第一四元数;
确定所述更新头部旋转包括:确定代表所述第一时间和与所述切片相关联的第二时间之间的测量旋转变化的第二四元数;以及
生成所述单应性旋转变换包括:基于所述第一四元数和所述第二四元数之间的差,生成所述单应性旋转变换。
15.如权利要求14所述的方法,其中:
确定所述第二四元数包括:
在所述合成器处,将来自惯性传感器(232)的传感器样本(328)缓存在滑动窗口缓冲器(326)中,每个缓存的传感器样本具有相关的时间戳;
在所述合成器处,接收与所述初始头部旋转相关联的时间戳;
识别一个或多个缓存的传感器样本,所述缓存的传感器样本的时间戳等于所接收的时间戳或在所接收的时间戳之后;以及
向前积分所识别的一个或多个缓存的传感器样本以确定所述第二四元数。
16.如权利要求13所述的方法,其中,将所述单应性旋转变换应用于对应于所述切片的所述纹理的一部分以生成扭曲切片包括:
访问表示非线性失真变换的查找表(LUT)(316,318);
将所述单应性旋转变换应用于对应于所述切片的所述LUT的一部分以生成扭曲LUT部分(330,332);以及
将所述扭曲LUT部分应用于所述纹理的所述一部分以生成所述扭曲切片。
17.一种系统(100),包括:
头戴式显示器(HMD)(102);
至少一个惯性传感器(218,232);
耦合到所述至少一个惯性传感器的应用处理器(204),所述应用处理器用来基于从所述至少一个惯性传感器确定的所述HMD的初始头部旋转来渲染纹理(132,324,326);以及
合成器(224),所述合成器耦合到所述至少一个惯性传感器、所述应用处理器和所述HMD的显示器(112,114),其中,对于表示显示帧的切片序列中的每一切片,所述传感器用来:
从所述至少一个惯性传感器确定相应的更新头部旋转,
基于所述初始头部旋转和所述相应的更新头部旋转之间的差,确定用于所述切片的单应性旋转变换(316,318),
将所述单应性旋转变换应用于对应于所述切片的所述纹理的一部分以生成扭曲切片,和
扫描输出所述扭曲切片以在所述HMD处显示。
18.如权利要求17所述的系统,其中:
所述应用处理器用来将所述初始头部旋转确定为代表所述第一时间和后续时间之间的预测旋转变化的第一四元数;以及
所述合成器用来将所述更新头部旋转确定为代表所述第一时间和与所述切片相关联的第二时间之间的测量旋转变化的第二四元数;以及
所述合成器用来基于所述第一四元数和所述第二四元数之间的差,生成所述单应性旋转变换。
19.如权利要求18所述的系统,其中,所述合成器包括:
积分器组件(304),所述积分器组件被耦合到所述至少一个惯性传感器并具有滑动窗口缓冲器(326),用于缓存来自所述至少一个惯性传感器的传感器样本和相关的时间戳,所述积分器组件用来识别一个或多个缓存的传感器样本,所述缓存的传感器样本的时间戳等于与由所述应用处理器用来确定所述初始头部旋转的最后一个传感器样本相关联的时间戳或在其之后,并且所述积分器组件用来向前积分所识别的一个或多个缓存的传感器样本以确定第二四元数。
20.如权利要求17所述的系统,其中,所述合成器包括:
配置存储器(302),用于存储表示非线性失真变换的查找表(LUT)(316,318);
耦合到所述配置存储器的单应性旋转组件(314),所述单应性旋转组件用于将所述单应性旋转变换应用于对应于所述切片的所述LUT的一部分以生成扭曲LUT部分;以及
纹理扭曲组件,用于将所述扭曲LUT部分应用到所述纹理的所述一部分以生成扭曲切片。
CN201680019764.2A 2015-06-12 2016-06-13 用于头戴式显示器的电子显示稳定 Pending CN107430786A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562174602P 2015-06-12 2015-06-12
US62/174,602 2015-06-12
PCT/US2016/037203 WO2016201423A1 (en) 2015-06-12 2016-06-13 Electronic display stabilization for head mounted display

Publications (1)

Publication Number Publication Date
CN107430786A true CN107430786A (zh) 2017-12-01

Family

ID=56297103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680019764.2A Pending CN107430786A (zh) 2015-06-12 2016-06-13 用于头戴式显示器的电子显示稳定

Country Status (6)

Country Link
US (1) US10102666B2 (zh)
EP (1) EP3308247A1 (zh)
JP (1) JP6866297B2 (zh)
KR (1) KR102292031B1 (zh)
CN (1) CN107430786A (zh)
WO (1) WO2016201423A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109613980A (zh) * 2018-12-04 2019-04-12 北京洛必达科技有限公司 一种vr游戏信息处理系统及处理方法
CN109727305A (zh) * 2019-01-02 2019-05-07 京东方科技集团股份有限公司 虚拟现实系统画面处理方法、装置及存储介质
CN110351480A (zh) * 2019-06-13 2019-10-18 歌尔科技有限公司 用于电子设备的图像处理方法、装置及电子设备
CN111656433A (zh) * 2018-02-03 2020-09-11 脸谱科技有限责任公司 减轻头戴式显示器中动显延迟的装置、系统和方法
CN113129224A (zh) * 2019-12-31 2021-07-16 精工爱普生株式会社 显示系统、电子设备、移动体和显示方法
US11354874B2 (en) 2018-03-20 2022-06-07 Sony Corporation Information processing apparatus and information processing method

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI566229B (zh) * 2015-06-03 2017-01-11 友達光電股份有限公司 顯示裝置之時序控制器及其操作方法
CN106293046B (zh) * 2015-06-30 2020-03-17 北京智谷睿拓技术服务有限公司 信息处理方法、信息处理装置及用户设备
CN106293045B (zh) * 2015-06-30 2019-09-10 北京智谷睿拓技术服务有限公司 显示控制方法、显示控制装置及用户设备
CN106331464B (zh) 2015-06-30 2019-10-15 北京智谷睿拓技术服务有限公司 拍摄控制方法、拍摄控制装置及用户设备
US10089725B2 (en) 2016-02-09 2018-10-02 Google Llc Electronic display stabilization at a graphics processing unit
CN107180441B (zh) * 2016-03-10 2019-04-09 腾讯科技(深圳)有限公司 生成眼睛图像的方法和装置
US20180061103A1 (en) * 2016-08-29 2018-03-01 Analogix Semiconductor, Inc. Systems and Methods for Generating Display Views Tracking User Head Movement for Head-Mounted Display Devices
KR102528318B1 (ko) * 2016-12-26 2023-05-03 엘지디스플레이 주식회사 헤드 마운티드 디스플레이의 지연 측정 장치 및 방법
US20180189980A1 (en) * 2017-01-03 2018-07-05 Black Sails Technology Inc. Method and System for Providing Virtual Reality (VR) Video Transcoding and Broadcasting
DE102017200325A1 (de) * 2017-01-11 2018-07-12 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Betreiben eines Anzeigesystems mit einer Datenbrille in einem Kraftfahrzeug
US10417739B2 (en) 2017-03-23 2019-09-17 Google Llc Phase aligned foveated rendering
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
US10488920B2 (en) * 2017-06-02 2019-11-26 Htc Corporation Immersive headset system and control method thereof
GB201713051D0 (en) * 2017-08-15 2017-09-27 Imagination Tech Ltd Low latency distortion unit for head mounted displays
US10521881B1 (en) * 2017-09-28 2019-12-31 Apple Inc. Error concealment for a head-mountable device
JP6711803B2 (ja) 2017-10-13 2020-06-17 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置および画像生成方法
CN107801014B (zh) * 2017-10-25 2019-11-08 深圳岚锋创视网络科技有限公司 一种全景视频防抖的方法、装置及便携式终端
JP6732716B2 (ja) * 2017-10-25 2020-07-29 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、画像生成システム、画像生成方法、およびプログラム
US10553016B2 (en) 2017-11-15 2020-02-04 Google Llc Phase aligned foveated rendering
JP6978289B2 (ja) * 2017-11-20 2021-12-08 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、ヘッドマウントディスプレイ、画像生成システム、画像生成方法、およびプログラム
US10741143B2 (en) * 2017-11-28 2020-08-11 Nvidia Corporation Dynamic jitter and latency-tolerant rendering
JP6944863B2 (ja) * 2017-12-12 2021-10-06 株式会社ソニー・インタラクティブエンタテインメント 画像補正装置、画像補正方法およびプログラム
EP3522150A3 (en) * 2018-02-03 2020-01-01 Facebook Technologies, LLC Apparatus, system, and method for mitigating motion-to-photon latency in head-mounted displays
US10706813B1 (en) 2018-02-03 2020-07-07 Facebook Technologies, Llc Apparatus, system, and method for mitigating motion-to-photon latency in head-mounted displays
EP3521899A1 (en) * 2018-02-03 2019-08-07 Facebook Technologies, LLC Apparatus, system, and method for achieving intraframe image processing in head-mounted displays
CN112313712A (zh) 2018-04-19 2021-02-02 Pcms控股公司 采用用于虚拟现实的预测过满填充的系统和方法
US10678325B2 (en) 2018-05-22 2020-06-09 Facebook Technologies, Llc Apparatus, system, and method for accelerating positional tracking of head-mounted displays
CN108632598A (zh) * 2018-05-25 2018-10-09 小派科技(上海)有限责任公司 降低vr设备mtp延时的方法及装置
JP2020003898A (ja) * 2018-06-26 2020-01-09 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US11100713B2 (en) 2018-08-17 2021-08-24 Disney Enterprises, Inc. System and method for aligning virtual objects on peripheral devices in low-cost augmented reality/virtual reality slip-in systems
WO2020080177A1 (ja) * 2018-10-16 2020-04-23 ソニー株式会社 情報処理装置、情報処理方法、及び記録媒体
WO2020090316A1 (ja) * 2018-11-02 2020-05-07 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
WO2020140078A1 (en) * 2018-12-27 2020-07-02 Magic Leap, Inc. Systems and methods for virtual and augmented reality
EP3930318A4 (en) * 2019-02-22 2022-10-12 Sony Interactive Entertainment Inc. DISPLAY DEVICE AND IMAGE DISPLAY METHOD
WO2020170454A1 (ja) * 2019-02-22 2020-08-27 株式会社ソニー・インタラクティブエンタテインメント 画像生成装置、ヘッドマウントディスプレイ、および画像生成方法
WO2021006191A1 (ja) * 2019-07-10 2021-01-14 株式会社ソニー・インタラクティブエンタテインメント 画像表示装置、画像表示システムおよび画像表示方法
US11178379B2 (en) * 2019-08-07 2021-11-16 Magic Leap, Inc. Determining a predicted head pose time
EP4046138A4 (en) 2019-10-18 2022-12-07 Magic Leap, Inc. GRAVITY ESTIMATION AND BUNDLE ADJUSTMENT FOR VISUAL INERTIAL ODOMETRY
JP2021067877A (ja) * 2019-10-25 2021-04-30 株式会社ソニー・インタラクティブエンタテインメント 情報処理装置、ヘッドマウントディスプレイ、および画像表示方法
US11061469B2 (en) 2019-11-20 2021-07-13 XRSpace CO., LTD. Head mounted display system and rotation center correcting method thereof
JP2021089678A (ja) * 2019-12-05 2021-06-10 未來市股▲ふん▼有限公司 頭部装着型ディスプレイ・システム及び頭部装着型ディスプレイ・システムの回転中心補正方法
US20210192681A1 (en) * 2019-12-18 2021-06-24 Ati Technologies Ulc Frame reprojection for virtual reality and augmented reality
WO2021243103A1 (en) * 2020-05-29 2021-12-02 Magic Leap, Inc. Determining angular acceleration
EP4170598A4 (en) * 2020-07-13 2023-11-15 Samsung Electronics Co., Ltd. METHOD AND APPARATUS FOR DISPLAY WITH LATENCY COMPENSATOR POSE PREDICTION IN A MIXED REALITY COMMUNICATION SYSTEM
WO2022050734A1 (en) * 2020-09-03 2022-03-10 Samsung Electronics Co., Ltd. Method and device for reducing performance difference between contents and devices in communication system
EP4258686A1 (en) 2021-01-13 2023-10-11 Samsung Electronics Co., Ltd. Electronic device for measuring posture of user and method therefor
US11822713B2 (en) * 2021-06-11 2023-11-21 Rockwell Collins, Inc. Pose augmentation of head worn display video for latency reduction
CN117812236A (zh) * 2022-09-27 2024-04-02 万有引力(宁波)电子科技有限公司 图像处理器、处理方法、存储介质及扩展现实显示装置
CN117834829A (zh) * 2022-09-27 2024-04-05 万有引力(宁波)电子科技有限公司 图像处理器、处理方法、存储介质及扩展现实显示装置
KR20240048207A (ko) * 2022-10-06 2024-04-15 한국전자기술연구원 사용자의 상황 정보 예측 기반 확장현실 디바이스의 영상 스트리밍 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033628A (zh) * 2009-09-30 2011-04-27 三星电子株式会社 感测运动的设备和方法
US20120223833A1 (en) * 2011-02-03 2012-09-06 Biju Thomas Portable wireless personal head impact reporting system
WO2015048905A1 (en) * 2013-10-03 2015-04-09 Sulon Technologies Inc. System and method for incorporating a physical image stream in a head mounted display
WO2015068656A1 (ja) * 2013-11-11 2015-05-14 株式会社ソニー・コンピュータエンタテインメント 画像生成装置および画像生成方法

Family Cites Families (16)

* 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
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
US7724258B2 (en) 2004-06-30 2010-05-25 Purdue Research Foundation Computer modeling and animation of natural phenomena
US20060244757A1 (en) 2004-07-26 2006-11-02 The Board Of Trustees Of The University Of Illinois Methods and systems for image modification
JP4734640B2 (ja) * 2006-02-10 2011-07-27 国立大学法人岐阜大学 仮想現実画像表示装置
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
JP2013254300A (ja) * 2012-06-06 2013-12-19 Konica Minolta Inc 画像処理方法
US20140176591A1 (en) * 2012-12-26 2014-06-26 Georg Klein Low-latency fusing of color image data
US9076258B2 (en) 2013-03-14 2015-07-07 Pixar Stylizing animation by example
US9063330B2 (en) * 2013-05-30 2015-06-23 Oculus Vr, Llc Perception based predictive tracking for head mounted displays
GB201310367D0 (en) 2013-06-11 2013-07-24 Sony Comp Entertainment Europe Head-mountable apparatus and systems
US9311690B2 (en) 2014-03-11 2016-04-12 Adobe Systems Incorporated Video denoising using optical flow
US9652893B2 (en) 2014-04-29 2017-05-16 Microsoft Technology Licensing, Llc Stabilization plane determination based on gaze location
US9824498B2 (en) * 2014-12-30 2017-11-21 Sony Interactive Entertainment Inc. Scanning display system in head-mounted display for virtual reality

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102033628A (zh) * 2009-09-30 2011-04-27 三星电子株式会社 感测运动的设备和方法
US20120223833A1 (en) * 2011-02-03 2012-09-06 Biju Thomas Portable wireless personal head impact reporting system
WO2015048905A1 (en) * 2013-10-03 2015-04-09 Sulon Technologies Inc. System and method for incorporating a physical image stream in a head mounted display
WO2015068656A1 (ja) * 2013-11-11 2015-05-14 株式会社ソニー・コンピュータエンタテインメント 画像生成装置および画像生成方法

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
JEAN-YVES DIDIER等: ""A time delay compensation method improving registration for augmented reality"", 《PROCEEDINGS OF THE 2005 IEEE》 *
MARK BOLAS等: ""Open virtual reality"", 《IEEE XPLORE》 *
RONALD AZUMA等: ""Improving Static and Dynamic Registration in an Optical See-through HMD"", 《SIGGRAPH"94》 *
WILLIAM R.MARK等: ""Post-rendering 3D wraping"", 《PROCEEDINGS OF 1997 SYMPOSIUM ON INTERACTIVE 3D GRAPHICS》 *
工业和信息化部电子第五研究所: ""苹果公司新专利:头戴式显示器"", 《电子产品可靠性与环境试验》 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111656433A (zh) * 2018-02-03 2020-09-11 脸谱科技有限责任公司 减轻头戴式显示器中动显延迟的装置、系统和方法
US11354874B2 (en) 2018-03-20 2022-06-07 Sony Corporation Information processing apparatus and information processing method
CN109613980A (zh) * 2018-12-04 2019-04-12 北京洛必达科技有限公司 一种vr游戏信息处理系统及处理方法
CN109613980B (zh) * 2018-12-04 2021-01-15 深圳市极点信息科技有限公司 一种vr游戏信息处理系统
CN109727305A (zh) * 2019-01-02 2019-05-07 京东方科技集团股份有限公司 虚拟现实系统画面处理方法、装置及存储介质
CN109727305B (zh) * 2019-01-02 2024-01-12 京东方科技集团股份有限公司 虚拟现实系统画面处理方法、装置及存储介质
CN110351480A (zh) * 2019-06-13 2019-10-18 歌尔科技有限公司 用于电子设备的图像处理方法、装置及电子设备
CN113129224A (zh) * 2019-12-31 2021-07-16 精工爱普生株式会社 显示系统、电子设备、移动体和显示方法
CN113129224B (zh) * 2019-12-31 2023-11-28 精工爱普生株式会社 显示系统、电子设备、移动体和显示方法

Also Published As

Publication number Publication date
JP6866297B2 (ja) 2021-04-28
EP3308247A1 (en) 2018-04-18
KR20180016973A (ko) 2018-02-20
US20160364904A1 (en) 2016-12-15
JP2018525693A (ja) 2018-09-06
KR102292031B1 (ko) 2021-08-20
US10102666B2 (en) 2018-10-16
WO2016201423A1 (en) 2016-12-15

Similar Documents

Publication Publication Date Title
CN107430786A (zh) 用于头戴式显示器的电子显示稳定
US11016297B2 (en) Image generation apparatus and image generation method
JP6898430B2 (ja) 仮想現実および拡張現実ディスプレイシステムのための連続時間ワーピングおよび両眼時間ワーピングおよび方法
JP4933406B2 (ja) 画像処理装置、画像処理方法
Azuma A survey of augmented reality
US9240069B1 (en) Low-latency virtual reality display system
US8760470B2 (en) Mixed reality presentation system
US20160267720A1 (en) Pleasant and Realistic Virtual/Augmented/Mixed Reality Experience
JP5045827B2 (ja) 画像処理装置、画像処理方法、及び、プログラム
US20210368152A1 (en) Information processing apparatus, information processing method, and program
IL294397B1 (en) Creating a new frame using processed and unprocessed content from a previous perspective
EP3035159A1 (en) Device and method for processing visual data, and related computer program product
US11956415B2 (en) Head mounted display apparatus
JP2020106655A (ja) 情報処理装置、情報処理方法及びプログラム
JPH11203444A (ja) 画像合成装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
CB02 Change of applicant information

Address after: California, USA

Applicant after: Google Inc.

Address before: California, USA

Applicant before: Google Inc.

CB02 Change of applicant information
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned

Effective date of abandoning: 20221018

AD01 Patent right deemed abandoned