CN113596569B - 图像处理方法、装置和计算机可读存储介质 - Google Patents
图像处理方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN113596569B CN113596569B CN202110833918.4A CN202110833918A CN113596569B CN 113596569 B CN113596569 B CN 113596569B CN 202110833918 A CN202110833918 A CN 202110833918A CN 113596569 B CN113596569 B CN 113596569B
- Authority
- CN
- China
- Prior art keywords
- eye image
- rendering
- image
- processing
- time
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 33
- 238000009877 rendering Methods 0.000 claims abstract description 229
- 238000012545 processing Methods 0.000 claims abstract description 141
- 238000000034 method Methods 0.000 claims abstract description 56
- 230000008569 process Effects 0.000 claims abstract description 45
- 208000012886 Vertigo Diseases 0.000 abstract description 8
- 231100000889 vertigo Toxicity 0.000 abstract description 8
- 210000003128 head Anatomy 0.000 description 30
- 238000010586 diagram Methods 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 208000002173 dizziness Diseases 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000011068 loading method Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/44012—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving rendering scenes according to scene graphs, e.g. MPEG-4 scene graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
- G06F3/012—Head tracking input arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N13/00—Stereoscopic video systems; Multi-view video systems; Details thereof
- H04N13/30—Image reproducers
- H04N13/332—Displays for viewing with the aid of special glasses or head-mounted displays [HMD]
- H04N13/341—Displays for viewing with the aid of special glasses or head-mounted displays [HMD] using temporal multiplexing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
- H04N21/43072—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请公开了一种图像处理方法、装置和计算机可读存储介质,图像处理方法包括:在第一时间段,对左眼图像和右眼图像进行第一渲染处理;在第二时间段,对第一渲染处理得到的左眼图像进行第二渲染处理;在第三时间段,对第一渲染处理得到的右眼图像进行第二渲染处理;在第四时间段,对完成第二渲染处理后的左眼图像进行异步时间扭曲;在第五时间段,对完成第二渲染处理后的右眼图像进行异步时间扭曲。本申请实施例通过对左眼图像和右眼图像进行第一渲染处理,并在一定时间启动左眼图像异步时间扭曲和右眼图像的异步时间扭曲,可以降低渲染过程中的时间延迟,从而降低用户的眩晕感。
Description
技术领域
本申请涉及图像处理领域,尤其涉及一种图像处理方法、装置和计算机可读存储介质。
背景技术
AR/VR通过图像渲染技术,将渲染的虚拟图像刷新到显示设备,用户通过头戴显示设备体验到虚拟现实/增强现实的效果。
由于渲染过程需要时间,就会造成实际和感知之间的时间延迟。例如,在渲染过程中,用户头部或用户佩戴的头戴设备可能会移动,导致用户头部的姿态信息与头戴设备输出的图像数据之间存在一定时间延迟。
如果时间延迟过大,会造成眩晕感。
发明内容
本申请实施例通过提供一种图像处理方法、装置和计算机可读存储介质,旨在解决在渲染的过程中,如果时间延迟过大,会造成眩晕感的问题。
为实现上述目的,本申请一方面提供一种图像处理方法,所述方法包括:
在第一时间段,对左眼图像和右眼图像进行第一渲染处理;
在第二时间段,对所述第一渲染处理得到的左眼图像进行第二渲染处理;
在第三时间段,对所述第一渲染处理得到的右眼图像进行第二渲染处理;
在第四时间段,对完成所述第二渲染处理后的左眼图像进行异步时间扭曲;
在第五时间段,对完成所述第二渲染处理后的右眼图像进行异步时间扭曲;其中,第一时间段、第二时间段以及第三时间段组成第一渲染周期、至少部分第四时间段与至少部分第三时间段重叠。
可选地,所述第一时间段与所述第二时间段的时间和值大于所述第一渲染周期的一半。
可选地,所述对完成所述第二渲染处理后的左眼图像进行异步时间扭曲的步骤包括:
获取用户的第一头部姿势信息;
根据所述第一头部姿势信息对完成所述第二渲染处理后的左眼图像进行异步时间扭曲。
可选地,所述对左眼图像和右眼图像进行第一渲染处理的步骤包括:
从第一图像缓冲区获取图像数据;
依据预设条件从所述图像数据获取所述左眼图像和所述右眼图像;
对所述左眼图像和所述右眼图像进行第一渲染处理。
可选地,所述对完成所述第二渲染处理后的右眼图像进行异步时间扭曲的步骤包括:
获取用户的第二头部姿势信息;
根据所述第二头部姿势信息对完成所述第二渲染处理后的右眼图像进行异步时间扭曲。
可选地,所述对所述第一渲染处理得到的左眼图像进行第二渲染处理的步骤包括:
获取所述第一渲染处理得到的所述左眼图像对应的第一预设位姿信息;
根据所述第一预设位姿信息对所述第一渲染处理得到的左眼图像进行第二渲染处理。
可选地,所述对所述第一渲染处理得到的右眼图像进行第二渲染处理的步骤包括:
获取所述第一渲染处理得到的所述右眼图像对应的第二预设位姿信息;
根据所述第二预设位姿信息对所述第一渲染处理得到的右眼图像进行第二渲染处理。
可选地,所述对完成所述第二渲染处理后的左眼图像进行异步时间扭曲之前,所述方法还包括:
将对完成所述第二渲染处理后的左眼图像渲染至第二图像缓冲区。
可选地,所述对完成所述第二渲染处理后的右眼图像进行异步时间扭曲之前,所述方法还包括:
将对完成所述第二渲染处理后的右眼图像渲染至第三图像缓冲区。
可选地,所述方法还包括:
分别将经过异步时间扭曲的左眼图像和经过异步时间扭曲的右眼图像发送至显示部件显示。
可选地,头部姿态信息包括以下中的至少一个:
指示用户的头部或用户佩戴的VR设备的位置信息;
指示用户的头部或用户佩戴的VR设备的方向信息。
此外,为实现上述目的,本申请另一方面还提供一种图像处理装置,所述装置包括存储器、处理器及存储在存储器上并在所述处理器上运行图像处理程序,所述处理器执行所述图像处理程序时实现如上所述图像处理方法的步骤。
此外,为实现上述目的,本申请另一方面还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有图像处理程序,所述图像处理程序被处理器执行时实现如上所述图像处理方法的步骤。
本申请提出一种图像处理方法,通过在第一时间段,对左眼图像和右眼图像进行第一渲染处理;在第二时间段,对第一渲染处理得到的左眼图像进行第二渲染处理;在第三时间段,对第一渲染处理得到的右眼图像进行第二渲染处理;在第四时间段,对完成第二渲染处理后的左眼图像进行异步时间扭曲;在第五时间段,对完成第二渲染处理后的右眼图像进行异步时间扭曲。本申请实施例通过对左眼图像和右眼图像进行第一渲染处理,并在一定时间启动左眼图像异步时间扭曲和右眼图像的异步时间扭曲,可以降低渲染过程中的时间延迟,从而降低用户的眩晕感。
附图说明
图1为本申请实施例方案涉及的硬件运行环境的终端结构示意图;
图2为本申请图像处理方法第一实施例的流程示意图;
图3为本申请图像处理方法中对完成所述第二渲染处理后的左眼图像进行异步时间扭曲的流程示意图;
图4为本申请图像处理方法中对完成所述第二渲染处理后的右眼图像进行异步时间扭曲的流程示意图;
图5为原异步时间扭曲处理机制的示意图;
图6为本申请图像处理方法的异步时间扭曲处理机制的示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本申请实施例的主要解决方案是:在第一时间段,对左眼图像和右眼图像进行第一渲染处理;在第二时间段,对所述第一渲染处理得到的左眼图像进行第二渲染处理;在第三时间段,对所述第一渲染处理得到的右眼图像进行第二渲染处理;在第四时间段,对完成所述第二渲染处理后的左眼图像进行异步时间扭曲;在第五时间段,对完成所述第二渲染处理后的右眼图像进行异步时间扭曲;其中,第一时间段、第二时间段以及第三时间段组成第一渲染周期、至少部分第四时间段与至少部分第三时间段重叠。
由于在某些情况下,当图形引擎正在渲染帧的图形时,用户头部或用户佩戴的VR头戴设备可能会移动,导致用户头部的位置和/或方向信息在向显示器输出帧时不准确,从而使用户产生眩晕感。
因此,本申请通过在第一时间段,对左眼图像和右眼图像进行第一渲染处理;在第二时间段,对第一渲染处理得到的左眼图像进行第二渲染处理;在第三时间段,对第一渲染处理得到的右眼图像进行第二渲染处理;在第四时间段,对完成第二渲染处理后的左眼图像进行异步时间扭曲;在第五时间段,对完成第二渲染处理后的右眼图像进行异步时间扭曲。本申请实施例通过对左眼图像和右眼图像进行第一渲染处理,并在一定时间启动左眼图像异步时间扭曲和右眼图像的异步时间扭曲,可以降低渲染过程中的时间延迟,从而降低用户的眩晕感。
进一步地,通过对左眼图像和右眼图像进行第一渲染处理,可以加快右眼图像的渲染时间,从而可以延迟启动左眼图像的异步时间扭曲,如此,可以避免渲染浪费,让更多实时帧进入显示器,降低用户的眩晕感。
如图1所示,图1为本申请实施例方案涉及的硬件运行环境的终端设备结构示意图。
如图1所示,该终端设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端设备结构并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括图像处理程序。
在图1所示的终端设备中,网络接口1004主要用于与后台服务器进行数据通信;用户接口1003主要用于与客户端(用户端)进行数据通信;处理器1001可以用于调用存储器1005中图像处理程序,并执行以下操作:
在第一时间段,对左眼图像和右眼图像进行第一渲染处理;
在第二时间段,对所述第一渲染处理得到的左眼图像进行第二渲染处理;
在第三时间段,对所述第一渲染处理得到的右眼图像进行第二渲染处理;
在第四时间段,对完成所述第二渲染处理后的左眼图像进行异步时间扭曲;
在第五时间段,对完成所述第二渲染处理后的右眼图像进行异步时间扭曲;其中,第一时间段、第二时间段以及第三时间段组成第一渲染周期、至少部分第四时间段与至少部分第三时间段重叠。
参考图2,图2为本申请图像处理方法第一实施例的流程示意图。
本申请实施例提供了一种图像处理方法,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例的图像处理方法运行于终端设备侧,包括以下步骤:
步骤S10,在第一时间段,对左眼图像和右眼图像进行第一渲染处理;
需要说明的是,在理想情况下,渲染引擎发送内容显示给用户之前,使用的是预先测量的实时头部姿势信息(如方向信息和位置信息)。但是,在现实情况下,由于渲染过程需要时间,就会造成实际和感知之间的时间延迟,此时,用户所看到的画面就会发生抖动,也即设备无法同步渲染出与头部动作相应的画面,而当画面产生抖动时,人自然而然就会有眩晕感产生。
基于上述问题,可以使用时间扭曲来调整(如旋转或调整)图像或帧,以校正图像被渲染之后(或同时)发生的头部运动,从而减少感知的延迟。当用户头部位置改变时,可以应用时间扭曲来变换所显示的图像以与新视角一致。其中,时间扭曲是指通过采集大量陀螺仪数据,在样本足够多的情况下,可以预测出16.66ms后用户头部应有的旋转和位置,然后按照预测的数据来渲染,时间扭曲包括同步时间扭曲和异步时间扭曲,本申请采用的异步时间扭曲,异步时间扭曲是指在另一个线程上与渲染线程并行(即,异步)进行。例如,ATW(异步时间扭曲)线程可以从渲染线程完成的最新帧中生成新的时间扭曲帧。ATW的一个优点是渲染线程不会因时间扭曲中涉及的计算而延迟,而且可以利用底层软件和/或硬件平台的多处理能力。
参考图5,通常,VR头戴设备在渲染左眼图像和右眼图像时,在前T/2(T是指渲染周期)渲染左眼图像,然后对左眼图像进行异步时间扭曲,同时进行右眼图像渲染,也即,左眼图像的异步时间扭曲和右眼图像的渲染并行,以提高数据处理速度。而当前做法是固定在T/2对左眼图像进行异步时间扭曲,如果T/2时没有做完渲染就用上一帧来代替进行异步时间扭曲处理,如图中①②所示。但是,如果左眼图像渲染时间超过T/2,则会被废弃,那么超过T/2渲染的左眼图像内容就被浪费了。基于此问题,可以通过多视图渲染功能(MultiViewRendering)对左右眼图像进行渲染,多视图渲染功能可以减少VR应用程序中的复制对象绘制调用的次数,从而允许GPU在一次绘制调用中将对象广播至左眼和右眼,这有助于减少CPU负载,从而减少丢帧数和优化渲染延迟。
由于在进行左右眼图像渲染时,需要进行数据加载、贴图、采样以及顶点处理等操作,其中,左右眼图像的渲染操作大部分是相同的,两次渲染唯一的区别是应用到顶点时要进行转换。因此,为避免左右眼图像重复进行数据加载、贴图等共性处理,在渲染左眼图像时,从第一图像缓冲区(例如CPU缓冲区)中获取图像数据,依据预设条件从图像数据获取左眼图像和右眼图像,然后对左眼图像和右眼图像进行第一渲染处理,第一渲染处理是指对左眼图像和右眼图像同时执行共性处理,该共性处理包括数据加载、贴图、采样等渲染操作。其中,左眼图像和右眼图像为同一幅图像,但是由于存在角度差异,左右眼看到的图像内容并不是完成相同的。在一实施例中,在启用多视图渲染功能的情况下,通过OpenGL(Open Graphics Library,开放图形库)程序创建一个结构数组,该结构数组由两个分别代表左眼图像和右眼图像的元素组成,将结构数组绑定至一个帧缓冲区对象(Frame BufferObject,FBO),同时,将左眼纹理缓冲区和右眼纹理缓冲区加载至该帧缓冲区对象FBO。如此,在渲染左眼图像时,从帧缓冲区对象FBO中将图像帧同时加载至左眼纹理缓冲区(GPU缓冲区)和右眼纹理缓冲区(GPU缓冲区),然后,根据图像帧在左眼纹理缓冲区中获取左眼图像,以及根据图像帧在右眼纹理缓冲区中获取右眼图像,对获取到的左眼图像和右眼图像进行第一渲染处理。其中,由于将结构数组绑定至一个帧缓冲区对象,因此图像驱动程序只需提供一个GPU命令缓冲区(Command Buffer),使左右眼共享该命令缓冲区,并在每次进行渲染时重新启用该命令缓冲区。
本实施例中,由于在进行左眼图像渲染时,执行了左右眼图像的共性处理,如此,在渲染右眼图像时,右眼无需执行数据加载、贴图、采样等渲染操作,从而加快了右眼图像的渲染时间。
步骤S20,在第二时间段,对所述第一渲染处理得到的左眼图像进行第二渲染处理;
在完成左眼图像的第一渲染处理后,需要在第二时间段对第一渲染处理得到的左眼图像进行第二渲染处理,其中,该第二渲染处理是指对左眼图像进行位姿预测和补偿。在一实施例中,根据预先设置的两个虚拟摄像机的属性分别产生与左眼和右眼对应的两个图像转换矩阵,其中,虚拟摄像机的属性可以包括虚拟摄像机的位置、虚拟摄像机的朝向以及两个虚拟摄像机之间的夹角等;确定经过第一渲染处理得到的左眼图像对应的图像转换矩阵,采用左眼的图像转换矩阵对左眼图像进行投影转换,以将左眼图像投影到投影窗口中,即采用左眼的图像转换矩阵对左眼图像进行图像绘制,并将绘制得到的左眼图像渲染至第二图像缓冲区(GPU缓冲区),如此,实现了三维坐标至二维坐标的变换。
步骤S30,在第三时间段,对所述第一渲染处理得到的右眼图像进行第二渲染处理;
在完成右眼图像的第一渲染处理后,需要在第三时间段,对第一渲染处理得到的右眼图像进行第二渲染处理,其中,该第二渲染处理是指对右眼图像进行位姿预测和补偿。在一实施例中,根据预先设置的两个虚拟摄像机的属性分别产生与左眼和右眼对应的两个图像转换矩阵,其中,虚拟摄像机的属性可以包括虚拟摄像机的位置、虚拟摄像机的朝向以及两个虚拟摄像机之间的夹角等;确定经过第一渲染处理得到的右眼图像对应的图像转换矩阵,采用右眼的图像转换矩阵对右眼图像进行投影转换,以将右眼图像投影到投影窗口中,即采用右眼的图像转换矩阵对右眼图像进行图像绘制,并将绘制得到的右眼图像渲染至第三图像缓冲区(GPU缓冲区),如此,实现了三维坐标至二维坐标的变换。
步骤S40,在第四时间段,对完成所述第二渲染处理后的左眼图像进行异步时间扭曲;
在完成左眼图像的第二渲染处理后,在第四时间段,对完成第二渲染处理后的左眼图像进行异步时间扭曲。在一实施例中,在当前渲染周期的时长达到预设时长时,对完成第二渲染处理后的左眼图像进行异步时间扭曲,其中,预设时长大于半个渲染周期。例如,参考图6,预设时长为3T/4,在当前渲染周期的时长达到3T/4时,对完成第二渲染处理后的左眼图像进行异步时间扭曲。其中,预设时长可根据渲染程序运行的需求设置,在此不做限定。需要说明的是,目前是在T/2对左眼图像进行异步时间扭曲,但如果左眼图像在T/2未完成渲染,那么T/2之后渲染的左眼图像就浪费了。而本申请由于右眼图像的渲染时间变短了,因此,可以延长对左眼图像进行异步时间扭曲的时间,以保证左眼图像完成渲染后进行异步时间扭曲,避免渲染浪费,降低眩晕感。
在完成左眼图像的异步时间扭曲后,将扭曲后的左眼图像渲染至图像缓冲区,如单缓冲区(CPU缓冲区),通过图像缓冲区将左眼图像经过MIPI总线推送至显示器进行显示。
步骤S50,在第五时间段,对完成所述第二渲染处理后的右眼图像进行异步时间扭曲;其中,第一时间段、第二时间段以及第三时间段组成第一渲染周期、至少部分第四时间段与至少部分第三时间段重叠。
在完成右眼图像第二渲染处理后,在第五时间段,对右眼图像进行异步时间扭曲,将扭曲后的右眼图像渲染至图像缓冲区,如单缓冲区(CPU缓冲区),通过图像缓冲区将右眼图像经过MIPI总线推送至显示器进行显示。其中,左右眼图像的渲染过程均是在渲染线程执行的,而左右眼图像的ATW过程均是在ATW线程执行的。
需要说明的是,扭曲后的左眼图像渲染至的图像缓冲区和扭曲后的右眼图像渲染至的图像缓冲区可以是不同的图像缓冲区域。
其中,第一时间段与第二时间段均为左眼图像渲染时间段,左眼图像在第一时间段完成了部分图像的渲染,而在第二时间段后完成了所有图像的渲染,左眼图像的渲染时间为第一时间段与第二时间段的时间和值。第三时间段为右眼图像的渲染时间,因此,第一时间段、第二时间段以及第三时间段共同组成第一渲染周期。由于在进行左眼图像渲染时,将左右眼图像的共性渲染操作完成了,如此,缩短了右眼图像的渲染时间,同时可以延迟启动左眼图像的异步时间扭曲。由于延迟启动左眼图像的异步时间扭曲,使得左眼图像的渲染时间变长,因此,第一时间段与第二时间段的时间和值大于第一渲染周期的一半。此外,由于在进行左眼图像的异步时间扭曲时,也进行右眼图像的渲染,因此,至少部分第四时间段与至少部分第三时间段重叠。
上述第五时间段可以位于第一渲染周期之后的第二渲染周期。
本实施例通过采用多视图渲染功能对左右眼图像进行渲染,从而加快右眼图像的渲染时间,如此,可以延迟进行左眼图像的异步时间扭曲,以保证左眼图像完成渲染后进行异步时间扭曲,避免渲染浪费,降低眩晕感。
进一步地,参考图3,提出本申请图像处理方法第二实施例。
所述图像处理方法第二实施例与所述图像处理方法第一实施例的区别在于,所述对完成所述第二渲染处理后的左眼图像进行异步时间扭曲,以输出显示异步时间扭曲后的左眼图像的步骤包括:
步骤S41,获取用户的第一头部姿势信息;
步骤S42,根据所述第一头部姿势信息对完成所述第二渲染处理后的左眼图像进行异步时间扭曲。
在对完成第二渲染处理后的左眼图像进行异步时间扭曲时,获取用户的第一头部姿势信息,该第一头部姿态信息可以包括指示(或识别)头部姿态的信息,并且可以包括指示用户的头部或者头戴式VR设备的位置信息以及指示用户的头部或头戴式设备的方向信息中的至少一个。例如,可从跟踪用户佩戴的VR设备的姿态的跟踪设备中获取用户的第一头部姿态信息,如包括用户头部或用户佩戴的VR设备的位置信息和/或方向信息,其中,跟踪设备可以是头戴式VR设备的一部分,如IMU、加速度计、相机或其他跟踪设备,用于跟踪头戴式VR设备或用户头部的姿态。然后,根据获取到的用户的第一头部姿势信息预测用户头部的旋转方向或位置,按照预测的旋转方向或位置对完成第二渲染处理后的左眼图像进行异步时间扭曲,并将扭曲后的左眼图像渲染至图像缓冲存区,如单缓冲区(Singlebuffer),通过图像缓冲区将扭曲后的左眼图像发送至显示器显示。例如,获取头部6dof四元组数据,通过头部6dof四元组数据计算预测旋转矩阵,采用预测矩阵对完成第二渲染处理后的左眼图像进行处理得到扭曲(旋转或调整)后的左眼图像,再将扭曲后的左眼图像渲染到图像缓冲区,图像缓冲区通过硬件推送左眼图像至显示器显示。
本实施例通过对左眼图像进行时间扭曲(如旋转或调整)以校正在左眼图像被渲染之后(或同时)发生的头部运动,可以减少感知的延迟,从而降低了用户的眩晕感。
进一步地,参考图4,提出本申请图像处理方法第三实施例。
所述图像处理方法的第三实施例与第二实施例的区别在于,所述对完成所述第二渲染处理后的右眼图像进行异步时间扭曲,以输出显示异步时间扭曲后的右眼图像的步骤包括:
步骤S51,获取用户的第二头部姿势信息;
步骤S52,根据所述第二头部姿势信息对完成所述第二渲染处理后的右眼图像进行异步时间扭曲。
在对完成第二渲染处理后的右眼图像进行异步时间扭曲时,获取用户的第二头部姿势信息,该第二头部姿态信息可以包括指示(或识别)头部姿态的信息,并且可以包括指示用户的头部或者头戴式VR设备的位置信息以及指示用户的头部或头戴式设备的方向信息中的至少一个。例如,可从跟踪用户佩戴的VR设备的姿态的跟踪设备中获取用户的第二头部姿态信息,如包括用户头部或用户佩戴的VR设备的位置信息和/或方向信息,其中,跟踪设备可以是头戴式VR设备的一部分,如IMU、加速度计、相机或其他跟踪设备,用于跟踪头戴式VR设备或用户头部的姿态。然后,根据获取到的用户的第二头部姿势信息预测用户头部的旋转方向或位置,按照预测的旋转方向或位置对完成第二渲染处理后的左眼图像进行异步时间扭曲,并将扭曲后的右眼图像渲染至图像缓冲存区,如单缓冲区(Singlebuffer),通过图像缓冲区将扭曲后的右眼图像发送至显示器显示。例如,获取头部6dof四元组数据,通过头部6dof四元组数据计算预测旋转矩阵,采用预测矩阵对完成第二渲染处理后的右眼图像进行处理得到扭曲(旋转或调整)后的右眼图像,再将扭曲后的右眼图像渲染到图像缓冲区,图像缓冲区通过硬件推送右眼图像至显示器显示。
本实施例通过对右眼图像进行时间扭曲(如旋转或调整)以校正在右眼图像被渲染之后(或同时)发生的头部运动,可以减少感知的延迟,从而降低了用户的眩晕感。
此外,本申请还提供一种图像处理装置,所述装置包括存储器、处理器及存储在存储器上并在所述处理器上运行图像处理程序,所述装置通过在第一时间段,对左眼图像和右眼图像进行第一渲染处理;在第二时间段,对第一渲染处理得到的左眼图像进行第二渲染处理;在第三时间段,对第一渲染处理得到的右眼图像进行第二渲染处理;在第四时间段,对完成第二渲染处理后的左眼图像进行异步时间扭曲;在第五时间段,对完成第二渲染处理后的右眼图像进行异步时间扭曲。本申请实施例通过对左眼图像和右眼图像进行第一渲染处理,并在一定时间启动左眼图像异步时间扭曲和右眼图像的异步时间扭曲,可以降低渲染过程中的时间延迟,从而降低用户的眩晕感。
进一步地,通过对左眼图像和右眼图像进行第一渲染处理,使得可以加快右眼图像的渲染时间,从而可以延迟启动左眼图像的异步时间扭曲,如此,可以避免渲染浪费,让更多实时帧进入显示器,降低用户的眩晕感。
需要说明是的,上述图像处理装置可以是某硬件模块(例如专用处理器、及集成式处理器)、软件功能模块或者整机设备(例如VR设备、AR设备、MR设备)等。
此外,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有图像处理方法程序,所述图像处理方法程序被处理器执行时实现如上所述图像处理方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本申请可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第二等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本申请的可选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括可选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (13)
1.一种图像处理方法,其特征在于,所述方法包括:
在第一时间段,对左眼图像和右眼图像进行第一渲染处理,所述第一渲染处理用于对所述左眼图像和所述右眼图像同时执行共性处理,以减少对所述右眼图像进行渲染处理时所需的时间;
在第二时间段,对所述第一渲染处理得到的左眼图像进行第二渲染处理,所述第二渲染处理是指对图像进行位姿预测和补偿;
在第三时间段,对所述第一渲染处理得到的右眼图像进行第二渲染处理;
在第四时间段,对完成所述第二渲染处理后的左眼图像进行异步时间扭曲,其中,在第三时间段对所述第一渲染处理得到的右眼图像进行第二渲染处理的过程中,在当前渲染周期的时长达到预设时长时,执行对完成所述第二渲染处理后的左眼图像进行异步时间扭曲的步骤,以延长对所述第一渲染处理得到的左眼图像进行第二渲染处理的时间以及延迟启动对完成所述第二渲染处理后的左眼图像进行异步时间扭曲的步骤,所述预设时长大于半个渲染周期;
在第五时间段,对完成所述第二渲染处理后的右眼图像进行异步时间扭曲;
其中,第一时间段、第二时间段以及第三时间段组成第一渲染周期;
至少部分第四时间段与至少部分第三时间段重叠,以在进行左眼图像的异步时间扭曲时,同时对所述第一渲染处理得到的右眼图像进行第二渲染处理。
2.如权利要求1所述的图像处理方法,其特征在于,所述第一时间段与所述第二时间段的时间和值大于所述第一渲染周期的一半。
3.如权利要求1所述的图像处理方法,其特征在于,所述对完成所述第二渲染处理后的左眼图像进行异步时间扭曲的步骤包括:
获取用户的第一头部姿势信息;
根据所述第一头部姿势信息对完成所述第二渲染处理后的左眼图像进行异步时间扭曲。
4.如权利要求1所述的图像处理方法,其特征在于,所述对左眼图像和右眼图像进行第一渲染处理的步骤包括:
从第一图像缓冲区获取图像数据;
依据预设条件从所述图像数据获取所述左眼图像和所述右眼图像;
对所述左眼图像和所述右眼图像进行第一渲染处理。
5.如权利要求1所述的图像处理方法,其特征在于,所述对完成所述第二渲染处理后的右眼图像进行异步时间扭曲的步骤包括:
获取用户的第二头部姿势信息;
根据所述第二头部姿势信息对完成所述第二渲染处理后的右眼图像进行异步时间扭曲。
6.如权利要求1所述的图像处理方法,其特征在于,所述对所述第一渲染处理得到的左眼图像进行第二渲染处理的步骤包括:
获取所述第一渲染处理得到的所述左眼图像对应的第一预设位姿信息;
根据所述第一预设位姿信息对所述第一渲染处理得到的左眼图像进行第二渲染处理。
7.如权利要求1所述的图像处理方法,其特征在于,所述对所述第一渲染处理得到的右眼图像进行第二渲染处理的步骤包括:
获取所述第一渲染处理得到的所述右眼图像对应的第二预设位姿信息;
根据所述第二预设位姿信息对所述第一渲染处理得到的右眼图像进行第二渲染处理。
8.如权利要求1至7任一项所述的图像处理方法,其特征在于,所述对完成所述第二渲染处理后的左眼图像进行异步时间扭曲之前,所述方法还包括:
将对完成所述第二渲染处理后的左眼图像渲染至第二图像缓冲区。
9.如权利要求1至7任一项所述的图像处理方法,其特征在于,所述对完成所述第二渲染处理后的右眼图像进行异步时间扭曲之前,所述方法还包括:
将对完成所述第二渲染处理后的右眼图像渲染至第三图像缓冲区。
10.如权利要求1所述的图像处理方法,其特征在于,所述方法还包括:
分别将经过异步时间扭曲的左眼图像和经过异步时间扭曲的右眼图像发送至显示部件显示。
11.如权利要求1所述的图像处理方法,其特征在于,头部姿态信息包括以下中的至少一个:
指示用户的头部或用户佩戴的VR设备的位置信息;
指示用户的头部或用户佩戴的VR设备的方向信息。
12.一种图像处理装置,其特征在于,所述装置包括存储器、处理器及存储在存储器上并在所述处理器上运行图像处理程序,所述处理器执行所述图像处理程序时实现如权利要求1至11中任一项所述的方法的步骤。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有图像处理程序,所述图像处理程序被处理器执行时实现如权利要求1至11中任一项所述的方法的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110833918.4A CN113596569B (zh) | 2021-07-22 | 2021-07-22 | 图像处理方法、装置和计算机可读存储介质 |
PCT/CN2021/129157 WO2023000547A1 (zh) | 2021-07-22 | 2021-11-06 | 图像处理方法、装置和计算机可读存储介质 |
US18/474,285 US20240020913A1 (en) | 2021-07-22 | 2023-09-26 | Image processing method, image processing device and computer readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110833918.4A CN113596569B (zh) | 2021-07-22 | 2021-07-22 | 图像处理方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113596569A CN113596569A (zh) | 2021-11-02 |
CN113596569B true CN113596569B (zh) | 2023-03-24 |
Family
ID=78249405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110833918.4A Active CN113596569B (zh) | 2021-07-22 | 2021-07-22 | 图像处理方法、装置和计算机可读存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240020913A1 (zh) |
CN (1) | CN113596569B (zh) |
WO (1) | WO2023000547A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113596569B (zh) * | 2021-07-22 | 2023-03-24 | 歌尔科技有限公司 | 图像处理方法、装置和计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109863538A (zh) * | 2016-08-26 | 2019-06-07 | 奇跃公司 | 用于虚拟及增强现实显示的连续时间扭曲及双目时间扭曲系统和方法 |
CN109920040A (zh) * | 2019-03-01 | 2019-06-21 | 京东方科技集团股份有限公司 | 显示场景处理方法和装置、存储介质 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017147178A1 (en) * | 2016-02-22 | 2017-08-31 | Google Inc. | Separate time-warping for a scene and an object for display of virtual reality content |
CN105892683A (zh) * | 2016-04-29 | 2016-08-24 | 上海乐相科技有限公司 | 一种显示方法及目标设备 |
CN106658170A (zh) * | 2016-12-20 | 2017-05-10 | 福州瑞芯微电子股份有限公司 | 一种降低虚拟现实延迟的方法和装置 |
CN106683034A (zh) * | 2016-12-29 | 2017-05-17 | 上海拆名晃信息科技有限公司 | 一种用于虚拟现实的异步时间卷曲计算方法 |
CN106971368A (zh) * | 2017-01-18 | 2017-07-21 | 上海拆名晃信息科技有限公司 | 一种用于虚拟现实的同步时间卷曲计算方法 |
CN108921951B (zh) * | 2018-07-02 | 2023-06-20 | 京东方科技集团股份有限公司 | 虚拟现实图像显示方法及其装置、虚拟现实设备 |
WO2020026419A1 (ja) * | 2018-08-02 | 2020-02-06 | 株式会社ソニー・インタラクティブエンタテインメント | 画像生成装置および画像生成方法 |
CN109242944B (zh) * | 2018-09-28 | 2023-08-11 | 京东方科技集团股份有限公司 | 一种显示方法和装置 |
CN109819232B (zh) * | 2019-02-19 | 2021-03-26 | 京东方科技集团股份有限公司 | 一种图像处理方法及图像处理装置、显示装置 |
CN110488977B (zh) * | 2019-08-21 | 2021-10-08 | 京东方科技集团股份有限公司 | 虚拟现实显示方法、装置、系统及存储介质 |
CN111586391B (zh) * | 2020-05-07 | 2022-07-08 | 中国联合网络通信集团有限公司 | 一种图像处理方法、装置及系统 |
CN112230776A (zh) * | 2020-10-29 | 2021-01-15 | 北京京东方光电科技有限公司 | 虚拟现实显示方法、装置及存储介质 |
CN113596569B (zh) * | 2021-07-22 | 2023-03-24 | 歌尔科技有限公司 | 图像处理方法、装置和计算机可读存储介质 |
-
2021
- 2021-07-22 CN CN202110833918.4A patent/CN113596569B/zh active Active
- 2021-11-06 WO PCT/CN2021/129157 patent/WO2023000547A1/zh unknown
-
2023
- 2023-09-26 US US18/474,285 patent/US20240020913A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109863538A (zh) * | 2016-08-26 | 2019-06-07 | 奇跃公司 | 用于虚拟及增强现实显示的连续时间扭曲及双目时间扭曲系统和方法 |
CN109920040A (zh) * | 2019-03-01 | 2019-06-21 | 京东方科技集团股份有限公司 | 显示场景处理方法和装置、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2023000547A1 (zh) | 2023-01-26 |
CN113596569A (zh) | 2021-11-02 |
US20240020913A1 (en) | 2024-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110402425B (zh) | 具有彩色虚拟内容扭曲的混合现实系统及使用该系统生成虚拟内容的方法 | |
US11263767B2 (en) | Method for processing image in virtual reality display device and related virtual reality display device | |
CN112513712B (zh) | 具有虚拟内容翘曲的混合现实系统和使用该系统生成虚拟内容的方法 | |
US11270492B2 (en) | Graphics processing systems | |
US10997929B2 (en) | Display scene processing method and device and storage medium | |
US20190221029A1 (en) | Image processing apparatus, image processing method, and storage medium | |
CN109741463B (zh) | 虚拟现实场景的渲染方法、装置及设备 | |
US20230039100A1 (en) | Multi-layer reprojection techniques for augmented reality | |
US8884947B2 (en) | Image processing apparatus and image processing method | |
US11107280B1 (en) | Occlusion of virtual objects in augmented reality by physical objects | |
WO2022048097A1 (zh) | 一种基于多显卡的单帧画面实时渲染方法 | |
US20210063735A1 (en) | Method and device for controlling image display in a vr system, and vr head mounted device | |
CN110675489A (zh) | 一种图像处理方法、装置、电子设备和存储介质 | |
KR20160023866A (ko) | 입체 장면들의 인터리빙된 타일형 렌더링 | |
KR20210044506A (ko) | 증강 현실 객체를 표시하는 장치 및 그 동작 방법 | |
US11211034B2 (en) | Display rendering | |
US9652886B2 (en) | Rendering processing device and rendering processing method using interpolation rendering result | |
CN113596569B (zh) | 图像处理方法、装置和计算机可读存储介质 | |
US20230136022A1 (en) | Virtual reality display device and control method thereof | |
KR20220064711A (ko) | 사용자 오브젝트를 실시간으로 출력하는 방법 및 장치 | |
US11062492B2 (en) | Method of image production | |
CN116758140A (zh) | 图像显示方法、装置、存储介质和显示装置 | |
JPH10307934A (ja) | 擬似三次元動画像データ作成方法 |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20221116 Address after: 266104 No. 500, Songling Road, Laoshan District, Qingdao, Shandong Applicant after: GOERTEK TECHNOLOGY Co.,Ltd. Address before: 261031 workshop 1, phase III, Geer Photoelectric Industrial Park, 3999 Huixian Road, Yongchun community, Qingchi street, high tech Zone, Weifang City, Shandong Province Applicant before: GoerTek Optical Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |