基于FPGA的电子稳像平台的研究
通过上述方案的对比及系统的具体要求,设计中采用了场合并的办法,具体实现由帧存控制器完成。
1.3 帧存控制器
帧存储器是图像处理器与显示设备之间的通道,所有要显示的图形数据先存放到帧存储器中,然后再送到显示设备进行显示,因此帧存储器的设计是图形显示系统设计的一个关键。传统上,可以实现帧存储器的存储器件有多种,如DRAM、SDRAM及SRAM等。DRAM、SDRAM属于动态存储器,容量大、价格全家但速度较慢,且在使用中需要定时刷新。对于基于FPGA的视频处理器,需要设计专用的刷新电路,增加了系统设计的复杂程度。SRAM速度高、接口简单、容量较小。随着集成电路技术的不断发展,容量不断增大,价格也不断下降。在需要高速实时显示的视频处理系统中的使用越来越普遍。
javascript:window.open(this.src);" style="cursor:pointer;"/>
由于输入信号为隔行扫描的图像数据,显示输出需要逐行扫描数据,因此数据存入帧存储器时需要进行处理。设计中采用场合并行法,将两场的数据写入一个帧存中,构成一幅完整的逐行扫描图像,系统利用VREF信号对此进行控制,产生的帧切换控制信号控制数据在两个帧存中的切换。当VREF信号有效时,表明新的一场开始了,此时无效行计数器开始工作,控制不需要采集的图像行,计数到阈值后,有效行计数器开始工作,控制所要采集的图像行,并发出高位地十信号A[18..11];同样,当HREF有效后,无效像素计数器开始计数每行中的无效像素,然后有效像素计数器开始计数需要采集的行听有效像素;每次计满640个像素后,等待下一次有效行信号的到来,同时将有效行计数器加1。由于系统选用的帧存容量较大,因此利用ODD的反相信号作为帧存地址的A10,为每行图像提供了1024个存储空间(实际使用640个),可以简化数据写入与读出的控制电路。隔行的视频信号就会被逐行地存储到帧存体中。总线隔离与控制电路用来完成数据在帧存中的写入与读出的同步。由于采用SRAM作为帧存体,有效像素的写入与后续视频接口的读出不能在一个帧存体中同时进行,系统采用双帧存轮流操作的方法,系统采用双帧存轮流操作的方法:当数字化后的图像信息写入其中的一个帧存时,帧存控制器将另一个帧存中的像素顺序读出,送到显示设备,反之亦然。
1.4 视频图像的放大变换
应用栅格理论几何变换处理过程可以按下面方式进行描述:给定一个定义于点阵Λ1上已采样信号,需要产生一个定义于另一个点阵Λ2上的信号。如果,Λ1中的每一个点也在Λ2中,那么此问题是上转换(或内插)问题,可以先将那些在Λ2中而不在Λ1中的点添零(即零填充),然后用一个作用于Λ2上的内插滤波器估计这些点的值;若Λ1)Λ2,即为下转换(或抽取)问题,可以简单地从Λ1中取出那么也在Λ2中的点。然而,为避免下采样信号中出现混叠,需要对信号进行预滤波,以将其带宽限制到Λ2*的沃格纳晶体。上转换和下转换的过程示于图4(a)、(b)中。更一般的情况,如果Λ1和Λ2互相不包含,就需要找到另一个即包括Λ1又包括Λ2的点阵Λ3,可以先将Λ1上采样到Λ3,然后再下采样到Λ2。此过程示于图4(c)。图4(c)中Λ3中的中间滤波器完成两个任务:首先,内插出Λ1中漏下的采样点;其次把Λ3中的信号频谱限制于Λ2*的沃格纳晶格。
由于系统中进行放大变换采用FPGA实现,因此本文讨论的重点在于如何简化实现并提高转换速度,上转换中的上采样过程为:
javascript:window.open(this.src);" style="cursor:pointer;"/>
(1)式中Ψs,1和Ψs,3分别为原理图像和上采样信号;U(.)为上采样运算;Λ2\Λ1表示在Λ2而不在Λ1内的点的集合。插值滤波器的定义如下:
javascript:window.open(this.src);" style="cursor:pointer;"/>
(2)式中,d(Λ)为栅格Λ的采样密度;v*表示栅格Λ的转逆栅格的Voronoi单元,即栅格Λ原点的单位元,它向所有栅格点平移将会无重叠地覆盖整个连续空间。最简单的插值滤波为线性插值,也可以采用二加权滤波的方法。图像的缩放还可以采用3次样条插值和小波分解的方法,虽然这些方法在理论上可以取得很好的图像缩放效果,但计算复杂,即使采用快速算法,也难以实现视频图像的实时显示。
针对视频信号数据量大、数据流速度的特点,采用FPGA设计,可以完成帧存控制、视频信号的实时放大与叠加功能。基于运算速度与算法实现的难易程度分析,对视频信号的放大采用了简单的线性插值的办法,原理如图5所示。视频信号是以场或帧进行存储的,由于数据写入时存储地址与图像显示的空间位置有确定的对应关系,因此系统需要的放大处理就变为对帧存储体的地址线的控制问题。
对于本系统具体的4倍放大要求,将行同步信号先进行二倍行使能运算,并利用场同步信号对该寄存器进行复位,将生成后的二分频行同步信号控制行地址发生器,也就是产生帧存储器所需的高位地址;类似地利用像素时钟、行同步信号和场同步信号就可以得到所需的低位地址。由于在帧存控制器向帧存储器写入数据时采用了一行点1024个位置的办法,所以在低位地址后连接了一个比较器,当产生的低位地址小于640时,帧存储器的读信号有效,否则无效,以保证不会混叠入无效的数据。
1.5 VGA接口控制器
标准的VGA(640×480,60Hz)接口需要提供以下几组信号:3个RGB模拟信号、行同步信号HS和场同步信号VS。它的信号时序如图6所示。
图7