陸彥珩,王利鳴,曾曉洋,范益波
(復(fù)旦大學(xué) 微電子學(xué)院,上海 201203)
一種高靈活性HEVC幀內(nèi)編碼器前端設(shè)計
陸彥珩,王利鳴,曾曉洋,范益波
(復(fù)旦大學(xué) 微電子學(xué)院,上海 201203)
本文基于一種兩級流水的高靈活性HEVC幀內(nèi)編碼器架構(gòu),完成了其前端設(shè)計,主要完成塊大小劃分和碼率控制2個功能.針對這2個功能的算法優(yōu)化,提出了一種基于梯度的幀內(nèi)編碼器塊大小判決快速算法和一種低復(fù)雜度的碼率控制算法,并最終用軟硬件協(xié)同的方式將這兩種算法在硬件中實現(xiàn).
HEVC; 幀內(nèi)編碼器; 塊大小劃分; 碼率控制
隨著網(wǎng)絡(luò)視頻、視頻會議等典型視頻應(yīng)用服務(wù)在我們?nèi)粘I钪凶兊迷桨l(fā)重要,視頻壓縮編解碼技術(shù)也越來越受到人們的關(guān)注.針對更大的視頻序列容量、更好的視頻質(zhì)量以及大分辨率視頻序列,2013年國際電信組織(International Telecommunication Union, ITU)和運動圖像專家組(Moving Picture Experts Group, MPEG)聯(lián)合成立的JCT- VC(Joint Collaborative Team- Video Coding)組織提出的新一代視頻編解碼標(biāo)準(High Efficiency Video Coding, HEVC),與上一代視頻編碼標(biāo)準H.264/AVC相比,HEVC期望在相同視覺效果的前提下,碼流比特率減少50%.與H.264相比,HEVC引入了多達5種可選宏塊大小及35種幀內(nèi)預(yù)測可選模式,大幅提高了編碼效率,但與此同時也付出了4倍左右的計算復(fù)雜度代價[1].因此,低成本高性能的HEVC幀內(nèi)編碼器成為了當(dāng)前的研究熱點之一.
在HEVC正式發(fā)布之后的3年里,學(xué)術(shù)界和工業(yè)界提出了多個HEVC編碼器設(shè)計方案.臺灣的一個研究團隊給出了一個強調(diào)性能的支持8K×4K視頻的HEVC編碼器設(shè)計方案[2],而日本電報電話公司搶先完成了世界上第一個單芯片422格式HEVC編碼器的硬件實現(xiàn)并投入實用[3].中國大陸方面,清華大學(xué)與華為公司的聯(lián)合研究團隊給出了一個最高支持1080p@44fps實時編碼要求的HEVC幀內(nèi)編碼器設(shè)計方案[4].這些既有的編碼器設(shè)計方案往往針對特定的分辨率實現(xiàn),且不具備根據(jù)視頻圖像特性改變編碼器編碼方案的能力.針對這一問題,本文給出了一種高靈活性HEVC幀內(nèi)編碼架構(gòu),編碼器前端內(nèi)嵌一個簡易處理器,可根據(jù)視頻特性及時改變編碼策略.
編碼器前端主要完成塊大小劃分和碼率控制功能,通過軟硬件協(xié)同的方式實現(xiàn).由于HEVC標(biāo)準引入了多達5種可選宏塊大小,宏塊劃分部分成為了優(yōu)化編碼器計算復(fù)雜度的重要切入點.本文給出了一種基于梯度的塊大小劃分快速算法,以較小的性能代價換取巨大的計算量削減.碼率控制算法較為靈活,適宜軟件實現(xiàn),考慮到硬件設(shè)計中采用的任務(wù)驅(qū)動型處理器(Event Driven Processor, EDP)性能較弱,本文給出了一種低復(fù)雜度的碼率控制算法,以較小的計算量獲得了滿足要求的碼率控制效果.
與H.264相似,HEVC也采用了基于塊的混合編碼架構(gòu),其基本架構(gòu)如圖1(見第90頁)所示[1].輸入的視頻碼流首先通過幀間預(yù)測或幀內(nèi)預(yù)測得到當(dāng)前圖像的預(yù)測值,將原始值與預(yù)測值相減得到殘差值,從而通過去除視頻中空間冗余或時間冗余的方式大大壓縮信息熵的大小.繼而,HEVC采用變換和量化技術(shù)進一步壓縮預(yù)測編碼得到的殘差信息.變換編碼從頻域的角度減小了殘差值的空間冗余,達到壓縮編碼的目的.最后,HEVC采用熵編碼對量化后的變換系數(shù)進行編碼,得到最終的視頻碼流.
由于解碼器無法獲得視頻原始圖像信息,為保證編碼端和解碼端數(shù)據(jù)一致,編碼器還需要對得到的殘差系數(shù)進行反變換和反量化得到與解碼端一致的重建圖像.為了使得參考幀盡可能與原始值相似,HEVC還在幀間預(yù)測之前引入了環(huán)路濾波單元對重建圖像進行處理,盡可能減小參考幀的失真.
幀內(nèi)預(yù)測是通過鄰近塊參考像素值預(yù)測當(dāng)前塊像素值的預(yù)測方法.視頻圖像的鄰近像素點之間往往存在千絲萬縷的聯(lián)系,幀內(nèi)預(yù)測利用空間上的相關(guān)性預(yù)測當(dāng)前塊的像素值,從而達到消除圖像中空間冗余的目的,大大提高了視頻壓縮比.只采用幀內(nèi)預(yù)測方式進行編碼的編碼器稱作幀內(nèi)編碼器.
圖1 HEVC編碼架構(gòu)Fig.1 HEVC encoding architecture
由于幀內(nèi)預(yù)測中每一個最大編碼單元(Largest Coding Unit, LCU)都需要其左側(cè)和上方LCU的重建像素值作為當(dāng)前LCU的參考像素值,因而后一個LCU的幀內(nèi)預(yù)測過程只能在前一個LCU完成整個編碼過程后才能進行,大大降低了硬件編碼器的吞吐率.為了解決這一問題,文獻中提出了一個兩級流水的高吞吐率HEVC幀內(nèi)編碼器架構(gòu): 第一級流水線使用原始像素值完成幀內(nèi)預(yù)測模式判決和塊大小劃分,將獲得的塊大小劃分方案及最優(yōu)模式作為中間數(shù)據(jù)交給第二個流水級,繼而第二個流水級使用中間數(shù)據(jù)重新依據(jù)原始像素和重建像素進行完整的幀內(nèi)預(yù)測變換量化等過程,從而大大加快編碼器的編碼速度[5].
經(jīng)過研究,我們進一步發(fā)展了上一段中介紹的文獻[5]中的思想,在第一級流水線中引入一個簡單的EDP,完成塊大小劃分(Part)、碼率控制(Rate Control, RC)等編碼任務(wù),同時作為整個編碼器的頂層控制(Ctrl).本文給出一個高靈活性HEVC幀內(nèi)編碼器架構(gòu)如圖2所示,簡易處理器的引入大大提高了整個編碼器設(shè)計的靈活性,可以針對待編碼視頻的圖像特性選擇合適的編碼方式,從而提高整體編碼效果.
圖2 高靈活性HEVC幀內(nèi)編碼器架構(gòu)Fig.2 Flexible HEVC intra encoder architecture
由于簡易處理器性能有限,完成部分計算量較大的任務(wù)時需要引入硬件加速單元加快計算速度,通過軟硬件協(xié)同的方式完成相應(yīng)任務(wù).本文接下來將基于這一幀內(nèi)編碼器架構(gòu),重點介紹編碼器前端第一級流水線中塊大小劃分和碼率控制兩部分的算法及其實現(xiàn).
2.1塊大小劃分簡介
幀內(nèi)編碼主要有幀內(nèi)預(yù)測、變換量化和熵編碼3個過程.輸入的視頻圖像首先被劃分為若干個LCU,每個LCU選擇合適的塊大小劃分方案和預(yù)測模式進行預(yù)測編碼,預(yù)測后得到的預(yù)測圖像與原始圖像相減得到殘差圖像,經(jīng)過變換編碼和熵編碼后得到最終的碼流.整個幀內(nèi)編碼流程固定,真正影響編碼效果的是塊大小劃分方案與預(yù)測模式的選擇.本文重點關(guān)注其中的塊大小劃分部分.
HEVC編碼采用四叉樹編碼結(jié)構(gòu),基于編碼單元(Coding Unit, CU)進行編碼過程,基于預(yù)測單元(Prediction Unit, PU)進行預(yù)測過程,基于變換單元(Transformation Unit, TU)進行變換過程[6].編碼時整個圖像被分解為不同大小的編碼樹單元(Coding Tree Unit, CTU),采用YUV420格式時,每個CTU包括1個亮度宏塊和2個色度宏塊,亮度CTU大小可以為16×16、32×32或者64×64,色度宏塊是亮度宏塊大小的1/4.
一般而言,CTU直接作為LCU,但也可以作為LCU劃分的根節(jié)點.CU塊大小可以為64×64、32×32、16×16或者8×8,一個LCU劃分四叉樹的實例如圖3所示,劃分完成的CU按照如圖3所示Z掃描方式依次進行編碼.
圖中a~m即為編碼器編碼時的順序.圖3 LCU劃分實例及Z掃描方式Fig.3 LCU partition example and Z scan method
表1 不同CU大小下相對應(yīng)的PU和TU大小范圍
預(yù)測單元PU和變換單元TU均以CU作為四叉樹根節(jié)點,彼此間互相獨立.表1給出了不同CU情況下,PU和TU可選的塊大小范圍.PU作為預(yù)測單元,與幀內(nèi)預(yù)測中的模式直接相關(guān),其大小有4×4到64×64 5種.在幀內(nèi)預(yù)測情況下,當(dāng)CU塊大小為16×16、32×32及64×64時,PU大小與CU大小一致;當(dāng)CU大小為8×8時,PU可以為8×8,也可以為4×4[7].TU大小可以在CU大小基礎(chǔ)上劃分至多兩級,考慮到大小為64×64的DCT變換計算量較大,TU大小被限定在4×4、8×8、16×16、32×32 4種.
由于HEVC標(biāo)準中允許的塊大小類型較多,如何在排列組合產(chǎn)生的眾多塊大小劃分方式中挑選編碼效果最好的劃分方式成為了幀內(nèi)編碼算法中一個重要的課題.在官方給出的HEVC編碼標(biāo)準參考軟件HM10.0中,幀內(nèi)編碼算法中的塊大小劃分過程通過迭代完成.對一個8×8塊,首先計算出其優(yōu)化結(jié)果,接著計算出其內(nèi)部4×4塊的優(yōu)化結(jié)果,最后將4個4×4塊的結(jié)果之和與該8×8塊進行比較,將優(yōu)化效果更好的結(jié)果作為當(dāng)前8×8塊的最終塊大小劃分結(jié)果.依次類推,可以得到16×16、32×32、64×64塊的塊大小劃分結(jié)果,最終得到當(dāng)前LCU的最優(yōu)塊大小劃分方案.這樣的算法固然可以獲得最為精確的塊大小劃分結(jié)果,但運算量極大,不適合硬件實現(xiàn).實際應(yīng)用中,我們可以通過引入塊大小劃分快速算法的方式加快編碼器的編碼速度.
2.2幀內(nèi)編碼器塊大小劃分快速算法
梯度算法是一種較為常見的圖像處理算法,主要用于檢測圖像局部顯著性變化.梯度是一個代表圖像灰度變化最快方向和數(shù)量的向量,表征當(dāng)前像素點附近像素值變化的大致方向及劇烈程度.梯度值越大,則像素值變化越劇烈,當(dāng)前圖像紋理復(fù)雜度越高.
基于梯度算法思想,浙江大學(xué)的研究小組提出了一種幀內(nèi)預(yù)測模式判決快速算法[8].他們通過sobel算子計算之后獲得當(dāng)前像素點在垂直水平方向上的梯度值Gx和Gy,將兩者相除后進行arctan計算,從而獲得當(dāng)前像素點的梯度方向.使用這一梯度方向,即可以大致判斷當(dāng)前像素點附近圖像變化情況,為選擇最優(yōu)角度模式提供幫助.
本文中提出的塊大小劃分快速算法基于類似思想實現(xiàn),既然梯度算法可以通過檢測圖像局部顯著性變化嘗試判斷幀內(nèi)預(yù)測最優(yōu)角度模式,那么也可以嘗試著進行塊大小劃分判決.使用梯度算法判斷塊大小劃分結(jié)果,不但可以大大加快塊大小的劃分速度,還可以借用幀內(nèi)預(yù)測模式判決快速算法的中間結(jié)果,從而減少編碼器整體的計算復(fù)雜度.
本文提出的塊大小劃分快速算法主要分為以下3步:
首先,在原始視頻流中,把一幀圖像劃分為若干HEVC標(biāo)準的LCU,將LCU內(nèi)部可進行操作像素點的像素值按照sobel算子依據(jù)式(1)和式(2)分別進行X方向和Y方向上的梯度計算,得到當(dāng)前像素點周邊像素值的變化情況:
Gxi,j=Pi-1,j-1+2×Pi-1,j+Pi-1,j+1-Pi+1,j-1-2×Pi+1,j-Pi+1,j+1,
(1)
Gyi,j=Pi-1,j-1+2×Pi,j-1+Pi+1,j-1-Pi-1,j+1-2×Pi,j+1-Pi+1,j+1,
(2)
式中Pi,j代指不同像素點的數(shù)值.以當(dāng)前PU左上角像素點為原點,視頻圖像水平向右方向為X軸正方向,垂直向下方向為Y軸正方向構(gòu)建平面直角坐標(biāo)系,則該坐標(biāo)系中坐標(biāo)為(i,j)點的像素值記作Pi,j.
接著,對某一個PU,將其中所有像素點的梯度值相加得到當(dāng)前PU圖像紋理的復(fù)雜程度,記作紋理復(fù)雜度K,其計算公式如式(3)所示:
K=∑(|Gx|+|Gy|).
(3)
紋理復(fù)雜度越大,則意味著當(dāng)前PU內(nèi)部變化較大,使用小塊預(yù)測往往效果出眾,而紋理復(fù)雜度越小,則意味著當(dāng)前PU內(nèi)部像素值變化較小,可選擇使用大塊進行預(yù)測.最后,依據(jù)紋理復(fù)雜度信息,得出最有可能的塊大小劃分方法.這里的判斷可以根據(jù)經(jīng)驗閾值完成,下面給出一種基于經(jīng)驗閾值,從大塊到小塊依次判斷的劃分方法.
表2 一個可行的經(jīng)驗閾值方案
以64×64塊為例,如果64×64塊中每一個32×32子塊的圖像復(fù)雜度均小于某一閾值,則可認為這個64×64塊內(nèi)4個32×32塊的圖像復(fù)雜度均較低,不需要進行劃分,此時選用64×64作為最有可能的塊大小劃分;若不滿足,則將64×64塊劃分為4個32×32子塊,并對4個32×32子塊依次進行圖像復(fù)雜度分析.依次類推,可以完成32×32、16×16、8×8塊的劃分選擇,并最后得到最有可能的塊大小劃分方案.這里的經(jīng)驗閾值與圖像特性相關(guān),經(jīng)過若干次的實驗嘗試,得到一個性能較好的經(jīng)驗閾值方案如表2所示.
綜上所述,通過引入梯度計算,我們可以快速獲得當(dāng)前PU圖像的紋理復(fù)雜度,將獲得的紋理復(fù)雜度值與經(jīng)驗閾值進行比較,從而獲得當(dāng)前PU的塊大小劃分結(jié)果,完成當(dāng)前塊的塊大小劃分任務(wù).
在實際編碼器硬件設(shè)計中,紋理復(fù)雜度計算部分與幀內(nèi)預(yù)測模式判決快速算法計算過程類似,可由硬件加速單元完成并作為中間數(shù)據(jù)提交給內(nèi)嵌簡易處理器.本文中提出的塊大小劃分快速算法主體部分以軟件代碼的形式在簡易處理器中執(zhí)行,這也就意味著,上文中的經(jīng)驗閾值可以根據(jù)圖像特性快速進行更新,力圖獲得更好的編碼效果,這也是高靈活性幀內(nèi)編碼器的一個重要優(yōu)點.
使用本文算法和HM10.0分別對Cactus視頻進行編碼,得到其左上部分的CU塊大小劃分結(jié)果(圖4).可以看出兩者得出的塊大小劃分方案較為一致,只是在劃分較為復(fù)雜的圖像塊時本文算法折中選擇了中間大小的塊(16×16塊),保證即便未能選取最優(yōu)塊大小劃分方案,也不至于出現(xiàn)過大的編碼性能損失.
圖4 CU塊劃分效果對比Fig.4 Comparison of the effects of CU partition
2.3編碼性能測試及分析
為了驗證本文中提出的塊大小劃分快速算法的編碼性能,我們在官方給出的HM參考程序基礎(chǔ)上實現(xiàn)了該算法,使用的參考程序版本為HM10.0.
本文測試了HEVC官方給出的4種不同分辨率下的15個測試序列,每一組序列在22,27,32,37共4種QP取值情況下各編碼30幀.在這里,我們以參考軟件HM編碼結(jié)果為基準,通過擬合獲得在同等編碼質(zhì)量情況(Peak Signal to Noise Ratio, PSNR)下,編碼后碼率大小的增大幅度,記作聯(lián)合比特率(Bjontegaard Delta Bie Rate, BDBR),作為編碼性能的比較標(biāo)準.考慮到亮度色度分量權(quán)重不一,我們引出如式(4)所示的BDBR作為度量Y、U、V 3個分量總體性能損失的標(biāo)準[9]:
(4)
表3 本文算法的編碼性能
算法編碼性能測試結(jié)果如表3所示,由于編碼時間直接相關(guān)于測試服務(wù)器性能,編碼器計算量的下降可以通過編碼時間的百分比減少體現(xiàn).
由實驗結(jié)果可以看出本文提出的塊大小劃分快速算法可以大大提高HEVC幀內(nèi)編碼器的編碼速度,平均可以減少56.56%的編碼時間,針對Kimono視頻時甚至可以將編碼時間削減67.24%,相當(dāng)于將編碼速度提升了3倍.本算法針對不同視頻流編碼速度梯度效果相差較大,這與塊大小劃分方案有關(guān).如果最終獲得的塊大小劃分方案中大塊較多,編碼速度相對較快,反之若小塊較多,編碼速度相對較慢,速度提升也就較小.
與此同時,由于快速算法往往不能鎖定最優(yōu)的塊大小劃分方案,因而它的引入不可避免地造成了一些編碼性能的損失,15個碼流平均BDBRYUV為11.54%.特別是對小尺寸視頻,編碼性能損失尤其巨大.這是因為小尺寸視頻中小塊特別是8×8和4×4塊數(shù)量較多,而本文提出的算法面對較小的PU塊時判斷效果較差,往往不能給出正確的判決結(jié)果,導(dǎo)致小尺寸視頻編碼性能損失較大,這也是本文提出的快速算法未來可以進一步提高的地方.
3.1碼率控制簡介
視頻編碼的目的是為了在有限的信道帶寬中傳輸盡可能多的信息,而碼率控制就是用于實現(xiàn)對編碼后視頻碼流大小的調(diào)整控制,使之符合視頻傳輸需求.圖5給出了一個碼率控制的實例,沒有經(jīng)過碼率控制的編碼結(jié)果每一幀的幀率浮動變化劇烈,而經(jīng)過碼率控制之后視頻碼流明顯平順,適宜無線傳輸.
圖5 碼率控制簡介Fig.5 Introduction of the rate control
在HEVC視頻編碼標(biāo)準中,對編碼后碼流大小起決定性作用的參數(shù)是量化參數(shù)(Quantization Parameter, QP).對同一幅圖像,QP越大就意味著量化中截取的有效信息越少,此時經(jīng)過編碼之后的碼流也會相應(yīng)減少,解碼后的圖像質(zhì)量相應(yīng)變差.因此,通過改變編碼時的量化參數(shù)QP值,我們就可以對碼流大小進行一定的控制.
3.2低復(fù)雜度碼率控制算法
本次設(shè)計的幀內(nèi)編碼器面向視頻監(jiān)控領(lǐng)域,需要實時傳輸數(shù)據(jù),因而希望碼率相對平緩,每一幀編碼后碼流的比特數(shù)都在目標(biāo)比特數(shù)附近.由于本次設(shè)計中使用的簡易處理器性能有限,當(dāng)前流行的基于R-λ模型的碼率控制算法運算量較大無法實現(xiàn)[10],因此本文中提出了一種低復(fù)雜度的碼率控制方案.該算法分為幀級和宏塊級兩部分,幀級算法將碼率大致控制在目標(biāo)碼率附近,繼而通過宏塊級碼率控制算法進一步精確控制碼率.
幀級碼率控制通過比較前一幀編碼碼率結(jié)果及目標(biāo)碼率完成.由于第一幀沒有可供參考的數(shù)據(jù),其幀級QP直接取常用QP的中間值32.繼而假定前一幀的碼率為B0,目標(biāo)碼率為B,若滿足:
|1-B0/B| (5) 則可認為幀級QP較為合理,不需要進行調(diào)整.式(5)中c為經(jīng)驗常數(shù),一般可取0.1. 如果式(5)不滿足,則需要對幀級QP進行調(diào)整.若此時不處于視頻序列的前5幀,則考慮前后幀畫面清晰度不宜出現(xiàn)較大幅度的變化,若前一幀比特數(shù)過大,則后一幀幀級QP增加1,反之,幀級QP減少1.如果當(dāng)前幀處在視頻序列的前5幀,則可認為此時尚未找到合適的QP值,此時最多可在前一幀幀級QP的基礎(chǔ)上按B0與B的商進行上下幅度為5的調(diào)整,以求迅速找到合適的幀級QP. LCU級碼率控制的算法思想與幀級類似.假定前一幀存在N個LCU,每一個LCU編碼完成后的比特數(shù)存在放在數(shù)組B0[N]中,當(dāng)前幀已經(jīng)編碼完的碼流大小為B1[N]. 首先,對前一幀碼流大小數(shù)組按式(6)進行修正獲得當(dāng)前理想的碼流大小B2[n]: B2[n]=B0[n]×B/B0. (6) 接著,將對應(yīng)的B1[n]與B2[n]作差,如果差值大于c1,則將LCU級QP在幀級QP基礎(chǔ)上作幅度為1的浮動,若差值大于c2,則可作幅度為2的浮動.一般情況下,c1在100附近,c2取值在300上下,具體取值根據(jù)視頻特性決定.考慮到同一幀內(nèi)圖像清晰度變化不能過于明顯,LCU級QP控制在當(dāng)前幀幀級QP上下大小為2的幅度之內(nèi). 最后,由于編碼器限制QP范圍必須限定在[10,51]范圍內(nèi),如果超出范圍需要將QP重新設(shè)定在允許范圍的邊界上.需要注意的是,由于第一幀沒有可參考的比特數(shù)信息,故第一幀不進行LCU級碼率控制,由于幀內(nèi)編碼器硬件中LCU級碼率控制處于流水線第一級,因此每一幀前5個LCU進行QP計算時第一個LCU還未編碼完成,因此每一幀前5個LCU也不進行QP計算. 與塊大小劃分部分類似,我們同樣采用軟硬件協(xié)同的方式實現(xiàn)碼率控制算法.硬件部分較為簡單,主要用于統(tǒng)計編碼碼流大小并將中間數(shù)據(jù)打包送給EDP.算法主體部分通過EDP軟件實現(xiàn),算法中的經(jīng)驗參數(shù)c、c1、c2可以根據(jù)待編碼視頻的特性及編碼結(jié)果,通過重新導(dǎo)入程序的方式進行更改,從而獲得更好的碼率控制效果. 3.3實驗結(jié)果及性能分析 圖6 碼率控制算法性能測試結(jié)果Fig.6 Experiment result of the rate control algorithm 本文給出的碼率控制算法通過軟件實現(xiàn)后進行了性能測試,測試序列為官方給出的Kinomo視頻片段,圖像分辨率為1080p(1920×1080),每幀圖像編碼后碼流的目標(biāo)比特數(shù)為60000bit,這里使用的閾值參數(shù)c取0.1,c1取100,c2取300.使用幀內(nèi)編碼器對測試序列編碼100幀獲得的算法性能測試結(jié)果如圖6所示. 由于未對第一幀作過多限制,第一幀視頻比特數(shù)明顯大于目標(biāo)比特數(shù),但通過碼率控制算法,編碼后視頻每一幀的比特數(shù)很快被限制在了目標(biāo)比特數(shù)附近,并長期穩(wěn)定地保持了下去.雖然每一幀碼流的比特數(shù)略有波動,但總體起伏較小,與目標(biāo)比特數(shù)的差最大不超過百分之一,滿足編碼器實際需求. 本文給出了一個高靈活性HEVC幀內(nèi)編碼器前端設(shè)計,完成碼率控制和塊大小判決兩個功能.提出了一種基于梯度的塊大小劃分快速算法和一種低復(fù)雜度的碼率控制算法,使用軟硬件協(xié)同的方式實現(xiàn)了這兩種算法并給出了測試結(jié)果和性能分析. [1] BROSS B, HAN W J, SULLIVAN G J,etal. High efficiency video coding(HEVC) text specification draft 10 (JCTVC- L1003)[C]∥JCT- VC Meeting (Joint Collaborative Team of ISO/IEC MPEG & ITU- T VCEG). Geneva, Switzerland: JCTVC Press,2013. [2] TSAI S F, LI C T, CHEN H H,etal. A 1062Mpixels/s 8192×4320p high efficiency video coding(H.265) encoder chip[C]∥Symposium on VLSI Circuits. Kyoto, Japan: IEEE Press, 2013: C188- C189. [3] ONISHI T, SANO T, NISHIDA Y,etal. Single- chip 4K 60fps 4∶2∶2 HEVC video encoder LSI with 8K scalability[C]∥Symposium on VLSI Circuits. Kyoto, Japan: IEEE Press, 2015: C54- C55. [4] ZHU J, LIU Z, WANG D,etal. HDTV1080p HEVC Intra encoder with source texture based CU/PU mode pre- decision[C]∥2014 19th Asia and South Pacific Design Automation Conference (ASP- DAC). Suntec, Singapore: IEEE Press, 2014: 367- 372. [5] LIU C, SHEN W, MA T,etal. A highly pipelined VLSI architecture for all modes and block sizes intra prediction in HEVC encoder[C]∥2013 IEEE 10th International Conference on ASIC(ASICON). Shenzhen, Guangdong, China: IEEE Press, 2013: 1- 4. [6] KIM I K, MIN J, LEE T,etal. Block partitioning structure in the HEVC standard[J].IEEETransactionsonCircuitsandSystemsforVideoTechnology, 2012,22(12): 1697- 1706. [7] SULLIVAN G J, OHM J, HAN W J,etal. Overview of the high efficiency video coding (HEVC) standard[J].IEEETransactionsonCircuitsandSystemsforVideoTechnology, 2012,22(12): 1649- 1668. [8] JIANG W, MA H, CHEN Y. Gradient based fast mode decision algorithm for intra prediction in HEVC[C]∥2012 2nd International Conference on Consumer Electronics, Communications and Networks (CECNet). Yichang, Hubei, China: IEEE Press, 2012: 1836- 1840. [9] BJONTEGAARD G. Calcuation of average PSNR differences between RD- curves[C]∥Doc. VCEG- M33 ITU- T Q6/16. Austin, TX, USA: ITU- T VCEG Press, 2001. [10] LI B, LI H, LI L,etal. Rate control by R- lambda model for HEVC[C]∥ITU- T SG16 Contribution, JCTVC- K0103. Shanghai, China: [S.L.]. 2012,: 1- 13. Abstract: A flexible HEVC intra encoder frontend design is proposed based on a two- level pipeline encoder architecture. A gradient- based fast CU partition algorithm and a low complexity rate control algorithm are also proposed for HEVC intra encoder in this paper. The two algorithms are implemented in our hardwired encoder design by hardware and software cooperation. Keywords: HEVC; intra encoder; block size partition; rate control DesignofAFlexibleHEVCIntraEncoderFrontend LU Yanheng, WANG Liming, ZENG Xiaoyang, FAN Yibo (DepartmentofMicroelectronic,FudanUniversity,Shanghai201203,China) TP36;TN37;TP33 A 0427- 7104(2017)01- 0089- 08 2016- 05- 22 國家自然科學(xué)基金(61306023) 陸彥珩(1992—),男,碩士研究生;范益波,男,副教授,通信聯(lián)系人,E- mail: fanyibo@fudan.edu.cn.4 結(jié) 語