一种实时图像处理方法与流程

文档序号:11844670阅读:188来源:国知局
一种实时图像处理方法与流程
本发明属于图像/视频处理
技术领域
,具体涉及一种实时图像处理方法。
背景技术
:普通相机或视频在拍摄过程中,照顾了高光区域的曝光,暗部细节就会丢失,而照顾了暗部细节,高光区域就会曝光过度。为了解决这一问题,人们采用高动态范围(High-DynamicRange,简称HDR)成像技术对图像进行处理,通过该技术处理的图像相比普通的图像,可以提供更多的动态范围和图像细节,从而更好的反映出真实环境中的视觉效果。HDR成像技术通过对一组含有不同曝光的低动态范围(Low-DynamicRange,简称LDR)图像行进分析与合成,最后生成一张高光区域不过度曝光,并保留暗部细节的图像,从而保留真实场景中各部细节的图像。目前HDR成像技术多是通过软件算法来实现,其对多张图像合成过程中算法复杂,计算量大,能耗大;而且对视频图像不能实时处理。另外,使用软件算法处理时间会受计算机性能的制约。此外,FPGA(Field-ProgrammableGateArray,现场可编程门阵列)是一种半定制集成电路,可以通过硬件描述语言将FPGA内部的逻辑块连接起来。与可以运行软件的处理器相比,FPGA以并行运算为主,具有速度更快,功耗较低的优点。由于两者架构上存在差异,使得在FPGA上开发软件算法比较困难。实时的HDR成像技术在FPGA上尚无法实现。技术实现要素:本发明的目的是提供一种实时图像处理方法,能够实时完成HDR技术在FPGA上的实现,优化HDR算法,实时合成高分辨率图像,减小功耗,提高视频帧数。本发明所采用的技术方案是:一种实时图像处理方法,包括:将源视频中曝光量不同的各图像的对应像素数据写入不同缓存区,并同步读出各缓存区曝光量不同但位置相同的像素数据;将读取的像素数据还原为像素光强值,将所述像素光强值合成HDR像素。进一步的,所述实时图像处理方法还包括:将所述HDR像素进行色调映射处理。可选的,所述将源视频中曝光量不同的各图像的对应像素数据写入不同缓存区,并同步读出各缓存区曝光量不同但位置相同的像素数据包括:将不同图像的对应像素数据写入N个不同缓存区,当所述N个缓存区均写入像素数据时,采用N个读命令读取所述N个缓存区的像素数据,并采用1个写命令写入第i个像素数据,所述读取和写入命令采用轮询方式进行;其中,N是曝光包围组数量,i是当前写入的像素数据,第i个像素数据所写入的缓存区根据所述第i个像素数据的曝光量确定。可选的,所述将读取的像素数据还原为像素光强值,将所述像素光强值合成HDR像素包括:根据预设查找表格将读取的N个像素数据还原为像素光强值,通过权重函数将所述N个像素光强值合成HDR像素。可选的,所述将读取的像素数据还原为像素光强值,将所述像素光强值合成HDR像素包括:通过公式q^(x)=ΣiF(fi(x))ΣiW(fi(x))]]>合成HDR像素,其中:为HDR像素,x表示像素在曝光图像上的位置;fi(x)为第i个曝光图像中x位置处的像素值;F(fi(x))为以像素值为对应地址的光强度查找表格;W(fi(x))为以像素值为对应地址的权重查找表格。进一步的,所述光强度查找表格为:F(fi(x))=w(fi(x))kif-1(fi(x));所述权重查找表格为:W(fi(x))=w(fi(x)),其中:f-1(x)为视频拍摄装置响应曲线的反函数;w(fi(x))为对应像素的权重函数;ki为各个像素的曝光补偿,相邻曝光图像的ki相等。进一步的,所述将所述HDR像素进行色调映射处理包括:根据预设参数对HDR像素进行压缩处理。可选的,所述根据预设参数对HDR像素进行压缩处理包括:通过公式:对HDR像素进行压缩处理,其中:Qi为压缩后的像素值;为合成的HDR像素;r,k和d为用于调节对比和亮度的参数。进一步的,根据预设参数对HDR像素进行压缩处理后,还包括:对压 缩后上的所述HDR像素进行卷积处理;所述卷积处理结果用于对压缩过的视频进行轮廓增强。进一步的,所述实时图像处理方法还包括:对映射处理后的HDR像素进行白平衡控制和直方图均匀化处理,并输出到显示器上。本发明提供的实时图像处理方法:通过设置与源视频曝光包围组数相同的缓存区,并控制对应像素数据在各缓存区的读写,实现同步读取曝光量相同的像素数据,同时保证读出的像素数据与源视频的像素数据帧数相同。通过查找表格对曝光量相同像素数据的还原及合成,实时完成了HDR技术在FPGA上的实现。相较于现有技术,能够减小HDR算法的运算量,实时合成高清图像,减小功耗,提高视频帧数。附图说明为了更清楚地说明本发明或现有技术中的方案,下面将对实施例或现有技术描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明提供的一种实时图像处理方法的流程图;图2是本发明对源视频各帧进行缓存处理的示意图;图3是本发明提供的一种HDR图像处理电路图;图4是本发明提供的缓存电路模块的电路图;图5是本发明提供的合成电路模块的电路图;图6是本发明提供的映射电路模块的电路图。具体实施方式下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地 描述,显然,所述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例都属于本发明保护的范围。本发明提供的实时图像处理方法,能够实时完成HDR技术在FPGA上的实现。如图1所示,该实时图像处理方法包括:101、获取源视频。其中,所述源视频各帧由同一场景不同曝光量的图像组成,曝光包围数量可根据实际需要调节。具体通过控制传感器,实现源视频各帧循环交替曝光。源视频中每帧的每个曝光设置随视频拍摄装置(如相机)帧数交替改变。例如,相机帧数为60帧/秒,则源视频每帧的曝光设置1/60秒改变一次。相邻帧的曝光差相同,以曝光包围数量是3且曝光间隔数量是2为例,根据时间顺序,第一张图像的曝光量是第二张图像曝光量的2倍,第二张图像曝光量是第三张图像曝光量的2倍。而第四张图像的曝光设置和第一张相同,如是循环。102、将源视频中曝光量不同的各图像的对应像素数据写入不同缓存区,并同步读出各缓存区曝光量不同但位置相同的像素数据。具体的,将源视频中曝光量不同的各图像的对应像素数据写入N个不同缓存区,当所述N个缓存区均写入像素数据时,采用N个读命令读取所述N个缓存区的像素数据,并采用1个写命令写入第i个像素数据,所述读取和写入命令采用轮询方式进行。其中,N是曝光包围组数量,i是当前写入的像素数据,第i个像素数据对应的缓存区根据第i个像素数据的曝光量确定。对应像素数是指各个曝光不同的图像中相同坐标位置的像素数据,所述轮询方式是指根据像素数据的写入和读取高速循环进行。以图2中曝光包围组数量是3为例,设置3个缓存区201、202和203。某段时间内,源视频包含某五帧图像20、21、22、23和24,图像20和23曝光量相同,21和24曝光量相同,第一曝光包围组的3张图像对应像素数据20、21、和22,第二曝光包围组的3张图像对应像素数据21、22和23,第三曝光包围组的3张图像对应像素数据22、23和24。当接收到源视频图像20的各个像素数据,将其写入缓存区201对应地址;当接收到源视频图像21的各个像素数据,将其写入缓存区202对应地址;缓存区201数据不变;当接收到源视频图像22的各个像素数据,将其写入缓存区203对应地址,缓存区201、202数据不变。当接收到源视频图像23的各个像素数据,因为图像23的曝光量与图像20相同,所以更新缓存区201,即用像素数据23覆盖像素数据20。此时,3个缓存区均写入像素数据,在更新缓存区201的同时,轮询读取3个缓存区图像23、21和22的各个像素数据;由于缓存区个数与源视频曝光包围组数相同,保证读出的图像数据与源视频的图像数据帧数相同。当接收到源视频像素数据24,更新缓存区202,3个缓存区均写入像素数据,以轮询方式读取3个缓存区的像素数据23、24和22;从各个缓存区读取的视频图像各自含有对应的单一曝光,后续依次类推,不再赘述。103、将读取的像素数据还原为像素光强值,将所述像素光强值合成HDR像素。具体的,根据预设查找表格将读取的N个像素数据还原为像素光强值,通过权重函数将所述N个像素光强值合成HDR像素。其中,查找表格可以根据传感器光强函数进行设置,权重函数选取高斯函数。优选的,可以预设两个查找表格,根据所述两个预设查找表格将读取的N个像素数据还原为像 素光强值和对应的权重值,将两个数值进行除运算。可选的,可以通过如下公式将读取的像素数据还原为像素光强值并将像素光强值合成HDR像素。q^(x)=ΣiF(fi(x))ΣiW(fi(x))]]>其中:为HDR像素,即传感器上感应到的接近真实环境的光强值,x表示像素在曝光图像上的位置;fi(x)为第i个曝光图像中x位置处的像素值;F(fi(x))为以像素值为对应地址的光强度查找表格;W(fi(x))为以像素值为对应地址的权重查找表格。优选的,光强度查找表格为:F(fi(x))=w(fi(x))kif-1(fi(x));权重查找表格为:W(fi(x))=w(fi(x));其中:f-1(fi(x))为视频拍摄装置(如相机)的响应曲线的反函数;w(fi(x))为对应像素的权重函数;ki为各个像素的曝光补偿,相邻曝光图像的ki相等。可选的,w(fi(x))权重函数可根据用户所需的合成效果来确定。通常情况下,w(fi(x))权重函数可通过调节高斯函数得到,例如,w(fi(x))由高斯函数定义,通过位置参数μ和σ根据所对应曝光对其进行调节,则w(fi(x))权重函数可表示为如下公式:w(fi(x))=exp[(fi(x)255-μ)22σ2]]]>在极端光照情况下,含极高(或极低)曝光的图像可选择S型生长曲线(sigmoid函数)作为权重函数。例如,当曝光设置过高(亮度极低的场景)或者曝光设置过低(亮度极高的场景)时,w(fi(x))可选用S型生长曲线,通过位置参数v根据所对应的曝光进行相应调节,则w(fi(x))权重函数可表示为如下公式:w(fi(x))=1exp[fi(x)-127v]]]>需要说明的是,在具体选取权重函数的时候可以根据实际情况选择不同的高斯函数或S型生长曲线,也可以选择其他函数进行调节,上述公式仅仅是选取权重函数的示例,并不构成对本发明的限定。104、将所述HDR像素进行色调映射处理。具体的,根据预设参数对HDR像素进行压缩处理,所述压缩处理可通过如下公式实现:Qi=r·q^1/k+d]]>其中:Qi为压缩后的像素值;为合成的HDR像素;r,k和d为用于调节对比度和亮度的参数,通过同时调节r,k和d实现对比度和亮度的调节。通过上述压缩处理后,可以使视频图像在有限动态范围媒介,如普通显示器上初步地显示出来。进一步的,对上述压缩后的HDR图像进行卷积处理,生成各层模糊像素用于提取原图像的细节,以便在映射过程中生成对比 度大的轮廓。具体的,选用尺寸为S×S的二进制高斯矩阵作为模板对上述压缩后的图像进行二维离散卷积处理。公式如下:其中:F(x,y)为经过卷积处理后图像中对应行数为x,列数为y的像素值;I(x,y)为待处理图像中对应行数为x,列数为y的像素值;S为奇数,以5×5为例,即该离散矩阵的半径;V(x,y)为二进制高斯矩阵模板,通过移位运算可以在更短时间内以更少的计算成本得到结果。该矩阵模板各处数值为2的N次幂。在卷积运算中,所有乘法器简化为左移位运算。以5×5的矩阵模板为例,归一化后的矩阵模板如下:4888481616168816161688161616848884]]>通过对同一副图像多次连续地迭代卷积运算可以生成各层模糊像素。迭代次数可根据计算成本而定。生成各层模糊像素用于原图像的轮廓增强。示例性的,轮廓增强可通过如下公式实现:I′(x,y)=I(x,y)+ΣncnFn(I(x,y))]]>其中:I(x,y)为轮廓增强前后图像中对应行数为x,列数为y的像素值;I′(x,y)为轮廓增强后图像中对应行数为x,列数为y的像素值;cn为n层细节图像各自的预设权重值;Fn(I(x,y)为上述卷积运算的n次迭代运算。105、将所述色调映射处理后的HDR像素显示出来具体的,通过分析源视频各个曝光段,在色调映射处理后的图像上进行白平衡控制和直方图均匀化处理,并输出到显示器上。本发明提供的实时图像处理方法:通过设置与源视频曝光包围组数相同的缓存区,并控制对应像素数据在各缓存区的读写,实现同步读取曝光量不同但位置相同的像素数据,同时保证读出的像素数据与源视频的像素数据帧数相同。通过对曝光量相同像素数据的合成与色调映射,完成了HDR技术在FPGA上的实现。相较于现有技术,优化HDR技术的算法并将其硬件化,实时合成高分辨率图像,在提高帧率的同时减小功耗。本发明还提供一种图像处理电路,如图3,该电路包括依次连接的缓存电路模块31、合成电路模块32、映射电路模块33和显示控制电路模块34。缓存电路模块31与视频源相连,用于接收源视频图像,将源视频中曝光量不同的各图像的对应像素数据写入不同缓存区,并同步读出各缓存区曝光量不同但位置相同的像素数据。合成电路模块32,用于将读取的像素数据还原为像素光强值,将所述像素光强值合成HDR像素。映射电路模块33用于将所述HDR像素进行色调映射处理。显示控制电路模块34与外部显示器相连,用于将所述色调映射处理后的HDR像素显示出来。如图4,缓存电路模块31包括N个视频接口310,每个视频接口310连接有对应的读写控制器311,所有读写控制器311与轮询控制模块312相连,轮询控制模块312与内存313相连。其中,N个视频接口310分别用于接收源视频同一包围组中不同图像的对应像素数据,N是源视频曝光包围 组数量;读写控制器311用于控制从与其相连的视频接口310向内存313写入和/或读出像素数据,当N个内存313均写入像素数据时,采用N个读命令读取N个内存313的像素数据,并采用1个写命令写入第i个像素数据,i是当前写入内存313的像素数据;轮询控制模块312用于控制各个读写控制器311的读写命令,采用循环方式向内存313高速写入和/或读出像素数据。合成电路模块32包括依次连接的查找表格模块和运算器。查找表格模块预存有与N个视频接口310对应连接的N个第一查找表格和N个第二查找表格,所述第一查找表格用于将读取的N个像素数据还原为N个像素光强值,所述第二查找表格用于将读取的N个像素数据还原为N个权重值;所述运算器,用于将所述像素光强值和所述权重值合成HDR像素。进一步的,运算器包括加法器和除法器。以图5为例,合成电路模块32包括第一查找表格模块320,第二查找表格模块320’,以及分别与二者对应连接的两个加法器321,两个加器321与除法器322相连。像素数据fi(x)经第一查找表格模块320处理还原为像素光强值Fi(x),经第二查找表格模块320’处理还原为权重值Wi(x),Fi(x)和Wi(x)分别经两个加法器321合成HDR像素,两个HDR像素经除法器322进行除运算得到最终HDR像素q(x)。示例性的,第一查找表格模块320可设置为F(fi(x))=w(fi(x))kif-1(fi(x));第二查找表格模块320’可设置为W(fi(x))=w(fi(x))。其中:f-1(fi(x))为视频拍摄装置响应曲线的反函数;w(fi(x))为对应像素的权重函数;ki为各个像素的曝光补偿。如图6,映射电路模块33包括依次连接的压缩模块330,第一颜色转换模块331,卷积模块332,第二颜色转换模块333。压缩模块330与合成电路模块32的输出端相连,用于根据预设参数将HDR像素q(x)进行压缩处理。 具体可通过公式对HDR像素进行压缩处理,其中:Qi为压缩后的像素值;为合成的HDR像素;r,k和d为用于调节对比和亮度的参数。第一颜色转换模块331用于将HDR像素的颜色值从RGB转换为YCrCb;卷积模块332用于生成提取原图像细节的各层模糊像素,以便在映射过程中生成对比度大的轮廓。卷积模块332包括首尾连接的行缓存模块,卷积运算模块和轮廓增强模块,行缓存模块和轮廓增强模块与第一颜色转换模块331相连,轮廓增强模块与第二颜色转换模块333相连,第二颜色转换模块333用于将HDR像素的颜色值从YCrCb转换为RGB。示例性的,选用尺寸为S×S的二进制高斯矩阵作为模板对压缩后的图像进行二维离散卷积处理。卷积运算模块可通过如下公式实现其功能:其中:F(x,y)为经过卷积处理后图像中对应行数为x,列数为y的像素值;I(x,y)为待处理图像中对应行数为x,列数为y的像素值;S为奇数,以5×5为例,即该离散矩阵的半径;V(x,y)为二进制高斯矩阵模板,通过移位运算可以在更短时间内以更少的计算成本得到结果。该矩阵模板各处数值为2的N次幂。在卷积运算中,所有乘法器简化为左移位运算。以5×5的矩阵模板为例,归一化后的矩阵模板如下:4888481616168816161688161616848884]]>通过对同一副图像多次连续地迭代卷积运算可以生成各层模糊像素。迭代次数可根据计算成本而定。生成各层模糊像素用于原图像的轮廓增强。示例性的,轮廓增强模块可通过如下公式实现其功能:I′(x,y)=I(x,y)+ΣncnFn(I(x,y))]]>其中:I(x,y)为轮廓增强前后图像中对应行数为x,列数为y的像素值;I′(x,y)为轮廓增强后图像中对应行数为x,列数为y的像素值;cn为n层细节图像各自的预设权重值;Fn(I(x,y)为上述卷积运算的n次迭代运算。结合图3~6,显示控制电路模块34与各个视频接口310及第二颜色转换模块333相连,用于分析源视频各个曝光段,在色调映射处理后的HDR像素上进行白平衡控制和直方图均匀化处理,并输出到显示器上。本发明提供的图像处理电路,通过在缓存电路模块中设置与源视频曝光包围组数相同的缓存模块,并控制对应像素数据在各缓存模块的读写,实现同步读取曝光量不同但位置相同的像素数据,同时保证读出的像素数据与源视频的像素数据帧数相同。通过合成电路模块对曝光量相同像素数据的合成以及映射电路模块的色调映射处理,完成了HDR技术在FPGA上的实现。相较于现有技术,优化HDR技术的算法并将其硬件化,实时合成高分辨率图像,在提高帧率的同时减小功耗。最后说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1