一种在Bayer数据域实现HDR的图像处理的方法和系统与流程

文档序号:16885550发布日期:2019-02-15 22:36阅读:1701来源:国知局
一种在Bayer数据域实现HDR的图像处理的方法和系统与流程

本发明涉及图像处理技术领域,更具体地说,它涉及一种基于可编程处理器芯片实现在bayer数据域进行hdr图像合成和色调映射的方法和系统。



背景技术:

在人类的日常生活场景中,从刺目的阳光到极暗的星光,环境亮度的变化范围超过8个数量级,即动态范围大于160db。人眼由于经过长期进化能够适5~6个数量级的亮度变化,即动态范围达到100~120db。普通的cmossensor(以下简称sensor)只能提供60db左右的动态范围,远远不能满足记录真实世界中高动态场景的需求,因此称为ldr(lowdynamicrange)sensor。目前能够提供hdr(highdynamicrange)即高动态范围的sensor可以提供100~120db的动态范围,能够更好地记录真实世界场景中的亮度信息。

由于常见的数字图像显示设备通常只支持256个亮度级,并不能直接显示hdr图像,因此在图像显示之前的某个阶段需要对hdr图像进行动态范围压缩以适应显示设备的能力。局部色调映射(localtonemapping)是一类效果比较好的动态范围压缩算法,已经得到了广泛的研究和应用,不足之处是此类算法复杂度通常较高,运算量较大,消耗资源很大。

有多种不同的原理可以实现hdrsensor,其中一种hdr实现方式是采用行内交错长短曝光的方法,即line-basedstaggeredhdr方法,采用所述方法的hdrsensor以行为单位输出像素数据,通常是位宽为10比特或12比特的bayer格式数据,每行中先后输出两组数据,分别对应长、短两种不同曝光量下采集的像素值。

包括所述行内交错长短曝光方法在内的各种hdr实现方法都需要在sensor后端搭配某种形式的isp(signalprocessor)即图像信号处理器,在所述isp内部完成高动态范围图像的合成处理。

在现有技术中,isp内部通常是以流水线方式对图像进行hdr合成处理。一种典型的流水线是将hdrsensor输出的bayer格式图像根据曝光量不同分离成两帧分别存储,等缓存到足够多的数据后分别进行bayer2rgb及rgb2yuv转换得到yuv格式图像,然后对两帧yuv图像进行hdr合成得到一帧高动态图像,最后进行yuv2rgb转换得到rgb格式的图像。

现有技术中,所述流水线方法存在的不足之处是色彩空间变换操作的环节较多,由于存在大量的浮点数运算,每次操作都会引入一些精度误差并影响最终的hdr处理效果。

现有技术中,另外一个不足之处是由于操作步骤多,系统资源开销(芯片面积、功耗等)很大,增加了系统实施的成本。

现有技术中,另外一个不足之处是出于控制系统成本的需要,常常选用运算相对简单的色调映射方法,而较少选用效果更好但是复杂度较高、运算量较大的色调映射方法。

现有技术中,另外一个不足之处是isp需要等到两帧图像全部缓存到存储器之后才能开始hdr合成处理,因此系统延迟较大,不适合有低延迟需求的应用场合。

现有技术中,另外一个不足之处是如果isp不支持hdr功能则无法与hdrsensor配合得到hdr图像。



技术实现要素:

针对现有技术存在的不足,本发明所要实现的一个目标是,提供一种在原始bayer数据域直接进行hdr合成处理的方法,避免多次进行颜色空间变换。

本发明所要实现的另一个目标是,提供一种基于局部色调映射原理的hdr合成处理方法,实现良好的hdr效果。

本发明所要实现的另一个目标是,提供一种复杂度低、运算量小的hdr合成处理方法,降低hdr处理方法的实施成本。

本发明所要实现的另一个目标是,提供一种支持输入图像位宽为10比特或12比特的hdr合成处理方法,适应常见的hdrsensor数据位宽规格。

本发明所要实现的另一个目标是,提供一种输出图像位宽为10比特或12比特的hdr合成处理方法,适应常见的isp数据位宽规格。

为了实现所述各个目标,本发明提出了一种基于可编程处理器芯片在bayer数据域实现hdr图像合成、色调映射和位宽压缩的图像处理方法和系统。所述图像处理方法和系统能够全部或至少部分地满足所述各个目标,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:

一种基于可编程处理器芯片在bayer数据域实现hdr图像合成、色调映射和位宽压缩的图像处理系统,包括:hdrsensor单元,io接口单元(a和b)、行缓存(fifo)单元、hdr处理单元;

hdrsensor单元,用于生成至少两种曝光量的bayer格式数据;

io接口单元a,用于与hdrsensor单元对接,将sensor产生的图像数据输入到系统;

fifo单元,用于缓存hdrsensor产生的bayer格式像素数据;

hdr处理单元,用于对bayer数据进行hdr合成、色调映射、位宽压缩等操作,最终生成高动态bayer数据;

io接口单元b,用于对外输出,将hdr处理单元生成的高动态bayer数据输出到外部,通常是一个不具备hdr功能的isp芯片。

所述各个单元中除了hdrsensor之外全部或者部分(至少包含hdr处理单元)以一个可编程处理器芯片的形式实现,其中一种表现形式是在某种通用处理器芯片(cpu,dsp)上运行软件,另一种表现形式是在大规模可编程逻辑器件(fpga)上实现专用图像处理流水线,还有一种表现形式是用专用集成电路芯片(asic)或片上系统(soc)实现专用图像处理流水线;

本发明提出的一种基于可编程处理器芯片在bayer数据域实现hdr图像合成、色调映射和位宽压缩的图像处理方法,包括如下步骤:

以行为单位获取hdrsensor产生的位宽为10比特或12比特的低位宽图像数据;

按照预定格式对所述低位宽图像数据进行分离,从一行低位宽数据中分离出两行低位宽数据,分别对应长、短两种曝光量下产生的像素值;

按照一定的算法从长曝光像素中提取亮度分量;

优选地,从长曝光像素中提取亮度分量的一种计算方法如下:

用m表示图像在水平方向上的像素数,用n表示图像在竖直方向上的像素数;

用il表示长曝光图像,用is表示短曝光图像,所述il和is均为包含m×n个像素值的二维矩阵;

优选地,il和is均为按照bayer(2x2)格式排列的像素值矩阵,即奇数行代表rgrgrg…像素值,偶数行代表gbgbgb…像素值,所述r、g、b分别代表红、绿、蓝三种颜色的像素;

用yl表示从长曝光图像中提取的亮度分量矩阵,则yl为包含m×n个灰度值的二维亮度矩阵;

用(i,j)表示所述il,is和yl中任一元素的坐标;

用il(i,j)表示当前位置像素,在此仅以当前位置为r像素的情况为例;

用il(i,j-1)表示当前位置左侧的g像素;

用il(i,j+1)表示当前位置右侧的g像素;

用il(i-1,j)表示当前位置正上方的g像素;

用il(i+1,j)表示当前位置正下方的g像素;

用il(i-1,j-1)表示当前位置左上方的b像素;

用il(i-1,j+1)表示当前位置右上方的b像素;

用il(i+1,j-1)表示当前位置左下方的b像素;

用il(i+1,j+1)表示当前位置右下方的b像素;

使用所述各个r像素值构造yr,即

yr(i,j)=il(i,j)

进一步地,使用所述各个g像素值构造yg,即

进一步地,使用所述各个b像素值构造yb,即

进一步地,使用所述各个yr,yg,yb构造yl,即

进一步地,利用所述亮度分量yl,以及从系统配置中获取的一组参数,计算每个目标像素的融合权重因子;

优选地,所述融合权重因子的一种计算方法如下:

用win表示hdrsensor输出数据的位宽,通常为10或12;

用ym_in表示yl元素的最大可能值,即

从系统配置中获取一个阈值参数t和一个斜率参数k,使用t,k,ymax和yl构造所述每个目标像素的融合权重因子α,即

进一步地,根据所述融合权重因子,以及从系统配置中获取的一组参数,计算每个目标像素的融合值。

优选地,所述目标像素的融合值的一种计算方法如下:

用if表示融合图像,所述if为包含m×n个像素值的二维矩阵;

用r表示长、短曝光量的比值,从系统配置中获取;

使用il,is,α和r计算所述每个目标像素的融合值if,即

if(i,j)=[1-α(i,j)]·il(i,j)+α(i,j)·is(i,j)·r

进一步地,按照一定的算法对融合图像进行局部色调变换处理,得到高位宽、高动态范围的局部色调变换图像;

优选地,所述局部色调变换处理的一种计算方法如下:

用xmax表示if元素的最大可能值,即

用wout表示hdr处理单元输出数据的位宽,通常为10或12;

用ym_out表示输出像素的最大可能值,即

用iavg(i,j)表示在像素(i,j)附近一个小邻域内对图像平均亮度做的估计;

用一个二元函数f(p,q)表示局部色调映射变换算子;

使用所述if,iavg,xmax和f(p,q)计算所述局部色调变换图像imap,即

优选地,一种计算所述iavg(i,j)的方法如下:

用s表示一个与输出图像平均亮度有关的控制参数,从系统配置中获取;

用l表示对当前图像整体平均亮度的估计值;

表示像素(i,j)附近一个小邻域内所有像素值的中间值;

使用所述s,l,和f(p,q)计算所述对图像平均亮度做加权估计,即

优选地,一种所述计算图像整体平均亮度的估计值l的方法如下:

按照图像采集时间的自然顺序,以帧为单位,用整数n对图像序列进行编号;

表示第n-1帧图像中像素(i,j)的亮度值;

用δ表示采样间隔,通常为8,16或32;

分别表示图像在列、行方向上的采样次数,其中符号代表取整操作;

使用所述δ,计算第n-1帧图像的平均亮度统计

在开始计算第n帧时,由于所述第n帧图像的数据还没有到齐,所以使用第n-1帧的平均亮度统计作为所述第n帧的亮度估计值,即

优选地,一种计算所述局部色调映射变换算子f(p,q)的方法如下:

选取一个合适的整数参数e,使其满足e>0;

使用所述各个参数e和p,q计算一个整数t,即

其中符号代表取整操作;

寻找两个整数k,j使其满足t=k·e+j,其中0≤j<e;

使用所述各个参数b,p,q,t计算一个小数r,即

r=-p/q-(0.6931/e)·t

将所述各个参数k,j,e,r代入如下公式计算函数f(p,q),即

f(p,q)=(2k·2j/e)(1+r+0.5r2)

优选地,上式中2k项和0.5r2项可以通过二进制移位操作实现快速计算;

优选地,由于j是整数且只有e个可能取值,上式中2j/e项可以使用查表法实现快速计算。

进一步地,对所述局部色调变换图像进行位宽压缩处理,得到最终的输出图像。

优选地,一种对图像进行位宽压缩处理的计算方法如下:

用wf表示融合图像if的数据位宽,通常为16;

用wf,wout和ymap计算最终的输出图像iout,即

为更清楚地阐述本发明的结构特征和功效,下面结合附图与具体实施例来对本发明进行详细说明。

附图说明

图1为本发明基于bayer数据域的hdr图像合成处理方法的流程图。

图2-5为本发明基于bayer数据域的hdr图像合成处理方法从bayer3x3像素窗口中(中心为r像素)插值得到r,g,b分量值的原理示意图。

图6-9为本发明基于bayer数据域的hdr图像合成处理方法从bayer3x3像素窗口中(中心为g像素)插值得到r,g,b分量值的原理示意图。

图10为本发明基于bayer数据域的hdr图像合成处理方法计算融合因子α过程中阈值参数t和斜率k的作用示意图。

图11为本发明基于bayer数据域的hdr图像合成处理方法在bayer数据域计算局部色调映射图像的流程图。

具体实施方式

下面结合附图和具体实施例对本发明的技术方案做进一步的说明。

参见图1-图11,一种在bayer数据域实现hdr的图像处理的系统,包括:hdrsensor单元,io接口单元(a和b)、行缓存(fifo)单元、hdr处理单元;所述hdrsensor、io接口单元a、fifo单元、hdr处理单元和io接口单元b组成流水线结构,按照数据的流动次序,所述hdrsensor生成bayer格式的原始图像数据,以行为单位经过io接口单元a流入所述fifo单元,进一步流入hdr处理单元,最终通过io接口单元b流出芯片;所述各个单元中除了hdrsensor之外全部或者部分(至少包含hdr处理单元)以一个可编程处理器芯片的形式实现,其中一种表现形式是在某种通用处理器芯片(cpu,dsp)上运行软件,另一种表现形式是在大规模可编程逻辑器件(fpga)上实现专用图像处理流水线,还有一种表现形式是用专用集成电路芯片(asic)或片上系统(soc)实现专用图像处理流水线;所述io接口单元,进一步分为a和b两个单元,其中a单元用于实现与hdrsensor的通信协议,在sensor与处理器芯片之间建立数据传输通道,b单元用于实现与外部处理器的通信协议,在处理器芯片与外部处理器之间建立数据传输通道;fifo单元,用于对sensor产生的bayer数据以行为单位进行缓存;hdr处理单元,用于从fifo单元中获取低位宽bayer数据行,对所述bayer数据行进行解析从而分离出长、短曝光量对应的两种低位宽bayer数据行,对所述的两种低位宽bayer数据进行hdr合成处理得到高位宽数据,对所述高位宽数据行进行局部色调映射处理得到高位宽高动态数据行,对所述高位宽高动态数据行进行位宽压缩得到最终的低位宽高动态数据行并通过io接口b单元输出到外部。

所述的在bayer数据域实现hdr的图像处理的方法,包括如下步骤:

以行为单位获取hdrsensor产生的位宽为10比特或12比特的低位宽图像数据;

按照预定格式对所述低位宽图像数据进行分离,从一行低位宽数据中分离出两行低位宽数据,分别对应长、短两种曝光量下产生的像素值;

按照一定的算法从长曝光像素中提取亮度分量;

优选地,从长曝光像素中提取亮度分量的一种计算方法如下:

用m表示图像在水平方向上的像素数,用n表示图像在竖直方向上的像素数;

用il表示长曝光图像,用is表示短曝光图像,所述il和is均为包含m×n个像素值的二维矩阵;

优选地,il和is均为按照bayer(2x2)格式排列的像素值矩阵,即奇数行代表rgrgrg…像素值,偶数行代表gbgbgb…像素值,所述r、g、b分别代表红、绿、蓝三种颜色的像素;

用yl表示从长曝光图像中提取的亮度分量矩阵,则yl为包含m×n个灰度值的二维亮度矩阵;

用(i,j)表示所述il,is和yl中任一元素的坐标;

用il(i,j)表示当前位置像素,在此仅以当前位置为r像素的情况为例;

用il(i,j-1)表示当前位置左侧的g像素;

用il(i,j+1)表示当前位置右侧的g像素;

用il(i-1,j)表示当前位置正上方的g像素;

用il(i+1,j)表示当前位置正下方的g像素;

用il(i-1,j-1)表示当前位置左上方的b像素;

用il(i-1,j+1)表示当前位置右上方的b像素;

用il(i+1,j-1)表示当前位置左下方的b像素;

用il(i+1,j+1)表示当前位置右下方的b像素;

使用所述各个r像素值构造yr,即

yr(i,j)=il(i,j)

进一步地,使用所述各个g像素值构造yg,即

进一步地,使用所述各个b像素值构造yb,即

进一步地,使用所述各个yr,yg,yb构造yl,即

进一步地,利用所述亮度分量yl,以及从系统配置中获取的一组参数,计算每个目标像素的融合权重因子;

优选地,所述融合权重因子的一种计算方法如下:

用win表示hdrsensor输出数据的位宽,通常为10或12;

用ym_in表示yl元素的最大可能值,即

从系统配置中获取一个阈值参数t和一个斜率参数k,使用t,k,ymax和yl构造所述每个目标像素的融合权重因子α,即

【权利要求】

进一步地,根据所述融合权重因子,以及从系统配置中获取的一组参数,计算每个目标像素的融合值。

优选地,所述目标像素的融合值的一种计算方法如下:

用if表示融合图像,所述if为包含m×n个像素值的二维矩阵;

用r表示长、短曝光量的比值,从系统配置中获取;

使用il,is,α和r计算所述每个目标像素的融合值if,即

if(i,j)=[1-α(i,j)]·il(i,j)+α(i,j)·is(i,j)·r【权利要求】

进一步地,按照一定的算法对融合图像进行局部色调变换处理,得到高位宽、高动态范围的局部色调变换图像;

优选地,所述局部色调变换处理的一种计算方法如下:

用xmax表示if元素的最大可能值,即

用wout表示hdr处理单元输出数据的位宽,通常为10或12;

用ym_out表示输出像素的最大可能值,即

用iavg(i,j)表示在像素(i,j)附近一个小邻域内对图像平均亮度做的估计;

用一个二元函数f(p,q)表示局部色调映射变换算子;

使用所述if,iavg,xmax和f(p,q)计算所述局部色调变换图像imap,即

【权利要求】

优选地,一种计算所述iavg(i,j)的方法如下:

用s表示一个与输出图像平均亮度有关的控制参数,从系统配置中获取;

用l表示对当前图像整体平均亮度的估计值;

表示像素(i,j)附近一个小邻域内所有像素值的中间值;

使用所述s,l,和f(p,q)计算所述对图像平均亮度做加权估计,即

优选地,一种所述计算图像整体平均亮度的估计值l的方法如下:

按照图像采集时间的自然顺序,以帧为单位,用整数n对图像序列进行编号;

表示第n-1帧图像中像素(i,j)的亮度值;

用δ表示采样间隔,通常为8,16或32;

分别表示图像在列、行方向上的采样次数,其中符号代表取整操作;

使用所述δ,计算第n-1帧图像的平均亮度统计

在开始计算第n帧时,由于所述第n帧图像的数据还没有到齐,所以使用第n-1帧的平均亮度统计作为所述第n帧的亮度估计值,即

【权利要求】

优选地,一种计算所述局部色调映射变换算子f(p,q)的方法如下:

选取一个合适的整数参数e,使其满足e>0;

使用所述各个参数e和p,q计算一个整数t,即

其中符号代表取整操作;

寻找两个整数k,j使其满足t=k·e+j,其中0≤j<e;

使用所述各个参数b,p,q,t计算一个小数r,即

r=-p/q-(0.6931/e)·t

将所述各个参数k,j,e,r代入如下公式计算函数f(p,q),即

f(p,q)=(2k·2j/e)(1+r+0.5r2)【权利要求】

优选地,上式中2k项和0.5r2项可以通过二进制移位操作实现快速计算;

优选地,由于j是整数且只有e个可能取值,上式中2j/e项可以使用查表法实现快速计算。【权利要求】

进一步地,对所述局部色调变换图像进行位宽压缩处理,得到最终的输出图像。

优选地,一种对图像进行位宽压缩处理的计算方法如下:

用wf表示融合图像if的数据位宽,通常为16;

用wf,wout和ymap计算最终的输出图像iout,即

在本发明中,hdr图像生成和色调映射算法可以方便地在各种集成电路的形式实现,包括asic、fpga等,整个系统具备很好的扩展性,方便集成其他的图像算法,能保证处理的运算实时性。

本发明实施例中,基于集成电路ic的实施例是以fpga为例子来实现的,本领域技术人员可以很方便地扩展到其他ic来实现。

以上结合具体实施例描述了本发明的技术原理,仅是本发明的优选实施方式。本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。本领域的技术人员不需要付出创造性的劳动即可联想到本发明的其它具体实施方式,这些方式都将落入本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1