FPGA高清低码流H.264摄像机SoC参考设计

2014-01-10 14:55 来源:电源网 作者:云际

>外部存储器

外部存储器有2片LP DDR SDRAM和1片串行FLASH,串行FLASH用于存储FPGA的配置数据和NIOS的数据程序,1片LP DDR SDRAM用于存储图像数据和编码结果,1片LP DDR SDRAM用于NIOSII运行ucLinux。

FPGA实现的功能

FPGA作为高清H.264摄像机的SoC实现的功能如下:

① 图像处理

● 边缘检测RAW插值计算

简单的RAW插值计算会造成边缘模糊,增加边缘检测判断可以避免造成边缘模糊;

● 3D滤波

从图像传感器出来的图像包含有噪声,去噪同时在帧间和帧内进行;

● 2D锐化

由于镜头等因素影响,从图像传感器出来的图像需要锐化才能清晰;

● GAMMA校正

从图像传感器出来的图像灰度不正确,需要做GAMMA校正,获得正确的灰度;

● 自动曝光控制

根据亮度条件调节适合的曝光参数;

● OSD显示

可以叠加2048位图像,图像以宏块为单位,结构可以有128x1、64x2、32x4、16x8、8x16、4x32、2x64、1x128等选择,在屏幕的位置可以设置;

● 区域管理

可以定义隐私区域、运动检测区域等;

② 编码处理

● 编码格式

用H.264 main profile with cabac算法编码,可以提高压缩率,减少码流;由于完全实现H.264的全部算法需要大量的资源,需要很大容量的FPGA,这是不现实的,如我们用1个测试序列做过测试,2个参考帧比1个参考帧的压缩率提高了5%,但是2个参考帧的处理要比1个参考帧的处理需要多远不止5%的资源,对于一些很复杂而压缩 率提高不多的方法我们暂时不采用,降低码流是1个系统性的工作,需要从多个环节考虑;另外我们必须保证算法的准确,以免在解码端产生误差;

● 编码能力

最大为1280x720x25fps,如果需要同时编码多路码流,需要考虑3路码流的每秒宏块编码数量之和不能大于90000,如 1280x720x23fps+320x180x23fps,1136x640x24fps+568x320x24fps+284x160x24fps 等;

● 图像质量控制

编码量化参数调整范围:24~41,值小码流大,图像质量好,值大码流小,图像质量差;

● 码流控制

码流控制方式为CBR,控制平均码流;

③ 网络处理

● 网络速度峰值

目前网络接口使用全双工100M以太网,由于图像的编码数据量是不均匀的,I帧的编码数据量大,P帧的编码数据量小,所以数据量呈脉冲式分布,在传输 I帧的 编码数据时尽量采用大的网络速度有利于减少延迟,但是应该考虑到ADSL的承受能力,可以设置1~70M的网络速度峰值;

● 码流均值

码流均值是1秒种传送的数据量,可以设置16Kbps~8128Kbps的码流均值;CBR的码流控制方式就是根据码流均值来进行的;

● 码流缓冲

由于编码数据量呈脉冲式分布,当编码的数据产生速度高于网络速度峰值时,编码数据就需要缓存在LP DDR SDRAM,否则就会丢失;

● 协议

TCP、RTP、RTSP、DHCP、NTP、HTTP、FTP、SMTP和DDNS;

④ 管理

● NIOS II

NIOS II是内置CPU,运行ucLinux,负责媒体流数据的缓冲和打包发送;

● 参数(通过WEB提供)

接收参数设置和更新,保留2份参数,1份是出厂时的参数,1份是实际使用的参数,在正常加电时实际使用的参数起作用,按复位键时出厂时的参数起作用;

● 升级(通过WEB提供)

FLASH里面保存两个配置数据,1个是出厂时的配置数据,1个是升级后的配置数据,当按复位键和升级配置数据加载失败时按出厂时的配置数据进行加载,否则按升级配置数据加载;

● 报警接口(通过WEB提供)

提供报警信号的上传功能;

⑤ 音频

支持双向64kbits ALaw和16kbits/32kbitsADPCM的收发,声音侦测。

结束语

FPGA作为SoC的高清低码流H.264摄像机已经完成设计,达到设计目标,视频质量清晰流畅,完全满足智能手机作为监控终端的要求。

< 1 2 
FPGA 摄像机

相关阅读

暂无数据

一周热门