基于FPGA器件XC3142芯片和TUSB3210实现视频采集系统的改进设计

时间:2025-07-26  作者:Diven  阅读:0

视频对象运动检测是从视频序列中提取出有意义的运动对象,是视频检索、多媒体内容描述以及基于内容的视频编码的基础。连续帧间差分法 、背景差分法和光流法是视频对象分割的常用方法。连续帧间差分法对于动态环境有很好的适应性,但不能完全提取出视频对象的所有相关点;背景差分法能够较完整地提取对象点,却又对光照和外部条件造成的动态场景变化过于敏感;光流法虽然能够直接用于摄像机运动下的视频对象检测,但是大多数光流方法的计算复杂,不适于实时处理。将时域和空域信息进行有效的融合就能够得到更有效的结果,但还存在着目标轮廓检测的不完整性和目标相关点保留较少的问题。本文在应用FPGA采样得到视频图像的基础上,提出了对Pan方法改进的背景重建方法,进一步的提高了视频对象分割的效果。

基于FPGA器件XC3142芯片和TUSB3210实现视频采集系统的改进设计

1 硬件系统

系统原理图

整个系统以FPGA和TUSB3210为核心,负责视频数据的接收处理,启动A/D转换,控制FIFO的读写及采样频率的设定,与主机之间的通信及数据传输。

A/D、FIFO和USB控制芯片

视频采集部分选用了Philips公司的视频A/D转换芯片SAA711A(EVIP),通过USB控制芯片提供的一对I2C引脚SDA和SCL进行控制;FIFO采用采用TI公司SN74V293芯片,容量为65536×18bit 或131072×9bit,最快读写周期为6ns,可以满足100MHz采样数据的存储

SN74V293有独立的读写时钟控制电路,允许读写操作同时进行。SN74V293内部有满、空、半满输出信号以及可编程设定的几乎满和几乎空输出信号,通过这些信号控制器可以灵活控制FIFO的读写操作。

USB控制芯片采用TI公司的TUSB3210,是TI公司推出的内嵌8052内核并带有USB接口的微控制器芯片。TUSB3210有256字节的内部RAM,8K字节的程序RAM,512字节的USB数据缓冲和端点描述块EDB(Endpoint Descriptor Blocks),4个通用的GPIO端口P0、P1、P2、P3,I2C接口电路,看门狗电路等。当主机与芯片进行USB通信时,会产生外部中断0,通过中断矢量寄存器判断。通过定义Setup_packed_Int、Input_endpoint0_Int、Output_endpoint0_Int这三个中断,用于与主机建立连接、进行控制传输或中断传输;Input_endpoint1_Int、Output_endpoint1_Int这两个中断主要在批量传输时使用。而在固件中分别执行不同的中断程序来实现USB的数据传输。

FPGA控制的实现

FPGA采用XINLINX公司的XC3142,PC终端通过USB口向视频采集卡传送start信号,通知视频采集卡开始工作。视频信号通过CCD摄像头进入A/D转换芯片SAA711A,SAA711A产生的数字视频信号、控制信号和状态信号送入控制处理芯片XC3142,以供XC3142获得各种采样信息,并对得到的数据与背景数据做差,然后将数字视频信号写入到FIFO里面,当FIFO里面的数据达到半满(此处半满状态对应视频一帧的数据),FIFO半满标志为0(低电平),XC3142检测到FIFO半满标志为0时,向USB控制芯片发送中断(Interrupt)信号,PC终端获得中断请求后开始从FIFO里面读取数据。

2 USB接口的驱动程序与应用软件开发

USB应用系统软件开发分为两部分:主机操作系统上的客户驱动程序以及主机应用软件。主机应用软件通过客户驱动程序与系统USBI(USB DevICe Interface)进行通信,由系统产生USB数据的传送动作;固件则响应各种来自系统的USB标准请求,完成各种数据的交换工作和事件处理。

首先开发TUSB3210在主机中的驱动程序。利用WinDDK3.0开发了Win2000下的驱动程序,实现了控制传输、中断传输和批传输的标准接口函数。在应用程序开发中,用VC++编制实现应用程序。在编成实现中把USB设备当成文件来操作,利用CreateFile得到USB句柄,用DevICeIoControl来进行控制传输,用ReadFile、WriteFile进行批量传输。

应用软件的结构如图2所示:

应用软件程序的基本流程如下:

1)打开通信通道,即确定一个应用对象,并对每个应用对象创建一个系统对象。2)初始化硬件资源,即为每个系统对象分配数据缓存、数据采集器和数据显示对象。3)启动采集过程,即将图像读入数据缓存,并将缓存赋值给数组,通过对数组的处理实现对图像的处理,图像数据与数据显示相关联后就可以通过显示控件或窗体显示预处理后的结果。

3 视频对象分割算法在FPGA中的实现

视频监视系统的主要目的是跟踪人们感兴趣的视频对象,一般情况下摄像机固定在室内或者建筑物的高处,为此可认为背景在一定时间内静止不动。Pan 提出了基于背景信息的运动对象检测方法[4],使用高阶统计量来重建背景,该方法能够较好的检测到运动对象,但是背景重建速度较慢,使得难以应用于实际视频监视系统,为此本文提出了新的背景重建方法,并应用VHDL语言在FPGA中实现了该算法,提高了背景重建速度。

背景图像重建

在背景重建中,引入背景置信度图像为C(x1,x2),掩膜图像为MC(x1,x2),重建背景图像为B(x1,x2),背景标示图像为BL(x1,x2)。如果C(x1,x2)大于预定的一个门限,则在视频帧中像素(x1,x2)为背景的概率更大,如果小于该门限则像素(x1,x2)为运动对象的概率相对较大。BL(x1,x2)是一个二值图像,用于标示对应像素的背景是否能重建,即:BL(x1,x2)=1,表示(x1,x2) 像素背景成功重建,否则失败。

考虑连续N帧图像s(x1,x2,k),s(x1,x2,k-1),…,s(x1,x2,k-N),对应的N-1个相邻帧差图像分别为d(x1,x2,k,k-1),d(x1,x2,k-1,k-2),…,d(x1,x2,k+1-N,k-N),则C(x1,x2),MC(x1,x2),B(x1,x2)和BL(x1,x2)的生成过程如下:

1) 初始化: 对每一个(x1,x2),C(x1,x2)=0 ,MC(x1,x2)=0,B(x1,x2)=0,BL(x1,x2)=0,n=0;

2) 考虑(x1,x2),如果MC(x1,x2)=1,至2)考虑下一个像素;否则至3);

3) 对于(x1,x2),如果d(x1,x2,k-n,k-n-1)Th1,则C(x1,x2)=0;

4) 如果C(x1,x2)》Th2,则MC(x1,x2)=1,到5);否则至6);

5) B(x1,x2)=[ s(x1,x2,k-n)+…+ s(x1,x2,k-n+Th2)]/Th2,BL(x1,x2)=1;

6) 如果n 其中Th1和 Th2分别为预先设置的门限,本实验中Th1=20,Th2=10。

视频对象分割

在视频分割中本系统采用类间方差阈值分割[5]法,这种方法是由最小二乘法推导得到的,此方法具有简单易于实现的优点。

在后处理过程中,为了去除孤立点和填充空洞,在对视频图像帧差图像阈值分割完成后,进行数学形态学的开、闭和区域标示运算。视频对象分割试验结果如图3所示。

图3中a是一段视频图像列中的两帧图像;c是使用Pan方法的视频对象实时分割结果;b是使用本文的方法的对象分割结果。比较图3中 b、c可看出,本方法较Pan方法有更好的目标轮廓完整性和目标轮廓内目标相关点的连通性。本算法在普通PC机(Pentium3 800M CPU ,256M DDRAM)上运行,视频图像为标准的CIF(288*384),256级灰度黑白图像,利用本文算法其采集检测速率为24帧/s,利用Pan方法的速率为10帧/s。

4

利用FPGA和USB控制芯片实现了实时视频监视采集系统,结合背景重建的方法可以实现视频图像的实时连续采集(每秒采集24帧视频图像)和视频对象分割的要求;改进后的背景重建和视频对象分割算法,较Pan方法有更好的检测效果和更快的分割速度。

猜您喜欢

现代电子设备的设计与制造中,连接器的选择对设备的性能和可靠性非常重要。TERMINAL_29.13X9.15MM_TM是一种常见的连接器,广泛应用于各种电子产品...
2025-03-06 07:34:49

贴片电阻R040,别看它身材小巧,却是电子电路中不可或缺的关键元件。它属于0402封装尺寸,即长0.4毫米,宽0.2毫米,如同细小的沙粒。但它的作用却不容小觑,...
2025-04-14 15:03:55

互感器是应用于电力系统中的测量和保护设备,其主要功能是将高电压或大电流转换为可测量的小电压或小电流。根据不同的工作原理和应用场景,互感器主要分为电压互感器和电流...
2012-10-24 00:00:00

开口扳手是常见的手动工具,主要用于拧紧或松开螺母和螺栓。结构简单,由一个长柄和两个开口组成,开口的形状与螺母或螺栓的边缘相匹配,能够有效地抓住并施加力量。开口扳...
2011-12-28 00:00:00

电荷泵,这个名字听起来可能有些陌生,但在我们的生活中其实无处不在。从闪光灯到触摸屏,从电源管理到射频电路,电荷泵都是重要的配件。就像一个微型能量搬运工,能够提升...
2024-04-05 00:00:00


如今电子设备日益多样化的时代,为不同设备提供稳定可靠的电源很重要。反激开关电源以其高效、低成本和多路输出的特性,成为了一种应用的电源解决方案。能够将单一的输入电...
2024-05-01 00:00:00

贴片电阻上的「5R11」代表其阻值为5.11欧姆。 「R」表示小数点,前面的数字「5」表示整数部分,后面的数字「11」表示小数部分。这种标记方式是贴片电阻常用的...
2024-11-26 11:29:58

ROHM(罗姆)作为知名的半导体及电子元件制造商,其排阻产品因高质量和稳定性广受欢迎。本文将详细介绍ROHM排阻的定义、封装参数及品牌特点,帮助电子工程师及采购...
2014-06-29 15:25:10

现代电子设备中,贴片电阻体积小、性能稳定而被应用。电子产品向小型化和高性能化发展,了解贴片电阻的封装与功率对照表显得尤为重要。本文将对贴片电阻的封装类型、功率等...
2025-03-17 07:00:34