DM642上5-3提升小波的优化
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DM642上5/3提升小波的优化
在新的图像压缩标准JPEG2000 中,采用9/7、5/3 提升小波变换作为编码算法,其中5/3 小波变换是一种可逆的整数变换,可以实现无损或有损的图像压缩。在通用的DSP 芯片上实现该算法具有很好的可扩展性、可升级性与易维护性。用这种方式灵活性强,完全能满足各种处理需求。1 提升算法提升算法[1]是由Sweldens 等在Mallat 算法的基础上提出的,也称为第二代小波变换。与Mallat 算法相比,提升算法不依赖傅立叶变换,降低了计算量和复杂度,运行效率相应提高。由于具有整数变换及耗费存储单元少的特点,提升算法很适合于在定点DSP 上实现。小波提升算法的基本思想是通过基本小波逐步构建出一个具有更加良好性质的新小波。其实现步骤为分解(split)、预测(predict)和更新(update)。首先按照对原信号进行对称延拓得到新的x(n)。分解是将数据分为偶数序列x(2n)和奇数序列x(2n+1)二个部分;预测是用分解的偶数序列预测奇数序列,得到的预测误差为变换的高频分量:H(n)=x(2n+1)-{[x(2n)+x(2n+2)]1} 更新是由预测误差更新偶数序列,得到变换的低频分量:L(n)=x(2n)+{[H(n) +H(n-1)+2]2}计算过程如图1 所示。
在这种方法中,SDRAM 中的一个数据块首先传输到L2 中,然后取到L1D 中进行水平方向的提升,再对该块进行垂直方向的提升。这样,由于垂直提升所需的数据都在L1D 中,避免了此处数据缓存缺失的产生,使总的缺失数大大降低。2.3 数据传输(1)SDRAM 与L2 间的数据传输由于EDMA[6][7]数据传输与CPU 运行相互独立,因此在L2 中开辟两块缓存:EDMA 在CPU 处理InBuffA 的同时将下一块数据传输到InBuffB,解决了CPU 读取低速设备SDRAM 引起的时延,如图3 所示。
边界延拓主要是用于计算高频系数。分析发现,水平提升时,当前数据块每