购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.6
实验仿真与结果分析

本节将采用基于解码关系图拓扑排序的认证方法对H.264/SVC视频流进行认证,并且在对视频流的质量域进行认证时,采用认证负载优化算法实现质量层数据的最优分组。本节首先介绍实验平台、视频数据,接着从计算时间代价、延迟时间、认证负载带宽消耗和视频恢复质量四个方面,对比本章提出的方法与现有的SVC认证方法在认证效果上的性能优劣,其中选取的对比方法为Mokhtarian等人提出的基于FEC的认证方法(实验仿真中称为FEC认证方法)与Zhao等人提出的基于ECC的认证方法(实验仿真中称为ECC认证方法)。

2.6.1 实验平台建立

实验平台的建立基于开源代码JSVM,JSVM是JVT小组开发H.264/SVC项目的软件,具有对原始视频文件进行H.264/SVC编解码、对视频流进行子流提取、视频帧质量PSNR检测等功能。从JVT测试视频集中选取三个不同内容且编码后码率变化较大的视频作为本实验的测试视频,视频名分别为“bus”、“city”和“mobile”。采用JSVM对这些视频进行H.264/SVC编码;选取图像组中帧数目为8;空域层数目为2,分别为CIF(352像素×288像素)与QCIF(176像素×144像素)的解析度;质量层数目为4,即每个空域层中质量层基础层标识为0,增强层标识为1、2、3。

实验中对视频逻辑单元进行认证时,采用SHA-1算法进行哈希值计算;对视频流图像组单元进行签名时,采用RSA签名算法生成签名数据。认证算法采用Java程序设计语言进行编码,发送端首先对JSVM编码后的视频流进行解析。在开源代码Java NAL Parser和svcAuth Library [12] 的基础上,实现H.264/SVC视频流NAL单元、图像组、访问单元、空域与质量层单元的界定与识别。对于每个访问单元,采用优化分组策略确定相应的分组大小,并进行哈希值计算;对于多个图像组,采用签名算法生成的签名NAL单元数据包,相应的NAL单元类型为6,并且重复 K 次将该NAL单元嵌入最终认证后的流。考虑到以太网网络中MTU大小为1500字节,RTP数据包头部大小约为40字节,并且考虑到哈希值附着时需要占用一定字节数,因此实验中将NAL单元的大小设置为1200字节。

在模拟仿真互联网中网络数据包丢包情况方面,采用与FEC认证方法中视频流认证时相同的假设,假定视频流中每个NAL单元丢包情况满足独立同分布,即假定网络信道为随机差错信道,每个数据包的丢包概率为pro。根据数据包丢包模拟结果,对传输的视频流中一定数量的NAL数据包进行丢弃。在对每个访问单元中的质量层进行分组优化认证时,需要预先设定网络带宽情况。结合所测试视频的码流,采用多模态高斯分布模拟网络带宽分布,如图2-15所示。

H.264/SVC视频流认证过程如图2-16所示,对添加了认证信息的视频流,由Proxy代理进行子流提取,该部分子流提取任务由JSVM平台实现。对于不同信道的子流,分别模拟数据包丢包操作以丢弃少量的NAL单元。接收端在对获取的视频流进行解码之前,将对其进行验证:首先验证签名NAL单元数据包的合法性,其中所需要的私钥与发送端认证时的公钥在仿真中假定是安全的;若该签名NAL单元数据包合法,则根据其中访问单元的哈希值对后续认证单元的完整性进行判断,依此类推。合法的NAL单元将被传递给后续解码单元,以实现视频的播放。

图2-15 接收端网络带宽分布

图2-16 H.264/SVC视频流认证过程

在图2-16中,接收端分别采用了三种具有不同计算处理能力的终端,以模拟实际环境下H.264/SVC视频流的收发通信过程。发送端由于需要对视频流进行解析、分组优化认证等,因此采用处理速度较高的计算机。

针对接收端获得的NAL单元,在对其进行验证、解码时丢弃数据存在着两种情况:一是该NAL单元被正确接收,但由于其解码依赖的数据没有被正确接收,因此无法实现解码;二是该NAL单元虽然能够解码,但其认证信息不完整,导致该数据被丢弃。定义认证比vr为接收的NAL单元中能够实现认证的NAL单元所占的比例,通过认证比可以对不同H.264/SVC视频流的认证方法进行性能对比,认证比越高,说明其越有效。

由于签名NAL单元数据包采用重传 K 次方法,以提高接收端获得该NAL单元的概率,而每个数据包的丢包概率为pro,因此若需要签名NAL单元数据包被接收端接收的概率至少为Ps,则重传次数 K 由以下公式获得:

式中, 符号表示向上取整。例如,要求签名NAL单元数据包被正确接收的概率大于0.98,网络丢包概率为0.1,则该签名NAL单元数据包将重传2次。

在对质量层数据进行分组优化时,为抵抗网络丢包对接收端验证NAL单元的影响,选取参数 p 作为分组中MGS数据单元数目的上界。为确定分组中合适的NAL单元数目上界,在参数 p 取不同值的情况下,通过实验观察视频流认证比的变化情况。在网络丢包概率变化的情况下,通过调节参数 p 获得“city”视频流在所有接收端的认证比的平均值,如图2-17所示。其中, p =1表示没有对MGS数据单元采取分组认证,即对单个MGS数据单元进行哈希值计算,此时在不同网络丢包概率情况下获得的认证比曲线是对MGS数据单元进行分组认证时的比较基准。随着 p 取值的增大,在不同的网络丢包概率下,对应的认证比都有所下降,但此时由于采取分组认证,因此流认证负载所需的网络带宽有所降低。当 p 取值大于7时,认证比下降得比较明显,表明在进行分组认证时,分组中NAL单元的数目不应超过7。由图2-17可知,当网络丢包概率小于0.15时, p 取值为6;当网络丢包概率大于或等于0.15时, p 取值为5。这表明在减小认证负载网络带宽的情况下,通过设置分组认证时单个分组中最大的NAL单元数目,并不会使流认证比有较大的降低。实验中,在对其他视频流进行分组认证时也有类似的结论。

图2-17 不同参数 p 下的认证比与网络丢包概率

2.6.2 计算时间代价比较

H.264/SVC视频流认证的计算时间包括发送端的计算时间与接收端的计算时间两部分。发送端的计算时间主要用于向流中添加认证信息,包括对流编码结构的拓扑排序、对质量层数据的分组认证、哈希值计算和签名算法计算等;接收端的计算时间主要用于对获取流的签名验证、哈希值验证计算。在对图像组签名部分,将 n 个图像组合并在一起实现签名认证,FEC认证方法也采用多个图像组合并签名的方法,而ECC认证方法采用单个图像组签名的方法。

图2-18给出了发送端与接收端对视频流进行认证或验证时,平均每个图像组所需要的计算时间。其中,图2-18(a)所示为发送端对三个视频流添加认证信息所需要的计算时间(认证时间)比较;图2-18(b)所示为接收端验证视频流安全性所需的计算时间(验证时间)比较。符号“TS”表示本章所提出的视频流认证方法,“FEC”与“ECC”分别表示FEC认证方法与ECC认证方法。从图2-18中可以看出,平均认证或验证单个图像组时,本章提出的方法用于计算哈希值、签名算法的时间最少,其次是ECC认证方法,FEC认证方法所需时间最多。FEC认证方法与ECC认证方法因在认证或验证视频流时,需要计算相应的信道编解码算法,故所需时间较多;而TS方法则仅将所需要认证视频逻辑单元的哈希值附着在其解码依赖的节点上,因此没有额外的信道解码时间消耗。

从图2-18中也可以看出,随着图像组数目 n 的增大,TS方法与FEC认证方法在对单个图像组进行认证或验证时所需的平均时间都逐渐减少。这是因为图像组数目越大,计算单个签名算法所需要的时间就可以分摊在越多的图像组上,因此认证或验证图像组的平均时间越少。但随着 n 变大,发送端需要更多的延迟时间来存储前 n −1个图像组数据,因此选择 n 时还需考虑图像组的合并认证对接收端延迟时间的影响。

图2-18 视频流认证所需时间

2.6.3 延迟时间比较

H.264/SVC视频流延迟时间也可分为发送端的延迟时间与接收端的延迟时间两部分。其中,发送端的延迟时间主要用于缓存图像组数据、认证信息生成、签名信息生成;接收端的延迟时间主要用于对接收的图像组数据进行缓存、验证。

当发送端实时传输H.264/SVC视频流时,TS方法与FEC认证方法均需要对 n 个图像组进行缓存,而ECC认证方法则仅需要缓存1个图像组数据。图2-19所示为视频流发送端延迟时间比较,展示了发送端采用三种不同认证方法所带来的延迟时间。从图2-19中可以看出,TS方法对“bus”、“city”和“mobile”三个视频流的延迟时间均小于FEC认证方法,这是因为后者需要更多的时间用于应对FEC信道编码和质量层优化算法中更大的搜索复杂度。ECC认证方法对单个图像组进行认证时需要的延迟时间均大于TS方法对单个图像组进行认证时需要的延迟时间,可见TS方法用于质量层优化分组的时间小于ECC认证方法带来的延迟时间,且ECC认证方法无法提供质量层的可伸缩性。

图2-19 视频流发送端延迟时间比较

采用本章提出的基于解码关系图拓扑排序进行认证的H.264/SVC视频流,当接收端获得签名数据包后,根据其中所包含的 n 个图像组的哈希值,可以直接对后续 n 个图像组进行认证,无须设置单独的缓冲区用于认证;而FEC认证方法在 n =5时,最少需要缓存1个、最多需要缓存4个完整的图像组数据才能对该图像组进行认证;ECC认证方法在 n =5时,需要缓存1个完整的图像组数据才能对该图像组进行认证。

分析以上结果可知,采用这三种方法对H.264/SVC视频流进行认证时,在发送端产生的延迟时间区别较大,TS方法的延迟时间小于FEC认证方法和ECC认证方法;对于接收端的延迟情况,TS方法可以对获取的图像组数据直接进行验证,而其他两种方法则需要利用缓存区存放图像组数据后,才能对其进行验证。

2.6.4 认证负载网络带宽消耗比较

在对H.264/SVC视频流进行认证时,发送端需要在视频流中添加认证逻辑单元的哈希值、签名NAL单元信息,因此将占用一定的网络带宽。图2-20中给出了采用三种认证方法对三个视频流进行认证时的认证负载网络带宽消耗情况。从图2-20中可以看出,TS方法的认证负载网络带宽消耗最少,FEC认证方法的认证负载网络带宽消耗最多,这是因为FEC认证方法对每个空域或质量层NAL单元的哈希值认证都重复进行两次传输,虽然采用该方法对于质量层数据进行分组认证在一定程度上避免了对单个质量层NAL单元进行单独认证时过高的网络带宽消耗,但多次传输机制却增大了认证负载。ECC认证方法因为不提供质量层的可伸缩性,所以对于每个质量层仅有一个哈希值认证负载,但计算信道编码及对每个图像组单独进行签名消耗的网络带宽较多。

图2-20 采用三种认证方法对三个视频流进行认证时的认证负载网络带宽消耗

2.6.5 视频恢复质量比较

实验仿真过程中研究了三种认证方法在不同网络丢包概率情况下,接收端平均认证比与PSNR的比较结果,如图2-21所示。其中,图2-21(a)所示为平均认证比与网络丢包概率的关系;图2-21(b)所示为PSNR与网络丢包概率的关系。其中,符号“NOAUTH”表示没有进行认证信息添加时的情况。从图2-21(a)中可以看出,当网络中不存在丢包情况时,三种认证方法的平均认证比都可以达到1;而随着网络丢包概率的增大,三种认证方法的平均认证比都有所下降。其中,采用ECC认证方法时,平均认证比下降最多,其次是FEC认证方法;而在采用TS方法与NOAUTH情况下,平均认证比下降最少。

图2-21 三种认证方法关于平均认证比与PSNR的比较

图2-21(b)中的PSNR研究的是视频帧的亮度信息的质量对比,并且对每个视频在所有子信道接收端的PSNR求取平均值。从图2-21(b)中可以看出,当网络丢包概率逐渐增大时,三种认证方法的PSNR相比于NOAUTH情况下的PSNR都有所下降,FEC认证方法与ECC认证方法的下降速度较快;而TS方法在接收端的PSNR减小值最小。由上面的分析可知,相较于其他两种认证方法,本章提出的认证方法所带来的视频恢复质量影响可以忽略不计。 BIRLl9u6RtlQl6G0gsUDDfLxzGb6+mnlnmzr+25+ZtwC8SMir2zL0+cbnN2JISf8

点击中间区域
呼出菜单
上一章
目录
下一章
×