專利名稱:碼率控制算法的選擇方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通訊領(lǐng)域,尤其涉及一種碼率控制算法的選擇方法和裝置。
背景技術(shù):
在多4某體應(yīng)用中,碼率控制是構(gòu)成視頻通信系統(tǒng)的一個重要部分。它被 用來使編碼器產(chǎn)生的比特率和信道相適應(yīng),并盡量提高編碼圖像的質(zhì)量。需 要碼率控制的本質(zhì)原因是由信源、信道兩方面的特性決定。
首先,由于圖像內(nèi)容的千差萬別,經(jīng)過視頻編碼后的碼率也會有很大差
異,這種不斷變化的碼率和信道很難有一個好的匹配;其次,多媒體通信中 的信道有有線電纜、衛(wèi)星鏈路,同時也有具有時變特性的網(wǎng)絡(luò)及無線信道, 各種信道特性也各不相同,這也使得兩者的匹配非常困難。隨著多媒體業(yè)務(wù) 的廣泛應(yīng)用,根據(jù)場景及實際應(yīng)用環(huán)境,進行自適應(yīng)調(diào)整的碼率控制算法的 重要性也日益凸顯。
現(xiàn)有技術(shù)中提供了以下幾種碼率控制算法,包括H.263的TMN8 (Video Codec Test Model, Near-Term, Version 8 )算法和TMN5算法、以及JVT (Joint Video Team) -G012算法等。
對于TMN8算法,為低碼率視頻編碼標準H.263所采用的碼率控制技術(shù)。 TMN8碼率控制包括二個步驟(1)幀層目標比特率分配;(2)在宏塊層進 行自適應(yīng)的量化。TMN8算法最初是針對H.263中的P幀才莫型而i殳計的,該 模型對I幀來說粗略。然而,在實際視頻編碼應(yīng)用中,由于提高碼流的抗差錯 能力和靈活回放,不可避免地采用I幀編碼。因而,TMN8在實際應(yīng)用中具有 一定的局限性。另外,由于TMN8算法需要計算每個宏塊的方差,因此計算 復(fù)雜度較大,不能很好地滿足實時性要求。最后,在場景切換豐支為頻繁的情況下,比如廣播電視場景,由于每幀基本上平均分配比特數(shù),容易造成圖像 的閃爍效應(yīng)。
對于TMN5算法,其通過計算虛擬緩沖區(qū)的充盈程度來調(diào)節(jié)量化參數(shù)與 跳幀,這在信道穩(wěn)定時是有效的,但如果信道不穩(wěn)定,或信道的傳輸速率小 于設(shè)定的目標碼率時編碼碼流就會在緩沖區(qū)積壓而產(chǎn)生延時,嚴重時緩沖區(qū) 溢出使碼率控制失敗。另外,該算法基于理想信道,并沒有考慮人眼視覺特 性。
對于JVT-G012算法,該算法的模型為R-D (Rate-Distortion,率失真) 模型,復(fù)雜度較大,不宜在硬件資源、性能有限的情況下的應(yīng)用。
現(xiàn)有技術(shù)中存在的問題在于,對于可以使用的多種碼率控制算法,未給 出如何自適應(yīng)的進行碼率控制算法的選擇和調(diào)整的方法。
發(fā)明內(nèi)容
本發(fā)明提供一種碼率控制算法的選擇方法和裝置,用于根據(jù)各個碼率控 制算法的優(yōu)點和適用范圍,自適應(yīng)的選擇和調(diào)整最佳的碼率控制算法,滿足 編碼器系統(tǒng)在性能延時、場景復(fù)雜度、帶寬等方面對碼率控制算法的要求。
本發(fā)明提供了一種碼率控制算法的選擇方法,包括
獲取編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的兩種以上
參數(shù);
根據(jù)所述編碼器的類型以及預(yù)設(shè)的權(quán)值,對所獲取的^t進行加權(quán); 根據(jù)預(yù)"^殳的不同碼率控制算法對應(yīng)的數(shù)值范圍、以及所述加權(quán)結(jié)果,獲
取所述編碼器所使用的碼率控制算法。
其中,所述根據(jù)所述編碼器的類型以及預(yù)設(shè)的權(quán)值,對所獲取的參數(shù)進
行加權(quán),包括
所述根據(jù)所述編碼器的類型以及預(yù)設(shè)的權(quán)值,獲取每一所選參數(shù)對應(yīng)的權(quán)值;
將各所獲取的參數(shù)與其對應(yīng)的權(quán)值相乘后求和,得到加權(quán)結(jié)果。
其中,所述根據(jù)預(yù)設(shè)的不同碼率控制算法對應(yīng)的數(shù)值范圍、以及所述加權(quán)結(jié)果,獲取所述編碼器所使用的碼率控制算法,包括
對于每一可用的碼率控制算法,分別設(shè)置其使用的加權(quán)結(jié)果取值范圍;
獲取所述加權(quán)結(jié)果所在的加權(quán)結(jié)果取值范圍,將所述加權(quán)結(jié)果取值范圍對應(yīng)的碼率控制算法,作為所述編碼器所使用的碼率控制算法。
其中,所述碼率控制算法包括TMN8算法和TMN5算法以及JVT-G012算法中的至少兩種。
其中,所述獲取編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的兩種以上參數(shù),具體包括
判斷當前時間是否到達預(yù)設(shè)的獲取周期,到達預(yù)設(shè)的獲取周期時,獲取編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的兩種以上參數(shù);或
判斷編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的任一參數(shù)的變化超過預(yù)設(shè)的閾值時,獲取編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的兩種以上參數(shù)。
本發(fā)明還提供一種碼率控制算法的選擇裝置,包括
參數(shù)獲取單元,用于獲取編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的兩種以上參數(shù);
加權(quán)結(jié)果獲取單元,用于根據(jù)所述編碼器的類型以及預(yù)設(shè)的權(quán)值,對所述參數(shù)獲取單元獲取的參數(shù)進行加權(quán);
算法選擇單元,用于根據(jù)預(yù)設(shè)的不同碼率控制算法對應(yīng)的數(shù)值范圍、以及所述加權(quán)結(jié)果獲取單元獲取的加權(quán)結(jié)果,獲取所述編碼器所使用的碼率控制算法。
其中,所述加權(quán)結(jié)果獲取單元包括權(quán)值設(shè)置子單元,用于所述根據(jù)所述編碼器的類型以及預(yù)設(shè)的權(quán)值,選
#^每一所選參數(shù)對應(yīng)的才又值;
加權(quán)子單元,用于將各所獲取的參數(shù)與其在權(quán)值設(shè)置子單元中對應(yīng)的權(quán)值相乘后求和,得到加權(quán)結(jié)果。
其中,所述算法選擇單元包括
取值范圍設(shè)置子單元,用于對于每一可用的碼率控制算法,分別設(shè)置其使用的加權(quán)結(jié)果取值范圍;
算法選擇子單元,用于根據(jù)所述取值范圍設(shè)置子單元設(shè)置的碼率控制算法對應(yīng)的加權(quán)結(jié)果取值范圍,獲取所述加權(quán)結(jié)果所在的加權(quán)結(jié)果取值范圍,將所述加權(quán)結(jié)果取值范圍對應(yīng)的碼率控制算法,作為所述編碼器所使用的碼率控制算法。
其中,所述碼率控制算法包括TMN8算法和TMN5算法以及JVT-G012算法中的至少兩種。
其中,所述參數(shù)獲取單元具體用于
判斷當前時間是否到達預(yù)設(shè)的獲取周期,到達預(yù)設(shè)的獲取周期時,獲取編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的兩種以上參數(shù);或
判斷編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的任一參數(shù)的變化超過預(yù)設(shè)的閾值時,獲取編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、
帶寬參數(shù)中的兩種以上參數(shù)。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點
根據(jù)編碼器的各個參數(shù)進行加權(quán)運算,根據(jù)加權(quán)運算結(jié)果進行碼率控制算法的選擇,從而可以根據(jù)各個碼率控制算法的優(yōu)點和適用范圍,自適應(yīng)的選擇和調(diào)整最佳的碼率控制算法,滿足了編碼器系統(tǒng)在性能延時、場景復(fù)雜度、帶寬等方面對碼率控制算法的要求。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的 一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明提供的碼率控制算法的選擇方法的流程圖2是本發(fā)明涉及的三種碼率控制算法的延時以及所耗費的性能的示意
圖3是本發(fā)明中提供的碼率控制算法在編碼器中的應(yīng)用示意圖;圖4是本發(fā)明 一個應(yīng)用場景中碼率控制算法的選擇方法的流程圖;圖5是本發(fā)明中提供的碼率控制算法的選擇裝置的結(jié)構(gòu)示意圖。
具體實施例方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例^f義是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。本發(fā)明提供了一種碼率控制算法的選擇方法,如圖1所示,包括步驟s101、獲取編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的兩種以上參數(shù)。
步驟s102、根據(jù)編碼器的類型以及預(yù)設(shè)的權(quán)值,對所獲取的參數(shù)進行加權(quán)。
步驟s103、根據(jù)預(yù)設(shè)的不同碼率控制算法對應(yīng)的數(shù)值范圍、以及加權(quán)結(jié)果,獲取編碼器所使用的碼率控制算法。
上述流程中,步驟sl01的執(zhí)行可以為定時的周期執(zhí)行,或在性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的任一參數(shù)的變化超過閾值時執(zhí)行,從而使得所選的碼率控制算法能夠根據(jù)使用環(huán)境的變化實時更新。本發(fā)明的核心思想在于,對于現(xiàn)有的已存在的碼率控制算法,由于其適用的場景不同,因此綜合考慮編碼器系統(tǒng)的性能延時^、場景復(fù)雜度參數(shù)、帶寬參數(shù)等參數(shù),一般可以選擇歸一化的參數(shù),選擇合適的碼率控制算法。使得在性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)等不斷變化的同時,自適應(yīng)的選擇合適的碼率控制算法,從而使得輸出的視頻圖像質(zhì)量達到最佳。
以下結(jié)合具體的應(yīng)用場景對本發(fā)明的具體實施方式
進行說明。以TMN5碼率控制算法、TMN8碼率控制算法和JVT-G012碼率控制算法為例。上述三種技術(shù)方案所述算法,根據(jù)算法復(fù)雜度的不同,所引入的延時以及所耗費的性能也不同,如圖2所示。具體分析如下
TMN5碼率控制算法缺乏對人眼視覺的考慮,在場景變換較大的情況下,PSNR (Peak Signal to Noise Ratio,峰值信噪比)以及碼率不平穩(wěn),波動大。但是,其優(yōu)點就是算法和實現(xiàn)筒單,對性能的占有率較低,造成的系統(tǒng)延時較小。
TMN8碼率控制算法相對于TMN5更精確地控制目標碼率,保持緩沖區(qū)的穩(wěn)定性,但其在場景切換的情況下,會產(chǎn)生較大的控制誤差,并且I幀碼率控制效率較低。
JVT-G012碼率控制算法通過率失真理論模型,拉格朗日率失真優(yōu)化算法,并且引入線性預(yù)測模型的概念,使編碼的失真在一定的碼率限制條件下達到最小。無論對I幀的碼率控制,還是場景變換較大情況下的碼率和圖像質(zhì)量波動都有了很大的改進。缺點是算法和實現(xiàn)復(fù)雜,對性能要求很高,系統(tǒng)延時最大。
本發(fā)明提供的方法中,在硬件資源和性能一定的情況下,通過綜合考慮當前性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)等因素,自適應(yīng)選擇碼率控制算法,使視頻碼率和圖像質(zhì)量達到最佳。具有本發(fā)明中提供的碼率控制算法的選擇方法的功能實體在現(xiàn)有的編碼器系統(tǒng)中的位置如圖3所示。本發(fā)明的應(yīng)用場景中,利用一種線性預(yù)測模型來綜合考慮性能延時、場景復(fù)雜度、帶寬等各種參數(shù),從而自適應(yīng)的選擇合適的碼率控制算法。
e = orP + / S + y5 (1)
公式(l)中,以a、 -、 y表示線性自適應(yīng)選擇模型的預(yù)測因子;P表示自適應(yīng)選擇參數(shù),通過e,自適應(yīng)選擇多種碼率控制算法。尸表示性能延時參數(shù);S表示場景復(fù)雜度參數(shù);5表示帶寬參數(shù)。其中上述尸、S和5為歸一化后的參數(shù),當上述參數(shù)未進行歸一化處理時,首先進行歸一化處理
/> = ~^~, (2)S = ~^~, (3)
5 = (4)
則對于歸一化前的參數(shù)尸,、S,、萬,,經(jīng)過上述公式(2) (4)進行歸一化后,尸表示歸一化的性能延時參數(shù);S表示歸一化的場景復(fù)雜度參數(shù);5表示歸一化的帶寬參數(shù)。
以H264 720P編碼器為例,6表示實際分配帶寬(單位為6;w),即歸一化前的帶寬Wt5,??蛇x擇的算法包括TMN5碼率控制算法、TMN8碼率控制算法和JVT-G012碼率控制算法,則自適應(yīng)選擇參數(shù)計算如下設(shè)置T1-6M)戸,T3=4M>/w; T2=l, T4=0.8, T5=0.6。其中Tl和T3作為帶寬的參考點,根據(jù)實際分配帶寬與Tl和T3的大小關(guān)系,選擇不同的加權(quán)公式;T2、 T4和T5作為加權(quán)結(jié)果的參考點,根據(jù)實際加權(quán)結(jié)果與T2、 T4和T5的大小關(guān)系,選擇不同的碼率控制算法。上述T1和T3的取值、以及T2、 T4和T5的取值是根據(jù)大量數(shù)據(jù)經(jīng)驗設(shè)置的參數(shù)。對于不同的編碼器,上述各參數(shù)的取值可以根據(jù)所選擇的算法的特點和所適用的范圍進行調(diào)整。
々!i殳a二0.8, - = 0.6, y =
1,6 2 6M>;w
0.5,4M)/w《6 < 6M>/w ,即cr和"為定值,y的值0.2,6 <4M>;w
為與實際分配帶寬6相關(guān),則上述/>式(1)變化為下述^^式(5)0 =
0.8尸+ 0.6S + 5, 6 2 6M)/w
0.8P + 0,6S + 0.55, 6M /w > 6 2 4M>;w (5)0.8尸+ 0.6S + 0.25, 6<4M /w
基于上述參數(shù),本發(fā)明應(yīng)用場景中提供的碼率控制算法的選擇方法如圖4所示,包括
步驟s401、獲取性能延時參數(shù);步驟s402、場景變換檢測獲取場景復(fù)雜度;步驟s403、獲取分配帶寬;
步驟s404、對性能延時參數(shù)、場景復(fù)雜度、分配帶寬進行歸一化,歸一化的方法參見上述公式(2) ~ (4);
步驟s405、判斷實際分配帶寬6是否大于等于T1 (Tl=6M)/w),是則進行步驟s406,否則進行步驟s407;
步驟s406、計算0并判斷^是否大于T2 (T2=l),計算P的方法可以參考上述公式(5);是則選擇TMN5算法,否則選擇TMN8算法。
步驟s407、判斷實際分配帶寬6是否大于等于T3 (T3=4M>/w),是則進行步驟s408 ,否則進行步驟s409;
步驟s408、計算e并判斷^是否大于T4 (T4=0.8),計算P的方法可以參考上述公式(5 );是則選擇TMN8算法,否則選擇JVT-G012算法;
步驟s409、計算e并判斷0是否大于T5 (T5=0.6),計算^的方法可以參考上述公式(5 );是則選擇TMN8算法,否則選擇JVT-G012算法。
通過上述流程,實現(xiàn)了碼率控制算法的自適應(yīng)選擇,即對于H264 720P編碼器當實際分配帶寬6>6M^w時,若加權(quán)結(jié)果0>1,則選擇TMN5算法,否則選擇TMN8算法;
當實際分配帶寬6M)戸> 6 > 4Mj戸時,若加權(quán)結(jié)果6>0.8,則選擇TMN8算法,否則選擇JVT-G012算法;
當實際分配帶寬6〈4M 戸時,若加權(quán)結(jié)果0>0.6,選擇TMN8算法,否則選擇JVT-G012算法。
以上僅以H264 720P編碼器為例,說明了碼率控制算法的自適應(yīng)選擇方法,對于其他編碼器類型中的碼率控制算法選擇方法,只需對參數(shù)進行適應(yīng)性修改設(shè)置,具體實施原理與上述流程相似,在此不進行重復(fù)描述。
可以理解的是,除了采用上述線性預(yù)測模型來綜合考慮性能延時、場景復(fù)雜度、帶寬等各種參數(shù)外,還可以選擇使用非線性預(yù)測模型來綜合各種參數(shù),從而自適應(yīng)的選擇合適的碼率控制算法。使用非線性預(yù)測模型與上述使用線性模型的區(qū)別在于,使用了與上述公式(1)不同的公式,其他實施原理相同,在此不進^f亍重復(fù)描述。
本發(fā)明提供的上述方法中,根據(jù)編碼器的各個參數(shù)進行加權(quán)運算,根據(jù)加權(quán)運算結(jié)果進行碼率控制算法的選擇,從而可以根據(jù)各個碼率控制算法的優(yōu)點和適用范圍,自適應(yīng)的選擇和調(diào)整最佳的碼率控制算法,滿足了編碼器系統(tǒng)在性能延時、場景復(fù)雜度、帶寬等方面對碼率控制算法的要求。
本發(fā)明還提供一種碼率控制算法的選擇裝置,如圖5所示,包括
參數(shù)獲取單元10,用于獲取編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的兩種以上參數(shù); 一般可以選擇歸一化的參數(shù);具體的,參數(shù)獲取單元10可以用于在(1)判斷當前時間是否到達預(yù)設(shè)的獲取周期,到達預(yù)設(shè)的獲取周期時;或(2)判斷編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的任一參數(shù)的變化超過預(yù)設(shè)的閾值時;獲取編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的兩種以上參數(shù)。加權(quán)結(jié)果獲取單元20,用于根據(jù)編碼器的類型以及預(yù)設(shè)的權(quán)值,對參數(shù) 獲取單元10獲取的參數(shù)進行加權(quán)。加權(quán)結(jié)果獲取單元20可以進一步包括 權(quán)值設(shè)置子單元21,用于根據(jù)編碼器的類型以及預(yù)設(shè)的權(quán)值,選擇每一所選 參數(shù)對應(yīng)的權(quán)值;加權(quán)子單元22,用于將各所獲取的參數(shù)與其在權(quán)值設(shè)置子 單元21中對應(yīng)的權(quán)值相乘后求和,得到加權(quán)結(jié)果。
算法選擇單元30,用于根據(jù)預(yù)設(shè)的不同碼率控制算法對應(yīng)的數(shù)值范圍、 以及加權(quán)結(jié)果獲取單元20獲取的加權(quán)結(jié)果,獲取編碼器所使用的碼率控制算 法。算法選擇單元30可以進一步包括取值范圍設(shè)置子單元31,用于對于每 一可用的碼率控制算法,分別設(shè)置其使用的加權(quán)結(jié)果取值范圍;算法選擇子 單元32,用于根據(jù)取值范圍設(shè)置子單元31設(shè)置的碼率控制算法對應(yīng)的加權(quán)結(jié) 果取值范圍,獲取加權(quán)結(jié)果所在的加權(quán)結(jié)果取值范圍,將加權(quán)結(jié)果取值范圍 對應(yīng)的碼率控制算法,作為編碼器所使用的碼率控制算法。
該選擇裝置還可以包括歸一化單元,用于對參數(shù)獲取單元選擇的參數(shù) 進行歸一化,將歸一化后的各參數(shù)提供給加權(quán)結(jié)果獲取單元20。
其中,碼率控制算法包括TMN8算法和TMN5算法以及JVT-G012算法 中的至少兩種。
通過使用本發(fā)明提供的上述裝置,根據(jù)編碼器的各個參數(shù)進行加權(quán)運算, 根據(jù)加權(quán)運算結(jié)果進行碼率控制算法的選擇,從而可以根據(jù)各個碼率控制算 法的優(yōu)點和適用范圍,自適應(yīng)的選擇和調(diào)整最佳的碼率控制算法,滿足了編 碼器系統(tǒng)在性能延時、場景復(fù)雜度、帶寬等方面對碼率控制算法的要求。解 決了在編碼器系統(tǒng)帶寬、性能延時變化時,單一碼率控制算法的效率下降導(dǎo) 致的碼率和圖像質(zhì)量波動較大的問題,保證了碼率和圖像質(zhì)量的穩(wěn)定性
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā) 明可以通過硬件實現(xiàn),也可以借助軟件加必要的通用硬件平臺的方式來實現(xiàn)。 基于這樣的理解,本發(fā)明的技術(shù)方案可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品可以存儲在一個非易失性存儲介質(zhì)(可以是CD-ROM, U盤,移動硬 盤等)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服 務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
本領(lǐng)域技術(shù)人員可以理解附圖只是一個優(yōu)選實施例的示意圖,附圖中的 單元或流程并不一定是實施本發(fā)明所必須的。
本領(lǐng)域技術(shù)人員可以理解實施例中的裝置中的單元可以按照實施例描述 進行分布于實施例的裝置中,也可以進行相應(yīng)變化位于不同于本實施例的一 個或多個裝置中。上述實施例的單元可以合并為一個單元,也可以進一步拆 分成多個子單元。
上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
權(quán)利要求
1、一種碼率控制算法的選擇方法,其特征在于,包括獲取編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的兩種以上參數(shù);根據(jù)所述編碼器的類型以及預(yù)設(shè)的權(quán)值,對所獲取的參數(shù)進行加權(quán);根據(jù)預(yù)設(shè)的不同碼率控制算法對應(yīng)的數(shù)值范圍、以及所述加權(quán)結(jié)果,獲取所述編碼器所使用的碼率控制算法。
2、 如權(quán)利要求l所述的方法,其特征在于,所述根據(jù)所述編碼器的類型 以及預(yù)設(shè)的權(quán)值,對所獲取的參數(shù)進行加權(quán),包括所述根據(jù)所述編碼器的類型以及預(yù)設(shè)的權(quán)值,獲取每一所選參數(shù)對應(yīng)的 權(quán)值;將各所獲取的參數(shù)與其對應(yīng)的權(quán)值相乘后求和,得到加權(quán)結(jié)果。
3、 如權(quán)利要求l所述的方法,其特征在于,所述根據(jù)預(yù)設(shè)的不同碼率控 制算法對應(yīng)的數(shù)值范圍、以及所述加權(quán)結(jié)果,獲取所述編碼器所使用的碼率 控制算法,包括對于每一可用的碼率控制算法,分別設(shè)置其使用的加權(quán)結(jié)果取值范圍; 獲取所述加權(quán)結(jié)果所在的加權(quán)結(jié)果取值范圍,將所述加權(quán)結(jié)果取值范圍 對應(yīng)的碼率控制算法,作為所述編碼器所使用的碼率控制算法。
4、 如權(quán)利要求1至3中任一項所述的方法,其特征在于,所述碼率控制 算法包括TMN8算法和TMN5算法以及JVT-G012算法中的至少兩種。
5、 如權(quán)利要求1至3中任一項所述的方法,其特征在于,所述獲取編碼 器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的兩種以上參數(shù),具體包 括判斷當前時間是否到達預(yù)設(shè)的獲取周期,到達預(yù)設(shè)的獲取周期時,獲取 編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的兩種以上參數(shù);或判斷編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的任一參數(shù) 的變化超過預(yù)設(shè)的閾值時,獲取編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、 帶寬參數(shù)中的兩種以上參數(shù)。
6、 一種碼率控制算法的選擇裝置,其特征在于,包括參數(shù)獲取單元,用于獲取編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的兩種以上參數(shù);加權(quán)結(jié)果獲取單元,用于根據(jù)所述編碼器的類型以及預(yù)設(shè)的權(quán)值,對所 述參數(shù)獲取單元獲取的參數(shù)進行加權(quán);算法選擇單元,用于根據(jù)預(yù)設(shè)的不同碼率控制算法對應(yīng)的數(shù)值范圍、以 及所述加權(quán)結(jié)果獲取單元獲取的加權(quán)結(jié)果,獲取所述編碼器所使用的碼率控 制算法。
7、 如權(quán)利要求6所述的裝置,其特征在于,所述加權(quán)結(jié)果獲取單元包括 權(quán)值設(shè)置子單元,用于所述根據(jù)所述編碼器的類型以及預(yù)設(shè)的權(quán)值,選擇每一所選參數(shù)對應(yīng)的權(quán)值;加權(quán)子單元,用于將各所獲取的參數(shù)與其在權(quán)值設(shè)置子單元中對應(yīng)的權(quán) 值相乘后求和,得到加;f又結(jié)果。
8、 如權(quán)利要求6所述的裝置,其特征在于,所述算法選擇單元包括 取值范圍設(shè)置子單元,用于對于每一可用的碼率控制算法,分別設(shè)置其使用的加權(quán)結(jié)果取值范圍;算法選擇子單元,用于根據(jù)所述取值范圍設(shè)置子單元設(shè)置的碼率控制算 法對應(yīng)的加權(quán)結(jié)果取值范圍,獲取所述加權(quán)結(jié)果所在的加權(quán)結(jié)果取值范圍, 將所述加權(quán)結(jié)果取值范圍對應(yīng)的碼率控制算法,作為所述編碼器所使用的碼 率控制算法。
9、 如權(quán)利要求6至8中任一項所述的裝置,其特征在于,所述碼率控制 算法包括TMN8算法和TMN5算法以及JVT-G012算法中的至少兩種。
10、 如權(quán)利要求6至8中任一項所述的裝置,其特征在于,所述參數(shù)獲 取單元具體用于判斷當前時間是否到達預(yù)設(shè)的獲取周期,到達預(yù)設(shè)的獲取周期時,獲取 編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的兩種以上參數(shù);或判斷編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的任一參數(shù) 的變化超過預(yù)設(shè)的閾值時,獲取編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、 帶寬參數(shù)中的兩種以上參數(shù)。
全文摘要
本發(fā)明公開了一種碼率控制算法的選擇方法和選擇裝置。該方法包括獲取編碼器的性能延時參數(shù)、場景復(fù)雜度參數(shù)、帶寬參數(shù)中的兩種以上參數(shù);根據(jù)所述編碼器的類型以及預(yù)設(shè)的權(quán)值,對所獲取的參數(shù)進行加權(quán);根據(jù)預(yù)設(shè)的不同碼率控制算法對應(yīng)的數(shù)值范圍、以及所述加權(quán)結(jié)果,獲取所述編碼器所使用的碼率控制算法。通過使用本發(fā)明,可以根據(jù)各個碼率控制算法的優(yōu)點和適用范圍,自適應(yīng)的選擇和調(diào)整最佳的碼率控制算法,滿足了編碼器系統(tǒng)在性能延時、場景復(fù)雜度、帶寬等方面對碼率控制算法的要求。
文檔編號H04N7/26GK101656887SQ200910176889
公開日2010年2月24日 申請日期2009年9月23日 優(yōu)先權(quán)日2009年9月23日
發(fā)明者堅 吳, 奕 雷, 黃建強 申請人:杭州華三通信技術(shù)有限公司