5/3提升小波在DM642上的实现与优化

发布者:beup001最新更新时间:2008-08-15 来源: 电子应用技术关键字:图像处理 手机看文章 扫描二维码
随时随地手机看文章
提升小波变换不仅具有传统小波多分辨率的优点,而且简化了运算,便于硬件实现,因此在数字图像编码中得到广泛应用。在新的图像压缩标准JPEG2000中,采用9/7、5/3提升小波变换作为编码算法,其中5/3小波变换是一种可逆的整数变换,可以实现无损或有损的图像压缩。在通用的DSP芯片上实现该算法具有很好的可扩展性、可升级性与易维护性。用这种方式灵活性强,完全能满足各种处理需求。
1 提升算法
提升算法[1]是由Sweldens等在Mallat算法的基础上提出的,也称为第二代小波变换。与Mallat算法相比,提升算法不依赖傅立叶变换,降低了计算量和复杂度,运行效率相应提高。由于具有整数变换及耗费存储单元少的特点,提升算法很适合于在定点DSP上实现。
小波提升算法的基本思想是通过基本小波逐步构建出一个具有更加良好性质的新小波。其实现步骤为分解(split)、预测(predict)和更新(update)。
首先按照对原信号进行对称延拓得到新的x(n)。
分解是将数据分为偶数序列x(2n)和奇数序列x(2n+1)二个部分;
预测是用分解的偶数序列预测奇数序列,得到的预测误差为变换的高频分量:H(n)=x(2n+1)-{[x(2n)+x(2n+2)]>>1}
更新是由预测误差更新偶数序列,得到变换的低频分量: L(n)=x(2n)+{[H(n)+H(n-1)+2]>>2}
计算过程如图1所示。


2 基于DM642的优化策略
2.1 DM642的两级CACHE结构
DM642是一款专门面向多媒体处理领域应用的处理器,是构建多媒体通信系统的良好平台。它采用C64xDSP内核,片内RAM采用两级CACHE结构[4][5],分为L1P、L1D和L2。L1只能作为CACHE被CPU访问,均为16KB,访问周期与CPU周期一致,其中L1P为直接映射,L1D为两路成组相关;L2可以由程序配置为CACHE和SRAM。
2.2 改进的算法结构
传统的小波变换都是对整幅图像作变换,先对每一行作变换,然后再对每一列作变换。用这种方式在DSP上实现该算法时效率比较低。因为DSP的L1D很小,只有16KB,不能缓存整幅图像,因此原始图像数据通常保存在速度较低的外部存储器上。这样CPU从L1D每读取一行数据时必然会产生缺失,大量缺失会严重阻塞CPU的运行,延长程序的执行时间。为了减少缺失的发生,必须将传统的变换进行改进。将原来对整幅图像的变换改为分块的变换,即每次从图像中取出一个块,先后完成行、列变换后再按照一定的规则保存到系数缓存中,如图2所示。


在这种方法中,SDRAM中的一个数据块首先传输到L2中,然后取到L1D中进行水平方向的提升,再对该块进行垂直方向的提升。这样,由于垂直提升所需的数据都在L1D中,避免了此处数据缓存缺失的产生,使总的缺失数大大降低。
2.3 数据传输
(1)SDRAM与L2间的数据传输
由于EDMA[6][7]数据传输与CPU运行相互独立,因此在L2中开辟两块缓存:EDMA在CPU处理InBuffA的同时将下一块数据传输到InBuffB,解决了CPU读取低速设备SDRAM引起的时延,如图3所示。


(2)L2与L1D间的数据传输
CPU首先访问第一级CACHE中的程序和数据,如果没有命中则访问第二级CACHE(如果配置L2的一部分为CACHE),若还没有命中就要访问外部存储空间。在这个过程中,CPU一直处于阻塞状态,直至读取的数据有效。所以,在对L2中的数据块进行水平提升时,CPU读取每一行都会产生缺失。针对这种情况,TMS320C64x系列DSP为L1D提供了一种高速缓存缺失处理的流水处理机制。若连续多次未命中,CPU等待时间就会重叠,总体上减少了平均缺失造成的CPU阻塞时间。
因此,在CPU对数据进行水平提升前,利用缺失流水技术,将当前数据块全部读取到L1D中,随后再对该数据块进行水平提升,则不会再发生缺失,并可提高运算速度。
2.4 L1P与L1D性能优化
L1D是两路成组相关,每组8KB,总容量16KB。CPU一次处理的数据不应超过8KB,并且所有的原始数据都连续存储在同一CACHE组中;程序的中间过程数据保留在预分配的另一个CACHE组中。
数据读取到L1D之后,首先由8位扩展成16位,然后对这些数据进行水平提升,只要这些数据能保留在L1D中,随后进行的垂直提升就可以完全避免缺失。因此,数据块的大小是由中间过程数据决定的,所有中间过程数据加起来不能超过8KB,选取数据块是32×32。
当多个函数映射到L1P的同一个CACHE行时就会引起冲突缺失,所以必须合理放置这些函数。由于实现提升的全部函数加起来不超过16KB,因此,如果能将这些函数安排在一个连续的存储空间内,就可以完全避免由冲突引起的L1P缺失。可以在cmd[8]文件的SECTIONS中添加一个GROUP,然后将频繁调用的函数放到GROUP中:
SECTIONS
{
GROUP > ISRAM
{
.text:_horz
.text:_vert
.text:_IMG_pix_pand

}…}
2.5 程序优化
由前面的分析可知,对图像进行提升小波变换时,需要对其四个边界进行延拓。延拓方式采用图1所示的对称延拓,其中左边与上边需要多延拓一个点。而对图像中的一个块进行提升变换时,其延拓的应该是与该块相邻的四个块数据的边界数据,如图4所示。


边界延拓主要是用于计算高频系数。分析发现,水平提升时,当前数据块每一行的最后一个高频系数与下一个块在该行的第一个高频系数相同。所以只要把当前块的这些系数保存起来,在对下一块进行水平提升时第一个高频系数就不需要再进行计算,因此也就不需要再对其左边界进行延拓了。垂直方向的提升也是同样的道理。在程序中添加两个数组,分别用于存放当前块的每一行与每一列的最后一个高频系数。采用这种方法就可以降低程序的复杂度,提高执行效率,减少缺失的发生。
像素扩展函数pix_pand[9]是采用TI的IMGLIB算法库。水平提升与垂直提升函数均由作者用线性汇编语言编写,充分利用64x系列DSP的半字处理指令,采用半字打包技术,最大限度地提高程序的执行效率。
水平提升时,将每行的数据重新排序,变成如图5所示的结构。


使用C64x的ADD2、SHR2和SUB2等半字处理指令,将如下的两个运算并行执行:
 H(1)=B-[(A+C)>>1]

 H(2)=D-[(C+E)>>1]
垂直提升时则可以安排多列的计算并行执行,如图6所示。
 H1(1)=B1-[(A1+C1)>>1]

 H2(1)=B2-[(A2+C2)>>1]

 

 


3 仿真结果
表1列出了CPU读取L1D时产生的缺失数。其中,水平方向的缺失不可避免。由于要对数据块的右侧和底部进行边界延拓,所以在水平方向的缺失数比传统方法略高;而在垂直方向上,该算法完全避免了缺失的发生。


表2列出了几种方法的计算性能。由于本文采用了多种优化技术,运算速度提高了4~10倍。
本文介绍了5/3提升小波变换及其在DM642上的实现。为了提高其性能提出了多项优化技术,试验证明这些方法十分有效。
参考文献
[1] RABBANI M,JOSHI R.An overview of the JPEG2000 still image compression standard.Signal Processing:Image Com-munication,2002;(17)1:3-48.
[2] CHO J K,HWANG M C,KIM J S et al.Fast DSP implementation of JPEG2000.Proc of IEEE TENCON,2004(A):   231-234,Thailand,Nov.21-24,2004.
[3] CHO J K,HWANG M C,KIM J S et al.Fast Implementation of Wavelet Lifting for JPEG2000 on a Fixed-Point.    Proc.of 2004 International Technical Conference on Circuits Systems,Computers and Communications,Sendai/Matsusima,2004,7.
[4] Texas Instruments Incorporated. SPRU656A-TMS320C6000 DSP Cache User′s Guide,2003.
[5] Texas Instruments Incorporated.SPRU610B- TMS320C64x DSP Two-Level Internal Memory Reference Guide,2004.
[6] Texas Instruments Incorporated.SPRU234B-TMS320C6000 DSP Enhanced Direct Memory Access(EDMA) Controller     Reference Guide,2005.
[7] Texas Instruments Incorporated.SPRU401J-TMS320C6000 Chip Support Library API Reference Guide,2004.
[8] Texas Instruments Incorporated.SPRU186O-TMS320C6000 Assembly Language Tools v 6.0.0 Alpha User′s Guide,2005.
[9] Texas Instruments Incorporated.SPRU023B-TMS320C64x Image/Video Processing Library Programmer′s Reference,2003.

关键字:图像处理 引用地址:5/3提升小波在DM642上的实现与优化

上一篇:基于TMS320F2812的快速以太网通信系统平台
下一篇:NEC将蓝光播放器主要功能单芯化

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

车载通讯影音系统的图像处理
移动视频应用 近来,移动视频已经发展成为可行甚至是必要的车载娱乐系统的一个配件。几款新型的休闲车和小型商务车的卖点就是把移动视频作为选配件,越来越多的人已经考虑在他们的车上加装视频娱乐系统。     图1 使用LCD显示器的汽车影音系统 移动视频的兴起有多方面原因: 娱乐应用—汽车是一个可以玩视频游戏、看电影、卡通、地区电视甚至卫星电视的娱乐环境。因为移动视频技术的进步,所有这些现在都可以在轿车、卡车、商务车、及休闲车上得以实现。 安全—当导航系统连接上视频后,它可以发出图像和声音指令,能增加行程效率和准确度。 从发展趋势来看,车载娱乐已从传统的纯音频方式,例如MP3演变到集成了用户手册和导航功
[嵌入式]
便携式设计中图像采集与处理系统的挑战与解决方案
这个共分四部分的系列文章深入研究了在手机和其他手持设备平台上的图像采集与处理的趋势以及设计上的挑战。本部分主要讨论的是使用软件增强光学性能。 晶圆规模的制造技术的发明使得以非常低廉的成本生产及其紧凑的相机模块成为可能。处于物理上的原因,很小的相机模块其性能要劣于大一些的相机模块,但小相机模块产生的缺陷可以通过新式的采用晶圆规模制造的镜头结构来纠正。然而,这只能用来保持现状,无法提升图像质量也无法增强用户的体验。 当前,高分辨率拍照手机的设计师们已经可以仅突出像素数量来向消费者推销其产品。随着拍照手机的广泛应用(已经超过80%的手机安置了至少一个摄像头),消费者们已经意识到图像的质量和其像素数不存在必然的联系。事实上,从火星车上传
[嵌入式]
基于数字图像处理技术的型坯直径的实时在线检测
  1 引言   挤出吹塑成型是一种生产塑料容器的加工过程,型坯的成型是挤出吹塑中一个相当重要的阶段。型坯成型对吹塑制品的性能与成本均有很大影响,若能在这个阶段在线检测出型坯吹胀前的尺寸,则可用最少的原料消耗获得所要求的制品性能。为了实现型坯壁厚的闭环控制,就必须对型坯的直径分布和壁厚分布进行在线测量,这是目前尚未很好解决的问题。 本文针对型坯直径分布的在线检测问题,通过摄像机直接拍摄型坯轮廓图像,运用数字图像处理技术对采集到的图像进行处理和分析,实时提取目标的几何特征,即型坯的直径分布,实现型坯直径的实时在线检测。这将为实现挤出吹塑成型加工过程质量的实时闭环控制提供条件。   2 测量机构的设计与安装   挤出吹塑成型中
[测试测量]
基于数字<font color='red'>图像处理</font>技术的型坯直径的实时在线检测
自动割草机竞赛鼓励学生进行“工程实践”
  西储大学的学生设计了一种自动割草机,通过限定割草路径来割草,并避开障碍。该小组集合了传感器,控制算法,系统控制和图像处理进行工程实践。2010年6月,该小组获得了第七届导航学会(ION)自动割草机竞赛第一名。以下介绍了他们是如何做到的。   学生被要求在一个学期内,快速组合机器人设计所需的工程组件。机器人的控制系统要求兼容部件的连接,包括传感器和制动器的结合,控制算法,以及先进的图像处理。NI?LabVIEW软件为学生提供了一个完整的工程实践开发环境。    硬件API   使用NI 9401 C系列数字I/O模块,小组利用编码器来测量速度和位置。通过与硬件的紧密结合,他们可以快速的从多个传感器中获得数据。   
[测试测量]
STM32 图像处理函式库介绍
STM32 图像处理函式库介绍 STM32 图像处理函式库STM32IPL是由 C 语言所编写的开放原始码软件函式库,提供了图像处理和计算机视觉功能,能加快在意法半导体(ST)的STM32 微控制器上开发视觉分析的应用。本产品在最新版 (v3.1.0)FP-AI-VISION1 功能套件中以STM32Cube 中间件的形式推出。 一般来说,视觉深度学习模型的输入不同于相机拍摄的图像,深度学习输入因为具有不同维度及图像格式,会需要预先处理原图,例如缩放、影像格式转换和标准化等。而STM32IPL可提供实用且现成的软件套件,以简化及加速影像预处理功能的开发。 主要特色 STM32IPL的主要特色如下: -
[单片机]
STM32 <font color='red'>图像处理</font>函式库介绍
ISP型PLD的图像处理系统硬件设计
    摘要: 分析图像采集的存储地址产生时序,利用Lattice公司的ISPLSI1032E芯片和ISPEXPERT集成开发环境设计和实现了图像的采集、存储和控制。图像处理部分采用Atmel的89C55。     关键词: 单片机 ISP VHDL语言 图像处理 图像采集 引言 随着图像处理技术应用的普及,其应用范围越来越广。在医学、军事、公安等领域,特别是近些年在工业自动化、工业检测方面得到广泛应用。目前的图像处理系统大多采用计算机加上视频采集卡和摄像头来构成其硬件系统,这种硬件结构对于处理自满不复杂的简易图像处理系统显然是不合适的。 目前,EPLD芯片内部的资源越来越多,速度越来越快,开发的软件功
[嵌入式]
视频图像处理技术应用探析_图像处理技术在视频监视中的应
随着科技的发展和时代的不断进步,视频和图像数据处理技术逐渐成熟起来,对人们的生活和工作起着重要的作用。视频和图像是现代生活中必备的元素,被广泛的运用在各个领域,在电影电视、视频监控、医学检查等方面具有至关重要的作用。但视频和图像处理技术属于先进的科技领域,其中涵盖了较为先进的技术和理论的应用,再加上高新设备的使用等,给图像和视频处理带来了一定的困难。所以要想提高处理技术的水平和质量就需要加大对该技术的研究和探讨。文章主要针对视频和图像处理技术的应用和发展问题进行研究和探讨,并根据存在的问题提出合理化的建议。 随着经济的发展和人们生活水平的提高,视频和图像处理技术在生活中应用的范围越来越广,所以人们对新形势下图像和视频处理技术的
[家用电子]
基于DSP与双目CMOS摄像头的数字图像处理系统
传统的数字图像处理通常采用图像采集卡,将模拟电视信号转换成数字信号,然后由PC机进行软处理。这样不仅不够灵活,处理能力也受到PC机和软件的限制。随着CMOS成像芯片工艺的改进和数字信号处理器功能的提升,使得数据量与计算量较大的图像硬处理成为可能。本文详细介绍了通过两路CMOS摄像头采集图像,以浮点DSP为核心处理器,采用60万门FPGA实现逻辑控制的数字图像采集处理系统的设计原理和实现方法。本系统所采用的芯片与器件,在保证性能的同时,兼顾低功耗,整个系统可以由1394线缆供电。    1 原理概述   整个系统的原理框图如图1所示。系统上电后,FPGA配置子板把配置文件加载到FPGA中。DSP由外部 FLASH引导,通过F
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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