JPH10154140A - 行列転置装置 - Google Patents
行列転置装置Info
- Publication number
- JPH10154140A JPH10154140A JP8314766A JP31476696A JPH10154140A JP H10154140 A JPH10154140 A JP H10154140A JP 8314766 A JP8314766 A JP 8314766A JP 31476696 A JP31476696 A JP 31476696A JP H10154140 A JPH10154140 A JP H10154140A
- Authority
- JP
- Japan
- Prior art keywords
- output
- matrix
- input
- address
- storage devices
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/76—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
- G06F7/78—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor
- G06F7/785—Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data for changing the order of data flow, e.g. matrix transposition or LIFO buffers; Overflow or underflow handling therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using a RAM
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Complex Calculations (AREA)
Abstract
列転置装置を実現する。 【解決手段】入力列ベクタを並列に入力でき、並列に出
力列ベクタを出力可能で、アドレス範囲の総和が入力行
列の全要素データを格納可能なように配置された複数の
記憶装置22ー0 〜22-pと、複数の並列な数値入力から一
の数値入力を選択可能で選択した数値を対応する記憶装
置に入力する複数の入力選択装置21-0〜21ーp と、各記
憶装置に対し独立なアドレスを指定可能な複数のアドレ
ス発生器23-0〜23-pと、各々独立に任意の記憶装置の出
力を選択可能な出力選択装置24-0〜24-nと、入力時任意
の入力行ベクタの各要素が互いに異なる記憶装置に格納
されるように制御し、出力時複数の記憶装置に格納され
た各行列要素に応じて任意の転置出力列ベクタを定めら
れた順序および定められた列ベクタ内の要素の順を保ち
つつ並列に出力されるように制御する制御装置25とを設
ける。
Description
縮等の技術分野で用いられる2次元直交変換等、転置操
作を必要とする演算を効率的に処理するための専用演算
装置または汎用演算装置内で使用される行列転置装置に
関するものである。
転置操作を必要とする演算装置の中で、高速な処理が必
要とされるものは、複数の演算器により入力行列データ
に対して1次変換もしくは1次変換に等価な処理を施し
た行列データを記憶装置に格納し、その記憶装置から取
り出した行列データに転置作業を施して次の1次変換も
しくは1次変換に等価な処理回路に入力している。
示すブロック図である。図8に示すように、行列転置装
置10は、記憶装置11−1〜11−M、切換スイッチ
回路12およびシフト装置13により構成されている。
また図中、14は演算器を示している。
1入力1出力のRAM(Random Access Memory)により構
成され、各々1からNまでのN個のアドレスで指定が可
能な記憶領域を有し、1つの書き込み動作と1つの読み
込み動作を実行するものである。
置12−1〜12−Mの出力端子に接続されたM個の入
力端子TI−1〜TI−Mとシフト装置13の入力端子
に接続された1個の出力端子TO−1を有し、出力端子
TO−1を入力端子TI−1〜TI−Mと順次に接続し
て、記憶装置11−1〜11−Mに記憶されている列ベ
クタの要素データをシフト装置13に入力させる。
を介してM個の要素データを逐次読み取り、読み取りが
終わるとM個の要素データをその読み込んだ順番に従っ
て定められた出力に列ベクタY1〜YMとして並列に出
力する。
次変換処理を施し、列ベクタX1〜XNに分割して、記
憶装置11ー1〜11−Mに出力する。またたとえば、
演算器14は、転置作用を受けたシフト装置13による
列ベクタY1〜YMを受けてさらに1次変換を施す。
を得る手順を説明する。ここではM×N行列Xを入力
し、その転置であるN×M行列Yを得る手順を説明す
る。
〜XNに分割され、各列ベクタは順次記憶装置11−1
〜11−Mに対して入力される。列ベクタXk(ただ
し、kは1〜Nの整数)のi番目の要素(ただし、iは
1〜Mの整数)は記憶装置11−iのアドレスkの記憶
領域に書き込まれ、格納される。この際、Xkの各要素
は同時に各々の記憶装置に書き込まれる。この操作をk
=1からk=NまでN回繰り返すことにより、記憶装置
11−1〜11−M内にXの全要素が格納される。
Nまでを読み出し、切換スイッチ回路12を介してシフ
ト装置13に順次入力し、シフト装置14の出力にXの
行ベクタT(X)iが出力される。ここでT(X)は行
列の転置を表す関数とする。この操作が終わった時点で
シフト装置13の出力にXの行ベクタT(X)i、すな
わち出力Yの列ベクタYiが出力される。この操作をi
=1からi=M回繰り返すことにより出力列ベクタY1
〜YMが出力され、出力行列Yの全要素が出力されるこ
ととなる。
うに行列転置操作において、1列分のデータが揃うまで
行データをN回読み出さねばならず、この操作が高速ま
たは短時間で2次元直交変換等を演算する際の障害とな
っていた。
のであり、その目的は、2次元直交変換等の演算処理を
高速化できる行列転置装置を提供することにある。
め、本発明は、入力列ベクタに対して転置作用を施して
出力列ベクタを得る行列転置装置であって、入力列ベク
タを並列に入力でき、並列に出力列ベクタを出力可能
で、かつ、アドレス範囲の総和が入力行列の全要素デー
タを格納可能なように配置された複数の記憶装置と、任
意の入力行ベクタの各要素データを互いに異なる記憶装
置に格納させ、格納された各行列要素に応じて任意の転
置出力列ベクタを定められた順序および定められた列ベ
クタ内の要素データの順を保ちつつ並列に出力させる制
御手段とを有する。
置作用を施して出力列ベクタを得る行列転置装置であっ
て、入力列ベクタを並列に入力でき、並列に出力列ベク
タを出力可能で、かつ、アドレス範囲の総和が入力行列
の全要素データを格納可能なように配置された複数の記
憶装置と、それぞれ上記複数の記憶装置に対応して設け
られ、複数の並列な数値入力から一の数値入力を選択可
能で、それぞれ選択した数値を対応する記憶装置に入力
する複数の選択手段と、上記複数の記憶装置に対し独立
なアドレスを指定可能な複数のアドレス発生手段と、入
力時、任意の入力行ベクタの各要素が互いに異なる記憶
装置に格納されるように上記選択手段およびアドレス発
生手段を制御し、出力時、上記複数の記憶装置に格納さ
れた各行列要素に応じて任意の転置出力列ベクタを定め
られた順序および定められた列ベクタ内の要素の順を保
ちつつ並列に出力されるように上記アドレス発生手段を
制御する制御手段とを有する。
は、各記憶領域がマトリクス状となるように配置され、
制御手段によって、アドレスを円環状にシフトさせなが
ら列ベクタの一系統をなす要素データが複数の記憶装置
のそれぞれ異なる列アドレスの記憶領域に格納される。
そして、マトリクスの同一列単位でアドレス指定を行っ
て並列出力ベクタが出力される。また、たとえば複数の
データ列をシフトさせながら列ベクタの一系統をなす要
素データが複数の記憶装置のそれぞれ同一の列アドレス
の記憶領域に格納され、アドレスを円環状にシフトさせ
て並列出力ベクタの出力が行われる。これにより、高速
な転置操作を実現でき、2次元直交変換等の演算処理を
高速化することができる。また、本行列転置装置は、正
方行列を入出力とすることも可能であり、たとえば2次
元直交変換を処理する専用演算装置、画像圧縮装置また
は画像伸長装置に使用される2次元直交変換を処理する
専用演算装置、あるいは2次元直交変換を処理する場合
がある汎用演算装置の一部等に使用することが可能であ
る。
施例について説明する。
施形態を示すブロック構成図である。図1に示すよう
に、行列転置装置20は、入力選択装置21−0〜21
−p、記憶装置22−0〜22−p、アドレス発生器2
3−0〜23−p、出力選択装置24−0〜24−n、
および制御回路25により構成されている。また図中2
6は演算器を示している。
め、行列の要素、選択装置、記憶装置などを指定するた
めの添え字は1からではなく0から始まるものとしてい
る。入力行列Xの各要素をXij(i=0〜m、j=0
〜n)と表し、たとえば通常の表現でのXの(1、2)
要素、すなわち行列の最上段の左から2番目の要素はX
01と表記する。出力行列Yに関しても同様であり、当
然ながらXijとYjiは同一の値となる。
=N、M≦Nの場合P=NかつQ=Mとし、n=N−
1、m=M−1、p=P−1、q=Q−1とする。
制御装置25による第1制御信号CTL1に応じて、各
々独立に入力列ベクタXk(k=0〜n)の任意の要素
Xjk(j=0〜m)を選択して出力する。入力選択装
置21−iの出力端子は記憶装置22−iの入力端子に
接続されている。
えば1入力1出力のRAMにより構成され、各々アドレ
ス発生器23−iで発生される0からqまでのQ個のア
ドレスADR0〜ADRqで指定可能なQ個の記憶領域
を有し、1つの書き込み動作と1つの読み込み動作を実
行する。
は、制御装置25による第2制御信号CTL2に応じ
て、各々独立に0からqまでの値域をもつアドレスAD
R0〜ADRqを1系統出力することができ、入力手順
および出力手順に先立って各々独立に0からqまでのア
ドレス値を設定可能で、入力手順中または出力手順中の
各1動作毎にQを法とする剰余系でアドレス値を1ずつ
増加または1ずつ減少させる。
制御装置25による第3制御信号CTL3に応じて、各
々独立に任意の記憶装置の出力を選択して出力する装置
であり、記憶装置22−iの出力を入力される毎にこの
装置の最終出力行列であるYの列ベクタYh(h=0〜
m)を逐次出力する。
0〜n)を記憶装置22−iに記憶するときは、第1制
御信号CTL1を入力選択装置21−iに出力するとと
もに、第2制御信号CTL2をアドレス発生器23−i
に出力する。この場合、たとえば全ての記憶装置22−
0〜22−pの記憶領域0から記憶領域pに向かって順
次に記憶していくように、各アドレス発生器23−0〜
23−pが同時に発生する一系統出力アドレスADR
は、それぞれ異なる。また、記憶装置22−iに記憶さ
れた要素データを読み出すときは、第2制御信号CTL
2をアドレス発生器23−iに出力するとともに、第3
制御信号CTL3を出力選択装置24−jに出力する。
この場合、たとえば任意の列ベクタYhが得られるよう
に、各アドレス発生器23−0〜23−pが同時に発生
する一系統出力アドレスADRは、それぞれ異なる。す
なわち、この例では、記憶装置22−0〜22−pへの
データの書き込みは、全記憶装置でいわゆる縦方向に一
斉に行い、読み出しは、選択的なアドレス指定により行
う。
次変換処理を施し、列ベクタX00〜Xm0、X01〜
Xm1、・・・、X0n〜Xmnを入力選択装置21−
iにに出力する。またたとえば、演算器25は、出力選
択装置24−jによる列ベクタY00〜Y0n、Y01
〜Yn1、〜、Y0m〜Ynmを受けてさらに1次変換
を施す。
1,CTL2,CTL3に基づき、上記構成要素を用い
てM×N行列XをN×M行列Yに変換する手順を説明す
る。この手順は、後に定義される書き込み手順を実行し
たのち、後に定義される読み出し手順を実行するもので
ある。
信号CTL1,CTL2により、入力選択装置21−0
〜21−pおよびアドレス発生器23−0〜23−pの
状態を、入力列ベクタを記憶装置に書き込むに先立って
初期化する。これを書き込み時状態初期設定と定義す
る。
−0〜22−pに書き込む。これを列ベクタ書き込みと
定義する。次に、入力選択装置21−0〜21−pおよ
びアドレス発生器23−0〜23−pの状態を、次の列
ベクタ書き込みに先立って更新する。これを書き込み時
状態更新と定義する。
る。書き込み手順は、書き込み時状態初期設定を実行し
た後、列ベクタ書き込みの実行と書き込み時状態更新を
入力列ベクタの本数分繰り返す手順である。
信号CTL2、第3制御信号CT3により、アドレス発
生器23−0〜23−pおよび出力選択装置24−0〜
24−nの状態を、出力列ベクタを記憶装置22−0〜
22−pから読み出すに先立って初期化する。これを読
み出し時状態初期設定と定義する。
−0〜22−pより読み出す。これを列ベクタ読み出し
と定義する。
および出力選択装置24−0〜24−nの状態を、次の
列ベクタ書き込みに先立って更新する。これを読み出し
時状態更新と定義する。以上の定義より、読み出し手順
を定義できる。読み出し手順は、読み出し時状態初期設
定を実行した後、列ベクタ読み出しの実行と読み出し時
状態更新を出力列ベクタの本数分繰り返す手順である。
具体的な動作について、より詳細に説明する。書き込み
時状態初期設定として、入力選択装置21−i(i=0
〜p)に対し、入力Xi0(i=0〜p)を選択するよ
うに第1制御信号CTL1が設定され、アドレス発生器
23−i(i=0〜m)に対し、iをQで割った剰余を
アドレスとして発生するように第2制御信号CTL2が
設定され、アドレス発生器23−i(i>M)が存在す
れば、アドレスADR0が発生される。
る。ただし、列ベクタ書き込み実行時の入力選択装置2
1−i(i=0〜p)の状態が、書き込み要素がmより
大きな値に設定されているものに関しては、書き込み動
作は実行されず、記憶装置22−iの内部状態に変化は
ない。
21−i(i=0〜p)の状態が、Pを法とする加減算
の意味において1を減少させる。この時点で、入力選択
装置21−iの状態がs(i)であるとすると、0≦s
(i)<Mであるアドレス発生器23−iに対して、状
態をQを法とする加減算の意味において1を減少させ
る。その他のアドレス発生器に対しては状態を変化させ
ない。
装置24−j(j=0〜n)に対し、記憶装置22−i
(i=0〜p)の出力を選択するよう第3制御信号CT
L3が設定され、アドレス発生器23−i(i=0〜
n)に対し、0をアドレスADRとして発生するよう第
2制御信号CTLが設定される。列ベクタ読み出しとし
ては上記定義のとおりである。
24−jの更新前にアドレス発生器23−iに対し、i
=0〜nかつPを法とする剰余系で出力選択装置24−
j(すなわち、j=0ならば出力選択装置24−0、j
=1ならば出力選択装置24−nなど)の状態がp−n
と等しいならばアドレス発生器23−iにi+1を行う
にように第2制御信号CTL2が設定され、それ以外の
場合はアドレス発生器23−i(i=0〜n)の状態を
Qを法とする剰余系で1を増加させる。以上の手順を上
記のとおりの順序で実行することにより、全手順が完成
する。
sine Transform) を例に、さらに具体的な動作につい
て、図2〜図4に関連付けて説明する。図2〜図4にお
いて、8×8のマトリクス状のものは、8個の記憶領域
を有し、アドレスADR0〜ADR7で8個の記憶領域
を任意に指定可能な1×8の記憶装置8段分(本例では
p=7)を示している。図中、横方向がアドレス方向、
縦方向が記憶装置の配置方向である。
入力は列ベクタX00〜X70であり、アドレス発生器(2
3−0〜23−7)によるアドレス指定は、上段の記憶
装置22−0から順次にADR0〜7である。その結
果、図2(b)に示すように、入力列ベクタX00〜X70
が対角線状に記憶される。そして、このときの次の入力
は列ベクタX01〜X71であり、図にあるように入力列ベ
クタの要素も円環状にシフトされる。アドレス指定は、
図2(b)に示すように、いわゆる円環状に1つシフト
される。すなわち、1段目のアドレス指定はADR1、
2段目はADR2、3段目はADR3、4段目はADR
4、5段目はADR5、6段目はADR6、7段目はA
DR7、そして8段目はADR0である。このように、
8個の列ベクタの入力毎にアドレスが円環状に1つずつ
シフトされ、図3(a)に示すように、64個の記憶領
域に全データが格納される。
生器(23−0〜23−7)によるアドレス指定は、図
3(d)に示すように、8段全ての記憶装置に対してA
DR0である。その結果、図3(d)に示すように、記
憶領域のマトリクスにおける1列目の全データX00〜X
07が読み出される。次に、アドレス発生器(23−0〜
23−7)によるアドレス指定は、図4(e)に示すよ
うに、8段全ての記憶装置に対してアドレスADR1で
ある。その結果、図4(e)に示すように、記憶領域の
マトリクスにおける2列目の全データX10〜X17が読み
出される。同様に、全記憶装置に対して同一のアドレス
指定が順次行われ、図4(f)に示すように、アドレス
ADR7の指定により、8列目のデータX70〜X77が読
み出される。
を円環状に1つずつシフトさせながら8段の記憶装置2
2−0〜22−7に格納し、そのデータを読み出すると
きは、1列目から順番にアドレス指定することにより、
転置のオーバーヘッドをなくすことができる。
を円環状に1つずつシフトさせながら、8段の記憶装置
に格納し、そのデータを読み出すときは、1列目から順
番にアドレス指定するものであるが、これとは逆の構成
も可能である。すなわち、図5〜図7に示すように、8
個のデータ列を円環状にシフトしつつ格納し、そのデー
タを読み出す際に各アドレスを円環状にシフトさせるよ
うに構成することも可能である。
入力は列ベクタX00〜X70であり、アドレス発生器(2
3−0〜23−7)によるアドレス指定は、8段全ての
記憶装置に対してADR0である。その結果、図5
(b)に示すように、入力列ベクタX00〜X70が記憶領
域のマトリクスにおける1列目に記憶される。そして、
このときの次の入力は列ベクタX01〜X71であり、アド
レス指定は、図5(b)に示すように、8段全ての記憶
装置に対してADR0である。このようにして、図6
(c)に示すように、順次に64個の記憶領域に8個の
列ベクタの全データが格納される。
生器(23−0〜23−7)によるアドレス指定は、図
6(d)に示すように、選択的に行われる。すなわち、
上段の記憶装置22−0から1段目のアドレス指定はA
DR0、2段目はADR7、3段目はADR6、4段目
はADR5、5段目はADR4、6段目はADR3、7
段目はADR2、そして8段目はADR1である。その
結果、図6(d)に示すように、記憶領域のマトリクス
における1列目の全データX00〜X07が読み出される。
次に、図7(e)に示すように、アドレス指定が円環状
にシフトされて行われる。すなわち、上段の記憶装置2
2−0から1段目のアドレス指定はADR1、2段目は
ADR0、3段目はADR7、4段目はADR6、5段
目はADR5、6段目はADR4、7段目はADR3、
そして8段目はADR2である。同様に、アドレス指定
が円環状に1つずつシフトされ、図4(f)に示すよう
に、アドレスADR7の指定により、8列目のデータX
70〜X77が読み出される。この場合のアドレス指定は、
1段目はADR7、2段目はADR6、3段目はADR
5、4段目はADR4、5段目はADR3、6段目はA
DR2、7段目はADR1、そして8段目はADR0で
ある。
フトしつつ格納し、そのデータを読み出す際に各アドレ
スを円環状にシフトさせるように構成することにより、
転置のオーバーヘッドをなくすことができる。
ば、入力列ベクタを並列に入力でき、並列に出力列ベク
タを出力可能で、かつ、アドレス範囲の総和が入力行列
の全要素データを格納可能なように配置された複数の記
憶装置22−0〜22−pと、それぞれ複数の記憶装置
に対応して設けられ、複数の並列な数値入力から一の数
値入力を選択可能で、それぞれ選択した数値を対応する
記憶装置に入力する複数の入力選択装置21−0〜21
−pと、複数の記憶装置に対し独立なアドレスを指定可
能な複数のアドレス発生器23−0〜23−pと、各々
独立に任意の記憶装置の出力を選択可能な出力選択装置
24−0〜24−nと、入力時、任意の入力行ベクタの
各要素が互いに異なる記憶装置に格納されるように入力
選択装置およびアドレス発生器を制御し、出力時、複数
の記憶装置に格納された各行列要素に応じて任意の転置
出力列ベクタを定められた順序および定められた列ベク
タ内の要素の順を保ちつつ並列に出力されるようにアド
レス発生器および出力選択装置を制御する制御装置25
とを設けたので、従来方式に存在した行列転置操作時の
シフト動作に伴う時間的無駄がなく、高速な転置操作を
実現でき、2次元直交変換等の演算処理を高速化するこ
とができる。
れるものではなく、記憶装置および入力選択装置の個数
が入力列ベクタを並列に入力するに十分であり、かつ記
憶装置の個数が出力選択装置より並列に出力列ベクタを
出力するに十分であり、かつ各記憶装置のもつアドレス
範囲の総和が入力行列の全要素を格納するに十分であ
り、かつ入力選択装置および入力時のアドレス発生器が
任意の入力行ベクタの各要素が互いに異なる記憶装置に
格納されるよう制御され、かつ出力選択装置および出力
時のアドレス発生器が格納された各行列要素に応じて任
意の転置出力列ベクタを定められた順序および定められ
た列ベクタ内の要素の順序を保ちつつ並列に出力される
よう制御されるという制約を満たす限りにおいて種々の
変形が考えられる。
力とすることも可能であり、たとえば2次元直交変換を
処理する専用演算装置、画像圧縮装置または画像伸長装
置に使用される2次元直交変換を処理する専用演算装
置、あるいは2次元直交変換を処理する場合がある汎用
演算装置の一部等に使用することが可能である。
装置によれば、つねに並列に読み書きが可能なように記
憶装置に読み書きをすることから、従来方式に存在した
行列転置操作時のシフト動作に伴う時間的無駄がなく、
高速な転置操作を実現でき、2次元直交変換等の演算処
理を高速化することができる。
ブロック構成図である。
説明するための図であって、(a)は初期状態を示す
図、(b)は(a)の状態からデータが格納された状態
を示す図である。
説明するための図であって、(c)は記憶領域に全デー
タが格納された状態を示す図、(d)は読み出し動作時
の説明図である。
説明するための図であって、(e)、(f)は読み出し
過程の説明図である。
作を説明するための図であって、(a)は初期状態を示
す図、(b)は(a)の状態からデータが格納された状
態を示す図である。
作を説明するための図であって、(c)は記憶領域に全
データが可能された状態を示す図、(d)は読み出し動
作時の説明図である。
作を説明するための図であって、(e)、(f)は読み
出し過程の説明図である。
ック図である。
置、22−0〜22−p…記憶装置、23−0〜23−
p…アドレス発生器、24−0〜24−p…出力選択装
置、25…制御装置、26…演算器。
Claims (9)
- 【請求項1】 入力列ベクタに対して転置作用を施して
出力列ベクタを得る行列転置装置であって、 入力列ベクタを並列に入力でき、並列に出力列ベクタを
出力可能で、かつ、アドレス範囲の総和が入力行列の全
要素データを格納可能なように配置された複数の記憶装
置と、 任意の入力行ベクタの各要素データを互いに異なる記憶
装置に格納させ、格納された各行列要素に応じて任意の
転置出力列ベクタを定められた順序および定められた列
ベクタ内の要素データの順を保ちつつ並列に出力させる
制御手段とを有する行列転置装置。 - 【請求項2】 上記複数の記憶装置は、各記憶領域がマ
トリクス状となるように配置されており、 上記制御手段は、アドレスを円環状にシフトさせながら
列ベクタの一系統をなす要素データを複数の記憶装置の
それぞれ異なる列アドレスの記憶領域に格納させ、マト
リクスの同一列単位でアドレス指定を行って並列出力ベ
クタを出力させる請求項1記載の行列転置装置。 - 【請求項3】 上記複数の記憶装置は、各記憶領域がマ
トリクス状となるように配置されており、 上記転置制御手段は、複数のデータ列をシフトさせなが
ら列ベクタの一系統をなす要素データを複数の記憶装置
のそれぞれ同一の列アドレスの記憶領域に格納させ、ア
ドレスを円環状にシフトさせて並列出力ベクタを出力さ
せる請求項1記載の行列転置装置。 - 【請求項4】 正方行列を入出力する請求項1記載の行
列転置装置。 - 【請求項5】 入力列ベクタに対して転置作用を施して
出力列ベクタを得る行列転置装置であって、 入力列ベクタを並列に入力でき、並列に出力列ベクタを
出力可能で、かつ、アドレス範囲の総和が入力行列の全
要素データを格納可能なように配置された複数の記憶装
置と、 それぞれ上記複数の記憶装置に対応して設けられ、複数
の並列な数値入力から一の数値入力を選択可能で、それ
ぞれ選択した数値を対応する記憶装置に入力する複数の
選択手段と、 上記複数の記憶装置に対し独立なアドレスを指定可能な
複数のアドレス発生手段と、 入力時、任意の入力行ベクタの各要素が互いに異なる記
憶装置に格納されるように上記選択手段およびアドレス
発生手段を制御し、出力時、上記複数の記憶装置に格納
された各行列要素に応じて任意の転置出力列ベクタを定
められた順序および定められた列ベクタ内の要素の順を
保ちつつ並列に出力されるように上記アドレス発生手段
を制御する制御手段とを有する行列転置装置。 - 【請求項6】 各々独立に任意の記憶装置の出力を選択
可能な出力選択装置を有し、 上記制御手段は、上記出力選択装置を、上記記憶装置の
出力が入力される毎に最終出力行列である出力列ベクタ
を逐次出力するように制御する請求項5記載の行列転置
装置。 - 【請求項7】 上記複数の記憶装置は、各記憶領域がマ
トリクス状となるように配置されており、 上記制御手段は、アドレスを円環状にシフトさせながら
列ベクタの一系統をなす要素データを複数の記憶装置の
それぞれ異なる列アドレスの記憶領域に格納させ、マト
リクスの同一列単位でアドレス指定を行って並列出力ベ
クタを出力させるように上記アドレス発生手段を制御す
る請求項5記載の行列転置装置。 - 【請求項8】 上記複数の記憶装置は、各記憶領域がマ
トリクス状となるように配置されており、 上記転置制御手段は、複数のデータ列をシフトさせなが
ら列ベクタの一系統をなす要素データを複数の記憶装置
のそれぞれ同一の列アドレスの記憶領域に格納させ、ア
ドレスを円環状にシフトさせて並列出力ベクタを出力さ
せるように上記アドレス発生手段を制御する請求項5記
載の行列転置装置。 - 【請求項9】 正方行列を入出力する請求項5記載の行
列転置装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31476696A JP3845920B2 (ja) | 1996-11-26 | 1996-11-26 | 行列転置装置 |
US08/974,958 US6021420A (en) | 1996-11-26 | 1997-11-20 | Matrix transposition device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP31476696A JP3845920B2 (ja) | 1996-11-26 | 1996-11-26 | 行列転置装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10154140A true JPH10154140A (ja) | 1998-06-09 |
JP3845920B2 JP3845920B2 (ja) | 2006-11-15 |
Family
ID=18057336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP31476696A Expired - Fee Related JP3845920B2 (ja) | 1996-11-26 | 1996-11-26 | 行列転置装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6021420A (ja) |
JP (1) | JP3845920B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011002908A (ja) * | 2009-06-16 | 2011-01-06 | Fujitsu Semiconductor Ltd | プロセッサ及び情報処理システム |
JP2012009055A (ja) * | 1999-07-26 | 2012-01-12 | Intel Corp | 2次元マトリクス処理のためのレジスタ |
JPWO2013054468A1 (ja) * | 2011-10-14 | 2015-03-30 | パナソニックIpマネジメント株式会社 | 転置演算装置とその集積回路、および転置処理方法 |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100239349B1 (ko) * | 1996-12-20 | 2000-01-15 | 구자홍 | 역이산 코사인 변환기의 데이타 포멧 변환 회로 |
JP2001117909A (ja) * | 1999-10-21 | 2001-04-27 | Oki Electric Ind Co Ltd | マトリクス形式データの転置回路 |
EP1122688A1 (en) * | 2000-02-04 | 2001-08-08 | Texas Instruments Incorporated | Data processing apparatus and method |
US7031994B2 (en) * | 2001-08-13 | 2006-04-18 | Sun Microsystems, Inc. | Matrix transposition in a computer system |
US20030084081A1 (en) * | 2001-10-27 | 2003-05-01 | Bedros Hanounik | Method and apparatus for transposing a two dimensional array |
US6693643B1 (en) | 2001-12-31 | 2004-02-17 | Apple Computer, Inc. | Method and apparatus for color space conversion |
US6877020B1 (en) * | 2001-12-31 | 2005-04-05 | Apple Computer, Inc. | Method and apparatus for matrix transposition |
US7558947B1 (en) | 2001-12-31 | 2009-07-07 | Apple Inc. | Method and apparatus for computing vector absolute differences |
US7305540B1 (en) | 2001-12-31 | 2007-12-04 | Apple Inc. | Method and apparatus for data processing |
US7034849B1 (en) | 2001-12-31 | 2006-04-25 | Apple Computer, Inc. | Method and apparatus for image blending |
US6822654B1 (en) | 2001-12-31 | 2004-11-23 | Apple Computer, Inc. | Memory controller chipset |
US7055018B1 (en) | 2001-12-31 | 2006-05-30 | Apple Computer, Inc. | Apparatus for parallel vector table look-up |
US7114058B1 (en) | 2001-12-31 | 2006-09-26 | Apple Computer, Inc. | Method and apparatus for forming and dispatching instruction groups based on priority comparisons |
US7015921B1 (en) | 2001-12-31 | 2006-03-21 | Apple Computer, Inc. | Method and apparatus for memory access |
US6573846B1 (en) | 2001-12-31 | 2003-06-03 | Apple Computer, Inc. | Method and apparatus for variable length decoding and encoding of video streams |
US6931511B1 (en) | 2001-12-31 | 2005-08-16 | Apple Computer, Inc. | Parallel vector table look-up with replicated index element vector |
US7681013B1 (en) | 2001-12-31 | 2010-03-16 | Apple Inc. | Method for variable length decoding using multiple configurable look-up tables |
US6697076B1 (en) | 2001-12-31 | 2004-02-24 | Apple Computer, Inc. | Method and apparatus for address re-mapping |
US7467287B1 (en) | 2001-12-31 | 2008-12-16 | Apple Inc. | Method and apparatus for vector table look-up |
US6781528B1 (en) | 2002-10-24 | 2004-08-24 | Apple Computer, Inc. | Vector handling capable processor and run length encoding |
US6707398B1 (en) | 2002-10-24 | 2004-03-16 | Apple Computer, Inc. | Methods and apparatuses for packing bitstreams |
US6707397B1 (en) | 2002-10-24 | 2004-03-16 | Apple Computer, Inc. | Methods and apparatus for variable length codeword concatenation |
US6781529B1 (en) | 2002-10-24 | 2004-08-24 | Apple Computer, Inc. | Methods and apparatuses for variable length encoding |
US8423597B1 (en) * | 2003-08-29 | 2013-04-16 | Nvidia Corporation | Method and system for adaptive matrix trimming in an inverse discrete cosine transform (IDCT) operation |
US7490120B2 (en) * | 2003-09-29 | 2009-02-10 | International Business Machines Corporation | Method and structure for producing high performance linear algebra routines using a selectable one of six possible level 3 L1 kernel routines |
US7475101B2 (en) | 2003-09-29 | 2009-01-06 | International Business Machines Corporation | Method and structure for producing high performance linear algebra routines using streaming |
US7571435B2 (en) * | 2003-09-29 | 2009-08-04 | International Business Machines Corporation | Method and structure for producing high performance linear algebra routines using preloading of floating point registers |
US7386582B2 (en) * | 2003-09-29 | 2008-06-10 | International Business Machines Corporation | Method and structure for producing high performance linear algebra routines using a hybrid full-packed storage format |
US7487195B2 (en) * | 2003-09-29 | 2009-02-03 | International Business Machines Corporation | Method and structure for producing high performance linear algebra routines using composite blocking based on L1 cache size |
US20050071405A1 (en) * | 2003-09-29 | 2005-03-31 | International Business Machines Corporation | Method and structure for producing high performance linear algebra routines using level 3 prefetching for kernel routines |
US7469266B2 (en) * | 2003-09-29 | 2008-12-23 | International Business Machines Corporation | Method and structure for producing high performance linear algebra routines using register block data format routines |
US7483932B1 (en) * | 2004-05-05 | 2009-01-27 | Sun Microsystems, Inc. | Method and system for computing multidimensional fast Fourier transforms |
US7966509B2 (en) * | 2006-05-30 | 2011-06-21 | Nvidia Corporation | System and method for performing low power dynamic trimming |
US8095745B1 (en) * | 2006-08-07 | 2012-01-10 | Marvell International Ltd. | Non-sequential transfer of data from a memory |
US9798698B2 (en) | 2012-08-13 | 2017-10-24 | Nvidia Corporation | System and method for multi-color dilu preconditioner |
CN103237157B (zh) * | 2013-05-13 | 2015-12-23 | 四川虹微技术有限公司 | 一种实时高清视频图像转置器 |
TWI570573B (zh) | 2014-07-08 | 2017-02-11 | 財團法人工業技術研究院 | 矩陣轉置電路 |
JP6943283B2 (ja) * | 2017-08-07 | 2021-09-29 | 日本電気株式会社 | 高速フーリエ変換装置、データ並べ替え処理装置、高速フーリエ変換処理方法およびプログラム |
CN109408117B (zh) * | 2018-10-08 | 2021-01-26 | 京东方科技集团股份有限公司 | 矩阵转置装置及方法、显示装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6160148A (ja) * | 1984-08-31 | 1986-03-27 | Fujitsu Ltd | イメ−ジデ−タメモリシステム |
JPH0298790A (ja) * | 1988-10-04 | 1990-04-11 | Mitsubishi Electric Corp | 二次元離散データ直交変換用集積回路装置 |
JPH03160537A (ja) * | 1989-11-20 | 1991-07-10 | Fuji Xerox Co Ltd | メモリ制御装置 |
JPH06334869A (ja) * | 1993-05-25 | 1994-12-02 | Ricoh Co Ltd | データ転置装置 |
JPH08305819A (ja) * | 1995-04-28 | 1996-11-22 | Hitachi Ltd | 2次元直交変換演算装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5644517A (en) * | 1992-10-22 | 1997-07-01 | International Business Machines Corporation | Method for performing matrix transposition on a mesh multiprocessor architecture having multiple processor with concurrent execution of the multiple processors |
US5481487A (en) * | 1994-01-28 | 1996-01-02 | Industrial Technology Research Institute | Transpose memory for DCT/IDCT circuit |
KR0175733B1 (ko) * | 1995-11-01 | 1999-04-15 | 이준 | 비트-시리얼 메트릭스 전치를 위한 초대규모 집적회로 |
-
1996
- 1996-11-26 JP JP31476696A patent/JP3845920B2/ja not_active Expired - Fee Related
-
1997
- 1997-11-20 US US08/974,958 patent/US6021420A/en not_active Expired - Lifetime
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6160148A (ja) * | 1984-08-31 | 1986-03-27 | Fujitsu Ltd | イメ−ジデ−タメモリシステム |
JPH0298790A (ja) * | 1988-10-04 | 1990-04-11 | Mitsubishi Electric Corp | 二次元離散データ直交変換用集積回路装置 |
JPH03160537A (ja) * | 1989-11-20 | 1991-07-10 | Fuji Xerox Co Ltd | メモリ制御装置 |
JPH06334869A (ja) * | 1993-05-25 | 1994-12-02 | Ricoh Co Ltd | データ転置装置 |
JPH08305819A (ja) * | 1995-04-28 | 1996-11-22 | Hitachi Ltd | 2次元直交変換演算装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012009055A (ja) * | 1999-07-26 | 2012-01-12 | Intel Corp | 2次元マトリクス処理のためのレジスタ |
JP2011002908A (ja) * | 2009-06-16 | 2011-01-06 | Fujitsu Semiconductor Ltd | プロセッサ及び情報処理システム |
JPWO2013054468A1 (ja) * | 2011-10-14 | 2015-03-30 | パナソニックIpマネジメント株式会社 | 転置演算装置とその集積回路、および転置処理方法 |
US9201899B2 (en) | 2011-10-14 | 2015-12-01 | Panasonic Intellectual Property Management Co., Ltd. | Transposition operation device, integrated circuit for the same, and transposition method |
Also Published As
Publication number | Publication date |
---|---|
US6021420A (en) | 2000-02-01 |
JP3845920B2 (ja) | 2006-11-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH10154140A (ja) | 行列転置装置 | |
US5422997A (en) | Texture address generator, texture pattern generator, texture drawing device, and texture address generating method | |
JP3442192B2 (ja) | データ駆動型情報処理装置 | |
US5253213A (en) | Semiconductor memory used for changing sequence of data | |
JP2851804B2 (ja) | 2次元直交変換装置 | |
JPH0556347A (ja) | 画像処理装置 | |
KR0167834B1 (ko) | 다중화면 효과처리방법 및 그 장치 | |
JPS6083177A (ja) | ラベル付けプロセツサ | |
JP2002163887A (ja) | シンクロナスdram | |
JPH07264395A (ja) | 画像縮小装置 | |
JP2769384B2 (ja) | 演算制御icおよび情報処理装置 | |
JP2824976B2 (ja) | 2次元配列データ回転装置 | |
JPS6226548A (ja) | メモリ制御装置 | |
JPH05113928A (ja) | 画像メモリ装置 | |
JPH07110786A (ja) | 半導体記憶装置 | |
JP2884815B2 (ja) | 効率的な映像分析処理メモリシステム | |
JPS6125192B2 (ja) | ||
JPH06215559A (ja) | ページメモリアクセス方式 | |
JP3429880B2 (ja) | メモリ装置およびメモリアクセス方法 | |
JPH10282961A (ja) | 楽音制御パラメータ生成装置 | |
JPH01319840A (ja) | アドレス変換回路 | |
JPH03131899A (ja) | パターン変換回路 | |
JPH07160575A (ja) | メモリシステム | |
JPH05120121A (ja) | 番地変換機能付記憶装置 | |
JPS59186057A (ja) | イメ−ジメモリシステムにおけるアクセス処理方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051206 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060201 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060801 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060814 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100901 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110901 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120901 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120901 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130901 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |