安防人上中安网!

关注我们  

安防网 >> 资讯频道 >> 前沿技术

基于FPGA的高清视频采集与显示系统设计

2011-08-17 09:21:08 来源:CPS中安网《电子技术应用》 作者:左事君 刘新朝等 责任编辑: liuyicps 收藏本文
近年来,高清网络摄像机席卷视频监控市场,传统的模拟摄像机也在寻找新的出路提升图像质量,采用非压缩方案的高清模拟摄像机成为首选。一般来说,非压缩方案的硬件平台有DSP或ASIC或FPGA。本文介绍了一种基于FPGA的视频采集与显示系统的设计。系统以FPGA为核心,配合高分辨率CCD图像传感器、ADC模数转换、视频编码器等,实现了高清视频实时采集与显示。详细阐述了色彩插值与色彩空间转换算法和BURST传输的FPGA硬件实现。

   本文介绍了一种基于FPGA的视频采集与显示系统的设计。系统以FPGA为核心,配合高分辨率CCD图像传感器、ADC模数转换、视频编码器等,实现了高清视频实时采集与显示。详细阐述了色彩插值与色彩空间转换算法和BURST传输的FPGA硬件实现。测试表明,该系统运行良好,能够满足高清视频实时监控要求。

  近年来,高清网络摄像机席卷视频监控市场,传统的模拟摄像机也在寻找新的出路提升图像质量,采用非压缩方案的高清模拟摄像机成为首选。一般来说,非压缩方案的硬件平台有DSP或ASIC或FPGA。它们各有优缺点,FPGA是现场可编程门阵列,兼顾了实时性与灵活性,而且还可以内嵌CPU,因此适合用来做图像处理。FPGA的最大缺点是功耗太大,但本文设计的不是便携式消费电子,功耗问题可以不考虑。

  本文在数据传输方式上进行了创新,一般的视频采集与显示方案均需要使用2个DMA通道和2片SDRAM做缓存,本文采用自行编写的BURST模块传输,仅需要一片SDRAM,节省硬件开销的同时降低了PCB板的复杂度。

  1 系统总体设计

  FPGA是整个系统的核心,本文采用的FPGA是Cyclone系列的EP3C16,它内部集成了15 408个逻辑单元,56个18×18乘法器,4个锁相环,CCD是SONY的ICX274,其有效分辨率是1 600×1 200,像素时钟是36 MHz,并且逐行扫描。SDRAM是Micron的MT48LC2M32B2,容量是2 M×32 bit,完全满足本设计的需要。

  首先ADC驱动CCD,CCD输出模拟视频,经过ADC转换成数字图像数据,然后通过FPGA内部的BURST传输写到SDRAM,在SDRAM内部开辟三段数据空间。其中code区域存放NIOS软件代码,bufferA和bufferB作为图像数据缓存,当图像数据写入bufferA时,可以读bufferB用于显示,当一帧数据采集完后,切换BURST传输地址,写入bufferB,此时读bufferA用于显示,这样数据可以不间断地采集和显示,这就是所谓乒乓操作。FPGA输出的视频数据经过编码器编码后形成串行码流,即SDI数据,然后经过同轴电缆线传输到具有SDI接口的显示器显示。其中,FLASH用来保存NIOS软件和FPGA硬件配置信息。

  在FPGA内部实现的模块中,VIDEO IP是根据AVALON总线规范编写的用户自定义模块,其余的模块均是ALTERA提供的标准模块,只需要在SoPC Builder中调用即可,因此本系统的设计主要是VIDEO IP的设计。

  2 硬件模块设计

  硬件模块也就是VIDEO IP模块,主要由色彩插值、色彩空间转换、FIFO三部分构成。基于成本与工程复杂度的考虑,本系统为单CCD系统,在CCD表面覆盖一层色彩滤波阵列(CFA),该滤波阵列采用Bayer格式,每个像素点只有一个颜色通道,为了实现彩色显示,每个像素点必须要有RGB 3个通道,要通过色彩插值才能获得其余两个通道。本文处理的视频数据都是YCbCr格式,因此还需要经过色彩空间转换将RGB格式转换成YCbCr格式。由于NIOS处理器的位宽是32 bit,而YCbCr(4:2:2)是16 bit,所以YCbCr必须经过FIFO,当FIFO半满时,通过BURST传输写数据到SDRAM。值得注意的是:写入FIFO之前,YCbCr的格式是4:4:4,为了方便显示,必须转换成4:2:2,本设计采取了最简单的处理方式,就是Cb和Cr间隔采样。实验表明,这种处理不影响显示效果。

  2.1 色彩插值算法

  考虑到本文设计的系统主要用于视频监控,因此采用最简单的插值算法,即双线性正交法。该算法的原理是在每个像素的领域取8个像素构成3×3阵列,该阵列中心的像素为待插值像素,其中一个色彩通道直接使用该像素的数据,另外两个色彩通道通过计算领域的2个或4个像素的平均值获得。不同位置的像素四周情况不同,根据待插值像素所处位置总结出4种情况(设待插值像素坐标为(X,Y))。

  (a)R(X,Y)=[R(X,Y-1)+R(X,Y+1)]/2;

  G(X,Y)=G(X,Y);

  B(X,Y)=[B(X-1,Y)+B(X+1,Y)]/2;

  (b)R(X,Y)=[R(X-1,Y-1)+R(X+1,Y-1)+R(X-1,

  Y+1)+R(X+1,Y+1)]/4;

  G(X,Y)=[G(X-1,Y)+G(X,Y-1)+G(X+1,Y)+

  G(X,Y+1)]/4;

  B(X,Y)=B(X,Y);

  (c)R(X,Y)=R(X,Y);

  G(X,Y)= [G(X-1,Y)+G(X,Y-1)+G(X+1,Y)+

  G(X,Y+1)]/4;

  B(X,Y)= [B(X-1,Y-1)+B(X+1,Y-1)+

  B(X-1,Y+1)+B(X+1,Y+1)]/4;

  (d)R(X,Y)=[R(X-1,Y)+R(X+1,Y)]/2;

  G(X,Y)=G(X,Y);

  B(X,Y)= [B(X,Y-1)+B(X,Y+1)]/2



  【中安网原创稿件声明】转载中安网文章时应遵循以下三个规则:1、保持原创文章中图表、图片、音视频的完整性;2、完整标注文章作者[文章前后有说明];3、转载中安网原创中部分内容也要完整标注来源"中安网",违者本网将依法追究。

【想第一时间了解安防行业的重磅新闻吗?请立即关注中安网官方微信(微信号:cpscomcn)——安防行业第一人气微信,万千精彩,千万不要错过!!!

中安网官方微信

提示:试试"← →"实现快速翻页

网友评论

共有0条评论  点击查看全部>>

所有评论仅代表网友观点,与本站无关。

24小时阅读排行

本周阅读排行

订阅邮件
安防速递

每天三个要闻,知晓行业关键

E 周 刊

一周事,一朝知

Email: