低光高动态范围图像的无运动模糊捕捉的制作方法_3

文档序号:9529459阅读:来源:国知局
与第二图像中的像素相关联的强度值与所述像素的预期强度值相比较。预期强度值从第一图像(或其他参考图像)得出。例如,在图像214的序列中,所述像素中的每个像素的预期强度值被定义为来自第一图像或其他所选参考图像的该像素的强度值。
[0056]在406,基于在404的比较将图像214的序列中的像素的强度值选择性累计以产生累计强度值。例如,并且如下面参考图7进一步描述的,与相应预期强度值差别显著(例如,超出阈值或其他准则)的强度值被丢弃,而与相应预期强度值大致相同、基本相同、或以其他方式大概相同的强度值被添加到该像素的累计强度值。
[0057]在生成所述像素中的每个像素的累计强度值之后,在408,计算设备102产生输出图像。
[0058]在一些实施例中,计算设备102执行图2中解说的组件来实现参考图4解说并描述的操作。例如,存储器组件220在被处理器204执行时使处理器204访问由计算设备102捕捉的图像214的序列中的第一图像和第二图像。
[0059]阈值组件222在被处理器204执行时使处理器204将与第一图像中的像素相关联的强度值和与第二图像中的相应像素相关联的强度值相比较。阈值组件222例如可以是每个像素处的来自参考图像的估计噪声的一个均方根(RMS)的值。
[0060]累计组件224在被处理器204执行时使处理器204基于由阈值组件222执行的比较来将与第一图像中的像素相关联的强度值和与第二像素中的相应像素的强度值选择性累计,由此产生累计强度值。例如,累计组件224丢弃与第二图像中的像素相关联的落在预期强度值的所定义范围之外的强度值。如果来自第二图像的强度值在预期强度值的所定义范围内,则累计组件224将第二图像中的该像素的强度值加到与第一图像中的相应像素相关联的强度值。
[0061]显示组件226在被处理器204执行时使处理器204使用累计强度值产生输出图像。
[0062]在一示例性实施例中,第一图像表示参考图像,且图像214的序列包括第三图像。阈值组件222进一步将与第三图像中的像素相关联的强度值和与参考图像中的相应像素相关联的强度值相比较。累计组件224进一步基于由阈值组件222所做的与第三图像中的像素相关联的强度值和与参考图像中的相应像素相关联的强度值的比较来将与第三图像中的像素相关联的强度值加到累计强度值(例如,从第一图像和第二图像产生的累计强度值)
[0063]阈值组件222可进一步基于与参考图像中的像素相关联的强度值来定义第二图像中的各像素中的每个像素的预期强度值的范围。通过将与第二图像中的像素相关联的强度值与那些像素的预期强度值的所定义范围内,则阈值组件222将与第一图像中的像素相关联的强度值和与第二图像中的相应像素相关联的强度值相比较。
[0064]接着参考图5,图5是在补偿全局移动和场景内移动之后的输出图像512生成的示例性框图。例如,图像传感器206产生图像214的序列(例如,以每个图像30毫秒的多帧猝发504)。陀螺仪210和/或加速度计208传感器产生加时间戳的位移516数据。滤波器518估计帧到帧位移520。滤波器518的示例包括例如如图6中所示的Kalman滤波器或互补滤波器602。然而,可以使用其他类型的滤波器518来估计帧间位移。帧对齐506获取多帧猝发504和帧到帧位移520作为输入。场景内主体运动检测和补偿508随后被执行,之后是多帧合成510。多帧合成510在场景内主体运动检测和补偿508之后累计不同帧中的相应像素的强度值。多帧合成510产生输出图像512。
[0065]接着参考图6,图6是用于基于来自加速度计208和/或陀螺仪210的数据来估计图像内和/或帧内位移的Kalman或互补滤波器602。加速度计读数216穿过LowPassFilterl (低通滤波器1) 604。对滤波后的加速度计读数216执行与Numer i c Integrat 1n 1 (数值积分1) 606相关联的计算来计算图像214的序列中的该两个帧之间的加速度计读数的差。所计算的加速度计读数216的差被表示为ΔΧ,ΔΥ。
[0066]对陀螺仪读数218执行与NumericIntegrat1n2 (数值积分2) 612相关联的计算,所述陀螺仪读数随后被传递通过LowPassFilter2 (低通滤波器2)610。求和616使用来自LowPassFilterl (低通滤波器1)604和LowPassFilter2 (低通滤波器2)610的输出使用下面在式(1)中示出的公式计算或以其他方式确定全局移动。
[0067]Angle = (valuel)*(Angle+gyroscope*dt)+(value2)*(Accelerometer) (1)
[0068]在上式(1)中,valuel (值1)和value2 (值2)表示权重常数,dt表示每个陀螺仪读数的时间增量,gyroscope (陀螺仪)表示每个时间增量处的陀螺仪读数,而Accelerometer (加速度计)表示加速度计读数。在一示例性实施例中,常数valuel的值为0.98,而常数value2的值为0.02。valuel和value2的值是可配置的,并且可(例如被计算设备102的用户)改变。
[0069]如果在短时间历时dt上计算,则陀螺仪读数218在一些实施例中提供更精确的读数,因为陀螺仪210可随时间漂移。短时间历时dt表示陀螺仪的工作频率。
[0070]本公开的各方面不限于Kalman滤波器或互补滤波器602。而是,可基于加速度计读数216和/或陀螺仪读数218来使用任何滤波器来计算各图像214之间的全局移动。而且,使用多个加速度计208和/或多个陀螺仪210在本公开的范围内。例如,三个陀螺仪210和三个加速度计208可在计算设备102中使用以计算三个维度中的角度。
[0071]接着参考图7,图7是解说通过拒绝在预期输出范围之外的像素强度值来选择性累计在预期输出范围内的像素强度值的示例性图示。例如,帧1和帧2中的像素的强度值在预期输出范围(例如,P1到P2)内,而帧3和帧4中的相应像素的强度值在预期输出范围外(例如,分别低于和高于预期输出范围)。帧中的强度值落在预期输出范围外的像素被拒绝,且帧中的强度值在预期输出范围内的像素被累计到累计强度值以在产生单一图像时使用。
[0072]尽管预期输出范围是基于来自参考图像的强度值的,然而预期输出范围的大小是可配置的且可被预先确定。例如,P1和P2可分别表示一强度值以上10%和该强度值以下10%。如果强度值落在该范围外,则场景内移动正在发生且该强度值被丢弃以补偿该场景内移动。相反,如果强度值落在该范围内,则任何场景内移动最小且该强度值被添加到该像素的累计强度值。替换地或附加地,预期输出范围的大小可由制造商、由计算设备102的用户、或由其他实体来定义。
[0073]接着参考图8,示出了由计算设备102捕捉的四个帧的序列。四个帧表示期间场景内移动已经发生的图像的猝发。接着参考图9A,从图8中的四个帧的序列不经处理地产生累计帧。由于场景内移动(例如,各帧中汽车相对于该平台的移动),则图9A中的累计帧被模糊。
[0074]相反,接着参考图9B,在补偿场景内移动之后(例如在执行至少图4(以及可能图3)中所解说的操作)之后,从图8的四个帧的序列产生累计帧。图9B中的累计帧远比图9A中的累计帧更清楚,从而指示来自至少图4(以及可能图3)的操作已经有效地补偿了场景内移动。
[0075]接着参考图10A,三个样本输出图像(例如,累计图像)被再现。特别是,这三个输出图像包括尚无被处理以补偿全局移动或场景内移动的样本输出图像(“无校正”)、仅用光学图像稳定(10S)处理后的样本输出图像、以及在使用图3和图4解说的操作处理后的样本输出图像(“有校正”)。“无校正”图像的检查显示出在帧的猝发期间发生的全局移动和场景内移动两者。注意,背景和汽车两者均很模糊。“仅0IS”图像的检查显示出已经对补偿全局移动作出一定尝试,因为背景在一定程度上没那么模糊,但是图像中的汽车仍旧很模糊。
[0076]与之对比,“有校正”图像的检查显示出对于全局移动和场景内移动两者均已有补偿。注意,背景和汽车两者相对于另两个图像均是很不模糊的。如此,这些图像解说了本公开的各方面如何提供了对全局移动和场景内移动两者的有效补偿。
[0077]图10B解说了来自图10A的样本输出图像的重新绘制版本。
[0078]其它示例
[0079]在一些实施例中,可定义多个超像素(superpixel)。该多个超像素中的每个超像素对应于从来自图像214中的一个或多个图像的多个像素得到的预定数目的像素。示例性的超像素可对应于像素的2x2矩阵。在这样的实施例中,参考图3和图4所解说和描述的操作对所定义的超像素来执行。例如,基于陀螺仪读数218计算所访问图像214之间的全局移动、基于所计算的全局移动重新对齐所访问图像214中的每个图像、以及将经重新对齐的所访问图像214组合为单一输出图像对所定义的超像素操作。
[0080]本公开的一些方面构想了像素强度值累计到预定义的阈值以阻止饱和。预定于阈值可基于参考图像中的像素来定义(例如,对于每个像素,该像素的强度值以上或以下的一百分比
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1