H.264视频编码多参考帧抗误码性能的研究
2014-10-29王莹王华
王莹++王华
摘 要
数字视频编码技术是数字电视、视频会议/远程监控、视频点播、遍入千家万户的VCD/DVD,以及新一代移动通信等应用核心技术。H.264作为最新的视频编码标准,能够在尽可能低的码率(或存储容量)下获得尽可能好的图像质量。但随着市场对图像传输需求的增加,如何适应不同信道传输特性的问题也日益显现出来。本文针对H.264视频的编码与解码的性能与效率展开研究,采用两种不同格式的标准图像序列,选择多参考帧进行运动预测和运动补偿,分别在编码端和解码端进行仿真测试,比较各自的信噪比及压缩码率,从而为我们在有限资源的前提下,为解码端的抗误码性能与编码端参考帧的数量、编码效率以及计算复杂度之间做出合理的判断和权衡。
【关键词】H.264 视频编码 多参考帧 性能
数字视频编码技术是数字电视、视频会议/远程监控、视频点播、遍入千家万户的VCD/DVD,以及新一代移动通信等应用核心技术。H.264作为最新的视频编码标准,能够在尽可能低的码率(或存储容量)下获得尽可能好的图像质量。但随着市场对图像传输需求的增加,如何适应不同信道传输特性的问题也日益显现出来。
由于H.264优越性能是以计算复杂度的增加为代价的,因此针对解决资源有限、解码端的抗误码性能、编码端参考帧的数量、编码效率以及计算复杂度之间关系问题成为H.264应用研究的一项重要内容。
1 H.264视频编码
H.264是国际化标准组织JVT和MPEG联合制定的一套最新的视频压缩标准。H.264视频编解码器是由帧内预测、运动估计、运动补偿、离散余弦变换、量化、块滤波、重排序和熵编码等功能单元组成的,提高了编码效率和图像质量,具有较强的抗误码特性,可适应丢包率高、干扰严重的信道中的视频传输。
在编码一个视频序列的时候,首先,读入第一帧,将其当作I帧,进行帧内编码,这样,无须用其它帧来对此帧进行预测。这样,要对关键帧,即进行帧内预测编码的帧进行分析,以确定采取何种帧内预测方式,来消除当前帧内的数据冗余信息。接下来,进行离散余弦变换和量化,然后采用Z形扫描将二维的冗余数据块转成一维的数列,最后,采用CAVLC和CABAC方法来进行熵编码。
随后,将接下来读入的帧设定为P帧,P帧不作帧内预测,而是进行帧间预测,所以需要用P帧的前一帧来对其进行预测,称之为帧间预测。帧间预测能很大程度的消除帧与帧在时间上的冗余信息,主要由运动估计、运动补偿组成,做完运动估计后,同样的,对冗余的数据块进行离散余弦变换、量化、Z形扫描和熵编码。同时,在做帧间预测的时候,需要用当前帧的前一帧来作为参考帧,所以在编码完一个帧的同时,对其进行解码,形成重构帧,此帧用来对下一帧进行预测。由于重构帧中的图像的边缘部分噪声较多,容易产生预测误差。所以,H.264中引入了块滤波技术,滤除噪声信号,最大程度的恢复原始图像的效果。
在H.264视频编码标准中的抗误码性能主要有5个特性:
(1)多参考帧(Multiple reference fra- mes);(2)SP/SI帧(SP/SI frames);(3)条结构编码(Slice structured coding);(4)数据分割(Data partitioning);(5)帧内编码帧或帧内编码块的更新(Intra frame or intra micro-block updates)。这里主要研究多参考帧对抗误码性能的影响。
2 多参考帧
编码图像分成三种类型:I帧、P帧和B帧。I帧独立编码,不依赖于前面编码的图像数据,利用视频图像的空间相关性进行压缩编码,也称为帧内编码帧。P帧利用先前编码的图像数据进行预测,也称为帧间编码帧,或预测帧。B帧参考先前编码的I、P帧和随后的一帧进行双向预测,P、B帧均利用图像的时域相关性进行预测编码。用来对编码图像进行预测的图像称为参考帧。
H.264协议中允许在运动预测中将当前帧之前的几帧中的任一帧选定为参考帧。在使用这种多参考帧的模式情况下,对某一个MB进行运动预测时,编码器会从过去的帧中选定一帧或几帧作为参考帧,以达到最佳的预测效果。图1给出了在编码端多参考帧的示意图,当前帧第n帧中的三个块分别由之前的第n-1帧、第n-3帧、第n-4帧预测得到。
3 仿真测试
3.1 仿真测试软件及参数设定
仿真测试软件是JVT的联合模型(Joint Model)JM73,其仿真测试环境和编码参数设定如下:使用主层(Main Profile),采用Hadamard变换; CACBC熵解码;分别使用1-5个参考帧;运行率失真优化;I帧和P帧的量化参数相同且为28,B帧的量化参数为30;最大搜索窗口为16;搜索范围没有限制;使用数据分割。然后选取具有不同运动和空间信息的QCIF及CIF典型测试序列,分别使用不同的参考帧数目在编码端选择与解码端进行测试。其测试序列选取见表1。
3.2 编码端测试
通常来说,评定一个视频系编码系统的优劣主要性能指标有:编码比特率、编码时间和编码信噪比。它们分别从压缩比、编码效率和图像失真度三个不同侧面反映一个视频编码系统的综合性能。
在30Hz的频率下,对两种不同格式,不同帧长的4个图像序列进行编码,通过在编码端参考帧对序列IPP与IBP进行编码,得到不同的编码速率性能曲线如图2所示,平均亮度(色度)信噪比性能曲线如图3所示。
从图2中可以看出,无论哪种格式的图像序列,参考帧数越多,图像压缩的比特率越少;同样运动比较剧烈的图像序列的比特率要比运动缓慢的图像序列的比特率大,这是因为选取的参考帧数多了,图像的相关性也就越强了,降低了时间和空间上的冗余。
从图3中可以看出,不论何种格式的图像序列,选取的参考帧数越多,图像的亮度信噪比越大,而且运动比较剧烈的图像序列的亮度信噪比要比运动缓慢的图像序列的信噪比小,但是图像编码时间就变得越长,这是因为随着参考帧数的增加,使得运动估值变得越来越准确,提高了运动补偿的编码效率。
3.3 解码端测试
编码端对图像序列进行编码后,码流打包,经过不同丢包的情况,在信道上传输,解码端恢复图像序列。
这里给出了container序列与tempete序列的测试结果,见表2。
其中:选择模式3表示被压缩的图像在信道上传输时,大约丢包率为3.3%;选择模式5表示被压缩的图像在信道上传输时,大约丢包率为5.6%。
对QCIF格式的图像序列在解码端的主观图像如图4所示;对CIF格式的图像序列在解码端的主观图像如图5所示。
由图4和图5的主观图像中可以看出,编码端参考帧数选取的越多,码流打包后,解码端获得的图像质量越好,原因同解码端一样,都是因为运动估值较为准确,运动补偿的效率得到提高的结果。
4 结论
由于H.264编码端的计算复杂度和编码时间的最重要瓶颈在于运动估值和运动补偿。采用多参考帧运动补偿,扩大的运动搜索范围对编码效率只有有限的提高,在没有引入快速搜索方法时,计算复杂度和编码时间与参考帧的数目成正比,并和运动搜索范围的平方成正比;采用双向预测技术的图像在相同的PSNR值下,码率只是采用前向预测技术图像的1/2至1/10甚至更低,但同样成倍提升了计算复杂度和存储容量。因此,参考帧数越多并不一定就越好。考虑到实际应用,结合仿真测试的结果,可以得出:选择3个参考帧比较理想。首先从编码的时间上来看,介于1~5参考帧的编码时间之间;其次从信噪比上看,3参考帧的信噪比接近于4或5参考帧,具有比较好的抗误码性;最后从压缩的比特率来看,3参考帧的比特率明显低于1或2参考帧,同时又接近与4或5参考帧的比特率,说明3参考帧的运动估值比较准确的,运动补偿的编码效率还是比较高的。
参考文献
[1]卢官明.移动流媒体技术[M].北京:电子工业出版社.2010.
[2]毕厚杰.新一代视频压缩编码标准——H.264/AVC(第2版)[M].北京:人民邮电出版社.2009.
[3]卓力,张菁,李晓光.图形图像新技术系列:新一代高效视频编码技术[M].北京:人民邮电出版社.2013.
作者单位
北京电子科技职业学院通信系 北京市 100015endprint
摘 要
数字视频编码技术是数字电视、视频会议/远程监控、视频点播、遍入千家万户的VCD/DVD,以及新一代移动通信等应用核心技术。H.264作为最新的视频编码标准,能够在尽可能低的码率(或存储容量)下获得尽可能好的图像质量。但随着市场对图像传输需求的增加,如何适应不同信道传输特性的问题也日益显现出来。本文针对H.264视频的编码与解码的性能与效率展开研究,采用两种不同格式的标准图像序列,选择多参考帧进行运动预测和运动补偿,分别在编码端和解码端进行仿真测试,比较各自的信噪比及压缩码率,从而为我们在有限资源的前提下,为解码端的抗误码性能与编码端参考帧的数量、编码效率以及计算复杂度之间做出合理的判断和权衡。
【关键词】H.264 视频编码 多参考帧 性能
数字视频编码技术是数字电视、视频会议/远程监控、视频点播、遍入千家万户的VCD/DVD,以及新一代移动通信等应用核心技术。H.264作为最新的视频编码标准,能够在尽可能低的码率(或存储容量)下获得尽可能好的图像质量。但随着市场对图像传输需求的增加,如何适应不同信道传输特性的问题也日益显现出来。
由于H.264优越性能是以计算复杂度的增加为代价的,因此针对解决资源有限、解码端的抗误码性能、编码端参考帧的数量、编码效率以及计算复杂度之间关系问题成为H.264应用研究的一项重要内容。
1 H.264视频编码
H.264是国际化标准组织JVT和MPEG联合制定的一套最新的视频压缩标准。H.264视频编解码器是由帧内预测、运动估计、运动补偿、离散余弦变换、量化、块滤波、重排序和熵编码等功能单元组成的,提高了编码效率和图像质量,具有较强的抗误码特性,可适应丢包率高、干扰严重的信道中的视频传输。
在编码一个视频序列的时候,首先,读入第一帧,将其当作I帧,进行帧内编码,这样,无须用其它帧来对此帧进行预测。这样,要对关键帧,即进行帧内预测编码的帧进行分析,以确定采取何种帧内预测方式,来消除当前帧内的数据冗余信息。接下来,进行离散余弦变换和量化,然后采用Z形扫描将二维的冗余数据块转成一维的数列,最后,采用CAVLC和CABAC方法来进行熵编码。
随后,将接下来读入的帧设定为P帧,P帧不作帧内预测,而是进行帧间预测,所以需要用P帧的前一帧来对其进行预测,称之为帧间预测。帧间预测能很大程度的消除帧与帧在时间上的冗余信息,主要由运动估计、运动补偿组成,做完运动估计后,同样的,对冗余的数据块进行离散余弦变换、量化、Z形扫描和熵编码。同时,在做帧间预测的时候,需要用当前帧的前一帧来作为参考帧,所以在编码完一个帧的同时,对其进行解码,形成重构帧,此帧用来对下一帧进行预测。由于重构帧中的图像的边缘部分噪声较多,容易产生预测误差。所以,H.264中引入了块滤波技术,滤除噪声信号,最大程度的恢复原始图像的效果。
在H.264视频编码标准中的抗误码性能主要有5个特性:
(1)多参考帧(Multiple reference fra- mes);(2)SP/SI帧(SP/SI frames);(3)条结构编码(Slice structured coding);(4)数据分割(Data partitioning);(5)帧内编码帧或帧内编码块的更新(Intra frame or intra micro-block updates)。这里主要研究多参考帧对抗误码性能的影响。
2 多参考帧
编码图像分成三种类型:I帧、P帧和B帧。I帧独立编码,不依赖于前面编码的图像数据,利用视频图像的空间相关性进行压缩编码,也称为帧内编码帧。P帧利用先前编码的图像数据进行预测,也称为帧间编码帧,或预测帧。B帧参考先前编码的I、P帧和随后的一帧进行双向预测,P、B帧均利用图像的时域相关性进行预测编码。用来对编码图像进行预测的图像称为参考帧。
H.264协议中允许在运动预测中将当前帧之前的几帧中的任一帧选定为参考帧。在使用这种多参考帧的模式情况下,对某一个MB进行运动预测时,编码器会从过去的帧中选定一帧或几帧作为参考帧,以达到最佳的预测效果。图1给出了在编码端多参考帧的示意图,当前帧第n帧中的三个块分别由之前的第n-1帧、第n-3帧、第n-4帧预测得到。
3 仿真测试
3.1 仿真测试软件及参数设定
仿真测试软件是JVT的联合模型(Joint Model)JM73,其仿真测试环境和编码参数设定如下:使用主层(Main Profile),采用Hadamard变换; CACBC熵解码;分别使用1-5个参考帧;运行率失真优化;I帧和P帧的量化参数相同且为28,B帧的量化参数为30;最大搜索窗口为16;搜索范围没有限制;使用数据分割。然后选取具有不同运动和空间信息的QCIF及CIF典型测试序列,分别使用不同的参考帧数目在编码端选择与解码端进行测试。其测试序列选取见表1。
3.2 编码端测试
通常来说,评定一个视频系编码系统的优劣主要性能指标有:编码比特率、编码时间和编码信噪比。它们分别从压缩比、编码效率和图像失真度三个不同侧面反映一个视频编码系统的综合性能。
在30Hz的频率下,对两种不同格式,不同帧长的4个图像序列进行编码,通过在编码端参考帧对序列IPP与IBP进行编码,得到不同的编码速率性能曲线如图2所示,平均亮度(色度)信噪比性能曲线如图3所示。
从图2中可以看出,无论哪种格式的图像序列,参考帧数越多,图像压缩的比特率越少;同样运动比较剧烈的图像序列的比特率要比运动缓慢的图像序列的比特率大,这是因为选取的参考帧数多了,图像的相关性也就越强了,降低了时间和空间上的冗余。
从图3中可以看出,不论何种格式的图像序列,选取的参考帧数越多,图像的亮度信噪比越大,而且运动比较剧烈的图像序列的亮度信噪比要比运动缓慢的图像序列的信噪比小,但是图像编码时间就变得越长,这是因为随着参考帧数的增加,使得运动估值变得越来越准确,提高了运动补偿的编码效率。
3.3 解码端测试
编码端对图像序列进行编码后,码流打包,经过不同丢包的情况,在信道上传输,解码端恢复图像序列。
这里给出了container序列与tempete序列的测试结果,见表2。
其中:选择模式3表示被压缩的图像在信道上传输时,大约丢包率为3.3%;选择模式5表示被压缩的图像在信道上传输时,大约丢包率为5.6%。
对QCIF格式的图像序列在解码端的主观图像如图4所示;对CIF格式的图像序列在解码端的主观图像如图5所示。
由图4和图5的主观图像中可以看出,编码端参考帧数选取的越多,码流打包后,解码端获得的图像质量越好,原因同解码端一样,都是因为运动估值较为准确,运动补偿的效率得到提高的结果。
4 结论
由于H.264编码端的计算复杂度和编码时间的最重要瓶颈在于运动估值和运动补偿。采用多参考帧运动补偿,扩大的运动搜索范围对编码效率只有有限的提高,在没有引入快速搜索方法时,计算复杂度和编码时间与参考帧的数目成正比,并和运动搜索范围的平方成正比;采用双向预测技术的图像在相同的PSNR值下,码率只是采用前向预测技术图像的1/2至1/10甚至更低,但同样成倍提升了计算复杂度和存储容量。因此,参考帧数越多并不一定就越好。考虑到实际应用,结合仿真测试的结果,可以得出:选择3个参考帧比较理想。首先从编码的时间上来看,介于1~5参考帧的编码时间之间;其次从信噪比上看,3参考帧的信噪比接近于4或5参考帧,具有比较好的抗误码性;最后从压缩的比特率来看,3参考帧的比特率明显低于1或2参考帧,同时又接近与4或5参考帧的比特率,说明3参考帧的运动估值比较准确的,运动补偿的编码效率还是比较高的。
参考文献
[1]卢官明.移动流媒体技术[M].北京:电子工业出版社.2010.
[2]毕厚杰.新一代视频压缩编码标准——H.264/AVC(第2版)[M].北京:人民邮电出版社.2009.
[3]卓力,张菁,李晓光.图形图像新技术系列:新一代高效视频编码技术[M].北京:人民邮电出版社.2013.
作者单位
北京电子科技职业学院通信系 北京市 100015endprint
摘 要
数字视频编码技术是数字电视、视频会议/远程监控、视频点播、遍入千家万户的VCD/DVD,以及新一代移动通信等应用核心技术。H.264作为最新的视频编码标准,能够在尽可能低的码率(或存储容量)下获得尽可能好的图像质量。但随着市场对图像传输需求的增加,如何适应不同信道传输特性的问题也日益显现出来。本文针对H.264视频的编码与解码的性能与效率展开研究,采用两种不同格式的标准图像序列,选择多参考帧进行运动预测和运动补偿,分别在编码端和解码端进行仿真测试,比较各自的信噪比及压缩码率,从而为我们在有限资源的前提下,为解码端的抗误码性能与编码端参考帧的数量、编码效率以及计算复杂度之间做出合理的判断和权衡。
【关键词】H.264 视频编码 多参考帧 性能
数字视频编码技术是数字电视、视频会议/远程监控、视频点播、遍入千家万户的VCD/DVD,以及新一代移动通信等应用核心技术。H.264作为最新的视频编码标准,能够在尽可能低的码率(或存储容量)下获得尽可能好的图像质量。但随着市场对图像传输需求的增加,如何适应不同信道传输特性的问题也日益显现出来。
由于H.264优越性能是以计算复杂度的增加为代价的,因此针对解决资源有限、解码端的抗误码性能、编码端参考帧的数量、编码效率以及计算复杂度之间关系问题成为H.264应用研究的一项重要内容。
1 H.264视频编码
H.264是国际化标准组织JVT和MPEG联合制定的一套最新的视频压缩标准。H.264视频编解码器是由帧内预测、运动估计、运动补偿、离散余弦变换、量化、块滤波、重排序和熵编码等功能单元组成的,提高了编码效率和图像质量,具有较强的抗误码特性,可适应丢包率高、干扰严重的信道中的视频传输。
在编码一个视频序列的时候,首先,读入第一帧,将其当作I帧,进行帧内编码,这样,无须用其它帧来对此帧进行预测。这样,要对关键帧,即进行帧内预测编码的帧进行分析,以确定采取何种帧内预测方式,来消除当前帧内的数据冗余信息。接下来,进行离散余弦变换和量化,然后采用Z形扫描将二维的冗余数据块转成一维的数列,最后,采用CAVLC和CABAC方法来进行熵编码。
随后,将接下来读入的帧设定为P帧,P帧不作帧内预测,而是进行帧间预测,所以需要用P帧的前一帧来对其进行预测,称之为帧间预测。帧间预测能很大程度的消除帧与帧在时间上的冗余信息,主要由运动估计、运动补偿组成,做完运动估计后,同样的,对冗余的数据块进行离散余弦变换、量化、Z形扫描和熵编码。同时,在做帧间预测的时候,需要用当前帧的前一帧来作为参考帧,所以在编码完一个帧的同时,对其进行解码,形成重构帧,此帧用来对下一帧进行预测。由于重构帧中的图像的边缘部分噪声较多,容易产生预测误差。所以,H.264中引入了块滤波技术,滤除噪声信号,最大程度的恢复原始图像的效果。
在H.264视频编码标准中的抗误码性能主要有5个特性:
(1)多参考帧(Multiple reference fra- mes);(2)SP/SI帧(SP/SI frames);(3)条结构编码(Slice structured coding);(4)数据分割(Data partitioning);(5)帧内编码帧或帧内编码块的更新(Intra frame or intra micro-block updates)。这里主要研究多参考帧对抗误码性能的影响。
2 多参考帧
编码图像分成三种类型:I帧、P帧和B帧。I帧独立编码,不依赖于前面编码的图像数据,利用视频图像的空间相关性进行压缩编码,也称为帧内编码帧。P帧利用先前编码的图像数据进行预测,也称为帧间编码帧,或预测帧。B帧参考先前编码的I、P帧和随后的一帧进行双向预测,P、B帧均利用图像的时域相关性进行预测编码。用来对编码图像进行预测的图像称为参考帧。
H.264协议中允许在运动预测中将当前帧之前的几帧中的任一帧选定为参考帧。在使用这种多参考帧的模式情况下,对某一个MB进行运动预测时,编码器会从过去的帧中选定一帧或几帧作为参考帧,以达到最佳的预测效果。图1给出了在编码端多参考帧的示意图,当前帧第n帧中的三个块分别由之前的第n-1帧、第n-3帧、第n-4帧预测得到。
3 仿真测试
3.1 仿真测试软件及参数设定
仿真测试软件是JVT的联合模型(Joint Model)JM73,其仿真测试环境和编码参数设定如下:使用主层(Main Profile),采用Hadamard变换; CACBC熵解码;分别使用1-5个参考帧;运行率失真优化;I帧和P帧的量化参数相同且为28,B帧的量化参数为30;最大搜索窗口为16;搜索范围没有限制;使用数据分割。然后选取具有不同运动和空间信息的QCIF及CIF典型测试序列,分别使用不同的参考帧数目在编码端选择与解码端进行测试。其测试序列选取见表1。
3.2 编码端测试
通常来说,评定一个视频系编码系统的优劣主要性能指标有:编码比特率、编码时间和编码信噪比。它们分别从压缩比、编码效率和图像失真度三个不同侧面反映一个视频编码系统的综合性能。
在30Hz的频率下,对两种不同格式,不同帧长的4个图像序列进行编码,通过在编码端参考帧对序列IPP与IBP进行编码,得到不同的编码速率性能曲线如图2所示,平均亮度(色度)信噪比性能曲线如图3所示。
从图2中可以看出,无论哪种格式的图像序列,参考帧数越多,图像压缩的比特率越少;同样运动比较剧烈的图像序列的比特率要比运动缓慢的图像序列的比特率大,这是因为选取的参考帧数多了,图像的相关性也就越强了,降低了时间和空间上的冗余。
从图3中可以看出,不论何种格式的图像序列,选取的参考帧数越多,图像的亮度信噪比越大,而且运动比较剧烈的图像序列的亮度信噪比要比运动缓慢的图像序列的信噪比小,但是图像编码时间就变得越长,这是因为随着参考帧数的增加,使得运动估值变得越来越准确,提高了运动补偿的编码效率。
3.3 解码端测试
编码端对图像序列进行编码后,码流打包,经过不同丢包的情况,在信道上传输,解码端恢复图像序列。
这里给出了container序列与tempete序列的测试结果,见表2。
其中:选择模式3表示被压缩的图像在信道上传输时,大约丢包率为3.3%;选择模式5表示被压缩的图像在信道上传输时,大约丢包率为5.6%。
对QCIF格式的图像序列在解码端的主观图像如图4所示;对CIF格式的图像序列在解码端的主观图像如图5所示。
由图4和图5的主观图像中可以看出,编码端参考帧数选取的越多,码流打包后,解码端获得的图像质量越好,原因同解码端一样,都是因为运动估值较为准确,运动补偿的效率得到提高的结果。
4 结论
由于H.264编码端的计算复杂度和编码时间的最重要瓶颈在于运动估值和运动补偿。采用多参考帧运动补偿,扩大的运动搜索范围对编码效率只有有限的提高,在没有引入快速搜索方法时,计算复杂度和编码时间与参考帧的数目成正比,并和运动搜索范围的平方成正比;采用双向预测技术的图像在相同的PSNR值下,码率只是采用前向预测技术图像的1/2至1/10甚至更低,但同样成倍提升了计算复杂度和存储容量。因此,参考帧数越多并不一定就越好。考虑到实际应用,结合仿真测试的结果,可以得出:选择3个参考帧比较理想。首先从编码的时间上来看,介于1~5参考帧的编码时间之间;其次从信噪比上看,3参考帧的信噪比接近于4或5参考帧,具有比较好的抗误码性;最后从压缩的比特率来看,3参考帧的比特率明显低于1或2参考帧,同时又接近与4或5参考帧的比特率,说明3参考帧的运动估值比较准确的,运动补偿的编码效率还是比较高的。
参考文献
[1]卢官明.移动流媒体技术[M].北京:电子工业出版社.2010.
[2]毕厚杰.新一代视频压缩编码标准——H.264/AVC(第2版)[M].北京:人民邮电出版社.2009.
[3]卓力,张菁,李晓光.图形图像新技术系列:新一代高效视频编码技术[M].北京:人民邮电出版社.2013.
作者单位
北京电子科技职业学院通信系 北京市 100015endprint