微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 新一代视频编码标准H.264/AVC的关键技术研究

新一代视频编码标准H.264/AVC的关键技术研究

时间:09-04 来源:与非网 点击:
3.1 H.264与H.263编码性能比较

本试验对Grenadier Guards序列进行测试,分别对H.264和H.263编码的保真度、PSNR、宏块编码比特数进行比较,结果如下:
(1)保真度测试

通过残差比较可以很清楚地看出,H.264重构帧和参考帧的残差比较平滑,基本没有斑点;而H.263的残差比较明显,尤其是在人物附近,由于运动量大,H.263使用半像素运动矢量估计,而H.264提高到1/4像素,在1/4像素的基础上再内插,得到1/8像素精度的运动矢量,大大提高了图像编码的质量,如图2所示。



(2)PSNR测试(如图2)

相对于H.263视频编码标准,H.264在其增强预测编码内容的方法上做了改进,如场、帧编码的自适应选择;变尺寸方块的运动补偿;高精度的运动补偿;多参考帧运动补偿;加权预测;整数变换;自适应熵编码;环路去块滤波等,这些大大提高了H.264的PSNR。由图2可以看出,无论是亮度信号,还是色差信号,H.264的PSNR都比H.263的高。
(2)PSNR测试(如图2)

相对于H.263视频编码标准,H.264在其增强预测编码内容的方法上做了改进,如场、帧编码的自适应选择;变尺寸方块的运动补偿;高精度的运动补偿;多参考帧运动补偿;加权预测;整数变换;自适应熵编码;环路去块滤波等,这些大大提高了H.264的PSNR。由图2可以看出,无论是亮度信号,还是色差信号,H.264的PSNR都比H.263的高。

对Grerladie Guards序列中第3帧图像的宏块进行4×8编码,每一个宏块所用的比特数都可以清楚地看出。通过比较发现,H.264对宏块编码所用的比特数比H.263平均少50%。尤其在运动物体附近,效果更加明显,H.264使用了很多偏红的色块,而H.264更多的是偏蓝色块。基本静止的背景图案,两者也有很多的差别。由此可见,H.264中很多是深蓝色的宏块,所用的比特数在10比特左右,而H.263则偏向绿色,比特数在20比特左右。通过比较还发现,H.264的编码效率比H.263高很多。



3.2 H.264编码性能

3.2.1 多参考帧预测模式

对于多种类型的视频序列来说,多参考帧预测模式可以有效地提高编码性能,它通过在运动矢量中增加一个时域部分,而允许在宏块级下从若干参考帧中选择其中的一个。由于需要保持一个参考帧缓冲区域,因此增加了在编解码器中对内存的需求量。另外,额外参考帧的引入也使得搜索区域扩大,从而显著提高了编码器端在运动估计过程中计算的复杂度。本实验中Foreman视频序列使用UVLC熵编码,1/4像素运动矢量精度,搜索范围为16像素。
图6为使用不同参考帧数M对亮度分量峰值信噪比的影响。



试验表明,多参考帧的使用,能平均节省10%的比特率。同样,多参考帧的使用也与具体的序列内容有关,高比特率的序列将大大提高图像的PSNR。

3.2.2 双向预测模式

H.264以前的视频编码标准一般都采用多假设预测模式,而H.264使用的双向预测模式,它是一对前向/后向预测帧的线性组合。前后向预测又都可以包含多个参考帧,同时,它又分为双向预测信号的独立估计和联合估计。其中,联合估计可以大大改进编码的效率。

本实验中Foreman视频序列使用UVLC熵编码,1/4像素运动矢量精度,搜索范围为16像素。图7为使用独立估计和联合估计对亮度分量峰值信噪比的影响。图7是重构B帧时帧比特率与亮度分量峰值信噪比的关系,选择5个前向预测帧和3个后向预测帧,则由图可以看出,联合估计的性能比独立估计的高。线性双向预测模式不仅利用了抑止噪声的组件,还提供了消除波峰的功能。假设当前帧中有一个物体将在后续帧中出现,而未在前面的帧中出现,那么,增加前向参考帧就不能提高编码效率,而增加后向参考帧就能大大提高编码效率。



3.2.3 熵编码

H.264有两种不同的熵编码模式:通用可变长编码(UVLC)和基于上下文的自适应二进制算术编码(CABAC)。UVLC只使用一个可变长的代码去编码所有二进制的语法元素,而CABAC则采用上下文模式和基于条件概率与符号统计的自适应算法。UVLC算法简单,在付出很低的计算成本时就能取得很好的压缩效率。CABAC计算复杂度高,但它能够大大节省比特率。

本实验中Foreman视频序列使用1/4像素运动矢量精度,搜索范围为16像素。图8为使用UVLC和CABAC对亮度分量峰值信噪比的影响。



试验表明,CABAC能大大降低比特率,在取得相同的亮度分量峰值信噪比时,CABAC比UVCL平均节省15%的比特率。在高比特率的序列中,常使用多参考帧和CABAC联合编码,多参考帧能提高运动估计补偿的效率,CABLC能自适应地根据上下文进行熵编码,从而大大提高编码器的性能。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top