齊葉庭,閆 述
(江蘇大學 計算機科學與通信工程學院,江蘇 鎮江 212000)
責任編輯:薛 京
互聯網技術的發展,使數字電視的出現成為必然。數字電視和傳統的模擬電視在體系架構、傳輸方式、信令方式等方面都存在著本質的區別。所以,數字電視的出現給服務提供商提出了很多課題,比如如何客觀地評價電視播放質量的好壞,如何統計各節目的收視率等。
數字電視的信號來自互聯網,互聯網的最大特點就是“盡力而為”,它不能保證每個數據包都能準確無誤地到達目的地。如何量化數字電視的質量,客觀評價電視質量的好壞,是服務提供商必須考慮的問題。本文通過改進G.1070算法,綜合考慮遲延、丟包率等因素,得出各用戶收視終端的QoE(Quality of Experience)指標。對于運營商來說,可以通過這個指標客觀地評價各收視終端的收視質量,避免在設計階段的考慮不足[1]。
各國的大公司、企業都大量利用電視這一大眾性傳播媒介宣傳自己的產品,樹立企業形象。電視節目的收視率直接影響廣告效果,故將各時段節目的收視率和觀眾階層準確及時地統計出來,不僅會對廣告商確定各時段的廣告價位并對企業選擇時段做廣告提供極其重要的參考依據,而且也為廣告商或電視臺贏得更多的客戶。
我國目前收視率調查的方式主要有以下3種[2]:電話詢問法、填表法、調查儀自動記錄法。
這些方法都是針對單向廣播網絡中的電視用戶,因此收集基本數據存在很多問題。例如,電話詢問法調查結果帶有明顯的主觀色彩;填表法因為依賴觀眾的記憶,所以調查結果準確性差;調查儀自動記錄法需要安裝特殊的設備,成本高,而且調查員必須入戶進行數據采集,工作量大、效率低。以上3種方法都需要耗費大量的人力、物力和財力。
基于目前的狀況,如何針對數字電視技術的特點開發出更為有效的收視率統計系統,是運營商迫切想解決的問題。根據調查,目前對收視率統計的研究分為以下兩種:
1)統計方法的改進——收視率分析預測系統。
收視率的分析預測系統主要研究如何將影響收視率的種種因素轉化為相關指數,并用相對精確的數學形式表示出來,以消減主觀判斷的誤差。具體地說就是采用人工神經網絡、決策樹、貝葉斯網絡[3-4]等數據挖掘技術,通過豐富的歷史數據對收視率進行預測。這種分析預測系統同樣存在著不可控制的預測偏差。
2)傳輸手段的改進——利用附加手段實現統計數據的反向傳輸。
傳統的收視率調查系統就是因為沒有解決統計數據的方向傳輸而導致統計數據的滯后和統計成本的增加,所以如何解決統計數據的反向傳輸就成了收視率系統的一個研究方向。目前常用的方法就是利用用戶家庭的Internet接入,通過無線AP等技術[5-6]連接到用戶的Internet接口再傳送到相關服務器。這種方法需要額外的輔助設備(如無線模塊等),并且需要占用用戶的Internet資源。
隨著組播技術的出現,數字電視進入了一個全新的時代:雙向通信和互動。這就給研究新的收視率系統提供了平臺。另外,隨著IPv6技術不斷的成熟,使得IPv6和IPv4協同工作成為可能。本文討論的收視率統計系統就是基于IPv6組播偵聽技術,通過捕捉并分析MLDv2協議中消息的類型,得知用戶在某個時間段加入和離開某個頻道,把這些信息適時傳輸到管理服務器。
按照傳輸方式的不同,數字電視又分為基于IP組播技術的數字電視和基于DVB標準體系的數字電視。這兩種方式的數字電視隸屬于不同運營商:網絡運營商(電信)和廣播電視運營商。由于二者在傳輸方式、網絡拓撲等方面都存在不同,本文將提出基于IP組播技術的數字電視管理系統的解決方案。
基于IP組播技術的數字電視的網絡拓撲圖如圖1所示,實驗室仿真環境如圖2所示,模擬環境中各設備的說明見表1。



表1 仿真設備一覽表
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值低于某個閾值,就會自動報警到運營商的客服中心,維護人員可以提前采取相應措施,大大提高工作效率。
在實際的應用拓撲圖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 實驗仿真輸入表

本文提出的數字電視管理系統,已通過實驗室環境的檢測。由于篇幅所限,本文只給出了實現該系統中間件的實現方式,客戶端和服務器的具體實現在本文中沒有給出。根據調查,目前數字電視的管理尚無統一的解決方案,因此,本系統的研究應該具有廣泛的應用前景。
[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.