1. 简述
随着编码视频在网络流量中占比的不断增长,视频传输机制的性能评估变得越来越重要。论文提出来一个基于H.264视频编码标准机制的视频传输网络跟踪综合评价方法,对视频网络传输的性能评估主要从两方面提出,即增加视频网络流量和高效的H.264视频编码标准。论文总体目标是设计H.264编码视频的传输机制,以及通过H.264视频追踪对H.264视频传输机制的性能进行评估。
2. H.264视频编码概述
H.264视频编码标准的增强块变换和帧间编码及运动补偿预测的帧内编码之间组合构成编码循环 [1] 。每个视频帧根据图片结构分为内部编码(I),向前预测编码(P)和运动补偿预测I或P帧,或双向预测编码(B)。通过经典的B帧预测,一个B帧编码与运动补偿预测可以预测并实现I或P帧。经典B帧预测被用于预测MPEG标准并默认H.264/AVC,但是B帧不能作为预测另一个B帧的参考。增强编码机制H.264建立在基本的MPEG视频编码循环,与早期H.264视频编码标准的效率相比,作为一个累积效应得到显著改善。
2.1. 单层(非可扩展性) H.264视频编码
1) H.264/AVC:H.264/AVC标准介绍了可变尺寸的模块,如4 × 4,8 × 4、16 × 8和8 × 8像素为提高基础模块的预测编码。帧内编码是通过空间帧内预测改进,即从一个相同帧的类似模块预测一个给定的帧模块。帧间预测通过不平等的多重参考帧进行提高。
编码循环是通过减少引入的基础模块进行循环解封过滤器而得到进一步提高的编码。MPEG视频编码循环执行块变换,其次是量子化的变换系数,以及随后的锯齿形扫描和游程长度编码。由此产生的符号通过熵编码被进一步压缩。在H.264/AVC中,熵编码通过上下文自适应算术编码(CABAC)得到改进,这是高效但计算密集型,或上下文自适应可变长编码(CAVLC),这是一个改进的前可变长度的编码机制。单独编码决定和整个编码循环通过拉格朗日进行优化改进,旨在共同实现最小化比特率,并使得引入的视觉失真最小化。
H.264/AVC标准分类了所有的视频编码机制,有所谓的视频编码层(VCL)。此外,H.264/AVC标准定义了一个网络抽象层(NAL)包含视频编码数据映射到一个网络传输层的功能 [2] 。这个视频编码数据被组织成NAL单元(NALUs)。每个NALU包含一个整数字节的视频编码数据,以及一个1字节的头。
2) 单层H.264 SVC编码:虽然H.264 SVC主要介绍对H.264/AVC添加可伸缩的编码特性,H.264 SVC有着重要的增强,提高单层编码的功能。视频编码标准H.264/AVC前期严格遵循经典B帧预测,如图1(a)所示,即B帧不能用来预测其他B帧。H.264/AVC通过广义的B帧概念取消这一限制,允许B帧块作为其他运动补偿的预测B帧的参考。这成为开发可扩展视频编码最有价值的途径。
(a)
(b)
Figure 1. Illustration of classical and hierarchical B frame prediction structure. (a) Classical B frame prediction; (b) Hierarchical B frame prediction
图1. 经典和分层B帧预测结构说明。(a) 经典B帧预测;(b) 分层B帧预测
H.264 SVC在图1(b)中揭示了层次B帧预测。图中显示通常采用二进位的层次B帧即在连续I或P帧之间有
,(其中τ是一个正整数)。从图1(b)可以看出帧I0和帧B8可以预测帧B4。层次结构中,帧B4和帧B8可以预测帧B6,反过来帧B4和帧B6可以预测帧B5。
根据可预测的层次结构,利用时间的可伸缩性,B帧被分配到
时间增强层。图1(b)中,在连续的I帧之间有β = 15 B帧,I帧属于时间基层T = 0,帧B8属于第一个时间增强层T = 1,帧B4和B12属于第二个时间增强层T = 2,帧B2,B6,B10和B14属于第三颞增强层T = 3,剩下的B帧属于第四(最高)时间增强层T = τ = 4。因此,总共有τ + 1个时间层。
从图1所示,古经典的和层次B帧预测的编码顺序从根本上不同。一般来说,一个给定的帧n可以被编码之前,帧n所参考的所有的帧都需要被编码,以便他们可以在编码形式上作为帧n编码参考。此帧编码顺序为I0,I16,B1,B2,…。这种编码限制了广义B帧概念。相比之下,分层B帧预测的帧编码顺序为I0,I16,B8,B4,B2,B1,B3,…。这些差异在帧编码顺序中意味着不同的网络传输延迟。
2.2. 可扩展层的H.264视频编码
H.264SVC支持可扩展层编码,即提供时间可扩展性、空间可扩展性和质量(信噪比)可扩展性 [3] 。一个可扩展层的编码包含一个基本层和一个或多个增强层。H.264 SVC最多可以支持128个层,而一个编码的实际层数取决于其应用。
1) 时间可扩展性:H.264 SVC提供时间可扩展性,即适应性帧频,利用分层B帧结构。
2) 空间可扩展性:空间可扩展性提供了不同的空间帧决议,如,一个常见的帧间格式(CIF) 352 × 288像素基础层和一个通过解码基础层和增强层得到的704 × 576满像素决议。每个空间层包含了运动补偿预测和内部预测,H.264 SVC提高了编码效率。
3) 质量可扩展性:H.264 SVC最多可提供8个质量层,可连续提高视频帧的信噪比。H.264 SVC CGS采用相同的内部分层预测机制作为H.264的空间可扩展性编码,除了有关空间帧扩展决议的操作,
根据层间预测机制的概述,一个给定的CGS增强层依赖于低CGS增强层和基础层进行解码。此外, CGS编码的每层都采用分层B帧预测结构。任何帧内编码的一个编码器与一个基本配置可以切换到解码更少或更多的CGS增强层。
4) 时间空间组合信噪比的可扩展性:H.264 SVC标准支持组合可扩展性,即视频流的提取与一个编码比特流中帧的不同组合频率、空间分辨率和信噪比的质量。
3. H.264 SVC视频编码的结构
不同类型的H.264视频编码有不同的轨迹特征结构,如基础的单层(非可扩展性)编码结构即视频编码可扩展层和可扩展子层等附加功能。通常有两种视频轨迹,即视频帧尺寸和质量跟踪1);失真轨迹抵消2)。
3.1. 单层H.264视频编码
通常,视频跟踪库需要选择一个视频标题(序列)及编码的空间分辨率。1) 帧时间特征:Δ表示帧周期,则1/Δ表示频率。许多当前的视频帧速率是30帧/s (或25帧/s),对应于一个帧周期的Δ = 33.33 ms (或Δ = 40 ms)。2) 帧大小表征:用Xq表示,
,表示帧大小(字节数)的视频帧N的编码与量化参数。3) 视频帧质量特性:目前视频质量评价通过计算机信号处理技术实现。峰值信噪比(PSNR)能适度准确的评价视频质量。分别用Qq、Yn,
,表示质量峰值信噪比(PSNR)的亮度分量视频帧N编码与量化参数q。而视频跟踪可以提供额外的视频质量特征。4) 跟踪格式:一个跟踪文件通常是一个文本文件的ASCII字符。包括标题部分和实际的视频跟踪表格的格式。标题给出一般的视频信息,如视频标题、帧(空间)的分辨率和帧频,以及它的编码,量化参数等。表格部分为描述编码的视频帧,包含一个编码帧的冗长。
3.2. H.264 SVC视频编码的可扩展层
通常H.264视频编码可扩展层的每层轨迹与单层编码轨迹结构类似。每层的帧大小与编码层的字节大小对应。然而,给定层轨迹的质量特征对应所有层的视频质量 [4] 。
时间可扩展性,即帧频适应性,可以灵活的与其它H.264 SVC可扩展性模式结合。帧大小和质量的痕迹为每组τ + 1各轨迹,因此每个轨迹都有特性的帧特征。当频率对应基层T = 0时,给出I和P帧的大小,其它所有帧的大小为0。峰值信噪比PSNR值的偏移失真包括帧丢失在低时间层,并在真内部成功解码的效果。
对应于时间层T = 1的轨迹包含时间基层帧和T = 1时间增强层,有效地实现基层帧频的加倍。也就是说,T = 0和T = 1时间层的帧的大小和峰值信噪比PSNR质量将高于高帧时间层
,大小为0和质量为时间层T = 0和T = 1的失真抵消值。这种结构能应用到更高的时间层,最高层T = τ包含所有帧大小和峰值信噪比PSNR,并对应于全帧视频编码序列的频率。
3.3. H.264 SVC编码的子层可扩展性
优先级和目标比特率轨迹:一个视频比特流与目标比特率是指从基层比特率到完整编码比特率可以从选定帧中提取一个H.264编码。视频数据流的提取与规定的目标比特率最大限度地利用视频质量的优化问题。如图2所示,它使得基层帧依赖于不同帧的高层。
4. H.264视频编码的流量、质量特征及评估网络传输
优先级水平评估与优化策略使用两路编码的比特流和原始(未编码)视频源。优化旨在最大化视频编码每帧的PSNR,同时满足给定目标比特率超过整个视频持续时间序列。优先级描述帧大小和PSNR帧品质对应于视频比特流规定的优先等级P。对于给定的H.264 SVC编码索引的优先级别P,P = 63,…,1,0。优先级P给每个帧n总大小和PSNR帧质量更高。

Figure 2. Sublayer-scalable H.264 SVC MGS coding
图2. H.264 SVC视频编码子层扩展结构图
视频流量和质量特征的评价主要在于率失真(RD),曲线和率可变性失真(VD)曲线。率失真(RD)曲线是视频质量PSNR平均亮度结点,如式(1)所示:
(1)
作为平均比特率函数,这是通过平均帧尺寸公式得到,如式(2)所示:
(2)
帧周期为
,视频跟踪中单个帧大小为
和质量
通过量化参数q和率失真RD曲线中获取一系列量化参数。而平均亮度的峰值信噪比(PSNR)通过均方误差(MSE)值转换进行获得。
视频跟踪可以用来进行网络视频流量模拟,如视频帧的播出时间延迟。帧的捕获时间很短,每个帧的编码、传输和解码需要一个帧周期。如图3所示,视频帧是由帧类型和瞬间捕获(记录)时间表示。I0表示帧内编码(I)的捕获时间为0,而B8表示双向B帧编码捕获时间在8Δ。编码、传输和解码的时间在时间轴上分别得到显示。
如图3(a)所示,帧B8编码在帧周期中从24Δ到25Δ,传输帧周期从25Δ至26Δ,解码帧周期从26Δ到27Δ。同时可以看出视频编码、传输、捕获之间的时间偏移量。数据流请求有效时在Δ16,传输的编码帧I0则从16Δ开始,视频开始播放时再推迟3Δ。从图3(b)可以看出,视频编码数据流与分层B帧之间相应时间是6Δ,即从16Δ到22Δ。而连续I和P帧之间的βB帧,其在经典B帧时的视频数据流延迟为(4 + β)Δ,而在分层B帧时的延迟为
。
H.264 SVC编码在时间上具有可扩展性,即可以动态调整帧频率,通过丢弃和增加分层B帧的时间层
。视频质量PSNR帧在层
,可以读取帧大小和质量跟踪。在
层读取帧PSNR质量下降的失真偏移量。
目标比特率跟踪可以用来模拟传输视频数据流,是符合规定的平均比特率的持续时间的完整视频序列编码 [5] 。而优先级P采用不同的方法优先传送视频包或者适应视频比特率。如高优先级视频数据与优先级级别范围在63到P可能会传播到更高优先级等级分化服务网络,而视频数据与优先级级别P1与0是传播与更低的优先级。
基层帧n在网络传输的关键取决于其在帧预测结构中的位置。若帧n没有依赖帧,其传输就不受依赖帧的影响;若帧n依赖其他帧,则帧n的质量PSNR受到所依赖帧的影响。
(a)
(b)
Figure 3. Delay comparison of classical and hierarchical B frame prediction. (a) Classical B frame prediction; (b) Hierarchical B frame prediction
图3. 经典和分层B帧预测的时间延迟比较。(a) 经典B帧预测;(b) 分层B帧预测
5. 结论
论文全面阐述了H.264视频编码和H.264视频跟踪网络传输的评估方法。分别介绍了单层视频编码(非可扩展性),及视频编码在时间、空间和质量(信噪比)、尺寸等方面的可扩展性。通过通信及网络等多方面知识理解H.264视频编码的视频网络传输。描述了视频编码跟踪结构,帧大小(字节)和质量(PSNR)等不同类型的H.264编码视频,介绍了视频数据流的生成,并对H.264 SVC单层编码与层次B帧的率失真(RD)的性能进行了分析。而视频编码跟踪评估采用计算密集型的视频编码和解码,限制了评估和长视频序列所需严格的统计结果。