一種適用于hevc標(biāo)準(zhǔn)的去方塊濾波器的硬件片上存儲方法
【專利摘要】本發(fā)明屬于高清數(shù)字視頻壓縮編解碼【技術(shù)領(lǐng)域】,具體為一種適用于HEVC標(biāo)準(zhǔn)的去方塊濾波器的硬件片上存儲方法。在原始視頻流里,每幅圖像包括一個亮度分量Y,每個亮度分量對應(yīng)兩個色度分量Cb、Cr。在去方塊濾波器模塊中,本發(fā)明基于一個quarter-LCU進(jìn)行處理。該模塊片上儲存器的存儲方式為Y分量構(gòu)成9×9方陣,Cb和Cr分量各有25個像素點塊,分別構(gòu)成5×5方陣;該片上存儲方式分為5塊SRAM:SRAM_L1、SRAM_L2、SRAM_C1、SRAM_C2和SRAM_T;按一定規(guī)律分別存儲Y、Cb、Cr的各像素點塊。本發(fā)明可以有效地提高芯片處理時數(shù)據(jù)讀取能力,減小處理時間,從而高效的實現(xiàn)高清視頻的實時編碼。
【專利說明】—種適用于HEVC標(biāo)準(zhǔn)的去方塊濾波器的硬件片上存儲方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于高清數(shù)字視頻壓縮編解碼【技術(shù)領(lǐng)域】,針對HEVC視頻編解碼標(biāo)準(zhǔn),具體涉及一種適用于HEVC標(biāo)準(zhǔn)的去方塊濾波器的硬件片上存儲方法。
【背景技術(shù)】
[0002]HEVC(High Efficiency Video Coding)是由國際電信組織(ITU)和運動圖像專家組(MPEG)聯(lián)合成立的組織JCTVC提出的下一代視頻編解碼標(biāo)準(zhǔn)。目標(biāo)是在相同的視覺效果的前提下,相比于上一代標(biāo)準(zhǔn)H.264/AVC,壓縮率提高一倍。
[0003]基于HEVC的視頻編碼器,其結(jié)構(gòu)圖如圖1所示,主要由以下幾個模塊組成:幀內(nèi)預(yù)測、幀間預(yù)測、變換、量化、反量化、反變換、重建、去方塊濾波器、自適應(yīng)樣點補(bǔ)償?shù)饶K組成。視頻壓縮編碼的基本過程可以概括如下:1.利用幀內(nèi)預(yù)測或幀間預(yù)測方式對當(dāng)前原始視頻流像素進(jìn)行預(yù)測;2.將原始的像素值與預(yù)測出來的像素值相減得到殘差值;3.將殘差進(jìn)行變換及量化處理,得到輸出的殘差系數(shù)再進(jìn)過CABAC (Context-based AdaptiveBinary Arithmetic Coding)熵編碼形成最后的壓縮輸出碼流;4.殘差系數(shù)經(jīng)過反量化及反變換處理,再與之前得到的預(yù)測像素相加得到重建像素,存儲作為預(yù)測的參考幀像素。
[0004]HEVC中的處理單元塊引入了四叉樹的結(jié)構(gòu),圖像處理塊的大小最大為64X64,它還可以繼續(xù)遞歸地劃分為32X32、16X16、8X8、4X4的小塊組合,并分別進(jìn)行處理。編碼端要對塊的所有劃分情況進(jìn)行一次遍歷,以確定哪種劃分情況的處理為最佳。
[0005]去方塊濾波器模塊如圖1中所示,該模塊主要判斷PU (預(yù)測單元)和TU (變換單元)邊界兩邊像素值的特征,對邊界兩邊的像素點進(jìn)行濾波,以消除由于塊編碼方式所導(dǎo)致的一些邊框效應(yīng),使重建圖像具 有更好的質(zhì)量和PSNR值(峰值信噪比)。
[0006]而在硬件實現(xiàn)中,對于所需處理像素點的片上存儲方式的不同,會帶來不一樣的處理時間和硬件資源。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的在于提出一種可以克服現(xiàn)有技術(shù)不足的高效的適用于HEVC標(biāo)準(zhǔn)的去方塊濾波器的硬件片上存儲方法。
[0008]在平常的原始視頻流里,每幅圖像包括一個亮度分量,記為Y,每個亮度分量對應(yīng)兩個色度分量,分別記為Cb、Cr。在去方塊濾波器模塊中,本發(fā)明基于一個quarter-1XU (Y分量為32x32大小的像素點塊,Cb和Cr分量為16x16大小的像素點塊)進(jìn)行處理。由于該模塊是對于重建像素進(jìn)行處理,所以片上儲存器存儲的是重建像素點的值。
[0009]該模塊片上儲存器的存儲方式如圖2所示,其中,每個小方框代表一個4x4大小的像素點塊。用如下不同的符號表示不同的像素點塊,其中:
Y分量共81個像素點塊,構(gòu)成9X9方陣:
(O CO, Cl,……C62,C63代表當(dāng)前Y分量像素點塊,共64個,構(gòu)成一個8 X 8方陣;(2)LO, LI,……L6,L7代表上述8X8方陣左邊一列的Y分量像素點塊,共8個;
(3)Tl,T2,……T7,T8代表上述8X8方陣上面一行的Y分量像素點塊,共8個;
(4)TO代表上述8X8方陣左上角的Y分量像素點塊。
[0010]Cb分量共25個像素點塊,構(gòu)成5 X 5方陣:
(1)C64,C65,……C78,C79代表當(dāng)前Cb分量像素點塊,共16個,構(gòu)成一個4X4方陣;
(2)L8,L9, L10, Lll代表上述4X4方陣左邊一列的Cb分量像素點塊,共4個;
(3)T10, Til, T12, T13代表上述4X4方陣上面一行的Cb分量像素點塊,共4個;
(4)T9代表上述4X4方陣左上角的Cb分量像素點塊。
[0011]Cr分量共25個像素點塊,構(gòu)成5X5方陣:
(1)C80,C81,……C94,C95代表當(dāng)前Cr分量像素點塊,共16個;構(gòu)成一個4X4方陣;
(2)L12, L13, L14, L15代表上述4X4方陣左邊一列的Cr分量像素點塊,共4個;
(3)T15, T16, T17, T18代表上述4X4方陣上面一行的Cr分量像素點塊,共4個;
(4)T14代表上述4X4方陣左角的Cr分量像素點塊。
[0012]該片上存儲方式一共分為5 塊 SRAM:SRAM_L1、SRAM_L2、SRAM_C1、SRAM_C2 和SRAM_T ;其中:
SRAM_L1中存儲L0,L2, L4, L6, L8, L10, L12, L14共8個像素點塊;見圖2中以L開頭的灰色方框;
SRAM_L2中存儲1-1,1-3,1-5,1-7,1-9,1-11,1-13,1-15共8個像素點塊;見圖2中以L開頭的白色4x4方框;
SRAM_C1 中存儲 CO, C2, C4, C6, C9, Cll, C13, C15, C16, C18, C20, C22, C25, C27, C29, C31,C32, C34, C36, C38, C41, C43, C45, C47, C48, C50, C52, C54, C57, C59, C61, C63, C64, C66, C69,C71, C72, C74, C77, C79, C80, C82, C85, C87, C88, C90, C93, C95 共 48 個像素點塊;見圖 2 中以C開頭的灰色方框;
SRAM_C2 中存儲 Cl, C3, C5, C7, C8, CIO, C12, C14, C17, C19, C21, C23, C24, C26, C28, C30,C33, C35, C37, C39, C40, C42, C44, C46, C49, C51, C53, C55, C56, C58, C60, C62, C65, C67, C68,C70, C73, C75, C76, C78, C81, C83, C84, C86, C89, C91, C92, C94 共 48 個像素點塊;見圖 2 中以C開頭的灰色方框;
SRAM_T 中存儲 TO, Tl, T2, T3, T4, T5, T6, T7, T8, T9, T10, Til, T12, T13, T14, T15,T16,T17,T18共19個像素點塊;見圖2中以T開頭的灰色方框。
[0013]這種存儲方式在去方塊濾波器處理的時候可以高效的讀取數(shù)據(jù)。
[0014]本發(fā)明采用一種高效的適用于HEVC標(biāo)準(zhǔn)的編碼器中SAO的硬件處理方法,可以有效的提高芯片處理時數(shù)據(jù)讀取能力,減小處理時間,減小了硬件的開銷。
【專利附圖】
【附圖說明】
[0015]圖1:HEVC視頻編碼器結(jié)構(gòu)圖。
[0016]圖2:重建像素片上存儲方式。其中,Ca)為Y分量的存儲方式,(b)為Cb分量的存儲方式,(c)為Cr分量的存儲方式。
[0017]圖3:—個4x4像素點塊。
[0018]圖4:五塊SRAM的具體組成?!揪唧w實施方式】
[0019]下面通過實例并結(jié)合附圖,進(jìn)一步具體描述本發(fā)明方法。
[0020]本發(fā)明基于一個quarter-LCU (Y分量為32x32大小的像素點塊,Cb和Cr分量為16x16大小的像素點塊)進(jìn)行處理,由于該模塊是對于重建像素進(jìn)行處理,所以片上儲存器存儲的是重建像素點的值。
[0021]該模塊片上儲存器的存儲方式如圖2所示,其中,每個小方塊代表一個4x4大小的像素點塊。每個小方塊代表一個4x4大小的像素點塊,如圖3所示,整個方框代表一個4x4像素點塊,其中每個圓圈代表一個像素點,并用p0,pl,……ρ14,ρ15表示。其中,每個小方塊代表一個4x4大小的像素點塊。其中:
(O小方框CO,Cl,……C62,C63代表當(dāng)前quarter-LCU的Y分量像素點塊。
[0022](2)小方框C64,C65,……C78,C79代表當(dāng)前quarter-LCU的Cb分量像素點塊。
[0023](3)小方框C80,C81,……C94,C95代表當(dāng)前quarter-LCU的Cr分量像素點塊。
[0024](4)小方框L0,LI,……L6,L7代表左邊quarter-LCU的Y分量像素點塊。
[0025](5)小方框L8,L9,L10,Lll代表左邊quarter-LCU的Cb分量像素點塊。
[0026](6)小方框L12,L13, L14, L15代表左邊quarter-LCU的Cr分量像素點塊。
[0027](7)小方框Tl,T2,……T7,T8代表上面quarter-LCU的Y分量像素點塊。
[0028](8)小方框ΤΙΟ,ΤΙΙ,Τ12,Τ13代表上面quarter-LCU的Cb分量像素點塊。
[0029](9)小方框T15,T16, T17, T18代表上面quarter-LCU的Cr分量像素點塊。
[0030](10)小方框TO代表左上quarter-LCU的Y分量像素點塊。
[0031 ] (11)小方框T9代表左上quarter-LCU的Cb分量像素點塊。
[0032](12)小方框T14代表左上quarter-LCU的Cr分量像素點塊。
[0033]該片上存儲方法一共由5 塊 SRAM 組成:SRAM_L1、SRAM_L2、SRAM_C1、SRAM_C2 和SRAM_T。其中:
(I)SRAM_L1 中存儲圖 2 中{L0, L2, L4, L6, L8, L10, L12, L14}這幾個 4x4 像素點塊。
[0034](2)SRAM_L2 中存儲圖 2 中{LI, L3, L5, L7, L9, Lll, L13, L15}這幾個4x4像素點塊。
[0035](3)SRAM_C1 中存儲圖 2 中{CO, C2, C4, C6, C9, Cll, C13, C15, C16, C18, C20, C22, C25,C27, C29, C31, C32, C34, C36, C38, C41, C43, C45, C47, C48, C50, C52, C54, C57, C59, C61, C63,C64, C66, C69, C71, C72, C74, C77, C79, C80, C82, C85, C87, C88, C90, C93, C95}這幾個 4x4 像素點塊。
[0036](4)SRAM_C2 中存儲圖 2 中{Cl, C3, C5, C7, C8, CIO, C12, C14, C17, C19, C21, C23, C24,C26, C28, C30, C33, C35, C37, C39, C40, C42, C44, C46, C49, C51, C53, C55, C56, C58, C60, C62,C65, C67, C68, C70, C73, C75, C76, C78, C81, C83, C84, C86, C89, C91, C92, C94}這幾個 4x4 像素點塊。
[0037](5) SRAM_T 中存儲圖 2 中{TO, Tl, T2, T3, T4, T5, T6, T7, T8, T9, T10, Til, T12, T13,T14, T15, T16, T17, T18}這幾個 4x4 像素點塊。
[0038]根據(jù)上述方式,其具體在SRAM中的存儲順序如圖4所示,每個SRAM里面的基本單元存儲一個4x4塊像素點的數(shù)據(jù)。由于每個像素點的值為8比特,而SRAM中一個基本單元存儲一個4x4塊像素點的數(shù)據(jù),所以本發(fā)明中SRAM中一個基本單元為128bit,以{p0,pl,p2,p3, p4, p5, p6, p7, p8, p9, plO, pll, pl2, pl3, pl4, pl5},這種 pO 像素點在最高位,pl5 在低
位的方式存儲。
【權(quán)利要求】
1.一種適用于HEVC標(biāo)準(zhǔn)的去方塊濾波器的硬件片上存儲方法,設(shè)在原始視頻流里,每幅圖像包括一個亮度分量,記為Y,每個亮度分量對應(yīng)兩個色度分量,分別記為Cb、Cr ;在去方塊濾波器模塊中,基于一個quarter-LCU單元進(jìn)行處理,由于該去方塊濾波器模塊是對于重建像素進(jìn)行處理,片上儲存器存儲的是重建像素點的值;其特征在于: 該去方塊濾波器模塊片上儲存器的存儲方法為:用如下不同的符號表示不同的像素點塊,其中: Y分量共81個像素點塊,構(gòu)成9X9方陣,其中: CO, Cl,……C62,C63代表當(dāng)前Y分量像素點塊,共64個,構(gòu)成一個8 X 8方陣; LO, LI,……L6,L7代表上述8X8方陣左邊一列的Y分量像素點塊,共8個; Tl, T2,……T7,T8代表上述8X8方陣上面一行的Y分量像素點塊,共8個; TO代表上述8X8方陣左上角的Y分量像素點塊; Cb分量共25個像素點塊,構(gòu)成5X5方陣,其中: C64, C65,……C78,C79代表當(dāng)前Cb分量像素點塊,共16個,構(gòu)成一個4X4方陣; L8, L9, L10, Lll代表上述4X4方陣左邊一列的Cb分量像素點塊,共4個; T10, Til, T12, T13代表上述4X4方陣上面一行的Cb分量像素點塊,共4個; T9代表上述4X4方陣左上角的Cb分量像素點塊; Cr分量共25個像素點塊,構(gòu)成5X5方陣,其中: C80,C81,……C94,C95代表當(dāng)前Cr分量像素點塊,共16個;構(gòu)成一個4X4方陣; L12, L13, L14, L15代表上述4X4方陣左邊一列的Cr分量像素點塊,共4個; T15, T16, T17, T18代表上述4X4方陣上面一行的Cr分量像素點塊,共4個; T14代表上述4X4方陣左角的Cr分量像素點塊;
片上儲存器的存儲方式一共分為5塊SRAM:SRAM_LU SRAM_L2、SRAM_C1、SRAM_C2和SRAM_T ;其中:
SRAM_L1 中存儲 L0, L2, L4, L6, L8, L10, L12, L14,共 8 個像素點塊;
SRAM_L2 中存儲 LI,L3, L5, L7, L9, Lll, L13, L15,共 8 個像素點塊;
SRAM_C1 中存儲CO, C2, C4, C6, C9, Cll, C13, C15, C16, C18, C20, C22, C25, C27, C29, C31,C32, C34, C36, C38, C41, C43, C45, C47, C48, C50, C52, C54, C57, C59, C61, C63, C64, C66, C69, C.71,C72, C74, C77, C79, C80, C82, C85, C87, C88, C90, C93, C95,共 48 個像素點塊;
SRAM_C2 中存儲 Cl, C3, C5, C7, C8, CIO, C12, C14, C17, C19, C21, C23, C24, C26, C28, C30,C33, C35, C37, C39, C40, C42, C44, C46, C49, C51, C53, C55, C56, C58, C60, C62, C65, C67, C68, C.70,C73, C75, C76, C78, C81, C83, C84, C86, C89, C91, C92, C94,共 48 個像素點塊;
SRAM_T 中存儲 TO, Tl, T2, T3, T4, T5, T6, T7, T8, T9, T10, Til, T12, T13, T14, T15,T16,T17,T18,共19個像素點塊。
【文檔編號】H04N7/26GK103442239SQ201310383925
【公開日】2013年12月11日 申請日期:2013年8月29日 優(yōu)先權(quán)日:2013年8月29日
【發(fā)明者】范益波, 沈蔚煒, 尚青, 曾曉洋 申請人:復(fù)旦大學(xué)