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