- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一种基于减少内存访问的Pruning Fast DCT 算法
改进
论文摘要:随着数字信号处理在计算机领域的广泛应用,各类正交变换的应用和研究也日益
深入,尤其在图像处理和语音识别方面。其中应用最广泛的变换就是离散余弦变换(dct)
及在其基础上发展的各类快速算法,如pruning fast dc(简写为pruning fct)t 等。本文
介绍了一种运行于dsp 处理器的pruning fct 改进算法,在该算法中,通过对pruning fct
系数的分解,减少了 pruning dct 系数的个数,合并了算法中的步骤,由此减少了运算中
内存访问的次数,在 TI TMSC320C64x DSP 处理器上的运行结果显示,与未修改的
pruning fct 算法相比,改进后的算法可以减少大约40%的内存访问次数和30%的内存空
间
论文关键词:内存访问
1.引言
散余弦变换(dct)的定义是由ahmed 和rao 与1974 年提出,对于图像数据,通过
散余弦变换,可以将低频数据集中,利用人对高频数据不敏感这一特点,去掉高频部分数据,
可以实现对数据的压缩。近年来,基于这一思想的算法大都是在通用计算机上实现的,然而
对数字信号处理的最佳平台是DSP 平台,直接在DSP 平台上运行此类算法存在一定问题。
众所周知,DSP 处理器大都应用与移动平台,对速度和耗电量要求较高。在DCT 算法中存
在大量的内存访问操作,这些操作会带来很多长延时,而这会影响运行速度和电量消耗。比
如,在TITMS320C64XDSP 平台上,执行一次内存装载指令要执行5 条操作,需要4 次
延时,因此,频繁的内存访问会增加时间开销。虽然 PruningDCT 算法中已经省去了对高
频数据的运算操作,但 PruningDCT 算法中的大量权重系数和输入序列还是会导致较多的
内存访问操作。如果能进一步减少对这些权重系数和输入序列的运算,就能进一步优化算法
执行时间。
本文针对这一情况提出了一种改进方法,通过分解 DCTpruning 算法中的权重系数,
减少了系数的个数,并由此减少了算法中的步骤。在 C64X 实验平台上出实验证明,这种
改进可以有效减少运算过程中对内存的访问次数。文中第2 章节主要介绍第2 类DCT 算法
思想,第3 章节介绍对 DCT-II 的一种改进算法PruningFCT,第4 章节详细描述了一种
降低PruningFCT 算法在DSP 上运行时间的改进思想,第5 和第6 章节对改进算法进行了
分析及总结。
2 关于FASTDCTPruning
这一章节主要介绍基本的DCT 计算过程。当前被介绍最多的DCT 运算是第二类DCT
(DCT-II),其定义是:
(1)
其中当m=0 时, = ;当m 0 时, =1。x[n]为输入序列,X[n]为输
出序列。直接的算法若不加以变换,在软件和硬件上实现都比较困难,为此,在第二类DCT
算法的基础上又出现了很多改进算法,如FASTDCT。
2.2FASTPRUNINGDCT
针 对 以 上 问 题 , 一 些 改 进 方 法 又 被 提 出 , 如
FCT(FASTDISCRETECOSINETRANSFORM),次算法针对DCT-II 难以硬件实现,对输
入序列的计算过程进行了一些变换,其实现过程如下:
首先对输入序列调整 [n]=x[2n], [N-n-1]=x[2n+1],n=0,1,……N-1
于是DCT 公式调整如下:
m=0,1,……N-1 (2)
利用三角变换公式:cos[(2k+1)φ]=2cosφcos(2kφ)-cos[(2k-1)φ]
可以把变换后的公式分解成 2 部分,N/2-pt 的奇数部分x[2k+1],N/2-pt 偶数部分
x[2k],偶数部分和奇数部分可以继续分解,直到分解成2-pt 的输入序列。
对于 16-pt 的FCT 运算,其设计图如下:
图1
图1 分为两个部分,蝶形运算和位运算。其中蝶形运算又分为若干阶段(stage),根
据输入序列数量每个阶段所包含的蝶形运算数量是固定
文档评论(0)