一種應(yīng)用于視頻編解碼的dc預(yù)測電路及其方法
【專利摘要】本發(fā)明一種應(yīng)用于視頻編解碼的DC預(yù)測電路和DC預(yù)測方法;其特征是包括加法器復(fù)用模塊、中間值寄存器模塊、狀態(tài)自適應(yīng)機控制模塊;加法器復(fù)用模塊通過復(fù)用加法器得到資源的最大有效利用;中間值寄存器模塊通過把重要的中間值存儲傳遞給下個周期作為輸入,來減少重復(fù)計算;狀態(tài)自適應(yīng)機控制模塊控制數(shù)據(jù)的傳輸和計算周期的跳轉(zhuǎn);本發(fā)明在實現(xiàn)了DC預(yù)測算法功能的基礎(chǔ)上,能減少電路工作面積、降低電路的運算周期、增加工作頻率并且提高計算的準(zhǔn)確率。
【專利說明】
_種應(yīng)用于視頻編解碼的DG預(yù)測電路及其方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明屬于視頻編解碼技術(shù)的預(yù)測編碼技術(shù)領(lǐng)域,具體的說是一種應(yīng)用于視頻編 解碼的DC預(yù)測電路及其方法。
【背景技術(shù)】
[0002] 隨著目前科學(xué)技術(shù)的不斷發(fā)展,信息技術(shù)和計算機互聯(lián)網(wǎng)分別在不同程度改變了 人們的日常的生活。如今,人們獲取信息的主要來源于多媒體信息,而多媒體信息卻以視頻 為核心。在視頻儲存和傳輸不斷被廣泛應(yīng)用的過程中,多媒體技術(shù)漸漸開始將研究領(lǐng)域擴 充到高效視頻編碼的技術(shù)中。人們對于高清視頻并且占用空間小的要求越來越強烈,視頻 編解碼就越顯得重要。DC預(yù)測編碼技術(shù)是幀內(nèi)預(yù)測算法之一,它的廣泛性使用,也使得人們 對其硬件電路的性能要求越來越高。
[0003] 現(xiàn)有技術(shù)中,DC預(yù)測編碼的硬件電路已經(jīng)得到很大的提高,周巍、黃曉東等人在 2013PCS(Picture Coding Symposium)發(fā)表"EFFICIENT INTRA PREDICTION VLSI ARCHITECTURE FORHEVC STANDARD"中所述電路,是目前DC預(yù)測電路和DC預(yù)測方法中比較簡 單和快速的電路;但是仍存在以下四個問題:
[0004] 1、電路面積不夠優(yōu)化,多次使用三輸入加法器,且計算過程中多次出現(xiàn)重復(fù)計算;
[0005] 2、預(yù)測電路存在計算結(jié)果不夠精確的缺陷,算法周期還有降低的空間,周期長拉 低了數(shù)據(jù)的處理速度,以致于對整個視頻編解碼的速率都有影響;
[0006] 3、電路的工作頻率357MHz,相對于之前的電路有很大的提升,但仍待提高以適應(yīng) 高頻率的編碼速度,若DC預(yù)測算法的頻率是瓶頸,將會拉低整個視頻序列的實時編碼速度;
[0007] 4、實現(xiàn)方法存在不精確的問題,未能完全考慮DC預(yù)測算法中,對于移位時產(chǎn)生的 小數(shù)位直接丟棄問題,準(zhǔn)確率降低。
【發(fā)明內(nèi)容】
[0008] 本發(fā)明為解決上述現(xiàn)有技術(shù)中存在的不足之處,提出一種應(yīng)用于視頻編解碼的DC 預(yù)測電路及其方法,以期能減少電路工作面積、降低電路運算周期、提高工作頻率和計算的 準(zhǔn)確率,從而能降低視頻編解碼的成本和功耗。
[0009] 本發(fā)明為達(dá)到上述目的所采用的技術(shù)方案是:
[0010] 本發(fā)明一種應(yīng)用于視頻編解碼的DC預(yù)測電路的特點是,用于在2 X N周期內(nèi)預(yù)測任意一 個圖像中4N X 4N區(qū)域內(nèi)的像素值,記所述4N X 4N區(qū)域為一預(yù)測塊/
則所述預(yù)測塊PU的上方一行參考像素重建值記為A=[R0,-iRi,-!,…,R4N-1;-!],所述預(yù)測塊 PU的左方一列參考像素重建值記為L=[R-u,!?-1;1,…,R-1>4N-山記所述周期為T,貝打連示 第m個周期;初始化n = 1,m = 1;
[0011] 所述DC預(yù)測電路包括:加法器復(fù)用模塊、中間值寄存器模塊、狀態(tài)自適應(yīng)機控制模 塊;
[0012] 所述加法器復(fù)用模塊在第m個周期Tm內(nèi)對所述上方一行參考像素重建值A(chǔ)和左方 一列參考像素重建值L進(jìn)行第η次計算,得到第η次計算的3個累加值SUM_0、SUM_4和5通_6并 傳遞給所述中間值寄存器進(jìn)行存儲,以及在第η次計算時所述預(yù)測塊PU的第一子塊
并直接輸出;
[0013] 所述狀態(tài)自適應(yīng)機控制模塊從所述中間值寄存器中讀取所述第η次計算的3個累 加值SUM_0、SUM_4和SUM_6并傳遞給所述加法器復(fù)用模塊;
[0014] 所述加法器復(fù)用模塊在第m+1個周期Tm+1內(nèi)對所述第η次計算的三個累加值SUM_0、 SUM_4和SUM_6以及所述上方一行參考像素重建值Α進(jìn)行第η次計算,得到第η次計算時所述 預(yù)測塊PU的第二子塊PU〃 η = [ Ρ0, 0,Pi, 0,…,Ph-i, 0 ];對所述第η次計算的三個累加值SUM_0、 SUM_4和SUM_6以及所述左方一列參考像素重建值L進(jìn)行計算,得到在第η次計算時所述預(yù)測 塊?加勺第三子塊卩11〃 /11=[?(),1,?(),2,",?(),411-1];
[0015]由所述第η次計算時的第一子塊PIT η、第二子塊PU〃n以及第三子塊PIT η構(gòu)成第η次 計算時預(yù)測塊PUn,將η+1賦值給η,將m+2賦值給m后,重復(fù)所述加法器復(fù)用模塊的第η次計 算,直到η = Ρ?@_πι = 2ΧΝ為止,從而獲得預(yù)測塊PU。
[0016] 本發(fā)明所述的應(yīng)用于視頻編解碼的DC預(yù)測電路的特點也在于,所述加法器復(fù)用模 塊包括:一號加法器、二號加法器、三號加法器、四號加法器、五號加法器、六號加法器、七號 加法器、八號加法器、一號移位器、二號移位器、三號移位器、四號移位器、五號移位器、六號 移位器、七號移位器、八號移位器、九號移位器;
[0017] 所述加法器復(fù)用模塊的第η次計算為:
[0018] 在第m個周期1"內(nèi),所述一號加法器至四號加法器對所述上方一行參考像素重建 值A(chǔ)和左方一列參考像素重建值L進(jìn)行第η次計算,得到第η次計算的四個累加值SUM_0、SUM_ 1、SUM_2、SUM_3;
[0019] 由所述八號加法器對所述第n次計算的四個累加值SUM_0、SUM_1、SUM_2、SUM_3和 常數(shù)"4"進(jìn)行計算,得到第n次計算的累加值SUM_7;
[0020] 所述一號移位器對所述第η次計算的累加值SUM_7進(jìn)行右移3位操作,得到第η次計 算平均值DCvalue;
[0021] 所述二號移位器對所述第η次計算的平均值DCvalue進(jìn)行右移2位操作,得到第η次 計算的中間值DCvalue';
[0022] 所述六號加法器對所述第η次計算的中間值DCvalue'和第η次計算的平均值 DCvalue進(jìn)行計算,得到第η次計算的累加值SUM_5;
[0023] 所述七號加法器對所述第η次計算的累加值SUM_5和常數(shù)"2"進(jìn)行計算,得到第η次 計算的累加值SUM_6;
[0024] 所述五號加法器對所述第η次計算的中間值DCvalue'和常數(shù)"2"進(jìn)行計算,得到第 η次計算的累加值SUM_4;
[0025] 以所述第η次計算的平均值DCvalue作為所述第η次計算的第一子塊PIT "中的所有 元素值;
[0026] 在第m+1個周期Tm+1內(nèi),所述一號加法器對所述第η次計算的累加值SUM_0和第η次 計算的SUM_4進(jìn)行第η次計算,得到的結(jié)果再利用所述三號移位器進(jìn)行右移2位操作,得到第 η次計算的第二子塊PU%中的第一個元素值Ρη-1>η-1;
[0027] 所述二號加法器對所述上方一行參考像素重建值Α中的元素值Rn,^和第η次計算 的累加值SUM_6進(jìn)行計算,得到的結(jié)果再利用所述四號移位器進(jìn)行右移2位操作,得到第η次 計算的第二子塊PU〃 n中的第二個元素值Ρη,η-1;
[0028] 所述三號加法器對所述上方一行參考像素重建值Α中的元素值Rn+1,^和第η次計算 的累加值SUM_6進(jìn)行計算,得到的結(jié)果再利用所述五號移位器進(jìn)行右移2位操作,得到第二 子塊PU〃 n中的第三個元素值Pn+1,n-1;
[0029] 所述四號加法器對所述上方一行參考像素重建值A(chǔ)中的元素值Rn+2,^和第η次計算 的累加值SUM_6進(jìn)行計算,得到的結(jié)果再利用所述六號移位器進(jìn)行右移2位操作,得到第η次 計算的第二子塊PU%中的第四個元素值Ρ η+2,η-1;
[0030] 所述五號加法器對所述左方一列參考像素重建值L中的元素值R-1>n和第η次計算 的累加值SUM_6進(jìn)行計算,得到的結(jié)果再利用所述七號移位器進(jìn)行右移2位操作,得到第η次 計算的第三子塊PU"、中的第一個元素值Ρ η-1>η;
[0031] 所述六號加法器對所述左方一列參考像素重建值L中的元素值R-1>n+1和第η次計算 的累加值SUM_6進(jìn)行計算,得到的結(jié)果再利用所述八號移位器進(jìn)行右移2位操作,得到第η次 計算的第三子塊PU"、中的第二個元素值Ρ η-1>η+1;
[0032] 所述七號加法器對所述左方一列參考像素重建值L中的元素值R-1>n+2和第η次計算 的累加值SUM_6進(jìn)行計算,得到的結(jié)果再利用所述九號移位器進(jìn)行右移2位操作,得到第η次 計算的第三子塊PU"、中的第三個元素值Ρ η-1>η+2。
[0033] 本發(fā)明一種應(yīng)用于視頻編解碼的DC預(yù)測方法的特點是用于在2ΧΝ周期內(nèi)預(yù)測任意一個 圖像中4NX4嘔域內(nèi)的像素值,記所述4NX4N區(qū)域為一預(yù)測塊』
則所述預(yù)測塊PU的上方一行參考像素重建值記為A=[R0,-l,Kl,-1,···,K4N-1,-1」,所還頂測厭 PU的左方一列參考像素重建值記為L=[R-1;1,…,R-1>4N-山記所述周期為T,貝打連示 第 m 個周期;NG(l,2,4,8,16);Kn<N;Km<2XN;
[0034] 所述預(yù)測方法是按如下步驟進(jìn)行:
[0035] 步驟 1、初始化n = l,m=l;
[0036] 步驟2、在第m個周期1"內(nèi),利用式(1)得到第η次計算的累加值SUM_0:
[0037] SUM_0 = Rn-i,-i+R-i,n-i (1)
[0038] 步驟3、在第m個周期1"內(nèi),利用式(2)得到第η次計算的平均值Devalue,并以所述 平均值Devalue作為所述第η次計算的第一子±彡
中的所有 元素值;
[0039]
[0040]步驟4、在第m個周期1?內(nèi),利用式(3)得到第η次計算的累加值Sum_4:
[0041] Sum_4 = 2 XDcvalue+2 (3)
[0042] 步驟5、在第m個周期1?內(nèi),利用式(4)得到第η次計算的累加值Sum_6:
[0043] Sum_6 = 3 X Dcvalue+2 (4)
[0044] 步驟6、在第m+1個周期Tm+1內(nèi),利用式(5)得到第η次計算的第二子塊PU〃n= [Ρο,ο, Ρ?,Ο,…,Ρ4η-1,0]中的第一個元素值Ρη-Ι,η-1:
[0045] Ρη-1, η-1 = (SUM_0+SUM_4) ^ 4 (5)
[0046] 步驟7、在第m+1個周期Tm+1內(nèi),利用式(6)得到第η次計算的第二子塊PU" η中的第二 個元素值Ρη,η-1:
[0047] Pn,n-l=(Rn)-l+SUM_6)^4 (6)
[0048] 步驟8、在第m+1個周期Tm+1內(nèi),利用式(7)得到第η次計算的第二子塊PU〃 n中的第三 個元素值Ρη+Ι,η-1:
[0049] Pn+i,n-i=(Rn+i>-i+SUM_6)^4 (7)
[0050] 步驟9、在第m+1個周期Tm+1內(nèi),利用式(8)得到第η次計算的第二子塊PU〃n中的第四 個元素值Pn+2,n-l :
[0051] Pn+2,n-1 = (Rn+2,-1+SUM_6 ) ^4 (8)
[0052] 步驟10、在第m+1個周期Tm+1內(nèi),利用式(9)得到第η次計算的第三子塊PU〃' η中的第 一個元素值Ρη-Ι,η:
[0053] Pn-i,n=(R-i)n+SUM_6)^4 (9)
[0054] 步驟11、在第m+1個周期Tm+1內(nèi),利用式(10)得到第η次計算的第三子塊Pl/〃 n中的 第二個元素值Pn-1>n+1:
[0055] Ρη-1, n+1 = (R-i, n+i+SUM_6) ^ 4 (10)
[0056] 步驟12、在第m+1個周期Tm+1內(nèi),利用式(11)得到第n次計算的第三子塊PU〃7n中的 第三個元素值Ρη-1, n+2 :
[0057] Pn-1, n+2 = ( R-l, n+2+SUM_6 ) ^ 4 (11)
[0058] 從而得到在第η次計算時所述預(yù)測塊PU第二子塊?1]%=[?0,0少1,(),一,?411- 1,()]和第 二子塊PtZ" η= [Ρο,Ι,P0,2,…,P0,4n-1];
[0059] 步驟13、由所述第n次計算時的第二子塊PU〃n和第三子塊PIT n構(gòu)成第n次計算時預(yù) 測塊PUn;
[0060] 步驟14、將n+1賦值給n,將m+2賦值給m后,重復(fù)步驟2執(zhí)行,直到n = N且m = 2 XN為 止,從而獲得預(yù)測塊PU。
[0061] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益技術(shù)效果體現(xiàn)在:
[0062] 1、本發(fā)明提出的優(yōu)化現(xiàn)有DC預(yù)測算法電路設(shè)計,克服了電路占用面積大、工作頻 率不夠高的問題,提出了一種應(yīng)用于視頻編解碼的DC預(yù)測算法的硬件實現(xiàn)方式,采用了分 割處理架構(gòu),通過加法器復(fù)用、狀態(tài)自適應(yīng)機控制以及中間值寄存等技術(shù),降低了預(yù)測電路 面積,并提高了預(yù)測電路的工作頻率。
[0063] 2、本發(fā)明提出的應(yīng)用于視頻編解碼的DC預(yù)測算法的實現(xiàn)方式,通過加法器的復(fù)用 模塊,減少了數(shù)據(jù)的重復(fù)計算,把邏輯門數(shù)從12970降低到8762,有效降低了電路的占用面 積,從而降低了整個電路的設(shè)計成本。
[0064] 3、本發(fā)明提出的通過狀態(tài)機來控制加法器的輸入端,從而達(dá)到了對加法器進(jìn)行復(fù) 用,同時減少了冗余計算,并且巧妙的使用寄存器來寄存中間值,把原有工作周期從3個周 期降到2個周期,DC預(yù)測算法是視頻編解碼預(yù)測算法的一種,因為DC預(yù)測算法電路工作的速 度提高了 33%,所以這將會使得整個視頻編解碼的速率都有顯著的提升,進(jìn)而提高了工作 頻率,從而提高了視頻編解碼的速度。
[0065] 4、本發(fā)明提出的應(yīng)用于視頻編解碼的DC預(yù)測算法的實現(xiàn)方式,精簡了電路結(jié)構(gòu), 使得最快工作頻率達(dá)到500MHz,與之前電路相比,速度提高了25%,根據(jù)該電路的工作頻 率,把視頻序列的實時編碼速率從4096 X 2160@30fps提升到了 7680 X 4320@30fps。
[0066] 5、本發(fā)明提出的硬件優(yōu)化后的DC預(yù)測算法電路技術(shù),更準(zhǔn)確的遵循DC預(yù)測算法的 工作原理。在進(jìn)行Devalue值計算時,考慮到硬件電路在移位過程中,可能會出現(xiàn)四舍五入 的情況,把加 N的計算考慮進(jìn)去,有效克服了全部舍去出現(xiàn)的錯誤預(yù)測,把原本有像素的點 的預(yù)測成無像素點。本發(fā)明相比之前的設(shè)計,對算法實現(xiàn)的更完善、更精準(zhǔn)。
【附圖說明】
[0067]圖1為本發(fā)明DC預(yù)測模板;
[0068]圖2為本發(fā)明DC預(yù)測硬件結(jié)構(gòu)電路;
[0069] 圖3為本發(fā)明DC預(yù)測算法的中間值計算電路;
[0070] 圖4為本發(fā)明DC預(yù)測算法的預(yù)測值計算電路;
[0071] 圖5為本發(fā)明狀態(tài)機電路;
[0072] 圖6為本發(fā)明優(yōu)化結(jié)果實驗數(shù)據(jù)對比圖。
【具體實施方式】
[0073] 本實施例中,一種應(yīng)用于視頻編解碼的DC預(yù)測電路用于在2XN周期內(nèi)預(yù)測任意一個圖 像中4N X 4N區(qū)域內(nèi)的像素值,記4N X 4N區(qū)域為一預(yù)測塊J
則預(yù)測塊的上方一行參考像素重建值記為A=[R0,-^Ri,-丨,…,!^-1,-1],預(yù)測塊PU的左方 一列參考像素重建值記為1^=[1?-1,(),1?-1,1,〃_,1?-1,411];記周期為1',則1'111表不第111個周期 ;
[0074] 具體實施中,N= 1,則在2周期內(nèi)預(yù)測任意一個圖像中4 X 4區(qū)域內(nèi)的像素值,記4 X 4區(qū)域為一預(yù)測塊
,如圖1所示,則預(yù)測塊PU的上方一行參考像 素重建值記為A= [Rq,-i,Ri,-i,R2,-i,R3-i],預(yù)測塊PU的左方一列參考像素重建值記為L = [R-1,0,R-1,1,R-1,2,R-1,3] ;Tm表示第m個周期,貝ijTi表示第1個周期;初始化n = l,m=l;
[0075] 如圖2所示,DC預(yù)測電路包括:加法器復(fù)用模塊、中間值寄存器模塊、狀態(tài)自適應(yīng)機 控制模塊;
[0076] 加法器復(fù)用模塊在第1個周期1^內(nèi)對上方一行參考像素重建值A(chǔ)和左方一列參考 像素重建值L進(jìn)行第1次計算,得到第1次計算的3個累加值SUM_0、SUM_4和SUM_6并傳遞給中 間值寄存器進(jìn)行存儲,以及在第1次計算時預(yù)測塊PU的第一子塊
中直 接輸出;
[0077]狀態(tài)自適應(yīng)機控制模塊從中間值寄存器中讀取第1次計算的3個累加值SUM_0、 SUM_4和SUM_6并傳遞給加法器復(fù)用模塊;
[0078]加法器復(fù)用模塊在第2個周期T2內(nèi)對第1次計算的三個累加值SUM_0、SUM_4和SUM_ 6以及上方一行參考像素重建值A(chǔ)進(jìn)行第1次計算,得到第1次計算時預(yù)測塊PU的第二子塊 PU/ = [Pm,Pi, 0,Ρ2, 0,P3, 0];對第1次計算的三個累加值SUM_0、SUM_4和SUM_6以及左方一列 參考像素重建值L進(jìn)行計算,得到在第1次計算時預(yù)測塊PU的第三子塊 P〇,3];
[0079] 由第1次計算時的第一子塊PI/ i、第二子塊PU%以及第三子塊PIT i構(gòu)成第1次計算 時預(yù)測塊PUi,由于N=l,所以η的值為1,即只需要計算一次即可得到預(yù)測值PUfPU。
[0080] 加法器復(fù)用模塊包括:一號加法器、二號加法器、三號加法器、四號加法器、五號加 法器、六號加法器、七號加法器、八號加法器、一號移位器、二號移位器、三號移位器、四號移 位器、五號移位器、六號移位器、七號移位器、八號移位器、九號移位器;
[0081 ]加法器復(fù)用模塊的第1次計算為:
[0082] 如圖3所示,在第1個周期1^內(nèi),一號加法器至四號加法器對上方一行參考像素重 建值A(chǔ)和左方一列參考像素重建值L進(jìn)行第1次計算,得到第1次計算的四個累加值SUM_0、 SUM_1、SUM_2、SUM_3;
[0083] 由八號加法器對第1次計算的四個累加值SUM_0、SUM_1、SUM_2、SUM_3和常數(shù)"4"進(jìn) 行計算,得到第1次計算的累加值SUM_7;
[0084] -號移位器對第1次計算的累加值SUM_7進(jìn)行右移3位操作,得到第1次計算平均值 DCvalue;
[0085] 二號移位器對第1次計算的平均值DCvalue進(jìn)行右移2位操作,得到第1次計算的中 間值DCvalue';
[0086] 六號加法器對第1次計算的中間值DCvalue'和第1次計算的平均值DCvalue進(jìn)行計 算,得到第1次計算的累加值SUM_5;
[0087] 七號加法器對第1次計算的累加值SUM_5和常數(shù)"2"進(jìn)行計算,得到第1次計算的累 加值SUM_6;
[0088] 五號加法器對第1次計算的中間值DCvaluV和常數(shù)"2"進(jìn)行計算,得到第1次計算 的累加值SUM_4;
[0089] 以第1次計算的平均值DCvalue作為第1次計算的第一子塊PI/i中的所有元素值;
[0090] 在第2個周期T2ft,重復(fù)使用加法器模塊的八個加法器,第1個周期Ti內(nèi)計算的中間 值寄存到中間寄存器模塊中,以其作為第2個周期T 2內(nèi)的輸入;
[0091] 如圖4所示,一號加法器對第1次計算的累加值SUM_0和第1次計算的SUM_4進(jìn)行計 算,得到的結(jié)果再利用三號移位器進(jìn)行右移2位操作,得到第1次計算的第二子塊PU%中的 第一個元素值Pm;
[0092] 二號加法器對上方一行參考像素重建值A(chǔ)中的元素值Rk和第1次計算的累加值 SUM_6進(jìn)行計算,得到的結(jié)果再利用四號移位器進(jìn)行右移2位操作,得到第1次計算的第二子 塊PU〃 i中的第二個元素值Pi, 〇;
[0093] 三號加法器對上方一行參考像素重建值A(chǔ)中的元素值R2,^和第1次計算的累加值 SUM_6進(jìn)行計算,得到的結(jié)果再利用五號移位器進(jìn)行右移2位操作,得到第二子塊PU%中的 第三個元素值P2,o;
[0094] 四號加法器對上方一行參考像素重建值A(chǔ)中的元素值R3,^和第1次計算的累加值 SUM_6進(jìn)行計算,得到的結(jié)果再利用六號移位器進(jìn)行右移2位操作,得到第1次計算的第二子 塊PU〃 i中的第四個元素值P3, 〇;
[0095] 五號加法器對左方一列參考像素重建值L中的元素值R-1;1和第1次計算的累加值 SUM_6進(jìn)行計算,得到的結(jié)果再利用七號移位器進(jìn)行右移2位操作,得到第1次計算的第三子 塊PI/" !中的第一個元素值Po, i;
[0096] 六號加法器對左方一列參考像素重建值L中的元素值R-1>2和第1次計算的累加值 SUM_6進(jìn)行計算,得到的結(jié)果再利用八號移位器進(jìn)行右移2位操作,得到第1次計算的第三子 塊PI/" i中的第二個元素值P〇,2;
[0097] 七號加法器對左方一列參考像素重建值L中的元素值R-1>3和第1次計算的累加值 SUM_6進(jìn)行計算,得到的結(jié)果再利用九號移位器進(jìn)行右移2位操作,得到第1次計算的第三子 塊PU〃' i中的第三個元素值Po, 3;
[0098] 如圖5所示,狀態(tài)自適應(yīng)機控制模塊包含兩個狀態(tài):計算中間值狀·Μ_ν&1ι?θ和預(yù) 測像素值狀態(tài)P_value,兩個狀態(tài)是無條件自動跳轉(zhuǎn)。
[0099] 本實例中,如表1所示,參考像素值由上方一列參考像素重建值和左方一列參考像 素重建值構(gòu)成;
[0100] 表1參考像素值
[0101]
[0102] 本實施例中,一種應(yīng)用于視頻編解碼的DC預(yù)測方法是按如下步驟進(jìn)行:
[0103] 步驟 1、初始化n = i,m=l;
[0104] 步驟2、在第1個周期1\內(nèi),利用式(1)得到第1次計算的累加值SUM_0:
[0105] SUM_0 = Ro,-i+R-i,o = 20 (1)
[0106] 步驟3、在第1個周期1^內(nèi),利用式(2)得到第1次計算的平均值Devalue,并以平均 值Devalue作為第1次計算的第一子塊
中的所有元素值;
[0107]
[0108] 步驟4、在第1個周期1\內(nèi),利用式(3)得到第1次計算的累加值Sum_4:
[0109] Sum_4 = 2 XDcvalue+2 = 22 (3)
[0110] 步驟5、在第1個周期1\內(nèi),利用式(4)得到第1次計算的累加值Sum_6:
[0111] Sum_6 = 3 X Dcvalue+2 = 32 (4)
[0112] 步驟6、在第2個周期T2內(nèi),利用式(5)得到第1次計算的第二子塊PU〃 i = [Po, ο,Pi, ο, 卩2,0,?3,0]中的第一個元素值?0,0:
[0113] Ρο, ο = (SUM_0+SUM_4 )^4 = 10 (5)
[0114] 步驟7、在第2個周期T2ft,利用式(6)得到第1次計算的第二子塊PU%中的第二個元 素值Ρι,ο:
[0115] Pi,〇=(Ri,-i+SUM_6)^4=10 (6)
[0116] 步驟8、在第2個周期T2ft,利用式(7)得到第1次計算的第二子塊PU%中的第三個元 素值P2,0:
[0117] P2,o=(R2)-i+SUM_6)^4=10 (7)
[0118] 步驟9、在第2個周期^內(nèi),利用式(8)得到第1次計算的第二子塊PU%中的第四個元 素值P3,0:
[0119] P3,o=(R3)-i+SUM_6)^4=10 (8)
[0120] 步驟10、在第2個周期T2R,利用式(9)得到第1次計算的第三子塊PIT i中的第一個 元素值Ρο,ι:
[0121] P〇,i = (R-i>i+SUM_6)^4=10 (9)
[0122] 步驟11、在第2個周期T2內(nèi),利用式(10)得到第1次計算的第三子塊PU〃' i中的第二 個元素值P〇,2:
[0123] P〇,2 = (R-i,2+SUM_6)^4=10 (10)
[0124] 步驟12、在第2個周期T2內(nèi),利用式(11)得到第1次計算的第三子塊Pl/〃 i中的第三 個元素值P〇,3:
[0125] P〇,3 = (R-i,3+SUM_6)^4=10 (11)
[0126] 從而得到在第1次計算時預(yù)測塊PU第二子塊?1]〃1=[?0,(),? 1,(),?2,(),?3,()]和第三子 塊Ρυ?Ρο,ιΡ^Ρ。』];
[0127] 步驟13、由第1次計算的第二子塊PU%和第三子塊Plf^構(gòu)成第1次計算時預(yù)測塊 PUi;
[0128] 步驟14、由1彡η彡N;1彡m彡2 XN知只需要計算一次即可,從而獲得預(yù)測塊PU的值 如表2;
[0129] 表2預(yù)測像素值
[0130]
[0131] 針對4X4的預(yù)測塊對DC預(yù)測算法進(jìn)行VLSI設(shè)計,并采用Verilog HDL語言進(jìn)行描 述,通過Synopsys軟件進(jìn)行仿真和綜合,在SMIC 0.18um工藝下綜合得到該電路最快工作頻 率為500MHz,電路工作的面積為8762gate,算法周期降低到2個周期。本發(fā)明與周巍、黃曉東 等人在2013PCS(Picture Coding Symposium)發(fā)表"EFFICIENT INTRA PREDICTION VLSI ARCHITECTURE F0RHEVC STANDARD"中所述電路相比,工作頻率提高了40%,門控數(shù)降低了 40%,算法周期降低了 33%,工作頻率、邏輯門數(shù)、算法周期的對比圖分別在圖6所示,如果 擴展到整個視頻編解碼的平臺上,優(yōu)化效果更明顯。
【主權(quán)項】
1. 一種應(yīng)用于視頻編解碼的DC預(yù)測電路,其特征是,用于在2XN周期內(nèi)預(yù)測任意一個圖像 中4N X 4N區(qū)域內(nèi)的像素值,記所述4N X 4N區(qū)域為一預(yù)測塊則所述預(yù)測塊PU的上方一行參考像素重建值記為A=[Ro,-i,Ri,-1,···,R4N-1,-1],所述預(yù)測塊 PU的左方一列參考像素重建值記為L= [R-1,0,R-1,1,…,R-1,4N-1];記所述周期為T,則Tm表不 第m個周期;初始化n = I,m = 1; 所述DC預(yù)測電路包括:加法器復(fù)用模塊、中間值寄存器模塊、狀態(tài)自適應(yīng)機控制模塊; 所述加法器復(fù)用模塊在第m個周期Tm內(nèi)對所述上方一行參考像素重建值A(chǔ)和左方一列參 考像素重建值L進(jìn)行第η次計算,得到第η次計算的3個累加值SUMJK SUM_4和SUM_6并傳遞給 所述中間值寄存器進(jìn)行存儲,以及在第η次計算時所述預(yù)測塊HJ的第一子塊并直接輸出; 所述狀態(tài)自適應(yīng)機控制模塊從所述中間值寄存器中讀取所述第η次計算的3個累加值 SUM_0、SUM_4和SUM_6并傳遞給所述加法器復(fù)用模塊; 所述加法器復(fù)用模塊在第m+1個周期IW內(nèi)對所述第η次計算的三個累加值SUM_0、SUM_ 4和SUM_6以及所述上方一行參考像素重建值A(chǔ)進(jìn)行第η次計算,得到第η次計算時所述預(yù)測 塊PU的第二子塊PU〃n = [Po, 〇,P1, 〇,…,P4n-!, 〇];對所述第η次計算的三個累加值SUM_0、SUM_4 和SUM_6以及所述左方一列參考像素重建值L進(jìn)行計算,得到在第η次計算時所述預(yù)測塊PU 的第三子塊?1^"11=[?(),1,?(),2,",?(),411-1]; 由所述第η次計算時的第一子塊PU\、第二子塊Plfn以及第三子塊Plf'構(gòu)成第η次計算 時預(yù)測塊PUn,將η+1賦值給η,將m+2賦值給m后,重復(fù)所述加法器復(fù)用模塊的第η次計算,直 至Ijn = N且m = 2 X N為止,從而獲得預(yù)測塊PU。2. 根據(jù)權(quán)利要求1所述的應(yīng)用于視頻編解碼的DC預(yù)測電路,其特征是,所述加法器復(fù)用 模塊包括:一號加法器、二號加法器、三號加法器、四號加法器、五號加法器、六號加法器、七 號加法器、八號加法器、一號移位器、二號移位器、三號移位器、四號移位器、五號移位器、六 號移位器、七號移位器、八號移位器、九號移位器; 所述加法器復(fù)用模塊的第η次計算為: 在第m個周期1?內(nèi),所述一號加法器至四號加法器對所述上方一行參考像素重建值A(chǔ)和 左方一列參考像素重建值L進(jìn)行第η次計算,得到第η次計算的四個累加值SUM_0、SUM_1、 SUM_2、SUM_3; 由所述八號加法器對所述第η次計算的四個累加值SUM_0、SUM_1、SUM_2、SUM_3和常數(shù) "4"進(jìn)行計算,得到第n次計算的累加值SUM_7; 所述一號移位器對所述第η次計算的累加值SUM_7進(jìn)行右移3位操作,得到第η次計算平 均值 DCvalue; 所述二號移位器對所述第η次計算的平均值DCvalue進(jìn)行右移2位操作,得到第η次計算 的中間值DCvalue7 ; 所述六號加法器對所述第η次計算的中間值DCvalue'和第η次計算的平均值DCvalue進(jìn) 行計算,得到第η次計算的累加值SUM_5; 所述七號加法器對所述第η次計算的累加值SUM_5和常數(shù)"2"進(jìn)行計算,得到第η次計算 的累加值SUM_6; 所述五號加法器對所述第η次計算的中間值DCvalue'和常數(shù)"2"進(jìn)行計算,得到第η次 計算的累加值SUM_4; 以所述第η次計算的平均值DCvalue作為所述第η次計算的第一子塊PIT n中的所有元素 值; 在第m+1個周期Tm+1內(nèi),所述一號加法器對所述第η次計算的累加值SUM_0和第η次計算 的SUM_4進(jìn)行第η次計算,得到的結(jié)果再利用所述三號移位器進(jìn)行右移2位操作,得到第η次 計算的第二子塊PU%中的第一個元素值Ρ η-1>η-1; 所述二號加法器對所述上方一行參考像素重建值A(chǔ)中的元素值Rk和第η次計算的累加 值SUM_6進(jìn)行計算,得到的結(jié)果再利用所述四號移位器進(jìn)行右移2位操作,得到第η次計算的 第二子塊PU〃n中的第二個元素值Ρη,η-1; 所述三號加法器對所述上方一行參考像素重建值A(chǔ)中的元素值Rn+^和第η次計算的累 加值SUM_6進(jìn)行計算,得到的結(jié)果再利用所述五號移位器進(jìn)行右移2位操作,得到第二子塊 Plfn中的第三個元素值; 所述四號加法器對所述上方一行參考像素重建值A(chǔ)中的元素值Rn+^和第η次計算的累 加值SUM_6進(jìn)行計算,得到的結(jié)果再利用所述六號移位器進(jìn)行右移2位操作,得到第η次計算 的第二子塊PU〃n中的第四個元素值Ρ η+2,η-1; 所述五號加法器對所述左方一列參考像素重建值L中的元素值R-1>n和第η次計算的累加 值SUM_6進(jìn)行計算,得到的結(jié)果再利用所述七號移位器進(jìn)行右移2位操作,得到第η次計算的 第三子塊PU〃' η中的第一個元素值Pn, η; 所述六號加法器對所述左方一列參考像素重建值L中的元素值R-1>n+1和第η次計算的累 加值SUM_6進(jìn)行計算,得到的結(jié)果再利用所述八號移位器進(jìn)行右移2位操作,得到第η次計算 的第三子塊PU"'中的第二個元素值Ρ η-1>η+1; 所述七號加法器對所述左方一列參考像素重建值L中的元素值R-1>n+2和第η次計算的累 加值SUM_6進(jìn)行計算,得到的結(jié)果再利用所述九號移位器進(jìn)行右移2位操作,得到第η次計算 的第三子塊Ρ?/〃 η中的第三個元素值Ρη-1>η+2。3. -種應(yīng)用于視頻編解碼的DC預(yù)測方法,其特征是用于在2 X N固期內(nèi)預(yù)測仵意一個圖像中 4Ν X 4Ν區(qū)域內(nèi)的像素值,記所述4Ν X 4Ν區(qū)域為一預(yù)測蘿則所述預(yù)測塊PU的上方一行參考像素重建值記為A=[Ro,-i,Ri,-1,···,R4N-1,-1],所述預(yù)測塊 PU的左方一列參考像素重建值記為L= [R-1,0,R-1,1,…,R-1,4N-1];記所述周期為T,則Tm表不 第 m 個周期;NG(l,2,4,8,16);Kn<N;Km<2XN; 所述預(yù)測方法是按如下步驟進(jìn)行: 步驟1、初始化n= I,m= 1; 步驟2、在第m個周期1"內(nèi),利用式(1)得到第η次計算的累加值SUM_0: SUM_0 = Rn-l,-l+R-l,n-l (I) 步驟3、在第m個周期1?內(nèi),利用式(2)徨剎笛笪的平抝佶TV.vAlim,并以所述平均值 Devalue作為所述第η次計算的第一子塊.3的所有元素值;步驟4、在第m個周期1"內(nèi),利用式(3)得到第η次計算的累加值Sum_4: Sum_4 = 2 XDcvalue+2 (3) 步驟5、在第m個周期1"內(nèi),利用式(4)得到第η次計算的累加值Sum_6: Sum_6 = 3 XDcvalue+2 (4) 步驟6、在第m+1個周期Tm+1內(nèi),利用式(5)得到第η次計算的第二子塊PU〃n=[P〇,〇, Ρ?,Ο,…,P4n-1,0]中的第一個元素值Pn-Ι,η-1: Pn-1, η-1 = (SUM_0+SUM_4) + 4 (5) 步驟7、在第m+1個周期Tm+1內(nèi),利用式(6)得到第η次計算的第二子塊PUn 〃中的第二個元 素值 Ρη, η-1: Pn,n-l=(Rn,-l+SUM_6)^4 (6) 步驟8、在第m+1個周期Tm+1內(nèi),利用式(7)得到第η次計算的第二子塊PUn 〃中的第三個元 素值 Pn+l,n-1: Ρη+ι,η-i=(Rn+i,-i+SUM_6)+4 (7) 步驟9、在第m+1個周期Tm+1內(nèi),利用式(8)得到第η次計算的第二子塊PUn 〃中的第四個元 素值 Ρη+2,η-1: Pn+2,n-i=(Rn+2,-i+SUM_6)+4 (8) 步驟10、在第m+1個周期Tm+1內(nèi),利用式(9)得到第n次計算的第三子塊PlV〃中的第一個 元素值Ρη-1, η: Pn-l,n=(R-l,n+SUM_6)+4 (9) 步驟11、在第m+1個周期Tm+1內(nèi),利用式(10)得到第n次計算的第三子塊PUr/"中的第二個 兀素值Ρη-1,η+1: Pn-l,n+l=(R-l,n+l+SUM_6)^4 (10) 步驟12、在第m+1個周期Tm+1內(nèi),利用式(11)得到第η次計算的第三子塊PIT n中的第三個 兀素值Ρη-l,n+2 : Pn-i,n+2=(R-i,n+2+SUM_6)+4 (11) 從而得到在第n次計算時所述預(yù)測塊PU第二子塊Plfn= [PM,和第三子 塊Pt/" η= [P〇,l,P〇,2,…,P〇,4n-1]; 步驟13、由所述第η次計算時的第二子塊PU〃n和第三子塊Ρ?/〃 n構(gòu)成第η次計算時預(yù)測塊 PUn; 步驟14、將η+1賦值給η,將m+2賦值給m后,重復(fù)步驟2執(zhí)行,直到n = N且m = 2 X N為止,從 而獲得預(yù)測塊PU。
【文檔編號】H04N19/70GK105898334SQ201610471667
【公開日】2016年8月24日
【申請日】2016年6月22日
【發(fā)明人】杜高明, 郭晨陽, 張阿敏, 張多利, 宋宇鯤, 王春華
【申請人】合肥工業(yè)大學(xué)