AVS-M与H.264(Baseline)视频解码器结构的分析
图2 AVS-M预测块邻块位置
图3 H.264预测块邻块位置
4 熵解码
H.264中采用基于上下自适应的可变长编码(CAVLC),其原理: 4*4块残差数据经整数变换、量化后非零系数主要集中在低频部分,高频系数大部分是零,且高频位置上非零系数值大部分是+1和-1。AVS-M熵编码也采用变长编码技术,在AVS-M熵编码过程中,所有的语法元素和残差数据都是以指数哥伦布码的形式映射成二进制比特流。
5 环路滤波
两标准都是采用基于块的残差系数反变换、反量化,量化过程相对粗糙,反量化恢复的变换系数必定带来误差,另一方面,运动补偿块可能来自不同帧位置的内插样本块,将导致边界不连续,因此,需采用环路滤波来消除块预测误差造成的失真。H.264中根据相邻块模式、参考索引、运动矢量和解码块确定滤波强度,滤波强度参数Bs值为0~4,对于Bs为1~3的采用4抽头滤波器,对于Bs为4的采用6抽头滤波器。H.264中滤波器能适应片级、边界级和样点级的需要。而在AVS-M中根据当前宏块是帧内(帧间)编码宏块来选择帧内(帧间)滤波器,当满足滤波条件后,采用4抽头滤波器对边界先垂直后水平滤波。AVS-M滤波器相对H.264而言,像素少,强度弱,但在消除方块效应的同时能大大地减少滤波时间。
应用前景
直播卫星电视和高清电视是其中进展最快的项目。与整机厂商互动,AVS标准组可从实际应用中得到反馈,对标准、实现算法、软件、IP内核、专用芯片进行及时的修改和改进,从而真正适应产业的需求。
上广电主持的卫星电视实验系统项目中的AVS编码器则采用了"转码器+DSP"的实现方案。该系统高度兼容MPEG-2,这是由于MPEG-2的节目较多,所以AVS与它有一个融合-取代的过程。如加密、用户管理、收费系统、编辑系统等其他配套系统不变。
总结
由上分析可知,两种视频解码器结构有很多共同之处。目前,关于H.264视频解码器的优化、硬件移植的方法及其应用很多,这些也可被AVS-M采纳。本文根据优化H.264的相关文献中的一些方法对AVS-M作过软件上的优化。算法上的优化主要包括插值、环路滤波和熵解码的优化。插值时可以将像素分为内部像素和边界像素,避免重复的判断。环路滤波时每个4*4块中的每个点有相同的边界门限,其相应的滤波操作也可以4次完成。熵解码时,可通过重新建表减少转化程序。代码上的优化主要包括程序结构优化、循环展开、数据类型选择和数据的移动等,例如,Decode_one_macroblock函数中,可根据宏块类型采用不同的函数来解码,对临时的缓存区可简化。此外,对插值运算(可转化为矩阵运算)、反量化和反变换等涉及到矩阵运算的函数都可使用MMX/SSE指令集优化。
H.264是国际通用标准,而AVS-M是我国自主制定的标准,因而,两标准兼容的视频解码器的出现是种必然。本课题接下来的工作即是在对已有结构对比分析的基础上结合两套代码,将两解码器结构相同部分进行复用,不同部分通过开关进行选择,实现对两种不同格式的码流进行识别并实时解码
- DVI与HDMI:视频传输的数字化革命(08-15)
- 大规模IPTV点播系统解决方案(08-18)
- 数字音视频编解码技术标准AVS(08-19)
- 嵌入式设备的静止图像编码(08-18)
- 基于Blackfin533的H.264编码(08-18)
- 全球手机电视三大技术标准对比分析(08-19)