一種hevc編碼單元級碼率控制方法
【技術領域】
[0001 ] 本發明設及高性能視頻編碼化igh Efficiency Video Coding,肥VC)領域,特別 設及其中編碼單元級碼率控制方法。
【背景技術】
[0002] 碼率控制算法作為視頻編碼應用中的一項關鍵技術,對于實際應用有著重要價 值。在實際應用中,碼率控制算法可W根據目標碼率對視頻編碼,使視頻編碼后實際碼率接 近目標碼率,同時盡可能地提高編碼后的質量。HEVC中采用了新的編碼結構如編碼單元 (Coding化it ,CU) W及新的技術如自適應樣點補償等來提高編碼效率。相應的,皿VC中應 采取新的編碼單元級碼率控制算法,W適應于皿VC新的編碼結構和技術,盡可能提高視頻 編碼后的質量。
[0003] 肥VC的測試軟件化EVC Test Model, HM)所采用的CU的大小為64 X64、32 X 32、16 X 16和8 X 8,分別對應CU的深度為0、1、2、3。其中深度為0的CU記為LClKLargest Coding 化it),深度為1的CU記為SubClKSub Coding化it)。歷的編碼器采用遞歸的方式對LCU進行 劃分,對于每一層的CU都要進行RDO來決定是否劃分為下一層。一般地,為了減少編碼參數 所占比特數,編碼單元級碼率控制算法的目標一般只針對LCU,也可W叫做LCU級碼率控制 算法。
[0004] 皿VC現有標準將碼率控制算法分為S個級別:圖片組級、帖級、編碼單元級,并采 用了一系列編碼單元級碼率控制方法:對于P、B帖中的LCU,使用R-A模型描述比特數和編碼 參數的關系。對LCU進行比特數分配的原則為期望視頻帖中各個LCU的編碼參數A相等。在此 基礎上,W當前帖目標比特數為約束條件,使用各個LCU的R-A模型,可W解得各個LCU應分 得的比特數。詳細實現可W參見文獻1(參見Li B,Li H,Li L,et al.Rate conhol by R-Iambda model for 皿VC[C]//JCTVC-K0103JCTVC of ISO/IEC and mJ-T,II化 meeting Shanghai ,China.2012)和文獻2(參見LJCTVC-M0036,''AdaptivebitallocationforR-Iambda model rate control in HM,"Incheon,KR,18-26Ap;r.2013)。與較早的標準相比, 該方法可W提高編碼質量,但沒有考慮到LCU的劃分結構與紋理特性,依然有改進的空間。 文獻3(參見1(:17(:-]\10257,''111化日化日1116 1?日16(:〇11化〇16日36(1〇115410/'111油6〇11,邸,18-26Apr. 2013)提出在I帖中,使用變換后絕對差值和(Sum Of Absolute Transformed Differences,SATD)描述編碼單元的紋理特性。并使用基于SATD的R-A模型描述比特數和編 碼參數的關系。對I帖中LCU使用其SATD值作為權重進行比特數分配。該方案只考慮了 I帖的 SubCU級碼率分配,而對P帖和B帖沒有設計相應方案。
【發明內容】
[0005] 本發明的目的在于提供一種肥VC編碼單元級碼率控制方法。
[0006] 本發明需要保護的技術方案為:
[0007] -種皿VC編碼單元級碼率控制方法,概括說,在編碼單元級碼率控制算法初始化 階段,預測當前帖中各個LCU是否劃分。預測的依據為前一個同級帖的同一位置的LCU是否 劃分。如果前一個同級帖的同一位置的LCU實際劃分,即預測此LCU也會劃分。反之,亦然。
[0008] 一種肥VC編碼單元級碼率控制方法,其特征在于,具體包括如下步驟:
[0009] 1)編碼當前帖前,進行帖級碼率控制算法,預測當前帖的目標比特數、QP和A。進入 編碼單元級碼率控制算法初始化部分。
[0010] 2)預測當前帖中各個LCU是否劃分。如果預測不劃分,根據式(1)計算權重;否則, 根據式(2) (3)計算權重。
[001 U 3)根據式(4)計算各個LCU的 Ini^itScurrLCUo
[0012] 4)編碼當前LCU前,根據式(5)(6)為當前LCU分配目標比特數。
[OOU] 5)如果預測不劃分,根據式(7)計算編碼參數^urrLCU;否則,根據式(8)(9)(10)計 算編碼參數、urrLCU。
[0014] 6)根據式(11)得到當前 LCU 的QPcurrLCUo
[001引 7)根據、UrrLGU和QPeurrLGU對當前LCU進行模式選擇等編碼過程。當前LCU編碼結束 后,根據實際編碼結果記錄下是否劃分到SubCU層。如果劃分到SubCU層,根據各個SubCU的 實際編碼參數和結果更新SubCU的R-A模型。更新LCU的R-A模型。進入下一個LCU。
[0016] 由于采用上述方案,本發明的有益效果是:
[0017] 1.本發明根據LCU的劃分結構,使用SubCU的R-A模型描述劃分的LCU的失真與編碼 參數之間的關系,并提出了根據SubCU的R-A模型計算LCU復雜度、計算編碼參數的方法,提 高編碼后的客觀質量。
[0018] 2.本發明綜合考慮編碼器當前狀態和LCU的復雜度,設計了為當前LCU分配比特數 的方法,可W更準確地為LCU分配比特數,提高編碼后的客觀質量。
【具體實施方式】
[0019] W下通過若干實施例解釋、闡述和支持本發明所需要保護的技術方案。
[0020] 實施例1
[0021] 理論依據及驗證
[0022] 首先,在現有肥VC標準中,對于P帖和B帖,每個LCU按照位置來建立、使用和更新其 R-入模型。但在一般情況下,LCU內部的內容變化很大,紋理特性各不相同,同樣編碼參數下 不同子CU得到的比特數有很大差別,所W最終皿VC編碼其會將LCU分成多個小的CU,分別進 行運動補償、量化編碼等過程。現在對單個LCU只用一個R-A模型來描述其編碼特性,不能表 征LCU內部紋理特性相差很大的特點,也不能表征實際編碼過程中對LCU的劃分結構。但LCU 又不能形成類似帖級的統計特性,所W對單個LCU用一個R-A模型來描述其編碼特性不符合 實際情況。其次,現有標準中為當前LCU分配比特數的方法期望在幾個LCU之內彌補視頻帖 中預測比特數與實際比特數的誤差,容易導致其目標比特數過大或者過小。
[0023] 為此本文設計了基于SubCU的編碼單元級碼率控制算法。
[0024] 在編碼單元級碼率控制算法初始化階段,預測當前帖中各個LCU是否劃分。預測的 依據為前一個同級帖的同一位置的LCU是否劃分。如果前一個同級帖的同一位置的LCU實際 劃分,即預測此LCU也會劃分。反之,亦然。表1為該方法在BQMal 1序列中固定編碼QP為32情 況下的準確率。測試平臺為肥VC參考軟件歷14.0,測試配置為Random Access Main。
[0025] 表1丄CU劃分預測方法準確率
[0027] 如表1中可W看到,該LCU劃分預測方具有較高的準確性。因為該方法簡單有效,本 發明使用該方法作為LCU劃分預測方法。
[0028] 在編碼單元級碼率控制算法初始化階段,對于預測不劃分的LCU,使用LCU的R-入模 型估計其復雜度作為權重WeighteurrLCU:
[0030] 其中AcuirPic為帖級碼率控制算法給出的當前帖的編碼參數。numberOf Pixel ScurrLCU 為當前LCU的像素個數。acurrLCU、0currLCU為當前LCU的R-A模型的參數。對于劃分的LCU,使用其 SubCU的R-A模型估計其復雜度作為權重WeighteurrLCU:
[003;3]其中,M證its如腳f為LCU中各個SubCU的初始比特數,代表在M直為、urrPic情況下, 各個S U b C U所需的比特數。巧礎棚i、依站,為第i個SubCU的R-A模型的參數。 numberOfPixels扣6化,,.為第i個SubCU的像素個數。numberOfSubCU為當前LCU中像素個數不 為0的SubCU的個數