1 H.264简介
H.264是ITU-T和ISO/IEC联合制定的最新编码标准,它最先由ITU-T于1997年提出,目标是提出一种更高性能(相对于当时的H.263)的视频编码标准。相对于其它标准,H.264具有以下特点:
(1) 码率低。和MPEG-2等压缩技术相比,在同等图像质量下,采用H.264技术压缩后的数据量只有MPEG-2的1/2~1/3。显然,H.264压缩技术的采用将大大节省存储容量、信道带宽及用户的下载时间和数据流量收费。
(2) 图像质量高。H.264能提供连续、流畅的高质量图像。
(3) 应用范围广。H.264的不同Profile既可以应用于有严格时延限制的实时通信中,也可以应用于对时延要求不高的其他应用中(如视频存储、流媒体等等)。
(4) 鲁棒性。H.264在设计时,针对分组交换网如Internet中的分组丢失和无线网络中比特误码都提出了相应的工具,使得H.264在这些网络中传播时具有更强的抗误码性能。
(5) 对各种网络的友好性。H.264中增加了NAL层,负责将编码器的输出码流适配到各种类型的网络中,从而提供了友好的网络接口。
H.264之所以能够达到以上性能,是因为采用了以下一些先进的技术:
首先是帧内预测编码,充分利用图像空域相关性,来降低码率。根据像条编码类型,每个宏块可以选择几种编码类型之一。共有13种预测模式(4×4块大小9种预测模式,16×16块大小4种预测模式),这在以往标准中是没有的。
其次是采用新的快速运动估值算法UMHexagonS(中国专利),它是一种运算量相对于H.264中原有的快速全搜索算法可节约90%以上的新算法,全名叫“非对称十字型多层次六边形格点搜索算法”(unsymmetrical-cross muti-hexagon search),这是一种整像素运动估值算法。由于它在高码率大运动图像序列编码时,在保持较好失真率性能的条件下,运算量十分低,已被H.264标准正式采纳。H.264有7种块匹配模式,编码时对其逐一计算,选择最优。例如较为精细的部分采用4×4块大小,不运动的背景可以采用16×16块大小等等。以往标准只有固定的一种或者两种块大小模式。H.264采用多帧参考,最大限度地利用实域相关性。参考帧可以从1帧到15帧,以往标准都是单帧参考。还有采用1/4或1/8精度的亚象素运动估计,以往标准至多采用1/2精度亚象素搜索,而且不是必选选项。为了消除视频编码中常出现的块效应,H.264使用了去块效应滤波器。
H.264还采用了整数DCT变换,以提高变换速度,采用CAVLC,CABAC等新的熵编码方法以提高编码效果。
H264标准使运动图像压缩技术上升到了一个更高的阶段,在较低带宽上提供高质量的图像传输是H.264的应用亮点。H.264因具有较低的传输比特率且对存储的要求较低,基本系统无需使用版权,具有开放的性质,目前有望取代MPEG-2。
2 Hi3510工作原理
Hi3510是海思公司推出的一款基于H.264 BP算法的视频压缩芯片,该芯片采用 ARM+DSP+硬件加速引擎的多核高集成度的SoC构架,具备强大的视频处理功能。可实现DVD画质的实时编码,能白适应各种网络环境,确保画面的清晰度和实时性,低码率的H.264编码技术极大减少了网络存储空间,并通过集成DES/3DES加解密硬件引擎确保网络安全。
Hi3510采用0.13μm工艺、LFBGA400封装,大小为19×19mm,引脚间距为0.8mm,片内集成了包括数字视频接口、USB、ETH、I2S、I2C、GPIO、SPI、UART、SDRAM、DDR等接口,满足各种应用场景设备开发的同时能大大降低设备的BOM成本。
Hi3510的工作原理:视频输入单元通过ITU-RBT.601/656接口接收由VADC输出的数字视频信息,并通过AHB总线把接收到的原始图像写入到外存(SDR SDRAM或DDR SDRAM)中;视频编解码器器从外存中读取图像,进行运动估计(帧间预测)、帧内预测、DCT变换、 量化、熵编码(CAVLC+Exp-Golomb)、IDCT变换、反量化、运动补偿等操作,最后将符合H.264协议的裸码流和编码重构帧(作为下一帧的参考帧)写入到外存中;视频输出单元从外存中读取图像数据并通过ITU-R BT.601/656接口送给VDAC进行显示,应用的需求不同,视频输出单元从外存中读取的图像内容也不同,当需要对输入图像进行预览时,视频输出单元从外存中读取原始图像,当需要观察视频编码器的编码效果时,视频输出单元从外存中读取编码重构帧;ARM对视频编码器输出的码流进行协议栈的封装,然后送给网口发送,以实现视频点播业务。
Hi3510的H.264音视频编解码SoC逻辑框图如图1所示,该芯片由ARM+DSP+视频编解码加速器+图形引擎缩放器的核心构成,集成了丰富的外围接口,并内部集成包括如数字水印、DES/3DES算法,使得单芯片能适应几乎所有的工作,降低与其它芯片配合的开发难度,也免除厂商对算法等标准部分的内容进行重复开发,大大降低了设备厂商的投入门槛。配合海思不同应用形态的开发包,可以开发出PMP、可视电话、网络监控、PVR、可视对讲等各种产品。
3 Hi3510的编解码设计方案
作为SoC架构的编解码芯片,Hi3510在设计时充分考虑到兼容性和使用的方便性。支持几乎所有公司生产的系列AD/DA芯片。Hi3510既可以作为独立的编码器工作,也可以作为独立的解码器工作,也可以同时进行编解码工作,充分考虑到了编解码市场的各种应用场合。Hi3510是一个典型的多应用的单芯片解决方案,大大降低了设备的BOM组成和成本。
Hi3510的同时编解码设计方案如图2所示。
4 Hi3510编解码应用
Hi3510自带的Linux操作系统(同时支持Vxworks、WinCE等开放式操作系统)和ARM处理器,使得芯片除了编解码功能外,还可以实现许多丰富的应用功能开发。在图2中,只要附加一片普通AD就可实现复合视频信号的数字化压缩、存储和传输的功能。Hi3510开发包提供上层API接口,就可以调用实现所有的芯片功能,并能开发自己的个性化功能。
Hi3510芯片的编码应用设计如图3所示。
而解码器应用在架构设计上与编码器相同(方便方案可以保持一致性,可以实现一套硬件满足不同需求,只需要软件升级)。解码器只需要配搭DA芯片(如果是LCD数字屏幕可以节省该芯片),就可以实现把数据码流解码的作用,并且通过GUI或者OSD实现用户人机互动的菜单操作,实现PMP等类似功能的产品应用。
Hi3510芯片的解码应用设计如图4所示。
H.264标准的应用,为视频的网络传输,尤其是低带宽下(如无线传输方式)的传输提供了技术支持。在信息爆炸的今天,市场要求设计人员推出产品的速度越来越快,而且为了保持产品的竞争力,在产品价格、产品应用功能特点上要保持足够优势,尤其是在多煤体市场领域。海思的SoC芯片在提供了标准算法的基础上,给予设计人员最大的灵活度以设计合适的产品,大大降低了厂商的投放成本,缩短了厂商的推出新产品的时间,为赢得市场做准备。近年来,每一个便携式个人电子设备似乎都配备了音视频功能,包括移动电话、便携式媒体播放器和PDA。这种基于Hi3510设计的高性价比H.264编解码器一定会有广阔的市场前景。