国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于粗粒度可重構(gòu)陣列結(jié)構(gòu)的多標(biāo)準(zhǔn)離散余弦變換設(shè)計(jì)

2015-12-13 11:45:46楊海鋼
電子與信息學(xué)報(bào) 2015年1期
關(guān)鍵詞:處理單元時(shí)鐘總線

陳 銳 楊海鋼 王 飛 賈 瑞 喻 偉

1 引言

在視頻序列的編解碼流程中,離散余弦變換(Discrete Cosine Transform, DCT) 需要占用大量時(shí)間,如何通過(guò)硬件加速執(zhí)行 DCT從而提高編解碼的效率顯得非常有必要。并且,隨著視頻編碼標(biāo)準(zhǔn)的增多,對(duì)于單一平臺(tái)支持多種標(biāo)準(zhǔn)的需求逐漸突顯出來(lái),DCT硬件的可重構(gòu)設(shè)計(jì)逐漸成為學(xué)術(shù)研究的熱點(diǎn)。然而,在通過(guò)硬件設(shè)計(jì)加速執(zhí)行 DCT的同時(shí),還需要考慮由此帶來(lái)的能效問(wèn)題,特別是對(duì)于一些需要電池支持的手持設(shè)備,能效問(wèn)題更顯得突出,因此,需要一種兼顧能效與性能的平臺(tái),實(shí)現(xiàn)對(duì)不同視頻壓縮編碼標(biāo)準(zhǔn)的支持。

視頻壓縮標(biāo)準(zhǔn)中采用的DCT可以分為兩類:2維離散余弦正變換(2D Forward DCT, 2D-FDCT)和 2維離散余弦逆變換 (2D Inverse DCT, 2DIDCT)[1]。2D-IDCT/FDCT的整個(gè)計(jì)算過(guò)程一般會(huì)被拆成3部分:基于行/列的1D-IDCT/FDCT、矩陣轉(zhuǎn)置和基于列/行的1D-IDCT/FDCT。根據(jù)這3部分的實(shí)現(xiàn)方式,2D-IDCT/FDCT的硬件電路結(jié)構(gòu)可以分為:流水線結(jié)構(gòu)和時(shí)分復(fù)用結(jié)構(gòu)[2]。前者可以實(shí)現(xiàn)流水執(zhí)行,因此速度很快,后者速度較慢,但是所需的硬件資源較前者少。在這兩種硬件電路架構(gòu)的基礎(chǔ)上,近年來(lái)有許多相關(guān)文獻(xiàn)通過(guò)算法優(yōu)化或者結(jié)構(gòu)優(yōu)化來(lái)降低1D-FDCT/IDCT硬件實(shí)現(xiàn)的難度。按照支持標(biāo)準(zhǔn)的數(shù)量,可以將這些優(yōu)化方法劃分為兩類:(1)只針對(duì)一種標(biāo)準(zhǔn)進(jìn)行的設(shè)計(jì)化[24]-;(2) 針對(duì)多種標(biāo)準(zhǔn)的設(shè)計(jì)優(yōu)化[58]-。為了提升 DCT硬件實(shí)現(xiàn)的設(shè)計(jì)效率和能量效率,本文提出一種基于粗粒度可重構(gòu)結(jié)構(gòu)的 DCT硬件電路結(jié)構(gòu),與已有結(jié)構(gòu)的不同之處在于:(1)2D-IDCT/FDCT的硬件實(shí)現(xiàn)的架構(gòu)不再采用流水線結(jié)構(gòu)或者時(shí)分復(fù)用結(jié)構(gòu),而是基于粗粒度可重構(gòu)陣列結(jié)構(gòu)(Coarse-Grained Reconfigurable Array, CGRA)[9,10];(2)通過(guò)定制 CGRA 的互連網(wǎng)絡(luò),省去了矩陣轉(zhuǎn)置所需存儲(chǔ)器或者寄存器陣列,而且矩陣轉(zhuǎn)置無(wú)需占用時(shí)鐘周期;(3)整個(gè)設(shè)計(jì)形成一種“階段級(jí)”的流水線結(jié)構(gòu),能夠流水處理8×8尺寸大小的像素塊。在SMIC 130 nm標(biāo)準(zhǔn)單元工藝庫(kù)下的仿真和綜合結(jié)果顯示,本文提出的結(jié)構(gòu)每個(gè)時(shí)鐘周期能夠并行處理8個(gè)像素,而吞吐率最高可達(dá)1.157×109像素/s。與已有結(jié)構(gòu)相比,本文提出的結(jié)構(gòu)設(shè)計(jì)效率最高提升4.33倍,最低提升77.5%,而能量效率最高提升12.3倍,最低提升14.6%,并且能夠以30幀/s的幀率解碼尺寸為 4096×2048,格式為 4:2:0的視頻序列。

論文的章節(jié)安排如下:第2節(jié)介紹2D-IDCT/FDCT的原理;第3節(jié)陳述本文提出的硬件電路結(jié)構(gòu)的基本思路;第4節(jié)給出詳細(xì)的硬件電路設(shè)計(jì);第5節(jié)是實(shí)驗(yàn)結(jié)果與數(shù)據(jù)分析;最后是總結(jié)。

2 2D-IDCT/FDCT原理

式(1)和式(2)分別給出了 2D-IDCT/FDCT 的原理,從它們的組成上可以看出二者在計(jì)算方式上有很大的相似性,二者的硬件設(shè)計(jì)一般可以實(shí)現(xiàn)共用。在式(1)和式(2)中,矩陣 C 是系數(shù)矩陣,不同視頻標(biāo)準(zhǔn)的系數(shù)值不同,但系數(shù)在矩陣中的擺放位置和符號(hào)相同。以8×82D-IDCT為例,系數(shù)矩陣中系數(shù)擺放位置和符號(hào)關(guān)系如圖1(a)中的C8×8所示,表1列出了不同視頻壓縮標(biāo)準(zhǔn)的系數(shù)比較。

從式(1)或式(2)也可以看出,2D-IDCT/FDCT的整個(gè)計(jì)算過(guò)程可以拆成 3部分:基于行/列的1D-IDCT/ FDCT、矩陣轉(zhuǎn)置和基于列/行的1D-IDCT/FDCT。而1D-FDCT/IDCT可以進(jìn)一步化簡(jiǎn),以 1D-IDCT為例,如式(3)所示,根據(jù)文獻(xiàn)[11]提出的算法,系數(shù)矩陣 C8×8可以進(jìn)行矩陣分解為兩個(gè)子矩陣 C4×4和 V4×4與兩個(gè)稀疏矩陣 P0和P1,如圖 1(b)~圖 1(e)所示。稀疏矩陣 P1用于調(diào)整輸入數(shù)據(jù)的順序,無(wú)需任何計(jì)算。稀疏矩陣P0用于將兩個(gè)子矩陣與輸入數(shù)據(jù)的乘積結(jié)果通過(guò)加減運(yùn)算合并。

3 基本思路

本文提出的電路結(jié)構(gòu)的基本思路是在以下4個(gè)想法的基礎(chǔ)上構(gòu)建:

表1 不同視頻編碼標(biāo)準(zhǔn)采用的系數(shù)比較以及常系數(shù)乘法的實(shí)現(xiàn)方式(系數(shù)值:采用移位和加/減法實(shí)現(xiàn)系數(shù)值)

圖1 8×8 IDCT簡(jiǎn)化過(guò)程中涉及到的矩陣

(1)利用 CGRA 在加速執(zhí)行計(jì)算密集型應(yīng)用方面的優(yōu)勢(shì),實(shí)現(xiàn)基于CGRA的2D-DCT,提升計(jì)算效率。2D-DCT中包含了大量的算術(shù)運(yùn)算,屬于計(jì)算密集型應(yīng)用,而粗粒度可重構(gòu)陣列結(jié)構(gòu)在加速執(zhí)行計(jì)算密集型應(yīng)用方面的優(yōu)勢(shì)非常突出。1行像素的1D-DCT可以通過(guò)1行的處理單元(Processing Element, PE)來(lái)實(shí)現(xiàn),8×8的PE陣列可以同時(shí)處理8行,如圖2所示。假設(shè)1行像素的1D-DCT所需時(shí)鐘周期數(shù)為N,那么整個(gè)8×8尺寸大小像素塊的 1D-DCT執(zhí)行時(shí)間只需要 N周期即可完成。

圖2 8×8 尺寸的1D-DCT映射到CGRA示例

(2)通過(guò)定制CGRA的互連網(wǎng)絡(luò),可以消除矩陣轉(zhuǎn)置所需的存儲(chǔ)器或者寄存器陣列。2D-DCT的矩陣轉(zhuǎn)置一般是通過(guò)存儲(chǔ)器或者寄存器陣列實(shí)現(xiàn)的,而存儲(chǔ)器或者寄存器陣列會(huì)導(dǎo)致較大的面積開(kāi)銷,并且需要占用多個(gè)時(shí)鐘周期才能完成矩陣轉(zhuǎn)置,同時(shí)訪問(wèn)存儲(chǔ)器也會(huì)產(chǎn)生較高的功耗。如果在CGRA陣列中引入行總線和列總線,每行PE的計(jì)算結(jié)果傳到行總線,并且第1行處理單元的行總線和第1列的處理單元的列總線連接,第2行處理單元的行總線和第2列的處理單元的列總線連接,以此類推,而在映射時(shí)采用時(shí)間映射,即每行負(fù)責(zé) 1行像素的處理,那么處理完的數(shù)據(jù)傳到行總線,而在下1個(gè)周期讀入列總線的數(shù)據(jù),即可實(shí)現(xiàn)矩陣轉(zhuǎn)置。這樣設(shè)計(jì)的優(yōu)勢(shì)在于:矩陣轉(zhuǎn)置無(wú)需占用額外的時(shí)鐘周期;矩陣轉(zhuǎn)置無(wú)需借助于存儲(chǔ)器或者寄存器陣列,因此可以省去這一部分的面積開(kāi)銷和功耗。

(3)通過(guò)定制處理單元的硬件電路結(jié)構(gòu),節(jié)省面積開(kāi)銷。DCT在計(jì)算過(guò)程中涉及到大量的乘法運(yùn)算,如果直接通過(guò)乘法器來(lái)實(shí)現(xiàn)乘法運(yùn)算,那么整個(gè)陣列將需要64個(gè)乘法器,這將造成巨大的面積開(kāi)銷。為了節(jié)省面積開(kāi)銷,可以以移位和加法的方式代替乘法。

(4)引入“階段級(jí)”的流水線結(jié)構(gòu),進(jìn)一步提升計(jì)算效率,并降低對(duì)帶寬和 I/O數(shù)目的需求。在CGRA上并行執(zhí)行8行數(shù)據(jù)的1D-DCT之前,需要同時(shí)將 8行的數(shù)據(jù)準(zhǔn)備好并傳輸給每個(gè) PE,因此CGRA本身對(duì)帶寬和I/O數(shù)目的要求比較高。如圖3所示,如果將2D-DCT的整個(gè)計(jì)算過(guò)程按階段劃分,每個(gè)階段所需的時(shí)鐘數(shù)相等,并且等前一階段的數(shù)據(jù)完全準(zhǔn)備好之后才傳給后一階段,那么可以將整個(gè)計(jì)算過(guò)程理解為一個(gè)包含 3級(jí)的流水線結(jié)構(gòu)。這樣設(shè)計(jì)不僅可以降低對(duì)輸入輸出數(shù)據(jù)帶寬和I/O數(shù)目需求,而且利用流水線結(jié)構(gòu)在加速執(zhí)行方面的特性,可以進(jìn)一步提升整個(gè)結(jié)構(gòu)的計(jì)算效率。

圖3 本文提出的“階段級(jí)”流水線結(jié)構(gòu)

4 詳細(xì)設(shè)計(jì)

基于第 3節(jié)的分析,本文設(shè)計(jì)了一款基于CGRA的DCT硬件電路結(jié)構(gòu)。如圖4所示,本文提出的硬件電路結(jié)構(gòu)包括4部分:CGRA、數(shù)據(jù)準(zhǔn)備模塊、數(shù)據(jù)輸出模塊和時(shí)鐘分頻模塊。數(shù)據(jù)準(zhǔn)備模塊為CGRA準(zhǔn)備數(shù)據(jù),CGRA處理輸入的數(shù)據(jù),處理完成之后傳送給數(shù)據(jù)輸出模塊。整個(gè)結(jié)構(gòu)的時(shí)鐘信號(hào)由時(shí)鐘分頻模塊提供。以下幾節(jié)先詳細(xì)介紹如何針對(duì)DCT定制CGRA,之后再簡(jiǎn)單介紹其他模塊。

4.1 針對(duì)DCT定制CGRA的結(jié)構(gòu)

為了進(jìn)一步降低硬件實(shí)現(xiàn)的復(fù)雜度,式(3)可以概括為4個(gè)步驟:

步驟 1 載入數(shù)據(jù);步驟 2 調(diào)整輸入數(shù)據(jù)的順序,按照奇偶劃分;步驟 3 輸入數(shù)據(jù)與分別與兩個(gè)子系數(shù)塊矩陣相乘;

圖4 本文提出的硬件電路結(jié)構(gòu)框圖

步驟 4 對(duì)乘法結(jié)果進(jìn)行加減處理。

資料來(lái)源 以 “唑來(lái)膦酸”和 “急性葡萄膜炎”為中文關(guān)鍵詞,檢索中國(guó)學(xué)術(shù)期刊全文數(shù)據(jù)庫(kù)、維普中文科技期刊數(shù)據(jù)庫(kù)和萬(wàn)方數(shù)據(jù)庫(kù);以“zoledronic acid”和 “acute uveitis”為英文關(guān)鍵詞,檢索PubMed數(shù)據(jù)庫(kù),收集唑來(lái)膦酸相關(guān)性急性葡萄膜炎的病例。檢索時(shí)間:2000年10月至2018年3月。納入標(biāo)準(zhǔn):國(guó)內(nèi)外公開(kāi)發(fā)表的相關(guān)原始臨床試驗(yàn)研究或病例報(bào)道。剔除標(biāo)準(zhǔn):綜述性文獻(xiàn)和重復(fù)發(fā)表文獻(xiàn)。

其中,步驟1載入的數(shù)據(jù)既可以是數(shù)據(jù)總線輸入的數(shù)據(jù),也可以是矩陣轉(zhuǎn)置之后的數(shù)據(jù),步驟 2和步驟4需要有特定的互連線支持,步驟3和步驟4決定了處理單元的計(jì)算功能。以上這些是每行處理單元應(yīng)該支持的功能。1D-FDCT可以得到類似的結(jié)果,唯一不同的是這些步驟的順序。以下幾節(jié)主要針對(duì)IDCT,而FDCT可以通過(guò)調(diào)整這些步驟的順序得到。

4.1.1 定制每行處理單元支持的互連線 根據(jù)以上的分析,每行處理單元應(yīng)該支持的互連線可以劃分為3類,如圖5所示。

Ⅰ類:用于支持稀疏矩陣P1調(diào)整輸入數(shù)據(jù)的順序。假設(shè)輸入1行8個(gè)數(shù)據(jù)分別為 x0~x7,x0對(duì)應(yīng)于PE0, x1對(duì)應(yīng)于PE1,以此類推,那么1行處理單元之間的互連線應(yīng)該包括以下 8根互連線,即 P E0→ P E0, PE1→PE4, PE2→PE1, PE3→PE5,PE4→ PE2,PE5→PE6,PE6→PE3,PE7→PE7。通過(guò)這8根互連線可以完成1D-IDCT的第2步,也就是按照奇偶順序調(diào)整輸入數(shù)據(jù)。

Ⅱ類:用于支持稀疏矩陣P0進(jìn)行加減運(yùn)算。P0需要8根互連線,具體為:P E0→PE7, PE1→PE6,PE2→PE5, PE3→PE4, PE4→PE3, PE5→PE2, P E6→PE1和PE7→PE0,通過(guò)這8根互連線即可滿足P0矩陣在加減運(yùn)算方面的需求。

圖5 針對(duì)DCT為每行處理單元定制的3類互連線

Ⅲ類:除了P0和P1需要定制互連線之外,系數(shù)矩陣的乘法也需要定制互連線。一般來(lái)講,系數(shù)矩陣的計(jì)算采用4×4的蝶形運(yùn)算來(lái)實(shí)現(xiàn),但是這樣的設(shè)計(jì)需要過(guò)多的互連線支持,互連線增多對(duì)應(yīng)著面積開(kāi)銷增大。在本文提出的設(shè)計(jì)中,矩陣乘法是通過(guò)累加的方式實(shí)現(xiàn)的,而數(shù)據(jù)則是通過(guò)循環(huán)傳遞的方式,這種方法需要的互連線較少。對(duì)于C4×4X偶數(shù),需要循環(huán)傳遞 x0,x2,x4,x6,因此需要互連線PE0→PE3, PE1→PE0,PE2→PE1, PE3→PE2。同樣,對(duì)于V4×4X奇數(shù),需要互連線PE4→PE7,PE5→PE4, PE6→PE5, PE7→PE6。

4.1.2 消除矩陣轉(zhuǎn)置存儲(chǔ)器 矩陣轉(zhuǎn)置就是將矩陣中第i行的數(shù)據(jù)轉(zhuǎn)換為第i列的數(shù)據(jù)。如圖6(a)所示,將第i (i∈[0, 7],從上到下)行處理單元的數(shù)據(jù)同時(shí)輸出到第i根H總線上,同時(shí)將第i根H總線連接到第i (i∈[0, 7],從左到右)根V總線上,而V總線作為 1列處理單元的 1個(gè)輸入,在基于列的 1DIDCT的第1步時(shí)載入V總線輸入的數(shù)據(jù)。通過(guò)H總線和V總線即可實(shí)現(xiàn)矩陣轉(zhuǎn)置,無(wú)需占用額外的時(shí)鐘周期數(shù),而由此導(dǎo)致的面積開(kāi)銷與存儲(chǔ)器或者寄存器陣列相比是很小的。

4.1.3 定制處理單元的功能 處理單元的內(nèi)部結(jié)構(gòu)可以按照功能劃分為3個(gè)部分:

(1)輸入數(shù)據(jù)選擇:如圖6(b)所示,輸入數(shù)據(jù)的來(lái)源有6種:數(shù)據(jù)輸入總線,V總線,Ⅰ類互連線輸入的數(shù)據(jù),Ⅱ類互連線輸入的數(shù)據(jù)、內(nèi)部寄存器反饋的數(shù)據(jù)和Ⅲ類互連線輸入的數(shù)據(jù)。數(shù)據(jù)輸入總線和V總線輸入的數(shù)據(jù)是第4.1節(jié)中1D-IDCT計(jì)算過(guò)程中的第1步載入的數(shù)據(jù),Ⅰ類總線傳遞的數(shù)據(jù)是1D-IDCT的第2步調(diào)換順序的數(shù)據(jù),Ⅱ類互連線則是傳遞1D-IDCT的第3步累加所需的數(shù)據(jù),Ⅲ類互連線輸入的數(shù)據(jù)則是用于完成 1D-IDCT的第 4步。

圖6 針對(duì)DCT定制的互連網(wǎng)絡(luò)以及處理單元結(jié)構(gòu)

(3)累加器和數(shù)據(jù)輸出: 累加器用于系數(shù)矩陣乘累加的計(jì)算,對(duì)應(yīng)于1D-IDCT的第3步。累加所需的數(shù)據(jù)通過(guò)Ⅱ類互連線循環(huán)傳遞。累加完成之后,需要對(duì)44×CX偶數(shù)和44×VX奇數(shù)的計(jì)算結(jié)果進(jìn)行加減運(yùn)算,即第 4步,以結(jié)束1D-IDCT的計(jì)算。第 4步所需的數(shù)據(jù)需要通過(guò)Ⅲ類互連線輸入。1D-IDCT完成之后輸出數(shù)據(jù)。若是基于行的1D-IDCT,那么輸出數(shù)據(jù)傳遞到 H總線上,如果是基于列的1D-IDCT,輸出數(shù)據(jù)傳給輸出模塊處理。

4.2 “階段級(jí)”流水線結(jié)構(gòu)

本文提出的硬件電路結(jié)構(gòu)構(gòu)建了一種“階段級(jí)”流水線結(jié)構(gòu)。通過(guò)這種結(jié)構(gòu),可以實(shí)現(xiàn)流水執(zhí)行8×8尺寸大小的2D-IDCT/FDCT。整個(gè)計(jì)算過(guò)程可以劃分為3個(gè)階段:數(shù)據(jù)準(zhǔn)備、計(jì)算和數(shù)據(jù)輸出階段,而每個(gè)階段對(duì)應(yīng)1個(gè)流水級(jí),每個(gè)階段所需的時(shí)鐘周期均一致,這樣可以實(shí)現(xiàn)平衡流水。而且,這種設(shè)計(jì)可以降低對(duì)輸入/輸出帶寬和I/O數(shù)目的需求,同時(shí)也可以以8×8尺寸大小的塊為單位加速完成整個(gè)視頻序列的處理。

4.2.1 時(shí)鐘分頻 為了構(gòu)建流水線結(jié)構(gòu),本文在電路結(jié)構(gòu)中定義了兩個(gè)時(shí)鐘域:(1)低頻時(shí)鐘域,包括數(shù)據(jù)準(zhǔn)備和數(shù)據(jù)輸出模塊;(2)高頻時(shí)鐘域,包括CGRA。不同的視頻壓縮標(biāo)準(zhǔn)對(duì)應(yīng)的高低頻時(shí)鐘域的時(shí)鐘周期比不同,如表2所示(其中,P代表時(shí)鐘周期)。在低頻時(shí)鐘域中,完成一個(gè)階段需要8個(gè)周期,轉(zhuǎn)換成時(shí)間之后等于高頻時(shí)鐘域完成一個(gè)階段的時(shí)間,即每個(gè)階段的執(zhí)行時(shí)間是一致的,因此整個(gè)結(jié)構(gòu)可以看成“平衡流水線”結(jié)構(gòu)。

表2 不同標(biāo)準(zhǔn)數(shù)據(jù)準(zhǔn)備階段周期的比較

4.2.2 數(shù)據(jù)準(zhǔn)備和數(shù)據(jù)輸出模塊 數(shù)據(jù)準(zhǔn)備和數(shù)據(jù)輸出模塊由低頻時(shí)鐘控制,完成一個(gè)階段需要8個(gè)時(shí)鐘周期。數(shù)據(jù)準(zhǔn)備模塊由8個(gè)并行的串轉(zhuǎn)并模塊組成,每個(gè)周期載入 1個(gè)像素值,8個(gè)周期后拼接成 1行的數(shù)據(jù),然后發(fā)出“Ready”信號(hào)。數(shù)據(jù)輸出模塊由 8個(gè)并行的并轉(zhuǎn)串模塊組成,在接收到CGRA發(fā)出的“Done”信號(hào)之后,將CGRA輸出的數(shù)據(jù)載入到數(shù)據(jù)輸出模塊,然后通過(guò)8個(gè)并轉(zhuǎn)串模塊,每個(gè)周期輸出8個(gè)數(shù)據(jù),經(jīng)過(guò)8個(gè)周期之后完成輸出。

4.2.3 功能可重構(gòu) 本文提出的硬件電路具有動(dòng)態(tài)可重構(gòu)的特性,具體體現(xiàn)在:(1)通過(guò)配置,處理單元陣列的功能重構(gòu),實(shí)現(xiàn)對(duì)不同視頻標(biāo)準(zhǔn)的 DCT的支持。不同標(biāo)準(zhǔn)下,矩陣系數(shù)不一致,完成一次常系數(shù)乘法的周期也不相同。(2)通過(guò)配置,處理單元每個(gè)周期的功能重構(gòu),實(shí)現(xiàn)不同時(shí)鐘周期下的不同運(yùn)算。不同標(biāo)準(zhǔn)下,常系數(shù)乘法所需的加減運(yùn)算和移位操作不同,通過(guò)配置可選擇運(yùn)算類型和移位數(shù)量。(3)通過(guò)配置,處理單元之間的互連網(wǎng)絡(luò)實(shí)現(xiàn)重構(gòu),實(shí)現(xiàn) DCT不同步驟下的數(shù)據(jù)交換和傳輸。不同步驟下,需要傳遞的數(shù)據(jù)不相同,通過(guò)配置互連網(wǎng)絡(luò)實(shí)現(xiàn)數(shù)據(jù)的準(zhǔn)確傳遞。為了闡明硬件電路可重構(gòu)的特性,本文以在CGRA上映射HEVC的DCT為例描述電路重構(gòu)的過(guò)程。

在CGRA上映射DCT時(shí),每行處理單元完成8個(gè)像素的1D-DCT,對(duì)于HEVC,第1行第1個(gè)處理單元 PE(0,0)在 8個(gè)周期內(nèi)完成 a x0+gx6+a x4+ f x2的計(jì)算,每?jī)蓚€(gè)周期完成 1個(gè)常系數(shù)乘法,而常系數(shù)乘法是通過(guò)移位和加法實(shí)現(xiàn),因此每個(gè)周期通過(guò)配置處理單元內(nèi)部的移位器即可實(shí)現(xiàn)乘法。如圖7所示,可以看出PE的功能每個(gè)周期都會(huì)重構(gòu)1次,這些功能包括:移位,直傳和移位加。而在計(jì)算過(guò)程中涉及的數(shù)據(jù)則通過(guò)配置3類互連線實(shí)現(xiàn)準(zhǔn)確傳遞。

在CGRA上映射2D-DCT時(shí),每行處理單元處理1行的像素,8行的處理單元并行處理8行像素,因此,在同1個(gè)周期時(shí)鐘內(nèi),每行的配置是一致的,而整個(gè)結(jié)構(gòu)可以理解為 1個(gè)單指令多數(shù)據(jù)(Single Instruction Multiple Data, SIMD)。因此,CGRA每個(gè)周期所需的配置信息并不多,僅需1行處理單元的配置信息即可,8行處理單元共用一組配置信息。

4.2.4 整個(gè)流程 本文提出的硬件電路結(jié)構(gòu)的工作流程為:(1)數(shù)據(jù)準(zhǔn)備階段:利用8個(gè)低頻時(shí)鐘周期載入1個(gè)8×8尺寸大小的像素塊,載入完成之后發(fā)出“Ready”信號(hào);(2)數(shù)據(jù)處理階段:接收到“Ready”信號(hào),將8×8尺寸大小的像素塊分配到每行的處理單元,然后執(zhí)行基于行的 1D-DCT,之后通過(guò)H總線和V總線進(jìn)行轉(zhuǎn)置,轉(zhuǎn)置之后再進(jìn)行基于列的1D-DCT,完成之后發(fā)出“Done”信號(hào);(3)數(shù)據(jù)輸出階段:接收到“Done”信號(hào),將CGRA的處理結(jié)果載入,然后每個(gè)周期輸出8個(gè)數(shù)據(jù),利用8個(gè)周期完成數(shù)據(jù)輸出。

5 實(shí)驗(yàn)結(jié)果與分析

本文提出的硬件電路結(jié)構(gòu)通過(guò)Verilog HDL語(yǔ)言描述,并在SMIC 13 nm標(biāo)準(zhǔn)單元工藝庫(kù)下,通過(guò) Synopsys EDA[12]工具鏈對(duì)整個(gè)設(shè)計(jì)進(jìn)行了功能仿真、驗(yàn)證和綜合。為了評(píng)估本文提出結(jié)構(gòu)的性能優(yōu)劣,本文挑選了8種設(shè)計(jì)作為參照,這些參照中既有支持單一標(biāo)準(zhǔn)的設(shè)計(jì),又有支持多個(gè)標(biāo)準(zhǔn)的設(shè)計(jì),表3給出了本文提出結(jié)構(gòu)與這兩類設(shè)計(jì)的比較結(jié)果。由于本文提出的結(jié)構(gòu)中采用的常系數(shù)乘法所需的時(shí)鐘周期是根據(jù)視頻標(biāo)準(zhǔn)的不同而調(diào)整的,因此需要按照視頻標(biāo)準(zhǔn)的不同劃分為3種工作模式,然后分別于參考設(shè)計(jì)進(jìn)行比較,這3種工作模式與視頻標(biāo)準(zhǔn)的對(duì)應(yīng)關(guān)系為:模式 1針對(duì)視頻標(biāo)準(zhǔn)H.264/AVC, VC-1和 AVS;模式 2針對(duì)視頻標(biāo)準(zhǔn)HEVC;模式3針對(duì)視頻標(biāo)準(zhǔn)MPEG-1/2/4。從表3可以看出,與支持單一標(biāo)準(zhǔn)的參考設(shè)計(jì)相比,本文提出結(jié)構(gòu)的面積開(kāi)銷處于劣勢(shì),但是功耗的優(yōu)勢(shì)較為明顯,這主要是因?yàn)楸疚奶岢龅慕Y(jié)構(gòu)無(wú)需矩陣

圖7 PE單元的功能可重構(gòu)示例

轉(zhuǎn)置存儲(chǔ)器,因此也就省去了這一部分造成的動(dòng)態(tài)功耗;與支持多個(gè)標(biāo)準(zhǔn)的參考設(shè)計(jì)相比,本文提出的結(jié)構(gòu)的功耗方面的優(yōu)勢(shì)顯然要高于面積開(kāi)銷方面的優(yōu)勢(shì)。為了較公平地比較本文提出結(jié)構(gòu)與參考設(shè)計(jì)的性能差異,本文借助于設(shè)計(jì)效率和功耗效率這兩個(gè)指標(biāo)來(lái)綜合評(píng)價(jià)這些設(shè)計(jì)。

5.1 設(shè)計(jì)效率

設(shè)計(jì)效率為吞吐率與等效門數(shù)的商,如式(4)所示,其與吞吐率成正比,與面積開(kāi)銷(等效門數(shù))成反比。如圖8所示,與只支持單一標(biāo)準(zhǔn)的參考設(shè)計(jì)相比,本文提出的結(jié)構(gòu)的設(shè)計(jì)效率較低。這是因?yàn)橹恢С謫我粯?biāo)準(zhǔn)的參考設(shè)計(jì)功能單一,靈活性差,應(yīng)用范圍局限于一種標(biāo)準(zhǔn),而本文提出的結(jié)構(gòu)支持多種標(biāo)準(zhǔn),靈活性較高,而靈活性的提高必然以面積增加為代價(jià),因此設(shè)計(jì)效率較低。但是,與支持多種標(biāo)準(zhǔn)的參考設(shè)計(jì)相比,本文提出的結(jié)構(gòu)的設(shè)計(jì)效率優(yōu)勢(shì)較明顯。當(dāng)處于模式1時(shí),吞吐率達(dá)到最大值,此時(shí)設(shè)計(jì)效率最高,與其他結(jié)構(gòu)相比,最多提升4.33倍,最低提升1.57倍。模式2和模式3由于吞吐率的限制,設(shè)計(jì)效率的有所下降,但是依然比文獻(xiàn)[8]至少提升77.57%。

5.2 能量效率

能量效率是指每消耗單位mW的功耗處理的像素?cái)?shù)目,計(jì)算方式如式(5)所示,其與吞吐率成正比,與功耗成反比。如圖9所示,本文提出結(jié)構(gòu)的能量效率優(yōu)勢(shì)較為明顯,模式1時(shí),與其他結(jié)構(gòu)(包括支持單一標(biāo)準(zhǔn)和支持多個(gè)標(biāo)準(zhǔn)的參考設(shè)計(jì))相比,本文提出的結(jié)構(gòu)的能量效率最高提升12.3倍,最低提升14.6%,而在模式2和模式3時(shí),由于吞吐率的限制,能量效率略有下降,但是依然比文獻(xiàn)[2-4,7-8]至少提升77.7%。

5.3 視頻序列的解碼能力評(píng)估

為了評(píng)估本文提出的結(jié)構(gòu)在實(shí)時(shí)解碼視頻序列方面的能力,給出了硬件電路解碼視頻序列時(shí)可以達(dá)到的最高幀率。最高幀率是指1秒鐘內(nèi),實(shí)時(shí)解碼某種格式的視頻序列的幀數(shù),如式(6)所示,其與吞吐率成正比,公式中的格式系數(shù)根據(jù)視頻格式為4:2:0還是4:4:4分別設(shè)置為1.5和3.0。表4給出了在不同視頻尺寸下由式(6)計(jì)算得來(lái)的評(píng)估值,可以看出,本文提出的結(jié)構(gòu)能夠在任意模式下以30幀/s的幀率,實(shí)時(shí)解碼最大尺寸為 4096×2048,格式為4:2:0的視頻序列。

表3 本文提出的結(jié)構(gòu)與參考設(shè)計(jì)的比較結(jié)果

圖8 設(shè)計(jì)效率的比較結(jié)果

6 結(jié)束語(yǔ)

本文基于粗粒度可重構(gòu)陣列結(jié)構(gòu),設(shè)計(jì)了一款支持多個(gè)視頻壓縮標(biāo)準(zhǔn)的8×8離散余弦變換的硬件電路結(jié)構(gòu)。利用粗粒度可重構(gòu)陣列結(jié)構(gòu)的可重配置的特性,根據(jù)不同的視頻標(biāo)準(zhǔn),調(diào)整工作模式,從而實(shí)現(xiàn)支持多個(gè)視頻壓縮標(biāo)準(zhǔn)的2D-FDCT/IDCT。通過(guò)定制粗粒度可重構(gòu)陣列結(jié)構(gòu)的互連網(wǎng)絡(luò),本文提出的結(jié)構(gòu)在矩陣轉(zhuǎn)置時(shí)無(wú)需占用額外的時(shí)鐘周期,也無(wú)需借助于存儲(chǔ)器。而且,整個(gè)電路結(jié)構(gòu)形成了一種“階段級(jí)”流水線結(jié)構(gòu),能夠?qū)崿F(xiàn)流水處理8×8尺寸的像素塊。實(shí)驗(yàn)結(jié)果顯示,與已有支持多個(gè)標(biāo)準(zhǔn)的結(jié)構(gòu)相比,設(shè)計(jì)效率最高可提升4.33倍,最低提升77.5%,能量效率最高提升12.3倍,最低提升14.6%,而且能夠以最高30幀/s的幀率實(shí)時(shí)處理尺寸為4k×2k(4096×2048),格式為4:2:0的視頻序列。

表4 本文提出結(jié)構(gòu)的視頻序列解碼能力評(píng)估

[1] Richardson I E G. Video Codec Design: Developing Image and Video Compression Systems[M]. New York: John Wiley& Sons Ltd., 2002: 127-161.

[2] Chen Y, Chang T, and Lu C. A low-cost and high-throughput architecture for H.264/AVC integer transform by using four computation streams[C]. Proceeding of the 13th International Symposium on Integrated Circuits (ISIC), Singapore, 2011: 380-383.

[3] Michell J A, Solana J M, and Ruiz G A. A high-throughput ASIC processor for 8×8 transform coding in H.264/AVC[J]. Signal Processing: Image Communication, 2011, 26(2): 93-104.

[4] Sun C C, Donner P, and G?tze J. VLSI implementation of a configurable IP Core for quantized discrete cosine and integer transforms[J]. International Journal of Circuit Theory and Applications, 2012, 40(11): 1107-1126.

[5] Huang C, Chen L, and Lai Y. A high-speed 2-D transform architecture with unique kernel for multi-standard video applications[C]. IEEE International Symposium on Circuits and Systems (ISCAS), Seattle, WA , USA, 2008: 21-24.

[6] Fan C, Fang C, Chang C, et al.. Fast multiple inverse transforms with low-cost hardware sharing design for multistandard video decoding[J]. IEEE Transactions on Circuits and Systems II: Express Briefs, 2011, 58(8): 517-521.

[7] Chen Y and Chang T. A high performance video transform engine by using space-time scheduling strategy[J]. IEEE Transactions on Very Large Scale Integration (VLSI) Systems,2012, 20(4): 655-664.

[8] Martuza M and Wahid K A. Implementation of a cost-shared transform architecture for multiple video codecs[J]. Journal of Real-Time Image Processing, 2012, 1-12,doi:10.1007/s11554-012-0266-5.

[9] Choi K. Coarse-grained reconfigurable array: architecture and application mapping[J]. IPSJ Transactions on System LSI Design Methodology, 2011, http: //dx. doi. org/ 10.2197/ipsjtsldm. 4.31.

[10] 魏少軍, 劉雷波, 尹首一. 可重構(gòu)計(jì)算處理器技術(shù)[J].中國(guó)科學(xué):信息科學(xué), 2012, 42(12): 1559-1576.Wei S J, Liu L B, and Yin S Y. Key techniques of reconfigurable computing processor[J]. SCIENCE CHINA:Information Sciences, 2012, 42(12): 1559-1576.

[11] Chen W H, Smith C, and Fralick S. A fast computational algorithm for the discrete cosine transform[J]. IEEE Transactions on Communications, 1977, 25(9): 1004-1009.

[12] Synopsys Corporation. Accelerate design innovation with design compiler: accelerate design innovation with design compiler[OL].http://www.synopsys.com/Tools/Implementati on/RTLSynthesis/Pages/default.aspx. January 2014.

[13] Qi H, Wei C, and Tong J. A dynamically reconfigurable VLSI architecture for H.264 integer transforms[J]. Chinese Journal of Electronics, 2012, 21(3): 510-514

猜你喜歡
處理單元時(shí)鐘總線
不同生物鏈組合對(duì)黃河下游地區(qū)引黃水庫(kù)富營(yíng)養(yǎng)化及藻類控制
別樣的“時(shí)鐘”
城市污水處理廠設(shè)備能耗及影響因素分析研究
科技資訊(2021年10期)2021-07-28 04:04:53
長(zhǎng)填齡滲濾液MBR+NF組合工藝各處理單元的DOM化學(xué)多樣性
古代的時(shí)鐘
一種高可用負(fù)載均衡網(wǎng)絡(luò)數(shù)據(jù)采集處理的方法及系統(tǒng)
基于PCI Express總線的xHC與FPGA的直接通信
機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
有趣的時(shí)鐘
時(shí)鐘會(huì)開(kāi)“花”
壶关县| 资兴市| 库车县| 永胜县| 南阳市| 东丰县| 永宁县| 寿光市| 乌恰县| 许昌县| 吉木乃县| 乌兰察布市| 广灵县| 尤溪县| 崇仁县| 遂川县| 中江县| 黔江区| 荔浦县| 道孚县| 西乌| 江油市| 湄潭县| 修文县| 团风县| 句容市| 加查县| 新邵县| 调兵山市| 轮台县| 济南市| 永德县| 新乡县| 磴口县| 武穴市| 师宗县| 贵南县| 商都县| 保德县| 苏州市| 左权县|