一种嵌入式图像处理的小波系统的制作方法

文档序号:17445803发布日期:2019-04-17 05:35阅读:169来源:国知局
一种嵌入式图像处理的小波系统的制作方法

本发明涉及数字电路领域,具体涉及一种嵌入式图像处理的小波系统。



背景技术:

小波变换作为图像处理中的关键技术,通过不同层次的小波分解,能够获得不同水平的细节信息。而小波基能够同时对图像的空间信息和频率信息进行有效提取。且在小波变换的过程中,图像大小和存储量是不变的。因此,小波变换在图像压缩、图像增强和图像融合中有着广泛使用。

通常而言,小波变换和处理出现在软件层面或存在大容量存储的算法处理器中,如isp或gpu中。而嵌入式的方案很少出现,原因在于嵌入式的图像处理中,图像数据存储有限,且对于图像数据流的控制和图像数据处理存在较大难度。随着图像处理要求和工艺水平的提高,如何在cis图像传感器中,嵌入一个简单的小波处理模块,完成基础的滤波或图像压缩处理,渐渐提上议程。



技术实现要素:

本发明的目的是提供一种嵌入式图像处理的小波系统,通过将图像数据分级存储和处理,构建一个拥有内部存储和处理能力的处理核,将多级的小波分解、图像处理和小波重构限制在处理核中,有效增强了小波处理多层次的可重构性,能够适应不同小波、基不同层级的小波变换和处理。

为了实现上述目的,本发明采用如下技术方案:一种嵌入式图像处理的小波系统,包括j个分解模块、处理模块和j个重构模块,所述处理模块位于j个分解模块和j个重构模块之间;所述图像数据依次经过j个分解模块被分解为图像数据hh、hl、lh和ll,并传输至所述图像处理模块进行处理,处理之后的图像数据hh’、hl’、lh’和ll’再依次经过j个重构模块重构为处理之后的图像数据;

所述分解模块将输入的图像数据分解为图像数据hhi、hli、lhi和lli,其中,第1个分解模块为起始分解模块,对输入图像数据进行第一层分解,输入图像数据经过第1分解模块被分解为图像数据hh0、hl0、lh0和ll0,并传输至第2个分解模块中;第2个分解模块至第j个分解模块将上一个分解模块传输过来的图像数据hhi、hli和lhi原样输出,同时将传输过来的图像数据lli进一步分解为为图像数据hhi+1、hli+1和lhi+1;其中,i表示第i+1个分解模块,1≤i≤j-2;

依次经过j个分解模块进行分解之后的图像数据传输至图像数据信号处理模块中进行图像数据处理,处理之后的图像数据传输依次经过j个重构模块,其中,第j个重构模块为起始重构模块,用于将经过图像数据信号处理模块处理之后的第j个分解模块分解出来的图像数据hhj-1’、hlj-1’、lhj-1’和llj-1’进行重构,第j-1个重构模块至第1个重构模块分别将对应分解模块分解出来的为图像数据hhi、hli、lhi和lli进行重构,其中,i表示第i+1个重构模块,1≤i≤j-2;j为小波处理系统的分解级数和重构级数,1≤j。

进一步地,所述第1个分解模块输出图像数据hh0、hl0、lh0和ll0;

所述第2个分解模块输出图像数据hh0、hl0、lh0、hh1、hl1、lh1和ll1,其中,所述图像数据hh1、hl1、lh1和ll1为图像数据ll0经过第2个分解模块输出的图像数据;

所述第3个分解模块输出图像数据hh0、hl0、lh0、hh1、hl1、lh1、hh2、hl2、lh2和ll2,其中,所述图像数据hh2、hl2、lh2和ll2为图像数据ll1经过第3个分解模块输出的图像数据;

直至第j个分解模块输出图像数据hh0、hl0、lh0、hh1、hl1、lh1、hh2、hl2、lh2……hhj-1、hlj-1、lhj-1和llj-1,其中,所述图像数据hhj-1、hlj-1、lhj-1和llj-1为图像数据llj-2经过第j个分解模块输出的图像数据;

第j个分解模块输出的图像数据经过所述图像处理模块进行处理并输出,且所述信号处理模块输出图像数据hh0’、hl0’、lh0’、hh1’、hl1’、lh1’、hh2’、hl2’、lh2’……hhj-1’、hlj-1’、lhj-1’和llj-1’。

进一步地,所述第j个重构模块输出图像数据hh0’、hl0’、lh0’、hh1’、hl1’、lh1’、hh2’、hl2’、lh2’……hhj-2’、hlj-2’、lhj-2’和llj-2’,其中,图像数据hhj-1’、hlj-1’、lhj-1’和llj-1’经过第j个重构模块重构为图像数据llj-2’;

所述第j-1个重构模块输出图像数据hh0’、hl0’、lh0’、hh1’、hl1’、lh1’、hh2’、hl2’、lh2’……hhj-3’、hlj-3’、lhj-3’和llj-3’,其中,图像数据hhj-2’、hlj-2’、lhj-2’和llj-2’经过第j-1个重构模块重构为图像数据llj-3’;

直至第2个重构模块输出图像数据hh0’、hl0’、lh0’和ll0’,其中图像数据hh1’、hl1’、lh1、和ll1’经过第2个重构模块重构为图像数据ll0’;

第1个重构模块输出处理之后的图像数据,其中,图像数据hh0’、hl0’、lh0’和ll0’经过第1个重构模块重构为处理之后的图像数据。

进一步地,所述分解模块包括分解图像数据输入端口、不分解图像数据输入端口、控制信号输入端口、分解图像数据输出端口、不分解图像数据输出端口和控制信号输出端口;所述分解图像数据输入端口和分解图像数据输出端口输入和输出的图像数据分别为需要进行分解的图像数据和经过分解模块分解的图像数据;所述不分解图像数据输入端口和不分解图像数据输出端口输入和输出的图像数据为不需要进行分解的图像数据;分解模块中的分解图像数据输出端口、不分解图像数据输出端口和控制信号输出端口分别连接下一分解模块的分解图像数据输入端口、不分解图像数据输入端口和控制信号输入端口;

所述重构模块包括重构图像数据输入端口、不重构图像数据输入端口、控制信号输入端口、重构图像数据输出端口、不重构图像数据输出端口和控制信号输出端口;所述重构图像数据输入端口和重构图像数据输出端口输入和输出的图像数据分别为需要进行重构的图像数据和经过重构模块分解的图像数据;所述不重构图像数据输入端口和不重构图像数据输出端口输入和输出的图像数据为不需要进行重构的图像数据;重构模块中的重构图像数据输出端口、不重构图像数据输出端口和控制信号输出端口分别连接下一重构模块的重构图像数据输入端口、不重构图像数据输入端口和控制信号输入端口。

进一步地,所述分解模块包括内存控制单元ⅰ、分解单元、分解控制单元和图像数据标识符产生单元ⅰ;所述分解控制单元同时连接并控制所述内存控制单元ⅰ和图像数据标识符产生单元ⅰ;所述内存控制单元ⅰ的输入端口连接该分解模块的分解图像数据输入端口和不分解图像数据输入端口,输出端口连接所述分解单元的重构图像数据输出端口和不重构图像数据输出端口,所述内存控制单元ⅰ连接存储区域ⅰ,用于分配输入图像数据的存储和对存储图像数据进行读取;所述图像数据标识符产生单元ⅰ的输入端口连接所述分解单元的控制信号输入端口,所述图像数据标识符产生单元ⅰ的输出端口连接所述分解单元的控制信号输出端口,用于产生分解单元的图像数据标识信号。

进一步地,所述分解单元中包括延迟子单元ⅰ,所述分解模块的不分解图像数据输入端口输入的图像数据经过所述延迟子单元ⅰ和不分解图像数据输出端口进行输出。

进一步地,所述存储区域ⅰ包括行数据存储和帧级别存储,所述小波基的长度为n,当n为大于1的奇数时,存储区域ⅰ存储n行的行数据以及(n-1)/2行的帧级别数据;当n为大于1的偶数时,存储区域ⅰ存储存储n行的行数据以及n/2行的帧级别数据。

进一步地,所述重构模块包括内存控制单元ⅱ、重构单元、重构控制单元和图像数据标识符产生单元ⅱ;所述重构控制单元同时连接并控制所述内存控制单元ⅱ和图像数据标识符产生单元ⅱ;所述内存控制单元ⅱ的输入端口连接该重构模块的重构图像数据输入端口和不重构图像数据输入端口,输出端口连接所述重构单元的重构图像数据输出端口和不重构图像数据输出端口,所述内存控制单元ⅱ连接存储区域ⅱ,用于分配输入图像数据的存储和对存储图像数据进行读取;所述图像数据标识符产生单元ⅱ的输入端口连接所述重构单元的控制信号输入端口,所述图像数据标识符产生单元ⅱ的输出端口连接所述重构单元的控制信号输出端口,用于产生重构单元的图像数据标识信号。

进一步地,所述重构单元中包括延迟子单元ⅱ,所述重构模块的不重构图像数据输入端口输入的图像数据经过所述延迟子单元和不重构图像数据输出端口进行输出。

进一步地,所述存储区域ⅱ包括行数据存储和帧级别存储,所述小波基的长度为n,当n为大于1的奇数时,存储区域ⅱ存储n行的行数据以及(n-1)/2行的帧级别数据;当n为大于1的偶数时,存储区域ⅱ存储存储n行的行数据以及n/2行的帧级别数据。

本发明的有益效果为:通过将图像数据分级存储和处理,构建一个拥有内部存储和处理能力的处理核,将多级的小波分解、图像处理和小波重构限制在处理核中,有效增强了小波处理多层次的可重构性,能够适应不同小波、基不同层级的小波变换和处理。通过存储一定行数的图像数据,完成小波变换中wshift操作,在减小边界对结果影响的同时,保持总体图像数据量的问题,并达成对整体图像的小波分解和重构。

附图说明

附图1为二维结构小波分解结果示意图。

附图2为本发明嵌入式图像处理的数据流。

附图3为本发明嵌入式图像处理的小波系统的框架图。

附图4为本发明中分解模块的示意图。

附图5为本发明中重构模块的示意图。

附图6为具体实施例中小波基长度为6且经过两级分解重构的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明的具体实施方式做进一步的详细说明。

图像小波变换即二维小波变换,是将一维小波变换应用于图像矩阵的水平和垂直方向,从而构造出二维尺度函数和三个二维小波ψh(x,y),ψv(x,y),ψd(x,y)。

如附图1所示,为图像数据经过多级小波变换后的输出图像数据。图像数据经过单级小波分解后,产生hh0,hl0,lh0和ll0四幅图像,其中ll0在下一级中会继续进行小波分解,产生hh1,hl1,lh1和ll1。以及重复操作,对于ll1进行分解。产生新的分解图像向量。在不断分解的过程中,图像数据的总大小不变,图像数据总量不变。在小波重构的过程中,进行相反的操作,每次产生新的ll层。图像数据总量依旧不变。

基于此,设计图像行存储结构,其中,图像数据中的行和列可以互换。请参阅附图2和附图3,本发明包括j个分解模块、处理模块和j个重构模块,处理模块位于j个分解模块和j个重构模块之间;图像数据依次经过j个分解模块被分解为、、和,并传输至图像处理模块进行处理,处理之后的、、和再依次经过j个重构模块重构为处理之后的图像数据;

分解模块将输入的图像数据分解为图像数据hh、hl、lh和ll,并传输至图像处理模块进行处理,处理之后的图像数据hh’、hl’、lh’和ll’再依次经过j个重构模块重构为处理之后的图像数据;

分解模块将输入的图像数据分解为图像数据hhi、hli、lhi和lli,其中,第1个分解模块为起始分解模块,对输入图像数据进行第一层分解,输入图像数据经过第1分解模块被分解为图像数据hh0、hl0、lh0和ll0,并传输至第2个分解模块中;第2个分解模块至第j个分解模块将上一个分解模块传输过来的图像数据hhi、hli和lhi原样输出,同时将传输过来的图像数据lli进一步分解为为图像数据hhi+1、hli+1和lhi+1;其中,i表示第i+1个分解模块,1≤i≤j-2;

依次经过j个分解模块进行分解之后的图像数据传输至图像数据信号处理模块中进行图像数据处理,处理之后的图像数据传输依次经过j个重构模块,其中,第j个重构模块为起始重构模块,用于将经过图像数据信号处理模块处理之后的第j个分解模块分解出来的图像数据hhj-1’、hlj-1’、lhj-1’和llj-1’进行重构,第j-1个重构模块至第1个重构模块分别将对应分解模块分解出来的为图像数据hhi、hli、lhi和lli进行重构,其中,i表示第i+1个重构模块,1≤i≤j-2;j为小波处理系统的分解级数和重构级数,1≤j。

具体请参阅附图2和附图3,第1个分解模块输出图像数据hh0、hl0、lh0和ll0;第2个分解模块输出图像数据hh0、hl0、lh0、hh1、hl1、lh1和ll1,其中,图像数据hh1、hl1、lh1和ll1为图像数据ll0经过第2个分解模块输出的图像数据;第3个分解模块输出图像数据hh0、hl0、lh0、hh1、hl1、lh1、hh2、hl2、lh2和ll2,其中,图像数据hh2、hl2、lh2和ll2为图像数据ll1经过第3个分解模块输出的图像数据;直至第j个分解模块输出图像数据hh0、hl0、lh0、hh1、hl1、lh1、hh2、hl2、lh2……hhj-1、hlj-1、lhj-1和llj-1,其中,图像数据hhj-1、hlj-1、lhj-1和llj-1为图像数据llj-2经过第j个分解模块输出的图像数据。

第j个分解模块输出的图像数据经过图像处理模块进行处理并输出,且信号处理模块输出为图像数据hh0’、hl0’、lh0’、hh1’、hl1’、lh1’、hh2’、hl2’、lh2’……hhj-1’、hlj-1’、lhj-1’和llj-1’。

第j个重构模块输出图像数据hh0’、hl0’、lh0’、hh1’、hl1’、lh1’、hh2’、hl2’、lh2’……hhj-2’、hlj-2’、lhj-2’和llj-2’,其中,图像数据hhj-1’、hlj-1’、lhj-1’和llj-1’经过第j个重构模块重构为图像数据llj-2’;第j-1个重构模块输出图像数据hh0’、hl0’、lh0’、hh1’、hl1’、lh1’、hh2’、hl2’、lh2’……hhj-3’、hlj-3’、lhj-3’和llj-3’,其中,图像数据hhj-2’、hlj-2’、lhj-2’和llj-2’经过第j-1个重构模块重构为图像数据llj-3’;直至第2个重构模块输出图像数据hh0’、hl0’、lh0’和ll0’,其中图像数据hh1’、hl1’、lh1、和ll1’经过第2个重构模块重构为图像数据ll0’;第1个重构模块输出处理之后的图像数据,其中,图像数据hh0’、hl0’、lh0’和ll0’经过第1个重构模块重构为处理之后的图像数据。

本发明中在上述分解的过程中,每一个分解模块输出的图像数据中不需要被分解的图像数据占据原来的位置不动,需要被分解的图像数据分解为新的图像数据,并存储在被分解的图像数据的位置上;整个过程中数据总量是不变的,只是将图像数据中的数据进行分类重排的过程。在重构的过程中,也是相同的存储原理,每一个重构模块中需要被重构的图像数据在重构之后占据之前各个图像数据的位置,直至最终重构为处理之后的图像数据。

请参阅附图3,本发明中分解模块包括分解图像数据输入端口di_in、不分解图像数据输入端口dupi_in、控制信号输入端口ctrli_in、分解图像数据输出端口di_out、不分解图像数据输出端口dupi_out和控制信号输出端口ctrli_out;分解图像数据输入端口和分解图像数据输出端口输入和输出的图像数据分别为需要进行分解的图像数据和经过分解模块分解的图像数据;不分解图像数据输入端口和不分解图像数据输出端口输入和输出的图像数据为不需要进行分解的图像数据;分解模块中的分解图像数据输出端口、不分解图像数据输出端口和控制信号输出端口分别连接下一分解模块的分解图像数据输入端口、不分解图像数据输入端口和控制信号输入端口。重构模块包括重构图像数据输入端口bi_in、不重构图像数据输入端口bupi_in、控制信号输入端口ctrloi_in、重构图像数据输出端口bi_out、不重构图像数据输出端口bupi_out和控制信号输出端口ctrloi_out;重构图像数据输入端口和重构图像数据输出端口输入和输出的图像数据分别为需要进行重构的图像数据和经过重构模块分解的图像数据;不重构图像数据输入端口和不重构图像数据输出端口输入和输出的图像数据为不需要进行重构的图像数据;重构模块中的重构图像数据输出端口、不重构图像数据输出端口和控制信号输出端口分别连接下一重构模块的重构图像数据输入端口、不重构图像数据输入端口和控制信号输入端口。

如附图4所示,为上述分解模块的示意图,由于只有一个分解单元的图示,附图4中将第i级分解模块的分解图像数据输出端口、不分解图像数据输出端口和控制信号输出端口分别输入的图像数据表示为:di_out,dupi_out和ctrli_out。

分解模块包括内存控制单元ⅰ、分解单元、分解控制单元和图像数据标识符产生单元ⅰ;分解控制单元同时连接并控制内存控制单元ⅰ和图像数据标识符产生单元ⅰ;内存控制单元ⅰ的输入端口连接该分解模块的分解图像数据输入端口和不分解图像数据输入端口,输出端口连接分解单元的重构图像数据输出端口和不重构图像数据输出端口,内存控制单元ⅰ连接存储区域ⅰ,用于分配输入图像数据的存储和对存储图像数据进行读取;图像数据标识符产生单元ⅰ的输入端口连接分解单元的控制信号输入端口,图像数据标识符产生单元ⅰ的输出端口连接分解单元的控制信号输出端口,用于产生分解单元的图像数据标识信号,

需要指出的是,由于小波变换需要保证图像数据总量不变,有必要进行wshift操作。对每一帧图像而言,存储开头几行的计算结果(由于降采样,图像数据总量需要除2操作),并在最后从存储区域中读出,与最后几行的计算结果相加,从而减少边界对图像处理的影响。具体请参阅附图4中,存储区域ⅰ包括行数据存储和帧级别存储,小波基的长度为n,当n为大于1的奇数时,存储区域ⅰ存储n行的行数据以及(n-1)/2行的帧级别数据;当n为大于1的偶数时,存储区域ⅰ存储存储n行的行数据以及n/2行的帧级别数据。

值得说明的是,用于存储帧级别图像数据的行存储,在第1个分解模块中可以省略,因此,第1级分解模块中存储区域只需要存储n行的图像数据即可。

其中,分解单元中包括延迟子单元ⅰ,分解模块的不分解图像数据输入端口输入的图像数据经过延迟子单元ⅰ和不分解图像数据输出端口进行输出。

如附图5所示,由于只有一个重构单元的图示,附图4中将第i级重构模块的重构图像数据输出端口、不重构图像数据输出端口和控制信号输出端口分别输入的图像数据表示为:bi_out,bupi_out和ctrloi_out。

重构模块包括内存控制单元ⅱ、重构单元、重构控制单元和图像数据标识符产生单元ⅱ;重构控制单元同时连接并控制内存控制单元ⅱ和图像数据标识符产生单元ⅱ;内存控制单元ⅱ的输入端口连接该重构模块的重构图像数据输入端口和不重构图像数据输入端口,输出端口连接重构单元的重构图像数据输出端口和不重构图像数据输出端口,内存控制单元ⅱ连接存储区域ⅱ,用于分配输入图像数据的存储和对存储图像数据进行读取;图像数据标识符产生单元ⅱ的输入端口连接重构单元的控制信号输入端口,图像数据标识符产生单元ⅱ的输出端口连接重构单元的控制信号输出端口,用于产生重构单元的图像数据标识信号。

其中,重构单元中包括延迟子单元ⅱ,重构模块的不重构图像数据输入端口输入的图像数据经过延迟子单元和不重构图像数据输出端口进行输出。

与分解模块类似的道理,由于小波变换需要保证图像数据总量不变,有必要进行wshift操作。对每一帧图像而言,存储开头几行的计算结果(由于降采样,图像数据总量需要除2操作),并在最后从存储区域中读出,与最后几行的计算结果相加,从而减少边界对图像处理的影响。具体请参阅附图5中,存储区域ⅱ包括行数据存储和帧级别存储,小波基的长度为n,当n为大于1的奇数时,存储区域ⅱ存储n行的行数据以及(n-1)/2行的帧级别数据;当n为大于1的偶数时,存储区域ⅱ存储存储n行的行数据以及n/2行的帧级别数据。

本发明中处理模块的端口与分解模块基本相同,其具体结构可以根据处理模块的处理方式等进行具体确定,毋庸置疑的是,处理模块中同样需要将处理图像数据以及不处理图像数据进行区分。

如附图6所示,为小波基长度为6,且经过两级分解和两级重构的嵌入式小波电路。第1级分解模块的分解图像数据输入端口、不分解图像数据输入端口和控制信号输入端口分别输入的图像数据表示为:d1_in,dup1_in和ctrl1_in,由于第1级分解模块的分解图像数据输出端口、不分解图像数据输出端口和控制信号输出端口分别连接第2级分解模块的分解图像数据输入端口、不分解图像数据输入端口和控制信号输入端口,所以第2级分解模块的分解图像数据输入端口、不分解图像数据输入端口和控制信号输入端口分别输入的图像数据表示为:d2_in,dup2_in和ctrl2_in,第2级分解模块的分解图像数据输出端口、不分解图像数据输出端口和控制信号输出端口所输出的图像数据分别表示为:d2_out,dup2_out和ctrl2_out,并通入处理模块isp的分解图像数据输入端口、不分解图像数据输入端口和控制信号输入端口中,处理模块isp的重构图像数据输出端口、不重构图像数据输出端口和控制信号输入端口分别连接第2级重构模块包括重构图像数据输入端口、不重构图像数据输入端口和控制信号输入端口。第2级重构模块的重构图像数据输入端口、不重构图像数据输入端口和控制信号输入端口分别输入的图像数据表示为:b2_in,bup2_in和ctrlo2_in,由于第2级重构模块的重构图像数据输出端口、不重构图像数据输出端口和控制信号输出端口分别连接第1级重构模块的重构图像数据输入端口、不重构图像数据输入端口和控制信号输入端口,所以第1级重构模块的重构图像数据输入端口、不重构图像数据输入端口和控制信号输入端口分别输入的图像数据表示为:b1_in,bup1_in和ctrlo1_in,第1级重构模块的重构图像数据输出端口、不重构图像数据输出端口和控制信号输出端口分别输入的图像数据表示为:b1_out,bup1_out和ctrlo1_out,其中b1_out和bup1_out分别表示经过小波电路分解重构之后的图像数据以及没有经过分解重构的图像数据。

由于用于存储帧级别图像数据的行存储,在第1级分解模块中可以省略,因此,第1级分解模块中存储区域只需要存储6行的图像数据即可。

以上所述仅为本发明的优选实施例,所述实施例并非用于限制本发明的专利保护范围,因此凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应包含在本发明所附权利要求的保护范围内。

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