一种用CPLD实现视频信号运动检测的方法

时间:2023-03-19 04:50:00 理工毕业论文 我要投稿
  • 相关推荐

一种用CPLD实现视频信号运动检测的方法

摘要:介绍了一种采用CPLD外加SRAM存储芯片,对ITU601格式数字视频信号进行运动检测的方法。在此基础上,给出了一个实现这种检测方法的例子。在这个例子中,用Philips公司的视频处理芯片SAA7113的输出信号作为数字视频源,用Lattice公司的CPLD芯片LC4128V对视频信号进行运动检测。

在数字录像、数字监控等领域内,人们通常只对场景内存在的物体运动感兴趣。在这种情况下,需要对输入的视频信号进行预处理,识别场景中是否存在物体运动,也就是进行运动检测,然后再决定是否做进一步的处理,例如录像、报警等。对于录像系统,通过运动检测,能够避免不必要的数字录像,有效地减少系统所需存储空间;同时可以加快检索速度,提高资料有效性。对于监控系统,运动检测是一种监视场景信息的有效手段。

很多数字视频信号处理系统通常会选用DSP芯片作为主处理芯片。由于DSP对数字信号的处理是通过编程实现各种算法的,只通过软件就可以方便地加入某些功能,因此没有必要添加额外的硬件来完成运动检测。但是有很多系统,由于各种原因需要选用其它芯片来完成视频信号的处理,例如华邦的W9968x系列芯片,由硬件完成信号的处理,其算法已经被固化在芯片的内部电路中,不能随意更改。这一类芯片功能比较单一,但速度快、价格便宜,通常可以作为某些系统的专用芯片。对于这种情况,就需要考虑用另外的方法来实现运动检测。本文介绍的用CPLD进行运动检测的方法就是针对这一类情况的。该方法是通过附加一片CPLD芯片和一片SRAM芯片构成一个低成本的运动检测模块的。

1 运动检测原理

运动检测的实现方法有硬件实现的也有软件实现的,但基本思想大同小异,都是对相隔一定时间的两帧视频数据进行抽样,并对抽样数据进行比较,如果比较结果显示这两帧数据存在比较大的差异,那么就认为数据输入场景中存在物体的运动,反之就认为没有运动存在。

本文介绍的用CPLD实现运动检测的方法也是基于这种思想,但和一般的实现方法有所不同,其实现方法有一定的特色。

通常情况下,在实现上述思想的过程中,需要两个缓存区分别存放两帧抽样数据,然后对这两帧数据进行比较并对比较结果进行统计,最后得出比较结果。这样做需要较大的SRAM作为缓存,而且往往需要单片机或者DSP对CPLD进行控制,并将其作为两帧数据的比较器。这样,运动检测模块的独立性会受到限制,而且CPLD的功能只是一个抽样控制器。

本文提出的方法只对一帧抽样数据进行缓存,在对第二帧数据进行抽样时读取第一帧中与此刻抽样的数据相对应的缓存数据,并将两者进行比较,用一个计数器记录比较结果,如果差值超过值,计数器加一,否则不加。当这个计数值超过某一个规定数值的时候,就认为输入视频数据中存在着物体运动。这样做的好处是需要的缓存区较小,而且CPLD可以单独对数据进行处理,提高运动检测模块的独立性,运动检测模块可以单独调试。

2 用CPLD实现运动检测

下面通过实例说明用CPLD实现运动检测的过程,并给出部分VHDL程序。在这个实例中,模拟视频信号从CCD摄像头输入,经过SAA7113芯片预处理后,输出数字视频信号。该信号分作两路:一路输入到CPLD进行运动检测,另一路则输入到芯片W99682,对信号进行JPEG压缩等进一步处理。

示例中用到的CPLD是Lattice公司的LC4128V-75T100C,它具有128个宏单元、7.5ns的延时。SRAM芯片是ISSI公司的63LV1024,其容量为128K×8bit,具有10ns的延时。CPLD检测到运动后,通过中断,要求W99682对信号做进一步处理。其系统结构图如图1(省略了部分与运动检测无关的元件)所示。

2.1 SAA7113的输出信号

SAA7113是Philips公司推出的一款功能强大的视频信号预处理芯片,最基本的功能是模/数转换,输出的数字视频信号符合ITU601标准。ITU601是长宽比为4?3和16?9的数字电视信号标准,它对数字电视信号的各项参数进行了详细的描述和规范。在我国,通常采用的都是4?2?2采样格式、PAL制式、长宽比为4?3的数字电视信号。SAA7113的输出信号就是指这一格式的信号。这种格式信号的主要特征是:

(1)有三个正交分量:亮度分量Y、色度分量Cb和Cr。

(2)25帧/秒的帧率,每帧两场,每帧扫描625行。

(3)对于亮度分量Y,每行抽样864次,对于色度分量Cr和Cb,每行抽样432次。

(4)8bit或者10bit的PCM编码。

(5)量化:0和255用于同步;1到254表示抽样结果的PCM码;对于亮度分量Y,16表示黑色,235表示白色;对于色度分量Cb或者Cr,128表示没有色度。

(6)有三个信号用于同步输出数据:行同步信号SHS(15.6kHz)、场同步信号SVS(50Hz)和象素数据同步信号SPCLK(27MHz)。

包括消隐期在内,每帧数据扫描625行,每行抽样864个象素,因此总的分辨率是864×625。一帧数据分作奇偶两场,从上一帧的624行到本帧的310行是奇场,其中上帧624行到本帧22行是奇场消隐期,从23行到310行是奇场有效行;从本帧311行到623行是偶场,其中311到335行是偶场消隐期,336到623行为偶场有效行。图2是一帧的示意图。

对于帧内的每一行,共有864个象素,其中从第0个到第719个为有效象素,共计720个,从720个到863个为消隐期象素。每个象素都抽取Y分量,每两个象素则抽取一个Cr和一个Cb分量。图3是帧内一行以及象素抽样数据排列格式的示意图。表格第一行是亮度分量Y,第二行是色度分量Cr,第三行是色度分量Cb。

2.2 抽样

从SAA7113视频输出数据格式的介绍可以看到,保存完整的一帧数据(包括消隐期数据在内)需要864×625×2=1.08×106Byte的SRAM,需要1M以上的存储空间,这显然是不可取的,必须对帧数据进行抽样。本文介绍的方法的抽样规则如下:

(1)抽取一帧数据的奇场或者偶场。做比较的两场抽样数据必须

一种用CPLD实现视频信号运动检测的方法

【一种用CPLD实现视频信号运动检测的方法】相关文章:

一个嵌入式系统的Petri网模型与CPLD实现05-29

换一种方法学语文05-12

用Verilog HDL实现I2C总线功能06-01

一种汽车用金卤灯的快速点亮电路05-18

都市频道制作网的设计与实现05-29

北京市电力公司主变压器局部放电在线检测方法研究08-07

水利工程质量检测中无损检测实践应用05-06

基于minigui的网真机界面的实现08-05

城市旅游网站的设计与实现论文(精选6篇)05-07

模具的质量检测毕业论文09-08