基于FPGA的高清低码流H.264摄像机SoC设计_第1页
基于FPGA的高清低码流H.264摄像机SoC设计_第2页
基于FPGA的高清低码流H.264摄像机SoC设计_第3页
基于FPGA的高清低码流H.264摄像机SoC设计_第4页
基于FPGA的高清低码流H.264摄像机SoC设计_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目前高清 H.264摄像机的核心 SoC 基本上都是 ASIC ,而 FPGA 作为近年来发展迅速的可编 程器件, 在高清 H.264摄像机的 SoC 领域如何能有一席之地?这是我们的设计需要实现的目 标。与 ASIC 相比, FPGA 的特点是功能强,设计灵活,随时升级,工作成果可以积累, NRE 低,但是芯片价格比 ASIC 贵,所以必须找到一个可以达到价格平衡 的应用领域,我们根 据这几年智能手机和 3G 网络发展迅猛的情况,参考电信运营商第一代全球眼的技术指标, 直接把设计指标定位在码流小于 512kbps 和分 辨率为 1280x720x25fps , 目前在市面上可以实 现这些指标

2、的摄像机几乎没有,这是 FPGA 的好机会。512kbps 的码流限制主要是考虑到 ADSL 和家庭光端机的上传能力, 而且也能利用 3G 上传 视频, 减少了智能手机的码流下载压力; 1280x720是智能手机的主流分辨率, 自然需要相应 的视频源,如果显示 D1或 CIF ,效果肯定不理想。我 们的目标是做一个可以直接用于生产的参考设计, 除了设计指标先进, 我们还要考虑价 格和实用,所以我们选择了低成本的 CYCLONE IV 系列,另外也实现了一般网络摄像机的 全部功能,如 H.264压缩、 720p25帧三码流、双向语音、重要区域和隐私区域的定义、智能 分析、移动检测、 声音侦测、

3、POE 供电等;三.实现高清低码流 H.264摄像机 SoC 的关键一 般来说, 1280×720×25fps的码流在 2Mbps 左右,如何降低码流?除了使用 mail profile with cabac 的 H.264编码器外,还需要对视频图像进行分析,而且要在帧率、分辨率、视频 质量等方面权衡折中,在 512kbps 码流下获得最好的视频效 果,为了达到这样的目的,需 要复杂灵活的控制, FPGA 可以满足这样的需求。高清低码流 H.264摄像机的结构简图如下: 1.FPGA 的选用在 高清低码流 H.264摄像机的结构中,除了图像传感器、存储器、电源和模拟接口外,

4、 所 有的功能如图像处理、 H.264编码、协议处理、参数管理、媒体流发 送等都由 FPGA 实现, FPGA 就是高清低码流 H.264摄像机的 SoC ;目前世界上 FPGA 的生产商只有几个,可选择 的产品也不多,要用 FPGA 实现高 清低码流 H.264摄像机的 SoC ,选择一款合适的 FPGA 非常重要, FPGA 的选择主要考虑三方面的因素:速度、成本和结构;每个 FPGA 生产商都 有多 个 FPGA 系列,每个系列的速度、性能和价格都不同,要使高清低码流 H.264摄像机 SoC 的成本尽可能低,应该选择成本最低的系列,像我们选择的 FPGA 是 Altera 公司的 CY

5、CLONE IV 系列, 型号是 EP4CE115F23C8, CYCLONE IV 是低成本系列,在同样是低成 本系列的 FPGA 中, CYCLONE IV 的速度是最快的; FPGA 的结构对图像处理也很重要, 尤其是存储器和乘法器的数量, H.264算法是以宏块为单位,在处理过程中必然会涉及到宏 块的输入输出和缓存, 1个宏 块的数据为 384字节(256字节亮度数据和 128字节色度数据 , 如果考虑到输入输出和处理的并行,必须设置双份,即 768字节,用 CYCLONE IV 的 1个 M9K 存储块正好,从上面的分析可以看出适合图像处理的 FPGA 对内部存储器的要求是存 储块容

6、量小(如 1KB 、存储块数量多,另外,对乘法器 的要求也是数量多;在我们选择 FPGA 的时候, CYCLONE IV 是在所有低成本 FPGA 中有最大的存储器逻辑比和乘法器逻 辑比,很适合做图像处理。为 了满足 1280x720x25fps 的要求, 只需要选择百万像素的传感器就可以了, 我们最终选择 了 300万像素的 AR0331,还可以实现 1920x1088x11fps , 在实现 1280x720x25fps 时还有电子 PTZ 功能, AR0331还有宽动态功能,便于摄像机以后扩充宽动态功 能。外部存储器有 2片 LP DDR SDRAM 和 1片串行 FLASH ,串行 F

7、LASH 用于存储 FPGA 的配 置数据和 NIOS 的数据程序, 1片 LP DDR SDRAM 用于存储图像数据和编码结果, 1片 LP DDR SDRAM 用于 NIOSII 运行 ucLinux 。4. FPGA 实现的功能FPGA 作为高清 H.264摄像机的 SoC 实现的功能如下: 图像处理 边缘检测 RAW 插值计算简单的 RAW 插值计算会造成边缘模糊,增加边缘检测判断可以避免造成边缘模糊; 3D 滤波从图像传感器出来的图像包含有噪声,去噪同时在帧间和帧内进行; 2D 锐化由于镜头等因素影响,从图像传感器出来的图像需要锐化才能清晰; GAMMA 校正从图像传感器出来的图像灰

8、度不正确,需要做 GAMMA 校正,获得正确的灰度; 自动曝光控制根据亮度条件调节适合的曝光参数; OSD 显示可以叠加 2048位图像,图像以宏块为单位,结构可以有 128x1、 64x2、 32x4、 16x8、 8x16、 4x32、 2x64、 1x128等选择,在屏幕的位置可以设置; 区域管理可以定义隐私区域、运动检测区域等; 编码处理 编码格式用 H.264main profile with cabac 算法编码, 可以提高压缩率, 减少码流; 由于完全实现 H.264的全部算法需要大量的资源,需要很大容量的 FPGA ,这是不现实的,如我们用 1个 测试序 列做过测试, 2个参考

9、帧比 1个参考帧的压缩率提高了 5%,但是 2个参考帧的处理要比 1个参 考帧的处理需要多远不止 5%的资源, 对于一些很复杂而压缩 率提高不多的方法我们暂时不 采用, 降低码流是 1个系统性的工作, 需要从多个环节考虑; 另外我们必须保证算法的准确, 以免在解码端产生误差; 编码能力最 大为 1280x720x25fps ,如果需要同时编码多路码流,需要考虑 3路码流的每秒宏块编码 数 量 之 和 不 能 大 于 90000, 如 1280x720x23fps+320x180x23fps, 1136x640x24fps+568x320x24fps+284x160x24fps等; 图像质量控制

10、编码量化参数调整范围:2441,值小码流大,图像质量好,值大码流小,图像质量差; 码流控制码流控制方式为 CBR ,控制平均码流; 网络处理 网络速度峰值目 前网络接口使用全双工 100M 以太网,由于图像的编码数据量是不均匀的, I 帧的编码 数据量大, P 帧的编码数据量小,所以数据量呈脉冲式分布,在传输 I 帧的 编码数据时尽量采用大的网络速度有利于减少延迟, 但是应该考虑到 ADSL 的承受能力, 可以设置 170M的网络速度峰值; 码流均值码流均值是 1秒种传送的数据量,可以设置 16Kbps8128Kbps的码流均值; CBR 的码流控 制方式就是根据码流均值来进行的; 码流缓冲由

11、于编码数据量呈脉冲式分布,当编码的数据产生速度高于网络速度峰值时,编码数据就 需要缓存在 LP DDR SDRAM ,否则就会丢失; 协议TCP 、 RTP 、 RTSP 、 DHCP 、 NTP 、 HTTP 、 FTP 、 SMTP 和 DDNS ; 管理 NIOS IINIOS II 是内置 CPU ,运行 ucLinux ,负责媒体流数据的缓冲和打包发送; 参数(通过 WEB 提供接收参数设置和更新,保留 2份参数, 1份是出厂时的参数, 1份是实际使用的参数,在正常 加电时实际使用的参数起作用,按复位键时出厂时的参数起作用; 升级(通过 WEB 提供FLASH 里面保存两个配置数据, 1个是出厂时的配置数据, 1个是升级后的配置数据,当按 复位键和升级配置数据加载失败时按

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论