具有用于图像数据统计的基于多帧的窗口的相机控制和图像处理的方法和系统与流程

文档序号:16317255发布日期:2018-12-19 05:31阅读:1067来源:国知局
具有用于图像数据统计的基于多帧的窗口的相机控制和图像处理的方法和系统与流程

在诸如智能手机之类的多功能设备上或者在专用数字相机上的数字图像处理设备使用自动特征来提高图像的质量,诸如在数字相机上的预览屏幕以及所记录的图像和所记录的视频。这包括用于设置参数以捕获图像的特征,诸如自动对焦(af)和自动曝光控制(aec)的3a特征。这还包括在处理被捕获的图像期间修改图像数据的其他特征(诸如3a自动白平衡(awb)特征以及其他非3a特征),或使用帧的统计信息的算法(诸如用于动态范围转换的局部色调映射和全局树映射(ltm和gtm),以及数字视频稳定(dvs))。

数字图像处理设备使用awb以便为从被捕获的图像再现的图片提供准确的颜色。awb是找到或定义图片中称为白点的白色的过程。图片中的其他颜色相对于白点被确定。尽管存在图像场景的色温差或颜色分量的不同的灵敏度,awb相对于彼此调整不同的颜色分量(例如,红色、绿色和蓝色)的增益以将白色对象呈现为白色。

自动对焦自动地调整相机透镜位置以提供在被视频记录的场景中对象的合适对焦。在各种实现方案中,数字相机可以使用相位检测自动对焦(pdaf)(pdaf也被称为相位自动对焦或基于相位的自动对焦)、基于对比度的自动对焦或两者。相位检测自动对焦分离通过相机透镜的左光线和右光线以感测左图像和右图像。比较左图像和右图像,并且可以使用相机传感器上图像位置的差异来确定用于自动对焦的相机透镜的移位。对比度自动对焦测量多个透镜位置上的亮度对比度,直到达到最大对比度。相机传感器的相邻像素之间的强度差异自然地随着正确的图像对焦而增加,使得最大对比度指示正确的对焦。af的其他方法也可以被使用。

自动曝光控制用于自动地计算和调整捕获和生成良好质量的图像所必需的正确曝光。曝光是由传感器捕获的入射光的量,且可通过调整相机的光圈大小和快门速度以及中性密度(nd)滤光器控制(当存在时)和闪光灯功率来调整曝光,其中一些可以是电子系统而不是机械设备。当机械快门速度不够快以用于最亮的照明条件时,nd滤光器有时与机械快门一起使用。aec也可以计算模拟增益和数字增益(当存在时),该模拟增益和数字增益放大由所使用的曝光时间所产生的原始图像信号。曝光参数一起确定了本文称为总曝光的总曝光时间。增益影响从相机传感器出来的原始(raw)图像的信号电平或亮度。如果总曝光太短,图像将显现得比实际场景更暗,这被称为曝光不足,并且如果信号低于本底噪声或被量化为零则图像可以是如此曝光不足以致会丢失。在另一方面,如果总曝光过长,则输出图像将显现得比实际场景更亮,这被称为曝光过度。两种情况都可以导致细节的损失,导致较差的图像质量。

为了执行由诸如上文提及的ltm和gtm之类的其他算法提供的这些3a调整和处理修改,相机系统将捕获帧的原始图像数据,并将原始图像数据提供到一个或多个处理器(诸如图像信号处理器(isp))。isp然后对原始图像数据执行计算以生成基本上指示亮度和/或色度像素值的范围和位置的被捕获图像的3a统计信息,或者基于亮度和/或色度值提供其他统计表、映射和/或图。这些3a和其他统计信息是针对视频序列的单个帧以及基于逐帧而生成的。然后可以使用统计信息以生成新的参数以便为后续帧设置3a和其他控制的相机设置。

同样在传统的数字相机系统中,消耗一定量的时间来生成3a和其他统计信息,从保存图像数据和/或其他统计信息的存储器(诸如动态随机访问存储器(dram))来回转移数据,并计算新的3a参数以应用于相机设置以用于捕获下一个图像,或修改图像数据以用于显示图像。此时间量通常花费太长的时间,导致应用新的3a参数的等待时间,使得不是在分析当前帧之后将新参数应用于下一帧,而是直到与当前被分析的帧相距至少两个帧或三个帧才应用新参数。这种延迟可能导致对用户明显的较低质量的图像。一些“运行中(on-the-fly)”的系统试图通过减少存储器事务并且不管分析是否完成都将新参数应用于下一个帧来解决这个问题。然而,这也可以导致明显的伪像和较低质量的图像。

附图说明

本文中所描述的资料通过示例方式而非限制性方式在所附附图中示出。为说明简单和清楚起见,附图中所示出的元件不一定是按比例绘制的。例如,为了清楚起见,可将一些元件的尺寸相对于其他元件扩大。此外,在被认为合适的情况下,在多个附图之间重复多个附图标记以指示对应或类似的元件。在附图中:

图1是用于传统的3a操作的视频帧处理时间图的示意图;

图2是根据本文的实现方案中的至少一个的用于3a操作的视频帧处理时间图的示意图;

图3是根据本文的实现方案中的至少一个的具有用于图像数据统计的基于多帧的窗口的相机控制和图像处理的方法的流程图;

图4a-4b是示出根据本文的实现方案中的至少一个的用于相机控制和图像处理的当使用滚动式快门的3a操作的示意性时序图;

图5是根据本文的实现方案中的至少一个的具有用于图像数据统计的基于多帧的窗口的相机控制和图像处理的方法的详细流程图。

图6是根据本文的实现方案中的至少一个的在非运行中模式中的3a操作的过程的示意图;

图7是根据本文的实现方案中的至少一个的在部分运行中模式中的3a操作的过程的另一个示意图;

图8是根据本文的实现方案中的至少一个的在完全运行中模式中的3a操作的过程的另一个示意图;

图9是根据本文的实现方案中的至少一个的由图像处理设备操作中的具有用于图像数据统计的基于多帧的窗口的相机控制和图像处理的方法;

图10是示例图像处理系统的示图;

图11是示例系统的示图;以及

图12是完全根据本公开的至少一些实现方案布置的示例系统的示图。

具体实施方式

现在参考所附附图描述一个或多个实现方案。尽管讨论了特定的配置和布置,但是,应当理解,仅出于说明性目的而这样做。相关领域内的技术人员将认可,可采用其他配置和安排而不背离本说明书的精神和范围。对相关领域内的技术人员显而易见的是,也可在本文所描述内容以外的各种其他系统和应用中采用本文所描述的多种技术和/或安排。

尽管以下描述陈述了可在诸如例如芯片上系统(soc)架构之类的架构中显示的各种实现方案,但是本文所述的多种技术和/或安排的实现方案不限于特定的架构和/或计算系统,并且可由用于类似目的的任何架构和/或计算系统来实现。例如,使用例如多个集成电路(ic)芯片和/或封装的多种架构、和/或各种计算设备和/或诸如机顶盒、智能电话、相机、膝上型计算机、平板电脑等的消费者电子(ce)设备可实现本文所述的技术和/或安排。此外,尽管下列描述可能陈述了诸如逻辑实现、系统组件的类型和相互关系、逻辑划分/集成选择等的诸多具体细节,但是可在不具有此类具体细节的情况下实现所要求保护的主题。在其他实例中,可能不详细地示出诸如例如控制结构和完整的软件指令序列之类的某些资料,从而避免使本文所公开的内容不清楚。

本文所公开的内容可实现在硬件、固件、软件或它们的任意组合中。也可以将本文所公开的内容实现为存储在机器可读介质上的指令,可由一个或多个处理器读取并执行这些指令。机器可读介质可包括用于以机器(如,计算设备)可读的形式存储或传送信息的任何介质和/或机制。例如,机器可读介质可包括只读存储器(rom);随机存取存储器(ram);磁盘存储介质;光存储介质;闪存设备;电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)等等。在另一形式中,诸如非瞬态计算机可读介质等非瞬态制品可以与上述示例或其它示例中的任一个联用,不同之处在于它本质上不包括瞬时信号。它本质上包括除了信号之外的可以按诸如ram等“瞬态”方式临时保存数据的那些元件。

在说明书中提到“一个实现方案”、“实现方案”、“示例实现方案”等表明所描述的实现方案可包括特定的特征、结构或特性,但每个实现方案可能不一定都包括该特定的特征、结构或特性。此外,此类的短语不一定是指同一个实现方案。此外,当结合实现方案描述特定特征、结构或特性时,认为结合无论是否在本文中明确描述的其他实现方案以实现此类特征、结构或特性是在本领域技术人员的知识范围之内的。

具有用于图像数据统计的基于多帧的窗口的相机控制和图像处理的系统、制品和方法

如上所提及的,许多数字相机和具有一个或多个相机的多用途设备提供自动控制功能,诸如包括设置相机上的透镜位置的自动对焦(af)、设置曝光时间的自动曝光控制(aec)和优化在所得图像上显示的颜色的自动白平衡(awb)的3a特征。同样如所提及的,这些控制中的每一个使用统计信息以便生成新参数或设置来执行这些功能。这些3a和其他统计信息的生成限于逐帧的基础。ltm或gtm(局部或全局色调映射)使用这些其他的统计信息,这些统计信息也是根据帧的,并且被用于计算帧处理调整,以指出所使用的其他非3a统计信息的一个可能的示例。

更具体地,通过关于自动对焦(af)的一个示例,相机可以使用相位检测自动对焦(pdaf)(pdaf也被称为相位自动对焦或基于相位的自动对焦)、基于对比度的自动对焦或两者。相位检测自动对焦分离通过相机透镜的左光线和右光线以感测左图像和右图像。比较左图像和右图像,并且可以使用相机传感器上图像位置的差异来确定用于自动对焦的相机透镜的移位。相位检测自动对焦可以允许数字相机基于被捕获的信息的单个帧来确定透镜位置移动的正确方向和量。

可替代地,可以利用对比度测量来实施自动对焦。典型地将对比度计算为在色度或亮度像素值中的(或换句话说,在拜耳(bayer)或yuv域中的图像像素上的)在x(水平)方向上的图像梯度之和(可替代地为x和y方向上的梯度之和)。在对比度自动对焦技术中,在多个透镜位置上测量亮度对比度,直到达到最大对比度。在相机的传感器的相邻像素之间的强度差异自然地随着正确的图像对焦而增加,使得最大对比度指示正确的对焦。为了在使用此技术时确定补偿透镜偏移,3a统计信息包括对比度或梯度图及其和,以及用于对比度自动对焦的帧的和和/或用于相位检测自动对焦的像素对的强度或左图像和右图像的色差的图。

可以使用的另一个自动对焦值是锐利度(sharpness)的测量。本文的锐利度是指在不同色调和/或颜色的图像的区域之间的边界处的模糊性的测量。通常地,可以基于高通滤波器与逐行计算的图像数据的卷积来计算锐利度或聚焦值。调制变换函数(mtf)和空间频率响应(sfr)是可用于测量锐利度的技术中的一些技术。将理解,本文的锐利度可以是在可用于图像的可能的比例上测量的相对术语,并且在没有单位的情况下被提及。

因此,用于自动对焦的3a统计信息可包括对比度或梯度图(和/或其和)、左相位图像和右相位图像的差异、上相位图像和下相位图像的差异、锐利度值和/或对比度值。图像的低分辨率表示也可以用于表示图像信号的强度水平。统计信息数据可以从在图像重建流水线/图像信号处理器(isp)内的多个位置被提取。例如,可以在应用黑电平校正、线性化和阴影校正之后提取数据。除了图像统计信息之外,算法还可以使用元数据(诸如有效的曝光参数)以及来自其他相机控制算法的结果作为算法计算的附加输入。这些自动对焦统计信息然后可以由af控制或逻辑组件使用以用于处理af算法中的数据,并且对于接下来将透镜移动到哪里做出决定。

关于自动曝光控制(aec),统计信息可以包括亮度直方图或其他强度测量图、原始图像的低分辨率表示,并且作为一个示例以低分辨率局部或全局亮度直方图的形式用于要被用于计算帧的平均亮度的帧的数据值(worthofdata),以便然后生成数字增益和模拟增益、并进而生成曝光时间。通过其他3a控制也可以使用这些统计信息。

关于自动白平衡(awb),诸如通过相关性、色域映射、灰度边缘和/或灰色世界awb来着色之类的方法可以用于确定白点和rgb增益。所使用的3a统计信息可以包括针对每个颜色分量的颜色平均值(原始图像的低分辨率表示)。

可以被生成无论用于3a操作还是其他功能的其他一般统计信息可以包括亮度和/或色度平均值、亮度和/或色度高频率和纹理内容、从帧到帧的运动内容、任何其他颜色内容值、关于解块控制(例如控制解块和/或非解块的信息)的图片统计数据、rgbs网格、滤波器响应网格和rgb直方图,列举数例。一种特定类型的一般统计信息是局部或全局色调映射(ltm或gtm)技术,例如其被用于在高动态范围颜色和低动态范围之间转换,或可被用于其他算法。其他统计信息可被用于数字视频稳定,也称为电子图像稳定(eis),其在一些摄像机中被用于从视频帧到视频帧移位电子图像,并且足以抵消相机的运动(诸如用户手的抖动)。该技术可以使用在可见帧的边界外的像素来为运动提供缓冲,并且通过使从一个帧到另一个帧的过渡平滑来减少来自视频的干扰振动。该技术使用包括局部运动矢量(即从一帧到另一个帧的运动图)的像素数据和统计信息,且其包括来自在所提及的边界外的数据。

其他一般统计信息可以用于本文描述的多帧统计信息窗口,并且本文的描述不限于任何一种类型的统计信息。通常,所有收集的统计信息可以由相机控制算法中的任何一个使用。也就是说,一种类型的统计信息不限于一种类型的相机控制算法。

在成像和相机算法领域中的统计信息的大部分传统地在帧级别上被计算、收集和处理。因此,短时间窗口可以被设置,其中请求传输新3a参数、3a统计信息被生成并被传输到3a组件以供使用。如果窗口在传输完成之前关闭,则新设置不在传感器的下一个图像或帧中被使用,而在下一个可用帧中被使用,下一个可用帧可能是与正被分析的当前帧相距两个帧或三个帧。由于控制处理单元(cpu)处(无论是在相机传感器控制、图像信号处理器(isp)处,还是在其他共享处理器处)的带宽,这些延迟或等待时间可能出现,使得相机控制模块或处理器可能忙于其他处理任务。否则,延迟可能简单地由于在系统组件的任何之间的数据传输路径上的带宽而发生,包括去往和来自诸如存储图像数据和/或统计信息的dram之类的存储器的存储器事务。这些延迟增加由图像的模糊部分(关于af)、亮度突变(关于aec)和错误的显示颜色(关于awb)造成的明显的低质量图像的风险。其他影响或延迟功能也可能因上文提及的其他一般统计信息的延迟而产生。

例如参考图1,视频处理序列100举例说明了这些缺点,视频序列的被捕获帧被示出为包括从帧fn-1(102)到帧fn+3(110)的图像数据输入。在该示例中,获得输入数据,并且在3a统计计算(stat.calc.)时段111期间并且通过使用例如isp流水线对于帧fn(104)生成3a和其他统计信息。然后统计信息与图像数据一起被存储在诸如dram之类的帧缓冲器或其他存储器中(除非正在执行运行中操作)并在3a库处理单元112期间被使用以生成新参数。取决于统计信息的类型和所需的计算量,统计信息的该分析可以在vblank期间或之后在捕获和接收帧fn+1(106)的输入期间在某处理器上发生。取决于生成新参数的等待时间以及是否在每个帧的截止时间之前生成新参数,新参数被应用在下一个可用帧fn+1、fn+2和/或fn+3上。如图所示,应用模块114可以是对焦模块或其他3a应用模块,或诸如用于使用ltm和/或gtm、dvs等进行动态范围转换的非3a应用模块。应用模块114接收自动对焦参数并可以具有足够的时间以在帧fn+1(106)的输入期间应用那些参数来改善对于在帧fn+1上的积分或像素行(或排(row))的至少一些的透镜对焦,并为其后的诸如帧fn+2等之类的帧设置。可以由传感器应用自动曝光或其他参数,并且可以在由传感器/成像管道116生成参数之后将自动白平衡参数应用到图像数据。在该示例中,所示的等待时间导致参数被应用到帧fn+2或者可替代地帧fn+3(如虚线所示)。简而言之,由于用于帧缓冲所消耗的时间,以及进而更多的内存带宽和功耗,以及上文提及的其他原因,当这些等待时间不允许将基于fn(104)数据的新3a的所有或其他参数应用于改善紧接的下一个帧fn+1的更实质部分时,可能导致明显的低质量图像。

同样如提及的,如果成像流水线和处理是在“运行中”(otf)被执行而没有将图像数据存储在dram上以便在紧接的下一帧上应用3a或其他参数,则这可能对于算法中的一些特别成问题。在这些情况下,统计信息的无论哪部分不能及时被生成,或者新参数计算的的无论哪部分不能及时被执行,都会被简单地略过。这可能通过部分应用迄今为止或直到帧截止时间生成的新参数来改变下一个帧的全部或部分,该截止时间确实使其进入截止时间窗口以便将参数应用于下一帧,或简单地略过一些3a改进。如果使用“运行中”的技术将新参数应用于下一个帧fn+1而不管新参数的条件如何,则经常不存在足够的时间来生成可接受的新参数并在下一帧的捕获开始之前准时地应用新参数(因为典型地在帧的中间应用不是可接受的并且可能导致不期望的伪像)。

另一个困难发生,其关于用于具有被用于改善图像质量的3a统计信息和许多其他一般统计信息的存储器事务所消耗的时间。作为上述提及的一个示例,这样的一般统计信息可以包括用于动态范围转换的局部或全局色调映射(ltm和gtm)。如果使用帧缓冲器来存储所收集的数据以及图像数据来生成统计信息并且存储在诸如ram之类的存储器中(作为一个示例dram),则传统的3a和其他一般统计信息的数据收集、计算和应用是最佳的。这提供了分析帧fn的时间,例如用于ltm参数,并且通过在显示帧fn之前将ltm参数应用于帧n的图像数据,仍然影响相同帧fn的显示。然而,如果帧缓冲器是不可用的,例如故意地为了降低功耗,则使用统计信息的特征可能无法在最佳级别或高质量级别下操作。如提及的,当不存在足够的时间来及时地生成那些统计信息以改善正被显示的当前帧时,这种类型的运行中操作将省略统计信息的生成。图像处理系统然后略过改善图像质量但需要统计信息来操作的特征的应用。这适用于使用其他一般统计信息或者甚至将3a统计信息用于其他目的的许多特征。在最好的情况下,在fn结束时准备好的统计信息计算可以应用于帧fn+2。此等待时间可能导致伪像或性能下降,特别是在具有改变的光条件或具有运动的帧中。

为了解决这些问题,表示统计信息的单个帧的统计信息从在早前帧中有效地提供统计信息的两个帧获得,或者比传统系统更早地在帧捕获(或isp处理)期间获得。具体地,本文公开的方法和系统基于生成和使用统计信息所需的应用时间来计算3a和其他统计信息,以使用针对应用的多帧统计信息收集窗口而不是纯粹基于帧的应用系统来提供新的参数。该方法使3a和其他统计信息更早地可用于分析,并对于“运行中”模式实现更小的帧延迟。这是通过依靠与例如许多基于互补金属氧化物半导体(cmos)快门一起使用的电子滚动式快门,并且在几乎整个视频序列且从帧到帧执行连续曝光来实现。具体地,全局快门同时曝光帧中的所有行,并且然后一行接着一行地读取,由此创建在帧之间的非常明确清晰的时间上的数据中断。相反,在滚动式快门中,帧的所有行开始在不同的时间点且一个接着另一个曝光(如下面讨论的图4a-4b所示)。利用这种安排,第一帧(帧fn-1)的较晚行的曝光的完成在时间上可能接近或甚至与下一个帧(fn)的较早行的曝光重叠。因此,通过使用滚动式快门将数据从帧到帧的分离与在全局快门的情况下相比在时间上显着不太显著。

此方法通过组合来自两个相继帧(诸如帧fn-1的较晚排(或积分或像素行)和帧fn的较早排)的统计信息来利用这个概念。这导致对帧fn的数据的至少一些的3a和其他统计信息分析的更早完成,并且尽管使用帧fn-1的数据其基于统计信息的完整的单个帧。这进而允许比传统处理早一个帧应用所得的参数,尽管接收新参数的影响或效果的实际帧取决于图像信号处理器(isp)的速度和容量、算法影响以实现3a或其他特征的相机寄存器、3a实现机制(例如透镜马达)、存储器事务量和系统存储器事务带宽,和/或算法的计算时间,如下文详细解释的。

例如参考图2,视频处理序列200已经捕获包括从帧fn-1(202)到帧fn+2(208)的图像数据输入的视频序列的帧,并且在运行中模式中示出。运行中(otf)的处理模式是指在帧的捕获期间完成的处理,只要对于完整或部分的帧延迟,帧进入isp而没有进入芯片外或芯片上的存储器(诸如ram)。在这个示例中,系统通过在与帧fn-1和fn两者的输入和处理时间重叠的3astatcalc.时段210期间收集来自第一帧fn-1(202)和第二帧或当前(或下一个)帧fn(204)两者的部分的数据来收集数据以形成完整单个帧的统计信息值(worthofstatistics)。在两个帧之间的传统的isp空闲时段和vblank时段也可能或不可能被用于生成统计信息。序列200上所示的过程使用运行中(otf)的模式,其中统计信息数据从两个连续帧收集并用于在下一个帧之前计算新捕获或处理的参数。如图示,可以在生成新参数的3a库处理时段212期间处理统计信息。然后,新af参数可以由对焦模块214被应用至少在也被用于首先生成统计信息的后面部分的相同的当前帧fn的部分上。否则,统计信息可以在传感器/成像管道时段216期间被应用并被应用于帧fn+1,该帧仅比帧fn提前一帧。通过从新参数被应用至的相同帧或者仅在应用新参数的帧之前的一个帧的图像数据生成统计信息,可以显著地改善图像的质量。如下所解释,这种布置还可以减少存储器、带宽和相关的功耗。

参考图3,根据本公开的至少一些实现方案布置本文描述的具有用于图像数据统计的基于多帧的窗口的相机控制和图像处理的示例过程300。在所图示的实现方案中,过程300可包括由偶数编号的操作302至306中的一个或多个所图示的一个或多个操作、功能或动作。作为非限制性示例,过程300将在本文中参照本文所描述的以及相关的示例性图像处理系统的任何来描述。

过程300可以包括“接收视频序列的帧的被捕获的图像数据”302。在一个示例中,相机或图像传感器可以以被捕获帧的形式提供图像数据并且该图像数据被放置在输入系统的比特流中,并且被提供给诸如图像信号处理器(isp)之类的一个或多个处理器。此操作可以包括对图像数据进行的任何预处理,以准备要被用于生成统计信息的数据。细节在下文被解释。

过程300还可以包括“生成图像数据统计信息的单个帧的表示,包括提供使用一个、两个或更多个帧的图像数据以生成统计信息的选项”304,并且具体地,图像数据可以被获得并被用于计算在多帧统计信息收集窗口中收集的统计信息,该多帧统计信息收集窗口在时间上在两个或更多个帧上延伸并且至少重叠处理两个帧(并且通过一种形式两个相继帧)的图像数据的时段。所获得的图像数据(诸如色度和/或亮度像素值之类)表示形成完整单帧的像素,并且作为一个示例在空间上表示单帧。例如,这可以包括第一帧或前一帧fn-1的下部(或底半部)的排中的像素的图像数据,以及当前帧fn的上部(或顶半部)的行中的像素的图像数据。窗口可以取决于影响诸如帧fn或fn+1之类的特定帧的截止时间而开始和结束。通过又另一个示例,特定类型的统计信息可以被专门用于在帧上的识别的感兴趣区域(roi)。在这种情况下,窗口的开始和结束可以被设置为捕获roi的图像数据。因此,通过这些形式,窗口的持续时间可以至少部分地取决于正在被生成的统计信息的类型、roi的位置(当roi正在被作为目标时)和/或需要多少时间来生成该统计信息。细节在下文被提供。通过一种形式,窗口被设置为使得空间的单帧表示包括与如同从单个帧获得的完全相同的像素的数量和位置的图像数据。通过一种形式,两个帧中的每一个贡献用于统计信息的单个帧的表示的图像数据的一半或接近一半(诸如在一排内)。通过替代方法,窗口包括使用数据生成统计信息,该数据与两个贡献帧中的一个帧相比更多地来自从两个贡献帧中的另一个帧的像素排线(rowlines)。通过一种替代形式,窗口分别在每个第一帧和第二帧上具有相同的固定开始和结束位置,但是通过另一种替代方式,至少部分地取决于窗口何时具有足够的图像数据来开始生成统计信息以及何时它不与先前窗口重叠,窗口的开始和/或结束的位置可以逐帧地改变。通过又另一个替代方案,帧表示可以不是严格地空间的(或者仅仅是全局空间的而不是局部空间的)。换句话说,例如,在多帧窗口内使用的图像数据可能不是连续的逐排图像数据。在这种情况下,用于表示统计信息的单个帧的图像数据仅位于窗口的空间开始和结束之间,但是以其他方式可以是任何图案、形式或顺序,包括随机选择,只要单个帧的统计信息值正在被表示。

在一些情况下,使用来自多帧窗口的一帧或少于一帧的统计信息而不是更多的帧(并且即使正在使用多帧窗口),因为一些标准还没有或不能满足诸如帧截止时间,使得多帧窗口无论如何不能提供好处,或者在帧之间的参数已经显著地改变的情况下(诸如以场景中断为例),并且使得中断本身影响在帧之间的统计计算。在这种情况下,系统可以恢复回到传统的基于单帧的统计信息收集。其他标准可能存在,例如诸如速度(比特率)或基于质量的阈值。以其他形式,当被捕获的参数在帧之间(例如从fn到fn+1)改变时,所计算的统计信息可以被用于形成缩放计算以使一个帧的统计信息与另一个帧的统计信息匹配,就像统计信息在同一帧上用相同的参数被进行。在这种情况下,有效地,来自单个帧(来自在从多帧窗口的统计信息的单个帧的表示内)的统计信息被应用于另一个帧的数据,由此使用来自多帧窗口的统计信息的单个帧或更少的帧。

通过又其他替代方案,多帧窗口可以包括多于一个帧的统计信息值以形成表示。在这种方法中,算法可能能够使用fn的底部和全部fn+1,并且处理重叠像素位置或区域(诸如例如像素排)的统计信息中的差异或其他情况下的帧的相关区域,如果统计信息由于例如照明条件或运动而变化并且需要进一步的调整新计算的参数,并且导致然后被应用的修改后的参数并且可以减少或消除来自在照明或运动中的变化的影响。这可以与ltm或aec计算一起使用,列举数例。在这种情况下,正在使用11/2帧的统计信息值。然后将理解到,提及一个、两个或更多个帧是指实际从由多帧窗口收集的统计信息数据使用的多达一个、两个或更多个统计信息数据的帧。统计信息的推导可以有效地形成单个帧的统计信息值的表示,其被视为统计信息的单个帧以计算参数。

另外,在窗口期间生成的统计信息的类型可以是用于更新相机参数以捕获后续图像的统计信息(诸如3a统计信息(awb、aec和/或af))或用于修改像素数据以诸如用数字视频稳定或动态范围转换统计信息(如上所述使用ltm和/或gtm)来改善被显示的图像的统计信息,列举数例。可以使用上面提及的任何示例的统计信息,或者可以在小于整个实际帧的单位中生成的像素、排、块或其他基础上生成的任何统计信息,或者以其他方式不限于图像的单个相同捕获的任何统计信息。统计信息总数(诸如每帧的平均强度或颜色)可能或可能不在窗口期间被生成,而替代地可能在窗口之后被生成。

过程300可用“允许访问图像数据统计信息的单个帧的表示以设置图像捕获参数以便捕获视频序列的下一个可用帧或修改图像数据以便处理视频序列的下一个可用帧或两者”306继续操作。换句话说,表示单个帧的被收集的图像数据可以用于生成用于自动对焦、自动曝光控制和/或自动白平衡的3a统计信息。否则,表示单个帧的被收集的图像数据可用于生成被用于执行其他非3a功能的一般统计信息。这可以包括诸如数字视频稳定、局部或全局色调映射或低到高动态颜色转换的其他方法或其他功能的功能,列举数个可能的功能。使用图像数据统计信息的单个帧的许多功能应该能够使用本文描述的方法来执行。

通过一种形式,所生成的统计信息与图像数据一起被存储在诸如ram或dram之类的存储器中,使得isp可以从存储器中检索统计信息以使用统计信息来计算新3a或其他图像捕获参数,或者可以使用统计信息来修改图像数据以显示帧。下一个可用帧是指具有截止时间的帧,并且当及时生成统计信息以满足帧截止时间以影响捕获或显示那个下一个可用帧时。此外,这可能指影响整个帧或仅帧的部分的特征。在该形式中,在第二帧或当前帧(或者如在序列200中的帧fn(图2))中可以更新或应用af参数,并且当前帧fn的小部分可以由其他3a参数或显示修改来更新,但是直到下一个可用帧fn+1(它是当前帧fn之后的一个帧)才被应用。

该应用可以仅应用于帧fn+1的部分。尽管这可能对于仅能更新fn+2或fn+3后续帧的限于逐帧基础的统计信息收集是重大改善,如所提及的,这仍然可以通过运行中(0tf)的模式进行改善。如上所述,可以使用代替将图像数据(以及当被存储在ram中时的统计信息)放置在ram中的0tf模式,图像数据被用作通过将图像数据保存在更本地的存储器中,以及作为一个示例将图像数据保存在isp寄存器中,并且立即使用图像数据的统计信息来计算新参数或修改图像数据以便减少由存储器事务引起的延迟来生成。作为一个示例,从对窗口有贡献的帧的两者的图像数据生成的图像数据(以及任选的统计信息)被保存在isp寄存器中以用于完整的otf模式。这使得新参数能够更早地被应用于对窗口有贡献的相同的(或第二)当前帧(如在序列200中的fn),并且可以包括aec和af参数两者以及修改用于当前帧fn的至少一部分以及用于完整帧fn+1的awb和其它特征的图像数据的至少部分的时间。也可以提供部分otf模式,其中对窗口有贡献的帧中的一个(但不是两个帧)的图像数据(以及任选地从图像数据生成的统计信息)被保存在isp寄存器中而不是ram中。这比非0tf模式快,使得可以进行更多的当前帧的更新,但仍然比完整的0tf模式慢,如下所解释的。

将理解,图像数据统计信息的单个帧的表示还可以被称为单个帧的图像数据统计信息值,其被视为好像它已经从单个帧生成,即使实际上从多帧的图像数据形成。此外,图像数据统计信息的单个帧的表示可以被单独地使用或与图像数据统计信息的单个帧或图像数据统计信息的一个或多个实际的单个帧的其他表示一起使用,并且不一定被单独使用。例如,表示单个帧的统计信息可以与其他实际帧的其他统计信息一起使用,以确定在多个帧上的图像数据值的平均强度。

参照图4a-4b,图像处理系统400在时间从左运行到右的时间线图上被展示,并且包括至少相机或图像传感器402,相机数据流协议输入系统404(诸如移动行业处理器接口(mipi)或其他输入协议),以及一个或多个图像信号处理器(isp)或其他处理器406的操作。isp或处理器406中的一个或多个可以操作自动统计信息计算单元(或统计信息单元)408,其使用来自多个帧的图像数据并且通过使用多帧统计信息收集窗口453来生成3a的单个帧的表示和其他统计信息,如下面详细描述的。统计信息单元408还仍可以在逐帧的基础上生成一些不同的统计信息,并将3a和其他统计信息递送到其他组件。自动或3a控制逻辑组件或单元(或仅自动控件)412提供3a和其他统计信息以供3a自动调整控制使用。系统400或者以一种形式的自动或3a控制单元412可以包括以下组件的操作或被通信地耦合到以下组件:自动对焦(af)组件414、自动曝光控制(aec)组件416和自动白平衡(awb)组件418,这些组件的任何的组合等。这些在此处作为示例提供,并且将理解,此处也可以示出使用本文描述的这些或其他一般统计信息的其他应用,诸如使用上文描述的ltm和gtm的应用、数字视频稳定等。

现在更详细地,可以控制图示的图像传感器402以操作滚动式快门或电子焦平面快门过程,其中像素以行顺序(逐行)的方式针对光电荷被重置,并且针对整个帧以行顺序的方式读出。在这种类型的系统中,从排到排的曝光时间可以重叠并且不需要同时执行。在排重置(rt)419和排读出(rd)时间420之间的时间是积分时间或曝光时间(曝光)422,其是用于在帧(或图片或图像)上的一排或多排像素中或者甚至只是排的部分中累积光电荷的时间。积分422的长度可以取决于积分覆盖多少排或像素而变化。排读出测量排中的光电荷量和自启动积分时间的最后一次重置以来的光电荷量。

重置419沿着帧向下逐排地一次一个地被执行,使得此处曝光或积分排422的每个对角线列424对应于帧426或427。帧426和每个帧用典型地用于视频显示屏的一些曝光或积分排422a至422n的总数来显示。由于重置419在时间上偏移,所以当曝光时间422在整个单个帧中是相同或相似时,以均匀的步长形成对角线列。不管积分422的长度和重置419的位置如何,读出420都被定时,使得将对于沿着帧426向下的每个积分排一次一个地执行读出,从而用如图示的均匀的或接近均匀的步长形成读出420的对角线。此处,示出了对于两个帧fn-1426和fn427的曝光时间或积分。用于捕获帧的亮度的时间段(fn-1曝光)从读出到读出被测量,并且与下一个帧的fn曝光重叠。然而,将理解到,取决于由积分所覆盖的行的数量或部分,积分422的长度可以针对帧而变化。在这种情况下,重置的位置可能不会形成完美的对角线,并且可能更加错开,而读出的时序被维持,使得可以按照顺序且如图示的一次一个地执行读出。另外,曝光时间的长度可能受帧长度的限制,使得曝光时间不能长于帧长度。这由垂直(帧)消隐(vblank441)来标记,例如其将被放置在对角线列426的底部处(在输入原始数据比特流432上示出)以划分帧。帧之间的曝光几乎是连续的,仅仅被vblank时段中断,这典型地小于帧时间的5%。然而,如果需要可以通过使帧消隐(垂直消隐)更长来增加帧长度。

读出420可以通过水平消隐空间或行消隐空间428(仅在第一排422a上示出并且在比特流432上示为440)和调整或保留时间块430(为了简化也仅在第一排422a上示出)与相同排中的下一个排重置419分离。这里,代替如针对全局快门被放置在帧的每个像素排的结束处的水平消隐空间,针对滚动式快门可以在每个积分排的结束处提供水平消隐空间(其可以与或可以不与帧的每个像素排的结束对齐)。在总行长度(水平)以及帧中行数(垂直)中实际感测到的区域可能大于设备上的可见空间或要分析的空间。因此,水平消隐或行消隐是覆盖沿着行的像素位置的扫描时间并且是不可见的非传输时段。对于下面介绍的垂直消隐也是如此。消隐空间被用于同步。水平消隐或行消隐可被用于为组件(诸如isp)提供足够的时间来处理传入数据。例如,如果行消隐与像素时钟或者传感器正在发送数据的速率相比太短,则isp处理可能失败(诸如具有输入缓冲溢出)。垂直消隐或帧消隐被用于控制帧速率,其中垂直消隐越长,则帧速率越慢,最大可能曝光时间越长,并且在开始读出下一帧之前执行计算的时间就越多。保留时间块430也可以在水平消隐428之后且在相同排的下一个重置420之前使用,以限制或防止读出时段的任何重叠。

例如通过一种方法,具有来自(一个或多个)传感器402的数据的输入数据或比特流432可以具有字段开始(sof)434、与单个帧426相关联的积分列426中的多个重叠排的原始图像数据的主传输部分tx436。在所图示的形式中,用于所有积分排422a-422n的读出420的数据被放置在主传输部分tx436中。主传输部分436在字段结束(eof)438处结束,接着是水平消隐时间440,并且然后当达到一个帧的结束并且下一帧的数据开始时可以提供较长的垂直消隐时段441。例如,在比特流432中的水平消隐时间440增加了读出全帧所花费的时间以允许接收侧(诸如isp406)在下一行被发送之前清空其输入缓冲器。通过另一种替代,不使用水平消隐,其中水平消隐为零或非零,并且虚拟像素可以在行消隐期间被传输或不传输。

除了在原始图像数据中的色度和亮度数据之外的其他数据可以被存储在存储器中,诸如包括曝光时间的曝光数据以及模拟和数字增益。该数据然后根据需要被提供给isp以生成统计信息和/或新3a或其他参数。

参照图5,系统400的操作的剩余描述中的大部分可结合具有用于图像数据统计的基于多帧的窗口的相机控制和图像处理的过程500来描述。根据本公开的至少一些实现方案来布置本文描述的过程500。在所图示的实现方案中,过程500可包括如通过偶数编号的操作502至544中的一个或多个所图示的一个或多个操作、功能或动作。作为非限制性示例,本文将参考图4a-4b和图10的示例图像处理系统以及图6-8中示出的运行中相关的过程来描述过程500。

过程500可以包括“从相机传感器接收帧fn-1的图像数据”502。帧fn-1是指对图像数据做出贡献以形成本文使用的图像数据统计信息的单个帧的表示的两个帧中的第一(或较早或前一)帧。下文介绍第二帧或当前帧fn。通过一种形式,这两个帧是相继的,并且仅使用两个帧。如上所述,通过另一种形式,可以使用多于两个帧的图像数据,或使用甚至少于一个帧的图像数据。

在一个示例中,一旦isp408接收到原始图像数据,过程500可以包括“对原始数据应用预处理”504。这可以包括降噪、像素线性化和阴影补偿。它也可以包括分辨率降低、拜耳去马赛克和/或晕影消除等等。

这些操作在时间线400上通过isp/处理单元406在时间段444处的操作来例示,该时段444检索和分析原始图像数据,包括提供预处理,伴随有在相邻帧的接收之间的空闲时段442并且对应于水平消隐时段440(对应于水平消隐(hblank)时段428)和垂直消隐时段441。isp406可以具有isp寄存器407以保存正在处理的数据或上下文。所得到的图像数据在图像输出时间段446处被提供,其中图像数据根据需要被存储在诸如dram、高速缓存或其他存储器的存储器中。将理解,图像分析时段444和图像输出时段446可以非常好地延伸通过水平消隐时段440并进入垂直消隐时段441以完成图像数据分析和生成。

现在转向统计信息单元408的操作,任选地仍然可以基于帧到帧的基础(除了使用多帧窗口)生成一些一般统计信息,如通过由在帧之间的时段450划分的基于帧的统计信息输出窗口448所示。因此,一旦进行了预处理,就可以计算出一般图像统计信息506。这可以包括诸如平均值的亮度/色度值组合,亮度/色度高频和纹理内容,从帧到帧的运动内容,任何其他颜色内容值,关于解块控制的图片统计数据(例如,控制解块/非解块的信息),rgbs网格,滤波器响应网格和rgb直方图,列举数例。无论被用于3a特征还是其他非3a特征,都可以通过替代地使用多帧统计信息收集窗口生成数个这些统计信息,如下所讨论的。这些逐帧的统计信息可以基于宏块或编码单元(cu)(例如,每16×16或8×8或其他尺寸的像素块)来提供,或者可以取决于用于某些标准编码方案(诸如h.264/高级视频编码(avc)或高效视频编码(hevc),jpeg或其他图像处理和编码标准)的兼容性参数根据需要按每个像素、每个帧或其它单位基础来提供。当yuv数据是可用的并且isp已经重建图像时,可以在后处理结束时使用这些标准。这些一般统计信息可以被存储在双倍数据速率(ddr)dram或其他足够的存储器中,并且然后可以被提供用于在时间段图像输出446和基于帧的统计信息输出时段448期间的进一步分析。

过程500还可以包括“设置统计信息收集窗口位置以重叠帧fn-1和fn”508。作为一个示例,多帧统计信息收集窗口453在帧fn-1(426)和fn(427)两者以及标记为3astat.clct-1(454a)和(454b)的帧-统计时间段之间的划分时间段451上延伸。在两个帧上延伸的窗口453是指在两个帧的isp处理时段上延伸,但也可以指对应于帧的曝光时间或在帧的曝光时间上延伸。在本示例中,fn-1的曝光时间以时间窗口453开始结束,但是窗口仍然在两个帧fn-1和fn的isp处理时段444两者上延伸。下一个统计信息收集时间段3astatsclct.-2(455)可以用于形成用于当前帧fn的下部和下一个帧fn+1的上部的下一个多帧统计信息收集窗口(未示出)。在窗口453内的两个帧-统计时间段(也称为第一窗口部分和第二窗口部分)454a和454b期间获得图像数据,并且使用图像数据计算3a或其他统计信息。在划分时间451期间,即使不再从前一帧或第一帧fn-1获得图像数据,统计信息单元408仍可以继续计算统计信息。这允许在整个多帧统计信息收集窗口453和在垂直消隐441期间以及在图像数据处理空闲442期间(或实际上消除图像数据处理空闲442)大致地或基本上连续地生成统计信息。空闲442仍可由isp保留以应用新3a参数并实现3a修改。然后,图像数据检索且用于统计信息生成在第二帧-统计时间段(或第二窗口部分)454b中的第二帧或当前帧fn处重新开始。

通过一种方法,窗口453的结束并且进而窗口453的开始可以取决于将新参数应用于某个下一帧的截止时间来确定,无论该下一个帧是形成窗口的相同的第二帧fn,接着的帧fn+1还是其后的任何目标帧。窗口的开始和结束取决于多个因素。例如,基于统计信息的新参数应在下一帧捕获或处理之前被发送(取决于算法和参数)。此外,为了设置开始时间以开始在两个帧上收集统计信息,系统应该考虑新参数的传播时间(例如i2c命令)、由cpu(或isp)的最坏情况的计算时间和帧时间。总时间然后可以被转换为其中开始统计信息收集的帧时间(位置)。如果出于任何原因没有满足任何这种截止时间,则新参数可被应用于下一帧作为缓和。截止时间是从考虑到发送新参数所花费的时间(通过i2c或寄存器写入或其他手段)必须发送参数的最晚时间来计算的,-计数回到cpu使用多少时间来计算新参数(取决于算法)并且从那里,可以计算用于帧统计信息收集的时间,并且可以设置开始时间。

通过aec的一个特定示例,可以设置多帧统计信息收集窗口,使得可以满足isp3a或其他参数更新的截止时间(诸如相机传感器寄存器写入截止时间)。这可以指满足帧fn+1的截止时间,但是甚至可以指帧fn的至少部分的截止时间,这取决于是否正在使用运行中模式和运行中模式的类型,如下文详细解释的。同样对于aec,如果使用统计信息的算法确定关于从帧到帧的亮度差异的变化,则在帧fn-1和fn部分之间的并且通过从那些部分分析统计信息而确定的曝光差异应该被标准化。标准化可以包括设定较低的总曝光增益以匹配较高的总曝光。然而,由于在曝光控制中传统地应用的时间稳定性,通常相继帧将不具有显著的不同曝光。

因此,通过一种形式,如上所提及地通过确定时间长度来设置窗口的长度,应该需要该时间长度以收集统计信息、计算新参数和传播所有新参数以满足帧截止时间。

通过替代形式,窗口的开始和结束可以针对每一对帧而固定。在一种情况下,两个相继帧fn-1和fn中的每个提供单个帧的像素排的正好一半的图像数据和统计信息,其中第一帧(fn-1)提供帧的下半部分的图像数据并且第二帧(fn)提供帧的上半部分的图像数据和统计信息。当在帧中提供奇数个像素行(或积分行)时,两个相继帧中的一个可提供中心排的数据和统计信息,或者中心排可通过沿其长度分割中心帧由两个相继帧来提供。通过其他示例,特别是当统计信息包括局部平均值或其他组合像素值的计算时,可以存在一些重叠,使得单个像素位置或块位置的图像数据值可以被用作对于例如两个目标像素位置的像素值平均值的空间相邻贡献者,该两个目标像素位置各自贡献于在窗口453中生成的统计信息的不同的一半。

通过其他形式,对多帧统计信息收集窗口进行贡献的两个帧中的一个帧可以贡献比这两个帧中的另一个帧更多的积分或像素行的图像数据。通过这种形式,当足够量的图像数据已经被生成并且可以被获得以形成某些统计信息时,窗口可以开始。窗口长度然后可以被设置为处理单个帧的统计信息值,使得该窗口延伸到下一个帧或第二帧中以完成此操作。下一个窗口然后在前一个窗口结束处开始,使得作为一个示例,图像数据的使用没有重叠以形成统计信息。通过这个选项,仍然基于检索帧的图像数据值以及基于该帧的图像数据值生成统计信息应该花费的时间来设置窗口长度。通过这种形式,窗口具有明确的预定长度用于生成帧的统计信息值。通过一种形式,这可能是用于正在生成的统计信息的类型的某个平均窗口长度,或者可以基于花费最长的时间量来计算的统计信息的类型。

注意到,针对每种统计信息和算法的统计信息收集通常按照roi(感兴趣区域)被完成。因此,完成多帧统计信息收集以在空间上累积所有必需的统计信息,使得将捕获整个帧视图。然而,这可能受到可以小于全帧的roi的影响,并因此可以影响每个帧中的开始点和结束点,其中统计信息被收集或被使用以对应于一个帧或多个帧上的roi的位置。

通过又另一个选项,代替限制窗口长度以适应帧的统计信息值的预定的定义,可以取决于生成用于在先帧的统计信息所花费的实际时间来设置用于后续帧的窗口。因此,一旦完成统计信息,则针对当前帧和随后帧开始下一个窗口。在这种情况下,相对于帧的某些像素行的图像数据检索,不存在针对窗口的开始和结束的固定位置。

过程500然后可以包括“从帧fn-1图像数据的部分生成统计信息”510。此处,isp已经预处理图像数据,图像数据正被检索,并且正被用于生成统计信息。作为一个示例,这在多帧统计信息收集窗口453期间且特别是用于第一帧或前一帧fn-1的帧-统计时间段454a期间发生。这可以包括通常基于来自帧fn-1的后半部分(或下半部分、底半部分或下部积分或像素行)或替代地帧的其他部分的图像数据来生成统计信息。

如上所述,统计信息的内容的类型的示例可以包括3a统计信息和非3a统计信息。在该窗口454a期间,随着图像数据被获取并且一旦获得足够的图像数据,统计数据正在被收集或生成。这可以根据需要在像素基础、块基础、积分排基础或其他单元上执行。上文已经记载了用于自动对焦(af)、自动曝光控制(aec)和自动白平衡(awb)的3a统计信息的类型的细节。

同样如上所提及,可以在针对第一帧fn-1的窗口454a期间与多帧统计信息收集窗口453一起使用的一般统计信息可以包括用于动态范围转换和/或其他应用的局部或全局色调映射(例如ltm或gtm),或者从帧到帧的运动内容和用于数字图像稳定的外边界像素跟踪,以及可以被生成以用于3a操作或其他功能的其他一般统计信息,并且可以包括亮度和/或色度平均值、亮度和/或色度高频和纹理内容、任何其他颜色内容值组合、关于解块控制的图片统计数据(例如,控制解块和/或非解块的信息)、rgbs网格、滤波器响应网格,和rgb直方图,列举数例。其他一般统计信息也可以用于本文描述的多帧统计信息窗口,但是本文的描述不限于任何一种类型的统计信息。

参考图6,过程500可以包括“存储或保存图像数据和/或统计信息”511,并且特别地或将图像数据(以及也任选地统计信息)存储在外部或“板外”或“芯片外”的存储器(诸如ram(或芯片上的ram)),或将统计信息保存在isp寄存器或其他接近的或本地的存储器中(至少比ram更本地),以用于用统计信息立即处理3a参数。具体地,统计信息可以被存储在例如缓冲器或3a库410(图4)中,并且该缓冲器或3a库410由诸如ram之类的“板外”存储器形成,具体地为dram或双倍数据速率(ddr)dram。系统600示出了这个过程,其中传感器602捕获视频序列的图像,并且然后帧fn-1上的输入(或初始)处理604包括例如在较早或第一窗口454a期间的3a统计信息生成。该统计信息数据与图像数据一起然后被存储在诸如dram606之类的存储器中。在处理阶段1单元608处针对帧fn的第二窗口454b中这被重复,其中当那些统计信息是用于要被在第二窗口454b中计算的进一步统计信息(以下解释的级别2统计信息)的基础(级别1统计信息)时,来自第一窗口454a的被先前存储的统计信息和图像可能需要被检索,并且然后3a统计信息的剩余部分被生成并存储在dram606中(在帧fn上利用第二窗口454b生成统计信息的这个操作在过程500中由以下描述的操作512至520覆盖)。如上所提及,第二窗口454b的结束以及进而多帧统计信息收集窗口453的结束可被设置在应用截止时间处以提供足够的时间来提供新参数以影响帧fn、fn+1或其他后续目标帧。3a统计信息然后从dram被检索并被提供给处理阶段2单元610以生成3a参数或以其他方式使用统计信息。这也在下面的过程500中详细描述。将领会,此过程600也适用于非3a统计信息。

尽管统计信息可以通过使用多帧统计信息收集窗口而更早地准备用于分析,但将理解的是,每次向dram存储和从dram检索图像数据(和统计信息)的传输也可能导致延迟并使用存储器带宽,并且因此比如果可以消除或减少这样的事务和存储器使用需要更多的存储器容量和功耗。相应地,可以使用部分或完全运行中模式,其使用isp寄存器来保存被生成的图像数据,同时isp使用统计信息来运行3a操作并生成新3a参数。在这种情况中,图像数据(和统计信息)不被下载到dram或其他芯片外存储器或外部存储器。这允许较小的存储器和较低的功耗,由此改善执行处理的计算机或设备。它也减少等待时间,使得来自基于统计信息的新参数的效果可以比在ram中存储图像数据(和统计信息)的过程更早地发生到达帧。结果可以是被捕获和显示的图像的质量的提高,以及观看体验的质量的提高以及所必需的存储器容量和功耗的降低。

参考图7,作为一个示例,在系统700上描述部分运行中处理。单元和操作主要与系统600的相同,除了代替图像数据(和统计信息)被存储在dram上,在此处,在输入处理704在多帧统计信息收集窗口453的第一窗口454a中生成统计信息后,图像数据和统计信息被保存在isp寄存器(诸如寄存器407(图4))中以便当被生成时要被立即使用,并确定是否应该生成新参数并且然后生成那些新参数。统计信息数据可以被认为是3a库的部分,无论一旦被生成统计信息被存储在哪个存储器中。图像数据(和统计信息)被保存在寄存器中,而不是放置在ram中。通过一种形式,这是指针对特定用途或特定类型的统计信息的所有统计信息,例如与窗口454a的平均颜色分量相关的所有统计信息或针对特定应用的一组统计信息的所有统计信息,诸如用于自动对焦的所有统计信息。可以使用其他变体,诸如在寄存器中保存少于这种统计信息的所有的部分,而不是使用ram用于存储。因此,系统700示出下一个紧接的操作是在处理阶段1708中的统计信息的生成,其中在第二窗口454b期间生成诸如3a或其他一般统计信息之类的统计信息的剩余部分,并且同时检索帧fn的上部或者较早部分(或积分或像素行,以及至少(诸)顶部像素行)的图像数据。由于该操作是部分运行中操作,因而帧fn的第二窗口454b的图像数据和统计信息仍然被放置在dram706中,而帧fn-1的第一窗口454a的图像数据和统计信息被保存在isp寄存器407中。当isp寄存器中存在不足的容量来保存第一窗口和第二窗口两者的图像数据(以及统计信息)时,可以使用这个操作。也可能执行相反的过程,其中来自第一窗口454a和用于帧fn-1的输入处理单元704的图像数据和统计信息被放置在dram中,而来自用于帧fn的第二窗口454b和处理阶段1单元708的图像数据和统计信息被保存在isp寄存器中。

利用部分运行中模式系统700,由于在isp寄存器中保存了第一窗口454a的图像数据和统计信息,系统仍然可以具有足够的时间来更早地应用基于统计信息的新参数。例如,处理阶段2单元710可以使用来自来自帧fn-1的窗口454a和来自帧fn的窗口454b两者的所生成的统计信息来计算新参数且向帧fn应用新参数,这提供了更多的时间来分析统计信息并及时应用新参数以使截止时间影响帧fn+1或甚至朝向帧fn本身的结束。同样,对于那些花费较长时间来实施的应用,这可以是比传统的系统早一个帧,它将首先影响帧fn+1而不是fn+2(或fn+2而不是fn+3),或者换言之,它通常可以早一个帧地影响图像的捕获和显示的质量。这可以在3a实现以及其他通常统计信息实现中产生显著的差异,诸如例如在ltm中的运动伪像,列举一个示例。

将理解,cpu和/或其他一个或多个处理器可以执行这种处理,而不是isp或除了isp之外。也将领会,寄存器可以是多于一个isp的寄存器,和/或另一种类型的处理器(cpu等等)的寄存器。isp可以是芯片上系统(soc)或其他架构的一部分,其中多个在本文其他地方提及。除了寄存器之外,图像数据和统计信息可以被保存在比芯片外ram、dram或其他类型的ram至少更本地的其他存储器上,无论是isp或是其他的处理器正在执行统计信息生成或分析。这可能包括与处理器位于相同的芯片或板上的芯片上存储器。

参考图8,在系统800上描述了完全运行中处理。单元和操作主要与系统600和700的相同,除了代替将从统计信息处理单元(804或808)中的仅一个生成的图像数据和统计信息保存在isp寄存器中,来自处理单元804和808两者并且进而来自分别来自帧fn-1和帧fn两者的统计信息窗口454a和454b两者的图像数据和统计信息被保存在本地存储器(诸如isp寄存器)中,同时分析统计信息以生成新参数,而不是将图像数据和统计信息存储在ram中。

对于完全运行中处理,针对帧fn-1和帧fn发生的统计信息生成可以比部分运行中处理甚至更早地结束,使得统计信息收集在帧fn的中间(或其他可配置点)处结束,在该处所有的空间信息存在并允许算法对其进行处理,并且在需要时发布新参数,以用于在检索和处理帧fn期间发生的甚至更早的应用截止时间。在这种情况下,当可能时,可能甚至更早地将新参数应用到帧fn,从而比部分otf对帧fn的更大部分提供改进,并且应用可以发生以影响整个帧fn+1,这取决于应用。

然而,通过一种形式,部分或完全otf可能具有减少的特征集(例如,没有基于图像的dvs,没有或受限的几何失真校正,降低的分辨率等等),使得在isp寄存器或存储器处存在更多容量用于保存图像数据和统计信息并更好地避免进一步的延迟。

现在继续过程500,过程500可以包括“从相机传感器接收下一帧fn的原始图像数据”512,并且现在执行帧fn的图像数据的检索,并且过程500可以包括“应用原始数据的预处理”514来准备用于统计信息计算的数据,如在上文所描述的针对帧fn-1的操作502和504中的。

然后,过程500任选地可以包括“计算关于基于帧的数据的一般统计信息”516,也如上文针对帧fn-1所描述的(操作506),其中仍然可以生成其他帧到帧的统计信息。

过程500可以包括“从下一帧fn的部分生成统计信息”518,其中此处isp已经分析了图像数据,图像数据正在被检索,并且正被用于生成统计信息,如针对帧fn-1提及的。现在,这在多帧统计信息收集窗口453的后部分(尤其是第二帧或下一帧fn的帧统计时间段454b)期间正在发生。这可以包括通常基于来自帧fn的前半部分(或上半部分、顶半部分或上部积分或像素行),或者替代地包括帧fn的顶部或最上部的像素行的帧的其他部分的图像数据来生成统计信息。

还将理解,在第二窗口454b期间(或在第二处理阶段1单元608、708或808期间)的处理可以包括计算统计信息的多个级别(或操作)。例如,第一级别统计信息可以是指图像数据的颜色图或颜色直方图,或图像数据的梯度,其中正在执行单个或低数量的计算。然后,第二级别统计信息可以使用第一级别统计信息用于进一步计算,诸如某些单位(诸如像素行或块)的梯度的和,或使用那些第一级别统计信息的用于帧的平均值。第三级别可以使用那些第二级别统计信息等,直到统计信息处于由诸如3a组件之类的应用或其他一般视频质量应用等可使用的某种最终形式。第二窗口可以用于对在第一窗口454a中计算的第一级别统计信息执行第二级别或更高级别的的统计信息计算。当然,取决于诸如基于行的梯度和之类的统计信息的类型,当足够的数据可用时也可以在第一窗口454a期间计算第二级别或其他级别的统计信息中的一些。

最终,过程500可以包括“使用来自两个帧的两个部分计算统计信息”520。通过一种形式,当整个帧的统计信息(或表示整个帧的单个值)应当基于通过使用分别针对帧fn-1和帧fn的窗口454a和窗口454两者提供的帧的数据值时,当所有数据是从统计信息的特定级别可用时,这种值与针对整个帧的平均颜色或亮度一样可在第二窗口454b期间被计算。否则,可以认为在第二窗口454b之后在供例如isp在进行这样的计算的时间段456(图4)中计算这样的最终帧级别统计信息。这个时间段456也可以用来计算其他3a或一般统计信息。这些进一步的3a统计信息也可能会或可能不会被认为由自动控件412(图4)来执行。

过程500可以包括“存储或保存统计信息”521,并且该操作如上所解释以将来自第二窗口的被生成的统计信息或者任何统计信息(诸如所描述的更高级别或帧级别的统计信息)存储在dram中,或者将统计信息保存在处理器或isp寄存器中以进行如上所描述的otf模式。

一旦统计信息被计算,统计信息(如果尚未被递送)可以在时间段t_3a_stat_delivery457期间被递送给自动控件412。自动控件或3a控件412然后可以使用如上所述不管被存储在ram上还是保存在isp寄存器中的统计信息,以便确定是否需要新3a参数,并且然后在需要时计算新参数。然后可以应用新参数的应用。关于使用统计信息的这些操作通常可以在3a实施时间段458(图4)期间被应用。将理解,当需要时实施时间段458可以比所示的长得多,在多个帧上延伸。将理解,被应用用于显示修改的其他一般统计信息可以具有类似的时序。

如上所提及,自动控件412可以被认为包括aec组件414、自动曝光组件416和自动白平衡组件418,并且也可以被认为也包括自动统计信息计算单元408。下面仅仅是用控件412分解时间段458用于各个3a组件来执行3a操作的一个可能的示例,并且许多变化是可能的。

过程500可以包括“运行af”522。具体地,一旦3a统计信息是可用的,也可以执行3a控制和调整,其可以一个接一个地被执行,或者在每个控制特征可以具有一个或更多专用处理器的一种情况下,它们可以被并行执行。在前一种情况下,af控制414具有在时间段(t_3a_stat_delivery)457期间接收3a统计信息的af逻辑或组件460。一旦接收到3a统计信息,af逻辑单元或组件460就在时段t_af_execution466期间运行并计算对焦调整。在一种形式中,具有i2c协议的透镜驱动器468然后在af执行时段466之后的时间段t_af_i2c470期间形成用于新对焦设置524的命令,并且然后向相机模块或者传感器532发送530新af设置,使得在相机上的透镜硬件474然后可以在时段t_af_lens472期间移动透镜。透镜硬件可以被视为或不被视为af控制414的一部分。

通过一种形式,af控制414仍然可以使用来自帧的统计信息,该帧的积分时间与用于透镜移动的时间t_af_lens472重叠。对于那个帧,此处例如帧fn+1,由于使用如上所解释的多帧窗口453和otf模式,命令可以满足帧fn+1的截止时间。否则,本文的系统可以与不具有af的固定焦点相机模块一起使用,使得此处的方法被应用于其他类型的统计信息和算法,诸如ae、dvs、ltm等。

然后,过程500可以包括“运行aec”526。关于aec,当一个或多个处理器正在在3a控制器之间共享时,第一等待时段(t_3a_latency_1)可以延迟自动曝光控制416的运行直到af控制414完成af调整计算466。af控制416的af逻辑或组件462可在时间段(t_ae_execution)476期间运行曝光调整计算以形成用于相机传感器的新的或更新的曝光设置。替代地,在具有专用组件的系统中,自动曝光运行478可以在af控制412正在执行af调整466时发生。传感器i2c组件480然后可以在时间段t_ae_i2c482期间提供528新曝光设置并且向传感器发送530新曝光设置。

注意到,在用于ae和af命令的12c传输两者中,不确定性词语被声明以指示由于时间段470和/或482花费比所指示的更长的时间而可能在该点发生潜在的延迟。应该注意,向isp提供额外数字增益用于处理的时间并不直接取决于aec、af和awb运行466、476、486或i2c传输470、482的时序。此外,如果系统的一些其他部分正在为相同的i2c或cpu资源竞争,这可能导致在af运行时间(t_af_execution)以及aei2c执行时间(t_ae_i2c)或需要那些资源的任何其他部分的变化。这变得甚至更重要,因为为每个帧给aec运行或分析提供灵活的时间包络是有益的,使得可以对每个帧或至少某些需要更深入分析的帧执行更彻底的分析。

本文相关的自动曝光控制(aec)使用算法来调整曝光参数以捕获图像并为用于图像的显示的亮度参数提供调整,无论是在数字相机的实时预览屏幕上,还是其他记录的显示,以及提供图像或视频的存储或编码以供之后查看。当以足够的速度正在更新参数时,在实时预览屏幕中或在被记录的视频中的亮度将看上去从帧到帧地平滑地变化而没有明显的闪烁或亮度的突变,使得获得亮度(或明显的稳定的亮度)的平滑收敛。这为图像提供了仔细控制的高质量外观。为了实现曝光参数的这种平滑和足够快的更新,被更新的参数例如以至少约30hz的速率被提供给相机传感器。当执行aec计算的处理器迟地从相机传感器接收最新的曝光参数时可能发生延迟。

可以提供专用处理器来运行3a算法以确保没有其他处理将使aec处理延迟。否则,可以添加专用的i2c控制器以确保没有其他流量使3a流量延迟。可替代地,系统可以严格地执行为aec算法分配的处理时间限制。然而,这种解决方案可能仍然不足,并且无论如何可能需要附加的硬件。这样的限制是非常难以实现的,并且由aec设定的所得到的目标亮度在所有图像捕获情形中可能不是最佳的,因为在所有帧的给定的严格处理时间限制中不是所有的必须的分析都可以保证发生。

接下来,相机模块532可以使用新设置来捕获进一步的图像且提供新的原始图像数据534以重新开始循环,如图5所示。为了重新开始循环或使该过程循环,帧fn现在是帧fn-1,并且新帧现在是当前fn帧(536),并且过程循环到操作502,在该操作中原始图像数据要被接收用于处理。

关于awb,过程500可以以“运行awb”538继续,并且是指在从接收到3a统计信息的第二等待时段(t_3a_latency_2)484之后运行awb控制418。在这种情况下,直到自动曝光执行时段476完成之后处理才可以开始。然后,awb控制在第二等待时间之后的时间段(t_awbetc_execution)486期间执行提供新的白平衡(wb)增益539的调整计算。如上提及的,诸如颜色相关性、色域映射、灰度边缘和/或灰色世界awb方法之类的awb算法可被用于确定白点和rgb增益。作为示例,对于灰色世界方法,计算对于所有颜色分量的平均值,然后为每个颜色分量应用适当的增益使得平均值彼此相等。计算导致对于图像的初始或常规wb增益。常规的wb增益可以指原色(例如r,g,b)的三个增益。该操作也可以建立初始白点。替代地,如果提供专用处理器,则awb运行可以在时段488期间发生,同时af和af控制正在执行它们的调整计算。

用于处理图像(例如用于显示、存储和/或编码)的isp参数可以用包括针对下一个可用帧进行的3a调整或设置的数据190或192来更新,并且在由isp在tx时间436期间尚未处理的帧的空闲时段442期间。如图4a-4b中所示,作为一个示例,3a处理已经被延迟并且太迟而无法在所示出的空闲442并且进而针对帧fn的截止时间期间被处理,使得在就在空闲442之后的isp处理时段436期间处理的帧将直到帧fn+1才接收到它们的适当调整。替代地,如果3a处理是针对在帧fn之后的下一个空闲(未示出)并且可以产生帧fn+1的截止时间,则可以接收被更新的数据192以更新下一个isptx436时段,因为下一个空闲还没有发生。

此后,过程500可以继续应用540后处理。此处,在wb增益被用于图像数据的处理之后,图像数据可以继续进行至图像数据的后处理540。后处理可以包括cfa(彩色滤波器阵列)插值、颜色空间转换(例如,诸如原始rgb到未执行的srgb)、伽玛校正、rgb到yuv转换、图像锐化等等。后处理可以由诸如本文提到的isp408或其他处理器之类的处理器执行,用于通过软件和/或isp的硬件流水线来执行这些处理。

接下来,对于帧或图像的最终或预览显示,例如存储以供之后使用和/或编码,或这些的任何组合542。被处理的图像可被显示542无论作为数字相机或电话屏幕上的取景器或预览,还是作为在另一个设备上的最终显示,或者可以被存储以供之后查看,并且可以是视频或静止图像。替代地或附加地,可以将图像数据提供给编码器用于压缩并传输到另一个显示器或存储设备。在停止记录或图像捕获时,可以关闭544相机,否则系统可以继续捕获新图像。

参考图9,过程900图示了根据本公开的至少一些实现方案的具有用于图像数据统计的基于多帧的窗口的相机控制和图像处理的样本图像处理系统1000的基本操作。更详细地且在图示的形式中,过程900可包括如由902到922偶数编号的动作中一个或多个图示的一个或多个操作、功能或动作。作为非限制性示例,过程900将在本文中参照图10被描述。具体地,系统1000包括统计信息单元1010和使用统计信息的应用1015。系统的操作可以如下进行。

在一个示例中,过程900可以包括“接收图像数据”902,并且如上解释,由通过使用滚动式快门进行积分而捕获,其中原始图像数据被充分地预处理以用于统计信息生成和收集,如上所述。

过程900可以包括同样如上所述的“设置统计信息窗口的开始和结束”904,以设置多帧统计信息收集窗口的开始和结束,在该期间窗口的一部分在第一帧(诸如帧fn-1)上并且窗口的另一部分在第二帧(诸如下一帧或第二帧fn)上延伸。窗口的结束可以被设置成使得统计信息生成可以在允许使用统计信息以当准许时生成新参数,并应用些参数使得特定帧(诸如帧fn、帧fn+1或另一后续目标帧)受到应用的影响的截止时间内完成。如提及的,多个不同的因素可能影响窗口的开始和结束,包括例如为某个roi提供的统计信息。

过程900可以包括“使用接收的图像数据生成第一级别统计信息”906,并且涉及使用图像数据来生成统计信息,该统计信息可以在图像数据正被检索时被计算(诸如例如梯度),并且不需要整个帧的数据值来在窗口期间计算或不需要其他统计信息以计算另一个级别的统计信息。

过程900可以包括“如果需要,当第一级别统计信息变得可用时生成附加级别统计信息”908,并且因此进行第二或进一步的计算,例如诸如按照诸如针对积分排或像素行或块之类的一些单元的梯度和。

过程900可以包括“如果需要,生成统计信息总数”910,并且其中需要来自窗口以及来自两个帧(fn-1和fn)的整个帧的数据值以进行计算。作为一个示例,这可以是针对通过使用用于两个帧fn-1和fn上的窗口的图像数据形成的帧(或者真正的虚拟帧)的平均颜色分量或强度(亮度)水平。

过程900可以包括“提供对统计信息的访问”912,并且通过从ram(或dram)检索统计信息,或者当正在使用otf模式时,从比ram更本地的存储器(诸如isp寄存器)检索统计信息,通过一个示例,该isp寄存器在统计信息正在被生成时分析统计信息。otf模式可以是分别用系统700或800如上所述的部分或完全otf模式。

过程900然后可以包括如下操作:确定是否需要新参数、如果是,则生成那些新参数以“更新af参数”914、“更新aec参数”916和/或“将图像数据修改为正确的awb”918,这些操作如上所述。

当使用多帧统计信息收集窗口来收集其他一般统计信息以提供参数或修改显示数据时,过程900可以包括“至少部分地基于统计信息修改图像数据以提供其他功能”920。这可以包括用于dvs或动态范围转换的统计信息,诸如ltm或gtm,列举几个示例特征,且如上所提及的。

过程900可以包括“将新设置应用于下一个可用帧”922,并且也如上所述,是否正在使用3a或其他特征。当多帧统计信息收集窗口与帧fn-1和帧fn重叠时,设置可能至少用af影响帧fn本身的至少部分的捕获和显示,并且当部分或完全otf模式正在被使用时可能用aec和awb。否则,可以改善帧fn+1的至少部分,并且当正在使用0tf模式时改善整个帧fn+1。

此外,可响应于由一个或多个计算机程序产品提供的指令进行图1-9中的过程的操作中的任何一个或多个。此类程序产品可包括提供指令的信号承载介质,当例如由处理器执行这些指令时,这些指令可提供本文所描述的功能。能以一种或多种机器可读介质的任意形式来提供计算机程序产品。由此,例如包括一个或多个处理器核的处理器可响应于由一个或多个机器可读介质传递到该处理器的程序代码和/或指令或指令集,执行本文中的示例过程的操作中的一个或多个。一般而言,机器可读介质可以以程序代码和/或指令或指令集的形式来传递软件,这些程序代码和/或指令或指令集可使设备和/或系统的任何来执行,如本文中所描述。机器或计算机可读介质可以是诸如非瞬态计算机可读介质之类的非瞬态制品或介质,并且可以与上述提及的示例的任何一起使用,不同之处在于它不包括瞬态信号本身。它本质上包括除了信号本身之外的可以按诸如ram等“瞬态”方式临时保存数据的那些元件。

如本文所述任一实现所使用,术语“模块”是指配置成提供本文所述功能的软件逻辑和/或固件逻辑的任何组合。该软件可以具体化为存储由可编程电路执行的指令的软件包、代码和/或指令集、和/或固件。模块可以整体或单独地被具体化为用于作为较大系统的部分(例如集成电路(ic)、芯片上系统(soc)等)的实现方案。

如本文中所描述的任何实现方案中所使用的,术语“逻辑单元”是指配置成提供本文所描述的功能的固件逻辑和/或硬件逻辑的任意组合。如在本文描述的任何实施方案中所使用的,“硬件”可以包括,例如单独地或以任何组合的硬连线的电路、可编程的电路、状态机电路和/或存储由可编程电路执行的指令的固件。逻辑单元可以整体或单独地被具体化为形成较大系统的部分,例如集成电路(ic)、芯片上系统(soc)等。例如,逻辑单元可以被具体化在逻辑电路中用于实现本文中所讨论的系统的固件或硬件。进一步,本领域的普通技术人员将领会,由硬件和/或固件执行的操作也可以利用软件的部分来实现逻辑单元的功能。

如在本文中描述的任何实现方案中所使用的,术语“引擎”和/或“组件”可以指模块或逻辑单元,正如在上文中描述的这些术语。因此,术语“引擎”和/或“组件”可以指被配置成提供本文描述的功能的软件逻辑、固件逻辑和/或硬件逻辑的任何组合。例如,本领域的普通技术人员将领会,由硬件和/或固件执行的操作可以替代地经由可以具体化为软件包、代码和/或指令集的软件模块来实现,并且也领会逻辑单元也可以利用软件的部分来实现其功能。

参考图10,根据本公开的至少一些实现方案来安排示例图像处理系统1000。在各种实现方案中,示例图像处理系统1000可以具有成像设备1002以形成或接收被捕获的图像数据。这可通过各种方式被实现。因此,在一种形式中,成像处理系统1000可以是数字相机或其他图像捕获设备,并且在这种情况下成像设备1002可以是相机硬件和相机传感器软件、模块或组件1008。在其他示例中,成像处理系统1000可以具有包括或可以是相机的成像设备1002,并且逻辑模块1004可以与成像设备1002远程通信或者以其他方式可通信地耦合到成像设备1002用于进一步处理图像数据。

在任一种情况下,这种技术可以包括诸如数字相机系统、专用相机设备或成像电话之类的相机,不论是静态图片还是视频相机或两者的某种组合。因此,在一种形式中,成像设备1002可以包括包括一个或多个传感器以及自动对焦、变焦、光圈、nd滤波器、自动曝光、闪光和致动器控制的相机硬件和光学器件。这些控件可以是用于操作传感器的传感器模块或组件1006的部分。传感器组件1006可以是成像设备1002的部分,或者可以是逻辑模块1004的部分或两者。这种传感器组件可用于为取景器生成图像并拍摄静态图片或视频。成像设备1002还可以具有透镜、具有rgb拜耳滤色器的图像传感器、模拟放大器、a/d转换器,将入射光转换为数字信号的其他组件等,和/或其组合。数字信号在本文中也可以被称为原始图像数据。

其他形式包括相机传感器型成像设备等(例如,网络摄像头或网络摄像头传感器或其他互补金属氧化物半导体型图像传感器(cmos)),而不使用红-绿-蓝(rgb)深度相机和/或话筒阵列来定位谁在说话。相机传感器也可以支持其他类型的电子快门,诸如除了或代替滚动式快门之外的全局式快门以及许多其他快门类型,只要可以使用多帧统计信息收集窗口。在其它示例中,作为对相机传感器的补充或替换,可使用rgb深度相机和/或话筒阵列。在一些示例中,成像设备1002可以提供有眼睛跟踪相机。

在所图示的示例中,逻辑模块1004可以包括统计信息单元1010,该统计信息单元1010具有设置多帧统计信息收集窗口的开始和结束的窗口设置单元1011、执行统计信息计算的3a统计信息数据收集单元1012和其他统计信息收集单元1013,以及计算上级别的统计信息或帧级别的统计信息的最终统计信息生成单元1014,如上所述。逻辑单元1004也可以具有使用统计信息的应用1015,诸如自动白平衡控制或组件1016、自动对焦(af)组件1017和自动曝光控制(aec)模块或组件1018。统计信息单元1010(作为单元1024)和/或应用1015(作为单元1028)可以被提供为逻辑模块的部分和/或诸如isp1022的板上处理器1020。这可以包括用于操作单元的指令、正在由单元分析的,并且可以如上所述被保存在寄存器中的统计数据,或者两者兼有。逻辑模块1004可以通信地耦合到成像设备1002,以便接收本文描述的原始图像数据和嵌入数据。否则,可以提供(一个或多个)存储器存储1034以将统计信息数据存储在由诸如dram之类的ram形成的缓冲器1036中。

图像处理系统1000可以具有以下中的一个或多个:处理器1020(该处理器1020可以包括诸如intelatom之类的专用图像信号处理器(isp)1022)、存储器存储1024、一个或多个显示器1026、编码器1038和天线1030。在一个示例实现方案中,图像处理系统100可以具有显示器1026,通信地耦合到显示器的至少一个处理器1020,通信地耦合到处理器并且具有缓冲器1036的通过一个示例用于存储3a和其他统计信息数据的至少一个存储器1024。编码器1028和天线1030可以被提供用于压缩被修改的图像数据以用于传输到可以显示或存储图像的其他设备。将理解,图像处理系统1000也可以包括解码器(或编码器1028可以包括解码器)以接收和解码图像数据以用于由系统1000处理。否则,被处理的图像1032可以被显示在显示器1026上或者被存储在存储器1024中。如图示,这些组件中的任何可以能够彼此通信和/或与逻辑模块1004和/或成像设备1002的部分进行通信。因此,处理器1020可以通信地耦合到图像设备1002和逻辑模块1004两者以用于操作这些组件。通过一种方法,尽管如图10所示的图像处理系统1000可包括与特定组件或模块相关联的一组特定的块或动作,但是这些块或动作可以关联于与本文所图示的特定组件或模块不同的组件或模块。

参考图11,根据本公开的示例系统1000操作本文描述的图像处理系统的一个或多个方面。将从下述系统组件的特质中理解,这些组件可以关联于或用于操作上述图像处理系统的特定部分或多个部分。在各种实现方案中,系统1100可以是媒体系统,虽然系统1100并不限于此情境。例如,系统1100可以被结合到数字静态相机、数字视频相机、诸如成像手机之类的具有相机或视频功能的移动设备、网络摄像头、个人计算机(pc)、膝上型计算机、超膝上型计算机、平板电脑、触摸板、便携式计算机、手持式计算机、掌上电脑、个人数字助理(pda)、蜂窝电话、蜂窝电话/pda的组合、电视机、智能设备(例如,智能电话、智能平板电脑或智能电视机)、移动因特网设备(mid)、消息传送设备、数据通信设备等等。

在各种实现中,系统1100可包括耦合至显示器1120的平台1102。平台1102可接收来自诸如(一个或多个)内容服务设备1130或(一个或多个)内容递送设备1140或其他类似内容源之类的内容设备的内容。可将包括一个或多个导航特征的导航控制器1150用于与例如平台1102和/或显示器1120交互。在下文中更详细地描述这些组件中的每一个组件。

在多个实现方案中,平台1102可包括芯片组1105、处理器1110、存储器1112、存储设备1114、图形子系统1115、应用1116、和/或无线电1118的任何组合。芯片组1105可提供在处理器1110、存储器1112、存储设备1114、图形子系统1115、应用1116和/或无线电1118之间的相互通信。例如,芯片组1105可包括能够提供与存储设备1114的相互通信的存储适配器(未描绘)。

处理器1110可被实现为复杂指令集计算机(cisc)或精简指令集计算机(risc)处理器、x86指令集兼容处理器、多核或任何其它微处理器或中央处理单元(cpu)。在各种实现方案中,处理器1110可以是(一个或多个)双核处理器、(一个或多个)双核移动处理器等。

可将存储器1112实现为易失性存储器设备,诸如但不限于,随机存取存储器(ram)、动态随机存取存储器(dram)或静态ram(sram)。

可将存储设备1114实现为非易失性存储设备,诸如但不限于,磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附连存储设备、闪存、电池备份的sdram(同步dram)和/或网络可访问存储设备。在各种实现方案中,存储设备1114可包括用于例如当包括多个硬驱动器时增加对有价值的数字介质的存储性能增强的保护的技术。

图形子系统1115可执行对诸如静止图像或视频之类的图像进行的处理,以便进行显示。图形子系统1115可以是例如图形处理单元(gpu)或视觉处理单元(vpu)。可将模拟或数字接口用于通信地耦合图形子系统1115和显示器1120。例如,该接口可以是高清晰度多媒体接口、显示器端口、无线hdmi和/或无线hd兼容技术中的任一种。可将图形子系统1115集成到处理器1110或芯片组1105中。在一些实现中,图形子系统1115可以是通信耦合至芯片组1105的独立卡。

可在各种硬件架构中实现本文中所描述的图形和/或视频处理技术。例如,可在芯片组中集成图形和/或视频功能。替代地,可使用分立的图形和/或视频处理器。作为又另一个实现方案,可由通用处理器(包括多核处理器)提供图形和/或视频功能。在进一步的实施例中,可在消费电子设备中实现这些功能。

无线电1118可包括能够使用各种合适的无线通信技术发送和接收信号的一个或多个无线电。此类技术可涉及跨一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(wlan)、无线个域网(wpan)、无线城域网(wman)、蜂窝网络和卫星网络。在跨此类网络进行通信时,无线电818可根据任何版本的一个或多个适用的标准进行操作。

在各种实现方案中,显示器1120可包括任何电视机类型监视器或显示器。显示器1120可包括例如,计算机显示屏、触屏显示器、视频监视器、电视型设备和/或电视机。显示器1120可以是数字和/或模拟的。在各种实现方案中,显示器1120可以是全息显示器。同样,显示器1120可以是可接收视觉投影的透明表面。此类投影可传递各种形式的信息、图像和/或对象。例如,此类投影可以是用于移动增强现实(mar)应用的视觉重叠。在一个或多个软件应用1116的控制下,平台1102可在显示器1120上显示用户界面1122。

在各种实现中,(一个或多个)内容服务设备1130可由任何国家的、国际的和/或独立的服务机构来主管,并且进而例如经由因特网可访问平台1102。(一个或多个)内容服务设备1130可被耦合至平台1102和/或显示器1120。平台1102和/或(一个或多个)内容服务设备1130可被耦合至网络1160,以便往返于网络1160传递(如,发送和/或接收)媒体信息。(一个或多个)内容递送设备1140也可被耦合至平台1102和/或显示器1120。

在各种实现方案中,内容服务设备1130可包括有线电视盒、个人计算机、网络、电话、能够递送数字信息和/或内容的启用因特网的设备或装置,以及能够经由网络1160或直接地在内容提供商和平台1102和/或显示设备1120之间单向地或双向地传递内容的任何其他类似设备。将领会,可经由网络1160,在系统1100中的任何一个组件和内容提供商之间往返地单向和/或双向传递内容。内容的示例可包括任何媒体信息,其包括例如视频、音乐、医疗和游戏信息等。

(一个或多个)内容服务设备1130可接收诸如包括媒体信息、数字信息和/或其他内容的有线电视节目之类的内容。内容提供商的示例可包括任何有线或卫星电视或者无线电或互联网内容提供商。所提供的示例并不旨在限制根据本公开、以任何方式进行的实现。

在各种实现方案中,平台1102可接收来自具有一个或多个导航特征的导航控制器1150的控制信号。控制器1150的导航特征可被用于与例如用户界面1122交互。在多个实施例中,导航控制器1150可以是定点设备,该定点设备可以是计算机硬件组件(尤其是人类接口设备),其允许用户向计算机输入空间(例如连续和多维的)数据。诸如图形用户界面(gui)之类的许多系统以及电视机和监视器允许用户使用物理手势来控制数据,并向计算机或电视机提供数据。

可通过指针、光标、聚焦环或显示设备上所显示的其他视觉指示符的移动,在显示设备(例如,显示器1120)上复制控制器1150的导航特征的移动。例如,在软件应用1116的控制下,位于导航控制器1150上的导航特征可被映射到例如用户界面1122上显示的虚拟导航特征。在实施例中,控制器1150可以不是单独的组件,但可被集成到平台1102和/或显示器1120中。然而,本公开并不旨在限于本文所示或所述的元件或限于本文所示或所述的情境中。

在各种实现方案中,驱动器(未示出)可包括使用户能够在例如启用时,在初始开机之后,能够像通过触摸按钮打开和关闭电视机一样立即打开和关闭平台1102的技术。甚至当平台被“关闭”时,程序逻辑可允许平台1102将内容以流方式发送至媒体适配器或其它(一个或多个)内容服务设备1130或(一个或多个)内容递送设备1140。此外,例如,芯片组1105可包括对于8.1环绕音频和/或高清晰度(7.1)环绕音频的硬件和/或软件支持。驱动器可包括用于集成图形平台的图形驱动器。在各实施例中,图形驱动器可包括外围组件互连(pci)快速(express)图形卡。

在各种实现方案中,可集成系统1100中所示的任意一个或多个组件。例如,可集成平台1102和(一个或多个)内容服务设备1130,或可集成平台1102和(一个或多个)内容递送设备1140,或例如可集成平台1102、(一个或多个)内容服务设备1130和(一个或多个)内容递送设备1140。在各种实施例中,平台1102和显示器1120可以是集成单元。例如,可集成显示器1120和(一个或多个)内容服务设备1130,或者可集成显示器1120和(一个或多个)内容递送设备1140。这些示例并不旨在限制本公开。

在各种实施例中,可将系统1100实现为无线系统、有线系统或无线和有线系统两者的组合。当被实现为无线系统时,系统1100可包括适合于在无线共享介质上进行通信的组件和接口,无线共享介质例如是一个或多个天线、发射机、接收机、收发机、放大器、过滤器、控制逻辑等。无线共享介质的示例可包括无线频谱的多个部分,例如rf频谱等。当被实现为有线系统时,系统1100可包括适合于在有线通信介质上进行通信的组件和接口,有线通信介质例如是输入/输出(i/o)适配器、用于将该i/o适配器与对应的有线通信介质连接的物理连接器、网络接口卡(nic)、盘控制器、视频控制器、音频控制器等。有线通信介质的示例可包括线、电缆、金属引线、印刷电路板(pcb)、底板、交换结构、半导体材料、双绞线、同轴电缆、光纤等。

平台1102可建立一个或多个逻辑或物理通道以传递信息。该信息可包括媒体信息和控制信息。媒体信息可以是指表示针对用户的内容的任何数据。例如,内容的示例可包括例如来自语音会话、视频会议、流视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等的数据。来自语音对话的数据可以是例如,话语信息、静默时段、背景噪声、舒适噪声、音调等。控制信息可以是指表示针对自动系统的命令、指令或控制字的任何数据。例如,可将控制信息用于通过系统来路由媒体信息,或用于指示节点按照预先定义的方式来处理该媒体信息。然而,各实现方案不限于图11中所示出的或所描述的情境中的元件。

参考图12,小形状因子设备1200是其中可具体化为系统1000或1100的不同物理样式或形状因子的一个示例。通过该方法,设备1200可被实现为具有无线能力的移动计算设备。移动计算设备可以是指具有处理系统和移动电源或供电的任何设备,诸如,例如一个或多个电池。

如上文所描述的,移动计算设备的示例可以包括数字静态相机、数字视频相机、诸如成像手机之类的具有相机或视频功能的移动设备、网络摄像头、个人计算机(pc)、膝上型计算机、超膝上型计算机、平板电脑、触摸板、便携式计算机、手持式计算机、掌上电脑、个人数字助理(pda)、蜂窝电话、蜂窝电话/pda的组合、电视机、智能设备(例如,智能电话、智能平板电脑或智能电视机)、移动因特网设备(mid)、消息传送设备、数据通信设备等等。

移动计算设备的示例也可包括被安排为由人穿戴的计算机,诸如腕式计算机、手指计算机、戒指计算机、眼镜计算机、皮带扣计算机、臂带计算机、鞋计算机、衣服计算机以及其他可穿戴计算机。在各实施例中,可将例如移动计算设备实现为能够执行计算机应用以及语音通信和/或数据通信的智能电话。尽管已经通过示例方式将移动计算设备实现为智能电话而描述了一些实施例,但是可以领会,也可以使用其他无线移动计算设备来实现其他实施例。该实现方案不受限于此情境中。

如图12所示,设备1200可包括具有前部1201和后部1202的外壳。设备1200包括显示器1204、输入/输出(i/o)设备1206以及集成天线1208。设备1200还可包括导航特征1212。i/o设备1206可包括用于向移动计算设备输入信息的任何合适的i/o设备。i/o设备1206的示例可包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、话筒、扬声器、语音识别设备和软件等。信息还可借助话筒1214进入设备1200或者可通过语音识别设备来数字化。如所示,设备1200可包括集成到设备1200的后部1202(或别处)的相机1205(例如,包括至少一个透镜、光圈和成像传感器)以及闪光灯1210。该实现方案不受限于此情境中。

本文描述的设备和过程的各种形式可使用硬件元件、软件元件或两者的组合来实现。硬件元件的示例可包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(asic)、可编程逻辑器件(pld)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(api)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或它们的任意组合。确定是否使用硬件元件和/或软件元件来实现实施例可根据任意数量的因素而变化,这些因素诸如所期望的计算速率、功率电平、热容限、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其他设计或性能约束。

至少一个实施例的一个或多个方面可以由存储在机器可读介质上的表示性指令来实现,该指令表示处理器中的各种逻辑,该指令在被机器读取时使得该机器制造用于执行本文中所述的技术的逻辑。被称为“ip核”的此类表示可以被存储在有形的机器可读介质上,并可被供应给各个客户或生产设施以加载到实际制造该逻辑或处理器的制造机器中。

尽管已经参考各实现方案描述了本文陈述的某些特征,但并不旨在以限制的含义来解释本说明书。因此,对本公开所属技术领域中的技术人员显而易见的本文所述的各实现方案的各种修改以及其他实现方案被认为落在本公开的精神和范围之内。

以下示例涉及进一步的实现方案。

作为一个示例,一种图像处理的计算机实现的方法,包括:接收视频序列的帧的被捕获的图像数据;生成图像数据统计信息的单个帧的表示,包括提供使用一个帧、两个帧或更多个帧的图像数据来生成统计信息的选项;以及允许访问图像数据统计信息的单个帧的表示以设置图像捕获参数以便捕获视频序列的下一个可用帧或修改图像数据以便处理视频序列的下一个可用帧或两者。

作为另一个实现方案,该方法包括其中图像数据统计信息包括用于以下中的至少一个的3a统计信息:自动白平衡、自动对焦和自动曝光控制、数字视频稳定统计信息、局部色调映射(ltm)统计信息、全局色调映射(gtm)和动态范围转换统计信息;其中下一个可用帧是用于表示图像数据统计信息的单个帧的两个帧中的后一帧,或者其中下一个可用帧是在用于表示图像数据统计信息的单个帧的两个帧中的后一帧之后的紧接的下一帧;其中图像数据统计信息的单个帧的表示是具有与单个帧相同的像素的数量和布置并且基于来自两个帧的两者的像素值的空间表示。该方法包括:使用先前帧的下部积分或像素行的图像数据和后续帧的上部积分或像素行的图像数据来形成图像数据统计信息的单个帧的表示;以及在统计信息收集窗口期间生成统计信息,所述统计信息收集窗口开始于第一帧并结束于第二帧,其中所述第一帧和所述第二帧是所述两个帧。

该方法还可包括下列中至少一项:(1)其中通过使用与在单个帧中的相同的总排数的积分或像素的图像数据在所述窗口期间生成统计信息,以及(2)其中通过使用来自所述两个帧中的两个帧的不同排数的像素的图像数据在所述窗口期间生成统计信息;其中窗口从一个帧到下一个帧基本上连续地延伸,使得统计信息处理在来自传感器的原始图像数据的传输之间的垂直消隐时间期间继续;其中窗口的开始或结束或两者至少部分地取决于生成要被应用使用的统计信息所需的时间,而不是仅仅对应于单个帧的曝光时间的开始或结束。该方法包括下列中至少一项:(1)相对于生成所述统计信息的处理器,比随机访问存储器更本地地保存通过使用所述两个帧中的仅一个帧的图像数据而确定的被生成的统计信息,以便使用所述统计信息来确定相机参数或显示修改同时将所述两个帧中的另一个帧的被生成的统计信息存储在随机访问存储器上;(2)缩放,所述缩放包括将帧中的一个帧的统计信息与所述两个帧中的另一个帧的统计信息进行匹配以形成图像数据统计信息的单个帧的表示;以及(3)处理从一个帧到另一个帧的统计信息中的差别,包括使用多于一个帧的图像数据来形成被用于对准特定相机或显示参数的图像数据统计信息的单个帧的表示。

作为又另一个实行方案,用于图像处理的系统,包括:图像捕获设备,用于捕获视频序列的帧;至少一个处理器,通信地耦合到所述图像捕获设备;至少一个存储器,通信地耦合到至少一个处理器;以及统计信息单元,由处理器操作,并且被配置为通过以下来操作:接收视频序列的帧的被捕获的图像数据;使用在至少两个帧上延伸的统计信息收集时间窗口来生成图像数据统计信息的单个帧的表示,且包括具有使用一个帧、两个帧或更多个帧的图像数据来生成所述图像数据统计信息的单个帧的表示的选项;以及允许访问所述图像数据统计信息的单个帧的所述表示以设置图像捕获参数以便捕获所述视频序列的下一个可用帧或修改图像数据以便处理所述视频序列的下一个可用帧或两者。

作为另一个示例,该系统包括比随机访问存储器(ram)更本地地保存所述图像数据或统计信息或两者,而不在ram中存储所述图像数据或统计信息或两者,以便处理所述图像数据和统计信息以生成相机参数或修改图像数据用于显示图像;并且该系统包括以下中的至少一项:(1)比ram更本地地保存所述至少两个帧的帧中的仅一个帧的所述图像数据或统计信息或两者,以使用所述图像数据或统计信息或两者来生成所述相机参数或修改图像数据来处理图像以显示图像;(2)其中所述至少两个帧包括两个帧,并且所述方法包括比ram更本地地保存所述两个帧中的两者的所述图像数据统计信息以使用所述图像数据统计信息来生成所述相机参数或修改图像数据来显示图像;以及(3)该系统包括将所述图像数据或统计信息或两者保存在至少一个图像信号处理器(isp)寄存器中,而不是将所述图像数据或统计信息或两者存储在随机访问存储器中,以使用所述图像数据和统计信息来形成相机参数或修改所述图像数据用于显示图像;其中所述窗口开始被设置在每个窗口开始帧的相对于所述帧的积分或像素排线的相同的固定位置处;其中所述窗口开始至少部分地取决于以下两者来设定:(1)何时获得足够的图像数据以生成统计信息;和(2)何时提供尚未用于生成前一个窗口的统计信息的图像数据;其中所述窗口的开始和结束与所述帧上的感兴趣区域(roi)相关联,使得在所述感兴趣区域之外的图像数据不被收集以基于所述roi计算统计信息。

作为进一步的示例,该系统包括其中所述图像数据统计信息的单个帧的表示代表与单个帧相同的像素的数量和布置并且基于来自所述至少两个帧的两者的像素值;并且其中所述指令使所述计算设备通过在开始于先前帧且结束于后续帧的统计信息收集窗口期间生成统计信息来操作,其中所述先前帧和所述后续帧是所述至少两个帧,并且其中所述窗口的开始或结束或两者从帧到帧且相对于形成帧的积分或像素排线自由地处于不同位置处。

通过一种方法,一种具有包括多个指令的计算机可读介质的制品,所述指令响应于在计算设备上被执行,使所述计算设备通过以下来操作:接收视频序列的帧的被捕获的图像数据;生成图像数据统计信息的单个帧的表示,包括提供使用一个帧、两个帧或更多个帧的图像数据来生成所述统计信息的选项;以及允许访问所述图像数据统计信息的单个帧的所述表示以使用所述图像数据统计信息来设置图像捕获参数以便捕获所述视频序列的下一个可用帧或修改图像数据以便处理所述视频序列的下一个可用帧或两者。

通过另一种方法,该指令使计算设备包括其中所述图像数据统计信息的单个帧的表示代表与单个帧相同的像素的数量和布置并且基于来自所述至少两个帧的两者的像素值;以及其中所述指令使所述计算设备通过在开始于先前帧且结束于后续帧的统计信息收集窗口期间生成统计信息来操作,其中所述先前帧和所述后续帧是所述至少两个帧,并且其中所述窗口的开始或结束或两者从帧到帧且相对于形成帧的积分或像素排线自由地处于不同位置处。

在进一步的示例中,至少一种机器可读介质可包括多条指令,响应于在计算设备上执行这些指令,这些指令使该计算设备用于执行根据上述示例中的任意一个示例所述的方法。

在又一示例中,设备可包括用于执行根据上述示例中的任何一个示例的方法的装置。

以上示例可包括多个特征的特定组合。但是,这些上述示例在这方面不受限制,在多个实现中,上述示例可包括仅采用此类特征的子集、采用此类特征的不同次序、采用此类特征的不同组合、和/或采用与明确列出的那些特征相比而言的附加特征。例如,相对于此处的任何示例方法描述的所有特征可相对于任何示例装置、示例系统、和/或示例制品来实现,反之亦然。

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