專利名稱:一種基于自適應神經(jīng)網(wǎng)絡的視頻傳輸丟包恢復方法
技術領域:
本發(fā)明屬于視頻數(shù)據(jù)技術領域,涉及一種基于自適應神經(jīng)網(wǎng)絡的視頻傳輸丟包恢復技術。
背景技術:
隨著3G技術和寬帶網(wǎng)絡的發(fā)展,以及終端的不斷推陳出新,視頻通信業(yè)務將得到長足的發(fā)展,因此視頻傳輸系統(tǒng)對實時性和準確性的要求越來越高。在網(wǎng)絡的視頻傳輸過程中,影響音頻音質(zhì)的主要因素有時延、靜電干擾、丟包和抖動等。其中,丟包問題一直是一個影響視頻交互服務質(zhì)量的最核心因素。盡管網(wǎng)絡傳輸中使用的協(xié)議低層有糾錯碼,但只能解決包內(nèi)誤碼,無法解決丟包問題。TCP協(xié)議的錯誤重發(fā)機制可以保證網(wǎng)絡數(shù)據(jù)流的正確性,但是它無法滿足視頻信號傳輸?shù)膶崟r性要求,特別是在多組廣播的情況下,不同的接受者有不同的丟包重發(fā)要求,這不僅會增大網(wǎng)絡帶寬的消耗,而且反過來導致網(wǎng)絡傳輸堵塞, 造成更大的數(shù)據(jù)包丟失。因此,需要對應用層的丟包恢復處理技術加以研究,以提高視頻傳輸?shù)馁|(zhì)量。反向傳播自適應神經(jīng)網(wǎng)絡(Back Propagation Neural Network,簡稱BP網(wǎng)絡)是目前應用最為廣泛和成功的一種人工神經(jīng)網(wǎng)絡。主要由輸入層、隱含層和輸出層組成。前向網(wǎng)絡是指,只存在不同層神經(jīng)元之間的權值連接,而不存在同一層神經(jīng)元之間的連接,而且神經(jīng)元之間的連接,只是在相鄰層之間的連接,而不出現(xiàn)隔層連接的情況。現(xiàn)己證明一個具有S型激活函數(shù)的單隱含層前向網(wǎng)絡,只要隱含層有充分多的神經(jīng)元,它就能夠以任意的精度逼近任意一個已知函數(shù),從而表明BP神經(jīng)網(wǎng)絡可以作為一個通用的函數(shù)逼近器。 將BP神經(jīng)網(wǎng)絡應用于視頻傳輸丟包之中,能克服傳統(tǒng)丟包檢測視頻恢復技術的缺陷,因而具有良好的應用和推廣前景。
發(fā)明內(nèi)容
本發(fā)明提出一種基于自適應神經(jīng)網(wǎng)絡的視頻傳輸丟包恢復技術,包括網(wǎng)絡丟包模型和基于反向傳播自適應神經(jīng)網(wǎng)絡(Back Propagation Neural Network, BP網(wǎng)絡)的丟包恢復技術,提高視頻傳輸系統(tǒng)的實時性和準確性。本發(fā)明采用如下技術解決方案首先視頻信息作為當前環(huán)境的狀態(tài)輸入,輸出在這些輸入狀態(tài)下應該使用的視頻編碼碼率。其主要的網(wǎng)絡丟包模型使用了基于反向傳播自適應神經(jīng)網(wǎng)絡的AHC模型(或稱為Actor-Critic模型),其中Actor負責產(chǎn)生當前狀態(tài)條件下的一個動作,Critic則負責學習預測當前狀態(tài)條件下可能得到的獎勵,Value(X)即為Critic對環(huán)境獎勵進行預測的函數(shù)。學習過程中,Critic接受環(huán)境的獎勵反饋,更新 Value (χ),并將獎勵預測誤差以外界反饋的形式交給Actor模塊,用于指導Actor糾正選取動作的策略。其中,Value(X)依據(jù)Q-learning更新規(guī)則進行學習,Actor則采用Gaussian ASLA動作函數(shù)來實現(xiàn),Actor與Critic都使用BP(Back-Propagation)神經(jīng)網(wǎng)絡來進行泛化的工作。
本發(fā)明具體方法包括以下步驟
步驟1.選擇視頻丟包恢復模型的輸入變量和輸出變量,確定訓練樣本;具體方法為 輸入變量包括三類網(wǎng)絡參數(shù)信息及視頻信息,所述的三類網(wǎng)絡參數(shù)信息分別是4個時延狀態(tài)值、4個抖動狀態(tài)值、1個丟包率狀態(tài)值; 所述的視頻信息為6個幀復雜度狀態(tài)值; 輸出變量為使用的視頻編碼碼率。步驟2.數(shù)據(jù)歸一化處理,對輸入和輸出序列中的數(shù)據(jù)進行歸一化處理,具體是對時延、抖動和幀復雜度的狀態(tài)變量參數(shù)進行規(guī)格化處理,轉(zhuǎn)化為W,1]范圍的值。步驟3.視頻傳輸網(wǎng)絡丟包模型使用了基于反向傳播自適應神經(jīng)網(wǎng)絡的AHC模型 (Actor-Critic模型),具體方法是
通過使用三個神經(jīng)網(wǎng)絡分別用來擬合Critic中的Value(X)、Actor中的μ (χ)和 α (x),其中μ (x)和α (x)分別表示輸出值的均值和標準差; 所述的Actor負責產(chǎn)生當前狀態(tài)條件下的一個動作, 所述的Critic則負責學習預測當前狀態(tài)條件下可能得到的獎勵; 所述的Value(X)為Critic對環(huán)境獎勵進行預測的函數(shù);
三個神經(jīng)網(wǎng)絡的輸入相同,都是規(guī)格化之后的變量狀態(tài)值,輸入層共有15個輸入單元為hputl-Inputl5 ;每個神經(jīng)網(wǎng)絡有一個隱層,隱層有三個神經(jīng)元組成為Hidenl-Hiden3 ; 輸出層有一個輸出神經(jīng)元為Out ;網(wǎng)絡中的每個神經(jīng)元的門限函數(shù)使用的是可微的 Sigmoid 函數(shù)。步驟4.訓練BP神經(jīng)網(wǎng)絡的學習過程中;具體方法是
在時刻t-Ι時Actor選擇一個碼率,而后會收到環(huán)境的反饋獎勵信息,此處即是校正后的視頻質(zhì)量信息;此時Critic需要使用Q-Iearning更新規(guī)則,更新自己的獎勵預測函數(shù)。Q-Iearning更新規(guī)則是預測函數(shù)在時刻t_l時預測的偏差,如式1所示。S- + fKfllae, - Valuet^ 式 1
其中IV1是時刻t-Ι的動作所收到的獎勵,Valuet與Valuew分別為時刻t與t_l時 Critic對所處環(huán)境進行評估后函數(shù)Value(X)的輸出值,Y是一個學習參數(shù);
式1使用預測函數(shù)Value(X)當前的預測值來代替將來可以獲得的獎勵的實際值,然后加上由時刻t-i到時刻t之間所得的獎勵,就是時刻t-Ι時應該得到的獎勵。步驟5.測試BP神經(jīng)網(wǎng)絡;
對訓練完成的BP神經(jīng)網(wǎng)絡進行測試,將歷史數(shù)據(jù)按照步驟(1)中的網(wǎng)絡參數(shù)信息以及視頻信息組成輸入信息,再按照步驟( 進行歸一化處理,這樣經(jīng)過規(guī)格化后共得到14個輸出數(shù)據(jù),另外加上丟包率,共有15個hput分別與0utl-0utl5相對應;按照步驟(3)直接調(diào)用MatLab神經(jīng)網(wǎng)絡工具箱中的sim函數(shù),對測試矩陣進行仿真,其中網(wǎng)絡中每個神經(jīng)元的門限函數(shù)都是可微的Sigmoid函數(shù),對應為視頻傳輸網(wǎng)絡的丟包預測值。步驟6.數(shù)據(jù)反歸一化處理;
輸出即為當前狀態(tài)下的視頻碼率值進行反歸一化處理,使用服從均值為μ (χ)、標準差為α (χ)的高斯分布隨機數(shù)發(fā)生器來產(chǎn)生輸出值。本發(fā)明具有的有益效果是通過研究基于反向傳播自適應神經(jīng)網(wǎng)絡的視頻丟包恢
復技術,允許在存在丟包的網(wǎng)絡中提供顯著改進的標準視頻質(zhì)量,以有效降低網(wǎng)絡丟包對IP視頻呼叫的影響,提高視頻互動的穩(wěn)定性。使基于視頻呼叫系統(tǒng)接收端接收到相對較多的多媒體數(shù)據(jù)信息時,也可以恢復出更加準確的數(shù)據(jù)信息,從而可以提高視頻的顯示質(zhì)量, 為視頻用戶提供了確保服務質(zhì)量(Quality of Service, QoS)的視頻傳輸技術。
圖1是基于反向傳播自適應神經(jīng)網(wǎng)絡的丟包恢復方法的示意圖。
具體實施例方式以下結(jié)合附圖對本發(fā)明作進一步說明。如圖1所示,本發(fā)明包括以下步驟
步驟1.選擇視頻丟包恢復模型的輸入變量和輸出變量,確定訓練樣本;具體方法為 輸入變量包括三類網(wǎng)絡參數(shù)信息及視頻信息,所述的三類網(wǎng)絡參數(shù)信息分別是4個時延狀態(tài)值、4個抖動狀態(tài)值、1個丟包率狀態(tài)值;所述的視頻信息為6個幀復雜度狀態(tài)值,輸出變量為使用的視頻編碼碼率; 步驟2.數(shù)據(jù)歸一化處理
由于網(wǎng)絡時延有很大的分布范圍,小到低于1毫秒,大到幾百毫秒,時延抖動也是如此,而丟包率的范圍則很小,理論上可以取到小1之間的值,實際上一般小于0.01。另外,大部分數(shù)據(jù)幀復雜度位于IO5以下,有少數(shù)幀可以達到4*105以上。直接將這些取值范圍差異很大的狀態(tài)值作為輸入是很不合適的,需要使用規(guī)格化的方法,對輸入和輸出序列中的數(shù)據(jù)進行歸一化處理。因此,對時延(取4個值)、抖動(取4個值)、幀幀復雜度(取6個值)三個部分的狀態(tài)變量參數(shù)進行規(guī)格化處理,每一個輸入的實數(shù)值X都被轉(zhuǎn)化為位于
之間取值的輸出。在考慮到以上提到的三個狀態(tài)變量,因為丟包率的取值范圍位于0-1之間,不需要規(guī)格化。這樣經(jīng)過規(guī)格化后共得到14個輸出數(shù)據(jù),另外加上丟包率,共有15個分別與圖1中的outl-outl5相對應。這15個數(shù)據(jù)用來描述系統(tǒng)所在環(huán)境的狀態(tài),作為Actor與Critic。 擬合過程中所使用的神經(jīng)網(wǎng)絡的輸入,分別與圖1中hputl-InputlS—一對應。步驟3.視頻傳輸網(wǎng)絡丟包模型使用了基于反向傳播自適應神經(jīng)網(wǎng)絡的AHC模型 (Actor-Critic模型),具體方法是
通過使用三個神經(jīng)網(wǎng)絡分別用來擬合Critic中的Value(X)、Actor中的μ (χ)和 α (x),其中μ (x)和α (x)分別表示輸出值的均值和標準差; 所述的Actor負責產(chǎn)生當前狀態(tài)條件下的一個動作, 所述的Critic則負責學習預測當前狀態(tài)條件下可能得到的獎勵; 所述的Value(X)為Critic對環(huán)境獎勵進行預測的函數(shù);
三個神經(jīng)網(wǎng)絡的輸入相同,都是規(guī)格化之后的變量狀態(tài)值,如圖1中所示輸入層共有 15個輸入單元為hputl-Inputl5 ;每個神經(jīng)網(wǎng)絡有一個隱層(Hidden Layer),隱層有三個神經(jīng)元組成為Hidenl-Hiden3 ;輸出層有一個輸出神經(jīng)元為Out ;網(wǎng)絡中的每個神經(jīng)元的門限函數(shù)使用的是可微的Sigmoid函數(shù);
步驟4.訓練BP神經(jīng)網(wǎng)絡的學習過程中;具體方法是
在時刻t-Ι時Actor選擇一個碼率,而后會收到環(huán)境的反饋獎勵信息,此處即是校正后的視頻質(zhì)量信息;此時Critic需要使用Q-Iearning更新規(guī)則,更新自己的獎勵預測函數(shù); Q-Iearning更新規(guī)則是預測函數(shù)在時刻t_l時預測的偏差,如式1所示。
權利要求
1. 一種基于自適應神經(jīng)網(wǎng)絡的視頻傳輸丟包恢復方法,其特征在于該方法包括以下步驟步驟1.選擇視頻丟包恢復模型的輸入變量和輸出變量,確定訓練樣本;具體方法為 輸入變量包括三類網(wǎng)絡參數(shù)信息及視頻信息,所述的三類網(wǎng)絡參數(shù)信息分別是4個時延狀態(tài)值、4個抖動狀態(tài)值、1個丟包率狀態(tài)值; 所述的視頻信息為6個幀復雜度狀態(tài)值, 輸出變量為使用的視頻編碼碼率;步驟2.數(shù)據(jù)歸一化處理,對輸入和輸出序列中的數(shù)據(jù)進行歸一化處理,具體是對時延、抖動和幀復雜度的狀態(tài)變量參數(shù)進行規(guī)格化處理,轉(zhuǎn)化為W,1]范圍的值;步驟3.視頻傳輸網(wǎng)絡丟包模型使用了基于反向傳播自適應神經(jīng)網(wǎng)絡的AHC模型 (Actor-Critic模型),具體方法是通過使用三個神經(jīng)網(wǎng)絡分別用來擬合Critic中的Value(X)、Actor中的μ (χ)和 α (x),其中μ (x)和α (x)分別表示輸出值的均值和標準差; 所述的Actor負責產(chǎn)生當前狀態(tài)條件下的一個動作; 所述的Critic則負責學習預測當前狀態(tài)條件下可能得到的獎勵; 所述的Value(X)為Critic對環(huán)境獎勵進行預測的函數(shù);三個神經(jīng)網(wǎng)絡的輸入相同,都是規(guī)格化之后的變量狀態(tài)值,輸入層共有15個輸入單元為hputl-Inputl5 ;每個神經(jīng)網(wǎng)絡有一個隱層,隱層有三個神經(jīng)元組成為Hidenl-Hiden3 ; 輸出層有一個輸出神經(jīng)元為Out ;網(wǎng)絡中的每個神經(jīng)元的門限函數(shù)使用的是可微的 sigmoid 函數(shù);步驟4.訓練BP神經(jīng)網(wǎng)絡的學習過程中;具體方法是在時刻t-Ι時Actor選擇一個碼率,而后會收到環(huán)境的反饋獎勵信息,此處即是校正后的視頻質(zhì)量信息;此時Critic需要使用Q-Iearning更新規(guī)則,更新自己的獎勵預測函數(shù); Q-Iearning更新規(guī)則是預測函數(shù)在時刻t_l時預測的偏差,下式所示其中IV1是時刻t-Ι的動作所收到的獎勵,Valuet與Valuew分別為時刻t與t_l時 Critic對所處環(huán)境進行評估后函數(shù)Value(X)的輸出值,Y是一個學習參數(shù);上式使用預測函數(shù)Value(X)當前的預測值來代替將來可以獲得的獎勵的實際值,然后加上由時刻t-i到時刻t之間所得的獎勵,就是時刻t-Ι時應該得到的獎勵; 步驟5.測試BP神經(jīng)網(wǎng)絡;對訓練完成的BP神經(jīng)網(wǎng)絡進行測試,將歷史數(shù)據(jù)按照步驟(1)中的網(wǎng)絡參數(shù)信息以及視頻信息組成輸入信息,再按照步驟( 進行歸一化處理,這樣經(jīng)過規(guī)格化后共得到14個輸出數(shù)據(jù),另外加上丟包率,共有15個hput分別與0utl-0utl5相對應;按照步驟(3)直接調(diào)用MatLab神經(jīng)網(wǎng)絡工具箱中的sim函數(shù),對測試矩陣進行仿真,其中網(wǎng)絡中每個神經(jīng)元的門限函數(shù)都是可微的Sigmoid函數(shù),對應為視頻傳輸網(wǎng)絡的丟包預測值; 步驟6.數(shù)據(jù)反歸一化處理;輸出即為當前狀態(tài)下的視頻碼率值進行反歸一化處理,使用服從均值為μ (χ)、標準差為α (x)的高斯分布隨機數(shù)發(fā)生器來產(chǎn)生輸出值。
全文摘要
本發(fā)明涉及一種基于自適應神經(jīng)網(wǎng)絡的視頻傳輸丟包恢復方法?,F(xiàn)有的網(wǎng)絡傳輸中使用的協(xié)議低層有糾錯碼,但只能解決包內(nèi)誤碼,無法解決丟包問題。本發(fā)明首先視頻信息作為當前環(huán)境的狀態(tài)輸入,輸出在這些輸入狀態(tài)下應該使用的視頻編碼碼率。其主要的網(wǎng)絡丟包模型使用了基于反向傳播自適應神經(jīng)網(wǎng)絡的AHC模型。學習過程中,Critic接受環(huán)境的獎勵反饋,更新Value(x),并將獎勵預測誤差以外界反饋的形式交給Actor模塊,用于指導Actor糾正選取動作的策略。本發(fā)明有效降低網(wǎng)絡丟包對IP視頻呼叫的影響,提高視頻互動的穩(wěn)定性。
文檔編號H04N21/647GK102413378SQ20111034133
公開日2012年4月11日 申請日期2011年11月2日 優(yōu)先權日2011年11月2日
發(fā)明者劉大為, 周濤, 柳毅, 王曉耘 申請人:杭州電子科技大學