图像信号处理器、图像处理系统和图像处理方法
技术领域
本发明涉及图像处理领域,尤其涉及一种图像信号处理器、图像处理系统和图像处理方法。
背景技术
图像信号处理器(ISP,Image Signal Processor)是数字相机(Digital Camera)等设备中的核心处理模块,图像信号处理器对图像传感器(Sensor)采集到的图像像素进行一系列的运算处理,如降噪、色阶调整、锐化等,从而呈现给用户更好的图像质量。
传统的图像信号处理器对图像像素的处理是基于行扫描(line-scan)的方式实现的,即,将每一帧图像的像素按照从左到右、从上到下的顺序依次发送给图像信号处理器中的各图像处理子模块,由各图像处理子模块对接收到的图像像素进行运算处理,各图像处理子模块对图像像素的运算可基于以下三种算法:1、基于像素点本身的零维滤波(0-D filter)算法;2、基于大小为1×Y的像素块(block)的一维滤波(1-D filter)算法,即需要待处理像素的同一行像素参与运算;3、基于大小为X×Y的像素块的二维滤波(2-D filter)算法,即需要待处理像素四周的像素参与运算。对于采用二维滤波算法的图像处理子模块,由于需要等待下一行或下几行的像素到来,才能满足运算的条件,因此,该图像处理子模块需要设置大量的存储空间(line buffer)来存储像素。
如图1所示为现有技术中基于行扫描的图像信号处理器的结构示意图,图1中的图像信号处理器包括四个图像处理子模块,其中第一图像处理子模块、第三图像处理子模块和第四图像处理子模块均采用二维滤波算法对图像像素运算,因此,第一图像处理子模块、第三图像处理子模块和第四图像处理子模块中均需要设置大容量的存储器来存储像素。在图像信号处理器中可能需要多个上述大容量的存储器,该存储器的大小会因各个图像处理子模块的算法基于的像素块的高度的增加而增加,还会因为图像信号处理器需要支持的最大图像宽度的增加而增加,并且图像处理子模块的算法所基于的色彩空间也会进一步增加存储器的开销,这将大大增加图像信号处理器芯片的面积,从而增加了芯片的成本。
发明内容
有鉴于此,本发明实施例提供一种图像信号处理器、图像处理系统和图像处理方法,可以有效节省图像信号处理器的存储空间,从而降低了芯片的成本。
为解决上述问题,一方面,本发明实施例提供一种图像信号处理器,包括:
存储器,具有第一数值个像素存储空间;
存取模块,用于将接收到的待处理的图像像素存储于所述存储器中,并从所述存储器存储的所述待处理的图像像素中获取第一像素块;
图像处理模块,用于对所述第一像素块进行运算处理,得到目标输出像素块;
所述图像处理模块包括:至少一个图像处理子模块;
所述第一数值的大小根据如下因素确定:
每一图像处理子模块运算时基于的第二像素块的大小;
所述目标输出像素块的大小;以及
所述图像信号处理器需要支持的最大图像宽度;
所述第一像素块的大小根据如下因素确定:
当前处于启用状态的每一图像处理子模块运算时基于的第二像素块的大小;以及
所述目标输出像素块的大小。
所述第一数值的大小BUF为:
其中,Xi为第i个图像处理子模块运算时基于的第二像素块的高度,N1为所述图像处理子模块的总个数,P为所述目标输出像素块的高度,CMAX为所述图像信号处理器需要支持的最大图像宽度。
所述第一像素块的高度R为:
所述第一像素块的宽度C为:
其中,P和Q分别为所述目标输出像素块的高度和宽度,Xi和Yi分别为当前处于启用状态的第i个图像处理子模块运算时基于的第二像素块的高度和宽度,N2为当前处于启用状态的图像处理子模块的总个数。
所述存取模块包括:
发送子模块,用于将所述第一像素块、所述第一像素块的块同步信号以及待处理图像的帧同步信号发送给所述图像处理模块。
本发明实施例还提供一种图像处理系统,包括:
图像传感器,用于从待采集的图像中采集第一像素块;
图像信号处理器,用于对所述第一像素块进行运算处理,得到目标输出像素块;
所述图像信号处理器包括:至少一个图像处理子模块;
所述第一像素块的大小根据如下因素确定:
当前处于启用状态的每一图像处理子模块运算时基于的第二像素块的大小;
所述目标输出像素块的大小。
所述第一像素块的高度R为:
所述第一像素块的宽度C为:
其中,P和Q分别为所述目标输出像素块的高度和宽度,Xi和Yi分别为当前处于启用状态的第i个图像处理子模块运算时基于的第二像素块的高度和宽度,N2为当前处于启用状态的图像处理子模块的总个数。
所述图像处理系统还包括:
启用控制模块,用于控制当前需要参与运算处理的图像处理子模块处于启用状态。
所述图像处理系统还包括:
配置模块,用于根据当前处于启用状态的每一图像处理子模块运算时基于的第二像素块的大小和所述目标输出像素块的大小,确定所述第一像素块的大小,并发送给所述图像传感器。
所述图像传感器包括:
发送子模块,用于将所述第一像素块、所述第一像素块的块同步信号以及所述待采集图像的帧同步信号发送给所述图像信号处理器。
本发明实施例还提供一种图像处理方法,包括以下步骤:
将接收到的待处理的图像像素存储于存储器中,所述存储器具有第一数值个像素存储空间;
从所述存储器存储的所述待处理的图像像素中获取第一像素块;
对所述第一像素块进行运算处理,得到目标输出像素块;
所述第一数值的大小根据如下因素确定:
每一图像处理子模块运算时基于的第二像素块的大小;
所述目标输出像素块的大小;以及
需要支持的最大图像宽度;
所述第一像素块的大小根据如下因素确定:
当前处于启用状态的每一图像处理子模块运算时基于的第二像素块的大小;
所述目标输出像素块的大小。
所述第一数值的大小BUF为:
其中Xi为第i个图像处理子模块运算时基于的第二像素块的高度,N1为所述图像处理子模块的总个数,P为所述目标输出像素块的高度,CMAX为所述图像信号处理器需要支持的最大图像宽度。
所述第一像素块的高度R为:
所述第一像素块的宽度C为:
其中,P和Q分别为所述目标输出像素块的高度和宽度,Xi和Yi分别为当前处于启用状态的第i个图像处理子模块运算时基于的第二像素块的高度和宽度,N2为当前处于启用状态的图像处理子模块的总个数。
本发明的实施例具有以下有益效果:
将接收到的待处理的图像像素存储于专门的存储器中,并从所述存储器中获取一个个的像素块,该像素块的大小由图像信号处理器中当前处于启用状态的各图像处理子模块运算时基于的像素块的大小以及所述图像信号处理器的目标输出像素块的大小决定,因此,各图像处理子模块接收到的像素块即是满足自身运算需求的像素块,各图像处理子模块中不再需要设置大量的存储空间去存储其他不参与当前运算的像素,当图像处理子模块中涉及像素位宽较大的运算时,能有效地节省图像信号处理器的存储空间,从而降低芯片成本;
另外,图像传感器可以通过块扫描的方式采集像素块,采集到的像素块直接满足图像信号处理器的运算所需,此时,图像信号处理器中无需引入专门的存储器,这不仅极大地节省了图像信号处理器的存储空间,而且,还可以在图像传感器允许的范围内支持任意大小的图像处理。
由于图像处理子模块基于像素块处理,并不受产品所要支持的最大图像宽度的影响,因此在已有的图像处理子模块基础上,只要升级存储模块的设计以及增加存储器空间,就可以支持更大的图像尺寸,这加快了新产品的开发周期,节省了产品的研发成本。
附图说明
图1为现有技术中基于行扫描的图像信号处理器的结构示意图;
图2为本发明实施例的图像信号处理器的结构示意图;
图3为本发明实施例的像素运算结果示意图;
图4为本发明实施例的图像信号处理器的又一结构示意图;
图5为本发明实施例的图像处理系统的结构示意图;
图6为本发明实施例的图像处理系统的另一结构示意图;
图7为本发明实施例的图像处理系统的又一结构示意图;
图8为本发明实施例的图像处理方法的流程示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。
参见图2,图2为本发明实施例的图像信号处理器的结构示意图,所述图像信号处理器包括:存储器101、存取模块102和图像处理模块103;
所述存储器101,具有第一数值个像素存储空间;
所述存取模块102,用于将接收到的待处理的图像像素存储于所述存储器101中,并从所述存储器101存储的所述待处理的图像像素中获取第一像素块;所述存取模块102管理所述存储器101的像素的输入和输出,或者说管理所述存储器101的存储空间的读写机制。
所述图像处理模块103,用于对所述第一像素块进行运算处理,得到目标输出像素块。
所述图像处理模块103包括至少一个图像处理子模块1031,各图像处理子模块1031分别负责对图像执行降噪、色阶调整、锐化等处理;所述图像处理子模块1031在处于启用状态时,采用自身的预设滤波算法对接收到的像素块进行运算处理,所述预设滤波算法可以为:基于大小为1×1的第二像素块(即基于像素点本身)的零维滤波算法、基于大小为1×Y的第二像素块的一维滤波算法和基于大小为X×Y的第二像素块的二维滤波算法,其中,X为所述第二像素块的高度(即所述第二像素块中像素的行数),Y为所述第二像素块的宽度(即所述第二像素块中像素的列数)。
在有些情况下,用户可能并不需要所述图像处理模块103中的所有图像处理子模块1031均对待处理图像执行运算处理,例如,假设图像处理模块103中包括三个图像处理子模块1031,用户仅需要第一个图像处理子模块1031和第三个图像处理子模块1031对图像进行运算处理,因此,可以根据需要仅启用第一个图像处理子模块1031和第三个图像处理子模块1031,关闭第二个图像处理子模块1031;在对图像进行处理时,首先将获取到的第一像素块发送给第一个图像处理子模块1031,所述第一个图像处理子模块1031对所述第一像素块进行运算处理后,得到处理后的像素块,并将处理后的像素块发送给第三个图像处理子模块1031,所述第三个图像处理子模块1031对接收到的像素块进行运算处理,则可以得到图像信号处理器的目标输出像素块,由于第二个图像处理子模块1031处于关闭状态,因此,不参与此时运算。
另外,由于采用二维滤波算法的图像处理子模块1031在对图像像素进行运算处理时,需要待处理像素周围的像素参与运算,也就无法对像素块边界上的像素进行处理,因此采用二维滤波算法的图像处理子模块1031运算后输出的像素块比输入该图像处理子模块1031的像素块要小,例如,输入某一图像处理子模块1031的像素块的大小为10×10,该图像处理子模块1031基于大小为5×5的第二像素块进行运算处理,此时,由于无法对10×10的像素块边界上的像素进行处理,因此,所述图像处理子模块1031运算后输出的像素块的大小仅为6×6。参见图3,图3为本发明实施例的像素运算结果示意图,其中,A像素点是由位于虚线框内的大小为5×5的像素块计算得到,与A像素点相同的其他黑色实心像素点均可以由大小为5×5的像素块计算得到,因此,该大小为10×10的像素块的有效输出结果仅仅为大小为6×6的黑色实心像素块部分。
上述存储器101的存储空间的大小,即所述第一数值的大小可以根据如下因素确定:
每一图像处理子模块1031运算时基于的第二像素块的大小;
所述图像信号处理器的目标输出像素块的大小;以及
所述图像信号处理器需要支持的最大图像宽度;
根据上述第一数值的确定因素,可以得到第一数值的计算公式如下:
其中,BUF为所述第一数值,Xi为第i个图像处理子模块1031运算时基于的第二像素块的高度,N1为所述图像处理子模块1031的总个数,P为所述目标输出像素块的高度,CMAX为所述图像信号处理器需要支持的最大图像宽度。
公式中 表示所述图像处理模块103运算需要输入的像素块的高度(即像素块中像素的行数),所述图像处理模块103运算需要输入的像素块的高度根据每一图像处理子模块1031运算时基于的第二像素块的大小以及所述目标输出像素块的大小确定;
假设所述图像处理模块103运算时需要输入的像素块的大小为14×20,即所述图像处理模块103运算需要输入的像素块的高度为14,所述图像信号处理器需要支持的最大图像宽度为960,根据上述计算公式,可以得出,所述存储器101的存储空间至少为(14-1)×960,在所述存储器101中存储的像素的行数为13,且在第14行的像素到来时,所述存取模块102则可以从所述存储器101中获取大小为14×20的像素块;当然,所述存储器101的存储空间也可以设置为大于(14-1)×960。从降低图像信号处理器的成本的角度考虑,可以将所述存储器101的大小设置为(14-1)×960;然而,将所述存储器101的大小设置为(14-1)×960,可能在算法实现上会有较复杂的逻辑,因此从算法实现方便的角度考虑,也可以将所述存储器101的大小设置为14×960或更大,在所述存储器101中存储的像素的行数达到14时,所述存取模块102则可以从所述存储器101中获取大小为14×20的像素块;可以在芯片成本和设计复杂度二者之间可以选择适当的平衡点,来设置所述存储器101的大小。
上述存取模块102获取的所述第一像素块的大小可以根据如下因素确定:
当前处于启用状态的每一图像处理子模块1031运算时基于的第二像素块的大小;以及
所述图像信号处理器的目标输出像素块的大小。
所述第一像素块的大小的计算公式如下:
所述第一像素块的高度R为:
所述第一像素块的宽度C为:
其中,P和Q分别为所述目标输出像素块的高度和宽度,Xi和Yi分别为当前处于启用状态的第i个图像处理子模块运算时基于的第二像素块的高度和宽度,N2为当前处于启用状态的图像处理子模块的总个数。
下面举例对所述第一像素块的大小的确定过程进行详细说明。
假设图像信号处理器中包括四个图像处理子模块,当前参与运算的图像处理子模块(即处于启用状态的图像处理子模块)分别为:第一图像处理子模块、第二图像处理子模块和第四图像处理子模块,第三图像处理子模块不参与当前图像像素的运算;其中,第一图像处理子模块采用基于像素点本身的零维滤波算法对图像像素进行运算处理,第二图像处理子模块采用基于大小为1×7的像素块的一维滤波算法对图像像素进行运算处理,第四图像处理子模块采用基于大小为5×5的像素块的二维滤波算法对图像像素进行运算处理,另外,假设所述图像信号处理器的目标输出像素块的大小为8×8;
第一像素块的大小的计算过程如下:
所述图像信号处理器的目标输出像素块的大小为8×8,即所述第四图像处理子模块运算后输出的像素块的大小为8×8,另外,由于所述第四图像处理子模块是基于大小为5×5的像素块对图像像素进行运算处理的,则可以得出,所述第四图像处理子模块运算时需要输入的像素块的大小应该为12×12;
由于所述第三图像处理子模块处于关闭状态,所述第四图像处理子模块的输入即所述第二图像处理子模块的输出,因此,所述第二图像处理子模块运算后输出的像素块的大小为12×12,另外,由于所述第二图像处理子模块是基于大小为1×7的像素块对图像像素进行运算处理的,则可以得出,所述第二图像处理子模块运算时需要输入的像素块的大小应该为12×18,即所述第一图像处理子模块运算后输出的像素块的大小为12×18;
另外,由于所述第一图像处理子模块是基于像素点(即1×1的像素块)本身对图像像素进行运算处理的,则可以得出,所述第一图像处理子模块运算时需要输入的像素块的大小应该为12×18,从而,可以得到所述存取模块102需要获取的第一像素块的大小为12×18。
根据上述计算公式,同样可以得到第一数值的大小:
所述第一像素块的高度R为:
所述第一像素块的宽度C为:
现有技术中基于行扫描(line-scan)方式的图像信号处理器在将待处理的图像像素传输给各图像处理子模块时,是按照从上到下、从左到右的顺序逐行发送的,如果图像处理子模块1031基于大小为X×Y的像素块对图像像素进行运算,则该图像处理子模块1031中至少设置存储空间为(X-1)×CMAX的存储器存储像素,才能满足运算的条件,其中CMAX为所述图像信号处理器需要支持的最大图像宽度,所述图像信号处理器中可能需要多个上述存储器,因此,会造成所述图像信号处理器的成本增加;
而,与现有技术中基于行扫描的图像处理方式不同,本发明实施例提供了一种基于块扫描(block-scan)的图像处理方式,本发明实施例中的图像信号处理器将接收到的待处理的图像像素存储于专门的存储器中,并从所述存储器中获取一个个的像素块,该像素块的大小由图像信号处理器中当前处于启用状态的各图像处理子模块运算时基于的像素块的大小以及所述图像信号处理器的目标输出像素块的大小决定,因此,各图像处理子模块接收到的像素块即是满足自身运算需求的像素块,各图像处理子模块中不再需要设置大量的存储空间去存储其他不参与当前运算的像素,由于图像传感器采集到的图像像素多采用位宽较小的BP(Bayer Pattern)格式,因此,当图像处理子模块中涉及像素位宽较大的运算时,能有效地节省图像信号处理器的存储空间,从而降低芯片成本;
图像传感器在将采集到的图像像素发送给图像信号处理器时,会同时向图像信号处理器发送待处理图像的帧同步信号以及像素的行同步信号;图像信号处理器中的存取模块102在获取第一像素块时,还需要生成与所述第一像素块对应的块同步信号,同时将当所述第一像素块、块同步信号以及待处理图像的帧同步信号发送给图像处理模块103。
参见图4,如图4所示为本发明实施例的图像信号处理器的再一结构示意图,在图2所示的实施例的基础上,所述存取模块102包括:
发送子模块1021,用于将所述第一像素块、所述第一像素块的块同步信号以及待处理图像的帧同步信号发送给所述图像处理模块103。
图像处理模块103中的每个图像处理子模块1031接收到块同步信号和帧同步信号后,会向后一个图像处理子模块1031转发所述块同步信号和帧同步信号。
在有些情况下,所述图像处理子模块1031在对像素块进行运算处理时,也可能需要该像素块的位置信息,例如,用于执行消除光晕的图像处理子模块中,在对图像进行去除光晕的处理时,就需要获取像素块在整个图像中的绝对坐标信息,才能执行运算处理。此时,所述图像处理子模块1031可以根据接收到的块同步信号和帧同步信号,计算像素块的位置信息。具体的,所述图像处理子模块1031可以根据待处理图像的大小、目标像素块大小、当前待处理像素块的块同步信号以及帧同步信号,计算得出当前待处理像素块的位置信息。
上述存取模块102负责接收图像传感器(图像采集装置)发送的图像像素,所述图像传感器采集图像像素的顺序为:将每一帧图像中的像素按照从左到右、从上到下的顺序逐行采集,并将采集到的图像像素按照上述采集顺序发送给所述图像信号处理器,因此,所述图像信号处理器也是按照从左到右、从上到下的顺序逐行接收待处理的图像像素的,即所述存取模块102是逐行接收待处理的图像像素;所述存取模块102将接收到的图像像素存储于所述存储器101中,在所述存储器101中的像素满足所述第一像素块的获取要求时,从所述存储器101中获取所述第一像素块发送给所述图像处理模块103,所述存取模块102从所述存储器101中获取所述第一像素块的顺序为:按照从左到右的顺序依次获取所述第一像素块,每获取一个所述第一像素块,则向左平移一列,获取下一个所述第一像素块,在当前行结束后,向下平移一行,继续获取所述第一像素块。
另外,在所述存取模块102获取所述第一像素块时,如果所述第一像素块中包含图像边界上的像素,则获取所述第一像素块时,需要考虑边界像素的扩展,通常情况下,边界像素的扩展方法为以下两种,一种方法是复制边界上的像素作为边界外的像素,一种方式是沿着像素边界将边界以内的像素以镜像方式翻转复制到边界以外。
所述存取模块102每发送完一个所述第一像素块,则需要做一个内存映射或者数据搬运,即收集可用的存储空间用于将新接收到的待处理的图像像素存储到所述存储器101中。
下面以上述图像信号处理器的最后一个图像处理子模块用于对图像执行JPEG(Joint Photographic Experts Group,联合图像专家组)编码压缩为例,对本发明实施例的图像信号处理器进行说明。
通常情况下,图像传感器输出的图像为BP格式的图像,BP格式的图像中每一个像素只有R/G/B分量中的一个分量,即只采用一个采样值表示当前像素,像素位宽较小;而,JPEG编码压缩是基于YUV格式的图像,YUV格式的图像中的像素的位宽比BP格式的图像中的像素的位宽要大很多,例如,YUV422格式的图像中每4个像素点对应4个Y分量、2个U分量和2个V分量,像素的位宽为BP个数的图像的2倍;另外,JPEG编码压缩时,需要基于大小为8×8的像素块;
为了保证最后一个图像处理子模块可以执行JPEG编码压缩,在行扫描模式下需要在该图像处理子模块中设置存储器,以存储8行的像素,从而可以分割成大小为8×8的像素块,该存储器中存储的数据为像素位宽较大的YUV格式,因此需要存储器的容量设置较大;
而,本发明实施例的图像信号处理器,只需最初设置一个用于存储BP格式的数据的存储器即可,存储器的大小根据图像信号处理器中的每一图像处理子模块运算时基于的第二像素块的大小和所述图像信号处理器的目标输出像素块的大小决定;在需要处理的最大图像的列数越大时,相对于现有技术中的图像信号处理器,本发明实施例中的图像信号处理器节省的存储空间就越多。
通过上述实施例提供的图像信号处理器,将接收到的待处理的图像像素存储于专门的存储器中,并从所述存储器中获取一个个的像素块,该像素块的大小由图像信号处理器中当前处于启用状态的各图像处理子模块运算时基于的像素块的大小以及所述图像信号处理器的目标输出像素块的大小决定,因此,各图像处理子模块接收到的像素块即是满足自身运算需求的像素块,各图像处理子模块中不再需要设置大量的存储空间去存储其他不参与当前运算的像素,当图像处理子模块中涉及像素位宽较大的运算时,能有效地节省图像信号处理器的存储空间,从而降低芯片成本;另外,由于图像处理子模块基于像素块处理,并不受产品所要支持的最大图像宽度的影响,因此在已有的图像处理子模块基础上,只要升级存储模块的设计以及增加存储器空间,就可以支持更大的图像尺寸,这加快了新产品的开发周期,节省了产品的研发成本。
上述实施例中,图像传感器(即图像采集装置)是按照从左到右、从上到下的顺序逐行采集图像像素,并依次发送给图像信号处理器的,所述图像信号处理器中,需要设置一存储器,对接收的图像像素进行存储;当然,所述图像传感器也可以按照块扫描的方式采集图像像素,直接将满足所述图像信息处理器运算处理要求的像素块,发送给所述图像信号处理器,此时,上述实施例中的存储器101也可以省去,从而,进一步降低了图像信号处理器的存储空间,节省了芯片成本。
参见图5,如图5所示为本发明实施例的图像处理系统的结构示意图,所述图像处理系统包括:
图像传感器200,用于从待采集的图像中采集第一像素块;
图像信号处理器100,用于对所述第一像素块进行运算处理,得到目标输出像素块;
所述图像信号处理器100包括:至少一个图像处理子模块1031;
所述第一像素块的大小根据如下因素确定:
当前处于启用状态的每一图像处理子模块1031运算时基于的第二像素块的大小;
所述目标输出像素块的大小。
第一像素块的大小的计算公式为:
所述第一像素块的高度R为:
所述第一像素块的宽度C为:
其中,P和Q分别为所述目标输出像素块的高度和宽度,Xi和Yi分别为当前处于启用状态的第i个图像处理子模块运算时基于的第二像素块的高度和宽度,N2为当前处于启用状态的图像处理子模块的总个数。
上述图像传感器200采集图像的方法具体为:根据所述待采集的图像像素在整个图像中的位置信息,按照从左到右的顺序依次采集所述第一像素块,每采集一个像素块,则向右平移目标像素块宽度的列数,继续采集下一个像素块,直至当前像素行结束,则向下平移目标像素块高度的行数,继续采集像素块。
通过上述实施例提供的图像处理系统,可以通过块扫描的方式采集像素块,采集到的像素块直接满足图像信号处理器的运算所需,此时,不仅极大地节省了图像信号处理器的存储空间,而且,就图像信号处理器而言,还可以在图像传感器允许的范围内支持任意大小的图像处理。
当然,所述图像处理系统中还需要具有控制所述图像处理子模块1031开启或关闭的装置,参见图6,所述图像处理系统还包括:
启用控制模块300,用于控制当前需要参与运算处理的图像处理子模块1031处于启用状态。
另外,所述图像传感器200需要获取的所述第一像素块的大小是根据所述所述图像信号处理器100当前运算时需要输入的像素块的大小确定,而所述图像信号处理器100当前运算需要输出的像素块的大小则是根据当前处于启用状态的每一图像处理子模块1031运算时基于的第二像素块的大小和所述图像信号处理器100的目标输出像素块的大小确定,因此,所述图像处理系统还包括:
配置模块400,用于根据当前处于启用状态的每一图像处理子模块1031运算时基于的第二像素块的大小和所述图像信号处理器的目标输出像素块的大小,确定所述第一像素块的大小,并发送给所述图像传感器200。
通常情况下,上述启用控制模块300和配置模块400均位于图像处理系统中的firmware固件)上。
另外,所述图像传感器200在获取所述第一像素块的同时,还需要生成所述第一像素块的块同步信号,以及待采集图像的帧同步信号,并发送给图像信号处理器100,如图7所示,所述图像传感器200包括:
发送子模块201,用于将所述第一像素块、所述第一像素块的块同步信号以及所述待采集图像的帧同步信号发送给所述图像信号处理器。
所述图像传感器200每获取一个第一像素块,就生成一个块同步信号;每完成一帧图像的采集,就生成一个帧同步信号。
图像处理模块103中的每个图像处理子模块1031接收到块同步信号和帧同步信号后,会向后一个图像处理子模块1031转发所述块同步信号和帧同步信号。
在有些情况下,所述图像信号处理器中的图像处理子模块1031在对像素块进行运算处理时,或者在目标像素块重组时,需要像素块的位置信息,此时,所述图像处理子模块1031可以根据接收到的块同步信号和帧同步信号,计算像素块的位置信息。具体的,所述图像处理子模块1031根据待处理图像的大小、接收到的当前待处理的像素块的块同步信号,以及接收到的帧同步信号,计算当前待处理像素块在整个待处理图像中的位置信息。所述待处理图像的大小由所述配置模块400提供。
参见图8,图8为本发明实施例的图像处理方法的流程示意图,所述方法包括以下步骤:
步骤801,将接收到的待处理的图像像素存储于存储器中,所述存储器具有第一数值个像素存储空间;
所述第一数值的大小根据如下因素确定:
每一图像处理子模块运算时基于的第二像素块的大小;
所述目标输出像素块的大小;以及
需要支持的最大图像宽度;
步骤802,从所述存储器存储的所述待处理的图像像素中获取第一像素块;
所述第一像素块的大小根据如下因素确定:
当前处于启用状态的每一图像处理子模块运算时基于的第二像素块的大小;
所述目标输出像素块的大小。
步骤803,对所述第一像素块进行运算处理,得到目标输出像素块;
所述第一数值的大小BUF为:
其中Xi为第i个图像处理子模块运算时基于的第二像素块的高度,N1为所述图像处理子模块的总个数,P为所述目标输出像素块的高度,CMAX为所述图像信号处理器需要支持的最大图像宽度。
所述第一像素块的大小的计算公式为:
所述第一像素块的高度R为:
所述第一像素块的宽度C为:
其中,P和Q分别为所述目标输出像素块的高度和宽度,Xi和Yi分别为当前处于启用状态的第i个图像处理子模块运算时基于的第二像素块的高度和宽度,N2为当前处于启用状态的图像处理子模块的总个数。
通过上述实施例提供的方法,从接收到的待处理的图像像素中,获取一个个的像素块,该像素块的大小由图像信号处理器中当前处于启用状态的各图像处理子模块运算时基于的像素块的大小以及所述图像信号处理器的目标输出像素块的大小决定,因此,各图像处理子模块接收到的像素块即是满足自身运算需求的像素块,各图像处理子模块中不再需要设置大量的存储空间去存储其他不参与当前运算的像素,有效地节省了图像信号处理器的存储空间。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。