一种基于硬件实现的DIBR系统技术方案

技术编号:9599796 阅读:241 留言:1更新日期:2014-01-23 04:26
本发明专利技术公开了一种基于硬件实现的DIBR系统,采用无需摄像机参数的三维图像变换算法以代替复杂的单应变换以及基于视差图的空洞填充算法代替图像修复算法,这样大大减小了计算的复杂程度。同时,采用行级流水处理,减少视差图以及参考图像的存储,从而节省了硬件的开销。在Xilinx开发板上进行测试,实验结果表明,本发明专利技术由于计算复杂度的降低,在实时处理全高清视频时,吞吐量可达60帧/秒,能支持全高清(1080P)视频的实时处理;并且硬件开销(不包括内部存储器)为59.8K逻辑门,内存储器的容量需求为20.25kbytes,硬件开销降低,合成结果与DIBR算法的结果相似。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种基于硬件实现的DIBR系统,采用无需摄像机参数的三维图像变换算法以代替复杂的单应变换以及基于视差图的空洞填充算法代替图像修复算法,这样大大减小了计算的复杂程度。同时,采用行级流水处理,减少视差图以及参考图像的存储,从而节省了硬件的开销。在Xilinx开发板上进行测试,实验结果表明,本专利技术由于计算复杂度的降低,在实时处理全高清视频时,吞吐量可达60帧/秒,能支持全高清(1080P)视频的实时处理;并且硬件开销(不包括内部存储器)为59.8K逻辑门,内存储器的容量需求为20.25kbytes,硬件开销降低,合成结果与DIBR算法的结果相似。【专利说明】—种基于硬件实现的DIBR系统
本专利技术属于3D电视
,更为具体地讲,涉及一种基于硬件实现的DIBR系统。
技术介绍
随着3D显示技术和3D电视系统的快速发展与普及,视图合成引擎(viewsynthesis engine)已成为3D电视和任意视点电视(free viewpoint television)中合成单视点或多视点视频的重要组成部分。目前视图合成引擎中采用的核心算法是基于深度图像绘制(depth-1mage-based rendering, DIBR)算法。DIBR算法以三维图像变换(3D image warping)为基础,实现由一幅或多幅图像及其对应的深度图(depth map)生成另一视点的图像的功能。采用DIBR算法的视图合成引擎只需要传输一路视频及对应的深度图便可得到立体图像对(stereo pairs),从而可以减少传输带宽。同时,采用DIBR技术能够方便地实现2D转3D(2D-to-3D conversion)和深度调节(depth adjustment)功能,方便地支持各种自由立体显示器,因此,它已经成为3D电视中的关键技术。然而,对于全高清(full high definition, FHD)的视频(1080p),DIBR算法的复杂度(complexity)会显著的增加,几乎不可能用软件来实时处理。因此,为满足全高清视频实时处理的要求,采用硬件来实现一个DIBR系统是十分必要的。目前,DIBR系统硬件实现还研究得还较少。Chen等人设计了一个DIBR硬件加速器,在输入为720X576的立体视频时能达到25f/s的系统吞吐量。该加速器采用超大规模集成电路实现,在算法上采用了边缘依赖高斯滤波器(edge-dependent Gaussianfilter),尽管相对于传统的绘制架构,该加速器的硬件开销(hardware cost)有所降低,但是仍然有较大的优化空间。Lin等人曾尝试通过线性插入近似值的方法减少单应矩阵(homography)的内存消耗,但是在支持任意视点绘制的DIBR系统中应用该架构时,仍需要考虑小数和大位宽数值运算、深度图存储、遮挡处理以及复杂的空洞填充等问题。Horng等人对视图合成参考软件(view synthesis reference software, VSRS)的算法做了优化,用Z scaling的方法来减少运算的消耗,用列序变换(column order warping)的方法代替了Z-buffer算法,采用一种简单的双线性插值来代替复杂的空洞填充算法。在此基础上,采用分级流水结构完成了整个算法的硬件实现。该算法的硬件实现可以支持1080p视频的实时处理,但是整个系统仍然显得很复杂,硬件资源需求(hardware resource requirement)也比较大。
技术实现思路
本专利技术的目的在于克服现有技术的不足,提供一种基于硬件实现的DIBR系统,以减少计算复杂度以及硬件开销。为实现上述目的,本专利技术基于硬件实现的DIBR系统,包括:—参数设置模块,用于完成对整个DIBR系统参数的设置,包括:数据有效信号扩展模块和视差图中值滤波模块的图像分辨率Wi X Hi,其中,Wi为图像宽度,Hi为图像高度;三维图像变换模块用于深度调节以及深度值到视差值转换的查找表d印th2disparity ;空洞填充模块用于检测视差值跃变的阈值sharp_th以及对较大空洞进行膨胀的像素点个数I ;位于顶层的Block RAM(即块RAM),用Dtl表示,用于存储外部输入的参考图像的像素值Iref,并被配置成简单双端口 RAM(Simple Dual-port RAM)类型;其特征在于,还包括:一数据有效信号扩展模块,位于DIBR系统的前端,用于接收系统外部输入深度图的深度值D以及数据有效信号data_valid ;然后将深度值D原封不动地输出,数据有效信号data_valid扩展2行之后输出,其中data_valid扩展是在输入的最后一行数据有效信号结束一段时间之后、场消隐信号到来之前的时间段里,产生2行的数据有效信号,其对应的深度值置为O ;一三维图像变换模块,用于接收数据有效信号扩展模块输出的深度图的深度值D以及数据有效信号data_valid,根据深度值D计算出参考图像中的每一像素点对应的视差值M,并连同数据有效信号data_valid输出给视差图中值滤波模块;深度值D到视差值M的转换是利用查找表depth2disparity实现的,并事先在外部根据无需摄像机参数的三维图像变换计算好,然后由参数设置模块设置,当表中的值改变时,便可实现深度调节;三维图像变换模块采用了 4个Block RAM即块RAM,用R。,R1, R2, R3表示,该四个块RAM用来动态地存储深度图的4行视差值,并被配置成简单双端口 RAM(Simple Dual-portRAM)类型;三维图像变换后生成的目标图像会含有空洞,用-128来标识空洞点,本模块在处理一帧深度图之前,便把用于存储视差值M的Block RAM初始化为-128,这样后续模块便能判断出哪些点是空洞点;一视差图中值滤波模块,用于接收三维图像变换模块输出的视差值M以及数据有效信号data_valid,采用3X3的掩膜对这些视差值进行中值滤波,并将结果以及数据有效信号data_valid输出给空洞填充模块;一空洞填充模块,用于接收视差图中值滤波模块输出的视差值M以及数据有效信号data_valid,对其中的空洞点进行填充,然后连同数据有效信号data_valid输出给像素拷贝模块;空洞填充是基于视差图的空洞填充算法,修改视差值M为-128的点即空洞点的视差值;一像素拷贝模块,用于接收空洞填充模块输出的视差值M以及数据有效信号data_valid,根据视差值M逐行计算目标图像像素点在参考图像上的匹配点(matchingpoint)的坐标,并将该坐标作为读位于顶层的块RAM即Dtl的地址,读出其中的像素值IMf,构成目标图像的像素值Ides,作为整个DIBR系统的输出;在逐行计算匹配点的坐标时,是按行的逆向即从右到左的方向处理的;Lm(i)表示视差图的第i行,L1(I)表示参考图像的第i行,O ( KWi,当开始处理一幅参考图像及其对应的深度图时,依次将Lm(O)、Lm(I)、Lm⑵、Lm(3)存入Rtl、R1、R2、R3 ;处理完Lm(O)之后,又将Lm(5)存入Rci,依次类推;在存储和处理LM(i)的同时,依次将L1Q)存入Dt本文档来自技高网
...

【技术保护点】
一种基于硬件实现的DIBR系统,包括:一参数设置模块,用于完成对整个DIBR系统参数的设置,包括:数据有效信号扩展模块和视差图中值滤波模块的图像分辨率Wi×Hi,其中,Wi为图像宽度,Hi为图像高度;三维图像变换模块用于深度调节以及深度值到视差值转换的查找表depth2disparity;空洞填充模块用于检测视差值跃变的阈值sharp_th以及对较大空洞进行膨胀的像素点个数l;位于顶层的Block?RAM(即块RAM),用D0表示,用于存储外部输入的参考图像的像素值Iref,并被配置成简单双端口RAM(Simple?Dual?port?RAM)类型;其特征在于,还包括:一数据有效信号扩展模块,位于DIBR系统的前端,用于接收系统外部输入深度图的深度值D以及数据有效信号data_valid;然后将深度值D原封不动地输出,数据有效信号data_valid扩展2行之后输出,其中data_valid扩展是在输入的最后一行数据有效信号结束一段时间之后、场消隐信号到来之前的时间段里,产生2行的数据有效信号,其对应的深度值置为0;一三维图像变换模块,用于接收数据有效信号扩展模块输出的深度图的深度值D以及数据有效信号data_valid,根据深度值D计算出参考图像中的每一像素点对应的视差值M,并连同数据有效信号data_valid输出给视差图中值滤波模块;深度值D到视差值M的转换是利用查找表depth2disparity实现的,并事先在外部根据无需摄像机参数的三维图像变换计算好,然后由参数设置模块设置,当表中的值改变时,便可实现深度调节;三维图像变换模块采用了4个Block?RAM即块RAM,用R0,R1,R2,R3表示,该四个块RAM用来动态地存储深度图的4行视差值,并被配置成简单双端口RAM(Simple?Dual?port?RAM)类型;三维图像变换后生成的目标图像会含有空洞,用?128来标识空洞点,本模块在处理一帧深度图之前,便把用于存储视差值M的Block?RAM初始化为?128,这样后续模块便能判断出哪些点是空洞点;一视差图中值滤波模块,用于接收三维图像变换模块输出的视差值M以及 数据有效信号data_valid,采用3×3的掩膜对这些视差值进行中值滤波,并将结果以及数据有效信号data_valid输出给空洞填充模块;一空洞填充模块,用于接收视差图中值滤波模块输出的视差值M以及数据有效信号data_valid,对其中的空洞点进行填充,然后连同数据有效信号data_valid输出给像素拷贝模块;空洞填充是基于视差图的空洞填充算法,修改视差值M为?128的点即空洞点的视差值;一像素拷贝模块,用于接收空洞填充模块输出的视差值M以及数据有效信号data_valid,根据视差值M逐行计算目标图像像素点在参考图像上的匹配点(matching?point)的坐标,并将该坐标作为读位于顶层的块RAM即D0的地址,读出其中的像素值Iref,构成目标图像的像素值Ides,作为整个DIBR系统的输出;在逐行计算匹配点的坐标时,是按行的逆向即从右到左的方向处理的;LM(i)表示视差图的第i行,LI(i)表示参考图像的第i行,0≤i...

【技术特征摘要】

【专利技术属性】
技术研发人员:刘然谭伟敏黄振伟田逢春李博乐曹东华谭迎春
申请(专利权)人:四川虹微技术有限公司重庆大学
类型:发明
国别省市:

网友询问留言 已有1条评论
  • 来自[美国加利福尼亚州圣克拉拉县山景市谷歌公司] 2014年12月05日 22:44
    硬件英文名Hardware计算机硬件的简称中国大陆及香港用语台湾作硬体与软件相对电子计算机系统中所有实体部件和设备的统称从基本结构上来讲计算机可以分为五大部分运算器控制器存储器输入输出设备
    0
1