首页 / 专利库 / 信号处理 / 小波变换 / 基于HyperX平台的9/7小波变换方法

基于HyperX平台的9/7小波变换方法

阅读:768发布:2020-05-11

专利汇可以提供基于HyperX平台的9/7小波变换方法专利检索,专利查询,专利分析的服务。并且一种基于 多核处理器 HyperX平台的9/7 小波变换 方法,其步骤为:转化原始图像的格式、计算数据读取地址、按 块 读取数据、发送扩展图像数据块、判断发送次数是否小于并行处理单元的数目、9/7小波变换、删除图像数据块的扩展、发送图像数据块至数据接收单元、拷贝图像数据块至全局内存、判断9/7小波变换是否完成、判断9/7小波变换的级数是否等于4、拷贝全局内存中的图像数据至 硬盘 。本 发明 提供一种基于HyperX平台的9/7小波变换方法。利用多核处理器HyperX平台独特的通信模式和高度并行的处理架构,并行低功耗地实现四级9/7小波变换,解决了开发难度高,功耗大的问题。,下面是基于HyperX平台的9/7小波变换方法专利的具体信息内容。

1.一种基于HyperX平台的9/7小波变换方法,在多核处理器HyperX平台上实现9/7小波变换,具体步骤包括如下:
(1)转化原始图像的格式:
(1a)从图像集中选取一幅后缀为.png格式的原始图像,将该原始图像转化为后缀为.txt格式的文件;
(1b)在双倍速率同步动态随机存储器DDR中分配两全局内存A和B,全局内存A由四个连续的内存区域组成;
(1c)将9/7小波变换的级数L设为1,将后缀为.txt格式的文件中的第一级9/7小波变换原始图像数据拷贝至全局内存A的第1个内存区域中;
(2)计算数据读取地址:
将全局内存A的第L个内存区域的起始地址减去(4*C+4)的值作为数据读取地址,其中,L表示9/7小波变换的级数,C表示原始图像数据的宽度;
(3)按块读取图像数据:
多核处理器HyperX平台的数据读取单元利用数据读取函数,从数据读取地址开始读取(W+8)*(H+8)个像素,对大小为(4*C+4)的存储区域中的默认数据及全局内存A的第L个内存区域中的图像数据,在0~4096个像素的范围内进行切割,得到一个大小为(W+8)*(H+8)个像素的扩展图像数据块,其中,C表示原始图像数据的宽度,W表示原始图像数据块的列数,H表示原始图像数据块的行数,L表示9/7小波变换的级数,*表示相乘操作;
(4)发送扩展图像数据块:
(4a)多核处理器HyperX平台的数据读取单元,连续发送W*H个像素,将一个扩展图像数据块发送至多核处理器HyperX平台的一个并行处理单元中;
(4b)数据读取地址跳变;
(5)判断发送次数是否小于多核处理器HyperX平台的并行处理单元的数目,如果是,则执行步骤(3);否则,执行步骤(6);
(6)9/7小波变换:
(6a)多核处理器HyperX平台的并行处理单元依次接收一个扩展图像数据块;
(6b)多核处理器HyperX平台的并行处理单元,对扩展图像数据块的上下各四行,左右各四列,分别进行赋值;
(6c)多核处理器HyperX平台的并行处理单元,对扩展图像数据块进行9/7小波变换;
(7)删除图像数据块的扩展:
多核处理器HyperX平台的并行处理单元,分别删除9/7小波变换后的扩展图像数据块上下各四行、左右各四列的数据,得到一个大小为W*H个像素的9/7小波变换后的图像数据块,其中,W表示原始图像数据块的列数,H表示原始图像数据块的行数,*表示相乘操作;
(8)发送图像数据块至数据接收单元:
(8a)多核处理器HyperX平台的第一个并行处理单元,连续发送W*H个像素,将9/7小波变换之后的图像数据块发送至多核处理器HyperX平台的数据接收单元;
(8b)多核处理器HyperX平台的第一个并行处理单元将进程同步信号设为0;
(8c)多核处理器HyperX平台的第一个并行处理单元,发送进程同步信号给下一个并行处理单元,下一个并行处理单元接收到进程同步信号之后,连续发送W*H个像素,将9/7小波变换之后的图像数据块发送至多核处理器HyperX平台上的数据接收单元,所有的并行处理单元依次发送W*H个像素,将9/7小波变换之后的图像数据块发送至多核处理器HyperX平台的数据接收单元,其中,W表示图像数据块的列数,H表示图像数据块的行数,*表示乘法操作;
(9)拷贝图像数据块至全局内存:
(9a)多核处理器HyperX平台的数据接收单元接收9/7小波变换后的图像数据块;
(9b)多核处理器HyperX平台的数据接收单元判断9/7小波变换后的图像数据块是否位于9/7小波变换后图像数据的低频子带,如果是,则执行步骤(9c);否则,执行步骤(9d);
(9c)多核处理器HyperX平台的数据接收单元,将9/7小波变换之后的图像数据块拷贝至全局内存A的第(L+1)个内存区域中,其中,L表示9/7小波变换的级数;
(9d)多核处理器HyperX平台的数据接收单元,将9/7小波变换后的图像数据块拷贝至全局内存B中;
(10)判断9/7小波变换是否完成,如果是,则执行步骤(11),否则,执行步骤(3);
(11)判断9/7小波变换的级数是否等于4,如果是,则执行步骤(12);否则,将9/7小波变换的级数L加1,执行步骤(2);
(12)拷贝全局内存中的图像数据至硬盘中:
(12a)多核处理器HyperX平台的数据接收单元,将全局内存B中的最终的图像数据载入到后缀为.txt格式的文件中;
(12b)将后缀为.txt格式的文件拷贝到硬盘。
2.根据权利要求1所述的基于HyperX平台的9/7小波变换方法,其特征在于,步骤(1b)中所述的四个连续的内存区域是指,与9/7小波变换的级数L相对应的A1,A2,A3,A4四个连续的内存区域。
3.根据权利要求1所述的基于HyperX平台的9/7小波变换方法,其特征在于,步骤(2)中所述的4*C是指原始图像上边缘扩展的图像数据的个数,4是指原始图像第一行左边缘扩展的图像数据的个数,其中,C表示第L级9/7小波变换的原始图像的宽度,*表示相乘操作。
4.根据权利要求1所述的基于HyperX平台的9/7小波变换方法,其特征在于,步骤(3)中所述的扩展图像数据块的左右各四列数据为扩展的图像数据,上下各四行数据为扩展的图像数据,其中,W表示原始图像数据块的列数,H表示原始图像数据块的行数。

说明书全文

基于HyperX平台的9/7小波变换方法

技术领域

[0001] 本发明涉及图像处理技术领域,更进一步涉及图像压缩技术领域中的一种借助多核处理器HyperX平台实现四级9/7小波变换方法。本发明利用多核处理器HyperX平台的独特的通信模式和高度并行的处理架构,并行低功耗地实现四级9/7小波变换,解决了小波变换速度慢,开发难度高,功耗大的问题。本发明可用于对各种数字设备的图像压缩编码等领域。

背景技术

[0002] 小波变换已经广泛应用于信号分析、图像处理、模式识别、医学成像与诊断、数字印等领域,尤其在图像压缩算法中发挥重要作用。联合图像专家组推出的JPEG2000图像压缩标准和太空数据系统咨询委员会推出的CCSDS图像压缩标准都使用了离散提升小波变换。基于离散提升小波变换的图像压缩系统出现在学术、科研以及工业等领域,而离散提升小波变换的高效实现一直是各领域面临的重要任务之一。图形处理单元CPU、通用信号处理器DSP、现场可编程阵列FPGA等都已经被用于实现高效的小波变换。图形处理单元CPU和通用信号处理器DSP的速度高,开发难度低,但是功耗较高;现场可编程门阵列FPGA功耗低,但是开发难度高,为了快速实现小波变换的高速、低功耗处理,本发明利用多核处理器HyperX平台实现快速小波变换。
[0003] 中国科学院长春光学精密机械与物理研究所在其申请专利“一种提升小波变换FPGA实现的方法”(专利申请号:CN201310066814.0,公开号:CN103179398A)中公开了一种将小波变换算法用硬件描述语言(HDL)在现场可编程门阵列FPCA上实现的方法。该方法将CCD图像每128行作为一图像,先将一帧图像分为8组,每组采用16个并行的1-D行提升小波变换模进行分解,然后将行提升小波系数的每32列采用16个并行的1-D列提升小波变换模块进行分解,最终完成二维提升。该方法存在的不足是,所有数据的行变换处理结束之后,才进行列变换处理,数据要反复地与全局内存进行交互,总体处理速度慢。而且开发难度高,开发周期长,效率低,占用资源大。
[0004] 西安电子科技大学在其申请的专利“一种用CPU通过分块实现快速小波变换的方法”(专利申请号:CN201310055242.6,公开号:CN103198451A)中公开了一种用图形处理单元CPU通过分块实现快速小波变换的方法。该方法将数据分块并行处理,包括拷贝原始图像、数据分块、数据扩展、拷贝数据到共享内存、行变换、列变换、取消数据扩展、拷贝变换后数据到主机内存的步骤。该方法主要解决了现有技术小波变换速度慢的问题,通过图像块与图像块的并行、图像块分部各像素点之间的并行提高了整幅图像的处理速度。但是该方法仍然存在的不足是,块与块之间不进行通信,无法判断局部数据是否完成一级小波变换处理,不利于连续进行多级小波变换处理。

发明内容

[0005] 本发明的目的在于克服上述已有技术的不足,提供一种基于多核处理器HyperX平台的9/7小波变换方法。利用多核处理器HyperX平台的独特的通信模式和高度并行的处理架构,并行低功耗高性能地实现四级9/7小波变换,开发周期短,复杂度低。
[0006] 本发明利用多核处理器HyperX平台并行处理单元多、并行度高的特点,将扩展后的图像数据切割成与并行处理单元的内存大小相同的数据块,提高9/7小波并行处理的速度;通过给原始图像数据块以边缘数据为中心镜像赋值得到扩展图像数据块,保证小波变换结果的准确性;通过在每个并行处理单元中进行9/7小波变换提高数据的访问速度,避免了数据反复与全局内存的交互;不同图像块的9/7小波变换同时进行,提高了整幅图像的处理速度;利用特殊的发送接收函数实现数据读取单元与并行处理单元之间,并行处理单元与数据接收单元之间的通信;通过并行处理单元之间的通信,同步地对图像数据块进行9/7小波变换。
[0007] 为实现上述目的,本发明的方法包括如下步骤:
[0008] (1)转化原始图像的格式:
[0009] (1a)从图像集中选取一幅后缀为.png格式的原始图像,将该原始图像转化为后缀为.txt格式的文件;
[0010] (1b)在双倍速率同步动态随机存储器DDR中分配两块全局内存A和B,全局内存A由四个连续的内存区域组成;
[0011] (1c)将9/7小波变换的级数L设为1,将后缀为.txt格式的文件中的第一级9/7小波变换原始图像数据拷贝至全局内存A的第1个内存区域中;
[0012] (2)计算数据读取地址:
[0013] 将全局内存A的第L个内存区域的起始地址减去(4*C+4)的值作为数据读取地址,其中,L表示9/7小波变换的级数,C表示原始图像数据的宽度;
[0014] (3)按块读取图像数据:
[0015] 多核处理器HyperX平台的数据读取单元利用数据读取函数,从数据读取地址开始读取(W+8)*(H+8)个像素,对大小为(4*C+4)的存储区域中的默认数据及全局内存A的第L个内存区域中的图像数据,在0~4096个像素的范围内进行切割,得到一个大小为(W+8)*(H+8)个像素的扩展图像数据块,其中,C表示原始图像数据的宽度,W表示原始图像数据块的列数,H表示原始图像数据块的行数,L表示9/7小波变换的级数,*表示相乘操作;
[0016] (4)发送扩展图像数据块:
[0017] (4a)多核处理器HyperX平台的数据读取单元,连续发送W*H个像素,将一个扩展图像数据块发送至多核处理器HyperX平台的一个并行处理单元中;
[0018] (4b)数据读取地址跳变;
[0019] (5)判断发送次数是否小于多核处理器HyperX平台的并行处理单元的数目,如果是,则执行步骤(3);否则,执行步骤(6);
[0020] (6)9/7小波变换:
[0021] (6a)多核处理器HyperX平台的并行处理单元依次接收一个扩展图像数据块;
[0022] (6b)多核处理器HyperX平台的并行处理单元,对扩展图像数据块的上下各四行,左右各四列,分别进行赋值;
[0023] (6c)多核处理器HyperX平台的并行处理单元,对扩展图像数据块进行9/7小波变换;
[0024] (7)删除图像数据块的扩展:
[0025] 多核处理器HyperX平台的并行处理单元,分别删除9/7小波变换后的扩展图像数据块上下各四行、左右各四列的数据,得到一个大小为W*H个像素的9/7小波变换后的图像数据块,其中,W表示原始图像数据块的列数,H表示原始图像数据块的行数,*表示相乘操作;
[0026] (8)发送图像数据块至数据接收单元:
[0027] (8a)多核处理器HyperX平台的第一个并行处理单元,连续发送W*H个像素,将9/7小波变换之后的图像数据块发送至多核处理器HyperX平台的数据接收单元;
[0028] (8b)多核处理器HyperX平台的第一个并行处理单元将进程同步信号设为0;
[0029] (8c)多核处理器HyperX平台的第一个并行处理单元,发送进程同步信号给下一个并行处理单元,下一个并行处理单元接收到进程同步信号之后,连续发送W*H个像素,将9/7小波变换之后的图像数据块发送至多核处理器HyperX平台上的数据接收单元,所有的并行处理单元依次发送W*H个像素,将9/7小波变换之后的图像数据块发送至多核处理器HyperX平台的数据接收单元,其中,W表示图像数据块的列数,H表示图像数据块的行数,*表示乘法操作;
[0030] (9)拷贝图像数据块至全局内存:
[0031] (9a)多核处理器HyperX平台的数据接收单元接收9/7小波变换后的图像数据块;
[0032] (9b)多核处理器HyperX平台的数据接收单元判断9/7小波变换后的图像数据块是否位于9/7小波变换后图像数据的低频子带,如果是,则执行步骤(9c);否则,执行步骤(9d);
[0033] (9c)多核处理器HyperX平台的数据接收单元,将9/7小波变换之后的图像数据块拷贝至全局内存A的第(L+1)个内存区域中,其中,L表示9/7小波变换的级数;
[0034] (9d)多核处理器HyperX平台的数据接收单元,将9/7小波变换后的图像数据块拷贝至全局内存B中;
[0035] (10)判断9/7小波变换是否完成,如果是,则执行步骤(11),否则,执行步骤(3);
[0036] (11)判断9/7小波变换的级数是否等于4,如果是,则执行步骤(12);否则,将9/7小波变换的级数L加1,执行步骤(2);
[0037] (12)拷贝全局内存中的图像数据至硬盘
[0038] (12a)多核处理器HyperX平台的数据接收单元,将全局内存B中的最终的图像数据载入到后缀为.txt格式的文件中;
[0039] (12b)将后缀为.txt格式的文件拷贝到硬盘中。
[0040] 本发明与现有技术相比较,具有如下优点:
[0041] 第一,由于本发明利用多核处理器HyperX平台,可以实现高性能低功耗的并行数据处理,克服了现有技术中利用图形处理单元CPU实现9/7小波变换功耗较高的问题,使得本发明采用多核处理器HyperX平台的每个并行处理单元的功耗仅为25mW,降低了9/7小波变换的功耗;同时克服了利用现场可编程门阵列FPGA实现9/7小波变换开发难度大,开发周期长,复杂度低的问题,使得本发明的开发难度低,开发周期短。
[0042] 第二,由于本发明中所有的并行处理单元处理完图像数据块之后,第一个并行处理单元发送一个进程同步信号给下一个并行处理单元PE,克服了现有技术中图形处理单元CPU的处理单元之间不能进行通信,总体处理速度慢,不利于连续进行多级9/7小波变换的问题,使得本发明中的并行处理单元PE可以高速低功耗地进行通信,最终完成四级9/7小波变换。
[0043] 第三,由于本发明采用了将每个图像数据块向其四周方向各延伸四个像素,处于边缘不能延伸的,则以边缘的像素为中心进行镜像复制扩展的边缘扩展方式,得到扩展图像数据块,克服了现有技术简单地对图像分块导致的结果不精确的问题,使得本发明可以保证小波变换结果的准确性。
[0044] 第四,由于本发明通过步骤(2)、步骤(3)、步骤(4)、步骤(5)将原始图像数据切割成图像数据块,然后将切割成的图像数据块发送至多核处理器HyperX平台的并行处理单元中对图像数据块进行9/7小波变换,克服了现有技术中利用现场可编程门阵列FPGA将所有数据的行变换处理结束之后,才进行列变换处理实现9/7小波变换,导致数据反复与全局内存交互的问题,使得本发明提高了数据的访问速度,从而提高了总体处理速度。附图说明
[0045] 图1是本发明的流程图
[0046] 图2是本发明的扩展后的图像数据图;
[0047] 图3是本发明的资源映射图;
[0048] 图4是本发明的全局内存分配图。

具体实施方式

[0049] 下面结合附图对本发明做详细的描述。
[0050] 参照附图1对本发明的实现步骤做详细的描述。
[0051] 步骤1,转换原始图像的格式。
[0052] 从图像集中选取一幅后缀为.png格式的原始图像,利用matlab软件将后缀为.png格式的原始图像,转化为后缀为.txt格式的文件。
[0053] 在双倍速率同步动态随机存储器DDR中分配两块全局内存A和B,全局内存A由四个连续的内存区域组成,该四个连续的内存区域为与9/7小波变换的级数L相对应的A1,A2,A3,A4四个内存区域。
[0054] 全局内存A为从起始地址50000开始,大小为C*R*(1+1/4+1/16+1/64)的一段内存区域,内存区域A1大小为C*R,用来存储第一级9/7小波变换的原始图像数据;内存区域A2大小为C*R*1/4,用来存储第二级9/7小波变换的原始图像数据;内存区域A3大小为C*R*1/16,用来存储第三级9/7小波变换的原始图像数据;内存区域A4大小为C*R*1/64,用来存储第四级9/7小波变换的原始图像数据;全局内存B为大小为C*R*1/4的内存区域,用来存储四级9/7小波变换之后的最终图像数据。
[0055] 将当前9/7小波变换的级数L设为1,将后缀为.txt格式的文件中的第一级9/7小波变换原始图像数据拷贝至全局内存A的第1个内存区域中,将全局内存A的第L个内存区域的起始地址设为50000。
[0056] 步骤2,计算数据读取地址。
[0057] 将全局内存A的第L个内存区域的起始地址减去(4*C+4)的值作为数据读取地址,其中,4*C是指原始图像上边缘扩展的图像数据的个数,4是指原始图像第一行左边缘扩展的图像数据的个数,C表示第L级9/7小波变换的原始图像的宽度,*表示相乘操作,L表示9/7小波变换的级数。
[0058] 全局内存A的第L+1个内存区域的起始地址,为第L个内存区域的起始地址加上第L级9/7小波变换的原始图像数据的个数。
[0059] 步骤3,按块读取图像数据。
[0060] 多核处理器HyperX平台的数据读取单元利用数据读取函数,从数据读取地址开始,读取(W+8)*(H+8)个像素,对大小为4*C+4的存储边缘扩展数据的存储区域中的默认数据以及全局内存A的第L个内存区域中的图像数据,在0~4096个像素的范围内进行切割,得到一个大小为(W+8)*(H+8)个像素的扩展图像数据块,扩展图像数据块的左右各四列数据为扩展的图像数据,上下各四行数据为扩展的图像数据,其中,L表示9/7小波变换的级数,W表示原始图像数据块的列数,H表示原始图像数据块的行数,*表示相乘操作,其中,C表示第L级9/7小波变换原始图像的宽度。
[0061] 其中,从数据读取地址开始,读取(W+8)*(H+8)个像素是通过循环(H+8)次完成的,具体实现方法如下:
[0062] 利用数据读取函数,从数据读取地址开始,每次读取(W+8)个像素,然后读取地址增加C,循环读取(H+8)次,其中,C表示第L级9/7小波变换原始图像的宽度。
[0063] 对大小为4*C-4的存储边缘扩展数据的存储区域中的默认数据以及全局内存A的第L个内存区域中的图像数据进行切割的同时,第L级9/7小波变换的原始图像被切割得到原始图像数据块,原始图像数据块作为扩展图像数据块的核心数据,扩展图像数据块的个数与原始图像数据块的个数相等,原始图像数据块的扩展隐藏在数据读取操作中。
[0064] 根据第L级9/7小波变换的原始图像的宽度和高度,可以通过下式计算出宽度方向上图像数据块的个数和高度方向上原始图像数据块的个数,进而计算出总的原始图像数据块的个数,即扩展图像数据块的个数:
[0065]
[0066]
[0067] T=M*N
[0068] 因此第L级9/7小波变换需要处理T个扩展图像数据块。此后每一级9/7小波变换处理的块的数量为上一级的四分之一,其中,M表示宽度方向上图像数据块的个数,C表示第L级9/7小波变换原始图像的宽度,W表示原始图像数据块的列数,N表示高度方向上图像数据块的个数,R表示第L级9/7小波变换原始图像的高度,H表示图像数据块的行数,T表示第L级9/7小波变换总的扩展图像数据块的个数,/表示保留小数的除法操作, 表示将除法结果向上取整的操作,*表示相乘操作。
[0069] 由于第L级9/7小波变换原始图像的大小不一定是W*H的整数倍,所以对大小为4*C+4的存储边缘扩展数据的存储区域中的默认数据以及全局内存A的第L个内存区域中的图像数据切割得到的扩展图像数据块的大小有可能不是(W+8)*(H+8)。对这些扩展图像数据块进行以边缘像素为中心镜像复制扩展,使其成为大小为(W+8)*(H+8)的图像数据块。
[0070] 将[1,98]范围内的为T的约数的一个正整数设为并行处理单元PE的数目,其中,T表示总的扩展图像数据块的个数。
[0071] 步骤4,发送扩展图像数据块。
[0072] 多核处理器HyperX平台的数据读取单元利用发送函数,连续发送(W+8)*(H+8)个像素,将一个扩展图像数据块发送至多核处理器HyperX平台的一个并行处理单元中。
[0073] 数据读取地址跳变,该步骤通过以下方式实现:判断下一个扩展图像数据块在全局内存A的第L个内存区域中的地址,将该地址作为下一次数据读取的地址,数据读取地址的跳变将第L级9/7小波变换的原始图像的上下四行,左右四列的边缘扩展图像数据的存储区预先开辟出来,在步骤6中再对扩展图像数据块的上下各四行,左右各四列的边缘图像数据进行重新赋值。
[0074] 步骤5,判断发送次数是否小于多核处理器HyperX平台的并行处理单元的数目,如果是,则执行步骤3;否则,执行步骤6。
[0075] 步骤6,9/7小波变换。
[0076] 多核处理器HyperX平台的并行处理单元依次接收一个扩展图像数据块。
[0077] 多核处理器HyperX平台的并行处理单元根据扩展图像块在全局内存A的第L个内存区域中的位置,给的上下各四行,左右各四列,分别进行不同情况的赋值。
[0078] 参照附图2,给不同位置的扩展图像数据块进行不同情况的赋值,给标号为0、2、6、8的区域的两个部分赋值,给标号为1、3、5、7的区域的扩展图像数据块的一个部分赋值,标号为4的区域的扩展图像数据块无变化;
[0079] 给标号为0的区域的扩展图像数据块的给左面四列以第五列的像素数据为中心镜像赋值;给标号为2的区域的扩展图像数据块的上面四行以第五行的像素数据为中心镜像赋值,给右面四列以第(W+4)列的像素数据为中心镜像赋值;给标号为6的区域的扩展图像数据块的,给左面四列以第五列的像素数据为中心镜像赋值;给标号为8的区域的扩展图像数据块的右面四列以第(W+4)列的像素数据为中心镜像赋值,给下面四行以第(H+4)行的像素数据为中心镜像赋值,其中,W表示原始图像数据块的列数,H表示原始图像数据块的行数;
[0080] 给标号为1区域的扩展图像数据块的上面四行以第五行的像素数据为中心镜像赋值;给标号为3的区域的扩展图像数据块的左面四列以第五列的像素数据为中心镜像赋值;给标号为5的区域的扩展图像数据块的右面四列以第五列的像素数据为中心镜像赋值;给标号为7的区域的扩展图像数据块的下面四行以第五行的像素数据为中心镜像赋值。
[0081] 多核处理器HyperX平台的并行处理单元并行低功耗地对扩展图像数据块进行9/7小波变换。
[0082] 参照附图3,多核处理器HyperX平台的资源映射图展示了,数据存储与路由单元和并行处理单元之间的路由通信情况。
[0083] 步骤7,删除图像数据块的扩展。
[0084] 多核处理器HyperX平台并行处理单元,删除变换后的扩展图像数据块上下各四行、左右各四列的数据,得到大小为W*H个像素的9/7小波后的图像数据块,其中,W表示图像数据块的列数,H表示图像数据块的行数,*表示乘法操作。
[0085] 步骤8,发送图像数据块至数据接收单元。
[0086] 多核处理器HyperX平台的第一个并行处理单元,连续发送W*H个像素,将9/7小波变换之后的图像数据块发送至多核处理器HyperX平台的数据接收单元。
[0087] 多核处理器HyperX平台的第一个并行处理单元将进程同步信号设为0。
[0088] 多核处理器HyperX平台的第一个并行处理单元利用发送函数,连续发送W*H个像素,将9/7小波变换之后的图像数据块发送至多核处理器HyperX平台的数据接收单元之后,发送一个信号量给下一个并行处理单元,下一个并行处理单元接收到信号量之后,连续发送W*H个像素,将9/7小波变换之后的图像数据块发送至多核处理器HyperX平台上的数据接收单元。所有的并行处理单元依次发送W*H个像素,将9/7小波变换之后的图像数据块发送至多核处理器HyperX平台的数据接收单元,其中,W表示图像数据块的列数,H表示图像数据块的行数,*表示乘法操作。
[0089] 步骤9,拷贝图像数据块至全局内存。
[0090] 多核处理器HyperX平台的数据接收单元接收9/7小波变换后的图像数据块。
[0091] 多核处理器HyperX平台的数据接收单元判断9/7小波变换后的图像数据块是否位于9/7小波变换后图像的低频子带,如果是,则将9/7小波变换后的图像数据块,拷贝至全局内存A的第(L+1)个内存区域中。
[0092] 参照附图4,标号为A1的区域是用来存储原始图像数据,标号为A2,A3,A4的区域分别用来存储第1,2,3级9/7小波变换的后位于9/7小波变换后图像的低频子带的图像数据,其中,L表示当前9/7小波变换的级数。
[0093] 否则,将9/7小波变换后的图像数据块拷贝至全局内存B中。
[0094] 多核处理器HyperX平台的数据接收单元,将每一级9/7小波变换后图像的低频子带的图像数据块,分别拷贝至全局内存A中的内存区域A2,A3,A4中,将每一级9/7小波变换后图像的其他子带的图像数据块拷贝至全局内存B中,避免了每一级9/7小波变换后的被写入内存的图像数据块将未进行9/7小波变换的数据覆盖,同时避免了数据读取单元PE在下一级9/7小波变换中,读取所有的数据。
[0095] 多核处理器HyperX平台的数据接收单元将数据块拷贝至全局内存中时,根据数据块中的任一点在第L级9/7小波变换原始图像中对应的位置,可以通过下式计算出数据块中该点在全局内存中的对应位置:
[0096]
[0097]
[0098] 其中,U表示数据块中该点在全局内存中所对应位置的行数,I表示数据块中该点在原始图像中对应位置的行数,R表示第L级9/7小波变换原始图像的高度,V表示数据块中该点在全局内存中所对应位置的列数,J表示数据块中该点在原始图像中对应位置的列数,C表示第L级9/7小波变换原始图像的宽度,/表示保留小数的除法操作, 表示将除法结果向上取整的符号,+表示相加操作。
[0099] 步骤10,判断第L级9/7小波变换的所有的图像数据块的处理是否完成,如果是,则执行步骤11,否则,执行步骤3,其中,L表示9/7小波变换处理的级数。
[0100] 多核处理器HyperX平台的数据接收单元根据步骤8计算每一个拷贝至全局内存中的数据块的位置,进而计算出当前9/7小波变换的级数L,将9/7小波变换的级数L作为全局共享变量。
[0101] 多核处理器HyperX平台的数据读取单元持续判断9/7小波变换的级数L的值是否改变,如果是,则说明第L级9/7小波变换的所有的图像数据块的处理已经完成,多核处理器HyperX平台的数据读取单元开始下一级9/7小波变换的数据读取操作,即执行步骤10,否则,说明第L级9/7小波变换的所有的图像数据块的处理仍未完成,执行步骤3。
[0102] 步骤11,判断当前9/7小波变换的级数是否等于4,如果是,则执行步骤11;否则,将9/7小波变换的级数L加1,执行步骤2。
[0103] 9/7小波变换的级数L加1,将四级9/7小波变换分开进行,避免当前级9/7小波变换仍未完成,而下一级9/7小波变换已经开始。
[0104] 步骤12,拷贝全局内存中的数据至硬盘。
[0105] 多核处理器HyperX平台的数据接收单元,将全局内存B中的最终的图像数据载入到后缀为.txt格式的文件中;
[0106] 将后缀为.txt格式的文件拷贝到硬盘中。
[0107] 本发明通过以上步骤,低功耗高性能地实现了四级9/7小波变换。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈