熵值计算装置及熵值计算方法与流程

文档序号:14717988发布日期:2018-06-16 02:01阅读:1559来源:国知局
熵值计算装置及熵值计算方法与流程

本发明涉及数字集成电路领域,尤其涉及一种熵值计算装置及熵值计算方法。



背景技术:

当前,基于熵值的自动曝光技术,能够自动寻找关注区域,进而自动调整各分区的权值,使得确定的曝光时间和增益更加合理。

如上述公式所示,其为对一个区域内图像熵值E的计算公式。pi为不同灰度级出现的概率。基于熵值的自动曝光计算,不可避免的涉及对指数函数的计算。但对于数字电路,加、减或移位操作相对简单,乘法、指数或对数运算,对应电路的复杂度将直线上升。因此,考虑综合考虑成本、时间,基于熵值的自动曝光技术设计中,在保证计算的精度情况下,对数函数的简约设计必不可少。

现有的对于对数函数的对应数字电路设计方案,主要分为四类:

1)基于查找表的指数函数计算方法,该方法的计算精度受查找表的大小直接控制,且随计算范围和计算精度的提升,查找表的大小成指数上升。

2)基于查找表的多项式逼近方法,该方法在运算过程中,需要较大的参数存储空间;需要较为复杂的乘法电路;同时,随着精度的提高和计算范围的拓宽,参数和乘法电路的复杂度成指数上升。

3)基于泰勒级数展开的指数函数计算方法,在一定的范围内,能够获得较高的计算精度,但随着计算范围的拓宽,与多项式逼近法相似,所需的参数存储空间和乘法电路的复杂度指数上升。

4)CORDIC(Coordinate Rotation Digital Computer,坐标旋转数字计算方法)算法,能够综合计算精度和电路复杂度的矛盾,但CORDIC算法系统设计复杂度较高,设计周期较长。对精度要求并不高的基于熵值的自动曝光计算,使用CORDIC算法显然并非完全合适。



技术实现要素:

本发明为了克服上述现有技术存在的缺陷,提供一种熵值计算装置及熵值计算方法,以优化对数函数及熵值计算。

根据本发明的一个方面,提供一种熵值计算装置,包括:

标准化模块,用于根据图像分块第i个灰度阶像素点的个数Ni获取xi和mi,mi为多项式输入的整数部分,xi为多项式输入的小数部分,Ni为自然数,i为大于等于0小于等于n的整数,n为图像分块的灰度阶数;

对数函数拟合的计算模块,用于将Ni作为第i个时钟周期的信号值,根据xi和mi获取所述多项式的拟合输出log2Ni,包括:

k+1个计算单元,每个所述计算单元包括一个子求和模块及t个子乘积模块,k为所述拟合多项式的阶数,t为大于等于0小于等于2的整数,其中,

在第一个计算单元至第k个计算单元中,第r个计算单元用于向第r+1个计算单元输出

第k+1个计算单元用于输出

其中,xi和mi根据公式获得,mi为整数,r为大于等于1小于等于k的整数,p0~pk为多项式系数;

相乘模块,用于将所述log2Ni的拟合输出与Ni相乘;

累加模块,用于计算其中,将所述log2Ni的拟合输出作为log2Ni;以及

相减模块,用于计算p减去所述累加模块的输出值以获得该图像分块的熵值,其中,p=log2P,P为该图像分块的像素总数。

可选地,在当前时钟周期下,信号值Ni的xi和mi位于第r个计算单元计算

在下一个时钟周期下,新的信号值进入所述对数函数拟合的计算模块,信号值Ni+1的xi+1和mi+1位于第r个计算单元计算且信号值Ni的xi和mi位于第r+1个计算单元计算其中,i为整数,信号值Ni+1为信号值Ni之后一个时钟周期下的信号值。

可选地,第一个计算单元包括一个子求和模块,第一个计算单元用于向第二个计算单元输出mi+p0。

可选地,第二个计算单元包括一个子求和模块和一个子乘积模块,第二个计算单元用于向第三个计算单元输出mi+p0+p1xi,其中,该子乘积模块用于计算p1xi,该子求和模块用于将第一个计算单元输出的mi+p0和该子乘积模块计算p1xi相加。

可选地,第三个计算单元至第k+1个计算单元中各计算单元包括一个子求和模块和两个子乘积模块,第三个计算单元至第k个计算单元中,第r个计算单元用于向第r+1个计算单元输出其中,该两个子乘积模块中的一个子乘积模块用于计算xr-1,该两个子乘积模块中的另一个子乘积模块用于将与pr-1相乘,该子求和模块用于将第r-1个计算单元输出的与相加。

可选地,其特征在于,其中,M为Ni的最大bit数。

可选地,所述拟合多项式的拟合阶数越高,所述装置的误差越低。

根据本发明的又一方面,还提供一种熵值计算方法,

根据图像分块第i个灰度阶像素点的个数Ni获取xi和mi,mi为多项式输入的整数部分,xi为多项式输入的小数部分,Ni为自然数,xi和mi符合公式m为正整数,i为大于等于0小于等于n的整数,n为图像分块的灰度阶数,;

计算作为log2Ni的拟合输出,其中,k为所述拟合多项式的拟合阶数,p0至pk为所述拟合多项式的多项式系数;

将log2Ni的拟合输出作为log2Ni,计算以获得该图像分块的熵值,其中,p=log2P,P为该图像分块的像素总数。

可选地,2m-1<M≤2m,其中,M为Ni的最大bit数。

可选地,所述拟合多项式的拟合阶数越高,所述装置的误差越低。

相比现有技术,本发明基于多项式逼近法,通过对整个计算域进行分段、迁移,综合考虑精度和计算域的要求,提出了一种优化的熵值计算方法及其电路结构。其优势在于:

1)能够在保证精度的前提下,采用更简单的公式,更少的参数完成对对数函数的拟合。而传统的多项式逼近法,多项式的复杂度与计算区域的大小成正比,即随着计算区域的扩大,多项式参数数量和阶数也随之扩大。但本发明采用的基于优化多项式逼近法的对数函数拟合方案,通过将较大数量级的数据,回归为固定多项式拟合区域,由于该拟合区域区间长度较小,能够以更少的参数完成拟合。这一特点大大减少了参数存储所需消耗,同时由于参数减少,定点化的难度也进一步降低。

2)对于不同精度,不同范围的对数函数运算,存在较好的扩展性。由于查找表的特性,当进行较大数据的计算时,不可避免的出现阶跃现象,即相邻的两个时钟周期的信号值,对应的数据输出存在较大的数据差值。而本发明所述的对数函数计算方法,在减少了参数的同时,依旧保持了多项式法连续性较好的特点。

3)适应于高速电路的要求。由于在整个计算过程中,均可采用流水线的相乘模块,在时钟周期的信号值位宽较大的情况下,可以通过增加相乘模块流水线的级数达到适应高速时钟的需求。

4)强大的性能提高能力和扩展性。采用本发明所述的基于优化多项式拟合方案的电路其量化和扩展性更更强。通过增加多项式的阶数能够有效提高拟合精度,且其成本远小于基于查找表的方案。通过增加mi的位宽,能够有效扩展计算数据的范围。

附图说明

通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显。

图1示出了根据本发明实施例的用于自动曝光的熵值计算方法的流程图。

图2示出了根据本发明实施例的用于自动曝光的熵值计算装置的示意图。

图3示出了根据图2中对数函数拟合的结构示意图。

图4示出了根据本发明具体实施例的对数函数拟合的计算模块的结构示意图。

图5示出了根据本发明的多阶拟合阶数与误差关系的曲线图。

图6示出了根据本发明具体实施例的多项式定点化参数的示意图。

图7示出了根据本发明具体实施例的log2函数计算关键节点计算结果。

图8示出了根据本发明具体实施例的结构整体关键节点计算结果。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

本发明基于多项式逼近法,通过对整个计算域进行分段、迁移,综合考虑精度和计算域的要求,提出了一种自动曝光中熵值的计算方法和计算装置。

下面将说明本发明的原理。由于数字电路的特殊性,所有数据都是二进制表示,而在图像熵值计算过程中选取不同的底数显然是没有意义的,因此统一选取底数为2。

其中,E为所要计算的熵值,n为图像分块灰度阶数,i表示第i个灰度阶(灰阶自0开始起算),P为图像分块中像素点的总数,一般而言,P为固定值,Ni为第i个灰度阶像素点的个数,此处,pi为第i个灰度阶像素占分块像素总数的比例。

mi为加性因子,表征对数运算后的整数部分,并且M为Ni的位宽,xi作为多项式的输入,用于计算小数部分。将公式(2)代入公式(1)中,可得:

由于xi的定义域较小,可以用较低阶数的多项式公式进行拟合,具体如公式(4)所示:

得到公式(5)

p=log2P (6)

公式(5)中,p、p0~pj为稳定的参数,p由公式(6)计算得到,p0~pj为多项式系数,可根据拟合模型得到;xi和mi根据时钟周期的信号值Ni得到。如此,对图像熵值的计算优化成为了相对简单的积之和的形式。计算基本流程如图1所示。

图1示出了根据本发明实施例的用于自动曝光的熵值计算方法的流程图。图1共示出了5个步骤:

首先是步骤S110:根据图像分块第i个灰度阶像素点的个数Ni获取xi和mi,mi为多项式输入的整数部分,xi为多项式输入的小数部分,Ni为自然数。

具体而言,xi可根据Ni的定点化处理获得。其中,M为Ni的最大bit数。步骤S110中,可以利用二分法根据Ni的最大bit数M计算mi的值。xi和mi符合公式N、mi为正整数;

步骤S120:根据xi和mi获取所述多项式的拟合输出log2Ni。

具体而言,

拟合多项式可以表示为:

其中,k为拟合多项式的拟合阶数,p0~pk为多项式系数,根据log2(1+xi)的拟合模型得到。

步骤S130:计算

具体而言,步骤S130可以通过三个步骤来实现:

步骤S131:将log2Ni的拟合输出与Ni相乘。

步骤S132:计算n为图像分块的灰度阶数。

步骤S133:计算以获得该图像分块的熵值,其中,p=log2P,P为该图像分块的像素总数。

下面将结合图2描述本发明提供的熵值计算装置。图2示出了根据本发明实施例的自动曝光中熵值的计算装置的示意图。熵值计算装置可通过电路结构来实现。

计算装置200包括标准化模块201、对数函数拟合的计算模块202、相乘模块203、累加模块204、相减模块205。可选地,熵值计算装置200还包括延迟模块206。

标准化模块201用于根据图像分块第i个灰度阶像素点的个数Ni获取xi和mi,mi为多项式输入的整数部分,xi为多项式输入的小数部分,Ni为自然数。在图2所示的实施例中,标准化模块202根据valid(有效)信号,完成对Ni信号的数据转化和延迟输出。时钟周期的信号值Ni为一自然数,其位宽和大小根据具体项目而定。xi和mi分别对应对数拟合模块201的小数部分拟合输入和整数部分,定义与公式(2)中的数据定义相同。在一些具体实施例中,出于数字电路实现的考虑,xi需要进行定点化处理。mi的计算通过判断数据最大的bit数M而确定,对于较大的数据,可采用二分法加速该功能的实现。

对数拟合模块202用于根据xi和mi获取所述多项式的拟合输出log2Ni。由于数据在标准化模块201中已完成转化,将多项式拟合的范围映射到了[0,1)数据范围内,因此,可以通过统一的计算公式进行拟合。数据计算的精度和延迟由多项式的阶数、参数定点化位宽和xi定点化位宽共同决定。通过仿真计算得到:二阶多项式拟合的误差小于9‰,三阶多项式拟合的误差小于1.3‰,四阶多项式拟合的误差小于0.2‰。拟合阶数越高,误差越小。且由于数据经过映射,在每个分区中误差稳定,并不会随着数据增大而增大。优选地,可采用三阶拟合,其误差已能满足要求。

相乘模块203用于将所述log2Ni的拟合输出与Ni相乘。具体而言,在本实施例中,相乘模块203用于完成D1_Ni(Ni第一次延迟)和使能信号val_d1(valid有效信号第一次延时)的延迟,延迟的clk数(时钟周期数)由对数拟合模块202而定,保证输出的数据D2_Ni(Ni第二次延迟)、使能信号val_d2(valid有效信号第二次延时)和对数拟合模块202的输出同时到达相乘模块203。相乘模块203用于将log2(Ni)和D2_Ni(Ni第二次延迟)在val_d2(valid有效信号第二次延时)的控制下进行相乘。相乘模块203可采用流水线技术,其流水线技术的级数由Ni的位宽决定,保证相应的时序要求。

累加模块204用于计算n为图像分块的灰度阶数。具体而言,在本实施例中,累加模块204将相乘模块203的输出在val_d3(valid有效信号第三次延时)的控制下进行累加,考虑速度等因素,可能需要多级流水。累加的次数由n决定(n为图像分块灰度阶的个数),当n次累加过后,使累加数据除以P(像素总数),并输出计算结果和数据指示信号(valid)。

相减模块205用于计算以获得该图像分块的熵值,其中,p=log2P,P为该图像分块的像素总数。

延迟模块206用于延迟数据的输入和有效信号(数据指示信号valid)。

下面参见图3,图3示出了根据图2中对数函数拟合的计算模块202的结构示意图。

如图3所示,对数函数拟合的计算模块202包括k+1个计算单元(311至31k+1)。每个所述计算单元包括一个子求和模块及t个子乘积模块。k为所述拟合多项式的阶数。t为大于等于0小于等于2的整数。

在第一个计算单元至第k个计算单元中,第r个计算单元用于向第r+1个计算单元输出第k+1个计算单元用于输出其中,x和m根据公式N=2m·(1+x),0≤x<1获得,m为整数,r为大于等于1小于等于k的整数,p0~pk为多项式系数。

其中,第一个计算单元311包括一个子求和模块301,第一个计算单元311用于向第二个计算单元312输出m+p0。

第二个计算单元312包括一个子求和模块301和一个子乘积模块302,第二个计算单元312用于向第三个计算单元313输出m+p0+p1x,其中,该子乘积模块302用于计算p1x,该子求和模块301用于将第一个计算单元311输出的m+p0和该子乘积模块302计算p1x相加。

第三个计算单元至第k+1个计算单元(313至31k+1)中各计算单元包括一个子求和模块301和两个子乘积模块302及303,第三个计算单元至第k个计算单元(313至31k+1)中,第r个计算单元用于向第r+1个计算单元输出其中,该两个子乘积模块中的一个子乘积模块303用于计算xr-1,该两个子乘积模块中的另一个子乘积模块302用于将xr-1与pr-1相乘,该子求和模块301用于将第r-1个计算单元输出的与pr-1xr-1相加。

对数函数拟合的计算模块202适用流水线技术,具体而言,在当前时钟周期下,信号值Ni的xi和mi位于第r个计算单元计算在下一个时钟周期下,新的信号值进入所述计算装置,信号值Ni+1的xi+1和mi+1位于第r个计算单元计算且信号值Ni的xi和mi位于第r+1个计算单元计算其中,i为整数,信号值Ni+1为信号值Ni之后一个时钟周期下的信号值。

各模块可为电路模块,例如,各子乘积模块302及子乘积模块303为乘法器、各子求和模块301为加法器。

具体而言,在各实施例中,所述拟合多项式的拟合阶数越高,所述对数拟合模块的误差越低。进一步地,对数函数拟合的计算模块202保证在每一个节点数据同时到达,并计算出相应结果。粗实线标示出数据通路。第一子乘积模块303除了根据前一子乘积模块303的结果与xi进行相乘外还需进行数据截位。

下面结合图4至图8描述本发明提供的一个具体实施例。图4示出了根据本发明具体实施例的对数函数拟合的计算模块的结构示意图。图5示出了根据本发明的多阶拟合阶数与误差关系的曲线图。图6示出了根据本发明具体实施例的多项式定点化参数的示意图。图7示出了根据本发明具体实施例的log2函数计算关键节点计算结果。图8示出了根据本发明具体实施例的结构整体关键节点计算结果。图6至图8中数据E04表示10的4次方,E08表示10的8次方。

在本实施例中,假定计算结果进度不过分要求,选取3阶的多项式拟合(误差小于1.3‰)即满足数据的要求。

对于多项式系数小数部分进行15bit定点化,则其系数如图6所示。

输入图像已进行灰度值统计,各灰度阶中的像素点个数和各步骤计算结果如图7所示。

将图7中各个Ni作为第i个时钟周期的信号值,输入到图2所示的计算装置中,当Ni输入标准化模块后,经过二分法求取对应的mi及xi。其中,mi的数据输出扩大了2的15次方倍,对应多项式参数15bit的数据定点化。xi的数据输出对应16bit的数据定点化,对应多项式逼近函数定义域[0,1)中的值。对应输出如图7中mi和xi所示。

由于多项式选用三阶函数逼近,对应对数函数拟合的计算模块202(包括2个第一子乘积模块313、3个第二子乘积模块312及4个子求和模块311)改变为如图4中所示,对于各步骤中各数据的计算结果显示在图7中的对应位置。

累加模块根据输入的val_d2信号对输入的值进行累加和进行除法运算。一般而言,选取的统计区域总像素点个数为2的幂次倍,保证通过简单的移位运算即能够完成除法运算,或者通过简单的移位相加方式即可完成除法运算。具体是实现方案按照项目而定,不一而足。如图8所示,列出对数模块输出结果和相乘模块对应输出的输出结果。对其进行累加和除法运算,得到累加模块的输出为306888。

由于p=367946(当项目确定,其值即确定),根据累加模块的输出306888,易求得图像整体的熵值为61068,该数据对应15bit的小数定点化。

出于分析误差方面的考虑,以本示例为蓝本,分别分析2阶多项式,3阶多项式和4阶多项式log2(x)函数计算结果与真实值偏差,偏差结果如图5所示(4阶曲线整体接近误差为0,3阶曲线为浅色曲线,2阶曲线为起伏最大的曲线)。显然拟合阶数越高,精确度越高。当阶数从二阶升到四阶,整体误差最大值从300缩减到7,计算误差明显缩小。

以上仅仅是示意性地描述本发明的一个或多个实施例,在不违背本发明构思的前提下,不同的变化例都在本发明的保护范围之内。

综上所述,本发明主要克服现有几种对图像熵值模糊计算方案中的缺点,相对于查找表法,提高了计算范围,强化了可扩展性;相对于传统的多项式逼近和泰勒级数展开法,减少了参数空间的大小,扩展了计算范围,简化了逼近多项式复杂度;相对于cordic算法,在相对简单电路逻辑上,获得了相差无几的计算精度和计算速度。

本发明在多项式逼近法的基础上,在算法和电路层面进行了多重优化,并综合考虑了硬件消耗和计算速度的矛盾。

在算法层面:采用将不同的时钟周期的信号值映射到[1,2)区间的方案,在保证多项式阶数有限且较低的前提下,有效扩展多项式逼近法的计算区域,并减少不必要的系数存储空间。通过将[1,2)区间内的计算结果映射到[0,1)区间上,消除了因为负截距过大而导致的小数定点化和计算位宽扩大的问题,同时,保证在数据计算过程中,多阶时钟周期的信号值的位宽缩减能够直接通过截位进行,大大降低了电路的设计难度。进一步的使得采用统一的计算方案成为可能。采用传统的多项式拟合方案,获得较小阶数的多项式系数。在计算加性因子和小数部分输入的过程中,可采用二分法的思路,能够在时钟周期的信号值位宽较大的前提下,尽快获得所需结果,并提前进行定点化,缩减计算流程。

在装置电路方面:采用流水线思路,将乘法和加法的计算分散在计算流程中,保证计算的均衡性,使得时序策略达到相对优化。

相比于发明人提出的基于查找表的优化对数函数计算方案,本发明中提出的方案,在数据计算精度的提升阈度方面有着明显提升,只需将多项式的阶数进行相应提升,计算精度就会获得明显提升。同时,随着计算数据范围的增大,整个函数曲线是缓变得,不会出现明显的阶梯效应,保证数据的稳定性。

相比现有技术,本发明基于多项式逼近法,通过对整个计算域进行分段、迁移,综合考虑精度和计算域的要求,提出了一种优化的熵值计算方法及其电路结构。其优势在于:

1)能够在保证精度的前提下,采用更简单的公式,更少的参数完成对对数函数的拟合。而传统的多项式逼近法,多项式的复杂度与计算区域的大小成正比,即随着计算区域的扩大,多项式参数数量和阶数也随之扩大。但本发明采用的基于优化多项式逼近法的对数函数拟合方案,通过将较大数量级的数据,回归为固定多项式拟合区域,由于该拟合区域区间长度较小,能够以更少的参数完成拟合。这一特点大大减少了参数存储所需消耗,同时由于参数减少,定点化的难度也进一步降低。

2)对于不同精度,不同范围的对数函数运算,存在较好的扩展性。由于查找表的特性,当进行较大数据的计算时,不可避免的出现阶跃现象,即相邻的两个时钟周期的信号值,对应的数据输出存在较大的数据差值。而本发明所述的对数函数计算方法,在减少了参数的同时,依旧保持了多项式法连续性较好的特点。

3)适应于高速电路的要求。由于在整个计算过程中,均可采用流水线的相乘模块,在时钟周期的信号值位宽较大的情况下,可以通过增加相乘模块流水线的级数达到适应高速时钟的需求。

4)强大的性能提高能力和扩展性。采用本发明所述的基于优化多项式拟合方案的电路其量化和扩展性更更强。通过增加多项式的阶数能够有效提高拟合精度,且其成本远小于基于查找表的方案。通过增加mi的位宽,能够有效扩展计算数据的范围。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。

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