论文部分内容阅读
本文研究JPEG编解码算法在DSP上的实现技术。随着网络和嵌入式产品的飞速发展,数字图象在人们生活中的应用也越来越广泛,由于图像文件尺寸庞大,需要存储和传输的图像库数据也迅速增加。为解决日益增长的数据量与存储空间及网络传输带宽之间的矛盾,在图像数据存储和传输时必须对其进行压缩处理。在数字图像压缩领域,由于JPEG优良的品质,其应用是最为广泛的。随着数字信号处理器(DSP)的功能的逐渐增强和价格的不断下降,DSP已经被广泛应用到各种领域。DSP比通用的CPU更适合做数字信号处理,在DSP上实现JPEG实时编解码具有内在的优势和一定的现实意义。本文首先介绍了图像压缩技术的原理、JPEG标准和基于DSP的实时信号处理系统,然后在Freescale ColdFire 32位微处理器MCF5329上设计并实现了JPEG编解码算法。JPEG编码算法主要由色彩空间转换、亚抽样、DCT变换、DCT系数量化和哈夫曼编码等几个部分组成。重点结合MCF5329的流水线操作和并行操作特征及离散余弦变换算法原理,利用乘累加器合并加法运算和乘法运算高效快速地实现了一种基于DSP乘法累加单元的DCT快速算法,并对几个关键模块进行了优化。整个编码算法能够达到实时压缩的目标。相应地,JPEG解码算法主要由哈夫曼解码、DCT系数反量化、IDCT变换、内插和色彩空间转换等几个部分组成。利用EMAC单元实高效地实现了反离散余弦变换快速算法,并对几个关键模块进行了优化。整个解码算法能够达到实时解压显示的目标。编解码完成后,对编解码器的功能和性能作了测试和对比分析。对一幅大小为240×320的24位图片进行编解码,所需时间分别为0.23s和0.12s,达到了实时编解码的目的。分析结果表明对DCT算法和IDCT算法部分实现和优化较为成功,对哈夫曼编解码部分的优化则相对欠缺,这也是JPEG编解码软件需要加以改进的地方。