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

技术编号:12741571 阅读:43 留言:0更新日期:2016-01-21 03:24
一种基于多核处理器HyperX平台的9/7小波变换方法,其步骤为:转化原始图像的格式、计算数据读取地址、按块读取数据、发送扩展图像数据块、判断发送次数是否小于并行处理单元的数目、9/7小波变换、删除图像数据块的扩展、发送图像数据块至数据接收单元、拷贝图像数据块至全局内存、判断9/7小波变换是否完成、判断9/7小波变换的级数是否等于4、拷贝全局内存中的图像数据至硬盘。本发明专利技术提供一种基于HyperX平台的9/7小波变换方法。利用多核处理器HyperX平台独特的通信模式和高度并行的处理架构,并行低功耗地实现四级9/7小波变换,解决了开发难度高,功耗大的问题。

【技术实现步骤摘要】
基于HyperX平台的9/7小波变换方法
本专利技术涉及图像处理
,更进一步涉及图像压缩
中的一种借助多核处理器HyperX平台实现四级9/7小波变换方法。本专利技术利用多核处理器HyperX平台的独特的通信模式和高度并行的处理架构,并行低功耗地实现四级9/7小波变换,解决了小波变换速度慢,开发难度高,功耗大的问题。本专利技术可用于对各种数字设备的图像压缩编码等领域。
技术介绍
小波变换已经广泛应用于信号分析、图像处理、模式识别、医学成像与诊断、数字水印等领域,尤其在图像压缩算法中发挥重要作用。联合图像专家组推出的JPEG2000图像压缩标准和太空数据系统咨询委员会推出的CCSDS图像压缩标准都使用了离散提升小波变换。基于离散提升小波变换的图像压缩系统出现在学术、科研以及工业等领域,而离散提升小波变换的高效实现一直是各领域面临的重要任务之一。图形处理单元CPU、通用信号处理器DSP、现场可编程门阵列FPGA等都已经被用于实现高效的小波变换。图形处理单元CPU和通用信号处理器DSP的速度高,开发难度低,但是功耗较高;现场可编程门阵列FPGA功耗低,但是开发难度高,为了快速实现小波变换的高速、低功耗处理,本专利技术利用多核处理器HyperX平台实现快速小波变换。中国科学院长春光学精密机械与物理研究所在其申请的专利“一种提升小波变换FPGA实现的方法”(专利申请号:CN201310066814.0,公开号:CN103179398A)中公开了一种将小波变换算法用硬件描述语言(HDL)在现场可编程门阵列FPCA上实现的方法。该方法将CCD图像每128行作为一帧图像,先将一帧图像分为8组,每组采用16个并行的1-D行提升小波变换模块进行分解,然后将行提升小波系数的每32列采用16个并行的1-D列提升小波变换模块进行分解,最终完成二维提升。该方法存在的不足是,所有数据的行变换处理结束之后,才进行列变换处理,数据要反复地与全局内存进行交互,总体处理速度慢。而且开发难度高,开发周期长,效率低,占用资源大。西安电子科技大学在其申请的专利“一种用CPU通过分块实现快速小波变换的方法”(专利申请号:CN201310055242.6,公开号:CN103198451A)中公开了一种用图形处理单元CPU通过分块实现快速小波变换的方法。该方法将数据分块并行处理,包括拷贝原始图像、数据分块、数据扩展、拷贝数据到共享内存、行变换、列变换、取消数据扩展、拷贝变换后数据到主机内存的步骤。该方法主要解决了现有技术小波变换速度慢的问题,通过图像块与图像块的并行、图像块分部各像素点之间的并行提高了整幅图像的处理速度。但是该方法仍然存在的不足是,块与块之间不进行通信,无法判断局部数据是否完成一级小波变换处理,不利于连续进行多级小波变换处理。
技术实现思路
本专利技术的目的在于克服上述已有技术的不足,提供一种基于多核处理器HyperX平台的9/7小波变换方法。利用多核处理器HyperX平台的独特的通信模式和高度并行的处理架构,并行低功耗高性能地实现四级9/7小波变换,开发周期短,复杂度低。本专利技术利用多核处理器HyperX平台并行处理单元多、并行度高的特点,将扩展后的图像数据切割成与并行处理单元的内存大小相同的数据块,提高9/7小波并行处理的速度;通过给原始图像数据块以边缘数据为中心镜像赋值得到扩展图像数据块,保证小波变换结果的准确性;通过在每个并行处理单元中进行9/7小波变换提高数据的访问速度,避免了数据反复与全局内存的交互;不同图像块的9/7小波变换同时进行,提高了整幅图像的处理速度;利用特殊的发送接收函数实现数据读取单元与并行处理单元之间,并行处理单元与数据接收单元之间的通信;通过并行处理单元之间的通信,同步地对图像数据块进行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小波变换后图像数据的低频子带,如果是,则执本文档来自技高网
...

【技术保护点】
一种基于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格式的文件拷贝到硬盘。...

【技术特征摘要】
1.一种基于HyperX平台的9/7小波变换方法,在多核处理器HyperX平台上实现9/7小波变换,具体步骤包括如下:(1)转化原始图像的格式:(1a)从图像集中选取一幅后缀为.png格式的原始图像,将该原始图像转化为后缀为.txt格式的文件;(1b)在双倍速率同步动态随机存储器DDR中分配两块全局内存A和B,全局内存A由四个连续的内存区域组成;所述的四个连续的内存区域是指,与9/7小波变换的级数L相对应的A1,A2,A3,A4四个连续的内存区域;(1c)将9/7小波变换的级数L设为1,将后缀为.txt格式的文件中的第一级9/7小波变换原始图像数据拷贝至全局内存A的第1个内存区域中;(2)计算数据读取地址:将全局内存A的第L个内存区域的起始地址减去(4*C+4)的值作为数据读取地址,其中,L表示9/7小波变换的级数,C表示原始图像数据的宽度;所述的四个连续的内存区域是指,与9/7小波变换的级数L相对应的A1,A2,A3,A4四个连续的内存区域;(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表示原始图像数据块的行数,...

【专利技术属性】
技术研发人员:张静李珊珊李云松刘金花梁晨涛江冰
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1