datasheet
超过460,000+ 应用技术资源下载
pdf

基于FPGA的视频图像处理系统

  • 1星
  • 日期: 2014-03-05
  • 大小: 7.2MB
  • 所需积分:1分
  • 下载次数:0
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: 基于FPGA的视频图像处理系统

随着电子技术和计算机技术的飞速发展,视频图像处理技术近年来得到极大的重视和长足的发展,其应用范围主要包括数字广播、消费类电子、视频监控、医学成像及文档影像处理等领域。当前视频图像处理主要问题是当处理的数据量很大时,处理速度慢,执行效率低。而且视频算法的软件和硬件仿真和验证的灵活性低。 本论文首先根据视频信号的处理过程和典型视频图像处理系统的构成提出了基于FPGA的视频图像处理系统总体框图;其次选择视频转换芯片SAA7113,完成视频图像采集模块的设计,主要分三步完成:1)配置视频转换芯片的工作模式,完成视频转化芯片SAA7113的初始化:2)通过分析输出数据流的格式标准,来识别奇偶场信号、场消隐信号和有效行数据的开始和结束信号三种控制信号,并根据控制信号,用Verilog硬件描述语言编程实现图像数据的采集;3)分析SRAM的读写控制时序,采用两块SRAM完成图像数据的存储。然后编写软件测试文件,在ISE Simulator仿真环境进行程序测试与运行,并分析仿真结果,验证了数据采集和存储的正确性;最后,对常用视频图像算法的MATLAB仿真,选择适当的算子,采用工具MATLAB、System Generator for DSP和ISE,利用模块构建方式,搭建视频算法平台,实现图像平滑滤波、锐化滤波算法,在Simulink中仿真并自动生成硬件描述语言和网表,对资源的消耗做简要分析。 本论文的创新点是采用新的开发环境System Generator for DSP实现视频图像算法。这种开发视频图像算法的方式灵活性强、设计周期短、验证方便、是视频图像处理发展的必然趋势。

大连海事大学 硕士学位论文 基于FPGA的视频图像处理系统 姓名:杨宁 申请学位级别:硕士 专业:电路与系统 指导教师:董辉;白桂欣 20080301 中文摘要 摘要 随着电子技术和计算机技术的飞速发展,视频图像处理技术近年来得到极大 的重视和长足的发展,其应用范围主要包括数字广播、消费类电子、视频监控、 医学成像及文档影像处理等领域。当前视频图像处理主要问题是当处理的数据量 很大时,处理速度慢,执行效率低。而且视频算法的软件和硬件仿真和验证的灵 活性低。 本论文首先根据视频信号的处理过程和典型视频图像处理系统的构成提出了 基于FPGA的视频图像处理系统总体框图;其次选择视频转换芯片S丸钾113,完 成视频图像采集模块的设计,主要分三步完成:1)配置视频转换芯片的工作模式, 完成视频转化芯片SAA7113的初始化:2)·通过分析输出数据流的格式标准,来 识别奇偶场信号、场消隐信号和有效行数据的开始和结束信号三种控制信号,并 根据控制信号,用Verilog.硬件描述语言编程实现图像数据的采集;3)分析SRAM 的读写控制时序,采用两块SRAM完成图像数据的存储。然后编写软件测试文件, 在ISE Simulator仿真环境进行程序测试与运行,并分析仿真结果,验证了数据采 集和存储的正确性;最后,对常用视频图像算法的MATI.AB仿真,选择适当的算 子,采用工具MATIJLB、System Generator for DSP和ISE,利用模块构建方式, 搭建视频算法平台,实现图像平滑滤波、锐化滤波算法,在Simulink中仿真并自 动生成硬件描述语言和网表,对资源的消耗做简要分析。 本论文的创新点是采用新的开发环境System Generator for DSP实现视频图像 算法。这种开发视频图像算法的方式灵活性强、设计周期短、验证方便、是视频 图像处理发展的必然趋势。 关键词:视频信号;视频采集;Ver i log;图像算法 英文摘要 Processing System of Video Image based on FPGA Abstract With the rapid development of electronics and computer technology,video image processing is increasingly being paid more attention and being used in a variety of fields, DMB(Digital Multimedia Broadcasting),consumer electronics,surveillance,medicinal imaging and document image processing and SO on.The main challenges for image processing due to both the speed and the low-efficiency when the enormous amount of frame.The video data require per second challenge is dealing with simulation time and test environment. First,a video image processing system based on FPGA(Held Programmable Gate Array)is presented by analyzing the video signal processing and typical video image processing system.Second,the video decoding chip SAA71 13 be chosen to finish the sample module by three steps,a)Finishing the initialization of SAA71 13 by configuring the work pattern of the chip.b.)Writing Verilog HDL(Hardware Description Languages) source code to sample image data by analyzing the output data format.c)Control storage by analyzing read and write timing SRAM.Third,finishes the Textbench to verify the functional and timing models of the design.Last,the combination of MATLAB,System Generator for DSP and ISE environment to build a model to implement smoothing,sharpening reference algorithm.Once these are simulated using Simulink,they Can automatically generated HDL files and Netlist.And it can be used in the ISE. The innovation point of the paper is to develop video image algorithm in System Generator for DSP,It’S the ideal platform and the trend of video image processing,for flexible and convenience. Key Words:Video SignaI:Video sampIe;Ver i Iog;Image aIgor ithm 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成硕士学位论文== 基王壁鱼△的视麴图堡处理丕缠 :。除论文 中已经注明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文 中以明确方式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公 开发表或未公开发表的成果。 本声明的法律责任由本人承担。 论文作者签名:而乎略年弓月彪日 学位论文版权使用授权书 本学位论文作者及指导教师完全了解“大连海事大学研究生学位论文提交、 版权使用管理办法”,同意大连海事大学保留并向国家有关部门或机构送交学位 论文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将 本学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或 扫描等复制手段保存和汇编学位论文。 保密口,在——年解密后适用本授权书。 本学位论文属于: 保密口 不保密舐请在以上方框内打“√”) 论文作者签名:而导 导师签名:毒哮 日期: 加多年≥月艘目 基于FPGA的视频图像处理系统 第1章绪论 1.1视频图像技术的发展和应用 1.1.1视频图像技术的发展 图像(视觉)信息是人们由客观世界获得信息的主要来源之一,约占人们依靠五官 由外界获得信息量的70%以上。因此由图像所提供的直观作用是其它途径获取信息所无 法比拟的。视频图像就是连续的静态图像的序列,是一种对客观事物更为形象,生动地 描述。 随着电子技术和计算机技术的飞速发展,视频图像技术近年来得到了极大的重视和 长足的发展,人们在选择学习和娱乐信息时,不再是单纯的枯燥文字信息,丰富多彩的 图片和视频信息越来越成为人们的首选。并且对视频和图像处理技术的要求不断攀升, 新的需求催生新的技术,主要体现在从标准清(SD)到高清(HD),分辨率越来越高,要求 实时处理的数据量越来越大;视频和图像压缩技术日益复杂,如MPEG.4第2部分, H.264AVC,JPEG2000等;对视频系统智能化的要求提高,如智能拍摄、运动检测、对 象识别、多通道、画中画、透明叠加效果等;消费者欣赏能力的提高,希望图像更稳定、 更清晰、色彩更艳丽、亮度更符合人眼的感官需求【¨。 1.1.2视频图像技术的应用范围 随着计算机技术和半导体工业的发展,视频图像处理技术的应用将更加广泛,总结 其应用领域,大致有以下几个方面: (1)在通信和电子商务中的应用。当前通信的主要发展方向是声音、文字、图像和 数据相结合的多媒体通信,也就是将电话,电视和计算机以三网合一的方式在数字通信 网上传输。其中以视频图像通信最为复杂和困难,因其数据量十分巨大,如传送彩色电 视信号的速率达100Mb/s以上。要将这样高的速率的数据实时传送出去,必须采用图像 处理中的编码压缩技术来达到目的。 (2)在生物医学中的应用。视频图像处理在生物医学工程方面有非常广泛的应用, 无论是临床诊断还是病理研究都采用图像处理技术,而且很有成就。它的直观、无创伤、 第1章绪论 安全方便等优点受到了普遍的接受。除了最成功的x射线、CT技术之外,还有一类是 对医用显微图像的处理分析,即自动细胞分析仪,如红细胞、白细胞分类,染色体分析, 癌细胞识别以及超声波图像的分析等。 (3)在军事、公安中的应用。在军事方面主要用于导弹的精确制导、各种侦察相片 的判读,具有图像、传输、存储和显示的军事自动化、指挥系统,飞机、坦克和军舰模 拟训练系统等;在公安业务方面实时监控、案件侦破、指纹识别、人脸识别、虹膜识别 以及交通流量监控、事故跟踪、银行防盗等。特别是目前已全面投入运行的高速公路不 停车自动收费系统中的车辆和车牌的自动识别【21。 1.2课题的研究意义 传统的视频图像处理技术主要用PC机来做实时图像处理,由于PC机的结构是 基于冯·诺依曼的复杂指令计算机,本质上是顺序执行指令,不能实现并行处理,故实 时性很差;用数字信号处理专用芯片来做实时图像处理,由于数字信号处理专用芯片采 用数据与程序空间相分离的哈佛结构,加上数字信号处理专用芯片比较适合做复杂的算 法,可以实现一定的并行处理能力和容易实现一些算法,故用来做图像处理比PC机有 一定优势。不过随着新的需求,像实时压缩(H.264)高清视频,最为强大的单片DSP也 无法实现。因此就需要一种新的开发环境,实现视频图像处理技术的新要求。 随着半导体工艺的不断进步,FPGA不仅告别了传统观念的价格昂贵,而且性能也 显著提升,同时不断集成一些新的硬件资源,比如内嵌DSP块、内嵌RAM块、锁相环 (PLL)、高速外部存储器接I](DDR)等,作为一个平台,FPGA显然已经非常适合于高性 能的视频和图像技术,用FPGA来做实时图像处理,由于可编程逻辑的大容量、灵活 性,可以实现图像极大的并行处理能力,速度可以比PC机和数字信号处理芯片快,可 以实现SOPC(片上可编程系统),帮助用户定制系统,缩短产品研发和更新换代的周 期,快速做出有自己特色的,自主知识产权的产品,越来越多的研究人员开始致力于有 关FPGA的视频图像处理技术I引。 1.3论文组织结构 本论文主要研究的是基于FPGA的视频图像处理系统各功能模块的设计与实现,并 基于FPGA的视频图像处理系统 对这些模块算法进行仿真。全文共分5章,其内容安排如下: 第1章绪论。简要介绍了当前视频图像处理技术的发展和应用,本论文提出的意 义以及论文的组织结构。 第2章视频图像处理的整体设计。首先简要地介绍视频信号及视频信号处理过程。 其次在研究典型视频图像处理系统的前提下,设计基于FPGA的视频图像处理系统,系 统主要包含两个部分:视频图像采集模块,视频图像算法模块。 第3章系统开发平台FPGA及硬件选型。讨论了FPGA的结构特点、开发流程及 开发软件和视频图像处理系统的硬件选择。如何在MATLAB中实现FPGA设计,以实 现后端视频图像算法的处理。 第4章视频图像采集模块设计。视频图像采集、存储部分的具体实现。首先利用 12 C总线对采集卡SAA7113初始化及配置;其次通过分析视频数据格式,采用软件的 方式控制视频图像数据的采集;然后根据存储器的读写时序,完成存储器模块的设计。 最后对各部分产生的仿真结果进行分析。 第5章视频图像算法模块设计。首先简述了常用的视频图像算法及滤波原理;然 后根据模板卷积实现的框图,以基于模型的设计思想,在MATLAB中应用Xilinx公司 嵌入到Simulink中的模块,构建一款视频图像处理的模型,实现图像平滑和图像锐化算 法。最后对不伺算法功能进行仿真,并生成硬件描述语言及网表,在ISE中调用实现, 并对硬件资源消耗情况做简要分析。 第2章视频图像处理的整体设计 第2章视频图像处理的整体设计 2.1视频信号概述7 在做视频图像处理之前,要了解什么是视频信号,视频信号的组成。摄像头输出的 视频信号满足电视信号的制式,电视信号是指经摄像机的电子扫描和光电转换形成的电 信掣41。 目前,世界上实际应用的电视信号制式主要有NTSC制、SECAM制和PAL制三种。 NTSC制是美国推出的世界上最早的一种兼容制彩色电视制式l引。主要应用于美国、日 本等国家。SECAM制在俄罗斯、法国、埃及等少数国家使用。PAL制由西德在NTSC 制的基础上改进的一种兼容制彩色电视制式,我国和世界上大多数国家采用PAL铝lJ。 PAL制式电视信号16l由“图像信号"、“复合消隐信号”和‘‘复合同步信号"三种 信号构成。复合消隐信号的作用是消除显像管在行、场扫描逆程期间产生的回扫线,使 其不干扰图像信号。复合同步信号分为行同步信号和场同步信号,为确保收发两端扫描 的同步。这三种信号并不是分成独立的通道传输,而是复合在一起,形成一个完整的电 视信号。 偶数场一奇数场 图2.1 PAL制全电视信号 Fig.2.1 PAL television signal PAL电视制式规定:一帧扫描总行数为625行,其中,帧正程575行,帧逆程50 行;每行数据包含720个像素。采用隔行扫描方式,每场扫描312.5行,场正程287.5 行,场逆程25行;场频为50Hz,行频为15625I-Iz,行周期为64邮,行正程时间为 基于FPGA的视频图像处理系统 52吣,行逆程时问为121as;电视图像的宽高比为4:3。 2.2视频信号的处理过程 一幅平面图像可以看成是由许许多多的小单元组成,在图像处理系统中,这些组成 画面的细小单元称为像素【71。像素越小,单位面积上的像素数目就越多,由其构成的图 像就越清晰。电视系统中把构成一幅图像的各像素传送一遍称为进行了一个帧处理,或 称为传送了一帧。将组成一帧图像的像素,按顺序转换成电信号的过程称为扫描。在 PAL制中,图像扫描是隔行的,即一帧图像分两次扫描,扫描到的两幅图像分别称作奇 数场和偶数场。 视频图像信号的处理过程就是拍摄视频信号的逆过程。摄像头输出的是标准PAL 制电视信号。摄像头通过光电转换实现图像到视频信号的转换,也就是扫描的过程。摄 像头每扫描一行图像,加入一个行脉冲,每扫描完一场图像加入一个场同步信号。同时 为了保证扫描逆程光栅不显示,应加入和同步信号同周期的消隐信号。对视频信号进行 j 处理,需要先进行A/D转换、行/场同步信号的分离等步骤。采用专用的视频信号进行 转换,然后再启用工具处理数字图像信号并得到需要的结果。最后将结果用适当的方式 进行传输。 视频信号处理流程如图2.2所示。 图2.2视频信号处理基本流程 Fig.2.2 Flow of video signal processiong PAL制电视信号转化为数字视频信号后,控制信号有三个:场参考电压信号VREF, 行参考电压信号HREF,奇偶场信号ODD。VREF高电平表示有效图像信号。ODD信 号高电平表示为奇数场,低电平表示偶数场。HREF信号表示一行有效的图像数据,一 行图像数据包括720个像素。 第2章视频图像处理的整体设计 2.3典型视频图像处理系统 典型的视频处理系统使用一个微处理器来控制一个视频流水线,该视频流水线包括 一个视频源和宿,一个用于存储视频数据的大型存储器,和』个视频算法函数,实现一 些算法处理功能【81。如图2.3所示。 图2.3典型视频图像处理系统 Fig.2.3 Typical video image processing system 视频图像数据的特点是数据量大,计算量大,非常耗费时间。在视频图像处理系统 中,一般采用PC机的CPU用于对图像数据作运算或处理。由于PC机是基于冯·诺依 曼架构的,本质上是顺序执行的。对于大数据量的图像处理,处理速度慢,实时性不好。 随着数字融合的进一步发展,系统的设计和实现需要更大的灵活性,以解决将完全 不同标准和要求的产品,集成为同类产品时引发的诸多问题。人们迫切要求实现高速图 像处理系统的新思路。大规模现场可编程门阵列FPGA是当今应用极为广泛的方法,使 用FPGA作为视频图像处理平台可以充分利用硬件上的并行性,从本质上改善图像处理 的速度,使对大数据量的图像处理达到实时性。 2.4本论文视频图像处理系统的总体框图设计 根据对视频信号处理的基本过程和对典型视频图像处理系统框图的理解,结合 FPGA的开发优势,本论文构建的基于FPGA的视频图像处理系统框图,如图2.4所示。 基于FPGA的视频图像处理系统 SRAM2 {4{1} ● 一 l ll ● l ● \7 卜锹宁; 黩卡吲总铲jf ‘制 ● ● ● S凡~M1 ● ● 上 视频图像采集模块 H显示 图像预处理 土 视频图像算法模块J 图2.4基于FPGA的视频图像处理框图 Fig.2.4 Block diagram of video image processing based on FPGA 系统由两部分组成,包括视频图像采集模块、视频图像算法模块。 ‘ (1)视频图像采集模块:其主要的作用是采集并存储数据。FPGA控制采集卡对来 自摄像头的n址制全电视信号(CVBS)完成视频信号的放大、模数转换和格式转换,提 供后端可处理的数字视频数据,FPGA需要完成对视频信号转化后的数字图像进行处理, 最终将采集来的数据存储在SRAM中。具体设计实现在第四章讲解。 (劲视频图像算法模块:其主要作用是对图像数据进行预处理,实现基本的算法如 平滑滤波,锐化滤波,并对处理后的图像进行显示,便于观察。本论文将在用一种新的 开发工具System Generator for DSP开发视频图像的算法。具体设计实现在第五章讲解。 第3章系统开发平台FPGA技术及硬件选型 第3章系统开发平台FPGA技术及硬件选型 3.1 FPGA的结构及开发流程 随着电子技术的不断发展,数字集成电路广泛应用于社会各个领域,它由早期的电 子管、晶体管、小中规模集成电路,发展到超大规模集成电路(VLSIC)以及许多具有特 定功能的专用集成电路(ASIC)。虽然ASIC成本很低,但设计周期长,投入费用高,风 险较大,人们将更加关注于设计灵活,功能强大的现场可编程门阵列FPGA。 FPGA是在PAL(可编程阵列逻辑)、GAL(通用阵列逻辑)等可编程器件的基础上进 一步发展的产物,它是作为专用集成电路(AsIC)领域中的一种半定制电路而出现的,既 解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 以下分别从FPGA的原理结构和整体设计流程两大部分来详细介绍FPGA【9州l。 3.1.1 FPGA的基本结构 FPGA是基于查找表(Look—Up—Table,LUT)结构的PLD(可编程逻辑器件)芯片。查 找表本质上就是一个RAM。目前FPGA中多使用4输入的LUT,所以每一个LUT可以 看成一个有4位地址线的16X 1的RAM。当用户通过原理图或HDL描述了一个逻辑电 路以后,FPGA开发软件会自动计算逻辑电路的所有可能结果,并把结果事先写入RAM。 这样,每输入一个信号进行逻辑计算就等于输入一个地址进行查表,找出与地址对应的 内容,然后输出即可。 奄’砖嘲神””夕 / 口口 口口 n¨¨U n¨¨¨¨¨U 门¨ U 口口 口口 口口 口口 n¨¨U 口口 口口口口口口口口 口口口口口口口口 n¨¨¨¨]. n¨¨¨¨¨U 口口口口口口口口 口口口口口口口口 口口口口口口口口 口口口口口口口口 P.。.。,L—.。.U 口口 ct:n 轴:臻二。 图3.1 Virtex.II系列产品结构示意图 Fig.3.1 Structure of Virtex—II production 基于FPGA的视频图像处理系统 它主要由可配置逻辑模块(CLB)、用户可编程I/O(IOB)、BlockRAM、数字时钟管理 模块(DCM)幂I硬件乘法器等组成。 CLB模块由4个相同的Slice和附加逻辑电路构成,用于实现组合逻辑和复杂时序 逻辑;IOB用于提供FPGA内部逻辑与外部封装引脚之间的接口,Virtex.II系列FPGA 的lOB含有6个存储单元,它们不仅可以单独配置为D触发器或锁存器,还可以成对 实现以双倍数据传输速率(Double Data Rate,DDR)输入和输出;BIockRAM用于实现 FPGA内部的随机存取,它可以配置为RAM、双口RAM、FIFO等随机存储器,在Virtex.II 系列FPGA中,BlockRAM的单位容量是18Kbit,每一个BIockRAM均可配置为单端口 或双端口的RAM;DCM灵活的提供时钟管理功能,为适应大规模FPGA设计中多时钟、 高速度,低延时的要求,Virtex.II系列FPGA中包含4.12个DCM。硬件乘法器用于提 高FPGA数字信号处理能力,提高效率。 3.1.2 FPGA的开发流程 FPGA设计流程分为设计规范、设计输入、功能仿真、综合设计、布局布线:时序 仿真、下载验证等步骤,简明设计流程如图3.2所示。 图3.2 FPGA设计流程 Fig.3.2 Design flow of FPGA 第3章系统开发平台FF'C,A技术及硬件选型 (1)设计输入 设计输入包括使用硬件描述语言(HDL)、原理图输入两种方式。HDL输入方式是现 今设计大规模数字集成电路的良好形式,主要的硬件描述语言有VHDL与Verilong HDL 两种形式,HDL描述在状态机、控制逻辑、总线功能方面较强,使其描述的电路能在 特定的综合工具(如Synopsys公司的FPGA CompilerlI)作用下以具体硬件单元较好的 实现。它们都有利于自顶向下的设计,借助于模块化编程,程序的可移植性和复用性好, 更不会由于具体的芯片工艺的变化而变化。而原理图输入在顶层设计、数据通路逻辑、 手工最优化电路等方面具有图形化强、便于理解、单元节省等特点。 伪功能仿真 也叫预仿真或逻辑仿真,用户所设计的电路在综合之前首先进行逻辑功能的验证, 由于没有用到实现设计的时序信息,所以此时的仿真延时基本上忽略不计,只是初步验 证系统的逻辑功能。它可以在设计初期纠正设计中的错误,一般来说,除了最顶层的原 理图要进行功能仿真以外,每一层原理图、每一个用户自生成模块都要进行功能仿真, 以便及时发现错误。 (3)综合设计 综合就是针对给定的电路实现功能和实现此电路的约束条件,如速度、功耗、成本 及电路类型等,通过计算机进行优化,获得一个满足上述要求的电路设计方案,综合的 过程是把设计实现到芯片中的过程,把设计分割、映射、布局到器件的各个功能快。整 个过程为:网表的转换一映射一布局布线一产生时序数据一产生配置文件5个步骤。综 合完成后将产生的报告文件里记录内容包括:片内资源利用率、输入/输出引脚分布情况 以及引脚到引脚间的延时、系统最大延时与最小延时和系统最大工作频率及最小工作频 率等重要信息,供优化设计参考。 (4)时序仿真 时序仿真是在对设计进行映射、布局布线之后进行的,这时有关的器件延迟、连线 延迟等时序参数被提取,生成延迟文件,并将延迟文件反标到仿真模型中去。如果仿真 结果显示由于延时影响而造成逻辑错误,就需要在设计输入时对关键电路进行设计约 基-f.FPGA的视频图像处理系统 束,最终消除延时对电路的影响。 (5)下载验证 下载是在功能仿真与时序仿真正确的前提下,将综合形成的位流下载到具体的 FPGA芯片中,也叫芯片配置。将FPGA配置信息加载到FPGA内部后,通过外部观测 设备(如逻辑分析仪、数字示波器、DSP程序等)来验证FPGA实现的功能。通过下载 验证后,可认为基于FPGA的系统设计任务基本完成。下载验证对FPGA投片生产具有 较大的意义。 3.2硬件描述语言 硬件描述语言HDL是一种用形式化方法描述数字电路和系统的语言【12】。利用这种 语言,数字电路系统的设计可以从上层到下层(从抽象到具体)逐层描述自己的设计思 想,用一系列分层次的模块来表示极其复杂的数字系统。利用电子设计自动化(EDA)工 具,对硬件描述语言模型的数字逻辑进行仿真,经过自动综合工具转换到门级电路网表。 硬件描述语言HDL的发展至今约有20多年的历史,它成功地应用于系统开发的设 计、仿真、验证和综合等各个阶段。目前在中国,比较有影响的主要有两种硬件描述语 言:超高速集成电路硬件描述语言VHDL、Verilog HDL语言。 ,Vefilog HDL是在1983年,由GateWay Design Automation公司为其模拟器产品开 发的硬件建模语言。由于他们的模拟仿真器产品的广泛应用,Verilog HDL作为一种便 于使用的语言逐渐为众多设计者所接受,1990年,Verilog HDL语言被推向公众领域, OVI(Open Verilog Intemational)坌[t织致力于推广Verilog HDL语言的发展。基于Verflog HDL的优越性,IEEE于1995年制定了Verilog HDL的IEEE标准。 Verilog HDL自身的优势主要在于首先它早在1983年就已经推出,拥有广泛的设计 群体,其设计资源丰富;其次它是一种非常容易掌握的硬件描述语言,只要有C语言的 编程基础,通过一段时间学习和实际操作,可以在很短的时间内掌握这种设计技术。考 虑其灵活性和实用性本论文将采用Verilog HDL作为硬件开发语言。 第3章系统开发平台FPGA技术及硬件选型 3.3课题中FPGA的开发软件和器件概述 3.3.1集成开发软件l SE 目前,FPGA的常用丌发工具软件大体上可分为两类:一类是由专业的EDA软件 开发公司提供的第二方软件,另一类是山FPGA芯片厂商直接提供的丌发软件。限’J二篇 幅,在此仅对本论义所用剑的Xilinx公司集成化,f:发工具ISE做简要介绍。 ISEll3d5】是Xilinx公司提供的集成化FPGA开发软件。Xilinx作为当今世界最大的 FPGA/CPLD生产厂商之‘,长期以来一直推动着FPGA/CPLD技术的发展。该平台集 成了从设计输入、仿真、逻辑综合、布局布线与实现、时序分析、芯片下载与配置、功 率分析等几乎所有设计流程所需的工具。 在ISE中,项目导航ff/导(Project Navigator)是项目管理工具的主体,集成了设计过程 中要使用的一系列软件工具,主要包括设计输/N.(Design Entry)、设计综合(Design Synthesis)、设计约束(Design Constraints)、设计实现(Design Implement)、设计仿真(Design Simulation)和器件编程(Device Programming),ISE丌发环境如图3.3所示。 Processes: 一爹Besign Utiliti es 《毒 Create Schematic Symbol 国 7i ew Comm蛆d Line Log File ;当 Vi ew HDL Instanti ati On Template +擎User Constraints 一孝童 Synthesi ze—XST 国 Vi ew Synthesi s Report 图View RTL Schemeti c 圜Vi ew Techn。l。盯Schemati c 爰0 Check synt槛 +枣蠢 GeneTate Post—Synthesi s Simulation啊 -譬童 Implement Desi弘 +零妻Trzmslate +霉≥ 肺ap +矛j P18.Ce&Route 图3.3 ISE开发界面 Fig.3.3 Interface of ISE 基于FPGA的视频图像处理系统 设计输入是工程设计的第一步,ISE集成的设计工具主要包括硬件描述语言HDL 编辑器、原理图编辑器(ECS,Engineering Schematic Capture)和状态机编辑器:(StateCAD)。 其中硬件描述语言是最为流行的输入方法。 设计综合则是依据逻辑设计描述和约束条件,利用综合工具对设计目标进行优化处 理,将HDL文件转变为硬件电路实现方案。主要有Synplicity公司的Synplify和XST。 设计仿真可分为RTL行为级仿真、综合后门级仿真和时序时延仿真3大类型。行 为级仿真在设计输入之后综合之前进行,主要用来检查代码中的语法错误以及代码行为 的正确性;时序时延仿真在综合和布局布线之后进行,能够得到目标器件的详细时序时 延信息。自带仿真工具ISE Simulator,更利于对Xilinx开发板下载。 设计实现包括翻译(Translate)、映射(Map)和布局布线(Place and Route)--个步骤。 器件编程是将综合后形成的位流数据下载到具体的FPGA、PROM芯片中。Xilinx 公司的ISE集成了强大的iMPACT(the intelligent Multi—Purpose Programming And Configuration T001)配置工具,可以配置FPGA、CPLD和PROM。下载时有多种直载方 式,可以使用JTAG编辑器、硬件编辑器、PROM编辑器。因FPGA大多支持IEEE的 JTAG标准,所以使用芯片上的JTAG接口是常用的下载方式。 3.3.2 Virtex—lI Pro系列器件结构 Virtex.II Pro系列器件110l【15l是Xilinx公司针对新兴市场的需求推出的一款平台、系 统级器件,它采用0.13urn的9层全铜工艺生产,并继续沿用完善和成熟的Virtex.II体 系结构。它利用IP(Intellectual Property)植入技术(IV Immersion),无缝嵌入了32位的IBM PowerPC 405 RISC处理器内核和Rocket IO多路吉比特串行收发器MGT(Multi.Gigabit Transceiver)。最多可提供4个PowerPC 405处理器内核,24Gb串行收发器,以及125136 个逻辑单元和10Mb的BlockRAM。通过在Virtex.11 Pro系歹fj产品中内嵌32位的RISC 处理器内核和速率为600Mb/s。3.125Gb/s的Rocket IO高速串行接口,为FPGA平台用 于网络和通信系统提供了极高的带宽,使得Xilinx的PLD技术从传统的可编程功能向 网络、通信和存储服务器设计平台的功能转变,将FPGA器件推向了更广泛的应用领域。 Virtex.II Pro系列器件的逻辑结构主要由IBM PowerPC 405 RISC处理器内核、 Rocket IO多路吉比特串行收发器MGT、可配置逻辑块(CLB,Configurable Logic Blocks)、 第3章系统开发平台FPC,A技术及硬件选型 数字时钟管理器(DCM,Digital Clock Manager)、可编程输入输出块(IOB,Input/Output Block)、乘法器(Multipler)、块存储-器(Block RAM)等基本模块组成。 1.嵌入式PowerPC 405处理器 在Virtex.II Pro系列器件中,最多嵌入4个同样规模的PowerPC 405处理器内核。 每个处理器模块包含PowerPC 405 RISC硬核、OCM(On—Chip Memory)控制器、时钟和 控制逻辑、CPU.FPGA接口、各种内部总线等。 2.千兆位高速串行收发a(MGT)模块 在Virtex.II Pro系列器件中,Xilinx嵌入了多达24个通道的千兆位高速串行收发器 模块,可提供单通道全双工600Mb/s一3.125Gb/s的数据传输能力。多个收发器组合起来 应用,可使Virtex.II Pro系列器件实现高达75Gb/s的有效带宽。 3.可配置逻辑模块(CLB) , Virtex.II Pro系列器件的每个CLB模块由4个相同的Slice和附加逻辑构成,用于 实现组合逻辑和时序逻辑。每个Slice由两个4输入函数发生器、进位逻辑、算术逻辑、 存储逻辑和函数复用器组成。4输入函数发生器可以用于实现4输入查找表(LUT)、分 布式RAM或16位基于查找表的移位寄存器。每个CLB既可配置为分布式RAM,也可 配置为分布式ROM。 4.数字时钟管理器(DCM) Virtex.II Pro系列器件提供了性能更高的数字时钟管理器(DCM)。DCM模块是基于 Xilinx的其它系列器件所采用的数字延迟锁相环(DLL,DeIay Locked Loop)模块发展起来 的。在时钟的管理和控制方面,DCM比DLL功能更强大,使用更灵活。系统中采用 DCM设计可以实现零时钟漂移,消除时钟分配延迟,并实现时钟闭环控制;另外,使 用DCM使时钟可以映射到PCB上用于同步外部芯片,这样就减少了对外部芯片的要求, 将芯片内部的时钟控制一体化,以利于时钟设计。Vinex.II Pro系列器件的DCM共由四 部分组成。其中最底层仍采用成熟的DLL模块;其次分别是数字频率合成器(DFS,Digital Frequency Synthesizer)、数字移相器(DPS,Digital Phase Shifter)和数字频谱扩展器(DSS, Di西tal Spread Spectrum)。 基y-FPGA的视频图像处理系统 5.可编程输入输出逻辑块(IOB) IOB模块用于提供FPGA内部逻辑与器件封装管脚之间的接口。Virtex.II Pro系列 器件的lOB在Select]/0技术基础上发展到系统级的System I/O技术。该技术不仅支持 常用的一些接口标准,而且提供内部端接电阻和数字控制阻抗(DCI,Digital Controlled I质m量pe。da这nc些e)接技口术包,括输:出单驱端动接强口度I控,制唧,,从、而LV支CM持OS更、复SS杂TL的3.系I统/接II口、,PC有I、效P改CI善.信X、号A传 GP输 、 AGP.2X、SSTL2.1/II、HSTL-l/II/HI/W、GTL和GTL+等;差分接口LVDS、BusLVDS、 LVPECL、LDT;此外还支持DDR接口。为了能够适应系统中存在的各种接口标准, Virtex.II Pro系列器件将I/O引脚分成了8个块(Bank),每个Bank有各自的工作电压和 参考电源。可根据当前使用的I/O接口标准不同,设置不同的接口工作电压(vcco)和参 考电源(VREF)。 6.乘法-器(Multipler) Virtex.II Pro系列器件提供多达556个嵌入式18位×18位二进制乘法器。这些嵌入 式乘法器可实现18位x 18位带符号高速乘法运算。18位×18位的有符号乘法运算速度 可达140MHz,而4位×4位的有符号乘法运算速度可达255 MHz。乘法器模块不仅可 以通过交换矩阵与18Kb的块存储器配合使用,也可以单独使用。乘法器模块的物理分 布与块存储器的物理分布是一致的,两个模块彼此相邻,这种结构非常适合于高速的数 字信号处理。 7.存储器体系结构 (1)分布式存储器结构 分布式存储器(Distributed SelectRAM)是由CLB中的查找表(LUT)实现的。每个CLB 有8个UJT,可以构成8个16X 1或128X 1、64×2的存储器,通常用来构成小容量的 片内存储器。这种存储器具有访问速度快的特点,可以达到0.5as,因此常常用于数字信 号处理的数据缓存等。Virtex.II Pro系列器件最多可提供1.5Mb的分布式存储器。 (2)块存储器结构 块存储器(Block RAM)是FPGA内部的专用存储器模块,BRAM存储器是真正双口 (True Dual.Port)RAM,在器件内提供了大量快速分散的存储器块。BRAM存储器的 第3章系统开发平台FPGA技术及硬件选型 总量随着Virtex.II Pro器件的规模而增长(高达3.8Mbit)。18Kb每块的BRAM块是可 级联的,从而可支持更深和更宽的存储器设计,同时通过专门的布线资源使得时序代价 极小。块存储器可以配置成单端口BlockRAM或完全的双端口BlockRAM,双端口 BlockRAM的结构和标准原型如图3.4所示。 POrt A P0n B -WEA ·ENA RSTA CLKA DIAl’:01 ·ADDgA[’:01 :DIN+:01 。WEB ENB RSTB CLKB Dm[·:01 ADDRBI+:ol DIB『’:01 图3.4双端口BlockRAM结构和标准原型 Fig.3.4 Double port of BlockRAM 表3.1列举了Xilinx公司的FPGA系歹IJ产品主要技术参数。在本论文的研究中,我 们选用的FPGA芯片型号为XC2VP30。 表3.1 Xilinx公司系列产品技术参数表 Device XC2S200 XC2S5000 XC2V40 XC2V8000 Family Name Spartan Spartan Virtex II Virtex II Tab.3.1 Parameter of Xiliax’S production CLB Array Number of Slices Logic Cells CLB FlipFlops 24×20 104×80 8×8 112×104 1920 33280 256 46592 4320 74480 576 104832 3840 66560 512 93184 Block RA^I (bits) 216k 1872k 72 3024 最大用户 l加数量 173 784 88 1108 XC2VP2 Virtex II Pro 16×22 1408 3168 2816 216 204 XC2VP30 Virtex II Pro 80×46 13696 30816 27392 2448 644 XC2VPl00 Virtex II Pro 120X94 44096 99216 88192 7792 1164 基于FPGA的视频图像处理系统 3.4 DSP开发工具System Generator 3.4.1 System Generator for DSP 本论文在开发视频图像算法中将采用Xilinx公司开发的基于MATLAB的System Generator for DSP工具114J。System Generator for DSP是基于FPGA的信号处理建模和 设计工具。在MATLAB/Simulink的环境下完成算法的建模和设计,可以将一个DSP系 统表示为一个高度抽象的模块,并自动将系统映射为一个基于FPGA的硬件方案,而且 System Generator for DSP实现这些功能并没有降低硬件性能。此外它还能自动生成硬件 描述语言,测试程序,支持软硬件仿真,且支持用户创建的Simulink模块,并能在Xilinx FPGA上自动实现硬件系统【161。ISE可对工程进行仿真、综合、最后完成算法的硬件化。 3.4.2使用System Generator for DSP实现系统级建模 位流 成功/失败 图3.5 System Generator for DSP设计系统的流程图 Fig.3.5 Flow of System Generator for DSP 第3章系统开发平台FPGA技术及硬件选型 在进行DSP设计时,先要进行算法设计,然后再转换到硬件实现。使用System Generator for DSP的典型设计流程是: (1)用数学描述算法。 (2)采用双精度在Simulink中实现算法。 (3)将双精度算法改成定点的。 (4)将设计转换成硬件描述。 图3.5所示的是System Generator for DSP的设计流程,Xilinx Blockset库中的模块 可以与Simulink其它库中的模块自由组合系统模型,Xilinx Blockset中的黑盒子系统会 被System Generator中转换生成一些必要的文件。 System Generator模块使用的数据类型为任意精度的定点数,由于Simulink中的信 号类型是双精度浮点数,因此在Xilinx模块和非Xilinx模块之间必须插入Gateway In 和Gateway Out模块117J。通常Simulink中的连续时间信号在Gateway In模块中进行采样, 同时该模块也可将双精度浮点信号转换为定点信号,而Gateway Out模块则可将定点信 号转换为双精度浮点信号。 System Generator forDSP版本 System Generator forDSP9.2. System Generator forDSP9.1 System Generator forDSP8.2. System Generator forDSP8,1 表3.2开发工具的版本对应【18】 Tab.3.2 Version of development tools 操作系统 Windows XP Windows XP Windows XP Windows)(P MAll.AB工具 MATLAB R20Dl铀 orR2007a MAll AB R2006a orR2006b R14SP3 and R2006a R14SPI,R14SP2 andRl4SP3 Xilinx ISE版本 ISE9.2i ISE9.1i lSE8.2i lSE8.1i 使用System Generator for DSP开发软件之前,必须安装MATLABq-具和Xilinx FPGA 基于FPGA的视频图像处理系统 设计工具。不同版本的System Generator for DSP对应MATLAB、ISE如表3.2,开发工具 版本必须严格对应,否贝JJSystem Generator for DSPI每无法安装。 本论文采用的软件开发工具组合是:MATLAB R2006a,ISE 8.2i,System Generator for DSP 8.2;软件仿真工具:ISE Simulator。 第4章视频图像采集模块设计 第4章视频图像采集模块设计 由第二章设计的系统总体框图可知,视频图像处理可以主要分为两大模块: 视频图像采集模块和视频图像算法模块。本章主要介绍视频图像采集模块设计。 4。1采集模块实现框图. 视频图像采集的框图如图4.1所示。 IRCA·JAC.K I,> l 视频输入 处理芯片 SAA7113 wo[7。0l > rst capture r clk 。 <=刀=纠=弼=令 CE L OE L 7 WE FPGA采集模块 刀饽崩 《 ≥ CE r oE L WE L SRAMl SRAM2 图4.1视频图像采集框图 Fig.4.1 Block diagram of sample module 视频图像采集模块的主要作用是接收来自CCD摄像头的PAL制全电视信号 (cvas),经视频输入处理芯片SAA7113,输出ITU.656 4:2:2格式的数字化图 像数据,rrU.656格式是ITU(Intemational Telecommunications Union国际电信联盟) 推荐的数字视频数据格式。完成视频信号从模拟信号到数字信号的转换、图像信 号与其他复合消隐信号、复合同步信号分离、视频信号的格式转换等操作,最终 提供后端可以处理的数字视频数据,存储到SRAM中。 因此本章主要内容为可分为利用I 2 C总线对视频输入处理芯片SAA7113的初 始化配置,采用软件的方式控制SAA7113采集图像数据,最终将采集的图像数据 实时存储三个方面。 急于FPGA的视频图像处理系统 4.2视频输入处理芯片SAA71 13初始化 本设计中SAA7113的初始化是利用l 2 C总线来实现的,使之开始正常工作。 从CVBS端口引进的电视信号构成极为复杂。我们采用了Philips公司的视频输入 处理芯片SAA7113来完成数据的A/D转换。FPGA通过12 C总线和SAA7113相 连接,可以轻松的对其进行配置,以获取需要的数据信息。 4.2.1 SAA71 1 3概述 SAA7113是Philips公司的一种高集成度视频解码芯片1191,采用CMOS工艺, 在很多视频产品如电视卡、MPEG2、MPEG4中都有应用,支持隔行扫描和多种 数据输出格式,通过简洁的I 2 C总线与采样控制器连接可方便地构成图像采集系 统。本系统对视频解码芯片SAA7113的控制连接电路如图4.2所示。 4路模拟视频输 图4.2 SAA7113连接原理图 Fig.4.2 Logic diagram of SAA7113 从原理图可以看出,SAA7113支持4路模拟视频信号输入;采用+3.3V供电; 需外接24.576MHz晶体;SAA7113通过VPO总线、RTS0、RTSl、 SAA7113RST(SAA7113片选复位)、串行时钟线SCL(Serial Data Line)、串行数据 线SDA(Serial Data Line)与FPGA芯片进行通信。I 2 C总线通过数据线SDA和时 第4章视频图像采集模块设计 钟线SCL对SAA7113芯片进行操作。因此,在阐述SAA7113的配置前,先介绍 l 2 C总线的工作时序。 4.2.2 I 2 C总线时序分析 I 2 C(Inter-Integrated Circuit)总线是由Philips公司开发的串行两线式总线,自 80年代产生以来,由于其简单性和可靠性,被广泛应用于集成电路(IC, Intergrated.Circuit)及外围设备中【刎。 I 2 C仅需要两条线工作,串行数据线SDA和串行时钟线SCL。通过简单的主 /从协议,每个连接到总线上的设备都具有唯一的软可编址的地址。作为主设备或 从设备,取决于其在某时刻所起的功能,由主设备发起数据传输。在标准模式传 输中,串行8位传输方式和双向传输方式能达到100Kbit/s的速度。 完整的l 2 C总线数据传输如图4.3所示。 s队耻二二二心 r一一1 厄二二[恐1r一斤一1 s乳;;虱凤八八风八八庀}丁; 开始信号 从地址 R/W ACK 数据 ACK 结束信号 图4.3完整的12C总线数据传输示意图 Fig.4.3 Completed l 2 C bus data仃ansfer l 2 C总线上的数据传输由开始信号START条件发起,结束信号STOP条件结 束。本系统开始信号和结束信号均由主控器FPGA产生。开始信号:SCL为高电 平时,SDA由高电平向低电平跳变,标志开始传送数据。结束信号:SCL为高电 平时,SDA由低电平向高电平跳变,标志结束传送数据。 传输开始信号后,发送一个7位的从地址,占第一个数据字节的高7位,最 高位(MSB)在前,第8位读写标志位,占第一个数据字节的最低位。读写标志位为 基于FPGA的视频图像处理系统 “O”表明是向从设备写数据,为“1”表明是向从设备读数据。当…个地址被送 出后,系统内所有设备都将该地址与自己地址比较,如果匹配,则器件被选中; 根据最后一个比特(R/W)决定是作为从接收器或从发送器。数据传输的结束信号由 主设备产生。在起始条件和结束条件之间,主设备可以重复产生多个重复开始信 号,寻址不同的从设备,完成与多个从设备的数据传输。传送数据位时,SCL高 电平期间,要求SDA上传输的数据必须保持稳定。 4.2.3 SbA71 1 3的配置 掌握了1 2C总线协议之后,便可以通过I 2C总线对SAA7113进行寄存器配置, 配置方法大体可以分为两种,一种是编写硬件描述语言来模拟I 2 C时序来配置 SAA7113的各个工作寄存器,一种是使用单片机来对SAA7113的各个工作寄存器 进行初始化。本论文采用的是硬件描述语言的方式对SAA7113进行初始化配置, 从而完全控制山,D的过程。 使用FPGA模拟的I 2 C接口可以对SAA7113提供的多个控制字进行读写,I 2 C 协议中器件的地址是7位,加上读写位标识(写为“O",读为“1”)构成一个 完整的字节。SAA7113的器件地址是0100 101,末尾加上读“1”和写“0"位后, 器件地址分别为:写地址0100 1010(4AH)并II读地址0100 101 1(4BH)。从地址是器 件内部分配的控制字寄存器的地址。SAA7113提供00H.1FH、40H.62H共43个控 制字寄存器【2l】。 对SAA7113的写控制字过程如图4.4所示。 I 开始信号 I 器件地址+写 应答位 从地址 应答位 数据 应答位 停止信号 传输数据内容 m子节+厘否1 图4,4对SAA7113控制字寄存器的写操作 Fig.4.4 Procedure of write on SAA71 13 写控制字时,首先产生一个开始信号,送出4A(器件地址+写1的指令,收到一 个应答位之后,送出要进行写操作的从地址,同样收到应答位后,输出要写的内 容,再次收到应答,产生停止信号。 第4章视频图像采集模块设计 对SAA7113的读控制字过程如图4。5所示。 开始信弩 器件地址+。与 J衄答位 从地址 应答位 开始信号 器件地址+读 应答位 数据 应答位 停止信{, 传输数据内容 (N字节+应答) 图4.5对SAA7113控制字寄存器的读操作 Fig.4.5 Procedure of read 011 SAA71 13 对SAA7113控制字寄存器读操作比写操作复杂,分为两步进行:首先产生一 个开始信号,完成对器件地址和从地址的写操作,主器件收到应答位之后,接着 需要重新发送一个开始信号和4BH(器r件地址+读)字节,SAA7113收到后发出应答 信号,从地址的控制字单元数据从SDA线上输出,开始接收数据;数据传输结束 时发停止信号。 整个SAA7113配置的流程如图4.6所示。 图4.6 SAA7113配置流程 Fig.4.6 Configuration flow of SAA71 13 基于FPGA的视频图像处理系统 4.3视频图像数据采集 丌始采集视频时,SAA7113输出视频图像数据通过8位总线VPO传输给 FPGA。由于PAL制电视信号是隔行扫描,分为奇数场和偶数场传输,数字化以 后仍然格式不变,因此需要将奇数场和偶数场的数据还原成一幅完整的图像。 本论文通过分析视频数据流中的“FF 00 00 SAV/EAV”时间参考代码段,获 得奇偶场信号,场参考信号,行参考信号,有效行数据开始和结束信号,并根据 这些信号,编写Verilog语言控制数据的采集。 4.3.1 SAA71 13输出视频数据格式 SAA7113数字化后输出的视频图像数据是标准的11rU.656 YUV 4:2-2格式, YUV颜色空间是PAL电视信号传输过程中基本的格式,它充分利用传输通道的带 宽。Y分量代表黑白亮度分量,U和V分量表示彩色信息,输出数字视频信号数 据格式如表4.1所示【221。 BLANKING ’ PERIOD 表4.1 SAA7113输出的数据格式 Tab.4.1 SAA71 13 output data format 1rIMlNG REFERENCE CODE 72D PlXELS YUV 4:2:2 DATA 11MING REFERENCE CORE 80 10 FF 00 00 SAV Cb0 Y0 Cm Y1 Y719 FF 00 00 EAV 表4.1中,“80 10”表示当前视频信号处于行消隐阶段。“FF 00 00 SAV”是 时间参考代码段,标志有效视频数据的开始。其中“SAV”是“有效视频数据的 开始”(Start of Active video)。“Cb0 Y0 CrO Y1…Y719"是有效数据段。Cbn: U(B.Ⅵ色差分量,n是像素标号n=0,2,4…718,Yn:Y亮度分量,n是像素标 号n=0,1,2…719,Cm.V(R.Y)色差分量,n是像素标号n=0,2,4…718,“FF 00 00 EAV"是时间参考代码段,标志有效视频数据的结束。其中EAV是“有效 视频数据的结束"(End of Active Video)。SAA7113对SAV和EAV数据格式的定 义如表4.2所示。 第4章视频图像采集模块设计 第7位 表4.2 SAV和EAV数据格式 Tab.4.2 SAV and EAV output data format 第6位 第5位 第4位 0~3位 场标志位,第一 处于场消隐阶段 在SAV中为“0” 始终为“1" 场为‘‘0”,第 为“1”,有效数 在EAV中为“1" 保留 二场“1" 据阶段位为“0” 从表4.2中可以看到在完整的一帧图像数据中第一场场消隐阶段SAV为 “1010XXXX”,第一场有效数据阶段SAV为“1000XXXX"。“X"表示该位的 状态没有作用。其它场的SAV和EAV状态类推。 4.3.2视频图像采集的软件设计 (1)软件设计分析 8位总线数据VPO传输给FPGA,FPGA需要将数据保存到SRAM中,由于 PAL制电视信号是隔行扫描,奇数场和偶数场分别传输,因此在将数据保存到 SRAM之前,需要将奇数场和偶数场的数据还原成一幅完整的图像。 通常的设计都是利用SAA7113的RST0,RSTl两个引脚判断控制信号,但控 制信号有场参考信号VREF、行参考信号HREF和奇偶场信号3个,所以剩下的奇 偶场信号需要通过计数器来模拟,给设计带来繁琐且准确度不高。此外在实践中 发现,采用该设计方法有时候难以保证每一行采集的有效数据位置都一样,容易 导致图像错位。基于上述两点考虑,决定利用视频数据流的格式标准,来识别需 要得到的图像数据,目前这种方法在视频采集系统中应用还不多。 利用数据流的格式标准,通过分析VPO总线上视频数据流中的“FF 00 00 SA眦V”时间参考代码段,来识别奇偶场信号、场消隐信号和有效行数据的开 始和结束。可以获得奇偶场信号,场消隐信号,行消隐信号,有效行数据开始和 结束信号,根据这些控制信号,可以将奇数场和偶数场的数据还原成一幅完整的 图像。 确定了SAA7113采集方法,可以利用Verilog语言编写【23】f24】出FPGA采集 基T FPGA的视频图像处理系统 SAA7113输出数据流的程序。以下是采集一行视频数据时的流程图,如图4.7所 不。 图4.7 SAA7113采集数据流程图 sample Fig.4.7 Flow diagram of SAA71 13 data (2)Verilog语言编程实现 采用Verilog语言实现的模块代码较长,这里给出编写的视频采集模块的 module声明 module saa7113_sample(reset,elk,vpo,capture,error,SRAM—at, SRAM一0E-,SRAM—WE一,SRAM_ADDR,SRAM_DATA): 输入input类型的信号有reset,elk,vpo,capture: 输出output类型的信号有error,SRAM_CE_,SRAM_OE_,SRAM WE_, SRAM ADDR,SRAM DATA。 .27. 第4章视频图像采集模块设计 在该模块中,根据数字视频流中时间参考代码段内容的不同,构造出视频解 码的状念转移图,模块分析视频流中的数据,然后在各状态之间转换。主要用到 的状态有如下几个: Idle //空闲状态,复位之后的状态机起始状态 WaitForff //等待时间参考代码段的开始“FF”标识 Checkl //等待“00”标识 Check2 //等待“00”标识 CheckForNewPage CheckForFirstLine //等待“01”标识,新场的开始 ∥等待“000”标识,第一行有效数据开始 CheckForEndLine //是否一行数据的结束 CheckForNewLine //新的一行数据开始 Error //错误状态 主要用到的几种标识有: , 当“vpo[6:4]==3’b000”开始接受数据 当“vpo[6:4]==3’b011”说明第一场的结束 当“vpo[6:4]==3’blll"说明第二场的结束 4.3.3测试文件的编写 视频图像采集模块的软件编写完毕以后,采用编写一个Testbench仿真激励文 件在ISE自带仿真软件内进行功能仿真,在进行仿真时,文件模拟简化的输出数 字视频流,其中包含了时间参考代码段及图像数据。视频采集模块根据简化的视 频流分析出场参考信号VREF、行参考信号HREF和奇偶场信号,在根据计数器获 得需要的灰度视频图像数据。Testbench仿真激励文件模拟视频流的主要代码如下: capture=l; @(posedge elk)vpo=8’hl l; //开始解码 //送出数字视频流信号,开始为无效视频 数据 基于FPGA的视频图像处理系统 @(posedge clk)vpo=8’h55; @(posedge dk)vpo=8’hff; @(posedge clk)vpo=8’h00; @(posedge clk)vpo=8’h00; @(posedge dk)vpo=8’b10100000; @(posedge elk)vpo=8’hff; @(posedge clk)vpo=8。h00; @(posedge clk)vpo=8’h00; @(posedge clk)vpo=8’b10000000; @(posedge clk)vpo=8’h04; @(posedge clk)vpo=8’h08; ∥场消隐期 ∥时间参考代码段开始 //SAV标识第一场消隐 脯效场的开始 ∥时间参考代码段开始 //SAV标识第一场有效数据 ∥视频数据开始,接受灰度数据 }腿1 |腿2 @(posedge clk)vpo=8’h3c; @(posedge clk)vpo=8’hff; @(posedge clk)vpo"8’h00; @(posedge elk)vpo=8’h00; @(posedge elk)vpo=8’b10110000; |R1、 脯效视频数据结束 //第一场结束EAV 4.3.4采集模块仿真结果分析 通过上节编写的测试程序对数据采集模块进行时序仿真,仿真结果如图4.8所 不。 第4章视频图像采集模块设计 硼cIk 1 醐lick 1 臣堑型丑, 猢reset 1 F蕊弼丽广]e'hA0 硝vpoll] 1 孙vpo[B]0 翟vpo[sI 1 醵vpo[4]0 孙vpo[3l 、;0 1塑坚X!塑!!X!丝! —一 图4.8场消隐阶段 Fig.4.8 Vertical blanking signal 仿真结果分析:从采集模块的仿真结果可以看出,数据输出口VPO在视频数 据捕捉标识capture=l的时刻,开始采集数据,开始的“11 22 33 44 55”是无效数 据,“FF 00 00 A0”是时间参考代码段,SAV=“A0"标志第一场消隐视频标识。 此时的数据处于场消隐阶段,还没有进入有效数据的采集。 臻cIk 加lick 醐reset 巾旧增堆巾 ;≯∥矿y;~:y髟 ¨ 醵孤矾咎礤砧 m嘲圈附,科~ 一~, UUU U U U U U U U U U U U U U U U U U U U L 1厂]厂]厂]厂]厂]r]厂]厂 1 r]厂]厂] i丽两@铆阼Xo,的oO,jX 8栅fX 8ZFF.Xi一;撕孵≯炳 莉Y酾∞霭画X碗 l l l l I ,, I l j l l I ,, 卜 I ~ I I } l l I ; l l ’ 图4.9有效数据的采集 Fig.4.9 Valid data sample 仿真结果分析:仿真图中经过了场消隐区VPO=8’b10100000=8’hA0,有效场 开始标识VPO=8’.b10000000=8’h80(竖线表示)后,VPO开始传送有效数据01 02… 采集过的图像信号要送入存储模块,因此就需要一个精确的地址对图像信号 进行存储。仿真结果如图4.10所示。 基于FPGA的视频图像处理系统 礤elk 0 U U LJ U U U U l -J U U U U U U U U U U U U U U U L 胡lick 0 厂]厂]厂]厂] 厂]厂]几厂]厂]厂]厂]厂] 硐reset 1 龃capture 弼屯K vpoF:OI Ⅸ丽万炻丽烈酉丽 1 8hog )9 8%0A 8%0B 8%0C 8%0D 8%0E 8%0F 8%1 0 8'11 常蓊丽订o 匠蕊而矿—]4 1 8"nZZ 磁4 )(8'h7_Z)嵌8X 0 X 81177)()c匝 ' X2 图4.10采集有效图像数据并产生地址信号 Fig.4.10 Valid data and address signal 仿真结果分析:经FPGA处理后获得有效图像数据并产生相应的地址信号, 由于只进行灰度运算,只获取亮度信息,由测试软件中的图像输入数据为“04 08 12",同时产生地址信号“00 01 02’’。在图中第一个框ld[7:0]为图像数据,即“04 08 12",第二个框1a[18:0]为地址信号,即“00 01 02”。 4.4存储模块设计 FPGA将采集到的图像数据保存到缓存中,为后端对图像的进一步处理提供数 据。本系统采用两块SRAM作为图像缓存,并应用PING--PANG缓存控制方法对 其进行操作。第一次采样时,FPGA把从SAA7113接收到的一帧图像的数据保存 到第一块SRAM中,采样结束后,将第二帧数据保存到第二块SRAM中,同时从 第一块SRAM中提取数据进行处理,当任务完成之时,再进行总线的切换,交换 连接的SRAM。 4.4.1 SRAM接口电路的设计 StL&lVl即静态凡蝴,其每一个完整的存储单元都是一个双稳态电路,能够被 驱动而处于0状态或1状态,并且在去掉驱动激励后,仍然可以保持这种状态。 所以它不用刷新,只要不断电,SIL舢Vl内数据就会一直保持。StL4dVl器件存储速 度快、时序相对简单,容易控制,构成的存储系统比较稳定,其缺点是价格较贵、 容量小。目前,随着SRAM容量增大和价格下降,在一些实时图像处理系统中, 快速S洲设计作为图像缓存将越来越普遍。 第4章视频图像采集模块设计 本论文采用了两片型号为CY7C1049的SRAM作为图像的帧存,通过软件方 式控制SRAM的读写和对两片缓存进行切换操作。FPGA将采集到一帧图像数据 保存到SRAMl中,同时后端的图像处理模块读出SRAM2中的图像数据进行处理。 当一帧图像存储或处理完之后,两片SRAM通过存储切换模块进行总线切换, SRAMl中的数据供后端读出处理,SRAM2开始存储下一帧图像数据,即一个存 储器处于写入状态时,另一个帧存储器处于读出状态。需编写读、写时序控制程 序及存储切换程序。 CY7C1049芯片125】是一种高性能的SRAM,最大功耗324mW,速度等级12ns, 满足系统时钟频率要求;其容量大小为512KX8bit,满足一帧图像大小要求。它 有19根地址线(Addrcss0-Addressl8),8根数据线(DATA0.DATA7)以及三根控制线 OE,CE和WE。电路设计时,需将存储器的控制引脚和数据、地址信号引脚连接 到FPGA的IO口上,图4.11为存储电路原理图。 图4.11存储电路原理图 :。 Fig.4.11 LDgic diagram of storage 4.4.2 SRAM读写控制时序设计 StL芦dVl的读写控制主要就是严格按照StL,气JVI的时序对其进行读写操作。视频 解码模块工作时,StLAJVl控制器按照地址模块产生的地址和写信号将图像数据写 基y-FPGA的视频图像处理系统 到缓存中去;当采集的图像需要从缓存中读出时,便启动控制器产生读地址和读 信号来实现。对SRAM进行操作除了使用寻址信号外,控制器模块还需要三个控 制信号的配合:片选信号CE、输出使能信号OE和写使能信号WE。控制器数据 线接口为双向口,写数据时是输出口,读数据时是输入口,需要进行三态控制, 才能保证对SRAM进行正确的读写操作。 SRAM用CE、OE、WE控制完成写数据,具体时序如图4.12所示,图中two 表示写周期,写周期为12ns;tscE表示片选信号有效到写周期结束的允许时间;taw 表示地址信号有效到写周期结束的允许时间;tPxw表示写信号脉冲的宽度。 1- ‘w0 一 ;s 、/ \ \, /\ 、I. ~t一—. Y ~ 7 / ● : … tAw. l—.th。 ' . \K ≥/ ’ } / ,o>_<、队弘V川。 \ / 图4.12 S洲写时序 Fig.4.12 Write timing ofgRAM 写SRAM的时序要求为:首先输出并保证在地址有效的期间内,然后片选信 号CE为低电平;同时把输出使能信号OE为高电平,在CE的下降沿后WE从高 电平变为低电平,且WE为低电平的时间内,写入SRAM的数据。 系统采用了两片SRAM作为图像存储器,它们之间是交替工作的。当SRAMl 接收解码模块送来的图像数据时,SRAM2中的图像数据由后端图像低级处理模块 读取进行处理。两片缓存各自完成上步操作后,进行切换,SRAMl中数据被读取, SRAM2开始接收数据。如此循环,实现了并行工作,大幅度提高了系统的工作效 率。主要代码如下: 第4章视频图像采集模块设计 ∥控制信号toggle=1,从SRAMl中读取视频数据,toggle=0时,切换到SRAM2 assign ED—SRAM=toggle?SRAM一1一IN—ED:SRAM—2_IN—.ED; assign SRAM一1-()_ED=toggle?8'hzz:ld; assign SRAM一1一OEN=toggle?l'b0:l'bl; assign SRAM_1_EA=toggle?EA—SRAM:la; ’assign SRAM一1-CE_=toggle?CE—SRAM:SRAM_CE_;//toggle=1,output dsp to sraml;0,output saa71 13 to sraml assign SRAM_I_OE_=toggle?OE—SRAM:SRAM—OE一; assign SRAM 1 WE_=toggle?WE—SRAM:SRAM_WE_; 4.4.3存储模块仿真结果分析 对SRAM进行读写控制的仿真结果如图4.13所示。 NOW: 5000ns 硐cIk 硝¨ck 礤reset 协27 1759∞.59 f359ln8 I '4 1 55p rig '6阳 0 l几r]几 u]r 1 ]厂]厂]厂]厂]厂]r]r]厂。l厂L 1 胡toggle 1 爱ⅨSRAM-1一EAn8:印 1 l搠践s尺^M一2一EA[1 e:0】l 0 搿函(SRAM一1一O—ED[7:0]81'IzZ I戮眈X SRAM一2—0一ED[7:0]l 4 砸毯la[18:01 0 缆ⅨId[7:0]4 l硼SR,,e洲_WE— l0 l硼SRAM—OE— I1 f 。| 0 X t X 2 8佗Z 8'h77)(I 删8'hT-Z)锹8X 81",,ZZ )4X’2X 8 0 81'tZZ)《! 蚓8'hZZ 槲81"tZZ X U {X 2 I厂一 ){茭!!X壁 一 I厂]r—] l硼SRAM—CE— 田a(vpoF:ol 9吲.璺X l 0 .!。X.!垒.X堕X.12 X!兰。X。!!X..!璺.X!璺1)(!!X。!筮 图4.13对SRAM的写控制仿真 Fig.4.13 Simulation of writing control 仿真结果分析:由上图可以看出,当SRAM—CE片选信号置低,同时输出有 效数据SRAM—OE置高,写有效信号SRAM—WE置低位时,数据信号ld【7:0】和地 址信号la[18:0]开始向SRAM 2 EA[18:0]和SRAM_2_ED【7:O】存储器写入。 .34— 基于FPGA的视频图像处理系统 效数据SRAM—OE置高,写有效信号SRAM—WE置低位时,数据信号ld【7:0】和地 址信号la[t8:0]-)T始向SRAM一2一EA[18:0Vf=1]SRAM一2 ED[7:0]存储器写入。 两块SRAM之间的切换,如图4.14所示。 NOW: 5000ns a151 1 n8 2776 ns 1.76 3576 115 3976 43715 rls h血舢60咖抽 I I…! I l 1 I l l l I 咖叽珊唧唧0l咖咖删哪咖0咖咖『讥nfl咖嗍咖||IUl0咖咖咖舳I |]几nn n n几几n n几rul nn兀n几n n门几n n nn几n n n门几n几几几门n n兀几n『 t斟la[1 9:01 霉Ⅸtd[7:01 矾SRANLVVE 翟SRP,删一OE一 硼SRAM—CE— I’’ ’ 一X 9 X 10 I 荭理 即磷《8.hZz孙《 卜X 9 X 理 }h习}《8瓢zz)诛 UU , 伯扑蚴加眠,o n r] o l X’ X :。:: 10 81.1ZZ 10 B'、z:z, ’ 6。hZz X,0 X,Ⅺ’ 煅a忆z撇8乱Zz炯: X 0 X 1 X’ 】K8’_lZz】贼B瓢zz灌薹 U U U 几几门 图4.14阴块SRAM的切换的仿真 Fig.4.14 Emulation of two SRAM change ~ .’! : ‘ 仿真结果分析:从仿真结果可以看出,在绿线左边数据信号和地址信号开始 对SRAM2进行写操作,每次写的数据和地址都改变,总共重复十次。然后toggle 变为低电平,开始对SRAMl进行写操作,此时读出SRAM2中的数据。完成数据 总线的切换。SRAM读、写时序波形符合设计要求。 整个仿真结果表明整个视频信号处理程序完成了预先设定的设计目标。 第5章视频图像算法模块设计 第5章视频图像算法模块设计 在实际应用系统,经常会由于一些噪声、光照等因素使图像的质量往往不高, 为了便于显示、观察或进一步的处理,常常需要对原始的数字图像进行特征提取、 噪声平滑滤波、几何校正等处理,这类图像处理技术称为图像的低级处理。在低 级处理中,图像处理算法具有数据量与运算量大,算法简单的特点,因此,该环 节在系统中最为耗时,对整个系统速度影响较大。 目前,越来越多的算法可以用硬件来实现。但是,由于图像处理算法的复杂 性、多样性,一个系统只能采用一种结构,限制了其应用范围;而且在实现和调 试各种视频算法时,需要通过软件和硬件仿真来验证其功能性,视频流的实时特 性,令视频处理应用的仿真产生了挑战。本论文提出的是一种在System Generator for DSP开发环境中,用基于模型的方式设计视频图像算法的硬件平台,其优点是 灵活性强,设计周期短,算法验证方便,利于开发者改进新的算法,是视频图像 处理发展趋势【291。 5.1视频图像算法 图像平滑滤波和图像锐化滤波是常见的图像增强算法【31。平滑滤波用于模糊处 理和减小噪声,可用低通滤波器实现;锐化滤波为了增强被模糊的细节边缘,可 用高通滤波器实现。不管使用何种滤波器,基本的滤波算法是对图像模板下面的 像素与模板系数的乘积求和,也称为模板卷积。 主要步骤为: (1)将模板在图像中漫游,并将模板中心与图像中某个像素重合; (2)将模板上系数与模板下对应像素相乘; (3)将所有乘积相加; (4)将模板的输出响应赋值给图中对应模板中心位置的像素。 如图5.2 a)给出图像的一部分,其中所标为一些像素的灰度值,现在假设有一 个3×3的模板如图5.2 b)所示,模板内所标为模板系数,如将‰所在位置与图中灰 基于FPGA的视频图像处理系统 度值为s。的像素重合,模板的输出相J妇为 R=k o S o+k 1 Sl+…+k 8S 8 (5.1) l k4 k5 k6 kt k“ k? k2 kl k8 1 .—IL- I I l ● b) a)原图b)3X3模板c)输出像素 a)Original image b)3x3 operator c)Output pixel 图5.1 3 X 3模板空域滤波 Fig.5.1 3x3 spatial filter 5.1..】图像平滑算法 平滑滤波器用于模糊处理和减小噪声,其原理是平滑滤波器能减弱或消除傅 立叶空间的高频分量,而高频分量对应图像中的区域边缘等灰度值具有较大较快 变化的部分,滤波器将这些分量滤去可使图像平滑。 图像平滑滤波,属于线性低通滤波器,需用到模板操作。平滑模板的思想是 通过一点和周围几个点的运算(通常为平均运算)来去除突然变化的点,从而滤 掉一定的噪声,但图像有一定的模糊。模板操作实现了一种邻域运算,即某个像 素点的结果不仅和本像素灰度值有关,而且和其邻域点的值有关。 邻域平均法是一种对局部空间处理的算法,这种方法的基本思想是用几个像 素灰度的平均值来代替每个像素的灰度。假定有一幅N×N个像素的图像触,y), 平滑处理后得到一幅图像gG,y)。g(x,y)由下式决定。 咖)|古伽黔∥) (5.2) 式中:X,y=0,1,2,…N.1, S是G,y)点邻域中点的坐标的集合,但其中 不包括(x,Y)点,M是集合内坐标点的总数。上式说明,平滑后的图像g(x,y)中的 第5章视频图像算法模块设计 每个像素的灰度值均由包含在0,y)的预定邻域中的几个像素的狄度值的平均值来 决定。 一种常见的平滑算法将原图中一个像素的灰度值和它周闱邻近像素的狄/复 值相加,然后将求得的平均值(除以25)作为新图像中该像素的灰度值。我们片J 如下方法来表示该操作。 1 11 11 111 11 1 11111 25 1 11 11 1 1 1 11 (5.3) 以上模板虽然简单常见,但是其平滑效果不是很好,图5.2 b1为使用这一模板 后的仿真图,经过大量实验,本论文将采用的一下5×5的平滑模板。 11 1 11 15 5 51 1 1 5 44 5 1 100 15 5 51 11 1 11 (5.4) MATLAB工具f26l对两个模板进行仿真结果如图5.2所示。由图可以看出,本 论文采用的模板对原图像起到平滑的作用,而不使图像失真。 1)原图2)常用模板滤波3)本论文应用模板滤波 1)Original image 2)Common use filter 3)This paper imply filter 图5.2平滑滤波模板比较 Fig.5.2 Comparison of smoothing filter 基于FPGA的视频图像处理系统 5.1.2图像锐化算法 图像锐化的目的是使边缘和轮廓线模糊的图像变得清晰,并使其细节清晰。 边缘和轮廓一般都位于灰度突变的地方,因此可以用灰度差分提取出来。然而, 由于边缘和轮廓在一幅图像中常常具有任意方向,而差分运算是有方向性的,因 此与差分方向一致的边缘和轮廓便检测不出来,因而希望找到一些各向同性的检 测算子,他们对任意方向的边缘和轮廓都有相同的检测能力。 具有这种性质的锐化算子有梯度算子、拉普拉斯(Laplacian)算子。其中, Laplacian算子在用于边缘检测时,对噪声过于敏感,要得到好的边缘检测效果, 往往在使用Laplacian算子后,还需要施以阈值运算。一般说来,Laplacian检测边 缘的效果不如梯度算子好。因此本论文在做图像锐化处理的时候采用梯度算子的 方式,以下介绍几种常用的梯度算予Robert、Sobel和Prewitt算子。 (1>Robert算子 梯度运算是图像处理的最常甩的微分方法。设图像灰度函数为2可@,夕),x,Y 为像素坐标,则它在点f(X,Y)处的梯度、梯度大小、相位公式分别表示为: GifO,),)1 t (5.5) GIf0,y)】置 (5.6) 0;arct卸悼/堕1 (5.7) {0y ax l Robert边缘检测算子根据任意一对互相垂直方向上的差分可用来计算梯度的 原理,采用对角线方向相邻两像素之差,即定义Robert算子; G[f(i,j『)】一4if(i+1,_『+1)一厂o,J『)】2+【厂(f+1,,)一厂o,-『+1)】2 (5.8) 简化为:G[f(i,,)】一If(i,j『)一,a+1,_『+1)l+I厂(i+1’_『)一f(i,_『+1)I (5.9) 第5章视频图像算法模块设计 Robea算子卷积模板如下: 疋。[三二】 尺,2[!11三】 c5·,。, (2)Sobel算子 用Robert算子锐化图像时,图像中的噪声、条纹等同样得到加强,这在图像处 理中会造成伪的边缘和轮廓。Sobel算子则在一定程度上克服了这个问题。 Sobel算子的基本思想是:以原图像的任意像素“,_『)为中心,分别计算窗口中 心像素机,y方向上的梯度。 瓯;【厂O+1'J一1)+2fQ+1'j『)+,(f+1,_『+1)卜 【,(f—L j一1)+2厂G一1,j『)+,o一1,J『一1)1 S,一【fO-Lj+1)+2,G,j『+1)+f(i+1,-『+1)卜 lf(i一1’.j『一1)+2f(i.j『一1)+f(i+1,jf一1]I】 (5.11) 、 ’ 增强后图像在(f,j)Ck的灰度值为: g=√s,2+s,2 (5.12) 对于数字图像,由于其计算公式的繁简对处理工作量影响较大,可简化为: g—ls,I+Isyl (5.13) 可以看出,Sobel算子在计算X方向和Y方向上的梯度时,不像普通梯度算子那 样只用两个像素灰度差值来表示,而是采用两列或两行像素灰度加权和的差值来 表示,这使得Sobel算子具有如下优点: 幻由于引入加权平均,因而对图像中的随机噪声具有一定的平滑作用。 b)由于Sobel算子采用间隔两行或者两列的差分,所以图像中边缘两侧的像素 得到增强。Sobel算子得到的锐化图像的边缘显得粗而亮。 Sobel算子可以通过以下两个模板实现: s,4[三至 三 至】 沪睢刘 慨㈤ 基于FPGA的视频图像处理系统 (3)Prewitt算子 Prewitt算子与Sobel算子区别仅在于选用的模板不同。 f一1 —1 只=l 0 0 【1 1 『_1 弘【二: 采用MATLABT具仿真三个边缘检测算子如图5.3所示。 (5.15) b) c)d) a)原图b)Robert算子滤波C)Sobel算子滤波d)Prewitt算子滤波 a)Original image b)Robert operator c)Sobel operator d)Prewitt operator 图5.3不同锐化滤波算子比较 Fig.5.3 Comparison of different sharpening operator 由上图可以发现,Sobel算子和Prewitt算子的效果比较好。因此本论文将实现 Sobel算子实现边缘检测。 第5章视频I到像算法模块设计 5.2模板卷积的实现 模板卷积运算是图像低级处理中最基础、最重要的算法之一,以上介绍的几 种常见图像算法均需要模板卷积来实现,不同之处只在选择不同的乘积系数,因 此模板卷积的实现是实现各个图像算法的关键所在。 , 在图像算法中,所使用的模板需要的是二维卷积,也就是二维滤波,而一维 卷积是二维卷积的基础,所以先讨论一维卷积模板匹配的实现。 5.2.1一维卷积实现 对于两个长度分别为m和n的序列f(i)和g(J),可以给出一个长度为 N=m+n.1的输出序列: 厅(f)=厂O)拳g(J)。罗f(j)g(i—J『) 7 (5.16) 图像处理中的卷积与上面的定义稍微有一点不同。用一个模板和一幅图像进 行卷积,对于图像上的一个点,让模板的原点和该点重合,然后模板上的点和图 像上对应的点相乘,然后各点的积相加,就得到了该点的卷积值。对图像上的每 个点都这样处理。由于大多数模板都是对称的,所以模板不旋转。 设,O)为模板序列{M,w2,w3,…wk),g(_『)为输入图像序列{而,x:,屯,…‘),则 模板匹配后的结果序列为{M,y:,Y3,…以粕。),则 Yi—wlzf+W2zi+1+…+wIx“I一1 其硬件实现的原理图如图5.4所示。 (5.17) 输入像素 图5.4一维卷积实现原理图 Fig.5.4 Diagram of one-dimensional convolution 基于FPGA的视频图像处理系统 5.2.2二维卷积实现 二维离散信号f(x,Y)作为输入,g x,Y)称为系统的卷积核,那么线性系统的 输出h(x,Y)可用下式表示: 、. ^(工,y)=厂(z,y)+g(工,y)=。三。。薹,‘,7l,,1),(z一肌,y一珂’ m-.一∞月.-一o =∑∑f(m,以)go—m,Y一刀) (5.18) ●).1f'- 上式称为二维卷积,卷积实质上是对信号进行滤波。系统也可称为二维滤波 器。二维滤波器在噪声的去除、图像的增强、边缘检测中都是必要的部分【281,在 视频图像处理应用非常广泛,一般卷积核是按像素点和行排列进入图像处理的二 维卷积中。 在一维卷积的基础上,可以实现二维卷积,以3×3的模板窗口为例,输入图 像点为工u,输出为Y¨,则 .: … yf,』2 M,1 X Xi一1,卜1+wl,2 x Xi一1,,+M,3 x Xi一1,,+1 +W2,1 X Xf,』一1+W2,2 X Xi一1,J+w2,3 XXf一1,,+1 (5.19) +w,3,1 X Xi+1,J一1+鸭,2 x Xi+1,,+14'3,3 X Xi+1,,+1 由上式可以看出,二维卷积可以看作是三个一维卷积的和,所以其硬件构成I划 可如图5.5所示。 输入像 素 图5.5二维卷积实现原理图 Fig.5.5 Diagram of two—dimensional convolution 第5章视频图像算法模块设计 5.3 System Generator模型建立 根据二维卷积模板的实现原理图,可以在MATLAB的Simulink模块罩搭建:二 维卷积模型以达到图像处理的目的。具体如何利用System Generator for Dsp在 , Simulink中设计的具体步骤在第3章已经讲述完毕,本节主要是对前面所讲的图像 算法在System Generator for DSP搭建模型27。32】,仿真图像平滑算法和Sobel算子 的锐化算法。总体框图如下。 匿鳟嘲卜岖口廿r Liritl 。Line2 弛LiM3 Din Linea. R吲 Un娟 心Aer,。 Eine2, “he3 Ol|t Line4 Uhe5 System 6erie嚏or 图5.6 5×5模板的图像滤波框图 Fig.5.6 Block diagram of 5×5 operator filter 系统搭建采用的是5X5的模板卷积。 (1)grayScaleSigal视频源。作用提供原始图像数据。 (2)Gateway In模块。作用将浮点数转换成定点宽度的定点数,因为FPGA里 面不能直接实现浮点运算。 (3)延迟模块。作用在进行FPGA实现时生成寄存器,以滤除输入端出现的毛 刺。 (4)五个行缓存。确保图像数据在Line Buffer中缓存后并行输入。 (6)5x5滤波器。通过5阶滤波器实现一维卷积的结构,并累加输出。 (5)Gateway Out模块。与Gateway In模块作用相反,将定点数转换成浮点数。 (6)filteredlmage视频宿。对滤波后的图像进行显示。 以下各模块实现做详细介绍。 基于FPGA的视频图像处理系统 5.3.1创建视频源 在MATLAB中图像的读取采用imread这个函数,使其产生的图像数据值写 入workspace中,不过这个时候的视频图像数据一般是以2维矩阵的形式出现,而 System generator的Gateway In端口要求图像数据必须一个像素一个像素传送,因 此就需要将2维矩阵型的像素转换为串行的数据,也就是将m×n的矩阵转成1 X (m幸n)型矩阵。因此需要编写m文件如下。 【imageData,map】=imread(’miss.bmp’); for I=1:lineSize, for J=1:256, pixel=double(imageData(I,J)); mapValue=map(pixel+1); grayPixel=mapValue拳255; grayScalelmage(I,J)=uint8(floor(grayPixel)); end end grayScaleSignal=reshape(grayScalelmage,1,NPixels); 这样要处理的图像数据就在workspace中形成,再调用Simulink中的signal from workspace模块可直接与Gateway In直接相连,之后就可与硬件实现电路相 接。 5.3.2植入视频图像算法 使用5×5的二维FIR滤波器完成图像增强预处理。该系统将输入图像分别延 迟0xN(N为输入图像宽度)、lxN、2xN、3xN、4xN个采样点后输入5个行缓 存,使得图像数据在Line Buffer中缓存后并行输入到5×5的MAC FIR滤波器中, 实现空域滤波功能,使图像达到增强效果。MAC滤波器是Xilinx Blockset中的固 有模块,基于乘积和的滤波器。滤波器系数也就是模板值存储于FPGA的块RAM 中,图像数据经滤波器处理后输出,根据系数的不同,实现滤波的不同算法。 第5章视频图像算法模块设计 Virte短Line BufieD 图5.7数据缓存 Fig.5.7 5 line butter 图5.8 5×5滤波器 Fig.5.8 5x5 filter 本论文采用平滑滤波模板为: .46.. 基于FPGA的视频图像处理系统 11 1 11 15 5 51 1 1 5 44 5 l 100 15 5 5 1 11 1 1 1 (5.20) 锐化滤波模板采用Sobel算子,其滤波模板分别为: 0 0 000 O 一1 0 1 0 0 —2 O 2 0 O 一1 O 1 O 0 0 O0O O0 O 00 01 2 10 Sy= 0 0 0 00 O —l 一2 —1 O O0 O 0O (5.21) 5.3.3视频宿 滤波过后的数据要想显示出来,也要先将数据进行转换,将1 X(m术n)的矩阵 转成mxn型矩阵。 if(exist('filteredlmage','var’1&exist(’lineSize','vart)&exist(’NPixels','var')) filteredlmageS!ze=size(filteredlmage); designLatency=20+2宰lineSize; . if((-isempty(filteredlmage))&(filteredlmageSize(1)>= (designLatency+NPixels-1))) rawlmage= uint8(floor(reshape(filteredlmage(desiguLatency:designLatency+NPixels一1),lineSize, 256))); h=figure; clf; colormap(gray(256)); set(h,’Name’,’Filtering Results’); subplot(1,2,1); image(grayScalelmage),… axis equal,axis square,axis off,title’Original Image’; subplot(1,2,2); image(rawlmage),axis equal,axis square,axis off; .,47.. 第5章视频图像算法模块设计 filterTitle=’Filtered Image’; title(filterTitle) colormap(gray(256)); end end 5.4图像算法仿真结果及分析 原始图像通过本论文搭建的系统模型处理,将公式(5.20)的模板值带入仿真模 型时,可以得到图5.9的仿真结果,与图5.2 b)比较可以看出,经过硬件模型搭 建的算法能够达到平滑滤波的效果,所得图像与原图像的比较如下: Onginal Image 图5.9原始图像和平滑滤波后的图像 Fig.5.9 Original image and smoothing filtered image 同理将将式(5.21)的SobelX和SobelY的模板值带入搭建的系统中,得到仿真 结果如图5.10和5.11所示。 将用Sobel算子图像算法结果与用MATLAB仿真出的图做比较,可以看出滤 波后图像的效果能够达到锐化算法要求。 基于FPGA的视频图像处理系统 Original Image Filte red Image 图5.1l原始图像和SobelY锐化算子后的图像 Fig.5.11 Original image and Sobel Y sharpening filtered image 5.5硬件语言文件的生成 在正确完成Simulink的建模仿真之后,双击System Generator模块并单击 Generator按钮来生成图像算法模型的Verilog语言等项目文件。目标器件选为 Virtex.II Pro。图5.12为自动生成的硬件语言及网表成功的标识。可以从Show Details中可以看出整个生成过程需要46.1436 seconds。 ..49.. 第5章视频图像算法模块设计 图5.12硬件语言等文件生成标识 Fig.5.1 2 Verilog HDL generation completed 生成的Verilog HDL代码可以在ISE中直接调用,在ISE调用的截图如图5.13 所示。 ¥otrrcez for:Synthezi z/ImplemerLt ati On 、,j 。ijmiH—CW 一髓xc2vp30—7 ff896 .。同菇mi珏一cw如i虻一cw.y) 子、i v1 degaul.t—clock_drivet—mi ss—clock_driver抽i ss—CW.v) t lv'misz_x0一mi ss(mi s=v) { lvl clk_probe—xlcllqprobe“i钻一CW.v) ; |V“IPerzx ztentdff_inst—xlpersi ztentdff“i钻一cw y) { 图5.13 ISE环境中调用生成的硬件语言 Fig.5.13 Verilog HDL in ISE environment 生成的Verilog语言可以与第四章编写的代码放在一起,通过编写顶层文件连 接各模块程序以达到整个系统完善的目的。通过这种方式,在研究比较复杂的算 法情况下,以基于模块化的设计工具开发新的算法,便于算法的开发与验证。使 DSP的应用和FPGA完美的结合在一起。 5.6硬件资源消耗情况 Xilinx Blockset中有资源评估模块,将这个模块移入建模环境,可以对算法资 源的利用情况做简要分析。其分析结果图5.14所示。 基于FPGA的视频图像处理系统 ……一,,’…^…^…h^…。。。……·—…’ Slices …““’’一 ‘一4~“……‘~…~……一”… :339 ’_, “。一“ …‘~ ‘“ } FFs ;569 BRA研s l肌s 7…………………n一…———…………—㈣…… 。;i~一9’~。…‘.……。”?………………“…………,一…~‘^’“…’~…11._…。~一一~一^“。…、?…,、,”…、^…~1…………+~。…’。“…1^……“…。一……………o :k…323。……一……………——…………~…—。~一……3; 10Bs ;:16…。…。…………一~…一~,…~………一…一.‘o{ Emb.Mttlts TBI呼s 图5.14硬件资源消耗情况 Fig.5.14 Detail for resource consumption 从图中可以看出系统的资源消耗。与第三章所列的Virtex.II pro开发板的硬件 资源做比较,可以看出硬件系统消耗的逻辑资源不到5%,实验表明,还有大量资 源可以应用于其他模块。 本论文只是实现了比较简单的图像算法,利用图像的平滑和锐化对原始图像 数据进行初步的处理,平滑算法可以用于模糊处理和减小噪声,锐化算法使图像 边缘和轮廓线模糊变得清晰,可以用作视频检测技术等领域。 利用本论文所采用的开发环境可以进一步开发出更复杂的图像算法和创建更 复杂的系统功能,使得整个视频图像处理系统达到全面集成化,最终达到资源的 充分利用。 结论 结论 随着视频图像技术的不断发展及其应用范围的不断扩展,建立一种高速、集成、有 效的视频图像处理系统的研究显得越来越重要。经过近一年的知识积累、学习研究和设 计开发,本人通过对数字视频图像技术的了解、研究并掌握了一些图像处理算法的基本 理论与实现方法,学习了有关FPGA的硬件开发技术,开发设计了基于FPGA的视频图 像处理系统。总结全文,主要包括以下工作: (1)通过查阅国内外视频技术的发展及应用范围的资料,明确了课题提出的意义及 设计目标,学习视频信号的组成,了解CCD摄像头的输出图像信号的格式,分析实时 图像处理技术的特点,确定了基于FPGA的整体方案,系统的主要构成及数据流程。 (2_)学习系统开发平台FGPA的结构及开发流程,研究Virtex.II Pro系列FPGA器 件的结构和利用Verilog HDL进行程序开发的有关内容,学习如何在MATLAB中实现 FPGA的硬件设计,并对集成化开发工具ISE、仿真工具ISE Simulator功能及使用方法 进行熟悉掌握。 (3)视频采集模块。采用了Philips的SAA7113视频转换芯片,其作用是对CCD输 出的PAL制的模拟视频图像进行A/D转换,利用I 2C总线对视频输入处理芯片SAA7113 的初始化及工作模式配置,采用Verilog HDL硬件描述语言控制采集卡的数据采集,通 过用输出数据流的格式标准,来识别奇偶场信号、场消隐信号和有效行数据的开始和结 束信号,根据这些控制信号,完成整幅图像的采集。系统采用两块SRAM作为图像缓 存,FPGA把从SAA7113接收到的一帧图像的数据保存到第一块SRAM中,然后进行 \ 总线切换。通过编写测试文件,对视频图像的采集存储整体进行仿真,验证了软件编写 的正确性。 (4)视频图像算法模块。分析图像处理低级处理算法及特点,在System Generator for DSP构建算法模型,主要是二维滤波器的设计,实现平滑滤波、锐化滤波低级图像处理 算法,系统级仿真验证后自动生成硬件描述语言,测试程序,并对硬件资源消耗情况做 简要分析。 在完成以上工作的过程中碰到了许多的困难,但收获的更多。整个毕业设计过程中, 基-丁.FPGA的视频图像处理系统 我学会了综合运用各种学习资源,边学边做,来解决实际的问题。在老师的帮助与我自 己的不懈努力下,顺利的完成了整个系统的设计’与实现,由于视频图像处理系统的内容 十分丰富,而且时间有限,本次设计难以达到完备性和创造性的要求,系统还有待进一 ’ 步完善和发展: 首先,图像算法是视频图像处理技术的关键,本论文只是实现了几种简单的图像算 法,需要对复杂算法做进一步研究分析,搭建出更加复杂的图像算法模型。 其次,整个系统可以均在System Generator for DSP中开发,所有模块均可通过一个 MicroBlaze控制器来进行控制。开发出全面集成的视频图像处理系统,更加符合当前流 行的SOC(System On Chip)思想。 参考文献 参考文献 [1]吴继华.将低成本FPGA用于视频和图像处理.电子设计应用.2007,01:26—30. [2]刘直芳,王运琼,朱敏.数字图像处理与分析.北京:清华人学出版卒十,2006. [3]Suhel Dhanani.An FPGA design flow for video imaging applications,DkR Industry Articles 2007,03 [4]赵坚勇.电视原理与系统.西安:电子科技出版社,2005. [5]俞斯乐.电视原理.北京:国防工业出版社,2005. [6]裴昌幸,刘乃安.电视原理与现代电视系统.西安:电子科技大学出版社,1997. [7]刘富强.数字视频监控系统开发及应用。北京:机械工业出版社,2003. [8]Xilinx.在全集成设计环境中开发视频IP.嵌入式在线,2007.6. [9]徐欣,于红旗,易凡等.基于FPGA的嵌入式系统设计Xilinx Edition.北京:机械。丁:业出版 社,2005. [10]孙航.xil inx可编程逻辑器件的高级应用与设计技巧.北京:电子]:业出版社,2004. [11]矸英,李新新,姜宇柏.ISE应用与开发技巧.北京!机械:T:业出版社,2007. [12]刘建清.从零开始学CPLD和Verilog HDL编程技术.北京:国防一l:业出版社,2006. [13]Xi 1 inx Data Book,2005. [14]王诚,薛小刚,钟信潮.FPGA/CPLD设计工具Xilinx ISE使用详解.北京:人民邮电出版社,2005. [15]Xi l inx.Virtex II Pro Platform FPGA Handbook.2002。 [16]任晓东,文博.CPLD/FPGA高级应用开发指南.北京:电子工业出版社,2003. [17】Xilinx.System Generator for DSP Version 8.2i user’S guide.March 2005. [18]Xilinx公司主页.http://嗍.xilinx.COIll. [19]Philips Corporation.S从7113 datasheet.1999.7:卜3,45—48. [20]The 2 I C-bus specification version2.1.2000. [21]张晓健.视频解码芯片S从7113的初始化与控制.电子设计应用.2003,08. [22]刘韬,楼兴华.FPGA数字电子系统设计与开发实例导航.北京:人民邮电出版社,2005. [23]王冠.面向CPLD/FPGA的Verilog设计.北京:机械工业出版社,2007. [24]王伟.Verilog程序设计与应用.北京:人民邮电出版社,2005. [25]Cypress Semiconductor Corporat ion.CY7C1049CV33 SRAM Data Sheet.2000. [26]高成,赖志国,陈继云.I·ATLAB图像处理与应用.北京:国防工业出版社,2007. 一54. 基于FPGA的视频图像处理系统 [27]薛定宁,陈刚泉.基于MATLAB/Simul ink的系统仿真技术与应劂.北京:清华大学出版社,2002, [28]K Benkrid,D Crookes,J Smith.High Level Programming for Real Time FPGA Based Video Process i ng.0—7803—6293—4/00 2000 IEEE. [293 DanielE.Michek.Developing image processing algorithms with System Generator. Broadcast Solut ion Guide.2005,09. [30]ALTERA.Edge detection reference.appl ication Note 364.2004.VeT.1.0. [31]Hong—Swee Lim,David Zhang在视频监控系统中使用FPGA进行视频处理.DSP杂志.2007,04 (3):25—27. [32]A1 i Behboodicn.基于模型设计方法.DSP杂志.2005,05:53—55. .55- 攻读学位期间公开发表论文 攻读学位期间公开发表论文 杨宁,董辉,白桂欣.基于现场可编程门阵列的液晶的驱动设计.大连海事大学学 报.2007.6,V01.33:165—167 致谢 致谢 在本论文完成之际,我首先要特别向我的导师董辉副教授和白桂欣高级工程师表达 我最诚挚的谢意。恩师治学严谨,待人宽厚,在整个研究生期问无论是在学术上还是在 生活都给予我无微不至的关怀,在此我表示最衷心的感谢。在我以后的工作生活中,老 师严谨求实的治学作风和一丝不苟的工作态度以及为人处事的态度都将使我受益终生! 感谢我们专业学科带头人朱义胜教授,朱老师渊博的学术知识,严谨的科学态度, 诲人不倦的精神,给我留下了深刻的印象,并对我的科研作风影响深远。 在这两年多的时间里,很多同学都给了我很大的帮助,特别感谢实验室的洪国玺、 张淼、纪圣华、黎革女等同学,还有曹卓、徐照、贾仁敏等同学,他们的关心和帮助, 为我减少了很多不必要的麻烦,也让我深深体会到人与人之间难能可贵的友谊! 感谢我的父母家人,正是他们的无私奉献和默默支持,我才能顺利完成我的研究生 学业,在这里我要向他们表示最衷心的感谢! 。最后,感谢各位评审老师在百忙中抽出时间对论文进行审稿和参加答辩会。 研究生履历 姓名 研究生履历 杨宁 性别 女 出生日期 1981年10月12日 获学士学位专业及门类 工学 获学士学位单位 东北大学 获硕士学位专业及门类 工学 获硕士学位单位 大连海事大学 通信地址 辽宁省大连市凌海路1号 邮政编码 116026 电子邮箱 yangning@newmail.dlmu.edu.ca 基于FPGA的视频图像处理系统 作者: 学位授予单位: 杨宁 大连海事大学 相似文献(10条) 1.学位论文 王林 基于图像处理的煤矿轨道机车运行性能的研究 2009 煤矿轨道运输监测多采用轨道电路和压力传感器等接触式器件,因此有可能存在机械磨损和摩擦产生电火花等问题,此外传感器设置在轨道下面 ,井下巷道积水、环境恶劣,严重影响传感器性能,系统成本高、维护量大、可靠性差,于是本文提出采用视频图像处理方法是利用模式识别、最优阈 值和几何相似理论,实现非接触式可视化远程监视与测量。 本文详细介绍了一种基于视频图像处理的煤矿轨道机车运行性能的研究方案。其中构建了一种基于FPGA的实时图像处理系统,完成图像数据的采集 、格式转换、数据接收、数据计算、数据通信等操作。以FPGA芯片为控制核心,由初始化模块、实时图像转换模块、视频采集模块、视频信号转换模块 、视频数据计算模块、图像帧存控制模块、图像预处理模块、通信接口模块和FPGA配置电路组成。系统由CCD镜头所获取的轨道机车视频图像序列,通过 实时图像转换模块得到所需格式的数字图像,送入FPGA图像预处理系统完成图像预处理的中值滤波和边缘检测,此处为了提高处理和检测速度,将流水 线处理技术和并行处理等技术应用到电路设计中。预处理后得到的视频图像数据送入机车信息识别模块,通过检测算法提取轨道机车信息。 本文选用VHDL硬件描述语言实现各模块的功能设计,系统中的CPLD及FPGA设计部分在QuratusⅡ6.0软件平台下开发并在硬件上得到实现,通过自顶 向下的设计方法,完成时序及功能仿真,达到预期的效果。 实验表明,本文所设计的电路和方法不仅能够对矿井轨道机车运动速度、方向、机车异常情况等数据进行有效的监测,同时为地面监控中心提供监 控数据和监控图像,可直接监测矿井现场的安全稳定状况。 2.学位论文 赵莉 基于视频的交通参数获取系统的研究 2007 随着经济的高速发展,我国的交通问题变得日趋严重,国土是有限的,仅靠增加道路基础建设已经满足不了日益增长的交通需求。但是另一方面 ,道路交通状况还有很大的潜力可以改善,我们还没有把道路交通发挥到最佳状态。这样,就引入了智能交通系统。我们完全可以利用技术,建造智能 交通网络,来充分地利用道路,来解决道路有限,车辆增加的问题。事实上,我们的前辈们已经发明了很多种方法,而且有的已经用于实践。但随着技 术的发展,新的、更好的方法要代替旧方法。最近,基于计算机视觉的视频图像处理是一大热点,不仅克服了老方法的缺点,还有很多的优点。 本论文算法部分主要分成两大块,车辆的视频检测和车辆的视频跟踪。车辆的视频检测采用比较传统的图像处理的方法,因为算法并不复杂,基本 能满足要求,所以在DSP5402的平台上进行算法处理。由于科技的不断发展,硬件设备也在发展,可利用的资源也越来越多,基于彩色图像的阴影去除方 法成为可能。本论文利用彩色信息在HSV空间作了对阴影去除的研究。对于车辆的视频跟踪,采用了kalman滤波器作为信息处理工具对图像中的运动目标 进行跟踪,由于算法复杂,就利用了matlab中的simulink,组建模拟系统进行跟踪仿真,并取得了很好的结果。为了解决交通比较拥挤的条件下车辆相 互遮挡的情况,论文还研究了利用角点的概念解决这个问题。 车辆的视频检测部分算法是在DSP5402平台上验证的,论文还简要介绍了视频采集卡和DSP的结构和设计要求。 最后对论文作了总结和展望,在展望中提出了有待解决的问题,和一些新的思路和方法。 3.期刊论文 王刚.周激流.吴俊强.张张.张力支.吴慧琳.Wang Gang.Zhou Jiliu.Wu Junqiang.Ju Shenggen.Zhang Lizhi.Wu Huilin 基于VFW和LLE的视频图像处理与特征提取技术 -计算机应用与软件2008,25(12) 结合人脸考勤系统项目实例介绍了用VFW(Video for Windows)实现视频图像采集、编辑和LLE(Locally Linear Enbedding)对采集的图像进行特征提 取技术,并利用该技术建立了SCU_TS人脸库.结果表明,该技术实用、可靠,为视频应用程序的开发提供了一种行之有效的方法. 4.学位论文 陈丽 基于NIOSⅡ的视频图像处理系统设计 2006 基于NIOS Ⅱ软核的嵌入式视频图像采集与处理在视频图像处理领域占据重要的地位。本文针对目前视频图像采集与处理领域解决方案所存在的瓶颈 进行了分析,研究并设计了基于NIOS Ⅱ的视频图像采集、处理与LCD显示系统。对今后系统的工程化奠定了基础。 本文具体研究工作主要体现在以下几个方面: 1.分析了的嵌入式视频图像采集、处理与LCD显示系统的总体需求,设计了基于NIOS Ⅱ的嵌入式系统总体架构; 2.在学习相关芯片的具体应用方法和相关知识的基础上,设计了系统的硬件,包括LCD接口设计、视频采集芯片及外围电路设计、FPGA芯片和其他模 块接口主板设计; 3.编写并调试了LCD控制器模块、视频输入控制器模块、视频解码芯片初始化配置模块、FPGA和各个模块接口程序; 4.进行了整个系统的联调,完成了视频图像数据存储并通过LCD显示; 本文首先建立了系统架构,然后根据系统架构进行硬件平台的设计并对硬件平台进行分析和调试,最后编写个模块代码并完成系统联合调试实现系 统要求。 5.学位论文 于志宇 基于DSP的视频采集与激光光栅显示系统研究 2009 激光技术自问世以来已被应用于各个领域,激光由于具有更大的色域表现空间、波长的可选择性和高光谱亮度等特性,使其在媒体应用中拥有广阔 的发展前景。激光扫描显示技术是激光显示技术的一个分支,是一种应用于大屏幕高功率扫描显示的技术。 本文首先分析了市场上主流的激光投影显示器件DMD,LCOS和激光扫描显示器件PicoP,分别比较分析其异同和适用场合,并提出一种适合振镜扫描 应用的领域——大功率大屏幕激光扫描显示。然后,定量地分析了振镜式光栅扫描系统中成像的空间位置与振镜旋转角度之间的关系,从适合扫描系统 参数的角度对激光器、振镜和控制系统进行选择和设计,从硬件和软件两个方面对系统进行研究:硬件方面设计D/A电路,通过D/A电路连接控制电路和 扫描振镜;软件方面,根据激光成像扫描原理和振镜特点,设计扫描控制方式并对输人视频图像处理,在DSP上实现视频图像的输入、压缩和阈值处理。 最后,得到扫描静态图像效果并通过示波器观察波形。由于实验室声光调制设备尚未到位,扫描动态视频图像时使用现有设备输出图像亮度太低,只能 暂时从波形分析图像输出。文章最后对实验结果进行总结,并对下一步研究提出了新的设计改进方案。 实验证明,文中所设计的软件硬件系统能够实现大功率激光光栅扫描显示的功能,该设计是对激光扫描式显示的一次有益研究。扫描式激光显示系 统应用有巨大市场,其最终目标为大屏幕大功率扫描式激光电视。 6.学位论文 白生祥 基于CCD成像技术的投影大屏幕交互系统的研究与实现 2008 随着计算机和多媒体技术的发展,具有人机交互功能的投影大屏幕显示系统逐渐成为不可或缺的会议辅助或教学设备。融合了大屏幕投影技术、精 确定位技术等的交互式电子白板是这种人机交互系统的一个重要发展方向。在专门的应用程序的支持下,它可以构造一个大屏幕、交互式的协作会议或 教学环境,可以利用特定的定位笔取代键盘和鼠标随意操控计算机。 现阶段的国内外市场上,有多种技术可以实现电子白板精确定位,但大都需要专门的显示屏幕,难以实现超大面积且均成本高昂。鉴于此点,本文 提出了两种新的设计思路,它们均采用低成本的CCD器件采集投影大屏幕的图像信息。其中,思路一是采用图像处理技术,由处理采集的实时图像信息实 现定位;思路二是根据全电视信号的特点,设计专门的信号处理电路实现定位。对两种思路,本文分别搭建了相应的试验系统,进行了原理实验,并对 实验结果做了分析。 首先,本文详细阐述了基于实时视频图像处理的实现方案,介绍了视频采集的方法和视频数据的存储格式,并对系统性能进行了分析。其次,文中 深入探讨了光学镜头产生几何畸变的原因和畸变校正的原理,采用多项式拟合法实现了畸变的校正,并对两种不同的灰度插值方法得到的校正结果进行 了比较。再次,本文介绍了基于CCD全电视信号处理的定位技术原理,全面分析了CCD器件输出的黑白全电视信号的特点和串行通信格式。在此基础之上 ,重点介绍了全电视信号处理电路的设计方案并对实验中会导致定位误差的各因素作了分析。最后,论文总结了整个实验过程,并对尚待完善的地方作 了分析展望。 7.学位论文 石磊 便携式超声诊断仪硬件系统设计 2007 超声诊断技术具有安全、方便、无损、廉价等优点,但是传统的超声诊断仪存在着体积大、功耗高的缺点。便携式数字超声诊断仪基于嵌入式 ARM9+FPGA硬件平台和LINUX嵌入式操作系统,与传统的超声诊断仪相比,它的成本低、功耗低,并能获得更高的性能。而且它能够对超声视频图像信号 进行多种数字信号处理,使图象质量进一步提高,并为战场救护和远程医疗打下基础,发展前景十分乐观。 本文首先以超声诊断原理及超声诊断仪的结构为起点,着重描述了超声信号处理流程中各个子模块的功能,同时对可编程逻辑器件的结构特点、基 本设计原则及设计流程也作了简单说明。然后介绍了分布式算法、中值滤波算法和时域递归算法,说明了这些算法在FPGA中的详细实现方法和在超声信 号和视频图像处理子模块中的应用。 在此基础上,本文详细论述了一种便携式数字超声成像系统的硬件设计方案,该系统由具有实时超声视频采集和图像预处理功能的FPGA子系统和基 于ARM处理器的嵌入式子系统组成。其中FPGA子模块以ALTERA公司的FPGA为核心,由数字波束合成器、动态滤波器、视频图像帧存控制模块、图像低级别 处理模块、DMA通道和FPGA配置电路组成。嵌入式子系统以32位高性能ARM微处理器S3C2440为硬件核心,扩展了网络接口、USB接口和RS232串口等外围通 用接口;以嵌入式实时操作系统LINUX为软件平台进行图像处理。最后,文章介绍了多媒体协处理器SM501在VGA/LCD显示中的应用。 该成像系统充分利用了FPGA芯片和ARM微处理器高性能、低功耗、低成本的优势,发挥了操作系统LINUX可移植性好、开发成本低的优点,为便携式 数字超声诊断仪的设计提供了一个经济实用的解决方案。 8.期刊论文 贺文娟.李绍荣.HE Wen-juan.LI Shao-rong 基于FPGA的运动目标检测系统 -电脑知识与技术 2009,5(13) 视频图像处理要求高速运算能力,在处理技术不断提高和算法复杂度不断提升的情况下,并行处理的可编程逻辑器件的高速运算能力和可重复执行多 任务的特性在视频图像处理领域得到了极大的发挥.与传统的串行处理DSP芯片为核心器件的视频图像处理方案相比,单片FPGA芯片和嵌入其内部的Nios Ⅱ软核处理器不仅能够达到运算速度的要求,而且成本更低、设计更简单.系统由I2C模块、视频译码模块、存储模块和检测模块组成,模块之间由 Avalon总线链接.系统基于QuartusII、MATLAB和ModeISim软件工具设计与仿真,实验结果表明能够达到预期的要求. 9.学位论文 丰昆剑 监控视频流的特征分析与压缩技术的实现 2008 视频监控技术综合利用了现代视频图像处理、光电传感、计算机网络、自动控制和人工智能等高新技术,实现了现场视频场景实时再现、数据存储 、自动检测报警、自动远程控制等功能,以其直观、方便、信息内容丰富的特点,日益受到人们的青睐,被广泛应用于安全防范、无人职守、信息获取 和指挥调度场合。 本文包括两部分内容:监控视频流的特征分析;以及根据分析出来的特征提出的针对监控视频流的压缩算法。 由于监控视频流与普通视频流的特征存在明显差异,虽然针对视频压缩提出过很多算法和标准,但在这些算法和标准中,没有一种是专门针对监控 视频流的压缩算法,所以本文旨在通过分析监控视频流的特征来找到一种合适的压缩算法,以最大效率的压缩监控视频流,使其能够满足在低带宽条件 下(如无线信道),进行较为流畅的传输。 要得出有效的针对视频监控流的压缩算法,其关键在于准确分析监控视频流的特征。为此,本文通过统计视频流中的前后图像帧中不同像素点所占 画面的比例来得到监控视频流的特征。通过分析,可以清楚的看到,相对于电影类视频流特征值能达到60%以上而言,监控视频流的特征值基本保持在 10%以下,且变化十分缓慢。并且在整个监控视频流特征曲线中的相当长一部分时间内,这个特征值趋近于0。 根据得出的监控视频流的特征,本文提出相应的压缩算法。算法主要通过两个方面在视频采集端对视频流进行压缩。第一,通过自适应更新的方法 建立背景模型,并在一定时间段内,在建立出的背景图像中选取一张最具代表性的背景图像经DCT‘变换后传输到接收端;第二,使用背景减法,通过最 小矩形框的方法将图像中的目标区域分离出来,然后将分离出的图像同样经DCT变换后发送到接收端。在接收端接收到数据流后,首先进行DCT反变换 ,然后通过背景图像和目标图像的对位粘贴恢复出原始图像,最终形成视频流。 本文中还通过调整图像二值化阈值大小,以及形态学运算的不同组合,来满足由于监控环境、安全要求等不同带来的多种需求。 试验表明,本文中提及的针对监控视频流的压缩算法是行之有效的。解压恢复后的图像与原始图像之间的PSNR值均大于30,两幅图像之间不同像素 点所占画面比例也仅为1%左右,说明图像解压后的质量可以接受。而自适应背景更新方法的使用,一方面提高了压缩效率,另一方面则可以利用它正确 的检测和定位运动目标。与其他压缩算法相比,本算法可以进一步提高监控视频流的压缩比。 10.学位论文 袁月明 基于视频检测技术的城市快速路车流波相关问题研究 2006 城市快速路上经常发生的追尾事故大多是由于车流波现象引起的。在高峰小时或者异常情况下(如雨、雪、雾等异常天气),快速路的瓶颈地段经常 出现堵塞以及由堵塞引起的车流波。车流波不仅影响瓶颈点下游的车辆的运行,还会降低瓶颈点上游路段的有效通过能力。因此,车流波对快速路/高 速公路的通过能力产生很大的影响。目前,国内外关于车流波的研究还处于理论研究阶段,没有形成系统的理论体系。而且这些研究由于基础数据采集 方法的限制,基本处于宏观研究的层次。近年来,随着交通微观行为研究方法和模型的发展,国内外也从不同的侧面对车流波的行为进行微观研究,但 是这些研究的理论可靠性值得商榷。基于此,论文由基础数据出发,应用视频采集和车载GPS浮动车采集技术在北京三环快速路两段频繁发生车流波现象 的路段进行车流波数据采集;然后结合视频图像处理技术进行数据析取,建立城市快速路车流波数据库;经过深入的数据挖掘与分析,获得车流波形成 、传播和消散机理,通过分析车流波传播特性及规律发现车流波传播过程中驾驶员微观行为,并在此基础上建立相应的驾驶员微观行为模型,为城市快 速路车流波预防提供理论和数据基础。 论文的主要研究结果是 1)城市快速路车流波形成机理:在城市快速路的某一频繁发生车流波现象的路段由于某种原因导致车辆紧急制动减速,在密 集交通流条件下这种刹车减速行为不断向上游或下游传播最终导致车流波形成;2)深入分析车流波传播特性,提出快速路车流波的微观传播速度计算公 式和传播曲线;通过分析车流波传播过程中车头时距的频数分布函数、车头间距的变化率、速度与车头间距的函数关系及常用微观跟驰模型对车流波的 拟合与校验,得出快速路车流波传播机理和驾驶员微观行为,并构建基于模糊推理的驾驶员感知——预测行为模型和车流波传播条件下驾驶员微观跟驰 模型。结果表明,模型可以有效、准确地模拟车流波传播过程中驾驶员行为。 本文链接:http://d.g.wanfangdata.com.cn/Thesis_Y1256869.aspx 授权使用:北京理工大学(北京理工大学),授权号:8ec41619-999b-4ff7-a1bd-9e2e0018e935 下载时间:2010年11月14日
更多简介内容

评论


个人中心

意见反馈

求资源

回顶部

下载专区


TI 参考设计资源库

工业电子 汽车电子 个人电子
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })