亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種高效視頻編碼中判定濾波強弱的可重構(gòu)陣列結(jié)構(gòu)的制作方法

文檔序號:10492672閱讀:300來源:國知局
一種高效視頻編碼中判定濾波強弱的可重構(gòu)陣列結(jié)構(gòu)的制作方法
【專利摘要】本發(fā)明涉及一種高效視頻編碼中判定濾波強弱的可重構(gòu)陣列結(jié)構(gòu),針對亮度分量8×4塊大小的垂直邊界,使用7個處理元陣列,可以并行判斷出該垂直邊界濾波的強弱程度。垂直邊界處理結(jié)束后,通過編程重構(gòu)該結(jié)構(gòu)可以實現(xiàn)亮度分量中4×8大小的水平邊界濾波強弱的判定。本發(fā)明可以并行判斷出濾波強弱程度,縮短了編解碼時間,加快了編解碼過程。
【專利說明】
一種高效視頻編碼中判定濾波強弱的可重構(gòu)陣列結(jié)構(gòu)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及視頻壓縮編碼技術(shù)領(lǐng)域,尤其涉及一種高效視頻編碼中判定濾波強弱的可重構(gòu)陣列結(jié)構(gòu)。
【背景技術(shù)】
[0002]最新的視頻編碼標(biāo)準(zhǔn)H.265/HEVC提出了一種新的環(huán)路濾波技術(shù),包括去方塊濾波和像素自適應(yīng)補償。去方塊濾波用于降低方塊效應(yīng),像素自適應(yīng)補償用于改善振鈴效應(yīng),經(jīng)過濾波后的重構(gòu)像素作為后續(xù)編碼像素的參考使用,能夠進一步減小后續(xù)編碼像素的預(yù)測殘差,有效地提高視頻的主客觀質(zhì)量。
[0003]雖然H.264和H.265/HEVC中都包含去方塊濾波操作,并且具體濾波算法類似,但是H.265/HEVC中去方塊濾波和H.264/AVC去方塊濾波強弱的判定方法不同:H.264/AVC中根據(jù)邊界強度BS(Boundary strength)的大小即可以判定出濾波的強弱,而H.265/HEVC中在濾波開關(guān)打開的條件下,須對視頻內(nèi)容進行更加細(xì)致的判斷,以進一步確定濾波強度。H.265/HEVC中濾波強弱的判定只針對亮度分量進行,色度分量的濾波只與邊界強度值有關(guān)。對色度分量來說,只有當(dāng)BS(Boundary strength,邊界強度)等于2時才進行濾波操作。

【發(fā)明內(nèi)容】

[0004]—種高效視頻編碼中判定濾波強弱的可重構(gòu)陣列結(jié)構(gòu),其特征在于使用7個處理元陣列(PE00-PE21)鄰接互連成最后一行只有中間一個處理元陣列(PE21)的3行3列類Mesh陣列結(jié)構(gòu)(2),該結(jié)構(gòu)適用于去方塊濾波中亮度分量8X4塊大小的垂直邊界濾波強弱的判定,通過編程重構(gòu)該結(jié)構(gòu)還可以實現(xiàn)亮度分量中4X8塊大小水平邊界濾波強弱的判定。具體過程如下:
步驟1:同時加載濾波強弱判定的六個條件中的所有相關(guān)參數(shù)。第一個條件2(dpQ+dq0)<(β>>2)中所有參數(shù)順序加載到處理元(PEOO)中,第二個條件2(dp3+dq3)〈(i3>>2)中所有參數(shù)順序加載到處理元(PE01)中,第三個條件|p(3,0)-p(0,0)| + |q(0,0)-q(3,0)|〈(β>>3)中所有參數(shù)順序加載到處理元(PE02)中,第四個條件|p(3,3)-p(0,3)| + |q(0,3)-q(3,3)|〈(β》3)中所有參數(shù)順序加載到處理元(PE10)中,第五個條件|p(0,0)-q(0,0)|《5TC+l)》l中所有參數(shù)順序加載到處理元(PE12)中,第六個條件|p(0,3)-q(0,3)|〈(5TC+l)>>l中所有參數(shù)順序加載到處理元(PE21)中,將立即數(shù)6存到處理元(PEll)的數(shù)據(jù)存儲中,用于判定所有條件是否成立;
步驟2:等待所有處理元(PE00-PE21)的數(shù)據(jù)加載完畢后,在除了處理元(PEll)的處理元陣列(PE00-PE21)中同時判定6個條件是否成立,如果成立,則相應(yīng)寄存器置為I,否則置為O;
步驟3:6個條件判定結(jié)束后,根據(jù)陣列結(jié)構(gòu)鄰接互連的特性(4)將6個判定結(jié)果通過共享寄存器依次傳遞到處理元(PEll)中,通過判斷處理元(PEll)中寄存器Rl的值是否等于6來進行強弱濾波判定,如果6個條件均成立,則Rl=6該垂直邊界采用強濾波,如果Rl不等于6,則該垂直邊界采用弱濾波;
步驟4:通過將該結(jié)構(gòu)中每個處理元的數(shù)據(jù)存儲中的參數(shù)替換成判斷水平邊界所需的參數(shù),保持指令存儲中的指令不變,則可以實現(xiàn)4X8塊大小水平邊界濾波強弱的判定。
[0005]處理元陣列采用的是鄰接互連的方式,其中每個處理元有4個共享寄存器、大小為256 X 16的數(shù)據(jù)存儲和256 X 32指令存儲,各個處理元之間通過共享寄存器實現(xiàn)數(shù)據(jù)的交互。
【附圖說明】
[0006]附圖用來提供對本發(fā)明的進一步理解,并且構(gòu)成說明書的一部分,用來解釋本發(fā)明,并不構(gòu)成對本發(fā)明的限制。在附圖中:
圖1為本發(fā)明實施例提供處理元鄰接互連示意圖;
圖2為本發(fā)明實施例提供所使用的處理元陣列的分布示意圖;
圖3為本發(fā)明實施例提供一個實例示意圖;
圖4為本發(fā)明實施例提供圖3中各個處理元之間的互連示意圖。
【具體實施方式】
[0007]本發(fā)明實施例提供了一種使用7個處理元(PE00-PE21)進行亮度分量垂直邊界的8X4大小的像素塊濾波強弱判定的可編程可重構(gòu)陣列結(jié)構(gòu),結(jié)合說明書附圖對本發(fā)明進行說明。
[0008]下面以說明書附圖中圖3為例,輸入數(shù)據(jù)是第一行和第四行像素,一個8X4的垂直塊邊界濾波強弱的判定條件如下:
2(dpo+dqo)<(^?2)(I)
2(dp3+dq3)<(P?2)(2)
p(3,0)-p(0,0)| + |q(0,0)-q(3,0)|〈(i3>>3)(3)
p(3,3)-p(0,3)| + |q(0,3)-q(3,3)|〈(i3>>3)(4)
p(0,0)-q(0,0) |<(5Tc+l)?l(5)
p(0,3)-q(0,3) |<(5Tc+l)?l(6)
其中dpo=|p(2,0)-2p(l,0)+p(0,0) |,dp3= |p(2,3)_2p(I,3)+p(0,3) |,dqo=|q(2,0)-2q(l,0)+q(0,0)| ,dq3=|q(2,3)-2q(l,3)+q(0,3)dpo表示P塊首行像素的變化率,dqo表示Q塊首行像素的變化率,dp3表示P塊第四行像素的變化率,dq3表示Q塊第四行像素的變化率。i3,Tc為閾值,與量化參數(shù)QP有關(guān),可以通過查表確定閾值的大小。
[0009]對于一個8X4的垂直塊邊界而言,只有當(dāng)條件(I)?(6)全部成立時,則該邊界采用強濾波操作,否則采用弱濾波操作。
[0010]本發(fā)明實施例使用7個PE進行亮度分量垂直邊界的8X4大小的像素塊濾波強弱判定的可編程可重構(gòu)陣列結(jié)構(gòu),具體步驟如下:
步驟1:同時加載濾波強弱判定的六個條件(I)?(6)中的數(shù)據(jù)依次到處理元PE00,PE01,PE02,PE10,PE11,PE12,PE21,具體加載過程如下:
將說明書附圖圖3中的第一行像素?(2,0),?(1,0),?(0,0)4(0,0)^(1,0)4(2,0)存放在處理元(PEOO)數(shù)據(jù)存儲中的2?7地址中,將β存放在處理元(PEOO)數(shù)據(jù)存儲中的I號地址中,立即數(shù)2存放在8號地址;處理元(PEOl)數(shù)據(jù)存儲中的2?7地址中存放第四行像素中的?(2,3),?(1,3),?(0,3)4(0,3)4(1,3)4(2,3),1號地址存放隊8號地址存放立即數(shù)2;處理元(ΡΕ02)數(shù)據(jù)存儲中的2?5地址中存放第一行像素中的?(3,0),?(0,0)4(0,0)^(3,0),O號地址存放β,1號地址存放立即數(shù)3;處理元(PElO)數(shù)據(jù)存儲中的2?5地址中存放第四行像素中的P(3,3),p(0,3),q(0,3),q(3,3),0號地址存放β,1號地址存放立即數(shù)3;處理元(PEll)數(shù)據(jù)存儲中的O號地址存放立即數(shù)6;處理元(PE12)數(shù)據(jù)存儲中的2?3地址中存放第一行像素中的P(0,0),q(0,0),0號地址存放Tc,l號地址存放立即數(shù)l;處理元(PE21)數(shù)據(jù)存儲中的2?3地址中存放第四行像素中的口(0,3)^(0,3),O號地址存放Tc,I號地址存放立即數(shù)I。
[0011 ]本發(fā)明使用匯編語言,處理元(PEOO)中指令如下: stepl:從2號地址中取出像素放入寄存器Rl中; step2:從3號地址中取出像素放入寄存器R2中; step3:從4號地址中取出像素放入寄存器R3中; step4: Rl減去R2,結(jié)果放入寄存器Rl;
#叩5:1?1減去1?2,結(jié)果存放在寄存器1?1,即完成?(2,0)-2?(1,0);
8七6?6:1?1加上1?3,結(jié)果存放在寄存器1?1,即完成?(2,0)-2?(1,0)+?(0,0);
8七6?7:1?1取絕對值操作,結(jié)果放在寄存器1?1,8卩1?1=(1?0=|?(2,0)-2?(1,0)+?(0,0)|;
step8:從7號地址中取出像素放入寄存器R2中;
step9:從6號地址中取出像素放入寄存器R3中;
steplO:從5號地址中取出像素放入寄存器R4中;
stepl 1: R2減去R3,結(jié)果放入寄存器R2;
stepl2:R2減去R3,結(jié)果存放在寄存器R2,即完成q(2,0)_2q(I,0);
8七6?13:1?2加上1?4,結(jié)果存放在寄存器1?2,即完成9(2,0)-29(1,0)+9(0,0);
8七6?14:1?2取絕對值操作,結(jié)果放在寄存器1?2,8卩1?2=(^0=|9(2,0)-29(1,0)+9(0,0)|;
stepl5:Rl加上R2,結(jié)果放入寄存器Rl中;
stepl6:Rl加上Rl,結(jié)果放入寄存器Rl中,即Rl=2(dp0+dq0);
#叩17:從1號地址中取出數(shù)據(jù)放入寄存器1?3,1?3=0;
stepl8:從8號地址中取出數(shù)據(jù)放入寄存器R4,R4=2;
stepl9: R3右移R4,結(jié)果放在寄存器R3中;
處理元(ΡΕ01)和處理元(PEOO)指令stepl?19完全一致.處理元(PE02)指令如下: stepl:從2號地址中取出數(shù)據(jù)放入寄存器Rl; step2:從3號地址中取出數(shù)據(jù)放入寄存器R2; step3: Rl減去R2,結(jié)果放入寄存器Rl;
step4: Rl取絕對值操作,結(jié)果放入寄存器Rl,即Rl= | ρ(3,O)-ρ(O,O) | ; step5:從4號地址中取出數(shù)據(jù)放入寄存器R2; step6:從5號地址中取出數(shù)據(jù)放入寄存器R3; step7: R2減去R3,結(jié)果存入寄存器R2; 8七6?8:1?2取絕對值操作,結(jié)果放入寄存器1?2,8卩1?2=|9(0,0)-9(3,0)|; 8七6?9:1?1加上1?2,結(jié)果放入寄存器1?3,1?3=|?(3,0)-?(0,0)| + |9(0,0)-9(3,0)|; steplO:從O號地址中取出數(shù)據(jù)放入寄存器Rl中; step 11:從I號地址中取出數(shù)據(jù)放入寄存器R2中; stepl2:Rl右移R2,結(jié)果放入Rl中。
[0012]處理元(PElO)和處理元(PE02)采用SBffi形式,指令stepl?12完全一致。
[0013]處理元(PE12)中指令如下:
stepl:從2號地址中取出數(shù)據(jù)放入寄存器Rl; step2:從3號地址中取出數(shù)據(jù)放入寄存器R2; step3: Rl減去R2,結(jié)果放入寄存器Rl;
step4: Rl取絕對值操作,結(jié)果放入寄存器Rl,S卩Rl= I p(0,0)_q(0,0) I ;
step5:從O號地址中取出數(shù)據(jù)放入寄存器R3;
s t ep6:從I號地址中取出數(shù)據(jù)放入寄存器R4;
step7: R3左移R4,結(jié)果放入寄存器R5;
step8: R5左移R4,結(jié)果放入寄存器R5;
step9: R5加上R3,結(jié)果放入寄存器R5;
steplO: R5加上立即數(shù)I,結(jié)果放入寄存器R5,S卩R5=5Tc+l;
stepl 1: R5右移R4,結(jié)果放入寄存器R5.處理元(PE21)和處理元(PE12)采用SHffi形式,指令stepl?11完全一致。
[0014]處理元(PEll)用于判斷濾波強弱,只有當(dāng)(I)?(6)全部成立,該邊界才采用強濾波,否則采用弱濾波。在處理元(PEll)中通過查看寄存器R3的值判斷最終結(jié)果,當(dāng)(I)?(6)全部成立,判斷Rl是否等于6,如果等于6則寄存器R3=90,采用強濾波,否則R3=80,采用弱濾波。處理元(PEll)指令如下:
stepl:從O號地址中取出數(shù)據(jù)放入寄存器R2.步驟2:數(shù)據(jù)加載完畢后,在6個處理元PE中同時判定6個條件是否成立,如果成立,則相應(yīng)寄存器置為1,否則置為0。當(dāng)處理元(PE00、PE01、PE02、PE10、PE11、PE12、PE21)所有操作數(shù)準(zhǔn)備就緒,在第20個時鐘周期開始,6個處理元(PE00、PE01、PE02、PE10、PE12、PE21)同時判斷(I)?(6)是否成立,并將運算結(jié)果通過鄰接互連的方式傳遞到處理元(PEll)中,在處理元(PEl I)中進行邊界濾波強弱的判斷,各個處理元中的具體指令如下:
處理元(ΡΕ00)中指令如下:
step20:判斷Rl是否小于R3,如果小于則跳到step23,否則執(zhí)行step21 (此步用于判斷條件(I));
step21:將O賦予寄存器R8,即表示條件(I)不成立,同時該計算結(jié)果在同一時鐘周期內(nèi),通過寄存器R8傳遞到處理元(PE01)的寄存器R5;step22:跳轉(zhuǎn)到 step24;
step23:將I賦予寄存器R8,即表示件(I)成立,同時該計算結(jié)果在同一時鐘周期內(nèi),通過寄存器R8傳遞到處理元(PE01)的寄存器R5.step24:空指令。
[0015]處理元(PEOl)中指令如下: step20:判斷Rl是否小于R3,如果小于,則跳到step23,否則執(zhí)行step21 (此步用于判斷條件(2));
step21:將O賦予寄存器R3,即表示條件(2)不成立; step22:跳轉(zhuǎn)到 step24;
step23:將I賦予寄存器R3,即表示條件(2)成立;
#叩24:1?5加上1?3,結(jié)果存入1^,即將條件(1)~(2)的結(jié)果在同一周期存入處理元
(卩已11)的尺6。
[0016]處理元(PE02)中指令如下:
step20:判斷R3是否小于Rl,如果小于,則跳到step22,否則執(zhí)行step21; step21:將O賦予寄存器RS,即條件(3)不成立,同時將RS的值傳遞到PE12的寄存器R6; step22:將I賦予寄存器RS,即條件(3)成立,同時將RS的值傳遞到PE12的寄存器R6.處理元(PE12)中指令如下:
step20:比較Rl是否小于R5,如果小于則跳到step23,否則執(zhí)行step21;
step21:將O賦予寄存器R4,即條件(4)不成立;
step22:跳轉(zhuǎn)到 step24;
step23:將I賦予寄存器R4,即條件(4)成立;
step24: R6加上R4,結(jié)果存入寄存器RW,即將條件(3)和(5)的結(jié)果在同一周期存入處理元(PElI)的R3.處理元(PElO)中指令如下:
step20:判斷R3是否小于Rl,如果小于則跳到step23,否則執(zhí)行step21;
step21:將O賦予寄存器RE,即條件(4)不成立;
step22:跳轉(zhuǎn)到 step24
step23:將I賦予寄存器RE,即條件(4)成立;
step24:空指令
處理元(PE21)指令如下:
step20:比較Rl是否小于R5,如果小于,跳到step23,否則執(zhí)行step21;
step21:將O賦予寄存器RN,即條件(6)不成立;
step22:跳轉(zhuǎn)到 step24;
step23:將I賦予寄存器RN,即條件(6)成立;
step24:空指令。
[0017]步驟3:6個條件判定結(jié)束后,根據(jù)陣列結(jié)構(gòu)鄰接互連的特性將6個判定結(jié)果通過共享寄存器依次傳遞到處理元(PEl I)中進行判定,如圖4所示,如果PEl I中的寄存器R3=90,則該垂直邊界采用強濾波;R3=80,則該垂直邊界采用弱濾波。處理元(PEll)中指令如下:
step25: R6加上R3,結(jié)果存入Rl,S卩(I)?(3)和(5)的判斷結(jié)果; step26: Rl加上R4,結(jié)果存入Rl;
step27: Rl加上R5,結(jié)果存入Rl,即條件(I)?(6)的判定結(jié)果;
step28: R2=6,判斷Rl是否等于R2,如果不相等則跳到step31,否則執(zhí)行step29;
step29:將90賦予寄存器R3,表示條件(I)?(6)均成立,執(zhí)行強濾波;
step30:跳轉(zhuǎn)到 step32; step31:將80賦予寄存器R3,表示條件(I)?(6)不全部成立,執(zhí)行弱濾波; step32:空指令。
[0018]步驟4:通過將該結(jié)構(gòu)中每個處理元數(shù)據(jù)存儲中的參數(shù)替換成判斷水平邊界所需的參數(shù),保持指令存儲中的指令不變,則可以實現(xiàn)4X8塊大小水平邊界濾波強弱的判定。
[0019]最后應(yīng)說明的是:顯然,上述實施僅僅是為清楚地說明本發(fā)明所作的舉例,而并非對實施方式的限定。對于所述領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動。這里無需也無法對所有的實施方式予以窮舉。由此引申的顯而易見的變化或變動仍處于本發(fā)明的保護范圍之中。
【主權(quán)項】
1.一種高效視頻編碼中判定濾波強弱的可重構(gòu)陣列結(jié)構(gòu),其特征在于使用7個處理元陣列(PEOO、PE01、PE02、PE10、PE11、PE12、PE21)鄰接互連成最后一行只有中間一個處理元(PE21)的3行3列類Mesh陣列結(jié)構(gòu),該結(jié)構(gòu)適用于去方塊濾波中亮度分量8X4塊大小的垂直邊界濾波強弱的判定,通過編程重構(gòu)該結(jié)構(gòu)還可以實現(xiàn)亮度分量中4X8塊大小水平邊界濾波強弱的判定,具體過程如下: 步驟I:同時加載濾波強弱判定的六個條件中的所有相關(guān)參數(shù); 第一個條件2(dpQ+dqo)〈(i3>>2)中所有參數(shù)順序加載到處理元(PEOO)中,第二個條件2(dP3+dq3)〈 (β>>2)中所有參數(shù)順序加載到處理元(PEOI)中,第三個條件| ρ (3,O)-ρ (O,O) | +q(0,0)-q(3,0)|〈(β>>3)中所有參數(shù)順序加載到處理元(PE02)中,第四個條件|p(3,3)-p(0,3)| + |q(0,3)-q(3,3)|〈(i3>>3)中所有參數(shù)順序加載到處理元(PElO)中,第五個條件|ρ(0,0)-q(0,0)|〈(5TC+l)>>l中所有參數(shù)順序加載到處理元(PE12)中,第六個條件|p(0,3)-q(0,3) |〈(5Tc + 1)>>1中所有參數(shù)順序加載到處理元(PE21)中,將立即數(shù)6存到處理元(PEll)的數(shù)據(jù)存儲中,用于判定所有條件是否成立; 步驟2:等待所有處理元(PE00-PE21)的數(shù)據(jù)加載完畢后,在除了處理元(PEll)的處理元陣列(PE00-PE21)中同時判定6個條件是否成立,如果成立,則相應(yīng)寄存器置為I,否則置為O; 步驟3: 6個條件判定結(jié)束后,根據(jù)陣列結(jié)構(gòu)鄰接互連的特性,將6個判定結(jié)果通過共享寄存器(RE、RS、RW、RN)依次傳遞到處理元(PEll)中,通過判斷處理元(PEll)中寄存器Rl的值是否等于6來進行強弱濾波判定,如果6個條件均成立,則Rl=6該垂直邊界采用強濾波,如果Rl不等于6,則該垂直邊界采用弱濾波; 步驟4:通過將該結(jié)構(gòu)中每個處理元的數(shù)據(jù)存儲中的參數(shù)替換成判斷水平邊界所需的參數(shù),保持指令存儲中的指令不變,則可以實現(xiàn)4X8塊大小水平邊界濾波強弱的判定。
【文檔編號】H04N19/117GK105847848SQ201510789121
【公開日】2016年8月10日
【申請日】2015年11月17日
【發(fā)明人】劉有耀, 楊倩, 吳進, 山蕊
【申請人】西安郵電大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1