黨 毅
(皖西學院實驗實訓教學管理部,安徽六安 237012)
隨著互聯網技術、解編碼技術的發展,傳統單一媒體授課形式逐漸被基于移動終端的多媒體教學形式取代,教育者可通過手機、電腦、平板等移動終端進行各種線上教學[1].隨著多媒體應用范圍的推廣,用戶對其實時通信服務提出了更高的質量要求.尤其在多媒體教學方面,要求在不同網絡條件下,仍具有較高的數據傳輸效率以及數據傳輸質量[2].抖動緩沖是多媒體數據傳輸的重要環節,其能在一定程度上彌補網絡抖動、提高相應視頻播放質量,確保數據傳輸平滑順利[3-4].移動終端的多媒體教學中,主要是通過視頻通信的方式實現教學內容的傳授.而視頻通信的用戶體驗質量(QualityofExperience,QoE)容易被時延、抖動、丟包率等因素影響,為了保障QoE,此次研究將在改進抖動緩沖的基礎上進行數據傳輸的優化.
抖動是指多媒體實時數據傳輸過程中,不同數據組的轉發路徑相同,但接收端接受數據包的間隔存在變化的情況[5].
如圖1所示,抖動即為多媒體實時數據傳輸過程中,相鄰數據包的相對延時變化.除抖動之外,數據包傳輸過程還存在亂序、丟包、到達太晚等問題[6].此次研究從網絡數據傳輸抖動入手,通過抖動的緩沖優化,實現多媒體教學數據傳輸優化.網絡數據傳輸抖動受傳輸路徑、不同節點負載等兩方面的影響.路徑選擇不同,傳輸距離不同,傳輸時延不同;當選擇同一條傳輸路徑時,不同節點負載不同,每個數據包排隊時延不同,造成數據包間的傳輸時間的不同[7].
圖1 數據包在傳輸過程中發生的異常Fig.1 Exceptions occurring during packet transmission
抖動易造成數據包亂序、丟失、網絡擁塞,影響媒體播放質量.在接收端設置抖動緩沖模板,能夠彌補抖動,從而確保多媒體教學中數據傳輸質量、平滑性及實時性[8].抖動緩沖模板的工作包含緩沖區接收新數據包、數據包的重排組幀、計算抖動時延并輸出.
圖2顯示抖動緩沖模塊更新流程,此次研究利用網頁實時通信系統(WebReal-TimeCommunication,WebRTC)調節抖動緩沖區“深度”.設置抖動時延的“深度”時,需注意“深度”過大,會導致端到端的時延過大,不利于通信實時性;“深度”過小,會導致系統丟包率增加,不利于保障媒體的傳輸質量[9].其中QoS為服務質量(QualityofService),結合服務質量統計信息,設置QoS參數,進而設置緩沖器控制參數,完成動態抖動緩沖.
圖2 抖動緩沖模塊更新流程圖Fig.2 Updating flow chart of dither buffer module
鑒于低丟包率是建立在犧牲端到端的時延上,二者不可兼得,具體情況如圖3所示.
圖3 端到端時延與丟包率等二者間的關系Fig.3 Relationship between end-to-end delay and packet loss rate, etc
如圖3所示,隨著端到端時延的減少,抖動時延的丟包率增加;抖動時延a的丟包率小于抖動時延b,但后者端到端時延小于抖動時延a,因此無法直接判斷抖動時延a以及抖動時延b的好壞.可通過加權的方式,對二者進行度量.
(1)
式(1)為丟包率P與端到端時延的加權調和平均值F,其中β、D分別表示權值因子(顯示數據傳輸中丟包率與端到端時延的重要性)、歸一化后的端到端時延.當β>1時,顯示端到端時延更為重要;當β<1時,顯示丟包率更為重要;此次實驗取β=1,兩者重要性相當.與F相關系數最高的特征包括抖動時延、多媒體信道傳輸速率、數據傳輸中網絡排隊時延差及其變化趨勢,因此需將這幾個特征納入后續模型訓練.
針對數據中存在的數據缺失狀況,可通過直接丟棄、填充、轉換數據類型等方式進行處理;在處理異常值(明顯偏離平均分布值)時,具體方法如表1所示.
實驗中利用AdaBoost模型進行抖動緩沖預測模型的訓練,AdaBoost模型訓練中通過每輪基學習器擬合上一輪訓練殘差,最終將基學習器的預測值相加,獲取最終預測值.
JitterDelay=iFrameDelay+noiseDelay
(2)
(3)
(4)
公式(2)中JitterDelay指總抖動時延,是彌補傳輸大幀造成的抖動時延iFrameDelay以及彌補網絡噪聲引起的抖動時延noiseDelay等兩種時延組成.式(3)中“MaxFS”指“MaxFrameSize”,是多媒體通信過程中收到的最大幀值;“AvgFS”指“AverageFrameSize”,是截止到目前時刻的多媒體通信過程中,接收到的所有幀的平均大小;C為信道傳輸速率.式(4)中noiseStdDevs、noiseStdDevOff、varNoise分別指網絡噪聲系數、網絡噪聲扣除常數、網絡噪聲的方差.
(5)
式(5)為噪聲noise的計算式,其中frameDelay、deltaFS分別指幀間時延、相對幀長,m指網絡排隊時延差.
dm(ti)=ti-ti-1-(Ti-Ti-1)
(6)
(7)
式(6、7)中dm(ti)指幀間時延,第i幀中所有數據包均順利且無遺漏的到達接收端時間為ti,其對應的網絡排隊時延差為m(ti);第i幀中發送出第一個數據包的具體時間為Ti.
為了測試多媒體教學數據實時傳輸的狀態,本次研究將媒體傳輸質量指標(MediaDeliveryIndex,MDI)與QoS參數,建立傳輸質量評估模型.該模型的建立考慮了丟包率、端到端時延、播放抖動等三項指標.
丟包率是指傳輸過程中數據包丟失的數量占發送端發送總數據包數量的比重.丟包異常將影響視頻質量,導致視頻圖像播放效果變差,因此丟包率越低,數據的傳輸質量越高.
表2為用戶感官與端到端時延的聯系,端到端時延由采集時延、編碼時延等多種時延構成.隨著端到端時延的降低,多媒體通信實時性增加,多媒體教學數據傳輸質量越高.為了保障多媒體教學視頻通信質量,應確保端到端時延在400 ms以下.實驗中利用合頁損失函數(HingeLoss)完成時延的控制,函數表達式如式(8)所示.
(8)
式(8)中|wx+b|指點x到平面上的距離;y(wx+b)可用于分類正確性與距離確信度的表示,其絕對值越大,決策邊界對樣本的區分度越好;w為法向量(原點到超平面的最短距離),b為位移實數.
圖4 合頁損失函數與二次平滑合頁損失函數Fig.4 Hinge loss function and quadratic smoothing hinge loss function
delay=end_to_delay+hinge_loss
(9)
(10)
式(9)為在二次方平滑合頁函數下,端到端時延的表現評估delay.由公式(9、10)可推測出,當端到端時延大于400 ms時,HingeLoss函數將充當高于400 ms部分時延的二次函數.換而言之,當時延超過400 ms時,對超過閾值的部分進行懲罰,多媒體機教學數據傳輸質量評估值由端到端時延與懲罰值組成.
playout_jitter=(renderi-renderi-1)-(renderi-1-renderi-2)
(11)
式(11)為播放抖動playout_ jitter的計算式,其與連續的三個視頻幀(renderi-2、renderi-1、renderi)的具體播放時刻相關.播放抖動表示的是幀間相對播放穩定性,一般情況下,playout_jitter取絕對值.當播放抖動大于0時,說明與上一幀相比,當前幀播放速度降低.
E=ω1·packet_loss+ω2·delay+ω3·playout_jitter
(12)
式(12)為最終傳輸質量評價值E,w表示各指標對數據傳輸質量的影響權值,其中丟包率(packet_loss)的w1取0.4,端到端時延(delay)的w2取0.3,播放抖動(playout_ jitter)的w3取0.3.
為了驗證AdaBoost模型的效果,此次研究將比較嶺回歸法、決策樹回歸法、隨機森林法、AdaBoost法等四種模型的效果.其中嶺回歸屬于單個學習器法,它通過找到一組參數,增加自身所構建預測模型預測輸出標簽的準確性;決策樹法屬于單個機器學習法,隨機森林法和AdaBoost法屬于集成學習法.上述四種模型的均方誤差如圖5所示.
圖5 不同參數選擇下四種模型的均方誤差Fig.5 MSE of the four models with different parameter choices
由圖5可知,當參數在14時,嶺回歸模型的均方誤差最低,其值僅為0.135;當參數為9時,決策樹模型的均方誤差最低,其值為0.141;當最大特征數為總特征的0.3時,隨機森林的均方誤差最低為0.137;當AdaBoost法利用30個弱學習器進行模型訓練時,AdaBoost模型均方誤差最低為0.127.由此可見,本次研究選擇的AdaBoost模型,是較為適合作為抖動緩沖預測模型.
由圖6可知,基于移動終端的多媒體教學數據傳輸中,對數據傳輸質量影響最大的是數據傳輸過程中的丟包率,其次分別為播放抖動與端到端時延,后兩者對多媒體教學數據傳輸質量的影響程度基本一致.為了驗證多媒體教學數據傳輸的優化效果,本次實驗將選擇正常網絡環境(寬帶1000 Kb/s,丟包率2%)與擁塞網絡環境(寬帶500 Kb/s,丟包率5%),比較不同環境下,原WebRTC中抖動緩沖算法與優化后的抖動緩沖算法的工作效果差異.
圖6 QoS參數對傳輸質量的影響Fig.6 Influence of QoS parameters on transmission quality
圖7為正常網絡環境下,以錄制1min示例視頻充當視頻輸入源,分別在兩種不同算法的多媒體數據傳輸方式下,進行三次有效視頻通信的具體結果.原算法中,丟包率均值達2.99%,端到端時延均值達114.33 ms,播放抖動均值達13.41 ms,傳輸質量評估僅為0.201.可見與基于原網頁實時通信系統(WebRTC)的抖動緩沖算法相比,本次研究提出的優化后的抖動緩沖預測算法的丟包率較低(2.35%),端到端時延較短(96.4 ms),播放抖動均值較低(10.71ms),多媒體教學數據傳輸質量評估值更高(0.249).丟包率越低、端到端時延越短、播放抖動均值越低,說明基于該優化算法能得出更合適的抖動時延調整,其數據傳輸質量更高,延時更低,教學視頻通信更穩定,系統的工作效果更好.繼續進行擁塞網絡環境下,原抖動緩沖算法和優化后抖動緩沖算法的工作效果比較,其具體的比較結果如圖8所示.
圖7 正常網絡環境下不同算法結構對比Fig.7 Comparison of different algorithm structures in normal network environment
圖8 擁塞網絡環境下不同算法結構對比Fig.8 Comparison of different algorithm structures in congestion network environment
圖8為三次有效視頻通信實驗下丟包率、端到端延時、傳輸質量等三種指標的均值,由這三種指標均值計算數據傳輸質量.并比較擁塞網絡環境下(寬帶500 Kb/s,丟包率5%),原WebRTC抖動緩沖算法與此次研究提出的優化抖動緩沖預測算法的工作效果.圖8顯示,與原WebRTC抖動緩沖算法相比,優化后的算法在數據丟包率、端到端延時、視頻播放抖動等指標的工作效果方面均有所提升,提升幅度依次為18.2%、14.1%、18.1%.從多媒體教學數據傳輸質量上看,原算法的傳輸質量評估值僅為0.561,優化算法的數據傳輸質量為0.680,顯著提升17.5%.
利用移動終端進行多媒體教學成為傳授知識的新方式,這要求著更高質量的多媒體實時通信服務,即高質量的數據傳輸.抖動緩沖可有效平滑數據傳輸,提高數據傳輸質量.有鑒于此,本次實驗在分析抖動緩沖算法的基礎上,提出了一種抖動緩沖預測模型,并以該模型實現基于移動終端的多媒體教學數據傳輸優化.實驗結果顯示,選擇以AdaBoost法構建抖動緩沖預測模型時,該模型的均方誤差最低,僅為0.127;對多媒體教學數據傳輸質量影響最大的是數據丟包率(62.6%),其次為播放抖動(18.8%)和端到端時延(18.6%),這三種指標的值越低,數據傳輸效果越好,數據傳輸質量越高;兩種不同的網絡環境中,原WebRTC抖動緩沖算法的丟包率、端到端時延、播放抖動等各項指標值均高于此次研究提出的抖動緩沖遺傳算法,后者的數據傳輸質量評估值高于前者.綜上所述,此次研究提出的基于抖動緩沖預測算法,能顯著提高的多媒體數據傳輸質量.此次研究雖然取得一定成果,但尚未進行幀長變化規律的優化,未來應通過幀長規律的學習,進一步改進抖動緩沖算法.