一种高效优化渲染及与位姿反畸变融合的实现方法与流程

文档序号:22397860发布日期:2020-09-29 18:08阅读:395来源:国知局
一种高效优化渲染及与位姿反畸变融合的实现方法与流程

本发明涉及嵌入式领域,尤其涉及一种高效优化渲染及与位姿反畸变融合的实现方法。



背景技术:

随着vr(虚拟现实)的兴起,怎样使得最常用的手持设备支持vr全景的生成和输出成为热门的研究问题。

常用的ivs(独立软件供应商)的解决方法大多是基于cpu的指令加速,例如:通过汇编的加速实现解码加速;但是对于全景的渲染,传统的基于指令加速方法基本不能实现,原因是涉及太多的矩阵运算,而基本指令加速是远远不够的;虽然也有基于硬件加速,但是基本都限于视频的解码;而对于全景,反畸变这类矩阵型运算较多的运用场景,传统的cpu是很低效的;随着vr的兴起,也有基于gpu来进行渲染,但是没有将gpu(图像处理单元)、cpu(通用计算处理单元)、vpu(视频处理单元)与vr相关的公共属性结合起来,难以实现硬件整体性能的优化和vr渲染。



技术实现要素:

鉴于以上所述现有技术的缺点,本发明的目的在于提供一种高效优化渲染及与位姿反畸变融合的实现方法,具有多种投影模式,利用vpu、cpu、gpu的性能,解决硬件整体性能的优化和高分辨率全景视频的vr渲染。

本发明提供一种高效优化渲染及与位姿反畸变融合的实现方法,所述方法包括以下步骤:

s1:利用cpu采集外部输入数据,所述外部输入数据包括四种,分别是全景或3d数据源、位姿信息、fov、投影模式;

s2:利用vpu进行硬件解码,并将解码的输出传输到gpu;

s3:利用gpu进行贴图渲染,所述贴图渲染包括投影建模、色度空间降转、fov初始化以及姿态融合;

s4:按照视频或图像的需求,进行循环迭代。

进一步的,所述全景或3d数据源为视频或图像,所述视频和图像是等经纬度展开的全景格式的,或者3d格式的;所述位姿信息为能够提供三维位姿信息设备的输出数据;fov为显示视场角。

进一步的,所述投影模式包括平面投影模式、球面投影模式、立方体投影模式。

进一步的,反畸变也是一种特殊的投影模式。

进一步的,所述贴图渲染包括以下步骤:

s3.1:基于投影模式进行投影建模;

s3.2:根据外部输入数据,对gpu进行初始化;

s3.3:通过定制顶点着色器进行拼接融合;

s3.4:通过定制片元着色器进行色度空间转换;

s3.5:基于位姿信息和fov进行姿态融合;

s3.6:利用gpu的流水线,进行实时渲染,利用乒乓buffer机制来对输出显示进行控制。

如上所述,本发明的一种高效优化渲染及与位姿反畸变融合的实现方法,具有以下有益效果:本发明充分利用手持设备的cpu、vpu、gpu等与vr相关的公共属性来对全景视频和图片进行渲染,结合全景视频和图像大分辨率、不同投影模式、位姿信息、fov等需求点,有效利用硬件加速来完成渲染需求,从而为通用的嵌入式系统高效完成全景渲染提供有效的技术保障,充分利用通用系统的硬件能力,极大降低了全景渲染对硬件的要求,大大推动了全景的应用落地,为所有的2k、4k、6k及将来更高分辨率的全景进行解码处理。

附图说明

图1显示为本发明实施例中公开的实现方法的整体流程图;

图2显示为本发明实施例中公开的cpu、gpu、vpu三者之间的关系图;

图3显示为本发明实施例中公开的拼接融合步骤流程图;

图4显示为本发明实施例中公开的色度空间降转步骤流程图;

图5显示为本发明实施例中公开的姿态融合步骤流程图。

具体实施方式

以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。

需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。

如图1和图2所示,本发明提供一种高效优化渲染及与位姿反畸变融合的实现方法,所述方法包括以下步骤:

s1:利用cpu采集外部输入数据,所述外部输入数据包括四种,分别是全景或3d数据源、位姿信息、fov(视场角)、投影模式;

其中,所述全景或3d数据源可以是视频或者图像,所述视频和图像是等经纬度展开的全景格式的,一般高宽比是2:1,如果是立体的,左右比是4:1,上下比是1:1;所述位姿信息是能够提供三维位姿信息设备的输出数据,比如:thetas/phi/gamma(三维空间沿着xyz方向的转角),一般是陀螺仪的输出数据,但是不限制于陀螺仪;fov一般是显示视场角,常用的有90°、110°、130°等;投影模式常用的是平面投影模式、球面投影模式、立方体投影模式等;

此外,反畸变也是一种特殊的投影模式;

s2:利用vpu进行硬件解码,并将解码的输出传输到gpu;

在传统的视频渲染中,视频解码是重中之重,对于全景渲染而言,视频解码不是最重要的,但也是重要的环节,利用vpu进行硬件解码得到纹理输入,同时将纹理输入传给gpu进行高性能运算;

所述纹理输入除了常见的视频解码数据外,水印或者logo的数据也是纹理输入;

s3:利用gpu进行贴图渲染,所述贴图渲染包括投影建模、色度空间降转、fov初始化以及姿态融合;

所述贴图渲染包括以下步骤:

s3.1:基于投影模式进行投影建模;

s3.2:根据外部输入数据,对gpu进行初始化;

s3.3:通过定制顶点着色器进行拼接融合,以球面投影为例,根据定制顶点着色器来计算球面xyz坐标,全景或3d数据源的uv(纹理)坐标、权重、顶点顺序坐标,并对全景或3d数据源进行拼接融合;如图3所示,每一行和每一列的单元数都是通过lut(查找表)从全景或3d数据源的原图上得到的,通过对行数和列数的配置,可以对渲染的质量和效率进行平衡;

其中,所述lut可以是自行标定后的输出数据,也可以是第三方工具如pt-gui生成的,是特征匹配后用来展开具体位置的查找表;

s3.4:通过定制片元着色器进行色度空间降换,如图4所示,根据定制片元着色器来配置yuv空间到rgb空间的变换矩阵,将每一帧的yuv数据,转换成适合lcd显示的rgb信息;

s3.5:基于位姿信息和fov进行姿态融合,如图5所示,首先根据fov的输入,得到基于fov的视图投影,然后基于位姿矩阵进行融合投影,最后根据初始化的放大属性,得到最终投影;

s3.6:利用gpu的流水线,进行实时渲染,利用乒乓buffer(存储缓存)机制来对输出显示进行控制。

s4:按照视频或者图像的需求,进行循环迭代;

对于反畸变、logo、水印可以看作是常用渲染的一种特殊形式,也是同样的逻辑,通过顶点着色器和片元着色器的定制,只是在常用渲染的同时,做反畸变处理,水印、logo做渲染输出。

综上所述,本发明充分利用硬件加速,提供一种具有多种投影模式,支持fov(视场角)、位姿信息等实时视频流水线渲染综合方法,利用vpu、cpu、gpu的性能,解决了高分辨率全景视频的vr渲染。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1