H.264音视频编解码SoC芯片Hi3510的原理和应用
进入网络时代以来,庞大的信息流带来了人类文化的丰富,也带来了存储信息的烦恼。尤其是视频信息的庞大数据,催生了视频压缩技术的需求。视频压缩技术成为多媒体时代最热门的技术之一,并广泛地应用在电视、电影、可视电话、视频会议、远程监控等图像传输和存储的领域。
H.264视频压缩原理
从信息论观点来看,图像作为一个信源,描述信源的数据是信息量(信源熵)和信息冗余量之和。信息冗余量有许多种,如空间冗余、时间冗余、结构冗余、知识冗余、视觉冗余等,数据压缩实质上是减少这些冗余量。可见冗余量减少可以减少数据量而不减少信源的信息量。从数学上讲,图像可以看作一个多维函数,压缩描述这个函数的数据量实质是减少其相关性。
根据图像信息的组成元素,H.264采用了帧内预测、帧间预测、运动估值和运动补偿、整数变换等方式,以提高对图像的压缩率。其中帧内预测是H.264根据图像中相邻像素可能相同的性质,利用相邻像素的相关性,采用新的帧内预测模式,通过当前像素块的左边和上边的像素(已编码重建的像素)进行预测,只对实际值和预测值的差值进行编码,从而能用较少的比特数来表达帧内编码的像素块信息;而帧间预测通过多帧参考和更小运动预测区域等方法对下一帧进行精确预测,从而减少传输的数据量,实现降低图像的时域相关性。H.264把运动估值和帧内预测的残差结果从时域变换到频域,使用了类似于4×4离散余弦变换(DCT)的整数变换,而不是像MPEG-2和MPEG-4那样采用8×8 DCT的浮点数变换。以整数为基础的空间变换具备效果好、计算快(只需加法与移位运算),反变换过程中不会出现适配问题等优点,并且结合量化过程,保证了在16位计算系统中,计算结果有最大精度且不会溢出。4×4的变换块也8×8更能减少块效应和震铃效应。
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-R BT.601/656接口接收由VADC输出的数字视频信息,并通过AHB总线把接收到的原始图像写入到外存(SDR SDRAM或DDR SDRAM)中;视频编解码器从外存中读取图像,进行运动估计(帧间预测)、帧内预测、DCT变换、量化、熵编码(CAVLC+Exp-Golomb)、IDCT变换、反量化、运动补偿等操作,最后将符合H.264协议的裸码流和编码重构帧(作为下一帧的参考帧)写入到外存中;视频输出单元从外存中读取图像并通过ITU-R BT.601/656接口送给VDAC进行显示,应用的需求不同,视频输出单元从外存中读取的图像内容也不同,当需要对输入图像进行预览时,视频输出单元从外存中读取原始图像,当需要观察视频编码器的编码效果时,视频输出单元从外存中读取编码重构帧;ARM对视频编码器输出的码流进行协议栈的封装,然后送网口发送,以实现视频点播业务。
如图1所示,该芯片由ARM+DSP+视频编解码加速器+图形引擎缩放器的核心构成,集成了丰富的外围接口,并内部集成包括如数字水印、DES/3DES算法,使得单芯片能适应基乎所有的工作,降低与其它芯片配合的开发难度,也免除厂商对算法等标准部分的内容进行重复开发,大大降低了设备厂商的投入门槛。配合海思不同应用形态的开发包,可以开发出PMP、可视电话、网络监控、PVR、可视对讲等各种产品。
图1:Hi3510 H.264音视频编解码SoC逻辑框图。
Hi3510编解码方案的实现
作为SoC架构的编解码芯片,Hi3510在设计时充分考虑到兼容性和使用的方便性。支持几乎所有的公司生产的系列AD/DA芯片。Hi3510既可以作为独立的编码器工作,也可以作为独立的解码器工作,也可以同时编解码工作,充分考虑到了编解码市场的各种应用场合。Hi3510是一个典型的多应用的单芯片解决方案,大大降低了设备的BOM组成和成本。如图2所示为芯片同时编解码的应用。
图2:Hi3510是一款典型的多应用的单芯片解决方案。
i3510编解码的应用
Hi3510自带的Linux操作系统(同时支持Vxworks、WinCE等开放式操作系统)和ARM处理器,使得芯片除了编解码功能外,还可以实现许多丰富的应用功能开发。如图2所示,只要附加一片普通AD就可实现复合视频信号的数字化、压缩和存储和传输的功能。Hi3510开发包提供上层API接口,就可以调用实现所有的芯片功能,并能开发自己的个性化功能。图3为芯片的编码方案的应用设计。
评论