发明内容
本发明提供一种图像处理的装置及方法,能够对图像数据进行灵活处理,并且减小了系统的体积,降低了系统的成本。
本发明提供一种图像处理的装置,所述装置与图像传感器相连,所述装置包括:嵌入式处理器,用于进行图像数据的采集、压缩和回放处理中的至少一个处理。
所述嵌入式处理器具体包括:图像采集单元、图像压缩单元和图像回放单元中的至少一个单元,其中,
图像采集单元,用于从图像传感器采集数据;
图像压缩单元,用于与图像采集单元相连,将图像采集单元采集的数据进行压缩处理;
图像回放单元,用于与图像压缩单元相连,将图像压缩单元压缩得到的数据进行回放处理。
所述图像采集单元具体包括:
采集参数输出接口,用于与图像传感器相连,向图像传感器发送采集参数;
主时钟输出单元,用于与图像传感器相连,向图像传感器发送时钟频率,所述时钟频率作为图像传感器的主时钟;
像素时钟接收单元,用于与图像传感器相连,接收图像传感器发送的像素时钟;
数据采集执行单元,用于与图像传感器相连,在像素时钟的驱动下,执行图像数据的采集功能。
所述图像回放单元具体包括:
表构造单元,用于根据获取的文件头信息建立查找表和反量化表;所述表构造单元的一端与用于获取压缩文件的文件头信息的数据信息获取单元相连,另一端与用于对压缩文件进行块解压缩处理的块解码单元相连,还有一端与用于根据表构造单元的具体内容对输出数据块进行变换处理的变换单元相连;
裁剪单元,与块解码单元相连,用于判断块解压缩得到的数据块是否在设备的可显示范围之内,并将在设备显示范围之内的数据块传输至变换单元;
下采样单元,与变换单元相连,用于对变换之后的数据进行亮度分量的下采样处理;所述下采样处理为对亮度分量进行本身、右、下、右下四个点作平均。
本发明提供一种图像处理的方法,包括对图像数据的采集、压缩和回放方法,嵌入式处理器直接对图像传感器中的图像数据进行采集、压缩和回放处理中的至少一个处理。
所述对图像数据进行采集处理的方法包括:
嵌入式处理器向图像传感器发送采集参数和主时钟频率;
图像传感器接收嵌入式处理器发送的采集参数和主时钟频率,并将所述采集参数存储在内部寄存器中,由主时钟得到像素时钟;
图像传感器向嵌入式处理器发送图像数据和像素时钟;
嵌入式处理器根据在像素时钟的驱动下,接收图像数据,并且通过行、场同步信号分别同步图像数据的行和列的起始。
所述像素时钟小于所述主时钟。
所述对图像数据进行压缩处理的方法包括:
采用标准压缩算法对图像数据进行压缩处理;图像数据的一部分压缩完成后,将压缩后的文件存储至其他文件系统中,之后,再进行图像数据的其他部分的压缩处理,并将压缩后的文件存储至其他文件系统,直到整个图像数据压缩完毕。
所述标准压缩算法包括:
JPEG标准压缩算法中的YUV420采样算法。
所述对图像数据进行回放处理的方法包括:
嵌入式处理器解析图像数据的格式,获取压缩文件的文件头信息;
通过文件头信息建立查找表和反量化表;
进行压缩文件的块解码处理;
判断块解码处理得到的数据块是否在设备的可显示范围之内,若在设备的可显示范围之内,则对所述数据块进行下采样和变换处理,以适应相应设备的显示分辨率、色彩类型;对判断为设备的可显示范围以外的数据块,则继续进行压缩文件的块解码处理,直到压缩文件块解码完毕。
所述对数据块进行下采样处理的方法包括:
对数据块的亮度分量进行本身、右、下、右下四个点作平均的下采样处理。
由上述本发明提供的技术方案可以看出,本发明采用嵌入式处理器对图像数据进行采集、压缩和回放处理中的至少一个处理,减小了系统的体积,降低了系统的成本,并且能够对图像数据进行灵活处理。
具体实施方式
本发明采用嵌入式处理器实现对图像数据的采集、压缩和回放处理中的至少一个处理,即,本发明的嵌入式处理器可以进行采集、压缩和回放处理,或者采集、压缩和回放处理中的任意两个处理,或者采集、压缩和回放处理中的任意一个处理。本发明的嵌入式处理器的具体结构如图2所示,包括图像采集单元、图像压缩单元和图像回放单元中的至少一个单元,其中,
图像采集单元,用于从图像传感器采集数据;
图像压缩单元,用于与图像采集单元相连,将图像采集单元采集的数据进行压缩处理;
图像回放单元,用于与图像压缩单元相连,将图像压缩单元压缩得到的数据进行回放处理。
其中,图像采集单元包括:
采集参数输出接口,用于与图像传感器相连,向图像传感器发送采集参数;具体可以通过嵌入式处理器的串行数据和串行时钟向图像传感器发送采集参数;该采集参数被存储在图像传感器的内部寄存器中;
主时钟产生单元,用于产生时钟频率;
主时钟输出单元,用于与主时钟产生单元相连,向图像传感器发送时钟频率,该时钟频率作为图像传感器的主时钟;
像素时钟接收单元,用于与图像传感器相连,接收图像传感器发送的像素时钟;该像素时钟的大小根据图像传感器的内部寄存器中的具体参数确定,并由主时钟产生;
数据采集执行单元,用于与图像传感器相连,在像素时钟的驱动下,执行图像数据的采集功能;
同步信号单元,用于与图像传感器相连,通过行、场同步信号分别和图像传感器同步传输图像数据的行和列的起始。
该图像回放单元具体包括:
数据信息获取单元,用于与图像压缩单元相连,获取压缩文件的文件头信息;
表构造单元,用于与块解码单元、变换单元以及数据信息获取单元相连,根据获取的文件头信息建立查找表和反量化表;该查找表和反量化表用于在需要进行图像运算的情况下,根据运算的参数直接从查找表和反量化表中查找出结果,以便于节省时间;
块解码单元,用于与裁剪单元相连,对压缩文件进行块解压缩的处理,并将块解压缩后的数据块传输至裁剪单元;
裁剪单元,用于判断块解压缩得到的数据块是否在设备的可显示范围之内,并将在设备显示范围之内的数据块传输至变换单元;
变换单元,用于与裁剪单元相连,接收裁剪单元的输出数据块,并根据表构造单元的具体内容对输出数据块进行变换处理;
下采样单元,用于与变换单元相连,对变换之后的数据进行亮度分量的下采样处理;
色彩变换单元,用于将图像数据变换到显示单元能够显示的格式;
显示单元,用于将变换单元的结果在显示设备上输出。
下面对本发明的嵌入式处理器的处理方法进行详细叙述。该处理方法包括:图像数据的采集、压缩和回放三个阶段,下面分别对这三个阶段的处理过程进行详细叙述。
图像数据的采集过程包括如下步骤:
步骤1:嵌入式处理器向图像传感器发送采集参数和主时钟频率;
步骤2:图像传感器接收嵌入式处理器发送的采集参数和主时钟频率,并将该采集参数存储在内部寄存器中,由主时钟得到像素时钟;
步骤3:图像传感器向嵌入式处理器发送图像数据和像素时钟;
步骤4:嵌入式处理器根据在像素时钟的驱动下,接收图像数据,并且通过行、场同步信号分别同步图像数据的行和列的起始。
当整幅图像数据采集完毕后,嵌入式处理器对采集到的图像数据进行压缩处理。在进行压缩处理的过程中,使用标准压缩算法进行压缩,这样可以使文件尺寸进一步缩小。并且,在压缩处理的过程中,图像数据的一部分压缩完成后,将压缩后的文件存储至其他文件系统(比如闪存、存储卡、硬盘等存储介质)中,之后,再进行图像数据的其他部分的压缩处理,并将压缩后的文件存储至其他文件系统,直到整个图像数据压缩完毕。采用该压缩方法,可以减小嵌入式处理器的内存消耗,以便于提高嵌入式处理器的处理速度。
在需要对压缩后的图像数据进行回放处理的情况下,该回放处理的步骤包括:
步骤1:嵌入式处理器解析图像数据的格式,获取压缩文件的文件头信息;该文件头信息可以包括:文件头中的图像尺寸、采样方式、色彩深度等信息;
步骤2:通过文件头信息建立查找表和反量化表;即事先将图像运算的运算结果制作成查找表和反量化表,当需要进行运算时,直接从表中查找结果;
步骤3:针对不同的显示设备,进行压缩文件的块解码处理;
步骤4:判断步骤3中块解码处理得到的数据块是否在设备的可显示范围之内,若在设备的可现实范围之内,则对该数据块进行变换、下采样等处理,以适应相应设备的显示分辨率、色彩类型等需求;对判断为设备的可现实范围以外的数据块,则返回执行步骤3,直到压缩文件块解码完毕;这样,对设备的可现实范围以外的数据块不作任何处理,显著节省了执行时间;
步骤5:将图像经图形接口发送至显示设备。
下面以本发明的典型应用:在ARM(高级精简指令集处理器)作为嵌入式处理器的情况下,在ARM平台上,实现终端的拍照功能为例,对本发明的具体实施方式进行详细叙述。
本发明实施例的终端中的嵌入式处理器与图像传感器的连接示意图如图3所示,图3所示的结构图中包括:用于实现图像数据的采集、压缩和回放处理的嵌入式处理器,图像传感器,该图像传感器与嵌入式处理器直接连接。该嵌入式处理器与图像传感器通过串行数据、串行时钟、主时钟、像素时钟、数据总线和行、场同步总线相连,其中,
串行数据、时钟总线,用于初始化配置图像传感器的寄存器;
图像传感器的主时钟,由嵌入式处理器产生;
像素时钟,由图像传感器根据寄存器确定,并由主时钟分频得到,具体可以将主时钟八分频得到像素时钟,即像素时钟为主时钟大小的八分之一,像素时钟与嵌入式处理器的INT(外部中断)引脚相连;
数据总线与嵌入式处理器的GPIO(通用输入输出)端口相连,用于传输图像数据;
行、场同步信号分别同步行和列的起始。
本发明实施例的图像的采集过程包括如下步骤:
步骤1:嵌入式处理器通过串行数据、时钟总线配置图像传感器的寄存器,并产生图像传感器的主时钟;
步骤2:图像传感器根据步骤1的中对寄存器的配置结果确定像素时钟的大小,并由主时钟八分频得到像素时钟;之所以设置的像素时钟比主时钟小,是为了使得嵌入式处理器有充足的处理时间,这是因为嵌入式处理器在进行采集图像的过程中,同时还可能执行响应人机界面操作、执行常规运算等操作;
步骤3:图像传感器向嵌入式处理器发送图像数据和像素时钟;
步骤4:嵌入式处理器根据在像素时钟的驱动下,接收图像数据,并且通过行、场同步信号分别同步图像数据的行和列的起始;在图像数据的传输过程中,当图像数据传输至嵌入式处理器,会引发嵌入式处理器的中断,而使嵌入式处理器进入服务程序;在嵌入式处理器处于服务程序的过程中,嵌入式处理器中GPIO端口读取图像数据;图像数据读取完成后,将读取的图像数据传输到内存中,以等待进一步处理。
在整幅图像采集完毕后,对采集到的图像数据进行压缩处理。图像压缩使用JPEG(一种压缩标准)标准压缩算法中的YUV420(一种采样方式)采样方式。在压缩处理的过程中,图像数据的一部分压缩完成后,将压缩后的文件存储至其他文件系统(比如闪存、存储卡、硬盘等存储介质)中,之后,再进行图像数据的其他部分的压缩处理,并将压缩后的文件存储至其他文件系统,直到整个图像数据压缩完毕。
YUV420采样方式的示意图如图4所示:
从图4可以看出,原始数据为Y(亮度)、Cb、Cr(Cb、Cr统称为色差分量),经YUV420采样方式下采样之后,人眼不敏感的Cb、Cr色度分量从16x16下采样到8x8,而原始数据Y保持不变,显著降低了对存储空间的需求。
在整幅图像压缩完毕后,对压缩后的文件进行回放处理,压缩文件的回放处理流程如图5所示,包括如下步骤:
步骤1:读取压缩文件的文件头,并判断该文件头的格式是否正确,若正确,执行步骤2,否则结束;
步骤2:根据读取的文件头信息重建哈夫曼解码表、反量化表;
步骤3:对压缩文件进行块解码操作;
步骤4:判断步骤3中块解码操作得到的数据块是否进入终端LCD(液晶显示器)的可视区域,若是,则执行步骤5,若不是,则判断是否到达压缩文件末尾,若不是,则执行步骤3,若是到达压缩文件末尾,则结束;
步骤5:对数据块进行块反量化、反离散余弦变换操作,其中直流分量根据原始值进行解差分编码,之后得到还原后的图像数据,该图像数据是YUV420格式的;这两个步骤使用了先前重建的反量化表,同样加快了处理速度;
步骤6:将YUV420格式的图像数据进行亮度分量下采样操作,由于图像数据中的Cb和Cr分量在压缩时已经进行了下采样,所以只需要对Y分量进行下采样;对Y分量进行下采样的算法是:本身、右、下、右下四个点作平均,具体示意图如图6所示,该下采样算法运算简单,节省了处理时间。经下采样后的图像数据,尺寸已经和LCD尺寸匹配了;
步骤7:逐点进行YCbCr到RGB色彩空间的转换运算,将图像数据转换成LCD所能接受的RGB格式;
步骤8:输出该数据块,并判断是否到达压缩文件结尾,若是,则结束,否则,执行步骤3。
比如:压缩后的图像数据的尺寸为640x480,而终端LCD尺寸为176x224,为了能够适应LCD的显示,要对压缩后的图像数据进行裁剪(步骤4)和下采样处理(步骤6)。处理的方法为,先从640x480裁减到352x448(通过步骤4的处理完成),再将其下采样到172x224(通过步骤6的处理完成)。这些算法在JPEG解码过程中交叉进行,减少了访问图像数据的次数,从而提高了效率。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。