基于FPGA的电子稳像平台的研究
实际上为实现去隔行已经提出了很多简单的滤波器。一种选择是用同一场中的垂直内插值,这是个一维二倍上转换的问题。理想的垂直滤波器是一个半带低通滤波器。然而,这个滤波器要求无限长度冲击响应是不可实现的。实际应用中使用的是短得多的滤波器。最简单的是行平均,它用丢失行的上一行和下一行的平均来估计
该丢失行。在图2中,对于第t场,D=(C+E)/2。由于没有使用时域滤波,所以它沿时间频率轴具有全通特性。为了改进性能,另一种选择是使用更长的垂直内插滤波器,其频率响应更接近理想的半带低通滤波器。对于第t场的行,满意的内插方法是D=(A+7C+7E+G)/16。以上两种方法都是只用了垂直内插。一种替代方法是使用时间内插。值得注意的是,对于一场中每个丢失行,在同一帧的另一场中有一个对应行。一个简单的时间内插方案是复制此对应行,即D=K,J=C。这种方法称为场合并。因为每一个去隔行帧都由合并两场获得,但是这两场的时间内插是相反的(对于某些特殊图案可能会产生视觉人为失真)。由于只在时间方向上进行了滤波,因此在垂直方向上是全通的。
为了改进性能,可以使用一种对称的滤波器,例如,对前一场和后一场中的对应行去平均以获得当前场中丢失的行,即D=(K+R)/2。这种方法称为场平均。然而这种办法内插任何一场需要涉及三个场,需要两帧存储器。与场合并的方法相比,在存储器容量和延时上有不可忽视的增加。为了在时间和空间人为失真方面达到折衷,较好的方法是既用垂直内插也用时间内插。例如,通过对同一场中上一个和下一个像素以及前一场和后一场取平均进行内插的办法得到一个丢失的像素。综上所述,当成像的景物在相邻两场之间静止时,在奇数场中丢失的偶行数应该与前一个和后一个偶场中对应的偶数行完全一样。因此时间内插将产生精确的估计。另一方面,当景物中存在运动时,相邻场中对应行可能不在同一个物体位置上,时间内插将产生不可接受的人为失真。而同时使用空间和时间平均的方法将产生不太严重的人为失真,但在存储器容量和反应时间方面作出牺牲。
通过上述方案的对比及系统的具体要求,设计中采用了场合并的办法,具体实现由帧存控制器完成。
1.3 帧存控制器
帧存储器是图像处理器与显示设备之间的通道,所有要显示的图形数据先存放到帧存储器中,然后再送到显示设备进行显示,因此帧存储器的设计是图形显示系统设计的一个关键。传统上,可以实现帧存储器的存储器件有多种,如DRAM、SDRAM及SRAM等。DRAM、SDRAM属于动态存储器,容量大、价格全家但速度较慢,且在使用中需要定时刷新。对于基于FPGA的视频处理器,需要设计专用的刷新电路,增加了系统设计的复杂程度。SRAM速度高、接口简单、容量较小。随着集成电路技术的不断发展,容量不断增大,价格也不断下降。在需要高速实时显示的视频处理系统中的使用越来越普遍。
帧存控制器的设计对于实现两种不同视频系统之间的图像信号的存储、采集和显示显得非常重要。为了保证数据处理与采集的连续,设计中使用了两组帧存储器(FRAM1、FRAM2),由于数字化的图像每帧大小为640×480=307200(16bit)共300K×16bit的数据量,笔者使用每组512K×16bit的静态存储器,存储时间为12ns,可以保证快速地读出和写入图像数据。图3为帧存控制器的逻辑框图。
由于输入信号为隔行扫描的图像数据,显示输出需要逐行扫描数据,因此数据存入帧存储器时需要进行处理。设计中采用场合并行法,将两场的数据写入一个帧存中,构成一幅完整的逐行扫描图像,系统利用VREF信号对此进行控制,产生的帧切换控制信号控制数据在两个帧存中的切换。当VREF信号有效时,表明新的一场开始了,此时无效行计数器开始工作,控制不需要采集的图像行,计数到阈值后,有效行计数器开始工作,控制所要采集的图像行,并发出高位地十信号A[18..11];同样,当HREF有效后,无效像素计数器开始计数每行中的无效像素,然后有效像素计数器开始计数需要采集的行听有效像素;每次计满640个像素后,等待下一次有效行信号的到来,同时将有效行计数器加1。由于系统选用的帧存容量较大,因此利用ODD的反相信号作为帧存地址的A10,为每行图像提供了1024个存储空间(实际使用640个),可以简化数据写入与读出的控制电路。隔行的视频信号就会被逐行地存储到帧存体中。总线隔离与控制电路用来完成数
《基于FPGA的电子稳像平台的研究(第2页)》