JPEG2000中53离散小波多层变换FPGA实现

JPEG2000中53离散小波多层变换FPGA实现,第1张

 

  随着多媒体应用领域的快速发展,新一代静止图像压缩标准JPEG 2000己在2000年11月完成了标准的制定。与原有的JPEG标准相比,JPEG 2000具有许多优势。例如更高的压缩性能,支持单分量或者多分量的有损和无损压缩,可以提供质量和分辨率渐进传输,以及感兴趣区域编码等。典型的JPEG 2000编码中的传统的离散小波变换由卷积完成,因此在实现中需要巨大的计算和存储量。I.Daubechies和W.Sweldens等人提出的提升算法解决了这些问题,该算法采用采用移位-相加 *** 作代替卷积 *** 作,大大降低了DWT运算硬件实现的难度,因此JPEG 2000采用基于提升的DWT作为图像压缩的第一步。JPEG 2000推荐5/3及9/7小波分别用于无损和有损压缩,本文针对5/3滤波器,提出了一种高效高速的二维三层小波变换的硬件平台,整体结构采用流水 *** 作。

  1 离散小波提升算法

  离散小波提升算法主要有三个步骤:分裂(Split)、预测(Predict)和更新(Update)。分裂是把输入信号x(n)分成奇偶两个子信号集,即由其采样后的偶序列子信号组成xe=x(2n),奇序列子信号组成x0=x(2n+1)。预测是偶序列信号乘上一个预测参数P,来预测奇信号,原来的奇序列信号与预测值的差即为高频系数d(n)。更新是高频系数乘以更新系数Q与偶序列信号的和,获得低频系数s(n)。

  5/3双正交小波对应的提升方法如图1所示,用于JPEG 2000中的无损压缩过程,硬件实现可分为两步,如式(1),式(2)所示:

  

JPEG2000中53离散小波多层变换FPGA实现,JPEG2000中5/3离散小波多层变换FPGA实现研究,第2张

 

  2 5/3小波内嵌延拓提升算法

  由式(1)和式(2)可以看出,在图像边界处进行小波变换时需要进行延拓处理,否则无法正确进行小波变换,对原始图像边界数据的处理通常使用对称周期延拓方式,5/3小波变换的延拓需要在序列前延拓两个数据,在序列后延拓一个数据,图2为5/3小波变换时8点数据序列周期对称延拓示意图。

  

JPEG2000中53离散小波多层变换FPGA实现,JPEG2000中5/3离散小波多层变换FPGA实现研究,第3张

 

  本文是通过双端口RAM的读/写实现分裂过程,在小波变换过程中通过对读地址的 *** 作实现对称周期性数据延拓:用对计数器的计算 *** 作实现边界数据延拓和生成读取地址与写入地址,从原图像中读取,经变换后写入相应的地址,以8×8图像为例,行方向上延拓后的读取地址顺序应该是2,1,0,1,2,3,4,5,6,7,6,10,9,8,9,10,…;列方向上延拓后读取地址顺序是16,8,0,8,16,24,32,40,48,56,48,17,9,…。

  

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/dianzi/2491184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-04
下一篇 2022-08-04

发表评论

登录后才能评论

评论列表(0条)

保存