一种实时立体图像生成系统的制作方法

文档序号:9847175阅读:944来源:国知局
一种实时立体图像生成系统的制作方法
【技术领域】
[0001] 本发明属于图像处理技术领域,更具体地,涉及一种实时立体图像生成系统。
【背景技术】
[0002] 如今3D视频应用已出现在人们的生活中,在娱乐领域、军事领域、医疗领域等都能 见其身影。观看一般的立体视频时,人们需要佩戴红蓝眼镜或偏振光眼镜等辅助设备,从而 限制了立体视频显示技术的推广应用。所谓自由立体显示技术,是指观看者在不需要任何 辅助设备的条件下,直接观察显示器屏幕就能感知立体感的一种技术,即裸眼3D技术。自由 立体显示技术,不仅能使观看者获取立体感,而且也便于观看,其发展前景广,是当前的一 个研究热点。
[0003] 基于柱镜光栅的自由立体显示技术的原理是在显示器前方放置一块柱镜光栅,将 多幅具有视差的图像以交错排列的方式显示在显示器。当观看者站在某个观看位置,显示 器上图像像素点发出的光线经过柱镜光栅产生折射进入到人眼,这样人眼能观察到两幅不 同的图像。柱镜光栅因其立体效果好、光学性能好及成本低等优点,在自由立体显示领域应 用较多。
[0004] 自由立体显示系统主要包括视频信息的采集、编码、传输及显示这几个步骤。现有 的自由立体显示器在显示端需要多个视点的信息,这样观看者在观看范围内,左右眼能接 收到两幅具有视差的图像,经过大脑的融合处理从而感知到立体感。这些多视点信息的来 源是一个待解决的问题,如果利用多个相机进行图像的采集,这样信息量就会急剧增大,需 要设计较好的编码方案,同时对传输带宽要求高,对硬件的存储空间要求大,因此这种方案 一般不可取。另外立体显示系统对实时性要求高,以使观看者能看到连续、流畅的视频。

【发明内容】

[0005] 针对上述【背景技术】中出现的需求,即如何实时完成从2D图生成3D图,本发明提供 一种实时立体图像生成系统,包括多视点生成模块、缓存模块和立体图像合成模块,其中:
[0006] 所述多视点生成模块包括N个并行的基于深度图像绘制处理单元,其中N = X2,X为 大于1的正整数,每一所述基于深度图像绘制处理单元根据原始图和视差图生成虚拟视点 图像并发送至所述缓存模块中,同时发送指示所述虚拟视点图像绘制完成的信号至所述立 体图像合成模块;
[0007] 所述缓存模块包括N个并行的双端口双缓存单元,分别接收并存储所述多视点生 成模块生成的N个所述虚拟视点图像,其中每一双端口双缓存单元包括两个深度为所述虚 拟视点图像宽度、位宽与所述原始图的颜色深度一致的双端口 RAM,所述两个双端口 RAM组 成双缓冲结构来实现乒乓操作,以实现对所述虚拟视点图像的流水处理;以及
[0008] 所述立体图像合成模块包括像素计数器及立体图像生成单元,所述像素计数器接 收所述指示虚拟视点图像绘制完成的信号后,将其计数作为地址输入到所述缓存模块,所 述立体图像生成单元从所述缓存模块中读取地址为所述计数的存储单元所存储的虚拟视 点图像数据,将所述N个虚拟视点图像合成为1个立体图像进行输出。
[0009]总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效 果:
[0010]根据原始图和视差图信息利用DIBR技术实现多视点的绘制,为自由立体显示提供 多视点信息,降低了系统的传输带宽、存储空间以及成本;
[0011 ]充分利用FPGA支持并行和流水处理的特性,将对像素的处理采用硬件来进行加速 处理,大大提高系统处理速度,提高系统处理实时性;
[0012] 系统的适用性好,本系统生成虚拟视点的方式不依赖于相机参数,适用性广泛。
[0013] 实验结果表明:在Xilinx公司生产的Spartan6家族XC6SLX150型号的FPGA上,本发 明的处理速度比处理器为英特尔酷睿i5的PC机的软件匹配速度快8倍。
【附图说明】
[0014] 图1是本发明实时立体图像生成系统的硬件框图;
[0015]图2是本发明DIBR处理单元的结构框图;
[0016] 图3是本发明双端口双缓存单元的原理框图;
[0017] 图4是本发明缓存模块与立体图像合成模块的连接示意图。
【具体实施方式】
[0018] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要 彼此之间未构成冲突就可以相互组合。
[0019] 本发明实施例利用VHDL在Xilinx公司的Spartan6家族XC6SLX150型号的FPGA上实 施,充分挖掘FPGA并行性,并且结合流水线技术和流媒体技术原理将其应用于视差的多视 点生成计算与立体图像合成。
[0020] 图1所示为本发明实时立体图像生成系统的硬件框图。如图1所示,实时立体图像 生成系统包括多视点生成模块、缓存模块与立体图像合成模块。
[0021] 在本发明实施例中,多视点生成模块由9个并行的基于深度图像绘制(Depth-Image-Based Rendering,以下简称DIBR)处理单元DIBR_V1~DIBR_V9构成,用以根据原始 图和视差图分别生成9个分辨率为640X360的虚拟视点图像,同时发送用于指示已经经过 空洞填充的虚拟视点图像生成完成的信号hf_overl~hf_over9(其中,DIBR_V1发送hf_ 〇Verl,DIBR_V2发送hf_〇ver2,以此类推)至立体图像合成模块的像素计数器。其中,原始图 (大小为640 X 360,颜色深度为24位,R8G8B8)为从双目摄像机拍摄采集到的左右视图图像 中任取一个;视差图(大小为640X360,64灰度)为由原始图经过立体匹配计算得到,其尺寸 与原始图相同。
[0022] 缓存模块包括9个并行的双端口双缓存单元1~9。0四1?处理单元0181?_¥1~0181?_ V9每生成一行虚拟视点图像数据就分别对应存放到缓存模块的双端口双缓存单元1~9中。 缓存模块将所接收的虚拟视点图像数据发送到立体图像合成模块。
[0023]立体图像合成模块包括像素计数器和立体图像生成单元。像素计数器接收信号 hf_〇verl~hf_〇ver9,在9个信号都到达后,像素计数器开始在虚拟视点图像时序信号的每 个时钟周期增加1,增加到最大值时归零,其变化范围是O~640 X 360。立体图像生成单元从 缓存模块读取虚拟视点图像数据,将9个颜色深度为24、分辨率为640X360的虚拟视点图像 合成为1个分辨率为1920 X 1080的立体图像(颜色深度为24位,R8G8B8)。在本发明实施例 中,对于大小为width X height的虚拟视点图像,其合成图的大小为(3 X width) X (3 X height)〇
[0024] 图2所示为本发明DIBR处理单元的结构框图。如图2所示,每个DIBR处理单元包括 视点映射模块、空洞标记缓存模块、虚视点缓存模块及空洞填补模块。
[0025] 视点映射模块包括坐标计算单元、zbuf缓存单元和视差查找单元。其中,坐标计算 单元依据某个像素点(u0,v0)在视差图中的灰度值,根据下述等价公式(1)计算出该点在虚 拟视点图像中对应的坐标值(uO+dis X η,v0),逐行地完成从参考视点到虚拟视点的映射, 并在表示一行参考视点到虚拟视点的映射完成时发送指示完成的r〇w_ 〇ver信号至空洞填 补模块,以通知空洞填补模块可以对新一行数据进行空洞填补。
[0026] zbuf缓存单元由2个容量为640位、位宽为6位(视差图灰度64阶,6位表示视差图灰 度位数)的单端口 RAM组成,用于存储zbuffer算法结果。坐标计算单元根据视差图某个像素 点计算出其坐标结果后,首先读取并判断zbuf缓存单元里地址为该坐标结果的单元是否已 经存在视差记录,如
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1