摘 要:某型装备电视测角仪给检测仪提供电视信号的同时还需要对电视信号进行控制,以进行大小视场的变换,选用双三次插值法来实现视场变换的效果,并根据实际需要设计了查表模块来代替复杂的权值计算,以便节约FPGA系统资源。完成了系统硬件设计,最后设计了FPGA图像插值的各个模块,完成设计。
关键词:电视测角仪; 视场变换; 双三次插值; FPGA
某型装备电视测角仪给其检测仪提供电视信号的同时还需要对电视信号进行变焦控制,来进行大小视场的变换,以便射手观察被捕获的弹标信号[1],这就需要设计一种可靠性好,便于携带的设备可以接收电视测角仪所采集的电视信号,同时对电视信号进行处理,实现视场变换功能。FPGA内部含有丰富的可编程硬件资源,能够同时兼顾速度和灵活性,提高电路集成度,应用在诸如实时图像处理、联合战术无线电通信系统、网络摄像等领域[2]综合FPGA的优势,本系统选用FPGA作为视频图像处理的核心器件完成设计。
1 双三次插值算法原理
图像插值是图像处理的一个基本问题,应用广泛。根据原始像素点的值对像素之间的值给出估计,并力求估计出的数值接近真实值,将此点的值与原始像素点的值组合成为新的图像,即为图像插值。双三次插值算法利用待插值点周围4×4邻域内的16个点作为权系数进行三次插值。典型的双三次插值核函数只与一个自由变量有关,又当自由变量a取-0.5时邻域4×4的双三次插值在图像处理中应用最为广泛[3-4],因此本设计采用双三次插值算法的同时令自由变量取-0.5,则双三次插值核函数如式(1)所示:
2 系统总体设计
系统总体设计如图1所示,FPGA不能直接对模拟信号进行处理,而标准电视信号属于模拟信号,所以首先要对测角仪提供的PAL制电视信号进行A/D转换,而后FPGA内部模块对转换后的信号进行分离,将原信号分离成消隐信号、同步信号与图像数据,再接收到视场变换命令后对图像数据进行插值运算,并将运算后的图像数据连同消隐信号、同步信号一并送入D/A转换芯片,D/A芯片将转换后的模拟信号和消隐信号、同步信号进行时序上的复合,由此产生经过插值处理的标准PAL制电视信号,发送到显示器进行显示。如果没收到视场变换命令,则直接输出从测角仪所接收到的原始电视信号。图2为系统工作流程图。
2.1系统硬件设计
(1)FPGA最小系统:包括Altera公司Cyclone II系列EP2C35芯片、电源电路、晶振电路、SDRAM芯片和配置电路,晶振用来给系统提供所需的时钟频率,在利用FPGA采集图像时,需要存储大量的数据,因此选用而同步动态存储器(SDRAM)来存储数据。
(2)A/D转换电路:对视频信号进行模数转换是通过芯片ADV7181实现的。ADV7181是一款集成的视频解码器,支持多种格式的模拟视频信号输入,可以自动检测PAL、SECAM及其兼容的各种标准模拟电视信号。
(3)D/A转换电路:D/A转换电路主要由ADV7123芯片构成。ADV7123是ADI公司的一款高速的数模转换芯片,内部集成有3路10位精度的D/A转换器,分别用于RGB数字信号D/A转换[5]。ADV7123芯片提供有3路数字输入接口以及消隐和同步控制信号。完全能够满足本设计需要。ADV7123与FPGA的连接电路原理图如图3所示。
(4)串口通信电路:串口通信有多种工业标准,这里采用的是RS232接口电平规范,Altera公司的FPGA系列器件的I/O标准定义逻辑1对应为2 V~3.3 V电压,标准逻辑0对应0 V~0.4 V电压;而RS232标准采用负逻辑方式,标准逻辑1对应-5 V~-15 V,标准逻辑0对应+5 V~+15 V。显然两者间要进行通信必须经过信号电平的转换,故使用美信公司的MAX232芯片作为电平转换电路。
2.2 FPGA关键模块设计
基于双三次插值算法的视频信号模块设计:由小视场到大视场的变换过程,可以看作是视频图像放大的过程,不同的是这里仅仅需要将弹标信号所处的位置图像进行放大,以便射手观察。
(1)视频信号解码模块:视频信号解码模块功能是从已经过模数转换后的视频数据流中提取出有效视频信号的亮度信号,同时分离出同步信号与消隐信号。
(2)缓存控制模块:缓存控制模块主要功能是将采集的视频图像数据存入SDRAM,在收到指令后送出图像数据以便后续图像处理模块对图像进行插值处理。
(3)视场变换区域设定模块:由于系统接收的视频信号格式为PAL制,每帧视频图像的有效像素为720×576,系统可以根据观察的需要,对测角仪几种不同工作状态下的电视图像进行插值放大。
(4)像素矩阵构建模块:根据双三次插值算法的原理可知,计算的对象是一个4×4的像素矩阵,而FPGA无法直接将4×4的矩阵按照位置赋予权值并在两个方向上进行卷积运算,因此使用此模块作为数据缓存来实现像素矩阵的构造,实现4行数据的并行输出,即一列4个像素点的并行输出,便于后续的4×4矩阵运算[6]。
(5)插值点像素计算模块:完成插值点像素计算任务, 此模块包含查表模块(table_look)、乘加器(altmult_add)、乘法器(lpm_mult)、并行加法器(paraller_add)在内的几个子模块来共同完成一系列计算。在接收好像素矩阵后,对缓存的像素矩阵进行水平和垂直两个方向上的卷积运算,得到插值点的像素值,此处两次卷积运算首先在水平方向上,4个像素点的值与各自权值进行卷积运算得出一个临时参考点的值,再在垂直方向上将4个临时参考点的值与各自权值进行第二次卷积运算,得到的值即为插值点像素值。在此使用4个乘加器完成像素矩阵4个水平方向上的卷积运算,然后计算出来的4个数值进入相应乘法器与各自的权值相乘,最后通过并行加法器完成垂直方向上的卷积运算,同时输出待插值点的值。插值点像素计算模块顶层原理如图4所示。
(6)像素插值模块:像素差值模块主要功能是将计算好的插值点像素插入原图像素点中,每完成一次插值,使一帧图像总像素数变成上一帧的两倍,同时输出本帧图像,经过多次插值并输出连续图像后,便达到视场变换效果。
(7)视频信号编码模块:视频信号编码模块功能是将经过插值处理后所得到的新图像的亮度信号转换为标准的数字视频流,连同解码时所分离的消隐信号、同步信号一起送入数模转换电路,转换成标准的模拟电视信号。
图5~图6为FPGA部分模块功能仿真图。
通过将FPGA作为核心构建硬件电路,同时设计双三次插值各个模块,完成测角仪视频信号视场变换系统设计,图7为视场变换测试图(略去装备),在该系统构建时,各功能模块具有良好的移植性和系统扩展性。由于利用几组固定的模板系数,通过查表来代替复杂的权值计算,有效减少了插值计算所占用的系统资源,使得在 FPGA上完成后续更复杂的处理工作成为可能。
参考文献
[1] 王竹林. 某型反坦克导弹武器系统部队勤务教材[M].北京:兵器工业出版社, 1999.
[2] 冈萨雷斯. 数字图像处理[M]. 北京:电子工业出版社,2005.
[3] 许小勇,钟太勇. 三次样条插值函数的构造与Matlab实现[J]. 自动测量与控制,2010,25(11):76-78.
[4] 谢然,李玉惠.基于DSP Builder的双三次插值算法FPGA实现的研究[J]. 云南大学学报, 2009(31):85-89.
[5] 向厚振,张志杰,王鹏.基于FPGA视频和图像处理系统的FIFO缓存技术[J]. 电视技术,2012,36(9):41-43.
[6] 王永利.基于FPGA的实时图像处理平台的研究与设计[D].沈阳:东北大学,2011.