基于TMS320C5409的图像压缩系统
2011-08-16 19:48:34 来源:
关键字:
引言
随着多媒体和网络技术的发展,数字图像大信息量的特点对图像压缩技术的要求越来越高,因此,专用高速数字信息处理技术成为发展的方向。其中,在硬件技术中,TI推出的C5000系列DSP将数字信号处理器的处理能力提升到了一个新的高度,使信号处理系统的研究重点又回到软件算法上。在压缩算法研究方面,DCT、小波等多个算法因为其高可靠性和高效性也越来越受到青睐。
系统硬件设计
TMS320C5409作为主处理器的可行性分析
TMS320C5409时钟频率为100MHz,性价比极高。采用围绕1组程序总线、3组数据总线和4组地址总线建立的改进型哈佛结构,取址和读数可同时进行。有独立的硬件乘法器,有利于实现优化卷积、数字滤波、FFT、矩阵运算等算法中的大量重复乘法运算。具有循环寻址、位倒序等特殊指令,这些指令使FFT、卷积等运算中的寻址、排序及计算速度大大提高。有一组或多组独立的DMA总线,与CPU的程序、数据总线并行工作。
在本系统中,TMS320C5409作为主处理器,任务是实现JPEG压缩编码。
通过分析不难得到,当处理一帧大小为640×480的图像时,作JPEG压缩编码所需要的时间为:T=62×10(ns)×640×480=0.19866s,当所处理的图像分辨率更小时,则压缩每帧所花的时间更少,这对于应用在对实时性要求不是很高的场合是完全可行的。
只需要3次乘法、3次加法。其中,
从上面表达式可以看出,y(0)-y(7)都是乘法累加运算,而s0-s7可由x(0)一x(7)经过蝶形运算得到,因此,DCT算法由原来的4级运算变成两级,即第一级蝶形运算和第二级乘法累加运算,第一级蝶形运算共要10+4=14(10次计算操作和4次辅助操作)条指令,第二级运算中,每个输出要4+1+1=6条指令(做4次乘法累加运算、1次读取操作和1次存储操作),一共48条指令,这样,计算一个8点DCT要62条指令,大大缩减了运算时间,提高了CPU的工作效率,增强系统的实时性。
量化运算优化
本文提出了基于实际情况的自适应量化方法,即量化阶段采用二次计算的方法,其算法主要分为两步:(1)对变换后的图像系数进行自适应处理;(2)构造新的量化表。具体方法如下:
首先求出亮度分量和两个色度分量在频域中所有8×8子块的63个交流系数绝对值的平均值P(u,v),其中,u,v=0…7为位置信息。接下来求出163个交流系数平均值中的最大值,Z1(u,v)=MAX[P1(u,v)],最后将63个交流系数平均值进行归一化处理,同时加入频率位置信息,分别得出亮度和色度量化表中63个交流分量的矫正系数,计算过程为:
由此可以得到量化表的矫正式Qpl(u,v)=Q1(u,v)/X1(u,v),对JPEG量化表进行矫正。
将上述矫正后的量化表作为最终的量化表,对图像进行标准JPEG压缩,形成完全符合JPEG格式的压缩文件。本算法的解码过程与标准.JPEG解码过程完全相同,可以看出它也是标准.IPEG编码过程的逆过程。
实验结果
快速DCT运算
本文来源于与非网 原文地址:http://www.eefocus.com/article/11-08/2660031313495314.html