一种基于二维离散小波变换算法的静态图像压缩方法

文档序号:7868213阅读:194来源:国知局
专利名称:一种基于二维离散小波变换算法的静态图像压缩方法
技术领域
本发明属于嵌入式信息技术领域,具体涉及一种基于二维离散小波变换算法的静态图像压缩方法,更具体涉及一种基于可重构技术实现二维离散小波变换算法的静态图像压缩方法,可应用于面向图像处理的高性能嵌入式可重构架构片上系统芯片设计中的图像处理核心部分。
背景技术
在大众已经习惯的计算模式中,处理器和专用集成电路(ASIC) —直是两大主流。伴随着应用领域特别是嵌入式环境对系统的性能、能耗、上市时间等指标需求的不断提高,传统的计算模式暴露出了种种弊端。处理器方式能够灵活地实现各种应用,但却在性能上有缺陷;而硬件逻辑实现性能虽然高,但灵活性却很差。为了在计算性能和实现灵活性上做一个很好的权衡,可重构计算(Reconfigurable Computing)技术浮出了水面。可重构计算技术集中了处理器和专用集成电路的优势,能够提供高效灵活的计算能力,同时也是探索一条解决纳米级芯片高昂设计和投片成本的新路。当芯片特征尺寸降至45nm之后,芯片一次性工程(Non-RecurringEngineering, NRE)费用暴涨,可重构技术是降低芯片摊销成本,实现一款芯片多个应用的新路。在嵌入式领域中的一些主流的计算密集型应用都非常适合利用可重构计算技术去实现,如面向交互式图形、图像和视频实时处理等高密度媒体信号计算。现阶段,可重构架构片上系统(system on chip, SoC)芯片可以实现面向移动通信终端和高性能媒体处理等多种应用,为我国参与新一代媒体处理和高性能移动计算国际竞争提供战略技术储备。静态图像压缩方法在图形图像存储,传输方面有着重要的作用和影响,近年来,随着多媒体技术的广泛运用,对于图像压缩的需求和要求都越来越高,高效率,高性能的图像压缩方法的研究具有很高的研究价值和实用价值。离散小波变换是现代频谱分析工具,广泛运用于图像压缩算法中,其中最典型也是最重要的就是JPEG2000静态图像压缩标准,JPEG2000与其他传统的静态图像压缩算法相比,具有压缩率和分辨率的优势,而离散小波变换的处理时间占到整个JPEG2000压缩时间的一半以上,所以离散小波变换的处理速度和处理效率对于JPEG2000算法的速度和效率是至关重要的部分,因而在可重构架构上高效的实现离散小波变换具有很高的实用价值。离散小波变换的目的是经过变换,对于图像的局部时域过程中的频域特性和局部的频域过程中的时域特性都进行考察,将图像信息变成一系列的小波系数,以实现图像的高效压缩和储存。离散小波变换算法和离散余弦变换算法相比,离散小波变换算法消除了离散余弦算法压缩时普遍具有的方块效应,使得压缩的图像经过还原之后会有更好的细节特征。离散小波变换算法主要有卷积算法和提升算法两大类,卷积算法的算法描述如式子(I)所示LPn = Zk=-4 hkx2n+kBPn = Σ =-3 gkX2n+k⑴
x2n+k为像素点的值,hk和gk为采样系数,LP1^P BPn分别表示高频分量和低频分量,即采样图像上同一行的连续几个点的值,分别与特定系数求积之后再求和,分别求出高频和低频分量的值。sf = X2idf = x2i+1= df + α X (sf + sf+1)Sj1 = Si0 + β X d + d,1) df = df + γ X (sf + Sj1fl)
sf = sf + μχ (df_x + df)Si = IiXSi2di = ^ X d 其中Xi表示一行中第i个像素点,S1P表示第O次提升的一行像素中第i个奇数点值,sh sf的含义类似,而#表示第O次提升的一行像素点数据中的第i个偶数点的值,dN d〖的含义类似,而α,β,Υ,μ,k则表示固定系数,Si表示第i个奇数点的最终运算结果,d,表示第i个偶数点的最终运算结果。提升算法即取一个像素点的左右两个点的值的和与一个系数相乘再与该像素点自身的值求和之后即为该点的新值。二维离散小波变换指的是对于同一块图像先进行行变换,再进行列变换,变换的算法相同。现有的二维离散小波变换算法存在数据计算量大,算法灵活程度高等特点,ASIC实现很难满足多种长度,多种小波基的二维离散小波变换算法的需求,而通用计算又很难满足二维离散小波变换大量数据计算的性能需求。

发明内容
发明目的针对上述现有技术存在的问题和不足,本发明的目的是提供一种基于二维离散小波变换算法的静态图像压缩方法,针对静态图像压缩方法中的关键步骤离散小波变换的特点数据计算量大,运算规整等,考虑到可重构系统的指令并发性,中间结果可循环利用,运算模块独立且可配置以及资源结构分布式可调度等优点,采用可重构技术来实现二维离散小波变换算法,以达到高效性和灵活性两者的平衡,不仅能达到二维离散小波变换的数据计算的性能要求,还能根据需要调整小波基和长度,有利于算法的进一步开发和升级。通过采用可重构技术来实现的离散小波变换算法,使得静态图像压缩方法的性能更优,效率更高,灵活性更强。技术方案为实现上述发明目的,本发明采用的技术方案为一种基于二维离散小波变换算法的静态图像压缩方法,包括如下步骤将源图像做预处理;将二维离散小波变换算法在可重构架构上实现,利用可重构架构实现的二维离散小波变换算法对经过预处理的图像进行小波变换;对小波变换过后的图像进行量化,然后进行自适应编码,经过码流组织,最终形成压缩图像;所述将源图像做预处理包括区域划分、降低量级和分量变换;所述的利用可重构架构实现的二维离散小波变换算法对经过预处理的图像进行小波变换包括使用5/3小波基的离散小波变换对图像进行处理;
所述进行自适应编码包括使用EBCOT算法对图像信息进行自适应编码。进一步的,所述将二维离散小波变换算法在可重构架构上实现包括将二维离散小波变换算法分成行变换算法和列变换算法,然后将行变化算法和列变换算法转化为并行化的数据控制流图,确定数据输入输出方式和数据组织结构,并将并行化的数据控制流图在可重构架构上映射成配置信息,以实现二维离散小波变换算法;所述将行变换算法和列变换算法转化为并行化的数据控制流图指的是对行变换算法和列变换算法进行分析,提取行变换算法和列变换算法中的并行性,并转换为并行化的数据控制流图;所述确定数据输入输出方式和数据组织结构包括数据规整和边界对称扩展;其中数据规整指的是根据并行化之后的数据控制流图对于数据格式的需求,将预处理后的源图像的二维数据进行重排,使得并行化的数据控制流图在可重构架构上实现的时候能够不用等待数据的输入输出,提高数据的输入输出效率;根据一维离散小波变换算法,每个点在计算小波变换的时候都需要左右两边的若干个点,因而在图像靠近两边边界的地方,需要对 数据进行对称的扩展以保证计算的时候的正确性;边界对称扩展指的是在图像边界上,以边界为轴,将数据按照轴对称的方式在边界外进行扩展,使得在处理边界数据点的时候保证正确性;所述在可重构架构上映射成配置信息指的是根据数据控制流图以及数据输入输出方式并结合可重构架构的特点,使用配置工具将数据控制流图映射成实际在可重构架构上实现二维离散小波变换算法时使用的配置信息。进一步的,所述提取行变换算法和列变换算法中的并行性指的是提取行变换算法和列变换算法中的数据级并行性和任务级并行性,其中数据级并行性指的是算法中相互无依赖关系的数据可以同时计算而不影响最终结果,任务级并行性指的是算法中的没有依赖关系的子算法可以同时进行计算而不影响最终结果。进一步的,所述将并行化的数据控制流图在可重构架构上映射成配置信息指的是结合可重构架构的运算阵列的形状以及所述运算阵列中的运算单元的特性,将并行化的数据控制流图中的并行化的任务进行划分,然后将每个任务都用一组运算阵列中的运算单元的组合来完成,最终获得的所有的运算阵列中的运算单元的控制信息即为配置信息。进一步的,所述可重构架构包括四个运算阵列,每个所述运算阵列包括8*8个运算单元,所述可重构架构还包括总线、两个主设备端口和三个从设备端口,所述两个主设备端口和三个从设备端口分别挂载在总线上,实现配置信息的写入和数据的输入输出;每个所述运算单元均以算术逻辑单元为基本单元,能独立完成加,减,乘,除等算术运算和与,或,非等逻辑运算以及其他如绝对值运算,三目选择运算等复杂运算;所述可重构架构还可包括存储器和存储访问控制器,所述存储器和存储访问控制器均和总线相连,能自动完成多次循环操作。将并行化的数据控制流图中的并行化的任务进行划分包括对于并行化的数据控制流图,在采用卷积算法的时候,对于行变换算法,将高频值计算和低频值计算的任务分开,将计算不同行的任务分开,并行的放到运算阵列上执行,而对于列变换算法,每列的变换算法计算都是无依赖关系的,能够并行计算,变换算法的计算任务按列来划分;在采用提升算法的时候,对于行变换算法,输入的两个数据之间无依赖关系,同时两行数据的行变换之间也没有依赖关系,将变换算法任务按照行来划分,同一行的变换算法按照两个数据一组来划分;对于列变换算法,划分为奇数行输入和偶数行输入两个子任务,计算得到的中间结果保留供给下次变换算法使用。有益效果本发明通过提供一种基于可重构技术实现二维离散小波变换算法的图像压缩方法,采用可重构这一创新的技术来解决算法性能和算法灵活性的矛盾,在保持算法灵活性的前提下,用可重构的并行计算能力来对算法进行加速,提升算法的性能,使得图像压缩方法的整体性能得到很大的提升,效率更高,性能更好。


图I是本发明实施例中二维离散小波变换算法在可重构平台上实现的流程图;
图2(a)是本发明中的对于采用5/3提升算法的行变换算法的并行化数据控制流图的子任务划分示意图,图2(b)是本发明中的对于采用5/3提升算法的列变换算法的并行化数据控制流图的子任务划分示意图;图3(a)是本发明中对于5/3提升算法的行变换算法的子任务采用运算单元实现的算子映射图,图3(b)是本发明中对于5/3提升算法的列变换算法的子任务采用运算单元实现的算子映射图;图4是本发明实施例中使用的可重构架构的结构示意图;图5(a)是本发明实施例中在可重构架构中的运算阵列上的输入数据流量示意图,图5(b)是本发明实施例中在可重构架构中的运算阵列上的行列变换的过程示意图;图6是本发明实施例中在可重构架构上并行计算行变换和列变换的方法的示意图。
具体实施例方式下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。选择一幅QCIF (Quarter common intermediate format)分辨率的静态图像的压缩作为实施例,经过了图像预处理之后,采用二维5/3离散小波变换的提升算法来做离散小波变换处理,采用本发明中所述方法的系统在执行5/3离散小波变换的过程如图I所示,其过程与背景技术所描述的一样,首先将算法分解成行变换算法和列变换算法,再经过充分提取其算法中的并行性,最终并行化的算法的数据控制流图如图2(a)和图2(b)虚线框以外的部分所示,图2(a)表示行变换算法的并行数据控制流图,图2(b)表示列变换算法数据控制流图。再根据映射出的数据规整和对称边沿扩展,来确定数据输入输出方式和数据结构;根据运算阵列的形状和运算阵列的特点,来将行变换和列变换算法的数据控制流图按照图2(a)和(b)虚线框中所示的方式划分成子任务,然后分别用一组运算阵列中的运算单元的组合以实现,实现的结果如图3(a)和图3(b)所示。图3(a)表示行变换算法的子任务实现,图3(b)表示列变换算法的子任务实现。如此划分使得行变换算法和列变换算法之间可以并行执行,其并行执行方式的示意图如图6所示。在图6中,有阴影的椭圆表示列变换,空白的椭圆表示行变换,箭头表示执行方向,圆圈表示像素点的数据即输入数据。将如图3(a)和图3(b)所示的已经用运算阵列的运算单元实现的子任务在如图4所示的可重构架构上进行映射,映射方法如图5(a)和图5(b)所示,其中图5(a)表示运算阵列上的输入数据流量,图5(b)表示行列变换的过程,映射后生成配置信息;最后将配置信息导入,在如图4所示的可重构架构上实现二维5/3离散小波变换的提升算法。在完成了二维离散小波变换之后,对经过了二维离散小波变换处理后的图像信息进行自适应编码和码流组织,最终形成QCIF分辨率的压缩图像信息。
实测中,采用本发明中基于可重构技术实现二维离散小波变换算法的图像压缩方法的验证系统2比不采用本发明中方法的验证系统I执行效率提升60%以上,吞吐率提升
一倍以上。
权利要求
1.一种基于二维离散小波变换算法的静态图像压缩方法,包括如下步骤将源图像做预处理;将二维离散小波变换算法在可重构架构上实现,利用可重构架构实现的二维离散小波变换算法对经过预处理的图像进行小波变换;对小波变换过后的图像进行量化,然后进行自适应编码,经过码流组织,最终形成压缩图像; 所述将源图像做预处理包括区域划分、降低量级和分量变换; 所述的利用可重构架构实现的二维离散小波变换算法对经过预处理的图像进行小波变换包括使用5/3小波基的离散小波变换对图像进行处理; 所述进行自适应编码包括使用EBCOT算法对图像信息进行自适应编码。
2.根据权利要求I所述一种基于二维离散小波变换算法的静态图像压缩方法,其特征在于所述将二维离散小波变换算法在可重构架构上实现包括将二维离散小波变换算法分成行变换算法和列变换算法,然后将行变化算法和列变换算法转化为并行化的数据控制流图,确定数据输入输出方式和数据组织结构,并将并行化的数据控制流图在可重构架构 上映射成配置信息,以实现二维离散小波变换算法; 所述将行变换算法和列变换算法转化为并行化的数据控制流图指的是对行变换算法和列变换算法进行分析,提取行变换算法和列变换算法中的并行性,并转换为并行化的数据控制流图; 所述确定数据输入输出方式和数据组织结构包括数据规整和边界对称扩展;其中数据规整指的是根据并行化之后的数据控制流图对于数据格式的需求,将预处理后的源图像的二维数据进行重排;边界对称扩展指的是在图像边界上,以边界为轴,将数据按照轴对称的方式在边界外进行扩展,使得在处理边界数据点的时候保证正确性; 所述在可重构架构上映射成配置信息指的是根据数据控制流图以及数据输入输出方式并结合可重构架构的特点,使用配置工具将数据控制流图映射成实际在可重构架构上实现二维离散小波变换算法时使用的配置信息。
3.根据权利要求2所述一种基于二维离散小波变换算法的静态图像压缩方法,其特征在于所述提取行变换算法和列变换算法中的并行性指的是提取行变换算法和列变换算法中的数据级并行性和任务级并行性,其中数据级并行性指的是算法中相互无依赖关系的数据可以同时计算而不影响最终结果,任务级并行性指的是算法中的没有依赖关系的子算法可以同时进行计算而不影响最终结果。
4.根据权利要求2所述一种基于二维离散小波变换算法的静态图像压缩方法,其特征在于所述将并行化的数据控制流图在可重构架构上映射成配置信息指的是结合可重构架构的运算阵列的形状以及所述运算阵列中的运算单元的特性,将并行化的数据控制流图中的并行化的任务进行划分,然后将每个任务都用一组运算阵列中的运算单元的组合来完成,最终获得的所有的运算阵列中的运算单元的控制信息即为配置信息。
5.根据权利要求4所述一种基于二维离散小波变换算法的静态图像压缩方法,其特征在于所述可重构架构包括四个运算阵列,每个所述运算阵列包括8*8个运算单元,所述可重构架构还包括总线、两个主设备端口和三个从设备端口,所述两个主设备端口和三个从设备端口分别挂载在总线上,实现配置信息的写入和数据的输入输出; 将并行化的数据控制流图中的并行化的任务进行划分包括对于并行化的数据控制流图,在采用卷积算法的时候,对于行变换算法,将高频值计算和低频值计算的任务分开,将计算不同行的任务分开,并行的放到运算阵列上执行,而对于列变换算法,每列的变换算法计算都是无依赖关系的,能够并行计算,变换算法的计算任务按列来划分;在采用提升算法的时候,对于行变换算法,输入的两个数据之间无依赖关系,同时两行数据的 变换之间也没有依赖关系,将变换算法任务按照行来划分,同一行的变换算法按照两个数据一组来划分;对于列变换算法,划分为奇数行输入和偶数行输入两个子任务,计算得到的中间结果保留供给下次变换算法使用。
全文摘要
本发明公开了一种基于二维离散小波变换算法的静态图像压缩方法,包括如下步骤将源图像做预处理;将二维离散小波变换算法在可重构架构上实现,利用可重构架构实现的二维离散小波变换算法对经过预处理的图像进行小波变换;对小波变换过后的图像进行量化,然后进行自适应编码,经过码流组织,最终形成压缩图像。本发明采用可重构这一创新的技术来解决算法性能和算法灵活性的矛盾,在保持算法灵活性的前提下,用可重构的并行计算能力来对算法进行加速,提升算法的性能,使得图像压缩方法的整体性能得到很大的提升,效率更高,性能更好。
文档编号H04N7/26GK102970545SQ20121052966
公开日2013年3月13日 申请日期2012年12月11日 优先权日2012年12月11日
发明者曹鹏, 柯鑫翔, 齐志, 杨锦江, 杨军, 时龙兴 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1