一种视频三维融合时GPU加速的视频纹理更新方法

文档序号:26142830发布日期:2021-08-03 14:27阅读:来源:国知局

技术特征:

1.一种视频三维融合时gpu加速的视频纹理更新方法,包括以下步骤:

步骤1,构建视频流数据集,所述视频流数据集由n个视频构成;

步骤2,判断步骤1所述的视频流数据集中每个视频在三维gis场景中对应融合的视频纹理的可见性,进一步构建多个待融合的视频;

步骤3,将步骤2所述的m个带融合的视频分别通过循环调用解复用方法、gpu硬解码得到每个视频对应的单帧yuv格式视频影像;

步骤4,将步骤3所述的每个视频对应的单帧yuv格式视频影像分别通过基于cuda加速的yuv2rgb算法得到相应的单帧rgb格式视频影像,并对存在畸变的视频影像进行基于cuda加速的图像畸变校正预处理,得到每个视频预处理后视频影像;

步骤5,将步骤4所述的每个视频预处理后视频影像利用cuda和opengl互操作技术由gpu中cuda内存空间拷贝到opengl内存空间;

步骤6,将步骤5所述的每个视频预处理后视频影像存储为二维视频纹理数组imgs,进一步将二维视频纹理数组imgs利用投影纹理算法融合到三维gis场景。

2.根据权利要求1所述的视频三维融合时gpu加速的视频纹理更新方法,其特征在于,

步骤2具体如下:

计算三维gis场景中视频纹理中心点的世界坐标点对应的设备屏幕坐标点:

其中,表示三维gis场景中第i个视频纹理中心点的世界坐标点,ci(xc,yc,zc)表示oi对应的第i个设备屏幕坐标点,msv表示场景相机的投影视图变换矩阵,msp表示场景相机的透视投影变换矩阵,msw表示场景相机的视口变换矩阵,n表示三维gis场景中视频纹理中心点的数量;

计算设备屏幕坐标点相对用户观察窗口是否可见:

设h表示用户观察窗口的长度,设w表示用户观察窗口的宽度;

若xc>0且xc<w且yc>0且yc<h满足时,则设备屏幕坐标点相对用户观察窗口可见,即对应的三维gis场景中视频纹理中心点的世界坐标点在用户视域内,简记为ok

否则,设备屏幕坐标点ci相对用户观察窗口不可见,即对应的三维gis场景中视频纹理中心点的世界坐标点不在用户视域内;

计算用户视点对应世界坐标点p(xp,yp,zp)和之间欧氏距离d的公式如下,

其中,xp为用户视点对应世界坐标点p的x轴坐标分量,yp为用户视点对应世界坐标点p的y轴坐标分量,zp为用户视点对应世界坐标点p的z轴坐标分量,为第k个点ok的x轴坐标分量,为第k个点ok的y轴坐标分量,为第k个点ok的z轴坐标分量;

对距离dk按升序进行排序,取前m(m<26且m≤k)个点代表的视频作为带融合的视频。

3.根据权利要求1所述的视频三维融合时gpu加速的视频纹理更新方法,其特征在于,

步骤6具体如下:

计算世界坐标系中模型顶点坐标pw的公式如下,

pw=minvmmvpglv

其中,mmv为场景相机的模型视图变换矩阵,minv为三维gis场景相机视图变换矩阵的逆矩阵,pglv为模型坐标系中的模型顶点坐标;

计算世界坐标系中模型顶点法向量nv的公式如下,

nv=mat3(minvmmv)pgln

其中,mat3()表示去除齐次坐标后的变换矩阵,pgln为模型坐标系中的模型顶点法向量;

计算第i个虚拟投影相机裁剪坐标系中模型顶点坐标的公式如下,

其中,为第i个虚拟投影相机的投影视图变换矩阵,为第i个虚拟投影相机的透视投影变换矩阵,表示齐次坐标vi的w分量;

计算模型顶点是否在第i个虚拟投影相机视域范围内的公式如下,

其中,表示模型顶点在裁剪坐标系中坐标分量,值为1表示在第i个虚拟投影相机视域范围内,反之不在,模型顶点颜色值为三维gis场景模型顶点原本的颜色值cnt;

在第i个虚拟投影相机视域范围内,计算虚拟投影相机视线向量和模型顶点法向量之间向量点积dotpi的公式如下,

其中,normalize()为向量正则化函数,dot()为向量点积函数,为第i个虚拟投影相机的世界坐标,若条件dotpi>0满足时,则表示模型顶点面向第i个虚拟投影相机,反之模型顶点颜色值为三维gis场景模型顶点原本的颜色值cnt;

计算模型顶点在第i个虚拟投影相机中的归一化屏幕坐标ti的公式如下,

其中,mn为归一化矩阵;

当模型顶点面向第i个虚拟投影相机,计算在第i个虚拟投影相机内归一化屏幕坐标对应深度图上深度值hi的公式如下,

其中,texture()表示纹理采样函数,depths为存储虚拟投影相机对应场景深度图的二维纹理数组,l为第i个视频对应imgs和depths数组索引,表示归一化屏幕坐标ti的屏幕坐标分量,表示从二维纹理数组depths第l层深度图上根据屏幕坐标采样模型顶点深度值;

计算模型顶点深度值和深度图上对应深度值之间的大小关系来过滤被遮挡的朝向虚拟投影相机的模型顶点,若条件满足时,则表示模型顶点应该渲染视频纹理颜色,反之模型顶点颜色值为cnt;其中,δd为计算机保存深度图时的舍入误差和计算误差,为模型顶点的深度值;

计算上述模型顶点对应第i个视频纹理上颜色值的公式如下,

其中,texture()表示纹理采样函数,imgs为存储预处理后视频影像的二维纹理数组,表示从二维纹理数组imgs第l层视频纹理上根据屏幕坐标采样模型顶点颜色值。


技术总结
本发明提出了一种视频三维融合时GPU加速的视频纹理更新方法。本发明构建视频流数据集,判断其中每个视频在三维GIS场景中对应融合的视频纹理的可见性,并对可见的视频分别通过GPU硬解码和基于CUDA加速的YUV 2RGB算法得到每个视频对应的单帧RGB格式视频影像,同时利用CUDA加速校正存在畸变的视频影像,进而得到每个视频预处理后视频影像并由CUDA内存空间拷贝到OpenGL内存空间,最终每个视频预处理后视频影像存储为二维视频纹理数组后利用投影纹理算法融合到三维GIS场景。本发明极大的释放CPU的计算压力,保证三维GIS场景的渲染效率并大大提高了三维GIS场景能够同时融合的视频个数,便于用户从全局角度对整个监控区域进行观察。

技术研发人员:付仲良;李刚;何健
受保护的技术使用者:武汉大学
技术研发日:2021.04.25
技术公布日:2021.08.03
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1