新四季網

視頻編碼中幀級碼率的控制方法

2023-11-30 13:04:21 4

專利名稱:視頻編碼中幀級碼率的控制方法
技術領域:
本發明涉及圖像信息視頻編碼壓縮技術,特別涉及視頻編碼中幀級碼率的控制方法。
背景技術:
如今的通訊服務已不再僅限於傳統的語音業務,而是將目光投向了更加豐富多彩的多媒體業務。隨著網絡應用的日益擴大,多媒體業務的重要性尤其是視頻應用,更加凸顯。視頻應用相對於以往的網絡應用,如網頁瀏覽,郵件服務,對帶寬的要求更大,對實時性要求更高。目前基於有線信道或者無線信道網絡的視頻應用包括交互式應用,如會議電視,預編碼的視頻流下載,如實時視頻流等等。儘管現在有線信道所能提供的帶寬不斷增大,但是對於視頻序列來說,帶寬還是無法滿足其高數據量的要求,無線信道更是只能提夠有限的帶寬。這樣視頻編碼輸出的瞬間碼流過高會對有限的網絡資源造成衝擊,更嚴重的會有丟包現象。因此,為滿足這些視頻應用的需求,充分利用網絡資源,視頻壓縮後的碼流要儘可能的佔滿帶寬,並且保持平穩輸出,碼率控制在其中扮演著重要的角色。
常用的碼率控制方法分為幀內碼率控制和幀間碼率控制。幀內碼率控制主要是利用率失真理論,這種方法能夠達到較好的控制效果,但數學計算量大,且使得瞬間碼率過高,對網絡具有一定的衝擊性,甚至會造成丟包現象。幀間碼率控制是利用前幾幀編碼的信息,調整當前幀的量化參數,或者進行丟幀,以保證輸出碼流的平均碼率控制在帶寬要求內,達到碼流平穩的效果。因此,幀間碼率控制是有效的控制住瞬間碼率過高,讓碼流輸出平穩的方法。
傳統的幀間碼率控制的方法通過前幾幀的編碼情況來調整當前幀的量化因子或者目標碼率,以達到幾幀平均碼率平穩的目的,但是這樣反應速度慢,無法很快的使碼流平穩。例如,中國專利CN01130703的「視頻壓縮碼率控制方法」,該專利是利用碼率積累超過經驗閾值,才對目標碼率進行調整,這樣使得瞬間碼率無法儘快下降,而且還是一樣無法完全避免高數據量對網絡的衝擊。國際專利WO0019137的「FAME-LEVEL RATE CONTROL FOR VIDEOCOMPRESSION」,該專利利用時間窗分配碼字過於平均,另外還需要根據量化因子,運動差值等對目標比特數進行調整,達到較好的調整效果需要對多種因素進行考慮,判斷條件複雜,實現繁瑣。

發明內容
為了克服現有技術的缺陷和不足,本發明的目的在於提供一種計算量小並且效果好的視頻編碼中幀級碼率的控制方法。
為了達到上述目的,本發明一種視頻編碼中幀級碼率的控制方法,包括以下步驟(1)獲取一幀圖像的額定編碼比特數,並為環形滑動窗的所有元素進行賦值;(2)計算當前幀在環形滑動窗內允許的編碼比特數,並根據該允許的編碼比特數與額定編碼比特數的差判斷是否對當前幀的數據進行編碼,如果判斷結果為是,則進入步驟(3);如果判斷結果為否,步驟結束;(3)獲取當前幀的目標編碼比特數對當前幀的數據進行編碼後,更新環形滑動窗。
優選地,所述步驟(1)具體為(11)將視頻碼率除以幀頻來獲取一幀圖像的額定編碼比特數;(12)使用該額定編碼比特數給環形滑動窗的所有元素進行賦值。
優選地,所述步驟(2)具體為(21)計算當前幀在環形滑動窗內允許的編碼比特數,並計算該允許的編碼比特數與額定編碼比特數的差值;(22)將該差值與修正加權值作乘積後,判斷是否小於預設的丟幀的閾值,如果不小於,則判定需要對當前幀的數據進行編碼,進入步驟(3);如果小於,則丟棄當前幀,步驟結束。
優選地,步驟(21)中所述計算當前幀在環形滑動窗內允許的編碼比特數的方法為(A)通過累加環形滑動窗內元素的值來獲取當前幀之前所有幀的實際編碼比特數的和;(B)將所述步驟(A)中獲取的和與環形滑動窗中保存的第一幀圖像的實際編碼比特數做差值;(C)將當前幀之前所有幀的額定編碼比特數的和減去所述步驟(B)中的差值,來獲取當前幀在環形滑動窗內允許的編碼比特數。
優選地,所述步驟(3)具體為(31)將當前幀的額定編碼比特數與所述步驟(22)中得到的乘積值作和,來獲取當前幀的目標編碼比特數;(32)根據該目標編碼比特數對當前幀的數據進行編碼後,更新環形滑動窗。
優選地,步驟(32)中所述更新環形滑動窗的方法為將當前幀編出的比特數替換掉滑動窗口內當前元素的值,並將當前幀的編碼後將索引值加1再模N,獲取下一幀在滑動窗中的窗口索引值;其中,所述的N為當前幀之前的所有幀個數的和。
採用上述的方法後,通過將環形滑動窗應用於視頻編碼器,運用環形滑動窗平滑每幀的編碼比特數,平滑不下時就丟棄當前幀,如果不需丟棄當前幀,就運用滑動窗得到當前幀的目標編碼比特數進行編碼後更新環形滑動窗,不需要對多種因素全面考慮,判斷條件也簡單有效,能較好的調整碼字分配,避免流量突變,最大程度的平緩了碼流的效果,有效的控制住瞬間碼率過高,讓碼流輸出平穩,緩解了網絡壓力,提高了編碼效率,達到了計算量小,並且編碼過程效果好的目的。


圖1為本發明環形滑動窗的結構示意圖;圖2為本發明視頻編碼中幀級碼率的控制的具體流程圖。
具體實施例方式
下面結合附圖對本發明的具體實施方式
作進一步詳細說明。
如圖1所示,本發明將環形滑動窗應用於視頻編碼器,該環形滑動窗隨時間轉動,時間軸為t-3、t-2、t-1、t、t+1、t+2、t+3、t+4、t+5等,對於待編碼的第t幀對應於時間軸的時間為t,此時,環形滑動時間窗對應的索引為0(t),時間窗上的其它索引為1(t-N+1)、2(t-N+2)、3(t-N+3)、N-1(t-1)、N-2(t-2),當處理完第t幀後,由於環形滑動窗是循環使用的,下一個待編碼的第t+1幀對應時間軸的時間順延為t+1,而環形滑動時間窗的索引就對應為第t幀的索引加1後模N,得到的索引為1(t+1)。
如圖2所示,為本發明視頻編碼中幀級碼率的控制的具體流程,包括以下步驟(101)首先判斷編碼是否為第一幀,如果是第一幀,則進入步驟(102);如果不是第一幀,則進入步驟(103);(102)初始化環形滑動窗。開始視頻編碼時,要給環形滑動窗的N個元素賦初值。環形滑動窗記錄了當前幀之前的連續N幀的實際編碼比特數。即滑動窗每個元素對應前N幀中某一幀的實際編碼比特數。剛啟動編碼器時,由於還沒有編碼,滑動窗的每個元素都設為一幀圖像的額定編碼比特數,隨著編碼過程的持續,再不斷更新為實際編碼比特數。
初始化環形滑動窗包括以下步驟(A1)計算一幀圖像的額定編碼比特數FrameRate,由視頻碼率BitRate除以幀頻FramePerSecond得到,即
FrameRate=BitRate/FramePerSecond(A2)用額定編碼比特數FrameRate給環形滑動窗的每個元素SlipWindow[i]賦值,即SlipWindow[i]=FrameRate i=0,…,N-1(A3)賦值過程結束後,將初始化標誌FirstTime置為無效,即當編碼開始後不再以每幀圖像的額定編碼比特數給環形滑動窗元素賦值。
(103)計算在環形滑動窗內允許的當前幀編碼比特數,即當前幀編碼比特數的上限;包括以下步驟(B1)累加環形滑動窗內所有元素的值,得到當前幀之前N幀的實際編碼比特數之和SumBits,即SumBits=i=0N-1SlipWindow[i]]]>(B2)累加的結果SumBits減去環形滑動窗中保存的第一幀圖像的實際編碼比特數SlipWindow[WindowIndex],得到前N-1幀的實際編碼比特數的和SumBitsplusFisrtFrm。WindowIndex是第一幀在滑動窗中的窗口索引,如圖1所示,因為環形滑動窗是循環使用的,所以WindowIndex與時間軸上的幀序號不是一致的,即WindowIndex不一定等於0。從後面的步驟中可以看出結束對當前幀的處理後WindowIndex將做為當前幀的窗口索引。
SumBitsplusFisrtFrm=SumBits-SlipWindow[WindowIndex](B3)用N幀額定編碼比特數的和Nominal減去SumBitsplusFisrtFrm得到當前幀在環形滑動窗內允許的編碼比特數LeftFrameBitsl,即LeftFrameBitsl=Nominal-SumBitsplusFisrtFrm(104)根據當前幀在環形滑動窗內允許的編碼比特數與額定編碼比特數的差判斷是否需要丟棄當前幀,如果是則進入步驟(105);如果不是,則進入步驟(106);上述步驟(104)可以包括以下步驟(C1)計算當前幀在環形滑動窗內允許的編碼比特數LeftFrameBitsl與額定編碼比特數FrameRate的差ExtraBitsl;即ExtraBitsl=LeftFrameBitsl-FrameRate
(C2)為了增大碼流的平滑度,將ExtraBitsl乘以修正加權值(1/(N/2)),即將碼流的波動平均分配在後續的N/2幀上,這個結果用來做為是否丟幀的重要依據;ExtraBits=ExtraBitsl/(N/2)(C3)將ExtraBits與丟幀的閾值nThresh比較,小於則進入步驟(105);大於則進入步驟(106)。
(105)丟棄當前幀後,進入步驟(109)在丟幀前,更新滑動窗內當前元素的值和窗口索引,閾值的大小隨碼率自適應改變。即當滿足條件ExtraBits<nThresh時,則做如下操作SlipWindow[WindowIndex]=0;WindowIndex++;WindowIndex=WindowIndex%N;丟棄當前幀;(106)確定當前幀的目標編碼比特數,編碼器將根據該值做更精細的碼率控制,使得當前幀實際編碼比特數儘可能的接近該值。
上述是將當前幀在環形滑動窗內允許的編碼比特數根據它與額定編碼比特數的差進行修正得到當前幀的目標編碼比特數,在後續的編碼過程中用目標編碼比特數進行更精細的碼率控制。修正的方法如下當前幀目標編碼比特數=額定編碼比特數+當前幀在滑動窗內允許的編碼比特數與額定編碼比特數的差×修正加權值。
也可以通過當前幀的目標編碼比特數=當前幀的額定編碼比特數+當前幀在滑動窗內允許的比特數與額定編碼比特數的差/(N/2)來求得,即LeftFrameBits=FrameRate+ExtraBits;(107)進行當前幀數據的編碼;(108)結束當前幀的編碼後,更新環形滑動窗內容和索引值。
包括以下步驟(D1)用當前幀編出的比特數BitsFrm替換掉窗口內當前元素的值;即
SlipWindow[WindowIndex]=BitsFrm(D2)更新窗口索引。由於環形滑動窗是循環使用的,如圖1所示。窗內當前元素的窗口索引範圍是0~N-1。將當前幀的編碼後將索引值加1再模N,得到下一幀在滑動窗中的窗口索引值。即WindowIndex=WindowIndex+1WindowIndex=WindowIndex%N本發明通過將環形滑動窗應用於視頻編碼器,運用環形滑動窗平滑每幀的編碼比特數,平滑不下時就丟棄當前幀,如果不需丟棄當前幀,就運用滑動窗得到當前幀的目標編碼比特數進行編碼後更新環形滑動窗,不需要對多種因素全面考慮,判斷條件也簡單有效,能較好的調整碼字分配,儘可能平滑碼流,避免流量突變,達到了計算量小,並且編碼過程效果好的目的。
權利要求
1.一種視頻編碼幀級碼率的控制方法,其特徵在於,包括以下步驟(1)獲取一幀圖像的額定編碼比特數,並為環形滑動窗的所有元素進行賦值;(2)計算當前幀在環形滑動窗內允許的編碼比特數,並根據該允許的編碼比特數與額定編碼比特數的差判斷是否對當前幀的數據進行編碼,如果判斷結果為是,則進入步驟(3);如果判斷結果為否,步驟結束;(3)獲取當前幀的目標編碼比特數對當前幀的數據進行編碼後,更新環形滑動窗。
2.按照權利要求1所述的視頻編碼幀級碼率的控制方法,其特徵在於,所述步驟(1)具體為(11)將視頻碼率除以幀頻來獲取一幀圖像的額定編碼比特數;(12)使用該額定編碼比特數給環形滑動窗的所有元素進行賦值。
3.按照權利要求2所述的視頻編碼幀級碼率的控制方法,其特徵在於,所述步驟(2)具體為(21)計算當前幀在環形滑動窗內允許的編碼比特數,並計算該允許的編碼比特數與額定編碼比特數的差值;(22)將該差值與修正加權值作乘積後,判斷是否小於預設的丟幀的閾值,如果不小於,則判定需要對當前幀的數據進行編碼,進入步驟(3);如果小於,則丟棄當前幀,步驟結束。
4.按照權利要求3所述的視頻編碼幀級碼率的控制方法,其特徵在於,步驟(21)中所述計算當前幀在環形滑動窗內允許的編碼比特數的方法為(A)通過累加環形滑動窗內元素的值來獲取當前幀之前所有幀的實際編碼比特數的和;(B)將所述步驟(A)中獲取的和與環形滑動窗中保存的第一幀圖像的實際編碼比特數做差值;(C)將當前幀之前所有幀的額定編碼比特數的和減去所述步驟(B)中的差值,來獲取當前幀在環形滑動窗內允許的編碼比特數。
5.按照權利要求3或4所述的視頻編碼幀級碼率的控制方法,其特徵在於,所述步驟(3)具體為(31)將當前幀的額定編碼比特數與所述步驟(22)中得到的乘積值作和,來獲取當前幀的目標編碼比特數;(32)根據該目標編碼比特數對當前幀的數據進行編碼後,更新環形滑動窗。
6.按照權利要求5所述的視頻編碼幀級碼率的控制方法,其特徵在於,步驟(32)中所述更新環形滑動窗的方法為將當前幀編出的比特數替換掉滑動窗口內當前元素的值,並將當前幀的編碼後將索引值加1再模N,獲取下一幀在滑動窗中的窗口索引值;其中,所述的N為當前幀之前的所有幀個數的和。
全文摘要
本發明公開了一種視頻編碼中幀級碼率的控制方法。為解決現有技術中視頻編碼的複雜度高、效果差的問題而發明。本發明視頻編碼中幀級碼率的控制方法包括以下步驟獲取一幀圖像的額定編碼比特數,並為環形滑動窗的所有元素進行賦值;計算當前幀在環形滑動窗內允許的編碼比特數,並根據該允許的編碼比特數與額定編碼比特數的差判斷需要對當前幀的數據進行編碼,則獲取當前幀的目標編碼比特數對當前幀的數據進行編碼後,更新環形滑動窗。本發明能較好的調整碼字分配,避免流量突變,最大程度的平緩了碼流的效果,有效的控制住瞬間碼率過高,讓碼流輸出平穩,緩解了網絡壓力,提高了編碼效率,達到了計算量小,並且編碼過程效果好的目的。
文檔編號H04N7/26GK1964494SQ200610145809
公開日2007年5月16日 申請日期2006年11月17日 優先權日2006年11月17日
發明者王寧, 吳釗, 魯曉牧 申請人:中興通訊股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀