H.264标准以其高视频压缩比、高图像质量、良好的网络适应性得到了市场的广泛认可。其应用目标范围较宽,可以满足不同速率、不同解析度以及不同传输、存储场合的需求。但算法的复杂度高,必须有强劲有力的硬件作支持。
2 H.264便携式实时编解码器方案比较
目前DSP是实现H.264视频编解码的主流。DSP芯片采用多总线多功能单元的哈佛结构,加上带有强烈针对性的指令集设计,实际的处理能力非常高。但是由于H.264算法的复杂性,需要更快的DSP,这样将会导致价格提高和功耗增大。对于H.264便携式实时编解码器来说,DSP架构往往不能同时满足编解码速度和功耗这两方面的要求。另外,对于H.264编解码软件,虽然有开源的编解码器可以参考,但代码的修改、移植过程仍然相当复杂。
因此,可以考虑使用专用的硬件来实现H.264便携式实时编解码器。目前市场上主要有两种形式:一种采用IP(Intellectual Property)核,一种采用ASIC芯片。
2.1 基于IP核的编解码器
目前,基于IP核的编解码器是比较常见的,能提供H.264编解码IP核的厂家主要有4i2i,IndigoVision,Sarnoff,Chips&Media,Ocean Logic,Innovative Semi-conductors,eInfoChips,CAST,Barco-Silex,Ateme,创意电子以及国内的中芯联合等。4i2i和Chips&Media等都能提供全系列的H.264编解码核。表1列举了4家IP核的H.264 编解码器。
但由于功耗、体积和成本的限制,基于IP的方案无法广泛应用到消费电子领域中,一般直接被IC厂商封装在SoC中,以ASIC方式提供给用户。例如,可编程逻辑供应商Xilinx与英国IP核供应商4i2i就共同发布了一块单片式FPGA高清晰度的H.264视频编码器。另外也有一部分IP核可以支持ARM等平台,如表1中TechnoMathematical的H.264_BP,H.264_MP等。
2.2 基于ASIC芯片的编解码器
ASIC定制的视频编解码芯片成本低廉,编解码速度快,广泛用于各个领域。这种ASIC内部除处理器外,一般还集成了丰富的外设接口,如以太网、USB、CF等接口,有些还集成了图像压缩、图像增强、硬件加速等模块,特别是有些芯片还集成有RISC CPU,采用ASIC+ARM的构架,能有效地结合ASIC和ARM的长处,使芯片具有高性能编解码功能,同时实现许多应用功能的开发。
目前,能够生产H.264编解码相关芯片的IC公司有:Broadcom,Conexant,Sigma Designs,STMicroelectron-ics,Hantro,C&S Technology,NeoMagic,ATI,nVidia,Tech-no Mathematical,Qpixel,Chips&Media,富士通以及国内的海思、富翰等。这些公司推出的产品大部分为解码器,例如Broadcom公司的BCM74xx系列、Conexant的Cx2418x系列、Sigma Designs的SMP8620和SMP8630系列、富翰的FH8601等。而海思的Hi3510,Qpixel的QL20X系列以及富士通的MB86H50和MB86H51等为全功能的编解码器芯片,下面重点介绍~下这几款芯片。 [nextpage]
1) 海思的Hi3510
Hi3510是一款基于ARM9及DSP双处理器内核,以及硬件加速引擎的高集成、可编程、支持MPEG-4和AVC/H.264等多协议的高性能通信媒体处理器,可广泛应用于实时视频通信、数字图像监控等领域。视频处理单元能够支持MPEG-4,AVC/H.264,Baseline,H.263+,H.261,JPEG等多种协议的实时编解码。加密、DRM和数字水印技术为数据和通信的安全提供了强有力的保障。图形处理单元能够提供视频去噪、图像增强、运动检测等功能;支持任意比例的视频、图形缩放以及去隔行处理;支持OSD和2D图形加速,为应用图形界面的开发提供丰富的特性。其功能框图如图1所示。
2) Qpixel的QL202B
QL202B是一款半双工H.264/AVC Main Profile(Level 3)的编解码SoC,内部集成ARM9处理器和10/100 Mbit/s以太网接口,非常适用于网络视频流的应用。图形处理单元能够提供视频去噪、图像增强、运动检测等处理功能;先进的视频编码处理支持CSVLC/CABAC,可配置GoP的结构,支持任意比例的视频、图形缩放以及全屏OSD等,为应用图形界面开发提供丰富的特性。其功能框图如图2所示。
目前支持Main Profile的ASIC还比较少,QL202B是性能较好的一款。它支持full D1@30 f/s(帧/秒),外设丰富,具有一个ARM核,能够不加扩展地开发很多应用。尤其是它具有NAL(Netware Abstract Layer),支持MPEG的TS和PS以及单独的视频或音频ES,所以能够很轻易取代目前许多应用中的MPEG-2编解码器。同时,支持Apple Quicktime也是它的一大卖点。 [nextpage]
3) 富士通的MB86H50
MB86H50是首款支持High Profile Level 4.0的H.264编解码器,可对高清视频(高达1 440点×1 080行)进行实时的压缩和解压缩,也可对Dolby数字格式的音频进行同步压缩和解压缩。其内部集成有256 Mbit×2的FCRAM,使得尺寸更紧凑、功耗更低。富士通实验室开发的self-turning算法可以自适应地对感兴趣区域(如人脸、缓慢移动的物体等)进行浅度压缩而对其他区域进行深度压缩,这就可以使图像数据压缩至MPEG-2的1/2~1/3。其功能框图如图3所示。
以上3款芯片从支持H.264的Baseline Profile到High Profile,不同应用的适用层次也不同,例如Main Pro-file主要面向消费电子应用(如数字电视广播、数字视频存储等),需要注意选型。表2将这几款芯片作了简要的对比。
基于ASIC的编解码器其灵活性存在一定的缺陷,一旦芯片开发完毕就很难继续扩展其他应用,新功能的添加需要芯片研发公司花费较长的开发周期。好在目前很多ASIC都集成了ARM,并且支持固件升级以增加新的功能,例如,QL202B的音频Codec部分就可通过固件升级支持MPEG-1/2/4或其他新的音频编码标准,但是这样的开发在很大程度上受制于芯片公司。
3 小结
设计H.264便携式实时编解码器时必须充分考虑实时性、功耗、成本、资源、开发周期等因素,进行充分的调研,才能确定最优方案,降低系统的开发难度,缩短开发周期,降低开发成本。本文探讨了基于硬件实现的方案,对几款H.264不同层次的全功能编解码芯片的主要特点作了介绍以及简要对比,对开发前期方案的确定有一定的指导意义。