数字电视管理系统的研究与实现

2013-06-29 01:37齐叶庭
电视技术 2013年4期
关键词:包率数据包终端

齐叶庭,闫 述

(江苏大学 计算机科学与通信工程学院,江苏 镇江 212000)

责任编辑:薛 京

互联网技术的发展,使数字电视的出现成为必然。数字电视和传统的模拟电视在体系架构、传输方式、信令方式等方面都存在着本质的区别。所以,数字电视的出现给服务提供商提出了很多课题,比如如何客观地评价电视播放质量的好坏,如何统计各节目的收视率等。

数字电视的信号来自互联网,互联网的最大特点就是“尽力而为”,它不能保证每个数据包都能准确无误地到达目的地。如何量化数字电视的质量,客观评价电视质量的好坏,是服务提供商必须考虑的问题。本文通过改进G.1070算法,综合考虑迟延、丢包率等因素,得出各用户收视终端的QoE(Quality of Experience)指标。对于运营商来说,可以通过这个指标客观地评价各收视终端的收视质量,避免在设计阶段的考虑不足[1]。

各国的大公司、企业都大量利用电视这一大众性传播媒介宣传自己的产品,树立企业形象。电视节目的收视率直接影响广告效果,故将各时段节目的收视率和观众阶层准确及时地统计出来,不仅会对广告商确定各时段的广告价位并对企业选择时段做广告提供极其重要的参考依据,而且也为广告商或电视台赢得更多的客户。

1 收视率调查现状

我国目前收视率调查的方式主要有以下3种[2]:电话询问法、填表法、调查仪自动记录法。

这些方法都是针对单向广播网络中的电视用户,因此收集基本数据存在很多问题。例如,电话询问法调查结果带有明显的主观色彩;填表法因为依赖观众的记忆,所以调查结果准确性差;调查仪自动记录法需要安装特殊的设备,成本高,而且调查员必须入户进行数据采集,工作量大、效率低。以上3种方法都需要耗费大量的人力、物力和财力。

基于目前的状况,如何针对数字电视技术的特点开发出更为有效的收视率统计系统,是运营商迫切想解决的问题。根据调查,目前对收视率统计的研究分为以下两种:

1)统计方法的改进——收视率分析预测系统。

收视率的分析预测系统主要研究如何将影响收视率的种种因素转化为相关指数,并用相对精确的数学形式表示出来,以消减主观判断的误差。具体地说就是采用人工神经网络、决策树、贝叶斯网络[3-4]等数据挖掘技术,通过丰富的历史数据对收视率进行预测。这种分析预测系统同样存在着不可控制的预测偏差。

2)传输手段的改进——利用附加手段实现统计数据的反向传输。

传统的收视率调查系统就是因为没有解决统计数据的方向传输而导致统计数据的滞后和统计成本的增加,所以如何解决统计数据的反向传输就成了收视率系统的一个研究方向。目前常用的方法就是利用用户家庭的Internet接入,通过无线AP等技术[5-6]连接到用户的Internet接口再传送到相关服务器。这种方法需要额外的辅助设备(如无线模块等),并且需要占用用户的Internet资源。

随着组播技术的出现,数字电视进入了一个全新的时代:双向通信和互动。这就给研究新的收视率系统提供了平台。另外,随着IPv6技术不断的成熟,使得IPv6和IPv4协同工作成为可能。本文讨论的收视率统计系统就是基于IPv6组播侦听技术,通过捕捉并分析MLDv2协议中消息的类型,得知用户在某个时间段加入和离开某个频道,把这些信息适时传输到管理服务器。

2 基于IP组播数字电视管理系统的实现

按照传输方式的不同,数字电视又分为基于IP组播技术的数字电视和基于DVB标准体系的数字电视。这两种方式的数字电视隶属于不同运营商:网络运营商(电信)和广播电视运营商。由于二者在传输方式、网络拓扑等方面都存在不同,本文将提出基于IP组播技术的数字电视管理系统的解决方案。

基于IP组播技术的数字电视的网络拓扑图如图1所示,实验室仿真环境如图2所示,模拟环境中各设备的说明见表1。

表1 仿真设备一览表

2.1 收视终端的QoE实现

2.1.1 QoE相关算法介绍

根据G.1070算法,视频图像质量的推定值Vq值的算法为

式中:Pplv是RTP的丢包率,该数据可以通过监视RTP包并比对其序列号可知;Dpplv是图像质量的稳定性程度,其公式为Dpplv=V10+V11×exp(-Frv/V8)+V12×exp(-Brv/V9);Icoding为编解码畸变对图像质量影响的客观测量,其公式为Icoding=IOfr×exp[-(lnFrv-lnOfr)2/(2×D2Frv)],IOfr是比特率和图像最好质量的客观测量,其公式为IOfr=V3-V3/[1+(Brv/V4)V5],0≤IOfr≤4,V3,V4,V5是 常量;Ofr是各比特率在最好图像质量情况下的最佳帧率,其公式为Ofr=V1+V2×Brv,1≤Ofr≤30,V1,V2是常量;DFrv是图像稳定程度和帧率降低之间的关系,其公式为DFrv=V6+V7×Brv,DFrv〉 0,V6,V7是常量。

各参数的设定如下所述:

G.1070的视频质量指标Vq的计算过程中涉及到的常量V1~V12的值是依据编码类型、视频格式、关键帧间隔和视频显示大小来确定的。根据本系统的特点,常量V1~V12的值ITU-T推荐使用表2中#1内容的值。如果不指定波特率和帧率,则采用系统默认的值:Frv的值为40 f/s(帧/s);Brv的值为1000 kbit/s。

2.1.2 实验仿真

在实验室环境中,在媒体服务器和客户端之间人为地加上一个PC作为路由。在这个PC上运行数据包监视软件,通过不转发相应序列号的数据包,人为造成包的丢失率(可通过参数选择丢包率),在播放终端上通过本系统计算出相应的Vq,丢包率和Vq值关系图如图3所示。

在实验室环境中,在帧率Frv值为40 f/s、比特率Brv值为1000 kbit/s时,当丢包率达到6%时,就会出现图像停滞、马赛克现象等,这与ITU-T推荐的不能小于10%差别较大。由图3可以看出,随着丢包率的增大,Vq值呈逐渐减小的趋势,ITU-T推荐的G.1070是一个普遍算法,针对实际的应用环境,必须进行相应的改进。根据实验室多次的实验结果,改进后的Vq算法为

表2 推荐参数一览表

在播放终端按照改进后的算法重新计算Vq值,得到丢包率和Vq值的关系如图4所示,通过该图可以清楚看出,当丢包率大于5.5%时,Vq值会逐渐接近于0,由此判断图像质量不合格。这与实验室环境中目测的效果一致。

采用改进后的Vq算法,运营商在进行业务部署时,可以通过Vq值来更直观地量化播放终端的质量,避免设计上的不足。在业务运营时,如果某个播放终端的Vq值低于某个阈值,就会自动报警到运营商的客服中心,维护人员可以提前采取相应措施,大大提高工作效率。

2.2 收视率统计的实现

在实际的应用拓扑图1中,组播路由器(支持IPv4/v6双栈协议)通过IPv6组播成员管理协议MLDv2(Multicast Listener Discovery)和组播成员(图中的数字电视)进行通信。IP组播是将IP数据包“尽最大努力”传输到一个构成组播群组的主机集合,群组的各个成员可以分布于各个独立的物理网络上。IP组播群组中成员的关系是动态的,主机可以随时加入和退出某个组播地址。

MLDv2(Multicast Listener Discovery Version 2)是基于IPv6多播环境中组成员管理协议,它是一个非对称的协议[7],它为组播成员和MLDv2组播路由器定义了不同的行为。路由器用来收集组播成员(侦听者)的信息,侦听者报告自己的侦听状态。

MLDv2包的格式如图5所示。本方案主要是通过监视组播成员加入(join)/离开(leave)[8]某个组播地址时产生的消息得到收视率的情报。

在实验室环境图(图2)中的路由器PC有两个网卡,两个网卡之间通过桥接(Bridge)功能进行通信,所以不具有路由(Router)功能。该桥接功能通过FreeBSD的ipfw功能实现。

视听率中间件作为一个应用进程,对接收到的MLD消息包进行解析,得到该播放终端的视听率情况,并把它发送给收视率服务器。软件功能结构如图6所示。

2.2.1 中间件软件模块说明

在图6中可以看出,收视率中间件的实现主要依靠两个功能模块:数据读取模块和数据报解析模块。这两个模块分别通过读取线程和解析线程实现。收视率中间件的主要功能如下:

1)程序命令行参数的读入处理

argw--downstream 〈nic3〉 --upstream 〈nic4〉 --server〈server〉

〈nic3〉:和播放终端侧连接的网卡设备;

〈nic4〉:和媒体流服务器所在网络连接的网卡设备;

〈server〉:收视率服务器所在的地址。

具体实现:利用boost库中program_options功能处理命令行参数的读取。

相关接口:boost::program_options::options_description。

2)初始化文件的读入

初始化File读入(XML文件),使多播地址和各channel名相对应。利用boost库中filestream功能处理相关文件的操作相关接口:

boost::filestream::ifstream;boost::filestream::ofstream

3)链路层上数据包的监视

对MLD包的监视分为捕获和分析两个过程,使用libpcap库捕获MLD类型的数据包,把数据包放入数据包队列中供相应进程进行解析。

4)MLD数据包的解析

解析包的类型包括两种,TYPE131多播监听开始報告(join)和TYPE132多播监听终了(leave)。这两种值分别对应join/leave。根据这两个数据报的信息就可以得出各channel的收视率状况。

5)通信

调用客户端程序库与视听率服务器进行通信。

2.2.2 实验仿真

在实验室模拟环境中有3个播放终端(PC),在流媒体服务器上同时送出了3个媒体流。表3是上午10点到10:20之间观看节目的仿真输入情况。服务器侧的仿真输出结果整理后如图7所示。

表3 实验仿真输入表

3 结束语

本文提出的数字电视管理系统,已通过实验室环境的检测。由于篇幅所限,本文只给出了实现该系统中间件的实现方式,客户端和服务器的具体实现在本文中没有给出。根据调查,目前数字电视的管理尚无统一的解决方案,因此,本系统的研究应该具有广泛的应用前景。

[1]ITU-T G.1070,视频电话应用的意见模式[S].2007.

[2]刘燕南.电视收视率解析:调查分析与应用[M].2版.北京:北京广播学院出版社,2006.

[3]张晶,白冰,苏勇.基于贝叶斯网络的电视节目收视率预测研究[J].科学技术与工程,2007,7(19):34-35.

[4]陈观林,吴乐璐.收视率分析预测系统的设计与实现[J].中国有线电视,2008(10):54-57.

[5]张彦波,郑正奇,王秀贞,等.基于CC2420的无线收视率调查系统[J].电视技术,2009,33(1):82-83.

[6]张吉飞,王安平.实时电视收视率调查分析系统[J].广播与电视技术,2008(10):54-62.

[7]RFC3810,Multicast listener discovery version2(MLDv2)for IPv6[S].2004.

[8]韩华,鲁士文,蒋占卿.组成员管理协议MLDv2分析[J].计算机工程与应用,2006(23):109-111.

猜你喜欢
包率数据包终端
支持向量机的船舶网络丢包率预测数学模型
二维隐蔽时间信道构建的研究*
一种基于喷泉码的异构网络发包算法*
电磁线叠包率控制工艺研究
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
X美术馆首届三年展:“终端〉_How Do We Begin?”
通信控制服务器(CCS)维护终端的设计与实现
SmartSniff
GSM-R手持终端呼叫FAS失败案例分析
TCN 协议分析装置丢包率研究