本發(fā)明涉及通信領(lǐng)域,更具體地說,涉及一種帶寬自適應(yīng)控制系統(tǒng)及方法。
背景技術(shù):
近些年,由于通信技術(shù)、網(wǎng)絡(luò)技術(shù)和視頻壓縮技術(shù)的發(fā)展,基IP網(wǎng)絡(luò)的音視頻通信越來越受到廣泛的應(yīng)用,特別是在視頻會(huì)議、視頻監(jiān)控、視頻指揮調(diào)度、遠(yuǎn)程教育、遠(yuǎn)程醫(yī)療會(huì)診等領(lǐng)域都廣泛實(shí)用。其中音視頻傳輸是其廣泛應(yīng)用的關(guān)鍵技術(shù),而在一些特殊通信信道(比如無線網(wǎng)絡(luò)),帶寬有限并且?guī)挷▌?dòng)較大,網(wǎng)絡(luò)抖動(dòng)、延遲、丟包等使得很難為這些地方提供可靠的音視頻業(yè)務(wù)。
現(xiàn)有的帶寬自適應(yīng)算法主要根據(jù)RTCP反饋的丟包率、時(shí)延、抖動(dòng)等參數(shù)對(duì)帶寬進(jìn)行自動(dòng)調(diào)整,但是這些算法簡(jiǎn)單且利用的信息單一,在實(shí)際的復(fù)雜網(wǎng)絡(luò)環(huán)境下,帶寬自動(dòng)調(diào)整的效果并不理想,會(huì)出現(xiàn)卡頓,畫面花屏,聲音斷續(xù)等問題,這嚴(yán)重影響了音視頻業(yè)務(wù)的廣泛應(yīng)用。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供了一種帶寬自適應(yīng)控制系統(tǒng),能在復(fù)雜網(wǎng)絡(luò)情況下提供高準(zhǔn)度的帶寬預(yù)估值,有效地進(jìn)行帶寬自動(dòng)調(diào)整,確保網(wǎng)絡(luò)信號(hào)的傳輸。
本發(fā)明提供的帶寬自適應(yīng)控制系統(tǒng)包括控制設(shè)備,所述帶寬自適應(yīng)控制系統(tǒng)包括控制設(shè)備,所述控制設(shè)備包括發(fā)送端,所述發(fā)送端包括:
判斷模塊,用于判斷丟包率、時(shí)延是否滿足預(yù)設(shè)條件,其中所述預(yù)設(shè)條件包括所述丟包率>第一預(yù)設(shè)值且所述時(shí)延>第二預(yù)設(shè)值;
調(diào)整模塊,用于當(dāng)所述判斷模塊判斷出所述丟包率>所述第一預(yù)設(shè)值且所述時(shí)延>所述第二預(yù)設(shè)值時(shí),根據(jù)第一帶寬公式Ap=(1-k*p)*Ap-1-(rtt*b)預(yù)估當(dāng)前時(shí)刻的帶寬,其中,Ap表示當(dāng)前時(shí)刻的預(yù)估帶寬、Ap-1表示前一時(shí)刻的預(yù)測(cè)帶寬、p表示丟包率、rtt表示時(shí)延、k和b為常數(shù)、且滿足1>(1-k*p)>0,Ap<Ap-1,根據(jù)第二帶寬公式預(yù)估當(dāng)前時(shí)刻的帶寬,所述第二帶寬公式為:其中,X表示當(dāng)前時(shí)刻的預(yù)估帶寬,s表示多個(gè)rtp包的平均大小、R表示時(shí)延、p表示丟包率、b表示每隔b個(gè)rtp包發(fā)送一個(gè)TCP確認(rèn)、RT0表示TCP超時(shí)重傳的時(shí)間,判斷所述當(dāng)前時(shí)刻的預(yù)估帶寬Ap、X之間的差值的大小,當(dāng)所述當(dāng)前時(shí)刻的預(yù)估帶寬Ap、X之間的差值小于第一預(yù)設(shè)閾值時(shí),取所述當(dāng)前時(shí)刻的預(yù)估帶寬Ap、X的平均值設(shè)置為當(dāng)前時(shí)刻的帶寬At。
進(jìn)一步地,所述調(diào)整模塊,還用于在當(dāng)前時(shí)刻的預(yù)估帶寬Ap、X之間的差值大于第一預(yù)設(shè)閾值時(shí),取所述當(dāng)前時(shí)刻的帶寬Ap、X中的較小值設(shè)置為當(dāng)前時(shí)刻的帶寬At。
進(jìn)一步地,所帶寬自適應(yīng)控制系統(tǒng)還包括編碼器,所述編碼器包括:
控制模塊,用于判斷所述當(dāng)前時(shí)刻的帶寬At與上一時(shí)刻的帶寬At-1之間的差異是否大于第二預(yù)設(shè)閾值,當(dāng)大于所述第二預(yù)設(shè)閾值時(shí),根據(jù)當(dāng)前時(shí)刻的帶寬更新所述編碼器的目標(biāo)碼率。
進(jìn)一步地,所述預(yù)設(shè)條件還包括第三預(yù)設(shè)值<所述丟包率<所述第一預(yù)設(shè)值且所述時(shí)延>所述第二預(yù)設(shè)值、所述丟包率>所述第一預(yù)設(shè)值且第四預(yù)設(shè)值<所述時(shí)延<所述第二預(yù)設(shè)值,當(dāng)所述判斷模塊判斷出所述第三預(yù)設(shè)值<所述丟包率<所述第一預(yù)設(shè)值且所述時(shí)延>所述第二預(yù)設(shè)值、或者判斷出所述丟包率>所述第一預(yù)設(shè)值且所述第四預(yù)設(shè)值<所述時(shí)延<所述第二預(yù)設(shè)值時(shí),所述調(diào)整模塊,還用于根據(jù)第三帶寬公式Ap=(1-k*p)*Ap-1+(rtt*b)計(jì)算當(dāng)前時(shí)刻的預(yù)估帶寬,其中,Ap表示當(dāng)前時(shí)刻的預(yù)估帶寬、Ap-1表示前一時(shí)刻的預(yù)估帶寬、p表示丟包率、rtt表示時(shí)延、k和b為常數(shù)、且滿足1>(1-k*p)>0,Ap<Ap-1。
進(jìn)一步地,所述預(yù)設(shè)條件還包括所述丟包率<所述第三預(yù)設(shè)值且所述時(shí)延<所述第四預(yù)設(shè)值,當(dāng)所述判斷模塊判斷出所述丟包率<所述第三預(yù)設(shè)值且所述時(shí)延<所述第四預(yù)設(shè)值時(shí),所述調(diào)整模塊,還用于根據(jù)第四帶寬公式Ap=k*Ap-1+(rtt*b)預(yù)估當(dāng)前時(shí)刻的帶寬,其中,Ap表示當(dāng)前時(shí)刻的預(yù)估帶寬、Ap-1表示前一時(shí)刻的預(yù)估帶寬、p表示丟包率、rtt表示時(shí)延、k和b為常數(shù)、滿足k>1,b>1,Ap>Ap-1。
進(jìn)一步地,所述控制設(shè)備還包括:
接收端,用于向所述發(fā)送端反饋RTCP報(bào)文,所述RTCP報(bào)文包括所述丟包率、所述時(shí)延;
所述發(fā)送端還包括獲取模塊,所述獲取模塊,用于接收所述RTCP報(bào)文,并從所述RTCP報(bào)文獲取所述丟包率、所述時(shí)延。
進(jìn)一步地,所述編碼器的所述控制模塊,還用于計(jì)算當(dāng)前目標(biāo)碼率與當(dāng)前時(shí)刻的帶寬的比值γ,判斷所述比值γ所處數(shù)值范圍,查詢所述比值γ所處數(shù)值范圍對(duì)應(yīng)的目標(biāo)碼率調(diào)節(jié)公式,根據(jù)所述目標(biāo)碼率調(diào)節(jié)公式計(jì)算目標(biāo)碼率,根據(jù)所述計(jì)算出的目標(biāo)碼率對(duì)當(dāng)前目標(biāo)碼率進(jìn)行調(diào)節(jié),其中,所述目標(biāo)碼率調(diào)節(jié)公式為:目標(biāo)碼率=a*當(dāng)前預(yù)估帶寬,0<a<1。
進(jìn)一步地,所述編碼器還包括參數(shù)調(diào)節(jié)模塊,用于判斷所述調(diào)節(jié)后的目標(biāo)碼率所處的目標(biāo)碼率范圍,根據(jù)所述調(diào)節(jié)后的目標(biāo)碼率所處的目標(biāo)碼率范圍調(diào)整分辨率參數(shù)、幀率參數(shù)。
本發(fā)明還提供一種帶寬自適應(yīng)的控制方法,能在復(fù)雜網(wǎng)絡(luò)情況下提供高準(zhǔn)度的帶寬預(yù)估值,有效地進(jìn)行帶寬自動(dòng)調(diào)整,確保網(wǎng)絡(luò)信號(hào)的傳輸。
本發(fā)明提供的帶寬自適應(yīng)控制方法包括:
判斷丟包率、時(shí)延是否滿足預(yù)設(shè)條件,其中所述預(yù)設(shè)條件包括所述丟包率>第一預(yù)設(shè)值且所述時(shí)延>第二預(yù)設(shè)值;
當(dāng)判斷出所述丟包率>所述第一預(yù)設(shè)值且所述時(shí)延>所述第二預(yù)設(shè)值時(shí),根據(jù)第一帶寬公式Ap=(1-k*p)*Ap-1-(rtt*b)預(yù)估當(dāng)前時(shí)刻的帶寬,其中,Ap表示當(dāng)前時(shí)刻的預(yù)估帶寬、Ap-1表示前一時(shí)刻的帶寬、p表示丟包率、rtt表示時(shí)延、k和b為常數(shù)、且滿足1>(1-k*p)>0,Ap<Ap-1,并根據(jù)第二帶寬公式預(yù)估當(dāng)前時(shí)刻的帶寬,所述第二帶寬公式為:
其中,X表示當(dāng)前時(shí)刻的預(yù)估帶寬,s表示多個(gè)rtp包的平均大小、R表示時(shí)延、p表示丟包率、b表示每隔b個(gè)rtp包發(fā)送一個(gè)TCP確認(rèn)、RT0表示TCP超時(shí)重傳的時(shí)間;
判斷所述當(dāng)前時(shí)刻的預(yù)估帶寬Ap、X之間的差值的大小,當(dāng)所述當(dāng)前時(shí)刻的預(yù)估帶寬Ap、X之間的差值小于第一預(yù)設(shè)閾值時(shí),取所述當(dāng)前時(shí)刻的預(yù)估帶寬Ap、X的平均值設(shè)置為當(dāng)前時(shí)刻的帶寬At。
進(jìn)一步地,所述帶寬自適應(yīng)方法還包括:
在當(dāng)前時(shí)刻的預(yù)估帶寬Ap、X之間的差值大于第一預(yù)設(shè)閾值時(shí),取所述當(dāng)前時(shí)刻的帶寬Ap、X中的較小值設(shè)置為當(dāng)前時(shí)刻的帶寬At。
進(jìn)一步地,所述帶寬自適應(yīng)方法還包括:
判斷所述當(dāng)前時(shí)刻的帶寬At與上一時(shí)刻的帶寬At-1之間的差異是否大于第二預(yù)設(shè)閾值,當(dāng)大于所述第二預(yù)設(shè)閾值時(shí),根據(jù)當(dāng)前時(shí)刻的帶寬更新編碼器的目標(biāo)碼率。
進(jìn)一步地,所述帶寬自適應(yīng)方法還包括:
所述預(yù)設(shè)條件還包括第三預(yù)設(shè)值<所述丟包率<所述第一預(yù)設(shè)值且所述時(shí)延>所述第二預(yù)設(shè)值、所述丟包率>所述第一預(yù)設(shè)值且第四預(yù)設(shè)值<所述時(shí)延<所述第二預(yù)設(shè)值,當(dāng)判斷出所述第三預(yù)設(shè)值<所述丟包率<所述第一預(yù)設(shè)值且所述時(shí)延>所述第二預(yù)設(shè)值、或者判斷出所述丟包率>所述第一預(yù)設(shè)值且所述第四預(yù)設(shè)值<所述時(shí)延<所述第二預(yù)設(shè)值時(shí),根據(jù)第三帶寬公式Ap=(1-k*p)*Ap-1+(rtt*b)計(jì)算當(dāng)前時(shí)刻的預(yù)估帶寬,其中,Ap表示當(dāng)前時(shí)刻的預(yù)估帶寬、Ap-1表示前一時(shí)刻的預(yù)估帶寬、p表示丟包率、rtt表示時(shí)延、k和b為常數(shù)、且滿足1>(1-k*p)>0,Ap<Ap-1。
進(jìn)一步地,所述帶寬自適應(yīng)方法還包括:
所述預(yù)設(shè)條件還包括所述丟包率<所述第三預(yù)設(shè)值且所述時(shí)延<所述第四預(yù)設(shè)值,當(dāng)判斷出所述丟包率<所述第三預(yù)設(shè)值且所述時(shí)延<所述第四預(yù)設(shè)值時(shí),根據(jù)第四帶寬公式Ap=k*Ap-1+(rtt*b)預(yù)估當(dāng)前時(shí)刻的帶寬,其中,Ap表示當(dāng)前時(shí)刻的預(yù)估帶寬、Ap-1表示前一時(shí)刻的預(yù)估帶寬、p表示丟包率、rtt表示時(shí)延、k和b為常數(shù)、滿足k>1,b>1,At>At-1。
進(jìn)一步地,所述帶寬自適應(yīng)方法還包括:
接收RTCP報(bào)文,所述RTCP報(bào)文包括所述丟包率、所述時(shí)延;
從所述RTCP報(bào)文獲取所述丟包率、所述時(shí)延。
進(jìn)一步地,所述帶寬自適應(yīng)方法還包括:
計(jì)算所述編碼器的當(dāng)前目標(biāo)碼率與當(dāng)前時(shí)刻的帶寬的比值γ;
判斷所述比值γ所處數(shù)值范圍,查詢所述比值γ所處數(shù)值范圍對(duì)應(yīng)的目標(biāo)碼率調(diào)節(jié)公式;
根據(jù)所述目標(biāo)碼率調(diào)節(jié)公式計(jì)算目標(biāo)碼率,根據(jù)所述計(jì)算出的目標(biāo)碼率對(duì)當(dāng)前目標(biāo)碼率進(jìn)行調(diào)節(jié),其中,所述目標(biāo)碼率調(diào)節(jié)公式為:目標(biāo)碼率=a*當(dāng)前預(yù)估帶寬,0<a<1。
進(jìn)一步地,所述帶寬自適應(yīng)方法還包括:
判斷所述調(diào)節(jié)后的目標(biāo)碼率所處的目標(biāo)碼率范圍,根據(jù)所述調(diào)節(jié)后的目標(biāo)碼率所處的目標(biāo)碼率范圍調(diào)整分辨率參數(shù)、幀率參數(shù)。
本發(fā)明提供的寬帶自適應(yīng)的控制系統(tǒng)及方法利用丟包率信息和時(shí)延信息進(jìn)行帶寬估算,能夠得到更為準(zhǔn)確的帶寬預(yù)算,即使在復(fù)雜網(wǎng)絡(luò)情況下也能提供高準(zhǔn)度的帶寬預(yù)估值,有效地進(jìn)行帶寬自動(dòng)調(diào)整,確保網(wǎng)絡(luò)信號(hào)的傳輸。本發(fā)明提供的寬帶自適應(yīng)的控制系統(tǒng)及方法還能計(jì)算編碼器當(dāng)前目標(biāo)碼率與當(dāng)前預(yù)估帶寬的比值,并根據(jù)比值所在的數(shù)值范圍對(duì)目標(biāo)碼率進(jìn)行調(diào)節(jié),根據(jù)調(diào)節(jié)后的目標(biāo)碼率對(duì)分辨率參數(shù)、幀率參數(shù)進(jìn)行調(diào)節(jié),確保在一定帶寬下,能夠傳輸音視頻的編碼數(shù)據(jù),提高編碼數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
附圖說明
圖1是本發(fā)明實(shí)施例一帶寬自適應(yīng)控制系統(tǒng)的應(yīng)用環(huán)境圖;
圖2是本發(fā)明實(shí)施例二控制設(shè)備的發(fā)送端的功能模塊圖;
圖3是本發(fā)明實(shí)施例三控制設(shè)備的發(fā)送端的功能模塊圖;
圖4是本發(fā)明實(shí)施例四編碼器的功能模塊圖;
圖5是本發(fā)明實(shí)施例五編碼器的功能模塊圖;
圖6是本發(fā)明實(shí)施例六寬帶自適應(yīng)控制方法的流程圖;
圖7是本發(fā)明實(shí)施例七寬帶自適應(yīng)控制方法的流程圖;
圖8是本發(fā)明實(shí)施例八寬帶自適應(yīng)控制方法的流程圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
請(qǐng)參閱圖1,圖1是本發(fā)明實(shí)施例一帶寬自適應(yīng)控制系統(tǒng)的應(yīng)用環(huán)境圖。圖1所示的帶寬自適應(yīng)控制系統(tǒng):控制設(shè)備的發(fā)送端10、控制設(shè)備的接收端20、以及編碼器1,發(fā)送端10與接收端20之間進(jìn)行數(shù)據(jù)通信,編碼器1與發(fā)送端之間進(jìn)行數(shù)據(jù)通信。
參閱圖2,圖2是本發(fā)明實(shí)施例二控制設(shè)備的發(fā)送端的功能模塊圖。圖2所示的控制設(shè)備的發(fā)送端10包括判斷模塊103、調(diào)整模塊105。下面對(duì)本實(shí)施例的控制設(shè)備的各功能模塊進(jìn)行詳細(xì)介紹。
判斷模塊103判斷丟包率、時(shí)延是否滿足預(yù)設(shè)條件,其中預(yù)設(shè)條件包括丟包率>第一預(yù)設(shè)值且時(shí)延>第二預(yù)設(shè)值。調(diào)整模塊105在判斷模塊103判斷出丟包率>第一預(yù)設(shè)值且時(shí)延>第二預(yù)設(shè)值時(shí),根據(jù)第一帶寬公式Ap=(1-k*p)*Ap-1-(rtt*b)預(yù)估當(dāng)前時(shí)刻的帶寬,其中,Ap表示當(dāng)前時(shí)刻的預(yù)估帶寬、Ap-1表示前一時(shí)刻的預(yù)測(cè)帶寬、p表示丟包率、rtt表示時(shí)延、k和b為常數(shù)、且滿足1>(1-k*p)>0,Ap<Ap-1,并根據(jù)第二帶寬公式預(yù)估當(dāng)前時(shí)刻的帶寬,第二帶寬公式為:其中,X表示當(dāng)前時(shí)刻的預(yù)估帶寬,s表示多個(gè)rtp包的平均大小、R表示時(shí)延、p表示丟包率、b表示每隔b個(gè)rtp包發(fā)送一個(gè)TCP確認(rèn)、RT0表示TCP超時(shí)重傳的時(shí)間,并判斷當(dāng)前時(shí)刻的預(yù)估帶寬Ap、X之間的差值的大小,當(dāng)當(dāng)前時(shí)刻的預(yù)估帶寬Ap、X之間的差值小于第一預(yù)設(shè)閾值時(shí),取當(dāng)前時(shí)刻的預(yù)估帶寬Ap、X的平均值設(shè)置為當(dāng)前時(shí)刻的帶寬At。需要補(bǔ)充說明的是,調(diào)整模塊105在當(dāng)前時(shí)刻的預(yù)估帶寬Ap、X之間的差值大于第一預(yù)設(shè)閾值時(shí),取當(dāng)前時(shí)刻的帶寬Ap、X中的較小值設(shè)置為當(dāng)前時(shí)刻的帶寬At。
需要補(bǔ)充說明的是,需要補(bǔ)充說明的是,當(dāng)丟包率p不為零時(shí),調(diào)整模塊105還基于第三帶寬公式計(jì)算預(yù)估帶寬Ap,具體過程如下:當(dāng)判斷模塊判斷出第三預(yù)設(shè)值<丟包率<第一預(yù)設(shè)值且時(shí)延>第二預(yù)設(shè)值、或者判斷出丟包率>第一預(yù)設(shè)值且第四預(yù)設(shè)值<時(shí)延<第二預(yù)設(shè)值時(shí),調(diào)整模塊,還用于根據(jù)第三帶寬公式Ap=(1-k*p)*Ap-1+(rtt*b)計(jì)算當(dāng)前時(shí)刻的預(yù)估帶寬,其中,Ap表示當(dāng)前時(shí)刻的預(yù)估帶寬、Ap-1表示前一時(shí)刻的預(yù)估帶寬、p表示丟包率、rtt表示時(shí)延、k和b為常數(shù)、且滿足1>(1-k*p)>0,Ap<Ap-1。
進(jìn)一步補(bǔ)充說明的是,當(dāng)丟包率p不為零時(shí),調(diào)整模塊105還基于第四帶寬公式計(jì)算預(yù)估帶寬Ap,具體過程如下:判斷模塊103判斷丟包率、時(shí)延是否滿足預(yù)設(shè)條件,預(yù)設(shè)條件還包括丟包率<第三預(yù)設(shè)值且時(shí)延<第四預(yù)設(shè)值,當(dāng)判斷模塊判斷出丟包率<第三預(yù)設(shè)值且時(shí)延<第四預(yù)設(shè)值時(shí),調(diào)整模塊,還用于根據(jù)第四帶寬公式Ap=k*Ap-1+(rtt*b)預(yù)估當(dāng)前時(shí)刻的帶寬,其中,Ap表示當(dāng)前時(shí)刻的預(yù)估帶寬、Ap-1表示前一時(shí)刻的預(yù)估帶寬、p表示丟包率、rtt表示時(shí)延、k和b為常數(shù)、滿足k>1,b>1,Ap>Ap-1。
當(dāng)判斷模塊103判斷出丟包率、時(shí)延不滿足預(yù)設(shè)條件,調(diào)整模塊105將前一時(shí)刻的帶寬預(yù)估為當(dāng)前時(shí)刻的帶寬,即Ap=Ap-1,其中,預(yù)設(shè)條件包括:丟包率>第一預(yù)設(shè)值且時(shí)延>第二預(yù)設(shè)值、第三預(yù)設(shè)值<丟包率<第一預(yù)設(shè)值且時(shí)延>第二預(yù)設(shè)值、丟包率>第一預(yù)設(shè)值且第四預(yù)設(shè)值<時(shí)延<第二預(yù)設(shè)值、丟包率<第三預(yù)設(shè)值且時(shí)延<第四預(yù)設(shè)值。
參閱圖3,圖3是本發(fā)明實(shí)施例三控制設(shè)備的發(fā)送端的功能模塊圖。
控制設(shè)備的發(fā)送端10包括獲取模塊101、判斷模塊103、調(diào)整模塊105。下面對(duì)個(gè)功能模塊進(jìn)行說明。獲取模塊101接收從接收端20發(fā)送的RTCP報(bào)文,并從RTCP報(bào)文獲取丟包率、時(shí)延,其中,RTCP報(bào)文包括當(dāng)前的丟包率信息、時(shí)延信息。判斷模塊103、調(diào)整模塊105的功能與圖2所示的判斷模塊103、調(diào)整模塊105的功能相同,在此不再贅述。
參閱圖4,圖4是本發(fā)明實(shí)施例四編碼器的功能模塊圖。圖4所示的編碼器1包括控制模塊2。控制模塊2判斷當(dāng)前時(shí)刻的帶寬At與上一時(shí)刻的帶寬At-1之間的差異是否大于第二預(yù)設(shè)閾值,當(dāng)大于第二預(yù)設(shè)閾值時(shí),根據(jù)當(dāng)前時(shí)刻的帶寬更新編碼器的目標(biāo)碼率。
參閱圖5,圖5是本發(fā)明實(shí)施例五編碼器的功能模塊圖。5所示的編碼器包括控制模塊2、參數(shù)調(diào)節(jié)模塊3。編碼器1的控制模塊2計(jì)算當(dāng)前目標(biāo)碼率與當(dāng)前時(shí)刻的帶寬的比值γ,判斷比值γ所處數(shù)值范圍,查詢比值γ所處數(shù)值范圍對(duì)應(yīng)的目標(biāo)碼率調(diào)節(jié)公式,根據(jù)目標(biāo)碼率調(diào)節(jié)公式計(jì)算目標(biāo)碼率,根據(jù)計(jì)算出的目標(biāo)碼率對(duì)當(dāng)前目標(biāo)碼率進(jìn)行調(diào)節(jié),其中,目標(biāo)碼率調(diào)節(jié)公式為:目標(biāo)碼率=a*當(dāng)前預(yù)估帶寬,0<a<1。舉例來說,在一般情況下,可以將γ的取值范圍劃分為多個(gè)數(shù)值范圍,例如,將數(shù)值劃分為γ<0.5、0.5<=γ<0.6、0.6<=γ<0.7、0.7<=γ<0.8、0.8<=γ<0.9、0.9<=γ。在劃分?jǐn)?shù)值范圍的同時(shí),設(shè)置每個(gè)數(shù)值范圍對(duì)應(yīng)的目標(biāo)碼率計(jì)算公式,設(shè)置公式如下:
為γ<0.5區(qū)間設(shè)置的公式為:目標(biāo)碼率等于0.5乘以所述當(dāng)前預(yù)估帶寬所得的值;
為0.5<=γ<0.6區(qū)間設(shè)置的公式為:目標(biāo)碼率等于0.55乘以所述當(dāng)前預(yù)估帶寬所得的值;
為0.6<=γ<0.7區(qū)間設(shè)置的公式為:目標(biāo)碼率等于0.65乘以所述當(dāng)前預(yù)估帶寬所得的值;
為0.7<=γ<0.8區(qū)間設(shè)置的公式為:目標(biāo)碼率等于0.75乘以當(dāng)前預(yù)估帶寬所得的值;
為0.8<=γ<0.9區(qū)間設(shè)置的公式為:前目標(biāo)碼率調(diào)整為0.85乘以當(dāng)前時(shí)刻的預(yù)估帶寬所得的值;
為0.9<=γ<1區(qū)間設(shè)置的公式為:目標(biāo)碼率調(diào)整為0.9乘以當(dāng)前時(shí)刻的預(yù)估帶寬所得的值。
當(dāng)γ<0.5時(shí),控制模塊2將所述當(dāng)前目標(biāo)碼率調(diào)整為0.5乘以所述當(dāng)前預(yù)估帶寬所得的值;
當(dāng)0.5<=γ<0.6時(shí),控制模塊2將所述當(dāng)前目標(biāo)碼率調(diào)整為0.55乘以所述當(dāng)前預(yù)估帶寬所得的值;
當(dāng)0.6<=γ<0.7時(shí),控制模塊2將所述當(dāng)前目標(biāo)碼率調(diào)整為0.65乘以所述當(dāng)前預(yù)估帶寬所得的值;
當(dāng)0.7<=γ<0.8時(shí),控制模塊2將所述當(dāng)前目標(biāo)碼率調(diào)整為0.75乘以當(dāng)前預(yù)估帶寬所得的值;
當(dāng)0.8<=γ<0.9時(shí),控制模塊2將所述當(dāng)前目標(biāo)碼率調(diào)整為0.85乘以當(dāng)前時(shí)刻的預(yù)估帶寬所得的值;
當(dāng)0.9<=γ時(shí),控制模塊2將所述當(dāng)前目標(biāo)碼率調(diào)整為0.9乘以當(dāng)前時(shí)刻的預(yù)估帶寬所得的值。
編碼器1的參數(shù)調(diào)節(jié)模塊3判斷調(diào)節(jié)后的目標(biāo)碼率所處的目標(biāo)碼率范圍,根據(jù)調(diào)節(jié)后的目標(biāo)碼率所處的目標(biāo)碼率范圍調(diào)整分辨率參數(shù)、幀率參數(shù)。舉例來說,當(dāng)所述目標(biāo)碼率大于2048kbps時(shí),所述參數(shù)調(diào)節(jié)模塊3將分辨率調(diào)整為1080P、將幀率調(diào)整為25或者30幀/秒,當(dāng)所述目標(biāo)碼率小于等于2048kbps且所述目標(biāo)碼率大于1024kbps時(shí),參數(shù)調(diào)節(jié)模塊3將分辨率調(diào)整為720P、將幀率調(diào)整為25或者30幀/秒,當(dāng)所述目標(biāo)碼率小于等于1024kbps且所述目標(biāo)碼率大于512kbps時(shí),參數(shù)調(diào)節(jié)模塊3將分辨率調(diào)整為4CIF/D1/VGA、將幀率調(diào)整為25或者30幀/秒,當(dāng)所述目標(biāo)碼率小于等于512kbps且所述目標(biāo)碼率大于128kbps時(shí),參數(shù)調(diào)節(jié)模塊3將分辨率調(diào)整為CIF、將幀率調(diào)整為25或者30幀/秒,當(dāng)所述目標(biāo)碼率小于等于128kbps時(shí),參數(shù)調(diào)節(jié)模塊3將分辨率調(diào)整為QCIF、將幀率調(diào)整為15或者20幀/秒。
本發(fā)明還提供帶寬自適應(yīng)的控制方法,下面進(jìn)行詳細(xì)介紹。
參閱圖6,圖6是本發(fā)明實(shí)施例六帶寬自適應(yīng)的控制方法的流程圖。
在步驟S601中,發(fā)送端10接收從接收端傳輸?shù)腞TCP報(bào)文。
在步驟S602中,發(fā)送端10的獲取模塊101從RTCP報(bào)文中分析出RTT,丟包率p,包大小和抖動(dòng)等信息。
在步驟S603中,接收端10的判斷模塊103判斷丟包率p是否為零。
在步驟S607中,當(dāng)丟包率p為零時(shí),選擇REMB報(bào)文中的預(yù)估帶寬作為預(yù)測(cè)帶寬,即接收端10根據(jù)卡爾曼濾波器估算出的帶寬,并進(jìn)入步驟612。
在步驟611中,調(diào)整模塊105判斷在步驟S608中選擇的預(yù)測(cè)帶寬和當(dāng)前的帶寬是否不同,當(dāng)不同時(shí),即發(fā)生變化的時(shí)候,更新帶寬,調(diào)整編碼器的目標(biāo)碼率。
在步驟S604中,當(dāng)丟包率p不為零時(shí),調(diào)整模塊105基于第一帶寬公式計(jì)算預(yù)估帶寬Ap,具體地計(jì)算過程如下:判斷模塊103判斷丟包率、時(shí)延是否滿足預(yù)設(shè)條件,其中預(yù)設(shè)條件包括丟包率>第一預(yù)設(shè)值且時(shí)延>第二預(yù)設(shè)值,調(diào)整模塊105判斷模塊判斷出丟包率>第一預(yù)設(shè)值且時(shí)延>第二預(yù)設(shè)值時(shí),根據(jù)第一帶寬公式Ap=(1-k*p)*Ap-1-(rtt*b)預(yù)估當(dāng)前時(shí)刻的帶寬,其中,Ap表示當(dāng)前時(shí)刻的預(yù)估帶寬、Ap-1表示前一時(shí)刻的預(yù)測(cè)帶寬、p表示丟包率、rtt表示時(shí)延、k和b為常數(shù)、且滿足1>(1-k*p)>0,Ap<Ap-1。
在步驟S605中,當(dāng)丟包率p不為零時(shí),調(diào)整模塊105基于第二帶寬公式計(jì)算預(yù)估帶寬,具體地,第二帶寬公式為:
其中,X表示當(dāng)前時(shí)刻的預(yù)估帶寬,s表示多個(gè)rtp包的平均大小、R表示時(shí)延、p表示丟包率、b表示每隔b個(gè)rtp包發(fā)送一個(gè)TCP確認(rèn)、RT0表示TCP超時(shí)重傳的時(shí)間。
需要補(bǔ)充說明的是,在步驟S604中,當(dāng)丟包率p不為零時(shí),調(diào)整模塊105還基于第三帶寬公式計(jì)算預(yù)估帶寬Ap,具體過程如下:當(dāng)判斷模塊判斷出第三預(yù)設(shè)值<丟包率<第一預(yù)設(shè)值且時(shí)延>第二預(yù)設(shè)值、或者判斷出丟包率>第一預(yù)設(shè)值且第四預(yù)設(shè)值<時(shí)延<第二預(yù)設(shè)值時(shí),調(diào)整模塊,還用于根據(jù)第三帶寬公式Ap=(1-k*p)*Ap-1+(rtt*b)計(jì)算當(dāng)前時(shí)刻的預(yù)估帶寬,其中,Ap表示當(dāng)前時(shí)刻的預(yù)估帶寬、Ap-1表示前一時(shí)刻的預(yù)估帶寬、p表示丟包率、rtt表示時(shí)延、k和b為常數(shù)、且滿足1>(1-k*p)>0,Ap<Ap-1。
進(jìn)一步補(bǔ)充說明的是,在步驟S604中,當(dāng)丟包率p不為零時(shí),調(diào)整模塊105還基于第四帶寬公式計(jì)算預(yù)估帶寬Ap,具體過程如下:判斷模塊103判斷丟包率、時(shí)延是否滿足預(yù)設(shè)條件,預(yù)設(shè)條件還包括丟包率<第三預(yù)設(shè)值且時(shí)延<第四預(yù)設(shè)值,當(dāng)判斷模塊判斷出丟包率<第三預(yù)設(shè)值且時(shí)延<第四預(yù)設(shè)值時(shí),調(diào)整模塊,還用于根據(jù)第四帶寬公式Ap=k*Ap-1+(rtt*b)預(yù)估當(dāng)前時(shí)刻的帶寬,其中,Ap表示當(dāng)前時(shí)刻的預(yù)估帶寬、Ap-1表示前一時(shí)刻的預(yù)估帶寬、p表示丟包率、rtt表示時(shí)延、k和b為常數(shù)、滿足k>1,b>1,Ap>Ap-1。
當(dāng)判斷模塊103判斷出丟包率、時(shí)延不滿足預(yù)設(shè)條件,調(diào)整模塊105將前一時(shí)刻的帶寬預(yù)估為當(dāng)前時(shí)刻的帶寬,即Ap=Ap-1,其中,預(yù)設(shè)條件包括:丟包率>第一預(yù)設(shè)值且時(shí)延>第二預(yù)設(shè)值、第三預(yù)設(shè)值<丟包率<第一預(yù)設(shè)值且時(shí)延>第二預(yù)設(shè)值、丟包率>第一預(yù)設(shè)值且第四預(yù)設(shè)值<時(shí)延<第二預(yù)設(shè)值、丟包率<第三預(yù)設(shè)值且時(shí)延<第四預(yù)設(shè)值。
在步驟S606中,調(diào)整模塊105判斷當(dāng)前時(shí)刻的預(yù)估帶寬Ap、X之間的差值的大小。具體地,判斷預(yù)測(cè)帶寬Ap、X是否滿足公式(Ap-X)*2/(Ap+X)>6%。
在步驟S608中,調(diào)整模塊105在當(dāng)前時(shí)刻的預(yù)估帶寬Ap、X之間的差值大于第一預(yù)設(shè)閾值時(shí),取當(dāng)前時(shí)刻的帶寬Ap、X中的較小值設(shè)置為當(dāng)前時(shí)刻的帶寬At。具體地,當(dāng)Ap、X滿足公式(Ap-X)*2/(Ap+X)>6%時(shí),取當(dāng)前時(shí)刻的帶寬Ap、X中的較小值設(shè)置為當(dāng)前時(shí)刻的帶寬At。
在步驟S609中,當(dāng)當(dāng)前時(shí)刻的預(yù)估帶寬Ap、X之間的差值小于第一預(yù)設(shè)閾值時(shí),取當(dāng)前時(shí)刻的預(yù)估帶寬Ap、X的平均值設(shè)置為當(dāng)前時(shí)刻的帶寬At。具體地,當(dāng)Ap、X不滿足公式(Ap-X)*2/(Ap+X)>6%時(shí),取當(dāng)前時(shí)刻的帶寬Ap、X中的平均值設(shè)置為當(dāng)前時(shí)刻的帶寬At。
在步驟S610中,編碼器1的控制模塊2判斷當(dāng)前時(shí)刻的帶寬At與上一時(shí)刻的帶寬At-1之間的差異是否大于第二預(yù)設(shè)閾值。具體地,判斷|(At-At-1)/At-1|>10%是否成立。
在步驟S611中,當(dāng)大于第二預(yù)設(shè)閾值時(shí),編碼器1的控制模塊2根據(jù)當(dāng)前時(shí)刻的帶寬更新編碼器的目標(biāo)碼率。具體地,當(dāng)|(At-At-1)/At-1||>10%成立時(shí),根據(jù)當(dāng)前時(shí)刻的帶寬At調(diào)整編碼器的目標(biāo)碼率、更新帶寬。
參閱圖7,圖7是本發(fā)明實(shí)施例七帶寬自適應(yīng)的控制方法的流程圖。
在步驟S701中,接收端10的獲取模塊101獲取發(fā)生端20發(fā)送的RTCP報(bào)文,其中,RTCP其中,RTCP報(bào)文包括當(dāng)前的丟包率信息、時(shí)延信息包括當(dāng)前的丟包率信息、時(shí)延信息,接收端10的獲取模塊101從RTCP報(bào)文中獲取當(dāng)前的丟包率p和時(shí)延rtt。
在步驟S703中,接收端10的判斷模塊103判斷丟包率p、時(shí)延rrt滿足的條件。
在步驟S705中,判斷模塊判斷出丟包率>第一預(yù)設(shè)值且時(shí)延>第二預(yù)設(shè)值,則進(jìn)入步驟S713,舉例來說,如果預(yù)設(shè)條件為p>8%&&rtt>8毫秒,在步驟S705中,判斷出獲取丟包率p>8%、且獲取的時(shí)延rtt>8毫秒,則進(jìn)入步驟S713。
在步驟S713中,調(diào)整模塊105根據(jù)帶寬公式At=(1-k*p)*At-1-(rtt*b)預(yù)估當(dāng)前時(shí)刻的帶寬,其中,At表示當(dāng)前時(shí)刻的帶寬、At-1表示前一時(shí)刻的帶寬、p表示丟包率、rtt表示時(shí)延、k和b為常數(shù)、且滿足1>(1-k*p)>0,At<At-1,舉例來說帶寬公式可為At=(1-0.8p)*At-1-(rtt*150),根據(jù)計(jì)算出的帶寬進(jìn)行帶寬調(diào)節(jié)。
在步驟S707中,判斷模塊103判斷出第三預(yù)設(shè)值<丟包率<第一預(yù)設(shè)值且時(shí)延>第二預(yù)設(shè)值、或者判斷出丟包率>第一預(yù)設(shè)值且第四預(yù)設(shè)值<時(shí)延<第二預(yù)設(shè)值,則進(jìn)入步驟S415,例如,在步驟S707中判斷出2%<當(dāng)前的丟包率p<8%且當(dāng)前時(shí)延rtt>8毫秒、或者當(dāng)前丟包率p>8%且4毫秒<當(dāng)前的時(shí)延rtt<8毫秒,則進(jìn)入步驟S715。
在步驟S715中,調(diào)整模塊105根據(jù)帶寬公式At=(1-k*p)*At-1+(rtt*b)預(yù)估當(dāng)前時(shí)刻的帶寬,其中,At表示當(dāng)前時(shí)刻的帶寬、At-1表示前一時(shí)刻的帶寬、p表示丟包率、rtt表示時(shí)延、k和b為常數(shù)、且滿足1>(1-k*p)>0,At<At-1,,例如帶寬公式可為At=(1-0.6p)*At-1+(rtt*100),根據(jù)計(jì)算出的帶寬進(jìn)行帶寬調(diào)節(jié)。
在步驟S709中,判斷模塊103判斷出丟包率<第三預(yù)設(shè)值且時(shí)延<第四預(yù)設(shè)值,則進(jìn)入步驟S717,例如判斷出當(dāng)前的丟包率p<2%且當(dāng)前的時(shí)延rrt<4毫秒,則進(jìn)入步驟S717。
在步驟S717中,調(diào)整模塊105根據(jù)帶寬公式At=k*At-1+(rtt*b)預(yù)估當(dāng)前時(shí)刻的帶寬,其中,At表示當(dāng)前時(shí)刻的帶寬、At-1表示前一時(shí)刻的帶寬、p表示丟包率、rtt表示時(shí)延、k和b為常數(shù)、滿足k>1,b>1,At>At-1。舉例來說,帶寬公式可為At=(1.04)*At-1+(rtt*200),根據(jù)計(jì)算出的帶寬進(jìn)行帶寬調(diào)節(jié)。
在步驟S711中,判斷出丟包率、時(shí)延不滿足條件,進(jìn)入步驟S719,丟包率、時(shí)延不滿足條件即不滿足丟包率>第一預(yù)設(shè)值且時(shí)延>第二預(yù)設(shè)值、第三預(yù)設(shè)值<丟包率<第一預(yù)設(shè)值且時(shí)延>第二預(yù)設(shè)值、丟包率>第一預(yù)設(shè)值且第四預(yù)設(shè)值<時(shí)延<第二預(yù)設(shè)值、丟包率<第三預(yù)設(shè)值且時(shí)延<第四預(yù)設(shè)值,舉例來說,判斷出不能滿足p>8%且rtt>8毫秒、2%<p<8%且rtt>8毫秒、或者p>8%且4毫秒<rtt<8毫秒、p<2%&&rtt<4毫秒。
在步驟S719中,調(diào)整模塊105將前一時(shí)刻的帶寬預(yù)估為當(dāng)前時(shí)刻的帶寬,根據(jù)計(jì)算出的帶寬進(jìn)行帶寬調(diào)節(jié)。
參閱圖8,圖8是本發(fā)明實(shí)施例八帶寬自適應(yīng)的控制方法的流程圖。
控制模塊2計(jì)算當(dāng)前目標(biāo)碼率與當(dāng)前預(yù)估帶寬的比值γ,判斷比值γ所處數(shù)值范圍,查詢比值γ所處數(shù)值范圍對(duì)應(yīng)的目標(biāo)碼率調(diào)節(jié)公式,根據(jù)目標(biāo)碼率調(diào)節(jié)公式計(jì)算目標(biāo)碼率,根據(jù)計(jì)算出的目標(biāo)碼率對(duì)當(dāng)前目標(biāo)碼率進(jìn)行調(diào)節(jié),其中,目標(biāo)碼率調(diào)節(jié)公式為:目標(biāo)碼率=a*當(dāng)前預(yù)估帶寬,0<a<1。補(bǔ)充說明的是,在不同的數(shù)值范圍,a對(duì)應(yīng)的數(shù)值是不同的。本實(shí)施例中的具體流程如下:
在步驟S11中,調(diào)整編碼器,更新目標(biāo)碼率。
在步驟S12中,編碼器1的控制模塊2獲取目標(biāo)碼率D、預(yù)測(cè)帶寬p,控制模塊2計(jì)算當(dāng)前目標(biāo)碼率D與當(dāng)前預(yù)估帶寬At的比值γ,判斷比值γ所處數(shù)值范圍。
在步驟S13中,控制模塊2判斷出述比值γ<0.5,進(jìn)入步驟S19。
在步驟S19中,控制模塊2根據(jù)目標(biāo)碼率調(diào)節(jié)公式計(jì)算目標(biāo)碼率,其中目標(biāo)碼率調(diào)節(jié)公式為:目標(biāo)碼率=0.5*預(yù)測(cè)帶寬At。
在步驟S14中,控制模塊2判斷出述比值0.5<=γ<0.6,進(jìn)入步驟S20。
在步驟S20中,控制模塊2根據(jù)目標(biāo)碼率調(diào)節(jié)公式計(jì)算目標(biāo)碼率,其中目標(biāo)碼率調(diào)節(jié)公式為:目標(biāo)碼率=0.55*預(yù)測(cè)帶寬At。
在步驟S15中,控制模塊2判斷出述比值0.6<=γ<0.7,進(jìn)入步驟S21。
在步驟S21中,控制模塊2根據(jù)目標(biāo)碼率調(diào)節(jié)公式計(jì)算目標(biāo)碼率,其中目標(biāo)碼率調(diào)節(jié)公式為:目標(biāo)碼率=0.65*預(yù)測(cè)帶寬At。
在步驟S16中,控制模塊2判斷出述比值0.7<=γ<0.8,進(jìn)入步驟S22。
在步驟S22中,控制模塊2根據(jù)目標(biāo)碼率調(diào)節(jié)公式計(jì)算目標(biāo)碼率,其中目標(biāo)碼率調(diào)節(jié)公式為:目標(biāo)碼率=0.75*預(yù)測(cè)帶寬At。
在步驟S17中,控制模塊2判斷出述比值0.8<=γ<0.9,進(jìn)入步驟S23。
在步驟S23中,控制模塊2根據(jù)目標(biāo)碼率調(diào)節(jié)公式計(jì)算目標(biāo)碼率,其中目標(biāo)碼率調(diào)節(jié)公式為:目標(biāo)碼率=0.85*預(yù)測(cè)帶寬At。
在步驟S18中,控制模塊2判斷出述比值0.9=<γ,進(jìn)入步驟S24。
在步驟S24中,控制模塊2根據(jù)目標(biāo)碼率調(diào)節(jié)公式計(jì)算目標(biāo)碼率,其中目標(biāo)碼率調(diào)節(jié)公式為:目標(biāo)碼率=0.9*預(yù)測(cè)帶寬At。
為了防止太過頻繁地調(diào)整分辨率和幀率等編碼參數(shù),參數(shù)調(diào)節(jié)模塊3判斷當(dāng)前目標(biāo)碼率是否在預(yù)設(shè)時(shí)間段內(nèi)或者是否連續(xù)預(yù)設(shè)次數(shù)維持在同一目標(biāo)碼率范圍內(nèi),當(dāng)目標(biāo)碼率在預(yù)設(shè)時(shí)間段內(nèi)或者連續(xù)預(yù)設(shè)次數(shù)維持在同一目標(biāo)碼率范圍內(nèi)、且調(diào)節(jié)后的目標(biāo)碼率與當(dāng)前的目標(biāo)碼率所處的目標(biāo)碼率范圍不同時(shí),根據(jù)調(diào)節(jié)后的目標(biāo)碼率所處的目標(biāo)碼率范圍調(diào)整分辨率參數(shù)、幀率參數(shù)。在本實(shí)施了中具體步驟如下:
在步驟S25中,參數(shù)調(diào)節(jié)模塊3判斷目標(biāo)碼率是否在一個(gè)目標(biāo)碼率范圍內(nèi)維持至少2分鐘或者連續(xù)20次以上,并且判斷調(diào)節(jié)后的目標(biāo)碼率與調(diào)節(jié)前的目標(biāo)碼率是否不在同一目標(biāo)碼率范圍內(nèi)。
當(dāng)目標(biāo)碼率在一個(gè)目標(biāo)碼率范圍內(nèi)維持至少2分鐘或者連續(xù)20次以上,并且調(diào)節(jié)后的目標(biāo)碼率與調(diào)節(jié)前的目標(biāo)碼率不在同一目標(biāo)碼率范圍內(nèi)時(shí),在步驟S26中,參數(shù)調(diào)節(jié)模塊3根據(jù)調(diào)節(jié)后的目標(biāo)碼率所處的目標(biāo)碼率范圍調(diào)整分辨率參數(shù)、幀率參數(shù)。具體調(diào)整步驟如下:
在步驟S27中,當(dāng)參數(shù)調(diào)節(jié)模塊3判斷出目標(biāo)碼率大于2048kbps時(shí),即BW>2M,參數(shù)調(diào)節(jié)模塊3將分辨率調(diào)整為1080P、將幀率調(diào)整為25或者30幀/秒。
在步驟S28中,當(dāng)參數(shù)調(diào)節(jié)模塊3判斷出目標(biāo)碼率小于等于2048kbps且目標(biāo)碼率大于1024kbps時(shí),即1M<BW<=2M時(shí),參數(shù)調(diào)節(jié)模塊3將分辨率調(diào)整為720P、將幀率調(diào)整為25或者30幀/秒。
在步驟S29中,當(dāng)參數(shù)調(diào)節(jié)模塊3判斷出目標(biāo)碼率小于等于1024kbps且目標(biāo)碼率大于512kbps時(shí),即512K<BW<=1M時(shí),參數(shù)調(diào)節(jié)模塊3將分辨率調(diào)整為4CIF/D1/VGA、將幀率調(diào)整為25或者30幀/秒。
在步驟S30中,當(dāng)目標(biāo)碼率小于等于512kbps且目標(biāo)碼率大于128kbps時(shí),即1M<BW<=2M時(shí),參數(shù)調(diào)節(jié)模塊3將分辨率調(diào)整為CIF、將幀率調(diào)整為25或者30幀/秒。
在步驟S31中,當(dāng)目標(biāo)碼率小于等于128kbps時(shí),即BW<=128K時(shí),參數(shù)調(diào)節(jié)模塊3將分辨率調(diào)整為QCIF、將幀率調(diào)整為15或者20幀/秒。
本發(fā)明提供的寬帶自適應(yīng)的控制系統(tǒng)及方法利用丟包率信息和時(shí)延信息進(jìn)行帶寬估算,能夠得到更為準(zhǔn)確的帶寬預(yù)算,即使在復(fù)雜網(wǎng)絡(luò)情況下也能提供高準(zhǔn)度的帶寬預(yù)估值,有效地進(jìn)行帶寬自動(dòng)調(diào)整,確保網(wǎng)絡(luò)信號(hào)的傳輸。本發(fā)明提供的寬帶自適應(yīng)的控制系統(tǒng)及方法還能計(jì)算編碼器當(dāng)前目標(biāo)碼率與當(dāng)前預(yù)估帶寬的比值,并根據(jù)比值所在的數(shù)值范圍對(duì)目標(biāo)碼率進(jìn)行調(diào)節(jié),根據(jù)調(diào)節(jié)后的目標(biāo)碼率對(duì)分辨率參數(shù)、幀率參數(shù)進(jìn)行調(diào)節(jié),確保在一定帶寬下,能夠傳輸音視頻的編碼數(shù)據(jù),提高編碼數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
以上僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。