欢迎来到论文网! 识人者智,自知者明,通过生日认识自己! 生日公历:
网站地图 | Tags标签 | RSS
论文网 论文网8200余万篇毕业论文、各种论文格式和论文范文以及9千多种期刊杂志的论文征稿及论文投稿信息,是论文写作、论文投稿和论文发表的论文参考网站,也是科研人员论文检测和发表论文的理想平台。lunwenf@yeah.net。
您当前的位置:首页 > 科技论文 > 计算机论文

一种基于减少内存访问的Pruning Fast DCT算法改进-论文网

时间:2015-02-25  作者:沈展,许勇,刘项阳

论文摘要:随着数字信号处理在计算机领域的广泛应用,各类正交变换的应用和研究也日益深入,尤其在图像处理和语音识别方面。其中应用最广泛的变换就是离散余弦变换(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时,;当m0时,=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),根据输入序列数量每个阶段所包含的蝶形运算数量是固定的,对于N个输入点(即N-pt)的FCT运算,其蝶形运算部分分为N个阶段(stage),每个stage有N/2个蝶形运算以及N/个权重系数。在运算过程中,蝶形运算部分占据了主要运算,在此期间存在大量内存访问操作,为了降低算法执行时间,应对这一部分进行改进。

3对FCTPruning算法的改进

为了进一步减少FCTPruning算法中因为权重系数和输入x[n]带来的内存访问次数,文中设计了一种改进方法,首先,通过对权重系数的分解,降低所要调用的系数的个数;然后,合并运算阶段,减少stage个数。

3.1系数分解

通过三角恒等变换公式:

m(3)

其中=m=1,2,……N/2-1

可以对FCTPruning算法中的权重系数进行分解,分解后权重系数从N-1个减少为(2N-1)/3个。

例如,对图1中stage3和stage4出现的权重系数,其中可以分解为[-]/2。

[-]/2=2[-]

=2{-[-}

=2[-]

=2{-[}

=2[-]

===

经过分解后,在stage3和stage4中的权重系数从3个减少为2个。同样,stage2中的分别替换如下:

=[-]/2

=[-]/2

=[-]/2

=[-]/2

自此,对于16-pt的FCTPruning的权重系数个数由15个减少为10个。

查看相关论文专题
加入收藏  打印本文
上一篇论文:一种优化的小波域图像水印技术_小波变换-论文网
下一篇论文:簇状WSN的分层密钥管理方案_矩阵-论文网
科技论文分类
科技小论文 数学建模论文
数学论文 节能减排论文
数学小论文 低碳生活论文
物理论文 建筑工程论文
网站设计论文 农业论文
图书情报 环境保护论文
计算机论文 化学论文
机电一体化论文 生物论文
网络安全论文 机械论文
水利论文 地质论文
交通论文
相关计算机论文
    无相关信息
最新计算机论文
读者推荐的计算机论文