您的当前位置:首页正文

基于NiosⅡ的嵌入式网络视频监控系统设计

2024-01-16 来源:好走旅游网
维普资讯 http://www.cqvip.com 匿翟鲤 一 文章编号:1002—8692(2008)0270090-04 基于Niosll的嵌入式网络视频监控系统设计・实用设计・ 裴建茹,李伟 (重庆大学通信工程学院,重庆400030) 【摘 要】为了解决传统嵌入式网络视频监控系统处理和传输大量图像数据时速度较慢、结构复杂和成本过高的问题,设计了一 种低成本嵌入武网络视频监控系统,采用FPGA的Nios II双CPU架构,自定义硬件模块实现H.264视频数据压缩编码,能很好地 满足视频监控系统实时性要求。 【关键词】嵌入武网络视频监控;Nios II处理器;H.264标准;帧内预测 【中图分类号】TN919.8 【文献标识码】B Design of Embedded Network Video Surveillance System Based on NiOsⅡ PEI Jian-ru,LI Wei (School of Communication Engineering,Chongqing University,Chongqing 400030,China) 【Abstract】In order to solve the problems of low data speed,complex structure and hi gh cost when processing and transferring nlass image data in traditional system,the low—cost embedded network video surveillance system is proposed.In this new system, the double CPU structure based on FPGA Nios II is adopted,and the self-defined hardware module is used to realize the H.264 video data compressing coding,and the real—time requirements are well meet. 【Key words】embedded network video surveillance;Nios II;H.264;intra prediction 1 引言 杂的视频压缩算法,实时性将非常恶劣,这就需要采用专 传统的嵌入式网络视频监控产品主要存在处理和传 门的视频编码芯片完成视频压缩算法,为此,两个模块之 输大量图像数据时速度较慢、图像数据占用存储空间过 间的同步、逻辑转换会出现问题,通常还需要外加可编程 大、实时更新性较差、结构复杂、成本过高等问题¨ 。笔 逻辑器件(CPLD)或FPGA来解决,其复杂度、体积和功 者基于Nios II设计了一种低成本、采用H.264编码的嵌 耗都大大增加。 入式网络视频监控系统。该系统充分利用FPGA的并行 2)DSP+FPGA方案 设计结构,对视频数据采用高压缩比的H.264标准编码, DSP芯片的高速计算能力可实现实时,高效的,高质 能很好地满足视频监控的实时性要求。 量的复杂视频压缩算法,其优点是体积小,算法改进容 易,但实现任务调度、同步等系统控制功能,需要占用大 2 嵌入式网络视频监控系统现状 量的资源,网络通信协议栈能够使用的运算资源、内存资 嵌入式网络视频监控系统主要分为PC嵌入式和非 源都受到很大的限制,而缺乏操作系统也给网络协议栈 PC嵌入式两种。其区别主要在于视频监控服务器。PC嵌 的实现带来困难。为此,通常的解决办法是完成一个精简 入式采用工控PC硬件架构,运行嵌入式操作系统,操作 的TCP/IP,实现一些必需的协议,例如ICMP,ARP,IP, 系统和应用程序固化在Flash上,以保证操作系统和应 UDP等协议的子集,满足一般数据传输的要求。 用程序的运行稳定性;非PC嵌入式采用专用硬件架构, 3)SoC系统集成方案 成本低、效率高、可扩展能力强,成为视频监控系统的主 它将MCU和DSP/ASIC集成到一个芯片中,使视频 流产品。其实现方案分为以下3种 : 压缩功能既有强大管理与控制能力,又有超强的数字信 1)嵌入式微处理器MCU+ASIC方案 号处理能力,解决了MCU与DSP/ASIC的同步和逻辑转 它运行嵌入式操作系统,利用嵌入式微处理器强大 换问题。此方案在减小设备体积的同时亦减小了系统功 的控制能力和外围扩展能力,对各类底层硬件的操作可 耗,将成为主流发展方向。 利用驱动程序来完成,上层的应用程序只需调用相应的 SoPC是Ahem提出的一种灵活、高效的片上系统设 API来实现。其缺点在于MCU的处理能力有限,如果在 计方案,其实质是SoC,通常采用大容量FPGA作为载 实现任务调度、同步等系统控制功能的同时,一并完成复 体,在一片FPGA中实现NIOS软核微处理器,也可嵌入 维普资讯 http://www.cqvip.com Ii deo~例 E: ARM等硬核处理器,使FPGA具有嵌入式系统的可编程 能力。因此,SoPC平台既拥有微处理器系统丰富的软件 资源和出色人机交互能力,又具备FPGA系统的快速硬 的双口RAM作为行缓存进行乒乓切换,数据提取子模 块将采集到的当前行写入其中行缓存A时,总线接口子 模块将行缓存B中的数据通过Avalon总线写入到 SRAM中,在采集下一行时则把图像行写入行缓存B,同 件逻辑特性,实现了软件系统和硬件系统的互补。本系 统的嵌入式视频监控服务器采用此方案设计。 时将行缓存A中的数据通过总线进行传送。 3 嵌入式视频监控服务器设计 嵌入式视频监控服务器是整个网络视频监控系统的 关键部分,主要由视频采集、Nios II处理器系统、网络传 输控制和人机交互外设组成,如图1所示。设计中选用 Ahera公司的Cyclone II EP2C35F672C6作为系统的核 心芯片,DE2开发板为开发平台,将视频采集、Nios II处 理器、网络传输控制与人机交互外设的接口模块均集成 到一个SoPC系统。其中,Nios II处理器系统要承担图像 采集控制、图像的H.264压缩编码、网络服务等多项任 务。为保证实时性:一方面,依据Nios II的多处理器技 术,采用双Nios II架构,在一块FPGA芯片中设计两个 CPU来分担任务,CPU间通过共享特定资源的方式进行 信息交互,从而实现协同工作与并行处理;另一方面,在 充分分析H.264软件算法运行时间后,采用自定义模块 对H.264编码器关键算法进行硬件加速。 外接SDRAM芯片 图1 嵌入式视频监控服务器SoPC结构 3.1视频采集模块 摄像头采集到的PAL制模拟图像数据从DE2开发 板的视频输入接口输入,经模数转换芯片ADV7181得到 ITU—R BT.656格式的数字图像信号,并将其送入FPGA 芯片。为实时获取图像数据,设计了图像采集模块用于 数字图像数据提取并通过Avalon总线将数据按顺序存 放到作为图像缓存的SRAM中。 如图2所示,Cyclone II芯片的片内存储量为 483 840 bit,而一帧图像大小为1 228 800 bit,故不能用 片内RAM缓存整帧图像,为此,笔者使用两个320 byte 图2视频采集模块结构功能示意图 slavel从端口用于CPU1对采集模块进行使能与配 置,用于启动采集模块和通知图像数据存放地址,并在当 前帧采集完成时产生中断信号通知CPU1进行数据拷 贝,此时采集模块进入等待状态,当启动信号再次有效时 进行下一帧图像的采集;masterl主端口用于将行缓存中 的数据按其在图像中的位置通过总线存放到SRAM的 指定地址,使用主端口在没有CPU干预的情况下自动存 放采集到的图像。 3.2 NioslI双核架构 为提高系统运行效率,笔者在嵌入式视频监控服务 器中设计了两个软核处理器:CPU1分担图像采集、图像 数据的H.264压缩编码;CPU2运行嵌入式实时操作系统 tLC/OS—II并支持TCP/IP协议族,完成将编码数据组成网 络发送帧的任务,同时负责接收网络客户端远程访问,对 其进行有效管理。由于CPU1与CPU2是同时运行的,双 核架构实质上是为嵌入式视频监控服务器加入了一条深 度为二级的流水线,使得图像处理与网络服务两大任务 组同时进行。如果处理一帧图像,图像处理任务组完成时 间为 ,网络服务任务组完成时间为 ,采用传统单核系 统架构时,全流程完成时间为 .+ ,而采用双核架构,全 流程完成时间缩短为max(T., )。 在资源分配方面:CPU1拥有独立总线Avalon Fabric 1,CPU2则拥有独立总线Avalon Fabric 2,仅被 其中一个CPU访问的模块须连接到该CPU配属的 总线上,共享模块应当与两条总线都相连;另外,系 统采用一块SDRAM芯片作为内存,为实现双核共享 同一块内存芯片,将存储器分为两个相对独立的内 存空问,分别配置给两个CPU使用,以减少成本与电 路复杂度。 N0.02 Vo1.32 2008(Sum No.31 1 l、ⅥDEo聃唧王鼎№ 91 维普资讯 http://www.cqvip.com 匿童 照鳗勉_鏖… . 3.3 H.264编码器硬件模块设计Is-61 亮度预测模块可并行计算各宏块在所有模式下的预 为综合实时性、成本与实现难度等因素,设计中仅采 用了帧内预测方式,编码器包括帧内预测模块,变换量化 模块(包括反变换与反量化)和CAVLC熵编码模块。处 理时以宏块(16x16)为单位,对亮度和色度块分别进行帧 内预测、变换和量化,然后进行CAVLC熵编码,图像的 亮色比为Y:U:V--4:2:0。 测值,针对帧内9种4x4预测模式下需nn,n 一,n 个时 钟周期,针对4种16x16预测模式需m ,m.,m,,m 个时 钟周期,则此宏块进行所有模式预测所需时间最大为 max[16xmax( ,nl,…,n8),max(m0,ml,…,m3)】,比软件 实现13种预测模式时间提高很多。 色度预测模块结构基本和亮度预测相同,采用4个 模块并行计算色度8x8预测值。同一个宏块的色度预测 从表1可以看出,用硬件实现1帧图像压缩编码约 15 ms,较PC机实现有很大提高,而且硬件模块占用资 源不到50%,性价比较高。 表l 软硬件实现算法编码所需时间对比 类型预测/ms c 码系 他 像 PC机47.593 14.050 26.234 15.296 103.173 硬件模块 5.807 2.194 4.446 3.937 15.384 由于帧内预测硬件模块较软件实现对系统性能提高 较大,这里重点分析帧内预测模块硬件结构。整个模块分 为接口、亮度预测、色度预测、SATD预测模式选择和图 像重构等模块,如图3所示。  I I图3 帧内预测模块结构 根据H.264帧内预测算法,帧内预测模块采用非率 失真优化模式,通过接口模块从SDRAM中读人1 Mbyte 数据,在亮度和色度预测模块进行预测后送人SATD模 块进行预测模式选择,输出预测残差及最佳预测模式,同 时将预测结果与经过反DCT变换和反量化后的残差值 相加,经重构模块补偿重构后写回SDRAM。 接口模块的4个RAM用于存放读人的原始图像和 用于预测的参考图像数据:RAM0存放亮度预测像素,深 度32,地址0~15/16-31分别存放上、左侧的预测参考像 素;RAM1存放当前宏块亮度原始值,深度为256;RAM2 存放色度预测参考像素,深度32,地址0-7存放上侧Cb 预测参考像素,地址8~15存放左侧Cb预测参考像素, 地址16~23存放上侧Cr预测参考像素,地址24~31存放 左侧Cr预测参考像素;RAM3存放当前宏块色度原始 值,深度为128。 电棵投礞 孬 和亮度预测是并行执行的,根据色度要处理的数据比亮 度少一半,在后面的整数变换中采用先处理色度,再处理 亮度的方法,使得流水更加紧凑,减少等待时间,提高整 个模块的运行速度。 帧内预测中代价函数计算是另一软件耗时的部 分,其核心是Hadamard变换,SATD模块设计中采用流 水线操作,在某些时刻段可实现两级流水,并通过多次 例化一个组合逻辑子模块来降低硬件开销。图4为其 波形图。 l 2 3 4 5 6 7 8 9 l0 l】 l2 l 3 l4 c- x/_\/_、八/_\,_\八/_\八八八八八/-、/_\/_、 DATA Otl¨、 _ ・_V =:= =i —・—・—・—_ SATDn SATD 图4 SATD模块波形图 从图4分析,对于4x4块,SA FD模块从RAM每隔1 个时钟周期读取第一排4个原始像素a ~a ,8个时钟周 期读完16个像素值,从第3个周期开始流水,分别在第 3,5,7,9周期,通过例化蝶形变换子单元计算出16组临 时变量,寄存在l6组临时寄存器中,从第l0个周期开 始,每周期取用4路临时寄存器的值,仍通过例化同一个 蝶形变换子模块进行第二次蝶形变换,分别在第10-13 个周期,计算蝶形变换的同时经过组合逻辑来各计算4 路像素的绝对值之和,然后分别在第11-14个周期时将 输出和进行累加,然后得到最后的SATD结果。这种设计 加速了硬件计算速度,对于一个16x16的宏块,软件代码 计算SATD值需要13 446个时钟周期,为本设计的 6.1倍左右(本硬件模块SATD模块仅需2 208个时钟 周期)。 4 小结 笔者设计的基于H.264的嵌入式网络视频监控系 统,在系统时钟80 MHz时,压缩一帧320 ̄240的彩色图 像需15.384 ms,在量化参数选择28时,图像压缩比达 维普资讯 http://www.cqvip.com t ̄ideo 一 ! 三 2%,实时监控图像帧率20 f/s。如果将系统时钟频率提高 到200 MHz,监控图像帧率可达50 f/s。系统具有资源占 用较少,成本低廉,低码率,但质量达到高清视频水平。 实际上,由于在图像客户端采用自编的PC机程序 解码,PC机解码速度远远赶不上FPGA编码速度,很大 2005. [3】王福,陈前斌,李立,等.数字视频监控系统典型方案及分析[J1.中 国有线电视,2OH06(23):2289—2292. [4】延明.基于FPGA的视频监控系统的防抖动研究[J1.电子器件, 2OH07,3O(4):1486—1489. [5】张晖.基于ARM ESL平台的H.264编码器硬件加速设计和研究 [D1.重庆:重庆大学,2006. [6】朱松超.H.264编码算法研究和基于FPGA的设计[D].西安:西北 工业大学.2006. 程度影响了系统的整体性能。因此,在下一步设计中,把 客户端也设计到FPGA上,通过硬件来进行H.264解码, 预计系统的实时性还将得到大幅度提高。 参考文献 [1】ITU—T.ITU—T Rec.H.264—2005.Advanced video coding for generic audiovisual services[S].2005. [2】毕厚杰.新一代视频压缩编码标准[M】.北京:人民邮电出版社, 作者简介: 裴建茹(1978一),女,硕士生,主研数字图像处理; 李伟(1976一),工程师。 收稿日期:2007—12—18 责任编辑:刘伯义 ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ (上接第78页) 磁带),自行驱潮,直至“HUMID”指示消失,该方法需要 灰尘杂质是影响其图像质量的主要因素之一。由于 DVCAM数字机采用14 i/n磁带格式,内部设计小巧、精 密复杂,磁鼓较小,磁头缝隙较窄,因此磁头特别容易脏 较长时间。为节省时间,可使用电吹风驱潮排除。机器一 旦结露保护就不能再插入磁带使用,一定要等结露指示 消失后再使用。设备从冷处移至热处时,应等待10 min 后再接通电源,待一切显示正常后再使用。 5)SLACK指示表示磁带松弛。遇此故障应维修。 6)TAPE指示表示磁带运行到达带尾。遇此情况须 污堵塞,轻者造成图像马赛克、百页窗,重则无图像。虽说 机内设计了较强的纠错码校正电路,但作用有限。灰尘杂 质还会造成带仓及其他机械部分故障,影响机器的可靠 性及使用寿命。根据大量的故障分析及实际检修结果表 明,有一半以上故障都是由于灰尘所引起的。另外,潮湿、 低温、高温等恶劣环境也都是影响数字机工作稳定性的 因素。 更换磁带或倒带使用。 7)BATI"指示表示电池将近用完或已经用完。应及 时更换电池。 2.6数字设备最好使用时间码 2)正确的使用方法和操作习惯是重要保障 应对技术人员进行经常性的技术培训,使其能够了 解最新的技术发展动态,熟悉现有设备的功能作用,了解 设备的工作原理及性能,熟练掌握设备的操作使用方法 及技巧。养成良好的使用习惯,减少因操作不当等造成的 使用时间码比使用CTL码有很大的优越性,尤其是 数字设备及与非线编(网)连接使用的上下载录像机。使 用时间码能准确、方便、快捷地编辑,得到顺畅、平滑的声 音和图像,有利于改善节目的制作及播出质量,提高设备 的使用效率,延长设备的使用寿命。 故障。 3)及时、准确、可靠的维修是关键 一3 DVCAM设备的维护与保养 由于DVCAM采用磁带宽度较窄的1/4 in格式,所 以与模拟的3/4,1/2 in格式及采用1/2,1/4 in格式的中 定要做好设备的早期故障的预防、诊断、维护、维 修及保养。设备在使用中一旦出现故障或出现某些故障 征兆,应及时检查维修彻底排除,不可使设备带病工作, 否则将会使故障扩大化,造成更大的损失。 4)定期检查、调整、更换、维护和保养是保证 一高档数字设备相比故障较多,对操作及使用环境要求也 较高。 本台的DVCAM设备经过5年多使用,总体表现不 台机器的使用寿命主要决定其稳定工作期的长 短,故如何延长其稳定工作期就显得尤为重要了。应定期 对机器的内外部进行清洁除尘,对磁带运行通路的导拄、 磁鼓(磁头)、主导轴、压带轮等进行清洁、检查与调整,对 磁鼓、压带轮、清洁轮等易损件定期更换,同时还要定期 对电路进行必要的检查调整。对电视台的新闻、播出等重 要岗位的设备更要重点检查、维修及保养。 责任编辑:张家豪 收稿日期:2007—12—H 错。前期的肩扛式大型摄像机较为稳定,故障主要集中 在小型掌中宝及后期设备上,如PD150P,PD190P的摄像 开关易损坏;PD150P,PD190P及390WSP本机话筒线内 部容易折断;390WSP取景器遮光罩连接转轴易脱落等。 后期录像机故障多为机械故障,如带仓、机芯等部分。要 保证机器长期稳定地工作,必须要注意以下几点: 1)良好的工作环境是前提 No.02 Vo1.32 2008(Sum No.31 1)、VIDEO BqGINEB=Ul ̄ 93 

因篇幅问题不能全部显示,请点此查看更多更全内容