JPH1074141A - Signal processor - Google Patents

Signal processor

Info

Publication number
JPH1074141A
JPH1074141A JP23003096A JP23003096A JPH1074141A JP H1074141 A JPH1074141 A JP H1074141A JP 23003096 A JP23003096 A JP 23003096A JP 23003096 A JP23003096 A JP 23003096A JP H1074141 A JPH1074141 A JP H1074141A
Authority
JP
Japan
Prior art keywords
data
signal processing
processing device
arithmetic unit
input
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
JP23003096A
Other languages
Japanese (ja)
Inventor
Jiro Miyake
二郎 三宅
Genichiro Inoue
源一郎 井上
Junichi Yano
純一 矢野
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 Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP23003096A priority Critical patent/JPH1074141A/en
Publication of JPH1074141A publication Critical patent/JPH1074141A/en
Pending legal-status Critical Current

Links

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

PROBLEM TO BE SOLVED: To process the data of two-dimensional blocks with high efficiency by using an input data replacement means which performs the vertical-horizontal rearrangement of input data in every prescribed number of them to set the data bits in the horizontal direction and to arrange the block data in the vertical direction respectively. SOLUTION: An input data replacement circuit 8 outputs the block data to a data input register 1 and at the same time the next block data are successively given to the circuit 8. Then the input data undergo the vertical-horizontal rearrangement and are outputted to the register 1. At the same time, the write addresses of the register 1 are increased one by one, and 8 pieces of data on the first line of a block are stored in addresses 16 to 23 of the register 1. In other words, a horizontal 8-bit space is secured between two blocks and no data are written in this space. Therefore, 0 is held in the space secured between both blocks as long as the data stored in the register 1 are previously initialized into 0.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はビデオ信号などをプ
ログラムに従ってデジタル処理する信号処理装置、特
に、2次元ブロックデータの処理を可能にする信号処理
装置に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a signal processing device for digitally processing a video signal or the like according to a program, and more particularly to a signal processing device capable of processing two-dimensional block data.

【0002】[0002]

【従来の技術】テレビ信号などのビデオ信号をデジタル
処理するプログラマブルなプロセッサとして、1ビット
ALU(算術論理演算装置)を1ラインの画素数設け、
同一の命令で1ラインの全画素のデータに対して同時に
同じ処理を行うSIMD(Single Instruction-stream M
ultiple Data-stream)方式のプロセッサが知られている
(例えば、「Jim Childers, et al "SVP: Serial Video
Processor", IEEE Custom Integrated Circuits Confe
rence 17.3 , 1990」などに開示されているプロセッ
サ)。
2. Description of the Related Art As a programmable processor for digitally processing a video signal such as a television signal, a 1-bit ALU (arithmetic logic unit) is provided with the number of pixels per line.
SIMD (Single Instruction-stream M) that performs the same processing on the data of all pixels in one line at the same time with the same instruction
ultiple data-stream) processor (for example, "Jim Childers, et al" SVP: Serial Video
Processor ", IEEE Custom Integrated Circuits Confe
rence 17.3, 1990 ").

【0003】このプロセッサは、1ビットALUと2つ
のレジスタファイルを備えたプロセッサエレメントを1
ラインの画素数備えたもので、1ラインの画素データを
レジスタファイルに格納し、各プロセッサエレメント
は、2つのレジスタファイルからそれぞれ1ビットのデ
ータを読み出し、1ビットの演算を実行し、演算結果の
データをいずれかのレジスタファイルへ格納する。全プ
ロセッサエレメントには同一の命令が与えられるので、
1ラインの全画素データに対して同じ1ビットの処理が
行われる。この1ビットの処理を繰り返し実行すること
により、フィルタ処理など必要な処理を実現する。ま
た、このプロセッサには、左右のプロセッサエレメント
のレジスタファイルのデータを取り込む左右通信機能を
備えており、水平方向のいくつかの画素データを用いた
水平フィルタ処理を行うこともできる。
This processor includes a processor element having a 1-bit ALU and two register files.
With the number of pixels of a line, one line of pixel data is stored in a register file, and each processor element reads 1-bit data from each of the two register files, executes a 1-bit operation, and executes a 1-bit operation. Store the data in one of the register files. Since the same instruction is given to all processor elements,
The same 1-bit processing is performed on all the pixel data of one line. By repeatedly executing the one-bit process, necessary processes such as a filter process are realized. Further, this processor has a left-right communication function of taking in the data of the register files of the left and right processor elements, and can perform a horizontal filtering process using some pixel data in the horizontal direction.

【0004】ところが、画像の圧縮、伸張処理で用いら
れる2次元DCT(離散的コサイン変換)や逆DCT処
理では、2次元ブロック単位の処理であり、積和演算が
主な処理であるが、ブロック内の画素位置によって乗算
の係数が異なり、1ラインの全画素データに対して同じ
処理を行うプロセッサでは実現できない。
However, two-dimensional DCT (discrete cosine transform) and inverse DCT processing used in image compression and decompression processing are processing in units of two-dimensional blocks, and the product-sum operation is the main processing. The multiplication coefficient differs depending on the pixel position in the above, and cannot be realized by a processor that performs the same processing on all the pixel data of one line.

【0005】これに対して、例えば、特開平5−226
29号のビデオ信号用プロセッサでは、入力ビデオ信号
を直列・並列変換する手段を設け、直列・並列変換した
データを入力シフトレジスタへ一旦格納した後、2次元
ブロックのデータをメモリの縦一列に配置することによ
りブロック内の任意のデータに対して演算ができるとし
た。
On the other hand, for example, Japanese Unexamined Patent Publication No.
In the video signal processor of No. 29, a means for converting the input video signal into serial / parallel is provided, and the data obtained by serial / parallel conversion is temporarily stored in the input shift register, and then the data of the two-dimensional block is arranged in one column in the memory. By doing so, calculations can be performed on arbitrary data in the block.

【0006】[0006]

【発明が解決しようとする課題】しかしながら上記のよ
うな構成では、例えば1ブロックのライン方向の画素数
をNとすると、N個の画素データを縦一列に配置するた
め、1ラインの全画素に同一処理を行う場合と比べ、横
幅が1/Nになり、ALUの個数も1/Nとなり、1つのAL
Uでライン方向N画素のデータの処理を行うため、演算
性能が著しく低下するという問題点を有していた。
However, in the above configuration, if the number of pixels in the line direction of one block is N, for example, N pieces of pixel data are arranged in one column, so that all pixels in one line Compared to the case where the same processing is performed, the width becomes 1 / N and the number of ALUs becomes 1 / N.
Since the processing of the data of N pixels in the line direction is performed by U, there is a problem that the calculation performance is significantly reduced.

【0007】また、入力シフトレジスタは縦方向のビッ
ト数がN倍になり、入力シフトレジスタからメモリへの
転送に要するする時間もN倍になり、処理能力が低下す
るという問題点を有してした。
Further, the input shift register has a problem that the number of bits in the vertical direction becomes N times, the time required for transfer from the input shift register to the memory becomes N times, and the processing performance is reduced. did.

【0008】さらに、1ラインの全画素に同一処理を行
う場合と、ブロック単位の処理を行う場合で、メモリの
縦横の比やALUの個数が大きく異なることになり、こ
れらの処理に対して同じ構成のものを共有することが困
難であるという問題点を有していた。
Further, the ratio of the length and width of the memory and the number of ALUs differ greatly between the case where the same processing is performed on all the pixels of one line and the case where the processing is performed on a block basis. There was a problem that it was difficult to share the components.

【0009】従って本発明は上記問題点に鑑み、その目
的は、SIMD方式で処理を行う複数の演算器を備え、
2次元ブロックのデータに対する処理を効率よく実現す
る信号処理装置を提供することにある。
[0009] Accordingly, the present invention has been made in view of the above problems, and has as its object to provide a plurality of arithmetic units for performing processing in the SIMD method,
An object of the present invention is to provide a signal processing device that efficiently realizes processing on data of a two-dimensional block.

【0010】[0010]

【課題を解決するための手段】上記問題点を解決するた
めに本発明の信号処理装置は、入力データを所定のデー
タ数毎に、縦横並び換えを行い出力する入力データ置換
手段と、前記入力データ置換手段から出力されたデータ
を縦一列単位で連続して格納し、格納したデータを横一
行単位で読み出す入力データレジスタと、複数のデータ
を格納するメモリと、複数の入力に対して演算を行う演
算器アレイ部と、データを横一行単位で書き込み、格納
したデータを縦一列単位で連続して読み出す出力データ
レジスタと、前記出力データレジスタから読み出された
データを所定のデータ数毎に、縦横並び換えを行い出力
する出力データ置換手段とを備え、前記演算器アレイ部
は前記メモリから読み出した複数のデータを入力として
演算を行い、前記メモリは前記入力データレジスタから
読み出したデータあるいは演算器アレイ部の出力を格納
し、前記出力データレジスタは前記メモリから読み出し
たデータあるいは前記演算器アレイ部の出力を書き込む
ものである。
In order to solve the above-mentioned problems, a signal processing apparatus according to the present invention comprises an input data replacing means for rearranging input data by a predetermined number of data and outputting the sorted data; An input data register that continuously stores data output from the data replacement means in a vertical column unit and reads the stored data in a horizontal row unit, a memory for storing a plurality of data, and performs an operation on a plurality of inputs. An arithmetic unit array unit to perform, data to be written in units of horizontal rows, an output data register to read stored data continuously in units of vertical columns, and data read from the output data registers to be read out by a predetermined number of data, Output data replacing means for performing vertical and horizontal rearrangement and outputting the data, the arithmetic unit array unit performs an arithmetic operation by using a plurality of data read from the memory as an input, Mori stores the output of the read data or arithmetic unit array unit from the input data register, the output data register is one to write the output of the read from memory data or the operation unit array unit.

【0011】本発明は上記構成により、2次元ブロック
のデータに対し、ビット方向を横にして、同一ブロック
のデータをメモリの縦方向に配置し、演算器アレイ部に
よって各ブロックの処理を並列に行うという作用を有す
る。これにより、2次元ブロックのデータに対する処理
を効率よく行う信号処理装置が得られる。
According to the present invention, the data of the same block is arranged in the vertical direction of the memory with the bit direction horizontal to the data of the two-dimensional block, and the processing of each block is performed in parallel by the arithmetic unit array unit. It has the effect of doing. As a result, a signal processing device that efficiently processes data of the two-dimensional block can be obtained.

【0012】[0012]

【発明の実施の形態】以下、本発明の実施の形態につい
て、図面を参照しながら説明する。
Embodiments of the present invention will be described below with reference to the drawings.

【0013】(実施の形態1)図1は本発明の実施の形
態1における信号処理装置のブロック図である。
(Embodiment 1) FIG. 1 is a block diagram of a signal processing apparatus according to Embodiment 1 of the present invention.

【0014】図1において、1は連続して与えられるデ
ータを縦一列単位で順番にHワード格納し、格納したデ
ータを横一行単位でHビットのデータを読み出すデータ
入力レジスタである。
In FIG. 1, reference numeral 1 denotes a data input register for storing successively applied data in units of H words in units of one column and reading out the stored data in units of one row.

【0015】2および6は、データ入力レジスタ1から
読み出したデータおよび演算結果のデータを保持するメ
モリであり、それぞれ、横にHビット、縦にVワードの
データを格納する。読み出しおよび書き込みは横一行単
位で行われる。
Reference numerals 2 and 6 denote memories for holding the data read from the data input register 1 and the data of the operation result, and store H-bit data horizontally and V-word data vertically. Reading and writing are performed on a horizontal row basis.

【0016】3および5は、それぞれ、メモリ2および
6から読み出されたデータをシフトして出力するシフタ
である。
Reference numerals 3 and 5 denote shifters which shift and output data read from the memories 2 and 6, respectively.

【0017】4はシフタ3、5から出力されるデータに
対して演算を行い、結果をメモリ2および6に出力する
演算器アレイ部である。
Numeral 4 denotes an arithmetic unit array unit which performs an arithmetic operation on the data output from the shifters 3 and 5, and outputs the result to the memories 2 and 6.

【0018】7は、演算器アレイ部4の出力あるいはメ
モリ2、6から読み出されたHビットのデータを横一行
単位で書き込み、縦一列単位で順番にHワード読み出し
て出力する出力データレジスタである。
Reference numeral 7 denotes an output data register for writing the output of the arithmetic unit array section 4 or the H-bit data read from the memories 2 and 6 in units of horizontal rows and reading and outputting H words in units of vertical columns in order. is there.

【0019】8は入力されたデータを縦横並び換えるか
あるいはそのまま、データ入力レジスタへ出力する入力
データ置換回路である。
Reference numeral 8 denotes an input data replacement circuit that rearranges the input data vertically or horizontally or outputs the data as it is to the data input register.

【0020】9は出力データレジスタ7から出力された
データを縦横並び換えるかあるいはそのまま、出力する
出力データ置換回路である。
Reference numeral 9 denotes an output data replacement circuit that rearranges the data output from the output data register 7 vertically or horizontally or outputs the data as it is.

【0021】10は、プログラムにしたがって、メモリ
2、6の読み出しおよび書き込みや、シフタ3、5のシ
フト量の制御や、演算器アレイ部4の演算の制御などを
行うプログラム制御部である。
Reference numeral 10 denotes a program control unit for reading and writing the memories 2 and 6, controlling the shift amounts of the shifters 3 and 5, controlling the operation of the arithmetic unit array unit 4, and the like in accordance with the program.

【0022】DCT処理では1画面をいくつかの2次元
ブロックに分け、ブロック単位で処理を行う。たとえ
ば、図2に示すように、ブロックのサイズを水平8画
素、垂直8ラインとすると、1ブロックはデータd0から
データd63までの64個のデータからなり、この1ブロ
ックの64個の画素データを用いてDCT処理を行う。
In the DCT processing, one screen is divided into several two-dimensional blocks, and processing is performed in block units. For example, as shown in FIG. 2, when the size of a block is 8 pixels in the horizontal direction and 8 lines in the vertical direction, one block is composed of 64 data from data d0 to data d63. To perform DCT processing.

【0023】入力データ置換回路8によって入力データ
を縦横並び換えてデータ入力レジスタ1へ書き込む動作
を説明する。ブロックサイズは水平8画素、垂直8ライ
ンとする。図3は入力データ置換回路8の入力と出力の
タイミングを示す図である。
An operation in which input data is rearranged vertically and horizontally by the input data replacing circuit 8 and written into the data input register 1 will be described. The block size is 8 pixels horizontally and 8 lines vertically. FIG. 3 is a diagram showing the input and output timings of the input data replacement circuit 8.

【0024】1ラインの画素データが順に、クロック信
号CLKに同期して入力データ置換回路8の入力IN[7]〜IN
[0]に与えられる。入力される各データは8ビットで構
成され、8ビットが並列に入力される。従って、ビット
パラレル・ワードシリアルに入力されると言うことがで
きる。入力されるデータは8画素毎に異なるブロックの
データとなる。
One line of pixel data is sequentially input to the inputs IN [7] -IN of the input data replacement circuit 8 in synchronization with the clock signal CLK.
Given to [0]. Each input data is composed of 8 bits, and 8 bits are input in parallel. Therefore, it can be said that the data is input in a bit parallel word serial manner. The input data is data of a different block for every eight pixels.

【0025】入力データ置換回路8は最初のブロックBL
K0の1ライン目の8個の8ビットデータd0〜d7が入力IN
に入力されると、それぞれのデータをシリアルデータに
変換し、最上位ビットd0[7], d1[7], ... , d7[7]から
順に8個のデータについて1ビットずつ出力し、データ
入力レジスタ1の入力DIN[0]〜DIN[7]に与える。即ち、
ビットシリアル・ワードパラレルに変換されて出力され
る。言い換えると、縦にデータのビットの並び、横にワ
ードの並びとして入力されたデータが、横にビットの並
び、縦にワードの並びというふうに、縦横並び換えられ
て出力される。
The input data replacing circuit 8 is configured to input the first block BL
Eight 8-bit data d0 to d7 on the first line of K0 are input IN
, Each data is converted to serial data, and eight bits of data are output one bit at a time in order from the most significant bit d0 [7], d1 [7],..., D7 [7]. It is given to the inputs DIN [0] to DIN [7] of the data input register 1. That is,
It is converted into bit serial and word parallel and output. In other words, data input as a data bit arrangement vertically and a word arrangement horizontally is rearranged vertically and horizontally, such as a bit arrangement horizontally and a word arrangement vertically, and is output.

【0026】データ入力レジスタ1の書き込みアドレス
は0から1ずつ増加され、書き込みアドレスで指定され
る番地に入力DINに与えられたデータが格納される。従
って、0番地から7番地に、最初のブロックBLK0の最初
のラインの8個のデータが格納される。
The write address of the data input register 1 is incremented by one from 0, and the data given to the input DIN is stored at the address specified by the write address. Therefore, the eight data of the first line of the first block BLK0 are stored at addresses 0 to 7.

【0027】入力データ置換回路8がブロックBLK0のデ
ータをデータ入力レジスタ1に出力するのと並行して、
次のブロックBLK1のデータd0〜d7が順に入力データ置換
回路8に与えられる。ブロックBLK1の8個のデータd0〜
d7の入力が終わると、同様に、縦横並び換えが行われ、
データ入力レジスタ1に出力される。この時、データ入
力レジスタ1の書き込みアドレスは16から1ずつ増加
される。従って、ブロックBLK1の最初のラインの8個の
データはデータ入力レジスタ1の16番地から23番地
に格納される。つまり、2つのブロックの間に、横方向
8ビットの空間があけられる。このブロック間の空間に
は書き込みが行われないので、データ入力レジスタ1の
データを予め0に初期化しておくと、ブロック間の空間
には0が保持されることになる。
In parallel with the input data replacing circuit 8 outputting the data of the block BLK0 to the data input register 1,
Data d0 to d7 of the next block BLK1 are sequentially supplied to the input data replacement circuit 8. Eight data d0 ~ of block BLK1
When the input of d7 is completed, vertical and horizontal sorting is performed in the same way,
Output to the data input register 1. At this time, the write address of the data input register 1 is incremented from 16 by one. Therefore, the eight data of the first line of the block BLK1 are stored at addresses 16 to 23 of the data input register 1. That is, a space of 8 bits in the horizontal direction is provided between the two blocks. Since writing is not performed in the space between the blocks, if the data of the data input register 1 is initialized to 0 in advance, 0 is held in the space between the blocks.

【0028】ブロックBLK2以降も同様にしてデータの格
納が行われる。1ライン分のデータがデータ入力レジス
タ1に格納されると、このデータをメモリ2またはメモ
リ6へ転送する。転送は、一度に、データ入力レジスタ
1の横1行分のデータを読み出し、メモリ2またはメモ
リ6へ格納する。つまり、1回で、全ブロックのデータ
d0が転送され、次に全ブロックのデータd1が転送され、
これを繰り返し、8回の転送で、1ラインの全ブロック
のデータが転送される。
Data storage is performed in a similar manner for the blocks BLK2 and thereafter. When one line of data is stored in the data input register 1, this data is transferred to the memory 2 or the memory 6. In the transfer, data of one row in the data input register 1 is read at a time and stored in the memory 2 or the memory 6. That is, once, the data of all blocks
d0 is transferred, then data d1 of all blocks is transferred,
This is repeated, and data of all blocks in one line is transferred by eight transfers.

【0029】データ入力レジスタ1からメモリ2または
6への転送が終了すると、次のラインのデータが入力デ
ータ置換回路8に与えられる。
When the transfer from the data input register 1 to the memory 2 or 6 is completed, the data of the next line is supplied to the input data replacing circuit 8.

【0030】これらの処理を8ライン分繰り返すと、メ
モリ2または6には、図4に示すように、縦方向に同一
のブロックのd0からd63の64個の画素データが最上位
ビット(MSB)から最下位ビット(LSB)への向きを横にして
格納される。ブロックとブロックの間には横方向に8ビ
ット分、値0が埋められる。
When these processes are repeated for eight lines, the memory 2 or 6 stores 64 pixel data of d0 to d63 of the same block in the vertical direction in the most significant bit (MSB) as shown in FIG. Is stored with the direction from the least significant bit (LSB) to the side. A value of 0 is embedded in the horizontal direction between the blocks for 8 bits.

【0031】この例では、データ入力レジスタ1に格納
する2つのブロック間に値0を挿入するために、1つの
ブロックのデータの格納後、書き込みアドレスを0を挿
入するビット数だけ増加させたが、書き込みアドレスを
1ずつ増加しながら0を書き込むようにしてもよい。こ
の場合、データが入力データ置換回路8に入力される周
波数より高い周波数でデータ入力レジスタ1にデータの
書き込みが行われる。
In this example, in order to insert a value 0 between two blocks stored in the data input register 1, after storing data of one block, the write address is increased by the number of bits for inserting 0s. Alternatively, 0 may be written while increasing the write address by one. In this case, data is written to the data input register 1 at a frequency higher than the frequency at which data is input to the input data replacement circuit 8.

【0032】図5は入力データ置換回路8の構成を示す
ブロック図である。図5において、30はセレクタ付き
フリップフロップであり、2つの入力D1、D2のいず
れかを選択し、クロック信号に同期して選択したデータ
を取り込み、出力Qから出力する。31は制御回路であ
り、フリップフロップ30の入力の選択やデータ入力レ
ジスタ1への出力の選択を制御する制御信号32および
データ入力レジスタ書き込みアドレス33を生成する。
なお、クロック信号はこの図では省略されている。
FIG. 5 is a block diagram showing the structure of the input data replacement circuit 8. In FIG. 5, reference numeral 30 denotes a flip-flop with a selector, which selects one of two inputs D1 and D2, takes in the selected data in synchronization with a clock signal, and outputs it from an output Q. A control circuit 31 generates a control signal 32 for controlling selection of an input of the flip-flop 30 and selection of an output to the data input register 1 and a data input register write address 33.
Note that the clock signal is omitted in this figure.

【0033】制御回路31の制御信号32によって、入
力IN[7]〜IN[0]に与えられた8ビットのデータは、2次
元アレイ状に配置されたフリップフロップ30の左端に
与えられ、データが取り込まれる毎に右へシフトされ
る。8個のデータが取り込まれると、制御信号32が切
り替わり、入力データはフリップフロップ30のアレイ
の下端から取り込まれ、データが取り込まれる毎に上へ
シフトされる。この時、最上段の8個のフリップフロッ
プ30の出力Qがデータ入力レジスタ1の入力DINへ出
力される。下端から8個のデータが取り込まれると、制
御信号32が切り替わり、入力データは再び、フリップ
フロップ30のアレイの左端から取り込まれ、右へシフ
トされる。この時、右端の8個のフリップフロップ30
の出力Qがデータ入力レジスタ1の入力DINへ出力され
る。8個のデータ毎に制御信号32を切り替えることに
より、ブロック毎にビットパラレル・ワードシリアルの
データをビットシリアル・ワードパラレルのデータへの
並び換え、即ち、縦横並び換えを行うことができる。デ
ータ入力レジスタ書き込みアドレス33は8個のデータ
をデータ入力レジスタ1へ格納する毎に、0を挿入する
ビット数だけ増加される。
The 8-bit data given to the inputs IN [7] to IN [0] by the control signal 32 of the control circuit 31 is given to the left end of the flip-flops 30 arranged in a two-dimensional array. Is shifted to the right each time is taken. When eight data are captured, the control signal 32 switches, and the input data is captured from the lower end of the array of flip-flops 30 and is shifted upwards each time data is captured. At this time, the output Q of the top eight flip-flops 30 is output to the input DIN of the data input register 1. When eight data are taken in from the lower end, the control signal 32 switches, and the input data is taken in again from the left end of the array of flip-flops 30 and shifted to the right. At this time, the rightmost eight flip-flops 30
Is output to the input DIN of the data input register 1. By switching the control signal 32 for every eight data, it is possible to rearrange bit-parallel / word-serial data into bit-serial / word-parallel data for each block, that is, perform vertical / horizontal rearrangement. The data input register write address 33 is increased by the number of bits for inserting 0 each time eight data are stored in the data input register 1.

【0034】また、図には示していないが、2次元ブロ
ック単位で処理を行わない場合は、入力データ置換回路
8は入力データをそのまま出力する。
Although not shown in the figure, when processing is not performed in units of two-dimensional blocks, the input data replacing circuit 8 outputs the input data as it is.

【0035】このようして、メモリ2に配置されたブロ
ックのデータに対して、シフタ3および演算器アレイ部
4を用いて演算を行う場合の動作を説明する。
The operation in the case where the arithmetic operation is performed on the data of the block arranged in the memory 2 by using the shifter 3 and the arithmetic unit array unit 4 will be described.

【0036】例えば、各ブロック内の8つのデータd0〜
d7にそれぞれ適当な係数を掛けて加算する積和演算を行
う場合を考える。係数をa0〜a7とすると、積和演算の結
果Sは(数1)で表わされる。
For example, eight data d0-d in each block
Consider a case where a product-sum operation of multiplying d7 by an appropriate coefficient and adding the results is performed. Assuming that the coefficients are a0 to a7, the result S of the product-sum operation is represented by (Equation 1).

【0037】[0037]

【数1】 (Equation 1)

【0038】この演算における乗算はシフトと加算によ
って実現される。例えば、係数a0が3/8の場合、3/8 = 1
/4 + 1/8であるので、a0 x d0は、d0を右へ2ビットシ
フトした値と右へ3ビットシフトした値を加算すること
によって得られる。プログラム制御部10はメモリ2に
データd0のアドレスを与えてデータd0を読み出す。読み
出されたデータd0はシフタ3へ与えられる。プログラム
制御部10はシフタ3へシフト量2を与える。これによ
り、シフタ3はデータd0を右へ2ビットシフトして演算
器アレイ部4へ与える。演算器アレイ部4はシフタ3の
出力をそのままメモリ6へ出力し、プログラム制御部1
0が指定するアドレスへ格納する。次に、プログラム制
御部10は再びメモリ2よりデータd0を読み出す。プロ
グラム制御部10はシフタ3へシフト量3を与え、シフ
タ3はデータd0を右へ3ビットシフトしてアレイ部4へ
与える。同時に、メモリ6からは、データd0を右へ2ビ
ットシフトした値が読み出され、シフタ5を介して演算
器アレイ部4へ与えられる。この場合、シフタ5はメモ
リ6から読み出されたデータをシフトせずそのまま出力
する。演算器アレイ部4はシフタ3およびシフタ5から
与えられた2つのデータ、すなわちデータd0を右へ3ビ
ットシフトしたデータと右へ2ビットシフトしたデータ
を加算し、結果をメモリ6へ格納する。これにより、a0
x d0が得られたことになる。係数a1〜a7に対しても同
様に、データd1〜d7をシフトして、メモリ6のデータに
累算することによって、最終的に、メモリ6に8つのデ
ータに対する積和演算の結果Sが得られる。これらの係
数は、全ブロックに対して同じであるので、メモリ2に
格納されている全ブロックのデータに対して並列に処理
をすることができる。また、シフタ3および演算器アレ
イ部4も、メモリ2から読みだされたNビットのデータ
に対して、同じ処理を行うので、シフタ3および演算器
アレイ部4のビット単位の構成要素に対するプログラム
制御部10からの制御信号は同一のものでよい。
The multiplication in this operation is realized by shifting and adding. For example, if the coefficient a0 is 3/8, 3/8 = 1
Since / 4 + 1/8, a0 * d0 is obtained by adding a value obtained by shifting d0 to the right by 2 bits and a value shifted to the right by 3 bits. The program control unit 10 gives the address of the data d0 to the memory 2 and reads the data d0. The read data d0 is provided to the shifter 3. The program control unit 10 gives the shift amount 2 to the shifter 3. As a result, the shifter 3 shifts the data d0 to the right by 2 bits and supplies the data d0 to the arithmetic unit array unit 4. The arithmetic unit array unit 4 outputs the output of the shifter 3 to the memory 6 as it is, and the program control unit 1
0 is stored in the address specified. Next, the program control unit 10 reads the data d0 from the memory 2 again. The program control unit 10 gives the shift amount 3 to the shifter 3, and the shifter 3 shifts the data d0 to the right by 3 bits and gives it to the array unit 4. At the same time, a value obtained by shifting the data d0 to the right by 2 bits is read from the memory 6 and supplied to the arithmetic unit array unit 4 via the shifter 5. In this case, the shifter 5 outputs the data read from the memory 6 without shifting. Arithmetic unit array unit 4 adds two data provided from shifters 3 and 5, that is, data obtained by shifting data d 0 to the right by 3 bits and data shifted to the right by 2 bits, and stores the result in memory 6. This gives a0
x d0 is obtained. Similarly, by shifting the data d1 to d7 for the coefficients a1 to a7 and accumulating the data in the memory 6, the result S of the product-sum operation for the eight data is finally obtained in the memory 6. Can be Since these coefficients are the same for all blocks, it is possible to process data of all blocks stored in the memory 2 in parallel. Since the shifter 3 and the arithmetic unit array unit 4 also perform the same processing on the N-bit data read from the memory 2, the program control for the bit-wise constituent elements of the shifter 3 and the arithmetic unit array unit 4 is performed. The control signal from the unit 10 may be the same.

【0039】メモリ上のブロックとブロックの間には8
ビットの領域があけられているので、シフト加算を行っ
てデータのビット数が増えても、隣接するブロックのデ
ータ同士がオーバーラップして破壊されることはない。
また、データが上位へオーバーフローする可能性がある
場合には、データの上位ビット側に適当な領域をあけて
データをメモリ上に配置する。
8 between blocks on the memory
Since the bit area is opened, even if the number of bits of the data is increased by performing the shift addition, the data of the adjacent blocks do not overlap and are not destroyed.
If there is a possibility that the data overflows to the upper bit, the data is arranged on the memory with an appropriate area left on the upper bit side of the data.

【0040】図6に演算器アレイ部4の構成の一例を示
す。演算器アレイ部4は、メモリ2および6の出力の各
1ビットに1つずつ、合計H個の演算器ALUから構成
される。
FIG. 6 shows an example of the configuration of the arithmetic unit array section 4. The arithmetic unit array unit 4 includes a total of H arithmetic units ALU, one for each bit of the outputs of the memories 2 and 6.

【0041】各演算器ALUは3つの入力21、22、
23に対して演算を行い、和出力SMとキャリー出力C
Yを出力する。24は選択回路であり、25、26、2
7、28はデータを一時的に保持するラッチである。シ
フタ3および5の出力はそれぞれ、ラッチ25および2
6に取り込まれて入力21および22に与えられる。和
出力SMは、プログラム制御部10の制御により、メモ
リ2または6の指定されたアドレスへ格納される。キャ
リー出力CYはラッチ27あるいは次段のラッチ28に
取り込まれ、選択回路24を介して、自身の演算器AL
Uまたは次段の演算器ALUの入力23に与えられる。
2次元ブロック単位の処理でない場合、即ち、データが
メモリ2または6に垂直方向に配置され、直列データと
して下位ビットから順に同一の演算器ALUへ与えら
れ、加算などの演算を行う場合は、キャリー出力CYは
自身の演算器ALUの入力23に与えられて、下位ビット
から上位ビットへの桁上げ信号として演算に用いられ
る。一方、ブロック単位の演算のように、データがメモ
リ2または6に水平方向に配置され、並列データとして
各ビットが並列に複数の演算器ALUへ与えられる場合
は、キャリー出力CYは左隣の演算器ALUの入力23
に与えられて、下位ビット(右のALU)から上位ビッ
ト(左のALU)への桁上げ信号として演算に用いられ
る。これにより、シフタ3および5から並列データとし
て与えられたデータに対しても加算などの演算を行うこ
とができる。
Each arithmetic unit ALU has three inputs 21, 22,
23 and the sum output SM and carry output C
Outputs Y. 24 is a selection circuit, 25, 26, 2
Latches 7 and 28 temporarily hold data. The outputs of shifters 3 and 5 are connected to latches 25 and 2 respectively.
6 and provided to inputs 21 and 22. The sum output SM is stored at a specified address in the memory 2 or 6 under the control of the program control unit 10. The carry output CY is taken into the latch 27 or the next-stage latch 28, and, via the selection circuit 24, its own arithmetic unit AL
U or the input 23 of the next-stage arithmetic unit ALU.
If the processing is not a two-dimensional block unit, that is, if the data is arranged in the memory 2 or 6 in the vertical direction and given as serial data to the same arithmetic unit ALU in order from the lower bit, and an operation such as addition is performed, carry The output CY is given to the input 23 of its own arithmetic unit ALU, and is used for the operation as a carry signal from the lower bit to the upper bit. On the other hand, when data is arranged in the memory 2 or 6 in the horizontal direction and each bit is provided as parallel data to a plurality of arithmetic units ALU as in the case of a block unit operation, the carry output CY is the left operation ALU input 23
And used as a carry signal from the lower bit (right ALU) to the upper bit (left ALU). As a result, arithmetic operations such as addition can be performed on data given as parallel data from shifters 3 and 5.

【0042】減算は、キャリー信号CYの代わりにボロ
ー信号を選択回路24を介して入力23に与えることで
実現できる。あるいは、演算器ALUの入力21および
22のいずれかに、減数をビット反転して与え、加算を
行い、さらに最下位ビットに1を加算することによって
減算を実現することができる。最下位ビットへの1の加
算は、予めメモリ2または6に最下位ビットの位置を1
にし、その他を0にしたデータを用意しておき、このデ
ータを演算器アレイ部4で加算することで実現できる。
減算の場合は、キャリー信号あるいはボロー信号がブロ
ックを越えて伝播しないように、最下位ビットに対応す
る演算器ALUでは、右側の演算器ALUのキャリー信
号あるいはボロー信号の入力をマスクするようにする。
The subtraction can be realized by giving a borrow signal to the input 23 via the selection circuit 24 instead of the carry signal CY. Alternatively, the subtraction can be realized by applying the subtraction to one of the inputs 21 and 22 of the arithmetic unit ALU in a bit-reversed manner, performing addition, and further adding 1 to the least significant bit. In order to add 1 to the least significant bit, the position of the least significant bit is stored in the memory 2 or 6 in advance.
The data can be realized by preparing data in which the others are set to 0 and adding this data in the arithmetic unit array unit 4.
In the case of subtraction, in the arithmetic unit ALU corresponding to the least significant bit, the input of the carry signal or the borrow signal of the right arithmetic unit ALU is masked so that the carry signal or the borrow signal does not propagate beyond the block. .

【0043】キャリー出力CYを左隣の演算器ALUへ
与える場合、図6では、ラッチ27によってキャリー出
力CYが格納されるため、キャリーの伝播は1ビット分
だけとなる。このため、累算を繰り返した後、最終的に
演算結果を得るためにキャリーを最上位ビットまで伝播
させるためのサイクルが必要になる。このサイクルを少
なくするため、演算器ALUの動作速度に応じて挿入す
るラッチの数を減らしてもよい。例えば、図7に示すよ
うに、ラッチを演算器ALUの1つおきに挿入して、1
サイクルでキャリーが2ビット分伝播するとしてもよ
い。
When the carry output CY is supplied to the arithmetic unit ALU on the left, the carry output CY is stored by the latch 27 in FIG. 6, so that the carry propagates only for one bit. Therefore, after the accumulation is repeated, a cycle for propagating the carry to the most significant bit is required to finally obtain the operation result. To reduce this cycle, the number of latches to be inserted may be reduced according to the operation speed of the arithmetic unit ALU. For example, as shown in FIG. 7, a latch is inserted every other arithmetic unit ALU and 1
A carry may propagate two bits in a cycle.

【0044】図6の例では、加算した結果の和出力SM
はメモリ2または6に一旦格納され、再び読み出され
て、次のデータとの累算に用いられるとしたが、図7に
示すように、和出力SMをメモリ2または6に格納する
代わりに、演算器アレイ部4に設けたラッチ25あるい
は26に直接格納し、演算器ALUの入力21または2
2に与えて、次のデータとの累算を行うとしてもよい。
これにより、パイプライン処理などにより、メモリ2ま
たは6へ書き込んだデータを読み出すのに時間がかかる
場合でも、高速に累算を行うことができる。
In the example of FIG. 6, the sum output SM of the result of the addition is obtained.
Is temporarily stored in the memory 2 or 6, read out again, and used for accumulation with the next data. Instead of storing the sum output SM in the memory 2 or 6 as shown in FIG. Is directly stored in the latch 25 or 26 provided in the arithmetic unit array unit 4 and the input 21 or 2 of the arithmetic unit ALU is stored.
2 and may perform accumulation with the next data.
Thus, even when it takes time to read data written to the memory 2 or 6 due to pipeline processing, accumulation can be performed at high speed.

【0045】以上のようにして処理された結果のデータ
は出力データレジスタ7へ格納される。メモリ6の横一
行のデータあるいは演算器アレイ部4の全ての演算器A
LUの出力のHビットのデータが、出力データレジスタ
7の横一行に格納される。格納されたデータは、水平方
向のアドレスに対して順番にHワードのデータとして読
み出され、出力データ置換回路9へ出力される。出力デ
ータ置換回路9では、入力データ置換回路8とは逆に、
ビットシリアル・ワードパラレルのデータをビットパラ
レル・ワードシリアルのデータに変換して、8ビットの
データとして出力する。この変換も、入力データ置換回
路8による縦横並び換えと同じであり、図5と同様の回
路構成で実現できる。
The data resulting from the processing as described above is stored in the output data register 7. One row of data in the memory 6 or all the arithmetic units A in the arithmetic unit array unit 4
The H-bit data of the LU output is stored in one horizontal row of the output data register 7. The stored data is sequentially read out as H-word data with respect to the horizontal address, and output to the output data replacement circuit 9. In the output data replacement circuit 9, on the contrary to the input data replacement circuit 8,
The bit serial / word parallel data is converted to bit parallel / word serial data and output as 8-bit data. This conversion is the same as the vertical / horizontal rearrangement by the input data replacement circuit 8, and can be realized by the same circuit configuration as that of FIG.

【0046】これにより、2次元ブロックのデータを処
理して得られた2次元ブロックのデータをライン上の画
素の順番で出力することができる。
Thus, two-dimensional block data obtained by processing the two-dimensional block data can be output in the order of the pixels on the line.

【0047】また、2つのシフタのいずれかを省略し
て、一方のメモリからのデータのみをシフトし、他方の
メモリのデータは累算に用いるなどとしてもよい。
It is also possible to omit one of the two shifters, shift only the data from one memory, and use the data in the other memory for accumulation.

【0048】また、2つのシフタを省略して、演算器ア
レイ部に、データをシフトする機能や乗算を行う機能な
どを有するとしてもよい。
The two shifters may be omitted, and the arithmetic unit array may have a function of shifting data or a function of performing multiplication.

【0049】なお、実施の形態1においては、信号処理
装置はメモリを2つ別々に設けるとしたが、図8に示す
ように複数のデータが読み出せるメモリを1つ設けると
してもよい。図8におけるメモリ11は、例えば、読み
出しポートを2つ持ち、プログラム制御部10が指示す
る2つのアドレスに対して、2つのデータを同時に読み
出して、それぞれシフタ3および5へ与えるとしてもよ
い。あるいは、メモリ11は、読み出しポートを1つ持
ち、プログラム制御部10が指示する2つのアドレスに
対して、時分割的に、1つずつ連続して2つのデータを
読みだし、それぞれシフタ3および5へ与えるとしても
よい。
In the first embodiment, the signal processing device is provided with two separate memories, but a single memory from which a plurality of data can be read may be provided as shown in FIG. The memory 11 in FIG. 8 may have, for example, two read ports, read two data at the same time with respect to two addresses specified by the program control unit 10, and supply the two data to the shifters 3 and 5, respectively. Alternatively, the memory 11 has one read port, and reads two data successively one by one in a time-sharing manner at two addresses designated by the program control unit 10, and shifters 3 and 5 respectively. It may be given to.

【0050】以上、説明したように、DCT処理などの
ように、2次元ブロックのデータに対し、同一ブロック
のデータをメモリ上に縦に配置し、データのビットの並
びは横方向であるので、データの全ビットに対して並列
処理が可能であり、データのビットの並びも縦方向で1
ビットずつの逐次処理を行う従来の信号処理装置と比べ
て、極めて高い処理能力を実現できる。
As described above, the data of the same block is arranged vertically on the memory with respect to the data of the two-dimensional block, and the bit arrangement of the data is horizontal, as in the DCT processing. Parallel processing is possible for all bits of data, and the arrangement of data bits is 1 in the vertical direction.
An extremely high processing capability can be realized as compared with a conventional signal processing device that performs sequential processing for each bit.

【0051】また、2次元ブロックが8画素x8ライン
でデータが8ビットの場合、縦横並び換えを行う前のビ
ット幅と行った後のビット幅は同じ8ビットであり、従
来、直列・並列変換によってビット幅は8倍になるのに
比べて、2次元ブロック単位の処理を行わない信号処理
装置により近い構成で実現できる。言い換えると、2次
元ブロック単位の処理を行う場合と、1ラインの全画素
データに対する並列処理を行う場合とで、入力データレ
ジスタ、出力データレジスタ、メモリなどの縦横の比
や、演算器の個数があまり変わらないので、同一の信号
処理装置を用いて、これらの処理を切り替えて効率よく
実行でき、テレビ放送のビデオ信号を処理したり、デジ
タル圧縮された信号を処理したりするシステムに対して
極めて有益である。
If the two-dimensional block is 8 pixels × 8 lines and the data is 8 bits, the bit width before and after performing the vertical / horizontal rearrangement is the same 8 bits. As compared with the case where the bit width is increased by eight times, it can be realized with a configuration closer to a signal processing device that does not perform processing in units of two-dimensional blocks. In other words, when the processing is performed in units of two-dimensional blocks and when the parallel processing is performed on all the pixel data of one line, the aspect ratio of the input data register, the output data register, the memory, etc., and the number of arithmetic units are different. Since they do not change much, these processes can be switched and executed efficiently using the same signal processing device, which is extremely useful for a system that processes a video signal of a television broadcast or a digitally compressed signal. It is informative.

【0052】[0052]

【発明の効果】以上のように本発明は、所定のデータ数
毎に入力データを縦横並び換えを行う入力データ置換手
段を設けることにより、2次元ブロックのデータに対
し、データのビットの向きを横方向にし、ブロックのデ
ータを縦に並べることができるため、2次元ブロック単
位の処理を実現でき、また、各ブロックの処理を演算器
アレイ部を用いて並列に処理し、高い処理能力を実現で
き極めて有用である。
As described above, according to the present invention, by providing input data replacing means for rearranging input data vertically and horizontally for each predetermined number of data, the direction of data bits can be changed with respect to the data of a two-dimensional block. Since the data of the blocks can be arranged vertically and horizontally, processing in units of two-dimensional blocks can be realized, and processing of each block is processed in parallel by using the arithmetic unit array unit, achieving high processing capacity. It is extremely useful.

【0053】また、各画素データの全ビットが並列に複
数の演算器に与えられ、演算が行われるので極めて高い
処理能力を実現できる。
In addition, since all bits of each pixel data are given to a plurality of arithmetic units in parallel and arithmetic operations are performed, extremely high processing capability can be realized.

【0054】さらに、シフタを設けることにより、2次
元ブロック単位で積和演算を高速に処理することができ
る。
Further, by providing a shifter, a product-sum operation can be processed at high speed in units of two-dimensional blocks.

【0055】さらに、2次元ブロック関に一定の間をお
いて、データがメモリに配置されるので、シフト加算な
どによりデータのビット長が増大した場合にもデータが
オーバーラップして破壊されることがない。
Further, since the data is arranged in the memory with a certain interval between the two-dimensional blocks, even when the bit length of the data is increased due to shift addition or the like, the data overlaps and is destroyed. There is no.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の実施の形態1における信号処理装置の
ブロック図
FIG. 1 is a block diagram of a signal processing device according to a first embodiment of the present invention.

【図2】1画面の中の2次元ブロックの構成図FIG. 2 is a configuration diagram of a two-dimensional block in one screen.

【図3】本発明の実施の形態1における入力データ置換
回路の入出力のタイミング図
FIG. 3 is an input / output timing diagram of the input data replacement circuit according to the first embodiment of the present invention;

【図4】本発明の実施の形態1におけるメモリ上の2次
元ブロックのデータの配置図
FIG. 4 is a layout diagram of data of a two-dimensional block on a memory according to the first embodiment of the present invention;

【図5】本発明の実施の形態1における入力データ置換
回路の構成図
FIG. 5 is a configuration diagram of an input data replacement circuit according to the first embodiment of the present invention.

【図6】本発明の実施の形態1における演算器アレイ部
の構成の一例を示す図
FIG. 6 is a diagram showing an example of a configuration of a computing unit array according to the first embodiment of the present invention;

【図7】本発明の実施の形態1における演算器アレイ部
の構成の他の一例を示す図
FIG. 7 is a diagram showing another example of the configuration of the arithmetic unit array according to the first embodiment of the present invention;

【図8】本発明の実施の形態1における信号処理装置の
構成の他の一例を示す図
FIG. 8 is a diagram showing another example of the configuration of the signal processing device according to the first embodiment of the present invention.

【符号の説明】[Explanation of symbols]

1 データ入力レジスタ 2,6,11 メモリ 3,5 シフタ 4 演算器アレイ部 7 出力データレジスタ 8 入力データ置換回路 9 出力データ置換回路 10 プログラム制御部 25,26,27,28 ラッチ 24 選択回路 30 セレクタ付きフリップフロップ 31 制御回路 32 制御信号 33 データ入力レジスタ書き込みアドレス Reference Signs List 1 data input register 2, 6, 11 memory 3, 5 shifter 4 operation unit array unit 7 output data register 8 input data replacement circuit 9 output data replacement circuit 10 program control unit 25, 26, 27, 28 latch 24 selection circuit 30 selector With flip-flop 31 control circuit 32 control signal 33 data input register write address

Claims (11)

【特許請求の範囲】[Claims] 【請求項1】 入力データを所定のデータ数毎に、縦横
並び換えを行い出力する入力データ置換手段と、 前記入力データ置換手段から出力されたデータを縦一列
単位で連続して格納し、格納したデータを横一行単位で
読み出す入力データレジスタと、 複数のデータを格納するメモリと、 複数の入力に対して演算を行う演算器アレイ部と、 データを横一行単位で書き込み、格納したデータを縦一
列単位で連続して読み出す出力データレジスタと、 前記出力データレジスタから読み出されたデータを所定
のデータ数毎に、縦横並び換えを行い出力する出力デー
タ置換手段とを備え、 前記演算器アレイ部は前記メモリから読み出した複数の
データを入力として演算を行い、前記メモリは前記入力
データレジスタから読み出したデータあるいは演算器ア
レイ部の出力を格納し、前記出力データレジスタは前記
メモリから読み出したデータあるいは前記演算器アレイ
部の出力を書き込むことを特徴とする信号処理装置。
An input data replacing means for rearranging and outputting input data every predetermined number of data and outputting the data, and successively storing data output from the input data replacing means in a unit of one column and storing the data. An input data register that reads out the stored data row by row, a memory that stores multiple data, a computing unit array that performs operations on multiple inputs, and a row of data that is written row by row, and the stored data is written vertically. An output data register that is continuously read in units of one row; and an output data replacement unit that rearranges and outputs data read from the output data register every predetermined number of data in a vertical / horizontal manner. Performs an operation by using a plurality of data read from the memory as an input, and the memory performs a data read or an operation from the input data register. A signal processing device for storing an output of the arithmetic unit array unit and writing the data read from the memory or the output of the arithmetic unit array unit in the output data register.
【請求項2】 入力データを所定のデータ数毎に、縦横
並び換えを行い出力する入力データ置換手段と、 前記入力データ置換手段から出力されたデータを縦一列
単位で連続して格納し、格納したデータを横一行単位で
読み出す入力データレジスタと、 複数のデータを格納する第1および第2のメモリと、 複数の入力に対して演算を行う演算器アレイ部と、 データを横一行単位で書き込み、格納したデータを縦一
列単位で連続して読み出す出力データレジスタと、 前記出力データレジスタから読み出されたデータを所定
のデータ数毎に、縦横並び換えを行い出力する出力デー
タ置換手段とを備え、 前記演算器アレイ部は前記第1および第2のメモリから
それぞれ読み出したデータを入力として演算を行い、前
記第1および第2のメモリは前記入力データレジスタか
ら読み出したデータあるいは演算器アレイ部の出力を格
納し、前記出力データレジスタは前記第1あるいは第2
のメモリから読み出したデータあるいは前記演算器アレ
イ部の出力を書き込むことを特徴とする信号処理装置。
2. An input data replacing means for rearranging the input data for every predetermined number of data and outputting the data, and successively storing the data outputted from the input data replacing means in a unit of one column and storing the data. An input data register for reading the input data in units of a row, first and second memories for storing a plurality of data, an operation unit array unit for performing an operation on a plurality of inputs, and writing data in units of a row An output data register for continuously reading stored data in units of columns, and an output data replacement means for rearranging the data read from the output data register for every predetermined number of data, and rearranging and outputting the data. The arithmetic unit array unit performs an arithmetic operation by using data read from the first and second memories as inputs, and the first and second memories store The output data register stores the data read from the input data register or the output of the arithmetic unit array unit.
A signal processing device for writing data read from a memory or an output of the arithmetic unit array unit.
【請求項3】 請求項1または請求項2記載の信号処理
装置において、 前記演算器アレイ部は、1ビット演算を行う演算器を複
数備えたことを特徴とする信号処理装置。
3. The signal processing device according to claim 1, wherein the arithmetic unit array unit includes a plurality of arithmetic units that perform a 1-bit operation.
【請求項4】 請求項3記載の信号処理装置において、 前記演算器は演算結果の和とキャリーを出力し、前記演
算器は、前記演算器のキャリーと隣接する演算器のキャ
リーのいずれかを選択して入力の一つに与えることを特
徴とする信号処理装置。
4. The signal processing device according to claim 3, wherein the arithmetic unit outputs a sum of the operation result and a carry, and the arithmetic unit determines whether the carry of the arithmetic unit is the carry of an adjacent arithmetic unit. A signal processing device characterized by selecting and providing one of the inputs.
【請求項5】 請求項3記載の信号処理装置において、 前記演算器は演算結果の和とボローを出力し、前記演算
器は、前記演算器のボローと隣接する演算器のボローの
いずれかを選択して入力の一つに与えることを特徴とす
る信号処理装置。
5. The signal processing device according to claim 3, wherein the arithmetic unit outputs a sum of operation results and a borrow, and the arithmetic unit determines which of the borrow of the arithmetic unit and the borrow of an adjacent arithmetic unit is to be used. A signal processing device characterized by selecting and providing one of the inputs.
【請求項6】 請求項3記載の信号処理装置において、 前記複数の演算器は同一の命令に従って演算を行うこと
を特徴とする信号処理装置。
6. The signal processing device according to claim 3, wherein the plurality of arithmetic units perform operations according to the same instruction.
【請求項7】 請求項1または請求項2記載の信号処理
装置において、 前記演算器アレイ部は演算結果のデータを一時的に保持
するデータ保持手段を備え、前記データ保持手段に保持
されたデータを必要に応じて演算に用いることを特徴と
する信号処理装置。
7. The signal processing device according to claim 1, wherein the arithmetic unit array unit includes a data holding unit that temporarily holds data of a calculation result, and the data held by the data holding unit. A signal processing device characterized in that is used for calculation as required.
【請求項8】 請求項1記載の信号処理装置において、 前記メモリと前記演算器アレイ部との間にシフタを備
え、 前記メモリから読み出したデータは前記演算器アレイ部
に与えられる前に前記シフタによりシフトされることを
特徴とする信号処理装置。
8. The signal processing device according to claim 1, further comprising a shifter between the memory and the arithmetic unit array unit, wherein the data read from the memory is provided to the shifter before being supplied to the arithmetic unit array unit. A signal processing device characterized by being shifted by:
【請求項9】 請求項2記載の信号処理装置において、 前記第1のメモリと前記演算器アレイ部との間に第1の
シフタを備え、 前記第2のメモリと前記演算器アレイ部との間に第2の
シフタを備え、 前記第1のメモリから読み出したデータは前記演算器ア
レイ部に与えられる前に前記第1のシフタによりシフト
され、 前記第2のメモリから読み出したデータは前記演算器ア
レイ部に与えられる前に前記第2のシフタによりシフト
されることを特徴とする信号処理装置。
9. The signal processing device according to claim 2, further comprising: a first shifter between the first memory and the arithmetic unit array unit, wherein a first shifter is provided between the second memory and the arithmetic unit array unit. A second shifter interposed therebetween, wherein data read from the first memory is shifted by the first shifter before being applied to the arithmetic unit array section, and data read from the second memory is subjected to the arithmetic operation. A signal processing unit that shifts the signal by the second shifter before the signal is supplied to the array unit.
【請求項10】 請求項1または請求項2記載の信号処
理装置において、 前記入力データレジスタは、所定のデータ数毎に並び換
えられたデータブロックを一定の間隔をおいて格納する
ことを特徴とする信号処理装置。
10. The signal processing device according to claim 1, wherein the input data register stores data blocks rearranged for each predetermined number of data at a predetermined interval. Signal processing device.
【請求項11】 請求項1または請求項2記載の信号処
理装置において、 前記入力データ置換手段は、所定のデータ数毎に並び換
えられたデータブロック間で一定の期間0を出力するこ
とを特徴とする信号処理装置。
11. The signal processing device according to claim 1, wherein said input data replacing means outputs a fixed period 0 between data blocks rearranged every predetermined number of data. Signal processing device.
JP23003096A 1996-08-30 1996-08-30 Signal processor Pending JPH1074141A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP23003096A JPH1074141A (en) 1996-08-30 1996-08-30 Signal processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP23003096A JPH1074141A (en) 1996-08-30 1996-08-30 Signal processor

Publications (1)

Publication Number Publication Date
JPH1074141A true JPH1074141A (en) 1998-03-17

Family

ID=16901474

Family Applications (1)

Application Number Title Priority Date Filing Date
JP23003096A Pending JPH1074141A (en) 1996-08-30 1996-08-30 Signal processor

Country Status (1)

Country Link
JP (1) JPH1074141A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099232A (en) * 2004-09-28 2006-04-13 Renesas Technology Corp Semiconductor signal processor
JP2006127460A (en) * 2004-06-09 2006-05-18 Renesas Technology Corp Semiconductor device, semiconductor signal processing apparatus and crossbar switch
WO2007010694A1 (en) * 2005-07-15 2007-01-25 Matsushita Electric Industrial Co., Ltd. Image encoding device and image encoding method
US7463501B2 (en) 2005-09-12 2008-12-09 Renesas Technology Corp. Semiconductor memory device
JP2009104521A (en) * 2007-10-25 2009-05-14 Mitsubishi Electric Corp Parallel processor
JP2010244095A (en) * 2009-04-01 2010-10-28 Seiko Epson Corp Data processing apparatus, printing system, and program
JP2011141823A (en) * 2010-01-08 2011-07-21 Renesas Electronics Corp Data processing device and parallel arithmetic device
JP2011192305A (en) * 2011-06-01 2011-09-29 Renesas Electronics Corp Semiconductor signal processor

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006127460A (en) * 2004-06-09 2006-05-18 Renesas Technology Corp Semiconductor device, semiconductor signal processing apparatus and crossbar switch
US7562198B2 (en) 2004-06-09 2009-07-14 Renesas Technology Corp. Semiconductor device and semiconductor signal processing apparatus
US7791962B2 (en) 2004-06-09 2010-09-07 Renesas Technology Corp. Semiconductor device and semiconductor signal processing apparatus
US8089819B2 (en) 2004-06-09 2012-01-03 Renesas Electronics Corporation Semiconductor device and semiconductor signal processing apparatus
JP2006099232A (en) * 2004-09-28 2006-04-13 Renesas Technology Corp Semiconductor signal processor
WO2007010694A1 (en) * 2005-07-15 2007-01-25 Matsushita Electric Industrial Co., Ltd. Image encoding device and image encoding method
US7463501B2 (en) 2005-09-12 2008-12-09 Renesas Technology Corp. Semiconductor memory device
US8077492B2 (en) 2005-09-12 2011-12-13 Renesas Electronics Corporation Semiconductor memory device
JP2009104521A (en) * 2007-10-25 2009-05-14 Mitsubishi Electric Corp Parallel processor
JP2010244095A (en) * 2009-04-01 2010-10-28 Seiko Epson Corp Data processing apparatus, printing system, and program
JP2011141823A (en) * 2010-01-08 2011-07-21 Renesas Electronics Corp Data processing device and parallel arithmetic device
JP2011192305A (en) * 2011-06-01 2011-09-29 Renesas Electronics Corp Semiconductor signal processor

Similar Documents

Publication Publication Date Title
JP2756257B2 (en) Parallel processing system and method
US7568086B2 (en) Cache for instruction set architecture using indexes to achieve compression
US5331585A (en) Orthogonal transformation processor for compressing information
US6105114A (en) Two-dimensional array transposition circuit reading two-dimensional array in an order different from that for writing
KR920001618B1 (en) Orthoginal transform processor
EP0539595A1 (en) Data processor and data processing method
JP2001236496A (en) Reconstructible simd co-processor structure for summing and symmetrical filtration of absolute difference
WO2001031418A2 (en) Wide connections for transferring data between pe's of an n-dimensional mesh-connected simd array while transferring operands from memory
EP0227406B1 (en) Image signal processor
JP3971535B2 (en) SIMD type processor
JPH1074141A (en) Signal processor
US5689450A (en) Parallel processor
JP2002297377A (en) Simd-type microprocessor having sorting function
US5359549A (en) Orthogonal transformation processor for compressing information
JPH04295953A (en) Parallel data processor with built-in two-dimensional array of element processor and sub-array unit of element processor
JPH09259115A (en) Very-large-scale integrated circuit for bit-serial matrix transposition
US6047366A (en) Single-instruction multiple-data processor with input and output registers having a sequential location skip function
JPH07152730A (en) Discrete cosine transformation device
JP2002269067A (en) Matrix arithmetic unit
US6728863B1 (en) Wide connections for transferring data between PE's of an N-dimensional mesh-connected SIMD array while transferring operands from memory
JP3553376B2 (en) Parallel image processor
JP2960328B2 (en) Apparatus for providing operands to "n + 1" operators located in a systolic architecture
JP4413052B2 (en) Data flow graph processing apparatus and processing apparatus
JP2855899B2 (en) Function memory
JPH1063647A (en) Arithmetic unit for matrix