適用于hevc標(biāo)準(zhǔn)的基于sram的dct輸入輸出數(shù)據(jù)緩存方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于高清數(shù)字視頻壓縮編解碼技術(shù)領(lǐng)域,具體為一種適用于HEVC標(biāo)準(zhǔn)中對DCT的輸入輸出數(shù)據(jù)進行緩存的方法。
【背景技術(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標(biāo)準(zhǔn),壓縮率提高一倍。
[0003]基于HEVC的視頻編碼器,主要由以下模塊組成:幀內(nèi)預(yù)測、幀間預(yù)測、變換、量化、反量化、反變換、重建、去方塊濾波器、自適應(yīng)樣點補償?shù)?。其中,離散余弦變換(DCT)作為編碼器必不可少的一部分,與包括預(yù)測模塊、熵編碼模塊、去方塊化模塊在內(nèi)的諸多模塊存在數(shù)據(jù)交互。然而,由于離散余弦變換模塊(DCT)所常用的輸入輸出格式,即按行輸出,與其他模塊的常用輸入輸出模式,即按塊輸出,不一致,從而需要在各條數(shù)據(jù)的通路上設(shè)置緩存,如圖1所示。而在HEVC標(biāo)準(zhǔn)下,圖像處理塊(IXU)的大小最大已經(jīng)到達了 64X64,這導(dǎo)致傳統(tǒng)的基于寄存器的緩存方式變得不再適用。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提出一種可以克服現(xiàn)有技術(shù)不足的、能有效適用于HEVC標(biāo)準(zhǔn)中對DCT的輸入輸出進行數(shù)據(jù)緩存方法。
[0005]本發(fā)明提出的適用于HEVC標(biāo)準(zhǔn)的對DCT的輸入輸出數(shù)據(jù)進行緩存方法,是基于靜態(tài)隨機存儲器(SRAM)的。本發(fā)明方法僅使用了 4個深度為128,寬度為8像素寬度的靜態(tài)隨機存儲器(SRAM),但無論訪問的塊大小為4X 4,8 X 8,16 X 16還是32 X 32,無論訪問的格式是按行輸出還是按塊輸出,該方法總是能夠提供每周期32像素的吞吐率。
[0006]本發(fā)明提出的適用于HEVC標(biāo)準(zhǔn)的對DCT的輸入輸出數(shù)據(jù)進行緩存方法,將64 X 64大小的圖像處理塊等分成4個32X32大小的1/4圖像處理塊,每個圖像處理塊的標(biāo)號用符號表示,序號以光柵順序記錄,從0計數(shù);將32 X 32大小的1/4圖像處理塊等分成16個8X8大小的1/64處理塊,每個圖像處理塊的標(biāo)號用符號,序號以光柵順序記錄,從0計數(shù);將8 X 8大小的1/64處理塊等分成8個1 X 8大小的圖像處理行,每個圖像處理行的標(biāo)號用符號示,序號依次向下,從0計數(shù)。
[0007]由此,每個圖像處理行的完整表示方式是nQLCU~nBlock-nRow,如圖2所示。
[0008]本方法中每個靜態(tài)隨機訪問存儲器的標(biāo)號用符號ban陳示,從0計數(shù);每個靜態(tài)隨機訪問存儲器的地址用符號示,從零計數(shù)。
[0009]由此,每個存儲單元的完整表示方式是bank-addr。
[0010]根據(jù)上述標(biāo)號定義,本發(fā)明對各圖像塊處理的數(shù)據(jù)與各靜態(tài)隨機訪問存儲器中各存儲單元地址之間對應(yīng)的存儲關(guān)系,即具體映射公式如下:當(dāng) iz/Po禮)4 等于 0 時,bank = {nBlock+Q) %4當(dāng) /iffow%4 等于 1 時,bank - {nBlock+2) %4當(dāng) /iffow%4 等于 2 時,bank - {nBlock+l) %4(1)
當(dāng) /iffow%4 等于 3 時,bank - (nBlock+3) %4ad dr - 32 X nQLClhS X {nRov/ 4] +nBlock
此處,符號“%”表示取余,符號“[]”表示取整,且采用向下取整的方式,映射后的數(shù)據(jù)排布如圖3所示。
[0011]按照這樣的映射,在按塊訪問時,總是可以訪問水平相鄰的2個4X4塊,吞吐率是32像素每周期;在按行訪問時,總是可以訪問8X8塊下的4相鄰4行,16X16塊下的相鄰2行和32X32塊下的1行,吞吐率也是32像素每周期。
【附圖說明】
[0012]圖1:離散余弦變換周圍所需要的緩存。
[0013]圖2:數(shù)據(jù)標(biāo)記方式。
[0014]圖3:數(shù)據(jù)映射方式。
[0015]圖4:各類訪問。
【具體實施方式】
[0016]按照公式(1),有如下映射方式:
像素行0-0-0映射于存儲單元0-0 ;
像素行0-0-1映射于存儲單元1-1;
像素行0-0-2映射于存儲單元2-2 ;
像素行0-0-3映射于存儲單元3-3 ;
像素行0-0-4映射于存儲單元0-4 ;
像素行0-0-5映射于存儲單兀1-5 ;
像素行0-0-6映射于存儲單元2-6 ;
像素行0-0-7映射于存儲單元3-7 ;
像素行0-1-0映射于存儲單元2-0 ;
像素行0-1-1映射于存儲單元3-1 ;
像素行0-1-2映射于存儲單元0-2 ;
像素行0-1-3映射于存儲單元1-3 ;
像素行0-1-4映射于存儲單元2-4 ;
像素行0-1-5映射于存儲單元3-5 ;
像素行0-1-6映射于存儲單元0-6 ;
像素行0-1-7映射于存儲單元1-7 ;
像素行0-2-0映射于存儲單元1-0 ;
像素行0-2-1映射于存儲單元2-1 ;
像素行0-2-2映射于存儲單元3-2 ;
像素行0-2-3映射于存儲單元0-3 ; 像素行0-2-4映射于存儲單元1-4 ;
像素行0-2-5映射于存儲單元2-5 ;
像素行0-2-6映射于存儲單元3-6 ;
像素行0-2-7映射于存儲單元0-7 ;
像素行0-3-0映射于存儲單元3-0 ;
像素行0-3-1映射于存儲單元0-1 ;
像素行0-3-2映射于存儲單元1-2 ;
像素行0-3-3映射于存儲單元2-3 ;
像素行0-3-4映射于存儲單元3-4 ;
像素行0-3-5映射于存儲單兀0-5 ;
像素行0-3-6映射于存儲單元1-6 ;
像素行0-3-7映射于存儲單元2-7 ;
像素行0-4-0映射于存儲單元0-8 ;
像素行0-4-1映射于存儲單元1-9 ;
像素行0-4-2映射于存儲單元2-10 ;
像素行0-4-3映射于存儲單元3-11 ;
像素行0-4-4映射于存儲單元0-12 ;
像素行0-4-5映射于存儲單兀1-13 ;
像素行0-4-6映射于存儲單元2-14 ;
像素行0-4-7映射于存儲單兀3-15 ;
ο
[0017]而在訪問數(shù)據(jù)時,無論是1個1 X 32行,2個相鄰的1 X 16行,4個相鄰的1 X 8行,還是2個相鄰4X4塊總是分布在不同的如/7々,亦即不同的靜態(tài)隨機存儲器(SRAM)當(dāng)中。
[0018]如由圖像處理行0-0,1-0,2-0和3-0構(gòu)成的1個1 X 32行,被映射在了存儲單元
0-0,2-0,1-0和 3-0 中;
如由圖像處理行0-0,0-1,1-0和1-1構(gòu)成的2個IX 16行,被映射在了存儲單元0-0,
1-1,2-0和 3-1 中;
如由圖像處理行0-0,0-1,0-2和0-3構(gòu)成的4個1X8行,被映射在了存儲單元0_0,1-1,2-2 和 3-3 中;
如由圖像處理行0-0,0-1,0-2和0-3構(gòu)成的2個4X4塊,被映射在了存儲單元0_0,1-1,2-2 和 3-3 中;
如圖4所示。
【主權(quán)項】
1.一種適用于HEVC標(biāo)準(zhǔn)的基于SRAM的DCT輸入輸出數(shù)據(jù)緩存方法,其中使用4個深度為128、寬度為8像素寬度的靜態(tài)隨機存儲器; 首先,將64X64大小的圖像處理塊等分成4個32 X 32大小的1/4圖像處理塊,每個圖像處理塊的標(biāo)號用符號表示,序號以光柵順序記錄,從0計數(shù);將32 X 32大小的1/4圖像處理塊等分成16個8X8大小的1/64處理塊,每個圖像處理塊的標(biāo)號用符號nBlock表示,序號以光柵順序記錄,從0計數(shù);將8 X 8大小的1/64處理塊等分成8個1 X 8大小的圖像處理行,每個圖像處理行的標(biāo)號用符號示,序號依次向下,從0計數(shù); 于是,每個圖像處理行的完整表示方式是nQLCU~nB 1 ock-nRow\ 每個靜態(tài)隨機訪問存儲器的標(biāo)號用符號ban陳示,從0計數(shù);每個靜態(tài)隨機訪問存儲器的地址用符號示,從零計數(shù); 于是,每個存儲單元的完整表示方式是bank-addr' 根據(jù)上述標(biāo)號定義,各圖像塊處理的數(shù)據(jù)與各靜態(tài)隨機訪問存儲器中各存儲單元地址之間對應(yīng)的存儲關(guān)系,即具體映射公式如下: 當(dāng) nRow%4 等于 0 時,bank = (nBlock+O)%4 當(dāng) nRow%4 等于 1 時,bank = (nBlock+2)%4 當(dāng) nRow%4 等于 2 時,bank = (nBlock+1)%4(1) 當(dāng) nRow%4 等于 3 時,bank = (nBlock+3)%4 addr = 32XnQLCU+8X [nRow/4]+nBlock 此處,符號“%”表示取余,符號“ □”表示取整,且向采用下取整的方式。
【專利摘要】本發(fā)明屬于高清數(shù)字視頻壓縮編解碼技術(shù)領(lǐng)域,具體為一種適用于HEVC標(biāo)準(zhǔn)的基于SRAM的DCT輸入輸出數(shù)據(jù)緩存方法。本發(fā)明使用4個深度為128,寬度為8像素寬度的靜態(tài)隨機存儲器(SRAM),并將64×64大小的圖像處理塊等分成4個32×32大小的1/4圖像處理塊;將32×32大小的1/4圖像處理塊等分成16個8×8大小的1/64處理塊;將8×8大小的1/64處理塊等分成8個1×8大小的圖像處理行;然后對各圖像塊處理的數(shù)據(jù)與各靜態(tài)隨機訪問存儲器中各存儲單元地址之間建立對應(yīng)的存儲關(guān)系。使用本發(fā)明方法,無論訪問的塊大小為4×4,8×8,16×16還是32×32,無論訪問的格式是按行輸出還是按塊輸出,總是能夠提供每周期32像素的吞吐率,從而以極低的硬件代價來達到極高的吞吐率。
【IPC分類】H04N19/625, H04N19/433, H04N19/122
【公開號】CN105376582
【申請?zhí)枴緾N201510787841
【發(fā)明人】范益波, 黃磊磊, 劉淑君, 曾曉洋
【申請人】復(fù)旦大學(xué)
【公開日】2016年3月2日
【申請日】2015年11月17日