微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > H.264的技术优势及在H.323系统中的应用

H.264的技术优势及在H.323系统中的应用

时间:08-29 来源:《中国多媒体视讯》 点击:

对于逐行扫描时就会减小,这时对两个场分别进行编码会更节省码流。对帧来说,存在三种可选的编码方式,将两场合并作为一帧进行编码或将两场分别编码或将两场合并起来作为一帧,但不同的是将帧中垂直相邻的两个宏块合并为宏块对进行编码。前两种称为PAFF编码,对运动区域进行编码时场方式有效,非运动区域由于相邻两行有较大的相关性,因而帧方式会更有效。当图像同时存在运动区域和非运动区域时,在MB层次上,对运动区域采取场方式,对非运动区域采取帧方式会更加有效,这种方式就称为MBAFF。

(4)FMO:通过FMO可以进一步提高片的差错恢复能力。通过片组(slice group)的使用,FMO改变了图像划分为片和宏块的方式。宏块到片组的映射定义了宏块属于哪一个片组。利用FMO技术,H.264定义了七种宏块扫描模式。

(1)帧内预测:H.264借鉴了以往视频编解码标准在帧内预测上的经验,值得注意的是,在H.264中,IDR图像可以使参考图像缓存无效,之后的图像在解码时不再参考IDR图像之前的图像,因而IDR图像具有很好的重同步作用。在一些丢包和误码严重的信道中,可以采取不定期传送IDR图像的方式进一步提高H.264的抗误码和抗丢包性能。

(2)冗余图像:为提高H.264的解码器在发生数据丢失时的顽健性,可以采用传送冗余图像的方式。当基本图像丢失时,可以通过冗余图像重构原图像。

(3)数据划分:由于运动矢量和宏块类型等信息相对于其他信息具有更高的重要性,因而在H.264中引入了数据划分的概念,将片中语义彼此相关的语法元素放在同一个划分中。在H.264中有三类不同的数据划分,三类数据划分分开传送,若第二类或第三类划分的信息丢失,使用差错恢复工具仍然可以通过第一类划分中的信息对丢失信息进行适当恢复。

(4)多参考帧运动估值:多参考帧运动估值不但可以提高编码器的编码效率,还可以提高差错恢复能力。在H.323系统中,通过使用RTCP,当编码器得知有参考图像丢失时,可以选择解码器已经正确接收的图像作为参考图像。

(5)为阻止错误在空间上的蔓延,解码器端可以指定当P片或B片中的宏块在做帧内预测时不使用相邻的非帧内编码宏块作为参考。

3. 网络适应性方面

为适应各种网络环境和应用场合,H.264定义了视频编码层(VCL)和网络提取层(NAL)。其中VCL功能是进行视频编解码,包括运动补偿预测,变换编码和熵编码等功能;NAL用于采用适当的格式对VCL视频数据进行封装打包。

(1)NAL Units:视频数据封装在整数字节的NALU中,它的第一个字节标志该单元中数据的类型。H.264定义了两种封装格式。基于包交换的网络(如H.323系统)可以使用RTP封装格式封装NALU。而另外一些系统可能要求将NALU作为顺序比特流传送,为此H.264定义了一种比特流格式的传输机制,使用start_code_prefix将NALU封装起来,从而确定NAL边界。

(2)参数集:以往视频编解码标准中GOBGOP图像等头信息是至关重要的,包含这些信息的包的丢失常导致与这些信息相关的图像不能解码。为此H.264将这些很少变化并且对大量VCL NALU起作用的信息放在参数集中传送。参数集分为两种,即序列参数集和图像参数集。为适应多种网络环境,参数集可以带内传送,也可以采用带外方式传送。

三、在H.323系统中实现H.264

由于H.264是一种新的视频编解码标准,在H.323体系中应用H.264存在一些问题,比如如何在H.245能力协商过程中定义实体的H.264能力,因此必须对H.323标准进行必要的补充和修改。为此,ITU-T制定了H.241标准。本文仅介绍与H.323相关的修改。

首先,要规定如何在H.245能力协商过程中定义H.264能力。H.264能力集是一个包含一个或多个H.264能力的列表,每一个H.264能力都包含Profile和Level两个必选参数和CustomMaxMBPS、CustomMaxFS等几个可选参数。在H.264中,Profile用于定义生成比特流的编码工具和算法,Level则是对一些关键的参数要求。H.264能力包含在GenericCapability结构中,其中CapabilityIdentifier的类型为standard,值为0.0.8.241.0.0.1,用于标识H.264能力。MaxBitRate用于定义最大比特率。Collapsing字段包含H.264能力参数。Collapsing字段第一个条目是Profile,ParameterIdentifier类型为standard,值为41,用于标识Profile,ParameterValue类型为booleanArray,其值标识Profile,可以为64、32或16,这三个值依次表示Baseline、Main和Extended三个Profile;Collapsing字段第二个条目是Level,ParameterIdentifier类型为standard,值为42,用于标识Level,ParameterValue类型为unsignedMin,

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

网站地图

Top