利用TMS320C6201芯片进行图像压缩
扫描二维码
随时随地手机看文章
摘要:介绍了利用tms320c6201 dsp芯片进行实时图像压缩的软件设计。结合该芯片的编程特点介绍了压缩算法,并给出了部分关键程序,具有一定的参考价值。 关键词:图像压缩 c6201 fdct变换 霍夫曼编码图像中含有丰富的信息,在现代科技中将图像作为一种探测手段,正受到越来越广泛的青睐。有很多探测设备,采用扫描成像仪器作为前端探测器。作为一种很常见的情况,成像仪器采集到的图像要通过无线信道进行发送。但是,图像数据通常都是海量数据,无线信道的传输带宽无法满足要求,必须对图像进行压缩处理,才能通过无线信道进行传输。
实现图像实时无线传输必须研制专门的图像压缩,该压缩器须满足如下要求:(1)图像实时压缩?鸦(2)能够较好地保存图像质量。笔者以ti公司的高速dsp芯片tms320c6201为核心的数字信号处理板作为图像压缩器的硬件平台,通过自行开发的压缩程序,实现了图像的实时压缩。
1 数字信号处理板的硬件功能框图数字信号处理板的硬件功能框图如图1所示。tms320c6201是一种高性能的定点数字信号处理器。工作频率为200mhz时,每个指令周期为5ns,运算速度可达1600mips;具有vliw(甚长指令集)体系结构,每周期8个32bit的指令并行执行;8个独立的功能单元,有两个16bit乘法器和6个算术逻辑单元;采用加载存储体系结构,数据在多处理单元之间的传输依靠32个32bit的通用寄存器。c6000的存储器寻址空间为32bit,片内有1mbit的sram。片内ram被分为两块:一是内部程序/cache存储器,二是内部数据存储器。32bit外部存储器接口(emif)可与不同存储器接口,可方便地配置不同速度、不同容量、不同复杂程度的存储器。此外,c6000还有两通道boot-loading dma处理器、16bit的主机接口hpi、两个多通道缓冲串口(mcbsp),并且其片内锁相环(pll)时钟发生器,可以对输入时钟进行不同的倍频处理。这种芯片用来处理图像压缩这种运算密集型的工作是非常合适的。功能框图的其它部分不再做介绍。
图3 图像压缩器的工作过程方框图
2 图像压缩算法图像压缩中的图像有彩色和灰度之分。考虑到彩色图像和灰度图像的压缩类似,且大多数的扫描成象设备扫的是灰度图像,所以仅以灰度图像的压缩为例介绍dsp上的图像压缩。图像压缩算法原理图如图2所示。图中,首先将原始灰度图像分为8×8的图块,然后对每一图像块进行fdct变换,再将变换得到的dct系数使用量化表进行量化。量化后可得到如下形式的数据:(x)是不为零的数据)x x x x 0 0 0 0x x x 0 0 0 0 0x x 0 0 0 0 0 0x 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 00 0 0 0 0 0 0 0该数据在存储器中存放的顺序如下:z[0] z[1] z[2] z[3] z[4] x[5] z[6] z[7]z[8] z[9] z[10] z[11] z[12] z[13] z[14] z[15]z[16] z[17] z[18] z[19] z[10] z[21] z[22] z[23]z[24] z[25] z[26] z[27] z[28] z[29] z[30] z[31]z[32] z[33] z[34] z[35] z[36] z[37] z[38] z[39]z[40] z[41] z[42] z[43] z[44] z[45] z[46] z[47]z[48] z[49] z[50] z[51] z[52] z[53] z[54] z[55]z[56] z[57] z[58] z[59] z[60] z[61] z[62] z[63]在存储器中,非零数据和零数据交替