一种基于gpu的集成成像微图像阵列快速生成方法

文档序号:6509991阅读:336来源:国知局
一种基于gpu的集成成像微图像阵列快速生成方法
【专利摘要】本发明提出一种基于GPU的集成成像微图像阵列快速生成方法,该方法包括Direct3D程序中建立虚拟相机阵列获取视差图像阵列和CUDA程序实现视差图像阵列快速转换为微图像阵列两个过程。基于计算机图形库Direct3D建立简化的虚拟相机阵列结构对虚拟场景进行渲染,提高生成微图像阵列所有信息的效率;基于CUDA并行计算架构的特性完成微图像阵列的快速生成,且几乎无需通过计算机系统总线在CPU与GPU中进行数据的传输,因此进一步提高了生成微图像阵列的效率。通过本发明的方法,其生成集成成像微图像阵列的速度比基于CPU的实现提升了数十倍,乃至数百倍,达到了实时动态集成成像3D显示的要求。
【专利说明】一种基于GPU的集成成像微图像阵列快速生成方法
【技术领域】
[0001]本发明涉及集成成像3D (三維)显示技术,更具体地说,本发明涉及一种基于GPU(图形处理器)的集成成像微图像阵列快速生成方法。
【背景技术】
[0002]集成成像是ー种重要的3D显示技术,观看者可在不佩戴助视眼镜时观看到立体图像。随着计算机技术的迅速发展,人们广泛地使用计算机模拟和处理各种光学过程,并衍生出计算机集成成像技木。该技术首先采用3D建模软件建立3D场景模型,然后用计算机程序建立相机阵列来模拟微透镜阵列的成像过程,从而获取集成成像的片源即微图像阵列。
[0003]多视点渲染计算机集成成像是ー种用一个相机模拟ー个透镜元来获取图像元的技术,如附图1所示。该技术通过OpenGL或Direct3D计算机图形库的3D渲染流水线来实现对3D场景的渲染以获取图像元,最終通过拼接所有的图像元得到微图像阵列。由于集成成像中透镜元的数量巨大,且对3D虚拟场景的渲染次数等于透镜元的数量,所以计算机渲染过程将耗费大量的时间,难以满足实时动态计算机集成成像的要求。
[0004]CUDA (统ー计算设备架构)是NVIDIA公司的并行计算架构。该架构通过充分利用GPU的高性能并行运算能力,可大幅提升特定算法的计算效率。CUDA提供了与Direct3D和OpenGL这两种计算机图形库进行互操作的API (应用程序接ロ),充分利用显卡自身的高性能并行运算能力对Direct3D或OpenGL中的顶点资源、纹理资源、表面资源等进行后期处理,提高了程序的运行效率。

【发明内容】

[0005]本发明提出一种基于GPU的集成成像微图像阵列快速生成方法,该方法包括Direct3D程序中建立虚拟相机阵列而获取视差图像阵列和CUDA程序实现视差图像阵列转换为微图像阵列两个过程。
[0006]所述Direct3D程序中建立虚拟相机阵列而获取视差图像阵列过程,由Direct3D程序的渲染流水线建立虚拟相机阵列对3D虚拟场景进行渲染,获取的视差图像阵列的图像个数远远小于微图像阵列所需图像元的个数,且无需对获取的视差图像进行二次图像处理,即可获取具有正、负视差的视差图像。
[0007]所述虚拟相机阵列,如附图2所示,采用会聚式立体相机结构,包含个相机,各相机在水平和垂直方向上等间距排列,相邻相机的间距为ガ,各相机中心位于同一平面上,且各相机有共同目标点队各相机均采用正交投影几何模型对3D虚拟场景进行渲染,渲染的视差图像分辨率均为XX V,确定各相机目标点O所在的參考平面与相机阵列所在平面的距离为ム确定所需微透镜阵列的參数,包含#z X#/个透镜元,透镜元焦距为/,透镜元节距为/7 ;所需微图像阵列也包含#z YJT个图像元,图像元分辨率为rXr。
[0008]优选地,为了满足虚拟相机阵列渲染的视差图像阵列在转换为微图像阵列时不丢失信息,相机阵列包含的相机个数#X#、视差图像的分辨率ZXZ以及相邻相机的间距j需满足下式:
【权利要求】
1.一种基于GPU的集成成像微图像阵列的快速生成方法,其特征在于,该方法包括Direct3D程序中建立虚拟相机阵列获取视差图像阵列和CUDA程序实现视差图像阵列转换为微图像阵列两个过程; 所述Direct3D程序中建立虚拟相机阵列而获取视差图像阵列过程,其特征在于,由Direct3D程序的渲染流水线建立虚拟相机阵列对3D虚拟场景进行渲染,获取的视差图像阵列的图像个数远远小于微图像阵列所需图像元的个数,且无需对获取的视差图像进行二次图像处理,即可获取具有正、负视差的视差图像;所述虚拟相机阵列,采用会聚式立体相机结构,包含#X#个相机,各相机在水平和垂直方向上等间距排列,相邻相机的间距为久各相机中心位于同一平面上,且各相机有共同目标点队各相机均采用正交投影几何模型对3D虚拟场景进行渲染,渲染的视差图像分辨率均为ZX7,确定各相机目标点O所在的参考平面与相机阵列所在平面的距离为Z ;确定所需微透镜阵列的参数,包含个透镜元,透镜元焦距为/,透镜元节距为/7 ;所需微图像阵列也包含iT YJT个图像元,图像元分辨率为rXr;相机阵列包含的相机个数IX#、视差图像的分辨率ZX7以及相邻相机的间距汐需满足, , , ,,Y., J}=—.M=x Nr -Y = Mt 1- N rf 所述CUDA程序实现视差图像阵列转换为微图像阵列过程,其特征在于,它是基于CUDA的并行计算架构来实现的;/(?,表示第?行第列视差图像上第?7行第列的像素,该像素映射到微图像阵列的第i行第J列的像素位置上,由P (i,力表示;像素映射过程的数学关系为广 do,其中
2.根据权利要求1所述的一种基于GPU的集成成像微图像阵列的快速生成方法,其特征在于,CUDA程序实现视差图像阵列转换为微图像阵列过程为三个步骤:第一,在CUDA程序中注册Direct3D程序中生成的含有视差图像信息的纹理资源和用于存储微图像阵列信息的目标纹理资源,并基于Direct3D与CUDA互操作API将Direct3D程序中的资源映射至CUDA内存地址空间;第二,在CUDA程序中实现并行运算的核函数,核函数的线程结构划分为a XA个线程块,每个线程块又由c Xi/个线程组成,其中C=Ceil CT /a), d=ceil(N/ /b), ceil为向上取整函数符号;依次将各视差图像的所有像素读入纹理存储器并进行线程分配,所有线程均并行地执行视差图像中一个像素至目标纹理资源中对应像素的映射过程,最终就能将视差图像阵列的所有像素映射至目标纹理资源上;第三,取消Direct3D程序中的资源至CUDA内存地址空间的映射,为下一次像素映射过程做准备。
【文档编号】G06T7/00GK103440660SQ201310394195
【公开日】2013年12月11日 申请日期:2013年9月3日 优先权日:2013年9月3日
【发明者】王琼华, 李述利, 邓欢, 熊召龙 申请人:四川大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1