《电子技术应用》
您所在的位置:首页 > 其他 > 设计应用 > 基于TMS320C6713B的实时数字视频消旋系统设计
基于TMS320C6713B的实时数字视频消旋系统设计
中国电子科技
马红艳,张福欣,翟春艳,岳修正
摘要: 摘要:针对探测器姿态变化造成的视频图像旋转,提出一种基于TMS320C6713B的实时数字视频消旋系统。该系统利用TMS320C6713B计算图像旋转后各点的位置,再利用FPGA进行地址映射,得到图像旋转后各点对应的灰度值。实验
Abstract:
Key words :

摘要:针对探测器姿态变化造成的视频图像旋转,提出一种基于TMS320C6713B的实时数字视频消旋系统。该系统利用TMS320C6713B计算图像旋转后各点的位置,再利用FPGA进行地址映射,得到图像旋转后各点对应的灰度值。实验证明该系统能够实时消除视频图像的旋转,且消旋后的图像清晰稳定,满足实际应用要求。
关键词:TMS320C6713B;图像旋转;仿射变换;APAl50

    在机载电视红外摄像与瞄准过程中,由于电视红外摄像框架的横滚运动而引起光学系统和成像器件相对载机运动,从而造成图像的旋转;在许多光学瞄准器、红外吊舱系统以及测量定标系统中,为了消除由于探测器的姿态变化而引起的图像旋转,时常要对光学探测器所获取的目标图像进行实时反旋转变换,恢复图像的稳定状态,以便准确地对目标图像进行自动识别和跟踪。考虑到实时性,目前文献基本上都是以FPGA为核心设计的,这里提出一种基于TMS320C6713B的实时数字视频消旋系统,将仿射变换计算方法进行优化应用到系统中,有效地消除了视频图像的旋转运动,达到了稳定图像的目的。

1 系统算法设计
    对图像进行消旋,实际上是根据已知图像的旋转角度,将该图像按照同样的角度进行反旋转,从而达到消除图像旋转影响的目的。因此,图像消旋算法的本质是图像的旋转计算,即由原图像旋转一个角度得到目标图像。
    结合实际应用,假设载体的运动导致连续两帧图像间存在的全局运动表现为平移和绕光轴的旋转,也即连续两帧图像间可以用线性变换来表征。因此,采用仿射变换来建立图像运动模型。
    若(X1,Y1),(X2,Y2)分别是参考帧与当前帧图像中相互对应的配准点,则它们之间的运动表达式
    a.JPG
    式中,θ是配准点之间的旋转角△X,△Y分别为配准点在横向和纵向上的偏移。
    对式(1)进行优化,假设输出图像中水平相邻2个像素点(x,y)和(x+1,y),则经仿射变换后在输入图像中有对应的2点(u1,v1)和(u2,v2)。不难推导,有如下关系式成立:
    b.JPG
    同理假设输出图像中垂直相邻2个像素点(x,y)和(x,y+1),则经仿射变换之后在输入图像中有对应的2点(u1,v1)和(u3,v3),有如下关系式成立:
    c.JPG
    从式(2)和式(3)中可以看出,输出图像中经变换后的两点坐标差与输入源图像中相邻两点位置无关。也就是说。只要计算一次仿射变换就可以采用增量法来求出仿射变换后的所有点的精确位置。因此,图像的第一个点要用到完整的仿射变换公式
    d.JPG
    进行计算,后面的点只计算两个浮点加法就可以获得一个仿射变换点的精确位置。获得精确的位置后,利用最邻近像素法计算图像灰度,只需要对计算后的坐标位置四舍五入得到整数坐标值,利用该坐标来获取相应点的灰度值即可。

2 系统硬件设计
    实时数字视频消旋系统主要有4部分组成:视频A/D、DSP、FPGA和帧存储器。图l是系统硬件组成框图。其原理是外界图像经A/D采样为数字图像进入FPGA,FPGA将图像写入帧存储器中,DSP根据上位机通过RS-232串口送来的角速度值,计算新图像各点在当前帧图像中的位置,将计算后的位置送给FPGA,通过FIGA做地址映射,再将图像按映射后的地址输出送D/A显示或送跟踪处理模块进行目标跟踪识别等处理。

e.JPG


2.1 TMS320C6713B数据处理单元
    在本方案中DSP是数据处理的核心,主要是通过串口读取上位机送来的图像旋转的角速度信息,根据该信息进行仿射变换,求出旋转后的图像各点在原图像中的坐标,并将求出的坐标写入FPGA。在计算图像精确位置时需要进行大量的浮点运算,需要具有高速高精度浮点运算能力的DSP。方案采用了美国TI公司的高性能浮点数字信号处理器TMS320C6713B。它采用先进的超长指令字结构,为单精度(32位)和64位(双字)的IEEE浮点操作提供硬件支持,且32位整型乘法可以获得32位或64位结果。其内部有8个独立的功能单元,2个定点算术逻辑单元(ALU),2个浮点乘法器,4个浮点ALU,每个周期可以执行8个32位指令。内部设计有32个32位通用目的寄存器,4 K字节的L1高速程序缓存器和4K字节的L1高速数据缓存器,256 K字节的L2两级数据缓存器。这种结构设计可以最大限度发挥8个功能单元的并行运算能力,使得DSP在300 MHz系统时钟工作时,其运算能力最高为2 400 MIPS,浮点运算能力最高为1 800 MFLOPS,极大地满足了高速数据处理的要求。
    另外,DSP6713B片内还提供多种集成外设:多种复位加载模式(BOOT)、多通道DMA控制器、多通道缓存串口(McBSP)以及能够与SDRAM、SBSRAM或异步存储器直接接口的高性能外部存储器接口(EMIF),这些都为数据处理带来了极大方便。
2.2 FPGA模块单元
    方案采用了Actel公司推出的第二代基于Flash(闪存)的可编程器件ProASIC Plus系列中的APAl50。该系列器件兼具ASIC(专用集成电路)的性能和FPGA的灵活性于一身,具有150 000个系统门,逻辑单元为6 144个,内嵌36KB的双端口SRAM和2个锁相环(PLL)内核,支持3.3 V、
32 bit、50 MHz的PCI总线,系统外部性能可达150 MHz,具有高密度、低功耗、非易失及可重复编程等特点。因为ProASIC Plus系列FPGA基于Hash技术,利用Hash开关保存内部逻辑,因此不需要另外的器件。由于不需要上电配置过程,因此具备上电就立即工作的特点。另外高度保密,使用者可编程设置多位密钥以阻止外界自行读取或更改器件的配置。
    方案中利用APAl50主要实现逻辑控制、A/D采样控制、D/A显示控制、向帧存储器写图像以及完成旋转后的图像与原始图像的地址映射等功能。

3 系统软件设计
    系统软件主要完成视频图像旋转坐标的计算,利用TMS320C6713B的浮点运算功能,基于CCS3.1平台编制汇编程序来实现,图2为基本流程图,主要有以下步骤:

f.JPG


    1)每场查询到场逆程时,通过串口读取上位机送来的角速度信息,并将该角速度转化为每20 ms角度的变化量。根据该角度利用完整的仿射变换求旋转后图像的首点坐标,并根据完整的仿射变换公式推导计算出水平方向和垂直方向的增量。
    2)当查询到场正程时,对于每行各点可根据前一点在原图像中的位置加上水平方向的增量,就可以得到当前点的精确位置。对于每行的第一个点,可根据上一行的首点在原图像中的位置加上垂直方向的增量,即可得到该点在原图像中的位置。
    3)最后将得到的图像位置四舍五入求出当前点在原图像中的坐标,最后将该坐标送入FPGA。

4 实验结果
    实验中取处理的图像为256x256x8 bit,固定摄像机不动,任意输入角速度为0°~360°/20 ms,角速度可以精确到0.1°/20 ms,系统会围绕图像中心以相应的角速度旋转图像。图3为原始未旋转的图像,图4是以2.4°/20 ms速度旋转到30°时的图像,由图3和图4可见旋转后的图像稳定清晰。

15z.jpg

5 结束语
    本文提出一种基于TMS320C6713B的视频消旋系统,该系统易于硬件实现,实时性高,消旋转后的图像清晰稳定,满足工程应用要求。另外该系统可扩展性强,只须对硬件进行少许改动,即可用于更高分辨率比如768x576的图像消旋系统。
 

此内容为AET网站原创,未经授权禁止转载。