JPH0226476A - Matrix element transposing device - Google Patents

Matrix element transposing device

Info

Publication number
JPH0226476A
JPH0226476A JP63177319A JP17731988A JPH0226476A JP H0226476 A JPH0226476 A JP H0226476A JP 63177319 A JP63177319 A JP 63177319A JP 17731988 A JP17731988 A JP 17731988A JP H0226476 A JPH0226476 A JP H0226476A
Authority
JP
Japan
Prior art keywords
row
column
converter
output
matrix
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.)
Pending
Application number
JP63177319A
Other languages
Japanese (ja)
Inventor
Hisataka Fujii
寿隆 藤井
Hiroshi Hamada
浜田 博
Yoshitaka Morikawa
良孝 森川
Nobumoto Yamane
山根 延元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Electric Works Co Ltd
Original Assignee
Matsushita Electric Works Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Works Ltd filed Critical Matsushita Electric Works Ltd
Priority to JP63177319A priority Critical patent/JPH0226476A/en
Publication of JPH0226476A publication Critical patent/JPH0226476A/en
Pending legal-status Critical Current

Links

Landscapes

  • Complex Calculations (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

PURPOSE:To eliminate the uselessness of use of a storing area, to attain pipe-line processing and to make an action at high speed by writing the operating result of a row converter in the vacant area in which reading by a colum converter is finished in order. CONSTITUTION:A storing part to have a capacity which can store the operating result of the one block portion of the output of a row converter 21, an input control part to switch a writing direction to the storing part 1 to a row direction and a column direction alternately every time when the one block portion is processed, an output control part to switch a reading direction from the storing part 1 to the row direction and the column direction alternately every time when the one block portion is processed and a whole control part to read data written either in the row direction or in the column direction through the input control part through the output control part in the other direction and to control to execute writing in an area in which reading is finished through the input control part from the other direction are provided. Then, the operating result of the row converter 21 is written in the vacant area in which the reading by a column converter 22 is finished in order. Thus, the uselessness of use of the storing area is eliminated, pipe-line processing is attained, and a high speed action can be executed.

Description

【発明の詳細な説明】 [産業上の利用分野コ 本発明は、画像データのように行列表現されるデータの
ブロックに対して2次元直交変換を行う行列演算器を行
変換器および列変換器とともに構成し、行変換器と列変
換器との間に挿入されて行変換器の演算結果から転置行
列を作成する行列要素転置装置に関するものである。
DETAILED DESCRIPTION OF THE INVENTION [Industrial Application Fields] The present invention is a matrix computing unit that performs two-dimensional orthogonal transformation on a block of data expressed in a matrix such as image data. The present invention relates to a matrix element transposition device that is inserted between a row transformer and a column transformer and creates a transposed matrix from the calculation results of the row transformer.

[従来の技術〕 従来より、画像データ等から冗長性を除去してデータの
圧縮を図る場合に、データを行列表現し、これに直交変
換を施す方法が知られている1画像データの圧縮に用い
られる直交変換としては、アゲマール変換、カルーネン
ーレーブ変換、バール変換、離散コサイン変換、外挿予
測離散サイン変換等がある。
[Prior Art] Conventionally, when compressing data by removing redundancy from image data, etc., it has been known to express the data in a matrix and perform orthogonal transformation on it. Examples of orthogonal transforms used include Agemar transform, Karhunen-Loeve transform, Barr transform, discrete cosine transform, and extrapolation predictive discrete sine transform.

たとえば、N次の直交行列をΦ=(Φ、、l (n・1
.2゜−、N)とするとき、この行列Φを用いて列ベク
トルx=(×。l (n:1,2.・−7N)に1次元
直交変換を施した結果の変換係数ベクトルX = (X
、) (n・1,2.−・−N)は、次式で表すことが
できる。
For example, if we define an N-th orthogonal matrix as Φ=(Φ,,l (n・1
.. 2°-, N), the transform coefficient vector X = the result of performing one-dimensional orthogonal transformation on the column vector x = (×.l (n: 1, 2...-7N)) using this matrix Φ (X
, ) (n·1,2.−·−N) can be expressed by the following formula.

X=ΦX      ・・・■ 画像データを圧縮する場合には、原画像のデータを適当
な大きさのブロックに分割し、データが行列表現された
各ブロックに対して2次元直交変換を施す、2次元直交
変換は、■式を2次元に拡張したものであって、ブロッ
クが行列X =(Xm n )(「1,2.=−、M、
n□1.2.・−・=、N)で表されているとして、直
交行列Φ−(Φ、、+ (、・1,2.・・−1台)お
よび市=(マ1゜)(n;1,2.・・−・、N)を用
いることにより、次式によって変換係数行列X−fX、
。)に変換するものである。
X = Φ Dimensional orthogonal transformation is a two-dimensional extension of formula (■), in which the block is a matrix X = (Xm n ) ('1, 2. = -, M,
n□1.2.・−・=, N), the orthogonal matrix Φ−(Φ,, + (,・1,2...−1 units) and city=(Ma1゜)(n;1,2 By using the following equation, the transformation coefficient matrix X-fX,
. ).

X=ΦX市     ・・・■ ■式について検討すれば、Xψの演算は、行列Xの各行
について1次元直交変換をM回繰り返しているとみなす
ことができ、また、ΦXの演算は。
X=ΦX city...■ ■If we consider the formula, the calculation of Xψ can be regarded as repeating one-dimensional orthogonal transformation M times for each row of the matrix X, and the calculation of ΦX is as follows.

行列Xの各列について1次元直交変換をN回繰り返して
いるとみなすことができる。
It can be considered that one-dimensional orthogonal transformation is repeated N times for each column of the matrix X.

このように、2次元直交変換は第1段階として各行ごと
の1次元直交変換を行い、第2段階として各列ごとの1
次元直交変換を行うから(順序は逆でもよい)、第1段
階として行変換器で求めた行列に対し、この行列の転置
行列を作成し、求めた転置行列に対して第2段階として
列変換器で演算すれば、行変換器と列変換器とを同等の
構成にすることができる。このような転置行列を作成す
る手段として、一般にトランスポートメモリと呼ばれる
行列要素転置装置が考えられている。
In this way, in the two-dimensional orthogonal transformation, the first stage is a one-dimensional orthogonal transformation for each row, and the second stage is a one-dimensional orthogonal transformation for each column.
Since dimensional orthogonal transformation is performed (the order may be reversed), the first step is to create a transposed matrix of this matrix for the matrix obtained by the row transformer, and the second step is column transformation for the obtained transposed matrix. If the calculation is performed using a converter, the row converter and column converter can be made to have the same configuration. A matrix element transposition device generally called a transport memory is considered as a means for creating such a transposed matrix.

従来より提供されているトランスポートメモリは、1ブ
ロック分の記憶容量を有し、第5図に示すように、行変
換器により求めた行列を一時記憶し、記憶している行列
を列方向から読み出すことにより、行と列との位置を入
れ換えるのであり、書込を行った行列に対する転1行列
として続出を行うのである。
Conventionally available transport memories have a storage capacity of one block, and as shown in Figure 5, they temporarily store the matrix obtained by the row converter and convert the stored matrix from the column direction. By reading, the positions of the rows and columns are swapped, and successive output is performed as the inversion 1 matrix of the written matrix.

この構成によれば、1ブロック分のデータが全部揃って
からでないと、列変換器への続出が行えないから、行変
換器と列変換器とは同時に並行動作させることができず
、処理時間が長くなるという問題がある。
According to this configuration, the data cannot be continuously output to the column converter until all the data for one block has been collected, so the row converter and column converter cannot operate in parallel at the same time, which increases the processing time. The problem is that it becomes long.

この問題を解決するものとして、第6図に示すように、
2ブロック分の記憶容量をもなせる構成が考えられる(
米国特許下4,302,775号、米国特許下4,39
4,774号参照)、この構成では、それぞれ1ブロッ
ク分の記憶容量を有した2個のメモリRAM、、RAM
2を有し、一方が書込状態のときに、他方が読出状態に
なるようにマルチプレクサMPX、〜MPX、で交互に
切り換えるようにしているのである。各メモリRA M
 l、 RA M 2は、入力端子IN、出力端子0(
IT、アドレス端子AI)[1の他に、書込制御端子−
Rと続出制御端子R0とを備えている。
As a solution to this problem, as shown in Figure 6,
A configuration that can have a storage capacity of two blocks is conceivable (
U.S. Pat. No. 4,302,775, U.S. Pat. No. 4,39
4,774), in this configuration, two memories RAM, each having a storage capacity of one block, are used.
2, and are alternately switched by multiplexers MPX, . Each memory RAM
l, RAM 2 has an input terminal IN and an output terminal 0 (
IT, address terminal AI) [In addition to 1, write control terminal -
R and a continuous control terminal R0.

入力端子INには、行変換器の演算結果が入力され、出
力端子QIITからは列変換器への出力が取り出される
。書込制御端子畦には、マルチプレクサMPX+を介し
て書込信号WRITEが入力され、読出制御端子RDに
は、マルチプレクサM P X 2を介して浸出信号R
EADが入力される。さらに、各メモリRAM1.RA
M2のアドレス端子^[10には、それぞれマルチプレ
クサM P X 3 、 M P X 4を介して行ア
ドレス発生回路HADDと列アドレス発生回路VADD
とが接続される。各マルチプレクサM P X +〜M
PX4は、セレクト信号SELにより切り換えられ、一
方のメモリRA M + (RA M z )に書込信
号畦ITEが入力される状態では、他方のメモリRAM
2(RA M l )に読出信号READが入力され、
書込信号1IIRITEが入力されているメモリRA 
M + (RA M 2 )に行アドレス発生回路HA
DDが接続され、読出信号READが入力されているメ
モリRA M 2 (RA M 、)に列アドレス発生
回路VADDが接続されるのである。
The calculation result of the row converter is input to the input terminal IN, and the output to the column converter is taken out from the output terminal QIIT. A write signal WRITE is input to the write control terminal ridge via the multiplexer MPX+, and a leaching signal R is input to the read control terminal RD via the multiplexer MPX2.
EAD is input. Furthermore, each memory RAM1. R.A.
The address terminal ^[10 of M2 is connected to a row address generation circuit HADD and a column address generation circuit VADD via multiplexers MPX3 and MPX4, respectively.
are connected. Each multiplexer M P
PX4 is switched by the select signal SEL, and when the write signal ITE is input to one memory RAM + (RAM z ), the other memory RAM
A read signal READ is input to 2 (RAM l ),
Memory RA to which write signal 1IIRITE is input
Row address generation circuit HA in M + (RAM2)
The column address generation circuit VADD is connected to the memory RAM 2 (RAM,) to which DD is connected and the read signal READ is input.

以上のようにして、各メモリRAMI、RAM2に対し
、行方向への書込が行われ、列方向からの読出が行われ
るのである。また、異なるメモリRAMI、RAM2に
対して書込と読出とが同時に行われるから、行変換器と
列変換器とは同時に並列動作させることができるのであ
り、ブロックが正方行列で行変換器と列変換器とが同じ
動作速度を有していれば、空き時間がなく効率よく処理
できることになる。
As described above, data is written to each memory RAMI and RAM2 in the row direction, and read from the column direction. Also, since writing and reading are performed simultaneously to different memories RAMI and RAM2, the row converter and column converter can be operated in parallel at the same time, and if the block is a square matrix, the row converter and column converter If the converters and converters have the same operating speed, there is no idle time and processing can be performed efficiently.

[発明が解決しようとする課題] 上記構成では、処理時間は短縮されるが、メモリ、が2
ブロック分必要であり、また、マルチプレクサもデータ
やアドレスのビット数に比例し赴数が必要であるから、
ハードウェアの規模が大きくなるという問題を有してい
た。
[Problem to be solved by the invention] With the above configuration, the processing time is shortened, but the memory is
The number of blocks is required, and the number of multiplexers required is proportional to the number of data and address bits.
The problem is that the scale of the hardware increases.

本発明は上記問題点を解決することを目的とするもので
あり、ハードウェアの規模が比較的小さく、しかも、比
較的高速な処理が行えるようにした行列要素転置装置を
提供しようとするものである。
The present invention aims to solve the above-mentioned problems, and provides a matrix element transposition device that uses relatively small hardware and can perform relatively high-speed processing. be.

[課題を解決するための手段] 本発明では、上記目的を達成するために、行変換器の出
力の1ブロック分の演算結果を記憶できる容量を有した
記憶部と、1ブロック分を処理する毎に記憶部への書込
方向を行方向と列方向とに交互に切り換える入力制御部
と、1ブロック分を処理する毎に記憶部からの読出方向
を行方向と列方向とに交互に切り換える出力制御部と、
入力制御部を介して行方向と列方向とのいずれか一方向
で書込をしたデータを出力制御部を介して他方向で読出
をするとともに、読出が終了した領域に入力制御部を介
して上記他方向から書込を行うように制御する全体制御
部とを備えるのである。
[Means for Solving the Problems] In order to achieve the above object, the present invention includes a storage unit having a capacity to store the calculation results for one block of the output of the row converter, and a memory unit that processes one block. The input control unit alternately switches the writing direction to the storage unit between the row direction and the column direction each time, and the input control unit alternately switches the reading direction from the storage unit between the row direction and the column direction every time one block is processed. an output control section;
The data written in either the row direction or the column direction via the input control section is read out in the other direction via the output control section, and the data is written to the area where the reading has been completed via the input control section. and an overall control section that controls writing from the other direction.

[作用] 本発明は、第5図に示した従゛来構成において、行変換
器の結果の書込時に、これからデータの書込を行う領域
が空き領域となり、また、列変換器による読出時に、す
でにデータの読出が終了した領域が空き領域となる点に
着目してなされており、上記構成により、列変換器によ
る読出が終了して空いた領域に行変換器の演算結果を順
次書き込むから、記憶領域の利用にむだがなく、パイプ
ライン処理が可能になって、高速動作が期待できるので
ある。
[Function] In the conventional configuration shown in FIG. 5, the present invention has the advantage that when the row converter writes the result, the area where data will be written from now on becomes an empty area, and when the column converter reads the result, the area becomes a free area. This is done by focusing on the fact that the area where data reading has already been completed becomes a free area, and with the above configuration, the calculation results of the row converter are sequentially written into the area that becomes empty after reading by the column converter has finished. , storage space is not wasted, pipeline processing becomes possible, and high-speed operation can be expected.

[実施例1] 本実施例では、処理すべきブロックサイズが8×8であ
る場合を例示するが、ブロックサイズについてなんら制
限を加入るものではない、また、ブロックが正方行列で
はない場合、行数と列数とのうちいずれか大きい方の値
の次数を有した正方行列が記憶可能な容量にする。たと
えば、処理すべきブロックのサイズがMXNであって、
M>Nならば、MXM行列が記憶できる容量を有するよ
うに設定する。
[Example 1] In this example, the case where the block size to be processed is 8x8 is illustrated, but there is no restriction on the block size. Also, if the block is not a square matrix, the row A square matrix having the order of the larger value of the number and the number of columns has a storage capacity. For example, if the size of the block to be processed is MXN,
If M>N, settings are made so that the MXM matrix has a storage capacity.

行変換器および列変換器は10ビツトのデータを演算す
る能力があり、第1図に示すように、行変換器の出力デ
ータは、10ビツトパラレルのDフリップフロップを6
4個用いて構成された記憶部]に格納される。各Dフリ
ップフロップは、それぞれ個別にアドレスが設定されて
おり、64個であるからアドレスは6ビツトで指定され
る。アドレス指定には、バイナリアップカウンタよりな
るアドレスカウンタ2の出力を、−旦、上位3ビツトと
下位3ビツトとに分割して、それぞれマルチプレクサ3
.4を通し、その後、上位3ビツトと下位3ビツトのア
ドレスを入力デコーダ5を介して記憶部1に与えるよう
にしている。ここに、記憶部1およびアドレスカウンタ
2には、クロック信号CLOCKが入力されており、ま
た、クロック信号CLOCKは、記憶部1の各Dフリッ
プフロップに共通なシステムクロックになっている。さ
らに、入力データもクロック信号CLOCKに同期して
いる。
The row converter and column converter have the ability to operate on 10-bit data, and as shown in Figure 1, the output data of the row converter is sent through six 10-bit parallel D flip-flops.
A storage section configured using four Each D flip-flop has an address set individually, and since there are 64, the address is specified by 6 bits. For address specification, the output of address counter 2, which is a binary up counter, is first divided into upper 3 bits and lower 3 bits, and each is sent to multiplexer 3.
.. 4, and then the upper 3 bits and lower 3 bits of the address are given to the storage unit 1 via the input decoder 5. Here, a clock signal CLOCK is input to the storage section 1 and the address counter 2, and the clock signal CLOCK is a system clock common to each D flip-flop in the storage section 1. Furthermore, the input data is also synchronized with the clock signal CLOCK.

各マルチプレクサ3.4は、モード信号MODEにより
入力を二者択一に選択するようになっており、一方のマ
ルチプレクサ3(4)に上位3ビツトが入力されている
ときには、他方のマルチプレクサ4(3)には下位3ビ
ツトが入力されるように設定されている。したがって、
モード信号MODEを切り換えると、アドレスの上位3
ビツトと下位3ビツトとが入れ換えられるのである。す
なわち、記憶部1のアドレスを上位3ビツトと下位3ビ
ツトとに分割して考えると、記憶部1のアドレスを(i
、j)の対で表すことができる。すなわち、アドレス(
j)の上位3ビツトと下位3ビツトとを入れ換えれば、
アドレスを(j、i)に変えることができる。つまり、
行列表現として考えれば、アドレスの上位3ビツトと下
位3ビツトとを入れ換えた状態は、元の行列に対する転
置行列になるのである。
Each multiplexer 3.4 is configured to select one of the inputs according to the mode signal MODE, and when the upper 3 bits are input to one multiplexer 3 (4), the other multiplexer 4 (3 ) is set so that the lower 3 bits are input. therefore,
When the mode signal MODE is switched, the upper 3 addresses
The bit and the lower three bits are exchanged. That is, if we divide the address of storage unit 1 into the upper 3 bits and lower 3 bits, the address of storage unit 1 becomes (i
, j). That is, the address (
If we swap the upper 3 bits and lower 3 bits of j), we get
The address can be changed to (j, i). In other words,
When considered as a matrix representation, the state in which the upper 3 bits and lower 3 bits of the address are swapped becomes a transposed matrix for the original matrix.

以下、動作を説明する。初め、アドレスカウンタ2の出
力の上位3ビツトと下位3ビツトとを入れ換えないよう
にモード信号MODEが設定されているとすると、行変
換器の出力は、第2図(a)(b)に示すように、記憶
部1に対して列方向で書込が行われる(データが入力さ
れた部分を第2図中に斜線部で示す)、ここで、列方向
というのは、記憶部1のアドレスを上位、下位各3ビッ
トで(i、j)と表しているときに、まずjを1つずつ
増加させ、jが最大値く本実施例では7)になると、j
を最小値(本実施例では0)に戻してiを1つ増やすと
いう順番のことである。また、書込に若干先行して同一
アドレスから読出が行われる。初期状態では、読出を行
うべきデータが記憶部1に格納されていないから、読出
を行った出力データは無視される。
The operation will be explained below. Initially, if the mode signal MODE is set so as not to interchange the upper 3 bits and lower 3 bits of the output of address counter 2, the output of the row converter will be as shown in Figures 2(a) and 2(b). As shown in FIG. is expressed as (i, j) using the upper and lower 3 bits, first increase j by 1, and when j reaches the maximum value (7 in this example), j
This is the order in which i is returned to its minimum value (0 in this embodiment) and i is increased by one. Further, reading is performed from the same address slightly prior to writing. In the initial state, since the data to be read is not stored in the storage unit 1, the read output data is ignored.

こうして記憶部1の全アドレス空間にデータの書込が終
了すると、アドレスカウンタ2の出力の上位3ビツトと
下位3ビツトとを入れ換えるようにモード信号MODE
を発生させる。これにより、アドレス指定の順序が、第
2図(e)(d)のように、行方向に切り換えられる。
When data has been written to all the address spaces of the storage unit 1 in this way, the mode signal MODE is activated so that the upper 3 bits and the lower 3 bits of the output of the address counter 2 are exchanged.
to occur. As a result, the order of addressing is switched in the row direction as shown in FIGS. 2(e) and 2(d).

ここに、行方向とは、記憶部1のアドレスを上位、下位
各3ビットで(i、j)と表すときに、まず、iを1つ
ずつ増加させ、iが最大値に達すると、iを最小値に戻
してjを1つ増やすという順番のことである。このよう
にすれば、(1,1>(1,2)(1,3)・・・・・
・という順序で書込を行ったデータに対して、(1,1
)<2.1)(3,1>・・・・・・という順序で読出
を行うことになり、元の行列に対して転置行列を得るの
と等価になるのである。もちろん読出と同時に書込が行
われており、行方向への読出が終了した時点では、記憶
部1のアドレス空間にはデータが満たされている。ここ
で、再びアドレスの上位3ビツトと下位3ビツトとが入
れ換えられ、列方向への読み書きが行われる。
Here, in the row direction, when the address of the storage unit 1 is expressed as (i, j) using the upper and lower 3 bits, first, i is increased by 1, and when i reaches the maximum value, i This is the order in which j is returned to its minimum value and j is increased by one. In this way, (1,1>(1,2)(1,3)...
・For the data written in the order (1, 1
)<2.1)(3,1>...), which is equivalent to obtaining the transposed matrix for the original matrix.Of course, reading is performed at the same time as writing. The address space of storage unit 1 is filled with data when reading in the row direction is completed.The upper 3 bits and lower 3 bits of the address are then swapped again. , reads and writes in the column direction.

以上の動作を繰り返すことにより、行変換器と列変換器
とを同時に動作させながら2次元直交変換を行えるので
あり、記憶部1としては1ブロック分の記憶容量であり
ながら、行変換と列変換とを並行処理してパイプライン
化することができるのであり、高速処理が可能となるの
である。
By repeating the above operations, it is possible to perform two-dimensional orthogonal transformation while simultaneously operating the row transformer and column transformer, and while the storage unit 1 has the storage capacity of one block, row transform and column transform can be performed. These can be processed in parallel and pipelined, making high-speed processing possible.

[実施例2コ 本実施例は、サイズが4×4のブロックに適応するよう
に構成しており、実施例1では、データが10ビツトパ
ラレルであったが、本実施例におけるデータは、10ビ
ツトシリアルになっている。
[Example 2] This example is configured to be adapted to a block of size 4 x 4. In Example 1, the data was 10 bit parallel, but in this example, the data was 10 bit parallel. It's a bit serial.

また、行変換器において1行分の4個のデータに関して
は並行処理され、行変換器から出力される1行分の4個
のデータは記憶部11に同時に入力されるようになって
いる。
Furthermore, four pieces of data for one line are processed in parallel in the row converter, and four pieces of data for one line outputted from the line converter are input to the storage unit 11 at the same time.

記憶部11は、10ビツトシフトレジスタを、第3図に
示すように、16個並べて構成されており、各シフトレ
ジスタ11.1(i、j:1.2,3.4)の対で特定
される。記憶部11の前後にはそれぞれ入力制御部12
と出力制御部13が設けられており、また、各シフトレ
ジスタ111Jは、外部から入力されるシフト信号が1
になっている期間にクロック信号CLOCKに同期して
データをシフトさせるようになっている。このシフト信
号は、全体制御部14により発生する。全体制御部14
は、カウンタ部15の出力によりクロック信号CLOC
Kに同期するのであり、カウンタ部15は、タロツク信
号CLOCKを10分周する分周器16と、分周器16
の出力をカウントする2ビツトカウンタ17とで構成さ
れる。
The storage unit 11 is composed of 16 10-bit shift registers lined up as shown in FIG. 3, and each shift register 11.1 (i, j: 1.2, 3.4) is be done. An input control unit 12 is provided before and after the storage unit 11, respectively.
and an output control section 13, and each shift register 111J receives one shift signal input from the outside.
Data is shifted in synchronization with the clock signal CLOCK during the period when the clock signal CLOCK is set. This shift signal is generated by the overall control section 14. Overall control section 14
is the clock signal CLOC based on the output of the counter section 15.
The counter section 15 includes a frequency divider 16 that divides the tarlock signal CLOCK by 10, and a frequency divider 16.
A 2-bit counter 17 counts the output of the 2-bit counter 17.

モード信号MODEは、記憶部11に対する読み書きを
行方向で行うか列方向で行うかを設定する。
The mode signal MODE sets whether reading and writing to the storage section 11 is performed in the row direction or in the column direction.

すなわち、モード信号MODEが1のときには、行変換
器の4個の出力のうち第1の入力端IN、に入力される
データは、シフトレジスタ11□、(i・1,2,3゜
4)のいずれかに入力されるように設定され、他の入力
端IN2〜IN、も同様に、対応する各列のいずれかの
シフトレジスタ11.2〜11□に入力されるように設
定される。モード信号MODEがOとなると、各入力端
IN、〜IN、へのデータは、それぞれ対応する各行の
いずれかのシフトレジスタ11゜〜111.(j・1,
2,3.4)に入力されることになる。つまり、モード
信号MODEが1のときには、行を指定すれば記憶部1
1の行方向における1行分のデータを記憶することがで
き、モード信号MODEが0のときには、列を指定すれ
ば記憶部11の列方向における1列分のデータを記憶す
ることができるのである。
That is, when the mode signal MODE is 1, the data input to the first input terminal IN of the four outputs of the row converter is input to the shift register 11□, (i・1, 2, 3°4) Similarly, the other input terminals IN2 to IN are set to be input to one of the shift registers 11.2 to 11□ in each corresponding column. When the mode signal MODE becomes O, data to each input terminal IN, .about.IN, is transferred to one of the shift registers 11.about.111.about.in of each corresponding row. (j・1,
2, 3.4). In other words, when the mode signal MODE is 1, if you specify a row, the storage unit 1
When the mode signal MODE is 0, data for one column in the column direction of the storage section 11 can be stored by specifying a column. .

モード信号MODEが1のときの行措定、およびモ−ド
信号MODEがOのときの列指定は、全体制御部14に
より行われる。すなわち、2ビツトカウンタ17の一方
の両出力端Q。、Qlは4状態を取り得るのであって、
出力値が00のときに、モード信号MODEが1である
とすれば、第1行のシフトレジスタIIIJにシフト信
号が入力されるから、結局、記憶部11の第1行にデー
タが書き込まれることになる。ここに、各シフトレジス
タ11..は、それぞれ10ビツトを有しているから、
クロック信号CLOCにが10個出される間、シフト信
号は同じ状態に保たれる。この状態はクロック信号CL
OCKを10分の1に分周する分周器16により実現さ
れている。2ビツトカウンタ17の出力が同じで。
The row assignment when the mode signal MODE is 1 and the column assignment when the mode signal MODE is O are performed by the overall control section 14. That is, one of both output ends Q of the 2-bit counter 17. , Ql can take four states,
If the mode signal MODE is 1 when the output value is 00, the shift signal is input to the shift register IIIJ in the first row, so data is eventually written to the first row of the storage section 11. become. Here, each shift register 11. .. have 10 bits each, so
The shift signal remains in the same state while the clock signal CLOC is issued ten times. This state is the clock signal CL.
This is realized by a frequency divider 16 that divides OCK into 1/10. The output of 2-bit counter 17 is the same.

モード信号MODEが0のときには、全体制御部14が
記憶部11の第1列のシフトレジスタ118.を指定す
るから、入力制御部12の設定と合わせると、第1列の
シフトレジスタ11,1にデータの書込が行われること
になる。モード信号MODEと、2ビツトカウンタ17
の出力Q。、Qlとを組み合わせると、記憶部11は次
表のように指定される。
When the mode signal MODE is 0, the overall control unit 14 controls the first column shift register 118 . Since this is specified, when combined with the settings of the input control unit 12, data will be written to the shift registers 11, 1 in the first column. Mode signal MODE and 2-bit counter 17
The output Q. , Ql, the storage unit 11 is specified as shown in the following table.

一方、出力制御部13は、4対1のマルチプレクサが8
個、2対1のマルチプレクサが4個で構成されている。
On the other hand, the output control section 13 has 8 4-to-1 multiplexers.
It consists of four 2-to-1 multiplexers.

出力制御部13は、全体制御部14と同様に、モード信
号MODEと2ビツトカウンタ17の出力とにより制御
されるのであって、モード信号MODEにより2対1の
マルチプレクサが制御され、2ビツトカウンタ17の出
力により4対1のマルチプレクサが制御されている。4
対1のマルチプレクサの入力端を第3図中の上から入力
端をA、B、C,Dとすれば、2ビツトカウンタ17の
出力値の00→11に対応して、A−Dとなるように設
定されている。また、2対1のマルチプレクサについて
は、第3図中の上から入力端A。
The output control section 13, like the overall control section 14, is controlled by the mode signal MODE and the output of the 2-bit counter 17.The mode signal MODE controls the 2-to-1 multiplexer, A 4-to-1 multiplexer is controlled by the output of . 4
If the input terminals of the pair-one multiplexer are A, B, C, and D from the top in FIG. It is set as follows. For a 2-to-1 multiplexer, the input terminal A from the top in FIG.

Bとすれば、モード信号MODEが1のときにA、モー
ド信号MODEが0のときにBが選択されるようになっ
ている。したがって、2ビツトカウンタ17の出力値が
00であれば、記憶部11の第1行または第1列からの
読出が可能となっており、さらに、モード信号MODE
が1であれば、第1行、モード信号MODEが0であれ
ば、第1列が選択され、出力端0tlT 、〜01lT
、からデータの読出が行われるのである。つまり、上表
と同じ選択が行われるのである。
If B is selected, A is selected when the mode signal MODE is 1, and B is selected when the mode signal MODE is 0. Therefore, if the output value of the 2-bit counter 17 is 00, reading from the first row or first column of the storage section 11 is possible, and furthermore, the mode signal MODE
If the mode signal MODE is 1, the first row is selected, and if the mode signal MODE is 0, the first column is selected, and the output terminals 0tlT, ~01lT
, data is read from. In other words, the same selections as in the table above are made.

以上の動作をまとめると、まず、第4図(a)のように
、記憶部11の第1行が選択されているとすると、各シ
フトレジスタ11□〜1114に対して同時にデータの
書込が行われる。このとき、読出ら行われるが、初めは
記憶部11に有効なデータが記憶されていないから無視
される。10個のクロック信号CLOCKにより第1行
のデータの書込が終了すると、2ビツトカウンタ17の
出力が01になり、第4図(b)のように第2行のデー
タの書込が行われる。こうして、第4行までデータの書
込が終了すると、モード信号MODEが切り換えられ、
第4図(c)のように第1列が選択され、書込と同時に
読出が行われる。こうして、第4図(d)のように第4
列までの書込が終了すると、第4図(e)のように、再
び第1行が選択される。ここに、行方向の選択状態でデ
ータが書き込まれた部位を斜線で示している。このよう
にして、行方向で書込を行ったデータに対して列方向で
の読出を行うから、行変換器1で(i、j)として出力
された行列要素は、列変換器2では(j、i)の行列要
素として読出を行うことになり、転置行列を得ることに
なるのである6また、書込と読出とが同時に行われてい
るから、行変換器1と列変換器2とが同時に動作し、並
行処理が可能となってパイプライン化できるのである。
To summarize the above operations, first, if the first row of the storage section 11 is selected as shown in FIG. It will be done. At this time, the data is read out, but since no valid data is stored in the storage unit 11 at first, it is ignored. When the writing of the first row data is completed by the 10 clock signals CLOCK, the output of the 2-bit counter 17 becomes 01, and the writing of the second row data is performed as shown in FIG. 4(b). . In this way, when writing of data up to the fourth row is completed, the mode signal MODE is switched,
As shown in FIG. 4(c), the first column is selected and reading is performed simultaneously with writing. In this way, the fourth
When writing up to the column is completed, the first row is selected again as shown in FIG. 4(e). Here, the portion where data is written in the selected state in the row direction is indicated by diagonal lines. In this way, the data written in the row direction is read out in the column direction, so the matrix element output as (i, j) in the row converter 1 is converted into (i, j) in the column converter 2. j, i), and a transposed matrix is obtained.6 Also, since writing and reading are performed at the same time, row converter 1 and column converter 2 They operate at the same time, allowing parallel processing and pipelining.

すなわち、11077分の記憶容量で、高速な処理が可
能となるのである。
In other words, high-speed processing is possible with a storage capacity of 11,077 minutes.

[発明の効果] 本発明は上述のように、行変換器の出力の1ブロック分
の演算結果を記憶できる容量を有した記憶部と、1ブロ
ック分を処理する毎に記憶部への書込方向を行方向と列
方向とに交互に切り換える入力制御部と、1ブロック分
を処理する毎に記憶部からの読出方向を行方向と列方向
とに交互に切り換える出力制御部と、入力制御部を介し
て行方向と列方向とのいずれか一方向で書込をしたデー
タを出力制御部を介して他方向で読出をするとともに、
読出が終了した領域に入力制御部を介して上記他方向か
ら書込を行うように制御する全体制御部とを備えている
ものであり、列変換器による読出が終了して空いている
領域に行変換器の演算結果を順次書き込むから、記憶領
域の利用にむだがなく、1ブロック分程度の記憶容量が
あれば、パイプライン処理が可能になって、高速動作が
期待できるのである。
[Effects of the Invention] As described above, the present invention includes a storage unit having a capacity to store the calculation results for one block of the output of the row converter, and a storage unit that writes data to the storage unit each time one block is processed. an input control unit that alternately switches the direction between the row direction and the column direction; an output control unit that alternately switches the reading direction from the storage unit between the row direction and the column direction each time one block is processed; and an input control unit. The data written in either the row direction or the column direction is read out in the other direction via the output control section.
The system is equipped with an overall control section that controls writing from the other direction to the area where reading has been completed via the input control section, and writes to the empty area after reading by the column converter has been completed. Since the calculation results of the row converter are written sequentially, the storage area is not wasted, and if the storage capacity is about one block, pipeline processing becomes possible and high-speed operation can be expected.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の実施例1を示すブロック図、第2図(
a)〜(e)は同上の動作説明図、第3図は本発明の実
施例2を示す回路図、第41)m(a)〜(e)は同上
の動作説明図、第5図(a)(b)は本発明に係る行列
要素転置装置の動作原理説明図、第6図は従来例を示す
ブロック図である。 1・・・記憶部、2・・・アドレスカウンタ、3.4・
・・マルチプレクサ、5・・・入力デコーダ、11・・
・記憶部、12・・・入力制御部、13・・・出力制御
部、14・・・シフト信号発生部、15・・・全体制御
部、21・・・行変換器、22・・・列変換器。 代理人 弁理士 石 1)長 七 第1図 1・・・記憶部 2・・・アドレスカウンタ 3.11・・・マルチプレクサ 5・・・入力デコーダ 第2図 (a) (b) 第2図 第2図 (d) 第4 図(a) 第4図 (C) 第5 図 CG) (b) ■ /y′J轄迅へ 第4図(e) 第6図 CLOCに
FIG. 1 is a block diagram showing Embodiment 1 of the present invention, and FIG. 2 (
a) to (e) are explanatory diagrams of the same operation as above, FIG. a) and (b) are diagrams explaining the operating principle of the matrix element transposition device according to the present invention, and FIG. 6 is a block diagram showing a conventional example. 1...Storage unit, 2...Address counter, 3.4.
...Multiplexer, 5...Input decoder, 11...
-Storage unit, 12...Input control unit, 13...Output control unit, 14...Shift signal generation unit, 15...Overall control unit, 21...Row converter, 22...Column converter. Agent Patent Attorney Ishi 1) Chief 7 Fig. 1 1...Storage unit 2...Address counter 3.11...Multiplexer 5...Input decoder Fig. 2 (a) (b) Fig. 2 Figure 2 (d) Figure 4 (a) Figure 4 (C) Figure 5 CG) (b) ■ To /y'J control figure 4 (e) Figure 6 CLOC

Claims (1)

【特許請求の範囲】[Claims] (1)行列表現されるデータのブロックに対して2次元
直交変換を行う行列演算器を行変換器および列変換器と
ともに構成し、行変換器と列変換器との間に挿入されて
行変換器の演算結果から転置行列を作成する行列要素転
置装置において、行変換器の出力の1ブロック分の演算
結果を記憶できる容量を有した記憶部と、1ブロック分
を処理する毎に記憶部への書込方向を行方向と列方向と
に交互に切り換える入力制御部と、1ブロック分を処理
する毎に記憶部からの読出方向を行方向と列方向とに交
互に切り換える出力制御部と、入力制御部を介して行方
向と列方向とのいずれか一方向で書込をしたデータを出
力制御部を介して他方向で読出をするとともに、読出が
終了した領域に入力制御部を介して上記他方向から書込
を行うように制御する全体制御部とを具備して成ること
を特徴とする行列要素転置装置。
(1) A matrix operator that performs two-dimensional orthogonal transformation on a block of data expressed in a matrix is configured together with a row transformer and a column transformer, and is inserted between the row transformer and column transformer to perform row transformation. In a matrix element transposition device that creates a transposed matrix from the calculation results of a row converter, there is a storage unit that has a capacity to store the calculation results of one block of the output of the row converter, and a storage unit that stores the calculation results of one block of the output of the row converter. an input control unit that alternately switches the write direction of the storage unit between the row direction and the column direction; and an output control unit that alternately switches the read direction from the storage unit between the row direction and the column direction each time one block is processed. The data written in either the row direction or the column direction via the input control section is read out in the other direction via the output control section, and the data is written to the area where the reading has been completed via the input control section. A matrix element transposition device comprising: an overall control section that controls writing from the other direction.
JP63177319A 1988-07-15 1988-07-15 Matrix element transposing device Pending JPH0226476A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63177319A JPH0226476A (en) 1988-07-15 1988-07-15 Matrix element transposing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63177319A JPH0226476A (en) 1988-07-15 1988-07-15 Matrix element transposing device

Publications (1)

Publication Number Publication Date
JPH0226476A true JPH0226476A (en) 1990-01-29

Family

ID=16028904

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63177319A Pending JPH0226476A (en) 1988-07-15 1988-07-15 Matrix element transposing device

Country Status (1)

Country Link
JP (1) JPH0226476A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1176550A1 (en) * 2000-07-27 2002-01-30 STMicroelectronics S.r.l. Method for storing data in a memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS599572A (en) * 1982-07-07 1984-01-18 Hitachi Ltd Controlling method of two-dimensional image memory
JPS62267168A (en) * 1986-05-15 1987-11-19 Fuji Xerox Co Ltd Apparatus for transposition processing of matrix data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS599572A (en) * 1982-07-07 1984-01-18 Hitachi Ltd Controlling method of two-dimensional image memory
JPS62267168A (en) * 1986-05-15 1987-11-19 Fuji Xerox Co Ltd Apparatus for transposition processing of matrix data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1176550A1 (en) * 2000-07-27 2002-01-30 STMicroelectronics S.r.l. Method for storing data in a memory

Similar Documents

Publication Publication Date Title
US5331585A (en) Orthogonal transformation processor for compressing information
US5299321A (en) Parallel processing device to operate with parallel execute instructions
JP2690932B2 (en) Digital signal processor and digital signal processor system
KR20100029179A (en) A circuit for compressing data and a processor employing same
JPS6247786A (en) Exclusive memory for adjacent image processing
JPS6214133B2 (en)
JPH0496172A (en) Data storing system, vector data buffer device, and vector data processor
US5359549A (en) Orthogonal transformation processor for compressing information
JPH0226476A (en) Matrix element transposing device
JPS63244245A (en) Multidimensional memory device capable of parallel access
JP2851804B2 (en) 2D orthogonal transform device
JPH1074141A (en) Signal processing device
JP3092526B2 (en) 2D inverse discrete cosine transform circuit
JP2002269067A (en) Matrix arithmetic unit
JPH0226477A (en) Matrix element transposing device
JP2811924B2 (en) Data stirrer
JPH02148237A (en) Method of storing and operating block of data
JPH1063647A (en) Matrix arithmetic unit
JP2610887B2 (en) Image data rotation processor
JP2855899B2 (en) Function memory
JPH02100577A (en) Discrete cosine converting device
JP2528998B2 (en) Scan converter control circuit
JPH0743698B2 (en) Parallel data processor
JP3107595B2 (en) Memory access control device and memory access control method
JPH09153030A (en) Two-dimensional discrete cosine transformation circuit