(北京工业大学 打算机学院,北京100124)
摘 要:针对安防监控与聪慧交通领域无盲区视频摄录的需求,基于Zynq-7000平台上风进行宽幅视频处理软硬件系统的设计。通过研究基于嵌入式系统的多路视频实时拼接技能,设计并实现了以XC7Z020芯片为核心的视频处理板卡,在双核ARM Cotex-A9硬核处理器端做事程序协同调度下,基于片内FPGA硬件加速能力实现多通道视频实时采集与预处理、投影变换、图像领悟,进而形成完全宽幅视频画面,通过远程客户端实现定制化的视频摄录功能。测试结果表明,该系统是兼具稳定的性能和灵巧区域支配能力的便携式办理方案。

中图分类号:TP368;TN911.73
文献标识码:A
DOI:10.16157/j.issn.0258-7998.2016.06.016
中文引用格式:韩德强,杨利平,王宗侠. 基于Zynq-7000的宽幅视频处理系统设计与实现[J].电子技能运用,2016,42(6):59-62,66.
英文引用格式:Han Deqiang,Yang Liping,Wang Zongxia. Design and implementation of wide-field vision video processing system based on Zynq-7000[J].Application of Electronic Technique,2016,42(6):59-62,66.
0 弁言
宽幅视频拼接是基于打算机视觉和图形处理技能的整合,实在质便是图像拼接技能,一定与图像传感器技能及图像算法研究密切干系[1],但其对付实时性的较高哀求,使得在该领域的技能实践同样须要关注平台的处理性能。目前市情上普遍采取的紧张有通过单目鱼眼镜头捕获全景图像的嵌入式平台方案,以及多通道图像采集拼接形玉成景的通用打算机平台方案。前者对付镜头工艺哀求高且存在较大的畸变,而后者凭借性能上风得到好的效果,但设备体积弘大且价格昂贵[2]。
针对以上情形,本文提出了一种基于AP SoC(All Programmable System on Chip,全可编程的片上系统)多通道视频无缝拼接的宽幅视频处理办理方案。结合用户场景剖析,提出具有扩展能力的宽幅视频处理技能,预置多路扩展接口随时增减摄像头以调度视野宽度,知足多种现场宽视角摄录需求。
1 系统总体构架
宽幅视频处理系统由本地视频处理系统端和远程摄录客户端两部分组成,系统总体框图如图1所示。便携式视频处理系统根据监控需求进行配置与支配,远程客户端进行实时定制视野区域摄录。
本地视频处理系统作为设计的主体部分,由视频采集、图像处理、核心调度、用户交互、本地显示、网络通信六个模块组成。多通道视频流采集模块采取DMA办法将图像数据送入内存缓冲行列步队;图像处理模块包含视频处理的多少流程,在核心调度模块掌握下,借助可编程逻辑并行加速完成宽幅图像的处理与存储;用户交互模块和本地显示模块协同完成设备配置与宽幅画面预览;网络通信模块作为视频传输的主要接口,用于监听网络要求与宽幅视频分发做事。
2 系统硬件设计
视频处理核心板卡硬件系统构造框图如图2所示。系统紧张由存储器模块、网络通信模块、视频采集接口模块、本地显示模块、串行终端模块、用户交互模块、时钟模块、电源模块和JTAG调试模块组成。
2.1 XC7Z020片上系统
XC7Z020芯片是Xilinx公司Zynq-7000系列AP SoC,在FPGA架构中集成了双核ARM Cotex-A9硬核处理器系统,包含USB、SPI、SDIO等丰富的外设掌握器,实现了PS(Processing System)硬核知识产权的性能和低功耗特性以及PL(Programmable Logic)可编程逻辑的灵巧性[3]。借助AXI(Advanced eXtensible Interface,高等扩展总线)互联技能实现PS与PL之间的高性能的数据交流,为工程技能职员在图像处理领域实践供应了全新的实现路子。
2.2 存储器模块
存储器模块分为内存和掉电存储两个部分。XC7Z020芯片内置支持多协议标准的硬核内存掌握器,挂载两片DDR3内存芯片MT41K128M16,构建起容量为512 MB、时钟频率为533 MHz的内存储器。选用飞索公司的32 MB QSPI Flash芯片S25FL256SAG以及SD闪存卡两种掉电存储办法,用于FPGA上电配置以及软件系统的勾引。
2.3 视频采集模块
选用三组OV5640摄像头模块环绕单视点相背放置。摄像头内置白平衡、色彩校正、降噪等预处理功能,简化了后端FPGA系统的设计包袱。720P输出模式下可达40 f/s以上帧率,其采取DVP(Digital Video Port,数字视频接口)输出,通过SCCB(Serial Camera Control Bus,串行摄像头掌握总线)进行初始化配置。
2.4 本地显示模块
选用ADI公司的高清多媒体收发器ADV7511芯片,集成HDMI 1.4发送器,最大支持1080p@60Hz视频传输。芯片集成I2C掌握器用于管理接入的显示设备信息。
2.5 网络通信模块
选用Marvell公司具有自适应10/100/1 000 Mb/s传输速率的以太网物理层芯片88E1518,合营片内吉比特MAC(Media Access Control,介质访问掌握)层掌握器供应千兆以太网接入能力。
3 软件系统架构及核心算法的实现
本文利用Vivado2015.2设计套件完全的工具链协同完成软件系统的构建。图像处理系统运行流程如图3所示,通过横向的时域和纵向的空间域来解释软件与硬件协同实现图像处理的事情流程。横向的韶光域即表示运行于PS真个程序折衷硬件系统推进事务处理,组织全体系统的运行流程;纵向的空间域是PL端图像处理子系统在总线掌握下,并行完成各自任务所经历数据迁移和操作。
按照模块化软硬件设计思路,将全体系统运行划分为五个运行阶段:系统初始化配置、视频采集与预处理、柱面投影硬件加速、图像接缝领悟和多通道传输,个中视频采集与预处理、柱面投影两个阶段以FPGA系统并行处理为核心,其他则以软件调度实行为主。
3.1 系统初始化配置
系统初始化配置阶段因此硬核系统启动为主导,从外部存储器中读取FPGA配置文件并支配到PL中,构建起3个图像处理子系统,之后进入操作系统勾引和片内外设备初始化过程。
3.2 视频采集与预处理
采集预处理阶段分为采集、预处理和存储三个环节。视频输入端口捕获的图像数据流同步信息冗余且低效,不适宜在片内系统传输中利用,Xilinx公司提出了基于AXI标准协议框架的精简流传输AXI-Stream协议,利用Video In To AXI-Stream IP(Intellectual Property,知识产权)核将DVP数据格式转换为AXI-Stream协议数据流,实现片内数据传输标准化。
本设计所利用的摄像头输出图像格式是Bayer色彩空间,为了得到RGB色彩空间图像,须要插值以获取像素丢失的颜色信息。综合考虑算法繁芜度和图像还原质量,采取3×3邻域双线性插值法对图像进行色彩空间还原[4]。基于AXI-Stream协议接口的Color Filter Array IP核,进行大略参数配置便能够实现Bayer向RGB色彩空间转换,从而实现与视频采集IP子系统无缝对接。
3个图像采集与预处理通道事情均在FPGA内异步完成,受限于FPGA存储容量,须要将视频帧缓存在DDR内存中。PS端供应了四路高速AXI总线访存接口,借助Video DMA IP核能够实现AXI-Stream协议数据流转换为基于地址访问的标准AXI协议,从而实现访存操作,PS端通过AXI-Lite掌握总线实现IP核配置。
3.3 柱面投影硬件加速
如图4所示的柱面投影透视模型,按照单视点模型摆放的摄像头阵列位于O点,待投影图像ABCD在投影圆柱面上形成的映像为闭合曲面A′B′C′D′。在图4(a)中不雅观测点O处所在的水平和竖直面投影,得到了截面图4(b)和图4(c),个中待投影图像上P、Q两点在投影柱面上形成P′和Q′两投影点,假设柱面的半径为r,高度为H,单个摄像头水平视野角度为θ,待投影图像宽度为W,高度为H,则能够得出像素P(x,y)向P′(x′,y′)的投影关系如式(1)所示,反投影变换如式(2)所示[5]。
个中:
投影柱面的半径r便是摄像头的焦距,焦距无法精确丈量,但可以通过打算公式进行估算:
在实际柱面投影过程中,通过打算柱面投影图像指定像素点所对应的原始像素坐标,将坐标转换成存储器的地址,取出该像素并存入到所对应的柱面投影图像中,终极形成了完全的柱面投影图像。
基于缓存策略的连续地址存储器访问,相对字节随机访问具有更好的带宽效能。在柱面图像目标存储区,按行、列依次将多少连续的像素组进行反柱面投影求其所在原图像坐标,逐个从原图像坐标取出其像素值存入缓冲区,缓冲区满后采取总线突发办法,一次放入目标柱面位置,即概括为零取整存,功能框图如图5所示。
柱面投影紧张涉及数学公式打算以及存储器访问操作,基于硬件描述措辞的FPGA设计对基于繁芜总线的数据通信及数学打算编程实现较为繁芜。Vivado HLS(High Level Synthesis,高等综合)工具将C/C++等高等措辞通过高层次功能综合,快速实现IP核设计与开拓,软件供应了基于高等措辞的图像处理、数学函数、标准通信协议接口,得以使开拓职员更加专注于功能设计,同时能够得到不错的硬件加速性能。
按照高等措辞程序功能函数设计,须要明确入口参数。实现柱面投影所需的关键参数如表1所示。
设计完成的功能函数通过C仿真以验证程序设计逻辑精确性。通过程序逻辑测试后,进行高等措辞向RTL(Register Transfer Level,寄存器传输级)IP综合。柱面投影IP核通过总线获取参数及访存。参数列表中两个存储器地址用于内存数据访问,故采取支持高带宽的数据通信以及突发传输的AXI总线挂接,其他参数利用AXI4-Lite掌握总线进行配置。初步完成端口配置与综合后,会针对选定平台供应详细的资源统计报告,如表2所示,产生的RTL电路同样须要C/RTL协同仿真以验证时序逻辑精确性,完成仿真之后软件会供应测试报告及旗子暗记时序图。通过设计验证后,即可进行IP核的打包并导入FPGA系统。
3.4 接缝领悟与全景拼接
相邻图像重叠区域利用加权领悟办法处理。实际拼接区域范围较小,故采取软件打算的办法实现,加权领悟通过缓慢改变权重系数,使拼接图像顺滑过渡。加权领悟事理示意如图6所示。
设两幅待拼接图像F(x,y)和G(x,y),其对应的权重函数分别为ω1和ω2,其数学表达式为:
3.5 多通道传输
多通道传输是指完成处理的宽幅图像,通过本地端HDMI显示以及远程客户端要求摄录两种呈现办法。
运用程序设计与实现紧张分为两个功能模块:视频拼接处理和定制化网络分发。借助双核处理器的上风多线程编程调度来提升系统的整体实行效率。系统做事软件运行流程如图7所示,做事程序开始运行后,主线程申请绑定第一处理器核心运行,启动系统设备初始化事情,之后创建子线程,并使其运行在第二核心上。基于核心绑定的多线程设计,有利于手动进行负载均衡。主线程紧张卖力图像处理做事,循环掌握全体视频拼接的四个阶段,而子线程紧张卖力网络要求的监听与定制化的分发做事。由于两者都须要访问全景视频缓冲区,以是须要进行缓冲区读写访问掌握。
4 系统测试与效果
系统做事程序HDMI显示接口实时查看拼接效果,如图8所示。远程客户端进行定制化分发摄录,如图9所示。嵌入式做事端实时形成的宽幅视频画面如图10所示,画面接缝部位拼接较为均匀且完全。经由实验测试及数据统计,视频处理系统在720 p模式下,宽幅分辨率为3 360×640,帧率5~10 f/s,480 p模式下分辨率为2 240×420,帧率15~18 f/s,基本实现了设计目标。
随着机器视觉、模式识别领域的飞速发展,基于宽幅实时视频为根本的自动识别与检测运用在交通、安防等领域将会有更广阔的发展前景。
参考文献
[1] 赵有金.基于FPGA的高分辨率全景图像处理平台的设计与实现[D].哈尔滨:哈尔滨工程大学,2011.
[2] XU W,MULLIGAN J.Panoramic video stitching from commodity HDTV cameras[J].Multimedia Systems,2013,19(5):407-426.
[3] 陆佳华,潘祖龙,彭竞宇,等.嵌入式系统软硬件协同设计实战指南:基于Xilinx ZYNQ(第2版)[M].北京:机器工业出版社,2014.
[4] 孙辉,柏旭光,孙丽娜,等.基于Bayer图像色彩还原线性插值方法[J].液晶与显示,2013,28(3):417-423.
[5] 武晓斌.基于FPGA的柱面投影算法的实现[J].电子科技,2015,28(5):9-12.










