JPH05268593A - Difference absolute sum/difference square sum parallel arithmetic operation device - Google Patents
Difference absolute sum/difference square sum parallel arithmetic operation deviceInfo
- Publication number
- JPH05268593A JPH05268593A JP6472192A JP6472192A JPH05268593A JP H05268593 A JPH05268593 A JP H05268593A JP 6472192 A JP6472192 A JP 6472192A JP 6472192 A JP6472192 A JP 6472192A JP H05268593 A JPH05268593 A JP H05268593A
- Authority
- JP
- Japan
- Prior art keywords
- sum
- pixel
- difference
- memory
- pixels
- 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
Links
Landscapes
- Image Analysis (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Description
【0001】[0001]
【産業上の利用分野】本発明は、動画像符号化のアルゴ
リズムの一つである動き補償に必要なブロックマッチン
グの基本となる差分絶対値和(以下、L1ノルムとい
う)もしくは差分自乗演算器(以下、L2ノルムとい
う)計算を並列に行うL1・L2ノルム並列演算装置に
関するものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a sum of absolute differences (hereinafter referred to as L1 norm) or a difference square operator (which will be referred to as "L1 norm"), which is the basis of block matching required for motion compensation, which is one of moving image coding algorithms. Hereinafter, the present invention relates to an L1 · L2 norm parallel arithmetic device for performing parallel calculations.
【0002】[0002]
【従来の技術】(1)L1・L2ノルム 図2は、従来のL1・L2ノルム計算の対象となる画素
ブロックの例を説明するための図である。この例では、
画素ブロックは8×8の大きさである。L1・L2ノル
ムは、現フレーム中の画素ブロック1と前フレーム2中
の複数の画素ブロック3〜5の間で次式(1),式
(2)によって計算される。2. Description of the Related Art (1) L1 / L2 Norm FIG. 2 is a diagram for explaining an example of a pixel block which is a target of a conventional L1 / L2 norm calculation. In this example,
The pixel block has a size of 8 × 8. The L1 · L2 norm is calculated by the following equations (1) and (2) between the pixel block 1 in the current frame and the pixel blocks 3 to 5 in the previous frame 2.
【0003】[0003]
【数1】 [Equation 1]
【0004】[0004]
【数2】 [Equation 2]
【0005】ここで、Xj(i)は、前フレーム2から
切り出した画素ブロック3〜5中の画素である。また、
Y(i)は、現フレームから切り出した画素ブロック1
中の画素である。jは複数の前画素ブロックにつけられ
た番号を表す。図2の場合、j=3,4,5の画素ブロ
ックは、水平方向に1画素ずれているのみであり、大部
分の画素は共通である。ただし、実際には、L1もしく
はL2ノルム計算の対象となる複数の前画素ブロック間
のずれは水平方向に1画素のみとは限らない。水平もし
くは垂直方向に任意の画素数だけずれている場合があり
うる。L1ノルムとL2ノルムの違いは、2画素の差を
計算した後、絶対値をとるか乗算するかだけであるの
で、以下では、L1ノルムについてのみ説明する。Here, Xj (i) is a pixel in the pixel blocks 3 to 5 cut out from the previous frame 2. Also,
Y (i) is the pixel block 1 cut out from the current frame
It is the inside pixel. j represents a number given to a plurality of preceding pixel blocks. In the case of FIG. 2, the pixel blocks of j = 3, 4, and 5 are shifted by one pixel in the horizontal direction, and most of the pixels are common. However, actually, the shift between the plurality of previous pixel blocks to be the target of the L1 or L2 norm calculation is not limited to one pixel in the horizontal direction. There may be a case where the number of pixels is shifted in the horizontal or vertical direction. The difference between the L1 norm and the L2 norm is only that the difference between two pixels is calculated and then the absolute value is taken or multiplied. Therefore, only the L1 norm will be described below.
【0006】前記L1・L2ノルムに関する技術につて
は、例えば、K.Kikuchi, Y.Nukada,Y.Aoki, T.Kanou,
Y.Endo, T.Nishitani, “A Single-Chip 16-bit 25ns V
ideo/Image Signal Processer” ISSCC Digest Technic
al Paper, pp.170-171, Feb1989.に記載されている。Regarding the technique relating to the L1 and L2 norms, for example, K. Kikuchi, Y. Nukada, Y. Aoki, T. Kanou,
Y.Endo, T. Nishitani, “A Single-Chip 16-bit 25ns V
ideo / Image Signal Processor ”ISSCC Digest Technic
al Paper, pp.170-171, Feb 1989.
【0007】(2)従来技術の第1の例 前記L1ノルムの計算対象となる画素ブロックの例を図
3に示す。ここで、簡単のために、画素ブロックの大き
さは4×4としている。図中の破線で囲まれた領域の画
素ブロック6についてL1ノルムを計算する。なお、X
5,X6,X7,X8,X21,X22,……はそれぞ
れ前記式(1)におけるX5(0),X5(1),X5
(2),X5(3),X5(4),X5(5),……に、Y
0,Y1,Y2,Y3,Y4,……はそれぞれY
(0),Y(1),Y(2),Y(3),Y(4),……に
対応する。この画素ブロック6に対するL1ノルムを4
並列で計算する従来技術の第1の例の回路構成を図4に
示す。前フレーム2の画素は4バンク構成のメモリ7-
0〜7-3に置かれている。メモリ7-0〜7-3は、メ
モリ7-0が0番地、メモリ7-1が1番地、メモリ7-
2が2番地、7-3が3番地、メモリ7-0が4番地、メ
モリ7-1が5番地とアドレスが与えられており、連続
した4番地のデータを一度に読み出すことができる。画
素X0は0番地、X1は1番地、X2は2番地、……と
添え字と同じアドレスに置かれている。このメモリ7-
0〜7-3から読み出された4データは、4データロー
テーション回路9によって最下位番地のデータが左端の
差分絶対値演算器11-0に入力するようにシフトされ
る。現画素ブロック1中の画素は、メモリ7-0〜7-3
と同じ構成のメモリ8-0〜8-3上の添え字と同じアド
レスに置かれている。また、4データローテーション回
路9の作用も同じである。従って、図示したように差分
絶対値演算器11-0〜11-3において|X5−Y0
|,|X6−Y1|,|X7−Y2|,|X8−Y3|
を同時に計算することができ、最終的にアキュムレータ
13に前画素ブロック6に対するL1ノルムを得ること
ができる。(2) First Example of Prior Art FIG. 3 shows an example of a pixel block for which the L1 norm is to be calculated. Here, for simplification, the size of the pixel block is 4 × 4. The L1 norm is calculated for the pixel block 6 in the area surrounded by the broken line in the figure. Note that X
5, X6, X7, X8, X21, X22, ... Are respectively X5 (0), X5 (1), X5 in the above formula (1).
(2), X5 (3), X5 (4), X5 (5), ..., Y
0, Y1, Y2, Y3, Y4, ... are each Y
(0), Y (1), Y (2), Y (3), Y (4), ... The L1 norm for this pixel block 6 is set to 4
FIG. 4 shows a circuit configuration of a first example of the prior art in which parallel calculation is performed. The pixels of the previous frame 2 are 4-bank memory 7-
It is located at 0-7-3. In the memories 7-0 to 7-3, the memory 7-0 has the address 0, the memory 7-1 has the address 1, and the memory 7-
Addresses are given to 2 at address 2, 7-3 at address 3, memory 7-0 at address 4, and memory 7-1 at address 5, so that data at consecutive addresses 4 can be read at once. Pixel X0 is located at address 0, X1 at address 1, X2 at address 2, ... At the same address as the subscript. This memory 7-
The four data read from 0 to 7-3 are shifted by the four data rotation circuit 9 so that the data at the lowest address is input to the difference absolute value calculator 11-0 at the left end. The pixels in the current pixel block 1 are stored in the memories 7-0 to 7-3.
It is placed at the same address as the subscript on the memories 8-0 to 8-3 having the same configuration as. The operation of the 4-data rotation circuit 9 is also the same. Therefore, as shown in the figure, | X5-Y0 in the absolute difference value calculators 11-0 to 11-3
|, | X6-Y1 |, | X7-Y2 |, | X8-Y3 |
Can be calculated simultaneously, and finally the L1 norm for the previous pixel block 6 can be obtained in the accumulator 13.
【0008】前記従来技術の第1の例に関する技術につ
いては、例えば、南,山内,田代,鈴木,笠井,高橋,
遠藤,浜口著、「ビデオシグナルプロセッサIDSPの
データフロー制御」、1991、信学技法、ICD91-12、pp.2
5-32に記載されている。Regarding the technique relating to the first example of the prior art, for example, Minami, Yamauchi, Tashiro, Suzuki, Kasai, Takahashi,
Endo, Hamaguchi, "Data flow control of video signal processor IDSP", 1991, IPSJ, ICD91-12, pp.2
It is described in 5-32.
【0009】(3)従来技術の第2の例 前記L1ノルムの計算対象となる画素ブロックの第2の
例を図5に示す。前記第1の例で示した画素ブロック6
の他に、水平方向に1画素づつずれた画素ブロック1
5,16,17が示されている。これらの4画素ブロッ
ク6,15,16,17に対するL1ノルムを4並列で
計算する従来技術の第2の例の回路構成を図6に示す。
前フレーム2の画素は、2出力ポートを持ったメモリ1
8上の添え字と同じアドレスに置かれている。現画素ブ
ロック1中の画素は、メモリ19上の添え字と同じアド
レスに置かれている。メモリ18のポート0からは破線
で囲まれた画素が、ポート1からは、直線で囲まれた画
素が読み出される。セレクタ21-0,21-1,21-
2は、これらの画素からそれぞれ画素ブロック17,1
6,15の画素を選択する。また、レジスタ20-0〜
20-3は、シフトレジスタであり、メモリ19から読
み出された現画素ブロック1の画素を1サイクルごとに
シフトする。従って、差分絶対値演算器22-0〜22-
3でそれぞれ画素ブロック17,16,15,6と現画
素ブロック1の差分絶対値を計算し、アキュムレータ2
3-0〜23-3に画素ブロック17,16,15,6と
現画素ブロック1のL1ノルムを得ることができる。(3) Second Example of Prior Art FIG. 5 shows a second example of the pixel block for which the L1 norm is to be calculated. Pixel block 6 shown in the first example
In addition to the above, a pixel block 1 that is shifted by one pixel in the horizontal direction
5,16,17 are shown. FIG. 6 shows a circuit configuration of a second example of the prior art for calculating the L1 norm for these four pixel blocks 6, 15, 16, 17 in four parallels.
Pixel of previous frame 2 is memory 1 with 2 output ports
It is placed at the same address as the subscript above 8. The pixel in the current pixel block 1 is placed at the same address as the subscript on the memory 19. Pixels surrounded by broken lines are read from the port 0 of the memory 18, and pixels surrounded by straight lines are read from the port 1. Selectors 21-0, 21-1, 21-
2 are pixel blocks 17 and 1 from these pixels, respectively.
Select pixels 6 and 15. Also, register 20-0 to
Reference numeral 20-3 is a shift register, which shifts the pixels of the current pixel block 1 read from the memory 19 for each cycle. Therefore, the absolute difference value calculator 22-0 to 22-
3 calculates the absolute value of the difference between the pixel blocks 17, 16, 15, 6 and the current pixel block 1, respectively, and the accumulator 2
The L1 norms of the pixel blocks 17, 16, 15, 6 and the current pixel block 1 can be obtained in 3-0 to 23-3.
【0010】従来技術の第2の例に関する技術は、例え
ば、K.Yang M.Sun L.Wu “A FamilyVLSI Design for th
e Motion Compensation Block Algorithm” IEEE Tran
s. on Circuits and Systems, vol.36, pp.137-1325, O
ct. 1989.に記載されている。The technique relating to the second example of the prior art is, for example, K. Yang M. Sun L. Wu "A Family VLSI Design for th.
e Motion Compensation Block Algorithm ”IEEE Tran
s. on Circuits and Systems, vol.36, pp.137-1325, O
ct. 1989.
【0011】[0011]
【発明が解決しようとする課題】ところが、従来技術の
第1の例においては、4並列演算の場合、前フレーム2
の画素を読み出すために4ポート、現画素ブロック1の
画素を読み出すために4ポート、計8出力ポート必要で
あり、多数の出力ポートを持ったメモリが必要であると
いう問題がある。また、差分絶対値を累算するために、
加算器12をトリー状に結合するパスが必要であるとい
う問題がある。However, in the first example of the prior art, in the case of 4-parallel operation, the previous frame 2
There is a problem that 4 ports are required to read the pixels of 4 and 4 ports are required to read the pixels of the current pixel block 1, that is, a total of 8 output ports are required, and a memory having a large number of output ports is required. Also, in order to accumulate the absolute difference value,
There is a problem that a path for connecting the adder 12 in a tree shape is required.
【0012】従来技術の第2の例においては、前フレー
ム2の画素を2画素同時に読み出すために2ポートメモ
リ18が必要となり、しかも個々の演算回路に送る画素
を選択するセレクタ21-0〜21-2が必要となるとい
う問題がある。また、メモリ19から読み出された現画
素ブロック1の画素を1サイクルごとにシフトするため
にシフトレジスタ20-0〜20-3が必要になるという
問題がある。In the second example of the prior art, a 2-port memory 18 is required to read out two pixels of the previous frame 2 at the same time, and selectors 21-0 to 21-21 for selecting the pixels to be sent to the individual arithmetic circuits. There is a problem that -2 is required. Further, there is a problem that the shift registers 20-0 to 20-3 are required to shift the pixels of the current pixel block 1 read from the memory 19 every cycle.
【0013】本発明は、前記問題点を解決するためにな
されたものであり、本発明の目的は、メモリの出力ポー
トを低減することが可能な技術を提供することにある。The present invention has been made to solve the above problems, and an object of the present invention is to provide a technique capable of reducing the output ports of a memory.
【0014】本発明の他の目的は、個々の演算回路に送
る画素を選択するセレクタ及びメモリから読み出された
現画素ブロック1の画素を1サイクルごとにシフトする
ためのシフトレジスタを不要にすることが可能な技術を
提供することにある。Another object of the present invention is to eliminate the need for a selector for selecting pixels to be sent to individual arithmetic circuits and a shift register for shifting the pixels of the current pixel block 1 read from the memory for each cycle. It is to provide the technology that is possible.
【0015】本発明の前記目的ならびにその他の目的及
び新規な特徴は、本明細書の記述及び添付図面によって
明らかにする。The above and other objects and novel features of the present invention will become apparent from the description of this specification and the accompanying drawings.
【0016】[0016]
【課題を解決するための手段】前記目的を達成するため
に、本発明は、前フレームから切り出した水平方向に1
画素づつずれた複数の画素ブロックと、現フレームから
切り出した画素ブロックの間のL1もしくはL2ノルム
を並列に計算するL1・L2ノルム並列演算装置におい
て、連続したアドレスに置かれた複数のデータを一度に
読み出すことができる複数の出力ポートを有するメモリ
と、該メモリ上に前フレームの画素を保持する画素保持
手段と、該画素保持手段から連続したアドレスを持った
複数の画素を一度に読み出して、同時に現フレームから
画素ブロックの画素を切り出す手段と、該切り出す手段
によって切り出された画素ブロックの画素を前記ポート
数と同じ数の複数の演算器のすべてに放送する手段とを
備えることを特徴とする。In order to achieve the above-mentioned object, the present invention relates to a horizontal direction 1 cut out from a front frame.
In an L1 and L2 norm parallel arithmetic unit that calculates in parallel the L1 or L2 norm between a plurality of pixel blocks that are shifted pixel by pixel and the pixel block that is cut out from the current frame, a plurality of data placed at consecutive addresses A memory having a plurality of output ports that can be read to, a pixel holding unit that holds the pixels of the previous frame on the memory, and a plurality of pixels with consecutive addresses read from the pixel holding unit at once, At the same time, it is provided with means for cutting out the pixels of the pixel block from the current frame, and means for broadcasting the pixels of the pixel block cut out by the cutting means to all of the plurality of arithmetic units of the same number as the number of ports. ..
【0017】前記演算器は、差分絶対値演算器又は差分
自乗演算器と累算器からなることを特徴とする。The arithmetic unit is characterized by comprising a differential absolute value arithmetic unit or a differential square arithmetic unit and an accumulator.
【0018】[0018]
【作用】前述の手段によれば、従来技術の第1の例で用
いられている複数バンクメモリとデータローテーション
回路によって構成され、連続したアドレスに置かれた複
数のデータを一度に読み出すことができるメモリ上に、
前フレームの画素を保持し、そこから連続したアドレス
を持った複数の画素を一度に読み出して、差分絶対値演
算器もしくは差分自乗演算器と累算器からなる複数の演
算回路に並列に送り、同時に現画素ブロックの画素を前
記演算器すべてに放送するので、個々のメモリから現ブ
ロックの画素を読み出すためのポートが1個で済み、必
要なメモリのポート数は演算並列度+1となり、従来技
術の第1の例に比べて大幅に削減される。また、差分絶
対値を累算するために、加算器をトリー状に結合する必
要もない。According to the above-mentioned means, a plurality of banks of memory used in the first example of the prior art and a data rotation circuit are used, and a plurality of data placed at consecutive addresses can be read at one time. In memory,
Holds the pixels of the previous frame, reads out a plurality of pixels with consecutive addresses at once, and sends them in parallel to a plurality of arithmetic circuits consisting of a difference absolute value calculator or a difference square calculator and an accumulator, At the same time, the pixels of the current pixel block are broadcast to all the arithmetic units, so that only one port is required to read the pixels of the current block from each memory, and the number of memory ports required is +1 for the arithmetic parallelism. Is significantly reduced as compared with the first example. Further, it is not necessary to combine the adders in a tree shape to accumulate the absolute difference values.
【0019】また、従来技術の第2の例において必要で
あった個々の演算回路に送る画素を選択するセレクタ及
びメモリから読み出された現画素ブロックの画素を1サ
イクルごとにシフトするためのシフトレジスタが不要と
なる。また、各メモリの出力ポートは1個でも良く、2
ポートメモリという制限はなくなる。Also, a shifter for shifting the pixels of the current pixel block read from the memory and the selector for selecting the pixels to be sent to the individual arithmetic circuits, which is required in the second example of the prior art, for each cycle. No need for registers. Also, each memory may have only one output port, 2
The limitation of port memory is gone.
【0020】[0020]
【実施例】以下、本発明の実施例を図面を参照して詳細
に説明する。Embodiments of the present invention will now be described in detail with reference to the drawings.
【0021】図1は、本発明の実施例のL1・L2ノル
ム並列演算装置の構成を示すブロック図である。前述の
従来技術の第2の例の説明と同じく図5に示す水平方向
に1画素づつずれた画素ブロック6,15,16,17
についてL1ノルムを計算する場合を示す。FIG. 1 is a block diagram showing the configuration of an L1 / L2 norm parallel arithmetic unit according to an embodiment of the present invention. Similarly to the description of the second example of the prior art described above, the pixel blocks 6, 15, 16, 17 shown in FIG.
The case where the L1 norm is calculated for
【0022】図1において、7-0〜7-3は4バンク構
成の前フレーム内画素保持用メモリ、9は4データロー
テーション回路、10はレジスタ、12は加算器、14
はL1ノルム書き込み用メモリ、19は現画素ブロック
内画素保持用のメモリ、22-0〜22-3は差分絶対値
演算器、23-0〜23-3はアキュムレータ、24-1
〜24-3,25-1〜25-3は2・1セレクタであ
る。In FIG. 1, reference numerals 7-0 to 7-3 denote pixels for holding pixels in a previous frame having a 4-bank structure, 9 denotes a 4 data rotation circuit, 10 denotes a register, 12 denotes an adder, and 14
Is a memory for writing L1 norm, 19 is a memory for holding pixels in the current pixel block, 22-0 to 22-3 are absolute difference value calculators, 23-0 to 23-3 are accumulators, 24-1
24-3 and 25-1 to 25-3 are 2.1 selectors.
【0023】前記従来技術の第1の例で用いられている
4バンク構成のメモリ7-0〜7-3から最初に4画素X
8,X5,X6,X7が読み出され、同じく従来技術の
第1の例で用いられている4データローテーション回路
9でアドレスの低い順番X5,X6,X7,X8に並べ
直されて差分絶対値演算器22-0〜22-3に送られ
る。First, from the memories 7-0 to 7-3 of the four-bank configuration used in the first example of the prior art, four pixels X
8, X5, X6, X7 are read and rearranged in the order of lower addresses X5, X6, X7, X8 by the 4 data rotation circuit 9 used in the first example of the prior art, and the absolute difference value is read. It is sent to the computing units 22-0 to 22-3.
【0024】メモリ19から読み出された現画素ブロッ
ク1の画素Y0は、差分絶対値演算器22-0〜22-3
に放送される。次に、メモリ7-0〜7-3から4画素X
8,X9,X6,X7が読み出され、データローテーシ
ョン回路9でアドレの低い順番X6,X7,X8,X9
に並べ直されて差分絶対値演算器22-0〜22-3に送
られる。メモリ19からは、画素Y1が、差分絶対値演
算器22-0〜22-3に放送される。以下、同様にして
差分絶対値演算器22-0〜22-3でそれぞれ画素ブロ
ック6,15,16,17の画素と現画素ブロック1の
画素の間の差分絶対値が計算され、アキュムレータ23
-0〜23-3にL1ノルムを得ることができる。なお、
途切れなくL1ノルムを計算するためには、図1に示す
ように、アキュムレータ23-1〜23-3を2重化し、
計算済みのL1ノルムをメモリ14に書き込むまで上書
きされないようにする必要がある。The pixel Y0 of the current pixel block 1 read from the memory 19 is the absolute difference value calculator 22-0 to 22-3.
Will be broadcast on. Next, 4 pixels X from the memory 7-0 to 7-3
8, X9, X6, and X7 are read out, and the data rotation circuit 9 has the lowest address X6, X7, X8, and X9.
And are sent to the absolute difference calculators 22-0 to 22-3. From the memory 19, the pixel Y1 is broadcast to the absolute difference calculators 22-0 to 22-3. In the same manner, the absolute difference value calculators 22-0 to 22-3 similarly calculate the absolute difference values between the pixels of the pixel blocks 6, 15, 16, 17 and the pixel of the current pixel block 1, and the accumulator 23
The L1 norm can be obtained from -0 to 23-3. In addition,
In order to calculate the L1 norm without interruption, the accumulators 23-1 to 23-3 are duplicated as shown in FIG.
It is necessary to prevent the calculated L1 norm from being overwritten until it is written in the memory 14.
【0025】以上の説明からわかるように、本実施例に
よれば、個々のメモリ7-0〜7-3から現ブロックの画
素を読み出すためのポートが1個で済み、必要なメモリ
のポート数は、演算並列度+1となり、従来技術の第1
の例に比べて大幅に削減される。また、差分絶対値を累
算するために、加算器12をトリー状に結合する必要も
ない。As can be seen from the above description, according to the present embodiment, only one port is required to read out the pixels of the current block from each of the memories 7-0 to 7-3, and the required number of memory ports is required. Is the degree of parallel operation +1, which is the first
It is greatly reduced compared to the example. Further, it is not necessary to combine the adders 12 in a tree shape to accumulate the absolute difference values.
【0026】さらに、従来技術の第2の例において必要
であった個々の演算回路に送る画素を選択するセレクタ
21-0〜21-2、およびメモリ19から読み出された
現画素ブロック1の画素を1サイクルごとにシフトする
ためのシフトレジスタ20-0〜20-3は不要となる。
また、各メモリの出力ポートは1個でも良く、2ポート
メモリという制限はなくなる。Further, the selectors 21-0 to 21-2 for selecting pixels to be sent to the individual arithmetic circuits required in the second example of the prior art, and the pixels of the current pixel block 1 read from the memory 19 The shift registers 20-0 to 20-3 for shifting each of the cycles are eliminated.
Further, each memory may have only one output port, and the limitation of 2-port memory is removed.
【0027】なお、前述の実施例では簡単のために4×
4画素ブロックに対して4並列演算を行う場合について
のみ説明したが、本発明は任意の並列度、任意の画素ブ
ロックサイズに対して適用できる。In the above-mentioned embodiment, 4 × is used for simplicity.
Although only the case of performing four parallel operations on four pixel blocks has been described, the present invention can be applied to any degree of parallelism and any pixel block size.
【0028】以上、本発明を実施例に基づき具体的に説
明したが、本発明は、前記実施例に限定されるものでは
なく、その要旨を逸脱しない範囲において種々変更し得
ることはいうまでもない。Although the present invention has been specifically described based on the embodiments, it is needless to say that the present invention is not limited to the above embodiments and various modifications can be made without departing from the scope of the invention. Absent.
【0029】[0029]
【発明の効果】以上、説明したように、本発明によれ
ば、個々のメモリから現ブロックの画素を読み出すため
のポートが1個で済み、必要なメモリのポート数は演算
並列度+1となり、従来技術の第1の例に比べて大幅に
削減される。また、差分絶対値を累算するために、加算
器をトリー状に結合する必要もない。As described above, according to the present invention, only one port is required for reading out the pixels of the current block from each memory, and the required number of memory ports is +1 for the arithmetic parallelism. This is a significant reduction compared to the first example of the prior art. Further, it is not necessary to combine the adders in a tree shape to accumulate the absolute difference values.
【図1】 本発明の実施例の全探索向きL1・L2ノル
ム並列演算装置の構成を示すブロック図、FIG. 1 is a block diagram showing the configuration of an L1 · L2 norm parallel arithmetic unit for full search according to an embodiment of the present invention,
【図2】 L1ノルムとL2ノルムの計算式を説明する
ための前フレーム内の画素ブロックと現ブロックを示す
図、FIG. 2 is a diagram showing a pixel block and a current block in a previous frame for explaining formulas for calculating an L1 norm and an L2 norm.
【図3】 従来技術の第1の例を説明するための計算の
対象となる画素ブロックを示す図、FIG. 3 is a diagram showing a pixel block that is a calculation target for explaining a first example of the related art;
【図4】 従来技術の第1の例を説明するための回路構
成図、FIG. 4 is a circuit configuration diagram for explaining a first example of the related art;
【図5】 従来技術の第2の例を説明するための計算の
対象となる画素ブロックを示す図、FIG. 5 is a diagram showing a pixel block that is a calculation target for explaining a second example of the related art;
【図6】 従来技術の第2の例を説明するための回路構
成図。FIG. 6 is a circuit configuration diagram for explaining a second example of the related art.
1…現画素ブロック、2…前フレーム、3,4,5,
6,15,16,17…前フレーム内の画素ブロック、
7-0〜7-3…4バンク構成の前フレーム内画素保持用
メモリ、8-0〜8-3…4バンク構成の現画素ブロック
内画素保持用メモリ、9…4データローテーション回
路、10…レジスタ、11-0〜11-3,22-0〜2
2-3…差分絶対値演算器、12…加算器、13,23-
0〜23-3…アキュムレータ、14…L1ノルム書き
込み用メモリ、18…前フレーム内画素保持用の2ポー
トメモリ、19…現画素ブロック内画素保持用のメモ
リ、20−0〜20−3…4シフトレジスタを構成する
レジスタ、21-0〜21-2,24-1〜24-3,25
-1〜25-3…2・1セレクタ。1 ... Current pixel block, 2 ... Previous frame, 3, 4, 5,
6, 15, 16, 17 ... Pixel block in the previous frame,
7-0 to 7-3 ... Memory for holding pixels in previous frame of 4 banks, 8-0 to 8-3 ... Memory for holding pixels in current pixel block of 4 banks, 9 ... 4 Data rotation circuit, 10 ... Register, 11-0 to 11-3, 22-0 to 2
2-3 ... Difference absolute value calculator, 12 ... Adder, 13, 23-
0-23-3 ... Accumulator, 14 ... L1 norm writing memory, 18 ... 2-port memory for holding pixels in previous frame, 19 ... Memory for holding pixels in current pixel block, 20-0 to 20-3 ... 4 Registers constituting a shift register, 21-0 to 21-2, 24-1 to 24-3, 25
-1 to 25-3 ... 2.1 selector.
フロントページの続き (51)Int.Cl.5 識別記号 庁内整理番号 FI 技術表示箇所 G06F 15/70 410 9071−5L Continuation of front page (51) Int.Cl. 5 Identification number Office reference number FI technical display location G06F 15/70 410 9071-5L
Claims (2)
画素づつずれた複数の画素ブロックと、現フレームから
切り出した画素ブロックの間の差分絶対値和もしくは差
分自乗和を並列に計算する差分絶対値和・差分自乗和並
列演算装置において、連続したアドレスに置かれた複数
のデータを一度に読み出すことができる複数の出力ポー
トを有するメモリと、該メモリ上に前フレームの画素を
保持する画素保持手段と、該画素保持手段から連続した
アドレスを持った複数の画素を一度に読み出して、同時
に現フレームから画素ブロックの画素を切り出す手段
と、該切り出す手段によって切り出された画素ブロック
の画素を前記ポート数と同じ数の複数の演算器のすべて
に放送する手段とを備えることを特徴とする差分絶対値
和・差分自乗和並列演算装置。1. A horizontal 1 cut out from a previous frame
The difference absolute value sum / difference sum of squares parallel calculation device that calculates the sum of absolute differences or the sum of squared differences in parallel between a plurality of pixel blocks that are shifted pixel by pixel and the pixel block cut out from the current frame A memory having a plurality of output ports capable of reading a plurality of placed data at a time, a pixel holding unit for holding a pixel of a previous frame on the memory, and a plurality of units having consecutive addresses from the pixel holding unit. Of the pixels of the pixel block are read out at the same time, and the pixels of the pixel block are simultaneously cut out from the current frame, and the means of broadcasting the pixels of the pixel block cut out by the cutting out means to all of the plurality of arithmetic units having the same number as the number of ports. A difference absolute value sum / difference sum of squares parallel arithmetic operation device comprising:
乗和並列演算装置において、前記演算器は、差分絶対値
演算器もしくは差分自乗演算器と累算器からなることを
特徴とする差分絶対値和・差分自乗和並列演算装置。2. The difference absolute value sum / difference sum of squares parallel arithmetic operation device according to claim 1, wherein the arithmetic unit comprises a difference absolute value arithmetic unit or a difference squared arithmetic unit and an accumulator. Difference absolute value sum / difference sum of squares parallel calculation device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6472192A JPH05268593A (en) | 1992-03-23 | 1992-03-23 | Difference absolute sum/difference square sum parallel arithmetic operation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP6472192A JPH05268593A (en) | 1992-03-23 | 1992-03-23 | Difference absolute sum/difference square sum parallel arithmetic operation device |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH05268593A true JPH05268593A (en) | 1993-10-15 |
Family
ID=13266306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6472192A Pending JPH05268593A (en) | 1992-03-23 | 1992-03-23 | Difference absolute sum/difference square sum parallel arithmetic operation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH05268593A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000043868A1 (en) * | 1999-01-20 | 2000-07-27 | Hitachi, Ltd. | Data processor and device for arithmetic operation |
US7154950B2 (en) | 2000-06-07 | 2006-12-26 | Intel Corporation | Adaptive early exit techniques in image correlation |
JP2007088910A (en) * | 2005-09-22 | 2007-04-05 | Olympus Imaging Corp | Motion vector detecting device and imaging apparatus |
US8804844B2 (en) | 2000-06-07 | 2014-08-12 | Analog Devices, Inc. | Adaptive early exit techniques in image correlation |
-
1992
- 1992-03-23 JP JP6472192A patent/JPH05268593A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2000043868A1 (en) * | 1999-01-20 | 2000-07-27 | Hitachi, Ltd. | Data processor and device for arithmetic operation |
US7154950B2 (en) | 2000-06-07 | 2006-12-26 | Intel Corporation | Adaptive early exit techniques in image correlation |
US8804844B2 (en) | 2000-06-07 | 2014-08-12 | Analog Devices, Inc. | Adaptive early exit techniques in image correlation |
JP2007088910A (en) * | 2005-09-22 | 2007-04-05 | Olympus Imaging Corp | Motion vector detecting device and imaging apparatus |
JP4547321B2 (en) * | 2005-09-22 | 2010-09-22 | オリンパスイメージング株式会社 | Motion vector detection device and imaging device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5466211B2 (en) | Register for 2D matrix processing | |
AU747283B2 (en) | Data processing system for logically adjacent data samples such as image data in a machine vision system | |
JPS63136167A (en) | Orthogonal conversion processor | |
JPH09153029A (en) | Memory distributed parallel computer and its method for performing fast Fourier transform | |
JPH01145778A (en) | Image processor having pipeline bus of free flow | |
JPS6116369A (en) | Picture processor | |
JP3401823B2 (en) | Processor for image codec | |
JPH05268593A (en) | Difference absolute sum/difference square sum parallel arithmetic operation device | |
JP3305406B2 (en) | Program-controlled processor | |
US8731071B1 (en) | System for performing finite input response (FIR) filtering in motion estimation | |
JPH05266056A (en) | Parallel arithemtic unit for summing squares of sum/ difference of differential absolute value | |
JPH07210545A (en) | Parallel processing processors | |
JPS6247785A (en) | Adjacent image processor | |
JP2007073010A (en) | Simd processor and image processing method using the simd method processor and image processor | |
JPH07239842A (en) | Integrated-circuit processor for discrete cosine conversion and inversion | |
JPH07121687A (en) | Processor for image codec and access pattern conversion method | |
US5777688A (en) | Signal processor | |
JPH07146781A (en) | Processor | |
JP2848057B2 (en) | Signal layer processor | |
JPS6319911B2 (en) | ||
JP3781476B2 (en) | Signal processing device | |
JPH0423083A (en) | Enlarging interpolation processing circuit | |
JPH04291681A (en) | Filtering method for ultra-high-speed image processing system | |
JPH04333951A (en) | Dma controller for processor | |
CaoHuu et al. | SMESH: an IO-computation balanced architecture for parallel implementations of convolution and morphological filters in real time |