ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:27.29KB ,
资源ID:3627430      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3627430.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于fpga的视频图像分割技术系统设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

基于fpga的视频图像分割技术系统设计.docx

1、基于fpga的视频图像分割技术系统设计 毕业论文:基于fpga的视频图像分割技术系统设计摘 要 随着多媒体技术的发展 ,视频图像得到了广泛应用. 而视频分割技术更是为视频理解、视频编码等领域广泛应用. 所谓视频分割就是把视频中重要的或人们感兴趣的物体或对象 (video object, vo)与背景分割开来 ,或者说就是要划出分别具有一致属性的一个个区域 ,同时区分背景区域和前景区域.早期的多画面分割器设计使用了很多的模拟器件,这时的电路开发周期长,产品的调试,修改升级比较困难,成本较高。在这里采用fpga芯片,完成图像的处理和硬件电路各个部分工作的协调,从而提高系统的集成度和性能。本论文首先

2、根据视频信号的处理过程和典型视频图像处理系统的构成提出了基于fpga的视频图像处理系统总体框图,主要由视频信号输入模块,视频信号处理模块和视频信号输出模块3个部分组成。然后分别具体介绍每个模块的结构功能:视频输入模块采用视频解码芯片ad9983a将采集的多路模拟视频信号转换成8位rgb数字信号送到fpga,实现高分辨率视频图像的采集;视频处理模块主要由lattice公司的 ecp2m系列lfe2m20se芯片完成,根据需要对输入的数字视频信号进行处理,完成视频信号的分割与合成;视频输出模块将 fpga 处理后的信号经过ch7301视频编码芯片驱动输出到显示器。图像分割算法繁多,运动图像的分割可

3、先分解为一帧帧图像,然后利用时-空图像的灰度和梯度信息进行分割。本文利用mailab,实现了简单背景下一帧图像的分割。 关键词:现场可编程逻辑门阵列;视频信号;图像分割与合成 abstractand drive the output to a monitor. 目录摘要 2abstract 3引言 5第一章 视频图像处理的整体设计 71.1视频信号概述 71.2视频图像分割处理系统设计 12第二章 具体电路设计分析 132.1视频源 132.2视频输入模块 162.2.1 模数转换器ad9983 162.2.2 存取视频数据 202.3视频处理模块 262.3.1 主控fpga 262.3.2

4、 flash 302.3.3 clk时钟电路 342.4 输出模块 352.4.1ch7301 352.4.2 dvi 422.5电源模块 432.5.1 芯片54386 432.5.2 spx2930 442.5.3 ld1117降压器 442.6整个电路原理图 46第三章 视频分割原理 48 3.1采集视频信号 483.2 阈值分割算法 483.2.1 图像二值化 483.2.2 双峰法 493.2.3 最大方差自动取阈值(自适应二值化) 493.3 边缘检测 513.4运动图像分割 523.4.1差分法 533.4.2基于块的运动分析 54结语 57参考文献 58致谢 59附录 60英语

5、文献翻译 62 引言 随着生活水平的提高,大量多媒体设备进入人们的日常生活。如何方便快捷、成本低廉地从视频中提取感兴趣的画面,是许多人经常面对的问题。像素越小,单位面积上的像素数目就越多,由其构成的图像就越清晰。电视系统中把构成一幅图像的各像素传送一遍称为进行了一个帧处理,或称为传送了一帧。将组成一帧图像的像素,按顺序转换成电信号的过程称为扫描。在pal制中,图像扫描是隔行的,即一帧图像分两次扫描,扫描到的两幅图像分别称作奇数场和偶数场。视频图像信号的处理过程就是拍摄视频信号的逆过程。摄像头输出的是标准pal制电视信号。摄像头通过光电转换实现图像到视频信号的转换,也就是扫描的过程。摄像头每扫描

6、一行图像,加入一个行脉冲,每扫描完一场图像加入一个场同步信号。同时为了保证扫描逆程光栅不显示,应加入和同步信号同周期的消隐信号。对视频信号进行处理,需要先进行a/d转换、行/场同步信号的分离等步骤。采用专用的视频信号进行转换,然后再启用工具处理数字图像信号并得到需要的结果。最后将结果用适当的方式进行传输。视频信号处理流程如下图12所示。 图1.2 视频信号处理基本流程 pal制电视信号转化为数字视频信号后,控制信号有三个:场参考电压信号vref,行参考电压信号href,奇偶场信号odd。vref高电平表示有效图像信号。odd信号高电平表示为奇数场,低电平表示偶数场。h ref信号表示一行有效的

7、图像数据,一行图像数据包括720个像素。12视频图像分割处理系统设计系统结构如图1.3所示,从系统结构图可以看出,系统主要包括视频信号输入模块,视频信号处理模块和视频信号输出模块等3个部分组成。各个模块主要功能为:视频输入模块将采集的多路视频信号转换成数字信号送到fpga;视频处理模块主要由fpga完成,根据需要对输入的数字视频信号进行处理;视频输出模块将fpga处理后的信号输出到显示器。 实际电路板如下图所示:第二章 具体电路设计分析2.1视频源本电路由两个vga接口输入模拟视频信号,vga接口是一种d型接口,上面共有15针空,分成三排,每排五个。vga接口是显卡上应用最为广泛的接口类型,多

8、数的显卡都带有此种接口。接口实物图及引脚定义如表1所示: 管脚 定义 1 红基色red 2 绿基色green 3 蓝基色blue 4 地址码id bit(也有部分是res,或者为id2显示器标示位2) 5 自测试(一般为gnd) 6 红地 7 绿地 8 蓝地 9 保留 10 数字地 11 地址码(id0显示器标示位0) 12 地址码(id1显示器标示位1) 13 行同步 14 场同步 15 地址码(id3显示器标示位3) 模式 场扫描时序 刷新速率 像素时间 场周期 同步脉冲 后肩 有效时间 前肩 pixperiod sync pulse backporch activetime frontp

9、orth o p q r s hz us us lin us lin us lin us lin us lin640*480 60 0.039683 16667 525 63 2 952 30 15365 484 286 9640*480 72 0.032103 13889 520 80 3 694 26 12927 484 187 7720*400 70 0.035352 14286 449 64 2 1018 32 12854 404 350 11720*350 70 0.035352 14286 449 64 2 1814 57 11263 354 1145 36800*600 56 0

10、.027902 17857 625 57 2 571 20 17257 604 - -1800*600 60 0.025132 16667 628 106 4 557 21 16030 604 - -1800*600 72 0.020052 13889 666 125 6 438 21 12596 604 730 35640*480 75 0.031746 13333 525 51 2 762 30 12292 484 229 9640*480 66 0.033403 15152 525 87 3 1068 37 13968 484 29 1 模式 行扫描时序分辨率 刷新速率 像素时间 行周期

11、 同步脉冲 后肩 有效时间 前沿 a b c d e hz us us pix us pix us pix us pix us pix640*480 60 0.039683 31.75 800 3.81 96 1.786 45 25.635 646 0.516 13640*480 72 0.032103 26.71 832 1.28 40 4.013 125 20.738 646 0.674 21720*400 70 0.035352 31.82 900 3.82 108 1.803 51 25.666 726 0.530 15720*350 70 0.035352 31.82 900 3.8

12、2 108 1.803 51 25.666 726 0.530 15800*600 56 0.027902 28.57 1024 2.01 72 3.488 125 22.489 806 0.586 21800*600 60 0.025132 26.54 1056 3.22 128 2.136 85 20.256 806 0.930 37800*600 72 0.020052 20.85 1040 2.42 120 1.223 61 16.162 806 1.063 53640*480 75 0.031746 25.40 800 3.05 96 1.429 45 20.508 646 0.41

13、3 13640*480 66 0.033403 28.86 864 2.14 64 3.106 93 21.578 646 2.038 61 下面选一种最常用的vga(640480,60 hz)图像格式的信号时序来分析解释:(1)场扫描(又称为“垂直扫描” )周期(2)行扫描(又称为“水平扫描”)周期(3)复合消隐信号 复合消隐信号是行消隐信号和场消隐信号的逻辑与,在有效显示期复合消隐信号为高电平,在非显示区域它是低电平。2.2视频输入模块2.2.1 模数转换器ad99832.2.1.1主用芯片简介 ad9983(以下简称ad,如图2.1)为美国analog devices公司生产的3路8位模

14、数转换器件,最大转换率达170ms/s(百万次采样/每秒),多用于捕获个人计算机或工作站的rgb信号。近年来,在视频信号处理领域得到广泛的应用。ad内含60个寄存器00h-3ch,用来对ad进行初始化和控制。针对不同的应用环境,这些寄 图2.1 ad9983 存器需写入相应的值,才能使ad正常工作。ad的初始化是其工程应用的前提。ad初始化过程依靠ad9983的sda(pin 66)和scl(pin67)引脚进行,时序符合i2c总线的时序标准。我们可直接采用带有i2c总线接口的单片机对ad进行初始化,但是目前带有i2c总线接口的单片机数量较少并且价格普遍较高。对于不带i2c总线接口的单片机,我

15、们可以采用模拟i2c总线技术使用其普通i/o口来模拟i2c总线时序,实现对外围器件的读、写操作。2.2.1.2 、i2c总线传输协议简介i2c是philips公司推出的芯片间串行传输总线,以两根连线(sda和scl)即可实现完善的全双工同步数据传送,具有规范完整、结构独立和使用简单等特点。i2c总线的时钟线scl和数据线sda均为双向传输线。数据线上每传输一位数据都要求时钟线上有1个时钟脉冲与其相对应。 i2c总线数据传送包括三种重要的时序状态起始信号、终止信号和应答信号: 起始信号:在时钟线保持高电平期间,数据线出现由高电平向低电平变化时启动i2c总线; 终止信号:在时钟线保持高电平期间,数

16、据线出现由低电平向高电平变化时停止i2c总线; 应答信号:i2c总线数据传送时,每传送一个字节数据后都必须有应答信号,应答信号在第9个时钟位上出现,接收器输出低电平为应答信号(a),输出高电平则为非应答信号(/a)。 2.2.1.3、ad进行初始化 采用单片机msp430f135对ad进行初始化,必须解决以下几个问题:首先是产生i2c总线的时钟信号;其次是实现i2c总线的开始信号、停止信号、位传输信号和判断应答信号;再次是要确定ad9983a不同寄存器的设置数据。1、i2c总线时钟的产生 一般情况下,fpga的时钟频率较高,常为几十mhz,而i2c总线的时钟频率为几百khz,用图2.2的方式可

17、借助于fpga的时钟获得i2c总线的时钟。需要说明的是,图中工作时钟的频率应为i2c总线时钟频率的m倍。这是因为系统中的任何一个i2c总线上的信号都是用m个工作时钟的周期来完成,而d触发器则是为了确保工作时钟的占空比为50而设计的。【11】 图2.2 12c总线时钟产生图 假设fpga时钟为125mhz,i2c总线时钟为200 khz,m为8,则工作时钟为1.6 mhz,再考虑到d触发器相当于2分频,则 n= 125mhz/(200 khz82) = 3912、关键信号的产生和传输 根据前面对i2c总线开始信号的讨论,利用8个工作时钟产生一个i2c总线信号,很容易设计出i2c总线的开始信号。即

18、规定:第1个脉冲上升沿到第3个脉冲上升沿之间,scl为低、sda为高;第3个脉冲上升沿到第5个脉冲上升沿之间,scl为高、sda为高;第5个脉冲上升沿到第7个脉冲上升沿之间,scl为高、sda为低;第7个脉冲上升沿到第9个脉冲上升沿之间,scl为低、sda为低。这样经过8个脉冲周期,就可产生一个开始信号。【11】 停止信号也很容易照此设计,在此不再累赘。 而对于数据bit位的传输,根据i2c总线规范要求,在数据位的传输过程中,sda信号在scl信号为高电平期间不容许发生跳变,可用scl高电平期间的前、后各1个脉冲来作为数据的建立时间和保持时间。由此得到如图6所示的数据bit的传输设计。3、 a

19、d9983a寄存器的设置 对ad9983a进行初始化本质上是对ad9983a内部的每个寄存器的每一位写入相应的数值,ad9983a其中每个寄存器都有一个子地址。在对多个连续的寄存器进行操作时,寄存器地址有自动加1功能,所以确定第1个子地址后,可以不考虑地址的变化,顺序写入各寄存器的数值即可实现寄存器的连续设置。另外,在对ad9983a初始化时,还需要确定从地址,而从地址由硬件连接图决定,当芯片引脚a0(pin22)信号是低电平时,表示ad9983a的写地址为4ch。芯片的各个寄存器的意义可以参考附录ad9983a的文档资料。2.2.1.4、ad9983初始化的实现ad9983的工作模式、输入端

20、口选择、色彩控制等图像采集的控制参数都是由其内部的寄存器决定,fpga可通过ad9983的i2c总线接口对其内部寄存器进行读写操作,具体的写时序如图3.3所示11。 start slave address ack-s subaddress ack-s data(n bytes) ack-s pause 图2.3 ad9983初始化写入数据的时序 其中:start为开始信号;slave address为从地址;ack-s为从器件发出的应答信号;subaddress为子地址;data(n bytes)为要写的各数据;pause为停止信号。当n=1时,表示要传一个数据;当n1时,表示要传多个数据,同

21、时将完成片内子地址的自动增加,实现对地址连续的寄存器的写操作,程序流程图如图2.4: 需要注意的是,为了避免由于器件工作异常而引起的死循环,设置一个超时计数器,当等待时间超过超时计数器设置的数值,则跳初始状态,重新对ad9983进行设置。2.2.2存取视频数据 ddr sdram器件是硅片存储器资源,现在最经常用于各种系统,包括从消费产品到视频系统的各类应用。ddr sdram器件的频率高达200 mhz或ddr400,dram 可以使用器件或模块的配置。 本设计利用hynix公司的h5du2562gtr芯片存取数据,这是一款256mb的ddr ram。内部结构为16 m16,工作电压为2.5

22、v,16位数据宽度采用400mil66pin tsop-ii封装。hy5ps121621bfp实物图如下图2.5所示。 图2.5 ddr示意图1、ddr 控制器命令 表 1 所示为控制器发出的命令。这些命令通过使用下列控制信号传输到存储器:•行地址选择 (ras)•列地址选择 (cas) •时钟使能 (cke) (器件配置后始终置为高)•芯片选择 (cs) (器件运行期间始终置为低) 1 加载模式寄存器 l l l 2 自动刷新 l l h 3 预充电 l h l 4 选择组激活行 l h h 5 写命令 h l l 6 读命令 h l h 7

23、空操作 h h h 注:地址信号a10在预充电所有组期间设定为高,在单个组预充电期间设定为低。 表1、ddr sdram 命令2、命令功能读命令:读命令用于发起对活动行的突发式读访问。ba0 和 ba1上的值选择组地址,而 a0 - ai 上提供的地址输入选择起始列位置。读突发结束后,只要还未预充电,此行仍可用于后面的访问。 图3.6所示为一个附加延迟为零的读命令示例。因此,在该示例中,读延迟与 cas 延迟相同,在 ddr400 规范中为三个时钟周期。 图3.6【9】 ddr读命令波形命令功能模式寄存器 (mode register) 模式寄存器用于定义 ddr sdram 特定的运行模式,

24、包括突发长度(burst length)、突发类型、cas 延迟 (cas latency) 和运行模式的选择,如图3.7所示。 组地址 (bank address) ba1 和 ba0 用于选择模式寄存器。图3.7显示了组地址位配置。 模式寄存器控制范围之外的功能由扩展模式寄存器控制。这些附加功能是用于 ddr sdram 接口的 dll 使能/禁能和输出驱动强度,如图 3.8所示。 ba1 ba2 a12 a11 a10 a9 a8 a7 a6 a5 a4 a3 a2 a1 a00 0 0 dll 0 cas latency bt burst lengtha2 a1 a0 burst le

25、ngth0 0 1 20 1 0 40 1 1 8others reserved a6 a5 a4 cas latency0 1 0 2 0 1 1 3(ddr400)1 1 0 2.5others reserveda8 dll0 normal operation1 resetba1 ba2 mode register0 0 mode register(mr)0 1 extended mr emr1 图3.7 ddr400 模式寄存器定义ba1 ba0 e12 e11 e10 e9 e8 e7 e6 e5 e4 e3 e2 e1 e00 1 0 ds dlle0 dll 0 enable 1

26、disabled e1 drive strength 0 normal 1 reduced 图3.8 扩展模式寄存器初始化顺序9 此控制器状态机使用的初始化顺序遵循ddr sdram规范。配置顺序分为两步:第一步由硬件在上电时处理;第二步由fpga存储器控制器设计处理。图3.9所示为针对初始化而发出的命令顺序。 写命令:写命令用于发起对活动行的突发式访问。ba0 和ba1上的值选择组地址,而地址输入a0 、ai 的值选择活动行内的起始列位置。写延迟的值等于一个时钟周期。图3.10所示为一个写延迟为 1 的写突发。写命令和 dqs 信号的第一个上升沿之间的时间间隔由写延迟确定。 图3.10【9】

27、 ddr写命令波形3、具体信号分析(1) 差分时钟(参见上文“ddr sdram读操作时序图”)是 ddr 的一个必要设计,但ck#的作用,并不能理解为第二个触发时钟,而是起到触发时钟校准的作用。由于数据是在 ck 的上下沿触发,造成传输周期缩短了一半,因此必须要保证传输周期的稳定以确保数据的正确传输, 这就要求 ck 的上下沿间距要有精确的控制。但因为温度、电阻性能的改变等原因,ck 上下沿间距可能发生变化,此时与其反相的 ck#就起到纠正的作用(ck 上升快下降慢,ck#则是上升慢下降快) 。而由于上下沿触发的原因,也使 cl=1.5 和 2.5 成为可能,并容易实现。(2)数据选取脉冲(

28、dqs) dqs 是 ddr sdram 中的重要功能,它的功能主要用来在一个时钟周期内准确的区分出每个传输周期,并便于接收方准确接收数据。每一颗芯片都有一个 dqs 信号线,它是双向的,在写入时它用来传送由控制器发来的 dqs 信号,读取时,则由芯片生成 dqs向控制器发送。完全可以说,它就是数据的同步信号。在读取时,dqs与数据信号同时生成(也是在 ck与ck#的交叉点) 。而 ddr 内存中的 cl 也就是从 cas 发出到 dqs 生成的间隔, 数据真正出现在数据 i/o 总线上相对于 dqs触发的时间间隔被称为 tac。tac 是指上文结构图中灰色部分的数据输出时间,由于预取的原因,

29、实际的数据传出可能会提前于 dqs 发生(数据提前于 dqs 传出) 。由于是并行传输,ddr 内存对 tac 也有一定的要求, 对于 ddr266,tac的允许范围是0.75ns,对于ddr333,则是0.7ns,有关它们的时序图示见前文,其中 cl 里包含了一段 dqs 的导入期。 dqs 在读取时与数据同步传输,那么接收时也是以dqs的上下沿为准吗?不, 如果以dqs的上下沿区分数据周期的危险很大。由于芯片有预取的操作,所以输出时的同步很难控制,只能限制在一定的时间范围内,数据在各 i/o 端口的出现时间可能有快有慢,会与 dqs 有一定的间隔,这也就是为什么要有一个 tac 规定的原因

30、。而在接收方,一切必须保证同步接收,不能有 tac 之类的偏差。这样在写入时,芯片不再自己生成 dqs,而以发送方传来的 dqs 为基准,并相应延后一定的时间,在 dqs 的中部为数据周期的选取分割点(在读取时分割点就是上下沿),从这里分隔开两个传输周期。这样做的好处是,由于各数据信号都会有一个逻辑电平保持周期,即使发送时不同步, 在 dqs 上下沿时都处于保持周期中, 此时数据接收触发的准确性无疑是最高的。9 在写入时,以 dqs 的高/低电平期中部为数据周期分割点,而不是上/下沿,但数据的接收触发仍为 dqs 的上/下沿 。2.3视频处理模块2.3.1主控fpga 本模块中lattice公

31、司生产的 ecp2m系列lfe2m20se-5fn484c芯片为主控芯片,负责读取视频数据,并进行处理。根据下图可知该芯片内有20k个luts,具有加密功能,1.2v电压供电,484-ball无铅fpbga封装商业芯片。本设计使用三片ddr需有6个dqs信号,484fpbga bank3、bank4、bank5可提供7个dqs信号,所以采用这三个模块控制ddr的存取操作,并为此三个模块供给2.5v电压。 6、7模块做普通io口使用,连接ad以及输出驱动芯片。 第8模块及第5模块部分引脚为配置引脚,具体说明如表2。 lfe2 - xx x e - x xxxxxx号x 设备系列 ecp2(latticeecp2 fpga) 级 逻辑能力 c=商业 6=6kluts i=工业 12=12kluts 包装

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1