專利名稱:適于hevc標(biāo)準(zhǔn)的變換編碼器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于電子電路技術(shù)領(lǐng)域,特別涉及HEVC標(biāo)準(zhǔn)的視頻編碼中的變換編碼器結(jié)構(gòu),可應(yīng)用于超大規(guī)模集成電路VLSI。
背景技術(shù):
眾所周知,視頻圖像是人類獲取外部世界信息的一個(gè)主要的來源。隨著視頻圖像獲取設(shè)備、通信網(wǎng)絡(luò)以及多媒體技術(shù)的迅速發(fā)展,高分辨率/高清晰度視頻圖像已經(jīng)在國家安全、國民經(jīng)濟(jì)、科學(xué)研究和人民生活中發(fā)揮著越來越重要的作用。然而,這些具有豐富內(nèi)容的視頻圖像信息經(jīng)過數(shù)字化后,數(shù)據(jù)量十分巨大。給高分辨率/高清晰度視頻圖像的傳輸和存儲(chǔ)帶來了極大的困難。特別是在數(shù)據(jù)傳輸帶寬有限的情況下,高分辨率視頻圖像所帶來的高數(shù)據(jù)率、大數(shù)據(jù)量問題成為了高分辨率視頻圖像應(yīng)用領(lǐng)域擴(kuò)展的瓶頸,同時(shí)也 對(duì)現(xiàn)有的壓縮算法提出了更大的挑戰(zhàn),傳統(tǒng)的視頻圖像壓縮方法已不能滿足高分辨率視頻圖像的要求。新一代視頻圖像壓縮方法是高分辨率視頻圖像壓縮的解決途徑。2010年由ISO/IEC和ITU-T聯(lián)合構(gòu)建了面向下一代視頻壓縮標(biāo)準(zhǔn)High Efficiency Video Coding,即HEVC視頻編碼方案,并且建立了測(cè)試模型。與目前正在廣泛使用的H. 264/AVC標(biāo)準(zhǔn)相比,在解碼圖像質(zhì)量相同的情況下,HEVC大約可以節(jié)省高達(dá)40%的碼率。HEVC幀內(nèi)編碼依然采用在H. 263中就開始使用的混合編碼框架預(yù)測(cè)編碼、變換編碼和熵編碼。然而,高效率的變換編碼是以增加計(jì)算復(fù)雜度為代價(jià)的。HEVC的幀內(nèi)編碼中存在三種不同的處理單元,分別是編碼單元⑶、預(yù)測(cè)單元PU和變換單元TU。三種處理單元在邏輯上可以依次向下分割為更小的處理單元。同時(shí)編碼單元CU可以分解為與其大小相同的PU和4個(gè)1/4大小的PU。I3U可以進(jìn)一步分解為與其大小相同的TU和4個(gè)1/4大小的TU,且每個(gè)塊都具有比H. 264更多的方向。編碼框架采用遞歸及四叉樹的方法來實(shí)現(xiàn),因此其結(jié)構(gòu)非常復(fù)雜。作為HEVC中一個(gè)最常用的單位,TU作為最終處理單元,其塊大小從4X 4到32 X 32,特別是在高效率層次中,TU的大小可以通過分裂⑶三個(gè)層次而得到。同時(shí),DCT變換是HEVC編碼標(biāo)準(zhǔn)的主要復(fù)雜計(jì)算的組成部分。因此,TU的計(jì)算復(fù)雜性是硬件實(shí)現(xiàn)HEVC的一個(gè)瓶頸問題,目前還沒有能夠高效實(shí)現(xiàn)該標(biāo)準(zhǔn)的電路結(jié)構(gòu)。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對(duì)上述背景技術(shù)中存在的困難和不足,提出了一種適用于HEVC標(biāo)準(zhǔn)的變換編碼器,以完成對(duì)HEVC標(biāo)準(zhǔn)中的4 X 4DCT、4 X 4DST、8 X 8DCT ,16X16DCT和32 X 32DCT這5種類型的變換。為實(shí)現(xiàn)上述目的,本發(fā)明的變換編碼器包括包括一維DCT/DST模塊、轉(zhuǎn)置緩沖模塊和頂層控制單元,一維DCT/DST模塊用于完成HEVC標(biāo)準(zhǔn)中的各種一維變換,轉(zhuǎn)置緩沖模塊用于完成數(shù)據(jù)的轉(zhuǎn)置操作,即將按行輸入的行變換結(jié)果按列輸出,頂層控制模塊用于產(chǎn)生一維DCT/DST模塊和轉(zhuǎn)置緩沖模塊的復(fù)位和使能信號(hào),控制一維DCT/DST模塊對(duì)輸入的原始數(shù)據(jù)進(jìn)行ー維行變換,并產(chǎn)生控制信號(hào)控制轉(zhuǎn)置緩沖模塊接收ー維DCT/DST模塊的行變換結(jié)果,在所有行數(shù)據(jù)處理完成之后,控制轉(zhuǎn)置緩沖模塊將轉(zhuǎn)置后的結(jié)果輸回ー維DCT/DST模塊進(jìn)行ー維列變換,其特征在于所述ー維DCT/DST模塊,包括蝶形運(yùn)算單元,用于完成數(shù)據(jù)間的加減操作,將輸入數(shù)據(jù)首尾兩兩相加、相減的結(jié)果送入多路選擇器;類蝶形運(yùn)算單元,用于完成4點(diǎn)DST變換輸入數(shù)據(jù)間的相加、相減和延遲的操作,并將結(jié)果送入矩陣乘法器陣列;多路選擇器,根據(jù)變換類型和當(dāng)前狀態(tài),對(duì)蝶形運(yùn)算單元輸入的運(yùn)算結(jié)果進(jìn)行選擇,輸出至矩陣乘法器陣列;
矩陣乘法器陣列,包含兩組輸入一組輸入4個(gè)數(shù)據(jù),另ー組輸入16個(gè)數(shù)據(jù),用于完成將輸入的4個(gè)數(shù)據(jù)分別與另一組輸入的4組4個(gè)系數(shù)的相乘操作,將得到16個(gè)乘積送入相加移位器;相加移位器,用于將矩陣乘法器陣列輸入的運(yùn)算結(jié)果進(jìn)行相加、移位;所述的轉(zhuǎn)置緩沖模塊,完成對(duì)ー維DCT/DST模塊行變換結(jié)果的轉(zhuǎn)置操作,它包含寄存器陣列轉(zhuǎn)置子模塊和RAM存取轉(zhuǎn)置子模塊,該寄存器陣列轉(zhuǎn)置子模塊,采用寄存器陣列結(jié)構(gòu),利用每個(gè)寄存器的不同路徑延遲、不同的輸入輸出方向和寄存器區(qū)域完成非32點(diǎn)數(shù)據(jù)轉(zhuǎn)置操作;該RAM存取轉(zhuǎn)置子模塊采用8組RAM地址存取結(jié)構(gòu),通過控制各個(gè)RAM的輸入輸出地址,完成32點(diǎn)數(shù)據(jù)的轉(zhuǎn)置操作。作為優(yōu)選,上述變換編碼器中的頂層控制単元,包括復(fù)位使能模塊和數(shù)據(jù)流控制模塊,復(fù)位使能模塊分別與ー維DCT/DST模塊的使能、復(fù)位端和轉(zhuǎn)置緩沖模塊的使能、復(fù)位端相連,為這兩個(gè)模塊提供使能和復(fù)位信號(hào);數(shù)據(jù)流控制模塊分別與ー維DCT/DST模塊的數(shù)據(jù)控制端和轉(zhuǎn)置緩沖模塊的數(shù)據(jù)控制端相連,根據(jù)ー維行變換和數(shù)據(jù)轉(zhuǎn)置的完成狀況,控制DCT/DST模塊及轉(zhuǎn)置緩沖模塊的數(shù)據(jù)流方向。作為優(yōu)選,上述變換編碼器中的矩陣乘法器陣列,設(shè)為3個(gè),分別為第一乘法器陣列、第二乘法器陣列和第三乘法器陣列;第一乘法器陣列,用于進(jìn)行4X4DCT、4X4DST、8 X 8DCT、16 X 16DCT和32 X 32DCT變換;第二乘法器陣列,用于進(jìn)行8 X 8DCT、16 X 16DCT和32X32DCT變換;第三乘法器陣列用于進(jìn)行16X16DCT和32X32DCT變換。作為優(yōu)選,上述變換編碼器中的多路選擇器,設(shè)為三組,分別為第一多路選擇器、第二多路選擇器和第三多路選擇器,它們分別與第一乘法器陣列、第二乘法器陣列、第三乘法器陣列的輸入端相連,用于根據(jù)變換類型和當(dāng)前狀態(tài)對(duì)蝶形運(yùn)算單元的計(jì)算結(jié)果進(jìn)行選擇輸出,送入下級(jí)以完成乘法運(yùn)算,即第一多路選擇器對(duì)數(shù)據(jù)進(jìn)行選擇后送入第一乘法器陣列,第二多路選擇器對(duì)數(shù)據(jù)進(jìn)行選擇后送入第二乘法器陣列,第三多路選擇器對(duì)數(shù)據(jù)進(jìn)行選擇后送入第三乘法器陣列。作為優(yōu)選,上述變換編碼器中的蝶形運(yùn)算單元,設(shè)為四組,分別為32輸入蝶形、16輸入蝶形、8輸入蝶形和4輸入蝶形,分別用以完成32、16、8、4個(gè)輸入數(shù)據(jù)的首尾相加和首尾相減操作;該32輸入蝶形的相加結(jié)果送入16輸入蝶形,其相減結(jié)果分為三組分別送入第一多路選擇器、第二多路選擇器和第三多路選擇器;該16輸入蝶形的相加結(jié)果送入8輸入蝶形,其相減結(jié)果分為三組分別送入第一多路選擇器、第二多路選擇器和第三多路選擇器;該8輸入蝶形的相加結(jié)果送入4輸入蝶形,其相減結(jié)果分為兩組分別送入第一多路選擇器和第二多路選擇器,該4輸入蝶形的相加和相減結(jié)果均送入第一多路選擇器。作為優(yōu)選,上述變換編碼器中的相加移位器,設(shè)為八組,分別為第一相加移位器、第二相加移位器、第三相加移位器、第四相加移位器、第五相加移位器、第六相加移位器、第七相加移位器和第八相加移位器;第一相加移位器與第一乘法器陣列相連,用于將第一乘法器陣列的運(yùn)算結(jié)果分為四組,并將每組數(shù)據(jù)分別相加后的結(jié)果向右移位;第二相加移位器與第二乘法器陣列相連,用于將第二乘法器陣列的運(yùn)算結(jié)果分為四組,并將每組數(shù)據(jù)分別相加后的結(jié)果向右移位;第三相加移位器與第三乘法器陣列相連,用于將第三乘法器陣列的運(yùn)算結(jié)果分為 四組,并將每組數(shù)據(jù)分別相加后的結(jié)果向右移位;第四相加移位器與第一乘法器陣列、第二乘法器陣列和第三乘法器陣列相連,用于將這些乘法器陣列的運(yùn)算結(jié)果分為八組,并將每組數(shù)據(jù)分別相加后的結(jié)果向右移位;第五相加移位器分別與第一相加移位器和第二相加移位器相連,用于將第一相加移位器和第二相加移位器的運(yùn)算結(jié)果相加;第六相加移位器與第三相加移位器相連,用于將第三相加移位器相鄰兩周期的運(yùn)算結(jié)果相加;第七相加移位器與第四相加移位器相連,用于將第四相加移位器的相鄰三周期的運(yùn)算結(jié)果相加;第八相加移位器與第一乘法器陣列相連,用于將第一乘法器陣列的運(yùn)算結(jié)果分為八組,并將每組數(shù)據(jù)分別相加后的結(jié)果向右移位。各相加移位器將每組數(shù)據(jù)分別相加后的結(jié)果向右移位的位數(shù),是根據(jù)變換塊的大小和行列變換確定,即進(jìn)行32點(diǎn)DCT行變換時(shí)右移4位,列變換時(shí)右移11位;進(jìn)行16點(diǎn)DCT行變換時(shí)右移3位,列變換時(shí)右移10位;進(jìn)行8點(diǎn)DCT行變換時(shí)右移2位,列變換時(shí)右移9位;進(jìn)行4點(diǎn)DCT和DST行變換時(shí)右移I位,列變換時(shí)右移8位。作為優(yōu)選,上述變換編碼器中的寄存器陣列轉(zhuǎn)置子模塊,由16行16列寄存器陣列組成,該陣列分為三個(gè)區(qū)域,分別是4X4轉(zhuǎn)置區(qū)域、8X8轉(zhuǎn)置區(qū)域和16X16轉(zhuǎn)置區(qū)域,用以分別完成4點(diǎn)、8點(diǎn)、16點(diǎn)轉(zhuǎn)置操作;該4X4轉(zhuǎn)置區(qū)域由寄存器陣列最左上角的4X4個(gè)寄存器組成,8X8轉(zhuǎn)置區(qū)域由寄存器陣列最左上角的8X8個(gè)寄存器組成,16X16轉(zhuǎn)置區(qū)域由全部寄存器陣列組成;這三個(gè)區(qū)域的輸入數(shù)據(jù)均從該區(qū)域的左方輸入,每個(gè)時(shí)鐘周期向右方寄存,當(dāng)數(shù)據(jù)輸入完成之后,寄存器的儲(chǔ)存方向變?yōu)樽韵露?,每個(gè)時(shí)鐘周期數(shù)據(jù)向上方寄存,即可完成轉(zhuǎn)置操作,并將轉(zhuǎn)置后的數(shù)據(jù)從上方輸出。作為優(yōu)選,上述變換編碼器中的RAM存取轉(zhuǎn)置子模塊,包含RAM単元和輸入輸出地址控制単元,該RAM単元由8個(gè)存儲(chǔ)器構(gòu)成,每ー個(gè)存儲(chǔ)器均與ー維DCT/DST模塊相連;輸入輸出地址控制単元與每個(gè)存儲(chǔ)器的地址端相連,控制每個(gè)存儲(chǔ)器的輸入輸出地址,實(shí)現(xiàn)對(duì)ー維DCT/DST模塊的32點(diǎn)DCT行變換結(jié)果,并將該變換結(jié)果按行存入8個(gè)存儲(chǔ)器中,再按列讀出,即完成32X32個(gè)數(shù)據(jù)的轉(zhuǎn)置操作。本發(fā)明與現(xiàn)有技術(shù)相比具有以下優(yōu)點(diǎn)第一,本發(fā)明采用ー維DCT/DST模塊與轉(zhuǎn)置緩沖模塊相結(jié)合的結(jié)構(gòu),使用同一個(gè)ー維DCT/DST模塊完成行變換和列變換,提高了電路復(fù)用程度,減小了電路規(guī)模和復(fù)雜度;第二,本發(fā)明采用的ー維DCT/DST模塊,通過使用蝶形運(yùn)算器與矩陣乘法器結(jié)合的結(jié)構(gòu)實(shí)現(xiàn)變換,該結(jié)構(gòu)僅使用48個(gè)乘法器即可完成所有從4X4至32X32大小的DCT變換與4X4的DST變換,適合于硬件實(shí)現(xiàn)的編碼器;第三,本發(fā)明根據(jù)變換塊大小,選擇使用不同的轉(zhuǎn)置模塊,分別為寄存器陣列轉(zhuǎn)置子模塊和RAM存取轉(zhuǎn)置子模塊,其中寄存器陣列轉(zhuǎn)置子模塊巧妙利用寄存器間的路徑延遲,可以高效簡(jiǎn)便地完成數(shù)據(jù)轉(zhuǎn)置操作,且結(jié)構(gòu)規(guī)整易于集成電路實(shí)現(xiàn);RAM存取轉(zhuǎn)置子模塊,綜合考慮數(shù)據(jù)大小和存儲(chǔ)器資源,利用不同的存儲(chǔ)和讀取順序,高效完成大塊數(shù)據(jù)的轉(zhuǎn)置操作。
圖I為本發(fā)明總體結(jié)構(gòu)框圖; 圖2為本發(fā)明中的ー維DCT/DST模塊框圖;圖3為本發(fā)明中的矩陣乘法器陣列結(jié)構(gòu)框圖;圖4為本發(fā)明蝶形運(yùn)算單元與多路選擇器連接示意圖;圖5為本發(fā)明實(shí)現(xiàn)ー維4X4DCT/DST變換的結(jié)構(gòu)圖;圖6為本發(fā)明實(shí)現(xiàn)ー維8X8DCT變換的結(jié)構(gòu)圖;圖7為本發(fā)明實(shí)現(xiàn)ー維16X 16DCT變換的結(jié)構(gòu)圖;圖8為本發(fā)明實(shí)現(xiàn)ー維32X32DCT變換的結(jié)構(gòu)圖;圖9為本發(fā)明實(shí)現(xiàn)ー維32X32DCT變換每階段各乘法器陣列數(shù)據(jù)輸入順序示意圖;圖10為本發(fā)明寄存器陣列轉(zhuǎn)置子模塊結(jié)構(gòu)示意圖;圖11為本發(fā)明RAM存取轉(zhuǎn)置子模塊結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說明。參照?qǐng)D1,本發(fā)明提出的適于HEVC標(biāo)準(zhǔn)的變換編碼器,由頂層控制単元3、ー維DCT/DST模塊I和轉(zhuǎn)置緩沖模塊2構(gòu)成。其中頂層控制單元3的輸出分為兩路,第一路與ー維DCT/DST模塊I的復(fù)位端和使能端連接,第二路與轉(zhuǎn)置緩沖模塊2的復(fù)位端和使能端連接;ー維DCT/DST模塊I的輸入分為兩路,第一路與外部的輸入數(shù)據(jù)連接,第二路與轉(zhuǎn)置緩沖模塊2的數(shù)據(jù)輸出端連接;ー維DCT/DST模塊I的輸出分為兩路,第一路與轉(zhuǎn)置緩沖模塊2的數(shù)據(jù)輸入端連接,第二路與外部的輸出端連接;轉(zhuǎn)置緩沖模塊2的數(shù)據(jù)輸入端與ー維DCT/DST模塊I的數(shù)據(jù)輸出端連接,轉(zhuǎn)置緩沖模塊2的數(shù)據(jù)輸出端與ー維DCT/DST模塊I的數(shù)據(jù)輸入端連接。其中所述頂層控制單元3,包括復(fù)位使能模塊31和數(shù)據(jù)流控制模塊32,復(fù)位使能模塊31分別與ー維DCT/DST模塊I的使能、復(fù)位端和轉(zhuǎn)置緩沖模塊2的使能、復(fù)位端相連,為這兩個(gè)模塊提供使能和復(fù)位信號(hào);數(shù)據(jù)流控制模塊32分別與ー維DCT/DST模塊I的數(shù)據(jù)控制端和轉(zhuǎn)置緩沖模塊2的數(shù)據(jù)控制端相連。復(fù)位使能模塊31和數(shù)據(jù)流控制模塊32均由計(jì)數(shù)器和邏輯電路構(gòu)成,根據(jù)計(jì)數(shù)器的計(jì)數(shù)狀態(tài)和當(dāng)前進(jìn)行的變換類型,由邏輯電路產(chǎn)生ー維DCT/DST模塊I的復(fù)位、使能、數(shù)據(jù)流控制信號(hào)和轉(zhuǎn)置緩沖模塊2的復(fù)位、使能、數(shù)據(jù)流控制信號(hào),控制ー維DCT/DST模塊I對(duì)變換編碼器的輸入數(shù)據(jù)進(jìn)行ー維行變換,并產(chǎn)生控制信號(hào)控制轉(zhuǎn)置緩沖模塊2接收ー維DCT/DST模塊I的行變換結(jié)果,在所有行數(shù)據(jù)處理完成之后,控制轉(zhuǎn)置緩沖模塊2將轉(zhuǎn)置后的行變換結(jié)果輸出至ー維DCT/DST模塊I進(jìn)行ー維列變換。所述的轉(zhuǎn)置緩沖模塊2,完成對(duì)ー維DCT/DST模塊I行變換結(jié)果的轉(zhuǎn)置操作,它包含寄存器陣列轉(zhuǎn)置子模塊9和RAM存取轉(zhuǎn)置子模塊10。其中寄存器陣列轉(zhuǎn)置子模塊9的結(jié)構(gòu)如圖10所示,RAM存取轉(zhuǎn)置子模塊10的結(jié)構(gòu)如圖11所示。參照?qǐng)D10,寄存器陣列轉(zhuǎn)置子模塊9,由16行16列寄存器陣列組成,該陣列分為三個(gè)區(qū)域,分別是4X4轉(zhuǎn)置區(qū)域91、8X8轉(zhuǎn)置區(qū)域92和16X16轉(zhuǎn)置區(qū)域93。用以分別完成4點(diǎn)、8點(diǎn)、16點(diǎn)轉(zhuǎn)置操作;該4X4轉(zhuǎn)置區(qū)域91由寄存器陣列最左上角的4X4個(gè)寄存器組成,8X8轉(zhuǎn)置區(qū)域92由寄存器陣列最左上角的8X8個(gè)寄存器組成,16X16轉(zhuǎn)置區(qū)域93由全部寄存器陣列組成;這三個(gè)區(qū)域的輸入數(shù)據(jù)均從該區(qū)域的左方輸入,每個(gè)時(shí)鐘周期向右方寄存,當(dāng)數(shù)據(jù)輸入完成之后,寄存器的儲(chǔ)存方向變?yōu)樽韵露希總€(gè)時(shí)鐘周期數(shù)據(jù)向 上方寄存,即可完成轉(zhuǎn)置操作,并將轉(zhuǎn)置后的數(shù)據(jù)從上方輸出。參照?qǐng)D11,RAM存取轉(zhuǎn)置子模塊10,包含RAM單元101和輸入輸出地址控制單元102,該RAM単元101由8個(gè)存儲(chǔ)器構(gòu)成,每ー個(gè)存儲(chǔ)器均與ー維DCT/DST模塊I相連;輸入輸出地址控制単元102與每個(gè)存儲(chǔ)器的地址端相連,控制每個(gè)存儲(chǔ)器的輸入輸出地址,實(shí)現(xiàn)對(duì)ー維DCT/DST模塊I的32點(diǎn)DCT行變換結(jié)果,并將該變換結(jié)果按行存入8個(gè)存儲(chǔ)器中,再按列讀出,即完成32X32個(gè)數(shù)據(jù)的轉(zhuǎn)置操作。 所述ー維DCT/DST模塊I,用于完成HEVC標(biāo)準(zhǔn)中的4點(diǎn)DCT、4點(diǎn)DST、8點(diǎn)DCT、16點(diǎn)DCT以及32點(diǎn)DCT —維變換,其結(jié)構(gòu)如圖2所示。參照?qǐng)D2,ー維DCT/DST模塊I,包括四組蝶形運(yùn)算單元4、一個(gè)類蝶形運(yùn)算單元5、三組多路選擇器6、三個(gè)矩陣乘法器陣列7和八組相加移位器8,其中三個(gè)矩陣乘法器陣列7,分別為第一乘法器陣列71、第二乘法器陣列72和第三乘法器陣列73。每個(gè)矩陣乘法器陣列的輸入數(shù)據(jù)分為兩路第一路為a、b、c和d四個(gè)數(shù)據(jù),第二路為 a0、al、a2、a3、b0、bl、b2、b3、c0、cl、c2、c3、d0、dl、d2 和 d3 十六個(gè)數(shù)據(jù),該結(jié)構(gòu)包含16個(gè)乘法器,用以完成將a與a0、al、a2、a3分別相乘,b與b0、bl、b2、b3分別相乘,c與c0、Cl、c2、c3分別相乘,d與d0、dl、d2、d3分別相乘的操作,并將得到的16個(gè)相乘結(jié)果輸出,如圖3所不;三組多路選擇器6,分別為第一多路選擇器61、第二多路選擇器62和第三多路選擇器63,它們的輸出端分別與第一乘法器陣列71、第二乘法器陣列72、第三乘法器陣列73的輸入端相連。根據(jù)當(dāng)前狀態(tài)和變換類型,實(shí)現(xiàn)對(duì)第一乘法器陣列71、第二乘法器陣列72、第三乘法器陣列73的輸入數(shù)據(jù)進(jìn)行選擇的操作;四組蝶形運(yùn)算單元4,分別為32輸入蝶形41、16輸入蝶形42、8輸入蝶形43和4輸入蝶形44,每個(gè)蝶形運(yùn)算單元均由加法器和減法器構(gòu)成,以完成對(duì)輸入數(shù)據(jù)的首尾相加和首尾相減的操作。其中32輸入蝶形41,將其相加結(jié)果送入16輸入蝶形42,將其相減結(jié)果中的 010、011、016、017、0112、0113 送入第一多路選擇器 61,012、013、018、019、0114、0115送入第二多路選擇器62,014、015、0110、0111送入第三多路選擇器63 ;16輸入蝶形42將其相加結(jié)果送入8輸入蝶形43,將其相減結(jié)果中的024、025、026、027送入第一多路選擇器61和第二多路選擇器62,020、021、022、023送入第三多路選擇器63 ;8輸入蝶形43將其相加結(jié)果送入4輸入蝶形44和類蝶形運(yùn)算單元5,將其相減結(jié)果送入第二多路選擇器62 ;4輸入蝶形44的相加和相減結(jié)果均送入第一多路選擇器61,如圖4所示。八組相加移位器8,分別為第一相加移位器81、第二相加移位器82、第三相加移位器83、第四相加移位器84、第五相加移位器85、第六相加移位器86、第七相加移位器87和第八相加移位器88 ;第一相加移位器81與第一乘法器陣列71相連,用于將第一乘法器陣列71的運(yùn)算結(jié)果分為四組,并將每組數(shù)據(jù)分別相加后的結(jié)果向右移位;第二相加移位器82與第二乘法器陣列72相連,用于將第二乘法器陣列72的運(yùn)算結(jié)果分為四組,并將每組數(shù)據(jù)分別相加后的結(jié)果向右移位;第三相加移位器83與第三乘法器陣列73相連,用于將第三乘法器陣列73的運(yùn)算結(jié)果分為四組,并將每組數(shù)據(jù)分別相加后的結(jié)果向右移位;第四相加移位器84與第一乘法器陣列71、第二乘法器陣列72和第三乘法器陣列73相連,用于將這些乘法器陣列的運(yùn)算結(jié)果分為八組,并將每組數(shù)據(jù)分別相加后的結(jié)果向右移位;第五相加移位器85分別與第一相加移位器81和第二相加移位器82相連,用于將第一相加移位器81和第二相加移位器82的運(yùn)算結(jié)果相加;第六相加移位器86與第三相加移位器83相連,用于 將第三相加移位器83相鄰兩周期的運(yùn)算結(jié)果相加;第七相加移位器87與第四相加移位器84相連,用于將第四相加移位器83的相鄰三周期的運(yùn)算結(jié)果相加;第八相加移位器88與第一乘法器陣列71相連,用于將第一乘法器陣列71的運(yùn)算結(jié)果分為八組,并將每組數(shù)據(jù)分別相加后的結(jié)果向右移位。各相加移位器將每組數(shù)據(jù)分別相加后的結(jié)果向右移位的位數(shù),是根據(jù)變換塊的大小和行列變換確定,即進(jìn)行32點(diǎn)DCT行變換時(shí)右移4位,列變換時(shí)右移11位;進(jìn)行16點(diǎn)DCT行變換時(shí)右移3位,列變換時(shí)右移10位;進(jìn)行8點(diǎn)DCT行變換時(shí)右移2位,列變換時(shí)右移9位;進(jìn)行4點(diǎn)DCT和DST行變換時(shí)右移I位,列變換時(shí)右移8位。本發(fā)明中的ー維DCT/DST模塊I進(jìn)行ー維4點(diǎn)DCT、ー維4點(diǎn)DST、ー維8點(diǎn)DCT、ー維16點(diǎn)DCT和ー維32點(diǎn)DCT變換過程如下參照?qǐng)D5,ー維DCT/DST模塊I進(jìn)行ー維4點(diǎn)DCT和ー維4點(diǎn)DST變換操作時(shí),使用該結(jié)構(gòu)中的4輸入蝶形44、類蝶形運(yùn)算單元5、第一多路選擇器61、第一乘法器陣列71和第八相加移位器88。當(dāng)待變換數(shù)據(jù)從外部輸入后,進(jìn)入4輸入蝶形44和類蝶形運(yùn)算單元5,以完成4個(gè)數(shù)據(jù)間相加、相減、延遲操作。類蝶形運(yùn)算單元5的運(yùn)算結(jié)果與DCT的基向量從第一乘法器陣列71的16點(diǎn)端ロ輸入,4輸入蝶形44的運(yùn)算結(jié)果和DST的基向量通過第一多路選擇器61輸入第一乘法器陣列71的4點(diǎn)輸入端ロ。第一多路選擇器61根據(jù)當(dāng)前的變換類型是4點(diǎn)DCT還是4點(diǎn)DST,選擇相應(yīng)的數(shù)據(jù)輸入第一乘法器陣列71。其中,進(jìn)行4點(diǎn)DCT變換時(shí)使用MthtTM3, M2a, M3, :6個(gè)乘法器,進(jìn)行4點(diǎn)DST變換時(shí)使用Mcia M1,ェ,Ma2I2,2,M0j3^M2j3S個(gè)乘法器。乘法完成之后將得到的結(jié)果數(shù)據(jù)送入第八相加移位器88,完成將數(shù)據(jù)間的相加移位操作,得到最后的變換結(jié)果。參照?qǐng)D6,ー維DCT/DST模塊I進(jìn)行ー維8點(diǎn)DCT變換操作時(shí),使用該結(jié)構(gòu)中的8輸入蝶形43、4輸入蝶形44、第一多路選擇器61、第二多路選擇器62、第一乘法器陣列71、第二乘法器陣列72、第二相加移位器82和第八相加移位器88。當(dāng)待變換數(shù)據(jù)輸入之后,進(jìn)入8輸入蝶形43對(duì)輸入數(shù)據(jù)進(jìn)行首尾相加、相減操作,對(duì)其相加結(jié)果進(jìn)行如上所述的4點(diǎn)DCT變換,以求出其第0、2、4、6個(gè)變換結(jié)果;將8輸入蝶形43的相減結(jié)果通過第二多路選擇器62送入第二乘法器陣列72的4輸入端ロ,將8點(diǎn)DCT的基矩陣送入第二乘法器陣列72的16輸入端ロ,完成需要的16次乘法運(yùn)算。將得到的乘積結(jié)果送入第二相加移位器82,完成將乘法器MthtTM3W Moa M3a,M0^2X2和Mci^M3J的4組結(jié)果分別相加移位的操作,得到第1、3、5、7個(gè)變換結(jié)果。參照?qǐng)D7,ー維DCT/DST模塊I進(jìn)行ー維16點(diǎn)DCT變換操作吋,使用該結(jié)構(gòu)中的16輸入蝶形42、8輸入蝶形43、4輸入蝶形44、第一多路選擇器61、第二多路選擇器62、第三多路選擇器63、第一乘法器陣列71、第二乘法器陣列72、第三乘法器陣列73、第一相加移位器81、第二相加移位器82、第三相加移位器83、第五相加移位器85、第六相加移位器86和第八相加移位器88。當(dāng)待變換數(shù)據(jù)輸入之后,進(jìn)入16輸入蝶形42,完成16個(gè)數(shù)據(jù)間的首尾相加、相減操作。對(duì)其相加結(jié)果進(jìn)行如上所述的8點(diǎn)DCT變換,求出其第0、2、4、6、8、10、12、14個(gè)變換結(jié)果;將其相減結(jié)果中的024、025、026、027送入第一多路選擇器61和第ニ多路選擇器62,020、021、022、023送入第三多路選擇器63。其完成16點(diǎn)DCT變換操作需要進(jìn)行如下2個(gè)時(shí)鐘周期的操作第一個(gè)時(shí)鐘周期對(duì)16輸入蝶形42的相加結(jié)果進(jìn)行如上所述的8點(diǎn)DCT變換,求 出其第0、2、4、6、8、10、12、14個(gè)變換結(jié)果,將相減結(jié)果020、021、022、023通過第三多路選擇器63送入第三乘法器陣列73的4輸入端ロ,將16點(diǎn)DCT的基矩陣送入第三乘法器陣列73的16輸入端ロ,完成需要的16次乘法運(yùn)算,并將輸出結(jié)果送入第三相加移位器83,完成將乘法器Mc^M3W Moa M3a,M0j2^M3j2和Mci^M3J的4組結(jié)果分別相加移位的操作,得到4個(gè)中間結(jié)果,送入第六相加移位器86。第二個(gè)時(shí)鐘周期將相減結(jié)果024、025、026、027通過第一多路選擇器61和第二多路選擇器62送入第一乘法器陣列71和第二乘法器陣列72的4輸入端ロ,其對(duì)應(yīng)的16點(diǎn)DCT的基矩陣分別送入第一乘法器陣列71和第二乘法器陣列72的16輸入端ロ,完成需要的32次乘法,并將輸出的結(jié)果送入第五相加移位器85,完成將第一乘法器陣列71與第ニ乘法器陣列72的M^M3W Mtl,廣M3,p M0j2X2和組結(jié)果分別相加移位的操作,得到第I、3、5、7個(gè)變換結(jié)果。將相減結(jié)果020、021、022、023通過第三多路選擇器63送入第三乘法器陣列73的4輸入端ロ,其16點(diǎn)DCT的基矩陣送入第三乘法器陣列73的16輸入端ロ,完成需要的16次乘法運(yùn)算,并將輸出結(jié)果送入第三相加移位器83,完成將乘法器Mtl,
M3,p 1^213,2和凡,313,3的4組結(jié)果分別相加移位的操作,得到4個(gè)中間結(jié)果,送入第六相加移位器86。使用第六相加移位器86將第三相加移位器83相鄰兩周期的運(yùn)算結(jié)果相加,井向右移位,得到第9、11、13、15個(gè)變換結(jié)果。參照?qǐng)D8,ー維DCT/DST模塊I進(jìn)行ー維32點(diǎn)DCT變換操作吋,使用該結(jié)構(gòu)中的32輸入蝶形41、16輸入蝶形42、8輸入蝶形43、4輸入蝶形44、第一多路選擇器61、第二多路選擇器62、第三多路選擇器63、第一乘法器陣列71、第二乘法器陣列72、第三乘法器陣列73、第一相加移位器81、第二相加移位器82、第三相加移位器83、第四相加移位器84、第五相加移位器85、第六相加移位器86、第七相加移位器87和第八相加移位器88。當(dāng)待變換數(shù)據(jù)輸入之后,進(jìn)入32輸入蝶形41,完成32個(gè)數(shù)據(jù)間的首尾相加、相減操作。對(duì)其相加結(jié)果進(jìn)行如上所述的 16 點(diǎn) DCT 變換,求出其第 0、2、4、6、8、10、12、14、16、18、20、22、24、26、28、30個(gè)變換結(jié)果,將其相減結(jié)果中的010、011、016、017、0112、0113送入第一多路選擇器61,012、013、018、019、0114、0115 送入第二多路選擇器 62,014、015、0110、0111 送入第三多路選擇器63。其完成32點(diǎn)DCT變換操作需要8個(gè)時(shí)鐘周期,可以分為2個(gè)階段,第一階段需要2個(gè)時(shí)鐘周期,第二階段需要6個(gè)時(shí)鐘周期。每個(gè)階段操作具體如下階段I :對(duì)其相加結(jié)果進(jìn)行如上所述的16點(diǎn)DCT變換,求出其第0、2、4、6、8、10、12、14、16、18、20、22、24、26、28、30個(gè)變換結(jié)果,共需2個(gè)時(shí)鐘周期,每個(gè)時(shí)鐘周期得到8個(gè)
變換結(jié)果。階段2 :當(dāng)前階段包含T1、T2、T3、T4、T5、T6六個(gè)時(shí)鐘周期,第一多路選擇器61、第ニ多路選擇器62和第三多路選擇器63根據(jù)當(dāng)前狀態(tài),將32輸入蝶形41輸出的相減結(jié)果分別送入第一乘法器陣列71、第二乘法器陣列72和第三乘法器陣列73,在每個(gè)時(shí)鐘周期內(nèi)完成48次乘法。參考圖9,在Tl和T4時(shí),將00、00、01、01從第一乘法器陣列71的4點(diǎn)端ロ輸入,而其對(duì)應(yīng)的基向量從第一乘法器陣列71的16點(diǎn)端ロ輸入;將02、02、03、03從第
ニ乘法器陣列72的4點(diǎn)端ロ輸入,而其對(duì)應(yīng)的基向量從第二乘法器陣列72的16點(diǎn)端ロ輸入;將04、04、05、05從第三乘法器陣列73的4點(diǎn)端ロ輸入,而其對(duì)應(yīng)的基向量從第三乘法器陣列73的16點(diǎn)端ロ輸入。在T2和T5時(shí),將06、06、07、07從第一乘法器陣列71的4點(diǎn)端ロ輸入,而其對(duì)應(yīng)的基向量從第一乘法器陣列71的16點(diǎn)端ロ輸入;將08、08、09、09從第二乘法器陣列72的4點(diǎn)端ロ輸入,而其對(duì)應(yīng)的基向量從第二乘法器陣列72的16點(diǎn)端ロ輸入;將010、010、011、011從第三乘法器陣列73的4點(diǎn)端ロ輸入,而其對(duì)應(yīng)的基向量從第三乘法器陣列73的16點(diǎn)端ロ輸入。在T3和T6時(shí),將012、012、013、013從第一乘法器陣列71的4點(diǎn)端ロ輸入,而其對(duì)應(yīng)的基向量從第一乘法器陣列71的16點(diǎn)端ロ輸入;將014、014,015,015從第二乘法器陣列72的4點(diǎn)端ロ輸入,而其對(duì)應(yīng)的基向量從第二乘法器陣列72的16點(diǎn)端ロ輸入。將第一乘法器陣列71、第二乘法器陣列72和第三乘法器陣列73的運(yùn)算結(jié)果送入第四相加移位器84,以完成將三個(gè)乘法器陣列中對(duì)應(yīng)的M0,具,。,M1,具,。,McuM2,i,MljlM3a, M0j2M2j2, M1j2M3j2, M0j3M2j3, M1,具,38組乘法器的運(yùn)算結(jié)果分別相加移位的操作,并將結(jié)果輸入第七相加移位器87,以完成將第四相加移位器(83)的相鄰三周期的運(yùn)算結(jié)果相加的操作,得到最終變換結(jié)果。術(shù)語解釋DCT,離散余弦變換;DST,離散正弦變換;ー維DCT/DST,一維離散余弦變換和離散正弦變換。
權(quán)利要求
1.一種適于HEVC標(biāo)準(zhǔn)的變換編碼器,包括一維DCTDST模塊(I)、轉(zhuǎn)置緩沖模塊(2)和頂層控制單元(3),一維DCT/DST模塊(I)用于完成HEVC標(biāo)準(zhǔn)中的各種一維變換,轉(zhuǎn)置緩沖模塊(2)用于完成數(shù)據(jù)的轉(zhuǎn)置操作,即將按行輸入的行變換結(jié)果按列輸出,頂層控制模塊(3 )用于產(chǎn)生一維DCT/DST模塊(I)和轉(zhuǎn)置緩沖模塊(2 )的復(fù)位和使能信號(hào),控制一維DCT/DST模塊(I)對(duì)輸入的原始數(shù)據(jù)進(jìn)行一維行變換,并產(chǎn)生控制信號(hào)控制轉(zhuǎn)置緩沖模塊(2 )接收一維DCT/DST模塊(I)的行變換結(jié)果,在所有行數(shù)據(jù)處理完成之后,控制轉(zhuǎn)置緩沖模塊(2)將轉(zhuǎn)置后的結(jié)果輸回一維DCT/DST模塊(I)進(jìn)行一維列變換,其特征在于 所述一維DCT/DST模塊(I ),包括 蝶形運(yùn)算單元(4),用于完成數(shù)據(jù)間的加減操作,將輸入數(shù)據(jù)首尾兩兩相加、相減的結(jié)果送入多路選擇器(6); 類蝶形運(yùn)算單元(5),用于完成4點(diǎn)DST變換輸入數(shù)據(jù)間的相加、相減和延遲的操作,并將結(jié)果送入矩陣乘法器陣列(7); 多路選擇器(6),根據(jù)變換類型和當(dāng)前狀態(tài),對(duì)蝶形運(yùn)算單元(4)輸入的運(yùn)算結(jié)果進(jìn)行選擇,輸出至矩陣乘法器陣列(7); 矩陣乘法器陣列(7),包含兩組輸入一組輸入4個(gè)數(shù)據(jù),另一組輸入16個(gè)數(shù)據(jù),用于完成將輸入的4個(gè)數(shù)據(jù)分別與另一組輸入的4組4個(gè)系數(shù)的相乘操作,將得到16個(gè)乘積送入相加移位器(8); 相加移位器(8),用于將矩陣乘法器陣列(7)輸入的運(yùn)算結(jié)果進(jìn)行相加、移位; 所述的轉(zhuǎn)置緩沖模塊(2),完成對(duì)一維DCT/DST模塊(I)行變換結(jié)果的轉(zhuǎn)置操作,它包含寄存器陣列轉(zhuǎn)置子模塊(9)和RAM存取轉(zhuǎn)置子模塊(10),該寄存器陣列轉(zhuǎn)置子模塊(9),采用寄存器陣列結(jié)構(gòu),利用每個(gè)寄存器的不同路徑延遲、不同的輸入輸出方向和寄存器區(qū)域完成非32點(diǎn)數(shù)據(jù)轉(zhuǎn)置操作;該RAM存取轉(zhuǎn)置子模塊(10)采用8組RAM地址存取結(jié)構(gòu),通過控制各個(gè)RAM的輸入輸出地址,完成32點(diǎn)數(shù)據(jù)的轉(zhuǎn)置操作。
2.根據(jù)權(quán)利要求I所述的變換編碼器,其特征在于頂層控制單元(3),包括復(fù)位使能模塊(31)和數(shù)據(jù)流控制模塊(32),復(fù)位使能模塊(31)分別與一維DCT/DST模塊(I)的使能、復(fù)位端和轉(zhuǎn)置緩沖模塊(2)的使能、復(fù)位端相連,為這兩個(gè)模塊提供使能和復(fù)位信號(hào);數(shù)據(jù)流控制模塊(32 )分別與一維DCT/DST模塊(I)的數(shù)據(jù)控制端和轉(zhuǎn)置緩沖模塊(2 )的數(shù)據(jù)控制端相連,根據(jù)一維行變換和數(shù)據(jù)轉(zhuǎn)置的完成狀況,控制DCT/DST模塊及轉(zhuǎn)置緩沖模塊的數(shù)據(jù)流方向。
3.根據(jù)權(quán)利要求I所述的變換編碼器,其特征在于矩陣乘法器陣列(7)設(shè)為3個(gè),分別為第一乘法器陣列(71)、第二乘法器陣列(72)和第三乘法器陣列(73);第一乘法器陣列(71),用于進(jìn)行 4 X 4DCT、4 X 4DST、8 X 8DCT、16 X 16DCT 和 3 2 X 3 2DCT 變換;第二乘法器陣列(72),用于進(jìn)行8X8DCT、16X 16DCT和32X32DCT變換;第三乘法器陣列(73)用于進(jìn)行16 X 16DCT 和 32 X 32DCT 變換。
4.根據(jù)權(quán)利要求I所述的變換編碼器,其特征在于多路選擇器(6)設(shè)為三組,分別為第一多路選擇器(61)、第二多路選擇器(62)和第三多路選擇器(63),它們分別與第一乘法器陣列(71)、第二乘法器陣列(72)、第三乘法器陣列(73)的輸入端相連,用于根據(jù)變換類型和當(dāng)前狀態(tài)對(duì)蝶形運(yùn)算單元(4)的計(jì)算結(jié)果進(jìn)行選擇輸出,送入下級(jí)以完成乘法運(yùn)算,SP第一多路選擇器(61)對(duì)數(shù)據(jù)進(jìn)行選擇后送入第一乘法器陣列(71),第二多路選擇器(62)對(duì)數(shù)據(jù)進(jìn)行選擇后送入第二乘法器陣列(72),第三多路選擇器(63)對(duì)數(shù)據(jù)進(jìn)行選擇后送入第三乘法器陣列(73)。
5.根據(jù)權(quán)利要求I所述的變換編碼器,其特征在于蝶形運(yùn)算單元(4)設(shè)為四組,分別為32輸入蝶形(41)、16輸入蝶形(42)、8輸入蝶形(43)和4輸入蝶形(44),分別用以完成32、16、8、4個(gè)輸入數(shù)據(jù)的首尾相加和首尾相減操作;該32輸入蝶形(41)的相加結(jié)果送入16輸入蝶形(42),其相減結(jié)果分為三組分別送入第一多路選擇器(61)、第二多路選擇器(62)和第三多路選擇器(63);該16輸入蝶形(42)的相加結(jié)果送入8輸入蝶形(43),其相減結(jié)果分為三組分別送入第一多路選擇器(61)、第二多路選擇器(62)和第三多路選擇器(63);該8輸入蝶形(43)的相加結(jié)果送入4輸入蝶形(44),其相減結(jié)果送入第二多路選擇器(62 ),該4輸入蝶形(44 )的相加和相減結(jié)果均送入第一多路選擇器(61)。
6.根據(jù)權(quán)利要求I所述的變換編碼器,其特征在于相加移位器(8)設(shè)為八組,分別為第一相加移位器(81)、第二相加移位器(82)、第三相加移位器(83)、第四相加移位器(84)、第五相加移位器(85)、第六相加移位器(86)、第七相加移位器(87)和第八相加移位器(88); 第一相加移位器(81)與第一乘法器陣列(71)相連,用于將第一乘法器陣列(71)的運(yùn)算結(jié)果分為四組,并將每組數(shù)據(jù)分別相加后的結(jié)果向右移位; 第二相加移位器(82)與第二乘法器陣列(72)相連,用于將第二乘法器陣列(72)的運(yùn)算結(jié)果分為四組,并將每組數(shù)據(jù)分別相加后的結(jié)果向右移位; 第三相加移位器(83)與第三乘法器陣列(73)相連,用于將第三乘法器陣列(73)的運(yùn)算結(jié)果分為四組,并將每組數(shù)據(jù)分別相加后的結(jié)果向右移位; 第四相加移位器(84)與第一乘法器陣列(71)、第二乘法器陣列(72)和第三乘法器陣列(73)相連,用于將這些乘法器陣列的運(yùn)算結(jié)果分為八組,并將每組數(shù)據(jù)分別相加后的結(jié)果向右移位; 第五相加移位器(85)分別與第一相加移位器(81)和第二相加移位器(82)相連,用于將第一相加移位器(81)和第二相加移位器(82)的運(yùn)算結(jié)果相加; 第六相加移位器(86)與第三相加移位器(83)相連,用于將第三相加移位器(83)相鄰兩周期的運(yùn)算結(jié)果相加; 第七相加移位器(87)與第四相加移位器(84)相連,用于將第四相加移位器(83)的相鄰三周期的運(yùn)算結(jié)果相加; 第八相加移位器(88)與第一乘法器陣列(71)相連,用于將第一乘法器陣列(71)的運(yùn)算結(jié)果分為八組,并將每組數(shù)據(jù)分別相加后的結(jié)果向右移位。
7.根據(jù)權(quán)利要求6所述的變換編碼器,其特征在于各相加移位器將每組數(shù)據(jù)分別相加后的結(jié)果向右移位的位數(shù),是根據(jù)變換塊的大小和行列變換確定,即進(jìn)行32點(diǎn)DCT行變換時(shí)右移4位,列變換時(shí)右移11位;進(jìn)行16點(diǎn)DCT行變換時(shí)右移3位,列變換時(shí)右移10位;進(jìn)行8點(diǎn)DCT行變換時(shí)右移2位,列變換時(shí)右移9位;進(jìn)行4點(diǎn)DCT和DST行變換時(shí)右移I位,列變換時(shí)右移8位。
8.根據(jù)權(quán)利要求I所述的變換編碼器,其特征在于寄存器陣列轉(zhuǎn)置子模塊(9),由16行16列寄存器陣列組成,該陣列分為三個(gè)區(qū)域,分別是4X4轉(zhuǎn)置區(qū)域(91)、8X8轉(zhuǎn)置區(qū)域(92)和16X16轉(zhuǎn)置區(qū)域(93),用以分別完成4點(diǎn)、8點(diǎn)、16點(diǎn)轉(zhuǎn)置操作;該4父4轉(zhuǎn)置區(qū)域(91)由寄存器陣列最左上角的4X4個(gè)寄存器組成,8X8轉(zhuǎn)置區(qū)域(92)由寄存器陣列最左上角的8 X 8個(gè)寄存器組成,16 X 16轉(zhuǎn)置區(qū)域(93)由全部寄存器陣列組成;這三個(gè)區(qū)域的輸入數(shù)據(jù)均從該區(qū)域的左方輸入,每個(gè)時(shí)鐘周期向右方寄存,當(dāng)數(shù)據(jù)輸入完成之后,寄存器的儲(chǔ)存方向變?yōu)樽韵露?,每個(gè)時(shí)鐘周期數(shù)據(jù)向上方寄存,即可完成轉(zhuǎn)置操作,并將轉(zhuǎn)置后的數(shù)據(jù)從上方輸出。
9.根據(jù)權(quán)利要求I所述的變換編碼器,其特征在于RAM存取轉(zhuǎn)置子模塊(10),包含RAM單元(101)和輸入輸出地址控制單元(102),該RAM單元(101)由8個(gè)存儲(chǔ)器構(gòu)成,每一個(gè)存儲(chǔ)器均與一維DCT/DST模塊(I)相連;輸入輸出地址控制單元(102)與每個(gè)存儲(chǔ)器的地址端相連,控制每個(gè)存儲(chǔ)器的輸入輸出地址,實(shí)現(xiàn)對(duì)一維DCT/DST模塊(I)的32點(diǎn)DCT行變換結(jié)果,并將該變換結(jié)果按行存入8個(gè)存儲(chǔ)器中,再按列讀出,即完成32 X 32個(gè)數(shù)據(jù)的轉(zhuǎn)置操作。
全文摘要
本發(fā)明公開了一種適于HEVC標(biāo)準(zhǔn)的變換編碼器,主要解決現(xiàn)有技術(shù)中的變換塊大小不一致、乘法器使用過多的問題。其包括一維DCT/DST模塊(1)、轉(zhuǎn)置緩沖模塊(2)和頂層控制單元(3);一維DCT/DST模塊(1)采用統(tǒng)一的HEVC變換編碼架構(gòu),結(jié)合蝶形結(jié)構(gòu)和矩陣乘法陣列,實(shí)現(xiàn)資源選擇共享;轉(zhuǎn)置緩沖模塊(2)利用寄存器間的路徑延遲和存儲(chǔ)器不同的存儲(chǔ)和讀取順序,以高效簡(jiǎn)便地完成數(shù)據(jù)的轉(zhuǎn)置操作;頂層控制單元產(chǎn)生一維DCT/DST模塊和轉(zhuǎn)置緩沖模塊的復(fù)位和使能信號(hào),控制一維DCT/DST模塊對(duì)輸入數(shù)據(jù)進(jìn)行一維行變換,并控制轉(zhuǎn)置緩沖模塊將變換結(jié)果進(jìn)行轉(zhuǎn)置后輸出至一維DCT/DST模塊完成一維列變換。本發(fā)明具有結(jié)構(gòu)簡(jiǎn)單規(guī)整,復(fù)用度高,易于集成電路實(shí)現(xiàn)的優(yōu)點(diǎn),可實(shí)現(xiàn)高吞吐的變換編碼。
文檔編號(hào)H04N7/26GK102857756SQ20121025111
公開日2013年1月2日 申請(qǐng)日期2012年7月19日 優(yōu)先權(quán)日2012年7月19日
發(fā)明者李甫, 樊春曉, 石光明, 張犁, 周蕾蕾, 林杰, 楊海舟, 董偉生, 王曉甜 申請(qǐng)人:西安電子科技大學(xué)