矩陣轉(zhuǎn)置電路的制作方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及一種矩陣轉(zhuǎn)置電路,可以應(yīng)用于矩陣轉(zhuǎn)置。
【背景技術(shù)】
[0002]在圖像及視頻信號處理的領(lǐng)域里面,有許多算法都需要使用到矩陣乘法。以AVC/H.264(Advanced Video Coding, AVC)的編碼為例,其視頻編碼技術(shù)中的一個編碼工具,在實現(xiàn)上需要使用到 4/8 點的 2D DCT/IDCT(Discrete Cosine Transform,DCT)計算。另外,在HEVC(High Efficiency Video Coding,HEVC)的編碼中,其甚至使用到更大的16/32點的2D DCT/IDCT 計算。
[0003]一些 VLSI (Very Large Scale Integrat1n, VLSI)的文獻提出使用一維(ID)的架構(gòu)來實現(xiàn)二維(2D)的DCT/IDCT運算,其例如使用一個4x4架構(gòu)的位移寄存器來進行4點的DCT計算。另外也文獻有提出使用多個存儲區(qū)塊(bank)的存儲器,例如隨機存取存儲器(Random Access Memory, RAM)模塊架構(gòu),來完成 4/8/16/32 點的 DCT/IDCT 計算。而前述技術(shù)使用寄存器陣列或多個隨機存取存儲器模塊架構(gòu)來完成DCT/IDCT的運算的過程中,其都需要大量的矩陣轉(zhuǎn)置處理。
[0004]能有效率地完成矩陣轉(zhuǎn)置處理的電路,是本技術(shù)領(lǐng)域需要研發(fā)的課題其一。
【發(fā)明內(nèi)容】
[0005]本公開的一實施范例提供一種矩陣轉(zhuǎn)置電路,對具有NXN維度的一矩陣,輸出該矩陣的轉(zhuǎn)置矩陣。該矩陣轉(zhuǎn)置電路包括:一輸入寄存器陣列,具有mXN的矩陣結(jié)構(gòu);一存儲器,具有b組存儲區(qū)塊;以及一輸出寄存器陣列,具有NXn的矩陣結(jié)構(gòu)。其中,N、m、η、b都是2的冪次方的整數(shù),m與η可以整除N,且N = nXmXb。該矩陣分割為多個子矩陣(sub-matrixes),每一個該子矩陣(sub-matrix)具有mXn陣兀,每一個該子矩陣的多個陣元構(gòu)成當(dāng)作一個Y陣元以構(gòu)成一個Y矩陣。該Y矩陣依照該b值區(qū)分為b個區(qū)塊,對應(yīng)該b組存儲區(qū)塊分別存儲該b個區(qū)塊的該多個子矩陣的多個陣元數(shù)據(jù)。該輸入寄存器陣列具有一第一位移方向與一第二位移方向,以該第一位移方向接收輸入陣兀數(shù)據(jù),以該第二位移方向輸出數(shù)據(jù),以對應(yīng)存儲到該b組存儲區(qū)塊。其中,該輸出寄存器陣列具有一第一位移方向與一第二位移方向,以該第一位移方向從該b組存儲區(qū)塊取得陣元數(shù)據(jù),以該第二位移方向輸出對應(yīng)該轉(zhuǎn)置矩陣的陣元數(shù)據(jù)。
[0006]在本公開的一實施范例的矩陣轉(zhuǎn)置電路,該輸入寄存器陣列由該第一位移方向依序接收該矩陣的m個IXN行向量。在填滿該輸入寄存器陣列后,改為該第二位移方向?qū)⑦@些陣元存儲到對應(yīng)的該b組存儲區(qū)塊。其中由于已存儲到該b組存儲區(qū)塊所釋放的暫存空間,同時繼續(xù)接收該矩陣后續(xù)的^!!!個^則于向量。
[0007]在本公開的一實施范例的矩陣轉(zhuǎn)置電路,該輸入寄存器陣列包含mX (N/n)個寄存器。該輸入寄存器陣列的每一個該寄存器的輸入與輸出都是η個數(shù)據(jù)口,且該mX (N/n)個寄存器分為b組次寄存器陣列,該次寄存器陣列有mxm個該寄存器。該輸入寄存器陣列的每一組該次寄存器陣列皆可以選擇該第一位移方向或是該第二位移方向,其中每當(dāng)由該第一位移方向輸入數(shù)據(jù)且填滿整個該輸入寄存器陣列后,就切換到該第二位移方向。該b組次寄存器陣列從該第二位移方向輸出的數(shù)據(jù),分別存放到該b組存儲區(qū)塊。
[0008]在本公開的一實施范例的矩陣轉(zhuǎn)置電路,該輸出寄存器陣列由該第一位移方向從該b組存儲區(qū)塊讀取數(shù)據(jù)。當(dāng)填滿該輸入寄存器陣列后,改變?yōu)樵摰诙灰品较蜉敵鰧?yīng)該轉(zhuǎn)置矩陣的陣元數(shù)據(jù),其中由于已輸出數(shù)據(jù)所釋放的暫存空間,同時繼續(xù)從該b組存儲區(qū)塊讀取數(shù)據(jù)。
[0009]在本公開的一實施范例的矩陣轉(zhuǎn)置電路,其中該輸出寄存器陣列包含(N/m) Xn個寄存器。該輸出寄存器陣列的每一個該寄存器的輸入與輸出都是m個數(shù)據(jù)口,且該(N/m) Xn個寄存器共分為b組次寄存器陣列,每一組該次寄存器陣列有nXn個該寄存器。該輸出寄存器陣列的每一組該寄存器,皆可以選擇該第一位移方向或是該第二位移方向。每當(dāng)由該第一位移方向輸入數(shù)據(jù)且數(shù)據(jù)填滿整個輸出寄存器陣列后,就切換到該第二位移方向,從b個RAM模塊同時讀出b筆數(shù)據(jù),分別推入該b組次寄存器陣列內(nèi)。
[0010]本公開提出的將矩陣處理列(column)與行(row)變換的電路,其包含寄存器和存儲器模塊的組合架構(gòu)。當(dāng)一個矩陣的數(shù)據(jù)以列/行(column/row)向量為單位,逐一輸入到裝置內(nèi)后,經(jīng)過此裝置內(nèi)部架構(gòu)的排列,此裝置會改以行/列(row/column)向量的方式進行矩陣數(shù)據(jù)的輸出。
[0011]為讓本公開的上述特征和優(yōu)點能更明顯易懂,下文特舉實施例,并配合附圖作詳細說明如下。
【附圖說明】
[0012]圖1是依照本公開的一實施范例,對于一個NXN矩陣的規(guī)劃示意圖。
[0013]圖2a?2d是依照本公開的一實施范例,對于2個RAM模塊的4種存儲的規(guī)劃示意圖。
[0014]圖3是依照本公開的一實施范例,對于一個NXN矩陣的另一種規(guī)劃示意圖。
[0015]圖4是依照本公開的一實施范例,矩陣轉(zhuǎn)置電路的結(jié)構(gòu)示意圖。
[0016]圖5是依照本公開的一實施范例,輸入寄存器陣列的每一組寄存器在兩個位移方向的位移方式示意圖。
[0017]圖6是依照本公開的一實施范例,輸出寄存器陣列的每一組寄存器在兩個位移方向的位移方式示意圖。
[0018]圖7是依照本公開的一實施范例,根據(jù)圖2a的規(guī)劃,矩陣的切割結(jié)構(gòu)。
[0019]圖8是依照本公開的一實施范例,N = 16,m = 2,n = 4,b = 2的輸入寄存器陣列架構(gòu)。
[0020]圖9是依照本公開的一實施范例,N = 16,m = 2,n = 4,b = 2的輸入寄存器陣列內(nèi)存值示意圖。
[0021]圖10是依照本公開的一實施范例,N = 16, m = 2, η = 4, b = 2的輸入寄存器陣列內(nèi)存值示意圖。
[0022]圖11是依照本公開的一實施范例,N = 16, m = 2, η = 4, b = 2的輸入寄存器陣列內(nèi)存值示意圖。
[0023]圖12是依照本公開的一實施范例,矩陣在RAMO和RAMl中的數(shù)據(jù)擺放示意圖。
[0024]圖13是依照本公開的一實施范例,矩陣X以2X1切割后的編號示意圖。
[0025]圖14是依照本公開的一實施范例,以圖7表不法與圖13表不法的部分對照關(guān)系示意圖。
[0026]圖15是依照本公開的一實施范例,以圖7表不法與圖13表不法的部分對照關(guān)系,對于輸出寄存器陣列106的一組寄存器陣列的不意圖。
[0027]圖16是依照本公開的一實施范例,圖7表示法與圖13表示法的部分對照關(guān)系示意圖。
[0028]圖17是依照本公開的一實施范例,N = 16, m = 2, η = 4, b = 2的輸出寄存器陣列內(nèi)存值示意圖。
[0029]【符號說明】
[0030]90:矩陣轉(zhuǎn)置電路
[0031]100:矩陣
[0032]102:子矩陣
[0033]104:輸入寄存器陣列
[0034]106:輸出寄存器陣列
[0035]200:存儲器
[0036]110、112:寄存器組
[0037]114、116:寄存器
[0038]120、122:存儲區(qū)塊
【具體實施方式】
[0039]本公開技術(shù)可以對一個NXN的矩陣,進行轉(zhuǎn)置運算,其中N為2的冪次方。在操作上,例如可將列向量的輸入,以行向量輸出,反之亦然。本公開接下來的內(nèi)容,皆以行向量轉(zhuǎn)列向量作為實施范例,以進行說明。以下舉多個實施范例來說明,但是本公開不限于舉多個實施范例。
[0040]圖1是依照本公開的一實施范例,對于一個NXN矩陣的規(guī)劃示意圖。對于一個需要被轉(zhuǎn)置的方形矩陣100,其例如是NXN的結(jié)構(gòu)。對于此矩陣100,以mXn的群組再分為多個子矩陣102,則可以得到一個(N/m) X (N/n)的矩陣Y,其如圖1中由粗線所構(gòu)的矩陣Y,其中m與η也是2的冪次方,可整除N,且m, n〈N。在圖1的實施范例,N= 16, m = 2, η =4。所以矩陣Y的每個陣元(entry) 都是