论文部分内容阅读
摘要:本文讨论了JPEG2000的相关核心算法,它是基于EBCOT算法,使用DWT,采用两层编码策略,能够获得较好的压缩率。
关键词:JPEG2000 图像压缩 DSP
1 JPEG2000压缩算法的原理
1.1特点
JPEG2000标准融合了许多新的数字图像压缩编码技术,如小波变换等。在网络应用,彩色传真,移动通信和电子商务等诸多领域都表现出更好性能。主要特性有:低比特率时的良好表现性能、有损和无损压缩、对兴趣区(ROI)的编码,码流的随机访问和处理、开放的架构和更高的安全性。
1.2 JPEG2000基本结构和主要内容
JPEG2000的核心部分一图像编码系统,它是基于EBCOT(Embedcd block coding with Optimized Truncation)算法,使用DWT,采用两层编码策略,对压缩位流分层组织,不仅获得较好的压缩率,而且压缩码流具有较大的灵活性。在编码时,首先源图像进行DC位移、DWT和量化,将量化的小波系数划分成小的数据单元一码块,对每个码块进行独立的嵌入式编码,编码后的位流按照速率失真最优原则分层组织,形成不同质量的两层,对每一层按照一定的码流格式打包,输出压缩码流。彩色静态画面采用JPEG,二值图像采用JBIG,低压缩率采用JPEGLS,多种方式同时存在,而JPEG2000将上述方式统一起来,成为对应各种图像的通用编码方式。
2 DSP实现JPEG2000压缩系统分析
2.1 JPEG2000算法结构
我们假设输入到JPEG2000编码器的原始数据是符合CCIR656标准的YUV数据。首先分别对DC位移后的Y、U、V三分量进行离散小波变换,将变换后的小波系数划分成小的数据单元一码块,对每个码块进行独立的嵌入式编码一位平面算术编码。经算术编码后得到码块编码位流,将其按照一定的率失真要求裁成不同长度的位流段。并将截断点和失真值以压缩的形式同码块位流保存在一起,形成码块的嵌入式压缩位流。然后,将得到的所有码块的嵌入式位流,按照率失真最优原则分层组织,形成不同质量的层。对每一层,按照一定的码流格式打包,输出得到压缩码流。
2.2 DSP的选择
用于实现JPEG2000编码器的DSP应该具备三个方面的特点:价格合理;处理速度较快,开发方便。能够同时满足这三个方面需要的即为C5000系列DSP莫属,具有128KW高速片内RAM、160M IPS指令执行速度(百万条指令/每秒),8M程序空间的TMS320VC5416是最好的选择。
2.3 JPEG2000编码程序
针对本系统的特点,在对DSP的编程中,采用汇编语言和高级语言结合使用,核心算法都是用汇编实现的。TI公司提供的C语言编译器支持标准化的ANSI C,做了许多优化以提高编译代码的效率,使之接近汇编语言的效率。采用C语言和汇编语言的混合编程必须遵从他们之间的接口规范。首先要遵循命名规范,其次要符合寄存器使用规则,还有就是C编译器定义了严格的函数调用规则。软件程序必须放在永久性程序存储器中,充当存储器的是一片型号为AT29LV020的FLASH。
JPEG2000的DSP实现重点主要在算法上,主要完成几个步骤:首先,系统初始化上电自举,启动FLASH中的源程序,初始化硬件设备。初始化完成后。传输一副完整的源图像,判断图像是否传输完毕,接着从CF卡中读出源图像,对源图像进行JPEG2000压缩,然后再把压缩的图像放入帧存,通过帧存传输出去,接着进行下一幅图像的压缩。
2.4性能分析
试验结果表明在不同的压缩率下本系统都保持着良好的信噪比,特别是在无损压缩的情况下压缩率可以达到4:1。整个图片在高压缩率下,更加突出了JPEG2000的优点,比如50:1的情况时,其峰值信噪比可以达到32dB,主观比较圆滑,平滑,轮廓清晰。本模块的压缩速度可以达到每秒十帧以上。基本上可以满足场外监控系统的需要。
3 结论
JPEG2000是新一代数字图像压缩标准,本文介绍了一种基于DSP的JPEG2000的硬件压缩方法,在方法的选择上,用到了JPEG2000的核心系统,由于本系统体积小,主要适用于一些野外图像采集,现场监控等需要连续传输高清晰图像场合的使用。
关键词:JPEG2000 图像压缩 DSP
1 JPEG2000压缩算法的原理
1.1特点
JPEG2000标准融合了许多新的数字图像压缩编码技术,如小波变换等。在网络应用,彩色传真,移动通信和电子商务等诸多领域都表现出更好性能。主要特性有:低比特率时的良好表现性能、有损和无损压缩、对兴趣区(ROI)的编码,码流的随机访问和处理、开放的架构和更高的安全性。
1.2 JPEG2000基本结构和主要内容
JPEG2000的核心部分一图像编码系统,它是基于EBCOT(Embedcd block coding with Optimized Truncation)算法,使用DWT,采用两层编码策略,对压缩位流分层组织,不仅获得较好的压缩率,而且压缩码流具有较大的灵活性。在编码时,首先源图像进行DC位移、DWT和量化,将量化的小波系数划分成小的数据单元一码块,对每个码块进行独立的嵌入式编码,编码后的位流按照速率失真最优原则分层组织,形成不同质量的两层,对每一层按照一定的码流格式打包,输出压缩码流。彩色静态画面采用JPEG,二值图像采用JBIG,低压缩率采用JPEGLS,多种方式同时存在,而JPEG2000将上述方式统一起来,成为对应各种图像的通用编码方式。
2 DSP实现JPEG2000压缩系统分析
2.1 JPEG2000算法结构
我们假设输入到JPEG2000编码器的原始数据是符合CCIR656标准的YUV数据。首先分别对DC位移后的Y、U、V三分量进行离散小波变换,将变换后的小波系数划分成小的数据单元一码块,对每个码块进行独立的嵌入式编码一位平面算术编码。经算术编码后得到码块编码位流,将其按照一定的率失真要求裁成不同长度的位流段。并将截断点和失真值以压缩的形式同码块位流保存在一起,形成码块的嵌入式压缩位流。然后,将得到的所有码块的嵌入式位流,按照率失真最优原则分层组织,形成不同质量的层。对每一层,按照一定的码流格式打包,输出得到压缩码流。
2.2 DSP的选择
用于实现JPEG2000编码器的DSP应该具备三个方面的特点:价格合理;处理速度较快,开发方便。能够同时满足这三个方面需要的即为C5000系列DSP莫属,具有128KW高速片内RAM、160M IPS指令执行速度(百万条指令/每秒),8M程序空间的TMS320VC5416是最好的选择。
2.3 JPEG2000编码程序
针对本系统的特点,在对DSP的编程中,采用汇编语言和高级语言结合使用,核心算法都是用汇编实现的。TI公司提供的C语言编译器支持标准化的ANSI C,做了许多优化以提高编译代码的效率,使之接近汇编语言的效率。采用C语言和汇编语言的混合编程必须遵从他们之间的接口规范。首先要遵循命名规范,其次要符合寄存器使用规则,还有就是C编译器定义了严格的函数调用规则。软件程序必须放在永久性程序存储器中,充当存储器的是一片型号为AT29LV020的FLASH。
JPEG2000的DSP实现重点主要在算法上,主要完成几个步骤:首先,系统初始化上电自举,启动FLASH中的源程序,初始化硬件设备。初始化完成后。传输一副完整的源图像,判断图像是否传输完毕,接着从CF卡中读出源图像,对源图像进行JPEG2000压缩,然后再把压缩的图像放入帧存,通过帧存传输出去,接着进行下一幅图像的压缩。
2.4性能分析
试验结果表明在不同的压缩率下本系统都保持着良好的信噪比,特别是在无损压缩的情况下压缩率可以达到4:1。整个图片在高压缩率下,更加突出了JPEG2000的优点,比如50:1的情况时,其峰值信噪比可以达到32dB,主观比较圆滑,平滑,轮廓清晰。本模块的压缩速度可以达到每秒十帧以上。基本上可以满足场外监控系统的需要。
3 结论
JPEG2000是新一代数字图像压缩标准,本文介绍了一种基于DSP的JPEG2000的硬件压缩方法,在方法的选择上,用到了JPEG2000的核心系统,由于本系统体积小,主要适用于一些野外图像采集,现场监控等需要连续传输高清晰图像场合的使用。