基于LM9627的JPEG2000压缩与传输系统
时间:07-18
来源:互联网
点击:
算法实现第二阶段
编写JPEG2000汇编代码,并抽出对性能影响比较大的代码段进一步优化。TMS320C67l3基于TI的VLIW技术,利用VLIW结构设计程序可以充分利用DSP多个功能单元并行工作的特性。DSP的每一个通道都有四个功能单元(L、S、M、D),每个功能单元负责完成一定的逻辑或者算术运算,另外A、B两个通道的互访可以通过交叉单元1x、2x完成。TM320C6713的大部分指令都可在单周期内完成,可以直接对8/16/32位数据进行操作。同时,它最多可以有8条指令并行执行;所有指令均可条件执行。
以上所有特点提高了指令的执行效率、减小了代码长度、提高了编码效率。C6713只有两个D单元负责数据存取,在一个时钟周期中最多有两条数据存取指令并行执行,并且从存储区取数据的LDB/LDH/LDW指令有4个时钟周期的延时,严重影响了CPU的效率。为此在编码时应尽量减少从存储区中取数据的次数。 例如在小波变换中,我们在对SRAM里的8位采样值数据进行取操作(LDB)时,可以充分利用C6713的32位寄存器,一次从存储区中取地址相邻的4个8位数(用32位操作指令LDW),然后分别进行运算,这样就充分利用了CPU的资源,减少了4倍的数据存取量。流水线操作是DSP实现高速度、高效率的关键技术之一。当一条指令的处理已经准备好后到流水线的下一级,但是那一级却还没有准备接收新的输入时,流水线冲突就不可避免。
流水线冲突可以分为三大类:跳转冲突、寄存器冲突和存储器冲突。为解决流水线冲突问题,在使用汇编语言时需要特别注意C6000指令的延迟情况,有些指令并不是立刻就能得到结果。此外,为了保证代码效率,必须提前知道每一条指令的运行周期数,并提前安排该指令或重新调整指令顺序。只有尽量将这些指令的前后指令放在它们所需的延迟间隙内并行执行,才能达到减少等待周期、提高程序效率的效果。经过C语言模拟算法到全汇编实现的优化,然后再对汇编代码进行优化,使得系统的性能大大提高。
基站的设计
PC基站主要由蓝牙接收和上位机JPEG2000解码两个部分组成,其原理如图2所示。而上位机解压软件主要包括LM9627传感器设置和图像采集控制,前者主要发送从地址和设置值给终端,终端通过 设置LM9627;后者控制系统的图像采集分辨率和压缩比。
图2 基站设计
测试结果主观图像质量比较由于采取了上述技术,理论上JPEG2000应提供更好的性能和更多的功能,下面通过几组对比数据加以验证。用作参考的JPEG算法是当前业界硬件平台上使用最广泛的压缩算法,测试图片为24位真彩色lenna图。
实验采用的压缩性能度量是峰值信噪比(PSNR):PSNR反映的是图像信噪比变化情况的统计平均,它是目前广泛应用的衡量图像主观质量的方法。由表1的数据可以得出以下结论:在较高压缩比率情况下,JPEG2000的信噪比均高出JPEG 6~9dB;在高分辨率情况下,JPEG2000的信噪比值下降度低于码率下降度,这意味着,分辨率越高,越能体现JPEG2000的高压缩比性能。当信噪比低于26dB时,JPEG的重构图由于严重的马赛克效应已经无法分辨,而此时的JPEG2000重构图像虽然在细节部分已经有所损失,但是图像轮廓仍旧比较明晰。表中“—”表示此时图像质量已经很低,计算的PSNR值不再具有实际意义。系统处理速度本系统在系统控制主板DSP—VC5402的控制下,让两块图像处理子板稳定可靠地并行工作,具体测试结果如表2所示。
结语
本系统以低成本实现了高质量的图像压缩功能,具有广泛的应用价值。主要应用领域可概略分成两部分:一为传统的JPEG市场,像打印机、扫描仪和数码相机等,一为新兴的应用领域,像网络传输、无线通信和医疗图像等。由于早先的Motion JPEG不提供无损模式,未能广泛应用到视频编码领域。而本系统所采用的JPEG2000算法结合DSP系统的高效率处理性能,能够很好地把静态图像压缩技术引入视频编码领域。
编写JPEG2000汇编代码,并抽出对性能影响比较大的代码段进一步优化。TMS320C67l3基于TI的VLIW技术,利用VLIW结构设计程序可以充分利用DSP多个功能单元并行工作的特性。DSP的每一个通道都有四个功能单元(L、S、M、D),每个功能单元负责完成一定的逻辑或者算术运算,另外A、B两个通道的互访可以通过交叉单元1x、2x完成。TM320C6713的大部分指令都可在单周期内完成,可以直接对8/16/32位数据进行操作。同时,它最多可以有8条指令并行执行;所有指令均可条件执行。
以上所有特点提高了指令的执行效率、减小了代码长度、提高了编码效率。C6713只有两个D单元负责数据存取,在一个时钟周期中最多有两条数据存取指令并行执行,并且从存储区取数据的LDB/LDH/LDW指令有4个时钟周期的延时,严重影响了CPU的效率。为此在编码时应尽量减少从存储区中取数据的次数。 例如在小波变换中,我们在对SRAM里的8位采样值数据进行取操作(LDB)时,可以充分利用C6713的32位寄存器,一次从存储区中取地址相邻的4个8位数(用32位操作指令LDW),然后分别进行运算,这样就充分利用了CPU的资源,减少了4倍的数据存取量。流水线操作是DSP实现高速度、高效率的关键技术之一。当一条指令的处理已经准备好后到流水线的下一级,但是那一级却还没有准备接收新的输入时,流水线冲突就不可避免。
流水线冲突可以分为三大类:跳转冲突、寄存器冲突和存储器冲突。为解决流水线冲突问题,在使用汇编语言时需要特别注意C6000指令的延迟情况,有些指令并不是立刻就能得到结果。此外,为了保证代码效率,必须提前知道每一条指令的运行周期数,并提前安排该指令或重新调整指令顺序。只有尽量将这些指令的前后指令放在它们所需的延迟间隙内并行执行,才能达到减少等待周期、提高程序效率的效果。经过C语言模拟算法到全汇编实现的优化,然后再对汇编代码进行优化,使得系统的性能大大提高。
基站的设计
PC基站主要由蓝牙接收和上位机JPEG2000解码两个部分组成,其原理如图2所示。而上位机解压软件主要包括LM9627传感器设置和图像采集控制,前者主要发送从地址和设置值给终端,终端通过 设置LM9627;后者控制系统的图像采集分辨率和压缩比。
图2 基站设计
测试结果主观图像质量比较由于采取了上述技术,理论上JPEG2000应提供更好的性能和更多的功能,下面通过几组对比数据加以验证。用作参考的JPEG算法是当前业界硬件平台上使用最广泛的压缩算法,测试图片为24位真彩色lenna图。
实验采用的压缩性能度量是峰值信噪比(PSNR):PSNR反映的是图像信噪比变化情况的统计平均,它是目前广泛应用的衡量图像主观质量的方法。由表1的数据可以得出以下结论:在较高压缩比率情况下,JPEG2000的信噪比均高出JPEG 6~9dB;在高分辨率情况下,JPEG2000的信噪比值下降度低于码率下降度,这意味着,分辨率越高,越能体现JPEG2000的高压缩比性能。当信噪比低于26dB时,JPEG的重构图由于严重的马赛克效应已经无法分辨,而此时的JPEG2000重构图像虽然在细节部分已经有所损失,但是图像轮廓仍旧比较明晰。表中“—”表示此时图像质量已经很低,计算的PSNR值不再具有实际意义。系统处理速度本系统在系统控制主板DSP—VC5402的控制下,让两块图像处理子板稳定可靠地并行工作,具体测试结果如表2所示。
结语
本系统以低成本实现了高质量的图像压缩功能,具有广泛的应用价值。主要应用领域可概略分成两部分:一为传统的JPEG市场,像打印机、扫描仪和数码相机等,一为新兴的应用领域,像网络传输、无线通信和医疗图像等。由于早先的Motion JPEG不提供无损模式,未能广泛应用到视频编码领域。而本系统所采用的JPEG2000算法结合DSP系统的高效率处理性能,能够很好地把静态图像压缩技术引入视频编码领域。
USB 蓝牙 FPGA DSP 总线 Verilog C语言 编码器 滤波器 传感器 相关文章:
- 实现WUSB设备控制器的设计考虑因素(09-12)
- 基于USB2.0的高速无线数传接收设备的数据接收存储方法(09-09)
- 四种短距离无线监控解决方案的性能对比(09-16)
- Wibree:一个可供选择的新无线联网技术(11-07)
- TI 单芯片手机多媒体电话解决方案(12-01)
- 蓝牙技术硬件实现模式分析(01-11)