1、 辛勤等:基于 TS201S 的 JPEG2000 编码算法的研究与实现 _第一作者简介:辛勤(1973-),男,国防科学技术大学电子科学与工程学院副教授,硕士生导师. 主要研究方向为嵌入式系统设计和数字信号处理等基于 TS201S 的 JPEG2000 编码算法的研究与实现辛勤 宋婵 王展 朱鹏(国防科学技术大学,长沙,410073, )摘 要: 介绍了 JPEG2000 静态图像压缩标准的基本框架及算法原理,设计了基于 TS201S DSP 芯片的硬件系统,并利用汇编语言实现了 JPEG2000 压缩,在实现的过程中对小波变换和算术编码部分进行了优化,提高了压缩效率。关键词: JPEG20
2、00 ;小波变换;算术编码;DSPA JPEG2000 Compression systerm Based on TS201S DSPXIN Qin,SONG Chan,WANG Zhan,ZHU Peng(National University of Defense Technology, chang sha, 410073)Abstract: The basic principles of JPEG2000 image compression standard is introduced first, then a hardware system based on TS201S DSP i
3、s described on which the JPEG2000 compression algorithm is designed in assembly language. In the process of realization, the wavelet transform and the arithmetic coding has been optimized, so the compressed efficiency is increased.Keywords: JPEG2000;wavelet transform;Arithmetic Coding; DSP1 引言JPEG20
4、00 是基于小波变换、算术编码以及嵌入式码流组织等新技术的新一代静态图像国际压缩标准,它具有优良的压缩性能和图像质量,有着广阔的应用前景。但是到目前为止适用于JPEG2000 标准的专用硬件压缩芯片还比较少,只有像 ADI 公司的 ADV202 等。这极大地制约了JPEG2000 技术的商业应用,本文针对这种情况,选择 ADI 公司通用 DSP 芯片 TS201S 为核心处理单元,实现了 JPEG2000 的编码算法。2 JPEG2000 压缩标准的基本原理典型的 JPEG2000 编解码系统如图 1 所示。编码器结构包括预处理、离散小波变换、量化、算术编码(Tier-1 编码 )及比特流组织
5、(Tier-2 编码)。在编码时,首先对原始图像划分为各个 tile,然后进行预处理,预处理中两个很重要的步骤就是直流电平平移和分量转换,接着再以 tilecomponent为单位对数据进行小波提升,为了提高压缩率,可进一步将小波系数进行量化,然后将量化后的小波系数划分成更小的数据单元码块,对每个码块进行独立的嵌入式编码。将得到的所有码块的嵌入式位流按照率失真最优原则分层组织,形成不同质量的层。对每一层按照一定的码流格式打包,输出压缩码流。直流电平平移原始图像分量转换小波变换量化T i e r - 1编码T i e r - 2编码编码后图像码率控制图 1 JPEG2000 压缩算法原理框图Fi
6、g.1 The principles of JPEG2000 compression algorithm diagram2 第十四届全国图象图形学学术会议3 系统硬件结构本文设计的 JPEG2000 编码系统的硬件框图如图 2 所示,它首先利用 PCI 总线将上位机的原始RGB 图像数据和命令参数传至系统的 SDRAM 中,然后按瓦片对原始数据进行直流电平平移、分量转换、小波变换、和 EBCOT 编码。最后将压缩后的数据打包传回上位机。电源控制J T A G 端口时钟系统T S 2 0 1 S处理器复位控制S D R A MF P G AF L A S HP C I 9 0 5 4上位机 P
7、C I 总线图 2 JPEG2000 编码系统的硬件结构框图Fig.2 the hardware structure diagram of JPEG2000 coding systemTS201S 是美国 ADI 公司推出的 TigerSHARC系列处理器 1,其内核工作频率高达 720MHz。具有强大的定点和浮点数处理能力,16 位定点处理能力达 4800MMAC/s,浮点数处理能力为3600MFLOPS,因此它同时适用于 JPEG2000 中的无损压缩和有损压缩。它内部拥有容量可达6*4Mbit 的存储器,为图像压缩提供大容量的高速缓存。它还具有双处理单元,支持合并的存储器读/写寻址方式,
8、也就是在一条指令中可以同时取两个操作数分别送入 X 与 Y 处理单元 2,这一特性非常有利于并行处理。4 JPEG2000 编码实现的关键技术JPEG2000 静态图像压缩原理样机的性能不仅取决于硬件平台的处理能力,还取决于任务的数据结构设计、算法设计与编程效率。为提高系统的执行速度,我们完全用 TS201S 处理器的汇编语言来实现图像压缩算法,并对关键的小波变换(DWT)算法和基于最优截断嵌入式码块编码(EBCOT)算法进行了优化设计。4.1 小波变换(DWT)小波变换是一种典型的滤波算法,它是对大批量的数据进行固定的一系列乘加运算移位操作。这些特征使之能够在采用单指令多数据(SIMD)模式
9、和具有超长指令结构的 TS201S 处理器上高效率的实现。本文以 9/7 小波变换为例,在编程实现时充分利用 TS201S 的各种有利特性对算法的流程进行优化调整。首先,利用 TS201S 的单指令多数据模式,以利用它内部两个模块在一个指令周期中对原始数据的两行并行进行小波变换,这样可以将运算效率提高一倍 3。其次,因为 DSP 内部RAM 资源有限,我们不能将存放在片外存储器中的原始图像数据一起取进片内,等到将整个图像压缩完再存回片外。只能将每幅图像的部分行和列数据分开单独进行,而数据在片内外的导入导出势必占用大量的系统资源,降低程序的效率。所以,我们需要利用 DSP 内部的 DMA 通道,
10、这样数据的传输将在后台自动执行,将内核释放出来,小波提升和数据传输可以同时进行,提高运算效率。4.2 概率转移表的设计EBCOT 算法是 JPEG2000 中的核心算法之一,它对量化后的小波系数的采用位平面扫描和 MQ编码。通过位平面扫描得到每个 bit 的上下文(CX)和当前 bit 位(D) 。自适应算术编码器 MQ 对 CX和 D 进行处理得到压缩后的数据。因此,如何高效获取上下文的概率值及如何实现其自适应功能是 JPEG2000 压缩系统中的重要技术。这里我们介绍如何实现上下文概率的获得。CX 是位平面编码中根据邻域相关性归纳而来的概率统计模型,共有19 种。JPEG2000 中这些概
11、率存放在一个专用的概率估计表(C-2 4)中, 该表包括 94 种情况。我们将这 94 种情况定义成数组,如下所示:.var Qe_Table94*4 = /概率值,当前大概率编码,NMPS ,NLPS0x5601, 0, Qe_Table+8, Qe_Table+12, /当前大概率符号为 00x5601, 1, Qe_Table+12, Qe_Table+8, /当前大概率符号为 10x3401, 0, Qe_Table+16, Qe_Table+48,/当前大概率符号为 00x3401, 1, Qe_Table+20, Qe_Table+52,/当前大概率符号为 1. . . . . .
12、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ;该数组的特点是:它将大概率符号(MPS)为 0的概率转移表和大概率符号为 1 的概率转移表包含在一个数组里而不是分别定义为一个数组,即奇数行描述的是当前大概率符号为 0 时的概率转3 辛勤等:基于 TS201S 的 JPEG2000 编码算法的研究与实现移,偶数行描述的是当前大概率符号为 0 时的概率转移。数组设计的巧妙之处在于:如果SWITCH=1,在概率状态改变的过程中可以同时实现当前大概率符号的转变。例如,在概率转移表C-21中第 1
13、 行,注意到 SWITCH=1 的,这就意味着如果下一个接收到的符号不是当前的 MPS,不仅概率要发生变化,MPS 的含义也要发生改变。与此对应,我们看数组 Qe_Table 的第一行,它的当前 MPS 是 0,如果下一个接收符号是 0(是当前的 MPS),那么 MPS 含义不变,只要修改概率索引指向 Qe_Table +8。如果下一个接收符号是 1(不是当前的 MPS),则不但概率索引要发生变化,MPS 也要由 0 变成 1。此时其状态要指向Qe_Table +12,即数组中的第 4 行,而非第 3 行,这不但完成了概率的改变,MPS 的含义也有 0 变成了 1,即同时也完成了 MPS 的改
14、变。5 压缩结果性能分析我们采用 TS201S 汇编语言来实现 JPEG2000编码算法。实验结果表明,使用优化后的汇编程序使压缩过程能在大大缩短时间的条件下保持着良好的信噪比,以 lake.bmp(512512,24 位真彩)图像作为测试图像,原图和 10 倍压缩后的图像如图 3 所示。(a)原始图像 (b)压缩后图像图 3 压缩前后的图像对比Fig.3 Image comparison before and after compressed最后我们给出对不同的 512512 大小的测试图像得到的实际性能,结果如表 1 所示,位平面扫描时间与数据位平面数相关,因此图像数据不同压缩时间也略有差
15、别,其中图像 Lena(24bit 真彩)经量化后的数据最高位平面数是 9;图像Lake(24bit 真彩)经量化后的数据最高位平面数是 10。表 1 不同图像不同压缩率下系统实际运行性能压缩时间(s) PSNR测试图像压缩比 DWT EBCOT R G B1 0.7 2.2 39.952 41.016 37.976Lena(24bit真彩)0.1 0.7 1.1 32.562 35.256 29.3681 0.7 2.3 35.663 36.316 34.851Lake(24bit真彩) 0.1 0.7 1.0 29.623 30.129 28.7956 结束语本文介绍了 JPEG2000
16、压缩标准的基本框架和算法原理以及它在 ADI TS201S 上的实现,并讨论了 JPEG2000 压缩标准中的关键技术小波变换和基于截断的嵌入式码块编码算法在实现过程中的优化,从而在不影响图像压缩质量的情况下压缩的时间大大缩短。 参 考 文 献1ADSP-TS201 TigerSHARC Processor Hardware Reference.Analog Devices,Inc December 2004.guidelinesM, 1994.2ADSP-TS201 TigerSHARC Processor Programming Reference.Analog Devices,Inc December 2004. 3国防报告,“* 信息系统设计基于 TS201 的 JPEG2000 编码算法研究与实现”,2007.74JPEG2000 Image Coding System. JPEG2000 Final Committee Draft Version.1.0 ,2000.