JPEG2000核心算法的研究及DSP实现

发布者:binggege最新更新时间:2009-07-07 来源: 计算机与信息技术关键字:JPEG2000  DSP  核心算法 手机看文章 扫描二维码
随时随地手机看文章

  1 引言

  JPEG2000是新一代静止图像压缩国际标准,具有优越的图像压缩性能和高的图像质量,不仅克服了传统JPEG静止图像压缩标准在高压缩时出现方块效应的缺点,还提供了图像渐进传输、图像质量可伸缩及感兴趣区域编码等特性,可以应用于数码相机、医疗图像、网络传输等方面。

  2  JPEG2000标准基本原理

  2.1 JPEG2000编解码框架

  JPEG2000编码器编码主要有预处理、小波变换、量化和熵编码等步骤,相对于编码过程,该系统的解码过程比较简单[1]。JPEG2000编解码器框图如图1和图2所示。

JPEG2000编码器框图

图1  JPEG2000编码器框图

JPEG2000解码器框图

图2  JPEG2000解码器框图

  2.2  JPEG2000编码的核心算法

  1) DWT变换

  通过离散小波变换多级小波分解,小波系数既能表示图像片中局部区域的高频信息也能表示图像片中的低频信息。这样,即使在低比特率的情况下,也能保持较多的图像细节,另外,下一级分解得到的系数所表示图像在水平和垂直方向的分辨率只有上一级小波系数所表示的图像的一半,所以通过对图像的不同级进行解码,就可以得到具有不同空间分辨率的图像。

  2) EBCOT算法

  EBCOT算法的基本思想是将小波变换以后的子带划分为大小固定的码块,对码块系数量化,按照二进制位分层的方法,从高有效位平面开始,依次对每个位平面上的所有小波系数位进行三个通道扫描建模(重要性传播编码通道、幅度精炼编码通道、清除编码通道),即位平面编码,生成上下文和0、1符号对,然后对这些上下文和符号对进行上下文算术编码,形成码块码流,完成第一阶段编码块编码;最后根据一定参数指标如码率、失真度,按率失真最优原则在每个独立码块码流中截取合适的位流组装成最终的图像压缩码流,完成第二阶段码流组装过程[2]。

  2.3  EBCOT算法中块编码算法的改进研究及实现

  在JPEG2000编解码系统中,EBCOT算法是其重要的组成部分。而EBCOT算法中的第一阶段块编码又是整个算法的核心,它占用了大量的编码时间,无论是无损压缩还是有损压缩,EBCOT算法中的位平面编码时间都占到整个编码耗时的50%以上[3][4]。所以,自从EBCOT算法提出后,由于第一阶段块编码的运算量比较大、编码速度较慢,针对这种情况的优化改进研究很有必要。

  图3为barbara图像(256×256)在位平面编码时三个通道系数编码数量变化示意图。图中通道1表示重要性通道,通道2表示幅度精练通道,通道3表示清除通道。由图可以看出,在最高位平面MSB,所有系数都只在清除通道进行编码。重要性传播通道中编码的系数数量先是增加,然后由于在重要性传播通道中的系数已变为重要的,所以在重要性传播通道中编码的系数数量又逐渐减少。在低位平面(0、1、2)大部分系数在幅度精练通道中编码,只有一少部分在重要通道中编码,没有系数在清除通道中编码。在整个扫描编码过程中,三次扫描要形成三次上下文并判断其所属编码通道,这样就会使编码时间大幅度增加。

位平面编码三个通道系数编码数量变化示意图

图3  位平面编码三个通道系数编码数量变化示意图

  根据对图3的数据分析研究,本文给出两种针对于位平面编码的改进方法[5]。

  (1)位平面0、1、2清除通道编码省略法。由图3可以看出在较低位平面(即位平面0、1、2)上清除通道实际编码的像素是很少的,几乎为零。所以花费时间对较低位平面上的清除通道进行扫描编码是无意义的。本论文就此给出一种改进方案即省略较低位平面的清除通道编码,达到改进标准算法的目的。该编码模块与标准算法此部分代码相近,只是对编码条件进行了改变。

  (2)位平面6、7一次扫描法。由图3可以看出在高位平面(位平面6和位平面7)重要性传播通道和幅度精练通道的编码量都很低,趋近于零,而清除编码通道编码的像素量相反却很高。在标准算法的扫描机制下,对图像质量影响很小的高频子带像素编码,扫描算法必须从最高平面由高向低分三次完整的扫描。本文给出一次扫描法对较高位平面进行改进,即在一次扫描过程中对最高位平面和次高位平面所有系数进行编码。在一次编码一个系数时,通过上下文的形成,先确定此系数属于哪个通道。然后,此系数按所属通道马上进行相应编码。这样就能减少两次扫描,节约了编码时间,从而能够提高编码效率。本文处理的对象主要是8比特的灰度图像。有损压缩采用9/7小波变换。

  通过对压缩性能研究发现,在压缩比较小时本文改进算法比标准算法的压缩性能约低0.4db左右,在压缩比较大时两者的压缩性能相一致,保留了JPEG2000优异的压缩性能;从编解码时间来看,在有损压缩编码执行时间上,本文所给出的改进算法比标准算法时间缩短8%到12%,解码时间缩短2%到5%,提高了编码效率,达到了改进的目的。

  3  JPEG2000标准中改进算法的DSP实现

  3.1 DSP硬件开发平台

  本文使用评估板是北京闻亭公司的TDS642,板上的DSP芯片是TMX DM642,BGA548封装,内部工作时钟为600M,外部总线时钟为100M,计算能力高达4.8亿指令每秒。

  该平台提供了丰富的外围接口。板上有两个复合视频(PAL/NTSC/SECAMS)输入和1个复合视频输出端口;立体声输入/出或单一麦克风输入端口;提供两个UART、以太网接口、子板接口、PC104接口和JTAG接口[6][7]。板上还提供了4M Bytes的Flash存储器,位于DM642的CE1地址空间,宽度为8bits,FPGA扩展了3根地址线,把Flash分成8页,Flash 的第0页的前半页存放用户的自启动程序,后半页存放FPGA程序,第1页尾用户存放数据空间,第2页至第8页用于存放用户程序。

  3.2 核心算法的DSP实现

  (1)算法总体框架。本文算法基于DM642EVM实现时主要分为两个大的模块(如图4),第一部分为DWT变换模块,它将输入图像数据变换为一系列的小波系数;第二部分为EBCOT算法模块,将量化后的的小波系数编码生成压缩码流。硬件开发平台结构框图如图5所示。

算法框架图

图4 算法框架图

算法硬件开发平台结构框图

图5 算法硬件开发平台结构框图

  (2)内存分配。对于图像数据的处理,往往涉及到大量的复杂的数据寻址计算,对于复杂的寻址计算,其耗费CPU的计算量可能比实际数据操作的计算量还大。所以要加快CPU对数据的访问速度,不但要求存储器本身的速度快,而且还需要一个合理的数据结构来简化CPU对地址的计算。另外,DM642对数据的访问技术,如Cache、EDMA和宽bit数据直接读写等,都是基于存储地址的连续性。基于以上考虑,本文在内存分配及定位时,依据以下大的原则:第一,在满足精度要求的情况下,使用较短的数据类型;第二、大的数据块,如原始图像、重构图像存储在片外SDRAM;第三、关键数据、小的数据块,比如运算时的系数、系统堆栈、三个通道扫描都需要频繁的访问数据区和上下文标志区等,存放到片内存储器;第四、对L2级配置足够的Cache以便CPU对数据的快速读写;第五、对于具有运算相关性的数据,应在内存中按序连续排放。当涉及到片内外数据块的搬移操作时,可由DM642的EDMA单元去完成,它可与CPU并行工作,不占用CPU的计算周期[8]。

  (3)图像数据的读写。由于本文工作主要完成针对图像的压缩功能,不涉及图像采集,所以在图像数据的输入输出上做了适当的处理。考虑到CCS的Simulator完全支持C/C++语言,因此原始图像数据的输入采用C语言中的头文件形式,小波变换模块,EBCOT算法模块采用存放在PC机的数据文件形式。本文主要采用头文件和二进制数据文件的形式,将图像的非文件头部分的所有数据通过“fprintf(fp,“%3d,”,image_in [i][j])”语句写到.h文件中。

  (4)DWT的实现。由于DM642为定点处理器,不适合于浮点运算,所以本文选择LeGall(5,3)整数滤波器完成JPEG2000中的小波变换。在进行小波变换时,首先定义两个与图像块大小相等的存储缓冲器,一个是图像片数据的输入缓存Buf,一个是用来临时存放图像片数据经小波变换后的结果缓存TempBuf。每经过一级小波变换,图像片数据都要先后两次经过integer(5,3)的低通和高通滤波。TempBuf中保存的高通滤波数据经integer(5,3)滤波器处理后,得到HL子带和HH子带的小波变换系数。最后将变换结果存放到输入缓存Buf中。若要进行下一级分解,只需对Buf中LL子带进行同样处理。

  (5)EBCOT算法的实现。EBCOT算法是JPEG2000编码系统中耗时最大的一个部分,因此对这一部分进行优化实现对整个系统的性能提高很有意义。在PC机上,EBCOT编码中的每个通道都是被独立处理的。因此,在DM642上实现的时候,本文采用并行性技术来优化代码,加快程序的执行速度,比如在取位平面数据的时候可以和构造上下文模型并行处理,但是并不是简单的并行处理,当要形成通道二的上下文模型时,其邻域的数据在处理通道一的时候己经被改变。这样做可以增加DM642功能单元的利用率,充分发挥出它的并行计算能力。

  3.3 实验结果

  本文实验基于Windows XP操作系统、CPU Intel Pentium(R)4 2.4GHz、512M内存、CCS编译环境,程序通过USB仿真器下载到DM642EVM开发板上进行,采用LeGall(5,3)小波,处理图像为512×512的lena和barbara图像。经测试,压缩比为16:1时编码器编码相应耗时如表1所示。

PC与DSP实现算法时间比较

  实验给出了lena图像在8:1、16:1、32:1三种压缩比下的重构图像,并分别给出了与原始图像的峰值信噪比,如图6所示。

barbara图像编码图

图6  barbara图像编码图

  表1数据表明,编码器基于DSP的编码耗时相比基于PC的耗时有所增加,是因为代码在DM642EVM硬件平台上运行时需要持续的通过USB仿真器和PC机交换数据,从而增加了时间的开销。从图6中的PSNR值可知,lena图像在较高压缩比下的重构图像仍具有较高的图像质量。就主观评价来讲,压缩比为8:1和16:1的重构图像与原始图像差别细微,视觉效果好;压缩比为32:1的重构图像略有失真。实验结果表明,移植到DSP上的JPEG2000编码算法代码仍具有良好的压缩性能。

  4  结束语

  为了实现对图像的高效压缩,在这里使用了DWT变换和EBCOT算法,并给出两点改进方法。通过将改进的算法移植到DSP开发板上,可以看出图像在高压缩比的重构图像仍具有较高的图像质量,结果表明移植到DSP上的JPEG2000编码算法代码仍具有良好的压缩性能,在图像压缩处理中有较好的尝试应用。

关键字:JPEG2000  DSP  核心算法 引用地址:JPEG2000核心算法的研究及DSP实现

上一篇:Altera在亚洲16城市举办2009 AP技术巡展
下一篇:联电65纳米曝良率问题 Xilinx受损

推荐阅读最新更新时间:2024-05-02 20:50

单片机与DSP结合的dsPIC芯片
摘要:介绍一款结合16位单片机控制特点和DSP高速运算优点的新型芯片——dsPIC,对比分析它与PIC16F87X系列单片机之间结构功能的差异。 关键词:单片机 PIC DSP dsPIC 微电子技术大规模甚至超大规模集成电路技术的发展日新月异,计算机芯片技术获得了高速发展。构成这样单片机,亦是不断更新换代,朝着高速化、通用化、不断专用化和提高性价比以及模拟/数字混合集成等方向发展。 熟悉单片机的用户,对于PIC已不再陌生了。由美国Microchip公司推出的PIC系列单片机产品,采用了RISC结构,不但解决了传统冯%26;#183;诺依曼结构单片机的“瓶颈”问题,并以高速度、低电压、低功耗、大电流驱动能力和低价位OTP及F
[单片机]
ARM、DSP、FPGA的特点和区别
  ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软 件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四 个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备 市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。   DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以
[单片机]
CSR公司为BlueCore5-多媒体增加嵌入式DSP虚拟环绕声技术
全球领先的蓝牙连接及无线技术提供商CSR公司(伦敦证券交易所:CSR.L)日前宣布,其BlueCore5-多媒体平台进一步扩大了高质量的第三方软件组合。Phitek公司的V3D和LFX?技术使无线耳机制造商能够将业内领先的蓝牙技术与高质量的虚拟环绕声和心理声学低音功能结合起来。CSR公司在BlueCore5-多媒体上选择采用Phitek公司先进的软件,使CSR公司的客户能够获得无线耳机应用的最佳性能,同时使制造商能够开发出高质量的蓝牙耳机。Phitek公司于 3月15至21日在德国汉诺威举行的CeBIT 2007展览上展出其结合了CSR公司BlueCore5-多媒体系统的技术,其展台编号为3号展馆的B55463-A。 Phitek
[新品]
脱机视频图象编/解码系统中高速DSP芯片应用方案
视频图象编/解码的目的一方面要将模拟视频信号转化为数字信号来传输,另一方面,由于单纯的视频模数转换所得到的图像数据量非常庞大,必须应用图象压缩技术减少数据量。在图象编/解码领域有两种实现方式,一种是基于微机平台的实现方式,图象数据通过微机软件或者是利用基于微机总线的图象处理卡进行压缩编码,并且可以通过PC网络进行数据传输。另一种方式抛开了微机平台,应用DSP为主的微处理器算法对图象进行压缩/解压缩的编/解码处理。后一种方式构成的系统被称为脱机图象系统。脱机图象系统由于设备体积小,应用灵活简便,受到广泛的关注。随着微处理技术的发展,专用的图象压缩/解压缩ASIC芯片涌现,图象处理算法已经集成于ASIC中,这就简化了脱机图象系统的
[嵌入式]
脱机视频图象编/解码系统中高速<font color='red'>DSP</font>芯片应用方案
DSP或消失 CPU核心或发展至四核
    便携消费电子领域的处理器多核化正发展快速,几乎快追上PC端的性能发展了:双核正开始普及,四核AP已经不远了。未来AP的发展方向也可以参考PC端的发展历程来判断。在近日举办的深圳(国际)集成电路技术创新与应用展上,本站记者采访到了MIPS中国区市场营销主管费浙平,他对未来AP多核的发展方向表达了自己的看法。 DSP或消失 他指出,AP当中典型的核心可分为CPU、DSP和GPU三类。而在当下处理芯片里,CPU与GPU内核都会存在,而DSP的使用领域正在变窄。以前的多媒体运算是由DSP处理的,现在则由专属硬件来处理了。现在流行的1080P,DSP是算不过来的,而且CPU也算不过来,这时,这种文件的处理会变成专用的硬件:编
[嵌入式]
TMS320C54xx DSP的USB接口实现
通用串行总线USB(Universal Serial Bus)应用由三部分组成:具有USB接口的PC系统、能够支持USB的系统软件和使用USB接口的设备。USB应用采用通用连接技术,实现外设的简单快速连接,借以达到方便用户、降低成本、扩展PC机连接外设范围的目的。USB的特点如下: (1)连接灵活、使用方便 现在计算机系统连接外围设备的接口并无统一的标准,如键盘用PS/2接口,打印机用25针的并行接口等。USB则将这些不同的接口统一起来,由一组微小的矩型插座和软件构成。用户插入外设后,计算机系统能够自动识别接入的外设,而不需要重新启动系统,用户可以带电插拔;为USB设计的驱动程序和应用软件可以自动启动,无需用户干预USB设备,
[嵌入式]
Altera发布新一代DSP Builder工具8.0。
2008年7月2号,面向高性能数字信号处理(DSP)设计,Altera公司(NASDAQ: ALTR)今天发布具有第二代模型综合技术的DSP Builder工具8.0。该技术使DSP设计人员第一次能够自动生成基于高级Simulink设计描述的时序优化RTL代码。借助这一新的DSP Builder,设计人员在几分钟内就可以实现接近峰值FPGA性能的高性能设计。和手动优化HDL代码需要数小时甚至数天时间相比,这大大提高了效能。 The MathWorks信号处理和通信市场总监Ken Karnofsky评论说:“DSP Builder是第二代基于模型的综合技术,在设计高性能DSP时,客户可以借助该技术使用Simulin
[新品]
基于DSP/ARM的网络硬盘录像机的设计方案
随着人们生活水平的提高和对工作、生活环境中安全防卫需求的增长,视频监控系统近年来得到了迅速的发展。传统的基于PC 机的视频监控系统多存在着诸如安装携带不便、不能在恶劣环境下使用等一些缺点,这就亟待一种全新的视频监控系统的出现。随着近年来超大规模 集成电路 和嵌入式软硬件技术的迅猛发展,特别是DSP、PowerPC 等嵌入式芯片的出现,将嵌入式处理器应用到视频监控系统中不仅克服了上述基于PC 机系统的一些缺点,而且其强大的功能加上丰富的外设接口和高度的可编程性使得视频监控的硬件和软件都更容易实现。正是由于越来越高的性价比加上体积小、成本低等独特优势,使得嵌入式芯片在视频监控领域也渐渐拥有了一席之地。    1 系统概述
[嵌入式]
基于<font color='red'>DSP</font>/ARM的网络硬盘录像机的设计方案
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved