视频编码标准H.264的核心技术分析
时间:07-11
来源:
点击:
H.264/AVC建议是目前最新的视频压缩标准。本文首先简要介绍图像通信中,视频编码标准H.261和H.263建议的基本原理和主要特点。
然后详细分析研究了H.264建议中的关键技术,包括帧内帧间预测编码、去块效应滤波、可变块大小、多帧和亚像素运动估计、整数DCT变换以及新的熵编码等新技术。
前言
图像通信是近年来取得长足发展的现代通信技术,图像压缩的进步则是通信发展中的重要组成部分。国际标准建议H.261的问世,是对图像编码近40年研究成果的总结,解决了可视技术在通信中的应用这一长期困扰人们的问题,覆盖了整个窄带ISDN上视听业务的图像编码,极大地推动了会议电视、电视电话等图像通讯方式的国际化和产业化。随后,ITU在H.261建议的基础上着手极低码率图像压缩的标准,制定了H.263建议,以及最新的H.264/AVC。本文首先对H.261和H.263建议的基本原理进行阐述,然后对新标准H.264/AVC中的新技术进行说明,最后再对H.26x系列标准进行总结。
1 H.261建议的基本原理
每一个图像压缩标准的制定,都针对它最适合的应用目标。H.261是最早定义的视频编码标准。它首次使用了运动补偿预测编码与DCT变换相结合的方法,其视频编码信号的传输速率从64kbps到1.92Mbps,故为p×64K视频编码器(p取值在1~31之间)。H.261主要应用于ISDN网上的视频会议系统,定位在电路交换网络系统。H.261编码器的原理如图1所示。
该建议主要采用CIF图像分辨率格式和QCIF分辨率格式, 以解决不同制式通信间的兼容问题。对于每一个帧间编码的宏块,H.261采用运动补偿的帧间预测算法,消除电视图像时间域上的相关性;对预测误差进行DCT变换以消除图像空间域上的相关性;然后自适应量化DCT系数,以充分利用人的视觉特性;接着进行熵编码,以实现统计匹配编码;最后采用输出缓冲存储器,以平滑数码流,达到输出数码率保持恒定的目的。
该建议的图像帧编码模式包括I,P,B三类。I帧,采用帧内编码方式;P帧,采用帧间编码方式,由I帧或前面的P帧进行运动补偿,再对误差估计进行编码;B帧为双向内插帧不编码传输,而由I帧和P帧或者P帧与PP帧插值重建。H.261不支持双向运动预测以及GOP,每一个帧间编码帧是以它的前一个已编码帧为参考帧。
H.261标准的编码数据结构从高层到底层定义了四个层次,即帧层、片层、宏块层和块层。H.261的运动估值补偿是以宏块为单位进行的。对某宏块是选择帧间还是帧内编码方式,首先需要判断。若它与匹配宏块相关性强,则可采用帧间编码方式,反之,则采用帧内编码方式。
2 H.263建议的基本原理
H.263标准是在H.261标准的基础上建议的。它在低码率条件下,能够在不增加太多复杂度的情况下,获得更高的图像质量。原则上它只需要一半的带宽就可取得与H.261同样的视频质量。目前,H.263标准已经被各种可视电话终端协议广泛采用。
H.263标准基本模式编码器的结构框图与H.261标准相似。同样,采用运动补偿预测减少图像的时间域冗余度;对运动补偿预测的残差场进行离散余弦变换(DCT)编码;利用变长编码(VCL)对量化的DCT系数、运动矢量以及附加信息进行熵编码。
H.263在H.261建议的基础上作了一定的改进。图像尺寸采用QCIF格式,引入了sub-CIF格式,也允许使用CIF格式。采用8×8的DCT变换,宏块统一使用同样的量化步长进行量化,可以是一个宏块使用一个运动矢量,也可以是宏块的每个子块各使用一个运动矢量,因而,具有块运动补偿能力,改善了帧间预测。运动矢量的x向和y向都支持半像素精度,运动估计的搜索窗大小被限制为[-16, +15.5],运动矢量进行差分预测编码传输。编码方式采用二维预测与VLC相结合的编码;类似MPEG-1标准,将所有的图像分为P帧和BP帧。
H.263建议为保证在极低码率条件下获得较好的图像质量,在H.261混合编码的基础上,还采用了无限制的运动矢量模式、语法基算术编码模式、高级预测模式以及PB-帧模式等编码技术。在无限制的运动矢量模式中取消了作为基准的像素必须在编码图像区域内的限制。在高级预测模式中使用了重迭块运动补偿,而且还允许运动矢量穿过运动边界。在PB-帧模式中,B帧通过前一译码P帧和当前的一个译码P帧进行双向预测重建,这样就提高了帧速率但并未明显增加比特数。以上三种方式主要是为了改善帧间预测。基于语法算术编码方式的采用是为了进一步降低传输的比特率。在这种方式中,所有的变长码的编译码运算都用算术编译的运算来代替。提供这些高级编码模式,使得应用者可以在压缩性能和复杂度之间进行均衡和取舍。
然后详细分析研究了H.264建议中的关键技术,包括帧内帧间预测编码、去块效应滤波、可变块大小、多帧和亚像素运动估计、整数DCT变换以及新的熵编码等新技术。
前言
图像通信是近年来取得长足发展的现代通信技术,图像压缩的进步则是通信发展中的重要组成部分。国际标准建议H.261的问世,是对图像编码近40年研究成果的总结,解决了可视技术在通信中的应用这一长期困扰人们的问题,覆盖了整个窄带ISDN上视听业务的图像编码,极大地推动了会议电视、电视电话等图像通讯方式的国际化和产业化。随后,ITU在H.261建议的基础上着手极低码率图像压缩的标准,制定了H.263建议,以及最新的H.264/AVC。本文首先对H.261和H.263建议的基本原理进行阐述,然后对新标准H.264/AVC中的新技术进行说明,最后再对H.26x系列标准进行总结。
1 H.261建议的基本原理
每一个图像压缩标准的制定,都针对它最适合的应用目标。H.261是最早定义的视频编码标准。它首次使用了运动补偿预测编码与DCT变换相结合的方法,其视频编码信号的传输速率从64kbps到1.92Mbps,故为p×64K视频编码器(p取值在1~31之间)。H.261主要应用于ISDN网上的视频会议系统,定位在电路交换网络系统。H.261编码器的原理如图1所示。
该建议主要采用CIF图像分辨率格式和QCIF分辨率格式, 以解决不同制式通信间的兼容问题。对于每一个帧间编码的宏块,H.261采用运动补偿的帧间预测算法,消除电视图像时间域上的相关性;对预测误差进行DCT变换以消除图像空间域上的相关性;然后自适应量化DCT系数,以充分利用人的视觉特性;接着进行熵编码,以实现统计匹配编码;最后采用输出缓冲存储器,以平滑数码流,达到输出数码率保持恒定的目的。
该建议的图像帧编码模式包括I,P,B三类。I帧,采用帧内编码方式;P帧,采用帧间编码方式,由I帧或前面的P帧进行运动补偿,再对误差估计进行编码;B帧为双向内插帧不编码传输,而由I帧和P帧或者P帧与PP帧插值重建。H.261不支持双向运动预测以及GOP,每一个帧间编码帧是以它的前一个已编码帧为参考帧。
H.261标准的编码数据结构从高层到底层定义了四个层次,即帧层、片层、宏块层和块层。H.261的运动估值补偿是以宏块为单位进行的。对某宏块是选择帧间还是帧内编码方式,首先需要判断。若它与匹配宏块相关性强,则可采用帧间编码方式,反之,则采用帧内编码方式。
2 H.263建议的基本原理
H.263标准是在H.261标准的基础上建议的。它在低码率条件下,能够在不增加太多复杂度的情况下,获得更高的图像质量。原则上它只需要一半的带宽就可取得与H.261同样的视频质量。目前,H.263标准已经被各种可视电话终端协议广泛采用。
H.263标准基本模式编码器的结构框图与H.261标准相似。同样,采用运动补偿预测减少图像的时间域冗余度;对运动补偿预测的残差场进行离散余弦变换(DCT)编码;利用变长编码(VCL)对量化的DCT系数、运动矢量以及附加信息进行熵编码。
H.263在H.261建议的基础上作了一定的改进。图像尺寸采用QCIF格式,引入了sub-CIF格式,也允许使用CIF格式。采用8×8的DCT变换,宏块统一使用同样的量化步长进行量化,可以是一个宏块使用一个运动矢量,也可以是宏块的每个子块各使用一个运动矢量,因而,具有块运动补偿能力,改善了帧间预测。运动矢量的x向和y向都支持半像素精度,运动估计的搜索窗大小被限制为[-16, +15.5],运动矢量进行差分预测编码传输。编码方式采用二维预测与VLC相结合的编码;类似MPEG-1标准,将所有的图像分为P帧和BP帧。
H.263建议为保证在极低码率条件下获得较好的图像质量,在H.261混合编码的基础上,还采用了无限制的运动矢量模式、语法基算术编码模式、高级预测模式以及PB-帧模式等编码技术。在无限制的运动矢量模式中取消了作为基准的像素必须在编码图像区域内的限制。在高级预测模式中使用了重迭块运动补偿,而且还允许运动矢量穿过运动边界。在PB-帧模式中,B帧通过前一译码P帧和当前的一个译码P帧进行双向预测重建,这样就提高了帧速率但并未明显增加比特数。以上三种方式主要是为了改善帧间预测。基于语法算术编码方式的采用是为了进一步降低传输的比特率。在这种方式中,所有的变长码的编译码运算都用算术编译的运算来代替。提供这些高级编码模式,使得应用者可以在压缩性能和复杂度之间进行均衡和取舍。