CN115439593A - 图像处理方法、系统、装置及存储介质 - Google Patents
图像处理方法、系统、装置及存储介质 Download PDFInfo
- Publication number
- CN115439593A CN115439593A CN202211147660.3A CN202211147660A CN115439593A CN 115439593 A CN115439593 A CN 115439593A CN 202211147660 A CN202211147660 A CN 202211147660A CN 115439593 A CN115439593 A CN 115439593A
- Authority
- CN
- China
- Prior art keywords
- data
- rendering
- moment
- video frame
- frame image
- 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
Links
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
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
本公开实施例中提供图像处理方法、系统、装置及存储介质,在渲染设备与显示器之间部署异步时间扭曲引擎,通过异步时间扭曲引擎采集第一时刻的人体动作数据和第二时刻的人体动作数据,第一时刻相比于第二时刻为在先时刻,将第一时刻的人体动作数据发送给渲染设备,并从渲染设备接收利用视频帧图像的渲染数据,利用第二时刻的人体动作数据计算得到旋转系数,利用旋转系数对视频帧图像的渲染数据进行重投影,得到重投影图像,将重投影图像发送给显示器进行显示。本公开实施例由异步时间扭曲引擎执行具体的重投影进程,而渲染设备独立地执行渲染过程,避免渲染过程占用渲染设备的资源,其将实现“从行为到所见”的延迟显著降低,减少图像抖动的问题。
Description
技术领域
本公开涉及图像处理技术领域,尤其涉及图像处理方法、系统、装置及存储介质。
背景技术
虚拟现实(英语:virtual reality,缩写VR),简称为虚拟技术,也称虚拟环境,是利用电脑模拟产生一个三维空间的虚拟世界,提供用户关于视觉等感官的模拟,让用户感觉仿佛身历其境,可以即时、没有限制地观察三维空间内的事物。用户进行位置移动时,电脑可以立即进行复杂的运算,将精确的三维世界影像传回产生临场感。
其中,基于异步时间扭曲ATW(Asynchronous Timewarp)的异步重投影(Asynchronous reprojection)技术,是虚拟现实技术中的一个关键步骤。
其中,时间扭曲(Timewarp)是一种图像帧修正的技术,在使用虚拟现实眼睛设备时,由于头部运动过快,而造场景渲染的延迟,即头已经转过去了,但是图像还没有渲染出来,或者渲染的是上一帧的图像,时间扭曲它通过扭曲一副被送往显示器之前图像,来解决这个延迟问题。最基础的时间扭曲是基于方向的扭曲,这种只纠正了头部的转动变化姿势,这种扭曲对于2D图像是有优势的,它合并一副变形图像不需要花费太多系统资源。对于复杂的场景,它可以用较少的计算生成一个新的图像帧。
异步时间扭曲是指在一个线程(称为ATW线程)中进行处理,这个线程和渲染线程平行运行(异步),在每次同步之前,ATW线程根据渲染线程的最后一帧生成一个新的帧。
在虚拟现实设备中,为了正确在虚拟世界里呈现一个人们的感知,必须要在显示器上的定时更新图像,然而,如果渲染时间太长,一帧就会丢失了,产生的结果就是抖动,这是由于新的一帧图像还没有被渲染出来,显示器显示了上一帧的图像。抖动会导致人的视觉感知的运动距离和真实的运动距离之间存在偏差,用户观看一定时间后会造成眩晕、恶心。
因此,如何消除虚拟现实环境的图像抖动是业界普遍考虑的课题。
发明内容
鉴于以上相关技术的缺点,本公开的目的在于提供图像处理方法、系统、装置及存储介质,以解决相关技术中虚拟现实环境的图像抖动的技术问题。
本公开第一方面提供一种图像处理方法,其应用于部署在渲染设备与显示器之间的异步时间扭曲引擎,图像处理方法包括:
采集第一时刻的人体动作数据和第二时刻的人体动作数据,第一时刻先于第二时刻;
将第一时刻的人体动作数据发送给渲染设备,并从渲染设备接收利用视频帧图像的渲染数据,视频帧图像的渲染数据是使用第一时刻的人体动作数据对视频帧图像进行更新并渲染得到的;
利用第二时刻的人体动作数据计算得到旋转系数,利用旋转系数对视频帧图像的渲染数据进行重投影,得到重投影图像;
将重投影图像发送给显示器进行显示。
在一些实施例中,利用旋转系数对视频帧图像的渲染数据进行重投影,包括:
对视频帧图像的渲染数据依次进行行块提取,每个行块包括目标数量的行数据;
依次利用旋转系数对行数据进行重投影。
在一些实施例中,从渲染设备接收利用视频帧图像的渲染数据,包括:
通过硬件管路流入视频帧图像的渲染数据;
利用旋转系数对视频帧图像的渲染数据进行重投影,包括:
利用旋转系数对硬件管路内的视频帧图像的渲染数据进行重投影。
在一些实施例中,利用旋转系数对硬件管路内的视频帧图像的渲染数据进行重投影,包括:
对硬件管路内的视频帧图像的渲染数据进行行块提取及重投影,每块数据包括目标数量的行数据。
在一些实施例中,利用第二时刻的人体动作数据计算得到旋转系数,利用旋转系数对视频帧图像的渲染数据进行重投影,得到重投影图像,包括:
利用人体动作数据计算得到旋转系数并更新到寄存器;
从寄存器提取旋转系数,并利用旋转系数对视频帧图像的渲染数据进行重投影。
在一些实施例中,采集第一时刻的人体动作数据和第二时刻的人体动作数据,包括:
从惯性测量单元接收第一时刻及第二时刻的传感器数据;
对传感器数据进行过滤,获得第一时刻及第二时刻的6自由度的人体动作数据。
在一些实施例中,利用第二时刻的人体动作数据计算得到旋转系数,包括:
从第二时刻的人体动作数据得到6自由度数据,还从渲染数据得到3自由度数据,对6自由度数据与3自由度数据作差,得到旋转系数。
本公开第二发明提供一种图像处理系统,其包括:
渲染设备,利用第一时刻的人体动作数据对视频帧图像进行渲染,并将视频帧图像的渲染数据发送给异步时间扭曲引擎;
异步时间扭曲引擎,采集第一时刻的人体动作数据并发送给渲染设备,利用第二时刻的人体动作数据计算得到旋转系数,并利用旋转系数对视频帧图像的渲染然数据进行重投影,得到重投影图像并发送给显示器,第一时刻先于第二时刻;
显示器,利用重投影图像进行图像显示。
本发明第三方面还提供一种图像处理装置,其应用于部署在渲染设备与显示器之间的异步时间扭曲引擎,图像处理装置包括:
采集模块,采集第一时刻的人体动作数据和第二时刻的人体动作数据,第一时刻先于第二时刻;
接发模块,将第一时刻的人体动作数据发送给渲染设备,并从渲染设备接收利用视频帧图像的渲染数据,视频帧图像的渲染数据是使用第一时刻的人体动作数据对视频帧图像进行更新并渲染得到的;
重投影模块,利用第二时刻的人体动作数据计算得到旋转系数,利用旋转系数对视频帧图像的渲染数据进行重投影,得到重投影图像;
发送模块,将重投影图像发送给显示器进行显示。
本公开第四方面提供一种计算机装置,包括:通信器、存储器及处理器;通信器用于与外部通信;存储器存储有程序指令;处理器用于运行程序指令以执行如第一方面任一项的图像处理方法。
本公开第四方面提供一种计算机可读存储介质,存储有程序指令,程序指令被运行以执行如第一方面任一项的图像处理方法。
如上,本公开实施例中提供图像处理方法、系统、装置及存储介质,在渲染设备与显示器之间部署异步时间扭曲引擎,通过异步时间扭曲引擎采集第一时刻的人体动作数据和第二时刻的人体动作数据,第一时刻相比于第二时刻为在先时刻,将第一时刻的人体动作数据发送给渲染设备,并从渲染设备接收利用视频帧图像的渲染数据,视频帧图像的渲染数据是使用第一时刻的人体动作数据对视频帧图像进行更新并渲染得到的,利用第二时刻的人体动作数据计算得到旋转系数,利用旋转系数对视频帧图像的渲染数据进行重投影,得到重投影图像,将重投影图像发送给显示器进行显示。本公开实施例由异步时间扭曲引擎执行具体的重投影进程,而渲染设备独立地执行渲染过程,避免渲染过程占用渲染设备的资源。本实施例通过将渲染和重投影分散到不同设备,其将实现“从行为到所见”的延迟显著降低,减少图像抖动的问题,这同时成本也将更为低廉。
附图说明
图1展示本公开一个实施例的图像处理系统的架构图。
图2展示本公开另一个实施例的图像处理系统的架构图。
图3展示本公开再一个实施例的图像处理系统的架构图。
图4展示本公开又一个实施例的图像处理系统的架构图。
图5展示本公开一实施例的图像处理方法的流程图;
图6展示本公开一实施例的图像处理装置的模块示意图。
图7展示本公开一实施例中计算机装置的结构示意图。
具体实施方式
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本公开所揭露的消息轻易地了解本公开的其他优点与功效。本公开还可以通过另外不同的具体实施方式加以实施或应用系统,本公开中的各项细节也可以根据不同观点与应用系统,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
下面以附图为参考,针对本公开的实施例进行详细说明,以便本公开所属技术领域的技术人员能够容易地实施。本公开可以以多种不同形态体现,并不限定于此处说明的实施例。
在本公开的表示中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的表示意指结合该实施例或示例表示的具体特征、结构、材料或者特点包括于本公开的至少一个实施例或示例中。而且,表示的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本公开中表示的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于表示目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本公开的表示中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
为了明确说明本公开,省略与说明无关的器件,对于通篇说明书中相同或类似的构成要素,赋予了相同的参照符号。
在通篇说明书中,当说某器件与另一器件“连接”时,这不仅包括“直接连接”的情形,也包括在其中间把其它元件置于其间而“间接连接”的情形。另外,当说某种器件“包括”某种构成要素时,只要没有特别相反的记载,则并非将其它构成要素排除在外,而是意味着可以还包括其它构成要素。
虽然在一些实例中术语第一、第二等在本文中用来表示各种元件,但是这些元件不应当被这些术语限制。这些术语仅用来将一个元件与另一个元件进行区分。例如,第一接口及第二接口等表示。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在的特征、步骤、操执行、元件、模块、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操执行、元件、模块、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操执行的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
此处使用的专业术语只用于言及特定实施例,并非意在限定本公开。此处使用的单数形态,只要语句未明确表示出与之相反的意义,那么还包括复数形态。在说明书中使用的“包括”的意义是把特定特性、区域、整数、步骤、执行业、要素及/或成份具体化,并非排除其它特性、区域、整数、步骤、执行业、要素及/或成份的存在或附加。
表示“下”、“上”等相对空间的术语可以为了更容易地说明在附图中图示的一器件相对于另一器件的关系而使用。这种术语是指,不仅是在附图中所指的意义,还包括使用中的装置的其它意义或执行业。例如,如果翻转附图中的装置,曾说明为在其它器件“下”的某器件则说明为在其它器件“上”。因此,所谓“下”的示例性术语,全部包括上与下方。装置可以旋转90°或其它角度,代表相对空间的术语也据此来解释。
虽然未不同地定义,但包括此处使用的技术术语及科学术语,所有术语均具有与本公开所属技术领域的技术人员一般理解的意义相同的意义。普通使用的字典中定义的术语追加解释为具有与相关技术文献和当前提示的消息相符的意义,只要未进行定义,不得过度解释为理想的或非常公式性的意义。
对相关技术存在的技术问题进行分析发现,视频帧图像的渲染及异步重投影均有赖于GPU、GP等的算力。以30FPS(每秒渲染帧率)的视频源为例,对于每个原始帧需要整幅重投影插帧2次,且每帧渲染时间不得超过11ms,否则将耽搁下一个原始帧的渲染,以致产生抖动。对于VR视频源动辄以4K的分辨率起步,这无疑对GPU的性能提出了更高的要求,成本和功耗都将是个挑战。同时,这也导致了图像抖动。
本公开实施例提出,在渲染设备与显示器之间部署异步时间扭曲(ATW)引擎,其中渲染设备不参与重投影,而是只需要按正常自然帧率渲染视频帧图像,ATW引擎负责对视频帧图像的渲染数据进行重投影。通过将渲染和重投影分散到不同设备,其将实现“从行为到所见”的延迟显著降低,减少图像抖动的问题这同时成本也将更为低廉。
图1展示本公开实施例提供的图像处理系统的结构图,如图1所示,图像处理系统包括:渲染设备11、异步时间扭曲引擎12和显示器13。
其中,渲染设备11用于,利用第一时刻的人体动作数据对视频帧图像进行渲染,并将视频帧图像的渲染数据发送给异步时间扭曲引擎12;
异步时间扭曲引擎12用于,采集第一时刻的人体动作数据并发送给渲染设备11,并利用第二时刻的人体动作数据计算得到旋转系数,并利用旋转系数对视频帧图像的渲染然数据进行重投影,得到重投影图像,并将重投影图像发送给显示器13,其中第一时刻先于第二时刻;
显示器13用于,利用重投影图像进行图像显示。
在该实施例中,ATW引擎12部署在渲染设备11与显示器13之间,具体执行重投影,进而释放渲染设备11的性能。本实施例通过将渲染和重投影分散到不同设备,其将实现“从行为到所见”的延迟显著降低,减少图像抖动的问题这同时成本也将更为低廉。
如图2所示,在一种实施例中,渲染设备11是基于应用处理器(ApplicationProcessor)实现的,具体可以包括图形处理器GPU(graphics processing unit),GPU负责具体的渲染进程。
ATW引擎12包括6自由度DOF(Degree of Freedom)引擎121及重投影模块122,其中6DOF引擎121与惯性测量单元IMU(Inertial Measurement Unit)之间通信,6DOF引擎121从IMU接收传感数据,并对传感数据进行滤波,得到基于6DOF数据的人体动作数据。
其中,6DOF引擎在软件(SoftWare)层面实现,而重投影模块122在硬件(HardWare)层面实现。
其中,6自由度是指像素在三维空间中的运动自由度,其包括平移和旋转。其中,平移是在前后(X轴)、上下(Z轴)、左右(Y轴)三个互相垂直的坐标轴上平移。其中,旋转是是在三个垂直轴上的旋转方向,三种旋转方向称为俯仰(pitch)、偏摆(yaw)及翻滚(roll),例如其中roll是指绕X轴旋转,pitch是指绕Y轴前后旋转,yaw是指绕Z轴左右旋转。
如图3所示,基于图像处理系统的图像处理过程的数据流为:
6DOF引擎31从IMU接收前一时刻的传感器数据,并进行滤波得到6DOF数据,并将该时刻的6DOF数据传递给渲染引擎32,渲染引擎32将6DOF数据实时更新到最新的视频帧数据中并进行渲染;
渲染引擎32将渲染数据通过MIPI DSI Tx接口流入重投影硬件管路33,另一方面,渲染引擎32还将前一时刻的3DOF通过MIPI DSI Tx接口输入重投影控制模块34;
6DOF引擎31从IMU接收当前时刻的传感器数据,并进行滤波得到当前时刻的6DOF数据,并将当前时刻的6DOF数据传递给重投影控制模块34;
重投影控制模块34对前一时刻的3DOF数据与当前时刻的6DOF数据作差,得到旋转系数。其中,3DOF用来跟踪旋转但不跟踪平移,这样将前后两个时刻的6DOF与3DOF作差,计算得到旋转系数。
进而,重投影硬件管路33基于旋转系数对来自渲染引擎32的渲染数据进行反畸变和重投影,得到重投影图像,并将重投影图像通过MIPI DSI Tx发送给显示器35进行显示。
图4展示本公开实施例提出的基于虚拟现实设备的图像处理系统架构图,基于该图像处理系统执行详细的图像处理方法:
4.1,VR视频数据源从MIPI DSI RXs流入,流经传感器连接单元(SLU)后进入分割器(Split));
4.2,依据据输出屏幕的个数,分割器采用不同策略分割视频帧图像数据:
4.2.1,2个屏:分别从2路MIPI DSI RXs输入2路图像源,2个端到端的管路各自处理一路数据并最终传递到现实设备;
4.2.2,单竖屏模式:这时从MIPI DSI RX流入的时上下拼接的图像。它可以被单个通道进行处理,也可以先被上下分割成左右2路数据再分别进入2条通道被分别处理,重投影RPJ(全称:reprojection)模块对他们使用2个不同的LUT表和不同的旋转系数。
4.2.3,单横屏模式:这时左右拼接在一起的图像源[L R]从MIPI DSI RX流入。它可以被单个通道进行处理,也可以先被分割成左右2路数据再分别进入2条通道被分别处理,RPJ模块对他们使用2个不同的LUT表和不同的旋转系数。完成处理后,为了方便压缩和通过MIPI DSI TX传输给显示屏,它们还可以被再次拼接成横屏模式图片。
4.3,视频帧图像数据以line-buffer方式进入RPJ模块。后者通过AXI master将它们逐行写入外部存储DDR进行累积,当行数达到其足够用来做旋转时,再通过AXI master将其读入本地存储器。这时外部重投影控制模块应已将计算好的12个旋转系数写入了12个旋转寄存器,RPJ模块使用它们对当前的图像数据块做旋转动作。这个模式称为trunk模式。Trunk的行数最低可以仅为1行,最大一般要小于图像整体的行数,最好取为16的倍数。
4.4读写模块FIFO是RPJ模块和AXI master之间的缓冲存储单元;
4.5 AXI master为RPJ模块提供以AXI方式访问外部存储器的主控;
4.6拼接Stitch:
4.6.1双屏2路图像分别来自2路不同的RPJ模块。它们可能本就来自原始2路的输入,也可能是从一路横屏风格的图像分割开的。每一路的图像将继续向前流经VESA DSC和MIPI DSI TX通道。
4.6.2单竖屏2路图像分别来自2路不同的RPJ模块。它们可能本就来自原始2路的输入,也可能是从一路单竖屏风格的图像分割开来的。之后2路图像会被以竖屏风格上下重新拼接在一起,便于被压缩,并被传输到单路的MIPI DSI TX通道。
4.6.3单横屏2路图像分别来自2路不同的RPJ模块。它们可能本就来自原始2路的输入,也可能是从一路单横屏风格的图像分割开来的。之后2路图像会被左右重新拼接在一起,成为一幅横屏风格的图像,以便于被压缩,并被传输到单路的MIPI DSI TX通道。
4.7视频流压缩模块(VESA DSC)重投影后的图像在这里会被选择性的被压缩。
4.8格式转换模块(VSC)将内部CIIF格式总线信号转换成显示接口接收端可接受的总线信号
4.9 MIPI显示接口接收控制器(MIPI DSI TX controller)将视频流打包成DSI帧格式。
如图5所示,本公开实施例提供一种图像处理方法,本方法应用于部署在渲染设备与显示器之间的异步时间扭曲引擎。如图5所示,该图像处理方法包括如下步骤:
步骤510:采集第一时刻的人体动作数据和第二时刻的人体动作数据,第一时刻相比于第二时刻为在先时刻;
步骤520:将第一时刻的人体动作数据发送给渲染设备,并从渲染设备接收利用视频帧图像的渲染数据,视频帧图像的渲染数据是使用第一时刻的人体动作数据对视频帧图像进行更新并渲染得到的;
步骤530:利用第二时刻的人体动作数据计算得到旋转系数,利用旋转系数对视频帧图像的渲染数据进行重投影,得到重投影图像;
步骤540:将重投影图像发送给显示器进行显示。
图5所示图像处理方法可使用图1-图3所示图像处理系统实现,也可以使用其他系统架构来实现。
本公开实施例通过在渲染设备与显示器之间部署异步时间扭曲引擎,由异步时间扭曲引擎执行具体的重投影进程,而渲染设备独立地执行渲染过程,避免渲染过程占用渲染设备的资源。本实施例通过将渲染和重投影分散到不同设备,其将实现“从行为到所见”的延迟显著降低,减少图像抖动的问题,这同时成本也将更为低廉。
在本公开实施例中,人体动作数据是从IMU采集到的,IMU主要包括前者通常是加速计和陀螺仪,某些场景还包含磁力计,在此不作限定。
具体地,采集第一时刻的人体动作数据和第二时刻的人体动作数据,包括:
从惯性测量单元接收第一时刻及第二时刻的传感器数据;
对每个时刻的传感器数据进行过滤,获得第一时刻及第二时刻的6自由度的人体动作数据。
其中,第一时刻的人体动作数据被发送给渲染设备,由渲染设备根据人体动作数据对当前视频帧图像进行更新并渲染。
在本公开实施例中,第二时刻的人体动作数据是更新数据,此时渲染设备提供的视频帧图像的渲染数据相比于第二时刻的人体动作数据有延迟,因此采用第二时刻的人体动作数据对其进行更新渲染,以提升图像实时性。
在本公开实施例中,从渲染设备接收利用视频帧图像的渲染数据,包括:
通过硬件管路流入视频帧图像的渲染数据;
利用旋转系数对视频帧图像的渲染数据进行重投影,包括:
利用旋转系数对硬件管路内的视频帧图像的渲染数据进行重投影。
在本公开实施例中,利用旋转系数对视频帧图像的渲染数据进行重投影,包括:
对视频帧图像的渲染数据依次进行行块提取,每个行块包括目标数量的行数据;
依次利用旋转系数对行数据进行重投影。
本实施例提出以trunk模式的重投影策略,也就是,对视频帧图像的渲染数据进行分行块重投影,这有别于现有技术对整幅图像进行重投影。基于Trunk模式的重投影策略每次仅针对部分图像区域进行重投影,相比于现有技术,重投影速度更快,从而能够提升重投影效率。
在视频帧图像的渲染数据均重投影结束的情况下,再将重投影后的所有行块数据进行组装得到完整的视频帧图像,并将该完整的视频帧图像推送给显示器进行显示。
在本实施例中,每个行块的大小可根据需要进行限定,例如可根据视场角FOV(Field of View)进行选择,在此不作限定。
在本公开可选实施例中,通过硬件管路流入视频帧图像的渲染数据;
利用旋转系数对视频帧图像的渲染数据进行重投影,包括:
利用旋转系数对硬件管路内的视频帧图像的渲染数据进行重投影。
其中,可选地,利用旋转系数对硬件管路内的视频帧图像的渲染数据进行重投影,包括:
对硬件管路内的视频帧图像的渲染数据进行行块提取及重投影,每块数据包括目标数量的行数据。
在本公开实施例中,利用第二时刻的人体动作数据计算得到旋转系数,利用旋转系数对视频帧图像的渲染数据进行重投影,得到重投影图像,包括:
利用人体动作数据计算得到旋转系数并更新到寄存器;
从寄存器提取旋转系数,并利用旋转系数对视频帧图像的渲染数据进行重投影。
在本公开实施例中,利用第二时刻的人体动作数据计算得到旋转系数,包括:
从第二时刻的人体动作数据得到6自由度数据,还从渲染数据得到3自由度数据,对6自由度数据与3自由度数据作差,得到旋转系数。
6自由度数据与3自由度数据之差表征渲染数据相比于第二时刻的人体动作数据发生动作延迟,表征为旋转系数,具体为12个旋转系数。因此,旋转系数将动作延迟量化,以对渲染数据进行重投影,即对渲染的视频帧图像插入旋转系数,得到重投影图像。
如图6所示,展示本公开一实施例的图像策略装置的模块示意图。需说明的是,图像处理装置的原理可以参考之前实施例中的图像处理方法,故此处不对相同技术内容执行重复赘述。
图像处理装置600可以包括:
采集模块610,采集第一时刻的人体动作数据和第二时刻的人体动作数据,第一时刻与第二时刻相邻且第一时刻先于第二时刻;
接发模块620,将第一时刻的人体动作数据发送给渲染设备,并从渲染设备接收利用视频帧图像的渲染数据,视频帧图像的渲染数据是使用第一时刻的人体动作数据对视频帧图像进行更新并渲染得到的;
重投影模块530,利用第二时刻的人体动作数据计算得到旋转系数,利用旋转系数对视频帧图像的渲染数据进行重投影,得到重投影图像;
发送模块640,将重投影图像发送给显示器进行显示。
可选地,重投影模块630具体用于:
对视频帧图像的渲染数据依次进行行块提取,每个行块包括目标数量的行数据;
依次利用旋转系数对行数据进行重投影。
可选地,接发模块620具体用于:
通过硬件管路流入视频帧图像的渲染数据;
重投影模块630具体用于:
利用旋转系数对硬件管路内的视频帧图像的渲染数据进行重投影。
可选地,重投影模块630具体用于:
对硬件管路内的视频帧图像的渲染数据进行行块提取及重投影,每块数据包括目标数量的行数据。
可选地,重投影模块630具体用于:
利用人体动作数据计算得到旋转系数并更新到寄存器;
从寄存器提取旋转系数,并利用旋转系数对视频帧图像的渲染数据进行重投影。
可选地,采集模块610具体用于:
从惯性测量单元接收第一时刻及第二时刻的传感器数据;
对传感器数据进行过滤,获得第一时刻及第二时刻的6自由度的人体动作数据。
可选地,重投影模块630具体用于:
从第二时刻的人体动作数据得到6自由度数据,还从渲染数据得到3自由度数据,对6自由度数据与3自由度数据作差,得到旋转系数。
需特别说明的是,在图6实施例中的各个功能模块,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以程序指令产品的形式实现。程序指令产品包括一个或多个程序指令。在计算机上加载和执行程序指令指令时,全部或部分地产生按照本公开的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。程序指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
并且,图6实施例所揭露的装置,可通过其它的模块划分方式实现。以上所表示的装置实施例仅仅是示意性的,例如模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或模块可以结合或者可以动态到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接于可以是通过一些接口,装置或模块的间接耦合或通信连接于,可以是电性或其它的形式。
另外,图6实施例中的各功能模块及子模块可以动态在一个处理部件中,也可以是各个模块单独物理存在,也可以两个或两个以上模块动态在一个部件中。上述动态的部件既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述动态的部件如果以软件功能模块的形式实现并执行为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
本公开实施例中还可以提供一种计算机可读存储介质,存储有程序指令,程序指令被运行时执行之前图5实施例中的方法步骤。
上述实施例中的方法步骤被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此表示的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。
需特别说明的是,本公开上述实施例的流程图表示的流程或方法表示可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
例如,图5实施例中的各个步骤的顺序可能可以在具体场景中加以变化,并非以上述表示为限。
如7所示,展示本公开一实施例中计算机装置的结构示意图。
在一些实施例中,计算机装置用于装载实现图像处理方法的程序指令。计算机装置具体可实现为例如服务器、台式机、笔记本电脑、移动终端等,而可能被基于开发、测试等商业目的而存储和/或运行此程序指令的实施者所使用。
图7展示的计算机装置700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,计算机装置700以通用计算设备的形式表现。计算机装置700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730。
其中,存储单元存储有程序代码,程序代码可以被处理单元710执行,使得计算机装置用于实现本公开上述实施例(例如图5实施例)中描述方法步骤。
在一些实施例中,存储单元720可以包括易失性存储单元,例如随机存取存储单元(RAM)721和/或高速缓存存储单元722,还可以进一步包括只读存储单元(ROM)723。
在一些实施例中,存储单元720还可以包括具有一组(至少一个)程序模块725的程序/实用工具724,这样的程序模块725包括但不限于:操执行系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
在一些实施例中,总线730可以包括数据总线、地址总线和控制总线。
在一些实施例中,计算机装置700也可以与一个或多个外部设备70(例如键盘、指向设备、蓝牙设备等)通信,这种通信可以通过输入/输出(I/O)接口750进行。可选的,计算机装置700还包括显示单元740,其连接到输入/输出(I/O)接口750,用于进行显式。并且,计算机装置700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与计算机装置700的其它模块通信。应当明白,尽管图中未示出,可以结合计算机装置700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
综上,本公开实施例中提供图像处理方法、系统、装置及存储介质,在渲染设备与显示器之间部署异步时间扭曲引擎,通过异步时间扭曲引擎采集第一时刻的人体动作数据和第二时刻的人体动作数据,第一时刻相比于第二时刻为在先时刻,将第一时刻的人体动作数据发送给渲染设备,并从渲染设备接收利用视频帧图像的渲染数据,视频帧图像的渲染数据是使用第一时刻的人体动作数据对视频帧图像进行更新并渲染得到的,利用第二时刻的人体动作数据计算得到旋转系数,利用旋转系数对视频帧图像的渲染数据进行重投影,得到重投影图像,将重投影图像发送给显示器进行显示。本公开实施例由异步时间扭曲引擎执行具体的重投影进程,而渲染设备独立地执行渲染过程,避免渲染过程占用渲染设备的资源。本实施例通过将渲染和重投影分散到不同设备,其将实现“从行为到所见”的延迟显著降低,减少图像抖动的问题,这同时成本也将更为低廉。
上述实施例仅例示性说明本公开的原理及其功效,而非用于限制本公开。任何熟悉此技术的人士皆可在不违背本公开的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本公开所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本公开的权利要求所涵盖。
Claims (11)
1.一种图像处理方法,其特征在于,应用于部署在渲染设备与显示器之间的异步时间扭曲引擎,所述图像处理方法包括:
采集第一时刻的人体动作数据和第二时刻的人体动作数据,所述第一时刻先于第二时刻;
将所述第一时刻的人体动作数据发送给所述渲染设备,并从所述渲染设备接收利用视频帧图像的渲染数据,所述视频帧图像的渲染数据是使用所述第一时刻的人体动作数据对所述视频帧图像进行更新并渲染得到的;
利用所述第二时刻的人体动作数据计算得到旋转系数,利用所述旋转系数对所述视频帧图像的渲染数据进行重投影,得到重投影图像;
将所述重投影图像发送给所述显示器进行显示。
2.根据权利要求1所述的图像处理方法,其特征在于,所述利用所述旋转系数对所述视频帧图像的渲染数据进行重投影,包括:
对所述视频帧图像的渲染数据依次进行行块提取,每个行块包括目标数量的行数据;
依次利用所述旋转系数对所述行数据进行重投影。
3.根据权利要求1所述的图像处理方法,其特征在于,所述从所述渲染设备接收利用视频帧图像的渲染数据,包括:
通过硬件管路流入所述视频帧图像的渲染数据;
所述利用所述旋转系数对所述视频帧图像的渲染数据进行重投影,包括:
利用所述旋转系数对所述硬件管路内的视频帧图像的渲染数据进行重投影。
4.根据权利要求3所述的图像处理方法,其特征在于,利用所述旋转系数对所述硬件管路内的视频帧图像的渲染数据进行重投影,包括:
对所述硬件管路内的视频帧图像的渲染数据进行行块提取及重投影,每块数据包括目标数量的行数据。
5.根据权利要求1所述的图像处理方法,其特征在于,所述利用所述第二时刻的人体动作数据计算得到旋转系数,利用所述旋转系数对所述视频帧图像的渲染数据进行重投影,得到重投影图像,包括:
利用所述人体动作数据计算得到旋转系数并更新到寄存器;
从所述寄存器提取所述旋转系数,并利用所述旋转系数对所述视频帧图像的渲染数据进行重投影。
6.根据权利要求1所述的图像处理方法,其特征在于,所述采集第一时刻的人体动作数据和第二时刻的人体动作数据,包括:
从惯性测量单元接收所述第一时刻及第二时刻的传感器数据;
对所述传感器数据进行过滤,获得所述第一时刻及第二时刻的6自由度的人体动作数据。
7.根据权利要求1所述的图像处理方法,其特征在于,所述利用所述第二时刻的人体动作数据计算得到旋转系数,包括:
从所述第二时刻的人体动作数据得到6自由度数据,还从所述渲染数据得到3自由度数据,对所述6自由度数据与3自由度数据作差,得到所述旋转系数。
8.一种图像处理系统,其特征在于,包括:
渲染设备,利用第一时刻的人体动作数据对视频帧图像进行渲染,并将所述视频帧图像的渲染数据发送给异步时间扭曲引擎;
所述异步时间扭曲引擎,采集所述第一时刻的人体动作数据并发送给所述渲染设备,利用第二时刻的人体动作数据计算得到旋转系数,并利用所述旋转系数对所述视频帧图像的渲染然数据进行重投影,得到重投影图像并发送给显示器,所述第一时刻先于第二时刻;
所述显示器,利用所述重投影图像进行图像显示。
9.一种图像处理装置,其特征在于,应用于部署在渲染设备与显示器之间的异步时间扭曲引擎,所述图像处理装置包括:
采集模块,采集第一时刻的人体动作数据和第二时刻的人体动作数据,所述第一时刻先于第二时刻;
接发模块,将所述第一时刻的人体动作数据发送给所述渲染设备,并从所述渲染设备接收利用视频帧图像的渲染数据,所述视频帧图像的渲染数据是使用所述第一时刻的人体动作数据对所述视频帧图像进行更新并渲染得到的;
重投影模块,利用所述第二时刻的人体动作数据计算得到旋转系数,利用所述旋转系数对所述视频帧图像的渲染数据进行重投影,得到重投影图像;
发送模块,将所述重投影图像发送给所述显示器进行显示。
10.一种计算机装置,其特征在于,包括:通信器、存储器及处理器;所述通信器用于与外部通信;所述存储器存储有程序指令;所述处理器用于运行所述程序指令以执行如权利要求1至7中任一项所述的图像处理方法。
11.一种计算机可读存储介质,其特征在于,存储有程序指令,所述程序指令被运行以执行如权利要求1至7中任一项所述的图像处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211147660.3A CN115439593A (zh) | 2022-09-19 | 2022-09-19 | 图像处理方法、系统、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211147660.3A CN115439593A (zh) | 2022-09-19 | 2022-09-19 | 图像处理方法、系统、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115439593A true CN115439593A (zh) | 2022-12-06 |
Family
ID=84249228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211147660.3A Pending CN115439593A (zh) | 2022-09-19 | 2022-09-19 | 图像处理方法、系统、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115439593A (zh) |
-
2022
- 2022-09-19 CN CN202211147660.3A patent/CN115439593A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11087437B2 (en) | Temporal supersampling for foveated rendering systems | |
US9832451B2 (en) | Methods for reduced-bandwidth wireless 3D video transmission | |
US12020401B2 (en) | Data processing systems | |
AU2017314940B2 (en) | Continuous time warp and binocular time warp for virtual and augmented reality display systems and methods | |
EP3953796B1 (en) | Hybrid rendering | |
US10853918B2 (en) | Foveal adaptation of temporal anti-aliasing | |
US20190213975A1 (en) | Image processing system, image processing method, and computer program | |
EP3572916B1 (en) | Apparatus, system, and method for accelerating positional tracking of head-mounted displays | |
WO2008036231A2 (en) | Multiple parallel processor computer graphics system | |
CN107911737A (zh) | 媒体内容的展示方法、装置、计算设备及存储介质 | |
US20200005719A1 (en) | Data processing systems | |
US20200167119A1 (en) | Managing display data | |
US9652886B2 (en) | Rendering processing device and rendering processing method using interpolation rendering result | |
US20240202005A1 (en) | Encoding stereo splash screen in static image | |
US20050104882A1 (en) | Mixed reality presentation method and mixed reality presentation apparatus | |
US20220343583A1 (en) | Information processing apparatus, 3d data generation method, and program | |
CN115439593A (zh) | 图像处理方法、系统、装置及存储介质 | |
KR20210125403A (ko) | 손실 없는 데이터 감소를 통해 통신 부하를 감소하기 위한 방법, 장치 및 저장 매체 | |
JP2020106655A (ja) | 情報処理装置、情報処理方法及びプログラム | |
WO2023166794A1 (ja) | 情報処理装置、情報処理方法、画像生成装置、画像生成方法及びプログラム | |
JP6791991B2 (ja) | 画像配信装置 | |
CN115550685A (zh) | 视频帧处理方法、装置及存储介质 | |
CN118037557A (zh) | 一种图像数据的处理方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |