离散余弦变换快速算法的研究

离散余弦变换快速算法的研究

论文摘要

离散余弦(逆)变换(DCT/IDCT)和改进型离散余弦(逆)变换(MDCT/IMDCT)被广泛运用于视频和音频编解码器中,如MEPG-1, MPEG-2,和MPEG-4的第二部分等。但现有的离散余弦变换快速算法计算复杂度较高,解码精度不理想而产生“漂移”等问题。本文分别提出了新的IDCT算法和MDCT/IMDCT算法,算法在计算复杂度和计算精度等性能上都有所提高。本文首先介绍了DCT/IDCT算法的定义并分析了两种经典的DCT/IDCT算法:B. G. Lee算法和AAN算法。我们用移位和加法运算分别取代了两种算法中原有的乘法运算,以实现定点无乘法的DCT/IDCT计算。虽然很多硬件设备实现乘法运算也是用移位累加的方法,但是我们这里采用的移位累加与一般的不同。因为我们是为特定的快速变换设计移位累加策略,而不是通用的逐位累加。对于特定的算法中的乘法运算有一个因子是预先已知的,在实现这个已知数与其它数相乘时我们充分考虑到了这个已知因子的特点来减少冗余的移位和累加操作的次数,从而达到优化算法减少算法复杂度的目的。根据国际标准IEEE 1180对这两种定点无乘法算法进行测试。由于修改的算法没有涉及到乘法操作,这种算法比传统的算法耗时更少。其中修改的AAN算法完成一维IDCT计算只要46次加法和20次移位操作,二维IDCT计算只要737次加法和320移位操作。修改的AAN算法的误差小于IEEE 1180规范要求误差的1/20。新的算法在运算复杂度和计算精度之间达到了很好的平衡,适合用于无乘法计算单元的移动通讯设备。本文还对改进型离散余弦变换(MDCT)的快速算法的实现做了改进和优化。本文分析了Britanak提出一种计算MDCT的快速算法,此算法思想是引入扩展因子以达到利用DCT来计算MDCT/IMDCT的目的。在此基础上,我们进一步改进算法流图,改变了扩展因子的位子,提出了一种拥有更高计算精度的新算法。我们用新的MDCT/IMDCT和现有的其它几种算法(如T. K. Truong的算法、Vladimir Nikolajevic的算法)对随机数据进行编解码并测试恢复数据与原数据的信噪比(SNR),测试结果表明用我们给出的新算法编解码得到的信噪比(SNR)高于在相同测试条件下用其它的几种方法得到的信噪比。本算法能很好的计算N≠2n的MDCT/IMDCT,并在G.711宽带扩展层的编解码器中得到运用。

论文目录

  • 摘要
  • Abstract
  • 1 绪论
  • 1.1 快速余弦变换算法的研究目的及意义
  • 1.2 国内外研究现状
  • 1.3 本论文研究内容和结构安排
  • 2 DCT/IDCT 快速算法
  • 2.1 算法的定义与应用背景
  • 2.2 改进一维DCT/IDCT 的一般方法
  • 3 基于 B.G.Lee 算法的改进
  • 3.1 B.G.Lee 算法的介绍
  • 3.2 改进的B.G.LEE 算法
  • 3.3 基于改进的 B. G. Lee 算法的二维 IDCT
  • 4 基于AAN 算法的改进
  • 4.1 AAN 算法介绍
  • 4.2 改进的AAN 算法
  • 4.3 基于改进的AAN 算法的二维IDCT
  • 5 DCT/IDCT 算法性能分析
  • 5.1 算法复杂度比较
  • 5.2 算法计算精度比较
  • 6 MDCT/IMDCT 快速算法
  • 6.1 MDCT/IMDCT 算法的定义
  • 6.2 G.711 宽带扩展层中MDCT/IMDCT 算法的要求
  • 7 现有MDCT/IMDCT 算法分析
  • 7.1 递归算法
  • 7.2 MDCT 转化DCT 或DST 计算
  • 8 改进的MDCT/IMDCT 快速算法
  • 8.1 算法的设计思想
  • 8.2 算法的设计与实现
  • 8.3 算法性能比较与分析
  • 结束语
  • 致谢
  • 参考文献
  • 攻读硕士学位期间发表的论文
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    离散余弦变换快速算法的研究
    下载Doc文档

    猜你喜欢