齊葉庭,閆 述
(江蘇大學 計算機科學與通信工程學院,江蘇 鎮(zhèn)江 212000)
責任編輯:薛 京
互聯(lián)網(wǎng)技術的發(fā)展,使數(shù)字電視的出現(xiàn)成為必然。數(shù)字電視和傳統(tǒng)的模擬電視在體系架構、傳輸方式、信令方式等方面都存在著本質的區(qū)別。所以,數(shù)字電視的出現(xiàn)給服務提供商提出了很多課題,比如如何客觀地評價電視播放質量的好壞,如何統(tǒng)計各節(jié)目的收視率等。
數(shù)字電視的信號來自互聯(lián)網(wǎng),互聯(lián)網(wǎng)的最大特點就是“盡力而為”,它不能保證每個數(shù)據(jù)包都能準確無誤地到達目的地。如何量化數(shù)字電視的質量,客觀評價電視質量的好壞,是服務提供商必須考慮的問題。本文通過改進G.1070算法,綜合考慮遲延、丟包率等因素,得出各用戶收視終端的QoE(Quality of Experience)指標。對于運營商來說,可以通過這個指標客觀地評價各收視終端的收視質量,避免在設計階段的考慮不足[1]。
各國的大公司、企業(yè)都大量利用電視這一大眾性傳播媒介宣傳自己的產品,樹立企業(yè)形象。電視節(jié)目的收視率直接影響廣告效果,故將各時段節(jié)目的收視率和觀眾階層準確及時地統(tǒng)計出來,不僅會對廣告商確定各時段的廣告價位并對企業(yè)選擇時段做廣告提供極其重要的參考依據(jù),而且也為廣告商或電視臺贏得更多的客戶。
我國目前收視率調查的方式主要有以下3種[2]:電話詢問法、填表法、調查儀自動記錄法。
這些方法都是針對單向廣播網(wǎng)絡中的電視用戶,因此收集基本數(shù)據(jù)存在很多問題。例如,電話詢問法調查結果帶有明顯的主觀色彩;填表法因為依賴觀眾的記憶,所以調查結果準確性差;調查儀自動記錄法需要安裝特殊的設備,成本高,而且調查員必須入戶進行數(shù)據(jù)采集,工作量大、效率低。以上3種方法都需要耗費大量的人力、物力和財力。
基于目前的狀況,如何針對數(shù)字電視技術的特點開發(fā)出更為有效的收視率統(tǒng)計系統(tǒng),是運營商迫切想解決的問題。根據(jù)調查,目前對收視率統(tǒng)計的研究分為以下兩種:
1)統(tǒng)計方法的改進——收視率分析預測系統(tǒng)。
收視率的分析預測系統(tǒng)主要研究如何將影響收視率的種種因素轉化為相關指數(shù),并用相對精確的數(shù)學形式表示出來,以消減主觀判斷的誤差。具體地說就是采用人工神經網(wǎng)絡、決策樹、貝葉斯網(wǎng)絡[3-4]等數(shù)據(jù)挖掘技術,通過豐富的歷史數(shù)據(jù)對收視率進行預測。這種分析預測系統(tǒng)同樣存在著不可控制的預測偏差。
2)傳輸手段的改進——利用附加手段實現(xiàn)統(tǒng)計數(shù)據(jù)的反向傳輸。
傳統(tǒng)的收視率調查系統(tǒng)就是因為沒有解決統(tǒng)計數(shù)據(jù)的方向傳輸而導致統(tǒng)計數(shù)據(jù)的滯后和統(tǒng)計成本的增加,所以如何解決統(tǒng)計數(shù)據(jù)的反向傳輸就成了收視率系統(tǒng)的一個研究方向。目前常用的方法就是利用用戶家庭的Internet接入,通過無線AP等技術[5-6]連接到用戶的Internet接口再傳送到相關服務器。這種方法需要額外的輔助設備(如無線模塊等),并且需要占用用戶的Internet資源。
隨著組播技術的出現(xiàn),數(shù)字電視進入了一個全新的時代:雙向通信和互動。這就給研究新的收視率系統(tǒng)提供了平臺。另外,隨著IPv6技術不斷的成熟,使得IPv6和IPv4協(xié)同工作成為可能。本文討論的收視率統(tǒng)計系統(tǒng)就是基于IPv6組播偵聽技術,通過捕捉并分析MLDv2協(xié)議中消息的類型,得知用戶在某個時間段加入和離開某個頻道,把這些信息適時傳輸?shù)焦芾矸掌鳌?/p>
按照傳輸方式的不同,數(shù)字電視又分為基于IP組播技術的數(shù)字電視和基于DVB標準體系的數(shù)字電視。這兩種方式的數(shù)字電視隸屬于不同運營商:網(wǎng)絡運營商(電信)和廣播電視運營商。由于二者在傳輸方式、網(wǎng)絡拓撲等方面都存在不同,本文將提出基于IP組播技術的數(shù)字電視管理系統(tǒng)的解決方案。
基于IP組播技術的數(shù)字電視的網(wǎng)絡拓撲圖如圖1所示,實驗室仿真環(huán)境如圖2所示,模擬環(huán)境中各設備的說明見表1。
表1 仿真設備一覽表
2.1.1 QoE相關算法介紹
根據(jù)G.1070算法,視頻圖像質量的推定值Vq值的算法為
式中:Pplv是RTP的丟包率,該數(shù)據(jù)可以通過監(jiān)視RTP包并比對其序列號可知;Dpplv是圖像質量的穩(wěn)定性程度,其公式為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是圖像穩(wěn)定程度和幀率降低之間的關系,其公式為DFrv=V6+V7×Brv,DFrv〉 0,V6,V7是常量。
各參數(shù)的設定如下所述:
G.1070的視頻質量指標Vq的計算過程中涉及到的常量V1~V12的值是依據(jù)編碼類型、視頻格式、關鍵幀間隔和視頻顯示大小來確定的。根據(jù)本系統(tǒng)的特點,常量V1~V12的值ITU-T推薦使用表2中#1內容的值。如果不指定波特率和幀率,則采用系統(tǒng)默認的值:Frv的值為40 f/s(幀/s);Brv的值為1000 kbit/s。
2.1.2 實驗仿真
在實驗室環(huán)境中,在媒體服務器和客戶端之間人為地加上一個PC作為路由。在這個PC上運行數(shù)據(jù)包監(jiān)視軟件,通過不轉發(fā)相應序列號的數(shù)據(jù)包,人為造成包的丟失率(可通過參數(shù)選擇丟包率),在播放終端上通過本系統(tǒng)計算出相應的Vq,丟包率和Vq值關系圖如圖3所示。
在實驗室環(huán)境中,在幀率Frv值為40 f/s、比特率Brv值為1000 kbit/s時,當丟包率達到6%時,就會出現(xiàn)圖像停滯、馬賽克現(xiàn)象等,這與ITU-T推薦的不能小于10%差別較大。由圖3可以看出,隨著丟包率的增大,Vq值呈逐漸減小的趨勢,ITU-T推薦的G.1070是一個普遍算法,針對實際的應用環(huán)境,必須進行相應的改進。根據(jù)實驗室多次的實驗結果,改進后的Vq算法為
表2 推薦參數(shù)一覽表
在播放終端按照改進后的算法重新計算Vq值,得到丟包率和Vq值的關系如圖4所示,通過該圖可以清楚看出,當丟包率大于5.5%時,Vq值會逐漸接近于0,由此判斷圖像質量不合格。這與實驗室環(huán)境中目測的效果一致。
采用改進后的Vq算法,運營商在進行業(yè)務部署時,可以通過Vq值來更直觀地量化播放終端的質量,避免設計上的不足。在業(yè)務運營時,如果某個播放終端的Vq值低于某個閾值,就會自動報警到運營商的客服中心,維護人員可以提前采取相應措施,大大提高工作效率。
在實際的應用拓撲圖1中,組播路由器(支持IPv4/v6雙棧協(xié)議)通過IPv6組播成員管理協(xié)議MLDv2(Multicast Listener Discovery)和組播成員(圖中的數(shù)字電視)進行通信。IP組播是將IP數(shù)據(jù)包“盡最大努力”傳輸?shù)揭粋€構成組播群組的主機集合,群組的各個成員可以分布于各個獨立的物理網(wǎng)絡上。IP組播群組中成員的關系是動態(tài)的,主機可以隨時加入和退出某個組播地址。
MLDv2(Multicast Listener Discovery Version 2)是基于IPv6多播環(huán)境中組成員管理協(xié)議,它是一個非對稱的協(xié)議[7],它為組播成員和MLDv2組播路由器定義了不同的行為。路由器用來收集組播成員(偵聽者)的信息,偵聽者報告自己的偵聽狀態(tài)。
MLDv2包的格式如圖5所示。本方案主要是通過監(jiān)視組播成員加入(join)/離開(leave)[8]某個組播地址時產生的消息得到收視率的情報。
在實驗室環(huán)境圖(圖2)中的路由器PC有兩個網(wǎng)卡,兩個網(wǎng)卡之間通過橋接(Bridge)功能進行通信,所以不具有路由(Router)功能。該橋接功能通過FreeBSD的ipfw功能實現(xiàn)。
視聽率中間件作為一個應用進程,對接收到的MLD消息包進行解析,得到該播放終端的視聽率情況,并把它發(fā)送給收視率服務器。軟件功能結構如圖6所示。
2.2.1 中間件軟件模塊說明
在圖6中可以看出,收視率中間件的實現(xiàn)主要依靠兩個功能模塊:數(shù)據(jù)讀取模塊和數(shù)據(jù)報解析模塊。這兩個模塊分別通過讀取線程和解析線程實現(xiàn)。收視率中間件的主要功能如下:
1)程序命令行參數(shù)的讀入處理
argw--downstream 〈nic3〉 --upstream 〈nic4〉 --server〈server〉
〈nic3〉:和播放終端側連接的網(wǎng)卡設備;
〈nic4〉:和媒體流服務器所在網(wǎng)絡連接的網(wǎng)卡設備;
〈server〉:收視率服務器所在的地址。
具體實現(xiàn):利用boost庫中program_options功能處理命令行參數(shù)的讀取。
相關接口:boost::program_options::options_description。
2)初始化文件的讀入
初始化File讀入(XML文件),使多播地址和各channel名相對應。利用boost庫中filestream功能處理相關文件的操作相關接口:
boost::filestream::ifstream;boost::filestream::ofstream
3)鏈路層上數(shù)據(jù)包的監(jiān)視
對MLD包的監(jiān)視分為捕獲和分析兩個過程,使用libpcap庫捕獲MLD類型的數(shù)據(jù)包,把數(shù)據(jù)包放入數(shù)據(jù)包隊列中供相應進程進行解析。
4)MLD數(shù)據(jù)包的解析
解析包的類型包括兩種,TYPE131多播監(jiān)聽開始報告(join)和TYPE132多播監(jiān)聽終了(leave)。這兩種值分別對應join/leave。根據(jù)這兩個數(shù)據(jù)報的信息就可以得出各channel的收視率狀況。
5)通信
調用客戶端程序庫與視聽率服務器進行通信。
2.2.2 實驗仿真
在實驗室模擬環(huán)境中有3個播放終端(PC),在流媒體服務器上同時送出了3個媒體流。表3是上午10點到10:20之間觀看節(jié)目的仿真輸入情況。服務器側的仿真輸出結果整理后如圖7所示。
表3 實驗仿真輸入表
本文提出的數(shù)字電視管理系統(tǒng),已通過實驗室環(huán)境的檢測。由于篇幅所限,本文只給出了實現(xiàn)該系統(tǒng)中間件的實現(xiàn)方式,客戶端和服務器的具體實現(xiàn)在本文中沒有給出。根據(jù)調查,目前數(shù)字電視的管理尚無統(tǒng)一的解決方案,因此,本系統(tǒng)的研究應該具有廣泛的應用前景。
[1]ITU-T G.1070,視頻電話應用的意見模式[S].2007.
[2]劉燕南.電視收視率解析:調查分析與應用[M].2版.北京:北京廣播學院出版社,2006.
[3]張晶,白冰,蘇勇.基于貝葉斯網(wǎng)絡的電視節(jié)目收視率預測研究[J].科學技術與工程,2007,7(19):34-35.
[4]陳觀林,吳樂璐.收視率分析預測系統(tǒng)的設計與實現(xiàn)[J].中國有線電視,2008(10):54-57.
[5]張彥波,鄭正奇,王秀貞,等.基于CC2420的無線收視率調查系統(tǒng)[J].電視技術,2009,33(1):82-83.
[6]張吉飛,王安平.實時電視收視率調查分析系統(tǒng)[J].廣播與電視技術,2008(10):54-62.
[7]RFC3810,Multicast listener discovery version2(MLDv2)for IPv6[S].2004.
[8]韓華,魯士文,蔣占卿.組成員管理協(xié)議MLDv2分析[J].計算機工程與應用,2006(23):109-111.