蘇洪磊 李兵兵 楊付正
(西安電子科技大學綜合業(yè)務網(wǎng)理論及關鍵技術國家重點實驗室,陜西西安710071)
近年來,視頻電話、視頻會議和網(wǎng)絡電視等多媒體應用在日常生活中扮演著越來越重要的角色,由于互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng)絡的數(shù)據(jù)包傳輸遵循盡力而為的服務原則,故上述應用的服務質(zhì)量(QoS)和用戶體驗并不能得到保證,因此建立服務于系統(tǒng)設計、QoS規(guī)劃以及實時質(zhì)量監(jiān)控的視頻質(zhì)量客觀評估模型非常重要[1-3].由于視頻質(zhì)量包層評估模型僅使用包頭信息,復雜度低,非常適用于網(wǎng)絡節(jié)點處對視頻流的實時處理,且不需要對視頻流的載荷信息進行解密和解碼,故適用于載荷信息被加密的情形[4-9].視頻質(zhì)量包層評估模型已經(jīng)成為視頻領域的研究熱點之一,ITU-T SG12制定了視頻質(zhì)量包層評估模型標準 P.NAMS[10].
包層評估模型可以通過分析包頭信息來獲取比特率、幀率、丟包率等信息,進而估計視頻質(zhì)量.然而,若僅使用這些參數(shù)而不考慮視頻內(nèi)容,則評估模型并不能獲得較好的性能[8-9].這是因為在具有相同統(tǒng)計參數(shù)的情況下,會出現(xiàn)以下幾種情形[5,11]:不同的視頻幀對丟包的敏感程度不同;不同的丟包位置將引起不同的丟包失真;不同的視頻內(nèi)容會對誤碼傳播造成不同的影響.幀類型檢測是視頻質(zhì)量包層評估模型中的一個關鍵模塊,是計算視頻內(nèi)容復雜度和預測數(shù)據(jù)包丟失引起視頻失真的前提.當出現(xiàn)分級B幀結(jié)構(gòu)時,高級B幀將作為低級B幀的參考幀,丟包發(fā)生在不同等級的B幀將對誤碼傳播產(chǎn)生不同的影響,故B幀結(jié)構(gòu)預測對視頻質(zhì)量包層評估模型非常重要.
文獻[12]中通過比較每幀的編碼比特數(shù)與預設閾值的差異來確定幀類型;文獻[13]中使用動態(tài)閾值法進行幀類型檢測,其動態(tài)閾值由滑動窗口內(nèi)的平均幀大小和最大幀大小通過加權計算得到.文獻[12-13]中均沒有對是否存在分級B幀以及B幀的等級進行檢測.
為此,文中提出了一種利用動態(tài)閾值和圖像組(GOP)的周期性進行幀類型檢測的方法.首先運用動態(tài)閾值法將視頻幀初步判定為I幀、P幀或B幀,再利用GOP的周期性對初步判定結(jié)果進行修正,然后利用Spearman秩相關系數(shù)對視頻流中是否存在分級B幀進行檢測.文中最后通過實驗驗證了所提出的幀類型檢測方法的有效性.
幀類型檢測的首要步驟是提取包頭信息以獲取各視頻幀的編碼比特數(shù).以IP網(wǎng)絡中常用的RTP/UDP/IP協(xié)議棧為例[14-16],如圖1(a)所示,數(shù)據(jù)包由兩大部分組成:協(xié)議棧包頭信息和有效載荷.包層評估模型中的幀類型檢測模塊可以訪問IP、UDP和RTP包頭,如圖1(b)和1(c)所示.UDP包頭中的長度域標識了UDP包頭及其有效載荷的總長度,又因為UDP和RTP包頭擁有固定長度,所以有效載荷長度Psize可以由UDP總長度減去UDP和RTP包頭長度得到.因為同一視頻幀的數(shù)據(jù)包具有相同的時間戳,所以根據(jù)各數(shù)據(jù)包的時間戳可以判定它們是否同屬一個視頻幀.如圖2所示,如果兩個相鄰數(shù)據(jù)包具有相同的時間戳,那么他們屬于同一視頻幀,否則屬于不同的視頻幀.如果當前數(shù)據(jù)包為某視頻幀的最后一個包,則標識位被置位,否則不被置位,根據(jù)標識位可劃分出視頻幀邊界.
圖1 數(shù)據(jù)包封裝格式及UDP和RTP包頭Fig.1 Encapsulation format of data packet,UDP header and RTP header
圖2 數(shù)據(jù)包與視頻幀的關系示意圖Fig.2 Schematic diagram of relationship between data packet and video frame
當丟包發(fā)生時,由RTP包頭中的序列號可檢測出被丟棄數(shù)據(jù)包的序列號.例如,當序列號為n的數(shù)據(jù)包丟失時,n-1到n+1序列號的連續(xù)性將被打破,于是根據(jù)收到的相鄰數(shù)據(jù)包的連續(xù)性即可判斷出是否存在丟包,并計算出丟包個數(shù).由于無法獲取已丟失數(shù)據(jù)包的UDP包頭信息,僅僅獲取丟包個數(shù)并不能得到丟失有效載荷的長度,故已丟失的第n個數(shù)據(jù)包的有效載荷長度可由其相鄰數(shù)據(jù)包的平均值估計得到,即
式中,Psize(n-1)和Psize(n+1)分別是第n-1和n+1個數(shù)據(jù)包的有效載荷長度.于是,由同屬某一幀的每個數(shù)據(jù)包的長度可得到該視頻幀的編碼比特數(shù),即
式中,F(xiàn)size為視頻幀編碼比特數(shù),N為組成該視頻幀的數(shù)據(jù)包個數(shù).
圖3所示為兩種編碼比特率下不同內(nèi)容特性的視頻序列視頻幀的編碼比特數(shù).由于使用幀內(nèi)編碼模式去除空域冗余信息,使用幀間編碼模式去除時域冗余信息,幀間編碼模式能更有效地去除冗余信息,故I幀編碼比特數(shù)通常大于P幀或B幀編碼比特數(shù);由于編碼B幀時使用雙向預測結(jié)構(gòu),能去除更多的冗余信息,故P幀編碼比特數(shù)通常大于B幀編碼比特數(shù).因此,可以利用閾值法來區(qū)分各視頻幀的類型.觀察圖3發(fā)現(xiàn),編碼比特率為256kb/s時各幀的編碼比特數(shù)小于編碼比特率為512kb/s時各幀的編碼比特數(shù),故閾值應隨著編碼比特率的變化而變化.通過分析不同內(nèi)容特性的視頻序列在不同編碼比特率下各幀的編碼比特數(shù)規(guī)律,得出I幀和P幀的編碼比特數(shù)閾值TI的經(jīng)驗公式如下:
式中:L為滑動窗口長度;Fsize(nj)為滑動窗口中第n幀的編碼比特數(shù),按降序排列其位置為j;r1和r2通過參數(shù)訓練實驗得到.同時得到P幀與B幀的編碼比特數(shù)閾值TP:
式中:Inum為滑動窗口中被判為I幀的幀數(shù);Fsize(nk)為滑動窗口中第n幀的編碼比特數(shù),按降序排列除去被判為I幀的視頻幀,其位置為k;r3和r4通過參數(shù)訓練實驗得到.如圖3所示,由于不同編碼比特率下I幀、P幀和B幀的編碼比特數(shù)相對大小基本一致,故可將 r1、r2、r3和 r4設定為常數(shù).這4個參數(shù)的訓練實驗設置如下:選取 Carphone、Container、Forman、Mobile、Silent和Soccer等具有不同內(nèi)容特性的視頻序列,各序列均為常用的標準化圖像格式(CIF),采用 x264編碼器[17]進行編碼,編碼比特率范圍為64~1536 kb/s,幀率設置為25,GOP長度為25,GOP結(jié)構(gòu)設置為“IBBBPBBBP”,滑動窗口長度設置為200.
圖3 不同編碼比特率下不同視頻序列各幀的編碼比特數(shù)Fig.3 Coding bits of frames for different video sequences with different coding bit rates
在一些時間復雜度較大的視頻序列中,P幀或B幀被分配了較多的編碼比特數(shù),可能會出現(xiàn)P幀的編碼比特數(shù)大于I幀或B幀的編碼比特數(shù)大于P幀的現(xiàn)象,進而出現(xiàn)誤判,因此僅使用動態(tài)閾值法的檢測準確率有待提高.為此,文中利用GOP的周期性對初步判定的結(jié)果進行修正.
視頻序列通常具有固定的GOP結(jié)構(gòu),即使GOP結(jié)構(gòu)發(fā)生變化但在短時間內(nèi)其結(jié)構(gòu)仍然固定,因此利用GOP周期性可以實現(xiàn)對GOP長度及結(jié)構(gòu)的預測,進而對初步判定結(jié)果進行修正.具體步驟(如無特殊說明,文中所有視頻幀的排列順序均為編碼順序)如下:
(1)計算滑動窗口內(nèi)兩兩相鄰被判定為I幀的視頻幀間隔,即
其中,dI,i為滑動窗口內(nèi)第i和i+1幀被判定為I幀的幀位置 PI,i和 PI,i+1之間的間隔.如果 dI,1,dI,2,…,,…中最大的出現(xiàn)頻率小于 50% ,那么可判定該窗口內(nèi)各幀不存在GOP周期性,不對各幀的類型進行修正,否則存在周期性并將該值確定為GOP的長度,記為dGOP.然后將所有被判定為I幀的幀位置對dGOP取余,即
(2)統(tǒng)計每個GOP中各位置對應的各類幀(I幀除外)幀數(shù)(如圖4所示),按照少數(shù)服從多數(shù)原則判定各幀的類型.
圖4 各步驟中對相應的視頻幀進行操作的示意圖Fig.4 Schematic diagram of processing for corresponding video frame in each procedure
(3)計算由步驟(2)獲得的GOP內(nèi)兩兩相鄰被判定為P幀的視頻幀間隔,即
式中,dP,i為某一 GOP內(nèi)第i和i+1幀被判定為 P幀的幀位置 PP,i和 PP,i+1的間隔.將 dP,1,dP,2,…,dP,i,…,dP,Pnum-1中出現(xiàn)頻率最高的值作為 P 幀間隔,記為dP.然后將所有被判定為P幀的幀位置對dP取余,即
式中,vP,i為第i幀被判定為P幀的幀位置對P幀間隔取余的結(jié)果.選取 vP,1,vP,2,…,vP,i,…,vP,Pnum-1中出現(xiàn)頻率最高的值作為GOP內(nèi)第1幀P幀相對于GOP的偏移量,然后利用GOP的周期性即可確定GOP內(nèi)各相應位置幀的類型.
可見,利用GOP周期性對動態(tài)閾值法的初步判定結(jié)果進行修正后即可確定視頻幀的類型.然而,視頻編碼時可生成平行B幀和分級B幀兩種預測結(jié)構(gòu),在分級B幀結(jié)構(gòu)中,高級B幀可作為低級B幀的參考幀,因此當丟包發(fā)生在不同級別的B幀時,將對視頻質(zhì)量產(chǎn)生不同的影響,故評估模型需要獲取各B幀的等級.由于各級B幀的編碼比特數(shù)差別很小,無法用閾值法進行區(qū)分,為此,文中利用Sperman秩相關系數(shù)來檢測B幀預測結(jié)構(gòu).
圖5 Mobile序列在編碼速率為512 kb/s時各類幀編碼比特數(shù)的分布Fig.5 Coding bits histogram of different frame types for Mobile sequence with the coding bit rate of 512kb/s
圖5所示為Mobile序列在恒定碼率下兩種B幀預測結(jié)構(gòu)的編碼比特數(shù)分布.該序列采用CIF格式,碼率為512kb/s,幀率為25,GOP長度為25,B幀幀數(shù)為3,GOP結(jié)構(gòu)設置為“IBBBPBBBP”.從圖5可知:分級預測結(jié)構(gòu)中各B幀按編碼順序呈階梯下降形狀,而平行預測結(jié)構(gòu)中各B幀并沒有明顯的規(guī)律可循.此規(guī)律同樣適用于其他具有不同內(nèi)容特性的視頻序列在其他編碼參數(shù)設置條件下生成的各幀編碼比特數(shù)分布,因此可以利用Spearman秩相關系數(shù)[18]來區(qū)分B幀預測結(jié)構(gòu).Spearman秩相關系數(shù)定義為
式中,m為樣本個數(shù),xi和yi分別為兩個向量的第i個分量,ox,i和 oy,i分別為 xi和 yi按升序或降序排列的位次.
在數(shù)理統(tǒng)計中,Spearman秩相關系數(shù)可反映兩個統(tǒng)計變量之間的單調(diào)相關性.文中用該系數(shù)預測B幀組數(shù)據(jù)量的變化趨勢,進而判斷出B幀預測結(jié)構(gòu).文中定義相鄰的I幀和P幀之間或相鄰的P幀之間的所有B幀為1個B幀組.則式(9)、(10)中各變量的具體意義如下:樣本個數(shù)m為B幀組的大小;xi等同于式(9)中的i,為B幀組中各幀按編碼順序的位次,ox,i定義為xi按升序排列的位次;yi為第i幀B幀的編碼比特數(shù),oy,i定義為yi按降序排列的位次.上述變量的定義范圍為某一個B幀組,于是滑動窗口內(nèi)每個B幀組的s平均值為
式中,l為滑動窗口內(nèi)B幀組的個數(shù),si為第i個B幀組的Spearman秩相關系數(shù).于是存在閾值Ts,當ˉs大于Ts時,B幀預測結(jié)構(gòu)為分級結(jié)構(gòu),否則為平行結(jié)構(gòu).
為驗證文中所提方法的有效性,采用Coastguard、Flower、Football、Hall-Monitor、Mother&Daughter、News、Paris、Sign-Irene和Tempete等包含各種運動場景的視頻序列進行實驗,各視頻序列均為CIF格式,采用x264編碼器進行編碼.實驗參數(shù) r1=0.810,r2=0.020,r3=0.625,r4=0.100,Ts=0.175.該組實驗參數(shù)適用于使用x264編碼器生成的H.264/AVC視頻序列,若用于由其他編碼器生成的視頻序列,實驗參數(shù)需要調(diào)整.為考察文中所提方法的適用性,將上述9個原始序列生成各種編碼比特率、幀率、B幀數(shù)目、B幀預測結(jié)構(gòu)等(具體見表1)的驗證序列.GOP長度緩慢變化.
表1 驗證實驗的編碼參數(shù)設置Table 1 Coding parameter set of verification experiment
對于由同一個原始序列生成的具有相同GOP長度和幀率的視頻序列來說,不同編碼比特率下視頻序列各類幀的編碼比特數(shù)分布規(guī)律相似,但碼率控制算法使同一編碼比特率、不同GOP長度或幀率的視頻序列各類幀的編碼比特數(shù)分布不同.不同GOP長度或幀率下幀類型檢測準確率(FTDP)和B幀預測結(jié)構(gòu)檢測準確率(BPSDP)如表2所示,表中還給出了文獻[13]方法的FTDP.與文獻[13]方法相比,文中方法在各編碼模式下的檢測準確率均有明顯的提高,平均檢測準確率提高了20.04%.文中方法還可以檢測出B幀預測結(jié)構(gòu),從而為視頻質(zhì)量包層評估模型提供更多的有效信息.相比于文獻[13]方法,雖然文中方法的計算復雜度有所增加,但視頻質(zhì)量包層評估模型不需要對視頻流進行解碼,計算復雜度很低,故使用文中方法的視頻質(zhì)量包層評估模型仍可實現(xiàn)實時性處理.
表2 兩種方法的檢測性能比較Table 2 Comparison of detection performance between two methods
文中提出了一種用于視頻質(zhì)量包層評估模型的幀類型檢測方法.在無法解碼視頻流的情況下,首先應用動態(tài)閾值法將視頻幀初步分類為I、P和B幀,然后利用GOP的周期性對初步判定結(jié)果進行修正,從而確定各視頻幀的類型,最后根據(jù)Spearman秩相關系數(shù)來判定B幀預測結(jié)構(gòu).實驗結(jié)果表明,與僅使用動態(tài)閾值的方法相比,文中所提方法在各種編碼模式下均有更高的檢測準確率,其平均檢測準確率提高了20.04%,并且可以判定B幀預測結(jié)構(gòu),從而為視頻質(zhì)量包層評估模型提供更多的有效信息.
文中方法主要針對GOP具有周期性的視頻,然而視頻中經(jīng)常出現(xiàn)的場景切換往往導致GOP的周期性受到影響,如何準確判斷場景切換的發(fā)生,進一步提高幀類型的檢測準確率是今后值得研究的方向.
[1]Fernandez J C,Taleb T,Guizani M,et al.Bandwidth aggregation-aware dynamic QoS negotiation for real-time video streaming in next-generation wireless networks[J].IEEE Transactions on Multimedia,2009,11(6):1082-1093.
[2]唐琳,姜勝明,楊花榮.基于區(qū)分隊列服務的多媒體傳感器網(wǎng)絡QoS研究[J].華南理工大學學報:自然科學版,2012,40(8):8-13.Tang Lin,Jiang Sheng-ming,Yang Hua-rong.Investigation into QoS of multimedia sensor network based on differentiated queuing service[J].Journal of South China University of Technology:Natural Science Edition,2012,40(8):8-13.
[3]陳俊杰,倪宏,孫鵬.采用定價機制的多媒體系統(tǒng)多資源分配算法[J].西安交通大學學報,2012,46(6):98-103.Chen Jun-jie,Ni Hong,Sun Peng.Pricing mechanism based multi-resource allocation for multimedia system[J].Journal of Xi’an Jiaotong University,2012,46(6):98-103.
[4]Su Honglei,Yang Fuzheng,Song Jiarun.Packet-layer quality assessment for networked video[J].International Journal of Computers Communications & Control,2012,7(3):565-573.
[5]Yang Fuzheng,Song Jiarun,Wan Shuai,et al.Contentadaptive packet-layer model for quality assessment of networked video services[J].IEEE Journal of Selected Topics in Signal Processing,2012,6(6):672-683.
[6]Yang Fuzheng,Wan Shuai.Bitstream-based quality assessment for networked video:a review [J].IEEE Commu-nications Magazine,2012,50(11):203-209.
[7]Liao Ning,Chen Zhibo.A packet-layer video quality assessment model based on spatiotemporal complexity estimation[C]∥Proceedings of 2010 Visual Communications and Image Processing.Huangshan:SPIE,2010:77441K/1-10.
[8]Garcia M N,Raake A.Parametric packet-layer video quality model for IPTV[C]∥Proceedings of the 10th International Conference on Information Sciences Signal Processing and Their Applications.Kuala Lumpur:IEEE,2010:349-352.
[9]Yamagishi K,Hayashi T.Parametric packet-layer model for monitoring video quality of IPTV services[C]∥Proceedings of IEEE International Conference on Communications.Beijing:IEEE,2008:110-114.
[10]ITU-T SG12.Updated draft terms of reference(ToR)for P.NAMS[EB/OL].(2010-05-10)[2011-11-18].http:∥www.itu.int/md T09-SG12-C-0137/en.
[11]Yang Fuzheng,Wan Shuai,Xie Qingpeng,et al.No-reference quality assessment for networked video via primary analysis of bit-stream [J].IEEE Transactions on Circuits and Systems for Video Technology,2010,20(11):1544-1554.
[12]Ushiki K,Tominaga T,Hayashi T.Verification of picture type estimation method using TS header information toward establishment of objective packet-layer video quality assessment model[R].Fukuoka:Institute of System LSI Design Industry,2007:15-19.
[13]Clark A.Method and system for viewer quality estimation of packet video streams:US,8094713B2[P].2012-01-10.
[14]RFC3550,RTP:a transport protocol for real-time applications[S].
[15]RFC 768,User datagram protocol[S].
[16]RFC 791,Internet protocol[S].
[17]Aimar L,Merritt L,Petit E,et al.x264:a free h264/AVC encoder[CP/OL].(2009-02-17)[2011-11-01].http:∥www.videolan.org/x264.html.
[18]Wikipedia.Spearman’s rank correlation coefficient[DB/OL].(2010-06-13)[2011-11-18].http:∥en.wikipedia.org/wiki/Spearman’s_rank_correlation_coefficient.