整型2D-IDCT算法的优化与实现
2013-08-13胡小涛梁利平
电视技术 2013年19期
关键词:优化
胡小涛,梁利平
(中国科学院微电子研究所,北京 100029)
自从Ahmed和Rao于1974年给出离散余弦变换(DCT)定义以来,这类变换被广泛应用,对于这类变换的快速算法的研究发展也十分重要,特别是对特定条件下的快速算法的研究对于整个系统的性能提高有很大帮助。
在IDCT计算中,对于一个8×8大小的图像块而言,如果要直接计算,将需要4096次乘法和4032次加法。而IDCT的3种经典快速算法为B.G.Lee算法、AAN算法和LLM算法,都是基于如何减少运算次数而设计。而对于整数2D-IDCT变换而言,如何保证计算精度满足IEEE Standard 1180—1990与离散余弦变换标准也是一大挑战。
本文基于自身的DSP平台,通过不同算法之间的比较与分析,设计出满足标准前提下的解决方案,设计并确保计算精度,在此算法基础上进行汇编优化,尽可能地减少消耗,得到满足预期的实现结果。
1 整型2D-IDCT算法设计
1.1 算法描述
为了下一步的算法设计,本文首先对公式进行简单变换

把公式转换为矩阵并经过余弦函数化解得到

于是可采取常用的蝶形运算方法(Loeffler,Chen W等IDCT快速算法),过程如下

计算后的y[0]~y[7]作为输入再次运算便可得到2D-IDCT 结果[1-3]。
1.2 算法设计
进行整数IDCT变换[4-6],需将上述公式中矩阵C(泛指)中的浮点运算定点化,因此如何最大限度保证数据精确性成为这一步的首要工作。在已有的蝶形运算优化的基础上,本文根据精度标准需求,提出保证精度的解决方案,在保证数据精确性的前提下实现优化。
由于扩展时会进行一次舍入,因此第一次运算的扩展位数应该达到最大限度。……
登录APP查看全文
