数字电视信源编码的主要技术与标准
H.264 H.264/AVC 是ITU-T VCEG 和ISO/IEC MPEG共同开发的视频处理标准,ITU-T作为标准建议H.264,ISO/IEC作为国际标准14496-10(MPEG-4 第10部分)高级视频编码(AVC)。 MPEG-2视频编码标准(又称为ITU-T H.262[2])已有10年的历史了,由MPEG-1扩充而来,支持隔行扫描。使用十分广泛,几乎用于所有的数字电视系统,适合标清和高清电视,适合各种媒体传输,包括卫星、有线、地面等,都能有效地传输。然而,类似xDSL、UMTS(通用移动系统)技术只能提供较小的传输速率,甚至DVB-T,也没有足够的频段可用,提供的节目很有限,随着高清电视的引入,迫切需要高压缩比技术的出现。 应用于电信的视频编码经历了ITUT H.261、H.262(MPEG-2)、H.263、H.263+、H.263++,提供的服务从ISDN和T1/E1到PSTN、移动无线网和LAN/INTERNET网。 最近MPEG-4第二部分进入了实用领域,提供了视频形状编码,目标是与MPEG-2一样获得广泛的数字电视应用。 1998年,视频编码专家组(VCEG-ITU-T SG16Q.6)启动了H.26L工程,旨在研制出新的压缩标准,与以前的任何标准相比,效率要提高一倍,同时具有简单、直观的视频编码技术,网络友好的视频描述,适合交互和非交互式应用(广播、存储、流煤体)。 2001年12月,VCEG和运动图像专家组(MPEG-ISO/IEC JTC 1/SC 29/WG 11)组成了联合视频组(JVT,Joint Video Team),研究新的编码标准H.264/AVC,该标准于2003年3月正式获得批准。 视频的各种应用必须通过各种网络传送,这要求一个好的视频方案能处理各种应用和网络接口。H.264/AVC为了解决这个问题,提供了很多灵活性和客户化特性。H.264/AVC的设计方案包含两个层次,视频编码层(VCL,Video Coding Layer)和网络抽象层(NAL,Network Abstraction Layer)。视频编码层主要致力于有效地表示视频内容,网络抽象层格式化VCL视频表示,提供头部信息,适合多种传输和存储媒体。 VCL的设计同以前的ITU-T和 ISO/IEC JTC一样,基于块的混合视频编码方法。基本的源编码算法是:利用时间统计的相关性,开发帧间预测算法;利用预测残留变换编码,开发空间统计的相关性。在提高编码效率方面,没有一个单一的算法做出特别的贡献,而是大量的小的改善算法综合产生的结果。 一、主要特性 1、H.264/AVC相对以前的编码方法,以MPEG-2为例,在图像内容预测方面提高编码效率,改善图像质量的主要特点如下: ● 可变块大小运动补偿: 选择运动补偿大小和形状比以前的标准更灵活,最小的亮度运动补偿块可以小到4×4。 ●1/4采样精度运动补偿:以前的标准最多1/2精度运动补偿,首次1/4采样精度运动补偿出现在MPEG-4第二部分高级类部分,但H.264/AVC大大减少了内插处理的复杂度。 ●运动矢量可跨越图像边界:在以前的标准中,运动矢量限制在已编码参考图像的内部。图像边界外推法作为可选技术首次出现在H.263中。 ●多参考图像运动补偿:在MPEG-2及以前的标准中,P帧只使用一帧,B帧只使用两帧图像进行预测。H.264/AVC使用高级图像选择技术,可以用以前已编码过且保留在缓冲区的大量的图像进行预测,大大提高了编码效率。 ●消除参考图像顺序和显示图像顺序的相关性:在以前的标准中,参考图像顺序依赖显示图像顺序,H.264/AVC消除了该限制,可以任意选择。
● 消除参考图像与图像表示方法的限制:在以前的标准中,B帧图像不能作为预测图像,H.264/AVC在很多情况可以利用B帧图像作为参考。 ● 加权预测:H.264/AVC采用新技术,允许加权运动补偿预测和偏移一定量。在淡入淡出场景中该技术极大提高编码效率,该技术还可用于其他多种用途。 ● 改善“跳过”和“直接”运动推测:在以前的标准中,预测编码图像的“跳过”区不能有运动。当编码有全局运动的图像时,该限制非常有害。H.264/AVC对“跳过”区的运动采用推测方法。对双预测的B帧图像,采用高级运动预测方法,称为“直接”运动补偿,进一步改善编码效率。 ● 帧内编码直接空间预测:将编码图像边沿进行外推应用到当前帧内编码图像的预测。 ● 循环去块效应滤波器:基于块的视频编码在图像中存在块效应,主要来源于预测和残余编码。自适应去块效应滤波技术是非常著名的技术,能有效消除块效应,改善视频的主观和客观质量。
2、除改善预测方法外,其他改善编码效率的特性如下: ● 小块变换:以前的标准变换的块都是8×8,H.264/AVC主要使用4×4块变换,使编码器表示信号局部适应性更好,更适合预测编码,减少“铃”效应。另外图像边界需要小块变换。 ● 分级块变换:H.264/AVC通常使用小块变换,但有些信号包含足够的相关性,要求以大块表示,H.264/AVC有两种方式实现。低频色度信号可用8×8,;对帧内编码,可使用特别的编码类型,低频亮度信号可用16×16块。 ● 短字长变换: 所有以前标准使用的变换要求32位运算,H.264/AVC只使用16位运算。 ● 完全匹配反变换:所有以前标准反变换和变换之间存在一定容限的误差,因此,每个解码器输出视频信号都不相同,产生小的漂移,最终影响图像的质量,H.264/AVC实现了完全匹配。 ● 基于上下文的熵编码:H.264/AVC使用两种熵编码方法,CAVLC(上下文自适应的可变长编码)和CABAC(上下文自适应二进制算术编码),两种都是基于上下文的熵编码技术。
3、H.264/AVC具有强大的纠错功能和各种网络环境操作灵活性,主要特性如下: ● 参数集结构:H.264/AVC参数集结构设计了强大、有效的传输头部信息。在以前的标准中,如果少数几位关键信息丢失,可能解码器产生严重解码错误。H.264/AVC采用很灵活、特殊的方式,分开处理关键信息,能在各种环境下可靠传送。 ● NAL单元语法结构:H.264/AVC中的每一个语法结构放置在称为NAL的单元中,以前的标准采用强制性特定的位流接口。NAL单元语法结构允许很自由的客户化,几乎适合所有的网络接口。 ● 灵活的像条大小:在MPEG-2中,规定了严格的像条结构,头部数据量大,降低预测效率,编码效率低。在H.264/AVC可采用非常灵活的像条大小。 ● 灵活宏块排序(FMO):H.264/AVC可以将图像划分为像条组,又称为图像区,每个像条可以独立解码。FMO通过管理图像区之间的关系,具有很强的抗数据丢失能力。 ● 任意像条排序:因为每个像条几乎可以独立解码,所以像条可以按任意顺序发送和接收,在实时应用中,可以改善端到端的延时特性,特别适合于接收顺序和发送顺序不能对应的网络中,如使用INTERNET网络协议的应用。 ● 冗余图像:为提高抗数据丢失的能力,H.264/AVC设计中包含一种新的能力,允许编码器发送图像区的冗余表示,当图像区的主表示丢失时仍可以正确解码。 ● 数据划分:视频流中的编码信息的重要性不同,有些信息(如运动矢量、预测信息等)比其他信息更为重要。H.264/AVC可以根据每个像条语法元素的范畴,将像条语法划分为3部分,分开传送。
二、网络层 NAL规范视频数据的格式,主要是提供头部信息,以适合各种媒体的传输和存储。NAL支持各种网络,包括: ● 任何使用RTP/IP协议的实时有线和无线Internet 服务。 ● 作为MP4文件存储和多媒体信息文件服务。 ● MPEG-2系统。 ● 其他网。 1、NAL 单元 编码的视频流组织成NAL单元,视频数据放置在网络单元中传输,每个网络单元包含整数个字节,第一个字节是头部信息,指示NAL单元的数据类型,其余是净荷。 净荷数据与仿真预防字节做交织处理,仿真预防字节是特殊值字节,防止偶然在净荷中出现同步字节图样。 NAL规定一种通用的格式,既适合面向包传输,也适合流传送。实际上,包传输和流传输的方式是相同的,不同之处是流传输前面增加了一个起始码前缀。
2、NAL单元在字节流中的应用 类似H.320和MPEG-2/H.222.0等传输系统,传输NAL作为有序连续字节或比特流,同时要依靠数据本身识别NAL单元边界。在这样的应用系统中,H.264/AVC规范定义了字节流格式,每个NAL单元前面增加3个字节的前缀,即同步字节。在比特流应用中,每个图像需要增加一个附加字节作为边界定位。还有一种可选特性,在字节流中增加附加数据,用做扩充发送数据量,能实现快速边界定位,恢复同步。
3、NAL单元在面向包传送中的应用 在类似Internet/RTP面向包传送协议系统中,包结构中包含包边界识别字节,在这种情况下,不需要同步字节。
4、VCL和非VCL的NAL单元 NAL单元分为VCL和非VCL两种,VCL NAL单元包含视频图像采样信息,非VCL包含各种有关的附加信息,例如参数集(头部信息,应用到大量的VCL NAL单元)、提高性能的附加信息、定时信息等。
5、参数集 参数集是很少变化的信息,用于大量VCL NAL单元的解码,分为两种类型: ● 序列参数集,作用于一串连续的视频图像,即视频序列。 ● 图像参数集,作用于视频序列中的一个或多个个别的图像。 序列和图像参数集机制,减少了重复参数的传送,每个VCL NAL单元包含一个标识,指向有关的图像参数集,每个图像参数集包含一个标识,指向有关的序列参数集的内容,因此,只用少数的指针信息,引用大量的参数,大大减少每个VCL NAL单元重复传送的信息。 序列和图像参数集可以在发送VCL NAL单元以前发送,并且重复传送,大大提高纠错能力。序列和图像参数集可以在“带内”,也可以用更为可靠的其他“带外”通道传送。
6、存储单元 一组指定格式的NAL单元称为存储单元,每个存储单元对应一个图像。每个存储单元包含一组VCL NAL单元,组成一个主编码图像,VCL NAL单元由表示视频图像采样的像条所组成。存储单元前面可以加一个前缀,分界存储单元,附加增强信息(SEI)(如图像定时信息)也可以放在主编码图像的前面。 主编码图像后附加的VCL NAL单元,包含同一图像的冗余表示,称为冗余编码图像,当主编码图像数据丢失或损坏时,可用冗余编码图像解码。
7、编码视频序列 一个编码视频序列由一串连续的存储单元组成,使用同一序列参数集。每个视频序列可独立解码。编码序列的开始是即时刷新存储单元(IDR)。IDR是一个I帧图像,表示后面的图像不用参考以前的图像。一个NAL单元流可包含一个或更多的编码视频序列。 MPEG-4标准 运动图像专家组MPEG 于1999年2月正式公布了MPEG-4(ISO/IEC14496)标准第一版本。同年年底MPEG-4第二版亦告底定,且于2000年年初正式成为国际标准。 |
|