基于TMS320C642电子稳像算法的实现
摘要:介绍了一种解决视频图像抖动问题的电子稳像方法,系统利用灰度投影算法和德州仪器公司的定点数字信号处理器芯片TMS320DM642实现电子稳像。文中提出了电子稳像性能的基本要求,介绍了稳像的基本原理,根据要求选择了稳像算法,从而设计了系统的硬件框图,并完成了算法的仿真。实验结果表明,该算法稳效果好,且达到准确性要求。
关键词:电子稳像;灰度投影算法;数字信号处理器
电子稳像集合了计算机、数字图像处理和数字信号处理等技术为一体的新一代实现图像序列稳定的综合性技术。实时性和准确性是衡量电子稳像系统的两个重要指标。因此,电子稳像算法要体现其优越性,就要满足实时性和准确性。
1 基于灰度投影的电子稳像算法
1.1 电子稳像基本原理
电子稳像(Electronic Image Stabilization,EIS)是集电子技术、计算机、数字信号处理、视频图像处理等为一体的实现数字图像序列稳定的技术。电子稳像技术中最基本的是像移补偿技术是直接从像面上通过检测参考图像和被比较图像的运动矢量,然后利用算法进行补偿的技术。稳像的基本原理:(1)根据图像序列或视频的各种信息进行局部运动估计。(2)进行全局运动估计。(3)经过运动估计后取得运动参数,然后进行综合评价。(4)根据综合评价的结果进行运动补偿,并最终取得稳定的输出序列。由此可知,获得图像的全局运动矢量是电子稳像的前提条件。基本流程如图1所示。对于全局运动矢量可以通过灰度投影算法获得。
1.2 灰度投影算法
灰度投影算法(Projection Algorithm,PA)是利用图像灰度分布变化的特点得到图像帧间运动矢量。对于灰度细节丰富、直方图无明显特征、对比度差的图像难以识别特征量,寻找特征量不仅无法保证所需的稳像精度,更难以满足稳像的实时性要求。针对此种图像序列,用灰度投影法来实现图像运动矢量的准确获取,从而达到稳定图像序列的目的。视频图像序列是图像的灰度发生变化的图像序列,各种运动矢量估计算法均是以灰度变化为依据。投影算法能充分利用图像的灰度变化这一特点,较准确地估计出图像的运动矢量。此算法的优点是:灰度曲线匹配速度快,从而提高了稳像速度,适用于图像照度变化导致的灰度变化的情况。灰度投影算法是实现只含平移运动或旋转运动较小的图像序列电子稳像的较理想算法。
(1)灰度映射。
灰度映射就是把每一帧输入的初始的二维图像信息映射成为两个独立的一维波形,如下为列投影的映射方法
式(1)~式(3)中,Colk(j)为第k帧图像第j列的灰度值;Curk(i,j)是第k帧图像上(i,j)位置上的像素值;NC是列数,ColProjk(j)是第k帧图像第j列修正后的投影值。行方向灰度投影映射的算法可以同理推出。
(2)投影滤波。
投影滤波是为了降低边界信息的幅值,保留中间区域的幅值,使用滤波器经行滤波。由于边缘信息在互相关计算时会对互相关的峰值产生不利影响,因此要将边界处的投影值去除。由于图像移动量大时,边缘信息在每一幅图像上是惟一的,所以通过对投影值进行滤波可提高算法精度。
(3)互相关运算。
互相关运算就是将当前帧图像的行、列投影曲线与参考帧图像的行、列投影曲线做互相关计算。运算后得到的相关值曲线中的惟一峰值即为补偿运动矢量所求的位移值。得到了水平方向和垂直方向的位移矢量后,就将当前图像向位移矢量的反方向平移相应大小的像素距离,从而实现图像序列的稳定。行、列相关运算的计算如式(4)所示
式(4)中Colk(j)为第k帧图像第j列的灰度投影值;NC为列的长度;m为位移矢量相对于参考帧在一侧的搜索宽度。设wmin为C(w)最小时w的值,则第k帧图像相对于参考帧图像在垂直方向的位移矢量如式(5)所示。
得到了水平方向和垂直方向的位移矢量后,就可以把当前图像向位移矢量的反方向运动,响应大小的像素距离,从而实现图像序列的稳定。
2 基于TMS320DM642系统的设计
2.1 TMS320DM642介绍
TMS320DM642是TI公司推出的一款DSP芯片,这款芯片是专门面向多媒体应用而设计开发的32位定点DSP芯片,是目前业界公认的性能良好的视频处理器。良好的处理性能和丰富的片上外设,可以满足实时视频处理的要求。DM642采用两级缓存结构,第一级,包括相互独立的L1P(16 kB)和L1D(16 kB),只能作为高速缓存使用。第二级,L2(256 kB)是一个统一的程序、数据空间,可以整体作为SRAM映射到存储空间,也可以整体作为第二级Cache,或是二者按比例的一种组合来使用。DM642具有64个独立通道的增强型直接存储器访问控制器,负责片内L2与外设之间数据高速传输。具有丰富的外围设备接口:3个可配置的双通道视频端口Video Port;64 bit的外部内存接口EMIF;10/100 Mbit以太网MAC;66 MHz32 bit的PCI接口。
2.2 系统设计
本系统的硬件框图如图2所示,仿真图像通过CCD摄像设备取得,对于取得的图像信息,通过数字视频解码器处理,把模拟图像转换成数字图像,再将数字信息存入到DM642芯片中,经过DM642芯片的处理,得到相邻帧之间的运动矢量,进而实时准确地对运动矢量经行补偿,得到输出视频序列,最后将处理后的视频图像显示到显示器上。
实现 算法 电子 TMS320C642 基于 相关文章:
- 3DES算法的FPGA高速实现(06-21)
- 基于DSP的Max-Log-MAP算法实现与优化(05-27)
- DSP中DMA操作的无阻塞请求实现(06-18)
- 二维DCT编码的DSP实现与优化(09-08)
- 基于DSP处理器上并行实现ATR算法(01-29)
- 基于DSP的H.324终端设计(05-27)