專利名稱:適用于數(shù)字視頻編解碼的一維離散余弦逆變換模塊電路的制作方法
技術領域:
本發(fā)明涉及一種數(shù)字視頻處理技術,尤其是涉及一種適用于數(shù)字視頻編解碼的一維離散余弦逆變換模塊電路。
背景技術:
1、視頻編解碼標準發(fā)展背景隨著多媒體技術在軍事領域、民用領域的應用范圍不斷擴大和深入,尤其隨著消費類電子產(chǎn)品的不斷發(fā)展,視頻編解碼技術已經(jīng)是當前在國際上備受關注的研究領域。視頻編解碼技術是構建視頻和播放視頻的主要技術,是所有視頻類應用的根本技術。隨著視頻分辨率的不斷提高,高清、超高清乃至4K全高清視頻分辨率逐漸進入應用環(huán)節(jié),不斷變大的視頻規(guī)模對視頻編解碼技術的實現(xiàn)過程提出了巨大的挑戰(zhàn)。針對這個問題,國際上已經(jīng)提出了多種視頻編解碼技術標準,比如MPEG1/2/4,H. 263/264。目前最新提出的視頻編解碼標準為ffiVC。HEVC全稱為HighEfficiency Video Coding,也稱為H. 265,由JCT-VC小組2010年開始制訂并逐漸完善,是目前為止最新的視頻編解碼技術標準。在HEVC提出之前,可支持的視頻分辨率最大為H. 264標準中定義的1920X1080。相比之前的標準,使用ffiVC標準的算法能夠在視頻編解碼過程中具有更高的壓縮比的同時,支持到處理更大分辨率視頻流(4K全高清)。2、IDCT
背景技術:
離散余弦逆變換IDCT是視頻的編解碼運算中核心運算過程之一,其運算效率直接影響視頻編解碼設計性能。在HEVC標準中,根據(jù)所處理的數(shù)據(jù)塊定義大小,IDCT的處理過程可以分為4X4、8X8、16X16和32X32四種模式。相較之前的H. 264視頻標準中定義的最大為8X8數(shù)據(jù)塊,HE VC中最大塊定義為32 X 32,對應的數(shù)據(jù)量增長到了 1024個,所需要處理的數(shù)據(jù)增大到了原來的16倍。根據(jù)對HEVC的標準定義和HM測試模型的研究,并于H. 264標準進行比較,可以總結在HEVC標準定義下的IDCT電路設計存在更高的要求(I)片上支持的位寬更大;在最大塊為32X32的運算過程中,輸入數(shù)據(jù)和輸出數(shù)據(jù)均為16位有符號整數(shù),參數(shù)表中的數(shù)據(jù)最大為7位有符號整數(shù),處理過程中,內部數(shù)據(jù)最高可達到22位以上。(2)運算更加復雜IDCT主要使用的運算有加法和乘法兩種,由于內部位寬較大,需要使用支持更高位寬的加法器和乘法器來完成。(3)參數(shù)更多32X32的IDCT的運算參數(shù)達到1024個,遠遠多于H. 264中定義的8X8塊運算使用的參數(shù)64個。(4)實時性的挑戰(zhàn)由于視頻編解碼操作是實時性應用,由于更大的數(shù)據(jù)規(guī)模對系統(tǒng)架構的壓力,32X32的IDCT模塊的設計中,對數(shù)據(jù)在模塊的輸入、輸出和中間數(shù)據(jù)暫存的設計,提出了更高的挑戰(zhàn)。3、現(xiàn)有技術的不足IDCT實現(xiàn)中的經(jīng)典算法為基于蝶形運算的CHEN快速IDCT算法,CHEN算法的基本原理包含兩部分主要工作(1)根據(jù)輸入數(shù)據(jù)的次序和模式,將輸入數(shù)據(jù)劃分成不同大小的多個組,對每個組內的數(shù)據(jù)多次與不同的系數(shù)相乘并累加;(2)對累加結果進行多次蝶形運算獲得輸出結果。其中(I)中的分組數(shù)量和累加次數(shù),(2)中的蝶形運算次數(shù)與所處理的模式有關。在32模式下,數(shù)據(jù)被劃分為5個組,其中最大規(guī)模的組由16個數(shù)據(jù)組成,所對應(I)中的乘法次數(shù)是256次,累加器使用16個,同時(2)中的蝶形運算需要分為4個階段進行。經(jīng)過調研,大部分針對HEVC的IDCT設計均為基于CHEN算法的設計,比如S.Shen的《A UNIFIED4/8/16/32-P0INT INTEGER IDCT ARCHITECTURE FOR MULTIPLE VIDEOCODING STANDARDS》(2012)、J. S. Park 的《2-D Large Inverse Transform(16X 16,32X 32)for HEVC (High Efficiency Video Coding))) (2012)。經(jīng)過調研,現(xiàn)有設計中存在如下問題(I)輸入輸出模式對系統(tǒng)吞吐率的影響算法中定義的數(shù)據(jù)輸入/輸出分別為32個寬度為16位的數(shù)據(jù)接口,均為并行輸入和輸出,對系統(tǒng)有猝發(fā)大數(shù)據(jù)傳輸要求,對系統(tǒng)數(shù)據(jù)傳輸?shù)耐掏侣室笫敲總€周期1024bit。(2)算法增大硬件開銷和設計復雜度算法中大量使用了乘法器和加法器,造成對應的硬件開銷大。同時算法中的蝶形算法造成大量數(shù)據(jù)搬運過程,對硬件連線設計也有較高要求。(3)非32X32模式下,運算模塊資源的空閑在非32X32模式下,模塊內部資源有大量空閑的現(xiàn)象,尤其是在4 X 4模式下,模塊內部資源利用率低于30 %。
發(fā)明內容
本發(fā)明的目的就是為了克服上述現(xiàn)有技術存在的缺陷而提供一種適用于數(shù)字視頻編解碼的一維離散余弦逆變換模塊電路,可支持從4X 4,8 X 8,16 X 16,32 X 32四種模式定義在HEVC標準下的數(shù)據(jù)塊。本發(fā)明的目的可以通過以下技術方案來實現(xiàn)一種適用于數(shù)字視頻編解碼的一維離散余弦逆變換模塊電路,其特征在于,包括輸入輸出接口、模塊控制器和多個IDCT單元處理器,所述的輸入輸出接口包括數(shù)據(jù)輸入接口、數(shù)據(jù)輸出接口、指示信號輸入接口和模式信號輸入接口,所述的數(shù)據(jù)輸入接口、數(shù)據(jù)輸出接口分別與IDCT單元處理器連接,所述的指示信號輸入接口和模式信號輸入接口分別與模塊控制器連接,所述的模塊控制器分別與多個IDCT單元處理器控制連接,所述的多個IDCT單元處理器之間兩兩連接。`所述的IDCT單元處理器設有8個,所述的數(shù)據(jù)輸入接口和數(shù)據(jù)輸出接口的端口數(shù)與IDCT單元處理器的數(shù)量相同,即8路數(shù)據(jù)輸入接口分別與8個DCT單元處理器的輸入口一一對應連接,8路數(shù)據(jù)輸出接口分別與8個DCT單元處理器的輸出口一一對應連接。所述的模塊控制器分別通過指示信號輸入接口和模式信號輸入接口接收外部輸入信號,從而來控制電路的工作模式和運算過程。所述的IDCT單元處理器包括參數(shù)配置模塊DATA_C0NFIG,兩個乘法器模塊MULl、MUL2,兩個運算模塊 DATA_ACC_BFLY_SHIFTER_1、DATA_ACC_BFLY_SHIFTER_2,以及輸出管理模塊DATA_EXP0RT ;所述的DATA_C0NFIG分別與MULl、MUL2連接,所述的MULl通過DATA_ACC_BFLY_SHIFTER_1 與 DATA_EXP0RT 連接,所述的 MUL2 通過 DATA_ACC_BFLY_SHIFTER_2 與DATA_EXP0RT 連接。所述的參數(shù)配置模塊DATA_C0NFIG根據(jù)模塊控制器提供的信號,DATA_C0NFIG提供給下一級的乘法器MULl和MUL2所需要的參數(shù)數(shù)據(jù)和輸入數(shù)據(jù),其中MUL2獲得的參數(shù)數(shù)據(jù)和輸入數(shù)據(jù)比MULl晚一個周期。
每個乘法器負責對DATA_C0NFIG提供的輸入數(shù)據(jù)和參數(shù)數(shù)據(jù)進行乘法,并輸出給對應的運算模塊。每個運算模塊包括依次串聯(lián)的累加器Accumulator、蝶形運算單元Butterfly_UNIT和右移運算單兀Right_Shifter ;所述的累加器根據(jù)奇偶次序,對乘法器的運算結果進行累加,從0開始計數(shù),偶次序數(shù)據(jù)累加結果存儲到E_Acc,奇次序數(shù)據(jù)累加結果存儲到0_Acc ;當完成一個輸入序列的累加后,將累加結果E_Acc和0_Acc傳輸?shù)降芜\算單元進行處理;所述的蝶形運算單元負責對累加結果E_Acc和0_Acc進行蝶形運算,運算結果以串行通過輸出端口輸出給右移運算單元;所述的右移運算單元負責對蝶形運算單元的輸出結果右移設定位,并輸出到數(shù)據(jù)輸出接口。所述的蝶形運算單元包括依次連接的加法器、取補器和多路復用選擇器,所述的E_Acc輸入到加法器中,所述的0_Acc分別輸入到取補器和多路復用選擇器中。每個IDCT單元處理器可獨立完成一個4模式IDCT —維變換運算,也可與其他IDCT單元處理器組合來實現(xiàn)在8、16或32模式下的運算。本發(fā)明的工作過程如下1、定義a)模式定義
本發(fā)明定義了 4種不同運行模式,分別為4模式、8模式、16模式和32模式,分別定義 mode 值為 4、8、16、32。b)輸入數(shù)據(jù)定義輸入數(shù)據(jù)格式定義為datain[i],其中i為輸入數(shù)據(jù)的次序,4模式下,i定義在0 3 ;8模式下,i定義為0 7 ;16模式下,i定義為0 15 ;32模式下,i定義為0 31。c)輸出數(shù)據(jù)定義輸出數(shù)據(jù)格式定義為=Clatarat [j],其中j為輸入數(shù)據(jù)的次序,4模式下,j定義在0 3 ;8模式下,j定義為0 7 ;16模式下,j定義為0 15 ;32模式下,j定義為0 31。2、乘法和累加運算對每一個輸入數(shù)據(jù)根據(jù)輸入順序與預置參數(shù)進行常數(shù)乘操作,并將結果分輸入奇偶次序進行累加,偶數(shù)累加結果以下記為E[j],奇數(shù)累加結果以下記為0[j]。如下公式所示E[j] =E coefficient[2i] Xdatain[2i]0[j] =E coefficient[2i+l] Xdatain[2i+l]wherei = 0, ,M0DE/2,j = 0, ,MODE/2MODE = 4,8,16,32。3、蝶形運算和右移運算當步驟2完成后,對分別對奇偶數(shù)據(jù)累加結果E[j]和0[j]進行一次蝶形運算,與數(shù)據(jù)補足位RND相加后,對結果算術右移NSHIFT位,其中NSHIFT為一個常數(shù),由IDCT處理位寬確定,根據(jù)ffiVC標準代碼HM中的定義,內部位寬為8時,兩次一維IDCT變換的NSHIFT取值分別為7和12,如下公式所示dataout[j] = (E [j]+0[j]+RND) > > NSHIFTdataout [MODE-j] = (E[j]_0[j]+RND) > > NSHIFTwherej = 0, ,M0DE/2,MODE = 4,8,16,32,RND = 2腿1FH,NSHIFT = 7,12。與現(xiàn)有技術相比,本發(fā)明具有以下優(yōu)點;(I)本發(fā)明所提出的離散余弦逆變換IDCT運算電路,可以適用在HEVC視頻編解碼標準中定義的四種尺寸圖像數(shù)據(jù)塊4X4,8X8,16X 16,32X32的IDCT運算。(2)區(qū)別于以往并行輸入結構,本發(fā)明采用串行數(shù)據(jù)流輸入模式,單線程運行狀態(tài),每周期輸入數(shù)據(jù)吞吐量要求僅為16bit,是以往設計的1/32,對外圍系統(tǒng)來說,輸入和輸出數(shù)據(jù)穩(wěn)定,避免了以往設計的猝發(fā)大數(shù)據(jù)流特征,降低外圍系統(tǒng)設計復雜度。
(3)本發(fā)明充分考慮了視頻數(shù)據(jù)自身的實時性和連續(xù)性,采用全流水設計,與以往設計不同,本發(fā)明實現(xiàn)在不同尺寸數(shù)據(jù)塊下基于多線程并行數(shù)據(jù)處理過程,在提高電路模塊的利用率的同時,模塊處理過程無縫連接,避免數(shù)據(jù)等待的過程。(4)區(qū)別于以往設計,本發(fā)明針對大尺寸數(shù)據(jù)傳輸問題,對原有算法進行優(yōu)化,降低了原有算法的復雜度和數(shù)據(jù)處理過程的耦合度,避免數(shù)據(jù)輸入輸出過程對運算過程的影響,在提高輸出數(shù)據(jù)的吞吐率的同時,降低了芯片實現(xiàn)的難度。
圖1為本發(fā)明的接口圖圖2為本發(fā)明的內部結構示意圖;圖3為IDCT_UNIT_PR0CESS0R模塊內部結構圖;圖4 為 DATA_ACC_BFLY_SHIFTER 模塊內部結構圖;圖5為不同模式下的IDCT_UNIT_PR0CESS0R模塊并行運行模式圖;圖6為不同模式下IDCT_UNIT_PR0CESS0R模塊輸入數(shù)據(jù)傳輸示意圖;圖7是蝶形運算單元內部結構圖。
具體實施例方式下面結合附圖和具體實施例對本發(fā)明進行詳細說明。實施例I)輸入輸出接口 根據(jù)技術方案的定義,一維IDCT模塊輸入輸出不意圖如圖1所不,一維IDCT模塊IDCT_1D_M0DULE的主要輸入端口包括輸入指示信號request_in,輸入模式信號request_mode_in,8路輸入數(shù)據(jù)信號DATA_IN_0 DATA_IN_7 ;8路輸出數(shù)據(jù)信號DATA_0UT_0 DATA_0UT_7o2)模塊內部結構圖2為IDCT_1D_M0DULE的內部結構圖,包括一個模塊控制器Module_control和8 個 IDCT 單元處理器 IDCT_UNIT_PR0CESS0R。Module_control 通過 request_in 和 request_mode_in 外部輸入信號來確定內部運算狀態(tài),并通過內部信號控制內部工作模式和運算過程。 IDCT_UNIT_PR0CESS0R負責實現(xiàn)單元數(shù)據(jù)的運算過程,有一個外部數(shù)據(jù)輸入接口和一個外部數(shù)據(jù)輸出接口,同時IDCT_UNIT_PR0CESS0R可以接收其他IDCT_UNIT_PROCESSOR轉發(fā)的輸入數(shù)據(jù),也可以向其他IDCT_UNIT_PR0CESS0R模塊輸出收到的輸入數(shù)據(jù)。使用IDCT_UNIT_PR0CESS0R進行一次數(shù)據(jù)運算,輸出4個數(shù)據(jù)處理結果。3)模塊控制器 Module_controlModule_control模塊負責對整個系統(tǒng)進行任務調度和管理,request_in和request_mode_in信號輸入后一個周期,開始輸入數(shù)據(jù)。Module_control負責生成輸入數(shù)據(jù)控制信號節(jié)拍,并提供給內部IDCT_UNIT_PR0CESS0R模塊數(shù)據(jù)處理啟動結束控制信號。4) IDCT 單元處理器 IDCT_UNIT_PR0CESS0R如圖3所示,IDCT單元處理器IDCT_UNIT_PR0CESS0R中由6個內部組件構成1個參數(shù)配置模塊DATA_C0NFIG,2個乘法器模塊MULl、MUL2,2個運算模塊DATA_ACC_BFLY_SHIFTER_1、DATA_ACC_BFLY_SHIFTER_2,以及 I 個輸出管理模塊 DATA_EXP0RT。(I)參數(shù)配置模塊 DATA_C0NFIG根據(jù)Module_control提供的節(jié)拍信號,DATA_C0NFIG提供給下一級的乘法器MULl和MUL2所需要的參數(shù)數(shù)據(jù)和輸入數(shù)據(jù),其中MUL2獲得的輸入數(shù)據(jù)和參數(shù)比MULl晚一個周期。在模式4中,DATA_C0NFIG的輸入數(shù)據(jù)全部來自外部;在模式8、模式16、模式32中,根據(jù)IDCT_UNIT_PR0CESS0R的組合模式,DATA_C0NFIG的輸入數(shù)據(jù)可能來自上級模塊,也可能來自外部。如果DATA_C0NFIG所在IDCT_UNIT_PR0CESS0R模塊為上級模塊,DATA_CONFIG負責轉發(fā)輸入數(shù)據(jù)給下一級IDCT_UNIT_PR0CESS0R模塊輸入數(shù)據(jù)。(2)乘法器模塊MULl和MUL2實現(xiàn)輸入數(shù)據(jù)的常數(shù)乘功能,并輸出運算結果到運算模塊DATA_ACC_BFLY_SHIFTER進行處理
(3)運算模塊 DATA_ACC_BFLY_SHIFTER該模塊主要實現(xiàn)3個功能,(I)累加功能,(2)蝶形運算,(3)右移運算5)乘法器模塊MULl和MUL2每個IDCT_UNIT_PR0CESS0R中采用了兩個乘法器模塊。每個乘法器負責對DATA_CONFIG提供的16位輸入數(shù)據(jù)和9位參數(shù)數(shù)據(jù)進行乘法,并輸出給對應的運算模塊DATA_ACC_BFLY_SHIFTER。6)運算模塊 DATA_ACC_BFLY_SHIFTER如圖5所示,DATA_ACC_BFLY_SHIFTER包含3部分累加器Accumulator,蝶形運算單兀 ButterflyJJNIT,右移運算單兀 Right_Shifter。
(I)累加器 Accumulator :累加器根據(jù)奇偶次序,對乘法器的運算結果進行累加,從0開始計數(shù),偶次序數(shù)據(jù)累加結果存儲到E_Acc,奇次序數(shù)據(jù)累加結果存儲到0_Acc ;當完成一個輸入序列的累加,累加結果E_Acc和0_Acc傳輸?shù)降芜\算單元ButterflyJJNIT進行處理。IDCT的運算偏移功能通過對E_Acc的累加存儲器進行初始化來實現(xiàn)。(2)蝶形運算單元 ButterflyJJNIT Butterfly_UNIT負責對累加結果E_Acc和0_Acc進行蝶形運算,運算結果以串行通過輸出端口輸出給右移運算單元Right_Shifter,每個周期輸出一個結果,首先輸出E_Acc+0_Acc的結果,下一個周期輸出E_Acc-0_Acc的結果。內部結構如圖7所示,內部使用使用了 I個加法器(+)、I個取補器(_)和一個多路復用(Mux),其中取補器和Mux實現(xiàn)對加數(shù)0和(-0)的更換,E和Mux的輸出通過加法器運算,運算結果輸出給右移運算單元。(3)右移運算單兀 Right_Shifter右移運算單兀Right_Shifter負責對ButterflyJJNIT的輸出結果右移nshift位,并輸出到DATA_EXP0RT輸出模塊。7)數(shù)據(jù)輸出接口 DATA_EXP0RTDATA_EXP0RT負責IDCT_UNIT_PR0CESS0R模塊的輸出功能,有2個輸入端口,分別是 DATA_ACC_BFLY_SHIFTER_1 的輸出數(shù)據(jù)和 DATA_ACC_BFLY_SHIFTER_2 的輸出數(shù)據(jù),有 I個輸出端口,直接連接輸出IDCT_UNIT_PR0CESS0R模塊對應的DATA_0UT輸出接口。當每次DATA_ACC_BFLY_SHIFTER運算結束,每路輸入端口串行輸入兩個運算結果到DATA_EXP0RT,DATA_EXP0RT的輸出端口 DATA_0UT串行輸出這4個運算結果。
8)模塊運行模式和并行機制根據(jù)一維IDCT的計算原理,每種模式輸入的數(shù)據(jù)量和輸出的數(shù)據(jù)量是相同的。在模式32下,輸入數(shù)據(jù)為32個,輸出數(shù)據(jù)也是32個;在模式16下,輸入數(shù)據(jù)為16個,輸出數(shù)據(jù)也是16個;在模式8下,輸入數(shù)據(jù)為8個,輸出數(shù)據(jù)也是8個;在模式4下,輸入數(shù)據(jù)為4個,輸出數(shù)據(jù)也是4個。IDCT_UNIT_PR0CESS0R數(shù)據(jù)運算單元可獨立完成一個4模式IDCT —維變換運算,也可與其他IDCT_UNIT_PR0CESS0R組合來實現(xiàn)在8、16、32模式下的運算。在mode4模式下,IDCT_UNIT_PR0CESS0R 單獨完成一次 IDCT 運算。在 mode8,mode 16 和 mode32,IDCT_UNIT_PROCESSOR互相組合完成運算。具體組合模式數(shù)據(jù)傳輸方式見圖6。輸入數(shù)據(jù)以串行方式輸入對應輸入端口,每個周期輸入一個數(shù)據(jù)。在模式4下,每個輸入端口都被占用并輸入數(shù)據(jù);模式 8 占用了 4 個輸入端口 DATA_IN_0、DATA_IN_2、DATA_IN_4、DATA_IN_6 ;模式 16 占用了 2個輸入端口 DATA_IN_0、DATA_IN_4 ;模式32僅占用I個輸入端口 DATA_IN_0。在組合狀態(tài)下,輸入數(shù)據(jù)采用脈動模式傳輸,每一級模塊延時為2個周期,即上級輸入數(shù)據(jù)通過2個周期的延時傳輸?shù)较乱患壞K。在IDCT_1D_M0DULE處理32模式下,8個IDCT_UNIT_PR0CESS0R處理器被占用來處理一個32點的IDCT運算,每個IDCT_UNIT_PR0CESS0R輸出32個結果中的4個。在非32模式下,IDCT_1D_M0DULE提高系統(tǒng)運行效率,采用并行運算模式在16模式下,IDCT_1D_MODULE可同時處理2個16點IDCT —維變換;在8模式下,IDCT_ID_M0DULE可以同時處理4個8點IDCT —維變換;在4模式下,IDCT_ID_M0DULE可以同時處理8個4點IDCT —維變換。具體組合方式見圖5。其中,不同模式下的IDCT_UNIT_PROCESSOR的組合模式在圖中由虛線框框住,其中在框內位置在上面的IDCT_UNIT_PROCESSOR模塊為下一個IDCT_UNIT_PROCESSOR模塊的上級模塊。經(jīng)過一次運算,IDCT_UNIT_PR0CESS0R可輸出4個運算結果,對應各模式下,8個IDCT—UNIPROCESSOR模塊輸出的處理結果參考表I。表中結果用(i) [j]形式表示,i表示并行進程序號,j表示輸出的結果序號。輸出結果通過輸出端口 DATA_0UT_0 DATA_0UT_7串行輸出。表I
權利要求
1.一種適用于數(shù)字視頻編解碼的一維離散余弦逆變換模塊電路,其特征在于,包括輸入輸出接口、模塊控制器和多個IDCT單元處理器,所述的輸入輸出接口包括數(shù)據(jù)輸入接口、數(shù)據(jù)輸出接口、指示信號輸入接口和模式信號輸入接口,所述的數(shù)據(jù)輸入接口、數(shù)據(jù)輸出接口分別與IDCT單元處理器連接,所述的指示信號輸入接口和模式信號輸入接口分別與模塊控制器連接,所述的模塊控制器分別與多個IDCT單元處理器控制連接,所述的多個IDCT單元處理器之間兩兩連接。
2.根據(jù)權利要求1所述的一種適用于數(shù)字視頻編解碼的一維離散余弦逆變換模塊電路,其特征在于,所述的IDCT單元處理器設有8個,所述的數(shù)據(jù)輸入接口和數(shù)據(jù)輸出接口的端口數(shù)與IDCT單元處理器的數(shù)量相同,即8路數(shù)據(jù)輸入接口分別與8個DCT單元處理器的輸入口一一對應連接,8路數(shù)據(jù)輸出接口分別與8個DCT單元處理器的輸出口一一對應連接。
3.根據(jù)權利要求1所述的一種適用于數(shù)字視頻編解碼的一維離散余弦逆變換模塊電路,其特征在于,所述的模塊控制器分別通過指示信號輸入接口和模式信號輸入接口接收外部輸入信號,從而來控制電路的工作模式和運算過程。
4.根據(jù)權利要求1所述的一種適用于數(shù)字視頻編解碼的一維離散余弦逆變換模塊電路,其特征在于,所述的IDCT單元處理器包括參數(shù)配置模塊DATA_CONFIG,兩個乘法器模塊 MUL1、MUL2,兩個運算模塊 DATA_ACC_BFLY_SHIFTER_1、DATA_ACC_BFLY_SHIFTER_2,以及輸出管理模塊DATA_EXPORT ;所述的DATA_CONFIG分別與MULl、MUL2連接,所述的MULl通過 DATA_ACC_BFLY_SHIFTER_1 與 DATA_EXPORT 連接,所述的 MUL2 通過 DATA_ACC_BFLY_SHIFTER_2 與 DATA_EXPORT 連接。
5.根據(jù)權利要求4所述的一種適用于數(shù)字視頻編解碼的一維離散余弦逆變換模塊電路,其特征在于,所述的參數(shù)配置模塊DATA_CONFIG根據(jù)模塊控制器提供的信號,DATA_CONFIG提供給下一級的乘法器MULl和MUL2所需要的參數(shù)數(shù)據(jù)和輸入數(shù)據(jù),其中MUL2獲得的參數(shù)數(shù)據(jù)和輸入數(shù)據(jù)比MULl晚一個周期。
6.根據(jù)權利要求5所述的一種適用于數(shù)字視頻編解碼的一維離散余弦逆變換模塊電路,其特征在于,每個乘法器負責對DATA_CONFIG提供的輸入數(shù)據(jù)和參數(shù)數(shù)據(jù)進行乘法,并輸出給對應的運算模塊。
7.根據(jù)權利要求6所述的一種適用于數(shù)字視頻編解碼的一維離散余弦逆變換模塊電路,其特征在于,每個運算模塊包括依次串聯(lián)的累加器Accumulator、蝶形運算單元ButterflyJJNIT 和右移運算單兀 Right_Shifter ; 所述的累加器根據(jù)奇偶次序,對乘法器的運算結果進行累加,從0開始計數(shù),偶次序數(shù)據(jù)累加結果存儲到E_Acc,奇次序數(shù)據(jù)累加結果存儲到0_Acc ;當完成一個輸入序列的累加后,將累加結果E_Acc和0_Acc傳輸?shù)降芜\算單元進行處理; 所述的蝶形運算單元負責對累加結果E_Acc和0_Acc進行蝶形運算,運算結果以串行通過輸出端口輸出給右移運算單元; 所述的右移運算單元負責對蝶形運算單元的輸出結果右移設定位,并輸出到數(shù)據(jù)輸出接口。
8.根據(jù)權利要求7所述的一種適用于數(shù)字視頻編解碼的一維離散余弦逆變換模塊電路,其特征在于,所述的蝶形運算單元包括依次連接的加法器、取補器和多路復用選擇器,所述的E_Acc輸入到加法器中,所述的0_Acc分別輸入到取補器和多路復用選擇器中。
9.根據(jù)權利要求2所述的一種適用于數(shù)字視頻編解碼的一維離散余弦逆變換模塊電路,其特征在于,每個IDCT單元處理器可獨立完成一個4模式IDCT —維變換運算,也可與其他IDCT單元處理器組合來實現(xiàn)在8、16或32模式下的運算。
全文摘要
本發(fā)明涉及一種適用于數(shù)字視頻編解碼的一維離散余弦逆變換模塊電路,包括輸入輸出接口、模塊控制器和多個IDCT單元處理器,所述的輸入輸出接口包括數(shù)據(jù)輸入接口、數(shù)據(jù)輸出接口、指示信號輸入接口和模式信號輸入接口,所述的數(shù)據(jù)輸入接口、數(shù)據(jù)輸出接口分別與IDCT單元處理器連接,所述的指示信號輸入接口和模式信號輸入接口分別與模塊控制器連接,所述的模塊控制器分別與多個IDCT單元處理器控制連接,所述的多個IDCT單元處理器之間兩兩連接。與現(xiàn)有技術相比,本發(fā)明具有可適用在HEVC視頻編解碼標準中定義的四種尺寸圖像數(shù)據(jù)塊4×4,8×8,16×16,32×32的IDCT運算等優(yōu)點。
文檔編號H04N7/30GK103067718SQ201310036229
公開日2013年4月24日 申請日期2013年1月30日 優(yōu)先權日2013年1月30日
發(fā)明者洪亮, 朱惠, 何衛(wèi)鋒, 李琛, 毛志剛 申請人:上海交通大學