欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

二維反離散余弦轉換裝置的制作方法

文檔序號:3429724閱讀:243來源:國知局
專利名稱:二維反離散余弦轉換裝置的制作方法
技術領域
本發(fā)明涉及一種反離散余弦轉換(Inverse Discrete CosineTranform,下稱IDCT)裝置,特別涉及一種運用于超大型集成電路的IDCT裝置。
離散余弦轉換(Discrete Cosine Transform,下稱DCT)或IDCT因其快速演算法的出現(xiàn),已為廣大用戶所應用,并逐漸發(fā)展成各種音頻、視頻信號壓縮處理所需的核心部份。在符合各種已有的音頻、視頻信號標準,例如JPEG(Joint Photographic Experts Group)、MPEG(Moving Picture Experts Group)和H.261等的情況下,提高DCT(IDCT)的效率已成為圖像信息壓縮功能改善的主要課題,以致各種運算法則相繼提出。
以往,在運算法則未臻完善時,實際應用于超大型集成電路中的DCT/IDCT電路設計既大且雜,甚至因為轉換效率過低而無法提供較完善的信息壓縮服務。以

圖1所示的已知普通IDCT電路結構為例,通過組合電路10將輸入訊號,例如從y0到y(tǒng)7的八個數(shù)據(jù),加以處理,而產(chǎn)生(y0,y1),(y2,y3),(y4,y5)和(y6,y7)四組組合數(shù)據(jù),并將其依次送入第一至第四轉換電路12至15和第五至第八轉換電路16至19。其中,各轉換電路的結構包括有參數(shù)存儲器22、乘法器24、寄存器26和32,加法器28和累加器30。乘法器24將組合電路10提供的數(shù)據(jù)與存儲器22內(nèi)儲存的IDCT參數(shù)相乘后,經(jīng)寄存器26送至加法器28,以便與累加器30內(nèi)值相加,再儲入寄存器32。選擇器34和36分別從轉換電路12至15和16至19內(nèi)的寄存器取得最后結果輸出至加法器37和減法器38進行處理,再由排序電路40重新排序后輸出,從而完成IDCT運算。
在圖1已知普通IDCT電路中,每一轉換電路內(nèi)都有乘法器24,但乘法器運算速度過慢,將使IDCT處理效率降低,難以符合實時轉換的要求。有的設計以只讀存儲器(ROM)取代乘法器,然而由于占有較大硬件空間,并需要以較復雜的電路相配置,這種設計有悖于超大型集成電路高密度化的目的。
因此,本發(fā)明的主要目的在于提供一種二維IDCT裝置,利用一組分散式數(shù)值運算(Distributed Arithmetic,下稱DA)結構,搭配若干輸入輸出緩沖器,以執(zhí)行二維實時IDCT運算。
本發(fā)明的另一目的在于提供一種二維IDCT裝置,通過輸入輸出緩沖器的定址功能控制輸入輸出資料順序,從而避免復雜的電路配置,縮小IDCT裝置硬件空間,滿足超大型集成電路的需要。
為實現(xiàn)本發(fā)明上述目的,提出一種二維IDCT裝置,該裝置包括一變速率雙端口緩沖器(Rate Buffer)、二個選擇器、二組寄存器、一組參數(shù)生成器、一組累加器、一組求和器、一對修尾器、一個行列轉換緩沖器(Transpose buffer)和一反變速率雙端口緩沖器(IRate buffer)。該裝置以分散式數(shù)值運算方式,將二維IDCT運算簡化為一維較小矩陣的IDCT運算,即在寄存器、參數(shù)生成器和累加器的分散處理后,再經(jīng)求和器將其結合,并重復二次一維IDCT運算,配合變速率的輸入/輸出和特定的定址方式,實現(xiàn)在較小硬件空間要求下進行實時轉換的目的。
以下結合一個優(yōu)選實施例,并配合附圖,對本發(fā)明的上述目的、特征和優(yōu)點作詳細說明。
圖1是一已知普通二維反離散余弦轉換(IDCT)裝置的功能方框圖。
圖2是本發(fā)明一個優(yōu)選實施例的IDCT裝置結構圖。
圖3是圖2裝置中一個寄存器的結構圖。
圖4是圖2裝置中一個參數(shù)生成器的結構圖。
圖5是圖2裝置中一個累加器的結構圖。
圖6是圖2裝置中一個求和器的結構圖。
圖7是圖2裝置的一個時序關系圖。
在描述本發(fā)明的詳細結構前,先對本發(fā)明所利用的IDCT運算式加以說明。首先,以一個二維8×8IDCT運算為例,將8×8的矩陣Xij從矩陣Yuv轉換回來,所需要的公式如下Xij=14Σu=07Σv=07C(u)·C(v)·cos(2i+1)uπ16·cos(2j+1)vπ16·Yuv----(1)]]>其中,參數(shù)C(u)和C(v)分別為C(u),C(v)={1,(u,v≠0)12,(u,v=0)----(2)]]>而一般為了節(jié)省運算量,上式可改寫為Xij=12·Σv=07C(v)·cos(2j+1)vπ16[12·Σu=07C(u)·cos(2i+1)uπ16·Yuv]----(3)]]>即以兩次一維8×8IDCT來執(zhí)行原來的二維IDCT運算。
于是,若將上式的一維IDCT運算式展開,以矩陣格式表示一次進一行(或一列)的一維IDCT運算,則為 其中,矩陣內(nèi)各元素分別為A=12cosπ4,B=12cosπ8,C=12sinπ8,D=12cosπ16,]]>E=12cos3π16,F=12sin3π16,G=12sinπ16]]>再進一步分析上述矩陣,因為它具有對稱性,若要降低實際運算量,可將其中8×8的矩陣乘法加以調(diào)整,而產(chǎn)生如下的二個4×4矩陣公式x0x1x2x3=ABACAC-A-BA-C-ABA-BA-Cy0y2y4y6+DEFGE-G-D-FF-DGEG-FE-Dy1y3y5y7---(5)]]>x7x6x5x4=ABACAC-A-BA-C-ABA-BA-Cy0y2y4y6-DEFGE-G-D-FF-DGEG-FE-Dy1y3y5y7---(6)]]>由于這二個運算式共有兩種乘法關系,即僅有二個參數(shù)矩陣形式,令其分別為M和N,則 亦即,一維IDCT矩陣乘法公式可寫成x0x1x2x3=M0M1M2M3+N0N1N2N3,x7x6x5x4=M0M1M2M3-N0N1N2N3---(8)]]>也就是說,只要進行兩組4×4的矩陣乘法,即上述的M和N,再將其結果分別相加或相減,即可求得X值。
由于上式的矩陣乘法不適宜用運算速度較慢的乘法器進行,而如前所述,也難以直接利用ROM予以取代,因矩陣參數(shù)A至G二進制位數(shù)若分別為n和m,則所需的ROM容量將會高達2m+n個字符。因此,本發(fā)明采用分散式數(shù)值運算(DA)方式,從而將所用的ROM容量控制在合理范圍內(nèi)。
分散式數(shù)值運算的原理如下。
首先,假設一4×4矩陣乘法為O0O1O2O3=C00C01C02C03C10C11C12C13C20C21C22C23C30C31C32C33I0I1I2I3----(9)]]>其中,C.I和O分別為m、n和m+n位,以上矩陣可改寫為Oi=Σj=03Cij·Ij,i=0,..,3----(10)]]>于是,若以二補碼二進制方式表示Ij,即Ij=-Ij0+Σk=1n-1Ijk·2-k----(11)]]>其中,第0位為最高有效數(shù)位(MSB),而IjO。為正負號數(shù)位(signbit),則Oi=Σj=03Cij·(-Ijo+Σk=1n-1Ijk·2-k)=Σj=03Cij·(-Ijo)+Σk=1n-1[Σj=03Cij·Ijk·2-k]----(12)]]>上式中[]內(nèi)的運算是以I0、I1、I2、I3相同加權的二進制位所組成的數(shù)字來選擇加Ci0、Ci1Ci2、Ci3或0,例如當I04I14I24I34=1011,則K=4時[]內(nèi)的值為Ci0+Ci2+Ci3,因此可以用一個可存儲16個字符且每字符有m+n位的ROM,放入預先算好的Ci0I0k+Ci1I1k+Ci2I2k+Ci3I3k值,通過I0kI1kI2kI3k的選擇,即可獲得[]內(nèi)的運算結果;則上式中的乘法運算Cij·Ij只須一個16個字符長度且每個字符有m+n位的ROM與一個(m+n)位的加減法器,經(jīng)n次累加就可獲得,可省下許多硬件線路。
圖2是本發(fā)明的一個優(yōu)選實施例的IDCT電路結構圖。如圖2所示,該IDCT裝置包括一變速率雙端口緩沖器10,二個選擇器11和12、二組寄存器13和14、一組參數(shù)生成器15、一組累加器16、一組求和器17、一對修尾器18和19、一個行列轉換緩沖器20以及一反變速率雙端口緩沖器21。
以下對圖2中各組成單元作進一步說明。
變速率緩沖器10基本上是一個8×8字符大小的可同時輸入/輸出雙端口緩沖器,而其輸出數(shù)據(jù)的速率為輸入數(shù)據(jù)的兩倍,并且具有輸入/輸出端口分別定址的功能。
選擇器11和12是二選一的選擇器,可由輸入端11a(12a)和11b(12b)二者中選擇一個輸入數(shù)據(jù),而從13a(14a)輸出數(shù)據(jù)。
寄存器13均為一個字符長度的寄存器,而每個字符的長度則可依照二維IDCT所遵循標準的精確度而定。寄存器14也是一個字符長度的寄存器,其輸入端14a或14b可輸入一個字符長度的數(shù)據(jù),但輸出時則由LSB開始,每次由輸出端15a和15b輸出二位。參見圖3所示的線路,其中由八個一位寄存器141串聯(lián)形成的奇數(shù)位寄存路徑以15a為輸出,而另八個串聯(lián)的一位寄存器則為偶數(shù)寄存路徑,以15b為輸出。
參數(shù)生成器15內(nèi)含兩個16個字符長度的只讀存儲器151和一個加減法器152,如圖4所示,其中每個字符的長度為m+n,而m和n由上述第(9)公式所定義,是依照二維IDCT所遵循標準的精確度而定。參數(shù)生成器15的輸入端15a和15b中,由15a輸入的數(shù)值比由15b輸入的數(shù)值少一階(order),因此,由只讀存儲器選出的結果,在輸出至152a時須向右移一位才能與從152b輸出的數(shù)據(jù)相加減。至于加減法器152,在一般工作狀態(tài)下都作加法運算,只有當15b的輸入為正負號數(shù)時,才進行減法運算。
累加器16的結構如圖5所示,包括一個加法器161和一個寄存器162。累加器將寄存器162內(nèi)儲存的數(shù)值送回加法器161,同輸入端16a輸入的數(shù)值相加而逐漸得到累加值。
求和器17是由一加法器171和一減法器組合而成,請參照圖6所示的結構。求和器主要用于執(zhí)行前述(12)式的加減法運算,而將結果從輸出端1Sa0、18a1......、18a7輸出。
修尾器18用于將18a0、18a1、18a2、18a3......18a7的輸入修尾成為具有m位的數(shù)值,而修尾器19則將18a0、18a1、18a2、18a3......18a7的輸出剪尾為9位數(shù)值,以符合IDCT對輸出的要求。
行列轉換緩沖器20是一個8×8字符長度的緩沖器,它不僅可對輸入資料進行行列轉換,還可根據(jù)實際需求對其輸入輸出端口順序進行定址。
反變速率緩沖器21則是一個8×8字符長度可同時輸入/輸出的雙端口緩沖器,其輸入端口可同時輸入8個字符,而輸出端口則可依照前述輸出資料區(qū)的輸出順序進行定址。
本發(fā)明直接選定8×8碼組大小的二維IDCT運算來實施,最主要是因為目前幾乎所有圖像處理的標準,都是采用8×8碼組大小的二維DCT/IDCT,且在本發(fā)明中一維IDCT運算周期(latency)有不能大于2N-1的限制(N×N為碼組大小),當N=8時最難實施,因此只要驗證本發(fā)明可用來實施8×8碼組大小的二維IDCT運算,當N>8時也可適用。
為了使本發(fā)明的特征更清楚,以下對圖7所示的時序關系進行描述,以進一步說明此IDCT裝置的工作。
同時參照圖2所示的IDCT裝置結構。首先,IDCT輸入數(shù)據(jù)Y以一行接一行方式,即所謂raster scan方式,依次自輸入端10a輸入變速率緩沖器10,而在Y的最后一行,即在本實施例里編號0至7行中的第7行的第1個數(shù)據(jù)Y70開始輸入時,變速率緩沖器才開始以二倍于Y輸入的速率從11a輸出數(shù)據(jù),并且以特殊定址方式,改變數(shù)據(jù)輸出的順序為Y0kY2k、Y4k、Y6k、Y1k、Y3k、Y5k和Y7k,而列編號K的值則順序從0至7,其時序關系參見圖7最上方二列所分別代表的輸入數(shù)據(jù)與輸出數(shù)據(jù)時序。
當IDCT裝置處理第一維的IDCT運算時,選擇器11將從輸入端11a輸入數(shù)據(jù),使來自變速率緩沖器10的數(shù)據(jù)經(jīng)選擇器11逐個字符由端點13a輸入寄存器13。此時選擇器12從輸入端12a輸入數(shù)據(jù),每當寄存器13儲滿8個字符長度時,就把8個字符通過端點14a和14b送至寄存器14。而當IDCT運算周期大于2N-1,以至第一維IDCT運算結果的第一行最后一個數(shù)據(jù)來不及回授給第二維IDCT時,選擇器12即在12b輸入端向這一數(shù)據(jù)提供路徑,這一點將在下文繼續(xù)探討。
一旦數(shù)據(jù)輸入寄存器14,寄存器14將以每次二位的方式由15a03、15b03輸出,如圖3所示。而15a0、15a1、15a2和15a3的加權(Weighting)相同,可組成一4位的總線15a。另15b0、15b1、15b2和15b3的加權相當,也可組成一4位總線15b。上述總線15b比15a大一階(order)。
總線15a和15b的數(shù)據(jù)分別輸入?yún)?shù)生成器15后,如圖4,將從只讀存儲器151中選擇數(shù)值并產(chǎn)生部份和(partial sum)在加法器152中相加,即在加法器152中將從15a選出的部分和經(jīng)右移一位后與15b選出的部分和相加,再由16a端輸出各參數(shù),在累加器16中累加。
由前述第(7)和(8)式可知,經(jīng)累加器16累加后的值僅為4×4矩陣的運算結果,須再經(jīng)過求和器17的加減處理后才能產(chǎn)生最后結果。然而在一維IDCT運算完成后,求和器17的輸出值位數(shù)相當長,為了使硬件復雜度降低,在不影響二維IDCT運算精確度的原則下,可以適量刪除其最低有效位,只留下所需的m位。修尾器18就是因此目的而設計的。
經(jīng)修尾器18修尾后的數(shù)據(jù)Z通過端口20a,以列順序傳入行列轉換緩沖器20進行行列轉換。在Z的倒數(shù)第二列的第一個數(shù)據(jù),即在本實施例中第6列第1個數(shù)據(jù)Z06進行輸入時,行列轉換緩沖器20按行順序且依據(jù)Zk0、Zk2、Zk4、Zk6、Zk1、Zk3、Zk5和Zk7(其中,K為行編號)的順序由11b端輸出數(shù)據(jù),其時序關系如圖7倒數(shù)第三行和正數(shù)第三行所示。從圖7中長虛線標示處可以發(fā)現(xiàn),當?shù)诙SIDCT運算數(shù)據(jù)要從行列轉換緩沖器20中讀出Z07時,在20a上的Z07尚未計算出來,這就是前述的用選擇器12直接從20a7將數(shù)據(jù)取出,提供到端口14a的設計思想所在,從而使時序關系得以滿足要求。
至于第二維IDCT的運算,除了選擇器11由11b輸入數(shù)據(jù),另以選擇器12在Z的第一行從寄存器13輸入寄存器14時提供12b的輸入外,基本上與第一維IDCT相同;而當?shù)诙SIDCT的運算結果從18a0至18a7輸出后,經(jīng)由修尾器19截取成9位,然后通過21a以行順序存入反變速率緩沖器21,最后反變速率緩沖器21再以一行接著一行的方式將X由端口21b輸出。
本發(fā)明采用一組一維DA結構的IDCT線路,搭配幾個輸入輸出緩沖器,在只使用一組一維DA結構IDCT的情形下,可實時進行二維IDCT運算;且因輸入輸出緩沖器具有可控制的輸入/輸出定址功能,可節(jié)省大量硬件空間,非常適合超大型集成電路的實際運用。
權利要求
1.一種二維反離散余弦轉換裝置,用以處理一二維N×N字符長度的數(shù)據(jù);該反離散余弦轉換裝置包括一變速率緩沖器,具有雙倍速的輸出/輸入速率,用于將數(shù)據(jù)輸入所述轉換裝置;一第一選擇器,具有一第一輸入端、一第二輸入端和一輸出端;其中,該第一輸入端用于連接所述變速率緩沖器,該第一與第二輸入端只有一個可供輸入;N個第一寄存器,各具有一輸入端與一輸出端并形成串聯(lián);該第一寄存器以一輸入端連接所述第一選擇器的輸出端,用于串行輸入單個字符且并行輸出N個字符;一第二選擇器,具有一第一輸入端、一第二輸入端和一輸出端;其中,該第一輸入端接受所述第一寄存器輸出的N個字符中一第一字符作為輸入,且該第一和第二輸入端只有一個可供輸入;N個第二寄存器,各具一輸入端、一第一輸出端和一第二輸出端,以一個輸入端連接所述第二選擇器的輸出端,以其余各輸入端分別連接未提供所述第二選擇器輸入的各所述第一寄存器輸出端,而得到一N個字符的輸入;該第二寄存器并將前N/2個寄存器的各第一輸出端連接起來產(chǎn)生一第一總線,各第二輸出端連接起來產(chǎn)生一第二總線,將后N/2個寄存器的各第一輸出端連接起來產(chǎn)生一第三總線,以及各第二輸出端連接起來產(chǎn)生一第四總線,并使所述總線具有N/2字符長度的容量;N個參數(shù)生成器,各具有一第一輸入端、一第二輸入端與一輸出端;其中,前N/2個該參數(shù)生成器的各第一輸入端連接所述第一總線,各第二輸入端連接所述第二總線,后N/2個該參數(shù)生成器的各第一輸入端連接所述第三總線,各第二輸入端連接所述第四總線,以在各輸出端生成參數(shù);N個累加器,各具有一輸入端和一輸出端,其各輸入端分別連接各所述參數(shù)生成器的輸出端,用以累加所述參數(shù)生成器生成的參數(shù);N/2個求和器,各具有一第一輸入端、一第二輸入端、一第一輸出端和一第二輸出端,其中,各個第一輸入端分別連接前N/2個所述累加器的輸出端,各個第二輸入端則分別連接后N/2個所述累加器的輸出端;一第一修尾器,連接所述求和器的輸出端,以刪除過長的最低有效位,并提供一輸出路徑到所述第二選擇器的第二輸入端;一行列轉換緩沖器,連接所述第一修尾器,用以處理行列轉換運算,并提供一輸出路徑到所述第一選擇器的第二輸入端;一第二修尾器,連接所述求和器的輸出端,以刪除過長的最低有效位;以及一反變速率緩沖器,具有雙倍速的輸入/輸出速率,以供轉換后的數(shù)據(jù)由所述裝置中輸出。
2.根據(jù)權利要求1所述的裝置,其特征在于,所述第一寄存器是一個字符長度的寄存器。
3.根據(jù)權利要求1所述的裝置,其特征在于,所述第二寄存器是一個字符長度的寄存器。
4.根據(jù)權利要求3所述的裝置,其特征在于,所述第二寄存器是由二組各有串聯(lián)的N個一位寄存器所構成,以提供該第一和第二輸出端。
5.根據(jù)權利要求1所述的裝置,其特征在于,所述參數(shù)生成器包括二只讀存儲器,分別根據(jù)該參數(shù)生成器的第一和第二輸入端輸入而定址;以及一加減法器,用于對所述只讀存儲器輸出值作加減運算。
6.根據(jù)權利要求1所述的裝置,其特征在于,所述累加器含有一加法器和一寄存器;該加法器將該寄存器內(nèi)儲存的數(shù)值與輸入值相加,并用來取代原儲存于該寄存器內(nèi)的值,從而實現(xiàn)累加運算。
7.根據(jù)權利要求1所述的裝置,其特征在于,所述求和器是一加法器與一減法器組合而成,該加法器與該減法器均提供該求和器的第一與第二輸入端,以分別作加減運算,并分別提供其第一與第二輸出端。
8.根據(jù)權利要求1所述的裝置,其特征在于,所述變速率緩沖裝置和該反變速率緩沖裝置用于提供輸入/輸出端口重新定址的功能,改變資料輸入/輸出順序,以利于處理。
9.根據(jù)權利要求1所述的裝置,其特征在于,所述N×N字符數(shù)據(jù)是一8×8字符數(shù)據(jù)。
全文摘要
一種二維反離散余弦轉換(IDCT)裝置,包括一變速率緩沖器(R-ate buffer)、二個選擇器、二組寄存器、一組參數(shù)生成器、一組累加器、一組求和器、一對修尾器(Truncator)、一個行列轉換緩沖器和一反變速率緩沖器。此轉換裝置以分散式數(shù)值運算結構將二維IDCT簡化成二次一維小矩陣運算,配合變速率的輸入/輸出和特定的定址方式,實現(xiàn)在最少硬件空間要求下進行實時IDCT運算的目的。
文檔編號G06F17/16GK1135686SQ9510509
公開日1996年11月13日 申請日期1995年5月5日 優(yōu)先權日1995年5月5日
發(fā)明者黃柏川 申請人:聯(lián)華電子股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
札达县| 襄樊市| 无锡市| 卓尼县| 清流县| 石林| 克拉玛依市| 当阳市| 邳州市| 神池县| 钟山县| 焉耆| 华亭县| 永定县| 孙吴县| 平原县| 商都县| 宜兰县| 钦州市| 宝清县| 长治县| 永靖县| 华亭县| 铜梁县| 华安县| 裕民县| 济宁市| 新和县| 湟中县| 通河县| 苏尼特左旗| 德格县| 开阳县| 石棉县| 鄂尔多斯市| 习水县| 大冶市| 雅江县| 山东省| 合肥市| 如东县|