具体实施方式
为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,为本发明自动曝光装置实施例1原理图,该装置包括:传感器控制模块11、第一亮度平均值计算模块12、目标亮度阈值计算模块13、积分时间计算模块14、图像合成模块15。
传感器控制模块11控制感光像素阵列根据第一积分时间进行长时间曝光及根据第二积分时间进行短时间曝光,获取目标长时间曝光图像数据和目标短时间曝光图像数据,并将目标长时间曝光图像数据和目标短时间曝光图像数据输出给图像合成模块15。
大家所熟知的一种特殊情况,当前图像为第一帧时,传感器控制模块11控制感光像素阵列根据预设的第一积分时间进行长时间曝光及根据预设的第二积分时间进行短时间曝光,获取第一帧图像的目标长时间曝光图像数据和目标短时间曝光图像数据。
第一亮度平均值计算模块12用以计算当前长时间曝光图像数据的第一亮度平均值Y_AVER_LONG及当前短时间曝光图像数据的第二亮度平均值Y_AVER_SHORT,并将第二亮度平均值Y_AVER_SHORT输出给目标亮度阈值计算模块13,将第一亮度平均值Y_AVER_LONG与第二亮度平均值Y_AVER_SHORT输出给积分时间计算模块14。
目标亮度阈值计算模块13判断第二亮度平均值Y_AVER_SHORT的大小,得到与图像亮度相对应的第一目标亮度阈值Y_LONG_TARGET_AUTO。
积分时间计算模块14根据所述第一亮度平均值Y_AVER_LONG和第一目标亮度阈值Y_LONG_TARGET_AUTO计算第一积分时间INT_TIME_LONG,及根据所述第二亮度平均值Y_AVER_SHORT和预设的第二目标亮度阈值Y_SHORT_TARGET计算第二积分时间INT_TIME_SHORT,并将第一积分时间INT_TIME_LONG、第二积分时间INT_TIME_SHORT反馈到传感器控制模块11。
图像合成模块15,用以将目标长时间曝光图像数据和目标短时间曝光图像数据相加后平均,得到合成后图像数据。
图像合成模块15将目标长时间曝光图像数据和目标短时间曝光图像数进行合成,由于目标长时间曝光图像数据保留了暗处图像细节,目标短时间曝光图像数据保留了亮处图像细节,合成后的图像保留了整幅图像的细节,得到比较通透的图像,克服了传统自动曝光装置处理后的图像亮处和暗处清晰度较差的技术问题。
第一亮度平均值Y_AVER_LONG采用如下方式计算,将所有当前长时间曝光图像像素点亮度值Y相加得到亮度总和Y_SUM1,及将所有当前长时间曝光图像像素点个数相加得到像素点总和PIXELE_SUM1,将亮度总和Y_SUM1除以像素点总和PIXELE_SUM1,得到第一亮度平均值Y_AVER_LONG。
第二亮度平均值Y_AVER_SHORT采用如下方式计算,将所有当前短时间曝光图像像素点亮度值Y相加得到亮度总和Y_SUM2,及将所有当前短时间曝光图像像素点个数相加得到像素点总和PIXELE_SUM2,将亮度总和Y_SUM2除以像素点总和PIXELE_SUM2,得到第二亮度平均值Y_AVER_SHORT。
在图像场景变化的过程中,通过第二亮度平均值Y_AVER_SHORT来自动的选择新的第一目标亮度阈值Y_LONG_TARGET_AUTO使调整的过程平滑过度。
第二亮度平均值Y_AVER_SHORT的计算采用的是短时间曝光图像数据,所有的像素点数据是图像真实数据的体现,不会出现过曝的像素点影响对图像实际亮度的评估,故第一目标亮度阈值Y_LONG_TARGET_AUTO的计算采用第二亮度平均值Y_AVER_SHORT。
作为最优实施例,第一目标亮度阈值Y_LONG_TARGET_AUTO采用如下方式计算:首先设置最小比较阈值AVER_LOCK_L为55、最大比较阈值AVER_LOCK_H为128、最小目标值TARGET_L为133、最大目标值TARGET_H为160,最小比较阈值AVER_LOCK_L、最大比较阈值AVER_LOCK_H、最小目标值TARGET_L、最大目标值TARGET_H的值都由寄存器控制,可以根据环境给出合适的经验值。
N的值优选8,原因是不需要太多计算,还能使计算出的数据达到一定的精度。使AVER_LOCK(1)=AVER_LOCK_L;
AVER_LOCK(8)=AVER_LOCK_H;
第一差值DIFF1=(AVER_LOCK(8)-AVER_LOCK(1))/7;
比较阈值AVER_LOCK(i)=AVER_LOCK(1)+(i-1)*DIFF1,1<=i<=N。
N的值优选8,原因是不需要太多计算,还能使计算出的数据达到一定的精度。使TRAGRT(1)=TARGET_L;
TRAGRT(9)=TARGET_H;
第二差值DIFF2=(TRAGRT(9)-TRAGRT(1))/8;
目标值TARGET(i)=TRAGRT(1)+(i-1)*DIFF2,1<=i<=(N+1);
如图4所示,第一目标亮度阈值Y_LONG_TARGET_AUTO的计算过程如下:
当i=1时:
第二亮度平均值Y_AVER_SHORT<AVER_LOCK(1),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(1);
当2<=i<=N时:
如果第二亮度平均值Y_AVER_SHORT>=AVER_LOCK(1),且Y_AVER_SHORT<AVER_LOCK(2),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(2);
如果第二亮度平均值Y_AVER_SHORT>=AVER_LOCK(2),且Y_AVER_SHORT<AVER_LOCK(3),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(3);
如果第二亮度平均值Y_AVER_SHORT>=AVER_LOCK(3),且Y_AVER_SHORT<AVER_LOCK(4),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(4);
如果第二亮度平均值Y_AVER_SHORT>=AVER_LOCK(4),且Y_AVER_SHORT<AVER_LOCK(5),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(5);
如果第二亮度平均值Y_AVER_SHORT>=AVER_LOCK(5),且Y_AVER_SHORT<AVER_LOCK(6),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(6);
如果第二亮度平均值Y_AVER_SHORT>=AVER_LOCK(6),且Y_AVER_SHORT<AVER_LOCK(7),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(7);
如果第二亮度平均值Y_AVER_SHORT>=AVER_LOCK(7),且Y_AVER_SHORT<AVER_LOCK(8),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(8);
当i=N时
如果第二亮度平均值Y_AVER_SHORT>=AVER_LOCK(8),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(9)。
根据当前短时间曝光图像的第二亮度平均值Y_AVER_SHORT的大小来计算第一目标亮度阈值Y_LONG_TARGET_AUTO,第一目标亮度阈值Y_LONG_TARGET_AUTO随着第二亮度平均值Y_AVER_SHORT增大而增大,即随着图像亮度的增大第一目标亮度阈值Y_LONG_TARGET_AUTO也增大,这样利用第一目标亮度阈值Y_LONG_TARGET_AUTO计算第一积分时间INT_TIME_LONG,然后用第一积分时间INT_TIME_LONG对不同亮度情况的图像进行长时间曝光,能得到暗处细节清晰的目标长时间曝光图像数据。
第一积分时间INT_TIME_LONG采用常规模式计算,计算过程如下:首先设置第一余量MARGIN1,将第一亮度平均值Y_AVER_LONG和第一目标亮度阈值Y_LONG_TARGET_AUTO进行比较,如果第一亮度平均值Y_AVER_LONG与第一目标亮度阈值Y_LONG_TARGET_AUTO的差值大于第一余量MARGIN1,则积分时间计算模块14减小第一积分时间INT_TIME_LONG,如果第一目标亮度阈值Y_LONG_TARGET_AUTO与第一亮度平均值Y_AVER_LONG的差值大于第一余量MARGIN1,则增大第一积分时间INT_TIME_LONG,直到第一亮度平均值Y_AVR_LONG和第一目标亮度阈值Y_LONG_TARGET_AUTO的差异小于设定的第一余量MARGIN1或者第一积分时间INT_TIME_LONG已经达到极限值。
第二积分时间INT_TIME_SHORT的计算过程同第一积分时间INT_TIME_LONG的计算过程相同,首先设置第二余量MARGIN2,然后将第二亮度平均值Y_AVER_SHORT和预设的第二目标亮度阈值Y_SHORT_TARGET的差值及预设的第二目标亮度阈值Y_SHORT_TARGET与第二亮度平均值Y_AVER_SHORT的差值与第二余量MARGIN2进行比较,来确定第二积分时间INT_TIME_SHORT增大或减小,略其具体计算过程。
由于自动曝光后的图像整体亮度较暗,对所有像素点数据乘以相同的值,就能提高图像整体亮度,得到亮度合适的图像。
作为最优实施方案,本发明包括自动曝光装置实施例2,如图2所示,包括传感器控制模块21、第一亮度平均值计算模块22、目标亮度阈值计算模块23、积分时间计算模块24、图像合成模块25、增益值计算模块26、乘法计算模块27。
同装置实施例1相比,本实施例增加了增益值计算模块26、乘法计算模块27。
增益值计算模块26根据第一亮度平均值Y_AVER_LONG和第一目标亮度阈值Y_LONG_TARGET_AUTO计算第一数字增益值GLB_GAIN_LONG,及根据所述第二亮度平均值Y_AVER_SHORT和预设的第二目标亮度阈值Y_SHORT_TARGET计算第二数字增益值GLB_GAIN_SHORT。
第一数字增益值GLB_GAIN_LONG采用常规模式计算,计算过程如下:首先设置第一余量MARGIN1,将第一亮度平均值Y_AVER_LONG和第一目标亮度阈值Y_LONG_TARGET_AUTO进行比较,如果第一亮度平均值Y_AVER_LONG与第一目标亮度阈值Y_LONG_TARGET_AUTO的差值大于第一余量MARGIN1,则增益值计算模块26减小第一数字增益值GLB_GAIN_LONG,如果第一目标亮度阈值Y_LONG_TARGET_AUTO与第一亮度平均值Y_AVER_LONG的差值大于第一余量MARGIN1,则增大第一数字增益值GLB_GAIN_LONG,直到第一亮度平均值Y_AVER_LONG和第一目标亮度阈值Y_LONG_TARGET_AUTO的差异小于设定的第一余量MARGIN1或者第一数字增益值GLB_GAIN_LONG已经达到极限值。
第二数字增益值GLB_GAIN_SHORT的计算过程同第一数字增益值GLB_GAIN_LONG的计算过程相同,首先设置第二余量MARGIN2,然后将第二亮度平均值Y_AVER_SHORT和预设的第二目标亮度阈值Y_SHORT_TARGET的差值及预设的第二目标亮度阈值Y_SHORT_TARGET与第二亮度平均值Y_AVERQ_SHORT的差值与第二余量MARGIN2进行比较,来确定第二数字增益值GLB_GAIN_SHORT的增大或减小,略其具体调整过程。
乘法计算模块27将目标长时间曝光图像数据与第一数字增益值GLB_GAIN_LONG相乘得到目标高亮度图像数据,将目标短时间曝光图像数据与第二数字增益值GLB_GAIN_SHORT相乘得到目标低亮度图像数据。
大家所熟知的一种特殊情况,当前图像为第一帧时,乘法计算模块27将目标长时间曝光图像数据与预设的第一数字增益值GLB_GAIN_LONG相乘得到第一帧图像的目标高亮度图像数据,将目标短时间曝光图像数据与预设的第二数字增益值GLB_GAIN_SHORT相乘得到第一帧图像的目标低亮度图像数据。
所述第一亮度平均值计算模块22计算第一亮度平均值Y_AVER_LONG时采用当前高亮度图像数据,计算第二亮度平均值Y_AVER_SHORT时采用当前低亮度图像数据。
所述图像合成模块25将所述目标高亮度图像数据和目标低亮度图像数据进行合成。
装置实施例2的自动曝光装置计算出第一数字增益值GLB_GAIN_LONG和第二数字增益值GLB_GAIN_SHORT,并将目标长时间曝光图像数据与第一数字增益值GLB_GAIN_LONG相乘得到目标高亮度图像数据,将目标短时间曝光图像数据与第二数字增益值GLB_GAIN_SHORT相乘得到目标低亮度图像数据,提高了图像的整体亮度。
装置实施例2的自动曝光装置得到的图像数据是目标高亮度图像数据和目标低亮度图像数据进行合成后的图像数据,在合成时,采用相同的比例,即直接将目标高亮度图像数据与目标低亮度图像数据相加除以二得到。这种合成方式得到的图像数据能显示图像亮处及暗处的细节,但是精确度不高。
作为最优实施方案,本发明包括自动曝光装置实施例3,如图3所示,包括:传感器控制模块31、第一平均亮度值计算模块32、目标亮度阈值计算模块33、积分时间计算模块34、图像合成模块35、增益值计算模块36、乘法计算模块37、权重系数计算模块38。
同装置实施例2相比,本实施例增加了权重系数计算模块38。
权重系数计算模块38接收第一亮度平均值计算模块32输出的第一亮度平均值Y_AVER_LONG和第二亮度平均值Y_AVER_SHORT,并根据第一亮度平均值Y_AVER_LONG和第二亮度平均值Y_AVER_SHORT的大小计算第一权重系数COEF1、第二权重系数COEF2的值。
图像合成模块35将所述第一权重系数COEF1与目标高亮度图像数据相乘得到第一图像数据,将所述第二权重系数COEF2与目标低亮度图像数据相乘得到第二图像数据,并将第一图像数据与第二图像数据进行合成,合成后的图像能体现各个灰阶的图像细节,得到比较通透的图像。
权重系数计算模块38中第一权重系数COEF1与第二权重系数COEF2满足公式(1)、(2):
COEF1+COEF2=1; (1)
COEF1/COEF2=Y_AVER_LONG/Y_AVER_SHORT; (2)
利用公式(1)、(2)求得第一权重系数COEF1、第二权重系数COEF2的值。第一亮度平均值Y_AVER_LONG越大,第一权重系数COEF1越大,第二亮度平均值Y_AVER_SHORT越大,第二权重系数COEF2相应的也越大。
合成图像采用如下公式求得:
DATA_OUT=DATA_IN_LONG*COEF1+DATA_IN_SHORT*COEF2;
(3)
公式(3)中DATA_OUT表示合成后图像数据,DATA_IN_LONG表示目标高亮度图像数据,COEF1表示第一权重系数,DATA_IN_SHORT表示目标低亮度图像数据,COEF2表示第二权重系数。
装置实施例3中采用第一权重系数COEF1、第二权重系数COEF2来确定目标高亮度图像数据和目标低亮度图像数据占合成图像的比例,使合成后的图像清晰显现亮处和暗处的图像细节。
亮度差异较大的图像需要用图像合成的方法得到理想曝光图像,但是这种合成算法并不是在所有场景都适合,普通场景的图像采用图像合成的算法会使合成后图像偏离理想亮度很多,而普通场景的图像利用现有的自动曝光算法就能得到理想的曝光图像,基于这种情况,则需要对图像场景进行判断,在不同场景下都能合理曝光,得到理想的曝光图像。
作为最优实施例,装置实施例3中自动曝光装置还包括场景识别模块。
场景识别模块根据第二亮度平均值Y_AVER_SHORT的大小判断是高动态场景还是普通场景,产生一个体现场景类型的选择信号HDR_SEL,图像合成模块35根据选择信号HDR_SEL选择合成模式。
选择信号HDR_SEL利用如下方式求得:默认情况下为高动态场景,即选择信号HDR_SEL的值为0,预设第二阈值AVER_LOCK为比较值,及第三余量MARGIN3。该第三余量MARGIN3为了预防图像在高动态场景与普通场景之间震荡。
使LOCK_H=AVER_LOCK+MARGIN3; (4)
LOCK_L=AVER_LOCK-MARGIN3。 (5)
如图5所示,从高动态场景转换到普通场景必须满足如下条件:当前状态为高动态场景,即选择信号HDR_SEL的值为0,同时第二亮度平均值Y_AVER_SHORT<LOCK_L。则图像从高动态场景转换到普通场景,选择信号HDR_SEL的值由0变为1。
从普通场景转换到高动态场景必须满足如下条件:当前状态为普通场景,即选择信号HDR_SEL的值为1,同时第二亮度平均值Y_AVER_SHORT>LOCK_H。则图像从普通场景转换到高动态场景,选择信号HDR_SEL的值由1变为0。
当LOCK_L<=Y_AVER_SHORT<=LOCK_H时,选择信号HDR_SEL保持原值不变。
当选择信号HDR_SEL为1时,图像合成模块35不对图像进行合成,使第一权重系数COEF1为1,第二权重系数COEF2为0。直接输出目标高亮度图像数据DATA_IN_LONG。当选择信号HDR_SEL为0时,图像为高动态场景,图像合成模块35将第一权重系数COEF1与目标高亮度图像数据DATA_IN_LONG相乘得到第一图像数据,第二权重系数COEF2与目标低亮度图像数据DATA_IN_SHORT相乘得到第二图像数据,并将第一图像数据与第二图像数据进行合成,合成后的图像能体现各个灰阶的图像细节,得到比较通透的图像。
该自动曝光装置实现自动曝光的方式是使图像传感器分别用较大的积分时间和较小的积分时间对同一场景分别进行曝光,得到明暗两幅图像,长积分时间下拍摄的图像保存了暗处场景的细节,短积分时间下拍摄的图像保存了亮处场景的细节,这样把两幅图像按照一定的比例合成到一起就可以得到理想的图像,尽显明暗两处的细节。自动曝光装置提供合理的长积分时间、短积分时间、第一数字增益值及第二数字增益值,并且自动的识别需要做高动态的场景和普通场景。
如图6所示,为本发明实施例4的自动曝光方法流程图,该方法包括如下步骤:
步骤S61:控制感光像素阵列根据第一积分时间INT_TIME_LONG进行长时间曝光和根据第二积分时间INT_TIME_SHORT进行短时间曝光,获取目标长时间曝光图像数据和目标短时间曝光图像数据;
步骤S62:计算当前长时间曝光图像数据的第一亮度平均值Y_AVER_LONG;及计算当前短时间曝光图像数据的第二亮度平均值Y_AVER_SHORT;
步骤S63:判断第二亮度平均值Y_AVER_SHORT的大小,得到与图像亮度相对应的第一目标亮度阈值Y_LONG_TARGET_AUTO;
步骤S64:根据第一亮度平均值Y_AVER_LONG和第一目标亮度阈值Y_LONG_TARGET_AUTO计算第一积分时间INT_TIME_LONG,及根据第二亮度平均值Y_AVER_SHORT和预设的第二目标亮度阈值Y_SHORT_TARGET计算第二积分时间INT_TIME_SHORT;
步骤S65:将所述目标长时间曝光图像数据和目标短时间曝光图像数据进行合成。
目标长时间曝光图像数据保留暗处图像细节,目标短时间曝光图像数据保留亮处图像细节,合成后的图像保留了整幅图像的细节,得到比较通透的图像,克服了传统自动曝光装置处理后的图像亮处和暗处清晰度较差的技术问题。
大家所熟知的一种特殊情况,当前图像为第一帧时,步骤S61控制感光像素阵列根据预设的第一积分时间进行长时间曝光及根据预设第二积分时间进行短时间曝光,获取第一帧图像的目标长时间曝光图像数据和目标短时间曝光图像数据。
步骤S62中第一亮度平均值Y_AVER_LONG采用如下方法计算,将所有当前长时间曝光图像像素点亮度值Y相加得到亮度总和Y_SUM1,及将所有当前长时间曝光图像像素点个数相加得到像素点总和PIXELE_SUM1,将亮度总和Y_SUM1除以像素点总和PIXELE_SUM1,得到第一亮度平均值Y_AVER_LONG。
步骤S62中第二亮度平均值Y_AVER_SHORT采用如下方法计算,将所有当前短时间曝光图像像素点亮度值Y相加得到亮度总和Y_SUM2,及将所有当前短时间曝光图像像素点个数相加得到像素点总和PIXELE_SUM2,将亮度总和Y_SUM2除以像素点总和PIXELE_SUM2,得到第二亮度平均值Y_AVER_SHORT。
在图像场景变化的过程中,通过第二亮度平均值Y_AVER_SHORT来自动的选择新的第一目标亮度阈值Y_LONG_TARGET_AUTO使调整的过程平滑过度。
第二亮度平均值Y_AVER_SHORT的计算采用的是短时间曝光图像数据,所有的像素点数据是图像真实数据的体现,不会出现过曝的像素点影响对图像实际亮度的评估,故第一目标亮度阈值Y_LONG_TARGET_AUTO的计算采用第二亮度平均值Y_AVER_SHORT。
作为最优实施例,步骤S63中第一目标亮度阈值Y_LONG_TARGET_AUTO采用如下方法计算:首先设置最小比较阈值AVER_LOCK_L为55、最大比较阈值AVER_LOCK_H为128、最小目标值TARGET_L为133、最大目标值TARGET_H为160,最小比较阈值AVER_LOCK_L、最大比较阈值AVER_LOCK_H、最小目标值TARGET_L、最大目标值TARGET_H的值都由寄存器控制,可以根据环境给出合适的经验值。
N的值优选8,原因是不需要太多计算,还能使计算出的数据达到一定的精度。使AVER_LOCK(1)=AVER_LOCK_L;
AVER_LOCK(8)=AVER_LOCK_H;
第一差值DIFF1=(AVER_LOCK(8)-AVER_LOCK(1))/7;
比较阈值AVER_LOCK(i)=AVER_LOCK(1)+(i-1)*DIFF1;1<=i<=N。
N的值优选8,原因是不需要太多计算,还能使计算出的数据达到一定的精度。使TRAGRT(1)=TARGET_L;
TRAGRT(9)=TARGET_H;
第二差值DIFF2=(TRAGRT(9)-TRAGRT(1))/8;
目标值TARGET(i)=TRAGRT(1)+(i-1)*DIFF2,1<=i<=(N+1);如图4所示,第一目标亮度阈值Y_LONG_TARGET_AUTO的计算方法如下:
当i=1时:
如果第二亮度平均值Y_AVER_SHORT<AVER_LOCK(1),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(1);
当2<=i<=N时:
如果第二亮度平均值Y_AVER_SHORT>=AVER_LOCK(1)且Y_AVER_SHORT<AVER_LOCK(2),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(2);
如果第二亮度平均值Y_AVER_SHORT>=AVER_LOCK(2),且Y_AVER_SHORT<AVER_LOCK(3),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(3);
如果第二亮度平均值Y_AVER_SHORT>=AVER_LOCK(3),且Y_AVER_SHORT<AVER_LOCK(4),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(4);
如果第二亮度平均值Y_AVER_SHORT>=AVER_LOCK(4),且Y_AVER_SHORT<AVER_LOCK(5),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(5);
如果第二亮度平均值Y_AVER_SHORT>=AVER_LOCK(5),且Y_AVER_SHORT<AVER_LOCK(6),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(6);
如果第二亮度平均值Y_AVER_SHORT>=AVER_LOCK(6),且Y_AVER_SHORT<AVER_LOCK(7),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(7);
如果第二亮度平均值Y_AVER_SHORT>=AVER_LOCK(7),且Y_AVER_SHORT<AVER_LOCK(8),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(8);
当i=N时:
如果第二亮度平均值Y_AVER_SHORT>=AVER_LOCK(8),则第一目标亮度阈值Y_LONG_TARGET_AUTO=TARGET(9)。
根据当前短时间曝光图像的第二亮度平均值Y_AVER_SHORT的大小来计算第一目标亮度阈值Y_LONG_TARGET_AUTO,第一目标亮度阈值Y_LONG_TARGET_AUTO随着第二亮度平均值Y_AVER_SHORT增大而增大,即随着图像亮度的增大第一目标亮度阈值Y_LONG_TARGET_AUTO也增大,这样利用第一目标亮度阈值Y_LONG_TARGET_AUTO计算第一积分时间INT_TIME_LONG,然后用第一积分时间INT_TIME_LONG对不同亮度情况的图像进行长时间曝光,能得暗处细节清晰的目标长时间曝光图像数据。
步骤S64中第一积分时间INT_TIME_LONG采用常规方法计算,计算方法如下:首先设置第一余量MARGIN1,将第一亮度平均值Y_AVER_LONG和第一目标亮度阈值Y_LONG_TARGET_AUTO进行比较,如果第一亮度平均值Y_AVER_LONG与第一目标亮度阈值Y_LONG_TARGET_AUTO的差值大于第一余量MARGIN1,则减小第一积分时间INT_TIME_LONG,如果第一目标亮度阈值Y_LONG_TARGET_AUTO与第一亮度平均值Y_AVER_LONG的差值大于第一余量MARGIN1,则增大第一积分时间INT_TIME_LONG,直到第一亮度平均值Y_AVER_LONG和第一目标亮度阈值Y_LONG_TARGET_AUTO的差异小于设定的第一余量MARGIN1或者第一积分时间INT_TIME_LONG已经达到极限值。
步骤S64中第二积分时间INT_TIME_SHORT同第一积分时间INT_TIME_LONG的计算方法相同,首先设置第二余量MARGIN2,然后将第二亮度平均值Y_AVER_SHORT和预设的第二目标亮度阈值Y_SHORT_TARGET的差值及预设的第二目标亮度阈值Y_SHORT_TARGET与第二亮度平均值Y_AVER_SHORT的差值与第二余量MARGIN2进行比较,来确定第二积分时间INT_TIME_SHORT的增大或减小,略其具体计算过程。
由于自动曝光后的图像整体亮度较暗,对所有像素点数据乘以相同的值,就能提高图像整体亮度,得到亮度合适的图像。
作为最优实施方案,本发明包括自动曝光方法实施例5,如图7所示,包括:
步骤S71:控制感光像素阵列根据第一积分时间INT_TIME_LONG进行长时间曝光和根据第二积分时间INT_TIME_SHORT进行短时间曝光,获取目标长时间曝光图像数据和目标短时间曝光图像数据;
步骤S72:计算当前高亮度图像数据的第一亮度平均值Y_AVER_LONG;及计算当前低亮度图像数据的第二亮度平均值Y_AVER_SHORT;
步骤S73:判断第二亮度平均值Y_AVER_SHORT的大小,得到与图像亮度相对应的第一目标亮度阈值Y_LONG_TARGET_AUTO;
步骤S74:根据第一亮度平均值Y_AVER_LONG和第一目标亮度阈值Y_LONG_TARGET_AUTO计算第一积分时间INT_TIME_LONG,及根据第二亮度平均值Y_AVER_SHORT和预设的第二目标亮度阈值Y_SHORT_TARGET计算第二积分时间INT_TIME_SHORT;
步骤S76:根据所述第一亮度平均值Y_AVER_LONG和第一目标亮度阈值Y_LONG_TARGET_AUTO计算第一数字增益值GLB_GAIN_LONG,及根据所述第二亮度平均值Y_AVER_SHORT和预设的第二目标亮度阈值Y_SHORT_TARGET计算第二数字增益值GLB_GAIN_SHORT;
步骤S77:将所述目标长时间曝光图像数据与第一数字增益值GLB_GAIN_LONG相乘得到目标高亮度图像数据,将所述目标短时间曝光图像数据与第二数字增益值GLB_GAIN_SHORT相乘得到目标低亮度图像数据;
步骤S75:将目标高亮度图像数据与目标低亮度图像数据进行合成。
大家所熟知的一种特殊情况,当前图像为第一帧时,步骤S77将目标长时间曝光图像数据与预设的第一数字增益值GLB_GAIN_LONG相乘得到第一帧图像的目标高亮度图像数据,将目标短时间曝光图像数据与预设的第二数字增益值GLB_GAIN_SHORT相乘得到第一帧图像的目标低亮度图像数据。
同方法实施例4相比,本实施例增加了步骤S76、步骤S77,步骤S72及步骤S75也略微有所变化,下面进行详细描述。
步骤S76中第一数字增益值GLB_GAIN_LONG采用常规方法计算,计算方法如下:首先设置第一余量MARGIN1,将第一亮度平均值Y_AVER_LONG和第一目标亮度阈值Y_LONG_TARGET_AUTO进行比较,如果第一亮度平均值Y_AVER_LONG与第一目标亮度阈值Y_LONG_TARGET_AUTO的差值大于第一余量MARGIN1,则减小第一数字增益值GLB_GAIN_LONG,如果第一目标亮度阈值Y_LONG_TARGET_AUTO与第一亮度平均值Y_AVER_LONG的差值大于第一余量MARGIN1,则增大第一数字增益值GLB_GAIN_LONG,直到第一亮度平均值Y_AVER_LONG和第一目标亮度阈值Y_LONG_TARGET_AUTO的差异小于设定的第一余量MARGIN1或者第一数字增益值GLB_GAIN_LONG已经达到极限值。
步骤S76中第二数字增益值GLB_GAIN_SHORT的计算方法同第一数字增益值GLB_GAIN_LONG的计算方法相同,首先设置第二余量MARGIN2,然后将第二亮度平均值Y_AVER_SHORT和预设的第二目标亮度阈值Y_SHORT_TARGET的差值及预设的第二目标亮度阈值Y_SHORT_TARGET与第二亮度平均值Y_AVER_SHORT的差值与第二余量MARGIN2进行比较,来确定第二数字增益值GLB_GAIN_SHORT的增大或减小,略其具体调整过程。
所述步骤S77将目标长时间曝光图像数据与第一数字增益值GLB_GAIN_LONG相乘得到目标高亮度图像数据,及将目标短时间曝光图像数据与第二数字增益值GLB_GAIN_SHORT相乘得到目标低亮度图像数据。
所述步骤S72计算第一亮度平均值Y_AVER_LONG_SUITABLE时采用当前高亮度图像数据,计算第二亮度平均值Y_AVER_SHORT_SUITABLE时采用当前低亮度图像数据。
所述步骤S75将所述目标高亮度图像数据和目标低亮度图像数据进行合成。
方法实施例5的自动曝光方法计算出第一数字增益值GLB_GAIN_LONG和第二数字增益值GLB_GAIN_SHORT,并将目标长时间曝光图像数据与第一数字增益值GLB_GAIN_LONG相乘得到目标高亮度图像数据,将目标短时间曝光图像数据与第二数字增益值GLB_GAIN_SHORT相乘得到目标低亮度图像数据,提高了图像的整体亮度。
方法实施例5的自动曝光方法得到的图像数据是目标高亮度图像数据和目标低亮度图像数据进行合成后的图像数据,在合成时,采用相同的比例,即直接将目标高亮度图像数据与目标低亮度图像数据相加除以二得到。这种合成方式得到的图像数据能显示图像亮处及暗处的细节,但是精确度不高。
作为最优实施方案,本发明包括自动曝光方法实施例6,如图8所示,包括:
步骤S81:控制感光像素阵列根据第一积分时间INT_TIME_LONG进行长时间曝光和根据第二积分时间INT_TIME_SHORT进行短时间曝光,获取目标长时间曝光图像数据和目标短时间曝光图像数据;
步骤S82:计算当前高亮度图像数据的第一亮度平均值Y_AVER_LONG,及计算当前低亮度图像数据的第二亮度平均值Y_AVER_SHORT;
步骤S83:判断第二亮度平均值Y_AVER_SHORT的大小,得到与图像亮度相对应的第一目标亮度阈值Y_LONG_TARGET_AUTO;
步骤S84:根据第一亮度平均值Y_AVER_LONG和第一目标亮度阈值Y_LONG_TARGET_AUTO计算第一积分时间INT_TIME_LONG;及根据第二亮度平均值Y_AVER_SHORT和预设的第二目标亮度阈值Y_SHORT_TARGET计算第二积分时间INT_TIME_SHORT;
步骤S86:根据所述第一亮度平均值Y_AVER_LONG和第一目标亮度阈值Y_LONG_TARGET_AUTO计算第一数字增益值GLB_GAIN_LONG,及根据所述第二亮度平均值Y_AVER_SHORT和预设的第二目标亮度阈值Y_SHORT_TARGET计算第二数字增益值GLB_GAIN_SHORT;
步骤S87:将所述目标长时间曝光图像数据与第一数字增益值GLB_GAIN_LONG相乘得到目标高亮度图像数据,将所述目标短时间曝光图像数据与第二数字增益值GLB_GAIN_SHORT相乘得到目标低亮度图像数据;
步骤S88:根据第一亮度平均值Y_AVER_LONG、第二亮度平均值Y_AVER_SHORT计算第一权重系数COEF1、第二权重系数COEF2;
步骤S85:将目标高亮度图像数据与第一权重系数COEF1相乘得到第一图像数据,目标低亮度图像数据与第二权重系数COEF2相乘得到第二图像数据,将第一图像数据与第二图像数据进行合成。
同方法实施例5相比,本实施例增加了步骤S88,相应的图像合成步骤S85增加了一个权重系数调整的过程,下面详细描述。
步骤S88根据第一亮度平均值Y_AVER_LONG、第二亮度平均值Y_AVER_SHORT的大小计算第一权重系数COEF1、第二权重系数COEF2。
图像合成步骤S85将第一权重系数COEF1与目标高亮度图像数据相乘得到第一图像数据,第二权重系数COEF2与目标低亮度图像数据相乘得到第二图像数据,并将第一图像数据与第二图像数据进行合成,合成后的图像能体现各个灰阶的图像细节,得到比较通透的图像。
权重系数计算步骤S88中第一权重系数COEF1与第二权重系数COEF2满足公式(1)、(2):
COEF1+COEF2=1; (1)
COEF1/COEF2=Y_AVER_LONG/Y_AVER_SHORT; (2)
利用公式(1)、(2)求得第一权重系数COEF1、第二权重系数COEF2的值。第一亮度平均值Y_AVER_LONG越大,第一权重系数COEF1越大,第二亮度平均值Y_AVER_SHORT越大,第二权重系数COEF2相应的也越大。
合成图像步骤S85采用如下公式求得合成图像:
DATA_OUT=DATA_IN_LONG*COEF1+DATA_IN_SHORT*COEF2;
(3)
公式(3)中DATA_OUT表示合成后图像数据,DATA_IN_LONG表示目标高亮度图像数据,COEF1表示第一权重系数,DATA_IN_SHORT表示目标低亮度图像数据,COEF2表示第二权重系数。
方法实施例6中采用第一权重系数COEF1、第二权重系数COEF2来确定目标高亮度图像数据和目标低亮度图像数据占合成图像的比例,使合成后的图像清晰显现亮处和暗处的图像细节。
亮度差异较大的图像需要用图像合成的方法得到理想曝光图像,但是这种合成算法并不是在所有场景都适合,普通场景的图像采用图像合成的算法会使合成后图像偏离理想亮度很多,而普通场景的图像利用现有的自动曝光算法就能得到理想的曝光图像,基于这种情况,则需要对图像场景进行判断,在不同场景下都能合理曝光,得到理想的曝光图像。
作为最优实施例,方法施例6中自动曝光方法还包括场景识别步骤。
场景识别步骤根据第二亮度平均值Y_AVER_SHORT的大小判断是高动态场景还是普通场景,产生一个体现场景类型的选择信号HDR_SEL,图像合成步骤S85根据选择信号HDR_SEL选择合成模式。
选择信号HDR_SEL利用如下方法求得:默认情况下为高动态场景,即选择信号HDR_SEL的值为0,预设第二阈值AVER_LOCK为比较值,及第三余量MARGIN3。该第三余量MARGIN3为了预防图像在高动态场景与普通场景之间震荡。
使LOCK_H=AVER_LOCK+MARGIN3; (4)
LOCK_L=AVER_LOCK-MARGIN3。 (5)
如图5所示,从高动态场景转换到普通场景必须满足如下条件:当前状态为高动态场景,即选择信号HDR_SEL的值为0,同时第二亮度平均值Y_AVER_SHORT<LOCK_L。则图像从高动态场景转换到普通场景,选择信号HDR_SEL的值由0变为1。
从普通场景转换到高动态场景必须满足如下条件:当前状态为普通场景,即选择信号HDR_SEL的值为1,同时第二亮度平均值Y_AVER_SHORT>LOCK_H。则图像从普通场景转换到高动态场景,选择信号HDR_SEL的值由1变为0。
当LOCK_L<=Y_AVER_SHORT<=LOCK_H时,选择信号HDR_SEL保持原值不变。
当选择信号HDR_SEL为1时,图像合成步骤S85不对图像进行合成,使第一权重系数COEF1为1,第二权重系数COEF2为0。直接输出目标高亮度图像数据DATA_IN_LONG。当选择信号HDR_SEL为0时,图像为高动态场景,图像合成步骤S85将第一权重系数COEF1与目标高亮度图像数据DATA_IN_LONG相乘得到第一图像数据,第二权重系数COEF2与目标低亮度图像数据DATA_IN_SHORT相乘得到第二图像数据,并将第一图像数据与第二图像数据进行合成,合成后的图像能体现各个灰阶的图像细节,得到比较通透的图像。
该自动曝光方法实现自动曝光的方式是使图像传感器分别用较大的积分时间和较小的积分时间对同一场景分别进行曝光,得到明暗两幅图像,长积分时间下拍摄的图像保存了暗处场景的细节,短积分时间下拍摄的图像保存了亮处场景的细节,这样把两幅图像按照一定的比例合成到一起就可以得到理想的图像,尽显明暗两处的细节。该自动曝光方法提供合理的长积分时间、短积分时间、第一数字增益值及第二数字增益值,并且自动的识别需要做高动态的场景和普通场景。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。